ES2902536T3 - Dispositivo de codificación de instantáneas en movimiento, procedimiento de codificación de instantáneas en movimiento, programa de codificación de instantáneas en movimiento, y dispositivo de decodificación de instantáneas en movimiento, procedimiento de decodificación de instantáneas en movimiento, programa de decodificación de instantáneas en movimiento - Google Patents

Dispositivo de codificación de instantáneas en movimiento, procedimiento de codificación de instantáneas en movimiento, programa de codificación de instantáneas en movimiento, y dispositivo de decodificación de instantáneas en movimiento, procedimiento de decodificación de instantáneas en movimiento, programa de decodificación de instantáneas en movimiento Download PDF

Info

Publication number
ES2902536T3
ES2902536T3 ES20174155T ES20174155T ES2902536T3 ES 2902536 T3 ES2902536 T3 ES 2902536T3 ES 20174155 T ES20174155 T ES 20174155T ES 20174155 T ES20174155 T ES 20174155T ES 2902536 T3 ES2902536 T3 ES 2902536T3
Authority
ES
Spain
Prior art keywords
prediction
fusion
candidates
value
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES20174155T
Other languages
English (en)
Inventor
Hiroya Nakamura
Shigeru Fukushima
Hideki Takehara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JVCKenwood Corp
Original Assignee
JVCKenwood Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JVCKenwood Corp filed Critical JVCKenwood Corp
Application granted granted Critical
Publication of ES2902536T3 publication Critical patent/ES2902536T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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 bits, e.g. of the compressed video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Liquid Crystal Substances (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

Un dispositivo de codificación de instantáneas en movimiento que codifica imágenes en movimiento usando inter predicción a base de información de inter predicción de un candidato de fusión en unidades de bloques obtenidos particionando cada instantánea de las instantáneas en movimiento, que comprende: una unidad (110) de codificación de información de predicción que codifica información que indica un número anteriormente designado de candidatos de fusión; una unidad (104, 205) de derivación de información de predicción que deriva candidatos de fusión a partir de información de inter predicción de un bloque de predicción vecino a un bloque de predicción objetivo de codificación o un bloque de predicción presente en la misma posición que o próximo al bloque de predicción objetivo de codificación en una instantánea codificada en una posición temporalmente diferente del bloque de predicción objetivo de codificación; una unidad (130, 230) de creación de lista de candidatos que crea una lista de candidatos de fusión a partir de los candidatos de fusión derivados; una unidad (134, 234) de generación de candidato que realiza repetidamente un primer procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene un primer valor, el modo de inter predicción tiene un segundo valor y el índice de referencia tiene un tercer valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión o el tercer valor no es menor que una variable que indica el número de índices de referencia cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión; una unidad (135, 235) de agregación de candidato que, después de que la unidad de generación de candidato realizó el primer procedimiento, realiza repetidamente un segundo procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene el primer valor, el modo de inter predicción tiene el segundo valor y el índice de referencia tiene un cuarto valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión; y una unidad (105, 206) de predicción con compensación de movimiento que selecciona un candidato de fusión de entre los candidatos de fusión incluidos en la lista de candidatos de fusión de la que el número de candidatos de fusión alcanza el número designado de candidatos de fusión y realiza inter predicción en el bloque de predicción objetivo de codificación usando la información de inter predicción del candidato de fusión seleccionado, en el que: el primer valor es (0,0); el segundo valor es un valor predefinido que indica que el modo de inter predicción es predicción L0 cuando un tipo de corte de un corte que contiene el bloque de predicción objetivo de codificación es un corte P; el tercer valor es una variable que se incrementa en uno cada vez que se produce el primer procedimiento; y el cuarto valor es 0.

Description

DESCRIPCIÓN
Dispositivo de codificación de instantáneas en movimiento, procedimiento de codificación de instantáneas en movimiento, programa de codificación de instantáneas en movimiento, y dispositivo de decodificación de instantáneas en movimiento, procedimiento de decodificación de instantáneas en movimiento, programa de decodificación de instantáneas en movimiento
rCampo técnico!
La presente invención se refiere a una técnica de codificación y decodificación de instantáneas en movimiento y, más particularmente, a una técnica de codificación y decodificación de instantáneas en movimiento usando predicción con compensación de movimiento.
La norma MPEG-4 AVC/H.264 es un esquema de codificación de compresión de instantáneas en movimiento representativo. La norma MPEG-4 AVC/H.264 usa compensación de movimiento en la que una instantánea se particiona en una pluralidad de bloques rectangulares, instantáneas que se han codificado o decodificado se usan como instantáneas de referencia, y se predice un movimiento a partir de las instantáneas de referencia. Un procedimiento de predicción de un movimiento a base de esta compensación de movimiento se denomina como inter predicción o predicción con compensación de movimiento. En la inter predicción de la norma MPEG-4 AVC/H.264, la compensación de movimiento se realiza de tal manera que una pluralidad de instantáneas pueden usarse como instantáneas de referencia, y se selecciona una instantánea de referencia más probable en respectivos bloques de entre la pluralidad de instantáneas de referencia. Por lo tanto, se asigna un índice de referencia a respectivas instantáneas de referencia y las instantáneas de referencia se especifican por el índice de referencia. En instantáneas B, pueden seleccionarse dos instantáneas de referencia como máximo de entre instantáneas de referencia codificadas o decodificadas y usarse para inter predicción. La predicción a partir de estas dos instantáneas de referencia se clasifica en predicción L0 (predicción de lista 0) que se usa principalmente como predicción hacia delante y predicción L1 (predicción de lista 1) que se usa principalmente como predicción hacia atrás.
Además, también se define bipredicción que usa dos modos de inter predicción de predicción L0 y predicción L1 simultáneamente. En el caso de bipredicción, se realiza predicción bidireccional para obtener señales de inter predicción en modos de predicción L0 y L1, que se multiplican por un factor de ponderación y se superponen añadiendo un valor de desplazamiento para crear de este modo una señal de instantánea de inter predicción final. Como el factor de ponderación y valores de desplazamiento usados para predicción ponderada, se establece un valor representativo para cada instantánea de referencia de listas y se codifica en respectivas instantáneas. La información de codificación relacionada con inter predicción incluye un modo de predicción para clasificar predicción L0, predicción L1 y bipredicción para cada bloque, un índice de referencia para especificar una instantánea de referencia para cada lista de referencia de cada bloque, y un vector de movimiento que representa una dirección de movimiento y una cantidad de movimiento de un bloque. Estos artículos de información de codificación se codifican o decodifican.
Además, en el esquema de MPEG-4 AVC/H.264, se define un modo directo de creación de información de inter predicción de bloque objetivo de codificación/decodificación a partir de información de inter predicción de un bloque codificado/decodificado. Dado que el modo directo no requiere codificación de información de inter predicción, se mejora la eficiencia de codificación.
Un modo directo temporal que usa correlación de información de inter predicción en la dirección temporal se describirá con referencia a la Figura 36. Una instantánea de la que el índice de referencia L1 se registra a "0" se denomina como una instantánea de referencia colPic. Un bloque en la misma posición que un bloque objetivo de codificación/decodificación en la instantánea de referencia colPic se denomina como un bloque de referencia.
Si un bloque de referencia se codifica usando predicción L0, un vector de movimiento L0 del bloque de referencia se denomina como un vector de movimiento de referencia mvCol. Si el bloque de referencia no se codifica usando predicción L0, pero se codifica usando predicción L1, un vector de movimiento L1 del bloque de referencia se denomina como un vector de movimiento de referencia mvCol. Una instantánea a la que hace referencia el vector de movimiento de referencia mvCol se denomina como una instantánea de referencia L0 del modo directo temporal, y la instantánea de referencia colPic se denomina como una instantánea de referencia L1 del modo directo temporal.
Un vector de movimiento L0 mvL0 y un vector de movimiento L1 mvL1 del modo directo temporal se derivan a partir del vector de movimiento de referencia mvCol realizando un procedimiento de escalado.
Un POC de una instantánea de referencia L0 del modo directo temporal se resta de un POC de la instantánea de referencia colPic para derivar una distancia de instantánea a instantánea td. Un POC es una variable asociada con una instantánea que hay que codificar y un valor que se incrementa en 1 en el orden de emisión/visualización de instantánea se establece como el POC. Una diferencia entre los POC de dos instantáneas representa una distancia de instantánea a instantánea en una dirección de eje de tiempo.
td = (POC de instantánea de referencia colPic) -(POC de instantánea de referencia L0 de modo directo temporal)
El POC de una instantánea de referencia L0 del modo directo temporal se resta del POC de una instantánea objetivo de codificación/decodificación para derivar una distancia de instantánea a instantánea tb.
tb = (POC de instantánea objetivo de codificación/decodificación) -(POC de instantánea de referencia L0 de modo directo temporal)
Un vector de movimiento L0 mvL0 del modo directo temporal se deriva a partir del vector de movimiento de referencia mvCol realizando un procedimiento de escalado.
mvL0 = tb/td*mvCol
Un vector de movimiento de referencia mvCol se resta del vector de movimiento L0 mvL0 del modo directo temporal para derivar un vector de movimiento L1 mvL1.
mvL1 = mvL0 - mvCol
Cuando un dispositivo de codificación de instantáneas en movimiento y un dispositivo de decodificación de instantáneas en movimiento tienen una capacidad de procesamiento baja, puede omitirse el procedimiento del modo directo temporal.
ILista de técnica relacionada!
rReferencia de patente!
Referencia de patente 1: documento JP 2004-129191 A
rReferencia no de patente!
Benjamin Bross y col.: "WD5: Working Draft 5 of High-Efficiency Video Coding", JCTV-G1103_D9, 7a reunión, febrero de 2012 (02-2012) desvela un procedimiento de predicción de vector de movimiento de acuerdo con la especificación de borrador de h Ev C. Zhou M y col.: "A study on HEVC parsing throughput issue", JCTVC-F068, 2 de julio de 2011 (02-07-2011), y S-C Lim y col.: "Non-CE9: Simplification on AMVP list construction", JCTVC-H0239, 20 de enero de 2012 (20-01-2012), desvelan procedimientos de codificación de modo de fusión usando una lista de candidatos de longitud fija.
[Divulgación de la invención!
En una situación de este tipo, los presentes inventores han reconocido la necesidad de comprimir adicionalmente información de codificación y reducir toda una cantidad de codificación en un esquema de codificación de instantáneas en movimiento que usa predicción con compensación de movimiento.
La presente invención se ha hecho en vista de una situación de este tipo, y un objeto de la misma es proporcionar una técnica de codificación y decodificación de instantáneas en movimiento de reducción de una cantidad de codificación de información de codificación para mejorar la eficiencia de codificación derivando candidatos para información de predicción usada en predicción con compensación de movimiento de acuerdo con una situación.
Para conseguir el objeto, se proporcionan un dispositivo, procedimiento y programa de codificación de instantáneas en movimiento, como se expone en las reivindicaciones 1-3, y un dispositivo, procedimiento y programa de decodificación de instantáneas en movimiento, como se expone en las reivindicaciones 4-6. Realizaciones adicionales se presentan únicamente como ejemplos ilustrativos que no pertenecen al ámbito de las reivindicaciones.
De acuerdo con la presente invención, es posible reducir una cantidad de ocurrencia de codificación de información de codificación que hay que transmitir para mejorar la eficiencia de codificación derivando candidatos para información de predicción usada en predicción con compensación de movimiento de acuerdo con una situación.
[Breve descripción de los dibujos!
La Figura 1 es un diagrama de bloques que ilustra una configuración de un dispositivo de codificación de instantáneas en movimiento que ejecuta un procedimiento de predicción de vector de movimiento de acuerdo con una realización;
La Figura 2 es un diagrama de bloques que ilustra una configuración de un dispositivo de decodificación de instantáneas en movimiento que ejecuta un procedimiento de predicción de vector de movimiento de acuerdo con una realización;
La Figura 3 es un diagrama de descripción de un bloque de árbol y un bloque de codificación;
Las Figuras 4A a 4H son diagramas para la descripción de un modo de partición de un bloque de predicción; La Figura 5 es un diagrama de descripción de un bloque de predicción de un candidato de fusión espacial en un modo de fusión;
La Figura 6 es un diagrama de descripción de un bloque de predicción de un candidato de fusión espacial en un modo de fusión;
La Figura 7 es un diagrama de descripción de un bloque de predicción de un candidato de fusión espacial en un modo de fusión;
La Figura 8 es un diagrama de descripción de un bloque de predicción de un candidato de fusión espacial en un modo de fusión;
La Figura 9 es un diagrama de descripción de un bloque de predicción de un candidato de fusión temporal en un modo de fusión;
La Figura 10 es un diagrama de descripción de la sintaxis de un flujo de bits en respectivos bloques de predicción en un modo de fusión;
La Figura 11 es un diagrama de descripción de un ejemplo de un símbolo de entropía de un elemento de sintaxis de un índice de fusión;
La Figura 12 es un diagrama de bloques que ilustra una configuración detallada de una unidad de derivación de información de inter predicción de un dispositivo de codificación de instantáneas en movimiento ilustrado en la Figura 1 de acuerdo con un primer ejemplo práctico;
La Figura 13 es un diagrama de bloques que ilustra una configuración detallada de una unidad de derivación de información de inter predicción de un dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 2 de acuerdo con un primer ejemplo práctico;
Las Figuras 14A a 14H son diagramas para la descripción de un bloque de predicción vecino a un bloque de predicción objetivo de procesamiento en un modo de fusión;
La Figura 15 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidatos de fusión de un modo de fusión y un procedimiento de creación de una lista de candidatos de fusión de acuerdo con el primer ejemplo práctico;
La Figura 16 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidatos de fusión espaciales de un modo de fusión;
Las Figuras 17A a 17H son diagramas para la descripción de un bloque vecino al que se hace referencia en un procedimiento de derivación de un índice de referencia de un candidato de fusión temporal;
La Figura 18 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de índices de referencia de candidatos de fusión temporales de un modo de fusión;
La Figura 19 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidatos de fusión temporales de un modo de fusión;
La Figura 20 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de instantáneas de tiempo diferente de un modo de fusión;
La Figura 21 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de bloques de predicción de instantáneas de tiempo diferente de un modo de fusión;
La Figura 22 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidatos de fusión temporales de un modo de fusión;
La Figura 23 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidatos de fusión temporales de un modo de fusión;
La Figura 24 es un diagrama de flujo para describir el flujo de un procedimiento de escalado de vector de movimiento;
La Figura 25 es un diagrama de flujo para describir el flujo de un procedimiento de escalado de vector de movimiento;
La Figura 26 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidatos de fusión adicionales de un modo de fusión;
La Figura 27 es un diagrama de flujo para describir el flujo de un procedimiento de limitación de candidatos de fusión;
La Figura 28 es un diagrama de bloques que ilustra una configuración detallada de una unidad de derivación de información de inter predicción de un dispositivo de codificación de instantáneas en movimiento ilustrado en la Figura 2 de acuerdo con el segundo al séptimo ejemplos prácticos;
La Figura 29 es un diagrama de bloques que ilustra una configuración detallada de una unidad de derivación de información de inter predicción de un dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 2 de acuerdo con el segundo al séptimo ejemplos prácticos;
La Figura 30 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidatos de fusión de un modo de fusión y un procedimiento de creación de una lista de candidatos de fusión de acuerdo con el segundo al séptimo ejemplos prácticos;
La Figura 31 es un diagrama de flujo para describir el flujo de un procedimiento de agregación de candidato de fusión válidos de un modo de fusión de acuerdo con el segundo ejemplo práctico;
La Figura 32 es un diagrama de flujo para describir el flujo de un procedimiento de agregación de candidato de fusión válidos de un modo de fusión de acuerdo con el tercer ejemplo práctico;
La Figura 33 es un diagrama de flujo para describir el flujo de un procedimiento de agregación de candidato de fusión válidos de un modo de fusión de acuerdo con el cuarto ejemplo práctico;
La Figura 34 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidatos de fusión adicionales de un modo de fusión y un procedimiento de agregación de candidato de fusión válidos de acuerdo con el quinto ejemplo práctico;
La Figura 35 es un diagrama de flujo para describir el flujo de un procedimiento de elaboración de información de inter predicción inicializada de un modo de fusión válido como un candidato de fusión de acuerdo con el sexto y séptimo ejemplos prácticos;
La Figura 36 es un diagrama de descripción de un modo directo temporal de la norma MPEG-4 AVC/H.264 convencional;
La Figura 37 es un diagrama de flujo para describir el flujo del procedimiento de una unidad de selección de información de inter predicción de una unidad de derivación de información de inter predicción de un dispositivo de codificación de instantáneas en movimiento; y
La Figura 38 es un diagrama de flujo para describir el flujo del procedimiento de una unidad de selección de información de inter predicción de una unidad de derivación de información de inter predicción de un dispositivo de decodificación de instantáneas en movimiento.
rMeior modo para llevar a cabo la invención!
La presente realización se refiere a una técnica de codificación de instantáneas en movimiento, y particularmente, a una técnica de codificación de instantáneas en movimiento de particionamiento de una instantánea en bloques rectangulares que tienen tamaños y formas opcionales y realización de compensación de movimiento entre instantáneas en unidades de bloques. En esta técnica, se derivan una pluralidad de predictores de vector de movimiento a partir de un vector de movimiento de un bloque vecino a un bloque objetivo de codificación o un bloque de una instantánea codificada para mejorar la eficiencia de codificación, y una diferencia de vector entre un vector de movimiento del bloque objetivo de codificación y se deriva y codifica un predictor de vector de movimiento seleccionado para reducir la cantidad de codificación. Como alternativa, la información de codificación del bloque objetivo de codificación se deriva usando información de codificación de un bloque vecino al bloque objetivo de codificación o un bloque de una instantánea codificada para reducir de este modo una cantidad de codificación. Además, en el caso de codificación de instantáneas en movimiento, se derivan una pluralidad de predictores de vector de movimiento a partir de un vector de movimiento de un bloque vecino a un bloque objetivo de decodificación o un bloque de una instantánea decodificada, y un vector de movimiento del bloque objetivo de decodificación se deriva y decodifica a partir de una diferencia de vector decodificada de un flujo de bits y un predictor de vector de movimiento seleccionado. Como alternativa, se deriva información de codificación del bloque objetivo de decodificación usando información de codificación de un bloque vecino al bloque objetivo de decodificación o un bloque de una instantánea decodificada.
Primero, se definen técnicas y expresiones usadas en la presente realización.
(Bloque de árbol y bloque de codificación)
En las realizaciones, uno o una pluralidad de cortes obtenidos particionando una instantánea es una unidad básica de codificación, y a cada corte se establece un tipo de corte que es información que indica el tipo de corte. Como se ilustra en la Figura 3, un corte se particionó uniformemente en respectivas unidades cuadradas que tienen el mismo tamaño opcional. Esta unidad cuadrada se define como un bloque de árbol y se usa como una unidad básica de gestión de direcciones para especificar un bloque objetivo de codificación/decodificación en un corte (un bloque objetivo de codificación en procedimientos de codificación y un bloque objetivo de decodificación en procedimientos de decodificación; lo mismo es cierto para la siguiente descripción a no ser que se exponga de otra manera a continuación). Un bloque de árbol que excluye componentes monocromáticos incluye una señal de luminancia y dos señales de crominancia. El tamaño de un bloque de árbol puede establecerse libremente a la potencia de 2 de acuerdo con un tamaño de instantánea o la textura en una instantánea. Un bloque de árbol puede particionarse en bloques que tienen un tamaño de bloque pequeño particionando jerárquicamente la señal de luminancia y señales de crominancia en el bloque de árbol en cuatro partes (dos partes en direcciones verticales y horizontales) según sea necesario de acuerdo con la textura en la instantánea de modo que puede optimizarse un procedimiento de codificación. Este bloque se define como un bloque de codificación y es una unidad básica de procedimientos de codificación y decodificación. Un bloque de codificación que excluye componentes monocromáticos incluye una señal de luminancia y dos señales de crominancia. Un mayor tamaño de un bloque de codificación es el mismo que el tamaño de un bloque de árbol. Un bloque de codificación que tiene el tamaño más pequeño del bloque de codificación se denomina como un bloque de codificación más pequeño y puede establecerse libremente a la potencia de 2.
En la Figura 3, un bloque de codificación A es un bloque de codificación obtenido sin particionar un bloque de árbol. Un bloque de codificación B es un bloque de codificación obtenido particionando un bloque de árbol en cuatro partes. Un bloque de codificación C es un bloque de codificación obtenido particionando en cuatro partes el bloque obtenido particionando el bloque de árbol en cuatro partes. Un bloque de codificación D es un bloque de codificación obtenido particionando dos veces en cuatro partes el bloque obtenido particionando el bloque de árbol en cuatro partes y es un bloque de codificación que tiene el tamaño más pequeño.
(Modo de predicción)
Intra predicción (MODE_INTRA) en la que se realiza predicción de señales de instantáneas vecinas en un estado codificado/decodificado (usado en instantáneas, bloques de predicción, señales de instantáneas y similares obtenidos decodificando señales codificadas en el procedimiento de codificación e instantáneas decodificadas, bloques de predicción, señales de instantáneas y similares en el procedimiento de decodificación; lo mismo es cierto para la siguiente descripción a no ser que se exponga de otra manera a continuación) en una instantánea objetivo de codificación/decodificación e inter predicción (MODE_INTER) en la que la predicción se realiza de señales de instantáneas de instantáneas codificadas/decodificadas se conmutan en respectivos bloques de codificación. Un modo de identificación de la intra predicción (MODE_INTRA) y la inter predicción (MODE_INTER) se define como un modo de predicción (PredMode). El modo de predicción (PredMode) tiene un valor de intra predicción (MODE_INTRA) o inter predicción (MODE_INTER) y puede seleccionarse y codificarse.
(Modo de partición, bloque de predicción y unidad de predicción)
Cuando una instantánea se particiona en bloques para realizar intra predicción (MODE_INTRA) e inter predicción (MODE_INTER), se particiona un bloque de codificación según sea necesario para realizar predicción para reducir adicionalmente las unidades de conmutación de intra predicción e inter predicción. Un modo de identificación de un procedimiento de particionamiento de la señal de luminancia y señales de crominancia de un bloque de codificación se define como un modo de partición (PartMode). Además, el bloque particionado se define como un bloque de predicción. Como se ilustra en las Figuras 4A a 4H, se definen ocho modos de partición (PartMode) dependiendo de un procedimiento de particionamiento de la señal de luminancia de un bloque de codificación.
Un modo de partición (PartMode) en el que la señal de luminancia de un bloque de codificación ilustrado en la Figura 4A no se particiona, pero se considera como un bloque de predicción se define como partición 2N*2N (PART_2Nx2N). Los modos de partición (PartMode) en los que las señales de luminancia de bloques de codificación ilustrados en las Figuras 4B, 4C y 4D se particionan en dos bloques de predicción dispuestos en la dirección vertical se definen como partición 2N*N (PART_2nxN), partición 2N*nU (PART_2NxnU) y partición 2N*nD (PART_2NxnD), respectivamente. En este punto, la partición 2N*N (PART_2NxN) es un modo de partición en el que la señal de luminancia se particiona en la relación de 1 : 1 en la dirección vertical, la partición 2N*nU (PART_2NxnU) es un modo de partición en el que la señal de luminancia se particiona en la relación de 1 : 3 en la dirección vertical, y la partición 2N*nD (PART_2NxnD) es un modo de partición en el que la señal de luminancia se particiona en la relación de 3 : 1 en la dirección vertical. Los modos de partición (PartMode) en los que las señales de luminancia de bloques de codificación ilustrados en las Figuras 4E, 4F y 4G se particionan en dos bloques de predicción dispuestos en la dirección horizontal se definen como partición N*2N (PART_Nx2N), partición nL*2N (PART_nLx2N) y partición nR*2N (PART_nRx2N), respectivamente. En este punto, la partición N*2N (PART_Nx2N) es un modo de partición en el que la señal de luminancia se particiona en la relación de 1 : 1 en la dirección horizontal, la partición nL*2N (PART_nLx2N) es un modo de partición en el que la señal de luminancia se particiona en la relación de 1 : 3 en la dirección horizontal, y la partición nR*2N (PART_nRx2N) es un modo de partición en el que la señal de luminancia se particiona en la relación de 3 : 1 en la dirección horizontal. Un modo de partición (PartMode) en el que la señal de luminancia de un bloque de codificación ilustrado en la Figura 4H se particiona en cuatro partes en las direcciones verticales y horizontales para obtener cuatro bloques de predicción se define como partición N*N (PART_NxN).
La señal de crominancia se particiona en las mismas relaciones de partición vertical y horizontal que la señal de luminancia en respectivos modos de partición (PartMode).
Para especificar cada bloque de predicción en un bloque de codificación, se asigna un número comenzando desde 0 a bloques de predicción presentes en el bloque de codificación en el orden de codificación. Este número se define como un índice de partición PartIdx. El número descrito en cada bloque de predicción del bloque de codificación ilustrado en las Figuras 4A a 4H indica un índice de partición PartIdx del bloque de predicción. En la partición 2N*N (PART_2NxN), la partición 2N*nU (PART_2NxnU) y la partición 2N*nD (PART_2NxnD) ilustradas en las Figuras 4B, 4C y 4D, los índices de partición PartIdx de los bloques de predicción superiores se establecen a 0 y los índices de partición PartIdx de los bloques de predicción inferiores se establecen a 1. En la partición N*2N (PART_Nx2N), la partición nL*2N (PART_nLx2N) y la partición nR*2N (PART_nRx2N) ilustradas en las Figuras 4E, 4F y 4G, los índices de partición PartIdx de los bloques de predicción izquierdos se establecen a 0 y los índices de partición PartIdx de los bloques de predicción derechos se establecen a 1. En la partición N*N (PART_NxN) ilustrada en la Figura 4H, el índice de partición PartIdx del bloque de predicción superior izquierdo se establece a 0, el índice de partición PartIdx del bloque de predicción superior derecho se establece a 1, el índice de partición PartIdx del bloque de predicción inferior izquierdo se establece a 2, y el índice de partición PartIdx del bloque de predicción inferior derecho se establece a 3.
Cuando el modo de predicción (PredMode) es inter predicción (MODE_INTER), la partición 2N*2N (PART_2Nx2N), la partición 2N*N (pArT_2Nxn ), la partición 2N*nU (PART_2NxnU), la partición 2N*nD (PART_2NxnD), la partición N*2N ((PART_Nx2N), la partición nL*2N (PART_nL<2N) y la partición nR*2N (PART_nRx2N) se definen como los modos de partición (PartMode). En cuanto a únicamente el bloque de codificación D que es el bloque de codificación más pequeño, la partición N*N (PART_NxN) puede definirse como el modo de partición (PartMode) además de la partición 2N*2N (PART_2Nx2N), la partición 2n *N (PART_2NxN), la partición 2N*nU (PART_2NxnU), la partición 2N*nD (PART_2NxnD), la partición N*2N ((PART_Nx2N), la partición nL*2N (PART_nLx2N) y la partición nR*2N (PART_nRx2N). Sin embargo, en la presente realización, la partición N*N (PART_NxN) no se define como el modo de partición (PartMode).
Cuando el modo de predicción (PredMode) es intra predicción (MODE_INTRA), la partición 2N*2N (PART_2Nx2N) únicamente se define para bloques de codificación distintos del bloque de codificación D que es el bloque de codificación más pequeño como el modo de partición (PartMode) y la partición N*N (PART_NxN) se define para el bloque de codificación D únicamente que es el bloque de codificación más pequeño como el modo de partición (PartMode) además de la partición 2N*2n (PART_2Nx2N). La razón por la que la partición N*N (PART_NxN) no se define para bloques de codificación distintos del bloque de codificación más pequeño es porque es posible particionar un bloque de codificación distinto del bloque de codificación más pequeño en cuatro partes para expresar bloques de codificación más pequeños.
(Posiciones de bloque de árbol, bloque de codificación, bloque de predicción, bloque de transformación)
Las posiciones de bloques que incluyen un bloque de árbol, un bloque de codificación, un bloque de predicción y un bloque de transformación de la presente realización se presentan de tal forma que la posición de un píxel de una señal de luminancia superior izquierda de una pantalla de la señal de luminancia se establece como el origen (0, 0), y la posición de un píxel de la señal de luminancia superior izquierda incluida en la región de cada bloque se representa mediante una coordinada de dos dimensiones (x, y). La dirección del eje de coordenadas se define de tal forma que la dirección hacia la derecha de la dirección horizontal y la dirección hacia abajo de la dirección vertical son las direcciones positivas, y la unidad es un píxel de la señal de luminancia. Cuando el formato de crominancia es 4:2:0 o 4:2:2 en el que el tamaño de instantánea (el número de píxeles) es diferente de señal de luminancia a señal de crominancia así como cuando el formato de crominancia es 4 : 4 : 4 en el que el tamaño de instantánea (el número de píxeles) es el mismo para la señal de luminancia y la señal de crominancia, la posición de cada bloque de la señal de crominancia se representa mediante la coordenada de un píxel de una señal de luminancia incluida en la región del bloque, y la unidad es un píxel de la señal de luminancia. De este modo, es posible especificar la posición de cada bloque de la señal de crominancia y entender claramente la relación posicional entre el bloque de la señal de luminancia y el bloque de la señal de crominancia simplemente comparando los valores de coordenada.
(Modo de inter predicción y lista de referencia)
En la realización de la presente invención, una pluralidad de instantáneas decodificadas puede usarse como instantáneas de referencia en inter predicción en la que se realiza predicción de señales de instantáneas de instantáneas codificadas/decodificadas. Para especificar instantáneas de referencia seleccionadas de una pluralidad de instantáneas de referencia, se asigna un índice de referencia a cada bloque de predicción. En cortes B, es posible seleccionar dos instantáneas de referencia opcionales para cada bloque de predicción y realizar inter predicción, y ejemplos del modo de inter predicción incluyen predicción L0 (Pred_L0), predicción L1 (Pred_L1) y bipredicción (Pred_BI). Las instantáneas de referencia se gestionan por L0 (lista de referencia 0) y L1 (lista de referencia 1) de una estructura de lista, y una instantánea de referencia puede especificarse designando el índice de referencia de L0 o L1. La predicción L0 (Pred_L0) es inter predicción que se refiere a instantáneas de referencia gestionadas por L0, predicción L1 (Pred_L1) es inter predicción que se refiere a instantáneas de referencia gestionadas por L1, y la bipredicción (Pred_BI) es inter predicción en la que se realizan tanto predicción L0 como predicción L1 y que se refiere a instantáneas de referencia gestionadas por L0 y L1, respectivamente. La predicción L0 únicamente puede usarse en inter predicción de cortes P, y la predicción L0, la predicción L1 y la bipredicción (Pred_BI) en las que la predicción L0 y la predicción L1 se promedian o añaden con ponderación pueden usarse en inter predicción de cortes B. En los siguientes procedimientos, se supone que enteros y variables a los que se adjunta un carácter LX a la salida se procesan para cada una de L0 y L1.
(Modo de fusión y candidato de fusión)
Un modo de fusión es un modo en el que en lugar de que se codifique y decodifique información de inter predicción tal como un modo de predicción, un índice de referencia o un vector de movimiento de un bloque de predicción objetivo de codificación/decodificación, se realiza inter predicción derivando información de inter predicción de un bloque de predicción objetivo de codificación/decodificación de información de inter predicción de bloques de predicción vecinos al bloque de predicción objetivo de codificación/decodificación en la misma instantánea que el bloque de predicción objetivo de codificación/decodificación o un bloque de predicción presente en la misma posición que o próximo (a la posición vecina) a un bloque de predicción objetivo de codificación/decodificación de una instantánea codificada/decodificada en una posición temporal diferente del bloque de predicción objetivo de codificación/decodificación. Un bloque de predicción vecino al bloque de predicción objetivo de codificación/decodificación en la misma instantánea que el bloque de predicción objetivo de codificación/decodificación e información de inter predicción del bloque de predicción se denominan como candidatos de fusión espaciales, y un bloque de predicción presente en la misma posición que o próximo a (la posición vecina) el bloque de predicción objetivo de codificación/decodificación de una instantánea codificada/decodificada en una posición temporalmente diferente del bloque de predicción objetivo de codificación/decodificación e información de inter predicción derivada a partir de la información de inter predicción del bloque de predicción se denominan como candidatos de fusión temporales. Los respectivos candidatos de fusión se añaden a una lista de candidatos de fusión y un índice de fusión especifica un candidato de fusión usado para inter predicción.
(Bloque de predicción vecino)
Las Figuras 5, 6, 7 y 8 son diagramas para la descripción de bloques de predicción vecinos a un bloque de predicción objetivo de codificación/decodificación en la misma instantánea que el bloque de predicción objetivo de codificación/decodificación al que se hace referencia cuando se derivan candidatos de fusión espaciales e índices de referencia de candidatos de fusión temporales. La Figura 9 es un diagrama de descripción de bloques de predicción codificados/decodificados presentes en la misma posición que o próximos a un bloque de predicción objetivo de codificación/decodificación de una instantánea codificada/decodificada en una posición temporalmente diferente del bloque de predicción objetivo de codificación/decodificación al que se hace referencia cuando se derivan candidatos de fusión temporales. Los bloques de predicción vecinos en una dirección espacial de un bloque de predicción objetivo de codificación/decodificación y bloques de predicción en la misma posición de tiempo diferente se describirán usando las Figuras 5, 6, 7, 8 y 9.
Como se ilustra en la Figura 5, un bloque de predicción A vecino a un lado derecho de un bloque de predicción objetivo de codificación/decodificación en la misma instantánea que el bloque de predicción objetivo de codificación/decodificación, un bloque de predicción B vecino a un lado superior del bloque de predicción objetivo de codificación/decodificación, un bloque de predicción C vecino a una esquina superior derecha del bloque de predicción objetivo de codificación/decodificación, un bloque de predicción D vecino a una esquina inferior izquierda del bloque de predicción objetivo de codificación/decodificación, y un bloque de predicción E vecino a una esquina superior izquierda del bloque de predicción objetivo de codificación/decodificación se definen como bloques de predicción vecinos en la dirección espacial.
Como se ilustra en la Figura 6, cuando una pluralidad de bloques de predicción vecinos al lado izquierdo del bloque de predicción objetivo de codificación/decodificación están presentes y tienen un tamaño más pequeño que el bloque de predicción objetivo de codificación/decodificación, únicamente el bloque de predicción A10 inferior entre los bloques de predicción vecinos al lado izquierdo se denominará como el bloque de predicción A vecino al lado izquierdo en la presente realización.
De manera similar, cuando una pluralidad de bloques de predicción vecinos al lado superior del bloque de predicción objetivo de codificación/decodificación están presentes y tienen un tamaño más pequeño que el bloque de predicción objetivo de codificación/decodificación, únicamente el bloque de predicción B10 más a la derecha entre los bloques de predicción vecinos al lado izquierdo se denominará como el bloque de predicción B vecino al lado superior en la presente realización.
Como se ilustra en la Figura 7, incluso cuando el tamaño del bloque de predicción F vecino al lado izquierdo del bloque de predicción objetivo de codificación/decodificación es mayor que el bloque de predicción objetivo de codificación/decodificación, de acuerdo con las condiciones, el bloque de predicción F es el bloque de predicción A si el bloque de predicción F vecino al lado izquierdo está junto al lado izquierdo del bloque de predicción objetivo de codificación/decodificación, el bloque de predicción D si el bloque de predicción F está junto a la esquina inferior izquierda del bloque de predicción objetivo de codificación/decodificación, y el bloque de predicción E si el bloque de predicción F está junto a la esquina superior izquierda del bloque de predicción objetivo de codificación/decodificación. En el ejemplo de la Figura 7, el bloque de predicción A, el bloque de predicción D y el bloque de predicción E son los mismos bloques de predicción.
Como se ilustra en la Figura 8, incluso cuando el tamaño del bloque de predicción G vecino al lado superior del bloque de predicción objetivo de codificación/decodificación es mayor que el bloque de predicción objetivo de codificación/decodificación, de acuerdo con las condiciones, el bloque de predicción G es el bloque de predicción B si el bloque de predicción G vecino al lado superior está junto al lado superior del bloque de predicción objetivo de codificación/decodificación, el bloque de predicción C si el bloque de predicción G está junto a la esquina superior derecha del bloque de predicción objetivo de codificación/decodificación, y el bloque de predicción E si el bloque de predicción G está junto a la esquina superior izquierda del bloque de predicción objetivo de codificación/decodificación. En el ejemplo de la Figura 8, el bloque de predicción B, el bloque de predicción C y el bloque de predicción E son los mismos bloques de predicción.
Como se ilustra en la Figura 9, en instantáneas codificadas/decodificadas en posiciones temporalmente diferentes del bloque de predicción objetivo de codificación/decodificación, bloques de predicción codificados/decodificados T0 y T1 presentes en la misma posición que o próximo al bloque de predicción objetivo de codificación/decodificación se definen como bloques de predicción en la misma posición de tiempo diferente.
(POC)
Un POC es una variable asociada con una instantánea que hay que codificar y un valor que se incrementa en 1 en el orden de emisión/visualización de instantánea se establece como el POC. A base del valor de POC, es posible determinar si dos instantáneas son la misma instantánea, determinar una relación anteroposterior entre instantáneas en el orden de emisión/visualización y derivar una distancia de instantánea a instantánea. Por ejemplo, cuando dos instantáneas tienen el mismo valor de POC, puede determinarse que ambas instantáneas son la misma instantánea. Cuando dos instantáneas tienen diferentes valores de POC, puede determinarse que una instantánea que tiene el valor de POC más pequeño es una instantánea que se emite y visualiza antes, y una diferencia entre los POC de dos instantáneas indica una distancia de instantánea a instantánea en una dirección de eje de tiempo.
En lo sucesivo, se describirá una realización de la presente invención con referencia a los dibujos. La Figura 1 es un diagrama de bloques que ilustra una configuración de un dispositivo de codificación de instantáneas en movimiento de acuerdo con una realización de la presente invención. El dispositivo de codificación de instantáneas en movimiento de la realización incluye una memoria 101 de instantáneas, una unidad 117 de establecimiento de información de encabezamiento, un detector 102 de vectores de movimiento, una unidad 103 de derivación de diferencia de vector de movimiento, una unidad 104 de derivación de información de inter predicción, una unidad 105 de predicción con compensación de movimiento, una unidad 106 de intra predicción, una unidad 107 de determinación de procedimiento de predicción, una unidad 108 de creación de señal residual, una unidad 109 de transformación ortogonal y cuantificación, una primera unidad 118 de creación de flujo de bits, una segunda unidad 110 de creación de flujo de bits, una tercera unidad 111 de creación de flujo de bits, un multiplexor 112, una unidad 113 de decuantificación y transformación ortogonal inversa, una unidad 114 de superposición de señal de instantánea codificada, una memoria 115 de almacenamiento de información de codificación y una memoria 116 de instantáneas decodificadas.
La unidad 117 de establecimiento de información de encabezamiento establece información en secuencia, instantánea y unidades de corte. La información establecida en secuencia, instantánea y unidades de corte se suministra a la unidad 104 de derivación de información de inter predicción y la primera unidad 118 de creación de flujo de bits y se suministra también a todos los bloques aunque no se ilustra en el dibujo. La unidad 117 de establecimiento de información de encabezamiento también establece un mayor número de candidatos de fusión maxNumMergeCand descrito posteriormente.
La memoria 101 de instantáneas almacena temporalmente señales de instantáneas de instantáneas objetivo de codificación suministradas en el orden del tiempo en el que se capturan y visualizan las instantáneas. La memoria 101 de instantáneas suministra las señales de instantánea almacenada de instantáneas objetivo de codificación al detector 102 de vectores de movimiento, la unidad 107 de determinación de procedimiento de predicción y la unidad 108 de creación de señal residual en unidades de bloques de píxel predeterminados. En este caso, las señales de instantánea de las instantáneas almacenadas en el orden de captura/visualización se disponen en el orden de codificación y se emiten de la memoria 101 de instantáneas en unidades de bloques de píxeles.
El detector 102 de vectores de movimiento detecta un vector de movimiento de cada tamaño de bloque de predicción y cada modo de predicción en respectivos bloques de predicción realizando concordancia de bloques entre las señales de instantánea suministradas desde la memoria 101 de instantáneas y las instantáneas de referencia suministradas desde la memoria 116 de instantáneas decodificadas y suministra el vector de movimiento detectado a la unidad 105 de predicción con compensación de movimiento, la unidad 103 de derivación de diferencia de vector de movimiento y la unidad 107 de determinación de procedimiento de predicción.
La unidad 103 de derivación de diferencia de vector de movimiento deriva una pluralidad de candidatos de predictor de vector de movimiento usando información de codificación de señales de instantáneas codificadas almacenadas en la memoria 115 de almacenamiento de información de codificación para añadir los mismos en una lista de predictor de vector de movimiento, selecciona un predictor de vector de movimiento opcional entre la pluralidad de candidatos de predictor de vector de movimiento añadidos a la lista de predictor de vector de movimiento, deriva una diferencia de vector de movimiento a partir del predictor de vector de movimiento y el vector de movimiento detectado por el detector 102 de vectores de movimiento, y suministra la diferencia de vector de movimiento derivada a la unidad 107 de determinación de procedimiento de predicción. Además, la unidad 103 de derivación de diferencia de vector de movimiento suministra un índice de predictor de vector de movimiento para especificar el predictor de vector de movimiento seleccionado de entre los candidatos de predictor de vector de movimiento añadidos a la lista de predictor de vector de movimiento a la unidad 107 de determinación de procedimiento de predicción.
La unidad 104 de derivación de información de inter predicción deriva candidatos de fusión en un modo de fusión. La unidad 104 de derivación de información de inter predicción deriva una pluralidad de candidatos de fusión usando la información de codificación de los bloques de predicción codificados almacenados en la memoria 115 de almacenamiento de información de codificación para añadir los mismos a una lista de candidatos de fusión descrita posteriormente, selecciona un candidato de fusión óptimo entre la pluralidad de candidatos de fusión añadidos a la lista de candidatos de fusión, suministra información de inter predicción tal como las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] que indican si usar o no la predicción L0 y la predicción L1 de cada bloque de predicción del candidato de fusión seleccionado, los índices de referencia refIdxL0[xP][yP] y refIdxL1[xP][yP] y los vectores de movimiento mvL0[xP][yP] y mvL1[xP][yP] a la unidad 105 de predicción con compensación de movimiento, y suministra un índice de fusión para especificar el candidato de fusión seleccionado a la unidad 107 de determinación de procedimiento de predicción. En este punto, xP e yP son índices que indican la posición del píxel superior izquierdo de un bloque de predicción en la instantánea. La configuración y operaciones detalladas de la unidad 104 de derivación de información de inter predicción se describirán posteriormente.
La unidad 105 de predicción con compensación de movimiento crea una señal de instantánea de predicción realizando inter predicción (predicción con compensación de movimiento) a partir de instantáneas de referencia usando el vector de movimiento detectado por el detector 102 de vectores de movimiento y la unidad 104 de derivación de información de inter predicción y suministra la señal de instantánea de predicción a la unidad 107 de determinación de procedimiento de predicción. En la predicción L0 y la predicción L1, se realiza predicción en una dirección. En el caso de bipredicción (Pred_BI), se realiza predicción en dos direcciones para obtener señales de inter predicción en modos de predicción L0 y L1, que se multiplican adaptativamente por un factor de ponderación y se superponen añadiendo un valor de desplazamiento para crear de este modo una señal de instantánea de predicción final.
La unidad 106 de intra predicción realiza intra predicción en respectivos modos de intra predicción. La unidad 106 de intra predicción crea señales de instantáneas de predicción realizando intra predicción a partir de las señales de instantánea decodificada almacenadas en la memoria 116 de instantáneas decodificadas, selecciona un modo de intra predicción óptimo entre una pluralidad de modos de intra predicción, y suministra una señal de instantánea de predicción que corresponde al modo de intra predicción seleccionado a la unidad 107 de determinación de procedimiento de predicción.
La unidad 107 de determinación de procedimiento de predicción evalúa información de codificación, una cantidad de codificación de una señal residual, y una cantidad de distorsión entre una señal de instantánea de predicción y una señal de instantánea de cada procedimiento de predicción para determinar de este modo un modo de partición PartMode y un modo de predicción PredMode para identificar el modo de predicción es inter predicción (PRED_INTER) o intra predicción (PRED_INTRA) para cada bloque de codificación óptimo entre una pluralidad de procedimientos de predicción, determinar si la inter predicción (PRED_INTER) es un modo de fusión en respectivos bloques de predicción, determinar un índice de fusión cuando la inter predicción es el modo de fusión, y determinar un modo de inter predicción, un índice de predictor de vector de movimiento, los índices de referencia L0 y L1, una diferencia de vector de movimiento y similares cuando la inter predicción no es el modo de fusión, y suministra información de codificación que corresponde a la determinación a la segunda unidad 110 de creación de flujo de bits.
Además, la unidad 107 de determinación de procedimiento de predicción almacena información de codificación que incluye información que indica el procedimiento de predicción determinado y un vector de movimiento y similares que corresponden al procedimiento de predicción determinado en la memoria 115 de almacenamiento de información de codificación. La información de codificación almacenada en el presente documento incluye un modo de predicción PredMode de cada bloque de codificación, un modo de partición PartMode, las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] que indican si usar o no la predicción L0 y la predicción L1 de cada bloque de predicción, los índices de referencia L0 y L1 refIdxL0[xP][yP] y refIdxL1[xP][yP], y vectores de movimiento l0 y L1 mvL0[xP][yP] y mvL1[xP][yP], en este punto, xP e yP son índices que indican la posición del píxel superior izquierdo de un bloque de predicción en la instantánea. Cuando el modo de predicción PredMode es intra predicción (MODE_INTRA), tanto la bandera predFlagL0[xP][yP] que indica si usar o no predicción L0 y la bandera predFlagL1[xP][yP] que indica si usar o no predicción L1 son 0. Por otra parte, cuando el modo de predicción PredMode es inter predicción (MODE_INTER) y el modo de inter predicción es predicción L0 (Pred_L0), la bandera predFlagL0[xP][yP] que indica si usar o no predicción L0 es 1 y la bandera predFlagL1[xP][yP] que indica si usar o no predicción L1 es 0. Cuando el modo de inter predicción es predicción L1 (Pred_L1), la bandera predFlagL0[xP][yP] que indica si usar o no predicción L0 es 0 y la bandera predFlagL1[xP][yP] que indica si usar o no predicción L1 es 1. Cuando el modo de inter predicción es bipredicción (Pred_BI), tanto la bandera predFlagL0[xP][yP] que indica si usar o no predicción L0 y la bandera predFlagL1[xP][yP] que indica si usar o no predicción L1 son 1. La unidad 107 de determinación de procedimiento de predicción suministra la señal de instantánea de predicción que corresponde al modo de predicción determinado a la unidad 108 de creación de señal residual y la unidad 114 de superposición de señal de instantánea codificada.
La unidad 108 de creación de señal residual crea una señal residual realizando una resta entre una señal de instantánea que hay que codificar y la señal de instantánea de predicción y suministra la misma a la unidad 109 de transformación ortogonal y cuantificación.
La unidad 109 de transformación ortogonal y cuantificación realiza transformación ortogonal y cuantificación en la señal residual de acuerdo con un parámetro de decuantificación para crear una señal residual cuantificada y transformada ortogonalmente y suministra la misma a la tercera unidad 111 de creación de flujo de bits y la unidad 113 de decuantificación y transformación ortogonal inversa. Además, la unidad 109 de transformación ortogonal y cuantificación almacena el parámetro de cuantificación en la memoria 115 de almacenamiento de información de codificación.
La primera unidad 118 de creación de flujo de bits codifica la información en secuencia, instantánea y unidades de corte establecidos por la unidad 117 de establecimiento de información de encabezamiento para crear un primer flujo de bits y suministra el mismo al multiplexor 112. La primera unidad 118 de creación de flujo de bits también codifica un mayor número de candidatos de fusión maxNumMergeCand descrito posteriormente.
La segunda unidad 110 de creación de flujo de bits codifica la información de codificación que corresponde al procedimiento de predicción determinado por la unidad 107 de determinación de procedimiento de predicción para cada bloque de codificación y cada bloque de predicción. Específicamente, la segunda unidad 110 de creación de flujo de bits codifica información de codificación de acuerdo con una regla de sintaxis predeterminada descrita posteriormente para crear un segundo flujo de bits y suministra el mismo al multiplexor 112, la información de codificación que incluye información para identificar si cada bloque de codificación es un modo de salto, un modo de predicción PredMode para identificar inter predicción (PRED_INTER) e intra predicción (PRED_INTRA), un modo de partición PartMode, un modo de intra predicción cuando el modo de predicción es intra predicción (PRED_INTRA), una bandera para identificar si la inter predicción (PRED_INTER) es un modo de fusión, un índice de fusión cuando el modo de inter predicción es un modo de fusión, y un modo de inter predicción, un índice de predictor de vector de movimiento e información sobre la diferencia de vector de movimiento cuando el modo de inter predicción no es un modo de fusión. En la presente realización, cuando el bloque de codificación es un modo de salto (el elemento de sintaxis skip_flag[x0][y0] es 1), el valor del modo de predicción PredMode de un bloque de predicción es inter predicción (MODE_iNt ER), un modo de fusión (merge_flag[x0][y0] es 1) y el modo de partición (PartMode) es partición 2N*2N (PART_2Nx2N).
La tercera unidad 111 de creación de flujo de bits realiza codificación por entropía en la señal residual cuantificada y transformada ortogonalmente de acuerdo con una regla de sintaxis predeterminada para crear un tercer flujo de bits y suministra el mismo al multiplexor 112. El multiplexor 112 multiplica el primer, segundo y tercer flujos de bits de acuerdo con la regla de sintaxis predeterminada y emite el flujo de bits multiplexado.
La unidad 113 de decuantificación y transformación ortogonal inversa realiza decuantificación y transformación ortogonal inversa en la señal residual cuantificada y transformada ortogonalmente suministrada desde la unidad 109 de transformación ortogonal y cuantificación para crear la señal residual y suministra la misma a la unidad 114 de superposición de señal de instantánea codificada. La unidad 114 de superposición de señal de instantánea codificada superpone la señal de instantánea de predicción que corresponde a la determinación de la unidad 107 de determinación de procedimiento de predicción y la señal residual decuantificada y transformada ortogonalmente inversa por la unidad 113 de decuantificación y transformación ortogonal inversa para crear una instantánea decodificada y almacena la misma en la memoria 116 de instantáneas decodificadas. Un procedimiento de filtrado de reducción de la distorsión tal como distorsión de bloque que resulta de la codificación puede aplicarse a la instantánea decodificada y la instantánea resultante puede almacenarse en la memoria 116 de instantáneas decodificadas.
La Figura 2 es un diagrama de bloques que ilustra una configuración de un dispositivo de decodificación de instantáneas en movimiento de acuerdo con una realización de la presente invención, que corresponde al dispositivo de codificación de instantáneas en movimiento de la Figura 1. El dispositivo de decodificación de instantáneas en movimiento de la realización incluye un demultiplexor 201, un primer decodificador 212 de flujo de bits, un segundo decodificador 202 de flujo de bits, un tercer decodificador 203 de flujo de bits, una unidad 204 de derivación de vector de movimiento, una unidad 205 de derivación de información de inter predicción, una unidad 206 de predicción con compensación de movimiento, una unidad 207 de intra predicción, una unidad 208 de decuantificación y transformación ortogonal inversa, una unidad 209 de superposición de señal de instantánea codificada, una memoria 210 de almacenamiento de información de codificación y una memoria 211 de instantáneas decodificadas.
Dado que el procedimiento de decodificación del dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 2 corresponde al procedimiento de decodificación realizado en el dispositivo de codificación de instantáneas en movimiento ilustrado en la Figura 1, los respectivos componentes de la unidad 206 de predicción con compensación de movimiento, la unidad 208 de decuantificación y transformación ortogonal inversa, la unidad 209 de superposición de señal de instantánea codificada, la memoria 210 de almacenamiento de información de codificación y la memoria 211 de instantáneas decodificadas ilustrados en la Figura 2 tienen las funciones que corresponden a los respectivos componentes de la unidad 105 de predicción con compensación de movimiento, la unidad 113 de decuantificación y transformación ortogonal inversa, la unidad 114 de superposición de señal de instantánea codificada, la memoria 115 de almacenamiento de información de codificación y la memoria 116 de instantáneas decodificadas del dispositivo de codificación de instantáneas en movimiento ilustrado en la Figura 1.
El flujo de bits suministrado al demultiplexor 201 se demultiplexa de acuerdo con una regla de sintaxis predeterminada y el flujo de bits demultiplexado se suministra al primer, segundo y tercer decodificadores de flujo de bits 212, 202 y 203.
El primer decodificador 212 de flujo de bits decodifica el flujo de bits suministrado para obtener información en secuencia, instantánea y unidades de corte. La información obtenida en secuencia, instantánea y unidades de corte se suministra a todos los bloques aunque no se ilustran en el dibujo. El primer decodificador 212 de flujo de bits también decodifica un mayor número de candidatos de fusión maxNumMergeCand descrito posteriormente.
El segundo decodificador 202 de flujo de bits decodifica el flujo de bits suministrado para obtener información en unidades de bloque de codificación e información de codificación en unidades de bloque de predicción. Específicamente, el segundo decodificador 202 de flujo de bits decodifica información de codificación de acuerdo con la regla de sintaxis predeterminada para obtener información de codificación, almacena la información de codificación tal como el modo de predicción decodificado PredMode y el modo de partición decodificado PartMode en la memoria 210 de almacenamiento de información de codificación, y suministra la misma a la unidad 204 de derivación de vector de movimiento, la unidad 205 de derivación de información de inter predicción, o la unidad 207 de intra predicción, la información de codificación que incluye información para identificar si cada bloque de codificación es un modo de salto, un modo de predicción PredMode para identificar si el modo de predicción es inter predicción (PRED_INTER) o intra predicción (PRED_INTRA), un modo de partición PartMode, una bandera para identificar si inter predicción (PRED_INTER) es un modo de fusión, un índice de fusión cuando la inter predicción es un modo de fusión, y un modo de inter predicción, un índice de predictor de vector de movimiento, y una diferencia de vector de movimiento cuando la inter predicción no es un modo de fusión. En la presente realización, cuando el bloque de codificación es un modo de salto (el elemento de sintaxis skip_flag[x0][y0] es 1), el valor del modo de predicción PredMode de un bloque de predicción es inter predicción (MODE_INTER), un modo de fusión (merge_flag[x0][y0] es 1) y el modo de partición (PartMode) es partición 2N*2N (PART_2Nx2N).
El tercer decodificador 203 de flujo de bits decodifica el flujo de bits suministrado para derivar una señal residual cuantificada y transformada ortogonalmente y suministra la señal residual cuantificada y transformada ortogonalmente a la unidad 208 de decuantificación y transformación ortogonal inversa.
Cuando el modo de predicción PredMode de un bloque de predicción objetivo de decodificación no es la inter predicción (PREDJNTER) o el modo de fusión, la unidad 204 de derivación de vector de movimiento deriva una pluralidad de candidatos de predictor de vector de movimiento usando la información de codificación de la señal de instantánea decodificada almacenada en la memoria 210 de almacenamiento de información de codificación para añadir la misma a una lista de predictor de vector de movimiento descrito posteriormente, y selecciona un predictor de vector de movimiento que corresponde al índice de predictor de vector de movimiento decodificado y suministrado por el segundo decodificador 202 de flujo de bits entre la pluralidad de candidatos de predictor de vector de movimiento añadidos en la lista de predictores de vector de movimiento, deriva un vector de movimiento a partir del predictor de vector de movimiento seleccionado y la diferencia de vector decodificada por el segundo decodificador 202 de flujo de bits, suministra la misma a la unidad 206 de predicción con compensación de movimiento junto con otros artículos de información de codificación, y almacena los mismos en la memoria 210 de almacenamiento de información de codificación. La información de codificación del bloque de predicción suministrado y almacenado en el presente documento incluye las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] que indican si usar o no la predicción L0 y la predicción L1, los índices de referencia L0 y L1 refIdxL0[xP][yP] y refIdxL1[xP][yP], y vectores de movimiento L0 y L1 mvL0[xP][yP] y mvL1[xP][yP], en este punto, xP e yP son índices que indican la posición del píxel superior izquierdo de un bloque de predicción en la instantánea. Cuando el modo de predicción PredMode es inter predicción (MODE_INTER) y el modo de inter predicción es predicción L0 (Pred_L0), una bandera predFlagL0 que indica si usar o no predicción L0 es 1 y una bandera predFlagL1 que indica si usar o no predicción L1 es 0. Cuando el modo de inter predicción es predicción L1 (Pred_L1), una bandera predFlagL0 que indica si usar o no predicción L0 es 0 y una bandera predFlagL1 que indica si usar o no predicción L1 es 1. Cuando el modo de inter predicción es bipredicción (Pred_BI), tanto la bandera predFlagL0 que indica si usar o no predicción L0 como la bandera predFlagL1 que indica si usar o no predicción L1 son 1.
La unidad 205 de derivación de información de inter predicción deriva candidatos de fusión cuando el modo de predicción PredMode de un bloque de predicción objetivo de decodificación es inter predicción (PREDJNTER) y un modo de fusión. La unidad 205 de derivación de información de inter predicción deriva una pluralidad de candidatos de fusión usando la información de codificación decodificada del bloque de predicción almacenado en la memoria 115 de almacenamiento de información de codificación para añadir la misma a una lista de candidatos de fusión descrita posteriormente, selecciona un candidato de fusión que corresponde al índice de fusión decodificado y suministrado por el segundo decodificador 202 de flujo de bits entre la pluralidad de candidatos de fusión añadidos a la lista de candidatos de fusión, suministra información de inter predicción que incluye las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] que indican si usar o no la predicción L0 y la predicción L1 del candidato de fusión seleccionado, los índices de referencia L0 y L1 refIdxL0[xP][yP] y refIdxL1[xP][yP], y vectores de movimiento L0 y L1 mvL0[xP][yP] y mvL1[xP][yP] a la unidad 206 de predicción con compensación de movimiento, y almacena la misma en la memoria 210 de almacenamiento de información de codificación. En este punto, xP e yP son índices que indican la posición del píxel superior izquierdo de un bloque de predicción en la instantánea. La configuración y operaciones detalladas de la unidad 205 de derivación de información de inter predicción se describirán posteriormente.
La unidad 206 de predicción con compensación de movimiento crea una señal de instantánea de predicción realizando inter predicción (predicción con compensación de movimiento) a partir de las instantáneas de referencia almacenadas en la memoria 211 de instantáneas decodificadas usando la información de inter predicción derivada por la unidad 204 de derivación de vector de movimiento o la unidad 205 de derivación de información de inter predicción y suministra la señal de instantánea de predicción a la unidad 209 de superposición de señal de instantánea codificada. En el caso de bipredicción (Pred_BI), predicción con compensación de movimiento se realiza en dos modos de predicción L0 y predicción L1 para obtener señales de instantáneas de predicción con compensación de movimiento que se multiplican adaptativamente por un factor de ponderación y se superponen para crear de este modo una señal de instantánea de predicción final.
La unidad 207 de intra predicción realiza intra predicción cuando el modo de predicción PredMode del bloque de predicción objetivo de decodificación es intra predicción (PRED_INTRA). La información de codificación decodificada por el segundo decodificador 202 de flujo de bits incluye un modo de intra predicción, y la unidad 207 de intra predicción crea una señal de instantánea de predicción realizando intra predicción a partir de la señal de instantánea decodificada almacenada en la memoria 211 de instantáneas decodificadas de acuerdo con el modo de intra predicción y suministra la señal de instantánea de predicción a la unidad 209 de superposición de señal de instantánea codificada. Tanto las banderas predFlagL0[xP][yP] como predFlagL1[xP][yP] que indican si usar o no la predicción L0 y la predicción L1 se establecen a 0 y se almacenan en la memoria 210 de almacenamiento de información de codificación. En este punto, xP e yP son índices que indican la posición del píxel superior izquierdo de un bloque de predicción en la instantánea.
La unidad 208 de decuantificación y transformación ortogonal inversa realiza decuantificación y transformación ortogonal inversa en la señal residual cuantificada y transformada ortogonalmente decodificada por el segundo decodificador 202 de flujo de bits para obtener una señal residual decuantificada y transformada ortogonalmente inversa.
La unidad 209 de superposición de señal de instantánea codificada superpone la señal de instantánea de predicción inter predicha por la unidad 206 de predicción con compensación de movimiento o la señal de instantánea de predicción intra predicha por la unidad 207 de intra predicción en la señal residual decuantificada y transformada ortogonalmente inversa por la unidad 208 de decuantificación y transformación ortogonal inversa para decodificar una señal de instantánea decodificada y almacena la misma en la memoria 211 de instantáneas decodificadas. Cuando la señal de instantánea decodificada se almacena en la memoria 211 de instantáneas decodificadas, un procedimiento de filtrado de reducción de una distorsión de bloque o similar que resulta de la codificación puede realizarse en la instantánea decodificada y almacenada en la memoria 211 de instantáneas decodificadas.
(Sintaxis)
A continuación, se describirá una sintaxis que es una regla común de codificación y decodificación de un flujo de bits de instantánea en movimiento que se codifica por un dispositivo de codificación de instantáneas en movimiento que emplea un procedimiento de predicción de vector de movimiento de acuerdo con la presente realización y se decodifica por un dispositivo de decodificación.
En la presente realización, la unidad 117 de establecimiento de información de encabezamiento establece un mayor número de candidatos de fusión maxNumMergeCand añadido a la lista de candidatos de fusión mergeCandList en secuencia, instantánea o unidades de corte, y elementos de sintaxis se codifican por la primera unidad 118 de creación de flujo de bits del dispositivo de codificación de instantáneas en movimiento y se decodifican por el primer decodificador 212 de flujo de bits del dispositivo de decodificación de instantáneas en movimiento. Puede establecerse un valor de 0 a 5 al mayor número de candidatos de fusión maxNumMergeCand, y principalmente, se establece un valor pequeño al mayor número de candidatos de fusión maxNumMergeCand cuando tiene que reducirse una cantidad de procesamiento del dispositivo de codificación de instantáneas en movimiento. Cuando se establece 0 al mayor número de candidatos de fusión maxNumMergeCand, información de inter predicción predeterminada se usa como un candidato de fusión. En la descripción de la presente realización, el mayor número de candidatos de fusión maxNumMergeCand se establece a 5.
La Figura 10 ilustra una regla de sintaxis descrita en unidades de bloque de predicción. En la presente realización, cuando el bloque de codificación es un modo de salto (el elemento de sintaxis skip_flag[x0][y0] es 1), el valor del modo de predicción PredMode del bloque de predicción es inter predicción (m Od E_INTEr ) y el modo de fusión (merge_flag[x0][y0] es 1) y el modo de partición (PartMode) es partición 2N*2N (PART_2Nx2N). Cuando la bandera merge_flag[x0][y0] es 1, indica que el modo de predicción es un modo de fusión. Cuando el valor del mayor número de candidatos de fusión maxNumMergeCand es mayor que 1, se proporciona un elemento de sintaxis merge_idx[x0][y0] de un índice de una lista de fusión que es la lista de candidatos de fusión a la que hacer referencia. Cuando la bandera skip_flag[x0][y0] es 1, indica que el bloque de codificación es un modo de salto. Cuando el valor del mayor número de candidatos de fusión maxNumMergeCand es mayor que 1, se proporciona un elemento de sintaxis merge_idx[x0][y0] de un índice de una lista de fusión que es una lista de candidatos de fusión a la que hacer referencia.
Cuando el valor del modo de predicción PredMode de un bloque de predicción es inter predicción (MODE_INTER), se proporciona una bandera merge_flag[x0][y0] que indica si el bloque de predicción es un modo de fusión. En este punto, x0 e y0 son índices que indican la posición de un píxel en la esquina superior izquierda de un bloque de predicción en una instantánea de una señal de luminancia, y la bandera merge_flag[x0][y0] es una bandera que indica si el bloque de predicción colocado en (x0, y0) en la instantánea es un modo de fusión.
Posteriormente, cuando la bandera merge_flag[x0][y0] es 1, indica que el bloque de predicción es un modo de fusión. Cuando el valor del mayor número de candidatos de fusión maxNumMergeCand es 1, se proporciona un elemento de sintaxis merge_idx[x0][y0] de un índice de una lista de fusión que es una lista de candidatos de fusión a la que hacer referencia. En este punto, x0 e y0 son índices que indican la posición de un píxel en la esquina superior izquierda de un bloque de predicción en la instantánea y un índice merge_idx[x0][y0] es un índice de fusión de un bloque de predicción colocado en (x0,y0) en la instantánea. Cuando un índice de fusión se somete a codificación/decodificación por entropía, menor será el número de candidatos de fusión, menor será la cantidad de codificación y menor será la cantidad de procesamiento con los que puede realizarse la codificación/decodificación. La Figura 11 ilustra un ejemplo de un símbolo (código) de entropía del elemento de sintaxis merge_idx[x0][y0] de un índice de fusión. Cuando el mayor número de candidatos de fusión es 2 y los índices de fusión son 0 y 1, los símbolos del elemento de sintaxis merge_idx[x0][y0] del índice de fusión son '0' y '1', respectivamente. Cuando el mayor número de candidatos de fusión es 3 y los índices de fusión son 0, 1 y 2, los símbolos del elemento de sintaxis merge_idx[x0][y0] del índice de fusión son '0', '10' y '11', respectivamente. Cuando el mayor número de candidatos de fusión es 4 y los índices de fusión son 0, 1,2 y 3, los símbolos del merge_idx[x0][y0] del índice de fusión son '0', '10', '110' y '111', respectivamente. Cuando el mayor número de candidatos de fusión es 5 y los índices de fusión son 0, 1, 2, 3 y 4, los símbolos del merge_idx[x0][y0] del índice de fusión son '0', '10', '110', '1110' y '1111', respectivamente. Es decir, cuando se conoce el mayor número de candidatos de fusión maxNumMergeCand añadidos a la lista de candidatos de fusión mergeCandList, un índice de fusión que tiene el menor mayor número de candidatos de fusión maxNumMergeCand puede representarse con una cantidad de codificación más pequeña. En la presente realización, como se ilustra en la Figura 11, la cantidad de codificación de los índices de fusión se reduce conmutando símbolos que indican los valores de los índices de fusión de acuerdo con el número de candidatos de fusión. En la presente realización, un índice de fusión que tiene un valor mayor que o igual al valor del mayor número de candidatos de fusión maxNumMergeCand no se codificará o decodificará. Cuando el mayor número de candidatos de fusión maxNumMergeCand es 1, el índice de fusión no se codifica/decodifica y el índice de fusión es 0. Además, el mayor número de candidatos de fusión es 0, no se requiere el índice de fusión dado que la información de inter predicción predeterminada se usa como el candidato de fusión.
Por otra parte, cuando la bandera merge_flag[x0][y0] es 0, indica que el modo de predicción no es un modo de fusión. Cuando el tipo de corte es el corte B, se proporciona un elemento de sintaxis inter_pred_flag[x0][y0] para identificar un modo de inter predicción, y la predicción L0 (Pred_L0), la predicción L1 (Pred_L1) y la bipredicción (Pred_BI) se identifican por el elemento de sintaxis. Para las respectivas listas L0 y L1 se proporcionan un elemento de sintaxis ref_idx_l0[x0][y0] y ref_idx_l1[x0][y0] de un índice de referencia para identificar una instantánea de referencia y un elemento de sintaxis mvd_l0[x0][y0][j] y mvd_l1[x0][y0][j] de una diferencia de vector de movimiento que es una diferencia entre el predictor de vector de movimiento y el vector de movimiento del bloque de predicción obtenido por detección de vector de movimiento. En este punto, x0 e y0 son índices que indican la posición de un píxel en la esquina superior izquierda de un bloque de predicción en la instantánea, ref_idx_l0[x0][y0] y mvd_l0[x0][y0][j] son los índice de referencia L0 y diferencia de vector de movimiento del bloque de predicción colocado en (x0, y0) en la instantánea, respectivamente, y ref_idx_l1[x0][y0] y mvd_l1[x0][y0][j] son el índice de referencia L1 y diferencia de vector de movimiento del bloque de predicción colocado en (x0, y0) en la instantánea, respectivamente. Además, j indica el componente de la diferencia de vector de movimiento, j = 0 indica un componente x, y j = 1 indica un componente y. Posteriormente, se proporciona un elemento de sintaxis mvp_idx_l0[x0][y0] y mvp_idx_l1[x0][y0] de un índice de una lista de predictor de vector de movimiento que es una lista de candidatos de predictor de vector de movimiento a la que hacer referencia. En este punto, x0 e y0 son índices que indican la posición de un píxel en la esquina superior izquierda de un bloque de predicción en la instantánea, y mvp_idx_l0[x0][y0] y mvp_idx_l1[x0][y0] es un índice de predictor de vector de movimiento L0 y L1 del bloque de predicción colocado en (x0, y0) en la instantánea. En la presente realización de la presente invención, el valor del número de estos candidatos se establece a 2.
Un procedimiento de derivación de información de inter predicción de acuerdo con la realización se realiza por la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento ilustrado en la Figura 1 y la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 2.
El procedimiento de derivación de información de inter predicción de acuerdo con la realización se describirá con referencia a los dibujos. Se realiza un procedimiento de predicción de vector de movimiento en el procedimiento de codificación y decodificación en unidades de bloques de predicción que constituyen un bloque de codificación. Cuando el modo de predicción PredMode de un bloque de predicción es inter predicción (MODE_INTER) y un modo de fusión que incluye un modo de salto, el procedimiento de predicción de vector de movimiento se realiza cuando se deriva un modo de predicción, un índice de referencia y un vector de movimiento de un bloque de predicción objetivo de codificación usando un modo de predicción, un índice de referencia y un vector de movimiento de un bloque de predicción codificado en el caso de codificación y se realiza cuando se deriva un modo de predicción, un índice de referencia y un vector de movimiento de un bloque de predicción objetivo de decodificación usando un modo de predicción, un índice de referencia y un vector de movimiento de un bloque de predicción decodificado en el caso de decodificación.
En el modo de fusión, los candidatos de fusión se derivan a partir de bloques de predicción que incluyen un bloque de predicción Col (T0 o T1) presentes en la misma posición de tiempo diferente o próxima a un bloque de predicción objetivo de codificación descrito con referencia a la Figura 9 además de los cinco bloques de predicción del bloque de predicción A vecino al lado izquierdo, el bloque de predicción B vecino al lado superior, el bloque de predicción C vecino a la esquina superior derecha, el bloque de predicción D vecino a la esquina inferior izquierda y el bloque de predicción E vecino a la esquina superior izquierda descrita con referencia a las Figuras 5, 6, 7 y 8. La unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento añaden estos candidatos de fusión a la lista de candidatos de fusión en el mismo procedimiento predeterminado en los lados de codificador y decodificador. La unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento determina el índice de fusión para identificar los elementos de la lista de candidatos de fusión para realizar codificación con la ayuda de la segunda unidad 110 de creación de flujo de bits. La unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento recibe el índice de fusión decodificado por el segundo decodificador 202 de flujo de bits, selecciona el bloque de predicción que corresponde al índice de fusión de la lista de candidatos de fusión, y realiza predicción con compensación de movimiento usando la información de inter predicción tal como el modo de predicción, el índice de referencia y el vector de movimiento del candidato de fusión seleccionado.
Con referencia a los dibujos se describirá un procedimiento de derivación de información de inter predicción de acuerdo con un primer ejemplo práctico de la realización. La Figura 12 es un diagrama que ilustra una configuración detallada de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento ilustrado en la Figura 1 de acuerdo con el primer ejemplo práctico de la realización. La Figura 13 es un diagrama que ilustra una configuración detallada de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 2 de acuerdo con el primer ejemplo práctico de la realización.
Porciones rodeadas por un fotograma representado por una línea continua en negrita en las Figuras 12 y 13 indican la unidad 104 de derivación de información de inter predicción y la unidad 205 de derivación de información de inter predicción, respectivamente.
Además, las porciones rodeadas por una línea de puntos en negrita dentro los fotogramas indican una unidad 120 de creación de lista de candidatos de fusión del dispositivo de codificación de instantáneas en movimiento y una unidad 220 de creación de lista de candidatos de fusión del dispositivo de decodificación de instantáneas en movimiento, que derivan candidatos de fusión para crear una lista de candidatos de fusión. Lo mismo se proporciona en un dispositivo de decodificación de instantáneas en movimiento que corresponde al dispositivo de codificación de instantáneas en movimiento de la realización de modo que se obtiene el mismo resultado de determinación consistente en codificación y decodificación.
En un procedimiento de derivación de información de inter predicción de acuerdo con la realización, en un procedimiento de derivación de candidato de fusión y un procedimiento de creación de lista de candidatos de fusión de la unidad 120 de creación de lista de candidatos de fusión del dispositivo de codificación de instantáneas en movimiento y la unidad 220 de creación de lista de candidatos de fusión del dispositivo de decodificación de instantáneas en movimiento, se derivan candidatos de fusión de un bloque de predicción objetivo de procesamiento y se crea una lista de candidatos de fusión sin hacer referencia a un bloque de predicción incluido en el mismo bloque de codificación que un bloque de codificación que incluye el bloque de predicción objetivo de procesamiento. De este modo, cuando el modo de partición (PartMode) de un bloque de codificación no es la partición 2N*2N (PART_2Nx2N) (es decir, cuando una pluralidad de bloques de predicción están presentes en un bloque de codificación), el codificador puede realizar el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión en paralelo para cada bloque de predicción en un bloque de codificación.
El procedimiento paralelo de derivación de la lista de candidatos de fusión de cada bloque de predicción en un bloque de codificación se describirá para cada modo de partición (PartMode) con referencia a las Figuras 14A a 14H. Las Figuras 14A a 14H son diagramas para la descripción de un bloque de predicción vecino a un bloque de predicción objetivo de procesamiento para cada modo de partición (PartMode) de un bloque de codificación objetivo de procesamiento. En las Figuras 14A a 14H, A0, B0, C0, D0 y E0 indican un bloque de predicción A vecino al lado izquierdo, un bloque de predicción B vecino al lado superior, un bloque de predicción C vecino a la esquina superior derecha, un bloque de predicción D vecino a la esquina inferior izquierda y un bloque de predicción E vecino a la esquina superior izquierda de cada bloque de predicción objetivo de procesamiento del cual el índice de partición PartIdx es 0, respectivamente. Además, A1, B1, C l, D1 y E1 indican un bloque de predicción A vecino al lado izquierdo, un bloque de predicción B vecino al lado superior, un bloque de predicción C vecino a la esquina superior derecha, un bloque de predicción D vecino a la esquina inferior izquierda y un bloque de predicción E vecino a la esquina superior izquierda de cada bloque de predicción objetivo de procesamiento del cual el índice de partición PartIdx es 1, respectivamente. Además, A2, B2, C2, D2 y E2 indican un bloque de predicción A vecino al lado izquierdo, un bloque de predicción B vecino al lado superior, un bloque de predicción C vecino a la esquina superior derecha, un bloque de predicción D vecino a la esquina inferior izquierda y un bloque de predicción E vecino a la esquina superior izquierda de cada bloque de predicción objetivo de procesamiento del cual el índice de partición PartIdx es 2, respectivamente. Además, A3, B3, C3, D3 y E3 indican un bloque de predicción A vecino al lado izquierdo, un bloque de predicción B vecino al lado superior, un bloque de predicción C vecino a la esquina superior derecha, un bloque de predicción D vecino a la esquina inferior izquierda y un bloque de predicción E vecino a la esquina superior izquierda de cada bloque de predicción objetivo de procesamiento del cual el índice de partición PartIdx es 3, respectivamente.
Las Figuras 14B, 14C y 14D son diagramas que ilustran bloques de predicción vecinos cuando el modo de partición (PartMode) de particionamiento de un bloque de codificación objetivo de procesamiento en dos bloques de predicción dispuestos en la dirección vertical es partición 2N*N (PART_2NxN), partición 2N*nU (PART_2NxnU) y partición 2N*nD (PART_2NxnD), respectivamente. Un bloque de predicción B1 vecino a un bloque de predicción objetivo de procesamiento que tiene el PartIdx 1 es un bloque de predicción que tiene el PartIdx 0. Por lo tanto, cuando el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión se realizan para el bloque de predicción que tiene el PartIdx 1 haciendo referencia al bloque de predicción B1, los procedimientos no pueden realizarse a no ser que el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para el bloque de predicción que tiene el PartIdx 0 que pertenece al mismo bloque de codificación que es el bloque de predicción B1 y se especifican los candidatos de fusión que hay que usar. Por lo tanto, en el procedimiento de derivación de información de inter predicción de acuerdo con la realización, cuando el modo de partición (PartMode) es partición 2N*N (PART_2NxN), partición 2N*nU (PART_2NxnU) y partición 2N*nD (PART_2NxnD) y PartIdx del bloque de predicción objetivo de procesamiento es 1, realizando el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para el bloque de predicción que tiene el PartIdx 1 sin hacer referencia al bloque de predicción B1 que es el bloque de predicción que tiene el PartIdx 0, es posible realizar el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para dos bloques de predicción en el bloque de codificación en paralelo.
Las Figuras 14E, 14F y 14G son diagramas que ilustran bloques de predicción vecinos cuando el modo de partición (PartMode) de particionamiento de un bloque de codificación objetivo de procesamiento en dos bloques de predicción dispuestos en la dirección horizontal es partición N*2N (PART_Nx2N), partición nL*2N (PART_nLx2N) y partición nR*2N (PART_nRx2N), respectivamente. Un bloque de predicción A1 vecino a un bloque de predicción objetivo de procesamiento que tiene el PartIdx 1 es un bloque de predicción que tiene el PartIdx 0. Por lo tanto, cuando el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión se realizan para el bloque de predicción que tiene el PartIdx 1 haciendo referencia al bloque de predicción A1, los procedimientos no pueden realizarse a no ser que el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para el bloque de predicción que tiene el PartIdx 0 que pertenece al mismo bloque de codificación que es el bloque de predicción A1 y se especifican los candidatos de fusión que hay que usar. Por lo tanto, en el procedimiento de derivación de información de inter predicción de acuerdo con la realización, cuando el modo de partición (PartMode) es partición N*2N (PART_Nx2N), partición nL*2N (PART_nLx2N) y partición nR*2N (PART_nRx2N) y PartIdx del bloque de predicción objetivo de procesamiento es 1, realizando el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para el bloque de predicción que tiene el PartIdx 1 sin hacer referencia al bloque de predicción A1 que es el bloque de predicción que tiene el PartIdx 0, es posible realizar el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para dos bloques de predicción en el bloque de codificación en paralelo.
La Figura 14H es un diagrama que ilustra bloques de predicción vecinos cuando el modo de partición (PartMode) de particionamiento de un bloque de codificación objetivo de procesamiento en cuatro bloques de predicción tanto en las direcciones verticales como horizontales es la partición N*N (PART_NxN). Un bloque de predicción A1 vecino a un bloque de predicción objetivo de procesamiento que tiene el PartIdx 1 es un bloque de predicción que tiene el PartIdx 0. Por lo tanto, cuando el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión se realizan para el bloque de predicción que tiene el PartIdx 1 haciendo referencia al bloque de predicción A1, los procedimientos no pueden realizarse a no ser que se completen el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para el bloque de predicción que tiene el PartIdx 0 que pertenece al mismo bloque de codificación que es el bloque de predicción A1 y se especifiquen los candidatos de fusión que hay que usar. Por lo tanto, en el procedimiento de derivación de información de inter predicción de acuerdo con la realización, cuando el modo de partición (PartMode) es partición N*N (PART_NxN) y PartIdx del bloque de predicción objetivo de procesamiento es 1, realizando el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para el bloque de predicción que tiene el PartIdx 1 sin hacer referencia al bloque de predicción A1 que es el bloque de predicción que tiene el PartIdx 0, es posible realizar el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para respectivos bloques de predicción en el bloque de codificación en paralelo. Un bloque de predicción B2 vecino a un bloque de predicción objetivo de procesamiento que tiene el PartIdx 2 es un bloque de predicción que tiene el PartIdx 0, y un bloque de predicción C2 es un bloque de predicción que tiene el PartIdx 1. Por lo tanto, cuando el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión se realizan para el bloque de predicción que tiene el PartIdx 2 haciendo referencia a los bloques de predicción B2 y C2, los procedimientos no pueden realizarse a no ser que se completen el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para los bloques de predicción que tienen el PartIdx 0 y 1 que pertenece a los mismos bloques de codificación que son los bloques de predicción b2 y C2 y se especifiquen los candidatos de fusión que hay que usar. Por lo tanto, en el procedimiento de derivación de información de inter predicción de acuerdo con la realización, cuando el modo de partición (PartMode) es partición N*N (PART_NxN) y PartIdx del bloque de predicción objetivo de procesamiento es 2, realizando el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para el bloque de predicción que tiene el PartIdx 2 sin hacer referencia a los bloques de predicción B2 y C2 que son los bloques de predicción que tienen el PartIdx 0 y 1, es posible realizar el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para respectivos bloques de predicción en el bloque de codificación en paralelo. Un bloque de predicción E3 vecino a un bloque de predicción objetivo de procesamiento que tiene el PartIdx 3 es un bloque de predicción que tiene el PartIdx 0, un bloque de predicción B3 es un bloque de predicción que tiene PartIdx 1, y un bloque de predicción A3 es un bloque de predicción que tiene el PartIdx 2. Por lo tanto, cuando el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión se realizan para el bloque de predicción que tiene el PartIdx 3 haciendo referencia a los bloques de predicción E3, B3 y A3, los procedimientos no pueden realizarse a no ser que se completen el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para los bloques de predicción que tienen el PartIdx 0, 1, y 2 que pertenece a los mismos bloques de codificación que son los bloques de predicción E3, B3 y A3 y se especifiquen los candidatos de fusión que hay que usar. Por lo tanto, en el procedimiento de derivación de información de inter predicción de acuerdo con la realización, cuando el modo de partición (PartMode) es partición N*N (PART_NxN) y PartIdx del bloque de predicción objetivo de procesamiento es 3, realizando el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para el bloque de predicción que tiene el PartIdx 3 sin hacer referencia a los bloques de predicción E3, B3 y A3 que son los bloques de predicción que tienen el PartIdx 0, 1, y 2, es posible realizar el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión para respectivos bloques de predicción en el bloque de codificación en paralelo.
La unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento ilustrado en la Figura 12 incluye una unidad 130 de creación de lista de candidatos de fusión, una unidad 131 de creación de candidato de fusión espacial, una unidad 132 de derivación de índice de referencia de candidato de fusión temporal, una unidad 133 de derivación de candidato de fusión temporal, una unidad 134 de derivación de candidato de fusión adicional, una unidad 136 de limitación de candidatos de fusión y una unidad 137 de selección de información de inter predicción.
La unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 13 incluye una unidad 230 de creación de lista de candidatos de fusión, una unidad 231 de creación de candidato de fusión espacial, una unidad 232 de derivación de índice de referencia de candidato de fusión temporal, una unidad 233 de derivación de candidato de fusión temporal, una unidad 234 de derivación de candidato de fusión adicional, una unidad 236 de limitación de candidatos de fusión y una unidad 237 de selección de información de inter predicción.
La Figura 15 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidato de fusión y un procedimiento de creación de lista de candidatos de fusión que son las funciones comunes de la unidad 120 de creación de lista de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 220 de creación de lista de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento de acuerdo con el primer ejemplo práctico de la realización de la presente invención.
En lo sucesivo, los respectivos procedimientos se describirán en secuencia. En la siguiente descripción, aunque se describe un caso en el que el tipo de corte slice_type es corte B, a no ser que se exponga de otra manera, lo mismo puede aplicarse al corte P. Sin embargo, cuando el tipo de corte slice_type es corte P, dado que el modo de inter predicción incluye predicción L0 (Pred_L0) únicamente y no incluye predicción L1 (Pred_L1) y bipredicción (Pred_BI), pueden omitirse los procedimientos asociados con L1. En la presente realización, en el dispositivo de codificación de instantáneas en movimiento y el dispositivo de decodificación de instantáneas en movimiento, cuando el valor del mayor número de candidatos de fusión maxNumMergeCand es 0, pueden omitirse el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión de la Figura 15.
Primero, la unidad 130 de creación de lista de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 230 de creación de lista de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento crean una lista de candidatos de fusión mergeCandList (etapa S100 de la Figura 15). La lista de candidatos de fusión mergeCandList tiene una estructura de lista e incluye un índice de fusión que indica las ubicaciones en la lista de candidatos de fusión y un área de almacenamiento que almacena un candidato de fusión que corresponde a un índice como un elemento. El número de índice de fusión comienza con 0, y un candidato de fusión se almacena en el área de almacenamiento de la lista de candidatos de fusión mergeCandList. En el siguiente procedimiento, un bloque de predicción que sirve como un candidato de fusión que corresponde a un índice de fusión i añadido a la lista de candidatos de fusión mergeCandList se expresa como mergeCandList[i] para distinguir la notación de disposición de lista de candidatos de fusión mergeCandList. En la presente realización, se supone que la lista de candidatos de fusión mergeCandList puede añadir al menos cinco candidatos de fusión (información de inter predicción). Además, se establece 0 a una variable numMergeCand que indica el número de candidatos de fusión añadidos a la lista de candidatos de fusión mergeCandList. La lista de candidatos de fusión creada mergeCandList se suministra a la unidad 131 de creación de candidato de fusión espacial de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 231 de creación de candidato de fusión espacial de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento.
La unidad 131 de creación de candidato de fusión espacial de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 231 de creación de candidato de fusión espacial de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento derivan los candidatos de fusión espaciales A, B, C, D y E de los respectivos bloques de predicción A, B, C, D y E vecinos al bloque objetivo de codificación/decodificación a partir de la información de codificación almacenada en la memoria 115 de almacenamiento de información de codificación del dispositivo de codificación de instantáneas en movimiento o la memoria 210 de almacenamiento de información de codificación del dispositivo de decodificación de instantáneas en movimiento y añaden los candidatos de fusión espaciales derivados a la lista de candidatos de fusión mergeCandList (etapa S101 de la Figura 15). En este punto, se define N que indica A, B, C, D, E o uno cualquiera de los candidatos de fusión temporales Col. Puede usarse una bandera availableFlagN que indica si se derivan información de inter predicción de un bloque de predicción N como un candidato de fusión espacial N, un índice de referencia L0 refIdxL0N y un índice de referencia L1 refIdxL1N del candidato de fusión espacial N, una bandera de predicción L0 predFlagL0N que indica si realizar o no predicción L0, una bandera de predicción L1 predFlagL1N que indica si realizar o no predicción L1, un vector de movimiento L0 mvL0N y un vector de movimiento L1 mvL1N. Sin embargo, en la presente realización, dado que se derivan candidatos de fusión sin hacer referencia a un bloque de predicción incluido en el mismo bloque de codificación que el bloque de codificación que incluye un bloque de predicción objetivo de procesamiento, no se derivan los candidatos de fusión espaciales incluidos en el mismo bloque de codificación que el bloque de codificación que incluye el bloque de predicción objetivo de procesamiento. El flujo de un procedimiento detallado de la etapa S101 se describirá posteriormente con referencia al diagrama de flujo de la Figura 16. La lista de candidatos de fusión mergeCandList se suministra a la unidad 133 de derivación de candidato de fusión temporal de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 233 de derivación de candidato de fusión temporal de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento.
Posteriormente, la unidad 132 de derivación de índice de referencia de candidato de fusión temporal de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 232 de derivación de índice de referencia de candidato de fusión temporal de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento derivan los índices de referencia de candidatos de fusión temporales a partir de bloques de predicción vecinos al bloque objetivo de codificación/decodificación y suministran los índices de referencia derivados a la unidad 133 de derivación de candidato de fusión temporal de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 233 de derivación de candidato de fusión temporal de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento (etapa S102 de la Figura 15). Sin embargo, en la presente realización, los índices de referencia de candidatos de fusión temporales se derivan sin hacer referencia a un bloque de predicción incluido en el mismo bloque de codificación que el bloque de codificación que incluye el bloque de predicción objetivo de procesamiento. Cuando el tipo de corte slice_type es corte P y la inter predicción se realiza usando la información de inter predicción de los candidatos de fusión temporales, únicamente los índices de referencia L0 únicamente se derivan dado que se realiza predicción L0 (Pred_L0) únicamente. Cuando el tipo de corte slice_type es corte B y la inter predicción se realiza usando la información de inter predicción de candidatos de fusión temporales, los índices de referencia L0 y L1 se derivan dado que se realiza bipredicción (Pred_BI). El flujo de un procedimiento detallado de la etapa S102 se describirá en detalle posteriormente con referencia al diagrama de flujo de la Figura 18.
Posteriormente, la unidad 133 de derivación de candidato de fusión temporal de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 233 de derivación de candidato de fusión temporal de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento derivan candidatos de fusión temporales a partir de instantáneas de tiempo diferente y añaden los candidatos de fusión temporales derivados a la lista de candidatos de fusión mergeCandList (etapa S103 de la Figura 15). Puede usarse una bandera availableFlagCol que indica si candidatos de fusión temporales, se derivan una bandera de predicción L0 predFlagL0Col que indica si se realiza predicción L0, una bandera de predicción L1 predFlagL1Col que indica si se realiza predicción L1, un vector de movimiento L0 mvL0N y un vector de movimiento L1 mvL1N. El flujo de un procedimiento detallado de la etapa S103 se describirá en detalle posteriormente con referencia al diagrama de flujo de la Figura 19. La lista de candidatos de fusión mergeCandList se suministra a la unidad 134 de derivación de candidato de fusión adicional de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 234 de derivación de candidato de fusión adicional de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento.
Posteriormente, la unidad 134 de derivación de candidato de fusión adicional de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 234 de derivación de candidato de fusión adicional de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento derivan candidatos de fusión adicionales usando el mayor número de candidatos de fusión maxNumMergeCand como un límite superior cuando el número de candidatos de fusión numMergeCand añadidos a la lista de candidatos de fusión mergeCandList es menor que el mayor número de candidatos de fusión maxNumMergeCand y añaden los candidatos de fusión adicionales derivados a la lista de candidatos de fusión mergeCandList (etapa S104 de la Figura 15). Usando el mayor número de candidatos de fusión maxNumMergeCand como un límite superior, para los cortes P, se añaden candidatos de fusión que tienen índices de referencia diferentes y de los cuales el vector de movimiento tiene el valor (0, 0) y el modo de predicción es predicción L0 (Pred_L0). Para los cortes B, se añaden candidatos de fusión que tienen índices de referencia diferentes y de los cuales el vector de movimiento tiene el valor (0, 0) y el modo de predicción es bipredicción (Pred_BI). El flujo de un procedimiento detallado de la etapa S104 se describirá en detalle posteriormente con referencia al diagrama de flujo de la Figura 26. Para los cortes B, pueden derivarse y añadirse candidatos de fusión que se han añadido y de los cuales las combinaciones de predicción L0 y predicción L1 se cambian y el modo de predicción es bipredicción (Pred_BI). La lista de candidatos de fusión mergeCandList se suministra a la unidad 136 de limitación de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 236 de limitación de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento.
Posteriormente, la unidad 136 de limitación de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 236 de limitación de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento limitan el valor del número de candidatos de fusión numMergeCand añadidos a la lista de candidatos de fusión mergeCandList al mayor número de candidatos de fusión maxNumMergeCand cuando el valor del número de candidatos de fusión numMergeCand añadidos a la lista de candidatos de fusión mergeCandList es mayor que el mayor número de candidatos de fusión maxNumMergeCand (etapa S106 de la Figura 15). La lista de candidatos de fusión mergeCandList se suministra a la unidad 137 de selección de información de inter predicción de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 237 de selección de información de inter predicción de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento. El flujo de un procedimiento detallado de la etapa S106 se describirá con referencia al diagrama de flujo de la Figura 27.
Cuando el valor del número de candidatos de fusión numMergeCand añadidos a la lista de candidatos de fusión mergeCandList es mayor que el mayor número de candidatos de fusión maxNumMergeCand (etapa S7101 de la Figura 27: SÍ), el valor del número de candidatos de fusión numMergeCand se actualiza al mayor número de candidatos de fusión maxNumMergeCand (etapa S7102 de la Figura 27). El procedimiento de la etapa S7102 significa inhibir el acceso a todos los candidatos de fusión de los cuales el índice de fusión en la lista de candidatos de fusión mergeCandList es mayor que (maxNumMergeCand -1 ) y limitar el número de candidatos de fusión añadidos a la lista de candidatos de fusión mergeCandList al mayor número de candidatos de fusión maxNumMergeCand.
En la presente realización, el número de candidatos de fusión añadidos a la lista de candidatos de fusión mergeCandList se establece a un número fijo en respectivos cortes. La razón por la que el número de candidatos de fusión añadidos a la lista de candidatos de fusión mergeCandList es fijo es como se indica a continuación. Si el número de candidatos de fusión añadidos a la lista de candidatos de fusión mergeCandList cambia dependiendo del estado de la lista de candidatos de fusión creada, la decodificación por entropía depende de la lista de candidatos de fusión creada. Por lo tanto, el decodificador no puede decodificar los índices de fusión mediante decodificación por entropía a no ser que se cree una lista de candidatos de fusión para respectivos bloques de predicción y se deriva el número de candidatos de fusión añadidos a la lista de candidatos de fusión mergeCandList. Como resultado, la decodificación de índices de fusión se retarda y la decodificación por entropía se vuelve compleja. Además, si la decodificación por entropía depende del estado de una lista de candidatos de fusión creada que incluye candidatos de fusión Col derivados a partir de bloques de predicción de instantáneas de tiempo diferente, cuando se produce un error durante la decodificación de un flujo de bits de una instantánea diferente, un flujo de bits de la instantánea actual también se ve influenciado por el error. Por lo tanto, no es posible derivar el número de candidatos de fusión añadidos a una lista de candidatos de fusión normal mergeCandList y continuar la decodificación por entropía apropiadamente. Como en la presente realización, cuando el número de candidatos de fusión añadidos a la lista de candidatos de fusión mergeCandList se establece a un valor fijo para respectivos cortes, no es necesario derivar el número de candidatos de fusión añadidos a la lista de candidatos de fusión mergeCandList en respectivos bloques de predicción y es posible decodificar índices de fusión mediante decodificación por entropía independientemente de la creación de la lista de candidatos de fusión. Además, incluso si se produce un error durante la decodificación de un flujo de bits de otra instantánea, es posible continuar la decodificación por entropía de un flujo de bits de la instantánea actual sin verse influenciado por el error. En la presente realización, un elemento de sintaxis que indica el número de candidatos de fusión añadidos a la lista de candidatos de fusión mergeCandList se codifica para respectivos cortes, y el número de candidatos de fusión añadidos a la mergeCandList se define como el mayor número de candidatos de fusión maxNumMergeCand.
Posteriormente, se describirá en detalle un procedimiento de derivación de candidatos de fusión N a partir de bloques de predicción N vecino a un bloque objetivo de codificación/decodificación, que es el procedimiento de la etapa S101 de la Figura 15. La Figura 16 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidato de fusión espacial de la etapa S101 de la Figura 15. N es una variable A (izquierda), B (superior), C (superior derecha), D (inferior izquierda) o E (superior izquierda) que indica la región de un bloque de predicción vecino. En la presente realización, se derivan cuatro candidatos de fusión espaciales como máximo a partir de cinco bloques de predicción vecinos.
En la Figura 16, la información de codificación de un bloque de predicción A vecino al lado izquierdo de un bloque de predicción objetivo de codificación/decodificación usando la variable N establecida a A se investiga para derivar un candidato de fusión A, la información de codificación de un bloque de predicción B vecino al lado izquierdo de un bloque de predicción objetivo de codificación/decodificación usando la variable N establecida a B se investiga para derivar un candidato de fusión B, la información de codificación de un bloque de predicción C vecino al lado izquierdo de un bloque de predicción objetivo de codificación/decodificación usando la variable N establecida a C se investiga para derivar un candidato de fusión C, la información de codificación de un bloque de predicción D vecino al lado izquierdo de un bloque de predicción objetivo de codificación/decodificación usando la variable N establecida a D se investiga para derivar un candidato de fusión D, y la información de codificación de un bloque de predicción E vecino al lado izquierdo de un bloque de predicción objetivo de codificación/decodificación usando la variable N establecida a E se investiga para derivar un candidato de fusión E. Los candidatos de fusión derivados se añaden a la lista de candidatos de fusión (etapas S1101 a S1118 de la Figura 16).
Primero, cuando la variable N es E y la suma de los valores de las banderas availableFlagA, availableFlagB, availableFlagC y availableFlagD es 4 (etapa S1102 de la Figura 16: SÍ) (es decir, se derivan cuatro candidatos de fusión espaciales), la bandera availableFlagE del candidato de fusión E se establece a 0 (etapa S1107 de la Figura 16), ambos valores de los vectores de movimiento mvL0E y mvL1E del candidato de fusión E se establecen a (0, 0) (etapa S1108 de la Figura 16), ambos valores de las banderas predFlagL0E y predFlagL1E del candidato de fusión E se establecen a 0 (etapa S1109 de la Figura 16). Después de eso, el flujo continúa a la etapa S1118 y el procedimiento de derivación de candidato de fusión espacial finaliza.
En la presente realización, dado que se derivan cuatro candidatos de fusión como máximo a partir de los bloques de predicción vecinos, cuando ya se han derivado cuatro candidatos de fusión espaciales, no es necesario realizar el procedimiento de derivación de candidato de fusión espacial adicionalmente.
Por otra parte, cuando la variable N no es E o la suma de los valores de las banderas availableFlagA, availableFlagB, availableFlagC y availableFlagD no es 4 (etapa S1102 de la Figura 16: NO) (es decir, no se derivan cuatro candidatos de fusión espaciales), el flujo continúa a la etapa S1103. Cuando el bloque de predicción vecino N se incluye en el mismo bloque de codificación que el bloque de codificación que incluye el bloque de predicción objetivo de derivación (etapa S1103 de la Figura 16; SÍ), el valor de la bandera availableFlagN del candidato de fusión N se establece a 0 (etapa S1107 de la Figura 16), ambos valores de los vectores de movimiento mvL0N y mvL1N del candidato de fusión N se establecen a (0, 0) (etapa S1108 de la Figura 16), ambos valores de las banderas predFlagL0N y predFlagL1N del candidato de fusión N se establecen a 0 (etapa S1109 de la Figura 16) y, a continuación, el flujo continúa a la etapa S1118. Cuando el bloque de predicción vecino N se incluye en el mismo bloque de codificación que el bloque de codificación que incluye el bloque de predicción objetivo de derivación (etapa S1103 de la Figura 16: SÍ), no se hace referencia al bloque de predicción vecino N de modo que el procedimiento de derivación de candidato de fusión de bloque de predicción y el procedimiento de creación de lista de candidatos de fusión pueden realizarse en paralelo.
Específicamente, el bloque de predicción vecino B del cual el modo de partición (PartMode) es partición 2N*N (pA r T_2NxN), partición 2N*nU (PART_2NxnU) o partición 2N*nD (PART_2NxnD) y el PartIdx del bloque de predicción objetivo de procesamiento es 1 es el caso en el que el bloque de predicción vecino N se incluye en el mismo bloque de codificación que el bloque de codificación que incluye el bloque de predicción objetivo de derivación. En este caso, dado que el bloque de predicción vecino B es un bloque de predicción que tiene el PartIdx 0, no se hace referencia al bloque de predicción vecino B de modo que el procedimiento de derivación de candidato de fusión de bloque de predicción y el procedimiento de creación de lista de candidatos de fusión pueden realizarse en paralelo.
Además, el bloque de predicción vecino A del cual el modo de partición (PartMode) es partición N*2N (PART_Nx2N), partición nL*2N (PART_nLx2N) o partición nR*2N (PART_nRx2N) y el PartIdx del bloque de predicción objetivo de procesamiento es 1 es el caso en el que el bloque de predicción vecino N se incluye en el mismo bloque de codificación que el bloque de codificación que incluye el bloque de predicción objetivo de derivación. En este caso, dado que el bloque de predicción vecino A es el bloque de predicción que tiene el PartIdx 0, no se hace referencia al bloque de predicción vecino A de modo que el procedimiento de derivación de candidato de fusión de bloque de predicción y el procedimiento de creación de lista de candidatos de fusión pueden realizarse en paralelo.
Además, cuando el modo de partición (PartMode) es partición N*N (PART_NxN) y el PartIdx del bloque de predicción objetivo de procesamiento es 1, 2 o 3, el bloque de predicción vecino N puede incluirse en el mismo bloque de codificación que el bloque de codificación que incluye el bloque de predicción objetivo de derivación.
Por otra parte, cuando el bloque de predicción vecino N no se incluye el mismo bloque de codificación que incluye el bloque de predicción objetivo de procesamiento (etapa S1103 de la Figura 16: NO), se especifican los bloques de predicción N vecinos al bloque de predicción objetivo de codificación/decodificación, y cuando los respectivos bloques de predicción N pueden usarse, la información de codificación de los bloques de predicción N se adquiere de la memoria 115 o 210 de almacenamiento de información de codificación (etapa S1104 de la Figura 16).
Cuando el bloque de predicción vecino N no puede usarse (etapa S1105 de la Figura 16: NO) o el modo de predicción PredMode del bloque de predicción N es intra predicción (Mo De_INTRA) (etapa S1106 de la Figura 16: n O), el valor de la bandera availableFlagN del candidato de fusión N se establece a 0 (etapa S1107 de la Figura 16), ambos valores de los vectores de movimiento mvL0N y mvL1N del candidato de fusión N se establecen a (0, 0) (etapa S1108 de la Figura 16), y ambos valores de las banderas predFlagL0N y predFlagL1N del candidato de fusión N se establecen a 0 (etapa S1109). A continuación, el flujo continúa a la etapa S1118. En este punto, ejemplos específicos del caso en el que el bloque de predicción vecino N no puede usarse incluyen un caso en el que el bloque de predicción vecino N se coloca fuera de un corte objetivo de codificación/decodificación y un caso en el que no se completa un procedimiento de codificación/decodificación porque el bloque de predicción vecino N es posterior en el orden del procedimiento de codificación/decodificación.
Por otra parte, cuando el bloque de predicción vecino N está fuera del mismo bloque de codificación que el bloque de codificación del bloque de predicción objetivo de derivación (etapa S1104 de la Figura 16: SÍ), puede usarse el bloque de predicción vecino N (etapa S1105 de la Figura 16: SÍ), y el modo de predicción PredMode del bloque de predicción N no es la intra predicción (MODE_INTRA) (etapa S1106 de la Figura 16: SÍ), la información de inter predicción del bloque de predicción N se usa como la información de inter predicción del candidato de fusión N. El valor de la bandera availableFlagN del candidato de fusión N (etapa S1110 de la Figura 16) se establece a 1, los vectores de movimiento mvL0N y mvL1N del candidato de fusión N se establecen a los mismos valores de los vectores de movimiento mvL0N[xN][yN] y mvL1N[xN][yN] de los vectores de movimiento del bloque de predicción N (etapa S1111 de la Figura 16), los índices de referencia refIdxL0N y refIdxL1N del candidato de fusión N se establecen a los mismos valores que los índices de referencia refIdxL0[xN][yN] y refIdxL1[xN][yN] del bloque de predicción N (etapa S1112 de la Figura 16), y las banderas predFlagL0N y predFlagL1N del candidato de fusión N se establecen a las banderas predFlagL0[xN][yN] y predFlagL1[xN][yN] del bloque de predicción N (etapa S1113 de la Figura 16). En este punto, xN e yN son índices que indican la posición de un píxel en la esquina superior izquierda del bloque de predicción N en la instantánea.
Posteriormente, las banderas predFlagL0N y predFlagL1N del candidato de fusión N, los índices de referencia refIdxL0N y refIdxL1N del candidato de fusión N y los vectores de movimiento mvL0N y mvL1N del candidato de fusión N se comparan con los de los candidatos de fusión que se han derivado (etapa S1114: Figura 16). Cuando el mismo candidato de fusión no está presente (etapa S1115 de la Figura 16: SÍ), el candidato de fusión N se añade a la posición en la que el índice de fusión de la lista de candidatos de fusión mergeCandList tiene el mismo valor que numMergeCand (etapa S1116 de la Figura 16) y el número de candidatos de fusión numMergeCand se incrementa en 1 (etapa S1117 de la Figura 16). Por otra parte, cuando el candidato de fusión está presente (etapa S1115 de la Figura 16: NO), se saltan las etapas S1116 y S1117 y el flujo continúa a la etapa S1118.
Los procedimientos de las etapas S1102 a S1117 se realizan repetidamente para N = A, B, C, D y E (etapas S1101 a S1118 de la Figura 16).
A continuación, se describirá en detalle un procedimiento de derivación de los índices de referencia de candidatos de fusión temporales de la etapa S102 de la Figura 15. Se derivan los índices de referencia L0 y L1 de los candidatos de fusión temporales.
En la presente realización, los índices de referencia de los candidatos de fusión temporales se derivan usando los índices de referencia de candidatos de fusión espaciales (es decir, los índices de referencia usados en los bloques de predicción vecinos al bloque objetivo de codificación/decodificación). Esto es porque cuando se selecciona un candidato de fusión temporal, el índice de referencia del bloque de predicción objetivo de codificación/decodificación tiene una correlación alta con el índice de referencia de los bloques de predicción vecinos al bloque objetivo de codificación/decodificación que se vuelve el candidato de fusión espacial. En particular, en la presente realización, se usan los índices de referencia únicamente del bloque de predicción A vecino al lado izquierdo del bloque de predicción objetivo de codificación/decodificación. Esto es porque los bloques de predicción A y B vecino al lado del bloque de predicción objetivo de codificación/decodificación entre los bloques de predicción vecinos A, B, C, D y E que también son candidatos de fusión espaciales tienen una mayor correlación que los bloques de predicción C, D y E vecinos a la esquina del bloque de predicción objetivo de codificación/decodificación. Dado que no se usan los bloques de predicción C, D y E que tienen una correlación relativamente baja y los bloques de predicción que hay que usar se limitan al bloque de predicción A, es posible mejorar la eficiencia de codificación que resulta de la derivación de los índices de referencia de candidatos de fusión temporales y reducir la cantidad de procesamiento y la cantidad de acceso de memoria asociada con el procedimiento de derivación de los índices de referencia de candidatos de fusión temporales.
Las Figuras 17A a 17H son diagramas que ilustran bloques vecinos a los que se hacen referencia en el procedimiento de derivación de índice de referencia de candidato de fusión temporal de la presente realización. En la presente realización, si hacer referencia o no al bloque de predicción vecino al lado izquierdo del bloque de predicción objetivo de derivación se cambia de acuerdo con el índice de partición PartIdx del bloque de predicción independientemente del modo de partición (PartMode) de un bloque de codificación. Cuando el índice de partición PartIdx del bloque de predicción es 0, se hace referencia al bloque de predicción vecino al lado izquierdo. Cuando el índice de partición PartIdx no es 0, no se hace referencia al bloque de predicción vecino, pero se usa un valor por defecto. Cuando el índice de partición PartIdx del bloque de predicción es 0, en cualquier modo de partición (PartMode), el bloque de predicción vecino al lado izquierdo no siempre pertenece al bloque de codificación. Cuando el índice de partición PartIdx del bloque de predicción no es 0, el bloque de predicción vecino al lado izquierdo pertenece al bloque de codificación dependiendo del modo de partición (PartMode). Cuando el modo de partición (PartMode) es partición 2N*2N (PART_2Nx2N), como se ilustra en la Figura 17A, se hace referencia a un bloque de predicción A0 vecino al lado izquierdo del bloque de predicción objetivo de derivación, y el índice de referencia LX del candidato de fusión temporal se establece al valor del índice de referencia LX del bloque de predicción A0.
Cuando el modo de partición (PartMode) de particionamiento de un bloque de codificación objetivo de procesamiento en dos bloques de predicción dispuestos en la dirección vertical es partición 2N*N (PART_2NxN), partición 2N*nU (PART_2NxnU) y partición 2N*nD (PART_2NxnD) y el modo de partición (PartMode) de particionamiento de un bloque de codificación objetivo de procesamiento en dos bloques de predicción dispuestos en la dirección horizontal es partición N*2N (PART_Nx2N), partición nL*2N (PART_nLx2N) y partición nR*2N (PART_nRx2N), como se ilustra en las Figuras 17B, 17C, 17D, 17E, 17F y 17G, se hace referencia al bloque de predicción A0 vecino al lado izquierdo en el bloque de predicción del cual el índice de partición PartIdx es 0, y el índice de referencia LX del candidato de fusión temporal se establece al valor del índice de referencia LX del bloque de predicción A0. No se hace referencia al bloque de predicción vecino en el bloque de predicción del cual el índice de partición PartIdx del objetivo de derivación es 1, y el índice de referencia LX del candidato de fusión temporal se establece al valor por defecto 0. Dado que el bloque de predicción A0 al que hacer referencia no pertenece al bloque de codificación, los índices de referencia de los candidatos de fusión temporales de dos bloques de predicción de los cuales los índices de partición PartIdx son 0 y 1 pueden derivarse en paralelo.
Cuando el modo de partición (PartMode) de particionamiento de un bloque de codificación objetivo de procesamiento en cuatro bloques de predicción en direcciones verticales y horizontales es partición N*N (PART_NxN), como se ilustra en la Figura 17H, se hace referencia al bloque de predicción A0 vecino al lado izquierdo en el bloque de predicción del cual el índice de partición objetivo de derivación PartIdx es 0, el índice de referencia LX del candidato de fusión temporal se establece al valor del índice de referencia LX del bloque de predicción A0. En los bloques de predicción de los cuales los índices de partición objetivo de derivación PartIdx son 1, 2 y 3, no se hace referencia al bloque de predicción vecino, y el índice de referencia LX del candidato de fusión temporal se establece al valor por defecto 0.
Dado que el bloque de predicción A0 al que hacer referencia no pertenece al bloque de codificación, los índices de referencia de los candidatos de fusión temporales de cuatro bloques de predicción de los cuales los índices de partición PartIdx son 0, 1, 2 y 3 se derivan en paralelo.
Sin embargo, cuando el bloque de predicción vecino A no realiza predicción LX, el valor del índice de refracción LX del candidato de fusión temporal LX se establece al valor por defecto 0. La razón por la que el valor por defecto del índice de referencia LX del candidato de fusión temporal se establece a 0 cuando el bloque de predicción vecino A no realiza predicción LX y el índice de partición PartIdx del bloque de predicción objetivo de derivación es 1 es porque es más probable que se seleccione la instantánea de referencia de la cual el valor del índice de referencia en inter predicción es 0. Sin embargo, la presente invención no se limita a esto, el valor por defecto del índice de referencia puede ser un valor (1,2 o similar) distinto de 0, y un elemento de sintaxis que indica el valor por defecto del índice de referencia puede proporcionarse en un flujo de bits en secuencia, instantánea o niveles de corte y transmitirse de modo que el valor por defecto puede seleccionarse en el lado de codificador.
La Figura 18 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de índice de referencia de candidato de fusión temporal de la etapa S102 de la Figura 15 de acuerdo con la presente realización. Primero, cuando el índice de partición PartIdx es 0 (etapa S2104: SÍ), la información de codificación del bloque de predicción A vecino al lado izquierdo del bloque de predicción objetivo de derivación se adquiere de la memoria 115 o 210 de almacenamiento de información de codificación (etapa S2111).
Los procedimientos posteriores de etapas S2113 a S2115 se realizan en las respectivas listas L0 y L1 (etapas S2112 a S2116). LX se establece a L0 cuando se deriva el índice de referencia L0 del candidato de fusión temporal y LX se establece a L1 cuando se deriva el índice de referencia L1 del candidato de fusión temporal. Sin embargo, cuando el tipo de corte slice_type es corte P, dado que el modo de inter predicción incluye predicción L0 (Pred_L0) únicamente y no incluye predicción L1 (Pred_L1) y bipredicción (Pred_BI), pueden omitirse los procedimientos asociados con L1.
Cuando la bandera predFlagLX[xA][yA] que indica si realizar o no predicción LX del bloque de predicción A no es 0 (etapa S2113: SÍ), el índice de referencia LX refIdxLXCol del candidato de fusión temporal se establece al mismo valor que el valor del índice de referencia LX refIdxLX[xA][yA] del bloque de predicción A (etapa S2114). En este punto, xA e yA son índices que indican la posición de un píxel en la esquina superior izquierda del bloque de predicción A en la instantánea.
En la presente realización, en el bloque de predicción N (N = A, B), cuando el bloque de predicción N está fuera del corte objetivo de codificación/decodificación y no puede usarse, cuando el bloque de predicción N es posterior que el bloque de predicción objetivo de codificación/decodificación en el orden de codificación/decodificación y no puede usarse si se codifica/decodifica, o cuando el modo de predicción PredMode del bloque de predicción N es intra predicción (MODE_INTRA), tanto la bandera predFlagL0[xN][yN] que indica si usar o no predicción L0 como la bandera predFlagL1[xN][yN] que indica si usar o no predicción L1 del bloque de predicción N son 0. En este punto, xN e yN son índices que indican la posición de un píxel en la esquina superior derecha del bloque de predicción N en la instantánea. Cuando el modo de predicción PredMode del bloque de predicción N es inter predicción (MODE_INTER) y el modo de inter predicción es predicción L0 (Pred_L0), la bandera predFlagL0[xN][yN] que indica si usar o no predicción L0 del bloque de predicción N es 1 y la bandera predFlagL1[xN][yN] que indica si usar o no predicción L1 es 0. Cuando el modo de inter predicción del bloque de predicción N es la predicción L1 (Pred_L1), la bandera predFlagL0[xN][yN] que indica si usar o no predicción L0 del bloque de predicción N es 0 y la bandera predFlagL1 [xN][yN] que indica si usar o no predicción L1 es 1. Cuando el modo de inter predicción del bloque de predicción N es bipredicción (Pred_BI), tanto la bandera predFlagL0[xN][yN] que indica si usar o no predicción L0 del bloque de predicción N como la bandera predFlagL1[xN][yN] que indica si usar o no predicción L1 son 1.
Cuando la bandera predFlagLX[xA][yA] que indica si realizar o no predicción LX del bloque de predicción A es 0 (etapa S2113: NO), el índice de referencia LX refIdxLXCol del candidato de fusión temporal se establece al valor por defecto 0 (etapa S2115).
Los procedimientos de las etapas S2113 a S2115 se realizan para cada una de L0 y L1 (etapas S2112 a S2116), y el procedimiento de derivación de índice de referencia finaliza.
Por otra parte, cuando el índice de partición PartIdx no es 0 (etapa S2104: NO), se realiza el procedimiento posterior de la etapa S2121 para cada una de L0 y L1 (etapas S2118 a S2122). LX se establece a L0 cuando tiene que derivarse el índice de referencia L0 del candidato de fusión temporal, y LX se establece a L1 cuando tiene que derivarse el índice de referencia L1. Sin embargo, cuando el tipo de corte slice_type es corte P, dado que el modo de inter predicción incluye predicción L0 (Pred_L0) únicamente y no incluye predicción L1 (Pred_L1) y bipredicción (Pred_BI), pueden omitirse los procedimientos asociados con L1.
El índice de referencia LX refIdxLXCol del candidato de fusión temporal se establece al valor por defecto 0 (etapa S2121).
Los procedimientos hasta la etapa S2121 se realizan para cada una de L0 y L1 (etapas S2118 a S2122), y el procedimiento de derivación de índice de referencia finaliza.
En la presente realización, aunque se conmuta si hacer referencia o no al bloque de predicción vecino al lado izquierdo del bloque de predicción objetivo de derivación, si hacer referencia o no al bloque de predicción vecino al lado superior puede conmutarse en lugar del bloque de predicción vecino al lado izquierdo.
A continuación, se describirá en detalle un procedimiento de derivación de candidatos de fusión de tiempo diferente en la etapa S103 de la Figura 15. La Figura 19 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidato de fusión temporal de la etapa S103 de la Figura 15.
Primero, se deriva una instantánea colPic de tiempo diferente usando una bandera collocated_from_l0_flag que indica si la instantánea colPic de tiempo diferente usada cuando se deriva el tipo de corte slice_type descrito en el encabezamiento de corte en respectivos cortes y un candidato de predictor de vector de movimiento en una dirección temporal, o un candidato de fusión usa una instantánea de referencia añadida a una cualquiera de la lista de referencia L0 o lista de referencia L1 de una instantánea en la cual se incluye el bloque de predicción objetivo de procesamiento (etapa S3101).
La Figura 20 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de la instantánea colPic de tiempo diferente en la etapa S3101 de la Figura 19. Cuando el tipo de corte slice_type es corte B y la bandera collocated_from_l0_flag es 0 (etapa S3201: SÍ, etapa S3202: SÍ), una instantánea de la cual la RefPicList1[0] (es decir, el índice de referencia de una lista de referencia L1) es 0 se vuelve la instantánea colPic de tiempo diferente (etapa S3203). En otros casos, es decir, cuando el tipo de corte slice_type es corte B y la bandera collocated_from_l0_flag es 1 (etapa S3201: SÍ, etapa S3202: NO), o cuando el tipo de corte slice_type es corte P (etapa S3201: NO, etapa S3204: SÍ), una instantánea de la cual la RefPicList0[0] (es decir, el índice de referencia de la lista de referencia L0) es 0 se vuelve la instantánea colPic de tiempo diferente (etapa S3205).
Posteriormente, el flujo vuelve al diagrama de flujo de la Figura 19, se deriva un bloque de predicción colPU de tiempo diferente y se adquiere información de codificación (etapa S3102).
La Figura 21 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de un bloque de predicción colPU de la instantánea colPic de tiempo diferente en la etapa S3102 de la Figura 19.
Primero, un bloque de predicción colocado en la esquina inferior derecha (fuera) de la misma posición que el bloque de predicción objetivo de procesamiento en la instantánea colPic de tiempo diferente se establece como el bloque de predicción colPU de tiempo diferente (etapa S3301). Este bloque de predicción corresponde al bloque de predicción T0 ilustrado en la Figura 9.
Posteriormente, se adquiere la información de codificación del bloque de predicción colPU de tiempo diferente (etapa S3302). Cuando PredMode del bloque de predicción colPU de tiempo diferente no puede usarse o el modo de predicción PredMode del bloque de predicción colPU de tiempo diferente es intra predicción (MODE_INTRA) (etapa S3303: SÍ, etapa S3304: SÍ), un bloque de predicción colocado en la esquina superior izquierda del centro de la misma posición que el bloque de predicción objetivo de procesamiento en la instantánea colPic de tiempo diferente se establece como el bloque de predicción colPU de tiempo diferente (etapa S3305). Este bloque de predicción corresponde al bloque de predicción T1 ilustrado en la Figura 9.
A continuación, el flujo vuelve al diagrama de flujo de la Figura 19, se deriva una bandera availableFlagL0Col que indica si el predictor de vector de movimiento L0 mvL0Col y el candidato de fusión temporal Col derivado a partir del bloque de predicción de una instantánea diferente en la misma posición que el bloque de predicción objetivo de codificación/decodificación son válidos (etapa S3103), y se deriva una bandera availableFlagL1Col que indica si el predictor de vector de movimiento L1 mvL1Col y el candidato de fusión temporal Col son válidos (etapa S3104). Además, cuando la bandera availableFlagL0Col o la bandera availableFlagL1Col es 1, la bandera availableFlagCol que indica si el candidato de fusión temporal Col es válido se establece a 1.
La Figura 22 es un diagrama de flujo para describir el flujo del procedimiento de derivación de información de inter predicción de candidatos de fusión temporales en las etapas S3103 y S3104 de la Figura 19. La lista L0 o L1 objetivo de derivación de candidato de fusión temporal se denomina como LX y la predicción que usa LX se denomina como predicción LX. Lo mismo es cierto para la siguiente descripción a no ser que se exponga de otra manera a continuación. LX es L0 cuando se invoca la etapa S3103 que es el procedimiento de derivación de la lista L0 del candidato de fusión temporal, y LX es L1 cuando se invoca la etapa S3104 que es el procedimiento de derivación de la lista L1 del candidato de fusión temporal.
Cuando el modo de predicción PredMode del bloque de predicción colPU de tiempo diferente es intra predicción (MODE_INTRA) o no puede usarse (etapa S3401: NO, etapa S3402: NO), se supone que los candidatos de fusión temporales no están presentes. Tanto la bandera availableFlagLXCol como la bandera predFlagLXCol se establecen a 0 (etapa S3403), el vector de movimiento mvLXCol se establece a (0, 0) (etapa S3404), y el procedimiento de derivación de información de inter predicción de candidatos de fusión temporales finaliza.
Cuando puede usarse el bloque de predicción colPU y el modo de predicción PredMode no es intra predicción (MODE_INTRA) (etapa S3401: SÍ, etapa S3402: SÍ), mvCol, refIdxCol y availableFlagCol se derivan en el siguiente flujo.
Cuando la bandera PredFlagL0[xPCol][yPCol] que indica si se usa predicción L0 del colPU es 0 (etapa S3405: SÍ), dado que el modo de predicción del bloque de predicción colPU es Pred_L1, el vector de movimiento mvCol se establece al mismo valor que MvL1[xPCol][yPCol] que es el vector de movimiento L1 del bloque de predicción colPU (etapa S3406), el índice de referencia refIdxCol se establece al mismo valor que el índice de referencia L1 RefIdxL1[xPCol][yPCol] (etapa S3407), y la lista ListCol se establece a L1 (etapa S3408). En este punto, xPCol e yPCol son índices que indican la posición de un píxel en la esquina superior izquierda del bloque de predicción colPU en la instantánea colPic de tiempo diferente.
Por otra parte, cuando la bandera de predicción L0 PredFlagL0[xPCol][yPCol] del bloque de predicción colPU no es 0 (etapa S3405 de la Figura 22: NO), se determina si la bandera de predicción L1 PredFlagL1 [xPCol][yPCol] del bloque de predicción colPU es 0. Cuando la bandera de predicción L1 PredFlagL1 [xPCol][yPCol] del bloque de predicción colPU es 0 (etapa S3409: SÍ), el vector de movimiento mvCol se establece al mismo valor que MvL0[xPCol][yPCol] que es el vector de movimiento L0 del bloque de predicción colPU (etapa S3410), el índice de referencia refIdxCol se establece al mismo valor que el índice de referencia L0 RefIdxL0[xPCol][yPCol] (etapa S3411), y la lista ListCol se establece a L0 (etapa S3412).
Cuando tanto la bandera de predicción L0 PredFlagL0[xPCol][yPCol] del bloque de predicción colPU como la bandera de predicción L1 PredFlagL1 [xPCol][yPCol] del bloque de predicción colPU no son 0 (etapa S3405: NO, etapa S3409: NO), dado que el modo de inter predicción del bloque de predicción colPU es bipredicción (Pred_BI), se selecciona uno de los dos vectores de movimiento L0 y L1 (etapa S3413).
La Figura 23 es un diagrama de flujo que ilustra el flujo del procedimiento de derivación de información de inter predicción de candidatos de fusión temporales cuando el modo de inter predicción del bloque de predicción colPU es bipredicción (Pred_BI).
Primero, se determina si los POC de todas las instantáneas añadidas a todas las listas de referencia son menores que el POC de la instantánea objetivo de codificación/decodificación actual (etapa S3501). Cuando los POC de todas las instantáneas añadidas a todas las listas de referencia L0 y L1 del bloque de predicción colPU son menores que el POC de la instantánea objetivo de codificación/decodificación actual (etapa S3501: SÍ) y cuando LX es L0 (es decir, se han derivado los candidatos de predictor de vector del vector de movimiento L0 de la instantánea objetivo de codificación/decodificación) (etapa S3502: SÍ), se selecciona la información de inter predicción de la lista L0 del bloque de predicción colPU. En este caso, cuando LX es L1 (es decir, se han derivado los candidatos de predictor de vector del vector de movimiento L1 de la instantánea objetivo de codificación/decodificación) (etapa S3502: NO), se selecciona la información de inter predicción de la lista L1 del bloque de predicción colPU. Por otra parte, cuando al menos uno de los POC de las instantáneas añadidas a todas las listas de referencia L0 y L1 del bloque de predicción colPU es mayor que el POC de la instantánea objetivo de codificación/decodificación actual (etapa S3501: NO) y cuando la bandera collocated_from_l0_flag es 0 (etapa S3503: SÍ), se selecciona la información de inter predicción de la lista L0 del bloque de predicción colPU. En este caso, cuando la bandera collocated_from_l0_flag es 1 (etapa S3503: NO), se selecciona la información de inter predicción de la lista L1 del bloque de predicción colPU.
Cuando se selecciona la información de inter predicción de la lista L0 del bloque de predicción colPU (etapa 3502: SÍ, etapa S3503: SÍ), el vector de movimiento mvCol se establece al mismo valor que MvL0[xPCol][yPCol] (etapa S3504), el índice de referencia refIdxCol se establece al mismo valor que RefIdxL0[xPCol][yPCol] (etapa S3505), y la lista ListCol se establece a L0 (etapa S3506).
Cuando se selecciona la información de inter predicción de la lista L1 del bloque de predicción colPU (etapa S3502: NO, etapa S3503: NO), el vector de movimiento mvCol se establece al mismo valor que MvL1[xPCol][yPCol] (etapa S3507), el índice de referencia refIdxCol se establece al mismo valor que RefIdxL1[xPCol][yPCol] (etapa S3508), y la lista ListCol se establece a L1 (etapa S3509).
Volviendo a la Figura 22, si la información de inter predicción puede adquirirse del bloque de predicción colPU, tanto la bandera availableFlagLXCol como la bandera predFlagLXCol se establecen a 1 (etapa S3414).
Posteriormente, el vector de movimiento mvCol se escala para obtener el vector de movimiento LX mvLXCol del candidato de fusión temporal (etapa S3415). El flujo de este procedimiento de escalado de vector de movimiento se describirá con referencia a las Figuras 24 y 25.
La Figura 24 es un diagrama de flujo que ilustra el flujo del procedimiento de escalado de vector de movimiento de la etapa S3415 de la Figura 22.
El POC de la instantánea de referencia que corresponde al índice de referencia refIdxCol al que se hace referencia por la lista ListCol del bloque de predicción colPU se resta del POC de la instantánea colPic de tiempo diferente para derivar la distancia de instantánea a instantánea td (etapa S3601). Cuando el POC de la instantánea de referencia al que se hace referencia por la lista ListCol del bloque de predicción colPU es anterior en el orden de visualización que la instantánea colPic de tiempo diferente, la distancia de instantánea a instantánea td tiene un valor positivo. Cuando el POC de la instantánea de referencia al que se hace referencia por la lista ListCol del bloque de predicción colPU es anterior en el orden de visualización que la instantánea colPic de tiempo diferente, la distancia de instantánea a instantánea td tiene un valor negativo.
td = (POC de instantánea colPic de tiempo diferente) -(POC de instantánea de referencia al que se hace referencia por la lista ListCol de bloque de predicción colPU)
El POC de la instantánea de referencia que corresponde al índice de referencia LX del candidato de fusión temporal derivado en la etapa S102 de la Figura 15 se resta del POC de la instantánea objetivo de codificación/decodificación actual para derivar la distancia de instantánea a instantánea tb (etapa S3602). Cuando la instantánea de referencia a la que se hace referencia por la lista LX de la instantánea objetivo de codificación/decodificación actual es anterior en el orden de visualización que la instantánea objetivo de codificación/decodificación actual, la distancia de instantánea a instantánea tb tiene un valor positivo. Cuando la instantánea de referencia a la que se hace referencia por la lista LX de la instantánea objetivo de codificación/decodificación actual es anterior en el orden de visualización que la instantánea objetivo de codificación/decodificación actual, la distancia de instantánea a instantánea tb tiene un valor negativo.
tb = (POC de instantánea objetivo de codificación/decodificación actual) -(POC de instantánea de referencia que corresponde al índice de referencia LX de candidato de fusión temporal)
Posteriormente, se comparan las distancias de instantánea a instantánea td y tb (etapa S3603). Cuando las distancias de instantánea a instantánea td y tb son iguales (etapa S3603: SÍ), el vector de movimiento LX mvLXCol del candidato de fusión temporal se establece al mismo valor que el vector de movimiento mvCol (etapa S3604), y el procedimiento de escalada finaliza.
mvLXCol = mvCol
Por otra parte, cuando las distancias de instantánea a instantánea td y tb no son iguales (etapa S3603: NO), mvCol se multiplica por un factor de escalado tb/td de acuerdo con la siguiente expresión para realizar el procedimiento de escalada (etapa S3605) para obtener el vector de movimiento LX escalado mvLXCol del candidato de fusión temporal.
mvLXCol = tb/td*mvCol
La Figura 25 ilustra un ejemplo en el que el procedimiento de escalada de la etapa S3605 se realiza con precisión a nivel de número entero. Los procedimientos de las etapas S3606 a S3608 de la Figura 25 corresponden al procedimiento de la etapa S3605 de la Figura 24.
Primero, de forma similar al diagrama de flujo de la Figura 24, se derivan la distancia de instantánea a instantánea td y la distancia de instantánea a instantánea tb (etapas S3601 y S3602).
Posteriormente, se comparan las distancias de instantánea a instantánea td y tb (etapa S3603). Cuando las distancias de instantánea a instantánea td y tb son iguales (etapa S3603: SÍ), de forma similar al diagrama de flujo de la Figura 24, el vector de movimiento LX mvLXCol del candidato de fusión temporal se establece al mismo valor que el vector de movimiento mvCol (etapa S3604), y el procedimiento de escalada finaliza.
mvLXCol = mvCol
Por otra parte, cuando las distancias de instantánea a instantánea td y tb no son iguales (etapa S3603: NO), se deriva una variable tx de acuerdo con la siguiente expresión (etapa S3606).
tx = (16384 Abs(td/2))/td
Posteriormente, se deriva un factor de escalado DistScaleFactor de acuerdo con la siguiente expresión (etapa S3607).
DistScaleFactor = (tb*tx 32)>>6
Posteriormente, se obtiene un vector de movimiento LX escalado mvLXCol del candidato de fusión temporal de acuerdo con la siguiente expresión (etapa S3608).
mvLXCol = ClipMv(Sign(DistScaleFactor*mvCol)*((Abs(DistScaleFactor*mvCol) 127)>>8))
Posteriormente, volviendo al diagrama de flujo de la Figura 19, cuando un candidato de fusión temporal está presente (etapa S3105: SÍ), el candidato de fusión temporal se añade a la posición en la que el índice de fusión de la lista de candidatos de fusión mergeCandList tiene el mismo valor que numMergeCand (etapa S3106), el número de candidatos de fusión numMergeCand se incrementa en 1 (etapa S3107), y el procedimiento de derivación de candidato de fusión temporal finaliza. Por otra parte, cuando el candidato de fusión temporal no está presente (etapa S3105: NO), se saltan las etapas S3106 y S3107 y el procedimiento de derivación de candidato de fusión temporal finaliza.
A continuación, se describirá en detalle un procedimiento de derivación de candidatos de fusión adicionales que es el procedimiento de la etapa S104 de la Figura 15, realizado por la unidad 134 de derivación de candidato de fusión adicional de la Figura 12 y la unidad 234 de derivación de candidato de fusión adicional de la Figura 13. La Figura 26 es un diagrama de flujo para describir el flujo del procedimiento de derivación de candidato de fusión adicional de la etapa S104 de la Figura 15.
En el procedimiento de derivación de candidato de fusión adicional realizado por la unidad 134 de derivación de candidato de fusión adicional de la Figura 12 y la unidad 234 de derivación de candidato de fusión adicional de la Figura 13, se derivan una pluralidad de candidatos de fusión que tienen diferentes valores de información de inter predicción y se añaden a la lista de candidatos de fusión para ampliar las opciones para que los candidatos de fusión mejoren la eficiencia de codificación. En particular, en el procedimiento de derivación de candidato de fusión adicional de la Figura 26, se fijan los valores del modo de predicción y el vector de movimiento, y se derivan una pluralidad de candidatos de fusión que tienen valores diferentes de índices de referencia y se añaden a la lista de candidatos de fusión (etapas S5101 a S5119 de la Figura 26).
Primero, cuando el tipo de corte es corte P (etapa S5101 de la Figura 26: SÍ), el valor del número de índices de referencia L0 se establece a una variable numRefIdx que indica el número de índices de referencia (etapa S5102 de la Figura 26). Por otra parte, cuando el tipo de corte o es corte P (etapa S5101 de la Figura 26: NO) (es decir, cuando el tipo de corte es corte B), el valor más pequeño entre el número de índices de referencia L0 y el número de índices de referencia L1 se establece a la variable numRefIdx que indica el número de índices de referencia (etapa S5103 de la Figura 26). Posteriormente, se establece 0 al índice de referencia i (etapa S5104 de la Figura 26).
Posteriormente, se deriva un candidato de fusión adicional del cual el valor del vector de movimiento del modo de predicción que corresponde al tipo de corte es (0, 0) mientras se cambia el índice de referencia i y se añade a la lista de candidatos de fusión (etapas S5105 a S5119 de la Figura 26).
Primero, cuando el número de candidatos de fusión numMergeCand es menor que el mayor número de candidatos de fusión maxNumMergeCand (etapa S5106 de la Figura 26: SÍ), el flujo continúa a la etapa S5107. Cuando el número de candidatos de fusión numMergeCand no es menor que el mayor número de candidatos de fusión maxNumMergeCand (etapa S5106 de la Figura 26: NO), el procedimiento de derivación de candidato de fusión adicional finaliza. Posteriormente, cuando el índice de referencia i es menor que la variable numRefIdx (etapa S5107 de la Figura 26: SÍ), el flujo continúa a la etapa S5109. Cuando el índice de referencia i no es menor que la variable numRefIdx (etapa S5107 de la Figura 26: NO), el procedimiento de derivación de candidato de fusión adicional finaliza.
Posteriormente, cuando el tipo de corte es corte P (etapa S5109 de la Figura 26: SÍ), se establece (0, 0) a los vectores de movimiento mvL0Zero y mvL1Zero de los candidatos de fusión adicionales (etapa S5110 de la Figura 26), el valor del índice de referencia i y -1 se establecen a los índices de referencia refIdxL0Zero y refIdxL1Zero de los candidatos de fusión adicionales, respectivamente (etapa S5111 de la Figura 26), y se establecen 1 y 0 a las banderas predFlagL0Zero y predFlagL1Zero de los candidatos de fusión adicionales, respectivamente (etapa S5112 de la Figura 26). A continuación, el flujo continúa a la etapa S5116.
Por otra parte, cuando el tipo de corte no es corte P (etapa S5109 de la Figura 26: NO) (es decir, cuando el tipo de corte es corte B), se establece (0, 0) a los vectores de movimiento mvL0Zero y mvL1Zero (etapa S5113 de la Figura 26), el valor del índice de referencia i se establece a los índices de referencia refIdxL0Zero y refIdxL1Zero de los candidatos de fusión adicionales (etapa S5114 de la Figura 26), y se establece 1 a las banderas predFlagL0Zero y predFlagL1Zero de los candidatos de fusión adicionales (etapa S5115 de la Figura 26). A continuación, el flujo continúa a la etapa S5116.
Posteriormente, el candidato de fusión adicional se añade a la posición en la que el índice de fusión de la lista de candidatos de fusión mergeCandList se indica por el mismo valor que numMergeCand (etapa S5116 de la Figura 26), y el número de candidatos de fusión numMergeCand se incrementa en 1 (etapa S5117 de la Figura 26). Posteriormente, el índice i se incrementa en 1 (etapa S5118 de la Figura 26), y el flujo continúa a la etapa S5119.
Los procedimientos de las etapas S5106 a S5118 se realizan repetidamente para respectivos índices de referencia i (etapas S5105 a S5119 de la Figura 26).
En la Figura 26, aunque se fijan los valores del modo de predicción y el vector de movimiento y una pluralidad de candidatos de fusión que tienen valores diferentes de índices de referencia se derivan y añaden a la lista de candidatos de fusión, una pluralidad de candidatos de fusión de diferentes modos de predicción pueden derivarse y añadirse a la lista de candidatos de fusión, y candidatos de fusión que tienen valores diferentes de vectores de movimiento pueden derivarse y añadirse a la lista de candidatos de fusión. Cuando se cambia el valor del vector de movimiento, pueden añadirse candidatos de fusión mientras se cambia el valor del vector de movimiento en el orden de (0, 0), (1, 0), (-1, 0), (0, 1) y (0,-1), por ejemplo.
A continuación, se describirá la unidad 137 de selección de información de inter predicción de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento. La Figura 37 es un diagrama de flujo para describir el flujo del procedimiento de la unidad 137 de selección de información de inter predicción de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento. En la Figura 12 del primer ejemplo práctico, en la unidad 137 de selección de información de inter predicción de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento, cuando el número de candidatos de fusión numMergeCand es mayor que 0 (etapa S8101 de la Figura 37: SÍ), se selecciona un candidato de fusión entre candidatos de fusión válidos que se añaden a la lista de candidatos de fusión y de los cuales el índice de fusión está dentro del intervalo de 0 a (numMergeCand - 1), la información de inter predicción que incluye las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] que indican si usar o no la predicción L0 y la predicción L1 de los respectivos bloques de predicción del candidato de fusión seleccionado, los índices de referencia refIdxL0[xP][yP] y refIdxL1[xP][yP], y los vectores de movimiento mvL0[xP][yP] y mvL1[xP][yP] se suministran a la unidad 105 de predicción con compensación de movimiento, y el índice de fusión para identificar el candidato de fusión seleccionado se suministra a la unidad 107 de determinación de procedimiento de predicción (etapa S8102 de la Figura 37). Cuando el valor del índice de fusión mergeIdx es menor que el valor del número de candidatos de fusión numMergeIdx, el índice de fusión mergeIdx indica un candidato de fusión válido añadido a la lista de candidatos de fusión mergeCandList. Cuando el valor del índice de fusión mergeIdx es mayor que o igual al valor del número de candidatos de fusión numMergeIdx, el índice de fusión mergeIdx indica un candidato de fusión no válido que no se añade a la lista de candidatos de fusión mergeCandList. Aplicando reglas descritas posteriormente al lado de codificador, incluso cuando el índice de fusión mergeIdx indica un candidato de fusión no válido, es posible seleccionar un candidato de fusión válido.
Cuando se seleccionan candidatos de fusión, puede usarse el mismo procedimiento que el usado por la unidad 107 de determinación de procedimiento de predicción. Se derivan información de codificación, una cantidad de codificación de una señal residual y una distorsión de codificación entre una señal de instantánea de predicción y una señal de instantánea para respectivos candidatos de fusión y se determina un candidato de fusión que tiene la menor cantidad de codificación y distorsión de codificación. El elemento de sintaxis merge_idx del índice de fusión, que es la información de codificación del modo de fusión se codifica por entropía para respectivos candidatos de fusión para derivar una cantidad de codificación de la información de codificación. Además, se deriva una cantidad de codificación de una señal de predicción residual obtenida codificando una señal de predicción residual entre una señal de instantánea de predicción obtenida realizando compensación de movimiento usando la información de inter predicción de los candidatos de fusión de acuerdo con el mismo procedimiento que la unidad 105 de predicción con compensación de movimiento para respectivos candidatos de fusión y una señal de instantánea de un objetivo de codificación suministrada desde la memoria 101 de instantáneas. Una cantidad de codificación de ocurrencia total obtenida añadiendo una cantidad de codificación de la información de codificación (es decir, el índice de fusión) y una cantidad de codificación de la señal de predicción residual se deriva y usa como un valor de evaluación.
Además, después de que se codifica una señal de predicción residual de este tipo, la señal de predicción residual se decodifica para evaluación de una cantidad de distorsión, y una distorsión de codificación se deriva como una relación que representa un error de una señal de instantánea original que resulta de la codificación. La cantidad de codificación de ocurrencia total y la distorsión de codificación se comparan para respectivos candidatos de fusión, de modo que se determina la información de codificación que tiene la menor cantidad de codificación de ocurrencia y distorsión de codificación. El índice de fusión que corresponde a la información de codificación determinada se codifica como una bandera merge_idx representada por un segundo patrón de sintaxis de unidades de bloque de predicción.
La cantidad de codificación de ocurrencia derivada en el presente documento se obtiene preferentemente simulando el procedimiento de codificación, aunque puede obtenerse por aproximación o estimación.
Por otra parte, cuando el número de candidatos de fusión numMergeCand es 0 (etapa S8102 de la Figura 37: NO), la información de inter predicción que tiene el valor por defecto que corresponde al tipo de corte predeterminado se suministra a la unidad 105 de predicción con compensación de movimiento (etapas S8103 a S8105). Cuando el tipo de corte es corte P (etapa S8103 de la Figura 37: SÍ), el valor por defecto de la información de inter predicción se establece de tal forma que se usa predicción L0 (Pred_L0) (los valores de las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] son 1 y 0, respectivamente), el índice de referencia L0 es 0 (los valores de los índices de referencia refIdxL0[xP][yP] y refIdxL1[xP][yP] son 0 y -1, respectivamente), y el valor de vector L0 mvL0[xP][yP] es (0, 0) (etapa S8104 de la Figura 37). Por otra parte, cuando el tipo de corte no es corte P (etapa S8103: NO), (es decir, el tipo de corte es corte B), el valor por defecto de la información de inter predicción se establece de tal forma que el modo de inter predicción es bipredicción (Pred_BI) (ambos valores de las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] son 1), ambos índices de referencia son 0 (ambos valores de los índices de referencia refIdxL0[xP][yP] y refIdxL1[xP][yP] son 0), y ambos valores de vector L0 y L1 mvL0[xP][yP] y mvL1 [xP][yP] son (0, 0) (etapa S8105). Independientemente del tipo de corte, incluso cuando el tipo de corte es corte B, el valor por defecto de la información de inter predicción puede establecerse de tal forma que se usa predicción L0 (Pred_L0) (los valores de las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] son 1 y 0, respectivamente), el índice de referencia L0 es 0 (los valores de los índices de referencia refIdxL0[xP][yP] y refIdxL1[xP][yP] son 0 y -1, respectivamente), y el valor de vector L0 mvL0[xP][yP] es (0, 0).
A continuación, se describirá la unidad 237 de selección de información de inter predicción de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento. La Figura 38 es un diagrama de flujo para describir el flujo del procedimiento de la unidad 237 de selección de información de inter predicción de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento. En la Figura 13 del primer ejemplo práctico, cuando el número de candidatos de fusión numMergeCand es mayor que 0 (etapa S9101 de la Figura 38: SÍ), la unidad 237 de selección de información de inter predicción de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento selecciona un candidato de fusión que corresponde al índice de fusión mergeIdx suministrado desde el segundo decodificador 202 de flujo de bits entre los candidatos de fusión añadidos a la lista de candidatos de fusión mergeCandList, suministra la información de inter predicción que incluye las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] que indican si usar o no la predicción L0 y la predicción L1 del candidato de fusión seleccionado, los índices de referencia L0 y L1 refIdxL0[xP][yP] y refIdxL1[xP][yP], y los vectores de movimiento L0 y L1 mvL0[xP][yP] y mvL1[xP][yP] a la unidad 206 de predicción con compensación de movimiento, y almacena la misma en la memoria 210 de almacenamiento de información de codificación (etapa S9102 de la Figura 38).
Cuando en el lado de codificador se codifica un índice de fusión que indica un candidato de fusión no válido, se selecciona un candidato de fusión no válido en el lado de decodificador. En este caso, se realiza inter predicción usando la información de inter predicción no válida y pueden obtenerse señales de predicción inesperadas. Además, el modo de inter predicción puede tener un valor que no se ajusta a los estándares y el índice de referencia puede indicar una instantánea de referencia que no está presente de modo que puede producirse un error y la decodificación puede finalizar de forma anormal.
Por lo tanto, en el primer ejemplo práctico de la presente realización, cuando el valor del índice de fusión suministrado mergeIdx es mayor que o igual al valor del número de candidatos de fusión numMergeIdx, el valor del número de candidatos de fusión numMergeIdx se establece al índice de fusión mergeIdx y, a continuación, se realiza el procedimiento. Cuando el valor del índice de fusión suministrado mergeIdx es mayor que o igual al número de candidatos de fusión numMergeIdx, el índice de fusión mergeIdx establecido en el lado de codificador indica un candidato de fusión no válido que no se añade a la lista de candidatos de fusión mergeCandList. Recortando el índice de fusión mergeIdx, es posible obtener un candidato de fusión que se añade el último a la lista de candidatos de fusión mergeCandList. Definiendo el procedimiento de corte en el índice de fusión mergeIdx, es posible evitar que el decodificador seleccione un candidato de fusión no válido que no se añade a la lista de candidatos de fusión mergeCandList.
Como alternativa, cuando el valor del índice de fusión suministrado mergeIdx es mayor que o igual al número de candidatos de fusión numMergeIdx, estableciendo la información de inter predicción del candidato de fusión a un valor predeterminado, es posible evitar que se seleccione un candidato de fusión no válido. La información de inter predicción predeterminada del candidato de fusión se establece de tal forma que el modo de predicción es predicción L0, el valor del índice de referencia es 0 y el valor del vector de movimiento es (0, 0). En el caso de cortes B, el modo de predicción puede establecerse a bipredicción.
Por otra parte, cuando el número de candidatos de fusión numMergeCand es 0 (etapa S9102 de la Figura 38: NO), la información de inter predicción que tiene el valor por defecto que corresponde al tipo de corte predeterminado se suministra a la unidad 206 de predicción con compensación de movimiento y se almacena en la memoria 210 de almacenamiento de información de codificación (etapas S9103 a S9105 de la Figura 38). Cuando el tipo de corte es corte P (etapa S9103 de la Figura 38: SÍ), el valor por defecto de la información de inter predicción se establece de tal forma que se usa predicción L0 (Pred_L0) (los valores de las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] son 1 y 0, respectivamente), el índice de referencia L0 es 0 (los valores de los índices de referencia refIdxL0[xP][yP] y refIdxL1[xP][yP] son 0 y -1, respectivamente), y el valor de vector L0 mvL0[xP][yP] es (0, 0) (etapa S9104 de la Figura 38). Por otra parte, cuando el tipo de corte no es corte P (etapa S9103 de la Figura 38: NO), (es decir, el tipo de corte es corte B), el valor por defecto de la información de inter predicción se establece de tal forma que el modo de inter predicción es bipredicción (Pred_BI) (ambos valores de las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] son 1), ambos índices de referencia son 0 (ambos valores de los índices de referencia refIdxL0[xP][yP] y refIdxL1[xP][yP] son 0), y ambos valores de vector L0 y L1 mvL0[xP][yP] y mvL1[xP][yP] son (0, 0) (etapa S9105 de la Figura 38). Independientemente del tipo de corte, incluso cuando el tipo de corte es corte B, el valor por defecto de la información de inter predicción puede establecerse de tal forma que se usa predicción L0 (Pred_L0) (los valores de las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] son 1 y 0, respectivamente), el índice de referencia L0 es 0 (los valores de los índices de referencia refIdxL0[xP][yP] y refIdxL1[xP][yP] son 0 y -1, respectivamente), y el valor de vector L0 mvL0[xP][yP] es (0, 0).
A continuación, se describirá un procedimiento de derivación de información de inter predicción de acuerdo con un segundo ejemplo práctico de la realización con referencia a los dibujos. La Figura 28 es un diagrama que ilustra una configuración detallada de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento ilustrado en la Figura 1 de acuerdo con el segundo ejemplo práctico de la realización. La Figura 29 es un diagrama que ilustra una configuración detallada de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 2 de acuerdo con el segundo ejemplo práctico de la realización. La unidad 104 de derivación de información de inter predicción ilustrada en la Figura 28 del segundo ejemplo práctico es diferente de la unidad 104 de derivación de información de inter predicción ilustrada en la Figura 12 del primer ejemplo práctico en que se añade una unidad 135 de agregación de candidato de fusión válido. La unidad 205 de derivación de información de inter predicción ilustrada en la Figura 29 del segundo ejemplo práctico es diferente de la unidad 205 de derivación de información de inter predicción ilustrada en la Figura 13 del primer ejemplo práctico en que se añade una unidad 235 de agregación de candidato de fusión válido. En la presente realización, en el dispositivo de codificación de instantáneas en movimiento y el dispositivo de decodificación de instantáneas en movimiento, cuando el valor del mayor número de candidatos de fusión maxNumMergeCand es 0, el procedimiento de derivación de candidato de fusión y el procedimiento de creación de lista de candidatos de fusión de la Figura 30 pueden omitirse.
La Figura 30 es un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidato de fusión y un procedimiento de creación de lista de candidatos de fusión que son las funciones comunes de la unidad 120 de creación de lista de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 220 de creación de lista de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento de acuerdo con el segundo ejemplo práctico de la realización de la presente invención. El diagrama de flujo de la Figura 30 del segundo ejemplo práctico es diferente del diagrama de flujo de la Figura 15 del primer ejemplo práctico en que se añade un procedimiento de derivación de candidato de fusión válido de la etapa S105.
De forma similar al primer ejemplo práctico, la unidad 130 de creación de lista de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 230 de creación de lista de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento crean la lista de candidatos de fusión mergeCandList (etapa S100 de la Figura 30). La unidad 131 de creación de candidato de fusión espacial de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 231 de creación de candidato de fusión espacial de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento derivan los candidatos de fusión espaciales A, B, C, D y E de los bloques de predicción A, B, C, D y E vecinos al bloque objetivo de codificación/decodificación a partir de la información de codificación almacenada en la memoria 115 de almacenamiento de información de codificación del dispositivo de codificación de instantáneas en movimiento o la memoria 210 de almacenamiento de información de codificación del dispositivo de decodificación de instantáneas en movimiento y añaden los candidatos de fusión espaciales derivados a la lista de candidatos de fusión mergeCandList (etapa S101 de la Figura 30). La unidad 132 de derivación de índice de referencia de candidato de fusión temporal de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 232 de derivación de índice de referencia de candidato de fusión temporal de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento derivan los índices de referencia de los candidatos de fusión temporales a partir de los bloques de predicción vecinos al bloque objetivo de codificación/decodificación y suministran los índices de referencia derivados a la unidad 133 de derivación de candidato de fusión temporal de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 233 de derivación de candidato de fusión temporal de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento (etapa S102 de la Figura 30). La unidad 133 de derivación de candidato de fusión temporal de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 233 de derivación de candidato de fusión temporal de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento derivan los candidatos de fusión temporales a partir de instantáneas de tiempo diferente y añaden los candidatos de fusión temporales derivados a la lista de candidatos de fusión mergeCandList (etapa S103 de la Figura 30). La unidad 134 de derivación de candidato de fusión adicional de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 234 de derivación de candidato de fusión adicional de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento derivan candidatos de fusión adicionales usando el número de candidatos de fusión numMergeCand añadidos a la lista de candidatos de fusión mergeCandList como el mayor número de candidatos de fusión maxNumMergeCand cuando el número de candidatos de fusión numMergeCand añadidos a la lista de candidatos de fusión mergeCandList es menor que el mayor número de candidatos de fusión maxNumMergeCand y añaden los candidatos de fusión adicionales derivados a la lista de candidatos de fusión mergeCandList (etapa S104 de la Figura 30). Los procedimientos anteriores son los mismos que los del primer ejemplo práctico. Posteriormente, en el segundo ejemplo práctico, la unidad 135 de agregación de candidato de fusión válido y la unidad 235 de agregación de candidato de fusión válido agregan un candidato de fusión válido para eliminar un candidato de fusión no válido dentro de un intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por un valor de 0 a (maxNumMergeCand - 1) (etapa S105 de la Figura 30). Eliminando el candidato de fusión no válido dentro de un intervalo en el que el índice de fusión tiene un valor de 0 a (maxNumMergeCand -1), se garantiza que no se selecciona un candidato de fusión no válido en el lado de decodificador y se selecciona únicamente un candidato de fusión válido.
Con referencia al diagrama de flujo de la Figura 31 se describirá en detalle un procedimiento de derivación de candidato de fusión válido que es el procedimiento de la etapa S105 de la Figura 30 realizado por la unidad 135 de agregación de candidato de fusión válido ilustrada en la Figura 28 y la unidad 235 de agregación de candidato de fusión válido ilustrada en la Figura 29 ilustrada en la Figura 30 del segundo ejemplo práctico de la presente realización. La Figura 31 es un diagrama de flujo para describir el flujo del procedimiento de derivación de candidato de fusión válido de la etapa S105 de la Figura 30 de acuerdo con el segundo ejemplo práctico de la presente realización.
En el procedimiento de derivación de candidato de fusión válido de la Figura 31 del segundo ejemplo práctico, una pluralidad de candidatos de fusión que tienen el mismo valor de información de inter predicción se añaden a la lista de candidatos de fusión para añadir un candidato de fusión válido a la lista de candidatos de fusión con un procedimiento simple hasta que se elimine un candidato de fusión no válido dentro de un intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por un valor de 0 a (maxNumMergeCand -1). Un candidato de fusión válido del cual el valor del vector de movimiento del modo de inter predicción que corresponde al tipo de corte es (0, 0) se añade a la lista de candidatos de fusión (etapas S6101 a S6113 de la Figura 31).
Primero, cuando el número de candidatos de fusión numMergeCand es menor que el mayor número de candidatos de fusión maxNumMergeCand (etapa S6102 de la Figura 31: SÍ), el flujo continúa a la etapa S6103. Cuando el número de candidatos de fusión numMergeCand no es menor que el mayor número de candidatos de fusión maxNumMergeCand (etapa S6102 de la Figura 31: NO), el procedimiento de derivación de candidato de fusión válido finaliza.
Posteriormente, cuando el tipo de corte es corte P (etapa S6103 de la Figura 31: SÍ), los candidatos de fusión de los cuales el modo de inter predicción es predicción L0 (Pred_L0), el índice de referencia es 0 y el valor de vector es (0, 0) se usan como los candidatos de fusión válidos. Se establece (0, 0) a los vectores de movimiento mvL0Zero y mvL1Zero de los candidatos de fusión válidos (etapa S6104 de la Figura 31), se establecen 0 y -1 a los índices de referencia refIdxL0Zero y refIdxL1Zero de los candidatos de fusión válidos, respectivamente (etapa S6105 de la Figura 31), y se establecen 1 y 0 a las banderas predFlagL0Zero y predFlagL1Zero de los candidatos de fusión válidos, respectivamente (etapa S6106 de la Figura 31). A continuación, el flujo continúa a la etapa S6110.
Por otra parte, cuando el tipo de corte no es corte P (etapa S6103 de la Figura 31: NO) (es decir, cuando el tipo de corte es corte B), los candidatos de fusión de los cuales el modo de inter predicción es bipredicción (Pred_BI), ambos índices de referencia son 0, ambos valores de vector son (0, 0) se usan como candidatos de fusión válidos. Se establece (0, 0) a los vectores de movimiento mvL0Zero y mvL1Zero de los candidatos de fusión válidos (etapa S6107 de la Figura 31), el valor del índice de referencia i se establece a los índices de referencia refIdxL0Zero y refIdxL1Zero de los candidatos de fusión válidos (etapa S6108 de la Figura 31), y se establece 1 a las banderas predFlagL0Zero y predFlagL1Zero de los candidatos de fusión válidos (etapa S6109 de la Figura 31). A continuación, el flujo continúa a la etapa S6110.
Posteriormente, el candidato de fusión válido se añade a la posición en la que el índice de fusión de la lista de candidatos de fusión mergeCandList se indica por el mismo valor que numMergeCand (etapa S6110 de la Figura 31), y el número de candidatos de fusión numMergeCand se incrementa en 1 (etapa S6112 de la Figura 31). A continuación, el flujo continúa a la etapa S6113.
Los procedimientos de las etapas S6102 a S6112 se realizan repetidamente hasta que el número de candidatos de fusión numMergeCand alcanza el mayor número de candidatos de fusión maxNumMergeCand (etapas S6101 a S6113 de la Figura 31). Con estos procedimientos, en el segundo ejemplo práctico, los candidatos de fusión no válidos se eliminan dentro de un intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por el valor de 0 a (maxNumMergeCand -1).
En la Figura 28 del segundo ejemplo práctico, cuando el número de candidatos de fusión numMergeCand es mayor que 0 (etapa S8101 de la Figura 37: SÍ), de forma similar a la unidad 137 de selección de información de inter predicción ilustrada en la Figura 12 del primer ejemplo práctico, la unidad 137 de selección de información de inter predicción de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento selecciona candidatos de fusión entre los candidatos de fusión añadidos a la lista de candidatos de fusión, suministra la información de inter predicción que incluye las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] que indican si usar o no la predicción L0 y la predicción L1 de los respectivos bloques de predicción del candidato de fusión seleccionado, los índices de referencia refIdxL0[xP][yP] y refIdxL1[xP][yP], y los vectores de movimiento mvL0[xP][yP] y mvL1[xP][yP] se suministran a la unidad 105 de predicción con compensación de movimiento, y el índice de fusión para identificar el candidato de fusión seleccionado se suministra a la unidad 107 de determinación de procedimiento de predicción (etapa S8102 de la Figura 37). Sin embargo, en el segundo ejemplo práctico, los candidatos de fusión no válidos no están presentes en el intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por el valor de 0 a (maxNumMergeCand -1 ) y todos los candidatos de fusión son candidatos de fusión válidos. Cuando el número de candidatos de fusión numMergeCand es 0 (etapa S8102: NO), la información de inter predicción que tiene el valor por defecto que corresponde al tipo de corte predeterminado se suministra a la unidad 105 de predicción con compensación de movimiento (etapas S8103 a S8105).
Por otra parte, en la Figura 29 del segundo ejemplo práctico, cuando el número de candidatos de fusión numMergeCand es mayor que 0 (etapa S9101 de la Figura 38: SÍ), de forma similar a la unidad 237 de selección de información de inter predicción ilustrada en la Figura 13 del primer ejemplo práctico, la unidad 237 de selección de información de inter predicción de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento selecciona un candidato de fusión que corresponde al índice de fusión mergeIdx suministrado desde el segundo decodificador 202 de flujo de bits entre los candidatos de fusión añadidos a la lista de candidatos de fusión mergeCandList, suministra la información de inter predicción que incluye las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] que indican si usar o no la predicción L0 y la predicción L1 del candidato de fusión seleccionado, los índices de referencia L0 y L1 refIdxL0[xP][yP] y refIdxL1[xP][yP], y los vectores de movimiento L0 y L1 mvL0[xP][yP] y mvL1[xP][yP] a la unidad 206 de predicción con compensación de movimiento, y almacena la misma en la memoria 210 de almacenamiento de información de codificación. Sin embargo, en el segundo ejemplo práctico, los candidatos de fusión no válidos no están presentes en el intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por el valor de 0 a (maxNumMergeCand -1 ) y todos los candidatos de fusión son candidatos de fusión válidos. Por otra parte, cuando el número de candidatos de fusión numMergeCand es 0 (etapa S9102 de la Figura 38: NO), la información de inter predicción que tiene el valor por defecto que corresponde al tipo de corte predeterminado se suministra a la unidad 206 de predicción con compensación de movimiento y se almacena en la memoria 210 de almacenamiento de información de codificación (etapas S9103 a S9105 de la Figura 38).
A continuación, se describirá un procedimiento de derivación de información de inter predicción de acuerdo con un tercer ejemplo práctico de la presente realización. La Figura 28 es también un diagrama que ilustra una configuración detallada de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento ilustrado en la Figura 1 de acuerdo con el tercer ejemplo práctico de la realización. La Figura 29 es también un diagrama que ilustra una configuración detallada de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 2 de acuerdo con el tercer ejemplo práctico de la realización. La Figura 30 es también un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidato de fusión y un procedimiento de creación de lista de candidatos de fusión que son las funciones comunes de la unidad 120 de creación de lista de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 220 de creación de lista de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento de acuerdo con el tercer ejemplo práctico de la realización de la presente invención. En el tercer ejemplo práctico, de forma similar al segundo ejemplo práctico, la unidad 135 de agregación de candidato de fusión válido ilustrada en la Figura 28 y la unidad 235 de agregación de candidato de fusión válido ilustrada en la Figura 29 agregan candidatos de fusión válidos para eliminar candidatos de fusión no válidos dentro del intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por el valor de 0 a (maxNumMergeCand -1 ) (etapa S105 de la Figura 30). Eliminando el candidato de fusión no válido dentro de un intervalo en el que el índice de fusión tiene un valor de 0 a (maxNumMergeCand -1), se garantiza que no se selecciona un candidato de fusión no válido en el lado de decodificador y se selecciona únicamente un candidato de fusión válido. Sin embargo, en el tercer ejemplo práctico, independientemente del tipo de corte, los candidatos de fusión de los cuales el modo de inter predicción es predicción L0 (Pred_L0), el índice de referencia es 0 y el valor de vector es (0, 0) se usan como los candidatos de fusión válidos. La unidad 120 de creación de lista de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento del segundo ejemplo práctico ilustrado en la Figura 28 y la unidad 220 de creación de lista de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 29 tienen la misma configuración que la del tercer ejemplo práctico. Sin embargo, el procedimiento de la etapa S105 de la Figura 30 realizado por la unidad 135 de agregación de candidato de fusión válido y la unidad 235 de agregación de candidato de fusión válido es diferente que el del segundo ejemplo práctico.
Con referencia al diagrama de flujo de la Figura 32 se describirá en detalle un procedimiento de derivación de candidato de fusión válido que es el procedimiento de la etapa S105 de la Figura 30 realizado por la unidad 135 de agregación de candidato de fusión válido ilustrada en la Figura 28 y la unidad 235 de agregación de candidato de fusión válido ilustrada en la Figura 29 del tercer ejemplo práctico de la presente realización. La Figura 32 es un diagrama de flujo para describir el flujo del procedimiento de derivación de candidato de fusión válido de la etapa S105 de la Figura 30 de acuerdo con el tercer ejemplo práctico de la presente realización.
En el procedimiento de derivación de candidato de fusión válido de la Figura 32 del tercer ejemplo práctico, de forma similar al procedimiento de derivación de candidato de fusión válido de la Figura 31 del segundo ejemplo práctico, una pluralidad de candidatos de fusión que tienen el mismo valor de información de inter predicción se añaden a la lista de candidatos de fusión para añadir un candidato de fusión válido a la lista de candidatos de fusión con un procedimiento simple hasta que se elimine un candidato de fusión no válido dentro de un intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por un valor de 0 a (maxNumMergeCand -1). Sin embargo, en el tercer ejemplo práctico, independientemente del tipo de corte, estableciendo el modo de inter predicción a predicción L0 (Pred_L0), un candidato de fusión válido del cual el valor del vector de movimiento del modo de inter predicción que corresponde al tipo de corte es (0, 0) se añade a la lista de candidatos de fusión (etapas S6101 a S6113 de la Figura 32).
Primero, cuando el número de candidatos de fusión numMergeCand es menor que el mayor número de candidatos de fusión maxNumMergeCand (etapa S6102 de la Figura 32: SÍ), el flujo continúa a la etapa S6103. Cuando el número de candidatos de fusión numMergeCand no es menor que el mayor número de candidatos de fusión maxNumMergeCand (etapa S6102 de la Figura 32: NO), el procedimiento de derivación de candidato de fusión válido finaliza.
Posteriormente, los candidatos de fusión de los cuales el modo de inter predicción es predicción L0 (Pred_L0), el índice de referencia es 0 y el valor de vector es (0, 0) se usan como los candidatos de fusión válidos. Se establece (0, 0) a los vectores de movimiento mvL0Zero y mvL1Zero de los candidatos de fusión válidos (etapa S6104 de la Figura 32), se establecen 0 y -1 a los índices de referencia refIdxL0Zero y refIdxL1Zero de los candidatos de fusión válidos, respectivamente (etapa S6105 de la Figura 32), y se establecen 1 y 0 a las banderas predFlagL0Zero y predFlagL1Zero de los candidatos de fusión válidos, respectivamente (etapa S6106 de la Figura 32).
Posteriormente, el candidato de fusión válido se añade a la posición en la que el índice de fusión de la lista de candidatos de fusión mergeCandList se indica por el mismo valor que numMergeCand (etapa S6110 de la Figura 32), y el número de candidatos de fusión numMergeCand se incrementa en 1 (etapa S6112 de la Figura 32). A continuación, el flujo continúa a la etapa S6113.
Los procedimientos de las etapas S6102 a S6112 se realizan repetidamente hasta que el número de candidatos de fusión numMergeCand alcanza el mayor número de candidatos de fusión maxNumMergeCand (etapas S6101 a S6113 de la Figura 32). Con estos procedimientos, en el tercer ejemplo práctico, los candidatos de fusión no válidos se eliminan dentro de un intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por el valor de 0 a (maxNumMergeCand -1).
A continuación, se describirá un procedimiento de derivación de información de inter predicción de acuerdo con un cuarto ejemplo práctico de la presente realización. La Figura 28 es también un diagrama que ilustra una configuración detallada de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento ilustrado en la Figura 1 de acuerdo con el cuarto ejemplo práctico de la realización. La Figura 29 es también un diagrama que ilustra una configuración detallada de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 2 de acuerdo con el cuarto ejemplo práctico de la realización. La Figura 30 es también un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidato de fusión y un procedimiento de creación de lista de candidatos de fusión que son las funciones comunes de la unidad 120 de creación de lista de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 220 de creación de lista de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento de acuerdo con el cuarto ejemplo práctico de la realización de la presente invención. En el cuarto ejemplo práctico, de forma similar al segundo y tercer ejemplos prácticos, la unidad 135 de agregación de candidato de fusión válido ilustrada en la Figura 28 y la unidad 235 de agregación de candidato de fusión válido ilustrada en la Figura 29 agregan candidatos de fusión válidos para eliminar candidatos de fusión no válidos dentro del intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por el valor de 0 a (maxNumMergeCand -1 ) (etapa S105 de la Figura 30). Eliminando el candidato de fusión no válido dentro de un intervalo en el que el índice de fusión tiene un valor de 0 a (maxNumMergeCand -1), se garantiza que no se selecciona un candidato de fusión no válido en el lado de decodificador y se selecciona únicamente un candidato de fusión válido. Sin embargo, en el cuarto ejemplo práctico, un candidato de fusión añadido el último a la lista de fusión se añade repetidamente a la lista de candidatos de fusión como un candidato de fusión válido. La unidad 120 de creación de lista de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento del segundo y tercer ejemplos prácticos ilustrados en la Figura 28 y la unidad 220 de creación de lista de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 29 tienen la misma configuración que la del cuarto ejemplo práctico. Sin embargo, el procedimiento de la etapa S105 de la Figura 30 realizado por la unidad 135 de agregación de candidato de fusión válido y la unidad 235 de agregación de candidato de fusión válido es diferente que el del segundo y tercer ejemplos prácticos.
Con referencia al diagrama de flujo de la Figura 32 se describirá en detalle un procedimiento de derivación de candidato de fusión válido que es el procedimiento de la etapa S105 de la Figura 30 realizado por la unidad 135 de agregación de candidato de fusión válido ilustrada en la Figura 28 y la unidad 235 de agregación de candidato de fusión válido ilustrada en la Figura 29 del cuarto ejemplo práctico de la presente realización. La Figura 33 es un diagrama de flujo para describir el flujo del procedimiento de derivación de candidato de fusión válido de la etapa S105 de la Figura 30 de acuerdo con el cuarto ejemplo práctico de la presente realización.
En el procedimiento de derivación de candidato de fusión válido de la Figura 33 del cuarto ejemplo práctico, de forma similar al procedimiento de derivación de candidato de fusión válido de las Figuras 31 y 32 del segundo y tercer ejemplos prácticos, respectivamente, una pluralidad de candidatos de fusión que tienen el mismo valor de información de inter predicción se añaden a la lista de candidatos de fusión para añadir un candidato de fusión válido a la lista de candidatos de fusión con un procedimiento simple hasta que se elimine un candidato de fusión no válido dentro de un intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por un valor de 0 a (maxNumMergeCand - 1). Sin embargo, en el cuarto ejemplo práctico, un candidato de fusión añadido el último a la lista de fusión se añade repetidamente a la lista de candidatos de fusión como un candidato de fusión válido (etapas S6101 a S6113 de la Figura 33).
Primero, cuando el número de candidatos de fusión numMergeCand es menor que el mayor número de candidatos de fusión maxNumMergeCand (etapa S6102 de la Figura 33: SÍ), el flujo continúa a la etapa S6111. Cuando el número de candidatos de fusión numMergeCand no es menor que el mayor número de candidatos de fusión maxNumMergeCand (etapa S6102 de la Figura 33: NO), el procedimiento de derivación de candidato de fusión válido finaliza.
Posteriormente, el candidato de fusión añadido el último a la lista de fusión se añade repetidamente a la lista de candidatos de fusión como un candidato de fusión válido (etapa S6111 de la Figura 33). Específicamente, un candidato de fusión del cual el modo de inter predicción, el índice de referencia y el valor de vector son los mismos que los del candidato de fusión añadido a la posición que corresponde al valor de índice (numMergeIdx - 1) de la lista de candidatos de fusión se añade a la posición en la que el índice de fusión de la lista de candidatos de fusión mergeCandList se indica por el mismo valor que numMergeCand que el candidato de fusión válido. Posteriormente, el número de candidatos de fusión numMergeCand se incrementa en 1 (etapa S6112 de la Figura 33), y el flujo continúa a la etapa S6113.
Los procedimientos de las etapas S6102 a S6112 se realizan repetidamente hasta que el número de candidatos de fusión numMergeCand alcanza el mayor número de candidatos de fusión maxNumMergeCand (etapas S6101 a S6113 de la Figura 33). Con estos procedimientos, en el cuarto ejemplo práctico, los candidatos de fusión no válidos se eliminan dentro de un intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por el valor de 0 a (maxNumMergeCand -1).
A continuación, se describirá un procedimiento de derivación de información de inter predicción de acuerdo con un quinto ejemplo práctico de la presente realización. La Figura 28 es también un diagrama que ilustra una configuración detallada de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento ilustrado en la Figura 1 de acuerdo con el cuarto ejemplo práctico de la realización. La Figura 29 es también un diagrama que ilustra una configuración detallada de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 2 de acuerdo con el cuarto ejemplo práctico de la realización. La Figura 30 es también un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidato de fusión y un procedimiento de creación de lista de candidatos de fusión que son las funciones comunes de la unidad 120 de creación de lista de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 220 de creación de lista de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento de acuerdo con el cuarto ejemplo práctico de la realización de la presente invención. En el quinto ejemplo práctico, se realiza una combinación del procedimiento de derivación de candidato de fusión adicional de la Figura 26 del cuarto ejemplo práctico y el procedimiento de derivación de candidato de fusión válido de la Figura 33.
Se describirá en detalle un procedimiento de derivación de candidato de fusión adicional y candidato de fusión válido de la etapa S110 que es una combinación de las etapas S104 y S105 de la Figura 30, realizado por un bloque 121 de derivación de candidato de fusión adicional y candidato de fusión válido que es una combinación de los procedimientos realizados por la unidad 134 de derivación de candidato de fusión adicional y la unidad 135 de agregación de candidato de fusión válido de la Figura 28 del quinto ejemplo práctico y un bloque 221 de derivación de candidato de fusión adicional y candidato de fusión válido que es una combinación de los procedimientos realizados por la unidad 234 de derivación de candidato de fusión adicional y la unidad 235 de agregación de candidato de fusión válido de la Figura 29. La Figura 34 es un diagrama de flujo para describir el flujo del procedimiento de derivación de candidato de fusión adicional y candidato de fusión válido de la etapa S110 de la Figura 30 de acuerdo con el quinto ejemplo práctico de la presente realización.
En el procedimiento de derivación de candidato de fusión adicional y candidato de fusión válido de la Figura 34, una pluralidad de candidatos de fusión que tienen valores diferentes de información de inter predicción se derivan y añaden a la lista de candidatos de fusión para ampliar las opciones para que los candidatos de fusión mejoren la eficiencia de codificación. Después de eso, una pluralidad de candidatos de fusión que tienen el mismo valor de información de inter predicción se añaden a la lista de candidatos de fusión para añadir un candidato de fusión válido a la lista de candidatos de fusión hasta que se elimine un candidato de fusión no válido dentro de un intervalo en el que el índice de fusión en la lista se indica por un valor de 0 a (maxNumMergeCand -1 ) (etapas S5101 a S5119 de la Figura 34).
Primero, cuando el tipo de corte es corte P (etapa S5101 de la Figura 34: SÍ), el valor del número de índices de referencia L0 se establece a una variable numRefIdx que indica el número de índices de referencia (etapa S5102 de la Figura 34). Por otra parte, cuando el tipo de corte o es corte P (etapa S5101 de la Figura 34: NO), es decir, cuando el tipo de corte es corte B, el valor más pequeño entre el número de índices de referencia L0 y el número de índices de referencia L1 se establece a la variable numRefIdx que indica el número de índices de referencia (etapa S5103 de la Figura 34). Posteriormente, se establece 0 al índice de referencia i (etapa S5104 de la Figura 34).
Posteriormente, se deriva un candidato de fusión adicional del cual el valor del vector de movimiento del modo de predicción que corresponde al tipo de corte es (0, 0) mientras se cambia el índice de referencia i y se añade a la lista de candidatos de fusión (etapas S5105 a S5119 de la Figura 34).
Primero, cuando el número de candidatos de fusión numMergeCand es menor que el mayor número de candidatos de fusión maxNumMergeCand (etapa S5106 de la Figura 34: SÍ), el flujo continúa a la etapa S5107. Cuando el número de candidatos de fusión numMergeCand no es menor que el mayor número de candidatos de fusión maxNumMergeCand (etapa S5106 de la Figura 34: NO), el procedimiento de derivación de candidato de fusión adicional finaliza.
Posteriormente, cuando el índice de referencia i es menor que la variable numRefIdx (etapa S5107 de la Figura 34: SÍ), el flujo continúa a la etapa S5109 y se realiza un procedimiento de adición de candidato de fusión adicional. Cuando el índice de referencia i no es menor que la variable numRefIdx (etapa S5107 de la Figura 34: NO), se establece (numRefIdx -1 ) al índice de referencia i (etapa S5108 de la Figura 34), el flujo continúa a la etapa S5109, y se realiza un procedimiento de adición de candidato de fusión válido.
Posteriormente, cuando el tipo de corte es corte P (etapa S5109 de la Figura 34: SÍ), se establece (0, 0) a los vectores de movimiento mvL0Zero y mvL1Zero de los candidatos de fusión adicionales (etapa S5110 de la Figura 34), el valor del índice de referencia i y -1 se establecen a los índices de referencia refIdxL0Zero y refIdxL1Zero de los candidatos de fusión adicionales, respectivamente (etapa S5111 de la Figura 34), y se establecen 1 y 0 a las banderas predFlagLOZero y predFlagL1Zero de los candidatos de fusión adicionales, respectivamente (etapa S5112 de la Figura 34). A continuación, el flujo continúa a la etapa S5116.
Por otra parte, cuando el tipo de corte no es corte P (etapa S5109 de la Figura 34: NO) (es decir, cuando el tipo de corte es corte B), se establece (0, 0) a los vectores de movimiento mvL0Zero y mvL1Zero (etapa S5113 de la Figura 34), el valor del índice de referencia i se establece a los índices de referencia refIdxL0Zero y refIdxL1Zero de los candidatos de fusión adicionales (etapa S5114 de la Figura 34), y se establece 1 a las banderas predFlagL0Zero y predFlagL1Zero de los candidatos de fusión adicionales (etapa S5115 de la Figura 34). A continuación, el flujo continúa a la etapa S5116.
Posteriormente, el candidato de fusión adicional se añade a la posición en la que el índice de fusión de la lista de candidatos de fusión mergeCandList se indica por el mismo valor que numMergeCand (etapa S5116 de la Figura 34), y el número de candidatos de fusión numMergeCand se incrementa en 1 (etapa S5117 de la Figura 34). Posteriormente, el índice i se incrementa en 1 (etapa S5118 de la Figura 34), y el flujo continúa a la etapa S5119.
Los procedimientos de las etapas S5106 a S5118 se realizan repetidamente para respectivos índices de referencia i (etapas S5105 a S5119 de la Figura 34). Con estos procedimientos, en el quinto ejemplo práctico, los candidatos de fusión no válidos se eliminan dentro de un intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por el valor de 0 a (maxNumMergeCand -1).
A continuación, se describirá un procedimiento de derivación de información de inter predicción de acuerdo con un sexto ejemplo práctico de la presente realización. La Figura 28 es también un diagrama que ilustra una configuración detallada de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento ilustrado en la Figura 1 de acuerdo con el sexto ejemplo práctico de la realización. La Figura 29 es también un diagrama que ilustra una configuración detallada de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 2 de acuerdo con el sexto ejemplo práctico de la realización. La Figura 30 es también un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidato de fusión y un procedimiento de creación de lista de candidatos de fusión que son las funciones comunes de la unidad 120 de creación de lista de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 220 de creación de lista de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento de acuerdo con el sexto ejemplo práctico de la realización de la presente invención. Aunque un procedimiento de implementación del sexto ejemplo práctico es diferente que el del segundo ejemplo práctico, puede obtenerse la misma información de inter predicción en el lado de decodificador. En el sexto ejemplo práctico, información de inter predicción dentro del intervalo de todos los índices en la lista de candidatos de fusión o en la que el índice se indica por el valor de 0 a (maxMergeCand - 1) se inicializa a un valor predeterminado, y se realiza el procedimiento de derivación y adición de respectivos candidatos de fusión. Cuando el tipo de corte es corte P, la unidad 130 de creación de lista de candidatos de fusión de la Figura 28 y la unidad 230 de creación de lista de candidatos de fusión de la Figura 29 inicializan todos los elementos en la lista de candidatos de fusión estableciendo el modo de inter predicción a predicción L0 (Pred_L0), el índice de referencia a 0 y el valor de vector a (0, 0). Cuando el tipo de corte no es corte P (es decir, el tipo de corte es corte B), todos los elementos en la lista de candidatos de fusión se inicializan estableciendo el modo de inter predicción a bipredicción (Pred_BI), ambos índices de referencia a 0 y ambos valores de vector a (0, 0). Además, se establece 0 al número de candidatos de fusión numMergeCand.
Además, la unidad 135 de agregación de candidato de fusión válido de la Figura 29 y la unidad 235 de agregación de candidato de fusión válido de la Figura 30 de acuerdo con el sexto ejemplo práctico hacen que la información de inter predicción inicializada sea válida de modo que los candidatos de fusión se usan como candidato de fusión válido. Con referencia al diagrama de flujo de la Figura 35 se describirá en detalle un procedimiento de derivación de candidato de fusión válido que es el procedimiento de la etapa S105 de la Figura 30 realizado por la unidad 135 de agregación de candidato de fusión válido ilustrada en la Figura 28 y la unidad 235 de agregación de candidato de fusión válido ilustrada en la Figura 29 del sexto ejemplo práctico de la presente realización. La Figura 35 es un diagrama de flujo para describir el flujo del procedimiento de elaboración de la información de inter predicción inicializada válida como candidatos de fusión válidos de la etapa S105 de la Figura 30 de acuerdo con el sexto ejemplo práctico de la presente realización. Cuando el número de candidatos de fusión numMergeCand es menor que el mayor número de candidatos de fusión maxNumMergeCand (etapa S6201 de la Figura 35), el valor del mayor número de candidatos de fusión maxNumMergeCand se establece al número de candidatos de fusión numMergeCand (etapa S6201 de la Figura 35). Con este procedimiento, la unidad 130 de creación de lista de candidatos de fusión de la Figura 29 y la unidad 230 de creación de lista de candidatos de fusión de la Figura 30 hacen que la información de inter predicción inicializada sea válida de modo que los candidatos de fusión se usan como candidatos de fusión válidos.
A continuación, se describirá un procedimiento de derivación de información de inter predicción de acuerdo con un séptimo ejemplo práctico de la presente realización. La Figura 28 es también un diagrama que ilustra una configuración detallada de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento ilustrado en la Figura 1 de acuerdo con el séptimo ejemplo práctico de la realización. La Figura 29 es también un diagrama que ilustra una configuración detallada de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento ilustrado en la Figura 2 de acuerdo con el séptimo ejemplo práctico de la realización. La Figura 30 es también un diagrama de flujo para describir el flujo de un procedimiento de derivación de candidato de fusión y un procedimiento de creación de lista de candidatos de fusión que son las funciones comunes de la unidad 120 de creación de lista de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 220 de creación de lista de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento de acuerdo con el séptimo ejemplo práctico de la realización de la presente invención. Aunque un procedimiento de implementación del séptimo ejemplo práctico es diferente que el del tercer ejemplo práctico, puede obtenerse la misma información de inter predicción en el lado de decodificador. En el séptimo ejemplo práctico, de forma similar al sexto ejemplo práctico, información de inter predicción dentro del intervalo de todos los índices en la lista de candidatos de fusión o en la que el índice se indica por el valor de 0 a (maxMergeCand -1 ) se inicializa a un valor predeterminado, y se realiza el procedimiento de derivación y adición de respectivos candidatos de fusión. Sin embargo, en el séptimo ejemplo práctico, la unidad 130 de creación de lista de candidatos de fusión de la Figura 28 y la unidad 230 de creación de lista de candidatos de fusión de la Figura 29 inicializan todos los elementos en la lista de candidatos de fusión estableciendo el modo de inter predicción a predicción L0 (Pred_L0), el índice de referencia a 0 y el valor de vector a (0, 0) independientemente del tipo de corte. Los otros procedimientos son los mismos que los del sexto ejemplo práctico.
Anteriormente en el presente documento, se ha descrito la presente realización. Cuando en el lado de codificador se codifica un índice de fusión que indica un candidato de fusión no válido, se selecciona un candidato de fusión no válido en el lado de decodificador. En este caso, se realiza inter predicción usando la información de inter predicción no válida y pueden obtenerse señales de predicción inesperadas. Además, el modo de inter predicción puede tener un valor que no se ajusta a los estándares y el índice de referencia puede indicar una instantánea de referencia que no está presente de modo que puede producirse un error y la decodificación puede finalizar de forma anormal.
De acuerdo con el primer ejemplo práctico de la presente realización, incluso cuando en el lado de codificador se codifica un índice de fusión que indica un candidato de fusión no válido, en el lado de decodificador no se realizará inter predicción usando la información de inter predicción del candidato de fusión no válido. Dado que el dispositivo de codificación de instantáneas en movimiento de acuerdo con las reglas de la presente realización puede obtener la misma información de inter predicción y la misma señal de predicción, es posible obtener la misma instantánea decodificada.
De acuerdo con el segundo al séptimo ejemplos prácticos de la presente realización, el índice de fusión que indica un candidato de fusión no válido no se seleccionará y codificará en el lado de codificador, y se garantiza que en el lado de decodificador no se realiza inter predicción usando la información de inter predicción del candidato de fusión no válido. Dado que el dispositivo de decodificación de instantáneas en movimiento puede obtener la misma información de inter predicción y la misma señal de predicción, es posible obtener la misma instantánea decodificada.
De acuerdo con el segundo al quinto ejemplos prácticos de la presente realización, la unidad 135 de agregación de candidato de fusión válido del dispositivo de codificación de instantáneas en movimiento y la unidad 235 de agregación de candidato de fusión válido del dispositivo de decodificación de instantáneas en movimiento añaden candidatos de fusión válidos hasta que se elimina un candidato de fusión no válido dentro del intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por el valor de 0 a (maxNumMergeCand -1). Sin embargo, los candidatos de fusión válidos pueden añadirse hasta un intervalo predeterminado de (maxNumMergeCand -1 ) o más siempre que el candidato de fusión no válido no esté presente al menos en el intervalo de 0 a (maxNumMergeCand -1).
De acuerdo con el sexto y séptimo ejemplos prácticos de la presente realización, la unidad 120 de creación de lista de candidatos de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de instantáneas en movimiento y la unidad 220 de creación de lista de candidatos de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de instantáneas en movimiento inicializan la información de inter predicción en el intervalo en el que el índice de fusión en la lista de candidatos de fusión se indica por el valor de 0 a (maxNumMergeCand -1 ) al valor predeterminado. Sin embargo, puede inicializarse la información de inter predicción al menos en el intervalo de 0 a (maxNumMergeCand - 1), y puede inicializarse la información de inter predicción hasta un intervalo predeterminado de (maxNumMergeCand -1 ) o más.
En la realización descrita anteriormente, se derivan el candidato de fusión espacial, el candidato de fusión temporal y el candidato de fusión adicional. Sin embargo, en la presente invención también se incluye una realización en la que se omiten los respectivos procedimientos de derivación de candidato de fusión. Además, en la presente invención también se incluye una realización en la que se modifican los respectivos procedimientos de derivación de candidato de fusión o se añade un nuevo procedimiento de derivación de candidato de fusión.
Cuando se realiza el procedimiento de derivación de candidato de fusión adicional de la Figura 26 descrito en la presente realización, si el tipo de corte es corte B, el procedimiento del tercer y séptimo ejemplos prácticos en los que se agrega un candidato de fusión válido de predicción L0 que tiene un valor diferente de información de inter predicción del candidato de fusión adicional es más adecuado que el procedimiento del segundo y sexto ejemplos prácticos en los que se agrega un candidato de fusión válido que tiene el mismo valor de información de inter predicción que el candidato de fusión adicional. Cuando no se realiza el procedimiento de derivación de candidato de fusión adicional de la Figura 26 descrito en la presente realización, si el tipo de corte es corte B, el procedimiento del segundo y sexto ejemplos prácticos en los que se agrega un candidato de fusión válido de bipredicción que tiene una eficiencia de predicción alta es más adecuado que el procedimiento del tercer y séptimo ejemplos prácticos en los que se agrega un candidato de fusión válido de predicción L0.
Cuando el valor del mayor número de candidatos de fusión maxNumMergeCand es 0, no se define la información de inter predicción que tiene el valor por defecto, y el modo de salto y el modo de fusión se inhiben, aunque se transmiten las banderas del modo de salto y modo de fusión, la eficiencia de codificación disminuye porque no puede seleccionarse el modo de salto o el modo de fusión. Además, cuando se selecciona el modo de salto o el modo de salto que se inhibe en el lado de codificador y se decodifica un flujo de bits codificado, se produce un error en el lado de decodificador, y el procedimiento de decodificación puede finalizar de forma anormal.
Sin embargo, en la presente realización, independientemente del valor del mayor número de candidatos de fusión maxNumMergeCand, el modo de fusión que incluye el modo de salto siempre puede seleccionarse cuando el valor del mayor número de candidatos de fusión maxNumMergeCand es 0. En este caso, en el modo de salto o el intervalo movible, se emite la información de inter predicción que tiene el valor por defecto. Como un ejemplo del valor por defecto de la información de inter predicción, cuando el tipo de corte es corte B, el valor por defecto se define de tal forma que el modo de predicción es bipredicción (Pred_BI), el valor del índice de instantánea de referencia es 0 y el valor del vector de movimiento es (0, 0). Por lo tanto, incluso cuando el valor del mayor número de candidatos de fusión maxNumMergeCand es 0, se garantiza que no se realiza la codificación en el lado de codificador con el modo de salto o el modo de fusión como un valor inválido y que en el lado de decodificador se realiza inter predicción usando la información de inter predicción que tiene el valor por defecto predeterminado. Por lo tanto, dado que el dispositivo de decodificación de instantáneas en movimiento puede obtener la misma información de inter predicción y la misma señal de predicción, es posible obtener la misma instantánea decodificada. Además, incluso cuando el valor del mayor número de candidatos de fusión maxNumMergeCand es 0, dado que puede seleccionarse el modo de salto o el modo de fusión, se mejora la eficiencia de codificación en comparación con cuando se inhibe el modo de salto o el modo de fusión.
Cuando el valor del mayor número de candidatos de fusión maxNumMergeCand es 0, la información de inter predicción del modo de fusión que incluye el modo de salto usa el valor por defecto, no es necesario realizar el procedimiento de creación de lista de candidatos de fusión a diferencia del caso en el que el valor del mayor número de candidatos de fusión maxNumMergeCand es mayor que o igual a 1. Por lo tanto, es posible realizar un dispositivo de codificación que no realiza el procedimiento de creación de lista de candidatos de fusión y tiene una cantidad de procesamiento pequeña. Además, dado que el procedimiento en el lado de decodificador implica establecer el valor por defecto a la información de inter predicción del modo de fusión que incluye el modo de salto únicamente, es posible minimizar la cantidad de procesamiento en el lado de decodificador y asumir un dispositivo de decodificación con capacidad de suprimir un descenso en la eficiencia de codificación.
El flujo de bits de la imagen en movimiento emitido por el dispositivo de codificación de instantáneas en movimiento de acuerdo con la realización tiene un formato de datos específico que puede decodificarse de acuerdo con un procedimiento de codificación usado en la realización, y el dispositivo de decodificación de instantáneas en movimiento que corresponde al dispositivo de codificación de instantáneas en movimiento puede decodificar el flujo de bits que tiene el formato de datos específico.
Cuando se usa una red por cable o inalámbrica para intercambiar el flujo de bits entre el dispositivo de codificación de instantáneas en movimiento y el dispositivo de decodificación de instantáneas en movimiento, el flujo de bits puede convertirse para tener un formato de datos apropiado para una forma de transmisión de una trayectoria de comunicación y transmitirse a continuación. En este caso, se proporcionan un transmisor de instantáneas en movimiento que convierte el flujo de bits emitido por el dispositivo de codificación de instantáneas en movimiento a datos de codificación que tienen el formato de datos apropiado para una forma de transmisión de una trayectoria de transmisión y, a continuación, transmite los datos de comunicación a la red y un receptor de instantáneas en movimiento que recibe los datos de comunicación desde la red, reconstruye el flujo de bits, y suministra el flujo de bits reconstruido al dispositivo de decodificación de instantáneas en movimiento.
El transmisor de imagen en movimiento incluye una memoria que almacena en memoria intermedia el flujo de bits emitido por el dispositivo de codificación de instantáneas en movimiento, una unidad de procesamiento de paquetes que empaqueta el flujo de bits, y una unidad de transmisión que transmite los datos de codificación empaquetados a través de la red. El receptor de imagen en movimiento incluye una unidad de recepción que recibe el datos de codificación empaquetados a través de la red, una memoria que almacena en memoria intermedia los datos de codificación recibidos y una unidad de procesamiento de paquetes que realiza procesamiento de paquetes en los datos de comunicación para crear el flujo de bits, y proporciona el flujo de bits creado al dispositivo de decodificación de instantáneas en movimiento.
El procedimiento relacionado con la codificación y decodificación descrito anteriormente puede implementarse como transmisión, acumulación y receptores que usan hardware, y puede implementarse mediante firmware almacenado en una memoria de sólo lectura (ROM), una memoria flash o similar o software de un ordenador o similar. Un programa de firmware y un programa de software puede grabarse en un medio de grabación legible por ordenador y proporcionarse, puede proporcionarse desde un servidor a través de una red por cable o inalámbrica, o puede proporcionarse como difusión de datos de difusión de difusión terrestre o por satélite digital.
rDescripción de números de referencia!
101: Memoria de instantáneas
117: Unidad de establecimiento de información de encabezamiento
102: Detector de vectores de movimiento
103: Unidad de derivación de diferencia de vector de movimiento
104: Unidad de derivación de información de inter predicción
105: Unidad de predicción con compensación de movimiento
106: Unidad de intra predicción
107: Unidad de determinación de procedimiento de predicción
108: Unidad de creación de señal residual
109: Unidad de transformación ortogonal y cuantificación
118: Primera unidad de creación de flujo de bits
110: Segunda unidad de creación de flujo de bits
111: Tercera unidad de creación de flujo de bits
112: Multiplexor
113: Unidad de decuantificación y transformación ortogonal inversa
114: Unidad de superposición de señal de instantánea codificada
115: Memoria de almacenamiento de información de codificación
116: Memoria de instantáneas decodificadas
130: Unidad de creación de lista de candidatos de fusión
131: Unidad de creación de candidato de fusión espacial
132: Unidad de derivación de índice de referencia de candidato de fusión temporal
133: Unidad de derivación de candidato de fusión temporal
134: Unidad de derivación de candidato de fusión adicional
135: Unidad de agregación de candidato de fusión válido
136: Unidad de limitación de candidatos de fusión
137: Unidad de selección de información de inter predicción
201: Demultiplexor
212: Primer decodificador de flujo de bits
202: Segundo decodificador de flujo de bits
203: Tercer decodificador de flujo de bits
204: Unidad de derivación de vector de movimiento
205: Unidad de derivación de información de inter predicción
206: Unidad de predicción con compensación de movimiento
207: Unidad de intra predicción
208: Unidad de decuantificación y transformación ortogonal inversa
209: Unidad de superposición de señal de instantánea codificada
210: Memoria de almacenamiento de información de codificación
211: Memoria de instantáneas decodificadas
230: Unidad de creación de lista de candidatos de fusión
231: Unidad de creación de candidato de fusión espacial
232: Unidad de derivación de índice de referencia de candidato de fusión temporal
233: Unidad de derivación de candidato de fusión temporal
234: Unidad de derivación de candidato de fusión adicional
235: Unidad de agregación de candidato de fusión válido
236: Unidad de limitación de candidatos de fusión
237: Unidad de selección de información de inter predicción
rAplicabilidad industrial!
La presente invención puede usarse para técnicas de codificación y decodificación de imagen en movimiento.

