BR112017006018B1 - Método de predição de imagem e aparelho de decodificação - Google Patents

Método de predição de imagem e aparelho de decodificação Download PDF

Info

Publication number
BR112017006018B1
BR112017006018B1 BR112017006018-3A BR112017006018A BR112017006018B1 BR 112017006018 B1 BR112017006018 B1 BR 112017006018B1 BR 112017006018 A BR112017006018 A BR 112017006018A BR 112017006018 B1 BR112017006018 B1 BR 112017006018B1
Authority
BR
Brazil
Prior art keywords
image block
pixel
current image
motion vector
block
Prior art date
Application number
BR112017006018-3A
Other languages
English (en)
Other versions
BR112017006018A2 (pt
Inventor
Li Li
Houqiang Li
Zhuoyi Lv
Sixin Lin
Original Assignee
Huawei Technologies Co., Ltd.
University Of Science And Technology Of China
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 Huawei Technologies Co., Ltd., University Of Science And Technology Of China filed Critical Huawei Technologies Co., Ltd.
Priority to BR122020019754-4A priority Critical patent/BR122020019754B1/pt
Publication of BR112017006018A2 publication Critical patent/BR112017006018A2/pt
Publication of BR112017006018B1 publication Critical patent/BR112017006018B1/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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/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/172Methods 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 picture, frame or field
    • 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/182Methods 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 pixel
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

método de predição de imagem e aparelho relacionado. modalidades da presente invenção descrevem um método de predição de imagem e um aparelho relacionado. o método de predição de imagem inclui: determinar (101) preditores de vetor de movimento de k amostras de pixel em um bloco de imagens atual, em que k é um número inteiro superior a 1, as k amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagens atual, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice é obtido com base em um vetor de movimento de um primeiro predefinido bloco de imagens espacialmente adjacente do bloco de imagens atual, e o primeiro bloco de imagens espacialmente adjacente é espacialmente adjacente à primeira amostra de pixel de ângulo de vértice; e executar (102), com base em um modelo de movimento não translacional e os preditores de vetor de movimento das k amostras de pixel, predição de valor de pixel no bloco de imagens atual. as soluções nas modalidades da presente invenção são úteis na redução da complexidade de cálculo de predição de imagem com base em um modelo de movimento não translacional.

Description

FUNDAMENTOS
[001] Com o desenvolvimento de tecnologias de aquisição fotoelétricas e aumento contínuo de requisitos para vídeos digitais de alta definição, uma quantidade de dados de vídeo é cada vez maior. Devido à limitada largura de banda de transmissão heterogênea e aplicações de vídeo diversificadas, requisitos mais elevados são continuamente impostos sobre eficiência de codificação de vídeo. Uma tarefa de desenvolver um padrão de Codificação de Vídeo de Alta Eficiência (HEVC) é iniciada de acordo com os requisitos.
[002] Um princípio básico da codificação de compressão de vídeo é utilizar correlação entre um domínio de espaço, um domínio do tempo e uma palavra de código para remover redundância tanto quanto possível. Atualmente, uma prática predominante é utilizar uma estrutura de codificação de vídeo híbrida baseada em blocos para implementar codificação de compressão de vídeo por executar passos de predição (incluindo predição intraquadro e predição interquadro), transformada, quantização, codificação de entropia e semelhantes. Esta estrutura de codificação mostra uma viabilidade elevada e, por conseguinte, a HEVC ainda utiliza esta estrutura de codificação de vídeo híbrida baseada em blocos.
[003] Em várias soluções de codificação / decodificação de vídeo, estimativa de movimento ou compensação de movimento é uma tecnologia chave que afeta eficiência de codificação / decodificação. Em várias soluções convencionais de codificação / decodificação de vídeo, assume-se que o movimento de um objeto sempre encontra um movimento de translação, e que movimento de cada parte do objeto inteiro é o mesmo. Basicamente, todos os algoritmos de estimativa de movimento ou de compensação de movimento convencionais são algoritmos de compensação de movimento de bloco que são estabelecidos com base em um modelo de movimento de translação. No entanto, movimento no mundo real é diversificado, e movimentos irregulares como movimento de escalonamento para cima / para baixo, de rotação ou parabólico é onipresente. Desde a nona década do século passado, especialistas de codificação de vídeo realizaram universalidade de movimento irregular, e desejaram introduzir um modelo de movimento irregular (um modelo de movimento não translacional, como um modelo de transformação afim, um modelo de movimento rotacional ou um modelo de movimento de escalonamento) para melhorar a eficiência da codificação de vídeo. No entanto, complexidade computacional de predição de imagem convencional executada com base em um modelo de movimento não translacional é geralmente bastante elevada.
SUMÁRIO
[004] Modalidades da presente invenção fornecem um método de predição de imagem e um aparelho relacionado, de modo a reduzir complexidade de cálculo de predição de imagem com base em um modelo de movimento não translacional.
[005] Um primeiro aspecto da presente invenção fornece um método de predição de imagem, incluindo: determinar preditores de vetor de movimento de K amostras de pixel em um bloco de imagem atual, em que K é um número inteiro superior a 1, as K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice é obtido com base em um vetor de movimento de um primeiro predefinido bloco de imagens espacialmente adjacente do bloco de imagem atual, e o primeiro bloco de imagens espacialmente adjacente é espacialmente adjacente à primeira amostra de pixel de ângulo de vértice; e executar, com base em um modelo de movimento não translacional e os preditores de vetor de movimento das K amostras de pixel, predição de valor de pixel no bloco de imagem atual.
[006] Com referência ao primeiro aspecto, em uma primeira forma possível de implementação do primeiro aspecto, as K amostras de pixel incluem pelo menos duas amostras de pixel em uma amostra de pixel esquerda superior, uma amostra de pixel direita superior, ou uma amostra de pixel esquerda inferior no bloco de imagem atual; e a amostra de pixel esquerda superior no bloco de imagem atual é um vértice esquerdo superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice esquerdo superior do bloco de imagem atual, a amostra de pixel esquerda inferior no bloco de imagem atual é um vértice esquerdo inferior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice esquerdo inferior do bloco de imagem atual, e a amostra de pixel direita superior no bloco de imagem atual é um vértice direito superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice direito superior do bloco de imagem atual.
[007] Com referência à primeira forma possível de implementação do primeiro aspecto, em uma segunda forma possível de implementação do primeiro aspecto, o primeiro bloco de imagens espacialmente adjacente é um bloco de imagens X1, um bloco de imagens X2, ou um bloco de imagens X3; um preditor de vetor de movimento da amostra de pixel esquerda superior no bloco de imagem atual é obtido com base em um vetor de movimento do bloco de imagens X1, o bloco de imagens X1 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X1 é espacialmente adjacente à amostra de pixel esquerda superior no bloco de imagem atual; um preditor de vetor de movimento da amostra de pixel direita superior no bloco de imagem atual é obtido com base em um vetor de movimento do bloco de imagens X2, o bloco de imagens X2 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X2 é espacialmente adjacente à amostra de pixel direita superior no bloco de imagem atual; e um preditor de vetor de movimento da amostra de pixel esquerda inferior no bloco de imagem atual é obtido com base em um vetor de movimento do bloco de imagens X3, o bloco de imagens X3 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X3 é espacialmente adjacente à amostra de pixel esquerda inferior no bloco de imagem atual.
[008] Com referência à segunda forma possível de implementação do primeiro aspecto, em uma terceira forma possível de implementação do primeiro aspecto, a primeira amostra de pixel de ângulo de vértice é a amostra de pixel esquerda superior no bloco de imagem atual, o primeiro bloco de imagens espacialmente adjacente é o bloco de imagens X1, e o bloco de imagens X1 é um bloco de imagens espacialmente adjacente na parte esquerda superior do bloco de imagem atual.
[009] Com referência à terceira forma possível de implementação do primeiro aspecto, em uma quarta forma possível de implementação do primeiro aspecto, o bloco de imagens X2 é um bloco de imagens espacialmente adjacente acima do bloco de imagem atual; ou um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X2 e um valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X5 e o valor absoluto de vetor de movimento do bloco de imagens X1, e o bloco de imagens X5 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X2, que são do bloco de imagem atual e que são espacialmente adjacentes para o vértice direito superior.
[010] Com referência à terceira forma possível de implementação do primeiro aspecto ou a quarta forma possível de implementação do primeiro aspecto, em uma quinta forma possível de implementação do primeiro aspecto, o bloco de imagens X3 é um bloco de imagens espacialmente adjacente na parte esquerda do bloco de imagem atual; ou um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X3 e o valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X6 e o valor absoluto de vetor de movimento do bloco de imagens X1, e o bloco de imagens X6 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X3, que são do bloco de imagem atual e que são espacialmente adjacentes para o vértice esquerdo inferior.
[011] Com referência a qualquer um do primeiro aspecto, ou a primeira à quinta formas possíveis de implementação do primeiro aspecto, em uma sexta forma possível de implementação do primeiro aspecto, a realização, com base em um modelo de movimento não translacional e os preditores de vetor de movimento das K amostras de pixel, predição de valor de pixel no bloco de imagem atual inclui: quando quadros de referência correspondentes aos preditores de vetor de movimento de K1 amostras de pixel nas K amostras de pixel não são um quadro de referência Y1, dimensionar os preditores de vetor de movimento das K1 amostras de pixel para o quadro de referência Y1, executar estimativa de movimento nas K amostras de pixel utilizando preditores de vetor de movimento de K2 amostras de pixel e preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter vetores de movimento das K amostras de pixel, e executar predição de valor de pixel no bloco de imagem atual utilizando o modelo de movimento não translacional e os vetores de movimento das K amostras de pixel, em que as K2 amostras de pixel são amostras de pixel restantes outras que as K1 amostras de pixel nas K amostras de pixel, e K1 e k2 são números inteiros positivos.
[012] Com referência à sexta forma possível de implementação do primeiro aspecto, em uma sétima forma possível de implementação do primeiro aspecto, uma amostra de pixel i é qualquer amostra de pixel exceto a primeira amostra de pixel de ângulo de vértice nas K amostras de pixel, e se uma direção de predição correspondente a um preditor de vetor de movimento da amostra de pixel i é diferente de uma direção de predição correspondente ao preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice, um índice de quadro de referência correspondente ao preditor de vetor de movimento da amostra de pixel i é 0.
[013] Com referência à sétima forma possível de implementação do primeiro aspecto, em uma oitava forma possível de implementação do primeiro aspecto, o quadro de referência Y1 é um quadro de referência correspondente ao preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice, e que o preditor de vetor de movimento da amostra de pixel i é dimensionado para o quadro de referência Y1 inclui: se índices de quadro de referência correspondentes aos preditores de vetor de movimento da primeira amostra de pixel de ângulo de vértice e a amostra de pixel i são diferentes, o preditor de vetor de movimento da amostra de pixel i é dimensionado para o quadro de referência Y1.
[014] Com referência à sexta forma possível de implementação do primeiro aspecto ou a sétima forma possível de implementação do primeiro aspecto ou a oitava forma possível de implementação do primeiro aspecto, em uma nona forma possível de implementação do primeiro aspecto, a realização de estimativa de movimento nas K amostras de pixel utilizando preditores de vetor de movimento de K2 amostras de pixel e preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter vetores de movimento das K amostras de pixel inclui:executar estimativa de movimento nas K amostras de pixel com base em um algoritmo de pesquisa iterativo utilizando os preditores de vetor de movimento das K2 amostras de pixel e os preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter os vetores de movimento das K amostras de pixel.
[015] Com referência a qualquer um do primeiro aspecto, ou a primeira à nona formas possíveis de implementação do primeiro aspecto, em uma décima forma possível de implementação do primeiro aspecto, o modelo de movimento não translacional é qualquer um dos seguintes modelos: um modelo de transformação afim, modelo de movimento parabólico, um modelo de movimento rotativo, um modelo de movimento de perspectiva, um modelo de movimento de cisalhamento, ou um modelo de movimento dimensionável.
[016] Com referência a qualquer um do primeiro aspecto, ou a primeira à décima formas possíveis de implementação do primeiro aspecto, em uma décima primeira forma possível de implementação do primeiro aspecto,o método de predição de imagem é aplicado a um processo de codificação de vídeo ou o método de predição de imagem é aplicado a um processo de decodificação de vídeo.
[017] Um segundo aspecto da presente invenção fornece um aparelho de predição de imagem, incluindo: uma unidade de determinação, configurada para determinar preditores de vetor de movimento de K amostras de pixel em um bloco de imagem atual, em que K é um número inteiro superior a 1, as K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice é obtido com base em um vetor de movimento de um primeiro predefinido bloco de imagens espacialmente adjacente do bloco de imagem atual, e o primeiro bloco de imagens espacialmente adjacente é espacialmente adjacente à primeira amostra de pixel de ângulo de vértice; e uma unidade de predição, configurada para executar, com base em um modelo de movimento não translacional e os preditores de vetor de movimento das K amostras de pixel, predição de valor de pixel no bloco de imagem atual.
[018] Com referência ao segundo aspecto, em uma primeira forma possível de implementação do segundo aspecto, as K amostras de pixel incluem pelo menos duas amostras de pixel em uma amostra de pixel esquerda superior, uma amostra de pixel direita superior, ou uma amostra de pixel esquerda inferior no bloco de imagem atual; e a amostra de pixel esquerda superior no bloco de imagem atual é um vértice esquerdo superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice esquerdo superior do bloco de imagem atual, a amostra de pixel esquerda inferior no bloco de imagem atual é um vértice esquerdo inferior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice esquerdo inferior do bloco de imagem atual, e a amostra de pixel direita superior no bloco de imagem atual é um vértice direito superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice direito superior do bloco de imagem atual.
[019] Com referência à primeira forma possível de implementação do segundo aspecto, em uma segunda forma possível de implementação do segundo aspecto, o primeiro bloco de imagens espacialmente adjacente é um bloco de imagens X1, um bloco de imagens X2, ou um bloco de imagens X3; um preditor de vetor de movimento da amostra de pixel esquerda superior no bloco de imagem atual é obtido com base em um vetor de movimento do bloco de imagens X1, o bloco de imagens X1 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X1 é espacialmente adjacente à amostra de pixel esquerda superior no bloco de imagem atual; um preditor de vetor de movimento da amostra de pixel direita superior no bloco de imagem atual é obtido com base em um vetor de movimento do bloco de imagens X2, o bloco de imagens X2 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X2 é espacialmente adjacente à amostra de pixel direita superior no bloco de imagem atual; e um preditor de vetor de movimento da amostra de pixel esquerda inferior no bloco de imagem atual é obtido com base em um vetor de movimento do bloco de imagens X3, o bloco de imagens X3 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X3 é espacialmente adjacente à amostra de pixel esquerda inferior no bloco de imagem atual.
[020] Com referência à segunda forma possível de implementação do segundo aspecto, em uma terceira forma possível de implementação do segundo aspecto, a primeira amostra de pixel de ângulo de vértice é a amostra de pixel esquerda superior no bloco de imagem atual, o primeiro bloco de imagens espacialmente adjacente é o bloco de imagens X1, e o bloco de imagens X1 é um bloco de imagens espacialmente adjacente na parte esquerda superior do bloco de imagem atual.
[021] Com referência à terceira forma possível de implementação do segundo aspecto, em uma quarta forma possível de implementação do segundo aspecto, o bloco de imagens X2 é um bloco de imagens espacialmente adjacente acima do bloco de imagem atual; ou um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X2 e um valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X5 e o valor absoluto de vetor de movimento do bloco de imagens X1, e o bloco de imagens X5 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X2, que são do bloco de imagem atual e que são espacialmente adjacentes para o vértice direito superior.
[022] Com referência à terceira forma possível de implementação do segundo aspecto ou à quarta forma possível de implementação do segundo aspecto, em uma quinta forma possível de implementação do segundo aspecto, o bloco de imagens X3 é um bloco de imagens espacialmente adjacente na parte esquerda do bloco de imagem atual; ou um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X3 e o valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X6 e o valor absoluto de vetor de movimento do bloco de imagens X1, e o bloco de imagens X6 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X3, que são do bloco de imagem atual e que são espacialmente adjacentes para o vértice esquerdo inferior.
[023] Com referência a qualquer um do segundo aspecto, ou a primeira à quinta formas possíveis de implementação do segundo aspecto, em uma sexta forma possível de implementação do segundo aspecto, a unidade de predição é especificamente configurada para: quando quadros de referência correspondentes aos preditores de vetor de movimento de K1 amostras de pixel nas K amostras de pixel não são um quadro de referência Y1, dimensionar os preditores de vetor de movimento das K1 amostras de pixel para o quadro de referência Y1, executar estimativa de movimento nas K amostras de pixel utilizando preditores de vetor de movimento de K2 amostras de pixel e preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter vetores de movimento das K amostras de pixel, e executar predição de valor de pixel no bloco de imagem atual utilizando o modelo de movimento não translacional e os vetores de movimento das K amostras de pixel, em que as K2 amostras de pixel são amostras de pixel restantes outras que as K1 amostras de pixel nas K amostras de pixel, e K1 e k2 são números inteiros positivos.
[024] Com referência à sexta forma possível de implementação do segundo aspecto, em uma sétima forma possível de implementação do segundo aspecto, uma amostra de pixel i é qualquer amostra de pixel exceto a primeira amostra de pixel de ângulo de vértice nas K amostras de pixel, e se uma direção de predição correspondente a um preditor de vetor de movimento da amostra de pixel i é diferente de uma direção de predição correspondente ao preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice, um índice de quadro de referência correspondente ao preditor de vetor de movimento da amostra de pixel i é 0.
[025] Com referência à sétima forma possível de implementação do segundo aspecto, em uma oitava forma possível de implementação do segundo aspecto, o quadro de referência Y1 é um quadro de referência correspondente ao preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice, e a unidade de predição é especificamente configurada para: se índices de quadro de referência correspondentes aos preditores de vetor de movimento da primeira amostra de pixel de ângulo de vértice e a amostra de pixel i são diferentes, dimensionar o preditor de vetor de movimento da amostra de pixel i para o quadro de referência Y1.
[026] Com referência a qualquer um do segundo aspecto, ou a primeira à oitava formas possíveis de implementação do segundo aspecto, em uma nona forma possível de implementação do segundo aspecto, o modelo de movimento não translacional é qualquer um dos seguintes modelos: um modelo de transformação afim, modelo de movimento parabólico, um modelo de movimento rotativo, um modelo de movimento de perspectiva, um modelo de movimento de cisalhamento, ou um modelo de movimento dimensionável.
[027] Com referência a qualquer um do segundo aspecto, ou a primeira à nona formas possíveis de implementação do segundo aspecto, em uma décima forma possível de implementação do segundo aspecto, o aparelho de predição de imagem é aplicado a um aparelho de codificação de vídeo ou o aparelho de predição de imagem é aplicado a um aparelho de decodificação de vídeo.
[028] Pode ser aprendido que nas soluções nas modalidades da presente invenção, preditores de vetor de movimento determinados de K amostras de pixel são referenciados durante predição de valor de pixel realizada, com base em um modelo de movimento não translacional, em um bloco de imagem atual. As K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual. Os preditores de vetor de movimento das K amostras de pixel são diretamente utilizados para predição, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice nas K amostras de pixel é obtido com base em um vetor de movimento de um primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual, e existe um único caso opcional para os preditores de vetor de movimento das K amostras de pixel. Por conseguinte, um mecanismo que é utilizado em uma tecnologia convencional e em que preditores de vetor de movimento de K amostras de pixel são selecionados a partir de múltiplos conjuntos de preditores de vetor de movimento opcionais das K amostras de pixel por meio de cálculo maciço é abandonado. Isso é útil para evitar transferência de informação de seleção de preditores de informação de movimento em um fluxo de bits, é útil na melhoria da eficiência de codificação, e também é útil na redução significativa da complexidade de cálculo de predição de imagem com base em um modelo de movimento não translacional.
BREVE DESCRIÇÃO DOS DESENHOS
[029] A Figura 1-a é um diagrama esquemático de uma maneira de divisão de unidade de predição correspondente à predição intraquadro de acordo com uma modalidade da presente invenção;
[030] A Figura 1-b é um diagrama esquemático de várias maneiras de divisão de unidade de predição correspondentes à predição interquadro de acordo com uma modalidade da presente invenção;
[031] A Figura 1-c é um fluxograma esquemático de um método de predição de imagem de acordo com uma modalidade da presente invenção;
[032] A Figura 2 é um diagrama esquemático de possíveis blocos de referência adjacentes de um bloco de imagem atual de acordo com uma modalidade da presente invenção;
[033] A Figura 3-a é um fluxograma esquemático de outro método de predição de imagem de acordo com uma modalidade da presente invenção;
[034] A Figura 3-b é outro diagrama esquemático de possíveis blocos de referência adjacentes de um bloco de imagem atual de acordo com uma modalidade da presente invenção;
[035] A Figura 3-c é um diagrama esquemático de um quadro de referência de um bloco de imagem atual de acordo com uma modalidade da presente invenção;
[036] A Figura 3-d é um diagrama esquemático de um bloco de imagem atual de acordo com uma modalidade da presente invenção;
[037] A Figura 3-e é um diagrama esquemático de transformação afim de um bloco de imagens de acordo com uma modalidade da presente invenção;
[038] A Figura 4-a é um fluxograma esquemático de outro método de predição de imagem de acordo com uma modalidade da presente invenção;
[039] A Figura 4-b é outro diagrama esquemático de blocos de referência adjacentes de um bloco de imagem atual de acordo com uma modalidade da presente invenção;
[040] A Figura 5 é um fluxograma esquemático de outro método de predição de imagem de acordo com uma modalidade da presente invenção;
[041] A Figura 6 é um fluxograma esquemático de outro método de predição de imagem de acordo com uma modalidade da presente invenção;
[042] A Figura 7 é um fluxograma esquemático de um método de decodificação de vídeo de acordo com uma modalidade da presente invenção;
[043] A Figura 8 é um diagrama esquemático de um aparelho de predição de imagem de acordo com uma modalidade da presente invenção;
[044] A Figura 9 é um diagrama esquemático de outro aparelho de predição de imagem de acordo com uma modalidade da presente invenção; e
[045] A Figura 10 é um diagrama esquemático de outro aparelho de predição de imagem de acordo com uma modalidade da presente invenção.
DESCRIÇÃO DAS MODALIDADES
[046] As modalidades da presente invenção fornecem um método de predição de imagem e um aparelho relacionado, de modo a reduzir a complexidade de cálculo de predição de imagem com base em um modelo de movimento não translacional.
[047] Para fazer com que os especialistas na matéria compreendam melhor as soluções técnicas da presente invenção, o seguinte descreve clara e completamente as soluções técnicas nas modalidades da presente invenção com referência aos desenhos anexos nas modalidades da presente invenção. Aparentemente, as modalidades descritas são apenas algumas em vez de todas as modalidades da presente invenção. Todas as outras modalidades obtidas pelos especialistas na técnica com base nas modalidades da presente invenção sem esforços criativos estarão incluídas no âmbito de proteção da presente invenção.
[048] O seguinte fornece descrições detalhadas separadamente.
[049] Na memória descritiva, reivindicações e desenhos anexos da presente invenção, os termos "primeiro", "segundo", "terceiro", "quarto" e semelhantes têm a intenção de distinguir entre objetos diferentes, mas não indicam uma ordem particular. Além disso, os termos "inclui", "tem" e qualquer outra variante do mesmo destinam-se a cobrir uma inclusão não exclusiva. Por exemplo, um processo, um método, um sistema, um produto ou um dispositivo que inclui uma série de passos ou unidades não está limitado aos passos ou unidades listadas, mas opcionalmente inclui ainda um passo ou unidade não listado ou, opcionalmente, inclui ainda outro passo ou unidade inerente do processo, método, produto ou dispositivo.
[050] O que segue descreve, em primeiro lugar, alguns conceitos que podem estar envolvidos nas modalidades da presente invenção.
[051] Na maioria das estruturas de codificação, uma sequência de vídeo inclui uma série de imagens, as imagens são ainda divididas em fatias, e as fatias são ainda divididas em blocos. Codificação de vídeo é para executar o processamento de codificação da esquerda para a direita e de cima para baixo linha a linha a partir de uma posição de canto superior esquerdo de uma imagem utilizando um bloco como uma unidade. Em alguns novos padrões de codificação de vídeo, o conceito de bloco é ampliado. Existe um macrobloco (MB) no padrão H.264, e o MB pode ser ainda dividido em múltiplos blocos de predição que podem ser utilizados para codificação preditiva. No padrão HEVC, são utilizados conceitos básicos como uma unidade de codificação (CU), uma unidade de predição (PU) e uma unidade de transformação (TU), e as unidades múltiplas são classificadas de acordo com as funções, e uma estrutura totalmente nova baseada em árvores é utilizada para descrição. Por exemplo, a CU pode ser dividida em CUs menores de acordo com um quadtree, e a CU menor pode ser dividida, para formar uma estrutura de quadtree. A PU e a TU também têm estruturas de árvore semelhantes. Independentemente de uma unidade ser uma CU, uma PU ou uma TU, a unidade pertence ao conceito de bloco na essência. A CU é semelhante a um macrobloco MB ou um bloco de codificação e é uma unidade básica para particionar e codificar uma imagem. A PU pode corresponder a um bloco de predição, e é uma unidade básica para codificação preditiva. A CU é ainda dividida em múltiplas PUs de acordo com um modo de divisão. A TU pode corresponder a um bloco de transformação e é uma unidade básica para transformar um resíduo de predição.
[052] No padrão HEVC, um tamanho da unidade de codificação pode incluir quatro níveis: 64 x 64, 32 x 32, 16 x 16 e 8 x 8. As unidades de codificação em cada nível podem ser divididas em unidades de predição de diferentes tamanhos de acordo com a predição intraquadro e predição interquadro. Por exemplo, como mostrado na Figura 1-a e a Figura 1-b, a Figura 1-a mostra uma maneira de divisão de unidade de predição correspondente à predição intraquadro. A Figura 1b mostra várias maneiras de divisão de unidade de predição correspondentes à predição interquadro.
[053] Em um processo de desenvolvimento e evolução de uma tecnologia de codificação de vídeo, especialistas de codificação de vídeo descobrem vários métodos para utilizar correlação temporal e espacial entre blocos de codificação / decodificação adjacentes para tentar melhorar eficiência de codificação. No padrão de codificação de vídeo avançado / H264 (AVC), um modo de salto e um modo direto tornam-se ferramentas eficazes para melhorar a eficiência de codificação. Os blocos dos dois modos de codificação utilizados quando uma taxa de bits é baixa podem ocupar mais de metade de uma sequência de codificação completa. Quando o modo de salto é usado, um vetor de movimento de um bloco de imagem atual pode ser derivado usando vetores de movimento próximos apenas por adicionar uma bandeira de modo de salto para um fluxo de bits, e um valor de um bloco de referência é copiado diretamente de acordo com o vetor de movimento como um valor reconstruído do bloco de imagem atual. Além disso, quando o modo direto é utilizado, um codificador pode derivar o vetor de movimento do bloco de imagem atual utilizando os vetores de movimento adjacentes, e copiar diretamente o valor do bloco de referência de acordo com o vetor de movimento como um valor previsto do bloco de imagem atual, e executar codificação preditiva no bloco de imagem atual utilizando o valor previsto em um codificador. No padrão de HEVC avançada, algumas novas ferramentas de codificação são introduzidas para melhorar ainda mais a eficiência de codificação de vídeo. Um modo de codificação de fusão e um modo de predição de vetor de movimento adaptativo são duas importantes ferramentas de predição interquadro. Durante codificação de fusão, um conjunto de informação de movimento candidato é construído utilizando informação de movimento (incluindo uma direção de predição, um vetor de movimento, e um índice de imagem de referência) de um bloco codificado adjacente de um bloco de codificação atual, informação de movimento candidata que permite eficiência de codificação ser mais elevada pode ser selecionada como informação de movimento do bloco de codificação atual por meio de comparação, um preditor do bloco de codificação atual é encontrado em imagens de referência, codificação preditiva é realizada no bloco de codificação atual, e um valor de índice que indica um bloco codificado adjacente cuja informação de movimento é selecionada é escrito em um fluxo de bits. Quando o modo de predição de vetor de movimento adaptativo é utilizado, um vetor de movimento de um bloco codificado adjacente é utilizado como um preditor de vetor de movimento de um bloco de codificação atual, um vetor de movimento que permite que eficiência de codificação seja a mais elevada pode ser selecionado para prever um vetor de movimento do bloco de codificação atual, e um valor de índice que indica um bloco codificado adjacente cujo vetor de movimento é selecionado pode ser escrito em um fluxo de bits de vídeo.
[054] As soluções técnicas nas modalidades da presente invenção são ainda discutidas a seguir.
[055] O que segue descreve primeiro um método de predição de imagem fornecido nas modalidades da presente invenção. O método de predição de imagem fornecido nas modalidades da presente invenção é executado por um aparelho de codificação de vídeo ou por um aparelho de decodificação de vídeo. O aparelho de codificação de vídeo ou o aparelho de decodificação de vídeo pode ser qualquer aparelho que precise emitir ou armazenar um vídeo, por exemplo, um computador portátil, um computador tablet, um computador pessoal, um telefone móvel ou um servidor de vídeo.
[056] Em uma modalidade de um método de predição de imagem na presente invenção, o método de predição de imagem inclui: determinar preditores de vetor de movimento (MVP) de K amostras de pixel em um bloco de imagem atual, em que K é um inteiro superior a 1, as K amostras de pixel incluem ma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice é obtido com base em um vetor de movimento de um primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual, e o primeiro bloco de imagens espacialmente adjacente é espacialmente adjacente à primeira amostra de pixel de ângulo de vértice; e executar, com base em um modelo de movimento não translacional e os preditores de vetor de movimento das K amostras de pixel, predição de valor de pixel no bloco de imagem atual.
[057] Com referência à Figura 1-c, a Figura 1-c é um fluxograma esquemático de um método de predição de imagem de acordo com uma modalidade da presente invenção. Conforme ilustrado em um exemplo da Figura 1-c, o método de predição de imagem fornecido nesta modalidade da presente invenção pode incluir os seguintes passos.101. Determinar preditores de vetor de movimento de K amostras de pixel em um bloco de imagem atual.
[058] K é um número inteiro superior a 1, as K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual, e um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice é obtido com base em um vetor de movimento de um primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual. O primeiro bloco de imagens espacialmente adjacente é espacialmente adjacente à primeira amostra de pixel de ângulo de vértice.
[059] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice é obtido com base no vetor de movimento do primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual. Especificamente, o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice pode ser igual ao vetor de movimento do primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual (isto é, o vetor de movimento do primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual é utilizado como o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice); ou um preditor de vetor de movimento obtido por realização de uma transformação predefinida no vetor de movimento do primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual pode ser utilizado como o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice.102. Executar, com base em um modelo de movimento não translacional e os preditores de vetor de movimento das K amostras de pixel, predição de valor de pixel no bloco de imagem atual.
[060] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o modelo de movimento não translacional é qualquer um dos seguintes modelos: um modelo de transformação afim, um modelo de movimento parabólico, um modelo de movimento rotativo, um modelo de movimento de perspectiva, um modelo de movimento de cisalhamento, ou um modelo de movimento dimensionável. Pode ser entendido que o modelo de movimento não translacional não se limita aos exemplos específicos anteriores.
[061] Pode ser aprendido que na solução técnica nesta modalidade, preditores de vetor de movimento determinados de K amostras de pixel são referenciados durante predição de valor de pixel executada, com base em um modelo de movimento não translacional, em um bloco de imagem atual. As K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual. Os preditores de vetor de movimento das K amostras de pixel são diretamente utilizados para predição, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice nas K amostras de pixel é obtido com base em um vetor de movimento de um primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual, e existe um único caso opcional para os preditores de vetor de movimento das K amostras de pixel. Por conseguinte, um mecanismo que é utilizado em uma tecnologia convencional e em que preditores de vetor de movimento de K amostras de pixel são selecionados a partir de múltiplos conjuntos de preditores de vetor de movimento opcionais das K amostras de pixel por meio de cálculo maciço é abandonado. Isso é útil para evitar transferência de informação de seleção de preditores de informação de movimento em um fluxo de bits, é útil na melhoria da eficiência de codificação, e também é útil na redução significativa da complexidade de cálculo de predição de imagem com base em um modelo de movimento não translacional.
[062] Além disso, o primeiro bloco de imagens espacialmente adjacente é espacialmente adjacente à primeira amostra de pixel de ângulo de vértice e o primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual é predefinido (isto é, pode ser considerado que o primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual é acordado ou definido antecipadamente). Deste modo, isto é útil na determinação rápida dos preditores de vetor de movimento das K amostras de pixel. Além disso, uma vez que a redundância é removida fazendo pleno uso de uma correlação espacial entre blocos de imagens, isto é útil para melhorar ainda mais a eficiência de codificação.
[063] Pode haver vários modos de selecionar as K amostras de pixel.
[064] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, as K amostras de pixel incluem pelo menos duas amostras de pixel em uma amostra de pixel esquerda superior, uma amostra de pixel direita superior, uma amostra de pixel esquerda inferior ou uma amostra de pixel direita inferior no bloco de imagem atual.
[065] Se a amostra de pixel é um bloco de pixel, um tamanho do bloco de pixel é, por exemplo, 2 x 2, 1 x 2, 4 x 2, 4 x 4 ou outro tamanho.
[066] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a amostra de pixel esquerda superior no bloco de imagem atual é um vértice esquerdo superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice esquerdo superior do bloco de imagem atual. A amostra de pixel esquerda inferior no bloco de imagem atual é um vértice esquerdo inferior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice esquerdo inferior do bloco de imagem atual. A amostra de pixel direita superior no bloco de imagem atual é um vértice direito superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice direito superior do bloco de imagem atual. A amostra de pixel direita inferior no bloco de imagem atual é um vértice direito inferior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice direito inferior do bloco de imagem atual.
[067] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, as K amostras de pixel podem ainda incluir uma amostra de pixel central no bloco de imagem atual. A amostra de pixel central no bloco de imagem atual pode ser um pixel central no bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um pixel central no bloco de imagem atual.
[068] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o primeiro bloco de imagens espacialmente adjacente pode ser um bloco de imagens X1, um bloco de imagens X2, um bloco de imagens X3 ou um bloco de imagens X4.
[069] Um preditor de vetor de movimento da amostra de pixel esquerda superior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X1, o bloco de imagens X1 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X1 é espacialmente adjacente à amostra de pixel esquerda superior no bloco de imagem atual.
[070] Um preditor de vetor de movimento da amostra de pixel direita superior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X2, o bloco de imagens X2 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X2 é espacialmente adjacente à amostra de pixel direita superior no bloco de imagem atual.
[071] Um preditor de vetor de movimento da amostra de pixel esquerda inferior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X3, o bloco de imagens X3 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X3 é espacialmente adjacente à amostra de pixel esquerda inferior no bloco de imagem atual.
[072] Um preditor de vetor de movimento da amostra de pixel direito inferior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X4, o bloco de imagens X4 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X4 é espacialmente adjacente à amostra de pixel direita inferior no bloco de imagem atual.
[073] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a primeira amostra de pixel de ângulo de vértice pode ser a amostra de pixel esquerda superior no bloco de imagem atual, e o primeiro bloco de imagens espacialmente adjacente pode ser o bloco de imagens X1. O bloco de imagens X1 é um bloco de imagens espacialmente adjacente na parte esquerda superior do bloco de imagem atual ou o bloco de imagens X1 é um bloco de imagens espacialmente adjacente na parte esquerda do bloco de imagem atual ou o bloco de imagens X1 é uma imagem espacialmente adjacente acima do bloco de imagem atual.
[074] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o bloco de imagens X2 é um bloco de imagens espacialmente adjacente acima do bloco de imagem atual, ou o bloco de imagens X2 é um bloco de imagens espacialmente adjacente na parte direita superior do bloco de imagem atual ou o bloco de imagens X2 é um bloco de imagens espacialmente adjacente na parte direita do bloco de imagem atual. Ainda, opcionalmente, um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X2 e um valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X5 e o valor absoluto de vetor de movimento do bloco de imagens X1, e o bloco de imagens X5 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X2, que são do bloco de imagem atual e que são espacialmente adjacentes ao vértice direito superior. Ou seja, uma localização do bloco de imagens X2 pode ser determinada com base em uma política específica, ou uma localização do bloco de imagens X2 pode ser diretamente acordada.
[075] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o bloco de imagens X3 é um bloco de imagens espacialmente adjacente na parte esquerda do bloco de imagem atual, ou o bloco de imagens X3 é um bloco de imagens espacialmente adjacente na parte esquerda inferior do bloco de imagem atual, ou o bloco de imagens X3 é um bloco de imagens espacialmente adjacente abaixo do bloco de imagem atual. Ainda, opcionalmente, um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X3 e o valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X6 e o valor absoluto de vetor de movimento do bloco de imagens X1 e o bloco de imagens X6 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X3, que são do bloco de imagem atual e que são espacialmente adjacentes ao vértice esquerdo inferior. Ou seja, uma localização do bloco de imagens X3 pode ser determinada com base em uma política específica, ou uma localização do bloco de imagens X3 pode ser diretamente acordada.
[076] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o bloco de imagens X4 é um bloco de imagens espacialmente adjacente na parte direita do bloco de imagem atual, ou o bloco de imagens X4 é um bloco de imagens espacialmente adjacente na parte direita inferior do bloco de imagem atual, ou o bloco de imagens X4 é um bloco de imagens espacialmente adjacente abaixo do bloco de imagem atual. Ainda, opcionalmente, um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X4, e o valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X7 e o valor absoluto de vetor de movimento do bloco de imagens X1, e o bloco de imagens X7 é qualquer um dos restantes pelo menos alguns blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X4, que são do bloco de imagem atual e que são espacialmente adjacentes ao vértice esquerdo inferior.
[077] Com referência à Figura 2, a Figura 2 mostra exemplos de algumas localizações possíveis do bloco de imagens X1, do bloco de imagens X2, do bloco de imagens X3 e do bloco de imagens X4.
[078] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a realização, com base em um modelo de movimento não translacional e os preditores de vetor de movimento das K amostras de pixel, predição de valor de pixel no bloco de imagem atual pode incluir especificamente: se quadros de referência correspondentes aos preditores de vetor de movimento das K amostras de pixel são um quadro de referência Y1, executar estimativa de movimento nas K amostras de pixel utilizando os preditores de vetor de movimento das K amostras de pixel, para obter vetores de movimento das K amostras de pixel; e realizar predição de valor de pixel no bloco de imagem atual utilizando o modelo de movimento não translacional e os vetores de movimento das K amostras de pixel.
[079] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a realização, com base em um modelo de movimento não translacional e os preditores de vetor de movimento das K amostras de pixel, predição de valor de pixel no bloco de imagem atual pode incluir especificamente: quando quadros de referência correspondentes aos preditores de vetor de movimento de K1 amostras de pixel nas K amostras de pixel não são um quadro de referência Y1, dimensionar os preditores de vetor de movimento das K1 amostras de pixel para o quadro de referência Y1; executar estimativa de movimento nas K amostras de pixel utilizando preditores de vetor de movimento de K2 amostras de pixel e preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter vetores de movimento das K amostras de pixel; e executar predição de valor de pixel no bloco de imagem atual utilizando o modelo de movimento não translacional e os vetores de movimento das K amostras de pixel, em que as K2 amostras de pixel são amostras de pixel restantes outras que as K1 amostras de pixel nas K amostras de pixel, e K1 e k2 são números inteiros positivos.
[080] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o quadro de referência Y1 pode ser um quadro de referência correspondente ao preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice ou o quadro de referência Y1 pode ser um quadro de referência correspondente a um preditor de vetor de movimento de outra amostra de pixel nas K amostras de pixel.
[081] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, uma amostra de pixel i é qualquer amostra de pixel exceto a primeira amostra de pixel de ângulo de vértice nas K amostras de pixel, e se uma direção de predição correspondente a um preditor de vetor de movimento da amostra de pixel i é diferente de uma direção de predição correspondente ao preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice, um índice de quadro de referência correspondente ao preditor de vetor de movimento da amostra de pixel i é 0.
[082] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, que o preditor de vetor de movimento da amostra de pixel i é dimensionado para o quadro de referência Y1 pode incluir: se índices de quadro de referência correspondentes aos preditores de vetor de movimento da primeira amostra de pixel de ângulo de vértice e a amostra de pixel i são diferentes, o preditor de vetor de movimento da amostra de pixel i é dimensionado para o quadro de referência Y1.
[083] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a realização de estimativa de movimento nas K amostras de pixel utilizando preditores de vetor de movimento de K2 amostras de pixel e preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter vetores de movimento das K amostras de pixel pode incluir: executar estimativa de movimento nas K amostras de pixel com base em um algoritmo de pesquisa iterativo (ou em um algoritmo de estimativa de movimento de outro tipo) utilizando os preditores de vetor de movimento das K2 amostras de pixel e preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter os vetores de movimento das K amostras de pixel.
[084] Certamente, em alguns outros cenários possíveis de aplicação, um passo de executar estimativa de movimento nas K amostras de pixel pode ser omitido. Um passo de normalização pode mesmo ser omitido. Isto é, o passo seguinte pode ser omitido: quando quadros de referência correspondentes aos preditores de vetor de movimento das K1 amostras de pixel nas K amostras de pixel não são o quadro de referência Y1, os preditores de vetor de movimento das K1 amostras de pixel são dimensionados para o quadro de referência Y1.
[085] Pode ser entendido que qualquer um dos métodos de predição de imagem anteriores fornecidos nesta modalidade pode ser aplicado a um processo de codificação de vídeo ou a um processo de decodificação de vídeo.
[086] Para ajudar a compreender melhor e implementar as soluções anteriores nas modalidades da presente invenção, o seguinte fornece descrições adicionais com referência a um cenário de aplicação mais específico.
[087] Com referência à Figura 3-a, a Figura 3-a é um fluxograma esquemático de outro método de predição de imagem de acordo com outra modalidade da presente invenção. Conforme ilustrado em um exemplo da Figura 3-a, o outro método de predição de imagem fornecido na outra modalidade da presente invenção pode incluir os seguintes passos.301. Determinar preditores de vetor de movimento de K amostras de pixel em um bloco de imagem atual.
[088] Em um exemplo desta modalidade, K = 3.
[089] Nesta modalidade, as K amostras de pixel incluem um vértice esquerdo superior, um vértice direito superior e um vértice esquerdo inferior do bloco de imagem atual.
[090] Conforme ilustrado em um exemplo da Figura 3-b, um preditor de vetor de movimento do vértice esquerdo superior do bloco de imagem atual é igual a um vetor de movimento de um bloco de imagens adjacente A na parte esquerda superior do bloco de imagem atual. Um preditor de vetor de movimento do vértice direito superior do bloco de imagem atual é igual a um vetor de movimento de um bloco de imagens adjacente B acima do bloco de imagem atual ou um preditor de vetor de movimento do vértice direito superior do bloco de imagem atual pode ser igual a um vetor de movimento de um bloco de imagens adjacente C na parte direita superior do bloco de imagem atual. Um preditor de vetor de movimento do vértice esquerdo inferior do bloco de imagem atual pode ser igual a um vetor de movimento de um bloco de imagens adjacente E na parte esquerda inferior do bloco de imagem atual ou um preditor de vetor de movimento do vértice esquerdo inferior do bloco de imagem atual pode ser igual a um vetor de movimento de um bloco de imagens adjacente D na parte esquerda do bloco de imagem atual.
[091] Por exemplo, os preditores de vetor de movimento do vértice direito superior e o vértice esquerdo inferior do bloco de imagem atual podem ser determinados com base nas seguintes fórmulas:
[092] Na fórmula (1) anterior e fórmula (2),representa o vetor de movimento (MV) do bloco de imagens A.
[093] Na fórmula anterior (1),representa um MVP do vértice direito superior do bloco de imagem atual,representa o MV do bloco de imagens B, erepresenta o MV do bloco de imagens C. Na fórmula anterior (2),representa o MVP do vértice direito superior do bloco de imagem atual,representa o MV do bloco de imagens D, erepresenta o MV do bloco de imagens E.
[094] Isto é, para o MVP do vértice direito superior, um bloco de imagens que tem uma diferença maior com um valor absoluto de vetor de movimento do bloco A é selecionado a partir do bloco de imagens espacialmente adjacente B e o bloco de imagens C. Para o MVP do bloco de imagens inferior, um bloco de imagens que tem uma diferença maior com o valor absoluto de vetor de movimento do bloco A é selecionado a partir do bloco de imagens espacialmente adjacente D e bloco de imagens E. 302. Executar estimativa de movimento nas K amostras de pixel utilizando os preditores de vetor de movimento das K amostras de pixel, para obter vetores de movimento das K amostras de pixel.
[095] Quando quadros de referência correspondentes aos preditores de vetor de movimento de K1 amostras de pixel nas K amostras de pixel não são um quadro de referência Y1, a realização de estimativa de movimento nas K amostras de pixel utilizando os preditores de vetor de movimento das K amostras de pixel, para obter vetores de movimento das K amostras de pixel inclui: dimensionar os preditores de vetor de movimento das K1 amostras de pixel para o quadro de referência Y1 (isto é, executar processamento de normalização nos preditores de vetor de movimento das K1 amostras de pixel); e executar estimativa de movimento nas K amostras de pixel utilizando preditores de vetor de movimento de K2 amostras de pixel e preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter os vetores de movimento das K amostras de pixel.
[096] Antes de processamento de normalização ser executado nos preditores de vetor de movimento das K1 amostras de pixel, um índice de quadro de referência de um preditor de vetor de movimento de uma amostra de pixel i pode ser primeiro revisto. A amostra de pixel i é qualquer amostra de pixel (por exemplo, o vértice esquerdo inferior ou o vértice direito superior), exceto o vértice esquerdo superior do bloco de imagem atual, nas K amostras de pixel. Se uma direção de predição correspondente ao preditor de vetor de movimento da amostra de pixel i é diferente de uma direção de predição correspondente ao preditor de vetor de movimento do vértice esquerdo superior (por exemplo, a direção de predição correspondente ao preditor de vetor de movimento da amostra de pixel i é predição direta, e a direção de predição correspondente ao preditor de vetor de movimento do vértice esquerdo superior é predição inversa, ou a direção de predição correspondente ao preditor de vetor de movimento da amostra de pixel i é predição inversa e a direção de predição correspondente ao preditor de vetor de movimento do vértice esquerdo superior é previsão direta), um índice de quadro de referência correspondente ao preditor de vetor de movimento da amostra de pixel i é 0.
[097] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, um método para dimensionar um preditor de vetor de movimento para um quadro de referência pode ser o seguinte: É assumido que um índice de quadro de codificação atual é CurPoc, e um quadro de referência do bloco de imagens A (isto é, um quadro de referência correspondente ao MVP do vértice esquerdo superior) é um quadro de referência de destino. Um índice de quadro de referência de destino é DesPoc, um quadro de referência correspondente ao MVP do vértice direito superior ou o vértice esquerdo inferior é um quadro de referência de origem, um índice de quadro de referência de origem é SrcPoc, o preditor vetor de movimento do vértice direito superior ou o vértice esquerdo inferior é MVP, e um preditor de vetor de movimento que é do vértice direito superior, ou o vértice esquerdo inferior e que é obtido após dimensionamento é MVs. Como mostrado na Figura 3-C, MVs podem ser obtidos por meio de cálculo utilizando as fórmulas seguintes:
[098] Particularmente, se quadros de referência correspondentes aos preditores de vetor de movimento das K amostras de pixel são o quadro de referência Y1, nenhum processamento de normalização é realizado nos preditores de vetor de movimento das K1 amostras de pixel (porque os preditores de vetor de movimento das K1 amostras de pixel estavam em um estado normalizado), e estimativa de movimento pode ser realizada nas K amostras de pixel diretamente utilizando os preditores de vetor de movimento das K amostras de pixel, para obter os vetores de movimento das K amostras de pixel.
[099] Opcionalmente, que a estimativa de movimento é realizada nas K amostras de pixel, para obter os vetores de movimento das K amostras de pixel pode incluir: estimativa de movimento é realizada nas K amostras de pixel com base em um algoritmo de pesquisa iterativo, para obter os vetores de movimento das K amostras de pixel.
[100] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, que estimativa de movimento é realizada nas K amostras de pixel com base em cada iteração do algoritmo de pesquisa iterativo, para obter os vetores de movimento das K amostras de pixel pode incluir os seguintes passos. S1. Calcular de cada pixel de acordo com as formulas (3), (4) e (5).
[101] Em
[102] Como mostrado na Figura 3-d, é assumido que um tamanho de um bloco de imagem atual X é S1 × S2, e coordenadas de cada pixel p no bloco de imagem atual X são (x, y).
[103]respectivamente representam derivados de cada pixel p no bloco de imagem atual X em uma direção x e uma direção y. Em um exemplo desta modalidade, os derivados são calculados utilizando um operador de Sobel. Pode ser utilizado outro operador (por exemplo, uma operação gaussiana). Modelos do operador Sobel são apresentados nos exemplos de fórmula (6) e fórmula (7).
[104] Assumindo que coordenadas de um pixel atual p são (x, y), fórmulas de cálculo desão mostradas nos exemplos de fórmula (8) e fórmula (9), em que pred[x][y] representa um valor de pixel previsto de um pixel que está no bloco de imagem atual X e cujas coordenadas são (x, y).
[105] Um pixel adjacente de um pixel localizado na borda do bloco de imagem atual X pode não existir, e pode ser substituído por valores correspondentes do pixel adjacente do pixel localizado na borda do bloco de imagem atual X. S3. Calcular um erro de predição e(p) .
[106] É assumido que as coordenadas do pixel atual p são (x, y). onde representam respectivamente um valor de pixel original e um valor de pixel previsto do pixel que está no bloco de imagens X atual e cujas coordenadas são (x, y). S4. Assumindo que são respectivamente variações de vetor de movimento de três vértices de um bloco de imagem atual X em uma direção x e uma direção y, obtêm por meio de cálculo por resolver um conjunto de equações lineares (11). Conjunto de equações (11) onde
[107] Com base nos passos anteriores S1 a S4, uma variação de vetor de movimento de cada uma das três amostras de pixel no bloco de imagem atual na direção x e uma variação de vetor de movimento de cada amostra de pixel na direção y nesta iteração pode ser obtida por meio de estimativa de movimento.
[108] Uma ou mais iterações são realizadas com base em uma forma iterativa nos passos anteriores S1 a S4, de modo que os vetores de movimento das K amostras de pixel no bloco de imagem atual podem ser obtidos por meio de estimativa de movimento.
[109] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, subtração pode ainda ser realizada entre os vetores de movimento que são das K amostras de pixel e que são obtidos por meio de estimativa de movimento e os MVPs correspondentes, para obter diferenças de vetor de movimento (MVD) das K amostras de pixel, e as MVDs das K amostras de pixel podem ser escritas em um fluxo de bits de vídeo.
[110] Além disso, pode ser utilizado um elemento sintático affine_no_MVD_flag para indicar se é necessário escrever uma MVD correspondente a uma amostra de pixel no fluxo de bits de vídeo. Por exemplo, se as MVDs correspondentes às K amostras de pixel anteriores são todos 0, affine_no_MVD_flag pode ser definido como verdadeiro, e nenhuma MVD é escrita no fluxo de bits de vídeo; ou se as MVDs correspondentes às K amostras de pixel anteriores não são todas 0, affine_no_MVD_flag pode ser definido como falso, e as MVDs correspondentes às K amostras de pixel são escritas no fluxo de bits de vídeo.303. Calcular, com base em um modelo de transformação afim e os vetores de movimento das K amostras de pixel, um vetor de movimento de cada pixel no bloco de imagem atual.
[111] É assumido que o tamanho do bloco de predição atual X é S1 x S2. Vetores de movimentode três vértices cujas coordenadas são (0,0) , (S1,0) , e (0,S2) são calculados executando o passo 301 e o passo 302.
[112] As coordenadas e os vetores de movimento dos três vértices são substituídos em uma fórmula de transformação afim (12), de modo que o vetor de movimento de cada pixel no bloco de imagem atual pode ser calculado. Um diagrama esquemático de transformação afim pode ser ilustrado na Figura 3-e.
[113] Um vetor de movimento do pixel cujas coordenadas são (x, y) é calculado da seguinte maneira:
[114] Além disso, porque informação de movimento de cada pixel no bloco de imagem atual pode ser utilizada para predição de vetor de movimento para outro bloco de imagens, uma parte de informação de movimento pode ser armazenada para cada bloco 4 x 4, e um vetor de movimento de cada bloco 4 x 4 é armazenado como informação de movimento de um pixel em um canto superior esquerdo ou qualquer outro pixel no bloco 4 x 4.
[115] Deve ser notado que nesta modalidade, o modelo de transformação afim é utilizado principalmente como um exemplo de um modelo de movimento não translacional para descrição, e um mecanismo para calcular, com base em outro modelo de movimento não translacional e os vetores de movimento as K amostras de pixel, o vetor de movimento de cada pixel no bloco de imagem atual tem um princípio semelhante embora fórmulas diferentes das utilizadas nesta modalidade possam ser utilizadas no mecanismo. Exemplos não são listados um por um aqui.304. Executar, com base no vetor de movimento calculado de cada pixel no bloco de imagem atual, predição de valor de pixel no bloco de imagem atual.
[116] Além disso, durante codificação de vídeo, um resíduo do bloco de imagem atual pode ser obtido utilizando um valor de pixel original do bloco de imagem atual e um valor de pixel previsto que é do bloco de imagem atual e que é obtido por meio de predição de valor de pixel, e o resíduo do bloco de imagem atual pode ser escrito no fluxo de bits de vídeo.
[117] Pode ser aprendido que na solução técnica nesta modalidade, preditores de vetor de movimento determinados de K amostras de pixel são referenciados durante predição de valor de pixel executada, com base em um modelo de movimento não translacional, em um bloco de imagem atual. As K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual. Os preditores de vetor de movimento das K amostras de pixel são diretamente utilizados para predição, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice nas K amostras de pixel é obtido com base em um vetor de movimento de um primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual, e existe um único caso opcional para os preditores de vetor de movimento das K amostras de pixel. Por conseguinte, um mecanismo que é utilizado em uma tecnologia convencional e em que preditores de vetor de movimento de K amostras de pixel são selecionados a partir de múltiplos conjuntos de preditores de vetor de movimento opcionais das K amostras de pixel por meio de cálculo maciço é abandonado. Isso é útil para evitar transferência de informação de seleção de preditores de informação de movimento em um fluxo de bits, é útil na melhoria da eficiência de codificação, e também é útil na redução significativa da complexidade de cálculo de predição de imagem com base em um modelo de movimento não translacional.
[118] Além disso, direções de predição dos MVPs das K amostras de pixel no bloco de imagem atual são normalizadas, índices de quadro de referência são processados, e vetores de movimento correspondentes aos MVPs das K amostras de pixel são dimensionados e mapeados para um mesmo quadro de referência de acordo com índices de quadro de referência. Além disso, um vetor de movimento de cada pixel no bloco de imagem atual pode ser calculado de acordo com vetores de movimento ótimos das K amostras de pixel utilizando uma fórmula de transformação afim. A solução anterior é útil para resolver um problema que precisão de predição interquadro é baixa em um padrão de codificação de vídeo atual quando um vídeo inclui conteúdo de um recurso não translacional, por exemplo, zoom de lente, deformação de objeto ou rotação de objeto em movimento. Além disso, uma desvantagem que uma tecnologia de transformação afim proposta na tecnologia convencional é duramente aplicada à predição multidirecional e predição baseada em múltiplos quadros de referência é superada, o que é útil na utilização total de uma correlação temporária entre sequências de vídeo para remover redundância temporária, melhorando assim eficiência de codificação.
[119] Com referência à Figura 4-a, a Figura 4-a é um fluxograma esquemático de outro método de predição de imagem de acordo com outra modalidade da presente invenção. Conforme ilustrado em um exemplo da Figura 4-a, o outro método de predição de imagem fornecido na outra modalidade da presente invenção pode incluir os seguintes passos.401. Determinar preditores de vetor de movimento de K amostras de pixel em um bloco de imagem atual.
[120] Em um exemplo desta modalidade, K = 3.
[121] Nesta modalidade, as K amostras de pixel incluem um vértice esquerdo superior, um vértice direito superior e um vértice esquerdo inferior do bloco de imagem atual.
[122] Conforme ilustrado em um exemplo da Figura 4-b, um preditor de vetor de movimento do vértice esquerdo superior do bloco de imagem atual é igual a um vetor de movimento de um bloco de imagens adjacente A na parte esquerda superior do bloco de imagem atual. Um preditor de vetor de movimento do vértice direito superior do bloco de imagem atual é igual a um vetor de movimento de um bloco de imagens adjacente B acima do bloco de imagem atual. Um preditor de vetor de movimento do vértice esquerdo inferior do bloco de imagem atual pode ser igual a um vetor de movimento de um bloco de imagens adjacente D na parte esquerda do bloco de imagem atual.402. Executar estimativa de movimento nas K amostras de pixel utilizando os preditores de vetor de movimento das K amostras de pixel, para obter vetores de movimento das K amostras de pixel.
[123] Quando quadros de referência correspondentes aos preditores de vetor de movimento de K1 amostras de pixel nas K amostras de pixel não são um quadro de referência Y1, a realização de estimativa de movimento nas K amostras de pixel utilizando os preditores de vetor de movimento das K amostras de pixel, para obter vetores de movimento das K amostras de pixel inclui: dimensionar os preditores de vetor de movimento das K1 amostras de pixel para o quadro de referência Y1 (isto é, executar processamento de normalização nos preditores de vetor de movimento das K1 amostras de pixel); e executar estimativa de movimento nas K amostras de pixel utilizando preditores de vetor de movimento de K2 amostras de pixel e preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter os vetores de movimento das K amostras de pixel.
[124] Antes de processamento de normalização ser executado nos preditores de vetor de movimento das K1 amostras de pixel, um índice de quadro de referência de um preditor de vetor de movimento de uma amostra de pixel i pode ser primeiro revisto. A amostra de pixel i é qualquer amostra de pixel (por exemplo, o vértice esquerdo inferior ou o vértice direito superior), exceto o vértice esquerdo superior do bloco de imagem atual, nas K amostras de pixel. Se uma direção de predição correspondente ao preditor de vetor de movimento da amostra de pixel i é diferente de uma direção de predição correspondente ao preditor de vetor de movimento do vértice esquerdo superior (por exemplo, a direção de predição correspondente ao preditor de vetor de movimento da amostra de pixel i é predição direta, e a direção de predição correspondente ao preditor de vetor de movimento do vértice esquerdo superior é predição inversa, ou a direção de predição correspondente ao preditor de vetor de movimento da amostra de pixel i é predição inversa e a direção de predição correspondente ao preditor de vetor de movimento do vértice esquerdo superior é previsão direta), um índice de quadro de referência correspondente ao preditor de vetor de movimento da amostra de pixel i é 0.
[125] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, um método para dimensionar um preditor de vetor de movimento para um quadro de referência pode ser o seguinte: É assumido que um índice de quadro de codificação atual é CurPoc e um quadro de referência do bloco de imagens A (Isto é, um quadro de referência correspondente ao MVP do vértice esquerdo superior) é um quadro de referência de destino. Um índice de quadro de referência de destino é DesPoc, um quadro de referência correspondente ao MVP do vértice direito superior ou o vértice esquerdo inferior é um quadro de referência de origem, um índice de quadro de referência de origem é SrcPoc, o preditor de vetor de movimento do vértice direito superior ou o vértice esquerdo inferior é MVP, e um preditor de vetor de movimento que é do vértice direito superior, ou o vértice esquerdo inferior e que é obtido após dimensionamento é MVs. MVs podem ser obtidas por meio de cálculo utilizando as seguintes fórmulas:
[126] Em particular, se quadros de referência correspondentes aos preditores de vetor de movimento das K amostras de pixel são o quadro de referência Y1, nenhum processamento de normalização é realizado nos preditores de vetor de movimento das K1 amostras de pixel (porque os preditores de vetor de movimento das K1 amostras de pixel estavam em um estado normalizado), e estimativa de movimento pode ser realizada nas K amostras de pixel diretamente utilizando os preditores de vetor de movimento das K amostras de pixel, para obter os vetores de movimento das K amostras de pixel.
[127] Opcionalmente, essa estimativa de movimento é realizada nas K amostras de pixel, para obter os vetores de movimento das K amostras de pixel pode incluir: a estimativa de movimento é realizada nas K amostras de pixel com base em um algoritmo de pesquisa iterativo, para obter os vetores de movimento das K amostras de pixel. Para um algoritmo de pesquisa iterativo específico, consulte as descrições relacionadas na modalidade anterior. Os detalhes não são aqui descritos novamente.
[128] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, subtração pode ainda ser realizada entre os vetores de movimento que são das K amostras de pixel e que são obtidos por meio de estimativa de movimento e os MVPs correspondentes, para obter MVDs das K amostras de pixel, e as MVDs das K amostras de pixel podem ser escritos em um fluxo de bits de vídeo.
[129] Além disso, pode ser utilizado um elemento sintático affine_no_MVD_flag para indicar se é necessário escrever uma MVD correspondente a uma amostra de pixel no fluxo de bits de vídeo. Por exemplo, se as MVDs correspondentes às K amostras de pixel anteriores são todos 0, affine_no_MVD_flag pode ser definido como verdadeiro, e nenhuma MVD é escrita no fluxo de bits de vídeo; ou se as MVDs correspondentes às K amostras de pixel anteriores não são todas 0, affine_no_MVD_flag pode ser definido como falso, e as MVDs correspondentes às K amostras de pixel são escritas no fluxo de bits de vídeo.403. Calcular, com base em um modelo de transformação afim e os vetores de movimento das K amostras de pixel, um vetor de movimento de cada pixel no bloco de imagem atual.
[130] Além disso, porque informação de movimento de cada pixel no bloco de imagem atual pode ser utilizada para predição de vetor de movimento para outro bloco de imagens, uma parte de informação de movimento pode ser armazenada para cada bloco 4 x 4 (ou 8 x 8), e um vetor de movimento de cada bloco 4 x 4 (ou 8 x 8) é armazenado como informação de movimento de um pixel em um canto superior esquerdo ou qualquer outro pixel no bloco 4 x 4 (ou 8 x 8).
[131] A informação de movimento pode incluir um vetor de movimento, uma direção de predição correspondente ao vetor de movimento, e um índice de quadro de referência correspondente ao vetor de movimento.
[132] Deve ser notado que nesta modalidade, o modelo de transformação afim é utilizado principalmente como um exemplo de um modelo de movimento não translacional para descrição, e um mecanismo para calcular, com base em outro modelo de movimento não translacional e os vetores de movimento as K amostras de pixel, o vetor de movimento de cada pixel no bloco de imagem atual tem um princípio semelhante embora fórmulas diferentes das utilizadas nesta modalidade possam ser utilizadas no mecanismo. Exemplos não são listados um por um aqui.404. Executar, com base no vetor de movimento calculado de cada pixel no bloco de imagem atual, predição de valor de pixel no bloco de imagem atual.
[133] Além disso, durante codificação de vídeo, um resíduo do bloco de imagem atual pode ser obtido utilizando um valor de pixel original do bloco de imagem atual e um valor de pixel previsto que é do bloco de imagem atual e que é obtido por meio de predição de valor de pixel, e o resíduo do bloco de imagem atual pode ser escrito no fluxo de bits de vídeo.
[134] Pode ser aprendido que na solução técnica nesta modalidade, preditores de vetor de movimento determinados de K amostras de pixel são referenciados durante predição de valor de pixel executada, com base em um modelo de movimento não translacional, em um bloco de imagem atual. As K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual. Os preditores de vetor de movimento das K amostras de pixel são diretamente utilizados para predição, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice nas K amostras de pixel é obtido com base em um vetor de movimento de um primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual, e existe um único caso opcional para os preditores de vetor de movimento das K amostras de pixel. Por conseguinte, um mecanismo que é utilizado em uma tecnologia convencional e em que preditores de vetor de movimento de K amostras de pixel são selecionados a partir de múltiplos conjuntos de preditores de vetor de movimento opcionais das K amostras de pixel por meio de cálculo maciço é abandonado. Isso é útil para evitar transferência de informação de seleção de preditores de informação de movimento em um fluxo de bits, é útil na melhoria da eficiência de codificação, e também é útil na redução significativa da complexidade de cálculo de predição de imagem com base em um modelo de movimento não translacional.
[135] Além disso, direções de predição dos MVPs das K amostras de pixel no bloco de imagem atual são normalizadas, índices de quadro de referência são processados, e vetores de movimento correspondentes aos MVPs das K amostras de pixel são dimensionados e mapeados para um mesmo quadro de referência de acordo com índices de quadro de referência. Além disso, um vetor de movimento de cada pixel no bloco de imagem atual pode ser calculado de acordo com vetores de movimento ótimos das K amostras de pixel utilizando uma fórmula de transformação afim. A solução anterior é útil para resolver um problema que precisão de predição interquadro é baixa em um padrão de codificação de vídeo atual quando um vídeo inclui conteúdo de um recurso não translacional, por exemplo, zoom de lente, deformação de objeto ou rotação de objeto em movimento. Além disso, uma desvantagem que uma tecnologia de transformação afim proposta na tecnologia convencional é duramente aplicada à predição multidirecional e predição baseada em múltiplos quadros de referência é superada, o que é útil na utilização total de uma correlação temporária entre sequências de vídeo para remover redundância temporária, melhorando assim eficiência de codificação.
[136] Com referência à Figura 5, a Figura 5 é um fluxograma esquemático de outro método de predição de imagem de acordo com outra modalidade da presente invenção. Conforme ilustrado em um exemplo da Figura 5, o outro método de predição de imagem fornecido na outra modalidade da presente invenção pode incluir os seguintes passos.501. Determinar preditores de vetor de movimento de K amostras de pixel em um bloco de imagem atual.
[137] Em um exemplo desta modalidade, K = 3.
[138] Nesta modalidade, as K amostras de pixel incluem um vértice esquerdo superior, um vértice direito superior e um vértice esquerdo inferior do bloco de imagem atual.
[139] Para uma maneira específica de determinar os preditores de vetor de movimento das K amostras de pixel no bloco de imagem atual no passo 501, consulte qualquer maneira na modalidade anterior.502. Utilizar os preditores de vetor de movimento das K amostras de pixel anteriores como vetores de movimento das K amostras de pixel anteriores, e calcular, com base em um modelo de transformação afim e os vetores de movimento das K amostras de pixel, um vetor de movimento de cada pixel no bloco de imagem atual.
[140] Além disso, porque informação de movimento de cada pixel no bloco de imagem atual pode ser utilizada para predição de vetor de movimento para outro bloco de imagens, uma parte de informação de movimento pode ser armazenada para cada bloco 4 x 4 (ou 8 x 8), e um vetor de movimento de cada bloco 4 x 4 (ou 8 x 8) é armazenado como informação de movimento de um pixel em um canto superior esquerdo ou qualquer outro pixel no bloco 4 x 4 (ou 8 x 8).
[141] A informação de movimento pode incluir um vetor de movimento, uma direção de predição correspondente ao vetor de movimento, e um índice de quadro de referência correspondente ao vetor de movimento.
[142] Deve ser notado que nesta modalidade, o modelo de transformação afim é utilizado principalmente como um exemplo de um modelo de movimento não translacional para descrição, e um mecanismo para calcular, com base em outro modelo de movimento não translacional e os vetores de movimento as K amostras de pixel, o vetor de movimento de cada pixel no bloco de imagem atual tem um princípio semelhante embora fórmulas diferentes das utilizadas nesta modalidade possam ser utilizadas no mecanismo. Exemplos não são listados um por um aqui.503. Executar, com base no vetor de movimento calculado de cada pixel no bloco de imagem atual, predição de valor de pixel no bloco de imagem atual.
[143] Além disso, durante codificação de vídeo, um resíduo do bloco de imagem atual pode ser obtido utilizando um valor de pixel original do bloco de imagem atual e um valor de pixel previsto que é do bloco de imagem atual e que é obtido por meio de predição de valor de pixel, e o resíduo do bloco de imagem atual pode ser escrito em um fluxo de bits de vídeo.
[144] Pode ser aprendido que na solução técnica nesta modalidade, preditores de vetor de movimento determinados de K amostras de pixel são referenciados durante predição de valor de pixel executada, com base em um modelo de movimento não translacional, em um bloco de imagem atual. As K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual. Os preditores de vetor de movimento das K amostras de pixel são diretamente utilizados para predição, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice nas K amostras de pixel é obtido com base em um vetor de movimento de um primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual, e existe um único caso opcional para os preditores de vetor de movimento das K amostras de pixel. Por conseguinte, um mecanismo que é utilizado em uma tecnologia convencional e em que preditores de vetor de movimento de K amostras de pixel são selecionados a partir de múltiplos conjuntos de preditores de vetor de movimento opcionais das K amostras de pixel por meio de cálculo maciço é abandonado. Isso é útil para evitar transferência de informação de seleção de preditores de informação de movimento em um fluxo de bits, é útil na melhoria da eficiência de codificação, e também é útil na redução significativa da complexidade de cálculo de predição de imagem com base em um modelo de movimento não translacional.
[145] Além disso, direções de predição dos MVPs das K amostras de pixel no bloco de imagem atual são normalizadas, índices de quadro de referência são processados, e vetores de movimento correspondentes aos MVPs das K amostras de pixel são dimensionados e mapeados para um mesmo quadro de referência de acordo com índices de quadro de referência. A solução anterior é útil para resolver um problema que precisão de predição interquadro é baixa em um padrão de codificação de vídeo atual quando um vídeo inclui conteúdo de um recurso não translacional, por exemplo, zoom de lente, deformação de objeto ou rotação de objeto em movimento. Além disso, uma desvantagem que uma tecnologia de transformação afim proposta na tecnologia convencional é duramente aplicada à predição multidirecional e predição baseada em múltiplos quadros de referência é superada, o que é útil na utilização total de uma correlação temporária entre sequências de vídeo para remover redundância temporária, melhorando assim eficiência de codificação.
[146] Com referência à Figura 6, a Figura 6 é um fluxograma esquemático de outro método de predição de imagem de acordo com outra modalidade da presente invenção. Conforme ilustrado em um exemplo da Figura 6, o outro método de predição de imagem fornecido na outra modalidade da presente invenção pode incluir os seguintes passos.601. Determinar preditores de vetor de movimento de K amostras de pixel em um bloco de imagem atual.
[147] Em um exemplo desta modalidade, K = 3.
[148] Nesta modalidade, as K amostras de pixel incluem um vértice esquerdo superior, um vértice direito superior e um vértice esquerdo inferior do bloco de imagem atual.
[149] Para uma maneira específica de determinar os preditores de vetor de movimento das K amostras de pixel no bloco de imagem atual no passo 601, consulte qualquer maneira na modalidade anterior.602. Executar estimativa de movimento nas K amostras de pixel utilizando os preditores de vetor de movimento das K amostras de pixel, para obter vetores de movimento das K amostras de pixel.
[150] Quando quadros de referência correspondentes aos preditores de vetor de movimento de K1 amostras de pixel nas K amostras de pixel não são um quadro de referência Y1, a realização de estimativa de movimento nas K amostras de pixel utilizando os preditores de vetor de movimento das K amostras de pixel, para obter vetores de movimento das K amostras de pixel inclui: dimensionar os preditores de vetor de movimento das K1 amostras de pixel para o quadro de referência Y1 (isto é, executar processamento de normalização nos preditores de vetor de movimento das K1 amostras de pixel); e executar estimativa de movimento nas K amostras de pixel utilizando preditores de vetor de movimento de K2 amostras de pixel e preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter os vetores de movimento das K amostras de pixel.
[151] Antes de processamento de normalização ser executado nos preditores de vetor de movimento das K1 amostras de pixel, um índice de quadro de referência de um preditor de vetor de movimento de uma amostra de pixel i pode ser primeiro revisto. A amostra de pixel i é qualquer amostra de pixel (por exemplo, o vértice esquerdo inferior ou o vértice direito superior), exceto o vértice esquerdo superior do bloco de imagem atual, nas K amostras de pixel. Se uma direção de predição correspondente ao preditor de vetor de movimento da amostra de pixel i é diferente de uma direção de predição correspondente ao preditor de vetor de movimento do vértice esquerdo superior (por exemplo, a direção de predição correspondente ao preditor de vetor de movimento da amostra de pixel i é predição direta, e a direção de predição correspondente ao preditor de vetor de movimento do vértice esquerdo superior é predição inversa, ou a direção de predição correspondente ao preditor de vetor de movimento da amostra de pixel i é predição inversa e a direção de predição correspondente ao preditor de vetor de movimento do vértice esquerdo superior é previsão direta), um índice de quadro de referência correspondente ao preditor de vetor de movimento da amostra de pixel i é 0.
[152] Em particular, se quadros de referência correspondentes aos preditores de vetor de movimento das K amostras de pixel são o quadro de referência Y1, nenhum processamento de normalização é realizado nos preditores de vetor de movimento das K1 amostras de pixel (porque os preditores de vetor de movimento das K1 amostras de pixel estavam em um estado normalizado), e estimativa de movimento pode ser realizada nas K amostras de pixel diretamente utilizando os preditores de vetor de movimento das K amostras de pixel, para obter os vetores de movimento das K amostras de pixel.
[153] Opcionalmente, essa estimativa de movimento é realizada nas K amostras de pixel, para obter os vetores de movimento das K amostras de pixel pode incluir: a estimativa de movimento é realizada nas K amostras de pixel com base em um algoritmo de pesquisa iterativo, para obter os vetores de movimento das K amostras de pixel. Para um algoritmo de pesquisa iterativo específico, consulte as descrições relacionadas na modalidade anterior. Os detalhes não são aqui descritos novamente.
[154] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, subtração pode ainda ser realizada entre os vetores de movimento que são das K amostras de pixel e que são obtidos por meio de estimativa de movimento e os MVPs correspondentes, para obter MVDs das K amostras de pixel, e as MVDs das K amostras de pixel podem ser escritos em um fluxo de bits de vídeo.
[155] Além disso, pode ser utilizado um elemento sintático affine_no_MVD_flag para indicar se é necessário escrever uma MVD correspondente a uma amostra de pixel no fluxo de bits de vídeo. Por exemplo, se as MVDs correspondentes às K amostras de pixel anteriores são todos 0, affine_no_MVD_flag pode ser definido como verdadeiro, e nenhuma MVD é escrita no fluxo de bits de vídeo; ou se as MVDs correspondentes às K amostras de pixel anteriores não são todas 0, affine_no_MVD_flag pode ser definido como falso, e as MVDs correspondentes às K amostras de pixel são escritas no fluxo de bits de vídeo.603. Calcular, com base em um modelo de transformação afim e os vetores de movimento das K amostras de pixel, um vetor de movimento de cada pixel no bloco de imagem atual.
[156] Além disso, porque informação de movimento de cada pixel no bloco de imagem atual pode ser utilizada para predição de vetor de movimento para outro bloco de imagens, uma parte de informação de movimento pode ser armazenada para cada bloco 4 x 4 (ou 8 x 8), e um vetor de movimento de cada bloco 4 x 4 (ou 8 x 8) é armazenado como informação de movimento de um pixel em um canto superior esquerdo ou qualquer outro pixel no bloco 4 x 4 (ou 8 x 8).
[157] A informação de movimento pode incluir um vetor de movimento, uma direção de predição correspondente ao vetor de movimento, e um índice de quadro de referência correspondente ao vetor de movimento.
[158] Deve ser notado que nesta modalidade, o modelo de transformação afim é utilizado principalmente como um exemplo de um modelo de movimento não translacional para descrição, e um mecanismo para calcular, com base em outro modelo de movimento não translacional e os vetores de movimento as K amostras de pixel, o vetor de movimento de cada pixel no bloco de imagem atual tem um princípio semelhante embora fórmulas diferentes das utilizadas nesta modalidade possam ser utilizadas no mecanismo. Exemplos não são listados um por um aqui.604. Calcular um custo de taxa de distorção de utilização de um modo de predição interquadro baseado em transformação afim (passo 601 a passo 603) para a unidade de predição atual, e comparar o custo de taxa de distorção com um custo de taxa de distorção calculado de utilização de um modo de predição interquadro de HEVC.
[159] Se o custo de taxa de distorção de utilização do modo de predição interquadro baseado em transformação afim é menor do que o custo de taxa de distorção de utilização do modo de predição interquadro de HEVC, um modo de predição interquadro ótimo do bloco de imagem atual é definido para o modo de predição interquadro baseado em transformação afim. Especificamente, um elemento sintático affine_MC_flag pode ser definido como verdadeiro para indicar que o modo de predição interquadro ótimo do bloco de imagem atual é o modo de predição interquadro baseado em transformação afim. Se o custo de taxa de distorção de utilização do modo de predição interquadro baseado em transformação afim não é inferior ao custo de taxa de distorção de utilização do modo de predição interquadro de HEVC, um elemento sintático affine_MC_flag é definido como falso para indicar que um modo de predição interquadro do bloco de imagem atual é o modo de predição interquadro de HEVC.605. Executar, com base no vetor de movimento calculado de cada pixel no bloco de imagem atual, predição de valor de pixel no bloco de imagem atual.
[160] Por exemplo, para um componente de luminância, se o vetor de movimento do pixel tem 1/4 de precisão de pixel, um valor de pixel previsto de cada pixel pode ser obtido utilizando um filtro de interpolação de HEVC; ou se o vetor de movimento do pixel é maior do que 1/4 de precisão de pixel, valores de pixel previstos de quatro 1/4 de pixels na distância mais curta a partir do pixel são primeiro obtidos utilizando um filtro de interpolação de HEVC e, em seguida, interpolação bilinear é feita para obter um valor de pixel previsto do pixel. Para um componente de crominância, um valor de pixel previsto é obtido utilizando o filtro de interpolação de HEVC.
[161] Além disso, durante codificação de vídeo, um resíduo do bloco de imagem atual pode ser obtido utilizando um valor de pixel original do bloco de imagem atual e um valor de pixel previsto que é do bloco de imagem atual e que é obtido por meio de predição de valor de pixel, e o resíduo do bloco de imagem atual é escrito no fluxo de bits de vídeo. Especificamente, o resíduo da unidade de predição atual é escrito no fluxo de bits de vídeo depois de sofrer transformação, quantização e codificação de entropia.
[162] Pode ser aprendido que na solução técnica nesta modalidade, preditores de vetor de movimento determinados de K amostras de pixel são referenciados durante predição de valor de pixel executada, com base em um modelo de movimento não translacional, em um bloco de imagem atual. As K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual. Os preditores de vetor de movimento das K amostras de pixel são diretamente utilizados para predição, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice nas K amostras de pixel é obtido com base em um vetor de movimento de um primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual, e existe um único caso opcional para os preditores de vetor de movimento das K amostras de pixel. Por conseguinte, um mecanismo que é utilizado em uma tecnologia convencional e em que preditores de vetor de movimento de K amostras de pixel são selecionados a partir de múltiplos conjuntos de preditores de vetor de movimento opcionais das K amostras de pixel por meio de cálculo maciço é abandonado. Isso é útil para evitar transferência de informação de seleção de preditores de informação de movimento em um fluxo de bits, é útil na melhoria da eficiência de codificação, e também é útil na redução significativa da complexidade de cálculo de predição de imagem com base em um modelo de movimento não translacional.
[163] Além disso, direções de predição dos MVPs das K amostras de pixel no bloco de imagem atual são normalizadas, índices de quadro de referência são processados, e vetores de movimento correspondentes aos MVPs das K amostras de pixel são dimensionados e mapeados para um mesmo quadro de referência de acordo com índices de quadro de referência. Além disso, um vetor de movimento de cada pixel no bloco de imagem atual pode ser calculado de acordo com vetores de movimento ótimos das K amostras de pixel utilizando uma fórmula de transformação afim. A solução anterior é útil para resolver um problema que precisão de predição interquadro é baixa em um padrão de codificação de vídeo atual quando um vídeo inclui conteúdo de um recurso não translacional, por exemplo, zoom de lente, deformação de objeto ou rotação de objeto em movimento. Além disso, uma desvantagem que uma tecnologia de transformação afim proposta na tecnologia convencional é duramente aplicada à predição multidirecional e predição baseada em múltiplos quadros de referência é superada, o que é útil na utilização total de uma correlação temporária entre sequências de vídeo para remover redundância temporária, melhorando assim eficiência de codificação.
[164] Com referência à Figura 7, Figura 7 é um fluxograma esquemático de um método de decodificação de vídeo de acordo com uma modalidade da presente invenção. Conforme ilustrado em um exemplo da Figura 7, o método de decodificação de vídeo fornecido nesta modalidade da presente invenção pode incluir os seguintes passos.701. Um decodificador decodifica um elemento sintático affine_MC_flag em um fluxo de bits de vídeo, para determinar se um modo de predição interquadro baseado em transformação afim é utilizado para um bloco de imagem atual.702. Se o modo de predição interquadro baseado em transformação afim é utilizado para o bloco de imagem atual, o decodificador decodifica um elemento sintático affine_inter_dir_flag no fluxo de bits de vídeo, para determinar uma direção de predição interquadro utilizada para o bloco de imagem atual.703. O decodificador determina MVPs de K amostras de pixel no bloco de imagem atual de acordo com o elemento sintático affine_inter_dir_flag.
[165] As K amostras de pixel no bloco de imagem atual podem ser K amostras de pixel em um bloco de imagem atual que são descritas em qualquer uma das modalidades anteriores.704. O decodificador determina, por decodificar um elemento sintático affine_no_MVD_flag que está no fluxo de bits de vídeo e é correspondente ao bloco de imagem atual, se as MVDs correspondentes às K amostras de pixel no bloco de imagem atual são 0. Se affine_no_MVD_flag é verdadeiro, isto indica que as MVDs correspondentes às K amostras de pixel no bloco de imagem atual são todas 0, e vetores de movimento correspondentes aos MVPs obtidos das K amostras de pixel podem ser utilizados como vetores de movimento das K amostras de pixel. Se affine_no_MVD_flag é falso, indica que as MVDs correspondentes às K amostras de pixel não são todas 0, as MVDs correspondentes às K amostras de pixel são obtidas por meio de decodificação separada, e uma MVD correspondente a cada amostra de pixel e um MVP correspondente são adicionados para obter um vetor de movimento da amostra de pixel.705. O decodificador decodifica um coeficiente de resíduo do bloco de imagem atual, e executa dequantização e transformação inversa para obter um pixel de resíduo no bloco de imagem atual.706. O decodificador calcula, com base em um modelo de transformação afim e os vetores de movimento das K amostras de pixel, um vetor de movimento de cada pixel no bloco de imagem atual e executa, com base no vetor de movimento calculado de cada pixel no bloco de imagem atual, predição de valor de pixel no bloco de imagem atual, para obter um valor de pixel previsto do bloco de imagem atual.
[166] Deve ser notado que nesta modalidade, o modelo de transformação afim é utilizado principalmente como um exemplo de um modelo de movimento não translacional para descrição, e um mecanismo para calcular, com base em outro modelo de movimento não translacional e os vetores de movimento as K amostras de pixel, o vetor de movimento de cada pixel no bloco de imagem atual tem um princípio semelhante embora fórmulas diferentes das utilizadas nesta modalidade possam ser utilizadas no mecanismo. Exemplos não são listados um por um aqui.707. O decodificador reconstrói o bloco de imagem atual de acordo com o pixel de resíduo no bloco de imagem atual, e o valor de pixel previsto do bloco de imagem atual.
[167] Além disso, porque informação de movimento de cada pixel no bloco de imagem atual pode ser utilizada para predição de vetor de movimento para outro bloco de imagens, uma parte de informação de movimento pode ser armazenada para cada bloco 4 x 4 (ou 8 x 8), e um vetor de movimento de cada bloco 4 x 4 (ou 8 x 8) é armazenado como informação de movimento de um pixel em um canto superior esquerdo ou qualquer outro pixel no bloco 4 x 4 (ou 8 x 8).
[168] A informação de movimento pode incluir um vetor de movimento, uma direção de predição correspondente ao vetor de movimento, e um índice de quadro de referência correspondente ao vetor de movimento.
[169] Pode ser aprendido que na solução técnica nesta modalidade, preditores de vetor de movimento determinados de K amostras de pixel são referenciados durante predição de valor de pixel executada, com base em um modelo de movimento não translacional, em um bloco de imagem atual. As K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual. Os preditores de vetor de movimento das K amostras de pixel são diretamente utilizados para predição, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice nas K amostras de pixel é obtido com base em um vetor de movimento de um primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual, e existe um único caso opcional para os preditores de vetor de movimento das K amostras de pixel. Por conseguinte, um mecanismo que é utilizado em uma tecnologia convencional e em que preditores de vetor de movimento de K amostras de pixel são selecionados a partir de múltiplos conjuntos de preditores de vetor de movimento opcionais das K amostras de pixel por meio de cálculo maciço é abandonado. Isso é útil para evitar transferência de informação de seleção de preditores de informação de movimento em um fluxo de bits, é útil na melhoria da eficiência de codificação, e também é útil na redução significativa da complexidade de cálculo de predição de imagem com base em um modelo de movimento não translacional.
[170] Além disso, direções de predição dos MVPs das K amostras de pixel no bloco de imagem atual são normalizadas, índices de quadro de referência são processados, e vetores de movimento correspondentes aos MVPs das K amostras de pixel são dimensionados e mapeados para um mesmo quadro de referência de acordo com índices de quadro de referência. Além disso, um vetor de movimento de cada pixel no bloco de imagem atual pode ser calculado de acordo com vetores de movimento ótimos das K amostras de pixel utilizando uma fórmula de transformação afim. A solução anterior é útil para resolver um problema que precisão de predição interquadro é baixa em um padrão de codificação de vídeo atual quando um vídeo inclui conteúdo de um recurso não translacional, por exemplo, zoom de lente, deformação de objeto ou rotação de objeto em movimento. Além disso, uma desvantagem que uma tecnologia de transformação afim proposta na tecnologia convencional é duramente aplicada à predição multidirecional e predição baseada em múltiplos quadros de referência é superada, o que é útil na utilização total de uma correlação temporária entre sequências de vídeo para remover redundância temporária, melhorando assim eficiência de codificação.
[171] Um teste de emulação é realizado em algumas soluções, fornecidas nas modalidades da presente invenção, em um codificador HM11.0 do padrão de codificação de vídeo de HEVC mais recente. Por exemplo, um teste é realizado em duas configurações: um atraso baixo (LDB) e acesso aleatório (RA), e desempenho das soluções nas modalidades da presente invenção é comparado com o desempenho da solução de HM11.0. Seis sequências de teste cujas características afins são relativamente aparentes são selecionadas para teste. As sequências de teste são listadas na Tabela 1, e resultados de emulação são apresentados na Tabela 2.Tabela 1 Tabela 2
[172] Um taxa BD de contador de desempenho pode ser obtida por meio de cálculo utilizando resultados de quatro pontos cujos QPs são 22, 27, 32 e 37, e as relações de sinal / ruído de pico (PSNR) de três componentes Y, U e V são respectivamente calculadas.
[173] Pode ser aprendido que para as soluções nas modalidades da presente invenção, na configuração de LDB, um desempenho médio de taxa de BD (Y) aumenta em 4,5%, e na configuração de RA, um desempenho médio de taxa de BD (Y) aumenta em 5,0%, e até mesmo em 17,8%. Isto é, quando a qualidade de PSNR é a mesma, em comparação com a solução de HM11.0, as soluções nas modalidades podem reduzir uma taxa de bits de um máximo de 17,8%.
[174] O que segue descreve alguns outros modelos de movimento não translacional.
[175] Um modelo de transformação afim é um modelo de movimento que atende ao seguinte modelo:onde a, b, c, d, e e f são parâmetros constantes, (x, y)são coordenadas originais de um pixel, (x’, y’) são coordenadas obtidas após transformação afim ser realizada no pixel, Vx é um vetor de movimento em uma direção de eixo x, e Vy é um vetor de movimento em uma direção de eixo y.
[176] Um modelo de movimento rotativo pode ser mostrado da seguinte forma:onde é um ângulo de rotação, e a e b são parâmetros.
[177] Um modelo de movimento de perspectiva pode ser mostrado da seguinte forma:ondeé uma matriz de perspectiva.
[178] Um modelo de movimento de cisalhamento pode ser mostrado da seguinte forma:ondeé uma matriz de cisalhamento, e outros são parâmetros constantes.
[179] Um modelo de movimento dimensionável pode ser mostrado da seguinte forma:
[180]onde2 são parâmetros constantes.
[181] Um modelo de movimento quadrático pode ser mostrado da seguinte forma:onde u e v representam coordenadas originais, x e y representam coordenadas obtidas após transformação, e outros são parâmetros constantes.
[182] Pode ser entendido que os exemplos anteriores sãoapenas exemplos de algumas formas de representação possíveis de vários modelos de movimento e, certamente, os vários modelos de movimento podem ter outras formas.
[183] O seguinte fornece ainda aparelhos relacionados para implementar as soluções anteriores.
[184] Com referência à Figura 8, uma modalidade da presente invenção fornece um aparelho de predição de imagem 800, e o aparelho de predição de imagem 800 pode incluir:uma unidade de determinação 810, configurada para determinar preditores de vetor de movimento de K amostras de pixel em um bloco de imagem atual, em que K é um número inteiro superior a 1, as K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice é obtido com base em um vetor de movimento de um primeiro predefinido bloco de imagens espacialmente adjacente do bloco de imagem atual, e o primeiro bloco de imagens espacialmente adjacente é espacialmente adjacente à primeira amostra de pixel de ângulo de vértice; euma unidade de predição 820, configurada para executar, com base em um modelo de movimento não translacional e os preditores de vetor de movimento das K amostras de pixel, predição de valor de pixel no bloco de imagem atual.
[185] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice é obtido com base no vetor de movimento do primeiro predefinido bloco de imagens espacialmente adjacente do bloco de imagem atual. Especificamente, o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice pode ser igual ao vetor de movimento do primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual (isto é, o vetor de movimento do primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual é utilizado como o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice); ou um preditor de vetor de movimento obtido por realização de uma transformação predefinida no vetor de movimento do primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual pode ser utilizado como o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice.
[186] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o modelo de movimento não translacional é qualquer um dos seguintes modelos: um modelo de transformação afim, um modelo de movimento parabólico, um modelo de movimento rotativo, um modelo de movimento de perspectiva, um modelo de movimento de cisalhamento, ou um modelo de movimento dimensionável. Pode ser entendido que o modelo de movimento não translacional não se limita aos exemplos específicos anteriores.
[187] Pode haver vários modos de selecionar as K amostras de pixel.
[188] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, as K amostras de pixel incluem pelo menos duas amostras de pixel em uma amostra de pixel esquerda superior, uma amostra de pixel direita superior, uma amostra de pixel esquerda inferior ou uma amostra de pixel direita inferior no bloco de imagem atual.
[189] Se a amostra de pixel é um bloco de pixel, um tamanho do bloco de pixel é, por exemplo, 2 x 2, 1 x 2, 4 x 2, 4 x 4 ou outro tamanho.
[190] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a amostra de pixel esquerda superior no bloco de imagem atual é um vértice esquerdo superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice esquerdo superior do bloco de imagem atual. A amostra de pixel esquerda inferior no bloco de imagem atual é um vértice esquerdo inferior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice esquerdo inferior do bloco de imagem atual. A amostra de pixel direita superior no bloco de imagem atual é um vértice direito superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice direito superior do bloco de imagem atual. A amostra de pixel direita inferior no bloco de imagem atual é um vértice direito inferior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice direito inferior do bloco de imagem atual.
[191] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, as K amostras de pixel podem ainda incluir uma amostra de pixel central no bloco de imagem atual. A amostra de pixel central no bloco de imagem atual pode ser um pixel central no bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um pixel central no bloco de imagem atual.
[192] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o primeiro bloco de imagens espacialmente adjacente pode ser um bloco de imagens X1, um bloco de imagens X2, um bloco de imagens X3 ou um bloco de imagens X4.
[193] Um preditor de vetor de movimento da amostra de pixel esquerda superior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X1, o bloco de imagens X1 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X1 é espacialmente adjacente à amostra de pixel esquerda superior no bloco de imagem atual.
[194] Um preditor de vetor de movimento da amostra de pixel direita superior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X2, o bloco de imagens X2 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X2 é espacialmente adjacente à amostra de pixel direita superior no bloco de imagem atual.
[195] Um preditor de vetor de movimento da amostra de pixel esquerda inferior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X3, o bloco de imagens X3 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X3 é espacialmente adjacente à amostra de pixel esquerda inferior no bloco de imagem atual.
[196] Um preditor de vetor de movimento da amostra de pixel direito inferior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X4, o bloco de imagens X4 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X4 é espacialmente adjacente à amostra de pixel direita inferior no bloco de imagem atual.
[197] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a primeira amostra de pixel de ângulo de vértice pode ser a amostra de pixel esquerda superior no bloco de imagem atual, e o primeiro bloco de imagens espacialmente adjacente pode ser o bloco de imagens X1. O bloco de imagens X1 é um bloco de imagens espacialmente adjacente na parte esquerda superior do bloco de imagem atual ou o bloco de imagens X1 é um bloco de imagens espacialmente adjacente na parte esquerda do bloco de imagem atual ou o bloco de imagens X1 é uma imagem espacialmente adjacente acima do bloco de imagem atual.
[198] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o bloco de imagens X2 é um bloco de imagens espacialmente adjacente acima do bloco de imagem atual, ou o bloco de imagens X2 é um bloco de imagens espacialmente adjacente na parte direita superior do bloco de imagem atual ou o bloco de imagens X2 é um bloco de imagens espacialmente adjacente na parte direita do bloco de imagem atual. Ainda, opcionalmente, um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X2 e um valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X5 e o valor absoluto de vetor de movimento do bloco de imagens X1, e o bloco de imagens X5 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X2, que são do bloco de imagem atual e que são espacialmente adjacentes ao vértice direito superior. Ou seja, uma localização do bloco de imagens X2 pode ser determinada com base em uma política específica, ou uma localização do bloco de imagens X2 pode ser diretamente acordada.
[199] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o bloco de imagens X3 é um bloco de imagens espacialmente adjacente na parte esquerda do bloco de imagem atual, ou o bloco de imagens X3 é um bloco de imagens espacialmente adjacente na parte esquerda inferior do bloco de imagem atual, ou o bloco de imagens X3 é um bloco de imagens espacialmente adjacente abaixo do bloco de imagem atual. Ainda, opcionalmente, um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X3 e o valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X6 e o valor absoluto de vetor de movimento do bloco de imagens X1, e o bloco de imagens X6 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X3, que são do bloco de imagem atual e que são espacialmente adjacentes ao vértice esquerdo inferior. Ou seja, uma localização do bloco de imagens X3 pode ser determinada com base em uma política específica, ou uma localização do bloco de imagens X3 pode ser diretamente acordada.
[200] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o bloco de imagens X4 é um bloco de imagens espacialmente adjacente na parte direita do bloco de imagem atual, ou o bloco de imagens X4 é um bloco de imagens espacialmente adjacente na parte direita inferior do bloco de imagem atual, ou o bloco de imagens X4 é um bloco de imagens espacialmente adjacente abaixo do bloco de imagem atual. Ainda, opcionalmente, um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X4, e o valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X7 e o valor absoluto de vetor de movimento do bloco de imagens X1 e o bloco de imagens X7 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X4, que são do bloco de imagem atual e que são espacialmente adjacentes ao vértice esquerdo inferior.
[201] Com referência à Figura 2, a Figura 2 mostra exemplos de algumas localizações possíveis do bloco de imagens X1, do bloco de imagens X2, do bloco de imagens X3 e do bloco de imagens X4.
[202] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a unidade de predição 820 pode ser configurada para: se quadros de referência correspondentes aos preditores de vetor de movimento das K amostras de pixel são um quadro de referência Y1, efetuar estimativa de movimento nas K amostras de pixel por utilizar os preditores de vetor de movimento das K amostras de pixel, para obter vetores de movimento das K amostras de pixel; e executar predição de valor de pixel no bloco de imagem atual utilizando o modelo de movimento não translacional e os vetores de movimento das K amostras de pixel.
[203] Opcionalmente, a unidade de predição 820 pode ser especificamente configurada para: quando quadros de referência correspondentes aos preditores de vetor de movimento de K1 amostras de pixel nas K amostras de pixel não são um quadro de referência Y1, dimensionar os preditores de vetor de movimento das K1 amostras de pixel para o quadro de referência Y1, executar estimativa de movimento nas K amostras de pixel utilizando preditores de vetor de movimento de K2 amostras de pixel e preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter vetores de movimento das K amostras de pixel, e executar predição de valor de pixel no bloco de imagem atual utilizando o modelo de movimento não translacional e os vetores de movimento das K amostras de pixel, em que as K2 amostras de pixel são amostras de pixel restantes outras que as K1 amostras de pixel nas K amostras de pixel, e K1 e k2 são números inteiros positivos.
[204] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o quadro de referência Y1 pode ser um quadro de referência correspondente ao preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice ou o quadro de referência Y1 pode ser um quadro de referência correspondente a um preditor de vetor de movimento de outra amostra de pixel nas K amostras de pixel.
[205] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, uma amostra de pixel i é qualquer amostra de pixel exceto a primeira amostra de pixel de ângulo de vértice nas K amostras de pixel, e se uma direção de predição correspondente a um preditor de vetor de movimento da amostra de pixel i é diferente de uma direção de predição correspondente ao preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice, um índice de quadro de referência correspondente ao preditor de vetor de movimento da amostra de pixel i é 0.
[206] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, se índices de quadro de referência correspondentes aos preditores de vetor de movimento da primeira amostra de pixel de ângulo de vértice e a amostra de pixel i são diferentes, a unidade de predição 820 pode dimensionar o preditor de vetor de movimento da amostra de pixel i para o quadro de referência Y1.
[207] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a unidade de predição 820 pode ser configurada especificamente para executar estimativa de movimento nas K amostras de pixel com base em um algoritmo de pesquisa iterativo (ou em um algoritmo de estimativa de movimento de outro tipo) utilizando os preditores de vetor de movimento das K2 amostras de pixel e os preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter os vetores de movimento das K amostras de pixel.
[208] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a realização de estimativa de movimento nas K amostras de pixel utilizando preditores de vetor de movimento de K2 amostras de pixel e preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter vetores de movimento das K amostras de pixel inclui: realizar estimativa de movimento nas K amostras de pixel com base em um algoritmo de pesquisa iterativo utilizando os preditores de vetor de movimento das K2 amostras de pixel e os preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter os vetores de movimento das K amostras de pixel.
[209] O aparelho de predição de imagem 800 é aplicado a um aparelho de codificação de vídeo ou o aparelho de predição de imagem 800 é aplicado a um aparelho de decodificação de vídeo.
[210] Pode ser entendido que as funções de todos os módulos funcionais no aparelho de predição de imagem 800 nesta modalidade podem ser especificamente implementadas de acordo com os métodos nas modalidades de método anteriores. Para um processo de implementação específico, consulte as descrições relacionadas nas modalidades de método anteriores, e os detalhes não são aqui descritos de novo. O aparelho de predição de imagem 800 pode ser qualquer aparelho que necessite de saída e reprodução de um vídeo, por exemplo, um computador portátil, um computador tablet, um computador pessoal ou um telefone móvel.
[211] Pode ser aprendido que na solução técnica nesta modalidade, preditores de vetor de movimento determinados de K amostras de pixel são referenciados durante predição de valor de pixel executada, com base em um modelo de movimento não translacional, em um bloco de imagem atual. As K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual. Os preditores de vetor de movimento das K amostras de pixel são diretamente utilizados para predição, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice nas K amostras de pixel é obtido com base em um vetor de movimento de um primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual, e existe um único caso opcional para os preditores de vetor de movimento das K amostras de pixel. Por conseguinte, um mecanismo que é utilizado em uma tecnologia convencional e em que preditores de vetor de movimento de K amostras de pixel são selecionados a partir de múltiplos conjuntos de preditores de vetor de movimento opcionais das K amostras de pixel por meio de cálculo maciço é abandonado. Isso é útil para evitar transferência de informação de seleção de preditores de informação de movimento em um fluxo de bits, é útil na melhoria da eficiência de codificação, e também é útil na redução significativa da complexidade de cálculo de predição de imagem com base em um modelo de movimento não translacional.
[212] Além disso, o primeiro bloco de imagens espacialmente adjacente é espacialmente adjacente à primeira amostra de pixel de ângulo de vértice e o primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual é predefinido (isto é, pode ser considerado que o primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual é acordado ou definido antecipadamente). Deste modo, isto é útil na determinação rápida dos preditores de vetor de movimento das K amostras de pixel. Além disso, uma vez que a redundância é removida fazendo pleno uso de uma correlação espacial entre blocos de imagens, isto é útil para melhorar ainda mais a eficiência de codificação.
[213] Com referência à Figura 9, Figura 9 é um diagrama esquemático de um aparelho de predição de imagem 900 de acordo com uma modalidade da presente invenção. O aparelho de predição de imagem 900 pode incluir pelo menos um barramento 901, pelo menos um processador 902 conectado ao barramento 901 e pelo menos uma memória 903 conectada ao barramento 901.
[214] O processador 902 invoca, utilizando o barramento 901, o código armazenado na memória 903, de modo a determinar preditores de vetor de movimento de K amostras de pixel em um bloco de imagem atual, em que K é um número inteiro superior a 1, as K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice é obtido com base em um vetor de movimento de um primeiro predefinido bloco de imagens espacialmente adjacente do bloco de imagem atual, e o primeiro bloco de imagens espacialmente adjacente é espacialmente adjacente à primeira amostra de pixel de ângulo de vértice; e executar, com base em um modelo de movimento não translacional e os preditores de vetor de movimento das K amostras de pixel, predição de valor de pixel no bloco de imagem atual.
[215] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice é obtido com base no vetor de movimento do primeiro predefinido bloco de imagens espacialmente adjacente do bloco de imagem atual. Especificamente, o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice pode ser igual ao vetor de movimento do primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual (isto é, o vetor de movimento do primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual é utilizado como o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice); ou um preditor de vetor de movimento obtido por realização de uma transformação predefinida no vetor de movimento do primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual pode ser utilizado como o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice.
[216] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o modelo de movimento não translacional é qualquer um dos seguintes modelos: um modelo de transformação afim, um modelo de movimento parabólico, um modelo de movimento rotativo, um modelo de movimento de perspectiva, um modelo de movimento de cisalhamento, ou um modelo de movimento dimensionável. Pode ser entendido que o modelo de movimento não translacional não se limita aos exemplos específicos anteriores.
[217] Pode haver vários modos de selecionar as K amostras de pixel.
[218] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, as K amostras de pixel incluem pelo menos duas amostras de pixel em uma amostra de pixel esquerda superior, uma amostra de pixel direita superior, uma amostra de pixel esquerda inferior ou uma amostra de pixel direita inferior no bloco de imagem atual.
[219] Se a amostra de pixel é um bloco de pixel, um tamanho do bloco de pixel é, por exemplo, 2 x 2, 1 x 2, 4 x 2, 4 x 4 ou outro tamanho.
[220] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a amostra de pixel esquerda superior no bloco de imagem atual é um vértice esquerdo superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice esquerdo superior do bloco de imagem atual. A amostra de pixel esquerda inferior no bloco de imagem atual é um vértice esquerdo inferior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice esquerdo inferior do bloco de imagem atual. A amostra de pixel direita superior no bloco de imagem atual é um vértice direito superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice direito superior do bloco de imagem atual. A amostra de pixel direita inferior no bloco de imagem atual é um vértice direito inferior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice direito inferior do bloco de imagem atual.
[221] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, as K amostras de pixel podem ainda incluir uma amostra de pixel central no bloco de imagem atual. A amostra de pixel central no bloco de imagem atual pode ser um pixel central no bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um pixel central no bloco de imagem atual.
[222] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o primeiro bloco de imagens espacialmente adjacente pode ser um bloco de imagens X1, um bloco de imagens X2, um bloco de imagens X3 ou um bloco de imagens X4.
[223] Um preditor de vetor de movimento da amostra de pixel esquerda superior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X1, o bloco de imagens X1 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X1 é espacialmente adjacente à amostra de pixel esquerda superior no bloco de imagem atual.
[224] Um preditor de vetor de movimento da amostra de pixel direita superior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X2, o bloco de imagens X2 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X2 é espacialmente adjacente à amostra de pixel direita superior no bloco de imagem atual.
[225] Um preditor de vetor de movimento da amostra de pixel esquerda inferior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X3, o bloco de imagens X3 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X3 é espacialmente adjacente à amostra de pixel esquerda inferior no bloco de imagem atual.
[226] Um preditor de vetor de movimento da amostra de pixel direito inferior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X4, o bloco de imagens X4 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X4 é espacialmente adjacente à amostra de pixel direita inferior no bloco de imagem atual.
[227] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a primeira amostra de pixel de ângulo de vértice pode ser a amostra de pixel esquerda superior no bloco de imagem atual, e o primeiro bloco de imagens espacialmente adjacente pode ser o bloco de imagens X1. O bloco de imagens X1 é um bloco de imagens espacialmente adjacente na parte esquerda superior do bloco de imagem atual ou o bloco de imagens X1 é um bloco de imagens espacialmente adjacente na parte esquerda do bloco de imagem atual ou o bloco de imagens X1 é uma imagem espacialmente adjacente acima do bloco de imagem atual.
[228] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o bloco de imagens X2 é um bloco de imagens espacialmente adjacente acima do bloco de imagem atual, ou o bloco de imagens X2 é um bloco de imagens espacialmente adjacente na parte direita superior do bloco de imagem atual ou o bloco de imagens X2 é um bloco de imagens espacialmente adjacente na parte direita do bloco de imagem atual. Ainda, opcionalmente, um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X2 e um valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X5 e o valor absoluto de vetor de movimento do bloco de imagens X1, e o bloco de imagens X5 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X2, que são do bloco de imagem atual e que são espacialmente adjacentes ao vértice direito superior. Ou seja, uma localização do bloco de imagens X2 pode ser determinada com base em uma política específica, ou uma localização do bloco de imagens X2 pode ser diretamente acordada.
[229] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o bloco de imagens X3 é um bloco de imagens espacialmente adjacente na parte esquerda do bloco de imagem atual, ou o bloco de imagens X3 é um bloco de imagens espacialmente adjacente na parte esquerda inferior do bloco de imagem atual, ou o bloco de imagens X3 é um bloco de imagens espacialmente adjacente abaixo do bloco de imagem atual. Ainda, opcionalmente, um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X3 e o valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X6 e o valor absoluto de vetor de movimento do bloco de imagens X1, e o bloco de imagens X6 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X3, que são do bloco de imagem atual e que são espacialmente adjacentes ao vértice esquerdo inferior. Ou seja, uma localização do bloco de imagens X3 pode ser determinada com base em uma política específica, ou uma localização do bloco de imagens X3 pode ser diretamente acordada.
[230] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o bloco de imagens X4 é um bloco de imagens espacialmente adjacente na parte direita do bloco de imagem atual, ou o bloco de imagens X4 é um bloco de imagens espacialmente adjacente na parte direita inferior do bloco de imagem atual, ou o bloco de imagens X4 é um bloco de imagens espacialmente adjacente abaixo do bloco de imagem atual. Ainda, opcionalmente, um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X4, e o valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X7 e o valor absoluto de vetor de movimento do bloco de imagens X1 e o bloco de imagens X7 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X4, que são do bloco de imagem atual e que são espacialmente adjacentes ao vértice esquerdo inferior.
[231] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o processador 902 pode ser configurado para: se quadros de referência correspondentes aos preditores de vetor de movimento das K amostras de pixel são um quadro de referência Y1, efetuar estimativa de movimento nas K amostras de pixel utilizando os preditores de vetor de movimento das K amostras de pixel, para obter vetores de movimento das K amostras de pixel; e executar predição de valor de pixel no bloco de imagem atual utilizando o modelo de movimento não translacional e os vetores de movimento das K amostras de pixel.
[232] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o processador 902 pode ser configurado para: quando quadros de referência correspondentes aos preditores de vetor de movimento de K1 amostras de pixel nas K amostras de pixel não são um quadro de referência Y1, dimensionar os preditores de vetor de movimento das K amostras de pixel1 para o quadro de referência Y1, executar estimativa de movimento nas K amostras de pixel utilizando preditores de vetor de movimento de K2 amostras de pixel e preditores de vetor de movimento que são das K1 amostras de pixel e são dimensionados para o quadro de referência Y1, para obter vetores de movimento das K amostras de pixel, e executar predição de valor de pixel no bloco de imagem atual utilizando o modelo de movimento não translacional e os vetores de movimento das K amostras de pixel, em que as K2 amostras de pixel são amostras de pixel restantes outras que das K1 amostras de pixel nas K amostras de pixel, e K1 e k2 são números inteiros positivos.
[233] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o quadro de referência Y1 pode ser um quadro de referência correspondente ao preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice ou o quadro de referência Y1 pode ser um quadro de referência correspondente a um preditor de vetor de movimento de outra amostra de pixel nas K amostras de pixel.
[234] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, uma amostra de pixel i é qualquer amostra de pixel exceto a primeira amostra de pixel de ângulo de vértice nas K amostras de pixel, e se uma direção de predição correspondente a um preditor de vetor de movimento da amostra de pixel i é diferente de uma direção de predição correspondente ao preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice, um índice de quadro de referência correspondente ao preditor de vetor de movimento da amostra de pixel i é 0.
[235] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, se índices de quadro de referência correspondentes aos preditores de vetor de movimento da primeira amostra de pixel de ângulo de vértice e a amostra de pixel i são diferentes, o processador 902 pode ser configurado para dimensionar o preditor de vetor de movimento da amostra de pixel i para o quadro de referência Y1.
[236] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o processador 902 pode ser configurado para executar estimativa de movimento nas K amostras de pixel com base em um algoritmo de pesquisa iterativo (ou em um algoritmo de estimativa de movimento de outro tipo) utilizando os preditores de vetor de movimento das K2 amostras de pixel e os preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter os vetores de movimento das K amostras de pixel.
[237] Pode ser entendido que as funções de todos os módulos funcionais no aparelho de predição de imagem 900 nesta modalidade podem ser especificamente implementadas de acordo com os métodos nas modalidades de método anteriores. Para um processo de implementação específico, consulte as descrições relacionadas nas modalidades de método anteriores, e os detalhes não são aqui descritos de novo. O aparelho de predição de imagem 900 pode ser qualquer aparelho que necessite de saída e reprodução de um vídeo, por exemplo, um computador portátil, um computador tablet, um computador pessoal ou um telefone móvel.
[238] Pode ser aprendido que na solução técnica nesta modalidade, preditores de vetor de movimento determinados de K amostras de pixel são referenciados durante predição de valor de pixel executada, com base em um modelo de movimento não translacional, em um bloco de imagem atual. As K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual. Os preditores de vetor de movimento das K amostras de pixel são diretamente utilizados para predição, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice nas K amostras de pixel é obtido com base em um vetor de movimento de um primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual, e existe um único caso opcional para os preditores de vetor de movimento das K amostras de pixel. Por conseguinte, um mecanismo que é utilizado em uma tecnologia convencional e em que preditores de vetor de movimento de K amostras de pixel são selecionados a partir de múltiplos conjuntos de preditores de vetor de movimento opcionais das K amostras de pixel por meio de cálculo maciço é abandonado. Isso é útil para evitar transferência de informação de seleção de preditores de informação de movimento em um fluxo de bits, é útil na melhoria da eficiência de codificação, e também é útil na redução significativa da complexidade de cálculo de predição de imagem com base em um modelo de movimento não translacional.
[239] Além disso, o primeiro bloco de imagens espacialmente adjacente é espacialmente adjacente à primeira amostra de pixel de ângulo de vértice e o primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual é predefinido (isto é, pode ser considerado que o primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual é acordado ou definido antecipadamente). Deste modo, isto é útil na determinação rápida dos preditores de vetor de movimento das K amostras de pixel. Além disso, uma vez que a redundância é removida fazendo pleno uso de uma correlação espacial entre blocos de imagens, isto é útil para melhorar ainda mais a eficiência de codificação.
[240] Com referência à Figura 10, a Figura 10 é um diagrama de blocos estrutural de um aparelho de predição de imagem 1000 de acordo com outra modalidade da presente invenção. O aparelho de predição de imagem 1000 pode incluir pelo menos um processador 1001, pelo menos uma interface de rede 1004 ou outra interface de usuário 1003, uma memória 1005 e pelo menos um barramento de comunicações 1002. O barramento de comunicações 1002 é configurado para implementar uma conexão e comunicação entre estes componentes. O aparelho de predição de imagem 1000 pode opcionalmente incluir a interface de usuário 1003 incluindo uma tela (por exemplo, uma tela de toque, um LCD, um dispositivo de imagem holográfica, um CRT ou um Projetor), um dispositivo de clique (por exemplo, um mouse, uma “trackball”, uma almofada de toque ou uma tela de toque), uma câmera e / ou um aparelho de captação, e semelhantes.
[241] A memória 1005 pode incluir uma memória somente de leitura e uma memória de acesso aleatório, e fornecer uma instrução e dados para o processador 1001. Uma parte da memória 1005 pode ainda incluir uma memória de acesso aleatório não volátil (NVRAM).
[242] Em algumas formas de implementação, a memória 1005 armazena o seguinte elemento: um módulo executável ou uma estrutura de dados, ou um seu subconjunto, ou um conjunto de extensão do mesmo:um sistema operacional 10051, incluindo vários programas de sistema, e utilizado para implementar vários serviços básicos e processar tarefas baseadas em hardware; e um módulo de programa de aplicação 10052, incluindo vários programas de aplicação, e utilizado para implementar vários serviços de aplicação.
[243] Nesta modalidade da presente invenção, por invocar um programa ou uma instrução armazenada na memória 1005, o processador 1001 é configurado para: determinar preditores de vetor de movimento de K amostras de pixel em um bloco de imagem atual, em que K é um número inteiro superior a 1, as K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice é obtido com base em um vetor de movimento de um primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual, e o primeiro bloco de imagens espacialmente adjacente é espacialmente adjacente à primeira amostra de pixel de ângulo de vértice; e executar, com base em um modelo de movimento não translacional e os preditores de vetor de movimento das K amostras de pixel, predição de valor de pixel no bloco de imagem atual.
[244] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice é obtido com base no vetor de movimento do primeiro predefinido bloco de imagens espacialmente adjacente do bloco de imagem atual. Especificamente, o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice pode ser igual ao vetor de movimento do primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual (isto é, o vetor de movimento do primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual é utilizado como o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice); ou um preditor de vetor de movimento obtido por realização de uma transformação predefinida no vetor de movimento do primeiro bloco de imagens espacialmente adjacente predefinido do bloco de imagem atual pode ser utilizado como o preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice.
[245] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o modelo de movimento não translacional é qualquer um dos seguintes modelos: um modelo de transformação afim, um modelo de movimento parabólico, um modelo de movimento rotativo, um modelo de movimento de perspectiva, um modelo de movimento de cisalhamento, ou um modelo de movimento dimensionável. Pode ser entendido que o modelo de movimento não translacional não se limita aos exemplos específicos anteriores.
[246] Pode haver vários modos de selecionar as K amostras de pixel.
[247] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, as K amostras de pixel incluem pelo menos duas amostras de pixel em uma amostra de pixel esquerda superior, uma amostra de pixel direita superior, uma amostra de pixel esquerda inferior ou uma amostra de pixel direita inferior no bloco de imagem atual.
[248] Se a amostra de pixel é um bloco de pixel, um tamanho do bloco de pixel é, por exemplo, 2 x 2, 1 x 2, 4 x 2, 4 x 4 ou outro tamanho.
[249] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a amostra de pixel esquerda superior no bloco de imagem atual é um vértice esquerdo superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice esquerdo superior do bloco de imagem atual. A amostra de pixel esquerda inferior no bloco de imagem atual é um vértice esquerdo inferior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice esquerdo inferior do bloco de imagem atual. A amostra de pixel direita superior no bloco de imagem atual é um vértice direito superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice direito superior do bloco de imagem atual. A amostra de pixel direita inferior no bloco de imagem atual é um vértice direito inferior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um vértice direito inferior do bloco de imagem atual.
[250] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, as K amostras de pixel podem ainda incluir uma amostra de pixel central no bloco de imagem atual. A amostra de pixel central no bloco de imagem atual pode ser um pixel central no bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que inclui um pixel central no bloco de imagem atual.
[251] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o primeiro bloco de imagens espacialmente adjacente pode ser um bloco de imagens X1, um bloco de imagens X2, um bloco de imagens X3 ou um bloco de imagens X4.
[252] Um preditor de vetor de movimento da amostra de pixel esquerda superior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X1, o bloco de imagens X1 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X1 é espacialmente adjacente à amostra de pixel esquerda superior no bloco de imagem atual.
[253] Um preditor de vetor de movimento da amostra de pixel direita superior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X2, o bloco de imagens X2 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X2 é espacialmente adjacente à amostra de pixel direita superior no bloco de imagem atual.
[254] Um preditor de vetor de movimento da amostra de pixel esquerda inferior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X3, o bloco de imagens X3 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X3 é espacialmente adjacente à amostra de pixel esquerda inferior no bloco de imagem atual.
[255] Um preditor de vetor de movimento da amostra de pixel direito inferior no bloco de imagem atual pode ser obtido com base em um vetor de movimento do bloco de imagens X4, o bloco de imagens X4 é um bloco de imagens espacialmente adjacente do bloco de imagem atual, e o bloco de imagens X4 é espacialmente adjacente à amostra de pixel direita inferior no bloco de imagem atual.
[256] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, a primeira amostra de pixel de ângulo de vértice pode ser a amostra de pixel esquerda superior no bloco de imagem atual, e o primeiro bloco de imagens espacialmente adjacente pode ser o bloco de imagens X1. O bloco de imagens X1 é um bloco de imagens espacialmente adjacente na parte esquerda superior do bloco de imagem atual ou o bloco de imagens X1 é um bloco de imagens espacialmente adjacente na parte esquerda do bloco de imagem atual ou o bloco de imagens X1 é uma imagem espacialmente adjacente acima do bloco de imagem atual.
[257] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o bloco de imagens X2 é um bloco de imagens espacialmente adjacente acima do bloco de imagem atual, ou o bloco de imagens X2 é um bloco de imagens espacialmente adjacente na parte direita superior do bloco de imagem atual ou o bloco de imagens X2 é um bloco de imagens espacialmente adjacente na parte direita do bloco de imagem atual. Ainda, opcionalmente, um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X2 e um valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X5 e o valor absoluto de vetor de movimento do bloco de imagens X1, e o bloco de imagens X5 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X2, que são do bloco de imagem atual e que são espacialmente adjacentes ao vértice direito superior. Ou seja, uma localização do bloco de imagens X2 pode ser determinada com base em uma política específica, ou uma localização do bloco de imagens X2 pode ser diretamente acordada.
[258] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o bloco de imagens X3 é um bloco de imagens espacialmente adjacente na parte esquerda do bloco de imagem atual, ou o bloco de imagens X3 é um bloco de imagens espacialmente adjacente na parte esquerda inferior do bloco de imagem atual, ou o bloco de imagens X3 é um bloco de imagens espacialmente adjacente abaixo do bloco de imagem atual. Ainda, opcionalmente, um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X3 e o valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X6 e o valor absoluto de vetor de movimento do bloco de imagens X1, e o bloco de imagens X6 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X3, que são do bloco de imagem atual e que são espacialmente adjacentes ao vértice esquerdo inferior. Ou seja, uma localização do bloco de imagens X3 pode ser determinada com base em uma política específica, ou uma localização do bloco de imagens X3 pode ser diretamente acordada.
[259] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o bloco de imagens X4 é um bloco de imagens espacialmente adjacente na parte direita do bloco de imagem atual, ou o bloco de imagens X4 é um bloco de imagens espacialmente adjacente na parte direita inferior do bloco de imagem atual, ou o bloco de imagens X4 é um bloco de imagens espacialmente adjacente abaixo do bloco de imagem atual. Ainda, opcionalmente, um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento do bloco de imagens X4, e o valor absoluto de vetor de movimento do bloco de imagens X1 é maior ou igual a um valor absoluto de uma diferença entre um valor absoluto de vetor de movimento de um bloco de imagens X7 e o valor absoluto de vetor de movimento do bloco de imagens X1 e o bloco de imagens X7 é qualquer um de pelo menos alguns restantes blocos de imagens espacialmente adjacentes, outros que o bloco de imagens X4, que são do bloco de imagem atual e que são espacialmente adjacentes ao vértice esquerdo inferior.
[260] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o processador 1001 pode ser configurado para: se quadros de referência correspondentes aos preditores de vetor de movimento das K amostras de pixel são um quadro de referência Y1, efetuar estimativa de movimento nas K amostras de pixel utilizando os preditores de vetor de movimento das K amostras de pixel, para obter vetores de movimento das K amostras de pixel; e executar predição de valor de pixel no bloco de imagem atual utilizando o modelo de movimento não translacional e os vetores de movimento das K amostras de pixel.
[261] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o processador 1001 pode ser configurado para: quando quadros de referência correspondentes aos preditores de vetor de movimento de K1 amostras de pixel nas K amostras de pixel não são um quadro de referência Y1, dimensionar os preditores de vetor de movimento das K amostras de pixel1 para o quadro de referência Y1, executar estimativa de movimento nas K amostras de pixel utilizando preditores de vetor de movimento de K2 amostras de pixel e preditores de vetor de movimento que são das K1 amostras de pixel e são dimensionados para o quadro de referência Y1, para obter vetores de movimento das K amostras de pixel, e executar predição de valor de pixel no bloco de imagem atual utilizando o modelo de movimento não translacional e os vetores de movimento das K amostras de pixel, em que as K2 amostras de pixel são amostras de pixel restantes outras que das K1 amostras de pixel nas K amostras de pixel, e K1 e k2 são números inteiros positivos.
[262] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o quadro de referência Y1 pode ser um quadro de referência correspondente ao preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice ou o quadro de referência Y1 pode ser um quadro de referência correspondente a um preditor de vetor de movimento de outra amostra de pixel nas K amostras de pixel.
[263] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, uma amostra de pixel i é qualquer amostra de pixel exceto a primeira amostra de pixel de ângulo de vértice nas K amostras de pixel, e se uma direção de predição correspondente a um preditor de vetor de movimento da amostra de pixel i é diferente de uma direção de predição correspondente ao preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice, um índice de quadro de referência correspondente ao preditor de vetor de movimento da amostra de pixel i é 0.
[264] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, se índices de quadro de referência correspondentes aos preditores de vetor de movimento da primeira amostra de pixel de ângulo de vértice e a amostra de pixel i são diferentes, o processador 1001 pode ser configurado para dimensionar o preditor de vetor de movimento da amostra de pixel i para o quadro de referência Y1.
[265] Opcionalmente, em algumas formas possíveis de implementação da presente invenção, o processador 1001 pode ser configurado para executar estimativa de movimento nas K amostras de pixel com base em um algoritmo de pesquisa iterativo (ou em um algoritmo de estimativa de movimento de outro tipo) utilizando os preditores de vetor de movimento das K2 amostras de pixel e os preditores de vetor de movimento que são das K1 amostras de pixel e que são dimensionados para o quadro de referência Y1, para obter os vetores de movimento das K amostras de pixel.
[266] Pode ser entendido que as funções de todos os módulos funcionais no aparelho de predição de imagem 1000 nesta modalidade podem ser especificamente implementadas de acordo com os métodos nas modalidades de método anteriores. Para um processo de implementação específico, consulte as descrições relacionadas nas modalidades de método anteriores, e detalhes não são aqui descritos de novo. O aparelho de predição de imagem 1000 pode ser qualquer aparelho que necessite de saída e reprodução de um vídeo, por exemplo, um computador portátil, um computador tablet, um computador pessoal ou um telefone celular.
[267] Pode ser aprendido que na solução técnica nesta modalidade, preditores de vetor de movimento determinados de K amostras de pixel são referenciados durante predição de valor de pixel executada, com base em um modelo de movimento não translacional, em um bloco de imagem atual. As K amostras de pixel incluem uma primeira amostra de pixel de ângulo de vértice no bloco de imagem atual. Os preditores de vetor de movimento das K amostras de pixel são diretamente utilizados para predição, um preditor de vetor de movimento da primeira amostra de pixel de ângulo de vértice nas K amostras de pixel é obtido com base em um vetor de movimento de um primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual, e existe um único caso opcional para os preditores de vetor de movimento das K amostras de pixel. Por conseguinte, um mecanismo que é utilizado em uma tecnologia convencional e em que preditores de vetor de movimento de K amostras de pixel são selecionados a partir de múltiplos conjuntos de preditores de vetor de movimento opcionais das K amostras de pixel por meio de cálculo maciço é abandonado. Isso é útil para evitar transferência de informação de seleção de preditores de informação de movimento em um fluxo de bits, é útil na melhoria da eficiência de codificação, e também é útil na redução significativa da complexidade de cálculo de predição de imagem com base em um modelo de movimento não translacional.
[268] Além disso, o primeiro bloco de imagens espacialmente adjacente é espacialmente adjacente à primeira amostra de pixel de ângulo de vértice e o primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual é predefinido (isto é, pode ser considerado que o primeiro bloco de imagens espacialmente adjacente do bloco de imagem atual é acordado ou definido antecipadamente). Deste modo, isto é útil na determinação rápida dos preditores de vetor de movimento das K amostras de pixel. Além disso, uma vez que a redundância é removida fazendo pleno uso de uma correlação espacial entre blocos de imagens, isto é útil para melhorar ainda mais a eficiência de codificação.
[269] Deve ser notado que, para facilidade de descrição, as modalidades de método anteriores são expressas como uma série de ações. No entanto, as pessoas especializadas na técnica devem apreciar que a presente invenção não está limitada à sequência de ação descrita, porque de acordo com a presente invenção, alguns passos podem ser realizados em outras sequências ou realizados simultaneamente. Além disso, as pessoas especializadas na técnica devem também apreciar que todas as modalidades descritas na especificação são modalidades preferidas, e as ações e módulos relacionados não são necessariamente obrigatórios para a presente invenção.
[270] Nas modalidades anteriores, todas as modalidades têm respectivos focos de descrição. Para uma parte que não está descrita em detalhe em uma modalidade, consulte as descrições relacionadas em outras modalidades.
[271] Nas modalidades fornecidas nesta aplicação, deve ser entendido que o aparelho descrito pode ser implementado de outras maneiras. Por exemplo, a modalidade de aparelho descrita é meramente um exemplo. Por exemplo, a divisão de unidade é meramente divisão de função lógica e pode ser outra divisão na implementação real. Por exemplo, uma pluralidade de unidades ou componentes podem ser combinados ou integrados em um outro sistema, ou algumas características podem ser ignoradas ou não executadas. Além disso, acoplamentos mútuos ou acoplamentos diretos ou conexões de comunicação exibidos ou discutidos podem ser implementados através de algumas interfaces. Os acoplamentos indiretos ou conexões de comunicação entre os aparelhos ou unidades podem ser implementados em formas eletrônicas ou outras.
[272] As unidades descritas como partes separadas podem ou não estar fisicamente separadas e as partes apresentadas como unidades podem ou não ser unidades físicas, podem estar localizadas em uma posição ou podem ser distribuídas em uma pluralidade de unidades de rede. Algumas ou todas as unidades podem ser selecionadas de acordo com as necessidades reais para atingir os objetivos das soluções nas modalidades.
[273] Além disso, as unidades funcionais nas modalidades da presente invenção podem ser integradas em uma unidade de processamento, ou cada uma das unidades pode existir isoladamente fisicamente, ou duas ou mais unidades estão integradas em uma unidade. A unidade integrada pode ser implementada em uma forma de hardware, ou pode ser implementada sob a forma de uma unidade funcional de software.
[274] Quando a unidade integrada anterior é implementada na forma de uma unidade funcional de software e vendida ou utilizada como um produto independente, a unidade integrada pode ser armazenada em um meio de armazenamento legível por computador. Com base neste entendimento, as soluções técnicas da presente invenção essencialmente, ou a parte que contribui para a técnica anterior, ou todas ou algumas das soluções técnicas podem ser implementadas na forma de um produto de software. O produto de software é armazenado em um meio de armazenamento e inclui instruções para instruir um dispositivo de computador (que pode ser um computador pessoal, um servidor ou um dispositivo de rede) para executar todos ou alguns dos passos dos métodos descritos nas modalidades da presente invenção. O meio de armazenamento anterior inclui qualquer meio que pode armazenar código de programa, tal como uma unidade flash USB, uma memória somente de leitura (ROM), uma memória de acesso aleatório (RAM), um disco rígido removível, um disco magnético ou um disco ótico.
[275] As modalidades anteriores destinam-se apenas a descrever as soluções técnicas da presente invenção, mas não para limitar a presente invenção. Embora a presente invenção seja descrita em detalhe com referência às modalidades anteriores, pessoas com conhecimentos normais na técnica entenderão que podem ainda fazer modificações nas soluções técnicas descritas nas modalidades anteriores ou fazer substituições equivalentes a algumas das suas características técnicas, sem se afastar do espírito e do âmbito das soluções técnicas nas modalidades da presente invenção.

Claims (18)

1. Método de predição de imagem para um processo de decodificação de vídeo, caracterizado pelo fato de que compreende: determinar (101), por um aparelho de decodificação, preditores de vetor de movimento (MVPs) de K amostras de pixel de um bloco de imagem atual, em que K é um número inteiro superior a 1; decodificar, pelo aparelho de decodificação, uma bandeira do bloco de imagem atual de um fluxo de bits; quando o valor da bandeira é definido para um primeiro valor, decodificar, pelo aparelho de decodificação, diferenças de vetor de movimento (MVDs) das K amostras de pixel do fluxo de bits, ou quando o valor da bandeira é definido para um segundo valor, determinar, pelo aparelho de decodificação, que as MVDs das K amostras de pixel são todas 0; e obter os respectivos vetores de movimento das K amostras de pixel com base nas MVDs das K amostras de pixel e MVPs correspondentes das K amostras de pixel; e obter (102), pelo aparelho de decodificação, com base em um modelo de movimento não translacional, um valor de pixel previsto de cada pixel do bloco de imagem atual, em que parâmetros do modelo de movimento não translacional são derivados com base nos respectivos vetores de movimento das K amostras de pixel do bloco de imagem atual e pelo menos um de uma largura ou uma altura do bloco de imagem atual.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que: as K amostras de pixel compreendem pelo menos duas amostras de pixel em uma amostra de pixel esquerda superior, uma amostra de pixel direita superior, ou uma amostra de pixel esquerda inferior do bloco de imagem atual; e a amostra de pixel esquerda superior do bloco de imagem atual é um vértice esquerdo superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que compreende um vértice esquerdo superior do bloco de imagem atual, a amostra de pixel esquerda inferior do bloco de imagem atual é um vértice esquerdo inferior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que compreende um vértice esquerdo inferior do bloco de imagem atual, e a amostra de pixel direita superior do bloco de imagem atual é um vértice direito superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que compreende um vértice direito superior do bloco de imagem atual.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que obter o valor de pixel previsto de cada pixel do bloco de imagem atual compreende: calcular, com base no modelo de movimento não translacional, um vetor de movimento de cada pixel ou cada sub-bloco no bloco de imagem atual; e executar, com base no vetor de movimento calculado de cada pixel ou cada sub-bloco no bloco de imagem atual, predição de valor de pixel no bloco de imagem atual.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que pelo menos um da largura ou da altura do bloco de imagem atual é associado às respectivas coordenadas das K amostras de pixel.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que o modelo de movimento não translacional é representado por vx = a x x + b x y + e e vy = c x x + d x y + f, em que (x, y) corresponde às coordenadas de um respectivo pixel ou sub-bloco no bloco de imagem atual, e a, b, e, c, d e f são parâmetros do modelo de movimento não translacional e são derivados com base nos respectivos vetores de movimento das K amostras de pixel do bloco de imagem atual e uma largura e uma altura do bloco de imagem atual, em que os respectivos vetores de movimento das , (VX1,VY1) , e (VX2,VY2) de três vértices cujas coordenadas são (0,0) (S1, 0) , e (0,S2) , onde S1 é a largura do bloco de imagem atual e S2 é a altura do bloco de imagem atual, e em que (vx, vy) representa um respectivo vetor de movimento de um respectivo pixel ou bloco 4x4 calculado com base no modelo de movimento não translacional.
6. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que um respectivo vetor de movimento de um seguinte maneira:em que o tamanho do bloco de imagem atual é S1 x S2, e em que os respectivos vetores de movimento das K amostras de pixel compreendem vetores de movimento (VX0,VY0) , (VX1, VY1) , e (VX2,VY2) de três vértices cujas coordenadas são (0,0) , (S1,0) , e (0,S2)
7. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que a bandeira indica: se qualquer MVD de uma amostra de pixel das K amostras de pixel é ou não escrita no fluxo de bits; ou se todas as MVDs das K amostras de pixel do bloco de imagem atual são ou não 0.
8. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que o segundo valor da bandeira é verdadeiro e o segundo valor da bandeira indica que as MVDs das K amostras de pixel do bloco de imagem atual são todas 0; e em que o primeiro valor da bandeira é falso e o primeiro valor da bandeira indica que as MVDs das K amostras de pixel não são todas 0.
9. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que o modelo de movimento não translacional é um modelo de transformação afim, um modelo de movimento parabólico, um modelo de movimento rotativo, um modelo de movimento de perspectiva, um modelo de movimento de cisalhamento, ou um modelo de movimento dimensionável.
10. Aparelho de decodificação, caracterizado pelo fato de que compreende:uma memória não transitória (903, 1005) tendo instruções executáveis por processador nela armazenadas; e um processador (902, 1001), acoplado à memória não transitória (903, 1005), e configurado para executar as instruções executáveis por processador para facilitar: determinar preditores de vetor de movimento (MVPs) de K amostras de pixel de um bloco de imagem atual, em que K é um número inteiro superior a 1; decodificar uma bandeira do bloco de imagem atual de um fluxo de bits; quando o valor da bandeira é definido para um primeiro valor, decodificar diferenças de vetor de movimento (MVDs) das K amostras de pixel do fluxo de bits, ou quando o valor da bandeira é definido para um segundo valor, determinar que as MVDs das K amostras de pixel são todas 0; e obter respectivos vetores de movimento das K amostras de pixel com base nas MVDs das K amostras de pixel e MVPs correspondentes das K amostras de pixel; e obter, com base em um modelo de movimento não translacional e os respectivos vetores de movimento das K amostras de pixel, um valor de pixel previsto de cada pixel do bloco de imagem atual, em que o modelo de movimento não translacional é representado em termos dos respectivos vetores de movimento das K amostras de pixel, em que parâmetros do modelo de movimento não translacional são derivados com base nos respectivos vetores de movimento das K amostras de pixel do bloco de imagem atual e pelo menos um de uma largura ou uma altura do bloco de imagem atual.
11. Aparelho, de acordo com a reivindicação 10, caracterizado pelo fato de que: as K amostras de pixel compreendem pelo menos duas amostras de pixel em uma amostra de pixel esquerda superior, uma amostra de pixel direita superior, ou uma amostra de pixel esquerda inferior do bloco de imagem atual; e a amostra de pixel esquerda superior do bloco de imagem atual é um vértice esquerdo superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que compreende um vértice esquerdo superior do bloco de imagem atual, a amostra de pixel esquerda inferior do bloco de imagem atual é um vértice esquerdo inferior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que compreende um vértice esquerdo inferior do bloco de imagem atual, e a amostra de pixel direita superior do bloco de imagem atual é um vértice direito superior do bloco de imagem atual ou um bloco de pixel que está no bloco de imagem atual e que compreende um vértice direito superior do bloco de imagem atual.
12. Aparelho, de acordo com a reivindicação 10, caracterizado pelo fato de que obter o valor de pixel previsto de cada pixel do bloco de imagem atual compreende: calcular, com base no modelo de movimento não translacional, um vetor de movimento de cada pixel ou cada sub-bloco no bloco de imagem atual; e executar, com base no vetor de movimento calculado de cada pixel ou cada sub-bloco no bloco de imagem atual, predição de valor de pixel no bloco de imagem atual.
13. Aparelho, de acordo com a reivindicação 10, caracterizado pelo fato de que pelo menos um da largura ou da altura do bloco de imagem atual é associado às respectivas coordenadas das K amostras de pixel.
14. Aparelho, de acordo com qualquer uma das reivindicações 10 a 13, caracterizado pelo fato de que o modelo de movimento não translacional é representado por vx = a x x + b x y + e e vy = c x x + d x y + f, em que (x, y) corresponde às coordenadas de um respectivo pixel ou sub- bloco no bloco de imagem atual, e a, b, e, c, d e f são parâmetros do modelo de movimento não translacional e são derivados com base nos respectivos vetores de movimento das K amostras de pixel do bloco de imagem atual e uma largura e uma altura do bloco de imagem atual, em que os respectivos vetores de movimento das K amostras de pixel compreendem vetores de movimento (VX0,VY0) , (VX1,VY1) , e (VX2,VY2) de três vértices cujas coordenadas são (0,0) , (S1, 0) , e (0,S2) , onde S1 é a largura do bloco de imagem atual e S2 é a altura do bloco de imagem atual, e em que (vx, vy) representa um respectivo vetor de movimento de um respectivo pixel ou bloco 4x4 calculado com base no modelo de movimento não translacional.
15. Aparelho, de acordo com a reivindicação 12, caracterizado pelo fato de que um respectivo vetor de movimento de um respectivo pixel cujas coordenadas são (x, y) é calculado da seguinte maneira:em que o tamanho do bloco de imagem atual é Si x S2, e em que os respectivos vetores de movimento das K amostras de pixel compreendem vetores de movimento (VX2,VY2) de três vértices cujas coordenadas são (0,0) , (S1,0) , e (0,S2)
16. Aparelho, de acordo com qualquer uma das reivindicações 10 a 13, caracterizado pelo fato de que a bandeira indica:se qualquer MVD de uma amostra de pixel das K amostras de pixel é ou não escrita no fluxo de bits; ou se todas as MVDs das K amostras de pixel do bloco de imagem atual são ou não 0.
17. Aparelho, de acordo com qualquer uma das reivindicações 10 a 13, caracterizado pelo fato de que o segundo valor da bandeira é verdadeiro e o segundo valor da bandeira indica que as MVDs das K amostras de pixel do bloco de imagem atual são todas 0; e em que o primeiro valor da bandeira é falso e o primeiro valor da bandeira indica que as MVDs das K amostras de pixel não são todas 0.
18. Aparelho, de acordo com qualquer uma das reivindicações 10 a 13, caracterizado pelo fato de que o modelo de movimento não translacional é um modelo de transformação afim, um modelo de movimento parabólico, um modelo de movimento rotativo, um modelo de movimento de perspectiva, um modelo de movimento de cisalhamento, ou um modelo de movimento dimensionável.
BR112017006018-3A 2014-09-30 2015-04-15 Método de predição de imagem e aparelho de decodificação BR112017006018B1 (pt)

Priority Applications (1)

Application Number Priority Date Filing Date Title
BR122020019754-4A BR122020019754B1 (pt) 2014-09-30 2015-04-15 Método de predição de imagem e aparelho relacionado, decodificador e meio de armazenamento legível por computador

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410526608.8 2014-09-30
CN201410526608.8A CN104539966B (zh) 2014-09-30 2014-09-30 图像预测方法及相关装置
PCT/CN2015/076659 WO2016050051A1 (zh) 2014-09-30 2015-04-15 图像预测方法及相关装置

Publications (2)

Publication Number Publication Date
BR112017006018A2 BR112017006018A2 (pt) 2018-06-26
BR112017006018B1 true BR112017006018B1 (pt) 2023-12-19

Family

ID=52855412

Family Applications (2)

Application Number Title Priority Date Filing Date
BR112017006018-3A BR112017006018B1 (pt) 2014-09-30 2015-04-15 Método de predição de imagem e aparelho de decodificação
BR122020019754-4A BR122020019754B1 (pt) 2014-09-30 2015-04-15 Método de predição de imagem e aparelho relacionado, decodificador e meio de armazenamento legível por computador

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR122020019754-4A BR122020019754B1 (pt) 2014-09-30 2015-04-15 Método de predição de imagem e aparelho relacionado, decodificador e meio de armazenamento legível por computador

Country Status (7)

Country Link
US (2) US10827194B2 (pt)
EP (3) EP3197165B1 (pt)
JP (3) JP6546277B2 (pt)
KR (3) KR101945894B1 (pt)
CN (4) CN112087629B (pt)
BR (2) BR112017006018B1 (pt)
WO (1) WO2016050051A1 (pt)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2017011558A (es) 2015-03-10 2018-03-21 Huawei Tech Co Ltd Método de predicción de imagen y aparato relacionado.
CN109005407B (zh) * 2015-05-15 2023-09-01 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
EP3334157B1 (en) * 2015-08-04 2020-09-02 LG Electronics Inc. Inter prediction method and device in video coding system
CN105163116B (zh) 2015-08-29 2018-07-31 华为技术有限公司 图像预测的方法及设备
CN109274974B (zh) 2015-09-29 2022-02-11 华为技术有限公司 图像预测的方法及装置
CN108432250A (zh) * 2016-01-07 2018-08-21 联发科技股份有限公司 用于视频编解码的仿射帧间预测的方法及装置
CN107027040B9 (zh) 2016-01-29 2020-08-28 华为技术有限公司 一种去除块效应的滤波方法及装置
CN111526360A (zh) 2016-02-06 2020-08-11 华为技术有限公司 图像编解码方法及装置
CN108702509B (zh) * 2016-02-25 2023-10-31 株式会社Kt 用于处理视频信号的方法和设备
RU2696551C1 (ru) 2016-03-15 2019-08-02 МедиаТек Инк. Способ и устройство для кодирования видео с компенсацией аффинного движения
WO2017156705A1 (en) * 2016-03-15 2017-09-21 Mediatek Inc. Affine prediction for video coding
WO2017164441A1 (ko) 2016-03-24 2017-09-28 엘지전자 주식회사 비디오 코딩 시스템에서 인터 예측 방법 및 장치
US10958931B2 (en) * 2016-05-11 2021-03-23 Lg Electronics Inc. Inter prediction method and apparatus in video coding system
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
EP3457694A4 (en) * 2016-05-24 2019-05-22 Huawei Technologies Co., Ltd. IMAGE FORECASTING METHOD AND ASSOCIATED DEVICE
US10778999B2 (en) 2016-09-30 2020-09-15 Qualcomm Incorporated Frame rate up-conversion coding mode with affine motion model
CN108271023B (zh) 2017-01-04 2021-11-19 华为技术有限公司 图像预测方法和相关设备
US10701390B2 (en) * 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
CN107071496B (zh) * 2017-05-14 2020-01-17 北京工业大学 一种h.265/hevc帧间编码单元深度快速选择方法
CN109391814B (zh) 2017-08-11 2023-06-06 华为技术有限公司 视频图像编码和解码的方法、装置及设备
CN107454429B (zh) * 2017-08-21 2019-12-24 武汉兴图新科电子股份有限公司 基于运动向量外推和图像梯度加权的视频错误隐藏方法
CN109587479B (zh) * 2017-09-29 2023-11-10 华为技术有限公司 视频图像的帧间预测方法、装置及编解码器
US11877001B2 (en) * 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
CN112055205B (zh) * 2017-12-12 2021-08-03 华为技术有限公司 视频数据的帧间预测方法和装置、视频编解码器、存储介质
US20190208211A1 (en) * 2018-01-04 2019-07-04 Qualcomm Incorporated Generated affine motion vectors
CN114513671B (zh) * 2018-04-02 2024-04-09 华为技术有限公司 一种视频编解码方法和装置
WO2020007093A1 (zh) * 2018-07-02 2020-01-09 华为技术有限公司 一种图像预测方法及装置
EP3809704A4 (en) 2018-07-02 2021-04-28 Huawei Technologies Co., Ltd. METHOD AND RELATED DEVICE FOR MOTION VECTOR PREDICTION
CN108960160B (zh) * 2018-07-10 2021-03-09 深圳地平线机器人科技有限公司 基于非结构化预测模型来预测结构化状态量的方法和装置
KR102639425B1 (ko) 2018-07-11 2024-02-21 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 인코더, 비디오 디코더, 및 대응하는 방법
WO2020024275A1 (zh) * 2018-08-03 2020-02-06 华为技术有限公司 一种帧间预测的方法及装置
CN110971899B (zh) * 2018-10-01 2021-06-01 华为技术有限公司 一种确定运动信息的方法、帧间预测方法及装置
WO2020130020A1 (ja) * 2018-12-21 2020-06-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN109672886B (zh) * 2019-01-11 2023-07-04 京东方科技集团股份有限公司 一种图像帧预测方法、装置及头显设备

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923786A (en) * 1995-07-17 1999-07-13 Sony Corporation Method and device for encoding and decoding moving images
US5652616A (en) * 1996-08-06 1997-07-29 General Instrument Corporation Of Delaware Optimal disparity estimation for stereoscopic video coding
US7206346B2 (en) * 1997-06-25 2007-04-17 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector decoding method, predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs
US7016539B1 (en) * 1998-07-13 2006-03-21 Cognex Corporation Method for fast, robust, multi-dimensional pattern recognition
CN1194544C (zh) * 2003-04-25 2005-03-23 北京工业大学 基于时空域相关性运动矢量预测的视频编码方法
KR20100015456A (ko) * 2007-04-09 2010-02-12 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
CN101350920A (zh) * 2007-07-17 2009-01-21 北京华辰广正科技发展有限公司 一种面向全景视频的全局运动估计方法
CN101198064A (zh) * 2007-12-10 2008-06-11 武汉大学 一种分辨率分层技术中的运动矢量预测方法
CN101340583B (zh) * 2008-08-08 2010-07-28 浙江大学 基于h.264编码域的移动对象检测装置
WO2010093430A1 (en) * 2009-02-11 2010-08-19 Packetvideo Corp. System and method for frame interpolation for a compressed video bitstream
US8363721B2 (en) * 2009-03-26 2013-01-29 Cisco Technology, Inc. Reference picture prediction for video coding
CN101771878B (zh) * 2010-01-14 2011-05-25 广西大学 面向全景视频编码的自适应选择全局运动估计方法
EP2559243B1 (en) * 2010-04-13 2014-08-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A video decoder and a video encoder using motion-compensated prediction
KR102166520B1 (ko) * 2010-04-13 2020-10-16 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
JP5686018B2 (ja) * 2010-05-21 2015-03-18 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法および画像符号化プログラム
CN103039075B (zh) * 2010-05-21 2015-11-25 Jvc建伍株式会社 图像编码装置、图像编码方法、以及图像解码装置、图像解码方法
CN103155568B (zh) * 2010-07-08 2016-07-27 杜比实验室特许公司 用于使用参考处理信号进行多层图像和视频传输的系统和方法
KR101952103B1 (ko) * 2010-10-08 2019-02-27 지이 비디오 컴프레션, 엘엘씨 블록 분할 및 블록 병합을 지원하는 픽처 코딩
JP5716437B2 (ja) 2011-02-08 2015-05-13 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法および画像符号化プログラム
HRP20230425T1 (hr) 2011-03-21 2023-07-07 Lg Electronics, Inc. Odabir prediktora vektora kretanja
US20130170553A1 (en) * 2012-01-04 2013-07-04 Qualcomm Incorporated Coding motion vector difference
CN103475883B (zh) * 2013-09-26 2016-07-06 北京航空航天大学 一种基于运动区域划分的hevc运动估计提前终止方法
JP6614472B2 (ja) * 2013-09-30 2019-12-04 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
US10531116B2 (en) * 2014-01-09 2020-01-07 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
CN103905826A (zh) * 2014-04-10 2014-07-02 北京工业大学 一种自适应全局运动估计方法

Also Published As

Publication number Publication date
KR20190143496A (ko) 2019-12-30
KR20170044686A (ko) 2017-04-25
BR112017006018A2 (pt) 2018-06-26
EP3197165A1 (en) 2017-07-26
CN107734335A (zh) 2018-02-23
CN107734335B (zh) 2020-11-06
JP2017535162A (ja) 2017-11-24
US20170188041A1 (en) 2017-06-29
JP7123863B2 (ja) 2022-08-23
CN104539966B (zh) 2017-12-22
CN112087630A (zh) 2020-12-15
CN112087629B (zh) 2021-08-20
EP3836547A1 (en) 2021-06-16
US10827194B2 (en) 2020-11-03
KR101945894B1 (ko) 2019-02-08
EP3197165A4 (en) 2017-08-02
KR102160564B1 (ko) 2020-09-28
JP2019198092A (ja) 2019-11-14
JP6546277B2 (ja) 2019-07-17
CN112087630B (zh) 2022-04-08
KR102060184B1 (ko) 2019-12-27
EP3197165B1 (en) 2020-09-16
JP2021182752A (ja) 2021-11-25
KR20190014590A (ko) 2019-02-12
CN104539966A (zh) 2015-04-22
BR122020019754B1 (pt) 2023-12-12
EP3836546A1 (en) 2021-06-16
US20210006818A1 (en) 2021-01-07
JP7252282B2 (ja) 2023-04-04
CN112087629A (zh) 2020-12-15
WO2016050051A1 (zh) 2016-04-07

Similar Documents

Publication Publication Date Title
BR112017006018B1 (pt) Método de predição de imagem e aparelho de decodificação
JP7313816B2 (ja) 画像予測方法および関連装置
JP7335315B2 (ja) 画像予測方法および関連装置
JP6689499B2 (ja) 画像予測方法および関連装置
JP6387582B2 (ja) 画像予測方法および関連する装置
BR112018000085B1 (pt) Método e aparelho de previsão de imagem e meio legível por computador
BR112017007399B1 (pt) Método de predição de imagem e aparelho relacionado
BR122023012613B1 (pt) Método de predição de imagem e dispositivo relacionado
BR112017006017B1 (pt) Método de predição de imagem e aparelho relacionado

Legal Events

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

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 15/04/2015, OBSERVADAS AS CONDICOES LEGAIS