1.44k likes | 1.68k Views
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
E N D
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
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
Ex 2. Imagem Sinan Histograma original Histograma das diferenças 8 bits 7 bits • 99%-> 5bits TE073 – Processamento Digital de Sinais II
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
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
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
Generalização: Preditor: Se: Temos o DPCM(Differential Pulse Code Modulation) TE073 – Processamento Digital de Sinais II
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
Modulação Delta • Quantizador de 1-bit (2 níveis) • Variação da taxa de amostragem • Slope overload TE073 – Processamento Digital de Sinais II
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
Codificação de Imagem • Comparação com JPEG PSNR=41.60dB PSNR=31.42dB TE073 – Processamento Digital de Sinais II
PSNR=41.60dB PSNR=38.28dB TE073 – Processamento Digital de Sinais II
Conceitos Básicos para Transformadas, Subbandas e Wavelets
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Como a base é ortonormal: Logo: TE073 – Processamento Digital de Sinais II
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
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
Ex: Analisando a sequência de dois números, representando peso e altura: TE073 – Processamento Digital de Sinais II
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
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
Reconstruído Original • Fazendo a anti-transformação podemos recuperar os dados x. TE073 – Processamento Digital de Sinais II
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
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
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
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
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
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
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
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
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