BR112018003653B1 - Método de predição de imagem e dispositivo de predição de imagem - Google Patents
Método de predição de imagem e dispositivo de predição de imagem Download PDFInfo
- Publication number
- BR112018003653B1 BR112018003653B1 BR112018003653-6A BR112018003653A BR112018003653B1 BR 112018003653 B1 BR112018003653 B1 BR 112018003653B1 BR 112018003653 A BR112018003653 A BR 112018003653A BR 112018003653 B1 BR112018003653 B1 BR 112018003653B1
- Authority
- BR
- Brazil
- Prior art keywords
- unit
- motion
- control points
- prediction
- obtaining
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 103
- 230000033001 locomotion Effects 0.000 claims abstract description 592
- 239000013598 vector Substances 0.000 claims abstract description 240
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims abstract description 90
- 238000003384 imaging method Methods 0.000 claims abstract description 83
- 239000011159 matrix material Substances 0.000 claims 25
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 230000009466 transformation Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Image Analysis (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
método e dispositivo para predição de imagem. um método e dispositivo para predição de imagem são revelados. o método inclui: obter (s1200) uma primeira unidade de referência de uma unidade de imagem, onde imagens preditas respectivas são obtidas para a unidade de imagem e a primeira unidade de referência usando um mesmo modelo afim; obter (s1300) a informação de movimento das unidades de compensação do movimento básico em duas ou mais posições preestabelecidas na primeira unidade de referência e obter (s1400) informação de movimento de uma unidade de compensação de movimento básico da unidade de imagem de acordo com a informação de movimento. dessa maneira, a informação de movimento da primeira unidade de referência usando um mesmo modelo de predição de movimento afim é reutilizada e um vetor de movimento mais preciso de uma unidade de imagem atual é obtido, melhorando a precisão da predição e mantendo as complexidades da codificação e da decodificação, por meio disso melhorando o desempenho da codificação e da decodificação.
Description
[0001] A presente invenção refere-se ao campo de processamento de imagem de vídeo e, em particular, a um método e dispositivo para predição de imagem.
[0002] Com o rápido desenvolvimento das tecnologias da Internet e aumento da riqueza do material das pessoas e cultura espiritual, existem demandas crescentes na Internet para aplicação de vídeos, especialmente para aplicação de vídeos de alta definição. Entretanto, um vídeo de alta definição tem uma quantidade de dados muito grande. Para transmitir um vídeo de alta definição na Internet com uma largura da banda limitada, o primeiro problema que precisa ser resolvido é a compactação e a codificação do vídeo de alta definição. Atualmente, existem duas organizações internacionais dedicadas ao desenvolvimento das normas de codificação do vídeo, isto é, o Moving Picture Experts Group (Moving Picture Experts Group, “MPEG” para encurtar) da International Organization for Standardization (International Organization for Standardization, “ISO” para encurtar)/International Electrotechnical Commission (International Electrotechnical Commission, “IEC” para encurtar) e o Video Coding Experts Group (Video Coding Experts Group, “VCEG” para encurtar) do International Telecommunication Union-Telecommunication Standardization Sector (International Telecommunication UnionTelecommunication Standardization Sector, “ITU-T” para encurtar). O MPEG estabelecido em 1986 é responsável por desenvolver normas relacionadas no campo de multimídia, que são aplicadas principalmente no armazenamento, televisão difundida, transferência de dados de mídia na Internet ou redes sem fio e assim por diante. O ITU-T desenvolve principalmente normas de codificação de vídeo para o campo da comunicação de vídeo em tempo real, tais como videotelefonia, videoconferências ou outras aplicações.
[0003] Nas últimas décadas, as normas de codificação de video internacionais para várias aplicações foram desenvolvidas com sucesso, principalmente incluindo: a norma MPEG-1 para discos compactos de vídeo (Video Compact Disc, “VCD” para encurtar), a norma MPEG-2 para disco de vídeo digital (digital video disc, “DVD” para encurtar) e difusão de vídeo digital (digital video broadcasting, “DVB” para encurtar), a norma H.261, a norma H.263 e a norma H.264 para conferências de vídeo, a norma MPEG-4 que possibilita a codificação de objetos de qualquer forma e a última norma High Efficiency Video Coding (High Efficiency Video Coding, “HEVC” para encurtar).
[0004] Comparada com a última norma de codificação de video HEVC, para uma sequência incluindo movimentos de rotação e ampliação, uma tecnologia de predição de compensação de movimento com um campo de vetor de movimento baseado em mudanças lineares pode melhorar significativamente o desempenho da codificação. Em uma tecnologia de predição de compensação de movimento existente baseada em uma transformação afim, depois que um parâmetro de transformação afim de um bloco de imagem é obtido, o vetor de movimento de cada ponto no bloco da imagem precisa ser calculado e a predição da compensação do movimento precisa ser executada de acordo com o vetor de movimento do ponto, de modo a obter um sinal de predição de compensação de movimento de cada ponto.
[0005] Um modelo de movimento baseado na transformação afim é um método para efetivamente codificar os movimentos de rotação e ampliação. Um vetor de movimento de cada pixel em um bloco da imagem a ser processada pode ser derivado usando vetores de movimento de quatro vértices do bloco. Para movimentos incluindo somente a rotação e a ampliação, um modelo de transformação afim pode ser obtido obtendo somente os vetores de movimento de quaisquer dois pontos de controle em um bloco da imagem a ser processada. Um parâmetro do modelo de transformação afim é calculado usando um vetor de movimento do ponto de controle, de modo a obter um vetor de movimento de cada ponto do pixel no bloco atual. O custo de distorção da taxa de um modo de predição do movimento afim é comparado com um custo de distorção da taxa de um modo de predição entre quadros na norma de codificação de vídeo. Se o custo de distorção da taxa do modo de predição de movimento afim é menor, o modo de predição de movimento afim é usado para codificar o bloco da imagem a ser processada. Tal bloco é chamado como um bloco de predição de movimento afim e uma unidade de predição correspondente é citada como uma unidade de predição de movimento afim. Além disso, a informação de movimento dos quatro vértices do bloco de predição do movimento afim e a informação de movimento de uma posição central são armazenadas em uma unidade básica com um tamanho de 4x4. O valor do vetor de movimento da posição central é um valor médio dos valores do vetor de movimento dos dois pontos de controle. A informação de movimento inclui um vetor de movimento, um índice do quadro de referência, uma direção de predição e assim por diante.
[0006] Para melhorar a eficiência da codificação, a informação de movimento de um bloco adjacente do bloco da imagem a ser processada pode ser diretamente reutilizada como informação de movimento de um ponto de controle no bloco da imagem a ser processada, sem precisar executar adicionalmente a busca do movimento usando um vetor de movimento do bloco adjacente como um ponto de partida da busca e codificar uma diferença do vetor de movimento, reduzindo os bits consumidos para codificação da diferença do vetor de movimento. Tal método tem uma exigência relativamente alta na precisão da informação do vetor de movimento do bloco adjacente reutilizado para o bloco atual, mas a precisão da informação do vetor de movimento do bloco adjacente não pode ser garantida na técnica anterior. Consequentemente, a eficiência da codificação não pode ser melhorada.
[0007] A presente invenção apresenta um método e dispositivo para predição da imagem para melhorar a eficiência da codificação.
[0008] De acordo com um primeiro aspecto, um método para predição da imagem é apresentado, que inclui:
[0009] obter uma primeira unidade de referência de uma unidade da imagem, onde imagens preditas respectivas são obtidas para a unidade da imagem e a primeira unidade de referência usando um mesmo modelo afim;
[0010] obter informação de movimento das unidades de compensação do movimento básico em duas ou mais posições preestabelecidas na primeira unidade de referência e
[0011] obter informação de movimento de uma unidade de compensação de movimento básico da unidade de imagem de acordo com a informação de movimento.
[0012] Com referência ao primeiro aspecto, em uma primeira implementação possível do primeiro aspecto, a obtenção de uma primeira unidade de referência de uma unidade de imagem inclui:
[0013] verificar, em ordem preestabelecida, se uma imagem predita é obtida para uma unidade de predição adjacente à unidade de imagem usando o modelo afim e
[0014] se a imagem predita é obtida para a unidade de predição adjacente à unidade da imagem usando o modelo afim, parar a verificação e usar a unidade de predição como a primeira unidade de referência.
[0015] Com referência ao primeiro aspecto, em uma segunda implementação possível do primeiro aspecto, a posição preestabelecida é uma posição de ponto do canto da unidade na primeira unidade de referência.
[0016] Com referência a qualquer um do primeiro aspecto, da primeira implementação possível do primeiro aspecto ou da segunda implementação possível do primeiro aspecto, em uma terceira implementação possível do primeiro aspecto, a obtenção da informação de movimento das unidades de compensação de movimento básico em duas ou mais posições preestabelecidas na primeira unidade de referência inclui:
[0017] obter informação de movimento das unidades de compensação de movimento básico em três posições preestabelecidas na primeira unidade de referência e
[0018] de forma correspondente, a obtenção da informação de movimento de uma unidade de compensação de movimento básico da unidade de imagem de acordo com a informação de movimento inclui:
[0019] obter uma direção de predição, um índice do quadro de referência e um vetor de movimento da unidade de compensação de movimento básico da unidade de imagem de acordo com as direções de predição, índices do quadro de referência e vetores de movimento das unidades de compensação de movimento básico nas três posições preestabelecidas na primeira unidade de referência.
[0020] Com referência à terceira implementação possível do primeiro aspecto, em uma quarta implementação possível do primeiro aspecto, a obtenção de uma direção de predição, um índice do quadro de referência e um vetor de movimento da unidade de compensação de movimento básico da unidade de imagem de acordo com as direções de predição, índices do quadro de referência e vetores de movimento das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência inclui:
[0021] atribuir uma mesma direção de predição para a unidade de compensação do movimento básico da unidade de imagem e as unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência;
[0022] atribuir um mesmo índice do quadro de referência para a unidade de compensação do movimento básico da unidade de imagem e as unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência e
[0023] obter o vetor de movimento da unidade de compensação do movimento básico da unidade de imagem por meio da interpolação de acordo com os vetores de movimento das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência.
[0024] Com referência à quarta implementação possível do primeiro aspecto, em uma quinta implementação possível do primeiro aspecto, a obtenção do vetor de movimento da unidade de compensação do movimento básico da unidade de imagem por meio da interpolação de acordo com os vetores de movimento das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência é implementada na maneira seguinte:
[0025] onde x e y são respectivamente as coordenadas horizontal e vertical da unidade de compensação do movimento básico da unidade de imagem, vx e vy são os vetores de movimento correspondentes horizontal e vertical, xi , x2 e x3 e yi , y2 e y3 são respectivamente as coordenadas horizontal e vertical das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência e vxi, vx2 e vx3 e vyi , vy2 e vy3 são os vetores de movimento horizontal e vertical correspondentes.
[0026] Com referência a qualquer um do primeiro aspecto, da primeira implementação possível do primeiro aspecto ou da segunda implementação possível do primeiro aspecto, em uma sexta implementação possível do primeiro aspecto, a obtenção da informação de movimento das unidades de compensação do movimento básico em duas ou mais posições preestabelecidas na primeira unidade de referência inclui:
[0027] obter informação de movimento das unidades de compensação do movimento básico em duas posições preestabelecidas na primeira unidade de referência e
[0028] de forma correspondente, a obtenção da informação de movimento de uma unidade de compensação do movimento básico da unidade de imagem de acordo com a informação de movimento inclui: obter uma direção de predição, um índice do quadro de referência e um vetor de movimento da unidade de compensação do movimento básico da unidade de imagem de acordo com as direções de predição, índices do quadro de referência e vetores de movimento das unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência.
[0029] Com referência à sexta implementação possível do primeiro aspecto, em uma sétima implementação possível do primeiro aspecto, a obtenção de uma direção de predição, um índice do quadro de referência e um vetor de movimento da unidade de compensação do movimento básico da unidade de imagem de acordo com as direções de predição, índices do quadro de referência e vetores de movimento das unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência inclui:
[0030] atribuir uma mesma direção de predição para a unidade de compensação do movimento básico da unidade de imagem e as unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência;
[0031] atribuir um mesmo índice do quadro de referência para a unidade de compensação do movimento básico da unidade de imagem e as unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência e
[0032] obter o vetor de movimento da unidade de compensação do movimento básico da unidade de imagem por meio da interpolação de acordo com os vetores de movimento das unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência.
[0033] Com referência à sétima implementação possível do primeiro aspecto, em uma oitava implementação possível do primeiro aspecto, a obtenção do vetor de movimento da unidade de compensação do movimento básico da unidade de imagem por meio da interpolação de acordo com os vetores de movimento das unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência é implementada na maneira seguinte:
[0034] onde x e y são respectivamente as coordenadas horizontal e vertical da unidade de compensação do movimento básico da unidade de imagem, vx e vy são os vetores de movimento correspondentes horizontal e vertical, xi e x2 e yi e y2 são respectivamente as coordenadas horizontal e vertical das unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência e vxi e vx2 e vyi e vy2 são os vetores de movimento horizontal e vertical correspondentes.
[0035] De acordo com um segundo aspecto, um dispositivo para predição de imagem é apresentado, que inclui:
[0036] um primeiro módulo de obtenção, configurado para obter uma primeira unidade de referência de uma unidade de imagem, onde imagens preditas respectivas são obtidas para a unidade de imagem e a primeira unidade de referência usando um mesmo modelo afim;
[0037] um segundo módulo de obtenção, configurado para obter informação de movimento das unidades de compensação do movimento básico em duas ou mais posições preestabelecidas na primeira unidade de referência e
[0038] um terceiro módulo de obtenção, configurado para obter a informação de movimento de uma unidade de compensação do movimento básico da unidade de imagem de acordo com informação da posição e a informação de movimento.
[0039] Com referência ao segundo aspecto, em uma primeira implementação possível do segundo aspecto, o primeiro módulo de obtenção é configurado para:
[0040] verificar, em ordem preestabelecida, se uma imagem predita é obtida para uma unidade de predição adjacente à unidade de imagem usando o modelo afim e
[0041] se a imagem predita é obtida para a unidade de predição adjacente à unidade da imagem usando o modelo afim, parar a verificação e usar a unidade de predição como a primeira unidade de referência.
[0042] Com referência ao segundo aspecto, em uma segunda implementação possível do segundo aspecto, a posição preestabelecida é uma posição do ponto de canto da unidade na primeira unidade de referência.
[0043] Com referência a qualquer um do segundo aspecto, da primeira implementação possível do segundo aspecto ou da segunda implementação possível do segundo aspecto, em uma terceira implementação possível do segundo aspecto, o terceiro módulo de obtenção é configurado para:
[0044] obter informação de movimento das unidades de compensação do movimento básico em três posições preestabelecidas na primeira unidade de referência e
[0045] de forma correspondente, a obtenção da informação de movimento de uma unidade de compensação do movimento básico da unidade da imagem de acordo com a informação de movimento inclui:
[0046] obter uma direção de predição, um índice do quadro de referência e um vetor de movimento da unidade de compensação do movimento básico da unidade de imagem de acordo com as direções de predição, índices do quadro de referência e vetores de movimento das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência.
[0047] Com referência à terceira implementação possível do segundo aspecto, em uma quarta implementação possível do segundo aspecto, o terceiro módulo de obtenção é ainda configurado para:
[0048] atribuir uma mesma direção de predição para a unidade de compensação do movimento básico da unidade de imagem e as unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência;
[0049] atribuir um mesmo índice do quadro de referência para a unidade de compensação do movimento básico da unidade de imagem e as unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência e
[0050] obter o vetor de movimento da unidade de compensação do movimento básico da unidade de imagem por meio da interpolação de acordo com os vetores de movimento das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência.
[0051] Com referência à quarta implementação possível do segundo aspecto, em uma quinta implementação possível do segundo aspecto, a obtenção do vetor de movimento da unidade de compensação do movimento básico da unidade de imagem por meio da interpolação de acordo com os vetores de movimento das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência é implementada na maneira seguinte:
[0052] onde x e y são respectivamente as coordenadas horizontal e vertical da unidade de compensação do movimento básico da unidade de imagem, vx e vy são os vetores de movimento correspondentes horizontal e vertical, xi , x2 e x3 e yi , y2 e y3 são respectivamente as coordenadas horizontal e vertical das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência e vxi, vx2 e vx3 e vyi , vy2 e vy3 são os vetores de movimento horizontal e vertical correspondentes.
[0053] Com referência a qualquer um do segundo aspecto, da primeira implementação possível do segundo aspecto ou da segunda implementação possível do segundo aspecto, em uma sexta implementação possível do segundo aspecto, o terceiro módulo de obtenção é configurado para:
[0054] obter informação de movimento das unidades de compensação do movimento básico em duas posições preestabelecidas na primeira unidade de referência e
[0055] de forma correspondente, a obtenção da informação de movimento de uma unidade de compensação do movimento básico da unidade de imagem de acordo com a informação de movimento inclui:
[0056] obter uma direção de predição, um índice do quadro de referência e um vetor de movimento da unidade de compensação do movimento básico da unidade de imagem de acordo com as direções de predição, índices do quadro de referência e vetores de movimento das unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência.
[0057] Com referência à sexta implementação possível do segundo aspecto, em uma sétima implementação possível do segundo aspecto, o terceiro módulo de obtenção é ainda configurado para:
[0058] atribuir uma mesma direção de predição para a unidade de compensação do movimento básico da unidade de imagem e as unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência;
[0059] atribuir um mesmo índice do quadro de referência para a unidade de compensação do movimento básico da unidade de imagem e as unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência e
[0060] obter o vetor de movimento da unidade de compensação do movimento básico da unidade de imagem por meio da interpolação de acordo com os vetores de movimento das unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência.
[0061] Com referência à sétima implementação possível do segundo aspecto, em uma oitava implementação possível do segundo aspecto, a obtenção do vetor de movimento da unidade de compensação do movimento básico da unidade de imagem por meio da interpolação de acordo com os vetores de movimento das unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência é implementada na maneira se-guinte:
[0062] onde x e y são respectivamente as coordenadas horizontal e vertical da unidade de compensação do movimento básico da unidade de imagem, vx e vy são os vetores de movimento correspondentes horizontal e vertical, x1 e x2 e y1 e y2 são respectivamente as coordenadas horizontal e vertical das unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência e vx1 e vx2 e vy1 e vy2 são os vetores de movimento horizontal e vertical correspondentes.
[0063] Com base nas soluções técnicas precedentes, de acordo com o método e dispositivo para predição de imagem nas modalidades da presente invenção, a informação de movimento da primeira unidade de referência usando um mesmo modelo de predição de movimento afim é reutilizada e, portanto, um vetor de movimento mais preciso de uma unidade de imagem atual é obtido sem codificação e decodificação de uma diferença do vetor de movimento e sem pesquisa extra por um vetor de movimento de alta precisão. Dessa maneira, a precisão da predição é melhorada e as complexidades da codificação e decodificação são mantidas, dessa forma melhorando o desempenho da codificação e da decodificação.
[0064] Para descrever as soluções técnicas nas modalidades da presente invenção mais claramente, o seguinte descreve brevemente os desenhos acompanhantes necessários para descrever as modalidades ou a técnica anterior. Aparentemente, os desenhos acompanhantes na descrição seguinte mostram meramente algumas modalidades da presente invenção e uma pessoa de conhecimento na técnica pode ainda deduzir outros desenhos a partir desses desenhos acompanhantes sem esforços criativos.
[0065] A figura 1 é um fluxograma esquemático de um método para predição da imagem de acordo com uma modalidade da presente invenção,
[0066] A figura 2 é um diagrama esquemático das unidades de predição candidatas de acordo com uma modalidade da presente invenção,
[0067] A figura 3 é um diagrama esquemático de um bloco da imagem afim e pontos de controle de acordo com uma modalidade da presente invenção,
[0068] A figura 4 é outro fluxograma esquemático de um método para predição de imagem de acordo com uma modalidade da presente invenção,
[0069] A figura 5 é um diagrama de blocos esquemático de um dispositivo para predição de imagem de acordo com uma modalidade da presente invenção,
[0070] A figura 6 é outro diagrama de blocos esquemático de um dispositivo para predição de imagem de acordo com uma modalidade da presente invenção,
[0071] A figura 7 é outro diagrama de blocos esquemático de um dispositivo para predição de imagem de acordo com uma modalidade da presente invenção e
[0072] A figura 8 é outro diagrama de blocos esquemático de um dispositivo para predição de imagem de acordo com uma modalidade da presente invenção.
[0073] O seguinte descreve de maneira clara e completa as soluções técnicas nas modalidades da presente invenção com referência aos desenhos acompanhantes nas modalidades da presente invenção. Aparentemente, as modalidades descritas são algumas, mas não todas as modalidades da presente invenção. Todas as outras modalidades obtidas por um versado na técnica com base nas modalidades da presente invenção sem esforços criativos devem ficar dentro do escopo de proteção da presente invenção.
[0074] Deve ser entendido que nas modalidades da presente invenção, um modelo afim de rotação e ampliação com base em dois pontos de controle em cada unidade de predição (quatro parâmetros) é usado, ou um modelo afim de rotação e ampliação com base em três pontos de controle em cada unidade de predição (seis parâmetros) pode ser usado ou um modelo afim em perspectiva com base em quatro pontos de controle em cada unidade de predição (oito parâmetros) ou semelhante pode ser usado, e nenhuma limitação é imposta nisso.
[0075] Deve ser entendido que uma unidade de compensação do movimento básico é uma unidade mínima para executar a compensação do movimento e a unidade tem informação de movimento uniforme. Nas modalidades da presente invenção, um ponto de pixel é usado como uma unidade de compensação do movimento básico ou uma matriz de pixel ou semelhante pode ser usada como uma unidade de compensação do movimento básico, e nenhuma limitação é imposta nisso.
[0076] Deve ser entendido que em um modelo afim de 4 parâmetros, a partir da informação de movimento de quaisquer duas unidades de compensação do movimento básico, a informação de movimento de todas as unidades de compensação de movimento em uma unidade de predição de movimento afim na qual as duas unidades de compensação do movimento básico estão localizadas pode ser interpolada. De preferência, uma informação de movimento de interpolação mais precisa pode ser obtida selecionando as unidades de compensação do movimento básico em quaisquer dois pontos do canto da unidade na unidade de predição de movimento afim. Uma posição do ponto do canto da unidade é um ponto no qual os dois lados adjacentes da unidade de predição de movimento afim, isto é, uma primeira unidade de referência, convergem. Por exemplo, se a unidade de predição de movimento afim é um triângulo, os pontos do canto da unidade são três vértices do triângulo; se a unidade de predição de movimento afim é um quadrilátero, os pontos de canto da unidade são quatro vértices do quadrilátero e assim por diante. Nas modalidades, para facilidade de descrição, unidades de compensação do movimento básico das quais a informação de movimento de todas as unidades de compensação de movimento na unidade de predição de movimento afim é interpolada são chamadas como pontos de controle.
[0077] Uma modalidade da presente invenção apresenta um método para predição de imagem, que é implementado por um decodificador. O método inclui especificamente as etapas seguintes:
[0078] obter uma primeira unidade de referência de uma unidade de imagem, onde imagens preditas respectivas são obtidas para a unidade de imagem e a primeira unidade de referência usando um mesmo modelo afim;
[0079] obter informação de movimento das unidades de compensação do movimento básico em duas ou mais posições preestabelecidas na primeira unidade de referência e
[0080] obter informação de movimento de uma unidade de compensação do movimento básico da unidade de imagem de acordo com a informação de movimento.
[0081] De acordo com o método e dispositivo para predição de imagem nessa modalidade da presente invenção, a informação de movimento da primeira unidade de referência usando um mesmo modelo de predição de movimento afim é reutilizada e, portanto, um vetor de movimento mais preciso de uma unidade da imagem atual é obtido sem codificação e decodificação da diferença do vetor de movimento e sem busca extra por um vetor de movimento de alta precisão. Dessa maneira, a precisão da predição é melhorada e as complexidades da codificação e decodificação são mantidas, dessa forma melhorando o desempenho de codificação e decodificação.
[0082] De preferência, a posição preestabelecida é uma posição do ponto do canto da unidade na primeira unidade de referência e a posição do ponto do canto é um ponto no qual os dois lados adjacentes da primeira unidade de referência convergem.
[0083] De preferência, por exemplo, a obtenção da informação de movimento das unidades de compensação do movimento básico em duas ou mais posições preestabelecidas na primeira unidade de referência inclui:
[0084] obter a informação de movimento das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência e, de forma correspondente, a obtenção da informação de movimento de uma unidade de compensação do movimento básico da unidade de imagem de acordo com a informação de movimento inclui: obter uma direção de predição, um índice do quadro de referência e um vetor de movimento da unidade de compensação do movimento básico da unidade de imagem de acordo com as direções de predição, índices do quadro de referência e vetores de movimento das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência.
[0085] A obtenção de uma direção de predição, um índice do quadro de referência e um vetor de movimento da unidade de compensação do movimento básico da unidade de imagem de acordo com as direções de predição, índices do quadro de referência e vetores de movimento das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência podem ser:
[0086] atribuir uma mesma direção de predição para a unidade de compensação do movimento básico da unidade de imagem e as unidades de compensação do movimento básico em três posições preestabelecidas na primeira unidade de referência; atribuir um mesmo índice do quadro de referência para a unidade de compensação do movimento básico da unidade de imagem e as unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência e obter o vetor de movimento da unidade de compensação do movimento básico da unidade de imagem por meio da interpolação de acordo com os vetores de movimento das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência.
[0087] A obtenção do vetor de movimento da unidade de compensação do movimento básico da unidade de imagem por meio da interpolação de acordo com os vetores de movimento das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência é executada na maneira se-guinte:
[0088] onde x e y são respectivamente as coordenadas horizontal e vertical da unidade de compensação do movimento básico da unidade de imagem, vx e vy são os vetores de movimento correspondentes horizontal e vertical, x , x x e y , y e y são respectivamente as coordenadas horizontal e vertical das unidades de compensação do movimento básico nas três posições preestabelecidas na primeira unidade de referência e vx , vx e vx e vy , vy e vy são os vetores de movimento horizontal e vertical correspondentes.
[0089] As fórmulas precedentes que são usadas para obter o vetor de movimento da unidade de compensação do movimento básico da unidade de imagem por meio da interpolação são fórmulas comuns que são usadas para completar a interpolação de acordo com a informação de movimento das unidades de compensação do movimento básico em quaisquer posições preestabelecidas selecionadas na primeira unidade de referência. Em uma modalidade específica, as fórmulas podem ser simplificadas para cenários de aplicação diferentes de acordo com a particularidade das posições preestabelecidas selecionadas. Por exemplo, em uma modalidade específica da presente invenção, os pontos de canto da unidade esquerdo superior, esquerdo inferior e direita superior na unidade são selecionados como as posições preestabelecidas e as fórmulas são simplificadas para:
[0090] onde x e y são respectivamente as coordenadas horizontal e vertical de um ponto de pixel em um bloco da imagem a ser processada, vx e vy são os vetores de movimento correspondentes horizontal e vertical, x2 , x3 e x4 e y2 , y3 e y4 são respectivamente as coordenadas horizontal e vertical dos três pontos de controle em uma unidade de predição de movimento afim e vx2 , vx3 e vx4 e vy2 , vy3 e vy4 são os vetores de movimento horizontal e vertical correspondentes.
[0091] Alternativamente, por exemplo, o método inclui:
[0092] obter informação de movimento das unidades de compensação do movimento básico em duas posições preestabelecidas na primeira unidade de referência e, de forma correspondente, a obtenção da informação de movimento de uma unidade de compensação do movimento básico da unidade de imagem de acordo com a informação de movimento inclui: obter uma direção de predição, um índice do quadro de referência e um vetor de movimento da unidade de compensação do movimento básico da unidade de imagem de acordo com as direções de predição, índices do quadro de referência e vetores de movimento das unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência.
[0093] A obtenção do vetor de movimento da unidade de compensação do movimento básico da unidade de imagem por meio da interpolação de acordo com os vetores de movimento das unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência é implementada na maneira seguinte:
[0094] onde x e y são respectivamente as coordenadas horizontal e vertical da unidade de compensação do movimento básico da unidade de imagem, vx e vy são os vetores de movimento horizontal e vertical correspondentes, xi e x2 e yi e y2 são respectivamente as coordenadas horizontal e vertical das unidades de compensação do movimento básico nas duas posições preestabelecidas na primeira unidade de referência e vxi e vx2 e vyi e vy2 são os vetores de movimento horizontal e vertical correspondentes.
[0095] As fórmulas precedentes que são usadas para obter o vetor de movimento da unidade de compensação do movimento básico da unidade de imagem por meio da interpolação são fórmulas comuns que são usadas para completar a interpolação de acordo com a informação de movimento das unidades de compensação do movimento básico em quaisquer posições preestabelecidas selecionadas na primeira unidade de referência. Em uma modalidade específica, as fórmulas podem ser simplificadas para cenários de aplicação diferentes de acordo com a particularidade das posições preestabelecidas selecionadas. Por exemplo, em uma modalidade específica da presente invenção, os pontos de canto da unidade esquerdo superior e direito superior na unidade são selecionados como as posições preestabelecidas e as fórmulas são simplificadas para:
[0096] onde x e y são respectivamente as coordenadas horizontal e vertical de um ponto de pixel em um bloco da imagem a ser processada, vx e vy são os vetores de movimento horizontal e vertical correspondentes e x0 e x1 e y0 e y1 são respectivamente as coordenadas horizontal e vertical dos dois pontos de controle em uma unidade de predição de movimento afim, onde y0 é igual a y1 e vx0 e vx1 e vy0 e vy1 são vetores de movimento horizontal e vertical correspondentes.
[0097] Além disso, a presente invenção ainda apresenta um método para predição de imagem aplicado a um processo de codificação. O método para predição de imagem aplicado em um processo de codificação é o mesmo como o método para predição de imagem precedente aplicado a um processo de decodificação. Portanto, um mesmo efeito de melhora no desempenho da codificação pode ser obtido.
[0098] O seguinte descreve implementações específicas da presente invenção pelo uso dos exemplos específicos.
[0099] A figura 1 é um fluxograma esquemático de um método para predição de imagem de acordo com uma modalidade da presente invenção. O método mostrado na figura 1 pode ser executado por um dispositivo de decodificação, tal como um decodificador.
[00100] Especificamente, como mostrado na figura 1, o método 1000 inclui as etapas seguintes.
[00101] S1100. Ler um fluxo de bits e analisar o fluxo de bits para obter um elemento de sintaxe, onde o elemento de sintaxe é usado para determinar se um bloco da imagem a ser processada reutiliza a informação de movimento do modelo afim de um bloco adjacente. Quando é determinado que o bloco da imagem a ser processada reutiliza a informação de movimento do modelo afim do bloco adjacente, o processo prossegue para a etapa S1200.
[00102] S1200. Determinar uma unidade de predição de movimento afim que é usada como uma referência para o bloco da imagem a ser processada.
[00103] Um primeiro método de implementação específico 1210 da etapa inclui as etapas seguintes:
[00104] S1211. Determinar um conjunto de unidades de predição candidatas para o bloco da imagem a ser processada.
[00105] Como mostrado na figura 2, nessa modalidade da presente invenção, unidades de predição nas quais 4x4 blocos em cinco posições A, B, C, D e E que são espacialmente adjacentes ao bloco da imagem a ser processada são respectivamente localizados são selecionadas para formar o conjunto. Deve ser entendido que, alternativamente, algumas das posições A, B, C, D e E podem ser selecionadas ou as unidades de predição nas quais outros blocos adjacentes no domínio de tempo ao bloco da imagem a ser processada estão localizados podem ser selecionadas para formar o conjunto, e nenhuma limitação é imposta a isso.
[00106] S1212. Verificar, em ordem preestabelecida, se uma unidade de predição no conjunto é uma unidade de predição de movimento afim.
[00107] A ordem preestabelecida é uma ordem que é predeterminada em um protocolo pelos lados de codificação e decodificação e é mantida consistente entre os lados de codificação e decodificação. Nessa modalidade da presente invenção, a ordem preestabelecida é A, B, C, D e E. Deve ser entendido que, alternativamente, a ordem preestabelecida pode ser B, D, A, E e C ou outra ordem, e nenhuma limitação é imposta a isso.
[00108] S1213. Se for verificado que a unidade de predição é uma unidade de predição de movimento afim, parar a verificação e usar a unidade de predição como a unidade de predição de movimento afim citada pelo bloco da imagem a ser processada.
[00109] Um segundo método de implementação específico 1220 da etapa inclui as etapas seguintes.
[00110] S1221. Determinar um conjunto de unidades de predição candidatas para um bloco da imagem a ser processada.
[00111] Além da mesma maneira de determinação do conjunto que essa em S1211, o método pode ainda incluir: remover uma unidade de predição de movimento não afim no conjunto do conjunto. Por exemplo, o conjunto determinado usando a maneira de determinação de S1211 inclui as unidades de predição nas quais A, B, C, D e E estão localizadas, e as unidades de predição nas quais C e D estão localizadas não são unidades de predição de movimento afim. Portanto, C e D são removidas do conjunto e o conjunto determinado de unidades de predição candidatas inclui as unidades de predição nas quais A, B e E estão localizadas.
[00112] Alternativamente, o método pode incluir: limitar a capacidade do conjunto e remover, do conjunto, uma unidade de predição candidata cuja ordem de verificação se classifica atrás de uma quantidade permissível das unidades de predição candidatas. Por exemplo, a quantidade de unidades de predição candidatas no conjunto é definida para um máximo de 2 e um conjunto que está com uma ordem de verificação e que é determinado usando a maneira de determinação de S1211 de acordo com a ordem de verificação de S1212 é A, D, C, E e B. Portanto, C, E e B são removidas do conjunto e o conjunto determinado de unidades de predição candidatas inclui as unidades de predição nas quais A e D estão localizadas. Deve ser entendido que a capacidade do conjunto pode ser definida para 3 ou 4 ou pode não ser limitada se a capacidade cai dentro de uma faixa que é maior do que 0, porém menor do que ou igual a uma quantidade máxima de unidades de predição candidatas determinadas usando a maneira de determinação de S1211.
[00113] Alternativamente, as duas maneiras de determinação de conjunto precedentes podem ser usadas em combinação.
[00114] S1222. Ler o fluxo de bits e analisar o fluxo de bits para obter um elemento de sintaxe, onde o elemento de sintaxe é usado para indicar a informação do índice da unidade de predição de movimento afim que está no conjunto das unidades de predição candidatas e que é usada como uma referência para o bloco da imagem a ser processada.
[00115] S1223. Determinar, de acordo com a informação do índice, uma unidade de predição do movimento afim que é usada como uma referência para o bloco da imagem a ser processada.
[00116] Por exemplo, se o conjunto das unidades de predição candidatas inclui duas unidades de predição candidatas A e B, o índice de A é 0 e o índice de B é 1. O fluxo de bits é lido e é analisado para obter a informação do índice. Se a informação do índice é 0, a unidade de predição do movimento afim citada pelo bloco da imagem a ser processada é uma unidade de predição na qual A está localizada; se a informação do índice é 1, a unidade de predição do movimento afim citada pelo bloco da imagem a ser processada é uma unidade de predição na qual B está localizada.
[00117] S1300. Obter informação de posição e informação de movimento dos pontos de controle na unidade de predição de movimento afim.
[00118] Um primeiro método de implementação específico 1310 da etapa inclui: selecionar quaisquer três pontos de controle dos quatro pontos de controle na unidade de predição de movimento afim e obter a informação de posição, a informação do vetor de movimento, direções de predição e índices do quadro de referência dos três pontos de controle. Pelo fato de que todos os pontos de pixel em uma mesma unidade de predição de movimento afim têm uma mesma direção de predição e um mesmo índice do quadro de referência, as direções de predição e os índices do quadro de referência de todos os pontos de controle são também os mesmos.
[00119] Um segundo método de implementação específico 1320 da etapa inclui: selecionar quaisquer dois pontos de controle, que podem ser citados como primeiro e segundo pontos de controle, dos quatro pontos de controle na unidade de predição de movimento afim e obter a informação de posição, informação do vetor de movimento, direções de predição e índices do quadro de referência dos dois pontos de controle e depois selecionar qualquer ponto de controle, que pode ser chamado como um terceiro ponto de controle, dos dois pontos de controle restantes e obter a informação de posição do terceiro ponto de controle. A informação do vetor de movimento do terceiro ponto de controle pode ser derivada de acordo com os primeiro e segundo pontos de controle na maneira seguinte:
[00120] onde x e y são respectivamente as coordenadas horizontal e vertical do terceiro ponto de controle, vx e vy são os vetores de movimento horizontal e vertical correspondentes, x1 e x2 e y1 e y2 são respectivamente as coordenadas horizontal e vertical dos primeiro e segundo pontos de controle e vx1 e vx2 e vy1 e vy2 são os vetores de movimento horizontal e vertical correspondentes.
[00121] Pelo fato de que todos os pontos de pixel em uma mesma unidade de predição de movimento afim têm uma mesma direção de predição e um mesmo índice do quadro de referência, as direções de predição e os índices do quadro de referência de todos os pontos de controle são também os mesmos. O terceiro ponto de controle tem uma mesma direção de predição e índice do quadro de referência que esses dos primeiro e segundo pontos de controle.
[00122] De acordo com qualquer uma das duas implementações específicas precedentes, depois da etapa S1300, a informação de movimento e a informação de posição de pelo menos três pontos de controle são obtidas.
[00123] Como mostrado na figura 3, nessa modalidade da presente invenção, pontos de controle representados por três vértices: os vértices esquerdo superior (x2, y2), direito superior (x3, y3) e esquerdo inferior (x4, y4) de uma unidade de predição de movimento afim, na qual um bloco adjacente A do bloco da imagem a ser processada fica localizado são sele-cionados. Nessa modalidade, x2 é igual a x4 e y2 é igual a y3.
[00124] Deve ser entendido que o ponto de controle é selecionado aleatoriamente e nenhuma limitação é imposta a isso.
[00125] S1400. Obter informação de movimento de um ponto de pixel no bloco de imagem de acordo com a informação da posição e a informação do movimento dos três pontos de controle selecionados precedentes.
[00126] Um primeiro método de implementação específico 1410 da etapa inclui as etapas seguintes:
[00127] S1411. Pelo fato de que as direções de predição e os índices do quadro de referência de todos os pontos de controle são os mesmos, a direção de predição e o índice do quadro de referência de qualquer um dos pontos de controle são atribuídos para o ponto do pixel no bloco da imagem a ser processada. Alternativamente, o fluxo de bits pode ser analisado para obter informação do quadro de referência do bloco da imagem a ser processada, onde a informação do quadro de referência inclui uma direção de predição e um índice do quadro de referência.
[00128] S1412. Obter, de acordo com a informação da posição e os vetores de movimento obtidos em S1300 dos quaisquer três pontos de controle, um vetor de movimento do ponto do pixel no bloco da imagem a ser processada. Isso é implementado na maneira seguinte:
[00129] onde x e y são respectivamente as coordenadas horizontal e vertical do ponto do pixel no bloco da imagem a ser processada, vx e vy são os vetores de movimento horizontal e vertical correspondentes, x2 , x3 e x4 e y2 , y3 e y4 são respectivamente as coordenadas horizontal e vertical dos quaisquer três pontos de controle na unidade de predição de movimento afim e vx2 , vx3 e vx4 e vy2 , vy3 e vy4 são os vetores de movimento horizontal e vertical correspondentes.
[00130] Um segundo método de implementação específico 1420 da etapa inclui as etapas seguintes.
[00131] S1421. Pelo fato de que as direções de predição e os índices do quadro de referência de todos os pontos de controle são os mesmos, a direção de predição e o índice do quadro de referência de qualquer um dos pontos de controle são atribuídos para o ponto do pixel no bloco da imagem a ser processada. Alternativamente, o fluxo de bits pode ser analisado para obter informação do quadro de referência do bloco da imagem a ser processada, onde a informação do quadro de referência inclui uma direção de predição e um índice do quadro de referência.
[00132] S1422. Como mostrado na figura 3, obter, de acordo com a informação da posição e os vetores de movimento obtidos em S1300 dos quaisquer três pontos de controle, vetores de movimento quaisquer dois pontos de controle no bloco da imagem a processada. Isso é implementado na maneira seguinte:
[00133] onde x0 e x1 e y0 e y1 são respectivamente as coordenadas horizontal e vertical dos dois pontos de controle no bloco da imagem a ser processada, y0 é igual a y1 , vx0 e vx1 e vy0 e vy1 são vetores de movimento horizontal e vertical correspondentes, x2 , x3 e x4 e y2 , y3 e y4 são respectivamente as coordenadas horizontal e vertical dos três pontos de controle na unidade de predição de movimento afim e vx2 , vx3 e vx4 e vy2 , vy3 e vy4 são vetores de movimento horizontal e vertical correspondentes.
[00134] S1423. Obter, de acordo com os vetores de movimento obtidos em S1422 dos dois pontos de controle, um vetor de movimento do ponto do pixel no bloco da imagem a ser processada. Isso é implementado na maneira seguinte:
[00135] onde x e y são respectivamente as coordenadas horizontal e vertical do ponto do pixel no bloco da imagem, vx e vy são vetores de movimento horizontal e vertical correspondentes e x0 e x1 e y0 e y1 são respectivamente as coordenadas horizontal e vertical dos dois pontos de controle no bloco da imagem a ser processada, onde y0 é igual a y1 e vx0 e vx1 e vy0 e vy1 são os vetores de movimento horizontal e vertical correspondentes.
[00136] Um terceiro método de implementação específico 1430 da etapa inclui as etapas seguintes.
[00137] S1431. Pelo fato de que as direções da predição e os índices do quadro de referência de todos os pontos de controle são os mesmos, a direção da predição e o índice do quadro de referência de qualquer um dos pontos de controle são atribuídos para o ponto do pixel no bloco da imagem a ser processada. Alternativamente, o fluxo de bits pode ser analisado para obter informação do quadro de referência do bloco da imagem a ser processada, onde a informação do quadro de referência inclui uma direção de predição e um índice do quadro de referência.
[00138] S1432. Como mostrado na figura 3, obter, de acordo com a informação da posição e os vetores de movimento obtidos em S1400 dos quaisquer três pontos de controle, os vetores de movimento de quaisquer dois pontos de controle no bloco da imagem a ser processada. Isso é implementado na maneira seguinte:
[00139] onde x0 e x1 e y0 e y1 são respectivamente as coordenadas horizontal e vertical dos dois pontos de controle no bloco da imagem a ser processada, y0 é igual a y1 , vx0 e vx1 e vy0 e vy1 são vetores de movimento horizontal e vertical correspondentes, x2 , x3 e x4 e y2 , y3 e y4 são respectivamente as coordenadas horizontal e vertical dos três pontos de controle na unidade de predição de movimento afim e vx2 , vx3 e vx4 e vy2 , vy3 e vy4 são os vetores de movimento horizontal e vertical correspondentes.
[00140] S1433. Analisar o fluxo de bits para obter um residual dos vetores de movimento dos dois pontos de controle no bloco da imagem a ser processada, e adicionar o residual nos vetores de movimento obtidos em S1432 dos dois pontos de controle, para obter vetores de movimento atualizados dos dois pontos de controle no bloco da imagem a ser processada. Por causa da adição do residual, os vetores de movimento atualizados são mais precisos.
[00141] S1434. Obter, de acordo com os vetores de movimento obtidos em S1433 dos dois pontos de controle, um vetor de movimento do ponto do pixel no bloco da imagem a ser processada. Isso é implementado na maneira seguinte:
[00142] onde x e y são respectivamente as coordenadas horizontal e vertical do ponto do pixel no bloco da imagem a ser processada, vx e vy são os vetores de movimento horizontal e vertical correspondentes e x0 e x1 e y0 e y1 são respectivamente as coordenadas horizontal e vertical dos dois pontos de controle no bloco da imagem a ser processada, onde y0 é igual a y1 e vx0 e vx1 e vy0 e vy1 são os vetores de movimento horizontal e vertical correspondentes.
[00143] S1500. Executar a compensação do movimento de acordo com a direção da predição, o índice do quadro de referência e o vetor de movimento que são obtidos, para encontrar um valor predito do ponto do pixel no bloco da imagem a ser processada, onde valores preditos de todos os pontos do pixel formam uma imagem predita da imagem a ser processada.
[00144] Deve ser entendido que nessa modalidade da presente invenção, o primeiro, segundo, terceiro e quarto são somente planejados para distinguir os pontos do pixel, mas não devem ser interpretados como qualquer limitação no escopo de proteção da presente invenção. Por exemplo, um primeiro ponto de controle pode também ser chamado como um segundo ponto de controle e um segundo ponto de controle pode ser um primeiro ponto de controle e assim por diante.
[00145] Deve ser ainda entendido que números de sequência dos processos precedentes não significam sequências de execução. As sequências de execução dos processos devem ser determinadas de acordo com as funções e lógica interna dos processos e não devem ser interpretadas como qualquer limitação nos processos de implementação dessa modalidade da presente invenção.
[00146] Ainda deve ser entendido que um método para obter uma imagem predita usando um modelo de transformação afim de 6 parâmetros ou um modelo de transformação afim de 8 parâmetros é essencialmente o mesmo que um método para obter uma imagem predita usando um modelo de transformação afim de 4 parâmetros. Por brevidade, os detalhes não são descritos aqui.
[00147] Especificamente, um lado de decodificação reutiliza a informação de movimento da unidade de predição de movimento afim usando um mesmo modelo de predição de movimento afim e, portanto, obtém um vetor de movimento mais preciso de uma unidade de imagem atual sem codificar e decodificar a diferença do vetor de movimento e sem busca extra por um vetor de movimento de alta precisão. Dessa maneira, a precisão da predição é melhorada e as complexidades da codificação e decodificação são mantidas, dessa forma melhorando o desempenho de codificação e decodificação.
[00148] Para melhor provar os efeitos benéficos da presente invenção, a comparação do desempenho é executada entre essa modalidade da presente invenção e um método de predição usando um modelo de transformação afim com base em dois pontos de controle na técnica anterior com relação a uma configuração de codificação de acesso aleatório (acesso aleatório) e uma configuração de codificação de pequeno retardo (pequeno retardo). Um valor negativo indica uma porcentagem do desempenho melhorado da codificação e um valor positivo indica uma porcentagem do desempenho deteriorado da codificação.Tabela 1 Sequência afim
[00149] Pode ser aprendido que, sob condições de teste de uma taxa de bits baixa de acesso aleatório, uma taxa de bits alta de acesso aleatório, uma taxa de bits baixa de um pequeno retardo e uma taxa de bits alta de um pequeno retardo, a presente invenção respectivamente reduz a taxa de bits por 2,7%, 2,1%, 5,7% e 4,3% quando a complexidade basicamente permanece inalterada, dessa forma melhorando a eficiência da codificação.
[00150] O precedente descreve o método para predição da imagem, implementado no lado de decodificação, de acordo com essa modalidade da presente invenção em detalhes com referência à figura 1 até a figura 3, e o seguinte descreve um método para predição de imagem, implementado em um lado de codificação, de acordo com uma modalidade da presente invenção em detalhes com referência à figura 2 até a figura 4. Deve ser observado que as operações relacionadas do lado da codificação são essencialmente consistentes com essas do lado da decodificação. Para evitar a repetição, os detalhes não são descritos aqui.
[00151] A figura 4 é outro fluxograma esquemático de um método para predição de imagem 2000 de acordo com uma modalidade da presente invenção. O método mostrado na figura 4 pode ser executado por um dispositivo de codificação, tal como um codificador.
[00152] Especificamente, como mostrado na figura 4, o método 2000 inclui as etapas seguintes.
[00153] S2100. Determinar uma unidade de predição de movimento afim que é usada como uma referência para um bloco da imagem a ser processada.
[00154] Um primeiro método de implementação específico 2110 da etapa inclui as etapas seguintes.
[00155] S2111. Determinar um conjunto de unidades de predição candidatas para o bloco da imagem a ser processada.
[00156] Como mostrado na figura 2, nessa modalidade da presente invenção, unidades de predição nas quais 4x4 blocos em cinco posições A, B, C, D e E que são espacialmente adjacentes ao bloco da imagem a ser processada ficam respectivamente localizados são selecionadas para formar o conjunto. Deve ser entendido que, alternativamente, algumas das posições A, B, C, D e E podem ser selecionadas, ou unidades de predição nas quais outros blocos adjacentes no domínio de tempo ao bloco da imagem a ser processada estão localizados podem ser selecionadas para formar o conjunto, e nenhuma limitação é imposta a isso.
[00157] S2112. Verificar, em ordem preestabelecida, se uma unidade de predição no conjunto é uma unidade de predição de movimento afim.
[00158] A ordem preestabelecida é uma ordem que é predeterminada em um protocolo pelos lados de codificação e decodificação e é mantida consistente entre os lados de codificação e decodificação. Nessa modalidade da presente invenção, a ordem preestabelecida é A, B, C, D e E. Deve ser entendido que, alternativamente, a ordem preestabelecida pode ser B, D, A, E e C ou outra ordem e nenhuma limitação é imposta a isso.
[00159] S2113. Se for verificado que a unidade de predição é uma unidade de predição de movimento afim, parar a verificação e usar a unidade de predição como a unidade de predição de movimento afim citada pelo bloco da imagem a ser processada.
[00160] S2114. Se nenhuma das unidades de predição candidatas é uma unidade de predição de movimento afim, codificar um elemento de sintaxe, onde o elemento de sintaxe é usado para indicar que o bloco da imagem a ser processada não reutiliza a informação de predição afim de um bloco adjacente e parar de executar uma etapa subsequente; de outra forma continuar a executar uma etapa subsequente.
[00161] Um segundo método de implementação específico 2120 da etapa inclui as etapas seguintes:
[00162] S2121. Determinar um conjunto de unidades de predição candidatas para o bloco da imagem a ser processada.
[00163] Além da mesma maneira de determinação do conjunto que essa em S2111, o método pode ainda incluir: remover um bloco da unidade de predição de movimento não afim no conjunto do conjunto. Por exemplo, o conjunto determinado usando a maneira de determinação de S1211 inclui as unidades de predição nas quais A, B, C, D e E estão localizadas e as unidades de predição nas quais C e D estão localizadas não são unidades de predição de movimento afim. Portanto, C e D são removidas do conjunto e o conjunto determinado de unidades de predição candidatas inclui unidades de predição nas quais A, B e E estão localizadas.
[00164] Alternativamente, o método pode incluir: limitar a capacidade do conjunto e remover, do conjunto, uma unidade de predição candidata cuja ordem de verificação se classifica atrás de uma quantidade permissível de unidades de predição candidatas. Por exemplo, a quantidade de unidades de predição candidatas no conjunto é definida para um máximo de 2 e um conjunto que é determinado usando a maneira de determinação de S2111 de acordo com a ordem de verificação de S2112 é A, D, C, E e B. Portanto, C, E e B são removidos do conjunto e o conjunto determinado de unidades de predição candidatas inclui unidades de predição nas quais A e D estão localizadas. Deve ser entendido que a capacidade do conjunto pode ser definida para 3 ou 4 ou pode não ser limitada se a capacidade cai dentro de uma faixa que é maior do que 0, porém menor do que ou igual a uma quantidade máxima de unidades de predição candidatas determinadas usando a maneira de determinação de S2111.
[00165] Alternativamente, as duas maneiras de determinação do conjunto precedentes podem ser usadas em combinação.
[00166] S2122. Se nenhuma das unidades de predição candidatas é uma unidade de predição de movimento afim, codificar um elemento de sintaxe, onde o elemento de sintaxe é usado para indicar que o bloco da imagem a ser processada não reutiliza a informação de predição afim de um bloco adjacente e parar de executar uma etapa subsequente; se pelo menos uma das unidades de predição candidatas é uma unidade de predição de movimento afim, continuar a executar uma etapa subsequente.
[00167] S2123. Atribuir um valor de índice para cada unidade de predição candidata no conjunto de unidades de predição candidatas. Uma unidade de predição candidata indicada por cada valor de índice é predeterminada em um protocolo pelos lados de codificação e decodificação e é mantida consistente nos lados de codificação e decodificação.
[00168] S2124. Atravessar todas as unidades de predição candidatas no conjunto das unidades de predição candidatas e executar o processamento de acordo com as etapas S2200 a S2400 subsequentes para obter uma imagem predita do bloco da imagem a ser processada e completar a codificação para o bloco da imagem a ser processada; e comparar os ganhos de codificação feitos por vetores de predição candidatos selecionados e selecionar uma unidade de predição candidata com um maior ganho de codificação como uma unidade de predição de movimento afim citada por um bloco da imagem a ser processada.
[00169] Por exemplo, se o conjunto das unidades de predição candidatas inclui duas unidades de predição candidatas A e B, um índice de A é 0 e um índice de B é 1. Se um ganho que é obtido usando A como a unidade de predição de movimento afim citada pelo bloco da imagem a ser processada, para completar uma etapa de processamento subsequente, obter a imagem predita do bloco da imagem a ser processada e completar a codificação para o bloco da imagem a ser processada é a maior, A é a unidade de predição de movimento afim citada pelo bloco da imagem a ser processada; de outra forma, B é a unidade de predição de movimento afim citada pelo bloco da imagem a ser processada.
[00170] Deve ser entendido que para melhorar a velocidade da codificação, a etapa S2124 pode ser substituída por um algoritmo rápido. Por exemplo, algumas, porém não todas as unidades de predição candidatas no conjunto das unidades de predição candidatas podem ser selecionadas para a travessia. Alternativamente, todo o processo de codificação do bloco da imagem a ser processada não é concluído e, depois que as imagens preditas são obtidas, de acordo com a precisão das imagens preditas, uma unidade de predição que pode ser usada para obter uma imagem predita mais precisa é usada como a unidade de predição de movimento afim citada pelo bloco da imagem a ser processada.
[00171] S2200. Obter informação da posição e informação de movimento dos pontos de controle na unidade de predição de movimento afim. Essa etapa é consistente com S1300 e os detalhes não são descritos novamente.
[00172] S2300. Obter informação de movimento de um ponto do pixel no bloco da imagem de acordo com a informação da posição e a informação do movimento dos três pontos de controle selecionados precedentes. Essa etapa é consistente com S1400 e os detalhes não são descritos novamente.
[00173] S2400. Executar a compensação do movimento de acordo com uma direção da predição, um índice do quadro de referência e um vetor de movimento que são obtidos para encontrar um valor predito do ponto do pixel no bloco da imagem a ser processada, onde os valores preditos de todos os pontos do pixel formam a imagem predita da imagem a ser processada. Essa etapa é consistente com S1500 e os detalhes não são descritos novamente.
[00174] S2500. Comparar o desempenho de codificação da codificação que é completada usando a imagem predita obtida pelo uso das etapas S2100 a S2400 com o desempenho de codificação da codificação que é completada usando uma imagem predita obtida usando outros métodos e selecionar um método no qual um maior ganho de codificação é obtido, como um método para codificar uma imagem pre-dita.
[00175] Deve ser entendido que para melhorar a velocidade da codificação, S2500 pode também ser substituída pelo algoritmo rápido descrito em S2124 e os detalhes não são descritos novamente.
[00176] S2600. Se o método para obter uma imagem predita usando as etapas S2100 a S2400 é usado em S2500, codificar um elemento de sintaxe, onde o elemento de sintaxe é usado para indicar que o bloco da imagem a ser processada obtém a imagem predita usando o método para obter uma imagem predita usando as etapas S2100 a S2400 e codificar outro elemento de sintaxe, onde o elemento da sintaxe é usado para indicar a informação do índice da unidade de predição selecionada em S2124.
[00177] Deve ser entendido que o método de predição de imagem nessa modalidade da presente invenção, como uma tecnologia de predição, pode ser também tecnicamente combinado com outra tecnologia de predição na técnica anterior, tal como uma tecnologia usando múltiplos quadros de referência para predição e nenhuma limitação é imposta a isso.
[00178] Especificamente, o lado de codificação reutiliza a informação de movimento de uma primeira unidade de referência usando um mesmo modelo de predição de movimento afim e, portanto, obtém um vetor de movimento mais preciso de uma unidade da imagem atual sem a codificação e decodificação de uma diferença do vetor de movimento e sem busca extra por um vetor de movimento de alta precisão. Dessa maneira, a precisão da predição é melhorada e as complexidades da codificação e decodificação são mantidas, dessa forma melhorando o desempenho de codificação e decodificação.
[00179] O seguinte descreve em detalhes um dispositivo de decodificação de acordo com uma modalidade da presente invenção com referência à figura 5. Como mostrado na figura 5, o dispositivo de decodificação 10 inclui:
[00180] um primeiro módulo de obtenção 11, configurado para obter uma unidade de predição de movimento afim de uma unidade de imagem,
[00181] um segundo módulo de obtenção 12, configurado para obter informação de posição e informação de movimento da unidade de predição de movimento afim e
[00182] um terceiro módulo de obtenção 13, configurado para obter informação de movimento da unidade de imagem de acordo com informação da posição e a informação de movimento.
[00183] Especificamente, o lado de codificação reutiliza a informação de movimento de uma primeira unidade de referência usando um mesmo modelo de predição de movimento afim e, portanto, obtém um vetor de movimento mais preciso de uma unidade de imagem atual sem codificar e decodificar uma diferença do vetor de movimento e sem busca extra por um vetor de movimento de alta precisão. Dessa maneira, a precisão da predição é melhorada e as complexidades de codificação e decodificação são mantidas, dessa forma melhorando o desempenho de codificação e decodificação.
[00184] Nessa modalidade da presente invenção, opcionalmente, um fluxo de bits é lido e é analisado para obter um elemento de sintaxe, onde o elemento de sintaxe é usado para determinar se um bloco da imagem a ser processada reutiliza a informação de movimento do modelo afim de um bloco adjacente. Quando é determinado que o bloco da imagem a ser processada reutiliza a informação de movimento do modelo afim do bloco adjacente, o processo continua.
[00185] Nessa modalidade da presente invenção, opcionalmente, que o primeiro módulo de obtenção 11 é especificamente configurado para determinar a unidade de predição de movimento afim que é usada como uma referência para o bloco da imagem a ser processada inclui: determinar um conjunto de unidades de predição candidatas para o bloco da imagem a ser processada, verificar, em ordem preestabelecida, se uma unidade de predição no conjunto é uma unidade de predição de movimento afim e se for verificado que a unidade de predição é uma unidade de predição de movimento afim, parar a verificação e usar a unidade de predição como a unidade de predição de movimento afim citada pelo bloco da imagem a ser processada ou determinar um conjunto de unidades de predição candidatas para o bloco da imagem a ser processada, ler o fluxo de bits e analisar o fluxo de bits para obter um elemento de sintaxe, onde o elemento de sintaxe é usado para indicar a informação do índice da unidade de predição de movimento afim que fica no conjunto de unidades de predição candidatas e que é usada como uma referência para o bloco da imagem a ser processada e determinar, de acordo com a informação do índice, a unidade de predição de movimento afim que é usada como uma referência para o bloco da imagem a ser processada.
[00186] Nessa modalidade da presente invenção, opcionalmente, que o segundo módulo de obtenção 12 é especificamente configurado para obter informação da posição e informação de movimento dos pontos de controle na unidade de predição de movimento afim inclui: selecionar quaisquer três pontos de controle dos quatro pontos de controle na unidade de predição de movimento afim e obter a informação da posição, informação do vetor de movimento, direções de predição e índices do quadro de referência dos três pontos de controle ou sele-cionar quaisquer dois pontos de controle, que podem ser chamados como primeiro e segundo pontos de controle, dos quatro pontos de controle na unidade de predição de movimento afim e obter a informação da posição, informação do vetor de movimento, direções de predição e índices do quadro de referência dos dois pontos de controle e depois selecionar qualquer ponto de controle, que pode ser chamado como um terceiro ponto de controle, dos dois pontos de controle restantes e obter a informação da posição do terceiro ponto de controle. A informação do vetor de movimento do terceiro ponto de controle pode ser derivada de acordo com os primeiro e segundo pontos de controle na maneira seguinte:
[00187] onde X e y são respectivamente as coordenadas horizontal e vertical do terceiro ponto de controle, vX e vy são vetores de movimento horizontal e vertical correspondentes e X1 e X2 e y1 e y2 são respectivamente as coordenadas horizontal e vertical dos primeiro e segundo pontos de controle, onde y1 é igual a y2 e vX1 e vX2 e vy1 e vy2 são vetores de movimento horizontal e vertical correspondentes.
[00188] Pelo fato de que todos os pontos de pixel em uma mesma unidade de predição de movimento afim têm uma mesma direção de predição e um mesmo índice do quadro de referência, as direções de predição e os índices do quadro de referência de todos os pontos de controle são também os mesmos. O terceiro ponto de controle tem uma mesma direção de predição e índice do quadro de referência que esses dos primeiro e segundo pontos de controle.
[00189] Nessa modalidade da presente invenção, opcionalmente, que o terceiro módulo de obtenção 13 é especificamente configurado para obter informação de movimento de um ponto do pixel no bloco da imagem de acordo com a informação da posição e a informação de movimento dos três pontos de controle selecionados precedentes inclui: atribuir uma direção de predição e um índice do quadro de referência de qualquer um dos pontos de controle para o ponto do pixel no bloco da imagem a ser processada; ou analisar o fluxo de bits para obter informação do quadro de referência do bloco da imagem a ser processada, onde a informação do quadro de referência inclui uma direção de predição e um índice do quadro de referência.
[00190] Nessa modalidade da presente invenção, opcionalmente, que o terceiro módulo de obtenção 13 é configurado especificamente para obter informação de movimento de um ponto de pixel no bloco da imagem de acordo com a informação da posição e a informação de movimento dos três pontos de controle selecionados precedentes inclui: obter, de acordo com a informação de posição obtida e vetores de movimento dos quaisquer três pontos de controle, um vetor de movimento do ponto do pixel no bloco da imagem a ser processada. Isso é implementado na maneira seguinte:
[00191] onde x e y são respectivamente as coordenadas horizontal e vertical do ponto do pixel no bloco da imagem a ser processada, vx e vy são vetores de movimento horizontal e vertical correspondentes, x2 , x3 e x4 e y2 , y3 e y4 são respectivamente as coordenadas horizontal e vertical dos quaisquer três pontos de controle na unidade de predição de movimento afim e vx2 , vx3 e vx4 e vy2 , vy3 e vy4 são vetores de movimento horizontal e vertical correspondentes.
[00192] Alternativamente, os vetores de movimento de quaisquer dois pontos de controle no bloco da imagem a ser processada são obtidos de acordo com a informação de posição obtida e vetores movimento dos quaisquer três pontos de controle. Isso implementado na maneira seguinte:
[00193] onde x0 e x1 e y0 e y1 são respectivamente coordenadas horizontal e vertical dos dois pontos de controle no bloco da imagem a ser processada, y0 é igual a yi , vx0 e vxi e vy0 e vyi são os vetores de movimento horizontal e vertical correspondentes, x0 e y0 são respectivamente as coordenadas horizontal e vertical de um ponto de controle no bloco da imagem a ser processada, x2 , x3 e x4 y2 , y3 e y4 são respectivamente as coordenadas horizontal e vertical dos três pontos de controle na unidade de predição de movimento afim e vx2 , vx3 e vx4 e vy2 , vy3 e vy4 são os vetores de movimento horizontal e vertical correspondentes.
[00194] Um vetor de movimento do ponto do pixel no bloco da imagem a ser processada é obtido de acordo com os vetores de movimento obtidos dos dois pontos de controle. Isso é implementado na maneira seguinte:
[00195] onde x e y são respectivamente as coordenadas horizontal e vertical do ponto do pixel no bloco da imagem, vx e vy são os vetores de movimento horizontal e vertical correspondentes e x0 e x1 e y0 e y1 são respectivamente as coordenadas horizontal e vertical dos dois pontos de controle no bloco da imagem a ser processada, onde y0 é igual a y1 e VX0 e VX1 e Vy0 e Vy1 são os vetores de movimento horizontal e vertical correspondentes.
[00196] Alternativamente, os vetores de movimento de quaisquer dois pontos de controle no bloco da imagem a ser processada são obtidos de acordo com a informação de posição obtida e vetores movimento dos quaisquer três pontos de controle. Isso implementado na maneira seguinte:
[00197] onde x0 e x1 e y0 e y1 são respectivamente coordenadas horizontal e vertical dos dois pontos de controle no bloco da imagem a ser processada, y0 é igual a y1 , vx0 e vx1 e vy0 e vy1 são os vetores de movimento horizontal e vertical correspondentes, X2 , X3 e X4 e y2 , y3 e y4 são respectivamente as coordenadas horizontal e vertical dos três pontos de controle na unidade de predição de movimento afim e vX2 , vX3 e vX4 e vy2 , vy3 e vy4 são os vetores de movimento horizontal e vertical correspondentes.
[00198] O fluxo de bits é analisado para obter um residual dos vetores de movimento dos dois pontos de controle no bloco da imagem a ser processada e o residual é adicionado nos vetores de movimento obtidos dos dois pontos de controle, para obter vetores de movimento atualizados dos dois pontos de controle no bloco da imagem a ser processada.
[00199] Um vetor de movimento do ponto do pixel no bloco da imagem a ser processada é obtido de acordo com os vetores de movimento obtidos dos dois pontos de controle. Isso é implementado na maneira seguinte:
[00200] onde x e y são respectivamente as coordenadas horizontal e vertical do ponto do pixel no bloco da imagem a ser processada, vx e vy são os vetores de movimento horizontal e vertical correspondentes e x0 e x1 e y0 e y1 são respectivamente as coordenadas horizontal e vertical dos dois pontos de controle no bloco da imagem a ser processada, onde y0 é igual a y1 , e vx0 e vx1 e vy0 e vy1 são os vetores de movimento horizontal e vertical correspondentes.
[00201] Nessa modalidade da presente invenção, opcionalmente, o terceiro módulo de obtenção 13 é especificamente configurado para executar a compensação do movimento de acordo com a direção de predição, o índice do quadro de referência e o vetor de movimento que são obtidos para encontrar um valor predito do ponto do pixel no bloco da imagem a ser processada. Os valores preditos de todos os pontos do pixel formam uma imagem predita da imagem a ser processada.
[00202] Deve ser entendido que o dispositivo de codificação 10 de acordo com essa modalidade da presente invenção pode executar de forma correspondente o método para predição de imagem 1000 na modalidade da presente invenção e o precedente e outras operações e/ou funções dos módulos do dispositivo de codificação 10 são separadamente usados para realizar o procedimento correspondente do método na figura 1. Por brevidade, detalhes não são descritos aqui.
[00203] Portanto, o dispositivo de decodificação nessa modalidade da presente invenção reutiliza a informação de movimento de uma primeira unidade de referência usando um mesmo modelo de predição de movimento afim e, portanto, obtém um vetor de movimento mais preciso de uma unidade de imagem atual sem codificar e decodificar uma diferença do vetor de movimento e sem busca extra por um vetor de movimento de alta precisão. Dessa maneira, a precisão da predição é melhorada e as complexidades da codificação e decodificação são mantidas, dessa forma melhorando o desempenho da codificação e da decodificação.
[00204] O seguinte descreve em detalhes um dispositivo de codificação de acordo com uma modalidade da presente invenção com referência à figura 6. Como mostrado na figura 6, o dispositivo de codificação 20 inclui:
[00205] um primeiro módulo de obtenção 21, configurado para obter uma unidade de predição de movimento afim de uma unidade da imagem;
[00206] um segundo módulo de obtenção 22, configurado para obter a informação de posição e informação de movimento da unidade de predição de movimento afim e
[00207] um terceiro módulo de obtenção 23, configurado para obter informação de movimento da unidade de imagem de acordo com informação da posição e a informação de movimento.
[00208] Especificamente, o lado de codificação reutiliza a informação de movimento de uma primeira unidade de referência usando um mesmo modelo de predição de movimento afim e, portanto, obtém um vetor de movimento mais preciso de uma unidade de imagem atual sem codificar e decodificar uma diferença do vetor de movimento e sem busca extra por um vetor de movimento de alta precisão. Dessa maneira, a precisão da predição é melhorada e as complexidades da codificação e da decodificação são mantidas, dessa maneira melhorando o desempenho da codificação e da decodificação.
[00209] Nessa modalidade da presente invenção, opcionalmente,que o primeiro módulo de obtenção 21 é especificamente configurado para determinar a unidade de predição do movimento afim que é usada como uma referência para o bloco da imagem a ser processada inclui: determinar um conjunto de unidades de predição candidatas para o bloco da imagem a ser processada, verificar, em ordem preestabelecida, se uma unidade de predição no conjunto é uma unidade de predição de movimento afim e se for verificado que a unidade de predição é uma unidade de predição de movimento afim, parar a verificação e usar a unidade de predição como a unidade de predição de movimento afim citada pelo bloco da imagem a ser processada ou se nenhuma das unidades de predição candidatas é uma unidade de predição de movimento afim, codificar um elemento de sintaxe, onde o elemento de sintaxe é usado para indicar que o bloco da imagem a ser processada não reutiliza a informação de predição afim de um bloco adjacente e parar de executar uma etapa subsequente; de outra forma, continuar a executar uma etapa subsequente; ou determinar um conjunto de unidades de predição candidatas para o bloco da imagem a ser processada, se nenhuma das unidades de predição candidatas é uma unidade de predição de movimento afim, codificar um elemento de sintaxe, onde o elemento de sintaxe é usado para indicar que o bloco da imagem a ser processada não reutiliza a informação de predição afim de um bloco adjacente e parar de executar uma etapa subsequente; de outra forma, continuar a executar uma etapa subsequente e atribuir um valor de índice para cada unidade de predição candidata no conjunto de unidades de predição candidatas. Uma unidade de predição candidata representada por cada valor de índice é predeterminada em um protocolo pelos lados de codificação e decodificação e é mantida consistente nos lados de codificação e decodificação. Todas as unidades de predição candidatas no conjunto das unidades de predição candidatas são atravessadas para obter uma imagem predita do bloco da imagem a ser processada e completar a codificação para o bloco da imagem a ser processada. Os ganhos de codificação feitos pelos vetores de predição candidatos selecionados são comparados e uma unidade de predição candidata com um maior ganho de codificação é selecionada como uma unidade de predição de movimento afim citada por um bloco da imagem a ser processada.
[00210] Nessa modalidade da presente invenção, opcionalmente, o segundo módulo de obtenção 22 é especificamente configurado para obter informação de posição e informação de movimento dos pontos de controle na unidade de predição de movimento afim. Uma função do módulo é a mesma que essa do segundo módulo de obtenção 12 e os detalhes não são descritos novamente.
[00211] Nessa modalidade da presente invenção, opcionalmente, o terceiro módulo de obtenção 23 é especificamente configurado para obter informação de movimento de um ponto do pixel em um bloco da imagem de acordo com a informação da posição e a informação de movimento dos três pontos de controle selecionados precedentes. Uma função do módulo é a mesma que essa do terceiro módulo de obtenção 13 e os detalhes não são descritos novamente.
[00212] Nessa modalidade da presente invenção, opcionalmente, o terceiro módulo de obtenção 23 é especificamente configurado para executar a compensação do movimento de acordo com a direção da predição, o índice do quadro de referência e o vetor de movimento que são obtidos, para encontrar um valor predito do ponto do pixel no bloco da imagem a ser processada. Valores preditos de todos os pontos do pixel formam uma imagem predita da imagem a ser processada. Uma função do módulo é a mesma que essa do terceiro módulo de obtenção 13 e os detalhes não são descritos novamente.
[00213] Nessa modalidade da presente invenção, opcionalmente, o desempenho de codificação da codificação que é completada usando a imagem predita obtida por esse dispositivo é comparado com o desempenho de codificação da codificação que é completada usando uma imagem predita obtida usando outros dispositivos e um dispositivo pelo qual um maior ganho de codificação é obtido é selecionado como um dispositivo para codificar uma imagem predita.
[00214] Nessa modalidade da presente invenção, opcionalmente, se a imagem predita obtida usando esse dispositivo é usada, um elemento de sintaxe é codificado, onde o elemento de sintaxe é usado para indicar que o método para obter uma imagem predita usando esse dispositivo é usado e outro elemento de sintaxe é codificado, onde o elemento de sintaxe é usado para indicar a informação do índice da unidade de predição selecionada.
[00215] Deve ser entendido que o dispositivo de codificação 20 de acordo com essa modalidade da presente invenção pode executar de forma correspondente o método para predição de imagem 2000 na modalidade da presente invenção, e o precedente e outras operações e/ou funções dos módulos do dispositivo de codificação 20 são separadamente usados para realizar o procedimento correspondente do método na figura 4. Por brevidade, os detalhes não são descritos aqui.
[00216] Portanto, o dispositivo de codificação nessa modalidade da presente invenção reutiliza a informação de movimento de uma primeira unidade de referência usando um mesmo modelo de predição de movimento afim e, portanto, obtém um vetor de movimento mais preciso de uma unidade de imagem atual sem codificar e decodificar uma diferença do vetor de movimento e sem busca extra por um vetor de movimento de alta precisão. Dessa maneira, a precisão da predição é melhorada e as complexidades da codificação e da decodificação são mantidas, dessa forma melhorando o desempenho da codificação e da decodificação.
[00217] Como mostrado na figura 7, uma modalidade da presente invenção ainda apresenta um dispositivo de decodificação 30, incluindo um processador 31, uma memória 32 e um sistema de barramento 33. O processador 31 e a memória 32 são conectados usando o sistema de barramento 33, a memória 32 é configurada para armazenar uma instrução e o processador 31 é configurado para executar a instrução armazenada na memória 32. A memória 32 do dispositivo de decodificação 30 armazena o código do programa e o processador 31 pode invocar o código do programa armazenado na memória 32 para executar as operações seguintes: obter uma primeira unidade de referência de uma unidade da imagem, onde imagens preditas respectivas são obtidas para a unidade da imagem e a primeira unidade de referência usando um mesmo modelo afim; obter a informação de movimento das unidades de compensação do movimento básico em duas ou mais posições preestabelecidas na primeira unidade de referência e obter informação de movimento de uma unidade de compensação de movimento básico da unidade de imagem de acordo com a informação de movimento.
[00218] Portanto, o dispositivo de decodificação nessa modalidade da presente invenção reutiliza a informação de movimento da primeira unidade de referência usando um mesmo modelo de predição de movimento afim e, portanto, obtém um vetor de movimento mais preciso de uma unidade de imagem atual sem codificar e decodificar uma diferença do vetor de movimento e sem busca extra por um vetor de movimento de alta precisão. Dessa maneira, a precisão da predição é melhorada e as complexidades da codificação e da decodificação são mantidas, por meio disso melhorando o desempenho da codificação e da decodificação.
[00219] Deve ser entendido que nessa modalidade da presente invenção, o processador 31 pode ser uma unidade de processamento central (unidade de processamento central, “CPU” para encurtar) e o processador 31 pode ainda ser outro processador de uso geral, um processador de sinal digital (DSP), um circuito integrado de aplicação específica (ASIC), uma formação de portão programável no campo (FPGA) ou outro dispositivo lógico programável, um portão discreto ou dispositivo lógico de transistor, um componente de hardware discreto ou semelhante. O processador de uso geral pode ser um microprocessador ou o processador pode ser qualquer processador convencional e assim por diante.
[00220] A memória 32 pode incluir uma memória de leitura e uma memória de acesso aleatório e fornecer uma instrução e dados para o processador 31. Uma parte da memória 32 pode ainda incluir uma memória de acesso aleatório não volátil. Por exemplo, a memória 32 pode ainda armazenar informação do tipo do dispositivo.
[00221] O sistema de barramento 33, além de um barramento de dados, pode ainda incluir um barramento de força, um barramento de controle, um barramento do sinal de estado e assim por diante. Entretanto, com a finalidade de descrição clara, vários tipos de barramentos na figura são todos marcados como o sistema de barramento 33.
[00222] Durante a implementação, cada etapa dos métodos precedentes pode ser implementada por um circuito lógico integrado de hardware no processador 31 ou por uma instrução em uma forma de software. As etapas dos métodos revelados com referência às modalidades da presente invenção podem ser executadas e completadas diretamente usando um processador de hardware, ou podem ser executadas e completadas usando uma combinação de módulos de hardware e software no processador. O módulo de software pode ficar localizado em um meio de armazenamento desenvolvido no campo, tais como uma memória de acesso aleatório, uma memória flash, uma memória de leitura, uma memória de leitura programável, uma memória programável eletricamente apagável ou um registrador. O meio de armazenamento fica localizado na memória 32 e o processador 31 lê a informação na memória 32 e completa as etapas nos métodos precedentes em combinação com o hardware do processador 31. Para evitar a repetição, detalhes não são descritos aqui novamente.
[00223] Opcionalmente, em uma modalidade, o processador 31 é especificamente configurado para: ler um fluxo de bits e analisar o fluxo de bits para obter um elemento de sintaxe, onde o elemento de sintaxe é usado para determinar se um bloco da imagem a ser processada reutiliza a informação de movimento do modelo afim de um bloco adjacente. Quando é determinado que o bloco da imagem a ser processada reutiliza a informação de movimento do modelo afim do bloco adjacente, o processo continua.
[00224] Opcionalmente, em uma modalidade, que o processador 31 é especificamente configurado para determinar uma unidade de predição de movimento afim que é usada como uma referência para o bloco da imagem a ser processada inclui: determinar um conjunto de unidades de predição candidatas para o bloco da imagem a ser processada, verificar, em ordem preestabelecida, se uma unidade de predição no conjunto é uma unidade de predição de movimento afim e se for verificado que a unidade de predição é uma unidade de predição de movimento afim, parar a verificação e usar a unidade de predição como a unidade de predição do movimento afim citada pelo bloco da imagem a ser processada; ou determinar um conjunto de unidades de predição candidatas para o bloco da imagem a ser processada, ler o fluxo de bits e analisar o fluxo de bits para obter um elemento de sintaxe, onde o elemento de sintaxe é usado para indicar a informação do índice da unidade de predição de movimento afim que está no conjunto das unidades de predição candidatas e que é usada como uma referência para o bloco da imagem a ser processada e determinar, de acordo com a informação do índice, a unidade de predição de movimento afim que é usada como uma referência para o bloco da imagem a ser pro-cessada.
[00225] Opcionalmente, em uma modalidade, que o processador 31 é especificamente configurado para obter a informação da posição e a informação do movimento dos pontos de controle na unidade de predição de movimento afim inclui: selecionar quaisquer três pontos de controle dos quatro pontos de controle na unidade de predição de movimento afim e obter a informação da posição, informação do vetor de movimento, direções de predição e índices do quadro de referência dos três pontos de controle; ou selecionar quaisquer dois pontos de controle, que podem ser chamados como primeiro e segundo pontos de controle, dos quatro pontos de controle na unidade de predição de movimento afim e obter a informação da posição, informação do vetor de movimento, direções de predição e índices do quadro de referência dos dois pontos de controle, e depois selecionar qualquer ponto de controle, que pode ser chamado como um terceiro ponto de controle, dos dois pontos de controle restantes e obter a informação de posição do terceiro ponto de controle. A informação do vetor de movimento do terceiro ponto de controle pode ser derivada de acordo com os primeiro e segundo pontos de controle na maneira seguinte:
[00226] onde x e y são respectivamente as coordenadas horizontal e vertical do terceiro ponto de controle, y1 é igual a y2 , vx e vy são os vetores de movimento horizontal e vertical correspondentes, x1 e x2 e y1 e y2 são respectivamente as coordenadas horizontal e vertical dos primeiro e segundo pontos de controle e vx1 e vx2 e vy1 e vy2 são os vetores de movimento horizontal e vertical correspondentes.
[00227] Pelo fato de que todos os pontos do pixel em uma mesma unidade de predição de movimento afim têm uma mesma direção de predição e um mesmo índice do quadro de referência, as direções de predição e os índices do quadro de referência de todos os pontos de controle são também os mesmos. O terceiro ponto de controle tem uma mesma direção de predição e índice do quadro de referência que esses dos primeiro e segundo pontos de controle.
[00228] Opcionalmente, em uma modalidade, que o processador 31 é especificamente configurado para obter informação de movimento de um ponto do pixel no bloco de imagem de acordo com a informação da posição e a informação de movimento dos três pontos de controle selecionados precedentes inclui: atribuir uma direção de predição e um índice do quadro de referência de qualquer um dos pontos de controle para o ponto do pixel no bloco da imagem a ser processada; ou analisar o fluxo de bits para obter a informação do quadro de referência do bloco da imagem a ser processada, onde a informação do quadro de referência inclui uma direção de predição e um índice do quadro de referência.
[00229] Opcionalmente, em uma modalidade, que o processador 31 é especificamente configurado para obter informação de movimento de um ponto do pixel no bloco de imagem de acordo com a informação da posição e a informação de movimento dos três pontos de controle selecionados precedentes inclui: obter, de acordo com a informação de posição obtida e os vetores de movimento dos quaisquer três pontos de controle, um vetor de movimento do ponto do pixel no bloco da imagem a ser processada. Isso é implementado na maneira seguinte:
[00230] onde x e y são respectivamente as coordenadas horizontal e vertical do ponto do pixel no bloco da imagem a ser processada, vx e vy são vetores de movimento horizontal e vertical correspondentes, x2 , x3 e x4 e y2 , y3 e y4 são respectivamente as coordenadas horizontal e vertical dos quaisquer três pontos de controle na unidade de predição de movimento afim e vx2 , vx3 e vx4 e vy2 , vy3 e vy4 são os vetores de movimento horizontal e vertical correspondentes.
[00231] Alternativamente, os vetores de movimento de quaisquer dois pontos de controle no bloco da imagem a ser processada são obtidos de acordo com a informação de posição obtida e os vetores de movimento dos quaisquer três pontos de controle. Isso é implementado na maneira seguinte:
[00232] onde x0 e x1 e y0 e y1 são respectivamente as coordenadas horizontal e vertical dos dois pontos de controle no bloco da imagem a ser processada, y0 é igual a y1 , vx0 e vx1 e vy0 e vy1 são vetores de movimento horizontal e vertical correspondentes, x2 , x3 e x4 e y2 , y3 e y4 são respectivamente as coordenadas horizontal e vertical dos três pontos de controle na unidade de predição de movimento afim e vx2 , vx3 e vx4 e vy2 , vy3 e vy4 são os vetores de movimento horizontal e vertical correspondentes.
[00233] Um vetor de movimento do ponto do pixel no bloco da imagem a ser processada é obtido de acordo com os vetores de movimento obtidos dos dois pontos de controle. Isso é implementado na maneira seguinte:
[00234] onde x e y são respectivamente as coordenadas horizontal e vertical do ponto do pixel no bloco da imagem, vx e vy são vetores de movimento horizontal e vertical correspondentes e x0 e x1 e y0 e y1 são respectivamente coordenadas horizontal e vertical dos dois pontos de controle no bloco da imagem a ser processada, onde y0 é igual a y1 , e vx0 e vx1 e vy0 e vy1 são vetores de movimento horizontal e vertical correspondentes.
[00235] Alternativamente, os vetores de movimento de quaisquer dois pontos de controle no bloco da imagem a ser processada são obtidos de acordo com a informação de posição obtida e os vetores de movimento dos quaisquer três pontos de controle. Isso é implementado na maneira seguinte:
[00236] onde x0 e x1 e y0 e y1 são respectivamente as coordenadas horizontal e vertical dos dois pontos de controle no bloco da imagem a ser processada, y0 é igual a y1 , vx0 e vx1 e vy0 e vy1 são vetores de movimento horizontal e vertical correspondentes, x2 , x3 e x4 e y2 , y3 e y4 são respectivamente coordenadas horizontal e vertical dos três pontos de controle na unidade de predição de movimento afim e vx2 , vx3 e vx4 e vy2 , vy3 e vy4 são vetores de movimento horizontal e vertical correspondentes.
[00237] O fluxo de bits é analisado para obter um residual dos vetores de movimento dos dois pontos de controle no bloco da imagem a ser processada, e o residual é adicionado nos vetores de movimento obtidos dos dois pontos de controle, para obter vetores de movimento atualizados dos dois pontos de controle no bloco da imagem a ser processada.
[00238] Um vetor de movimento do ponto do pixel no bloco da imagem a ser processada é obtido de acordo com os vetores de movimento obtidos dos dois pontos de controle. Isso é implementado na maneira seguinte:
[00239] onde x e y são respectivamente as coordenadas horizontal e vertical do ponto do pixel no bloco da imagem a ser processada, vx e vy são vetores de movimento horizontal e vertical correspondentes e x0 e x1 e y0 e y1 são respectivamente as coordenadas horizontal e vertical dos dois pontos de controle no bloco da imagem a ser processada, onde y0 é igual a y1 e vx0 e vx1 e vy0 e vy1 são vetores de movimento horizontal e vertical correspondentes.
[00240] Opcionalmente, em uma modalidade, o processador 31 é especificamente configurado para: executar a compensação do movimento de acordo com a direção de predição, o índice do quadro de referência e o vetor de movimento que são obtidos, para encontrar um valor predito do ponto do pixel no bloco da imagem a ser processada. Valores preditos de todos os pontos do pixel formam uma imagem predita da imagem a ser processada.
[00241] Deve ser entendido que o dispositivo de decodificação 30 de acordo com essa modalidade da presente invenção pode corresponder com o dispositivo de decodificação 10 na modalidade da presente invenção e pode corresponder com uma entidade principal correspondente que executa o método 1000 na modalidade da presente invenção. O precedente e outras operações e/ou funções dos módulos do dispositivo de decodificação 30 são separadamente usados para realizar o procedimento correspondente do método na figura 1. Por brevidade, detalhes não são descritos aqui.
[00242] Portanto, o dispositivo de decodificação nessa modalidade da presente invenção reutiliza a informação de movimento da primeira unidade de referência usando um mesmo modelo de predição de movimento afim e, portanto, obtém um vetor de movimento mais preciso de uma unidade de imagem atual sem codificar e decodificar uma diferença do vetor de movimento e sem busca extra por um vetor de movimento de alta precisão. Dessa maneira, a precisão da predição é melhorada e as complexidades da codificação e da decodificação são mantidas, por meio disso melhorando o desempenho da codificação e da decodificação.
[00243] Como mostrado na figura 8, uma modalidade da presente invenção ainda apresenta um dispositivo de codificação 40, incluindo um processador 41, uma memória 42 e um sistema de barramento 43. O processador 41 e a memória 42 são conectados usando o sistema de barramento 43, a memória 42 é configurada para armazenar uma instrução e o processador 41 é configurado para executar a instrução armazenada na memória 42. A memória 42 do dispositivo de codificação 40 armazena o código do programa e o processador 41 pode invocar o código do programa armazenado na memória 42 para executar as operações seguintes: obter uma primeira unidade de referência de uma unidade de imagem, onde imagens preditas respectivas são obtidas para a unidade da imagem e a primeira unidade de referência usando um mesmo modelo afim; obter informação de movimento das unidades de compensação do movimento básico em duas ou mais posições preestabelecidas na primeira unidade de referência e obter informação de movimento de uma unidade de compensação de movimento básico da unidade de imagem de acordo com a informação de movimento.
[00244] Portanto, o dispositivo de codificação nessa modalidade da presente invenção reutiliza a informação de movimento da primeira unidade de referência usando um mesmo modelo de predição de movimento afim e, portanto, obtém um vetor de movimento mais preciso de uma unidade de imagem atual sem codificar e decodificar uma diferença do vetor de movimento e sem busca extra por um vetor de movimento de alta precisão. Dessa maneira, a precisão da predição é melhorada e as complexidades da codificação e da decodificação são mantidas, por meio disso melhorando o desempenho da codificação e da decodificação.
[00245] Deve ser entendido que nessa modalidade da presente invenção, o processador 41 pode ser uma unidade de processamento central (unidade de processamento central, “CPU” para encurtar) e o processador 41 pode ainda ser outro processador de uso geral, um processador de sinal digital (DSP), um circuito integrado de aplicação específica (ASIC), uma formação de portão programável no campo (FPGA) ou outro dispositivo lógico programável, um portão discreto ou dispositivo lógico de transistor, um componente de hardware discreto ou semelhante. O processador de uso geral pode ser um microprocessador ou o processador pode ser qualquer processador convencional e assim por diante.
[00246] A memória 42 pode incluir uma memória de leitura e uma memória de acesso aleatório e fornecer uma instrução e dados para o processador 41. Uma parte da memória 42 pode ainda incluir uma memória de acesso aleatório não volátil. Por exemplo, a memória 42 pode ainda armazenar informação do tipo do dispositivo.
[00247] O sistema de barramento 43, além de um barramento de dados, pode ainda incluir um barramento de força, um barramento de controle, um barramento de sinal de estado e assim por diante. Entretanto, com a finalidade de descrição clara, vários tipos de barramentos na figura são todos marcados como o sistema de barramento 43.
[00248] Durante a implementação, cada etapa dos métodos precedentes pode ser implementada por um circuito lógico integrado de hardware no processador 41 ou por uma instrução em uma forma de software. As etapas dos métodos revelados com referência às modalidades da presente invenção podem ser diretamente executadas e completadas usando um processador de hardware ou podem ser executadas e completadas usando uma combinação de módulos de hardware e software no processador. O módulo de software pode ficar localizado em um meio de armazenamento desenvolvido no campo, tais como uma memória de acesso aleatório, uma memória flash, uma memória de leitura, uma memória de leitura programável, uma memória programável eletricamente apagável ou um registrador. O meio de armazenamento fica localizado na memória 42 e o processador 41 lê a informação na memória 42 e completa as etapas nos métodos precedentes em combinação com o hardware do processador 41. Para evitar a repetição, os detalhes não são descritos aqui novamente.
[00249] Opcionalmente, em uma modalidade, que o processador 41 é especificamente configurado para determinar uma unidade de predição de movimento afim que é usada como uma referência para um bloco da imagem a ser processada inclui: determinar um conjunto de unidades de predição candidatas para o bloco da imagem a ser processada, verificar, em ordem preestabelecida, se uma unidade de predição no conjunto é uma unidade de predição de movimento afim e se for verificado que a unidade de predição é uma unidade de predição de movimento afim, parar a verificação e usar a unidade de predição como a unidade de predição de movimento afim citada pelo bloco da imagem a ser processada, ou se nenhuma das unidades de predição candidatas é uma unidade de predição de movimento afim, codificar um elemento de sintaxe, onde o elemento de sintaxe é usado para indicar que o bloco da imagem a ser processada não reutiliza a informação de predição afim de um bloco adjacente e parar de executar uma etapa subsequente; de outra forma, continuar a executar uma etapa subsequente; ou determinar um conjunto de unidades de predição candidatas para o bloco da imagem a ser processada, se nenhuma das unidades de predição candidatas é uma unidade de predição de movimento afim, codificar um elemento de sintaxe, onde o elemento de sintaxe é usado para indicar que o bloco da imagem a ser processada não reutiliza a informação de predição afim de um bloco adjacente e parar de executar uma etapa subsequente; de outra forma continuar a executar uma etapa subsequente e atribuir um valor de índice para cada unidade de predição candidata no conjunto de unidades de predição candidatas. Uma unidade de predição candidata representada por cada valor de índice é predeterminada em um protocolo pelos lados de codificação e decodificação e mantida consistente nos lados de codificação e decodificação. Todas as unidades de predição candidatas no conjunto de unidades de predição candidatas são atravessadas para obter uma imagem predita do bloco da imagem a ser processada, e completar a codificação para o bloco da imagem a ser processada. Os ganhos de codificação feitos por vetores de predição candidatos selecionados são comparados e uma unidade de predição candidata com um maior ganho de codificação é selecionada como uma unidade de predição de movimento afim citada por um bloco da imagem a ser processada.
[00250] Opcionalmente, em uma modalidade, o processador 41 é especificamente configurado para obter a informação da posição e a informação de movimento dos pontos de controle na unidade de predição de movimento afim. A função do módulo é a mesma que essa do processador 31 e os detalhes não são descritos novamente.
[00251] Opcionalmente, em uma modalidade, o processador 41 é configurado especificamente para obter informação de movimento de um ponto do pixel no bloco da imagem de acordo com a informação da posição e a informação de movimento dos três pontos de controle selecionados. A função do módulo é a mesma que essa do processador 31 e os detalhes não são descritos novamente.
[00252] Opcionalmente, em uma modalidade, o processador 41 é especificamente configurado para executar a compensação do movimento de acordo com a direção da predição, o índice do quadro de referência e o vetor de movimento que são obtidos, para encontrar um valor predito do ponto do pixel no bloco da imagem a ser processada. Valores preditos de todos os pontos de pixel formam uma imagem predita da imagem a ser processada. A função do módulo é a mesma que essa do processador 31, e os detalhes não são descritos novamente.
[00253] Opcionalmente, em uma modalidade, o processador 41 é especificamente configurado para: comparar o desempenho de codificação da codificação que é completada usando a imagem predita obtida por esse dispositivo com o desempenho de codificação da codificação que é completada usando uma imagem predita obtida usando outro dispositivo, e selecionar um dispositivo pelo qual um maior ganho de codificação é obtido, como um dispositivo para codificar uma imagem predita.
[00254] Opcionalmente, em uma modalidade, o processador 41 é especificamente configurado para: se a imagem predita obtida usando esse dispositivo é usada, codificar um elemento de sintaxe, onde o elemento de sintaxe é usado para indicar que o método para obter uma imagem predita usando esse dispositivo é usado e codificar outro elemento de sintaxe, onde o elemento de sintaxe é usado para indicar a informação do índice da unidade de predição selecionada.
[00255] Deve ser entendido que o dispositivo de codificação 40 de acordo com essa modalidade da presente invenção pode corresponder com o dispositivo de codificação 20 na modalidade da presente invenção e pode corresponder com uma entidade principal correspondente que executa o método 2000 na modalidade da presente invenção. O precedente e outras operações e/ou funções dos módulos do dispositivo de codificação 30 são separadamente usados para realizar o procedimento correspondente do método na figura 4. Por brevidade, os detalhes não são descritos aqui.
[00256] Portanto, o dispositivo de codificação nessa modalidade da presente invenção reutiliza a informação de movimento da primeira unidade de referência usando um mesmo modelo de predição de movimento afim e, portanto, obtém um vetor de movimento mais preciso de uma unidade de imagem atual sem codificar e decodificar uma diferença do vetor de movimento e sem busca extra por um vetor de movimento de alta precisão. Dessa maneira, a precisão da predição é melhorada e as complexidades da codificação e da decodificação são mantidas, por meio disso melhorando o desempenho da codificação e da decodificação.
[00257] Deve ser entendido que “uma modalidade” ou “uma modalidade” mencionada em todo o relatório descritivo significa que recursos particulares, estruturas ou características relacionadas com a modalidade são incluídos em pelo menos uma modalidade da presente invenção. Portanto, “em uma modalidade” ou “em uma modalidade” aparecendo por todo o relatório descritivo não se refere a uma mesma modalidade. Além disso, esses recursos particulares, estruturas ou características podem ser combinados em uma ou mais modalidades usando qualquer maneira apropriada.
[00258] Deve ser entendido que números de sequência dos processos precedentes não significam sequências de execução em várias modalidades da presente invenção. As sequências de execução dos processos devem ser determinadas de acordo com as funções e a lógica interna dos processos e não devem ser interpretadas como qualquer limitação nos processos de implementação das modalidades da presente invenção.
[00259] Além disso, os termos “sistema” e “rede” podem ser usados de forma permutável nesse relatório descritivo. Deve ser entendido que o termo “e/ou” nesse relatório descritivo descreve somente uma relação de associação para descrever objetos associados e representa que três relações podem existir. Por exemplo, A e/ou B pode representar os três casos seguintes: somente A existe, ambos A e B existem e somente B existe. Além disso, o caractere “/” nesse relatório descritivo geralmente indica uma relação “ou” entre os objetos associados.
[00260] Deve ser entendido que nas modalidades desse pedido, “B correspondendo com A” indica que B está associado com A e B pode ser determinado de acordo com A. Entretanto, também deve ser entendido que a determinação de A de acordo com B não significa que B é determinado de acordo com A somente; isto é, B pode também ser determinado de acordo com A e/ou outra informação.
[00261] Um versado na técnica pode ficar ciente que, em combinação com os exemplos descritos nas modalidades reveladas nesse relatório descritivo, unidades e etapas do algoritmo podem ser implementadas por hardware eletrônico, software de computador ou uma combinação desses. Para descrever claramente a capacidade de troca entre o hardware e o software, o precedente descreveu geralmente composições e etapas de cada exemplo de acordo com as funções. Se as funções são executadas por hardware ou software depende das aplicações particulares e condições de restrição de projeto das soluções técnicas. Um versado na técnica pode usar métodos diferentes para realizar as funções descritas para cada aplicação particular, mas não deve ser considerado que a implementação vai além do escopo da presente invenção.
[00262] Pode ser claramente entendido por um versado na técnica, para finalidade de descrição conveniente e breve, que para um processo de trabalho detalhado do sistema precedente, aparelho e unidade, referência pode ser feita a um processo correspondente nas modalidades do método precedente e os detalhes não são descritos aqui novamente.
[00263] Nas várias modalidades fornecidas nesse pedido, deve ser entendido que o sistema revelado, aparelho e método podem ser implementados em outras maneiras. Por exemplo, a modalidade do aparelho descrito é meramente um exemplo. Por exemplo, a divisão da unidade é meramente uma divisão de função lógica e pode ser outra divisão em implementação real. Por exemplo, uma pluralidade de unidades ou componentes pode ser combinada ou integrada em outro sistema, ou alguns recursos podem ser ignorados ou não executados. Além disso, os acoplamentos mútuos discutidos ou exibidos ou acoplamentos diretos ou conexões de comunicação podem ser implementados usando algumas interfaces. Os acoplamentos indiretos ou as conexões de comunicação entre os aparelhos ou unidades podem ser implementados em formas eletrônicas, mecânicas ou outras.
[00264] As unidades descritas como partes separadas podem ou não ser fisicamente separadas e as partes exibidas como unidades podem ou não ser unidades físicas, podem estar localizadas em uma posição ou podem estar distribuídas em uma pluralidade de unidades de rede. Algumas ou todas as unidades podem ser selecionadas de acordo com os requisitos reais para atingir os objetivos das soluções das modalidades.
[00265] Além disso, unidades funcionais nas modalidades da presente invenção podem ser integradas em uma unidade de processamento, ou cada uma das unidades pode existir sozinha fisicamente ou duas ou mais unidades são integradas em uma unidade.
[00266] Quando a unidade integrada é implementada na forma de uma unidade funcional de software e vendida ou usada como um produto independente, a unidade integrada pode ser armazenada em um meio de armazenamento legível por computador. Com base em tal entendimento, as soluções técnicas da presente invenção essencialmente, ou a parte que contribui para a técnica anterior, ou algumas das soluções técnicas podem ser implementadas em uma forma de um produto de software. O produto de software é armazenado em um meio de armazenamento e inclui várias instruções para instruir um dispositivo de computador (que pode ser um computador pessoal, um servidor ou um dispositivo de rede) para executar todas ou algumas das etapas dos métodos descritos nas modalidades da presente invenção. O meio de armazenamento precedente inclui: qualquer meio que possa armazenar código do programa, tal como uma unidade flash USB, um disco rígido removível, uma memória de leitura (memória de leitura, ROM para encurtar), uma memória de acesso aleatório (memória de acesso aleatório, RAM para encurtar), um disco magnético ou um disco ótico.
[00267] As descrições precedentes são meramente implementações específicas da presente invenção, mas não são planejadas para limitar o escopo de proteção da presente invenção. Qualquer variação ou substituição prontamente imaginada por um versado na técnica dentro do escopo técnico revelado na presente invenção deve se situar dentro do escopo de proteção da presente invenção. Portanto, o escopo de proteção da presente invenção deve ficar sujeito ao escopo de proteção das concretizações.
Claims (18)
1. Método de predição de imagem, caracterizado pelo fato de que compreende: obter (S1200) uma primeira unidade de referência de uma unidade de imagem, em que um mesmo modelo afim é aplicado à unidade de imagem e à primeira unidade de referência; obter (S1300) informação de movimento de dois ou mais pontos de controle na primeira unidade de referência; e obter (S1400) informação de movimento de um ponto de pixel ou matriz de pixel da unidade de imagem de acordo com a informação de movimento dos referidos dois ou mais pontos de controle na primeira unidade de referência.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a obtenção de uma primeira unidade de referência de uma unidade de imagem compreende: verificar, em ordem preestabelecida, se uma imagem predita é obtida para uma unidade de predição adjacente à unidade de imagem ao usar o modelo afim; e se sim, parar a verificação e usar a unidade de predição como a primeira unidade de referência.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o ponto de controle é uma posição de ponto de canto de unidade na primeira unidade de referência.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que a obtenção de informação de movimento de dois ou mais pontos de controle na primeira unidade de referência compreende: obter informação de movimento de três pontos de controle na primeira unidade de referência; e correspondentemente, a obtenção de informação de movimento de um ponto de pixel ou matriz de pixel da unidade de imagem de acordo com a informação de movimento dos referidos dois ou mais pontos de controle compreende: obter uma direção de predição, um índice de quadro de referência, e um vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem de acordo com direções de predição, índices de quadro de referência, e vetores de movimento dos três pontos de controle na primeira unidade de referência.
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que a obtenção de uma direção de predição, um índice de quadro de referência, e um vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem de acordo com direções de predição, índices de quadro de referência, e vetores de movimento dos três pontos de controle na primeira unidade de referência compreendem: atribuir uma mesma direção de predição ao ponto de pixel ou matriz de pixel da unidade de imagem e os três pontos de controle na primeira unidade de referência; atribuir um mesmo índice de quadro de referência ao ponto de pixel ou matriz de pixel da unidade de imagem e os três pontos de controle na primeira unidade de referência; e obter o vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem por meio de interpolação de acordo com os vetores de movimento dos três pontos de controle na primeira unidade de referência.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que a obtenção do vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem por meio de interpolação de acordo com os vetores de movimento dos três pontos de controle na primeira unidade de referência é implementada na seguinte maneira: em que x e y representam respectivamente coordenadas horizontal e vertical do ponto de pixel ou matriz de pixel da unidade de imagem, vx e vy representam vetores de movimento horizontal e vertical correspondentes, xi , x2, e x3 e yi , y2, e y3 representam respectivamente coordenadas horizontal e vertical dos três pontos de controle na primeira unidade de referência, e vxi, vx2 e, vx3 e vyi , vy2 , e vy3 representam vetores de movimento horizontal e vertical correspondentes.
7. Método, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que a obtenção de informação de movimento de dois ou mais pontos de controle na primeira unidade de referência compreende: obter informação de movimento de dois pontos de controle na primeira unidade de referência; e correspondentemente, obtenção de informação de movimento de um ponto de pixel ou matriz de pixel da unidade de imagem de acordo com a informação de movimento dos referidos dois ou mais pontos de controle compreende: obter uma direção de predição, um índice de quadro de referência, e um vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem de acordo com direções de predição, índices de quadro de referência, e vetores de movimento dos dois pontos de controle na primeira unidade de referência.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que a obtenção de uma direção de predição, um índice de quadro de referência, e um vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem de acordo com direções de predição, índices de quadro de referência, e vetores de movimento de dois pontos de controle na primeira unidade de referência compreende: atribuir uma mesma direção de predição ao ponto de pixel ou matriz de pixel da unidade de imagem e os dois pontos de controle na primeira unidade de referência; atribuir um mesmo índice de quadro de referência ao ponto de pixel ou matriz de pixel da unidade de imagem e os dois pontos de controle na primeira unidade de referência; e obter o vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem por meio de interpolação de acordo com os vetores de movimento dos dois pontos de controle na primeira unidade de referência.
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que a obtenção do vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem por meio de interpolação de acordo com os vetores de movimento dos dois pontos de controle na primeira unidade de referência é implementada na seguinte maneira:
em que x e y representam respectivamente coordenadas horizontal e vertical do ponto de pixel ou matriz de pixel da unidade de imagem, vx e vy representam vetores de movimento horizontal e vertical correspondentes, x1 e x2 e y1 e y2 representam respectivamente coordenadas horizontal e vertical dos dois pontos de controle na primeira unidade de referência, e vx1 e vx2 e vy1 e vy2 representam vetores de movimento horizontal e vertical correspondentes.
10. Dispositivo de predição de imagem (10, 20), caracterizado por: um primeiro módulo de obtenção (11, 21), configurado para obter uma primeira unidade de referência de uma unidade de imagem, em que um mesmo modelo afim é aplicado à unidade de imagem e à primeira unidade de referência; um segundo módulo de obtenção (12, 22), configurado para obter informação de movimento de dois ou mais pontos de controle na primeira unidade de referência; e um terceiro módulo de obtenção (13, 23), configurado para obter informação de movimento de um ponto de pixel ou matriz de pixel da unidade de imagem de acordo com a informação de movimento dos referidos dois ou mais pontos de controle na primeira unidade de referência.
11. Dispositivo (10, 20), de acordo com a reivindicação 10, caracterizado pelo fato de que o primeiro módulo de obtenção (11, 21) é configurado para: verificar, em ordem predefinida, se uma imagem predita é obtida para uma unidade de predição adjacente à unidade de imagem ao usar o modelo afim; e se sim, parar a verificação e usar a unidade de predição como a primeira unidade de referência.
12. Dispositivo (10, 20), de acordo com a reivindicação 10, caracterizado pelo fato de que o ponto de controle é uma posição de ponto de canto de unidade na primeira unidade de referência.
13. Dispositivo (10, 20), de acordo com qualquer uma das reivindicações 10 a 12, caracterizado pelo fato de que o segundo módulo de obtenção (12, 22) é configurado para: obter informação de movimento de três pontos de controle na primeira unidade de referência; e correspondentemente, a obtenção de informação de movimento de um ponto de pixel ou matriz de pixel da unidade de imagem de acordo com a informação de movimento dos referidos dois ou mais pontos de controle compreende: obter uma direção de predição, um índice de quadro de referência, e um vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem de acordo com direções de predição, índices de quadro de referência, e vetores de movimento dos três pontos de controle na primeira unidade de referência.
14. Dispositivo (10, 20), de acordo com a reivindicação 13, caracterizado pelo fato de que o terceiro módulo de obtenção (13, 23) é ainda configurado para: atribuir uma mesma direção de predição ao ponto de pixel ou matriz de pixel da unidade de imagem e os três pontos de controle na primeira unidade de referência; atribuir um mesmo índice de quadro de referência ao ponto de pixel ou matriz de pixel da unidade de imagem e os três pontos de controle na primeira unidade de referência; e obter o vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem por meio de interpolação de acordo com os vetores de movimento dos três pontos de controle na primeira unidade de referência.
15. Dispositivo (10, 20), de acordo com a reivindicação 14, caracterizado pelo fato de que a obtenção do vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem por meio de interpolação de acordo com os vetores de movimento dos três pontos de controle na primeira unidade de referência é implementada na maneira seguinte: em que x e y representam respectivamente coordenadas horizontal e vertical do ponto de pixel ou matriz de pixel da unidade de imagem, vx e vy representam vetores de movimento horizontal e vertical correspondentes, xi , x2, e x3 e yi , y2, e y3 representam respectivamente coordenadas horizontal e vertical dos três pontos de controle na primeira unidade de referência, e vxi, vx2 , e vx3 e vyi , vy2 , e vy3 representam vetores de movimento horizontal e vertical correspondentes.
16. Dispositivo (10, 20), de acordo com qualquer uma das reivindicações 10 a 12, caracterizado pelo fato de que o terceiro módulo de obtenção (13, 23) é configurado para: obter informação de movimento de dois pontos de controle na primeira unidade de referência; e correspondentemente, a obtenção de informação de movimento de um ponto de pixel ou matriz de pixel da unidade de imagem de acordo com a informação de movimento dos referidos dois ou mais pontos de controle compreende: obter uma direção de predição, um índice de quadro de referência, e um vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem de acordo com direções de predição, índices de quadro de referência, e vetores de movimento dos dois pontos de controle na primeira unidade de referência.
17. Dispositivo (10, 20), de acordo com a reivindicação 16, caracterizado pelo fato de que o terceiro módulo de obtenção (13, 23) é ainda configurado para: atribuir uma mesma direção de predição ao ponto de pixel ou matriz de pixel da unidade de imagem e os dois pontos de controle na primeira unidade de referência; atribuir um mesmo índice de quadro de referência ao ponto de pixel ou matriz de pixel da unidade de imagem e os dois pontos de controle na primeira unidade de referência; e obter o vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem por meio de interpolação de acordo com os vetores de movimento dos dois pontos de controle na primeira unidade de referência.
18. Dispositivo (10, 20), de acordo com a reivindicação 17, caracterizado pelo fato de que a obtenção do vetor de movimento do ponto de pixel ou matriz de pixel da unidade de imagem por meio de interpolação de acordo com os vetores de movimento dos dois pontos de controle na primeira referência unidade é implementada da seguinte maneira:em que x e y representam respectivamente coordenadas horizontal e vertical do ponto de pixel ou matriz de pixel da unidade de imagem, vx e vy representam vetores de movimento horizontal e vertical correspondentes, xi e x2 e yi e y2 representam respectivamente coordenadas horizontal e vertical dos dois pontos de controle na primeira unidade de referência, e vxi e vx2 e vyi e vy2 representam vetores de movimento horizontal e vertical correspondentes.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BR122020023970-0A BR122020023970B1 (pt) | 2015-08-29 | 2015-12-31 | Método para inter-predição de um bloco de imagem atual e decodificador |
BR122020023963-8A BR122020023963B1 (pt) | 2015-08-29 | 2015-12-31 | Método para inter-predição de um bloco de imagem atual, codificador e decodificador |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510543542.8A CN105163116B (zh) | 2015-08-29 | 2015-08-29 | 图像预测的方法及设备 |
CN201510543542.8 | 2015-08-29 | ||
PCT/CN2015/100091 WO2017036045A1 (zh) | 2015-08-29 | 2015-12-31 | 图像预测的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
BR112018003653A2 BR112018003653A2 (pt) | 2018-09-25 |
BR112018003653B1 true BR112018003653B1 (pt) | 2024-03-12 |
Family
ID=54803857
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR122020023963-8A BR122020023963B1 (pt) | 2015-08-29 | 2015-12-31 | Método para inter-predição de um bloco de imagem atual, codificador e decodificador |
BR112018003653-6A BR112018003653B1 (pt) | 2015-08-29 | 2015-12-31 | Método de predição de imagem e dispositivo de predição de imagem |
BR122020023970-0A BR122020023970B1 (pt) | 2015-08-29 | 2015-12-31 | Método para inter-predição de um bloco de imagem atual e decodificador |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR122020023963-8A BR122020023963B1 (pt) | 2015-08-29 | 2015-12-31 | Método para inter-predição de um bloco de imagem atual, codificador e decodificador |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR122020023970-0A BR122020023970B1 (pt) | 2015-08-29 | 2015-12-31 | Método para inter-predição de um bloco de imagem atual e decodificador |
Country Status (21)
Country | Link |
---|---|
US (3) | US10880543B2 (pt) |
EP (2) | EP3331242B1 (pt) |
JP (2) | JP6669855B2 (pt) |
KR (4) | KR102408278B1 (pt) |
CN (3) | CN105163116B (pt) |
AU (5) | AU2015407876B2 (pt) |
BR (3) | BR122020023963B1 (pt) |
DK (1) | DK3331242T3 (pt) |
ES (1) | ES2946901T3 (pt) |
FI (1) | FI3331242T3 (pt) |
HR (1) | HRP20230509T1 (pt) |
HU (1) | HUE063094T2 (pt) |
LT (1) | LT3331242T (pt) |
MX (3) | MX2018002414A (pt) |
PL (1) | PL3331242T3 (pt) |
PT (1) | PT3331242T (pt) |
RU (3) | RU2714362C2 (pt) |
SG (3) | SG10202106076VA (pt) |
SI (1) | SI3331242T1 (pt) |
WO (1) | WO2017036045A1 (pt) |
ZA (2) | ZA202109388B (pt) |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105163116B (zh) | 2015-08-29 | 2018-07-31 | 华为技术有限公司 | 图像预测的方法及设备 |
CN109274974B (zh) | 2015-09-29 | 2022-02-11 | 华为技术有限公司 | 图像预测的方法及装置 |
GB2561507B (en) * | 2016-01-07 | 2021-12-22 | Mediatek Inc | Method and apparatus for affine merge mode prediction for video coding system |
CN111526361B (zh) | 2016-02-06 | 2022-05-13 | 华为技术有限公司 | 图像编解码方法及装置 |
ES2737841B1 (es) * | 2016-02-25 | 2021-07-27 | Kt Corp | Método y aparato para procesar señales de vídeo |
WO2017147765A1 (en) * | 2016-03-01 | 2017-09-08 | Mediatek Inc. | Methods for affine motion compensation |
CN113612994B (zh) * | 2016-03-15 | 2023-10-27 | 寰发股份有限公司 | 具有仿射运动补偿的视频编解码的方法 |
WO2017156705A1 (en) * | 2016-03-15 | 2017-09-21 | Mediatek Inc. | Affine prediction for video coding |
KR20240025714A (ko) * | 2016-03-24 | 2024-02-27 | 엘지전자 주식회사 | 비디오 코딩 시스템에서 인터 예측 방법 및 장치 |
US10939096B2 (en) * | 2016-05-05 | 2021-03-02 | Interdigital Madison Patent Holdings, Sas | Control-point based intra direction representation for intra coding |
CN109076234A (zh) * | 2016-05-24 | 2018-12-21 | 华为技术有限公司 | 图像预测方法和相关设备 |
EP3449630B1 (en) * | 2016-05-28 | 2024-07-10 | Mediatek Inc. | Method and apparatus of current picture referencing for video coding |
US10631002B2 (en) | 2016-09-30 | 2020-04-21 | Qualcomm Incorporated | Frame rate up-conversion coding mode |
CN108271023B (zh) * | 2017-01-04 | 2021-11-19 | 华为技术有限公司 | 图像预测方法和相关设备 |
US10701390B2 (en) | 2017-03-14 | 2020-06-30 | Qualcomm Incorporated | Affine motion information derivation |
WO2019004283A1 (ja) * | 2017-06-28 | 2019-01-03 | シャープ株式会社 | 動画像符号化装置及び動画像復号装置 |
US11082721B2 (en) * | 2017-09-07 | 2021-08-03 | Lg Electronics Inc. | Method and apparatus for entropy-encoding and entropy-decoding video signal |
CN109510991B (zh) * | 2017-09-15 | 2021-02-19 | 浙江大学 | 一种运动矢量导出方法及装置 |
EP3468195A1 (en) | 2017-10-05 | 2019-04-10 | Thomson Licensing | Improved predictor candidates for motion compensation |
CN111247806B (zh) * | 2017-10-27 | 2023-11-14 | 松下电器(美国)知识产权公司 | 解码装置和解码方法 |
CN109729352B (zh) * | 2017-10-27 | 2020-07-21 | 华为技术有限公司 | 确定仿射编码块的运动矢量的方法和装置 |
US11889100B2 (en) | 2017-11-14 | 2024-01-30 | Qualcomm Incorporated | Affine motion vector prediction in video coding |
US20190208211A1 (en) * | 2018-01-04 | 2019-07-04 | Qualcomm Incorporated | Generated affine motion vectors |
CN108449599B (zh) * | 2018-03-23 | 2021-05-18 | 安徽大学 | 一种基于面透射变换的视频编码与解码方法 |
WO2019194507A1 (ko) * | 2018-04-01 | 2019-10-10 | 엘지전자 주식회사 | 어파인 움직임 예측에 기반한 영상 코딩 방법 및 그 장치 |
FI3780616T3 (fi) * | 2018-04-13 | 2024-03-25 | Lg Electronics Inc | Menetelmä ja laite inter-ennustusta varten videonkäsittelyjärjestelmässä |
WO2019199152A1 (ko) * | 2018-04-14 | 2019-10-17 | 엘지전자 주식회사 | 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치 |
WO2019199106A1 (ko) * | 2018-04-14 | 2019-10-17 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치 |
KR20230125338A (ko) * | 2018-06-18 | 2023-08-29 | 엘지전자 주식회사 | 어파인 모션 예측을 사용하여 비디오 신호를 처리하기위한 방법 및 장치 |
GB2589221B (en) | 2018-06-19 | 2023-03-22 | Beijing Bytedance Network Tech Co Ltd | Mode dependent MVD precision set |
KR102608181B1 (ko) * | 2018-07-02 | 2023-11-30 | 엘지전자 주식회사 | 어파인 예측을 이용하여 비디오 신호를 처리하기 위한 방법 및 장치 |
WO2020006969A1 (zh) * | 2018-07-02 | 2020-01-09 | 华为技术有限公司 | 运动矢量预测方法以及相关装置 |
CN118301334A (zh) | 2018-07-11 | 2024-07-05 | 华为技术有限公司 | 视频编码器、视频解码器及相应方法 |
US11051025B2 (en) | 2018-07-13 | 2021-06-29 | Tencent America LLC | Method and apparatus for video coding |
WO2020038232A1 (zh) * | 2018-08-21 | 2020-02-27 | 华为技术有限公司 | 一种图像块的运动信息的预测方法及装置 |
CN117499672A (zh) * | 2018-08-27 | 2024-02-02 | 华为技术有限公司 | 一种视频图像预测方法及装置 |
CN116647696A (zh) * | 2018-09-06 | 2023-08-25 | Lg电子株式会社 | 图像解码方法、图像编码方法、存储介质和发送方法 |
CN110891176B (zh) * | 2018-09-10 | 2023-01-13 | 华为技术有限公司 | 基于仿射运动模型的运动矢量预测方法及设备 |
WO2020058886A1 (en) | 2018-09-19 | 2020-03-26 | Beijing Bytedance Network Technology Co., Ltd. | Fast algorithms for adaptive motion vector resolution in affine mode |
CN110944182B (zh) * | 2018-09-23 | 2023-06-09 | 北京字节跳动网络技术有限公司 | 仿射模式中的子块的运动矢量推导 |
CN110944206B (zh) | 2018-09-23 | 2023-05-26 | 北京字节跳动网络技术有限公司 | 涉及仿射运动的一般应用 |
WO2020058952A1 (en) | 2018-09-23 | 2020-03-26 | Beijing Bytedance Network Technology Co., Ltd. | 8-parameter affine mode |
CN110971899B (zh) * | 2018-10-01 | 2021-06-01 | 华为技术有限公司 | 一种确定运动信息的方法、帧间预测方法及装置 |
WO2020084473A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Multi- iteration motion vector refinement |
WO2020085953A1 (en) * | 2018-10-25 | 2020-04-30 | Huawei Technologies Co., Ltd. | An encoder, a decoder and corresponding methods for inter prediction |
CN111107354A (zh) * | 2018-10-29 | 2020-05-05 | 华为技术有限公司 | 一种视频图像预测方法及装置 |
CN117459722A (zh) | 2018-11-12 | 2024-01-26 | 北京字节跳动网络技术有限公司 | 组合帧间-帧内预测的简化 |
CN113039802B (zh) * | 2018-11-16 | 2024-05-14 | 北京字节跳动网络技术有限公司 | 基于历史的仿射参数的使用 |
CN113056914B (zh) | 2018-11-20 | 2024-03-01 | 北京字节跳动网络技术有限公司 | 基于部分位置的差计算 |
WO2020114517A1 (en) * | 2018-12-08 | 2020-06-11 | Beijing Bytedance Network Technology Co., Ltd. | Shifting on affine parameters |
CN113196750B (zh) * | 2018-12-14 | 2024-07-12 | 北京字节跳动网络技术有限公司 | Mv位置的高准确度 |
CN111355961B (zh) * | 2018-12-24 | 2023-11-03 | 华为技术有限公司 | 一种帧间预测的方法和装置 |
EP3902257A4 (en) | 2018-12-27 | 2022-01-05 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | CODING PREDICTION METHOD AND DEVICE AND COMPUTER STORAGE MEDIUM |
WO2020156576A1 (en) * | 2019-02-02 | 2020-08-06 | Beijing Bytedance Network Technology Co., Ltd. | Multi-hmvp for affine |
WO2020169109A1 (en) | 2019-02-22 | 2020-08-27 | Beijing Bytedance Network Technology Co., Ltd. | Sub-table for history-based affine mode |
KR20210142610A (ko) * | 2019-03-05 | 2021-11-25 | 브이아이디 스케일, 인크. | Affine 모션 모델 유도 방법 |
KR102635518B1 (ko) | 2019-03-06 | 2024-02-07 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 변환된 단예측 후보의 사용 |
CN113992916B (zh) * | 2019-03-25 | 2023-06-27 | Oppo广东移动通信有限公司 | 图像分量预测方法、编码器、解码器以及存储介质 |
JP2022529735A (ja) * | 2019-04-25 | 2022-06-23 | オーピー ソリューションズ, エルエルシー | 大域的運動ベクトルの効率的なコーディング |
CN113596464A (zh) * | 2019-09-23 | 2021-11-02 | 杭州海康威视数字技术股份有限公司 | 编解码方法方法、装置及设备 |
CN114830665B (zh) | 2019-09-30 | 2023-08-04 | 华为技术有限公司 | 仿射运动模型限制 |
CN114503558B (zh) * | 2019-09-30 | 2023-10-20 | 华为技术有限公司 | 插值滤波器在仿射运动补偿中的适应性使用 |
WO2021045657A2 (en) | 2020-01-07 | 2021-03-11 | Huawei Technologies Co., Ltd. | Motion vector range derivation for enhanced interpolation filter |
CN113068041B (zh) * | 2021-03-12 | 2022-02-08 | 天津大学 | 一种智能仿射运动补偿编码方法 |
CN114584792A (zh) * | 2021-10-13 | 2022-06-03 | 同济大学 | 点预测中定期更新点矢量的值的数据编码解码方法及装置 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9920256D0 (en) * | 1999-08-26 | 1999-10-27 | Wave Limited M | Motion estimation and compensation in video compression |
WO2002037859A2 (en) * | 2000-11-03 | 2002-05-10 | Compression Science | Video data compression system |
US7616782B2 (en) * | 2004-05-07 | 2009-11-10 | Intelliview Technologies Inc. | Mesh based frame processing and applications |
AU2005286786B2 (en) * | 2004-09-21 | 2010-02-11 | Euclid Discoveries, Llc | Apparatus and method for processing video data |
US8693540B2 (en) * | 2005-03-10 | 2014-04-08 | Qualcomm Incorporated | Method and apparatus of temporal error concealment for P-frame |
CN100486336C (zh) * | 2006-09-21 | 2009-05-06 | 上海大学 | 基于h.264压缩域运动对象实时分割方法 |
KR101366242B1 (ko) * | 2007-03-29 | 2014-02-20 | 삼성전자주식회사 | 움직임 모델 파라메터의 부호화, 복호화 방법 및 움직임모델 파라메터를 이용한 영상의 부호화, 복호화 방법 및장치 |
WO2009096721A2 (en) * | 2008-01-29 | 2009-08-06 | Electronics And Telecommunications Research Institute | Method and apparatus for encoding and decoding video signal using motion compensation based on affine transformation |
KR101003105B1 (ko) * | 2008-01-29 | 2010-12-21 | 한국전자통신연구원 | 어파인 변환 기반의 움직임 보상을 이용한 비디오 부호화 및 복호화 방법 및 장치 |
CN101605256A (zh) * | 2008-06-12 | 2009-12-16 | 华为技术有限公司 | 一种视频编解码的方法及装置 |
RU2421814C2 (ru) | 2009-02-20 | 2011-06-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Способ формирования составного изображения |
WO2011013253A1 (ja) * | 2009-07-31 | 2011-02-03 | 株式会社 東芝 | 幾何変換動き補償予測を用いる予測信号生成装置、動画像符号化装置及び動画像復号化装置 |
US8411750B2 (en) * | 2009-10-30 | 2013-04-02 | Qualcomm Incorporated | Global motion parameter estimation using block-based motion vectors |
CN101771878B (zh) * | 2010-01-14 | 2011-05-25 | 广西大学 | 面向全景视频编码的自适应选择全局运动估计方法 |
JP5686018B2 (ja) * | 2010-05-21 | 2015-03-18 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法および画像符号化プログラム |
WO2012012582A1 (en) * | 2010-07-21 | 2012-01-26 | Dolby Laboratories Licensing Corporation | Reference processing using advanced motion models for video coding |
US9503720B2 (en) | 2012-03-16 | 2016-11-22 | Qualcomm Incorporated | Motion vector coding and bi-prediction in HEVC and its extensions |
WO2014005548A1 (en) | 2012-07-05 | 2014-01-09 | Mediatek Inc. | Method and apparatus of unified disparity vector derivation for 3d video coding |
WO2014078068A1 (en) | 2012-11-13 | 2014-05-22 | Intel Corporation | Content adaptive transform coding for next generation video |
WO2016008157A1 (en) * | 2014-07-18 | 2016-01-21 | Mediatek Singapore Pte. Ltd. | Methods for motion compensation using high order motion model |
CN112087630B (zh) | 2014-09-30 | 2022-04-08 | 华为技术有限公司 | 图像预测方法、装置、解码器及存储介质 |
CN104363451B (zh) | 2014-10-27 | 2019-01-25 | 华为技术有限公司 | 图像预测方法及相关装置 |
CN109005407B (zh) | 2015-05-15 | 2023-09-01 | 华为技术有限公司 | 视频图像编码和解码的方法、编码设备和解码设备 |
US10728571B2 (en) * | 2015-08-04 | 2020-07-28 | Lg Electronics Inc. | Inter prediction method and device in video coding system |
CN114866770A (zh) * | 2015-08-07 | 2022-08-05 | Lg 电子株式会社 | 视频编译***中的帧间预测方法和装置 |
CN105163116B (zh) * | 2015-08-29 | 2018-07-31 | 华为技术有限公司 | 图像预测的方法及设备 |
-
2015
- 2015-08-29 CN CN201510543542.8A patent/CN105163116B/zh active Active
- 2015-08-29 CN CN201810596891.XA patent/CN108600749B/zh active Active
- 2015-08-29 CN CN201810596855.3A patent/CN108965869B/zh active Active
- 2015-12-31 SG SG10202106076VA patent/SG10202106076VA/en unknown
- 2015-12-31 EP EP15902849.7A patent/EP3331242B1/en active Active
- 2015-12-31 HR HRP20230509TT patent/HRP20230509T1/hr unknown
- 2015-12-31 MX MX2018002414A patent/MX2018002414A/es unknown
- 2015-12-31 BR BR122020023963-8A patent/BR122020023963B1/pt active IP Right Grant
- 2015-12-31 KR KR1020217022989A patent/KR102408278B1/ko active IP Right Grant
- 2015-12-31 KR KR1020207021446A patent/KR102281830B1/ko active IP Right Grant
- 2015-12-31 PL PL15902849.7T patent/PL3331242T3/pl unknown
- 2015-12-31 FI FIEP15902849.7T patent/FI3331242T3/fi active
- 2015-12-31 HU HUE15902849A patent/HUE063094T2/hu unknown
- 2015-12-31 SG SG10202106074TA patent/SG10202106074TA/en unknown
- 2015-12-31 LT LTEPPCT/CN2015/100091T patent/LT3331242T/lt unknown
- 2015-12-31 BR BR112018003653-6A patent/BR112018003653B1/pt active IP Right Grant
- 2015-12-31 BR BR122020023970-0A patent/BR122020023970B1/pt active IP Right Grant
- 2015-12-31 MX MX2021003042A patent/MX2021003042A/es unknown
- 2015-12-31 WO PCT/CN2015/100091 patent/WO2017036045A1/zh active Application Filing
- 2015-12-31 DK DK15902849.7T patent/DK3331242T3/da active
- 2015-12-31 RU RU2019117128A patent/RU2714362C2/ru active
- 2015-12-31 RU RU2018110829A patent/RU2693904C1/ru active
- 2015-12-31 SI SI201531945T patent/SI3331242T1/sl unknown
- 2015-12-31 SG SG11201800920QA patent/SG11201800920QA/en unknown
- 2015-12-31 KR KR1020217022988A patent/KR102408277B1/ko active IP Right Grant
- 2015-12-31 AU AU2015407876A patent/AU2015407876B2/en active Active
- 2015-12-31 KR KR1020187006066A patent/KR102138931B1/ko active IP Right Grant
- 2015-12-31 EP EP23172262.0A patent/EP4274226A1/en active Pending
- 2015-12-31 MX MX2021003044A patent/MX2021003044A/es unknown
- 2015-12-31 PT PT159028497T patent/PT3331242T/pt unknown
- 2015-12-31 JP JP2018505411A patent/JP6669855B2/ja active Active
- 2015-12-31 ES ES15902849T patent/ES2946901T3/es active Active
-
2018
- 2018-02-27 US US15/906,418 patent/US10880543B2/en active Active
-
2019
- 2019-09-12 AU AU2019229381A patent/AU2019229381B2/en active Active
-
2020
- 2020-01-23 RU RU2020102708A patent/RU2020102708A/ru unknown
- 2020-02-27 JP JP2020031922A patent/JP7237874B2/ja active Active
- 2020-12-07 US US17/114,329 patent/US11368678B2/en active Active
-
2021
- 2021-06-10 AU AU2021203875A patent/AU2021203875A1/en not_active Abandoned
- 2021-08-06 AU AU2021212122A patent/AU2021212122B2/en active Active
- 2021-08-06 AU AU2021212103A patent/AU2021212103B2/en active Active
- 2021-11-23 ZA ZA2021/09388A patent/ZA202109388B/en unknown
- 2021-11-23 ZA ZA2021/09389A patent/ZA202109389B/en unknown
-
2022
- 2022-05-27 US US17/827,398 patent/US11979559B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR112018003653B1 (pt) | Método de predição de imagem e dispositivo de predição de imagem | |
BR112013016702B1 (pt) | Método e dispositivo para codificação e decodificação de vídeo com resiliência de erro aprimorada | |
BR112016017201B1 (pt) | Método de codificação e decodificação para precisão adaptativa de vetor de movimento de um bloco de dados de vídeo | |
CA3027764C (en) | Intra-prediction video coding method and device | |
BR112021002191A2 (pt) | método para prever um componente de cor de vídeo, aparelho para prever um componente de cor de vídeo e dispositivo para prever um componente de cor de vídeo | |
JP7067655B2 (ja) | 画像コーディング装置、画像デコーディング装置、及び画像処理機器 | |
RU2809673C2 (ru) | Способ и устройство предсказания изображения | |
RU2808688C2 (ru) | Способ и устройство предсказания изображения | |
BR112021020796B1 (pt) | Método de processamento de dados de vídeo, aparelho para processar dados de vídeo e meios não transitórios legíveis por computador | |
BR112017024467B1 (pt) | Método de codificação de imagem de vídeo, método de decodificação de imagem de vídeo, dispositivo de codificação, e dispositivo de decodificação |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
B07A | Application suspended after technical examination (opinion) [chapter 7.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 31/12/2015, OBSERVADAS AS CONDICOES LEGAIS |