



















































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Um trabalho desenvolvido por daniel munari vilchez palomino sobre as heurísticas rápidas para a decisão de modo no padrão h.264/avc de codificação de vídeo. O autor desenvolveu heurísticas para reduzir a complexidade computacional do processo de decisão de modo, eliminando completamente o uso da técnica rdo. O documento inclui uma descrição dos processos de predição intra-quadro e inter-quadros no padrão h.264/avc, além de figuras e referências a outros trabalhos relacionados.
O que você vai aprender
Tipologia: Notas de aula
1 / 91
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Desenvolvimento e Implementação em Hardware de Heurísticas Rápidas Para o Módulo de Decisão de Modo do Padrão H.264/AVC de Co- dificação de Vídeo
Pelotas, 2010
Desenvolvimento e Implementação em Hardware de Heurísticas Rápidas Para o Módulo de Decisão de Modo do Padrão H.264/AVC de Codificação de Vídeo
Trabalho acadêmico apresentado ao Cur- so de Bacharelado em Ciência da Computação da Universidade Federal de Pelotas, como requi- sito parcial à obtenção do título de Bacharel em Ciência da Computação.
Orientador: Dr. Luciano Volcan Agostini Co-orientador: MSc. Guilherme Corrêa
Prof. Dr. Luciano Volcan Agostini (Orientador)
MSc. Cláudio Diniz
................................................................................................ Prof. Dr. Ricardo Matsumura Araújo
................................................................................................ Prof. Dr. Leomar da Rosa Jr.
Agradeço primeiramente a todos os colegas, professores e amigos que des- cobri durante a graduação no curso de ciência da computação. Agradeço a todos os colegas que trabalharam comigo no GACI, compartilhando muitas xícaras de café e muitas idéias. Um agradecimento especial aos colegas Felipe Sampaio, e Robson Dornel- les, que desde o inicio do curso trabalharam comigo tanto nas atividades de pesqui- sa quanto nos trabalhos de disciplina. Valeu caras, vocês foram muito importantes. Dedico outro agradecimento especial ao professor Luciano Volcan Agostini, que, além de meu orientador neste trabalho e chefe nas atividades de pesquisa, é um grande amigo e foi muito importante no meu desenvolvimento como aluno, como pessoa e como profissional. Ao Guilherme Corrêa que foi meu co-orientador neste trabalho e me ajudou muito na realização desta tarefa. Por fim, um agradecimento mais que especial aos meus pais, que sempre trabalharam priorizando que, eu junto com meus irmãos, sempre estudássemos. Graças aos esforços e ensinamentos deles me tornei a pessoa que sou e com certe- za, não só este trabalho, mas como tudo de produtivo que eu fiz na minha vida eu devo a eles.
PALOMINO, Daniel M. Desenvolvimento e Implementação em Hardware de Heurísticas Rápidas Para o Módulo de Decisão de Modo do Padrão H.264/AVC de Codificação de Vídeo. 2010. 91f. Trabalho acadêmico (Graduação) - Bacharelado em Ciência da Computação. Universidade Federal de Pelotas, Pelotas.
O padrão H.264/AVC define vários modos de predição para codificar um macrobloco (bloco de tamanho 16x16 pixels). A predição sobre um macrobloco pode ser intra- quadro, ou seja, quando o macrobloco atual é representado através de uma interpo- lação dos pixels vizinhos a ele, ou inter-quadros, quando o macrobloco atual é re- presentado pelo macrobloco presente nos quadros de referência que seja mais se- melhante a ele. Considerando a predição intra-quadro para amostras de luminância, existem dois tamanhos de bloco possíveis: (1) I16MB (intra 16x16), com 4 modos de codificação possíveis sobre blocos 16x16 e (2) I4MB (intra 4x4), com 9 modos de codificação possíveis sobre blocos 4x4. Já na predição inter-quadros, sete tamanhos de bloco são suportados (16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4), gerando um gran- de número de possibilidades de particionamento para o bloco 16x16. O módulo de decisão de modo presente em codificadores H.264/AVC é responsável por escolher, entre os vários modos de predição citados acima, qual será utilizado para codificar um determinado macrobloco. Essa escolha não é uma tarefa trivial, já que a quanti- dade de dados disponível após as etapas de predição não é definitiva. A técnica de RDO ( Rate-Distortion Optimization ) gera os melhores resultados em termos de rela- ção taxa-distorção em um vídeo, pois a escolha do melhor modo é realizada somen- te após o final do processo de codificação. Entretanto, o custo computacional para completar o processo de codificação para todos os modos de predição possíveis é muito alto, dificultando a codificação de vídeos de alta resolução em tempo real (24 a 30 quadros por segundo). Este trabalho apresenta um conjunto de heurísticas e su- as respectivas implementações em hardware, desenvolvidas para realizar a decisão de modo do padrão H.264/AVC da forma mais rápida possível. As heurísticas foram desenvolvidas com o objetivo de eliminar completamente o uso da técnica RDO no processo de decisão de modo. Foram geradas duas soluções para a decisão de modo de macroblocos codificados pela decisão intra-quadro e uma solução para a decisão de modo inter-quadros. Os resultados mostraram uma redução de 13 vezes no número de cálculos no processo de decisão intra-quadro e 33 vezes para a deci- são inter-quadros, quando comparadas com a técnica RDO, apesar de pequenas perdas em taxa de compressão e qualidade do vídeo codificado. Além disso, este trabalho apresentou a maior redução no número de cálculos quando comparado com trabalhos da literatura.
Palavras-chave: Codificação de vídeo, decisão de modo, H.264/AVC, projeto de hardware.
PALOMINO, Daniel M. Implementation and Hardware Design of Fast Heu- ristics for the Mode Decision of the H.264/AVC Video Coding Standard. 2010. 91 f. Trabalho acadêmico (Graduação) - Bacharelado em Ciência da Computação. Universidade Federal de Pelotas, Pelotas.
The H.264/AVC standard defines several prediction modes to encode one macrob- lock (16x16 block size). The macroblock prediction type can be intra-frame, when the current macroblock is predicted as an interpolationof the neighbor pixels, or inter- frames, when the current macroblock is predicted using reconstructed macroblocks from other frames. In the intra-frame prediction, there are two possible block sizes to encode a macroblock: (1) I16MB, with 4 possible prediction modes applied to 16x blocks and (2) I4MB, with 9 possible prediction modes applied to 4x4 blocks. Consi- dering the inter-frames prediction, there are seven block sizes (16x16, 16x8, 8x16, 8x8, 8x4, 4x8 and 4x4), which generates a large number of possibilities to encode one 16x16 block. This choice is not an easy task, since the data available after the prediction steps are not conclusive. The RDO (Rate-Distortion Optimization) tech- nique generates the best results considering the rate-distortion relation in a video, since the best mode choice is performed only after the whole encoder process. How- ever, the computational cost of completing the encoding process for every possible prediction mode is too high, making difficult the encoding of high resolution videos in real time (24 to 30 frames per second). This work presents a set of heuristics and its hardware implementation developed to perform the H.264/AVC mode decision as fast as possible. The heuristics were developed aiming the complete elimination of the RDO technique in the H.264/AVC mode decision process. Two solutions were developed for the intra-frame decision and another one for the inter-frame decision. When compared with RDO, the results have shown a reduction of 13 times in number of operations for intra-frame decision and 33 times for the inter-frame decision. Be- sides, this work has shown the largest reduction in number of operations when com- pared with related works.
Keywords: Video coding, mode decision, H.264/AVC, hardware design.
Figura 17 - Amostras (cinza) utilizadas para o cálculo das bordas verticais e horizontais para a decisão de tamanho de sub-particionamento de macrobloco........................................................................................... 62 Figura 18 - Arquitetura do Calculador de SAD para oito amostras. ........................ 70 Figura 19 - Arquitetura que gera os coeficientes da transformada DCT 16x parcial necessários para o cálculo da métrica de heterogeneidade. .... 71 Figura 20 - Diagrama em blocos da arquitetura do módulo de decisão intra-quadro baseado em heterogeneidade. ............................................................. 72 Figura 21 - Diagrama de ciclos para a arquitetura de decisão intra-quadro baseada em heterogeneidade. ........................................................................... 73 Figura 22 - Diagrama em blocos da arquitetura do módulo de decisão intra-quadro baseado em diferença de distorção. .................................................... 75 Figura 23 - Diagrama de ciclos para a arquitetura de decisão intra-quadro baseada em diferença de distorção. ................................................................... 76 Figura 24 - Arquitetura para o cálculo de força de borda para decisão de tamanho de partição. .......................................................................................... 78 Figura 25 - Arquitetura para o cálculo de força de borda para decisão de tamanho de sub-partição. ................................................................................... 78 Figura 26 - Diagrama em blocos da arquitetura de decisão de modo inter-quadros completa............................................................................................... 79 Figura 27 - Diagrama de ciclos para a arquitetura de decisão inter-quadros completa............................................................................................... 80
Tabela 1 - Ocorrência de modos intra-quadro e inter-quadros em quadros P de resolução CIF. .................................................................................... 43 Tabela 2 - Comparação entre a codificação com predições intra e inter em quadros P e a codificação com apenas predição inter em quadros P. ........................................................................................................... 43 Tabela 3 - Resultados obtidos com SAD, SSD e SATD. ..................................... 46 Tabela 4 - Comparação de SAD com SSD e SATD. ........................................... 46 Tabela 5 - Resultados do módulo de decisão intra-quadro completo (SAD & DD). ........................................................................................................... 48 Tabela 6 - Resultados médios obtidos com a técnica RDO, Heurística baseada em Heterogeneidade e a Heurística DD. ........................................... 49 Tabela 7 - Comparação entre RDO vs. Heterogeneidade e RDO vs. DD. .......... 49 Tabela 8 - Ocorrência de modos de codificação em quadros P de resolução HD1080p. ........................................................................................... 51 Tabela 9 - Decisão de modo SKIP baseada em estacionariedade. .................... 54 Tabela 10 - Resultados da detecção de sub-particionamento em comparação com o RDO. ............................................................................................... 57 Tabela 11 - Resultados gerados pela decisão de particionamento baseada em força de borda. ................................................................................... 61 Tabela 12 - Resultados gerados pela decisão de tamanho de sub-partição baseada em força de borda. .............................................................. 64 Tabela 13 - Resultados gerados pelo módulo completo de decisão rápida inter- quadros. ............................................................................................. 65 Tabela 14 - Comparação com trabalhos da literatura. .......................................... 67 Tabela 15 - Resultados de síntese da arquitetura de decisão intra-quadro baseada em heterogeneidade. ......................................................................... 74
ALUT Adaptative Look-up Table AVC Advanced Video Coding BH Borda Horizontal BV Borda Vertical CABAC Context-Based Adaptive Arithmetic Coding CIF Common Intermediate Format dB Decibel DCT Discrete Cosine Tranform DD Diferença de Distorção DLR Dedicated Logic Register FPGA Field-Programmable Gate Array GOP Group of Pictures HD High Definition ISO/IEC Joint Technical Committee of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) ITU-T Telecommunication Standardization Sector JVT Joint Video Team Kbps Kilo bits por segundo MB Macrobloco MC Motion Compensation ME Motion Estimation MHz Mega Hertz MPEG Motion Picture Experts Group MSE Mean Squared Error PSNR PeakSignal-to-Noise Rate
RDO Rate-Distortion Optimization RD Rate-Distortion RGB Red Green Blue SAD Sum of Absolute Differences SATD Sum of Absolute Transformed Differences SBTVD Sistema Brasileiro de Televisão Digital SBH Sub Borda Horizontal SBV Sub Borda Vertical SSD Sum of Squared Differences VCEG Video Coding Experts Group YCbCr Luminância, Crominância Azul, Crominância Vermelha
INTRODUÇÃO
A codificação de vídeo é de extrema importância nos dias atuais, por conta da grande quantidade de informação presente em vídeos de alta resolução e a quanti- dade de aparelhos eletrônicos que manipulam este tipo de mídia, como computador pessoal e portátil, aparelho celular, televisão digital de alta resolução, Blu-ray pla- yers, câmeras e filmadoras digitais portáteis, entre muitos outros. Além disso, é importante destacar a transmissão de televisão com sinal digi- tal, que está se tornando uma realidade no Brasil com o Sistema Brasileiro de Tele- visão Digital (SBTVD, 2003), que tem como objetivo viabilizar a recepção de canais transmitidos em alta resolução. A codificação de vídeo é essencial para o sucesso das aplicações que mani- pulam vídeos digitais, pois um vídeo não comprimido utiliza uma grande quantidade de bits para ser representado. Isso implica em custos muito elevados de armazena- mento e transmissão destas informações, que acabam dificultando o desenvolvimen- to de produtos para esta área, caso a codificação não seja utilizada. Apesar da grande quantidade de informação presente nas sequências de ví- deos digitais, estas sequências possuem, em geral, uma importante propriedade: apresentam elevado grau de redundância de informação. As técnicas de codificação de vídeo buscam, portanto, a máxima eliminação destas redundâncias para que o vídeo original possa ser representado com a menor quantidade de informação pos- sível. Vários conjuntos de técnicas e algoritmos vêm sendo agregados para a cria- ção de diversos padrões de codificação de vídeo, com o objetivo de padronizar a transmissão deste tipo de mídia e, consequentemente, aumentar a exploração co- mercial de produtos relacionados. Neste contexto, o H.264/AVC (JVT, 2003), que é foco deste trabalho, surge como o mais novo padrão de codificação de vídeo e foi desenvolvido com o objetivo
CODIFICAÇÃO DE VÍDEO E O PADRÃO H.264/AVC
Neste capítulo serão apresentados os princípios básicos de codificação de ví- deo que serão importantes para contextualização deste trabalho. Além disso, o capí- tulo irá apresentar o padrão H.264/AVC, foco deste trabalho.
Um vídeo é formado por uma sequência de imagens estáticas (quadros) que são exibidas em uma determinada frequência (normalmente 24 a 30 quadros por segundo), dando impressão de movimento (RICHARDSON, 2003). Cada quadro é formado por uma matriz de blocos, os quais são formados por uma matriz de pontos chamados pixels. Quanto maior a quantidade de pixels utilizados para representar um quadro, maior é a resolução do vídeo, o que proporciona uma maior facilidade na percepção dos detalhes de uma determinada cena. Vídeos digitais são representados por espaços de cores que têm o objetivo de separar os quadros dos vídeos em componentes de cores. Diversos espaços de co- res, como RGB e YCbCr (RICHARDSON, 2003), vêm sendo utilizados para repre- sentar imagens digitais. O RGB, bastante conhecido e utilizado, divide as informa- ções de cores em três componentes: R ( red – vermelho), G ( green – verde) e B ( blue
nos amostras em relação aos componentes de luminância (RICHARDSON, 2003). Esta técnica é chamada de sub-amostragem de cores e é muito utilizada nos pa- drões de codificação de vídeo atuais. A eficiência da codificação aumenta consideravelmente quando a técnica de sub-amostragem é utilizada, pois parte dos dados é simplesmente descartada sem causar nenhum impacto perceptível ao olho humano. Existem diversas relações de sub-amostragem entre os componentes de luminância e crominância, sendo mais comuns os formatos 4:4:4, 4:2:2 e 4:2:0. O 4:2:0 é o formato mais utilizado em codi- ficadores H.264/AVC. Neste caso, para cada quatro amostras de luminância tem-se uma amostra de crominância azul e uma de crominância vermelha. O formato deve- ria ser chamado, portanto, de 4:1:1, mas, por motivos históricos, esta não é a no- menclatura utilizada (RICHARDSON, 2003).
O principal objetivo das técnicas de codificação de vídeo é diminuir a quanti- dade de informação redundante presente nas sequências de vídeos digitais. O dado redundante é aquele que não contribui com novas informações para a representação do vídeo. Basicamente, existem três tipos de redundância que são exploradas por algoritmos de codificação de vídeo: redundância espacial, redundância temporal e redundância entrópica. Redundância Espacial – A redundância espacial, também chamada de redundância intra-quadro (WIEGAND, SULLIVAN, et al. , 2003) advém da correlação existente entre pixels em um quadro. Esta correlação é facilmente visualizada quando são observados pixels vizinhos em um mesmo quadro, os quais tendem a possuir valores semelhantes. Neste caso, a redundância pode ser diminuída através da codificação intra- quadro, presente em alguns padrões de codificação de vídeo atuais. No domínio das frequências, a operação utilizada para reduzir este tipo de redundância é a quantização. A quantização é uma divisão inteira aplicada sobre cada coeficiente gerado pela etapa de transformação e reduz grande parte dos coeficientes a zero. Redundância Temporal – A redundância temporal, também chamada de redundância inter-quadros (WIEGAND, SULLIVAN, et al. , 2003), e- xiste devido à correlação entre quadros temporalmente próximos. Co-