BR112021003486A2 - métodos e dispositivos para codificação e decodificação de um fluxo de dados representando pelo menos uma imagem - Google Patents

métodos e dispositivos para codificação e decodificação de um fluxo de dados representando pelo menos uma imagem Download PDF

Info

Publication number
BR112021003486A2
BR112021003486A2 BR112021003486-2A BR112021003486A BR112021003486A2 BR 112021003486 A2 BR112021003486 A2 BR 112021003486A2 BR 112021003486 A BR112021003486 A BR 112021003486A BR 112021003486 A2 BR112021003486 A2 BR 112021003486A2
Authority
BR
Brazil
Prior art keywords
current block
encoding mode
block
pixel
decoded
Prior art date
Application number
BR112021003486-2A
Other languages
English (en)
Inventor
Félix Henry
Mohsen Abdoli
Gordon Clare
Pierrick Philippe
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 BR112021003486A2 publication Critical patent/BR112021003486A2/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/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
    • 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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

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

Abstract

MÉTODOS E DISPOSITIVOS PARA CODIFICAÇÃO E DECODIFICAÇÃO DE UM FLUXO DE DADOS REPRESENTANDO PELO MENOS UMA IMAGEM. A presente invenção refere-se a um método para decodificar um fluxo de dados codificados representando pelo menos uma imagem, que é dividida em blocos. Para pelo menos um bloco da imagem, referido como o bloco atual, informações indicando um modo de codificação, fora de um primeiro e de um segundo modo de codificação, do bloco atual são decodificadas (E42) do fluxo de dados, e o bloco atual é decodificado com base nessas informações. Quando o modo de codificação do bloco atual corresponde a um segundo modo de codificação, o bloco atual é reconstruído com base em uma previsão obtida, para cada pixel, de outro pixel decodificado previamente pertencente ao bloco atual, ou a um bloco decodificado previamente da imagem, e um resíduo decodificado associado com o dito pixel. Pelo menos um método de processamento é aplicado ao bloco atual reconstruído para pelo menos um pixel do bloco atual, dependendo do modo de codificação do bloco atual e/ou do modo de codificação dos blocos vizinhos.

Description

