ES2877369T3 - 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 - Google Patents

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 Download PDF

Info

Publication number
ES2877369T3
ES2877369T3 ES19217766T ES19217766T ES2877369T3 ES 2877369 T3 ES2877369 T3 ES 2877369T3 ES 19217766 T ES19217766 T ES 19217766T ES 19217766 T ES19217766 T ES 19217766T ES 2877369 T3 ES2877369 T3 ES 2877369T3
Authority
ES
Spain
Prior art keywords
block
prediction
information
interprediction
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
ES19217766T
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 ES2877369T3 publication Critical patent/ES2877369T3/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/583Motion compensation with overlapping blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Abstract

Un dispositivo de codificación de fotogramas en movimiento que subdivide un primer bloque, que se obtiene subdividiendo cada fotograma, en segundos bloques y codifica un fotograma en movimiento usando inter predicción, que comprende: una primera unidad (130) de derivación de información de predicción configurada para realizar un procedimiento de derivación de primeros candidatos de información de inter predicción a partir de información de inter predicción de terceros bloques en proximidad de un segundo bloque sometido a codificación en un fotograma sometido a codificación; una segunda unidad (132) de derivación de información de predicción configurada para realizar un procedimiento de derivación de un segundo candidato de información de inter predicción a partir de información de inter predicción de un cuarto bloque en una posición idéntica a, o en proximidad de, el segundo bloque sometido a codificación en un fotograma diferente del fotograma sometido a codificación; una unidad (133) de construcción de lista de candidatos configurada para construir una lista de candidatos de información de predicción que comprende un candidato de información de predicción al que, en caso de que se derive el primer candidato de información de inter predicción, se añade el primer candidato de información de inter predicción derivado, y en caso de que se derive el segundo candidato de información de inter predicción, se añade el segundo candidato de información de inter predicción derivado, respectivamente; una unidad (136) de selección configurada para seleccionar un candidato de información de inter predicción para su uso en la inter predicción del segundo bloque sometido a codificación a partir de los candidatos de información de predicción en la lista de candidatos de información de predicción, y configurada para determinar un índice que indica información de inter predicción; y una unidad (110) de codificación configurada para codificar el índice que indica información de inter predicción para su uso en la inter predicción del segundo bloque sometido a codificación, en el que en un modo de partición en el que se subdivide el primer bloque en un bloque superior y un bloque inferior dispuesto verticalmente, cuando el segundo bloque sometido a codificación es el bloque inferior, la primera unidad (130) de derivación de información de predicción realiza el procedimiento de derivación del primer candidato de información de inter predicción a partir de información de codificación de bloques adyacentes a un borde izquierdo, un borde superior derecho, un borde inferior izquierdo o un borde superior izquierdo del segundo bloque sometido a codificación sin hacer referencia a información de codificación de un quinto bloque adyacente a un borde superior del segundo bloque sometido a codificación, y en el que la segunda unidad (132) de derivación de información de predicción realiza el procedimiento de derivación del segundo candidato de información de inter predicción basándose en un índice de referencia del segundo candidato de información de inter predicción que se establece a un valor por defecto.

Description

