A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Compressão de Vídeo MPEG

Apresentações semelhantes


Apresentação em tema: "Compressão de Vídeo MPEG"— Transcrição da apresentação:

1 Compressão de Vídeo MPEG
TT083

2 Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo
Medidas de Distorção Taxa de Bits Complexidade Computacional Técnicas de Compressão de Vídeo MPEG-1 Vídeo MPEG-2 Vídeo Conclusões

3 Sistema Visual Humano (VHS) [1]
Na retina do olho existem diversos tipos de elementos foto-sensíveis (cones e bastonetes). Existem três classes de células cones (foto-receptores de cor no olho) que têm sensibilidades diferentes aos comprimentos de onda do espectro visível. Fundamentalmente, são sensíveis às cores vermelho, verde e azul (padrão RGB). As demais cores são formadas como médias ponderadas das cores primárias: C = r x R + g x G + b x B onde r, g e b representam o quanto um determinado comprimento de onda estimulou as três classes de receptores.

4 Sistema Visual Humano (VHS) [2]
Azul Verde Vermelho Sensibilidades dos três tipos de cones no olho humano

5 Sistema Visual Humano (VHS) [3]
O olho humano é mais sensível ao verde, depois ao vermelho e por último ao azul. Estes efeitos interessam em compressão porque não é necessário reproduzir fielmente detalhes que o olho não pode ver. Desta forma, pode-se representar a imagem em outros padrões que explorem estas características, como em termos de luminância e crominância. Luminância está relacionada ao brilho da imagem e é proporcional à energia emitida pela fonte. Crominância está associada à percepção de saturação e matiz.

6 Sistema Visual Humano (VHS) [4]
O olho percebe mais detalhes espaciais na componente de luminância do que na de crominância. A maioria dos componentes de alta frequência de uma imagem está na luminância. A sensibilidade cai em alta frequência para todos os componentes. A maior sensibilidade está na componente de luminância em baixas frequências.

7 Sistema Visual Humano (VHS) [5]
Componentes de alta frequência em uma imagem correspondem às bordas, detalhes, limites e ruído da imagem. Então, o maior conteúdo da imagem está em baixa frequência. Ao se realizar uma filtragem passa-baixa em uma imagem, esta perderá a nitidez, mas as componentes de crominância quase não serão afetadas (uma imagem clara continuará clara e uma imagem escura continuará escura).

8 Sistema Visual Humano (VHS) [6]
Devido à sensibilidade do olho humano à magnitude e à fase da imagem, pode-se fazer uma análise objetiva dos codificadores de vídeo, uma vez que as formas de onda de entrada e saída devem ser iguais. Lei de Weber = Resposta não-linear às mudanças na saturação - inversamente proporcional à saturação. Sensibilidade maior para níveis de saturação menor. A região de fundo também deve ser levada em consideração. Se a saturação do fundo for maior (fundo mais escuro), a sensibilidade diminui. Maior sensibilidade à padrões horizontais e verticais do que à padrões diagonais.

9 Espaços de Cores [1] RGB, YUV, YCRCB, YCoCg…
Em sistemas de vídeo, as componentes RGB (já com correção de gama) estão definidas em uma escala relativa entre 0 e 1. Os tons de cinza da imagem são produzidos quando R = G = B (gerando imagens com oito bits/pixel). Branco – R = G = B = 1 Preto – R = G = B = 0 R, G e B contribuem para o brilho, mas precisam ser ponderadas de acordo com a sensibilidade relativa do olho à cada cor primária. Assim, tem-se a seguinte conversão para a componente de luminância: Y = 0,229 x R + 0,587 x G + 0,114 x B

10 Espaços de Cores [2] Para a representação da matiz e da saturação usam-se diferenças de cores: U = B – Y V = R – Y Para eliminar os possíveis valores negativos, as componentes U e V são escalonadas e deslocadas, tal que: CR = (V / 1,6) + 0, CB = (U / 2) + 0,5 Para obter a representação das componentes por oito bits, basta multiplicá-las por 255 (imagem colorida com 24 bits/pixel). Uma das vantagens do YUV (YCRCB) é que as componentes de crominância podem ter uma taxa de amostragem menor sem degradação perceptível do sinal.

11 Espaços de Cores [3] 4:4: Nenhuma informação é descartada. Pouco utilizado (24 bpp). 4:2: Os sinais de crominância são sub-amostrados por um fator de 2 na direção horizontal (16 bpp). 4:2: Os sinais de crominância são sub-amostrados por um fator de 2 nas duas direções, horizontal e vertical. É o mais utilizado (12 bpp).

12 Espaços de Cores [4] Os formatos YUV são divididos em formatos empacotados e planares. Em um formato empacotado, as componentes Y, U e V estão armazenadas em um único vetor e os pixels estão organizados em grupos de macropixels. Em um formato planar, as componentes Y, U e V são armazenadas em três planos diferentes. Formatos empacotados: YUY2, UYVY, … formato 4:2:2 preferido Direct-X Formatos planares: YV12, IMC2, IMC4, NV12,…

13 Espaços de Cores [5] YCoCg (luminância + offset laranja + offset verde) Y = 0,25 x R + 0,5 x G + 0,25 x B R = Y – Co – Cg Co = 0,5 x R – 0,5 x B G = Y + Cg Cg = -0,25 x R + 0,5 x G – 0,25 x B B = Y – Co – Cg Ainda não é completamente reversível. Se todas as operações fossem multiplicadas por quatro, a reversibilidade seria alcançada, porém haveriam componentes de cor com mais de dois bits. Solução = YCoCg – R (completamente reversível). Porém usa um bit a mais para cada componente de crominância. Resultados melhores que os obtidos com YCRCB e com RCT (transformada de cor reversível do JPEG 2000).

14 Formatos de Vídeo [1] - Aproximadamente 30 frames / segundo
- Não-entrelaçados

15 Formatos de Vídeo [2] Formato Tipo de serviço Resolução 240p LDTV
320 x 240 480i SDTV 720 x 480 480p 720p HDTV 1280 x 720 1080i 1920 x 1080 i – interlaced; p – progressive.

