• Nenhum resultado encontrado

Implementação de métrica de avaliação objetiva de qualidade de vídeo digital em lógica reconfigurável

N/A
N/A
Protected

Academic year: 2021

Share "Implementação de métrica de avaliação objetiva de qualidade de vídeo digital em lógica reconfigurável"

Copied!
78
0
0

Texto

(1)UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E INFORMÁTICA INDUSTRIAL. MARCELO DE OLIVEIRA. IMPLEMENTAÇÃO DE MÉTRICA DE AVALIAÇÃO OBJETIVA DE QUALIDADE DE VÍDEO DIGITAL EM LÓGICA RECONFIGURÁVEL. DISSERTAÇÃO. CURITIBA 2017.

(2) MARCELO DE OLIVEIRA. IMPLEMENTAÇÃO DE MÉTRICA DE AVALIAÇÃO OBJETIVA DE QUALIDADE DE VÍDEO DIGITAL EM LÓGICA RECONFIGURÁVEL. Dissertação apresentada ao Programa de Pós-graduação em Engenharia Elétrica e Informática Industrial da Universidade Tecnológica Federal do Paraná como requisito parcial para obtenção do grau de “Mestre em Ciências” – Área de Concentração: Telecomunicações e Redes. Orientador:. Prof. Dr. Alexandre de Almeida Prado Pohl. Coorientador: Prof. Dr. Volnei Antonio Pedroni. CURITIBA 2017.

(3) Dados Internacionais de Catalogação na Publicação. O48i 2017. Oliveira, Marcelo de Implementação de métrica de avaliação objetiva de qualidade de vídeo digital em lógica reconfigurável / Marcelo de Oliveira.-2017. 76 f. : il. ; 30 cm Texto em português, com resumo em inglês Disponível também via World Wide Web Dissertação (Mestrado) - Universidade Tecnológica Federal do Paraná. Programa de Pós-graduação em Engenharia Elétrica e Informática Industrial, Curitiba, 2017 Bibliografia: f. 71-5 1. Vídeo digital - Qualidade da imagem. 2. VHDL (Linguagem descritiva de hardware). 3. Gravações de vídeo interativas - Qualidade da imagem. 4. Vídeo digital – Avaliação. 5. Engenharia elétrica - Dissertações. I. Pohl, Alexandre de Almeida Prado. II. Pedroni, Volnei A. (Volnei Antonio). III. Universidade Tecnológica Federal do Paraná. Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial. IV. Título. CDD: Ed. 22 – 621.3 Biblioteca Central da UTFPR, Câmpus Curitiba.

(4) Título da Dissertação Nº. ____. por. Orientador: Prof. Dr. Alexandre de Almeida Prado Pohl (UTFPR) Coorientador: Prof. Dr. Volnei Antonio Pedroni (UTFPR) Esta dissertação foi apresentada como requisito parcial à obtenção do grau de MESTRE EM CIÊNCIAS Área de Concentração: TELECOMUNICAÇÕES E REDES do Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial CPGEI da Universidade Tecnológica Federal do Paraná UTFPR, às 15h do dia 24 de fevereiro 2017. O trabalho foi aprovado pela Banca Examinadora, composta pelos professores doutores:. _____________________________________ Prof. Dr. Alexandre de Almeida Prado Pohl (Presidente UTFPR). ___________________________________ Prof. Dr. Wyllian Bezerra da Silva (UFSC). ___________________________________ Prof. Dr. Carlos Raimundo Erig Lima (UTFPR). Visto da coordenação:. ________________________________ Prof. Jean Carlos Cardozo da Silva, Dr. (Coordenador do CPGEI). A Folha de Aprovação assinada encontra-se na Coordenação do CPGEI..

(5) AGRADECIMENTOS. Agradeço à Universidade Tecnológica Federal do Paraná e ao Laboratório de Comunicação de Dados pela estrutura. Ao professor Alexandre Pohl pelo apoio e confiança neste trabalho e pelo suporte desde a graduação. Ao Wyllian Bezerra pela atenciosa orientação e prontidão desde o início de minhas atividades de pesquisa. Ao professor Volnei Pedroni e ao Ricardo Jasinski pelos valorosos conselhos para o desenvolvimento desta pesquisa. A todos os colegas do LCD, especialmente ao Caio Cesar e ao Lucas Polak, pela colaboração neste trabalho. Ao CNPq pelo suporte financeiro. Aos meus pais, Santinha e Mario, e às minhas irmãs, Sandra e Sonia, por toda a paciência, carinho e dedicação, tanto durante este período acadêmico quanto sempre. A todos meus amigos: me considero fortunado o suficiente para dizer que são muitos para aqui agradecer um a um. A Axl, Bruce, David, Geddy, Jon, Michael e Steven pelo incentivo constante durante o período acadêmico. Por fim, a Grafite, Juju e Mimi pela constante companhia, nem sempre desinteressada..

(6) “Where any answer is possible, all answers are meaningless.” —Isaac Asimov, The Road to Infinity.

(7) RESUMO. Oliveira, Marcelo. IMPLEMENTAÇÃO DE MÉTRICA DE AVALIAÇÃO OBJETIVA DE QUALIDADE DE VÍDEO DIGITAL EM LÓGICA RECONFIGURÁVEL. 76 f. Dissertação – Programa de Pós-graduação em Engenharia Elétrica e Informática Industrial, Universidade Tecnológica Federal do Paraná. Curitiba, 2017. É implementado em hardware, por meio da linguagem VHDL, um método de avaliação objetiva de qualidade de vídeo digital. Sendo um processo computacionalmente custoso em software, investiga-se sua implementação em hardware. O método implementado, chamado de NRVQALM, utiliza seis características espaço-temporais extraídas de diferentes vídeos para chegar a um escore de qualidade. São estudadas essas características e planejada a sua implementação de forma otimizada, a fim de aproveitar as vantagens de plataformas de lógica reconfigurável, como as FPGAS. Durante o desenvolvimento foi necessário o estudo de ferramentas não usuais da linguagem VHDL, tais como as aritméticas de ponto fixo e flutuante e a escrita de funções matemáticas. Os resultados mostram alta correlação com os valores das características e dos escores de qualidade em relação ao método em software. A implementação se mostrou custosa em termos de recursos lógicos, especialmente devido à necessidade de se armazenar um quadro de vídeo inteiro, mas eficiente graças à característica de paralelismo das FPGAs, executando cálculos entre 20 e 40 vezes mais rapidamente que em uma linguagem de alto nível como o MATLAB. A aritmética ponto fixo mostrou-se vantajosa em relação ao ponto flutuante, principalmente no que tange à frequência de operação. Palavras-chave: Avaliação Objetiva de Qualidade de Vídeo, Vídeo Digital, Lógica Reconfigurável, FPGA, VHDL.

(8) ABSTRACT. Oliveira, Marcelo. IMPLEMENTATION OF OBJECTIVE VIDEO QUALITY METRIC IN RECONFIGURABLE LOGIC. 76 f. Dissertação – Programa de Pós-graduação em Engenharia Elétrica e Informática Industrial, Universidade Tecnológica Federal do Paraná. Curitiba, 2017. It is implemented in hardware an objective digital video evaluation method, using the VHDL language. As a computationally expensive process in software, it is investigated its implementation in a hardware platform. The implemented method, named NRVQA-LM, employs six spatio-temporal features extracted from different videos in order to obtain a quality score. These features are studied and the implementation is designed to be developed in an optimized way, in order to explore the benefits of reprogammable logic platforms, such as FPGAs. During the development it was necessary to study non-recurrent tools of the VHDL language, such as fixed- and floating-point arithmetics and the writing of math functions. Results shows high correlation between the calculated scores of the hardware and the original software implementations. The hardware implementation revealed to be highly resource expensive, mainly due the need of storing a whole video frame, but efficient in time, thanks to the parallelism feature of FPGA devices, executing quality score calculations between 20 and 40 times faster than a high-level language such as MATLAB. The fixed-point arithmetics revealed to be more efficient than the floating-point, specially regarding operation frequency. Keywords: Objective Video Quality Evaluation, Digital Video, Reconfigurable Logic, FPGA, VHDL.

