BR112021005760A2 - método para predição de componente de cor aplicável a um codificador, codificador que compreende uma primeira unidade de determinação e uma primeira unidade de predição, codificador que compreende uma primeira memória e um primeiro processador, decodificador que compreende uma unidade de análise, uma segunda unidade de determinação e uma segunda unidade de predição, decodificador que compreende uma segunda memória e um segundo processador, e mídia de armazenamento de computador - Google Patents

método para predição de componente de cor aplicável a um codificador, codificador que compreende uma primeira unidade de determinação e uma primeira unidade de predição, codificador que compreende uma primeira memória e um primeiro processador, decodificador que compreende uma unidade de análise, uma segunda unidade de determinação e uma segunda unidade de predição, decodificador que compreende uma segunda memória e um segundo processador, e mídia de armazenamento de computador Download PDF

Info

Publication number
BR112021005760A2
BR112021005760A2 BR112021005760-9A BR112021005760A BR112021005760A2 BR 112021005760 A2 BR112021005760 A2 BR 112021005760A2 BR 112021005760 A BR112021005760 A BR 112021005760A BR 112021005760 A2 BR112021005760 A2 BR 112021005760A2
Authority
BR
Brazil
Prior art keywords
current block
mip
value
prediction
block
Prior art date
Application number
BR112021005760-9A
Other languages
English (en)
Inventor
Junyan Huo
Yanzhuo Ma
Wei Zhang
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp., Ltd.
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 Guangdong Oppo Mobile Telecommunications Corp., Ltd. filed Critical Guangdong Oppo Mobile Telecommunications Corp., Ltd.
Publication of BR112021005760A2 publication Critical patent/BR112021005760A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

MÉTODO PARA PREDIÇÃO DE COMPONENTE DE COR APLICÁVEL A UM CODIFICADOR, CODIFICADOR QUE COMPREENDE UMA PRIMEIRA UNIDADE DE DETERMINAÇÃO E UMA PRIMEIRA UNIDADE DE PREDIÇÃO, CODIFICADOR QUE COMPREENDE UMA PRIMEIRA MEMÓRIA E UM PRIMEIRO PROCESSADOR, DECODIFICADOR QUE COMPREENDE UMA UNIDADE DE ANÁLISE, UMA SEGUNDA UNIDADE DE DETERMINAÇÃO E UMA SEGUNDA UNIDADE DE PREDIÇÃO, DECODIFICADOR QUE COMPREENDE UMA SEGUNDA MEMÓRIA E UM SEGUNDO PROCESSADOR, E MÍDIA DE ARMAZENAMENTO DE COMPUTADOR. As modalidades do pedido fornecem um método para predição de componente de cor, um codificador, um decodificador e uma mídia de armazenamento. O método inclui que: parâmetros de predição de um bloco atual sejam determinados, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual; quando o parâmetro de modo de predição indica que um modo de Intrapredição com Base em Matriz (MIP) é adotado para determinar um valor de intrapredição do bloco atual, uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual são determinados; e o valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP.

Description

