Buscar

Aplicação de critérios de avaliação objetivos de qualidade de vídeo

Prévia do material em texto

IV SRST – SEMINÁRIO DE REDES E SISTEMAS DE TELECOMUNICAÇÕES
INSTITUTO NACIONAL DE TELECOMUNICAÇÕES – INATEL
ISSN 2358-1913
AGOSTO DE 2016
Aplicação de Critérios de Avaliação Objetivos de
Qualidade de Vídeo No-Reference a Streams Reais
de TV Digital
Vitor de Paula1, Lucas Dias Palhão Mendes2
Abstract—This work describes the implementation of a comput-
ing system for no-reference objective video quality analysis and
tests executed on real captured digital TV streams.
Index Terms— Digital TV, no-reference, video, quality.
Resumo—Este trabalho descreve a implementação de um sis-
tema computacional para análise objetiva de qualidade de vídeo
no-reference e sua utilização em testes com streams reais captura-
dos de TV digital.
Palavras chave— TV Digital, no-reference, video, qualidade.
I. INTRODUÇÃO
A cada dia, mais dispositivos capazes de reproduzir vídeo di-
gital são lançados no mercado, chegando a ultrapassar o número
de pessoas no planeta [1]. Entretanto, o congestionamento do
espectro de frequências, utilizado para a transmissão de vídeo
para os dispositivos móveis, requer que a eficiência de seu uso
continue crescendo. Uma das formas de se economizar o es-
pectro é através do uso de codificação e compressão de vídeo
digital antes de sua transmissão. Porém, a avaliação dessas téc-
nicas torna-se necessária para manter a qualidade da experiência
(QoE) dos usuários [1], uma vez que a compressão retira do ví-
deo informações menos perceptíveis ao olho humano.
De acordo com [1], a análise subjetiva da qualidade de vídeo é
mais valiosa que a automatizada, uma vez que os consumidores
de vídeo digital são as próprias pessoas que o avaliam subjeti-
vamente. Entretanto, por se tratar de um processo caro e lento,
quanto mais as abordagens computadorizadas se aproximarem
da avaliação subjetiva, mais rápido se torna o processo, com
Trabalho de Conclusão de Curso apresentado ao Instituto Nacional de Te-
lecomunicações, como parte dos requisitos para a obtenção do Certificado de
Pós-Graduação em Engenharia de Redes e Sistemas de Telecomunicações e De-
senvolvimento de Software. Orientador: Prof. Lucas Dias Palhão Mendes. Tra-
balho aprovado em 08/2016.
pouco prejuízo para o resultado final. Dessa forma, o objetivo
deste trabalho é estudar dois algoritmos de análise de artefatos e
avaliar sua precisão em comparação com uma análise subjetiva.
O restante do trabalho está organizado conforme a seguir. Na
seção II uma explicação sobre qualidade de vídeo digital é apre-
sentada. Na seção III é descrito o sistema computacional utili-
zado para a extração dos dados e execução dos algoritmos, que
por sua vez são apresentados na seção IV. Na seção V, uma expli-
cação dos dados usados nas análises é feita, seguida pela seção
VI que detalha os resultados obtidos. Finalmente, na seção VII,
as conclusões a respeito dos resultados são apresentadas, bem
como propostas para trabalhos futuros.
II. QUALIDADE DE VÍDEO DIGITAL
No tocante à qualidade de vídeo digital, o objetivo é permitir um
déficit que não seja discernível aos usuários, de modo que haja
algum espaço para permitir a compressão e transmissão do fluxo
dentro dos canais disponíveis [2].
Para medir a qualidade de vídeo, portanto, a ideia é encon-
trar “fatores de incômodo” que a compressão e perdas no canal
causam nos espectadores. E a maneira mais direta que se pode
conceber seria uma votação: um conjunto de espectadores, tam-
bém submetidos a critérios para tentar eliminar possíveis parci-
alidades de julgamento, analisam o conteúdo e atribuem notas.
Esses critérios, por usar pessoas avaliando a qualidade de vídeo
segundo suas próprias conjecturas, mesmo que submetidos a al-
gumas regras, são chamados critérios subjetivos.
Porém, empregar pessoas toma tempo e, em algumas aplica-
ções, a análise precisa ser feita rapidamente ou mesmo em tempo
real. Por exemplo, em sistemas que tomam decisões em tempo
real para ajustar o codificador de vídeo com base nas medidas de
qualidade. Para essas aplicações, foram criadas medidas objeti-
vas, calculadas computacionalmente. Isso não significa que as
medidas objetivas sejam mais precisas que as subjetivas. Pelo
contrário, as melhores medidas objetivas são as que mais se
aproximam estatisticamente das subjetivas.
Os fatores mensuráveis que afetam a qualidade de vídeo di-
gital são as perdas por quantização e os artefatos de compres-
são. Por artefatos entendem-se as distorções que são possíveis
ser notadas pela audiência durante a posterior descompressão e
apresentação.
As perdas por quantização podem ocorrer em 3 fases:
• Perda ou ruído de quantização na amostragem: Produzido
pela representação do sinal de vídeo em valores inteiros.
Normalmente é introduzido na captura em si, mas esse
ruído pode ser aumentado caso o número de bits de repre-
sentação seja reduzido na compressão. Quanto menos bits
para representar o sinal original, maior o erro.
• Quantização no domínio da frequência: Muitas técnicas
de compressão dividem as imagens originais em blocos e
os transformam (usando transformada discreta de Fourier
(DFT) na forma matricial) para o domínio da frequência.
Ao resultado são aplicados fatores de escala não-lineares
que atenuam alguns componentes, principalmente os de
alta frequência, que são menos perceptíveis. Isso resulta
em matrizes altamente comprimíveis, mas tais componen-
tes são perdidos, o que introduz erros.
• Quantização de cores: Como o sistema visual humano (hu-
man visual system – HVS) é pouco sensível à perda de in-
formação de cor, é possível reduzir o número de cores nas
imagens, tornando-as mais comprimíveis. Outras técnicas
como o dithering (representação de cores intermediárias
por padrões de pixel de cores vizinhas) ajudam a esconder
os erros introduzidos por essa redução do número de cores
nas regiões onde haviam mudanças graduais de tonalidade.
Além de serem causados pelos erros mencionados anterior-
mente, os artefatos visuais também são causados pelas técnicas
de compressão. Seus tipos mais comuns são:
• Artefatos de embaçamento (blurring): Causados pela ate-
nuação das componentes de alta frequência na compressão.
Como o nome diz, isso se apresenta visualmente como um
embaçamento das bordas mais duras e aparente desfoque
de alguns objetos em cena.
• Artefatos de bordas de bloco (blocking): Acontece devido à
divisão da imagem em blocos antes da transformação para
o domínio da frequência. Dependendo das perdas por com-
pressão de cada bloco, a diferença de cor entre blocos vizi-
nhos pode tornar as bordas muito visíveis.
• Artefatos de oscilação (ringing): Em torno de bordas, onde
existem componentes de alta frequência, a perda desses
componentes do domínio da frequência causa, no domínio
do espaço, um efeito de oscilação na imagem em torno des-
sas bordas.
• Artefatos de aliasing: A representação dos pixels por um
número finito de componentes de frequência se traduz no
domínio do espaço em componentes que se estendem e se
misturam com os pixels vizinhos. Outros componentes vi-
suais se formam devido à representação por pixels quadra-
dos em bordas ou por padrões de textura inclinadas em re-
lação à matriz de pixels (efeito “escadinha” e padrões de
Moiré).
• Artefatos de flickering: Ocorre apenas em monitores CRT
(tubo de raios catódicos) – é um artefato no domínio do
tempo, quando a compressão ou a reconstrução causam in-
terrupções (falta de imagem) por tempo superior à percep-
ção humana (algo em torno de 100ms).
• Artefatos de jerkiness: Também temporal, é a falta de flui-
dez na imagem devido à perda de quadros. Acima de 24
quadros por segundo, a representação das imagens em qua-
dros não é percebida, mas o congelamento de quadros de-
vido às perdas podem se tornar perceptível para o HVS.
• Outros: Perdas de blocos de quadros chave na transmissão,
ruído nos sensores de captura de imagem na fonte etc.
Os algoritmos de medição objetiva têm o objetivo de en-
contrar e medir essas distorções, de uma maneira que tente se
aproximar estatisticamente das aferiçõesfeitas por pessoas (com
base em modelos perceptivos). Embora sejam apenas aproxima-
ções das aferições humanas, eles têm a vantagem de poderem
ser automatizados.
Esses algoritmos podem ser utilizados em uma variedade de
soluções, dentre elas:
• Monitoramento e ajuste dinâmico de qualidade de trans-
missão;
• Otimização de parâmetros de sistemas de codificação;
• Benchmark e comparação de soluções de processamento de
vídeo.
E finalmente, em relação à quantidade de informação disponí-
vel para avaliação, existem 3 formas de se medir objetivamente
a qualidade:
• Full-Reference (FR): São métricas que utilizam como re-
ferência o stream original de vídeo, na melhor “qualidade”
possível (usualmente na qualidade em que o vídeo foi cap-
turado), antes de passar pelas etapas de compressão. Nor-
malmente, o resultado pós-compressão é comparado com
o original e as diferenças são utilizadas para se avaliar a
qualidade.
• Reduced-Reference (RR): utilizam como referência parâ-
metros extraídos do stream original mas não o stream ori-
ginal em si.
• No-Reference (NR): Não utiliza quaisquer referências além
do próprio stream após a compressão. Normalmente utili-
zados em sistemas onde o acesso ao stream original, seja
completo ou reduzido, é muito difícil ou impossível, como
é o caso de transmissão em rede ou via difusão. Há a di-
ficuldade adicional, entretanto, em diferenciar computacio-
nalmente entre distorções e o vídeo em si.
A Figura 1, a seguir, mostra um diagrama de blocos típico dos
algoritmos FR e NR.
Figura 1: Diagramas típicos de algoritmos de medida de qualidade de imagem,
FR e NR.
O foco deste trabalho é a utilização de algoritmos dessa úl-
tima categoria em streams capturados em redes reais de TV di-
gital. Devido ao fato de não necessitar de canais adicionais para
o envio de informações de referência, algoritmos NR têm vastas
aplicações, principalmente no setor de telecomunicações, como
por exemplo:
• Quantificação objetiva de nível de serviço entregue ao
usuário;
• Monitoramento de qualidade para manutenção de níveis de
serviço acordados (SLA);
• Coleta estatística em tempo real da qualidade de serviço.
De acordo com as classificações feitas em [2], pode-se dividir
os algoritmos NR em duas grandes categorias:
• NR-P: Métodos no-reference baseados na análise dos pixels
de cada quadro, que por sua vez podem ser subdivididos
em:
◦ Métodos baseados em análise de artefatos: blur, bloc-
king, ringing, ruído e artefatos temporais (e.g., qua-
dros repetidos);
◦ Métodos baseados em análise de características de ce-
nas naturais e outras características espaciais.
Esses são métodos computacionalmente muito pesados,
pois exigem a decodificação completa e análise da imagem
quadro a quadro.
• NR-B: Métodos no-reference baseados na análise do cabe-
çalho e características da stream em si. A ideia aqui é con-
seguir usar essas informações contidas nos pacotes e nos
cabeçalhos de forma a fazer análises de qualidade sem pre-
cisar de um decodificador completo. Embora não seja tão
preciso como os métodos NR-P, são computacionalmente
muito mais leves. Aqui se encontram métodos que anali-
sam perdas de pacote, taxa de bits, taxa de quadros, vetor
de movimento, fatores de quantização (QP), etc.
Finalmente, podemos classificar alguns métodos como híbri-
dos, com características tanto NR-P como NR-B, analisando si-
multaneamente parâmetros das duas categorias acima, além de
estatísticas de histogramas de transformação de Fourier (DFT) e
transformadas wavelet (para analisar nitidez).
Na próxima seção, o ambiente criado para a implementação e
testes dos algoritmos de análise de qualidade será apresentado.
III. SISTEMA COMPUTACIONAL
A linguagem Python foi escolhida para a implementação dos
algoritmos devido, principalmente, à sua vasta biblioteca para
aplicação em pesquisa. Merecem destaque as bibliotecas de aná-
lise numérica (numpy), computação científica (scipy), e a usada
para desenhar gráficos de diversos tipos (pylab). Replicando a
maioria dos recursos do MATLAB, a linguagem se torna uma
extensão natural da ferramenta, que é geralmente usada para va-
lidar os algoritmos de análise de qualidade de vídeo.
Além disso, a biblioteca OpenCV, para manipulação de ima-
gens e vídeos, foi útil para decodificar o stream de TV digital di-
retamente do arquivo de captura, encapsulando os detalhes mais
complexos de uso da libav/ffmpeg.
Um script foi desenvolvido importando as bibliotecas
OpenCV [3] que decodifica o vídeo e extrai as imagens de cada
frame. Estas imagens são representadas em matrizes para aná-
lise numérica (numpy arrays) e convertidas para escala de cinza,
sendo então entregues para análise pelos algoritmos.
O script é executado via linha de comando, com opções de
escolha de mídia, número de frames, frame inicial e uma op-
ção experimental para processamento paralelo (que aceleraria o
processamento em máquinas multi-core, mas acabou não sendo
utilizada no contexto deste artigo).
Os algoritmos de análise foram implementados em arquivos
separados, de modo a serem importados pelo script e aplicados
diretamente sobre as imagens em escala de cinza. Eles serão
explicados na seção seguinte.
IV. ALGORITMOS
Dois métodos NR-P, baseados em análise de artefatos, foram
implementados:
• Um para análise de blur, segundo [4], deste ponto em diante
referenciado por debing
• Um para análise de blocking, segundo [5], deste ponto em
diante referenciado por zwang
Ambos foram implementados em Python.
O debing foi codificado diretamente seguindo-se a descrição
presente no artigo correspondente [4].
O zwang foi obtido inicialmente a partir da conversão do
script MATLAB original disponibilizado pelos autores do ar-
tigo [5] para Python/SciPy/NumPy pelo sistema Libermate [6],
revisado e aprovado após comparação de seus resultados direta-
mente com os da execução do arquivo .m portado para Octave
[7].
A.Debing (blur):
No algoritmo de debing [4], conforme as Figuras 2 e 3 a seguir,
a imagem é dividida em blocos de tamanho 16x16 (macroblocos
do H264). Este algoritmo se baseia na variância do cálculo da
variância local em torno dos pontos centrais das bordas desses
blocos.
Figura 2: Algoritmo de debing
Essa variância local é calculada inicialmente na vertical, con-
forme a Figura 3, nos pontos superiores e inferiores (P_v1 e
P_v2) de cada bloco de tamanho 16 x 16, a partir da amostra-
gem de 24 pontos - 16 na vertical e 8 na horizontal, segundo a
figura 2, através da fórmula da variância:
Var l =
√
∑N
i=1 (xi − x̄)
2
N − 1
(1)
onde N representa o número de amostras, xi é a amostra número
i e x é a média das amostras.
Figura 3: Pontos utilizados no cálculo da variância local
Os pontos cuja variância ficou fora da faixa [2,30] são descar-
tados pois, segundo debing, o cálculo do blur é muito impreciso
em regiões com textura muito plana ou muito complexa.
Para todos os pontos restantes, o blur vertical local é calcu-
lado como sendo a distância entre os os pontos de mínimo e má-
ximo nos 16 pontos tomados na vertical (vide novamente Figura
3), conforme representado na Figura 4.
Figura 4: Cálculo do blur local
O algoritmo é repetido novamente para os pontos centrais
das bordas esquerda e direita (P_h1 e P_h2) dos macroblocos,
tomando-se então 16 pontos na horizontal e 8 pontos na vertical
para cálculo da variância local e os 16 pontos na horizontal para
cálculo do blur horizontal local em cada ponto cuja variância
ficou na faixa [2,30].
Faz-se então a média de todos os valores obtidos para blur lo-
cal, obtendo-se o valor do blur global da imagem, tomado como
score.
B.Zwang (blocking):
Já em [5] trabalharam em um algoritmo de análise para imagens
JPEG baseado na extração de artefatos de blocking.
Inicia-se calculando a diferença entre os pixels da imagem em
escala de cinza ao longo da horizontal:
dh(m,n) = x(m,n+ 1)− x(m,n), n ∈ [1, N − 1] (2)
onde x(i,j) é o valor da luminância no pixel de coordenada (i,j)
da imagem.
Depois, estimam-se 3 coeficientes, conforme apresentado a
seguir.O primeiro, o coeficiente de blocagem Bh, é estimado como a
média das diferenças ao longo das bordas dos blocos (8x8):
Bh =
1
M(⌊N/8⌋ − 1)
M
∑
i=1
⌊N/8⌋−1
∑
j=1
|dh(i, 8j)| (3)
para a imagem de tamanho M x N pixels.
Então são feitas duas estimativas de atividade do sinal da ima-
gem.
A primeira é a média absoluta das diferenças entre as amostras
dos blocos:
Ah =
1
7


8
M(N − 1)
M
∑
i=1
N−1
∑
j=1
|dh(i, j)| −Bh

 (4)
E a segunda é a taxa de cruzamento de zero das diferenças.
Para n ∈ [1, N − 2]:
zh(m,n) =
{
1
0
se houver cruzamento de zero em dh(m,n)
se não houver
(5)
Sendo a taxa de cruzamento de zero calculada por:
Zh =
1
M(N − 2)
M
∑
i=1
N−2
∑
j=1
zh(m,n) (6)
Usando métodos similares, calculam-se os valores na vertical
Bv, Av, Zv; e os valores finais para os coeficientes de blocagem
B, para o coeficiente de atividade A e para a taxa de cruzamento
de zero Z são dados pelas médias de seus valores horizontais e
verticais:
B =
Bh +Bv
2
, A =
Ah +Av
2
, Z =
Zh + Zv
2
(7)
Para combinar esses valores em um valor final para o score,
em [5] utilizaram da seguinte fórmula:
S = α+ βBγ1Aγ2Bγ3 (8)
E as constantes α, β, γ1 , γ2 e γ3 foram ajustadas a partir de
regressão de dados de testes subjetivos [5]:
α = −245,9; β = 261,9;
γ1 = −0,0240; γ2 = 0,0160 e γ3 = 0,0064
Os dados que serão analisados pelos algoritmos apresentados
são enumerados na seção a seguir.
V. DADOS PARA ANÁLISE
Um conjunto de vídeos foram capturados em São Paulo,
utilizando-se um dongle USB com decodificador (demux/tuner)
ligado em um PC rodando Ubuntu e o programa VLC (através
da interface Video4Linux – V4L). Várias frequências foram tes-
tadas e escolheram-se alguns vídeos representativos de diversas
qualidades, desde vídeos 1-Seg 320x180 com erros claros de re-
cepção mostrando elevada taxa de artefatos, até vídeos Full-Seg
1920x1080 com altíssima qualidade (recepção perfeita em ca-
mada de 12 segmentos e baixo overhead de codificação).
Um total de 4 vídeos 1-Seg e 3 vídeos Full-Seg foram seleci-
onados para análise:
• test_1seg_01_good.ts: um programa de entrevista, um ví-
deo de boa qualidade de recepção em baixa resolução;
• test_1seg_02_fair.ts: uma seção de plenário de justiça, um
vídeo de qualidade média, de baixa resolução, com alguns
erros de recepção;
• test_1seg_03_bad.ts: um vídeo de baixa resolução e pés-
sima qualidade, de comercial de TV, com muitos erros de
recepção;
• test_1seg_04_good.ts: um trecho de filme, de qualidade
de média para boa e baixa resolução, com poucos erros de
recepção;
• test_full_01_perfect.ts: um vídeo curto de altíssima qua-
lidade e resolução, sem erros, de um programa de entrevis-
tas;
• test_full_02_fair.ts: um vídeo de boa qualidade e resolu-
ção média, com poucos erros de recepção, referente a uma
sessão do senado;
• test_full_03_mixed.ts: um vídeo de intervalo comercial da
TV senado, com conteúdo variado em termos de qualidade,
com alguns erros de recepção e resolução média.
A aplicação dos algoritmos a esse conjunto de dados gerou os
resultados apresentados a seguir.
VI. RESULTADOS DOS TESTES
A.test_1seg_01_good.ts
Este é um vídeo curto de aproximadamente 2 minutos capturado
de um programa de entrevista, que consiste praticamente na al-
ternância entre 2 interlocutores, como mostrados na Figura 5:
Figura 5: Imagens de test_1seg_01_good.ts
O resultado da execução dos algoritmos pode ser visto na Fi-
gura 6.
Figura 6: Análise de test_1seg_01_good.ts
No algoritmo zwang, nota-se claramente a presença de dois
patamares distintos. Pode-se verificar no vídeo que a troca en-
tre os patamares ocorrem exatamente quando a câmera troca de
interlocutor.
O patamar inferior corresponde às cenas do homem (cena es-
querda da Figura 5) enquanto o patamar superior corresponde às
cenas da mulher (cena da direita).
Dentro da mesma cena, a variação é muito discreta.
Já em debing não pudemos encontrar diferença de score nas
cenas entre os dois interlocutores. O único salto ocorre do frame
956 para o 957, também em uma troca de cena, mas no caso,
para uma cena de tomada aberta no vídeo, mostrando os dois
interlocutores (figura abaixo).
Figura 7: Cena aberta de test_1seg_01_good.ts
Esse trecho, em que debing vai de 7,8 para 9,0, é o único
momento do vídeo em que a tomada aberta é mostrada. Dura
13 segundos, até o frame 1150, que também coincide com uma
queda para o patamar em torno de 8,0.
B.test_1seg_02_fair.ts
Já este vídeo, de uma sessão plenária do STF, consiste basica-
mente de 3 cenas, mostradas na Figura 8, a seguir.
Figura 8: Cenas de test_1seg_02_fair.ts
A análise está na Figura 9 a seguir:
Figura 9: Análise de test_1seg_01_good.ts
As 3 cenas são mais facilmente notadas em debing. O patamar
superior se relaciona com a cena do primeiro interlocutor (com
fundo escuro e uma pilha de documentos à direita), o patamar
médio à cena aberta, e o patamar inferior ao segundo interlocu-
tor, com fundo claro mais uniforme.
Já em zwang a variação, bem mais discreta, não nos permitiu
encontrar relação. Há um pico no final, que ocorre, aparente-
mente, em um momento em que há erro de decodificação no
vídeo (congelamento) e não tem relação com a qualidade do ví-
deo.
C.test_1seg_03_bad.ts
Esse video foi capturado em condições desfavoráveis de recep-
ção, e se caracteriza por cenas comerciais com trechos de grande
quantidade de artefatos blocagem devido às perdas de dados.
Em um certo trecho, do frame 204 ao 215, o decodificador
deixa temporariamente de retornar imagens, e os algoritmos re-
tornam NaN como resultado, por isso da descontinuidade vista
no gráfico da Figura 11 entre os frames 205 e 214.
No frame 297, o decodificador H.264 retorna falha de sistema
e a análise é interrompida.
Figura 10: Cenas de test_1seg_03_bad.ts; erros de decodifição com artefatos de
blocagem
Nesses trechos com maior quantidade de erros, conforme
mostrado na Figura 10, o algoritmo de zwang exibiu quedas
abruptas nos valores dos scores, demonstrando sua capacidade
de detectar blocagem.
Já debing, cujo foco é na nitidez (variância da textura da ima-
gem), não reagiu de forma tão acentuada.
Figura 11: Análise de test_1seg_01_good.ts
D.test_1seg_04_good.ts
Esse video é um trecho de filme, mais longo e de boa qualidade.
Como o tempo do vídeo é grande, há muita variação do score
em ambos os algoritmos.
A análise pode ser facilitada pela identificação no gráfico da
Figura 12, a seguir, alguns trechos específicos onde é possível
notar uma resposta dos algoritmos (queda ou subida abrupta para
um patamar).
Figura 12: Análise de test_1seg_01_good.ts
Esses trechos são representados pela Figura 13 abaixo.
Figura 13: Seleção de cenas de test_1seg_04_good.ts onde existe variação de
patamar de score
A primeira cena é semiestática e mostra a vista frontal (porta)
de uma casa com folhagem em volta. Quando ampliada, fica
clara a falta de nitidez: a cena parece estar borrada. Há alguns
artefatos de blocagem nas regiões de folhagem (zwang também
fica em um patamar mas reage menos que debing).
A segunda cena, conforme visto na Figura 13, é uma cena es-
cura, muito curta (2–4 frames), em que os cabelos de uma mu-
lher batem na câmera, cobrindo toda a imagem. Sobram apenas
artefatos de blocagem em uma cena sem imagem. Zwang reage
com um pico de score de um patamar 9–10 para 6, voltando ao
normal logo após.
Um pequeno pico, oposto ao de zwang (para cima) pode ser
notado em debing na mesma imagem. Não há imagem que possa
ser analisada para se dizer se há nitidez ou não, mas talvez a
grande presença de artefatos cause alta variância nas bordas dos
macroblocos, dando uma falsa impressão de nitidez.
A terceira imagem é de uma passagem entre duas cenas. Não
há reação de zwang, mas debing reage com um forte pico para
baixo, seguido de outro pico para cima. Os frames da cena são
uma simulação de que um soldado teria apontado uma lanterna
ao rosto do expectador, deixando-o temporariamente cego (cena
toda branca), com um efeito de fade-in para a imagem de pessoa
à qualteria sido apontada a lanterna. Aqui, a cena pode ter sido
interpretada incorretamente pelo algoritmo de debing. Ao deixar
a cena toda branca, praticamente todos os pontos têm baixíssima
variância, o que pode ter levado ao corte na heurística ([2,30]),
conforme explicado anteriormente, na descrição do algoritmo.
Finalmente, a última cena é um ângulo aberto de uma mulher
em uma cama de hospital cercada de pessoas. Quando ampliada,
a nitidez é claramente baixa (borrada, assim como a primeira
cena), o que se nota no gráfico de debing.
Não é possível notar artefatos de blocagem na cena, embora
zwang também tenha tido uma forte reação a um patamar mais
baixo. A cena, entretanto, tem diversos objetos com fortes traços
horizontais e verticais, a cama de hospital, lâmpadas e conduí-
tes de energia nas paredes. Isso pode ter levado a heurística de
zwang a uma falha de interpretação, relacionando essa carac-
terística de cena a um baixo score, da mesma maneira que em
cenas com presença real de artefatos de bloco.
E.test_full_01_perfect.ts
Um vídeo de alta definição (HD) de um programa de entrevista,
com duas cenas. Uma tomada em ângulo aberto, do entrevista-
dor e entrevistado em uma mesa com um telão ao fundo e uma
outra tomada em ângulo fechado do rosto do entrevistado.
Figura 14: Cenas de test_full_01_perfect.ts
Figura 15: Análise de test_full_01_perfect.ts
Praticamente não houve variação em debing, independente-
mente da cena. Ambas são muito nítidas.
Já zwang teve 2 patamares bens distintos, um para cada cena.
A cena fechada no rosto da entrevistada teve um score médio,
ligeiramente maior que da cena de ângulo aberto. Considerando
a ausência de artefatos de blocagem em ambas as cenas, a única
explicação seria a presença de objetos de ângulos retos na cena
(mesa, parede, pernas da cadeira, telão) que afetam a heurística
de zwang de maneira negativa.
Isso já aconteceu na 4ª cena de test_1seg_04_good. É possível
inferir que zwang pode não distinguir bem artefatos de blocagem
de objetos nas cenas.
F.test_full_02_fair.ts
Este video tem uma única cena: uma senadora fazendo um dis-
curso em palanque. A cena tem média definição (SD).
Figura 16: Cena de test_full_02_fair.ts
Aqui vemos um efeito interessante: os gráficos de score têm
um comportamento cíclico, com picos negativos – em zwang –
de aproximadamente 1 ponto a cada 59 frames. Debing também
exibe o comportamento, embora menos pronunciadamente.
Figura 17: Análise de test_full_02_fair.ts
Na cena, não há presença de artefatos, exceto no frame 765
(que está mostrado à direita na Figura 16), quando ocorre dis-
torção e blocagem devido a um erro de recepção. Nesse ponto
específico, ocorre um pico (para cima, contraintuitivamente) em
zwang. Não há efeito em debing.
Quanto ao comportamento cíclico, há apenas um motivo em
cena que exibe propriedade capaz de causá-lo: um banner de
texto na parte inferior exibindo notícias, com rolamento do texto
em velocidade constante para a esquerda. Portanto, os picos
podem ser relacionados com os momentos no tempo em que as
bordas das letras atravessam as bordas dos macroblocos, que são
os principais pontos de análise em ambos os algoritmos.
Assim, nota-se mais uma vez que, embora os algoritmos re-
almente reajam quando da presença de problemas reais (nitidez
e blocagem) objetos em cena também podem causar efeito di-
reto no score dos algoritmos, sem relação com a qualidade da
imagem.
G.test_full_03_mixed.ts
O último vídeo analisado se trata de um intervalo comercial
composto por uma sequência de cenas variadas, em definição
média (SD).
Figura 18: Cenas de test_full_03_mixed.ts
É mais fácil de notar as mudanças de cena em debing. O
que mais varia é na nitidez da cena. Os erros de recepção são
mínimos, não havendo muitos artefatos de bloco.
Zwang reage um pouco menos, e não pela presença de artefa-
tos de blocagem, mas especificamente pela mudança das carac-
terísticas da cena em si. Debing reage mais fortemente, sendo
possível notar claramente cada cena no próprio gráfico.
Figura 19: Análise de test_full_03_mixed.ts
A segunda cena (imagem superior direita da Figura 18) mos-
tra uma característica interessante: consiste em um video antigo,
bem fora de foco. No início da cena o score de debing dá um
salto, mas para um patamar superior (seria de se esperar o con-
trário). Então um banner entra na cena com uma transição slide-
in (imagem da segunda linha da coluna da direita da Figura 18).
No gráfico, é interessante notar que durante a transição debing
registra uma queda gradual, até um patamar inferior.
O fato do banner causar a queda gradual é facilmente explicá-
vel: a textura limpa do banner faz a variância local ficar próxima
de zero, eliminando essa região do cálculo do algoritmo devido
à faixa de corte.
Há apenas um ponto do gráfico onde há um pico (os outros
são patamares), para ambos os algoritmos. É uma cena de tran-
sição, sem imagem, onde se mantém apenas o banner, conforme
a Figura 20 a seguir.
Figura 20: Uma cena de transição de test_full_03_mixed.ts
As outras cenas não têm efeito de transição, e seus patamares
são praticamente constantes.
A cena de maior nitidez é a penúltima: um gráfico gerado em
computador.
Os outros patamares, embora possam ser claramente notados
no gráfico têm valores médios próximos, e não é possível fazer
uma análise qualitativa a respeito.
VII. CONCLUSÕES E TRABALHOS FUTUROS
Embora seja possível notar que cenas explicitamente com alta
quantidade de blocos ou baixa nitidez (borrada) cause reação
clara respectivamente nos algoritmos de zwang e debing, não foi
possível encontrar correlação entre os scores obtidos e a quali-
dade percebida subjetivamente na imagem pelos autores.
Algumas hipóteses foram postuladas para o porquê dessa di-
ferença de resultados, como por exemplo o tamanho dos macro-
blocos escolhidos, os valores escolhidos para corte da variância
([2,30]) ou o tamanho das imagens utilizadas, mas que aparente-
mente não devem ser válidas, considerando que os macroblocos
em H.264 são realmente 16x16 e o artigo original de debing [4]
trabalha em imagens 720p/1080p, resoluções em conformidade
com o ambiente de TV digital escolhido.
No caso de zwang [5], trabalho mais antigo, é mais claro que
o algoritmo foi especificamente desenhado para imagens JPEG
em baixas resoluções e não vídeo de TV digital.
Os valores intermediários para cálculo são feitos em blocos
8x8 e as imagens selecionadas dos bancos de dados para o teste
subjetivo que resultou nos coeficientes de regressão também não
são imagens do ambiente de TV digital proposto.
Seria interessante refazer esse estudo com um tamanho de
bloco 16x16 e utilizar imagens de diferentes resoluções para re-
cálculo dos coeficientes.
Tanto a verificação do algoritmo de debing como a portabili-
dade do zwang para o novo cenário são propostas para trabalhos
futuros.
Ainda assim, informações interessantes podem ser inferidas
dos gráficos, como por exemplo:
• É possível verificar facilmente nos gráficos quais cenas dos
vídeos são estáticas ou dinâmicas, apenas olhando a varia-
ção dos scores. Cenas estáticas tendem a estabilizar em um
patamar.
• Para cenas estáticas, é possível delinear exatamente início
e fim de cena, pelo início e fim do patamar nos gráficos.
• Certos padrões de objetos ou texturas na cena (por exem-
plo, linhas horizontais e verticais, grandes áreas em branco,
entre outras) podem levar a heurística dos algoritmos a cál-
culos equivocados, resultando em uma falsa ideia de que
haveria presença de artefatos de compressão na imagem,
ou o contrário, que a cena teria alta qualidade.
A aplicabilidade dos algoritmos em sistemas de extração de ce-
nas, ou para ajustes de parâmetros para compressão de vídeo
também são propostas de trabalhos futuros.
REFERÊNCIAS
[1] SAHID, M.; ROSSHOLM, A.; LÖVSTRÖM, B.; ZEPERNICK, H. No-
reference image and video quality assessment: a classification and review
of recent approaches. EURASIP Journal on Image and Video Processing,
dez. 2014.
[2] AKRAMULLAH,S. Digital Video Concepts, Methods, and Metrics:
Quality, Compression, Performance, and Power Trade-off Analysis;
p.101-123 – Apress Media 2014
[3] OPENCV. Getting Started with Videos. Disponível em:
❤!!♣✿✴✴❞♦❝(✳♦♣❡♥❝✈✳♦-❣✴✸✳✵✲❜❡!❛✴❞♦❝✴♣②❴!✉!♦-✐❛❧(✴
♣②❴❣✉✐✴♣②❴✈✐❞❡♦❴❞✐(♣❧❛②✴♣②❴✈✐❞❡♦❴❞✐(♣❧❛②✳❤!♠❧. Acesso em
10 de out. 2015.
[4] DEBING, L.; ZHIBO, C.; HUADONG, M.; FENG, X.; XIAODONG, G.;
No Reference Block Based Blur Detection - Thomson Corporate Research,
Beijing University of Posts and Telecommunications, Beijing, QoMEX
2009.
[5] WANG, Z.; SHEIKH, H.; BOVIK, A.; No-Reference Perceptual Quality
Assessment of JPEG Compressed Images - submitted to IEEE Interna-
tional Conference on Image Processing, Sept. 2002.
[6] Libermate: A MATLAB to Python (SciPy/NumPy) Translator. Disponível
em: ❤!!♣(✿✴✴❣✐!❤✉❜✳❝♦♠✴❛✇❡(♦♠❡❜②!❡(✴❧✐❜❡-♠❛!❡. Acessado em
22 nov. 2015.
[7] GNU Octave. Disponível em: ❤!!♣(✿✴✴✇✇✇✳❣♥✉✳♦-❣✴(♦❢!✇❛-❡✴
♦❝!❛✈❡✴. Acessado em 25 nov. 2015.
Vitor de Paula nasceu em Guarujá, SP, em maio de 1977.
Possui o título de bacharel em Engenharia de Computação pela
Universidade Estadual de Campinas – UNICAMP (1999), na
modalidade de Sistemas e Processos Industriais, tendo se espe-
cializado em Telecomunicações. Atualmente trabalha no Ins-
tituto Nacional de Telecomunicações – INATEL, onde desen-
volve Software Aplicativo no Inatel Competence Center. Tem
interesse nas áreas de Desenvolvimento de Aplicativos Móveis,
TV Digital, Software Embarcado e Protocolos de Comunicação.
Graduado com mérito, atou por mais de 15 anos no segmento
de celulares, atuando como líder técnico no desenvolvimento de
diversos modelos.
Lucas Dias Palhão Mendes recebeu o título de mestre em
redes de telecomunicações pelo Instituto Nacional de Teleco-
municações – INATEL em 2009. Atualmente, é engenheiro de
desenvolvimento de produtos na Hitachi Kokusai Linear e cursa
o doutorado em microeletrônica pela Universidade Federal de
Itajubá – UNIFEI. Seus principais interesses de pesquisa são In-
ternet das Coisas, simulação de protocolos para redes de sen-
sores, desenvolvimento e simulação de circuitos integrados, e
sistemas de TV digital.

Continue navegando