BR112020000876A2 - dispositivo codificador, dispositivo decodificador, método de codificação, e método de decodificação - Google Patents

dispositivo codificador, dispositivo decodificador, método de codificação, e método de decodificação Download PDF

Info

Publication number
BR112020000876A2
BR112020000876A2 BR112020000876-1A BR112020000876A BR112020000876A2 BR 112020000876 A2 BR112020000876 A2 BR 112020000876A2 BR 112020000876 A BR112020000876 A BR 112020000876A BR 112020000876 A2 BR112020000876 A2 BR 112020000876A2
Authority
BR
Brazil
Prior art keywords
quantization
coefficients
quantization matrix
primary
transform
Prior art date
Application number
BR112020000876-1A
Other languages
English (en)
Inventor
Ryuichi KANOH
Kiyofumi Abe
Tadamasa Toma
Takahiro Nishi
Original Assignee
Panasonic Intellectual Property Corporation Of America
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 Panasonic Intellectual Property Corporation Of America filed Critical Panasonic Intellectual Property Corporation Of America
Priority claimed from PCT/JP2018/027787 external-priority patent/WO2019022099A1/ja
Publication of BR112020000876A2 publication Critical patent/BR112020000876A2/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/136Incoming video signal characteristics or properties
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Landscapes

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

Abstract

A presente invenção refere-se a um dispositivo de codificação (100) que codifica um bloco, de uma imagem, a ser codificada e compreende: uma unidade de conversão (106) que executa uma conversão primária pela qual o resíduo do bloco a ser codificado é convertido para um fator primário, determina se aplicar uma conversão secundária no bloco a ser codificado, e se uma conversão secundária deve ser aplicada, executar uma conversão secundária do fator primário para um fator secundário; uma unidade de quantização (108) que, se uma conversão secundária não for aplicada, calcula um fator primário quantizado executando uma primeira quantização sobre o fator primário e se uma conversão secundária for aplicada, calcula um fator secundário quantizado executando uma segunda quantização, a qual é diferente da primeira quantização, sobre o fator secundário; e uma unidade de codificação de entropia (110) que gera um fluxo de bits codificado codificando o fator primário quantizado ou o fator secundário quantizado.

Description

Relatório Descritivo da Patente de Invenção para "DISPO- SITIVO CODIFICADOR, DISPOSITIVO DECODIFICADOR, MÉTODO DE CODIFICAÇÃO, E MÉTODO DE DECODIFICAÇÃO".
CAMPO DA TÉCNICA
[0001] A presente invenção refere-se, a um codificador, a decodifi- cador, um método de codificação, e um método de decodificação.
TÉCNICA ANTECEDENTE
[0002] Um padrão de codificação de vídeo denominado codifica- ção de vídeo de alta eficiência (HEVC) foi padronizado por Joint Colla- borative Team on Video Coding (JCT-VC).
LISTA DE CITAÇÕES Literatura de não patente
[0003] [NPL] H.265 (ISO/IEC 23008-2 HEVC)/HEVC (High Effici- ency Video Coding)
SUMÁRIO DA INVENÇÃO PROBLEMA TÉCNICO
[0004] Aperfeiçoamentos adicionais têm sido desejados em tais técnicas de codificação e decodificação.
[0005] Em vista disto, presente descrição tem um objeto de prover, codificadores, decodificadores, métodos de codificação, e métodos de decodificação os quais podem atingir aperfeiçoamentos adicionais.
SOLUÇÃO PARA O PROBLEMA
[0006] Um codificador de acordo com um aspecto da presente descrição é um codificador o qual codifica um bloco corrente a ser co- dificado em uma imagem, o codificador inclui um circuito e memória. Utilizando a memória, o circuito: executa uma transformada primária de resíduos do bloco corrente para coeficientes primários; determina se uma transformada secundária dever ser aplicada ao bloco corrente; (i) calcula coeficientes primários quantizados executando uma primeira quantização sobre os coeficientes primários quando a transformada secundária não deve ser aplicada, (ii) executa uma transformada se- cundária dos coeficientes primários para coeficientes secundários, e calcula coeficientes secundários quantizados executando uma quanti- zação secundária sobre os coeficientes secundários quando a trans- formada secundária deve ser aplicada, a quantização secundária sen- do diferente da primeira quantização; e gera um fluxo de bits codifica- do codificando ou os coeficientes primários quantizados ou os coefici- entes secundários quantizados.
[0007] Deve ser notado que estes aspectos gerais e específicos podem ser implementados utilizando um sistema, um método, um cir- cuito integrado, um programa de computador, ou um meio de gravação legível por computador não transitório tal como um CD-ROM, ou qual- quer combinação de sistemas, métodos, circuitos integrados, progra- mas de computador, ou meios de gravação legíveis por computador.
EFEITO VANTAJOSO DA INVENÇÃO
[0008] A presente descrição pode prover codificadores, decodifi- cadores, métodos de codificação, e métodos de decodificação os quais podem atingir aperfeiçoamentos adicionais.
BREVE DESCRIÇÃO DOS DESENHOS
[0009] Figura 1 é um diagrama de blocos que ilustra uma configu- ração funcional de um codificador de acordo com a Modalidade 1.
Figura 2 ilustra um exemplo de divisão de bloco de acordo com a Modalidade 1.
Figura 3 é um gráfico que indica funções de base de trans- formada para cada tipo de transformada.
Figura 4A ilustra um exemplo de uma forma de filtro utiliza- da em ALF.
Figura 4B ilustra outro exemplo de uma forma de filtro utili- zada em ALF.
Figura 4C ilustra outro exemplo de uma forma de filtro utili-
zada em ALF.
Figura 5A ilustra 67 modos de intrapredição utilizados em intrapredição.
Figura 5B é um fluxograma para ilustrar um esboço de um processo de correção de imagem de predição executado através de processamento de OBMC.
Figura 5C é um diagrama conceitual para ilustrar um esbo- ço de um processo de correção de imagem de predição executado através de processamento de OBMC.
Figura 5D ilustra um exemplo de FRUC.
Figura 6 é para ilustrar uma coincidência de padrão (coinci- dência bilateral) entre dois blocos ao longo de uma trajetória de movi- mento.
Figura 7 é para ilustrar uma coincidência de padrão (coinci- dência de modelo) entre um modelo na imagem corrente e um bloco em uma imagem de referência.
Figura 8 é para ilustrar um modelo que assume movimento linear uniforme.
Figura 9A é para ilustrar derivar um vetor de movimento de cada sub-bloco com base em vetores de movimento de blocos vizi- nhos.
Figura 9B é para ilustrar um esboço de um processo para derivar um vetor de movimento através de modo de mesclagem.
Figura 9C é um diagrama conceitual para ilustrar um esbo- ço de Processamento de DMVR.
Figura 9D é para ilustrar um esboço de um método de ge- ração de imagem de predição que utiliza um processo de correção de luminância executado através de processamento de LIC.
Figura 10 é um diagrama de blocos que ilustra uma configu- ração funcional de um decodificador de acordo com a Modalidade 1.
Figura 11 é um fluxograma que indica um exemplo de um processo de transformada, um processo de quantização, e um proces- so de codificação de acordo com a Modalidade 1.
Figura 12 é um diagrama que indica exemplos de posições de matrizes de quantização em um fluxo de bits codificado de acordo com a Modalidade 1.
Figura 13 é um fluxograma que indica um exemplo de um processo de decodificação, um processo de quantização inversa, e um processo de transformada inversa de acordo com a Modalidade 1.
Figura 14 é um fluxograma que indica um exemplo de um processo de transformada, um processo de quantização, e um proces- so de codificação de acordo com a Modalidade 2.
Figura 15 é um fluxograma que indica um exemplo de um processo de decodificação, um processo de quantização inversa, e um processo de transformada inversa de acordo com a Modalidade 2.
Figura 16 é um fluxograma que indica um exemplo de um processo para derivar uma segunda matriz de quantização de acordo com uma variação da Modalidade 2.
Figura 17 é um fluxograma que indica um exemplo de um processo de transformada, um processo de quantização, e um proces- so de codificação de acordo com a Modalidade 3.
Figura 18 é um fluxograma que indica um exemplo de um processo de decodificação, um processo de quantização inversa, e um processo de transformada inversa de acordo com a Modalidade 3.
Figura 19 é um fluxograma que indica um exemplo de um processo de transformada, um processo de quantização, e um proces- so de codificação de acordo com a Modalidade 4.
Figura 20 é um diagrama para explicar um exemplo de uma transformada secundária de acordo com a Modalidade 4.
Figura 21 é um fluxograma que indica um exemplo de um processo de decodificação, um processo de quantização inversa, e um processo de transformada inversa de acordo com a Modalidade 4.
Figura 22 é um diagrama para explicar um exemplo de uma transformada secundária inversa de acordo com a Modalidade 4.
Figura 23 é um fluxograma que indica um exemplo de um processo de transformada, um processo de quantização, e um proces- so de codificação de acordo com a Modalidade 5.
Figura 24 é um fluxograma que indica um exemplo de um processo de decodificação, um processo de quantização inversa, e um processo de transformada inversa de acordo com a Modalidade 5.
Figura 25 ilustra uma configuração geral de um sistema de provisão de conteúdo para implementar um serviço de distribuição de conteúdo.
Figura 26 ilustra um exemplo de uma estrutura de codifica- ção em codificação escalável.
Figura 27 ilustra um exemplo de uma estrutura de codifica- ção em codificação escalável.
Figura 28 ilustra um exemplo de uma tela de display de uma webpage.
Figura 29 ilustra um exemplo de uma tela de display de uma webpage.
Figura 30 ilustra um exemplo de um smartphone.
Figura 31 é um diagrama de blocos que ilustra um exemplo de configuração de um smartphone.
DESCRIÇÃO DE MODALIDADES EXEMPLARES (Conhecimento Fundamental que Forma a Base da Presente Descrição)
[0010] No padrão de compressão de vídeo de próxima geração, uma transformada secundária de coeficientes obtidos executando uma transformada primária de resíduos foi considerada de modo a adicio- nalmente remover redundância espacial. É desejado que a eficiência de codificação seja aperfeiçoada enquanto reduzindo a diminuição em qualidade de imagem subjetiva mesmo quando tal transformada se- cundária é executada.
[0011] Em vista disto, um codificador de acordo com um aspecto da presente descrição é um codificador o qual codifica um bloco cor- rente a ser codificado em uma imagem, o codificador inclui um circuito e memória. Utilizando a memória, o circuito: executa uma transforma- da primária de resíduos do bloco corrente para coeficientes primários; determina se uma transformada secundária dever ser aplicada ao blo- co corrente; (i) calcula coeficientes primários quantizados executando uma primeira quantização sobre os coeficientes primários quando a transformada secundária não deve ser aplicada, (ii) executa uma transformada secundária dos coeficientes primários para coeficientes secundários, e calcula coeficientes secundários quantizados execu- tando uma quantização secundária sobre os coeficientes secundários quando a transformada secundária deve ser aplicada, a quantização secundária sendo diferente da primeira quantização; e gera um fluxo de bits codificado codificando ou os coeficientes primários quantizados ou os coeficientes secundários quantizados.
[0012] De acordo com isto, é possível executar uma diferente quantização dependendo da aplicação / não aplicação de uma trans- formada secundária sobre o bloco corrente. Os coeficientes secundá- rios obtidos executando uma transformada secundária de coeficientes primários representados em um espaço primário devem ser represen- tados em um espaço secundário o qual não é o espaço primário. Por esta razão, é difícil aumentar a eficiência de codificação enquanto re- duzindo a diminuição em qualidade de imagem subjetiva mesmo quando uma quantização para os coeficientes primários é aplicada nos coeficientes secundários. Por exemplo, uma quantização para reduzir as perdas de componentes de baixa frequência para reduzir a diminui-
ção em qualidade de imagem subjetiva e aumentar as perdas de com- ponentes de alta frequência para aumentar a eficiência de codificação é diferente entre o espaço primário e o espaço secundário. Em vista disto, é possível aumentar a eficiência de codificação enquanto redu- zindo a diminuição em qualidade de imagem subjetiva comparado com um caso de executar uma quantização comum executando uma dife- rente quantização dependendo da aplicação / não aplicação de uma transformada secundária sobre o bloco corrente.
[0013] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, a primeira quantização pode ser uma quantização ponderada que utiliza uma primeira matriz de quanti- zação, e a segunda quantização pode ser uma quantização ponderada que utiliza uma segunda matriz de quantização diferente da primeira matriz de quantização.
[0014] De acordo com isto, é possível executar uma quantização ponderada utilizando a primeira matriz de quantização, como a primei- ra quantização. Mais ainda, é possível executar uma quantização pon- derada utilizando a segunda matriz de quantização diferente da primei- ra matriz de quantização, como a segunda quantização. Consequen- temente, é possível utilizar a primeira matriz de quantização que cor- responde ao espaço primário na quantização para os coeficientes pri- mários, e utilizar a segunda matriz de quantização que corresponde ao espaço secundário na quantização para os coeficientes secundários. Consequentemente, em tanto a aplicação quanto não aplicação de uma transformada secundária, é possível aumentar a eficiência de co- dificação enquanto reduzindo a diminuição em qualidade de imagem subjetiva.
[0015] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, o circuito pode escrever a primei- ra matriz de quantização e a segunda matriz de quantização no fluxo de bits codificado.
[0016] De acordo com isto, é possível incluir a primeira matriz de quantização e a segunda matriz de quantização no fluxo de bits codifi- cado. Consequentemente, é possível adaptavelmente determinar a primeira matriz de quantização e a segunda matriz de quantização de acordo com uma imagem original, e ainda aumentar a eficiência de codificação enquanto reduzindo a diminuição em qualidade de imagem subjetiva.
[0017] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, os coeficientes primários podem incluir um ou mais primeiros coeficientes primários e um ou mais se- gundos coeficientes primários, a transformada secundária pode ser aplicada aos um ou mais primeiros coeficientes primários e pode não ser aplicada aos um ou mais segundos coeficientes primários, a se- gunda matriz de quantização pode ter um ou mais primeiros valores de componente que correspondem aos um ou mais primeiros coeficientes primários e um ou mais segundos valores de componente que corres- pondem aos um ou mais segundos coeficientes primários, cada um dos um ou mais segundos valores de componente da segunda matriz de quantização pode coincidir com um correspondente de valores de componente da primeira matriz de quantização, e quando o circuito escreve a segunda matriz de quantização, o circuito pode escrever, no fluxo de bits codificado, somente os um ou mais primeiros valores de componente entre os um ou mais primeiros valores de componente e os um ou mais segundos valores de componente.
[0018] De acordo com isto, é possível coincidir cada um dos um ou mais segundos valores de componente da segunda matriz de quanti- zação com o valor de componente correspondente da primeira matriz de quantização. Consequentemente, a necessidade de escrever os um ou mais segundos valores de componente da segunda matriz de quan-
tização é eliminada, o que torna possível aumentar a eficiência de co- dificação.
[0019] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, na transformada secundária, uma pluralidade de bases a qual foi determinada pode ser seletivamente utilizada, o fluxo de bits codificado pode incluir uma pluralidade de se- gundas matrizes de quantização que corresponde à pluralidade de ba- ses, e na segunda quantização, uma segunda matriz de quantização que corresponde a uma base utilizada para a segunda transformada pode ser selecionada da pluralidade de segundas matrizes de quanti- zação.
[0020] De acordo com isto, é possível executar uma segunda quantização utilizando a segunda matriz de quantização que corres- ponde a uma base a ser utilizada na transformada secundária. Carac- terísticas do espaço secundário o qual representa os coeficientes se- cundários são diferentes dependendo da base a ser utilizada para a transformada secundária. Consequentemente, executando uma se- gunda quantização utilizando a segunda matriz de quantização que corresponde à base a ser utilizada para a transformada secundária, é possível executar uma segunda quantização utilizando a matriz de quantização mais adequada para o espaço secundário, e aumentar a eficiência de codificação enquanto reduzindo a diminuição em qualida- de de imagem subjetiva.
[0021] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, a primeira matriz de quantização e a segunda matriz de quantização podem ser definidas com antece- dência em um padrão.
[0022] De acordo com isto, a primeira matriz de quantização e a segunda matriz de quantização são definidas com antecedência no padrão. Consequentemente, não é sempre necessário que a primeira matriz de quantização e a segunda matriz de quantização sejam inclu- ídas no fluxo de bits codificado, e assim é possível reduzir a quantida- de de codificação para a primeira matriz de quantização e a segunda matriz de quantização.
[0023] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, o circuito pode derivar a segunda matriz de quantização da primeira matriz de quantização.
[0024] De acordo com isto, é possível derivar a segunda matriz de quantização da primeira matriz de quantização. Isto elimina a necessi- dade de transmitir a segunda matriz de quantização para o decodifica- dor, o que torna possível aumentar a eficiência de codificação.
[0025] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, os coeficientes primários podem incluir um ou mais primeiros coeficientes primários e um ou mais se- gundos coeficientes primários, a transformada secundária pode ser aplicada aos um ou mais primeiros coeficientes primários e pode não ser aplicada aos um ou mais segundos coeficientes primários, a se- gunda matriz de quantização pode ter um ou mais primeiros valores de componente que correspondem aos um ou mais primeiros coeficientes primários e um ou mais segundos valores de componente que corres- pondem aos um ou mais segundos coeficientes primários, cada um dos um ou mais segundos valores de componente da segunda matriz de quantização pode coincidir com um correspondente de valores de componente da primeira matriz de quantização, e quando o circuito deriva a segunda matriz de quantização, o circuito pode derivar os um ou mais primeiros valores de componente da segunda matriz de quan- tização da primeira matriz de quantização.
[0026] De acordo com isto, é possível coincidir cada um dos um ou mais segundos valores de componente da segunda matriz de quanti- zação com o valor de componente correspondente da primeira matriz de quantização. Isto elimina a necessidade de derivar os um ou mais segundos valores de componente da segunda matriz de quantização, o que permite redução em carga de processamento.
[0027] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, a segunda matriz de quantização pode ser derivada aplicando uma transformada secundária na primeira matriz de quantização.
[0028] De acordo com isto, é possível derivar a segunda matriz de quantização aplicando uma transformada secundária na primeira ma- triz de quantização. Consequentemente, é possível transformar a pri- meira matriz de quantização que corresponde ao espaço primário na segunda matriz de quantização que corresponde à transformada se- cundária, o que torna possível aumentar a eficiência de codificação enquanto reduzindo a diminuição em qualidade de imagem subjetiva.
[0029] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, o circuito pode: derivar uma ter- ceira matriz de quantização da primeira matriz de quantização, a ter- ceira matriz de quantização tendo valores de componente os quais são maiores quando os valores de componente correspondentes da pri- meira matriz de quantização são menores; derivar uma quarta matriz de quantização aplicando uma transformada secundária na terceira matriz de quantização; e derivar, como a segunda matriz de quantiza- ção, uma quinta matriz de quantização da quarta matriz de quantiza- ção, a quinta matriz de quantização tendo valores de componente os quais são maiores quando os valores de componente correspondentes da quarta matriz de quantização são menores.
[0030] De acordo com isto, é possível reduzir a influência de erro de arredondamento no tempo de uma transformada secundária para componentes que têm um valor relativamente pequeno incluídos na primeira matriz de quantização. Em outras palavras, é possível reduzir a influência do erro de arredondamento sobre os valores de compo- nente a serem aplicados a coeficientes para os quais perdas são dese- jadas serem pequenas de modo a reduzir a diminuição em qualidade de imagem subjetiva. Consequentemente, é possível adicionalmente reduzir a diminuição em qualidade de imagem subjetiva.
[0031] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, os valores de componente da ter- ceira matriz de quantização podem ser recíprocos dos valores de componente correspondentes da primeira matriz de quantização, e os valores de componente da quinta matriz de quantização podem ser recíprocos dos valores de componente correspondentes da quarta ma- triz de quantização.
[0032] De acordo com isto, os recíprocos dos valores de compo- nente correspondentes da primeira matriz de quantização / da quarta matriz de quantização podem ser utilizados como os valores de com- ponente da terceira matriz de quantização / da quinta matriz de quanti- zação. Consequentemente, é possível derivar os valores de compo- nente por um simples cálculo, o que torna possível reduzir a carga de processamento e tempo de processamento para derivar a segunda matriz de quantização.
[0033] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, a primeira quantização pode ser uma quantização ponderada na qual uma matriz de quantização é uti- lizada, e a segunda quantização pode ser uma quantização não pon- derada na qual nenhuma matriz de quantização é utilizada.
[0034] De acordo com isto, é possível utilizar a quantização não ponderada na qual nenhuma matriz de quantização é utilizada pode ser utilizada como a segunda quantização. Consequentemente, é pos- sível reduzir ou pular a quantidade de codificação de ou um processo para derivar uma matriz de quantização para a segunda quantização enquanto reduzindo a diminuição em qualidade de imagem subjetiva devido à utilização da primeira matriz de quantização para a primeira quantização como a segunda quantização.
[0035] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, a primeira quantização pode ser uma quantização ponderada que utiliza uma primeira matriz de quanti- zação, na transformada secundária, (i) coeficientes primários pondera- dos podem ser calculados multiplicando cada um dos coeficientes pri- mários por um valor de componente correspondente de uma matriz de ponderação, e (ii) os coeficientes primários ponderados podem ser transformados em coeficientes secundários, e na segunda quantiza- ção, cada um dos coeficientes secundários pode ser dividido por uma etapa de quantização comum entre os coeficientes secundários.
[0036] De acordo com isto, é possível calcular coeficientes primá- rios ponderados multiplicando cada um dos coeficientes primários por um valor de componente correspondente da matriz de ponderação. À ponderação relativa à quantização pode ser executada sobre os coefi- cientes primários antes de serem sujeitos à transformada secundária. Consequentemente, é possível executar uma quantização equivalente a uma quantização ponderada sem novamente preparar uma matriz de quantização que corresponde ao espaço secundário quando a trans- formada secundária deve ser executada. Como um resultado, é possí- vel aumentar a eficiência de codificação enquanto reduzindo a dimi- nuição em qualidade de imagem subjetiva.
[0037] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, o circuito pode derivar a matriz de ponderação da primeira matriz de quantização.
[0038] De acordo com isto, é possível derivar a matriz de pondera- ção da primeira matriz de quantização. Consequentemente, é possível reduzir a quantidade de codificação para a matriz de ponderação, o que torna possível reduzir a eficiência de codificação enquanto redu- zindo a diminuição em qualidade de imagem subjetiva.
[0039] Além disso, em um codificador de acordo com um aspecto da presente descrição, por exemplo, o circuito pode derivar a etapa de quantização comum de um parâmetro de quantização para o bloco corrente.
[0040] De acordo com isto, é possível derivar a etapa de quantiza- ção comum entre os coeficientes secundários do bloco corrente do pa- râmetro de quantização. Consequentemente, novas informações para a etapa de quantização comum podem ser incluídas em um fluxo codi- ficado, o que torna possível reduzir a quantidade de codificação para a etapa de quantização comum.
[0041] Um método de codificação de acordo com um aspecto da presente descrição é um método de codificação para codificar um blo- co corrente a ser codificado em uma imagem, o método de codificação inclui: executar uma transformada primária de resíduos do bloco cor- rente para coeficientes primários; determinar se uma transformada se- cundária deve ser aplicada ao bloco corrente; (i) calculando coeficien- tes primários quantizados executando uma primeira quantização sobre os coeficientes primários quando a transformada secundária não deve ser aplicada, (ii) executando uma transformada secundária dos coefi- cientes primários para coeficientes secundários, e calculando coefici- entes secundários quantizados executando uma quantização secundá- ria sobre os coeficientes secundários quando a transformada secundá- ria deve ser aplicada, a quantização secundária sendo diferente da primeira quantização; e gerando um fluxo de bits codificado codifican- do ou os coeficientes primários quantizados ou os coeficientes secun- dários quantizados.
[0042] De acordo com isto, é possível atingir os efeitos similares como providos pelo codificador.
[0043] Um codificador de acordo com um aspecto da presente descrição é um codificador o qual codifica um bloco corrente a ser co- dificado em uma imagem, o codificador inclui um circuito e memória. Utilizando a memória, o circuito: executa uma transformada primária sobre resíduos do bloco corrente para coeficientes primários; determi- na se uma transformada secundária dever ser aplicada ao bloco cor- rente; (i) calcula os primeiros coeficientes primários quantizados exe- cutando uma primeira quantização sobre os coeficientes primários quando a transformada secundária não deve ser aplicada, (ii) calcula os segundos coeficientes primários quantizados executando uma se- gunda quantização sobre os primeiros coeficientes, e executa uma transformada secundária dos segundos coeficientes primários quanti- zados para coeficientes secundários quantizados quando a transfor- mada secundária deve ser aplicada; e gera um fluxo de bits codificado codificando ou os coeficientes primários quantizados ou os coeficien- tes secundários quantizados.
[0044] De acordo com isto, como a quantização pode ser executa- da antes da transformada secundária, a transformada secundária pode ser excluída do loop de processo de predição quando o processo de transformada secundária é um processo sem perdas. Consequente- mente, a carga para a encadeamento de processamento pode ser re- duzida. Além disso, executar a quantização antes da transformada se- cundária elimina a necessidade de seletivamente utilizar a primeira matriz de quantização e a segunda matriz de quantização, o que torna possível simplificar o processo.
[0045] Um método de codificação de acordo com um aspecto da presente descrição é um método de codificação para codificar um blo- co corrente a ser codificado em uma imagem, o método de codificação inclui: executar uma transformada primária sobre resíduos do bloco corrente para coeficientes primários; determinar se uma transformada secundária deve ser aplicada ao bloco corrente; (i) calculando primei- ros coeficientes primários quantizados executando uma primeira quan- tização sobre os coeficientes primários quando a transformada secun- dária não deve ser aplicada, (ii) calculando segundos coeficientes pri- mários quantizados executando uma segunda quantização sobre os primeiros coeficientes, e executando uma transformada secundária dos segundos coeficientes primários quantizados para coeficientes se- cundários quantizados quando a transformada secundária deve ser aplicada; e gerando um fluxo de bits codificado codificando ou os coe- ficientes primários quantizados ou os coeficientes secundários quanti- zados.
[0046] De acordo com isto, é possível atingir os efeitos similares como providos pelo codificador.
[0047] Um decodificador de acordo com um aspecto da presente descrição é um decodificador o qual decodifica um bloco corrente a ser decodificado, o decodificador inclui um circuito e memória. Utilizando a memória, o circuito: decodifica os coeficientes quantizados de um blo- co corrente a ser decodificado de um fluxo de bits codificado; determi- na se uma transformada secundária inversa deve ser aplicada ao blo- co corrente; calcula coeficientes primários executando uma primeira quantização inversa sobre os coeficientes quantizados, e executa uma transformada primária inversa dos coeficientes primários a resíduos do bloco corrente quando a transformada secundária inversa não deve ser aplicada; e calcula coeficientes secundários executando a segunda quantização inversa sobre os coeficientes quantizados, executa uma transformada secundária inversa dos coeficientes secundários para coeficientes primários, e executa uma transformada primária inversa dos coeficientes primários a resíduos do bloco corrente quando a transformada secundária inversa deve ser aplicada.
[0048] De acordo com isto, é possível executar uma diferente quantização inversa dependendo da aplicação / não aplicação de uma transformada secundária inversa sobre o bloco corrente. Os coeficien- tes secundários obtidos executando uma transformada secundária de coeficientes primários representados em um espaço primário devem ser representados em um espaço secundário o qual não é o espaço primário. Por esta razão, é difícil aumentar a eficiência de codificação enquanto reduzindo a diminuição em qualidade de imagem subjetiva mesmo quando uma quantização inversa para os coeficientes primá- rios é aplicada nos coeficientes secundários. Por exemplo, uma quan- tização para reduzir as perdas de componentes de baixa frequência para reduzir a diminuição em qualidade de imagem subjetiva e aumen- tar perdas de componentes de alta frequência para aumentar a efici- ência de codificação é diferente entre o espaço primário e o espaço secundário. Em vista disto, é possível aumentar a eficiência de codifi- cação enquanto reduzindo a diminuição em qualidade de imagem sub- jetiva comparado com um caso de executar uma quantização inversa comum executando uma quantização inversa diferente dependendo da aplicação / não aplicação de uma transformada secundária inversa so- bre o bloco corrente.
[0049] Além disso, em um decodificador de acordo com um aspec- to da presente descrição, por exemplo, a primeira quantização inversa pode ser uma quantização inversa ponderada que utiliza uma primeira matriz de quantização, e a segunda quantização inversa pode ser uma quantização inversa ponderada que utiliza uma segunda matriz de quantização diferente da primeira matriz de quantização.
[0050] De acordo com isto, é possível executar uma quantização inversa ponderada utilizando a primeira matriz de quantização, como a primeira quantização inversa. Mais ainda, é possível executar uma quantização inversa ponderada utilizando a segunda matriz de quanti- zação diferente da primeira matriz de quantização, como a segunda quantização inversa. Consequentemente, é possível utilizar a primeira matriz de quantização que corresponde ao espaço primário na quanti- zação inversa para os coeficientes primários, e utilizar a segunda ma- triz de quantização que corresponde ao espaço secundário na quanti- zação inversa para os coeficientes secundários. Consequentemente, em tanto aplicação quanto não aplicação de uma transformada secun- dária inversa, é possível aumentar a eficiência de codificação enquan- to reduzindo a diminuição em qualidade de imagem subjetiva.
[0051] Além disso, em um decodificador de acordo com um aspec- to da presente descrição, por exemplo, o circuito pode analisar a pri- meira matriz de quantização e a segunda matriz de quantização do fluxo de bits codificado.
[0052] De acordo com isto, é possível incluir a primeira matriz de quantização e a segunda matriz de quantização no fluxo de bits codifi- cado. Consequentemente, é possível adaptavelmente determinar a primeira matriz de quantização e a segunda matriz de quantização de acordo com uma imagem original, e ainda aumentar a eficiência de codificação enquanto reduzindo a diminuição em qualidade de imagem subjetiva.
[0053] Além disso, em um decodificador de acordo com um aspec- to da presente descrição, por exemplo, os coeficientes secundários podem incluir um ou mais primeiros coeficientes secundários e um ou mais segundos coeficientes secundários, a transformada secundária inversa pode ser aplicada aos um ou mais primeiros coeficientes se- cundários e pode não ser aplicada aos um ou mais segundos coefici- entes secundários, a segunda matriz de quantização pode ter um ou mais primeiros valores de componente que correspondem aos um ou mais primeiros coeficientes secundários e um ou mais segundos valo- res de componente que correspondem aos um ou mais segundos coe- ficientes secundários, cada um dos um ou mais segundos valores de componente da segunda matriz de quantização pode coincidir com um correspondente de valores de componente da primeira matriz de quan- tização, e quando o circuito analisa a segunda matriz de quantização, o circuito pode analisar, do fluxo de bits codificado, somente os um ou mais primeiros valores de componente entre os um ou mais primeiros valores de componente e os um ou mais segundos valores de compo- nente.
[0054] De acordo com isto, é possível coincidir cada um dos um ou mais segundos valores de componente da segunda matriz de quanti- zação com o valor de componente correspondente da primeira matriz de quantização. Consequentemente, a necessidade de analisar os um ou mais segundos valores de componente da segunda matriz de quan- tização do fluxo de bits codificado é eliminada, o que torna possível aumentar a eficiência de codificação.
[0055] Além disso, em um decodificador de acordo com um aspec- to da presente descrição, por exemplo, na transformada secundária inversa, uma pluralidade de bases a qual foi determinada pode ser se- letivamente utilizada, o fluxo de bits codificado pode incluir uma plura- lidade de segundas matrizes de quantização que corresponde à plura- lidade de bases, e na segunda quantização inversa, uma segunda ma- triz de quantização que corresponde a uma base utilizada para a trans- formada secundária inversa pode ser selecionada da pluralidade de segundas matrizes de quantização.
[0056] As características do espaço secundário o qual representa os coeficientes secundários são diferentes dependendo da base a ser utilizada para transformada secundária inversa. Consequentemente, executando a segunda quantização inversa utilizando a segunda ma- triz de quantização que corresponde à base a ser utilizada para trans- formada secundária inversa, é possível executar uma segunda quanti- zação inversa utilizando a matriz de quantização mais adequada para o espaço secundário, e aumentar a eficiência de codificação enquanto reduzindo a diminuição em qualidade de imagem subjetiva.
[0057] Além disso, em um decodificador de acordo com um aspec- to da presente descrição, por exemplo, a primeira matriz de quantiza- ção e a segunda matriz de quantização podem ser definidas com an- tecedência em um padrão.
[0058] De acordo com isto, a primeira matriz de quantização e a segunda matriz de quantização são definidas com antecedência no padrão. Consequentemente, não é sempre necessário que a primeira matriz de quantização e a segunda matriz de quantização sejam inclu- ídas no fluxo de bits codificado, e assim é possível reduzir a quantida- de de codificação para a primeira matriz de quantização e a segunda matriz de quantização.
[0059] Além disso, em um decodificador de acordo com um aspec- to da presente descrição, por exemplo, o circuito pode derivar a se- gunda matriz de quantização da primeira matriz de quantização.
[0060] De acordo com isto, é possível derivar a segunda matriz de quantização da primeira matriz de quantização. Isto elimina a necessi- dade de receber a segunda matriz de quantização do codificador, o que torna possível aumentar a eficiência de codificação.
[0061] Além disso, em um decodificador de acordo com um aspec- to da presente descrição, por exemplo, os coeficientes secundários podem incluir um ou mais primeiros coeficientes primários e um ou mais segundos coeficientes primários, a transformada secundária in- versa pode ser aplicada aos um ou mais primeiros coeficientes secun- dários e pode não ser aplicada aos um ou mais segundos coeficientes secundários, a segunda matriz de quantização pode ter um ou mais primeiros valores de componente que correspondem aos um ou mais primeiros coeficientes secundários e um ou mais segundos valores de componente que correspondem aos um ou mais segundos coeficien-
tes secundários, cada um dos um ou mais segundos valores de com- ponente da segunda matriz de quantização pode coincidir com um cor- respondente de valores de componente da primeira matriz de quanti- zação, e quando o circuito deriva a segunda matriz de quantização, o circuito pode derivar somente os um ou mais primeiros valores de componente da primeira matriz de quantização.
[0062] De acordo com isto, é possível coincidir cada um dos um ou mais segundos valores de componente da segunda matriz de quanti- zação com o valor de componente correspondente da primeira matriz de quantização. Isto elimina a necessidade de derivar os um ou mais segundos valores de componente da segunda matriz de quantização, o que permite redução em carga de processamento.
[0063] Além disso, em um decodificador de acordo com um aspec- to da presente descrição, por exemplo, a segunda matriz de quantiza- ção pode ser derivada aplicando uma transformada secundária na primeira matriz de quantização.
[0064] De acordo com isto, é possível derivar a segunda matriz de quantização aplicando uma transformada secundária na primeira ma- triz de quantização. Consequentemente, é possível transformar a pri- meira matriz de quantização que corresponde ao espaço primário na segunda matriz de quantização que corresponde à transformada se- cundária, o que torna possível aumentar a eficiência de codificação enquanto reduzindo a diminuição em qualidade de imagem subjetiva.
[0065] Além disso, em um decodificador de acordo com um aspec- to da presente descrição, por exemplo, o circuito pode: derivar uma terceira matriz de quantização da primeira matriz de quantização, a terceira matriz de quantização tendo valores de componente os quais são maiores quando os valores de componente correspondentes da primeira matriz de quantização são menores; derivar uma quarta ma- triz de quantização aplicando uma transformada secundária na terceira matriz de quantização, e derivar, como a segunda matriz de quantiza- ção, uma quinta matriz de quantização da quarta matriz de quantiza- ção, a quinta matriz de quantização tendo valores de componente os quais são maiores quando os valores de componente correspondentes da quarta matriz de quantização são menores.
[0066] De acordo com isto, é possível reduzir a influência de erro de arredondamento no tempo de uma transformada secundária para componentes que têm um valor relativamente pequeno incluídos na primeira matriz de quantização. Em outras palavras, é possível reduzir a influência do erro de arredondamento sobre os valores de compo- nente a serem aplicados a coeficientes para os quais perdas são dese- jadas serem pequenas de modo a reduzir a diminuição em qualidade de imagem subjetiva. Consequentemente, é possível adicionalmente reduzir a diminuição em qualidade de imagem subjetiva.
[0067] Além disso, em um decodificador de acordo com um aspec- to da presente descrição, por exemplo, os valores de componente da terceira matriz de quantização podem ser recíprocos dos valores de componente correspondentes da primeira matriz de quantização, e os valores de componente da quinta matriz de quantização podem ser recíprocos dos valores de componente correspondentes da quarta ma- triz de quantização.
[0068] De acordo com isto, os recíprocos dos valores de compo- nente correspondentes da primeira matriz de quantização / da quarta matriz de quantização podem ser utilizados como os valores de com- ponente da terceira matriz de quantização / da quinta matriz de quanti- zação. Consequentemente, é possível derivar os valores de compo- nente por um simples cálculo, o que torna possível reduzir a carga de processamento e tempo de processamento para derivar a segunda matriz de quantização.
[0069] Além disso, em um decodificador de acordo com um aspec-
to da presente descrição, por exemplo, a primeira quantização inversa pode ser uma quantização inversa ponderada na qual uma matriz de quantização é utilizada, e a segunda quantização inversa pode ser uma quantização inversa não ponderada na qual nenhuma matriz de quantização é utilizada.
[0070] De acordo com isto, é possível utilizar a quantização inver- sa não ponderada na qual nenhuma matriz de quantização é utilizada pode ser utilizada como a segunda quantização inversa. Consequen- temente, é possível reduzir ou pular a quantidade de codificação de ou um processo para derivar uma matriz de quantização para a segunda quantização enquanto reduzindo a diminuição em qualidade de ima- gem subjetiva devido à utilização da primeira matriz de quantização para a primeira quantização inversa como a segunda quantização in- versa.
[0071] Além disso, em um decodificador de acordo com um aspec- to da presente descrição, por exemplo, a primeira quantização inversa pode ser uma quantização inversa ponderada que utiliza uma primeira matriz de quantização, na segunda transformada inversa, os coeficien- tes secundários podem ser calculados multiplicando cada um dos coe- ficientes quantizados por uma etapa de quantização comum entre os coeficientes quantizados, e na segunda quantização inversa, os coefi- cientes primários podem ser calculados (i) executando uma transfor- mada inversa sobre os coeficientes secundários para coeficientes pri- mários ponderados, e (ii) dividindo cada um dos coeficientes primários ponderados por um valor de componente correspondente de uma ma- triz de ponderação.
[0072] De acordo com isto, é possível calcular coeficientes primá- rios dividindo cada um dos coeficientes primários ponderados por um valor de componente correspondente da matriz de ponderação. Em outras palavras, a ponderação relativa à quantização pode ser execu-
tada sobre os coeficientes primários antes de serem sujeitos à trans- formada secundária. Consequentemente, é possível executar uma quantização inversa equivalente a uma quantização inversa ponderada sem novamente preparar uma matriz de quantização que corresponde ao espaço secundário quando a transformada secundária inversa deve ser executada. Como um resultado, é possível aumentar a eficiência de codificação enquanto reduzindo a diminuição em qualidade de ima- gem subjetiva.
[0073] Além disso, em um decodificador de acordo com um aspec- to da presente descrição, por exemplo, o circuito pode derivar a matriz de ponderação da primeira matriz de quantização.
[0074] De acordo com isto, é possível derivar a matriz de pondera- ção da primeira matriz de quantização. Consequentemente, é possível reduzir a quantidade de codificação para a matriz de ponderação, o que torna possível reduzir a eficiência de codificação enquanto redu- zindo a diminuição em qualidade de imagem subjetiva.
[0075] Além disso, em um decodificador de acordo com um aspec- to da presente descrição, por exemplo, o circuito pode derivar a etapa de quantização comum de um parâmetro de quantização para o bloco corrente.
[0076] De acordo com isto, é possível derivar a etapa de quantiza- ção comum entre os coeficientes secundários do bloco corrente do pa- râmetro de quantização. Consequentemente, novas informações para a etapa de quantização comum podem não ser incluídas em um fluxo codificado, o que torna possível reduzir a quantidade de codificação para a etapa de quantização comum.
[0077] Um método de decodificação de acordo com um aspecto da presente descrição é um método de decodificação para decodificar um bloco corrente a ser decodificado em uma imagem, o método de deco- dificação incluindo: decodificar coeficientes quantizados do bloco cor-
rente de um fluxo de bits codificado; determinar se uma transformada secundária inversa deve ser aplicada ao bloco corrente; calcular coefi- cientes primários executando uma primeira quantização inversa sobre os coeficientes quantizados, e executar uma transformada primária inversa dos coeficientes primários a resíduos do bloco corrente quan- do a transformada secundária inversa não deve ser aplicada; e calcu- lar coeficientes secundários executando uma segunda quantização inversa sobre os coeficientes quantizados, executar uma transformada secundária inversa dos coeficientes secundários para coeficientes pri- mários, e executar uma transformada primária inversa dos coeficientes primários a resíduos do bloco corrente quando a transformada secun- dária inversa deve ser aplicada.
[0078] De acordo com isto, é possível atingir os efeitos similares como providos pelo decodificador.
[0079] Um decodificador de acordo com um aspecto da presente descrição é um decodificador o qual decodifica um bloco corrente a ser decodificado em uma imagem, o decodificador inclui um circuito e memória. Utilizando a memória, o circuito: decodifica coeficientes quantizados do bloco corrente de um fluxo de bits codificado; determi- na se uma transformada secundária inversa deve ser aplicada ao blo- co corrente; calcula coeficientes primários executando uma primeira quantização inversa sobre os coeficientes quantizados, e executa uma transformada primária inversa dos coeficientes primários a resíduos do bloco corrente quando a transformada secundária inversa não deve ser aplicada; e executa uma transformada secundária inversa dos coe- ficientes quantizados para coeficientes primários quantizados, calcula coeficientes primários executando uma quantização inversa secundá- ria sobre os coeficientes primários quantizados, e executa uma trans- formada primária inversa dos coeficientes primários a resíduos do blo- co corrente quando a transformada secundária inversa deve ser apli-
cada.
[0080] De acordo com isto, como a quantização pode ser executa- da antes da transformada secundária, uma transformada secundária pode ser excluída do loop de processo de predição no codificador quando o processo de transformada secundária é um processo sem perdas. Consequentemente, a carga para o encadeamento de proces- samento pode ser reduzida. Além disso, executar uma quantização antes da transformada secundária elimina a necessidade de seletiva- mente utilizar a primeira matriz de quantização e a segunda matriz de quantização, o que torna possível simplificar o processo.
[0081] Um método de decodificação de acordo com um aspecto da presente descrição é um método de decodificação para decodificar um bloco corrente a ser decodificado em uma imagem, o método de deco- dificação inclui: decodificar coeficientes quantizados de um bloco cor- rente a ser decodificado de um fluxo de bits codificado; determinar se uma transformada secundária inversa deve ser aplicada ao bloco cor- rente; calcular coeficientes primários executando uma primeira quanti- zação inversa sobre os coeficientes quantizados, e executar uma transformada primária inversa dos coeficientes primários a resíduos do bloco corrente quando a transformada secundária inversa não deve ser aplicada; e executar uma transformada secundária inversa dos co- eficientes quantizados para coeficientes primários quantizados, calcu- lar coeficientes primários executando uma segunda quantização inver- sa sobre os coeficientes primários quantizados, e executar uma trans- formada primária inversa dos coeficientes primários a resíduos do blo- co corrente quando a transformada secundária inversa deve ser apli- cada.
[0082] De acordo com isto, é possível atingir os efeitos similares como providos pelo decodificador.
[0083] Deve ser notado que estes aspectos gerais e específicos podem ser implementados utilizando um sistema, um circuito integra- do, um programa de computador, ou um meio de gravação legível por computador tal como a CD-ROM, ou qualquer combinação de siste- mas, métodos, circuitos integrados, programas de computador, ou meios de gravação legíveis por computador.
[0084] Daqui em diante, modalidades estão descritas em detalhes com referência aos desenhos.
[0085] Deve ser notado que as modalidades abaixo descritas cada uma mostra um exemplo geral ou específico. Os valores numéricos, formas, materiais, elementos constituintes, e disposição e conexão dos elementos constituintes, etapas, ordem das etapas, etc., indicados nas modalidades seguintes são meramente exemplos e, portanto, não pre- tendem limitar o escopo das reivindicações. Portanto, entre os elemen- tos constituintes nas seguintes modalidades, aqueles não recitados em nenhuma das reivindicações independentes que definem os conceitos inventivos mais genéricos estão descritos como elementos constituin- tes opcionais. MODALIDADE 1
[0086] Primeiro, um esboço da Modalidade 1 será apresentado. Modalidade 1 é um exemplo de um codificador e um decodificador aos quais os processos e/ou configurações apresentados em uma descri- ção subsequente de aspectos da presente descrição são aplicáveis. Note que a Modalidade 1 é meramente um exemplo de um codificador e um decodificador aos quais os processos e/ou configurações apre- sentados na descrição de aspectos da presente descrição são aplicá- veis. Os processos e/ou configurações apresentados na descrição de aspectos da presente descrição podem também ser implementados em um codificador e um decodificador diferentes daqueles de acordo com a Modalidade 1.
[0087] Quando os processos e/ou configurações apresentados na descrição de aspectos da presente descrição são aplicados na Moda- lidade 1, por exemplo, qualquer dos seguintes pode ser executado.
[0088] (1) referindo ao codificador ou ao decodificador de acordo com a Modalidade 1, entre os componentes incluídos no codificador ou no decodificador de acordo com a Modalidade 1, substituir um compo- nente que corresponde ao componente apresentado na descrição de aspectos da presente descrição por um componente apresentado na descrição de aspectos da presente descrição;
[0089] (2) referindo ao codificador ou ao decodificador de acordo com a Modalidade 1, implementar mudanças arbitrárias a funções ou processos implementados executados por um ou mais componentes incluídos no codificador ou no decodificador de acordo com a Modali- dade 1, tal como adição, substituição, ou remoção, etc., de tais fun- ções ou processos implementados, então substituir um componente que corresponde a um componente apresentado na descrição de as- pectos da presente descrição por um componente apresentado na descrição de aspectos da presente descrição;
[0090] (3) referindo ao método implementado pelo codificador ou o decodificador de acordo com a Modalidade 1, implementar mudanças arbitrárias tal como adição de processos e/ou substituição, remoção de um ou mais processos incluídos no método, e então substituir um pro- cesso que corresponde a um processo apresentado na descrição de aspectos da presente descrição por um processo apresentado na des- crição de aspectos da presente descrição;
[0091] (4) combinar um ou mais componentes incluídos no codifi- cador ou o decodificador de acordo com a Modalidade 1 com um com- ponente apresentado na descrição de aspectos da presente descrição, um componente que inclui uma ou mais funções incluídas em um componente apresentado na descrição de aspectos da presente des- crição, ou a componente que implementa um ou mais processos im-
plementados por um componente apresentado na descrição de aspec- tos da presente descrição;
[0092] (5) combinar um componente que inclui uma ou mais fun- ções incluídas nos um ou mais componentes incluídos no codificador ou o decodificador de acordo com a Modalidade 1, ou um componente que implementa um ou mais processos implementados por um ou mais componentes incluídos no codificador ou no decodificador de acordo com a Modalidade 1 com um componente apresentado na des- crição de aspectos da presente descrição, a componente que inclui uma ou mais funções incluídas em um componente apresentado na descrição de aspectos da presente descrição, ou um componente que implementa um ou mais processos implementados por um componen- te apresentado na descrição de aspectos da presente descrição;
[0093] (6) referindo ao método implementado pelo codificador ou o decodificador de acordo com a Modalidade 1, entre os processos in- cluídos no método, substituir um processo que corresponde a um pro- cesso apresentado na descrição de aspectos da presente descrição por um processo apresentado na descrição de aspectos da presente descrição; e
[0094] (7) combinar um ou mais processos incluídos no método implementado por o codificador ou o decodificador de acordo com a Modalidade 1 com um processo apresentado na descrição de aspec- tos da presente descrição.
[0095] Note que a implementação dos processos e/ou configura- ções apresentados na descrição de aspectos da presente descrição não está limitado aos exemplos acima. Por exemplo, a processos e/ou configurações apresentados na descrição de aspectos da presente descrição podem ser implementados em um dispositivo utilizado para um propósito diferente do codificador de imagem móvel / imagem ou do decodificador de imagem móvel / imagem descrito na Modalidade
1. Mais ainda, os processos e/ou configurações apresentados na des- crição de aspectos da presente descrição podem ser independente- mente implementados. Mais ainda, processos e/ou configurações des- critos em diferentes aspectos podem ser combinados. Esboço de Codificador
[0096] Primeiro, o codificador de acordo com a Modalidade 1 será esboçado. A Figura 1 é um diagrama de blocos que ilustra uma confi- guração funcional do codificador 100 de acordo com a Modalidade 1. O codificador 100 é um codificador de imagem móvel / imagem que codifica uma imagem móvel / imagem bloco por bloco.
[0097] Como ilustrado na Figura 1, codificador 100 é um dispositi- vo que codifica uma imagem bloco por bloco, e inclui um divisor 102, subtrator 104, transformador 106, quantizador 108, codificador de en- tropia 110, quantizador inverso 112, transformador inverso 114, soma- dor 116, memória de bloco 118, filtro de loop 120, memória de quadro 122, intrapreditor 124, interpreditor 126, e controlador de predição 128.
[0098] O codificador 100 é realizado como, por exemplo, um pro- cessador e memória genéricos. Neste caso, quando um programa de software armazenado na memória é executado pelo processador, o processador funciona como o divisor 102, subtrator 104, transformador 106, quantizador 108, codificador de entropia 110, quantizador inverso 112, transformador inverso 114, somador 116, filtro de loop 120, intra- preditor 124, interpreditor 126, e controlador de predição 128. Alterna- tivamente, codificador 100 pode ser realizado como um ou mais circui- tos eletrônicos dedicados que correspondem ao divisor 102, subtrator 104, transformador 106, quantizador 108, codificador de entropia 110, quantizador inverso 112, transformador inverso 114, somador 116, fil- tro de loop 120, intrapreditor 124, interpreditor 126, e controlador de predição 128.
[0099] Daqui em diante, cada componente incluído no codificador
100 será descrito. Divisor
[00100] O divisor 102 divide cada imagem incluída em uma imagem móvel inserida em blocos, e emite cada bloco para o subtrator 104. Por exemplo, o divisor 102 primeiro divide uma imagem em blocos de um tamanho fixo (por exemplo, 128x128). O bloco de tamanho fixo é também referido como unidade de árvore de codificação (CTU). O di- visor 102 então divide cada bloco de tamanho fixo em blocos de tama- nhos variáveis (por exemplo, 64x64 ou menor), com base em divisão de bloco de quadtree recursivo e/ou árvore binária. O bloco de tama- nho variável é também referido como uma unidade de codificação (CU), uma unidade de predição (PU), ou uma unidade de transformada (TU). Note que nesta modalidade, não há necessidade de diferenciar entre CU, PU, e TU; todos ou alguns dos blocos em uma imagem po- dem ser processados por CU, PU, ou TU.
[00101] A Figura 2 ilustra um exemplo de divisão de bloco de acor- do com a Modalidade 1. Na Figura 2, as linhas cheias representam limites de bloco de blocos divididos por divisão de bloco de quadtree, e as linhas tracejadas representam limites de bloco de blocos divididos por divisão de bloco de árvore binária.
[00102] Aqui, o bloco 10 é um bloco de 128x128 pixels quadrado (bloco 128x128). Este bloco 128x128 10 é primeiro dividido em quatro blocos 64*64 quadrados (divisão de bloco quadtree).
[00103] O bloco 64x64 superior esquerdo é adicionalmente verti- calmente dividido em dois blocos 32x64 retangulares, e o bloco 32x64 esquerdo é adicionalmente verticalmente dividido em dois blocos 16*x64 retangulares (divisão de bloco de árvore binária). Como um re- sultado, o bloco 64x64 superior esquerdo é dividido em dois blocos 16x64 11 e 12 e um bloco 32x64 13.
[00104] O bloco 64*64 superior direito é horizontalmente dividido em dois blocos 64*32 retangulares 14 e 15 (divisão de bloco de árvore binária).
[00105] O bloco 64*64 inferior esquerdo é primeiro dividido em qua- tro blocos 32x32 quadrados (divisão de bloco quadtree). O bloco supe- rior esquerdo e o bloco inferior direito entre os quatro blocos 32x32 são adicionalmente divididos. O bloco 32x32 superior esquerdo é ver- ticalmente dividido em dois blocos 16x32 retangulares, e o bloco 16x32 direito é adicionalmente horizontalmente dividido em dois blo- cos 16x16 (divisão de bloco de árvore binária). O bloco 32x32 inferior direito é horizontalmente dividido em dois blocos 32x16 (divisão de bloco de árvore binária). Como um resultado, o bloco 64*64 inferior esquerdo é dividido no bloco 16x32 16, dois blocos 16x16 17 e 18, dois blocos 32x32 19 e 20, e dois blocos 32x16 21 e 22.
[00106] O bloco 64*64 inferior direito 23 não é dividido.
[00107] Como acima descrito, na Figura 2, o bloco 10 é dividido em 13 blocos de tamanho variável 11 até 23 com base em divisão de blo- co de quadtree recursivo e árvore binária. Este tipo de divisão é tam- bém referido como divisão quadtree mais árvore binária (QTBT).
[00108] Note que na Figura 2, um bloco é dividido em quatro ou dois blocos (divisão de bloco quadtree ou de árvore binária), mas a divisão não está limitada a este exemplo. Por exemplo, um bloco pode ser dividido em três blocos (divisão de bloco ternária). A divisão que inclui tal divisão de bloco ternária é também referida como divisão de árvore de múltiplos tipos (MBT). Subtrator
[00109] O subtrator 104 subtrai um sinal de predição (amostra de predição) de um sinal original (amostra original) por bloco dividido pelo divisor 102. Em outras palavras, o subtrator 104 calcula erros de pre- dição (também referidos como resíduos) de um bloco a ser codificado (daqui em diante referido como como um bloco corrente). O subtrator
104 então emite os erros de predição calculados para o transformador
106.
[00110] O sinal original é um sinal inserido no codificador 100, e é um sinal que representa uma imagem para cada imagem incluída em uma imagem móvel (por exemplo, um sinal luma e dois sinais croma). Daqui em diante, um sinal que representa uma imagem é também re- ferido como uma amostra. Transformador
[00111] O transformador 106 transforma erros de predição de do- mínio espacial em coeficientes de transformada de domínio de fre- quência, e emite os coeficientes de transformada para o quantizador
108. Mais especificamente, o transformador 106 aplica, por exemplo, uma transformada de cosseno discreta (DCT) ou transformada de se- no discreta (DST) predefinidas a erros de predição de domínio espaci- al.
[00112] Note que o transformador 106 pode adaptavelmente seleci- onar um tipo de transformada dentre uma pluralidade de tipos de transformada, e transforma erros de predição em coeficientes de trans- formada utilizando uma função de base de transformada que corres- ponde ao tipo de transformada selecionado. Este tipo de transformada é também referido como transformada de núcleo múltipla (EMT) ou transformada múltipla adaptável (AMT) explícitas.
[00113] Os tipos de transformada incluem, por exemplo, DCT-II, DCT-V, DCT-VIII, DST-I, e DST-VII. A Figura 3 é um gráfico que indica funções de base de transformada para cada tipo de transformada. Na Figura 3, N indica o número de pixels de entrada. Por exemplo, a sele- ção de um tipo de transformada dentre a pluralidade de tipos de trans- formada pode depender do tipo de predição (intrapredição e interpre- dição), e pode depender do modo de intrapredição.
[00114] As informações que indicam se aplicar tal EMT ou AMT (re-
feridas como, por exemplo, um sinalizador de AMT) e informações que indicam o tipo de transformada selecionado são sinalizadas no nível de CU. Note que a sinalização de tais informações não precisa ser executada no nível de CU, e pode ser executada em outro nível (por exemplo, no nível de sequência, nível de imagem, nível de fatia, nível lado a lado, ou nível de CTU).
[00115] Mais ainda, o transformador 106 pode aplicar uma trans- formada secundária nos coeficientes de transformada (resultado de transformada). Tal transformada secundária é também referida como transformada secundária adaptável (AST) ou transformada secundária não separável (NSST). Por exemplo, o transformador 106 aplica uma transformada secundária a cada sub-bloco (por exemplo, cada sub- bloco 4x4) incluído no bloco dos coeficientes de transformada que cor- respondem aos erros de intrapredição. As informações que indica se aplicar NSST e informações relativas à matriz de transformada utiliza- das em NSST são sinalizadas no nível de CU. Note que a sinalização de tais informações não precisa ser executada no nível de CU, e po- dem ser executadas em outro nível (por exemplo, no nível de sequên- cia, nível de imagem, nível de fatia, nível lado a lado, ou nível de CTU).
[00116] Aqui, uma transformada separável é um método no qual uma transformada é executada uma pluralidade de vezes separada- mente executando uma transformada para cada direção de acordo com o número de dimensões inserido. Uma transformada não separá- vel é um método de executar uma transformada coletiva na qual duas ou mais dimensões em uma entrada multidimensional são coletiva- mente consideradas como uma única dimensão.
[00117] Em um exemplo de uma transformada não separável, quando a entrada é um bloco 4*4, o bloco 4x4 é considerado como uma única rede que inclui 16 componentes, e a transformada aplicada uma matriz de transformada 16x16 na rede.
[00118] Mais ainda, similar ao acima, após um bloco 4*4 inserido ser considerado uma única rede que inclui 16 componentes, uma transformada que executa uma pluralidade de rotações Givens sobre a rede (isto é, uma Transformada Hypercube-Givens) é também um exemplo de uma transformada não separável. Quantizador
[00119] O quantizador 108 quantiza os coeficientes de transforma- da emitidos do transformador 106. Mais especificamente, o quantiza- dor 108 escaneia, em uma ordem de escaneamento predeterminada, os coeficientes de transformada do bloco corrente, e quantiza os coefi- cientes de transformada escaneados com base em parâmetros de quantização (QP que correspondem aos coeficientes de transformada. O quantizador 108 então emite os coeficientes de transformada quan- tizados (daqui em diante referidos como os coeficientes quantizados) do bloco corrente para o codificador de entropia 110 e quantizador in- verso 112.
[00120] Uma ordem predeterminada é uma ordem para quantização / quantização inversa de coeficientes de transformada. Por exemplo, uma ordem de escaneamento predeterminada é definida como ordem de frequência ascendente (de baixa para alta frequência) ou ordem de frequência descendente (de alta para baixa frequência).
[00121] Um parâmetro de quantização é um parâmetro que define um tamanho de etapa de quantização (largura de quantização). Por exemplo, se o valor do parâmetro de quantização aumenta, o tamanho de etapa de quantização também aumenta. Em outras palavras, se o valor do parâmetro de quantização aumenta, o erro de quantização aumenta. Codificador de Entropia
[00122] O codificador de entropia 110 gera um sinal codificado (flu-
xo de bits codificado) codificando por comprimento variável coeficien- tes quantizados, os quis são entradas do quantizador 108. Mais espe- cificamente, o codificador de entropia 110, por exemplo, binariza coefi- cientes quantizados e codifica em aritmética o sinal binário. Quantizador inverso
[00123] O quantizador inverso 112 quantiza inverso coeficientes quantizados, os quais são entradas do quantizador 108. Mais especifi- camente, o quantizador inverso 112 quantiza inverso, em uma ordem de escaneamento predeterminada, coeficientes quantizados do bloco corrente. O quantizador inverso 112 então emite os coeficientes de transformada quantizados inverso do bloco corrente para o transfor- mador inverso 114. Transformador Inverso
[00124] O transformador inverso 114 restaura erros de predição transformando inverso coeficientes de transformada, os quais são en- tradas do quantizador inverso 112. Mais especificamente, o transfor- mador inverso 114 restaura os erros de predição do bloco corrente aplicando uma transformada inversa que corresponde à transformada aplicada pelo transformador 106 sobre os coeficientes de transforma- da. O transformador inverso 114 então emite os erros de predição res- taurados para o somador 116.
[00125] Note que como informações são perdidas em quantização, os erros de predição restaurados não coincidem com os erros de pre- dição calculados pelo subtrator 104. Em outras palavras, os erros de predição restaurados incluem erros de quantização. Somador
[00126] O somador 116 reconstrói o bloco corrente somando erros de predição, os quais são entradas do transformador inverso 114, e amostras de predição, as quais são entradas do controlador de predi- ção 128. O somador 116 então emite o bloco reconstruído para a me-
mória de bloco 118 e filtro de loop 120. Um bloco reconstruído é tam- bém referido como um bloco decodificado local. Memória de bloco
[00127] A memória de bloco 118 é um armazenamento para arma- zenar blocos em uma imagem a ser codificada (daqui em diante referi- da como como uma imagem corrente) para referência em intrapredi- ção. Mais especificamente, a memória de bloco 118 armazena os blo- cos reconstruídos emitidos do somador 116. Filtro de loop
[00128] O ffiltrode loop 120 aplica um filtro de loop a blocos recons- truídos pelo somador 116, e emite os blocos reconstruídos filtrados para a memória de quadro 122. Um filtro de loop é um filtro utilizado em um loop de codificação (filtro em loop), e inclui, por exemplo, um filtro de desbloqueio (DF), um deslocamento adaptável de amostra (SAO), e um filtro de loop adaptável (ALF).
[00129] Em ALF, um filtro de erro de menor quadrado para remover artefatos de compressão é aplicado. Por exemplo, um filtro dentre uma pluralidade de filtros é selecionado para cada sub-bloco 2x2 no bloco corrente com base em direção e atividade de gradientes locais, e é aplicado.
[00130] Mais especificamente, primeiro, cada sub-bloco (por exem- plo, cada sub-bloco 2x2) é categorizado em um dentre uma pluralida- de de classes (por exemplo, 15 ou 25 classes). A classificação do sub- bloco está baseada em direcionalidade e atividade de gradiente. Por exemplo, o índice de classificação C é derivado com base em direcio- nalidade de gradiente D (por exemplo, O a 2 ou 0 a 4) e atividade de gradiente A (por exemplo, O a 4) (por exemplo, C = 5D + A). Então, com base no índice de classificação C, cada sub-bloco é categorizado em uma dentre uma pluralidade de classes (por exemplo, 15 ou 25 classes).
[00131] Por exemplo, a direcionalidade de gradiente D é calculada comparando gradientes de uma pluralidade de direções (por exemplo, as direções horizontal, vertical, e duas diagonais). Mais ainda, por exemplo, a atividade de gradiente A é calculada somando gradientes de uma pluralidade de direções e quantizando a soma.
[00132] O ffilttoa ser utiizado para cada sub-bloco é determinado dentre a pluralidade de filtros com base no resultado de tal categoriza- ção.
[00133] A forma de filtro a ser utilizado em ALF é, por exemplo, uma forma de filtro simétrica circular. A Figura 4A até 4C ilustram exemplos de formas de filtro utilizadas em ALF. A Figura 4A ilustra 5 filtro de forma de diamante 5x5, a Figura 4B ilustra um filtro de forma de dia- mante 7x7, e a Figura 4C ilustra um filtro de forma de diamante 9x9. As informações que indica a forma de filtro são sinalizadas no nível de imagem. Note que a sinalização de informações que indicam a forma de filtro não precisa ser executada no nível de imagem, e pode ser executada em outro nível (por exemplo, no nível de sequência, nível de fatia, nível lado a lado, nível de CTU, ou nível de CU).
[00134] A habilitação ou desabilitação da ALF é determinada no ní- vel de imagem ou nível de CU. Por exemplo, para luma, a decisão de aplicar ALF ou não é tomada no nível de CU, e para croma, a decisão de aplicar ALF ou não é feita no nível de imagem. As informações que indicam se o ALF está habilitado ou desabilitado são sinalizadas no nível de imagem ou nível de CU. Note que a sinalização de informa- ções que indicam se ALF está habilitado ou desabilitado não precisa ser executada no nível de imagem ou nível de CU, e pode ser execu- tada em outro nível (por exemplo, no nível de sequência, nível de fatia, nível lado a lado, ou nível de CTU).
[00135] Os coeficientes ajustados para a pluralidade de filtros sele- cionáveis (por exemplo, 15 ou 25 filtros) são sinalizados no nível de imagem. Note que a sinalização dos coeficientes ajustados não preci- sa ser executada no nível de imagem, e pode ser executada em outro nível (por exemplo, no nível de sequência, nível de fatia, nível lado a lado, nível de CTU, nível de CU, ou nível de sub-bloco). Memória de Quadro
[00136] A memória de quadro 122 é um armazenamento para ar- mazenar imagens de referência utilizadas em interpredição, e é tam- bém referida como a armazenamento temporário de quadro. Mais es- pecificamente, a memória de quadro 122 armazena blocos reconstruí- dos filtrados pelo filtro de loop 120. Intrapreditor
[00137] O intrapreditor 124 gera um sinal de predição (sinal de in- trapredição) intrapredizendo o bloco corrente com referência a um blo- co ou blocos na imagem corrente e armazenado na memória de bloco 118 (também referido como predição intraquadro). Mais especifica- mente, o intrapreditor 124 gera um sinal de intrapredição por intrapre- dição com referência a amostras (por exemplo, valores de luma e/ou croma) de um bloco ou blocos vizinhos ao bloco corrente, e então emi- te o sinal de intrapredição para o controlador de predição 128.
[00138] Por exemplo, intrapreditor 124 executa intrapredição utili- zando um modo dentre uma pluralidade de modos de intrapredição predefinidos. Os modos de intrapredição incluem um ou mais modos de predição não direcional e uma pluralidade de modos de predição direcional.
[00139] Os um ou maismodos de predição não direcional incluem, por exemplo, modo de predição plana e modo de predição DC defini- dos no padrão H.265/codificação de vídeo de alta eficiência (HEVC) (ver NPL 1).
[00140] A pluralidade de modos de predição direcional inclui, por exemplo, os 33 modos de predição direcional definidos no padrão
H.265/HEVC. Note que a pluralidade de modos de predição direcional pode ainda incluir 32 modos de predição direcional além dos 33 modos de predição direcional (para um total de 65 modos de predição direcio- nal). A Figura 5A ilustra 67 modos de intrapredição utilizados em intra- predição (dois modos de predição não direcional e 65 modos de predi- ção direcional). As setas cheias representam as 33 direções definidas no padrão H.265/HEVC, e as setas tracejadas representam as 32 dire- ções adicionais.
[00141] Note que um bloco de luma pode ser referido em intrapredi- ção de bloco de croma. Em outras palavras, um componente de croma do bloco corrente pode ser predito com base em um componente de luma do bloco corrente. Tal intrapredição é também referida como uma predição de modelo linear de componente cruzado (CCLM). Tal modo intrapredição de bloco de croma que referencia um bloco de luma (re- ferido como, por exemplo, modo de CCLM) pode ser adicionado como um dos modos de intrapredição de bloco de croma.
[00142] O intrapreditor 124 pode corrigir valores de pixel de pós- intrapredição com base em gradientes de pixel de referência horizon- tais / verticais. A intrapredição acompanhada por este tipo de correção é também referida como combinação de intrapredição dependente de posição (PDPC). As informações que indicam se aplicar PDPC ou não (referidas como, por exemplo, um sinalizador de PDPC) são, por exemplo, sinalizadas no nível de CU. Note que a sinalização destas informações não precisa ser executada no nível de CU, e pode ser executada em outro nível (por exemplo, no nível de sequência, nível de imagem, nível de fatia, nível lado a lado, ou nível de CTU). Interpreditor
[00143] O interpreditor 126 gera um sinal de predição (sinal de in- terpredição) interpredizendo o bloco corrente com referência a um blo- co ou blocos em uma imagem de referência, a qual é diferente da ima-
gem corrente e é armazenada na memória de quadro 122 (também referida como predição de interquadros). A interpredição é executada por bloco corrente ou por sub-bloco (por exemplo, por bloco 4x4) no bloco corrente. Por exemplo, o interpreditor 126 executa estimativa de movimento em uma imagem de referência para o bloco corrente ou sub-bloco. O interpreditor 126 então gera um sinal de interpredição do bloco corrente ou sub-bloco por compensação de movimento utilizan- do informações de movimento (por exemplo, um vetor de movimento) obtidas de estimativa de movimento. O interpreditor 126 então emite o sinal de interpredição gerado para o controlador de predição 128.
[00144] As informações de movimento utilizadas em compensação de movimento são sinalizadas. Um preditor de vetor de movimento po- de ser utilizado para a sinalização do vetor de movimento. Em outras palavras, a diferença entre o vetor de movimento e o preditor de vetor de movimento pode ser sinalizada.
[00145] Note que o sinal de interpredição pode ser gerado utilizan- do informações de movimento para um bloco vizinho além de informa- ções de movimento para o bloco corrente obtidas de estimativa de movimento. Mais especificamente, o sinal de interpredição poder ser gerado por sub-bloco no bloco corrente calculando uma soma ponde- rada de um sinal de predição com base em informações de movimento obtidas de estimativa de movimento e um sinal de predição com base em informações de movimento para um bloco vizinho. Tal interpredi- ção (compensação de movimento) é também referida como compen- sação de movimento de bloco sobreposto (OBMC).
[00146] Em :talde modo de OBMC, as informações que indicam o tamanho de sub-bloco para OBMC (referido como, por exemplo, tama- nho de bloco de OBMC) são sinalizadas no nível de sequência. Mais ainda, as informações que indicam se aplicar o modo de OBMC ou não (referido como, por exemplo, um sinalizador de OBMC) são sinali-
zadas no nível de CU. Note que a sinalização de tais informações não precisa ser executada no nível de sequência e nível de CU, e pode ser executada em outro nível (por exemplo, no nível de imagem, nível de fatia, nível lado a lado, nível de CTU, ou nível de sub-bloco).
[00147] Daquiem diante, o modo de OBMC será descrito em mais detalhes. A Figura 5B é um fluxograma e Figura 5C é um diagrama conceitual para ilustrar um esboço de um processo de correção de imagem de predição executado através de processamento de OBMC.
[00148] Primeiro, uma imagem de predição (Pred) é obtida através de compensação de movimento típica utilizando um vetor de movimen- to (MV) atribuído ao bloco corrente.
[00149] A seguir, a imagem de predição (Pred L) é obtida aplicando um vetor de movimento (MV L) do bloco esquerdo vizinho codificado ao bloco corrente, e um primeiro passo da correção da imagem de predição é feito sobrepondo a imagem de predição e Pred L.
[00150] Similarmente, uma imagem de predição (Pred U) é obtida aplicando um vetor de movimento (MV U) do bloco superior vizinho codificado ao bloco corrente, e um segundo passo da correção da imagem de predição é feito sobrepondo a imagem de predição que resulta do primeiro passo e Pred U. O resultado do segundo passo é a imagem de predição final.
[00151] Note que o exemplo acima é de um método de correção de dois passos utilizando blocos esquerdo e superior vizinhos, mas o mé- todo pode ser um método de correção de três passos ou mais alto que também utiliza o bloco direito e/ou esquerdo vizinho.
[00152] Note que a região sujeita a sobreposição pode ser a região de pixel inteira do bloco, e, alternativamente, pode ser uma região limi- te de bloco parcial.
[00153] Note que aqui, o processo de correção de imagem de pre- dição está descrito como sendo baseado em uma única single imagem de referência, mas o mesmo se aplica quando uma imagem de predi- ção é corrigida com base em uma pluralidade de imagens de referên- cia. Em tal caso, após as imagens de predição corrigidas que resultam de executar correção com base em cada uma das imagens de refe- rência serem obtidas, as imagens de predição corrigidas obtidas são adicionalmente sobrepostas para obter a imagem de predição final.
[00154] — Note que a unidade do bloco corrente pode ser um bloco de predição e, alternativamente, pode ser um sub-bloco obtido adicional- mente dividindo o bloco de predição.
[00155] Um exemplo de um método para determinar se implemen- tar o processamento de OBMC é pela utilização de um obmc flag, o qual é um sinal que indica se implementar o processamento de OBMC. Como um exemplo específico, o codificador determina se o bloco cor- rente pertence a uma região que inclui um movimento complicado. O codificador ajusta o obmc flag para um valor de "1" quando a bloco pertence a uma região que inclui um movimento complicado e imple- menta um processamento de OBMC quando codificando, e ajusta o obmc flag para um valor de "0" quando o bloco does não pertence a uma região que inclui um movimento de complicação e codifica sem implementar o processamento de OBMC. O decodificador comuta en- tre implementar o processamento de OBMC ou não decodificando o obmc flag escrito no fluxo e executando a decodificação de acordo com o valor de sinalizador.
[00156] Note que as informações de movimento podem ser deriva- das no lado de decodificador sem serem sinalizadas. Por exemplo, um modo de mesclagem definido no padrão H.265/HEVC pode ser utiliza- do. Mais ainda, por exemplo, as informações de movimento podem ser derivadas executando estimativa de movimento no lado de decodifica- dor. Neste caso, a estimativa de movimento é executada sem utilizar Os valores de pixel do bloco corrente.
[00157] Aqui, um modo para executar estimativa de movimento no lado de decodificador será descrito. Um modo para executar estimativa de movimento no lado de decodificador é também referido como modo de derivação de vetor de movimento casado em padrão (PMMVD) ou modo de conversão ascendente de taxa de quadro (FRUC).
[00158] Um exemplo de processamento de FRUC está ilustrado na Figura 5D. Primeiro, uma lista de candidatos (uma lista de candidatos pode ser uma lista de mesclagem) de candidatos cada um incluindo um preditor de vetor de movimento é gerada com referência a vetores de movimento de blocos codificados que espacialmente ou temporal- mente avizinham o bloco corrente. A seguir, o melhor MV candidato é selecionado dentre uma pluralidade de MVs candidatos registrados na lista de candidatos. Por exemplo, os valores de avaliação para os can- didatos incluídos na lista de candidatos são calculados e um candidato é selecionado com base nos valores de avaliação calculados.
[00159] A seguir, um vetor de movimento para o bloco corrente é derivado do vetor de movimento do candidato selecionado. Mais espe- cificamente, por exemplo, o vetor de movimento para o bloco corrente é calculado como o vetor de movimento do candidato selecionado (melhor MV candidato), como está. Alternativamente, o vetor de movi- mento para o bloco corrente pode ser derivado por coincidência de padrão executada na vizinhança de uma posição em uma imagem de referência que corresponde ao vetor de movimento do candidato sele- cionado. Em outras palavras, quando a vizinhança do melhor MV can- didato é pesquisada através do mesmo método e um MV que tem um melhor valor de avaliação é encontrado, o melhor MV candidato pode ser atualizado para o MV que tem o melhor valor de avaliação, e o MV que tem o melhor valor de avaliação pode ser utilizado como o MV fi- nal para o bloco corrente. Note que uma configuração na qual este processamento não é implementado é também aceitável.
[00160] Os mesmos processos podem ser executados em casos nos quais o processamento é executado em unidades de sub-blocos.
[00161] Note que um valor de avaliação é calculado calculando a diferença na imagem reconstruída por coincidência de padrão execu- tada entre a região em uma imagem de referência que corresponde a um vetor de movimento e uma região predeterminada. Note que o va- lor de avaliação pode ser calculado utilizando algumas outras informa- ções além da diferença.
[00162] A coincidência de padrão utilizada é ou primeira coincidên- cia de padrão ou segunda coincidência de padrão. A primeira coinci- dência de padrão e segunda coincidência de padrão são também refe- ridas como coincidência bilateral e coincidência de modelo, respecti- vamente.
[00163] Na primeira coincidência de padrão, a coincidência de pa- drão é executada entre dois blocos ao longo da trajetória de movimen- to do bloco corrente em duas diferentes imagens de referência. Por- tanto, na primeira coincidência de padrão, uma região em outra ima- gem de referência em conformidade com a trajetória de movimento do bloco corrente é utilizada como a região predeterminada para o cálculo acima descrito do valor de avaliação de candidato.
[00164] A Figura 6 é para ilustrar um exemplo de coincidência de padrão (coincidência bilateral) entre dois blocos ao longo de uma traje- tória de movimento. Como ilustrado na Figura 6, na primeira coinci- dência de padrão, dois vetores de movimento (MVO, MV1) são deriva- dos encontrando a melhor coincidência entre dois blocos ao longo da trajetória de movimento do bloco corrente (Cur block) em duas diferen- tes imagens de referência (RefO, Ref1). Mais especificamente, a dife- rença entre (i) a imagem reconstruída em uma posição especificada em uma primeira imagem de referência codificada (Ref0) especificada por um MV candidato e (ii) uma imagem reconstruída em uma posição especificada em uma segunda imagem de referência codificada (Ref1) especificada por um MV simétrico escalado em um intervalo de tempo de exibição do MV candidato pode ser derivada, e o valor de avaliação para o bloco corrente pode ser calculado utilizando a diferença deriva- da. O MV candidato que tem o melhor valor de avaliação entre a plura- lidade de MVs candidatos pode ser selecionado como o MV final.
[00165] Sob a suposição de uma trajetória de movimento contínua, os vetores de movimento (MVO, MV1) que apontam para os dois blo- cos de referência deverão ser proporcionais às distâncias temporais (TDO, TD1) entre a imagem corrente (Cur Pic) e as duas imagens de referência (RefO, Ref1). Por exemplo, quando a imagem corrente está temporalmente entre as duas imagens de referência e a distância tem- poral da imagem corrente para as duas imagens de referência é a mesma, a primeira coincidência de padrão deriva um espelho baseado em vetor de movimento bidirecional.
[00166] Na segunda coincidência de padrão, a coincidência de pa- drão é executada entre um modelo na imagem corrente (blocos vizi- nhos ao bloco corrente na imagem corrente (por exemplo, os blocos vizinhos superior e/ou esquerdo)) e um bloco em uma imagem de refe- rência. Portanto, na segunda coincidência de padrão, um bloco vizinho no bloco corrente na imagem corrente é utilizado como a região prede- terminada para o cálculo acima descrito do valor de avaliação de can- didato.
[00167] A Figura 7 é para ilustrar um exemplo de coincidência de padrão (coincidência de modelo) entre um modelo na imagem corrente e um bloco em uma imagem de referência. Como ilustrado na Figura 7, na segunda coincidência de padrão, um vetor de movimento do blo- co corrente é derivado pesquisando uma imagem de referência (Ref0) para encontrar o bloco que melhor coincide com blocos vizinhos do bloco corrente (Cur block) na imagem corrente (Cur Pic). Mais especi-
ficamente, uma diferença entre (i) uma imagem reconstruída de uma região codificada que é ambas ou uma da região esquerda vizinha e superior vizinha e (ii) uma imagem reconstruída na mesma posição em uma imagem de referência codificada (Ref0) especificada por MV can- didato pode ser derivada, e o de avaliação para o bloco corrente pode ser calculado utilizando a diferença derivada. O MV candidato tem o melhor valor de avaliação entre a pluralidade de MVs candidatos pode ser selecionado como o melhor MV candidato.
[00168] Informações que indicam se aplicar o modo de FRUC ou não (referido como, por exemplo, um sinalizador de FRUC) são sinali- zadas no nível de CU. Mais ainda, quando o modo de FRUC é aplica- do (por exemplo, quando o sinalizador de FRUC é ajustado para ver- dadeiro), informações que indicam o método de coincidência de pa- drão (primeira coincidência de padrão ou segunda coincidência de pa- drão) é sinalizado no nível de CU. Note que a sinalização de tais in- formações não precisa ser executada no nível de CU, e pode ser exe- cutada em outro nível (por exemplo, no nível de sequência, nível de imagem, nível de fatia, nível lado a lado, nível de CTU, ou nível de sub-bloco).
[00169] — Aqui, um modo para derivar um vetor de movimento com base em um modelo assumindo movimento linear uniforme será des- crito. Este modo é também referido como um modo de fluxo ótico bidi- recional (BIO).
[00170] A Figura8 é para ilustrar um modelo que assume movimen- to linear uniforme. Na Figura 8, (vx, vy) denota um vetor de velocidade, e To E 11 denotam distâncias temporais entre a imagem corrente (Cur Pic) e duas imagens de referência (Refo, Ref1). (MVxo, MVyo) denota um vetor de movimento que corresponde à imagem de referência Refo, e (MVx1, MVy:) denota um vetor de movimento que corresponde à imagem de referência Ref.
[00171] — Aqui, sob a suposição de movimento linear uniforme exibido pelo vetor de velocidade (vx, vy), (MVxo, MVyo) e (MVx1, MVy1) são re- presentados como (vxto, Vyto) E (“VxT1, -Vyt1), respectivamente, e a se- guinte equação de fluxo ótico é dada. MATH. 1 or /ar+v, or /ox+v, or /av=0. O
[00172] Aqui, 1º denota um valor de da imagem de referência k (k = O, 1) após compensação de movimento. Esta equação de fluxo ótico mostra que a soma de (i) a derivada de tempo do valor de luma, (ii) o produto da velocidade horizontal e o componente horizontal do gradi- ente espacial de uma imagem de referência, e (ili) o produto da veloci- dade vertical e o componente vertical componente do gradiente espa- cial de uma imagem de referência é igual a zero. Um vetor de movi- mento de cada bloco obtido de, por exemplo, uma lista de mesclagem é corrigido pixel por pixel com base em uma combinação da equação de fluxo ótico e interpolação Hermite.
[00173] Note que um vetor de movimento pode ser derivado no lado de decodificador utilizando um método outro que derivar um vetor de movimento com base em um modelo assumindo movimento linear uni- forme. Por exemplo, um vetor de movimento pode ser derivado para cada sub-bloco com base em vetores de movimento de blocos vizi- nhos.
[00174] Aqui, a um modo no qual um vetor de movimento é deriva- do para cada sub-bloco com base em vetores de movimento de blocos vizinhos será descrito. Este modo é também referido como modo de predição de compensação de movimento afim.
[00175] A Figura 9A é para ilustrar derivar um vetor de movimento de cada sub-bloco com base em vetores de movimento de blocos vizi- nhos. Na Figura 9A, o bloco corrente inclui 16 sub-blocos 4x4. Aqui, o vetor de movimento vo do ponto de controle de canto superior esquer-
do no bloco corrente é derivado com base em vetores de movimento de sub-blocos vizinhos, e o vetor de movimento v: do ponto de contro- le de canto superior direito do bloco corrente é derivado com base em vetores de movimento de blocos vizinhos. Então, utilizando os dois ve- tores de movimento vo e vi, o vetor de movimento (vx, v,) de cada sub- bloco no bloco corrente é derivado utilizado a Equação 2 abaixo. MATH. 2 fo = MTM) MTM o |, DD 6, O w w
[00176] Aqui,xey são as posições horizontal e vertical do sub- bloco, respectivamente, e w é um coeficiente ponderado predetermi- nado.
[00177] Talmodo de predição de compensação de movimento afim pode inclui um número de modos de diferentes métodos de derivar os vetores de movimento dos pontos de controle de canto superior es- querdo e superior direito. Informações que indicam tal modo de predi- ção compensação de movimento afim (referidas como, por exemplo, um sinalizador afim) são sinalizadas no nível de CU. Note que a sinali- zação de informações que indicam o modo de predição compensação de movimento afim não precisa ser executada no nível de CU, e pode ser executada em outro nível (por exemplo, no nível de sequência, ní- vel de imagem, nível de fatia, nível lado a lado, nível de CTU, ou nível de sub-bloco). Controlador de Predição
[00178] O controlador de predição 128 seleciona ou o sinal de in- trapredição ou o sinal de interpredição, e emite o sinal de predição se- lecionado para o subtrator 104 e o somador 116.
[00179] Aqui, um exemplo de derivar um vetor de movimento atra- vés de modo de mesclagem em uma imagem corrente será dado. À
Figura 9B é para ilustrar um esboço de um processo para derivar um vetor de movimento através de modo de mesclagem.
[00180] Primeiro, uma lista de preditores de MV na qual preditores de MV candidatos são registrados é gerada. Exemplos de preditores de MV candidatos incluem: preditores de MV espacialmente vizinhos, os quais são MVs de blocos codificados posicionados na vizinhança espacial do bloco corrente; um preditor de MV temporalmente vizinho, o qual é um MV de um bloco em uma imagem de referência codificada que avizinha um bloco na mesma localização que o bloco corrente; um preditor de MV combinado, o qual é um MV gerado combinando os valores de MV do preditor de MV espacialmente vizinho e o preditor de MV temporalmente vizinho; e um preditor de MV zero, o qual é um MV cujo valor é zero.
[00181] A seguir, o MV do bloco corrente é determinado selecio- nando um preditor de MV dentre a pluralidade de preditores de MV re- gistrados na lista de preditor de MV.
[00182] Mais ainda, no codificador de componente variável, um merge idx, o qual é um sinal que indica qual preditor de MV é selecio- nado, é escrito e codificado no fluxo.
[00183] Note que os preditores de MV registrados na lista de predi- tor de MV ilustrada na Figura 9B constituem um exemplo. O número de preditores de MV registrados na lista de preditores de MV pode ser diferente do número ilustrado na Figura 9B, os preditores de MV regis- trados na lista de preditores de MV podem omitir um ou mais dos tipos de preditores de MV dados no exemplo na Figura 9B, e os preditores de MV registrados na lista de preditores de MV podem incluir um ou mais tipos de preditores de MV além e diferente dos tipos dados no exemplo na Figura 9B.
[00184] Note que o MV final pode ser determinado executando pro- cessamento de DMVR (a ser posteriormente descrito) utilizando o MV do bloco corrente derivado através de modo de mesclagem.
[00185] — Aqui, um exemplo de determinar um MV utilizando proces- samento de DMVR será dado.
[00186] A Figura 9C é um diagrama conceitual para ilustrar um es- boço de processamento de DMVR.
[00187] — Primeiro, o MVP mais apropriado ajustado para o bloco cor- rente é considerado ser o MV candidato, pixels de referência são obti- dos de uma primeira imagem de referência, a qual é uma imagem pro- cessada na direção LO de acordo com o MV candidato, e uma segun- da imagem de referência, a qual é uma imagem processada na dire- ção L1 de acordo com o MV candidato, e um modelo é gerado calcu- lando a média dos pixels de referência.
[00188] A seguir, utilizando o modelo, as regiões circundantes dos MVs candidatos da primeira e segunda imagens de referência são pesquisadas, e o MV com o custo mais baixo é determinado ser o MV final. Note que o valor de custo é calculado utilizando, por exemplo, a diferença entre cada valor de pixel no modelo e cada valor de pixel nas regiões pesquisadas, assim como o valor de MV.
[00189] Note que os esboços dos processos aqui descritos são fun- damentalmente os mesmos tanto no codificador quanto no decodifica- dor.
[00190] Note que um processamento outro que o processamento exatamente como acima descrito pode ser utilizado, desde que o pro- cessamento seja capaz de derivar o MV final pesquisando os arredo- res do MV candidato.
[00191] — Aqui, um exemplo de um modo que gera uma imagem de predição utilizando processamento de LIC será dado.
[00192] A Figura 9D é para ilustrar um esboço de um método de geração de imagem de predição que utiliza um processo de correção de luminância executado através de processamento de LIC.
[00193] Primeiro, um MV é extraído para obter, de uma imagem de referência codificada, uma imagem de referência que corresponde ao bloco corrente.
[00194] A seguir, informações que indicam como o valor de lumi- nância mudou entre a imagem de referência e a imagem corrente são extraídas e um parâmetro de correção de luminância é calculado utili- zando os valores de pixel de luminância para a região de referência vizinha esquerda codificada e região de referência vizinha superior co- dificada, e o valor de pixel de luminância na mesma localização na imagem de referência especificada pelo MV.
[00195] Aimagem de predição para o bloco corrente é gerada exe- cutando a processo de correção de luminância utilizando o parâmetro de correção de luminância sobre a imagem de referência na imagem de referência especificada pelo MV.
[00196] Note que a forma da região de referência circundante ilus- trada na Figura 9D é apenas um exemplo; a região de referência cir- cundante região pode ter uma forma diferente.
[00197] Mais ainda, apesar de uma imagem de predição ser gerada de uma única imagem de referência neste exemplo, em casos nos quais uma imagem de predição é gerada de uma pluralidade de ima- gens de referência também, a imagem de predição é gerada após executar um processo de correção de luminância, através do mesmo método, sobre as imagens de referência obtidas das imagens de refe- rência.
[00198] Um exemplo de um método para determinar se implemen- tar um processamento de LIC é utilizando um lic flag, o qual é um si- nal que indica se implementar um processamento de LIC. Como um exemplo específico, o codificador determina se o bloco corrente per- tence a uma região de mudança de luminância. O codificador ajusta lic flag para um valor de "1" quando o bloco pertence a uma região de mudança de luminância e implementa processamento de LIC quando codificando, e ajusta o lic flag para um valor de "0" quando a bloco não pertence a uma região de mudança de luminância e codifica sem implementar processamento de LIC. O decodificador comuta entre im- plementar processamento de LIC ou não decodificando o lic flag es- crito no fluxo e executando a decodificação de acordo com o valor de sinalizador.
[00199] Um exemplo de um diferente método de determinar se im- plementar processamento de LIC é determinando assim de acordo com se o processamento de LIC foi determinado para ser implementa- do para um bloco circundante. Em um exemplo específico, quando modo de mesclagem é utilizado sobre o bloco corrente, se o proces- samento de LIC foi aplicado na codificação do bloco codificado circun- dante selecionado quando derivando o MV no processamento de mo- do de mesclagem pode ser determinado, e se implementar processa- mento de LIC ou não pode ser comutado com base no resultado da determinação. Note que neste exemplo, o mesmo se aplica ao proces- samento executado no lado de decodificador. Esboço de Decodificador
[00200] A seguir, um decodificador capaz de decodificar um sinal codificado (fluxo de bits codificado) emitido do codificador 100 será descrito. A Figura 10 é um diagrama de blocos que ilustra uma confi- guração funcional do decodificador 200 de acordo com a Modalidade
1. O decodificador 200 é um decodificador de imagem móvel / imagem que decodifica uma imagem móvel / imagem bloco por bloco.
[00201] Como ilustrado na Figura 10, o decodificador 200 inclui um decodificador de entropia 202, quantizador inverso 204, transformador inverso 206, somador 208, memória de bloco 210, filtro de loop 212, memória de quadro 214, intrapreditor 216, interpreditor 218, e contro- lador de predição 220.
[00202] O decodificador 200 é realizado como, por exemplo, um processador e memória genéricos. Neste caso, quando um programa de software armazenado na memória é executado pelo processador, o processador funciona como o decodificador de entropia 202, quantiza- dor inverso 204, transformador inverso 206, somador 208, filtro de loop 212, intrapreditor 216, interpreditor 218, e controlador de predição 220. Alternativamente, o decodificador 200 pode ser realizado como um ou mais circuitos eletrônicos dedicados que corresponde ao decodificador de entropia 202, quantizador inverso 204, transformador inverso 206, somador 208, filtro de loop 212, intrapreditor 216, interpreditor 218, e controlador de predição 220.
[00203] “Daqui em diante, cada componente incluído no decodifica- dor 200 será descrito. Decodificador de Entropia
[00204] O decodificador de entropia 202 decodifica um fluxo de bits codificado. Mais especificamente, por exemplo, o decodificador de en- tropia 202 decodifica em aritmética fluxo de bits codificado em um sinal binário. O decodificador de entropia 202 então desbinariza o sinal bi- nário. Com isto, o decodificador de entropia 202 emite coeficientes quantizados de cada bloco para o quantizador inverso 204. Quantizador Inverso
[00205] O quantizador inverso 204 quantiza inverso coeficientes quantizados de um bloco a ser decodificado (daqui em diante referido como como um bloco corrente), os quais são entradas do decodifica- dor de entropia 202. Mais especificamente, o quantizador inverso 204 quantiza inverso os coeficientes quantizados do bloco corrente com base em parâmetros de quantização que correspondem aos coeficien- tes quantizados. O quantizador inverso 204 então emite os coeficien- tes quantizados inversos (isto é, coeficientes de transformada) do blo- co corrente para o transformador inverso 206.
Transformador Inverso
[00206] O transformador inverso 206 restaura os erros de predição transformando inverso coeficientes de transformada, os quais são en- tradas do quantizador inverso 204.
[00207] Por exemplo, quando informações analisadas de um fluxo de bits codificado indica aplicação EMT ou AMT (por exemplo, quando o sinalizador de AMT é ajustado para verdadeiro), o transformador in- verso 206 transforma inverso os coeficientes de transformada do bloco corrente com base em informações que indica o tipo de transformada analisado.
[00208] Mais ainda, por exemplo, quando as informações analisa- das de um fluxo de bits codificado indicam aplicação de NSST, o trans- formador inverso 206 aplica uma transformada inversa secundária nos coeficientes de transformada.
Somador
[00209] — Somador 208 reconstrói o bloco corrente somando erros de predição, os quais são entradas do transformador inverso 206, e amostras de predição, as são uma entrada do controlador de predição
220. O somador 208 então emite o bloco reconstruído para a memória de bloco 210 e o filtro de loop 212.
Memória de bloco
[00210] A memória de bloco 210 é um armazenamento para arma- zenar blocos em uma imagem a ser decodificada (daqui em diante re- ferida como como uma imagem corrente) para referência em intrapre- dição. Mais especificamente, a memória de bloco 210 armazena blo- cos reconstruídos emitidos do somador 208.
Filtro de loop
[00211] O filtro de loop 212 aplica um filtro de loop em blocos re- construídos pelo somador 208, e emite os blocos reconstruídos filtra- dos para a memória de quadro 214 e, por exemplo, um dispositivo de display.
[00212] “Quando informações que indicam a habilitação ou desabili- tação de ALF analisadas de um fluxo de bits codificado indicam habili- tado, um filtro dentre uma pluralidade de filtros é selecionado com ba- se na direção e atividade de gradientes locais e o filtro selecionado é aplicado no bloco reconstruído.
Memória de quadro
[00213] A memória de quadro 214 é um armazenamento para ar- mazenar imagens de referência utilizadas em interpredição, e é tam- bém referida como um armazenamento temporário de quadro. Mais especificamente, a memória de quadro 214 armazena blocos recons- truídos filtrados pelo filtro de loop 212.
Intrapreditor
[00214] O intrapreditor 216 gera um sinal de predição (sinal de in- trapredição) por intrapredição com referência a um bloco ou blocos na imagem corrente e armazenada na memória de bloco 210. Mais espe- cificamente, o intrapreditor 216 gera um sinal de intrapredição por in- trapredição com referência a amostras (por exemplo, valores de luma e/ou croma) de um bloco ou blocos vizinhos ao bloco corrente, e então emite o sinal de intrapredição para o controlador de predição 220.
[00215] Note que quando um modo de intrapredição no qual um bloco de croma é intrapredito de um bloco de luma é selecionado, o intrapreditor 216 pode predizer o componente de croma do bloco cor- rente com base no componente de luma do bloco corrente.
[00216] Mais ainda, quando informações que indicam a aplicação de PDPC são analisadas de um fluxo de bits codificado, o intrapreditor 216 corrige valores de pixel de pós-intrapredição com base em gradi- entes de pixel de referência horizontais / verticais.
Interpreditor
[00217] O interpreditor 218 prediz o bloco corrente com referência a uma imagem de referência armazenada memória de quadro 214. À interpredição é executada por bloco corrente ou por sub-bloco (por exemplo, por bloco 4x4) no bloco corrente. Por exemplo, o interpredi- tor 218 gera um sinal de interpredição do bloco corrente ou sub-bloco por compensação de movimento utilizando informações de movimento (por exemplo, um vetor de movimento) analisadas de um fluxo de bits codificado, e emite o sinal de interpredição para o controlador de pre- dição 220.
[00218] “Note que quando as informações analisadas do fluxo de bits codificado indicam a aplicação de modo de OBMC, o interpreditor 218 gera o sinal de interpredição utilizando informações de movimento de um bloco vizinho além de informações de movimento para o bloco corrente obtidas de estimativa de movimento.
[00219] Mais ainda, quando as informações analisadas do fluxo de bits codificado indicam aplicação de modo de FRUC, o interpreditor 218 deriva informações de movimento executando estimativa de mo- vimento de acordo com o método de coincidência de padrão (coinci- dência bilateral ou coincidência de modelo) analisado do fluxo de bits codificado. O interpreditor 218 então executa compensação de movi- mento utilizando as informações de movimento derivadas.
[00220] Mais ainda, quando o modo de BIO deve ser aplicado, o interpreditor 218 deriva vetor de movimento com base em um modelo que assume movimento linear uniforme. Mais ainda, quando as infor- mações analisadas do fluxo de bits codificado indicam que o modo de predição de compensação de movimento afim deve ser aplicado, o in- terpreditor 218 deriva um vetor de movimento de cada sub-bloco com base em vetores de movimento de blocos vizinhos. Controlador de Predição
[00221] O controlador de predição 220 seleciona ou o sinal de in- trapredição ou o sinal de interpredição, e emite o sinal de predição se-
lecionado para o somador 208. Um Processo de Transformada, um Processo de Quantização, um Processo de Codificação em um Codificador
[00222] A seguir, um processo de transformada, um processo de quantização, e um processo de codificação executados pelo transfor- mador 106, quantizador 108, e codificador de entropia 110 do codifica- dor 100 configurado como acima descrito são especificamente descri- tos com referência aos desenhos.
[00223] A Figura 11 é um fluxograma que indica um exemplo de um processo de transformada, um processo de quantização, e um proces- so de codificação de acordo com a Modalidade 1. Cada uma das eta- pas indicadas na Figura 11 é executada pelo transformador 106, quan- tizador 108, ou codificador de entropia 110 do codificador 100 de acor- do com a Modalidade 1.
[00224] Primeiro, o transformador 106 executa uma transformada primária de um bloco corrente a ser codificado de resíduos para coefi- cientes primários (S101). A transformada primária é, por exemplo, uma transformada separável. Especificamente, a transformada primária é, por exemplo, uma de DCT e DST.
[00225] A seguir, o transformador 106 determina se executar uma transformada secundária sobre os coeficientes primários (S102). Em outras palavras, o transformador 106 determina se aplicar uma trans- formada secundária sobre o bloco corrente. Por exemplo, transforma- dor 106 determina se executar uma transformada secundária com ba- se em custo com base em uma diferença entre uma imagem original e uma imagem reconstruída e/ou uma quantidade de codificação. Deve ser notado que as determinações sobre se executar uma transformada secundária não estão limitadas a tal determinação baseada em custo. Por exemplo, se executar uma transformada secundária pode ser de- terminado com base em um modo de predição, um tamanho de bloco,
um tipo de imagem, ou qualquer combinação destes.
[00226] Aqui, quando é determinado que uma transformada secun- dária não é executada (Não em S102), o quantizador 108 calcula coe- ficientes primários quantizados executando uma primeira quantização sobre os coeficientes primários (S103). A quantização primária é uma quantização ponderada que utiliza uma primeira matriz de quantiza- ção. Na primeira quantização, uma etapa de quantização na qual pon- deração é executada para cada coeficiente pela primeira matriz de quantização é utilizada. A primeira matriz de quantização é uma matriz de ponderação para ajustar a magnitude da etapa de quantização para cada coeficiente. O tamanho da primeira matriz de quantização coinci- de com o tamanho do bloco corrente. Em outras palavras, o número de componentes da primeira matriz de quantização coincide com o número de coeficientes do bloco corrente.
[00227] “Quando é determinado que uma transformada secundária deve ser executada (Sim em S102), o transformador 106 executa uma transformada secundária dos coeficientes primários para os coeficien- tes secundários (S104). Na transformada secundária, uma base dife- rente da base na transformada primária é utilizada. Por exemplo, a transformada secundária é uma transformada não separável. As bases para utilização em uma transformada secundária são definidas com antecedência, por exemplo, em um padrão.
[00228] O quantizador 108 então calcula coeficientes secundários quantizados executando uma segunda quantização diferente de uma primeira quantização sobre os coeficientes secundários (S105). A se- gunda quantização diferente da primeira quantização significa que ou parâmetros ou propostas de quantização approaches para utilização em quantização são diferentes entre a primeira quantização e a se- gunda quantização. Os parâmetros para utilização em quantização são, por exemplo, matrizes de quantização ou parâmetros de quanti-
zação.
[00229] “Nesta modalidade, a segunda quantização é diferente da primeira quantização no parâmetro de quantização utilizado para quantização. Especificamente, a segunda quantização é uma quanti- zação ponderada que utiliza uma segunda matriz de quantização dife- rente de uma primeira matriz de quantização. Na segunda quantiza- ção, a etapa de quantização na qual uma ponderação é executada pa- ra cada coeficiente pela segunda matriz de quantização é utilizada.
[00230] A segunda matriz de quantização é uma matriz de ponde- ração para ajustar a magnitude da etapa de quantização para cada coeficiente. A segunda matriz de quantização tem valores de compo- nente diferentes daqueles da primeira matriz de quantização. O tama- nho da segunda matriz de quantização coincide com o tamanho do bloco corrente. Em outras palavras, o número de componentes da se- gunda matriz de quantização coincide com o número de coeficientes do bloco corrente.
[00231] O codificador de entropia 110 gera um fluxo de bits codifi- cado codificando por entropia ou coeficientes primários quantizados ou coeficientes secundários quantizados (S106). Neste tempo, o codifica- dor de entropia 110 escreve a primeira matriz de quantização e a se- gunda matriz de quantização em um fluxo de bits codificado.
[00232] “Quando uma transformada secundária é executada sobre somente um ou mais primeiros coeficientes primários incluídos em co- eficientes primários em um bloco corrente, deve ser notado que so- mente um ou mais primeiros valores de componente da segunda ma- triz de quantização que correspondem aos um ou mais primeiros coe- ficientes primários sobre os quais a transformada secundária é execu- tada pode ser podem ser escritos em fluxo de bits codificado, e cada um de um ou mais segundos valores de componente da segunda ma- triz de quantização que correspondem aos um ou mais segundos coe-
ficientes primários sobre os quais uma transformada secundária não é executada pode ser comum com os valores de componente que cor- respondem àqueles da primeira matriz de quantização sem serem es- critos no fluxo de bits codificado. Em outras palavras, cada um dos um ou mais segundos valores de componente da segunda matriz de quan- tização podem coincidir com os valores de componente corresponden- tes da primeira matriz de quantização. Deve ser notado que os um ou mais primeiros coeficientes primários são, por exemplo, coeficientes em uma região de baixa frequência, e os um ou mais segundos coefi- cientes primários são, por exemplo, y coeficientes em uma região de alta frequência.
[00233] Além disso, o codificador de entropia 110 pode escrever informações que indicam se aplicar uma transformada secundária no bloco corrente no fluxo de bits codificado.
[00234] Deve ser notado que as posições da primeira matriz de quantização e da segunda matriz de quantização não estão especifi- camente limitadas. Por exemplo, como indicado na Figura 12, a primei- ra matriz de quantização e a segunda matriz de quantização podem ser escritas em (i) um conjunto de parâmetros de vídeo (VPS), (ii) um conjunto de parâmetros de sequência (SPS), (iii) um conjunto de pa- râmetros de imagem (PPS), (iv) um cabeçalho de fatia, ou (v) um pa- râmetro de ajuste de sistema de vídeo.
[00235] “Neste modo, nesta modalidade, uma diferente quantização é executada entre o caso no qual uma transformada secundária é exe- cutada e o outro caso. Em outras palavras, o quantizador comuta swit- ches entre a primeira quantização e uma segunda quantização com base em aplicação / não aplicação de uma transformada secundária sobre o bloco corrente. Especificamente, nesta modalidade, diferentes matrizes de quantização são utilizadas entro o caso no qual uma trans- formada secundária é executada e o outro caso. Em outras palavras,
nesta modalidade, o quantizador 108 executa uma quantização en- quanto comutando entre a primeira matriz de quantização e a segunda matriz de quantização com base em aplicação / não aplicação de uma transformada secundária sobre o bloco corrente. Um Processo de Decodificação, um Processo de Quantização In- versa, e um Processo de Transformada Inversa em um Decodifi- cador
[00236] A seguir, um processo de decodificação, um processo de quantização inversa, e um processo de transformada inversa executa- dos pelo decodificador de entropia 202, quantizador inverso 204, e transformador inverso 206 de decodificador 200 de acordo com esta modalidade estão especificamente descritos com referência aos dese- nhos.
[00237] A Figura 13 é um fluxograma que indica um exemplo de um processo de decodificação, um processo de quantização inversa, e um processo de transformada inversa de acordo com a Modalidade 1. Ca- da uma das etapas indicada na Figura 13 é executada pelo decodifi- cador de entropia 202, quantizador inverso 204, ou transformador in- verso 206.
[00238] Primeiro, o decodificador de entropia 202 decodifica em en- tropia coeficientes quantizados codificados de um bloco corrente a ser decodificado de um fluxo de bits codificado (S201). Os coeficientes quantizados decodificados aqui são coeficientes primários quantizados ou coeficientes secundários quantizados. Além disso, aqui, o decodifi- cador de entropia 202 analisa a primeira matriz de quantização e a se- gunda matriz de quantização do fluxo de bits codificado. Quando uma transformada secundária inversa é executada sobre somente um ou mais primeiros coeficientes secundários incluídos nos coeficientes se- cundários no bloco corrente, deve ser notado que somente um ou mais primeiros valores de componente da segunda matriz de quantização que correspondem aos um ou mais primeiros coeficientes secundários sobre os quais a transformada secundária inversa é executada podem ser analisados de um fluxo de bits codificado, e cada um ou mais se- gundos valores de componente da segunda matriz de quantização que correspondem aos um ou mais segundos coeficientes secundários so- bre os quais uma transformada secundária inversa não é executada podem ser comuns com os valores de componente que correspondem àqueles do primeiro valor de quantização. Em outras palavras, cada um dos um ou mais segundos valores de componente da segunda ma- triz de quantização podem coincidir com os valores de componente correspondentes da primeira matriz de quantização. Mais ainda, o de- codificador de entropia 202 pode analisar informações que indicam se aplicar uma transformada secundária inversa sobre o bloco corrente do fluxo de bits codificado.
[00239] O transformador inverso 206 determina se executar uma transformada secundária inversa com base no fluxo de bits codificado (S202). Em outras palavras, transformador inverso 206 determina se aplicar uma transformada secundária inversa sobre o bloco corrente. Por exemplo, transformador inverso 206 determina se executar uma transformada secundária inversa com base em informações que indi- cam se aplicar a transformada secundária inversa analisada do fluxo de bits codificado.
[00240] — Aqui, quando é determinado que a transformada secundária inversa não deve ser executada (Não em S202), o quantizador inverso 204 calcula coeficientes primários executando uma primeira quantiza- ção inversa sobre os coeficientes quantizados decodificados (S203). A primeira quantização inversa é uma quantização inversa à primeira quantização no codificador 100. Nesta modalidade, a primeira quanti- zação inversa é uma quantização inversa ponderada que utiliza a pri- meira matriz de quantização.
[00241] “Quando é determinado que a transformada secundária in- versa deve ser executada (Sim em S202), o quantizador inverso 204 calcula coeficientes secundários executando uma segunda quantiza- ção inversa diferente da primeira quantização inversa sobre os coefici- entes quantizados decodificados (S204). A segunda quantização in- versa é uma quantização inversa à segunda quantização no codifica- dor 100. Nesta modalidade, a segunda quantização inversa é uma quantização inversa ponderada que utiliza a segunda matriz de quanti- zação. O transformador inverso 206 então executa uma transformada secundária inversa dos coeficientes secundários calculados através da segunda quantização inversa para coeficientes primários (S205). À transformada secundária inversa é uma transformada inversa à trans- formada secundária no codificador 100.
[00242] O transformador inverso 206 executa uma transformada primária inversa dos coeficientes primários obtidos através ou de uma transformada secundária inversa ou uma primeira quantização inversa a resíduos do bloco corrente (S206). A transformada primária inversa é uma transformada inversa à transformada primária no codificador 100.
[00243] Neste modo, nesta modalidade, diferentes processos de quantização inversa são executados entre o caso no qual uma trans- formada secundária inversa é executada e o outro caso. Em outras palavras, o quantizador inverso 204 comuta entre a primeira quantiza- ção inversa e a segunda quantização inversa com base na aplicação / não aplicação da transformada secundária inversa sobre o bloco cor- rente. Especificamente, nesta modalidade, diferentes matrizes de quantização são utilizadas entre o caso no qual a transformada secun- dária inversa é executada e o outro caso. Em outras palavras, nesta modalidade, o quantizador inverso 204 executa processos de quanti- zação inversa enquanto comutando entre a primeira matriz de quanti- zação e a segunda matriz de quantização com base na aplicação / não aplicação de uma transformada secundária inversa. Efeitos, etc.
[00244] Como acima descrito, o codificador 100 e decodificador 200 de acordo com esta modalidade são capazes de executar uma diferen- te quantização / quantização inversa dependendo da aplicação / não aplicação de uma transformada secundária / uma transformada se- cundária inversa sobre um bloco corrente. Os coeficientes secundários obtidos executando uma transformada secundária de coeficientes pri- mários representados em um espaço primário devem ser representa- dos em um espaço secundário o qual não é o espaço primário. Por esta razão, é difícil aumentar a eficiência de codificação enquanto re- duzindo a diminuição em qualidade de imagem subjetiva mesmo quando uma quantização / quantização inversa para os coeficientes primários é aplicada nos coeficientes secundários. Por exemplo, uma quantização para reduzir as perdas de componentes em uma região de baixa frequência para reduzir a diminuição em qualidade de ima- gem subjetiva e aumentar as perdas de componentes em uma região de alta frequência para aumentar a eficiência de codificação é diferen- te entre o espaço primário e o espaço secundário. Em vista disto, é possível aumentar a eficiência de codificação enquanto reduzindo a diminuição em qualidade de imagem subjetiva comparado com um ca- so de executar uma quantização / quantização inversa comum execu- tando uma quantização / quantização inversa diferente dependendo da aplicação / não aplicação de uma transformada secundária / transfor- mada secundária inversa sobre o bloco corrente.
[00245] Além disso, o codificador 100 e decodificador 200 de acor- do com esta modalidade são capazes de executar uma quantização / quantização inversa ponderada utilizando a primeira matriz de quanti- zação como a primeira quantização / primeira quantização inversa. Mais ainda, é possível executar uma quantização / quantização inver-
sa ponderada utilizando a segunda matriz de quantização diferente da primeira matriz de quantização, como a segunda quantização / segun- da quantização inversa. Consequentemente, é possível utilizar a pri- meira matriz de quantização que corresponde ao primeiro espaço na quantização / quantização inversa para os coeficientes primários, e utilizar a segunda matriz de quantização que corresponde ao espaço secundário na quantização / quantização inversa para os coeficientes secundários. Consequentemente, em tanto aplicação quanto não apli- cação de uma transformada secundária / transformada secundária in- versa, é possível aumentar a eficiência de codificação enquanto redu- zindo a diminuição em qualidade de imagem subjetiva.
[00246] Além disso, o codificador 100 e decodificador 200 de acor- do com esta modalidade são capazes de incluir a primeira matriz de quantização e a segunda matriz de quantização no fluxo de bits codifi- cado. Consequentemente, é possível adaptavelmente determinar a primeira matriz de quantização e a segunda matriz de quantização de acordo com uma imagem original, e ainda aumentar a eficiência de codificação enquanto reduzindo a diminuição em qualidade de imagem subjetiva.
[00247] Apesar da primeira matriz de quantização e da segunda matriz de quantização serem incluídas no fluxo de bits codificado nesta modalidade, este é um exemplo não limitante. Por exemplo, a primeira matriz de quantização e a segunda matriz de quantização podem ser transmitidas do codificador para o decodificador separadamente do fluxo de bits codificado. Além disso, por exemplo, a primeira matriz de quantização e a segunda matriz de quantização podem ser definidas com antecedência por um padrão. Neste tempo, a primeira matriz de quantização e a segunda matriz de quantização podem ser referidas como matrizes padrão. Além disso, por exemplo, a primeira matriz de quantização e a segunda matriz de quantização podem ser seleciona-
das de uma pluralidade de matrizes padrão com base em um dado perfil, nível, ou similares.
[00248] “Neste modo, não é sempre necessário que a primeira ma- triz de quantização e a segunda matriz de quantização sejam incluídas no fluxo de bits codificado, e assim é possível reduzir a quantidade de codificação para a primeira matriz de quantização e a segunda matriz de quantização.
[00249] — Apesar desta modalidade descrever o caso onde uma única base é fixamente utilizada na transformada secundária / transformada secundária inversa, este é um exemplo não limitante. Por exemplo, uma pluralidade de bases predefinidas pode ser seletivamente utiliza- da na transformada secundária / transformada secundária inversa. Neste caso, por exemplo, um fluxo de bits codificado pode incluir uma pluralidade de segundas matrizes de quantização que corresponde a uma pluralidade de bases. Então, na segunda quantização / segunda quantização inversa, a segunda matriz de quantização que correspon- de às bases a qual é utilizada na transformada secundária / transfor- mada secundária inversa pode ser selecionada da pluralidade de se- gundas matrizes de quantização.
[00250] Neste modo, é possível executar a segunda quantização / segunda quantização inversa utilizando a segunda matriz de quantiza- ção que corresponde a uma base a ser utilizada na transformada se- cundária / transformada secundária inversa. Características do espaço secundário o qual representa os coeficientes secundários são diferen- tes dependendo da base a ser utilizada para transformada secundária / transformada secundária inversa. Consequentemente, executando a segunda quantização / segunda quantização inversa utilizando a se- gunda matriz de quantização que corresponde à base a ser utilizada para transformada secundária / transformada secundária inversa, é possível executar uma segunda quantização / segunda quantização inversa utilizando a matriz de quantização mais adequada para o es- paço secundário, e aumentar a eficiência de codificação enquanto re- duzindo a qualidade de imagem subjetiva. MODALIDADE 2
[00251] A seguir, a Modalidade 2 será descrita. Esta modalidade é diferente da Modalidade 1, em que uma segunda matriz de quantiza- ção a ser utilizada em uma segunda quantização é derivada de uma primeira matriz de quantificação a qual é utilizada na primeira quanti- zação. Daqui em diante, esta modalidade está descrita em detalhes com referência aos desenhos, focalizando sobre diferenças da Modali- dade 1. Um Processo de Transformada, um Processo de Quantização, um Processo de Codificação em um Codificador
[00252] Um processo de transformada, um processo de quantiza- ção, e um processo de codificação executados pelo transformador 106, quantizador 108, e codificador de entropia 110 do codificador 100 de acordo com a Modalidade 2 estão especificamente descritos com referência aos desenhos.
[00253] A Figura 14 é um fluxograma que indica um exemplo de um processo de transformada, um processo de quantização, e um proces- so de codificação de acordo com a Modalidade 2. Na Figura 14, subs- tancialmente os mesmos processos que na Figura 11 são designados com as mesmas marcas de referência, e suas descrições são omitidas conforme apropriado.
[00254] Nesta modalidade, após uma transformada secundária ser executada (S104), o quantizador 108 deriva uma segunda matriz de quantização de uma primeira matriz de quantização (S111). Por exemplo, o quantizador 108 deriva a segunda matriz de quantização aplicando uma transformada secundária na primeira matriz de quanti- zação. Em outras palavras, o quantizador 108 transforma a primeira matriz de quantização utilizando uma base utilizada na transformada secundária de um bloco corrente a ser codificado.
[00255] “Quando uma transformada secundária é executada sobre somente um ou mais primeiros coeficientes primários incluídos nos coeficientes primários em um bloco corrente, deve ser notado que um ou mais primeiros valores de componente da segunda matriz de quan- tização que corresponde aos um ou mais primeiros coeficientes primá- rios sobre os quais a transformada secundária é executada podem ser derivados da primeira matriz de quantização, e cada um de um ou mais segundos valores de componente da segunda matriz de quanti- zação que corresponde aos um ou mais segundos coeficientes primá- rios nos quais uma transformada secundária não é executada podem ser comuns com os valores de componente que correspondem àque- les da primeira matriz de quantização. Em outras palavras, cada um dos um ou mais segundos valores de componente da segunda matriz de quantização podem coincidir com os valores de componente cor- respondentes da primeira matriz de quantização.
[00256] O quantizador 108 então calcula coeficientes secundários quantizados executando uma segunda quantização sobre os coeficien- tes secundários (S105). Nesta segunda quantização, a segunda matriz de quantização derivada na Etapa S111 é utilizada.
[00257] O codificador de entropia 110 gera um fluxo de bits codifi- cado por codificação de entropia ou coeficientes primários quantizados ou coeficientes secundários quantizados (S112). Mais ainda, nesta modalidade, o codificador de entropia 110 escreve a primeira matriz de quantização em um fluxo de bits codificado. Por outro lado, o codifica- dor de entropia 110 não escreve a segunda matriz de quantização no fluxo de bits codificado.
[00258] “Neste modo, o quantizador 108 executa processos de quantização enquanto comutando entre a primeira matriz de quantiza-
ção e a segunda matriz de quantização com base em aplicação / não aplicação de uma transformada secundária sobre o bloco corrente. Neste tempo, o quantizador 108 deriva a segunda matriz de quantiza- ção da primeira matriz de quantização. Um Processo de Decodificação, um Processo de Quantização In- versa, e um Processo de Transformada Inversa em um Decodifi- cador
[00259] A seguir, um processo de decodificação, um processo de quantização inversa, e um processo de transformada inversa executa- dos pelo decodificador de entropia 202, o quantizador inverso 204, e transformador inverso 206 do decodificador 200 de acordo com esta modalidade estão especificamente descritos com referência aos dese- nhos.
[00260] A Figura 15 é um fluxograma que indica um exemplo de um processo de decodificação, um processo de quantização inversa, e um processo de transformada inversa de acordo com a Modalidade 2. Na Figura 15, substancialmente os mesmos processos que na Figura 13 são designados com as mesmas marcas de referência, e suas descri- ções são omitidas conforme apropriado.
[00261] Primeiro, o decodificador de entropia 202 decodifica coefi- cientes quantizados codificados incluídos em um fluxo de bits codifica- do (S211). Neste tempo, o decodificador de entropia 202 analisa a primeira matriz de quantização do fluxo de bits codificado.
[00262] O transformador inverso 206 determina se executar uma transformada secundária inversa com base no fluxo de bits codificado como na Modalidade 1 (S202). Aqui, no caso onde é determinado que a transformada secundária inversa não deve ser executada (Não em 8202), o quantizador inverso 204 executa uma primeira quantização inversa sobre os coeficientes quantizados decodificados como na Mo- dalidade 1 (S203).
[00263] No outro caso onde é determinado que a transformada se- cundária inversa deve ser executada (Sim em S202), o quantizador inverso 204 deriva uma segunda matriz de quantização da primeira matriz de quantização (S212). Especificamente, o quantizador inverso 204 deriva a segunda matriz de quantização utilizando o mesmo mé- todo como utilizado pelo codificador 100. Por exemplo, o quantizador inverso 204 deriva a segunda matriz de quantização aplicando uma transformada secundária na primeira matriz de quantização. Em outras palavras, o quantizador inverso 204 transforma a primeira matriz de quantização utilizando uma base utilizada na transformada secundária de um bloco corrente a ser decodificado. Quando uma transformada secundária inversa é executada sobre somente um ou mais primeiros coeficientes secundários incluídos nos coeficientes secundários no bloco corrente, deve ser notado que somente um ou mais primeiros valores de componente da segunda matriz de quantização que corres- pondem aos um ou mais primeiros coeficientes secundários sobre os quais transformada secundária inversa é executada podem ser deriva- dos da primeira matriz de quantização, e cada um de um ou mais se- gundos valores de componente da segunda matriz de quantização que corresponde aos um ou mais segundos coeficientes secundários sobre os quais a transformada secundária inversa não é executada podem ser comuns com os valores de componente que correspondem àque- les da primeira matriz de quantização. Em outras palavras, cada um dos um ou mais segundos valores de componente da segunda matriz de quantização podem coincidir com os valores de componente cor- respondentes da primeira matriz de quantização.
[00264] Subsequentemente, o processo na Etapa S204 e as se- guintes etapas são executados.
[00265] Neste modo, o quantizador inverso 204 executa uma quan- tização inversa enquanto comutando entre a primeira matriz de quanti-
zação e a segunda matriz de quantização com base em aplicação / não aplicação de uma transformada secundária inversa sobre o bloco corrente. Neste tempo, o quantizador inverso 204 deriva a segunda matriz de quantização da primeira matriz de quantização. Consequen- temente, o decodificador 200 é capaz de executar a segunda quanti- zação inversa mesmo quando a segunda matriz de quantização não está incluída em um fluxo de bits codificado. Efeitos, etc.
[00266] Como acima descrito, o codificador 100 e decodificador 200 de acordo com esta modalidade são capazes de derivar a segunda matriz de quantização da primeira matriz de quantização. Isto elimina a necessidade de transmitir a segunda matriz de quantização para o de- codificador, o que torna possível aumentar a eficiência de codificação.
[00267] “De acordo com isto, é possível derivar a segunda matriz de quantização aplicando uma transformada secundária na primeira ma- triz de quantização. Consequentemente, é possível transformar a pri- meira matriz de quantização que corresponde a um espaço primário na segunda matriz de quantização que corresponde a um espaço se- cundário, o que torna possível aumentar a eficiência de codificação enquanto reduzindo a diminuição em qualidade de imagem subjetiva. VARIAÇÃO DA MODALIDADE 2
[00268] Apesar de um exemplo de diretamente aplicar uma trans- formada secundária na primeira matriz de quantização como um mé- todo para derivar a segunda matriz de quantização ter sido descrito nesta modalidade, deve ser notado que este é um exemplo não limi- tante. Daqui em diante, outro exemplo de um método para derivar uma segunda matriz de quantização está descrito com referência a Figura
16.
[00269] A Figura 16 é um fluxograma que indica um exemplo de um processo para derivar a segunda matriz de quantização de acordo com uma variação da Modalidade 2. Este fluxograma indica um exemplo do processo na Etapa S111 na Figura 14 e o processo na Etapa S212 na Figura 15.
[00270] Na Figura 16, o quantizador 108 e quantizador inverso 204 derivam uma terceira matriz de quantização de uma primeira matriz de quantização (S301). Neste tempo, cada um dos valores de componen- te de uma terceira matriz de quantização é maior quando um valor de componente correspondente na primeira matriz de quantização é me- nor. Em outras palavras, o valor de componente da terceira matriz de quantização diminui com o aumento em valor de componente corres- pondente da primeira matriz de quantização. Em outras palavras, os valores de componente da primeira matriz de quantização e os valores de componente da terceira matriz de quantização tem uma relação de- crescente monótona. Por exemplo, cada um dos valores de compo- nente da terceira matriz de quantização é um recíproco do valor de componente correspondente na primeira matriz de quantização.
[00271] A seguir, um do quantizador 108 e do quantizador inverso 204 deriva uma quarta matriz de quantização aplicando uma transfor- mada secundária a uma terceira matriz de quantização (S302). Em outras palavras, um do quantizador 108 e do quantizador inverso 204 transforma a terceira matriz de quantização utilizando uma base utili- zada na transformada secundária de um bloco corrente.
[00272] Finalmente, um do quantizador 108 e do quantizador inver- so 204 deriva uma quinta matriz de quantização da quarta matriz de quantização como a segunda matriz de quantização (S303). Neste tempo, cada um dos valores de componente da quinta matriz de quan- tização é maior quando um valor de componente correspondente da quarta matriz de quantização é menor. Em outras palavras, o valor de componente na quarta matriz de quantização diminui com o aumento no valor de componente correspondente da quinta matriz de quantiza-
ção. Em outras palavras, os valores de componente da quarta matriz de quantização e os valores de componente da quinta matriz de quan- tização têm uma relação de diminuição monótona. Por exemplo, cada um dos valores de componente da quinta matriz de quantização é um recíproco do valor de componente correspondente na quarta matriz de quantização.
[00273] Derivando a segunda matriz de quantização como acima descrito, é possível reduzir a influência de erro de arredondamento no tempo de uma transformada secundária para componentes que têm um valor relativamente pequeno incluído na primeira matriz de quanti- zação. Em outras palavras, é possível reduzir a influência do erro de arredondamento sobre os valores de componente a serem aplicados a coeficientes para os quais perdas são desejadas serem pequenas de modo a reduzir a diminuição em qualidade de imagem subjetiva. Con- sequentemente, é possível adicionalmente reduzir a diminuição em qualidade de imagem subjetiva.
[00274] — Além disso, os recíprocos dos valores de componente cor- respondentes da primeira matriz de quantização / da quarta matriz de quantização podem ser utilizados como os valores de componente da terceira matriz de quantização / da quinta matriz de quantização. Con- sequentemente, é possível derivar os valores de componente por sim- ples cálculo, o que torna possível reduzir a carga de processamento e tempo de processamento para derivar a segunda matriz de quantiza- ção. MODALIDADE 3
[00275] A seguir, a Modalidade 3 será descrita. Esta modalidade é diferente da Modalidade 1 em que coeficientes secundários são quan- tizados sem utilizar uma matriz de quantização quando uma transfor- mada secundária foi executada. Daqui em diante, esta modalidade se- rá descrita em detalhes com referência aos desenhos, focalizando so-
bre diferenças da Modalidade 1. Um Processo de Transformada, um Processo de Quantização, um Processo de codificação em um Codificador
[00276] Um processo de transformada, um processo de quantiza- ção, e um processo de codificação executados pelo transformador 106, o quantizador 108, e codificador de entropia 110 do codificador 100 de acordo com a Modalidade 3 são especificamente descritos com referência aos desenhos.
[00277] A Figura 17 é um fluxograma que indica um exemplo do processo de transformada, do processo de quantização, e do processo de codificação de acordo com a Modalidade 3. Na Figura 17, substan- cialmente os mesmos processos que na Figura 11 são designados com as mesmas marcas de referência, e suas descrições são omitidas conforme apropriado.
[00278] Após a transformada secundária de coeficientes primários para coeficientes secundários ser executada (S104), o quantizador 108 calcula coeficientes secundários quantizados executando uma se- gunda quantização diferente de uma primeira quantização sobre coefi- cientes secundários (S121). Nesta modalidade, a segunda quantiza- ção é uma quantização não ponderada na qual nenhuma matriz de quantização é utilizada. Em outras palavras, a segunda quantização está destinada a dividir cada um de coeficientes secundários de um bloco corrente a ser codificado, utilizando uma etapa de quantização comum entre os coeficientes secundários. A etapa de quantização comum é derivada de um parâmetro de quantização para o bloco cor- rente. Especificamente, a etapa de quantização comum é uma única constante fixa para todos os coeficientes secundários do bloco corren- te. Em outras palavras, a etapa de quantização comum é uma cons- tante a qual não depende das posições ou ordens dos coeficientes se- cundários.
[00279] Neste modo, nesta modalidade, o quantizador 108 comuta entre uma quantização ponderada e uma quantização não ponderada, com base em aplicação / não aplicação de uma transformada secun- dária sobre o bloco corrente. Um Processo de Decodificação, um Processo de Quantização In- versa, e um Processo de Transformada Inversa em um Decodifi- cador
[00280] A seguir, um processo de decodificação, um processo de quantização inversa, e um processo de transformada inversa executa- dos pelo decodificador de entropia 202, o quantizador inverso 204, e o transformador inverso 206 do decodificador 200 de acordo com a Mo- dalidade 3 estão especificamente descritos com referência aos dese- nhos.
[00281] A Figura 18 é um fluxograma que indica um exemplo do processo de decodificação, do processo de quantização inversa, e do processo de transformada inversa de acordo com a Modalidade 3. Na Figura 18, substancialmente os mesmos processos que na Figura 13 são designados com as mesmas marcas de referência, e suas descri- ções são omitidas conforme apropriado.
[00282] “Quando é determinado que a transformada secundária in- versa deve ser executada (Sim em S202), o quantizador inverso 204 calcula coeficientes secundários executando uma segunda quantiza- ção inversa diferente da primeira quantização inversa sobre os coefici- entes quantizados decodificados (S221). A segunda quantização in- versa é uma quantização inversa à segunda quantização no codifica- dor 100. Nesta modalidade, a segunda quantização é uma quantiza- ção não ponderada na qual nenhuma matriz de quantização é utiliza- da.
[00283] Neste modo, nesta modalidade, o quantizador inverso 204 comuta entre uma quantização inversa ponderada e uma quantização inversa não ponderada, com base em aplicação / não aplicação da transformada secundária inversa sobre um bloco corrente a ser deco- dificado. Efeitos, etc.
[00284] Como acima descrito, o codificador 100 e decodificador 200 de acordo com esta modalidade são capazes de utilizar a quantização / quantização inversa não ponderada como a segunda quantização / segunda quantização inversa. Consequentemente, é possível pular um processo para codificar e um processo para derivar uma matriz de quantização para a segunda quantização enquanto reduzindo a dimi- nuição em qualidade de imagem subjetiva devido à utilização da pri- meira matriz de quantização para a primeira quantização / primeira quantização inversa como a segunda quantização / segunda quantiza- ção inversa. MODALIDADE 4
[00285] A seguir, a Modalidade 4 será descrita. Esta modalidade é diferente da Modalidade 3 em que uma transformada é executada após multiplicar cada um dos coeficientes primários obtidos através de uma transformada primária por um valor de componente correspon- dente de uma matriz de ponderação. Daqui em diante, esta modalida- de será descrita em detalhes com referência aos desenhos, focalizan- do sobre diferenças da Modalidade 3. Um Processo de Transformada, um Processo de Quantização, um Processo de Codificação em um Codificador
[00286] Um processo de transformada, um processo de quantiza- ção, e um processo de codificação executados pelo transformador 106, o quantizador 108, e o codificador de entropia 110 do codificador 100 de acordo com a Modalidade 4 estão especificamente descritos com referência aos desenhos.
[00287] A Figura 19 é um fluxograma que indica um exemplo do processo de transformada, do processo de quantização, e do processo de codificação de acordo com a Modalidade 4. A Figura 20 é um dia- grama para explicar um exemplo de uma transformada secundária de acordo com a Modalidade 4. Na Figura 19, substancialmente os mes- mos processos que na Figura 17 são designados com as mesmas marcas de referência, e suas descrições são omitidas conforme apro- priado.
[00288] “Quando é determinado que uma transformada secundária deve ser executada (Sim em S102), o transformador 106 executa uma transformada secundária de coeficientes primários para coeficientes secundários (S130). Especificamente, como indicado na Figura 20, em uma transformada secundária, o transformador 106 calcula coeficien- tes primários ponderados multiplicando cada um dos coeficientes pri- mários por um valor de componente correspondente de uma matriz de ponderação (S131). A matriz de ponderação é uma matriz para execu- tar ponderação sobre os coeficientes primários. O transformador 106 então transforma os coeficientes primários ponderados para coeficien- tes secundários (S132). Esta transformada é substancialmente a mesma que a transformada secundária em cada uma das modalidades acima, e os coeficientes primários ponderados são transformados ao invés dos coeficientes primários.
[00289] A matriz de ponderação pode ser derivada de uma primeira matriz de quantização. Neste caso, por exemplo, os valores de com- ponente da matriz de ponderação e os valores de componente da pri- meira matriz de quantização podem ter uma relação de diminuição monótona. Especificamente, por exemplo, cada um dos valores de componente da matriz de ponderação podem ser um recíproco do va- lor de componente correspondente da primeira matriz de quantização. Neste modo, é possível utilizar a primeira matriz de quantização para ponderar com uma etapa de quantização para uma matriz de pondera-
ção para coeficientes de ponderação.
[00290] Além disso, a matriz de ponderação pode ser incluída em um fluxo de bits codificado, ou pode ser definida com antecedência em um padrão. Além disso, em um padrão, uma pluralidade de matrizes ponderadas pode ser definida. Neste caso, uma matriz de ponderação pode ser selecionada da pluralidade de matrizes de ponderação defi- nidas com antecedência, com base em um dado perfil, nível, ou simila- res.
[00291] O quantizador 108 então calcula coeficientes secundários quantizados executando uma segunda quantização diferente da pri- meira quantização sobre os coeficientes secundários (S121). Nesta modalidade, a segunda quantização é uma quantização não pondera- da na qual nenhuma matriz de quantização é utilizada. Em outras pa- lavras, a segunda quantização está destinada a dividir cada um dos coeficientes secundários de um bloco corrente a ser codificado, utili- zando uma etapa de quantização comum entre os coeficientes secun- dários. Neste tempo, por exemplo, uma etapa de quantização comum pode ser derivada de um parâmetro de quantização para um bloco cor- rente a ser codificado, pelo quantizador 108. Um Processo de Decodificação, um Processo de Quantização In- versa, e um Processo de Transformada Inversa em um Decodifi- cador
[00292] A seguir, um processo de decodificação, um processo de quantização inversa, e um processo de transformada inversa executa- dos pelo decodificador de entropia 202, o quantizador inverso 204, e o transformador inverso 206 do decodificador 200 de acordo com a Mo- dalidade 4 estão especificamente descritos com referência aos dese- nhos.
[00293] A Figura 21 é um fluxograma que indica um exemplo do processo de decodificação, do processo de quantização inversa, e do processo de transformada inversa de acordo com a Modalidade 4. À Figura 22 é um diagrama para explicar um exemplo de uma transfor- mada secundária inversa de acordo com a Modalidade 4. Na Figura 21, substancialmente os mesmos processos que na Figura 18 são de- signados com as mesmas marcas de referência, e suas descrições são omitidas conforme apropriado.
[00294] “Quando é determinado que a transformada secundária in- versa deve ser executada (Sim em S202), o quantizador inverso 204 calcula coeficientes secundários executando uma segunda quantiza- ção inversa diferente da primeira quantização inversa sobre os coefici- entes quantizados decodificados (S221). A segunda quantização in- versa é uma quantização inversa à segunda quantização no codifica- dor 100. Nesta modalidade, a segunda quantização é uma quantiza- ção não ponderada na qual nenhuma matriz de quantização é utiliza- da. Em outras palavras, como indicado na Figura 22, o quantizador inverso 204 calcula coeficientes secundários multiplicando cada um dos coeficientes quantizados de um bloco corrente a ser decodificado por uma etapa de quantização comum entre os coeficientes quantiza- dos. Neste tempo, por exemplo, a etapa de quantização comum pode ser derivada de um parâmetro de quantização para o bloco corrente.
[00295] A seguir, o transformador inverso 206 executa uma trans- formada secundária inversa de coeficientes secundários para coefici- entes primários (S230). Especificamente, como indicado na Figura 22, o transformador inverso 206 executa uma transformada inversa de co- eficientes secundários para coeficientes primários ponderados (S231). Esta transformada inversa é uma transformada inversa de coeficientes primários ponderados para coeficientes secundários no codificador 100 (S132).
[00296] Mais ainda, o transformador inverso 206 calcula coeficien- tes primários dividindo cada um dos coeficientes primários ponderados por um valor de componente correspondente em uma matriz de pon- deração (S232). Esta matriz de ponderação coincide com uma matriz de ponderação utilizada no codificador 100.
[00297] A matriz de ponderação pode ser derivada de uma primeira matriz de quantização pelo quantizador inverso 204. Neste caso, por exemplo, os valores de componente da matriz de ponderação e os va- lores de componente da primeira matriz de quantização podem ter uma relação de diminuição monótona. Especificamente, por exemplo, cada um dos valores de componente da matriz de ponderação pode ser um recíproco de um valor de componente correspondente da pri- meira matriz de quantização.
[00298] Além disso, a matriz de ponderação pode ser incluída em um fluxo de bits codificado, ou pode ser definida com antecedência em um padrão. Além disso, uma pluralidade de matrizes de ponderação pode ser definida com antecedência em um padrão. Neste caso, a ma- triz de ponderação pode ser selecionada da pluralidade de matrizes de ponderação definida com antecedência, com base em um dado perfil, nível, ou similares. Efeitos, etc.
[00299] Como acima descrito, o codificador 100 de acordo com esta modalidade é capaz de calcular coeficientes primários ponderados multiplicando cada um dos coeficientes primários por um valor de componente correspondente da matriz de ponderação. Além disso, o decodificador 200 de acordo com esta modalidade é capaz de calcular os coeficientes primários dividindo cada um dos coeficientes primários ponderados com um valor de componente correspondente da matriz de ponderação. Em outras palavras, o codificador 100 e decodificador 200 de acordo com esta modalidade são capazes de executar a pon- deração relativa à quantização sobre os coeficientes primários antes de serem sujeitos à transformada secundária. Consequentemente, é possível executar a quantização / quantização inversa equivalente à quantização / quantização inversa ponderada sem novamente prepa- rar uma matriz de quantização que corresponde ao espaço secundário quando a transformada secundária / transformada secundária inversa deve ser executada. Como um resultado, é possível aumentar a efici- ência de codificação enquanto reduzindo a diminuição em qualidade de imagem subjetiva.
[00300] Além disso, o codificador 100 e decodificador 200 de acor- do com esta modalidade são capazes de derivar a matriz de pondera- ção da primeira matriz de quantização. Consequentemente, é possível reduzir a quantidade de codificação para a matriz de ponderação, o que torna possível reduzir a eficiência de codificação enquanto redu- zindo a diminuição em qualidade de imagem subjetiva.
[00301] Além disso, o codificador 100 e decodificador 200 de acor- do com esta modalidade são capazes de derivar uma etapa de quanti- zação comum entre os coeficientes secundários em um bloco corrente de um parâmetro de quantização. Consequentemente, novas informa- ções para a etapa de quantização comum podem ser incluídas em um fluxo codificado, o que torna possível reduzir a quantidade de codifica- ção para a etapa de quantização comum. MODALIDADE 5
[00302] A seguir, a Modalidade 5 será descrita. Esta modalidade é diferente de cada uma das modalidades acima em que uma quantiza- ção é executada sobre coeficientes primários antes de uma transfor- mada secundária quando a transformada secundária é aplicada. Daqui em diante, esta modalidade será descrita em detalhes com referência aos desenhos, focalizando sobre diferenças de cada uma das modali- dades acima. Um Processo De Transformada, um Processo de Quantização, um Processo de Codificação em um Codificador
[00303] Um processo de transformada, um processo de quantiza- ção, e um processo de codificação executados pelo transformador 106, o quantizador 108, e codificador de entropia 110 do codificador 100 de acordo com a Modalidade 5 estão especificamente descritos com referência aos desenhos.
[00304] A Figura 23 é um fluxograma que indica um exemplo do processo de transformada, do processo de quantização, e do processo de codificação de acordo com a Modalidade 5. Na Figura 23, substan- cialmente os mesmos processos que na Figura 11 são designados com as mesmas marcas de referência, e suas descrições são omitidas conforme apropriado.
[00305] Aqui, no caso onde é determinado que uma transformada secundária não deve ser executada (Não em S102), o quantizador 108 calcula coeficientes primários quantizados executando uma primeira quantização sobre os coeficientes primários (S141).
[00306] No outro caso onde é determinado que a transformada se- cundária deve ser executada (Sim em S102), o quantizador 108 calcu- la os segundos coeficientes primários quantizados executando uma segunda quantização sobre coeficientes primários (S142). Nesta mo- dalidade, uma primeira quantização e uma segunda quantização po- dem ser diferentes uma da outra como nas Modalidades 1 a 4 ou po- dem ser a mesma. Em outras palavras, nesta modalidade, os mesmos processos podem ser executados utilizando a mesma matriz de quan- tização na primeira quantização e na segunda quantização. Subse- quentemente, o transformador 106 executa uma transformada secun- dária dos segundos coeficientes primários quantizados para coeficien- tes secundários quantizados (S143).
[00307] O codificador de entropia 110 gera um fluxo de bits codifi- cado por codificação de entropia ou primeiros coeficientes primários quantizados ou coeficientes secundários quantizados (S106).
[00308] “Neste modo, nesta modalidade, a segunda quantização é executada antes da transformada secundária quando a transformada secundária é aplicada sobre o bloco corrente. Em outras palavras, a segunda quantização é executada sobre os coeficientes primários. Um Processo de Decodificação, um Processo de Quantização In- versa, e um Processo de Transformada Inversa em um Decodifi- cador
[00309] A seguir, um processo de decodificação, um processo de quantização inversa, e um processo de transformada inversa executa- dos pelo decodificador de entropia 202, o quantizador inverso 204, e o transformador inverso 206 do decodificador 200 de acordo com a Mo- dalidade 5 estão especificamente descritos com referência aos dese- nhos.
[00310] A Figura 24 é um fluxograma que indica um exemplo do processo de decodificação, do processo de quantização inversa, e do processo de transformada inversa de acordo com a Modalidade 5. Na Figura 24, substancialmente os mesmos processos que na Figura 13 são designados com as mesmas marcas de referência, e suas descri- ções são omitidas conforme apropriado.
[00311] Aqui, no caso onde é determinado que uma transformada secundária inversa não deve ser executada (Não em S202), o quanti- zador inverso 204 calcula coeficientes primários executando uma pri- meira quantização inversa sobre os coeficientes quantizados decodifi- cados (S241). A primeira quantização inversa é uma quantização in- versa à primeira quantização no codificador 100.
[00312] No outro caso onde é determinado que uma transformada secundária inversa deve ser executada (Sim em S202), o transforma- dor inverso 206 executa uma transformada secundária inversa dos co- eficientes quantizados decodificados para coeficientes primários quan- tizados (S242). A transformada secundária inversa é uma transforma-
da inversa à transformada secundária no codificador 100. Subsequen- temente, o quantizador inverso 204 calcula coeficientes primários exe- cutando uma segunda quantização inversa sobre coeficientes primá- rios quantizados (S243). A segunda quantização inversa é uma quan- tização inversa à segunda quantização no codificador 100. Conse- quentemente, a segunda quantização inversa é a mesma que a primei- ra quantização inversa quando a segunda quantização é a mesma que a primeira quantização.
[00313] “Neste modo, nesta modalidade, a segunda quantização in- versa é executada após a transformada secundária inversa quando a transformada secundária inversa é executada sobre um bloco corrente a ser decodificado. Em outras palavras, a segunda quantização inver- sa é executada sobre os coeficientes primários quantizados. Efeitos, etc.
[00314] De acordo com isto, como o codificador 100 e decodificador 200 de acordo com esta modalidade são capazes de executar a quan- tização antes da transformada secundária, uma transformada secun- dária pode ser excluída do loop de processo de predição quando o processo de transformada secundária é um processo sem perdas. Consequentemente, a carga para o encadeamento de processamento pode ser reduzida. Além disso, executar a quantização antes da trans- formada secundária elimina a necessidade de seletivamente utilizar a primeira matriz de quantização e a segunda matriz de quantização, o que torna possível simplificar o processo.
VARIAÇÃO
[00315] Apesar de um ou mais codificadores e decodificadores de acordo com os um ou mais aspectos da presente descrição terem sido descritos com base nas modalidades, a presente descrição não está limitada às modalidades. Os um ou mais aspectos da presente descri- ção podem abranger modalidades obteníveis adicionando vários tipos de modificações que qualquer pessoa versada na técnica chegaria às modalidades e modalidades configuráveis combinando elementos constituintes em diferentes modalidades dentro do escopo de presente descrição.
[00316] Por exemplo, apesar da segunda matriz de quantização ser derivada após a transformada secundária ou após a determinação de uma transformada secundária inversa na Modalidade 2, este é um exemplo não limitante. Uma segunda matriz de quantização pode ser derivada a qualquer momento em um período após uma primeira ma- triz de quantização ser obtida e antes de uma segunda quantização / quantização inversa. Por exemplo, uma segunda matriz de quantiza- ção pode ser derivada no tempo de iniciar codificação ou decodifica- ção de uma imagem corrente que inclui um bloco corrente. Neste ca- so, uma segunda matriz de quantização nem sempre precisa ser deri- vada para cada bloco.
[00317] Apesar da codificação / decodificação de um único bloco corrente a ser codificado / decodificado foi principalmente descrita em cada uma das modalidades, deve ser notado que (i) o processo de transformada, o processo de quantização, e o processo de codifica- ção, ou (ii) o processo de decodificação, o processo de quantização inversa, e o processo de transformada inversa acima descritos podem ser aplicados a uma pluralidade de blocos incluída na imagem corrente a ser codificado / uma pluralidade de blocos incluída na imagem cor- rente a ser decodificado. Neste caso, uma primeira matriz de quantiza- ção e uma segunda matriz de quantização que correspondem ao se- guinte podem ser utilizadas: um modo de predição (por exemplo, intra- predição ou interpredição), o tipo de um valor de pixel (por exemplo, luminância ou crominância), um tamanho de bloco, ou qualquer com- binação destes.
[00318] “Deve ser notado que um processo de comutação de quan-
tização com base em aplicação / não aplicação de uma transformada secundária em cada modalidade pode ser ligado / desligado em um nível de fatia, um nível lado a lado, um nível de CTU, ou um nível de CU. Além disso, ligado / desligado pode ser determinado de acordo com um tipo de quadro (quadro |, quadro P, ou quadro B) e/ou um mo- do de predição.
[00319] Além disso, um processo de comutação de quantização com base em aplicação / não aplicação em cada modalidade pode ser executado em um ou ambos de um bloco de luminância e um bloco de crominância.
[00320] Apesar de se executar a transformada secundária é feito após a transformada primária em cada uma das modalidades acima, este é um exemplo não limitante. Se executar uma transformada se- cundária pode ser feito com antecedência antes de processar um blo- co corrente a ser codificado.
[00321] Além disso, a primeira matriz de quantização e a segunda matriz de quantização nem sempre precisam ser diferentes uma da outra. MODALIDADE 6
[00322] Como descrito em cada uma das modalidades acima, cada bloco funcional pode tipicamente ser realizado como uma MPU e me- mória, por exemplo. Mais ainda, processos executados por cada um dos blocos funcionais são tipicamente realizados por uma unidade de execução de programas, tal como um processador, lendo e executan- do um software (um programa) gravado sobre um meio de gravação tal como ROM. O software pode ser distribuído através de, por exem- plo, download e pode ser gravado sobre um meio de gravação tal co- mo uma memória semicondutor e distribuído. Note que que cada bloco funcional pode, é claro, também ser realizado como hardware (circuito dedicado).
[00323] Mais ainda, o processamento descrito em cada uma das modalidades pode ser realizado através de processamento integrado utilizando um único aparelho (sistema) e, alternativamente, pode ser realizado através de processamento descentralizado utilizando uma pluralidade de aparelhos. Mais ainda, o processador que executa o programa acima descrito pode ser um único processador ou uma plu- ralidade de processadores. Em outras palavras, um processamento integrado pode ser executado e, alternativamente, um processamento descentralizado pode ser executado.
[00324] As modalidades da presente descrição não estão limitadas às modalidades exemplares acima; várias modificações podem ser feitas nas modalidades exemplares, os resultados das quais estão também incluídos dentro escopo das modalidades da presente descri- ção.
[00325] A seguir, exemplos de aplicação do método de codificação de imagem móvel (método de codificação de imagem) e do método de decodificação de imagem móvel (método de decodificação de imagem) descritos em cada uma das modalidades acima e um sistema que em- prega os mesmos serão descritos. O sistema está caracterizado como incluindo um codificador de imagem que emprega o método de codifi- cação de imagem, um decodificador de imagem que emprega o méto- do de decodificação de imagem e um codificador / decodificador de imagem que inclui tanto o codificador de imagem quanto o decodifica- dor de imagem. Outras configurações incluídas no sistema podem ser modificadas em uma base caso a caso. Exemplos de Utilização
[00326] Uma configuração geral para o sistema de provisão de con- teúdo ex100 implementa um serviço de distribuição de conteúdo. À área na qual o serviço de comunicação está provido está dividida em células de tamanhos desejados, e estações de base são ex106,
ex107, ex108, ex109, e ex110, as quais são estações sem fio fixas, estão localizadas dentro de respectivas células.
[00327] No sistema de provisão de conteúdo ex100, dispositivos que incluem um computador ex111, dispositivo de jogos ex112, câme- ra ex113, utensílio doméstico ex114, e smartphone ex115 estão co- nectados na internet ex101 através do provedor de serviço de internet ex102 ou rede de comunicações ex104 e estações de base ex106 até ex110. O sistema de provisão de conteúdo ex100 pode combinar e conectar qualquer combinação dos elementos acima. Os dispositivos podem ser diretamente ou indiretamente conectados juntos através de uma rede telefônica ou comunicação de campo próximo ao invés de através de estações de base ex106 até ex110, as quais são estações sem fio fixas. Mais ainda, um servidor de fluxo ex103 está conectado a dispositivos que incluem o computador ex111, dispositivo de jogos ex112, câmera ex113, utensílio doméstico ex114, e smartphone ex115 através, por exemplo, internet ex101. O servidor de fluxo ex103 está também conectado a, por exemplo, um terminal em um hotspot em avião ex117 através de satélite ex116.
[00328] Note que ao invés de estações de base ex106 até ex110, pontos de acesso sem fio ou hotspots podem ser utilizados. O servidor de fluxo ex103 pode estar conectado na rede de comunicações ex104 diretamente ao invés de através de internet ex101 ou provedor de ser- viço de internet ex102, e pode estar conectado no avião ex117 direta- mente ao invés de através de satélite ex116.
[00329] A câmera ex113 é um dispositivo capaz de capturar ima- gens imóveis e vídeo, tal como uma digital câmera. O smartphone ex115 é um dispositivo de smartphone, telefone celular, ou telefone de sistema de fone portátil pessoal (PHS) que podem operar sob os pa- drões de sistema de comunicações móveis de típicos sistemas 2G, 3G, 3.9G, e 4G, assim como o sistema de geração 5G futuro.
[00330] O utensílio doméstico ex118 é, por exemplo, um refrigera- dor ou um dispositivo incluído em um sistema de cogeração de célula de combustível doméstico.
[00331] No sistema de provisão de conteúdo ex100, um terminal que inclui uma função de captura de imagem e/ou vídeo é capaz de, por exemplo, fluxo ao vivo conectando a um servidor de fluxo ex103 através da, por exemplo, estação de base ex106. Quando em fluxo ao vivo, um terminal (por exemplo, computador ex111, dispositivo de jo- gos ex112, câmera ex113, utensílio doméstico ex114, smartphone ex115, ou avião ex117) executa o processamento de codificação des- critos nas modalidades acima sobre um conteúdo de imagem imóvel ou vídeo capturado por um usuário através do terminal, multiplexa os dados de vídeo obtidos através da codificação e dados de áudio obti- dos por codificação de áudio que corresponde ao vídeo, e transmite os dados obtidos para o servidor de fluxo ex103. Em outras palavras, o terminal funciona como o codificador de imagem de acordo com um aspecto da presente descrição.
[00332] O servidor de fluxo ex103 coloca em fluxo dados de conte- údo transmitidos para clientes que solicitam o fluxo. Exemplos de cli- entes incluem computador ex111, dispositivo de jogos ex112, câmera ex113, utensílio doméstico ex114, smartphone ex115 e terminais den- tro do avião ex117 os quais são capazes de decodificar os dados codi- ficados acima descritos. Os dispositivos que recebem os dados em fluxo decodificam e reproduzem os dados recebidos. Em outras pala- vras, os dispositivos cada um funciona como o decodificador de ima- gem de acordo com um aspecto de presente descrição. Processamento Descentralizado
[00333] O servidor de fluxo ex103 pode ser realizado como uma pluralidade de servidores ou computadores entre os quais tarefas tais como o processamento, gravação e fluxo de dados são divididas. Por exemplo, o servidor de fluxo ex103 pode ser realizado como uma rede de fornecimento de conteúdo (CDN) que coloca em fluxo um conteúdo através de uma rede que conecta múltiplos servidores de borda locali- zados através do mundo. Em uma CDN, um servidor de borda fisica- mente próximo do cliente é dinamicamente designado para o cliente. O conteúdo é colocado em cache e colocado em fluxo para o servidor de borda para reduzir tempos de carga. No caso de, por exemplo, algum tipo de um erro ou uma mudança em conectividade devido a, por exemplo, um pico em tráfego, é possível colocar em fluxo dados esta- velmente em altas velocidades já que é possível evitar as partes afe- tadas da rede, por exemplo, dividindo o processamento entre uma plu- ralidade de servidores de borda ou comutando as tarefas de fluxo para um diferente servidor de borda, e continuar o fluxo.
[00334] A descentralização não está limitada a apenas a divisão do processamento para fluxo; a codificação dos dados capturados pode ser dividida entre e executada pelos terminais, no lado de servidor, ou ambos. Em um exemplo, em codificação típica, o processamento é executado em dois loops. O primeiro loop é para detectar quão com- plicada a imagem é em uma base quadro por quadro ou cena por ce- na, ou detectando a carga de codificação. O segundo loop é para pro- cessamento que mantém a qualidade de imagem e aperfeiçoa a efici- ência de codificação. Por exemplo, é possível reduzir a carga de pro- cessamento dos terminais e aperfeiçoar a qualidade e eficiência de codificação do conteúdo fazendo os terminais executarem o primeiro loop da codificação e tendo o lado de servidor que recebeu o conteúdo executando o segundo loop da codificação. Em tal caso, quando do recebimento de uma solicitação de decodificação, é possível que os dados codificados resultantes do primeiro loop executado por um ter- minal sejam recebidos e reproduzidos sobre outro terminal em aproxi- madamente tempo real. Isto possibilita realizar um fluxo suave em tempo real.
[00335] Em outro exemplo, a câmera ex113 ou similares extrai uma quantidade de característica de uma imagem, comprime os dados re- lacionados à quantidade de características como metadados e trans- mite os metadados comprimidos para um servidor. Por exemplo, o servidor determina a significância de um objeto com base na quantida- de de características e muda a precisão de quantização consequen- temente para executar compressão adequada para o significado da imagem. Os dados de quantidade de características são especifica- mente efetivos em aperfeiçoar a precisão e eficiência de predição de vetor de movimento durante o segundo passo de compressão execu- tado pelo servidor. Mais ainda, uma codificação que tem uma carga de processamento relativamente baixa, tal como codificação de compri- mento variável (VLC), pode ser manipulada pelo terminal e codificação que tem uma carga de processamento relativamente alta, tal como co- dificação aritmética binária adaptável em contexto (CABAC) pode ser manipulada pelo servidor.
[00336] Em ainda outro exemplo, existem casos nos quais uma plu- ralidade de vídeos de aproximadamente a mesma cena é capturada por uma pluralidade de terminais em, por exemplo, um estádio, shop- ping center ou fábrica. Em tal caso, por exemplo, a codificação pode ser descentralizada dividindo as tarefas de processamento entre a plu- ralidade de terminais que capturaram os vídeos e, se necessário, ou- tros terminais que não capturaram os vídeos e o servidor, em uma ba- se por unidade. As unidades podem ser, por exemplo, grupos de ima- gens (GOP), imagens ou blocos que resultam da divisão de uma ima- gem. Isto torna possível reduzir os tempos de carga e conseguir um fluxo que é mais próximo do tempo real.
[00337] Mais anda, como os vídeos são de aproximadamente a mesma cena, o gerenciamento e/ou instrução pode ser executado pelo servidor de modo que os vídeos capturados pelos terminais possam ser referenciados cruzados. Mais ainda, o servidor pode receber dados codificados dos terminais, mudar a relação de referência entre itens de dados ou corrigir ou substituir as próprias imagens, e então executar a codificação. Isto torna possível gerar um fluxo com qualidade e efici- ência aumentadas para os itens de dados individuais.
[00338] Mais ainda, o servidor pode colocar em fluxo dados de ví- deo após executar transcodificação para converter o formato de codifi- cação dos dados de vídeo. Por exemplo, um servidor pode converter o formato de codificação de MPEG para VP, e pode converter H.264 pa- ra H.265.
[00339] “Neste modo, a codificação pode ser executada por um ter- minal ou um ou mais servidores. Consequentemente, apesar do dispo- sitivo que executa a codificação ser referido como um "servidor" ou "terminal" na descrição seguinte, alguns ou todos os processos execu- tados pelo servidor podem ser executados pelo terminal, e do mesmo modo alguns ou todos os processos executados pelo terminal podem ser executados pelo servidor. Isto também se aplica a processos de decodificação. 3D, Múltiplos Ângulos
[00340] Em anos recentes, a utilização de imagens ou vídeos com- binados de imagens ou vídeos de diferentes cenas concorrentemente capturadas ou da mesma cena capturada de diferentes ângulos por uma pluralidade de terminais tal como a câmera ex113 e/ou smartpho- ne ex115 aumentou. Os vídeos capturados pelos terminais são combi- nados com base em, por exemplo, a relação posicional relativa sepa- radamente obtida entre os terminais, ou regiões em um vídeo que têm com pontos de características coincidentes.
[00341] Além da codificação de imagens móveis bidimensionais, o servidor pode codificar uma imagem imóvel com base em análise de cena de uma imagem móvel, ou automaticamente ou em um ponto no tempo especificado pelo usuário, e transmitir a imagem parada codifi- cada para um terminal de recepção. Mais ainda, quando o servidor pode obter a relação posicional relativa entre os terminais de captura de vídeo, além de imagens móveis bidimensionais, o servidor pode gerar uma geometria tridimensional de uma cena com base em vídeo da mesma cena capturada de diferentes ângulos. Note que o servidor pode separadamente codificar dados tridimensionais gerados de, por exemplo, uma nuvem de pontos, e pode, com base em um resultado de reconhecer ou rastrear uma pessoa ou objeto utilizando dados tri- dimensionais, selecionar ou reconstruir e gerar um vídeo para ser transmitido para um terminal de recepção de vídeos capturados por uma pluralidade de terminais.
[00342] Isto permite o usuário desfrutar uma cena livremente sele- cionando vídeos que correspondem aos terminais de captura de vídeo, e permite o usuário desfrutar o conteúdo obtido extraindo, dos dados tridimensionais reconstruídos de uma pluralidade de imagens ou ví- deos, um vídeo de um ponto de vista selecionado. Mais ainda, similar ao vídeo, o som pode ser gravado de ângulos relativamente diferentes, e o servidor pode multiplexar, com o vídeo, o áudio de um ângulo ou espaço específico de acordo com o vídeo, e transmitir o resultado.
[00343] Em anos recentes, um conteúdo que é um composto do mundo real e um mundo virtual, tal como um conteúdo de realidade virtual (VR) e realidade aumentada (AR), também tornou-se popular. No caso de imagens VR, o servidor pode criar imagens dos pontos de vista de ambos os olhos esquerdo e direito e executar uma codificação que tolera referência entre as imagens de dois pontos de vista, tal co- mo codificação de múltiplas vistas (MVC), e, alternativamente, pode codificar as imagens como fluxos separados sem referenciamento. Quando as imagens são decodificadas como fluxos separados, os flu-
xos podem ser sincronizados quando reproduzidos de modo a recriar um espaço tridimensional virtual de acordo com o ponto de vista do usuário.
[00344] No caso de imagens de AR, o servidor sobrepõe informa- ções de objeto virtual existentes em um espaço virtual sobre informa- ções de câmeras que representam um espaço de mundo real com ba- se em uma posição tridimensional ou movimento da perspectiva do usuário. O decodificador pode obter ou armazenar informações de ob- jeto virtual e dados tridimensionais, gerar imagens bidimensionais com base em movimento da perspectiva do usuário e então gerar dados sobrepostos ininterruptamente conectando as imagens. Alternativa- mente, o decodificador pode transmitir, para o servidor, o movimento da perspectiva do usuário além de uma solicitação de informações so- bre objeto virtual, e o servidor pode gerar dados sobrepostos com ba- se em dados tridimensionais armazenados no servidor de acordo com o movimento recebido, e codificar e colocar em fluxo os dados sobre- postos gerados para o decodificador. Note que os dados sobrepostos incluem, além de valores RGB, um valor a que indica transparência, e o servidor ajusta o valor a para seções outras que o objeto gerado dos dados tridimensionais para, por exemplo, 0, e pode executar a codifi- cação enquanto estas seções são transparentes. Alternativamente, o servidor pode ajustar o fundo para um valor RGB predeterminado, tal como uma chave de croma, e gerar dados nos quais áreas outras que o objeto são ajustadas como o fundo.
[00345] A decodificação de dados similarmente em fluxo pode ser executada pelo cliente (isto é, os terminais), no lado de servidor, ou dividida entre eles. Em um exemplo, um terminal pode transmitir uma solicitação de recepção para um servidor, o conteúdo solicitado pode ser recebido e decodificado por outro terminal, e um sinal decodificado pode ser transmitido para um dispositivo que tem um display. É possí-
vel reproduzir dados de alta qualidade de imagem descentralizando o processamento e apropriadamente selecionando o conteúdo indepen- dentemente da capacidade de processamento do próprio terminal de comunicações. Em ainda em outro exemplo, enquanto uma TV, por exemplo, está recebendo dados de imagem que são grandes em ta- manho, uma região de uma imagem, tal como um bloco obtido dividin- do a imagem, pode ser decodificada e exibida em um terminal pessoal ou terminais de um espectador ou espectadores da TV. Isto torna pos- sível para os espectadores compartilharem uma visão de imagem grande assim como para cada espectador verificar sua área designada ou inspecionar uma região em detalhes adicionais mais próximo.
[00346] No futuro, tanto em ambientes internos quanto externos, em situações nas quais uma pluralidade de conexões sem fio é possível sobre distâncias próximas, médias e longas, é esperado ser capaz de ininterruptamente receber um conteúdo mesmo quando comutando para dados apropriados para a conexão corrente, utilizando um padrão de sistema de fluxo tal como MPEG-DASH. Com isto, o usuário pode comutar entre dados em tempo real enquanto livremente selecionando um decodificador ou aparelho de display que inclui não somente seu próprio terminal, mas também, por exemplo, displays dispostos em ambientes internos ou externos. Mais ainda, com base em, por exem- plo, informações sobre a posição do usuário, a decodificação pode ser executada enquanto comutando qual terminal manipula a decodifica- ção e qual terminal manipula a exibição de conteúdo. Isto torna possí- vel, enquanto em rota para um destino, exibir, sobre parede de um prédio próximo no qual um dispositivo capaz de exibir conteúdo está embutido ou sobre parte do solo, mapear informações enquanto em movimento. Mais ainda, é também possível comutar a taxa de bits dos dados recebidos com base na acessibilidade para os dados codifica- dos sobre uma rede, tal como quando dados codificados são coloca-
dos em cache sobre um servidor rapidamente acessíveis do terminal de recepção ou quando dados codificados são copiados para um ser- vidor de borda em um serviço de fornecimento de conteúdo. Codificação Escalável
[00347] A comutação de conteúdo será descrita com referência a um fluxo escalável, que está codificado por compressão através de implementação do método de codificação de imagem móvel descrito nas modalidades acima. O servidor pode ter uma configuração na qual o conteúdo é comutado enquanto fazendo uso da escalabilidade tem- poral e/ou espacial de um fluxo, o que é conseguido por divisão em e codificação de camadas. Note que que pode existir uma pluralidade de fluxos individuais que são do mesmo conteúdo mas diferente qualida- de. Em outras palavras, determinando qual camada decodificar com base em fatores internos, tal como a capacidade de processamento no lado de decodificador e fatores externos, tal como largura de banda de comunicação, o lado de decodificador pode livremente comutar entre um conteúdo de baixa resolução e conteúdo de alta resolução enquan- to decodificando. Por exemplo, em um caso no qual o usuário deseja continuar assistindo, em casa ou um dispositivo tal como uma TV co- nectada na internet, um vídeo que ele ou ela estava previamente as- sistindo no smartphone ex115 enquanto em movimento, o dispositivo pode simplesmente decodificar o mesmo fluxo para uma camada dife- rente, o que reduz a carga de lado de servidor.
[00348] Mais ainda, além da configuração acima descrita na qual a escalabilidade é conseguida como um resultado das imagens sendo codificadas por camada e a camada de melhoramento está acima da camada base, a camada de melhoramento pode incluir metadados com base em, por exemplo, informações estatísticas sobre a imagem, e o lado de decodificador pode gerar um conteúdo de alta qualidade de imagem executando formação de imagens de superresolução em uma imagem na camada de base com base nos metadados. A forma- ção de imagens de superresolução pode aperfeiçoar a razão SN en- quanto mantendo a solução e/ou aumentando a resolução. Os meta- dados incluem informações para identificar um coeficiente de filtro li- near ou um não linear utilizado em processamento de superresolução, ou informações que identificam um valor de parâmetro em processa- mento de filtro, aprendizado de máquina ou método dos mínimos qua- drados utilizados em processamento de superresolução.
[00349] —Alternativamente, uma configuração na qual uma imagem é dividida em, por exemplo, blocos de acordo com o significado de, por exemplo, um objeto na imagem, e no lado de decodificador, somente uma região parcial é decodificada selecionando um bloco para decodi- ficar, é também aceitável. Mais ainda, armazenando um atributo sobre o objeto (pessoa, carro, bola etc.) e uma posição do objeto no vídeo (coordenadas em imagens idênticas) como metadados, o lado de de- codificador pode identificar a posição de um objeto desejado com base nos metadados e determinar qual bloco ou blocos incluem aquele ob- jeto. Por exemplo, os metadados são armazenados utilizando uma es- trutura de armazenamento de dados diferente de dados de pixel tal como uma mensagem de SEI em HEVC. Estes metadados indicam, por exemplo, a posição, tamanho ou cor do objeto principal.
[00350] Mais ainda, metadados podem ser armazenados em unida- des de uma pluralidade de imagens, tal como fluxo, sequência ou uni- dades de acesso randômico. Com isto, o lado de decodificador pode obter, por exemplo, o tempo no qual uma pessoa específica aparece no vídeo, e ajustando isto com informações de unidade de imagem, pode identificar uma imagem na qual o objeto está presente e a posi- ção do objeto na imagem. Otimização de Webpage
[00351] Uma tela de display de uma webpage, por exemplo, no computador ex111. Uma tela de display de uma webpage, por exem- plo, o smartphone ex115. Uma webpage pode incluir uma pluralidade de conexões de imagem as quais são conexões para conteúdo de imagem, e a aparência da webpage difere dependendo do dispositivo utilizado para ver a webpage. Quando uma pluralidade de conexões de imagem é visível sobre a tela até o usuário explicitamente selecio- nar uma conexão de imagens, ou até a conexão de imagem estar no centro aproximado da tela ou a conexão de imagem inteira cabe na tela, o aparelho de display (decodificador) exibe, como as conexões de imagem, imagens paradas incluídas no conteúdo ou imagens | exibe vídeo tal como um gif animado utilizando uma pluralidade de imagens paradas ou imagens |, por exemplo, ou recebe somente a camada de base e decodifica e exibe o vídeo.
[00352] — Quando uma conexão de imagem é selecionada pelo usuá- rio, o aparelho de display decodifica dando a mais alta prioridade para a camada base. Note que se existirem informações no código HTML da webpage que indicam que o conteúdo é escalável, o aparelho de display pode decodificar até a camada de melhoramento. Mais ainda, de modo a garantir reprodução em tempo real, antes de uma seleção ser feita ou quando a largura de banda é severamente limitada, o apa- relho de display pode reduzir o retardo entre o ponto no tempo no qual a imagem principal é decodificada e o ponto no tempo no qual a ima- gem decodificada é exibida (isto é, o retardo entre o início da decodifi- cação do conteúdo até a exibição do conteúdo), decodificando e exi- bindo somente imagens de referência avançadas (imagem |, imagem P, imagem B de referência avançada). Mais ainda, o aparelho de dis- play pode propositalmente ignorar a relação de referência entre ima- gens e grosseiramente decodificar todas as imagens B e P como ima- gens de referência avançadas, e então executar decodificação normal conforme o número de imagens recebidas ao longo do tempo aumen-
ta. Direção Autônoma
[00353] “Quando transmitindo e recebendo dados de imagens para- da ou vídeo, tal como informações de mapa bi ou tridimensional para direção autônoma ou direção assistida em um automóvel, o terminal de recepção pode receber, além de dados de imagens que pertencem a uma ou mais camadas, informações sobre, por exemplo, o clima ou construção de estradas como metadados, e associar os metadados com os dados de imagem quando decodificando. Note que os meta- dados podem ser designados por camada e, alternativamente, podem simplesmente ser multiplexados com os dados de imagem.
[00354] Em tal caso, como o automóvel, drone, avião, etc., que in- clui o terminal de recepção é móvel, o terminal de recepção pode inin- terruptamente receber e decodificar enquanto comutando entre esta- ções de base entre as estações de base ex106 até ex110 transmitindo informações que indicam a posição do terminal de recepção quando de solicitação de recepção. Mais ainda, de acordo com a seleção feita pelo usuário, a situação do usuário, ou a largura de banda da conexão, o terminal de recepção pode dinamicamente selecionar em que grau os metadados são recebidos ou em qual grau as informações de ma- pa, por exemplo, são atualizadas.
[00355] Com isto, no sistema de provisão de conteúdo ex100, o cli- ente pode receber, decodificar e reproduzir, em tempo real, informa- ções codificadas transmitidas pelo usuário. Fluxo de Conteúdo Individual
[00356] No sistema de provisão de conteúdo ex100, além de alta qualidade de imagem, longo conteúdo distribuído por uma entidade de distribuição de vídeo, um fluxo de unidifusão ou multidifusão de baixa qualidade de imagem, curto conteúdo de um indivíduo é também pos- sível. Mais ainda, tal conteúdo de indivíduos é provável adicionalmente aumentar em popularidade. O servidor pode primeiro executar um pro- cessamento de edição sobre o conteúdo antes do processamento de codificação de modo a refinar o conteúdo individual. Isto pode ser con- seguido com, por exemplo, a seguinte configuração.
[00357] Em tempo real enquanto capturando um conteúdo de vídeo ou imagem ou após o conteúdo ter sido capturado e acumulado, o ser- vidor executa processamento de reconhecimento com base nos dados brutos ou codificados, tal como processamento de erros de captura, processamento de pesquisa de cena, análise de significado, e/ou pro- cessamento de detecção de objetos. Então, com base no resultado do processamento de reconhecimento, o servidor - ou quando avisado ou automaticamente - edita o conteúdo, exemplos dos quais incluem: tal como correção de foco e/ou turvamento de movimento; remover cenas de baixa prioridade tal como cenas que são baixas em brilho compa- radas com outras imagens ou fora de foco; ajuste de borda de objeto; e ajuste do tom de cor. O servidor codifica os dados editados com ba- se no resultado da edição. É sabido que vídeos excessivamente lon- gos tendem a receber menos visualizações. Consequentemente, de modo a manter o conteúdo dentro de um comprimento específico que escala com o comprimento do vídeo original, o servidor pode, além das cenas de baixa prioridade acima descritas, automaticamente cor- tar cenas com baixo movimento com base em um resultado de pro- cessamento de imagem. Alternativamente, o servidor pode gerar e co- dificar um resumo de vídeo com base em um resultado de uma análise do significado de uma cena.
[00358] “Note que existem casos nos quais o conteúdo individual pode incluir um conteúdo que infringe um direito autoral, direito moral, direitos de retrato etc. Tal instância pode levar a uma situação desfa- vorável para o criador, tal como quando o conteúdo é compartilhado além do escopo pretendido pelo criador. Consequentemente, antes da codificação, o servidor pode, por exemplo, editar imagens de modo a desfocar faces de pessoas na periferia da tela ou desfocar o interior de uma casa, por exemplo. Mais ainda, o servidor pode ser configurado para reconhecer as faces pessoas outras que uma pessoa registrada em imagens a serem codificadas e quando tais faces aparecerem em uma imagem, por exemplo, aplicar um filtro de mosaico na face da pessoa. Alternativamente, como pré ou pós-processamento para codi- ficação, o usuário pode especificar, por razões de direitos autorais, que uma região de uma imagem que inclui uma pessoa ou uma região fundo seja processada, e o servidor pode processar a região especifi- cada, por exemplo, substituindo a região por uma imagem diferente ou desfocando a região. Se a região incluir uma pessoa, a pessoa pode ser rastreada na imagem móvel, e a região de cabeça pode ser substi- tuída por outra imagem conforme pessoa move.
[00359] Mais ainda, como existe uma demanda para visualização em tempo real de conteúdo produzido por indivíduos, o qual tende a ser pequeno em tamanho de dados, o decodificador primeiro recebe a camada base como a prioridade mais alta e executa decodificação e reprodução, apesar disto poder diferir dependendo de largura de ban- da. Quando o conteúdo é reproduzido duas ou mais vezes, tal como quando o decodificador recebe a camada de melhoramento durante a decodificação e a reprodução da camada base e faz um loop da re- produção, o decodificador pode reproduzir um vídeo de alta qualidade de imagem, incluindo a camada de melhoramento. Se o fluxo for codi- ficado utilizando tal codificação escalável, o vídeo pode ser de baixa qualidade quando em um estado não selecionado ou no início do ví- deo, mas este pode oferecer uma experiência na qual a qualidade de imagem do fluxo progressivamente aumenta em um modo inteligente. Isto não está limitado a apenas codificação escalável; a mesma expe- riência pode ser oferecida configurando um único fluxo de um fluxo de baixa qualidade reproduzido pela primeira vez e um segundo fluxo co- dificado utilizando o primeiro fluxo como uma referência. Outros Exemplos de Utilização
[00360] A codificação e decodificação pode ser executada pela LSI ex500, a qual está tipicamente incluída em cada terminal. A LSI ex500 pode estar configurada em um único chip ou uma pluralidade de chips. Um software para codificar e decodificar de imagens móveis pode ser integrado em algum tipo de meio de gravação (tal como CD-ROM, um disco flexível ou um disco rígido) que é legível por, por exemplo, com- putador ex111 e a codificação e a decodificação podem ser executa- das utilizando o software. Mais ainda, quando o smartphone ex115 es- tá equipado com uma câmera, os dados de vídeo obtidos pela câmera podem ser transmitidos. Neste caso, os dados de vídeo são codifica- dos pela LSI ex500 incluída no smartphone ex115.
[00361] Note que a LSI ex500 pode estar configurada para baixar e ativar uma aplicação. Em tal caso, o terminal primeiro determina se esta é compatível com o esquema utilizado para codificar o conteúdo Ou se esta é capaz de executar um serviço específico. Quando o ter- minal não é compatível com o esquema de codificação do conteúdo ou quando o terminal não é capaz de executar um serviço específico, o terminal primeiro baixa um codec ou software de aplicação então ob- tém e reproduz o conteúdo.
[00362] Além do exemplo de sistema de provisão de conteúdo ex100 que utiliza internet ex101, pelo menos o codificador de imagem móvel (codificador de imagem) ou o decodificador de imagem móvel (decodificador de imagem) descrito nas modalidades acima, pode ser implementado em um sistema de transmissão digital. O mesmo pro- cessamento de codificação e processamento de decodificação pode ser aplicado para transmitir e receber ondas de rádio de transmissão sobrepostas com dados de áudio e vídeo multiplexados utilizando, por exemplo, um satélite, apesar disto estar direcionado para multidifusão enquanto que unidifusão é mais fácil com o com o sistema de provisão de conteúdo ex100. Configuração de Hardware
[00363] O smartphone ex115 possui uma configuração que inclui uma antena ex450 para transmitir e receber ondas de rádio para a e da estação de base ex110, uma câmera ex465 capaz de capturar ví- deo e imagens imóveis, e um display ex458 que exibe dados decodifi- cados, tal como o vídeo capturado pela câmera ex465 e vídeo recebi- do pela antena ex450. O smartphone ex115 ainda inclui uma interface de usuário ex466, tal como um painel de toque, unidade de saída de áudio ex457 tal como um alto-falante para emitir voz ou outro áudio, uma unidade de entrada de áudio ex456 tal como um microfone para entrada de áudio, uma memória ex467 capaz de armazenar dados de- codificados tais como vídeo ou imagens móveis capturados, áudio gravado, vídeo recebido ou imagens imóveis, correio, assim como da- dos decodificados, e uma fenda ex464 a qual é uma interface para SIM ex468 para autorizar acesso a uma rede e vários dados. Note que uma memória externa pode ser utilizada ao invés da memória ex467.
[00364] Mais ainda, um controlador principal ex460 o qual abran- gente controla o display ex458 e interface de usuário ex466, circuito de fonte de alimentação ex461, controlador de entrada de interface de usuário ex462, processador de sinal de vídeo ex455, interface de câ- mera ex463, controlador de display ex459, modulador / demodulador ex452, multiplexador / demultiplexador ex453, processador de sinal de áudio ex454, fenda ex464 e memória ex467 estão conectados através de um barramento ex470.
[00365] — Quando o usuário liga o botão de energia do circuito de fon- te de alimentação ex461, o smartphone ex115 é ligado em um estado operável por cada componente sendo suprido com energia de uma bateria.
[00366] O smartphone ex115 executa processamento para, por exemplo, chamada e transmissão de dados, com base em controle executado pelo controlador principal ex460, o qual inclui uma CPU, ROM, e RAM. Quando fazendo chamadas, um sinal de áudio gravado por uma unidade de entrada de áudio ex456 é convertido em um sinal de áudio digital pelo processador de sinal de áudio ex454, e este é aplicado com processamento de espectro expandido pelo modulador / demodulador ex452 e conversão digital-analógica e processamento de conversão de frequência pelo transmissor / receptor ex451, e então transmitido através da antena ex450. Os dados recebidos são amplifi- cados, convertidos em frequência, e convertidos analógico-digital, es- pectro expandido inverso processado pelo modulador / demodulador ex452, convertido em um sinal de áudio analógico pelo processador de sinal de áudio ex454, e então emitido da unidade de saída de áudio ex457. No modo de transmissão de dados, texto, imagem imóvel, ou dados de vídeo são transmitidos pelo controlador principal ex460 atra- vés do controlador de entrada de interface de usuário ex462 como um resultado de operação de, por exemplo, interface de usuário ex466 do corpo principal, e um processamento de transmissão e recepção simi- lar é executado. No modo de transmissão de dados, quando enviando um vídeo, imagem imóvel, vídeo e áudio, o processador de sinal de vídeo ex455 codifica por compressão, através do método de codifica- ção de imagem móvel descrito nas modalidades acima, um sinal de vídeo armazenado na memória ex467 ou um sinal de vídeo inserido da câmera ex465, e transmite os dados de vídeo codificados para o mul- tiplexador / demultiplexador ex453. Mais ainda, o processador de sinal de áudio ex454 codifica um sinal de áudio gravado por uma unidade de entrada de áudio ex456 enquanto a câmera ex465 está capturando, por exemplo, um vídeo ou imagem imóvel, e transmite os dados de áudio codificados para o multiplexador / demultiplexador ex453. O mul- tiplexador / demultiplexador ex453 multiplexa os dados de vídeo codifi- cados e dados de áudio codificados utilizando um esquema predeter- minado, modula e converte os dados utilizando o modulador / demodu- lador (circuito modulador / demodulador) ex452 e o transmissor / re- ceptor ex451, e transmite o resultado através da antena ex450.
[00367] “Quando um vídeo anexado em um e-mail ou um bate-papo ou um vídeo conectado de uma webpage, por exemplo, é recebido, de modo a decodificar os dados multiplexados recebidos através de uma antena ex450, o multiplexador / demultiplexador ex453 demultiplexa os dados multiplexados para dividir os dados multiplexados em um fluxo de bits de dados de vídeo e um fluxo de bits de dados de áudio, supre os dados de vídeo codificados para o processador de sinal de vídeo ex455 através do barramento síncrono ex470, e supre os dados de áudio codificados para o processador de sinal de áudio ex454 através do barramento síncrono ex470. O processador de sinal de vídeo ex455 decodifica o sinal de vídeo utilizando um método de decodificação de imagem móvel que corresponde ao método de codificação de imagem móvel descrito nas modalidades acima, e vídeo ou uma imagem imó- vel incluído no arquivo de imagem móvel conectado é exibido no dis- play ex458 através do controlador de display ex459. Mais ainda, o pro- cessador de sinal de áudio ex454 decodifica o sinal de áudio e emite áudio da unidade da saída de áudio ex457. Note que como o fluxo em tempo real está tornando-se cada vez mais popular, existem casos nos quais a reprodução do áudio pode ser socialmente inapropriada de- pendendo do ambiente do usuário. Consequentemente, como um valor inicial, uma configuração na qual somente dados de vídeo são repro- duzidos, isto é, o sinal de áudio não é reproduzido, é preferível. O áu- dio pode ser sincronizado e reproduzido somente quando uma entra- da, tal como quando o usuário clica em dados do vídeo, é recebida.
[00368] — Apesar do smartphone ex115 ter sido utilizado no exemplo acima, três implementações são concebíveis: um terminal de transcep- tor que inclui tanto um codificador quanto um decodificador; um termi- nal de transmissor que inclui somente um codificador; e um terminal de receptor que inclui somente um decodificador. Ainda, na descrição do sistema de transmissão digital, um exemplo é dado no qual dados mul- tiplexados obtidos como um resultado de dados de vídeo sendo multi- plexados com, por exemplo, dados de áudio, são recebidos ou trans- mitidos, mas os dados multiplexados podem ser dados de vídeo multi- plexados com dados outros que dados de áudio, tal como dados de texto relativos ao vídeo. Mais ainda, os próprios dados de vídeo ao in- vés de dados multiplexados podem ser recebidos ou transmitidos.
[00369] — Apesar do controlador principal ex460 que inclui uma CPU, ser descrito como controlando os processos de codificação ou decodi- ficação, terminais frequentemente incluem GPUs. Consequentemente, uma configuração é aceitável na qual uma grande área é processada de uma vez fazendo uso da capacidade de desempenho da GPU atra- vés da memória compartilhada pela CPU e GPU ou memória que inclui um endereço que é gerenciado de modo a permitir uma utilização co- mum pela CPU e GPU. Isto torna possível encurtar o tempo de codifi- cação, manter a natureza de tempo real do fluxo, e reduzir o atraso. Especificamente, o processamento relativo a estimativa de movimento, filtragem de desbloqueio, deslocamento adaptável de amostra (SAO) e transformação / quantização pode ser efetivamente executado pela GPU ao invés da CPU em unidades de, por exemplo, imagens, todas de uma vez.
APLICABILIDADE INDUSTRIAL
[00370] A presente descrição é aplicável, por exemplo, receptores de televisão, gravadores de vídeo digital, sistemas de navegação para automóvel, telefones móveis, câmeras digitais, câmeras de vídeo digi-
tal, etc.
MARCAS DE REFERÊNCIA NOS DESENHOS 100 codificador 102 divisor 104 subtrator 106 transformador 108 quantizador 110 codificador de entropia 112,204 quantizador inverso 114,206 transformador inverso 116,208 somador 118,210 memória de bloco 120,212 filtro de loop 122,214 memória de quadro 124,216 intrapreditor 126,218 interpreditor 128,220 controlador de predição 200 decodificador 202 decodificador de entropia