(9) LISTA DE FIGURAS. FIGURA 1 FIGURA 2 FIGURA 3 FIGURA 4 FIGURA 5 FIGURA 6 FIGURA 7 FIGURA 8 FIGURA 9 FIGURA 10 FIGURA 11 FIGURA 12 FIGURA 13 FIGURA 14 FIGURA 15 FIGURA 16 FIGURA 17. – Camadas funcionais de um sistema de transmissão de TV digital . . . . . . . . – Exemplos de quadro de vídeos utilizados no teste e validação da implementação proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Diagrama em blocos do método NRVQA-LM . . . . . . . . . . . . . . . . . . . . . . . . . – Arquitetura básica de uma FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Fluxo simplificado de desenvolvimento VHDL . . . . . . . . . . . . . . . . . . . . . . . . – Representação de um número ponto flutuante de 32 bits . . . . . . . . . . . . . . . . – Iteração do algoritmo non-restoring para cálculo de raiz quadrada . . . . . . . – Sentido da entrega de pixels para a FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Diagrama geral de entradas e saídas do método NRVQA-LM em hardware – Procedimento de geração do buffer de luminâncias . . . . . . . . . . . . . . . . . . . . . – Diagrama RTL para as características espaciais . . . . . . . . . . . . . . . . . . . . . . . . – Diagrama RTL para as características temporais . . . . . . . . . . . . . . . . . . . . . . . – Diagrama RTL para os blocos accumulator e combinational . . . . . . . . . . . . – Diagrama em blocos ilustrando a relação entre os blocos RTL do circuito – Porcentagem de elementos lógicos, no projeto completo compilado, que é ocupada pelo bloco frame_buffer, em função da resolução . . . . . . . . . . . . . . – Comparação do número de elemento lógicos nas implementações ponto fixo e ponto flutuante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Comparação da frequência de operação nas implementações ponto fixo e ponto flutuante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 24 27 28 33 34 37 41 48 49 50 51 51 52 52 58 63 65.

(10) LISTA DE TABELAS. TABELA 1 TABELA 2 TABELA 3 TABELA 4 TABELA 5 TABELA 6 TABELA 7 TABELA 8 TABELA 9 TABELA 10 TABELA 11 TABELA 12 TABELA 13 TABELA 14 TABELA 15 TABELA 16 TABELA 17 TABELA 18 TABELA 19 TABELA 20 TABELA 21 TABELA 22 TABELA 23 TABELA 24. – Características do ISDB-Tb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Média de correlação do NRVQA-LM, PSNR e MS-SSIM para vídeos MPEG-2 e H.264 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Ranges resultantes para operações de ponto fixo . . . . . . . . . . . . . . . . . . . . . . . – Valores calculados da função exponencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Requisitos de armazenamentos para cada característica espaço-temporal . – Memória utilizada no armazenamento de pixels para cálculo das características espaço-temporais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Valores das características para o vídeo bs9 . . . . . . . . . . . . . . . . . . . . . . . . . . . – Valores calculados das características do vídeo bs9 no MATLAB para diferentes magnitudes da parte fracionária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Valores calculados das características do vídeo bs9 no VHDL para diferentes magnitudes da parte fracionária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Precisão dos valores calculados das características e do escore de qualidade – Número de elementos lógicos em função da resolução para os blocos simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Número de elementos lógicos em função da resolução para o bloco frame_buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Número de elementos lógicos em função da resolução para o projeto completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Frequência de operação em função da resolução para os blocos simples, em MHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Frequência de operação em função da resolução para o bloco frame_buffer – Frequência de operação em função da resolução para o projeto completo . – Ciclos de clock no cálculo do método NRVQA-LM . . . . . . . . . . . . . . . . . . . . – Tempo de cálculo do método NRVQA-LM em linguagem interpretada para vídeos 64×64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Comparação de velocidade entre as implementações em hardware (ponto fixo) e em software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Precisão dos valores calculados das características e do escore de qualidade para ponto flutuante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Número de elementos lógicos em função da resolução para os blocos simples em ponto flutuante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Diferença percentual de ELs entre as implementações ponto fixo e flutuante – Frequência de operação em função da resolução para os blocos simples, em MHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Comparação de velocidade entre as implementações em hardware (ponto flutuante) e em software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 24 31 36 42 44 44 47 47 48 56 57 58 59 59 60 60 61 61 62 62 63 64 64 65.

(11) LISTA DE SIGLAS. 64QAM ARM ASIC ATSC CPU DCT DE DMOS DSP DTMB DVB-T DVD FI FP FPGA fps FR GPU HD HDL HDMI HDTV IDE IEEE IP ISDB-T ISDB-Tb ITU-R ITU-T ITU IVP JPEG-NR LIVE LM LUT MAD MADw MATLAB MOS MS-SSIM MSE. 64 Quadrature amplitude modulation Advanced RISC Machine Application-Specific Integrated Circuit Advanced Television Systems Committee Unidade Central de Processamento Discrete Cosine Transform Display enable Differential Mean Opinion Score Processador Digital de Sinais Digital Terrestrial Multimedia Broadcast Digital Video Broadcasting - Terrestrial Digital Video Disc Ponto fixo Ponto flutuante Field-Programmable Gate Array frames per second Full-Reference Unidade de Processamento Gráfico High Definition Hardware Description Language High Definition Multimedia Interface High Definition Television Integrated development environment Institute of Electrical and Electronics Engineers Internet Protocol Terrestrial Integrated Services Digital Broadcasting ISDB-T International ITU Radiocommunication sector ITU Telecommunication standardization sector International Telecommunication Union Image and Video Processing Laboratory JPEG No-Reference Laboratory for Image & Video Engineering Levenberg-Marquardt Look-up table Mean Absolute Difference Weighted Mean Absolute Difference MATrix LABoratory Mean Opinion Score Multi-Scale Structural SIMilarity index Mean Square Error.

(12) NR NRVQA PC PLCC PSNR QPSK RAM RGB RR RTL SBTVD SD SDI SoC SSIM SVH TI TV ULA UTFPR VGA VHDL VHSIC VQEG. No-Reference No-Reference Video Quality Assessment Computador Pessoal Pearson Linear Coefficient Correlation Peak signal-to-noise ratio Quadrature phase-shift keying Random-access memory Red, Green, Blue Reduced-Reference Register-transfer level Sistema Brasileiro de Televisão Digital Standard Definition Serial digital interface System on Chip Structural SIMilarity index Sistema Visual Humano Temporal Information Televisão Unidade Lógica e Aritmética Universidade Tecnológica Federal do Paraná Video Graphics Array VHSIC Hardware Description Language Very High Speed Integrated Circuits Video Quality Experts Group.

