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/2029
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.
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.
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.
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
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
Nome | CH Semanal | Data inicial | Data final |
---|---|---|---|
BRUNO ZATT | 2 | ||
DANIEL MUNARI VILCHEZ PALOMINO | 2 | ||
DENIS LEMKE MAASS | |||
GUILHERME RIBEIRO CORRÊA | 2 | ||
GUSTAVO HÜBNER REHBEIN | |||
ISIS DUARTE BENDER | |||
JONES WILLIAM GÖEBEL | |||
LUCIANO VOLCAN AGOSTINI | 2 | ||
MARCELLO MORALES MUÑOZ | |||
MARCELO SCHIAVON PORTO | 10 | ||
MURILO ROSCHILDT PERLEBERG |