Desenvolvimento de soluções baseadas em aprendizado de máquina para transcodificação rápida de vídeo para o formato de vídeo AOMedia 1 Desenvolvimento de soluções baseadas em aprendizado de máquina para transcodificação rápida de vídeo para o formato de vídeo AOMedia 1.
Transcodificação de Vídeo
Por outro lado, a transcodificação heterogênea realmente visa alterar o formato de codificação de vídeo usado. Portanto, no capítulo 3, serão apresentados os trabalhos publicados na literatura científica que propõem estratégias para acelerar o processo de transcodificação de vídeo.
Aprendizado de Máquina
Aprendizado de Máquina Supervisionado
Uma das formas implementadas para reduzir o custo computacional é através do uso de algoritmos de aprendizado de máquina para acelerar a tomada de decisão do codificador. No entanto, Kubat (2017) diz que esse conceito de aprendizado de máquina é mais adequado para ser usado em conjuntos de dados com características mutuamente independentes.
Confiabilidade dos Modelos de Aprendizado de Máquina
O nível de precisão representa uma relação entre as respostas corretas e todas as respostas que o modelo prevê. Nível de precisão: Informa quantas respostas corretas o modelo apresentou, considerando apenas aquelas classificadas como verdadeiras.
Comparando Codificações
Os trabalhos de transcodificação de vídeo apresentados nesta tese visam sempre apresentar um tempo de codificação inferior ao tempo de referência. Portanto, deve ser levado em consideração quando se trata de estudar a complexidade desse formato de codificação de vídeo.
Visão Geral da Transcodificação Rápida de Vídeo
Por exemplo, Jin et al. 2011) apresenta um valor positivo significativo na transcodificação de AVS-para-H.264/AVC, pois sua proposta atinge uma redução de tempo de 78,15% com uma perda mínima de eficiência de compressão (0,58% da taxa de BD). Por outro lado, um resultado considerado negativo pode ser observado em Van leuven et al. 2011), que limita a previsão intraframe e a divisão de blocos sob certas condições.
Transcodificação Assistida por Aprendizado de Máquina
62 Tabela 4: Resumo das abordagens baseadas em aprendizado de máquina encontradas na literatura para acelerar transcodificadores de vídeo. 63 Tabela 4: Resumo das abordagens baseadas em aprendizado de máquina encontradas na literatura para acelerar transcodificadores de vídeo.
Transcodificação Rápida por Herança de Particionamento de Blocos 65
Algumas das soluções baseadas em aprendizado de máquina apresentadas na Tabela 4 focam na redução da complexidade durante a decisão de alocação de blocos. Alicate; Wen (2015) também usa a reutilização de modos de previsão intraframe observados no processo de decodificação H.265/HEVC para acelerar a previsão intraframe em H.264/AVC. Além disso, cerca de 61% dos trabalhos de transcodificação heterogênea são H.264/AVC-para-H.265/HEVC.
Sequências de Vídeo
Escolhas como sequências de vídeo, versões de software e configurações usadas são uma parte importante da flexibilidade dos resultados e, portanto, são descritas neste capítulo. Assim, no Apêndice A apresentamos todas as sequências utilizadas em diferentes momentos nesta tese e as classificamos de acordo com duas características principais: a resolução principal do vídeo e se é uma sequência SCC ou não. Todas as sequências utilizadas nesta tese possuem uma subamostragem de pixel 4:2:0, e todos os testes utilizam sempre os primeiros 60 quadros de cada sequência.
Softwares, Configurações e Linguagens de Programação
Nesta tese vamos usar software de referência para formatos de codificação de vídeo selecionados, comumente usados pela comunidade científica. Todo o software de referência foi desenvolvido em linguagem C/C++, que também foram as linguagens utilizadas para desenvolver as soluções de transcodificação rápida propostas nesta tese. Até a publicação da versão 2.0 do software de referência AV1 (libaom), o trimming era realizado com técnicas baseadas em análises estatísticas.
Complexidade das Estruturas de Particionamento
Embora esses dois experimentos tenham poucas opções de árvore disponíveis para avaliação, as etapas de predição têm custos de processamento diferentes dependendo do tamanho do bloco, o que afeta o tempo total de codificação. A Tabela 9 também contém os resultados obtidos com a realização dos experimentos, onde são mostrados os valores de BD-rate e TS (ver equação 7). A Tabela 9 mostra o pequeno impacto no desempenho de codificação da desativação da divisão ternária (combinação 02) e quaternária (combinação 03) em vídeos HD1080, menos de 0,4% na taxa de BD.
Distribuição de Profundidades e do Modo SPLIT
Como a combinação 01 também desabilita a divisão ternária e quaternária, é possível estimar que a divisão binária tenha um impacto aproximado de 10% no tempo total de codificação libaom (ou seja, a redução entre 36,22% e os valores 12,88% e 13,20%) . Esta informação é particularmente útil para determinar quais profundidades são mais usadas e, portanto, quais partições, se forçadas ou evitadas, têm o potencial de causar o maior impacto na eficiência de codificação do software AV1. Mostramos neste capítulo que a escolha dos tamanhos de partição e bloco afeta significativamente o custo computacional do software de referência AV1 e também sua eficiência de codificação.
Transcodificador H.265/HEVC para AV1
Metodologia
Em outras palavras, o codificador AV1 pode escolher qualquer nível de profundidade que seja um nível acima do que é detectado no DLmap (referido como La, de Levels Above) ou níveis abaixo do que é detectado no DLmap (referido como Lb, do inglês).Inglês, níveis abaixo). Portanto, a profundidade escolhida pelo codificador AV1 (denominado DLn) será um valor entre DLmap−LaeDLmap+Lb, para todos os valores de LaeLb que estiverem entre 0 e 4. Observe que se a primeira condicional, mostrada na Figura 18, for verdadeira, identificamos a obrigatoriedade do codificador AV1 realizar pelo menos um único modo de predição, que chamamos de modo simples.
Resultados
O único trabalho disponível para comparação com nossa proposta de transcodificador H.265/HEVC rápido para AV1 foi desenvolvido por Chen et al. 2019), que propôs duas abordagens em sua obra. Na segunda abordagem, Chen et al. 2019) usam um modelo de inferência bayesiana condicional (KASS; STEFFEY, 1989) para identificar o fim do particionamento do bloco. 2019), esta segunda abordagem foi inspirada no trabalho de (GUO et al., 2018), que utilizou um modelo de inferência bayesiana condicional para reduzir a complexidade do processo de particionamento para o codificador AV1, ainda em suas versões originais (pré v1. 0, 0). Apesar da proporção de Chen et al. 2019) valores atuais semelhantes aos nossos, o autor obtém um TS maior.
Ajuste de Complexidade Experimental
Portanto, apesar da primeira abordagem do autor ser semelhante à nossa, a forma como a análise estatística é realizada é diferente. 2019) realiza uma análise estatística local quadro a quadro e em tempo de execução, nossa proposta considera uma análise estatística de vídeos inteiros diferente do que está codificado atualmente. Assim é possível observar, na Figura 19, que o trecho recodificado com a combinação 2:0 (fundo verde) apresenta a maior diferença no tempo de codificação, ou seja, a linha laranja está nitidamente abaixo da linha azul. Porém, como combinações menos restritivas são utilizadas, a diferença no tempo de codificação também é reduzida, tornando-se quase idêntica ao tempo observado na transcodificação de referência, como esperado.
Transcodificador VP9 para AV1
Metodologia
É possível entender melhor essas tabelas através do seguinte exemplo: em uma determinada área do vídeo, identificamos que o codificador VP9 optou por utilizar o segundo nível de profundidade, com dois blocos 32×16, ou seja, com orientação vertical. No entanto, no terceiro nível de profundidade, o codificador AV1 escolherá usar a orientação quadrada 28% do tempo e depois a orientação vertical 16% do tempo. Ao executar o codificador, as informações sobre o nível de quantização usado e o nível de árvore atual são usadas para estimar a orientação correta a ser usada naquele ponto do vídeo.
Resultados
Através deste pseudocódigo podemos apresentar a proposta de um transcodificador rápido do formato VP9 para AV1, conforme mostrado na Figura 21. Existem alguns estudos na literatura sobre transcodificação rápida de H.265/HEVC para AV1, ver Borges et al. pipeline de processamento para geração de soluções de transcodificador de vídeo de alta velocidade usando modelos preditivos treinados por aprendizado de máquina;
Metodologia e Ferramental Utilizado
Algoritmos de Aprendizado de Máquina
Existem diversas ferramentas, desenvolvidas em Python, que possibilitam essa geração de modelos preditivos, dentre elas o pacote Scikit-Learn (SCIKIT-LEARN, 2021a). Nesta tabela, apresentamos os hiperparâmetros existentes no algoritmo CART e seus respectivos valores utilizados nas soluções de transcodificação rápida propostas utilizando modelos gerados pelo algoritmo CART. Portanto, se você calcular o produto dessas variações, haverá um total de 9,5 milhões de modelos de aprendizado de máquina candidatos para treinar com esse algoritmo.
Mensuração de Resultados
Min Samples Split Define o número mínimo de amostras necessárias para subparte de um nó interno (mínimo de duas amostras). Min Samples Leaf Define o número mínimo de amostras necessárias para criar uma folha de nó. Max Features Define o número de atributos a serem considerados ao procurar o melhor subparticionamento de nós.
Visão Geral do Pipeline de Processamento
- Fase 1: Captura de Dados Brutos
- Fase 2: Processamento de Dados Brutos
- Fase 3: Geração de Lista de Modelos Preditivos
- Fase 4: Geração de Dados Comparativos
A partir do vídeo decodificado, a transcodificação é concluída com a recodificação do conteúdo para o novo formato, sem nenhum processo de aceleração, que gera um conjunto de dados. Existem duas técnicas principais de balanceamento de dados (RASCHKA, 2015): subamostragem, onde amostras do rótulo majoritário são removidas, e sobreamostragem, onde a representatividade dos dados do rótulo minoritário é aumentada. Treine o conjunto de modelos com cada um dos candidatos a hiperparâmetros, usando o conjunto de dados completo.
Seleção dos Modelos de Aprendizado de Máquina
Embora cada combinação de hiperparâmetros tenha um tempo de treinamento relativamente fixo de apenas seis segundos para o conjunto com as maiores amostras (profundidade 2 e CQ 20, conforme Tabela 21), quando consideramos todo o universo de combinações (desde o treinamento até a busca exaustiva por todos os 12 modelos seriam concluídos em 21,8 anos, portanto, embora tecnicamente o produto entre as combinações de hiperparâmetros e o tamanho da amostra de treinamento seja o mesmo em todos os ciclos, o custo computacional de treinar um modelo com mais e mais amostras é maior. profundidade 2 a CQ 20) pode ser processado em 11 ciclos, resultando em uma lista de 9 mil combinações de hiperparâmetros.
Transcodificação Rápida para o AV1
Proposta de Algoritmo de Transcodificação Rápida
Há uma recursão explícita no fluxo de particionamento de blocos de AV1, conforme visto na Figura 25. Portanto, modificamos o fluxo de execução do particionamento de blocos na Figura 25 para incluir os processos de predição do modo SPLIT implementados por meio dos modelos de predição propostos neste capítulo, como mostrado em laranja na Figura 26. Nestes casos excepcionais, os modelos preditivos serão desativados para uso nesta iteração da busca pela melhor estrutura de particionamento no nolibom.
Informações Extraídas dos Softwares Decodificadores
No entanto, apenas o padrão H.266/VVC possui nível zero, pois é o único formato que oferece um tamanho de bloco equivalente a 128×128, além do AV1. Ainda no formato VP8, o tamanho do bloco utilizado já indica o tipo de predição realizada, ou seja, se é intraframe (4×4 blocos) ou interframe (16×16 blocos). Por outro lado, apesar dos formatos H.265/HEVC e H.266/VVC compartilharem a variável que indica se o tipo de predição é intraframe ou interframe, o tamanho do bloco não é um fator decisivo para esta informação.
Resultados
Transcodificação Rápida de VP9-para-AV1
Observa-se um aumento médio de velocidade de transcodificação de 16,76%, às custas de um aumento de 5,10% na velocidade do BD. Coincidentemente, esta sequência de vídeo mostra a maior taxa de BD para resolução HD720. Proposta com modelos de predição Proposta com heurística de sequência Taxa BD (%) Taxa TS (%) Taxa Taxa BD (%) Taxa TS (%).
Transcodificação Rápida de H.264/AVC-para-AV1
O mesmo foi observado em outra sequência de vídeo (pan_hdr_amazon_1080p) em um nível de quantização diferente (CQ 43), que codificou 24,484 segundos na transcodificação original contra 19,424 segundos na transcodificação rápida, ou seja, atingiu uma redução de 20% do tempo. No entanto, levou 1,344 segundos para executar o algoritmo, o que representa 6,92% do tempo total de codificação do dolibaom. Embora não seja possível fazer uma comparação justa dos resultados desse transcodificador rápido com a média da literatura, conforme já discutimos no Capítulo 3, a redução média de um quarto do tempo do transcodificador rápido, em relação ao transcodificador original , é um resultado positivo.
Transcodificação Rápida de VP8-para-AV1
Para ilustrar essa diferença do PSNR, apresentamos na Figura 30 uma parte mais visível do último quadro da sequência aspen_1080p_60f. Os quadros mostrados na Figura 30 estão em tempos diferentes: A Figura 30(a) mostra o quadro original não compactado, seguido de sua aparição após a decodificação do VP8 (Figura 30(b)). A Figura 30(c) mostra um quadro codificado com o transcodificador original e a Figura 30(d) mostra um quadro codificado com o transcodificador rápido.
Transcodificação Rápida de H.265/HEVC-para-AV1
E enquanto a sequência aspen_1080p_60f e a maioria das sequências de taxa BD acima de 20% também são sequências de valor negativo ao transcodificar de H.264/AVC para AV1, nenhum recurso intrínseco do vídeo pode ser identificado para ajudar a explicar esses valores altos de taxa BD. Entre os outliers que justificariam essa diferença de resultados, nenhuma relação foi encontrada, assim como outra relação observada na Tabela 32 de que todas as sequências HD1080 com profundidade de 10 bits (HDR) atingiram uma taxa de BD inferior a 1% e ao mesmo tempo , existem vídeos com a menor taxa de aceleração detectada. Comparando nossa proposta baseada em modelos preditivos com a proposta baseada em heurísticas, observamos que os resultados médios são próximos aos observados para a combinação La:Lbiguais à 0:1, o que representa um TS de 32% e um BD-rate de 6 , 16%.
Transcodificação Rápida de H.266/VVC-para-AV1
Observe que a pontuação F1 média para os modelos deste transcodificador (H.266/VVC para AV1) é a menor entre todas apresentadas na Tabela 27, e ainda assim a taxa de BD alcançada pelo transcodificador é a menor entre todas. Ou seja, García-Lucas et al. 2020) sugere o uso de H.266/VVC como formato de destino; em vez disso, sugerimos H.266/VVC como formato de origem. -LUCAS et al., 2020) sugere o uso de um modelo treinado pelo algoritmo Naïve-Bayes para acelerar o particionamento de 128×128 blocos.
Considerações Gerais e Análise do Pipeline de Processamento
Disponível em:
Disponível em: