Computação paralela com arquitetura de processamento gráfico CUDA aplicada a um codificador de vídeo H.264

Detalhes bibliográficos
Autor(a) principal: Lenz, Augusto Limberger
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_ 1797155846987186176