Relatório Descritivo da Patente de Invenção para "MÉTODOS E DISPOSITIVOS PARA CODIFICAÇÃO E
DECODIFICAÇÃO DE UM FLUXO DE DADOS REPRESENTANDO PELO MENOS UMA IMAGEM".
1. CAMPO DA INVENÇÃO
[0001] A presente invenção refere-se à codificação e decodificação de imagens ou sequências de imagens e, em particular, fluxos de vídeo.
[0002] Mais especificamente, a invenção se refere à compressão de imagens ou sequências de imagens usando uma representação em blocos das imagens.
[0003] A invenção pode ser especialmente aplicada à codificação de imagem ou vídeo implementada em codificadores atuais ou futuros (JPEG, MPEG, H.264, HEVC, etc. e nas suas variações) e à decodificação correspondente.
2. TÉCNICA ANTERIOR
[0004] As imagens digitais e as sequências de imagens digitais demandam muito espaço em termos de memória, o que requer, quando da transmissão dessas imagens, comprimi-las para evitar problemas de congestão na rede usada para essa transmissão.
[0005] Muitas técnicas para a compressão de dados de vídeo já são conhecidas. Entre essas, o padrão de compressão de HEVC ("High Efficiency Video Coding, Coding Tools and Specification", Matthias Wien, Signals and Communication Technology, 2015) propõe implementar uma previsão de pixels de uma imagem atual em relação a outros pixels pertencentes à mesma imagem (previsão inter) ou a uma imagem prévia ou subsequente (previsão inter).
[0006] Mais especificamente, a previsão intra usa as redundâncias espaciais dentro de uma imagem. Para que isso seja feito, as imagens são divididas em blocos de pixels. Os blocos de pixels são então previstos usando informações já reconstruídas, correspondentes aos blocos previamente codificados / decodificados na imagem atual, de acordo com a ordem de varredura dos blocos na imagem.
[0007] Além do mais, em uma maneira padronizada, a codificação de um bloco atual é conduzida usando uma previsão do bloco atual, referido como o bloco previsor, e um resíduo de previsão ou "bloco residual", correspondente a uma diferença entre o bloco atual e o bloco previsor. O bloco residual resultante é então transformado, por exemplo, usando uma transformada do tipo DCT (transformada de cosseno distinto). Os coeficientes do bloco residual transformados são então quantificados, codificados por codificação por entropia e transmitidos ao decodificador, que pode reconstruir o bloco atual por adição do bloco residual ao bloco previsor.
[0008] A decodificação é feita imagem por imagem, e para cada imagem, bloco por bloco. Para cada bloco, os elementos correspondentes do fluxo são lidos. A quantificação inversa e a transformação inversa dos coeficientes do bloco residual são feitas. Depois, a previsão de bloco é calculada para obter o bloco previsor, e o bloco previsor é reconstruído por adição da previsão (isto é, o bloco previsor) ao bloco residual decodificado.
[0009] Na patente U.S. 9.253.508, uma técnica de codificação DPCM (Modulação por Código de Pulso Diferencial) para codificação de blocos em modo intra é integrada em um codificador HEVC. Essa técnica consiste na previsão de um conjunto de pixels de um bloco intra por outro conjunto de pixels do mesmo bloco, que foi reconstruído previamente. Na patente U.S. 9.253.508, um conjunto de pixels do bloco intra a ser codificado corresponde a uma linha do bloco, ou uma coluna, ou uma linha e uma coluna, e a previsão intra, usada para prever o conjunto de pixels é uma das previsões intra direcionais, definidas no padrão de HEVC.
[0010] No entanto, essa técnica não é ótima. De fato, a reconstrução de um conjunto de pixels do bloco intra corresponde à adição de um resíduo de previsão, no caso de uma codificação sem perda, desse modo, oferecendo uma razão de compressão razoavelmente baixa, ou à adição de um resíduo de previsão após transformação inversa e/ou quantificação inversa do dito outro conjunto de pixels, servindo como uma previsão. Essa técnica não permite que cada pixel do bloco intra seja previsto usando uma função de previsão local, e o pixel previsto seja reconstruído antes de um pixel subsequente ser previsto. De fato, essa técnica requer que um conjunto de pixels (linha / coluna do bloco, por exemplo) seja reconstruído para prever outro conjunto de pixels. Em outras palavras, com ambas a previsão e a reconstrução de uma parte do bloco, vários pixels do bloco são previstos e reconstruídos.
[0011] Além do mais, na patente U.S. 9.253.508, não se descreve como produzir modos de previsão intra convencionais, definidos no padrão de HEVC, por exemplo, e o modo de previsão DPCM, que coexistam.
[0012] Há, portanto, uma necessidade para um novo método de codificação e decodificação para aperfeiçoar a compressão de dados de imagem ou de vídeo.
3. SUMÁRIO DA INVENÇÃO
[0013] A invenção aperfeiçoa o estado da técnica. Para esse fim, refere-se a um método para decodificar um fluxo de dados codificados, representativo de pelo menos uma imagem, que é dividida em blocos. Esse método de decodificação compreende, para pelo menos um bloco da imagem, referido como o bloco atual: - decodificar um item de informações indicando um modo de codificação do bloco atual entre pelo menos um primeiro modo de codificação e um segundo modo de codificação, o segundo modo de codificação sendo um modo de codificação, de acordo com o qual o bloco atual é decodificado por, para cada pixel no bloco atual: - obter uma previsão do dito pixel de outro pixel decodificado previamente, o dito outro pixel decodificado previamente pertencente ao dito bloco atual ou a um bloco decodificado previamente da imagem; - decodificar um resíduo de previsão associado com o dito pixel; e - reconstruir o dito pixel da previsão do dito pixel obtida e do resíduo de previsão decodificado associado com o dito pixel; e - decodificar o bloco atual de acordo com o modo de codificação indicado pelo item de informações decodificado, - em que: - quando o modo de codificação do bloco atual corresponder a um modo de codificação distinto do segundo modo de codificação, aplicar pelo menos um método de processamento ao bloco atual reconstruído; e - quando o modo de codificação do bloco atual corresponder ao segundo modo de codificação, desabilitar a aplicação do dito pelo menos um método de processamento ao bloco atual reconstruído para pelo menos um pixel do dito bloco atual.
[0014] Desse modo, de acordo com a invenção, a aplicação de operações de processamento em um bloco reconstruído não é feita no caso de um bloco decodificado, de acordo com um modo de codificação usando uma previsão de pixel de pixels previamente reconstruídos do mesmo bloco. De acordo com esse modo de codificação, o resíduo de previsão associado com cada pixel não é transformado. O método de processamento busca aperfeiçoar a qualidade dos blocos de pixels reconstruídos, por exemplo, por redução dos efeitos das descontinuidades entre os blocos devido à codificação do resíduo com uma transformada (filtro de desbloqueio) ou por correção do valor individual de cada pixel (também conhecida como Deslocamento
Adaptativo de Amostra ou SAO).
[0015] De acordo com a invenção, o segundo modo de codificação não usa uma transformação do resíduo de previsão, uma vez que o resíduo de previsão, associado com cada pixel, deve estar disponível imediatamente para a reconstrução do pixel e, assim sendo, pode ser usado para prever os pixels subsequentes do bloco atual. Desse modo, quando o bloco atual é decodificado de acordo com o segundo modo de codificação, não é necessário reduzir as descontinuidades nos limites desse bloco atual. De modo similar, quando o bloco atual é decodificado usando o segundo modo de codificação, o valor de cada pixel é codificado individualmente usando um resíduo de previsão associado com cada pixel. Não é, portanto, necessário corrigir o valor de cada pixel.
[0016] Os métodos de processamento aplicados aos blocos reconstruídos requerem, usualmente, a transmissão de parâmetros em nível de bloco. A desabilitação desses métodos de processamento para os blocos codificados de acordo com o segundo modo de codificação propicia, desse modo, um ganho em velocidade. Além do mais, o processo de decodificação pode ser acelerado substancialmente, uma vez que esses métodos de processamento não são aplicados a esses blocos.
[0017] A invenção também se refere a um método para codificar um fluxo de dados representativo de pelo menos uma imagem, que é dividida em blocos. Esse método de codificação compreende, para pelo menos um bloco da imagem, referido como o bloco atual: - codificar um item de informações indicando um modo de codificação do modo de codificação do bloco atual entre pelo menos um primeiro modo de codificação e um segundo modo de codificação, o segundo modo de codificação sendo um modo de codificação de acordo com o qual o bloco atual é codificado por, para cada pixel do bloco atual:
- obter uma previsão do dito pixel de outro pixel decodificado previamente, o dito outro pixel decodificado previamente pertencendo ao dito bloco atual ou a um bloco decodificado previamente da imagem; - codificar um resíduo de previsão associado com o dito pixel obtido da previsão do dito pixel; e - reconstruir o dito pixel do resíduo de previsão decodificado, associado com o dito pixel e a previsão do dito pixel; e - codificar o bloco atual de acordo com o modo de codificação indicado pelo item de informações codificado, - em que: - quando o modo de codificação do bloco atual corresponder a um modo de codificação distinto do segundo modo de codificação, aplicar pelo menos um método de processamento ao bloco atual reconstruído; e - quando o modo de codificação do bloco atual corresponder ao segundo modo de codificação, desabilitar a aplicação do dito pelo menos um método de processamento ao bloco atual reconstruído para pelo menos um pixel do dito bloco atual.
[0018] De acordo com uma concretização particular da invenção, o método de processamento é uma filtragem de desbloqueio, aplicada aos pixels do bloco atual reconstruído, que são localizados no limite do bloco atual reconstruído com um bloco vizinho reconstruído na imagem. De acordo com essa concretização particular da invenção, o método de processamento corresponde a um filtro de "desbloqueio", aplicado convencionalmente aos limites dos blocos para reduzir os efeitos das descontinuidades entre os blocos.
[0019] De acordo com uma concretização particular da invenção: - quando o bloco atual é decodificado ou codificado de acordo com o segundo modo de codificação: - a aplicação da filtragem de desbloqueio ao bloco atual reconstruído é desabilitada para todos os pixels do bloco atual reconstruído; e - quando o bloco atual é decodificado ou codificado de acordo com um modo de codificação distinto do segundo modo de codificação: - a filtragem de desbloqueio é aplicada a um pixel do bloco atual reconstruído, se o dito pixel estiver localizado em um limite do dito bloco atual reconstruído com um bloco reconstruído vizinho na imagem, e se o dito bloco vizinho for decodificado ou codificado de acordo com um modo de codificação distinto do segundo modo de codificação.
[0020] De acordo com essa concretização particular da invenção, a filtragem de desbloqueio é apenas aplicada aos pixels no limite dos dois blocos, que são ambos codificados ou decodificados de acordo com os modos de codificação distintos do segundo modo de codificação. Em outras palavras, para um bloco atual, codificado ou decodificado de acordo com um modo de codificação distinto do segundo modo de codificação, a filtragem de desbloqueio é desabilitada para os pixels do bloco atual reconstruído, que estão localizados no limite com um bloco vizinho, codificado ou decodificado de acordo com o segundo modo de codificação.
[0021] De acordo com outra concretização particular da invenção, quando o bloco atual é codificado ou decodificado de acordo com o segundo modo de codificação: - a aplicação da filtragem de desbloqueio ao bloco atual reconstruído é desabilitada para um pixel do bloco atual reconstruído, se o dito pixel estiver localizado em um limite o dito bloco atual reconstruído com um bloco vizinho na imagem e se o dito bloco vizinho estiver decodificado ou codificado de acordo com o segundo modo de codificação; e - a filtragem de desbloqueio é aplicada a um pixel do bloco atual reconstruído, se o dito pixel estiver localizado em um limite do dito bloco atual reconstruído com um bloco vizinho reconstruído na imagem,
e se o dito bloco vizinho estiver decodificado ou codificado de acordo com um modo de codificação distinto do segundo modo de codificação.
[0022] De acordo com essa concretização particular da invenção, a filtragem de desbloqueio é aplicada aos pixels localizados no limite de dois blocos, dos quais pelo menos um dos blocos é codificado ou decodificado de acordo com um modo de codificação distinto do segundo modo de codificação. No entanto, a filtragem de desbloqueio é desabilitada para os pixels localizados no limite de dois blocos, que são ambos codificados ou decodificados de acordo com o segundo modo de codificação.
[0023] Essa concretização particular da invenção atenua os efeitos dos blocos para os blocos codificados ou decodificados de acordo com o primeiro modo de codificação ou qualquer outro modo de codificação distinto do segundo modo de codificação, mesmo quando esses são vizinhos de um bloco reconstruído, que foi codificado ou decodificado de acordo com o segundo modo de codificação.
[0024] De acordo com outra concretização particular da invenção, o método de processamento é um método para corrigir pelo menos um pixel no bloco atual reconstruído por adição ao valor reconstruído do dito pixel de um valor obtido de um item de informações codificado no fluxo de dados ou decodificado do fluxo de dados. De acordo com essa concretização particular da invenção, o método de processamento corresponde ao método SAO, que foi integrado ao padrão de compressão de HEVC.
[0025] De acordo com uma concretização particular da invenção, quando o bloco atual é codificado ou decodificado de acordo com o segundo modo de codificação, a aplicação do dito método de correção no bloco atual reconstruído é desabilitada para todos os pixels do bloco atual reconstruído.
[0026] A invenção também se refere a um dispositivo de decodificação, configurado para implementar o método de decodificação de acordo com qualquer uma das concretizações particulares definidas acima. Esse dispositivo de decodificação pode, naturalmente, compreender as diferentes características relativas ao método de decodificação de acordo com a invenção. Desse modo, as características e as vantagens desse dispositivo de decodificação são iguais àquelas do método de decodificação e não são detalhadas adicionalmente.
[0027] O dispositivo de decodificação compreende, em particular, um processador, configurado para pelo menos um bloco da imagem, referido como o bloco atual, para: - decodificar um item de informações indicando um modo de codificação do bloco atual entre pelo menos um primeiro modo de codificação e um segundo modo de codificação, o segundo modo de codificação sendo um modo de codificação de acordo com o qual o bloco atual é decodificado por, para cada pixel do bloco atual: - obter uma previsão do dito pixel de outro pixel decodificado previamente, o dito outro pixel decodificado previamente pertencendo ao dito bloco atual ou a um bloco decodificado previamente da imagem; - decodificar um resíduo de previsão associado com o dito pixel; e - reconstruir o dito pixel da previsão do dito pixel obtida e do resíduo de previsão decodificado associado com o dito pixel; e - decodificar o bloco atual de acordo com o modo de codificação indicado pelo item de informações decodificado, - em que: - quando o modo de codificação do bloco atual corresponder a um modo de codificação distinto do segundo modo de codificação, aplicar pelo menos um método de processamento no bloco atual reconstruído; e - quando o modo de codificação do bloco atual corresponder ao segundo modo de codificação, desabilitar a aplicação do dito pelo menos um método de processamento no bloco atual reconstruído para pelo menos um pixel do dito bloco atual.
[0028] De acordo uma concretização particular da invenção, esse dispositivo de decodificação é compreendido em um terminal.
[0029] A invenção também se refere a um dispositivo de codificação, configurado para implementar o método de codificação de acordo com qualquer uma das concretizações particulares definidas acima. Esse codificado ou decodificado pode, naturalmente, compreender as diferentes características relativas ao método de codificação de acordo com a invenção. Desse modo, as características e as vantagens desse dispositivo de codificação são iguais àquelas do método de codificação e não são detalhadas adicionalmente. O dispositivo de codificação compreende, em particular, um processador configurado para pelo menos um bloco da imagem, referido como o bloco atual, para: - codificar um item de informações indicando um modo de codificação do bloco atual entre pelo menos um primeiro modo de codificação e um segundo modo de codificação, o segundo modo de codificação sendo um modo de codificação, de acordo com o qual o bloco atual é codificado por, para cada pixel do bloco atual: - obter uma previsão do dito pixel de outro pixel decodificado previamente, o dito outro pixel decodificado previamente pertencendo ao dito segunda superfície de borda ou a um bloco decodificado previamente da imagem; - codificar um resíduo de previsão associado com o dito pixel obtido da previsão do dito pixel; e - reconstruir o dito pixel do resíduo de previsão decodificado associado com o dito pixel e a previsão do dito pixel; - codificar o bloco atual de acordo com o modo de codificação indicado pelo item de informações codificado, - em que: - quando o modo de codificação do bloco atual corresponder a um modo de codificação distinto do segundo modo de codificação, aplicar pelo menos um método de processamento no bloco atual reconstruído; e - quando o modo de codificação do bloco atual corresponder ao segundo modo de codificação, desabilitar a aplicação do dito pelo menos um método de processamento no bloco atual reconstruído para pelo menos um pixel do dito bloco atual.
[0030] De acordo com uma concretização particular da invenção, esse dispositivo de codificação é compreendido em um terminal, ou em um servidor.
[0031] O método de decodificação, respectivamente, o método de codificação, de acordo com a invenção, pode ser implementado de vários modos, especialmente em uma forma ligada por fio ou em forma de software. De acordo com uma concretização particular da invenção, o método de decodificação, respectivamente, o método de codificação, é implementado por um programa de computador. A invenção também se refere a um programa de computador, compreendendo instruções para implementar o método de decodificação ou o método de codificação a qualquer uma das concretizações particulares descritas previamente, quando o dito programa é executado por um processador. Esse programa pode usar qualquer linguagem de programação. Pode ser baixada de uma rede de comunicação e/ou gravada em um meio legível por computador.
[0032] Esse programa pode usar qualquer linguagem de programação, e pode ser na forma de um código-fonte, um código- objeto ou um código intermediário entre o código-fonte e o código- objeto, tal como em uma forma compilada parcialmente, ou em qualquer outra forma desejável.
[0033] A invenção também se refere a um meio de armazenamento legível por computador ou a um meio de dados, compreendendo instruções de um programa de computador, como mencionado acima. A mídia de gravação mencionada acima pode ser qualquer entidade ou dispositivo capaz de armazenar o programa. Por exemplo, o meio pode compreender um meio de armazenamento, tal como uma memória. Por outro lado, a mídia de gravação pode corresponder a um meio transmissível, tal como um sinal elétrico ou óptico, que pode ser conduzido por meio de um cabo elétrico ou óptico, por rádio ou por outro meio. O programa de acordo com a invenção pode ser baixado em particular em uma rede do tipo da Internet. Alternativamente, a mídia de gravação pode corresponder a um circuito integrado, no qual o programa é embutido, o circuito sendo adaptado para executar ou ser usado na execução do método em questão.
4. LISTA DE FIGURAS
[0034] Outras características e vantagens da invenção vão emergir mais claramente por leitura da descrição apresentada a seguir de uma concretização particular, proporcionada como um simples exemplo não restritivo, ilustrativo, e nos desenhos em anexo, em que: - a Figura 1 mostra as etapas do método de codificação, de acordo com uma concretização particular da invenção; - a Figura 2 ilustra um exemplo de posição dos blocos vizinhos de um bloco atual para determinar um modo de previsão intra, de acordo com uma concretização particular da invenção; - a Figura 3 ilustra um exemplo de posição dos pixels de referência usados para prever os pixels de um bloco atual, de acordo com uma concretização particular da invenção; - a Figura 4 mostra etapas do método de decodificação, de acordo com uma concretização particular da invenção;
- as Figuras 5A e 5B ilustram blocos reconstruídos de pixels, nos quais uma operação de pós-processamento é aplicada ou não aos pixels, de acordo com o modo de codificação do bloco ao qual os pixels pertencem, de acordo com as concretizações particulares da invenção; - a Figura 6 mostra a estrutura simplificada de um dispositivo de codificação, adaptado para implementar o método de codificação, de acordo com qualquer uma das concretizações particulares da invenção; e - a Figura 7 mostra a estrutura simplificada de um dispositivo de decodificação, adaptado para implementar o método de decodificação, de acordo com qualquer uma das concretizações particulares da invenção.
5. DESCRIÇÃO DE UMA CONCRETIZAÇÃO DA INVENÇÃO
5. 1. PRINCÍPIO GERAL
[0035] As operações de processamento executadas após decodificação de uma imagem, também conhecidas como operações de pós-processamento, são integradas aos padrões de codificação de vídeo para aperfeiçoar a qualidade das imagens reconstruídas. Por exemplo, essas operações de pós-processamento podem consistir na aplicação de uma filtragem de desbloqueio ou em uma operação de pós- processamento de SAO (Deslocamento Adaptativo de Amostra).
[0036] A filtragem de desbloqueio permite apagar, após decodificação de cada bloco, a descontinuidade que existe entre todos os blocos e à qual o olho humano é muito sensível. Por outro lado, a operação de processamento de SAO permite que o valor de cada pixel de um bloco decodificado seja modificado individualmente.
[0037] Esses dois métodos de pós-processamento foram integrados, por exemplo, no padrão de compressão de HEVC e proporcionam ganhos em compressão e qualidade.
[0038] No entanto, de acordo com a invenção, um novo modo de codificação para os blocos de uma imagem, conhecido como codificação ILR (Residual em Circuito Fechado), propicia descartar vantajosamente esses dois métodos pós-processamento.
[0039] Relativamente aos efeitos das descontinuidades entre os blocos, elas são basicamente devido à codificação do resíduo convencional na forma de uma transformação. Os vetores básicos da transformação são na amplitude de um bloco, não permitindo um controle individual dos valores dos pixels ao longo do limite do bloco. No entanto, o modo de codificação ILR permite que a intensidade de cada pixel seja codificada independentemente das outras. Nenhum efeito de bloco é, portanto, observado e a filtragem é inútil. De modo similar, a operação de processamento de SAO busca corrigir o valor individual de certos pixels após uma codificação convencional. Ainda mais, o modo de codificação ILR, que vai ser descrito posteriormente, já permite que o valor de cada pixel seja codificado individualmente. Portanto, nenhuma operação de processamento de SAO é necessária para esses pixels.
[0040] No entanto, é necessário que o codificador possa selecionar para que cada bloco seja codificado entre um modo de codificação convencional e um modo de codificação ILR, para otimizar o custo de codificação da sequência de vídeo.
[0041] O princípio geral da invenção é, portanto, ativar ou não a aplicação de um método pós-processamento a um bloco reconstruído, dependendo se o bloco foi codificado / decodificado de acordo com o modo de codificação ILR.
[0042] Há várias vantagens para permitir o desbloqueio e/ou as operações de processamento de SAO apenas para os blocos codificados por um método de codificação convencional, isto é, um modo de codificação diferente do ILR. De fato, isso reduz a velocidade a ser transmitida porque nenhum elemento de sintaxe, relativo ao filtro de desbloqueio ou à operação de processamento de SAO, é transmitido para os blocos codificados / decodificados de acordo com o modo de codificação ILR. Isso também acelera substancialmente àa decodificação, uma vez que os blocos codificados / decodificados, de acordo com o modo de codificação ILR, não precisam aplicar as etapas de desbloqueio e/ou processamento de SAO, que são muito difíceis de implementar em termos de recursos de cálculos e memória.
5.2 CONCRETIZAÇÕES
[0043] A Figura 1 mostra as etapas do método de codificação, de acordo com uma concretização particular da invenção. Por exemplo, uma sequência de imagens |1, l2, ..., Inv é codificada na forma de um fluxo de dados codificados STR, de acordo com uma concretização particular da invenção. Por exemplo, esse método de codificação é implementado por um dispositivo de codificação, como descrito posteriormente em relação à Figura 6. Uma sequência de imagens |, l2, ..., Ino, que é o número de imagens da sequência a serem codificadas, é proporcionada como entrada do método de codificação. O método de codificação transmite um fluxo de dados codificados STR, representativo da sequência de imagens proporcionada como entrada.
[0044] Em uma maneira conhecida, a codificação da sequência de imagens |1, l2, ..., Inv é feita imagem por imagem, de acordo com a ordem de codificação estabelecida previamente e conhecida do codificador. Por exemplo, as imagens podem ser codificadas na ordem temporal |, l2, ..., lny OU em Outra ordem, por exemplo, 1, la, ..., Inv.
[0045] Em uma etapa EO, uma imagem |; a ser codificada da sequência de imagens |1, l|2, ..., Iln6, é dividida em blocos, por exemplo, em blocos de tamanho 32x32 ou 64x64 pixels ou mais. Esse bloco pode ser subdividido em sub-blocos quadrados ou retangulares, por exemplo, 16x16, 8x8, 4x4, 16x8, 8x16 ...
[0046] Em uma etapa E1, um primeiro bloco ou sub-bloco Xr, a ser codificado da imagem |;, é selecionado de acordo com uma ordem de varredura predeterminada da imagem |;. Por exemplo, pode ser o primeiro bloco na ordem de varredura lexicográfica da imagem.
[0047] Em uma etapa E2, o codificador vai selecionar o modo de codificação para codificar o bloco atual Xr.
[0048] De acordo a concretização particular descrita no presente relatório descritivo, o codificador seleciona o modo de codificação para codificar o bloco atual Xv de um primeiro modo de codificação M1 e de um segundo modo de codificação M2. Modos de codificação adicionais (não descritos no presente relatório descritivo) podem ser usados.
[0049] De acordo a concretização particular descrita no presente relatório descritivo, o primeiro modo de codificação M1 corresponde à codificação do bloco atual por previsão intra convencional, por exemplo, como definido de acordo com o padrão de HEVC, e o segundo modo de codificação M2 corresponde à codificação de previsão Residual em Circuito Fechado (ILR).
[0050] O princípio da invenção pode ser estendido a outros tipos de modos de codificação para o primeiro modo de codificação M1. Por exemplo, o primeiro modo de codificação pode corresponder a qualquer tipo de modos de codificação usando uma transformação do resíduo de previsão (codificação de previsão de imagens inter, previsão espacial com codificação por correspondência de modelo, etc.).
[0051] Na etapa E2, o codificador pode executar uma otimização de velocidade / distorção para determinar o melhor modo de codificação para codificador o bloco atual. Durante essa otimização de velocidade / distorção, modos de codificação adicionais, diferentes do primeiro e do segundo modos de codificação, podem ser testados, por exemplo, um modo de codificação de modo inter. Durante essa otimização de velocidade / distorção, o codificador simula a codificação do bloco atual Xr, de acordo com os diferentes modos de codificação diferentes para determinar a velocidade e a distorção associadas com cada modo de codificação e seleciona o modo de codificação que oferta o melhor compromisso de velocidade / distorção, por exemplo, de acordo com a função D+1.R, em que R é a velocidade necessária para codificar o bloco atual de acordo com o modo de codificação avaliado, D é a distorção medida entre o bloco decodificado e o bloco atual original, e à é um multiplicador de Lagrangian, por exemplo, introduzido pelo usuário ou definido no codificador.
[0052] Em uma etapa E20, um item de informações indicando o modo de codificação selecionado para o bloco atual é codificado no fluxo de dados STR.
[0053] Se o bloco atual Xr for codificado de acordo com o primeiro modo de codificação M1, o método segue para a etapa E21 para codificar o bloco de acordo com M1. Se o bloco atual X, for codificado de acordo com o segundo modo de codificação M2, o método segue para a etapa E22 para codificar o bloco de acordo com M2.
[0054] A etapa E21 para codificar o bloco de acordo com o primeiro modo de codificação M1, de acordo com uma concretização particular da invenção, é descrita abaixo. De acordo com o modo particular descrito no presente relatório descritivo, o primeiro modo de codificação corresponde a uma previsão intra convencional, tal como uma definida no padrão de HEVC.
[0055] Em uma etapa E210, uma etapa de quantificação 8: é determinada. Por exemplo, a etapa de quantificação 8; pode ser estabelecida pelo usuário, ou calculada por uso de um parâmetro de quantificação estabelecendo um compromisso entre compressão e qualidade e introduzido pelo usuário ou definido pelo codificador. Desse modo, esse parâmetro de quantificação pode ser o parâmetro *, usado na função de custo de velocidade - distorção D+X..R, em que D representa uma distorção introduzida pela codificação e R a velocidade usada para codificação. Essa função é usada para produzir escolhas de codificação. Tipicamente, um modo de codificar a imagem, que minimize essa função, é buscado.
[0056] Como uma variante, o parâmetro de quantificação pode ser QP, correspondente ao parâmetro de quantificação usado convencionalmente nos padrões AVC ou HEVC. Desse modo, no padrão de HEVC, a etapa de quantificação 8: é determinada pela equação 6ó,=levelScale[ QP%SB6 ] << (QP/6)) em que levelScale[ k] = 1 40, 45, 51, 57, 64, 72) para k = 0,5.
[0057] Em uma etapa E211, uma previsão do bloco atual é determinada usando um modo de previsão intra convencional. De acordo com essa previsão intra convencional, cada pixel previsto é calculado apenas dos pixels decodificados originários dos blocos vizinhos (pixels de referência) localizados acima do bloco atual, e à esquerda do bloco atual. O modo pelo qual os pixels são previstos dos pixels de referência depende de um modo de previsão, que é transmitido para o decodificador, e que é selecionado pelo codificador de um conjunto predeterminado de modos conhecido do codificador e do decodificador.
[0058] Desse modo, na HEVC, há 35 possíveis modos de previsão: 33 modos que interpolam os pixels de referência em 33 diferentes direções angulares, e 2 outros modos: o modo DC, no qual cada pixel do bloco previsto é produzido da média dos pixels de referência, e o modo PLANAR, que executa uma interpolação plana e não direcional. Essa "previsão intra convencional" é bem conhecida e também usada no padrão ITU-T H.264 (em que há apenas 9 diferentes modos), bem como no software JEM experimental disponível no endereço de Internet (https://jvet.hhi.fraunhofer.de/), em que há 67 diferentes modos de previsão. Em todos os casos, a previsão intra convencional respeita os dois aspectos mencionados acima (previsão dos pixels dos blocos vizinhos e transmissão para o decodificador de um modo de previsão ótimo).
[0059] Na etapa E211, o codificador, desse modo, seleciona um dos disponíveis modos de previsão da lista predeterminada de modos de previsão. Um modo de selecionar consiste, por exemplo, em avaliar todos os modos de previsão e manter o modo de previsão, que minimiza uma função de custo, tal como, classicamente, o custo de velocidade - distorção.
[0060] Em uma etapa E212, o modo de previsão selecionado para o bloco atual é codificado dos blocos vizinhos do bloco atual. A Figura 2 mostra um exemplo de posição dos blocos vizinhos Ar e Br do bloco atual X, para codificar o modo de previsão do bloco atual Xr.
[0061] Na etapa E212, o modo de previsão intra, selecionado para o bloco atual, é codificado usando os modos de previsão intra associados com os blocos vizinhos.
[0062] Por exemplo, a abordagem descrita no padrão de HEVC, para codificar o modo de previsão do bloco atual, pode ser usada. No exemplo na Figura 2, essa abordagem consiste em identificar o modo de previsão intra ma associado com o bloco Av, localizado acima do bloco atual, e o modo de previsão intra mg associado com o bloco Br, localizado bem à esquerda do bloco atual. Dependendo do valor de ma e mg, uma lista chamada MPM (para Modo Mais Provável) contendo 3 modos de previsão intra, e uma lista chamada não MPM, contendo os outros 32 modos de previsão, são criadas.
[0063] De acordo com o padrão de HEVC, para codificar o modo de previsão intra do bloco atual, são transmitidos elementos de sintaxe: - um indicador binário, que indica se o modo de previsão, a ser codificado para o bloco atual, está ou não na lista MPM; - se o modo de previsão do bloco atual pertencer à lista MPM, um índice na lista MPM, correspondente ao modo de previsão do bloco atual, é codificado; e - se o modo de previsão do bloco atual não pertencer à lista MPM, um Índice na lista não MPM, correspondente ao modo de previsão do bloco atual, é codificado.
[0064] Em uma etapa E213, o resíduo de previsão R para o bloco atual é construído.
[0065] Na etapa E213, em uma maneira padronizada, um bloco previsto P é construído de acordo com o modo de previsão selecionado na etapa E211. Então, o resíduo de previsão R é obtido por cálculo da diferença para cada pixel, entre o bloco previsto P e o bloco atual original.
[0066] Em uma etapa E214, o resíduo de previsão R é transformado em Rr.
[0067] Na etapa E214, uma transformada de frequência é aplicada ao bloco de resíduo R para produzir o bloco Rr compreendendo os coeficientes da transformada. A transformada pode ser, por exemplo, uma transformada do tipo DCT. É possível selecionar a transformada para que seja usada de um conjunto predeterminado de transformadas Er e informar o decodificador da transformada usada.
[0068] Em uma etapa E215, o bloco do resíduo transformado R7 é quantificado usando, por exemplo, uma quantificação escalar da etapa de quantificação ô1. Isso produz o bloco do resíduo de previsão transformado, quantificado Rro.
[0069] Em uma etapa E216, os coeficientes do bloco quantificado Ro são codificados por um codificador por entropia. Por exemplo, a codificação por entropia especificada no padrão de HEVC pode ser usada.
[0070] Em uma maneira conhecida, o bloco atual é decodificado por dequantificação dos coeficientes do bloco quantificado Rr1o, depois por aplicação da transformada inversa nos coeficientes dequantificados para obter o resíduo de previsão decodificado. A previsão é então adicionada ao resíduo de previsão decodificado para reconstruir o bloco atual e obter sua versão decodificada. A versão decodificada do bloco atual pode ser então usada posteriormente para prever espacialmente outros blocos vizinhos da imagem ou prever blocos de outras imagens por previsão de imagens inter.
[0071] A etapa E22 para codificar o bloco de acordo com o segundo modo de codificação M2, de acordo com uma concretização particular da invenção, é descrita abaixo. De acordo a concretização particular descrita no presente relatório descritivo, o segundo modo de codificação corresponde a uma codificação de previsão ILR.
[0072] Em uma etapa E220, um previsor local PL para o bloco atual é determinado. De acordo com o modo de codificação descrito no presente relatório descritivo, os pixels do bloco atual são previstos por pixels reconstruídos previamente de um bloco vizinho do bloco atual ou do próprio bloco atual. De preferência, para a previsão, os pixels, que estão o mais próximo possível do pixel a ser previsto, são selecionados. Isso é porque é referido como um previsor local. O previsor local PL também pode ser assimilado a um modo de previsão do bloco atual associado com o segundo modo de codificação M2. De acordo com essa interpretação, na concretização particular descrita no presente relatório descritivo, o primeiro modo de codificação usa um primeiro grupo de modos de previsão intra, por exemplo, os modos de previsão intra definidos pelo padrão de HEVC, e o segundo modo de codificação, nesse caso, o modo ILR, usa um segundo grupo de modos de previsão diferente do primeiro grupo de modos de previsão intra.
[0073] O previsor local PL pode ser único ou pode ser selecionado de um conjunto de previsores locais predeterminados (segundo grupo de modos de previsão).
[0074] De acordo com uma variante de concretização, 4 previsores locais são definidos. Desse modo, se chamamos X um pixel atual, a ser previsto do bloco atual, A o pixel localizado imediatamente à esquerda de X, B o pixel localizado imediatamente à esquerda de e acima de X, C o pixel localizado imediatamente acima de X, como ilustrado na Figura 3 mostrando um bloco atual Xv, 4 previsores locais PL1, PL2, PL3, PL4 podem ser definidos como se segue: PLI(X)=" min(A,B) se C > max(A,B) Max(A,B) se C < min(A,B) A+B-C de outro modo PL2(XK)= À PL3(X)=B PL4(X) = C em que min(A,B) corresponde à função retornando o menor valor entre o valor de A e o valor de B, e max(A,B) corresponde à função retornando o maior valor entre o valor de A e o valor de B.
[0075] Na etapa E220, o previsor local PL, usado para o bloco atual, é determinado. Em outras palavras, o mesmo previsor local vai ser usado para todos os pixels do bloco atual, isto é, a mesma função de previsão. Para esse fim, várias variantes de concretizações são possíveis.
[0076] A codificação do bloco atual com cada um dos previsores pode ser simulada (de modo similar a uma otimização para selecionar um modo de codificação para o bloco atual), e o previsor local, que otimiza uma função de custo (por exemplo, que minimiza a função D+X.R, em que R é a velocidade usada para codificar o bloco, Dé a distorção do bloco decodificado relativa ao bloco original, e à é um parâmetro estabelecido pelo usuário), é selecionado.
[0077] Ou, para limitar a complexidade da seleção de um previsor local para o bloco atual, uma orientação da textura dos pixels codificados previamente é analisada. Por exemplo, os pixels codificados previamente no bloco, que estão localizados acima ou à esquerda do bloco atual, são analisados usando um operador do tipo Sobel. Se for determinado que: - a orientação é horizontal, o previsor local PL2 é selecionado; - a orientação é vertical, o previsor local PL3 é selecionado; - a orientação é diagonal, o previsor local PLA4 é selecionado; e - se nenhuma orientação emerge, o previsor local PL1 é selecionado.
[0078] Um elemento de sintaxe é codificado no fluxo de dados STR para indicar ao decodificador que previsor local foi usado para prever o bloco atual.
[0079] Em uma etapa E221, uma etapa de quantificação ô2 é determinada. Por exemplo, a etapa de quantificação 82 depende do mesmo parâmetro de quantificação que aquele da etapa de quantificação ô1, que vai ser determinado na etapa E210, se o bloco atual for codificado de acordo com o primeiro modo de codificação.
[0080] Em uma etapa E222, um resíduo de previsão R1 é calculado para o bloco atual. Para esse fim, uma vez que o previsor local é selecionado, para cada pixel atual do bloco atual: - o pixel atual X do bloco atual é previsto pelo previsor local PL selecionado usando os pixels fora do bloco e já reconstruídos (e, desse modo, disponíveis com seus valores decodificados) ou os pixels reconstruídos previamente no bloco atual, ou ambos, para obter um valor previsto PRED; em todos os casos, o previsor local PL usa pixels reconstruídos previamente; na Figura 3, pode-se notar que os pixels do bloco atual, localizados na primeira linha e/ou na primeira coluna do bloco atual, vão usar como os pixels de referência (para construir o valor previsto PRED) os pixels fora do bloco e já reconstruídos (pixels em cinza na Figura 3) e, possivelmente, os pixels já reconstruídos do bloco atual; e - a diferença DIFF entre o PRED e X é quantificada em um valor Q(X),
por um quantificador escalar da etapa de quantificação 82, por Q(X) = ScalarQuant(DIFF) = ScalarQuant(6,, X-PRED), o quantificador escalar sendo, por exemplo, um quantificador escalar mais próximo do vizinho, tal como: ScalarQuant(A, x) = floor (=). Q(X) é o resíduo quantificado associado com X. É calculado no domínio espacial, isto é, calculado diretamente da diferença entre o valor previsto PRED do pixel X e o valor original de X; esse resíduo quantificado Q(X) para o pixel X é armazenado em um bloco de resíduo de previsão quantificado Rio, que vai ser codificado posteriormente; e - o valor previsto decodificado P1(X) de X é calculado por adição ao valor previsto PRED do valor dequantificado do resíduo quantificado Q(X); o valor previsto decodificado P1(X) de X é desse modo obtido por P1(X) = PRED + ScalarDequant(62, Q(X)). Por exemplo, a função inversa de quantificação escalar mais próxima é dada por ScalarDequant(A, x) = AX x.
[0081] O valor previsto decodificado P1(X) possibilita, desse modo, prever os possíveis pixels, que se mantêm para serem processados no bloco atual. Além do mais, o bloco P1, compreendendo os valores decodificados / reconstruídos dos pixels do bloco atual, é o previsor ILR do bloco atual (contrariamente ao previsor intra convencional).
[0082] As subetapas descritas acima são executadas para todos os pixels do bloco atual, em uma ordem de varredura que garante que os pixels para a previsão, selecionados de PL1, ..., PLA, estão disponíveis.
[0083] De acordo com uma variante de concretização, a ordem de varredura do bloco atual é a ordem lexicográfica, isto é, da esquerda para a direita, e da parte de topo para o fundo.
[0084] De acordo com outra variante de concretização, várias ordens de varredura do bloco atual podem ser usadas, por exemplo: - a ordem lexicográfica; ou
- varredura da primeira coluna da parte de topo para o fundo, então a coluna logo à direita dela, etc.; ou - varredura das diagonais uma após a outra.
[0085] De acordo com essa outra variante, é possível simular o custo de codificação associado com cada uma das ordens de varredura e selecionar a melhor ordem de varredura para o bloco atual, em termos de velocidade / distorção, então codificar para o bloco atual um item de informações representativo da ordem de varredura selecionada.
[0086] Ao final da etapa E222, o bloco de resíduo quantificado Rio foi determinado. Esse bloco de resíduo quantificado Rio deve ser codificado para transmissão do decodificador. O previsor P1 do bloco atual também foi determinado.
[0087] Em uma etapa E223, o bloco de resíduo quantificado R1o foi é codificado para transmissão ao decodificador. Qualquer abordagem conhecida, tal como o método descrito na HEVC, pode ser usada para codificar os coeficientes quantificados de um resíduo de previsão convencional.
[0088] De acordo com a concretização particular da invenção descrita no presente relatório descritivo, os valores do bloco de resíduo quantificado R1o são codificados usando um codificador por entropia do fluxo de dados STR.
[0089] De acordo com uma concretização particular da invenção, é possível determinar e codificar um resíduo de previsão adicional R2 do previsor ILR obtido para o bloco atual. A codificação de um resíduo de previsão adicional R2 é, no entanto, opcional. De fato, é possível simplesmente codificar o bloco atual por sua versão prevista P1 e pelo resíduo quantificado Rio. Para codificar um resíduo de previsão adicional RQ para o bloco atual, as seguintes etapas são implementadas.
[0090] Em uma etapa E224, a diferença R2 entre o previsor Pl e o bloco atual original Xv é calculada para formar um resíduo adicional R2: R2= Xv-P1l. As seguintes etapas correspondem às etapas de codificação convencionais para esse resíduo R2.
[0091] Em uma etapa E225, o resíduo R2 é transformado usando uma transformada de frequência, para produzir o bloco de coeficientes R2r7.
[0092] A transformada pode ser, por exemplo, uma transformada do tipo DCT. É possível selecionar a transformada para que seja usada de um conjunto predeterminado de transformadas Er2 e informar o decodificador da transformada usada. Nesse caso, o conjunto Er2 pode ser diferente do conjunto Er para adaptação às estatísticas particulares do resíduo R2.
[0093] Em uma etapa E226, o bloco de coeficientes R27 é quantificado, por exemplo, usando uma quantificação escalar 8 da etapa de quantificação. Isso produz o bloco R2ro.
[0094] A etapa de quantificação ô pode ser estabelecida pelo usuário. Pode ser também calculada usando outro parâmetro », estabelecendo o compromisso entre a compressão e a qualidade e introduzido pelo usuário ou pelo codificador. Por exemplo, a etapa de quantificação 8 pode corresponder à etapa de quantificação 8: ou ser determinada de modo similar a ela.
[0095] Em uma etapa E227, os coeficientes do bloco quantificado R2r71o são então transmitidos em uma maneira codificada. Por exemplo, a codificação especificada no padrão de HEVC pode ser usada.
[0096] Em uma maneira conhecida, o bloco atual é decodificado por dequantificação dos coeficientes do bloco quantificado R270, depois, por aplicação da transformada inversa aos coeficientes dequantificados para obter o resíduo de previsão decodificado. A previsão P1 é então adicionada ao resíduo de previsão decodificado para reconstruir o bloco atual e obter sua versão decodificada Xrec. A versão decodificada Xrec do bloco atual pode ser então usada mais tarde para prever espacialmente outros blocos vizinhos da imagem ou prever blocos de outras imagens por previsão inter de imagens.
[0097] Em uma etapa E23, checa-se se o bloco atual é o último bloco da imagem a ser processado pelo método de codificação, considerando a ordem de varredura definida previamente. Se o bloco atual não for o último bloco da imagem a ser processado, em uma etapa E24, o bloco subsequente da imagem a ser processado é selecionado de acordo com a ordem de varredura definida previamente da imagem e o modo de codificação ILR segue para a etapa E2, na qual o bloco selecionado se torna o bloco atual a ser processado.
[0098] Se todos os blocos da imagem forem codificados, o processo segue para a aplicação dos métodos de pós-processamento, que vão ser aplicados na imagem reconstruída em uma etapa E231. Como discutido acima, esses métodos de pós-processamento podem ser uma filtragem de desbloqueio e/ou um método de SAO. Uma vez que a aplicação das operações de pós-processamento é feita de modo similar no codificador e no decodificador, a etapa E231 vai ser descrita mais tarde.
[0099] Após aplicação de pelo menos um método de pós- processamento, o método segue para a codificação (etapa E25) da imagem seguinte do vídeo, se alguma.
[00100] A Figura 4 mostra as etapas do método para decodificar um fluxo STR de dados codificados, representativos de uma sequência de imagens 1, l2, ..., lh a ser decodificada de acordo com uma concretização particular da invenção.
[00101] Por exemplo, o fluxo de dados STR é proporcionado como entrada para um dispositivo de decodificação DEC, como descrito em relação à Figura 7.
[00102] O método de decodificação decodifica o fluxo imagem por imagem e cada imagem é decodificada bloco por bloco.
[00103] Em uma etapa E40, uma imagem |;, a ser decodificada, é subdividida em blocos. Cada bloco vai sofrer uma operação de decodificação, que consiste em uma série de etapas que são detalhadas posteriormente. Os blocos podem ser de tamanhos iguais ou diferentes.
[00104] Emuma etapa E41, um primeiro bloco ou sub-bloco Xr, a ser decodificado da imagem |;, é selecionado como o bloco atual, de acordo com uma ordem de varredura predeterminada da imagem |. Por exemplo, pode ser o primeiro bloco na ordem de varredura lexicográfica da imagem.
[00105] Em uma etapa E42, um item de informações indicando um modo de codificação para o bloco atual é lido do fluxo de dados STR. De acordo com a concretização particular descrita no presente relatório descritivo, esse item de informações indica se o bloco atual é codificado de acordo com um primeiro modo de codificação M1 ou de acordo com um segundo modo de codificação M2. De acordo com a concretização particular descrita no presente relatório descritivo, o primeiro modo de codificação M1 corresponde à codificação de previsão intra convencional do bloco atual, por exemplo, como definido de acordo com o padrão de HEVC, e o segundo modo de codificação M2 corresponde à codificação de previsão Residual em Circuito Fechado (ILR).
[00106] Em outras concretizações particulares, o item de informações lido do fluxo STR também pode indicar o uso de outros modos de codificação para codificar o bloco atual (não descrito no presente relatório descritivo).
[00107] A etapa E43 para decodificar o bloco atual, quando o bloco atual é codificado de acordo com o primeiro modo de codificação M1, como descrito abaixo.
[00108] Em uma etapa E430, uma etapa de quantificação 8: é determinada. Por exemplo, a etapa de quantificação ô, é determinada do parâmetro de quantificação QP lido na etapa E401, ou de modo similar ao que foi feito no codificador. Por exemplo, a etapa de quantificação 8; pode ser calculada usando o parâmetro de quantificação QP lido na etapa E401. Por exemplo, o parâmetro de quantificação QP pode ser o parâmetro de quantificação usado convencionalmente nos padrões AVC ou HEVC. Desse modo, no padrão de HEVC, a etapa de quantificação 8: é determinada pela equação 6ó,=levelScale[ QP%SB6 ] << (QP/6)) em que levelScale[ k] = 1 40, 45, 51, 57, 64, 72) for k= 0,5.
[00109] Em uma etapa E431, o modo de previsão selecionado para codificar o bloco atual é decodificado dos blocos vizinhos. Para esse fim, como foi feito no codificador, o modo de previsão intra, selecionado para o bloco atual, é codificado usando os modos de previsão intra associados com os blocos vizinhos do bloco atual.
[00110] A construção de ambas as listas MPM e não MPM é estritamente similar ao que foi feito durante a codificador. De acordo com o padrão de HEVC, os elementos de sintaxe do seguinte tipo são decodificados: - um indicador binário indicando se o modo de previsão a ser codificado para o bloco atual estiver ou não na lista MPM; - se o modo de previsão do bloco atual pertencer à lista MPM, um índice na lista MPM, correspondente ao modo de previsão do bloco atual codificado; e - se o modo de previsão do bloco atual não pertencer à lista MPM, um Índice na lista não MPM, correspondente ao modo de previsão do bloco atual codificado.
[00111] O indicador binário e o índice do modo de previsão são, desse modo, lidos para o bloco atual do fluxo de dados STR para decodificar o modo de previsão intra do bloco atual.
[00112] Em uma etapa E432, o decodificador constrói um bloco previsto P para o bloco atual do modo de previsão decodificado.
[00113] Em uma etapa E433, o decodificador decodifica os coeficientes do bloco quantificado Rro do fluxo de dados STR, por exemplo, usando a decodificação especificada no padrão de HEVC.
[00114] Em uma etapa E434, o bloco decodificado Rio é dequantificado, por exemplo, usando uma dequantificação escalar de etapa de quantificação 81. Isso produz o bloco de coeficientes dequantificados Rrop.
[00115] Em uma etapa E435, uma transformada de frequência inversa é aplicada ao bloco de coeficientes dequantificados Rrop para produzir o bloco de resíduo de previsão decodificado Rroni. A transformada pode ser, por exemplo, uma transformada do tipo DOT inversa. É possível selecionar a transformada para que seja usada de um conjunto predeterminado de transformadas Er, por decodificação de um indicador do fluxo de dados STR.
[00116] Em uma etapa E436, o bloco atual é reconstruído do bloco previsto P, obtido na etapa E432, e do bloco de resíduo decodificado Rroni, obtido na etapa E435, para produzir o bloco atual decodificado Xrec, por Xrec = P + Rronr.
[00117] A etapa E44 para decodificar o bloco atual, quando o bloco atual é codificado de acordo com o segundo modo de codificação M2, é descrita abaixo.
[00118] Em uma etapa E440, o previsor local PL, usado para prever os pixels do bloco atual, é determinado. No caso no qual apenas um previsor é disponível, o previsor local é, por exemplo, estabelecido por padrão no nível do decodificador e nenhum elemento de sintaxe precisa ser lido do fluxo STR para determina-lo.
[00119] No caso no qual vários previsores locais estão disponíveis, por exemplo, os previsores PL1 - PL4 descritos acima, um elemento de sintaxe é decodificado do fluxo de dados STR para identificar que previsor local foi usado para prever o bloco atual. O previsor local é assim determinado desse elemento de sintaxe decodificado.
[00120] Em uma etapa E441, a etapa de quantificação ô2 é determinada de modo similar ao que foi feito no codificador.
[00121] Em uma etapa E442, o resíduo quantificado Rio é decodificado do fluxo de dados STR. Qualquer abordagem conhecida, tal como o método descrito na HEVC, pode ser usada para decodificar os coeficientes quantificados do resíduo de previsão convencional.
[00122] Em uma etapa E443, o bloco do resíduo quantificado Rio é dequantificado usando a etapa de quantificação 82 para produzir o bloco de resíduo dequantificado Rio.
[00123] Emuma etapa E444, quando o bloco do resíduo quantificado R1o é obtido, o bloco previsto P1 é construído usando o previsor local PL determinado na etapa E440.
[00124] Na etapa E444, cada pixel do bloco atual é previsto e reconstruído como se segue:
[00125] -o pixel atualX do bloco atual é previsto pelo previsor PL selecionado, usando os pixels fora do bloco e já reconstruídos ou os pixels previamente reconstruídos do bloco atual, ou ambos, para obter um valor previsto PRED. Em todos os casos, o previsor PL usa pixels decodificados previamente; e
[00126] -o valor previsto decodificado P1(X) do bloco atual X é calculado por adição ao valor previsto PRED do valor dequantificado do resíduo de previsão R1op de modo que P1(X) = PRED + R1op(X).
[00127] Essas etapas são implementadas para todos os pixels do bloco atual, em uma ordem de varredura que garante que os pixels, usados para a previsão selecionada de PL1, ..., PL4, estejam disponíveis.
[00128] Por exemplo, a ordem de varredura é a ordem lexicográfica (da esquerda para a direita, depois linhas da parte de topo para a de fundo).
[00129] “De acordo com uma concretização particular da invenção, o bloco previsto P1, compreendendo os valores previstos decodificados P1(X) de cada pixel do bloco atual, forma, nesse caso, o bloco atual decodificado Xrec.
[00130] De acordo com outra concretização particular da invenção, considera-se, nesse caso, que um resíduo de previsão adicional foi codificado para o bloco atual. É, portanto, necessário decodificar esse resíduo de previsão adicional para reconstruir a versão decodificada do bloco atual Xrec.
[00131] Por exemplo, essa outra concretização particular pode ser ativada ou não por padrão no nível do codificador e do decodificador. Ou, um indicador pode ser codificado no fluxo de dados com as informações no nível de bloco para indicar para cada bloco codificado de acordo com o modo de codificação ILR, se um resíduo de previsão adicional está codificado. Ou, ainda mais, um indicador pode ser codificado no fluxo de dados com as informações no nível da imagem ou sequências de imagens para indicar para todos os blocos da imagem ou da sequência de imagens, codificados de acordo com o modo de codificação ILR, se um resíduo de previsão adicional está codificado.
[00132] Quando um resíduo de previsão adicional é codificado para o bloco atual, em uma etapa E445, os coeficientes do resíduo de previsão quantificado R27o são decodificados do fluxo de dados STR, usando meios adaptados àqueles implementados no codificador, por exemplo, os meios implementos em um decodificador de HEVC.
[00133] Em uma etapa E446, o bloco de coeficientes quantificados R27o é dequantificado, por exemplo, usando uma dequantificação escalar da etapa de quantificação 81. Isso produz o bloco de coeficientes dequantificados R2rop.
[00134] Em uma etapa E447, uma transformada de frequência inversa é aplicada no bloco R27opv para produzir o bloco de resíduo de previsão decodificado R27ou:.
[00135] A transformada inversa pode ser, por exemplo, uma transformada do tipo DCT.
[00136] É possível selecionar a transformada para ser usada de um conjunto predeterminado de transformadas Er2 e decodificar o item de informações, que informa ao decodificador a transformada a ser usada. Nesse caso, o conjunto Er, é diferente do conjunto Er, para adaptação às estatísticas particulares do resíduo R2.
[00137] Emuma etapa E448, o bloco atual é reconstruído por adição do bloco previsto P1, obtido na etapa E444 para o resíduo de previsão decodificado R2ron:.
[00138] Em uma etapa E45, checa-se se um bloco atual é o último bloco da imagem a ser processado pelo método de decodificação, considerando a ordem de varredura definida previamente. Se o bloco atual não é o último bloco a ser processado, em uma etapa E46, o bloco subsequente da imagem a ser processado é selecionado de acordo com a ordem de varredura definida previamente da imagem, e o método de decodificação segue para a etapa E42, o bloco selecionado se tornando o bloco atual a ser processado.
[00139] Se todos os blocos da imagem tiverem sido decodificados, o processo segue para a aplicação de pelo menos um método de pós- processamento, a ser aplicado à imagem reconstruída em uma etapa E451. Como discutido acima, esses métodos de pós-processamento podem ser uma filtragem de desbloqueio e/ou um método de SAO.
[00140] Após aplicar pelo menos um método de pós-processamento, o método segue para decodificação (etapa E47) da imagem seguinte do vídeo, se alguma.
[00141] Asetapas E231 e E451, para aplicar pelo menos um método de pós-processamento no codificador e no decodificador,
respectivamente, de acordo com a invenção, são descritas abaixo.
[00142] —Asoperações de pós-processamento requerem, geralmente, um acesso aos dados contidos nos blocos vizinhos de um bloco atual a ser processado, incluindo os blocos "futuros" ou ainda não reconstruídos, de acordo com a ordem de varredura dos blocos na imagem usada no codificador e no decodificador. As operações de pós- processamento são, portanto, geralmente, executadas ao se fazer um segundo circuito fechado completo em todos os blocos reconstruídos da imagem. Desse modo, no codificador e no decodificador, um primeiro circuito completo em todos os blocos da imagem constrói uma versão reconstruída dos blocos das imagens ou sequências de imagens codificadas para os blocos, depois, um circuito fechado de pós- processamento é executado pelos blocos reconstruídos de novo para aperfeiçoar a reconstrução deles. Dois exemplos de melhoria são apresentados acima, o princípio geral da invenção se aplicando, naturalmente, a outros métodos de pós-processamento.
FILTRAGEM DE DESBLOQUEIO
[00143] Durante essa operação de processamento, uma filtragem de "desbloqueio" é aplicada aos blocos reconstruídos da imagem. Essa filtragem consiste geralmente na aplicação de um filtro passa-baixo aos pixels, que estão no limite de um bloco reconstruído. Esse filtro é descrito em termos gerais no artigo: Andrey Norkin et al., "HEVC deblocking filter", IEEE Transactions on Circuits and Systems for Video Technology (Volume: 22, Publicação: 12, Dec. 2012), página(s): 1.746 — 1.754, 05 de outubro de 2012.
[00144] “De acordo com uma concretização particular da invenção, a filtragem de desbloqueio é aplicada apenas no limite de dois blocos reconstruídos, que foram codificados previamente por um modo de codificação convencional, isto é, diferente de ILR.
[00145] Essa concretização particular da invenção é, por exemplo,
ilustrada na Figura 5A, mostrando: - um bloco reconstruído de pixels 80, que foi decodificado de acordo com o modo de codificação M2 (ILR); - um bloco reconstruído do pixels 81, que foi decodificado de acordo com um modo de codificação M1 (não ILR), vizinho ao bloco 80; e - um bloco reconstruído de pixels 82, que foi decodificado de acordo com um modo de codificação M1 (não ILR), vizinho ao bloco 81.
[00146] Na rFigura5A: - os pixels hachurados correspondem aos pixels para os quais a aplicação da filtragem de desbloqueio é desabilitada; - Os pixels cheios de pontos são pixels que, devido à localização deles no bloco reconstruído, não são afetados pela filtragem de desbloqueio; e - os pixels brancos são os pixels nos quais a filtragem de desbloqueio é aplicada.
[00147] “Desse modo, de acordo com uma concretização particular da invenção descrita, quando o bloco atual, por exemplo, o bloco 80, é decodificado ou codificado de acordo com o modo de codificação M2, a aplicação da filtragem de desbloqueio ao bloco atual reconstruído é desabilitada para todos os pixels do bloco atual. Isso é mostrado na Figura 5A, na qual todos os pixels no limite do bloco 80 estão hachurados.
[00148] Além do mais, quando o bloco atual, por exemplo, o bloco 81, é decodificado ou codificado de acordo com um modo de codificação convencional ou não ILR, a filtragem de desbloqueio é aplicada a um pixel do bloco atual reconstruído, se o pixel for localizado em um limite do bloco atual reconstruído com um bloco vizinho, e se o bloco vizinho for decodificado ou codificado de acordo com um modo de codificação convencional, isto é, não ILR. Isso é mostrado na Figura 5A, na qual todos os pixels do bloco 18, localizados no limite com o bloco 80, estão hachurados, e todos os pixels do bloco 81, localizados no limite com o bloco 82, estão brancos.
[00149] “De acordo com uma concretização particular da invenção, a filtragem de desbloqueio é apenas aplicada no limite dos dois blocos, do quais pelo menos um dos blocos é um bloco codificado / decodificado de acordo com um modo de codificação convencional (por exemplo, M1 no exemplo descrito em relação às Figuras 2 e 4).
[00150] Essa concretização particular da invenção é, por exemplo, ilustrada na Figura 5B, mostrando: - um bloco reconstruído de pixels 83, que foi decodificado de acordo com o modo de codificação M1 (não ILR); - um bloco reconstruído de pixels 84, que foi decodificado de acordo com um modo de codificação M2 (ILR), vizinho do bloco 83; e - um bloco reconstruído de pixels 85, que foi decodificado de acordo com um modo de codificação M2 (ILR), vizinho do bloco 84.
[00151] Na Figura 5B: - os pixels hachurados correspondem aos pixels para os quais a aplicação da filtragem de desbloqueio é desabilitada; - Os pixels cheios de pontos são pixels que, devido à localização deles no bloco, não são afetados pela filtragem de desbloqueio; e - os pixels brancos são os pixels nos quais a filtragem de desbloqueio é aplicada.
[00152] Desse modo, de acordo com a concretização particular da invenção descrita, quando o bloco atual, por exemplo, o bloco 84, for decodificado ou codificado de acordo com o modo de codificação M2 (ILR), a aplicação da filtragem de desbloqueio é desabilitada para um pixel do bloco atual reconstruído 84, se o pixel for localizado em um limite do bloco atual reconstruído 84 com um bloco vizinho, e se o dito bloco vizinho for decodificado ou codificado de acordo com o modo de codificação M2 (ILR). Isso é mostrado na Figura BLOCOS DE PIXELS,
na qual todos os pixels do bloco 84, localizados no limite com o bloco 85 estão hachurados.
[00153] Além do mais, de acordo com essa concretização particular da invenção, a filtragem de desbloqueio é aplicada a um pixel do bloco atual reconstruído (84), se o pixel estiver localizado em um limite do bloco atual reconstruído com um bloco vizinho, e se o bloco vizinho for decodificado ou codificado de acordo com um modo de codificação distinto do modo de codificação M2. Isso é mostrado na Figura 5B, na qual todos os pixels do bloco 84, localizados no limite com o bloco 83, são brancos.
OPERAÇÃO DE PROCESSAMENTO DE SAO
[00154] Tipicamente, a operação de processamento de SAO é aplicada a todos os pixels de um bloco reconstruído. Essa operação de processamento de SAO consiste na mudança de cada pixel do bloco por um valor explicitamente transmitido para o decodificador, dependendo do meio físico do dito pixel. A operação de processamento de SAO é descrita por Chih-Ming Fu, Elena Alshina, Alexander Alshin, Yu-Wen Huang, Ching-Yeh Chen, e Chia-Yang Tsai, Chih-Wei Hsu, Shaw-Min Lei, Jeong-Hoon Park, e Woo-Jin Han, "Sample Adaptive Offset in the HEVC Standard" IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, No. 12, dezembro de 2012, 1.755.
[00155] De acordo com uma concretização particular da invenção, a operação de processamento de SAO é aplicada apenas nos blocos reconstruídos, que foram codificados por um modo de codificação convencional, isto é, não ILR. Em outras palavras, quando o bloco atual é decodificado ou codificado de acordo com o modo de codificação ILR (M2 no exemplo descrito previamente), a aplicação do método de SAO ao bloco atual reconstruído é desabilitada para todos os pixels do bloco atual reconstruído.
[00156] A Figura6 mostra a estrutura simplificada de um dispositivo de codificação, adaptado para implementar o método de codificação, de acordo com qualquer uma das concretizações particulares da invenção.
[00157] De acordocom uma concretização particular da invenção, as etapas do método de codificação são implementadas por instruções de programa de computador. Para esse fim, o dispositivo de codificação COD tem a arquitetura-padrão de um computador e compreende, especialmente, uma memória MEM, uma unidade de processamento UT, equipada, por exemplo, com um processador PROC, e acionado pelo programa de computador PG, armazenado na memória MEM. O programa de computador PG compreende instruções para implementar as etapas do método de codificação descritas acima, quando o programa é executado pelo processador PROC.
[00158] Na inicialização, as instruções de códigos do programa de computador PG são, por exemplo, carregadas em uma memória RAM (não mostrada), antes de serem executadas pelo processador PROC. Em particular, o processador PROC da unidade de processamento UT implementa as etapas do método de codificação descritas acima, de acordo com as instruções do programa de computador PG.
[00159] A Figura 7 mostra a estrutura simplificada de um dispositivo de decodificação DEC, adaptado para implementar o método de decodificação, de acordo com qualquer uma das concretizações particulares da invenção.
[00160] De acordo com uma concretização particular da invenção, o dispositivo de decodificação DEC tem a arquitetura-padrão de um computador e compreende, especialmente, uma memória MEMO, uma unidade de processamento UTO, equipada, por exemplo, com um processador PROCO, e acionado pelo programa de computador PGO, armazenado na memória MEMO. O programa de computador PG compreende instruções para implementar as etapas do método de codificação descritas acima, quando o programa é executado pelo processador PROCO.
[00161] Na inicialização, as instruções de códigos do programa de computador PGO são, por exemplo, carregadas em uma memória RAM (não mostrada), antes de serem executadas pelo processador PROCO. Em particular, o processador PROC da unidade de processamento UTO implementa as etapas do método de codificação descritas acima, de acordo com as instruções do programa de computador PGO.