16 Porque comprimir o sinal?
TV de Alta Definição (HDTV) - 1920x1080 - Taxa de Bits sem compressão: 1,5 Gbps - Nível aceitável para transmissão: 19 Mbps TV de Definição Padrão (SDTV) - 720x480 - Taxa de Bits sem compressão: 270 Mbps - Nível aceitável para transmissão: 4 a 5 Mbps Daí a necessidade de comprimir o sinal! Largura de Banda 6 MHz = 19 Mbps

17 Compressão vs. Compactação
Compressão: redução do número de bits utilizados para representar uma imagem, podendo ou não, ter uma imagem reconstruída diferente diferente da original (com perdas) Compactação: compressão sem perdas. Aquela em que a imagem reconstruída deve ser identica a original

18 Objetivo da Compressão de Vídeo
Uma seqüência de vídeo digitalizada apresenta grande quantidade de redundância. A codificação de vídeo (= compressão de vídeo) objetiva reduzir a Taxa de Bits através da redução de redundâncias. a redundância existente nas seqüências de quadros do sinal de vídeo

19 Exemplo de ferramenta de compressão
Tipos de Redundância Exemplo de ferramenta de compressão Os valores dos pixels são correlacionados com seus vizinhos, dentro do mesmo quadro. Os valores dos pixels são correlacionados com seus vizinhos entre quadros consecutivos. Algumas componentes são irrelevantes para o sistema visual humano. Alguns coeficientes codificados ocorrem com mais freqüência que outros. REDUNDÂNCIA ESPACIAL DCT REDUNDÂNCIA TEMPORAL Estimação de movimento REDUNDÂNCIA PSICOVISUAL Quantização REDUNDÂNCIA EM ENTROPIA VLC

20 Métodos Óbvios de Compressão
Redução da Taxa de amostragem Redução do número de níveis de quantização Redução da Taxa de Atualização (refresh) Sobreposição, assim deve-se respeitar a Taxa de Nyquist Problema Aparece nos contornos (bordas) da imagem Problema Problema Flickering

21 Principais Ferramentas de Codificação
DCT (Discrete Cosine Transform) Quantização Codificação Entrópica Varredura Zig-Zag Estimação e Compensação de Movimento (EM/CM)

22 Estrutura Principal do Codificador
Temporal PsicoVisual Entropia Espacial

23 Estrutura Principal do Decodificador
Como o decodificador não tem acesso aos quadros originais de referência para reconstituir os quadros preditos, o codificador deve utilizar os mesmos quadros de referência utilizados pelo decodificador. Assim, é necessário aplicar uma quantização inversa e DCT inversa.

24 Codificação Preditiva
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Codificação Preditiva A maior parte da informação de um quadro pode ser predita a partir do quadro anterior. A simples subtração entre frames consecutivos já reduz a energia do quadro a ser transmitido, porém ainda há uma quantidade significativa de energia a ser comprimida. Para isso, podem ser técnicas de compensação de movimento.

25 Codificação Preditiva
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Codificação Preditiva O DPCM faz a codificação do erro de predição gerado pela estimação do quadro a partir de quadros anteriores. A faixa dinâmica do erro de predição resultante é menor do que a faixa do sinal. Assim, tem-se uma quantização mais precisa do erro do que do próprio sinal. A imagem diferencial é menos correlacionada, com variância menor, distribuição laplaciana com pico em zero. Energia de um quadro e seu erro de predição

26 Estimação e Compensação de Movimento (EM/CM)
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Estimação e Compensação de Movimento (EM/CM) Estimação de Movimento é o processo pelo qual vetores de deslocamento são calculados no codificador. Usa o quadro anterior predito (do buffer) e o atual para determinar os vetores de deslocamento para os macroblocos. Assim, determina-se a quantidade de movimento existente entre os dois quadros. Compensação de Movimento explora o fato de que a maior parte do movimento é previsível. Usa o quadro do buffer e os vetores de deslocamento para predizer o quadro atual. A predição é subtraída do quadro atual e o erro de predição é codificado.

27 Estimação e Compensação de Movimento (EM/CM)
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Estimação e Compensação de Movimento (EM/CM)

28 Estimação de Movimento
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Estimação de Movimento Um vetor de deslocamento é gerado para cada macrobloco para indicar a posição de um determinado bloco do quadro anterior no quadro atual, melhorando a predição do quadro atual. O vetor de deslocamento é composto de duas componentes (horizontal e vertical). De acordo com o erro de predição obtido, o modo de codificação do macrobloco pode ser: INTRA, INTER ou INTER + CM. Se o último modo for selecionado, além do erro de predição, estes vetores de deslocamento são transformados, quantizados e transmitidos para o decodificador como parte da bistream. A imagem entre o quadro e a sua predição é a MCD (Motion Compensated Difference). Esta é a imagem codificada. No MPEG, EM/CM é ainda mais desenvolvido, pois tem interpolação de quadros (quadros I, P e B).

29 Estimação de Movimento
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Estimação de Movimento Algoritmos de EM recursivos: Podem ser aplicados à blocos de pixels ou à um único pixel. PRA : Pel Recursive Algorithm. Assume que cada pixel da imagem de um corpo rígido teve um deslocamento transversal paralelo ao plano da câmera. Necessitam apenas do deslocamento anterior e de uma lei recursiva de estimação. Não têm efeitos de blocagem. Porém, têm alta complexidade computacional Este tipo de EM é chamada de “Backward Motion Estimation”.

30 Estimação de Movimento
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Estimação de Movimento Algoritmos de EM baseados em casamento de blocos: Partem do princípio de que o movimento é sempre de um objeto rígido translacional e paralelo ao plano da câmera. O quadro é dividido em pequenos blocos que são procurados no quadro anterior a fim de se determinar o movimento dos blocos. A procura é realizada em uma região limitada do quadro anterior, chamada de janela de busca. Define-se, também uma função de casamento para a escolha da melhor posição.

