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

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

Conceitos Básicos em Codificação com Perdas

Apresentações semelhantes


Apresentação em tema: "Conceitos Básicos em Codificação com Perdas"— Transcrição da apresentação:

1 Conceitos Básicos em Codificação com Perdas

2 TE073 – Processamento Digital de Sinais II
Em codificação sem perdas:  Limite da taxa de compressão atingível (em bits/símbolo) é dado pela entropia da fonte de acordo com a Teoria da Informação de Shannon. Em codificação com perdas:  Há um compromisso entre a taxa de compressão e a qualidade do sinal reconstruído. TE073 – Processamento Digital de Sinais II

3 Teoria da Distorção pela Taxa (Rate Distortion Theory)
Codificação com perdas:  Maior distorção possível: Perda total do sinal Taxa de compressão máxima! Isto é, não necessita enviar dado nenhum.  Menor distorção possível: Codificação sem perdas Taxa de compressão dada pela entropia da fonte. Teoria da Distorção pela Taxa (Rate Distortion Theory) TE073 – Processamento Digital de Sinais II

4 TE073 – Processamento Digital de Sinais II
Otimizar um codificador:  Obter a menor distorção possível para uma dada taxa de compressão. (imposição do meio de armazenamento ou canal de comunicação) Como medir a distorção?? TE073 – Processamento Digital de Sinais II

5 TE073 – Processamento Digital de Sinais II
7.3. Critérios de Distorção O que é a distorção?? É uma medida de quanto o sinal reconstruído se diferencia do sinal original. A fidelidade da reconstrução depende do usuário final. Medidas subjetivas: O usuário final define, subjetivamente, a qualidade da reconstrução. Geralmente feito através de uma pesquisa de opinião com um grande número de pessoas para não recair em particularismos. Ex.: Avaliação de uma pintura e avaliação de um rascunho de uma casa. Avaliação de um trecho de música clássica e de um discurso político. TE073 – Processamento Digital de Sinais II

6 TE073 – Processamento Digital de Sinais II
Medidas subjetivas da distorção: O usuário final define, subjetivamente, a qualidade da reconstrução. Geralmente feito através de uma pesquisa de opinião com um grande número de pessoas para não recair em particularismos. Ex.: Avaliação de uma pintura e avaliação de um rascunho de uma casa. Avaliação de um trecho de música clássica e de um discurso político. Baseado em escores: Excelente, ótimo, bom, aceitável, ruim, péssimo, inaceitável, horroroso, pior que isso não poderia ser, etc. TE073 – Processamento Digital de Sinais II

7 TE073 – Processamento Digital de Sinais II
Problemas com este tipo de medida: Difícil de se computar, pois depende muito de pessoa para pessoa. Para se obter uma medida independente de “gostos”, deve-se trabalhar com um número muito grande de pessoas. O que torna a medida muito complicada e trabalhosa de ser realizada. Logo: definição de medidas objetivas da distorção facilita muito o projeto dos codificadores. TE073 – Processamento Digital de Sinais II

8 TE073 – Processamento Digital de Sinais II
Medidas objetivas da distorção: Geralmente baseadas em erros entre o sinal original e o reconstruído: Onde: É a distorção de ordem p entre o sinal original x e o sinal reconstruído y. N é o número de componentes (dimensões) dos sinais. TE073 – Processamento Digital de Sinais II

9 TE073 – Processamento Digital de Sinais II
Medidas mais comuns: Média das diferenças absolutas Erro médio quadrático (EMQ) Mean Squared Error (MSE) Distância Euclidiana ao quadrado .... Erro máximo. Usado em casos onde o erro só é percebido Acima de um determinado limiar (threshold) TE073 – Processamento Digital de Sinais II

10 TE073 – Processamento Digital de Sinais II
Considerando que a distorção imposta ao sinal original como sendo um ruído de codificação: Podemos ter medidas baseadas na relação Sinal-Ruído Energia do Sinal Energia do Ruído (d2,EMQ,MSE) Medida em dB Relação sinal ruído de pico Muito usado em imagem: x2max=2552 TE073 – Processamento Digital de Sinais II