Claims (11)

REIVINDICAÇÕES
1. Método para decodificar um fluxo de dados codificados, representativo de pelo menos uma imagem, a dita imagem sendo dividida em blocos, caracterizado pelo fato de que o método de decodificação compreende, para pelo menos um bloco da imagem, referido como o bloco atual: - decodificar (E42) um item de informações indicando um modo de codificação do bloco atual entre pelo menos um primeiro modo de codificação e um segundo modo de codificação, o segundo modo de codificação sendo um modo de codificação, de acordo com o qual o bloco atual é decodificado (E44) por, para cada pixel no bloco atual: - obter uma previsão do dito pixel de outro pixel decodificado previamente, o dito outro pixel decodificado previamente pertencente ao dito bloco atual ou a um bloco decodificado previamente da imagem; - decodificar um resíduo de previsão associado com o dito pixel; e - reconstruir o dito pixel da previsão do dito pixel obtida e do resíduo de previsão decodificado associado com o dito pixel; e - decodificar (E44, E43) o bloco atual de acordo com o modo de codificação indicado pelo item de informações decodificado, - em que: - quando o modo de codificação do bloco atual corresponder a um modo de codificação distinto do segundo modo de codificação, aplicar pelo menos um método de processamento ao bloco atual reconstruído; e - quando o modo de codificação do bloco atual corresponder ao segundo modo de codificação, desabilitar a aplicação do dito pelo menos um método de processamento ao bloco atual reconstruído para pelo menos um pixel do dito bloco atual.
2. Método para codificar um fluxo de dados representativo de pelo menos uma imagem, a dita imagem sendo dividida em blocos, caracterizado pelo fato de que compreende, para pelo menos um bloco da imagem, referido como o bloco atual: - codificar (E20) um item de informações indicando um modo de codificação do modo de codificação do bloco atual entre pelo menos um primeiro modo de codificação e um segundo modo de codificação, o segundo modo de codificação sendo um modo de codificação de acordo com o qual o bloco atual é codificado (E22) por, para cada pixel do bloco atual: - obter (E222) uma previsão do dito pixel de outro pixel decodificado previamente, o dito outro pixel decodificado previamente pertencendo ao dito bloco atual ou a um bloco decodificado previamente da imagem; - codificar (E223) um resíduo de previsão associado com o dito pixel obtido da previsão do dito pixel; e - reconstruir o dito pixel do resíduo de previsão decodificado, associado com o dito pixel e a previsão do dito pixel; e - codificar (E21, E22) o bloco atual de acordo com o modo de codificação indicado pelo item de informações codificado, - em que: - quando o modo de codificação do bloco atual corresponder a um modo de codificação distinto do segundo modo de codificação, aplicar pelo menos um método de processamento ao bloco atual reconstruído; e - quando o modo de codificação do bloco atual corresponder ao segundo modo de codificação, desabilitar a aplicação do dito pelo menos um método de processamento ao bloco atual reconstruído para pelo menos um pixel do dito bloco atual.
3. Método, de acordo com a reivindicação 1 ou 2,
caracterizado pelo fato de que o dito método de processamento é uma filtragem de desbloqueio, aplicada aos pixels do bloco atual reconstruído, que são localizados no limite do bloco atual reconstruído com um bloco vizinho reconstruído na imagem.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que: - quando o bloco atual é decodificado ou codificado de acordo com o segundo modo de codificação: - a aplicação da filtragem de desbloqueio ao bloco atual reconstruído é desabilitada para todos os pixels do bloco atual reconstruído; e - quando o bloco atual é decodificado ou codificado de acordo com um modo de codificação distinto do segundo modo de codificação: - a filtragem de desbloqueio é aplicada a um pixel do bloco atual reconstruído, se o dito pixel estiver localizado em um limite do dito bloco atual reconstruído com um bloco reconstruído vizinho na imagem, e se o dito bloco vizinho for decodificado ou codificado de acordo com um modo de codificação distinto do segundo modo de codificação.
5. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que: - quando o bloco atual é codificado ou decodificado de acordo com o segundo modo de codificação: - a aplicação da filtragem de desbloqueio ao bloco atual reconstruído é desabilitada para um pixel do bloco atual reconstruído, se o dito pixel estiver localizado em um limite o dito bloco atual reconstruído com um bloco vizinho na imagem e se o dito bloco vizinho estiver decodificado ou codificado de acordo com o segundo modo de codificação; e
- a filtragem de desbloqueio é aplicada a um pixel do bloco atual reconstruído, se o dito pixel estiver localizado em um limite do dito bloco atual reconstruído com um bloco vizinho reconstruído na imagem, e se o dito bloco vizinho estiver decodificado ou codificado de acordo com um modo de codificação distinto do segundo modo de codificação.
6. Método, de acordo com a reivindicação | ou 2, caracterizado pelo fato de que o dito método de processamento é um método para corrigir pelo menos um pixel no bloco atual reconstruído por adição ao valor reconstruído do dito pixel de um valor obtido de um item de informações codificado no fluxo de dados ou decodificado do fluxo de dados.
7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que, quando o bloco atual é codificado ou decodificado de acordo com o segundo modo de codificação, a aplicação do dito método de correção no bloco atual reconstruído é desabilitada para todos os pixels do bloco atual reconstruído.
8. Dispositivo para decodificar um fluxo de dados codificados representativo de pelo menos uma imagem, a dita imagem sendo dividida em blocos, caracterizado pelo fato de que compreende um processador (PROCO), configurado para pelo menos um bloco da imagem, referido como o bloco atual, para: - decodificar um item de informações indicando um modo de codificação do bloco atual entre pelo menos um primeiro modo de codificação e um segundo modo de codificação, o segundo modo de codificação sendo um modo de codificação de acordo com o qual o bloco atual é decodificado por, para cada pixel do bloco atual: - obter uma previsão do dito pixel de outro pixel decodificado previamente, o dito outro pixel decodificado previamente pertencendo ao dito bloco atual ou a um bloco decodificado previamente da imagem; - decodificar um resíduo de previsão associado com o dito pixel; e - reconstruir o dito pixel da previsão do dito pixel obtida e do resíduo de previsão decodificado associado com o dito pixel; e - decodificar o bloco atual de acordo com o modo de codificação indicado pelo item de informações decodificado, - em que: - quando o modo de codificação do bloco atual corresponder a um modo de codificação distinto do segundo modo de codificação, aplicar pelo menos um método de processamento no bloco atual reconstruído; e - quando o modo de codificação do bloco atual corresponder ao segundo modo de codificação, desabilitar a aplicação do dito pelo menos um método de processamento no bloco atual reconstruído para pelo menos um pixel do dito bloco atual.
9. Dispositivo para codificar um fluxo de dados representativo de pelo menos uma imagem, a dita imagem sendo dividida em blocos, caracterizado pelo fato de que compreende um processador (PROC), configurado para pelo menos um bloco da imagem, referido como o bloco atual, para: - codificar um item de informações indicando um modo de codificação do bloco atual entre pelo menos um primeiro modo de codificação e um segundo modo de codificação, o segundo modo de codificação sendo um modo de codificação, de acordo com o qual o bloco atual é codificado por, para cada pixel do bloco atual: - obter (E222) uma previsão do dito pixel de outro pixel decodificado previamente, o dito outro pixel decodificado previamente pertencendo ao dito segunda superfície de borda ou a um bloco decodificado previamente da imagem;
- codificar (E223) um resíduo de previsão associado com o dito pixel obtido da previsão do dito pixel; e - reconstruir o dito pixel do resíduo de previsão decodificado associado com o dito pixel e a previsão do dito pixel; - codificar o bloco atual de acordo com o modo de codificação indicado pelo item de informações codificado, - quando o modo de codificação do bloco atual corresponder a um modo de codificação distinto do segundo modo de codificação, aplicar pelo menos um método de processamento no bloco atual reconstruído; e - quando o modo de codificação do bloco atual corresponder ao segundo modo de codificação, desabilitar a aplicação do dito pelo menos um método de processamento no bloco atual reconstruído para pelo menos um pixel do dito bloco atual.
10. Programa de computador, caracterizado pelo fato de que compreende instruções para implementar o método de decodificação, como definido em qualquer uma das reivindicações 1 ou 3 a 7, ou O método de codificação, como definido em qualquer uma das reivindicações 2 a 7, quando o dito programa é executado por um processador.
11. Meio de dados legível por computador, caracterizado pelo fato de que compreende instruções de um programa de computador, como definido na reivindicação 10.
BR112021003486-2A 2018-09-21 2019-09-03 métodos e dispositivos para codificação e decodificação de um fluxo de dados representando pelo menos uma imagem BR112021003486A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1858573A FR3086487A1 (fr) 2018-09-21 2018-09-21 Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image.
FR1858573 2018-09-21
PCT/FR2019/052029 WO2020058595A1 (fr) 2018-09-21 2019-09-03 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
BR112021003486A2 true BR112021003486A2 (pt) 2021-05-18

