BR102022006511A2 - Microdosagem para compressão de vídeo de baixa taxa de bits - Google Patents

Microdosagem para compressão de vídeo de baixa taxa de bits Download PDF

Info

Publication number
BR102022006511A2
BR102022006511A2 BR102022006511-0A BR102022006511A BR102022006511A2 BR 102022006511 A2 BR102022006511 A2 BR 102022006511A2 BR 102022006511 A BR102022006511 A BR 102022006511A BR 102022006511 A2 BR102022006511 A2 BR 102022006511A2
Authority
BR
Brazil
Prior art keywords
subset
decompression data
model
video
video frame
Prior art date
Application number
BR102022006511-0A
Other languages
English (en)
Inventor
Abdelaziz DJELOUAH
Leonhard Markus Helminger
Roberto Gerson de Albuquerque Azevedo
Scott Labrozzi
Christopher Richard Schroers
Yuanyi XUE
Original Assignee
Disney Enterprises, Inc.
ETH Zürich (Eidgenössische Technische Hochschule Zürich)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Disney Enterprises, Inc., ETH Zürich (Eidgenössische Technische Hochschule Zürich) filed Critical Disney Enterprises, Inc.
Publication of BR102022006511A2 publication Critical patent/BR102022006511A2/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Trata-se de um sistema que inclui um codificador de vídeo baseado em modelo de aprendizado de máquina (ML) configurado para receber uma sequência de vídeos não comprimidos que inclui múltiplos quadros de vídeo, determinar, dentre os múltiplos quadros de vídeo, um primeiro subconjunto de quadros de vídeo e um segundo subconjunto de quadros de vídeo, codificar o primeiro subconjunto de quadros de vídeo para produzir um primeiro subconjunto de quadros de vídeo comprimido, e identificar primeiros dados de descompressão para o primeiro subconjunto de quadros de vídeo comprimido. O codificador de vídeo baseado em modelo de ML é adicionalmente configurado para codificar o segundo subconjunto de quadros de vídeo para produzir um segundo subconjunto de quadros de vídeo comprimido e identificar segundos dados de descompressão para o segundo subconjunto de quadros de vídeo comprimido. Os primeiros dados de descompressão são específicos à decodificação do primeiro subconjunto de quadros de vídeo comprimido, mas não o segundo subconjunto de quadros de vídeo comprimido, e os dados de segunda descompressão são específicos à decodificação do segundo subconjunto de quadros de vídeo comprimido, mas não o primeiro subconjunto de quadros de vídeo comprimido.

Description

MICRODOSAGEM PARA COMPRESSÃO DE VÍDEO DE BAIXA TAXA DE BITS PEDIDOS RELACIONADOS
[0001] O presente pedido reivindica o benefício e a prioridade ao Pedido de Patente Provisório n° de série 63/172.315, depositado em 8 de abril de 2021 e intitulado “Neural Network Based Video Codecs”, e ao Pedido de Patente Provisório n° de série 63/255.280, depositado em 13 de outubro de 2021 e intitulado “Microdosing For Low Bitrate Video Compression”, que são incorporados totalmente por meio deste a título de referência ao presente pedido.
ANTECEDENTES
[0002] O conteúdo de vídeo representa a maior parte do tráfego total de internet e é esperado que aumente ainda mais, visto que a taxa de quadro de resolução espacial e a profundidade de cor de vídeos aumentam e mais usuários adotam serviços de transmissão contínua. Embora codecs existentes tenham alcançado desempenho impressionante, os mesmos foram manipulados ao ponto em que adicionar pequenos aprimoramentos adicionais é improvável para atender a demandas futuras. Consequentemente, explorar modos fundamentalmente diferentes para realizar conversão em código de vídeo pode levar, de modo vantajoso, a uma nova classe de codecs de vídeo com desempenho aprimorado e flexibilidade.
[0003] Por exemplo, uma vantagem de uso de um modelo de aprendizado de máquina (ML) treinado, tal como uma rede neural (NN), na forma de uma rede adversária gerativa (GAN), por exemplo, para realizar compressão de vídeo é que isso permite que o modelo de ML infira detalhes visuais que, de outro modo, seriam custosos de obter em termos de transmissão de dados. No entanto, o tamanho do modelo permanece uma questão importante nas atuais propostas de estado da técnica e soluções existentes exigem esforço de computação significativos no lado de decodificação. Ou seja, uma desvantagem significativa de estruturas de compressão com base em GAN existentes é que as mesmas, tipicamente, exigem grandes modelos de decodificador que algumas vezes são treinados em conjuntos de dados privados. Portanto, o retreinamento desses modelos ao seu desempenho original não é geralmente possível, e mesmo quando os dados de treinamento estão disponíveis, o retreinamento de modelo seria complicado e demandaria tempo. Além disso, os requisitos de memória e o tempo de interferência de modelos de decodificador grandes existentes tornam os mesmos menos práticos, especialmente no contexto de conversão em código de vídeo.
BREVE DESCRIÇÃO DOS DESENHOS
[0004] A Figura 1 mostra um diagrama de um sistema exemplificador que fornece um codec de vídeo baseado em modelo de aprendizado de máquina (ML), de acordo com uma implementação.
[0005] A Figura 2 mostra um diagrama que compara uma abordagem existente à compressão neural com uma abordagem de compressão de microdosagem exemplificadora, de acordo com uma implementação.
[0006] A Figura 3 mostra um codec de alto desempenho existente que inclui um grande decodificador, de acordo com uma implementação.
[0007] A Figura 4A retrata o treinamento de um pequeno decodificador de estudante com uso de um decodificador de professor, de acordo com uma implementação exemplificadora dos presentes conceitos.
[0008] A Figura 4B retrata uma rede de decodificação baseada em modelo de ML exemplificadora, adequada para uso no pequeno decodificador de estudante mostrado na Figura 4A, de acordo com uma implementação.
[0009] A Figura 5 mostra uma pipeline de compressão de vídeo para implementar técnicas de destilação de conhecimento (KD), incluindo microdosagem para compressão de vídeo de baixa taxa de bits, de acordo com uma implementação.
[0010] A Figura 6 mostra um fluxograma que destaca um método exemplificador de realização de microdosagem para compressão de vídeo de baixa taxa de bits, de acordo com uma implementação.
[0011] A Figura 7 mostra um fluxograma que descreve ações adicionais para estender o método destacado na Figura 6, de acordo com uma implementação.
DESCRIÇÃO DETALHADA
[0012] A descrição a seguir contém informações específicas relativas às implementações na presente revelação. Um elemento versado na técnica reconhecerá que a presente revelação pode ser implementada de uma maneira diferente daquela especificamente discutida no presente documento. Os desenhos no presente pedido e sua descrição detalhada anexa são direcionados a implementações meramente exemplificativas. Salvo notado em contrário, elementos semelhantes ou correspondentes entre as figuras podem ser indicados por números de referência semelhantes ou correspondentes. Além disso, os desenhos e ilustrações no presente pedido geralmente não estão em escala e não se destinam a corresponder às dimensões relativas reais.
[0013] O presente pedido é direcionado a sistemas e métodos para fornecer codecs de vídeo baseados em modelo de aprendizado de máquina (ML). Adicionalmente, o presente pedido revela uma abordagem de destilação de conhecimento (KD) o que possibilita a retenção de qualidade de imagem perceptual satisfatória enquanto reduz o tamanho do decodificador. De acordo com os presentes princípios inovadores e inventivos, a meta de KD é transferir o conhecimento aprendido de uma rede de professor a uma rede de estudante pequena que permanece competitiva com o desempenho da rede de professor. Exigindo-se menos memória e potência computacional do que a rede de professor inicial, a rede de estudante poderia, por exemplo, ser executada em menos dispositivos potentes, tais como telefones móveis ou dispositivos dedicados. A capacidade de comprimir a rede de gerador ou decodificador no ajuste de autodecodificador, conforme revelado no presente documento, é vantajosa tanto em termos de requisitos de memória quanto de eficiência computacional. Isso é especialmente importante para imagem e compressão de vídeo, em que a maior parte da computação deve ser preferencialmente realizada no lado de remetente (codificador), enquanto a decodificação deve ser simples. Especialmente no contexto de transmissão contínua de vídeo, um ativo será tipicamente codificado uma vez para distribuição, mas podem ser decodificados milhões de vezes.
[0014] Uma vantagem de uso de um modelo de aprendizado com máquina treinado, tal como uma rede neural (NN) artificial por exemplo, para realizar compressão de vídeo é que isso permite que o modelo de aprendizado de máquina infira detalhes visuais que, de outro modo, seriam custosos de obter em termos de transmissão de dados. Consequentemente, as imagens resultantes são tipicamente agradáveis visualmente sem necessitar de uma alta taxa de bits. Alguns detalhes de imagem sintetizados ao usar um codec de vídeo baseado em modelo de aprendizado de máquina podem parecer realísticos enquanto se desviam ligeiramente da situação fática. Todavia, a presente solução de compressão de vídeo baseada em modelo de aprendizado de máquina tem capacidade de fornecer qualidade de imagem que seria impossível com uso da mesma quantidade de dados transmitidos em abordagens convencionais. Além disso, em algumas implementações, a presente solução baseada em modelo de aprendizado de máquina pode ser implementada como sistemas e métodos substancialmente automatizados.
[0015] Nota-se que, conforme usado no presente pedido, os termos “automação”, “automatizado(a)”, e “automatização” se referem a sistemas e processos que não necessitam a participação de um usuário humano, tal como um editor humano ou administrador de sistema. Embora, em algumas implementações, um administrador humano de sistema possa rever o desempenho dos sistemas automatizados que operam de acordo com os processos automatizados descritos no presente documento, esse envolvimento humano é opcional. Desse modo, os processos descritos no presente pedido podem ser realizados sob o controle de componentes de processamento de hardware dos sistemas revelados.
[0016] Nota-se adicionalmente que, conforme definido no presente pedido, a expressão “modelo de aprendizado de máquina” (doravante “modelo de ML”) se refere a um modelo matemático para realizar previsões futuras com base em padrões aprendidos de amostras de dados obtidos a partir de um conjunto de compatibilidades conhecidas confiáveis e incompatibilidades conhecidas, conhecidas como dados de treinamento. Vários algoritmos de aprendizado podem ser usados para mapear correlações entre dados de entrada e dados de saída. Essas correlações formam o modelo matemático que pode ser usado para realizar previsões futuras em novos dados de entrada. Tal modelo preditivo pode incluir um ou mais modelos de regressão logística, modelos Bayesianos ou de NNs, por exemplo. Adicionalmente, modelos de aprendizado de máquina podem ser projetados para aprimorar progressivamente seu desempenho de uma tarefa específica.
[0017] Uma “rede neural profunda” (NN profunda), no contexto de aprendizado profundo, pode se referir a uma NN que utiliza múltiplas camadas ocultas entre camadas de entrada e saída, que podem permitir aprendizado com base em recursos não explicitamente definidos em dados brutos. Conforme usado no presente pedido, um recurso rotulado como uma NN se refere a uma rede neural profunda. Em várias implementações, NNs pode ser utilizado para realizar processamento de imagem ou processamento de linguagem neutra. Embora os presentes princípios inovadores e inventivos sejam descritos abaixo a título de referência a uma classe de NN exemplificadora conhecida como redes adversárias gerativas (GANs), cuja caracterização é fornecida meramente nos interesses de clareza conceitual.
[0018] A Figura 1 mostra um sistema exemplificador para realizar compressão de vídeo baseada em modelo de aprendizado de máquina (ML), de acordo com uma implementação. Conforme mostrado na Figura 1, sistema 100 inclui plataforma computacional 102 que tem hardware de processamento 104 e memória de sistema 106 implementado como uma mídia de armazenamento não transitória legível por computador. De acordo com a presente implementação exemplificadora, a memória de sistema 106 armazena sequência de vídeos não comprimidos 116 e codificador de vídeo baseado em modelo de ML 108.
[0019] Conforme adicionalmente mostrado na Figura 1, sistema 100 é implementado dentro de um ambiente de uso que inclui rede de comunicação 110 e sistema de usuário 120 configurado para uso por usuário 114. O sistema de usuário 120 inclui visor 122, hardware de processamento de sistema de usuário 124, e memória de sistema de usuário 126 implementada como uma mídia de armazenamento não transitória legível por computador que armazena decodificador de vídeo baseado em modelo de ML 128. Adicionalmente, a Figura 1 mostra enlaces de comunicação de rede 112 que conectam de modo interativo o sistema de usuário 120 com o sistema 100 por meio de rede de comunicação 110, assim como fluxo de bits de vídeo comprimido 118 emitido por codificador de vídeo baseado em modelo de ML 108 e correspondente à sequência de vídeos não comprimidos 116.
[0020] Embora o presente pedido se refira ao codificador de vídeo baseado em modelo de ML 108 como sendo armazenado na memória de sistema 106 para clareza conceitual, de modo mais geral, a memória de sistema 106 pode tomar a forma de qualquer mídia de armazenamento não transitória legível por computador. A expressão ”meio de armazenamento não transitório legível por computador”, conforme usada no presente pedido, refere-se a qualquer meio, excluindo uma onda portadora ou outro sinal transitório que fornece instruções para o hardware de processador 104 da plataforma de computação 102. Assim, uma mídia de armazenamento não transitório legível por computador pode corresponder a vários tipos de meio, como meio volátil e meio não volátil, por exemplo. A mídia volátil pode incluir memória dinâmica, como memória dinâmica de acesso aleatório (RAM dinâmica), enquanto a memória não volátil pode incluir dispositivos de armazenamento óptico, magnético ou eletrostático. Formas comuns de mídias de armazenamento não transitórias legíveis por computador incluem, por exemplo, discos ópticos, RAM, memória somente de leitura programável (PROM), PROM apagável (EPROM) e memória FLASH.
[0021] Além disso, embora a Figura 1 retrate codificador de vídeo baseado em modelo de ML 108 como sendo armazenado em sua totalidade em memória de sistema 106 que a representação é também fornecida meramente como um auxílio à clareza conceitual. De modo mais geral, o sistema 100 pode incluir uma ou mais plataformas computacionais 102, tal como servidores de computador por exemplo, que pode ser colocalizado, ou pode formar um sistema interativamente enlaçado, porém, distribuído, tal como um sistema baseado em nuvem, por exemplo. Como resultado, hardware de processamento 104 e memória de sistema 106 pode corresponder a processador distribuído e recursos de memória dentro do sistema 100. Consequentemente, em algumas implementações, um ou mais dos recursos de codificador de vídeo baseado em modelo de ML 108 pode ser armazenado remotamente uns dos outros nos recursos de memória distribuídos do sistema 100.
[0022] O hardware de processamento 104 pode incluir múltiplas unidades de processamento de hardware, tais como uma ou mais unidades de processamento central, uma ou mais unidades de processamento gráfico, e uma ou mais unidades de processamento de tensor, um ou mais arranjos de portas programáveis em campo (FPGAs), hardware personalizado para treinamento de aprendizado de máquina ou inferência, e um servidor de interface de programação de aplicativo (API), por exemplo. A título de definição, conforme usado no presente pedido, os termos “unidade de processamento central” (CPU), “unidade de processamento gráfico” (GPU), e “unidade de processamento de tensor” (TPU) têm seu significado comum na técnica. Ou seja, uma CPU inclui uma Unidade Lógica Aritmética (ALU) para realizar as operações aritméticas e lógicas de plataforma computacional 102, assim como uma Unidade de Controle (CU) para recuperar programas, tais como codificador de vídeo baseado em modelo de ML 108, a partir da memória de sistema 106, enquanto uma GPU pode ser implementado para reduzir a sobrecarga de processamento da CPU realizando-se gráficos computacionalmente intensivos ou outras tarefas de processamento. Uma TPU é um circuito integrado de aplicação específica (ASIC) configurado especificamente para processos de inteligência artificial (AI) tal como aprendizado de máquina.
[0023] Em algumas implementações, a plataforma computacional 102 pode corresponder a um ou mais servidores da web, acessíveis através de rede de comunicação 110 na forma de uma rede comutada por pacote, tal como a Internet, por exemplo. Além disso, em algumas implementações, rede de comunicação 110 pode ser uma rede de alta velocidade adequada para computação de alto desempenho (HPC), por exemplo uma rede 10 GigE ou uma rede Infiniband. Em algumas implementações, a plataforma computacional 102 pode corresponder a um ou mais servidores de computador que suportam uma rede de área ampla privada (WAN), rede de área local (LAN), ou incluída em outro tipo de distribuição limitada ou rede privada. Como ainda outra alternativa, em algumas implementações, o sistema 100 pode ser implementado virtualmente, tal como em um centro de dados. Por exemplo, em algumas implementações, o sistema 100 pode ser implementado em software, ou como máquinas virtuais.
[0024] De acordo com a implementação mostrada pela Figura 1, o usuário 114 pode utilizar o sistema de usuário 120 para interagir com o sistema 100 através da rede de comunicação 110. O sistema de usuário 120 e rede de comunicação 110 possibilita que o usuário 114 obtenha fluxo de bits de vídeo comprimido 118 correspondente à sequência de vídeos não comprimidos 116 do sistema 100.
[0025] Embora o sistema de usuário 120 seja mostrado como um computador pessoal na Figura 1, cuja representação é fornecida meramente como exemplo. De modo mais geral, o sistema de usuário 120 pode ser qualquer dispositivo de computação móvel ou estacionário adequado ou sistema que implementa capacidades de processamento de dados suficientes para fornecer uma interface de usuário, conexões de suporte à rede de comunicação 110, e implementar a funcionalidade atribuída ao sistema de usuário 120 no presente documento. Por exemplo, em algumas implementações, o sistema de usuário 120 pode tomar a forma de um computador do tipo laptop, computador do tipo tablet, telefone inteligente, ou console de jogo, por exemplo. No entanto, em outras implementações, o sistema de usuário 120 pode ser um componente periférico de “terminal burro” do sistema 100 que possibilita que usuário 114 forneça entradas por meio de um teclado ou outro dispositivo de entrada, assim como ao conteúdo de vídeo por meio do visor 122. Naquelas implementações, o sistema de usuário 120 e visor 122 podem ser controlados por hardware de processamento 104 do sistema 100.
[0026] Em relação ao visor 122 do sistema de usuário 120, o visor 122 pode ser fisicamente integrado com sistema de usuário 120 ou pode ser acoplado de modo comunicativo, mas se separar fisicamente do sistema de usuário 120. Por exemplo, onde o sistema de usuário 120 for implementado como um telefone inteligente, computador do tipo laptop, ou computador do tipo tablet, o visor 122 será tipicamente integrado com o sistema de usuário 120. Por contraste, onde o sistema de usuário 120 for implementado como um computador pessoal, o visor 122 pode tomar a forma de um monitor separado do sistema de usuário 120 na forma de uma torre de computador. Além disso, o visor 122 pode tomar a forma de um visor de cristal líquido (LCD), um visor de diodo emissor de luz (LED), um visor de diodo orgânico emissor de luz (LED), um visor de cristal líquido (QD) ou um visor que usa qualquer outra tecnologia de visor adequada que realiza uma transformação física de sinais à luz.
[0027] A título de antecedentes, um mapeamento do espaço de imagem ao espaço latente pode ser alcançado com uso de codificador de vídeo baseado em modelo de ML 108, em que os valores de gargalo constituem a representação latente. Uma função g denota o mapeamento do espaço de imagem ao espaço latente realizado pelo codificador de vídeo baseado em modelo de ML 108, e g-1 denota o mapeamento reverso. Uma imagem original não comprimida x é primeiro mapeada a sua representação latente y = g(x). Após a quantização, os latentes quantizados resultantes ŷ são codificados sem perda ao fluxo de bits de vídeo comprimido 118 que pode ser decodificado à imagem não comprimida x = g-1(ŷ) que corresponde à imagem original x.
[0028] A compressão de imagem pode ser formalmente expressa como minimização do comprimento esperado do fluxo de bits assim como a distorção esperada da imagem reconstruída comparada à original, formulada conforme otimizando-se a função objetiva de distorção de taxa seguinte:
Lg,pŷ = Εx~px [- log2 Pŷ (ŷ) + λ d(x, x)] (Equação 1)
em que: - log2 pŷ (ŷ) é o termo de taxa e d(x, x) é o termo de distorção.
[0029] Nota-se que, na notação usada na Equação 1, os parâmetros de g incluem g-1. Aqui d indica uma medida de distorção e pode incluir uma combinação de ℓ2, medida de índice de similaridade estrutural (SSIM), similaridade de correção de imagem perceptual aprendida (LPIPS) e similares. A taxa corresponde ao comprimento do fluxo de bits necessários para codificar a representação quantizada ŷ, com base em um modelo de entropia aprendido pŷ através da distribuição desconhecida de imagens naturais px. Reduzindo-se o peso λ, melhor compressão pode ser alcançada ao custo de maior distorção na imagem reconstruída.
[0030] De acordo com uma implementação os presentes conceitos inovadores e inventivos, a formulação de compressão de imagem baseada em modelo de ML descrita acima pode ser aumentada com um modelo de ML na forma de um GAN condicional. Em tal caso de treinamento antagônico, D é denotado como a rede neural discriminadora que aprende a distinguir entre a situação fática x e as imagens decodificadas x condicionadas na representação latente ŷ:
LD = Ex~px[-log(l - D(x,ŷ)) - log(D(x,ŷ))] (Equação 2)
[0031] O treinamento do discriminador é alternado com o treinamento de modelo de ML de compressão de imagem 232, em cujo caso o objetivo de distorção de taxa aumentado com a perda antagônica é otimizado:
Lg,pŷ = Ex~px[-log2 Pŷ (ŷ) + λ d(x,x) + β logD(x,ŷ)] (Equação 3)
em que: - log2 pŷ (ŷ) e d(x,x) permanecem os termos de taxa e distorção, respectivamente, enquanto D(x,ŷ) é a perda antagônica.
[0032] De modo a tomar vantagem de redundância temporal em codificação de vídeo, a compressão de vídeo se baseia em transferência de informações através de compensação de movimento. Mais precisamente, um quadro subsequente Xt+1 pode ser previsto a partir de seu quadro precedente Xt considerando-se as informações de movimento. Conforme definido no presente pedido, a expressão “compensação de movimento” se refere ao processo total que computa e codifica vetores de movimento, assim como qualquer pós-processamento que pode ocorrer. Por simplicidade, assume-se que a compensação de movimento foi concluída e o resultado é uma estimativa da imagem xt+1 e um campo de vetor de movimento mt+1.
MICRODOSAGEM PARA COMPRESSÃO DE BAIXA TAXA DE BITS:
[0033] A Figura 2 mostra o diagrama 230 que compara uma abordagem existente 232 à compressão neural com a abordagem de compressão de microdosagem 234 apresentada pelo presente pedido. A presente abordagem de compressão de microdosagem 234 é baseada em: 1) treinar um decodificador de estudante reduzido com dados gerados a partir de um grande decodificador, 2) sobreajustar o modelo de decodificador de estudante reduzido a uma imagem específica ou conjunto de imagens, e 3) enviar os pesos de decodificador especializados como dados de descompressão 236 ao lado dos latentes de imagem. Para demonstrar a viabilidade da presente abordagem de compressão de microdosagem, sua incorporação em modelos de estado da técnica para compressão de imagem e vídeo neural que alvejam a configuração de baixa taxa de bits é descrita.
[0034] Primeiro, uma Compressão de Alta Fidelidade (HiFiC) ou outro decodificador de alto desempenho é substituída por um decodificador de estudante muito menor. Nota-se que a HiFiC atualmente fornece o estado da técnica em compressão de imagem neural de baixa taxa de bits (isto é, aproximadamente, 0,15 bits per pixel) e produz resultados extremamente competitivos ao custo de uma rede de codificador relativamente grande (isto é, aproximadamente 156 milhões de parâmetros). No entanto, embora uma arquitetura de HiFiC seja mostrada como sendo utilizada em abordagem existente 232, cuja representação é meramente exemplificadora. Em outras implementações, a rede de codificador-decodificador de HiFiC de abordagem existente 232 pode ser substituída por substancialmente qualquer rede treinada por GAN que tem uma arquitetura similar com base em blocos residuais.
[0035] Por contraste à abordagem existente 232, a abordagem de compressão de microdosagem 234 revelada pelo presente pedido permite de modo vantajoso um decodificador muito menor (por exemplo, aproximadamente 8 milhões de parâmetros) e cinquenta por cento (50 %) de tempo de decodificação mais rápido enquanto produz imagens de saída que são visualmente similares a aquelas fornecidas por HiFiC. Segundo, a aplicação da presente estratégia de microdosagem KD em uma estrutura de compressão de vídeo neural com base em resíduos de latente é descrita. Em tal situação, o decodificador de estudante reduzido é sobreajustado a uma sequência de modo que um decodificador específico de sequência possa ser fornecido.
[0036] Conforme mostrado na Figura 2, de acordo com abordagem existente 232 à compressão neural, o par de codificador-decodificador é treinado em uma grande base de dados, para obter um desempenho satisfatório geral em uma variedade de conteúdos diferentes. Uma vez que o autocodificador é totalmente treinado, o decodificador é instalado e enviado ao receptor. O grande decodificador então possibilita que a decodificação de qualquer tipo de conteúdo.
[0037] De acordo com a presente abordagem de microdosagem 234 em contraste, codificador de vídeo baseado em modelo de ML 208 é configurada para particionar os dados de sequência de vídeos não comprimidos 216 em subconjuntos Si, e para aprender um decodificador específico de conteúdo com informações correspondentes θsi para cada subconjunto. Essa especialização possibilita o treinamento de um decodificador de vídeo baseado em modelo de ML 238 que necessita de modo vantajoso menos parâmetros, um rastro de memória menor, e com uso de menos computações. Nota-se que codificador de vídeo baseado em modelo de ML 208, a sequência de vídeos não comprimidos 216, e decodificador de vídeo baseado em modelo de ML 238 correspondem respectivamente, em geral, a codificador de vídeo baseado em modelo de ML 108, sequência de vídeos não comprimidos 116, e decodificador de vídeo baseado em modelo de ML 138, na Figura 1. Consequentemente, codificador de vídeo baseado em modelo de ML 108, a sequência de vídeos não comprimidos 116, e decodificador de vídeo baseado em modelo de ML 138 pode compartilhar qualquer um dos recursos atribuídos ao respectivo codificador de vídeo baseado em modelo de ML 208, sequência de vídeos não comprimidos 216, e decodificador de vídeo baseado em modelo de ML 238 pela presente revelação, e vice-versa.
[0038] Uma vez que o decodificador de vídeo baseado em modelo de ML 238 é totalmente treinado, e o requisito de qualidade de reconstrução de codificador de vídeo baseado em modelo de ML 108 para o subconjunto é atendido, as informações específicas de conteúdo (por exemplo, dados de descompressão 236) podem ser armazenadas ao longo do subconjunto. Se decodificador de vídeo baseado em modelo de ML 238 desejar decodificar uma imagem x ∊ Si os dados de descompressão específicos de subconjunto θSi, na forma de pesos, têm de ser enviados somente uma vez por subconjunto. Um procedimento para aplicar a presente abordagem de microdosagem KD à compressão de imagem com GANs e sua extensão à compressão de vídeo com uso de resíduos de espaço latente é discutida abaixo.
[0039] A Figura 3 mostra uma arquitetura de HiFiC tradicional 340. Seu decodificador 348 pode ser dividido em três sub-redes: cabeça 342 incluindo aproximadamente dois milhões de (2M) parâmetros, rede residual (res_blocks) 344 que inclui aproximadamente 149M parâmetros, e causa 346 incluindo aproximadamente 5,5M parâmetros. Nota-se que as informações grosseiras de uma imagem processada com uso de arquitetura de HiFiC 340 são salvas no espaço latente, e a alucinação da textura é gerada por res_blocks 344 do decodificador 348. Em particular, o tamanho de res_blocks 344 é devido ao modelo que foi treinado em uma ampla base de dados (privada), desse modo, tal tamanho grande é necessário para capturar todas as texturas vistas durante o treinamento.
[0040] No entanto, se for conhecido antecipadamente que imagens devem ser comprimidas (por exemplo, quadros de uma sequência de vídeo que tem similar recursos), é possível sobreajustar a esses dados durante codificação e enviar somente os pesos necessários para decodificar apropriadamente aquelas imagens (isto é, dados de descompressão 236). Ou seja, o que é implementado com uso da arquitetura de NN revelada no presente pedido e descrita a título de referência às Figuras 4A e 4B.
[0041] De acordo com a implementação exemplificadora mostrada pelas Figuras 4A e 4B, o tamanho do decodificador de estudante 438 é significativamente reduzido em relação ao decodificador-professor 452 treinando-se uma sub-rede menor, a Rede Micro-residual (Micro-RN) 460, que simula o comportamento dos res_blocks 344, na Figura 3, para um subconjunto específico de imagens, microdosando-se assim a capacidade de alucinação do decodificador de estudante 438. Conforme notado acima, como uma alternativa a uma arquitetura de HiFiC, em algumas implementações, os presentes princípios inovadores e inventivos podem ser aplicados a substancialmente qualquer rede treinada por GAN que tem uma arquitetura similar com base em blocos residuais. Em tal rede treinada por GAN implementações, a porção de bloco residual do decodificador de rede treinada por GAN poderia ser substituída por Micro-RN 460. É adicionalmente notado que decodificador de estudante 438 corresponde em geral, a decodificadores de vídeo baseados em modelo de ML 138 e 238, nas Figuras 1 e 2, e aqueles recursos correspondentes podem compartilhar qualquer uma das características atribuídas a qualquer recurso correspondente na presente revelação. Isso quer dizer que, assim como decodificador de estudante 438, decodificadores de vídeo baseados em modelo de ML 138 e 238 podem incluir Micro-RN 460.
[0042] De acordo com a implementação exemplificadora mostrada na Figura 4B, Micro-RN 460 é baseado em blocos cientes de degradação (DA), conforme conhecido na técnica. No entanto, embora métodos existentes que utilizam blocos DA tipicamente utilizam uma rede de predição de kernel para conduzir os pesos de acordo com um vetor de degradação, de acordo com a presente implementação um conjunto de pesos diferente por subconjunto Si. Micro-RN 460 é definido por dois parâmetros: o número de canais ocultos, e B, o número de Blocos de DA. Em uma implementação, uma convolução de 3 x 3 pode ser usada. Em referência à Figura 4B, DConv denota uma convolução em profundidade. Micro-RN 460 é treinado com a arquitetura de professor-estudante mostrada na Figura 4A, enquanto a cabeça 456 e cauda 458 do decodificador de estudante 438 (doravante “decodificador de vídeo baseado em modelo de ML 438”) são pré-treinadas e emprestadas do decodificador-professor 452.
[0043] Considere ser x∊Si uma imagem de subconjunto e x ser a imagem comprimida pela rede de professor. De acordo com os presentes conceitos, a seguinte perda de função é otimizada:
L(x;θs) = kMMSE(x,x) + kpdp(x,x), (Equação 4)
em que x é a saída da rede de estudante, MSE (erro quadrado médio) e dp são as perdas de distorção, e kM e kp são seus pesos correspondentes. A perda perceptual dp = LPIPS é usada. Como resultado, a perda força o decodificador de vídeo baseado em modelo de ML 438 a gerar imagens que parecem similares a aquelas geradas pelo decodificador-professor 452 e reduz adicionalmente a perda perceptual à imagem de situação fática. Nota-se que o codificador e o modelo de entropia, que pode ser modelado com uso de um hiperprior, são travados. Consequentemente, os dados de compressão 236 “θ” somente contém os pesos de Micro-RN 460. Isso nivela de modo vantajoso o codificador potente e hiperprior de HiFiC assim como o conhecimento do modelo dos dados de treinamento privados definidos.
[0044] Para mostrar a aplicação de KD em situações de compressão de vídeo neural, uma rede tal como a rede 570 na Figura 5 pode ser usada. Conforme mostrado na Figura 5, a rede 570 inclui duas partes: A Rede de Predição de Quadro (FPN) 572 e a Rede Residual Latente (LRN) 574. Dada uma sequência de quadros (grupo de figurações, ou GOP) a serem codificadas x0, ...,xGOP, em que x0 é um quadro-chave (quadro I) e x1,...,xgop são quadros previstos (quadros P), a compressão da sequência pode funcionar conforme a seguir:
[0045] Primeiro, o quadro I (x0) pode ser comprimido com uso de uma rede de compressão de imagem neural para gerar o latente codificado y0. Considerar que x0 indicam o quadro reconstruído do latente quantizado ŷ0. Então, para cada quadro P, xt+1, 1 ≤ t + 1 ≤ GOP: (1) uma predição temporal, xPredt+1 of xt+1 é gerada a partir do quadro reconstruído anterior, xt, com uso de FPN 692. FPN 692 funciona computando-se primeiro o fluxo óptico ft+1 entre xt+1 e xt. (2) Usar a rede de compressão de movimento neural para gerar as codificações e latentes quantizados ŵt+1de ft+1. (3) Envolver xt com o fluxo descomprimido ft+1, e então compensar por movimento o mesmo para gerar a xPredt+1 temporal.
[0046] Para computar o resíduo entre a predição temporal e o Quadro P, LRN 574 é usado para: (4) codificar tanto a predição xPredt+1 quanto xt+1, com EI 576 (uma codificador de compressão de imagem pré-treinada) e (5) computar o residual latente, xt+1, entre os latentes do quadro P contra o quadro previsto, rt+1 = yt+1 -yPredt+1, que é então quantizado e convertido em código por entropia com 578. O fluxo de bits comprimido final de um GOP é então composto por {ŷ0,ŵ1, ŵGOP,ȓ1,...,ȓGOP) isto é, latente do quadro I e os campos de fluxo comprimido e resíduos de latente para cada um dos quadros P (todos quantizados e codificados por entropia).
[0047] Na configuração de baixa taxa de bits, HiFiC pareceria uma escolha adequada para a arquitetura de compressão de imagem neural que poderia ser usada em conjunto com a arquitetura residual de espaço latente acima. Conforme notado acima, no entanto, o tamanho do decodificador de HiFiC é um fator limitante. Além disso, o tempo de inferência pode ser crucial no vídeo em que manter uma taxa de quadro de decodificação de aproximadamente trinta quadros por segundos (30 fps) é frequentemente necessária. A solução de microdosagem revelada no presente pedido avança de modo vantajoso o estado da técnica aumentando-se a eficiência computacional enquanto reduz o tempo de inferência. Durante a codificação, a presente solução é sobreajustada a uma sequência específica de modo que a somente precise ser enviada uma vez para todos os quadros da sequência. O presente processo de decodificação inovador e inventivo então prossegue recebendo-se e carregando-se pesos de Micro-RN específicos de sequência no decodificador de vídeo baseado em modelo de ML 438, que é então fixado durante a decodificação da sequência. Como resultado da suspensão computacional pequena imposta pela presente solução de microdosagem, o tempo de decodificação pode ser, de modo vantajoso, reduzido em 50 % enquanto alcança visual que é similar aos decodificadores existentes maiores e mais lentos.
[0048] A destilação de conhecimento com abordagem de microdosagem descrita acima a título de referência às Figuras 2, 3, 4A, 4B, e 5 serão adicionalmente descritas a título de referência às Figuras 6 e 7. A Figura 6 mostra o fluxograma 680 que apresenta um método exemplificador de realizar microdosagem para compressão de vídeo de baixa taxa de bits, de acordo com uma implementação, enquanto a Figura 7 mostra o fluxograma 790 que descreve ações adicionais para estender o método destacado na Figura 6. Em relação às ações descritas nas Figuras 6 e 7, nota-se que determinados detalhes e recursos foram deixados de fora dos fluxogramas 680 e 790 de modo a não obscurecer a discussão dos recursos inventivos no presente pedido.
[0049] Agora em referência à Figura 6 em combinação com as Figuras 1 e 2, o fluxograma 680 inclui receber sequência de vídeos não comprimidos 116/216 que incluem múltiplos quadros de vídeo (ação 681). Conforme mostrado na Figura 2, a sequência de vídeos não comprimidos 116/216 pode ser recebida na ação 681 pelo codificador de vídeo baseado em modelo de ML 108/208. Além disso, e conforme notado acima a título de referência à Figura 1, o codificador de vídeo baseado em modelo de ML 108/208 pode ser armazenado na memória de sistema 106. Desse modo, a sequência de vídeos não comprimidos 116/216 pode ser recebida na ação 681 pelo codificador de vídeo baseado em modelo de ML 108/208 executado por hardware de processamento de 104 do sistema 100.
[0050] O fluxograma 680 inclui adicionalmente determinar, dentre a pluralidade de quadros de vídeo, um primeiro subconjunto de quadros de vídeo e um segundo subconjunto de quadros de vídeo (ação 682). Em algumas implementações, a determinação do primeiro subconjunto de quadros de vídeo e o segundo subconjunto de quadros de vídeo, na ação 682 pode ser baseada em similaridade e dissimilaridade dentre os quadros de vídeo incluídos na sequência de vídeos não comprimidos 116/219. Em outras palavras, em algumas implementações, o primeiro subconjunto de quadros de vídeo determinado na ação 682 pode incluir quadros de vídeo que são visualmente similares entre si, enquanto o segundo subconjunto de quadros de vídeo pode incluir outros quadros de vídeo que são mais visualmente similares entre si do que aos quadros de vídeo incluídos no primeiro subconjunto de quadros de vídeo. Em referência continuada às Figuras 1 e 2 em combinação, a determinação do primeiro subconjunto de quadros de vídeo e do segundo subconjunto de quadros de vídeo na ação 682 pode ser realizada pelo codificador de vídeo baseado em modelo de ML 108/208, executado por hardware de processamento de 104 do sistema 100.
[0051] O fluxograma 680 inclui adicionalmente codificar o primeiro subconjunto de quadros de vídeo determinado na ação 682 para produzir primeiro subconjunto de quadros de vídeo comprimido (ação 683). Conforme descrito acima, a codificação do primeiro subconjunto de quadros de vídeo para produzir primeiro subconjunto de quadros de vídeo comprimido na ação 683, pode ser realizado pelo codificador de vídeo baseado em modelo de ML 108/208, executado por hardware de processamento de 104 do sistema 100.
[0052] O fluxograma 680 inclui adicionalmente identificar primeiros dados de descompressão para primeiro subconjunto de quadros de vídeo comprimido (ação 684). Em algumas implementações, identificar primeiros dados de descompressão θs1 compreende sobreajustar primeiros dados de descompressão durante a codificação do primeiro subconjunto de quadros de vídeo na ação 683. Ou seja, em algumas implementações, a identificação de primeiros dados de descompressão na ação 684, pode ser realizada em paralelo, isto é, de modo substancialmente simultâneo, com a codificação do primeiro subconjunto de quadros de vídeo para produzir primeiro subconjunto de quadros de vídeo comprimido na ação 682. Conforme descrito acima, a identificação de primeiros dados de descompressão para primeiro subconjunto de quadros de vídeo comprimido S1, na ação 684, pode ser realizada pelo codificador de vídeo baseado em modelo de ML 108/208, executado por hardware de processamento de 104 do sistema 100.
[0053] O fluxograma 680 inclui adicionalmente codificar o segundo subconjunto de quadros de vídeo determinado na ação 682 para produzir segundo subconjunto de quadros de vídeo comprimido S2 (ação 685). Conforme descrito acima, a codificação do segundo subconjunto de quadros de vídeo para produzir segundo subconjunto de quadros de vídeo comprimido S2, na ação 685, pode ser realizado pelo codificador de vídeo baseado em modelo de ML 108/208, executado por hardware de processamento de 104 do sistema 100.
[0054] O fluxograma 680 inclui adicionalmente identificar segundos dados de descompressão para segundo subconjunto de quadros de vídeo comprimido S2 (ação 686). Em algumas implementações, identificar segundos dados de descompressão compreende sobreajustar segundos dados de descompressão durante a codificação do segundo subconjunto de quadros de vídeo na ação 685. Ou seja, em algumas implementações, a identificação de segundos dados de descompressão na ação 686, pode ser realizada em paralelo, isto é, de modo substancialmente simultâneo, com a codificação do segundo subconjunto de quadros de vídeo para produzir segundo subconjunto de quadros de vídeo comprimido S2 na ação 685. Conforme descrito acima, identificar primeiros dados de descompressão para segundo subconjunto de quadros de vídeo comprimido2, na ação 686, pode ser realizado pelo codificador de vídeo baseado em modelo de ML 108/208, executado por hardware de processamento de 104 do sistema 100.
[0055] Em relação aos dados de primeira e segunda descompressão e θS1 , θS2 nota-se que aqueles dados são específicos aos respectivos subconjuntos de quadro de vídeo comprimido que os mesmos acopanham. Desse modo, primeiros dados de descompressão são específicos à decodificação do primeiro subconjunto de quadros de vídeo comprimido, mas não do segundo subconjunto de quadros de vídeo comprimido S2 , e segundos dados de descompressão θS2 são específicos à decodificação do segundo subconjunto de quadros de vídeo comprimido, S2 mas não do primeiro subconjunto de quadros de vídeo comprimido S2 .
[0056] É adicionalmente notado que, embora o fluxograma 680 retrate ações 685 e 686 como as ações seguintes 683 e 684, essa representação é fornecida meramente a título de exemplo. Em algumas outras implementações, ações 683 e 685 podem ser realizadas em paralelo antes das ações 684 e 686, que, em algumas implementações, também podem ser realizadas em paralelo. Desse modo, em algumas implementações, a ação 683 e 684 pode ser realizada em paralelo com a ação 685 e 686.
[0057] Em algumas implementações, o método destacado pelo fluxograma 680 pode se concluir com a ação 686. No entanto, em outras implementações, esse método pode ser estendido por uma ou mais das ações descritas pelo fluxograma 790, na Figura 7. Agora em referência à Figura 7 em combinação com as Figuras 1 e 2, o fluxograma 790 inclui transmitir, ao decodificador de vídeo baseado em modelo de ML 138/238/438, o primeiro subconjunto de quadros de vídeo comprimido S1, o segundo subconjunto de quadros de vídeo comprimido S2, primeiros dados de descompressão θS1, e segundos dados de descompressão (ação 791). Conforme mostrado na Figura 2, o primeiro subconjunto de quadros de vídeo comprimido S1, segundo subconjunto de quadros de vídeo comprimido S2, primeiros dados de descompressão θS1, e segundos dados de descompressão podem ser transmitidos ao decodificador de vídeo baseado em modelo de ML 138/238/438, na ação 791, pelo codificador de vídeo baseado em modelo de ML 108/208, executado por hardware de processamento 104 do sistema 102, por meio de rede de comunicação 110 e enlaces de comunicação de rede 112.
[0058] O fluxograma 790 inclui adicionalmente receber o primeiro subconjunto de quadros de vídeo comprimido S1, segundo subconjunto de quadros de vídeo comprimido S2, primeiros dados de descompressão θS1, e segundos dados de descompressão (ação 792). Conforme mostrado na Figura 2, o primeiro subconjunto de quadros de vídeo comprimido S1, segundo subconjunto de quadros de vídeo comprimido S2, primeiros dados de descompressão θS1, e segundos dados de descompressão θS2 podem ser recebidos na ação 792 pelo decodificador de vídeo baseado em modelo de ML 138/238/438. Em algumas implementações, o decodificador de vídeo baseado em modelo de ML pode ser executado por hardware de processamento de sistema de usuário 124. No entanto, e conforme notado acima a título de referência à Figura 1, em algumas implementações, sistema de usuário pode 120 pode ser um componente periférico de terminal burro do sistema 100. Naquelas últimas implementações, o decodificador de vídeo baseado em modelo de ML 138/238/438 é incluído como um recurso do sistema 100, e pode ser executado para realizar a ação 792 por hardware de processamento de 104 do sistema 100.
[0059] O fluxograma 790 inclui adicionalmente decodificar o primeiro subconjunto de quadros de vídeo comprimido com uso de primeiros dados de descompressão (ação 793). Conforme descrito acima, a decodificação do primeiro subconjunto de quadros de vídeo comprimido com uso de primeiros dados de descompressão θS1, na ação 793, pode ser realizada pelo decodificador de vídeo baseado em modelo de ML 138/238/438, executado por hardware de processamento de sistema de usuário 124, ou por hardware de processamento de 104 do sistema 100.
[0060] Em algumas implementações, conforme notado acima, decodificador de vídeo baseado em modelo de ML 138/238/438 pode incluir uma NN, tal como um MicroRN, por exemplo. Em implementações nas quais o decodificador de vídeo baseado em modelo de ML 138/238/438 inclui um MicroRN, primeiros dados de descompressão θS1 pode conter somente os pesos desse MicroRN para uso em decodificar o primeiro subconjunto de quadros de vídeo comprimido S1. Além disso, em algumas implementações, primeiros dados de descompressão θS1 podem ser recebidos uma vez, e somente uma vez, para decodificar o primeiro subconjunto de quadros de vídeo comprimido em sua totalidade.
[0061] O fluxograma 790 inclui adicionalmente decodificar segundo subconjunto de quadros de vídeo comprimido S2 com uso de segundos dados de descompressão (ação 794). Conforme descrito acima, a decodificação do segundo subconjunto de quadros de vídeo comprimido S2 com uso de primeiros dados de descompressão θS1, na ação 794, pode ser realizada pelo decodificador de vídeo baseado em modelo de ML 138/238/438, executado por hardware de processamento de sistema de usuário 124, ou por hardware de processamento de 104 do sistema 100.
[0062] Em implementações nas quais o decodificador de vídeo baseado em modelo de ML 138/238/438 inclui um MicroRN, segundos dados de descompressão θS2 pode conter somente os pesos desse MicroRN para uso em decodificar o primeiro subconjunto de quadros de vídeo comprimido S2. Além disso, em algumas implementações, segundos dados de descompressão θS2 podem ser recebidos uma vez, e somente uma vez, para decodificar o segundo subconjunto de quadros de vídeo comprimido S2 em sua totalidade.
[0063] Nota-se que, embora o fluxograma 790 retrate a ação 794 como seguindo a ação 793, essa representação é fornecida meramente a título de exemplo. Em algumas implementações, a decodificação do primeiro subconjunto de quadros de vídeo comprimido com uso de primeiros dados de descompressão θS1, na ação 793, e a decodificação do segundo subconjunto de quadros de vídeo comprimido S2 com uso de segundos dados de descompressão θS2, na ação 794, pode ser realizada em paralelo, isto é, de modo substancialmente simultâneo.
[0064] Em relação ao codificador de vídeo baseado em modelo de ML 108/208 e decodificador de vídeo baseado em modelo de ML 138/238/438, nota-se que codificador de vídeo baseado em modelo de ML 108/208 pode ser implementado como um codificador de HiFiC, enquanto o decodificador de vídeo baseado em modelo de ML 138/238/438 é configurado de modo a ter menos parâmetros, tais como dez vezes menos parâmetros por exemplo, do que um decodificador de HiFiC, isto é, um grande decodificador que não usa primeiros dados de descompressão θS1, e segundos dados de descompressão θS2. Além disso, decodificador de vídeo baseado em modelo de ML 138/238/438 pode ser configurado de modo a alcançar um tempo de decodificação mais rápido, tal como um cinquenta por cento (50 %) tempo de decodificação mais rápido por exemplo, do que um decodificador de HiFiC, isto é, um grande decodificador que não usa primeiros dados de descompressão θS1, e segundos dados de descompressão θS2.
[0065] Em relação às ações descritas nas Figuras 6 e 7, nota-se que, em várias implementações, as ações 681, 682, 683, 684, 685, e 686 (doravante “ações 681686”) de fluxograma 680, ou ações 681-686 e ação 791 do fluxograma 790, ou ações 681-686, 791, 792, 793, e 794, podem ser realizadas como processos automatizados dos quais a participação humana pode ser omitida.
[0066] Desse modo, o presente pedido revela uma estrutura que inclui uma solução de compressão de vídeo baseada em modelo de ML com base em destilação de conhecimento (KD) e microdosagem para possibilitar que o uso de um codec de compressão de vídeo que tem capacidade de alucinação similar a um GAN treinado, que é particularmente importante ao alvejar compressão de vídeo de baixa taxa de bits. Adicionalmente, o presente pedido revela uma abordagem que possibilita que a retenção de qualidade de imagem perceptual satisfatória enquanto reduz o tamanho do decodificador. De acordo com os presentes princípios inovadores e inventivos, a meta de KD é transferir o conhecimento aprendido de uma rede de professor a uma rede de estudante pequena que permanece competitiva com o desempenho da rede de professor. Exigindo-se menos memória e potência computacional do que a rede de professor inicial, a rede de estudante poderia ser executada de modo vantajoso em menos dispositivos potentes tais como telefones móveis ou dispositivos dedicados. A capacidade de comprimir a rede de gerador ou decodificador no ajuste de autodecodificador, conforme revelado acima, é vantajosa tanto em termos de requisitos de memória quanto de eficiência computacional.
[0067] A partir da descrição acima, é manifesto que várias técnicas podem ser usadas para implementar os conceitos descritos no presente pedido, sem se afastar do escopo desses conceitos. Além disso, embora os conceitos tenham sido descritos em referência específica a determinadas implementações, um elemento versado na técnica reconheceria que mudanças podem ser realizadas na forma e nos detalhes sem se afastar do escopo desses conceitos. Como tal, as implementações descritas devem ser consideradas em todos os aspectos como ilustrativas e não restritivas. Também deve ser entendido que o presente pedido não está limitado às implementações particulares descritas no presente documento, mas muitos rearranjos, modificações e substituições são possíveis sem se afastar do escopo da presente revelação.