31 Estimação de Movimento
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Estimação de Movimento A diferença entre as coordenadas do bloco no quadro atual e as coordenadas deste mesmo bloco no quadro anterior é armazenada no vetor de deslocamento (VD).

32 Compensação de Movimento
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Compensação de Movimento Após a estimação do movimento, cada bloco do quadro anterior é deslocado de acordo com seu vetor de deslocamento. A imagem assim gerada é a estimação do quadro atual baseada no quadro anterior.

33 Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Block matching A precisão da estimação depende de três importantes fatores: Tamanho do bloco; Tamanho da janela de busca; Função de casamento. As medidas de erro geralmente usadas são: MSE: Mean Square Error MAD: Mean Absolute Distortion (Mais usado) NCCF: Normalized Cross-Correlation Function

34 Block matching Algoritmos de busca rápida do vetor deslocamento:
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Block matching Algoritmos de busca rápida do vetor deslocamento: A idéia é considerar que a função casamento é decrescente no sentido do vetor deslocamento correto. Esta direção é chamada de DMD – Direction of Minimum Distortion. TSS (Three-Step Search) – semelhante ao DMD com a diferença de que a cada passo 9 pontos são avaliados. OTS (One-at-a-time search) CDS (Conjugate Direction Search)

35 Block matching Temporal EM/CM Espacial Transformadas PsicoVisual
Quantização Entropia RLE VLC Zig-Zag Buffer Block matching

36 Exemplo de Estimação de Movimento Forward
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Exemplo de Estimação de Movimento Forward Grade de MB Imagem anterior I ou P Dentro da área de busca um bom casamento é encontrado. O codificador envia o vetor de movimento apropriado Imagem P MB Atual. Visto que o casamento é encontrado este MB é intercodificado

37 Estimação de Movimento Backward
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Estimação de Movimento Backward Imagem P ou I anterior A busca nesta imagem não encontra um bom casamento Imangem B atual Próxima Imagem I ou P A busca nesta imagem encontra um bom casamento

38 Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Codificação 3D Uma sequência de vídeo também pode ser vista como um volume de dados, como um sinal tri-dimensional. Elimina-se os problemas causados pela estimação de movimentos: atrasos, perdas, dificuldades em sequências de vídeo que apresentam movimentos rápidos ou que tenham rotação, zoom e mascaramento de objetos. Ocorre uma perda na taxa de compressão, mas a qualidade do sinal reconstruído é alta.

39 DCT (Discrete Cosine Transform)
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer DCT (Discrete Cosine Transform) A imagem é dividida em blocos 8x8 = 64 coeficientes não correlacionados. Concentra a energia nos coeficientes de baixa freqüência. O coeficiente mais importante ocupa a posição relativa (0,0) no bloco (coeficiente DC). Organiza a informação de forma que facilita a compressão.

