Murilo B. de Carvalho
Depto. de Eng. de Telecomunicac~oes
Universidade Federal Fluminense
R. Passos da Patria, 156 Niteroi - RJ 24210-240, BRASIL murilo@lps.ufrj.br EduardoA. B. da Silva PEE/COPPE/DEL/EE
Universidade Federal doRiode Janeiro
Cx. P. 68504,
Rio de Janeiro, RJ
21945-970, BRASIL
eduardo@lps.ufrj.br
Weiler Alves Finamore
CETUC
PontifciaUniversidade Catolica doRiode Janeiro
Riode Janeiro,RJ
BRASIL
weiler@cetuc.puc-rio.br
Sumario|
Neste artigo e apresentado um novo
algo-r
itmodequantizac~aovetorialadaptativa. O
metodo utiliza uma abordagem de m ultiplos
dicionarios, cada um correspondendo a
u-ma resoluc~ao diferente. Um procedimento
recursivo de segmentac~ao e utilizado para
atualizar osdicionarioscomconcatenac~oes,
contrac~oes e dilatac~oes de vetores
anterior-mente codicados. O algoritmo apresenta
bom desempenho com uma ampla classe de
dados deentrada e, quando aplicado
direta-mente a imagens digitais supera alguns
al-goritmosdecompress~aoespecializadoscomo
o JPEG.
1 Introduc ~
ao
A quantizac~ao vetorial(QV) euma tecnica
larga-mente utilizada na soluc~ao do problema de
com-press~aodedados. Oquantizadorvetoriale
consti-tuidodeumconjuntodevetoresC=fs
0 ;::: ;s
I 1 g
chamadodicionarioeumamedidadedist^ancia
en-tredoisvetoresd(X;Y). AQVeusadapara
aprox-imarumvetordeentradaXescolhendo-seovetor
s
i
2C queminimizaadist^ancia d(X;s
i
). A
escol-hadodicionarioCafetadiretamenteodesempenho
doQVeportantoeusualmentefeitausando-se
al-guma tecnica de otimizac~ao. Quando o vetor X
deentradaeestatisticamentebemconhecido,
exis-temmetodosdeprojetocomooLBG[1]eoECVQ
(Entropy-ConstrainedVectorQuantizer)[2]que
l-evam a bons dicionarios. Contudo, se a fonte e
desconhecidaouaestatsticavaria, odesempenho
destesesquemaspiorabastante.
Neste artigo, nos propomos o MMP
(Multi-dimensional Multiscale Parser), um
algoritmoparaquantizac~aovetorialadaptativade
uma fonte multi-dimensional. No MMP, n~ao ha
nescessidadedeotimizarpreviamenteosdicionarios
porqueestess~aoconstruidosenquantooMMP
cod-icaos dados. A vers~aounidimensional do MMP
opera em um vetor X = (X 0 :::X N 1 ) T emitido
por uma fonte vetorial x = (x
0 :::x N 1 ) T . Nos assumimosque N =2 K ,onde K e uminteiro. O
MMPusaK+1dicionariosfC (0)
;:::;C (K)
gde
ve-tores,inicializadoscom
C (k ) 0 =fs (k ) 0 ;:::;s (k ) I k 1 g;k=0;1;:::;K,euma dis-torc~ao alvo d . Os vetores em C (k ) s~ao de com-primento 2 k
, ou seja, eles est~ao na escala 2 k
. O
MMP comeca procurandono dicionario de maior
escala, C (K)
, pelo vetor s (K)
i
que minimiza oerro
quadratico=kX s (K)
i k
2
. Seoerroquadratico
e menor ou igual a distorc~ao alvo d
vezes o
comprimento do vetorN, ent~ao a busca termina.
Caso contrario, X e dividido em dois segmentos
de igual comprimento X 0 = (X 0 :::X N =2 1 ) T e X 00 = (X N =2 :::X N 1 ) T . Ent~ao o MMP busca nodicionarioC (K 1)
deescalaN=2pelasmelhores
eaplicadorecursivamenteaX 0 eX 00 . Estatecnica
desegmentac~ao recursivaesemelhante autilizada
no \Universal Multiscale Matching Pursuits" [3],
que e um algoritmode compress~ao de dados com
perdasbaseadoemexpans~oesdesinaisemframes.
Apos retornar das chamadas recursivas, nos
tere-mos duasaproximac~oes ^ X 0 e ^ X 0 0 . Forma-seent~ao
uma estimativado vetor original ^
X, na escalaN,
porconcatenac~ao,ouseja, ^ X=( ^ X 0 T ^ X 0 0 T ) T . O di-cionarioC (K)
eatualizadopelainclus~aode ^
X. Uma
vezqueodesempenhodeumdicionario,num
senti-dotaxaversusdistorc~ao,tendeamelhorarquando
seu tamanho aumenta, o MMP tambem atualiza
todos os dicionarios das outras resoluc~oes. Para
issooMMPmudaaescalado vetor ^
Xparaas
es-calas 2 k
;k = 0;1;:::;K 1 usando uma
trans-formac~aode escala ^ X k =T (2 K ) 2 k [ ^ X K ]. A
transfor-mac~aodeescalaeumafunc~aoT M N :R M !R N que
mapeiaumvetordeM componentesem umvetor
de N componentes. Norestante deste artigo,por
simplicidade,eliminaremosondicesuperescritoM
e escreveremos apenas T
N
[X] para representar a
transformac~aode escala,sempre queonumero de
componentesdeX estiverclaronocontexto. Este
metodo de atualizac~ao leva aconstruc~ao de bons
dicionariosdesdequeatransformac~aoT M
N
seja
ad-equadamente escolhida. Porexemplo,considere-se
ocasodeovetordeentradaXserextradodeuma
fonte Gaussiana sem memoria. Quando N > M
uma operac~ao de ltragem anti-aliazing segida de
decimac~ao [6] levara a um vetor de dimens~ao
re-duzida porem tambem Gaussiano sem memoria.
Portanto, atualizaro dicionario da escala k 0
com
vers~oes decimadas de vetores da escala maior k 00
(k 00
> k 0
) e equivalente a atualizar com vetores
da propria escala k 0
. Quando N < M, uma
in-terpolac~ao gera um vetor Gaussiano, porem com
memoria. Ainda assim, podemos mostrarque um
dicionario composto de vetoresGaussianos na
es-calak 0 ,interpoladosdaescalak 00 (k 00 >k 0 ),possui
propriedadesdecodicac~aosimilaresasdeum
di-cionariodevetoresGaussianossemmemoriana
es-calak 0
,podendoinclusivesuperarodicionariosem
memoriaemtaxasbaixas.
Estealgoritmoefacilmenteestendidopara
oper-ar em matrizes e conjuntos de dados
multi-dimensionaisdiretamenteaoinvesdevetores.
Suavers~aobidimensional,adequadaparao
proces-samentodeimagensdigitais,edescritaaseguir.
2 Descric ~
ao do algoritmo MMP em duas
dimens~
oes,o2D-MMP
OalgoritmoMMPdescritonasec~aoanteriorpode,
emprincipio,seraplicadoamatrizeseconjuntosde
Contudo, pode servantajosomodicar aregrade
segmentac~ao para explorar melhor as correlac~oes
multidimensionais. No casode uma imagem
dig-ital, o MMP ira operar sobre uma matriz X de
dimens~ao N M, onde N = 2 K
;M = 2 L
. Os
dicionarios possuir~ao duas escalas, ou seja C (k ;l)
ondek2[0;K]e l2[0;L]. Variasalternativasde
segmentac~aos~ao possveis. Aregraadotadaneste
trabalhoconsisteemsegmentaraslinhasdeX(ou
seja,dividirXemduasmatrizescomametade do
numerodelinhasdeXemesmonumerodecolunas)
quando N > M, e segmentar as colunas quando
N M. Istoe,quandok>l;k k 1equando
kl;l l 1. Oalgoritmodetalhadoedescrito
aseguir: Sejam: XumamatizN =2 K M=2 L . C (k ;l) 0 =fs (k ;l) 0 ;:::;s (k ;l) I 1 g; (k;l)=(0;0);(1;0);(1;1):::;(K ;L)um
con-junto de K+L+1 dicionarios iniciais
con-tendocadaumI k ;l matrizesdetamanho 2 k 2 l . d
umadistorc~aoalvo.
T
N;M
[X] uma transformac~ao de escala que
mapeiaamatrizXemumamatrizde
taman-hoNM. Procedure ^ X=encode(X;D;d ):
step1 Encontreondiceinocodebbokdemesma
escala(k;l)deXdemodoquejjX s (k ;l)
i jj
sejamnimoefaca ^
X=s (k ;l)
i .
step2 if N = M = 1, transmita ondice i e
retorne ^ X. elsevaaopasso4. step3 ifjjX ^ X jj 2 NMd
thentransmita ag
'1',transmita ondicei eretorne ^
X.
elsevaparaopasso5.
step4 transmita ag'0'.
step5 ifN >M segmenteX= X 0 X 00 , ondeX 0 eX 00 s~aoN=2M elsesegmenteX= X 0 X 00 ondeX 0 eX 00 s~aoNM=2 step6 calcule ^ X 0 =encode(X 0 ;D;d ) step7 calcule ^ X 0 0 =encode(X 0 0 ;D;d ) step8 forn=0;1;:::;K+L+1; i=b( n+1 2 )c;
j=b( n 2 )c; C (i;j) =C (i;j) [ n T 2 i ;2 j[ ^ X] o
ondebxcdenota omaiorinteiromenor ou
igualax.
step9 retorne ^
X
3 Resultados experimentais
Oalgoritmodescrito nasec~ao 2foi implementado
em um programa de computador para simulac~ao.
A transformac~ao T
mn
(g) usada foi uma operac~ao
classicademudancadetaxadeamostragemusando
uminterpoladorlinearcomoltro[6]. Por
exemp-lo,nocasounidimensional,paramudardotamanho
mparaotamanhoMnosprimeiramentemudamos
para um tamanho intermediario mM
atravesdeumainterpolac~aolinear. Ent~aosem<
M este vetormM esubamostradopara o
taman-ho M retendo-se apenas M amostras igualmente
espacadas. Sem>M,ovetormM edivididoem
M blocos detamanho me amediade cadabloco
e calculada. Os M valores de media dos M
blo-cos ir~ao comporo vetor de tamanho M. No caso
bidimensional,nosprimeiromudamosdotamanho
mnparaotamanho Mnaplicando o
proced-imento unidimensional descrito a cada coluna da
matriz mn. Em seguida nos mudamos para o
tamanhoMN operandoanalogamentenas
colu-nas.
Adistorc~aoalvopodeserescolhidaemqualquer
ponto do intervalo [0;1), e a distorc~ao
efetiva-mente obtidaapos a decodicac~ao sera menor ou
iguala d
desde que odicionario inicial naescala
11,C (0)
0
,possuaresoluc~aosuciente. Por
exem-plo, para que oMMP possua capacidade lossless,
ouseja,possuacapacidadedereproduzirovetorde
entradacomdistorc~aonula, deve-seter A C (0)
0 ,
ondeAeoalfabeto(nito)aondeascomponentes
do vetor de entrada est~ao denidas (neste caso a
entradapoderaseraproximadacomdistorc~aozero,
nemqueparaistotodasascomponentesdovetorde
entradasejamrepresentadasumaauma, com
dis-tortorc~aonula,usandoodicionariodaescala11).
Paralidarcomadisponibilidadenitadememoria,
umesquema depodagem foiimplementado: Cada
novo elemento incluido nos dicionarios e
associa-do a um contador que einicializado com zero no
momentodainclus~ao. Quandoumelementodeum
dicionarioeselecionadopararepresentarovetorde
entrada, seu contador associadoezerado
enquan-to todos osdemais contadores s~ao incrementados
de um. Quando o dicionario atinge um
determi-nado tamanho pre especicado, o elemento cujo
contadorassociadopossuiomaiorvaloreretirado
dodicionariosemprequefornecessarioincluirum
22
24
26
28
30
32
34
36
38
40
42
0
0.5
1
1.5
2
2.5
3
PSNR
R
MMP
JPEG
Figura1: DesempenhoparaLENA256256.
novo elemento. Osndices dos dicionarios foram
codicados por um codicadoraritmetico
adapta-tivocomummodeloestatsticoindependentepara
cada dicionario. Os ags indicadores de
segmen-tac~ao tambem foram codicados pelo codicador
aritmeticoadaptativocommodelosindependentes
por escala.
A gura1mostra resultadosde simulac~aopara
aimagemLENA256256. Ospar^ametrosusados
foram: jC (k ;l)
j 8192, (k,l) = (0,0), (1,0), (1,1),
(2,1),:::,(3,3)edicionarioinicialnaescala11
iguala
C (0;0)
0
= f 124; 120;:::; 4;0;4;:::;120g. Os
dicionarios iniciaisnas demais escalas foram
obti-dos a partir deste dicionario usando a
transfor-mac~aodeescala. Aimagemfoiinicialmente
dividi-daemblocos detamanho88semsuperposic~ao,
queforam processadossequencialmente pelo
algo-ritmo. Amedidadedistorc~aoindicadanagurae
arelac~ao sinal-ru
ido de pico PSNR (Peak
Signal-to-NoiseRatio). PSNR = 10log 255 2 P m 1 i=0 P n 1 j=0 (sij sij)^ 2 . O
re-sultadoobtidocomoalgoritmoJPEG[4]tambem
e mostrado. Observa-se que o MMP, sem
nen-huma otimizac~ao a priori de dicionarios, supera
o desempenho do JPEG que e um algoritmo
es-peccootimizadoparaimagens. Deve-seressaltar
quequantizadoresvetoriaisobtidoscomousodos
metodostradicionaiscomo oLBGe oECVQn~ao
apresentambomdesempenhoquandoaplicados
di-retamenteaestetipodefonte.
Agura2mostraosresultadosparaafonte
Gaus-siana. Estafonte foi construdaapartirde 65536
amostrasdeumprocessoestocasticoderu
ido
bran-co Gaussiano de vari^ancia 2
= 957, compondo
uma matriz 256256. Resultados para oJPEG,
ECVQ e a distorc~ao m
inima teorica dada por
D(R )= 2
2 2R
[5] tambem s~aomostrados. Aqui
15
20
25
30
35
40
45
0
0.5
1
1.5
2
2.5
3
3.5
4
PSNR
R
MMP
JPEG
D(R)
ECVQ
Figura2:PSNRtaxaparafonteGaussiana256
256.
JPEGn~aofoi otimizado parafonte Gaussiana. O
desempenho mostra-se bom mesmo quando
com-paradocomQVstradicionaisotimizadosparaesta
fonte,comooECVQ.
4 Efeito deblocagemnoMMP
Inicialmente,oMMPbuscaoelementos (K)
i
emseu
dicionario demaiorresoluc~ao C (K)
querepresenta
ovetor deentrada X coma menordistorc~ao =
kX s (K)
i k
2
. Seadistorc~aoobtidaformaiorquea
distorc~aoalvod
,ent~aooMMPirasegmentaro
ve-tordeentradaetentaraaproximarcadametade
us-andoseudicionariodeescalaimediatamente
inferi-orC (K 1)
. Quandoasaproximac~oesparaambosos
segmentos ^ X 0 e ^ X 00
estiveremdisponveis,oMMP
iracriarumnovovetoraserincluidonodicionario
C (K) concatenando ^ X=( ^ X 0 ^ X 00 ). Este
procedimen-togarantequeadistorc~ao seramenorouiguala
d
, uma vez que as distorc~oes em cada segmento
0 =kX 0 ^ X 0 k 2 e 00 =kX 00 ^ X 00 k 2 tambem
se-jam menores ou iguaisad
. No entanto, oMMP
n~ao temnenhumcontrolesobre acontinuidade da
aproximac~aona fronteirados doissegmentos
con-catenados,amenosqueadistorc~aoalvosejazeroe
odicionariodeescala11contenhatodooalfabeto
dafonte. Defato,aaproximac~aousando
concate-nac~ao pode ser vista como uma soma de dois
ve-tores ^ X 0 s = X 0 0 ::: X 0 N =2 1 0 ::: 0 e ^ X 00 s = 0 ::: 0 X 00 N =2 ::: X 00 N 1 cujas
componentesn~aoapresentamsuperposic~ao. Senos
quisermos que a aproximac~ao seja mais suave no
ponto de concatenac~aopara d
>0, podemos
us-arvetorescomsuperposic~ao. Contudoao usar
su-perposic~ao,n~aopodemosmaisgarantirqueosdois
segmentos ^ X 0 e ^ X 00
, cada um com distorc~ao
infe-riorouigualadistorc~aoalvo,ir~aogerarumbloco ^
X com distorc~ao inferior a d
. Portanto, quando
hasuperposic~ao,a escolhade umelemento no
di-cionario para representar X 0
afeta aescolha para
X 00
evice-versa.
Paraevitarodicilproblemadeotimizac~ao
con-junta,podemosusarvetoressemsuperposic~aopara
analisarovetorX nocodicadoreoutra com
su-perposic~ao para sintetisar o vetor ^
X no
decodi-cador. Porexemplo,suponhamosqueoMMP
seg-mente o vetor de entrada X em quatro
segmen-tos de mesmo comprimento e aproxime cada um
usando um vetor cujas componentes sejam todas
iguais, ou seja, vetores representando patamares
constantes. Odecodicadordevereconstruiro
ve-tor de entrada a partir dos quatro ndices de
dicionariorepresentando os patamaresconstantes.
Isto e analogo a recuperar uma aproximac~ao ^
X
paraX apartirde suavers~aodecimadaporN=4.
E sabido da teoria de bancos de ltros [6] que e
possvel recuperar uma vers~ao passa-baixas de X
apartir de suavers~ao decimadausando um ltro
desntesediferentedoltrodeanalise. Assim,nos
podemosusarvetoresparareconstruc~aocom
super-posic~ao que atendam a algum requisito de
suavi-dade e vetores diferentes, sem superposic~ao, para
analise.
Neste trabalhonosusamosuma tecnicade p
os-ltragem adaptativaFIR para modicar o
forma-todosvetoresdereconstruc~aonodecodicadordo
seguinte modo:
Primeiramente,nosutilizamosodecodicador
padr~aopara encontrar umaprimeira
aproxi-mac~aoparaX. Ou seja,
^ X = s (N 0 ) i0 s (N 1 ) i1 ::: s (Np 1) ip 1 sera
compostodeumaconcatenac~aodep
segmen-tos, cadaumumavers~aodeumvetors
ik no
dicionarioescaladaparaotamanhoN
k .
Emseguida,nossubstitumoscadas (Nk)
ik por
uma concatenac~ao de vetores do dicionario
inicial. Ouseja, ^ X= s (L0) i0 s (L1) i1 ::: s (Lq 1) iq 1 ,ondeos vetoress ik
pertencemaodicionarioinicialD
0 .
Finalmente,nosaplicamosumltrodemedia
moveleretardozeroa ^
X. Ocomprimentodo
ltro em cada componente ^ X n de ^ X= ^ X 0 ::: ^ X N 1 eproporcionalao comprimento do segmento s (Lk) i k quecontem a amostra ^ X n , ou seja L k . Assim sendo, o
comprimento doltro e ajustado amostra a
amostra. Considerando novamente, por
ex-emplo,queovetorreconstrudo ^
Xpossui
qua-tro segmentos de vetoresconstantes, eo
l-trodemediamovelpossuicomprimentoL
k +
1,esteprocedimentosubstituiosquatro
seg-mentosplanossemsuperposic~aodetamanho
N=4 por quatrosegmentos triangularescom
superposic~aoedetamanhoN=2.
Agura4ilustraoprocesso. Nestagura,ovetor
desadaecompostodetr^essegmentos. A
compo-nente sendo ltrada esta indicada pela seta.
Co-mo pode servisto, ocomprimento do ltroFIR e
proporcionalaotamanhodovetordereconstruc~ao
original.
A gura 3ilustra a imagemLENA obtida com
MMPsemcontroledeblocagemeagura5ilustra
a imagem lena obtida com controle de blocagem.
Ambas as imagens foram codicadas a uma taxa
de 0:40 bits por pixel. As relac~oes sinal-rudo de
picos~aorespectivamente 28:7e28:5dB.
5
Conclus~
ao
Nesteartigoapresentamosumnovoalgoritmopara
quantizac~ao vetorial adaptativa de fontes
multi-dimensionais. Resultadosdesimulac~oescom
fontes Gaussianas mostram que uma vers~ao
bidi-mensional do MMP apresenta desempenho
com-paraveladequantizadoresvetoriaistradicionais
o-timizados para a fonte Gaussiana.
E sabido que
quantizadoresvetoriaisobtidospormetodos
tradi-cionais como o LBG e o ECVQ n~ao apresentam
bons resultados quando aplicados diretamente a
L2+1
L0
L1
L2
L0+1
L1+1
imagens. Entretanto, o MMP obteve um
desem-penho superior ao do algoritmo JPEG que e
o-timizado para imagens. O MMP possui tambem
generalizac~oes diretas para dimens~oes superiores.
Eleapresentabomdesempenhocomumalargaclasse
dedados,masespera-semelhoriasseosdicionarios
iniciaisforemotimizadasparaousocomumaclasse
maisrestritadefontes,comoimagens. Oproblema
de blocagem foi abordado e uma soluc~ao,
basea-da na superposic~ao das componentes dos vetores
dereconstruc~ao,foiproposta. Contudoesperamos
obtermelhoriasnodesempenhoseaformados
ve-tores de reconstruc~ao for otimizada com respeito
aosvetoresusadosparaanalise.
Refer^
encias
[1] Y. Linde, A. Buzo and R. M. Gray
\An algorithm for vector quantizer design,"
IEEETransactionsonCommunications,VOL.
COM-28,No.1,January,1980.
[2] P. A. Chou, T. Lookabaugh and R. M.
Gray, \Entropy-constrained vector
quantiza-tion,"IEEETransactionsonAcousticsSpeech
and Signal Processing, VOL. 37, No. 1,
Jan-uary1989.
[3] M.B.deCarvalhoeE.A.B.daSilva,
\Com-press~ao de sinais multi-dimensionais via
de-composic~aoembaseecasamentodepadr~oes,"
17 o
Simposio Brasileirode Telecomunicac~oes,
1999.
[4] W. Pennebaker and J. Mitchel, "JPEG Still
ImageDataCompressionStandard,"Van
Nos-trandReinhold, 1994.
[5] R. E. Blahut, \Principles andPractice of
In-formation Theory" Addison-Wesley
publish-ingCompany,1988.
[6] P. P. Vaidyanathan, \Multirate Systems and