Claims (6)

REIVINDICACIONES
1. Un dispositivo de codificación de instantáneas en movimiento que codifica imágenes en movimiento usando inter predicción a base de información de inter predicción de un candidato de fusión en unidades de bloques obtenidos particionando cada instantánea de las instantáneas en movimiento, que comprende:
una unidad (110) de codificación de información de predicción que codifica información que indica un número anteriormente designado de candidatos de fusión;
una unidad (104, 205) de derivación de información de predicción que deriva candidatos de fusión a partir de información de inter predicción de un bloque de predicción vecino a un bloque de predicción objetivo de codificación o un bloque de predicción presente en la misma posición que o próximo al bloque de predicción objetivo de codificación en una instantánea codificada en una posición temporalmente diferente del bloque de predicción objetivo de codificación;
una unidad (130, 230) de creación de lista de candidatos que crea una lista de candidatos de fusión a partir de los candidatos de fusión derivados;
una unidad (134, 234) de generación de candidato que realiza repetidamente un primer procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene un primer valor, el modo de inter predicción tiene un segundo valor y el índice de referencia tiene un tercer valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión o el tercer valor no es menor que una variable que indica el número de índices de referencia cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión;
una unidad (135, 235) de agregación de candidato que, después de que la unidad de generación de candidato realizó el primer procedimiento, realiza repetidamente un segundo procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene el primer valor, el modo de inter predicción tiene el segundo valor y el índice de referencia tiene un cuarto valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión; y
una unidad (105, 206) de predicción con compensación de movimiento que selecciona un candidato de fusión de entre los candidatos de fusión incluidos en la lista de candidatos de fusión de la que el número de candidatos de fusión alcanza el número designado de candidatos de fusión y realiza inter predicción en el bloque de predicción objetivo de codificación usando la información de inter predicción del candidato de fusión seleccionado, en el que:
el primer valor es (0,0);
el segundo valor es un valor predefinido que indica que el modo de inter predicción es predicción L0 cuando un tipo de corte de un corte que contiene el bloque de predicción objetivo de codificación es un corte P;
el tercer valor es una variable que se incrementa en uno cada vez que se produce el primer procedimiento; y el cuarto valor es 0.
2. Un procedimiento de codificación de codificación de instantáneas en movimiento de instantáneas en movimiento usando inter predicción a base de información de inter predicción de un candidato de fusión en unidades de bloques obtenidos particionando cada instantánea de las instantáneas en movimiento, que comprende:
una etapa de codificación de información de predicción de información de codificación que indica un número anteriormente designado de candidatos de fusión;
una etapa de derivación de información de predicción de derivación de candidatos de fusión a partir de información de inter predicción de un bloque de predicción vecino a un bloque de predicción objetivo de codificación o un bloque de predicción presente en la misma posición que o próximo al bloque de predicción objetivo de codificación en una instantánea codificada en una posición temporalmente diferente del bloque de predicción objetivo de codificación; una etapa de creación de lista de candidatos de creación de una lista de candidatos de fusión a partir de los candidatos de fusión derivados;
una etapa de generación de candidatos de realización repetidamente de un primer procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene un primer valor, el modo de inter predicción tiene un segundo valor y el índice de referencia tiene un tercer valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión o el tercer valor no es menor que una variable que indica el número de índices de referencia cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión;
una etapa de agregación de candidatos de, después de que la etapa de generación de candidatos realizó el primer procedimiento, realización repetidamente de un segundo procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene el primer valor, el modo de inter predicción tiene el segundo valor y el índice de referencia tiene un cuarto valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión; y
una etapa de predicción con compensación de movimiento de selección de un candidato de fusión a partir de los candidatos de fusión incluidos en la lista de candidatos de fusión de la que el número de candidatos de fusión alcanza el número designado de candidatos de fusión y realización de inter predicción en el bloque de predicción objetivo de codificación usando la información de inter predicción del candidato de fusión seleccionado, en el que:
el primer valor es (0,0);
el segundo valor es un valor predefinido que indica que el modo de inter predicción es predicción L0 cuando un tipo de corte de un corte que contiene el bloque de predicción objetivo de codificación es un corte P;
el tercer valor es una variable que se incrementa en uno cada vez que se produce el primer procedimiento; y el cuarto valor es 0.
3. Un programa de codificación de instantáneas en movimiento de codificación de instantáneas en movimiento usando inter predicción a base de información de inter predicción de un candidato de fusión en unidades de bloques obtenidos particionando cada instantánea de las instantáneas en movimiento, que provoca que un ordenador ejecute:
una etapa de codificación de información de predicción de información de codificación que indica un número anteriormente designado de candidatos de fusión;
una etapa de derivación de información de predicción de derivación de candidatos de fusión a partir de información de inter predicción de un bloque de predicción vecino a un bloque de predicción objetivo de codificación o un bloque de predicción presente en la misma posición que o próximo al bloque de predicción objetivo de codificación en una instantánea codificada en una posición temporalmente diferente del bloque de predicción objetivo de codificación; una etapa de creación de lista de candidatos de creación de una lista de candidatos de fusión a partir de los candidatos de fusión derivados;
una etapa de generación de candidatos de realización repetidamente de un primer procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene un primer valor, el modo de inter predicción tiene un segundo valor y el índice de referencia tiene un tercer valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión o el tercer valor no es menor que una variable que indica el número de índices de referencia cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión;
una etapa de agregación de candidatos de, después de que la etapa de generación de candidatos realizó el primer procedimiento, realización repetidamente de un segundo procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene el primer valor, el modo de inter predicción tiene el segundo valor y el índice de referencia tiene un cuarto valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión; y
una etapa de predicción con compensación de movimiento de selección de un candidato de fusión a partir de los candidatos de fusión incluidos en la lista de candidatos de fusión de la que el número de candidatos de fusión alcanza el número designado de candidatos de fusión y realización de inter predicción en el bloque de predicción objetivo de codificación usando la información de inter predicción del candidato de fusión seleccionado, en el que:
el primer valor es (0,0);
el segundo valor es un valor predefinido que indica que el modo de inter predicción es predicción L0 cuando un tipo de corte de un corte que contiene el bloque de predicción objetivo de codificación es un corte P;
el tercer valor es una variable que se incrementa en uno cada vez que se produce el primer procedimiento; y el cuarto valor es 0.
4. Un dispositivo de decodificación de instantáneas en movimiento que decodifica un flujo de bits obtenido codificando instantáneas en movimiento usando inter predicción a base de información de inter predicción de un candidato de fusión en unidades de bloques obtenidos particionando cada instantánea de las instantáneas en movimiento, que comprende:
una unidad (202) de decodificación de información de predicción que decodifica información que indica un número anteriormente designado de candidatos de fusión;
una unidad (104, 205) de derivación de información de predicción que deriva candidatos de fusión a partir de información de inter predicción de un bloque de predicción vecino a un bloque de predicción objetivo de decodificación o un bloque de predicción presente en la misma posición que o próximo al bloque de predicción objetivo de decodificación en una instantánea decodificada en una posición temporalmente diferente del bloque de predicción objetivo de decodificación;
una unidad (130, 230) de creación de lista de candidatos que crea una lista de candidatos de fusión a partir de los candidatos de fusión derivados;
una unidad (134, 234) de generación de candidato que realiza repetidamente un primer procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene un primer valor, el modo de inter predicción tiene un segundo valor y el índice de referencia tiene un tercer valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión o el tercer valor no es menor que una variable que indica el número de índices de referencia cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión;
una unidad (135, 235) de agregación de candidato que, después de que la unidad de generación de candidato realizó el primer procedimiento, realiza repetidamente un segundo procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene el primer valor, el modo de inter predicción tiene el segundo valor y el índice de referencia tiene un cuarto valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión; y
una unidad (105, 206) de predicción con compensación de movimiento que selecciona un candidato de fusión de entre los candidatos de fusión incluidos en la lista de candidatos de fusión de la que el número de candidatos de fusión alcanza el número designado de candidatos de fusión y realiza inter predicción en el bloque de predicción objetivo de decodificación usando la información de inter predicción del candidato de fusión seleccionado, en el que:
el primer valor es (0,0);
el segundo valor es un valor predefinido que indica que el modo de inter predicción es predicción L0 cuando un tipo de corte de un corte que contiene el bloque de predicción objetivo de decodificación es un corte P; el tercer valor es una variable que se incrementa en uno cada vez que se produce el primer procedimiento; y el cuarto valor es 0.
5. Un procedimiento de decodificación de instantáneas en movimiento de decodificación de un flujo de bits obtenido codificando instantáneas en movimiento usando inter predicción a base de información de inter predicción de un candidato de fusión en unidades de bloques obtenidos particionando cada instantánea de las instantáneas en movimiento, que comprende:
una etapa de decodificación de información de predicción de decodificación de información que indica un número anteriormente designado de candidatos de fusión;
una etapa de derivación de información de predicción de derivación de candidatos de fusión a partir de información de inter predicción de un bloque de predicción vecino a un bloque de predicción objetivo de decodificación o un bloque de predicción presente en la misma posición que o próximo al bloque de predicción objetivo de decodificación en una instantánea decodificada en una posición temporalmente diferente del bloque de predicción objetivo de decodificación;
una etapa de creación de lista de candidatos de creación de una lista de candidatos de fusión a partir de los candidatos de fusión derivados;
una etapa de generación de candidatos de realización repetidamente de un primer procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene un primer valor, el modo de inter predicción tiene un segundo valor y el índice de referencia tiene un tercer valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión o el tercer valor no es menor que una variable que indica el número de índices de referencia cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión;
una etapa de agregación de candidatos de, después de que la etapa de generación de candidatos realizó el primer procedimiento, realización repetidamente de un segundo procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene el primer valor, el modo de inter predicción tiene el segundo valor y el índice de referencia tiene un cuarto valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión; y
una etapa de predicción con compensación de movimiento de selección de un candidato de fusión a partir de los candidatos de fusión incluidos en la lista de candidatos de fusión de la que el número de candidatos de fusión alcanza el número designado de candidatos de fusión y realización de inter predicción en el bloque de predicción objetivo de decodificación usando la información de inter predicción del candidato de fusión seleccionado, en el que:
el primer valor es (0,0);
el segundo valor es un valor predefinido que indica que el modo de inter predicción es predicción L0 cuando un tipo de corte de un corte que contiene el bloque de predicción objetivo de decodificación es un corte P; el tercer valor es una variable que se incrementa en uno cada vez que se produce el primer procedimiento; y el cuarto valor es 0.
6. Un programa de decodificación de instantáneas en movimiento de decodificación de un flujo de bits obtenido codificando instantáneas en movimiento usando inter predicción a base de información de inter predicción de un candidato de fusión en unidades de bloques obtenidos particionando cada instantánea de las instantáneas en movimiento, que provoca que un ordenador ejecute:
una etapa de decodificación de información de predicción de decodificación de información que indica un número anteriormente designado de candidatos de fusión;
una etapa de derivación de información de predicción de derivación de candidatos de fusión a partir de información de inter predicción de un bloque de predicción vecino a un bloque de predicción objetivo de decodificación o un bloque de predicción presente en la misma posición que o próximo al bloque de predicción objetivo de decodificación en una instantánea decodificada en una posición temporalmente diferente del bloque de predicción objetivo de decodificación;
una etapa de creación de lista de candidatos de creación de una lista de candidatos de fusión a partir de los candidatos de fusión derivados;
una etapa de generación de candidatos de realización repetidamente de un primer procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene un primer valor, el modo de inter predicción tiene un segundo valor y el índice de referencia tiene un tercer valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión o el tercer valor no es menor que una variable que indica el número de índices de referencia cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión;
una etapa de agregación de candidatos de, después de que la etapa de generación de candidatos realizó el primer procedimiento, realización repetidamente de un segundo procedimiento de adición a la lista de candidatos de fusión de un candidato de fusión del cual el vector de movimiento tiene el primer valor, el modo de inter predicción tiene el segundo valor y el índice de referencia tiene un cuarto valor hasta que el número de candidatos de fusión incluidos en la lista de candidatos de fusión alcanza el número designado de candidatos de fusión cuando el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número designado de candidatos de fusión; y
una etapa de predicción con compensación de movimiento de selección de un candidato de fusión a partir de los candidatos de fusión incluidos en la lista de candidatos de fusión de la que el número de candidatos de fusión alcanza el número designado de candidatos de fusión y realización de inter predicción en el bloque de predicción objetivo de decodificación usando la información de inter predicción del candidato de fusión seleccionado, en el que:
el primer valor es (0,0);
el segundo valor es un valor predefinido que indica que el modo de inter predicción es predicción L0 cuando un tipo de corte de un corte que contiene el bloque de predicción objetivo de decodificación es un corte P; el tercer valor es una variable que se incrementa en uno cada vez que se produce el primer procedimiento; y el cuarto valor es 0.
ES20174155T 2012-04-12 2013-04-12 Dispositivo de codificación de instantáneas en movimiento, procedimiento de codificación de instantáneas en movimiento, programa de codificación de instantáneas en movimiento, y dispositivo de decodificación de instantáneas en movimiento, procedimiento de decodificación de instantáneas en movimiento, programa de decodificación de instantáneas en movimiento Active ES2902536T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012091386 2012-04-12
JP2012091385 2012-04-12