Family

ID=65494291

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021003486-2A BR112021003486A2 (pt) 2018-09-21 2019-09-03 métodos e dispositivos para codificação e decodificação de um fluxo de dados representando pelo menos uma imagem

Country Status (8)

Country Link
US (2) US11516465B2 (pt)
EP (1) EP3854085A1 (pt)
JP (2) JP7487185B2 (pt)
KR (1) KR20210062048A (pt)
CN (2) CN112740690B (pt)
BR (1) BR112021003486A2 (pt)
FR (1) FR3086487A1 (pt)
WO (1) WO2020058595A1 (pt)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012134046A2 (ko) * 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
US9338476B2 (en) * 2011-05-12 2016-05-10 Qualcomm Incorporated Filtering blockiness artifacts for video coding
US9510020B2 (en) * 2011-10-20 2016-11-29 Qualcomm Incorporated Intra pulse code modulation (IPCM) and lossless coding mode deblocking for video coding
EP2774360B1 (en) 2011-11-04 2017-08-02 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding
EP3058739B1 (en) * 2013-10-14 2019-08-07 Microsoft Technology Licensing, LLC Features of intra block copy prediction mode for video and image coding and decoding
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
AU2014202921B2 (en) * 2014-05-29 2017-02-02 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking a block of video samples
US9924175B2 (en) * 2014-06-11 2018-03-20 Qualcomm Incorporated Determining application of deblocking filtering to palette coded blocks in video coding
US10924744B2 (en) * 2017-11-17 2021-02-16 Intel Corporation Selective coding
US11470329B2 (en) 2018-12-26 2022-10-11 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
WO2020058595A1 (fr) 2020-03-26
KR20210062048A (ko) 2021-05-28
US11516465B2 (en) 2022-11-29
US20210352272A1 (en) 2021-11-11
EP3854085A1 (fr) 2021-07-28
FR3086487A1 (fr) 2020-03-27
CN112740690B (zh) 2024-04-09
JP7487185B2 (ja) 2024-05-20
US20230050410A1 (en) 2023-02-16
CN118175323A (zh) 2024-06-11
JP2024092045A (ja) 2024-07-05
US11962761B2 (en) 2024-04-16
JP2022501910A (ja) 2022-01-06
CN112740690A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
TWI755376B (zh) 用於視訊寫碼之濾波器之幾何轉換
KR100612785B1 (ko) 경계강도에 기초한 적응 필터링
ES2961936T3 (es) Aparato de codificación de imágenes en movimiento, aparato de decodificación de imágenes en movimiento, método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
BR122020002123B1 (pt) Aparelho e método de gerar candidatos de preditores de vetor de movimento
BR122020002126B1 (pt) Método e dispositivo de derivação de valores de modo de predição de referência e codificação e decodificação de informação representando modos de predição, e meio de armazenamento
KR20100103867A (ko) 인트라 예측 비디오의 조명 보상 방법 및 장치
KR20070111467A (ko) 중간 루프 필터 데이터를 저장하는 스크래치 패드
BR112014010839B1 (pt) Processo de codificação e decodificação de imagens, dispositivo de codificação e decodificação e suportes legíveis por computador correspondentes
KR20120126067A (ko) 비디오 인코딩 및 디코딩을 위한 적응적 템플릿 매칭 예측 방법 및 장치
BR122022013656B1 (pt) Processo de decodificação de um sinal de dados representativo de pelo menos uma imagem subdividida em partições que foi anteriormente codificada
JP2007013298A (ja) 画像符号化装置
JP2023018110A (ja) ビデオサンプルの変換されたブロックを符号化および復号する方法、装置、およびシステム
BR112016011972B1 (pt) Processo de codificação de pelo menos uma imagem cortada em blocos e dispositivo de decodificação de um sinal de dados representativo de pelo menos uma imagem cortada em blocos
JP2007503787A (ja) メモリ帯域幅要求が低いビデオ処理装置
BR112021003632A2 (pt) métodos e dispositivos para codificar e decodificar um fluxo de dados que representa pelo menos uma imagem
BR112021003486A2 (pt) métodos e dispositivos para codificação e decodificação de um fluxo de dados representando pelo menos uma imagem
CN112313955B (zh) 对表示至少一个图像的数据流进行编码和解码的方法和装置
CN113412618B (zh) 用于编码和解码表示至少一个图像的数据流的方法和设备
WO2022174477A1 (zh) 一种编码方法、解码方法、编码器、解码器以及存储介质
BR112021003210A2 (pt) métodos e dispositivos para codificar e decodificar uma sequência de dados representando pelo menos uma imagem
JP2024513993A (ja) 方法、電子装置、非一時的コンピュータ可読記憶媒体、およびコンピュータプログラム
BR112020024456A2 (pt) Métodos e dispositivos de codificação e de decodificação de um fluxo de dados representativo de pelo menos uma imagem
BR112017024902B1 (pt) Dispositivo codificador de vídeo, método para codificação preditiva, dispositivo decodificador de vídeo, método para decodificar um fluxo de bits de vídeo, e meio não transitório legível por computador