Claims (36)

REIVINDICAÇÕES
1. Codificador o qual codifica um bloco corrente a ser codi- ficado em uma imagem, caracterizado pelo fato de compreender: um circuito; e uma memória, em que utilizando a memória, o circuito: executa uma transformada primária de resíduos do bloco corrente para coeficientes primários; determina se uma transformada secundária dever ser apli- cada ao bloco corrente; (i) calcula coeficientes primários quantizados executando uma primeira quantização sobre os coeficientes primários quando a transformada secundária não deve ser aplicada, (ii) executa uma transformada secundária dos coeficientes primários para coeficientes secundários, e calcula coeficientes secundários quantizados execu- tando uma quantização secundária sobre os coeficientes secundários quando a transformada secundária deve ser aplicada, a quantização secundária sendo diferente da primeira quantização; e gera um fluxo de bits codificado codificando ou os coeficien- tes primários quantizados ou os coeficientes secundários quantizados.
2. Codificador de acordo com a reivindicação 1, caracteri- zado pelo fato de que a primeira quantização é uma quantização pon- derada que utiliza uma primeira matriz de quantização, e a segunda quantização é uma quantização ponderada que utiliza uma segunda matriz de quantização diferente da primeira matriz de quantização.
3. Codificador de acordo com a reivindicação 2, caracteri- zado pelo fato de que o circuito escreve a primeira matriz de quantiza- ção e a segunda matriz de quantização no fluxo de bits codificado.
4. Codificador de acordo com a reivindicação 3, caracteri-
zado pelo fato de que os coeficientes primários incluem um ou mais primeiros coeficientes primários e um ou mais segundos coeficientes primários, a transformada secundária é aplicada nos um ou mais pri- meiros coeficientes primários e não é aplicada ao um ou mais segun- dos coeficientes primários, a segunda matriz de quantização tem um ou mais primeiros valores de componente que correspondem aos um ou mais primeiros coeficientes primários e um ou mais segundos valores de componente que correspondem aos um ou mais segundos coeficientes primários, cada um dos um ou mais segundos valores de componente da segunda matriz de quantização coincide com um correspondente de valores de componente da primeira matriz de quantização, e quando o circuito escreve a segunda matriz de quantização, o circuito escreve, no fluxo de bits codificado, somente os um ou mais primeiros valores de componente entre os um ou mais primeiros valo- res de componente e os um ou mais segundos valores de componen- te.
5. Codificador de acordo com a reivindicação 3, caracteri- zado pelo fato de que na transformada secundária, uma pluralidade de bases a qual foi determinada é seletivamente utilizada, o fluxo de bits codificado inclui uma pluralidade de segun- das matrizes de quantização que corresponde à pluralidade de bases, e na segunda quantização, uma segunda matriz de quantiza- ção que corresponde a uma base utilizada para a segunda transfor- mada é selecionada da pluralidade de segundas matrizes de quantiza- ção.
6. Codificador de acordo com a reivindicação 2, caracteri- zado pelo fato de que a primeira matriz de quantização e a segunda matriz de quantização são definidas com antecedência em um padrão.
7. Codificador de acordo com a reivindicação 2, caracteri- zado pelo fato de que o circuito deriva a segunda matriz de quantiza- ção da primeira matriz de quantização.
8. Codificador de acordo com a reivindicação 7, caracteri- zado pelo fato de que os coeficientes primários incluem um ou mais primeiros coeficientes primários e um ou mais segundos coeficientes primários, a transformada secundária é aplicada nos um ou mais pri- meiros coeficientes primários e não é aplicada ao um ou mais segun- dos coeficientes primários, a segunda matriz de quantização tem um ou mais primeiros valores de componente que correspondem aos um ou mais primeiros coeficientes primários e um ou mais segundos valores de componente que correspondem aos um ou mais segundos coeficientes primários, cada um dos um ou mais segundos valores de componente da segunda matriz de quantização coincide com um correspondente de valores de componente da primeira matriz de quantização, e quando o circuito deriva a segunda matriz de quantização, o circuito deriva os um ou mais primeiros valores de componente da segunda matriz de quantização da primeira matriz de quantização.
9. Codificador de acordo com a reivindicação 7, caracteri- zado pelo fato de que a segunda matriz de quantização é derivada aplicando a transformada secundária na primeira matriz de quantiza- ção.
10. Codificador de acordo com a reivindicação 7, caracteri- zado pelo fato de que o circuito: deriva uma terceira matriz de quantização da primeira ma- triz de quantização, a terceira matriz de quantização tendo valores de componente os quais são maiores quando os valores de componente correspondentes da primeira matriz de quantização são menores; deriva uma quarta matriz de quantização aplicando uma transformada secundária na terceira matriz de quantização; e deriva, como a segunda matriz de quantização, uma quinta matriz de quantização da quarta matriz de quantização, a quinta matriz de quantização tendo valores de componente os quais são maiores quando os valores de componente correspondentes da quarta matriz de quantização são menores.
11. Codificador de acordo com a reivindicação 10, caracte- rizado pelo fato de que os valores de componente da terceira matriz de quantização são recíprocos dos valores de componente corresponden- tes da primeira matriz de quantização, e os valores de componente da quinta matriz de quantização são recíprocos dos valores de componente correspondentes da quarta matriz de quantização.
12. Codificador de acordo com a reivindicação 1, caracteri- zado pelo fato de que a primeira quantização é uma quantização pon- derada na qual uma matriz de quantização é utilizada, e a segunda quantização é uma quantização não ponderada na qual nenhuma matriz de quantização é utilizada.
13. Codificador de acordo com a reivindicação 1, caracteri- zado pelo fato de que a primeira quantização é uma quantização pon- derada que utiliza uma primeira matriz de quantização, na transformada secundária, (i) coeficientes primários pon- derados são calculados multiplicando cada um dos coeficientes primá- rios por um valor de componente correspondente de uma matriz de ponderação, e (ii) os coeficientes primários ponderados são transfor- mados em coeficientes secundários, e na segunda quantização, cada um dos coeficientes secun- dários é dividido por uma etapa de quantização comum entre os coefi-
cientes secundários.
14. Codificador de acordo com a reivindicação 13, caracte- rizado pelo fato de que o circuito deriva a matriz de ponderação da primeira matriz de quantização.
15. Codificador de acordo com a reivindicação 13 ou 14, caracterizado pelo fato de que o circuito deriva a etapa de quantização comum de um parâmetro de quantização para o bloco corrente.
16. Método de codificação para codificar um bloco corrente a ser codificado em uma imagem, caracterizado pelo fato de o método de codificação compreender: executar uma transformada primária de resíduos do bloco corrente para coeficientes primários; determinar se uma transformada secundária deve ser apli- cada ao bloco corrente; (i) calculando coeficientes primários quantizados executan- do uma primeira quantização sobre os coeficientes primários quando a transformada secundária não deve ser aplicada, (ii) executando uma transformada secundária dos coeficientes primários para coeficientes secundários, e calculando coeficientes secundários quantizados exe- cutando uma quantização secundária sobre os coeficientes secundá- rios quando a transformada secundária deve ser aplicada, a quantiza- ção secundária sendo diferente da primeira quantização; e gerando um fluxo de bits codificado codificando ou os coefi- cientes primários quantizados ou os coeficientes secundários quanti- zados.
17. Codificador o qual codifica um bloco corrente a ser codi- ficado em uma imagem, caracterizado pelo fato de o codificador com- preender: um circuito; e uma memória,
em que utilizando a memória, o circuito: executa uma transformada primária sobre resíduos do blo- co corrente para coeficientes primários; determina se uma transformada secundária dever ser apli- cada ao bloco corrente; (i) calcula os primeiros coeficientes primários quantizados executando uma primeira quantização sobre os coeficientes primários quando a transformada secundária não deve ser aplicada, (ii) calcula os segundos coeficientes primários quantizados executando uma se- gunda quantização sobre os primeiros coeficientes, e executa uma transformada secundária dos segundos coeficientes primários quanti- zados para coeficientes secundários quantizados quando a transfor- mada secundária deve ser aplicada; e gera um fluxo de bits codificado codificando ou os coeficien- tes primários quantizados ou os coeficientes secundários quantizados.
18. Método de codificação para codificar um bloco corrente a ser codificado em uma imagem, caracterizado pelo fato de o método de codificação compreender: executar uma transformada primária sobre resíduos do blo- co corrente para coeficientes primários; determinar se uma transformada secundária deve ser apli- cada ao bloco corrente; (i) calculando primeiros coeficientes primários quantizados executando uma primeira quantização sobre os coeficientes primários quando a transformada secundária não deve ser aplicada, (ii) calcu- lando segundos coeficientes primários quantizados executando uma segunda quantização sobre os primeiros coeficientes, e executando uma transformada secundária dos segundos coeficientes primários quantizados para coeficientes secundários quantizados quando a transformada secundária deve ser aplicada; e gerando um fluxo de bits codificado codificando ou os coefi- cientes primários quantizados ou os coeficientes secundários quanti- zados.
19. Decodificador o qual decodifica um bloco corrente a ser decodificado, caracterizado pelo fato de o decodificador compreender: um circuito; e uma memória, em que utilizando a memória, o circuito: decodifica os coeficientes quantizados de um bloco corren- te a ser decodificado de um fluxo de bits codificado; determina se uma transformada secundária inversa deve ser aplicada ao bloco corrente; calcula coeficientes primários executando uma primeira quantização inversa sobre os coeficientes quantizados, e executa uma transformada primária inversa dos coeficientes primários a resíduos do bloco corrente quando a transformada secundária inversa não deve ser aplicada; e calcula coeficientes secundários executando uma segunda quantização inversa sobre os coeficientes quantizados, executa uma transformada secundária inversa dos coeficientes secundários para coeficientes primários, e executa uma transformada primária inversa dos coeficientes primários a resíduos do bloco corrente quando a transformada secundária inversa deve ser aplicada.
20. Decodificador de acordo com a reivindicação 19, carac- terizado pelo fato de que a primeira quantização inversa é uma quanti- zação inversa ponderada que utiliza uma primeira matriz de quantiza- ção, e a segunda quantização inversa é uma quantização inversa ponderada que utiliza uma segunda matriz de quantização diferente da primeira matriz de quantização.
21. Decodificador de acordo com a reivindicação 20, carac- terizado pelo fato de que o circuito analisa a primeira matriz de quanti- zação e a segunda matriz de quantização do fluxo de bits codificado.
22. Decodificador de acordo com a reivindicação 21, carac- terizado pelo fato de que os coeficientes secundários incluem um ou mais primeiros coeficientes secundários e um ou mais segundos coefi- cientes secundários, a transformada secundária inversa é aplicada nos um ou mais primeiros coeficientes secundários e não é aplicada ao um ou mais segundos coeficientes secundários, a segunda matriz de quantização tem um ou mais primeiros valores de componente que correspondem aos um ou mais primeiros coeficientes secundários e um ou mais segundos valores de compo- nente que correspondem aos um ou mais segundos coeficientes se- cundários, cada um dos um ou mais segundos valores de componente da segunda matriz de quantização coincide com um correspondente de valores de componente da primeira matriz de quantização, e quando o circuito analisa a segunda matriz de quantização, o circuito analisa, do fluxo de bits codificado, somente os um ou mais primeiros valores de componente entre os um ou mais primeiros valo- res de componente e os um ou mais segundos valores de componen- te.
23. Decodificador de acordo com a reivindicação 21, carac- terizado pelo fato de que na transformada secundária inversa, uma pluralidade de bases a qual foi determinada é seletivamente utilizada, o fluxo de bits codificado inclui uma pluralidade de segun- das matrizes de quantização que corresponde à pluralidade de bases, e na segunda quantização inversa, uma segunda matriz de quantização que corresponde a uma base utilizada para a transforma- da secundária inversa é selecionada da pluralidade de segundas ma- trizes de quantização.
24. Decodificador de acordo com a reivindicação 20, carac- terizado pelo fato de que a primeira matriz de quantização e a segunda matriz de quantização são definidas com antecedência em um padrão.
25. Decodificador de acordo com a reivindicação 20, carac- terizado pelo fato de que o circuito deriva a segunda matriz de quanti- zação da primeira matriz de quantização.
26. Decodificador de acordo com a reivindicação 25, carac- terizado pelo fato de que os coeficientes secundários incluem um ou mais primeiros coeficientes primários e um ou mais segundos coefici- entes primários, a transformada secundária inversa é aplicada nos um ou mais primeiros coeficientes secundários e não é aplicada ao um ou mais segundos coeficientes secundários, a segunda matriz de quantização tem um ou mais primeiros valores de componente que correspondem aos um ou mais primeiros coeficientes secundários e um ou mais segundos valores de compo- nente que correspondem aos um ou mais segundos coeficientes se- cundários, cada um dos um ou mais segundos valores de componente da segunda matriz de quantização coincide com um correspondente de valores de componente da primeira matriz de quantização, e quando o circuito deriva a segunda matriz de quantização, o circuito deriva somente os um ou mais primeiros valores de compo- nente da primeira matriz de quantização.
27. Decodificador de acordo com a reivindicação 25, carac- terizado pelo fato de que a segunda matriz de quantização é derivada aplicando uma transformada secundária na primeira matriz de quanti-
zação.
28. Decodificador de acordo com a reivindicação 25, carac- terizado pelo fato de que o circuito: deriva uma terceira matriz de quantização da primeira ma- triz de quantização, a terceira matriz de quantização tendo valores de componente os quais são maiores quando os valores de componente correspondentes da primeira matriz de quantização são menores; deriva uma quarta matriz de quantização aplicando uma transformada secundária na terceira matriz de quantização, e deriva, como a segunda matriz de quantização, uma quinta matriz de quantização da quarta matriz de quantização, a quinta matriz de quantização tendo valores de componente os quais são maiores quando os valores de componente correspondentes da quarta matriz de quantização são menores.
29. Decodificador de acordo com a reivindicação 28, carac- terizado pelo fato de que os valores de componente da terceira matriz de quantização são recíprocos dos valores de componente correspon- dentes da primeira matriz de quantização, e os valores de componente da quinta matriz de quantização são recíprocos dos valores de componente correspondentes da quarta matriz de quantização.
30. Decodificador de acordo com a reivindicação 19, carac- terizado pelo fato de que a primeira quantização inversa é uma quanti- zação inversa ponderada na qual uma matriz de quantização é utiliza- da, e a segunda quantização inversa é uma quantização inversa não ponderada na qual nenhuma matriz de quantização é utilizada.
31. Decodificador de acordo com a reivindicação 19, carac- terizado pelo fato de que a primeira quantização inversa é uma quanti- zação inversa ponderada que utiliza uma primeira matriz de quantiza-
ção, na segunda transformada inversa, os coeficientes secundá- rios são calculados multiplicando cada um dos coeficientes quantiza- dos por uma etapa de quantização comum entre os coeficientes quan- tizados, e na segunda quantização inversa, os coeficientes primários são calculados (i) executando uma transformada inversa sobre os coe- ficientes secundários para coeficientes primários ponderados, e (ii) di- vidindo cada um dos coeficientes primários ponderados por um valor de componente correspondente de uma matriz de ponderação.
32. Decodificador de acordo com a reivindicação 31, carac- terizado pelo fato de que o circuito deriva a matriz de ponderação da primeira matriz de quantização.
33. Decodificador de acordo com a reivindicação 31 ou 32, caracterizado pelo fato de que o circuito deriva a etapa de quantização comum de um parâmetro de quantização para o bloco corrente.
34. Método de decodificação para decodificar um bloco cor- rente a ser decodificado em uma imagem, caracterizado pelo fato de compreender: decodificar coeficientes quantizados do bloco corrente de um fluxo de bits codificado; determinar se uma transformada secundária inversa deve ser aplicada ao bloco corrente; calcular coeficientes primários executando uma primeira quantização inversa sobre os coeficientes quantizados, e executar uma transformada primária inversa dos coeficientes primários a resí- duos do bloco corrente quando a transformada secundária inversa não deve ser aplicada; e calcular coeficientes secundários executando uma segunda quantização inversa sobre os coeficientes quantizados, executar uma transformada secundária inversa dos coeficientes secundários para coeficientes primários, e executar uma transformada primária inversa dos coeficientes primários a resíduos do bloco corrente quando a transformada secundária inversa deve ser aplicada.
35. Decodificador o qual decodifica um bloco corrente a ser decodificado em uma imagem, caracterizado pelo fato de compreen- der: um circuito; e uma memória, em que utilizando a memória, o circuito: decodifica coeficientes quantizados do bloco corrente de um fluxo de bits codificado; determina se uma transformada secundária inversa deve ser aplicada ao bloco corrente; calcula coeficientes primários executando uma primeira quantização inversa sobre os coeficientes quantizados, e executa uma transformada primária inversa dos coeficientes primários a resíduos do bloco corrente quando a transformada secundária inversa não deve ser aplicada; e executa uma transformada secundária inversa dos coefici- entes quantizados para coeficientes primários quantizados, calcula co- eficientes primários executando a quantização inversa secundária so- bre os coeficientes primários quantizados, e executa uma transforma- da primária inversa dos coeficientes primários a resíduos do bloco cor- rente quando a transformada secundária inversa deve ser aplicada.
36. Método de decodificação para decodificar um bloco cor- rente a ser decodificado em uma imagem, caracterizado pelo fato de compreender: decodificar coeficientes quantizados de um bloco corrente a ser decodificado de um fluxo de bits codificado;
determinar se uma transformada secundária inversa deve ser aplicada ao bloco corrente;
calcular coeficientes primários executando uma primeira quantização inversa sobre os coeficientes quantizados, e executar uma transformada primária inversa dos coeficientes primários a resí- duos do bloco corrente quando a transformada secundária inversa não deve ser aplicada; e executar uma transformada secundária inversa dos coefici- entes quantizados para coeficientes primários quantizados, calcular coeficientes primários executando uma segunda quantização inversa sobre os coeficientes primários quantizados, e executar uma transfor- mada primária inversa dos coeficientes primários a resíduos do bloco corrente quando a transformada secundária inversa deve ser aplicada.
BR112020000876-1A 2017-07-28 2018-07-25 dispositivo codificador, dispositivo decodificador, método de codificação, e método de decodificação BR112020000876A2 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762538338P 2017-07-28 2017-07-28
US62/538,338 2017-07-28
JP2017-167911 2017-08-31
JP2017167911 2017-08-31
PCT/JP2018/027787 WO2019022099A1 (ja) 2017-07-28 2018-07-25 符号化装置、復号装置、符号化方法及び復号方法

Publications (1)

Publication Number Publication Date
BR112020000876A2 true BR112020000876A2 (pt) 2020-07-21

Family

ID=69404873

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020000876-1A BR112020000876A2 (pt) 2017-07-28 2018-07-25 dispositivo codificador, dispositivo decodificador, método de codificação, e método de decodificação

Country Status (6)

Country Link
EP (1) EP3644606A4 (pt)
JP (2) JP6669938B2 (pt)
KR (1) KR20200031102A (pt)
CN (1) CN110999292A (pt)
BR (1) BR112020000876A2 (pt)
CA (1) CA3070678A1 (pt)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200031102A (ko) * 2017-07-28 2020-03-23 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
KR20200080187A (ko) * 2018-12-26 2020-07-06 한국전자통신연구원 양자화 행렬 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
JP7444970B2 (ja) * 2019-08-20 2024-03-06 北京字節跳動網絡技術有限公司 デフォルトおよびユーザ定義のスケーリング行列の使用法
MX2022009490A (es) * 2020-02-06 2022-11-09 Pcms Holdings Inc Mejora de nube de puntos 3d con múltiples mediciones.
US11381797B2 (en) * 2020-07-16 2022-07-05 Apple Inc. Variable audio for audio-visual content
CN112055210B (zh) * 2020-08-19 2022-10-28 浙江大华技术股份有限公司 一种视频图像处理方法、编码器和计算机可读存储介质
CN112991549A (zh) * 2021-03-31 2021-06-18 上海商汤临港智能科技有限公司 一种点云数据处理方法、装置、计算机设备和存储介质
CN113347431A (zh) * 2021-04-15 2021-09-03 昆明学院 通讯终端的图像通讯装置和方法
CN117291953B (zh) * 2023-11-27 2024-03-08 长春理工大学 一种用于无人机在复杂背景下跟踪地面动态目标的方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4292659B2 (ja) * 1999-11-18 2009-07-08 ソニー株式会社 画像情報変換装置及び画像情報変換方法
US6628709B2 (en) * 2000-12-21 2003-09-30 Matsushita Electric Corporation Of America Bit number prediction for VLC coded DCT coefficients and its application in DV encoding/transcoding
EP2464016A4 (en) * 2009-08-06 2012-07-18 Panasonic Corp ENCODING METHOD, DECODING METHOD, ENCODING DEVICE, AND DECODING DEVICE
TW201136318A (en) * 2009-08-06 2011-10-16 Panasonic Corp Encoding method, decoding method, encoding device and decoding device
GB2492333B (en) * 2011-06-27 2018-12-12 British Broadcasting Corp Video encoding and decoding using transforms
TWI561060B (en) * 2015-01-15 2016-12-01 Mstar Semiconductor Inc Signal processing apparatus and signal processing method including quantization or inverse-quantization process
US10681379B2 (en) * 2015-09-29 2020-06-09 Qualcomm Incorporated Non-separable secondary transform for video coding with reorganizing
KR20200031102A (ko) * 2017-07-28 2020-03-23 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법

Also Published As

Publication number Publication date
JP6669938B2 (ja) 2020-03-18
EP3644606A1 (en) 2020-04-29
JP2020099092A (ja) 2020-06-25
JPWO2019022099A1 (ja) 2020-04-02
CN110999292A (zh) 2020-04-10
JP7104085B2 (ja) 2022-07-20
EP3644606A4 (en) 2020-05-20
KR20200031102A (ko) 2020-03-23
CA3070678A1 (en) 2019-01-31

Similar Documents

Publication Publication Date Title
BR112020001991A2 (pt) codificador de imagem, decodificador de imagem, método de codificação de imagem e método de decodificação de imagem
US10863175B2 (en) Encoder, and decoder, encoding method, decoding method
BR112020002254A2 (pt) codificador de imagem, decodificador de imagem, método de codificação de imagem e método de decodificação de imagem
BR112020002205A2 (pt) codificador de imagem, decodificador de imagem, método de codificação de imagem e método de decodificação de imagem
US11146812B2 (en) Encoder, decoder, encoding method, and decoding method
BR112020000876A2 (pt) dispositivo codificador, dispositivo decodificador, método de codificação, e método de decodificação
BR112020010935A2 (pt) dispositivo de codificação de imagem, dispositivo de decodificação de imagem, método de codificação de imagem, e método de decodificação de imagem
BR112020026686A2 (pt) Sistema e método para codificação de vídeo
US11949884B2 (en) Encoder, decoder, encoding method, and decoding method
BR112020001579A2 (pt) codificador, decodificador, método de codificação, método de decodificação
BR112020022773A2 (pt) codificador, decodificador, método de codificação e método de decodificação
BR112021004822A2 (pt) codificador, decodificador, método de codificação e método de decodificação
BR112020025664A2 (pt) dispositivo codificador, dispositivo decodificador, método de codificação e método de decodificação
ES2917553T3 (es) Dispositivo de codificación, procedimiento de codificación, dispositivo de decodificación y procedimiento de decodificación
BR112020013554A2 (pt) codificador, decodificador, método de codificação, e método de decodificação
US11895323B2 (en) Encoder, decoder, encoding method, and decoding method
BR112021014711A2 (pt) Codificador, decodificador, método de codificação e método de decodificação
BR112020021718A2 (pt) codificador, decodificador, método de codificação e método de decodificação
BR112020021187A2 (pt) codificador, decodificador, método de codificação, e método de decodificação
US11671617B2 (en) Encoder, decoder, encoding method, and decoding method
US20220264092A1 (en) Encoder, decoder, encoding method, and decoding method
BR112021009596A2 (pt) codificador, decodificador, método de codificação, e método de decodificação
BR112021001245A2 (pt) codificador, decodificador, método de codificação e método de decodificação
US20200322625A1 (en) Encoder, decoder, encoding method, and decoding method
US11109053B2 (en) Encoding method, decoding method, encoder, and decoder

Legal Events

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