• Nenhum resultado encontrado

LISTA DE FIGURAS

N/A
N/A
Protected

Academic year: 2023

Share "LISTA DE FIGURAS"

Copied!
193
0
0

Texto

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.

Figura 1 – Alguns formatos de codificação de vídeo publicados nas últimas décadas. Fonte:
Figura 1 – Alguns formatos de codificação de vídeo publicados nas últimas décadas. Fonte:

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.

Figura 3 – Visão em alto nível de um transcodificador de vídeo original. Fonte: Elaborada pelo autor.
Figura 3 – Visão em alto nível de um transcodificador de vídeo original. Fonte: Elaborada pelo autor.

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.

Figura 8 – Exemplificando duas curvas de BD-rate. Fonte: Elaborada pelo autor.
Figura 8 – Exemplificando duas curvas de BD-rate. Fonte: Elaborada pelo autor.

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.

Figura 12 – Distribuição de algoritmos de aprendizado de máquina nos artigos revisados sobre aceleração de transcodificação de vídeo
Figura 12 – Distribuição de algoritmos de aprendizado de máquina nos artigos revisados sobre aceleração de transcodificação 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.

Tabela 5: Estruturas de particionamento de bloco permitidas em diferentes padrões e formatos de codificação de vídeo.
Tabela 5: Estruturas de particionamento de bloco permitidas em diferentes padrões e formatos de codificação de vídeo.

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.

Tabela 7 – Relação dos softwares codificadores utilizados nesta tese.
Tabela 7 – Relação dos softwares codificadores utilizados nesta tese.

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.

Figura 14 – Média de distribuição das profundidades da árvore de particionamento do AV1.
Figura 14 – Média de distribuição das profundidades da árvore de particionamento do AV1.

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.

Tabela 10 – Correlação (em porcentagem) estimada com diferentes combinações de La e Lb.
Tabela 10 – Correlação (em porcentagem) estimada com diferentes combinações de La e Lb.

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.

Tabela 11 – Resultados das transcodificações H,265/HEVC para AV1 sob diferentes combina- combina-ções de La : Lb.
Tabela 11 – Resultados das transcodificações H,265/HEVC para AV1 sob diferentes combina- combina-ções de La : Lb.

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;

Figura 20 – Pseudocódigo implementado no AV1 para escolha de orientação de particiona- particiona-mentos, baseado na Tabela 16
Figura 20 – Pseudocódigo implementado no AV1 para escolha de orientação de particiona- particiona-mentos, baseado na Tabela 16

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.

Figura 23 – Representação da transcodificação realizada na Fase 1. Fonte: Elaborada pelo autor.
Figura 23 – Representação da transcodificação realizada na Fase 1. Fonte: Elaborada pelo autor.

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.

Tabela 20 – Quantidade de amostras de treinamento e teste de modelos preditivos para a transcodificação VP8-AV1 após o balanceamento.
Tabela 20 – Quantidade de amostras de treinamento e teste de modelos preditivos para a transcodificação VP8-AV1 após o balanceamento.

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.

Figura 25 – Diagrama de execução da busca da melhor estrutura de particionamentos no libaom 3.5.0
Figura 25 – Diagrama de execução da busca da melhor estrutura de particionamentos no libaom 3.5.0

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 (%).

Tabela 28: Resultados da transcodificação rápida de VP9 para AV1 baseado em modelos pre- pre-ditivos
Tabela 28: Resultados da transcodificação rápida de VP9 para AV1 baseado em modelos pre- pre-ditivos

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.

Tabela 30: Resultados da transcodificação rápida de H.264/AVC para AV1 baseada em modelos preditivos.
Tabela 30: Resultados da transcodificação rápida de H.264/AVC para AV1 baseada em modelos preditivos.

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.

Tabela 31: Resultados obtidos com a transcodificação acelerada de VP8-para-AV1.
Tabela 31: Resultados obtidos com a transcodificação acelerada de VP8-para-AV1.

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%.

Figura 30 – Destaque do último quadro do vídeo aspen_1080p_60f para as sequências (a) original, (b) decodificada pelo VP8, (c) transcodificada original para o AV1 e (d) transcodificada acelerada para o AV1
Figura 30 – Destaque do último quadro do vídeo aspen_1080p_60f para as sequências (a) original, (b) decodificada pelo VP8, (c) transcodificada original para o AV1 e (d) transcodificada acelerada para o AV1

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: . Disponível em: .

Disponível em: .

Tabela 33 – Resultados HD1080 da transcodificação rápida de H.266/VVC para AV1 baseado em modelos preditivos.
Tabela 33 – Resultados HD1080 da transcodificação rápida de H.266/VVC para AV1 baseado em modelos preditivos.

Imagem

Figura 1 – Alguns formatos de codificação de vídeo publicados nas últimas décadas. Fonte:
Figura 2 – Representação em alto nível de um codificador de vídeo híbrido. Fonte: Elaborada pelo autor.
Figura 4 – Classificação de transcodificadores de vídeo. Fonte: Elaborada pelo autor com base em Ahmad et al
Figura 5 – Representação em alto nível de uma transcodificação rápida de vídeo. Fonte:
+7

Referências

Documentos relacionados

Entretanto, quando se trata de cenários em que os dispositivos não foram desligados é importante que o perito certifique-se que as ferramentas utilizadas para executar