Claims (20)

  1. Sistema caracterizado pelo fato de que compreende:
    um codificador de vídeo baseado em modelo de aprendizado de máquina (ML) configurado para:
    receber uma sequência de vídeo não comprimido que inclui uma pluralidade de quadros de vídeo;
    determinar, dentre a pluralidade de quadros de vídeo, um primeiro subconjunto de quadro de vídeo e um segundo subconjunto de quadro de vídeo;
    codificar o primeiro subconjunto de quadro de vídeo para produzir um primeiro subconjunto de quadro de vídeo comprimido;
    identificar primeiros dados de descompressão para o primeiro subconjunto de quadro de vídeo comprimido;
    codificar o segundo subconjunto de quadro de vídeo para produzir um segundo subconjunto de quadros de vídeo comprimido; e
    identificar segundos dados de descompressão para o segundo subconjunto de quadro de vídeo comprimido.
  2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que identificar os primeiros dados de descompressão compreende sobreajustar os primeiros dados de descompressão durante a codificação do primeiro subconjunto de quadro de vídeo, e em que identificar os segundos dados de descompressão compreende sobreajustar os segundos dados de descompressão durante a codificação do segundo subconjunto de quadro de vídeo.
  3. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que o primeiro subconjunto de quadro de vídeo compreende quadros de vídeo que são visualmente similares entre si, e em que o segundo subconjunto de quadro de vídeo compreende outros quadros de vídeo que são mais visualmente similares entre si do que aos quadros de vídeo do primeiro subconjunto de quadro de vídeo.
  4. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente um decodificador de vídeo baseado em modelo de ML; o codificador de vídeo baseado em modelo de ML adicionalmente configurado para:
    transmitir, ao decodificador de vídeo baseado em modelo de ML, o primeiro subconjunto de quadro de vídeo comprimido, o segundo subconjunto de quadro de vídeo comprimido, os primeiros dados de descompressão e os segundos dados de descompressão;
    o decodificador de vídeo baseado em modelo de ML configurado para:
    receber o primeiro subconjunto de quadro de vídeo comprimido, o segundo subconjunto de quadro de vídeo comprimido, os primeiros dados de segunda descompressão e os segundos dados de descompressão;
    decodificar o primeiro subconjunto de quadro de vídeo comprimido usando os primeiros dados de descompressão; e
    decodificar o segundo subconjunto de quadro de vídeo comprimido usando os segundos dados de descompressão.
  5. Sistema, de acordo com a reivindicação 4, caracterizado pelo fato de que os primeiros dados de descompressão são específicos à decodificação do primeiro subconjunto de quadro de vídeo comprimido, mas não à do segundo subconjunto de quadro de vídeo comprimido, e os segundos dados de descompressão são específicos à decodificação do segundo subconjunto de quadro de vídeo comprimido, mas não à do primeiro subconjunto de quadro de vídeo comprimido.
  6. Sistema, de acordo com a reivindicação 4, caracterizado pelo fato de que o decodificador de vídeo baseado em modelo de ML compreende uma rede neural (NN) artificial.
  7. Sistema, de acordo com a reivindicação 4, caracterizado pelo fato de que o decodificador de vídeo baseado em modelo de ML compreende uma Rede Micro-residual (MicroRN), e em que os primeiros dados de descompressão e os segundos dados de descompressão contêm somente pesos da MicroRN.
  8. Sistema, de acordo com a reivindicação 4, caracterizado pelo fato de que o codificador de vídeo baseado em modelo de ML compreende um codificador de Compressão de Alta Fidelidade (HiFiC), e em que o decodificador de vídeo baseado em modelo de ML inclui menos parâmetros do que um decodificador de HiFiC sem uso dos primeiros dados de descompressão e dos segundos dados de descompressão.
  9. Sistema, de acordo com a reivindicação 4, caracterizado pelo fato de que o codificador de vídeo baseado em modelo de ML compreende um codificador de HiFiC, e em que o decodificador de vídeo baseado em modelo de ML é configurado para alcançar um tempo de decodificação mais rápido do que um decodificador de HiFiC sem uso dos primeiros dados de descompressão e dos segundos dados de descompressão.
  10. Sistema, de acordo com a reivindicação 4, caracterizado pelo fato de que os primeiros dados de descompressão são recebidos somente uma vez para decodificação do primeiro subconjunto de quadro de vídeo comprimido, e em que os segundos dados de descompressão são recebidos somente uma vez para decodificação do segundo subconjunto de quadro de vídeo comprimido.
  11. Método para uso por um sistema que inclui um codificador de vídeo baseado em modelo de aprendizado de máquina (ML), o método caracterizado por compreender:
    receber, pelo codificador de vídeo baseado em modelo de ML, uma sequência de vídeo não comprimido que inclui uma pluralidade de quadros de vídeo;
    determinar, pelo codificador de vídeo baseado em modelo de ML dentre a pluralidade de quadros de vídeo, um primeiro subconjunto de quadro de vídeo e um segundo subconjunto de quadro de vídeo;
    codificar, pelo codificador de vídeo baseado em modelo de ML, o primeiro subconjunto de quadro de vídeo para produzir um primeiro subconjunto de quadro de vídeo comprimido;
    identificar, pelo codificador de vídeo baseado em modelo de ML, primeiros dados de descompressão para o primeiro subconjunto de quadro de vídeo comprimido;
    codificar, pelo codificador de vídeo baseado em modelo de ML, o segundo subconjunto de quadro de vídeo para produzir um segundo subconjunto de quadro de vídeo comprimido; e
    identificar, pelo codificador de vídeo baseado em modelo de ML, segundos dados de descompressão para o segundo subconjunto de quadro de vídeo comprimido.
  12. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que identificar os primeiros dados de descompressão compreende sobreajustar os primeiros dados de descompressão durante a codificação do primeiro subconjunto de quadro de vídeo, e em que identificar os segundos dados de descompressão compreende sobreajustar os segundos dados de descompressão durante a codificação do segundo subconjunto de quadro de vídeo.
  13. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que o primeiro subconjunto de quadro de vídeo compreende quadros de vídeo que são visualmente similares entre si, e em que o segundo subconjunto de quadro de vídeo compreende outros quadros de vídeo que são mais visualmente similares entre si do que aos quadros de vídeo incluídos no primeiro subconjunto de quadro de vídeo.
  14. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que o sistema compreende adicionalmente o decodificador de vídeo baseado em modelo de ML, o método compreendendo adicionalmente:
    transmitir, pelo codificador de vídeo baseado em modelo de ML, o primeiro subconjunto de quadro de vídeo comprimido, o segundo subconjunto de quadro de vídeo comprimido, os primeiros dados de descompressão, e os segundos dados de descompressão a um decodificador de vídeo baseado em modelo de ML;
    receber, pelo decodificador de vídeo baseado em modelo de ML, o primeiro subconjunto de quadro de vídeo comprimido, o segundo subconjunto de quadro de vídeo comprimido, os primeiros dados de descompressão, e os segundos dados de descompressão;
    decodificar, pelo decodificador de vídeo baseado em modelo de ML, o primeiro subconjunto de quadro de vídeo comprimido usando os primeiros dados de descompressão; e
    decodificar, pelo decodificador de vídeo baseado em modelo de ML, o segundo subconjunto de quadro de vídeo comprimido usando os segundos dados de descompressão.
  15. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que os primeiros dados de descompressão são específicos à decodificação do primeiro subconjunto de quadro de vídeo comprimido, mas não à do segundo subconjunto de quadro de vídeo comprimido, e os segundos dados de descompressão são específicos à decodificação do segundo subconjunto de quadro de vídeo comprimido, mas não à do primeiro subconjunto de quadros de vídeo comprimido.
  16. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que o decodificador de vídeo baseado em modelo de ML compreende uma rede neural (NN) artificial.
  17. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que o decodificador de vídeo baseado em modelo de ML compreende uma Rede Micro-Residual (MicroRN), e em que os primeiros dados de descompressão e os segundos dados de descompressão contêm somente pesos da MicroRN.
  18. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que o codificador de vídeo baseado em modelo de ML compreende um codificador de Compressão de Alta Fidelidade (HiFiC), e em que o decodificador de vídeo baseado em modelo de ML inclui menos parâmetros do que um decodificador de HiFiC sem uso dos primeiros dados de descompressão e dos segundos dados de descompressão.
  19. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que o codificador de vídeo baseado em modelo de ML compreende um codificador de HiFiC, e em que o decodificador de vídeo baseado em modelo de ML é configurado para alcançar um tempo de decodificação mais rápido do que um decodificador de HiFiC sem uso dos primeiros dados de descompressão e dos segundos dados de descompressão.
  20. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que os primeiros dados de descompressão são recebidos somente uma vez para decodificação do primeiro subconjunto de quadros de vídeo comprimido, e em que os segundos dados de descompressão são recebidos somente uma vez para decodificação do segundo subconjunto de quadros de vídeo comprimido.
