1 / 143

Codificação Diferencial

Codificação Diferencial. Introdução. Formas de quantização (perdas): Quantização Escalar Uniforme / não-uniforme Side information Quantização Vetorial Codebook e Codeword Ótimas taxas Complexo computacionalmente. Introdução. Codificação Diferencial Codificação das diferenças

dot
Download Presentation

Codificação Diferencial

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. Codificação Diferencial

  2. Introdução • Formas de quantização (perdas): • Quantização Escalar • Uniforme / não-uniforme • Side information • Quantização Vetorial • Codebook e Codeword • Ótimas taxas • Complexo computacionalmente TE073 – Processamento Digital de Sinais II

  3. Introdução • Codificação Diferencial • Codificação das diferenças • Aplicação: Voz • Sinal amostrado {xn} Ex 1. Senóide • dn = { xn – xn-1 } • Menor Faixa Dinâmica • Menor Variância:Amostras mais centradasem zero. TE073 – Processamento Digital de Sinais II

  4. Ex 2. Imagem Sinan Histograma original Histograma das diferenças 8 bits 7 bits • 99%-> 5bits TE073 – Processamento Digital de Sinais II

  5. Exemplo 3: Considere a sequência: x={6.2 9.7 13.2 5.9 8.0 7.4 4.2 1.8} A sequência diferença será: d={6.2 3.5 3.5 -7.3 2.1 -0.6 -3.2 -2.4} Se codificarmos sem perdas, voltamos à seqüência original fazendo: Porém: Quantizando com perdas [-6 -4 -2 0 2 4 6]: d={6 4 4 -6 2 0 -4 -2} Reconstruindo temos: xq={6 10 14 8 10 10 6 4} Que corresponde ao erro de quantização: {0.2 -0.3 -0.8 -2.1 -2.0 -2.6 -1.8 -2.2} crescente! TE073 – Processamento Digital de Sinais II

  6. d[n] xq[n] xq[n] x[n] dq[n] dq[n] dq[n] + + + Q-1 Q-1 Q + + - z-1 z-1 z-1 xq[n-1] xq[n-1] x[n-1] d[n] dq[n] + x[n] Q - + + z-1 xq[n-1] xq[n] • Mesmo erro de quantização tendo média zero, pode causar overflow • Solução: TE073 – Processamento Digital de Sinais II

  7. Ex 4. Sinal senoidal Aproximação I • Intervalo dinâmico de diferenças: [-0,2 0,2] • Passo do quantizador = 0,1 Aproximação II • Intervalo dinâmico de diferenças: [-0,4 0,4] • Passo do quantizador = 0,2 TE073 – Processamento Digital de Sinais II

  8. Generalização: Preditor: Se: Temos o DPCM(Differential Pulse Code Modulation) TE073 – Processamento Digital de Sinais II

  9. Adaptativo • Direto • Side information transmitida ao decodificador • Separação em blocos (estimativas por bloco) • Reverso • Não há necessidade de side info – adaptação obtida da saída do decodificador. • Mais utilizado • Algoritmo de Jayant TE073 – Processamento Digital de Sinais II

  10. Modulação Delta • Quantizador de 1-bit (2 níveis) • Variação da taxa de amostragem • Slope overload TE073 – Processamento Digital de Sinais II

  11. Ex.: Codificação de Voz • Principal aplicação de codificadores diferenciais (ADPCM) • Vários padrões ITU (G.721, G.723, G.722,...) • G.726 • Quantização adaptativa reversa • Algoritmo de quantização similar a Jayant • Predição reversa adaptativa • Combinação linear dos 2 últimos valores reconstruídos • Uso dos 6 últimos diferenças quantizadas para a predição • (40, 32, 24 e 16 kbits) • 8000 amostras • 5, 4, 3, 2 bits/amostra Comparando com PCM (8bits /amostra): Taxas de compressão 1,6:1 2:1 2,67:1 4:1 respectivamente TE073 – Processamento Digital de Sinais II

  12. Codificação de Imagem • Comparação com JPEG PSNR=41.60dB PSNR=31.42dB TE073 – Processamento Digital de Sinais II

  13. PSNR=41.60dB PSNR=38.28dB TE073 – Processamento Digital de Sinais II

  14. Conceitos Básicos para Transformadas, Subbandas e Wavelets

  15. Para entendermos os conceitos utilizados em codificação por transformada, subbandas e wavelets é necessário um conhecimento prévio dos seguintes assuntos: • Espaços Vetoriais • Série de Fourier • Transformada de Fourier • Sistemas Lineares • Amostragem • DFT • Transformada Z Já vistos em DSP-I TE073 – Processamento Digital de Sinais II

  16. 11.3. Espaços Vetoriais Representação de um vetor no espaço 2-D: 3 4 Logo: um vetor pode ser representado como uma decomposição em vetores base (ux, uy). Qualquer vetor neste espaço 2-D pode ser decomposto. TE073 – Processamento Digital de Sinais II

  17. Então, dado um vetor A e um conjunto base, a decomposição significa encontrar os coeficientes os quais ponderam os vetores unitários do conjunto base. Ferramenta matemática: Produto Escalar ou Interno TE073 – Processamento Digital de Sinais II

  18. 11.3.1. Produto Escalar ou Produto Interno Dado dos vetores: O produto interno é definido por: Dois vetores são ditos ortogonais se seu produto interno é zero. Um conjunto de vetores é dito ortogonal se cada vetor for ortogonal a todos os outros vetores do conjunto. TE073 – Processamento Digital de Sinais II

  19. O produto interno entre um vetor e um vetor unitário de um conjunto base ortogonal nos fornece o coeficiente correspondente a aquele vetor. E pode ser visto também como a projeção do vetor sobre o vetor da base. Ex.: Seja a base ortogonal: Claramente: E um vetor a pode ser decomposto em: TE073 – Processamento Digital de Sinais II

  20. uy b a ux O produto interno entre dois vetores pode representar, com um certo cuidado, uma medida de similaridade entre eles a é mais próximo de ux logo: TE073 – Processamento Digital de Sinais II

  21. 11.3.2. Espaço Vetorial Generalizando os conceitos vistos em 2-D e 3-D: Espaço vetorial consiste em um conjunto de elementos chamados vetores que têm as operações de adição vetorial e multiplicação escalar definidas. Os resultados destas operações são também elementos deste espaço vetorial TE073 – Processamento Digital de Sinais II

  22. Adição Vetorial: Sejam os vetores: Definimos: Multiplicação Escalar: Multiplicação de um vetor por um numero real ou complexo. Para que o conjunto de elementos seja um espaço vetorial é necessário que cumpra os seguintes axiomas: TE073 – Processamento Digital de Sinais II

  23. Seja: V um espaço vetorial x,y,z vetores e  e  números escalares • x+y=y+x comutatividade • (x+y)+z=x+(y+z) e ()x= (x) associatividade • Existe elemento  em V tal que x+ =x para todo x V • (x+y)= x+ y e (+)x= x+x distributividade • 1.x=x e 0.x=  • Para todo x V existe elemento (-x) tal que x+(-x)=  Ex.: Um exemplo de espaço vetorial são os números reais, neste conjunto: zero=  TE073 – Processamento Digital de Sinais II

  24. Outro exemplo de espaço vetorial: conjunto das funções f(t) que possuem energia finita: Neste caso: (t)=0 E o espaço vetorial é chamado L2 TE073 – Processamento Digital de Sinais II

  25. 11.3.3. Subespaço Um subespaço S de um espaço vetorial V é um subconjunto de V cujos membros satisfazem todos os axiomas do espaço vetorial e têm a propriedade adicional que se x e y  S, e  é um escalar, então x+y e x estão também em S. Ex.: Considere S o conjunto das funções limitadas ao intervalo [0,1]. Então S é um subspaço de L2 TE073 – Processamento Digital de Sinais II

  26. 11.3.4. Bases Uma das formas de se gerar um subespaço é fazendo combinações lineares de um conjunto de vetores. Se o conjunto de vetores for linearmente independente, o conjunto é chamado de base para o subespaço. Um conjunto de vetores {x1,x2,...} é dito linearmente independente se nenhum vetor do conjunto puder ser escrito como uma combinação linear dos outros vetores do conjunto. TE073 – Processamento Digital de Sinais II

  27. Teorema: Um conjunto de vetores X={x1,x2,...,xN} é linearmente independente Se e somente se a expressão Implicar que para todo i=1,2,...,N TE073 – Processamento Digital de Sinais II

  28. Seja o espaço vetorial V dos vetores definidos por [a b]T, onde a e b são números reais. Ex.: São bases de V. Quaisquer 2 vetores não paralelos formam uma base para V. O número de vetores necessários para gerar o espaço é chamado dimensão do espaço vetorial. No exemplo: Dimensão 2 No exemplo anterior, espaço das funções limitadas [0,1] de L2 possui dimensão infinita. TE073 – Processamento Digital de Sinais II

  29. Ex.: Seja o vetor Então a representação de a na base X1 é (3,4) e na base X2 é (4,-1) TE073 – Processamento Digital de Sinais II

  30. 11.3.5. Definição formal do produto interno O produto interno pode ser denotado como: Satisfaz os seguintes axiomas: • <x,y>=<y,x>* • <x+y,z>=<x,z>+<y,z> • <x,y>= <x,y> • <x,x>0 com equalidade se e somente se x= É chamada norma de x e é análogo à distância TE073 – Processamento Digital de Sinais II

  31. 11.3.6. Conjuntos Ortogonais e Ortonormais No espaço Euclidiano, dois vetores são ditos ortogonais se seu produto interno for zero. Se selecionarmos conjunto base formada por vetores ortogonais e ainda se a norma desses vetores for unitária, o conjunto é chamado Base Ortonormal. TE073 – Processamento Digital de Sinais II

  32. Dada um espaço vetorial SN com uma base ortonormal {xi} i=1,2..N. Dado um vetor y no espaço SN podemos escrever y como uma combinação linear dos vetores xi Para encontrar os coeficientes i , podemos tirar o produto Interno de ambos os lados com respeito a xi TE073 – Processamento Digital de Sinais II

  33. Como a base é ortonormal: Logo: TE073 – Processamento Digital de Sinais II

  34. Conclusões: • Vetores não são simplesmente pontos nos espaços 2-D e 3-D. • Funções do tempo podem serem vistas como elementos de um espaço vetorial. • Conjuntos de vetores que satisfazem a certos axiomas formam um espaço vetorial • Todos os membros de um espaço vetorial podem ser representados como combinações lineares dos vetores bases (podem ter diferentes bases para um mesmo espaço). As bases formadas por vetores de magnitude unitária e ortogonais são conhecidas como bases ortonormais. • Se uma base é ortonormal os coeficientes podem ser obtidos tirando o produto interno do vetor com cada vetor da base. TE073 – Processamento Digital de Sinais II

  35. Codificação Por Transformada

  36. Introdução • Fonte é decomposta ou transformada em componentes de modo que a energia fique concentrada em poucas amostras. • Para uma fonte gaussiana a entropia é dada por: • O aumento da variância causa um aumento na entropia, o que mede a quantidade de informação contida no sinal. TE073 – Processamento Digital de Sinais II

  37. Ex: Analisando a sequência de dois números, representando peso e altura: TE073 – Processamento Digital de Sinais II

  38. Podemos observar que os valores estão ao redor da reta y=2.5x • Podemos rotacionar o conjunto de valores usando: Onde  é o ângulo da reta com eixo x TE073 – Processamento Digital de Sinais II

  39. TE073 – Processamento Digital de Sinais II

  40. A energia foi compactada no primeiro elemento. • Desenhando o gráfico temos: • Podemos ignorar a segunda coordenada de , causando um erro, porém reduzindo a quantidade de dados pela metade! TE073 – Processamento Digital de Sinais II

  41. Reconstruído Original • Fazendo a anti-transformação podemos recuperar os dados x. TE073 – Processamento Digital de Sinais II

  42. O erro de reconstrução foi pequeno pois nessa transformaçãoem particular temos: • Neste exemplo foi utilizada apenas duas dimensões, mas o princípio pode ser expandido para mais dimensões. • Com duas dimensões podemos reduzir os dados em um fator de 2, com mais dimensões esse fator pode aumentar. • Descartar as componentes com menor quantidade de informação (menor entropia) (menor variância) TE073 – Processamento Digital de Sinais II

  43. Prova-se que a melhor compactação ocorre quando descorrelacionamos as amostras da transformada. • A descorrelação de dados discretos foi introduzida em 1933 por Hotteling. • Em 1947, Karhunen e em seguida, 1948, Loève desenvolveram a transformação para funções contínuas. • Kramer e Mathew em 1956 utilizaram esses conceitos da descorrelação, para codificação de sinais, gerando então o termo codificação por transformada. TE073 – Processamento Digital de Sinais II

  44. A codificação por transformada consiste em três passos: A seqüência de dados é dividida em blocos de tamanho N e mapeada em seqüências transformadas, usando um mapeamento reversível. Quantizar a seqüência transformada Taxa de bits que eu desejo conseguir? A estatística dos elementos transformados? Efeitos de distorções causados pela quantização? Binary encoding TE073 – Processamento Digital de Sinais II

  45. A Transformada • Todas as transformadas que veremos são transformadas lineares, podendo serem representadas por: • Em sinal de voz mudanças radicais como a passagem do silêncio para a conversa dificultam a implementação de N grandes. O mesmo acontece em imagem. O tamanho N do bloco é definido por considerações práticas, tais como: Taxa de compressão versus complexidade computacional TE073 – Processamento Digital de Sinais II

  46. A transformada pode ser escrita na forma matricial: • onde A e B são matrizes N×N A : Matriz Transformada Direta B : Matriz Transformada Inversa • Se a transformada é ortonormal ela tem a propriedade de que a inversa é a própria transposta. TE073 – Processamento Digital de Sinais II

  47. A eficiência da transformada depende da compactação de energia. • Uma das maneiras de medir a compactação é tirar a média aritmética da variância dos coeficientes de transformação. Ganho de Codificação da Transformada TE073 – Processamento Digital de Sinais II

  48. Ex: Considere a matriz • Note que a primeira linha representa um filtro passa-baixa e a segunda um passa alta • Supondo a sequência de entrada sendo Coeficiente debaixa-frequência TE073 – Processamento Digital de Sinais II

  49. Analisando duas outras seqüências (3,1) e (3,-1) • A segunda é mais alta frequência que a primeira, pois difere de 4 enquanto a outra de 2. Teremos: • Observe que a energia da sequência transformada é igual a da original, caracterizando uma transformada ortonormal. TE073 – Processamento Digital de Sinais II

  50. Transformada Karhunen-Loéve • As linhas da transformada discreta KLT consiste nos autovetores da matriz de autocorrelação da sequência. • A matriz de autocorrelação para um processo randômico X é dada por: • A matriz construída desta forma reduz a variância dos coeficientes da transformada. Resultando na Transformada Ótima do ponto de vista de compactação da energia. • Transformada dependente do sinal: Grande informação Lateral TE073 – Processamento Digital de Sinais II

More Related