Computação paralela com arquitetura de processamento gráfico CUDA aplicada a um codificador de vídeo H.264
Autor(a) principal: | |
---|---|
Data de Publicação: | 2013 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da UNIVATES (Biblioteca Digital da Univates - BD) |
Texto Completo: | http://hdl.handle.net/10737/319 |
Resumo: | Este trabalho investiga a utilização de processadores gráficos (GPUs) como coprocessadores em arquiteturas de computadores no contexto da codificação de vídeo. O objetivo específico é implementar módulos do codificador H.264 em tecnologia CUDA, presente nas placas de vídeo da empresa NVIDIA. Dessa forma, algoritmos paralelizáveis são executados na GPU de forma a acelerar a codificação e aliviar a carga da CPU principal. O primeiro estudo de caso foi a implementação do módulo computacional, situado no codificador intraquadro, que foi integrado ao software de referência para validação e testes. Os resultados obtidos apontam um ganho de cerca de 3,9 vezes no tempo de execução deste módulo para vídeos de alta definição. No segundo estudo de caso foi abordado o codificador interquadros através da estimação de movimento. Um algoritmo de busca adequado à arquitetura paralela em questão foi proposto e implementado, além da implementação do cálculo de SAD. Os resultados obtidos na estimação de movimento apontam para um aumento na velocidade de execução em torno de 5,7 vezes para vídeos de alta definição. |
id |
UVAT_fff1279e6062e954864c1d1efc239a05 |
---|---|
oai_identifier_str |
oai:univates.br:10737/319 |
network_acronym_str |
UVAT |
network_name_str |
Repositório Institucional da UNIVATES (Biblioteca Digital da Univates - BD) |
repository_id_str |
1 |
spelling |
Hüsemann, RonaldoLenz, Augusto Limberger2013-06-11T13:44:53Z2013-06-11T13:44:53Z2013-06-112013-06-11Este trabalho investiga a utilização de processadores gráficos (GPUs) como coprocessadores em arquiteturas de computadores no contexto da codificação de vídeo. O objetivo específico é implementar módulos do codificador H.264 em tecnologia CUDA, presente nas placas de vídeo da empresa NVIDIA. Dessa forma, algoritmos paralelizáveis são executados na GPU de forma a acelerar a codificação e aliviar a carga da CPU principal. O primeiro estudo de caso foi a implementação do módulo computacional, situado no codificador intraquadro, que foi integrado ao software de referência para validação e testes. Os resultados obtidos apontam um ganho de cerca de 3,9 vezes no tempo de execução deste módulo para vídeos de alta definição. No segundo estudo de caso foi abordado o codificador interquadros através da estimação de movimento. Um algoritmo de busca adequado à arquitetura paralela em questão foi proposto e implementado, além da implementação do cálculo de SAD. Os resultados obtidos na estimação de movimento apontam para um aumento na velocidade de execução em torno de 5,7 vezes para vídeos de alta definição.http://hdl.handle.net/10737/319http://creativecommons.org/licenses/by-nc-sa/3.0/info:eu-repo/semantics/openAccessENGCodificação de VídeoComputação ParalelaGPGPUCUDAComputação paralela com arquitetura de processamento gráfico CUDA aplicada a um codificador de vídeo H.264info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisporreponame:Repositório Institucional da UNIVATES (Biblioteca Digital da Univates - BD)instname:Centro Universitário Univates (UNIVATES)instacron:UNIVATESORIGINALAugustoLenz.pdfAugustoLenz.pdfapplication/pdf3050509https://www.univates.br/bdu/bitstreams/73906ea6-57a2-4714-88fa-33b8eb68d894/download1feda718074f59160218b29db8648439MD51CC-LICENSElicense_urllicense_urltext/plain49https://www.univates.br/bdu/bitstreams/8fe4cf6d-13dd-4c06-83b0-690d98932afc/downloadc0b3e2a72fe5e4b72fa5798bb22cd3a3MD52license_textlicense_textapplication/octet-stream20588https://www.univates.br/bdu/bitstreams/46e40477-8cf5-414f-8ece-7d1ab7bd3b41/download31554cf2b5b6ba1aac9ec00a863fecfdMD53license_rdflicense_rdfapplication/octet-stream24332https://www.univates.br/bdu/bitstreams/64c0f01a-6517-43ef-ac5e-30497061878f/download306824103cdab5a2460a7737d9c97e69MD54LICENSElicense.txtlicense.txttext/plain3631https://www.univates.br/bdu/bitstreams/bfee1592-3e16-495f-8f3f-1aa3e191e6fe/downloadddea5d87c3a360ce16bc251b544d3872MD55TEXTAugustoLenz.pdf.txtAugustoLenz.pdf.txtExtracted texttext/plain103294https://www.univates.br/bdu/bitstreams/bbb5375d-9990-47e1-8370-b58ec7cf505e/downloadc5fd3003c1be40470eff835b8321037bMD512THUMBNAILAugustoLenz.pdf.jpgAugustoLenz.pdf.jpgGenerated Thumbnailimage/jpeg4496https://www.univates.br/bdu/bitstreams/ab9be96d-f5e3-4c76-bda4-37b2ca8c8c0e/downloadd5be7843e92a37876f3f4ef0fe6e05dfMD51310737/3192023-06-26 12:20:05.936http://creativecommons.org/licenses/by-nc-sa/3.0/oai:univates.br:10737/319https://www.univates.br/bduRepositório InstitucionalPRIhttp://www.univates.br/bdu_oai/requestopendoar:12023-06-26T12:20:05Repositório Institucional da UNIVATES (Biblioteca Digital da Univates - BD) - Centro Universitário Univates (UNIVATES)falseVEVSTU8gREUgREVQw5NTSVRPIC0gQklCTElPVEVDQSBESUdJVEFMIERBIFVOSVZBVEVTIChCRFUpCgpOb21lIGRvIGRlcG9zaXRhbnRlOiBBbmEgUGF1bGEgTGlzYm9hIE1vbnRlaXJvCkUtbWFpbCBkbyBkZXBvc2l0YW50ZTogbW9udGVpcm9AdW5pdmF0ZXMuYnIKRGF0YTogVHVlIEp1biAxMSAxMDo0NDo1MyBCUlQgMjAxMwpDb2xlw6fDo286IEVuZ2VuaGFyaWEgZGUgQ29udHJvbGUgZSBBdXRvbWHDp8OjbwpPYnJhOiBDb21wdXRhw6fDo28gcGFyYWxlbGEgY29tIGFycXVpdGV0dXJhIGRlIHByb2Nlc3NhbWVudG8gZ3LDoWZpY28gQ1VEQSBhcGxpY2FkYSBhIHVtIGNvZGlmaWNhZG9yIGRlIHbDrWRlbyBILjI2NApBdXRvcjogTEVOWiwgQXVndXN0byBMaW1iZXJnZXIKCkNvbW8gY29sYWJvcmFkb3IgbmEgc3VibWlzc8OjbyBkYSBvYnJhLCBvIGRlcG9zaXRhbnRlIEFuYSBQYXVsYSBMaXNib2EgTW9udGVpcm8gCmRlY2xhcmEgbyByZWNlYmltZW50byBkbyBURVJNTyBERSBMSUNFTsOHQSBkYSBCSUJMSU9URUNBIERJR0lUQUwgREEgVU5JVkFURVMKKEJEVSkgcHJlZW5jaGlkbyBlIGFzc2luYWRvIHBlbG8gYXV0b3Igb3UgdGl0dWxhciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgCmRhIG9icmEsIGUgYWZpcm1hIGVzdGFyIHNlbmRvIGZpZGVkaWdubyBhb3MgZGFkb3MgaW5mb3JtYWRvcyBubyBtZXNtby4gCgpPIHRlcm1vIGRlIGxpY2Vuw6dhLCBjb21vIHNlZ3VlIGFiYWl4bywgZm9pIGRlZmluaWRvIHBlbGEgQXNzZXNzb3JpYSAKSnVyw61kaWNhIGRvIENlbnRybyBVbml2ZXJzaXTDoXJpbyBVbml2YXRlczoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpURVJNTyBERSBMSUNFTsOHQSAtIEJJQkxJT1RFQ0EgRElHSVRBTCBEQSBVTklWQVRFUyAoQkRVKQoKQXV0b3IgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkVuZGVyZcOnbyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KUkcgX19fX19fX19fX19fX19fX19fX19fX19fX18gQ1BGIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hdHVyZXphIGRhIE9icmEgKCkgQXJ0aWdvICgpIE1vbm9ncmFmaWEgKCkgRGlzc2VydGHDp8OjbyAoKSBUZXNlICgpIE91dHJvClTDrXR1bG8gZGEgT2JyYSBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQ8OzZC4gSWRlbnRpZmljYWRvciAocmVzZXJ2YWRvKV9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKMS4gTyBBVVRPUiBkZWNsYXJhIHF1ZSDDqSB0aXR1bGFyIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBkYSBPQlJBIGUgdGVtIHBsZW5hIApkaXNwb25pYmlsaWRhZGUgZG9zIG1lc21vcywgZXhpbWluZG8gYSBVTklWQVRFUyBkZSB0b2RhIGUgcXVhbHF1ZXIgCnJlc3BvbnNhYmlsaWRhZGUuCgoyLiBPIEFVVE9SIGRlY2xhcmEgcXVlLCByZWxhdGl2YW1lbnRlIMOgIE9CUkEsIHJlc3BlaXRvdSBvcyBkaXJlaXRvcyAKaW50ZWxlY3R1YWlzIGRlIHRlcmNlaXJvcyBlIGN1bXByaXUgY29tIGFzIG9icmlnYcOnw7VlcyBsZWdhaXMgb3UgY29udHJhdHVhaXMgCmNvcnJlbGF0YXMsIGV4aW1pbmRvIGEgVU5JVkFURVMgZGUgdG9kYSBlIHF1YWxxdWVyIHJlc3BvbnNhYmlsaWRhZGUuCgozLiBPIEFVVE9SIGxpY2VuY2lhIGEgcmVwcm9kdcOnw6NvIGdyYXR1aXRhIGVtIGZvcm1hdG8gZGlnaXRhbCBlIGEgCmRpc3BvbmliaWxpemHDp8OjbyBncmF0dWl0YSBvdSBvbmVyb3NhIGRhIE9CUkEgbmEgQmlibGlvdGVjYSBEaWdpdGFsIGRhIApVbml2YXRlcywgcGFyYSB0b2RvcyBvcyB1c3XDoXJpb3MsIG5hIGZvcm1hIGRlZmluaWRhIHBlbGEgVU5JVkFURVMsIGNpZW50ZSAKZGUgcXVlIGEgaW5jbHVzw6NvIGRhIE9CUkEgbmEgQmlibGlvdGVjYSBpbXBvcnRhcsOhIG5vIGxpY2VuY2lhbWVudG8gcG9yIAptZWlvIGRhIENyZWF0aXZlIENvbW1vbnMuCgo0LiBBIFVOSVZBVEVTIG5hZGEgZGV2ZXLDoSBhbyBBVVRPUiBwZWxhIHJlcHJvZHXDp8OjbyBlIGRpc3BvbmliaWxpemHDp8OjbyBkYSAKT0JSQSwgY29uZm9ybWUgYWNpbWEgcHJldmlzdG8sIG1lc21vIHNlIG8gYWNlc3NvIGRvcyB1c3XDoXJpb3MgZGEgQmlibGlvdGVjYSAKRGlnaXRhbCBkYSBVbml2YXRlcyBmb3IgYSB0w610dWxvIG9uZXJvc28uCgo1LiBPIEFVVE9SIGZpY2EgY2llbnRlIGRlIHF1ZSwgZGlzcG9uaWJpbGl6YWRhIGEgT0JSQSBuYSBCaWJsaW90ZWNhIERpZ2l0YWwgCmRhIFVuaXZhdGVzLCBvcyB1c3XDoXJpb3MgcG9kZXLDo28gdXRpbGl6w6EtbGEgY29uZm9ybWUgYXMgbm9ybWFzIGRhIENyZWF0aXZlIApDb21tb25zLgoKNi4gTyBBVVRPUjoKUGVybWl0ZSBvIHVzbyBjb21lcmNpYWwgZGEgc3VhIE9CUkE/IAooICkgU2ltIChPIGxpY2VuY2lhZG9yIHBlcm1pdGUgYSBvdXRyb3MgY29waWFyLCBkaXN0cmlidWlyLCBleGliaXIgZSBleGVjdXRhciAKYSBPQlJBLCBpbmNsdXNpdmUgcGFyYSBmaW5zIGNvbWVyY2lhaXMpLgooICkgTsOjbyAoTyBsaWNlbmNpYW50ZSBwZXJtaXRlIGEgb3V0cm9zIGNvcGlhciwgZGlzdHJpYnVpciwgZXhpYmlyIGUgZXhlY3V0YXIgCmEgT0JSQSBzb21lbnRlIGNvbSBmaW5zIG7Do28gY29tZXJjaWFpcykuCgpQZXJtaXRlIG1vZGlmaWNhw6fDtWVzIGVtIHN1YSBPQlJBPwooICkgU2ltIChPIGxpY2VuY2lhbnRlIHBlcm1pdGUgYSBvdXRyb3MgY29waWFyLCBkaXN0cmlidWlyLCBleGliaXIgZSBleGVjdXRhciAKYSBPQlJBLCBiZW0gY29tbyB1c8OhLWxhIGNvbW8gYmFzZSBwYXJhIG9icmFzIGRlcml2YWRhcykuCiggKSBTaW0sIGNvbnRhbnRvIHF1ZSBvcyBvdXRyb3MgY29tcGFydGlsaGVtIGRlIGZvcm1hIHNlbWVsaGFudGUgKE8gbGljZW5jaWFkb3IgCnBlcm1pdGUgYW9zIG91dHJvcyBkaXN0cmlidWlyIG9icmFzIGRlcml2YXRpdmFzIHNvbWVudGUgc29iIGEgbWVzbWEgbGljZW7Dp2Egb3UgCm91dHJhIGNvbXBhdMOtdmVsIGNvbSBhIHF1ZSByZWdlIGEgT0JSQSBkbyBsaWNlbmNpYWRvcikuCiggKSBOw6NvIChPIGxpY2VuY2lhbnRlIHBlcm1pdGUgYSBvdXRyb3MgY29waWFyLCBkaXN0cmlidWlyIGUgdHJhbnNtaXRpciBhcGVuYXMgCmPDs3BpYXMgaW5hbHRlcmFkYXMgZGEgT0JSQSDigJMgbsOjbyBwZXJtaXRlIG9icmFzIGRlcml2YWRhcykuCgpGb250ZTogaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvY2hvb3NlLwoKNy4gQSBwcmVzZW50ZSBsaWNlbsOnYSwgbm8gcXVlIGNvdWJlciwgcG9kZXLDoSBzZXIgY2FuY2VsYWRhIG1lZGlhbnRlIGF2aXNvIGZvcm1hbCAKZG8gQVVUT1IsIMOgIFVOSVZBVEVTLCBjb20gYW50ZWNlZMOqbmNpYSBtw61uaW1hIGRlIDkwIGRpYXMsIHNlbSBwcmVqdWRpY2FyIG9zIGF0b3MgCnByYXRpY2Fkb3MgbmEgc3VhIHZpZ8OqbmNpYS4gIAoKTG9jYWwgX19fX19fX19fX19fX19fX19fX18KRGF0YSAgX19fX18vX19fX19fL19fX19fX18gICAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgkJCQkJCUF1dG9yCg== |
dc.title.pt_BR.fl_str_mv |
Computação paralela com arquitetura de processamento gráfico CUDA aplicada a um codificador de vídeo H.264 |
title |
Computação paralela com arquitetura de processamento gráfico CUDA aplicada a um codificador de vídeo H.264 |
spellingShingle |
Computação paralela com arquitetura de processamento gráfico CUDA aplicada a um codificador de vídeo H.264 Lenz, Augusto Limberger ENG Codificação de Vídeo Computação Paralela GPGPU CUDA |
title_short |
Computação paralela com arquitetura de processamento gráfico CUDA aplicada a um codificador de vídeo H.264 |
title_full |
Computação paralela com arquitetura de processamento gráfico CUDA aplicada a um codificador de vídeo H.264 |
title_fullStr |
Computação paralela com arquitetura de processamento gráfico CUDA aplicada a um codificador de vídeo H.264 |
title_full_unstemmed |
Computação paralela com arquitetura de processamento gráfico CUDA aplicada a um codificador de vídeo H.264 |
title_sort |
Computação paralela com arquitetura de processamento gráfico CUDA aplicada a um codificador de vídeo H.264 |
author |
Lenz, Augusto Limberger |
author_facet |
Lenz, Augusto Limberger |
author_role |
author |
dc.contributor.advisor1.fl_str_mv |
Hüsemann, Ronaldo |
dc.contributor.author.fl_str_mv |
Lenz, Augusto Limberger |
contributor_str_mv |
Hüsemann, Ronaldo |
dc.subject.cnpq.fl_str_mv |
ENG |
topic |
ENG Codificação de Vídeo Computação Paralela GPGPU CUDA |
dc.subject.por.fl_str_mv |
Codificação de Vídeo Computação Paralela GPGPU CUDA |
description |
Este trabalho investiga a utilização de processadores gráficos (GPUs) como coprocessadores em arquiteturas de computadores no contexto da codificação de vídeo. O objetivo específico é implementar módulos do codificador H.264 em tecnologia CUDA, presente nas placas de vídeo da empresa NVIDIA. Dessa forma, algoritmos paralelizáveis são executados na GPU de forma a acelerar a codificação e aliviar a carga da CPU principal. O primeiro estudo de caso foi a implementação do módulo computacional, situado no codificador intraquadro, que foi integrado ao software de referência para validação e testes. Os resultados obtidos apontam um ganho de cerca de 3,9 vezes no tempo de execução deste módulo para vídeos de alta definição. No segundo estudo de caso foi abordado o codificador interquadros através da estimação de movimento. Um algoritmo de busca adequado à arquitetura paralela em questão foi proposto e implementado, além da implementação do cálculo de SAD. Os resultados obtidos na estimação de movimento apontam para um aumento na velocidade de execução em torno de 5,7 vezes para vídeos de alta definição. |
publishDate |
2013 |
dc.date.submitted.none.fl_str_mv |
2013-06-11 |
dc.date.accessioned.fl_str_mv |
2013-06-11T13:44:53Z |
dc.date.available.fl_str_mv |
2013-06-11T13:44:53Z |
dc.date.issued.fl_str_mv |
2013-06-11 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10737/319 |
url |
http://hdl.handle.net/10737/319 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
http://creativecommons.org/licenses/by-nc-sa/3.0/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
http://creativecommons.org/licenses/by-nc-sa/3.0/ |
eu_rights_str_mv |
openAccess |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UNIVATES (Biblioteca Digital da Univates - BD) instname:Centro Universitário Univates (UNIVATES) instacron:UNIVATES |
instname_str |
Centro Universitário Univates (UNIVATES) |
instacron_str |
UNIVATES |
institution |
UNIVATES |
reponame_str |
Repositório Institucional da UNIVATES (Biblioteca Digital da Univates - BD) |
collection |
Repositório Institucional da UNIVATES (Biblioteca Digital da Univates - BD) |
bitstream.url.fl_str_mv |
https://www.univates.br/bdu/bitstreams/73906ea6-57a2-4714-88fa-33b8eb68d894/download https://www.univates.br/bdu/bitstreams/8fe4cf6d-13dd-4c06-83b0-690d98932afc/download https://www.univates.br/bdu/bitstreams/46e40477-8cf5-414f-8ece-7d1ab7bd3b41/download https://www.univates.br/bdu/bitstreams/64c0f01a-6517-43ef-ac5e-30497061878f/download https://www.univates.br/bdu/bitstreams/bfee1592-3e16-495f-8f3f-1aa3e191e6fe/download https://www.univates.br/bdu/bitstreams/bbb5375d-9990-47e1-8370-b58ec7cf505e/download https://www.univates.br/bdu/bitstreams/ab9be96d-f5e3-4c76-bda4-37b2ca8c8c0e/download |
bitstream.checksum.fl_str_mv |
1feda718074f59160218b29db8648439 c0b3e2a72fe5e4b72fa5798bb22cd3a3 31554cf2b5b6ba1aac9ec00a863fecfd 306824103cdab5a2460a7737d9c97e69 ddea5d87c3a360ce16bc251b544d3872 c5fd3003c1be40470eff835b8321037b d5be7843e92a37876f3f4ef0fe6e05df |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UNIVATES (Biblioteca Digital da Univates - BD) - Centro Universitário Univates (UNIVATES) |
repository.mail.fl_str_mv |
|
_version_ |
1801842346012180480 |