BR102022006511-0A 2021-04-08 2022-04-04 Microdosagem para compressão de vídeo de baixa taxa de bits BR102022006511A2 (pt)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202163172315P 2021-04-08 2021-04-08
US63/172,315 2021-04-08
US202163255280P 2021-10-13 2021-10-13
US63/255,280 2021-10-13
US17/704,722 US12010335B2 (en) 2021-04-08 2022-03-25 Microdosing for low bitrate video compression
US17/704,722 2022-03-25

Publications (1)

Publication Number Publication Date
BR102022006511A2 true BR102022006511A2 (pt) 2022-10-18

Family

ID=80999742

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102022006511-0A BR102022006511A2 (pt) 2021-04-08 2022-04-04 Microdosagem para compressão de vídeo de baixa taxa de bits

Country Status (6)

Country Link
US (2) US12010335B2 (pt)
EP (1) EP4072138A1 (pt)
JP (1) JP7403573B2 (pt)
KR (1) KR102613527B1 (pt)
CN (1) CN115209155A (pt)
BR (1) BR102022006511A2 (pt)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117425013B (zh) * 2023-12-19 2024-04-02 杭州靖安防务科技有限公司 一种基于可逆架构的视频传输方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109451308B (zh) 2018-11-29 2021-03-09 北京市商汤科技开发有限公司 视频压缩处理方法及装置、电子设备及存储介质
JP7161107B2 (ja) 2019-02-19 2022-10-26 日本電信電話株式会社 生成装置及びコンピュータプログラム
US11012718B2 (en) 2019-08-30 2021-05-18 Disney Enterprises, Inc. Systems and methods for generating a latent space residual
US11496769B2 (en) * 2019-09-27 2022-11-08 Apple Inc. Neural network based image set compression
US11477464B2 (en) * 2020-09-16 2022-10-18 Qualcomm Incorporated End-to-end neural network based video coding
US11924445B2 (en) * 2020-09-25 2024-03-05 Qualcomm Incorporated Instance-adaptive image and video compression using machine learning systems

Also Published As

Publication number Publication date
JP2022161862A (ja) 2022-10-21
EP4072138A1 (en) 2022-10-12
US20220337852A1 (en) 2022-10-20
JP7403573B2 (ja) 2023-12-22
CN115209155A (zh) 2022-10-18
KR102613527B1 (ko) 2023-12-14
US12010335B2 (en) 2024-06-11
KR20220139801A (ko) 2022-10-17
US20240283957A1 (en) 2024-08-22

Similar Documents

Publication Publication Date Title
CN113574888B (zh) 利用神经网络的预测性编码
CN109218727B (zh) 视频处理的方法和装置
TWI806199B (zh) 特徵圖資訊的指示方法,設備以及電腦程式
US12120359B2 (en) Machine learning model-based video compression
US20240283957A1 (en) Microdosing For Low Bitrate Video Compression
Sun et al. Deep-learned perceptual quality control for intelligent video communication
KR20240050435A (ko) 조건부 이미지 압축
EP4167571A1 (en) Codec rate distortion compensating downsampler
KR20240064698A (ko) 특징 맵 인코딩 및 디코딩 방법 및 장치
CN114222124B (zh) 一种编解码方法及设备
AU2022279597B2 (en) Training rate control neural networks through reinforcement learning
US20240161238A1 (en) Method and device with image processing
EP4387226A1 (en) Encoding and decoding video signals
EP4387227A1 (en) Encoding and decoding video signals
Baig et al. Colorization for image compression
US20240020884A1 (en) Online meta learning for meta-controlled sr in image and video compression
US20230316588A1 (en) Online training-based encoder tuning with multi model selection in neural image compression
Paul Deep learning solutions for video encoding and streaming
CN116546224A (zh) 滤波网络的训练方法、视频编码方法、装置及电子设备

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]