DESCRIPCIÓN
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
rCampo técnico!
La presente invención se refiere, en general, a una tecnología de codificación y decodificación de fotogramas en movimiento, y, más particularmente, a una tecnología de codificación y decodificación de fotogramas en movimiento que utiliza predicción de compensación de movimiento.
Antecedentes de la técnica!
Como un procedimiento de codificación de compresión de fotogramas en movimiento típico, existe la norma MPEG-4 AVC/H.264. La MPEG-4 AVC/H.264 utiliza compensación de movimiento, donde un fotograma se subdivide en una pluralidad de bloques rectangulares, se usa un fotograma que ya se ha codificado o decodificado como un fotograma de referencia, y se predice un movimiento a partir del fotograma de referencia. Un procedimiento que predice movimiento mediante esta compensación de movimiento se denomina como inter predicción o predicción de compensación de movimiento. De acuerdo con la inter predicción de MPEG-4AVC/H.264, puede usarse una pluralidad de fotogramas como fotogramas de referencia, y se elige un fotograma de referencia más apropiado de la pluralidad de fotogramas de referencia para cada bloque para realizar predicción de compensación de movimiento. Por lo tanto, se asigna un índice de referencia a cada fotograma de referencia, y se especifica un fotograma de referencia por el índice de referencia. Para un fotograma B, pueden seleccionarse hasta dos fotogramas a partir de fotogramas de referencia decodificados y usarse para inter predicción. Se distinguen dos tipos de predicción basándose, respectivamente, en estos dos fotogramas de referencia como la predicción L0 (predicción de la lista 0), que se usa principalmente como predicción para un fotograma anterior, y la predicción L1 (predicción de lista 0), que se usa principalmente como predicción para un fotograma posterior, respectivamente.
Además, también se define la bipredicción, que usa dos tipos de inter predicción (es decir, predicción L0 y predicción L1). En caso de bipredicción, se realiza predicción para ambas direcciones, se multiplican señales inter-previstas de predicción L0 y predicción L1 respectivamente por un coeficiente de ponderación, se añade un valor de desplazamiento y se realiza convolución para generar una señal de fotograma de inter predicción final. Se define el coeficiente de ponderación usado para predicción ponderada y el valor de desplazamiento mediante un valor típico para cada fotograma de referencia de cada lista en una base fotograma a fotograma, y se codifica. La información de codificación relacionada con inter predicción incluye: un modo de predicción que diferencia entre predicción L0, predicción L1 y bipredicción para cada bloque; un índice de referencia que especifica un fotograma 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. Esta información de codificación se codifica y/o decodifica.
Además, de acuerdo con MPEG-4 AVC/H.264, se define un modo directo, donde se genera información de inter predicción de un bloque sometido a codificación o decodificación a partir de información de inter predicción de un bloque decodificado. Puesto que no se requiere la codificación de información de inter predicción, se mejora la eficacia de codificación con el modo directo.
Se proporcionará una explicación sobre un modo directo de tiempo que usa una correlación de información de inter predicción a través del tiempo, mientras se hace referencia a la Figura 42. Se usa un fotograma, del que el índice de referencia de L1 se registra a 0, como un fotograma de base colPic. Se usa un bloque en una posición idéntica a un bloque sometido a codificación o decodificación en el fotograma de base colPic como un bloque de base.
Si se codifica el bloque de base usando predicción L0, se usa el vector de movimiento del bloque de base L0 como un vector de movimiento de base mvCol. Si no se codifica el bloque de base usando predicción L0, sino que se codifica usando predicción L1, se usa el vector de movimiento de L1 del bloque de base como un vector de movimiento de base mvCol. Se usa un fotograma al que se hace referencia por el vector de movimiento de base mvCol como un fotograma de referencia de L0 en un modo directo de tiempo, y se usa el fotograma de base colPic como un fotograma de referencia de L1 en un modo directo de tiempo.
Se deriva un vector de movimiento mvLO de L0 y un vector de movimiento mvL1 de L1 en un modo directo de tiempo a partir de un vector de movimiento de base mvCol mediante un procedimiento de cálculo de escalamiento.
Restando el POC del fotograma de referencia de L0 en un modo directo de tiempo de POC del fotograma de base colPic, se deriva una distancia td entre fotogramas. Se define POC como un parámetro que está asociado con un fotograma sometido a codificación, y se establece un valor que aumenta en el orden de salida de los fotogramas. Una diferencia de POC entre dos fotogramas indica una distancia entre fotogramas a lo largo del eje de tiempo.
td = POC de un fotograma de base colPic - POC de un fotograma de referencia de L0 en un modo directo de tiempo
Restando POC del fotograma de referencia de L0 en un modo directo de tiempo de POC de un fotograma sometido a codificación o decodificación, se deriva una distancia tb entre fotogramas.
tb = POC de un fotograma sometido a codificación o decodificación - POC de un fotograma de referencia de L0 en un modo directo de tiempo
Se deriva un vector de movimiento mvL0 de L0 en un modo directo de tiempo a partir de un vector de movimiento de base mvCol mediante un procedimiento de cálculo de escalamiento.
mvL0 = tb / td * mvCol
Se deriva un vector de movimiento mvL1 de L1 restando el vector de movimiento de base mvCol del vector de movimiento mvL0 de L0 en un modo directo de tiempo.
mvL1 = mvL0 - mvCol
[LISTA DE TECNICAS RELACIONADAS]
Documento de patente!
[Documento de patente1] Publicación de Solicitud de Patente Japonesa N.° 2004-129191.
Se llama la atención a los siguientes documentos
J-L LIN Y COL.: "Improved Advanced Motion Vector Prediction", 4. JCT-VC MEETING; 95. MPEG MEETING; 20-1­ 2011 - 28-1-2011; DAEGU; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JT-Cl/SC29/WG11AND ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, n.° JCTVC-D125, 15 de enero de 2011 (15-01-2011), ISSN: 0000-0015.
I-K KIM Y COL.: "CE2: Test result of asymmetric motion partition (AMP)", 6. JCT-VC MEETING; 97. MPEG MEETING; 14-7-2011 - 22-7-2011; TORINO; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, n.° JCTVC-F379, 2 de julio de 2011 (02-07-2011).
NAKAMURA H Y COL.: "Non-CE9: Derivation process of reference indices for temporal merging candidates", 8. JCT-VC MEETING; 99. MPEG MEETING; 1-2-2012 - 10-2-2012; SAN JOSE; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, n.° JCTVC-H0199, 20 de enero de 2012 (20-01-2012).
rSumario de la invención!
Sin embargo, de acuerdo con el procedimiento convencional, para un bloque sometido a codificación y un bloque sometido a decodificación, en algunos casos, se reduce el grado de precisión de predicción y no se mejora la eficacia de codificación con un modo directo de tiempo.
En estos antecedentes, los presentes inventores han reconocido la necesidad de compresión adicional de información de codificación y reducción de la cantidad total de código en un procedimiento de codificación de fotogramas en movimiento que usa predicción de compensación de movimiento.
La invención se expone en el juego de reivindicaciones adjunto. Los ejemplos adicionales denominados realizaciones en la descripción son ejemplos ilustrativos, no las realizaciones reivindicadas en la presente solicitud.
La presente invención trata el problema anteriormente mencionado, y un fin de la misma es proporcionar una tecnología de codificación y decodificación de fotogramas en movimiento para reducir una cantidad de código de información de codificación calculando un candidato de información de codificación, para mejorar la eficacia de codificación.
Para tartar el problema anteriormente mencionado, se proporciona un dispositivo de codificación de fotogramas en movimiento de acuerdo con un aspecto de la presente invención. El dispositivo subdivide un primer bloque, que se obtiene subdividiendo cada fotograma, en uno o más segundos bloques y codifica un fotograma en movimiento usando inter predicción. El dispositivo incluye: una primera unidad (130) de derivación de información de predicción configurada para derivar un primer candidato de información de inter predicción a partir de información de inter predicción de un tercer bloque en proximidad del segundo bloque sometido a codificación en un fotograma sometido a codificación; una segunda unidad (132) de derivación de información de predicción configurada para derivar un segundo candidato de información de inter predicción a partir de información de inter predicción de un cuarto bloque en una posición idéntica a o en proximidad del segundo bloque sometido a codificación en un fotograma diferente del fotograma sometido a codificación; una unidad (133) de construcción de lista de candidatos configurada para construir una lista de candidatos de información de predicción que incluye un candidato de información de predicción al que, en caso de que se derive el primer candidato de información de inter predicción, se añade el primer candidato de información de inter predicción derivado, y en caso de que se derive el segundo candidato de información de inter predicción, se añade el segundo candidato de información de inter predicción derivado, respectivamente; una unidad (136) de selección configurada para seleccionar un candidato de información de inter predicción para que se use para la inter predicción del segundo bloque sometido a codificación a partir del uno o más candidatos de información de predicción en la lista de candidatos de información de predicción, y configurada para determinar un índice que indica información de inter predicción; una unidad (110) de codificación configurada para codificar el índice que indica información de inter predicción para que se use para la inter predicción del segundo bloque sometido a codificación. La primera unidad (130) de derivación de información de predicción no usa, como el primer candidato de información de inter predicción, información de codificación de un quinto bloque incluido en un bloque idéntico al primer bloque que incluye el segundo bloque sometido a codificación.
De acuerdo con otro aspecto de la presente invención, también se proporciona un dispositivo de codificación de fotogramas en movimiento. El dispositivo subdivide un bloque de codificación en uno o más bloques de predicción de acuerdo con un modo de partición para realizar predicción de compensación de movimiento. El dispositivo incluye: una unidad (131) de derivación de índice de referencia configurada para derivar, en un modo de fusión donde se deriva información de inter predicción definida como un candidato de fusión de tiempo a partir de información de inter predicción de un bloque de predicción en una posición idéntica a o en proximidad de un bloque de predicción sometido a codificación en un fotograma codificado diferente en el tiempo del bloque de predicción sometido a codificación y se ejecuta inter predicción del bloque de predicción sometido a codificación basándose en la información de inter predicción derivada, la información de índice de referencia de un candidato de fusión de tiempo como información de índice de referencia que especifica un fotograma de referencia usado en el bloque de predicción sometido a codificación; y una unidad (132) de generación de candidato de fusión de tiempo configurada para derivar información de inter predicción de candidato de fusión de tiempo basándose en la información de índice de referencia derivada. En caso de que el modo de partición sea un modo donde el bloque de codificación se divide entre un borde horizontal en bloques de predicción dispuestos verticalmente, la unidad (131) de derivación de índice de referencia establece información de índice de referencia de un candidato de fusión de tiempo a un valor de información de índice de referencia de un bloque de predicción codificado adyacente a un borde izquierdo del bloque de predicción sometido a codificación y emite la información de índice de referencia, y, en caso de que el modo de partición sea un modo donde el bloque de codificación se divide entre un borde vertical en bloques de predicción dispuestos horizontalmente, la unidad (131) de derivación de índice de referencia establece información de índice de referencia de un candidato de fusión de tiempo a un valor de información de índice de referencia de un bloque de predicción codificado adyacente a un borde superior del bloque de predicción sometido a codificación y emite la información de índice de referencia.
De acuerdo con otra realización más de la presente invención, se proporciona un procedimiento de codificación de fotogramas en movimiento. El procedimiento subdivide un primer bloque, que se obtiene subdividiendo cada fotograma, en uno o más segundos bloques y codifica un fotograma en movimiento usando inter predicción. El procedimiento incluye: derivar un primer candidato de información de inter predicción a partir de información de inter predicción de un tercer bloque en proximidad del segundo bloque sometido a codificación en un fotograma sometido a codificación; derivar un segundo candidato de información de inter predicción a partir de información de inter predicción de un cuarto bloque en una posición idéntica a o en proximidad del segundo bloque sometido a codificación en un fotograma diferente del fotograma sometido a codificación; construir una lista de candidatos de información de predicción que incluye un candidato de información de predicción al que, en caso de que se derive el primer candidato de información de inter predicción, se añade el primer candidato de información de inter predicción derivado, y en caso de que se derive el segundo candidato de información de inter predicción, se añade el segundo candidato de información de inter predicción derivado, respectivamente; seleccionar un candidato de información de inter predicción para que se use para la inter predicción del segundo bloque sometido a codificación a partir del uno o más candidatos de información de predicción en la lista de candidatos de información de predicción y determinar un índice que indica información de inter predicción; codificar el índice que indica información de inter predicción para que se use para la inter predicción del segundo bloque sometido a codificación. La derivación del primer candidato de información de inter predicción no usa, como el primer candidato de información de inter predicción, información de codificación de un quinto bloque incluido en un bloque idéntico al primer bloque que incluye el segundo bloque sometido a codificación.
De acuerdo con un aspecto de la presente invención, se proporciona un dispositivo de decodificación de fotogramas en movimiento. El dispositivo decodifica una secuencia de bits donde se subdivide el primer bloque, que se obtiene subdividiendo cada fotograma, se subdivide en uno o más segundos bloques y se codifica un fotograma en movimiento por inter predicción. El dispositivo incluye: una primera unidad (230) de derivación de información de predicción configurada para derivar un primer candidato de información de inter predicción a partir de información de inter predicción de un tercer bloque en proximidad del segundo bloque sometido a decodificación en un fotograma sometido a decodificación; una segunda unidad (232) de derivación de información de predicción configurada para derivar un segundo candidato de información de inter predicción a partir de información de inter predicción de un cuarto bloque en una posición idéntica a o en proximidad del segundo bloque sometido a decodificación en un fotograma diferente del fotograma sometido a decodificación; una unidad (202) de decodificación configurada para decodificar un índice que indica información de inter predicción para que se use para la inter predicción del segundo bloque sometido a decodificación; una unidad (233) de construcción de lista de candidatos configurada para construir una lista de candidatos de información de predicción que incluye un candidato de información de predicción al que, en caso de que se derive el primer candidato de información de inter predicción, se añade el primer candidato de información de inter predicción derivado, y en caso de que se derive el segundo candidato de información de inter predicción, se añade el segundo candidato de información de inter predicción derivado, respectivamente; y una unidad (236) de selección configurada para seleccionar un candidato de información de inter predicción para que se use para la inter predicción del segundo bloque sometido a decodificación indicado por el índice a partir del uno o más candidatos de información de predicción en la lista de candidatos de información de predicción. La primera unidad (230) de derivación de información de predicción no usa, como el primer candidato de información de inter predicción, información de codificación de un quinto bloque incluido en un bloque idéntico al primer bloque que incluye el segundo bloque sometido a decodificación.
De acuerdo con otro aspecto de la presente invención, también se proporciona un dispositivo de decodificación de fotogramas en movimiento. El dispositivo subdivide un bloque de decodificación en uno o más bloques de predicción de acuerdo con un modo de partición para realizar predicción de compensación de movimiento. El dispositivo incluye: una unidad (231) de derivación de índice de referencia configurada para derivar, en un modo de fusión donde se deriva información de inter predicción definida como un candidato de fusión de tiempo a partir de información de inter predicción de un bloque de predicción en una posición idéntica a o en proximidad de un bloque de predicción sometido a decodificación en un fotograma decodificado diferente en el tiempo del bloque de predicción sometido a decodificación y se ejecuta inter predicción del bloque de predicción sometido a decodificación a partir de la información de inter predicción derivada, la información de índice de referencia de un candidato de fusión de tiempo como información de índice de referencia que especifica un fotograma de referencia usado en el bloque de predicción sometido a decodificación; y una unidad de generación de candidato de fusión de tiempo configurada para derivar información de inter predicción de candidato de fusión de tiempo basándose en la información de índice de referencia derivada. En caso de que el modo de partición sea un modo donde el bloque de decodificación se divide entre un borde horizontal en bloques de predicción dispuestos verticalmente, la unidad (231) de derivación de índice de referencia establece información de índice de referencia de un candidato de fusión de tiempo a un valor de información de índice de referencia de un bloque de predicción decodificado adyacente a un borde izquierdo del bloque de predicción sometido a decodificación y emite la información de índice de referencia, y en caso de que el modo de partición sea un modo donde el bloque de decodificación se divide entre un borde vertical en bloques de predicción dispuestos horizontalmente, la unidad (231) de derivación de índice de referencia establece información de índice de referencia de un candidato de fusión de tiempo a un valor de información de índice de referencia de un bloque de predicción decodificado adyacente a un borde superior del bloque de predicción sometido a decodificación y emite la información de índice de referencia.
De acuerdo con otro aspecto más de la invención, se proporciona un procedimiento de decodificación de fotogramas en movimiento. El procedimiento decodifica una secuencia de bits donde se subdivide el primer bloque, que se obtiene subdividiendo cada fotograma, se subdivide en uno o más segundos bloques y se codifica un fotograma en movimiento por inter predicción. El procedimiento incluye: derivar un primer candidato de información de inter predicción a partir de información de inter predicción de un tercer bloque en proximidad del segundo bloque sometido a decodificación en un fotograma sometido a decodificación; derivar un segundo candidato de información de inter predicción a partir de información de inter predicción de un cuarto bloque en una posición idéntica a o en proximidad del segundo bloque sometido a decodificación en un fotograma diferente del fotograma sometido a decodificación; decodificar el índice que indica información de inter predicción para que se use para la inter predicción del segundo bloque sometido a decodificación; construir una lista de candidatos de información de predicción que incluye un candidato de información de predicción al que, en caso de que se derive el primer candidato de información de inter predicción, se añade el primer candidato de información de inter predicción derivado, y en caso de que se derive el segundo candidato de información de inter predicción, se añade el segundo candidato de información de inter predicción derivado, respectivamente; y seleccionar un candidato de información de inter predicción para que se use para la inter predicción del segundo bloque sometido a decodificación indicado por el índice a partir del uno o más candidatos de información de predicción en la lista de candidatos de información de predicción. La derivación del primer candidato de información de inter predicción no usa, como el primer candidato de información de inter predicción, información de codificación de un quinto bloque incluido en un bloque idéntico al primer bloque que incluye el segundo bloque sometido a decodificación.
Combinaciones opcionales de los elementos constituyentes anteriormente mencionados e implementaciones de la invención en forma de procedimientos, aparatos, sistemas, medios de grabación, programas informáticos o similares, también pueden ponerse en práctica como modos adicionales de la presente invención.
De acuerdo con la presente invención, puede reducirse una cantidad de código generado de información de codificación que va a transmitirse y puede mejorarse una eficacia de codificación.
rBreve descripción de los dibujos!
La Figura 1 es un diagrama de bloques que ilustra una estructura de un dispositivo de codificación de fotogramas en movimiento que ejecuta un procedimiento para predecir un vector de movimiento de acuerdo con una realización;
La Figura 2 es un diagrama de bloques que ilustra una estructura del dispositivo de decodificación de fotogramas en movimiento que ejecuta un procedimiento para predecir un vector de movimiento de acuerdo con la realización; La Figura 3 ilustra un bloque de árbol y un bloque de codificación;
La Figura 4 ilustra un modo de partición de un bloque de predicción;
La Figura 5 ilustra un bloque de predicción en proximidad de un bloque de predicción sometido a procesamiento de un candidato de fusión espacial en un modo de fusión;
La Figura 6 ilustra un bloque de predicción en proximidad de un bloque de predicción sometido a procesamiento de un candidato de fusión espacial en un modo de fusión;
La Figura 7 ilustra un bloque de predicción en proximidad de un bloque de predicción sometido a procesamiento de un candidato de fusión espacial en un modo de fusión;
La Figura 8 ilustra un bloque de predicción en proximidad de un bloque de predicción sometido a procesamiento de un candidato de fusión espacial en un modo de fusión;
La Figura 9 ilustra un bloque de predicción al que se hace referencia cuando se deriva un candidato de fusión de tiempo en un modo de fusión;
La Figura 10 ilustra la sintaxis de una secuencia de bits en un nivel de corte con respecto a un modo de fusión; La Figura 11 ilustra la sintaxis de una secuencia de bits en un nivel de bloque de predicción con respecto a un modo de fusión;
La Figura 12 ilustra un ejemplo de un código de entropía de un elemento de sintaxis de un índice de fusión; La Figura 13 es un diagrama de bloques que muestra una configuración detallada de una unidad de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento de la Figura 1;
La Figura 14 es un diagrama de bloques que muestra una configuración detallada de una unidad de derivación de información de inter predicción del dispositivo de decodificación de fotogramas en movimiento de la Figura 2; La Figura 15 ilustra un bloque de predicción en proximidad de un bloque de predicción sometido a procesamiento en un modo de fusión;
La Figura 16 muestra un diagrama de flujo que ilustra un procedimiento de procesamiento del procesamiento secuencial de un procedimiento de derivación del candidato de fusión y un procedimiento de construcción de lista de candidatos de fusión;
La Figura 17 muestra un diagrama de flujo que ilustra un procedimiento de procesamiento del procesamiento paralelo de un procedimiento de derivación del candidato de fusión y un procedimiento de construcción de lista de candidatos de fusión;
La Figura 18 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un candidato de fusión en un modo de fusión y un procedimiento de construcción de una lista de candidatos de fusión; La Figura 19 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación del candidato de fusión espacial de un modo de fusión;
La Figura 20 ilustra un bloque adyacente al que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con una primera realización ilustrativa de la presente realización;
La Figura 21 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de un modo de fusión de acuerdo con un procedimiento de la primera realización ilustrativa;
La Figura 22 ilustra un bloque adyacente al que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con una segunda realización ilustrativa de la presente realización;
La Figura 23 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de un modo de fusión de acuerdo con un procedimiento de la segunda realización ilustrativa;
La Figura 24 ilustra un bloque adyacente al que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con una tercera realización ilustrativa de la presente realización;
La Figura 25 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de un modo de fusión de acuerdo con un procedimiento de la tercera realización ilustrativa;
La Figura 26 ilustra un bloque adyacente al que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con una cuarta realización ilustrativa de la presente realización;
La Figura 27 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de un modo de fusión de acuerdo con un procedimiento de la cuarta realización ilustrativa;
La Figura 28 ilustra un bloque adyacente al que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con una quinta realización ilustrativa de la presente realización;
La Figura 29 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de un modo de fusión de acuerdo con un procedimiento de la quinta realización ilustrativa;
La Figura 30 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de un modo de fusión de acuerdo con un procedimiento de la sexta realización ilustrativa;
La Figura 31 ilustra un bloque adyacente al que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con una séptima realización ilustrativa de la presente realización;
La Figura 32 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de un modo de fusión de acuerdo con el procedimiento de la séptima realización ilustrativa;
La Figura 33 ilustra un bloque adyacente al que se hace referencia en el procedimiento de derivación de un índice de referencia de un bloque de codificación de partición N por N.
La Figura 34 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un candidato de fusión de tiempo en un modo de fusión;
La Figura 35 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un fotograma de un tiempo diferente en un modo de fusión;
La Figura 36 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un bloque de predicción de un fotograma de un tiempo diferente en un modo de fusión;
La Figura 37 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un candidato de fusión de tiempo en un modo de fusión;
La Figura 38 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un candidato de fusión de tiempo en un modo de fusión;
La Figura 39 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de cálculo de escalamiento de un vector de movimiento;
La Figura 40 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de cálculo de escalamiento de un vector de movimiento;
La Figura 41 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de construcción de una lista de candidatos de fusión en un modo de fusión;
La Figura 42 ilustra un modo directo de tiempo de acuerdo con MPEG-4 AVC/H.264 convencional;
La Figura 43 ilustra un bloque adyacente al que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con una octava realización ilustrativa de la presente realización; y
La Figura 44 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo en un modo de fusión de acuerdo con un procedimiento de la octava realización ilustrativa.
rModo para llevar a cabo la invención!
De acuerdo con la presente realización, en relación con la codificación de un fotograma en movimiento, más específicamente para aumentar la eficacia de codificación en la codificación de fotogramas en movimiento donde un fotograma se subdivide en bloques rectangulares de un tamaño y forma arbitrarios y se realiza compensación de movimiento entre fotogramas en unidades de bloques, se deriva una pluralidad de predictores de vector de movimiento a partir de un vector de movimiento de un bloque en proximidad de un bloque sometido a codificación o de un vector de movimiento de un bloque de un fotograma codificado, se calcula una diferencia vector entre un vector de movimiento del bloque sometido a codificación y un predictor de vector de movimiento seleccionado, y se codifica el vector de diferencia para reducir la cantidad de código. Como alternativa, usando información de codificación de un bloque en proximidad de un bloque sometido a codificación o un bloque de un fotograma codificado, se deriva información de codificación del bloque sometido a codificación para reducir la cantidad de código. En caso de decodificación de un fotograma en movimiento, se calcula una pluralidad de predictores de vector de movimiento a partir de un vector de movimiento de un bloque en proximidad de un bloque sometido a decodificación o a partir de un vector de movimiento de un bloque de un fotograma decodificado, se calcula un vector de movimiento del bloque sometido a decodificación a partir de un vector de diferencia decodificado de una secuencia de bits y de un predictor de vector de movimiento seleccionado para decodificar el bloque sometido a decodificación. Como alternativa, usando información de codificación de un bloque en proximidad de un bloque sometido a decodificación, o un bloque de un fotograma decodificado, se deriva información de codificación de un bloque sometido a decodificación.
En primer lugar, se proporcionarán definiciones para tecnologías y términos técnicos usados en la presente realización.
(con respecto a un bloque de árbol y un bloque de codificación)
De acuerdo con la realización, un fotograma se subdivide en unidades de cuadrados que tienen un mismo tamaño arbitrario como se muestra en la Figura 3. Esta unidad se define como un bloque de árbol y se usa como una unidad básica de gestión de una dirección para especificar un bloque sometido a codificación o decodificación (en lo sucesivo, "un bloque sometido a codificación o decodificación" hace referencia a un bloque sometido a codificación en caso de un procedimiento de codificación, y hace referencia a un bloque sometido a decodificación en caso de un procedimiento de decodificación, a menos que se indique de otra manera) en un fotograma. Un bloque de árbol comprende una señal de brillo y dos señales de diferencia de color, excepto en caso de monocromo. El tamaño de un bloque de árbol puede determinarse libremente en unidades de potencias de 2 de acuerdo con el tamaño de un fotograma y/o una textura en el fotograma. Para optimizar el procedimiento de codificación de acuerdo con una textura en un fotograma, un bloque de árbol puede subdividirse jerárquicamente en cuatro bloques (divididos entre dos tanto vertical como horizontalmente) que tienen un tamaño de bloque menor, según sea necesario, dividiendo una señal de brillo y señales de diferencia de color en el bloque de árbol. Estos bloques se definen como bloques de codificación respectivamente, y se usan como unidades básicas en codificación y decodificación. Un bloque de codificación también comprende una señal de brillo y dos señales de diferencia de color, excepto en caso de un monocromo. El tamaño máximo de un bloque de codificación es el mismo que el tamaño de un bloque de árbol. Un bloque de codificación de tamaño mínimo se denomina como un bloque de codificación mínimo, y el tamaño del mismo puede establecerse libremente en unidades de potencias de 2.
En la Figura 3, se define un bloque de codificación A usando un bloque de árbol como un bloque de codificación sin subdividir el bloque de árbol. Un bloque de codificación B es un bloque de codificación realizado subdividiendo un bloque de árbol en cuatro bloques. Un bloque de codificación C es un bloque de codificación realizado subdividiendo adicionalmente un bloque, que se obtiene subdividiendo un bloque de árbol en cuatro, en cuatro bloques. Un bloque de codificación D es un bloque de codificación realizado subdividiendo adicionalmente un bloque, que se obtiene subdividiendo un bloque de árbol en cuatro, en cuatro bloques dos veces jerárquicamente. El bloque de codificación D es un bloque de codificación del tamaño mínimo.
(Con respecto a un modo de predicción)
Se cambia un modo entre intra predicción (MODO_INTRA) e inter predicción (MODO_INTER) en unidades de bloques de codificación. Con la intra predicción, se realiza predicción desde señales de fotograma codificadas o decodificadas circundantes en un fotograma sometido a codificación o decodificación (en caso del procedimiento de codificación, se usa "decodificado" para un fotograma decodificado que se ha codificado en un procedimiento de codificación, un bloque de predicción decodificado que se ha codificado en un procedimiento de codificación, una señal de fotograma decodificada que se ha codificado en un procedimiento de codificación, o similares, y en caso del procedimiento de decodificación, se usa "decodificado" para un fotograma decodificado, un bloque de predicción decodificado, una señal de fotograma decodificada o similares. Lo mismo deberá aplicarse en el presente documento a menos que se indique de otra manera). Este modo que distingue la intra predicción (MODO_INTRA) y la inter predicción (MODO_INTER) se define como un modo de predicción (PredMode). El modo de predicción (PredMode) tiene, como un valor, la intra predicción (MODO_INTRA) o la inter predicción (MODO_INTEr ) y puede seleccionar un tipo de predicción para realizar codificación.
(Con respecto a un modo de partición, un bloque de predicción y una unidad de predicción)
En caso de subdividir un fotograma en bloques y realizar intra predicción (MODO_INTRA) e inter predicción (MODO_INTER), se subdivide un bloque de codificación según sea necesario para realizar predicción para establecer una unidad más pequeña para cambiar los procedimientos de intra predicción e inter predicción. Este modo que distingue un procedimiento para subdividir una señal de brillo y señales de diferencia de color de un bloque de codificación se define como un modo de partición (PartMode). Además, el bloque subdividido del mismo se define como un bloque de predicción. Como se muestra en la Figura 4, se definen ocho tipos de modos de subdivisión (PartMode) de acuerdo con un procedimiento para subdividir una señal de brillo de un bloque de codificación.
Un modo de partición (PartMode) donde no se divide una señal de brillo de un bloque de codificación y se considera como un bloque de predicción como se muestra en la Figura 4A se define como la partición 2N por 2N (PART_2Nx2N). Los modos de subdivisión (PartMode) donde una señal de brillo de un bloque de codificación se subdivide en dos bloques de predicción dispuestos verticalmente como se muestra en la Figura 4B, 4C y 4D se definen como la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU) y la partición 2N por nD (PART_2NxnD), respectivamente. La partición 2N por N (PART_2NxN) es un modo de partición donde un bloque se subdivide con una relación de 1:1, verticalmente, la partición 2N por nU (PART_2NxnU) es un modo de partición donde un bloque se subdivide con una relación de 1:3, verticalmente, y la partición 2N por nD (PART_2NxnD) es un modo de partición donde un bloque se subdivide con una relación de 3:1, verticalmente. Los modos de subdivisión (PartMode) donde se subdivide una señal de brillo de un bloque de codificación en dos bloques de predicción dispuestos horizontalmente como se muestra en la Figura 4E, 4F y 4G se definen como la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) y la partición nR por 2N (PART_nRx2N), respectivamente. La partición N por 2N (PART_Nx2N) es un modo de partición donde un bloque se subdivide con una relación de 1:1, horizontalmente, la partición nL por 2N (PART_nLx2N) es un modo de partición donde un bloque se subdivide con una relación de 1:3, horizontalmente, y la partición nR por 2N (PART_nRx2N) es un modo de partición donde un bloque se subdivide con una relación de 3:1, horizontalmente. Un modo de partición (PartMode) donde se subdivide una señal de brillo de un bloque de codificación verticalmente y horizontalmente en cuatro bloques como se muestra en la Figura 4H se define como la partición N por N (PART_NxN).
Para cada modo de partición (PartMode), también se subdivide una señal de diferencia de color de una manera similar a la relación de partición horizontal y vertical de una señal de brillo.
En un bloque de codificación, para identificar cada bloque de predicción, se asigna un número que empieza desde 0 a un bloque de predicción en el bloque de codificación en el orden de codificación. Este número se define como un índice de partición PartIdx. Un número escrito en cada bloque de predicción en los bloques de codificación mostrados en la Figura 4 indica el índice de partición PartIdx del bloque de predicción. Para la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU) y la partición 2N por nD (PART_2NxnD) mostradas en la Figura 4B, 4C, y 4D respectivamente, el índice de partición PartIdx de un bloque de predicción superior se establece a 0 y el índice de partición PartIdx de un bloque de predicción inferior se establece a 1. Para la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) y la partición nR por 2N (PART_nRx2N) mostradas en la Figura 4E, 4F y 4G respectivamente, el índice de partición PartIdx de un bloque de predicción izquierdo se establece a 0 y el índice de partición PartIdx de un bloque de predicción derecho se establece a 1. Para la partición N por N (PART_NxN) mostrada en la Figura 4H, el índice de partición PartIdx de un bloque de predicción superior izquierdo se establece a 0, el índice de partición PartIdx de un bloque de predicción superior derecho se establece a 1, el índice de partición PartIdx de un bloque de predicción inferior izquierdo se establece a 2, y el índice de partición PartIdx de un bloque de predicción inferior derecho se establece a 3.
En caso de que el modo de predicción (PredMode) sea inter predicción (MODO_INTER), la partición 2N por 2N (PART_2Nx2N), la partición 2N por N (pA r T_2NxN), la partición 2N por nU (PART_2NxnU), la partición 2N por nD (PART_2NxnD), la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) y la partición nR por 2N (PART_nRx2N) se definen como un modo de partición (PartMode). Únicamente en caso del bloque de codificación D, que es bloque de codificación mínima, la partición N por N (PART_NxN) puede definirse como un modo de partición (PartMode) además de la partición 2N por 2N (PART_2Nx2N), la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU), la partición 2N por nD (PART_2NxnD), la partición N por 2n (PART_Nx2N), la partición nL por 2N (PART_nLx2N) y la partición nR por 2N (PART_nRx2N). Sin embargo, se supone que la partición N por N (PART_NxN) no se define como un modo de partición (PartMode) de acuerdo con la presente realización.
En caso de que el modo de predicción (PredMode) sea intra predicción (MODO_INTRA), únicamente la partición 2N por 2N (PART_2Nx2N) se define como un modo de partición (PartMode) para bloques excepto para el bloque de codificación D, que es el bloque de codificación mínima. Únicamente en caso del bloque de codificación D, que es el bloque de codificación mínima, la partición N por N (PART_NxN) se define como un modo de partición (PartMode) además de la partición 2N por 2N (PART_2Nx2N). La razón por la que la partición N por N (PART_NxN) no se define excepto para el bloque de codificación mínima, es que bloque de codificación distinto del bloque de codificación mínima puede subdividirse en cuatro bloques para representar bloques de codificación más pequeños.
(con respecto a la posición de un bloque de árbol, un bloque de codificación, un bloque de predicción y un bloque de transformación)
La posición de cada bloque, tal como un bloque de árbol, un bloque de codificación, un bloque de predicción, un bloque de transformación, o similares de acuerdo con la presente realización, se representa por dos coordenadas dimensionales donde la posición del píxel superior izquierdo de la señal de brillo en una pantalla de señales de brillo se define como el punto original, y la posición del píxel superior izquierdo de señal de brillo incluido en el área de cada bloque se representa por dos coordenadas dimensionales (X, Y). Con respecto a las direcciones de los ejes de coordenadas, las direcciones positivas son la dirección derecha horizontalmente y la dirección abajo verticalmente, respectivamente. La unidad de escala es el píxel de la señal de brillo. La posición de cada bloque de señales de diferencia de color se representa por coordenadas de un píxel de una señal de brillo incluida en un área del bloque y la unidad de escala es el píxel, no únicamente en caso de que un formato de diferencia de color sea 4:4:4 donde los tamaños de fotograma (los números de pixeles) para señales de brillo y señales de diferencia de color son idénticos entre sí, sino también en el caso de que el formato de diferencia de color sea 4:2:0 o 4:2:2 donde los tamaños de fotograma (los números de píxeles) de las señales de brillo y las señales de diferencia de color son diferentes. De esta manera, no únicamente puede identificarse la posición de cada bloque de señales de diferencia de color, sino también la simple comparación de valores de coordenadas aclara una relación posicional entre un bloque de señales de brillo y un bloque de señales de diferencia de color.
(Con respecto a un modo de inter predicción y una lista de referencia)
De acuerdo con la realización de la invención, puede usarse una pluralidad de fotogramas decodificados como un fotograma de referencia en inter predicción donde se realiza una predicción basándose en señales de fotograma de un fotograma decodificado. Para identificar un fotograma de referencia seleccionado partir de una pluralidad de fotogramas de referencia, se asigna un índice de referencia para cada bloque de predicción. Para un corte B, pueden seleccionarse dos fotogramas de referencia arbitrarios para cada bloque de predicción para realizar inter predicción. Los modos de inter predicción incluyen predicción L0 (Pred_L0), predicción L1 (Pred_L1) y bipredicción (Pred_BI). El fotograma de referencia se gestiona por L0 (lista de referencias 0) y L1 (lista de referencias 1), que son estructuras de lista, y puede identificarse un fotograma de referencia especificando un índice de referencia de L0 o L1. La predicción L0 (Pred_L0) es inter predicción que hace referencia a un fotograma de referencia gestionado por L0, la predicción L1 (Pred_L1) es inter predicción que hace referencia a un fotograma de referencia gestionado por L1, y la bipredicción (Pred_BI) es la predicción donde se realiza tanto la predicción L0 como la predicción L1, y un fotograma de referencia gestionado por L0 y un fotograma de referencia gestionado por L1 a las que se hace referencia. En inter predicción de un corte P, únicamente puede usarse predicción L0. En inter predicción de un corte B, puede usarse predicción L0, predicción L1 y bipredicción donde puede promediarse la predicción L0 y la predicción L1 o añadirse con pesos. Para invariables y variables a las que se adjunta un sufijo LX para emitir en los siguientes procedimientos, se supone que el procedimiento se realiza para cada una de L0 y L1.
(un modo de fusión y un candidato de fusión)
Un modo de fusión no es un modo que codifica o decodifica información de inter predicción (por ejemplo, un modo de predicción, un índice de referencia, un vector de movimiento o similares) de un bloque de predicción sometido a codificación o decodificación, sino que es un modo que realiza inter predicción derivando información de inter predicción de un bloque de predicción sometido a codificación o decodificación a partir de información de inter predicción de: un bloque de predicción que está en un mismo fotograma con el bloque de predicción sometido a codificación o decodificación y que está en proximidad del bloque de predicción sometido a codificación o decodificación; o un bloque de predicción que está en un fotograma diferente en el tiempo de un fotograma del bloque de predicción sometido a codificación o decodificación, y que está en una posición idéntica a o en proximidad (en una posición en proximidad de) del bloque de predicción sometido a codificación o decodificación. Un bloque de predicción y la información de inter predicción del mismo, estando el bloque de predicción en un mismo fotograma con el bloque de predicción sometido a codificación o decodificación y que está en proximidad del bloque de predicción sometido a codificación o decodificación, se usa como un candidato de fusión espacial. La información de inter predicción derivada de un bloque de predicción y la información de inter predicción del mismo, estando el bloque de predicción en un fotograma codificado o decodificado diferente en el tiempo de un fotograma del bloque de predicción sometido a codificación o decodificación y que está en una posición idéntica a o en proximidad (en una posición en proximidad) del bloque de predicción sometido a codificación o decodificación, se usa como un candidato de fusión de tiempo. Cada candidato de fusión se registra en una lista de candidatos de fusión, y se especifica un candidato de fusión que va a usarse para inter predicción por un índice de fusión.
(Con respecto a un bloque de predicción en proximidad)
Las Figuras 5, 6, 7 y 8 ilustran: una privación de un candidato de fusión espacial; y un bloque de predicción al que se hace referencia cuando se deriva un candidato de fusión espacial y cuando se deriva el índice de referencia de un candidato de fusión de tiempo, estando el bloque de predicción en un mismo fotograma con el bloque de predicción sometido a codificación o decodificación y que está en proximidad del bloque de predicción sometido a codificación o decodificación. La Figura 9 ilustra un bloque de predicción al que se hace referencia cuando se deriva el índice de referencia de un candidato de fusión de tiempo, estando el bloque de predicción en un fotograma codificado o decodificado diferente en el tiempo del bloque de predicción sometido a codificación o decodificación y estando en una posición idéntica a o en proximidad del bloque de predicción sometido a codificación o decodificación. Haciendo referencia a las Figuras 5, 6, 7, 8 y 9, se proporcionará una explicación sobre un bloque de predicción en proximidad espacial del bloque de predicción sometido a codificación o decodificación, y en un bloque de predicción en una posición idéntica pero diferente en el tiempo.
Como se muestra en la Figura 5, en un mismo fotograma con el bloque de predicción sometido a codificación o decodificación, un bloque de predicción A adyacente al borde izquierdo del bloque de predicción sometido a codificación o decodificación, un bloque de predicción B adyacente al borde superior del mismo, un bloque de predicción C adyacente al vértice derecho superior del mismo, un bloque de predicción D adyacente al vértice izquierdo inferior del mismo y un bloque de predicción E adyacente al vértice izquierdo superior del mismo se definen como un bloque de predicción en proximidad espacial.
Como se muestra en la Figura 6, si hay una pluralidad de bloques de predicción, de los cuales los tamaños son más pequeños que el bloque de predicción sometido a codificación o decodificación y que son adyacentes al borde izquierdo del bloque de predicción sometido a codificación o decodificación, un bloque de predicción A10 en la posición más baja entre la pluralidad de bloques de predicción adyacente al borde izquierdo se define como un bloque de predicción A adyacente al borde izquierdo de acuerdo con la presente realización.
De una manera similar, si hay una pluralidad de bloques de predicción, de los cuales los tamaños son más pequeños que el bloque de predicción sometido a codificación o decodificación y que son adyacentes al borde superior del bloque de predicción sometido a codificación o decodificación, un bloque de predicción B10 en la posición más a la derecha entre la pluralidad de bloques de predicción adyacentes al borde superior se define como un bloque de predicción B1 adyacente al borde superior de acuerdo con la presente realización.
Como se muestra en la Figura 7, también en caso de que el tamaño de un bloque de predicción F adyacente al borde izquierdo del bloque de predicción sometido a codificación o decodificación sea más grande que el bloque de predicción sometido a codificación o decodificación, de acuerdo con las condiciones anteriormente descritas, el bloque de predicción A se define como un bloque de predicción A si el bloque de predicción A es adyacente al borde izquierdo del bloque de predicción sometido a codificación o decodificación, se define como un bloque de predicción D en caso de que sea adyacente al vértice izquierdo inferior del bloque de predicción sometido a codificación o decodificación, y se define como un bloque de predicción E en caso de que sea adyacente al vértice izquierdo superior del bloque de predicción sometido a codificación o decodificación. De acuerdo con el ejemplo mostrado en la Figura 6, un bloque de predicción A, un bloque de predicción E y un bloque de predicción E son un bloque de predicción idéntico.
Como se muestra en la Figura 8, también en caso de que el tamaño de un bloque de predicción G adyacente al borde superior del bloque de predicción sometido a codificación o decodificación sea más grande que el bloque de predicción sometido a codificación o decodificación, de acuerdo con las condiciones anteriormente descritas, el bloque de predicción G se define como un bloque de predicción B si el bloque de predicción G es adyacente al borde superior del bloque de predicción sometido a codificación o decodificación, se define como un bloque de predicción C si el bloque de predicción G es adyacente al vértice superior derecho del bloque de predicción sometido a codificación o decodificación, y se define como un bloque de predicción E si el bloque de predicción G es adyacente al vértice superior izquierdo del bloque de predicción sometido a codificación o decodificación. De acuerdo con el ejemplo mostrado en la Figura 8, un bloque de predicción B, un bloque de predicción C y un bloque de predicción E son un bloque de predicción idéntico.
Como se muestra en la Figura 9, unos bloques de predicción codificados o decodificados T0 y T1 en un fotograma diferente en el tiempo de un fotograma del bloque de predicción sometido a codificación o decodificación y en una posición idéntica a o en proximidad del bloque de predicción sometido a codificación o decodificación se definen como un bloque de predicción en una misma posición diferente en el tiempo.
(Con respecto a POC)
POC se define como un parámetro que está asociado con un fotograma sometido a codificación, y se define un valor que aumenta uno en un tiempo en el orden de salida de los fotogramas como PCD. Mediante el valor de POC, puede determinarse si los fotogramas son o no idénticos entre sí, puede determinarse si un fotograma es anterior o posterior a otro fotograma en un orden de salida o puede derivarse una distancia entre fotogramas. Por ejemplo, en caso de que los POC de dos fotogramas tengan un valor idéntico, puede determinarse que los fotogramas son un fotograma idéntico. En caso de que los POC de dos fotogramas tengan valores diferentes, se determina un fotograma con un valor de POC menor que es un fotograma que ha de emitirse antes del otro fotograma, y una diferencia entre los POC de dos fotogramas representa una distancia entre los fotogramas a lo largo del eje de tiempo.
Se proporcionará a continuación una explicación sobre la realización de la invención mientras se hace referencia a las Figuras. La Figura 1 es un diagrama de bloques que muestra una estructura de un dispositivo de codificación de fotogramas en movimiento de acuerdo con una realización de la invención. El dispositivo de codificación de fotogramas en movimiento de acuerdo con la realización comprende una memoria 101 de fotograma, una unidad 102 de detección de vector de movimiento, una unidad 103 de cálculo 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 de 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 generación de señal residual, una unidad 109 de transformación ortogonal/cuantificación, una primera unidad 110 de generación de secuencia de bits, una segunda unidad 111 de generación de secuencia de bits, una unidad 112 de multiplexación, una unidad 113 de cuantificación inversa/transformación ortogonal inversa, una unidad 114 de convolución de señal de fotograma decodificada, una memoria 115 de almacenamiento de información de codificación y una memoria 116 de fotograma decodificado.
La memoria 101 de fotograma almacena temporalmente una señal de fotograma de un fotograma sometido a codificación, habiéndose proporcionado la señal en el orden de captura y/o en el orden de tiempo de visualización. La memoria 101 de fotograma proporciona la señal de fotograma almacenada de un fotograma sometido a codificación, en unidades de bloques de píxeles predeterminados, a la unidad 102 de detección de vector de movimiento, a la unidad 107 de determinación de procedimiento de predicción y a la unidad 108 de generación de señal residual. En este procedimiento, las señales de fotograma de fotogramas almacenados en el orden de captura y/o en el orden de tiempo de visualización se reorganizan en el orden de codificación, y se emiten desde la memoria 101 de fotograma en unidades de bloques de píxeles.
La unidad 102 de detección de vector de movimiento detecta vectores de movimiento para respectivos tamaños de bloque y respectivos modos de predicción para cada bloque de predicción mediante coincidencia de bloque o similares entre una señal de fotograma proporcionada desde la memoria 101 de fotograma y un fotograma de referencia proporcionada desde la memoria 116 de fotograma decodificado. La unidad 102 de detección de vector de movimiento proporciona el vector de movimiento detectado a la unidad 105 de predicción de compensación de movimiento, a la unidad 103 de cálculo de diferencia de vector de movimiento y a la unidad 107 de determinación de procedimiento de predicción.
Usando información de codificación de una señal de fotograma ya codificada y almacenada en la memoria 115 de almacenamiento de información de codificación, la unidad 103 de cálculo de diferencia de vector de movimiento calcula una pluralidad de candidatos de un predictor de vector de movimiento y almacena los candidatos en una lista de predictores de vector de movimiento, selecciona un predictor de vector de movimiento óptimo a partir de la pluralidad de candidatos de un predictor de vector de movimiento registrados en la lista de predictores de vector de movimiento, calcula una diferencia de vector de movimiento del vector de movimiento detectado por la unidad 102 de detección de vector de movimiento y del predictor de vector de movimiento, y proporciona la diferencia de vector de movimiento calculada a la unidad 107 de determinación de procedimiento de predicción. Además, la unidad 103 de cálculo de diferencia de vector de movimiento proporciona a la unidad 107 de determinación de procedimiento de predicción con un índice de predictor de vector de movimiento que especifica un predictor de vector de movimiento seleccionado de los candidatos de un predictor de vector de movimiento registrados en la lista de predictores de vector de movimiento.
La unidad 104 de derivación de información de inter predicción deriva un candidato de fusión en un modo de fusión. Usando información de codificación de un bloque de predicción que ya se ha codificado y almacenado en la memoria 115 de almacenamiento de información de codificación, la unidad 104 de derivación de información de inter predicción deriva una pluralidad de candidatos de fusión y registra los candidatos en una lista de candidatos de fusión, que se describirá a continuación, selecciona un candidato de fusión apropiado de la pluralidad de candidatos de fusión registrados en la lista de candidatos de fusión, proporciona a la unidad 105 de predicción de compensación de movimiento con información de inter predicción (por ejemplo, las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] que indican si usar o no predicción L0 y/o predicción L1, los índices de referencia refIdxL0[xP][yP] y refIdxL1[xP][yP], los vectores de movimiento mvL0[xP][yP] y mvL1[xP][yP], o similares) de cada bloque de predicción del candidato de fusión seleccionado, y proporciona a la unidad 107 de determinación de procedimiento de predicción con un índice de fusión que especifica el candidato de fusión seleccionado. xP y yP son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción en un fotograma. Se describirá más adelante la configuración detallada y la operación de la unidad 104 de derivación de información de inter predicción.
La unidad 105 de predicción de compensación de movimiento genera de un fotograma de referencia una señal de fotograma de predicción mediante inter predicción (predicción de compensación de movimiento) usando un vector de movimiento detectado por la unidad 102 de detección de vector de movimiento y la unidad 104 de derivación de información de inter predicción, y proporciona la señal de fotograma de predicción a la unidad 107 de determinación de procedimiento de predicción. En predicción L0 y en predicción L1, se realiza una predicción unidireccional. En caso de bipredicción (Pred_BI), se realiza la predicción para dos direcciones, se multiplican respectivas señales inter­ previstas para la predicción L0 y predicción L1 por un coeficiente de ponderación de manera adaptativa, se añade un valor de desplazamiento y se realiza convolución para generar una señal de fotograma de predicción final.
La unidad 106 de intra predicción realiza intra predicción para cada modo de intra predicción. La unidad 106 de intra predicción genera una señal de fotograma de predicción mediante intra predicción a partir de una señal de fotograma decodificada almacenada en la memoria 211 de fotograma decodificado, selecciona un modo de intra predicción apropiado de una pluralidad de los modos de intra predicción, y proporciona a la unidad 107 de determinación de procedimiento de predicción con un modo de intra predicción seleccionado y una señal de fotograma de predicción de acuerdo con el modo de intra predicción seleccionado.
La unidad 107 de determinación de procedimiento de predicción determina un modo de predicción PredMode y un modo de partición PartMode que determina la inter predicción (PRED_INTER) o la intra predicción (PRED_INTRA) en unidades de bloques de codificación óptimos a partir de una pluralidad de procedimientos de predicción, evaluando una cantidad de código de información de codificación y una señal residual, una cantidad de distorsión entre una señal de fotograma de predicción y una señal de fotograma o similares para respectivos procedimientos de predicción. En caso de inter predicción (PRED_INTER), la unidad 107 de determinación de procedimiento de predicción determina si un modo es o no un modo de fusión en unidades de bloques de predicción. En caso de que el modo sea un modo de fusión, la unidad 107 de determinación de procedimiento de predicción determina un índice de fusión, y en caso de que el modo no sea un modo de fusión, determina un modo de inter predicción, un índice de predictor de vector de movimiento, los índices de referencia de L0 y L1, una diferencia de vector de movimiento o similares, y proporciona a la primera unidad 110 de generación de secuencia de bits con información de codificación de acuerdo con la determinación.
Además, la unidad 107 de determinación de procedimiento de predicción almacena información que indica el procedimiento de predicción determinado e información de codificación que incluye un vector de movimiento o similares de acuerdo con el procedimiento de predicción determinado en la memoria 115 de almacenamiento de información de codificación. La información de codificación que va a almacenarse incluye: un modo de predicción PredMode y un modo de partición PartMode de respectivos bloques de codificación; las banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] que indican si usar o no predicción L0 y predicción L1 de cada bloque de predicción; los índices de referencia refIdxL0[xP][yP] y refIdxL1[xP][yP] de L0 y L1; los vectores de movimiento mvL0[xP][yP] y mvL1[xP] [yP] de L0 y L1; o similares. xP y yP son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción en un fotograma. En caso de que el modo de predicción PredMode sea intra predicción (MODO_INTRA), ambas banderas, predFlagL0[xP] [yP] que indica si usar o no predicción L0 y predFlagL1[xP] [yP] que indica si usar o no predicción L1, son 0. Por otra parte, en caso de que el modo de predicción PredMode sea inter predicción (MODO_INTER) y el modo de inter predicción sea la 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. En caso de que el modo de inter predicción sea 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. En caso de que el modo de inter predicción sea bipredicción (Pred_BI), ambas banderas, predFlagL0[xP][yP] que indica si usar o no predicción L0 y 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 proporciona a la unidad 108 de generación de señal residual y a la unidad 114 de convolución de señal de fotograma decodificada con una señal de fotograma de predicción de acuerdo con el modo de predicción determinado.
La unidad 108 de generación de señal residual genera una señal residual realizando una resta entre una señal de fotograma sometido a codificación y una señal de fotograma de predicción, y proporciona la señal residual a la unidad 109 de transformación ortogonal/cuantificación. La unidad 109 de transformación ortogonal/cuantificación realiza transformación ortogonal y cuantificación en la señal residual de acuerdo con un parámetro de cuantificación para generar una señal residual ortogonalmente transformada y cuantificada y proporciona la señal residual ortogonalmente transformada y cuantificada a la segunda unidad 111 de generación de secuencia de bits y a la unidad 113 de cuantificación inversa/transformación ortogonal inversa. Además, la unidad 109 de transformación ortogonal/cuantificación almacena el parámetro de cuantificación en la memoria 115 de almacenamiento de información de codificación.
La primera unidad 110 de generación de secuencia de bits codifica información de codificación de acuerdo con un procedimiento de predicción determinado para cada bloque de codificación y cada bloque de predicción mediante la unidad 107 de determinación de procedimiento de predicción, además de información para cada secuencia, cada fotograma, cada corte y cada bloque de codificación. Más específicamente, la primera unidad 110 de generación de secuencia de bits codifica información de codificación, tal como, un modo de predicción PredMode para cada bloque de codificación, un modo de partición PartMode, una bandera que determina si un modo es o no modo de fusión en caso de inter predicción (PRED_INTER), un índice de fusión en caso del modo de fusión, un modo de inter predicción en caso de que el modo no sea un modo de fusión, un índice de predictor de vector de movimiento, información con respecto a una diferencia de vector de movimiento o similares, de acuerdo con una regla de sintaxis prescrita, que se describirá más adelante, para generar una primera secuencia de bits y proporciona la primera secuencia de bits a la unidad 112 de multiplexación.
La segunda unidad 111 de generación de secuencia de bits codifica por entropía la señal transformada ortogonalmente y la señal residual cuantificada de acuerdo con una regla de sintaxis prescrita para generar una segunda secuencia de bits y proporciona la segunda secuencia de bits a la unidad 112 de multiplexación. En la unidad 112 de multiplexación, la primera secuencia de bits y la segunda secuencia de bits se multiplexan de acuerdo con una regla de sintaxis prescrita para generar una secuencia de bits.
La unidad 113 de cuantificación inversa/transformación ortogonal inversa cuantifica a la inversa y transforma ortogonalmente a la inversa la señal residual cuantificada proporcionada de la unidad 109 de transformación ortogonal/cuantificación para calcular una señal residual, y proporciona la señal residual a la unidad 114 de convolución de señal de fotograma decodificada. La unidad 114 de convolución de señal de fotograma decodificada convoluciona la señal de fotograma de predicción de acuerdo con la determinación por la unidad 107 de determinación de procedimiento de predicción y la señal residual que se cuantifica a la inversa y se transforma ortogonalmente a la inversa en la unidad 113 de cuantificación inversa/transformación ortogonal inversa para generar un fotograma decodificado y almacena el fotograma decodificado en la memoria 116 de fotograma decodificado. Dependiendo de las circunstancias, se realiza un procedimiento de filtración que reduce la distorsión tal como una distorsión de bloque o similares provocada por la codificación en el fotograma decodificado y el fotograma decodificado se almacena en la memoria 116 de fotograma decodificado, en consecuencia.
La Figura 1 es un diagrama de bloques que muestra una estructura de un dispositivo de decodificación de fotogramas en movimiento de acuerdo con una realización de la invención, correspondiendo el dispositivo de decodificación de fotogramas en movimiento al dispositivo de codificación de fotogramas en movimiento de la Figura 1. El dispositivo de decodificación de fotogramas en movimiento de acuerdo con la realización comprende una unidad 201 de separación, una primera unidad 202 de decodificación de secuencia de bits, una segunda unidad 203 de decodificación de secuencia de bits, una unidad 204 de cálculo de vector de movimiento, una unidad 205 de derivación de información de inter predicción, una unidad 206 de predicción de compensación de movimiento, una unidad 207 de intra predicción, una unidad 208 de cuantificación inversa/transformación ortogonal inversa, una unidad 209 de convolución de señal de fotograma decodificada, una memoria 210 de almacenamiento de información de codificación y una memoria 211 de fotograma decodificado.
El procedimiento de decodificación del dispositivo de decodificación de fotogramas en movimiento de la Figura 2 corresponde al procedimiento de decodificación proporcionado en el dispositivo de codificación de fotogramas en movimiento de la Figura 1. Por lo tanto, respectivas configuraciones de la unidad 206 de predicción de compensación de movimiento, la unidad 208 de cuantificación inversa/transformación ortogonal inversa, la unidad 209 de convolución de señal de fotograma decodificada, la memoria 210 de almacenamiento de información de codificación y la memoria 211 de fotograma decodificado de la Figura 2 tienen una función que corresponde a respectivas configuraciones de la unidad 105 de predicción de compensación de movimiento, de la unidad 113 de cuantificación inversa/transformación ortogonal inversa, de la unidad 114 de convolución de señal de fotograma decodificada, de la memoria 115 de almacenamiento de información de codificación y de la memoria 116 de fotograma decodificado del dispositivo de codificación de fotogramas en movimiento de la Figura 1.
La secuencia de bits proporcionada a la unidad 201 de separación se separa de acuerdo con una regla de sintaxis prescrita. La primera secuencia de bits separada se proporciona a la primera unidad 202 de decodificación de secuencia de bits y la segunda secuencia de bits se proporciona a la segunda unidad 203 de decodificación de secuencia de bits.
La primera unidad 202 de decodificación de secuencia de bits decodifica la secuencia de bits proporcionada y obtiene información para cada secuencia, cada fotograma, cada corte y cada bloque de codificación y la información de codificación para cada bloque de predicción. Más específicamente, la primera unidad 202 de decodificación de secuencia de bits decodifica información de codificación con respecto a, por ejemplo, un modo de predicción PredMode que determina si la predicción es inter predicción (PRED_INTER) o intra predicción (PRED_INTRA) para cada bloque de codificación, un modo de partición PartMode, una bandera determina si un modo es o no un modo de fusión en caso de inter predicción (PRED_INTER), un índice de fusión en caso de que el modo sea un modo de fusión, un modo de inter predicción en caso de que el modo no sea un modo de fusión, un índice de predictor de vector de movimiento, una diferencia de vector de movimiento o similares, de acuerdo con una regla de sintaxis prescrita, que también se describirá más adelante y proporciona la información de codificación a la unidad 204 de cálculo de vector de movimiento, a la unidad 205 de derivación de información de inter predicción o a la unidad 207 de intra predicción.
La segunda unidad 203 de decodificación de secuencia de bits decodifica la secuencia de bits proporcionada para calcular una señal ortogonalmente transformada y cuantificada residual y proporciona la señal ortogonalmente transformada y residual cuantificada a la unidad 208 de cuantificación inversa/transformación ortogonal inversa.
Si el modo de predicción PredMode de un bloque de predicción sometido a decodificación es inter predicción (PRED_INTER) y no un modo de fusión, la unidad 204 de cálculo de vector de movimiento deriva, usando información de codificación de una señal de fotograma ya decodificada y almacenada en la memoria 210 de almacenamiento de información de codificación, una pluralidad de candidatos de un predictor de vector de movimiento y registra los candidatos en una lista de predictores de vector de movimiento, que se describirá más adelante. La unidad 204 de cálculo de vector de movimiento selecciona un predictor de vector de movimiento de acuerdo con un índice de predictor de vector de movimiento, que se decodifica en la primera unidad 202 de decodificación de secuencia de bits y se proporciona, desde la pluralidad de candidatos de un predictor de vector de movimiento registrados en la lista de predictores de vector de movimiento, calcula un vector de movimiento a partir del vector de diferencia decodificado en la primera unidad 202 de decodificación de secuencia de bits y a partir del predictor de vector de movimiento seleccionado. La unidad 204 de cálculo de vector de movimiento proporciona a la unidad 206 de predicción de compensación de movimiento con el vector de movimiento con otra información de codificación, y almacena el vector de movimiento y otra información de codificación en la memoria 210 de almacenamiento de información de codificación. La información de codificación que va a proporcionarse y almacenarse en este procedimiento incluye: un modo de predicción PredMode; el modo de partición PartMode; banderas predFlagL0[xP][yP] y predFlagL1[xP][yP] que indican si usar o no predicción L0 y predicción L1 respectivamente; los índices de referencia refIdxL0[xP][yP] y refIdxL1[xP][yP] de L0 y L1; los vectores de movimiento mvL0[xP][yP] y mvLl1[xP][yP] de L0 y L1; o similares. xP y yP son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción en un fotograma. En caso de que el modo de predicción PredMode sea inter predicción (MODO_INTER) y el modo de inter predicción sea predicción L0 (Pred_L0), la bandera predFlagLO que indica si usar o no predicción L0 es 1, y la bandera predFlagL1 que indica si usar o no predicción L1 es 0. En caso de que el modo de inter predicción sea predicción L1 (Pred_L1), la bandera predFlagLO que indica si usar o no predicción L0 es 0, y la bandera predFlagL1 que indica si usar o no predicción L1 es 1. En caso de que el modo de inter predicción sea bipredicción (Pred_BI), una bandera predFlagLO que indica si usar o no predicción L0 y una bandera predFlagL1[xP][yP] que indica si usar o no predicción L1 son ambas 1.
Si el modo de predicción PredMode de un bloque de predicción sometido a decodificación es inter predicción (PRED_INTER) y si el modo es un modo de fusión, la unidad 205 de derivación de información de inter predicción deriva un candidato de fusión. Usando la información de codificación de un bloque de predicción que ya se ha decodificado y almacenado en la memoria 115 de almacenamiento de información de codificación, la unidad 205 de derivación de información de inter predicción deriva una pluralidad de candidatos de fusión y registra los candidatos en una lista de candidatos de fusión, que se describirá más adelante. La unidad 205 de derivación de información de inter predicción selecciona, desde la pluralidad de candidatos de fusión registrados en la lista de candidatos de fusión, un candidato de fusión que corresponde a un índice de fusión que se decodifica en la primera unidad 202 de decodificación de secuencia de bits y se proporciona. La unidad 205 de derivación de información de inter predicción proporciona a la unidad 206 de predicción de compensación de movimiento con información de inter predicción del candidato de fusión seleccionado, tal como las banderas predFlagLO[xP] [yP] y predFlagL1[xP] [yP] que indican si usar o no predicción L0 y predicción L1, los índices de referencia refIdxL0[xP][yP] y refIdxL1[xP][yP] de L0 y L1, los vectores de movimiento mvL0[xP][yP] y mvL1[xP] [yP] de L0 y L1, o similares, y almacena la información de inter predicción en la memoria 210 de almacenamiento de información de codificación. xP y yP son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción en un fotograma. Los detalles sobre la configuración y la operación de la unidad 205 de derivación de información de inter predicción se proporcionarán más adelante.
La unidad 206 de predicción de compensación de movimiento genera una señal de fotograma de predicción mediante inter predicción (predicción de compensación de movimiento) usando información de inter predicción calculada en la unidad 204 de cálculo de vector de movimiento o en la unidad 205 de derivación de información de inter predicción desde un fotograma de referencia almacenado en la memoria 211 de fotograma decodificado, y proporciona la señal de fotograma de predicción a la unidad 209 de convolución de señal de fotograma decodificada. En caso de bipredicción (Pred_BI), se multiplican dos señales de fotograma de predicción de compensación de movimiento de predicción L0 y predicción L1 por un coeficiente de ponderación de manera adaptativa, y se realiza convolución para generar una señal de fotograma de predicción final.
La unidad 207 de intra predicción realiza intra predicción cuando el modo de predicción PredMode de un bloque de predicción que va a decodificarse es intra predicción (PRED_INTRA). La información de codificación decodificada en la primera unidad de decodificación de secuencia de bits incluye un modo de intra predicción. Basándose en el modo de intra predicción, se genera una señal de fotograma de predicción por intra predicción a partir de la señal de fotograma decodificada almacenada en la memoria 211 de fotograma decodificado, y se proporciona a la unidad 209 de convolución de señal de fotograma decodificada. Ambas banderas, predFlagL0[xP] [yP] y predFlagL1[xP] [yP] que indican si usar o no predicción L0 y predicción L1, se establecen a 0 y se almacenan en la memoria 210 de almacenamiento de información de codificación. xP y yP son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción en un fotograma.
La unidad 208 de cuantificación inversa/transformación ortogonal inversa transforma ortogonalmente a la inversa y cuantifica a la inversa la señal residual ortogonalmente transformada y cuantificada, que se decodifica en la primera unidad 202 de decodificación de secuencia de bits, y obtiene una señal residual ortogonalmente transformada inversa y cuantificada inversa.
La unidad 209 de convolución de señal de fotograma decodificada decodifica una señal de fotograma decodificada convolucionando la señal de fotograma de predicción que se inter predice en la unidad 206 de predicción de compensación de movimiento o la señal de fotograma de predicción que se intra predice en la unidad 207 de intra predicción y la señal residual que se transforma ortogonalmente a la inversa y se cuantifica a la inversa por la unidad 208 de cuantificación inversa/transformación ortogonal inversa, y almacena la señal de fotograma decodificada en la memoria 211 de fotograma decodificado. Cuando el fotograma decodificado se almacena en la memoria 211 de fotograma decodificado, se realiza un procedimiento de filtración que reduce la distorsión, tal como la distorsión de bloque o similares provocada por la codificación en el fotograma decodificado y el fotograma decodificado se almacena en la memoria 211 de fotograma decodificado, dependiendo de las circunstancias.
(Con respecto a la sintaxis)
A continuación, se proporcionará una explicación sobre la sintaxis que es una regla común para codificación y decodificación de una secuencia de bits de un fotograma en movimiento, que se codifica por un dispositivo de codificación de fotogramas en movimiento proporcionado con un procedimiento para predecir un vector de movimiento de acuerdo con la presente realización, y que se decodifica por un dispositivo de decodificación.
La Figura 10 muestra una primera estructura de sintaxis que se describe en un encabezamiento de corte para cada corte de una secuencia de bits generada de acuerdo con la presente realización. La Figura muestra únicamente elementos de sintaxis relacionados con la presente realización. En caso de que un tipo de corte sea un corte B, se establece una bandera collocated_from_l0_flag. La bandera collocated_from_10_flag indica cuál de los fotogramas de referencia usa un fotograma colPic de un tiempo diferente, en concreto, un fotograma de referencia registrado en una lista de referencia de L0 o un fotograma de referencia registrado en una lista de referencia de L1 de un fotograma que incluye un bloque de predicción sometido a procesamiento. Se usa el fotograma colPic de un tiempo diferente cuando se deriva un candidato de un predictor de vector de movimiento a través del tiempo o cuando se deriva un candidato de fusión. Los detalles sobre la bandera collocated_from_10_flag se describirán más adelante.
Los elementos de sintaxis anteriormente descritos pueden establecerse en un conjunto de parámetros de fotograma que describe un elemento de sintaxis que se establece para cada fotograma.
La Figura 11 muestra un patrón de sintaxis descrito para cada bloque de predicción. En caso de que el valor del modo de predicción PredMode de un bloque de predicción sea inter predicción (MODO_INTER), se establece merge_flag[x0][y0] que indica si un modo es o no un modo de fusión. x0 y y0 son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción en un fotograma de señales de brillo, y merge_flag[x0][y0] es una bandera que indica si el modo de un bloque de predicción que está o no situado en (x0, y0) en el fotograma es o no un modo de fusión.
A continuación, en caso de que merge_flag[x0][y0] es 1, que indica que el modo es un modo de fusión, se establece 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 se hace referencia. x0 y y0 son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción en un fotograma, y merge_flag[x0][y0] es un índice de fusión de un bloque de predicción situado en (x0, y0) en el fotograma. La Figura 12 muestra un ejemplo de un código de entropía de un elemento de sintaxis merge_idx[x0][y0] de un índice de fusión. De acuerdo con la presente realización, el número de candidatos de fusión se establece a 5. Cuando el índice de fusión es 0, 1, 2, 3 y 4, el código del elemento de sintaxis merge_idx[x0][y0] de un índice de fusión es '0', '10', '110', '1110' y '1111', respectivamente.
Por otra parte, en caso de que merge_flag[x0][y0] sea 0, merge_flag[x0][y0] indica que el modo no es un modo de fusión, y en caso de que el tipo de corte sea un corte B, se establece un elemento de sintaxis inter_pred_flag[x0][y0] que identifica un modo de inter predicción. Mediante este elemento de sintaxis, se distingue la predicción L0 (Pred_L0), la predicción L1 (Pred_L1) y la bipredicción (Pred_BI). Para cada L0 y L1, se establecen los elementos de sintaxis del índice de referencia ref_idx_l0[x0][y0] y ref_idx_l1[x0][y0] para especificar un fotograma de referencia, y los elementos 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 un vector de movimiento de un bloque de predicción derivado mediante la detección de un vector de movimiento y un predictor de vector de movimiento. x0 y y0 son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción en un fotograma. ref_idx_l0[x0][y0] y mvd_l0[x0][y0] [j] son un índice de referencia y una diferencia de vector de movimiento de L0 de un bloque de predicción situado en (x0, y0) en el fotograma, respectivamente. ref_idx_l1[x0][y0], mvd_l1[x0][y0][j] son un índice de referencia y una diferencia de vector de movimiento de L1 de un bloque de predicción situado en (x0, y0) en el fotograma, respectivamente. j indica componentes de diferencia de vector de movimiento. Un valor 0 para j representa el componente x, y un valor 1 para j representa el componente y. A continuación, se establecen los elementos de sintaxis mvp_idx_l0[x0][y0] y mvp_idx_l1[x0][y0] de índice de una lista de predictores de vector de movimiento, que es una lista de candidatos de predictor de vector de movimiento a los que se hace referencia. x0 y y0 son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción en un fotograma. mvp_idx_l0[x0][y0] y mvp_idx_l1[x0][y0] son índices de predictor de vector de movimiento de L0 y L1 de un bloque de predicción situado en (x0, y0) en el fotograma. De acuerdo con la presente realización, el valor del número de candidatos se establece a 2.
Se realiza un procedimiento para derivar información de inter predicción de acuerdo con la realización en la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento de la Figura 1 y en la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de fotogramas en movimiento de la Figura 2.
A continuación, se proporcionará una explicación sobre el procedimiento para derivar información de inter predicción de acuerdo con una realización mientras se hace referencia a las figuras. El procedimiento para derivar información de inter predicción se ejecuta para cada bloque de predicción que constituye un bloque de codificación en cualquiera de los procedimientos de codificación o procedimientos de decodificación. Si un modo de predicción PredMode de un bloque de predicción es inter predicción (MODO_INTER) y un modo es un modo de fusión, y en caso de codificación, se usa el procedimiento cuando se deriva un modo de predicción, un índice de referencia, y un vector de movimiento de un bloque de predicción sometido a 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 caso de decodificación, se usa el procedimiento cuando se deriva un modo de predicción, un índice de referencia y un vector de movimiento de un bloque de predicción sometido a 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 un modo de fusión, se deriva un candidato de fusión no únicamente de los cinco bloques de predicción (es decir, un bloque de predicción A adyacente a la izquierda, un bloque de predicción B adyacente a la parte superior, un bloque de predicción C adyacente a la parte superior derecha, un bloque de predicción D adyacente a la parte inferior izquierda y un bloque de predicción E adyacente a la parte superior izquierda) explicados mientras se hace referencia a las Figuras 5, 6, 7 y 8, sino también desde un bloque de predicción de un bloque de predicción Col (T0 o T1) en una posición idéntica o en proximidad y diferente en el tiempo, que se ha explicado mientras se hace referencia a la Figura 9. La unidad 104 de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento y la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de fotogramas en movimiento registran estos candidatos de fusión en la lista de candidatos de fusión en un orden prescrito que es común entre la codificación y la decodificación. La unidad 104 de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento determina un índice de fusión que especifica un elemento de una lista de candidatos y codifica mediante una primera unidad de generación de secuencia de bits. La unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de fotogramas en movimiento selecciona un bloque de predicción a partir de la lista de candidatos de fusión de acuerdo con un índice de fusión decodificado en la primera unidad 202 de decodificación de secuencia de bits y proporcionado, y realiza predicción de compensación de movimiento usando información de inter predicción (por ejemplo, un modo de predicción, un índice de referencia, un vector de movimiento o similares) del candidato de fusión seleccionado.
La Figura 13 muestra una configuración detallada de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento de la Figura 1. La Figura 14 muestra una configuración detallada de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de fotogramas en movimiento de la Figura 2.
Las porciones rodeadas por un recuadro de línea gruesa en las Figuras 13 y 14 indican la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento y la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de fotogramas en movimiento, respectivamente.
Además, las porciones rodeadas por una línea discontinua gruesa en los recuadros indican una unidad 120 de construcción de la lista de candidatos de fusión del dispositivo de codificación de fotogramas en movimiento y una unidad 220 de construcción de la lista de candidatos de fusión del dispositivo de decodificación de fotogramas en movimiento, respectivamente. La unidad de construcción de la lista de candidatos de fusión se proporciona también en el dispositivo de decodificación de fotogramas en movimiento que corresponde al dispositivo de codificación de fotogramas en movimiento de acuerdo con la realización de modo que pueden obtenerse los mismos resultados de derivación que no contradicen entre la codificación y la decodificación.
De acuerdo con el procedimiento para derivar información de inter predicción de acuerdo con la realización, en la derivación del candidato de fusión y en el procedimiento de construcción de lista de candidatos de fusión en la unidad 120 de construcción de lista de candidatos de fusión del dispositivo de codificación de fotogramas en movimiento y la unidad 220 de construcción de la lista de candidatos de fusión del dispositivo de decodificación de fotogramas en movimiento, se supone que se realiza la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de un bloque de predicción sometido a procesamiento sin hacer referencia a un bloque de predicción incluido en un bloque de codificación idéntico a un bloque de codificación que incluye un bloque de predicción sometido a procesamiento. De esta manera, en caso de que el modo de partición (PartMode) de un bloque de codificación no sea la partición 2N por 2N (PART_2Nx2N), es decir, en caso de que exista una pluralidad de bloques de predicción en un bloque de codificación, la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de un bloque de predicción sometido a procesamiento para cada bloque de predicción puede realizarse en paralelo en un bloque de codificación en la codificación.
Se proporcionará una explicación para cada modo de partición (PartMode) en los procedimientos paralelos de la construcción de lista de candidatos de fusión del respectivo bloque de predicción en un bloque de codificación mientras se hace referencia a la Figura 15. La Figura 15 ilustra un bloque de predicción que está en proximidad de un bloque de predicción sometido a procesamiento para cada modo de partición (PartMode) del bloque de predicción sometido a procesamiento. En la Figura 15, A0, B0, C0, D0 y E0 indican: un bloque de predicción A adyacente al borde izquierdo del bloque de predicción sometido a procesamiento del que el índice de partición Partldx es 0; un bloque de predicción B adyacente al borde superior del mismo; un bloque de predicción C adyacente al vértice superior derecho del mismo; un bloque de predicción D adyacente al vértice inferior izquierdo del mismo; y un bloque de predicción E adyacente al vértice superior izquierdo del mismo, respectivamente. A1, B1, C1, D1 y E1 indican: un bloque de predicción A adyacente al borde izquierdo del bloque de predicción sometido a procesamiento del que el índice de partición PartIdx es 1; un bloque de predicción B adyacente al borde superior del mismo; un bloque de predicción C adyacente al vértice superior derecho del mismo; un bloque de predicción D adyacente al vértice inferior izquierdo del mismo; y un bloque de predicción E adyacente al vértice superior izquierdo del mismo, respectivamente. A2, B2, C2, D2 y E2 indican: un bloque de predicción A adyacente al borde izquierdo del bloque de predicción sometido a procesamiento del que el índice de partición PartIdx es 2; un bloque de predicción B adyacente al borde superior del mismo; un bloque de predicción C adyacente al vértice superior derecho del mismo; un bloque de predicción D adyacente al vértice inferior izquierdo del mismo; y un bloque de predicción E adyacente al vértice superior izquierdo del mismo, respectivamente. A3, B3, C3, D3 y E3 indican: un bloque de predicción A adyacente al borde izquierdo del bloque de predicción sometido a procesamiento del que el índice de partición PartIdx es 3; un bloque de predicción B adyacente al borde superior del mismo; un bloque de predicción C adyacente al vértice superior derecho del mismo; un bloque de predicción D adyacente al vértice inferior izquierdo del mismo; y un bloque de predicción E adyacente al vértice superior izquierdo del mismo, respectivamente.
Las Figuras 15B, 15C y 15D muestran bloques de predicción en proximidad en caso de que un modo de partición (PartMode) sea la partición 2N por N (PAr T_2NxN), la partición 2N por nU (PART_2NxnU) o la partición 2N por nD (PART_2NxnD), donde un bloque de codificación sometido a procesamiento se subdivide en dos bloques de predicción dispuestos verticalmente. El bloque de predicción B1 en proximidad de un bloque de predicción sometido a procesamiento del que PartIdx es 1, es un bloque de predicción del que PartIdx es 0. Por lo tanto, la derivación del candidato de fusión y la construcción de lista de candidatos de fusión de un bloque de predicción, del que PartIdx es 1, haciendo referencia al bloque de predicción B1, no puede procesarse hasta que se completa la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de un bloque de predicción, que es un bloque de predicción B1 y pertenece a un mismo bloque de codificación y del que PartIdx es 0, y se especifica un candidato de fusión que va a usarse. Por lo tanto, en el procedimiento para derivar información de inter predicción de acuerdo con la realización, en caso de que un modo de partición sea la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU) o la partición 2N por nD (PART_2NxnD), y en caso de que PartIdx de un bloque de predicción sometido a procesamiento sea 1, la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de dos bloques de predicción en el bloque de codificación puede procesarse en paralelo haciendo referencia a información de codificación del bloque de predicción A1, C1, D1 o E1, que no están incluidos en un bloque de codificación idéntico a un bloque de codificación que incluye el bloque de predicción sometido a procesamiento, y realizando la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de un bloque de predicción del que PartIdx es 1, sin hacer referencia a información de codificación del bloque de predicción B1, que es un bloque de predicción adyacente al borde superior del bloque de predicción sometido a procesamiento, y está incluido en un bloque de codificación idéntico a un bloque de codificación que incluye el bloque de predicción sometido a procesamiento, y del que PartIdx es 0.
Las Figuras 15F, 15F y 15G muestran bloques de predicción en proximidad en caso de que un modo de partición (PartMode) sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N), donde un bloque de codificación sometido a procesamiento se subdivide en dos bloques de predicción dispuestos horizontalmente. El bloque de predicción A1 en proximidad de un bloque de predicción sometido a procesamiento, del que PartIdx es 1, es un bloque de predicción del que PartIdx es 0. Por lo tanto, la derivación del candidato de fusión y la construcción de lista de candidatos de fusión de un bloque de predicción, del que PartIdx es 1, haciendo referencia al bloque de predicción A1, no puede procesarse hasta que se completa la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de un bloque de predicción, que es un bloque de predicción A1 y pertenece a un mismo bloque de codificación y del que PartIdx es 0, y se especifica un candidato de fusión que va a usarse. Por lo tanto, en el procedimiento para derivar información de inter predicción de acuerdo con la realización, en caso de que un modo de partición sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) y la partición nR por 2N (PART_nRx2N), y en caso de que PartIdx de un bloque de predicción sometido a procesamiento sea 1, la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de respectivos bloques de predicción en el bloque de codificación puede procesarse en paralelo haciendo referencia a información de codificación del bloque de predicción B1, C1, D1 o E1, que no están incluidos en un bloque de codificación idéntico a un bloque de codificación que incluye el bloque de predicción sometido a procesamiento, y realizando la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de un bloque de predicción del que PartIdx es 1, sin hacer referencia a información de codificación del bloque de predicción A1, que es un bloque de predicción adyacente al borde izquierdo del bloque de predicción sometido a procesamiento, y está incluido en un bloque de codificación idéntico a un bloque de codificación que incluye el bloque de predicción sometido a procesamiento, y del que PartIdx es 0.
Se proporcionará una explicación sobre el procesamiento paralelo de la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión. La Figura 16 muestra un diagrama de flujo que ilustra la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión mediante procesamiento secuencial, y la Figura 17 muestra un diagrama de flujo que ilustra la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión mediante procesamiento paralelo.
En el procesamiento secuencial de la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión mostrado en la Figura 16, se deriva un candidato de fusión y se construye la lista de candidatos de fusión para un bloque de predicción, del que un índice de partición PartIdx es 0, de un bloque de codificación sometido a procesamiento (etapa S101). A continuación, en caso de que el modo de partición (PartMode) sea la partición 2N por 2N (PART_2Nx2N) (NO en la etapa S102), la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión están completados. En caso de que el modo de partición (PartMode) no sea la partición 2N por 2N (PART_2Nx2N) (NO en la etapa S102), es decir, en caso de que el modo de partición (PartMode) sea la partición 2N por N (PART_2nxN), la partición 2N por nU (PART_2NxnU), la partición 2N por nD (PART_2NxnD), la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N), se deriva el candidato de fusión y se construye la lista de candidatos de fusión para un bloque de predicción, del que un índice de partición PartIdx es 1, de un bloque de codificación sometido a procesamiento (etapa S103), y se completa la derivación de candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión, en consecuencia.
En el procesamiento paralelo de la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión mostrado en la Figura 17, se deriva un candidato de fusión y se construye la lista de candidatos de fusión para un bloque de predicción, del que un índice de partición PartIdx es 0, de un bloque de codificación sometido a procesamiento (etapa S101). En paralelo con la etapa S101, en caso de que el modo de partición (PartMode) no sea la partición 2N por 2N (PAr T_2Nx2N) (NO en la etapa S102), es decir, en caso de que el modo de partición (PartMode) sea la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU), la partición 2N por nD (PART_2NxnD), la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N), se deriva el candidato de fusión y se construye la lista de candidatos de fusión para un bloque de predicción, del que un índice de partición PartIdx es 1, de un bloque de codificación sometido a procesamiento (etapa S103).
En el procesamiento paralelo de la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión mostrado en la Figura 17, en caso de que el modo de partición (PartMode) sea la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU), la partición 2N por nD (PART_2NxnD), la partición N por 2N (pA r T_Nx2N), la partición nL por 2N (PART_nLx2N), o la partición nR por 2N (PART_nRx2N), la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de dos bloques de predicción, del que un índice de partición PartIdx es 0 y 1 respectivamente, puede iniciarse simultáneamente, realizando la derivación del candidato de fusión y la construcción de lista de candidatos de fusión para un bloque de predicción, del que un índice de partición PartIdx es 1, sin hacer referencia a un bloque de predicción, del que un índice de partición PartIdx es 0, en el mismo bloque de codificación.
También en el procesamiento secuencial de la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión mostrado en la Figura 16, la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de un bloque de predicción, del que un índice de partición PartIdx es 1, puede realizarse sin hacer referencia a un bloque de predicción, del que un índice de partición PartIdx es 0.
Aunque se supone que la partición N por N (PART_NxN) no se define como un modo de partición (PartMode) de acuerdo con la presente realización, también es posible definir la partición N por N (PART_NxN). La Figura 15H muestra bloques de predicción en proximidad en caso de que el modo de partición (PartMode) sea la partición N por N (PART_NxN) en el que una señal de brillo de un bloque de codificación sometido a procesamiento se subdivide en cuatro bloques verticalmente y horizontalmente. El bloque de predicción B1 en proximidad de un bloque de predicción sometido a procesamiento, del que PartIdx es 1, es un bloque de predicción del que PartIdx es 0. Por lo tanto, la derivación del candidato de fusión y la construcción de lista de candidatos de fusión de un bloque de predicción, del que PartIdx es 1, haciendo referencia al bloque de predicción A1, no puede procesarse hasta que se completa la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de un bloque de predicción, que es un bloque de predicción A1 y pertenece a un mismo bloque de codificación y del que PartIdx es 0, y se especifica un candidato de fusión que va a usarse. Por lo tanto, en el procedimiento para derivar información de inter predicción de acuerdo con la realización, en caso de que un modo de partición sea la partición N por N (PART_NxN), y en caso de que PartIdx de un bloque de predicción sometido a procesamiento sea 1, la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de respectivos bloques de predicción en el bloque de codificación pueden procesarse en paralelo realizando la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de un bloque de predicción del que PartIdx es 1, sin hacer referencia a información de codificación del bloque de predicción A1, del que PartIdx es 0. El bloque de predicción B2 en proximidad de un bloque de predicción sometido a procesamiento del que PartIdx es 2, es un bloque de predicción del que PartIdx es 0, y el bloque de predicción C2 es un bloque de predicción del que PartIdx es 1. Por lo tanto, la derivación del candidato de fusión y la construcción de lista de candidatos de fusión de un bloque de predicción, del que PartIdx es 2, haciendo referencia a los bloques de predicción B2 y C2 no puede procesarse hasta que se completa la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de bloques de predicción, que son bloques de predicción B2 y C2 y pertenecen al mismo bloque de codificación y del que PartIdx es 0 y 1 respectivamente, y se especifica un candidato de fusión que va a usarse. Por lo tanto, en el procedimiento para derivar información de inter predicción de acuerdo con la realización, en caso de que un modo de partición sea la partición N por N (PART_NxN), y en caso de que PartIdx de un bloque de predicción sometido a procesamiento sea 2, la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de respectivos bloques de predicción en el bloque de codificación pueden procesarse en paralelo realizando la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de un bloque de predicción del que PartIdx es 2, sin hacer referencia a información de codificación de los bloques de predicción B2 y C2, del que PartIdx son 0 y 1, respectivamente. El bloque de predicción E3 en proximidad de un bloque de predicción sometido a procesamiento del que PartIdx es 3, es un bloque de predicción del que PartIdx es 0, el bloque de predicción B3 es un bloque de predicción del que PartIdx es 1, y el bloque de predicción A3 es un bloque de predicción del que PartIdx es 2. Por lo tanto, la derivación del candidato de fusión y la construcción de lista de candidatos de fusión de un bloque de predicción, del que PartIdx es 3, haciendo referencia a los bloques de predicción E3, B3 y A3 no puede procesarse hasta que se completa la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de bloques de predicción, que son bloques de predicción E3, B3 y A3 y pertenecen al mismo bloque de codificación y del que PartIdx son 0, 1 y 2 respectivamente, y se especifica un candidato de fusión que va a usarse. Por lo tanto, en el procedimiento para derivar información de inter predicción de acuerdo con la realización, en caso de que un modo de partición sea la partición N por N (PART_NxN), y en caso de que PartIdx de un bloque de predicción sometido a procesamiento sea 3, la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de respectivos bloques de predicción en el bloque de codificación pueden procesarse en paralelo realizando la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión de un bloque de predicción del que PartIdx es 3, sin hacer referencia a información de codificación de los bloques de predicción E3, B3 y A3, del que PartIdx son 0, 1 y 2, respectivamente.
La unidad 104 de derivación de información de inter predicción en la Figura 13 incluye una unidad 130 de generación de candidato de fusión espacial, una unidad 131 de derivación de índice de referencia, una unidad 132 de generación de candidato de fusión de tiempo, una unidad 133 de registro de candidato de fusión, una unidad 134 de determinación de candidato de fusión identificación, una unidad 135 complementaria de candidato de fusión y una unidad 136 de selección de información de codificación.
La unidad 205 de derivación de información de inter predicción en la Figura 14 incluye una unidad 230 de generación de candidato de fusión espacial, una unidad 231 de derivación de índice de referencia de candidato de fusión de tiempo, una unidad 232 de generación de candidato de fusión de tiempo, una unidad 233 de registro de candidato de fusión, una unidad 234 de determinación de identificación de candidato de fusión, una unidad 235 complementaria de candidato de fusión y una unidad 236 de selección de información de codificación.
La Figura 18 muestra un diagrama de flujo que ilustra un procedimiento de una derivación de candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión, que es una función común a la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento y a la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de fotogramas en movimiento de acuerdo con una realización de la invención. Se proporcionará a continuación de manera secuencial una explicación sobre los procedimientos. Aunque se proporciona una explicación donde un tipo de corte slice_type es un corte B en la siguiente explicación, la explicación puede aplicarse también al caso del corte P, a menos que se indique de otra manera. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye la predicción L0 (Pred_L0) y no incluye la predicción L1 (Pred_L1) ni la bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
En la unidad 130 de generació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 fotogramas en movimiento y en la unidad 230 de generació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 fotogramas en movimiento, se derivan y emiten los candidatos de fusión espacial A, B, C, D y E desde respectivos bloques de predicción A, B, C, D y E en proximidad de un bloque sometido a codificación o decodificación. Se define N que indica A, B, C, D, E o un candidato de fusión espacial Col. Se emite una bandera availableFlagN que indica si la información de inter predicción de un bloque de predicción N está o no disponible como un candidato de fusión espacial N, un índice de referencia refIdxL0N de L0 y un índice de referencia refIdxL1N de L1 del candidato de fusión espacial N, una bandera de predicción predFlagLON que indica si se realiza o no la predicción L0 y una bandera de predicción predFlagL1N que indica si se realiza o no la predicción L1, un vector de movimiento mvLON de L0 y un vector de movimiento mvL1N de L1 (etapa S201). Sin embargo, de acuerdo con la presente realización, puesto que se deriva un candidato de fusión sin hacer referencia a un bloque de predicción incluido en un bloque de codificación idéntico al bloque de codificación que incluye un bloque de predicción sometido a procesamiento, no se deriva un candidato de fusión espacial incluido en el bloque de codificación idéntico al bloque de codificación que incluye un bloque de predicción sometido a procesamiento. Se proporcionará más adelante una explicación detallada sobre el procedimiento de procesamiento detallado de la etapa S201 con referencia al diagrama de flujo mostrado en la Figura 19.
Posteriormente, en la unidad 131 de derivación de índice de referencia del candidato de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento y en la unidad 231 de derivación de índice de referencia del candidato de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de fotogramas en movimiento, se deriva y se emite un índice de referencia de un candidato de fusión de tiempo a partir de un bloque de predicción en proximidad de un bloque sometido a codificación o decodificación (etapa S202). Sin embargo, de acuerdo con la presente realización, se deriva un índice de referencia de un candidato de fusión de tiempo sin hacer referencia a un bloque de predicción incluido en un bloque de codificación idéntico al bloque de codificación que incluye un bloque de predicción sometido a procesamiento. En caso de que un tipo de corte slice_type sea un corte P y se realice inter predicción usando información de inter predicción del candidato de fusión de tiempo, únicamente se deriva el índice de referencia de L0 para realizar predicción L0 (Pred_L0). En caso de que un tipo de corte slice_type sea un corte B y se realice inter predicción usando información de inter predicción del candidato de fusión de tiempo, se derivan respetivos índices de referencia de L0 y L1 para realizar bipredicción (Pred_BI). Se proporcionará una explicación detallada más adelante sobre el procedimiento de procesamiento detallado de la etapa S202 con referencia a los diagramas de flujo mostrados en la Figura 21, la Figura 23, la Figura 25, la Figura 27, la Figura 29, la Figura 30 y la Figura 32.
Posteriormente, en la unidad 132 de generación de candidato de fusión de tiempo de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento y en la unidad 232 de generación de candidato de fusión de tiempo de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de fotogramas en movimiento, se deriva un candidato de fusión de tiempo a partir de un fotograma de un tiempo diferente y se emite el candidato de fusión de tiempo. Se emite una bandera availableFlagCol que indica si está disponible o no un candidato de fusión de tiempo, una bandera de predicción predFlagLOCol que indica si se realiza o no la predicción L0 de la fusión de tiempo y una bandera de predicción predFlagL1Col que indica si se realiza o no la predicción L1, un vector de movimiento mvL0N de L0 y un vector de movimiento mvL1N de L1 (etapa S203). Se proporcionará más adelante una explicación detallada sobre el procedimiento de procesamiento detallado de la etapa S203 con referencia al diagrama de flujo mostrado en la Figura 34.
Posteriormente, en la unidad 133 de registro de candidato de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento y en la unidad de registro de candidato de fusión 233 de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de fotogramas en movimiento, se genera una lista de candidatos de fusión, y se añaden los candidatos de fusión espacial A, B, C, D y E, y un candidato de fusión de tiempo Col a la lista de candidatos de fusión mergeCandList, mediante la que, se establece la lista de candidatos de fusión mergeCandList, y se emite la lista de candidatos de fusión mergeCandList (etapa S204). Se proporcionará más adelante una explicación detallada sobre el procedimiento de procesamiento detallado de la etapa S204 con referencia al diagrama de flujo mostrado en la Figura 41.
Posteriormente, en la unidad 134 de determinación de identificación de candidato de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento y en la unidad 234 de determinación de identificación de candidato de fusión de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de fotogramas en movimiento, se genera una lista de candidatos de fusión, en caso de que los vectores de movimiento de los índices de referencia de un candidato de fusión idéntico tengan un mismo valor que en la lista de candidatos de fusión mergeCandList, se omite el candidato de fusión excepto para un candidato de fusión que sea más anterior en el orden, y se emite la lista de candidatos de fusión mergeCandList (etapa S205).
Posteriormente, en la unidad 135 complementaria de candidato de fusión de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento y en la unidad complementaria de candidato de fusión 235 de la unidad 205 de derivación de información de inter predicción del dispositivo de decodificación de fotogramas en movimiento, se complementa una lista de candidatos de fusión de modo que se emite el número de candidatos de fusión registrados en la lista de candidatos de fusión mergeCandList y la lista de candidatos de fusión mergeCandList (etapa S206). De acuerdo con la presente realización, el número de candidatos de fusión se establece a 5.
Aunque el límite superior del número de candidatos de fusión registrados en la lista de candidatos de fusión mergeCandList se establece a 5, se añade un candidato de fusión del que el modo de predicción es bipredicción (Pred_BI) y que se realiza cambiando la combinación de predicción L0 y predicción L1 entre candidatos de fusión que ya se han registrado; un candidato de fusión del que el modo de predicción es bipredicción (Pred_BI), que tiene un índice de referencia diferente, y el valor del vector de movimiento del que es (0, 0); o similares.
Se proporcionará una explicación detallada sobre un procedimiento para derivar un candidato de fusión N a partir de un bloque de predicción N en proximidad de un bloque de predicción sometido a codificación o decodificación, que es un procedimiento de procesamiento de la etapa S201 de la Figura 18. La Figura 19 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación del candidato de fusión espacial de la etapa S201 en la Figura 18. N representa A (izquierda), B (arriba), C (parte superior derecha), D (parte inferior izquierda) o E (parte superior izquierda) que indican que son un bloque de predicción en proximidad. De acuerdo con la presente realización, se derivan hasta cuatro candidatos de fusión espacial a partir de cinco bloques de predicción en proximidad.
En la Figura 18, asignando A como un parámetro N, se comprueba la información de codificación de un bloque de predicción A adyacente al borde izquierdo de un bloque de predicción sometido a codificación o decodificación y se deriva un candidato de fusión A, asignando B como un parámetro N, se comprueba información de codificación de un bloque de predicción B adyacente al borde superior y se deriva un candidato de fusión B, asignando C como un parámetro N, se comprueba información de codificación de un bloque de predicción C adyacente a la parte superior derecha y se deriva un candidato de fusión C, asignando D como un parámetro N, se comprueba información de codificación de un bloque de predicción D adyacente a la parte inferior izquierda y se deriva un candidato de fusión D y asignando E como un parámetro N, se comprueba información de codificación de un bloque de predicción E adyacente a la parte superior izquierda y se deriva un candidato de fusión E (etapa S1101 - etapa S1114).
En primer lugar, en caso de que el parámetro N sea E, y que se añadan los valores de unas banderas availableFlagA, availableFlagB, availableFlagC y availableFlagD y el total de las mismas sea 4 (SÍ en S1102), es decir, en caso de que se deriven cuatro candidatos de fusión espacial, una bandera de un candidato de fusión E availableFlagE se establece a 0 (etapa S1107), ambos valores de vectores de movimiento mvLOE y mvL1E del candidato de fusión E se establecen a (0,0) (etapa S1108), ambos valores de banderas predFlagLOE y predFlagL1E del candidato de fusión E se establecen a 0 (etapa S1109), y este procedimiento de derivación del candidato de fusión espacial está completado. De acuerdo con la presente realización, se derivan hasta cuatro candidatos de fusión espacial a partir de los bloques de predicción en proximidad. Por lo tanto, en caso de que ya se hayan derivado cuatro candidatos de fusión espacial, ya no se requiere realizar el procedimiento de derivación de candidatos de fusión espacial.
Por otra parte, en caso de que el parámetro N no sea E, o en caso de que se añadan los valores de las banderas availableFlagA, availableFlagB, availableFlagC y availableFlagD y el número total de las mismas no sea 4 (NO en S1102), el procedimiento continúa a la etapa S1103. Si el bloque de predicción N en proximidad está incluido en un bloque de codificación idéntico a un bloque de codificación que incluye un bloque de predicción sometido a derivación (SÍ en la etapa S1103), el valor de una bandera availableFlagN de un candidato de fusión N se establece a 0 (etapa S1107), ambos valores de vectores de movimiento mvL0N y mvL1N del candidato de fusión N se establecen a (0,0) (etapa S1108), y ambos valores de las banderas predFlagLON y predFlagL1N del candidato de fusión N se establecen a 0 (etapa 81109). Si el bloque de predicción N en proximidad está incluido en un bloque de codificación idéntico a un bloque de codificación que incluye un bloque de predicción sometido a derivación (SÍ en la etapa S1103), el valor de una bandera availableFlagN del candidato de fusión N se establece a 0 (etapa S1107), no haciendo referencia a información de codificación del bloque de predicción N en proximidad y estableciendo el valor de la bandera availableFlagN del candidato de fusión N a 0, para no usar como un candidato de fusión espacial, la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión para que respectivos bloques de predicción en un mismo bloque de codificación puedan procesarse en paralelo.
Más específicamente, el caso del bloque de predicción B adyacente al borde superior de un bloque de predicción sometido a derivación, donde un modo de partición es la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU) o la partición 2N por nD (PART_2NxnD) y donde ese PartIdx de un bloque de predicción sometido a procesamiento es 1, corresponde al caso donde el bloque de predicción N en proximidad está incluido en un bloque de codificación idéntico a un bloque de codificación que incluye un bloque de predicción sometido a derivación. En este caso, el bloque de predicción B adyacente al borde superior de un bloque de predicción sometido a derivación es un bloque de predicción que está incluido en un bloque de codificación idéntico a un bloque de codificación que incluye un bloque de predicción sometido a derivación y del que el PartIdx es 0. Por lo tanto, no haciendo referencia a información de codificación del bloque de predicción B en proximidad y estableciendo el valor de la bandera availableFlagB del candidato de fusión B a 0 para no usar como un candidato de fusión espacial, puede procesarse en paralelo la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión para respectivos bloques de predicción en un mismo bloque de codificación.
Además, el caso de un bloque de predicción A adyacente al borde superior de un bloque de predicción sometido a derivación, donde un modo de partición es la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N) y donde PartIdx de un bloque de predicción sometido a procesamiento es 1, también corresponde al caso donde el bloque de predicción N en proximidad está incluido en un bloque de codificación idéntico a un bloque de codificación que incluye un bloque de predicción sometido a derivación. También en este caso, el bloque de predicción A adyacente al borde izquierdo de un bloque de predicción sometido a derivación es un bloque de predicción que está incluido en un bloque de codificación idéntico a un bloque de codificación que incluye un bloque de predicción sometido a derivación y del que PartIdx es 0. Por lo tanto, no haciendo referencia a información de codificación del bloque de predicción A en proximidad y estableciendo el valor de la bandera availableFlagA del candidato de fusión A a 0 para no usar como un candidato de fusión espacial, puede procesarse en paralelo la derivación del candidato de fusión y el procedimiento de construcción de lista de candidatos de fusión para respectivos bloques de predicción en un mismo bloque de codificación.
Aunque no se define de acuerdo con la presente realización, también en caso de que un modo de partición (PartMode) sea la partición N por N (PART_NxN), y en caso de que PartIdx de un bloque de predicción sometido a procesamiento sea 1, 2 o 3, el bloque de predicción N en proximidad en ocasiones está incluido en un bloque de codificación idéntico a un bloque de codificación que incluye un bloque de predicción sometido a derivación.
Por otra parte, en caso de que el bloque de predicción N en proximidad no esté incluido en un bloque de codificación idéntico a un bloque de codificación que incluye un bloque de predicción sometido a derivación (SÍ en la etapa S1103), se especifica el bloque de predicción N en proximidad de un bloque de predicción sometido a codificación o decodificación, y en caso de que estén disponibles respectivos bloques de predicción N, se deriva la información de codificación de un bloque de predicción N a partir de la memoria 115 de almacenamiento de información de codificación o a partir de la memoria 210 de almacenamiento de información de codificación (etapa S1104).
Si el bloque de predicción N en proximidad no puede usarse (NO en la etapa S1105), o el modo de predicción PredMode del bloque de predicción N es intra predicción (MODO_INTRA) (SÍ en la etapa S1106), el valor de una bandera availableFlagN de un candidato de fusión N se establece a 0 (etapa S1107), ambos valores de vectores de movimiento mvL0N y mvL1 N del candidato de fusión N se establecen a (0,0) (etapa S1108), y ambos valores de las banderas predFlagLON y predFlagL1N del candidato de fusión N se establecen a 0 (etapa S1109). El caso donde un bloque de predicción N en proximidad no puede usarse corresponde, por ejemplo, a un caso donde el bloque de predicción N en proximidad está situado fuera de un corte sometido a codificación o decodificación, un caso donde no se ha completado el procedimiento de codificación o decodificación puesto que el bloque N está retrasado en el orden de procesamiento de codificación o de decodificación, etc.
Por otra parte, si el bloque de predicción N en proximidad está fuera de un bloque de codificación idéntico a un bloque de codificación que incluye un bloque de predicción sometido a derivación (SÍ en la etapa S1104), el bloque de predicción N en proximidad está disponible (SÍ en la etapa S1105), y en caso de que el modo de predicción PredMode del bloque de predicción N no sea una intra predicción (MODO_INTRA) (SÍ en la etapa S1106), se usa la información de inter predicción del bloque de predicción N como la información de inter predicción del candidato de fusión N. El valor de una bandera availableFlagN del candidato de fusión N se establece a 1 (etapa S1110), los vectores de movimiento mvL0N y mvL1N del candidato de fusión N se establecen a un valor idéntico al de los vectores de movimiento mvLON[xN] [yN] y mvL1N [xN] [yN] del respectivo bloque de predicción N (etapa S1111), los índices de referencia refIdxL0N y refIdxL1N del candidato de fusión N se establecen a un valor idéntico a los de los índices de referencia refIdxL0 [xN] [yN] y refIdxL1 [xN] [yN] del respectivo bloque de predicción N (etapa S1112), y las banderas predFlagLON y predFlagL1N de un candidato de fusión N se establecen a las banderas predFlagL0 [xN] [yN] y predF1agL1 [xN] [yN] del respectivo bloque de predicción N (etapa S1113). xN y yN son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción N en un fotograma.
El procedimiento anterior de las etapas S1102 a S1113 se repite para N = A, B, C, D y E, respectivamente (etapa S1101 - etapa S1114).
A continuación, se proporcionará una explicación detallada sobre un procedimiento para derivar un índice de referencia de un candidato de fusión de tiempo de la etapa S202 en la Figura 18. Se derivan respectivos índices de referencia de L0 y L1 de un candidato de fusión de tiempo.
De acuerdo con la presente realización, se derivan índices de referencia de un candidato de fusión de tiempo usando un índice de referencia de un candidato de fusión espacial, es decir, un índice de referencia usado en un bloque de predicción en proximidad de un bloque de predicción sometido a codificación o decodificación. Esto es debido a que, en caso de que se seleccione un candidato de fusión de tiempo, un índice de referencia de un bloque de predicción sometido a codificación o decodificación tiene una alta correlación con el índice de referencia de un bloque de predicción en proximidad de un bloque de predicción sometido a codificación o decodificación, que será un candidato de fusión espacial. Particularmente, de acuerdo con la presente realización, únicamente se usa un índice de referencia de un bloque de predicción A adyacente al borde izquierdo del bloque de predicción sometido a derivación, o un bloque de predicción B adyacente al borde superior, excepto para una sexta realización ilustrativa y una séptima realización ilustrativa, que se describirán más adelante. Esto es debido a que, los bloques de predicción A y B adyacentes al borde del bloque de predicción sometido a codificación o decodificación, entre los bloques de predicción A, B, C, D y E en proximidad, que también son candidatos de fusión espaciales, tienen una correlación superior que los bloques de predicción C, D y E adyacentes únicamente a un vértice. Limitando los bloques de predicción a usar para los bloques de predicción A y B sin usar los bloques de predicción C, D y E que tienen una correlación relativamente baja, puede obtenerse un efecto de mejora de la eficacia de codificación derivando un índice de referencia de un candidato de fusión de tiempo, y puede reducirse la cantidad de cálculo y una frecuencia de acceso a memoria relacionada con el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo.
Primera realización ilustrativa
Se proporcionará a continuación una explicación sobre la presente realización con algunas realizaciones ilustrativas. En primer lugar, se proporcionará a continuación una explicación sobre una primera realización ilustrativa de la presente realización. La Figura 20 muestra un bloque adyacente al que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con la primera realización ilustrativa de la presente realización. De acuerdo con la primera realización ilustrativa de la presente realización, de acuerdo con el modo de partición (PartMode), se cambia cuál bloque de predicción se usa: un bloque de predicción adyacente al borde izquierdo de un bloque de predicción sometido a derivación o un bloque de predicción adyacente al borde superior del mismo. Un bloque de predicción adyacente al borde fuera de un bloque de codificación al que se hace referencia. En caso de que un modo de partición (PartMode) sea la partición 2N por 2N (PART_2Nx2N), como se muestra en la Figura 20A, se hace referencia a un bloque de predicción A0 adyacente a la izquierda de un bloque de predicción sometido a derivación, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0.
En caso de que un modo de partición (PartMode) sea la partición 2N por N (PART_2NxN), la partición 2N por nU(PART_2NxnU) o la partición 2N por nD (PART_2NxnD), donde el bloque de codificación sometido a procesamiento se subdivide en dos bloques de predicción dispuestos verticalmente, como se muestra en la Figura 20B, 20C y 20D, se hace referencia a los bloques de predicción adyacentes al borde izquierdo de respectivos bloques de predicción sometidos a derivación, y los respectivos índices de referencia de LX de candidatos de fusión de tiempo se establecen a valores de los índices de referencia de LX de los bloques de predicción adyacentes al borde izquierdo de respectivos bloques de predicción sometidos a derivación. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, se hace referencia a un bloque de predicción A0 adyacente a la izquierda, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 1, se hace referencia a un bloque de predicción A1 adyacente a la izquierda, y un índice de referencia de LX de un candidato de fusión de tiempo se establece al valor de índice de referencia de LX del bloque de predicción A1. Puesto que ambos bloques de predicción A0 y A1 a los que se hace referencia están fuera del bloque de codificación, puede derivarse en paralelo respectivamente un índice de referencia del candidato de fusión de tiempo de dos bloques de predicción, de los que el índice de partición PartIdx son 0 y 1 respectivamente.
En caso de que un modo de partición (PartMode) sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N), donde se subdivide el bloque de codificación sometido a procesamiento en dos bloques de predicción dispuestos horizontalmente, como se muestra en la Figura 20E, 20F y 20G, se hace referencia a un bloque de predicción adyacente al borde superior de un bloque de predicción sometido a derivación, y los respectivos índices de referencia de LX de candidatos de fusión de tiempo se establecen a valores de los índices de referencia de LX de bloques de predicción adyacentes al borde superior de respectivos bloques de predicción sometidos a derivación. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, se hace referencia a un bloque de predicción B0 adyacente a la parte superior, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX de los bloques de predicción B0 y/o B1. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 1, se hace referencia a un bloque de predicción B1 adyacente a la parte superior, y un índice de referencia de LX de un candidato de fusión de tiempo se establece al valor del índice de referencia de LX del bloque de predicción B1. Puesto que ambos bloques de predicción B0 y B1 a los que se hace referencia están fuera del bloque de codificación, puede derivarse en paralelo respectivamente un índice de referencia del candidato de fusión de tiempo de dos bloques de predicción, de los que el índice de partición PartIdx son 0 y 1 respectivamente.
Sin embargo, en caso de que los bloques de predicción A y B en proximidad no realicen predicción LX, un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. La razón por la que el valor por defecto de un índice de referencia de LX de un candidato de fusión de tiempo se establece a 0 en caso de que los bloques de predicción A y B en proximidad no realicen predicción LX es que un fotograma de referencia que corresponde al valor de índice de referencia 0 tiene la posibilidad más alta de que se seleccione en inter predicción. Sin embargo, el ámbito de la presente invención no está limitado a este ejemplo. El valor por defecto del índice de referencia puede establecerse a un valor distinto de 0 (por ejemplo, 1, 2, etc.), o puede proporcionarse un elemento de sintaxis que indica el valor por defecto del índice de referencia en una secuencia de bits a un nivel de secuencia, a un nivel de fotograma o a un nivel de corte, de modo que el elemento de sintaxis puede transmitirse y seleccionarse en codificación.
La Figura 21 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo en la etapa S202 de la Figura 18 de acuerdo con la primera realización ilustrativa de la presente realización. En primer lugar, en caso de que el modo de partición (PartMode) no sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N) (NO en la etapa S2101), es decir, en caso de la partición 2N por 2N (PART_2Nx2N), la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU), la partición 2N por nD (PART_2NxnD), se deriva información de codificación de un bloque de predicción A adyacente a la izquierda a partir de la memoria 115 o 210 de almacenamiento de información de codificación (etapa S2111).
Se realizan procedimientos posteriores de la etapa S2113 a la etapa S2115 para L0 y L1 respectivamente (etapa S2112 - S2116). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
En caso de que una bandera predFlagLX [xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A no sea 0 (S í en la etapa S2113), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor idéntico al índice de valor de referencia refIdxLX[xA] [yA] de LX del bloque de predicción A (etapa S2114). xA y yA son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción A en un fotograma.
De acuerdo con la presente realización, en el bloque de predicción N (N = A, B), en caso de que el bloque de predicción N esté fuera de un corte sometido a codificación y se decodifique y no pueda usarse, en caso de que el bloque de predicción N no se haya codificado puesto que el bloque de predicción N sea posterior al bloque de predicción sometido a codificación o decodificación en el orden de codificación o decodificación de modo que el bloque de predicción N no pueda usarse, o en caso de que el modo de predicción PredMode sea intra predicción (MODO_INTRA), ambas banderas, predFlagLO[xN] [yN] que indica si usar o no predicción L0 y predF1agL1 [xN] [yN] que indica si usar o no predicción L1, son 0. xN y yN son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción N en un fotograma. En caso de que el modo de predicción PredMode del bloque de predicción N sea inter predicción (MODO_INTER) y el modo de inter predicción sea 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. En caso de que el modo de inter predicción del bloque de predicción N sea 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. En caso de que el modo de inter predicción del bloque de predicción N sea bipredicción (Pred_BI), la bandera predFlagL0 [xN] [yN] que indica si usar o no predicción L0 del bloque de predicción N y la bandera predFlagL1 [xN] [yN] que indica si usar o no predicción L1 son ambas 1.
En caso de que una bandera predFlagLX[xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A sea 0 (NO en la etapa S2113), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2115).
Los procedimientos de la etapa S2113 a la etapa S2115 se realizan para L0 y L1 respectivamente (etapa S2112 -S2116), y el procedimiento de derivación de un índice de referencia está completado.
Por otra parte, en caso de que el modo de partición (PartMode) sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N), o la partición nR por 2n (PART_nRx2N) (SÍ en la etapa S2101), la información de codificación de una predicción B adyacente a la parte superior del bloque de predicción sometido a derivación, se deriva a partir de la memoria 115 o 210 de almacenamiento de información de codificación (etapa S2117).
Los procedimientos posteriores de la etapa S2119 a la etapa S2121 se realizan para L0 y L1 respectivamente (etapa S2118 - 82122). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
En caso de que una bandera predFlagLX [xB] [yB] que indica si realizar o no predicción LX de un bloque de predicción B no sea 0 (S í en la etapa S2119), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor idéntico al valor de índice de referencia refIdxLX [xB] [yB] de LX del bloque de predicción B (etapa S2120). xB y yB son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción B en un fotograma.
En caso de que una bandera predFlagLX[xB][yB] que indica si realizar o no predicción LX de un bloque de predicción B sea 0 (NO en la etapa S2119), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2121).
Los procedimientos de la etapa S2119 a la etapa S2121 se realizan para L0 y L1 respectivamente (etapa S2118 -S2122), y el procedimiento de derivación del índice de referencia está completado.
Segunda realización ilustrativa
A continuación, se proporcionará una explicación a continuación sobre una segunda realización ilustrativa de la presente realización, la Figura 22 muestra bloques adyacentes a los que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con la segunda realización ilustrativa de la presente realización. De acuerdo con la segunda realización ilustrativa de la presente realización, de acuerdo con el modo de partición (PartMode) de un bloque de predicción y el índice de partición PartIdx del bloque de predicción, se cambia cuál de los bloques de predicción se usa: un bloque de predicción adyacente al borde izquierdo de un bloque de predicción sometido a derivación; o un bloque de predicción adyacente al borde superior del mismo. Un bloque de predicción adyacente al borde fuera de un bloque de codificación al que se hace referencia. En caso de que un modo de partición (PartMode) sea la partición 2N por 2N (PART_2Nx2N), como se muestra en la Figura 22A, se hace referencia a un bloque de predicción A0 adyacente a la izquierda de un bloque de predicción sometido a derivación, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0.
En caso de que el modo de partición (PartMode) sea la partición 2N por N (PART_2NxN), la partición 2N por nU(PART_2NxnU) o la partición 2N por nD (PART_2NxnD), donde bloque de codificación sometido a procesamiento se subdivide en dos bloques de predicción dispuestos verticalmente, como se muestra en la Figura 22b , 20C y 20D, los bloques de predicción adyacentes al borde izquierdo de respectivos bloques de predicción sometidos a derivación a los que se hace referencia, y los respectivos índices de referencia de LX de candidatos de fusión de tiempo se establecen a valores de los índices de referencia de LX de los bloques de predicción adyacentes al borde izquierdo de respectivos bloques de predicción sometidos a derivación. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, se hace referencia a un bloque de predicción A0 adyacente a la izquierda, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 1, se hace referencia a un bloque de predicción A1 adyacente a la izquierda, y un índice de referencia de LX de un candidato de fusión de tiempo se establece al valor de índice de referencia de LX del bloque de predicción A1. Puesto que ambos bloques de predicción A0 y A1 a los que se hace referencia están fuera del bloque de codificación, puede derivarse en paralelo respectivamente un índice de referencia del candidato de fusión de tiempo de dos bloques de predicción, de los que el índice de partición PartIdx son 0 y 1 respectivamente.
En caso de que un modo de partición (PartMode) sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N), donde se subdivide el bloque de codificación sometido a procesamiento en dos bloques de predicción dispuestos horizontalmente, como se muestra en la Figura 22E, 22F y 22G, un bloque de predicción A0 adyacente a la izquierda al que se hace referencia para un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, los índices de referencia de LX de candidatos de fusión de tiempo se establecen a un valor del índice de referencia de LX del bloque de predicción A0. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 1, se hace referencia a un bloque de predicción B1 adyacente a la parte superior, y un índice de referencia de LX de un candidato de fusión de tiempo se establece al valor del índice de referencia de LX del bloque de predicción B1. Puesto que ambos bloques de predicción A0 y B1 a los que hacer referencia están fuera del bloque de codificación, puede derivarse en paralelo respectivamente un índice de referencia del candidato de fusión de tiempo de dos bloques de predicción de los que el índice de partición PartIdx son 0 y 1 respectivamente.
Sin embargo, en caso de que los bloques de predicción A y B en proximidad no realicen predicción LX, un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. La razón por la que el valor por defecto de un índice de referencia de LX de un candidato de fusión de tiempo se establece a 0 en caso de que los bloques de predicción A y B en proximidad no realicen predicción LX es que un fotograma de referencia que corresponde al valor de índice de referencia 0 tiene la posibilidad más alta de que se seleccione en inter predicción. Sin embargo, el ámbito de la presente invención no está limitado a este ejemplo. El valor por defecto del índice de referencia puede establecerse a un valor distinto de 0 (por ejemplo, 1, 2, etc.), o puede proporcionarse un elemento de sintaxis que indica el valor por defecto del índice de referencia en una secuencia de bits a un nivel de secuencia, a un nivel de fotograma o a un nivel de corte, de modo que el elemento de sintaxis puede transmitirse y seleccionarse en codificación.
La Figura 23 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo en la etapa S202 de la Figura 18 de acuerdo con la segunda realización ilustrativa de la presente realización. En primer lugar, en caso de que el modo de partición (PartMode) no sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N) y el índice de partición PartIdx no sea 1 (NO en la etapa S2102), (es decir, en caso de la partición 2N por 2N (PART_2Nx2N), la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU), la partición 2N por nD (PART_2NxnD), la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N), y el índice de partición PartIdx es 0), se deriva información de codificación de un bloque de predicción A adyacente a la izquierda de un bloque de predicción sometido a derivación a partir de la memoria 115 o 210 de almacenamiento de información de codificación (etapa S2111).
Se realizan procedimientos posteriores de la etapa S2113 a la etapa S2115 para L0 y L1 respectivamente (etapa S2112 - S2116). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
En caso de que una bandera predFlagLX [xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A no sea 0 (SÍ en la etapa S2113), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor idéntico al índice de valor de referencia refIdxLX[xA] [yA] de LX del bloque de predicción A (etapa S2114). xA y yA son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción A en un fotograma.
De acuerdo con la presente realización, en el bloque de predicción N (N = A o B), en caso de que el bloque de predicción N esté fuera de un corte sometido a codificación y se decodifique y no pueda usarse, en caso de que el bloque de predicción N no se haya codificado puesto que el bloque de predicción N sea posterior al bloque de predicción sometido a codificación o decodificación en el orden de codificación o decodificación de modo que el bloque de predicción N no pueda usarse, o en caso de que el modo de predicción PredMode sea intra predicción (MODO_INTRA), ambas banderas, predFlagLO[xN] [yN] que indica si usar o no predicción L0 y predF1agL1 [xN] [yN] que indica si usar o no predicción L1, son 0. xN y yN son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción N en un fotograma. En caso de que el modo de predicción PredMode del bloque de predicción N sea inter predicción (MODO_INTER) y el modo de inter predicción sea 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 predF1agL1 [xN] [yN] que indica si usar o no predicción L1 es 0. En caso de que el modo de inter predicción del bloque de predicción N sea 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 predF1agL1 [xN] [yN] que indica si usar o no predicción L1 es 1. En caso de que el modo de inter predicción del bloque de predicción N sea bipredicción (Pred_BI), la bandera predFlagL0 [xN] [yN] que indica si usar o no predicción L0 del bloque de predicción N y la bandera predFlagL1 [xN] [yN] que indica si usar o no predicción L1 son ambas 1.
En caso de que una bandera predFlagLX[xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A sea 0 (NO en la etapa S2113), un índice de referencia refldxLXCo1 de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2115).
Los procedimientos de la etapa S2113 a la etapa S2115 se realizan para L0 y L1 respectivamente (etapa S2112 -S2116), y el procedimiento de derivación de un índice de referencia está completado.
Por otra parte, en caso de que el modo de partición (PartMode) sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N), o la partición nR por 2N (PART_nRx2N) y el índice de partición Partldx es 1 (SÍ en la etapa S2102), la información de codificación de una predicción B adyacente a la parte superior del bloque de predicción sometido a derivación, se deriva a partir de la memoria 115 o 210 de almacenamiento de información de codificación (etapa S2117).
Se realizan procedimientos posteriores de la etapa S2119 a la etapa S2121 para L0 y L1 respectivamente (etapa S2118 - S2122). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
En caso de que una bandera predFlagLX [xB] [yB] que indica si realizar o no predicción LX de un bloque de predicción B no sea 0 (S í en la etapa S2119), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor idéntico al valor de índice de referencia refIdxLX [xB] [yB] de LX del bloque de predicción B (etapa S2120). xB y yB son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción B en un fotograma.
En caso de que una bandera predFlagLX[xB][yB] que indica si realizar o no predicción LX de un bloque de predicción B sea 0 (NO en la etapa S2119), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2121).
Los procedimientos de la etapa S2119 a la etapa S2121 se realizan para L0 y L1 respectivamente (etapa S2118 -S2122), y el procedimiento de derivación del índice de referencia está completado.
Tercera realización ilustrativa
A continuación, se proporcionará a continuación una explicación sobre una tercera realización ilustrativa de la presente realización. La Figura 24 muestra bloques adyacentes a los que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con la tercera realización ilustrativa de la presente realización. De acuerdo con la tercera realización ilustrativa de la presente realización, de acuerdo con el modo de partición (PartMode) de un bloque de predicción y el índice de partición PartIdx del bloque de predicción, se cambia cuál de los bloques de predicción se usa: un bloque de predicción adyacente al borde izquierdo de un bloque de predicción sometido a derivación; o un bloque de predicción adyacente al borde superior del mismo. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, se hace referencia a un bloque de predicción que es adyacente a un borde largo, que tiene una correlación superior. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 1, se hace referencia a un bloque de predicción que es adyacente a un borde fuera del bloque de predicción. En caso de que un modo de partición (PartMode) sea la partición 2N por 2N (PART_2Nx2N), como se muestra en la Figura 24A, se hace referencia a un bloque de predicción A0 adyacente a la izquierda de un bloque de predicción sometido a derivación, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0.
En caso de que un modo de partición (PartMode) sea la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU) y la partición 2n por nD (PART_2NxnD), donde el bloque de codificación sometido a procesamiento se subdivide en dos bloques de predicción dispuestos verticalmente, como se muestra en la Figura 24B, 24C, y 24D, un bloque de predicción B0 adyacente al borde superior, que es un borde largo, se hace referencia para un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, un índice de referencia de LX del candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción B0. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 1, se hace referencia a un bloque de predicción A1 adyacente al borde izquierdo, que está fuera del bloque de codificación, y un índice de referencia de LX de un candidato de fusión de tiempo se establece al valor de índice de referencia de Lx del bloque de predicción A1. Puesto que ambos bloques de predicción B0 y A1 a los que se hace referencia están fuera del bloque de codificación, puede derivarse en paralelo respectivamente un índice de referencia del candidato de fusión de tiempo de dos bloques de predicción, de los que el índice de partición PartIdx son 0 y 1 respectivamente.
En caso de que un modo de partición (PartMode) sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N), o la partición nR por 2N (PART_nRx2N), donde se subdivide el bloque de codificación sometido a procesamiento en dos bloques de predicción dispuestos horizontalmente, como se muestra en la Figura 24E, 24F y 24G, un bloque de predicción A0 adyacente al borde izquierdo, que es un borde largo, se hace referencia a un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, un índice de referencia de LX del candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 1, se hace referencia a un bloque de predicción B1 adyacente al borde superior, que está fuera del bloque de codificación, y un índice de referencia de LX de un candidato de fusión de tiempo se establece al valor de índice de referencia de LX del bloque de predicción B1. Puesto que ambos bloques de predicción A0 y B1 a los que hacer referencia están fuera del bloque de codificación, puede derivarse en paralelo respectivamente un índice de referencia del candidato de fusión de tiempo de dos bloques de predicción de los que el índice de partición PartIdx son 0 y 1 respectivamente.
Sin embargo, en caso de que los bloques de predicción A y B en proximidad no realicen predicción LX, un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. La razón por la que el valor por defecto de un índice de referencia de LX de un candidato de fusión de tiempo se establece a 0 en caso de que los bloques de predicción A y B en proximidad no realicen predicción LX es que un fotograma de referencia que corresponde al valor de índice de referencia 0 tiene la posibilidad más alta de que se seleccione en inter predicción. Sin embargo, el ámbito de la presente invención no está limitado a este ejemplo. El valor por defecto del índice de referencia puede establecerse a un valor distinto de 0 (por ejemplo, 1, 2, etc.), o puede proporcionarse un elemento de sintaxis que indica el valor por defecto del índice de referencia en una secuencia de bits a un nivel de secuencia, a un nivel de fotograma o a un nivel de corte, de modo que el elemento de sintaxis puede transmitirse y seleccionarse en codificación.
La Figura 25 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo en la etapa S202 de la Figura 18 de acuerdo con la tercera realización ilustrativa de la presente realización. En primer lugar, en caso de que el modo de partición (PartMode) sea la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU), la partición 2N por nD (PART_2NxnD) y el índice de partición PartIdx no sea 0, o en caso de que el modo de partición sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N) y el índice de partición PartIdx no sea 1 (NO en la etapa S2103), en otras palabras, en caso de que el modo de partición sea la partición 2N por 2N (PART_2Nx2N), en caso de que el modo de partición sea la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU), o la partición 2N por nD (PART_2NxnD) y el índice de partición PartIdx sea 0, o en caso de que el modo de partición sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N), o la partición nR por 2N (PART_nRx2N) y el índice de partición PartIdx sea 0, se deriva la información de codificación de un bloque de predicción A adyacente a la izquierda de un bloque de predicción sometido a derivación a partir de la memoria 115 o 210 de almacenamiento de información de codificación (etapa S2111).
Se realizan procedimientos posteriores de la etapa S2113 a la etapa S2115 para L0 y L1 respectivamente (etapa S2112 - S2116). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
En caso de que una bandera predFlagLX [xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A no sea 0 (S í en la etapa S2113), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor idéntico al índice de valor de referencia refIdxLX[xA] [yA] de LX del bloque de predicción A (etapa S2114). xA y yA son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción A en un fotograma.
De acuerdo con la presente realización, en el bloque de predicción N (N = A o B), en caso de que el bloque de predicción N esté fuera de un corte sometido a codificación y se decodifique y no pueda usarse, en caso de que el bloque de predicción N no se haya codificado puesto que el bloque de predicción N sea posterior al bloque de predicción sometido a codificación o decodificación en el orden de codificación o decodificación de modo que el bloque de predicción N no pueda usarse, o en caso de que el modo de predicción PredMode sea intra predicción (MODO_INTRA), ambas banderas, predFlagLO[xN] [yN] que indica si usar o no predicción L0 y predFlagL1 [xN] [yN] que indica si usar o no predicción L1, son 0. xN y yN son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción N en un fotograma. En caso de que el modo de predicción PredMode del bloque de predicción N sea inter predicción (MODO_INTER) y el modo de inter predicción sea predicción L0 (Pred_L0), la bandera predFlagLO[xN] [yN] que indica si usar o no predicción L0 del bloque de predicción N es 1, y la bandera predFlagLI [xN] [yN] que indica si usar o no predicción L1 es 0. En caso de que el modo de inter predicción del bloque de predicción N sea la predicción L1 (Pred_L1), la bandera predFlagLO[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. En caso de que el modo de inter predicción del bloque de predicción N sea bipredicción (Pred_BI), la bandera predFlagLO[xN] [yN] que indica si usar o no predicción L0 del bloque de predicción N y la bandera predFlagL1 [xN] [yN] que indica si usar o no predicción L1 son ambas 1.
En caso de que una bandera predFlagLX[xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A sea 0 (NO en la etapa S2113), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2115).
Los procedimientos de la etapa S2113 a la etapa S2115 se realizan para L0 y L1 respectivamente (etapa S2112 -S2116), y el procedimiento de derivación de un índice de referencia está completado.
Por otra parte, en caso de que el modo de partición (PartMode) sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N), o la partición nR por 2N (PART_nRx2N) y el índice de partición PartIdx es 1 (SÍ en la etapa S2102), la información de codificación de una predicción B adyacente a la parte superior del bloque de predicción sometido a derivación, se deriva a partir de la memoria 115 o 210 de almacenamiento de información de codificación (etapa S2117).
Se realizan procedimientos posteriores de la etapa S2119 a la etapa S2121 para L0 y L1 respectivamente (etapa S2118 - S2122). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
En caso de que una bandera predFlagLX [xB] [yB] que indica si realizar o no predicción LX de un bloque de predicción B no sea 0 (S í en la etapa S2119), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor idéntico al valor de índice de referencia refIdxLX [xB] [yB] de LX del bloque de predicción B (etapa S2120). xB y yB son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción B en un fotograma.
En caso de que una bandera predFlagLX[xB][yB] que indica si realizar o no predicción LX de un bloque de predicción B sea 0 (NO en la etapa S2119), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2121).
Los procedimientos de la etapa S2119 a la etapa S2121 se realizan para L0 y L1 respectivamente (etapa S2118 -S2122), y el procedimiento de derivación del índice de referencia está completado.
Cuarta realización ilustrativa
A continuación, se proporcionará a continuación una explicación sobre una cuarta realización ilustrativa de la presente realización. La Figura 26 muestra bloques adyacentes a los que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con la cuarta realización ilustrativa de la presente realización. De acuerdo con la cuarta realización ilustrativa de la presente realización, de acuerdo con el modo de partición (PartMode) de un bloque de codificación y el índice de partición PartIdx del bloque de predicción, se cambia si hacer referencia o no a un bloque de predicción adyacente al borde izquierdo de un bloque de predicción sometido a derivación. En caso de que un bloque de predicción adyacente al borde izquierdo esté fuera del bloque de codificación, se hace referencia al bloque de predicción y en caso de que el bloque de predicción adyacente al borde izquierdo esté dentro del bloque de codificación, no se hace referencia al bloque de predicción y se establece un valor por defecto. En caso de que un modo de partición (PartMode) sea la partición 2N por 2N (PART_2Nx2N), como se muestra en la Figura 26A, se hace referencia a un bloque de predicción A0 adyacente a la izquierda de un bloque de predicción sometido a derivación, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0.
En caso de que un modo de partición (PartMode) sea la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU) y la partición 2n por nD (PART_2NxnD), donde el bloque de codificación sometido a procesamiento se subdivide en dos bloques de predicción dispuestos verticalmente, como se muestra en la Figura 26B, 26C, y 26D, se hace referencia a un bloque de predicción A0 adyacente a la izquierda para un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, un índice de referencia de LX del candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 1, se hace referencia a un bloque de predicción A1 adyacente a la izquierda, y un índice de referencia de LX de un candidato de fusión de tiempo se establece al valor de índice de referencia de LX del bloque de predicción A1. Puesto que ambos bloques de predicción A0 y A1 a los que se hace referencia están fuera del bloque de codificación, puede derivarse en paralelo respectivamente un índice de referencia del candidato de fusión de tiempo de dos bloques de predicción, de los que el índice de partición PartIdx son 0 y 1 respectivamente.
En caso de que un modo de partición (PartMode) sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N), donde se subdivide el bloque de codificación sometido a procesamiento en dos bloques de predicción dispuestos horizontalmente, como se muestra en la Figura 26E, 26F y 26G, un bloque de predicción A0 adyacente a la izquierda al que se hace referencia para un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, los índices de referencia de LX de candidatos de fusión de tiempo se establecen a un valor del índice de referencia de LX del bloque de predicción A0. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx sea 1, no se hace referencia a un bloque de predicción en proximidad, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. Puesto que un bloque de predicción A0 al que se hace referencia está fuera del bloque de codificación, puede derivarse en paralelo respectivamente un índice de referencia de candidato de fusión de tiempo de dos bloques de predicción de los que el índice de partición PartIdx son 0 y 1 respectivamente.
Sin embargo, en caso de que unos bloques de predicción A no realicen predicción LX, un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. La razón por la que el valor por defecto de un índice de referencia de LX de un candidato de fusión de tiempo se establece a 0 en caso de que un bloque de predicción A en proximidad no realice predicción LX o en caso de que un índice de partición PartIdx de un bloque de predicción sometido a derivación sea 1 es que un fotograma de referencia que corresponde al valor de índice de referencia 0 tiene la posibilidad más alta de que se seleccione en inter predicción. Sin embargo, el ámbito de la presente invención no está limitado a este ejemplo. El valor por defecto del índice de referencia puede establecerse a un valor distinto de 0 (por ejemplo, 1, 2, etc.), o puede proporcionarse un elemento de sintaxis que indica el valor por defecto del índice de referencia en una secuencia de bits a un nivel de secuencia, a un nivel de fotograma o a un nivel de corte, de modo que el elemento de sintaxis puede transmitirse y seleccionarse en codificación.
La Figura 27 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo en la etapa S202 de la Figura 18 de acuerdo con la cuarta realización ilustrativa de la presente realización. En primer lugar, en caso de que el modo de partición (PartMode) no sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N) y el índice de partición PartIdx no sea 1 (NO en la etapa S2102), (es decir, en caso de la partición 2N por 2N (PART_2Nx2N), la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU), la partición 2N por nD (PART_2NxnD), la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N), y el índice de partición PartIdx es 0), se deriva información de codificación de un bloque de predicción A adyacente a la izquierda de un bloque de predicción sometido a derivación a partir de la memoria 115 o 210 de almacenamiento de información de codificación (etapa S2111).
Se realizan procedimientos posteriores de la etapa S2113 a la etapa S2115 para L0 y L1 respectivamente (etapa S2112 - S2116). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
En caso de que una bandera predFlagLX [xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A no sea 0 (S í en la etapa S2113), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor idéntico al índice de valor de referencia refIdxLX[xA] [yA] de LX del bloque de predicción A (etapa S2114). xA y yA son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción A en un fotograma.
De acuerdo con la presente realización, en el bloque de predicción N (N = A o B), en caso de que el bloque de predicción N esté fuera de un corte sometido a codificación y se decodifique y no pueda usarse, en caso de que el bloque de predicción N no se haya codificado puesto que el bloque de predicción N sea posterior al bloque de predicción sometido a codificación o decodificación en el orden de codificación o decodificación de modo que el bloque de predicción N no pueda usarse, o en caso de que el modo de predicción PredMode sea intra predicción (MODO_INTRA), ambas banderas, predFlagL0 [xN] [yN] que indica si usar o no predicción L0 y predFlagL1 [xN] [yN] que indica si usar o no predicción L1, son 0. xN y yN son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción N en un fotograma. En caso de que el modo de predicción PredMode del bloque de predicción N sea inter predicción (MODO_INTER) y el modo de inter predicción sea predicción L0 (Pred_L0), la bandera predFlagLO[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. En caso de que el modo de inter predicción del bloque de predicción N sea 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. En caso de que el modo de inter predicción del bloque de predicción N sea bipredicción (Pred_BI), la bandera predFlagL0 [xN] [yN] que indica si usar o no predicción L0 del bloque de predicción N y la bandera predFlagL1 [xN] [yN] que indica si usar o no predicción L1 son ambas 1.
En caso de que una bandera predFlagLX[xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A sea 0 (NO en la etapa S2113), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2115).
Los procedimientos de la etapa S2113 a la etapa S2115 se realizan para L0 y L1 respectivamente (etapa S2112 -S2116), y el procedimiento de derivación de un índice de referencia está completado.
Por otra parte, en caso de que el modo de partición (PartMode) sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N) y el índice de partición PartIdx sea 1 (SÍ en la etapa S2102), se realiza el procedimiento siguiente de la etapa S2121 para cada L0 y L1 (etapa S2118 - S2122). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
Un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2121).
Se realizan los procedimientos hasta S2121 para L0 y L1 respectivamente (etapa S2118 - S2122), y el procedimiento de derivación del índice de referencia está completado.
Quinta realización ilustrativa
A continuación, se proporcionará a continuación una explicación sobre una quinta realización ilustrativa de la presente realización. La Figura 28 muestra bloques adyacentes a los que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con la quinta realización ilustrativa de la presente realización. De acuerdo con la quinta realización ilustrativa de la presente realización, de acuerdo con el modo de partición (PartMode), se cambia si hacer referencia o no a un bloque de predicción adyacente al borde izquierdo de un bloque de predicción sometido a derivación. Un bloque de predicción adyacente al borde fuera de un bloque de codificación al que se hace referencia. En caso de que un bloque de predicción adyacente al borde izquierdo esté fuera del bloque de codificación, se hace referencia al bloque de predicción y en caso de que el bloque de predicción adyacente al borde izquierdo esté dentro del bloque de codificación, no se hace referencia al bloque de predicción y se establece un valor por defecto. En caso de que un modo de partición (PartMode) sea la partición 2N por 2N (PART_2Nx2N), como se muestra en la Figura 28A, se hace referencia a un bloque de predicción A0 adyacente a la izquierda de un bloque de predicción sometido a derivación, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0.
En caso de que un modo de partición (PartMode) sea la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU) y la partición 2n por nD (PART_2NxnD), donde el bloque de codificación sometido a procesamiento se subdivide en dos bloques de predicción dispuestos verticalmente, como se muestra en la Figura 28B, 28C, y 28D, se hace referencia a un bloque de predicción A0 adyacente a la izquierda para un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, un índice de referencia de LX del candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 1, se hace referencia a un bloque de predicción A1 adyacente a la izquierda, y un índice de referencia de LX de un candidato de fusión de tiempo se establece al valor de índice de referencia de LX del bloque de predicción A1. Puesto que ambos bloques de predicción A0 y A1 a los que se hace referencia están fuera del bloque de codificación, puede derivarse en paralelo respectivamente un índice de referencia del candidato de fusión de tiempo de dos bloques de predicción, de los que el índice de partición PartIdx son 0 y 1 respectivamente.
En caso de que un modo de partición (PartMode) sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N), donde se subdivide bloque de codificación sometido a procesamiento en dos bloques de predicción dispuestos horizontalmente, en ambos casos de un bloque de predicción del que el índice de partición PartIdx es 0 o 1, no se hace referencia a un bloque de predicción en proximidad, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. Puesto que no se hace referencia a un bloque de predicción en proximidad de un bloque de predicción sometido a procesamiento, no se hace referencia a un bloque de predicción en el bloque de codificación, por lo tanto, puede derivarse en paralelo respectivamente un índice de referencia de candidato de fusión de tiempo de dos bloques de predicción de los que el índice de partición PartIdx son 0 y 1 respectivamente.
Sin embargo, en caso de que unos bloques de predicción A no realicen predicción LX, un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. La razón por la que el valor por defecto de un índice de referencia de LX de un candidato de fusión de tiempo se establece a 0 en caso de que un bloque de predicción A en proximidad no realice predicción LX o en caso de que el modo de partición (PartMode) de un bloque de codificación que incluye un bloque de predicción sometido a derivación sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N es que un fotograma de referencia que corresponde al valor de índice de referencia 0 tiene la posibilidad más alta de que se seleccione en inter predicción. Sin embargo, el ámbito de la presente invención no está limitado a este ejemplo. El valor por defecto del índice de referencia puede establecerse a un valor distinto de 0 (por ejemplo, 1, 2, etc.), o puede proporcionarse un elemento de sintaxis que indica el valor por defecto del índice de referencia en una secuencia de bits a un nivel de secuencia, a un nivel de fotograma o a un nivel de corte, de modo que el elemento de sintaxis puede transmitirse y seleccionarse en codificación.
La Figura 29 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo en la etapa S202 de la Figura 18 de acuerdo con la quinta realización ilustrativa de la presente realización. En primer lugar, en caso de que el modo de partición (PartMode) no sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N) (NO en la etapa S2101), es decir, en caso de la partición 2N por 2N (PART_2Nx2N), la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU), la partición 2N por nD (PART_2NxnD), se deriva información de codificación de un bloque de predicción A adyacente a la izquierda de un bloque de predicción sometido a derivación a partir de la memoria 115 o 210 de almacenamiento de información de codificación (etapa S2111).
Se realizan procedimientos posteriores de la etapa S2113 a la etapa S2115 para L0 y L1 respectivamente (etapa S2112 - S2116). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
En caso de que una bandera predFlagLX [xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A no sea 0 (S í en la etapa S2113), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor idéntico al índice de valor de referencia refIdxLX[xA] [yA] de LX del bloque de predicción A (etapa S2114). xA y yA son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción A en un fotograma.
De acuerdo con la presente realización, en el bloque de predicción N (N = A o B), en caso de que el bloque de predicción N esté fuera de un corte sometido a codificación y se decodifique y no pueda usarse, en caso de que el bloque de predicción N no se haya codificado puesto que el bloque de predicción N sea posterior al bloque de predicción sometido a codificación o decodificación en el orden de codificación o decodificación de modo que el bloque de predicción N no pueda usarse, o en caso de que el modo de predicción PredMode sea intra predicción (MODO_INTRA), ambas banderas, predFlagL0 [xN] [yN] que indica si usar o no predicción L0 y predFlagL1 [xN] [yN] que indica si usar o no predicción L1, son 0. xN y yN son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción N en un fotograma. En caso de que el modo de predicción PredMode del bloque de predicción N sea inter predicción (MODO_INTER) y el modo de inter predicción sea predicción L0 (Pred_L0), la bandera predFlagLO[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. En caso de que el modo de inter predicción del bloque de predicción N sea la predicción L1 (Pred_L1), la bandera predFlagLO[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. En caso de que el modo de inter predicción del bloque de predicción N sea bipredicción (Pred_BI), la bandera predFlagLO[xN] [yN] que indica si usar o no predicción L0 del bloque de predicción N y la bandera predFlagL1 [xN] [yN] que indica si usar o no predicción L1 son ambas 1.
En caso de que una bandera predFlagLX[xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A sea 0 (NO en la etapa S2113), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2115).
Los procedimientos de la etapa S2113 a la etapa S2115 se realizan para L0 y L1 respectivamente (etapa S2112 -S2116), y el procedimiento de derivación de un índice de referencia está completado.
Por otra parte, en caso de que el modo de partición (PartMode) sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N) (SÍ en la etapa S2101), se realiza el procedimiento siguiente de la etapa S2121 para cada L0 y L1 (etapa S2118 - S2122). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
Un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2121).
Se realizan los procedimientos hasta S2121 para L0 y L1 respectivamente (etapa S2118 - S2122), y el procedimiento de derivación del índice de referencia está completado.
Sexta realización ilustrativa
A continuación, se proporcionará a continuación una explicación sobre una sexta realización ilustrativa de la presente realización. De acuerdo con la sexta realización ilustrativa de la presente realización, independientemente de un modo de partición (PartMode) de un bloque de codificación que incluye el modo de predicción sometido a derivación (bloque de codificación sometido a procesamiento), y un valor de índice de partición PartIdx de un modo de predicción sometido a derivación, no se hace referencia al bloque de predicción y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. Puesto que no se hace referencia a un bloque de predicción en proximidad de un bloque de predicción sometido a procesamiento, no se hace referencia a un bloque de predicción en el bloque de codificación, por lo tanto, pueden derivarse en paralelo respectivamente los candidatos de fusión de tiempo de dos bloques de predicción que están incluidos en un mismo bloque de codificación y de los que el índice de partición PartIdx son 0 y 1 respectivamente.
La razón por la que el valor por defecto de un índice de referencia de LX de un candidato de fusión de tiempo se establece a 0 es que un fotograma de referencia que corresponde al valor de índice de referencia 0 tiene la posibilidad más alta de que se seleccione en inter predicción. Sin embargo, el ámbito de la presente invención no está limitado a este ejemplo. El valor por defecto del índice de referencia puede establecerse a un valor distinto de 0 (por ejemplo, 1, 2, etc.), o puede proporcionarse un elemento de sintaxis que indica el valor por defecto del índice de referencia en una secuencia de bits a un nivel de secuencia, a un nivel de fotograma o a un nivel de corte, de modo que el elemento de sintaxis puede transmitirse y seleccionarse en codificación.
Además, de acuerdo con la sexta realización ilustrativa, un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 sin hacer referencia a un bloque en proximidad. Por lo tanto, puede simplificarse el procedimiento de derivación en comparación con la primera, segunda, tercera, cuarta, quinta y séptima (descrita más adelante) realizaciones.
La Figura 30 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo en la etapa S202 de la Figura 18 de acuerdo con la sexta realización ilustrativa de la presente realización.
Un procedimiento de la etapa S2115 se realiza para L0 y L1 respectivamente (etapa S2112 - S2116). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
Un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2115).
Un procedimiento de la etapa S2115 se realiza para L0 y L1 respectivamente (etapa S2112 - S2116), y el procedimiento de derivación de un índice de referencia está completado.
Séptima realización ilustrativa
A continuación, se proporcionará a continuación una explicación sobre una séptima realización ilustrativa de la presente realización. La Figura 31 muestra bloques adyacentes a los que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con la séptima realización ilustrativa de la presente realización. De acuerdo con la séptima realización ilustrativa de la presente realización, independientemente de un modo de partición (PartMode) de un bloque de codificación que incluye un modo de predicción sometido a derivación (bloque de codificación sometido a procesamiento), y un valor de índice de partición PartIdx de un modo de predicción sometido a derivación, se hace referencia al bloque de predicción A adyacente a la izquierda de un bloque de codificación sometido a procesamiento como se muestra en las Figuras 31A-31G, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor de un índice de referencia de LX del bloque de predicción A. Puesto que un bloque de predicción A al que se hace referencia está fuera del bloque de codificación, puede derivarse en paralelo respectivamente un índice de referencia de candidato de fusión de tiempo de dos bloques de predicción de los que el índice de partición PartIdx son 0 y 1 respectivamente.
Sin embargo, en caso de que unos bloques de predicción A no realicen predicción LX, un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. La razón por la que el valor por defecto de un índice de referencia de LX de un candidato de fusión de tiempo se establece a 0 en caso de que el bloque de predicción A en proximidad no realice predicción LX es que un fotograma de referencia que corresponde al valor de índice de referencia 0 tiene la posibilidad más alta de que se seleccione en inter predicción. Sin embargo, el ámbito de la presente invención no está limitado a este ejemplo. El valor por defecto del índice de referencia puede establecerse a un valor distinto de 0 (por ejemplo, 1, 2, etc.), o puede proporcionarse un elemento de sintaxis que indica el valor por defecto del índice de referencia en una secuencia de bits a un nivel de secuencia, a un nivel de fotograma o a un nivel de corte, de modo que el elemento de sintaxis puede transmitirse y seleccionarse en codificación.
De acuerdo con la sexta realización ilustrativa, los índices de referencia de candidatos de fusión de tiempo de respectivos bloques de predicción en el bloque de codificación se establecen a un valor común. Por lo tanto, no se requiere derivar un índice de referencia de candidato de fusión de tiempo para cada bloque de predicción, de modo que puede simplificarse el procedimiento de derivación.
La Figura 32 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo en la etapa S202 de la Figura 18 de acuerdo con la séptima realización ilustrativa de la presente realización. En primer lugar, se deriva información de codificación sobre un bloque de predicción A adyacente a la izquierda de un bloque de codificación sometido a procesamiento a partir de la memoria 115 o 210 de almacenamiento de información de codificación (etapa S2131).
Los procedimientos posteriores de la etapa S2133 a la etapa S2135 se realizan para L0 y L1 respectivamente (etapa S2132 - 82136). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
En caso de que una bandera predFlagLX[xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A, que es adyacente a la izquierda de un bloque de codificación sometido a procesamiento, no sea 0 (SÍ en la etapa S2133), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor idéntico al valor de índice de referencia refIdxLX[xA] [yA] de LX del bloque de predicción A (etapa S2134). xA y yA son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción A, que es adyacente a la izquierda de un bloque de codificación sometido a procesamiento, en un fotograma.
De acuerdo con la presente realización, en el bloque de predicción N (N = A o B), en caso de que el bloque de predicción N esté fuera de un corte sometido a codificación y se decodifique y no pueda usarse, en caso de que el bloque de predicción N no se haya codificado puesto que el bloque de predicción N sea posterior al bloque de predicción sometido a codificación o decodificación en el orden de codificación o decodificación de modo que el bloque de predicción N no pueda usarse, o en caso de que el modo de predicción PredMode sea intra predicción (MODO_INTRA), ambas banderas, predFlagL0 [xN] [yN] que indica si usar o no predicción L0 y predFlagL1 [xN] [yN] que indica si usar o no predicción L1, son 0. xN y yN son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción N en un fotograma. En caso de que el modo de predicción PredMode del bloque de predicción N sea inter predicción (MODO_INTER) y el modo de inter predicción sea 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. En caso de que el modo de inter predicción del bloque de predicción N sea 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. En caso de que el modo de inter predicción del bloque de predicción N sea bipredicción (Pred_BI), la bandera predFlagLO[xN] [yN] que indica si usar o no predicción L0 del bloque de predicción N y la bandera predFlagL1 [xN] [yN] que indica si usar o no predicción L1 son ambas 1.
En caso de que una bandera predFlagLX[xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A sea 0 (NO en la etapa S2133), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2135).
Los procedimientos de la etapa S2133 a la etapa S2135 se realizan para L0 y L1 respectivamente (etapa S2132 -S2136), y el procedimiento de derivación de un índice de referencia está completado.
Aunque se cambia si hacer o no referencia a un bloque de predicción adyacente al borde izquierdo de un bloque de codificación que incluye un bloque de predicción sometido a derivación de acuerdo con la séptima realización ilustrativa, en lugar del bloque de predicción adyacente al borde izquierdo, puede cambiarse si hacer referencia o no a un bloque de predicción adyacente al borde superior.
Octava realización ilustrativa
A continuación, se proporcionará a continuación una explicación sobre una octava realización ilustrativa de la presente realización. La Figura 43 muestra bloques adyacentes a los que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de acuerdo con la octava realización ilustrativa de la presente realización. De acuerdo con la octava realización ilustrativa de la presente realización, independientemente del modo de partición (PartMode) de un bloque de codificación, y de acuerdo con el índice de partición PartIdx de un bloque de predicción, se cambia si se hace referencia o no a un bloque de predicción adyacente al borde izquierdo de un bloque de predicción sometido a derivación. En caso de que el índice de partición PartIdx de un bloque de predicción sea 0, se hace referencia a un bloque de predicción adyacente al borde izquierdo, y en caso de que el índice de partición PartIdx sea un valor distinto de 0, no se hace referencia a un bloque de predicción en proximidad, y se establece un valor por defecto. En caso de que el índice de partición PartIdx de un bloque de predicción sea 0, un bloque de predicción adyacente al borde izquierdo está siempre fuera del bloque de codificación en cualquier modo de partición (PartMode). Sin embargo, en caso de que el índice de partición PartIdx sea un valor distinto de 0, un bloque de predicción adyacente al borde izquierdo puede estar dentro del bloque de codificación dependiendo del modo de partición (PartMode). Como se muestra en la Figura 43A, se hace referencia a un bloque de predicción A0 adyacente a la izquierda de un bloque de predicción sometido a derivación, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0.
En caso de que un modo de partición (PartMode) sea la partición 2N por N (PART_2NxN), la partición 2N por nU (PART_2NxnU) y la partición 2N por nD (PART_2NxnD), donde se subdivide el bloque de codificación sometido a procesamiento en dos bloques de predicción dispuestos verticalmente, o en caso de que un modo de partición (PartMode) sea la partición N por 2N (PART_Nx2N), la partición nL por 2N (PART_nLx2N) o la partición nR por 2N (PART_nRx2N), como se muestra en la Figura 43B, 43C, 43D, 43E, 43F y 43G, se hace referencia a un bloque de predicción A0 adyacente a la izquierda para un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, y un índice de referencia de LX del candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx sea 1, no se hace referencia a un bloque de predicción en proximidad, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. Puesto que un bloque de predicción A0 al que se hace referencia está fuera del bloque de codificación, puede derivarse en paralelo respectivamente un índice de referencia de candidato de fusión de tiempo de dos bloques de predicción de los que el índice de partición PartIdx son 0 y 1 respectivamente.
Sin embargo, en caso de que unos bloques de predicción A no realicen predicción LX, un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. La razón por la que el valor por defecto de un índice de referencia de LX de un candidato de fusión de tiempo se establece a 0 en caso de que un bloque de predicción A en proximidad no realice predicción LX o en caso de que un índice de partición PartIdx de un bloque de predicción sometido a derivación sea 1 es que un fotograma de referencia que corresponde al valor de índice de referencia 0 tiene la posibilidad más alta de que se seleccione en inter predicción. Sin embargo, el ámbito de la presente invención no está limitado a este ejemplo. El valor por defecto del índice de referencia puede establecerse a un valor distinto de 0 (por ejemplo, 1, 2, etc.), o puede proporcionarse un elemento de sintaxis que indica el valor por defecto del índice de referencia en una secuencia de bits a un nivel de secuencia, a un nivel de fotograma o a un nivel de corte, de modo que el elemento de sintaxis puede transmitirse y seleccionarse en codificación.
La Figura 44 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo en la etapa S202 de la Figura 18 de acuerdo con la octava realización ilustrativa de la presente realización. En primer lugar, en caso de que el índice de partición PartIdx sea 0 (SÍ en la etapa S2104), se deriva información de codificación sobre un bloque de predicción A adyacente a la izquierda de un bloque de predicción sometido a derivación a partir de la memoria 115 o 210 de almacenamiento de información de codificación (etapa S2111).
Se realizan procedimientos posteriores de la etapa S2113 a la etapa S2115 para L0 y L1 respectivamente (etapa S2112 - S2116). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
En caso de que una bandera predFlagLX [xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A no sea 0 (S í en la etapa S2113), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor idéntico al índice de valor de referencia refIdxLX[xA] [yA] de LX del bloque de predicción A (etapa S2114). xA y yA son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción A en un fotograma.
De acuerdo con la presente realización, en el bloque de predicción N (N = A o B), en caso de que el bloque de predicción N esté fuera de un corte sometido a codificación y se decodifique y no pueda usarse, en caso de que el bloque de predicción N no se haya codificado puesto que el bloque de predicción N sea posterior al bloque de predicción sometido a codificación o decodificación en el orden de codificación o decodificación de modo que el bloque de predicción N no pueda usarse, o en caso de que el modo de predicción PredMode sea intra predicción (MODO_INTRA), ambas banderas, predFlagL0 [xN] [yN] que indica si usar o no predicción L0 y predFlagL1 [xN] [yN] que indica si usar o no predicción L1, son 0. xN y yN son índices que indican la posición de un píxel izquierdo superior en un bloque de predicción N en un fotograma. En caso de que el modo de predicción PredMode del bloque de predicción N sea inter predicción (MODO_INTER) y el modo de inter predicción sea predicción L0 (Pred_L0), la bandera predFlagLO[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. En caso de que el modo de inter predicción del bloque de predicción N sea 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. En caso de que el modo de inter predicción del bloque de predicción N sea bipredicción (Pred_BI), la bandera predFlagLO[xN] [yN] que indica si usar o no predicción L0 del bloque de predicción N y la bandera predFlagL1 [xN] [yN] que indica si usar o no predicción L1 son ambas 1.
En caso de que una bandera predFlagLX[xA] [yA] que indica si realizar o no predicción LX de un bloque de predicción A sea 0 (NO en la etapa S2113), un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2115).
Los procedimientos de la etapa S2113 a la etapa S2115 se realizan para L0 y L1 respectivamente (etapa S2112 S2116), y el procedimiento de derivación de un índice de referencia está completado.
Por otra parte, en caso de que el índice de partición PartIdx no sea 0 (NO en la etapa S2104), se realiza el procedimiento siguiente de la etapa S2121 para cada L0 y L1 (etapa S2118 - S2122). En caso de derivar un índice de referencia de L0 de un candidato de fusión de tiempo, LX se establece a L0, y en caso de derivar un índice de referencia de L1, LX se establece a L1. Sin embargo, en caso de que el tipo de corte slice_type sea un corte P, un modo de inter predicción únicamente incluye predicción L0 (Pred_L0) y no incluye predicción L1 (Pred_L1) ni bipredicción (Pred_BI). Por lo tanto, puede omitirse un procedimiento con respecto a L1.
Un índice de referencia refIdxLXCol de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0 (etapa S2121).
Se realizan los procedimientos hasta S2121 para L0 y L1 respectivamente (etapa S2118 - S2122), y el procedimiento de derivación del índice de referencia está completado.
Aunque se cambia si hacer o no referencia a un bloque de predicción adyacente al borde izquierdo de un bloque de predicción sometido a derivación de acuerdo con la octava realización ilustrativa, en lugar del bloque de predicción adyacente al borde izquierdo, puede cambiarse si hacer referencia o no a un bloque de predicción adyacente al borde superior.
Aunque se supone que partición N por N (PART_NxN) no se define como un modo de partición (PartMode) de un bloque de codificación de acuerdo con la presente realización, también es posible definir la partición N por N (PART_NxN). También en caso de que un modo de partición (PartMode) sea la partición N por N (PART_NxN), cuando se deriva un índice de referencia de un candidato de fusión de tiempo de un bloque de predicción incluido en un bloque de codificación sometido a procesamiento, derivando el índice de referencia sin hacer referencia a un bloque de predicción en proximidad, que está incluido en un bloque de codificación idéntico a un bloque de codificación incluido en un bloque de predicción sometido a procesamiento, pueden derivarse en paralelo respectivamente los índices de referencia de candidatos de fusión de tiempo de cuatro bloques de predicción, de los que los índices de partición PartIdx es 0, 1, 2 y 3, respectivamente.
Por ejemplo, en caso de la partición N por N (PART_NxN), no se hace referencia a un bloque de predicción en proximidad, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. Puesto que no se hace referencia a un bloque de predicción en proximidad de un bloque de predicción sometido a derivación, pueden derivarse en paralelo respectivamente los índices de referencia de candidatos de fusión de tiempo de cuatro bloques de predicción de los que los índices de partición PartIdx es 0, 1, 2 y 3, respectivamente.
Como alternativa, puede hacerse referencia a un índice de referencia de un bloque en proximidad de modo que puede derivarse un índice de referencia de un candidato de fusión de tiempo. La Figura 33 ilustra bloques adyacentes a los que se hace referencia en el procedimiento de derivación de un índice de referencia de un candidato de fusión de tiempo de un bloque de codificación de partición N por N (PART_NxN).
Como se muestra en la Figura 33A, en caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, un bloque de predicción A0 adyacente a la izquierda a la que se hace referencia, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 1, se hace referencia a un bloque de predicción B1 adyacente a la parte superior, y un índice de referencia de LX de un candidato de fusión de tiempo se establece al valor del índice de referencia de Lx del bloque de predicción B1. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 2, se hace referencia a un bloque de predicción A2 adyacente a la izquierda, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A2. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx sea 3, no se hace referencia a un bloque de predicción en proximidad, y un índice de referencia de Lx de un candidato de fusión de tiempo se establece a un valor por defecto 0. Puesto que los bloques de predicción A0 y A2, adyacentes a la izquierda de un bloque de predicción sometido a procesamiento, y B1, adyacente a la parte superior de los mismos, están todos fuera del bloque de codificación, pueden derivarse en paralelo respectivamente los índices de referencia de candidatos de fusión de tiempo de cuatro bloques de predicción de los que los índices de partición PartIdx es 0, 1,2 y 3 respectivamente.
Como alternativa, como se muestra en la Figura 33B, en caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, un bloque de predicción A0 adyacente a la izquierda a la que se hace referencia, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 2, se hace referencia a un bloque de predicción A2 adyacente a la izquierda, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A2. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx sea 1 o 3, no se hace referencia a un bloque de predicción en proximidad, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. Puesto que ambos bloques de predicción A0 y A2 adyacentes a la izquierda de un bloque de predicción sometido a procesamiento están fuera del bloque de codificación, pueden derivarse en paralelo respectivamente los índices de referencia de candidatos de fusión de tiempo de cuatro bloques de predicción de los que los índices de partición PartIdx son 0, 1, 2 y 3.
Como alternativa, como se muestra en la Figura 33C, se hace referencia a un bloque de predicción A adyacente a la izquierda de un bloque de codificación sometido a procesamiento, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A. Puesto que un bloque de predicción A adyacente a la izquierda de un bloque de codificación sometido a procesamiento está fuera del bloque de codificación, pueden derivarse en paralelo respectivamente los índices de referencia de candidatos de fusión de tiempo de cuatro bloques de predicción de los que los índices de partición PartIdx son 0, 1, 2 y 3.
Como alternativa, como se muestra en la Figura 33D, en caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es 0, se hace referencia a un bloque de predicción AO adyacente a la izquierda, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor del índice de referencia de LX del bloque de predicción A0. En caso de un bloque de predicción sometido a derivación del que el índice de partición PartIdx es distinto de 0 (PartIdx es 1, 2, o 3), no se hace referencia a un bloque de predicción en proximidad, y un índice de referencia de LX de un candidato de fusión de tiempo se establece a un valor por defecto 0. Puesto que un bloque de predicción A0 adyacente a la izquierda de un bloque de predicción sometido a procesamiento está fuera del bloque de codificación, pueden derivarse en paralelo respectivamente los índices de referencia de candidatos de fusión de tiempo de cuatro bloques de predicción de los que el índice de partición PartIdx son 0, 1, 2 y 3.
A continuación, se proporcionará una explicación detallada sobre un procedimiento para derivar un candidato de fusión usando información de inter predicción en un fotograma de un tiempo diferente de la etapa S203 de la Figura 18. La Figura 34 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación del candidato de fusión temporal de la etapa S203 en la Figura 18.
En primer lugar, se deriva un fotograma colPic de un tiempo diferente por un tipo de corte slice_type y una bandera collocated_from_10_flag anteriormente descrita (etapa S3101).
La Figura 35 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un fotograma colPic de un tiempo diferente de la etapa S3101 en la Figura 34. En caso de que un tipo de corte slice_type sea un corte B y una bandera collocated_from_10_flag anteriormente descrita sea 0 (SÍ en la etapa S3201 y SÍ en la etapa S3202), RefPicList1[0] (es decir, un fotograma del que el índice de referencia de la lista de referencias L1 es 0) se define como un fotograma colPic de un tiempo diferente (etapa S3203). De otra manera, es decir, en caso de que un tipo de corte slice_type sea un corte B y una bandera collocated_from_10_flag anteriormente descrita sea 1 (SÍ en la etapa S3201 y NO en la etapa S3202), o en caso de que un tipo de corte slice_type sea un corte P (NO en la etapa S3201 y SÍ en la etapa S3204), RefPicList0 [0] (es decir, un fotograma del que el índice de referencia de lista de referencias L0 es 0) se define como un fotograma colPic de un tiempo diferente (etapa S3205).
A continuación, haciendo referencia de vuelta al diagrama de flujo de la Figura 34, se deriva un bloque de predicción colPU de un tiempo diferente, y se deriva información de codificación (etapa S3102).
La Figura 36 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de un bloque de predicción colPU de un fotograma colPic de un tiempo diferente de la etapa S3102 en la Figura 34.
En primer lugar, en un fotograma colPic de un tiempo diferente, se usa un bloque de predicción situado en una parte inferior derecha (exterior) de una posición idéntica a un bloque de predicción sometido a procesamiento como un bloque de predicción colPU de un tiempo diferente (etapa S3301). Este bloque de predicción corresponde al bloque de predicción TO en la Figura 9.
A continuación, se deriva información de codificación del bloque de predicción colPU de un tiempo diferente (etapa S3302). En caso de que no pueda usarse PredMode del bloque de predicción colPU de un tiempo diferente o en caso de que el modo de predicción PredMode del bloque de predicción colPU de un tiempo diferente sea intra predicción
(MODOJNTRA) (SÍ en la etapa S33036 ® , y SÍ en la etapa S3304), en un fotograma colPic de un tiempo diferente, se usa un bloque de predicción en una parte superior izquierda en el medio de una posición idéntica a un bloque de predicción sometido a procesamiento que un bloque de predicción colPU de un tiempo diferente (etapa S3305). Este bloque de predicción corresponde al bloque de predicción T1 en la Figura 9.
A continuación, haciendo referencia de vuelta al diagrama de flujo de la Figura 34, se deriva un predictor de vector de movimiento mvL1Col de L0 que se deriva de un bloque de predicción en otro fotograma en una posición idéntica a un bloque de predicción sometido a codificación o decodificación, y una bandera availableFlagLOCol que indica si es válido o no un candidato de fusión de tiempo Col (etapa S3103), y un predictor de vector de movimiento mvLlCol de L1 y una bandera availableFlagCol que indica si el candidato de fusión de tiempo Col es o no válido. Además, en caso de que la bandera availableFlagLOCol o la bandera availableFlagL1Col sea 1, la bandera availableFlagCol que indica si el candidato de fusión de tiempo Col es o no válido se establece a 1.
La Figura 37 muestra un diagrama de flujo que ilustra un procedimiento del procedimiento de derivación de información de inter predicción del candidato de fusión de tiempo de la etapa S3103 y la etapa 3104 en la Figura 34. Para L0 o L1, una lista de objetivos para derivar candidatos de fusión de tiempo se define como LX, y la predicción usando LX se denomina como predicción LX, a menos que se indique de otra manera. En caso de que se denomine como la etapa S3103, que es un procedimiento de derivación de l0 del candidato de fusión de tiempo, LX se establece a L0, y en caso de que se denomine como la etapa S3104, que es un procedimiento de derivación de L1 del candidato de fusión de tiempo, LX se establece a L1.
En caso de que un modo de predicción PredMode de un bloque de predicción colPU de un tiempo diferente sea intra predicción (Mo DO_INTRA) o no pueda usarse, (NO en la etapa s 3401, NO en la etapa S3402), tanto una bandera availableFlagLXCol como una bandera predFlagLXCol se establecen a 0 (etapa S3403), un vector de movimiento mvLXCol se establece a (0,0) (etapa S3404), el procedimiento de derivación de información de inter predicción del candidato de fusión de tiempo está completado.
En caso de que esté disponible un bloque de predicción colPU y en caso de que un modo de predicción PredMode no sea intra predicción (MODO_INTRA) (SÍ en la etapa S3401, SÍ en la etapa S3402), se deriva mvCol, refIdxCol y availableFlagCol en el siguiente procedimiento.
En caso de que una bandera PredFlagL0 [xPCol] [yPCol], que indica si la predicción L0 del bloque de predicción colPU, es o no 0 (SÍ en la etapa S3405), el modo de predicción del bloque de predicción colPU es Pred_L1. Por lo tanto, un vector de movimiento mvCol se establece a un valor idéntico al de MvL1[xPCol] [yPCol], que es un vector de movimiento de L1 del bloque de predicción colPU (etapa S3406), y un índice de referencia refIdxCol se establece a un valor idéntico al de un índice de referencia RefIdxL1 [xPCol] [yPCol] de L1 (etapa S3407), y una lista ListCol se establece a L1 (etapa S3408). xPCol y yPCol son índices que indican la posición de un píxel izquierdo superior de un bloque de predicción colPU en un fotograma colPic de un tiempo diferente.
Por otra parte, en caso de que la bandera de predicción L0 PredFlagL0 [xPCol] [yPCol] del bloque de predicción colPU no sea 0 (NO en la etapa S3405 en la Figura 37), se determina si la bandera L1 de predicción PredFlagL1 [xPCol] [yPCol] del bloque de predicción colPU es o no 0. En caso de que la bandera de predicción L1 PredFlagL1 [xPCol] [yPCol] del bloque de predicción colPU sea 0 (SÍ en la etapa S3409), un vector de movimiento mvCol se establece a un valor idéntico al de MvLO [xPCol] [yPCol], que es un vector de movimiento de L0 del bloque de predicción colPU (etapa S3410), y un índice de referencia refIdxCol se establece a un valor idéntico al de un índice de referencia RefldxL0 [xPCol] [yPCol] de L0 (etapa S3411) y una lista ListCol se establece a L0 (etapa S3412).
Por otra parte, en caso de que 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 sean 0 (NO en la etapa S3405 y NO en la etapa S3409), el modo de inter predicción del bloque de predicción colPU es bipredicción (Pred_BI). Por lo tanto, se selecciona uno de dos vectores de movimiento L0 y L1 (etapa S3413).
La Figura 38 muestra un diagrama de flujo que indica un procedimiento de derivación de información de inter predicción del candidato de fusión de tiempo cuando el modo de inter predicción del bloque de predicción colPU es bipredicción (Pred_BI).
En primer lugar, se determina si se registran o no los POC de todos los fotogramas en todas las listas de referencia que son más pequeños que el POC de un fotograma sometido a codificación o decodificación actualmente (etapa S3501). En caso de que los POC de todos los fotogramas registrados en L0 o L1, L0 y L1 sean todos listas de referencia del bloque de predicción colPU, sean más pequeñas que el POC de un fotograma sometido a codificación o decodificación actualmente (SÍ en la etapa S3501) y LX es L0, es decir, se deriva un candidato de vector de predicción de un vector de movimiento de L0 de un fotograma sometido a codificación o decodificación (SÍ en la etapa 83502), se selecciona información de inter predicción de L0 del bloque de predicción colPU, y en caso de que LX sea L1, es decir, se deriva un candidato de vector de predicción de un vector de movimiento de L1 de un fotograma sometido a codificación o decodificación (NO en la etapa S3502), se selecciona información de inter predicción de L1 del bloque de predicción colPU. Por otra parte, en caso de que al menos uno del POC de los fotogramas registrados en cualquiera de todas las listas de referencia L0 y L1 del bloque de predicción colPU sea más grande que el POC de un fotograma sometido a codificación o decodificación actualmente (NO en la etapa S3501) y la bandera collocated_from_10_flag es 0 (SÍ en la etapa S3503), se selecciona la información de inter predicción de L0 del bloque de predicción colPU, y en caso de que la bandera collocated_from_10_flag sea 1 (NO en la etapa S3503), se selecciona información de inter predicción de L1 del bloque de predicción colPU.
En caso de seleccionar información de inter predicción de L0 del bloque de predicción colPU (SÍ en la etapa y SÍ en la etapa S3503), un vector de movimiento mvCol se establece a un valor idéntico al de MvLO[xPCol] [yPCol] (etapa 53504) , y un índice de referencia refIdxCol se establece a un valor idéntico al de RefldxL0 [xPCol] [yPCol] (etapa 53505) , y una lista ListCol se establece a L0 (etapa S3506).
En caso de seleccionar información de inter predicción de L1 del bloque de predicción colPU (NO en la etapa S2502 y NO en la etapa S3503), un vector de movimiento mvCol se establece a un valor idéntico al de MvL1 [xPCol] [yPCol] (etapa S3507), y un índice de referencia refIdxCol se establece a un valor idéntico al de RefIdxL1 [xPCol] [yPCol] (etapa S3508), y una lista ListCol se establece a L1 (etapa S3509).
Haciendo referencia de vuelta a la Figura 37, si puede derivarse la información de inter predicción desde un bloque de predicción colPU, una bandera availableFlagLXCol y una bandera predFlagLXCol se establecen ambas a 1 (etapa S3414).
Posteriormente, se escala un vector de movimiento mvCol y se define como un vector de movimiento mvLXCol de LX de un candidato de fusión de tiempo (etapa S3415). Se proporcionará una explicación sobre el procedimiento del procedimiento de cálculo de escalamiento del vector de movimiento, mientras se hace referencia a las Figuras 39 y 40.
La Figura 39 muestra un diagrama de flujo que indica el procedimiento del procedimiento de cálculo de escalamiento del vector de movimiento de la etapa S3105 en la Figura 34.
Restando el POC de un fotograma de referencia que corresponde a un índice de referencia refIdxCol al que se hace referencia en una lista ListCol de un bloque de predicción colPU del POC del fotograma colPic de un tiempo diferente, se deriva una distancia td entre fotogramas (etapa S3601). En caso de que el POC de un fotograma de referencia al que se hace referencia en una lista ListCol de un bloque de predicción colPU sea anterior al fotograma colPic de un tiempo diferente en el orden de visualización, la distancia td entre fotogramas es un valor positivo, y en caso de que el p Oc de un fotograma de referencia al que se hace referencia en una lista ListCol de un bloque de predicción colPU sea posterior al fotograma colPic de un tiempo diferente en el orden de visualización, la distancia td entre fotogramas es un valor negativo.
td = POC del bloque de predicción colPU de un tiempo diferente - POC de un fotograma de referencia al que se hace referencia en una lista ListCol de un bloque de predicción colPU.
Restando POC de un fotograma de referencia que corresponde a un índice de referencia de LX de un candidato de fusión de tiempo derivado en la etapa S202 en la Figura 18 de POC de un fotograma sometido a codificación o decodificación actualmente, se deriva una distancia tb entre fotogramas (etapa S3602). En caso de que el fotograma de referencia al que se hace referencia en una lista LX de un fotograma sometido a codificación o decodificación actualmente sea anterior al fotograma sometido a codificación o decodificación actualmente en el orden de visualización, la distancia tb entre fotogramas es un valor positivo, y en caso de que el fotograma de referencia al que se hace referencia en una lista LX de un fotograma sometido a codificación o decodificación actualmente sea posterior a la otra en el orden de visualización, la distancia tb entre fotogramas es un valor negativo.
tb = POC del fotograma sometido a codificación o decodificación actualmente - POC de un fotograma de referencia que corresponde a un índice de referencia de LX de un candidato de fusión de tiempo
Posteriormente, se comparan las distancias td entre los fotogramas y tb entre los fotogramas (etapa S3603). En caso de que las distancias td y tb sean idénticas entre sí (SÍ en la etapa S3603), el vector de movimiento mvLXCol de LX del candidato de fusión de tiempo se establece a un valor idéntico al del vector de movimiento mvCol (etapa S3604), el procedimiento de cálculo de escalamiento está completado.
mvLXCol = mvCol
Por otra parte, en caso de que las distancias td y tb no sean idénticas (NO en la etapa S3603), se realiza el procedimiento de cálculo de escalamiento multiplicando mvCol por tb o td de acuerdo con la siguiente ecuación (etapa S3605), y se obtiene un vector de movimiento escalado mvLXCol de LX del candidato de fusión de tiempo.
mvLXCol = tb o td * mvCol
La Figura 4 indica un ejemplo en caso de que se realice el cálculo de escalamiento de la etapa S3605 con precisión de número entero. Los procedimientos de la etapa S3606 - etapa S3608 en la Figura 40 corresponden a la etapa S3605 de la Figura 40.
En primer lugar, de una manera similar a la del diagrama de flujo mostrado en la Figura 39, se deriva una distancia td entre fotogramas y una distancia tb entre fotogramas (etapa S3601 y etapa S3602).
Posteriormente, se comparan las distancias td entre los fotogramas y tb entre los fotogramas (etapa S3603). En caso de que las distancias td y tb sean idénticas (SÍ en la etapa S3603), el vector de movimiento mvLXCol de LX del candidato de fusión de tiempo se establece a un valor idéntico al del vector de movimiento mvCol (etapa S3604) de una manera similar al diagrama de flujo de la Figura 39, el procedimiento de cálculo de escalamiento está completado.
mvLXCol = mvCol
Por otra parte, en caso de que las distancias td y tb no sean idénticas (NO en la etapa S3603) se deriva un parámetro tx de acuerdo con la siguiente ecuación (etapa S3606).
tx = (16384 Abs ( td o 2 )) o td
A continuación, se deriva un factor de cambio de escala DistScaleFactor de acuerdo con la siguiente ecuación (etapa S3607).
DistScaleFactor = (tb * tx 32 ) >> 6
Posteriormente, se obtiene un vector de movimiento escalado mvLXCol de LX del candidato de fusión de tiempo de acuerdo con la siguiente ecuación (etapa S3608).
mvLXCol = ClipMv( Sign( DistSoaleFactor * mvCol ) * ( (Abs( DistSoaleFactor * mvCol ) 127 ) >> 8 ) )
A continuación, se proporcionará una explicación detallada sobre un procedimiento de la etapa S204 en la Figura 18 para registrar un candidato de fusión en una lista de candidatos de fusión y la construcción de una lista de candidatos de fusión. La Figura 41 muestra un diagrama de flujo que indica un procedimiento de procesamiento para construir una lista de candidatos de fusión. De acuerdo con el procedimiento, estableciendo prioridades y registrando un candidato de fusión de la prioridad superior en una lista de candidatos de fusión mergeCandList, se reduce la cantidad de código del índice de fusión merge_idx[x0] [y0]. Introduciendo un elemento de prioridad superior en la parte superior de la lista de candidatos de fusión, se reduce la cantidad de código. Por ejemplo, en caso de que haya cinco elementos en la lista de candidatos de fusión mergeCandList, un índice 0 de la lista de candidatos de fusión se establece a "0", un índice 1 de la misma establece a "10", un índice 2 de la misma se establece a "110", un índice 3 de la misma se establece a "1110" y un índice 4 de la misma se establece a "11110", mediante lo que, la cantidad de código que representa el índice 0 se vuelve 1 bit. Registrando elementos que se considera que tienen lugar en frecuencia alta en el índice 1, se reduce la cantidad de código.
La lista de candidatos de fusión mergeCandList está configurada como una estructura de lista, y en la que se proporciona 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 al índice como un elemento. El número de índice de fusión empieza desde 0, y se almacena un candidato de fusión en un área de almacenamiento de la lista de candidatos de fusión mergeCandList. En el siguiente procedimiento, un bloque de predicción que se vuelve un candidato de fusión de un índice de fusión i registrado en la lista de candidatos de fusión mergeCandList se denomina como mergeCandList[i], que se distingue de la lista de candidatos de fusión mergeCandList por notación matricial.
En primer lugar, en caso de que availableFlagA sea 1 (SÍ en la etapa S4101), se registra un candidato de fusión A en la parte superior de la lista de candidatos de fusión mergeCandList (etapa S4102). Posteriormente, en caso de que availableFlagB sea 1 (SÍ en la etapa S4103), se registra un candidato de fusión B al final de la lista de candidatos de fusión mergeCandList (etapa S4104). Posteriormente, en caso de que availableFlagC sea 1 (SÍ en la etapa S4105), se registra un candidato de fusión C al final de la lista de candidatos de fusión mergeCandList (etapa S4106). Posteriormente, en caso de que availableFlagD sea 1 (SÍ en la etapa S4107), se registra un candidato de fusión D al final de la lista de candidatos de fusión mergeCandList (etapa S4108). Posteriormente, en caso de que availableFlagE sea 1 (SÍ en la etapa S4109), se registra un candidato de fusión E al final de la lista de candidatos de fusión mergeCandList (etapa S4110). Posteriormente, en caso de que vailableFlagCol sea 1 (SÍ en la etapa S4109), se registra un candidato de fusión Col al final de la lista de candidatos de fusión mergeCandList (etapa S4110).
En un modo de fusión, un bloque de predicción A adyacente a la izquierda y un bloque de predicción B adyacente a la parte superior a menudo con el bloque de predicción sometido a codificación o decodificación de manera integrada. En caso de que pueda derivarse la información de inter predicción de los bloques de predicción A y B, los candidatos de fusión A y B se registran delante de otros candidatos de fusión C, D, E y Col en la lista de candidatos, de manera preferencial.
En la Figura 13, en la unidad 136 de selección de información de codificación de la unidad 104 de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento, se selecciona un candidato de fusión a partir de candidatos de fusión registrados en la lista de candidatos de fusión, y se proporciona un índice de fusión e información de inter predicción de un candidato de fusión que corresponde al índice de fusión a la unidad 105 de predicción de compensación de movimiento.
Cuando se selecciona un candidato de fusión, puede usarse un procedimiento similar al de la unidad 107 de determinación de procedimiento de predicción. Se deriva la información de codificación y la distorsión de codificación entre una cantidad de código de información de codificación y una señal residual, y la distorsión de codificación entre una señal de fotograma de predicción y una señal de fotograma para cada candidato de fusión. Se determina un candidato de fusión que tiene la mínima cantidad de código generado y distorsión de codificación. Para cada candidato de fusión, se realiza codificación por entropía del elemento de sintaxis merge_idx, que es información de codificación de un modo de fusión, y se calcula una cantidad de código de información de codificación. Además, para cada candidato de fusión, se calcula una cantidad de código de una señal residual de predicción codificada con un procedimiento similar al de la unidad 105 de predicción de compensación de movimiento. La señal residual de predicción es una señal residual entre una señal de fotograma de predicción, en la que se realiza compensación de movimiento de acuerdo con información de inter predicción de cada candidato de fusión, y una señal de fotograma, que es sometida a codificación y que se proporciona a partir de la memoria 101 de fotograma. Se calcula la cantidad total de código al que se añade una cantidad de código de información de codificación (es decir, un índice de fusión) y una cantidad de código de señal de predicción residual y se establece como un valor de evaluación.
Después de codificar tal señal residual de predicción, se realiza la decodificación para evaluar una cantidad de distorsión, y se calcula una distorsión de codificación como una relación que representa un error a partir de una señal de fotograma original, surgiendo el error de la codificación. Comparando la cantidad total de código generado y la distorsión de codificación para cada candidato de fusión, se determina la información de codificación de menos cantidad de código generado y menos distorsión de codificación. Se codifica un índice de fusión que corresponde a la información de codificación determinada como una bandera merge_idx representada por un segundo patrón de sintaxis de un bloque de predicción. La cantidad de código generado calculado en este procedimiento se calcula preferentemente simulando procedimientos de codificación. Sin embargo, pueden aplicarse también aproximaciones para simplificar cálculos o una estimación aproximada.
Por otra parte, en la Figura 14, en la unidad 236 de selección de información de codificación de la unidad 205 de derivación de información de inter predicción del dispositivo de codificación de fotogramas en movimiento, se selecciona un candidato de fusión que corresponde a un índice de fusión proporcionado a partir de candidatos de fusión registrados en la lista de candidatos de fusión, y se proporciona información de inter predicción del candidato de fusión a la unidad 206 de predicción de compensación de movimiento, y se almacena en la memoria 210 de almacenamiento de información de codificación.
Una secuencia de bits de fotogramas en movimiento emitida desde el dispositivo de codificación de fotogramas en movimiento de acuerdo con las realizaciones descritas anteriormente tiene un formato de datos específico de modo que puede decodificarse el flujo de datos de acuerdo con el procedimiento de codificación usado en las realizaciones. Un dispositivo de decodificación de fotogramas en movimiento que corresponde al dispositivo de codificación de fotogramas en movimiento puede decodificar la secuencia de bits en este formato específico.
En caso de que se use una red alámbrica o inalámbrica para intercambiar secuencias de bits entre el dispositivo de codificación de fotogramas en movimiento y el dispositivo de decodificación de fotogramas en movimiento, una secuencia de bits puede transformarse en un formato de datos apropiado a la manera de transmisión en la ruta de comunicación para que se transmita. En este caso, se proporciona un dispositivo de transmisión de fotogramas en movimiento y un dispositivo receptor de fotogramas en movimiento. El dispositivo de transmisión de fotogramas en movimiento transforma una secuencia de bits emitida desde el dispositivo de codificación de fotogramas en movimiento en datos codificados en un formato de datos apropiado a la manera de transmisión mediante la ruta de comunicación y transmite los datos codificados a la red. El dispositivo receptor de fotogramas en movimiento recibe datos codificados de la red, reconstruye una secuencia de bits, y proporciona la secuencia de bits al dispositivo de decodificación de fotogramas en movimiento.
El dispositivo de transmisión de fotogramas en movimiento incluye una memoria que almacena en memoria intermedia una secuencia de bits emitida desde el dispositivo de codificación de fotogramas en movimiento, una unidad de procesamiento de paquetes que empaqueta la secuencia de bits, una unidad de transmisión que transmite la secuencia de bits empaquetados mediante una red. El dispositivo receptor de fotogramas en movimiento incluye una unidad de recepción que recibe una secuencia de bits empaquetados mediante una red, una memoria que almacena en memoria intermedia la secuencia de bits recibidos y una unidad de procesamiento de paquetes que procesa un paquete de los datos codificados para generar una secuencia de bits y proporciona la secuencia de bits al dispositivo de decodificación de fotogramas en movimiento.
Es innecesario mencionar que los procedimientos relacionados con la codificación y decodificación anteriormente descritas pueden implementarse como un dispositivo de transmisión, un dispositivo de almacenamiento y/o receptor usando hardware. El procedimiento puede implementarse también por firmware almacenado en una memoria de sólo lectura (ROM), una memoria flash o similares o mediante software informático o similares. El programa de firmware o el programa de software pueden almacenarse y proporcionarse en un medio de grabación legible por un ordenador o similares, puede proporcionarse desde un servidor mediante una red alámbrica o inalámbrica, o puede proporcionase mediante difusión de datos como difusión terrestre o difusión digital por satélite.
Se proporciona anteriormente una explicación basada en las realizaciones. Las realizaciones se pretenden que sean ilustrativas únicamente y será evidente para los expertos en la materia que podrían desarrollarse diversas modificaciones a los elementos y procedimientos constituyentes y que tales modificaciones también se encuentran dentro del ámbito de la presente invención.
Descripción de los números de referencia!
101 memoria de fotograma, 102 unidad de cálculo de vector de movimiento, 103 unidad de cálculo de diferencia de vector de movimiento, 104 unidad de derivación de información de inter predicción, 105 unidad de predicción de compensación de movimiento, 106 unidad de intra predicción, 107 unidad de determinación de procedimiento de predicción, 108 unidad de generación de señal residual, 109 unidad de transformación ortogonal/cuantificación, 110 primera unidad de generación de secuencia de bits, 111 segunda unidad de generación de secuencia de bits, 112 unidad de multiplexación, 130 unidad de generación de candidato de fusión espacial, 131 unidad de derivación de índice de referencia del candidato de fusión de tiempo, 132 unidad de generación de candidato de fusión de tiempo, 133 unidad de registro de candidato de fusión, 134 unidad de determinación de identificación de candidato de fusión, 135 unidad complementaria de candidato de fusión, 136 unidad de selección de información de codificación, 201 unidad de separación, 202 primera unidad de decodificación de secuencia de bits, 203 segunda unidad de decodificación de secuencia de bits, 204 unidad de cálculo de vector de movimiento, 205 unidad de derivación de información de inter predicción, 206 unidad de predicción de compensación de movimiento, 207 unidad de intra predicción, 208 unidad de cuantificación inversa/transformación ortogonal inversa, 209 unidad de convolución de señal de fotograma decodificada, 210 memoria de almacenamiento de información de codificación, 211 memoria de fotograma decodificada, 230 unidad de generación de candidato de fusión espacial, 231 unidad de derivación de índice de referencia del candidato de fusión de tiempo, 232 unidad de generación de candidato de fusión de tiempo, 233 unidad de registro de candidato de fusión, 234 unidad de determinación de identificación de candidato de fusión, 235 unidad complementaria de candidato de fusión y 236 unidad de selección de información de codificación.
rAplicabilidad industrial!
La presente invención es aplicable a una tecnología de codificación de fotogramas en movimiento que utiliza predicción de compensación de movimiento.

Claims (6)

REIVINDICACIONES
1. Un dispositivo de codificación de fotogramas en movimiento que subdivide un primer bloque, que se obtiene subdividiendo cada fotograma, en segundos bloques y codifica un fotograma en movimiento usando inter predicción, que comprende:
una primera unidad (130) de derivación de información de predicción configurada para realizar un procedimiento de derivación de primeros candidatos de información de inter predicción a partir de información de inter predicción de terceros bloques en proximidad de un segundo bloque sometido a codificación en un fotograma sometido a codificación;
una segunda unidad (132) de derivación de información de predicción configurada para realizar un procedimiento de derivación de un segundo candidato de información de inter predicción a partir de información de inter predicción de un cuarto bloque en una posición idéntica a, o en proximidad de, el segundo bloque sometido a codificación en un fotograma diferente del fotograma sometido a codificación;
una unidad (133) de construcción de lista de candidatos configurada para construir una lista de candidatos de información de predicción que comprende un candidato de información de predicción al que, en caso de que se derive el primer candidato de información de inter predicción, se añade el primer candidato de información de inter predicción derivado, y en caso de que se derive el segundo candidato de información de inter predicción, se añade el segundo candidato de información de inter predicción derivado, respectivamente; una unidad (136) de selección configurada para seleccionar un candidato de información de inter predicción para su uso en la inter predicción del segundo bloque sometido a codificación a partir de los candidatos de información de predicción en la lista de candidatos de información de predicción, y configurada para determinar un índice que indica información de inter predicción; y
una unidad (110) de codificación configurada para codificar el índice que indica información de inter predicción para su uso en la inter predicción del segundo bloque sometido a codificación,
en el que en un modo de partición en el que se subdivide el primer bloque en un bloque superior y un bloque inferior dispuesto verticalmente, cuando el segundo bloque sometido a codificación es el bloque inferior, la primera unidad (130) de derivación de información de predicción realiza el procedimiento de derivación del primer candidato de información de inter predicción a partir de información de codificación de bloques adyacentes a un borde izquierdo, un borde superior derecho, un borde inferior izquierdo o un borde superior izquierdo del segundo bloque sometido a codificación sin hacer referencia a información de codificación de un quinto bloque adyacente a un borde superior del segundo bloque sometido a codificación, y
en el que la segunda unidad (132) de derivación de información de predicción realiza el procedimiento de derivación del segundo candidato de información de inter predicción basándose en un índice de referencia del segundo candidato de información de inter predicción que se establece a un valor por defecto.
2. Un procedimiento de codificación de fotogramas en movimiento que subdivide un primer bloque, que se obtiene subdividiendo cada fotograma, en segundos bloques y codifica un fotograma en movimiento usando inter predicción, que comprende:
una primera etapa de derivación de información de predicción para realizar un procedimiento de derivación de primeros candidatos de información de inter predicción a partir de información de inter predicción de terceros bloques en proximidad de un segundo bloque sometido a codificación en un fotograma sometido a codificación; una segunda etapa de derivación de información de predicción para realizar un procedimiento de derivación de un segundo candidato de información de inter predicción a partir de información de inter predicción de un cuarto bloque en una posición idéntica a, o en proximidad de, el segundo bloque sometido a codificación en un fotograma diferente del fotograma sometido a codificación;
una etapa de construcción de lista de candidatos para construir una lista de candidatos de información de predicción que comprende un candidato de información de predicción al que, en caso de que se derive el primer candidato de información de inter predicción, se añade el primer candidato de información de inter predicción derivado, y en caso de que se derive el segundo candidato de información de inter predicción, se añade el segundo candidato de información de inter predicción derivado, respectivamente; una etapa de selección para seleccionar un candidato de información de inter predicción para su uso en la inter predicción del segundo bloque sometido a codificación a partir de los candidatos de información de predicción en la lista de candidatos de información de predicción y determinar un índice que indica información de inter predicción; y
una etapa de codificación para codificar el índice que indica información de inter predicción para su uso en la inter predicción del segundo bloque sometido a codificación,
en el que en un modo de partición en el que se subdivide el primer bloque en un bloque superior y un bloque inferior dispuesto verticalmente, cuando el segundo bloque sometido a codificación es el bloque inferior, la primera etapa de derivación de información de predicción realiza el procedimiento de derivación del primer candidato de información de inter predicción a partir de información de codificación de bloques adyacentes a un borde izquierdo, un borde superior derecho, un borde inferior izquierdo o un borde superior izquierdo del segundo bloque sometido a codificación sin hacer referencia a información de codificación de un quinto bloque adyacente a un borde superior del segundo bloque sometido a codificación, y
en el que la segunda etapa de derivación de información de predicción realiza el procedimiento de derivación del segundo candidato de información de inter predicción basándose en un índice de referencia del segundo candidato de información de inter predicción que se establece a un valor por defecto.
3. Un medio de grabación no transitorio que tiene incorporado en el mismo un programa de codificación de fotogramas en movimiento ejecutable por un ordenador y adaptado para subdividir un primer bloque, que se obtiene subdividiendo cada fotograma, en segundos bloques y codifica un fotograma en movimiento usando inter predicción, comprendiendo el programa:
un primer módulo de derivación de información de predicción configurado para realizar un procedimiento de derivación de primeros candidatos de información de inter predicción a partir de información de inter predicción de terceros bloques en proximidad de un segundo bloque sometido a codificación en un fotograma sometido a codificación;
un segundo módulo de derivación de información de predicción configurado para realizar un procedimiento de derivación de un segundo candidato de información de inter predicción a partir de información de inter predicción de un cuarto bloque en una posición idéntica a, o en proximidad de, el segundo bloque sometido a codificación en un fotograma diferente del fotograma sometido a codificación; un módulo de construcción de lista de candidatos configurado para construir una lista de candidatos de información de predicción que comprende un candidato de información de predicción al que, en caso de que se derive el primer candidato de información de inter predicción, se añade el primer candidato de información de inter predicción derivado, y en caso de que se derive el segundo candidato de información de inter predicción, se añade el segundo candidato de información de inter predicción derivado, respectivamente; un módulo de selección configurado para seleccionar un candidato de información de inter predicción para su uso en la inter predicción del segundo bloque sometido a codificación a partir de los candidatos de información de predicción en la lista de candidatos de información de predicción y configurado para determinar un índice que indica información de inter predicción; y
un módulo de codificación configurado para codificar el índice que indica información de inter predicción para su uso en la inter predicción del segundo bloque sometido a codificación,
en el que en un modo de partición en el que se subdivide el primer bloque en un bloque superior y un bloque inferior dispuesto verticalmente, cuando el segundo bloque sometido a codificación es el bloque inferior, el primer módulo de derivación de información de predicción realiza el procedimiento de derivación del primer candidato de información de inter predicción a partir de información de codificación de bloques adyacentes a un borde izquierdo, un borde superior derecho, un borde inferior izquierdo o un borde superior izquierdo del segundo bloque sometido a codificación sin hacer referencia a información de codificación de un quinto bloque adyacente a un borde superior del segundo bloque sometido a codificación, y
en el que el segundo módulo de derivación de información de predicción realiza el procedimiento de derivación del segundo candidato de información de inter predicción basándose en un índice de referencia del segundo candidato de información de inter predicción que se establece a un valor por defecto.
4. Un dispositivo de decodificación de fotogramas en movimiento que decodifica una secuencia de bits donde un primer bloque, que se obtiene subdividiendo cada fotograma, se subdivide en segundos bloques y se codifica una fotograma en movimiento por inter predicción, que comprende:
una primera unidad (230) de derivación de información de predicción configurada para realizar un procedimiento de derivación de primeros candidatos de información de inter predicción a partir de información de inter predicción de terceros bloques en proximidad de un segundo bloque sometido a decodificación en un fotograma sometido a decodificación;
una segunda unidad (232) de derivación de información de predicción configurada para realizar un procedimiento de derivación de un segundo candidato de información de inter predicción a partir de información de inter predicción de un cuarto bloque en una posición idéntica a, o en proximidad de, el segundo bloque sometido a decodificación en un fotograma diferente del fotograma sometido a decodificación;
una unidad (202) de decodificación configurada para decodificar un índice que indica información de inter predicción para su uso en la inter predicción del segundo bloque sometido a decodificación;
una unidad (233) de construcción de lista de candidatos configurada para construir una lista de candidatos de información de predicción que comprende un candidato de información de predicción al que, en caso de que se derive el primer candidato de información de inter predicción, se añade el primer candidato de información de inter predicción derivado, y en caso de que se derive el segundo candidato de información de inter predicción, se añade el segundo candidato de información de inter predicción derivado, respectivamente; y
una unidad (236) de selección configurada para seleccionar un candidato de información de inter predicción para su uso en la inter predicción del segundo bloque sometido a decodificación indicado por el índice de los candidatos de información de predicción en la lista de candidatos de información de predicción,
en el que en un modo de partición en el que se subdivide el primer bloque en un bloque superior y un bloque inferior dispuesto verticalmente, cuando el segundo bloque sometido a decodificación es el bloque inferior, la primera unidad (230) de derivación de información de predicción realiza el procedimiento de derivación del primer candidato de información de inter predicción a partir de información de codificación de bloques adyacentes a un borde izquierdo, un borde superior derecho, un borde inferior izquierdo o un borde superior izquierdo del segundo bloque sometido a decodificación sin hacer referencia a información de codificación de un quinto bloque adyacente a un borde superior del segundo bloque sometido a decodificación, y
en el que la segunda unidad (232) de derivación de información de predicción realiza el procedimiento de derivación del segundo candidato de información de inter predicción basándose en un índice de referencia del segundo candidato de información de inter predicción que se establece a un valor por defecto.
5. Un procedimiento de decodificación de fotogramas en movimiento que decodifica una secuencia de bits donde un primer bloque, que se obtiene subdividiendo cada fotograma, se subdivide en segundos bloques y se codifica un fotograma en movimiento por inter predicción, que comprende:
una primera etapa de derivación de información de predicción para realizar un procedimiento de derivación de primeros candidatos de información de inter predicción a partir de información de inter predicción de terceros bloques en proximidad de un segundo bloque sometido a decodificación en un fotograma sometido a decodificación;
una segunda etapa de derivación de información de predicción para realizar un procedimiento de derivación de un segundo candidato de información de inter predicción a partir de información de inter predicción de un cuarto bloque en una posición idéntica a, o en proximidad de, el segundo bloque sometido a decodificación en un fotograma diferente del fotograma sometido a decodificación; una etapa de decodificación para decodificar un índice que indica información de inter predicción para su uso en la inter predicción del segundo bloque sometido a decodificación;
una etapa de construcción de lista de candidatos para construir una lista de candidatos de información de predicción que comprende un candidato de información de predicción al que, en caso de que se derive el primer candidato de información de inter predicción, se añade el primer candidato de información de inter predicción derivado, y en caso de que se derive el segundo candidato de información de inter predicción, se añade el segundo candidato de información de inter predicción derivado, respectivamente;
y una etapa de selección para seleccionar un candidato de información de inter predicción para su uso en la inter predicción del segundo bloque sometido a decodificación indicado por el índice de los candidatos de información de predicción en la lista de candidatos de información de predicción,
en el que en un modo de partición en el que se subdivide el primer bloque en un bloque superior y un bloque inferior dispuesto verticalmente, cuando el segundo bloque sometido a decodificación es el bloque inferior, la primera etapa de derivación de información de predicción realiza el procedimiento de derivación del primer candidato de información de inter predicción a partir de información de codificación de bloques adyacentes a un borde izquierdo, un borde superior derecho, un borde inferior izquierdo o un borde superior izquierdo del segundo bloque sometido a decodificación sin hacer referencia a información de codificación de un quinto bloque adyacente a un borde superior del segundo bloque sometido a decodificación, y
en el que la segunda etapa de derivación de información de predicción realiza el procedimiento de derivación del segundo candidato de información de inter predicción basándose en un índice de referencia del segundo candidato de información de inter predicción que se establece a un valor por defecto.
6. Un medio de grabación no transitorio que tiene incorporado en el mismo un programa de decodificación de fotogramas en movimiento ejecutable por un ordenador y adaptado para decodificar una secuencia de bits donde un primer bloque, que se obtiene subdividiendo cada fotograma, se subdivide en segundos bloques y se codifica un fotograma en movimiento por inter predicción, comprendiendo el programa:
un primer módulo de derivación de información de predicción configurado para realizar un procedimiento de derivación de primeros candidatos de información de inter predicción a partir de información de inter predicción de terceros bloques en proximidad de un segundo bloque sometido a decodificación en un fotograma sometido a decodificación;
un segundo módulo de derivación de información de predicción configurado para realizar un procedimiento de derivación de un segundo candidato de información de inter predicción a partir de información de inter predicción de un cuarto bloque en una posición idéntica a, o en proximidad de, el segundo bloque sometido a decodificación en un fotograma diferente del fotograma sometido a decodificación; un módulo de decodificación configurado para decodificar un índice que indica información de inter predicción para su uso en la inter predicción del segundo bloque sometido a decodificación;
un módulo de construcción de lista de candidatos configurado para construir una lista de candidatos de información de predicción que comprende un candidato de información de predicción al que, en caso de que se derive el primer candidato de información de inter predicción, se añade el primer candidato de información de inter predicción derivado, y en caso de que se derive el segundo candidato de información de inter predicción, se añade el segundo candidato de información de inter predicción derivado, respectivamente; y
un módulo de selección configurado para seleccionar un candidato de información de inter predicción para su uso en la inter predicción del segundo bloque sometido a decodificación indicado por el índice a partir de los candidatos de información de predicción en la lista de candidatos de información de predicción,
en el que en un modo de partición en el que se subdivide el primer bloque en un bloque superior y un bloque inferior dispuesto verticalmente, cuando el segundo bloque sometido a decodificación es el bloque inferior, el primer módulo de derivación de información de predicción realiza el procedimiento de derivación del primer candidato de información de inter predicción a partir de información de codificación de bloques adyacentes a un borde izquierdo, un borde superior derecho, un borde inferior izquierdo o un borde superior izquierdo del segundo bloque sometido a decodificación sin hacer referencia a información de codificación de un quinto bloque adyacente a un borde superior del segundo bloque sometido a decodificación, y
en el que el segundo módulo de derivación de información de predicción realiza el procedimiento de derivación del segundo candidato de información de inter predicción basándose en un índice de referencia del segundo candidato de información de inter predicción que se establece a un valor por defecto.
ES19217766T 2011-12-16 2012-12-14 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 Active ES2877369T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011276457 2011-12-16
JP2011276456 2011-12-16
JP2011289287 2011-12-28
JP2011289288 2011-12-28

Publications (1)

Publication Number Publication Date
ES2877369T3 true ES2877369T3 (es) 2021-11-16

Family

ID=49479186

Family Applications (3)

Application Number Title Priority Date Filing Date
ES19217766T Active ES2877369T3 (es) 2011-12-16 2012-12-14 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
ES20169994T Active ES2886342T3 (es) 2011-12-16 2012-12-14 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
ES20169995T Active ES2888805T3 (es) 2011-12-16 2012-12-14 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

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES20169994T Active ES2886342T3 (es) 2011-12-16 2012-12-14 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
ES20169995T Active ES2888805T3 (es) 2011-12-16 2012-12-14 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

Country Status (12)

Country Link
US (5) US9674545B2 (es)
EP (6) EP3703371B1 (es)
BR (1) BR112014013962B1 (es)
DK (5) DK3503554T3 (es)
ES (3) ES2877369T3 (es)
HR (1) HRP20211359T1 (es)
HU (5) HUE055991T2 (es)
PL (5) PL3703370T3 (es)
RU (4) RU2598302C2 (es)
SI (5) SI3703371T1 (es)
TW (5) TWI578766B (es)
WO (1) WO2013088738A1 (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2705355B1 (es) 2011-09-23 2020-01-29 Kt Corp Método para inducir un bloque candidato de fusión y dispositivo que usa el mismo
MX2017005651A (es) * 2014-10-31 2017-06-29 Samsung Electronics Co Ltd Dispositivo de codificacion de video y dispositivo de decodificacion de video que usa la codificacion de salto de alta precision y metodo del mismo.
US10477233B2 (en) * 2015-09-30 2019-11-12 Apple Inc. Predictor candidates for motion estimation search systems and methods
CN116708783A (zh) * 2016-07-12 2023-09-05 韩国电子通信研究院 图像编码/解码方法以及用于该方法的记录介质
US11503305B2 (en) * 2016-08-03 2022-11-15 Kt Corporation Method and apparatus for processing video signal
US11470346B2 (en) * 2018-05-09 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for performing motion vector prediction using a derived set of motion vectors
US10855986B2 (en) * 2018-05-29 2020-12-01 Qualcomm Incorporated Bandwidth compression for neural network systems
WO2021063308A1 (en) * 2019-10-03 2021-04-08 Huawei Technologies Co., Ltd. Coding process for geometric partition mode
CN111263151B (zh) * 2020-04-26 2020-08-25 腾讯科技(深圳)有限公司 视频编码方法、装置、电子设备和计算机可读存储介质
US11949863B2 (en) * 2021-08-02 2024-04-02 Tencent America LLC Geometric partition mode with intra block copy
WO2023022543A1 (ko) * 2021-08-18 2023-02-23 엘지전자 주식회사 채널간 상관도에 기반한 피쳐 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
JP3968712B2 (ja) * 2003-04-28 2007-08-29 ソニー株式会社 動き予測補償装置及びその方法
US7145950B2 (en) * 2003-07-14 2006-12-05 Primax Electronics Ltd. Method of motion vector determination in digital video compression
JP4591657B2 (ja) * 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
CN103118252B (zh) * 2005-09-26 2016-12-07 三菱电机株式会社 运动图像编码装置以及运动图像译码装置
CN100525446C (zh) * 2005-12-26 2009-08-05 凌阳科技股份有限公司 可纵向译码输出的区块译码方法及装置
JP4790446B2 (ja) * 2006-03-01 2011-10-12 三菱電機株式会社 動画像復号装置及び動画像符号化装置
JP4999859B2 (ja) * 2006-10-30 2012-08-15 日本電信電話株式会社 予測参照情報生成方法、動画像符号化及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
US8139875B2 (en) * 2007-06-28 2012-03-20 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
JP2009164880A (ja) * 2008-01-07 2009-07-23 Mitsubishi Electric Corp トランスコーダ及び受信機
JP5406465B2 (ja) * 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
EP2237557A1 (en) * 2009-04-03 2010-10-06 Panasonic Corporation Coding for filter coefficients
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US8971400B2 (en) * 2010-04-14 2015-03-03 Mediatek Inc. Method for performing hybrid multihypothesis prediction during video coding of a coding unit, and associated apparatus
US10171813B2 (en) 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
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
US9313494B2 (en) * 2011-06-20 2016-04-12 Qualcomm Incorporated Parallelization friendly merge candidates for video coding
KR20130050406A (ko) 2011-11-07 2013-05-16 오수미 머지 모드에서의 움직임 정보 생성 방법
KR20130050407A (ko) 2011-11-07 2013-05-16 오수미 인터 모드에서의 움직임 정보 생성 방법
JP5561348B2 (ja) 2011-12-16 2014-07-30 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム

Also Published As

Publication number Publication date
EP3503554B1 (en) 2020-02-05
TW201720165A (zh) 2017-06-01
SI3503554T1 (sl) 2020-06-30
RU2598302C2 (ru) 2016-09-20
RU2014129060A (ru) 2016-02-10
EP3654651B1 (en) 2021-04-21
US20170238010A1 (en) 2017-08-17
PL3654651T3 (pl) 2021-09-27
ES2886342T3 (es) 2021-12-17
RU2678507C9 (ru) 2020-11-12
RU2636688C1 (ru) 2017-11-27
HRP20211359T1 (hr) 2021-11-26
BR112014013962A2 (pt) 2017-06-13
US9674545B2 (en) 2017-06-06
DK3503554T3 (da) 2020-05-11
PL2802146T3 (pl) 2019-07-31
EP3907997A1 (en) 2021-11-10
EP2802146A4 (en) 2015-09-23
TWI593277B (zh) 2017-07-21
US9743104B2 (en) 2017-08-22
EP3703370A1 (en) 2020-09-02
US20170238009A1 (en) 2017-08-17
EP3703371B1 (en) 2021-08-04
US9906811B2 (en) 2018-02-27
US20140286414A1 (en) 2014-09-25
DK3703371T3 (da) 2021-09-06
HUE055993T2 (hu) 2022-01-28
HUE055991T2 (hu) 2022-01-28
PL3703371T3 (pl) 2021-12-06
DK3703370T3 (da) 2021-09-06
EP3703371A1 (en) 2020-09-02
TWI607649B (zh) 2017-12-01
US9906809B2 (en) 2018-02-27
TWI559746B (zh) 2016-11-21
BR112014013962B1 (pt) 2020-04-07
EP2802146A1 (en) 2014-11-12
TW201332375A (zh) 2013-08-01
HUE043876T2 (hu) 2019-09-30
SI3654651T1 (sl) 2021-08-31
HUE053940T2 (hu) 2021-08-30
WO2013088738A1 (ja) 2013-06-20
RU2679552C1 (ru) 2019-02-11
EP3654651A1 (en) 2020-05-20
SI3703370T1 (sl) 2021-11-30
EP2802146B1 (en) 2019-02-27
EP3503554A1 (en) 2019-06-26
US9906810B2 (en) 2018-02-27
TWI586153B (zh) 2017-06-01
EP3703370B1 (en) 2021-08-04
US20170238008A1 (en) 2017-08-17
SI2802146T1 (sl) 2019-07-31
PL3703370T3 (pl) 2021-12-06
TW201720164A (zh) 2017-06-01
PL3503554T3 (pl) 2020-06-29
DK2802146T3 (en) 2019-04-15
TW201642659A (zh) 2016-12-01
RU2678507C1 (ru) 2019-01-29
ES2888805T3 (es) 2022-01-07
US20160309180A1 (en) 2016-10-20
BR112014013962A8 (pt) 2017-06-13
TWI578766B (zh) 2017-04-11
TW201720163A (zh) 2017-06-01
HUE047995T2 (hu) 2020-05-28
SI3703371T1 (sl) 2021-11-30
DK3654651T3 (da) 2021-05-31

Similar Documents

Publication Publication Date Title
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
JP6229806B2 (ja) 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP6644270B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム