Nome do Projeto
Otimizações Algorítmicas e Projeto de Hardware Dedicado para a Compressão de Vídeo em Dispositivos Móveis
Ênfase
Pesquisa
Data inicial - Data final
01/08/2022 - 31/08/2025
Unidade de Origem
Coordenador Atual
Área CNPq
Ciências Exatas e da Terra
Resumo
Este projeto propõe o desenvolvimento de algoritmos otimizados e arquiteturas de hardware dedicadas para a compressão de vídeo com foco na aplicação em dispositivos móveis para o processamento de vídeos UHD (Ultra High Definition) em tempo real. Os principais codificadores explorados serão o AV1 e o VVC, uma vez que eles representa o estado da arte e estarão presentes nas próximas gerações dos dispositivos móveis capazes de capturar, reproduzir e transmitir vídeos digitais, como os smartphones. No entanto, um grande esforço de pesquisa será necessário para tornar viável a implementação em hardware destes codificadores, garantindo o atendimento das demandas de desempenho e consumo de energia para o processamento de vídeos UHD em tempo real em dispositivos móveis. O objetivo principal deste projeto está no desenvolvimento de arquiteturas de hardware dedicadas para os codificadores AV1 e VVC que atendam às demandas de desempenho para operar sobre vídeos UHD, nas resoluções 4K (3840x2160 pixels) e 8K (7680x 4320 pixels), em tempo real, e que atendam às restrições de uso de área em chip e consumo de energia presentes no projeto voltado à aplicação em dispositivos móveis alimentados por bateria. Os codificadores AV1 e VVC introduzem um vasto conjunto de novas ferramentas de codificação que garantem a eles maior eficiência de codificação, mas com um elevado custo computacional. Neste contexto, o projeto de hardware dedicado é essencial para que estes codificadores possam ser implementados atendendo as restrições de desempenho e consumo de energia necessárias para aplicações de tempo real em dispositivos móveis. Existe um grande interesse, tanto na comunidade científica quanto industrial, no tema abordado neste projeto. O mercado de dispositivos móveis capazes de processar vídeos digitais de alta definição está em franca expansão, além disso, a capacidade de captura e reprodução de vídeos destes dispositivos vem aumentando rapidamente. As gerações futuras de dispositivos móveis capazes de manipular vídeos devem apresentar suporte aos novos codificadores de vídeo AV1 e VVC, demandando, portanto, o desenvolvimento de arquiteturas de hardware dedicadas para suportar esses novos codificadores.

Objetivo Geral

Este projeto tem como objetivo principal o desenvolvimento de algoritmos otimizados e de arquiteturas de hardware dedicadas de alto desempenho e de baixo consumo para a codificação de vídeo digital de ultra alta resolução em tempo real em dispositivos móveis, com foco nos novos codificadores de vídeo AV1 e VVC. Devido à crescente demanda pelo processamento de vídeo de alta resolução em dispositivos móveis, seja para captação, armazenamento, transmissão ou reprodução em tempo real, o cenário atual proporciona amplo espaço de trabalho para pesquisas nesta área, onde as contribuições científicas podem ser aplicadas às novas gerações de dispositivos móveis comerciais que deverão possuir suporte a estes codificadores.
Este trabalho investigará as principais inovações e as etapas críticas do processo de codificação dos codificadores AV1 e VVC (Versatile Video Coding), para o projeto eficiente de hardware de alto desempenho e baixo consumo para atender às demandas do projeto voltado à aplicação em dispositivos móveis. O projeto eficiente de hardware para a codificação de vídeo requer a aplicação de otimizações e simplificações em diferentes níveis, desde a aplicação até o projeto arquitetural e físico. Neste trabalho, novos algoritmos e otimizações/simplificações dos algoritmos existentes nos codificadores AV1 e VVC serão propostas, sempre com foco na obtenção de algoritmos mais eficientes para a implementação em hardware. Além disso, o projeto arquitetural também explorará diversas técnicas para o projeto de circuitos VLSI de baixa potência.

Justificativa

A evolução da tecnologia de fabricação de circuitos integrados, que propiciou o grande avanço na produção de dispositivos eletrônicos, especialmente os móveis, aliada evolução da infraestrutura de telecomunicações, tornaram o uso de vídeos digitais uma das mídias mais populares para a comunicação, entretenimento, educação, segurança, entre outros. Atualmente, os vídeos digitais estão presentes e são uma das principais formas de comunicação nas principais redes sociais, como Facebook, Instagram e Twitter, além dos serviços de streaming de vídeo, como Netflix, YouTube, Disney+, Amazon Prime, HBO Max, Globoplay, entre outros, que modificaram os padrões atuais de entretenimento. Neste contexto, um estudo da Cisco (CISCO, 2020) prevê que o tráfego de dados na internet relacionado a aplicações de vídeo ultrapassará 90% até 2023. Este cenário foi ainda afetado fortemente pelos efeitos da pandemia da COVID-19, onde a utilização de streaming de vídeo para o trabalho remoto e educação à distância, usando ferramentas como o Google Meet, Zoom e WEBconf, teve um grande acréscimo. Estudos demonstram que o volume de dados trafegados na internet relacionados a jogos online cresceu 82% em comparação ao período pré-pandemia (VERIZON, 2021). Nesta mesma linha, também pôde ser observado que, no mesmo período, a transmissão de vídeo em redes sociais cresceu cerca de 33% (STATISTA, 2020).
Esta popularização dos vídeos digitais foi possível devido ao esforço contínuo no desenvolvimento de codificadores de vídeo, uma vez que a manipulação de vídeos digitais sem compressão é uma tarefa impraticável, especialmente para altas resoluções. A compressão de vídeo torna viáveis o armazenamento, transmissão a reprodução de vídeo em tempo real. Os codificadores reduzem o tamanho dos vídeos codificados a partir da eliminação de redundâncias, bastante frequentes em vídeos digitais. A metodologia utilizada atualmente para codificar vídeos se baseia no processamento dos vídeos divididos em blocos. Além disso, diferentes tamanhos de blocos podem ser utilizados para adequar o codificador às diferentes texturas da imagem do vídeo. Embora o uso de tamanhos de blocos mais adequados às características da imagem aumente a eficiência da codificação (reduz o tamanho dos vídeos codificados), identificar o tamanho de bloco mais adequado é uma tarefa computacionalmente custosa. Além disso, o crescimento das resoluções e taxas de amostragens (quadros por segundo) dos vídeos digitais leva a um aumento exponencial no volume de dados a serem processados, o que requer codificadores de vídeo de altíssimo desempenho. Entretanto, a grande produção de vídeos digitais em dispositivos móveis demanda a minimização do consumo energético proporcionada por aplicações de codificação de vídeos.
Os codificadores AOMedia Video 1 (AV1) e o Versatile Video Coding (VVC) são considerados atualmente o estado-da-arte em codificadores para a compressão de vídeo. O codificador AV1 foi desenvolvido pela Alliance for Open Media (AOMedia) (AOM, 2021) com o objetivo de ser um codificador livre de royalties. Fazem parte desta aliança hoje empresas como Google, Netflix, Cisco, AMD, ARM, Chips&Media, Intel, Nvidia, Microsoft, Mozilla, Adobe, Amazon, entre outras. O VVC foi desenvolvido pelo Video Coding Experts Group (VCEG) e pelo Moving Picture Experts Group (MPEG) (ISO/IEC, 2020) e lançado em 2020. Tanto o AV1 quanto o VVC trouxeram diversas inovações em relação aos seus predecessores, o VP9/10 e o HEVC, respectivamente. Estas inovações são responsáveis por ganhos significativos em eficiência de codificação (relação entre taxa de compressão e qualidade do vídeo codificado), no entanto, demandam um elevado custo computacional e acarretam em diversos desafios para o projeto eficiente em hardware.

Metodologia