(13) SUMÁRIO. 1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 ESTADO DA ARTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 CONTRIBUIÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 ESTRUTURA DO TRABALHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 CONSIDERAÇÕES FINAIS DO CAPÍTULO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 FUNDAMENTAÇÃO TEÓRICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 VÍDEO DIGITAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Televisão Digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 AVALIAÇÃO DE QUALIDADE DE VÍDEO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Método NRVQA-LM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 LÓGICA RECONFIGURÁVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Lógica Reconfigurável e FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2.1 Aritmética de ponto fixo e ponto flutuante no VHDL-2008 . . . . . . . . . . . . . . . . . . . . . 2.4 CONSIDERAÇÕES FINAIS DO CAPÍTULO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 IMPLEMENTAÇÃO DO MÉTODO NRVQA EM LR . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 FUNÇÕES MATEMÁTICAS EM PONTO FIXO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Potenciação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Raiz quadrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Função exponencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 ESTIMAÇÃO DE RECURSOS COMPUTACIONAIS E DIAGRAMAS RTL . . . . . . 3.2.1 Pixels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 TI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 PONTO FIXO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 PLANEJAMENTO DOS COMPONENTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 IMPLEMENTAÇÃO EM VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 CONSIDERAÇÕES FINAIS DO CAPÍTULO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 CÁLCULO DAS CARACTERÍSTICAS ESPAÇO-TEMPORAIS . . . . . . . . . . . . . . . . . 4.2 RESULTADOS DE DESEMPENHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Elementos lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2 Frequência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.3 Tempo de cálculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 COMPARAÇÃO ENTRE PONTO FIXO E PONTO FLUTUANTE . . . . . . . . . . . . . . . 4.3.1 Elementos Lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Frequência e tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 CONSIDERAÇÕES FINAIS DO CAPÍTULO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13 14 17 18 18 19 20 20 22 25 27 32 32 33 35 38 39 39 40 40 40 42 42 42 44 45 47 52 54 56 56 57 57 59 60 62 63 64 66 67 71.

(14) Apêndice A -- PRODUÇÃO ACADÊMICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76.

(15) 13. 1. INTRODUÇÃO. Os primeiros sistemas digitais de transmissão de televisão datam do início dos anos 80, no Japão, seguido então por Estados Unidos e Europa. Esse desenvolvimento foi motivado principalmente pela demanda de melhor qualidade de áudio e vídeo, que sempre foi uma grande impulsionadora do desenvolvimento da indústria de broadcasting, assim como a transição da TV preto e branco para a TV à cores, durante meados do século 20. A primeira transmissão de TV digital no Brasil foi realizada em São Paulo em 2 de dezembro de 2007. Desde então, a cobertura tem se expandido pelo país. Em 2016 foi iniciado o processo de desligamento dos sinais de TV analógica, atualmente com previsão de término em dezembro de 2018 (Portal Brasil, 2016). Vídeos digitais são propensos a distorções na digitalização e transmissão. Nesse contexto, a avaliação objetiva de qualidade de vídeo torna-se relevante, fornecendo suporte para produtores e distribuidores de conteúdo (SILVA, 2013; SAAD et al., 2014). Dentre as métricas objetivas, destacam-se as métricas sem referência (NR – No-Reference) que, por não dependerem do conteúdo original, são adequadas para aplicações industriais (SAAD et al., 2014). Porém, a avaliação objetiva de qualidade de vídeo, assim como aplicações em geral sobre vídeo e imagem, é um processo computacionalmente custoso, devido a elevada quantidade de informação que deve ser processada e analisada em tempo real (NARWARIA et al., 2012). É demonstrado na literatura que, para tarefas específicas de vídeo e imagem, blocos de hardware dedicado são mais eficientes que o uso de softwares baseados em processadores de uso geral, particularmente em tarefas que podem usufruir de processamento em paralelo. Assim, este trabalho propõe a implementação em hardware de um método objetivo sem referência de avaliação de qualidade de vídeo. Esse método, denominado NRVQA-LM (No-Reference Video Quality Assessment using LM method), desenvolvido previamente em tese de doutorado na Universidade Tecnológica Federal do Paraná (UTFPR), combina três características espaciais e três características temporais para calcular um escore objetivo de qualidade de vídeo (SILVA, 2013). O método é baseado.

(16) 14. em uma modelagem analítica com solução de mínimos quadrados pelo método iterativo de Leverberg-Marquardt (LM) (LEVENBERG, 1944; MARQUARDT, 1963; MORE, 1978). Para a implementação desse método em hardware, dispositivos FPGA (Field-Programmable Gate Array) são apropriados devido à alta eficiência de processamento dessas plataformas, permitindo programação em baixo nível e uso de paralelismo, garantindo um alto aproveitamento da capacidade de hardware (HUFFMIRE et al., 2010). Ademais, a característica programável desses dispositivos permite rápidas mudanças nas implementações, o que é ideal para otimizações e a realização de testes com novos métodos e abordagens, inclusive para produtos já em campo (HUFFMIRE et al., 2010). 1.1. ESTADO DA ARTE É incipiente na literatura a avaliação objetiva de qualidade de vídeo utilizando hard-. ware. Assim, nesta Seção são descritos em mais detalhes dois trabalhos anteriores relacionados a esse tema específico e, em seguida, são citados alguns trabalhos que mostram o emprego de lógica reconfigurável em aplicações envolvendo vídeo digital. Neborovski et al. (2010) implementaram um sistema em FPGA capaz de monitorar em tempo real características NR de de-entrelaçamento, anelamento e borramento, originalmente implementadas em C++. Os autores também utilizaram aritmética de ponto fixo, mas como HDL (hardware description language) foi utilizado o Verilog. Foi montada uma plataforma que, além da FPGA, possui suporte a várias fontes de vídeo (HDMI (High-Definition Multimedia Interface), SDI (Serial digital interface) etc), um single-board computer para configuração da FPGA e comunicação com PC (onde os dados eram analisados), memória RAM (Randomaccess memory) externa à FPGA para armazenar os vídeos a fim de realizar avaliação em tempo real e, por fim, um codificador que permite que o vídeo seja exibido em uma tela. O sistema faz um buffer de linhas necessário para algumas características. As características extraídas na solução proposta apresentaram os mesmos resultados que o método original em C++ e a avaliação pode ser realizada em tempo real para vídeos em alta resolução. Foram utilizadas FPGAs Virtex 4 da Xilinx e Stratix II da Altera. Nordeng (2013) apresenta, em sua dissertação de mestrado, um sistema baseado em FPGA que extrai características NR de vídeo, mas com objetivo de detectar artefatos que são resultantes de defeitos do hardware, para ser aplicado em testes em locais de produção de componentes eletrônicos. Uma das grades vantagens da implementação em lógica reconfigurável, é a possibilidade de compartilhamento de recursos, i.e., aproveitar os mesmos módulos para.

(17) 15. realizar tarefas semelhantes que são executadas em diferentes algoritmos. Assim, o autor utilizou vários pequenos algoritmos em FPGA como abordagem para solucionar o problema. Os módulos foram desenvolvidos da forma mais genérica possível, a fim de permitir seu reuso. Foi utilizada uma FPGA Cyclone II da Altera. Não foi implementada uma estação de trabalho capaz de analisar os vídeos utilizando simultaneamente todas as características da implementação proposta, mas resultados individuais mostraram que os algoritmos se comportaram como previsto e dentro das especificações da implementação em software. A seguir são brevemente descritos alguns trabalhos que envolvem imagem/vídeo digital e hardware reconfigurável. MacLean (2005) faz uma avaliação da adequabilidade do emprego de FPGAs em sistemas embarcados de visão computacional. Destaca que a capacidade de utilizar paralelismo e também a possibilidade de utilizar diversos modos de operação em uma mesma peça de hardware, que é uma vantagem notável em relação a CPUs (Unidade Central de Processamento) seriais e DSPs (Processador Digital de Sinais). Como exemplo, no caso específico de algoritmos de visão computacional, comumente é necessário aplicar uma mesma operação local em diversas partes de uma imagem. Em FPGAs, é possível realizar processamento simultâneo em diversas áreas de uma mesma imagem, graças à sua característica de paralelismo. Além disso, o tempo de desenvolvimento em FPGAs é consideravelmente menor do que no desenvolvimento de ASICs (Application-Specific Integrated Circuit), e pequenas modificações em um projeto podem ser prototipadas em questão de horas, assim como o ciclo projeto-implementação-testedebug. Como maior desvantagem, o autor destaca, entretanto, a análise necessária na escolha da magnitude de valores ponto fixo (a fim de manter a precisão) quando estes são utilizados no lugar de aritmética ponto flutuante, por motivos de economia de recursos. Por consequência, é citada também como desvantagem a quantidade finita de recursos lógicos. Porém, cabe notar que as FPGAs evoluíram consideravelmente desde a época de publicação do trabalho. Bakó et al. (2015) projetaram uma plataforma embarcada baseada em FPGA para a extração em tempo real de métodos de fluxo óptico para tarefas como estimação de movimento e desvio de obstáculos. A implementação foi validada por meio de comparações com a implementação em software e testada com vídeos de diferentes padrões. Foram utilizadas FPGAs, devido ao fato de CPUs tradicionais ou sistemas embarcados não serem devidamente adequados para o processamento de imagem e algoritmos de visão artificial, além de utilizarem mais energia. O uso de ASICs também é citado como uma solução eficiente, mas sua inflexibilidade e o alto custo de produção reduzem a viabilidade de seu emprego em um primeiro momento. No entanto, os autores comentam que, apesar das vantagens de uma implementação em pipeline,.

(18) 16. ela é pouco presente na literatura devido à relativa dificuldade de implementação e à expertise requerida. Em relação às aritméticas de ponto fixo e ponto flutuante, é comentado que os autores não encontraram na literatura relacionada nenhum caso de avaliação da relação entre ganho de velocidade e perda de precisão no uso do ponto fixo, mas é sabido que o emprego do ponto flutuante apresenta grandes desvantagens em relação aos recursos de hardware. Avaliou-se a implementação proposta como altamente eficiente, utilizando apenas 2% dos recursos lógicos da FPGA Virtex 5, possibilitando a aplicação que busca empregar o algoritmo com menor custo computacional e energético. Gajjar et al. (2015) empregaram FPGAs para a detecção de borda em vídeo. Foi utilizada uma FPGA Spartan 3 da Altera. A detecção de borda é descrita como uma etapa fundamental em diversas aplicações de processamento de imagem e vídeo, tais como melhoramento de imagem, reconhecimento de objetos, rastreamento de objetos etc. Porém, esse processo é altamente custoso em recursos computacionais, com dezenas de operações sendo realizadas em cada pixel. Assim, para detecção de borda em tempo real torna-se necessário uma tecnologia que possa operar com uso de paralelismo. Foram implementados em FPGA três algoritmos de detecção de borda (Sobel, Laplaciano e Prewitt). Foi montado um setup com vídeos originados de um DVD (Digital Video Disc) sendo processados na FPGA que, por uma interface VGA (Video Graphics Array), mostra a mesma imagem, mas processada para exibir apenas as bordas. Foi observada uma melhora de desempenho de 26 a 47 vezes, dependendo do algoritmo, em relação aos mesmos métodos implementados em MATLAB (MATrix LABoratory). Os autores também destacam que o uso de FPGAs tem ficado mais simples e barato nos últimos anos. Wu e Weng (2016) implementaram um sistema embarcado para determinação em tempo real de captura de profundidade de imagens, a partir de duas câmeras. Optaram por utilizar FPGAs devido a suas vantagens em relação às outras opções: DSPs são menos capazes de realizar computação paralela e GPUs (Unidade de Processamento Gráfico) consomem muita energia. Foi utilizado um SoC (System on Chip) equipado com uma FPGA Cyclone V da Altera e com um processador ARM Cortex-A9. Nesse caso, a plataforma executou em um sistema embarcado Linux e a FPGA foi utilizada apenas para aplicar os algoritmos de cálculo de profundidade sobre as imagens capturadas por câmera. Esse método permitiu o processamento de imagens com resolução 640×480 a 140 fps (quadros por segundo), com a FPGA operando em uma frequência de 50 MHz. Similarmente, Dharan et al. (2016) implementaram um sistema híbrido de software e hardware. A fim de desenvolver um sistema de detecção de face acelerado por hardware, implementaram em FPGA (Cyclone IV da Altera) as tarefas computacionalmente mais custosas (algoritmo de detecção de face e classificador Naïve Bayes), deixando as demais em software (Linguagem C). Foi observado um desempenho 250 vezes mais rápido do.

(19) 17. algoritmo acelerado por hardware em relação à implementação puramente em software, para imagens de resolução 800×600. De modo geral, pode-se notar algumas semelhanças em todos os trabalhos relacionados. O emprego de FPGAs para aplicações de imagem e vídeo é vantajoso por diversos motivos. Destaca-se a característica de paralelismo existente, que permite que diferentes tarefas sejam executadas simultaneamente, ou que mais de uma parte da imagem seja trabalhada ao mesmo tempo (HUFFMIRE et al., 2010; BAILEY, 2011). Com as grandes resoluções de imagem e vídeo existentes atualmente, essa vantagem se torna muito importante. Além disso, a economia de energia em comparação com CPUs tradicionais também é interessante, especialmente para aplicações embarcadas, em que a eficiência energética é um fator crucial. Por fim, os avanços constantes da tecnologia de FPGAs fazem com que estes dispositivos se tornem cada vez mais baratos e eficientes, tornando seu uso mais viável. 1.2. OBJETIVOS Este trabalho tem como objetivo principal implementar em hardware o método NR-. VQA-LM de avaliação objetiva de qualidade de vídeo digital (SILVA, 2013), a fim de buscar resultados mais rápidos no processo de avaliação de qualidade de vídeo. A implementação proposta tem como meta ser otimizada e implementada de forma escalonável, permitindo ser aplicada em diversos contextos (i.e., diferentes codificações de vídeo, resoluções e quantidade de quadros), garantindo que os resultados sejam confiáveis e evitando utilizar mais recursos lógicos que o necessário. Para isso, é realizado um estudo sobre o método NRVQA-LM, especialmente sobre as três características espaciais e as três temporais empregadas. Na implementação foi utilizada a linguagem VHDL (VHSIC Hardware Description Language) para a descrição do hardware e simulações. Para síntese do circuito foi utilizado o software Quartus Prime, da Intel FPGA (antiga Altera). Devido à necessidade de utilizar números fracionários e o interesse em sintetizar o circuito para aplicações reais em vídeo, é necessário buscar variáveis sintetizáveis que permitam esses valores, uma vez que o tipo real do VHDL não é sintetizável. Existem duas possibilidades para essa implementação: pacotes de arimética ponto fixo e ponto flutuante, propostos para o VHDL-2008 e que devem ser incorporados à linguagem em futura versão do padrão (BISHOP, 2008a, 2008b). Foi escolhido implementar o método utilizando o pacote de aritmética ponto fixo, por seu menor custo em recursos, chegando a até três vezes menos lógica que o ponto flutuante (BISHOP, 2008a). Posteriormente, o código é adaptado para o ponto flutuante a fim de avaliar o impacto dessa aritmética em um projeto desta natureza, que tem em seu cerne o uso.

(20) 18. dessas variáveis. O processo de validação da implementação é realizado por meio de comparação entre os valores originais em software das características espaço-temporais e do escore de qualidade da métrica NRVQA-LM. Também é realizada a avaliação do desempenho computacional da implementação proposta, em termos de recursos lógicos, frequência de operação e estimação de velocidade de cálculo. A validação e avaliação da implementação é realizada por meio de simulações e estimativas de ferramentas de software, não sendo realizada a implementação física em FPGA do algoritmo. 1.3. CONTRIBUIÇÕES As principais contribuições deste trabalho são: • Implementar a métrica NRVQA-LM em lógica reconfigurável; – Na implementação VHDL, comparar as implementações ponto fixo e ponto flutuante para indicar a influência do sistema de numeração em um projeto como este; • Desenvolvimento de blocos de hardware escalonáveis que podem ser reaproveitados em outros projetos, sejam relacionados ou não com avaliação de qualidade de imagem e vídeo; • Criar base para o desenvolvimento de funções matemáticas para aritméticas ponto fixo e flutuante no VHDL, com objetivo de serem aproveitadas em outros projetos. Neste trabalho, são desenvolvidas as funções exponencial, raiz quadrada e potenciação.. 1.4. ESTRUTURA DO TRABALHO O restante desta dissertação está organizado da seguinte forma. O Capítulo 2 apresenta. uma fundamentação teórica de diversos conceitos relacionados à televisão digital, avaliação de qualidade de vídeo e lógica reconfigurável. No Capítulo 3 é descrita a implementação do método em VHDL, desde o planejamento à escrita dos códigos. No Capítulo 4, são apresentados os resultados e, por fim, o Capítulo 5 conclui este trabalho com comentários e considerações finais..

(21) 19. 1.5. CONSIDERAÇÕES FINAIS DO CAPÍTULO Este Capítulo introduziu o problema da avaliação de qualidade de vídeo e a justificativa. de implementação do método NRVQA-LM em uma plataforma de hardware. Foram apresentados a motivação, o estado da arte, os objetivos principal e específicos, as contribuições do trabalho e, por fim, a estrutura da dissertação. O próximo Capítulo apresentará a fundamentação teórica deste trabalho, tratando de conceitos sobre vídeo digital, avaliação de qualidade de vídeo e lógica reconfigurável..

(22) 20. 2. FUNDAMENTAÇÃO TEÓRICA. Neste Capítulo são apresentados os conceitos relevantes a este trabalho nas áreas de vídeo e televisão digital, avaliação de qualidade de vídeo e lógica reconfigurável. Na Seção 2.1 é apresentada uma breve introdução ao conceito de vídeo digital, incluindo uma contextualização do cenário atual da televisão digital no Brasil e no mundo, suas características e vantagens ante o padrão analógico. A Seção 2.2 apresenta os fundamentos da avaliação de qualidade de vídeo, com especial atenção para a descrição do método NRVQA-LM. Por fim, a Seção 2.3 apresenta os conceitos de hardware relevantes ao trabalho, em especial, as FPGAs e a linguagem de descrição de hardware VHDL. 2.1. VÍDEO DIGITAL Vídeo digital é uma representação de várias imagens digitais na forma de dados di-. gitalmente codificados. Uma imagem digital é representada como uma matriz de duas dimensões (MARQUES, 2011). No contexto de vídeo digital, cada imagem é chamada de quadro ou frame. A taxa em que os quadros são apresentados na tela é dada em frames por segundo (fps). Os quadros de um vídeo possuem uma determinada largura e altura, dadas em pixels (MARQUES, 2011). Cada elemento da matriz – cada pixel – possui um valor atribuído, que pode ser sua cor ou, tipicamente em processamento de imagem e vídeo, sua intensidade de luminância (MARQUES, 2011). A descrição de um pixel depende da sua profundidade de cor (color depth), i.e., a quantidade de bits usados para representar cada cor numa imagem bitmap. O formato mais comum é o True color, de 24 bits, que pode representar 224 ≈ 16 milhões de cores. Dentro desse formato, existem ainda outras representações, os espaços de cor, dentre as quais as mais comuns são o RGB e o YUV (ou YCbCr). No formato RGB (red, green, blue – vermelho, verde, azul), os pixels são divididos em três componentes de 8 bits cada, com cada componente representando a intensidade de cada cor (MARQUES, 2011). Já o YUV representa luminância e diferenças de cor. A componente Y é a luminância, que indica o nível de luminosidade do pi-.

(23) 21. xel e as outras componentes são as crominâncias, que representam diferenças de cor (JIN et al., 2016). Assim como no RGB, cada componente tem 8 bits. Uma mesma imagem ou vídeo pode ser representado em qualquer espaço de cor (FENG et al., 2015), e podem ser convertidos entre um e outro, inclusive com implementações eficientes em FPGA (FENG et al., 2015; ZHANG et al., 2016). Pode-se calcular a taxa de bits (bit rate) e o tamanho de um vídeo digital não comprimido. Por exemplo, para um vídeo de dez minutos (600 segundos), a 30 fps, com quadro de 768 pixels de largura e 432 pixels de altura (resolução 768×432) e profundidade de cor de 24 bits: • Pixels por quadro: 768×432 = 331.776 • Bits por quadro: 331.776×24 = 7.962.624 = 7,96 Mbits • Bit rate: 7,96×30 = 238,87 Mbits/s • Tamanho do vídeo: 238,87 Mbits/s×600s= 143,33 Gbits = 17,91 Gbytes Esse tamanho é excessivamente grande para armazenamento ou distribuição, ainda mais se tratando de um vídeo de dimensão relativamente pequena e taxa de quadros comum. Por isso, em vídeo digital, é fundamental a compressão. Existem diversos padrões de compressão de vídeo digital, que em geral se apoiam em alguns princípios (ROBIN; POULIN, 2000). O primeiro princípio é a redundância estatística de dados. É baseado no fato de que quase todas as imagens contêm grandes quantidades de informações idênticas. A redundância de dados pode existir no domínio espacial (área grande de uma mesma imagem) ou temporal (imagens que se mantém iguais ou parecidas ao decorrer dos quadros). Logo, sistemas de compressão se aproveitam do fato de que dados idênticos não precisam ser repetidos. Além da redundância estatística, também existe a redundância psicovisual. Valores amostrados digitalizados não são percebidos da mesma forma pelo Sistema Visual Humano (SVH). Se o SVH não percebe determinado erro, esse erro não influencia na qualidade percebida da imagem e, portanto, alguns valores podem ser removidos ou alterados sem prejuízo à percepção de qualidade pelo espectador. Por fim, há a entropia, uma medida do conteúdo médio de informação de uma imagem que foi amostrada digitalmente. A ocorrência de um evento menos provável (mais aleatório) provê mais informação que um evento mais esperado. Se um esquema de compressão reduz a taxa de bits abaixo da entropia da imagem, ocorrerão perdas de informação..

