Nome do Projeto
Soluções Eficientes para Codificadores de Vídeo Usando Hardware Dedicado e Aprendizado de Máquina
Ênfase
Pesquisa
Data inicial - Data final
01/07/2023 - 31/08/2026
Unidade de Origem
Coordenador Atual
Área CNPq
Ciências Exatas e da Terra
Resumo
Este projeto reflete o projeto de bolsa PQ do CNPq atualmente em vigor, com início em 2022. O projeto apresenta uma nova etapa nas investigações desenvolvidas pelo proponente nas áreas de microeletrônica, de codificação de vídeos digitais e de aprendizado de máquina, e tem foco nos dois codificadores de vídeo mais importantes da atualidade, o AV1 e o VVC. Assim, o projeto está dividido em quatro linhas principais de atuação: (i) desenvolvimento de hardware de elevada taxa de processamento e baixo consumo energético para ferramentas do AV1; e (ii) desenvolvimento de hardware de elevada taxa de processamento e baixo consumo energético para ferramentas do VVC; (iii) desenvolvimento de algoritmos otimizados para ferramentas do AV1 através do uso de aprendizado de máquina; e (iv) desenvolvimento de algoritmos otimizados para ferramentas do AV1 através do uso de aprendizado de máquina. Como resultados esperados com a execução deste projeto, além do desenvolvimento arquitetural e algorítmico inovador para a codificação e decodificação segundo os formatos AV1 e VVC, espera-se a publicação de dez artigos em periódicos qualificados, 14 artigos em eventos internacionais e quatro artigos no SBCCI, além da prospecção para o depósito de patentes e de registro de softwares. Além disso, é esperada a formação de pessoas especializadas no tema, com seis doutores e dois mestres formados na UFPel no escopo desse projeto. Como resultado mais amplo, pretende-se estreitar os laços de cooperação entre o proponente e pesquisadores de outras instituições nacionais e internacionais.

Objetivo Geral

Esse projeto tem como objetivo científico principal gerar contribuições para a área de codificação de vídeos em duas linhas de atuação principais: (i) geração de algoritmos otimizados usando aprendizado de máquina visando reduzir o tempo de execução e manter a eficiência de codificação dos codificadores AV1 e VVC e (ii) projeto de hardware de elevada taxa de processamento e baixo consumo energético para os codificadores e decodificadores do AV1 e VVC. Em ambos os casos, serão selecionadas para investigação as ferramentas de codificação com maiores oportunidades para a geração de contribuições inovadoras.

Além deste objetivo científico, também é objetivo geral deste projeto contribuir para consolidar o Programa de Pós-Graduação em Computação (PPGC) da UFPel e, também, fortalecer a pesquisa nas áreas de microeletrônica e codificação de vídeos na UFPel e na região sul do Rio Grande do Sul.

Justificativa

Como já discutido, esse projeto pretende contribuir com o avanço do estado-da-arte nas áreas de microeletrônica, codificações de vídeos e aprendizado de máquina, através do desenvolvimento de hardware dedicado e de algoritmos otimizados a partir de aprendizado de máquina com foco na codificação de vídeos segundo os codificadores AV1 e VVC. Serão quatro linhas principais de atuação, incluindo o projeto de hardware para ambos os codificadores, bem como o projeto de algoritmos otimizados com aprendizado de máquina também para ambos os codificadores. Em todos os casos, os resultados esperados, discutidos na seção anterior, se atingidos, terão relevância para avançar o estado-da-arte destas áreas de pesquisa, com impacto importante para o desenvolvimento científico, tecnológico e de inovação.

No projeto de hardware, será objetivo atingir elevada taxa de processamento e baixo consumo energético, com foco nas ferramentas mais críticas em termos de custo computacional e, também, nas ferramentas mais inovadoras, tanto para os codificadores e quanto para os decodificadores do AV1 e VVC. Por conta deste foco, os esforços do projeto estarão nas ferramentas de predição inter-quadros e intra-quadro, nas transformadas e nos filtros de laço, ondem residem as principais inovações de ambos os codificadores e onde reside o maior custo computacional tanto no processo de codificação, quanto de decodificação. O alvo principal das soluções estará em uma elevada taxa de processamento (para que estas soluções sejam capazes de processar vídeos de elevadas resoluções) e no baixo consumo de energia e de dissipação de potência (com foco principal em dispositivos embarcados), mas outras questões como o custo em hardware, a latência, entre outras, também serão considerados. Estas soluções estarão aptas a processar vídeos de elevada resolução (superiores ao Full-HD 1920x1080) em implementações otimizadas capazes de operar em dispositivos móveis de eletrônica de consumo.

