Baixe o app para aproveitar ainda mais
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.
Compartilhar