Para a execução do projeto, primeiramente serão realizados experimentos com os softwares de referência dos codificadores de vídeo AV1 e VVC, para a avaliação da complexidade das principais ferramentas introduzidas. Nesta etapa, o profundo domínio da aplicação (codificação de vídeo) bem como a compreensão do código de referência destes codificadores é fundamental para a obtenção de resultados confiáveis de codificação, os quais serão posteriormente comparados aos obtidos com os algoritmos e otimizações/simplificações propostos. Além disso, também é fundamental o domínio do software de referência para a manipulação e inserção de rotinas, tanto para a obtenção de resultados intermediários quanto para a alteração do fluxo de codificação. Os softwares de referência dos codificadores AV1 e VVC serão usados para a geração de resultados âncora, bem como serão a base de desenvolvimento para os novos algoritmos e geração dos resultados de eficiência de compressão para a comparação. Para a geração dos resultados, serão consideradas as Condições Comuns de Teste (CTCs – Common Test Conditions) (SHARMAN, 2018) definidas para o VVC, e pela especificação de testes da AOMedia (AOM, 2020). Estas condições de teste definem as sequências de vídeo e configurações que devem ser utilizadas nos experimentos, de forma que os resultados gerados possam ser comparados com soluções desenvolvidas por outros pesquisadores.
O desenvolvimento e otimizações dos algoritmos serão realizados com base na experiência anterior do proponente deste projeto e dos membros da equipe, além de trabalhos científicos obtidos na literatura. As otimizações terão foco no desenvolvimento de arquiteturas de hardware eficientes, visando à redução do custo computacional e do consumo energético, no entanto, mantendo a eficiência de compressão dos codificadores, ou seja, a relação entre a qualidade e a taxa de compressão do vídeo codificado. Neste contexto, estas otimizações devem visar à redução no acesso à memória, que apresenta elevado consumo energético, assim como a exploração do paralelismo para atingir elevadas taxas de processamento e possibilitando a operação com menores frequências de operação. Esta característica possibilita o uso de tecnologias de fabricação que operem com menor tensão de alimentação, o que tem impacto importante no consumo energético. Estas otimizações serão inseridas no software de referência dos codificadores AV1 e VVC e avaliadas segundo as CTCs. Os resultados serão comparados aos obtidos com a versão original do software e também com os trabalhos relacionados encontrados na literatura.
A primeira etapa do projeto de hardware é a especificação das arquiteturas, tomando por base a experiência anterior do proponente e sua equipe, além dos trabalhos relacionados encontrados na literatura. Com as arquiteturas especificadas, terá início a descrição em VHDL e/ou Verilog, onde a ferramenta ModelSim, da Mentor, será utilizada. O ModelSim também será utilizado para a validação das arquiteturas desenvolvidas. As arquiteturas validadas serão caracterizadas com síntese ASIC, utilizando as ferramentas o fluxo de síntese lógica da Cadence e bibliotecas de células padrão. A partir da síntese ASIC será possível obter resultados de desempenho e de custo, tanto em área quanto em dissipação de potência, para a implementação destas arquiteturas. Nesta etapa de síntese também serão exploradas técnicas de projeto VLSI de baixo consumo, como clock e power gatting.

Indicadores, Metas e Resultados

Ao final da execução deste projeto, diversas contribuições científicas são esperadas com o desenvolvimento de soluções eficientes de hardware e software para a codificação de vídeo de alta definição em dispositivos móveis, apresentando otimizações para a redução de complexidade e de consumo no projeto de hardware dedicado para os codificadores VVC e AV1. Estas otimizações terão foco na implementação em hardware destes algoritmos e, principalmente, no baixo consumo de energia, uma vez que a aceleração em hardware é indispensável para aplicações que manipulam vídeo em dispositivos móveis. Os resultados obtidos com esta pesquisa serão publicados em periódicos e anais de eventos importantes relacionados a esta área.

A principais contribuições esperadas podem ser encontradas em diversos resultados pontuais, que devem ser obtidos até o final da execução deste projeto:

• Desenvolvimento de DOIS algoritmos otimizados com foco no projeto eficiente em hardware para a predição inter-quadros no codificador VVC.
• Desenvolvimento de DUAS arquiteturas de hardware dedicadas para a etapa de predição inter-quadros dos codificadores VVC e AV1
• DUAS heurísticas para a aceleração dos algoritmos da predição intra-quadro, com foco no projeto eficiente em hardware.
• Desenvolvimento de DUAS arquiteturas de hardware dedicadas para a etapa de predição intra-quadro dos codificadores VVC e AV1.
• Desenvolvimento de QUATRO arquiteturas de hardware dedicadas para as transformadas dos codificadores VVC e AV1.
• Desenvolvimento de DUAS soluções para redução e controle dinâmico de complexidade dos codificadores VVC e AV1.
• Publicação de TRÊS artigos em periódicos internacionais qualificados com os resultados obtidos com a execução do projeto
• Publicação de NOVE trabalhos em anais de eventos nacionais e internacionais qualificados com divulgação em portais importantes como IEEE e ACM
• Orientação de UM trabalho de conclusão de curso na UFPel sobre o tema
• Orientação de DUAS dissertações de mestrado no PPGC-UFPel sobre o tema
• Coorientação de DUAS dissertações de mestrado no PPGC-UFPel sobre o tema
• Orientação de DUAS teses de doutorado no PPGC-UFPel sobre o tema

Equipe do Projeto

NomeCH SemanalData inicialData final
BRUNO ZATT2
DANIEL MUNARI VILCHEZ PALOMINO2
DENIS LEMKE MAASS
GUILHERME RIBEIRO CORRÊA2
GUSTAVO HÜBNER REHBEIN
ISIS DUARTE BENDER
JONES WILLIAM GÖEBEL
LUCIANO VOLCAN AGOSTINI2
MARCELLO MORALES MUÑOZ
MARCELO SCHIAVON PORTO10
MURILO ROSCHILDT PERLEBERG

Página gerada em 18/04/2024 23:36:19 (consulta levou 1.690242s)