11 TE073 – Processamento Digital de Sinais II
Vimos 2 formas de medidas da fidelidade da reconstrução: Medidas Subjetivas: Medidas precisas da fidelidade baseada nos aspectos e limitações humanas. São matematicamente difíceis de se manusear e usar no projeto de codificadores. Medidas Objetivas: Matematicamente tratáveis. Não incorpora os aspectos da fidelidade perceptível do ponto de vista humano. TE073 – Processamento Digital de Sinais II

12 TE073 – Processamento Digital de Sinais II
Medida ótima? Aquela que modela matematicamente as limitações humanas. Porém essas limitações (de ordem biológica) são difíceis de se determinar matematicamente, logo usa-se aproximações e modelos. Ex.: Sistema Visual: modelo do olho e percepção de imagens e vídeo Sistema passa baixas com persistência temporal. Razão de Weber: Sistema Auditivo: modelo do ouvido e percepção de sons. Limitação 20Hz a 20KHz com resolução de 1000:1 1kHz a 20dB percepção semelhante a 50Hz a 50dB Mascaramento de nível sonoro e mascaramento espectral TE073 – Processamento Digital de Sinais II

13 TE073 – Processamento Digital de Sinais II
7.5. Teoria da Distorção pela Taxa Ex.: 2 se cruzando (MPEG1 e MPEG2) TE073 – Processamento Digital de Sinais II

14 TE073 – Processamento Digital de Sinais II
Problema: Como calcular a função Distorção(Taxa) R(D) ? - Resultado depende do modelo usado Ex.: Fonte Gaussiana e distorção medida pelo erro médio quadrático: TE073 – Processamento Digital de Sinais II

15 TE073 – Processamento Digital de Sinais II
A função R(D) da distribuição Gaussiana possui a propriedade de ser a maior função R(D) para qualquer outra distribuição que possua a mesma variância (2). Logo pode ser vista como um limite superior. Shannon demonstrou em seu artigo de 1948 que o limite inferior da função R(D) para uma variável aleatória contínua medida pelo erro médio quadrático, é dada por: Onde h(X) é a entropia diferencial da variável X TE073 – Processamento Digital de Sinais II

16 TE073 – Processamento Digital de Sinais II
Problema: Para sinais reais é difícil definir sua função distribuição de probabilidade e assim calcular h(X). Para distribuição Gaussiana: Prova-se que h(X) da distribuição gaussiana é maior que qualquer outra h(X) para a mesma variância (2). TE073 – Processamento Digital de Sinais II

17 TE073 – Processamento Digital de Sinais II
7.6. Modelos Modelos Probabilísticos Distribuição Uniforme: modelo da ignorância Distribuição Gaussiana: Mais usada Mais centrada em zero, Ex.: voz, dif. imagem Distribuição Laplaciana: Distribuição Gamma: Mais centrada ainda em zero, menos tratável TE073 – Processamento Digital de Sinais II

18 TE073 – Processamento Digital de Sinais II

19 TE073 – Processamento Digital de Sinais II
Modelos baseados em Sistemas Lineares Uma grande classes de processos podem ser modelados pela Equação de Diferenças: Onde xn são as amostras do processo que desejamos modelar e n é uma sequência de ruído branco. Em DSP nada mais é que um filtro digital com N pólos e M zeros. Em estatística é chamado um modelo média móvel autoregressivo (ARMA – Autoregressive Moving Average) ARMA(N,M) TE073 – Processamento Digital de Sinais II

20 TE073 – Processamento Digital de Sinais II
Se todos os bj forem zero. Fica apenas a componente autoregressiva. Que é um filtro IIR com apenas pólos (all-pole) e também chamado modelo autoregressivo de ordem N, AR(N), muito usado em compressão de voz. Como a amostra atual depende apenas das N amostras anteriores: Isto significa que um AR(N) é um processo de Markov de ordem N. Ver exemplos no livro. TE073 – Processamento Digital de Sinais II

21 TE073 – Processamento Digital de Sinais II
Modelos Físicos Modelos baseados na física da fonte do sinal. Geralmente complicados e não bem tratáveis matematicamente. Uma exceção é a geração de voz que será vista em detalhes oportunamente. TE073 – Processamento Digital de Sinais II

22 Quantização Escalar

23 TE073 – Processamento Digital de Sinais II
Quantização Escalar Definição: Representar uma infinidade de valores em um conjunto limitado de códigos; ou seja, poucos códigos de saída para muitos valores de entrada; Mais simples métodos de compressão com perdas; Ex: Valores de amostras entre -10 e 10: TE073 – Processamento Digital de Sinais II

24 TE073 – Processamento Digital de Sinais II
Quantização Escalar Esquema do quantizador: Representar o valor de cada entrada em uma saída com o valor do numero inteiro mais próximo: -2,47  -2,0 3,  3,0 4,5  4,0 ou 5,0 (aleatoriamente). TE073 – Processamento Digital de Sinais II

25 TE073 – Processamento Digital de Sinais II
Quantização Escalar Para os infinitos valores entre -10 a 10, o alfabeto de saída se reduz a apenas 21 valores: {-10,.....,0,.....,10} Quando um valor de saída é “3”, qual foi a sua entrada? 2.95 ? ? 2,51 ? TE073 – Processamento Digital de Sinais II

26 O Problema da Quantização
O compressor divide a faixa de entradas em intervalos, {-10,.....,0,.....,10}; Intervalo = palavra de código; Como vários valores de entrada podem cair em um mesmo intervalo, o código somente informa que a amostra pertence aquele intervalo. 8,01  código x1  8 8,20  código x2  8 7,51  código x3  8 TE073 – Processamento Digital de Sinais II

27 O Problema da Quantização
Esta perda de informação é irrecuperável; Também chamado de “Ruído de Quantização”. Como o código representa um intervalo, então o decodificador gera um valor que melhor represente os valores do intervalo. TE073 – Processamento Digital de Sinais II

28 TE073 – Processamento Digital de Sinais II
Quantização Escalar Quando as entradas são analógicas, o processo é também conhecido como “conversão analógico-digital” A/D. A reconstituição do código em valor analógico se chama “conversão digital-analógico” D/A. Aplicação mais conhecida: Digitalização de áudio, PCM30 (telefonia) TE073 – Processamento Digital de Sinais II

29 TE073 – Processamento Digital de Sinais II
Quantização Escalar Códigos Saída ,5 ,5 ,5 ,5 ,5 ,5 ,5 ,5 Definição dos intervalos de entrada e os respectivos códigos. Valores de saída para os códigos (níveis de reconstrução). TE073 – Processamento Digital de Sinais II

30 TE073 – Processamento Digital de Sinais II
Quantização Escalar Ex: f(t) = 4.cos(2t), com amostras a cada 0,05 s TE073 – Processamento Digital de Sinais II

31 TE073 – Processamento Digital de Sinais II
Ruído de Quantização Definição: q2 = msqe: é a média quadrada da diferença entre a entrada [x] e a saída [y = Q(x)] do quantizador. onde: fX(x) = função probabilidade da entrada M = número de intervalos msqe = mean squared quantization error. TE073 – Processamento Digital de Sinais II

32 TE073 – Processamento Digital de Sinais II
Taxa do Quantizador Para palavras código fixas, o próprio comprimento do código especifica a taxa do quantizador. Se o número de saídas do quantizador é M então a taxa é dada por: R = log2M Em códigos de tamanhos variáveis, a taxa é função da probabilidade de ocorrência de cada código, e do seu respectivo comprimento[ li ]: TE073 – Processamento Digital de Sinais II

33 TE073 – Processamento Digital de Sinais II
Quantizador Uniforme Intervalos igualmente espaçados (entrada e saída) Idem para os limites de decisão e valores de reconstrução. Espaço =  Quantizador Midrise Não possui o nível “0” Número de saídas pares Quantizador Midtread Possui o nível “0” Número de saídas impares TE073 – Processamento Digital de Sinais II

34 Quantizador Uniforme e Fonte Uniforme
Fonte uniformemente distribuída pelo intervalo. Intervalo [ -Xmax , Xmax ] dividido em M partes iguais () Ruído de quantização para fonte uniforme: q = x - Q(x) TE073 – Processamento Digital de Sinais II

35 Quantizador Uniforme e Fonte Uniforme
O ruído de quantização se torna: Assumindo que a variância dos valores de entrada no intervalo [ -Xmax , Xmax ] é: TE073 – Processamento Digital de Sinais II

36 Quantizador Uniforme e Fonte Uniforme
SNR: Signal Noise Ratio ou Razão Sinal Ruído: SNR = 6,02.n [dB] A cada bit adicionado (n) no quantizador, ocorre um aumento de 6,02 dB na razão sinal ruído. A cada bit retirado do esquema do quantizador, o ruído inserido é 4 vezes maior que o esquema anterior. TE073 – Processamento Digital de Sinais II

37 TE073 – Processamento Digital de Sinais II
Compressão de Imagens Modelo de probabilidade para imagens: quase impossível Aproximação  Pixels distribuídos entre: 0 e 2b-1, onde b é o número de bits por pixel. Assume-se que os valores dos pixels variam de 0 a 255. 1 bit/pixel  dividir [0, 255] em [0, 127] e [128, 255]; com limites de decisão [0, 128, 255] e valores de reconstrução {64, 196}. 2 bit/pixel  limites de decisão [0, 64, 128, 196, 155] e valores de reconstrução {32, 96, 160, 224}. TE073 – Processamento Digital de Sinais II

38 TE073 – Processamento Digital de Sinais II
Imagem Original 1 bit/pixel 3 bits/pixel 2 bits/pixel TE073 – Processamento Digital de Sinais II

39 TE073 – Processamento Digital de Sinais II
Nota-se que para distribuições não uniformes, a divisão das entradas e saídas em partes igualmente separadas não é satisfatória. TE073 – Processamento Digital de Sinais II

40 TE073 – Processamento Digital de Sinais II
Erros de Combinação  ideal Modelos de distribuição Parâmetros da distribuição { Diferenças entre os modelos escolhidos e os modelos reais. 1º caso: Variância assumida  Variância real. 2º caso: Modelo de distribuição  Tipo do quantizador. TE073 – Processamento Digital de Sinais II

41 TE073 – Processamento Digital de Sinais II
Erros de Combinação Variância assumida  Variância real. Quantizador uniforme com distribuição Gaussiana TE073 – Processamento Digital de Sinais II

42 TE073 – Processamento Digital de Sinais II
Erros de Combinação Modelo do quantizador não casa com o modelo da distribuição TE073 – Processamento Digital de Sinais II

43 Quantização Adaptativa
Eliminar problemas de erros de combinação Adaptar o quantizador () em relação à estatística da fonte. Método I: Forward Adaptive Quantization Método II: Backward Adaptive Quantization TE073 – Processamento Digital de Sinais II

44 Forward Adaptive Quantization
Passos: Fonte dividida em blocos de dados, Parâmetros analisados e ajustados antes da quantização, Dados + ajustes enviados. Desvantagens: Atraso por processamento dos blocos, Envio de informação lateral. Ponto ótimo entre: Blocos pequenos  Muita informação lateral Blocos extensos  Demora no processamento TE073 – Processamento Digital de Sinais II

45 TE073 – Processamento Digital de Sinais II
Exemplo 8.5.1: Palavra “test”, digitalizada com 8000 amostras/s e 16 bits/amostra. Comprimida com quantização de 6 níveis (3 bits). Quantização uniforme. Perda de resolução na amplitude. TE073 – Processamento Digital de Sinais II

46 TE073 – Processamento Digital de Sinais II
Blocos de 128 amostras Obtenção do desvio padrão dos blocos e quantizado com 8 bits. Amostras normalizadas com o desvio padrão. TE073 – Processamento Digital de Sinais II

47 TE073 – Processamento Digital de Sinais II
Exemplo 8.5.2: Blocos de 8 x 8 pixels, 3 bit Forward Adaptive Uniform Quantization, Informação lateral: Valores máximos e mínimos dos bloco (8x8) = 8 bits. 3 bits/pixel TE073 – Processamento Digital de Sinais II

48 Backward Adaptive Quantization
Análise de amostras quantizadas antigas. Como obter informação de erro somente com a saída do quantizador, e sem conhecer o valor da amostra original? A noção do erro na distribuição das saídas se dá por uma extensa análise da própria saída do quantizador. TE073 – Processamento Digital de Sinais II

49 Backward Adaptive Quantization
Quando a distribuição de entrada combina com o quantizador, tem-se o  ideal. Caso contrário, varia-se o tamanho de . Se  < ideal, a maioria das amostras incidirão nos níveis mais elevados do quantizador,   . Se  > ideal, a maioria das amostras incidirão nos níveis mais baixos do quantizador,   . Outros: Ex.: Quantizador de Jayant TE073 – Processamento Digital de Sinais II

50 Quantização Não Uniforme
Distribuição concentrada próximo à origem Vantagem: Reduz a distorção onde a distribuição é mais densa (mais informação). Desvantagem: Erros maiores na região de baixa probabilidade de amostras. TE073 – Processamento Digital de Sinais II

51 Quantização Não Uniforme
 menor na região próxima à origem,  aumenta ao se afastar da origem, Quanto mais afastado da origem, maior o ruído de quantização. Porém o seu msqe é menor que em um quantizador uniforme. Construção mais complexa, Definir os limites de decisão e níveis de reconstrução que minimizam o msqe. TE073 – Processamento Digital de Sinais II

52 Quantização Não Uniforme
TE073 – Processamento Digital de Sinais II

53 Quantização Ótima ou Lloyd-Max
Encontrando {yj} e {bi}: Os valores de reconstrução são os centros das probabilidades em um determinado intervalo. Os limites de decisão são os pontos centrais entre dois valores de reconstrução vizinhos. Como estimar fX(x)? TE073 – Processamento Digital de Sinais II

54 Companded Quantization
Variar  proporcionalmente à probabilidade da distribuição. A entrada é mapeada por uma função compressora Expande as regiões onde a probabilidade é maior e encolhe onde é menor. Quantizada por um quantizador uniforme. Para a saída os valores quantizados são expandidos para voltar voltar à sua forma original. TE073 – Processamento Digital de Sinais II

55 Companded Quantization
Função similar à do quantizador não uniforme. TE073 – Processamento Digital de Sinais II

56 TE073 – Processamento Digital de Sinais II
Padrões conhecidos: Lei  Compressão em 8159 intervalos de igual amplitude Fator de compressão 0 ~ 255 Usado em Telefonia  = 255 EUA e Japão Lei A Compressão em 4096 intervalos de igual amplitude Fator de compressão 1 ~ 100 Usado em Telefonia A = 87,6 Europa e Brasil TE073 – Processamento Digital de Sinais II

57 Entropy-Coded Quantization
Atribuição de códigos aos intervalos de quantização. Taxa do quantizador é o fator de desempenho do processo. Loyd-Max Para um quantizador Lloyd-Max de 32 níveis é preciso: 5 bits por amostra se a taxa for constante, 3,799 (entropia) para distribuição Laplaciana. TE073 – Processamento Digital de Sinais II

58 QUANTIZAÇÃO VETORIAL

59 Claude Shannon ”Eu quis saber apenas como as coisas foram unidas."
TE073 – Processamento Digital de Sinais II

60 TE073 – Processamento Digital de Sinais II
Quantização Vetorial Vimos que em codificação sem-perdas, a codificação de sequências de símbolos é mais eficiente que a codificação dos símbolos independentemente. Em codificação com perdas temos a mesma idéia. Isto é: Para uma dada Taxa temos menor Distorção Para uma dada Distorção temos uma menor Taxa TE073 – Processamento Digital de Sinais II

61 TE073 – Processamento Digital de Sinais II
Procurar tirar vantagem da estrutura da fonte. Vetor = sequência ou blocos de amostras Vetor L-dimensional corresponde a L amostras do sinal a ser codificado. Dicionário de Códigos : CodeBook Codewords (ou Codevectors) de Tamanho K e Dimensão L TE073 – Processamento Digital de Sinais II

62 Quantização Vetorial - Funcionamento
Na quantização de vetorial nós agrupamos a saída em blocos ou vetores. Por exemplo, nós podemos tratar L amostras sucessivas de fala como sendo as componentes de um vetor L-dimensional. Ou, nós garmazenamos em um bloco de l pixels de uma imagem e tratamos cada valor de pixel como um componente de um vetor de tamanho ou dimensão L. Este vetor de saída irá compor o nosso vetor quantizado (vector quantizer). Ao codificador e decodificador do vetor quantizado (vector quantizer), nós temos um conjunto de vetores de L-dimensão chamado de codebook do vetor quantização (vector quantizer). Os vetores deste codebook, conhecido como código-vetores, é selecionado a representação dos vetores gerados da fonte do arquivo. Cada código-vetor é nomeado com um índice binário. Ao codificar, o vetor de contribuição este é comparado a cada código-vetor para achar o código-vetor mais próximo ao vetor de entrada. Os elementos deste código-vetor são os valores quantizados da saída da entrada. Para informar ao decodificador sobre o qual código-vetor foi definido ao vetor de entrada, transmitimos ou armazenamos o índice binário do código-vetor. Porque o decodificador tem exatamente o mesmo codebook Uma representação pictórica deste processo é mostrada em Figura 9.1. Codificação: Agrupamento das amostras; Busca da “melhor” Codeword; Transmissão do Índice do Codebook; Decodificação: Lookup Table; Desagrupamento; TE073 – Processamento Digital de Sinais II

63 TE073 – Processamento Digital de Sinais II
Algumas definições Unidade de medida bits por amostra; Tamanho do codebook K; Dimensão do vetor de entrada L; Exemplo: Codebook C com K Codewords; O número de bits por vetor : log2K; Taxa de quantização de (log2K)/L [bits/amostra] Medida de distorção: usaremos o erro quadrático; A codeword Yj será a melhor representação do vetor X se: TE073 – Processamento Digital de Sinais II

64 TE073 – Processamento Digital de Sinais II
Vantagem da Quantização Vetorial sobre a Escalar EXEMPLO: Entrada (peso, altura); Peso: variação uniforme, 40~80; Altura: variação uniforme de 40~240 Quantização Escalar: bits = 6 bits Quanto a distorção? Quanto a eficiência? Flexibilidade? TE073 – Processamento Digital de Sinais II

65 O algoritmo de Lloyd Quantização Escalar
1- Comece com um conjunto inicial de valores de reconstrução onde: fixa-se k=0, D(0)=0 . Define-se o Threshold  2- Determine os limites de decisão: j= 1, 2, 3 , ..., M-1. 3- Compute a distorção: 4- Se D(k)-D(k-1)<, pare, caso contrário, continue; 5- k=k-1, Calcular os novos valores de reconstrução; Volte ao passo 2; TE073 – Processamento Digital de Sinais II

66 Generalização do Algoritmo de Lloyd (GLA) Quantização Vetorial
1- Comece com um conjunto inicial de valores de reconstrução {Yi(0)}i=1M onde: fixamos k=0, D(0)=0. Definindo-se o Threshold . 2- Determine a região de quantização: Vi(k)={X:d(x,Yi) < d(X,Yi) ji} i=1, 2, ..., M-1; 3- Determine a distorção: 4- Se: ; pare, caso contrario, continue; 5- K=K+1. Determinar os próximos valores de reconstrução para {Yi(k)}i=1M como as centróides do conjunto {Vi(k-1)} Retorne ao passo 2. TE073 – Processamento Digital de Sinais II

67 O Algoritmo Linde-Buzo-Gray (LBG)
- Publicado em 1980 É uma implementação prática do Algoritmo de Loyd Generalizado; Semelhante ao K-Means TE073 – Processamento Digital de Sinais II

68 TE073 – Processamento Digital de Sinais II
Algoritmo K-means Muito usado em Reconhecimento de Padrões Definição: Seja um grande conjunto de amostras, chamada sequência de treino (ST) e um conjunto de k amostras representativas desta ST. Aloque a cada amostra da ST a uma das k amostras representativas, através de alguma medida de distância. Atualize o valor das k amostras representativas pela centroide (média) dos vetores que foram alocadas a cada uma. TE073 – Processamento Digital de Sinais II

69 TE073 – Processamento Digital de Sinais II
Treinado os vetores 1- Comece com um conjunto inicial de valores de reconstrução {Yi(0)}i=1M e os vetores de treinos {xn}n=1N, defina k=0, D(0)=0. Define-se o Threshold  2- As região de quantização: {Vi(k)}i=1M são dadas por Vi(k)={Xn : d(xn,Yi) < d(Xn,Yi) ji} i=1, 2, ..., M; obs: Assumimos que nenhuma das regiões de quantização estão vazias 3- Determine a distorção média D(k) entre os vetores de treino e o valor de reconstrução; 4- Se: ; pare, caso contrario, continue; 5- k=k+1. Calcule novos valores de reconstrução {Yi(k)}i=1M como a média dos vetores de cada região de quantização {Vi(k-1)} Retorne ao passo 2. TE073 – Processamento Digital de Sinais II

70 TE073 – Processamento Digital de Sinais II
Inicialização do LBG Um dos problemas encontrados é que o codebook projetado é extremamente dependente do conjunto inicial escolhido. Alternativas para a inicialização: Vetores Randômicos Escolha randômica a partir da ST Pairwise Nearest Neighbor (PNN) Split (proposto em conjunto com o LBG) TE073 – Processamento Digital de Sinais II

71 TE073 – Processamento Digital de Sinais II
Exemplo do algoritmo LBG com Split. Vetores de treino dentro da região rosa. TE073 – Processamento Digital de Sinais II

72 Problema que pode aparecer no LBG
Surgimento de região vazia = nenhum vetor alocado à codeword Solução: substituir a codeword por outra que atenda a um dos critérios: Seleção da centróide da região com maior número de vetores Seleção da centróide da região com maior distorção (MSE) Para que seja spliteada. TE073 – Processamento Digital de Sinais II

73 Uso do LGB na compactação de imagem
- Utilização de blocos de pixels de tamanho NxM - Vetor de treinamento dimensão L=N.M com N=M TE073 – Processamento Digital de Sinais II

74 Quantização da imagem Sinan
-Dimensão do vetor = Blocos de 4x4 pixeis; - Codebook de tamanho 64, 256, e 1024 TE073 – Processamento Digital de Sinais II

75 TE073 – Processamento Digital de Sinais II

76 TE073 – Processamento Digital de Sinais II
Taxa de compressão para cada codebook; índice: (log2 k) bits; L : dimensão do vetor taxa (log2 K)/L bits/pixel Coodebook: BxLxK bits imagem: 256x256 pixels TE073 – Processamento Digital de Sinais II

77 TE073 – Processamento Digital de Sinais II
Como definir a Sequência de Treino? TE073 – Processamento Digital de Sinais II

78 Problemas da Quantização Vetorial
A teoria da Distorção pela Taxa de Shanon diz que, para uma mesma taxa, quanto maior a sequência (dimensão) menor é a distorção. Isso implica que: codificar com codebook de L=8 e k=16 (0.5 bits/amostra) gera mais distorção que usar um codebook de L=20 e k=1024 (0.5 bits/amostra) Se quisesse: 4x4 pixels a 2 bits/pixel: qual K? Problemas: Aumento da memória necessária ao Codebook Aumento da complexidade computacional na codificação TE073 – Processamento Digital de Sinais II

79 TE073 – Processamento Digital de Sinais II
Soluções Métodos de Busca Rápida da melhor codeword Distância Parcial (codebook ordenado) Desigualdade Triangular (pontos de âncora) KD-Tree (pode errar!) outros... Quantização Vetorial Estruturada: Tree-Structured VQ Piramid VQ Lattice VQ TE073 – Processamento Digital de Sinais II

80 TE073 – Processamento Digital de Sinais II
Variações sobre VQ Gain-Shape VQ Normalizar as codewords e enviar, além do índice, o Ganho a ser usado quantizado escalarmente. Mean-Removed VQ Retirar a Média das codewords e enviá-la quantizado escalarmente. TE073 – Processamento Digital de Sinais II

81 TE073 – Processamento Digital de Sinais II

82 TE073 – Processamento Digital de Sinais II
Classified VQ Classificar a entrada em classes definidas e treinar um codebook para cada classe. (ex.: bordas e homogêneo) Q1 Q2 Vetor índice1+indice2 Q3 Q4 Classificador TE073 – Processamento Digital de Sinais II

83 TE073 – Processamento Digital de Sinais II
Multistage VQ Usar cascata de VQs para quantizar os erros das etapas anteriores TE073 – Processamento Digital de Sinais II

84 TE073 – Processamento Digital de Sinais II
Adaptive VQ Codebook Adaptativo Conjunto de Codebooks Forward e Backward approaches Entropy Coded VQ índices do codebook codificados com códigos de tamanho variável, dependente da probabilidade de ocorrência. TE073 – Processamento Digital de Sinais II


Carregar ppt "Conceitos Básicos em Codificação com Perdas"

Apresentações semelhantes


Anúncios Google