40 Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer DCT DC: significa que não há mudanças de intensidade (baixas freqüências AC: a intensidade do bloco varia rapidamente de pixel p/ pixel (altas freqüências

41 Bloco 8x8 e sua transformada

42 DCT Temporal EM/CM Espacial Transformadas PsicoVisual Quantização
Entropia RLE VLC Zig-Zag Buffer DCT

43 Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Vantagens da DCT Os coeficientes DCT são quase completamente descorrelacionados, ou seja, independentes um dos outros e portanto podem ser codificados independentemente A forma como decompõe os dados em freqüências é muito importante para a compressão pois permite que os coeficientes DCT sejam reduzidos de maneira consistente com com as propriedades do sistema visual humano

44 Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Transformada Wavelet Apresenta grande capacidade de concentrar a energia Explora as características do Sistema Visual Humano Diminui sensívelmente o efeito de bloco (bloccking effect) que é um dos principais problemas do JPEG baseado em DCT

45 Análise de Multiresolução (1 estágio)
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Análise de Multiresolução (1 estágio)

46 Análise de Multiresolução (3 estágios)
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Análise de Multiresolução (3 estágios)

47 Síntese da Wavelet Temporal EM/CM Espacial Transformadas PsicoVisual
Quantização Entropia RLE VLC Zig-Zag Buffer Síntese da Wavelet

48 Quantização É usada para reduzir a precisão dos coeficientes
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Quantização É usada para reduzir a precisão dos coeficientes É a principal fonte de perda de informação Os coeficientes DCT são divididos por um valor de quantização e arredondados Quanto maior o valor de quantização menor é a precisão do coeficiente DCT quantizado Os valores de quantização são escolhidos para minimizar a distorção na imagem reconstruída usando os princípios básicos do sistema visual humano

49 Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Quantização As transformadas não compactam o sinal, apenas descorrelacionam os dados originais e compactam a energia em poucos coeficientes (aproximadamente sem perda). A quantização é uma função que mapeia muitos pontos em um, reduzindo a precisão dos coeficientes. Por isso, não é reversível e não há como recuperar os valores originais após a quantização.

50 Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Quantização O vetor quantizado possui entropia menor que a entropia do vetor original e portanto, necessita de menos bits para ser representado digitalmente. Assim, a escolha do número de níveis de quantização é que determina o número de bits necessários para a codificação. Os coeficientes DCT são divididos por um valor de quantização e arredondados. Quanto maior o passo de quantização menor é a precisão do coeficiente DCT quantizado.

51 Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Quantização Os métodos de quantização se dividem em: progressivos, escalares e vetoriais. Quanto mais uma função de densidade de probabilidade se desvia da função uniforme (máxima entropia), maior é o ganho em se usar quantizador não-uniforme sobre o quantizador uniforme. Um exemplo simples de um quantizador escalar é o arredondamento de um número real para o inteiro mais próximo.

52 Quantização Linear Temporal EM/CM Espacial Transformadas PsicoVisual
Entropia RLE VLC Zig-Zag Buffer Quantização Linear

53 Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Quantização Vetorial Método estatístico de agrupamento de dados: K-means O algoritmo k-means, baseado na técnica estatística do centróide, toma um parâmetro inicial k e divide um conjunto de dados em k grupos de tal forma que a similaridade dentro dos grupos seja alta enquanto que a similaridade entre os grupos seja pequena. O procedimento do algoritmo é, em primeiro lugar, selecionar aleatoriamente k objetos do conjunto de dados, onde cada um destes objetos representará inicialmente uma média do centro de cada grupo. A seguir os demais objetos são classificados nos grupos para os quais apresentam maior similaridade. Um parâmetro tipicamente utilizado como medida de similaridade é a Distância Euclidiana.

54 Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Quantização Vetorial Assim, o agrupamento dos dados se dá através das menores distâncias em relação ao centro dos grupos, ou seja, cada elemento é classificado no grupo para o qual apresenta a menor distância ao seu centro. O processo interativo consiste na atualização dos centros de grupos, através da média das coordenadas dos pontos de cada grupo. Os valores dos centros dos k grupos são, então, o resultado do processo interativo do k-means e os vetores que representam estas centróides são também chamados de codewords e o conjunto das codewords forma o codebook do quantizador vetorial.

55 Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Quantização Vetorial Cada componente da imagem (vetor 3D) é substituído por sua respectiva codeword e o índice da codeword é que é transmitido para o receptor (que deve possuir o mesmo codebook). Codebooks de tamanhos grandes podem ser utilizados para treinamento de redes neurais, por representarem mais fielmente os dados de um determinado conjunto. Um codebook grande pode ter uma estrutura de árvore ou ser formado pelo produto cartesiano vários codebooks menores. É mais usada em codificadores de formas de onda do que em codificadores de transformadas porque os dados estão mais correlacionados.

56 Tipos de Varredura Blocos 8x8 de coeficientes DCT quantizados
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Tipos de Varredura Blocos 8x8 de coeficientes DCT quantizados Varredura Zig-Zag Alternada Não é usada no MPEG-1 Opcional no MPEG-2 Varredura Zig-Zag Obrigatória no MPEG-1 Opcional no MPEG-2

57 Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Tipos de Varredura A ordem de escaneamento das sub-bandas requer que os nós pais sejam escaneados antes dos nós filhos. Além disso, todas as posições de uma determinada sub-banda são escaneadas antes de se passar para a próxima sub-banda. EZW, SPIHT,…

58 Run-Level Encoder (RLE)
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Run-Level Encoder (RLE) Cada coeficiente não-nulo da sequência é codificado como um par (run, level), onde: Run é o número de coeficientes nulos que precedem o coeficiente não-nulo. Level é a amplitude do coeficiente não-nulo. Geralmente, a sequência é reduzida e a codificação de entropia que a vem a seguir é mais eficiente.

59 Codificação de entropia
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Codificação de entropia Códigos de bloco Alfabeto da fonte CA CB CC A B 010 100 C 01 101 D 1 10 11 Não-singular Unicamente decodificável Instantâneo Código instantâneo Não-unicamente decodificável Singular

60 Variable Length Coding (VLC)
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Variable Length Coding (VLC) O objetivo é sempre associar códigos mais curtos a símbolos mais frequentes e códigos mais longos a símbolos menos frequentes. Espera-se sempre obter um código ótimo, o qual possui comprimento médio igual à entropia da fonte. O código de Huffman é de comprimento variável e ótimo (minimiza o comprimento médio dentre todos os códigos instantâneos), mas não é único.

61 Variable Length Coding (VLC)
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Variable Length Coding (VLC) Codificação de Huffman

62 Variable Length Coding (VLC)
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Variable Length Coding (VLC) O código de Huffman é ótimo, mas somente para uma transmissão. Assim, se uma sequência de variáveis deve ser transmitida no lugar de uma única variável, outro código de Huffman deve ser projetado. Porém, se as sequências são de variáveis aleatórias independentes e com distribuição de probabilidade invariante, o código de Huffman é o mais indicado. Caso contrário, para uso recursivo, outros códigos são melhores, mas são sub-ótimos, tais como códigos aritméticos e de Golomb.

63 Variable Length Coding (VLC)
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Variable Length Coding (VLC) A codificação aritmética não faz uso de tabelas de código. Por isso, a complexidade computacional aumenta. Codifica sequências de variáveis aleatórias de alfabeto finito (igual ao Huffman), mas com distribuições de probabilidade variantes. Pode-se relacionar a codificação aritmética com o processo de sub-divisão de um intervalo unitário. Cada palavra de código é a soma das probabilidades dos símbolos precedentes e o comprimento ou tamanho do sub-intervalo à direita da palavra de código corresponde à probabilidade do símbolo. Os códigos são proprietários e são usados no JPEG e no H.264 CABAC e VLC).

64 Variable Length Coding (VLC)
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Variable Length Coding (VLC) O código de Golomb codifica variáveis aleatórias com distribuição de probabilidade geométrica, mas também é usado para codificar sequências de variáveis aleatórias independentes cuja distribuição de probabilidade “favorece” um dos possíveis resultados da variável. Permite variações na distribuição de probabilidade utilizada, desde que seja lenta e conserve a propriedade de “favorecer” o mesmo resultado. O código de Golomb é usado para codificar corridas de zeros porque existe um mapeamento biunívoco entre sequências de v.a.’s de Bernoulli e sequências de variáveis com distribuição geométrica.

65 Variable Length Coding (VLC)
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Variable Length Coding (VLC) Uma v.a. X com distribuição de probabilidade geométrica é uma v.a. que assume apenas valores inteiros não-negativos com probabilidade: Uma v.a. de Bernoulli possui apenas dois resultados: fracasso (0) e sucesso (1) com probs. p e 1-p. Assim, v.a.’s com distribuição geométrica podem ser geradas pela contagem do número de “fracassos” consecutivos antes da ocorrência de um “sucesso” em uma sequência de v.a.’s Bernoulli i.i.d.

66 Variable Length Coding (VLC)
Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Variable Length Coding (VLC) O principal parâmetro do codificador de Golomb é o comprimento do codificador l. Este parâmetro pode ser ajustado de acordo com a distribuição de probabilidade que está sendo codificada. O resultado k de uma v.a. geométrica X é representado por uma palavra código formada por três partes: uma sequência de k / l zeros consecutivos; Um bit ‘1’ para indicar o fim da primeira parte; Uma palavra de código para representar o resto da divisão k / l;

67 Temporal EM/CM Espacial Transformadas PsicoVisual Quantização Entropia RLE VLC Zig-Zag Buffer Buffer A quantização dos coeficientes DCT, a codificação RLE e codificação a VLC são processos que produzem uma taxa de bits variável Para produzir uma taxa de bits constante (CBR) é necessário um buffer para suavizar as variações na taxa de bits Assim, um controlador de taxa ajusta o quantizador para controlar o buffer e prevenir overflow ou underflow do buffer do decodificador O tamanho do buffer afeta a qualidade da imagem e provoca atraso

68 Compressão com e sem perdas
As perdas observadas no sinal reconstruído devem- se principalmente à operação de quantização (além de operações inteiras de transformadas, etc). Compressão sem perdas exige técnicas diferentes de codificação: Codificação de planos de bits (transmissão progressiva – planos + significativos são + correlacionados) Código Gray, codificação aritmética, de corrida de zeros, etc…

69 Codificação adaptativa
A técnica de codificação é adaptativa se a estrutura dos componentes ou seus parâmetros (tais como limiares) mudam localmente dentro da imagem. A performance do processo aumenta, mas a complexidade também aumenta. A adaptatividade pode ocorrer de forma causal ou não-causal.

70 Codificação adaptativa
Na forma causal, os parâmetros do codificador são baseados somente nos valores dos pixels previamente reconstruídos. Não há overhead, mas não se detectam mudanças bruscas no sinal e a complexidade do decodificador aumenta, pois este precisa repetir todos os processo de decisão feitos no codificador. Na forma não-causal, os parâmetros são baseados em valores de pixels passados e futuro. Como o decodificador não tem pixels futuros, o codificador precisa enviar os bits adicionais ao decodificador para informá-lo sobre as adaptações.

71 Taxa de Bits Métrica comparativa para avaliação dos codificadores.
onde: C = fator do formato de crominância (C= 1/3 para 4:4:4, ½ para 4:2:2, 2/3 para 4:2:0) R = Taxa de Bits (bits/segundo) F = Taxa de Quadros (quadros/segundo) H, V = Tamanho Horizontal e Vertical (pixels/quadro)

72 Medidas de Distorção Mean Squared Error (MSE)
É a medida de distorção mais utilizada!

73 Medidas de Distorção Peak Signal-to-Noise Ratio (PSNR)
Boas reconstruções têm valores de 30 dB ou superiores para valores típicos (B = 8). Isto ocorre para taxas de 0,2; 0,5; 1; 2 bits/pixel (dependendo das características do arquivo de vídeo).

74 Medidas de Distorção Mean Absolute Distortion (MAD)
MAD (x,y): é a MAD entre matrizes 16x16. Sumprimiu-se a necessidade de multiplicações e divisões, mas é necessário obter o valor absoluto de um número. Vn (x+i, y+j): intensidades da matriz 16x16 na posição (x,y) do quadro da imagem atual n. Vm (x+dx+i, y+dy+j): intensidades da matriz 16x16 na posição (x+dx,y+dy) do quadro da imagem de referência m.

75 Complexidade Computacional
Medida de Complexidade: onde: MD é a quantidade de memória dinâmica ME é a quantidade de memória estática OP é a soma ponderada das operações aritméticas envolvidas O peso associado à cada operação aritmética é dado por:

76 Como comparar a eficiência entre os codificadores de vídeo?
Todos os codificadores de vídeo abaixo têm a mesma qualidade! Qual tem a melhor eficiência de codificação? Qual tem a pior eficiência? Parametros Coder 1 Coder 2 Coder 3 Coder 4 Tamanho Imagem (HxV) 720x480 544x480 480x480 1920x1080 Taxa Bit (R) 6 Mbps 4 Mbps 19 Mbps Taxa Quadro (F) 29.97 fps 30 fps 24 fps Formato Croma 4:2:0 4:2:2 4:4:4

77 Eficiência de Codificação
A resposta pode ser obtida através da utilização da taxa de bits para comparar os quatro codificadores! Parametros Coder 1 Coder 2 Coder 3 Coder 4 Tamanho Imagem (HxV) 720x480 544x480 480x480 1920x1080 Taxa Bit (R) 6 Mbps 4 Mbps 19 Mbps Taxa Quadro (F) 29.97 fps 30 fps 24 fps Formato Croma 4:2:0 4:2:2 4:4:4 Taxa de Bits 0.39 0.26 0.36 0.20 Pior eficiência. Usa mais bits/pixel Melhor eficiência. Usa menos bits/pixel

78 PADRÕES DE COMPRESSÃO DE VÍDEO

79 Principais Técnicas de Compressão de Vídeo e Imagem
Baseado em DCT JPEG Aplicações em Estúdio H Vídeo Conferência MPEG Armazenamento em CD-ROM MPEG Broadcast DTV, DVD MPEG Broadcast DTV Subbanda/Wavelet EZW VLBR e aplicações de buscas Outras Fractal Multimídia DPCM Broadcast Sem perdar Imagens Médicas

80 Evolução dos Padrões de Compressão de Vídeo
Exemplos JPEG (Joint Photographics Experts Group) mais usado para codificação de imagens paradas (still picture) introduziu DCT e quantização H.261 (px64) usado para vídeo conferência introduziu compensação de movimento DCT (I e P quadros) média compressão, baixo atraso MPEG-1, MPEG-2 (Moving Picture Expert Group) usado para armazenamento digital e broascast introduziu o conceito de quadros B alta compressão, atraso médio

81 Aplicações dos Padrões de Compressão de Vídeo

82 MPEG Vídeo

83 Padrão de Compressão MPEG
MPEG-1 (ISO/IEC ) : Systems : Video : Audio : Conformance : Software MPEG-2 (ISO/IEC 13818) : Systems : Video : Conformance : Audio : Software : Digital Storage Media : Non-Backward Compatible Audio : Real-Time Interface : DSM-CC Conformance : Video : Video

84 Padrão de Vídeo MPEG Objetivo: criar um padrão de compressão de vídeo para aplicações de multimídia e broadcast MPEG-1 (resolução SIF) 352x240, 30 Hz, não entrelaçado, 1,5 Mbps Aplicações de CD-ROM MPEG-2 (resolução CCIR 601) 720x480, 30 Hz, 2 a 80 Mbps Aplicações de broadcast, incluindo HDTV

85 Principais áreas de aplicações do MPEG-1 e MPEG-2
MPEG-1 Vídeo 1 a 3 Mbps: Armazenamento em CD-ROM MPEG-2 Vídeo 3 a 15 Mbps: Transmissão de SDTV, DVD 15 a 20 Mbps: Transmissão de HDTV 25 a 50 Mbps: Produção de SDTV 100 a 300 Mbps: Produção de HDTV

86 Pontos Chaves sobre MPEG Vídeo
MPEG especifica somente a sintaxe do bitstream e o processo de decodificação Algoritmo de codificação (ex., Estimação de Movimento, Controle de Taxa e Modos de Decisão) são abertos a inovações MPEG é assimétrico, ou seja, muito menos complexidade computacional é requerida para o decodificador

87 O MPEG é um sistema potencialmente ASSIMÉTRICO
O decodificador segue as direções do bitstream e assim são relativamente simples Os codificadores, entretanto, são muito mais complexos e devem ter muito mais inteligência. O codificador deve: Identificar áreas em movimento Determinar os vetores de movimento ótimos Controlar a taxa de bits Controlar os dados do buffer de forma a não ocorrer overflow e underflow Determinar onde mudar a quantização Determinar quando um dado bloco pode simplismente ser repetido Determinar quando codificar pela técnica Intra e Inter Variar todos os parâmetros e decisões dinamicamente tal como para maximizar a qualidade para uma dada taxa

88 MPEG-1 Vídeo

89 Caracterísiticas Principais
Otimizado para taxa de bits em torno de 1,5 Mbps Suporta somente vídeo progressivo Objetivo: armazenamento em CD-ROM Utiliza subamostragem 4:1:1 (semelhante ao 4:2:0)

90 Formato de Entrada

91 Estrutura dos Dados Seqüência de vídeo: formada por vários grupos de imagem (GOP) Grupo de pictures (GOP – Group of Pictures): formado por várias imagens (pictures) Imagem: Intra (I), Predicted (P) e Bidirectional (B) Slice: formado por Macroblocos Macrobloco (MB): composto por 4 blocos Y, 1 U e 1 V Blocos: composto pela matriz de pixels de dimensão 8x8 que é codificada com a DCT

92 Estrutura de Dados

93 Estrutura de Dados

94 Seqüência de Vídeo Cabeçalho: dimensão da imagem, relação de aspecto (relação entre a largura e altura), taxa de bit, dimensão do buffer do decodificador e matrizes de quantização É formado por um ou mais grupos de imagens (GOP) Código de fim da seqüência (EOS – End of Sequence)

95 Picture São codificadas inteiramente sem referência de outras imagens
São codificadas tomando como referência a imagem anterior São codificadas tomando como referência a imagem anterior e posterior. Nuca são usados como referência para outras imagens Contem somente informação dos coeficientes DC. Raramente é usada INTRA-PICTURE (I-picure) PREDCTED-PICTURE (P-Picture) BIDIRECCTIONA-PICTURE (B-Picture) DC-PICTURE (D-picture)

96 I-Picture Codificado sem referência das outras imagens
Armazenada no buffer do codificador e decodificador Usado como base de predição para o GOP inteiro

97 P-Picture Codificado com referência da imagem anterior
Armazenado no buffer do codificador e decodificador Usa forward prediction somente

98 B-Picture Codificado com referência da imagem anterior e posterior
Usa forward, backward prediction ou predição bidirecional

99 Group of Picture (GOP) É um grupo de imagens que forma uma seqüência consecutiva para visualização Contem três tipos de imagens: Intra (I), Predicted (P) e Bidirecional (B) Um GOP, na ordem de codificação, deve começar com uma I-picture Um GOP, na ordem de display, deve começar com uma I ou B-picture e deve terminar com uma I ou P-picture

100 Note que o reordenamento causa
Ordem de um GOP Ordem de display (display order): Entrada do codificador e Saída do decodificador Ordem de codificação (coder order): Saída do codificador e Entrada do decodificador A ordem de display é diferente da ordem de codificação se há B-pictures As B-picture devem ser ordenadas tal que a imagem de referência futura fique disponível para predição Note que o reordenamento causa ATRASO!

101 Ordem de um GOP (cont.)

102 Slice Um slice é um conjunto de macroblocos
É importante para o tratamento de erros Se um slice estiver corrompido com ruído pode saltar para o próximo slice O número de slices em uma imagem pode variar de 1 até o número total de MB. No MPEG-1 os slices devem preencher completamente a imagem O cabeçalho do slice contém um código de início, sua posição na imagem e o fator de quantização

103 Macrobloco (MB) Tamanho: 16x16 pixels
É composto por um bloco de luminância (4x(8x8) amostras) e dois blocos de crominância (1x (8x8) + 1x (8x8) amostras) no caso do MPEG-1

104 Bloco Tamanho: 8x8 coeficientes DCT
Os blocos podem ser codificados como inta ou inter Intra: usa somente informação da própria imagem, tirando vantagem das similaridades dos coeficientes adjacentes Inter: tira vantagem das similaridades entre quadros de outras imagens

105 Estrutura Típica do Codificador MPEG

106 MPEG-2 Vídeo

107 Características Principais
Foi planejado para suportar: Taxa de bits mais alta Tamanho maior de imagem Quandros entrelaçados Codificação de vídeo de alta qualidade (até 80 Mbps) Exemplos de aplicação: video on demand (VOD), televisão digital, armazenamento em DVD, HDTV Codificação escalável

108 = + MPEG-2 MPEG-2 MPEG-1 Ferramenta de Entrelaçamento
Nova estrutura de sintaxe MPEG-2 MPEG-1 = + Perfil & Nível Modos Escaláveis

109 Ferramentas de Entrelaçamento
Field Picture Field DCT Modo de predição de campo Varredura Alternada Suporte a 3:2 Pulldown Suporte a Field-Based Pan-and-Scan

110 Melhorias do MPEG-2 em relação ao MPEG-1

111 MPEG-2 Estruturas Estrutura da Seqüência Estrutura de Quadros
Seqüência Progressiva: contem quadros de imagens (frames pictures) Seqüência Entrelaçada: pode conter quadros e campos de imagens Estrutura de Quadros Quadro progressivo: os dois campos vêm no mesmo instante de tempo Quadro Entrelaçado: os dois campos vem em tempos diferentes Estrutura da Imagem Quadro de Imagem (Frame picture) Campo de Imagem (Field picture): deve ocorrer em pares; um quadro = dois campos de imagem

112 Seqüência de Vídeo Progressivo e Entrelaçado
Seqüência Entrelaçada: consite de uma série de campos (fields) reconstruídos que estão separados no tempo por um período de campo. Os dois campos de um quadro (frame) podem ser decodificados separadamente (field-picture) Seqüência Progressiva: cada picture na seqüência deve ser um frame picture (não tem campo). A seqüência na saída do decoder consiste de uma série de quadros que são separados no tempo por um período de quadro Na seqüência entrelaçada ambos frame-picture e field picture podem ser usados em uma única seqüência de vídeo

113 Field Picture e Frame Picture
Devem ocorrer em pares: Top Field Botton Field Top Field + Botton Field: Frame Frame Picture Seqüência de vídeo entrelaçada usando frame picture Os dois campos do quadro devem ser entrelaçados um com o outro e então o quadro inteiro é codificado como um único frame

114 Field e Frame DCT Quadro DCT: modo de codificação normal MPEG-1
Campo DCT: Divide dentro de campos top e botton O codificador MPEG-2 pode escolher campo DCT em algum macrobloco

115 Estrutura do Macrobloco

116 Picture Uma imagem codificada pode ser: I-frame: P-frame: B-frame
Field I-frame: I-frame picture um par de I-field picture P-frame: P-frame picture um par de P-frame picture B-frame B-frame picture um par de B-frame picture

117 Tipos de Pictures Há 3 tipos de picture:
Intra-coded (I) picture: é codificada usando informação somente dela mesma Predicted-coded (P) picture: é codificada usando predição de compensação de movimento dos quadros ou campos de referência da imagem passada Bidireccicional-coded (B) picture: é codificada usando predição de compensação de movimento dos quadros ou campos de referência da imagem passada e/ou futura

118 Modos de Predição Há duas classificações principais de modos de predição Field Prediction: as predições são feitas independentemente para cada campo usando dados de um ou mais campos codificados anteriormente Frame Prediction: forma uma predição para o quadro a partir de um ou mais quadros decodificados anteriormente

119 Field e Frame Prediction
melhor região 16x16 na imagem de referência. Determina o MV para o MB. Único tipo de predição permitida no MPEG-1 Field Prediction: melhor região 16x8 no campo Top ou Botton na imagem de referência. Determina os MV’s para o Top e Botton de 16x16 MB.

120 Modos Especiais de Predição
Dois modos especiais de predição são usados para predição field ou frame 16x8 motion compansation Pode ser usada somente em campos Duas MV’s são enviados para predição forward e backward O primeiro MV é usado para as regiões 16x8 superiores e o segundo MV para as regiões 16x8 inferiores 4 MV’s são enviados para predição bi-direcional Dual Prime Pode ser usada em campo ou quadro Pode somente ser usado em P-pictures Um MV + a diferença MV são enviadas para cada MB

121 Perfil e Nível Perfil (Profile): define quais funcionalidades (ferramentas de codificação) poderão ser usadas na geração do feixe de bits (bitstream) do vídeo codificado Nível (Level): é um conjunto de limitações dos parâmetros do feixe de bits (i.e. tamanho da imagem, taxa de quadros e taxa de bits)

122 Perfil e Nível [1] Perfil: Simple Main SNR Spatial High 4:2:2 (ordem hierárquica) Nível: Low Main High High (ordem hierárquica) Os Perfis e Níveis possuem uma relação Hierárquica. Assim: Sintaxe suportada pelos Perfis mais altos inclui todos os elementos da sintaxe dos perfis mais baixos (ex., para um dado nível, um Main Profile é compatível com o Simple Profile) Limitações de parâmetros dos Níveis mais altos são iguais ou excedem os limites dos níveis mais baixos (ex., para um dado perfil, um decoder de Nível Main deve ser capaz de decodificar um bitstream em conformidade com as restrições de um nível Low)

123 Perfil e Nível [2] Para um dado perfil o mesmo conjunto de sintaxe é suportado independente do nível Os feixes de bits codificados pelo MPEG-1 devem ser decodificados por todos os níveis e perfis do MPEG-2 (Compatibilidade Backward) Os perfis SNR, Spatial, High têm como ferramenta a escalabilidade, ou seja, podem usar mais de um bistream para codificar a imagem

124 Limitações dos Perfis Rec. H.262

125 Número Máximo de Bits em um MB
Para todos os Perfis definidos há uma restrição no bitstream de que todos os dados para um MB devem ser representados com um número máximo de bits Rec. H.262

126 Perfil x Funcionalidades

127 Nível x Funcionalidades

128 Escalabilidade [1] A escalabilidade foi feita para suportar aplicações além daquelas já suportadas por uma única camada (codificação sem escalabilidade) Possui uma camada base e 2 ou 3 camadas de enriquecimento Extrai do mesmo feixe de bits codificado várias instâncias de vídeo com diferentes: Níveis de qualidade Resoluções espaciais Resoluções Temporais

129 Escalabilidade [2] O padrão MPEG-2 definiu 5 tipos de escalabilidade:
Particionamento de Dados Escalabiliadde SNR Escalabilidade Temporal Escalabilidade Híbrida Todos os tipos de escalabilidades possui a vantagem de transmitir os dados + importantes com uma proteção adicional em relação aos dados menos importantes

130 Particionamento de Dados
É usado quando dois canais estão disponíveis para transmissão e/ou armazenamento de um feixe de bits de vídeo Aplicações: redes ATM, transmissão terrestre, meios magnéticos, etc O feixe de bits é particionado entre os canais tal que: As partes + críticas (tais como, cabeçalhos, VM, coefs DCT de baixas freqüências) são transmitidos com o melhor desempenho de erro Dados menos críticos (tal como coefs DCT de altas freqüências) são transmitidos com um desempenho de erro mais probre Assim, degradações de erros do canal são minimizadas

131 Escalabilidade SNR Aplicações: serviços de vídeo com múltiplas qualidades, padrões de TV e HDTV Gera duas camadas de vídeo com a mesma resolução temporal e espacial, mas com qualidades de reprodução diferentes. Está relacionado com o passo de quantização (proteção a erros) Camada Base: passo de quantização + fino. Maior proteção a erros Camada Enriquecimento: passo de quantização mais grosso. Menor proteção a erros

132 Escalabilidade Temporal
Aplicações: utilizada em diversas aplicações de vídeo, desde telecomunicações até HDTV Motivação: Introdução gradual de sistemas + sofisticados em substituíção a sistemas já existentes Sistemas de resolução temporal mais baixos: decodificam somente a camada base Sistemas + sofisticados: decodificam ambas camadas, mantendo assim interoperabilidade com sistemas anteriores Pode ser utilizada para obter interoperabilidade entre vídeo entrelaçado e progressivo

133 Escalabilidade Espacial
Aplicações: interoperabilidade entre padrões, interoperabilidade entre HDTV e TV, etc Oferece flexibilidade na escolha do formato de vídeo a ser empregado em cada camada Possibilidades: 1. Camada base e camada de enriquecimento: padrão MPEG-2 2. Camada base: padrão MPEG-1 e Camada enriquecimento: padrão MPEG-2 A segunda possibilidade tem a vantagem de facilitar a interoperação entre os padrões de codificação de vídeo Transmissão de Vídeo Simulcast de SDTV e HDTV

134 Escalabilidade Híbrida
É a combinação de dois tipos de escalabilidade, como por exemplo, escalabilidade espacial + escalabilidade temporal Tipos de escalabilidade que permitem combinação (escalabilidade híbrida): SNR, Spatial e Temporal

135 Resolução Espacial Rec. H.262

136 Taxa de Bits (Mbps)

137 Número de camadas para cada Perfil e Nível
Rec. H.262

138 Artefatos no MPEG Efeito de Bloco (Block Artifact)
Quando o olho consegue acompanhar movimentos rápidos Causado por pobre estimação de movimento e ou insuficiente alocação de bits Mosquito (“Noise Mosquito”) Pode ser visto em bordas de textos As bordas causam coefs DCT em altas freqüências , os quais são quantizados compassos de quantização grosso

139 Tipos de Compressão em que o MPEG pode ter um desempenho ruim
Para tipos de movimento que não se ajustam a modelos de translação linear Zoons Rotações Movimento de objetos que se movem de forma transluzente/transparente Para outros tipos Sombras Mudanças de brilho Corte de cenas Muitos detalhes (coeficientes de altas freqüências)

140 CONCLUSÕES [1] A grande diferença entre o padrão MPEG-1 e MPEG-2 foi a codificação de vídeo entrelaçado o que permitiu aplicações para TV O MPEG-2 Vídeo foi adotado em todos os três padrões de TV Digital existentes (DVB, ATSC e ISDB-T) Uma evolução do padrão MPEG-2 Vídeo é o H.264 que permite taxas de bits ainda menores

141 CONCLUSÕES [2] A compressão de vídeo MPEG está sendo útil para muitas aplicações: CD-ROM e Multimidia Transmissão por Satélite Transmissão terrestre Transmissão por cabo Sistemas Video on demand

142 Referências [1]    SULLIVAN, Gary; ESTROP, Stephen. Video Rendering with 8-bit YUV Formats. Microsoft Digital Media Division, Disponível no MSDN Library 2005. [2]  WILSON, Dave. RGB/YUV Pixel Conversion. FOURCC.org. Disponível em Acesso em 08/2005. [3] WILSON, Dave. Compressed Formats. FOURCC.org. Disponível em Acesso em 08/2005. [4]      MALVAR, Henrique; SULLIVAN, Gary. YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range. Microsoft Corporation. Documento submetido ao Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG em 2003. [5]      LIM, Jae S. Two-dimensional Signal and Image Processing. Prentice Hall Signal Processing Series, Engewood Cliffs, New Jersey, USA, 1990. [6]     JAIN, Anil K. Fundamentals of Digital Image Processing. Prentice Hall Information and System Sciences Series, New Jersey, USA, 1989.

143 Referências [7]    RABBANI, Majid; JONES, Paul W. Digital Image Compression Techniques. SPIE -The International Society for Optical Engineering, Washington, USA, 1991. [8]     CHAN, Raymond K. W.; LEE, M. C. 3D-DCT Quantization as a Compression Technique for Video Sequences. International Conference on Virtual Systems and Multimedia, Geneva, Switzerland, 1997, pp [9]     KIM, Beong-Jo; PEARLMAN, William A. An Embedded Wavelet Video Coder Using Three-Dimensional Set Partitioning in Hierarchical Trees (SPHIT). Proceedings of the Conference on Data Compression, 1997. [10]  OLIVEIRA, Fabrício Corrêa de Araújo. Compressão Progressiva de Imagens Usando DCT e Código de Golomb. Dissertação de mestrado submetida à Universidade Estadual de Campinas em 2002. [11]  LAMAR, Marcus Vinicius. Codificação de Vídeo Utilizando Decomposição Quadtree para Estimação de Movimentos. Dissertação de mestrado submetida à Universidade Federal de Santa Catarina em 1996.

144 Referências [11] ITU-T Generic Coding of Moving Pictures and associated audio information - video


Carregar ppt "Compressão de Vídeo MPEG"

Apresentações semelhantes


Anúncios Google