1 / 92

Técnicas de Compressão Vídeo

Técnicas de Compressão Vídeo. Joaquim Macedo Universidade do Minho. Material Utilizado. Acetatos do livro Multimedia Signals and Systems (Kluwer Academic) de Mrinal Mandal. Necessidade de Compressão Vídeo. Televisão de Alta Definição (HDTV) 1920x1080

jamil
Download Presentation

Técnicas de Compressão Vídeo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Técnicas de Compressão Vídeo Joaquim Macedo Universidade do Minho

  2. Material Utilizado • Acetatos do livro Multimedia Signals and Systems (Kluwer Academic) de Mrinal Mandal

  3. Necessidade de Compressão Vídeo • Televisão de Alta Definição (HDTV) • 1920x1080 • 30 quadros por segundo (movimento total) • 8 bits cada uma das três cores primárias Total 1.5 Gb/seg! • Cada canal cabo usa 6 MHz • Max débito de dados de 19.2 Mb/seg • Reduzido para 18 Mb/seg c/audio + control … Relação de compressão tem que ser 83:1!

  4. Princípios de Compressão de Vídeo • Um vídeo pode ser considerado um função tri-dimensional de intensidade de luz I(x,y,t) • A amplitude da função em qq coordenada espacial (x,y) dá o brilho da imagem nessa coordenada num instante de tempo • Imagem mocromática I(x,y,t) • Imagem a cores (R(x,y,t), B(x,y,t), G(x,y,t)) • No vídeo digital x,y,t são discretos

  5. Princípios de Compressão de Vídeo • Como o vídeo é uma sequência de imagens ordenada no tempo • As técnicas de compressão de imagens podem ser aplicadas • Explorar as redundâncias estatística, espacial, estrutural e psico-visual • Para além disso, o vídeo tem a redundância temporal e de conhecimento que podem ser exploradas para se conseguir melhor desempenho

  6. Redundâncias no vídeo • Temporal • Conhecimento • Psico-Visual

  7. Redundância Temporal • Tirar partido da similaridade entre quadros sucessivos • Esta redundância entre quadros é removida explorando técnicas de estimação e compensação de movimento 950 951 952

  8. Redundância de conhecimento • Quando um vídeo tem utilização limitada e se pode associar um conhecimento comum • Pode-se conseguir compressão eficiente • Ex. Chamada Videofone • A imagem das pessoas não muda durante a chamada • Há pequenos movimentos de corpo e mudanças de expressão facial • Se se enviar inicialmente a imagem das pessoas • Ir enviando os movimentos • Mudanças de expressão • Pode-se conseguir uma boa compressão

  9. Redundância Psico-Visual • Há vários tipos • SVH é pouco sensível aos componentes de cor • Os componentes de cor podem ser quantizados mais grosseiramente que os de luminosidade • Quando vemos um vídeo de boa qualidade • Se pararmos a imagem não nos parece tão boa • SVH é menos sensível aos objectos em rápido movimento • Regiões em rápido movimento podem ser quantizadas mais grosseiramente

  10. Objecto da sessão • Estudo de técnicas de redução para • Redundância temporal • Redundância da cor • As outras redundâncias • Não estão dentro do âmbito

  11. Vídeo Digital e Redundância da Cor • As câmaras de vídeo usam tipicamente o espaço de cores {R,G,B} para representar vídeo a cores • Assuma que a câmara de vídeo produz sinais com correcção Gama {Rn,Gn,Bn} normalizados para referência branco • Os componentes de luminância e crominância são gerados pela combinação linear de {Rn,Gn,Bn} • O espaço de cores {R,G,B} não é eficiente para compressão • Para transmissão os canais {R,G,B} são convertidos para um sinal de luminância e dois sinais de crominância

  12. Codificação de Cores • Imagem representada por pixel de 24 bits pixel (8 bpp) • Cada valor de cor entre 0 e 255 • O vídeo usa codificação não linear • Distribuição uniforme de cores para códigos • RGB  R’G’B’ (RGB com gamma corrigido) • Video usa a luminância/crominância • R’G’B’  Y’CBCR • Luminância é Y (tecnicamente luma é Y’) • Crominância é is CBCR

  13. Modelo de Cores YCbCr Gama dinâmica = [16,235] Gama dinâmica = [16,240] Gama dinâmica = [16,240]

  14. Sub-amostragem do Chroma 4:4:4 --> Sem sub-amostragem do chroma, cada pixel tem valores Y, Cr e Cb. 4:2:2 --> Sub-amostragem horizontaldos sinais Cr,Cb por um factor de 2 4:1:1 --> Sub-amostragem horizontal por um factor de 4 4:2:0 --> Sub-amostragem tanto na dimensão vertical como horizontal por um factor de 2 4:1:1 e 4:2:0 são usados principalmente no JPEG e MPEG

  15. Sub-amostragem do Chroma 4:4:4 4:4:4 4:2:2 4:2:2 (a) (a) (b) (b) 4:2:0 4:2:0 4:1:1 4:1:1 (d) (d) (c) (c) 4:2:0 4:2:0 Pixels com valores Y, Cr, Ch, Pixels with Y, , , Pixels apenas com o valor Y (e) (e) Pixels com Cr e Ch

  16. Exemplo 9.1 • Determine a redução na taxa de bits devido à sub-amostragem 4:2:2 e 4:2:0 • Assuma que há N pixéis de cor no vídeo. • Quando não há sub-amostragem há 3N bytes de tamanho ( 8 bits de resolução em cada canal de cor) • Com sub-amostragem 4:2:2 teremos N amostras de Y, N/2 Cr e N/2 Cb. Isto conduz a N+N/2+N/2= 2N bytes • Com sub-amostragem 4:2:0 teremos N amostras de Y, N/4 de Cr e N/4 Cb. Termos N+N/4+N/4=1.5 N bytes • A sub-amostragem 4:2:2 reduz 33% e a 4:2:0 reduz 50%

  17. Normas CCIR para Video Digital (CCIR -- Consultative Committee for International Radio)

  18. Porquê a Compressão ? A 1920 x 1080, com 30 frames/sec (varrimento progressivo), teremos 1920 x 1080 x 30 = 62.2 milhões de pixels/segundo. Se Cada pixel usar 24 bits, a taxa de bits é 1.49Gb/s. O vídeo digital em bruto necessita duma compactação massiva (mais que 60:1 de relação de compressão) Utlizaremos três métodos para consegui-la: 1. Codificação de menor resolução para os canais de cor 2. Remoção da redundãncia temporal pela Compensação de Movimento 3. Remoção da Redundância espacial pelas técnicas de transformada de domínio

  19. Redundância temporal no vídeo

  20. Redução da Redundância Temporal

  21. Exemplo T=1 T=2

  22. Predição • É usado um modelo para prever o conteúdo do quadro; os parâmetros do modelo precisam de ser extraídos e enviados para o descodificador Captura Display Predição Extração de parâmetros Modelo Modelo Parâmetros do Modelo Descoficação da entropia Codificaçãoda entropia Erro de predição

  23. Motivação • A maioria das diferenças entre quadros subsequentes numa cena típica são provocadas por movimentos de translação: • Movimentos ou Zooming da Camera e de objectos • Variações de forma que tb parecem movimentos locais • Essas variações podem ser consideradas num modelo de predição: • Este modelo precisa de parâmetros que têm que ser estimados no codificador: • Compensação de Movimento • Estimação de Movimento

  24. Técnicas de Estimação de Movimento • Unificação por Bloco • A imagem é dividida em pequenos blocos • Assume-se que cada bloco pertencem a um corpo rígido e têm o mesmo movimento • Menor precisão e maior complexidade computacional • Mais usada • Recursiva ao pixel • Calcula-se o vector de movimento por pixel • Maior precisão mas maior complexidade computacional

  25. Estimação/Compensação: • A estimação e a compensação estão relacionadas e trabalham conjuntamente: • Estimação de Movimento (EM) tenta detectar movimento numa cena e extrai vectores de movimento para descrevê-la. • Compensação de Movimento (CM) é um modelo. Usa conjuntamente os vectores de movimento e outros quadros para gerar um predictorpara o quadro corrente. • Os algoritmos EM/CM são baseados em blocos • Os pixéis não são considerados separadamente • São usados tipicamente blocos quadrados • Algumas aplicações usam blocos de pixels de formas arbitrárias É removida a redundância uma vez que é necessário transmitir apenas os vectores de movimento

  26. Quadro N Estimação de movimento • Os quadros são divididos em quadrados de tamanho fixo. • A EM encontra para cada bloco do novo quadro M o previsor encontra a melhor previsão algures num quadro M conhecido: • O vector-de-movimento é o deslocamento entre as coordenadas dos blocos e a posição do melhor match. Quadro M

  27. Quadro M Compensação de Movimento • CM tenta prever um quadro de: • Um quadro já conhecido • Os vectores de movimento fornecidos adicionalmente • Cada bloco é substituído por outro no quadro de referência. O deslocamento entre o bloco e a sua previsão é determinado pelo vector de movimento. Quadro N Erro de Previsão

  28. Estimação de movimento baseada em blocos • Considere um pixel vídeo i(x,y,k) • (x,y) coordenada espacial • k é o tempo • O objectivo da EM é calcular o vector de movimento d(x,y,k) • Que permite reconstruir i(x,y,k) a partir de i(x,y,k(+/-)p), p é um inteiro pequeno

  29. Estimação de movimento por blocos • A EM por blocos pressupõe • a imagem é composta por objectos rígidos • Os objectos movem-se vertical ou horizontalmente • É possível encontrar um vector d(x,y;k) tal que i(x,y;k)= i((x,y) –d(x,y;k),k-p) • Se houver zoom ou rotação a estimação não sucede.

  30. Estimação de movimento por blocos • Assume-se que o movimento é homegéneo no tempo i.e • Os objectos movem-se a velocidade constante no plano da imagem • I(x,y;k)=I((x,y)+d(x,y;k), k+p) • Num EMB espera-se a validade desses pressupostos para todos pixels do bloco b com o mesmo vector de deslocamento db. • São satisfeitos se os blocos forem pequenos e se a amostragem temporal for densa.

  31. Estimação de movimento por blocos • Cada quadro é dividido em blocos KxL rectangulares e não sobrepostos • Cada bloco no quadro actual e unificado com um bloco no quadro anterior • Determinar os deslocamentos horizontais e verticais para esse bloco

  32. Estimação de Movimento por Unificação de Bloco ? ? ? ? L L 2 2 v v u ? 2 ? K Quadro prévio (t-1) Vector de Movimento u u ? ? 2 2 ? ? K K Área de busca L L K K Bloco de Referência Quadro actual (t)

  33. Critério de Unificação de Bloco onde

  34. Exemplo da Estimação de Movimento Blocos da Imagem Prévia Blocos da imagem corrente

  35. Exemplo da Compensação de Movimento

  36. ME com busca completa (1) • Os algoritmos de busca completa, fazem uma busca exaustiva do quadro de referência para a melhor unificação da previsão • A qualidade da unificação entre um bloco e o candidato para previsão pode ser medida com diferentes critérios: • Erro Médio Quadrático (MSE) • Soma das Diferenças Absolutas (SAD) • Classificação da diferença dos pixels (PDC) • A previsão com a menor distância para o bloco previsto é escolhido e as suas coordenadas relativas são codificadas como VM para o bloco

  37. ME com busca completa (2) • A complexidade computacional para a EM duma imagem de tamanho X*Y que é dividida em blocos de tamanho W*H pode ser estimada da forma seguinte: • Cálculo o critério de unificação SAD para um candidato precisa de 2*W*H operações de adição. • Tem que considerar candidatos para todos blocos em X*Y • A busca completa tem que ser feita para todos (X/W)*(Y/W) blocos. • O número total de operações é : • For X=352 Y=288 temos C>10 GAdições/Quadro • Para reduzir a complexidade: • A área de busca é limitada à vizinhança do bloco. • EM é executada com base apenas na luminância C = 2*(W*H)*(X*Y)*[(X/W)*(Y/W)] =(X^2)*(Y^2)

  38. Avaliação para técnicas de EM • Um algoritmo de EM é avaliado usando dois factores • A eficiência da CM • Gm= (Energia do bloco de imagem original)/ (Energia residual da CM) • Se a compensação de movimento for adequada a energia residual é pequena e o ganho é alto • Complexidade Computacional • Deve ser pequena para facilitar a concretização para tempo real • É proporcional ao número de pontos testados pelo algoritmo para uma dada área de busca • Numa concretização hardware para tempo real o número de passos sequenciais necessários pode também ser importante porque a ME dos blocos individuais pode ser paralelizada

  39. Exemplo 9.3 • Calcule os VM correspondentes ao quadro apresentado na figura 9.5(b), relativamente mostrada na figura 9.5(b) • Assuma um tamanho de bloco 16x16 e uma janela de busca [-16,16] tanto na direcção horizontal como vertical • Calcule o ganho da previsão de movimento e estime a complexidade da EM

  40. Desempenho da CM (a)Referência (b) Corrente (c)Diferença de Quadros Imagens de erro com unificação de Busca Completa (e) Janela de Busca = (d) Janela de Busca =

  41. VM para Busca Completa

  42. Histograma dos VM Sequência de futebol

  43. Algoritmos rápidos de EM • No exemplo anterior viu-se que a complexidade da EM para um quadro de vídeo de 240x352 pode ser superior a 100 MOP • Geralmente a complexidade do algoritmo de busca completa é muito grande da ordem de 8x ΔuXΔv • Foram propostas diversas técnicas para reduzir a complexidade da EM • A maioria destes algoritmos é baseada no pressuposto que o erro de previsão cresce monotonamente conforme a busca se move sem ser na direcção de distorção mínima • Os algoritmos são mais rápidos que o de busca completa mas menos precisos

  44. Busca em 3 passos Bloco com melhor Unificação

  45. Busca Logarítmica 2-D Bloco com melhor Unificação

  46. Busca em Direcção Conjugada

  47. Desempenho de MC Busca de 3 passos Busca de direcção conjugada = 47.6 = 36.7

  48. Vectores de Movimento

  49. Exemplo 9.5 Imagem Real Imagem Estimada

  50. Resultados Imagem Real Imagem Estimada

More Related