Na investigação para a geração de algoritmos otimizados visando reduzir o tempo de execução e manter a eficiência de codificação dos codificadores AV1 e VVC, serão aplicados métodos de aprendizado de máquina. Novamente o esforço de investigação será concentrado nas ferramentas com maior custo computacional e nas ferramentas com maior grau de inovação. Nesse caso, serão alvo principal as predições inter-quadros e intra-quadro, bem como o respectivo processo de partição de blocos usados para definir o tamanho de bloco utilizado para representar cada região do quadro. Além destes, novamente, as transformadas também devem ser alvo de investigação. O uso de aprendizado de máquina será importante para gerar algoritmos que, além de reduzirem a complexidade do processo de codificação, terão por alvo gerar impactos mínimos na eficiência de codificação. Assim, essas soluções irão contribuir que as codificações e decodificações no AV1 e no VVC exijam um menor consumo de energia, ampliando a vida útil da bateria em dispositivos móveis e, assim, ampliando a disseminação destes codificadores no cenário de eletrônica de consumo.

Considerando o que foi descrito, é possível perceber que a execução deste projeto tem potencial de gerar diversas contribuições científicas, tecnológicas e de inovação relevantes para os codificadores de vídeo AV1 e VCC, tanto através do projeto de hardware dedicado, quanto através do desenvolvimento de algoritmos inovadores com base em aprendizado de máquina. Os resultados gerados serão relevantes para a comunidade da área em temas de grande importância acadêmica e industrial na atualidade. Estes resultados incluem contribuições científicas, com os novos algoritmos propostos e as publicações geradas; tecnológicas, através das implementações em hardware dos algoritmos proposto; e de inovação, com potencial importante para a geração de patentes e registros de software. O histórico recente de atuação do proponente reforça essa conclusão, uma vez que o proponente possui publicações e depósitos de patente em trabalhos na área de codificação de vídeos, com foco principal em codificadores anteriores aos abordados nesse projeto. Nestes casos, existem trabalhos tanto do ponto de vista algorítmico (alguns com o uso de aprendizado de máquina), quanto do ponto de vista de projeto de hardware. A experiência do proponente e do grupo de pesquisa que dá suporte a este projeto será uma garantia importante para que os impactos do projeto sejam relevantes.

Metodologia

--- Metodologia para a Geração de Algoritmos Otimizados com Aprendizado de Máquina

A geração de algoritmos otimizados com aprendizado de máquina terá início com uma revisão sistemática da literatura com o objetivo de mapear os trabalhos da literatura que usam aprendizado de máquina em soluções otimizadas no AV1 e no VVC. A metodologia usada nesta etapa segue a definida em trabalhos da literatura, contemplando atividades como: (i) definição das questões de pesquisa; (ii) definição da estratégia de busca; (iii) realização da busca nas bases de dados selecionadas; (iv) identificação dos artigos alvo através dos títulos e resumos, (v) obtenção dos arquivos dos artigos selecionados, (vi) definição e aplicação dos critérios de inclusão e exclusão, (vii) avaliação da qualidade dos resultados obtidos, (viii) redação da síntese dos resultados e (ix) publicação dos resultados.

A seguir, serão avaliados os métodos de aprendizado de máquina mais adequados para serem usados em cada uma das etapas de codificação. Para tanto, é prevista uma etapa inicial para a equipe atualizar seus conhecimentos sobre as novidades da área, estudando os métodos e ferramentas mais atuais da área de aprendizado de máquina. Além disso, como resultado da revisão sistemática, também serão considerados os métodos mais utilizados nos trabalhos publicados na área. Naturalmente, estes métodos tendem a ser bons candidatos para as avaliações que se seguirão. Como resultado desta etapa, será gerada uma lista de métodos de aprendizado de máquina que serão investigados nas próximas etapas. Além disso, serão selecionadas as ferramentas que serão utilizadas para o treinamento dos modelos desenvolvidos.