Publications (1)

Publication Number Publication Date
ES2902536T3 true ES2902536T3 (es) 2022-03-28

Family

ID=50157654

Family Applications (4)

Application Number Title Priority Date Filing Date
ES21153579T Active ES2951398T3 (es) 2012-04-12 2013-04-12 Construcción de listas de candidatos a fusión
ES21153576T Active ES2912134T3 (es) 2012-04-12 2013-04-12 Construcción de lista de candidatos de fusión
ES21153568T Active ES2912132T3 (es) 2012-04-12 2013-04-12 Construcción de lista de candidatos de fusión
ES20174155T Active ES2902536T3 (es) 2012-04-12 2013-04-12 Dispositivo de codificación de instantáneas en movimiento, procedimiento de codificación de instantáneas en movimiento, programa de codificación de instantáneas en movimiento, y dispositivo de decodificación de instantáneas en movimiento, procedimiento de decodificación de instantáneas en movimiento, programa de decodificación de instantáneas en movimiento

Family Applications Before (3)

Application Number Title Priority Date Filing Date
ES21153579T Active ES2951398T3 (es) 2012-04-12 2013-04-12 Construcción de listas de candidatos a fusión
ES21153576T Active ES2912134T3 (es) 2012-04-12 2013-04-12 Construcción de lista de candidatos de fusión
ES21153568T Active ES2912132T3 (es) 2012-04-12 2013-04-12 Construcción de lista de candidatos de fusión