(24) 22. Vídeo digital também possui suas próprias interfaces de comunicação, sendo a HDMI a mais utilizada atualmente, com mais de 4 bilhões de dispositivos compatíveis já vendidos. A primeira aplicação comercial de vídeo digital surgiu em 1986 com o lançamento do formato D1 pela Sony (Sony Corporation, 1996). Atualmente, vídeo digital é distribuído de diversas formas. Fisicamente, os discos Blu-ray, lançados em 2006, com capacidade para até 50 GB (camada dupla), é o formato padrão para distribuição de vídeo em alta definição. Seu antecessor, o DVD, ainda é bastante utilizado. Introduzido em 1995, tem capacidade de armazenamento de até 8,5 GB em camada dupla. Nos últimos anos, a transmissão por Internet tem se tornado cada vez mais comum, seja por sites de streaming (e.g., YouTube, Netflix) ou lojas digitais (e.g., iTunes, PlayStation Store) (WALGROVE, 2015). E também há a distribuição por radiodifusão, a televisão digital, que será apresentada na próxima Seção. 2.1.1. TELEVISÃO DIGITAL Existem quatro principais padrões de TV digital utilizados atualmente (FISCHER,. 2010): ATSC (Advanced Television Systems Committee), sistema norte-americano adotado, além dos Estados Unidos, por Canadá, México, Coreia do Sul, República Dominicana; DVB-T (Digital Video Broadcasting - Terrestrial), sistema europeu, adotado também por Austrália e Nova Zelândia; ISDB-T (Terrestrial Integrated Services Digital Broadcasting), sistema japonês, adotado pelo Brasil numa versão rebatizada de ISDB-Tb (ou ISDB-T International), também chamada internamente de SBTVD (Sistema Brasileiro de Televisão Digital); e o DTMB (Digital Terrestrial Multimedia Broadcast), padrão adotado na China. Após a definição do padrão ISDB-Tb no Brasil, os governos do Brasil e do Japão iniciaram esforços para mostrarem a outras nações as vantagens do padrão para outros países. Diversos países das Américas Central e do Sul, além de Filipinas, Maldivas e Sri Lanka, decidiram por adotar o mesmo padrão. Países da África também estão avaliando a adoção padrão com as transmissões em Botsuana, iniciadas em 2013, sendo as primeiras de TV digital no continente (DTV Status, 2017). O padrão ISDB-T é considerado o mais flexível e também o mais robusto em determinadas aplicações (FISCHER, 2010). Diferentemente da transição da TV preto e branco para a TV a cores, a transição do sistema analógico para o sistema digital não mantém sistemas legados, uma vez que são necessários novos equipamentos, tanto para recepção quanto para transmissão. Por isso, a necessidade de haver o período de transição entre os dois sistemas (JONES et al., 2006). São diversas as vantagens do sistema digital de televisão ante o sistema analógico (SONG.

(25) 23. et al., 2015). Primeiramente, pode-se destacar o sinal mais robusto. Devido ao processo de digitalização do sinal, o ruído contido no processamento ou transmissão pode ser eliminado, desde que não atinja certo patamar. Além disso, é possível a aplicação de códigos corretores de erro. Em contraste, o sistema analógico possuía diversos problemas e degradações característicos, tais como fantasmas e chuviscos. Além disso, em um sistema digital a transmissão é mais eficiente e há capacidade de multiplexação. Apesar de cada canal digital utilizar uma faixa de 6 MHz, tal como utilizado no sistema analógico, esse espaço é melhor aproveitado. O padrão prevê também uso de faixas de 7 ou 8 MHz, que foi adotado nas Maldivas. No SBTVD, por exemplo, o espectro é dividido em 13 segmentos, sendo, teoricamente, possível transmitir três canais SD (Definição Padrão – Standard Definition) ou um canal HD (Alta Definição – High Definition), além de um canal 1-seg, voltado para dispositivos móveis. Há tambem melhor qualidade de imagem e áudio. No SBTVD as imagens podem ser de qualidade HD até 1920×1080 pixels entrelaçados (1080i), em aspecto widescreen. O formato widescreen permite um melhor aproveitamento da área do monitor de TV, pois o espectador pode se posicionar a uma menor distância da tela para aproveitar toda a qualidade da HDTV (High Definition Television). Isto permite telas de maior tamanho em salas de dimensão menor. Também há a possibilidade de transmissões em 3D, já utilizada no Brasil pela RedeTV. Quanto ao som, a maior vantagem da TV digital é a possibilidade de canais 5.1 surround. Por fim, destaca-se a interatividade. A característica digital do sistema abre espaço para a interação do usuário com o conteúdo. No SBTVD, o responsável por essa tarefa é o middleware Ginga. As possibilidades são diversas, como por exemplo, exibir guias de programação na tela, responder questionários, ter acesso a informações do governo e até mesmo realizar compras. As aplicações de interatividade são transmitidas em conjunto com as informações de áudio e vídeo. A comunicação do telespectador com as emissoras, porém, ocorre via um Canal de Retorno, sendo necessário o uso de serviços de uma empresa de telecomunicações. Apesar dos diversos padrões de TV digital existentes possuírem cada qual suas particularidades, todos os sistemas incluem os blocos funcionais básicos necessários para a digitalização de sinais analógicos, tais como amostragem, quantização e codificação, para posteriormente os sinais serem processados, armazenados e distribuídos (SONG et al., 2015). As operações são então realizadas na forma inversa no receptor, para que o sinal possa ser aberto e disponibilizado ao consumo. A Figura 1 apresenta um diagrama das camadas funcionais de um sistema de transmissão de TV digital..

(26) 24 Áudio e vídeo amostrados ~1.2 Gbps. Áudio e vídeo amostrados ~1.2 Gbps. Compressão Vídeo: MPEG2 Áudio: MPEG2/ AC3/AAC. Decompressão Vídeo: MPEG2 Áudio: MPEG2/ AC3/AAC. Camada de compressão. Multiplexação: MPEG2. Demultiplexação: MPEG2. Camada de multiplexação. Transmissão terrestre ATSC/DVB-T/ISDBT/DTMB. Camada de transporte. Transport stream ~20 Mbps. Figura 1: Camadas funcionais de um sistema de transmissão de TV digital. Fonte: Adaptado de Song et al. (2015).. Na Tabela 1 são apresentadas algumas características do SBTVD/ISDB-Tb para as modalidades fixa e móvel. Tabela 1: Características do ISDB-Tb.. Característica Número de segmentos Intervalo de guarda Modulação. Recepção fixa. Recepção móvel. 12. 1. 1/8 do intervalo de símbolo QPSK. 64QAM. 2/3. 3/4. Taxa de bits. 16.85 Mbps. 416 kbps. Resolução máxima (pixels). 1920×1080. 352×288. 60. 30. Taxa de codificação interna. Taxa de quadros máxima (fps) Padrão de compressão de vídeo. H.264. Padrão de compressão de áudio. MPEG-2 AAC. Middleware. Ginga.

(27) 25. 2.2. AVALIAÇÃO DE QUALIDADE DE VÍDEO Os de sinais de vídeo digital também podem sofrer efeitos de distorção, ainda que. diferentes dos encontrados na televisão analógica. As duas causas mais comuns para distorção de sinal de televisão digital são a compressão e ruídos no canal de transmissão (FISCHER, 2010). A compressão de vídeo é uma tarefa imprescindível na transmissão de vídeo digital. Arquivos SDTV no formato 2:2:2 possuem uma taxa de 216 Mbps; para HDTV, essa taxa é aproximadamente de 1.2 Gbps. São taxas proibitivas para radiodifusão comercial (SONG et al., 2015). Nos sistemas de TV digital existentes, as taxas de transmissão para SDTV e HDTV são, respectivamente, por volta de 4 e 20 Mbps, comprimidos com a codificação MPEG-2 (SONG et al., 2015) ou, no padrão brasileiro, H.264 (FONSECA; POHL, 2013). A codificação MPEG-2 possui um efeito direto na qualidade da imagem, principalmente se a compressão utilizada for muito alta, em que cada vez mais ficam visíveis o efeitos das estruturas DCT (Discrete Cosine Transform – Tranformada Discreta do Cosseno), como a blocagem (FISCHER, 2010). A ITU (International Telecommunication Union), na forma da recomendação ITU-R (ITU Radiocommunication sector) BT.500, definiu formalmente a avaliação subjetiva como o método mais confiável de avaliação de qualidade visual (ITU-R, 2004; SAAD et al., 2014). Entretanto, a avaliação subjetiva é um processo custoso e demorado. São necessários avaliadores humanos in loco para acessarem os conteúdos e realizar a avaliação. Esse processo é pouco viável pois demanda alta quantidade de recursos humanos e tempo, além de nem sempre ser realizável em ambientes que requeiram processamento em tempo real (ENGELKE; ZEPERNICK, 2007; CALLET et al., 2006). A avaliação objetiva surge para automatizar e aprimorar esse processo, realizando a análise por algoritmos e modelos matemáticos a fim de obter uma estimativa o mais próxima possível da percepção visual humana. Métricas objetivas são classicamente divididas em três categorias: • Métricas de referência completa (FR): categoria mais comum de métricas, são baseadas na comparação direta entre o vídeo original e o distorcido. Pode-se citar métodos FR conhecidos na literatura como PSNR (Peak signal-to-noise ratio), MSE (Mean Square Error), SSIM (Structural SIMilarity index) (WANG et al., 2004) e MS-SSIM (MultiScale Structural SIMilarity index) (WANG et al., 2003). Métricas FR são comumente utilizadas para comparação de desempenho com métricas RR e FR; • Métricas de referência reduzida (RR): são métricas que extraem um determinado número.

(28) 26. de características do vídeo original, são transmitidas codificadas junto do vídeo e então decodificadas no receptor. Auxiliam na realização do cálculo do índice de qualidade entre a fonte e o destino (CALLET et al., 2006). São tipicamente utilizadas para monitorar transmissões em rede; • Métricas sem referência (NR): métodos que independem de informações sobre o vídeo original. Portanto, sempre tentarão realizar suposições sobre o conteúdo não distorcido. Uma vez que independem do vídeo original, são aplicáveis em casos reais, em que o receptor tem acesso apenas ao conteúdo final, já com suas distorções e compressões (WANG; BOVIK, 2006). Tipicamente, os métodos objetivos são validados por meio de correlações com avaliações subjetivas. Na literatura são descritas bases de vídeos em que são realizadas avaliações subjetivas em determinadas sequências de vídeo que são disponibilizadas contendo seus respectivos escores subjetivos, conhecidos como MOS (Mean Opinion Score) ou DMOS (Differential Mean Opinion Score). Exemplos são as bases LIVE (Laboratory for Image & Video Engineering) (SESHADRINATHAN et al., 2010a, 2010b) e IVP (Image and Video Processing Laboratory) (LI et al., 2012). Assim, a qualidade de uma métrica objetiva se dá por quão bem ela consegue predizer o comportamento de um observador humano (CALLET et al., 2006). O Grupo de Especialistas em Qualidade de Vídeo (VQEG – Video Quality Experts Group), órgão internacional voltado à padronização de métricas subjetivas e objetivas, propõe recomendações para o mapeamento entre escores objetivos e subjetivos (VQEG, 2008, 2009, 2010). No caso do método NRVQA-LM (SILVA, 2013), foi utilizada uma função polinomial cúbica no mapeamento não linear entre os escores objetivos e as MOS/DMOS, conforme as recomendações do VQEG. Essa função, além de ser uma predição mais simples, não causa sobreposição de dados como pode ocorrer com a função monotônica logística (ENGELKE et al., 2009). A função é definida como MOSp = ax3 + bx2 + cx + d,. (1). em que os coeficientes a, b, c e d são obtidos por um ajuste cúbico entre os escores subjetivos e objetivos. Para os testes de validação deste trabalho, são realizadas simulações em vídeos da base de dados LIVE. São dez sequências de vídeo com quatro versões cada, degradados por diferentes níveis de distorção, num total de 40 vídeos. A Figura 2 mostra um quadro de cada vídeo dessa base. Os vídeos serão doravante referenciados pelas siglas bs, mc etc. Os vídeos pa, rb, rh,.

(29) 27. (a) Blue Sky (bs). (b) Mobile & Calendar (mc). (c) Pedestria Area (pa). (d) Park Run (pr). (e) River Bed (rb). (f) Rush Hour (rh). (g) Sunflower. (h) Shield (sh). (i) Station (st). (j) Tractor (tr). Figura 2: Exemplos de quadro de vídeos utilizados no teste e validação da implementação proposta. Fonte: Seshadrinathan et al. (2010b). sf, sh, st e tr têm 250 quadros, a 25 fps; o vídeo bs possui 217 quadros, também a 25 fps; e os vídeos mc, pr e sh possuem 500 quadros, a 50 fps. Cada uma das quatro versões distorcidas dos vídeos obtidos através do processo de compressão H.264 da base LIVE são referenciados pelos números 9–12 no final, e.g., bs9, bs10 etc. 2.2.1. MÉTODO NRVQA-LM O método NRVQA-LM (No-Reference Video Quality Assessment using LM method),. proposto por Silva (2013) é uma métrica NR baseada em um modelo analítico sigmoidal que combina três características espaciais e três características temporais, extraídas de vídeos para produzir um escore de qualidade de vídeo digital. As características espaciais utilizadas neste.

(30) 28. método representam borramento e blocagem, enquanto as temporais representam diferenças entre quadros sucessivos. O método consiste em uma fase de treinamento e em uma de teste. Na fase de treinamento, são dados de entrada os escores subjetivos (disponibilizados junto às bases de vídeos) e as características espaço-temporais. Essa fase compreende o mapeamento entre as características e os escores subjetivos (DMOS) a partir de uma solução de mínimos quadrados. Os parâmetros β são então otimizados pelo método iterativo de Levenberg-Marquardt (LEVENBERG, 1944; MARQUARDT, 1963; MORE, 1978). Por fim, na fase de teste, o método é aplicado com os parâmetros β otimizados e gera o escore objetivo. A Figura 3 mostra o diagrama em blocos do método. Treinamento. Seleção de database. Teste. Escore Subjetivo Normalizado, [0, 1]. Seleção de Qualidade de Vídeo. Dirac. Dirac. Algoritmo LM. H.264 IP. (β1, β2, ..., βn) otimizado. Atualização do modelo NR. NRVQA-LM escore. IP. Modelo NR,. MPEG-2. H.264. MPEG-2. (β1, β2, ..., βn) inicial,. A, B, Z, TI, MAD, MADp. Figura 3: Diagrama em blocos do método NRVQA-LM. Fonte: Adaptado de Silva (2013).. Os valores de β são otimizados na etapa de treinamento de acordo com cada tipo de compressão (MPEG-2, H.264, etc), pois dependem das degradações típicas de cada codificação. Assim, cada compressão possui seus valores de β . Este trabalho focou-se apenas na etapa de teste, que é a aplicação em campo do método, extraindo as características e calculando os escores de qualidade, com coeficientes β já otimizados de acordo com a compressão dos vídeos a serem avaliados. Como o Sistema Visual Humano (SVH) é mais sensível a mudanças de brilho (luminância) do que cor (crominância) (MARQUES FILHO; VIEIRA NETO, 1999), apenas a componente de luminância dos vídeos é considerada na avaliação das características espaçotemporais. Dada uma sequência de vídeo de F quadros, a componente de luminância de cada pixel é representada por y( f , i, j), com i ∈ [1, M] e j ∈ [1, N], em que M é o número de linhas e N é o número de colunas do quadro f . As características espaciais utilizam as diferenças vertical.

(31) 29. e horizontal entre luminâncias de pixels adjacentes, dadas por dh ( f , i, j) = y( f , i, j + 1) − y( f , i, j), j ∈ [1, N − 1],. (2). dv ( f , i, j) = y( f , i + 1, j) − y( f , i, j), i ∈ [1, M − 1].. (3). As três características espaciais utilizadas, B, A e Z, foram propostas por Wang et al. (2002), como a métrica de avaliação de qualidade de imagem JPEG-NR (JPEG No-Reference), e então estendidas para vídeo na proposta de Silva (2013). A característica B estima o efeito de blocagem em um quadro medindo a diferença média entre as bordas dos blocos DCT nas direções horizontal e vertical. O tamanho do bloco é dado por τ × τ, em que tipicamente τ = 8. As características B horizontal e vertical são calculadas, respectivamente, como Bh =. Bv =. F. 1. |dh ( f , i, τ j)|,. (4). ∑ ∑ ∑ |dv( f , τi, j)|.. (5). ∑∑ ∑.   FM( Nτ − 1). f =1 i=1.   FN( Mτ − 1). j=1. b Mτ c−1. F. 1. b Nτ c−1. M. f =1. i=1. N j=1. Observa-se nas Equações 4 e 5 o cálculo a média das características para todos os quadros do vídeo, o que se repetirá nas demais características. Por fim, a característica B para o vídeo é obtida calculando a média de Bh e Bv , como mostra a Equação 6. B=. Bh + Bv . 2. (6). O efeito de borramento é medido por meio do cálculo de redução de atividade, considerando o cálculo de detecção de blocagem, o qual é descrito como a característica A. A medida horizontal e vertical de borramento é dada por Ah =. Av =. τ FM(τ − 1)(N − 1) τ FN(τ − 1)(M − 1). F. M N−1. ∑ ∑ ∑ |dh( f , i, j)| − Bh,. (7). f =1 i=1 j=1 F M−1 N. ∑ ∑ ∑ |dv( f , i, j)| − Bv.. (8). f =1 i=1 j=1. Como na Equação 6, o descritor A para o vídeo completo é dado pela combinação de Ah e Av : A=. Ah + Av . 2. (9). A taxa de cruzamento por zero, ou zero-crossing, representada por Z, também contri-.

(32) 30. bui para a detecção de efeitos de borramento nas direções horizontal e vertical, conforme as expressões a seguir. Zh =. 1 FM(N − 2). 1 Zv = FN(M − 2). F. M N−2. ∑ ∑ ∑ zh( f , i, j),. (10). f =1 i=1 j=1 F M−2 N. ∑ ∑ ∑ zv( f , i, j).. (11). f =1 i=1 j=1. em que zh e zv são dados por  1, se existe ZC na direção horizontal zh ( f , i, j) = , 0, caso contrário. (12).  1, se existe ZC na direção vertical zv ( f , i, j) = . 0, caso contrário. (13). O descritor de artefato Z é dado pela combinação de Zh e Zv , i.e., Z=. Zh + Zv . 2. (14). As características temporais descrevem variações entre quadros. Nesses descritores, é considerada a diferença de movimento entre valores de luminâncias de cada pixel na mesma localidade espacial em quadros sucessivos. Essa diferença é representada por m( f , i, j) = y( f + 1, i, j) − y( f , i, j).. (15). O método usa uma versão levemente modificada da medida T I (Temporal Information – Informação Temporal), definido na recomendação ITU-T (ITU Telecommunication standardization sector) P.910 (ITU, 1999): TI =. 1 F −1. F. ∑ σ [m( f , i, j)],. (16). f =2. em que σ [m( f , i, j)] é o desvio padrão das diferenças de luminância. A diferença absoluta média, MAD (Mean Absolute Difference) (DING et al., 2008), que representa a diferença temporal absoluta entre quadros sucessivos, é definida por 1 MAD = MN(F − 1). F. M. N. ∑ ∑ ∑ |m( f , i, j)|.. (17). f =2 i=1 j=1. A MAD ponderada, MADw (DING et al., 2008) descreve a diferença de movimento,.

(33) 31. cujo cálculo considera a razão entre o valor de MAD do quadro atual f e o anterior f − 1: MADw =. 1 F −1. F. MAD f. ∑ MAD f −1 .. (18). f =2. Por fim, todos os descritores são incorporados em um modelo sigmoidal não linear desenvolvido por meio de estudos empíricos da manipulação das características, usando análise estatística, resultando na expressão 1. NRV QA − LM =. β1 B+β2 A+β3 Z+β4 T I+β5 MAD+β6 MADw +β7. .. (19). 1+e. A Tabela 2 lista resultados para o método nas codificações MPEG-2 e H.264 em conteúdos da base de vídeos LIVE. Os valores nas tabelas se referem a correlação PLCC (Pearson Linear Coefficient Correlation – Coeficiente de Correlação de Pearson) entre métodos objetivos e avaliações subjetivas. Para efeitos de comparação, além do NRVQA-LM são mostrados também resultados para os métodos PSNR e MS-SSIM, que são métricas FR. Os testes foram realizados utilizando dois grupos disjuntos (amostras distintas e aleatórias), G1 e G2. S referese a um grupo composto por G1 e G2. Os resultados destacados na tabela são referentes a correlações onde o método foi treinado em um grupo e testado em outro, simulando uma situação real. Observa-se resultados expressivos especialmente para MPEG-2, com correlação maior que 0,88, superior inclusive aos métodos FR (SILVA et al., 2015). Tabela 2: Média de correlação do NRVQA-LM, PSNR e MS-SSIM para vídeos MPEG-2 e H.264.. Métrica. Treinamento. PSNR MS-SSIM NRVQA-LM. G1 G2 S. Teste em H.264. Teste em MPEG-2. G1. G2. S. G1. G2. S. 0,6252 0,7647. 0,6163 0,7671. 0,5886 0,7305. 0,4765 0,7357. 0,4713 0,7300. 0,4252 0,6851. 0,8497 0,6286 0,7080 0,9506 0,8862 0,9079 0,6300 0,8528 0,7110 0,8875 0,9514 0,9095 0,7637 0,7648 0,7451 0,9367 0,9380 0,9317 Fonte: Silva et al. (2015). O método NRVQA-LM foi escolhido para o desenvolvimento deste trabalho devido aos seus resultados notáveis de correlação com codificações bastante utilizadas (como MPEG-2 e H.264), apresentados em Silva (2013) e Silva et al. (2015), e também devido à familiaridade do grupo de pesquisa com suas características. Ainda assim, a implementação de qualquer métrica em VHDL cria um embasamento e fundamentos para a eventual implementação de outros métodos no futuro..

(34) 32. 2.3. LÓGICA RECONFIGURÁVEL Esta Seção discorre sobre o conceito de lógica reconfigurável, particularmente sobre. dispositivos FPGA e a linguagem VHDL. Também é mostrado em mais detalhes os pacotes de aritmética ponto fixo e ponto flutuante para VHDL. 2.3.1. LÓGICA RECONFIGURÁVEL E FPGAS O princípio que norteia o hardware programável é apresentar um circuito genérico que. pode ser programado para uma determinada aplicação. Computadores convencionais também são baseados nesta ideia, em que a ULA (Unidade Lógica e Aritmética) pode realizar uma operação dentre várias pré-definidas, apresentando uma alta flexibilidade. Porém, apenas uma operação pode ser executada por vez. Logo, um hardware dedicado a uma função específica, ou ASIC (Application-Specific Integrated Circuit), possui alta eficiência e pode realizar tarefas de forma paralela. Porém, não são flexíveis, pois um ASIC não pode ser modificado após sua fabricação. Entram em cena os dispositivos de lógica programável, dentre os quais se destacam as FPGAs, cujas funcionalidades podem ser implementadas de forma paralela e flexível (BAILEY, 2011), podendo ser considerado um modelo intermediário entre as soluções de hardware e software (MARTINS et al., 2003). As FPGAs foram criadas pela empresa estadunidense Xilinx Inc. e lançadas inicialmente em 1985. Atualmente, as FPGAs possuem grande quantidades de recursos, como alto número de elementos lógicos e memória RAM, a fim de implementar operações digitais cada vez mais complexas. As FPGAs são compostas basicamente por três blocos: blocos de entrada e saída, blocos lógicos configuráveis e chaves de interconexão (BAILEY, 2011). Os blocos de entrada e saída (I/O) formam uma borda ao redor do dispositivo. Cada uma desses blocos pode servir como entrada, saída ou acesso bidirecional a outros pinos de I/O. Os blocos lógicos são dispostos de forma bidimensional e as chaves de interconexão são dispostas em formas de trilhas verticais e horizontais entre as colunas de blocos lógicos. Esse roteamento significa que praticamente qualquer sinal pode ser roteado para qualquer pino I/O do dispositivo (BAILEY, 2011). A Figura 4 apresenta a arquitetura básica de uma FPGA..

Referências

Documentos relacionados

novo medicamento, tendo como base para escolha as necessidades de cada segmento do mercado farmacêutico; e c) licenciamento do produto, o processo mais demorado

Sensibilidade e especificidade dos indicadores antropométricos de obesidade, como discriminadores da inflamação, segundo pontos de corte da literatura, em pacientes

O micélio fuligíneo (crosta espessa e negra) produzido por esse fungo recobre parcial ou totalmente a parte dorsal e ventral dos folíolos das folhas do coqueiro, bem como,

Porém, as narrativas dos diários reflexivos selecionados para essa análise não somente trouxeram a voz do aluno de modo reflexivo para que o professor também possa pensar com

Inspecção Visual Há inspeccionar não só os aspectos construtivos do colector como observar e controlar a comutação (em

A gestão do processo de projeto, por sua vez, exige: controlar e adequar os prazos planejados para desenvolvimento das diversas etapas e especialidades de projeto – gestão de

Besides the difficulty in coupling urban management and policy to mitigation and adaptive strategies, this paper highlights other important hindrances that hamper the

O presente estudo foi realizado com o objetivo de descrever o perfil das mulheres que tiveram parto na maternidade do Hospital Universitário Polydoro Ernani de São Thiago em