Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
TV Digital 2006/7
1
TV Digital 4
Algumas técnicas de
compressão de fontes
digitais audiovisuais
Parte 1
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.
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,…)
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.
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.
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
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.
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.
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).
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.
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
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
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
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.
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.
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
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
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:
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
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.
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ó
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
TV Digital 2006/7
23
Huffman
�Também exige conhecimento àprioridas
probabilidades dos símbolos.
�Émuito frequente por ser simples de
implementar
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.
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
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).
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.
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
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
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
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
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.
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
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.
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
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
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
=
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.
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.
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.
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.
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)
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
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
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
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)
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).
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
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
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−==
TV Digital 2006/7
51
Codificação por
transformadas
MQ
x
xy
y
M-1
y
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ˆˆ
−=
−=
−=
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.
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.
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
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.
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
ππ
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
ππ
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
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á?
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.
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
π
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.
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.
TV Digital 2006/7
65
Transformada DCT
DCT
DFT
x(n)
y(n)
DCT
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,
,,
ˆε
+=
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
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
,,ˆ
TV Digital 2006/7
69
Transformada DCT
Bloco
Transform
ada
Coeficienteerrado
Bloco
obtido
portransformada
inversada
matrizde coeficientes
com erro
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.
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
,.
,,
=
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
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.
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.
TV Digital 2006/7
75
Transformada DCT
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
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.
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.