MÉTODO PARA PREDIÇÃO DE COMPONENTE DE COR APLICÁVEL A UM CODIFICADOR, CODIFICADOR QUE COMPREENDE UMA PRIMEIRA UNIDADE DE DETERMINAÇÃO E UMA PRIMEIRA UNIDADE DE PREDIÇÃO, CODIFICADOR QUE COMPREENDE UMA PRIMEIRA MEMÓRIA E UM PRIMEIRO PROCESSADOR, DECODIFICADOR QUE COMPREENDE UMA UNIDADE DE ANÁLISE, UMA SEGUNDA UNIDADE DE DETERMINAÇÃO E UMA SEGUNDA UNIDADE DE PREDIÇÃO, DECODIFICADOR QUE COMPREENDE UMA SEGUNDA MEMÓRIA E UM SEGUNDO PROCESSADOR, E MÍDIA DE ARMAZENAMENTO DE COMPUTADOR REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
[0001] 1) Pedido de Patente Provisório anterior no U.S. 62/872.488 depositado em nome de Junyan Huo, Yanzhuo Ma e Wei Zhang em 10 de julho de 2019, e intitulado "Matrix- Based Intra Prediction (MIP) Shift Unification According to Block Size and Mode Index";
[0002] 2) Pedido de Patente Provisório anterior nº U.S. 62/872.488 depositado em nome de Junyan Huo, Yanzhuo Ma e Wei Zhang em 11 de julho de 2019, e intitulado "Methods and Apparatuses for Matrix-Based Intra Prediction (MIP) Shift Unification"; e
[0003] 3) Pedido de Patente Provisório anterior nº U.S. 62/872.488 depositado em nome de Junyan Huo, Yanzhuo Ma e Wei Zhang em 10 de julho de 2019, e intitulado "Methods and Apparatuses for Matrix-Based Intra Prediction (MIP) Shift Unification".
CAMPO DA TÉCNICA
[0004] As modalidades da revelação se referem ao campo da técnica de codificação e decodificação de vídeo e, particularmente, a um método para predição de componente de cor, um codificador, um decodificador e uma mídia de armazenamento.
ANTECEDENTES
[0005] Com o aumento das exigências das pessoas quanto à qualidade de exibição de vídeo, surgiram formas de aplicação de vídeo inovadoras, como vídeos de alta definição e de definição ultra-alta. H.265/Codificação de Vídeo de Alta Eficiência (HEVC) não pode mais atender a uma exigência de desenvolvimento rápido de aplicações de vídeo. A Equipe Conjunta de Exploração de Vídeo (Joint Video Exploration Team - JVET) propõe um padrão de codificação de vídeo de próxima geração H.266/ Codificação de Vídeo Versátil (Versatile Video Coding - VVC), e um modelo de teste que corresponde é um Modelo de Teste VVC (VVC Test Model - VTM).
[0006] No H.266/VVC, uma tecnologia de Intrapredição com Base em Matriz (Matrix-based Intra Prediction - MIP) tem sido aceita atualmente. Na tecnologia, números diferentes de modos de MIP são adicionados em um processo de intrapredição para diferentes tipos de intrablocos atuais. No entanto, em um processo de MIP, particularmente em um processo de multiplicação de matriz, a determinação de um fator de deslocamento também está correlacionada com um tipo de um bloco atual e um número de índice de um modo de MIP, o que torna o processo de predição relativamente complexo e aumenta a complexidade do cálculo.
SUMÁRIO
[0007] As modalidades do pedido fornecem um método para predição de componente de cor, um codificador, um decodificador e uma mídia de armazenamento. Uma forma de determinação para um fator de deslocamento pode ser simplificada. Além disso, quando o fator de deslocamento é determinado pelo uso de uma Tabela de Consulta (Look-Up Table - LUT), uma memória ocupada pelo armazenamento da LUT pode ser reduzida ao mesmo tempo em que se reduz a complexidade do cálculo.
[0008] As soluções técnicas das modalidades do pedido podem ser implantadas como se segue.
[0009] De acordo com um primeiro aspecto, as modalidades do pedido fornecem um método para predição de componente de cor, que pode ser aplicável a um codificador e incluir as seguintes operações.
[0010] Os parâmetros de predição de um bloco atual são determinados, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual.
[0011] Quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual são determinados.
[0012] O valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP.
[0013] De acordo com um segundo aspecto, as modalidades do pedido fornecem um método para predição de componente de cor, que pode ser aplicável a um decodificador e incluir as seguintes operações.
[0014] Um fluxo de bits é analisado para adquirir parâmetros de predição de um bloco atual, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual.
[0015] Quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual são determinados.
[0016] O valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP.
[0017] De acordo com um terceiro aspecto, as modalidades do pedido fornecem um codificador, que pode incluir uma primeira unidade de determinação e uma primeira unidade de predição.
[0018] A primeira unidade de determinação pode ser configurada para determinar os parâmetros de predição de um bloco atual, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual.
[0019] A primeira unidade de determinação pode adicionalmente ser configurada para, quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, determinar uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual.
[0020] A primeira unidade de predição pode ser configurada para determinar o valor de intrapredição do bloco atual de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP.
[0021] De acordo com um quarto aspecto, as modalidades do pedido fornecem um codificador, que pode incluir uma primeira memória e um primeiro processador.
[0022] A primeira memória pode ser configurada para armazenar programas de computador com capacidade de execução no primeiro processador.
[0023] O primeiro processador pode ser configurado para executar os programas de computador para executar o método conforme descrito no primeiro aspecto.
[0024] De acordo com um quinto aspecto, as modalidades do pedido fornecem um decodificador, que pode incluir uma unidade de análise, uma segunda unidade de determinação e uma segunda unidade de predição.
[0025] A unidade de análise pode ser configurada para analisar um fluxo de bits para adquirir parâmetros de predição de um bloco atual, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual.
[0026] A segunda unidade de determinação pode ser configurada para, quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, determinar uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual.
[0027] A segunda unidade de predição pode ser configurada para determinar o valor de intrapredição do bloco atual de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP.
[0028] De acordo com um sexto aspecto, as modalidades do pedido fornecem um decodificador, que pode incluir uma segunda memória e um segundo processador.
[0029] A segunda memória pode ser configurada para armazenar programas de computador com capacidade de execução no segundo processador.
[0030] O segundo processador pode ser configurado para executar os programas de computador para executar o método conforme descrito no segundo aspecto.
[0031] De acordo com um sétimo aspecto, as modalidades do pedido fornecem uma mídia de armazenamento de computador, que pode armazenar programas de computador. Os programas de computador podem ser executados por um primeiro processador para implantar o método conforme descrito no primeiro aspecto ou podem ser executados por um segundo processador para implantar o método conforme descrito no segundo aspecto.
[0032] As modalidades do pedido fornecem um método para predição de componente de cor, um codificador, um decodificador e uma mídia de armazenamento. Em um lado do codificador, os parâmetros de predição de um bloco atual são determinados, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual; quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual são determinados; e o valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP. Em um lado do decodificador, um fluxo de bits é analisado para adquirir parâmetros de predição de um bloco atual, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual; quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual são determinados e o valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP. Dessa maneira, tanto no lado do decodificador quanto no lado do codificador, uma forma de determinação para o fator de deslocamento pode ser simplificada e, além disso, quando o fator de deslocamento é determinado pelo uso de um LUT, uma memória ocupada pelo armazenamento de um LUT pode ser reduzida ao mesmo tempo em que se reduz a complexidade do cálculo, de modo que um propósito de melhorar a eficiência da codificação e da decodificação seja alcançado.
BREVE DESCRIÇÃO DOS DESENHOS
[0033] A Figura 1 é um diagrama de blocos de fluxo de um processo de MIP de acordo com as soluções técnicas relacionadas.
[0034] A Figura 2A é um diagrama de blocos de composição de um sistema de codificação de vídeo de acordo com modalidades do pedido.
[0035] A Figura 2B é um diagrama de blocos de composição de um sistema de codificação de vídeo de acordo com modalidades do pedido.
[0036] A Figura 3 é um fluxograma de um método para predição de componente de cor de acordo com modalidades do pedido.
[0037] A Figura 4 é um diagrama de estrutura de geração de um valor de predição de infra de acordo com modalidades do pedido.
[0038] A Figura 5 é um fluxograma de outro método para predição de componente de cor de acordo com modalidades do pedido.
[0039] A Figura 6 é um diagrama de estrutura de composição de um codificador de acordo com modalidades do pedido.
[0040] A Figura 7 é um diagrama de estrutura de composição de outro codificador de acordo com modalidades do pedido.
[0041] A Figura 8 é um diagrama de estrutura de hardware específico de um codificador de acordo com modalidades do pedido.
[0042] A Figura 9 é um diagrama de estrutura de composição de um decodificador de acordo com modalidades do pedido.
[0043] A Figura 10 é um diagrama de estrutura de composição de um decodificador de acordo com modalidades do pedido.
[0044] A Figura 11 é um diagrama de estrutura de hardware específico de um decodificador de acordo com modalidades do pedido.
DESCRIÇÃO DETALHADA
[0045] No intuito de compreender as características e o conteúdo técnico das modalidades do pedido em mais detalhes, a implantação das modalidades do pedido será descrita em detalhes abaixo em combinação com referência aos desenhos anexos. Os desenhos anexos são apenas para referência e não se destinam a limitar as modalidades da presente revelação.
[0046] Em um sinal de vídeo, um primeiro componente de cor, um segundo componente de cor e um terceiro componente de cor são geralmente adotados para representar Blocos de Codificação (Coding Blocks - CBs). Os três componentes de cor são um componente luma, um componente croma azul e um componente croma vermelho, respectivamente. Especificamente, o componente luma é representado normalmente por um sinal Y, o componente croma azul é representado normalmente por um sinal Cb ou U e o componente croma vermelho é representado normalmente por um sinal Cr ou V. Portanto, o sinal de vídeo pode ser representado em um formato YCbCr e também pode ser representado em um formato YUV.
[0047] Nas modalidades do pedido, o primeiro componente de cor pode ser o componente de luma, o segundo componente de cor pode ser o componente de croma azul e o terceiro componente de cor pode ser o componente de croma vermelho. No entanto, nenhum limite específico é feito nas modalidades do pedido.
[0048] Uma solução técnica relacionada a um processo de predição atual de uma tecnologia de MIP será descrita abaixo.
[0049] Os dados de entrada de MIP incluem principalmente uma posição (xTbCmp, yTbCmp) de um bloco atual, um valor de índice de modo de MIP (que pode ser representado por modeId ou modeIdx) quando o MIP é adotado pelo bloco atual, uma altura (representada por nTbH) do bloco atual, uma largura (representada por nTbW) do bloco atual, um indicador de processamento de transposição (que pode ser representado por isTransposed) que indica se a transposição é necessária e similares.
[0050] Os dados de saída de MIP incluem principalmente um bloco de predição do bloco atual. Um valor de predição que corresponde a uma coordenada de pixel [x][y] no bloco de predição é predSamples[x][y], em que x=0,1,....., nTbW-1 e y=0,1,..., nTbH-1.
[0051] Aqui, como mostrado na Figura 1, o processo de MIP pode ser dividido em quatro operações: configuração de parâmetro principal 11, aquisição de pixel de referência 12, construção de amostra de entrada 13 e geração de valor de intrapredição 14. Especificamente, para a configuração de parâmetro principal 11, o bloco atual pode ser dividido em três tipos de acordo com um tamanho do intrabloco atual, e mipSizeId ou blocksizeIdx é adotado como um valor de índice de tamanho de bloco para registrar o tipo do bloco atual. Além disso, os blocos atuais que correspondem a valores de índice de tamanho de bloco diferentes têm diferentes números diferentes de amostras de referência e números diferentes de amostras de saída de multiplicação de matriz. Para a aquisição de pixel de referência 12, quando o bloco atual é predito, o bloco superior e o bloco esquerdo do bloco atual são blocos codificados, os pixels de referência da tecnologia de MIP são valores reconstruídos de pixels em uma linha superior e uma coluna esquerda do bloco atual, e um processo de aquisição dos pixels de referência (representados por refT) adjacentes a um lado superior do bloco atual e os pixels de referência (representados por refL) adjacentes a um lado esquerdo do bloco atual é um processo de aquisição de pixel de referência. Para a construção de amostra de entrada 13, a operação é usada para entrada de multiplicação de matriz e pode incluir principalmente aquisição de amostra de referência 131, construção de armazenamento temporário de amostra de referência 132 e dedução de amostra de entrada de multiplicação de matriz 133. Um processo de aquisição de amostra de referência é um processo de subamostragem. A construção de armazenamento temporário de amostra de referência 132 pode incluir adicionalmente uma maneira de preenchimento de armazenamento temporário 1321 adotada quando a transposição não é exigida e uma maneira de preenchimento de armazenamento temporário 1322 adotada quando a transposição é exigida. Para geração de valor de intrapredição 14, a operação é executada para adquirir um valor de predição com base em MIP do bloco atual e pode incluir principalmente bloco de amostra de saída de multiplicação de matriz 141, incorporação de amostra de saída de multiplicação de matriz 142, transposição de amostra de saída de multiplicação de matriz 143 e geração de valor de predição final com base em MIP 144. A construção de bloco de amostra de saída de multiplicação de matriz 11 pode incluir adicionalmente aquisição de matriz de peso 1411, fator de deslocamento e aquisição de fator de desvio 1412 e operação de multiplicação de matriz 1413. A geração de valor de predição final com base em MIP 144 pode incluir adicionalmente a geração de um valor de predição que não exige uma reamostragem 1441 e a geração de um valor de predição que exige sobreamostragem
1442. Então, após as quatro operações, um valor de intrapredição de pelo menos um pixel no bloco atual pode ser obtido.
[0052] No processo de MIP mostrado na Figura 1, o
MIP pode ser representado pela seguinte equação: P=M×R (1)
[0053] M é uma matriz, R é um vetor de amostra de entrada deduzido de um pixel de amostra de referência e P é um valor de pixel de predição deduzido de acordo com a equação (1). Ou seja, a MIP é uma ferramenta de codificação e pode ser usada para deduzir um sinal de intrapredição, incluindo multiplicação de matriz. Cada matriz M específica corresponde a um modo de MIP.
[0054] No entanto, os coeficientes da matriz são inicialmente treinados para valores de ponto flutuante, mas é exigido que esses coeficientes sejam armazenados e calculados para valores integrais em um processo de processamento de computador. Uma maneira comum para converter um valor de ponto flutuante em um valor integral é normalmente multiplicar o valor de ponto flutuante por um valor grande o suficiente para manter a precisão apropriada, e essa maneira normalmente é chamada de operação de deslocamento. Especificamente, uma operação de deslocamento à esquerda visa deduzir um valor integral e pode ser implantada através da seguinte equação. VAL=val×(1<<deslocamento) (2)
[0055] No presente documento, val é um valor de matriz flutuante, deslocamento é um número de bits de deslocamento (que também pode ser chamado de fator de deslocamento) na operação de deslocamento, VAL é um valor integral armazenado e "<<" representa um operador de deslocamento à esquerda.
[0056] Desse modo, após uma matriz integral ser obtida, a multiplicação de matriz integral pode ser realizada. Finalmente, uma operação de deslocamento à direita é executada em P para obter um valor de predição final com base em MIP. Uma equação de cálculo para todo o processo é a seguinte: P=(M*(1<<deslocamento)×R)>>deslocamento (3)
[0057] ou, P=(M*(1<<deslocamento)×R+(1<<(deslocamento-1)))deslocamento (4)
[0058] No presente documento, (1<<(deslocamento- 1)) representa uma operação de arredondamento e ">>" representa um operador de deslocamento à direita. No entanto, na última versão do MIP, para diferentes tamanhos de bloco e diferentes modos de MIP, os valores correspondentes de deslocamento na operação de deslocamento na equação (3) ou na equação (4) são diferentes. Ou seja, um fator de deslocamento atual é intimamente correlacionado com um tipo de bloco atual e um valor de índice de um modo de MIP, o que torna o processo de predição relativamente complexo e aumenta a complexidade do cálculo.
[0059] As modalidades do pedido fornecem um método para predição de componente de cor, que é aplicável para um codificador ou decodificador. Após os parâmetros de predição de um bloco atual serem obtidos, quando um parâmetro de modo de predição nos parâmetros de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual podem ser determinados e, então, o valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP. Dessa maneira, tanto no lado do decodificador quanto no lado do codificador, uma forma de determinação para o fator de deslocamento pode ser simplificada e, além disso, quando o fator de deslocamento é determinado pelo uso de uma LUT, uma memória ocupada pelo armazenamento da LUT pode ser reduzida ao mesmo tempo em que se reduz a complexidade do cálculo, para alcançar um propósito de melhorar a eficiência da codificação e da decodificação.
[0060] As modalidades do pedido serão descritas abaixo em combinação com os desenhos em detalhes.
[0061] Em referência à Figura 2A, é mostrado um exemplo de diagrama de blocos de composição de um sistema de codificação de vídeo de acordo com modalidades do pedido. Conforme mostrado na Figura 2A, o sistema de codificação de vídeo 10 inclui uma unidade de transformação e quantização 101, uma unidade de estimativa intra 102, uma unidade de intrapredição 103, uma unidade de compensação de movimento 104, uma unidade de estimativa de movimento 105, uma unidade de transformação inversa e quantização inversa 106, uma unidade de análise de controle de filtro 107, uma unidade de filtro 108, uma unidade de codificação 109 e uma unidade de armazenamento temporário de imagem decodificada 110, etc. A unidade de filtro 108 pode implantar filtragem de desblocagem e filtragem de Desvio Adaptativo de Amostra (Sample Adaptive Offset - SAO). A unidade de codificação 109 pode implantar a codificação de informações de cabeçalho e a Codificação Aritmética Binária Adaptativa com Base em Contexto (Context- based Adaptive Binary Arithmetic Coding - CABAC). Para um sinal de vídeo de entrada, um CB de vídeo pode ser obtido por divisão de uma Unidade de Árvore de Codificação (Coding Tree Unit - CTU) e, em seguida, informações de pixel residual obtidas por inter ou intrapredição são processadas através da unidade de transformação e quantização 101 para transformar o CB de vídeo, incluindo transformar as informações residuais de um domínio de pixel para um domínio de transformação e um coeficiente de transformação obtido ser quantizado para reduzir adicionalmente uma taxa de bits.
A unidade de estimativa intra 102 e a unidade de intrapredição 103 são configuradas para realizar intrapredição no CB de vídeo.
Exatamente, a unidade de estimativa intra 102 e a unidade de intrapredição 103 são configuradas para determinar um modo de intrapredição a ser usado para codificar o CB de vídeo.
A unidade de compensação de movimento 104 e a unidade de estimativa de movimento 105 são configuradas para executar a codificação de intrapredição no CB de vídeo recebido em relação a um ou mais blocos em um ou mais quadros de referência para fornecer informações de predição de tempo.
A estimativa de movimento executada pela unidade de estimativa de movimento 105 é um processo de geração de um vetor de movimento.
Um movimento do CB de vídeo pode ser estimado de acordo com o vetor de movimento e, em seguida, a unidade de compensação de movimento 104 executa a compensação de movimento com base no vetor de movimento determinado pela unidade de estimativa de movimento 105. Após o modo de intrapredição ser determinado, a unidade de intrapredição 103 é configurada adicionalmente para fornecer dados de intrapredição selecionados para a unidade de codificação 109 e a unidade de estimativa de movimento 105 também envia dados de vetor de movimento determinados por cálculo para a unidade de codificação 109. Além disso, a unidade de transformação inversa e quantização inversa 106 é configurada para reconstruir o CB de vídeo.
Um bloco residual é reconstruído no domínio do pixel, um artefato de efeito de blocagem no bloco residual reconstruído é removido através da unidade de análise de controle de filtro 107 e da unidade de filtro 108 e, em seguida, o bloco residual reconstruído é adicionado a um bloco preditivo em um quadro da unidade de armazenamento temporário de imagem decodificada 110 para gerar um CB de vídeo reconstruído. A unidade de codificação 109 é configurada para codificar vários parâmetros de codificação e coeficientes de transformação quantizados. Em um algoritmo de codificação com base em CABAC, um conteúdo de contexto pode ser com base em CBs adjacentes e pode ser configurado para codificar informações que indicam o modo de intrapredição determinado para emitir um fluxo de bits do sinal de vídeo. A unidade de armazenamento temporário de imagem decodificada 110 é configurada para armazenar o CB de vídeo reconstruído como uma referência de predição. À medida que os sinais de vídeo são codificados, novos CBs de vídeo reconstruídos podem ser gerados continuamente e esses CBs de vídeo reconstruídos podem ser armazenados na unidade de armazenamento temporário de imagem decodificada 110.
[0062] Em referência à Figura 2B, é mostrado um exemplo de diagrama de blocos de composição de um sistema de decodificação de vídeo de acordo com modalidades do pedido. Conforme mostrado na Figura 2B, o sistema de decodificação de vídeo 20 inclui uma unidade de decodificação 201, uma unidade de transformação inversa e quantização inversa 202, uma unidade de intrapredição 203, uma unidade de compensação de movimento 204, uma unidade de filtro 205 e uma unidade de armazenamento temporário de imagem decodificada 206, etc. A unidade de decodificação 201 pode implantar a decodificação de informações de cabeçalho e decodificação de CABAC. A unidade de filtro 205 pode implantar filtragem de desblocagem e filtragem de SAO.
Após o processamento de codificação mostrado na Figura 2A ser executado em um sinal de vídeo de entrada, um fluxo de bits do sinal de vídeo é emitido.
O fluxo de bits é inserido no sistema de decodificação de vídeo 20 e é processado através da unidade de decodificação 201 em primeiro lugar para obter um coeficiente de transformação decodificado.
O coeficiente de transformação é processado pela unidade de transformação inversa e quantização inversa 202 de modo que um bloco residual seja gerado em um domínio de pixel.
A unidade de intrapredição 203 pode ser configurada para gerar dados de predição de um bloco de decodificação de vídeo presente com base em um modo de intrapredição determinado e dados de um bloco decodificado anterior a partir de um quadro ou imagem presente.
A unidade de compensação de movimento 204 analisa um vetor de movimento e outros elementos sintáticos associados para determinar as informações de predição para o bloco de decodificação de vídeo e gera, pelo uso das informações de predição, um bloco preditivo do bloco de decodificação de vídeo que é decodificado no momento.
O bloco residual da unidade de transformação inversa e quantização inversa 202 e o bloco preditivo correspondente gerado pela unidade de intrapredição 203 ou pela unidade de compensação de movimento 204 são somados para formar um bloco de vídeo decodificado.
Um artefato de efeito de blocagem no sinal de vídeo decodificado pode ser removido através da unidade de filtro 205 para melhorar a qualidade de vídeo.
Em seguida, o bloco de vídeo decodificado é armazenado na unidade de armazenamento temporário de imagem decodificada 206. A unidade de armazenamento temporário de imagem decodificada 206 armazena uma imagem de referência para subsequente intrapredição ou compensação de movimento e também é configurada para emitir um sinal de vídeo, ou seja, o sinal de vídeo recuperado é obtido.
[0063] O método para predição de componente de cor nas modalidades do pedido é aplicado principalmente à parte da unidade de intrapredição 103 mostrada na Figura 2A e à parte da unidade de intrapredição 203 mostrada na Figura 2B. Ou seja, o método para predição de componente de cor nas modalidades do pedido pode ser aplicável não apenas ao sistema de codificação de vídeo, mas também ao sistema de decodificação de vídeo e pode até ser aplicável ao sistema de codificação de vídeo e ao sistema de decodificação de vídeo ao mesmo tempo. No entanto, nenhum limite específico é feito nas modalidades do pedido. Também deve ser observado que, quando o método de predição de componente de cor é aplicado à parte da unidade de intrapredição 103, o "bloco atual" se refere especificamente a um bloco atual a ser codificado em intrapredição, e quando o método de predição de componente de cor é aplicado à parte da unidade de intrapredição 203, o "bloco atual" se refere especificamente a um bloco atual a ser decodificado em intrapredição.
[0064] Com base no exemplo de cenário de aplicação mostrado na Figura 2A, com referência à Figura 3, é mostrado um fluxograma de um método para predição de componente de cor de acordo com modalidades do pedido. Conforme mostrado na Figura 3, o método pode incluir as seguintes operações.
[0065] Em S301, os parâmetros de predição de um bloco atual são determinados, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual.
[0066] Deve ser observado que o método é aplicável para um codificador. Um sinal de vídeo pode ser dividido em múltiplos blocos e cada bloco atual a ser codificado pode ser chamado de Bloco de Codificação (Coding Block - CB). Aqui, cada CB pode incluir um primeiro componente de cor, um segundo componente de cor e um terceiro componente de cor. O bloco atual é um bloco a ser codificado, do qual o primeiro componente de cor, o segundo componente de cor e o terceiro componente de cor estão no momento para ser preditos no sinal de vídeo.
[0067] Se o primeiro componente de cor do bloco atual está para ser predito e o primeiro componente de cor é um componente luma, ou seja, um componente de cor a ser predito é o componente luma, o bloco atual também pode ser chamado de bloco luma. Ou, se o segundo componente de cor do bloco atual está para ser predito e o segundo componente de cor é um componente de croma, ou seja, o componente de cor a ser predito é o componente croma, o bloco atual também pode ser chamado de bloco croma.
[0068] Também deve ser observado que os parâmetros de predição indicam um modo de predição para o bloco atual e parâmetros relacionados ao modo de predição. Aqui, os parâmetros de predição podem ser determinados por uma estratégia de decisão simples, por exemplo, determinada de acordo com uma magnitude de um valor de distorção e também podem ser determinados por uma estratégia de decisão complexa, por exemplo, determinada de acordo com um resultado de Otimização de Distorção de Taxa (Rate Distortion Optimization - RDO). Nenhum limite é criado nas modalidades do pedido. Geralmente, os parâmetros de predição do bloco atual podem ser determinados de uma maneira de RDO.
[0069] Especificamente, em algumas modalidades, para S301, a operação em que os parâmetros de predição do bloco atual são determinados pode incluir as seguintes operações.
[0070] O processamento de pré-codificação é realizado no bloco atual com o uso de múltiplos modos de predição para obter valores de custo de distorção de taxa que correspondem a todos os modos de predição.
[0071] Um valor de custo de distorção de taxa mínimo é selecionado dentre os múltiplos valores de custo de distorção de taxa obtidos e um parâmetro de predição no modo de predição que corresponde ao valor de custo de distorção de taxa mínimo é determinado como o parâmetro de predição do bloco atual.
[0072] Ou seja, no lado do codificador, para o bloco atual, o processamento de pré-codificação pode ser realizado no bloco atual com o uso dos múltiplos modos de predição, respectivamente. Aqui, os modos de predição múltiplos normalmente incluem um modo de interpredição e um modo de intrapredição. O modo de intrapredição pode incluir adicionalmente um modo de intrapredição convencional e um modo de intrapredição não convencional. Especificamente, o modo de intrapredição convencional pode incluir um modo de Corrente Contínua (DC), um modo planar e um modo angular, etc., e o modo de intrapredição não convencional pode incluir um modo de MIP, um modo de predição de Modelo Linear Transcomponente (Cross-Component Linear Model - CCLM), um modo Cópia IntraBloco (Intra Block Copy - IBC) e um modo de Paleta (PLT), etc. O modo de interpredição pode incluir um modo de interpredição convencional e um modo de particionamento geométrico interblocos (GEO), etc.
[0073] Desse modo, após o bloco atual ser pré- codificado com o uso dos múltiplos modos de predição, respectivamente, o valor de custo de distorção de taxa que corresponde a cada modo de predição pode ser obtido, então o valor de custo de distorção de taxa mínimo é selecionado dentre os múltiplos valores de custo de distorção de taxa obtidos, e o parâmetro de predição no modo de predição que corresponde ao valor de custo de distorção de taxa mínimo é determinado como o parâmetro de predição do bloco atual. Além disso, após o bloco atual ser pré-codificado com o uso dos múltiplos modos de predição, respectivamente, um valor de distorção que corresponde a cada modo de predição também pode ser obtido, então um valor de custo mínimo é selecionado dentre os múltiplos valores de distorção obtidos e parâmetros de predição no modo predição que corresponde ao valor de distorção mínimo são determinados como os parâmetros de predição do bloco atual. Dessa forma, o bloco atual é finalmente codificado pelo uso dos parâmetros de predição determinados. Sob o modo de predição, um residual predito pode ser relativamente pequeno e a eficiência de codificação pode ser melhorada.
[0074] Em S302, quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar o valor de intrapredição do bloco atual, uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual são determinados.
[0075] Deve ser observado que, para o bloco atual, se o modo de MIP for adotado para o bloco atual para determinar o valor de intrapredição do bloco atual, a matriz de amostra de entrada de MIP do bloco atual, a matriz de peso de MIP do bloco atual e o fator de deslocamento do bloco atual precisam ser determinados. O fator de deslocamento também pode ser chamado de número de bits de deslocamento, valor de deslocamento de peso e similares, e pode ser representado por sW, deslocamento ou deslocamento de peso.
[0076] Deve ser entendido que, para o modo de MIP, é necessário que um parâmetro principal de MIP seja configurado em primeiro lugar. Aqui, no modo de MIP, o bloco atual pode ser dividido em três tipos de acordo com a largura e a altura do bloco atual, e um tipo do bloco atual, ou seja, um valor de índice de tamanho de bloco do bloco atual pode ser representado por mipSizeId ou BlocksizeIdx. Para valores de índice de tamanho de bloco diferentes, os números de amostra de referência (boundarySize de amostras de referência são necessários em cada lado), os números inSize de amostra de entrada de multiplicação de matriz e os números de amostra de saída de multiplicação de matriz (dispostos para ser predSize×predSize) são diferentes.
[0077] Opcionalmente, em algumas modalidades, a operação em que o valor do índice de tamanho do bloco do bloco atual é determinado de acordo com o parâmetro de tamanho do bloco atual pode incluir as operações seguintes.
[0078] Se tanto a largura quanto a altura do bloco atual forem iguais a 4, o valor de índice de tamanho de bloco do bloco atual pode ser definido como 0.
[0079] Ou, se tanto a largura quanto a altura do bloco atual forem iguais a 8 ou uma dentre a largura e a altura do bloco atual for igual a 4, o valor de índice de tamanho de bloco do bloco atual pode ser definido como 1.
[0080] Ou, se o bloco atual for um bloco de outro tamanho, o valor de índice de tamanho de bloco do bloco atual pode ser definido como 2.
[0081] Opcionalmente, em algumas modalidades, a operação em que o valor do índice de tamanho do bloco do bloco atual é determinado de acordo com o parâmetro de tamanho do bloco atual pode incluir as operações seguintes.
[0082] Se tanto a largura quanto a altura do bloco atual forem iguais a 4, o valor de índice de tamanho de bloco do bloco atual pode ser definido como 0.
[0083] Ou, se uma dentre a largura e a altura do bloco atual for igual a 4, o valor do índice de tamanho do bloco do bloco atual pode ser definido como 1.
[0084] Ou, se o bloco atual for um bloco de outro tamanho, o valor de índice de tamanho de bloco do bloco atual pode ser definido como 2.
[0085] Desse modo, de acordo com o valor de índice de tamanho de bloco do bloco atual e uma LUT mostrada como Tabela 1, o número de amostras de referência de um limite adjacente (a variável é boundarySize) e um tamanho de um bloco de predição com base em MIP (a variável é predSize, o tamanho do bloco de predição com base em MIP é predSize×predSize) pode ser determinado e o número (representado por inSize) da amostra de entrada para um processo de operação de multiplicação de matriz de MIP pode ser calculado. Uma equação de cálculo é a seguinte: inSize=(2 × boundarySize)-(mipSizeId==2)?1:0 (5).
[0086] Aqui, uma regra de operação de um operador na equação (5) é a mesma que um operador definido em um padrão ITU-TH.265. Por exemplo, "==" é um operador lógico "igual a".
TABELA 1 BlocksizeIdx boundarySize predSize 0 2 4 1 4 4 2 4 8
[0087] Portanto, de acordo com a Tabela 1, quando um valor de BlocksizeIdx é 0, um valor de boundarySize pode ser 2 e um valor de predSize pode ser 4, ou seja, os pixels de referência incluem dois pixels selecionados de cada lado. Uma saída de multiplicação de matriz é um bloco de predição com base em MIP 4×4; ou, quando o valor de BlocksizeIdx é 1, o valor de boundarySize pode ser 4 e o valor de predSize pode ser 4, ou seja, os pixels de referência incluem quatro pixels selecionados de cada lado. A saída de multiplicação de matriz é um bloco de predição com base em MIP 4×4; ou, quando o valor de BlocksizeIdx é 2, o valor de boundarySize pode ser 4 e o valor de predSize pode ser 8, ou seja, os pixels de referência incluem quatro pixels selecionados de cada lado e a saída de multiplicação da matriz é um bloco de predição com base em MIP 8×8.
[0088] Além disso, os valores de boundarySize, inSize e predSize também podem ser determinados ao mesmo tempo de acordo com o valor de índice de tamanho de bloco do bloco atual e uma LUT mostrada como Tabela 2. TABELA 2 BlocksizeIdx boundarySize inSize predSize 0 2 4 4 1 4 8 4 2 4 7 8
Portanto, de acordo com a Tabela 2, quando o valor de BlocksizeIdx é 0, o valor de boundarySize pode ser 2, um valor de inSize pode ser 4 e o valor de predSize pode ser 4, ou seja, os pixels de referência incluem dois pixels selecionados de cada lado, o número das amostras de entrada de multiplicação de matriz é 4 e a saída de multiplicação de matriz é um bloco de predição com base em MIP 4×4; ou, quando o valor de BlocksizeIdx é 1, o valor de boundarySize pode ser 4, o valor de inSize pode ser 8 e o valor de predSize pode ser 4, ou seja, os pixels de referência incluem quatro pixels selecionados de cada lado, o número das amostras de entrada de multiplicação de matriz é 8 e a saída de multiplicação de matriz é um bloco de predição com base em MIP 4×4; ou, quando o valor de BlocksizeIdx é 2, o valor de boundarySize pode ser 4, o valor de inSize pode ser 7 e o valor de predSize pode ser 8, ou seja, os pixels de referência incluem quatro pixels selecionados de cada lado, o número das amostras de entrada de multiplicação de matriz é 7 e a saída de multiplicação de matriz é um bloco de predição com base em MIP 8×8.
[0089] Além disso, após o parâmetro principal de MIP ser configurado, os pixels de referência precisam adicionalmente ser adquiridos para construir a matriz de amostra de entrada de MIP. Especificamente, em algumas modalidades, a operação em que a matriz de amostra de entrada de MIP do bloco atual é determinada pode incluir as seguintes operações.
[0090] Um conjunto de amostra de referência adjacente do bloco atual é determinado, sendo que o conjunto de amostra de referência adjacente inclui pelo menos um valor de amostra de referência.
[0091] O conjunto de amostra de referência adjacente é armazenado em armazenamento temporário para construir um conjunto de valores de amostra de referência de entrada.
[0092] A matriz de amostra de entrada de MIP é determinada de acordo com o conjunto de valores de amostra de referência de entrada.
[0093] Deve ser observado que uma amostra de entrada de multiplicação de matriz (representada por P) é uma entrada para um processo de multiplicação de matriz e a amostra de saída de multiplicação de matriz (representada por predMip) pode ser obtida após a multiplicação com uma matriz correspondente. A amostra de entrada de multiplicação de matriz P é determinada por um armazenamento temporário (representado por pTemp), o valor do índice de tamanho de bloco (representado por BlocksizeIdx) do bloco atual e um valor de profundidade de bits (representado por BitDepth) que corresponde ao componente de cor a ser predita, o número inSize das amostras de referência de entrada na amostra de entrada de multiplicação de matriz P é correlacionado com o valor de índice de tamanho de bloco do bloco atual apenas e um x-ésimo valor de amostra de entrada (representado por P[x]) na matriz de amostra de entrada pode finalmente ser adquirido.
[0094] Aqui, um processo de construção específico da matriz de amostra de entrada P[x] é o seguinte.
[0095] Quando é necessário que BlocksizeIdx=0 ou 1, (1<<(BitDepth-1)) seja subtraído de um valor de amostra de uma posição 0 em pTemp para obter um valor de amostra de uma posição 0 na matriz de amostra de entrada, representada por
P[0], e então um valor de amostra que corresponde a cada posição de outras posições na matriz de amostra de entrada é obtido subtraindo-se o valor da 0-ésima posição em pTemp de um valor de amostra de uma posição correspondente em pTemp, e pode ser representado por P[x], especificamente como se segue:  p[0] = pTemp[0]-(1<<(BitDepth-1))  p[x] = pTemp[x]-pTemp[0] for x=1,...,inSize-1 (6)
[0096] Quando BlocksizeIdx=2, o valor de amostra que corresponde a cada posição das outras posições na matriz de amostra de entrada é obtido subtraindo-se o valor de amostra que corresponde à 0-ésima posição em pTemp do valor de amostra da próxima posição da posição correspondente em pTemp, especificamente como se segue: p[x]=pTemp[x+1]-pTemp[0] for x=0,...,inSize-1 (7)
[0097] Ainda tomando um bloco atual 4×4 como exemplo, quatro valores são armazenados no armazenamento temporário pTemp, mas o número das amostras de entrada é 4. Nesse caso, quatro valores de amostra de entrada, representados por p[x], x=0,1,2,3, podem ser determinados de acordo com a equação (3) ou a equação (4), obtendo-se assim uma matriz de amostra de entrada de MIP 1×4.
[0098] Além disso, uma tabela de matriz de peso é pré-criada no codificador e a tabela de matriz de peso é armazenada no codificador. Portanto, a matriz de peso de MIP necessária a ser adotada para o bloco atual, representada por mWeight [x][y], pode ser determinada em uma forma de consulta de tabela de acordo com o valor de índice de tamanho de bloco (BlocksizeIdx) do bloco atual e um valor de índice de modo de MIP (modeIdx). Um tamanho da matriz de peso de MIP mWeight
[x][y] é correlacionado com o valor de índice de tamanho de bloco do bloco atual apenas, como mostrado na Tabela 3. Na matriz de peso de MIP, o número da coluna é o número inSize das amostras de entrada de multiplicação de matriz e o número da linha é o número predSized×predSized das amostras de saída de multiplicação da matriz. Portanto, a matriz de peso de MIP do bloco atual pode ser determinada. TABELA 3 MipSizeId Número da coluna Número da linha 0 4 16 1 8 16 2 7 64 Além disso, uma tabela de deslocamento também é pré- criada no codificador e a tabela de deslocamento também é armazenada no codificador. Atualmente, na última versão do MIP, para diferentes tamanhos de bloco e diferentes valores de índice de modo de MIP, os números de bits deslocados (isto é, fatores de deslocamento) em uma operação de deslocamento são diferentes. Conforme mostrado na Tabela 4, o fator de deslocamento necessário para ser usado para a multiplicação da matriz pode ser determinado na forma de consulta da tabela de acordo com o valor de índice de tamanho de bloco (BlocksizeIdx) do bloco atual e o valor de índice de modo de MIP (modeIdx, também chamado modeId).
TABELA 4 modeId blocksize 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Idx 0 6 6 6 5 6 5 5 6 5 6 6 6 6 6 5 6 5 5 modeId blocksize 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Idx 1 6 6 6 6 6 6 6 6 6 7 2 6 6 6 7 5 6 No entanto, no lado do codificador, a Tabela 4 deve ser armazenada em uma memória de computador na forma de uma LUT. Existem custos para armazenamento, bem como de um processo de consulta. Uma vez que o fator de deslocamento está correlacionado tanto com o tamanho de bloco do bloco atual e o valor de índice de modo de MIP na Tabela 4, uma memória ocupada é ampliada e a complexidade do cálculo também é aumentada.
[0099] Para reduzir a memória ocupada e reduzir a complexidade do cálculo, uma forma de determinação para o fator de deslocamento é simplificada nas modalidades do pedido. Especificamente, em algumas modalidades, o fator de deslocamento do bloco atual pode incluir um fator de deslocamento constante e um fator de deslocamento determinado de acordo com o parâmetro de predição.
[0100] Em um modo de implantação possível, o fator de deslocamento pode ser definido igual a um valor constante fixo. Por exemplo, para diferentes valores de índice de tamanho de bloco e diferentes valores de índice de modo de MIP, o fator de deslocamento pode ser definido igual a 5. Ou, para diferentes valores de índice de tamanho de bloco e diferentes valores de índice de modo de MIP, o fator de deslocamento pode ser definido igual a 6. Ou, para diferentes valores de índice de tamanho de bloco e diferentes valores de índice de modo de
MIP, o fator de deslocamento pode ser definido igual a 7. Na modalidade do pedido, um valor do fator de deslocamento constante é preferencialmente igual a 6, mas nenhum limite específico é feito ao mesmo.
[0101] Em outro modo de implantação possível, a operação em que o fator de deslocamento é determinado de acordo com o parâmetro de predição pode incluir as seguintes operações.
[0102] O valor de índice de tamanho de bloco do bloco atual é determinado de acordo com o parâmetro de tamanho do bloco atual.
[0103] O fator de deslocamento é determinado de acordo com o valor de índice de tamanho de bloco do bloco atual.
[0104] Deve ser observado que o valor de índice de tamanho de bloco do bloco atual pode ser determinado de acordo com o parâmetro de tamanho do bloco atual. Especificamente, a operação em que o valor de índice de tamanho de bloco do bloco atual é determinado de acordo com o parâmetro de tamanho do bloco atual pode incluir as seguintes operações.
[0105] Quando a largura e a altura do bloco atual são iguais a 4, o valor de índice de tamanho de bloco do bloco atual é definido como 0.
[0106] Quando tanto a largura quanto a altura do bloco atual forem iguais a 8 ou uma dentre a largura e a altura do bloco atual for igual a 4, o valor de índice de tamanho de bloco do bloco atual é definido como 1.
[0107] Quando tanto a largura quanto a altura do bloco atual não atendem às condições acima, o valor de índice de tamanho de bloco do bloco atual é definido como 2.
[0108] Desse modo, após o valor de índice de tamanho de bloco do bloco atual ser determinado, o fator de deslocamento pode adicionalmente ser determinado de acordo com o valor de índice de tamanho de bloco do bloco atual em combinação com o número dos valores de amostra de entrada de MIP ou o tamanho do bloco de predição com base em MIP.
[0109] Opcionalmente, em algumas modalidades, a operação em que o fator de deslocamento é determinado de acordo com o valor de índice de tamanho de bloco do bloco atual pode incluir a seguinte operação.
[0110] O fator de deslocamento é definido igual a uma razão entre a largura ou altura do bloco atual e um primeiro valor predefinido que corresponde ao valor de índice de tamanho de bloco do bloco atual.
[0111] Aqui, o primeiro valor predefinido representa o número de valores de amostra de entrada de MIP obtidos de um limite do bloco atual. Nesse caso, o método pode incluir adicionalmente a seguinte operação.
[0112] Quando o valor de índice de tamanho de bloco do bloco atual é igual a 0, 1 e 2 respectivamente, é determinado que o primeiro valor predefinido que corresponde ao valor de índice de tamanho de bloco do bloco atual é igual a 2, 4 e 4, respectivamente.
[0113] Ou seja, quando o primeiro valor predefinido representa o número dos valores de amostra de entrada de MIP obtidos a partir do limite do bloco atual, se o valor de índice de tamanho de bloco do bloco atual for igual a 0, o primeiro valor predefinido correspondente é igual a 2; se o valor de índice de tamanho de bloco do bloco atual for igual a 1, o primeiro valor predefinido correspondente é igual a 4 e se o valor de índice de tamanho de bloco do bloco atual for igual a 2, o primeiro valor predefinido correspondente é igual a 4. Portanto, o fator de deslocamento pode ser determinado de acordo com a razão entre a largura ou altura do bloco atual e o primeiro valor predefinido correspondente.
[0114] Opcionalmente, em algumas modalidades, a operação em que o fator de deslocamento é determinado de acordo com o valor de índice de tamanho de bloco do bloco atual pode incluir a seguinte operação.
[0115] O fator de deslocamento é definido igual a uma razão entre a largura ou altura do bloco atual e um segundo valor predefinido que corresponde ao valor de índice de tamanho de bloco do bloco atual.
[0116] Aqui, o segundo valor predefinido representa o tamanho do bloco de predição com base em MIP, obtido pelo uso direto da matriz de peso de MIP, do bloco atual. Nesse caso, o método pode incluir adicionalmente a seguinte operação.
[0117] Quando o valor de índice de tamanho de bloco do bloco atual é igual a 0, 1 e 2 respectivamente, é determinado que o segundo valor predefinido que corresponde ao valor de índice de tamanho de bloco do bloco atual é igual a 4, 4 e 8, respectivamente.
[0118] Ou seja, quando o segundo valor predefinido representa o tamanho do bloco de predição com base em MIP, obtido com o uso diretamente da matriz de peso de MIP para cálculo, do bloco atual, se o valor do índice de tamanho de bloco do bloco atual for igual a 0, o segundo valor predefinido correspondente é igual a 4; se o valor de índice de tamanho de bloco do bloco atual for igual a 1, o segundo valor predefinido correspondente é igual a 4 e se o valor de índice de tamanho de bloco do bloco atual for igual a 2, o segundo valor predefinido correspondente é igual a 8. Portanto, o fator de deslocamento pode ser determinado de acordo com a razão entre a largura ou altura do bloco atual e o segundo valor predefinido correspondente.
[0119] Em outro modo de implantação possível, a tabela de deslocamento pode ser minimizada e o fator de deslocamento ainda é determinado na forma de consulta da tabela. Opcionalmente, em algumas modalidades, para S302, o método pode incluir adicionalmente as seguintes operações.
[0120] O valor de índice de tamanho de bloco do bloco atual é determinado de acordo com o parâmetro de tamanho do bloco atual.
[0121] Um fator de deslocamento que corresponde ao valor de índice de tamanho de bloco determinado é consultado em uma primeira LUT predefinida de acordo com o valor de índice de tamanho de bloco determinado, sendo que a primeira LUT predefinida é configurada para registrar valores correspondentes dos valores de índice de tamanho de bloco e fatores de deslocamento.
[0122] O fator de deslocamento consultado é determinado como o fator de deslocamento do bloco atual.
[0123] Deve ser observado que o fator de deslocamento pode ser consultado de acordo com o valor de índice de tamanho de bloco (representado por blocksizeIdx) do bloco atual apenas. Na primeira LUT predefinida mostrada como Tabela 5, cada valor de índice de tamanho de bloco pode corresponder a um fator de deslocamento fixo. Ou seja, há um valor de deslocamento fixo mostrado na Tabela 5 para um tamanho de cada bloco ou um conjunto de tamanhos de cada bloco. Aqui, blocksizeIdx é um valor de índice de tamanho de bloco que corresponde ao tamanho do bloco atual ou um tamanho de um grupo de blocos. TABELA 5 blocksizeIdx deslocamento de peso 0 5 1 6 2 6 Em outro modo de implantação possível, a tabela de deslocamento também pode ser minimizada e o fator de deslocamento ainda é determinado na forma de consulta da tabela. Opcionalmente, em algumas modalidades, para S302, o método pode incluir adicionalmente as seguintes operações.
[0124] Quando o parâmetro de modo de predição indica que o modo de MIP é adotado para determinar o valor de intrapredição do bloco atual, um valor de índice de categoria de modo de MIP do bloco atual é determinado.
[0125] Um fator de deslocamento que corresponde ao valor de índice de categoria de modo de MIP determinado é consultado em uma segunda LUT predefinida de acordo com o valor de índice de categoria de modo de MIP determinado, sendo que a segunda LUT predefinida é configurada para registrar valores correspondentes dos valores de índice de categoria de modo de MIP e dos fatores de deslocamento.
[0126] O fator de deslocamento consultado é determinado como o fator de deslocamento do bloco atual.
[0127] Deve ser observado que o fator de deslocamento pode ser consultado de acordo com o valor de índice de categoria de modo de MIP (representado por ModeCategoryIdx) do bloco atual apenas. Na segunda LUT predefinida mostrada como Tabela 6, cada valor de índice de categoria de modo de MIP pode corresponder a um fator de deslocamento fixo. Ou seja, o valor de deslocamento fixo mostrado na Tabela 6 pode ser executado de acordo com ModeCategoryIdx. Aqui, ModeCategoryIdx é um valor de índice de categoria que corresponde ao modo de MIP ou um conjunto de modos MIP. TABELA 6 ModeCategoryIdx deslocamento de peso 0 5 1 6 2 7 Além disso, ModeCategoryIdx pode ser deduzido de acordo com o valor de índice de modo de MIP. Especificamente, a operação em que o valor do índice de categoria do modo de MIP do bloco atual é determinado pode incluir as seguintes operações.
[0128] O valor de índice de tamanho de bloco que corresponde ao bloco atual e o valor de índice de modo de MIP quando o modo de MIP é adotado para predição são determinados.
[0129] O valor de índice de categoria de modo de MIP do bloco atual é determinado de acordo com o valor de índice de tamanho de bloco e o valor de índice de modo de MIP.
[0130] Ou seja, após o valor de índice de tamanho de bloco do bloco atual e o valor de índice de modo de MIP serem obtidos, o valor de índice de categoria de modo de MIP pode ser calculado de forma hash, ou o valor de índice de categoria de modo de MIP também pode ser determinado de acordo com uma avaliação de condição.
[0131] Opcionalmente, o valor de índice de categoria de modo de MIP é calculado no modo hash. Em algumas modalidades, a operação em que o valor do índice de categoria do modo de MIP do bloco atual é determinado de acordo com o valor de índice de tamanho de bloco e o valor de índice de modo de MIP pode incluir as seguintes operações.
[0132] Quando o valor de índice de tamanho de bloco é igual a 0, o processamento do deslocamento à direita é realizado no valor de índice de modo de MIP com o uso de um primeiro valor de deslocamento predefinido para obter o valor de índice de categoria de modo de MIP do bloco atual.
[0133] Ou, quando o valor de índice de tamanho de bloco é igual a 1, o processamento de deslocamento à direita é realizado no valor de índice de modo de MIP com o uso do primeiro valor de deslocamento predefinido para obter um valor deslocado à direita e o processamento de sobreposição é realizado no valor deslocado à direita e em um terceiro valor predefinido para obter o valor de índice de categoria de modo de MIP do bloco atual.
[0134] Ou, quando o valor de índice de tamanho de bloco é igual a 2, o processamento do deslocamento à direita é realizado no valor de índice de modo de MIP com o uso de um segundo valor de deslocamento predefinido para obter o valor de índice de categoria de modo de MIP do bloco atual.
[0135] Deve ser observado que o primeiro valor de deslocamento predefinido pode ser 3, o segundo valor de deslocamento predefinido pode ser 2 e o terceiro valor predefinido pode ser 1.
[0136] A título de exemplo, quando o valor de índice de tamanho de bloco (blocksizeIdx) é igual a 0, o valor de índice de modo de MIP (modeIdx) pode ser deslocado à direita em 3 para obter o valor de índice de categoria de modo de MIP; quando o valor de índice de tamanho de bloco (blocksizeIdx) é igual a 1, o valor de índice de modo de MIP (modeIdx) pode ser deslocado à direita em 3 e, em seguida, um resultado é sobreposto com 1 para obter o valor de índice de categoria de modo de MIP; e quando o valor de índice de tamanho de bloco (blocksizeIdx) é igual a 2, o valor de índice de modo de MIP (modeIdx) pode ser deslocado à direita em 2 para obter o valor de índice de categoria de modo de MIP, especificamente como se segue:
[0137] ModeCategoryIdx=ModeIdx>>3. para blocksizeIdx=0
[0138] ModeCategoryIdx=(ModeIdx>>3)+1. para blocksizeIdx=1
[0139] ModeCategoryIdx=ModeIdx>>2. para blocksizeIdx=2
[0140] Opcionalmente, o valor de índice de categoria de modo de MIP é determinado de acordo com a avaliação da condição. Em algumas modalidades, a operação em que o valor do índice de categoria do modo de MIP do bloco atual é determinado de acordo com o valor de índice de tamanho de bloco e o valor de índice de modo de MIP pode incluir as seguintes operações.
[0141] Quando o valor de índice de tamanho de bloco é igual a 0, se o valor de índice de modo de MIP for menor ou igual a um primeiro valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um quarto valor predefinido, ou, se o valor do índice de modo de MIP for maior que o primeiro valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um quinto valor predefinido.
[0142] Ou, quando o valor de índice de tamanho de bloco é igual a 1, se o valor de índice de modo de MIP for menor ou igual a um segundo valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um sexto valor predefinido, ou, se o valor do índice de modo de MIP for maior que o segundo valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um sétimo valor predefinido.
[0143] Ou, quando o valor de índice de tamanho de bloco é igual a 2, se o valor de índice de modo de MIP for menor ou igual a um terceiro valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um oitavo valor predefinido; se o valor de índice de modo de MIP for maior que o terceiro valor de limiar e o valor de índice de modo de MIP for menor ou igual a um quarto valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um nono valor predefinido; ou, se o valor de índice de modo de MIP for maior do que o quarto valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um décimo valor predefinido.
[0144] Deve ser observado que o primeiro valor de limiar pode ser 6, o segundo valor de limiar pode ser 8, o terceiro valor de limiar pode ser 3, o quarto valor de limiar pode ser 4, o quarto valor predefinido pode ser 5, o quinto valor predefinido pode ser 6, o sexto valor predefinido pode ser 6, o sétimo valor predefinido pode ser 7, o oitavo valor predefinido pode ser 5, o nono valor predefinido pode ser 6 e o décimo valor predefinido pode ser 7.
[0145] A título de exemplo, quando o valor de índice de tamanho de bloco (blocksizeIdx) é igual a 0, se o valor de índice de modo de MIP (modeIdx) for menor ou igual a 6, o valor de índice de categoria de modo de MIP é definido igual a 5, caso contrário, o valor de índice de categoria do modo de MIP é definido como 6. Quando o valor de índice de tamanho de bloco (blocksizeIdx) é igual a 1, se o valor de índice de modo de MIP (modeIdx) for menor ou igual a 8, o valor de índice de categoria de modo de MIP é definido igual a 6, caso contrário, o valor de índice de categoria do modo de MIP é definido como 7. Quando o valor de índice de tamanho de bloco (blocksizeIdx) é igual a 2, se o valor de índice de modo de MIP (modeIdx) for menor ou igual a 3, o valor de índice de categoria de modo de MIP é definido igual a 5; se o valor de índice de modo de MIP (modeIdx) for menor ou igual a 4, o valor de índice de categoria de modo de MIP é definido igual a 6; caso contrário, o valor de índice de categoria de modo de MIP é definido igual a 7, especificamente como se segue:
[0146] Se ModeIdx<=6, ModeCategoryIdx=5, caso contrário ModeCategoryIdx=6, para blocksizeIdx=0
[0147] Se ModeIdx<=8, ModeCategoryIdx=6, caso contrário ModeCategoryIdx=7, para blocksizeIdx=1
[0148] Se ModeIdx<=3, ModeCategoryIdx=5, além disso se ModeIdx<=4, ModeCategoryIdx=6, caso contrário ModeCategoryIdx=7, para blocksizeIdx=2
[0149] Também deve ser observado que o primeiro valor de limiar pode ser 6, o segundo valor de limiar pode ser 8, o terceiro valor de limiar pode ser 3, o quarto valor de limiar pode ser 4, o quarto valor predefinido pode ser 0, o quinto valor predefinido pode ser 1, o sexto valor predefinido pode ser 1, o sétimo valor predefinido pode ser 1, o oitavo valor predefinido pode ser 1, o nono valor predefinido pode ser 1 e o décimo valor predefinido pode ser 2.
[0150] A título de exemplo, quando o valor de índice de tamanho de bloco (blocksizeIdx) é igual a 0, se o valor de índice de modo de MIP (modeIdx) for menor ou igual a 6, o valor de índice de categoria de modo de MIP é definido igual a 0, caso contrário, o valor de índice de categoria do modo de MIP é definido como 1. Quando o valor de índice de tamanho de bloco (blocksizeIdx) é igual a 1, se o valor de índice de modo de MIP (modeIdx) for menor ou igual a 8, o valor de índice de categoria de modo de MIP é definido igual a 1, caso contrário, o valor de índice de categoria do modo de MIP é definido como 2. Quando o valor de índice de tamanho de bloco (blocksizeIdx) é igual a 2, se o valor de índice de modo de MIP (modeIdx) for menor ou igual a 3, o valor de índice de categoria de modo de MIP é definido igual a 0; se o valor de índice de modo de MIP (modeIdx) for menor ou igual a 4, o valor de índice de categoria de modo de MIP é definido igual a 1; caso contrário, o valor de índice de categoria de modo de MIP é definido igual a 2, especificamente como se segue:
[0151] Se ModeIdx<=6, ModeCategoryIdx=0, caso contrário ModeCategoryIdx=1, para blocksizeIdx=0
[0152] Se ModeIdx<=8, ModeCategoryIdx=1, caso contrário ModeCategoryIdx=2, para blocksizeIdx=1
[0153] Se ModeIdx<=3, ModeCategoryIdx=0, além disso se ModeIdx<=4, ModeCategoryIdx=1, caso contrário ModeCategoryIdx=2, para blocksizeIdx=2
[0154] No modo de implantação acima, o armazenamento de uma LUT minimizada pode ser implantado simplificando-se a forma de determinação para o fator de deslocamento, particularmente minimizando a tabela de deslocamento, de modo que a memória ocupada pelo armazenamento da tabela de deslocamento no modo de MIP possa ser reduzida sem aumentar a complexidade do cálculo.
[0155] Portanto, no modo de MIP, a matriz de amostra de entrada de MIP, a matriz de peso de MIP e o fator de deslocamento podem ser obtidos para determinar subsequentemente o valor de intrapredição do bloco atual.
[0156] Em S303, o valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP.
[0157] Deve ser observado que, após a matriz de amostra de entrada de MIP, a matriz de peso de MIP e o fator de deslocamento serem obtidos, o bloco de predição com base em MIP do bloco atual pode ser determinado primeiro e, em seguida, o valor de intrapredição do bloco atual é determinado. Especificamente, em algumas modalidades, para S303, a operação em que o valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP pode incluir as seguintes operações.
[0158] O processamento da multiplicação de matriz é realizado na matriz de amostra de entrada de MIP, na matriz de peso de MIP e no fator de deslocamento pelo uso de um modelo de cálculo predefinido para obter o bloco de predição com base em MIP do bloco atual.
[0159] O processamento de filtragem é realizado no bloco de predição com base em MIP para obter o valor de intrapredição do bloco atual, sendo que o bloco de predição com base em MIP inclui valores de predição de pelo menos parte das posições de pixel no bloco atual.
[0160] Ou seja, após a matriz de amostra de entrada de MIP, a matriz de peso de MIP e o fator de deslocamento serem obtidos, o bloco de predição com base em MIP do bloco atual pode ser determinado em primeiro lugar pelo uso do modelo de cálculo predefinido. O bloco de predição com base em MIP inclui valores de predição de pelo menos parte das posições de pixel no bloco atual.
[0161] Especificamente, no modo de MIP, a matriz de peso de MIP (representada por mWeight), o fator de deslocamento (representado por sW) e um valor de desvio (representado por fO) podem ser determinados de acordo com o valor de índice de tamanho de bloco (representado por blocksizeIdx) do bloco atual e o valor de índice de modo de MIP (modeIdx). Em seguida, a matriz de amostra de entrada de MIP (representada por P[x]), mWeight, sW e fO são inseridos no processo de multiplicação de matriz para obter o bloco de predição com base em MIP (representado por predMip[x][y]) emitido pela multiplicação de matriz e as amostras em predMip[x][y] são dispostas em uma forma de matriz de acordo com predSize×predSize. O modelo de cálculo é o seguinte:  oW = (1<< (sW−1)) − fO×(∑i=0 p[i]) inSize-1   predMip[x][ y] = (((∑i=0 mWeight[i][ y ×predSize + x]×p[i])+oW)>>sW)+pTemp[0] inSize-1 (8)
[0162] [x][y] representa uma coordenada de posição de um pixel, x representando uma direção horizontal e y representa uma direção vertical. inSize representa o número de amostras de entrada e predSize representa um comprimento lateral do bloco de predição com base em MIP predMip. Aqui, predSize é correlacionado com o tipo mipSizeId do bloco atual apenas. Quando mipSizeId=0 ou 1, o bloco de predição com base em MIP de saída é 4×4 e predSize é igual a 4. Quando mipSizeId=2, o bloco de predição com base em MIP de saída é 8×8 e predSize é igual a 8. Portanto, um valor de predição temporário de pelo menos um pixel no bloco de predição com base em MIP predMip pode ser calculado de acordo com a equação (8) para obter o bloco de predição com base em MIP.
[0163] Além disso, também é necessário realizar o processamento de incorporação em um valor de amostra de predição no bloco de predição com base em MIP para obter o bloco de predição com base em MIP do bloco atual. Então, é avaliado se o processamento de transposição no bloco de predição com base em MIP deve ser realizado. Se um resultado de avaliação for SIM, é adicionalmente necessário realizar o processamento de transposição no valor de amostra de predição no bloco de predição com base em MIP e o bloco de predição com base em MIP transposto é determinado como o bloco de predição com base em MIP do bloco atual. Se o resultado da avaliação for NÃO, é desnecessário realizar o processamento de transposição no valor de amostra de predição no bloco de predição com base em MIP e o bloco de predição com base em MIP pode ser determinado diretamente como o bloco de predição com base em MIP do bloco atual.
[0164] Além disso, em algumas modalidades, a operação em que o processamento de filtragem é realizado no bloco de predição com base em MIP para obter o valor de intrapredição do bloco atual pode incluir as seguintes operações.
[0165] É avaliado se um tamanho do bloco de predição com base em MIP é igual ao tamanho do bloco atual.
[0166] Quando o tamanho do bloco de predição com base em MIP é o mesmo que o tamanho do bloco atual, um bloco intrapredito do bloco atual é definido igual ao bloco de predição com base em MIP, sendo que o bloco de predição com base em MIP inclui valores de amostra de predição de todas as posições de pixel no bloco atual.
[0167] Quando o tamanho do bloco de predição com base em MIP é diferente do tamanho do bloco atual, o processamento de filtragem é realizado no bloco de predição com base em MIP para obter um bloco de predição filtrado e o bloco de predição filtrado é definido como o bloco de intrapredição do bloco atual.
[0168] Aqui, o processamento de filtragem pode incluir processamento de filtragem de sobreamostragem ou processamento de filtragem passa baixa.
[0169] Deve ser entendido que, após o bloco de predição com base em MIP ser obtido, uma vez que o bloco de predição com base em MIP pode ter dois tamanhos: um bloco de predição com base em MIP 4×4 e um bloco de predição com base em MIP 8×8, o tamanho do bloco atual pode ser igual ou diferente do tamanho do bloco de predição com base em MIP. Ou seja, o bloco atual pode nem sempre ser preenchido com os valores de amostra que correspondem ao bloco de predição com base em MIP e, assim, pode ser necessário que seja realizada uma operação de sobreamostragem no bloco de predição com base em MIP para gerar um valor de predição final, ou seja, é avaliado se o tamanho do bloco de predição com base em MIP é o mesmo que o tamanho do bloco atual para determinar se o processamento de sobreamostragem no bloco de predição com base em MIP deve ser realizado.
[0170] Deve ser observado que, quando o tamanho do bloco de predição com base em MIP é o mesmo que o tamanho do bloco atual, ou seja, tanto a largura quanto a altura do bloco de predição com base em MIP são iguais às do bloco atual, é indicado não é exigido que o processamento de sobreamostragem seja realizado no bloco de predição com base em MIP. Nesse caso, o bloco atual é preenchido diretamente com o bloco de predição com base em MIP, ou seja, não há pixels vazios no bloco atual preenchido, e um valor de intrapredição de cada pixel no bloco atual pode ser definido diretamente igual a um valor predito de cada pixel no bloco de predição com base em MIP, como se segue: predSamples[ x][y] = predMip[ x][y] (9)
[0171] [x][y] representa uma coordenada de posição de um pixel, sendo que x representa a direção horizontal e y representa a direção vertical, predSamples [x][y] representa um valor intrapredição que corresponde ao pixel com a coordenada de posição [x][y] no bloco atual, e predMip [x][y] representa um valor de predição que corresponde ao pixel com a coordenada de posição [x][y] no bloco de predição com base em MIP. Portanto, o bloco de predição com base em MIP predMip [x][y] pode ser determinado diretamente como o bloco de intrapredição predSamples[x][y] do bloco atual, de acordo com a equação (9).
[0172] Também deve ser observado que, quando o tamanho do bloco de predição com base em MIP é diferente do tamanho do bloco atual, ou seja, pelo menos uma dentre a largura e a altura do bloco de predição com base em MIP é diferente daquela do bloco atual, o bloco atual não pode ser preenchido com o bloco de predição com base em MIP, ou seja, há pixels vazios no bloco atual preenchido. Isso indica que o processamento de filtragem deve ser realizado no bloco de predição com base em MIP. Ou seja, se o processamento de sobreamostragem deve ser realizado tanto na direção horizontal quanto na direção vertical, sobreamostragem horizontal pode ser realizada no bloco de predição com base em MIP primeiro e, em seguida, sobreamostragem vertical pode ser realizada, de modo que um primeiro bloco sobreamostrado, que pode ser representado por predSamples[x][y], é obtido. Em seguida, a sobreamostragem vertical é realizada no bloco de predição com base em MIP e, em seguida, sobreamostragem horizontal é realizada, de modo que um segundo bloco sobreamostrado, que pode ser representado por predSamplesTemp [x][y], é obtido. Finalmente, o cálculo da média ponderada é realizado em predSamples[x][y] e predSamples[x][y] para finalmente obter o bloco intrapredito do bloco atual.
[0173] A título de exemplo, quando os comprimentos laterais nTbS (aqui, S pode ser representado por W e H respectivamente) do bloco atual são todos iguais ao comprimento lateral predSize (aqui, predSize é correlacionado com blocksizeIdx do bloco atual apenas) de predMip, o bloco de predição com base em MIP pode ser definido diretamente como o bloco intrapredito do bloco atual, caso contrário é necessário que processamento de filtragem seja realizado no bloco de predição com base em MIP para obter o bloco intrapredito do bloco atual. Um processo de geração do bloco intrapredição pode se referir à Figura 4. Ainda tomando um bloco atual 4×4 como exemplo, na Figura 4, uma vez que os tamanhos do bloco atual e do bloco de predição com base em MIP são os mesmos, não é necessário que o processamento de filtragem seja realizado no bloco de predição com base em MIP e o bloco de predição com base em MIP pode ser definido diretamente como o bloco de intrapredição do bloco atual, de modo que um valor de intrapredição de pelo menos um pixel no bloco atual possa ser obtido.
[0174] A modalidade fornece um método para predição de componente de cor, que é aplicável para um codificador. Os parâmetros de predição de um bloco atual são determinados, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual. Quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual são determinados. O valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP. Desse modo, uma forma de determinação para o fator de deslocamento pode ser simplificada e, além disso, quando o fator de deslocamento é determinado pelo uso de uma LUT, uma memória ocupada pelo armazenamento da LUT pode ser reduzida ao mesmo tempo em que se reduz a complexidade do cálculo para atingir um objetivo de melhorar a eficiência de codificação.
[0175] Com base no exemplo de cenário de aplicação mostrado na Figura 2B, com referência à Figura 5, é mostrado um fluxograma de outro método para predição de componente de cor de acordo com modalidades do pedido. Conforme mostrado na Figura 5, o método pode incluir as seguintes operações.
[0176] Em S501, um fluxo de bits é analisado para adquirir parâmetros de predição de um bloco atual, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual.
[0177] Deve ser observado que o método é aplicável para um decodificador. Um sinal de vídeo pode ser dividido em múltiplos blocos. Cada bloco de imagem atual a ser decodificado pode ser chamado de bloco de decodificação. Aqui, cada bloco de decodificação pode incluir um primeiro componente de cor, um segundo componente de cor e um terceiro componente de cor. O bloco atual é um bloco a ser decodificado, do qual o primeiro componente de cor, o segundo componente de cor e o terceiro componente de cor estão no momento para ser preditos no sinal de vídeo.
[0178] Também deve ser observado que o parâmetro de predição é configurado para indicar um modo de predição para o bloco atual e parâmetros relacionados ao modo de predição. O modo de predição normalmente inclui um modo de interpredição, um modo de intrapredição convencional e um modo de intrapredição não convencional, etc. O modo de intrapredição não convencional inclui adicionalmente um modo de MIP, um modo de CCLM, um modo de IBC e um modo de PLT, etc. Ou seja, um codificador pode selecionar um modo de predição ideal para pré-codificar o bloco atual e, nesse processo, o modo de predição para o bloco atual pode ser determinado, gravando assim parâmetros de predição no modo de predição no fluxo de bits para transmissão ao decodificador pelo codificador.
[0179] Portanto, em um lado de decodificador, o fluxo de bits pode ser analisado para adquirir os parâmetros de predição do bloco atual e o parâmetro de modo de predição nos parâmetros de predição adquiridos por análise pode ser configurado para determinar se o modo de MIP é adotado para o bloco atual.
[0180] Em S502, quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual são determinados.
[0181] Deve ser observado que, para o bloco atual, se o modo de MIP for adotado para o bloco atual para determinar o valor de intrapredição do bloco atual, a matriz de amostra de entrada de MIP do bloco atual, a matriz de peso de MIP do bloco atual e o fator de deslocamento do bloco atual precisam ser determinados. O fator de deslocamento também pode ser chamado de número de bits deslocados, valor de deslocamento de peso e similares, e pode ser representado por sW, deslocamento ou deslocamento de peso.
[0182] Em algumas modalidades, o fator de deslocamento do bloco atual pode incluir um fator de deslocamento constante e um fator de deslocamento determinado de acordo com o parâmetro de predição.
[0183] Em um modo de implantação possível, o fator de deslocamento pode ser definido igual a um valor constante fixo. Na modalidade do pedido, um valor do fator de deslocamento constante é preferencialmente igual a 6, mas nenhum limite específico é feito ao mesmo.
[0184] Em outro modo de implantação possível, a operação em que o fator de deslocamento é determinado de acordo com o parâmetro de predição pode incluir as seguintes operações.
[0185] Um valor de índice de tamanho de bloco do bloco atual é determinado de acordo com o parâmetro de tamanho do bloco atual.
[0186] O fator de deslocamento é determinado de acordo com o valor de índice de tamanho de bloco do bloco atual.
[0187] Deve ser observado que o valor de índice de tamanho de bloco (representado por mipSizeId ou blocksizeIdx) do bloco atual pode ser determinado de acordo com o parâmetro de tamanho do bloco atual. Especificamente, a operação em que o valor de índice de tamanho de bloco do bloco atual é determinado de acordo com o parâmetro de tamanho do bloco atual pode incluir as seguintes operações.
[0188] Quando uma largura e uma altura do bloco atual são iguais a 4, o valor de índice de tamanho de bloco do bloco atual é definido como 0.
[0189] Quando tanto a largura quanto a altura do bloco atual forem iguais a 8 ou uma dentre a largura e a altura do bloco atual for igual a 4, o valor de índice de tamanho de bloco do bloco atual é definido como 1.
[0190] Quando tanto a largura quanto a altura do bloco atual não atendem às condições acima, o valor de índice de tamanho de bloco do bloco atual é definido como 2.
[0191] Desse modo, após o valor de índice de tamanho de bloco do bloco atual ser determinado, o fator de deslocamento pode adicionalmente ser determinado de acordo com o valor de índice de tamanho de bloco do bloco atual em combinação com o número de valores de amostra de entrada de MIP ou um tamanho de um bloco de predição com base em MIP.
[0192] Opcionalmente, em algumas modalidades, a operação em que o fator de deslocamento é determinado de acordo com o valor de índice de tamanho de bloco do bloco atual pode incluir a seguinte operação.
[0193] O fator de deslocamento é definido igual a uma razão entre a largura ou altura do bloco atual e um primeiro valor predefinido que corresponde ao valor de índice de tamanho de bloco do bloco atual.
[0194] Aqui, o primeiro valor predefinido representa o número de valores de amostra de entrada de MIP obtidos de um limite do bloco atual. Nesse caso, o método pode incluir adicionalmente a seguinte operação.
[0195] Quando o valor de índice de tamanho de bloco do bloco atual é igual a 0, 1 e 2 respectivamente, é determinado que o primeiro valor predefinido que corresponde ao valor de índice de tamanho de bloco do bloco atual é igual a 2, 4 e 4, respectivamente.
[0196] Ou seja, quando o primeiro valor predefinido representa o número dos valores de amostra de entrada de MIP obtidos a partir do limite do bloco atual, se o valor de índice de tamanho de bloco do bloco atual for igual a 0, o primeiro valor predefinido correspondente é igual a 2; se o valor de índice de tamanho de bloco do bloco atual for igual a 1, o primeiro valor predefinido correspondente é igual a 4 e se o valor de índice de tamanho de bloco do bloco atual for igual a 2, o primeiro valor predefinido correspondente é igual a 4. Portanto, o fator de deslocamento pode ser determinado de acordo com a razão entre a largura ou altura do bloco atual e o primeiro valor predefinido correspondente.
[0197] Opcionalmente, em algumas modalidades, a operação em que o fator de deslocamento é determinado de acordo com o valor de índice de tamanho de bloco do bloco atual pode incluir a seguinte operação.
[0198] O fator de deslocamento é definido igual a uma razão entre a largura ou altura do bloco atual e um segundo valor predefinido que corresponde ao valor de índice de tamanho de bloco do bloco atual.
[0199] Aqui, o segundo valor predefinido representa o tamanho do bloco de predição com base em MIP, obtido pelo uso direto da matriz de peso de MIP, do bloco atual. Nesse caso, o método pode incluir adicionalmente a seguinte operação.
[0200] Quando o valor de índice de tamanho de bloco do bloco atual é igual a 0, 1 e 2 respectivamente, é determinado que o segundo valor predefinido que corresponde ao valor de índice de tamanho de bloco do bloco atual é igual a 4, 4 e 8, respectivamente.
[0201] Ou seja, quando o segundo valor predefinido representa o tamanho do bloco de predição com base em MIP, obtido com o uso direto da matriz de peso de MIP, do bloco atual, se o valor do índice de tamanho de bloco do bloco atual for igual a 0, o segundo valor predefinido correspondente é igual a 4; se o valor de índice de tamanho de bloco do bloco atual for igual a 1, o segundo valor predefinido correspondente é igual a 4 e se o valor de índice de tamanho de bloco do bloco atual for igual a 2, o segundo valor predefinido correspondente é igual a 8. Portanto, o fator de deslocamento pode ser determinado de acordo com a razão entre a largura ou altura do bloco atual e o segundo valor predefinido correspondente.
[0202] Em outro modo de implantação possível, uma tabela de deslocamento pode ser minimizada e o fator de deslocamento ainda é determinado em uma forma de consulta da tabela. Opcionalmente, em algumas modalidades, para S502, o método inclui adicionalmente as seguintes operações.
[0203] O valor de índice de tamanho de bloco do bloco atual é determinado de acordo com o parâmetro de tamanho do bloco atual.
[0204] Um fator de deslocamento que corresponde ao valor de índice de tamanho de bloco determinado é consultado em uma primeira LUT predefinida de acordo com o valor de índice de tamanho de bloco determinado, sendo que a primeira LUT predefinida é configurada para registrar valores correspondentes dos valores de índice de tamanho de bloco e fatores de deslocamento.
[0205] O fator de deslocamento consultado é determinado como o fator de deslocamento do bloco atual.
[0206] Deve ser observado que a tabela de deslocamento (por exemplo, a primeira LUT predefinida ou uma segunda LUT predefinida) também é pré-criada no decodificador e a tabela de deslocamento também é armazenada no decodificador. Portanto, quando o fator de deslocamento é consultado de acordo com o valor de índice de tamanho de bloco do bloco atual apenas, a primeira LUT predefinida mostrada como Tabela 5 pode ser adotada. Na Tabela 5, cada valor de índice de tamanho de bloco pode corresponder a um fator de deslocamento fixo. Ou seja, há um valor de deslocamento fixo mostrado na Tabela 5 para um tamanho de cada bloco ou um conjunto de tamanhos de cada bloco.
[0207] Em outro modo de implantação possível, a tabela de deslocamento também pode ser minimizada e o fator de deslocamento ainda é determinado na forma de consulta da tabela. Opcionalmente, em algumas modalidades, para S502, o método pode incluir adicionalmente as seguintes operações.
[0208] Quando o parâmetro de modo de predição indica que o modo de MIP é adotado para determinar o valor de intrapredição do bloco atual, um valor de índice de categoria de modo de MIP do bloco atual é determinado.
[0209] Um fator de deslocamento que corresponde ao valor de índice de categoria de modo de MIP determinado é consultado em uma segunda LUT predefinida de acordo com o valor de índice de categoria de modo de MIP determinado, sendo que a segunda LUT predefinida é configurada para registrar valores correspondentes dos valores de índice de categoria de modo de MIP e dos fatores de deslocamento.
[0210] O fator de deslocamento consultado é determinado como o fator de deslocamento do bloco atual.
[0211] Deve ser observado que, quando o fator de deslocamento é consultado de acordo com o valor de índice de categoria de modo de MIP (representado por ModeCategoryIdx) do bloco atual apenas, a segunda LUT predefinida mostrada como Tabela 6 pode ser adotada. Na Tabela 6, cada valor de índice de categoria de modo de MIP pode corresponder a um fator de deslocamento fixo. Ou seja, o valor de deslocamento fixo mostrado na Tabela 6 pode ser executado de acordo com ModeCategoryIdx.
[0212] Além disso, ModeCategoryIdx pode ser deduzido de acordo com o valor de índice de modo de MIP. Especificamente, a operação em que o valor do índice de categoria do modo de MIP do bloco atual é determinado pode incluir as seguintes operações.
[0213] O valor de índice de tamanho de bloco que corresponde ao bloco atual e o valor de índice de modo de MIP quando o modo de MIP é adotado para predição são determinados de acordo com o parâmetro de predição.
[0214] O valor de índice de categoria de modo de MIP do bloco atual é determinado de acordo com o valor de índice de tamanho de bloco e o valor de índice de modo de MIP.
[0215] Ou seja, após o valor de índice de tamanho de bloco do bloco atual e o valor de índice de modo de MIP serem obtidos, o valor de índice de categoria de modo de MIP pode ser calculado de forma hash, ou o valor de índice de categoria de modo de MIP também pode ser determinado de acordo com uma avaliação de condição.
[0216] Opcionalmente, o valor de índice de categoria de modo de MIP é calculado no modo hash. Em algumas modalidades, a operação em que o valor do índice de categoria do modo de MIP do bloco atual é determinado de acordo com o valor de índice de tamanho de bloco e o valor de índice de modo de MIP inclui as seguintes operações.
[0217] Quando o valor de índice de tamanho de bloco é igual a 0, o processamento do deslocamento à direita é realizado no valor de índice de modo de MIP com o uso de um primeiro valor de deslocamento predefinido para obter o valor de índice de categoria de modo de MIP do bloco atual.
[0218] Ou, quando o valor de índice de tamanho de bloco é igual a 1, o processamento de deslocamento à direita é realizado no valor de índice de modo de MIP com o uso do primeiro valor de deslocamento predefinido para obter um valor deslocado à direita e o processamento de sobreposição é realizado no valor deslocado à direita e em um terceiro valor predefinido para obter o valor de índice de categoria de modo de MIP do bloco atual.
[0219] Ou, quando o valor de índice de tamanho de bloco é igual a 2, o processamento do deslocamento à direita é realizado no valor de índice de modo de MIP com o uso de um segundo valor de deslocamento predefinido para obter o valor de índice de categoria de modo de MIP do bloco atual.
[0220] A título de exemplo, o primeiro valor de deslocamento predefinido pode ser 3, o segundo valor de deslocamento predefinido pode ser 2 e o terceiro valor predefinido pode ser 1, especificamente como se segue:
[0221] ModeCategoryIdx=ModeIdx>>3. para blocksizeIdx=0
[0222] ModeCategoryIdx=(ModeIdx>>3)+1. para blocksizeIdx=1
[0223] ModeCategoryIdx=ModeIdx>>2. para blocksizeIdx=2
[0224] Opcionalmente, o valor de índice de categoria de modo de MIP é determinado de acordo com a avaliação da condição. Em algumas modalidades, a operação em que o valor do índice de categoria do modo de MIP do bloco atual é determinado de acordo com o valor de índice de tamanho de bloco e o valor de índice de modo de MIP inclui as seguintes operações.
[0225] Quando o valor de índice de tamanho de bloco é igual a 0, se o valor de índice de modo de MIP for menor ou igual a um primeiro valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um quarto valor predefinido; se o valor do índice de modo de MIP for maior que o primeiro valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um quinto valor predefinido.
[0226] Ou, quando o valor de índice de tamanho de bloco é igual a 1, se o valor de índice de modo de MIP for menor ou igual a um segundo valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um sexto valor predefinido; se o valor do índice de modo de MIP for maior que o segundo valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um sétimo valor predefinido.
[0227] Ou, quando o valor de índice de tamanho de bloco é igual a 2, se o valor de índice de modo de MIP for menor ou igual a um terceiro valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um oitavo valor predefinido; se o valor de índice de modo de MIP for maior que o terceiro valor de limiar e o valor de índice de modo de MIP for menor ou igual a um quarto valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um nono valor predefinido; se o valor de índice de modo de MIP for maior do que o quarto valor de limiar, é determinado que o valor de índice de categoria de modo de MIP é um décimo valor predefinido.
[0228] A título de exemplo, o primeiro valor de limiar pode ser 6, o segundo valor de limiar pode ser 8, o terceiro valor de limiar pode ser 3 e o quarto valor de limiar pode ser 4.
[0229] Quando o quarto valor predefinido pode ser 5, o quinto valor predefinido pode ser 6, o sexto valor predefinido pode ser 6, o sétimo valor predefinido pode ser 7,
o oitavo valor predefinido pode ser 5, o nono valor predefinido pode ser 6 e o décimo valor predefinido é 7, as representações específicas são como se segue:
[0230] Se ModeIdx<=6, ModeCategoryIdx=5, caso contrário ModeCategoryIdx=6, para blocksizeIdx=0
[0231] Se ModeIdx<=8, ModeCategoryIdx=6, caso contrário ModeCategoryIdx=7, para blocksizeIdx=1
[0232] Se ModeIdx<=3, ModeCategoryIdx=5, além disso se ModeIdx<=4, ModeCategoryIdx=6, caso contrário ModeCategoryIdx=7, para blocksizeIdx=2
[0233] Ou, quando o quarto valor predefinido pode ser 0, o quinto valor predefinido pode ser 1, o sexto valor predefinido pode ser 1, o sétimo valor predefinido pode ser 2, o oitavo valor predefinido pode ser 0, o nono valor predefinido pode ser 1 e o décimo valor predefinido é 2, as representações específicas são como se segue:
[0234] Se ModeIdx<=6, ModeCategoryIdx=0, caso contrário ModeCategoryIdx=1, para blocksizeIdx=0
[0235] Se ModeIdx<=8, ModeCategoryIdx=1, caso contrário ModeCategoryIdx=2, para blocksizeIdx=1
[0236] Se ModeIdx<=3, ModeCategoryIdx=0, além disso se ModeIdx<=4, ModeCategoryIdx=1, caso contrário ModeCategoryIdx=2, para blocksizeIdx=2
[0237] No modo de implantação, o armazenamento de uma LUT minimizada pode ser implantado simplificando-se a forma de determinação para o fator de deslocamento, particularmente minimizando-se a tabela de deslocamento, de modo que a memória ocupada pelo armazenamento da tabela de deslocamento no modo de MIP possa ser reduzida sem aumentar a complexidade do cálculo.
[0238] Portanto, no modo de MIP, a matriz de amostra de entrada de MIP e a matriz de peso de MIP também podem ser obtidas para determinar subsequentemente o valor de intrapredição do bloco atual.
[0239] Em S503, o valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP.
[0240] Deve ser observado que, após a matriz de amostra de entrada de MIP, a matriz de peso de MIP e o fator de deslocamento serem obtidos, o bloco de predição com base em MIP do bloco atual pode ser determinado primeiro e, em seguida, o valor de intrapredição do bloco atual é determinado. Especificamente, em algumas modalidades, para S503, a operação em que o valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP pode incluir as seguintes operações.
[0241] O processamento da multiplicação de matriz é realizado na matriz de amostra de entrada de MIP, na matriz de peso de MIP e no fator de deslocamento pelo uso de um modelo de cálculo predefinido para obter o bloco de predição com base em MIP do bloco atual.
[0242] O processamento de filtragem é realizado no bloco de predição com base em MIP para obter o valor de intrapredição do bloco atual, sendo que o bloco de predição com base em MIP inclui valores de predição de pelo menos parte das posições de pixel no bloco atual.
[0243] Ou seja, após a matriz de amostra de entrada de MIP, a matriz de peso de MIP e o fator de deslocamento serem obtidos, o bloco de predição com base em
MIP do bloco atual pode ser determinado em primeiro lugar, e então pode adicionalmente ser determinado se o tamanho do bloco de predição com base em MIP é o mesmo que o tamanho do bloco atual, de acordo com o bloco de predição com base em MIP obtido para determinar adicionalmente o valor de intrapredição do bloco atual. Especificamente, de acordo com um resultado de avaliação, quando o tamanho do bloco de predição com base em MIP é o mesmo que o tamanho do bloco atual, um bloco de intrapredição do bloco atual é definido igual ao bloco de predição com base em MIP, e nesse caso, o bloco de predição com base em MIP inclui valores de amostra de predição de todas as posições de pixel no bloco atual. Quando o tamanho do bloco de predição com base em MIP é diferente do tamanho do bloco atual, o processamento de filtragem é realizado no bloco de predição com base em MIP para obter um bloco de predição filtrado e o bloco de predição filtrado é definido como o bloco de intrapredição do bloco atual. Aqui, o processamento de filtragem pode incluir processamento de filtragem de sobreamostragem ou processamento de filtragem passa baixa.
[0244] A modalidade fornece um método para predição de componente de cor, que é aplicável para um decodificador. Um fluxo de bits é analisado para adquirir parâmetros de predição de um bloco atual, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual; quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual são determinados e o valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP. Desse modo, uma forma de determinação para o fator de deslocamento pode ser simplificada e, além disso, quando o fator de deslocamento é determinado pelo uso de uma LUT, uma memória ocupada pelo armazenamento da LUT pode ser reduzida ao mesmo tempo em que se reduz a complexidade do cálculo para atingir um objetivo de melhorar a eficiência de decodificação.
[0245] Com base no mesmo conceito inventivo das modalidades supracitadas, em referência à Figura 6, é mostrado um diagrama de estrutura de composição de um codificador 60 de acordo com modalidades do pedido. Conforme mostrado na Figura 6, o codificador 60 pode incluir uma primeira unidade de determinação 601 e uma primeira unidade de predição 602.
[0246] A primeira unidade de determinação 601 é configurada para determinar os parâmetros de predição de um bloco atual, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual.
[0247] A primeira unidade de determinação 601 é adicionalmente configurada para, quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, determinar uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual.
[0248] A primeira unidade de predição 602 é configurada para determinar o valor de intrapredição do bloco atual de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP.
[0249] Em algumas modalidades, o fator de deslocamento do bloco atual inclui um fator de deslocamento constante e um fator de deslocamento determinado de acordo com o parâmetro de predição.
[0250] Em algumas modalidades, um valor do fator de deslocamento constante é igual a 6.
[0251] Em algumas modalidades, a primeira unidade de determinação 601 é configurada adicionalmente para determinar um valor de índice de tamanho de bloco do bloco atual de acordo com o parâmetro de tamanho do bloco atual e determinar o fator de deslocamento de acordo com o valor de índice de tamanho de bloco do bloco atual.
[0252] Em algumas modalidades, com referência à Figura 7, o codificador 60 pode incluir adicionalmente uma primeira unidade de configuração 603, configurada para definir o valor de índice de tamanho de bloco do bloco atual como 0 quando tanto a largura quanto a altura do bloco atual forem iguais a 4; definir o valor de índice de tamanho de bloco do bloco atual como 1 quando tanto a largura quanto a altura do bloco atual forem iguais a 8 ou uma dentre a largura e a altura do bloco atual for igual a 4; e definir o valor de índice de tamanho de bloco do bloco atual como 2 quando a largura e a altura do bloco atual não atenderem às condições acima.
[0253] Em algumas modalidades, a primeira unidade de configuração 603 é configurada adicionalmente para definir o fator de deslocamento igual a uma razão entre a largura ou altura do bloco atual como um primeiro valor predefinido que corresponde ao valor de índice de tamanho do bloco do bloco atual.
[0254] Em algumas modalidades, o primeiro valor predefinido representa o número de valores de amostra de entrada de MIP obtidos a partir de um limite do bloco atual.
[0255] Em algumas modalidades, a primeira unidade de determinação 601 é configurada adicionalmente para, quando o valor de índice de tamanho de bloco do bloco atual for igual a 0, 1 e 2, respectivamente, determinar que o primeiro valor predefinido correspondente ao valor de índice de tamanho de bloco do atual bloco é igual a 2, 4 e 4, respectivamente.
[0256] Em algumas modalidades, a primeira unidade de configuração 603 é configurada adicionalmente para definir o fator de deslocamento igual a uma razão entre a largura ou altura do bloco atual como um segundo valor predefinido que corresponde ao valor de índice de tamanho do bloco do bloco atual.
[0257] Em algumas modalidades, o segundo valor predefinido representa um tamanho de um bloco de predição com base em MIP, obtido pelo uso direto da matriz de peso de MIP, do bloco atual.
[0258] Em algumas modalidades, a primeira unidade de determinação 601 é configurada adicionalmente para, quando o valor de índice de tamanho de bloco do bloco atual for igual a 0, 1 e 2, respectivamente, determinar que o segundo valor predefinido correspondente ao valor de índice de tamanho de bloco do atual bloco é igual a 4, 4 e 8, respectivamente.
[0259] Em algumas modalidades, com referência à Figura 7, o codificador 60 pode incluir adicionalmente uma primeira unidade de consulta 604.
[0260] A primeira unidade de determinação 601 é configurada adicionalmente para determinar o valor de índice de tamanho de bloco do bloco atual de acordo com o parâmetro de tamanho do bloco atual.
[0261] A primeira unidade de consulta 604 é configurada para consultar um fator de deslocamento que corresponde ao valor de índice de tamanho de bloco determinado em uma primeira LUT predefinida de acordo com o valor de índice de tamanho de bloco determinado, sendo que a primeira LUT predefinida é configurada para registrar valores correspondentes dos valores de índice de tamanho de bloco e os fatores de deslocamento, e determinar o fator de deslocamento consultado como o fator de deslocamento que corresponde ao bloco atual.
[0262] Em algumas modalidades, a primeira unidade de determinação 601 é configurada adicionalmente para, quando o parâmetro de modo de predição indica que o modo de MIP é adotado para determinar o valor de intrapredição do bloco atual, determinar um valor de índice de categoria de modo de MIP do bloco atual.
[0263] A primeira unidade de consulta 604 é configurada para consultar um fator de deslocamento que corresponde ao valor de índice de categoria de modo de MIP determinado em um segunda LUT predefinida de acordo com o valor de índice de categoria de modo de MIP determinado, sendo que a segunda LUT predefinida é configurada para registrar valores correspondentes dos valores de índice de categoria de modo de MIP e os fatores de deslocamento, e determinar o fator de deslocamento consultado como o fator de deslocamento que corresponde ao bloco atual.
[0264] Em algumas modalidades, a primeira unidade de determinação 601 é configurada especificamente para determinar o valor de índice de tamanho de bloco que corresponde ao bloco atual e um valor de índice de modo de MIP quando o modo de MIP é adotado para predição e determinar o valor de índice de categoria de modo de MIP do bloco atual de acordo com o valor de índice de tamanho de bloco e o valor de índice de modo de MIP.
[0265] Em algumas modalidades, com referência à Figura 7, o codificador 60 pode incluir adicionalmente uma primeira unidade de cálculo 605. A primeira unidade de cálculo 605 é configurada para, quando o valor de índice de tamanho de bloco for igual a 0, realizar processamento de deslocamento à direita no valor de índice de modo de MIP com o uso de um primeiro valor de deslocamento predefinido para obter o valor de índice de categoria de modo de MIP do bloco atual; ou, quando o valor de índice de tamanho de bloco for igual a 1, realizar o processamento de deslocamento à direita no valor de índice de modo de MIP com o uso do primeiro valor de deslocamento predefinido para obter um valor deslocado à direita e realizar o processamento de sobreposição no valor deslocado à direita e um terceiro valor predefinido para obter o valor de índice de categoria de modo de MIP do bloco atual; ou, quando o valor de índice de tamanho de bloco for igual a 2, realizar o processamento de deslocamento à direita no valor de índice de modo de MIP com o uso de um segundo valor de deslocamento predefinido para obter o valor de índice de categoria de modo de MIP do bloco atual.
[0266] Em algumas modalidades, com referência à Figura 7, o codificador 60 pode incluir adicionalmente uma primeira unidade de avaliação 606. A primeira unidade de avaliação 606 é configurada para, quando o valor de índice de tamanho de bloco for igual a 0, se o valor de índice de modo de MIP for menor ou igual a um primeiro valor de limiar, determinar que o valor de índice de categoria de modo de MIP é um quarto valor predefinido, e se o valor de índice de modo de MIP for maior do que o primeiro valor de limiar, determinar que o valor de índice de categoria de modo de MIP é um quinto valor predefinido; ou, quando o valor de índice de tamanho de bloco for igual a 1, se o valor de índice de modo de MIP for menor ou igual a um segundo valor de limiar, determinar que o valor de índice de categoria de modo de MIP é um sexto valor predefinido e se o índice do modo de MIP valor for maior do que o segundo valor de limiar, determinar que o valor de índice de categoria de modo de MIP é um sétimo valor predefinido; ou, quando o valor de índice de tamanho de bloco for igual a 2, se o valor de índice de modo de MIP for menor ou igual a um terceiro valor de limiar, determinar que o valor de índice de categoria de modo de MIP é um oitavo valor predefinido, se o valor de índice de modo de MIP for maior que o terceiro valor de limiar e o valor de índice de modo de MIP for menor ou igual a um quarto valor de limiar, determinar que o valor de índice de categoria de modo de MIP é um nono valor predefinido e se o valor de índice de modo de MIP for maior que o quarto valor de limiar, determinar que o valor do índice de categoria do modo de MIP é um décimo valor predefinido.
[0267] Em algumas modalidades, com referência à Figura 7, o codificador 60 pode incluir adicionalmente uma unidade de pré-codificação 607, configurada para realizar o processamento de pré-codificação no bloco atual em múltiplos modos de predição para obter valores de custo de distorção de taxa que correspondem a todos os modos de predição, selecionar um valor de custo de distorção de taxa mínimo a partir dos múltiplos valores de custo de distorção de taxa obtidos e determinar parâmetros de predição no modo de predição que correspondem ao valor de custo de distorção de taxa mínimo como os parâmetros de predição do bloco atual.
[0268] Em algumas modalidades, a primeira unidade de cálculo 605 é configurada adicionalmente para realizar o processamento de multiplicação de matriz na matriz de amostra de entrada de MIP, na matriz de peso de MIP e no fator de deslocamento pelo uso de um modelo de cálculo predefinido para obter o bloco de predição com base em MIP do bloco corrente.
[0269] A primeira unidade de predição 602 é configurada especificamente para realizar processamento de filtragem no bloco de predição com base em MIP para obter o valor de intrapredição do bloco atual, sendo que o bloco de predição com base em MIP inclui valores preditos de pelo menos parte das posições de pixel no bloco atual.
[0270] Pode ser entendido que, nas modalidades do pedido, "unidade" pode ser parte de um circuito, parte de um processador, parte de um programa ou software e similares, naturalmente, também pode ser modular e também pode ser não modular. Além disso, cada componente nas modalidades pode ser integrado em uma unidade de processamento, cada unidade pode também existir independentemente e duas ou mais de duas unidades também podem ser integradas em uma unidade. A unidade integrada pode ser implementada em uma forma de hardware e também pode ser implementada na forma de módulo de função de software.
[0271] Quando implementada na forma de módulo de função de software e vendida e usada não como um produto independente, a unidade integrada pode ser armazenada em uma mídia de armazenamento legível por computador. Com base em tal compreensão, a solução técnica da modalidade, substancialmente ou partes que contribuem para a técnica convencional, ou a totalidade ou parte da solução técnica pode ser incorporada na forma de produto de software, e o produto de software de computador é armazenado em uma mídia de armazenamento, incluindo uma pluralidade de instruções configurada para possibilitar que um dispositivo de computador (que pode ser um computador pessoal, um servidor, um dispositivo de rede ou semelhantes) ou um processador execute a totalidade ou parte das etapas do método na modalidade. A mídia de armazenamento inclui: várias mídias com capacidade de armazenar códigos de programa, tais como um disco U, um disco rígido móvel, uma Memória Somente de Leitura (ROM), uma Memória de Acesso Aleatório (RAM), um disco magnético ou um disco óptico.
[0272] Portanto, as modalidades do pedido fornecem uma mídia de armazenamento de computador, que é aplicável para o codificador 60. A mídia de armazenamento de computador armazena programas de computador e os programas de computador são realizados por um primeiro processador para implantar qualquer método nas modalidades mencionadas acima.
[0273] Com base na composição do codificador 60 e da mídia de armazenamento de computador, com referência à Figura 8, um exemplo de estrutura de hardware específico do codificador 60 de acordo com as modalidades do pedido é mostrado e pode incluir uma primeira interface de comunicação 801, uma primeira memória 802 e um primeiro processador 803. Cada componente é acoplado através de um primeiro sistema de barramento 804. Pode ser entendido que o primeiro sistema de barramento 804 é configurado para implantar comunicação e conexão entre esses componentes. O primeiro sistema de barramento 804 inclui um barramento de dados e também inclui um barramento de energia, um barramento de controle e um barramento de sinal de estado. No entanto, para descrição clara, vários barramentos na Figura 8 são marcados como o primeiro sistema de barramento 804.
[0274] A primeira interface de comunicação 801 é configurada para receber e enviar um sinal em um processo de recebimento e enviar informações com outros elementos de rede externos.
[0275] A primeira memória 802 é configurada para armazenar programas de computador com capacidade de execução no primeiro processador 803.
[0276] O primeiro processador 803 é configurado para executar os programas de computador para executar as seguintes operações.
[0277] Os parâmetros de predição de um bloco atual são determinados, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual.
[0278] Quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual são determinados.
[0279] O valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP.
[0280] Pode-se entender que a primeira memória
802 nas modalidades do pedido pode ser uma memória volátil ou uma memória não-volátil, ou pode incluir tanto a memória volátil quando a memória não-volátil. A memória não-volátil pode ser uma ROM, uma ROM Programável (PROM), uma ROM Apagável (EPROM), uma EPROM Elétrica (EEPROM) ou uma memória flash. A memória volátil pode ser uma RAM, e é usada como um armazenamento temporário externo de alta velocidade. É descrito de modo exemplificativo, porém, sem limitação, que RAMs em várias formas podem ser adotadas, tais como uma RAM Estática (SRAM), uma RAM dinâmica (DRAM), uma DRAM Síncrona (SDRAM), um SDRAM de Taxa de Dados Dupla (DDRSDRAM), uma SDRAM Aprimorada (ESDRAM), uma DRAM de Enlace Sincronizado (SLDRAM) e uma RAM de Rambus Direto (DRRAM). Deve-se observar que a primeira memória 802 de um sistema e o método descritos no pedido se destina a incluir, porém, sem limitação, memórias desses e quaisquer outros tipos apropriados.
[0281] O primeiro processador 803 pode ser um chip de circuito integrado com uma capacidade de processamento de sinal. Em um processo de implantação, cada etapa do método pode ser completada por um circuito de lógica integrada de hardware no primeiro processador 803 ou uma instrução em forma de software. O primeiro processador 803 pode ser um universal processador, um Processador de Sinal Digital (DSP), um Circuito Integrado de Aplicação Específica (ASIC), uma Arranjo de Porta Programável de Campo (FPGA) ou outro Dispositivo Lógico Programável (PLD), porta discreta ou dispositivo lógico de transistor e componente de hardware discreto. Cada método, etapa e diagrama de blocos lógico revelados nas modalidades do pedido podem ser implantados ou executados. O processador universal pode ser um microprocessador ou o processador também pode ser qualquer processador convencional e similares. As operações do método divulgadas em combinação com as modalidades do pedido podem ser diretamente incorporadas para serem executadas e concluídas por um processador de decodificação de hardware ou executadas e concluídas por uma combinação de módulos de hardware e software no processador de decodificação. O módulo de software pode ser localizado em uma mídia de armazenamento madura nesse campo, tal como uma RAM, uma memória flash, uma ROM, uma PROM ou EEPROM e um registrador. A mídia de armazenamento é localizada na primeira memória 802. O processador 803 lê informações na primeira memória 802 e completa as operações do método em combinação com hardware.
[0282] Pode-se entender que essas modalidades descritas no pedido podem ser implantadas por hardware, software, firmware, middleware, um microcódigo ou uma combinação dos mesmos. Em caso de implantação com o hardware, a unidade de processamento pode ser implantada em um ou mais ASICs, DSPs, Dispositivos DSPS (DSPDs), PLDs, FPGAs, processadores universais, controladores, microcontroladores, microprocessadores, outras unidades eletrônicas configuradas para executar as funções na aplicação ou combinações dos mesmos. Em caso de implantação com o software, a tecnologia do pedido pode ser implantada através dos módulos (por exemplo, processos e funções) que executam as funções na revelação. Um código de software pode ser armazenado na memória e executado pelo processador. A memória pode ser implantada no processador ou fora do processador.
[0283] Opcionalmente, como outra modalidade, o primeiro processador 803 é configurado adicionalmente para executar os programas de computador para executar qualquer método nas modalidades acima mencionadas.
[0284] As modalidades do pedido fornecem um codificador. O codificador pode incluir uma primeira unidade de determinação e uma primeira unidade de predição. A primeira unidade de determinação é configurada para determinar os parâmetros de predição de um bloco atual, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual. A primeira unidade de determinação é configurada adicionalmente para, quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, determinar uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual. A primeira unidade de predição é configurada para determinar o valor de intrapredição do bloco atual de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP. Desse modo, uma forma de determinação para o fator de deslocamento pode ser simplificada e, além disso, quando o fator de deslocamento é determinado pelo uso de uma LUT, uma memória ocupada pelo armazenamento da LUT pode ser reduzida ao mesmo tempo em que se reduz a complexidade do cálculo para atingir um objetivo de melhorar a eficiência de codificação e decodificação.
[0285] Com base no mesmo conceito inventivo das modalidades supracitadas, em referência à Figura 9, é mostrado um diagrama de estrutura de composição de um decodificador 90 de acordo com modalidades do pedido. Conforme mostrado na Figura 9, o decodificador 90 pode incluir uma unidade de análise 901, uma segunda unidade de determinação 902 e uma segunda unidade de predição 903.
[0286] A unidade de análise 901 é configurada para analisar um fluxo de bits para adquirir parâmetros de predição de um bloco atual, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual.
[0287] A segunda unidade de determinação 902 é configurada adicionalmente para, quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, determinar uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual.
[0288] A segunda unidade de predição 903 é configurada para determinar o valor de intrapredição do bloco atual de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP.
[0289] Em algumas modalidades, o fator de deslocamento do bloco atual inclui um fator de deslocamento constante e um fator de deslocamento determinado de acordo com os parâmetros de predição.
[0290] Em algumas modalidades, um valor do fator de deslocamento constante é igual a 6.
[0291] Em algumas modalidades, a segunda unidade de determinação 902 é configurada adicionalmente para determinar um valor de índice de tamanho de bloco do bloco atual de acordo com o parâmetro de tamanho do bloco atual e determinar o fator de deslocamento de acordo com o valor de índice de tamanho de bloco do bloco atual.
[0292] Em algumas modalidades, com referência à
Figura 10, o decodificador 90 pode incluir adicionalmente uma segunda unidade de configuração 904. A segunda unidade de configuração 904 é configurada para, quando a largura e a altura do bloco atual forem iguais a 4, definir o valor de índice de tamanho de bloco do bloco atual como 0; quando a largura e a altura do bloco atual forem iguais a 8 ou uma dentre a largura e a altura do bloco atual for igual a 4, definir o valor de índice de tamanho de bloco do bloco atual como 1 e, quando a largura e a altura do bloco atual não atenderem às condições acima, definir o valor de índice de tamanho de bloco do bloco atual como 2.
[0293] Em algumas modalidades, a segunda unidade de configuração 904 é configurada adicionalmente para definir o fator de deslocamento t igual a uma razão entre a largura ou altura do bloco atual como um primeiro valor predefinido que corresponde ao valor de índice de tamanho do bloco do bloco atual.
[0294] Em algumas modalidades, o primeiro valor predefinido representa o número de valores de amostra de entrada de MIP obtidos a partir de um limite do bloco atual.
[0295] Em algumas modalidades, a segunda unidade de determinação 902 é configurada adicionalmente para, quando o valor de índice de tamanho de bloco do bloco atual for igual a 0, 1 e 2, respectivamente, determinar que o primeiro valor predefinido correspondente ao valor de índice de tamanho de bloco do atual bloco é igual a 2, 4 e 4, respectivamente.
[0296] Em algumas modalidades, a segunda unidade de configuração 904 é configurada adicionalmente para definir o fator de deslocamento igual a uma razão entre a largura ou altura do bloco atual como um segundo valor predefinido que corresponde ao valor de índice de tamanho do bloco do bloco atual.
[0297] Em algumas modalidades, o segundo valor predefinido representa um tamanho de um bloco de predição com base em MIP, obtido pelo uso direto da matriz de peso de MIP, do bloco atual.
[0298] Em algumas modalidades, a segunda unidade de determinação 902 é configurada adicionalmente para, quando o valor de índice de tamanho de bloco do bloco atual for igual a 0, 1 e 2, respectivamente, determinar que o segundo valor predefinido correspondente ao valor de índice de tamanho de bloco do atual bloco é igual a 4, 4 e 8, respectivamente.
[0299] Em algumas modalidades, com referência à Figura 10, o codificador 90 pode incluir adicionalmente uma segunda unidade de consulta 905.
[0300] A segunda unidade de determinação 902 é configurada adicionalmente para determinar o valor de índice de tamanho de bloco do bloco atual de acordo com o parâmetro de tamanho do bloco atual.
[0301] A segunda unidade de consulta 905 é configurada para consultar um fator de deslocamento que corresponde ao valor de índice de tamanho de bloco determinado em uma primeira LUT predefinida de acordo com o valor de índice de tamanho de bloco determinado, sendo que a primeira LUT predefinida é configurada para registrar valores correspondentes dos valores de índice de tamanho de bloco e os fatores de deslocamento, e determinar o fator de deslocamento consultado como o fator de deslocamento que corresponde ao bloco atual.
[0302] Em algumas modalidades, a segunda unidade de determinação 902 é configurada adicionalmente para, quando o parâmetro de modo de predição indica que o modo de MIP é adotado para determinar o valor de intrapredição do bloco atual, determinar um valor de índice de categoria de modo de MIP do bloco atual.
[0303] A segunda unidade de consulta 905 é configurada para consultar um fator de deslocamento que corresponde ao valor de índice de categoria de modo de MIP determinado em um segunda LUT predefinida de acordo com o valor de índice de categoria de modo de MIP determinado, sendo que a segunda LUT predefinida é configurada para registrar valores correspondentes dos valores de índice de categoria de modo de MIP e os fatores de deslocamento, e determinar o fator de deslocamento consultado como o fator de deslocamento que corresponde ao bloco atual.
[0304] Em algumas modalidades, a segunda unidade de determinação 902 é configurada especificamente para determinar o valor de índice de tamanho de bloco que corresponde ao bloco atual e um valor de índice de modo de MIP quando o modo de MIP é adotado para predição de acordo com o parâmetro de predição e determinar o valor de índice de categoria de modo de MIP do bloco atual de acordo com o valor de índice de tamanho de bloco e o valor de índice de modo de MIP.
[0305] Em algumas modalidades, com referência à Figura 10, o codificador 90 pode incluir adicionalmente uma segunda unidade de cálculo 906. A primeira segunda de cálculo 906 é configurada para, quando o valor de índice de tamanho de bloco for igual a 0, realizar processamento de deslocamento à direita no valor de índice de modo de MIP com o uso de um primeiro valor de deslocamento predefinido para obter o valor de índice de categoria de modo de MIP do bloco atual; ou, quando o valor de índice de tamanho de bloco for igual a 1, realizar o processamento de deslocamento à direita no valor de índice de modo de MIP com o uso do primeiro valor de deslocamento predefinido para obter um valor deslocado à direita e realizar o processamento de sobreposição no valor deslocado à direita e um terceiro valor predefinido para obter o valor de índice de categoria de modo de MIP do bloco atual; ou, quando o valor de índice de tamanho de bloco for igual a 2, realizar o processamento de deslocamento à direita no valor de índice de modo de MIP com o uso de um segundo valor de deslocamento predefinido para obter o valor de índice de categoria de modo de MIP do bloco atual.
[0306] Em algumas modalidades, com referência à Figura 10, o decodificador 90 pode incluir adicionalmente uma segunda unidade de avaliação 907, configurada para, quando o valor de índice de tamanho de bloco for igual a 0, se o valor de índice de modo de MIP for menor ou igual a um primeiro valor de limiar, determinar que o valor de índice de categoria de modo de MIP é um quarto valor predefinido, e se o valor de índice de modo de MIP for maior do que o primeiro valor de limiar, determinar que o valor de índice de categoria de modo de MIP é um quinto valor predefinido; ou, quando o valor de índice de tamanho de bloco for igual a 1, se o valor de índice de modo de MIP for menor ou igual a um segundo valor de limiar, determinar que o valor de índice de categoria de modo de MIP é um sexto valor predefinido e se o índice do modo de MIP valor for maior do que o segundo valor de limiar, determinar que o valor de índice de categoria de modo de MIP é um sétimo valor predefinido; ou, quando o valor de índice de tamanho de bloco for igual a 2, se o valor de índice de modo de MIP for menor ou igual a um terceiro valor de limiar, determinar que o valor de índice de categoria de modo de MIP é um oitavo valor predefinido, se o valor de índice de modo de MIP for maior que o terceiro valor de limiar e o valor de índice de modo de MIP for menor ou igual a um quarto valor de limiar, determinar que o valor de índice de categoria de modo de MIP é um nono valor predefinido e se o valor de índice de modo de MIP for maior que o quarto valor de limiar, determinar que o valor do índice de categoria do modo de MIP é um décimo valor predefinido.
[0307] Em algumas modalidades, a segunda unidade de cálculo 906 é configurada adicionalmente para realizar o processamento de multiplicação de matriz na matriz de amostra de entrada de MIP, na matriz de peso de MIP e no fator de deslocamento pelo uso de um modelo de cálculo predefinido para obter o bloco de predição com base em MIP do bloco corrente.
[0308] A segunda unidade de predição 903 é configurada especificamente para realizar processamento de filtragem no bloco de predição com base em MIP para obter o valor de intrapredição do bloco atual, sendo que o bloco de predição com base em MIP inclui valores preditos de pelo menos parte das posições de pixel no bloco atual.
[0309] Pode ser entendido que, na modalidade, "unidade" pode ser parte de um circuito, parte de um processador, parte de um programa ou software e similares, naturalmente, também pode ser modular e também pode ser não modular. Além disso, cada componente nas modalidades pode ser integrado em uma unidade de processamento, cada unidade pode também existir independentemente e duas ou mais de duas unidades também podem ser integradas em uma unidade. A unidade integrada pode ser implementada em uma forma de hardware e também pode ser implementada na forma de módulo de função de software.
[0310] Quando é implantada na forma de um módulo funcional de software e vendida e usada não como um produto independente, a unidade integrada pode ser armazenada em uma mídia de armazenamento legível por computador. Com base em tal entendimento, as modalidades fornecem uma mídia de armazenamento de computador, que é aplicável para o decodificador 90. A mídia de armazenamento de computador armazena programas de computador e os programas de computador são realizados por um segundo processador para implantar qualquer método nas modalidades mencionadas acima.
[0311] Com base na composição do decodificador 90 e da mídia de armazenamento de computador, com referência à Figura 11, é mostrado um exemplo de estrutura de hardware específico do decodificador 90 de acordo com as modalidades do pedido e pode incluir uma segunda interface de comunicação 1101, uma segunda memória 1102 e um segundo processador 1103. Cada componente é acoplado através de um segundo sistema de barramento 1104. Pode ser entendido que o segundo sistema de barramento 1104 é configurado para implantar comunicação e conexão entre esses componentes. O segundo sistema de barramento 1104 inclui um barramento de dados e também inclui um barramento de energia, um barramento de controle e um barramento de sinal de estado. No entanto, para descrição clara, vários barramentos na Figura 11 são marcados como o segundo sistema de barramento 1104.
[0312] A segunda interface de comunicação 1101 é configurada para receber e enviar um sinal em um processo de recebimento e enviar informações com outro elemento de rede externo.
[0313] A segunda memória 1102 é configurada para armazenar programas de computador com capacidade de execução no segundo processador 1103
[0314] O segundo processador 1103 é configurado para executar os programas de computador para executar as seguintes operações.
[0315] Um fluxo de bits é analisado para adquirir parâmetros de predição de um bloco atual, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual.
[0316] Quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual são determinados.
[0317] O valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP.
[0318] Opcionalmente, como outra modalidade, o segundo processador 1103 é configurado adicionalmente para executar os programas de computador para executar qualquer método nas modalidades acima mencionadas.
[0319] Pode ser entendido que a segunda memória 1102 tem uma função de hardware semelhante àquela da primeira memória 802 e o segundo processador 1103 tem uma função de hardware semelhante àquela do primeiro processador 803.
Elaborações são omitidas no presente documento.
[0320] As modalidades do pedido fornecem um decodificador. O decodificador pode incluir uma unidade de análise, uma segunda unidade de determinação e uma segunda unidade de predição. A unidade de análise é configurada para analisar um fluxo de bits para adquirir parâmetros de predição de um bloco atual, sendo que os parâmetros de predição incluem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual. A segunda unidade de determinação é configurada adicionalmente para, quando o parâmetro de modo de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, determinar uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual. A segunda unidade de predição é configurada para determinar o valor de intrapredição do bloco atual de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP. Desse modo, uma forma de determinação para o fator de deslocamento pode ser simplificada e, além disso, quando o fator de deslocamento é determinado pelo uso de uma LUT, uma memória ocupada pelo armazenamento da LUT pode ser reduzida ao mesmo tempo em que se reduz a complexidade do cálculo de modo que um objetivo de melhorar a eficiência de codificação e decodificação é alcançado.
[0321] Deve ser observado que, no pedido, os termos "incluir" e "conter" ou qualquer outra variante dos mesmos se destina a cobrir inclusões não exclusivas, de modo que um processo, método, objeto ou dispositivo que inclui uma série de elementos não inclui apenas aqueles elementos, mas também inclui outros elementos que não estão claramente listados ou inclui adicionalmente elementos intrínsecos ao processo, ao método, ao objeto ou ao dispositivo. Sob a condição de não haver mais limitações, um elemento definido pela declaração "que inclui um/uma......" não exclui a existência dos mesmos outros elementos em um processo, método, objeto ou dispositivo que inclui o elemento.
[0322] Os números de sequência das modalidades do pedido são adotados não para representar a superioridade- inferioridade das modalidades, mas apenas para descrição.
[0323] Os métodos revelados em algumas modalidades de método fornecidas no pedido podem ser combinados livremente sem conflitos para obter novas modalidades de método.
[0324] As características reveladas em algumas modalidades de produto fornecidas no pedido podem ser combinadas livremente sem conflitos para obter novas modalidades de produto.
[0325] As características reveladas em algumas modalidades de método ou dispositivo fornecidas no pedido podem ser combinadas livremente sem conflitos para obter novas modalidades de método ou modalidades de dispositivo.
[0326] O supracitado é somente o modo de implantação específica do pedido e não se destina a limitar o escopo de proteção do pedido. Quaisquer variações ou substituições evidentes aos elementos versados na técnica dentro do escopo técnico revelado pelo pedido deverão estar dentro do escopo de proteção do pedido. Portanto, o escopo de proteção do pedido será sujeito ao escopo de proteção das reivindicações.
APLICABILIDADE INDUSTRIAL
[0327] As modalidades do pedido são aplicáveis para um codificador ou decodificador.
Após os parâmetros de predição de um bloco atual serem obtidos, quando um parâmetro de modo de predição nos parâmetros de predição indica que um modo de MIP é adotado para determinar um valor de intrapredição do bloco atual, uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual podem ser determinados e, então, o valor de intrapredição do bloco atual é determinado de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP.
Dessa maneira, tanto em um lado do decodificador quanto em um lado do codificador, uma forma de determinação para o fator de deslocamento pode ser simplificada e, além disso, quando o fator de deslocamento é determinado pelo uso de um LUT, uma memória ocupada pelo armazenamento de um LUT pode ser reduzida ao mesmo tempo em que se reduz a complexidade do cálculo, de modo que um propósito de melhorar a eficiência da codificação e da decodificação seja alcançado.

