BR112019025108A2 - Método para decodificar um fluxo de dados codificado, método para codificar pelo menos uma imagem na forma de um fluxo de dados codificado, dispositivo de decodificação, dispositivo para codificar, programa de computador e sinal que compreende dados codificados - Google Patents

Método para decodificar um fluxo de dados codificado, método para codificar pelo menos uma imagem na forma de um fluxo de dados codificado, dispositivo de decodificação, dispositivo para codificar, programa de computador e sinal que compreende dados codificados Download PDF

Info

Publication number
BR112019025108A2
BR112019025108A2 BR112019025108-1A BR112019025108A BR112019025108A2 BR 112019025108 A2 BR112019025108 A2 BR 112019025108A2 BR 112019025108 A BR112019025108 A BR 112019025108A BR 112019025108 A2 BR112019025108 A2 BR 112019025108A2
Authority
BR
Brazil
Prior art keywords
block
pixel
current
image
current block
Prior art date
Application number
BR112019025108-1A
Other languages
English (en)
Inventor
Henry Félix
Félix Henry
Abdoli Mohsen
Mohsen Abdoli
Original Assignee
Orange
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 Orange filed Critical Orange
Publication of BR112019025108A2 publication Critical patent/BR112019025108A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A invenção se refere a um método e dispositivo para codificar e a um método e dispositivo para decodificar um sinal que compreende dados codificados que representam pelo menos uma imagem subdividida em blocos, sendo que o sinal compreende uma parte de informações que representa um bloco denominado de bloco de correção. Para pelo menos um bloco atual da imagem codificada no sinal, pelo menos um primeiro pixel do bloco atual é codificado a partir de um valor de predição obtido (E20) para o dito primeiro pixel de pelo menos um pixel de um bloco reconstruído anteriormente da imagem, sendo que a dita predição que é corrigida (E21) por meio de pelo menos um valor de um pixel do dito bloco de correção e pelo menos um pixel atual do bloco atual é codificado a partir de um valor de predição obtido (E20) para o dito pixel atual do pelo menos um pixel corrigido anteriormente do bloco atual, sendo que a dita predição é corrigida (E21) por meio de pelo menos um valor de um pixel do dito bloco de correção, entregando um bloco de predição para o bloco atual. O sinal também compreende pelo menos uma parte de informações (Resqb) que representa um bloco residual computado do bloco atual e o bloco preditivo.

Description

Relatório Descritivo da Patente de Invenção para “MÉTODO PARA DECODIFICAR UM FLUXO DE DADOS CODIFICADO, MÉTODO PARA CODIFICAR PELO MENOS UMA IMAGEM NA FORMA DE UM FLUXO DE DADOS CODIFICADO, DISPOSITIVO DE DECODIFICAÇÃO, DISPOSITIVO PARA CODIFICAR,
PROGRAMA DE COMPUTADOR E SINAL QUE COMPREENDE DADOS CODIFICADOS”
1. CAMPO DA INVENÇÃO
[001] O campo da invenção é o de codificação e decodificação de imagens ou sequências de imagem, especialmente fluxos de vídeo.
[002] De modo mais específico, a invenção refere-se à compressão de imagens ou sequências de imagens com o uso de uma representação em blocos das imagens.
[003] A invenção pode ser aplicada especialmente a codificadores futuros ou atuais que codificam imagem ou vídeo implantados (sob os padrões JPEG, MPEG, H.264, HEVC e outros padrões e suas emendas), e à decodificação correspondente.
2. TÉCNICA ANTERIOR
[004] Imagens digitais e sequências de imagem ocupam muito espaço na memória. Isso torna necessário comprimir essas imagens quando são transmitidas a fim de evitar problemas de congestão na rede usada para essa transmissão. De fato, a taxa de bits que pode ser usada nessa rede é limitada geralmente.
[005] Há inúmeras técnicas conhecidas de compressão de dados de vídeo. Estes incluem o padrão de compressão HEVC (“High Efficiency Video Coding, Coding Tools and Specification”, Matthias Wien, Signals and Communication Technology, 2015) que propõe implantar uma predição de pixels de uma imagem atual em relação a outros pixels que pertencem à mesma imagem (intrapredição) ou que pertencem a uma imagem antecedente ou seguinte (interpredição).
[006] De modo mais específico, a intrapredição explora redundâncias espaciais dentro de uma imagem. Com essa finalidade as imagens são subdivididas em blocos de pixels. Em seguida, os blocos de pixels são preditos por meio de uma informação já reconstruída que corresponde a blocos anteriormente codificados/decodificados na imagem atual de acordo com a ordem de varredura dos blocos na imagem.
[007] Além disso, normalmente, a codificação de um bloco atual é realizada por meio de uma predição do bloco atual, denominado de bloco preditivo, e de um resíduo de predição ou “bloco residual” que corresponde a uma diferença entre o bloco atual e o bloco preditivo. Em seguida, o bloco residual é transformado, por exemplo, com o uso uma transformada do tipo DCT (transformada de cosseno discreto). Em seguida, os coeficientes do bloco residual são quantificados, em seguida, codificados por codificação entrópica e transmitidos ao decodificador que pode reconstruir o bloco atual adicionando-se esse bloco residual ao bloco preditivo.
[008] A decodificação é feita a cada imagem e, para cada imagem, é feita a cada bloco. Para cada bloco, os elementos correspondentes do fluxo são lidos. A quantificação inversa e transformação inversa dos coeficientes do bloco residual são realizados. Em seguida, a predição do bloco é computada para obter o bloco preditivo, e o bloco atual é reconstruído adicionando-se a predição (isto é, o bloco preditivo) ao bloco residual decodificado.
[009] Classicamente, a intrapredição de um bloco atual é feita com o uso de pixels de referência de blocos reconstruídos anteriormente na imagem. Tal situação é ilustrada na Figura 1, na qual os pixels de referência usados para predizer os pixels (X(i,j)i=0,1,2,3 e j=0,1,2,3) de um bloco atual X correspondem, de modo geral, aos pixels situados na linha logo acima do bloco atual (pixels identificados por T(-1, i)i=-1,0,1,2,3) e os pixels situados na coluna à esquerda do bloco atual (pixels identificados por T(i, - 1)i=-1,0,1,2,3).
[010] Por exemplo, o padrão HEVC define 35 modos de intrapredição com o uso de tais pixels de referência, esses modos de predição são diferentes entre si de modo que em cada um desses pixels de referência são usados para construir um bloco preditivo para o bloco atual.
[011] Pode-se observar que, de acordo com tal intrapredição técnica, os pixels situados na primeira linha e na primeira coluna do bloco preditivo são muito bem preditos devido ao fato de que estão imediatamente adjacentes aos pixels de referência. De fato, quanto mais próximo os pixels estão entre si no espaço, maior a extensão à qual as informações que os mesmos contêm estão correlacionadas.
[012] Em contrapartida, os pixels do bloco preditivo, que estão situados no lado inferior direito, isto é, longe dos pixels de referência, por exemplo, o pixel X(3,3) ilustrado na Figura 1 não são preditos precisamente. Tais pixels fornecem, então, um resíduo de predição com alta energia e, portanto, uma taxa de bits maior é necessária para codificar os mesmos.
[013] Portanto, há uma necessidade de uma técnica inovadora para construir blocos preditivos a fim de predizer um bloco atual, aprimorando a compressão dos dados de imagem ou de vídeo.
3. SUMÁRIO DA INVENÇÃO
[014] A invenção fornece aprimoramentos à técnica anterior A mesma se refere a um método para decodificar um fluxo de dados codificado que representa pelo menos uma imagem subdividida em blocos. O método de decodificação compreende as etapas a seguir para pelo menos um bloco atual da imagem: - decodificar, a partir do fluxo de dados codificado, pelo menos uma parte de informações que representam um bloco, denominado de bloco de correção e um bloco residual, - determinar o bloco de correção a partir das informações decodificadas, - determinar um bloco preditivo a partir do bloco atual que compreende: ○ para pelo menos um primeiro pixel do bloco atual: ▪ obter um valor de predição do dito primeiro pixel a partir de pelo menos um pixel de um bloco reconstruído anteriormente da imagem, ▪ corrigir o dito primeiro pixel adicionando-se, ao valor de predição obtido para o primeiro pixel, pelo menos um valor de um pixel do bloco de correção, ○ para pelo menos um pixel atual do bloco atual, distinto do primeiro pixel: ▪ obter um valor de predição do dito pixel atual a partir de pelo menos um pixel corrigido anteriormente do bloco atual, ▪ corrigir o dito pixel atual adicionando-se ao dito valor de predição obtido para o pixel atual pelo menos um valor de um pixel do dito bloco de correção, - reconstruir o dito bloco atual com base no bloco preditivo e do bloco residual decodificado.
[015] De modo correlacionado, a invenção se refere a um método para codificar pelo menos uma imagem na forma de um fluxo de dados codificado, sendo que a dita imagem é subdividida em blocos e compreende as seguintes etapas para pelo menos um bloco atual da imagem a ser codificada: - determinar um bloco preditivo do bloco atual que compreende: ○ para pelo menos um primeiro pixel do bloco atual: ▪ obter um valor de predição do dito primeiro pixel com base pelo menos em um pixel de um bloco reconstruído anteriormente da imagem, ▪ corrigir dito primeiro pixel adicionando-se, ao valor de predição obtido para o dito primeiro pixel, pelo menos um valor de um pixel de um bloco, denominado de um bloco de correção, ○ para pelo menos um pixel atual do bloco atual, distinto do primeiro pixel: ▪ obter um valor de predição do dito pixel atual a partir de pelo menos um pixel corrigido anteriormente do bloco atual, ▪ corrigir o dito pixel atual adicionando-se ao valor de predição obtido para o pixel atual pelo menos um valor de um pixel do dito bloco de correção, - codificação, no fluxo de dados, de pelo menos uma parte de informações que representa o dito bloco de correção, - computar um bloco residual do dito bloco atual e o dito bloco preditivo determinado, - codificação do dito bloco residual no fluxo de dados.
[016] De acordo com a invenção, a predição de um pixel atual de um bloco atual é, então, aprimorada. De fato, é, então, possível predizer um pixel atual do bloco atual por um pixel do bloco atual que foi corrigido anteriormente. Em particular, para um pixel atual que está espacialmente distante dos pixels de referência do bloco atual, isto é, os pixels de referência correspondentes aos pixels situados logo acima do bloco atual e à esquerda do bloco atual, é, então, possível predizer tal pixel atual pelos pixels do bloco atual que estão mais próximo desse pixel atual. Visto que a predição dos pixels é aprimorada, o resíduo de predição entre o bloco atual e o bloco preditivo é menor e o custo de codificação do bloco atual é reduzido.
[017] De acordo com a invenção, um resíduo de codificação para o bloco atual é transmitido no fluxo de dados e adicionado ao bloco preditivo para reconstruir o bloco atual, desse modo, aprimorando o desempenho de compressão.
[018] De acordo com outra modalidade particular da invenção, o bloco de correção compreende dados residuais predeterminados.
[019] De acordo com outra modalidade particular da invenção, o bloco de correção pertence a um conjunto de blocos de dados predeterminados, sendo que a dita pelo menos uma parte de informações que representa o dito bloco de correção que possibilita a identificação do dito bloco de correção dentre os blocos do conjunto. De acordo com essa modalidade particular da invenção, um dicionário de blocos de dados residuais está disponível para codificador e o decodificador. Para um bloco atual a ser codificado ou decodificado, o bloco de correção é selecionado a partir dos blocos do dicionário. Por exemplo, o bloco do dicionário que fornece a melhor troca taxa de bits/distorção para codificar o bloco atual é selecionado como um bloco de correção para o bloco atual.
[020] De acordo com outra modalidade particular da invenção, o valor de predição do pixel atual é obtido de pelo menos um pixel corrigido anteriormente do bloco atual como uma função de uma função de predição local aplicada ao pixel situado acima do pixel atual, ao pixel situado à esquerda do pixel atual e ao pixel situado à esquerda superior do pixel atual. De acordo com essa modalidade particular da invenção, um pixel atual é predito através de uma vizinhança causal e local desse pixel. A correlação entre o pixel atual e os pixels de referência usados para predizer o pixel atual é, então, maior do que é com métodos de intrapredição clássicos.
[021] De acordo com outra modalidade particular da invenção, a parte de informações que representa a função de predição local é codificada no fluxo de dados codificado ou decodificada a partir do mesmo. De acordo com essa modalidade particular, funções de predição local diferentes podem ser usadas para predizer os pixels de um bloco atual. Desse modo, é possível selecionar e sinalizar, ao decodificador, a função de predição local mais eficiente para predizer os pixels de um bloco atual.
[022] De acordo com outra modalidade particular da invenção, o fluxo de dados codificado compreende, para o bloco atual, uma parte de informações que indica se o bloco atual é codificado de acordo com um modo de predição usando apenas pixels que pertencem a blocos reconstruídos anteriormente da imagem ou se o bloco atual é codificado de acordo com um modo de predição usando pelo menos um pixel corrigido anteriormente do bloco atual. De acordo com essa modalidade particular, o fluxo de dados compreende uma parte de informações que indicam se o bloco atual é codificado, por exemplo, de acordo com um modo de intrapredição direcional conforme é conhecido nos padrões existentes de compressão ou de acordo com o modo de intrapredição de qualquer uma das modalidades particulares mencionadas acima no presente documento. Desse modo, é possível, para cada bloco da imagem, escolher o melhor modo de intrapredição em termos de taxa de bits/distorção.
[023] A invenção também se refere a um sinal que compreende dados codificados que representam pelo menos uma imagem, subdividida em blocos. Tal sinal compreende, para pelo menos um bloco atual da imagem, pelo menos uma parte de informações que representa um bloco denominado de bloco de correção, sendo que pelo menos um primeiro pixel do bloco atual é codificado a partir de pelo menos um valor de um pixel do bloco de correção e a valor de predição obtido para o dito primeiro pixel de pelo menos um pixel de um bloco reconstruído anteriormente da imagem e pelo menos um pixel atual do bloco atual que é codificado a partir de pelo menos um valor de um pixel do bloco de correção e de um valor de predição obtido para o dito pixel atual de pelo menos um pixel corrigido anteriormente do bloco atual, entregando um bloco preditivo para o bloco atual. O sinal também compreende pelo menos uma parte de informações que representa um bloco residual computado a partir do bloco atual e do bloco preditivo.
[024] De acordo com uma modalidade particular da invenção, o sinal compreende adicionalmente, para o bloco atual, uma parte de informações que indicam se o bloco atual é codificado de acordo com um modo de predição usando apenas pixels que pertencem a blocos reconstruídos anteriormente da imagem ou se o bloco atual é codificado de acordo com um modo de predição usando pelo menos um pixel corrigido anteriormente do bloco atual.
[025] A invenção também se refere a um dispositivo de decodificação configurado para implantar o método de decodificação de acordo com qualquer uma das modalidades particulares definidas acima no presente documento. Esse dispositivo de decodificação pode evidentemente compreender as diferentes características em relação ao método de decodificação de acordo com a invenção. Desse modo, as características e vantagens do dispositivo de decodificação são iguais àquelas do método de decodificação e não são descritas mais detalhadamente.
[026] De acordo com uma modalidade particular da invenção, tal dispositivo de decodificação está compreendido em um terminal.
[027] A invenção também se refere a um dispositivo de codificação configurado para implantar o método de codificação de acordo com qualquer uma das modalidades particulares definidas acima no presente documento. Esse dispositivo de codificação pode evidentemente compreender as características diferentes do método de codificação de acordo com a invenção. Desse modo, as características e vantagens desse dispositivo de codificação são iguais às do método de codificação e não são descritos mais detalhadamente.
[028] De acordo com uma modalidade particular da invenção, tal dispositivo de codificação está compreendido em um terminal ou um servidor.
[029] O método de decodificação e o método de codificação respectivamente, de acordo com a invenção, pode ser implantado de várias maneiras, especialmente em forma cabeada ou de software. De acordo com uma modalidade particular da invenção, o método de decodificação e o método de codificação respectivamente são implantados por um programa de computador. A invenção também se refere a um programa de computador que compreendem instruções para implantar o método para decodificar ou o método de codificação de acordo com qualquer uma das modalidades particulares descritos acima no presente documento quando o dito programa é executado por um processador. Tal programa pode usar qualquer programação de linguagem. O mesmo pode ser transferido por download de uma rede de comunicações e/ou registrados em uma mídia ou transportadora legível por computador.
[030] Esse programa pode usar qualquer linguagem de programação e pode ser estar na forma de código-fonte, código de objeto ou código intermediário entre código- fonte e código de objeto, tal como em uma forma compilada parcialmente ou em qualquer outra forma desejável.
[031] A invenção também almeja fornecer uma transportadora ou mídia de informações legível por um computador e que compreende instruções de um programa, conforme mencionado acima no presente documento. As transportadoras de informações mencionadas acima podem ser qualquer entidade ou dispositivo com capacidade para armazenar o programa. Por exemplo, a transportadora ou mídia podem compreender um meio de armazenamento, tal como ROM, por exemplo, um CD-ROM ou ROM de circuito microeletrônico ou novamente um meio de registro magnético, por exemplo, um disquete ou uma unidade de disco rígido. Além disso, a mídia de informações pode corresponder a uma mídia transmissível, tal como um sinal elétrico ou óptico que pode ser transportado por um cabo elétrico ou óptico, por rádio ou por outros meios. O programa, de acordo com a invenção, pode ser transferido por download especialmente de uma rede do tipo internet.
[032] Como uma alternativa, os suportes de registro podem corresponder a um circuito integrado no qual o programa está incorporado, sendo que o circuito é adaptado para executar ou ser usado na execução do método em questão.
4. LISTA DE FIGURAS
[033] Outros recursos e vantagens da invenção devem ficar mais claros a partir da descrição a seguir de diversas modalidades particulares, fornecidos apenas a título de ilustração e exemplos não exaustivos e dos desenhos anexos dos quais: - A Figura 1 ilustra a posição dos pixels de referência de acordo com a técnica anterior para predizer os pixels de um bloco atual, - A Figura 2 ilustra um método para determinar um bloco preditivo de acordo com uma modalidade particular da invenção, - A Figura 3 ilustra exemplos da posição dos pixels de referência usados para predizer pixels de um bloco atual de acordo com uma modalidade particular da invenção, - A Figura 4 apresenta as etapas do método de codificação de acordo com uma modalidade particular da invenção, - A Figura 5 apresenta etapas do método de decodificação de acordo com uma modalidade particular da invenção, - A Figura 6 apresenta a estrutura simplificada de um dispositivo de codificação adaptado para implantar o método de codificação de acordo com qualquer uma das modalidades particulares da invenção, - A Figura 7 apresenta a estrutura simplificada do dispositivo de decodificação adaptada para implantar o método de decodificação de acordo com qualquer uma das modalidades particulares da invenção, - A Figura 8A ilustra um exemplo de um sinal que compreende dados codificados que representam pelo menos um bloco de uma imagem de acordo com uma modalidade particular da invenção, - A Figura 8B ilustra um exemplo de um sinal que compreende dados codificados que representam pelo menos um bloco de uma imagem de acordo com outra modalidade da invenção.
5. DESCRIÇÃO DE UMA MODALIDADE DA INVENÇÃO
5.1 PRINCÍPIO GERAL
[034] O princípio geral da invenção almeja aprimorar a predição dos pixels de um bloco a ser codificado de uma imagem situado longe dos pixels de referência usados classicamente para a predição de um bloco.
[035] Para essa finalidade, uma predição desses pixels é implantada pelo uso de pixels do bloco atual que, por si só, foram corrigidos anteriormente por meio de um bloco de dados residuais. Tal bloco de dados residuais é diferente de uma codificação bloco residual conhecida a partir dos métodos clássicos de codificação por predição. De acordo com a invenção, o bloco de dados residuais, também denominado de bloco de correção, compreende dados residuais usados para corrigir o valor dos pixels do bloco atual que serve para prever os pixels a seguir do bloco atual. De fato, os pixels do bloco atual, que serve para prever os pixels a seguir do bloco atual, foram previstos por pixels corrigidos anteriormente do bloco atual e/ou pixels de um bloco reconstruído anteriormente da imagem, para os quais o resíduo de predição não foi computado ou codificado/decodificado. De acordo com a invenção, os pixels do bloco atual são previstos por outros pixels que também pertencem ao bloco atual que ainda não foram reconstruídos, isto é, por meio de um resíduo de predição codificado/decodificado, porém que foram corrigidos por meio de um bloco de correção disponível para o codificado e para o decodificado.
[036] Entende-se o termo “valor de um pixel” com o valor de um componente da imagem a ser codificado para o pixel. Por exemplo, no caso de uma representação da imagem a ser codificado, na forma de um componente de luminância Y e com dois componentes de crominância U e V, o método de predição pode ser aplicado a cada componente ou apenas a um dos mesmos. A invenção obviamente não se limita à representação de YUV e pode ser aplicada de modo semelhante a outras da imagem (RGB, YCbCr etc.).
[037] Primeiramente, são apresentados primeiros modos de implantação da determinação de um bloco preditivo para um bloco atual de acordo com a invenção e, em seguida, um método para codificar uma sequência de imagens e um método para decodificar um fluxo de dados, sendo que os dois usam tal determinação de um bloco preditivo para predizer um bloco atual da imagem, de acordo com uma modalidade particular da invenção, assim como dispositivos de codificação e de decodificação correspondentes.
5.2 DETERMINAÇÃO DE UM BLOCO PREDITIVO PARA PREDIZER UM
BLOCO ATUAL DE ACORDO COM UMA MODALIDADE PARTICULAR DA INVENÇÃO
[038] A Figura 2 ilustra a determinação de um bloco preditivo bpred que serve para predizer um bloco atual X de uma imagem a ser codificada.
[039] Para cada pixel Xi do bloco atual X, ilustrado na Figura 3 por meio de linhas espessas, um valor de predição do pixel Xi é determinado durante uma etapa E20. Para essa finalidade, uma função de predição local 𝐻(𝐴𝑖, 𝐵𝑖, 𝐶𝑖, ) é usada. Tal função 𝐻(𝐴𝑖, 𝐵𝑖, 𝐶𝑖, ) computa um valor de predição Pi de um pixel Xi do valor dos pixels Ai, Bi, Ci. De acordo com a modalidade particular da invenção descritos no presente documento, os pixels Ai, Bi, Ci correspondem respectivamente ao pixel situado à esquerda do pixel Xi, no topo do pixel Xi e à esquerda superior do pixel Xi.
[040] A função de predição local 𝐻(𝐴𝑖, 𝐵𝑖, 𝐶𝑖, ) tem, por exemplo, a forma: 𝑚𝑖𝑛(𝐴𝑖 , 𝐵𝑖 ) 𝑖𝑓 𝐶𝑖 > 𝑚𝑎𝑥 (𝐴𝑖 , 𝐵𝑖 ) 𝑃𝑖 = 𝐻(𝐴𝑖, 𝐵𝑖, 𝐶𝑖, ) = {𝑚𝑎𝑥(𝐴𝑖 , 𝐵𝑖 ) 𝑖𝑓 𝐶𝑖 < 𝑚𝑖𝑛 (𝐴𝑖 , 𝐵𝑖 ) 𝐴𝑖 + 𝐵𝑖 − 𝐶𝑖 𝑒𝑙𝑠𝑒
[041] Como uma variante, outros tipos de funções de predição local podem ser 𝐴𝑖 +𝐵𝑖 +𝐶𝑖 usados, por exemplo, 𝐻(𝐴𝑖, 𝐵𝑖, 𝐶𝑖, ) = . 3
[042] A função de predição local 𝐻(𝐴𝑖, 𝐵𝑖, 𝐶𝑖, ) pode ser conhecida pelo codificador e para o decodificador ou, transmitido de outro modo, no fluxo de dados codificado, nos dados codificados de uma imagem ou a sequência de imagens.
[043] Dependendo da posição do pixel Xi no bloco atual X, a função de predição local usa os pixels Ai, Bi, Ci que podem pertencem a blocos reconstruídos anteriormente da imagem e/ou que pertencem ao bloco atual X.
[044] Por exemplo, para o pixel X1 da Figura 3, a valor de predição é determinada dos pixels A1, B1 e C1, isto é, apenas por meio de pixels de referência que pertencem a blocos reconstruídos anteriormente da imagem e, mais especificamente aos blocos situados acima, para a esquerda e para a esquerda superior do bloco atual.
[045] Para o pixel X2 da Figura 3, o valor de predição é determinado a partir dos pixels A2, B2 e C2, isto é, por meio de pixels de referência que pertencem a blocos reconstruídos anteriormente da imagem e por meio de pixels que pertencem ao bloco atual.
[046] Para o pixel X3 da Figura 3, o valor de predição é determinado a partir dos pixels A3, B3 e C3, isto é, apenas por meio de pixels que pertencem ao bloco atual.
[047] De modo geral, e com observações com referência à Figura 1, para um pixel 𝑋(𝑙𝑖𝑛, 𝑐𝑜𝑙)do bloco atual X, em que 𝑙𝑖𝑛 representa o índice da linha do pixel 𝑋 em relação ao canto esquerdo superior do bloco X e 𝑐𝑜𝑙 representa o índice da coluna do pixel 𝑋 em relação ao canto esquerdo superior do bloco X, o valor de predição𝐺(𝑙𝑖𝑛, 𝑐𝑜𝑙) é obtido por: 𝐺(𝑙𝑖𝑛, 𝑐𝑜𝑙) = 𝐻(𝑇(0, −1), 𝑇(−1,0), 𝑇(−1, −1)) 𝑖𝑓 𝑙𝑖𝑛 = 0 𝑎𝑛𝑑 𝑐𝑜𝑙 = 0, 𝐺(𝑙𝑖𝑛, 𝑐𝑜𝑙) = 𝐻(𝑇(𝑙𝑖𝑛, −1), 𝑃𝑘 (𝑙𝑖𝑛 − 1, 0), 𝑇(𝑙𝑖𝑛 − 1, −1)), 𝑖𝑓 𝑙𝑖𝑛 > 0 𝑎𝑛𝑑 𝑐𝑜𝑙 = 0, 𝐺(𝑙𝑖𝑛, 𝑐𝑜𝑙) = 𝐻(𝑃𝑘 (0, 𝑐𝑜𝑙 − 1), 𝑇(−1, 𝑐𝑜𝑙), 𝑇(−1, 𝑐𝑜𝑙 − 1)), 𝑖𝑓 𝑙𝑖𝑛 = 0 𝑎𝑛𝑑 𝑐𝑜𝑙 > 0, 𝐺(𝑙𝑖𝑛, 𝑐𝑜𝑙) = 𝐻(𝑃𝑘 (𝑙𝑖𝑛, 𝑐𝑜𝑙 − 1), 𝑃𝑘 (𝑙𝑖𝑛 − 1, 𝑐𝑜𝑙), 𝑃𝑘 (𝑙𝑖𝑛 − 1, 𝑐𝑜𝑙 − 1), 𝑖𝑓 𝑙𝑖𝑛 > 0 𝑎𝑛𝑑 𝑐𝑜𝑙 > 0 com 𝑇(𝑙𝑖𝑛, 𝑐𝑜𝑙) um pixel que pertence a um bloco reconstruído anteriormente,𝐻 é a função de predição local e 𝑃𝑘 (𝑥, 𝑦)é o valor de predição de um pixel 𝑋(𝑥, 𝑦) que pertence ao bloco atual X e foi corrigido anteriormente por um bloco de correção 𝑉𝑘 descrito a seguir no presente documento.
[048] No término da etapa E20, um valor de predição 𝐺(𝑙𝑖𝑛, 𝑐𝑜𝑙) é obtido para o pixel atual 𝑋(𝑙𝑖𝑛, 𝑐𝑜𝑙).
[049] Durante uma etapa E21, o valor de predição 𝐺(𝑙𝑖𝑛, 𝑐𝑜𝑙) é corrigido por meio de um valor de um bloco de correção 𝑉𝑘 para o pixel 𝑋(𝑙𝑖𝑛, 𝑐𝑜𝑙). O bloco de correção 𝑉𝑘 é um bloco de dados residuais que compreende, por exemplo, valores entre -255 e +255 quando os valores de pixels representados em 8 bits.
[050] De acordo com uma modalidade particular da invenção, o bloco de correção 𝑉𝑘 pertence a um conjunto ou dicionário de dados residuais predeterminados blocos {𝑉𝑘 }𝑘=0...𝑁 , em que N é o número de blocos do conjunto.
[051] Por exemplo, tal dicionário compreende um subconjunto de todas as possíveis combinações de valores de resíduos, sendo que o subconjunto é selecionado, por exemplo, aprendendo-se a partir de um grupo de imagens e/ou sendo transmitido com o fluxo de dados codificado.
[052] Por exemplo, considera-se nesse exemplo que os pixels da imagem são codificados em 8 bits e cada pixel de um bloco de correção pode corrigir negativa ou positivamente um valor de predição que, por si só, é representado em 8 bits. Tal pixel de um bloco de correção precisa, então, ter uma faixa dinâmica de 9 bits. Portanto, para um bloco de correção com tamanho de 8x8 pixels, por exemplo, o número de blocos possíveis é 29x64. Então, seria necessário codificar uma grande quantidade de informações para identificar o bloco de correção escolhido dentre todas as possíveis combinações de valores de resíduos. Além disso, a pesquisa para o melhor bloco de correção é muito dispendiosa em termos de computação.
[053] Na prática, os tamanhos de dicionário que compreendem, por exemplo, 32 a 512 blocos de correção para obter uma compressão ideal, isto é, um alto ganho em qualidade para transmissão de informações reduzidas. No entanto, é necessário escolher bem os blocos do dicionário de modo que tais blocos de correção representem com veracidade os blocos para fazer uma correção dos pixels do bloco atual.
[054] De acordo com o exemplo descrito no presente documento, o dicionário {𝑉𝑘 }𝑘=0...𝑁 é construído como um subconjunto de blocos de correção dentre um vasto conjunto de blocos de correção que compreende todos os possíveis blocos de correção, isto é, que compreende todas as combinações de valores de resíduos possíveis. De acordo com uma primeira variante para construir esse dicionário {𝑉𝑘 }𝑘=0...𝑁 ,uma técnica de construção clássica que usa o algoritmo Linde-Buzo-Gray (isto é, o algoritmo LBG) é usado conforme descrito em Linde, Y.; Buzo, A.; Gray, R. (1980). “An Algorithm for Vector Quantizer Design”. IEEE Transactions on Communications. 28: 84. doi:10.1109/TCOM.1980.1094577. Essa técnica usa uma sequência para aprender blocos de pixel a serem corrigidos, e um dicionário inicial, por exemplo, escolhido aleatoriamente. Essa técnica, então, itera duas etapas:
- uma primeira etapa que, para cada bloco da sequência de aprendizado, determina o melhor bloco de correção do dicionário, conforme entendido em termos de um critério predeterminado, por exemplo, a distorção gerada pelo use do bloco de correção durante a predição dos pixels do bloco atual da sequência de aprendizado. Os blocos aprendizado são divididos em classes, sendo que cada classe é o conjunto de blocos aprendizado associado a um bloco de correção do dicionário. - para cada classe, um novo bloco de correção é determinado de modo que esse bloco aprimore o critério predeterminado para a dita classe. Em seguida, o bloco de dicionário associado à classe é substituído por esse novo bloco.
[055] Outros métodos conhecidos pela pessoa versada na técnica para construir um dicionário de quantificação são possíveis, tal como, por exemplo, a abordagem “Pairwise Nearest Neighbor” descrita em “Vector Quantization and Signal Compression” por Allen Gersho e Robert M. Gray, The Springer International Series in Engineering e Computer Science Series Volume 159 Springer US.
[056] De preferência, o bloco de correção 𝑉𝑘 tem um tamanho idêntico ao do bloco atual.
[057] Em uma modalidade particular da invenção, um mesmo bloco de correção é usado para todos os pixels do bloco atual.
[058] Durante a etapa E21, o valor do bloco de correção 𝑉𝑘 (𝑙𝑖𝑛, 𝑐𝑜𝑙) é adicionado ao valor de predição 𝐺(𝑙𝑖𝑛, 𝑐𝑜𝑙) obtido para o pixel 𝑋(𝑙𝑖𝑛, 𝑐𝑜𝑙), para conter o valor de predição corrigido 𝑃𝑘 (𝑙𝑖𝑛, 𝑐𝑜𝑙) do pixel 𝑋(𝑙𝑖𝑛, 𝑐𝑜𝑙): 𝑃𝑘 (𝑙𝑖𝑛, 𝑐𝑜𝑙) = 𝐺(𝑙𝑖𝑛, 𝑐𝑜𝑙) + 𝑉𝑘 (𝑙𝑖𝑛, 𝑐𝑜𝑙) .
[059] Durante uma etapa E22, verifica-se se todos os pixels do bloco atual foram previstos. Caso seja esse o caso (Y na Figura 2), um bloco preditivo b pred associado ao bloco de correção 𝑉𝑘 que compreende, para cada pixel 𝑋(𝑙𝑖𝑛, 𝑐𝑜𝑙) , um valor de predição corrigida 𝑃𝑘 (𝑙𝑖𝑛, 𝑐𝑜𝑙) está disponível para codificar ou reconstruir o bloco atual. Do contrário (N na Figura 2), a operação passa para a predição do próximo pixel do bloco atual iterando-se as etapas E20 e E21 para o próximo pixel.
5.3 MÉTODO DE CODIFICAÇÃO
[060] A Figura 4 apresenta as etapas do método para codificar uma sequência de imagens I1, I2, ..., INb a serem codificadas na forma de um fluxo de dados codificado STR de acordo com uma modalidade particular da invenção. Por exemplo, tal método de codificação é implantado por um dispositivo de codificação, conforme descrito com referência à Figura 6.
[061] Uma sequência de imagem I1, I2, ..., INb, em que Nb é o número de imagens da sequência a ser codificada, é fornecida na entrada ao método de codificação. O método de codificação emite um fluxo de dados codificado STR que representa a sequência de imagens fornecida na entrada.
[062] De maneira conhecida, a codificação da sequência de imagens I1, I2, ..., INb é feita a cada imagem de acordo com uma ordem de codificação que é predefinida e conhecida pelo decodificador. Por exemplo, as imagens podem ser codificadas na ordem temporal I1, I2, ..., INb ou de acordo com qualquer outra ordem, por exemplo, I1,I3, I2, ..., INb.
[063] Em uma etapa E0, uma imagem Ij a ser codificada da sequência de imagens I1,I2, ..., INb é subdividida em blocos, por exemplo, os blocos de tamanho de 32x32 ou 64x64 pixels ou mais. Tal bloco pode ser subdividido em sub-blocos quadrados ou retangulares, por exemplo, com tamanho 16x16, 8x8, 4x4, 16x8, 8x16 etc.
[064] Em seguida, durante a etapa E0, um bloco ou sub-bloco X a ser codificado de uma imagem Ij(1≤j≤Nb) é selecionado de acordo com uma direção predeterminada de varredura da imagem Ij.
[065] Supõe-se no presente documento que o bloco X é codificado de acordo com um modo de intracodificação. Dentre os modos de intracodificação disponíveis, supõe-se que o bloco X pode ser codificado por meio de um modo de intracodificação clássico, por exemplo, de acordo com um modo de intracodificação definido no padrão HEVC descrito em “Overview of the High Efficiency Video Coding (HEVC) Standard”, G.-J. Sullivan, J.-R. Ohm, W.-J. Han, T. Wiegand, IEEE Transactions on Circuits e Systems for Video Technology, dezembro de 2012, ou, de outro modo, por meio de intracodificação com o uso de uma predição, conforme descrito acima no presente documento com referência ás Figuras 2 e 3. O método de codificação descrito no presente documento se aplica evidentemente a outros modos de intrapredição disponíveis para codificar o bloco atual X e não se limita apenas aos modos de intracodificação descritos no padrão HEVC.
[066] De acordo com a modalidade particular descrita no presente documento, o melhor modo de intracodificação para o bloco X será selecionado por meio de custos de taxa de bits/distorção associados a cada modo de intracodificação.
[067] Durante a etapa E10, o melhor intramodo clássico para codificar o bloco X é determinado. A intrapredição clássica consiste em prever o conjunto de pixels X(lin,col) do bloco atual por pixels reconstruídos anteriormente T(lin,col), em que lin representa o índice na imagem da linha dos pixels em relação ao canto esquerdo superior do bloco X e col representa o índice na imagem da coluna dos pixels em relação ao canto esquerdo superior do bloco X, conforme ilustrado na Figura 1. Os pixels reconstruídos anteriormente T(lin,col) são interpolados por uma função de interpolação escolhida de um conjunto de funções {Fm} em que o valor de m está em uma faixa de 0 a M-1, em que M é o número de intramodos para cada pixel X(lin,col), o valor predito P(lin,col) é fornecido por P(lin,col) = Fm(T,lin,col), em que m é o índice do modo de intrapredição.
[068] Desse modo, de acordo com o padrão HEVC, o modo M=1 consiste em atribuir cada pixel predito P(lin,col) o valor médio dos pixels reconstruídos anteriormente T(lin,col). Os modos indexados m>1 são interpolações direcionais em 33 diferentes direções dos pixels T(lin,col) anteriormente reconstruídas.
[069] Durante a etapa E10, é determinada a melhor predição possível dentre os modos de intrapredição clássica m, m=0,M-1.
[070] Para essa finalidade, para cada modo de predição m em uma faixa de 0 a M-1: - durante a subetapa E101, o bloco preditivo P m é construído aplicando-se a função de predição correspondente a cada pixel do bloco atual X: Pm(lin,col) = Fm(T, lin, col),
- durante a subetapa E102, o resíduo de predição Res m do bloco atual X para o modo m é computado para cada pixel do bloco atual X, por Resm(lin, col) =X(lin, col) - Pm(lin,col), - classicamente, durante uma subetapa E103, o resíduo de predição é transformado, por exemplo, por uma transformada de DCT, e quantificado, entregando coeficientes quantificados Resqm, e um custo de codificação Rm associado ao modo de intrapredição m é estimado dos coeficientes quantificados Resqm e do custo para sinalizar o modo de intrapredição m, - durante uma subetapa E104, o resíduo de predição Resrecm é reconstruído por quantificação inversa e transformada inversa dos coeficientes quantificados Resqm, - durante a subetapa E105, o bloco atual Xrecm é reconstruído por Xrecm=Resrecm+Pm, - durante a subetapa E106, a distorção Dm entre o bloco atual X e o bloco atual reconstruído Xrecm associado ao modo de predição intra m é computado: Dm=Dist(X, Xrecm), com Dist que representam uma função de erro, por exemplo, uma função de erro quadrática, e o custo de taxa de bits/distorção associado ao modo de intrapredição m é computado: Jm=Rm+𝜆 ×Dm.
[071] Durante a subetapa E107, o módulo de predição n que fornece o custo ais baixo de taxa de bits/distorção Jn dentre todos os custos de taxa de bits/distorção Jm associados ao modo de predição m de 0 a M-1 é selecionado como o melhor modo de intrapredição clássico. O modo de predição n, as partes de informações codificadas ao resíduo Resqn e o bloco atual reconstruído Xrecm são armazenados para a parte subsequente da operação.
[072] Durante a etapa E11, o custo de codificar um modo de intrapredição, conforme descrito com referência às Figuras 2 e 3, é determinado a fim de ser comparado subsequentemente como melhor modo de intrapredição clássica. A título de clareza, o modo de intrapredição conforme descrito com referência às Figuras 2 e 3 será denominado “modo com predição corrigida”.
[073] Durante a etapa E11, é determinado o bloco de correção V b que fornece uma codificação do bloco atual X para a qual o custo de taxa de bits/distorção de acordo com o modo de predição corrigido é o mais baixo. Para essa finalidade, para cada bloco de correção Vk do conjunto de blocos de correção k que está em uma faixa de 0 a N-1, as seguintes subetapas são implantadas: - durante uma subetapa E111, o bloco preditivo P k associado ao bloco de correção Vk é construído implantando-se as etapas 20 a 22 descritas com referência à Figura 2, - durante a subetapa E112, o resíduo de predição Res k do bloco atual X para o bloco de correção Vk é computado para cada pixel do bloco atual X, por Resk(lin, col) =X(lin, col) - Pk(lin,col). - durante a subetapa E113, o resíduo de predição é transformando, por exemplo, por uma transformada de DCT e quantificado entregando coeficientes quantificados Resqk, e o custo de codificação Rk associado ao bloco de correção Vk é estimado a partir dos coeficientes quantificados e do custo de sinalização do bloco de correção Vk. Por exemplo, o bloco de correção Vk é sinalizado ao decodificador pela codificação do índice do bloco de correção Vk dentre o conjunto de blocos de correção, - durante uma subetapa E114, o resíduo de predição Resreck é reconstruído por quantificação inversa e transformada inversa dos coeficientes quantificados Res qk, - durante uma subetapa E115, o bloco atual Xrec é reconstruído por Xreck=Resreck+Pk, - durante uma subetapa E116, a distorção Dk entre o bloco atual X e o bloco atual reconstruído Xreck associado ao bloco de correção Vk é computada: Dk=Dist(X,Xreck), em que Dist é uma função de erro, por exemplo, uma função de erro quadrática, e o custo de taxa de bits/distorção associado ao bloco de correção Vk é computado: Jk=Rk+𝜆 ×Dk.
[074] Durante uma subetapa E117, o bloco de correção V b que fornece o custo mais baixo de taxa de bits/distorção Jk associado ao bloco de correção Vk, em que k é um valor que está em uma faixa de 0 a N-1, é selecionado como o melhor bloco de correção. O índice do bloco de correção Vb e as informações associadas ao resíduo de predição Resb são armazenados para a parte subsequente da operação.
[075] Durante uma etapa E12, os custos de taxa de bits/distorção Jn e Jb dos dois modos de predição obtidas respectivamente durante a etapa E10 e durante a etapa E11 são comparadas e o bloco atual X é codificado de acordo com o modo de intrapredição que fornece o custo mais baixo de taxa de bits/distorção.
[076] Durante a etapa E12, uma parte de informações (TY) que indica o tipo de modo de intrapredição é codificado no fluxo de dados STR, conforme ilustrado nas Figuras 8A e 8B. Tal parte de informações indica se o bloco atual X é codificado de acordo com um modo de intrapredição clássico, isto é, um modo de predição com o uso de apenas pixels que pertencem a blocos reconstruídos anteriormente da imagem ou se o bloco atual X é codificado de acordo com um modo com predição corrigida, isto é, um modo de predição que usa pelo menos um pixel corrigido anteriormente do bloco atual X.
[077] Caso seja determinado durante a etapa E12 que o melhor modo de intrapredição para codificar o bloco atual X é o modo de intrapredição clássica n, em seguida, durante a etapa E13, o modo de predição n é codificado no fluxo de dados codificado STR e os coeficientes quantificados Resqn obtidos para esse modo de predição n são codificados no fluxo de dados codificado STR por um módulo de codificação entrópico, por exemplo, um codificador CABAC descrito em D. Marpe, H. Schwarz, T. Wiegand, “Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard” IEEE Transactions on Circuits e Systems for Video Technology (Volume:13, Edição: 7 ), páginas 620 a 636, julho de 2003.
[078] Caso seja determinado durante a etapa E12 que o melhor modo de intrapredição para codificar o bloco atual X é o modo com predição corrigida com ouso do bloco de correção Vb, em seguida, durante a etapa E13, uma parte de informações que representa o bloco de correção Vb é codificado no fluxo de dados codificado STR, por exemplo, o índice “b” do bloco de correção Vb no dicionário de blocos de correção. Tal índice é codificado, por exemplo, por um código com comprimento fixo ou variável.
Em seguida, os coeficientes quantificados Resqb obtidos durante a etapa E113 para o bloco de correção Vb são codificados no fluxo de dados codificado STR por um módulo de codificação entrópico, por exemplo, um codificador CABAC. Um exemplo de um sinal que resulta da codificação do bloco atual X de acordo com o modo com a predição corrigida é ilustrado na Figura 8A.
[079] De acordo com uma modalidade particular da invenção, uma parte de informações representativa da função de predição local 𝐻(𝐴𝑖, 𝐵𝑖, 𝐶𝑖, ) usada para o modo com predição corrigida é codificada no fluxo de dados codificado STR conforme ilustrado na Figura 8B. De acordo com essa modalidade particular da invenção, tal parte de informações pode ser codificada no nível de imagem. Desse modo, a mesma função de predição local é usada para todos os blocos da imagem quando os mesmos são codificados de acordo com o modo com predição corrigida. De outro modo, tal parte de informações pode ser codificada a nível do bloco e, em seguida, a função de predição local pode ser adaptada para cada bloco e a função de predição local que fornece o melhor custo de taxa de bits/distorção pode ser selecionada.
[080] Em uma etapa E14, verifica-se que todos os blocos da imagem a serem codificados Ij foram codificados. Em caso negativo (N), o método de codificação retorna à etapa E10 prosseguindo-se para a seleção do próximo bloco de acordo com uma varredura predeterminada da imagem a ser codificada.
[081] Caso todos os blocos da imagem tenham sido processados, em seguida, em uma etapa E15, uma imagem Ijrec é reconstruída a partir dos blocos reconstruídos Xrec da imagem e salvos em uma lista de imagens de referência a ser usada subsequentemente como uma referência durante a codificação das imagens a seguir da sequência de imagens. Em seguida, o método de codificação retorna para a etapa E0 a fim de produzir as imagens a seguir da sequência de imagens de acordo com a ordem de codificação.
5.4 MÉTODO DE DECODIFICAÇÃO
[082] A Figura 5 apresenta as etapas de um método para decodificar um fluxo STR de dados codificados que representam uma sequência de imagens I 1, I2, ..., INb a ser decodificada de acordo com uma modalidade particular da invenção.
[083] Por exemplo, o fluxo de dados STR pode ser gerado através do método de codificação apresentado com referência à Figura 4. O fluxo de dados STR é fornecido em uma entrada de um dispositivo de decodificação DEC, conforme descrito com referência à Figura 7.
[084] O método de decodificação realiza a decodificação do fluxo a cada imagem, e cada imagem é decodificada a cada bloco.
[085] Para um bloco X de uma imagem a ser reconstruída, durante a etapa E50, os dados do fluxo de dados STR correspondentes ao bloco X são decodificados por um módulo de decodificação entrópico para fornecer, por um lado, elementos sintéticos em relação ao modo de codificação para o bloco atual X e, por outro lado, os coeficientes dos resíduos de predição Resqb do bloco atual X.
[086] De acordo com uma modalidade particular da invenção, os elementos sintéticos decodificados compreendem, a saber, uma parte de informações (TY) que indica se o bloco atual X é codificado de acordo com um modo de intrapredição clássica, isto é, um modo de predição com o uso apenas de pixels que pertencem a blocos reconstruídos anteriormente da imagem ou se o bloco atual X é codificado de acordo com um modo de predição corrigido, isto é, um modo de predição que usa pelo menos um pixel corrigido anteriormente do bloco atual X.
[087] Supõe-se que o bloco atual X é codificado de acordo com m modo com predição corrigida.
[088] Os elementos sintéticos decodificados durante a etapa E50 também compreende uma parte de informações “b” que representa um bloco de correção V b que pertence a um dicionário de blocos de correção disponível no decodificador DEC.
[089] Em uma etapa E501, o bloco de correção Vb é determinado a partir das informações decodificadas “b”. O bloco de correção Vb é identificado dentre os blocos de correção do dicionário disponíveis no decodificador DEC. Por exemplo, tais blocos de correção são armazenados em uma memória do decodificador DEC.
[090] Em uma etapa E51, os coeficientes de resíduos de predição do bloco X são submetidos a uma quantificação inversa e, em seguida, uma transformada inversa para fornecer um resíduo de predição decodificado Resqbrec.
[091] Em uma etapa E52, um bloco preditivo Pb associado ao bloco de correção Vb é construído implantando-se as etapas 20 a 22 descritas com referência à Figura
2.
[092] De acordo com uma modalidade particular da invenção, os elementos sintéticos decodificados durante a etapa E50 também compreendem uma parte de informações que representa uma função de predição local 𝐻(𝐴𝑖, 𝐵𝑖, 𝐶𝑖, ) usada para o modo com predição corrigida. Tal parte de informações pode ser decodificada no nível dos elementos sintéticos de imagem ou para o bloco atual X. Tal parte de informações que representa uma função de predição local 𝐻(𝐴𝑖, 𝐵𝑖, 𝐶𝑖, ) pode ser um índice de uma função dentre uma lista de predição funções conhecidas pelo codificador e pelo decodificador. De acordo com essa modalidade particular da invenção, a função de predição local decodificada 𝐻(𝐴𝑖, 𝐵𝑖, 𝐶𝑖, ) d fluxo de dados codificado STR é usada pelo método para determinar um bloco preditivo descrito com referência à Figura 2 durante a etapa E52.
[093] Durante a etapa E53, o bloco atual Xrec é reconstruído adicionando-se a um bloco preditivo Pb associado ao bloco de correção Vb o resíduo de predição Resqbrec associado ao bloco atual X que foi decodificado a partir do fluxo de dados codificado STR.
[094] Em uma etapa E54, verifica-se que todos os blocos da imagem a serem decodificados foram decodificados e reconstruídos. Em caso negativo (N), o método de decodificação continua na etapa E50 a realização da seleção do próximo bloco de acordo com uma varredura predeterminada da imagem a ser decodificada.
[095] Caso todos os blocos da imagem tenham sido processados (Y), então, em uma etapa E55, uma imagem Ikrec é reconstruída a partir dos blocos reconstruídos Xrec e salvos em uma lista de imagens de referência a ser usada subsequentemente como referências durante a decodificação das imagens a seguir na sequência de imagens.
[096] Os métodos de codificação e de decodificação acima no presente documento podem ser integrados em codificadores/decodificadores de vídeo padrão, tais como dispositivos com o uso dos padrões H.266, HEVC/H.265, AVC/H.264 ou qualquer tipo de codificador/decodificador de vídeo proprietário. Os métodos de codificação e de decodificação, de acordo com a invenção também se aplicam a todos os tipos de codificadores/decodificadores de imagem fixos e, de modo mais geral, codificadores/decodificadores de sinal com o uso de uma codificação preditiva em blocos.
[097] Os métodos de codificação e de decodificação forma descritos no presente documento acima no caso de codificação em blocos espacial (intracodificação de uma imagem). Esses métodos se aplicam facilmente no caso de imagens codificadas de acordo com outros tipos de modos de codificação, por exemplo, modos de intercodificação, nos quais apenas determinados blocos podem ser codificados por predição espacial.
5.5 DISPOSITIVO DE CODIFICAÇÃO
[098] A Figura 6 representa a estrutura simplificada de um dispositivo de codificação COD adaptado para implantar o método de codificação, de acordo com qualquer uma das modalidades particulares da invenção.
[099] De acordo com uma modalidade particular da invenção, as etapas do método de codificação são implantadas por instruções de programa de computador. Com essa finalidade, o dispositivo de codificação COD tem a arquitetura clássica de um computador e compreende especialmente uma memória MEM, uma unidade de processamento UT, equipadas, por exemplo, com um processador PROC e gerenciadas pelo programa de computador PG armazenado na memória MEM. O programa de computador PG compreende instruções para implantar as etapas do método de codificação conforme descrito no presente documento acima quando o programa é executado pelo processador PROC.
[0100] Na inicialização, as instruções de código de programa de computador PG são, por exemplo, carregadas em uma memória RAM e, em seguida, executadas pelo processador PROC. O processador PROC da unidade de processamento UT implanta, a saber, as etapas do método de codificação descritas no presente documento acima de acordo com as instruções do programa de computador PG.
[0101] De acordo com outra modalidade particular da invenção, o método de codificação é implantado por módulos funcionais. Com essa finalidade, o dispositivo de codificação COD compreende adicionalmente: - um módulo de predição PRED configurado para determinar um bloco preditivo para um bloco atual de uma imagem a ser codificada, sendo que o módulo de predição PRED também é configurado para o seguinte: ○ para pelo menos um primeiro pixel do bloco atual: ▪ obter um valor de predição do dito primeiro pixel a partir de pelo menos um pixel de um bloco reconstruído anteriormente da imagem, ▪ corrigir o primeiro pixel adicionando-se pelo menos um valor de um pixel de um bloco denominado de um bloco de correção ao valor de predição obtido para o dito primeiro pixel, ○ para pelo menos um pixel do bloco atual: ▪ obter um valor de predição do dito bloco atual a partir de pelo menos um pixel corrigido anteriormente do bloco atual, ▪ corrigir o dito pixel atual adicionando-se pelo menos um valor de um pixel do dito bloco atual ao valor de predição obtido para o pixel atual, - um módulo de codificação CD adaptado para a codificação, no fluxo de dados, de pelo menos uma parte de informações que representa o dito bloco de correção e um bloco residual computado do dito bloco atual e o dito bloco preditivo determinado.
[0102] A unidade de processamento UT é configurada para computar o bloco residual do bloco atual e do bloco preditivo determinado.
[0103] A unidade de processamento UT coopera com os diferentes módulos funcionais descritos no presente documento acima e com a memória MEM a fim de implantar as etapas do método de codificação.
[0104] Os diferentes módulos funcionais descritos acima podem estar na forma de hardware e/ou em forma de software. Na forma de hardware, tal módulo funcional pode incluir um processador, uma memória e instruções de código de programa para implantar a função corresponde ao módulo quando as instruções de código são executadas pelo processador. Em forma de hardware, tal módulo funcional pode ser implantado por qualquer tipo de circuito de codificação adaptado, tal como, por exemplo, e de maneira não exaustiva, microprocessadores, processadores de sinal digital (DSPs), circuitos integrados de aplicações específicas (ASICs), circuitos de arranjos de porta programáveis em campo (FPGA), um cabeamento de unidades lógicas etc.
5.6 DISPOSITIVO DE DECODIFICAÇÃO
[0105] A Figura 7 representa a estrutura simplificada de um dispositivo de decodificação DEC adaptada para implantar o método de decodificação de acordo com qualquer uma dentre as modalidades particulares da invenção.
[0106] De acordo com uma modalidade particular da invenção, o dispositivo de decodificação DEC tem a arquitetura clássica de um computador e compreende, a saber, uma memória MEM0, uma unidade de processamento UT0, equipada, por exemplo, com um processador PROC0 e gerenciada pelo programa de computador PG0 armazenado na memória MEM0. O programa de computador PG0 compreende instruções para implantar as etapas do método de decodificação, conforme descrito no presente documento acima, quando o programa é executado pelo processador PROC0.
[0107] Na inicialização, as instruções de código de programa de computador PG0 são, por exemplo, carregadas em uma memória RAM e, em seguida, executadas pelo processador PROC0. O processador PROC0 da unidade de processamento UT0 implanta, a saber, as etapas do método de decodificação descritas no presente documento acima, de acordo com as instruções do programa de computador PG0.
[0108] De acordo com outra modalidade particular da invenção, o método de decodificação é implantado por módulos funcionais. Com essa finalidade, o dispositivo de decodificação DEC compreende adicionalmente:
- módulo de decodificação DC configurado, para pelo menos um bloco atual de uma imagem a ser reconstruída, para decodificar pelo menos uma parte de informações que representa um bloco, denominado de bloco de correção e um bloco residual do fluxo de dados codificado. - um módulo de determinação DET configurado para determinar o bloco de correção da parte de informações decodificações, - um módulo de predição PRED0 configurado para determinar um bloco preditivo do bloco atual, sendo que o módulo de predição PRED0 é configurado: ○ para pelo menos um primeiro pixel do bloco atual: ▪ para obter um valor de predição do dito primeiro pixel a partir de pelo menos um pixel de um bloco reconstruído anteriormente da imagem, ▪ corrigir o primeiro pixel adicionando-se, ao valor de predição obtido para o dito primeiro pixel, pelo menos um valor de um pixel do bloco de correção, ○ para pelo menos um pixel atual do bloco atual, distinto do primeiro pixel, ▪ obter um valor de predição do dito pixel atual a partir de pelo menos um pixel corrigido anteriormente do bloco atual, ○ corrigir o dito pixel atual adicionando-se ao valor de predição obtido para o pixel atual pelo menos um valor de um pixel do bloco de correção, - um módulo de reconstrução REC adaptado para reconstruir o dito bloco atual do bloco preditivo e o bloco residual.
[0109] A unidade de processamento UT0 coopera com os diferentes módulos funcionais descritos no presente contexto acima e a memória MEM0 a fim de implantar as etapas do método de decodificação.
[0110] Os diferentes módulos funcionais descritos acima podem estar na forma de hardware e/ou na forma de software. Em forma de software, tal módulo funcional pode incluir um processador, uma memória e instruções de código de programa para implantar a função corresponde ao módulo quando as instruções de código são executadas pelo processador. Em forma de hardware, tal módulo pode ser implantado por qualquer tipo de circuitos de decodificação adaptados, tais como, por exemplo,
não exaustivamente, microprocessadores, processadores de sinal digital, circuitos integrados de aplicações específicas (ASICs), arranjos de porta programáveis em campo (FPGAs), um cabeamento de unidades lógicas.

Claims (13)

REIVINDICAÇÕES
1. Método para decodificar um fluxo de dados codificado que representa pelo menos uma imagem, sendo que a dita imagem é subdividida em blocos, sendo que o método de decodificação é caracterizado por compreender as seguintes etapas para pelo menos um bloco da imagem denominado de bloco atual: - decodificar (E50), a partir do fluxo de dados codificado, pelo menos uma parte de informações que representam um bloco, denominado de bloco de correção e um bloco residual, - determinar o bloco de correção a partir das informações decodificadas, - determinar (E52) um bloco preditivo para predizer o bloco atual que compreende: para pelo menos um primeiro pixel do bloco atual: - obter (E20) um valor de predição do dito primeiro pixel de pelo menos um pixel de um bloco reconstruído anteriormente da imagem, - corrigir (21) o dito primeiro pixel adicionando-se, ao valor de predição obtido para o primeiro pixel, pelo menos um valor de um pixel do bloco de correção, para pelo menos um pixel atual do bloco atual, distinto do primeiro pixel: - obter (E20) um valor de predição do dito pixel atual de pelo menos um pixel corrigido anteriormente do bloco atual, - corrigir (E21) o dito pixel atual adicionando-se ao dito valor de predição obtido para o pixel atual, pelo menos um valor de um pixel do bloco de correção, - reconstruir (E43) o dito bloco atual do bloco preditivo e do bloco residual decodificado.
2. Método para codificar pelo menos uma imagem na forma de um fluxo de dados codificado, sendo que a dita imagem é subdividida em blocos,
sendo que o método de codificação é caracterizado por compreender as seguintes etapas para que pelo menos um bloco da imagem seja codificado, denominado de bloco atual: - determinar (E111) um bloco preditivo para predizer o bloco atual que compreende: - para pelo menos um primeiro pixel do bloco atual: - obter (E20) um valor de predição do dito primeiro pixel de pelo menos um pixel de um bloco reconstruído anteriormente da imagem, - corrigir (E21) dito primeiro pixel adicionando-se, ao valor de predição obtido para o dito primeiro pixel, pelo menos um valor de um pixel de um bloco, denominado de um bloco de correção, - para pelo menos um pixel atual do bloco atual, distinto do primeiro pixel: - obter (E20) um valor de predição para o dito pixel atual de pelo menos um pixel corrigido anteriormente do bloco atual, - corrigir (E21) o dito pixel atual adicionando-se ao dito valor de predição obtido para o pixel atual, pelo menos um valor de um pixel do dito bloco de correção, - codificação (13) no fluxo de dados, de pelo menos uma parte de informações que representa o dito bloco de correção, - computar um bloco residual do dito bloco atual e o dito bloco preditivo determinado, - codificação do dito bloco residual no fluxo de dados.
3. Método, de acordo com qualquer uma das reivindicações 1 ou 2, caracterizado por o bloco de correção compreender dados residuais predeterminados.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado por o bloco de correção pertencer a um conjunto de blocos de dados predeterminados, sendo que a dita pelo menos uma parte de informações que representa o dito bloco de correção que possibilita a identificação do dito bloco de correção dentre os blocos do conjunto.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado por o valor de predição do pixel atual ser obtido de pelo menos um pixel corrigido anteriormente do bloco atual como uma função de uma função de predição local aplicada ao pixel situado acima do pixel atual, ao pixel situado à esquerda do pixel atual e ao pixel situado no top esquerda do pixel atual.
6. Método, de acordo com a reivindicação 5, caracterizado por uma parte de informações que representa a função de predição local ser codificada no fluxo de dados codificado ou decodificada a partir do mesmo.
7. Método, de acordo com qualquer uma das reivindicações 1 a 6, caracterizado por o fluxo de dados codificado compreender, para o bloco atual, uma parte de informações que indica se o bloco atual é codificado de acordo com um modo de predição usando apenas pixels que pertencem a blocos reconstruídos anteriormente da imagem ou se o bloco atual é codificado de acordo com um modo de predição usando pelo menos um pixel corrigido anteriormente do bloco atual.
8. Dispositivo de decodificação (DEC) para decodificar um fluxo de dados codificado que representa pelo menos uma imagem, sendo que a dita imagem é subdividida em blocos, sendo que o dispositivo de decodificação é caracterizado por compreender, para pelo menos um bloco da imagem denominado de bloco atual: - um módulo de decodificação (DC) adaptado para decodificar, a partir do fluxo de dados codificado, pelo menos uma parte de informações que representa um bloco denominado de bloco de correção e um bloco residual, - um módulo de determinação (DET) adaptado para determinar o bloco de correção das informações decodificadas, - um módulo de predição (PRED0) adaptado para determinar um bloco preditivo para predizer o bloco atual, sendo que o módulo de predição também é adaptado para: - para pelo menos um primeiro pixel do bloco atual:
- obter um valor de predição do dito primeiro pixel a partir de pelo menos um pixel de um bloco reconstruído anteriormente da imagem, - corrigir o primeiro pixel adicionando-se, ao valor de predição obtido para o primeiro pixel, pelo menos um valor de um pixel do bloco de correção, - para pelo menos um pixel atual do bloco atual, distinto do primeiro pixel, - obter um valor de predição do dito pixel atual a partir de pelo menos um pixel corrigido anteriormente do bloco atual, - corrigir (E21) o dito pixel atual adicionando-se ao dito valor de predição obtido para o pixel atual, pelo menos um valor de um pixel do bloco de correção, - um módulo de reconstrução (REC) adaptado para reconstruir o dito bloco atual com base no bloco preditivo e do bloco residual decodificado.
9. Dispositivo para codificar (COD) pelo menos uma imagem na forma de um fluxo de dados codificado, em que a dita imagem é subdividida em blocos, sendo que o dispositivo de codificação é caracterizado por compreender, para que pelo menos um bloco da imagem seja codificado, denominado de bloco atual: - um módulo de predição (PRED) adaptado para determinar um bloco preditivo para predizer o bloco atual, sendo que o módulo de predição também é adaptado para: - para pelo menos um primeiro pixel do bloco atual: - obter um valor de predição do dito primeiro pixel com base pelo menos em um pixel de um bloco reconstruído anteriormente da imagem, - corrigir o primeiro pixel adicionando-se ao valor de predição obtido para o dito primeiro pixel, pelo menos um valor de um pixel de um bloco, denominado de bloco de correção, - para pelo menos um pixel atual do bloco atual, - obter um valor de predição para o dito pixel atual a partir de pelo menos um pixel corrigido anteriormente do bloco atual,
- corrigir o dito pixel atual adicionando-se ao valor de predição obtido para o pixel atual pelo menos um valor de um pixel do dito bloco de correção, - um módulo de codificação (CD) adaptado para codificação, no fluxo de dados, de pelo menos uma parte de informações que representa o dito bloco de correção e um bloco residual computado do dito bloco atual e o dito bloco preditivo determinado.
10. Programa de computador caracterizado por compreender instruções para a implantação de um método de decodificação, como definido em qualquer uma das reivindicações 1 ou 3 a 7, quando o programa é executado por um processador.
11. Programa de computador caracterizado por compreender instruções para a implantação de um método de codificação, como definido em qualquer uma das reivindicações 2 a 7, quando o programa é executado por um processador.
12. Sinal que compreende dados codificados que representam pelo menos uma imagem, sendo que a dita imagem é subdividida em blocos, sendo que o sinal é caracterizado por compreender, para pelo menos um bloco da imagem denominado de bloco atual: - pelo menos uma parte de informações (b) que representa um bloco, denominado de bloco de correção, pelo menos um primeiro pixel do bloco atual que é codificado de pelo menos um valor de um pixel do bloco de correção e um valor de predição obtido para o dito primeiro pixel de pelo menos um pixel de um bloco reconstruído anteriormente da imagem, e pelo menos um pixel atual do bloco atual que é codificado a partir de pelo menos um valor de um pixel do bloco de correção e de um valor de predição obtido para o dito pixel atual de pelo menos um pixel corrigido anteriormente do bloco atual que entrega um bloco preditivo para o bloco atual, - pelo menos uma parte de informações (Resqb) que representa um bloco residual computado a partir do bloco atual e do bloco preditivo.
13. Sinal, de acordo com a reivindicação 12, caracterizado por compreender adicionalmente, para o bloco atual, uma parte de informações (TY) que indica se o bloco atual é codificado de acordo com um modo de predição com o uso apenas de pixels que pertencem a blocos reconstruídos anteriormente da imagem ou se o bloco atual é codificado de acordo com um modo de predição com o uso de pelo menos um pixel corrigido anteriormente do bloco atual.
BR112019025108-1A 2017-05-29 2018-05-18 Método para decodificar um fluxo de dados codificado, método para codificar pelo menos uma imagem na forma de um fluxo de dados codificado, dispositivo de decodificação, dispositivo para codificar, programa de computador e sinal que compreende dados codificados BR112019025108A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1754688 2017-05-29
FR1754688A FR3066873A1 (fr) 2017-05-29 2017-05-29 Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image
PCT/FR2018/051210 WO2018220311A1 (fr) 2017-05-29 2018-05-18 Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image

Publications (1)

Publication Number Publication Date
BR112019025108A2 true BR112019025108A2 (pt) 2020-06-23

Family

ID=59297119

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019025108-1A BR112019025108A2 (pt) 2017-05-29 2018-05-18 Método para decodificar um fluxo de dados codificado, método para codificar pelo menos uma imagem na forma de um fluxo de dados codificado, dispositivo de decodificação, dispositivo para codificar, programa de computador e sinal que compreende dados codificados

Country Status (9)

Country Link
US (2) US11245924B2 (pt)
EP (2) EP3941045A1 (pt)
JP (1) JP7274427B2 (pt)
KR (1) KR102532484B1 (pt)
CN (2) CN117544784A (pt)
BR (1) BR112019025108A2 (pt)
ES (1) ES2902766T3 (pt)
FR (1) FR3066873A1 (pt)
WO (1) WO2018220311A1 (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3066873A1 (fr) * 2017-05-29 2018-11-30 Orange Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image
FR3092719A1 (fr) * 2019-02-07 2020-08-14 Orange Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image.

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005002233A1 (en) * 2003-06-27 2005-01-06 Koninklijke Philips Electronics N.V. Method of encoding for handheld apparatuses
US7953152B1 (en) * 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
US7707213B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location
US7707214B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location with indirect addressing
KR101455647B1 (ko) * 2007-09-14 2014-10-28 삼성전자주식회사 컬러 기반으로 예측 값을 보정하는 방법 및 장치, 이것을이용한 이미지 압축/복원 방법과 장치
KR101364195B1 (ko) * 2008-06-26 2014-02-21 에스케이텔레콤 주식회사 움직임벡터 부호화/복호화 방법 및 그 장치
FR2958489A1 (fr) * 2010-04-02 2011-10-07 Thomson Licensing Procede de codage et procede de reconstruction d'un bloc d'une sequence d'images
WO2012008037A1 (ja) * 2010-07-15 2012-01-19 富士通株式会社 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法
WO2012035640A1 (ja) * 2010-09-16 2012-03-22 株式会社 東芝 動画像符号化方法及び動画像復号化方法
CN103650496B (zh) * 2011-07-12 2018-09-21 华为技术有限公司 用于在hevc中编码的基于像素的帧内预测
KR101979379B1 (ko) * 2011-08-25 2019-05-17 삼성전자주식회사 영상의 부호화 방법 및 장치, 및 영상의 복호화 방법 및 장치
US9253508B2 (en) * 2011-11-04 2016-02-02 Futurewei Technologies, Inc. Differential pulse code modulation intra prediction for high efficiency video coding
CN110868588B (zh) * 2012-01-18 2023-09-15 韩国电子通信研究院 视频解码装置、视频编码装置和计算机可读记录介质
CN103650498B (zh) * 2012-06-04 2018-01-05 太阳专利托管公司 运动图像解码方法及运动图像解码装置
JP5841670B2 (ja) * 2012-09-28 2016-01-13 日本電信電話株式会社 イントラ予測符号化方法、イントラ予測復号方法、イントラ予測符号化装置、イントラ予測復号装置、それらのプログラム並びにプログラムを記録した記録媒体
US11323747B2 (en) * 2013-06-05 2022-05-03 Qualcomm Incorporated Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
JP6315911B2 (ja) * 2013-07-09 2018-04-25 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
FR3012714A1 (fr) * 2013-10-25 2015-05-01 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
AU2014201583A1 (en) * 2014-03-14 2015-10-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data using a block dictionary
FR3024933A1 (fr) * 2014-08-12 2016-02-19 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
WO2016182266A1 (ko) * 2015-05-12 2016-11-17 삼성전자 주식회사 영상의 부호화, 복호화 방법 및 장치
KR20170108367A (ko) * 2016-03-17 2017-09-27 세종대학교산학협력단 인트라 예측 기반의 비디오 신호 처리 방법 및 장치
US10701366B2 (en) * 2017-02-21 2020-06-30 Qualcomm Incorporated Deriving motion vector information at a video decoder
FR3066873A1 (fr) * 2017-05-29 2018-11-30 Orange Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image

Also Published As

Publication number Publication date
FR3066873A1 (fr) 2018-11-30
US11245924B2 (en) 2022-02-08
JP2020522180A (ja) 2020-07-27
US20220116658A1 (en) 2022-04-14
KR20200013660A (ko) 2020-02-07
JP7274427B2 (ja) 2023-05-16
US20200084471A1 (en) 2020-03-12
KR102532484B1 (ko) 2023-05-16
US11736721B2 (en) 2023-08-22
EP3632103B1 (fr) 2021-10-13
CN110710204A (zh) 2020-01-17
WO2018220311A1 (fr) 2018-12-06
ES2902766T3 (es) 2022-03-29
EP3632103A1 (fr) 2020-04-08
CN117544784A (zh) 2024-02-09
CN110710204B (zh) 2023-12-12
EP3941045A1 (fr) 2022-01-19

Similar Documents

Publication Publication Date Title
JP7071603B1 (ja) ビデオコーディングのためにブロックの複数のクラスのためのフィルタをマージすること
JP6541274B2 (ja) 動画像シーケンスの動画像フレームを復号する復号方法および装置
RU2693651C1 (ru) Устройство кодирования изображений, устройство декодирования изображений, способ кодирования изображений и способ декодирования изображений
EP3448038B1 (en) Decoding method for intra predicting a block by first predicting the pixels at the boundary
KR101972366B1 (ko) 샘플 적응적 오프셋을 적용하는 장치
BR112013007383B1 (pt) Método e aparelho para decodificar um fluxo de bits de vídeo
US20090296812A1 (en) Fast encoding method and system using adaptive intra prediction
JP2018507597A (ja) 自己完結型符号化構造を符号化または復号する場合のパレット予測子初期化子
KR102528365B1 (ko) 해상도 향상 기법을 이용한 영상의 부호화 및 복호화
BR112014011334B1 (pt) Método para decodificar um quadro de vídeo
BR112019025108A2 (pt) Método para decodificar um fluxo de dados codificado, método para codificar pelo menos uma imagem na forma de um fluxo de dados codificado, dispositivo de decodificação, dispositivo para codificar, programa de computador e sinal que compreende dados codificados
Jing et al. An efficient inter mode decision approach for H. 264 video coding
KR20160132865A (ko) 낮은 복잡성 인코딩 및 백그라운드 검출을 위한 시스템들 및 방법들
Lin et al. FITD: Fast Intra Transcoding from H. 264/AVC to high efficiency video coding based on DCT coefficients and prediction modes
WO2012123321A1 (en) Method for reconstructing and coding an image block
Xie et al. Low complexity transcoding from HEVC to VVC
Escribano et al. Video encoding and transcoding using machine learning
JP7349028B2 (ja) パレットモードを使用するビデオ符号化の方法及び装置
Liu et al. Preparing VVC for Streaming: A Fast Multi-Rate Encoding Approach
CN116671103A (zh) 帧内预测方法、编码器、解码器以及存储介质
CN117676133A (zh) 帧内预测方法、编码器、解码器以及存储介质
JP2023156469A (ja) ビデオ符号化用のループ内フィルタ
JP2019515589A (ja) 少なくとも1つの画像を表すデータストリームを符号化及び復号する方法及びデバイス
Shengfa et al. Efficient Intra Mode Prediction Decision for MPEG-2 To H. 264/AVC Transcoding

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]