anÁlise dos parÂmetros do vÍdeo comprimidow3.ualg.pt/~rmarcel/cap3.pdf · 100 1000 1 4 7...
TRANSCRIPT
ANÁLISE DOS PARÂMETROS DO VÍDEO COMPRIMIDO
3
Neste capítulo efectua-se uma análise qualitativa que caracteriza os diversos
movimentos da câmara, permitindo assim avaliar os vários parâmetros que estão
associados ao modo de codificação, em formato digital, das sequências de vídeo.
3.1 Desfocagem da câmara
Nesta secção é apresentado um método para efectuar a medida robusta e efectiva
da qualidade da imagem em termos globais (Camera Blur) [7]. Este método é baseado
no cálculo do histograma dos coeficientes DCT não-nulos, aplicando-se directamente a
imagens que utilizem a codificação baseada na DCT, em blocos de 8x8 no caso da
codificação MPEG-4.
A caracterização de imagens em termos de focagem/desfocagem é necessária em
muitas aplicações. No caso da videovigilância o seu interesse reside no facto da câmara
de vigilância poder mover-se, por variados motivos, e esse movimento não seja
interpretado como existência de movimento no cenário da câmara. Por exemplo, para
uma câmara de vigilância no exterior que está sujeita a ventos, que eventualmente
poderão provocar na câmara pequenos movimentos. A ideia consiste em identificar
situações deste género e eliminá-las, de modo que não gere uma indicação errada de
movimento. Esta indicação serve igualmente para indicar que a câmara se encontra nas
condições ideais de focagem, de modo que seja efectuada a gravação nas melhores
condições possíveis.
O objectivo da detecção de focagem nesta aplicação consiste em indicar uma
percentagem relativa à qualidade global da imagem em termos de 'blur':
• 0% Significa que a imagem é totalmente 'blur';
• 100% Significa que não existe 'blur' na imagem.
Esta indicação de ‘blur’ caracteriza a imagem global causada pelo movimento da
câmara ou por desfocagem da mesma. Para efectuar esta medida a partir do domínio de
vídeo comprimido, considera-se:
• Na codificação MPEG os coeficientes DCT são usados para obter a compressão
da imagem e como tal estão profundamente relacionados com o conteúdo da
mesma, representando a distribuição das diversas componentes de frequência
presentes num bloco de pixels.
• Nas imagens I, estes coeficientes reflectem o valor dos pixels, enquanto nas
imagens do tipo P e B, representam os valores da imagem residual, após a
compensação de movimento.
O indicador de imagem focada não será indiferente ao tipo de imagem Intra ou
Predita.
3.1.1 Método proposto
Ao contrário de uma imagem desfocada, uma imagem nítida possui contornos
bem definidos. Sabendo que os coeficientes AC da DCT estão relacionados com uma
maior ou menor variação de frequência espacial do bloco (textura), então a existência de
um elevado número de coeficientes AC não nulos pressupõe uma maior definição dos
contornos e um menor número de coeficientes AC não nulos tende a indicar uma
imagem com uma textura mais suave, ou por exemplo, uma menor focagem. O método
proposto considera a ausência de coeficientes AC na imagem como uma característica
de uma imagem desfocada. De forma a obter uma medida da desfocagem da imagem
devem ser considerados três aspectos:
1. De forma a quantificar a qualidade da focagem global, propõe-se estabelecer
uma medida que considera a informação da DCT como um todo. Qualquer tipo
de contorno atravessa pelo menos uma vez um bloco de 8x8. Analisando de uma
forma global os blocos DCT, é possível caracterizar a imagem quanto aos
contornos.
2. De forma a evitar ser dependente do tipo do conteúdo da imagem, os
coeficientes não devem ser considerados directamente os valores dos
coeficientes, pois estes estão directamente relacionados com o conteúdo da
imagem. O que deve ser extraído deve ser a distribuição dos coeficientes nulos
da DCT, em vez dos seus valores em si! As imagens ‘blur’ tendem a ter os
coeficientes de altas a frequência nulos, mesmo quando o conteúdo de vídeo é
de uma textura bastante elevada.
3. De forma a evitar a dependência dos conteúdos das imagens pode-se efectuar a
normalização das mesmas. Conta-se o número de blocos onde existem
coeficientes não-nulos e o número total de blocos existente na imagem. Nas
imagens P e B, como os coeficientes são quase sempre nulos, e de formar a
homogeneizar a aparência dos histogramas para todos os tipos de imagens, o
número de ocorrências só são consideradas nos blocos com coeficientes DC não-
nulos. A normalização faz-se, dividindo o número de blocos com coeficientes
AC nulos pelo número de coeficientes DC não-nulos.
3.1.2 Sequência de análise
Para analisar a correspondência existente entre o número de coeficientes da DCT
não-nulos e a focagem/desfocagem da câmara é usada a sequência de vídeo “Teclado”,
apresentada na Figura 3.1, em formato CIF e codificada em MPEG-4. A sequência
original em formato YUV é constituída por 153 imagens, referidas como imagem 0 a
152. Para a sequência codificada em MPEG4, utilizando VOP rectangulares, foi
utilizada a estrutura do tipo IBBPBBPBBPBBPBBI..., onde são codificados VOPs Intra
de 12 em 12 VOPs e dois VOPs do tipo B entre VOPs P ou I.
Na tabela 3.1 são resumidos os eventos da sequência “Teclado”.
Número VOP Acontecimento
0 a 51 Movimento de desfocagem
52 a 76 Imagem desfocada
77 a 119 Movimento de focagem
120 a 152 Imagem focada
Tabela 3.1- Eventos ao longo da sequência “Teclado".
a) b) c) Figura 3.1: Sequência “Teclado”: a) VOP Nº 70, imagem completamente desfocada. b)
VOP 106, imagem quase totalmente focada. c) VOP 142, imagem focada. Na análise são tomados 4 VOPs em 4 momentos distintos, com características
diferentes, como se apresenta na tabela 2.
Número VOP Acontecimento
70 VOP desfocado
82 Movimento de focagem
106 Movimento de focagem
142 VOP focado
Tabela 3.2- VOPs utilizados para teste.
3.1.3 Resultados experimentais
No gráfico 3.1 e 3.2 apresenta-se a quantidade de blocos que foram codificados com um
número determinado de coeficientes não-nulos. A quantidade de blocos é apresentada
numa escala logarítmica, para o eixo referente ao número de blocos, de forma a
evidenciar os valores obtidos.
VOP Nº 70
1
10
100
1000
1 4 7 10 13 16 19 22 25 28 31 34
Nº coeficientes não-nulos
Nº blocos
VOP Nº 82
1
10
100
1000
1 4 7 10 13 16 19 22 25 28 31 34
Nº coeficientes não-nulos
Nº blocos
Gráfico 3.1: Quantidade de blocos com n coeficientes não-nulos.
VOP Nº 106
1
10
100
1000
1 4 7 10 13 16 19 22 25 28 31 34
Nº coeficientes não-nulos
Nº blocos
VOP Nº 142
1
10
100
1000
1 4 7 10 13 16 19 22 25 28 31 34
Nº coeficientes não-nulos
Nº blocos
Gráfico 3.2: Quantidade de blocos com n coeficientes não-nulos.
Observando os resultados obtidos da tabela 3.3, nota-se que o número de
coeficientes não-nulos está directamente relacionado com a focagem da câmara. Numa
sequência como é o caso da “Teclado”, em que não existe movimento na cena, o
codificador efectua a estimação de movimento com elevada precisão, o que resulta num
valor residual pouco significativo e consequentemente corresponderá a um elevado
número de coeficientes AC nulos. Pelos motivos acima expostos não são considerados
neste estudos os VOPs preditos do tipo P ou B.
VOP Nº Nº coef.
não-nulos Média pesada dos
coeficientes não-nulos
Imagem 10 14 4.8 22 14 4.5 34 11 3.7 46 10 3.2 desfocado
58 10 3.2 70 10 3.2 82 12 3.6 94 15 4.5
106 15 4.5 118 27 6.4 130 28 6.4 focado
142 28 6.3 Tabela 3.3- Número de coeficientes não-nulos nos VOPs Intra ao longo da sequência.
Para efectuar a análise e de forma a normalizar os valores não deverá ser considerado o
conteúdo dos diferentes índices, mas sim o factor qualitativo de coeficientes não nulos
[7].
3.2 Movimento de translação da câmara
Para estudar o movimento de translação da câmara, adquiriu-se a sequência “Palmeira”,
onde são visualizadas várias palmeiras tendo como fundo (background) um edifício e o
céu. Na sequência é efectuado o movimento de translação da câmara para a esquerda
seguida de uma pequena pausa, um movimento de translação para a direita e finalmente
um movimento para a esquerda até à posição inicial, como se ilustra sumariamente na
Figura 3.2.
a)
b)
c)
Figura 3.2- Sequência “Palmeira”. a) VOP inicial. b) movimento de translação da
câmara para a esquerda. c) movimento de translação para a direita.
Um movimento da câmara num determinado sentido equivale ao movimento da imagem
em sentido oposto. Nos VOPs que usam codificação de macroblocos com vectores de
movimento, estes terão sentido contrário ao do movimento da imagem ou o mesmo
sentido do movimento da câmara, como se observa na Figura 3.3. Na Figura 3.3-a),
existe o movimento da câmara para a esquerda, que gera uma grande quantidade de
vectores de movimento com sentido uniforme para a esquerda. Na figura 3.3-b), o
movimento da câmara é para a direita e pode-se observar a alteração do sentido dos
vectores de movimento. Somente nas regiões da imagem com uniformidade de textura e
cor, como é caso do céu, é que os correspondentes MB não são codificados com
vectores de movimento, como seria de esperar.
a) b)
Figura 3.3: Sinalização dos vários tipos de Macroblocos em VOP P. a) VOP 3, câmara
em movimento para a esquerda. b) VOP 177, câmara em movimento para a direita.
Podemos então caracterizar o movimento de translação da câmara como:
- Um movimento que gera uma grande quantidade dos vectores de movimento
com uma certa uniformidade de sentido e intensidade. O sentido dos vectores é
contrário ao sentido do movimento da imagem.
- Dependendo do conteúdo, podem ser gerados vectores de movimento em grande
número.
- A velocidade do movimento da câmara poderá influenciar o tipo de MB. Um
movimento mais rápido tenderá a aumentar o número de MB codificados com
vectores de movimento e a aumentar a intensidade dos vectores.
3.3 Movimentos de zoom
Para caracterizar os efeitos associados ao movimento de zoom da imagem [1, 5,
8], foi criada a sequencia “Telex”. Numa primeira fase da sequência é efectuado um
movimento de aproximação, vulgarmente designado por “zoom-in”, sobre uma máquina
de telex, e numa segunda fase é efectuado um movimento contrário, de afastamento,
“zoom-out” sobre o telex. Pela análise dos vectores de movimento, pode-se dividir a
imagem em quatro quadrantes, onde os sentidos predominantes dos vectores de
movimento no caso de “zoom-in” apontam para o centro da imagem e no caso de
“zoom-out” apontam em sentido contrário. Nos movimentos de zoom da câmara toda a
imagem é alterada, pelo que temos uma situação semelhante ao que se verificou para o
movimento de translação, com a diferença de agora estar alinhada com o centro da
imagem. A direcção dos vectores de movimento é radial e o seu sentido é uma
consequência do tipo de operação de zoom.
a) b)
Figura 3.4: Sequência “Telex”. a) início da sequência. b) movimento de zoom.
a) b)
Figura 3.5: Representação dos vários sentidos dos vectores de movimento. a) câmara a efectuar “zoom in”. b) câmara em movimento de “zoom out”.
É possível caracterizar o movimento de “zoom” da câmara da seguinte forma:
• A direcção predominante dos vectores de movimento é radial e o sentido dos
mesmos depende do tipo de operação, “zoom in” ou “zoom out”.
• A intensidade dos vectores dependerá da velocidade a que for efectuado o
movimento.
• A codificação dos MB depende do conteúdo do vídeo, pois sempre que exista
uniformidade da textura e da cor, o codificador não gera vectores de movimento,
como se pode verificar em determinadas regiões da Figura 4.5, onde não se
geraram MB com vectores de movimento (MBs marcados a negro).
a) b) Figura 3.6: Sentido predominante dos vectores de movimento, nos vários quadrantes de
uma imagem. a) quando se efectua movimento de “zoom-in”. b) quando se efectua movimento de “zoom-out”.
3.4 Movimentos oscilatórios da câmara
Quando existirem pequenos movimentos de oscilação de câmara, que no contexto do
presente texto - no caso da vigilância, podem ser devidos a uma rajada de vento mais
forte sobre uma câmara exterior.
Uma tremura da câmara devido a uma rajada de vento poderá pressupor que:
1- A amplitude de movimento deverá ser de pequena intensidade, talvez em
movimento oscilatório e deverá ainda ser de curta duração (menor que 1
segundo).
2- Deverão surgir alterações na codificação associadas ao fenómeno, sendo
previsível que existam mais blocos codificados como INTRA e também que
exista uma uniformidade nos vectores de movimento.
Então, como caracterizar estas oscilações de modo que não originem indicação de
movimento, quando na realidade não existe. Para efectuar a análise foi criada a
sequência “Sala121”, onde a câmara de filmagem foi sujeita a oscilações com várias
intensidades e sentidos, simulando pequenos movimentos oscilatórios.
Figura 3.7: Sequência “Sala121”, usada para estudar movimentos de oscilação da câmara.
Os movimentos oscilatórios são de curta duração, até um máximo de 2 segundos, e pela
análise da sequência verifica-se que, como seria de esperar, o que acontece é em tudo
semelhante ao que já se observou para outros movimentos da câmara, como se pode
observar nas Figuras 3.8 e 3.9.
a) b)
Figura 3.8: Vectores de movimento na sequência “Sala 121”. a) VOP Nº 99. b) VOP 102.
Nas Figuras 3.8 e 3.9 são representados os VOPs, com a indicação dos diversos tipos de
MB, devidos a movimentos provocados com sentidos diferentes. Assim num primeiro
VOP tem uma certa uniformidade de sentido dos vectores de movimento, passados 3/25
segundos o sentido do movimento é contrário e tem um amortecimento bastante rápido,
como se mostra no gráfico 3.3, não ultrapassando para esta sequência de teste os 10
VOPs.
a) b)
Figura 3.9: Vectores de movimento na sequência “Sala 121”. a) VOP Nº 216. b) VOP 219.
A métrica utilizada foi a quantificação do número de MBs com vectores de movimento
nulos. Assim, no início da sequência, caso não exista movimento na cena, o número de
MB codificados com 0 MV é quase a totalidade dos 396 MB numa imagem CIF.
Quando existem oscilações, reflecte-se na diminuição do número de MB nulos,
mantendo-se essa tendência durante o tempo que dura a oscilação, como se pode ver no
Gráfico 4.3.
0
50
100
150
200
250
300
350
400
450
012
24
36
48
60
72
84
96108120132144156168180192204216228240
VOP Nº
Número de MB com 0MV
Gráfico 3.3: Representação do movimento na sequência “Sala 121”.
Podemos então caracterizar estas oscilações como: • Dentro de cada VOP existe uniformidade no sentido dos vectores de movimento.
• Dependendo do contexto, geram um elevado número de vectores de movimento.
• Dada a natureza oscilatória do movimento e atendendo à estrutura utilizada para
a codificação e ao frame rate, o sentido dos vectores de movimento é invertido
entre VOPs consecutivas.
• Duração curta do movimento (1 segundo).
3.5 Caracterização dos movimentos da câmara
Nesta secção é apresentado um método para efectuar a distinção entre o
movimento da câmara e o movimento dos objectos, tendo como referência de
JungHwan Oh [19, 20], [21, 22, 23]. Numa sequência de imagens, cada VOP consiste
num conjunto de 22×18 Macroblocos (MB) e cada MB, por sua vez, consiste num
conjunto de 16×16 pixels.
Figura 3.10- Macroblocos em numa imagem do tipo CIF.
Cada MB é associado a um vector de movimento, MV, que é determinado a
partir de pares consecutivos de MBs, utilizando a terminologia já usada anteriormente
entre MB co-localizados. O MV representa o deslocamento do MB, entre dois VOPs,
que no caso do MPEG-4, dependendo da estrutura utilizada, poderá ser entre VOPs
consecutivos no tempo, ou não. O ponto P corresponde ao centro dos MB no VOPk e o
ponto P’ corresponde à mesma posição final no VOPk+1. O deslocamento é dado pelos
vectores n=1, 2,… (MVx, MVy) para os pontos entre os dois VOPs. Para efectuar o
cálculo dos movimentos da câmara é preciso extrair o MV, para todos os MB do VOP.
O cálculo destes vectores está facilitado, pois estão eles próprios incluídos no processo
de codificação. Sendo que cada MB pode ser dividido em 4 blocos, o MPEG
implementa o mecanismo de utilizar 4 vectores de movimento por MB, o que permite
um melhor refinamento e uma consequente diminuição do erro associado aos vectores
de movimento. Pode-se desde já definir que, em vez de utilizar 1 vector por MB, vai-se
utilizar 4MV por MB, o que faz com que em vez de 22×18 MVs tenhamos 44×36 MVs.
O facto de a codificação MPEG utilizar os MVs como parte do seu processo de
codificação permite evitar muito tempo e esforço computacional, que já foi efectuado
pelo codificador.
44
36
18
22
Figura 3.11- Divisão da imagem em 4 blocos por Macrobloco, o que resulta numa imagem CIF com 44x36 MV.
3.5.1 Modelo da câmara
Uma câmara transforma um ponto X=(X,Y,Z)T, de uma cena 3D num ponto da
imagem x=(x,y)T. Para muitas aplicações, é possível criar um modelo para uma câmara
pelo simples processo de projecção de pontos, em que as coordenadas no plano imagem
(plano da câmara) de um conjunto de pontos 3D vistos pela câmara pode ser expresso
por uma matriz 4×4, utilizando a notação e coordenadas homogéneas.
Figura 3.12- Modelo Afim para a câmara.
É possível utilizar vários modelos para criar o modelo da câmara, perspectiva,
Afim, etc. O modelo Afim, é um modelo que preserva o paralelismo, como se mostra na
Figura 3.12, e é utilizado para calcular o movimento a câmara, a partir dos vectores de
movimento. Além de só necessitamos pan, tilt, rotação e zoom, tem ainda a vantagem
de ser mais imune ao ruído e, comparado com outros modelos, o número de parâmetros
a calcular é menor. No modelo de movimento Afim o ponto na imagem (u, v),
localizado na posição (x, y) é expresso por:
+
=
2
1
65
32
a
a
y
x
aa
aa
v
u
onde o vector Ψ= [a1,a2,a3,a4,a5,a6] , é o vector dos parâmetros estimados a partir do
MV dos VOPS. Depois de estimar o valor para Ψ, podemos explorar esta informação
para caracterizar o movimento da câmara utilizando as seguintes expressões:
x1 x3
x2
x1 x2 x3 x'1 x'2
x'3
+
=
2
1
65
32
a
a
y
x
aa
aa
v
u
−=
+=
=
=
rotaçãoaarot
zoomaadiv
verticaltranslaçãoatilt
horizontaltranslaçãoapan
);(2
1
);(2
1;
;
35
62
4
1
O procedimento geral para a detecção de movimento da câmara, consiste em:
1. A partir dos MV são extraídos 3 MV, denominados MDMV - vector de movimento
mais dominante, que é definido como o MV com maior frequência. Destes, são
seleccionados 3 e são consideradas separadas as componentes em X e em Y,
representados, respectivamente, por MVx e MVy,. Para os três vectores com mais
frequência vamos ter MVx, MV’x, MV’’x, para as componentes em X, e as
correspondentes em Y: MVy, MV’y e MV’’y. Para a obtenção dos vectores de
movimento só são utilizadas pelo algoritmo as VOPs I e P, por eficiência e por
razões práticas. Nas VOPs P os vectores são extraídos directamente, pois todos os
vectores são do tipo Forward. Neste caso, há que ter em conta apenas a referência
temporal. Para as VOPs I, efectua-se uma interpolação entre as VOPs P anterior e a
imediatamente a seguir.
VOP-P, 3forwardMV
MV =
VOP-I, 3
int)()( eseguPVOPanteriorPVOP MVMVMV
−− +=
Esta extracção permite construir 2 matrizes, correspondentes às componentes em x e
y. MVx[22][18][4] e MVy[22][18][4], que corresponde às linha e colunas dos MB e
de 4 blocos em cada elemento
Para a obtenção dos MDMVs, procede-se do seguinte modo:
i) Pesquisa-se nas duas matrizes, das duas componentes, quais os três MVs mais
frequentes, que podem ser de componentes em X ou em Y, isto é MVx ou MVy;
ii) encontradas as três componentes mais frequentes, os MDVMs são os MV a que
correspondem as componentes encontradas em i)
2. Efectuar a normalização dos MDMVs, pois eles são diferentes e a sua frequência
também é diferente. Os MDMVs são normalizados utilizando diferentes pesos (ω1,
ω2, ω3) e essa normalização é obtida através de:
.MVx MVxω= , a calcular para os três vectores mais frequentes;
.MVy MVyω= , a calcular para os três vectores mais frequentes;
onde os parâmetros ω, são coeficientes 1, 2 e 3, como referidos acima e são calculados
da seguinte forma:
mvdetotaln
MDMVsden
º
º1º1 =ω
mvdetotaln
MDMVsden
º
º2º2 =ω
mvdetotaln
MDMVsden
º
º3º3 =ω
3. Cada vector é constituído por duas componentes: a componente em X e a
componente em Y, obtida dos 3 MDMV normalizados que são:
),( ,, jiji mvymvx
),( ','',' jiji mvymvx
),( '','''','' jiji mvymvx
Podemos calcular os respectivos deslocamentos:
( ) ( )( ) ( ) ( )( ) ( ) ( )( )'','','','',',',',',,,, vuyxvuyxvuyx , uma vez que conhecemos todas as
coordenadas. Para um par de vectores
+
=
4
1
65
32
a
a
y
x
aa
aa
v
u
++=
++=
465
132
ayaxav
ayaxau
temos 3 conjuntos de vectores, que vão originar 6 equações com seis incógnitas,
resultando em:
=
6
5
4
3
2
1
.
''''1000
000''''1
''1000
000''1
1000
0001
''
''
'
'
a
a
a
a
a
a
yx
yx
yx
yx
yx
yx
v
u
v
u
v
u
Tem-se um sistema de equações lineares, que representado na forma matricial
corresponde a
B=A.X
e cuja solução é dada pelo cálculo da matriz inversa, A-1, ou seja:
X=A-1B.
As posições escolhidas para as localizações dos MBs dominantes, não é feita ao
acaso, mas sim através do cálculo do “pseudo-centróide” do eventual objecto que
seria constituído pelo MBs dos MVs dominantes.
Cálculo do pseudo-centróide
Considerando os vectores de movimento dominantes, interessa saber quais as
coordenadas que se vai utilizar, ou seja, para cada conjuntos dos três vectores
dominantes, quais as coordenadas que se vão associar a cada um. Vai-se calcular o
pseudo-centróide associado a um pseudo objecto, que seria constituído pelos MBs
dominantes, e constrói-se uma matriz binária, em que os MBs pertencentes ao MV
dominante serão classificados como 1 e os outros serão classificados como 0.
[ ][ ] [ ]
[ ] [ ]
=
21,170,17
.........
21,0...0,0
,
BB
BB
jiB
Os valores de B[i,j] são 1 quando o MB pertence ao conjunto dos vectores
dominantes, e 0, quando não pertence. A área A do pseudo objecto será igual ao
número de MBs que constituem esse conjunto do vector dominante:
[ ]∑∑= =
=n
i
m
j
jiBA0 0
, ,
em que i e j são, respectivamente, as componentes na vertical e na horizontal. As
coordenadas do pseudo centróide serão dadas por:
[ ]
A
jiBi
x
n
i
m
j
∑∑= == 0 0
,.
[ ]
A
jiBj
y
n
i
m
j
∑∑= == 0 0
,.
Uma imagem com o formato CIF tem m=22 e n=18.
4. Cálculo dos parâmetros da câmara Ψ= [a1,a2,a3,a4,a5,a6].
5. Cálculo dos parâmetros da câmara: pan, tilt, rotação e zoom.
6. Os sinais de pan e tilt indicam a direcção do movimento da câmara na horizontal e na
vertical, respectivamente. Se um valor de pan é positivo, o movimento da câmara é
para a direita, se for negativo o movimento é para a esquerda. Se o valor de tilt é
positivo o movimento da câmara é para cima, caso contrário o movimento é para
baixo.