Country Status (12)

Country Link
US (11) US9681134B2 (es)
EP (5) EP3833024B1 (es)
BR (1) BR112014024294B1 (es)
DK (4) DK3716621T3 (es)
ES (4) ES2951398T3 (es)
HR (4) HRP20211884T1 (es)
HU (3) HUE056708T2 (es)
PL (5) PL3716621T3 (es)
RU (5) RU2658146C9 (es)
SI (4) SI3833022T1 (es)
TW (5) TWI578760B (es)
WO (1) WO2013153823A1 (es)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011145819A2 (ko) * 2010-05-19 2011-11-24 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
CN107071458B (zh) * 2010-12-14 2020-01-03 M&K控股株式会社 用于编码运动画面的设备
PL3716621T3 (pl) 2012-04-12 2022-01-24 Jvckenwood Corporation Urządzenie do kodowania ruchomych obrazów, sposób kodowania ruchomych obrazów, program kodujący ruchome obrazy oraz urządzenie do dekodowania ruchomych obrazów, sposób dekodowania ruchomych obrazów, program dekodujący ruchome obrazy
US10205950B2 (en) 2014-02-21 2019-02-12 Panasonic Corporation Image decoding method, image encoding method, image decoding apparatus, and image encoding apparatus
KR20220162877A (ko) * 2014-10-31 2022-12-08 삼성전자주식회사 고정밀 스킵 부호화를 이용한 비디오 부호화 장치 및 비디오 복호화 장치 및 그 방법
JP6678357B2 (ja) * 2015-03-31 2020-04-08 リアルネットワークス,インコーポレーテッド ビデオ符号化システムにおける動きベクトルの選択及び予測方法
KR102583501B1 (ko) * 2015-04-27 2023-09-27 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
WO2017010073A1 (ja) 2015-07-10 2017-01-19 日本電気株式会社 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
US10652569B2 (en) 2015-12-22 2020-05-12 Realnetworks, Inc. Motion vector selection and prediction in video coding systems and methods
CN116708782A (zh) * 2016-07-12 2023-09-05 韩国电子通信研究院 图像编码/解码方法以及用于该方法的记录介质
WO2018152749A1 (en) * 2017-02-23 2018-08-30 Realnetworks, Inc. Coding block bitstream structure and syntax in video coding systems and methods
CN117061738A (zh) 2018-04-02 2023-11-14 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
WO2019216325A1 (en) 2018-05-09 2019-11-14 Sharp Kabushiki Kaisha Systems and methods for performing motion vector prediction using a derived set of motion vectors
GB2593020B (en) 2018-05-24 2022-12-28 Kt Corp Method and apparatus for processing video signal
US11412246B2 (en) 2018-06-08 2022-08-09 Kt Corporation Method and apparatus for processing video signal
KR20240007299A (ko) 2018-06-29 2024-01-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 룩업 테이블의 업데이트: fifo, 제약된 fifo
BR112020024142A2 (pt) 2018-06-29 2021-03-02 Beijing Bytedance Network Technology Co., Ltd. método para processamento de vídeo, aparelho para codificação de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
KR20240005239A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut와 amvp 사이의 상호작용
JP7137008B2 (ja) 2018-06-29 2022-09-13 北京字節跳動網絡技術有限公司 1つまたは複数のルックアップテーブルを使用して、以前コーディングされた動き情報を順に記憶させてそれらを後続のブロックのコーディングに使用する概念
KR102646649B1 (ko) 2018-06-29 2024-03-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
CN110662057B (zh) 2018-06-29 2022-06-21 北京字节跳动网络技术有限公司 视频处理方法、装置、设备以及存储比特流的方法
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
KR102611261B1 (ko) * 2018-06-29 2023-12-08 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 업데이트 대상 lut 또는 비업데이트 lut의 구별
WO2020008350A1 (en) 2018-07-02 2020-01-09 Beijing Bytedance Network Technology Co., Ltd. Luts with intra prediction modes and intra mode prediction from non-adjacent blocks
US10924731B2 (en) * 2018-08-28 2021-02-16 Tencent America LLC Complexity constraints on merge candidates list construction
CN110868601B (zh) * 2018-08-28 2024-03-15 华为技术有限公司 帧间预测方法、装置以及视频编码器和视频解码器
TW202025760A (zh) 2018-09-12 2020-07-01 大陸商北京字節跳動網絡技術有限公司 要檢查多少個hmvp候選
CN112740705A (zh) * 2018-09-21 2021-04-30 夏普株式会社 用于在视频编码中发送信号通知参考图片的系统和方法
KR102658887B1 (ko) * 2018-10-10 2024-04-18 삼성전자주식회사 움직임 벡터 차분값을 이용한 비디오 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
CN116248870A (zh) 2018-11-08 2023-06-09 Oppo广东移动通信有限公司 视频信号编码/解码方法以及用于所述方法的设备
WO2020096425A1 (ko) 2018-11-08 2020-05-14 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
KR20200054113A (ko) 2018-11-08 2020-05-19 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2020130714A1 (ko) * 2018-12-21 2020-06-25 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2020143741A1 (en) 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Invoke of lut updating
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113330739A (zh) 2019-01-16 2021-08-31 北京字节跳动网络技术有限公司 Lut中的运动候选的插入顺序
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
CN113853783B (zh) 2019-05-25 2023-12-15 北京字节跳动网络技术有限公司 对帧内块复制编解码的块的块矢量的编解码
CN113924782A (zh) * 2019-06-25 2022-01-11 Jvc建伍株式会社 动图像编码装置、动图像编码方法及动图像编码程序、动图像解码装置、动图像解码方法及动图像解码程序
AU2020363130A1 (en) * 2019-10-10 2022-05-05 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for simplifying signalling picture header

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100399932B1 (ko) * 2001-05-07 2003-09-29 주식회사 하이닉스반도체 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
US7453938B2 (en) * 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
US8879857B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
JP4999859B2 (ja) * 2006-10-30 2012-08-15 日本電信電話株式会社 予測参照情報生成方法、動画像符号化及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
JP4821723B2 (ja) 2007-07-13 2011-11-24 富士通株式会社 動画像符号化装置及びプログラム
JP2009164880A (ja) * 2008-01-07 2009-07-23 Mitsubishi Electric Corp トランスコーダ及び受信機
JP4600574B2 (ja) 2009-01-07 2010-12-15 日本電気株式会社 動画像復号装置、動画像復号方法、及びプログラム
TWI387314B (zh) * 2009-03-10 2013-02-21 Univ Nat Central Image processing apparatus and method thereof
KR101490646B1 (ko) * 2009-05-29 2015-02-06 미쓰비시덴키 가부시키가이샤 화상 복호 장치 및 화상 복호 방법
CN102783152A (zh) * 2010-03-02 2012-11-14 三星电子株式会社 用于使用可分级视频编码方案进行自适应流传输的方法和设备
WO2012008506A1 (ja) 2010-07-15 2012-01-19 シャープ株式会社 画像フィルタ装置、復号装置、動画像復号装置、符号化装置、動画像符号化装置、および、データ構造
HRP20231669T1 (hr) * 2010-09-02 2024-03-15 Lg Electronics, Inc. Inter predikcija
US8861617B2 (en) * 2010-10-05 2014-10-14 Mediatek Inc Method and apparatus of region-based adaptive loop filtering
CN107105258B (zh) * 2010-10-08 2020-09-01 Ge视频压缩有限责任公司 编码器和编码方法与解码器和解码方法
EP2717575B1 (en) 2011-05-27 2018-10-10 Sun Patent Trust Image decoding method and image decoding device
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
ES2779226T3 (es) 2011-05-31 2020-08-14 Sun Patent Trust Procedimiento de descodificación de vídeo y dispositivo de descodificación de vídeo
US9866859B2 (en) * 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
JP5488666B2 (ja) 2011-09-28 2014-05-14 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
CN108881903B (zh) 2011-10-19 2022-01-04 太阳专利托管公司 图像编码方法及装置、图像解码方法及装置、编解码装置
WO2013108613A1 (ja) 2012-01-17 2013-07-25 パナソニック株式会社 動画像符号化方法、動画像復号化方法、動画像符号化装置、動画像復号化装置および動画像符号化復号化装置
BR122022002972B1 (pt) * 2012-01-19 2022-11-22 Electronics And Telecommunications Research Institute Aparelho de decodificação de imagem
PL3716621T3 (pl) 2012-04-12 2022-01-24 Jvckenwood Corporation Urządzenie do kodowania ruchomych obrazów, sposób kodowania ruchomych obrazów, program kodujący ruchome obrazy oraz urządzenie do dekodowania ruchomych obrazów, sposób dekodowania ruchomych obrazów, program dekodujący ruchome obrazy

