78
TV Digital 2006/7 1 TV Digital 4 Algumas técnicas de compressão de fontes digitais audiovisuais Parte 1

TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

1

TV Digital 4

Algumas técnicas de

compressão de fontes

digitais audiovisuais

Parte 1

Page 2: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

2

Introdução

�Compressão consiste em representar a

informação àsaídada fonte por um

número mínimo de símbolos a transmitir,

por forma a ajudar a modulação a poupar

largura de banda.

�Descompressão faz a operação inversa.

�As operações de compressão e

descompressão também se designam

por codificação e descodificação.

Page 3: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

3

Introdução

�Existem claras diferenças entre os algoritmos

usados em áudio e em imagem ou vídeo,

apesar de existirem aspectos comuns.

�Algoritmos de compressão e descompressão

dividem-se em com perdase sem perdas.

�Sem perdassignifica que na descompressão

ainformação original érecuperada sem

qualquer erro (ex: zip,…)

Page 4: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

4

Introdução

�Com perdasse existe alguma perda de

informação, a qual deveráser tão pequena

quantofor exigido pela aplicação (deve

garantir qualidade aceitável).

�Quando háperda esta évista como uma

distorção da informação original que se

mede ou através da variação do SNR ou

através de um MSE (erro médio quadrático)

sendo o erroa diference entre os sinais

antes e depois da codificação

/descodificação.

Page 5: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

5

Introdução

�Por vezes medidas objectivas não são

suficientes e existemtécnicas de avaliação

subjectiva muito sofisticadas que garantem

uma correcta avaliação dos resultados.

�Estas são em geral baseadas em

experiências de utilizadores escolhidas de

forma bem controlada e em ambientes de

apresentação igualmente controlados. Há

normas para isso.

Page 6: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

6

Introdução

�Características mais importantes de um

código,são

�Eficiência outaxa de compressão, medida pela

relação entre os tamanhos dos ficheiros antes

e depois da compressão

�complexidade, que se pode medir de várias

formas tendo em vista a dificuldade de efectuar

as operações correspondentes em hardware

ou software

�atraso introduzido no sinal

Page 7: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

7

Introdução

�Vamos fazer uma breve caracterização,

das técnicas mais importantes utilizadas

sem contudo fazermos o seu estudo

teórico detalhado pois isso ocuparia muito

tempo.

�Existe técnicas de compressão aplicadas

aos sinais de áudio e vídeo amostrados e

outras técnicas, mais gerais aplicáveis a

qualquer fonte digital.

Page 8: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

8

Quantização

�Primeira forma de comprimir está

associada àquantização. A redução do

número de bits/amostra, reduz o débito

final mas varia a precisão da

representação, ou seja, menos bits

implicam maior erro ou menor SNR (ruído

de quantização). Jáviram em Tele1 e 2.

Page 9: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

9

APCM

�APCM (adaptivePCM) éuma técnica

importante em algumas normas de áudio.

�Pretende reduzir impacto do ruído de

quantificação nos sinais de pequena

amplitude (quando comparada com a

amplitude aceite pelo quantizador).

Page 10: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

10

APCM

�Para compreendermos o diagrama de

blocos seguintes háque definir alguns

blocos:

Z-1 L L

Atraso

Decim

ador

Interpolador

S(n)

S(n)

S(n)

S(n-1)

S(nL) -divide por

L o núm

erode amostras

àentrada

y(n)=s(k) se k=

n/L

=0 noutroscasos-aumentaL vezes

númerode amostras

introduzindo

0s.

Page 11: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

11

APCM -codificador

Z-1

Z-1

Z-1

4 4 4 4

MAX

X X X X Q

( )-1

Coder

Q Q Q Q

SinalPAM []ix

Page 12: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

12

APCM -codificador

�Legenda de blocos

MAX

Colocana

saídavalor máxim

odas quatro

entradas

Q ( )-1

Quantizador

Inverso

Coder

ConverteA/D e colocaem

série

Page 13: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

13

APCM -descodificador

Z-1

Z-1

Z-1

4 4 4 4

X X X X

D/A

De-

Coder

D/A

D/A

D/A

D/A

++ +

SinalPAM

aproximado

[]ix

Page 14: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

14

APCM

�Amostras são reduzidas ao mesmo intervalo

de valores antes de entrarem no A/D,

reduzindo o impacto do ruído de

quantificação.

�Inclusão do valor máximo aumenta o débito

mas aumentando o número N de amostras

considerado de cada vez pode aumentar-se

a eficiência. Se exagerarmos o valor máximo

pode deixar de ser representativo do

comportamento das amostras, comprome-

tendoo resultado.

Page 15: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

15

APCM

�Hámais alguns truques que podem fazer-

se para aumentar o ganho mas não os

veremos.

�Existem ainda as técnicas que já

conhecem do DPCM e da modulação

delta, com menos interesse nas

aplicações que aqui vamos considerar.

Page 16: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

16

Codificação de fontes

discretas

�Vamos descrever algumas técnicas

muito frequentemente utilizadas nas

mais variadas normas. Codificam fontes

discretas sem perdas.

�Run-lengthcoding(RLC)

�Shannon-Fanocoding(SFC)

�Huffmancoding

�Ziv-LempleCoding

�Arithmeticcoding

Page 17: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

17

RLC

�Consiste em, sempre que um símbolo é

repetido, em vez de o enviar repetidamente,

enviar o número de vezes e o símbolo só

uma vez.

�Exemplo:

�$$$$&&&&$$$$$$$$$&&&&&&&.. viria

4$4&9$7&…

�Usado em fax onde hámuitas zonas

brancas

Page 18: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

18

SFC

�Shannone Fano descobriram que a taxa de

compressão aumenta se se maximizar a

entropia. Assim descobriram uma forma de

codificar que depende das probabilidades

dos símbolos. A ideia estáem associar aos

símbolos mais prováveis códigos mais

curtos.

�Regras a adoptar são explicadas a seguir:

Page 19: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

19

SFC

�colocar símbolos por ordem de probabilidades

decrescentes

�dividir os símbolos em dois grupos com

probabilidades totais aproximadamente iguais entre

si

�codificar o primeiro grupo com 0 e o segundo com 1

�continuar assim atéterminar

Page 20: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

20

SFC

�Exemplo

sìmbolo

Proba.

código

S3

0,3

000

s20,21

101

s10,19

0100

s00,1

1101

s60,07

01100

s50,05

11101

s40,05

01110

s70,03

11111

0 1

0 1

0 1

Este código in

sere-se na classe dos códigos de com

prim

ento

variável. E

xige-se o conhecim

ento àprioridas probabilidades

dos símbolos.

Page 21: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

21

Huffman

�O método anterior não éóptimo. O método

desenvolvido por Huffmanpara atingir o

mesmo objectivo émais eficiente. Tem os

seguintes passos:

�Efectuar uma lista de probabilidades dos diferentes

símbolos

�Associar os dois nós com menor probabilidades e

gerar um novo nócom a soma dos dois

�Marcar os ramos superiores com o um e os outros

com 0

�continuar atéficar sóum nó

Page 22: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

22

Huffman

�Exemplo:

P(s1) = 0,19

P(s2) = 0,21

P(s3) = 0,3

P(s4) = 0,05

P(s5) = 0,05

P(s6) = 0,07

P(s7) = 0,03

P(s0) = 0,1

0,08

0,18

0,12

0,30

0,60

0,40

1,0

1 0

1 0

1 0

1 0

1 01 0

1 0

11 10 01 0001

00101

00100

0011

0000

Lêem-se os 0s e 1s no ca-

minho

da saída para cada

símbolo

Page 23: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

23

Huffman

�Também exige conhecimento àprioridas

probabilidades dos símbolos.

�Émuito frequente por ser simples de

implementar

Page 24: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

24

Ziv-Lem

ple

�Código baseado num dicionário sendo

mandados somente as referências no

dicionário. Pode ser um dicionário estático

ou um dicionário construído dinamicamente

a partir dos símbolos recebidos.

�O código de Ziv-Lempleutiliza um

dicionário dinâmico. Muito utilizado em

computação (Ziv-Lemple-Welch) que éo

compressdo UNIX.

Page 25: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

25

Ziv-Lem

ple

�O formato de imagem TIFF (TagImage

Format) suporte o Ziv-Lemple. Idemo fax.

�A ideia básica éque a parte a ser

transmitida pode ser substituída por uma

referência a uma anterior ocorrência da

mesma sequência, fazendo a actualização

do dicionário.

�O dicionário vai crescendo sempre atéficar

cheio e a partir daíéestático

Page 26: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

26

Ziv-Lem

ple

�Dicionário fixo tornaa codificação menos

eficiente. Esta éumalimitação deste

algoritmo.

�Háalgumas variantes de codificação.

�Tem a vantagem de a descodificação ser

muito rápida pois basta consultar uma

tabela.

�Para mais detalhe consultar publicação

Sílvio Abrantes(edições FEUP).

Page 27: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

27

Arithmetic coding

�Éuma alternativa para gerar códigos de

comprimento variável muito recente e

eficiente, sendo adaptativa(adapta-se a

eventuais alterações das probabilidades de

ocorrência dos símbolos).

�Esta forma mais eficiente éusada em

algumas normas tais como JPEG, JBIG e

em algumas variantes mais recentes

MPEG.

Page 28: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

28

Arithmetic coding

�A mensagem éenviada sob a forma de um

número real entre 0 e 1.

�Para compreender o processo vejamos um

exemplo.

�Sejam 4 os símbolos a transmitir -00, 01, 10,

11 e as suas probabilidades de ocorrência

respectivamente 0,1, 0,4, 0,2 e 0,3.

�Definem-se os 4 intervalos de codificação

iniciais com base nas probabilidades

[[[

[[[[

[0.1,7.0,

7.0,5.0,

5.0,1.0,

1.0,0

Page 29: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

29

Arithmetic coding

�Imaginemos que transmitíamos a seguinte

sequência de símbolos

10 00 11 00 10 11 01

�Recebido o primeiro símbolo selecciona-se o

primeiro intervalo. Ao receber o segundo

subdivide-se o primeiro intervalo de igual

modo e selecciona-se a subdivisão

correspondente, etc.

�O resultado vê-se na figura seguinte

Page 30: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

30

Arithmetic Coding

1,0

0,7

0,52

0,52

0,5146

0,51442

0,51442

0,0

0,5

0,5

0,514

0,514

0,5143

0,514384

0,5143948

0,51439

1000

1100

1011

01SAÍDA

Page 31: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

31

Arithmetic Coding

�Mandando um elemento do intervalo

final o descodificador pode fazer o

cálculo inverso e determinar os

símbolos enviados.

�Este método estálimitado pela

precisão do sistema utilizado na

representação dos números reais.

�Podem ser estáticos ou dinâmicos

Page 32: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

32

Arithmetic Coding

�Nos estáticos mantém-se sempre os

mesmos intervalos correspondentes à

distribuição de probabilidades dos

símbolos àentrada.

�Nos dinâmicos as probabilidades vão

sendo alteradas analisando os símbolos

transmitidos, dando a este código grande

capacidade de adaptação.

Page 33: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

33

Fontes Analógicas

�Todos estes códigos que acabamos de

ver se aplicam a fontes discretas e têm

como objectivo encontrar códigos de

comprimento variável para descrever

os “streams”com mínimo débito.

�Vamos voltar a técnicas aplicar às

amostras de sinais analógicos a 1 ou 2

dimensões

Page 34: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

34

Quantificação Vectorial

�Nesta técnica (VQ do inglês)procede-se à

quantizaçãonão de uma grandeza

escalar mas de um conjunto delas.

Podem ser um conjunto de amostras de

uma sinal de áudio ou um conjunto de

amostras de pixels de uma imagem.

�Esta operação feita sobre um vector

(conjunto numerado de amostras) émuito

mais eficiente.

Page 35: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

35

Quantificação Vectorial

�A VQ explora a correlação entre amostras

vizinhas. De facto codificar não émais que

encontrar numa base um vector próximo do

que se pretende transmitir, transmitindo-se

então não o vector mas o seu índice nessa

base.

�O segredo estáem

•escolher a forma de comparação com o codebook

•construir um codebook(óptimo)

•reduzir a complexidade da busca no codebook

Page 36: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

36

Quantificação Vectorial

Codificador

Matching

Codebook

v o v 1 … v N-1

Vector

amostras

Índices

1 porcada

vector

Descodifi

cador

Codebook

v o v 1 … v N-1

Vector

amostras

aproximado

Codificador

Descodificador

Page 37: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

37

Quantificação Vectorial

�Taxa de compressão R medida em

bit/símbolo édada por

se for L o número de elementos do

codebooke N o número de símbolos que

integra um vector

�Um bom sistema pode funcionar com

menos de 1 bit/símbolo, o que é

impossível num quantificador escalar.

()

N

LR

2log

=

Page 38: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

38

Quantificação Vectorial

�Um grande codebookaumenta a precisão mas

aumenta também o tamanho requerido para o

índice e a complexidade da pesquisa.

�Codebookédesenhado com algoritmos

poderosos que se aplicam a sequências de

treino representativas das grandezas a codificar.

�A definição do codebookénormalmente feita de

forma iterativa, em sequências de treino,

procurando encontrar vectores que garantam

um distorção média reduzida.

Page 39: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

39

Quantificação Vectorial

�Existem vários algoritmos para esta

operação de definição do codebook.

�Complexidade e atraso do codificador

depende do algoritmo de procura do

elemento mais próximo do codebook.

�Hámuitos subtiposde VQ: hierárquica,

classificada, multi-étapa, preditiva, pesquisa

rápida, etc. Todas correspondem a

respostas diferentes ao problema da

pesquisa rápida.

Page 40: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

40

Quantificação Vectorial

�Aplica-se a imagens divididas em blocos.

Estes não devem ser muito grandes sob

pena de se ter que usar codebooksmuito

grandes e pesquisas muito complexas na

codificação.

�Descodificação ésempre trivial pois basta,

usando o índice recebido, recuperar a

palavra do codebookcorrespondente.

Page 41: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

41

Codificação em subbandas

�Esta técnica consiste na decomposição da

representação da fonte no domínio das

frequências em diversas subbandas

estreitas tratadas separadamente.

�Dado que cada uma das bandas terá

emgeralcaracterísticas específicas, estas

são tratadas de forma adaptada, o que

permite obter economias no conjunto.

Page 42: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

42

Codificação em subbandas

�Se o banco de filtros a usar for desenhado

com determinadas propriedades, o sinal

separado pode ser posteriormente recuperado

sem erro.

�Um tipo de filtros que faz essa operação com

as propriedades adequadas éo QMF (Linear

PhaseQuadratureMirrorFilter)

Page 43: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

43

Codificação em subbandas

�Um codificador com compressão implica

�usar estes filtros na entrada

�adoptar uma estratégia de alocação de bits a

transmitir pelas diferentes bandas

�definir um quantizadorpor subbanda

�definir um codificador VLC para cada banda

�Vejamos em esquema

Page 44: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

44

Codificação em subbandas

QMF´s

k k k k

Q1

Q2

Q3

Qk

VLC

VLC

VLC

VLC

MUX

Codificador

Page 45: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

45

Codificação em subbandas

QMF-1´s

k k k k

R1

R2

R3

Rk

VLC

-1

VLC

-1

VLC

-1

VLC

-1

De-

MUX

Descodificador

Page 46: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

46

Codificação em subbandas

�Esta técnica aplica-se em

�áudio tratando diferentemente diferentes zonas

do espectro que não ouvimos da mesma forma

•MPEG1 usa banco de 32 filtros de banda, seguidos de

decimadores1/32

•codec7kHz usando bandas desiguais

QMF

QMF

QMF

QMF

QMF

kHz

Banda

875

,00

1−

kHz

Banda

75,187

5,0

2−

kHz

Banda

5,375,1

3−

kHz

Banda

25,55,3

4−

kHz

Banda

0,725,5

5−

Áudio

(0,7kH

z)

Page 47: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

47

Codificação em subbandas

�em vídeo, separando diferentes resoluções da

imagem, tratadas de forma diferenciada de

acordo com a sensibilidade da visão e a

aplicação em vista.

�Compressão consegue-se se tivermos em

conta a diferença de sensibilidade humana às

diversas camadas (Codificação perceptual).

Page 48: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

48

Codificação por

transformadas

�Usam-se transformadas ortogonais para

converter grupos de símbolos. Um grupo

de N símbolos éconvertido num vector

que étransformado num outro vector

por aplicação de uma transformada T,

representada por uma matriz M

T.

�A matriz M deve ser ortogonal de tal

modo que M

T=M-1

xy

Page 49: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

49

Codificação por

transformadas

�Os vectores a codificar podem ser

sequências de amostras em áudio, ou

um bloco de pixels numa imagem, em

geral um bloco com forma quadrada ou

rectangular (8x8).

�Na prática em todos os sistemas que

usam transformadas, os coeficientes

obtidos são quantificados antes de

serem transmitidos

Page 50: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

50

Codificação por

transformadas

�Assim teremos

yde

partir

ado

reconstruí

vector

x

yM

x

quantizado

vector

y

Mx

y

ˆˆ

ˆˆˆ

1−==

Page 51: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

51

Codificação por

transformadas

MQ

x

xy

y

M-1

y

Page 52: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

52

Codificação por

transformadas

�O erro de quantificação édado por

�Pensando numa imagem éfácil intuir a forma

como uma transformada tipo DFT pode ser

quantificada. Reduzir precisão altas

frequências tem menos impacto que dc...

yxy

eM

xx

e

erro

um

saída

na

origina

que

yy

e

1ˆˆ

−=

−=

−=

Page 53: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

53

Codificação por

transformadas

�Se conhecermos a estatística dos sinais a

codificar podemos encontrar uma

transformada óptima. O problema éque isso

não épossível e acontece mesmo que os

sinais não são estacionários.

�Hámuita teoria e muitas transformadas.

Vamos concentrar atenção na codificação de

imagem e na transformada DCT, actualmente

mais usada em TV.

Page 54: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

54

Codificação por

transformadas

�A técnica habitual consiste em dividir a

imagem em blocos de pixels, normalmente

8x8 pixels, aplicar uma transformada a cada

bloco, quantificar os coeficientes com uma

estratégia apropriada, e para concluir aplicar

um código VLC.

Page 55: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

55

Codificação por transformadas

Dividirem

blocos

Transfor-

mada2D

Q

VLC

Imagem

bits

Com

binar

blocos

Transfor-

mada

Inversa

Q-1

VLC

-1Im

agem

bits

CODIFIC

ADOR

DESCODIFICADOR

Page 56: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

56

Codificação por

transformadas

�Transformada DCT (DiscreteCosine

Transform)

�Trata-se de uma transformada que gera

coeficientes bastante pouco correlacionados,

que se conseguiu fazer funcionar muito bem

neste esquema de codificação com fotografias

ou imagens de vídeo.

�Transforma um grupo de NxN

pixels em igual

número de coeficientes. A sua definição

analítica éa seguinte.

Page 57: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

57

Transformada DCT

�Transformada directa DCT-bloco MxN

pixel

[]

[]

[]

()

()

[]

01

021

021

,

2

12

cos

2

12

cos

,,

22

,1 0

1 0

=

==

=

+

+

=∑∑

− =

− =

je

ise

jou

ise

ji

se

ji

k

N

jn

M

im

nm

pj

ik

NM

ji

cM m

N n

ππ

Page 58: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

58

Transformada DCT

�Transformada inversa IDCT

[]

[][

](

)(

)

[]

01

021

021

,

2

12

cos

2

12

cos

,,

22

,1 0

1 0

=

==

=

+

+

=∑∑

− =

− =

je

ise

jou

ise

ji

se

ji

k

N

jn

M

im

ji

cj

ik

NM

nm

pM i

N j

ππ

Page 59: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

59

Transformada DCT

�Base da transformada DCT Cada quadrado representa

uma im

agem

correspon-

dente a fixar-se o coefi-

ciente naquela posição

sendo nulos todos os

restantes.

Valor m

édio

-dc

Frequências

horizontais

Frequências

verticais

Page 60: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

60

Transformada DCT

Frequências

verticais

�Imagem de baixa resolução terátoda a

parte mais àdireita e em baixo da matriz

com coeficientes pequenos ou nulos

�Imagem de alta resolução seráo contrário.

�Imagens com riscas verticais como será?

Page 61: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

61

Transformada DCT

�Vantagens da DCT

�Os diferentes coeficientes são em geral pouco

correlacionados e por isso épossível retirar

redundância através da sua quantização

usando técnicas simples.

�A transformada éseparável, isto é, pode ser

decomposta em duas transformadas a 1D uma

aplicada na vertical e outra na horizontal.

�Os seus coeficientes estão muito relacionados

com frequências espaciais.

Page 62: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

62

Transformada DCT

�Para compreendermos a relação com as frequên-

ciasconsideremos a DCT a uma dimensão

�A figura seguinte mostra as funções base desta

DCT 1D, equivalente àmatriz anterior para a 2D

()

()

()

()

() ()

0121

0

2

12

cos

21 0

≠==

+=

∑− =

kse

kKk

N

kn

nx

kK

Nk

cN n

π

Page 63: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

63

Transformada DCT

Esta figura representa

as funções cujas trans-

form

ada corresponde

a um

sócoeficiente

não nulo, para o caso

de ser N=16.

Primeiro term

o corres-

ponde a dc, e os res-

tantes

a funções sinu-

soidaisde frequências

crescentes.

Page 64: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

64

Transformada DCT

�Pode ver-se que esta transformada estárelacio-

nadacom a DFT de um conjunto alargado de

amostras da forma que se representa na figura

seguinte.

�As amostras DCT são duplicadas juntando

número idêntico invertido, a primeira metade dos

coeficientes da DFT desde conjunto duplo de

amostras éigual àDCT do sinal inicial.

Page 65: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

65

Transformada DCT

DCT

DFT

x(n)

y(n)

DCT

Page 66: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

66

Transformada DCT

�Efeito da quantização.

�A quantizaçãointroduz um erro em cada

coeficiente

�sendo o bloco reconstruído dado pela

transformada inversa daquele vector, que

teríamos que avaliar em termos de erro

verificado na imagem final.

()

()

() j

ij

ic

ji

c,

,,

ˆε

+=

Page 67: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

67

Transformada DCT

�Este erro émais fácil de analisar se

escrevermos a transformada inversa de outra

forma

�em que Bijsão os elementos da base

anteriormente representada na figura da

matriz

()

∑∑

− =

− =

=

=

1 0

1 0

,M i

N i

ij

T

Bj

ic

p

form

ana

seescrever

pode

cM

p

Page 68: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

68

Transformada DCT

�Assim virá

�O erro origina assim que àimagem seja

adicionada um sinal com a forma da elemnto

da base que lhe corresponde

()

()

ecoeficient

cada

emerro

osendo

Bj

ie

virá

oquantizaçã

de

erro

oe

Bj

ic

p

ij

ij

M i

N i

ij

M i

N i ε

ε∑∑

∑∑

− =

− =

− =

− =

==

1 0

1 0

1 0

1 0

,,ˆ

Page 69: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

69

Transformada DCT

Bloco

Transform

ada

Coeficienteerrado

Bloco

obtido

portransformada

inversada

matrizde coeficientes

com erro

Page 70: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

70

Transformada DCT

�O erro de reconstrução a partir dos

coeficientes quantizadoséassim

correspondente àsoma das matrizes da base

m,n pesadas pelos erros correspondentes a

cada coeficiente.

�Como a nossa visão émenos sensível a altas

frequências deve pensar-se em quantizar

com maior erro os coeficientes das altas

frequências que os das baixas. Éa

quantizaçãoque primeiro nos permite reduzir

o débito a usar.

Page 71: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

71

Transformada DCT

�A forma mais corrente de realizar a

quantizaçãovariável de coeficiente para

coeficiente consiste em multiplicar cada

coeficiente por um factor de peso w(i,j) antes

da quantização.

�Os coeficientes quantizadossão então

�Pode mostrar-se que o erro em cada

coeficiente éinversamente proporcional ao

valor de w(i,j) correspondente.

()

()(

) ji

cj

iw

ji

cw

,.

,,

=

Page 72: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

72

Transformada DCT

�Exemplo de matriz de pesos para DCT

�Esta matriz reduz o débito final. A arte está

em encontrar a matriz que mais reduz sem

prejudicar a qualidade requerida.

1,00

1,00

0,90

0,84

0,74

0,68

0,58

0,52

1,00

0,97

0,90

0,81

0,74

0,65

0,58

0,48

0,90

0,90

0,84

0,77

0,71

0,65

0,55

0,48

0,84

0,81

0,77

0,74

0,68

0,61

0,52

0,45

0,74

0,74

0,71

0,68

0,61

0,55

0,48

0,42

0,68

0,65

0,65

0,61

0,55

0,48

0,42

0,35

0,58

0,58

0,55

0,52

0,48

0,42

0,39

0,32

0,52

0,48

0,48

0,45

0,42

0,35

0,32

0,26

Page 73: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

73

Transformada DCT

�Para além desta distribuição de pesos é

necessário decidir quantos bits se alocama

cada coeficiente, sendo óbvio que os

coeficientes com menor peso devem receber

menos bits (bit allocation). Vejamos exemplo

de matriz de alocação

98

87

65

43

88

76

54

30

77

65

42

10

66

54

21

00

55

42

10

00

44

21

00

00

32

10

00

00

20

00

00

00

Os coeficientes

de m

aisaltas

frequênciasnãosãotransm

iti-

dos.

Page 74: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

74

Transformada DCT

�Em geral as imagens tem características tão

diferentes, entre imagens ou atéentre

diferentes zonas da mesma imagem, que

uma única solução não émuito eficiente.

Adoptam-se então diferentes estratégias de

pesagem e de alocação de bits, que serão

utilizadas onde for mais apropriado.

Page 75: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

75

Transformada DCT

Page 76: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

76

Transformada DCT

�Como se transmitem estes coeficientes?

�Primeiro a transmissão dos coeficientes faz-

se em zig-zag. 0

1 2 3 4 5 6 7

0 1 2 3 4 5 6 7

Page 77: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

77

Transformada DCT

�Esta forma de scan(háoutras em certos

casos melhores) maximiza o número de

valores consecutivos iguais, facilitando a

introdução dum código RunLength.

�Além disso os valores dos runssão

estatisticamente tratados e representados por

códigos VLC. As amplitudes dos coeficientes

também podem ser representadas por VLCs.

Page 78: TV Digital 4.1-newmandrade/tvd/2006/docs/AULAS/TD2006-4-1.pdf · As operações de compressão e descompressão também se designam por codificação e descodificação. TV Digital

TV Digital 2006/7

78

Transformada DCT

�As normas incluem algumas tabelas de

códigos VLC para estes parâmetros, que

podem ser usadas, nesse não sendo preciso

transmiti-las para o receptor.

�Muitas normas prevêem a possibilidade de

enviar tabelas especiais se for mais eficiente.

Neste caso a economia tem que ser

substancial para valer a pena enviar as

tabelas.