Claims (15)

REIVINDICAÇÕES
1. MÉTODO PARA PREDIÇÃO DE COMPONENTE DE COR, APLICÁVEL A UM CODIFICADOR e caracterizado por compreender: determinar parâmetros de predição de um bloco atual, sendo que os parâmetros de predição compreendem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual; quando o parâmetro do modo de predição indica que um modo de Intrapredição Com Base em Matriz (MIP) é adotado para determinar um valor de intrapredição do bloco atual, determinar uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e um Matriz de amostra de entrada de MIP do bloco atual; e determinar o valor de intrapredição do bloco atual de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP, em que a matriz de peso de MIP do bloco atual é pelo menos determinada de acordo com um valor de índice de tamanho de bloco do bloco atual e o valor de índice de tamanho de bloco do bloco atual é determinado de acordo com o parâmetro de tamanho do bloco atual.
2. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fator de deslocamento do bloco atual compreender um fator de deslocamento.
3. MÉTODO, de acordo com a reivindicação 2, caracterizado por um valor do fator de deslocamento constante ser igual a 6.
4. MÉTODO, de acordo com a reivindicação 1, caracterizado pela determinação do valor de índice de tamanho de bloco do bloco atual de acordo com o parâmetro de tamanho do bloco atual compreender:
quando tanto a largura quanto a altura do bloco atual são iguais a 4, definir o valor de índice de tamanho de bloco do bloco atual igual a 0; quando tanto a largura quanto a altura do bloco atual são iguais a 8 ou uma dentre a largura e a altura do bloco atual é igual a 4, definir o valor de índice de tamanho de bloco do bloco atual igual a 1; ou quando tanto a largura quanto a altura do bloco atual não atendem às condições acima, definir o valor de índice de tamanho de bloco do bloco atual igual a 2.
5. MÉTODO, de acordo com a reivindicação 1, caracterizado pela determinação do valor de intrapredição do bloco atual de acordo com a matriz de peso de MIP, do fator de deslocamento e da matriz de amostra de entrada de MIP compreender: realizar processamento de multiplicação de matriz na matriz de amostra de entrada de MIP, na matriz de peso de MIP e no fator de deslocamento pelo uso de um modelo de cálculo predefinido para obter o bloco de predição com base em MIP do bloco atual; e realizar processamento de filtragem no bloco de predição com base em MIP para obter o valor de intrapredição do bloco atual, sendo que o bloco de predição com base em MIP compreende valores de predição de pelo menos parte das posições de pixel no bloco atual.
6. MÉTODO PARA PREDIÇÃO DE COMPONENTE DE COR, APLICÁVEL A UM DECODIFICADOR e caracterizado por compreender: analisar um fluxo de bits para adquirir parâmetros de predição de um bloco atual, sendo que os parâmetros de predição compreendem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual; quando o parâmetro do modo de predição indica que um modo de Intrapredição Com Base em Matriz (MIP) é adotado para determinar um valor de intrapredição do bloco atual, determinar uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e um Matriz de amostra de entrada de MIP do bloco atual; e determinar o valor de intrapredição do bloco atual de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP, em que a matriz de peso de MIP do bloco atual é pelo menos determinada de acordo com um valor de índice de tamanho de bloco do bloco atual e o valor de índice de tamanho de bloco do bloco atual é determinado de acordo com o parâmetro de tamanho do bloco atual.
7. MÉTODO, de acordo com a reivindicação 6, caracterizado pelo deslocamento do bloco atual compreender um fator de deslocamento constante.
8. MÉTODO, de acordo com a reivindicação 7, caracterizado por um valor do fator de deslocamento constante ser igual a 6.
9. MÉTODO, de acordo com a reivindicação 6, caracterizado pela determinação do valor de índice de tamanho de bloco do bloco atual de acordo com o parâmetro de tamanho do bloco atual compreender: quando tanto a largura quanto a altura do bloco atual são iguais a 4, definir o valor de índice de tamanho de bloco do bloco atual igual a 0; quando tanto a largura quanto a altura do bloco atual são iguais a 8 ou uma dentre a largura e a altura do bloco atual é igual a 4, definir o valor de índice de tamanho de bloco do bloco atual igual a 1; ou quando tanto a largura quanto a altura do bloco atual não atendem às condições acima, definir o valor de índice de tamanho de bloco do bloco atual igual a 2.
10. MÉTODO, de acordo com a reivindicação 6, caracterizado pela determinação do valor de intrapredição do bloco atual de acordo com a matriz de peso de MIP, do fator de deslocamento e da matriz de amostra de entrada de MIP compreender: realizar processamento de multiplicação de matriz na matriz de amostra de entrada de MIP, na matriz de peso de MIP e no fator de deslocamento pelo uso de um modelo de cálculo predefinido para obter o bloco de predição com base em MIP do bloco atual; e realizar processamento de filtragem no bloco de predição com base em MIP para obter o valor de intrapredição do bloco atual, sendo que o bloco de predição com base em MIP compreende valores preditos de pelo menos parte das posições de pixel no bloco atual.
11. CODIFICADOR QUE COMPREENDE UMA PRIMEIRA UNIDADE DE DETERMINAÇÃO E UMA PRIMEIRA UNIDADE DE PREDIÇÃO, caracterizado por a primeira unidade de determinação ser configurada para determinar parâmetros de predição de um bloco atual, sendo que os parâmetros de predição compreendem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual; a primeira unidade de determinação ser configurada adicionalmente para, quando o parâmetro de modo de predição indicar que um modo de Intrapredição com Base em Matriz (MIP)
é adotado para determinar um valor de intrapredição do bloco atual, determinar uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual; e a primeira unidade de predição ser configurada para determinar o valor de intrapredição do bloco atual de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP, em que a matriz de peso de MIP do bloco atual é pelo menos determinada de acordo com um valor de índice de tamanho de bloco do bloco atual e o valor de índice de tamanho de bloco do bloco atual é determinado de acordo com o parâmetro de tamanho do bloco atual.
12. CODIFICADOR QUE COMPREENDE UMA PRIMEIRA MEMÓRIA E UM PRIMEIRO PROCESSADOR, caracterizado por a primeira memória ser configurada para armazenar programas de computador com capacidade de execução no primeiro processador; e o primeiro processador ser configurado para executar os programas de computador para realizar o método, conforme definido em qualquer uma das reivindicações 1 a 5.
13. DECODIFICADOR QUE COMPREENDE UMA UNIDADE DE ANÁLISE, UMA SEGUNDA UNIDADE DE DETERMINAÇÃO E UMA SEGUNDA UNIDADE DE PREDIÇÃO, caracterizado por a unidade de análise ser configurada para analisar um fluxo de bits para adquirir parâmetros de predição de um bloco atual, sendo que os parâmetros de predição compreendem um parâmetro de modo de predição e um parâmetro de tamanho do bloco atual; a segunda unidade de determinação ser configurada para, quando o parâmetro de modo de predição indicar que um modo de Intrapredição com Base em Matriz (MIP) é adotado para determinar um valor de intrapredição do bloco atual, determinar uma matriz de peso de MIP do bloco atual, um fator de deslocamento do bloco atual e uma matriz de amostra de entrada de MIP do bloco atual; e a segunda unidade de predição ser configurada para determinar o valor de intrapredição do bloco atual de acordo com a matriz de peso de MIP, o fator de deslocamento e a matriz de amostra de entrada de MIP, em que a matriz de peso de MIP do bloco atual é pelo menos determinada de acordo com um valor de índice de tamanho de bloco do bloco atual e o valor de índice de tamanho de bloco do bloco atual é determinado de acordo com o parâmetro de tamanho do bloco atual.
14. DECODIFICADOR QUE COMPREENDE UMA SEGUNDA MEMÓRIA E UM SEGUNDO PROCESSADOR, caracterizado por a segunda memória ser configurada para armazenar programas de computador com capacidade de execução no segundo processador; e o segundo processador ser configurado para executar os programas de computador para realizar o método, conforme definido em qualquer uma das reivindicações 6 a 10.
15. MÍDIA DE ARMAZENAMENTO DE COMPUTADOR QUE ARMAZENA PROGRAMAS DE COMPUTADOR, caracterizada pelos programas de computador serem executados por um primeiro processador para implantar o método, conforme definido em qualquer uma das reivindicações 1 a 5, ou serem executados por um segundo processador para implantar o método, conforme definido em qualquer uma das reivindicações 6 a 10.
BR112021005760-9A 2019-07-10 2020-05-15 método para predição de componente de cor aplicável a um codificador, codificador que compreende uma primeira unidade de determinação e uma primeira unidade de predição, codificador que compreende uma primeira memória e um primeiro processador, decodificador que compreende uma unidade de análise, uma segunda unidade de determinação e uma segunda unidade de predição, decodificador que compreende uma segunda memória e um segundo processador, e mídia de armazenamento de computador BR112021005760A2 (pt)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962872488P 2019-07-10 2019-07-10
US62/872,488 2019-07-10
US201962873170P 2019-07-11 2019-07-11
US201962872830P 2019-07-11 2019-07-11
US62/873,170 2019-07-11
US62/872,830 2019-07-11
PCT/CN2020/090688 WO2021004155A1 (zh) 2019-07-10 2020-05-15 图像分量预测方法、编码器、解码器以及存储介质

