BR112015025330B1 - Método e dispositivo para determinar o valor de um parâmetro de quantização - Google Patents

Método e dispositivo para determinar o valor de um parâmetro de quantização Download PDF

Info

Publication number
BR112015025330B1
BR112015025330B1 BR112015025330-0A BR112015025330A BR112015025330B1 BR 112015025330 B1 BR112015025330 B1 BR 112015025330B1 BR 112015025330 A BR112015025330 A BR 112015025330A BR 112015025330 B1 BR112015025330 B1 BR 112015025330B1
Authority
BR
Brazil
Prior art keywords
image
quantization parameter
value
qpi
color
Prior art date
Application number
BR112015025330-0A
Other languages
English (en)
Other versions
BR112015025330A2 (pt
Inventor
Christophe Gisquet
Patrice Onno
Guillaume Laroche
Edouard Francois
Original Assignee
Canon Kabushiki Kaisha
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 Canon Kabushiki Kaisha filed Critical Canon Kabushiki Kaisha
Publication of BR112015025330A2 publication Critical patent/BR112015025330A2/pt
Publication of BR112015025330B1 publication Critical patent/BR112015025330B1/pt

Links

Images

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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/124Quantisation
    • 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/142Detection of scene cut or scene change
    • 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/162User input
    • 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
    • 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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Image Communication Systems (AREA)
  • Color Television Systems (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

MÉTODO E DISPOSITIVO PARA DETERMINAR O VALOR DE UM PARÂMETRO DE QUANTIZAÇÃO. O valor de um parâmetro de quantização para pelo menos um segundo componente de cor de uma imagem ou porção de imagem é determinado usando um formato de cor atual dentre diversos formatos de cor possíveis. A determinação compreende as etapas de selecionar pelo menos uma função associada com um formato de cor possível, e determinar o valor do parâmetro de quantização para o segundo componente de cor aplicando a dita pelo menos uma função a um valor de um parâmetro de quantização intermediário que é baseado no valor do parâmetro de quantização do primeiro componente de cor da imagem ou porção de imagem. A pelo menos uma função é selecionada independentemente do formato de cor atual.

Description

CAMPO DA INVENÇÃO
[0001] A presente invenção refere-se a um método e dispositivo para determinar o valor de um parâmetro de quantização. Tal método e dispositivo podem ser utilizados para fornecer um aprimoramento da quantização conjunta dos componentes de cor na extensão de gama (RExt) do padrão de vídeo HEVC (para “Codificação de Vídeo de Alta Eficiência”).
FUNDAMENTOS DA INVENÇÃO
[0002] Uma imagem colorida é geralmente composta de três componentes de cor R, G e B. Esses componentes estão geralmente correlacionados, e é muito comum em compressão de imagem e de vídeo descorrelacionar os componentes de cor antes do processamento das imagens. Para esse propósito, o formato mais comum usado é o formato de cor YUV (ou outra variante similar chamada YCbCr). Sinais YUV são normalmente produzidos a partir de imagens RGB, usando uma transformada linear das três entradas R, G e B. No formato YUV, U e V são segundos componentes de cor e Y é o primeiro componente de cor. Os três componentes são atualmente considerados como componentes de cor.
[0003] A imagem ou figura e, em particular, os seus componentes de cor estão associados com parâmetros de quantização QP (tipicamente entre 0 e 51) utilizados no processo de quantização de coeficientes derivados de valores de amostras de pixel por uma transformada (por exemplo, a DCT ou DST), durante a codificação de imagem e no processo desquantização durante a codificação e decodificação de imagem.
[0004] No padrão de vídeo HEVC, por exemplo, existe uma relação entre os pa-râmetros de quantização QP aplicados ao primeiro componente de cor (que é o pri-meiro componente de cor no caso de formato de cor YUV, e pode ser, por exemplo, o componente de cor G no caso de formato de cor RGB), em seguida denotado por QPY, e os parâmetros de quantização QP aplicados aos outros componentes de cor chamados segundos componentes de cor (que são os segundos componentes de cor no caso de formato de cor YUV, e podem ser, por exemplo, os componentes de cor R e B em caso do formato de cor RGB), em seguida denotado por QPC.
[0005] Para gerar QPC a partir de QPY, um valor intermediário QPI é calculado como segue: QPI = MAX (-QPBdOffsetC, MIN (57, QPY + QPOffsetC)) Onde: • QPBdOffsetC é um desvio predefinido dependendo da profundidade de bits utilizada para representar o segundo componente de cor, e • QPOffsetC é um desvio que permite controlar parcialmente a ligação entre QPY e QPC.
[0006] Então, o parâmetro de quantização aplicado ao segundo componente QPC é derivado do valor intermediário QPI utilizando, por exemplo, uma das seguintes tabelas de correspondência (desde o projeto atual de Extensão de Gama de HEVC) selecionadas dependendo do formato de cor usado (especificado por um parâmetro ChromaArrayType):Tabela 1: Formato de cor YUV 4:2:0
Figure img0001
Tabe a 2: formato de cor YUV 4:2:2
Figure img0002
Tabela 3: Formato de cor YUV 4:4:4
Figure img0003
[0007] Assim, essas tabelas são utilizad as para obter os parâmetros de quanti- zação do segundo componente de cor, de cada vez em correlação com o formato de cor utilizado. Na primeira versão de HEVC (a versão emitida antes da versão de Ex-tensão de Gama), apenas a tabela 1 é especificada e utilizada. No projeto atual de especificação de Extensão de Gama, foram adicionadas mais duas tabelas adicio-nais (Tabela 2 e Tabela 3).
[0008] Mesmo que estes permitam uma generalização para vários formatos de cor, da primeira versão do padrão HEVC que estava voltada para o formato de cor YUV 4:2:0, não há flexibilidade na escolha da tabela, uma vez que um formato de cor está associado a uma única tabela.
[0009] Ademais, de modo a permitir a generalização do padrão HEVC para outros formatos de cor YUV 4:2:0, memória adicional é necessária para armazenar os valores das Tabelas 2 e 3.
SUMÁRIO DA INVENÇÃO
[0010] A presente invenção foi concebida para resolver uma ou mais das consi-derações anteriores, para melhorar a flexibilidade da quantização do primeiro e se-gundos componentes de cor na Extensão de Gama do padrão de vídeo HEVC.
[0011] Neste contexto, e de acordo com um primeiro aspecto da invenção, é for-necido um método para determinar o valor de um parâmetro de quantização para ao menos um segundo componente de cor de uma imagem ou porção de imagem, utili-zando um formato de cor atual dentre vários possíveis formatos de cor, o método compreendendo as seguintes etapas: • selecionar ao menos uma função associada com um possível formato de cor, e • determinar o valor do parâmetro de quantização para o segundo com-ponente de cor através da aplicação de ao menos uma dita função a um valor de um parâmetro de quantização intermediário, o parâmetro de quantização intermediário sendo baseado no valor do parâmetro de quantização do primeiro componente de cor da imagem ou porção de imagem,
[0012] onde ao menos uma função é selecionada independentemente do formato de cor atual.
[0013] Tal método fornece uma flexibilidade melhorada em comparação com a técnica anterior, uma vez que a um formato de cor não está necessariamente asso-ciada uma única função.
[0014] De fato, graças à invenção, é agora possível comutar de uma função ini-cialmente dedicada para outra.
[0015] Isso é permitido uma vez que os inventores tenham notado, com base em uma avaliação do uso de cada função associada com um formato de cor diferente, que o desempenho de codificação não é extremamente afetado quando a função utilizada para a etapa de determinação não é a única inicialmente associada com o formato de cor atual.
[0016] Eles também notaram que em alguns casos, quando o desempenho de codificação mostra uma perda considerável em um dos componentes, que a perda é geralmente compensada por um ganho comparável nos outros componentes.
[0017] Em algumas modalidades, uma função está disponível para cada possível formato de cor, incluindo o formato de cor atual, e ao menos uma função é selecio-nada com base em um elemento de sintaxe.
[0018] Consequentemente, mesmo no caso de haver uma função associada com cada possível formato de cor, a presente invenção permite a comutação (durante a etapa de seleção) a partir da função associada com o formato de cor atual para outra função, por exemplo, com base em um elemento de sintaxe indicando essa outra função.
[0019] Em algumas modalidades, o formato de cor é um formato de cor YUV, o primeiro componente de cor é um componente luma e o segundo componente de cor é uma componente croma.
[0020] Em algumas modalidades, a dita função é uma tabela que associa com cada valor do parâmetro de quantização intermediário, um valor do parâmetro de quantização para o segundo componente de cor.
[0021] Em algumas modalidades, um número menor de funções está disponível para determinar parâmetros de quantização para os segundos componentes de cor do que o número de possíveis formatos de cor e a função selecionada é uma das funções disponíveis.
[0022] Por exemplo, há três possíveis formatos de cor e existem apenas duas funções disponíveis para determinar os parâmetros de quantização para os segundos componentes de cor.
[0023] Em uma modalidade preferencial, os três possíveis formatos de cor são o formato de cor YUV 4:2:0, o formato de cor YUV 4:2:2 e o formato de cor YUV 4:2:4 e as duas funções disponíveis são as seguintes tabelas:Tabela associada com o formato de cor YUV 4:2:0
Figure img0004
Tabela associada com o formato de cor YUV 4:4:4
Figure img0005
[0024] De acordo com outro aspecto da invenção, é fornecido um método para determinar o valor de um parâmetro de quantização para ao menos um segundo componente de cor de uma imagem ou porção de imagem, utilizando um formato de cor atual dentre vários possíveis formatos de cores, um certo número de funções para determinar os parâmetros de quantização para segundos componentes de cor que estão disponíveis, o número de funções disponíveis sendo menor do que o nú-mero de possíveis formatos de cor, as funções disponíveis estando respectivamente associadas com os diferentes formatos de cor a partir do formato de cor atual, o mé-todo compreendendo determinar o valor do parâmetro de quantização para o segun-do componente de cor através da aplicação de ao menos uma função disponível a um valor de um parâmetro de quantização intermediário, o parâmetro de quantiza- ção intermediário sendo baseado no valor do parâmetro de quantização de um pri-meiro componente de cor da imagem ou parte da imagem.
[0025] Como menos funções do que os possíveis formatos de cor estão disponíveis, a memória adicional exigida para armazenar os valores das funções é limitada em comparação com a técnica anterior (ver, por exemplo, a Tabela 2 da parte de introdução, que contém valores específicos que não podem ser deduzidos a partir das outras tabelas).
[0026] Assim, mesmo se não haja função disponível associada com o formato de cor atual, a determinação do valor do parâmetro de quantização para o segundo componente de cor pode ser manipulada, utilizando as funções disponíveis.
[0027] Em algumas modalidades, há exatamente três possíveis formatos de cor e há apenas duas funções disponíveis para determinar os parâmetros de quantiza- ção para os segundos componentes de cor.
[0028] Em algumas modalidades, o formato de cor é um formato de cor YUV, o primeiro componente de cor é um componente luma e o segundo componente de cor ao menos um componente croma.
[0029] Em algumas modalidades, a dita função é uma tabela que associa com cada valor do parâmetro de quantização intermediário, um valor do parâmetro de quantização para o segundo componente de cor.
[0030] Em algumas modalidades, o valor do parâmetro de quantização intermediário QPI é calculado usando a seguinte equação: QPI = MAX (-QPBdOffsetC, MIN (57, QPY + QPOffsetC)) onde: • QPBdOffsetC é um desvio predefinido dependendo da profundidade de bits utilizada para representar o segundo componente de cor, • QPY é o valor do parâmetro de quantização do primeiro componente de cor da imagem ou parte da imagem, e • QPOffsetC é um desvio que permite controlar parcialmente a ligação entre QPC e QPY.
[0031] De acordo com outro aspecto da invenção, é fornecido um método para codificar uma imagem ou porção de imagem representada por um primeiro compo-nente de cor e ao menos um segundo componente de cor correspondente, sendo os ditos componentes divididos em unidades de codificação, que forma parte de uma sequência de imagens, compreendendo o método: • determinar o valor de um parâmetro de quantização para ao menos um segundo componente de cor como mencionado acima, • codificar as unidades de codificação sucessivas em dados codificados, a codificação compreendendo quantizar o primeiro e ao menos um se gundo componente de cor da imagem ou porção de imagem usando os parâmetros de quantização de primeiro e segundo componentes de cor, e • gerar um fluxo de bits dos ditos dados codificados.
[0032] Em algumas modalidades, a etapa de geração compreende inserir um parâmetro que indica a função utilizada na etapa de determinação, em uma unidade NAL do fluxo de bits.
[0033] Em algumas modalidades, a dita unidade NAL é um Conjunto de Parâmetros de Sequência ou um Conjunto de Parâmetros de Imagem.
[0034] Em variantes, a dita unidade NAL compreende uma fatia e o dito parâmetro está incluído no cabeçalho da fatia.
[0035] Em algumas modalidades, quando a imagem está sendo filtrada por um filtro de desblocagem utilizando ao menos um parâmetro de quantização de desblo- cagem para o segundo componente, o parâmetro de quantização de desblocagem é determinado aplicando-se ao menos uma dita função a um valor de um outro parâ-metro de quantização intermediário QPI’, também com base no valor do parâmetro de quantização do primeiro componente de cor da imagem ou da parte imagem.
[0036] Por exemplo, a imagem filtrada é a imagem reconstruída com base nos dados quantizados. A imagem filtrada pode ser utilizada como uma imagem de referência para codificar outra imagem.
[0037] Em algumas modalidades, a imagem ou porção de imagem é dividida em blocos, e o valor do outro parâmetro de quantização intermediário QPI’ é calculado usando a seguinte equação: QPI’ = QPYpred + cQpPicOffset onde: • cQpPicOffset é um desvio predefinido transmitido no fluxo de bits ge-rada usado para representar o parâmetro de quantização para ao me-nos um segundo componente de cor; e • QPYpred é um valor de parâmetro de quantização de desblocagem médio deduzido a partir dos blocos vizinhos do bloco atual sendo pro- cessado.
[0038] De acordo com outro aspecto da invenção, é fornecido um método para decodificar uma imagem ou porção de imagem, que forma parte de uma sequência de imagens, o método compreendendo: • receber dados codificados relacionados à imagem ou porção de ima-gem a decodificar, • decodificar os dados codificados, • determinar o valor de parâmetros de quantização para ao menos um segundo componente de cor como mencionado acima, e • reconstruir a imagem ou porção de imagem decodificada a partir dos dados decodificados, a reconstrução compreendendo desquantização do primeiro e ao menos um segundo componente de cor de imagem ou porção de imagem usando os parâmetros de quantização do pri-meiro e segundos componentes de cor.
[0039] Em algumas modalidades, os dados codificados recebidos compreendem um parâmetro que indica a função a ser utilizada na etapa de determinação.
[0040] Em algumas modalidades, o método de decodificação compreende ainda filtrar a imagem ou porção de imagem com um filtro de desblocagem usando ao me-nos um parâmetro de quantização de desblocagem para ao menos um segundo componente de cor, o dito parâmetro de quantização de desblocagem sendo deter-minado pela aplicação de ao menos uma dita função a um valor de outro parâmetro de quantização intermediário QPI’ também com base no valor do parâmetro de quantização do primeiro componente de cor da imagem ou porção de imagem.
[0041] Em algumas modalidades, a imagem ou porção de imagem é dividida em blocos, e o valor do parâmetro de quantização outro intermediário QPI’ é calculado usando a seguinte equação: QPI’ = QPYpred + cQpPicOffset onde: • cQpPicOffset é um desvio predefinido transmitido no fluxo de bits re-cebida usado para representar o parâmetro de quantização de desblo- cagem para ao menos um segundo componente de cor; e • QPYpred é um valor de parâmetro de quantização de desblocagem médio deduzido a partir dos blocos vizinhos do bloco atual sendo pro-cessado.
[0042] Correspondentemente, é também fornecido um dispositivo para determinar o valor de um parâmetro de quantização para ao menos um segundo componente de cor de uma imagem ou porção de imagem, utilizando um formato de cor atual dentre os vários possíveis formatos de cor, o dispositivo compreendendo: • um módulo para selecionar, independentemente do formato de cor a-tual, ao menos uma função associada com um possível formato de cor, e • um módulo para determinar o valor do parâmetro de quantização para o segundo componente de cor aplicando ao menos uma dita função a um valor de um parâmetro de quantização intermediário, o parâmetro de quantização intermediário sendo baseado no valor do parâmetro de quantização do primeiro componente de cor da imagem ou porção de imagem.
[0043] Correspondentemente, é também fornecido um dispositivo para determinar o valor de um parâmetro de quantização para ao menos um segundo componente de cor de uma imagem ou porção de imagem, utilizando um formato de cor atual dentre ao menos três possíveis formatos de cor, um certo número de funções para a determinar os parâmetros de quantização para os segundos componentes de cor disponíveis, o número de funções disponíveis sendo menor do que o número de possíveis formatos de cor, as funções disponíveis sendo respectivamente associa-das com os formatos de cores diferentes do formato de cor atual, o dispositivo com-preendendo um módulo para determinar o valor do parâmetro de quantização para o segundo componente de cor através da aplicação de ao menos uma função disponí-vel a um valor de um parâmetro de quantização intermediário, o parâmetro de quan- tização intermediário sendo com base no valor do parâmetro de quantização de um primeiro componente de cor da imagem ou porção de imagem.
[0044] Correspondentemente, é também fornecido um dispositivo para codificar uma imagem ou porção de imagem representada por um primeiro componente de cor e ao menos um segundo componente de cor correspondente, os ditos componentes sendo divididos em unidades de codificação, que forma parte de uma sequência de imagens, o dispositivo compreendendo: • um dispositivo para determinar o valor de um parâmetro de quantiza- ção para ao menos um segundo componente de cor como menciona-do acima, • um módulo para codificar as unidades de codificação sucessivas em dados codificados, o módulo de codificação compreendendo um mó-dulo para quantizar o primeiro e ao menos um segundo componente de cor de imagem ou porção de imagem usando os parâmetros de quantização do primeiro e segundo componentes de cor, e • um módulo para gerar um fluxo de bits dos ditos dados codificados.
[0045] Correspondentemente, é também fornecido um dispositivo para decodificar uma imagem ou porção de imagem, que forma parte de uma sequência de imagens, o dispositivo compreendendo: • um módulo para receber dados codificados relacionados à imagem ou à porção de imagem a decodificar, • um módulo para decodificar os dados codificados, • um dispositivo para determinar o valor dos parâmetros de quantização para ao menos um segundo componente de cor como mencionado a-cima, e • um módulo para reconstruir a imagem decodificada ou porção de ima-gem a partir dos dados decodificados, o módulo de reconstrução com-preende um módulo para desquantizar o primeiro e ao menos um se-gundo componente de cor da imagem ou porção de imagem, usando os parâmetros de quantização do primeiro e segundos componentes de cor.
[0046] Os dispositivos podem ter características opcionais similares como os de-finidos acima nas reivindicações dependentes. Quando uma característica é descrita em termos do processo acima, um versado na técnica será capaz de implementá-lo como um elemento funcional nos dispositivos da invenção.
[0047] Ao menos partes dos métodos de acordo com a invenção podem ser im-plementadas por computador. Consequentemente, a presente invenção pode assu-mir a forma de uma modalidade totalmente de hardware, uma modalidade totalmente de software ou uma modalidade combinando os aspectos de software e hardware que podem todos ser geralmente chamados aqui como um dispositivo ou “sistema”. Ademais, a presente invenção pode assumir a forma de um produto de programa de computador incorporado em qualquer meio tangível de expressão tendo o código de programa utilizável por computador incorporado no meio.
[0048] Uma vez que a presente invenção pode ser implementada em software, a presente invenção pode ser incorporada como código legível por computador para fornecimento a um aparelho programável em qualquer meio portador adequado, por exemplo, um meio portador tangível ou um meio portador transiente. Um meio por-tador tangível pode compreender um meio de armazenamento, tal como um disque-te, um CD-ROM, uma unidade de disco rígido, um dispositivo de fita magnética ou um dispositivo de memória de estado sólido e similares. Um meio portador transiente pode incluir um sinal tal como um sinal elétrico, um sinal eletrônico, um sinal óptico, um sinal acústico, um sinal magnético ou um sinal eletromagnético, por exemplo, um sinal de micro-ondas ou de RF.
BREVE DESCRIÇÃO DOS DESENHOS
[0049] As modalidades da invenção serão agora descritas, por meio apenas de exemplo, e com relação aos seguintes desenhos nos quais: • A Figura 1 ilustra o particionamento HEVC de uma imagem. • A Figura 2 ilustra um diagrama de blocos simplificado, que mostra um exemplo de um dispositivo de codificação de acordo com uma modali-dade particular da invenção. • A Figura 3 ilustra um diagrama de blocos simplificado, que mostra um exemplo de um dispositivo de decodificação de acordo com uma mo- dalidade particular da invenção. • A Figura 4 mostra as etapas gerais de um método para determinar o valor de um parâmetro de quantização para ao menos um segundo componente de cor de uma imagem, de acordo com uma modalidade particular da invenção. • A Figura 5 mostra as etapas gerais de um método para codificar uma imagem, de acordo com uma modalidade particular da invenção. • A Figura 6 mostra as etapas gerais de um método para decodificar uma imagem, de acordo com uma modalidade particular da invenção.
DESCRIÇÃO DETALHADA DA INVENÇÃO
[0050] A invenção fornece métodos e dispositivos para determinar o valor de um parâmetro de quantização para um segundo componente de cor.
[0051] A Figura 1 ilustra o particionamento HEVC de uma imagem ou figura constituída de três componentes de cor. Por exemplo, o primeiro componente de cor é um componente luma Y e os outros componentes são componentes croma U, V.
[0052] Em particular, a Figura 1 mostra a estrutura de codificação utilizada em HEVC, que é aplicável tanto à primeira versão de HEVC quanto à Extensão de Ga-ma. De acordo com HEVC e um de seus antecessores anteriores, a sequência de vídeo original 101 é uma sucessão de imagens digitais “imagens i”. Como se sabe, uma imagem digital é representada por uma ou mais matrizes, cujos coeficientes representam pixels.
[0053] As imagens 102 são divididas em fatias 103. Uma fatia é uma parte da imagem ou uma imagem inteira. Em HEVC, essas fatias são divididas em Unidades de Árvore de Codificação (CTU) 104 (também chamadas de Grandes Unidades de Codificação).
[0054] Cada CTU 105 pode ser iterativamente dividido em menores Unidades de Codificação de tamanho variável (CU) usando uma decomposição quadtree. As uni-dades de codificação CU são elementos de codificação elementares, cada uma compreendendo duas sub unidades: Unidade de Predição (PU) 106 e Unidades de Transformada (TU) 107 de tamanho máximo igual ao tamanho da CU.
[0055] Unidades de Predição correspondem à partição da CU para a predição de valores de pixels. Cada CU pode ser ainda dividida em um máximo de quatro qua-drados ou dois retângulos. As unidades de transformada são usadas para represen-tar as unidades elementares que são espacialmente transformadas (por exemplo, com DCT ou DST). Uma CU pode ser particionada em TU com base em uma repre-sentação quadtree.
[0056] Cada fatia é incorporada em uma unidade NAL. Em adição, os parâmetros de codificação da sequência de vídeo são armazenados em unidades NAL dedicadas chamadas de conjuntos de parâmetros. Em HEVC e H.264/AVC, dois tipos de unidades NAL de conjuntos de parâmetros são empregados: • Unidade NAL de Conjunto de Parâmetros de Sequência (SPS) que re-úne todos os parâmetros que são inalterados durante toda a sequên-cia de vídeo; tipicamente, ele manipula o perfil de codificação, o tama-nho dos quadros de vídeo e outros parâmetros; • Unidade NAL de Conjuntos de Parâmetros de Imagem (PPS) que co-difica os diferentes valores que podem alterar de um quadro para ou-tro.
[0057] A Figura 2 mostra um diagrama de um codificador de vídeo clássico HEVC 20 que pode ser considerado como um superconjunto de um dos seus antecessores (H.264/AVC). Tal codificador pode implementar um método de codificação de acordo com modalidades da presente invenção, tal como descrito mais tarde com referência à Figura 5.
[0058] Cada quadro da sequência de vídeo original 101 é primeiro dividido em uma grade de unidades de codificação (CU) pelo módulo 201. Essa etapa controla também a definição de fatias de codificação e da entropia. Em geral, dois métodos definem os limites de fatia que são: ou utilizam um número fixo de CU por fatias (fa-tias de entropia ou de codificação) ou um número fixo de bytes.
[0059] A subdivisão da CTUs em CUs e o particionamento das CUs em TUs e PUs são determinados com base em um critério de distorção de taxa. Cada PU das CUs que estão sendo processadas é predito espacialmente por um preditor “Intra” 217, ou temporalmente por um preditor “Inter” 218. Cada preditor é um bloco de pixels emitido a partir da mesma imagem ou outra imagem, a partir do qual um bloco de diferença (ou “residual”) é derivado. Graças à identificação do bloco preditor e à codificação do residual, é possível reduzir a quantidade de informação a ser real-mente codificada.
[0060] Os quadros codificados são de dois tipos: quadros preditos temporais (ou preditos a partir de um quadro de referência chamado Quadros P ou preditos a partir de dois quadros de referência chamados Quadros B) e os quadros não temporais preditos (chamados quadros intra ou Quadros I). Em Quadros I, somente a predição intra é considerada para codificar CUs/PUs. Em quadros P e quadros B, as predi-ções Intra e Inter são consideradas para codificar CUs/PUs.
[0061] No módulo de processamento de predição Intra 217, o bloco atual é predito por meio de um preditor Intra, um bloco de pixels construídos a partir da informação já codificada da imagem atual. O módulo 202 determina um modo de predição espacial que é utilizado para predizer os pixels a partir de pixels de PUs vizinhas. Em HEVC, até 35 modos são considerados. Um bloco residual é obtido computando-se a diferença do bloco previsto intra e do bloco atual de pixels. Um bloco com predição Intra é então composto de um modo de predição com um residual.
[0062] A codificação do modo de predição intra é inferida a partir do modo de predição das unidades de predição vizinhas. Esse processo de inferência do modo de predição intra executado pelo módulo 203 permite reduzir a taxa de codificação do modo de predição intra. O módulo de processamento de predição Intra utiliza também dependências espaciais do quadro ou para predizer os pixels, mas também para inferir o modo de predição intra da unidade de predição.
[0063] O segundo módulo de processamento 218 executa codificação Inter, usando ou a Mono-predição (tipo P) ou Bi-predição (tipo B). A mono-predição (tipo P) consiste em predizer o bloco referindo-se a um bloco de referência a partir de uma imagem de referência e a Bi-predição (tipo B) consiste em predizer o bloco referindo- se a dois blocos de referência a partir de uma ou duas imagens de referência.
[0064] Uma estimativa de movimento entre a PU atual e as imagens de referên- cia 215 é feita pelo módulo 204 de modo a identificar, para uma ou várias dessas imagens de referência, um (tipo P) ou vários (do tipo B) blocos de pixels, de modo a usá-los como preditores desse bloco atual. No caso em que vários preditores de bloco são usados (tipo B), eles são combinados para gerar um único bloco predição. As imagens de referência são imagens na sequência de vídeo que já foram codificadas e depois reconstituídas (por decodificação).
[0065] O bloco de referência é identificado no quadro de referência por um vetor de movimento que é igual ao desvio entre a PU no quadro atual e o bloco de referência. Em seguida, o módulo 205 executa um processo de predição inter que consiste em computar a diferença entre o bloco de predição e o bloco atual. Esse bloco de diferença é o residual do bloco com predição inter. No final do processo de predição inter, a PU atual é composta de um vetor de movimento e um residual.
[0066] HEVC fornece um método para predizer os vetores de movimento de cada PU. Vários preditores de vetor de movimento candidato são empregados. Tipica-mente, o vetor de movimento da PU localizada na parte superior, no canto esquerdo ou no canto superior esquerdo da PU atual são um primeiro conjunto de preditores espaciais. O candidato a vetor de movimento temporal que é também usado é o da PU co-localizada (ou seja, a PU na mesma coordenada) em um quadro de referên-cia. Ele seleciona um do preditor com base em um critério que minimiza a diferença entre o preditor MV e o da PU atual. Em HEVC, esse processo é chamado de AMVP (Predição de Vetor de Movimento Adaptativa).
[0067] Finalmente, o vetor de movimento da PU atual é codificado pelo módulo 206 com um índice que identifica o preditor dentro do conjunto de candidatos e uma diferença MV (MVD) de VM da PU com o candidato a MV selecionado. O módulo de processamento de predição Inter também se baseia em dependências espaciais en-tre a informação de movimento das unidades de predição para aumentar a taxa de compressão das unidades de codificação de predição inter.
[0068] Esses dois tipos de codificação fornecem assim vários residuais de textura (a diferença entre o bloco atual e o bloco preditor), que são comparados em um módulo 216 para selecionar o melhor modo de codificação.
[0069] O residual obtido no final do processo de predição inter ou intra é então transformado pelo módulo 207. A transformada aplica-se a uma unidade de trans-formada (TU) que está incluída em uma CU. A TU pode ser ainda dividida em TUs menores usando uma decomposição em Quadtree Residual (RQT) 107. Em HEVC, geralmente 2 ou 3 níveis de decomposições são utilizados e tamanhos de transfor-mada autorizados são de 32x32, 16x16, 8x8 e 4x4. A base de transformada é deri-vada de uma transformada discreta do cosseno DCT ou de uma transformada dis-creta do seno DST.
[0070] Os coeficientes transformados residuais são então quantizados pelo módulo 208 usando parâmetros de quantização para o primeiro e o segundo componente de cor. Os parâmetros de quantização para os segundos componentes de cor são determinados, por exemplo, utilizando um método de determinação de acordo com modalidades da presente invenção, como descrito posteriormente com relação à Figura 4. Os coeficientes do residual transformado e quantizado são então codifi-cados por meio de uma codificação por entropia realizada pelo módulo 209 e, em seguida, inseridos no fluxo de bits comprimido 210. Os elementos de sintaxe de co-dificação são também codificados com a ajuda do módulo 209. Como será explicado em mais detalhes com relação à Figura 5, esses elementos de sintaxe de codifica-ção podem compreender parâmetros que indicam as funções utilizadas para obter os parâmetros de quantização. O módulo de processamento 209 utiliza dependên-cias espaciais entre os elementos de sintaxe para aumentar a eficiência da codifica-ção.
[0071] De modo a calcular os preditores intra ou para fazer uma estimativa do movimento para os preditores Inter, o codificador executa uma decodificação dos blocos já codificadas por meio de uma malha de decodificação implementado pelos módulos 211, 212, 213, 214, 215. Essa malha de decodificação torna possível a re-construção de blocos e imagens a partir dos residuais transformados e quantizados.
[0072] Assim, o residual transformado e quantizado é desquantizado pelo módulo 211 através da aplicação da quantização inversa ao fornecida pelo módulo 208 e reconstruído pelo módulo 212, aplicando a transformada inversa à executada pelo módulo 207.
[0073] Se o residual vem de um módulo de codificação Intra 217, o preditor Intra utilizado é adicionado a esse resíduo, de modo a recuperar um bloco reconstruído correspondente ao bloco original modificado pelas perdas resultantes a partir de uma transformada com perda, aqui operações de quantização.
[0074] Se o resíduo, por outro lado, vem de um módulo de codificação Inter 218, os blocos apontados pelos vetores de movimento atuais (esses blocos pertencem às imagens de referência 215 referidas pelos de imagem atual) são casados em segui-da, adicionados a esse residual decodificado. Dessa forma, o bloco original é modifi-cado pelas perdas resultantes das operações de quantização.
[0075] Um módulo de processamento de filtro de malha final 219 é aplicado ao sinal reconstruído de modo a reduzir os efeitos criados pela quantização pesada dos residuais obtidos e para melhorar a qualidade do sinal. No padrão HEVC atual, 2 tipos de filtros de malha são usados: filtro de desblocagem 213 e desvio de amostra adaptativo (SAO) 220.
[0076] O filtro de desblocagem 213 pode usar os parâmetros de quantização de desblocagem obtidos através da aplicação da mesma função(ões) do que as aplica-das para determinar o parâmetro (s) de quantização para o segundo componente(s) de cor usado pelo módulo de quantização 208.
[0077] As imagens filtradas, também chamadas de imagens reconstruídas, são então armazenadas como imagens de referência 215 de modo a permitir que as predições Inter subsequentes acontecendo durante a compressão das imagens se-guintes da sequência de vídeo atual. É possível usar várias imagens de referência 215 para a estimativa e compensação de movimento da imagem atual.
[0078] O fluxo de bits resultante 210 do codificador 20 é também composto de um conjunto de unidades NAL que corresponde aos conjuntos de parâmetros e fatias de codificação.
[0079] A Figura 3 mostra um diagrama global de um decodificador de vídeo 30 do tipo HEVC. O decodificador 30 recebe como uma entrada um fluxo de bits 210 que corresponde a uma sequência de vídeo 201 comprimida por um codificador do tipo HEVC, como o da Figura 2.
[0080] Tal decodificador pode implementar um método de decodificação de acordo com as modalidades da presente invenção, como descrito posteriormente com relação à Figura 6.
[0081] Durante o processo de decodificação, o fluxo de bits 210 é primeiro analisado com a ajuda do módulo de decodificação de entropia 301. Esse módulo de processamento utiliza os elementos anteriormente decodificados por entropia para decodificar os dados codificados. Ele decodifica em particular, os conjuntos de pa-râmetros da sequência de vídeo para inicializar o decodificador e também decodifi-car as unidades de árvore de codificação (CTUs, também chamadas LCU) de cada quadro de vídeo. Cada unidade NAL que corresponde a fatias de codificação ou fati-as de entropia é então decodificada. O processo de análise que utiliza os módulos 301, 302 e 304 pode ser feito em paralelo para cada fatia, mas o módulo de proces-samento de predição de blocos 305 e 303 e o módulo de filtro de malha precisam ser sequenciais para evitar problema de disponibilidade de dados vizinhos.
[0082] A partição da CTU é analisada e as subdivisões CU, PU e TU são identifi-cadas. O decodificador que está processando sucessivamente cada CU é então e-xecutado com a ajuda de módulos de processamento intra (307) e inter (306), módu-los de quantização inversa e módulos de transformada inversa e, finalmente, o mó-dulo de processamento de filtro de malha (219).
[0083] O modo de predição inter ou intra para o bloco atual é analisado a partir do fluxo de bits 210 com o auxílio do módulo de processo de análise 301. Dependendo do modo de predição, ou o módulo de processamento de predição intra 307 ou o módulo de processamento de predição inter 306 é empregado. Se o modo de predição do bloco atual for do tipo intra, o modo de predição intra é extraído do fluxo de bits e decodificado com a ajuda do módulo de modo de predição vizinhos 302 de módulo de processamento de predição intra 307. O bloco com predição intra é então computado no módulo 303 com o modo de predição intra decodificado e os pixels já decodificados nos limites da PU atual. O residual associado com o bloco atual é re-cuperado a partir do fluxo de bits 210 e então a entropia decodificada.
[0084] Se o modo de predição do bloco atual indica que esse bloco é do tipo Inter, a informação de movimento é extraída do fluxo de bits 210 e decodificada pelo módulo 304. O processo AMVP é executado pelos módulos 304 e 305. A informação de movimento de PUs vizinhas já decodificadas é também usada para computar o vetor de movimento da PU atual. Esse vetor de movimento é usado no módulo de compensação de movimento inverso 305, de modo a determinar o bloco preditor Inter contido nas imagens de referência 215 do decodificador 30. De uma forma similar ao codificador, essas imagens de referência 215 são compostas de imagens que precedem a imagem atualmente sendo decodificada e que são reconstruídas a partir o fluxo de bits (e, portanto, decodificadas anteriormente).
[0085] Em seguida, a etapa de decodificação consiste em decodificar o bloco residual que foi transmitido no fluxo de bits. O módulo de análise 301 extrai os coefi-cientes residuais do fluxo de bits e realiza sucessivamente a quantização inversa (no módulo 211) e transformada inversa (módulo 212) para obter o bloco residual.
[0086] Em particular, a quantização inversa é realizada utilizando parâmetros de quantização para o primeiro e os segundos componentes de cor determinados, por exemplo, utilizando um método de determinação de acordo com as modalidades da presente invenção, como descrito posteriormente com relação à Figura 4. Em tal determinação, as funções a serem utilizadas para obter os parâmetros de quantiza- ção para segundos componentes de cor podem ser indicadas por parâmetros incluí-dos como elementos de sintaxe do fluxo de bits durante a codificação.
[0087] Esse bloco residual é adicionado ao bloco predito obtido na saída do módulo de processamento intra ou inter.
[0088] No fim da decodificação de todos os blocos da imagem atual, o módulo de processamento de filtro de malha 219 é usado para eliminar os efeitos de bloco e melhorar a qualidade do sinal, a fim de obter as imagens de referência 215. Como realizado no codificador, esse módulo de processamento emprega o filtro de desblo- cagem 213, em seguida, o filtro SAO 220.
[0089] O filtro de desblocagem 213 pode usar parâmetros de quantização de desblocagem obtidos através da aplicação da mesma função(ões) das aplicadas para determinar o parâmetro(s) de desquantização para o segundo componente(s) de cor usado pelo módulo de quantização inversa e desquantização 211.
[0090] As imagens assim decodificadas constituem o sinal de vídeo de saída 308 do decodificador, que podem então ser exibidas e usadas.
[0091] A Figura 4 mostra as etapas gerais de um método para determinar o valor de um parâmetro de quantização para ao menos um segundo componente de cor de uma imagem 102 ou porção de imagem (por exemplo, fatia 103) de acordo com as modalidades da invenção.
[0092] Tal método pode ser implementado por um dispositivo de codificação ou um dispositivo de decodificação, tal como aqueles descritos com relação às Figuras 2 e 3, de modo a obter os parâmetros de quantização para a quantização dos coefi-cientes derivados a partir dos valores de pixel por uma transformada (por exemplo, DCT ou DST) calculada, por exemplo, pelo módulo 207, ou para a desquantização de símbolos obtidos pela decodificação por entropia de símbolos codificados.
[0093] Como acima explicado, há uma ligação entre os parâmetros de quantiza- ção aplicados ao primeiro componente de cor QPY, e os parâmetros de quantização aplicados aos segundos componentes de cor QPC. Essa ligação pode consistir em um valor intermediário QPI baseado em QPY e que é calculado na etapa 410, utili-zando, por exemplo, a seguinte equação: QPI = MAX (-QPBdOffsetC, MIN (57, QPY + QPOffsetC)) onde: • QPBdOffsetC é um desvio predefinido dependendo da profundidade de bit usada para representar o segundo componente de cor, • QPY é o valor do parâmetro de quantização do primeiro componente de cor da parte da imagem ou imagem, e • QPOffsetC é um desvio que permite controlar parcialmente a ligação entre QPC e QPY.
[0094] Quando o método é implementado por um dispositivo de codificação, o parâmetro de quantização QPY para o primeiro componente de cor é geralmente fornecido por um usuário.
[0095] Entretanto, quando a quantização é realizada nos dados recebidos por um decodificador, isto é, quando o método é implementado por um dispositivo de decodificação, o parâmetro de quantização QPY é incluído no fluxo de bits.
[0096] Como um lembrete, vários formatos de cor são suportados pela Extensão de Gama de HEVC: formato de cor YUV 4:4:4, formato de cor YUV 4:2:2 e formato de cor YUV 4:2:0. Obviamente, existem outros formatos de cor.
[0097] Geralmente, uma função está associada com um formato de cor. Tal função é capaz de se associar com cada valor intermediário QPI, um valor de parâmetro de quantização para o segundo componente de cor QPC. Geralmente, essas funções são representadas como tabelas de correspondência como as Tabelas 1 (correspondente a YUV 4:2:0), 2 (correspondente a YUV 4:2:2) e 3 (correspondente a YUV 4:4:4) mostradas acima.
[0098] A presente invenção tem como objetivo melhorar a flexibilidade da Extensão de Gama para permitir a comutação entre as diferentes funções. Em outros termos, é agora possível, dado o formato de cor atual (por exemplo, YUV 4:2:2), usar uma função associada com um formato de cor (por exemplo, YUV 4:2:0 ou YUV 4:4:4) diferente do formato de cor atual.
[0099] Para fazer isso, é fornecida uma etapa de seleção 420, onde uma ou várias funções são selecionadas de modo a serem aplicadas ao valor intermediário QPI e para determinar o parâmetro de quantização para o segundo componente de cor QPC.
[0100] Voltando ao exemplo das Tabelas 1, 2 e 3 mostradas acima, pode-se notar que a Tabela 3 (correspondendo a YUV 4:4:4) é bastante simples, uma vez que corresponde a uma versão cortada de QPI: QPC = MIN(QPI, 51). Entretanto, a Tabela 2 (correspondendo a YUV 4:2:2) contém valores específicos que não podem ser deduzidos da Tabela 1 (correspondendo a YUV 4:2:0) ou a partir da Tabela 3.
[0101] Uma ou duas dessas tabelas podem ser selecionadas durante a etapa 420. Por exemplo, quando o formato de cor atual é de YUV 4:2:2, a Tabela 3 associada com YUV 4:4:4, que é mais simples, pode ser selecionada em vez da Tabela 2.
[0102] Em uma variante, quando o formato de cor atual é YUV 4:2:2, a Tabela 1 associada com YUV 4:2:0 e a Tabela 3 associada com YUV 4:4:4 podem ser selecionadas em vez da Tabela 2.
[0103] Essa etapa de seleção 420 é particularmente interessante se a memória é limitada e se apenas um número limitado de funções está disponível. Por exemplo, poder-se-ia evitar o armazenamento de valores da Tabela 2, mas apenas os valores da Tabela 1 e da Tabela 3, de modo a economizar memória. Nesse caso, é possível que o formato de cor atual não corresponda às de uma função disponível, mas a e-tapa de seleção 420 permite que seja manipulado uma vez que fornece uma espécie de comutação sistemática em direção às funções disponíveis.
[0104] Para esse fim, uma função disponível pode ser designada para ser usada por padrão quando não há nenhuma função disponível associada com o formato de cor atual.
[0105] Em uma variante, a função(ões) pode ser selecionada de acordo com um parâmetro, dado por um usuário ou dentro de um grupo de elementos de sintaxe, no caso em que o método de determinação é realizado por um decodificador (ver Figura 5, abaixo).
[0106] Quando as funções são selecionadas, elas são aplicadas ao valor inter-mediário QPI, de modo a determinar, na etapa 430, um valor do parâmetro de quan- tização QPC para o segundo componente de cor.
[0107] Por exemplo, se duas funções F1 e F3 foram selecionadas, o QPC pode ser determinado como segue:QPC = IntegerValueOf (F1 (QPI) + F3 (QPI) + R) 12 onde R é um desvio de arredondamento para 0 ou 1, e pode ser fixo ou pode depender do valor intermediário QPI. Por exemplo, R = 0 quando QPI < 44 e, de outra forma, R = 1.
[0108] QPC e QPY determinados são então utilizados em uma operação de quantização ou desquantização por um codificador ou um decodificador.
[0109] A Figura 5 mostra as etapas gerais de um método para codificar uma imagem 102 ou porção de imagem (por exemplo, fatia 103) de acordo com as modalidades da invenção.
[0110] Tal método pode ser implementado por um dispositivo de codificação, tal como o descrito com relação à Figura 2.
[0111] Nota-se que uma vez que uma imagem 102 ou porção de imagem 103 é representada por um primeiro componente e ao menos um segundo componente de cor dividido em unidades de codificação CUs, o presente método de codificação consiste em codificar todas as unidades de codificação da imagem 102 ou porção de imagem 103.
[0112] Tal método de codificação compreende determinar (na etapa 510) o valor de um parâmetro de quantização QPC por ao menos um segundo componente de cor, por exemplo, mediante a aplicação do método (etapas 410, 420 e 430) descrito acima com relação à Figura 4.
[0113] Os QPCs determinados são então utilizados com QPY para codificar as sucessivas unidades de codificação em dados codificados ENC(Data). Essa etapa 520 compreende quantizar o primeiro componente e segundos componentes de co-res usando os correspondentes parâmetros de quantização. Em particular, o primeiro componente de cor é quantizado utilizando o parâmetro de quantização QPY e ao menos o segundo componente de cor é quantizado usando os parâmetros de quan- tização determinados QPC.
[0114] Na etapa 530, um fluxo de bits 210 dos dados codificados ENC(Data) é gerado. Os dados codificados compreendem o parâmetro de quantização QPY para o primeiro componente de cor.
[0115] Em algumas modalidades, a etapa de geração 530 compreende inserir um parâmetro como um elemento de sintaxe, que indica as funções utilizadas na etapa 510 para obter os parâmetros de quantização.
[0116] O parâmetro pode ser associado com uma imagem específica, assim incluída em uma unidade NAL PPS.
[0117] Em uma variante, o parâmetro pode estar associado com uma sequência de imagens, assim incluída em uma unidade NAL SPS.
[0118] Por exemplo, a sintaxe de uma unidade NAL SPS seq_parameter_set_rbsp () incluindo um tal parâmetro chamado chroma_tabIe_idc pode ser representada como se segue:
Figure img0006
Onde: chroma_format_idc especifica o formato de cor do fluxo de bits de chega-da: • 0 para conteúdo monocromático (isto é, somente um componente de cor) • 1 para o formato de cor YUV 4:2:0 • 2 para o formato de cor YUV 4:2:2 • 3 para o formato de cor YUV 4:4:4 • eparate_colour_plane_flag quando igual a 1 especifica que cada componente está codificado de forma independente como um componente monocromático. chroma_tabIe_idc especifica a função (aqui, a tabela) usada para deter-minar o parâmetro(s) de quantização QPC para o segundo componente(s) de cor a partir do parâmetro de quantização QPY para o primeiro componente de cor: • - 0: tabela YUV 4:2:0 é usada, • - 1: tabela YUV 4:2:2 é usada, • - 2: tabela YUV 4:4:4 é usada.
[0119] Em uma variante, quando há menos funções disponíveis (tabelas) do que os possíveis formatos de cor, por exemplo, apenas tabelas YUV 4:2:0 e YUV 4:4:4 estão disponíveis, a sintaxe para uma unidade NAL SPS seq_parameter_set_rbsp ( ) incluindo tal parâmetro chamado chroma_420_table_not__used_flag pode ser repre-sentada como segue:
Figure img0007
Onde: chroma_format_idc especifica o formato de cor do fluxo de bits de entrada: • 0 para conteúdo monocromático (ou seja, apenas um componente de cor), • 1 para o formato de cor YUV 4:2:0, • 2 para o formato de cor YUV 4:2:2, • 3 para o formato de cor YUV 4:4:4. • eparate_colour_plane_flag quando igual a 1 especifica que cada componente está codificado de forma independente como um componente monocromático.chroma_420_table_not_used_flag quando igual a 0 especifica que a tabela YUV 4:2:0 é usada por padrão para determinar o parâmetro(s) de quantização QPC para o segundo componente(s) de cor a partir do parâmetro de quantização QPY para o primeiro componente de cor. Quando igual a 1, este parâmetro especifi-ca que a outra tabela (ou seja, YUV 4:4:4) é usada por padrão para determinar o parâmetro(s) de quantização QPC para o segundo componente(s) de cor a partir do parâmetro de quantização QPY para o primeiro componente de cor. Em uma varian-te, por padrão (isto é, quando não está presente no fluxo de bits), chro- ma_420_table_not__used_flag é definido igual a 0.
[0120] Em outra variante, o parâmetro pode estar associado com uma fatia, assim incorporada no cabeçalho da fatia.
[0121] Sempre que o parâmetro é inserido, ele é recebido pelo decodificador para o fluxo de bits 210.
[0122] Em uma modalidade, as duas tabelas são especificadas como segue:
Figure img0008
[0123] A Figura 6 mostra as etapas gerais de um método para decodificar uma imagem 102 ou porção de imagem (por exemplo, fatia 103) de acordo com modali-dades da invenção.
[0124] Tal método pode ser implementado por um dispositivo de decodificação, tal como o descrito com relação à Figura 3.
[0125] O decodificador recebe os dados codificados, por exemplo, codificados de acordo com um método de codificação, tal como descrito acima com relação à Figura 5, compreendendo o parâmetro de quantização QPY para o primeiro componente de cor, e decodifica os dados codificados na etapa 610.
[0126] Na etapa 620, o valor de parâmetros de quantização QPC por ao menos um segundo componente de cor é determinado, por exemplo, mediante a aplicação do método (etapas 410, 420 e 430) descrito acima com relação à Figura 4, onde a função(ões) para determinar os parâmetros de quantização para os segundos com-ponentes de cor é selecionada (etapa 420) com base no parâmetro correspondente (respectivamente chroma_tabIe_idc e chroma_420_table_not_used_flag nos exem-plos anteriores) incluído dentro do fluxo de bits 210 durante a codificação (ver a Fi-gura 5).
[0127] Em uma variante, o decodificador pode ser configurado de modo que uma função associando QPI com QPC é designado por padrão quando não há nenhuma função disponível associada com o formato de cor atual.
[0128] Na etapa 630, a imagem decodificada ou porção de imagem é reconstruída a partir dos dados decodificados. A reconstrução compreende desquantizar o primeiro e os segundos componentes de cor da imagem ou parte da imagem usando os parâmetros de quantização do primeiro e segundos componentes de cor determi-nados na etapa 620.
[0129] Em particular, o primeiro componente de cor é desquantizado utilizando o parâmetro de quantização QPY incluído nos dados decodificados e ao menos o se-gundo componente de cor é desquantizado utilizando os parâmetros de quantização determinados QPC.
[0130] A função selecionada é ainda usada no filtro de desblocagem para deter-minar o parâmetro de quantização de desblocagem.
[0131] Finalmente, a presente invenção fornece uma flexibilidade melhorada permitindo a seleção da função(ões) utilizada para determinar os parâmetros de quantização para os segundos componentes de cor. Ademais, dependendo da fun-ção finalmente selecionada, ou essa melhoria não implica em uma diminuição do desempenho de codificação, ou no caso de haver uma perda perceptível em um dos componentes, essa perda é geralmente compensada por um ganho comparável nos outros componentes.
[0132] Em particular, quando um equilíbrio de qualidade diferente é visado entre os componentes de cor (por exemplo, componentes luma mais fracos e componentes croma mais fortes), e que o formato de cor atual é de YUV 4:4:4 ou YUV 4:2:2, os inventores concluíram que é particularmente interessante selecionar uma função associada com o formato de cor YUV 4:2:0 em vez de usar uma função associada com os formatos de cor YUV 4:4:4 ou YUV 4:2:2.
[0133] Ademais, essa flexibilidade melhorada torna possível armazenar apenas certas funções na memória, uma vez que outra função do que aquela associada com o formato de cor atual, pode ser selecionada para determinar o QPC.
[0134] Os exemplos anteriores somente são possíveis modalidades da invenção, que não estão limitados a essas.

Claims (17)

1. Método para codificar uma imagem ou uma porção de imagem, caracterizado pelo fato de que compreende determinar o valor QPC de um parâmetro de quantização para ao menos um componente croma de uma imagem ou porção de imagem, usando a seguinte função para obter o valor QPC a partir de um valor de um parâmetro de quantização intermediário QPI tanto quando o formato de cor é 4:2:2 quanto quando o formato de cor é 4:4:4,
Figure img0009
e derterminar o valor do parâmetro de quantização para o compenente croma usando a função a seguir para obter o valor QPC a partir do parâmetro de quantização intermediário QPI quando o formato de cor é 4:2:0,
Figure img0010
o parâmetro de quantização intermediário QPI sendo baseado no valor de um parâmetro de quantização de um componente luma da imagem ou porção de imagem; e usar o valor determinado para codificar a imagem ou porção de imagem.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o valor do parâmetro de quantização intermediário QPI é calculado usando a seguinte equação: QPI=MAX(-QPBdOffsetC, MIN(57, QPY + QPOffsetC)) onde: • QPBdOffsetC é um desvio predefinido dependendo da profundidade de bit usada para representar o ou um componente croma, • QPY é o valor do parâmetro de quantização do componente luma da imagem ou porção de imagem, e • QPOffsetC é um desvio que permite controlar parcialmente a ligação entre QPC e QPY.
3. Método, de acordo com a reivindicação 1, em que os ditos componentes luma e croma da imagem ou porção de imagem são divididos em unidades de codificação, que formam parte de uma sequência de imagem, o método , caracterizado pelo fato de que compreende adicionalmente: • codificar as unidades de codificação sucessivas em dados codificados, a codificação compreendendo quantizar o componente luma e o ou um componente croma da imagem ou porção de imagem usando os parâmetros de quantização dos componentes de cor luma e croma, e • gerar um fluxo de bits dos ditos dados codificados.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que a etapa de geração compreende inserir um parâmetro indicando a função usada na etapa de determinação, em uma unidade NAL do fluxo de bits.
5. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que a dita unidade NAL é um Conjunto de Parâmetro de Sequência ou um Conjunto de Parâmetro de Imagem.
6. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que a unidade NAL compreende uma fatia e em que o dito parâmetro está incluído no dito cabeçalho da dita fatia.
7. Método, de acordo com qualquer uma das reivindicações 3 a 6, caracterizado pelo fato de que, quando a imagem está sendo filtrada por um filtro de desblocagem usando ao menos um parâmetro de quantização de desblocagem para o ou um componente croma, o parâmetro de quantização de desblocagem é determinado pela aplicação da função a um valor de um outro parâmetro de quantização intermediário QPI’ também com base no valor do parâmetro de quantização do componente luma da imagem ou porção de imagem.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que a imagem ou porção de imagem é dividida em blocos, e o valor do outro parâmetro de quantização intermediário QPI’ é calculado usando a seguinte equação: QPI’=QPYpred+cQpPicOffset em que • cQpPicOffset é um desvio predefinido transmitido no fluxo de bits gerado usado para representar o parâmetro de quantização para o ou um componente croma; e • QPYpred é um valor de parâmetro de desblocagem médio deduzido dos blocos vizinhos do bloco atual sendo processado.
9. Método para decodificar uma imagem ou porção de imagem, caracterizado pelo fato de que compreende determinar o valor QPC de um parâmetro de quantização para ao menos um componente croma de uma imagem ou porção de imagem a ser decodificada usando a seguinte função para obter o valor QPC a partir de um parâmetro de quantização intermediário QPI tanto quando o formato de cor é 4:2:2 quanto quando o formato de cor é 4:4:4,
Figure img0011
e derterminar o valor do parâmetro de quantização para o compenente croma usando a função a seguir para obter o valor QPC a partir do parâmetro de quantização intermediário QPI quando o formato de cor é 4:2:0,
Figure img0012
o parâmetro de quantização intermediário QPI sendo baseado no valor de um parâmetro de quantização de um componente luma da imagem ou porção de imagem; e usar o valor determinado QPC para decodificar uma imagem ou porção de imagem.
10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que a imagem ou porção de imagem forma parte de uma sequência de imagem, o método adicionalmente compreende: • receber dados codificados relacionados à imagem ou porção de imagem a decodificar, • decodificar os dados codificados, • reconstruir a imagem ou porção de imagem decodificada a partir dos dados decodificados, a reconstrução compreendendo desquantizar o componente luma e o ou um componente croma da imagem ou porção de imagem usando os parâmetros de quantização dos componentes luma e croma.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que compreende adicionalmente filtrar a imagem ou porção de imagem com um filtro de desblocagem usando ao menos um parâmetro de quantização de desblocagem para o ou um componente croma, o dito parâmetro de quantização de desblocagem sendo determinado pela aplicação da dita ao menos uma função a um valor de outro parâmetro de quantização intermediário QPI’ também com base no valor do parâmetro de quantização do componente luma da imagem ou porção de imagem.
12. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que a imagem ou porção de imagem é dividida em blocos, e em que o valor do outro parâmetro de quantização intermediário QPI’ é calculado usando a seguinte equação: QPI’ = QPYpred + cQpPicOffset em que: • cQpPicOffset é um desvio predefinido transmitido no fluxo de bits recebido usado para representar o parâmetro de quantização de desblocagem para o ou um componente croma; e • QPYpred é um valor de parâmetro de quantização de desblocagem médio deduzido dos blocos vizinhos do bloco atual sendo processado.
13. Método, de acordo com qualquer uma das reivindicações 1 a 12, caracterizado pelo fato de que o formato de cor é um formato de cor YUV.
14. Dispositivo para codificar uma imagem ou porção de imagem, caracterizado pelo fato de que compreende: meios para determinar o valor QPC de um parâmetro de quantização para ao menos um componente croma de uma imagem ou porção de imagem usando a seguinte função para obter o valor QPC a partir de um parâmetro de quantização intermediário QPI tanto quando o formato de cor é 4:2:2 quanto quando o formato de cor é 4:4:4,
Figure img0013
e derterminar o valor do parâmetro de quantização para o compenente croma usando a função a seguir para obter o valor QPC a partir do parâmetro de quantização intermediário QPI quando o formato de cor é 4:2:0,
Figure img0014
o parâmetro de quantização intermediário QPI sendo baseado no valor de um parâmetro de quantização de um componente luma da imagem ou porção de imagem; e meios para usar o valor determinado para codificar a imagem ou porção de imagem.
15. Dispositivo, de acordo com a reivindicação 14, caracterizado pelo fato de que os ditos componentes luma e croma são divididos em unidades de codificação, que formam parte de uma sequência de imagem, o dispositivo adicionalmente compreende: • meios para codificar as sucessivas unidades de codificação em dados codificados, a codificação compreende quantizar os componente luma e croma de imagem ou porção de imagem usando os parâmetros de quantização de componentes de cor luma e croma, e • meios para gerar um fluxo de bits dos ditos dados codificados.
16. Dispositivo para decodificar uma imagem ou porção de imagem, caracterizado pelo fato de que compreende: meios para determinar o valor QPC de um parâmetro de quantização para ao menos um componente croma de uma imagem ou porção de imagem a ser decodificada usando a seguinte função para obter o valor QPC a partir de um parâmetro de quantização intermediário QPI tanto quando o formato de cor é 4:2:2 quanto quando o formato de cor é 4:4:4,
Figure img0015
e derterminar o valor do parâmetro de quantização para o compenente croma usando a função a seguir para obter o valor QPC a partir do parâmetro de quantização intermediário QPI quando o formato de cor é 4:2:0,
Figure img0016
o parâmetro de quantização intermediário QPI sendo baseado no valor de um parâmetro de quantização de um componente luma da imagem ou porção de imagem; e meios para usar o valor determinado QPC para decodificar uma imagem ou porção de imagem.
17. Dispositivo, de acordo com a reivindicação 16, em que a imagem ou porção de imagem forma parte de uma sequência de imagem, o dispositivo sendo caracterizado pelo fato de que compreende adicionalmente: • meios para receber dados codificados relacionados à imagem ou porção de imagem a decodificar, • meios para decodificar os dados codificados, • meios para reconstruir a imagem ou porção de imagem decodificada a partir dos dados decodificados, a reconstrução compreendendo desquantizar o componente luma e o ou um componente croma da imagem ou porção de imagem usando os parâmetros de quantização dos componentes luma e croma.
BR112015025330-0A 2013-04-05 2014-03-24 Método e dispositivo para determinar o valor de um parâmetro de quantização BR112015025330B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1306214.6A GB2512826B (en) 2013-04-05 2013-04-05 Method and device for determining the value of a quantization parameter
GB1306214.6 2013-04-05
PCT/EP2014/055863 WO2014161741A1 (en) 2013-04-05 2014-03-24 Method and device for determining the value of a quantization parameter

Publications (2)

Publication Number Publication Date
BR112015025330A2 BR112015025330A2 (pt) 2017-07-18
BR112015025330B1 true BR112015025330B1 (pt) 2023-04-11

Family

ID=48483430

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015025330-0A BR112015025330B1 (pt) 2013-04-05 2014-03-24 Método e dispositivo para determinar o valor de um parâmetro de quantização

Country Status (11)

Country Link
US (2) US10075714B2 (pt)
EP (1) EP2982110B1 (pt)
JP (3) JP6355715B2 (pt)
KR (2) KR101839663B1 (pt)
CN (1) CN105284112B (pt)
BR (1) BR112015025330B1 (pt)
ES (1) ES2807908T3 (pt)
GB (1) GB2512826B (pt)
PL (1) PL2982110T3 (pt)
RU (2) RU2642331C2 (pt)
WO (1) WO2014161741A1 (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9591302B2 (en) * 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
WO2017206803A1 (en) * 2016-05-28 2017-12-07 Mediatek Inc. Method and apparatus of current picture referencing for video coding
CN109416830A (zh) * 2016-07-08 2019-03-01 深圳市大疆创新科技有限公司 用于图像处理的系统和方法
EP3425911A1 (en) * 2017-07-06 2019-01-09 Thomson Licensing A method and a device for picture encoding and decoding
US11019339B2 (en) * 2017-07-12 2021-05-25 Futurewei Technologies, Inc. Fractional quantization parameter offset in video compression
WO2020057662A1 (en) * 2018-09-21 2020-03-26 Huawei Technologies Co., Ltd. Apparatus and method for inverse quantization
WO2020189960A1 (ko) * 2019-03-15 2020-09-24 엘지전자 주식회사 크로마 포맷에 대한 정보를 시그널링 하는 방법 및 장치
EP3949402A4 (en) * 2019-04-26 2022-06-08 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR SIGNALING THE MAPPING FUNCTION OF A CHROMA QUANTIZATION PARAMETER
CN114745544B (zh) 2019-05-28 2024-05-28 杜比实验室特许公司 用信号发送量化参数的方法和计算机可读记录介质
CN113994683A (zh) * 2019-06-21 2022-01-28 华为技术有限公司 用于色度量化控制的编码器、解码器和对应方法
US11997281B2 (en) * 2019-07-05 2024-05-28 Lg Electronics Inc. Image decoding method for coding chroma quantization parameter data, and device for same
CN114731401A (zh) 2019-09-25 2022-07-08 Lg电子株式会社 基于颜色格式来确定分割模式的图像编码/解码方法和装置以及发送比特流的方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4254147B2 (ja) * 2001-11-30 2009-04-15 ソニー株式会社 画像情報符号化方法及び装置、並びにプログラム及び記録媒体
JP4617644B2 (ja) 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
US8711925B2 (en) * 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
CN100546388C (zh) 2007-07-12 2009-09-30 深圳市融创天下科技发展有限公司 一种用于视频编码的色度均衡方法
CN101183460B (zh) 2007-11-27 2010-10-13 西安电子科技大学 彩色图像背景杂波量化方法
US8279924B2 (en) 2008-10-03 2012-10-02 Qualcomm Incorporated Quantization parameter selections for encoding of chroma and luma video blocks
US9363509B2 (en) * 2011-03-03 2016-06-07 Electronics And Telecommunications Research Institute Method for determining color difference component quantization parameter and device using the method
CN106331713B (zh) * 2012-01-20 2019-09-10 维洛媒体国际有限公司 编码装置和编码方法
US9451258B2 (en) * 2012-04-03 2016-09-20 Qualcomm Incorporated Chroma slice-level QP offset and deblocking
CN102724510B (zh) 2012-06-21 2014-05-28 中科开元信息技术(北京)有限公司 一种基于虚拟编码缓冲区充盈度的码率控制算法
US9414054B2 (en) * 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values

Also Published As

Publication number Publication date
EP2982110B1 (en) 2020-07-01
JP6355715B2 (ja) 2018-07-11
GB2512826B (en) 2017-05-10
JP2018174546A (ja) 2018-11-08
US10701360B2 (en) 2020-06-30
US20180352228A1 (en) 2018-12-06
JP2020074597A (ja) 2020-05-14
KR20150139884A (ko) 2015-12-14
RU2642331C2 (ru) 2018-01-24
GB2512826A (en) 2014-10-15
RU2015147182A (ru) 2017-05-12
JP2016518762A (ja) 2016-06-23
KR101981905B1 (ko) 2019-05-23
BR112015025330A2 (pt) 2017-07-18
JP6701270B2 (ja) 2020-05-27
KR101839663B1 (ko) 2018-03-16
US10075714B2 (en) 2018-09-11
GB201306214D0 (en) 2013-05-22
CN105284112B (zh) 2018-10-09
PL2982110T3 (pl) 2020-11-02
CN105284112A (zh) 2016-01-27
WO2014161741A1 (en) 2014-10-09
US20160057419A1 (en) 2016-02-25
KR20180029277A (ko) 2018-03-20
ES2807908T3 (es) 2021-02-24
RU2674307C1 (ru) 2018-12-06
EP2982110A1 (en) 2016-02-10

Similar Documents

Publication Publication Date Title
BR112015025330B1 (pt) Método e dispositivo para determinar o valor de um parâmetro de quantização
AU2015330676B2 (en) Intra block copy prediction restrictions for parallel processing
KR102369117B1 (ko) 비대칭 구획을 갖는 인트라 블록 카피 예측 및 인코더측 검색 패턴, 검색 범위 및 구획화 접근법
KR102413529B1 (ko) 통합된 인트라 블록 카피 및 인터 예측 모드
KR20210045458A (ko) 역 양자화 장치 및 방법
GB2531004A (en) Residual colour transform signalled at sequence level for specific coding modes
KR20210091321A (ko) 비디오 코딩을 위한 방법 및 장치
KR102210946B1 (ko) 스크린 컨텐츠의 딕셔너리 인코딩 및 디코딩
BR112021004124A2 (pt) método de decodificação de vídeo e decodificador de vídeo
KR20230144124A (ko) 경계 강제 파티션에 대한 개선
KR20210088697A (ko) 인코더, 디코더 및 대응하는 디블록킹 필터 적응의 방법
WO2023277804A2 (en) Methods and systems for performing combined inter and intra prediction
EP4118835A1 (en) Methods and devices for high-level syntax in video coding
WO2023048646A2 (en) Methods and systems for performing combined inter and intra prediction
WO2023154574A1 (en) Methods and devices for geometric partitioning mode with adaptive blending
WO2023200907A1 (en) Methods and devices for geometric partitioning mode with adaptive blending
WO2023141338A1 (en) Methods and devices for geometric partitioning mode with split modes reordering
WO2023250047A1 (en) Methods and devices for motion storage in geometric partitioning mode
KR20230051287A (ko) 기하학적 파티션 기반 인트라 예측
WO2023158765A1 (en) Methods and devices for geometric partitioning mode split modes reordering with pre-defined modes order
CN117957838A (zh) 帧内预测模式信令
CN117616757A (zh) 时间运动矢量预测的改进

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 24/03/2014, OBSERVADAS AS CONDICOES LEGAIS

B09W Correction of the decision to grant [chapter 9.1.4 patent gazette]

Free format text: DEVIDO A INCORRECOES NAS INDICACOES DOS DOCUMENTOS QUE DEVEM COMPOR A CARTA-PATENTE, MAIS ESPECIFICAMENTE COM RELACAO AS PAGINAS DO RELATORIO DESCRITIVO.

B16C Correction of notification of the grant [chapter 16.3 patent gazette]

Free format text: REF. RPI 2727 DE 11/04/2023 QUANTO AO RELATORIO DESCRITIVO.