Leveraging Machine Learning Algorithms to Improve CABAC Performance Via Increase of Usable Contexts
Nuvens de pontos (NPs), Aprendizado de Máquina, Silhouette 3D, codificação aritmética binária adaptativa ao contexto.
Nos últimos anos, as nuvens de pontos (NPs) têm ganhado destaque como uma tecnologia promissora para representação de conteúdo tri-dimensional (3D). Essas estruturas de dados consistem em conjuntos de pontos no espaço 3D descritos por sua localização, ou geometria, e atributos adicionais, tais como cor e refletância. Após sua captura, é comum restringir esses pontos a uma grade 3D regular por meio da sua separação em elementos de volume denominados voxels. Normalmente, NPs são estruturas de dados esparsas que contêm centenas de milhares de pontos, o que dificulta seu armazenamento e transmissão e, consequentemente, limita seu uso em diversas aplicações práticas. Para abordar essa questão, diversos pesquisadores propuseram novos métodos de compressão, e tanto o grupo Joint Photographic Expert Group (JPEG) como o Moving Picture Experts Group (MPEG) têm se empenhado para estabelecer processos padronizados envolvendo NPs. Diferente dos algoritmos baseados em octree do padrão, o algoritmo Silhouette 3D (S3D) foi desenvolvido na Universidade de Brasília utilizando uma estratégia distinta, inspirada por algoritmos bem conhecidos de compressão de imagens binárias. Desde sua criação, esse algoritmo tem sido expandido e refinado com o objetivo de aumentar sua eficiência e competitividade. Entretanto, uma das suas principais limitações continua sendo o fato de que ele é incapaz de utilizar uma grande quantidade de contextos durante o processo de codificação aritmética, algo que poderia aumentar a acurácia das suas predições e, consequentemente, sua eficiência de compressão. Enquanto o context-adaptive binary arithmetic coding (CABAC) tradicional utilizado pelo algoritmo S3D é incapaz de lidar com um grande número de contextos devido ao fato de que as look-up tables (LUTs) utilizadas para estimar as probabilidades crescem exponencialmente com o número de contextos, neste trabalho, exploramos métodos baseados em algoritmos de Machine Learning (ML) bem estabelecidos que aumentam substancialmente o número de contextos utilizados durante a etapa de codificação aritmética do algoritmo S3D. Embora um modelo mais simples de regressão logística tenha apresentado um desempenho inferior em comparação ao algoritmo S3D original, com uma perda de 45%, treinamos algumas redes Multi-Layer Perceptron (MLP) que mostraram resultados promissores, com um ganho de 12% em relação ao algoritmo original. Nós também exploramos versões adaptativas desses algoritmos de ML, refinando os modelos com os dados que estão sendo codificados, no lado do codificador, e decodificados, no lado do decodificador. Essas versões “online” apresentaram resultados melhores do que suas contrapartes “offline”, nas quais o mesmo modelo de ML é utilizado durante todo o processo de codificação.