BR112019021584A2 - Método de codificação/decodificação de imagem e dispositivo para o mesmo - Google Patents

Método de codificação/decodificação de imagem e dispositivo para o mesmo Download PDF

Info

Publication number
BR112019021584A2
BR112019021584A2 BR112019021584-0A BR112019021584A BR112019021584A2 BR 112019021584 A2 BR112019021584 A2 BR 112019021584A2 BR 112019021584 A BR112019021584 A BR 112019021584A BR 112019021584 A2 BR112019021584 A2 BR 112019021584A2
Authority
BR
Brazil
Prior art keywords
coefficients
scan order
coefficient
block
scan
Prior art date
Application number
BR112019021584-0A
Other languages
English (en)
Other versions
BR112019021584B1 (pt
Inventor
Koo Moonmo
Kim Seunghwan
Original Assignee
Lg Electronics Inc.
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 Lg Electronics Inc. filed Critical Lg Electronics Inc.
Publication of BR112019021584A2 publication Critical patent/BR112019021584A2/pt
Publication of BR112019021584B1 publication Critical patent/BR112019021584B1/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • 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/18Methods 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 set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

são revelados um método de codificação/decodificação de imagens e um dispositivo para o mesmo. especificamente, um método de codificação de imagem pode compreender os passos de: gerar um bloco de transformada quantizada reali-zando transformação e quantização em um sinal residual de um bloco atual; sepa-rar o bloco de transformada quantizada em uma pluralidade de grupos de coeficien-te; determinar uma primeira ordem de varredura representando a ordem de varredu-ra entre os coeficientes dos grupos de coeficiente; e codificar entropicamente os coeficientes do bloco de transformada quantizada de acordo com a primeira ordem de varredura, e uma segunda ordem de varredura representando a ordem de varre-dura entre a pluralidade de grupos de coeficiente.

Description

“MÉTODO DE CODIFICAÇÃO/DECODIFICAÇÃO DE IMAGEM E DISPOSITIVO PARA O MESMO”
[Campo Técnico]
[001]A presente revelação refere-se a um método de processamento de imagem fixa ou imagem em movimento, e, mais particularmente, a um método para codificar/decodificar um sinal residual transformado e a um dispositivo para oferecer suporte ao mesmo.
[Antecedentes da Invenção]
[002] A codificação com compressão diz respeito a uma série de técnicas de processamento de sinais para transmitir informações digitalizadas através de uma linha de comunicação ou a técnicas para armazenar informações em uma forma adequada para um meio de armazenamento. O meio incluindo uma figura, uma imagem, áudio, etc. pode ser um alvo para a codificação com compressão, e particularmente, uma técnica para realizar a codificação com compressão em uma imagem é chamada de compressão de imagem de vídeo.
[003] Os conteúdos de vídeos de próxima geração deverão apresentar características de alta resolução espacial, alta taxa de quadros e alta dimensionalidade de representação da cena. De modo a processar tais conteúdos, um aumento drástico do armazenamento em memória, da taxa de acesso à memória e da capacidade de processamento seria inevitável.
[004] Consequentemente, é necessário elaborar uma ferramenta de codificação para processar de maneira eficiente os conteúdos de vídeo de próxima geração.
[Revelação]
[Problema Técnico]
[005] Um objetivo da presente revelação propõe um método para codificar/decodificar um sinal residual transformado.
Petição 870190129497, de 06/12/2019, pág. 10/88
2/57
[006]Adicionalmente, um objetivo da presente revelação propõe um método para configurar uma ordem de varredura entre grupos de coeficientes divididos a partir de um bloco de transformada de modo a realizar a codificação por entropia para um sinal residual.
[007]Adicionalmente, um objetivo da presente revelação propõe um método para configurar uma ordem de varredura nos grupos de coeficientes divididos a partir de um bloco de transformada de modo a realizar a codificação por entropia para um sinal residual.
[008] Os objetivos técnicos da presente revelação não se limitam aos objetivos técnicos supracitados, e outros objetivos técnicos, os quais não são mencionados acima, serão aparentemente apreciados por um indivíduo com conhecimento geral na técnica a partir da descrição a seguir.
[Solução Técnica]
[009] Em um aspecto da presente revelação, um método de codificação de imagem pode incluir: gerar um bloco de transformada quantizado realizando a transformada e quantização em um sinal residual de um bloco atual; dividir o bloco de transformada quantizado em uma pluralidade de grupos de coeficientes; determinar uma primeira ordem de varredura representando a ordem de varredura entre os coeficientes dos grupos de coeficientes; e codificar por entropia os coeficientes do bloco de transformada quantizado de acordo com a primeira ordem de varredura, e uma segunda ordem de varredura representando a ordem de varredura entre a pluralidade de grupos de coeficientes.
[010]Preferencialmente, a determinação da primeira ordem de varredura pode incluir determinar um valor de distância entre os respectivos coeficientes do grupo de coeficientes com base em um coeficiente supehor-esquerdo do grupo de coeficientes, e alocar um índice de varredura para coeficientes possuindo o mesmo valor de distância de acordo com uma ordem predeterminada ao mesmo tempo em
Petição 870190129497, de 06/12/2019, pág. 11/88
3/57 que se aumenta sequencialmente o valor de distância.
[011] Preferencialmente, a determinação do valor de distância entre os respectivos coeficientes do grupo de coeficientes pode incluir determinar, quando o grupo de coeficientes é um bloco não-quadrado, um incremento horizontal representando uma quantidade de aumento de um valor de coordenada em uma direção horizontal de cada coeficiente e um incremento vertical representando uma quantidade de aumento do valor de coordenada em uma direção vertical com base em uma proporção de uma largura e uma altura do grupo de coeficientes, e um valor de distância dos respectivos coeficientes pode ser determinado por um valor obtido através da soma do incremento horizontal e do incremento vertical.
[012] Preferencialmente, quando a largura do grupo de coeficientes for maior do que a altura, o incremento horizontal pode ser determinado como 1 e o incremento vertical pode ser determinado como 2, e quando a altura do grupo de coeficientes for maior do que a largura, o incremento horizontal pode ser determinado como 2 e o incremento vertical pode ser determinado como 1.
[013] Preferencialmente, a divisão do bloco de transformada quantizado na pluralidade de grupos de coeficientes pode incluir dividir hierarquicamente o bloco de transformada quantizado e dividir os blocos de transformada quantizados divididos em grupos de coeficientes possuindo uma profundidade inferior, e a segunda ordem de varredura pode incluir uma ordem de varredura entre grupos de coeficientes possuindo respectivas profundidades a partir do bloco de transformada quantizado.
[014] Preferencialmente, quando o bloco de transformada quantizado for o bloco não-quadrado, o bloco de transformada quantizado pode ser dividido em grupos de coeficientes constituídos por um número específico de coeficientes, e o número específico pode ser determinado de acordo com uma proporção de uma largura e uma altura do bloco de transformada quantizado.
[015] Em outro aspecto da presente revelação, um método para
Petição 870190129497, de 06/12/2019, pág. 12/88
4/57 decod if icação de uma imagem pode incluir: dividir um bloco de transformada atual em uma pluralidade de grupos de coeficientes; determinar uma primeira ordem de varredura representando a ordem de varredura entre os coeficientes dos grupos de coeficientes; decodificar por entropia um fluxo de bits gerado a partir de um codificador para gerar um coeficiente de transformada quantizado; e dispor os coeficientes do bloco de transformada quantizado de acordo com a primeira ordem de varredura e a segunda ordem de varredura representando a ordem de varredura entre a pluralidade de grupos de coeficientes para gerar o bloco de transformada quantizado do bloco de processamento atual.
[016]Em outro aspecto da presente revelação, a determinação da primeira ordem de varredura pode incluir determinar um valor de distância entre os respectivos coeficientes do grupo de coeficientes com base em um coeficiente superior-esquerdo do grupo de coeficientes, e alocar um índice de varredura para coeficientes possuindo o mesmo valor de distância de acordo com uma ordem predeterminada ao mesmo tempo em que se aumenta sequencialmente o valor de distância.
[017] Preferencialmente, a determinação do valor de distância entre os respectivos coeficientes do grupo de coeficientes pode incluir determinar, quando o grupo de coeficientes é um bloco não-quadrado, um incremento horizontal representando uma quantidade de aumento de um valor de coordenada em uma direção horizontal de cada coeficiente e um incremento vertical representando uma quantidade de aumento do valor de coordenada em uma direção vertical com base em uma proporção de uma largura e uma altura do grupo de coeficientes, e um valor de distância dos respectivos coeficientes pode ser determinado por um valor obtido através da soma do incremento horizontal e do incremento vertical.
[018] Preferencialmente, quando a largura do grupo de coeficientes for maior do que a altura, o incremento horizontal pode ser determinado como 1 e o
Petição 870190129497, de 06/12/2019, pág. 13/88
5/57 incremento vertical pode ser determinado como 2, e quando a altura do grupo de coeficientes for maior do que a largura, o incremento horizontal pode ser determinado como 2 e o incremento vertical pode ser determinado como 1.
[019] Preferencialmente, a divisão do bloco de processamento atual na pluralidade de grupos de coeficientes pode incluir dividir hierarquicamente o bloco de processamento atual e dividir o bloco de processamento atual em grupos de coeficientes possuindo uma profundidade inferior, e a segunda ordem de varredura pode incluir uma ordem de varredura entre grupos de coeficientes possuindo respectivas profundidades a partir do bloco de processamento atual.
[020] Preferencialmente, quando o bloco de processamento atual for o bloco não-quadrado, o bloco de processamento atual pode ser dividido em grupos de coeficientes constituídos por um número específico de coeficientes, e o número específico pode ser determinado de acordo com uma proporção de uma largura e uma altura do bloco de processamento atual.
[021] Em ainda outro aspecto da presente revelação, um dispositivo para decodificação de uma imagem pode incluir: uma unidade de divisão em grupos de coeficientes dividindo um bloco de processamento atual em uma pluralidade de grupos de coeficientes;, uma unidade de determinação de ordem de varredura determinando uma primeira ordem de varredura representando a ordem de varredura entre os coeficientes dos grupos de coeficientes; uma unidade de geração de coeficiente de transformada decodificando por entropia um fluxo de bits gerado a partir de um codificador para gerar um coeficiente de transformada quantizado; e uma unidade de geração de bloco de transformada dispondo os coeficientes do bloco de transformada quantizado de acordo com a primeira ordem de varredura e a segunda ordem de varredura representando a ordem de varredura entre a pluralidade de grupos de coeficientes para gerar o bloco de transformada quantizado do bloco de processamento atual.
Petição 870190129497, de 06/12/2019, pág. 14/88
6/57
[Efeitos Vantajosos]
[022] De acordo com uma modalidade da presente revelação, a quantidade de um sinal residual pode ser salva no momento da codificação de uma imagem fixa ou de uma imagem em movimento.
[023]Adicionalmente, de acordo com uma modalidade da presente revelação, a quantidade do sinal residual é salva para melhorar a eficiência de codificação/decodificação.
[024]Adicionalmente, de acordo com uma modalidade da presente revelação, uma ordem de varredura dos coeficientes de transformada é configurada de maneira eficiente para reduzir uma quantidade de dados requerida para codificar o coeficiente de transformada.
[025]Adicionalmente, de acordo com uma modalidade da presente revelação, a ordem de varredura dos coeficientes de transformada é configurada considerando-se uma forma de bloco não-quadrado para reduzir a quantidade de dados requerida para codificar o coeficiente de transformada e melhorar o desempenho de compressão.
[026] As vantagens que podem ser obtidas na presente revelação não se limitam aos efeitos supramencionados, e outras vantagens não mencionadas serão claramente entendidas pelos versados na técnica a partir da descrição a seguir.
[Descrição dos Desenhos]
[027] Os desenhos acompanhantes, que são incluídos aqui como parte da descrição para auxiliar no entendimento da presente revelação, proporcionam modalidades da presente revelação, e descrevem os aspectos técnicos da presente revelação com a descrição abaixo.
[028]A FIG. 1 ilustra um diagrama de blocos esquemático de um codificador no qual a codificação de uma imagem fixa ou sinal de vídeo é realizada, como uma modalidade à qual a presente revelação é aplicada.
Petição 870190129497, de 06/12/2019, pág. 15/88
7/57
[029]A FIG. 2 ilustra um diagrama de blocos esquemático de um decodificador no qual a decodificação de uma imagem fixa ou sinal de vídeo é realizada, como uma modalidade à qual a presente revelação é aplicada.
[030] A FIG. 3 é um diagrama para descrever uma estrutura dividida de uma unidade de codificação que pode ser aplicada à presente revelação.
[031]A FIG. 4 é um diagrama para descrever uma unidade de predição que pode ser aplicada à presente revelação.
[032]A FIG. 5 ilustra um método para codificar um sinal residual como uma modalidade à qual a presente revelação é aplicada.
[033] A FIG. 6 ilustra um método para decodificar um sinal residual como uma modalidade à qual a presente revelação é aplicada.
[034]A FIG. 7 é um diagrama ilustrando um método para varrer coeficientes de transformada em unidades de um grupo de coeficientes como uma modalidade à qual a presente revelação é aplicada.
[035]A FIG. 8 é um diagrama ilustrando uma ordem de varredura dos coeficientes de transformada para cada grupo de coeficientes como uma modalidade à qual a presente revelação é aplicada.
[036]As FIGS. 9 e 10 são diagramas para descrever um método para determinar uma estrutura dividida de um bloco de transformada e uma ordem de varredura de um coeficiente de transformada como uma modalidade à qual a presente revelação é aplicada.
[037]A FIG. 11 é um diagrama ilustrando um exemplo de representação de uma localização de um coeficiente em um bloco como uma modalidade à qual a presente revelação é aplicada.
[038]As FIGS. 12 e 13 são diagramas ilustrando uma ordem de varredura dependendo de uma localização de um coeficiente de transformada em um bloco de acordo com uma modalidade da presente revelação.
Petição 870190129497, de 06/12/2019, pág. 16/88
8/57
[039]As FIGS. 14 e 15 são diagramas para descrever um método para determinar uma ordem de varredura para coeficientes de um bloco não-quadrado como uma modalidade à qual a presente revelação é aplicada.
[040]As FIGS. 16 e 17 são diagramas para descrever um método para determinar uma ordem de varredura para coeficientes de um bloco não-quadrado em unidades de um super-pixel como uma modalidade à qual a presente revelação é aplicada.
[041]A FIG. 18 é um diagrama ilustrando um método para determinar uma ordem de varredura para grupos de coeficientes como uma modalidade à qual a presente revelação é aplicada.
[042] A FIG. 19 ilustra um método para codificar uma imagem de acordo com uma modalidade da presente revelação.
[043]A FIG. 20 ilustra um método para decodificar uma imagem de acordo com uma modalidade da presente revelação.
[044]A FIG. 21 ilustra um dispositivo para decodificar uma imagem de acordo com uma modalidade da presente revelação.
[Modo para a Invenção]
[045] Daqui em diante, uma modalidade preferida da presente revelação será descrita por referência aos desenhos anexos. A descrição que será descrita abaixo com os desenhos acompanhantes serve para descrever as modalidades exemplificativas da presente revelação, e não pretende descrever a única modalidade na qual a presente revelação pode ser implementada. A descrição abaixo inclui detalhes específicos de modo a propiciar o entendimento perfeito da presente revelação. Entretanto, os versados na técnica entenderão que a presente revelação pode ser incorporada sem os detalhes específicos.
[046] Em alguns casos, de modo a evitar que o conceito técnico da presente revelação fique pouco claro, estruturas ou dispositivos que são de conhecimento
Petição 870190129497, de 06/12/2019, pág. 17/88
9/57 público podem ser omitidos, ou podem ser representados como um diagrama de blocos focando-se nas funções centrais das estruturas ou dispositivos.
[047]Adicionalmente, embora termos gerais amplamente utilizados sejam escolhidos como os termos na presente revelação tanto quanto possível, um termo que é escolhido arbitrariamente pelo requerente é usado em um caso específico. Uma vez que o significado do termo será claramente descrito na parte correspondente da descrição em tal caso, entende-se que a presente revelação não será interpretada simplesmente somente pelos termos usados na descrição da presente revelação, mas o significado dos termos deverá ser compreendido.
[048]Terminologias específicas usadas na descrição abaixo podem ser empregadas para ajudar no entendimento da presente revelação. Adicionalmente, a terminologia específica pode ser modificada em outras formas dentro do escopo do conceito técnico da presente revelação. Por exemplo, um sinal, dado, uma mostra, uma imagem, um quadro, um bloco, etc. pode ser substituído apropriadamente e interpretado em cada processo de codificação.
[049] Daqui em diante, na presente revelação, um “bloco” ou “unidade” pode significar uma unidade na qual um processo de codificação / decodificação, tal como predição, transformada, e/ou quantização é realizado e pode ser configurado em uma matriz multidimensional de uma amostra (ou um pixel).
[050] O “bloco” ou “unidade” pode significar uma matriz multidimensional da amostra para um componente de luma e pode significar uma matriz multidimensional da amostra para um componente de croma. Adicionalmente, o bloco ou unidade pode ser designado coletivamente tanto como a matriz multidimensional da amostra para o componente de luma quanto como a matriz multidimensional da amostra para o componente de croma.
[051] Por exemplo, o “bloco” ou “unidade” pode ser interpretado como um significado incluindo todos de um bloco de codificação (CB) significando uma matriz
Petição 870190129497, de 06/12/2019, pág. 18/88
10/57 de amostras a serem codificadas/decodificadas, um bloco de codificação em árvore (CTB) constituído por uma pluralidade de blocos de codificação, um bloco de predição (PB) (ou unidade de predição (PU)) significando a matriz de amostras às quais a mesma predição é aplicada, e um bloco de transformada (TB) (ou unidade de transformada (TU)) significando a matriz de amostras às quais a mesma transformada é aplicada.
[052]Adicionalmente, a menos que mencionado separadamente na presente revelação, o “bloco” ou “unidade” pode ser interpretado como um significado incluindo uma estrutura de sintaxe usada durante um processo de codificação/decodificação da matriz das amostras para o componente de luma e/ou componente de croma. Aqui, a estrutura de sintaxe significa um elemento de sintaxe em 0 ou mais elementos de sintaxe que existem em um fluxo de bits em uma ordem específica e o elemento de sintaxe significa um elemento de dado representado no fluxo de bits.
[053] Por exemplo, o “bloco” ou “unidade” pode ser interpretado como um significado incluindo todos de uma unidade de codificação (CU) incluindo o bloco de codificação (CB) e a estrutura de sintaxe usada para codificar o bloco de codificação (CB), uma unidade de codificação em árvore (CU) constituída por uma pluralidade de unidades de codificação, uma unidade de predição (PU) incluindo o bloco de predição (PB) e uma estrutura de sintaxe usada para predizer o bloco de predição (PB), e uma unidade de transformada (TU) incluindo o bloco de transformada (TB) e uma estrutura de sintaxe usada para transformar o bloco de transformada (TB).
[054] Adicionalmente, na presente revelação, o “bloco” ou “unidade” não está particularmente limitado a uma matriz de amostras quadradas ou retangulares (pixels) e pode significar uma matriz de amostras poligonais (ou pixels) possuindo três ou mais vértices. Neste caso, o “bloco” ou “unidade” pode ser chamado de bloco de polígonos ou uma unidade poligonal.
Petição 870190129497, de 06/12/2019, pág. 19/88
11/57
[055]A FIG. 1 ilustra um diagrama de blocos esquemático de um codificador no qual a codificação de uma imagem fixa ou sinal de vídeo é realizada, como uma modalidade à qual a presente revelação é aplicada.
[056] Referindo-se à FIG. 1, o codificador 100 pode incluir uma unidade de divisão de vídeo 110, um subtrator 115, uma unidade de transformada 120, uma unidade de quantização 130, uma unidade de desquantização 140, uma unidade de transformada inversa 150, uma unidade de filtragem 160, um armazenamento temporário de imagens decodificadas (DPB) 170, uma unidade de predição 180 e uma unidade de codificação por entropia 190. Adicionalmente, a unidade de predição 180 pode incluir uma unidade de predição inter 181 e uma unidade de predição intra 182.
[057] A unidade de divisão de vídeo 110 divide um sinal de vídeo de entrada (ou imagem ou quadro), transmitido ao codificador 100, em um ou mais blocos.
[058] O subtrator 115 gera um sinal residual (ou bloco residual) subtraindo um sinal predito (ou bloco predito), gerado pela unidade de predição 180 (isto é, pela unidade de predição inter 181 ou pela unidade de predição intra 182), a partir do sinal de vídeo de entrada. O sinal residual gerado (ou bloco residual) é transmitido à unidade de transformada 120.
[059]A unidade de transformada 120 gera coeficientes de transformada aplicando um esquema de transformada (por exemplo, transformada discreta de cosseno (DCT), transformada discreta de seno (DST), transformada baseada em grafos (GBT) ou transformada de Karhunen-Loeve (KLT)) ao sinal residual (ou bloco residual). Neste caso, a unidade de transformada 120 pode gerar coeficientes de transformada realizando a transformada usando um modo de predição aplicado ao bloco residual e um esquema de transformada determinado com base no tamanho do bloco residual.
[060] A unidade de quantização 130 quantiza o coeficiente de transformada e
Petição 870190129497, de 06/12/2019, pág. 20/88
12/57 o transmite à unidade de codificação por entropia 190, e a unidade de codificação por entropia 190 realiza uma operação de codificação por entropia do sinal quantizado e transmite-o como um fluxo de bits.
[061] Enquanto isso, o sinal quantizado gerado pela unidade de quantização 130 pode ser usado para gerar um sinal de predição. Por exemplo, um sinal residual pode ser reconstruído aplicando-se a desquantização e transformação inversa ao sinal quantizado através da unidade de desquantização 140 e da unidade de transformada inversa 150. Um sinal reconstruído (ou bloco reconstruído) pode ser gerado adicionando-se o sinal residual reconstruído ao sinal de predição gerado pela unidade de predição inter 181 ou pela unidade de predição intra 182.
[062] Enquanto isso, durante tal processo de compressão, os blocos vizinhos são quantizados por diferentes parâmetros de quantização. Consequentemente, pode ocorrer um artefato no qual um limite entre blocos é mostrado. Tal fenômeno é chamado de artefato de blocagem, que é um dos fatores importantes para avaliar a qualidade da imagem. De modo a reduzir tal artefato, um processo de filtragem pode ser realizado. Através de tal processo de filtragem, o artefato de blocagem é removido e o erro de uma imagem atual é diminuído ao mesmo tempo, dessa forma melhorando a qualidade da imagem.
[063]A unidade de filtragem 160 aplica filtragem ao sinal reconstruído, e transmite-o através de um dispositivo de reprodução ou transmite-o ao armazenamento temporário de imagens decodificadas 170. O sinal filtrado transmitido ao armazenamento temporário de imagens decodificadas 170 pode ser usado como uma imagem de referência na unidade de predição inter 181. Como descrito acima, a taxa de codificação, bem como a qualidade da imagem, pode ser melhorada usando a imagem filtrada como uma imagem de referência em um modo de predição de imagem inter.
[064] O armazenamento temporário de imagens decodificadas 170 pode
Petição 870190129497, de 06/12/2019, pág. 21/88
13/57 armazenar a imagem filtrada de modo a usá-la como uma imagem de referência na unidade de predição inter 181.
[065]A unidade de predição inter 181 realiza a predição temporal e/ou a predição espacial com referência à imagem reconstruída de modo a remover a redundância temporal e/ou a redundância espacial. Neste caso, pode ocorrer um artefato de blocagem ou artefato de anel pode ocorrer, já que uma imagem de referência usada para realizar a predição é um sinal transformado que passa por quantização ou desquantização em uma unidade de bloco quando ele é codificado/decodificado previamente.
[066] Aqui, uma vez que a imagem de referência usada para realizar predição é um sinal codificado/decodificado em unidades de um bloco em um momento anterior, podem existir artefatos de blocagem ou artefatos de anel.
[067] Consequentemente, a unidade de predição inter 181 pode interpelar um sinal entre pixels em unidades de um sub-pixel aplicando um filtro passa-baixa de modo a resolver a degradação de desempenho devido à descontinuidade ou quantização de tal sinal ou melhorar a predição da predição de movimento. Aqui, o sub-pixel significa um pixel virtual gerado pela aplicação de um filtro de interpelação e um pixel inteiro significa um pixel real que existe na imagem reconstruída. Como um método de interpolação, pode-se adotar interpolação linear, interpolação bilinear, filtro de wiener, entre outros.
[068] Um filtro de interpolação é aplicado à imagem reconstruída para melhorar a precisão da predição. Por exemplo, a unidade de predição inter 181 aplica o filtro de interpolação ao pixel inteiro para gerar um pixel interpelado e a predição pode ser realizada usando um bloco interpolado constituído pelo pixels interpolados.
[069]A unidade de predição intra 182 prediz o bloco atual referindo-se às amostras na vizinhança de um bloco que deverá ser sujeito à codificação atual. A
Petição 870190129497, de 06/12/2019, pág. 22/88
14/57 unidade de predição intra 182 pode realizar o seguinte processo de modo a realizar a predição intra. Primeiro, uma amostra de referência pode ser preparada, a qual é necessária para gerar o sinal de predição. Além disso, o sinal predito (bloco predito) pode ser gerado usando a amostra de referência preparada. Em seguida, o modo de predição é codificado. Neste caso, a amostra de referência pode ser preparada através de enchimento da amostra de referência e/ou filtragem da amostra de referência. Uma vez que a amostra de referência é sujeita a processos de predição e reconstrução, pode existir um erro de quantização. Consequentemente, um processo de filtragem de amostra de referência pode ser realizado em relação a cada modo de predição usado para a predição intra de modo a reduzir tal erro.
[070] O sinal predito (ou bloco predito) gerado através da unidade de predição inter 181 ou da unidade de predição intra 182 pode ser usado para gerar o sinal reconstruído (ou bloco reconstruído) ou usado para gerar o sinal residual (ou bloco residual).
[071]A FIG. 2 ilustra um diagrama de blocos esquemático de um decodificador no qual a decodificação de uma imagem fixa ou sinal de vídeo é realizada, como uma modalidade à qual a presente revelação é aplicada.
[072] Referindo-se à FIG. 2, o decodificador 200 pode incluir uma unidade de codificação por entropia 210, uma unidade de desquantização 220, uma unidade de transformada inversa 230, um somador 235, uma unidade de filtragem 240, um armazenamento temporário de imagens decodificadas (DPB) 250 e uma unidade de predição 260. Adicionalmente, a unidade de predição 260 pode incluir uma unidade de predição inter 261 e uma unidade de predição intra 262.
[073]Adicionalmente, um sinal de vídeo reconstruído gerado através do decodificador 200 pode ser reproduzido através de um dispositivo de reprodução.
[074] O decodificador 200 recebe um sinal (isto é, fluxo de bits) gerado pelo codificador 100 ilustrado na FIG. 1. A unidade de codificação de entropia 210 realiza
Petição 870190129497, de 06/12/2019, pág. 23/88
15/57 uma operação de decodificação por entropia no sinal recebido.
[075] A unidade de desquantização 220 obtém coeficientes de transformada a partir do sinal decodificado por entropia usando informações de tamanho de passo de quantização.
[076]A unidade de transformada inversa 230 obtém um sinal residual (ou bloco residual) transformando inversamente os coeficientes de transformada pela aplicação de um esquema de transformada inversa.
[077] O somador 235 adiciona o sinal residual obtido (ou bloco residual) ao sinal predito (ou bloco predito) gerado a partir da unidade de predição 260 (isto é, a unidade de predição inter 261 ou a unidade de predição intra 262) para gerar o sinal reconstruído (ou bloco reconstruído).
[078]A unidade de filtragem 240 aplica filtragem ao sinal reconstruído (ou bloco reconstruído) e emite o sinal filtrado para um dispositivo de reprodução ou transmite o sinal filtrado ao armazenamento temporário de imagens decodificadas 250. O sinal filtrado transmitido ao armazenamento temporário de imagens decodificadas 250 pode ser usado como uma imagem de referência na unidade de predição inter 261.
[079] Na presente revelação, as modalidades descritas na unidade de filtragem 160, na unidade de predição inter 181 e na unidade de predição intra 182 do codificador 100 podem ser aplicadas de maneira idêntica à unidade de filtragem 240, à unidade de predição inter 261 e à unidade de predição intra 262 do decodificador, respectivamente.
Estrutura de divisão em blocos
[080] Em geral, um método de compressão de imagem baseado em blocos é usado na técnica de compressão (por exemplo, HEVC) de uma imagem fixa ou um vídeo. O método de compressão de imagem baseado em blocos é um método de processamento de uma imagem que a divide em unidade de blocos específicas, e
Petição 870190129497, de 06/12/2019, pág. 24/88
16/57 pode reduzir o uso da memória e uma carga computacional.
[081] A FIG. 3 é um diagrama para descrever uma estrutura dividida de uma unidade de codificação que pode ser aplicada à presente revelação.
[082] Um codificador divide uma única imagem (ou figura) em unidades de codificação em árvore (CTUs) de uma forma quadrangular, e codifica sequencialmente as CTUs uma a um de acordo com a ordem de varredura por rastreamento (“raster”).
[083] Na HEVC, um tamanho de CTU pode ser determinado como um dentre 64x64, 32x32, e 16χ16. O codificador pode selecionar e usar o tamanho de uma CTU com base na resolução de um sinal de vídeo de entrada ou nas características do sinal de vídeo de entrada. A CTU inclui um bloco de codificação em árvore (CTB) para um componente de luma e o CTB para dois componentes de croma que correspondem a ele.
[084] Uma CTU pode ser dividida em uma estrutura de árvore quaternária. Isto é, uma CTU pode ser dividida em quatro unidades, cada uma possuindo um quadrado e possuindo um tamanho semi-horizontal e um tamanho semi-vertical, dessa forma sendo capaz de gerar unidades de codificação (CUs). Tal divisão da estrutura de árvore quaternária pode ser realizada recursivamente. Isto é, as CUs são divididas hierarquicamente a partir de uma CTU na estrutura de árvore quaternária.
[085] Uma CU significa uma unidade básica para o processo de processamento de um sinal de vídeo de entrada, por exemplo, codificação na qual uma predição intra/inter é realizada. Uma CU inclui um bloco de codificação (CB) para um componente de luma e um CB para dois componentes de croma correspondendo ao componente de luma. Na HEVC, um tamanho de CU pode ser determinado como um dentre 64x64, 32x32, 16x16 e 8x8.
[086] Referindo-se à FIG. 3, o nó raiz de uma árvore quaternária está
Petição 870190129497, de 06/12/2019, pág. 25/88
17/57 relacionado a uma CTU. A árvore quaternária é dividida até que um nó folha seja alcançado. O nó folha corresponde a uma Cll.
[087] Isso é descrito em mais detalhes. A CTU corresponde ao nó raiz e possui o menor valor de profundidade (isto é, profundidade=0). Uma CTU pode não ser dividida dependendo das características de um sinal de vídeo de entrada. Neste caso, a CTU corresponde a uma CU.
[088] Uma CTU pode ser dividida em uma forma de árvore quaternária. Como resultado, nós inferiores, isto é, uma profundidade 1 (profundidade=1), são gerados. Adicionalmente, um nó (isto é, nó folha) que pertence aos nós inferiores possuindo a profundidade de 1 e que não é mais dividido corresponde a uma CU. Por exemplo, na FIG. 3(b), uma CU(a), uma CU(b) e uma CU(j) correspondendo aos nós a, b e j foram divididas uma vez a partir da CTU, e possuem uma profundidade de 1.
[089] Pelo menos um dos nós possuindo a profundidade de 1 pode ser dividido em uma forma de árvore quaternária. Como resultado, nós inferiores possuindo uma profundidade 1 (profundidade=2) são gerados. Adicionalmente, um nó (isto é, nó folha) que pertence aos nós inferiores possuindo a profundidade de 2 e que não é mais dividido corresponde a uma CU. Por exemplo, na FIG. 3(b), uma CU(c), uma CU(h) e uma CU(i) correspondendo aos nós c, h e i foram divididas duas vezes a partir da CTU, e possuem uma profundidade de 2.
[090] Adicionalmente, pelo menos um dos nós possuindo a profundidade de 2 pode ser dividido em uma forma de árvore quaternária novamente. Como resultado, nós inferiores possuindo uma profundidade 3 (profundidade=3) são gerados. Adicionalmente, um nó (isto é, nó folha) que pertence aos nós inferiores possuindo a profundidade de 3 e que não é mais dividido corresponde a uma CU. Por exemplo, na FIG. 3(b), uma CU(d), uma CU(e), uma CU(f) e uma CU(g) correspondendo aos nós d, e, f e g foram divididas três vezes a partir da CTU, e possuem uma profundidade de 3.
Petição 870190129497, de 06/12/2019, pág. 26/88
18/57
[091] No codificador, um tamanho máximo ou tamanho mínimo de uma Cll pode ser determinado com base nas características de uma imagem de vídeo (por exemplo, resolução) ou considerando a taxa de codificação. Adicionalmente, informações sobre o tamanho máximo ou mínimo ou informações capazes de derivar as informações podem ser incluídas em um fluxo de bits. Uma CU possuindo um tamanho máximo é chamada de maior unidade de codificação (LCU), e uma CU possuindo um tamanho mínimo é chamada de menor unidade de codificação (SCU).
[092]Além disso, uma CU possuindo uma estrutura de árvore pode ser dividida hierarquicamente com informações de profundidade máxima predeterminada (ou informações de nível máximo). Adicionalmente, cada CU dividida pode ter informações de profundidade. Uma vez que as informações de profundidade representam uma contagem de divisões e/ou o grau de uma CU, elas podem incluir informações sobre o tamanho de uma CU.
[093] Uma vez que a LCU é dividida em um formato de árvore quaternária, o tamanho da SCU pode ser obtido usando um tamanho de LCU e as informações de profundidade máxima. Ou então, inversamente, o tamanho de LCU pode ser obtido usando um tamanho de SCU e as informações de profundidade máxima da árvore.
[094] Para uma única CU, as informações (por exemplo, um sinalizador de CU dividida (split_cu_flag)) que representam se a CU correspondente está dividida podem ser encaminhadas ao decodificador. Essa informação de divisão é incluída em todas as CUs, exceto na SCU. Por exemplo, quando o valor do sinalizador que representa se irá dividir for “1”, a CU correspondente é adicionalmente dividida em quatro CUs, e quando o valor do sinalizador que representa se irá dividir for “0”, a CU correspondente não é dividida mais, e o processo de processamento para a CU correspondente pode ser realizado.
[095] Como descrito acima, uma CU é uma unidade básica da codificação na qual a predição intra ou a predição inter é realizada. A HEVC divide a CU em uma
Petição 870190129497, de 06/12/2019, pág. 27/88
19/57 unidade de predição (PU) para codificar um sinal de vídeo de entrada de maneira mais eficaz.
[096] Uma PU é uma unidade básica para gerar a bloco de predição, e mesmo em uma única CU, o bloco de predição pode ser gerado de maneira diferente por uma unidade de PU. Entretanto, a predição intra e a predição inter não são usadas juntas para as PUs que pertencem a uma única CU, e as PUs que pertencem a uma única CU são codificadas pelo mesmo método de predição (isto é, a predição intra ou a predição inter).
[097] Uma PU não é dividida na estrutura de árvore quaternária, mas sim dividida uma vez em uma única de em um formato predeterminado. Isto será descrito por referência ao desenho abaixo.
[098] A FIG. 4 é um diagrama para descrever uma unidade de predição que pode ser aplicada à presente revelação.
[099] Uma PU é dividida de maneira diferente, dependendo de se o modo de predição intra é usado ou o modo de predição inter é usado como o modo de codificação da CU à qual pertence a PU.
[0100]A FIG. 4(a) ilustra uma PU se o modo de predição intra for usado, e a FIG. 4(b) ilustra uma PU se o modo de predição interior usado.
[0101]Referindo-se à FIG. 4(a), supondo que o tamanho de uma única CU seja 2Νχ2Ν (N = 4, 8, 16 e 32), a CU única pode ser dividida em dois tipos (isto é, 2Nx2N ou NxN).
[0102]Neste caso, se uma única CU for dividida na PU de formato 2Νχ2Ν, isso significa que somente uma PU está presente em uma única CU.
[0103]Enquanto isso, se uma única CU for dividida na PU de formato NxN, uma única CU é dividida em quatro PUs, e diferentes blocos de predição são gerados para cada unidade de PU. Entretanto, tal divisão em PUs pode ser realizada somente se o tamanho de CB para o componente de luma da CU for o tamanho
Petição 870190129497, de 06/12/2019, pág. 28/88
20/57 mínimo (isto é, o caso em que uma Cll é uma SCU).
[0104]Referindo-se à FIG. 4(b), supondo que o tamanho de uma única Cll seja 2Νχ2Ν (N = 4, 8, 16 e 32), uma única Cll pode ser dividida em oito tipos de PU (isto é, 2Nx2N, ΝχΝ, 2ΝχΝ, Nx2N, nl_x2N, nRx2N, 2NxnU e 2NxnD).
[0105]Como na predição intra, a divisão em PUs de formato NxN pode ser realizada somente se o tamanho de CB para o componente de luma da CU for o tamanho mínimo (isto é, o caso em que uma CU é uma SCU).
[0106]A predição inter suporta a divisão em PUs no formato de 2ΝχΝ que é dividido em uma direção horizontal e no formato de Νχ2Ν que é dividido em uma direção vertical.
[0107]Além disso, a predição inter suporta a divisão em PUs no formato de nl_x2N, nRx2N, 2NxnU e 2NxnD, que é uma divisão em movimento assimétrico (AMP). Neste caso, ‘ri significa o valor de 1/4 de 2N. Entretanto, o AMP pode não ser usado se a CU à qual a PU pertence for a CU de tamanho mínimo.
[0108] De modo a codificar o sinal de vídeo de entrada em uma única CTU de maneira eficiente, a estrutura de divisão ideal da unidade de codificação (CU), da unidade de predição (PU) e da unidade de transformada (TU) pode ser determinada com base em um valor de taxa-distorção mínimo através do processo de processamento como se segue. Por exemplo, quanto ao processo de divisão de CU ideal em uma CTU de 64χ64, o custo de taxa-distorção pode ser calculado através do processo de divisão a partir de uma CU de tamanho 64x64 para uma CU de tamanho 8χ8. O processo detalhado é como se segue.
[0109] 1) A estrutura de divisão ideal de uma PU e TU que gera o valor de taxa-distorção mínimo é determinado realizando a predição inter/intra, transformação / quantização, desquantização / transformação inversa e codificação por entropia na CU de tamanho 64x64.
[0110]2) A estrutura de divisão ideal de uma PU e TU é determinada para
Petição 870190129497, de 06/12/2019, pág. 29/88
21/57 dividir a de 64*64 em quatro CUs de tamanho 32*32 e para gerar o valor de taxadistorção mínimo para cada CU de 32*32.
[0111]3) A estrutura de divisão ideal de uma PU e TU é determinada para dividir adicionalmente a CU de 32*32 em quatro CUs de tamanho 16*16 e para gerar o valor de taxa-distorção mínimo para cada CU de 16*16.
[0112]4) A estrutura de divisão ideal de uma PU e TU é determinada para adicionalmente dividir a CU de 16*16 em quatro CUs de tamanho 8*8 e para gerar o valor de taxa-distorção mínimo para cada CU de 8*8.
[0113](5) A estrutura de divisão ideal de uma CU no bloco de 16*16 é determinada comparando-se o valor de taxa-distorção da CU de 16*16 obtida no processo 3) com a adição do valor de taxa-distorção das quatro CUs de 8*8 obtidas no processo 4). Este processo também é realizado para as três CUs de 16*16 restantes da mesma maneira.
[0114](6) A estrutura de divisão ideal da CU no bloco de 32*32 é determinada comparando-se o valor de taxa-distorção da CU de 32*32 obtida no processo 2) com a adição do valor de taxa-distorção das quatro CUs de 16*16 que é obtido no processo 5). Este processo também é realizado para as três CUs de 32*32 restantes da mesma maneira.
[0115](7) Finalmente, a estrutura de divisão ideal da CU no bloco de 64*64 é determinada comparando-se o valor de taxa-distorção da CU de 64*64 obtida no processo 1) com a adição do valor de taxa-distorção das quatro CUs de 32*32 obtidas no processo 6).
[0116] No modo de predição intra, um modo de predição é selecionado como uma unidade de PU, e a predição e reconstrução são realizadas no modo de predição selecionado em uma unidade de TU real.
[0117] Uma TU significa uma unidade básica na qual a predição e reconstrução real são realizadas. Uma TU inclui um bloco de transformada (TB) para
Petição 870190129497, de 06/12/2019, pág. 30/88
22/57 um componente de luma e um TB para dois componentes de croma correspondendo ao componente de luma.
[0118]No exemplo da FIG. 3, como em um exemplo no qual uma CTU é dividida na estrutura de árvore quaternária para gerar uma CU, uma TU é hierarquicamente dividida a partir de uma CU a ser codificada na estrutura de árvore quaternária.
[0119]As TUs divididas a partir de uma CU podem ser divididas em TUs menores e inferiores, uma vez que uma TU é dividida na estrutura de árvore quaternária. Na HEVC, o tamanho de uma TU pode ser determinado como sendo um dentre 32x32, 16x16, 8x8 e 4x4.
[0120]Referindo-se novamente à FIG. 3, presume-se que o nó raiz de uma árvore quaternária esteja relacionado a uma CU. A árvore quaternária é dividida até que um nó folha seja alcançado, e o nó folha corresponde a uma TU.
[0121] Isso é descrito em mais detalhes. Uma CTU corresponde a um nó raiz e possui o menor valor de profundidade (isto é, profundidade=0). Uma CU pode não ser dividida, dependendo das características de uma imagem de entrada. Neste caso, a CU corresponde a uma TU.
[0122]Uma CU pode ser dividida em uma forma de árvore quaternária. Como resultado, nós inferiores possuindo uma profundidade 1 (profundidade=1) são gerados. Adicionalmente, um nó (isto é, nó folha) que pertence aos nós inferiores possuindo a profundidade de 1 e que não é mais dividido corresponde a uma TU. Por exemplo, na FIG. 3(b), uma TU(a), uma TU(b) e uma TU(j) correspondendo aos nós a, b e j são divididas uma vez a partir de uma CU, e possuem uma profundidade de 1.
[0123] Pelo menos um dos nós possuindo a profundidade de 1 pode ser dividido em uma forma de árvore quaternária novamente. Como resultado, nós inferiores possuindo uma profundidade 2 (profundidade=2) são gerados.
Petição 870190129497, de 06/12/2019, pág. 31/88
23/57
Adicionalmente, um nó (isto é, nó folha) que pertence aos nós inferiores possuindo a profundidade de 2 e que não é mais dividido corresponde a uma TU. Por exemplo, na FIG. 3(b), uma TU(c), uma TU(h) e uma TU(i) correspondendo ao nó c, h e I foram divididas duas vezes a partir da CU e possuem uma profundidade de 2.
[0124]Adicionalmente, pelo menos um dos nós possuindo a profundidade de 2 pode ser dividido em uma forma de árvore quaternária novamente. Como resultado, nós inferiores possuindo uma profundidade 3 (profundidade=3) são gerados. Adicionalmente, um nó (isto é, nó folha) que pertence aos nós inferiores possuindo a profundidade de 3 e que não é mais dividido corresponde a uma CU. Por exemplo, na FIG. 3(b), uma TU(d), uma TU(e), uma TU(f) e uma TU(g) correspondendo aos nós d, e, f e g foram divididas três vezes a partir da CU, e possuem a profundidade de 3.
[0125] Uma TU possuindo uma estrutura de árvore pode ser dividida hierarquicamente com informações de profundidade máxima predeterminada (ou informações de nível máximo). Adicionalmente, cada TU dividida pode ter informações de profundidade. As informações de profundidade podem incluir informações sobre o tamanho da TU, uma vez que indicam o número de divisão e/ou o grau da TU.
[0126] Informações (por exemplo, um sinalizador de TU dividida “split_transform_flag”) representando se uma TU correspondente foi dividida em relação a uma TU podem ser transferidas ao decodificador. As informações de divisão são incluídas em todas as TUs que não uma TU de um tamanho mínimo. Por exemplo, se o valor do sinalizador representando se uma TU foi dividida for Ί”, a TU correspondente é dividida em quatro TUs. Se o valor do sinalizador representando se uma TU foi dividida for “0”, a TU correspondente não é mais dividida.
Método de codificação/decodificação de sinal residual
[0127] Uma imagem de entrada é diferenciada pelo bloco predito pela
Petição 870190129497, de 06/12/2019, pág. 32/88
24/57 unidade de predição intra ou pela unidade de predição inter e informações relacionadas à predição e a um sinal residual para diferenciação são transmitidas para reconstruir a imagem em um decodificador. Isto será descrito em mais detalhes com referência aos desenhos apresentados abaixo.
[0128]A FIG. 5 ilustra um método para codificar um sinal residual como uma modalidade à qual a presente revelação é aplicada.
[0129] Referindo-se à FIG. 5, um codificador (dispositivo de codificação) transforma um sinal residual (ou bloco residual) (S501). O sinal residual significa um sinal diferenciado a partir do sinal predito pela unidade de predição intra ou pela unidade de predição inter a partir da imagem de entrada. O sinal residual é um sinal de um domínio espacial e é transformado para o domínio da frequência para remover uma correlação entre os sinais e concentrar a energia em uma região de baixa frequência. Neste caso, o codificador pode gerar o coeficiente de transformada aplicando uma técnica de transformada, tal como DCT, DST, GBT, KLT, etc.
[0130]O codificador quantiza o coeficiente de transformada (S502). O sinal transformado é escalonado e/ou quantizado de modo a reduzir uma magnitude do sinal.
[0131]O codificador divide o bloco de transformada em sub-blocos (S503). O codificador pode dividir o bloco de transformada em sub-blocos (por exemplo, um sub-bloco possuindo um tamanho de 4 x 4) possuindo um tamanho constante predeterminado.
[0132]O codificador varre o coeficiente de transformada quantizado e codifica o coeficiente de acordo com uma ordem de varredura (S504). Isto é, os coeficientes de transformada quantizados são codificados por entropia e transmitidos de acordo com uma ordem predeterminada.
[0133]Aqui, a ordem de varredura pode corresponder a uma ordem de varredura diagonal cima-direita, uma ordem de varredura horizontal, uma ordem de
Petição 870190129497, de 06/12/2019, pág. 33/88
25/57 varredura vertical, etc.
[0134]O codificador pode varrer os coeficientes de transformada em uma direção inversa até alcançar um coeficiente de coordenada (0,0), o chamado coeficiente DC iniciando em uma localização de um coeficiente menos significativo (isto é, um último coeficiente diferente de zero). Neste caso, os coeficientes de transformada quantizados em cada sub-bloco podem ser varridos de acordo com a ordem de varredura diagonal cima-direita e, adicionalmente, respectivos sub-blocos também podem ser varridos de acordo com a ordem de varredura diagonal cimadireita de maneira similar.
[0135] Neste caso, as informações para identificar uma localização (isto é, uma localização de uma coluna e uma localização de um linha) do último coeficiente significativo no bloco de transformada podem ser codificadas.
[0136]O decodificador pode obter a imagem reconstruída realizando o processo no codificador no sentido inverso. Isto será descrito em mais detalhes com referência aos desenhos apresentados abaixo.
[0137]A FIG. 6 ilustra um método para decodificar um sinal residual como uma modalidade à qual a presente revelação é aplicada.
[0138] Referindo-se à FIG. 6, o decodificador (dispositivo de decod if icação) decodifica um coeficiente (S601). Isto é, o decodificador realiza a decodificação por entropia para um sinal (isto é, fluxo de bits) gerado a partir do codificador para obter um coeficiente de transformada quantizado.
[0139]O decodificador localiza os coeficientes de transformada quantizados na ordem de varredura e quantiza inversamente os coeficientes de transformada (S602). Isto é, o decodificador pode dispor respectivos coeficientes de transformada quantizados reconstruídos através de decodificação por entropia na matriz de sinal residual de acordo com uma ordem predeterminada.
[0140]Como descrito acima, a ordem de varredura pode corresponder à
Petição 870190129497, de 06/12/2019, pág. 34/88
26/57 ordem de varredura diagonal cima-direita, à ordem de varredura horizontal, à ordem de varredura vertical, etc.
[0141]Como descrito acima, informações representando a localização do último coeficiente significativo (isto é, coeficiente diferente de zero) de acordo com a ordem de varredura no bloco de transformada podem ser sinalizadas através do fluxo de bits. O decodificador analisa as informações acima para derivar a localização da coluna e a localização da linha do último coeficiente significativo (isto é, coeficiente diferente de zero) de acordo com a ordem de varredura no bloco de transformada.
[0142]O decodificador pode varrer os coeficientes de transformada na direção inversa até alcançar a coordenada (0,0), o chamado coeficiente DC, iniciando na localização do último coeficiente significativo (isto é, coeficiente diferente de zero). Neste caso, os coeficientes de transformada quantizados em cada sub-bloco podem ser varridos de acordo com uma ordem inversa à ordem de varredura diagonal cima-direita e, adicionalmente, respectivos sub-blocos também podem ser varridos de acordo com a ordem inversa à ordem de varredura diagonal cima-direita de maneira similar.
[0143]O decodificador pode quantizer inversamente os coeficientes de transformada quantizados de acordo com a ordem de varredura como descrito acima.
[0144] O decodificador transforma inversamente os coeficientes de transformada quantizados inversamente (S603). Isto é, o decodificador pode transformar inversamente o coeficiente de transformada aplicando uma técnica de transformada inversa e obter o sinal residual.
[0145]Como tal, os respectivos coeficientes reconstruídos através de decodificação por entropia podem ser dispostos na matriz de sinal residual de acordo com a ordem de varredura e reconstruídos nos sinais residuais do domínio
Petição 870190129497, de 06/12/2019, pág. 35/88
27/57 espacial através de quantização inversa e transformada inversa. Além disso, o sinal residual reconstruído é combinado com o sinal de predição e então emitido como a imagem reconstruída através de um processo de filtragem.
Modalidade 1
[0146] Em uma modalidade da presente revelação, o codificador/decodificador pode configurar hierarquicamente a ordem de varredura para os coeficientes de transformada. Em outras palavras, o codificador/decodificador pode dividir o bloco de transformada (ou bloco residual ou bloco de processamento de varredura) em grupos de coeficientes e então realizar varredura em unidades dos grupos de coeficientes divididos. O grupo de coeficientes pode ser chamado de sub-bloco, um sub-grupo, um sub-grupo de coeficientes, etc.
[0147]O codificador/decodificador pode varrer o coeficiente de transformada em cada grupo de coeficientes enquanto varre o coeficiente de transformada em unidades do grupo de coeficientes divididas a partir do bloco de transformada de acordo com a ordem de varredura. Por exemplo, o grupo de coeficientes pode ser um bloco possuindo um tamanho de 4 x 4. Isto será descrito com referência à FIG. 7 abaixo.
[0148]A FIG. 7 é um diagrama ilustrando um método para varrer coeficientes de transformada em unidades de um grupo de coeficientes como uma modalidade à qual a presente revelação é aplicada.
[0149]Referindo-se à FIG. 7, presume-se que o tamanho do bloco atual (isto é, do bloco de transformada) seja 8 x 8 e o grupo de coeficientes seja determinado como blocos de 4 x 4. Neste caso, por exemplo, o codificador/decodificador pode varrer os grupos de coeficientes na ordem de CG1 701, CG3 703, CG2 702, e CG4 704. Além disso, o codificador/decodificador pode varrer os coeficientes em cada grupo de coeficientes de acordo com uma ordem de varredura diagonal de maneira similar à ordem de varredura entre os grupos de coeficientes.
Petição 870190129497, de 06/12/2019, pág. 36/88
28/57
[0150]Quando o bloco atual possuindo o tamanho de 8 x 8 da FIG. 7 é expresso como O e os grupos de coeficientes possuindo o tamanho de 4 x 4 CG1/! k) k = 1 4 são expressos como ’ h (onde k representa a ordem de varredura), os grupos de coeficientes da FIG. 7 podem satisfazer à Equação 1 abaixo.
[Equação 1]
CG1(1,1) = qq1 CG1(1,2) = qg3 CG1(1,3) = qg 2j CG1(1,4) = qg4
[0151]Supõe-se que a varredura inicie a partir de um coeficiente (isto é, coeficiente DC) correspondendo a uma baixa frequência na FIG. 7 e à Equação 1, mas a cod if icação/decod if icação pode ser realizada a partir de um grupo de coeficientes varrido por último em um processo de codificação/decodificação. Adicionalmente, neste caso, os coeficientes no grupo de coeficientes pode ser varrido usando a mesma ordem de varredura e a codificação/decodificação pode ser realizada a partir do coeficiente posicionado por último na ordem de varredura.
[0152] Isto é, quando a codificação por entropia para o coeficiente de transformada é realizada, os grupos de coeficientes podem ser codificados na ordem de CG4 704, CG2 702, CG3 703, e CG1 701, e, neste caso, um coeficiente de componente DC posicionado em uma extremidade superior-esquerda pode ser codificado por último.
[0153] Na presente revelação, são descritas modalidades com base em um método para primeiramente varrer o componente DC na extremidade superioresquerda como na Equação 1, mas a presente revelação não se limita à mesma, e uma ordem de varredura na direção inversa pode ser aplicada. Mesmo quando a ordem de varredura inversa é aplicada durante o processo de codificação real, o método proposto pela presente revelação pode ser aplicado. Neste caso, a ordem de varredura inversa pode ser derivada usando a Equação 9 a ser abaixo a partir de uma ordem de varredura progressiva.
Petição 870190129497, de 06/12/2019, pág. 37/88
29/57
[0154]A FIG. 8 é um diagrama ilustrando uma ordem de varredura dos coeficientes de transformada para cada grupo de coeficientes como uma modalidade à qual a presente revelação é aplicada.
[0155]Referindo-se a FIG. 8, uma relação hierárquica de um bloco atual 801, os grupos de coeficientes 802, 803, 804 e 805, e coeficientes em cada grupo de coeficientes podem ser representados como uma estrutura de árvore. Neste caso, o codificador/decodificador pode realizar a varredura na ordem a partir do lado esquerdo para o lado direito e realizar a varredura de acordo com um método de busca primeiro por profundidade.
[0156]Os nós folha possuindo a estrutura de árvore representam localizações dos coeficientes no bloco atual 801. A localização de cada coeficiente pode ser representada como um vetor de 1 x 2 linhas constituído por um índice de direção de linha e um índice de direção de coluna.
[0157] Na presente revelação, o grupo de coeficientes pode ser escrito como CG Aqui, 4(^-θΛ···,<Ό repreSenta um índice de varredura na profundidade k do grupo correspondente de coeficientes. Além disso, d representa a profundidade do grupo de coeficientes correspondente na estrutura de árvore.
[0158]As FIGS. 9 e 10 são diagramas para descrever um método para determinar uma estrutura dividida de um bloco de transformada e uma ordem de varredura de um coeficiente de transformada como uma modalidade à qual a presente revelação é aplicada.
[0159] Referindo-se à FIG. 9, presume-se que um bloco de processamento atual seja um bloco possuindo um tamanho de 16 x 16. Neste caso, o codificador/decodificador pode dividir recursivamente (ou hierarquicamente) (isto é, dividir o bloco de processamento atual na profundidade 2 ou maior) o bloco de processamento atual de modo a realizar a varredura do coeficiente de transformada. Quando o bloco de processamento atual é dividido recursivamente como ilustrado
Petição 870190129497, de 06/12/2019, pág. 38/88
30/57 na FIG. 9(c), a estrutura dividida do bloco de processamento atual pode ser representada em uma forma de árvore ilustrada na FIG. 14.
[0160]Referindo-se à FIG. 10, os nós folha possuindo a estrutura de árvore são varridos a partir do lado esquerdo para o lado direito para realizar a varredura para todos os coeficientes de transformada. Isto é, a ordem de varredura pode ser determinada a partir do lado esquerdo para o lado direito do nó folha possuindo a estrutura de árvore.
[0161] Na presente revelação, um grupo de coeficientes folha representa um grupo de coeficientes de menor profundidade (isto é, um grupo de coeficientes de profundidade 2 na FIG. 10) incluindo o nó líder (isto é, o coeficiente de transformada no grupo de coeficientes) possuindo a estrutura de árvore na FIG. 10. O grupo de coeficientes folha não é dividido ainda mais em grupos de coeficientes possuindo profundidades menores. Adicionalmente, em uma estrutura de bloco que é dividia em uma estrutura de árvore, à medida que aumenta o número de vezes de divisão, aumenta a profundidade. Um nó possuindo uma profundidade inferior representa nós que são divididos a partir de um nó no qual um valor de profundidade é relativamente maior, isto é, um nó possuindo uma profundidade maior.
[0162]A ordem de varredura em ΟοΛ,···, id) p0C|e ser expressa como ilustrado na Equação 2 abaixo.
[Equação 2] τ (CG d0 , /,, .... id ) ) = ondeh = altura de (ζο>ζι>···> ri) e w = largura de (M,-Üd
[0163] Referindo-se à
FIG.
2, cada vetor de linha representa a localização do coeficiente de transformada em h x w blocos, π representa um índice de linha e Ci representa um índice de coluna
Petição 870190129497, de 06/12/2019, pág. 39/88
31/57
[0164] Na presente revelação, presume-se que os índices de linha e os índices de coluna de todos os blocos 2D iniciem a partir de 1. Na Equação 2, r(cG representa a ordem de varredura dos coeficientes no grupo de coeficientes correspondente. Ou seja, os coeficientes nas localizações correspondentes podem ser varridos em uma ordem de [n ci] a [mxw Chxw].
[0165]Como descrito acima, uma vez que cada um dos vetores de linha constituindo (ζοΛ> ···> zrf)) Equação 2 representa a localização do coeficiente de transformada em blocos possuindo um tamanho de h x w, um desvio de índice de linha e um desvio de índice de coluna no bloco de transformada (isto é, 17 v/) para o grupo de coeficientes 1 °’ l’'’ d ' possuindo a profundidade d são adicionados a todos os vetores de coluna constituindo r(^7 (ζοΛ> ···> zrf)) para obter a ordem de varredura no bloco de transformada. Neste caso, o desvio de índice de linha e o desvio de índice de coluna podem ser calculados usando a Equação 3 abaixo.
[Equação 3]
Figure BR112019021584A2_D0001
kA
[0166]Referindo-se à Equação 3, (ζο>ζι>···> G+i)) representa um vetor de coluna representando uma localização relativa de lol’’’ d) do bloco de transformada atual. Por exemplo, na FIG 9 acima, W(CG2(1,1,4))=[8 8] pode ser estabelecido k(cG2(1,2,2))= K(cG1(1,2))+Kre/(cG2(1,2,2))= [12 0]+[0 8]=[12 8] pode ser estabelecido.
[0167]Quando o vetor ié definido como l = t1 11] , a ordem de CG d (i i i 1 varredura de 1 °’ l’’’ d) pode ser calculada usando a Equação 4 abaixo.
[Equação 4] 5(003/0,/,,..,/,))=4003/0,/,,.,/,))+1-0(00310,4,...1,))
Petição 870190129497, de 06/12/2019, pág. 40/88
32/57
CC d (ί Ί Ί 1
[0168]Quando 1 °’ l’'’ d) é o grupo de coeficientes folha, a ordem de varredura em todos os blocos (isto é, blocos de transformada) pode ser calculada usando a Equação 4 acima. Isto é, a ordem de varredura em todos os blocos é igual a uma soma da ordem de varredura no grupo de coeficientes calculado usando a Equação 2 descrita acima e o desvio (isto é, (ζοΛ>···> zd))j d0 grupo de coeficientes calculado usando a Equação 3 descrita acima.
CC d (i i i 1
[0169]Quando 1 °’ l’’’ d) não é o grupo de coeficientes folha, a ordem de varredura no bloco de transformada pode ser calculada usando a Equação 5 abaixo.
[Equação 5]
S(CG “
S(CG rf+,(/0 zrf,1))
S(CG rf+l(/0 zrf,2))
S (CG rf+l(z0 ,zj,..„ zrf,V)) onde N = número de CGs
CG (ί^,ίγ,.,.,ί^) θ $>Q
[0170] A ordem de varredura para todos os blocos O pode ser expressa como (zo))_ Neste caso, o índice de linha de (zo)) pode representar o índice de varredura e cada vetor de linha de (zo)) pode representar a localização em todos os blocos para o índice de varredura correspondente.
[0171]A FIG. 11 é um diagrama ilustrando um exemplo de representação de uma localização de um coeficiente em um bloco como uma modalidade à qual a presente revelação é aplicada.
[0172] Referindo-se à FIG. 11, a localização do coeficiente no bloco pode ser representada usando uma ordem de varredura por rastreamento (isto é, uma ordem primeiro por linha e uma ordem lexicográfica). Os valores de índice podem ser alocados para as localizações dos respectivos coeficientes de acordo com a ordem de varredura, como ilustrado na FIG. 11. Além disso, os valores de índice representando a localização do coeficiente da FIG. 11 podem ser expressos como ilustrado na Equação 6 abaixo.
Petição 870190129497, de 06/12/2019, pág. 41/88
33/57
[Equação 6] s (cg idy)=s(cG ld))· ζ rco(. X
L 1 J , onde w=largura de e d>0
[0173]Quando um índice representando a localização do coeficiente é atribuído de acordo com uma ordem de varredura aleatória incluindo a ordem de varredura por rastreamento descrita acima nas localizações dos coeficientes de transformada no bloco, a ordem de varredura pode ser expressa como ilustrado na Equação 7 abaixo.
[Equação 7]
L = (altura de G)) x (largura de )) f(x) = x- , xaL'!
[0174]Quando LU , a Equação 7 pode ser resumida como ilustrado na Equação 6.
[0175]A ordem de varredura proposta na presente revelação pode ser descrita pelos esquemas descritos nas Equações 2 a 7 acima. Quando a ordem de varredura é descrita pelo esquema descrito acima como tal, a ordem de varredura pode ser determinada pelos seguintes componentes.
[0176] 1) Divisão recursive do grupo de coeficientes em cada profundidade (isto é, uma profundidade de 0 ou mais)
[0177]2) Determinar a ordem de varredura para grupos de coeficientes divididos
[0178]3) Determinar a ordem de varredura para coeficientes de transformada do grupo de coeficientes folha
[0179]Quando os componentes são determinados, a ordem de varredura pode ser determinada usando as Equações 2 a 7. Consequentemente, a presente revelação propõe um método para configurar uma ordem de varredura apropriada determinando-se os componentes.
Petição 870190129497, de 06/12/2019, pág. 42/88
34/57
[0180] Um conjunto incluindo todas as matrizes de ordem de varredura que são aplicáveis pode ser expresso como ilustrado na Equação 8 abaixo.
[Equação 8] k = |sj, s2,..., |
[0181]Aqui, K representa um conjunto no qual todas as matrizes de ordem de varredura aplicáveis aos blocos são coletadas. Além disso, o bloco pode ter vários tamanhos ou formas (por exemplo, 4 x 4, 4 x 8, 16x4, 16 x 16, 32 x 8, etc.). Além disso, 0o)), derivado pela Equação 5 descrita acima, pode ser incluído como um elemento do
[0182] Em uma modalidade, o codificador/decodificador pode selecionar uma ordem de varredura específica no usando informações sobre os blocos vizinhos do bloco de processamento atual e realizar a varredura usando a ordem de varredura selecionada. As informações sobre os blocos vizinhos podem ser, por exemplo, o número de coeficientes diferentes de zero que existem em um bloco esquerdo ou em um bloco superior ou na localização do último coeficiente diferente de zero. Adicionalmente, a ordem de varredura do bloco de processamento atual pode ser determinada usando informações sobre um bloco codificado imediatamente antes do bloco de processamento atual.
[0183]Em uma modalidade, o codificador/decodificador pode determinar (ou aplicar) a ordem de varredura de acordo com o tamanho ou formato do bloco de s* processamento atual. Por exemplo, o codificador/decodificador pode aplicar ; a um bloco possuindo um tamanho de 4 x 8 e aplicar (z * 7) a um b|oco possuindo um tamanho de 8 x 16.
[0184] Em uma modalidade, o codificador/decodificador pode selecionar e aplicar uma ordem de varredura específica entre os conjuntos (isto é, um subconjunto de ^) de ordem de varreduras aplicáveis a um bloco possuindo um tamanho ou formato específico. Neste caso, o codificador pode sinalizar ao
Petição 870190129497, de 06/12/2019, pág. 43/88
35/57 decod if icador um índice para uma ordem de varredura selecionada em unidades de uma sequência, uma figura, uma fatia, uma CTU, um bloco de codificação, ou um bloco de transformada (ou unidade de transformada).
[0185]Quando a codificação por entropia é realizada em relação ao coeficiente de transformada, a ordem de varredura inversa pode ser aplicada em acréscimo à ordem de varredura progressiva. A ordem de varredura reversa pode ser calculada usando a Equação 9 abaixo.
[Equação 9]
Figure BR112019021584A2_D0002
0
S5(CGrf(70zrf))= rf(70zrf))+1 · rf(70ú)) τ (CG (/o quando
CGd (i0,i1,...,id) = leaf CG senão
Figure BR112019021584A2_D0003
SB(CGd+\i0,/,..., /.,1))
0 ···1 ··· 10 ··· 00 s(cGd+\i.f,...,idf)y s(cGd+\i.f,...,id,2)) s(CGd+'(i0,iy,...,id,N))
[0186], onde ã-número de CGs em CG ÚoUi,- -,u) eJ>0
[0187]Aqui, P representa uma matriz de permutação na qual somente um componente anti-diagonal possui um valor de 1. A ordem de varredura reversa para a ordem de varredura progressiva pode ser derivada usando a matriz de permutação.
[0188]Modalidade 2
[0189] Em uma modalidade da presente revelação, o codificador/decodificador pode determinar a ordem de varredura para respectivos coeficientes no grupo de coeficientes com base no tamanho ou formato do grupo de coeficientes. Isto é, o codificador/decodificador pode determinar a ordem de varredura dos coeficientes no grupo de coeficientes da Equação 2 descrito acima de acordo com o tamanho ou formato do bloco.
Petição 870190129497, de 06/12/2019, pág. 44/88
36/57
[0190]As FIGS. 12 e 13 são diagramas ilustrando uma ordem de varredura dependendo de uma localização de um coeficiente de transformada em um bloco de acordo com uma modalidade da presente revelação.
[0191]Referindo-se à FIG. 12, o codificador/decodificador pode varrer coeficientes na ordem na qual o valor d aumenta de acordo com a ordem de varredura diagonal. Aqui, o d representa uma distância do coeficiente correspondente com base em um coeficiente superior-esquerdo. O codificador/decodificador pode varrer coeficientes em localizações possuindo o mesmo valor d a partir de um lado inferior-esquerdo para um lado superior-direito.
[0192]Aqui, o valor d pode ser determinado como d = dx + dy e como ilustrado na FIG. 12(b), dx e dy representam um incremento horizontal (ou coordenada horizontal) e um incremento vertical (ou coordenada vertical), respectivamente.
[0193]Como descrito acima, o codificador/decodificador pode aplicar a ordem de varredura inversa para realizar a codificação por entropia para os coeficientes de transformada. Neste caso, um coeficiente no qual o valor d para um coeficiente no qual o valor d é 0 pode ser varrido e varrido a partir do lado superior-esquerdo para o lado inferior-esquerdo no sentido inverso para uma direção da seta ilustrada na FIG. 12(a). Na presente revelação, a ordem de varredura progressiva é primariamente descrita, mas ao realizar a codificação por entropia, o codificador/decodificador pode seguir a ordem de varredura inversa ou a ordem de varredura progressiva.
[0194]A localização possuindo o mesmo valor d pode corresponder a localizações de coeficientes possuindo uma fase igual em termos da frequência. Consequentemente, o codificador/decodificador pode atribuir uma ordem aleatória aos coeficientes em localizações possuindo o mesmo valor d. Por exemplo, o codificador/decodificador pode varrer as localizações de linha de varredura nas
Petição 870190129497, de 06/12/2019, pág. 45/88
37/57 quais o valor d da FIG. 12(a) é 3 na ordem de [4 1], [3 2], [2 3], e [1 4] (cada localização é expressa pelo vetor de linha), [1 4], [2 3], [3 2], e [4 1], ou [2 3], [3 2], [1 4], e [4 1],
[0195]Adicionalmente, o codificador/decodificador pode ser configurado para varrer cada linha anti-diagonal a partir do lado direito para o lado esquerdo como ilustrado na FIG. 13, ao contrário do exemplo da FIG. 12(a).
[0196]A Tabela 1 abaixo mostra um exemplo de um pseudo-código para determinar a ordem de varredura diagonal.
________[Tabela 1]_______________________________________________________________________ [ scan_order, scan_pos ] = find_scan_order ( height, width ) scanjdx = 1;
for d = 0 : (( height -1) + ( width - 1 )) sypos = d;
if (sypos > height) sypos = height -1;
end sxpos = d - sypos;
while ( sxpos < width and sypos > 0 ) scan_order ( sypos + 1, sxpos + 1) = scanjdx;
scan_pos ( scanjdx, : ) = [ ( sypos + 1)( sxpos + 1 ) ];
scanjdx = scanjdx + 1;
sypos = sypos -1;
sxpos = sxpos + 1;
end end
[0197]Referindo-se à Tabela 1, o codificador/decodificador pode determinar a ordem de varredura alocando o índice de varredura a partir de um coeficiente em uma localização mais inferior-à esquerda a um coeficiente em uma localização mais superior-à direita enquanto aumenta o valor d em 1 a partir de 0. Aqui, sypos e sxpos representam parâmetros representando os valores obtidos subtraindo 1 do índice de linha e do índice de coluna, respectivamente. Isto é, assume-se que sypos e sxpos iniciam a partir de 0.
[0198]Na Tabela 1, assume-se que uma linha diagonal especificada pelo valor d seja varrida a partir do lado inferior-esquerdo, mas um código pode ser
Petição 870190129497, de 06/12/2019, pág. 46/88
38/57 configurado de modo a varrer a linha diagonal a partir do lado supehor-direito como descrito na FIG. 13.
[0199]Na Tabela 1 acima, o “loop while” serve para determinar um parâmetro (ou matriz) representando as informações de varredura de acordo com a ordem de varredura em relação à linha diagonal especificada pelo valor d. O parâmetro pode ser um parâmetro (scan_order) representando a ordem de varredura ou um parâmetro (scan_pos) representando a posição de varredura. Um índice de varredura alocado para cada posição (isto é, um componente da matriz de ordem de varredura) do bloco é armazenado na matriz scan_order. Além disso, na matriz scan_pos, cada índice de linha corresponde ao índice de varredura e uma posição de coeficiente no bloco é armazenada em cada linha na forma do vetor de linha.
[0200] Quando a ordem de varredura é alocada para a posição do coeficiente pelo método existente (por exemplo, HEVC), uma taxa de aumento de frequência horizontal ou vertical pode não ser refletida efetivamente quando o bloco de processamento atual é o bloco não-quadrado.
[0201] Especificamente, quando a transformada separável é aplicada ao bloco não-quadrado, um comprimento de um vetor base de transformada para uma direção vertical e o comprimento do vetor base de transformada para uma direção horizontal podem ser diferentes um do outro. Por exemplo, quando o bloco de processamento atual é um bloco possuindo um tamanho 2N x N, uma DCT possuindo um tamanho de 2N x 2N pode ser aplicada à direção vertical e uma DCT possuindo um tamanho de N x N pode ser aplicada à direção horizontal. Neste caso, sempre que uma coordenada vertical do coeficiente aumenta por 1, a frequência aumenta por 1/(2N)*p em uma direção de altura, enquanto que sempre que uma coordenada horizontal do coeficiente aumenta por 1, a frequência pode aumentar em uma direção da largura.
[0202]Ao descrever o método proposto pela presente revelação, descreve-se
Petição 870190129497, de 06/12/2019, pág. 47/88
39/57 primariamente que um bloco Μ χ N é um bloco possuindo uma altura de M e uma largura de N, mas a presente revelação não se limita ao mesmo, e o bloco Μ χ N pode representar um bloco possuindo a largura e a altura que são M e N, respectivamente.
[0203] No caso do bloco não-quadrado, quando a ordem de varredura é aplicada de maneira similar à posição do coeficiente pelo método existente, a taxa de aumento de frequência pode não ser refletida efetivamente na direção horizontal ou na direção vertical. Como resultado, a varredura a partir de um componente de alta frequência para um componente de baixa frequência pode não ser realizada normalmente e o desempenho de compressão da imagem pode ser degradado.
[0204]Consequentemente, a presente revelação propõe um método para alocar a ordem de varredura para os coeficientes em respectivas posições no bloco não-quadrado de modo a resolver tal problema e refletor de maneira eficaz a taxa de aumento de frequência na direção horizontal ou na direção vertical.
[0205]A ordem de varredura pode ser obtida usando os métodos descritos na FIG. 12 e na Tabela 2 acima, mesmo em relação ao bloco não-quadrado. Por exemplo, quando o bloco de processamento atual é o bloco possuindo o tamanho de 4 x 8, a altura e a largura podem ser configuradas para 4 e 8, respectivamente, como parâmetros de entrada da função, e quando a função da Tabela 1 é realizada, a ordem de varredura correspondente pode ser obtida.
[0206]As FIGS. 14 e 15 são diagramas para descrever um método para determinar uma ordem de varredura para coeficientes de um bloco não-quadrado como uma modalidade ao qual a presente revelação é aplicada.
[0207]Como descrito acima, quando uma transformada separável é aplicada ao bloco não-quadrado, o comprimento do vetor de base de transformada para a direção vertical (isto é, direção de linha) e o comprimento do vetor de base de transformada para a direção horizontal (isto é, direção de coluna) podem ser
Petição 870190129497, de 06/12/2019, pág. 48/88
40/57 diferentes um do outro.
[0208] Referindo-se à FIG. 14, presume-se que o bloco de processamento atual seja o bloco possuindo o tamanho de 4 x 8. Neste caso, uma DCT possuindo o tamanho de 4 x 4 pode ser aplicada à direção vertical e DCT possuindo o tamanho de 8 x 8 pode ser aplicada à direção horizontal. Quando se assume que o coeficiente de transformada representa o componente de baixa frequência à medida que o coeficiente de transformada é posicionado na extremidade superior-esquerda e representa o componente de alta frequência à medida que o coeficiente de transformada é posicionado na extremidade infehor-direita, no caso do bloco de 4 x 8 da FIG. 14(a), um incremento de frequência na direção vertical (ou direção da altura) pode ser duas vezes maior do que o incremento de frequência na direção horizontal (ou direção da largura).
[0209] Por conseguinte, dx e dy, dependendo da posição do coeficiente de transformada, podem ser configurados como ilustrado na FIG. 14(b). Além disso, o codificador/decodificador pode configurar a ordem de varredura na ordem em que o valor d aumenta em unidades dos coeficientes das posições possuindo o mesmo valor d (neste caso, d = dx + dy). No caso da ordem de varredura reversa, o codificador/decodificador pode configurar a ordem de varredura na ordem na qual o valor d diminui.
[0210] Na presente revelação, a linha de varredura pode se referir aos coeficientes nas posições possuindo o mesmo valor d. Isto é, os coeficientes possuindo o mesmo valor d podem ser incluídos na mesma linha de varredura.
[0211]A ordem de varredura aleatória pode ser alocada entre os coeficientes que pertencem à mesma linha de varredura. Quando os coeficientes são varridos a partir do lado esquerdo para o lado direito, o índice de varredura pode ser alocado para os coeficientes nas respectivas posições, como ilustrado na FIG. 14(c).
[0212] Referindo-se à FIG. 15, presume-se que o bloco de processamento
Petição 870190129497, de 06/12/2019, pág. 49/88
41/57 atual seja o bloco possuindo o tamanho de 8 x 4. Exceto quando o incremento de frequência horizontal e o incremento de frequência vertical são diferentes um do outro, o codificador/decodificador pode determinar a ordem de varredura configurando o valor d por um método que é o mesmo que o método supramencionado.
[0213]A Tabela 2 abaixo mostra um exemplo do pseudocódigo para obter a ordem de varredura aplicando os métodos descritos nas FIGS. 14 e 15.
________[Tabela 2]_______________________________________________________________________ [ scan_order, scan_pos ] = find_scan_order ( height, width ) if ( height > width ) sh = 1;
sw = round ( height I width );
else sh = round ( width I height);
sw = 1;
end scanjdx = 1;
for d = 0 : ((height — 1 ) sh + (width - 1 ) sw ) sypos = floor ( d / sh );
if ( sypos > height) sypos = height -1;
end sxpos = d - ( sypos sh );
rem = sxpos % sw;
if (rem != 0 ) sypos = sypos - ( sw - rem );
sxpos = sxpos + ( sw - rem );
end sxpos = floor ( sxpos I sw );
while ( sxpos < width and sypos > 0 ) scan_order ( sypos + 1, sxpos + 1) = scanjdx;
scan_pos ( scanjdx, : ) = [ ( sypos + 1)( sxpos + 1 ) ];
if ( sh > sw ) sypos = sypos -1;
sxpos = sxpos + sh;
else sypos = sypos - sw;
sxpos = sxpos + 1;
end scanjdx = scanjdx + 1;
end end
Petição 870190129497, de 06/12/2019, pág. 50/88
42/57
[0214] Referindo-se à Tabela 2, sh é um parâmetro representando o incremento vertical (isto é, dy) e sw é um parâmetro representando o incremento horizontal (isto é, dx). Outros parâmetros são os mesmos que os da Tabela 1 acima. Além disso, uma função “floor” retoma um valor inteiro com um tamanho máximo que é igual ou menor do que um número dado como um fator, e uma função “round” retorna um valor inteiro obtido arredondando-se o número dado como o fator. O codificador/decodificador configura o valor sh e o valor sw usando uma razão da largura e da altura do bloco de processamento atual e aloca o índice de varredura para um coeficiente na posição mais inferior-à esquerda para um coeficiente na posição mais superior-à direita enquanto aumenta o valor de d em 1 a partir de 0 para determinar a ordem de varredura.
[0215] Em uma modalidade da presente revelação, o codificador/decodificador pode agrupar os coeficientes em unidades de um número específico de coeficientes e então varrer os coeficientes pela aplicação de várias ordens de varredura. Isto será descrito com referência à FIG. 16 abaixo.
[0216]As FIGS. 16 e 17 são diagramas para descrever um método para determinar uma ordem de varredura para coeficientes de um bloco não-quadrado em unidades de um super-pixel como uma modalidade à qual a presente revelação é aplicada.
[0217] Referindo-se à FIG. 16, presume-se que o bloco de processamento atual seja o bloco possuindo o tamanho de 4 x 8. O codificador/decodificador pode dividir o bloco de processamento atual em unidades do super-pixel. Aqui, o superpixel pode representar um conjunto de um número específico de coeficientes (ou pixels) e o número específico pode ser determinado de acordo com a razão da largura e da altura do bloco atual. O super-pixel pode ser chamado de sub-bloco, sub-grupo, grupo de coeficientes, sub-grupo de coeficientes, etc. Uma vez que a razão da largura e da altura do bloco atual é 2, o super-pixel pode ser constituído por
Petição 870190129497, de 06/12/2019, pág. 51/88
43/57 dois pixels.
[0218]O codificador/decodificador pode configurar o bloco quadrado com os super-pixels, determinar a ordem de varredura em unidades do super-pixel usando os usando os métodos descritos nas FIGS. 7 a 13 acima, e varrer os coeficientes de acordo com uma ordem aleatória no super-pixel.
[0219]O codificador/decodificador pode aplicar a ordem de varredura para o bloco quadrado possuindo o tamanho de 4 x 4 de acordo com a ordem de varredura diagonal em unidades do super-pixel como ilustrado na FIG. 16 e aplicar a ordem de varredura do lado esquerdo para o lado direito em cada super-pixel.
[0220] Referindo-se à FIG. 17, presume-se que o bloco de processamento atual seja o bloco possuindo o tamanho de 8 x 4. De maneira similar, o codificador/decodificador pode dividir o bloco de processamento atual em unidades do super-pixel. Uma vez que a altura é duas vezes maior do que a largura, o codificador/decodificador pode configurar o super-pixel agrupando dois coeficientes na direção vertical (ou direção da altura).
[0221]A Tabela 3 abaixo mostra um exemplo do pseudocódigo para obter a ordem de varredura aplicando os métodos descritos nas FIGS. 16 e 17.
________[Tabela 3]_______________________________________________________________________ [ scan_order, scan_pos ] = find_scan_order ( height, width ) if ( height > width ) splen = round ( height I width );
normjength = width;
else splen = round ( width I height);
normjength = height;
end scanjdx = 1;
for d = 0 : (( normjength -1) + ( normjength - 1 )) sypos = d;
if ( sypos > normjength ) sypos = normjength -1;
end sxpos = d - sypos;
while ( sxpos < normjength and sypos > 0 ) for i = 0 : ( splen - 1 )
Petição 870190129497, de 06/12/2019, pág. 52/88
44/57 if ( height > width ) sypos_ex = ( sypos splen ) + i;
sxpos_ex = sxpos;
else sypos_ex = sypos;
sxpos_ex = ( sxpos splen ) + i;
end scan_order ( sypos_ex + 1, sxpos_ex + 1) = scanjdx; scan_pos ( scanjdx, : ) = [ ( sypos_ex + 1)( sxpos_ex + 1 ) ]; scanjdx = scanjdx + 1;
end sypos = sypos -1;
sxpos = sxpos + 1;
end end
[0222]Referindo-se à Tabela 3, splen é um parâmetro representando ο comprimento do super-pixel. 0 splen pode ser determinado de acordo com a largura e a altura do bloco de processamento atual. Por exemplo, quando a altura for maior do que a largura, o super-pixel pode ser determinado como um super-pixel que é longo na direção vertical, e quando a largura for maior do que a altura, o super-pixel pode ser determinado como um super-pixel que é longo na direção horizontal. Além disso, normjength é um parâmetro representando o comprimento de um lado para um bloco (isto é, bloco quadrado) configurado em unidades do super-pixel. Na Tabela 3 acima, o “loop for” no “loop while” aloca o índice de varredura para os coeficientes nas respectivas posições no super-pixel.
[0223]O codificador/decodificador pode aplicar várias ordens de varredura em acréscimo à ordem de varredura. Por exemplo, o codificador/decodificador pode obter informação de número de coeficientes diferente de zero em relação aos coeficientes no respectivo na respectiva posição usando estatísticas de coeficientes de transformada em bloco possuindo tamanhos específicos (por exemplo, 4x8, 16 x 8, 32 x 32, etc.). Além disso, o codificador/decodificador pode determinar a ordem de varredura dos coeficientes em uma ordem descendente (ou ordem ascendente) do número correspondente com base no número de coeficientes diferentes de zero obtidos.
Petição 870190129497, de 06/12/2019, pág. 53/88
45/57
[0224]0 codificador/decodificador pode representar um conjunto de ordens de varredura aplicáveis ao bloco h x w, como ilustrado na Equação 10 abaixo,
CG (i i i 1 quando a altura e a largura de 1 °’ l’’’ d) são h e w, respectivamente, como ilustrado na Equação 2 descrita acima.
[Equação 10]
Figure BR112019021584A2_D0004
[0225]Aqui, 3 representa o conjunto de ordens de varredura aplicáveis. Além disso, F - V--,p|) p0C|e representar as ordens de varredura e pode corresponder às ordens de varredura descritas nas FIGS. 7 a 17 acima. Equação 2 pode satisfazer T(CG .
Modalidade 3
[0226] Em uma modalidade da presente revelação, propõe-se um método para determinar a ordem de varredura do grupo de coeficientes. Por exemplo, o codificador/decodificador pode determinar a ordem de varredura para quatro grupos de coeficientes constituindo GG (F) na fig 9(c) acima.
[0227]O codificador/decodificador pode varrer os grupos de varredura na ordem de varredura diagonal como ilustrado na FIG. 9(c) acima. Adicionalmente, o codificador/decodificador pode aplicar o método de varredura descrito nos Exemplos 1 e 2 acima ao determinar a ordem de varredura entre os grupos de coeficientes e aplicar a ordem de varredura possuindo a ordem aleatória.
[0228]A FIG. 18 é um diagrama ilustrando um método para determinar uma ordem de varredura para grupos de coeficientes como uma modalidade à qual a presente revelação é aplicada.
[0229] Referindo-se à FIG. 18, o codificador/decodificador pode ser configurado para usar similarmente a ordem de varredura para o grupo de coeficientes e a ordem de varredura para os coeficientes no grupo de coeficientes ou configurado para usar separadamente as respectivas ordens de varredura.
Petição 870190129497, de 06/12/2019, pág. 54/88
46/57
[0230] Como um exemplo, referindo-se à FIG. 18(a), o codificador/decodificador pode dividir o grupo de coeficientes nos blocos possuindo o tamanho de 4 x 2, aplicar a ordem de varredura gerada usando a Tabela 2 descrita acima entre os grupos de coeficientes, e aplicar a ordem de varredura gerada usando a Tabela 1 descrita acima em cada grupo de coeficientes.
[0231] Como outro exemplo, referindo-se à FIG. 18(b), o codificador/decodificador pode dividir o grupo de coeficientes nos blocos possuindo o tamanho de 2 x 4 e aplicar a ordem de varredura gerada usando a Tabela 2 descrita acima de maneira similar à ordem de varredura entre os grupos de coeficientes e a ordem de varredura entre os coeficientes no grupo de coeficientes.
[0232] Como ainda outro exemplo, referindo-se à FIG. 18(c), o codificador/decodificador pode dividir o grupo de coeficientes nos blocos possuindo o tamanho de 2 x 4, aplicar a ordem de varredura gerada usando a Tabela 2 descrita acima entre os grupos de coeficientes, e aplicar a ordem de varredura gerada usando a Tabela 3 descrita acima em cada grupo de coeficientes.
[0233]A FIG. 19 ilustra um método para codificar uma imagem de acordo com uma modalidade da presente revelação.
[0234]O codificador efetua transformada e quantização para um sinal residual de um bloco de processamento atual para gerar um bloco de transformada quantizado (S1901). A etapa S1901 pode ser realizada similarmente às etapas S501 e S502 descritas na FIG. 5 acima.
[0235]O codificador divide o bloco de transformada quantizado em uma pluralidade de grupos de coeficientes (S1902).
[0236]Como descrito acima nas FIGS. 9 e 10 acima, o codificador pode dividir recursivamente (ou hierarquicamente) o bloco de processamento atual de modo a varrer o coeficiente de transformada. Por exemplo, a divisão do bloco de transformada quantizado na pluralidade de grupos de coeficientes pode incluir dividir
Petição 870190129497, de 06/12/2019, pág. 55/88
47/57 hierarquicamente o bloco de transformada quantizado e dividir o bloco de transformada quantizado em grupos de coeficientes possuindo uma profundidade inferior, e a segunda ordem de varredura pode incluir uma ordem de varredura entre grupos de coeficientes possuindo respectivas profundidades divididos a partir do bloco de transformada quantizado.
[0237]Adicionalmente, como descrito nas FIGS. 16 e 17 acima, o codificador/decodificador pode agrupar os coeficientes em unidades de um número específico de coeficientes e então varrer os coeficientes pela aplicação de várias ordens de varredura. Ou seja, quando o bloco de transformada quantizado for um bloco não-quadrado, o bloco de transformada quantizado pode ser dividido em grupos de coeficientes constituídos por um número específico de coeficientes, e o número específico pode ser determinado de acordo com uma proporção de uma largura e uma altura bloco de transformada quantizado.
[0238] O codificador determina uma primeira ordem de varredura representando a ordem de varredura entre os coeficientes do grupos de coeficientes (S1903).
[0239]O codificador pode determinar a primeira ordem de varredura aplicando os métodos descritos nas FIGS. 12 a 18 acima. Por exemplo, a etapa S1903 pode incluir determinar um valor de distância dos respectivos coeficientes do grupo de coeficientes com base em um coeficiente supehor-esquerdo do grupo de coeficientes, e alocar um índice de varredura para coeficientes possuindo o mesmo valor de distância de acordo com uma ordem predeterminada ao mesmo tempo em que se aumenta sequencialmente o valor de distância.
[0240]Adicionalmente, como descrito nas FIGS. 14 e 15 acima, o codificador pode alocar a ordem de varredura para os coeficientes nas respectivas posições no bloco não-quadrado de modo a refletir efetivamente uma taxa de aumento de frequência em uma direção horizontal ou em uma direção vertical. Por exemplo, a
Petição 870190129497, de 06/12/2019, pág. 56/88
48/57 determinação do valor de distância dos respectivos coeficientes do grupo de coeficientes pode incluir determinar um incremento horizontal representando uma quantidade de aumento de um valor de coordenada na direção horizontal de cada coeficiente e um incremento vertical representando a quantidade de aumento do valor de coordenada na direção vertical com base na razão da largura e altura do grupo de coeficientes e o valor de distância dos respectivos coeficientes pode ser determinado usando um valor obtido somando-se o incremento horizontal e o incremento vertical.
[0241]Adicionalmente, quando a largura do grupo de coeficientes for maior do que a altura, o incremento horizontal pode ser determinado como 1 e o incremento vertical pode ser determinado como 2, e quando a altura do grupo de coeficientes for maior do que a largura, o incremento horizontal pode ser determinado como 2 e o incremento vertical pode ser determinado como 2.
[0242]A primeira ordem de varredura pode ser predefinida (ou configurada) pelo codificador e o codificador pode transmitir a primeira ordem de varredura ao decodificador em unidades de uma imagem, uma fatia, uma CTU, uma unidade de codificação, ou uma unidade de transformada.
[0243]Adicionalmente, o codificador pode determinar a segunda ordem de varredura representando a ordem de varredura dentre a pluralidade de grupos de coeficientes. Neste caso, a etapa S1903 pode incluir determinar a segunda ordem de varredura e o codificador pode determinar a segunda ordem de varredura aplicando os métodos descritos nas FIGS. 12 a 18 acima. A segunda ordem de varredura pode ser predefinida (ou configurada) pelo codificador e o codificador pode transmitir a segunda ordem de varredura ao decodificador em unidades da imagem, da fatia, da CTU, da unidade de codificação, ou da unidade de transformada.
[0244]O codificador codifica por entropia os coeficientes do bloco de
Petição 870190129497, de 06/12/2019, pág. 57/88
49/57 transformada quantizado de acordo com a primeira ordem de varredura e a segunda ordem de varredura representando a ordem de varredura dentre a pluralidade de grupos de coeficientes (S1904).
[0245]A FIG. 20 ilustra um método para decodificar uma imagem de acordo com uma modalidade da presente revelação.
[0246]O decodificador divide um bloco de transformada atual em uma pluralidade de grupos de coeficientes (S2001).
[0247]Como descrito acima nas FIGS. 9 e 10 acima, o decodificador pode dividir recursivamente (ou hierarquicamente) o bloco de processamento atual de modo a varrer o coeficiente de transformada. Por exemplo, a divisão do bloco de processamento atual na pluralidade de grupos de coeficientes pode incluir dividir hierarquicamente o bloco de processamento atual e dividir o bloco de processamento atual em grupos de coeficientes possuindo uma profundidade inferior, e a segunda ordem de varredura pode incluir uma ordem de varredura entre grupos de coeficientes possuindo respectivas profundidades divididos a partir do bloco de processamento atual.
[0248]Adicionalmente, como descrito nas FIGS. 16 e 17 acima, o decodificador pode agrupar os coeficientes em unidades de um número específico de coeficientes e então varrer os coeficientes pela aplicação de várias ordens de varredura. Ou seja, quando o bloco de processamento atual for um bloco nãoquadrado, o bloco de processamento atual pode ser dividido em grupos de coeficientes constituídos por um número específico de coeficientes, e o número específico pode ser determinado de acordo com uma proporção de uma largura e uma altura do bloco de processamento atual.
[0249]O decodificador determina uma primeira ordem de varredura representando a ordem de varredura entre os coeficientes do grupos de coeficientes (S2002).
Petição 870190129497, de 06/12/2019, pág. 58/88
50/57
[0250] 0 decod if icador pode determinar a primeira ordem de varredura aplicando os métodos descritos nas FIGS. 12 a 18 acima. Por exemplo, a etapa S2002 pode incluir determinar um valor de distância dos respectivos coeficientes do grupo de coeficientes com base em um coeficiente superior-esquerdo do grupo de coeficientes, e alocar um índice de varredura para coeficientes possuindo o mesmo valor de distância de acordo com uma ordem predeterminada ao mesmo tempo em que se aumenta sequencialmente o valor de distância.
[0251]Adicionalmente, como descrito nas FIGS. 14 e 15 acima, o decodificador pode alocar a ordem de varredura para os coeficientes nas respectivas posições no bloco não-quadrado de modo a refletir efetivamente uma taxa de aumento de frequência em uma direção horizontal ou em uma direção vertical. Por exemplo, a determinação do valor de distância dos respectivos coeficientes do grupo de coeficientes pode incluir determinar um incremento horizontal representando uma quantidade de aumento de um valor de coordenada na direção horizontal de cada coeficiente e um incremento vertical representando a quantidade de aumento do valor de coordenada na direção vertical com base na razão da largura e altura do grupo de coeficientes e o valor de distância dos respectivos coeficientes pode ser determinado usando um valor obtido somando-se o incremento horizontal e o incremento vertical.
[0252]Adicionalmente, quando a largura do grupo de coeficientes for maior do que a altura, o incremento horizontal pode ser determinado como 1 e o incremento vertical pode ser determinado como 2, e quando a altura do grupo de coeficientes for maior do que a largura, o incremento horizontal pode ser determinado como 2 e o incremento vertical pode ser determinado como 2.
[0253]A primeira ordem de varredura pode ser predefinida (ou configurada) pelo decodificador e o decodificador pode transmitir a primeira ordem de varredura ao decodificador em unidades de uma imagem, uma fatia, uma CTU, uma unidade
Petição 870190129497, de 06/12/2019, pág. 59/88
51/57 de codificação, ou uma unidade de transformada.
[0254]Adicionalmente, o decodificador pode determinar a segunda ordem de varredura representando a ordem de varredura dentre a pluralidade de grupos de coeficientes. Neste caso, a etapa S2002 pode incluir determinar a segunda ordem de varredura e o decodificador pode determinar a segunda ordem de varredura aplicando os métodos descritos nas FIGS. 12 a 18 acima. A segunda ordem de varredura pode ser predefinida (ou configurada) pelo decodificador e pode ser transmitida a partir do codificador para o decodificador em unidades de uma imagem, uma fatia, uma CTU, uma unidade de codificação, ou uma unidade de transformada.
[0255]O decodificador decodifica por entropia um fluxo de bits gerado a partir do codificador para gerar um coeficiente de transformada quantizado (S2003). A etapa S2003 pode ser realizada similarmente a uma etapa S601 descrita na FIG. 6 acima.
[0256]O decodificador dispõe os coeficientes do bloco de transformada quantizado de acordo com a primeira ordem de varredura e a segunda ordem de varredura representando a ordem de varredura dentre a pluralidade de grupos de coeficientes para gerar o bloco de transformada quantizado do bloco de processamento atual (S2004).
[0257]Além disso, o decodificador pode obter o bloco de transformada por meio da desquantização do bloco de transformada quantizado. Um método de desquantização pode adotar uma técnica conhecida, e uma descrição detalhada da mesma será omitida. No método de decodificação de imagem de acordo com a modalidade descrita acima, certas etapas podem ser omitidas ou adicionadas e o método de decodificação de imagem não se restringe sequer à ordem descrita. Adicionalmente, as etapas S2003 e S2004 podem ser realizadas separadamente ou simultaneamente.
Petição 870190129497, de 06/12/2019, pág. 60/88
52/57
[0258]A FIG. 21 ilustra um dispositivo para decodificar uma imagem de acordo com uma modalidade da presente revelação.
[0259]Na FIG. 21, por conveniência da descrição, uma unidade de divisão em grupos de coeficientes 2101, uma unidade de determinação de ordem de varredura 2102, uma unidade de geração de coeficientes de transformada 2103, e uma unidade de geração de bloco de transformada 2104 são ilustradas como blocos separados, mas a unidade de divisão em grupos de coeficientes 2101, a unidade de determinação de ordem de varredura 2102, a unidade de geração de coeficientes de transformada 2103, e a unidade de geração de bloco de transformada 2104 podem ser implementadas como componentes incluídos no codificador e/ou no decodificador.
[0260]Referindo-se à FIG. 21, o dispositivo para decodificação de uma imagem de acordo com a modalidade implementa as funções, procedimentos, e/ou métodos propostos nas FIGS. 5 a 20 acima e, além disso, realizam os processos de escalonamento e transformada a serem descritos abaixo. Especificamente, o dispositivo de decodificação pode ser configurado para incluir uma unidade de divisão em grupos de coeficientes 2101, uma unidade de determinação de ordem de varredura 2102, uma unidade de geração de coeficientes de transformada 2103, e uma unidade de geração de bloco de transformada 2104.
[0261]Os componentes detalhados do dispositivo para decodificação de uma imagem, os quais são ilustrados na FIG. 21, são apenas um exemplo, e alguns dos componentes detalhados ilustrados podem ser incluídos em outro componente detalhado e implementados conjuntamente, e outro componente que não é ilustrado pode ser adicionado implementado conjuntamente.
[0262]A unidade de divisão em grupos de coeficientes 2101 divide um bloco de processamento atual em uma pluralidade de grupos de coeficientes.
[0263]Como descrito acima nas FIGS. 9 e 10 acima, a unidade de divisão em
Petição 870190129497, de 06/12/2019, pág. 61/88
53/57 grupos de coeficientes pode dividir recursivamente (ou hierarquicamente) o bloco de processamento atual de modo a varrer o coeficiente de transformada. Por exemplo, a unidade de divisão em grupos de coeficientes 2101 divide hierarquicamente o bloco de processamento atual para dividir o bloco de processamento atual em grupos de coeficientes possuindo uma profundidade inferior e a segunda ordem de varredura pode incluir uma ordem de varredura entre os grupos de coeficientes possuindo respectivas profundidades divididas a partir do bloco de processamento atual.
[0264]Adicionalmente, como descrito nas FIGS. 16 e 17 acima, a unidade de divisão em grupos de coeficientes 2101 pode agrupar os coeficientes em unidades de um número específico de coeficientes e então varrer os coeficientes pela aplicação de várias ordens de varredura. Ou seja, quando o bloco de processamento atual for um bloco não-quadrado, o bloco de processamento atual pode ser dividido em grupos de coeficientes constituídos por um número específico de coeficientes, e o número específico pode ser determinado de acordo com uma proporção de uma largura e uma altura do bloco de processamento atual.
[0265]A unidade de determinação de ordem de varredura 2102 determina uma primeira ordem de varredura representando a ordem de varredura entre os coeficientes dos grupos de coeficientes.
[0266]A unidade de determinação de ordem de varredura 2102 pode determinar a primeira ordem de varredura aplicando os métodos descritos nas FIGS. 12 a 18 acima. Por exemplo, a unidade de determinação de ordem de varredura 2102 pode determinar um valor de distância dos respectivos coeficientes do grupo de coeficientes com base em um coeficiente superior-esquerdo do grupo de coeficientes, e alocar um índice de varredura para coeficientes possuindo o mesmo valor de distância de acordo com uma ordem predeterminada ao mesmo tempo em que se aumenta sequencialmente o valor de distância.
Petição 870190129497, de 06/12/2019, pág. 62/88
54/57
[0267]Adicionalmente, como descrito nas FIGS. 14 e 15 acima, a unidade de determinação de ordem de varredura 2103 pode alocar a ordem de varredura para coeficientes nas respectivas posições no bloco não-quadrado de modo a refletir efetivamente uma taxa de aumento de frequência em uma direção horizontal ou em uma direção vertical. Por exemplo, a unidade de determinação de ordem de varredura 2102 pode determinar um incremento horizontal representando uma quantidade de aumento de um valor de coordenada na direção horizontal de cada coeficiente e um incremento vertical representando a quantidade de aumento do valor de coordenada na direção vertical com base na razão da largura e altura do grupo de coeficientes e o valor de distância dos respectivos coeficientes pode ser determinado usando um valor obtido somando-se o incremento horizontal e o incremento vertical.
[0268]Adicionalmente, quando a largura do grupo de coeficientes for maior do que a altura, o incremento horizontal pode ser determinado como 1 e o incremento vertical pode ser determinado como 2, e quando a altura do grupo de coeficientes for maior do que a largura, o incremento horizontal pode ser determinado como 2 e o incremento vertical pode ser determinado como 2.
[0269]A primeira ordem de varredura pode ser predefinida (ou configurada) pelo decodificador e o decodificador pode transmitir a primeira ordem de varredura ao decodificador em unidades de uma imagem, uma fatia, uma CTU, uma unidade de codificação, ou uma unidade de transformada.
[0270]Adicionalmente, a unidade de determinação de ordem de varredura 2102 pode determinar a segunda ordem de varredura representando a ordem de varredura entre a pluralidade de grupos de coeficientes. Em outras palavras, a unidade de determinação de ordem de varredura 2102 pode incluir determinar a segunda ordem de varredura e a unidade de determinação de ordem de varredura 2102 pode determinar a segunda ordem de varredura aplicando os métodos nas
Petição 870190129497, de 06/12/2019, pág. 63/88
55/57
FIGS. 12 a 18 acima. Além disso, a segunda ordem de varredura pode ser predefinida (ou configurada) pelo decodificador e pode ser transmitida a partir do codificador para o decodificador em unidades de uma imagem, uma fatia, uma CTU, uma unidade de codificação, ou uma unidade de transformada.
[0271]A unidade de geração de coeficiente de transformada 2103 decodifica por entropia um fluxo de bits gerado a partir do codificador para gerar um coeficiente de transformada quantizado. Neste caso, o mesmo método que na etapa S601 descrita na FIG. 6 acima pode ser aplicado.
[0272]A unidade de geração de bloco de transformada 2104 dispõe os coeficientes do bloco de transformada quantizado de acordo com a primeira ordem de varredura e a segunda ordem de varredura representando a ordem de varredura entre a pluralidade de grupos de coeficientes para gerar o bloco de transformada quantizado do bloco de processamento atual.
[0273]Nas modalidades descritas acima, os componentes e os aspectos da presente revelação são combinados em uma forma predeterminada. Cada componente ou aspecto deve ser considerado como uma opção, salvo indicação clara em contrário. Cada componente ou aspecto pode ser implementado sem ser associado com outros componentes ou aspectos. Adicionalmente, a modalidade da presente revelação pode ser configurada com a associação de certos componentes e/ou aspectos. A ordem das operações descritas nas modalidades da presente revelação pode ser alterada. Alguns componentes ou aspectos de qualquer modalidade podem ser incluídos em outra modalidade ou substituídos pelo componente e pelo aspecto correspondendo a outra modalidade. É aparente que as reivindicações que não são explicitamente citadas nas reivindicações sejam combinadas para formar uma modalidade ou sejam incluídas em uma nova reivindicação por emenda após o pedido.
[0274]As modalidades da presente revelação podem ser implementadas por
Petição 870190129497, de 06/12/2019, pág. 64/88
56/57 hardware, firmware, software, ou combinações dos mesmos. No caso da implementação por hardware, de acordo com a implementação por hardware, a modalidade ilustrativa ora descrita pode ser implementada usando um ou mais circuitos integrados de aplicação específica (ASICs), processadores de sinais digitais (DSPs), dispositivos de processamento de sinais digitais (DSPDs), dispositivos de lógica programável (PLDs), matrizes de portas programáveis em campo (FPGQAs), processadores, controladores, microcontroladores, microprocessadores, e outros similares.
[0275] No caso de implementação por firmware ou software, a modalidade da presente revelação pode ser implementada na forma de um módulo, um procedimento, uma função, e similares, executando as funções ou operações descritas acima. Um código de software pode ser armazenado na memória e ser executado pelo processador. A memória pode ser posicionada dentro ou fora do processador e pode transmitir e receber data de/para o processador por diversos meios conhecidos.
[0276] Ficará aparente aos versados na técnica que a presente revelação pode ser incorporada em outras formas específicas sem se afastar das características essenciais da presente revelação. Consequentemente, a descrição detalhada supramencionada não deverá ser interpretada como restritiva em todos os termos, e deverá ser considerada a título exemplificative. O escopo da presente revelação deverá ser determinado pela interpretação racional das reivindicações anexas e todas as modificações dentro de um escopo equivalente da presente revelação são incluídas no escopo da presente revelação.
[Aplicabilidade Industrial]
[0277]Mais acima aqui, as modalidades preferidas da presente revelação são reveladas com uma finalidade ilustrativa, e doravante, modificações, alterações, substituições ou adições de várias outras modalidades serão feitas dentro do espírito
Petição 870190129497, de 06/12/2019, pág. 65/88
57/57 técnico e escopo técnico da presente revelação revelada nas reivindicações anexas pelos versados na técnica.

Claims (13)

  1. REIVINDICAÇÕES
    1. Método para codificar uma imagem, o método sendo CARACTERIZADO por compreender:
    gerar um bloco de transformada quantizado efetuando a transformada e a quantização em um sinal residual de um bloco de processamento atual;
    dividir o bloco de transformada quantizado em uma pluralidade de grupos de coeficientes;
    determinar uma primeira ordem de varredura representando a ordem de varredura entre os coeficientes dos grupos de coeficientes; e codificar por entropia os coeficientes do bloco de transformada quantizado de acordo com a primeira ordem de varredura, e uma segunda ordem de varredura representando a ordem de varredura entre a pluralidade de grupos de coeficientes.
  2. 2. Método para codificar uma imagem, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a determinação da primeira ordem de varredura compreende:
    determinar um valor de distância entre os respectivos coeficientes do grupo de coeficientes com base em um coeficiente superior-esquerdo do grupo de coeficientes, e alocar um índice de varredura para coeficientes possuindo o mesmo valor de distância de acordo com uma ordem predeterminada e, ao mesmo tempo, aumentar sequencialmente o valor de distância.
  3. 3. Método para codificar uma imagem, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que a determinação do valor de distância dentre os respectivos coeficientes do grupo de coeficientes compreende:
    determinar, quando o grupo de coeficientes for um bloco não-quadrado, um incremento horizontal representando uma quantidade de aumento de um valor de coordenada em uma direção horizontal de cada coeficiente e um incremento vertical
    Petição 870190129497, de 06/12/2019, pág. 68/88
    2/5 representando uma quantidade de aumento do valor de coordenada em uma direção vertical com base em uma razão de uma largura e uma altura do grupo de coeficientes, em que um valor de distância dos respectivos coeficientes é determinado por um valor obtido pela soma do incremento horizontal e do incremento vertical.
  4. 4. Método para codificar uma imagem, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que, quando a largura do grupo de coeficientes for maior do que a altura, o incremento horizontal é determinado como 1 e o incremento vertical é determinado como 2, e em que quando a altura do grupo de coeficientes for maior do que a largura, o incremento horizontal é determinado como 2 e o incremento vertical é determinado como 1.
  5. 5. Método para codificar uma imagem, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a divisão do bloco de transformada quantizado na pluralidade de grupos de coeficientes inclui dividir hierarquicamente o bloco de transformada quantizado e dividir os blocos de transformada quantizados em grupos de coeficientes possuindo uma profundidade menor, e em que a segunda ordem de varredura inclui uma ordem de varredura entre os grupos de coeficientes possuindo respectivas profundidades a partir do bloco de transformada quantizado.
  6. 6. Método para codificar uma imagem, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que, quando o bloco de transformada quantizado é o bloco não-quadrado, o bloco de transformada quantizado é dividido em grupos de coeficientes constituídos por um número específico de coeficientes, e em que o número específico é determinado de acordo com uma razão de uma largura e uma altura do bloco de transformada quantizado.
  7. 7. Método para decodificar uma imagem, o método sendo
    Petição 870190129497, de 06/12/2019, pág. 69/88
    3/5
    CARACTERIZADO por compreender:
    dividir um bloco de transformada atual em uma pluralidade de grupos de coeficientes;
    determinar uma primeira ordem de varredura representando a ordem de varredura entre os coeficientes dos grupos de coeficientes;
    decodificar por entropia um fluxo de bits gerado a partir de um codificador para gerar um coeficiente de transformada quantizado; e dispor os coeficientes do bloco de transformada quantizado de acordo com a primeira ordem de varredura e a segunda ordem de varredura representando a ordem de varredura entre a pluralidade de grupos de coeficientes para gerar o bloco de transformada quantizado do bloco de processamento atual.
  8. 8. Método para decodificar uma imagem, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que a determinação da primeira ordem de varredura compreende:
    determinar um valor de distância entre os respectivos coeficientes do grupo de coeficientes com base em um coeficiente superior-esquerdo do grupo de coeficientes, e alocar um índice de varredura para coeficientes possuindo o mesmo valor de distância de acordo com uma ordem predeterminada e, ao mesmo tempo, aumentar sequencialmente o valor de distância.
  9. 9. Método para decodificar uma imagem, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que a determinação do valor de distância dentre os respectivos coeficientes do grupo de coeficientes compreende:
    determinar, quando o grupo de coeficientes for um bloco não-quadrado, um incremento horizontal representando uma quantidade de aumento de um valor de coordenada em uma direção horizontal de cada coeficiente e um incremento vertical representando uma quantidade de aumento do valor de coordenada em uma direção
    Petição 870190129497, de 06/12/2019, pág. 70/88
    4/5 vertical com base em uma razão de uma largura e uma altura do grupo de coeficientes, em que urn valor de distância dos respectivos coeficientes é determinado por um valor obtido pela soma do incremento horizontal e do incremento vertical.
  10. 10. Método para decodificar uma imagem, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que, quando a largura do grupo de coeficientes for maior do que a altura, o incremento horizontal é determinado como 1 e o incremento vertical é determinado como 2, e em que quando a altura do grupo de coeficientes for maior do que a largura, o incremento horizontal é determinado como 2 e o incremento vertical é determinado como 1.
  11. 11. Método para decodificar uma imagem, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que a divisão do bloco de processamento atual na pluralidade de grupos de coeficientes compreende:
    dividir hierarquicamente o bloco de processamento atual e dividir o bloco de processamento atual dividido em grupos de coeficientes possuindo uma profundidade inferior, e em que a segunda ordem de varredura inclui uma ordem de varredura entre os grupos de coeficientes possuindo respectivas profundidades a partir do bloco de processamento atual.
  12. 12. Método para decodificar uma imagem, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que, quando o bloco de processamento atual é o bloco não-quadrado, o bloco de processamento atual é dividido em grupos de coeficientes constituídos por um número específico de coeficientes, e em que o número específico é determinado de acordo com uma razão de uma largura e uma altura do bloco de processamento atual.
  13. 13. Dispositivo para decodificar uma imagem, o dispositivo sendo
    Petição 870190129497, de 06/12/2019, pág. 71/88
    5/5
    CARACTERIZADO por compreender:
    uma unidade de divisão em grupos de coeficientes dividindo um bloco de processamento atual em uma pluralidade de grupos de coeficientes;.
    uma unidade de determinação de ordem de varredura determinando uma primeira ordem de varredura representando a ordem de varredura entre os coeficientes dos grupos de coeficientes;
    uma unidade de geração de coeficiente de transformada decodificando por entropia um fluxo de bits gerado a partir de um codificador para gerar um coeficiente de transformada quantizado; e uma unidade de geração de bloco de transformada dispondo os coeficientes do bloco de transformada quantizado de acordo com a primeira ordem de varredura e a segunda ordem de varredura representando a ordem de varredura entre a pluralidade de grupos de coeficientes para gerar o bloco de transformada quantizado do bloco de processamento atual.
BR112019021584-0A 2017-04-13 2018-03-13 Método de codificação/decodificação de imagem e dispositivo para o mesmo BR112019021584B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762484900P 2017-04-13 2017-04-13
US62/484.900 2017-04-13
KR2018190523 2018-10-18

Publications (2)

Publication Number Publication Date
BR112019021584A2 true BR112019021584A2 (pt) 2020-05-12
BR112019021584B1 BR112019021584B1 (pt) 2022-06-28

Family

ID=63793701

Family Applications (2)

Application Number Title Priority Date Filing Date
BR112019021584-0A BR112019021584B1 (pt) 2017-04-13 2018-03-13 Método de codificação/decodificação de imagem e dispositivo para o mesmo
BR122021018343-0A BR122021018343B1 (pt) 2017-04-13 2018-03-13 Método para reconstruir uma imagem incluindo um bloco não quadrado, método para codificar uma imagem e mídia de armazenamento digital legível por computador

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR122021018343-0A BR122021018343B1 (pt) 2017-04-13 2018-03-13 Método para reconstruir uma imagem incluindo um bloco não quadrado, método para codificar uma imagem e mídia de armazenamento digital legível por computador

Country Status (11)

Country Link
US (1) US11729390B2 (pt)
EP (1) EP3609183B1 (pt)
JP (2) JP6949990B2 (pt)
KR (4) KR102257829B1 (pt)
CN (3) CN110622511B (pt)
AU (2) AU2018252853A1 (pt)
BR (2) BR112019021584B1 (pt)
CA (1) CA3060201C (pt)
MX (2) MX2019012294A (pt)
RU (1) RU2746706C1 (pt)
WO (1) WO2018190523A1 (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102257829B1 (ko) 2017-04-13 2021-05-28 엘지전자 주식회사 영상의 부호화/복호화 방법 및 이를 위한 장치
JP7278084B2 (ja) * 2019-01-29 2023-05-19 キヤノン株式会社 情報処理装置および情報処理方法ならびにプログラム
AU2020224256A1 (en) 2019-02-24 2021-09-09 Beijing Bytedance Network Technology Co., Ltd. Independent coding of palette mode usage indication
US11677969B2 (en) * 2019-03-22 2023-06-13 Tencent America LLC Method and apparatus for video coding
JP7359936B2 (ja) 2019-07-20 2023-10-11 北京字節跳動網絡技術有限公司 パレットモードの使用の指示の条件依存符号化
CN117221536A (zh) 2019-07-23 2023-12-12 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
JP2022543009A (ja) * 2019-07-29 2022-10-07 北京字節跳動網絡技術有限公司 予測処理におけるパレットモードの符号化
US11388439B2 (en) * 2019-10-21 2022-07-12 Google Llc Sparse matrix representation using a boundary of non-zero coefficients
US11363299B2 (en) * 2019-12-12 2022-06-14 Panasonic Intellectual Property Corporation Of America Encoding and decoding with merge mode and block partition index
CN113132734B (zh) * 2019-12-31 2023-05-26 杭州海康威视数字技术股份有限公司 一种编码、解码方法、装置及其设备
WO2021155005A1 (en) * 2020-01-28 2021-08-05 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus on transform and coefficient signaling
CN116636205A (zh) * 2021-08-30 2023-08-22 腾讯美国有限责任公司 次级变换系数的扫描顺序
US20230179764A1 (en) * 2021-12-06 2023-06-08 Tencent America LLC Arrangement of adaptive loop filter coefficients for fast vectorized transpositions

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473376A (en) * 1994-12-01 1995-12-05 Motorola, Inc. Method and apparatus for adaptive entropy encoding/decoding of quantized transform coefficients in a video compression system
KR100359813B1 (ko) * 2000-01-11 2002-11-07 엘지전자 주식회사 영상 압축 부호화를 위한 변형 이중 스캔방법
KR101354151B1 (ko) * 2006-08-24 2014-01-28 삼성전자주식회사 영상 변환 방법 및 장치, 역변환 방법 및 장치
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8638852B2 (en) 2008-01-08 2014-01-28 Qualcomm Incorporated Video coding of filter coefficients based on horizontal and vertical symmetry
US9100646B2 (en) * 2008-09-03 2015-08-04 Sk Telecom Co., Ltd. Device and method for image encoding/decoding using prediction direction conversion and selective encoding
US9143803B2 (en) 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
KR101672456B1 (ko) * 2009-02-09 2016-11-17 삼성전자 주식회사 저복잡도 주파수 변환을 이용한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
CN106028045B (zh) 2010-04-13 2019-06-25 Ge视频压缩有限责任公司 解码数据流的方法、生成数据流的方法及其解码器
HRP20220743T1 (hr) * 2010-04-13 2022-08-19 Ge Video Compression, Llc Kodiranje signifikacijskih mapa i blokova koeficijenata transformacije
KR20110125153A (ko) * 2010-05-12 2011-11-18 에스케이 텔레콤주식회사 영상의 필터링 방법 및 장치와 그를 이용한 부호화/복호화를 위한 방법 및 장치
MX338867B (es) * 2010-07-15 2016-05-03 Toshiba Kk Metodo de codificación de imágenes y método de descodificacion de imágenes.
KR101483179B1 (ko) * 2010-10-06 2015-01-19 에스케이 텔레콤주식회사 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101952103B1 (ko) * 2010-10-08 2019-02-27 지이 비디오 컴프레션, 엘엘씨 블록 분할 및 블록 병합을 지원하는 픽처 코딩
US9641846B2 (en) 2010-10-22 2017-05-02 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
HUE046377T2 (hu) * 2011-01-14 2020-03-30 Ge Video Compression Llc Entrópia kódoló és dekódoló séma
US10397577B2 (en) * 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
US9167253B2 (en) * 2011-06-28 2015-10-20 Qualcomm Incorporated Derivation of the position in scan order of the last significant transform coefficient in video coding
US20130083856A1 (en) * 2011-06-29 2013-04-04 Qualcomm Incorporated Contexts for coefficient level coding in video compression
WO2013003791A1 (en) * 2011-06-29 2013-01-03 General Instrument Corporation Methods and system for using a scan coding pattern during inter coding
US9392301B2 (en) 2011-07-01 2016-07-12 Qualcomm Incorporated Context adaptive entropy coding for non-square blocks in video coding
US9807426B2 (en) * 2011-07-01 2017-10-31 Qualcomm Incorporated Applying non-square transforms to video data
US9756360B2 (en) * 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
US20130028329A1 (en) * 2011-07-22 2013-01-31 General Instrument Corporation Device and methods for scanning rectangular-shaped transforms in video coding
US8995708B2 (en) * 2011-09-08 2015-03-31 Samsung Electronics Co., Ltd. Apparatus and method for robust low-complexity video fingerprinting
JP2013087869A (ja) 2011-10-18 2013-05-13 Hitachi Constr Mach Co Ltd 圧油エネルギ回収装置及びこれを用いた建設機械
US9247254B2 (en) * 2011-10-27 2016-01-26 Qualcomm Incorporated Non-square transforms in intra-prediction video coding
US20130114692A1 (en) * 2011-11-04 2013-05-09 Texas Instruments Incorporated Simplified Coefficient Scans for Non-Square Transforms (NSQT) in Video Coding
KR20130049525A (ko) 2011-11-04 2013-05-14 오수미 잔차 블록 복원을 위한 역변환 방법
US10390016B2 (en) * 2011-11-04 2019-08-20 Infobridge Pte. Ltd. Apparatus of encoding an image
KR20130049524A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
US10390046B2 (en) * 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
GB2556489B (en) * 2011-11-08 2018-11-21 Kt Corp A method of decoding a video signal using a merge mode
CN107920249A (zh) * 2011-11-08 2018-04-17 株式会社Kt 对视频信号进行解码的方法
EP2595380B1 (en) 2011-11-19 2015-10-21 BlackBerry Limited Multi-level significance map scanning
CN104012092A (zh) * 2011-12-20 2014-08-27 摩托罗拉移动有限责任公司 高效变换单元编码的方法和设备
US20130182772A1 (en) * 2012-01-13 2013-07-18 Qualcomm Incorporated Determining contexts for coding transform coefficient data in video coding
US9191670B2 (en) * 2012-01-17 2015-11-17 Qualcomm Incorporated Throughput improvement for CABAC coefficient level coding
US9654772B2 (en) * 2012-01-19 2017-05-16 Qualcomm Incorporated Context adaptive entropy coding with a reduced initialization value set
AU2012200319B2 (en) * 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
EP2805495B1 (en) * 2012-01-20 2023-07-19 Google Technology Holdings LLC Devices and methods for context reduction in last significant coefficient position coding
EP2618570B1 (en) * 2012-01-20 2017-12-13 BlackBerry Limited Method and devices for context set selection
US20130195200A1 (en) * 2012-01-28 2013-08-01 Research In Motion Limited Methods and devices for context modeling to enable modular processing
JP2013187869A (ja) * 2012-03-09 2013-09-19 Sharp Corp 算術復号装置、算術符号化装置、画像復号装置、および画像符号化装置
US9621921B2 (en) * 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
US9912944B2 (en) * 2012-04-16 2018-03-06 Qualcomm Incorporated Simplified non-square quadtree transforms for video coding
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US11025922B2 (en) * 2012-06-13 2021-06-01 Texas Instruments Incorporated Inverse transformation using pruning for video coding
US10257520B2 (en) 2012-06-26 2019-04-09 Velos Media, Llc Modified coding for transform skipping
US9350998B2 (en) * 2012-06-29 2016-05-24 Qualcomm Incorporated Coding of significance flags
US9332257B2 (en) * 2012-10-01 2016-05-03 Qualcomm Incorporated Coded black flag coding for 4:2:2 sample format in video coding
WO2014110651A1 (en) 2013-01-16 2014-07-24 Blackberry Limited Transform coefficient coding for context-adaptive binary entropy coding of video
DK2984837T3 (en) * 2013-04-08 2018-04-30 Ge Video Compression Llc Inter-component prediction
US10412419B2 (en) * 2013-07-12 2019-09-10 Qualcomm Incorporated Adaptive filtering in video coding
US11470339B2 (en) * 2013-08-27 2022-10-11 Qualcomm Incorporated Residual prediction for intra block copying
US9445132B2 (en) * 2013-09-09 2016-09-13 Qualcomm Incorporated Two level last significant coefficient (LSC) position coding
US20150271515A1 (en) * 2014-01-10 2015-09-24 Qualcomm Incorporated Block vector coding for intra block copy in video coding
US9756354B2 (en) * 2014-03-17 2017-09-05 Qualcomm Incorporated Block vector predictor for intra block copying
US10432928B2 (en) * 2014-03-21 2019-10-01 Qualcomm Incorporated Using a current picture as a reference for video coding
US10477232B2 (en) * 2014-03-21 2019-11-12 Qualcomm Incorporated Search region determination for intra block copy in video coding
US20150373362A1 (en) * 2014-06-19 2015-12-24 Qualcomm Incorporated Deblocking filter design for intra block copy
WO2016154963A1 (en) * 2015-04-01 2016-10-06 Mediatek Inc. Methods for chroma coding in video codec
US10200713B2 (en) * 2015-05-11 2019-02-05 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
US10631013B2 (en) * 2015-06-11 2020-04-21 Lg Electronics Inc. Method for re-positioning significant coefficient in image encoding/decoding process and device therefor
US10491922B2 (en) 2015-09-29 2019-11-26 Qualcomm Incorporated Non-separable secondary transform for video coding
CN108293118A (zh) * 2015-11-24 2018-07-17 三星电子株式会社 视频解码方法和装置以及视频编码方法和装置
KR102488976B1 (ko) * 2015-11-24 2023-01-18 삼성전자주식회사 부호화 순서 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US20170150156A1 (en) * 2015-11-25 2017-05-25 Qualcomm Incorporated Illumination compensation with non-square predictive blocks in video coding
CN114615493A (zh) * 2016-03-24 2022-06-10 英迪股份有限公司 视频解码方法、视频编码方法和可读记录介质
US11228754B2 (en) * 2016-05-06 2022-01-18 Qualcomm Incorporated Hybrid graphics and pixel domain architecture for 360 degree video
EP3270594A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for advanced cabac context adaptation for last coefficient coding
EP4236321A3 (en) * 2016-08-31 2023-09-13 KT Corporation Method and device for processing video signal
KR102471208B1 (ko) * 2016-09-20 2022-11-25 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR102257829B1 (ko) * 2017-04-13 2021-05-28 엘지전자 주식회사 영상의 부호화/복호화 방법 및 이를 위한 장치
US20190313108A1 (en) * 2018-04-05 2019-10-10 Qualcomm Incorporated Non-square blocks in video coding
JP2022016726A (ja) * 2018-11-16 2022-01-25 ソニーグループ株式会社 画像処理装置および方法

Also Published As

Publication number Publication date
CN110622511B (zh) 2022-04-15
JP2020517194A (ja) 2020-06-11
KR102424411B1 (ko) 2022-07-25
BR112019021584B1 (pt) 2022-06-28
KR20220107081A (ko) 2022-08-01
AU2021206839B2 (en) 2023-07-27
KR20210114560A (ko) 2021-09-23
AU2021206839A1 (en) 2021-08-12
CA3060201A1 (en) 2018-10-18
KR20210063465A (ko) 2021-06-01
JP6949990B2 (ja) 2021-10-13
EP3609183A4 (en) 2020-06-10
CN114760470A (zh) 2022-07-15
KR102302797B1 (ko) 2021-09-16
AU2018252853A1 (en) 2019-12-05
US11729390B2 (en) 2023-08-15
CN114760471A (zh) 2022-07-15
BR122021018343B1 (pt) 2022-10-25
KR102257829B1 (ko) 2021-05-28
CN110622511A (zh) 2019-12-27
WO2018190523A1 (ko) 2018-10-18
KR20190133050A (ko) 2019-11-29
US20210105477A1 (en) 2021-04-08
CA3060201C (en) 2023-09-19
MX2023005933A (es) 2023-06-22
RU2746706C1 (ru) 2021-04-19
EP3609183A1 (en) 2020-02-12
KR102558015B1 (ko) 2023-07-21
JP2022008491A (ja) 2022-01-13
EP3609183B1 (en) 2023-05-03
MX2019012294A (es) 2020-01-27

Similar Documents

Publication Publication Date Title
BR112019021584A2 (pt) Método de codificação/decodificação de imagem e dispositivo para o mesmo
ES2800551B2 (es) Método y aparato para tratar una señal de vídeo
KR102403685B1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR102398612B1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
ES2972076T3 (es) Procedimiento de codificación/decodificación de señales de imagen y dispositivo para lo mismo
KR20180026718A (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
BR112013032040B1 (pt) Método e aparelho para codificação de vídeo, e memória legível por computador
BR112021008625A2 (pt) método de decodificação e codificação de vídeo e aparelho de decodificação e codificação de vídeo
EP3522531A1 (en) Method for processing picture based on intra-prediction mode and apparatus for same
KR20180040577A (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
RU2786121C1 (ru) Способ и устройство кодирования/декодирования изображений

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 19/13 , H04N 19/124 , H04N 19/129 , H04N 19/119 , H04N 19/176

Ipc: H04N 19/119 (2006.01), H04N 19/129 (2006.01), H04N

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 13/03/2018, OBSERVADAS AS CONDICOES LEGAIS