Então serão realizadas modificações nos softwares de referência dos codificadores AV1 e VVC, para coletar, em tempo de execução, os parâmetros necessários para as avaliações. O software de referência do AV1 é o libaom e o software de referência do VVC é o VVC Test Model (VTM), como já mencionado. Em ambos os casos, serão utilizadas as versões mais atuais destes softwares quando do início da execução do projeto. Todas as análises serão conduzidas nos servidores e computadores disponíveis na UFPel.

A seguir, será realizado o processo de mineração de dados, que consiste em extrair do processo de codificação os parâmetros necessários para treinamento dos modelos de aprendizado de máquina. Os parâmetros serão organizados em um conjunto de entradas, chamadas de instâncias. Um conjunto de sequências de vídeo, selecionadas especificamente para a etapa de treinamento, serão codificadas para obtenção das instâncias necessárias. As instâncias coletadas serão balanceadas e agrupadas em conjuntos de dados distintos.

Na etapa de pré-treino, serão consideradas sequências de vídeos das bases de dados NETVC, Ultra Video Group, e ex-CTC. A primeira base de dados diz respeito ao Internet Video Codec (NETVC), que é um órgão que lança periodicamente documentos abordando recomendações e condições de testes ideais a serem executados entre diferentes codificadores de código aberto. A segunda base de dados tem origem do Ultra Video Group (UVG), que é um grupo acadêmico de codificação de vídeo da Finlândia com mais de 20 anos de experiência na condução de pesquisas pioneiras em sistemas de processamento de vídeo e imagem. A terceira base de dados diz respeito às sequências de vídeo que já fizeram parte CTC durante o processo de padronização do VVC, mas que foram removidos das versões mais atuais. Desta forma, todas as sequências selecionadas para esta etapa não fazem parte da CTC atual do VVC.

Para definir os vídeos utilizados, uma etapa inicial de seleção de sequências de vídeo será realizada, utilizando a técnica analítica apresentada em [99], que calcula e relaciona as sequências de vídeo em dois eixos: variabilidade de dados em um mesmo quadro (Spatial Information - SI), e a variabilidade de dados ao longo de todos os quadros (Temporal Information - TI). As sequências de vídeo serão organizadas em três conjuntos, de acordo com suas resoluções: HD, Full HD e Ultra HD.

A seguir, o VTM e o libaom serão executados para coletar os parâmetros em tempo de execução. Cada um dos parâmetros coletados será escrito em um arquivo de saída, para cada tamanho de bloco. Por se tratar de um aprendizado supervisionado, uma informação alvo deve ser fornecida para cada instância. Para definir o alvo, será verificada qual etapa originou a decisão de codificação com menor custo ao final da execução das ferramentas de codificação.

As instâncias de saída serão agrupadas em conjuntos que representam os possíveis tamanhos de bloco. Pela natureza dos dados, o número de instâncias geradas para blocos maiores tende a ser menor que para blocos menores, gerando o desbalanceamento de dados. Para evitar problemas de enviesamento dos modelos treinados, os dados serão balanceados.

Com a etapa de mineração para construção dos conjuntos de dados finalizada, é possível descrever o fluxo de treinamento e otimização dos modelos de decisão que serão avaliados.

Durante o treinamento, a técnica de validação cruzada com K folds será utilizada. Esta técnica divide o conjunto de dados em K subconjuntos (folds), geralmente 10. Em cada iteração do treinamento, um subconjunto diferente é selecionado para servir como conjunto de validação do modelo e os demais subconjuntos (K-1) são utilizados como dados para o treinamento. Desta forma, é garantido que ao final da operação, todo o conjunto de dados foi testado. Ao final da validação cruzada, uma lista de valores contendo a acurácia dos modelos treinados em cada iteração é gerada, representando o desempenho geral do modelo. Outras formas de divisão de dados em subconjuntos de treino, validação e teste também poderão ainda ser consideradas ao longo do projeto para otimização dos hiperparâmetros empregados no treinamento dos modelos.

Finalmente, com os modelos definidos, estes serão implementados no VTM e no libaom e uma nova rodada de experimentos será realizada para coletar informações de tempo de execução e de eficiência de codificação. Nesse caso, os softwares de referência do AV1 e VVC serão modificados para incluir os modelos desenvolvidos com aprendizado de máquina. O libaom e o VTM serão executados e os experimentos serão realizados seguindo as CTCs e com sequências de vídeo que não foram usadas no processo de treinamento, para evitar problemas de overfitting.

--- Metodologia para o Projeto de Hardware para o AV1 e o VVC

Da mesma forma que no item anterior, o projeto de hardware eficiente para o AV1 e o VVC terá início com uma revisão sistemática da literatura com o objetivo de mapear os trabalhos da literatura que apresentam hardwares dedicados para as ferramentas do AV1 e do VVC. Novamente, trabalhos com foco em outros codificadores recentes (como o HEVC ou o VP9) também serão considerados. A metodologia usada será a mesma apresentada na etapa anterior.

A seguir, será iniciado o desenvolvimento das arquiteturas para as ferramentas de codificação selecionadas do AV1 e do VVC. Estas ferramentas serão definidas nos experimentos iniciais, apresentados no item 3.1 do projeto e, também, serão aproveitados os algoritmos otimizados gerados com aprendizado de máquina. Serão foco ferramentas da codificação e da decodificação de ambos os formatos de codificação. O foco do projeto arquitetural será atingir processamento suficiente para que o hardware seja capaz de processar vídeos de elevada resolução (superior a Full HD) em tempo real (pelo menos 30 quadros por segundo), com o menor consumo de energia possível. Para tanto, o uso de técnicas como o pipeline, data gating e clock gating, entre outras, serão avaliadas. Além disso, o projeto do hardware também considerará otimizações em nível de redução do número de operações, na transformação de multiplicações em somas e deslocamentos, no compartilhamento de subexpressões, entre outras. Estas otimizações serão importantes para reduzir a utilização de recursos de hardware e, consequentemente, potencializar a redução do consumo de energia.

Com as arquiteturas especificadas, terá início a descrição destas arquiteturas em VHDL. A seguir, terá início a fase de validação das arquiteturas, com o uso da ferramenta ModelSim, desenvolvida pela Mentor Graphics e hoje de propriedade da Siemens. Testbenches serão descritos em VHDL para gerenciar as entradas e saídas das arquiteturas. Os estímulos de entrada serão extraídos dos softwares de referência (libaom e VTM), que serão os golden models para esse projeto. Para tanto, serão inseridas rotinas no libaom e no VTM para a extração dos dados necessários para a validação dos hardwares que serão desenvolvidos. Com as rotinas inseridas, os softwares de referência serão executados com sequências de vídeo reais e os dados necessários serão armazenados em arquivos. A comparação entre os resultados gerados pela arquitetura e os resultados gerados pelos golden models será automatizada, através da geração de um programa descrito em C.

Então será disparado o processo de síntese em standard-cells das arquiteturas desenvolvidas, utilizando a ferramenta Encounter RTL Compiler da Cadence. A frequência alvo para a síntese será definida a partir do paralelismo das arquiteturas projetadas e da taxa de processamento necessária para a ferramenta de codificação alvo atingir o processamento em tempo real de vídeos de elevada resolução. As arquiteturas desenvolvidas serão estimuladas com dados reais, extraídos dos golden models, para a extração de dados de dissipação de potência e consumo de energia. Então serão extraídas estimativas confiáveis dos recursos de hardware utilizados, consumo de energia e frequência de operação. Com estas estimativas será possível realizar refinamentos nas arquiteturas para que os requisitos alvo sejam atingidos.

Indicadores, Metas e Resultados

Inicialmente, espera-se que a execução deste projeto contribua para a contínua consolidação da pesquisa no estado-da-arte das áreas de microeletrônica, codificação de vídeos e aprendizado de máquina junto à Universidade Federal de Pelotas.

Também é esperado que a execução do projeto tenha impacto importante no fortalecimento do Programa de Pós-Graduação em Computação (PPGC) da UFPel, com seus cursos de Mestrado e Doutorado em Computação.

Outro impacto muito importante que é esperado com a execução deste projeto está na formação de pessoas nas áreas de microeletrônica, codificação de vídeos e aprendizado de máquina, que são áreas estratégicas para o país. Estes recursos humanos incluem bolsistas de IC, mestres e doutores. A lista completa da equipe atual está na Seção 9 deste projeto, mas novas pessoas devem ser incluídas nesse esforço de pesquisa a partir de sua execução. Nessa questão, vale destacar a formação de pessoas que estão atuando como professores nas instituições da região, que tem sido uma característica marcante do PPGC da UFPel. Em destaque, vale citar a formação de doutores que são professores nos diversos campi dos Institutos Federais de Educação, Ciência e Tecnologia do Estado.

Do ponto de vista científico, é esperado que a pesquisa desenvolvida no projeto tenha impacto no avanço do estado-da-arte na área de codificação de vídeos, com foco nos formatos AV1 e VVC. Deste modo, são resultados esperados a geração de publicações relevantes em periódicos e em anais de eventos relatando os avanços obtidos, além do possível depósito de patentes e registro de softwares.

Os resultados esperados foram organizados através de alguns indicadores quantitativos mais específicos, que estão apresentados abaixo. Através destes indicadores, será possível avaliar a execução bem-sucedida do projeto.

• QUATRO novos algoritmos rápidos, gerados com auxílio de aprendizado de máquina, para ferramentas de codificação do AV1.

• QUATRO novos algoritmos rápidos, gerados com auxílio de aprendizado de máquina, para ferramentas de codificação do VVC.

• TRÊS arquiteturas energeticamente eficientes desenvolvidas para as ferramentas de codificação do AV1.

• TRÊS arquiteturas energeticamente eficientes desenvolvidas para as ferramentas de codificação do VVC.

• DUAS dissertações de mestrado na UFPel concluídas sobre o tema.

• SEIS teses de doutorado na UFPel concluídas sobre o tema.

• QUATRO artigos publicados no SBCCI.

• QUATORZE artigos publicados em eventos internacionais qualificados, preferencialmente no IEEE ISCAS, no IEEE ICIP, no IEEE ICECS e no IEEE LASCAS.

• DEZ artigos publicados em periódicos qualificados, preferencialmente no IEEE TCSVT, no IEEE TCAS-I, no IEEE TCAS-II, no Springer JRTIP e no JICS.

Equipe do Projeto

NomeCH SemanalData inicialData final
Andre Marcelo Coelho da Silva
BIANCA NUNES COELHO
BRUNO ZATT1
DANIEL MUNARI VILCHEZ PALOMINO1
FRANKLIN SALES DE OLIVEIRA
GUILHERME RIBEIRO CORRÊA1
LUCIANO VOLCAN AGOSTINI10
MARCELO SCHIAVON PORTO5
Marta Breunig Loose
PABLO DE CHIARO ROSA
RAMIRO GOMES DA SILVA VIANA
RUHAN AVILA DA CONCEIÇÃO
Rogerio Cassanta Rosado
VINICIUS DE ARAUJO BORGES
WILLIAM KOLODZIEJSKI

Fontes Financiadoras

Sigla / NomeValorAdministrador
CNPq / Conselho Nacional de Desenvolvimento Científico e TecnológicoR$ 125.760,00Coordenador
FAPERGS / Fundação de Amparo a Pesquisa do Estado Rio Grande do SulR$ 44.300,00Coordenador

Plano de Aplicação de Despesas

DescriçãoValor
339033 - Passagens de Despesas de LocomoçãoR$ 28.008,00
339020 - Auxílio Financeiro a PesquisadorR$ 62.400,00
339014 - Diária Pessoa CivilR$ 24.212,00
449052 - Equipamentos e Material PermanenteR$ 23.309,47
339039 - Outros Serviços de Terceiro - Pessoa JurídicaR$ 32.130,53

Página gerada em 28/04/2024 07:59:54 (consulta levou 0.190449s)