Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Heurísticas Rápidas para a Decisão de Modo no Padrão H.264/AVC de Codificação de Vídeo, Notas de aula de Cálculo

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

  • Como a eliminação da técnica RDO afeta a eficiência de compressão no padrão H.264/AVC?
  • Qual é o objetivo do trabalho apresentado no documento?
  • Quais são as heurísticas desenvolvidas para a decisão de modo no padrão H.264/AVC?
  • Quais são as principais características dos processos de predição intra-quadro e inter-quadros no padrão H.264/AVC?
  • Como as heurísticas desenvolvidas no trabalho reduzem a complexidade computacional do processo de decisão de modo?

Tipologia: Notas de aula

2022

Compartilhado em 07/11/2022

Garrincha
Garrincha 🇧🇷

4.1

(47)

225 documentos

1 / 91

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
UNIVERSIDADE FEDERAL DE PELOTAS
Centro de Desenvolvimento Tecnológico (CDTec)
Curso de Bacharelado em Ciência da Computação
Trabalho Acadêmico
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
Daniel Munari Vilchez Palomino
Pelotas, 2010
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b

Pré-visualização parcial do texto

Baixe Heurísticas Rápidas para a Decisão de Modo no Padrão H.264/AVC de Codificação de Vídeo e outras Notas de aula em PDF para Cálculo, somente na Docsity!

UNIVERSIDADE FEDERAL DE PELOTAS

Centro de Desenvolvimento Tecnológico (CDTec)

Curso de Bacharelado em Ciência da Computação

Trabalho Acadêmico

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

Daniel Munari Vilchez Palomino

Pelotas, 2010

DANIEL MUNARI VILCHEZ PALOMINO

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

PELOTAS

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

Banca examinadora :

Prof. Dr. Luciano Volcan Agostini (Orientador)

MSc. Cláudio Diniz

................................................................................................ Prof. Dr. Ricardo Matsumura Araújo

................................................................................................ Prof. Dr. Leomar da Rosa Jr.

AGRADECIMENTOS

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.

RESUMO

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.

ABSTRACT

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

LISTA DE TABELAS

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

LISTA DE ABREVIATURAS E SIGLAS

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

  • 1 INTRODUÇÃO
  • 2 CODIFICAÇÃO DE VÍDEO E O PADRÃO H.264/AVC
  • 2.1 Características dos Vídeos Digitais
  • 2.2 Redundância de Dados na Representação de Vídeos
  • 2.3 O Padrão H.264/AVC
  • 3 PREDIÇÃO INTER-QUADROS E INTRA-QUADRO NO PADRÃO H.264/AVC
  • 3.1 Predição Inter-Quadros
  • 3.2 Predição Intra-Quadro
  • 3.2.1 Intra 4x4 (I4MB)
  • 3.2.2 Intra 16x16 (I16MB)
  • 3.2.3 Predição para Crominância
  • 4 MODO DE DECISÃO..........................................................................................
  • 4.1 Métricas de Distorção
  • 4.2 Otimização Taxa-Distorção
  • 5 TRABALHOS RELACIONADOS
  • 5.1 Sun et al. (SUN, 2008)
  • 5.2 Fengqin et al. (FENGQIN e YANGYU, 2008)
  • 5.3 Kim et al. (KIM, 2004)
  • 5.4 Lee et al. (LEE, 2009)
  • 5.5 Jeon et al. (JEON, 2009)
  • 5.6 Wu et al. (WU, 2005)
  • 5.7 Shen et al. (SHEN, 2008)
  • 6 HEURÍSTICAS PARA A DECISÃO RÁPIDA DE MODO DE CODIFICAÇÃO
  • 6.1 Decisão de Modo em Quadros I e em Quadros P
  • 6.2 Decisão de Modo Rápida para Macroblocos Intra-Quadro
  • Tamanhos de Bloco 6.2.1 Heurística Baseada em Distorção (SAD) para a Decisão entre Mesmos
  • 6.2.2 Heurísticas para a Decisão entre Tamanhos de Bloco Diferentes
  • 6.2.3 Decisões Intra-Quadro e Análise de Complexidade
  • 6.3 Decisão de Modo Rápida para Macroblocos Inter-Quadros
  • 6.3.1 Decisão 1: Detecção de Modo SKIP Baseada em Estacionariedade
  • do Macrobloco 6.3.2 Decisão 2: Detecção de Sub-Particionamento Baseada em Heterogeneidade
  • 6.3.3 Decisão 3: Tamanho do Particionamento Baseado em Força de Borda
  • 6.3.4 Decisão 4: Tamanho do Sub-Particionamento Baseado em Força de Borda
  • Complexidade 6.3.5 Decisões para Macroblocos Inter-Quadros Integradas e Análise de
  • 6.4 Comparação com Trabalhos Relacionados..................................................
  • 7 ARQUITETURAS PARA DECISÃO RÁPIDA DE MODO DE CODIFICAÇÃO
  • 7.1 Arquiteturas para Decisão de Modo Intra-Quadro
  • 7.1.1 Arquitetura Para o Cálculo de Distorção Baseada em SAD
  • 7.1.2 Arquitetura Para o Cálculo da Métrica de Heterogeneidade
  • 7.1.3 Arquitetura de Decisão Intra-Quadro Baseada em Heterogeneidade
  • 7.1.4 Arquitetura de Decisão Intra-Quadro Baseada em Diferença de Distorção
  • 7.2 Arquitetura para Decisão de Modo Inter-Quadros
  • 7.2.1 Arquiteturas Para Decisão de Tamanho de Partição e Sub-Partição
  • 7.2.2 Arquiteturas Integradas Para a Decisão de Modo Inter-Quadros
  • 8 CONCLUSÕES E TRABALHOS FUTUROS
  • APENDICE A – Publicações e prêmios durante a graduação

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.

Características dos Vídeos Digitais

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

  • azul). O YCbCr também é composto por três componentes: o componente de lu- minância (Y), que representa o nível de luminosidade na imagem, e os componentes de crominância azul e vermelha (Cb e Cr), que representam o desvio de uma cor a partir do cinza em direção ao azul ou ao vermelho, respectivamente (RICHARDSON, 2003). O sistema YCbCr foi desenvolvido buscando tratar a informação de luminosi- dade de forma independente da informação de cor, já que o sistema visual humano percebe melhor as mudanças na intensidade de brilho do que as mudanças na in- tensidade de cor. Assim, os dois tipos de informação podem ser manipulados sepa- radamente pelos codificadores de imagem e de vídeo. No H.264/AVC, por exemplo, o sistema YCbCr permite representar os componentes de crominância usando me-

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).

Redundância de Dados na Representação de Vídeos

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-