Publications (1)

Publication Number Publication Date
BR112021005760A2 true BR112021005760A2 (pt) 2021-06-29

Family

ID=74115008

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021005760-9A BR112021005760A2 (pt) 2019-07-10 2020-05-15 método para predição de componente de cor aplicável a um codificador, codificador que compreende uma primeira unidade de determinação e uma primeira unidade de predição, codificador que compreende uma primeira memória e um primeiro processador, decodificador que compreende uma unidade de análise, uma segunda unidade de determinação e uma segunda unidade de predição, decodificador que compreende uma segunda memória e um segundo processador, e mídia de armazenamento de computador

Country Status (14)

Country Link
US (5) US11509901B2 (pt)
EP (1) EP3817390A4 (pt)
JP (1) JP2022539937A (pt)
KR (1) KR20220030918A (pt)
CN (4) CN113225562B (pt)
AU (1) AU2020310350A1 (pt)
BR (1) BR112021005760A2 (pt)
CA (1) CA3113740A1 (pt)
IL (1) IL281619A (pt)
MX (1) MX2021005855A (pt)
PH (1) PH12021550522A1 (pt)
SG (1) SG11202102925XA (pt)
WO (1) WO2021004155A1 (pt)
ZA (1) ZA202101632B (pt)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2021013521A (es) * 2019-05-10 2022-01-24 Fraunhofer Ges Forschung Prediccion basada en bloques.
CN114009044A (zh) * 2019-06-14 2022-02-01 瑞典爱立信有限公司 用于基于矩阵的帧内预测的简化下采样
WO2020256466A1 (ko) * 2019-06-19 2020-12-24 한국전자통신연구원 화면 내 예측 모드 및 엔트로피 부호화/복호화 방법 및 장치
JP7444570B2 (ja) 2019-09-20 2024-03-06 シャープ株式会社 動画像復号装置、動画像符号化装置、動画像復号方法および動画像符号化方法

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728313B1 (en) * 1998-01-08 2004-04-27 Intel Corporation Method and apparatus for performing MPEG II dequantization and IDCT
CN100405848C (zh) * 2005-09-16 2008-07-23 宁波大学 一种用于视频图像编码过程中的量化方法
US8065037B2 (en) 2007-08-07 2011-11-22 Board Of Regents Of The Nevada System Of Higher Education, On Behalf Of The University Of Nevada, Reno Control method and system for hydraulic machines employing a dynamic joint motion model
KR20110065092A (ko) * 2009-12-09 2011-06-15 삼성전자주식회사 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
KR101279507B1 (ko) * 2009-12-15 2013-06-28 한국전자통신연구원 병렬 처리 기반 파이프라인 복호화 장치 및 방법
KR20120086232A (ko) * 2011-01-25 2012-08-02 (주)휴맥스 율-왜곡 최적화를 위한 영상 부호화/복호화 방법 및 이를 수행하는 장치
MX338867B (es) 2010-07-15 2016-05-03 Toshiba Kk Metodo de codificación de imágenes y método de descodificacion de imágenes.
US9258573B2 (en) * 2010-12-07 2016-02-09 Panasonic Intellectual Property Corporation Of America Pixel adaptive intra smoothing
CN102595112B (zh) * 2011-01-12 2014-02-19 北京大学 视频编码中编码和重建图像块的方法
EP2675161B1 (en) 2011-02-10 2018-11-14 Velos Media International Limited Image processing device and image processing method
WO2012134046A2 (ko) * 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
US20130101033A1 (en) 2011-10-14 2013-04-25 Qualcomm Incorporated Coding non-symmetric distributions of data
AU2012200319B2 (en) * 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
WO2014045506A1 (en) * 2012-09-24 2014-03-27 Sharp Kabushiki Kaisha Video compression with color space scalability
JP2017513312A (ja) * 2014-03-14 2017-05-25 シャープ株式会社 色空間スケーラビリティを用いたビデオ圧縮
JP2015231091A (ja) * 2014-06-04 2015-12-21 株式会社日立製作所 通信システム、ネットワーク装置及び通信制御方法
EP3598760A1 (en) * 2015-06-11 2020-01-22 Intellectual Discovery Co., Ltd. Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therfor
EP3360329A4 (en) * 2015-11-18 2019-04-10 MediaTek Inc. METHOD AND DEVICE FOR AN INTRAPRADICATION MODE WITH AN INTRAPREDICATION FILTER FOR VIDEO AND IMAGE COMPRESSION
CN105516728B (zh) * 2015-12-15 2019-06-28 华中科技大学 一种H.265/HEVC中8x8子宏块的并行帧内预测方法
EP3459244A4 (en) 2016-01-12 2020-03-04 Telefonaktiebolaget LM Ericsson (publ) VIDEO CODING WITH HYBRID INTRAPREDICTION
WO2017135692A1 (ko) 2016-02-02 2017-08-10 엘지전자(주) 픽셀 순환 코딩과 변환 코딩의 결합에 기초하여 비디오 신호를 처리하는 방법 및 장치
GB2552323B (en) * 2016-07-18 2020-04-29 Imagination Tech Ltd Mip map compression
WO2018051330A1 (en) * 2016-09-14 2018-03-22 Beamr Imaging Ltd. Method of pre-processing of video information for optimized video encoding
US11381808B2 (en) * 2019-04-25 2022-07-05 Hfi Innovation Inc. Method and apparatus of matrix based intra prediction in image and video processing
US11277637B2 (en) * 2019-05-09 2022-03-15 Qualcomm Incorporated Reference sampling for matrix intra prediction mode
US11252410B2 (en) * 2019-06-11 2022-02-15 Tencent America LLC Method and apparatus for video coding
CN114128269A (zh) 2019-06-14 2022-03-01 弗劳恩霍夫应用研究促进协会 内预测模式的编码
WO2020256599A1 (en) 2019-06-21 2020-12-24 Huawei Technologies Co., Ltd. Method and apparatus of quantizing coefficients for matrix-based intra prediction technique
EP4005210A1 (en) 2019-07-22 2022-06-01 InterDigital VC Holdings, Inc. Method and apparatus for video encoding and decoding with matrix based intra-prediction
KR20230157531A (ko) 2019-09-24 2023-11-16 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체
CN111050183B (zh) 2019-12-13 2022-04-19 浙江大华技术股份有限公司 一种帧内预测方法、编码器及存储介质

Also Published As

Publication number Publication date
KR20220030918A (ko) 2022-03-11
CN116389724A (zh) 2023-07-04
EP3817390A4 (en) 2021-09-29
US11509901B2 (en) 2022-11-22
US20240163445A1 (en) 2024-05-16
US20230013677A1 (en) 2023-01-19
US11909979B2 (en) 2024-02-20
US20210203941A1 (en) 2021-07-01
EP3817390A1 (en) 2021-05-05
WO2021004155A1 (zh) 2021-01-14
US11930181B2 (en) 2024-03-12
AU2020310350A1 (en) 2021-04-22
CN113225562A (zh) 2021-08-06
CN113225562B (zh) 2023-05-30
US20230015739A1 (en) 2023-01-19
CA3113740A1 (en) 2021-01-14
CN116389725A (zh) 2023-07-04
CN112655215A (zh) 2021-04-13
IL281619A (en) 2021-05-31
PH12021550522A1 (en) 2022-02-21
US20240114142A1 (en) 2024-04-04
JP2022539937A (ja) 2022-09-14
MX2021005855A (es) 2021-07-15
ZA202101632B (en) 2022-08-31
SG11202102925XA (en) 2021-04-29

Similar Documents

Publication Publication Date Title
BR112021005760A2 (pt) método para predição de componente de cor aplicável a um codificador, codificador que compreende uma primeira unidade de determinação e uma primeira unidade de predição, codificador que compreende uma primeira memória e um primeiro processador, decodificador que compreende uma unidade de análise, uma segunda unidade de determinação e uma segunda unidade de predição, decodificador que compreende uma segunda memória e um segundo processador, e mídia de armazenamento de computador
US20230117813A1 (en) Parameter derivation in cross component mode
TWI758081B (zh) 可適性色彩空間轉換寫碼
BR112021014853A2 (pt) Método e aparelho para processar e codificar dados de vídeo, e, mídias de armazenamento e registro legíveis por computador não transitórias
BR112020020976A2 (pt) Ajustes de transformada implícita
BR122018010825B1 (pt) Quantificação de croma em codificação de vídeo
BR112014004645B1 (pt) Método de codificação de imagem e aparelho de codificação de imagem
JP6324016B2 (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
WO2021120122A1 (zh) 图像分量预测方法、编码器、解码器以及存储介质
CN114223200A (zh) 位置相关帧内预测样点滤波
WO2020132908A1 (zh) 解码预测方法、装置及计算机存储介质
BR112020020806A2 (pt) Configurações de transformação implícita adaptativa
BR112021006138A2 (pt) método de predição de componente de imagem aplicado a um decodificador, dispositivo de predição de componente de vídeo, aplicado a um decodificador, e mídia de armazenamento legível por computador
WO2020056767A1 (zh) 视频图像分量的预测方法、装置及计算机存储介质
EP4391537A2 (en) Image prediction method, encoder, decoder and storage medium
RU2812753C2 (ru) Способ предсказания компонента изображения, кодер, декодер и носитель данных
JP2022521366A (ja) イントラ予測方法、装置およびコンピュータ記憶媒体
RU2776160C1 (ru) Способ и устройство внутреннего предсказания цветности и компьютерный носитель данных
RU2781240C1 (ru) Способ и устройство предсказания для декодирования и компьютерный носитель данных
BR112019007634B1 (pt) Aparelho e método para predição intra de valores de pixels,aparelho de codificação, aparelho de decodificação e meio legível por computador