Also Published As

Publication number Publication date
SI3833023T1 (sl) 2022-06-30
EP3833023A1 (en) 2021-06-09
TWI578759B (zh) 2017-04-11
EP3833024C0 (en) 2023-07-05
ES2912134T3 (es) 2022-05-24
US20220078471A1 (en) 2022-03-10
TW201717621A (zh) 2017-05-16
US20170223375A1 (en) 2017-08-03
RU2708359C1 (ru) 2019-12-05
HUE062452T2 (hu) 2023-11-28
US11206421B2 (en) 2021-12-21
HUE056708T2 (hu) 2022-03-28
EP2838261B1 (en) 2020-06-17
US9872037B2 (en) 2018-01-16
US20210021854A1 (en) 2021-01-21
DK3833023T3 (da) 2022-04-19
PL2838261T3 (pl) 2020-11-30
US9872038B2 (en) 2018-01-16
RU2617920C9 (ru) 2017-08-29
RU2708360C1 (ru) 2019-12-05
TWI586145B (zh) 2017-06-01
PL3833022T3 (pl) 2022-05-30
US20170223376A1 (en) 2017-08-03
US20160323575A1 (en) 2016-11-03
US10230975B2 (en) 2019-03-12
DK2838261T3 (da) 2020-07-06
US9918103B2 (en) 2018-03-13
US9667966B2 (en) 2017-05-30
EP2838261A1 (en) 2015-02-18
RU2682368C1 (ru) 2019-03-19
EP2838261A4 (en) 2015-11-25
SI3833022T1 (sl) 2022-06-30
RU2708359C9 (ru) 2019-12-17
US10523962B2 (en) 2019-12-31
HRP20220541T1 (hr) 2022-06-10
HRP20220542T1 (hr) 2022-06-10
EP3833022A1 (en) 2021-06-09
US11831898B2 (en) 2023-11-28
RU2708360C9 (ru) 2019-12-17
EP3833024A1 (en) 2021-06-09
RU2617920C2 (ru) 2017-04-28
US20240048754A1 (en) 2024-02-08
TW201717620A (zh) 2017-05-16
RU2658146C9 (ru) 2018-12-12
ES2912132T3 (es) 2022-05-24
HRP20211884T1 (hr) 2022-03-04
RU2682368C9 (ru) 2019-10-01
PL3716621T3 (pl) 2022-01-24
PL3833023T3 (pl) 2022-05-30
US20140376638A1 (en) 2014-12-25
WO2013153823A1 (ja) 2013-10-17
TWI578760B (zh) 2017-04-11
BR112014024294B1 (pt) 2020-02-11
US20170223374A1 (en) 2017-08-03
DK3716621T3 (da) 2021-12-06
SI3716621T1 (sl) 2022-01-31
US20190191176A1 (en) 2019-06-20
TW201717619A (zh) 2017-05-16
US20200137410A1 (en) 2020-04-30
HRP20230687T1 (hr) 2023-10-13
TW201717622A (zh) 2017-05-16
PL3833024T3 (pl) 2024-01-22
HUE050755T2 (hu) 2021-01-28
TW201349873A (zh) 2013-12-01
EP3833024B1 (en) 2023-07-05
SI2838261T1 (sl) 2020-08-31
US10791336B2 (en) 2020-09-29
EP3833022B1 (en) 2022-03-30
TWI580248B (zh) 2017-04-21
EP3833023B1 (en) 2022-03-30
ES2951398T3 (es) 2023-10-20
EP3716621B1 (en) 2021-12-01
TWI575935B (zh) 2017-03-21
RU2014145257A (ru) 2016-06-10
DK3833022T3 (da) 2022-04-19
US9681134B2 (en) 2017-06-13
US20180131957A1 (en) 2018-05-10
EP3716621A1 (en) 2020-09-30
RU2658146C1 (ru) 2018-06-19

Similar Documents

Publication Publication Date Title
ES2902536T3 (es) Dispositivo de codificación de instantáneas en movimiento, procedimiento de codificación de instantáneas en movimiento, programa de codificación de instantáneas en movimiento, y dispositivo de decodificación de instantáneas en movimiento, procedimiento de decodificación de instantáneas en movimiento, programa de decodificación de instantáneas en movimiento
ES2877369T3 (es) Dispositivo de codificación de imagen dinámica, procedimiento de codificación de imagen dinámica, programa de codificación de imagen dinámica, dispositivo de decodificación de imagen dinámica, procedimiento de decodificación de imagen dinámica y programa de decodificación de imagen dinámica
JP6206558B2 (ja) 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
TWI597973B (zh) Video encoding device, video encoding method and recording medium
JP2013118625A (ja) 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP6217820B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP6644270B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
WO2013065301A1 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム