ES2995257T3 - Image decoding method, image encoding method, and computer-readable storage medium encoded image information - Google Patents
Image decoding method, image encoding method, and computer-readable storage medium encoded image information Download PDFInfo
- Publication number
- ES2995257T3 ES2995257T3 ES23183415T ES23183415T ES2995257T3 ES 2995257 T3 ES2995257 T3 ES 2995257T3 ES 23183415 T ES23183415 T ES 23183415T ES 23183415 T ES23183415 T ES 23183415T ES 2995257 T3 ES2995257 T3 ES 2995257T3
- Authority
- ES
- Spain
- Prior art keywords
- block
- fusion
- parallel
- merge
- mer
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un método de decodificación de imágenes realizado por un aparato de decodificación comprende recibir información sobre un nivel de fusión paralela que representa un tamaño de una región de unidad de fusión paralela, obtener información de indicador de fusión que representa si se aplica un modo de fusión a un bloque actual, derivar candidatos de fusión espacial para el bloque actual en función de la información del indicador de fusión que indica que se aplica el modo de fusión al bloque actual, construir una lista de candidatos de fusión que incluye los candidatos de fusión espacial para el bloque actual, derivar información de movimiento del bloque actual en función de uno de los candidatos de fusión espacial en la lista de candidatos de fusión, derivar muestras de predicción del bloque actual en función de la información de movimiento derivada y generar una imagen reconstruida en función de las muestras de predicción. El tamaño de la región de unidad de fusión paralela se deriva en función de la información sobre el nivel de fusión paralela. El bloque actual pertenece a la región de unidad de fusión paralela. El bloque actual está relacionado con una unidad de predicción, PU, y la PU es una de las PU particionadas de una unidad de codificación, CU. Para la PU, que tiene un tamaño menor que el tamaño de la región de unidad de fusión paralela y se encuentra dentro de la región de unidad de fusión paralela, los candidatos de fusión espacial son idénticos a los candidatos de fusión espacial de una PU 2Nx2N que tiene un mismo tamaño que la región de unidad de fusión paralela. Los candidatos de fusión espacial de la PU 2Nx2N que tiene el mismo tamaño que la región de unidad de fusión paralela, se derivan de un bloque vecino de esquina inferior izquierda, un bloque vecino izquierdo, un bloque vecino de esquina superior derecha, un bloque vecino superior y un bloque vecino de esquina superior izquierda de la región de unidad de fusión paralela. La información sobre el nivel de fusión paralela se recibe a través de un conjunto de parámetros de imagen. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Método de descodificación de imágenes, método de codificación de imágenes y soporte de almacenamiento legible por ordenador con información de imágenes codificada
[Campo técnico]
La presente invención se refiere al procesado de representaciones visuales, y, más particularmente, a un método y a un aparato de predicción inter.
[Antecedentes de la técnica]
Desde hace poco existe una demanda creciente de representaciones visuales con una resolución y una calidad altas, tales como vídeos de alta definición (HD) y vídeos de definición ultraalta (UHD) en diversos campos. En comparación con los datos de representaciones visuales existentes, los datos de representaciones visuales de alta resolución y alta calidad requieren una cantidad de información o bits relativamente grande. Por ello, los costes de transmisión y de almacenamiento aumentan cuando los datos de representaciones visuales se transmiten usando un medio tal como la línea existente de banda ancha por cable/inalámbrica o cuando los datos de representaciones visuales se almacenan usando los soportes de almacenamiento existentes. Con el fin de solucionar estos problemas, se pueden usar técnicas altamente eficientes de compresión de representaciones visuales.
En calidad de técnica de compresión de vídeo, existen varias técnicas, tales como una técnica de predicción inter la cual predice un valor de píxel incluido en una imagen actual a partir de una imagen previa y/o sucesiva de la imagen actual, una técnica de predicción intra la cual predice un valor de píxel incluido en una imagen actual usando información de píxeles de la imagen actual, una técnica de codificación entrópica la cual asigna una palabra de código corta a un valor que tiene una frecuencia de aparición alta y asigna una palabra de código larga a un valor que tiene una frecuencia de aparición baja, etc. Una técnica de compresión de representaciones visuales del tipo mencionado se puede utilizar para transmitir o almacenar datos de representaciones visuales comprimiendo los mismos de manera eficaz.
El documento JCTVC-F069 con el título “Parallelized merged/skip mode for HEVC” [“Modo de fusión/omisión en paralelo para HEVC”] del Joint Collaborative Team on Video Coding [Equipo Conjunto de Colaboración sobre Codificación de Vídeo] (JCT-VC) de la WP3 del SG16 de la ITU-T y la JTC1/SC29/WG11 de la ISO/IEC trata sobre el diseño del modo de fusión/omisión de la HEVC. El documento propone añadir un elemento de sintaxis de alto nivel para señalizar el nivel paralelo del modo de fusión/omisión, dividir una LCU en regiones de estimación de movimiento (MERs) en paralelo y permitir que solamente aquellas PUs vecinas que pertenecen a MERs diferentes de la PU actual se incluyan en el proceso de construcción de listas de MVP de fusión/omisión. De manera más detallada, el documento propone modificar las reglas de disponibilidad de MVP espaciales para la lista de MVP de fusión/omisión de la HEVC con el fin de mejorar la estructuración en paralelo del modo de fusión/omisión, de manera que el modo de fusión/omisión pueda probarse para todas las PUs durante la estimación del movimiento paralelo. Las partes clave del algoritmo son las siguientes: 1. Definir un elemento de sintaxis de alto nivel (log2_parallel_merge_level_minus2) en el conjunto de parámetros de imagen para indicar el nivel de procesado en paralelo del modo de fusión/omisión. 2. Basándose en el valor de log2_parallel_merge_level_minus2, dividir una LCU en una serie de regiones de estimación de movimiento (MER) no solapadas. Una MER tiene forma cuadrada. 3. Modificar las reglas de disponibilidad del MVP espacial: si una PU vecina y la PU actual pertenecen a una misma MER, esta PU vecina se trata como no disponible para la obtención de MVP espaciales del proceso de construcción de listas de MVP de fusión/omisión. 4. Modificar las reglas de obtención de índices de referencia de MVP temporales: si una PU vecina y la PU actual pertenecen a una misma MER, esta PU vecina se trata como no disponible para el proceso de obtención de índices de referencia de MVP temporales.
El documento JCTVC-F465 con el título "Experiments on tools in Working Daft (WD) and HEVC Test Mode (HM-3.0)" [“Experimentos sobre herramientas en el Borrador de Trabajo (WD) y el Modo de Prueba de HEVC (HM-3.0)”] del Joint Collaborative Team on Video Coding (JCT-VC) de la WP3 del SG16 de la ITU-T y la JTC1/SC29/WG11 de la ISO/IEC, entre otros, trata sobre los efectos de una fusión parcial en la codificación de vídeo. Además, existen varios documentos adicionales del Joint Collaborative Team on Video Coding (JCT-VC) de ITU-T SG16 WP3 y ISO/IEC JTC1/SC29/WG11 que se han publicado después de la primera fecha de prioridad pero antes de la fecha de presentación del presente documento, principalmente los documentos n.° JCTVC-G387, JCTVC-H0090, JCTVC-H0247, JCTVC-G416 y JCTVC-G164.
[Compendio de la invención]
[Problema técnico]
La presente invención proporciona un método y un aparato para codificación de vídeo capaces de reducir la complejidad y hacer que mejore la eficiencia de codificación/descodificación.
La presente invención también proporciona un método y un aparato de descodificación de vídeo capaces de reducir la complejidad y hacer que mejore la eficiencia de codificación/descodificación.
[Solución técnica]
Según uno de los aspectos de la presente invención, se proporciona un método de predicción inter que incluye: generar una lista de candidatos a la fusión de un bloque por predecir y correspondiente a una unidad de predicción (PU) actual; obtener información de movimiento del bloque por predecir, basándose en uno de una pluralidad de candidatos a la fusión que constituyen la lista de candidatos a la fusión; y realizar una predicción sobre el bloque por predecir, basándose en la información de movimiento obtenida, con el fin de generar un bloque de predicción correspondiente a la PU actual, en donde la PU actual es una PU perteneciente a una unidad de compartición de candidatos a la fusión, y en donde, en la generación de la lista de candidatos a la fusión, se genera de manera selectiva una de una primera lista de candidatos a la fusión consistente en una pluralidad de primeros candidatos a la fusión y una segunda lista de candidatos a la fusión consistente en una pluralidad de segundos candidatos a la fusión, la pluralidad de primeros candidatos a la fusión son información de movimiento de una pluralidad de primeros bloques determinados basándose en la ubicación y el tamaño del bloque por predecir, y la pluralidad de segundos candidatos a la fusión son información de movimiento de una pluralidad de segundos bloques determinados basándose en la ubicación y el tamaño de un bloque correspondiente a la unidad de compartición de candidatos a la fusión.
En el aspecto antes mencionado de la presente invención, en la generación de la lista de candidatos a la fusión, la unidad de compartición de candidatos a la fusión puede determinar si se genera la primera lista de candidatos a la fusión o si se genera la segunda lista de candidatos a la fusión, y si se determina que se genera la segunda lista de candidatos a la fusión, todas las PUs de la unidad de compartición de candidatos a la fusión pueden compartir la segunda lista de candidatos a la fusión.
Además, la unidad de compartición de candidatos a la fusión puede ser una unidad de codificación (CU) actual a la cual pertenece la PU actual, y la pluralidad de segundos candidatos a la fusión pueden ser información de movimiento de una pluralidad de segundos bloques determinados basándose en la ubicación y el tamaño de un bloque por descodificar y correspondiente a la CU actual.
Además, la pluralidad de primeros bloques puede incluir el bloque más próximo, en cuanto a ubicación, a una esquina inferior izquierda fuera del bloque por predecir, un bloque situado en la parte más baja entre bloques adyacentes a un lado izquierdo del bloque por predecir, el bloque más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera del bloque por predecir, un bloque situado en el lado de más a la derecha entre bloques adyacentes a una parte superior del bloque por predecir, y el bloque más próximo, en cuanto a ubicación, a una esquina superior derecha del bloque por predecir, y la pluralidad de segundos bloques puede incluir el bloque más próximo, en cuanto a ubicación, a una esquina inferior izquierda fuera del bloque por descodificar, un bloque situado en la parte más baja entre bloques adyacentes a un lado izquierdo del bloque por descodificar, el bloque más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera del bloque por descodificar, un bloque situado en el lado de más a la derecha entre bloques adyacentes a una parte superior del bloque por descodificar, y el bloque más próximo, en cuanto a ubicación, a una esquina superior derecha del bloque por descodificar.
Además, en la generación de la lista de candidatos a la fusión, si se determina que se genera la primera lista de candidatos a la fusión, como primer candidato a la fusión no puede usarse información de movimiento de un bloque situado en el bloque por descodificar entre la pluralidad de primeros bloques.
Además, en la generación de la lista de candidatos a la fusión, si se determina que se genera la primera lista de candidatos a la fusión, el modo de segmentación[partitioning]de la PU actual es 2NxN, 2NxnU ó 2NxnD, y la PU actual es una PU situada en una parte inferior de la PU actual, entonces, como primer candidato a la fusión, no puede usarse información de movimiento de un bloque situado en el lado de más a la derecha entre bloques adyacentes a una parte superior del bloque por predecir.
Además, en la generación de la lista de candidatos a la fusión, si se determina que se genera la primera lista de candidatos a la fusión, el modo de segmentación de la PU actual es Nx2N, nLx2N ó nRx2N, y la PU actual es una PU situada en un lado derecho de la PU actual, entonces, como primer candidato a la fusión, no puede usarse información de movimiento de un bloque situado en la parte más baja entre bloques adyacentes a un lado izquierdo del bloque por predecir.
Además, la generación de la lista de candidatos a la fusión y la obtención de la información de movimiento se pueden llevar a cabo en paralelo para todas las PUs de una unidad de procesado en paralelo a la cual pertenece la PU actual, la unidad de procesado en paralelo se puede determinar basándose en un nivel de procesado en paralelo que indica el tamaño de la unidad de procesado en paralelo, y, en un conjunto de parámetros de imagen (PPS), se puede incluir información sobre el nivel de procesado en paralelo, y la misma se transmite desde un codificador a un descodificador.
Además, en la generación de la lista de candidatos a la fusión, se puede determinar si se genera la primera lista de candidatos a la fusión o se genera la segunda lista de candidatos a la fusión basándose en el tamaño del bloque por descodificar y el nivel de procesado en paralelo.
Además, en la generación de la lista de candidatos a la fusión, si el tamaño del bloque por descodificar es 8x8 y el tamaño de la unidad de procesado en paralelo es 4x4, puede generarse la segunda lista de candidatos a la fusión.
De acuerdo con otro aspecto de la presente invención, se proporciona un método de descodificación de vídeo que incluye: generar una lista de candidatos a la fusión de un bloque por predecir y correspondiente a una PU actual; obtener información de movimiento del bloque por predecir, basándose en uno de una pluralidad de candidatos a la fusión que constituyen la lista de candidatos a la fusión; realizar una predicción sobre el bloque por predecir, basándose en la información de movimiento obtenida, con el fin de generar un bloque de predicción correspondiente a la PU actual; y generar un bloque reconstruido basándose en la PU generada, en donde la PU actual es una PU perteneciente a una unidad de compartición de candidatos a la fusión, y en donde, en la generación de la lista de candidatos a la fusión, se genera selectivamente una de una primera lista de candidatos a la fusión consistente en una pluralidad de primeros candidatos a la fusión y una segunda lista de candidatos a la fusión consistente en una pluralidad de segundos candidatos a la fusión, la pluralidad de primeros candidatos a la fusión son información de movimiento de una pluralidad de primeros bloques determinados basándose en la ubicación y el tamaño del bloque por predecir, y la pluralidad de segundos candidatos a la fusión son información de movimiento de una pluralidad de segundos bloques determinados basándose en la ubicación y el tamaño de un bloque correspondiente a la unidad de compartición de candidatos a la fusión.
En el aspecto antes mencionado de la presente invención, en la generación de la lista de candidatos a la fusión, la unidad de compartición de candidatos a la fusión puede determinar si se genera la primera lista de candidatos a la fusión o si se genera la segunda lista de candidatos a la fusión, y si se determina que se genera la segunda lista de candidatos a la fusión, todas las PUs de la unidad de compartición de candidatos a la fusión pueden compartir la segunda lista de candidatos a la fusión.
Además, la unidad de compartición de candidatos a la fusión puede ser una CU actual a la cual pertenece la PU actual, y la pluralidad de segundos candidatos a la fusión puede ser información de movimiento de una pluralidad de segundos bloques determinados basándose en la ubicación y el tamaño de un bloque por descodificar y correspondiente a la CU actual.
Además, la pluralidad de primeros bloques puede incluir el bloque más próximo, en cuanto a ubicación, a una esquina inferior izquierda fuera del bloque por predecir, un bloque situado en la parte más baja entre bloques adyacentes a un lado izquierdo del bloque por predecir, el bloque más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera del bloque por predecir, un bloque situado en el lado de más a la derecha entre bloques adyacentes a una parte superior del bloque por predecir, y el bloque más próximo, en cuanto a ubicación, a una esquina superior derecha del bloque por predecir, y la pluralidad de segundos bloques puede incluir el bloque más próximo, en cuanto a ubicación, a una esquina inferior izquierda fuera del bloque por descodificar, un bloque situado en la parte más baja entre bloques adyacentes a un lado izquierdo del bloque por descodificar, el bloque más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera del bloque por descodificar, un bloque situado en el lado de más a la derecha entre bloques adyacentes a una parte superior del bloque por descodificar, y el bloque más próximo, en cuanto a ubicación, a una esquina superior derecha del bloque por descodificar.
Además, en la generación de la lista de candidatos a la fusión, si se determina que se genera la primera lista de candidatos a la fusión, como primer candidato a la fusión no puede usarse información de movimiento de un bloque situado en el bloque por descodificar entre la pluralidad de primeros bloques.
Además, en la generación de la lista de candidatos a la fusión, si se determina que se genera la primera lista de candidatos a la fusión, el modo de segmentación de la PU actual es 2NxN, 2NxnU ó 2NxnD, y la PU actual es una PU situada en una parte inferior de la PU actual, entonces, como primer candidato a la fusión, no puede usarse información de movimiento de un bloque situado en el lado de más a la derecha entre bloques adyacentes a una parte superior del bloque por predecir.
Además, en la generación de la lista de candidatos a la fusión, si se determina que se genera la primera lista de candidatos a la fusión, el modo de segmentación de la PU actual es Nx2N, nLx2N ó nRx2N, y la PU actual es una PU situada en un lado derecho de la PU actual, entonces, como primer candidato a la fusión, no puede usarse información de movimiento de un bloque situado en la parte más baja entre bloques adyacentes a un lado izquierdo del bloque por predecir.
Además, la generación de la lista de candidatos a la fusión y la obtención de la información de movimiento se pueden llevar a cabo en paralelo para todas las PUs de una unidad de procesado en paralelo a la cual pertenece la PU actual, la unidad de procesado en paralelo se puede determinar basándose en un nivel de procesado en paralelo que indica el tamaño de la unidad de procesado en paralelo, y, en un conjunto de parámetros de imagen (PPS), se puede incluir información sobre el nivel de procesado en paralelo, y la misma se transmite desde un codificador a un descodificador.
Además, en la generación de la lista de candidatos a la fusión, se puede determinar si se genera la primera lista de candidatos a la fusión o se genera la segunda lista de candidatos a la fusión basándose en el tamaño del bloque por descodificar y el nivel de procesado en paralelo.
Además, en la generación de la lista de candidatos a la fusión, si el tamaño del bloque por descodificar es 8x8 y el tamaño de la unidad de procesado en paralelo es 4x4, puede generarse la segunda lista de candidatos a la fusión. La invención se expone en el conjunto anexo de reivindicaciones. Las realizaciones no cubiertas por las reivindicaciones son únicamente ejemplos ilustrativos.
[Efectos ventajosos]
Según uno de los métodos de codificación de vídeo de la presente invención, se puede reducir la complejidad y se puede hacer que mejore la eficiencia de codificación/descodificación.
Según uno de los métodos de descodificación de vídeo de la presente invención, se puede reducir la complejidad y se puede hacer que mejore la eficiencia de codificación/descodificación.
Según uno de los métodos de predicción inter de la presente invención, se puede reducir la complejidad y se puede hacer que mejore la eficiencia de codificación/descodificación.
Según uno de los métodos de generación de listas de candidatos a la fusión de la presente invención, se puede reducir la complejidad y se puede hacer que mejore la eficiencia de codificación/descodificación.
[Descripción de los dibujos]
La figura 1 es un diagrama de bloques de un codificador de vídeo de acuerdo con una realización de la presente invención.
La figura 2 es una vista esquemática que muestra el concepto de un predictor de acuerdo con una realización de la presente invención.
La figura 3 es un diagrama de bloques de un descodificador de vídeo de acuerdo con una realización de la presente invención.
La figura 4 es una vista esquemática que muestra el concepto de un predictor de un descodificador de vídeo según una realización de la presente invención.
La figura 5 es una vista esquemática que muestra el concepto de un ejemplo de una estructura en árbol cuaternario de una unidad de procesado en un sistema de acuerdo con la presente invención.
La figura 6 es un diagrama de flujo que muestra brevemente una realización de un método de predicción inter en un modo de fusión.
La figura 7 es una vista esquemática que muestra una realización de candidatos a la fusión usados para generar una lista de candidatos a la fusión.
La figura 8 es una vista esquemática que muestra una realización de una unidad de procesado en paralelo en un modo de fusión y un modo de omisión.
La figura 9 es una vista esquemática para explicar un problema que se produce cuando se realiza una estimación de movimiento (ME) en paralelo en un modo de fusión.
La figura 10 es una vista esquemática que muestra una realización de un método de obtención de un candidato a la fusión para permitir una ME en paralelo.
La figura 11 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión para permitir una ME en paralelo.
La figura 12 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión para permitir una ME en paralelo.
La figura 13 es una vista esquemática que muestra una realización de un método de obtención de un candidato a la fusión común para unidades de predicción (PUs) en una unidad de compartición de candidatos a la fusión.
La figura 14 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión común para PUs en una unidad de compartición de candidatos a la fusión.
La figura 15 es una vista esquemática que muestra una realización de un método de obtención de un candidato a la fusión de región de estimación de movimiento (MER).
La figura 16 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER.
La figura 17 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER.
La figura 18 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER.
La figura 19 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER.
La figura 20 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER.
La figura 21 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER.
La figura 22 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER.
La figura 23 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER.
La figura 24 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER.
[Modo para llevar a la práctica la invención]
Dado que la presente invención puede aceptar varias modificaciones y diversas realizaciones, en los dibujos únicamente se ilustran realizaciones específicas de manera ejemplificativa y estas se describirán de forma detallada. No obstante, la presente invención no debe considerarse como limitada a las realizaciones específicas expuestas en este documento. La terminología usada en este documento tiene la finalidad únicamente de describir realizaciones particulares y no está destinada a ser limitativa de la invención. Según se usan en el presente documento, las formas del singular están destinadas a incluir también las formas del plural, a no ser que el contexto indique claramente lo contrario. En la presente solicitud, debe entenderse que los términos tales como “incluir” o “tener”, etc., están destinados a indicar la existencia de las características, números, operaciones, acciones, componentes, partes o sus combinaciones dados a conocer en la memoria descriptiva, y no están destinados a excluir la posibilidad de que puedan existir o se puedan añadir otra u otras características, números, operaciones, acciones, componentes, partes o combinaciones de los mismos.
Al mismo tiempo, las construcciones respectivas en los dibujos que se describen en la presente invención se ilustran de manera independiente para facilitar la explicación con respecto a diferentes funciones particulares en un codificador/descodificador de vídeo, y esto no implica que las construcciones respectivas se implementen con entidades dehardwareindependientes o entidades desoftwareindependientes. Por ejemplo, entre las construcciones respectivas, dos o más construcciones se pueden combinar en una construcción, y una construcción se puede dividir en una pluralidad de construcciones. En el alcance de la presente invención se incluyen también realizaciones en las que las construcciones respectivas están integradas y/o separadas.
Además, puede que algunos elementos constitutivos no sean elementos constitutivos esenciales para ejecutar funciones intrínsecas, sino elementos constitutivos selectivos solo con el fin de mejorar el rendimiento. La presente invención puede implementarse de manera que incluya únicamente los elementos constitutivos esenciales destinados a implementar la presente invención exceptuando los elementos constitutivos usados para mejorar solo el rendimiento. El alcance de la presente invención también incluye una estructura en la cual solo se incluyen los elementos constitutivos esenciales exceptuando los elementos constitutivos selectivos usados con el fin de mejorar únicamente el rendimiento.
En lo sucesivo en la presente, se describirán de forma detallada realizaciones de la presente invención en referencia a los dibujos adjuntos. Además, se usan los mismos números de referencia para indicar elementos equivalentes durante todos los dibujos, y se omitirán las descripciones iguales sobre los elementos equivalentes.
La figura 1 es un diagrama de bloques de un codificador de vídeo según una realización de la presente invención. Haciendo referencia a la figura 1, un codificador 100 de vídeo incluye un divisor 105 de imágenes, un predictor 110, un módulo 115 de transformada, un cuantificador 120, un módulo 125 de reordenación, un codificador entrópico 130, un descuantificador 135, un módulo 140 de transformada inversa, un filtro 145 y una memoria 150.
El divisor 105 de imágenes puede dividir una imagen de entrada basándose en por lo menos una unidad de procesado. En este caso, la unidad de procesado puede ser una unidad de predicción (PU), una unidad de transformada (TU) o una unidad de codificación (CU).
El predictor 110, tal como se describe posteriormente, puede incluir un predictor inter el cual realiza una predicción inter y un predictor intra el cual realiza una predicción intra. El predictor 110 puede generar un bloque de predicción realizando una predicción para una unidad de procesado de una imagen en el divisor 105 de imágenes. La unidad de procesado de la imagen en el predictor 100 puede ser una CU, una TU ó una PU. Además, se determina si una predicción realizada para una unidad de procesado correspondiente es una predicción inter o una predicción intra, y puede determinarse un contenido específico (por ejemplo, un modo de predicción, etc.) de cada método de predicción. En este caso, la unidad de procesado para realizar una predicción puede diferir con respecto a la unidad de procesado para determinar el contenido específico. Por ejemplo, el método de predicción, el modo de predicción, etc., se pueden determinar en una unidad de PU, y la predicción se puede realizar en una unidad de TU. En el módulo 115 de transformada se puede introducir un valor residual (es decir, bloque residual) entre un bloque de predicción generado y un bloque original. Además, en el codificador entrópico 130 se puede codificar información de modo de predicción usada para la predicción, información de vector de movimiento, etc., junto con el valor residual, y la misma se puede entregar a un descodificador.
El módulo 115 de transformada transforma el bloque residual basándose en una unidad de transformada, y genera un coeficiente de transformada. La unidad de transformada del módulo 115 de transformada puede ser una TU, y puede tener una estructura de árbol cuaternario. En este caso, el tamaño de la unidad de transformada se puede determinar en un intervalo de un tamaño máximo o mínimo específico. El módulo 115 de transformada puede transformar el bloque residual usando una transformada discreta de coseno (DCT) y/o una transformada discreta de seno (DST).
El cuantificador 120 puede generar un coeficiente de cuantificación cuantificando valores residuales transformados en el módulo 115 de transformada. Al descuantificador 135 y al módulo 125 de reorganización se les puede proporcionar un valor calculado por el cuantificador 120.
El módulo 125 de reordenación puede reordenar el coeficiente de cuantificación proporcionado desde el cuantificador 120. La reordenación del coeficiente de cuantificación puede hacer que aumente la eficiencia de codificación en el codificador entrópico 130. El módulo 125 de reordenación puede reordenar coeficientes de cuantificación que tengan una forma de un bloque bidimensional obteniendo una forma de vector unidimensional mediante el uso de un método de exploración de coeficientes. El módulo 125 de reordenación puede cambiar el orden de exploración de los coeficientes basándose en una estadística probabilística de coeficientes transmitidos desde el cuantificador, con lo cual se incrementa la eficiencia de codificación entrópica en el codificador entrópico 130.
El codificador entrópico 130 puede llevar a cabo una codificación entrópica con respecto a los coeficientes de cuantificación reordenados por el módulo 125 de reordenación. El codificador entrópico 130 puede codificar una variedad de información entregada desde el módulo 125 de reordenación y el predictor 110. La información puede incluir información de coeficientes de cuantificación de la unidad de codificación e información de tipo de bloque, información de modo de predicción, información de unidad de división, información de unidad de predicción e información de unidad de transmisión, información de vectores de movimiento, información de imágenes de referencia, información de interpolación del bloque, información de filtrado, etc.
La codificación entrópica puede usar la Exponencial de Golomb, la CAVLC (Codificación de Longitud Variable Adaptativa según el Contexto) y/o la CABAC (Codificación Aritmética Binaria Adaptativa según el Contexto). Por ejemplo, en el codificador entrópico 130 se puede almacenar una tabla para llevar a cabo la codificación entrópica, tal como una tabla de codificación de longitud variable (VLC). El codificador entrópico 130 puede llevar a cabo la codificación entrópica usando la tabla de VLC almacenada. Como otro ejemplo, en el método de codificación entrópica CABAC, el codificador entrópico 130 puede convertir un símbolo a un formato binario, es decir, unbin,y, por lo tanto, puede generar un flujo continuo de bits llevando a cabo una codificación aritmética sobre elbinde acuerdo con una probabilidad de generación de bits.
Cuando se aplica la codificación entrópica, un índice que tiene un valor elevado y su palabra de código corta correspondiente se pueden asignar a un símbolo que tenga una probabilidad de generación alta, y un índice que tiene un valor elevado y su palabra de código larga correspondiente se pueden asignar a un símbolo que tenga una probabilidad de generación baja. Por consiguiente, por medio de la codificación entrópica puede reducirse la cantidad de bits para símbolos que deben ser codificados y se puede mejorar el rendimiento de la compresión de vídeo.
El descuantificador 135 puede descuantificar valores cuantificados por el cuantificador 120. El módulo 140 de transformada inversa puede transformar inversamente valores descuantificados por el descuantificador 135. Valores residuales generados en el descuantificador 135 y el módulo 140 de transformada inversa se pueden combinar con un bloque de predicción predicho por el predictor 110, y, de este modo, puede generarse un bloque reconstruido.
El filtro 145 puede aplicar un filtro dentro del bucle al bloque y/o imagen reconstruidos. El filtro dentro del bucle puede incluir un filtro antibloques, una compensación adaptativa por muestras (SAO) y/o un filtro de bucle adaptativo (ALF), etc.
El filtro antibloques puede eliminar la distorsión de bloques que se produce en un límite entre bloques en la imagen reconstruida. La SAO puede añadir un valor de compensación adecuado a un valor de píxel para compensar un error de codificación. El ALF puede llevar a cabo un filtrado basándose en un valor usado para comparar una representación visual original con una representación visual reconstruida después de filtrar un bloque a través del filtro antibloques.
Al mismo tiempo, en relación con el bloque reconstruido usado en la predicción intra, el filtro 145 puede no aplicar el filtrado.
La memoria 150 puede almacenar el bloque o imagen reconstruido calculado mediante el uso del filtro 145. El bloque o imagen reconstruido almacenado en la memoria 150 se puede proporcionar al predictor 110 para realizar la predicción inter.
La figura 2 es una vista esquemática que muestra el concepto de un predictor según una realización de la presente invención. En referencia a la figura 2, un predictor 200 puede incluir un predictor inter 210 y un predictor intra 220.
El predictor inter 210 puede generar un bloque de predicción realizando una predicción sobre la base de información o bien de una imagen previa o bien de una imagen sucesiva de una imagen actual. Además, el predictor intra 220 puede generar el bloque de predicción realizando la predicción sobre la base de información de píxeles de la imagen actual.
En relación con la unidad de predicción (PU), el predictor inter 210 puede seleccionar una imagen de referencia, y puede seleccionar un bloque de referencia que tenga el mismo tamaño que la PU como unidad de muestra de píxel. Posteriormente, el predictor inter 210 puede generar un bloque de predicción el cual es una unidad de muestra (por ejemplo, una unidad de muestra de 1/2 píxel y una unidad de muestra de 1/4 píxel) menor que una unidad entera y, por lo tanto, es la más similar a una PU actual y de la cual se puede minimizar la señal residual y también se puede minimizar el vector de movimiento por codificar. En este caso, el vector de movimiento se puede expresar en una unidad menor que un píxel entero.
Se pueden codificar un índice de la imagen de referencia seleccionada por el predictor inter 210 e información sobre el vector de movimiento y los mismos se pueden entregar al descodificador.
La figura 3 es un diagrama de bloques de un descodificador de vídeo según una realización de la presente invención. En referencia a la figura 3, un descodificador 300 de vídeo puede incluir un descodificador entrópico 310, un módulo 315 de reordenación, un descuantificador 320, un módulo 325 de transformada inversa, un predictor 330, un filtro 335 y una memoria 340.
Cuanto se introduce un flujo continuo de bits de vídeo en el descodificador de vídeo, el flujo continuo de bits de entrada se puede descodificar de acuerdo con una operación de procesado de información de vídeo en un codificador de vídeo.
El descodificador entrópico 310 puede llevar a cabo una descodificación entrópica sobre el flujo continuo de bits de entrada. El método de descodificación entrópica es similar al método de codificación entrópica antes mencionado. Cuando se aplica la descodificación entrópica, un índice que tiene un valor elevado y su palabra de código corta correspondiente se pueden asignar a un símbolo que tiene una alta probabilidad de generación, y un índice que tiene un valor elevado y su palabra de código larga correspondiente se pueden asignar a un símbolo que tiene una baja probabilidad de generación. Por consiguiente, por medio de la codificación entrópica se puede reducir la cantidad de bits para símbolos por codificar y se puede mejorar el rendimiento de la compresión de vídeo.
De entre una pluralidad de informaciones descodificadas por el descodificador entrópico 310, al predictor 330 se le puede proporcionar información para generar un bloque de predicción, y en el módulo 315 de reordenación se puede introducir un valor residual sometido a descodificación entrópica en el descodificador entrópico.
El módulo 315 de reordenación puede reordenar el flujo continuo de bits sometido a la descodificación entrópica en el descodificador entrópico 310, de acuerdo con un método de reordenación usado en un codificador de vídeo. El módulo 315 de reordenación puede llevar a cabo la reordenación reconstruyendo coeficientes expresados en un formato de vector unidimensional para obtener coeficientes con una forma de bloque bidimensional. El módulo 315 de reordenación puede recibir información relacionada con la exploración de coeficientes llevada a cabo en el codificador, y puede llevar a cabo una reordenación usando un método de exploración inversa basándose en un orden de exploración aplicado en el codificador.
El descuantificador 320 puede llevar a cabo una descuantificación basándose en un parámetro de cuantificación proporcionado desde el codificador y un valor de coeficiente de un bloque reordenado.
De acuerdo con el resultado de la cuantificación llevada a cabo por el codificador de vídeo, el módulo 325 de transformada inversa puede llevar a cabo una DCT inversa y/o una DST inversa con respecto a la DCT y la DST llevadas a cabo por el módulo de transformada del codificador. La transformada inversa se puede llevar a cabo basándose en una unidad de transmisión determinada o una unidad de división de representación visual. El módulo de transformada del codificador puede llevar a cabo selectivamente la DCT y/o la DST de acuerdo con una pluralidad de informaciones, tales como un método de predicción, un tamaño de bloque actual, y/o una dirección de predicción, etc. El módulo 325 de transformada inversa de un descodificador puede llevar a cabo la transformada inversa basándose en información sobre la transformada llevada a cabo en el módulo de transformada del codificador.
El predictor 330 puede generar un bloque de predicción basándose en información relacionada con la generación de bloques de predicción proporcionada desde el descodificador entrópico 310 e información de bloques y/o imágenes descodificados previamente proporcionada desde la memoria 340. Un bloque reconstruido se puede generar usando un bloque de predicción generado desde el predictor 330 y un bloque residual proporcionado desde el módulo 325 de transformada inversa.
El bloque y/o la imagen reconstruidos se pueden proporcionar al filtro 335. El filtro 335 puede aplicar un filtro dentro del bucle al bloque y/o la imagen reconstruidos. El filtro dentro del bucle puede incluir un filtro antibloques, una compensación adaptativa por muestras (SAO) y/o un filtro de bucle adaptativo (ALF), etc.
La memoria 340 puede almacenar la imagen o bloque reconstruido para su uso como imagen de referencia o bloque de referencia, o puede proporcionar la imagen reconstruida a un elemento de salida.
La figura 4 es una vista esquemática que muestra el concepto de un predictor de un descodificador de vídeo de acuerdo con una realización de la presente invención.
En referencia a la figura 4, un predictor 400 puede incluir un predictor intra 420 y un predictor inter 410.
El predictor intra 420 puede generar un bloque de predicción basándose en información de píxeles de una imagen actual, cuando el modo de predicción para una Pu correspondiente es el modo de predicción intra (es decir, un modo de predicción en una pantalla).
Si el modo de predicción para la PU es el modo de predicción inter (es decir, un modo de predicción interpantalla), el predictor inter 410 puede usar información requerida para la predicción inter de la PU actual proporcionada desde el codificador de vídeo, por ejemplo, información referente a un vector de movimiento, un índice de imagen de referencia, etc., con el fin de realizar una predicción inter sobre la PU actual basándose en información incluida en por lo menos una de las imágenes previa y sucesiva de la imagen actual en la cual está incluida la PU actual.
En este caso, si se confirma una bandera de omisión, una bandera de fusión, o similares de una unidad de codificación (CU) recibida desde el codificador, la información de movimiento se puede obtener en concordancia con la misma.
En lo sucesivo en la presente, si “representación visual” o “pantalla” se puede usar con el mismo significado que “imagen” según una configuración o expresión de la presente invención, a la “ imagen” también se le puede hacer referencia como “representación visual” o “pantalla”. Adicionalmente, predicción inter y predicción interpantalla tienen el mismo significado, y predicción intra y predicción intrapantalla tienen el mismo significado.
La figura 5 es una vista esquemática que muestra el concepto de un ejemplo de una estructura en árbol cuaternario de una unidad de procesado en un sistema de acuerdo con la presente invención.
Una unidad de codificación (CU) puede implicar una unidad de realización de una codificación/descodificación de una imagen. Un bloque de codificación en una imagen por codificar puede tener una profundidad basada en una estructura de árbol cuaternario y se puede segmentar de manera repetitiva. En este caso, un bloque de codificación que no se segmente más se puede corresponder con la CU, y un codificador puede llevar a cabo un proceso de codificación para la CU. El tamaño de la CU puede ser diverso, tal como 64x64, 32x32, 16x16, 8x8, etc.
En la presente, al bloque de codificación que se segmenta de manera repetitiva basándose en la estructura de árbol cuaternario se le puede denominar bloque de árbol de codificación (CTB). Puede que un CTB no se segmente ya más y, en este caso, el propio CTB se puede corresponder con una CU. Por lo tanto, el CTB se puede corresponder con la unidad de codificación más grande (LCU) la cual es una CU que tiene el tamaño máximo. Al mismo tiempo, a una CU que tiene el tamaño mínimo en el CTB se le puede denominar unidad de codificación más pequeña (SCU).
En referencia a la figura 5, a través de la segmentación, un CTB 500 puede tener una estructura jerárquica que consista en una CU más pequeña 510. La estructura jerárquica del CTB 500 se puede especificar basándose en información de tamaño, información de profundidad, información de bandera de partición, etc. La información referente al tamaño del CTB, la información de profundidad de partición, la información de bandera de partición, etc., se pueden transmitir desde un codificador a un descodificador incluyéndolas en un conjunto de parámetros de secuencia (SPS) sobre un flujo continuo de bits.
Al mismo tiempo, la determinación de qué predicción se realizará entre la predicción inter y la predicción intra se puede tomar en una unidad de CU. Si se realiza la predicción inter, en una unidad de PU se puede determinar un modo de predicción inter, información de movimiento, etc., y si se realiza la predicción intra, en una unidad de PU se puede determinar un modo de predicción intra. En este caso, tal como se ha descrito anteriormente, la unidad de procesado por la cual se realiza la predicción puede ser igual a la unidad de procesado por la cual se determinan un método de predicción y su contenido específico, o las dos unidades pueden ser diferentes. Por ejemplo, el método de predicción, el modo de predicción, etc., se pueden determinar en una unidad de PU, y la predicción se puede realizar en una unidad correspondiente a una unidad de transformada (TU).
En referencia a la figura 5, una CU 510 se puede usar en calidad de una PU ó se puede segmentar en una pluralidad de PUs. En caso de una predicción intra 520, el modo de segmentación de una CU (y/ó PU) puede ser un modo 2Nx2N ó NxN (donde N es un entero). En la presente, la PU en el modo 2Nx2N puede tener un tamaño de 2Nx2N, y la PU en el modo NxN puede tener un tamaño de NxN. En caso de una predicción inter 530, el modo de segmentación de una CU (y/ó PU) puede ser un modo 2Nx2N, 2NxN, Nx2N, NxN, 2NxnU, 2NxnD, nLx2N ó nRx2N (donde N es un entero). En la presente, la PU en el modo 2NxN puede tener un tamaño de 2NxN, y la PU en el modo Nx2N puede tener un tamaño de Nx2N. Además, en el modo 2NxnU, una CU se puede segmentar en una PU que tiene un tamaño de 2Nx(1/2)N y una PU que tiene un tamaño de 2Nx(3/2)N. En este caso, la PU que tiene el tamaño de 2Nx(1/2)N se puede situar en una parte superior de la PU que tiene el tamaño de 2Nx(3/2)N. En el modo 2NxnD, una CU se puede segmentar en una PU que tiene un tamaño de 2Nx(3/2)N y una PU que tiene un tamaño de 2Nx(1/2)N. En este caso, la PU que tiene el tamaño de 2Nx(1/2)N se puede situar en una parte inferior de la PU que tiene el tamaño de 2Nx(3/2)N. Además, en el modo nLx2N, una CU se puede segmentar en una PU que tiene un tamaño de (1/2)Nx2N y una PU que tiene un tamaño de (3/2)Nx2N. En este caso, la PU que tiene el tamaño de (1/2)Nx2N se puede situar en un lado izquierdo de la PU que tiene el tamaño de (3/2)Nx2N. En el modo nRx2N, una CU se puede segmentar en una PU que tiene un tamaño de (3/2)Nx2N y una PU que tiene un tamaño de (1/2)Nx2N. En este caso, la PU que tiene el tamaño de (1/2)Nx2N se puede situar en un lado derecho de la PU que tiene el tamaño de (3/2)Nx2N.
El modo de segmentación antes mencionado es solamente para una realización, y, por lo tanto, el método de segmentación de la CU en la PU no se limita a la realización antes mencionada. Por ejemplo, en el caso de la predicción inter 530, el modo de segmentación de la CU (y/ó PU) puede usar solamente cuatro tipos de modo, es decir, 2Nx2N, 2NxN, Nx2N y NxN, y se puede usar adicionalmente otro modo de segmentación además de los 8 tipos de modo de segmentación antes mencionados.
Un codificador puede determinar el modo de segmentación aplicado a una CU (y/ó PU) actual. La información referente al modo de segmentación determinado por el codificador se puede codificar y transmitir a un descodificador. El descodificador puede determinar la CU (y/ó PU) actual basándose en la información transmitida de modo de segmentación. Por ejemplo, la información de modo de segmentación se puede transmitir al descodificador usando una sintaxis de part_mode.
Al mismo tiempo, un número asignado a cada PU mostrada en las referencias 520 y 530 de la figura 5 indica un índice de partición de la PU. En la presente, el índice de partición puede implicar un índice que indica con qué PU se corresponde la PU actual entre las PUs a las que pertenece la CU actual. Por ejemplo, el índice de partición se puede indicar con partIdx.
En referencia a la figura 5, por ejemplo, en el modo de segmentación NxN mostrado en la referencia 520 de la figura 5, el índice de partición de una PU situada en una parte superior derecha de una CU puede corresponderse con 1. Por lo tanto, si se asigna 1 al índice de partición de la PU actual, el valor del índice de partición puede indicar que la PU actual es una PU situada en la parte superior derecha de la CU actual. Como otro ejemplo, en un modo de segmentación 2NxnU mostrado en la referencia 530 en la figura 5, un índice de partición de una PU situada en un lado izquierdo de una CU se puede corresponder con 0. Por lo tanto, si se asigna 0 al índice de partición de la PU actual, el valor del índice de partición puede indicar que la PU actual es una PU situada en el lado izquierdo de la CU actual.
El método de asignación del índice de partición en cada modo de segmentación mostrado en la figura 5 está destinado solamente a una realización, y, por lo tanto, el método de determinación de si se asigna el índice de partición y de asignar el índice de partición puede diferir con respecto a la realización antes mencionada. Por ejemplo, en el modo de segmentación 2NxnU mostrado con la referencia 530 en la figura 5, el índice de partición de la PU situada en el lado izquierdo de la CU se puede corresponder con 1. Como otro ejemplo, en un modo de segmentación 2Nx2N, puesto que la CU no se segmenta en una pluralidad de PUs, no se puede asignar un índice de partición a la PU. En lo sucesivo en la presente, para facilitar la explicación, en la realización de la presente invención que se describe a continuación se considera que el modo de segmentación y el índice de partición mostrados en la figura 5 se aplican cuando se llevan a cabo la codificación y la descodificación.
En lo sucesivo, en la presente invención, bloque actual es un bloque para el cual se está llevando en ese momento un proceso de codificación, descodificación y/o predicción, y puede implicar un bloque correspondiente a una unidad de procesado cuando se lleva a cabo el proceso de codificación, descodificación y/o predicción. Por ejemplo, si el proceso de predicción se lleva a cabo sobre el bloque actual, el bloque actual puede corresponderse con un bloque por predecir correspondiente a una PU actual. Además, en la presente invención, a un bloque generado por la predicción se le denomina bloque de predicción.
“Unidad” implica una unidad de procesado cuando se lleva a cabo la codificación, descodificación, etc., y, por lo tanto, puede distinguirse de “bloque” que indica un grupo de píxeles y/o muestras. No obstante, para facilitar la explicación, “unidad” puede referirse, opcionalmente, al “bloque” que se corresponde con la “unidad” en la presente invención. Por ejemplo, en lo sucesivo en la presente invención, a un bloque por predecir correspondiente a una PU se le puede hacer referencia como PU, y a un bloque por codificar/descodificar y correspondiente a una CU se le puede hacer referencia como CU. Dicha distinción será entendida claramente por aquellos con conocimientos habituales en la materia.
Al mismo tiempo, si se realiza una predicción inter sobre un bloque actual, para reducir la cantidad de información de transmisión basada en la predicción se puede usar un modo de predicción tal como una predicción de vectores de movimiento avanzada (AMVP), un modo de fusión y/o un modo de omisión.
Un bloque actual en el modo de fusión se puede fusionar con otro bloque (por ejemplo, un bloque vecino, en la presente el bloque vecino incluye un bloque adyacente al bloque actual y/o el bloque más próximo, en cuanto a ubicación, a una esquina exterior del bloque actual) en una imagen actual y/o una imagen de referencia. En este caso, se dice que el bloque se fusiona cuando se adquiere información de movimiento a partir de información de movimiento de otro bloque en una imagen actual y/o una imagen de referencia en la predicción inter del bloque actual.
Los ejemplos de información del bloque actual relacionada con la fusión pueden incluir información que indica si el modo de predicción para el bloque actual es un modo de fusión, información que indica con qué candidato a la fusión se fusiona el bloque actual entre candidatos a la fusión incluidos en una lista de candidatos a la fusión, etc. En lo sucesivo en este documento, a la información que indica si el modo de predicción para el bloque actual es el modo de fusión se le denomina bandera de fusión, y a la información que indica con qué candidato a la fusión se fusiona el bloque actual entre los candidatos a la fusión incluidos en la lista de candidatos a la fusión se le denomina índice de fusión. Por ejemplo, la bandera de fusión se puede indicar con merge_flag, y el índice de fusión se puede indicar con merge_idx. En este caso, el índice de fusión se puede adquirir solamente cuando la bandera de fusión indica que el modo de predicción para el bloque actual es el modo de fusión (por ejemplo, merge_flag=1).
El modo de omisión es un modo de predicción en el que se omite la transmisión de una señal residual la cual es una diferencia entre el bloque de predicción y el bloque actual. En el modo de omisión, el valor de la señal residual del bloque de predicción y el bloque actual puede ser 0. Por lo tanto, en el modo de omisión, el codificador puede no transmitir la señal residual al descodificador, y el descodificador puede generar un bloque de predicción usando solamente información de movimiento entre la señal residual y la información de movimiento. En el modo de omisión, el codificador puede transmitir la información de movimiento al descodificador. En este caso, la información de movimiento puede designar un bloque cualquiera entre bloques vecinos del bloque actual, de manera que la información de movimiento del bloque se usa para el bloque actual.
En el modo de omisión que se ha mencionado anteriormente, con vistas a adquirir la información de movimiento del bloque actual, se puede usar el mismo método que se utiliza en el modo de fusión. En este caso, en el modo de omisión y el modo de fusión, como bloque candidato para obtener la información de movimiento se pueden usar los mismos bloques vecinos. Por ejemplo, en el modo de omisión, como información de movimiento del bloque actual se puede usar directamente información de movimiento de un bloque candidato a la fusión indicado por un índice de fusión entre candidatos a la fusión incluidos en una lista de candidatos a la fusión. En este caso, el modo de omisión se puede denominar también modo de omisión de fusión. En lo sucesivo en este documento, el modo de omisión implica el modo de omisión de fusión que se ha mencionado antes en la presente invención. A continuación, haciendo referencia a la figura 6, se describirá una realización específica de un método de predicción inter en el modo de fusión.
La figura 6 es un diagrama de flujo que muestra brevemente una realización de un método de predicción inter en un modo de fusión. La realización de la figura 6 se puede aplicar a un codificador y a un descodificador. En lo sucesivo en este documento, la realización de la figura 6 se centra en el descodificador para facilitar la explicación.
En referencia a la figura 6, el descodificador puede generar una lista de candidatos a la fusión consistente en una pluralidad de candidatos a la fusión (etapa S610). El descodificador puede obtener la pluralidad de candidatos a la fusión usando un proceso específico, y puede generar la lista de candidatos a la fusión basándose en el candidato a la fusión obtenido. En este caso, la información de movimiento incluida en un bloque en una imagen actual y/o un bloquecol[del ingléscollocated]en una imagen de referencia que no sea la imagen actual se puede usar como candidato a la fusión y/o se puede usar para obtener el candidato a la fusión. En lo sucesivo en la presente, con vistas a facilitar la explicación, a la información de movimiento usada como candidato a la fusión se le denomina “bloque candidato a la fusión” en la presente invención. A continuación se describirá una realización de candidatos a la fusión usados para generar la lista de candidatos a la fusión.
En referencia de nuevo a la figura 6, el descodificador puede obtener la información de movimiento del bloque actual basándose en la lista de candidatos a la fusión generada (etapa S620).
Más específicamente, el descodificador puede seleccionar un candidato a la fusión usado para obtener la información de movimiento del bloque actual entre candidatos a la fusión que constituyen la lista de candidatos a la fusión. En una realización, el descodificador puede seleccionar como candidato a la fusión usado para obtener la información de movimiento del bloque actual un candidato a la fusión indicado por un índice de fusión transmitido desde el codificador. En este caso, el descodificador puede obtener la información de movimiento del bloque actual basándose en el candidato a la fusión seleccionado. Por ejemplo, el descodificador puede usar la información de movimiento del candidato a la fusión seleccionado directamente como información de movimiento del bloque actual.
Cuando se obtiene la información de movimiento del bloque actual, el codificador puede generar un bloque de predicción para el bloque actual basándose en la información de movimiento obtenida (etapa S630).
La figura 7 es una vista esquemática que muestra una realización de candidatos a la fusión usados para generar una lista de candidatos a la fusión.
Cuando se aplica un modo de fusión según se ha descrito anteriormente, puede obtenerse información de movimiento de un bloque actual basándose en una información de movimiento cualquiera entre candidatos a la fusión incluidos en la lista de candidatos a la fusión. Por ejemplo, entre los candidatos a la fusión incluidos en la lista de candidatos a la fusión, como información de movimiento del bloque actual se puede usar una información de movimiento cualquiera. En este caso, se puede transmitir una señal residual junto con la información de movimiento, y si un valor de píxel de un bloque de predicción se usa directamente como valor de píxel del bloque actual, la señal residual puede no transmitirse.
Con la referencia 710 de la figura 7 se muestra una realización de candidatos a la fusión usados para generar una lista de candidatos a la fusión. En referencia al numeral 710 de la figura 7, como bloque candidato a la fusión se puede usar un bloque vecino izquierdo A del bloque actual y/o un bloque vecino superior B del bloque actual. En este caso, tal como se ilustra, el bloque vecino izquierdo del bloque actual puede ser un bloque situado en la parte más alta entre bloques adyacentes a un lado izquierdo del bloque actual, y el bloque vecino superior del bloque actual puede ser un bloque situado en el lado de más a la izquierda entre bloques adyacentes a una parte superior del bloque actual. Además, como bloque candidato a la fusión se puede usar un bloque C de la esquina inferior izquierda y/o un bloque D de la esquina superior derecha. El bloque vecino izquierdo A, el bloque vecino superior B, el bloque C de la esquina inferior izquierda, y el bloque D de la esquina superior derecha antes mencionados pueden corresponderse con bloques vecinos del bloque actual situado en una imagen actual. Por lo tanto, a los candidatos a la fusión obtenidos a partir de los bloques candidatos a la fusión se les puede denominar candidatos a la fusión espacial. Además, desde otra perspectiva, puesto que el candidato a la fusión espacial se puede usar para predecir un vector de movimiento del bloque actual, al mismo también se le puede denominar predictor de vector de movimiento espacial (SMVP).
Adicionalmente, como bloque candidato a la fusión se puede usar un bloquecolCOL de la referencia 710 de la figura 7. El bloquecolse puede corresponder con un bloque en una imagen de referencia que no sea la imagen actual. Más específicamente, un codificador y un descodificador pueden seleccionar como bloquecolun bloque en una ubicación específica en la imagen de referencia y/o una ubicación determinada por un proceso específico. En la presente, la ubicación del bloquecolse puede obtener basándose en un bloque de un bloque actual y/o una imagen de referencia en ubicación conjunta con el bloque actual (en lo sucesivo en este documento, denominado “bloque situado conjuntamente”, para facilitar la explicación). El bloquecolantes mencionado es un bloque obtenido a partir de la imagen de referencia. Por lo tanto, a un candidato a la fusión obtenido a partir del bloquecolse le puede denominar candidato a la fusión temporal. Adicionalmente, desde otra perspectiva, puesto que el candidato a la fusión temporal se puede usar para predecir un vector de movimiento del bloque actual, al mismo se le puede denominar predictor de vector de movimiento temporal (TMVP).
En la referencia 720 de la figura 7 se muestra otra realización de candidatos a la fusión usados para generar una lista de candidatos a la fusión. En referencia al numeral 720 de la figura 7, la lista de candidatos a la fusión puede incluir como candidato a la fusión información de movimiento de un bloque A0 de la esquina inferior izquierda, un bloque B0 de la esquina superior derecha, y/o un bloque B2 de la esquina superior izquierda. Adicionalmente, la lista de candidatos a la fusión puede incluir como candidato a la fusión información de movimiento de un bloque vecino izquierdo A1 del bloque actual y/o un bloque vecino superior B1 del bloque actual. En este caso, el bloque vecino izquierdo A1 puede ser un bloque situado en la parte más baja entre bloques adyacentes a un lado izquierdo del bloque actual, y el bloque vecino superior B1 puede ser un bloque situado en el lado de más a la derecha entre bloques adyacentes a una parte superior del bloque actual. El bloque A0 de la esquina inferior izquierda, el bloque vecino izquierdo A1, el bloque B0 de la esquina superior derecha, el bloque vecino superior B1 y el bloque B2 de la esquina superior izquierda antes mencionados se pueden corresponder con bloques vecinos del bloque actual situado en la imagen actual. Por lo tanto, a los candidatos a la fusión obtenidos a partir de los bloques candidatos a la fusión se les puede denominar candidatos a la fusión espacial. Además, desde otra perspectiva, puesto que el candidato a la fusión espacial se puede usar para predecir un vector de movimiento del bloque actual, al mismo también se le puede denominar predictor de vector de movimiento espacial (SMVP).
Adicionalmente, en la referencia 720 de la figura 7, de manera similar a la 710 de la figura 7, como candidato a la fusión incluido en la lista de candidatos a la fusión se puede usar información de movimiento de un bloquecol.Tal como se ha descrito anteriormente, el bloquecolse puede corresponder con un bloque de una imagen de referencia que no sea la imagen actual. En la presente, la ubicación del bloquecolse puede obtener basándose en el bloque actual y/o en un bloque situado conjuntamente. El bloquecolantes mencionado es un bloque obtenido a partir de la imagen de referencia. Por lo tanto, a un candidato a la fusión obtenido a partir del bloquecolse le puede denominar candidato a la fusión temporal. Además, desde otra perspectiva, puesto que el candidato a la fusión temporal se puede usar para predecir un vector de movimiento del bloque actual, al mismo se le puede denominar predictor de vector de movimiento temporal (TMVP).
Los candidatos a la fusión usados para generar la lista de candidatos a la fusión en la presente invención no se limitan a la realización antes mencionada, y, por lo tanto, los candidatos a la fusión se pueden obtener, opcionalmente, de manera diferente con respecto a la realización antes mencionada. No obstante, a no ser que se especifique lo contrario en la presente invención, se considera, en lo sucesivo en este documento, que, para predecir el modo de fusión en función de un bloque por predecir (y/o el bloque actual), se usan candidatos a la fusión situados conjuntamente según se muestra en la referencia 720 de la figura 7. Además, en lo sucesivo en este documento, cuando, en la presente invención, se describe un contenido referente a un candidato a la fusión de una PU por fusionar/omitir, el bloque más próximo, en cuanto a ubicación, a una esquina inferior izquierda fuera de la PU se indica con Ac, el bloque situado en la parte más baja entre bloques adyacentes a un lado izquierdo de la PU se indica con Ai, el bloque más próximo, en cuanto a ubicación, a una esquina superior derecha fuera de la PU se indica con Bo, el bloque situado en el lado de más a la derecha entre bloques adyacentes a una parte superior de la PU se indica con Bi, y el bloque más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera de la PU se indica con B2.
En referencia a la realización de la figura 7, el método de selección de candidatos a la fusión que constituyen una lista de candidatos a la fusión se puede ampliar de manera diversa. Un codificador y un descodificador pueden configurar la lista de candidatos a la fusión seleccionando candidatos a la fusión de acuerdo con la realización antes mencionada de la figura 7. En este caso, cuando se seleccionan los candidatos a la fusión, para reducir la redundancia el codificador y el descodificador pueden configurar la lista de candidatos a la fusión excluyendo candidatos redundantes.
Además, en la realización antes mencionada de la figura 7, el número de candidatos a la fusión que constituyen la lista de candidatos a la fusión se puede limitar a un número fijo específico. Por ejemplo, en la realización de la referencia 720 de la figura 7, se considera que el número de candidatos a la fusión es 5, y los candidatos a la fusión se añaden y/o introducen en la lista de candidatos a la fusión en el orden de {Ai, Bi, Bo, Ac, B2, COL}. En este caso, si los bloques Ai, Bi, Bo, Ac, B2 y COL están, todos ellos, disponibles, como candidatos a la fusión incluidos en la lista de candidatos a la fusión se puede determinar solamente información de movimiento de los bloques Ai, Bi, Bo, Ac y COL. Como otro ejemplo, entre los bloques Ai, Bi, Bo, Ac, B2 y COL, el número de bloques disponibles puede ser inferior a 5. En este caso, el codificador y el descodificador pueden obtener un candidato a la fusión nuevo usando un proceso específico basándose en el candidato a la fusión disponible, de manera que el número de candidatos a la fusión obtenidos finalmente es 5.
Al mismo tiempo, por ejemplo, cuando se realiza una predicción inter en un modo de fusión y/o un modo de omisión, el codificador y el descodificador pueden llevar a cabo secuencialmente una estimación de movimiento (ME) para cada PU. No obstante, como otro ejemplo, para mejorar el rendimiento de codificación/descodificación, el codificador y el descodificador pueden llevar a cabo la ME simultáneamente para una pluralidad de PUs. Es decir, la ME en el modo de fusión y/o el modo de omisión se puede llevar a cabo en paralelo para la pluralidad de PUs, y en este caso, a la ME se le puede denominar ME en paralelo. En lo sucesivo en este documento, en la presente invención, al modo de fusión al cual se aplica la ME en paralelo se le denomina modo de fusión en paralelo y/o fusión en paralelo, y al modo de omisión al cual se le aplica la Me en paralelo se le denomina modo de omisión en paralelo y/u omisión en paralelo.
Para facilitar la explicación, las realizaciones que se describen a continuación se centran en el modo de fusión en paralelo. No obstante, las realizaciones que se describen a continuación no se limitan al modo de fusión en paralelo, sino que también puede aplicarse el mismo método o uno similar al modo de omisión en paralelo.
La figura 8 es una vista esquemática que muestra una realización de una unidad de procesado en paralelo en un modo de fusión y un modo de omisión.
El bloque completo mostrado en la figura 8 indica un bloque de árbol de codificación (CTB), y el CTB puede corresponderse con la unidad de codificación más grande (LCU). Tal como se ha descrito anteriormente, el CTB puede tener una estructura jerárquica consistente en unidades de codificación más pequeñas a través de la segmentación, y cada unidad de codificación se puede usar como una PU ó se puede segmentar en una pluralidad de PUs. Por lo tanto, cada uno de los bloques cuadrados y bloques rectangulares que constituyen el CTB de la figura 8 se puede corresponder con una PU.
Al mismo tiempo, cada uno de los bloques cuadrados indicados con las referencias 8 io, 82o, 83o y 84o de la figura 8 puede indicar una unidad de procesado en paralelo para llevar a cabo una ME en paralelo. Es decir, la LCU se puede segmentar en una pluralidad de unidades de procesado en paralelo no redundantes. En este documento, la pluralidad de unidades de procesado en paralelo puede tener, por ejemplo, el mismo tamaño. En este caso, el codificador y el descodificador pueden llevar a cabo la ME simultáneamente para todas las PUs dentro de una unidad de procesado en paralelo. Por ejemplo, la ME se puede llevar a cabo en paralelo para una PU A y una PU B incluidas en la unidad 8 io de procesado en paralelo. La unidad de procesado en paralelo se corresponde con un área en la que se aplica la ME en paralelo, y, por lo tanto, también se le puede denominar región de estimación de movimiento (MER). En lo sucesivo en este documento, para facilitar la explicación, a la unidad de procesado en paralelo para llevar a cabo la ME en paralelo se le denomina MER en la presente invención.
i3
Cuando la ME en paralelo se aplica en el modo de fusión y/o el modo de omisión, es necesario que el codificador transmite información relacionada con la ME en paralelo al descodificador. Tal como se ha descrito anteriormente, puesto que la ME en paralelo se puede aplicar a todas las PUs dentro de la MER, la información transmitida desde el codificador al descodificador se puede corresponder con un nivel de procesado en paralelo en el modo de fusión y/o el modo de omisión. En la presente, el nivel de procesado en paralelo se puede corresponder con el tamaño de la unidad de procesado en paralelo para llevar a cabo la ME en paralelo, y, por lo tanto, también se puede corresponder con el tamaño de la MER. Por ejemplo, si se lleva a cabo la ME en paralelo en una unidad de un bloque que tiene un tamaño de 32x32, es decir, si el tamaño de la MER se corresponde con 32x32, puede decirse que la M<e>en paralelo se lleva a cabo en un nivel de procesado en paralelo de 32x32. El nivel de procesado en paralelo indica un nivel de procesado en paralelo en el modo de fusión y/o el modo de omisión de fusión, y, por lo tanto, también se le puede denominar nivel de fusión en paralelo.
En la presente, el nivel de procesado en paralelo se puede limitar dentro de un intervalo específico. Por ejemplo, el nivel de procesado en paralelo se puede limitar de manera que sea inferior a un tamaño entre 4x4 y el tamaño de la LCU. En este caso, la MER puede tener un tamaño inferior o igual a un tamaño de LCU y/o un tamaño de CTB.
La información relacionada con el nivel de procesado en paralelo antes mencionado se puede transmitir desde el codificador al descodificador incluyéndola en un conjunto de parámetros de secuencia (SPS) o conjunto de parámetros de imagen (PPS) sobre un flujo continuo de bits. La información relacionada con el nivel de procesado en paralelo incluida en el PPS se puede definir, por ejemplo, mediante un elemento de sintaxis incluido en la siguiente Tabla 1:
Tabla 1
En la presente, log2_parallel_merge_level_minus2 puede indicar un nivel de procesado en paralelo en el modo de fusión y/o el modo de omisión. Más específicamente, un valor asignado a log2_parallel_merge_level_minus2 puede corresponderse con un valor obtenido restando 2 de un valor logarítmico del nivel de procesado en paralelo real, es decir, el valor logarítmico del tamaño de MER real. Si el tamaño mínimo de una PU es 4x4, el valor mínimo del valor logarítmico del nivel de procesado en paralelo se puede corresponder con 2. Por lo tanto, para reducir la cantidad de información de transmisión, el valor obtenido al restar 2 del valor logarítmico del nivel de procesado en paralelo real se puede asignar a log2_parallel_merge_level_minus2.
La información de nivel de procesado en paralelo definida en el PPS no se limita a la realización antes mencionada. En la realización de la Tabla 1, las sintaxis que indican una información diferente a la información relacionada con el nivel de procesado en paralelo se pueden aplicar opcionalmente de manera diferente.
Al mismo tiempo, en la Tabla 1, log2_parallel_merge_level_minus2 puede tener el mismo significado que una de las realizaciones de la siguiente Tabla 2 en función del valor asignado.
T l 2
En referencia a la Tabla 2, si se asigna un valor 0 a log2_parallel_merge_level_minus2, el tamaño de la MER se puede corresponder con 4x4. En este caso, puesto que el tamaño de la PU más pequeña es 4x4, el codificador y el descodificador pueden llevar a cabo la ME secuencialmente para todas las PUs en la LCU. Como otro ejemplo, si se asigna un valor 2 a log2_parallel_merge_level_minus2, el tamaño de la MER se puede corresponder con 16x16. En este caso, el codificador y el descodificador pueden llevar a cabo una ME en paralelo en un nivel de procesado en paralelo de 16x16. Es decir, el codificador y el descodificador pueden llevar a cabo la ME en paralelo para todas las PUs en un bloque de 16x16. Asimismo, incluso si se asigna otro valor a log2_parallel_merge_level_minus2, el codificador y el descodificador pueden llevar a cabo la ME en paralelo usando un método similar de acuerdo con el valor asignado.
Al mismo tiempo, un bloque de árbol de codificación puede incluir una pluralidad de CUs. En este caso, una unidad de procesado en paralelo, es decir, una MER, puede incluir una PU ó puede tener el mismo tamaño que una CU. Adicionalmente, una MER puede incluir una pluralidad de CUs.
Por ejemplo, en referencia a la figura 8, la MER 810 puede tener el mismo tamaño que una CU consistente en una PU A y una PU B. Adicionalmente, la MER 830 y la MER 840 tienen el mismo tamaño, respectivamente, que una CU G y una CU H. Por ello, si una CU tiene el mismo tamaño que la MER, puede observarse que se lleva a cabo una ME en paralelo para la CU en una unidad de CU. Por otro lado, la MER 820 puede incluir una C<u>C (en este documento, la C<u>C se corresponde con una PU C), una CU D (en este documento, la CU D incluye una PU D1 y una PU D2), una CU E (en este documento, la CU E se corresponde con una PU E), y una CU F (en este documento, la CU F incluye una PU F1 y una PU F2). En este caso, la ME en el modo de fusión y/o el modo de omisión se puede llevar a cabo en paralelo para todas las PUs C, D1, D2, E, F1 y F2 en la MER 820.
Al mismo tiempo, tal como se ha descrito anteriormente en referencia a la realización de la figura 8, para llevar a cabo la ME en paralelo en el modo de fusión y/o el modo de omisión, debe permitirse la ejecución independiente de una predicción inter y/o una ME para una unidad de procesado en paralelo, es decir, para todas las PUs en la MER. No obstante, en el modo de fusión y/o el modo de omisión antes mencionados, puede aparecer un problema en relación con la ME en paralelo.
La figura 9 es una vista esquemática para explicar un problema que se produce cuando se lleva a cabo una ME en paralelo en un modo de fusión. Cada una de las referencias 910, 920, 930 y 940 de la figura 9 indica una CU.
Tal como se ha descrito anteriormente en la figura 8, una unidad de procesado en paralelo, es decir, una MER, puede tener el mismo tamaño que una CU actual, o puede no tener el mismo tamaño. En la realización de la figura 9 se considera que el tamaño de la m Er es el mismo que el de la CU actual. En este caso, cada CU mostrada en la figura 9 puede corresponderse con una unidad de procesado en paralelo, y, en este caso, una ME en paralelo se puede llevar a cabo en una unidad de CU. No obstante, los problemas que se describen a continuación en referencia a la figura 9 también pueden producirse de la misma manera o similarmente en un caso en el que el tamaño de la MER sea mayor que la CU actual.
En la referencia 910 de la figura 9, el modo de segmentación de una CU (y/ó PU) es 2Nx2N. Por lo tanto, una CU se puede usar como PU A sin segmentar y, por ello, no puede producirse el problema provocado por una ME en paralelo.
En la referencia 920 de la figura 9, el modo de segmentación de una CU (y/ó PU) es 2NxN. En este caso, para una ME en paralelo, la ME se lleva a cabo simultáneamente para una PU superior B1 y una PU inferior B2. No obstante, entre los candidatos a la fusión para la PU inferior B2, la información de movimiento de un bloque 925 situado en el lado de más a la derecha y adyacente a una parte superior de la PU inferior B2 puede usarse como candidato a la fusión de la PU inferior B2 cuando se completa la codificación/descodificación de la PU superior B1. Por ello, puesto que la PU inferior B2 usa información de movimiento perteneciente a la PU superior B1, la ME no se puede llevar a cabo simultáneamente para PUs pertenecientes a la CU en la referencia 920 de la figura 9.
En la referencia 930 de la figura 9, el modo de segmentación de una CU (y/ó PU) es Nx2N. En este caso, para una ME en paralelo, la ME se debe llevar a cabo simultáneamente para una PU izquierda C1 y una PU derecha C2. No obstante, entre los candidatos a la fusión para la PU derecha C2, la información de movimiento de un bloque 935 situado en la parte más baja y adyacente a un lado izquierdo de la PU derecha C2 se puede usar como candidato a la fusión de la PU derecha C2 cuando se completa la codificación/descodificación de la PU izquierda C1. Por ello, puesto que la PU derecha C2 usa información de movimiento perteneciente a la PU izquierda C1, la ME no se puede llevar a cabo simultáneamente para PUs pertenecientes a la CU en la referencia 930 de la figura 9.
En la referencia 940 de la figura 9, el modo de segmentación de una CU (y/ó PU) es NxN. En este caso, para una ME en paralelo, la ME se debe llevar a cabo simultáneamente para una PU superior izquierda D1, una PU superior derecha D2, una PU inferior izquierda D3, y una PU inferior derecha D4. No obstante, por ejemplo, entre los candidatos a la fusión para la PU inferior derecha D4, la información de movimiento de un bloque 941 situado en una esquina superior izquierda de la PU inferior derecha D4, un bloque 943 situado en el lado de más a la derecha y adyacente a una parte superior de la PU inferior derecha D4, y un bloque 945 situado en la parte más baja y adyacente a un lado izquierdo de la PU inferior derecha D4 puede usarse como candidato a la fusión de la Pu inferior derecha D4 cuando se completa la codificación/descodificación de la PU superior izquierda D1, la PU superior derecha D2 y la PU inferior izquierda D3. Además, en la referencia 940 de la figura 9, en la PU superior derecha D2 y la PU inferior izquierda D3 también puede producirse un problema similar al de la PU inferior derecha D4 antes mencionada. Por ello, PUs diferentes a la PU superior izquierda D1 usan información de movimiento perteneciente a otras PUs, y, por tanto, la ME no se puede llevar a cabo simultáneamente para PUs pertenecientes a la CU en la referencia 940 de la figura 9.
Aunque en la realización antes mencionada se describe solamente un problema para un caso en el que el modo de segmentación de la CU (y/ó PU) es 2Nx2N, 2NxN, Nx2N y NxN, dicho problema también se puede producir de manera igual o similar en otro modo de segmentación (por ejemplo, 2NxnU, 2NxnD, nLx2N ó nRx2N). En lo sucesivo en este documento, se describirán un método de obtención de un candidato a la fusión y un método de configuración de una lista de candidatos para resolver los problemas antes descritos en referencia a la figura 9 de acuerdo con una realización de la presente invención.
La figura 10 es una vista esquemática que muestra una realización de un método de obtención de un candidato a la fusión para permitir una ME en paralelo. Las referencias 1010 a 1060 de la figura 10 indican, cada una de ellas, una CU, y un número marcado en una PU perteneciente a cada CU indica un índice de partición.
Para facilitar la explicación, en la realización de la figura 10 se supone que una MER tiene el mismo tamaño que una CU actual. En este caso, cada CU mostrada en la figura 10 se puede corresponder con una unidad de procesado en paralelo, y, en este caso, puede llevarse a cabo una ME en paralelo en una unidad de CU. No obstante, las siguientes realizaciones de la figura 10 se pueden aplicar igualmente a cada una de las CUs pertenecientes a un nivel de procesado en paralelo incluso si el tamaño de la MER, es decir, el nivel de procesado en paralelo, es mayor que la CU.
Al mismo tiempo, tal como se ha descrito anteriormente en referencia a la figura 9, dentro de una MER para la cual se lleva a cabo una ME en paralelo, puede haber una PU que use otro bloque (y/ó PU) para la cual no se complete la codificación/descodificación. En este caso, la ME no se puede llevar a cabo simultáneamente para PUs pertenecientes a la MER. Por esta razón, con el fin de resolver este problema, el codificador y el descodificador no pueden usar como bloque candidato a la fusión un bloque del cual no hay disponible información de movimiento. Es decir, el codificador y el descodificador pueden tratar el bloque como no disponible en un proceso de obtención de un candidato a la fusión, y no pueden añadir la información de movimiento del bloque a una lista de candidatos a la fusión.
En la referencia 1010 de la figura 10, el modo de segmentación de una CU (y/ó PU) es 2NxN, y los candidatos a la fusión de una PU inferior tienen un índice de partición 1. En este caso, entre los bloques A0, A1, B0, B1 y B2 usados como bloque candidato a la fusión, el bloque B1 es un bloque perteneciente a otra PU en la misma CU. Por lo tanto, puesto que el bloque B1 es un bloque que no se puede usar en una ME en paralelo, el mismo se puede tratar como no disponible, y no se puede usar como bloque candidato a la fusión de la PU inferior. En este caso, la información de movimiento del bloque no se puede añadir a la lista de candidatos a la fusión.
Además, en la ME de la PU inferior con el índice de partición 1, la información de movimiento del bloque A0 y el bloque B0 puede no estar disponible. Esto es debido a que puede tratarse de un estado en el que la codificación y/o la descodificación de los bloques no está completa de acuerdo con el orden de codificación/descodificación. En este caso, puesto que el bloque A0 y el bloque B0 son bloques que no se pueden usar en la ME en paralelo, los bloques se pueden tratar como no disponibles, y no se pueden usar como bloque candidato a la fusión de la PU inferior. En este caso, no se puede añadir información de movimiento del bloque a la lista de candidatos a la fusión.
Tal como se muestra en la realización de la referencia 1010 de la figura 10, si los bloques que no se pueden usar en la ME en paralelo se tratan como no disponibles, el número de candidatos a la fusión espacial obtenidos para la PU inferior con el índice de partición 1 puede ser 2. En este caso, si se suma 1 al número de los candidatos a la fusión espacial teniendo en cuenta un candidato a la fusión temporal, el número máximo de candidatos a la fusión disponibles obtenidos para la PU inferior puede ser 3.
En la referencia 1020 de la figura 10, el modo de segmentación de una CU (y/ó PU) es 2NxnU, y los candidatos a la fusión de una PU inferior tienen un índice de partición 1. En este caso, entre los bloques Ac, A1, B0, B1 y B2 usados como bloque candidato a la fusión, el bloque B1 es un bloque perteneciente a otra PU en la misma CU. Por lo tanto, puesto que el bloque B1 es un bloque que no se puede usar en una ME en paralelo, el mismo se puede tratar como no disponible, y no se puede usar como bloque candidato a la fusión de la PU inferior. En este caso, no se puede añadir información de movimiento del bloque a la lista de candidatos a la fusión.
Además, en la ME de la PU inferior con el índice de partición 1, puede que no esté disponible información de movimiento del bloque A0 y el bloque B0. Esto es debido a que puede tratarse de un estado en el que la codificación y/o la descodificación de los bloques no está completa de acuerdo con el orden de codificación/descodificación. En este caso, puesto que el bloque A0 y el bloque B0 son bloques que no se pueden usar en la ME en paralelo, los bloques se pueden tratar como no disponibles, y no se pueden usar como bloque candidato a la fusión de la PU inferior. En este caso, no se puede añadir información de movimiento del bloque a la lista de candidatos a la fusión.
Tal como se muestra en la realización de la referencia 1020 de la figura 10, si los bloques que no se pueden usar en la ME en paralelo se tratan como no disponibles, el número de candidatos a la fusión espacial obtenidos para la PU inferior con el índice de partición 1 puede ser 2. En este caso, si se suma 1 al número de los candidatos a la fusión espacial teniendo en cuenta un candidato a la fusión temporal, el número máximo de candidatos a la fusión disponibles obtenidos para la PU inferior puede ser 3.
En la referencia 1030 de la figura 10, el modo de segmentación de una CU (y/ó PU) es 2NxnD, y los candidatos a la fusión de una PU inferior tienen un índice de partición 1. En este caso, entre los bloques A0, A1, B0, B1 y B2 usados como bloque candidato a la fusión, el bloque B1 es un bloque perteneciente a otra PU en la misma CU. Por lo tanto, puesto que el bloque B1 es un bloque que no se puede usar en una ME en paralelo, el mismo se puede tratar como no disponible, y no se puede usar como bloque candidato a la fusión de la PU inferior. En este caso, no se puede añadir información de movimiento del bloque a la lista de candidatos a la fusión.
Además, en la ME de la PU inferior con el índice de partición 1, puede que no esté disponible información de movimiento del bloque A0 y el bloque B0. Esto es debido a que puede tratarse de un estado en el que la codificación y/o la descodificación de los bloques no está completa de acuerdo con el orden de codificación/descodificación. En este caso, puesto que el bloque A0 y el bloque B0 son bloques que no se pueden usar en la ME en paralelo, los bloques se pueden tratar como no disponibles, y no se pueden usar como bloque candidato a la fusión de la PU inferior. En este caso, no se puede añadir información de movimiento del bloque a la lista de candidatos a la fusión.
Tal como se muestra en la realización de la referencia 1030 de la figura 10, si los bloques que no se pueden usar en la ME en paralelo se tratan como no disponibles, el número de candidatos a la fusión espacial obtenidos para la PU inferior con el índice de partición 1 puede ser 2. En este caso, si se suma 1 al número de los candidatos a la fusión espacial teniendo en cuenta un candidato a la fusión temporal, el número máximo de candidatos a la fusión disponibles obtenidos para la PU inferior puede ser 3.
En la referencia 1040 de la figura 10, el modo de segmentación de una CU (y/ó PU) es Nx2N, y los candidatos a la fusión de una PU derecha tienen un índice de partición 1. En este caso, entre los bloques A0, A1, B0, B1 y B2 usados como bloque candidato a la fusión, el bloque A1 es un bloque perteneciente a otra PU en la misma CU. Por lo tanto, puesto que el bloque A1 es un bloque que no se puede usar en una ME en paralelo, el mismo se puede tratar como no disponible, y no se puede usar como bloque candidato a la fusión de la PU inferior. En este caso, la información de movimiento del bloque no se puede añadir a la lista de candidatos a la fusión.
Además, en la ME de la PU derecha con el índice de partición 1, la información de movimiento del bloque A0 puede no estar disponible. Esto es debido a que puede tratarse de un estado en el que la codificación y/o la descodificación de los bloques no está completa de acuerdo con el orden de codificación/descodificación. En este caso, puesto que el bloque A0 es un bloque que no se puede usar en la ME en paralelo, el bloque se puede tratar como no disponible, y no se puede usar como bloque candidato a la fusión de la PU derecha. En este caso, no se puede añadir información de movimiento del bloque a la lista de candidatos a la fusión.
Tal como se muestra en la realización de la referencia 1040 de la figura 10, si los bloques que no se pueden usar en la ME en paralelo se tratan como no disponibles, el número de candidatos a la fusión espacial obtenidos para la PU derecha con el índice de partición 1 puede ser 3. En este caso, si se suma 1 al número de los candidatos a la fusión espacial teniendo en cuenta un candidato a la fusión temporal, el número máximo de candidatos a la fusión disponibles obtenidos para la PU derecha puede ser 4.
En la referencia 1050 de la figura 10, el modo de segmentación de una CU (y/ó PU) es nLx2N, y los candidatos a la fusión de una PU derecha tienen un índice de partición 1. En este caso, entre los bloques A0, A1, B0, B1 y B2 usados como bloque candidato a la fusión, el bloque A1 es un bloque perteneciente a otra PU en la misma CU. Por lo tanto, puesto que el bloque A1 es un bloque que no se puede usar en una ME en paralelo, el mismo se puede tratar como no disponible, y no se puede usar como bloque candidato a la fusión de la PU derecha. En este caso, la información de movimiento del bloque no se puede añadir a la lista de candidatos a la fusión.
Además, en la ME de la PU derecha con el índice de partición 1, la información de movimiento del bloque A0 puede no estar disponible. Esto es debido a que puede tratarse de un estado en el que la codificación y/o la descodificación de los bloques no está completa de acuerdo con el orden de codificación/descodificación. En este caso, puesto que el bloque A0 es un bloque que no se puede usar en la ME en paralelo, el bloque se puede tratar como no disponible, y no se puede usar como bloque candidato a la fusión de la PU derecha. En este caso, no se puede añadir información de movimiento del bloque a la lista de candidatos a la fusión.
Tal como se muestra en la realización de la referencia 1050 de la figura 10, si los bloques que no se pueden usar en la ME en paralelo se tratan como no disponibles, el número de candidatos a la fusión espacial obtenidos para la PU derecha con el índice de partición 1 puede ser 3. En este caso, si se suma 1 al número de los candidatos a la fusión espacial teniendo en cuenta un candidato a la fusión temporal, el número máximo de candidatos a la fusión disponibles obtenidos para la PU derecha puede ser 4.
En la referencia 1060 de la figura 10, el modo de segmentación de una CU (y/ó PU) es nRx2N, y los candidatos a la fusión de una PU derecha tienen un índice de partición 1. En este caso, entre los bloques A0, A1, B0, B1 y B2 usados como bloque candidato a la fusión, el bloque A1 es un bloque perteneciente a otra PU en la misma CU. Por lo tanto, puesto que el bloque A1 es un bloque que no se puede usar en una ME en paralelo, el mismo se puede tratar como no disponible, y no se puede usar como bloque candidato a la fusión de la PU derecha. En este caso, la información de movimiento del bloque no se puede añadir a la lista de candidatos a la fusión.
Además, en la ME de la PU derecha con el índice de partición 1, la información de movimiento del bloque A0 puede no estar disponible. Esto es debido a que puede tratarse de un estado en el que la codificación y/o la descodificación de los bloques no está completa de acuerdo con el orden de codificación/descodificación. En este caso, puesto que el bloque A0 es un bloque que no se puede usar en la ME en paralelo, el bloque se puede tratar como no disponible, y no se puede usar como bloque candidato a la fusión de la PU derecha. En este caso, no se puede añadir información de movimiento del bloque a la lista de candidatos a la fusión.
Tal como se muestra en la realización de la referencia 1060 de la figura 10, si los bloques que no se pueden usar en la ME en paralelo se tratan como no disponibles, el número de candidatos a la fusión espacial obtenidos para la PU derecha con el índice de partición 1 puede ser 3. En este caso, si se suma 1 al número de los candidatos a la fusión espacial teniendo en cuenta un candidato a la fusión temporal, el número máximo de candidatos a la fusión disponibles obtenidos para la PU derecha puede ser 4.
De acuerdo con la realización antes mencionada, en el proceso de obtención de un candidato a la fusión espacial, el codificador y el descodificador pueden tratar un bloque vecino de una PU como no disponible basándose en una condición específica. Esto se puede expresar de la manera siguiente.
Si una de las siguientes condiciones es verdadera, la availableFlagN se fija igual a 0, ambos componentes mvLXN se fijan iguales a 0, refIdxLXN y predFlagLX[ xN, yN ] de la unidad de predicción que cubren la posición de luma (xN, yN) se asignan respectivamente a mvLXN, refIdxLXN y predFlagLXN.
En la presente, availableFlagN es una bandera que indica si un bloque N (donde N es uno de A0, A1, B0, B1 y B2) es un bloque disponible que se puede usar como bloque candidato a la fusión. Adicionalmente, mvLXN indica un vector de movimiento del bloque N, y refIdxLXN indica un índice de imagen de referencia del bloque N. En la presente, X puede tener un valor de 0 ó 1. Adicionalmente, predFlagLXN se puede corresponder con una bandera que indica si se realiza una predicción de LX sobre el bloque N.
Puede haber varios tipos de condición para tratar el bloque vecino de la PU como no disponible. Por ejemplo, si el bloque N es un bloque B2, y los bloques A0, A1, B0 y B1 están todos ellos disponibles, para mantener el número de candidatos a la fusión a 5, esto se puede gestionar de manera que el bloque B2 no esté disponible. Además, si el modo de predicción del bloque vecino es un modo intra, esto se puede gestionar de manera que el bloque no esté disponible. Esto se puede expresar de la manera siguiente.
- N es igual a B2 y
availableFlagAo availableFlagA1 availableFlagBo availableFlagB1 es igual a 4.
- La unidad de predicción que cubre la posición de luma ( xN, yN ) no está disponible ó PredMode es MODE_INTRA.
Adicionalmente, tal como se ha descrito en la realización antes mencionada, si el modo de segmentación de una CU (y/ó PU) actual es 2NxN, 2NxnU ó 2NxnD, y el índice de partición de una PU actual es 1, el bloque B1 se puede tratar como no disponible. Adicionalmente, si el modo de segmentación de la CU (y/ó PU) actual es Nx2N, nLx2N ó nRx2N, y el índice de partición de la PU actual es 1, el bloque A1 se puede tratar como no disponible. Esto se puede expresar de la manera siguiente.
- PartMode de la unidad de predicción actual es PART_2NxN ó PART_2NxnU ó PART_2NxnD y PartIdx es igual a 1 y N es igual a B1
- PartMode de la unidad de predicción actual es PART_Nx2N ó PART_nLx2N ó PART_nRx2N y PartIdx es igual a 1 y N es igual a A1
Las dos últimas condiciones arriba mencionadas pueden habilitar una ME en paralelo para todas las PUs pertenecientes a la misma CU permitiendo que PUs pertenecientes a la misma CU no presenten una dependencia mutua. Adicionalmente, si una PU usa información de movimiento perteneciente a otra PU en la misma CU, PUs rectangulares de la misma CU tienen la misma información de movimiento y, por lo tanto, finalmente pueden tener la misma información de movimiento que en el modo de segmentación 2Nx2N. En este caso, las dos últimas condiciones antes mencionadas pueden evitar que las PUs rectangulares tengan la misma información de movimiento que en el modo de segmentación 2Nx2N.
La figura 11 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión para permitir una ME en paralelo. Las referencias 1110 a 1130 de la figura 11 indican, cada una de ellas, una CU, y un número marcado en una PU perteneciente a cada CU indica un índice de partición.
Para facilitar la explicación, se considera en la realización de la figura 11 que una MER tiene el mismo tamaño que una CU actual. En este caso, cada CU mostrada en la figura 11 puede corresponderse con una unidad de procesado en paralelo, y, en este caso, una ME en paralelo se puede llevar a cabo en una unidad de CU. No obstante, las siguientes realizaciones de la figura 11 pueden aplicarse igualmente a cada una de las CUs pertenecientes a un nivel de procesado en paralelo incluso si el tamaño de la MER, es decir, el nivel de procesado en paralelo, es mayor que la CU.
Al mismo tiempo, la realización de la figura 10 antes descrita se corresponde con un caso en el que el modo de segmentación de una CU (y/ó PU) es 2NxN, 2NxnU, 2NxnD, Nx2N, nLx2N y nRx2N. No obstante, incluso si el modo de segmentación de la CU (y/ó PU) es NxN, dentro de una MER para la cual se lleva a cabo una ME en paralelo, puede haber una PU que use otro bloque (y/ó PU) para la cual no se complete la codificación/descodificación. En este caso, la ME no se puede llevar a cabo simultáneamente para PUs pertenecientes a la MER. Por esta razón, con el fin de resolver este problema, el codificador y el descodificador no pueden usar como bloque candidato a la fusión información de movimiento de un bloque del cual no hay disponible información de movimiento. Es decir, el codificador y el descodificador pueden tratar el bloque como no disponible en un proceso de obtención de un candidato a la fusión, y no pueden añadir la información de movimiento del bloque a una lista de candidatos a la fusión.
En la referencia 1110 de la figura 11, el modo de segmentación de una CU (y/ó PU) es NxN, y los candidatos a la fusión de una PU superior derecha tienen un índice de partición 1. En este caso, entre los bloques A0, A1 , B0, B1 y B2 usados como bloque candidato a la fusión, el bloque A0 y el bloque A1 son bloques pertenecientes a otra PU en la misma CU. En este caso, la PU superior derecha presenta una dependencia con otra PU en la misma CU. Por lo tanto, puesto que el bloque A0 y el bloque A1 son bloques que no se pueden usar en una ME en paralelo, el mismo se puede tratar como no disponible, y no se puede usar como bloque candidato a la fusión de la PU superior derecha. En este caso, no se puede añadir a la lista de candidatos a la fusión información de movimiento del bloque.
Tal como se muestra en la realización de la referencia 1110 de la figura 11, si los bloques que no se pueden usar en la ME en paralelo se tratan como no disponibles, el número de candidatos a la fusión espacial obtenidos para la PU superior derecha con el índice de partición 1 puede ser 3. En este caso, si se suma 1 al número de los candidatos a la fusión espacial teniendo en cuenta un candidato a la fusión temporal, el número máximo de candidatos a la fusión disponibles obtenidos para la PU superior derecha puede ser 4.
En la referencia 1120 de la figura 11, el modo de segmentación de una CU (y/ó PU) es NxN, y los candidatos a la fusión de una PU inferior izquierda tienen un índice de partición 2. En este caso, entre los bloques A0, A1 , B0, B1 y B2 usados como bloque candidato a la fusión, el bloque B0 y el bloque B1 son bloques pertenecientes a otra PU en la misma CU. En este caso, la PU inferior izquierda presenta una dependencia con otra PU en la misma CU. Por lo tanto, puesto que el bloque B0 y el bloque B1 son bloques que no se pueden usar en una ME en paralelo, el mismo se puede tratar como no disponible, y no se puede usar como bloque candidato a la fusión de la PU inferior izquierda. En este caso, no se puede añadir a la lista de candidatos a la fusión información de movimiento del bloque.
Además, en la ME de la PU inferior izquierda con el índice de partición 2, la información de movimiento del bloque Ao puede no estar disponible. Esto es debido a que puede tratarse de un estado en el que la codificación y/o la descodificación de los bloques no está completa de acuerdo con el orden de codificación/descodificación. En este caso, puesto que el bloque A0 es un bloque que no se puede usar en una ME en paralelo, los bloques se pueden tratar como no disponibles, y no se pueden usar como bloque candidato a la fusión de la PU inferior izquierda. En este caso, no se puede añadir información de movimiento del bloque a la lista de candidatos a la fusión.
Tal como se muestra en la realización de la referencia 1120 de la figura 11, si los bloques que no se pueden usar en la ME en paralelo se tratan como no disponibles, el número de candidatos a la fusión espacial obtenidos para la PU inferior izquierda con el índice de partición 2 puede ser 2. En este caso, si se suma 1 al número de los candidatos a la fusión espacial teniendo en cuenta un candidato a la fusión temporal, el número máximo de candidatos a la fusión disponibles obtenidos para la PU inferior izquierda puede ser 3.
En la referencia 1130 de la figura 11, el modo de segmentación de una CU (y/ó PU) es NxN, y los candidatos a la fusión de una PU inferior derecha tienen un índice de partición 3. En este caso, entre los bloques A0, A1 , B0, B1 y B2 usados como bloque candidato a la fusión, el bloque A1, el bloque B1 y el bloque B2 son bloques pertenecientes a otra PU de la misma CU. En este caso, la PU inferior derecha presenta una dependencia con otra PU en la misma CU. Por lo tanto, puesto que el bloque A1 , el bloque B1 y el bloque B2 son bloques que no se pueden usar en una ME en paralelo, esto se puede gestionar como si no estuvieran disponibles, y no se pueden usar como bloque candidato a la fusión de la PU inferior derecha. En este caso, no se puede añadir a la lista de candidatos a la fusión información de movimiento del bloque.
Además, en la ME de la PU inferior derecha con el índice de partición 3, la información de movimiento del bloque A0 y el bloque B0 puede no estar disponible. Esto es debido a que puede tratarse de un estado en el que la codificación y/o la descodificación de los bloques no está completa de acuerdo con el orden de codificación/descodificación. En este caso, puesto que el bloque A0 y el bloque B0 son bloques que no se pueden usar en la ME en paralelo, los bloques se pueden tratar como no disponibles, y no se pueden usar como bloque candidato a la fusión de la PU inferior derecha. En este caso, no se puede añadir información de movimiento del bloque a la lista de candidatos a la fusión.
Tal como se muestra en la realización de la referencia 1130 de la figura 11, si los bloques que no se pueden usar en la ME en paralelo se tratan como no disponibles, el número de candidatos a la fusión espacial obtenidos para la PU inferior derecha con el índice de partición 3 puede ser 0. En este caso, si se suma 1 al número de los candidatos a la fusión espacial teniendo en cuenta un candidato a la fusión temporal, el número máximo de candidatos a la fusión disponibles obtenidos para la PU inferior derecha puede ser 1.
De acuerdo con la realización antes mencionada, en el proceso de obtención de un candidato a la fusión espacial, el codificador y el descodificador pueden tratar un bloque vecino de una PU como no disponible basándose en una condición específica. Tal como se ha descrito anteriormente en referencia a la figura 10, puede haber varios tipos de condición para tratar el bloque vecino de la PU como no disponible.
De acuerdo con la realización de la figura 11, si el modo de segmentación de una CU (y/ó PU) actual es NxN y el índice de partición de una PU actual es 1, el bloque A0 y el bloque A1 se pueden tratar como no disponibles. Además, si el modo de segmentación de la CU (y/ó PU) actual es NxN y el índice de partición de la PU actual es 2, el bloque B0 y el bloque B1 se pueden tratar como no disponibles. Además, si el modo de segmentación de la CU (y/ó PU) actual es NxN y el índice de partición de la PU actual es 3, el bloque A1 , el bloque B1 y el bloque B2 se pueden tratar como no disponibles. Las tres condiciones antes mencionadas se pueden añadir de la manera siguiente en la realización descrita en la figura 10.
Si una de las siguientes condiciones es verdadera, la availableFlagN se fija igual a 0, ambos componentes mvLXN se fijan iguales a 0, refIdxLXN y predFlagLX[ xN, yN ] de la unidad de predicción que cubren la posición de luma ( xN, yN) se asignan respectivamente a mvLXN, refIdxLXN y predFlagLXN.
- N es igual a B2 y
availableFlagA0 availableFlagA1 availableFlagB0 availableFlagB1 es igual a 4.
- La unidad de predicción que cubre la posición de luma ( xN, yN ) no está disponible ó PredMode es MODE_INTRA. - PartMode de la unidad de predicción actual es PART_2NxN ó PART_2NxnU ó PART_2NxnD y PartIdx es igual a 1 y N es igual a B1
- PartMode de la unidad de predicción actual es PART_Nx2N ó PART_nLx2N ó PART_nRx2N y PartIdx es igual a 1 y N es igual a A1
- PartMode de la unidad de predicción actual es PART_NxN y PartIdx es igual a 1 y N es igual a A0 ó A1
- PartMode de la unidad de predicción actual es PART_NxN y PartIdx es igual a 2 y N es igual a B0 ó B1
- PartMode de la unidad de predicción actual es PART_NxN y PartIdx es igual a 3 y N es igual a A1 ó B1 ó B2
Las tres condiciones añadidas en la realización antes mencionada pueden evitar que una PU perteneciente a una CU remita a información de movimiento de otra PU perteneciente a la misma CU. Por lo tanto, de acuerdo con la realización antes mencionada, pueden obtenerse candidatos a la fusión espacial en paralelo para todas las PUs pertenecientes a la misma CU.
Al mismo tiempo, si las realizaciones antes mencionadas de la figura 10 y la figura 11 se aplican en un modo de fusión en paralelo y/o un modo de omisión en paralelo, el número máximo de candidatos a la fusión disponibles que se puede obtener para cada PU se puede estimar de acuerdo con el modo de segmentación y el índice de partición. El número máximo de candidatos a la fusión disponibles para cada PU se puede estimar sumando el número de candidatos temporales (por ejemplo, 1) al número de candidatos a la fusión espacial disponibles que se pueden usar en una ME en paralelo. Por ejemplo, en cada modo de segmentación de la figura 10 y la figura 11, pueden obtenerse hasta 5 candidatos a la fusión disponibles para una PU que tenga un valor de índice de partición 0. Como otro ejemplo, en un modo de segmentación de 2NxN según se muestra en la referencia 1010 de la figura 10, pueden obtenerse hasta 3 candidatos a la fusión disponibles para una PU que tenga un índice de partición 1. El número máximo de candidatos a la fusión disponibles obtenidos para cada PU se puede expresar por medio de la siguiente Tabla 3 de acuerdo con el modo de segmentación y el índice de partición.
T l
En este documento, PartMode indica un modo de segmentación de una CU (ó PU), y partIdx indica un índice de partición de una PU. Además, maxNumMergeCand indica el número máximo de candidatos a la fusión disponibles obtenidos para una PU correspondiente.
No obstante, si el número de candidatos a la fusión se limita a 5 según se ha descrito anteriormente en referencia a la figura 7, el índice de fusión indica uno de los 5 candidatos a la fusión. En este caso, para transmitir el índice de fusión se puede usar una cantidad de bits correspondiente a los 5 candidatos a la fusión. No obstante, tal como se ha descrito anteriormente, el número máximo de candidatos a la fusión disponibles obtenidos de la PU puede ser inferior a 5, y en este caso, la cantidad de bits requerida para transmitir el índice de fusión puede ser inferior a la cantidad de bits correspondiente a los 5 candidatos a la fusión. Es decir, la cantidad de bits real requerida para la transmisión del índice de fusión se puede reducir de manera proporcional al número de bloques tratados como no disponibles. En este caso, cuando un bit que se está usando supera la cantidad de bits real requerida para la transmisión del índice de fusión, se puede considerar que el bit se está desperdiciando con respecto al índice de fusión.
Para resolver el problema antes mencionado, el codificador y el descodificador pueden llevar a cabo una codificación/descodificación sobre un índice de fusión aplicando el número de candidatos a la fusión optimizado en función del modo de segmentación y el índice de partición, con lo cual es posible reducir o ahorrar la cantidad de bits que se puede usar para la transmisión del índice de fusión.
En una de las realizaciones, una tabla tal como la Tabla 3 se puede almacenar en el codificador y el descodificador. En este caso, el codificador puede determinar el número máximo de candidatos a la fusión disponibles obtenidos para cualquier PU de acuerdo con el modo de segmentación y el índice de partición basándose en la tabla antes mencionada. Además, el codificador puede codificar el índice de fusión para la PU basándose en el número máximo y puede transmitir el índice de fusión codificado al descodificador. En este caso, en la transmisión del índice de fusión se usa solamente una cantidad de bits correspondiente al número máximo, y, por lo tanto, la cantidad de bits usada en la transmisión del índice de fusión se puede reducir. Puesto que la tabla se almacena igualmente en el descodificador, el número máximo de candidatos a la fusión disponibles obtenidos para cualquier PU se puede determinar en el mismo método que el correspondiente usado en el codificador. En este caso, basándose en el número máximo, el descodificador puede descodificar el índice de fusión transmitido desde el codificador.
Al mismo tiempo, en referencia al numeral 1130 de la figura 11 y la Tabla 2, si el modo de segmentación de la CU (y/ó PU) es NxN y el valor del índice de partición de la PU perteneciente a la CU es 3, solamente un candidato a la fusión temporal puede corresponderse con un candidato a la fusión disponible perteneciente a la PU. En este caso, el número máximo de candidatos a la fusión disponibles obtenidos para la PU puede ser 1. Si el número máximo de candidatos a la fusión disponibles es 1, el descodificador puede saber qué candidato a la fusión se usa para obtener información de movimiento de la PU sin tener que utilizar el índice de fusión. Por consiguiente, si el modo de segmentación de la CU (y/ó PU) es NxN y el índice de partición de la PU perteneciente a la CU es 3, el codificador puede no transmitir el índice de fusión para la PU al descodificador.
La figura 12 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión para habilitar una ME en paralelo. La referencia 1210 de la figura 12 indica una CU, y el número marcado en la PU perteneciente a cada CU indica el índice de partición.
Para facilitar la explicación, en la realización de la figura 12 se considera que una MER tiene el mismo tamaño que una CU actual. En este caso, cada CU mostrada en la figura 12 se puede corresponder con una unidad de procesado en paralelo, y, en este caso, puede llevarse a cabo una ME en paralelo en una unidad de CU. No obstante, las siguientes realizaciones de la figura 12 se pueden aplicar igualmente a cada una de las CUs pertenecientes a un nivel de procesado en paralelo incluso si el tamaño de la MER, es decir, el nivel de procesado en paralelo, es mayor que la CU.
En las realizaciones antes mencionadas de la figura 10 y la figura 11, los candidatos a la fusión correspondientes a un bloque del cual no hay disponible información de movimiento cuando se lleva a cabo la ME en paralelo se pueden tratar como no disponibles y, por lo tanto, pueden no añadirse a la lista de candidatos a la fusión. En este caso, los candidatos a la fusión tratados como no disponibles se pueden sustituir por un candidato a la fusión el cual se usa cuando el modo de segmentación de una CU (y/ó PU) actual es 2Nx2N.
En la referencia 1210 de la figura 12, el modo de segmentación de la CU (y/ó PU) actual es 2NxN, y la PU para la cual se lleva a cabo la ME en ese momento es una PU inferior que tiene un índice de partición 1. En este caso, tal como se ha descrito anteriormente en referencia a la figura 10, entre los bloques A0, A1, B0, B1 y B2 usados como bloque candidato a la fusión, el bloque A0, el bloque B0 y el bloque B1 son bloques que no se pueden usar en la ME en paralelo, y, por lo tanto, se pueden tratar como no disponibles.
No obstante, si el modo de segmentación de la CU (y/ó PU) actual es 2Nx2N, el bloque B0' (es decir, el bloque más próximo, en cuanto a ubicación, a una esquina superior derecha fuera de la CU actual) y el bloque B1' (es decir, el bloque más próximo, en cuanto a ubicación, al lado más a la derecha entre bloques adyacentes a una parte superior de la Cu actual) pueden tener información de movimiento disponible cuando se lleva a cabo la ME en paralelo. Por lo tanto, el codificador y el descodificador pueden usar el bloque B0' como bloque candidato a la fusión de una PU inferior en lugar del bloque B0, y pueden usar el bloque B1' como bloque candidato a la fusión de una PU inferior en lugar del bloque B1.
Aunque la realización antes mencionada se limita a un caso en el que el modo de segmentación de la CU (y/ó PU) actual es 2NxN, la presente invención no se limita a ello. Es decir, el método antes mencionado de obtención del candidato a la fusión se puede aplicar de manera similar a un caso en el que el modo de segmentación de la CU actual sea Nx2N, NxN, 2NxnU,2NxnD,nLx2N ó nRx2N.
Al mismo tiempo, el codificador y el descodificador pueden obtener y usar un candidato a la fusión común y/o una lista de candidatos a la fusión comunes con respecto a una pluralidad de PUs para las cuales se lleva a cabo la M<e>en paralelo, posibilitando así la ME en paralelo. Uno de los métodos de ME en paralelo basados en el candidato a la fusión común y/o la lista de fusión común se puede aplicar independientemente con respecto a la realización antes mencionada de la figura 10 y/o la figura 11, o también se puede aplicar al codificador/descodificador en asociación con la realización de la figura 10 y/o la figura 11. En lo sucesivo en la presente invención, a un candidato a la fusión usado de manera común para una pluralidad de PUs se le denomina “candidato a la fusión común”, y a una lista de candidatos a la fusión usada de manera común para la pluralidad de PUs se le denomina “lista de candidatos a la fusión única”.
En este caso, la unidad por la cual se obtienen el candidato a la fusión común y/o la lista de candidatos a la fusión única puede ser una unidad específica predeterminada. En la presente, la unidad específica se puede determinar por medio de un número, y puede ser una CU, una MER y/o una LCU. Además, la unidad por la cual se obtienen el candidato a la fusión común y/o la lista de candidatos a la fusión única se puede determinar en el codificador. En este caso, el codificador puede codificar información sobre la unidad y transmitirla al descodificador. En este caso, el descodificador puede determinar la unidad según la cual se obtienen el candidato a la fusión común y/o la lista de candidatos a la fusión única, basándose en la información transmitida. En lo sucesivo en la presente invención, a la unidad antes mencionada por la cual se obtienen el candidato a la fusión común y/o la lista de candidatos a la fusión única se le denomina “unidad de compartición de candidatos a la fusión”.
Por ejemplo, si la unidad de compartición de candidatos a la fusión es la CU, todas las PUs (es decir, PUs que tienen un modo de fusión y/o un modo de omisión) de una CU pueden compartir un candidato a la fusión común para la CU y/o una lista de compartición de fusión única para la CU. En este caso, si el modo de segmentación de la CU (y/ó PU perteneciente a la CU) es 2Nx2N, la lista de candidatos a la fusión única puede ser igual a la lista de candidatos a la fusión de la PU perteneciente a la CU. Como otro ejemplo, si la unidad de compartición de candidatos a la fusión es la LCU, todas las PUs (es decir, PUs con el modo de fusión y/o el modo de omisión) de una LCU pueden compartir un candidato a la fusión común para la LCU y/o la lista de candidatos a la fusión única para la LCU. Como otro ejemplo, si la unidad de compartición de candidatos a la fusión es la MER, todas las PUs (es decir, PUs con el modo de fusión y/o el modo de omisión) de una MER pueden compartir el candidato a la fusión común para la MER y/o la lista de candidatos a la fusión única para la MER.
Si todas las PUs de una unidad de compartición de candidatos a la fusión comparten el candidato a la fusión común y/o la lista de candidatos a la fusión única, puede producirse en cierta medida una pérdida de codificación. Por lo tanto, el codificador y el descodificador pueden determinar selectivamente el método de obtención de candidatos a la fusión y/o el método de obtención de la lista de candidatos a la fusión basándose en una bandera de compartición de candidatos a la fusión. En este documento, la bandera de compartición de candidatos a la fusión se puede corresponder con una bandera para indicar si se obtiene y usa la lista de candidatos a la fusión única para todas las PUs de la unidad de compartición de candidatos a la fusión o si se obtiene y usa una lista de candidatos a la fusión individual para cada PU. La bandera de compartición de candidatos a la fusión se puede indicar, por ejemplo, mediante parallel_merge_cand_flag, parallel_merge_derivation_flag o singleMCLFlag.
Por ejemplo, si el valor de la bandera de compartición de candidatos a la fusión es 1, la bandera puede indicar que todas las PUs de la unidad de compartición de candidatos a la fusión comparten el candidato a la fusión común y/o la lista de candidatos a la fusión única. Es decir, en este caso, la bandera puede indicar que la ubicación de un candidato a la fusión (es decir, candidato a la fusión espacial y/o candidato a la fusión temporal) es idéntica para todas las PUs de la unidad de compartición de candidatos a la fusión. Además, si la bandera de compartición de candidatos a la fusión es 0, la bandera puede indicar que se obtiene y usa una lista de candidatos a la fusión individual para cada PU.
Por ejemplo, la bandera de compartición de candidatos a la fusión antes mencionada puede ser una bandera que sea codificada por el codificador y se transmita al descodificador. En este caso, la bandera de compartición de candidatos a la fusión se puede definir en un SPS, un PPS, un conjunto de parámetros de adaptación (APS) o un encabezamiento de franja(slice).Es decir, la bandera de compartición de candidatos a la fusión se puede incluir en el SPS, PPS, APS o encabezamiento de franja antes mencionados y se puede transmitir desde el codificador al descodificador. En este caso, el descodificador puede determinar el método de obtención de candidatos a la fusión y/o el método de obtención de candidatos a la fusión basándose en la bandera transmitida.
En otra realización, el valor correspondiente a la bandera de compartición de candidatos a la fusión se puede obtener usando el mismo método que el utilizado en el codificador y el descodificador. En este caso, el codificador no puede transmitir al descodificador información relacionada con la bandera de compartición de candidatos a la fusión.
Por ejemplo, se supone que la unidad de compartición de candidatos a la fusión es una CU. En este caso, el valor asignado a la bandera de compartición de candidatos a la fusión se puede determinar basándose en el tamaño de una MER y/o el tamaño de una CU actual. Por ejemplo, el codificador y el descodificador pueden asignar un valor 1 a la bandera de compartición de candidatos a la fusión únicamente cuando el tamaño de la MER, es decir, un nivel de procesado en paralelo, es mayor de 4x4, y el tamaño de la CU actual es 8x8. En este documento, si el valor de la bandera de compartición de candidatos a la fusión es 1, la bandera puede indicar que todas las PUs de la unidad de compartición de candidatos a la fusión comparten un candidato a la fusión común y/o una lista de candidatos a la fusión única. Es decir, el codificador y el descodificador pueden permitir que todas las PUs de la CU actual puedan compartir el candidato a la fusión común y/o la lista de candidatos a la fusión única solamente cuando el nivel de procesado en paralelo es mayor de 4x4 y el tamaño de la CU actual es 8x8. En este caso, si el nivel de procesado en paralelo es 4x4 ó el tamaño de la CU actual no es 8x8, se puede asignar un valor 0 a la bandera de compartición de candidatos a la fusión. En este documento, si el valor de la bandera de compartición de candidatos a la fusión es 0, la bandera puede indicar que se obtiene y usa una lista de candidatos a la fusión individual para cada PU.
En lo sucesivo en este documento, se describirá, de acuerdo con una de las realizaciones de la presente invención, un método de obtención de un candidato a la fusión común para PUs en una unidad de compartición de candidatos a la fusión.
La figura 13 es una vista esquemática que muestra una realización de un método de obtención de un candidato a la fusión común para PUs de una unidad de compartición de candidatos a la fusión.
Las referencias 1310 a 1330 de la figura 13 indican, cada una de ellas, una CU idéntica, y el modo de segmentación de la CU (y/ó PU) se corresponde con Nx2N. Además, PartIdx indica un índice de partición, PU0 indica una PU cuyo valor de índice de partición es 0 y PU1 indica una PU cuyo valor de índice de partición es 1.
Al mismo tiempo, para facilitar la explicación, en la realización de la figura 13 se supone que la unidad de compartición de candidatos a la fusión es una CU. En este caso, cada CU de la figura 13 se puede corresponder con la unidad de compartición de candidatos a la fusión. El tamaño de la unidad de compartición de candidatos a la fusión puede ser igual o diferente con respecto a una MER, es decir, el tamaño de una unidad de procesado en paralelo.
La referencia 1310 de la figura 13 indica candidatos a la fusión de una PU izquierda que tiene un índice de partición 0. Además, la referencia 1320 de la figura 13 indica candidatos a la fusión de una PU derecha que tiene un índice de partición 1. En referencia a los numerales 1310 y 1320 de la figura 13, cada una de las PUs de la CU (es decir, unidad de compartición de candidatos a la fusión) puede tener una lista de candidatos a la fusión independiente.
En este caso, el bloque Ai en la referencia 1320 de la figura 13 puede ser un bloque perteneciente a una PU derecha. Por lo tanto, puesto que la PU derecha usa información de movimiento perteneciente a la PU izquierda, puede llevarse a cabo simultáneamente una ME para la PU izquierda y la PU derecha. En este caso, el codificador y el descodificador pueden permitir una ME en paralelo tratando el bloque A1 como no disponible, y también pueden permitir la ME en paralelo usando como candidato a la fusión común información de movimiento de un bloque que tiene información de movimiento disponible.
En referencia al numeral 1330 de la figura 13, las PUs de una CU (es decir, unidad de compartición de candidatos a la fusión) pueden tener candidatos a la fusión comunes (y/o una lista de candidatos a la fusión común). Es decir, todas las PUs de la CU en la referencia 1330 de la figura 13 pueden tener un candidato a la fusión común (y/o una lista de candidatos a la fusión única).
En la presente, el candidato a la fusión común puede ser por ejemplo igual al candidato a la fusión obtenido cuando el modo de segmentación de la CU actual 1330 es 2Nx2N. Más específicamente, el codificador y el descodificador pueden usar como candidato a la fusión común para la PU izquierda, es decir, PU0, y la PU derecha, es decir, PU1, información de movimiento del bloque A0 más próximo, en cuanto a ubicación, a una esquina inferior izquierda fuera de la CU 1330, un bloque A1 situado en la parte más baja entre bloques adyacentes a un lado izquierdo de la CU 1330, el bloque B0 más próximo, en cuanto a ubicación, a una esquina superior derecha fuera de la CU 1330, el bloque B1 situado en el lado de más a la derecha entre bloques adyacentes a una parte superior de la CU 1330 y el bloque B2 más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera de la CU 1330.
En la realización antes mencionada de la referencia 1330 de la figura 13, todas las PUs de una CU (es decir, unidad de compartición de candidatos a la fusión) pueden compartir un candidato a la fusión común (es decir, candidato a la fusión obtenido cuando el modo de segmentación de la CU actual 1330 es 2Nx2N) y/o una lista de candidatos a la fusión única. Es decir, todas las PUs de la CU (es decir, unidad de compartición de candidatos a la fusión) pueden usar un candidato a la fusión situado conjuntamente. Por lo tanto, el método antes mencionado de obtención del candidato a la fusión común puede reducir la complejidad de codificación y puede facilitar una ME en paralelo.
El método antes mencionado de obtención de candidatos a la fusión comunes está destinado solamente a una realización, y, por lo tanto, el modo de segmentación en el cual se aplica el método de obtención de candidatos a la fusión comunes no se limita a Nx2N. El método antes mencionado de obtención de candidatos a la fusión comunes se puede aplicar también de una manera idéntica o similar a un caso en el que el modo de segmentación de una CU (y/ó PU) actual es un modo 2Nx2N, un modo 2NxN, un modo NxN, un modo 2NxnU, un modo 2NxnD, un modo nLx2N ó un modo nRx2N. Es decir, todas las PUs de una CU pueden compartir un candidato a la fusión común y/o una lista de candidatos a la fusión única con independencia del modo de segmentación de la CU (y/ó PU). En este caso, como candidato a la fusión común el codificador y el descodificador pueden usar un bloque el cual existe en la misma ubicación que el candidato a la fusión usado cuando el modo de segmentación de la CU (y/ó PU) es 2Nx2N.
Por ejemplo, incluso si el modo de segmentación de la CU (y/ó PU) actual es el modo NxN, todas las PUs (es decir, una PU que tiene un índice de partición 0, una PU que tiene un índice de partición 1, una PU que tiene un índice de partición 2 y una PU que tiene un índice de partición 3) de la CU actual pueden compartir el candidato a la fusión común y/o la lista de candidatos a la fusión única. Además, como candidato a la fusión común puede obtenerse información de movimiento de un bloque el cual existe en la misma ubicación que el bloque candidato a la fusión usado cuando el modo de segmentación de la CU (y/ó PU) actual es 2Nx2N.
En general, el bloque candidato a la fusión y/o el candidato a la fusión de la PU se pueden especificar por medio de una ubicación relativa con respecto a la PU. Por lo tanto, pueden determinarse candidatos a la fusión de una PU basándose en una coordenada (por ejemplo, (xP, yP)) situada en la parte superior de más a la izquierda en la PU, la anchura (por ejemplo, nPbW) de la PU y la altura (por ejemplo, nPbH) de la PU.
No obstante, si se usan el candidato a la fusión común y/o la lista de candidatos a la fusión única, el candidato a la fusión común es igual que el candidato a la fusión obtenido cuando el modo de segmentación de la CU (y/ó PU) es 2Nx2N, y, por lo tanto, se puede especificar con una ubicación relativa con respecto a la CU. Por lo tanto, si se usan el candidato a la fusión común y/o la lista de candidatos a la fusión única, el codificador y el descodificador pueden reconfigurar una coordenada de un píxel situado en la parte superior de más a la izquierda en la PU a una coordenada (por ejemplo, (xC, yC)) de un píxel situado en la parte superior de más a la izquierda en una CU a la cual pertenece la PU. Además, el codificador y el descodificador pueden reconfigurar la anchura de la PU y la altura de la PU como anchura (por ejemplo, nCS) de la C<u>y altura de la CU (por ejemplo, nCS). En este caso, el descodificador y el codificador pueden determinar un candidato a la fusión de una Pu basándose en el valor reconfigurado, de manera que la PU usa un candidato a la fusión común en una ME en paralelo.
Al mismo tiempo, tal como se ha descrito anteriormente, si todas las PUs de una unidad de compartición de candidatos a la fusión comparten el candidato a la fusión común y/o la lista de candidatos a la fusión única, puede producirse en cierta medida una pérdida de codificación. Por lo tanto, el codificador y el descodificador pueden determinar selectivamente el método de obtención de candidatos a la fusión y/o el método de obtención de listas de candidatos a la fusión basándose en una bandera de compartición de candidatos a la fusión.
Por ejemplo, si el valor de la bandera de compartición de candidatos a la fusión es 1, la bandera puede indicar que todas las PUs de la unidad de compartición de candidatos a la fusión comparten el candidato a la fusión común y/o la lista de candidatos a la fusión única. Esto puede corresponderse con el método de obtención de candidatos a la fusión comunes mostrado en la referencia 1330 de la figura 13. Además, si la bandera de compartición de candidatos a la fusión es 0, la bandera puede indicar que se obtiene y usa una lista de candidatos a la fusión individual para cada PU. Esto puede corresponderse con el método de obtención de candidatos a la fusión mostrado en las referencias 1310 y 1320 de la figura 13.
Puesto que la bandera de compartición de candidatos a la fusión se ha descrito anteriormente de manera detallada, en este documento pueden omitirse descripciones detalladas de la misma.
La figura 14 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión común para PUs en una unidad de compartición de candidatos a la fusión.
Las referencias 1410 y 1430 de la figura 14 indican, cada una de ellas, una LCU (y/o bloque de árbol de codificación). La referencia 1430 de la figura 14 muestra una LCU que es igual a la LCU mostrada en la referencia 1410 de la figura 14, y, por lo tanto, los elementos constitutivos equivalentes pueden indicarse por referencias numerales equivalentes en 1410 y 1430 de la figura 14.
Al mismo tiempo, en la realización de la figura 14, para facilitar la explicación, se supone que una LCU consiste en cuatro MERs cuadradas que tienen el mismo tamaño, y la unidad de compartición de candidatos a la fusión para una PU en la LCU es igual a la unidad de MER. En este caso, la MER puede tener el mismo tamaño que la CU ó puede tener un tamaño diferente con respecto al de la CU de acuerdo con el tamaño de cada CU que constituye un bloque de árbol de codificación. En la realización de la figura 14, puesto que la MER se corresponde con la unidad de compartición de candidatos a la fusión, si la CU tiene el mismo tamaño que la MER, la CU puede corresponderse con la unidad de compartición de candidatos a la fusión. Por ejemplo, en un caso en el que el tamaño de la MER sea 8x8, si el tamaño de una CU actual es 8x8, la CU actual puede corresponderse con una unidad de compartición de candidatos a la fusión. Aunque la realización de la figura 14 se describe de acuerdo con un caso en el que la unidad de compartición de candidatos a la fusión es la unidad de MER, también puede aplicarse el mismo método o uno similar a un caso en el que la unidad de compartición de candidatos a la fusión sea la CU.
En referencia al numeral 1410 de la figura 14, en una MER 1413 puede incluirse una PU actual 1415 para la cual se lleva a cabo una ME. En lo sucesivo en este documento, a una MER a la que pertenece la PU actual 1415 se le denomina MER 1413 en la realización de la figura 14. En la referencia 1410 de la figura 14, se muestran los candidatos 1421, 1423, 1425, 1427 y 1429 a la fusión, de la PU actual 1415.
Entre los bloques 1421, 1423, 1425, 1427 y 1429 usados como bloques candidatos a la fusión, los bloques 1423, 1425 y 1427 son bloques pertenecientes a la MER actual 1413, y pueden ser bloques que pertenezcan a la misma MER que la PU actual 1415. Por lo tanto, los bloques 1423, 1425 y 1427 se corresponden con bloques para los cuales no se ha completado la codificación/descodificación en una ME en paralelo, y, por ello, no se pueden usar en una ME en paralelo de la PU actual 1415. Además, en la ME de la PU actual 1415 puede no haber disponible información de movimiento de los bloques 1421 y 1429. Esto es debido a que puede tratarse de un estado en el que la codificación y/o descodificación de los bloques se complete de acuerdo con un orden de codificación/descodificación. Por lo tanto, si se lleva a cabo sobre la PU actual una ME en el modo de fusión (y/o modo de omisión), los bloques candidatos a la fusión antes mencionados (es decir, un bloque perteneciente a la misma MER que la PU actual 1415 y/o un bloque para el cual la codificación/descodificación no se completa en la ME en paralelo) se pueden tratar como no disponibles.
Además, tal como se ha descrito anteriormente, el codificador y el descodificador pueden permitir la ME en paralelo usando el candidato a la fusión común y/o la lista de candidatos a la fusión única con respecto a una pluralidad de PUs de la unidad de compartición de candidatos a la fusión.
En referencia al numeral 1430 de la figura 14, PUs de una MER (es decir, unidad de compartición de candidatos a la fusión) pueden tener el candidato a la fusión común (y/o la lista de candidatos a la fusión única). Es decir, en la referencia 1430 de la figura 14, todas las PUs de la MER pueden compartir el candidato a la fusión común (por ejemplo, los bloques 1441, 1443, 1445, 1447 y 1449). En este caso, la PU actual 1415 puede usar el candidato a la fusión común en lugar de los candidatos 1421, 1423, 1425, 1427 y 1429 a la fusión.
En la presente, el candidato a la fusión común puede ser igual por ejemplo a un candidato a la fusión que se obtiene cuando una CU (y/ó PU perteneciente a la CU) que presenta el mismo tamaño que la MER actual 1413 tiene un modo de segmentación de 2Nx2N. Es decir, el codificador y el descodificador pueden usar como candidato a la fusión común un bloque situado fuera de la MER actual 1413, y el candidato a la fusión común se puede especificar mediante una ubicación relativa con respecto a la MER actual 1413.
En una de las realizaciones, el descodificador y el descodificador pueden usar como candidato a la fusión (es decir, candidato a la fusión común) de la PU actual 1415 información de movimiento del bloque 1441 más próximo, en cuanto a ubicación, a una esquina inferior izquierda fuera de la MER actual 1413, un bloque 1443 situado en la parte más baja entre bloques adyacentes a un lado izquierdo de la MER actual 1413, el bloque 1449 más próximo, en cuanto a ubicación, a una esquina superior derecha fuera de la MER actual 1413, un bloque 1447 situado en el lado de más a la derecha entre bloques adyacentes a una parte superior de la MER actual 1413 y el bloque 1445 más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera de la MER actual 1413. En este caso, si hay un bloque (por ejemplo, el bloque 1449 más próximo, en cuanto a ubicación, a la esquina superior derecha fuera de la MER actual 1413) que no tiene información de movimiento disponible entre los bloques, el codificador y el descodificador pueden tratar el bloque correspondiente como si no estuviera disponible o no pueden usarlo como bloque candidato a la fusión de la PU actual 1415. En otra realización, el codificador y el descodificador pueden usar un bloque 1444 adyacente a un lado izquierdo de la MER actual 1413 como bloque candidato a la fusión de la PU actual 1415, en lugar del bloque 1445 más próximo, en cuanto a ubicación, a la esquina superior izquierda fuera de la MER actual 1413. En este caso, el bloque 1444 puede ser un bloque situado en el centro entre bloques adyacentes al lado izquierdo de la MER actual 1413, o, si el número de bloques situados en el centro es 2, puede ser un bloque situado en una parte superior entre los dos bloques.
Tal como se muestra en la realización de la referencia 1430 de la figura 14, si se usa un candidato a la fusión común (y/o lista de candidatos a la fusión única) para todas las PUs de una unidad de compartición de candidatos a la fusión, puede usarse un bloque que incluye información de movimiento disponible como bloque candidato a la fusión en lugar de un bloque que se trate como no disponible. Por lo tanto, en este caso, puede mejorarse el rendimiento de codificación/descodificación en comparación con un caso en el que no se usa el candidato a la fusión común (y/o la lista de candidatos a la fusión única).
Tal como se ha descrito anteriormente, el codificador y el descodificador pueden usar bloques adyacentes a una PU (por ejemplo, el bloque más próximo, en cuanto a ubicación, a una esquina inferior izquierda fuera de la PU, un bloque situado en la parte más baja entre bloques adyacentes a un lado izquierdo de la PU, el bloque más próximo, en cuanto a ubicación, a una esquina superior derecha fuera de la PU, el bloque situado en el lado de más a la derecha entre bloques adyacentes a una parte superior de la PU y un bloque situado fuera de una MER a la cual pertenece la PU, como bloque candidato a la fusión de la PU. En lo sucesivo en la presente invención, para sustituir un candidato a la fusión obtenido a partir del bloque adyacente a la PU, al candidato a la fusión obtenido a partir del bloque situado fuera de la MER a la cual pertenece la PU se le denomina candidato a la fusión de MER.
La realización de la figura 14 puede considerarse como una realización del método de obtención de candidatos a la fusión de MER. En la realización de la figura 14, todas las PUs de una unidad de compartición de candidatos a la fusión pueden compartir un candidato a la fusión común (y/o una lista de candidatos a la fusión única). Por lo tanto, en la figura 14, todas las PUs de una MER (es decir, unidad de compartición de candidatos a la fusión) pueden tener el mismo candidato a la fusión de MER. El candidato a la fusión de MER se puede obtener como un candidato a la fusión común para todas las PUs en una MER tal como se muestra en la realización de la figura 14, y se puede obtener por separado para cada una de las PUs incluidas en una MER. En asociación con ello, en lo sucesivo en este documento se describirán de forma adicional realizaciones del método de obtención de candidatos a la fusión de MER.
La figura 15 es una vista esquemática que muestra una realización de un método de obtención de un candidato a la fusión de MER. Las referencias 1510 y 1520 de la figura 15 indican, cada una de ellas, una MER.
En referencia al numeral 1510 de la figura 15, una PU actual 1515 incluida en la MER actual 1510 puede tener 5 candidatos a la fusión espacial Ac, A1, B0, B1 y B2. No obstante, tal como se ilustra en la figura 14, los bloques correspondientes a los candidatos a la fusión espacial pueden no incluir información de movimiento disponible en una ME en paralelo, y, por lo tanto, se pueden tratar como no disponibles. En este caso, los candidatos a la fusión espacial A0, A1, B0, B1 y B2 se pueden sustituir, respectivamente, por los candidatos a la fusión de MER A0', A1', B0', B1' y B2' mostrados en la referencia 1510 de la figura 15. Es decir, el codificador y el descodificador pueden usar los candidatos a la fusión de MER A0', A1', B0', B1' y B2' como candidato a la fusión de la PU actual 1515. Puesto que la ubicación del candidato a la fusión de MER mostrado en la referencia 1510 de la figura 15 es la misma que la de la realización de la figura 14 en la práctica, se omitirán sus descripciones detalladas.
En referencia al numeral 1520 de la figura 15, una PU actual 1525 incluida en la MER actual 1520 puede tener 5 candidatos a la fusión espacial A0, A1, B0, B1 y B2 de manera similar a la referencia 1510 de la figura 15. En este caso, las ubicaciones de los candidatos a la fusión A0, A1, B0 y B1 se pueden especificar o expresar con la siguiente coordenada.
A0: (x-1, y+nPSH-1)
A1: (x-1, y+nPSH)
B0: (x+nPSW-1, y-1)
B1: (x+nPSW, y-1)
En este documento, (x,y) indica una coordenada de un píxel situado en la parte superior de más a la izquierda en la PU actual 1525, y la coordenada se puede determinar de acuerdo con la ubicación superior de más a la izquierda de la imagen a la cual pertenece la PU actual 1525. Adicionalmente, nPSH indica la altura de la PU actual 1525, y nPSW indica la anchura de la PU actual 1525.
Al mismo tiempo, de manera similar a la referencia 1510 de la figura 15, los bloques correspondientes al candidato a la fusión espacial pueden no incluir información de movimiento disponible en una ME en paralelo, y, de este modo, se pueden tratar como no disponibles. En este caso, los candidatos a la fusión espacial Ac, A1 , B0, B1 y B2 se pueden sustituir con los candidatos a la fusión de MER Ac', A1 ', Bo', B1 ' y B2' mostrados en la referencia 1510 de la figura 15. Es decir, el codificador y el descodificador pueden usar los candidatos a la fusión de MER Ac', A1', Bo', B1 ' y B2' como candidato a la fusión de la PU actual 1515.
En este documento, el candidato a la fusión de MER Ac' se puede obtener basándose en el bloque Ac' que tiene la misma ubicación horizontal que el bloque Ac entre bloques adyacentes a un lado izquierdo de la MER actual 152c, y el candidato a la fusión de MER A 1 ' se puede obtener basándose en el bloque A 1 ' que tiene la misma ubicación horizontal que el bloque A1 entre bloques adyacentes a un lado izquierdo de la MER actual 152c. Adicionalmente, el candidato a la fusión de MER B1 ' se puede obtener basándose en el bloque B1' que tiene la misma ubicación vertical que el bloque Bc entre bloques adyacentes a una parte superior de la MER actual 152c, y el candidato a la fusión de MER Bc' se puede obtener basándose en el bloque Bc' adyacente a un lado derecho del bloque B1'. En este caso, las ubicaciones de los candidatos a la fusión Ac', A1 ', Bc' y B1 ' se pueden especificar o expresar con la siguiente coordenada.
Ac': (((x>>nMER)<<nMER)-1, y+nPSH-1)
A1 ': (((x>>nMER)<<nMER)-1, y+nPSH)
Bc': (x+nPSW-1, ((y>>nMER)<<nMER)-1)
B1 ': (x+nPSW, ((y>>nMER)<<nMER)-1)
En este documento, nMER puede indicar un valor logarítmico de una dimensión (es decir, anchura/altura) de la MER.
Adicionalmente, en la referencia 152c de la figura 15, el codificador y el descodificador no pueden usar el candidato a la fusión B2 tratándolo como no disponible, y lo pueden sustituir como candidato a la fusión de MER B2'. Si el candidato a la fusión de MER B2' se usa como candidato a la fusión de la PU actual 1525, el candidato a la fusión de MER B2' se puede obtener basándose en un bloque izquierdo 1531 que tiene la misma ubicación horizontal que el bloque B2 entre bloques adyacentes a un lado izquierdo de la MER actual 152c ó un bloque superior 1533 que tiene la misma ubicación vertical que el bloque B2 entre bloques adyacentes a una parte superior de la MER actual 152c. Por ejemplo, el codificador y el descodificador pueden comprobar si el bloque izquierdo 1531 está disponible. En este caso, si el bloque izquierdo 1531 está disponible el codificador y el descodificador pueden obtener el candidato a la fusión de MER B2' basándose en el bloque izquierdo 1531, y, si el bloque izquierdo 1531 no está disponible, pueden obtener el candidato a la fusión de MER B2' basándose en el bloque superior 1533.
En la realización de la referencia 152c de la figura 15, como bloque candidato a la fusión se puede usar un bloque situado más próximo a la PU actual 152c. Por lo tanto, puede mejorarse la eficiencia de codificación en comparación con la realización de la referencia 151c de la figura 15.
Al mismo tiempo, si se obtiene el candidato a la fusión de MER de la PU actual 1525, el codificador y el descodificador pueden generar una lista de candidatos a la fusión basándose en el candidato a la fusión de MER obtenido. En este caso, en la lista de candidatos a la fusión se puede añadir y/o introducir una pluralidad de candidatos a la fusión de MER en un orden específico. Puesto que al candidato a la fusión de MER añadido primero a la lista de candidatos a la fusión se le asigna un índice de fusión más pequeño, se puede añadir de manera preferente a la lista de candidatos a la fusión un candidato a la fusión de MER que tenga una alta posibilidad de ser usado cuando se obtenga el movimiento de la PU actual, con lo cual se puede reducir la cantidad de información transmitida desde el codificador al descodificador. Para ello, el codificador y el descodificador pueden añadir en la lista de candidatos a la fusión, preferentemente, un candidato a la fusión de MER correspondiente al bloque situado más próximo a la PU actual 152c.
La distancia horizontal desde la PU actual 152c a la MER se puede indicar por medio de una distancia desde un píxel situado en la parte superior de más a la izquierda en la PU actual 152c a un límite izquierdo de la MER. Adicionalmente, la distancia vertical desde la PU actual 152c a la MER se puede indicar por medio de una distancia desde un píxel situado en la parte superior de más a la izquierda en la PU actual 152c a un límite superior de la MER. Por lo tanto, la distancia horizontal y la distancia vertical desde la PU actual 152c a la MER se pueden expresar, por ejemplo, con la siguiente Ecuación 1.
[Ecuación 1]
distX = x % nMER
distY = y % nMER
En este documento, distX indica una distancia horizontal desde la PU actual 1520 a la MER, y distY indica una distancia vertical desde la PU actual 1520 a la MER. (x,y) indica una coordenada de un píxel situado en la parte superior de más a la izquierda en la PU actual 1520, y nMER indica el tamaño de la MER.
Por ejemplo, si el valor de distX es inferior al valor de distY, puesto que un bloque adyacente a un lado izquierdo de la MER está más próximo a la PU actual 1520 en comparación con un bloque adyacente a una parte superior de la MER, el codificador y el descodificador pueden añadir primero a la lista de candidatos a la fusión los candidatos a la fusión de MER A1 ' y A0' antes de añadir los candidatos a la fusión de MER B1 ' y B0'. Por ejemplo, si el valor de distX es inferior al valor de distY, los candidatos a la fusión de MER se pueden añadir a la lista de candidatos a la fusión en el orden de A1 ', A0', B1 ' y B0'. En caso contrario (es decir, si el valor de distX es superior o igual al valor de distY), los candidatos a la fusión de MER se pueden añadir a la lista de candidatos a la fusión en el orden de B1 ', B0', A1 ' y A0'. Como otro ejemplo, si el valor de distX es inferior al valor de distY, los candidatos a la fusión de MER se pueden añadir a la lista de candidatos a la fusión en el orden de A1 ', B1 ', A0' y B0'. De lo contrario (es decir, si el valor de distX es superior o igual al valor de distY), los candidatos a la fusión de MER se pueden añadir a la lista de candidatos a la fusión en el orden de B1 ', A1 ', B0' y A0'.
La figura 16 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER. La referencia 1610 de la figura 16 indica una MER.
En referencia a la figura 16, la MER única 1610 puede incluir una pluralidad de PUs. En lo sucesivo en este documento, solo para la realización de la figura 16, a un píxel situado en la parte superior de más a la izquierda en la PU se le denomina píxel superior izquierdo, a un píxel situado en la parte superior de más a la derecha de la PU se le denomina píxel superior derecho, y a un píxel situado en la parte inferior de más a la izquierda en la PU se le denomina píxel inferior izquierdo. En la realización de la figura 16, pueden obtenerse cuatro candidatos a la fusión de MER para cada una de la pluralidad de PUs pertenecientes a la MER 1610.
En la figura 16, como candidato a la fusión de MER para una PU se pueden usar información de movimiento de dos bloques adyacentes a una parte superior de una MER e información de movimiento de dos bloques adyacentes a un lado izquierdo de la MER. En este documento, los dos bloques adyacentes a la parte superior de la MER pueden ser, respectivamente, un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior izquierdo de la PU y un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior derecho de la PU. Adicionalmente, los dos bloques adyacentes al lado izquierdo de la MER pueden ser, respectivamente, un bloque que incluye un píxel situado en la misma línea horizontal que un píxel superior izquierdo de la PU y un bloque que incluye un píxel situado en la misma línea horizontal que un píxel inferior izquierdo de la PU.
En referencia a la figura 16, una PU, concretamente la PU0, puede usar como candidato a la fusión de MER información de movimiento de dos bloques T0 y T1 adyacentes a una parte superior de la MER e información de movimiento de dos bloques L0 y L1 adyacentes a un lado izquierdo de la MER. En este documento, el bloque T0 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior izquierdo de la PU0, y el bloque T1 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior derecho de la PU0. Además, el bloque L0 puede ser un bloque que incluye un píxel situado en la misma línea horizontal que un píxel superior izquierdo de la PU0, y el bloque L1 puede ser un bloque que incluye un píxel situado en la misma línea horizontal que un píxel inferior izquierdo de la PU0.
En referencia nuevamente a la figura 16, como candidato a la fusión de MER una PU, concretamente la PU1, puede usar información de movimiento de dos bloques T2 y T3 adyacentes a una parte superior de la MER e información de movimiento de dos bloques L2 y L3 adyacentes a un lado izquierdo de la MER. En este documento, el bloque T2 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior izquierdo de la PU1, y el bloque T3 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior derecho de la PU1. Adicionalmente, el bloque L2 puede ser un bloque que incluye un píxel situado en la misma línea horizontal que un píxel superior izquierdo de la PU1, y el bloque L3 puede ser un bloque que incluye un píxel situado en la misma línea horizontal que un píxel inferior izquierdo de la PU1.
La figura 17 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER. La referencia 1710 de la figura 17 indica una MER.
En referencia a la figura 17, la MER única 1710 puede incluir una pluralidad de PUs. En lo sucesivo en este documento, solo para la realización de la figura 17, a un píxel situado en la parte superior de más a la izquierda en la PU se le denomina píxel superior izquierdo, a un píxel situado en la parte superior de más a la derecha de la PU se le denomina píxel superior derecho, y a un píxel situado en la parte inferior de más a la izquierda en la PU se le denomina píxel inferior izquierdo. En la realización de la figura 17, de manera similar a la realización de la figura 16, pueden obtenerse cuatro candidatos a la fusión de MER para cada una de la pluralidad de PUs pertenecientes a la MER 1710.
En la figura 17, como candidato a la fusión de MER pueden usarse información de movimiento de dos bloques adyacentes a una parte superior de una MER (en este documento, los dos bloques pueden ser el bloque más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera de cada MER ó el bloque más próximo, en cuanto a ubicación, a una esquina superior derecha fuera de la MER, y en lo sucesivo en la presente, se aplica esto mismo) e información de movimiento de dos bloques adyacentes a un lado izquierdo de la MER (en este documento, los dos bloques pueden ser el bloque más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera de cada MER ó un bloque más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera de la MER, y en lo sucesivo en la presente, se aplica esto mismo). En este documento, los dos bloques adyacentes a la parte superior de la MER pueden ser, respectivamente, un bloque que incluye un píxel situado en la misma línea vertical que un píxel adyacente a un lado izquierdo de un píxel superior izquierdo (es decir, un píxel en la PU) y un bloque que incluye un píxel situado en la misma línea vertical que un píxel adyacente a un lado derecho de un píxel superior derecho (es decir, un píxel en la PU). Además, los dos bloques adyacentes al lado izquierdo de la MER pueden ser, respectivamente, un bloque que incluye un píxel situado en la misma línea vertical que un píxel adyacente a una parte superior de un píxel superior izquierdo (es decir, un píxel en la PU) y un bloque que incluye un píxel situado en la misma línea vertical que un píxel adyacente a una parte inferior de un píxel inferior izquierdo (es decir, un píxel en la PU).
En referencia a la figura 17, una PU, concretamente la PU0, puede usar, como candidato a la fusión de MER, información de movimiento de dos bloques T0 y T1 adyacentes a una parte superior de la MER e información de movimiento de dos bloques L0 y L1 adyacentes a un lado izquierdo de la MER. En este documento, el bloque T0 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel adyacente a un lado izquierdo de un píxel superior izquierdo (es decir, un píxel en la PU0). El bloque T1 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel adyacente a un lado derecho de un píxel superior derecho (es decir, un píxel en la PU0). Además, el bloque L0 puede ser un bloque que incluye un píxel situado en la misma línea horizontal que un píxel adyacente a una parte superior de un píxel superior izquierdo (es decir, un píxel en la PU0). El bloque L1 puede ser un bloque que incluye un píxel situado en la misma línea horizontal que un píxel adyacente a una parte inferior de un píxel inferior izquierdo (es decir, un píxel en la PU0).
La figura 18 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER. La referencia 1810 de la figura 18 indica una MER.
En referencia a la figura 18, la MER única 1810 puede incluir una pluralidad de PUs. En lo sucesivo en este documento, solo para la realización de la figura 18, a un píxel situado en la parte superior de más a la izquierda en la PU se le denomina píxel superior izquierdo. En la realización de la figura 18, se pueden obtener dos candidatos a la fusión de MER para cada una de la pluralidad de PUs pertenecientes a la MER 1810.
En la realización de la figura 18, como candidato a la fusión de MER para una PU se pueden usar información de movimiento de un bloque adyacente a una parte superior de una MER e información de movimiento de un bloque adyacente a un lado izquierdo de la MER. En este documento, el bloque adyacente a la parte superior de la MER puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior izquierdo de la PU. Además, el bloque adyacente al lado izquierdo de la MER puede ser un bloque que incluye un píxel situado en la misma línea horizontal que un píxel superior izquierdo de la PU.
En referencia a la figura 18, una PU, concretamente la PU0, como candidato a la fusión de MER puede usar información de movimiento de un bloque T adyacente a una parte superior de la MER e información de movimiento de un bloque L adyacente a un lado izquierdo de la MER. En este documento, el bloque T puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior izquierdo de la PU0. Además, el bloque L puede ser un bloque que incluye un píxel situado en la misma línea horizontal que un píxel superior izquierdo de la PU0.
La figura 19 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER. La referencia 1910 de la figura 19 indica una MER.
En referencia a la figura 19, la MER única 1910 puede incluir una pluralidad de PUs. En lo sucesivo en este documento, solo para la realización de la figura 19, a un píxel situado en la parte superior de más a la derecha de la PU se le denomina píxel superior derecho, y a un píxel situado en la parte inferior de más a la izquierda de la PU se le denomina píxel inferior izquierdo. En la realización de la figura 19, de manera similar a la realización de la figura 18, pueden obtenerse dos candidatos a la fusión de MER para cada una de la pluralidad de PUs pertenecientes a la MER 1910.
En la realización de la figura 19, como candidato a la fusión de MER para una PU se pueden usar información de movimiento de un bloque adyacente a una parte superior de una MER e información de movimiento de un bloque adyacente a un lado izquierdo de la MER. En este documento, el bloque adyacente a la parte superior de la MER puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior derecho de la PU. Además, el bloque adyacente al lado izquierdo de la MER puede ser un bloque que incluye un píxel situado en la misma línea horizontal que un píxel inferior izquierdo de la PU.
En referencia a la figura 19, una PU, concretamente la PU0, puede usar como candidato a la fusión de MER información de movimiento de un bloque T adyacente a una parte superior de la MER e información de movimiento de un bloque L adyacente a un lado izquierdo de la MER. En este documento, el bloque T puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior derecho de la PU0. Además, el bloque L puede ser un bloque que incluye un píxel situado en la misma línea horizontal que un píxel inferior izquierdo de la<p>U0.
La figura 20 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER. La referencia 2010 de la figura 20 indica una MER.
En referencia a la figura 20, la MER única 2010 puede incluir una pluralidad de PUs. En lo sucesivo en este documento, solo para la realización de la figura 20, a un píxel situado en la parte superior de más a la izquierda en la PU se le denomina píxel superior izquierdo, a un píxel situado en la parte superior de más a la derecha de la PU se le denomina píxel superior derecho, y a un píxel situado en la parte inferior de más a la izquierda en la PU se le denomina píxel inferior izquierdo. En la realización de la figura 20, pueden obtenerse cuatro candidatos a la fusión de MER para cada una de la pluralidad de PUs pertenecientes a la MER 2010.
En la figura 20, se puede obtener un candidato a la fusión de MER de la PU basándose en una ubicación de una PU en una MER. Es decir, el candidato a la fusión de MER de la PU se puede obtener basándose en una distancia horizontal y una distancia vertical desde la PU a la MER. En este documento, la distancia horizontal desde la PU a la MER puede implicar una distancia desde un píxel superior izquierdo de la PU a un límite izquierdo de la MER. Además, la distancia vertical desde la PU a la MER puede implicar una distancia desde un píxel superior izquierdo de la PU a un límite superior de la MER.
Por ejemplo, si la distancia horizontal desde la PU a la MER es menor que la distancia vertical, como candidato a la fusión de MER de la PU se puede usar información de movimiento de cuatro bloques adyacentes a un lado izquierdo de la MER (en este documento, entre los cuatro bloques, dos bloques pueden ser, respectivamente, el bloque más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera de la MER y el bloque más próximo, en cuanto a ubicación, a una esquina inferior izquierda fuera de la MER, y, en lo sucesivo en la presente se aplica esto mismo). Los cuatro bloques adyacentes al lado izquierdo de la MER pueden ser, respectivamente, un bloque que incluye un píxel situado en la misma línea horizontal que un píxel adyacente a una parte superior de un píxel superior izquierdo (es decir, un píxel en la PU), un bloque que incluye un píxel situado en la misma línea horizontal que un píxel superior izquierdo (es decir, un píxel en la PU), un bloque que incluye un píxel situado en la misma línea horizontal que un píxel inferior izquierdo (es decir, un píxel en la PU) y un bloque que incluye un píxel situado en la misma línea horizontal que un píxel adyacente a una parte inferior de un píxel inferior izquierdo (es decir, un píxel en la PU).
Si no, como candidato a la fusión de MER de la PU se puede usar información de movimiento de los cuatro bloques adyacentes a una parte superior de la MER (en este documento, entre los cuatro bloques, dos bloques pueden ser, respectivamente, el bloque más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera de la MER y el bloque más próximo, en cuanto a ubicación, a una esquina superior derecha fuera de la<m>E<r>). En este documento, los cuatro bloques adyacentes a una parte superior de la MER pueden ser, respectivamente, un bloque que incluye un píxel situado en la misma línea vertical que un píxel adyacente a un lado izquierdo de un píxel superior izquierdo (es decir, un píxel en la PU), un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior izquierdo (es decir, un píxel en la PU), un bloque situado en la misma línea vertical que un píxel superior derecho (es decir, un píxel en la PU) y un bloque que incluye un píxel situado en la misma línea vertical que un píxel adyacente a un lado derecho de un píxel superior derecho (es decir, un píxel en la PU).
En referencia a la figura 20, con respecto a la PU0, la distancia vertical a la MER puede ser menor que la distancia horizontal. Por lo tanto, la PU0 puede usar, como candidato a la fusión de MER, información de movimiento de cuatro bloques T0, T1, T2 y T3 adyacentes a una parte superior de la MER. En este documento, el bloque T0 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel adyacente a un lado izquierdo de un píxel superior izquierdo (es decir, un píxel en la PU0). El bloque T1 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior izquierdo (es decir, un píxel en la PU0). Además, el bloque T2 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior derecho (es decir, un píxel en la PU0). El bloque T3 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel adyacente a un lado derecho de un píxel superior derecho (es decir, un píxel en la PU0).
En referencia nuevamente a la figura 20, con respecto a la PU1, la distancia horizontal a la MER puede ser menor que la distancia vertical. Por lo tanto, la PU1 puede usar, como candidato a la fusión de MER, información de movimiento de cuatro bloques L0, L1, L2 y L3 adyacentes a un lado izquierdo de la MER. En este documento, el bloque L0 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel adyacente a una parte superior de un píxel superior izquierdo (es decir, un píxel en la PU1). El bloque L1 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior izquierdo (es decir, un píxel en la PU1). Además, el bloque L2 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel inferior izquierdo (es decir, un píxel en la PU1). El bloque L3 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel adyacente a una parte inferior de un píxel inferior izquierdo (es decir, un píxel en la PU1).
La figura 21 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER. La referencia 2110 de la figura 21 indica una MER.
En referencia a la figura 21, la MER única 2110 puede incluir una pluralidad de PUs. En lo sucesivo en este documento, solo para la realización de la figura 21, a un píxel situado en la parte superior de más a la izquierda en la PU se le denomina píxel superior izquierdo, a un píxel situado en la parte superior de más a la derecha de la PU se le denomina píxel superior derecho, y a un píxel situado en la parte inferior de más a la izquierda en la PU se le denomina píxel inferior izquierdo. En la realización de la figura 21, pueden obtenerse dos candidatos a la fusión de MER para cada una de la pluralidad de PUs pertenecientes a la MER 2110.
En la figura 21, se puede obtener un candidato a la fusión de MER de la PU basándose en la ubicación de una PU en una MER. Es decir, el candidato a la fusión de MER de la PU se puede obtener basándose en una distancia horizontal y una distancia vertical desde la PU a la MER. En este documento, la distancia horizontal desde la PU a la MER puede implicar una distancia desde un píxel superior izquierdo de la PU a un límite izquierdo de la MER. Además, la distancia vertical desde la PU a la MER puede implicar una distancia desde un píxel superior izquierdo de la PU a un límite superior de la MER.
Por ejemplo, si la distancia horizontal desde la PU a la MER es menor que la distancia vertical, como candidato a la fusión de MER de la PU se puede usar información de movimiento de dos bloques adyacentes a un lado izquierdo de la MER (en este documento, los dos bloques pueden ser, respectivamente, el bloque más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera de la MER, y el bloque más próximo, en cuanto a ubicación, a una esquina inferior izquierda fuera de la MER, y en lo sucesivo en la presente se aplica esto mismo). Los dos bloques adyacentes al lado izquierdo de la MER pueden ser, respectivamente, un bloque que incluye un píxel situado en la misma línea horizontal que un píxel superior izquierdo (es decir, un píxel en la PU) y un bloque que incluye un píxel situado en la misma línea horizontal que un píxel inferior izquierdo de la PU.
Si no, como candidato a la fusión de MER de la PU se puede usar información de movimiento de los dos bloques adyacentes a una parte superior de la MER (en este documento, los dos bloques pueden ser, respectivamente, el bloque más próximo, en cuanto a ubicación, a una esquina superior izquierda fuera de la MER, y el bloque más próximo, en cuanto a ubicación, a una esquina superior derecha fuera de la MER). En este documento, los dos bloques adyacentes a una parte superior de la MER pueden ser, respectivamente, un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior izquierdo de la PU y un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior derecho de la P<u>.
En referencia a la figura 21, con respecto a una PU0, la distancia vertical a la MER puede ser menor que la distancia horizontal. Por lo tanto, la PU0 puede usar, como candidato a la fusión de MER, información de movimiento de dos bloques T0 y T1 adyacentes a una parte superior de la MER. En este documento, el bloque T0 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior izquierdo de la PU0. Además, el bloque T1 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior derecho de la PU0.
En referencia nuevamente a la figura 21, con respecto a una PU1, la distancia horizontal a la MER puede ser menor que la distancia vertical. Por lo tanto, la PU1 puede usar, como candidato a la fusión de MER, información de movimiento de dos bloques L0 y L1 adyacentes a un lado izquierdo de la MER. En este documento, el bloque L0 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel superior izquierdo de la PU1. Además, el bloque L1 puede ser un bloque que incluye un píxel situado en la misma línea vertical que un píxel inferior izquierdo de la PU1.
La figura 22 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER. La referencia 2210 de la figura 22 indica una MER.
En referencia a la figura 22, la MER única 2210 puede incluir una pluralidad de PUs. En lo sucesivo en este documento, solo para la realización de la figura 22, a un píxel situado en la parte superior de más a la derecha de la PU se le denomina píxel superior derecho, y a un píxel situado en la parte inferior de más a la izquierda de la PU se le denomina píxel inferior izquierdo.
En referencia nuevamente a la figura 22, la PU0 puede tener cinco candidatos a la fusión espacial A0, A1, B0, B1 y B2. No obstante, tal como se ha descrito anteriormente, el candidato a la fusión espacial puede no estar disponible en una ME en paralelo en un modo de fusión y/o un modo de omisión. Por ejemplo, si un bloque usado como candidato a la fusión se incluye en la misma MER que la PU0, puesto que el bloque se corresponde con un bloque para el cual no se completa la codificación/descodificación en una<m>E, el bloque no se puede usar en la ME en paralelo. Además, el bloque usado como candidato a la fusión puede encontrarse en un estado en el que no se ha completado la codificación y/o la descodificación en una ME en paralelo de la PU0 de acuerdo con el orden de codificación/descodificación.
Al mismo tiempo, en la realización de la figura 22, con respecto a la PU0 perteneciente a la MER 2210, pueden obtenerse hasta cuatro candidatos a la fusión de MER. Los cuatro candidatos a la fusión de MER pueden ser información de movimiento de dos bloques T0 y T1 adyacentes a una parte superior de la MER (en este documento, uno de los dos bloques puede ser el bloque más próximo, en cuanto a ubicación, a una esquina superior derecha fuera de la MER, y en lo sucesivo en la presente se aplica esto mismo) e información de movimiento de dos bloques L0 y L1 adyacentes a un lado izquierdo de la MER (en este documento, uno de los dos bloques puede ser el bloque más próximo, en cuanto a ubicación, a una esquina inferior izquierda fuera de la MER, y en lo sucesivo en la presente se aplica esto mismo). En este documento, dos bloques adyacentes a una parte superior de la MER pueden ser, respectivamente, un bloque T0 situado en la misma línea vertical que un píxel superior derecho (es decir, un píxel en la PU0) y un bloque T1 que incluye un píxel situado en la misma línea vertical que un píxel adyacente a un lado derecho de un píxel superior derecho (es decir, un píxel en la PU0). Adicionalmente, dos bloques adyacentes a un lado izquierdo de la MER pueden ser, respectivamente, un bloque L0 situado en la misma línea vertical que un píxel inferior izquierdo (es decir, un píxel en la PU0) y un bloque L1 que incluye un píxel situado en la misma línea vertical que un píxel adyacente a una parte inferior de un píxel inferior izquierdo (es decir, un píxel en la PU0).
En este caso, únicamente para un candidato a la fusión que no está disponible entre los candidatos a la fusión A0, A1 , B0 y B1 de la PU0, el codificador y el descodificador pueden obtener un candidato a la fusión de MER correspondiente al mismo. La determinación de si cada candidato a la fusión espacial de la PU en la MER está disponible en una ME en paralelo se resuelve de acuerdo con la ubicación de la PU, y, por lo tanto, en este caso, puede considerarse que un candidato a la fusión de MER obtenido para la PU0 se determina basándose en la ubicación de la PU.
En referencia a la figura 22, si un candidato a la fusión A1 de la PU0 no está disponible en una ME en modo de fusión en paralelo/modo de omisión en paralelo, como candidato a la fusión de MER de la PU0 se puede usar información de movimiento del bloque L0. Además, si un candidato a la fusión A0 de la PU0 no está disponible en la ME en modo de fusión en paralelo/modo de omisión en paralelo, como candidato a la fusión de MER de la PU0 se puede usar información de movimiento del bloque L1. Además, si un candidato a la fusión B1 de la PU0 no está disponible en la ME en modo de fusión en paralelo/modo de omisión en paralelo, como candidato a la fusión de MER de la PU0 se puede usar información de movimiento del bloque T0, y si un candidato a la fusión B0 de la PU0 no está disponible en la ME en modo de fusión en paralelo/modo de omisión en paralelo, como candidato a la fusión de MER de la PU0 se puede usar información de movimiento del bloque T1.
La figura 23 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER. La referencia 2310 de la figura 23 indica una MER.
En referencia a la figura 23, una PU02320 incluida en la MER 2310 puede tener cinco candidatos a la fusión espacial A0, A1 , B0, B1 y B2. Además, aunque no se muestra en la figura 23, tal como se ha descrito anteriormente en referencia a la figura 7, la PU02320 puede tener un candidato a la fusión temporal.
Tal como se ha descrito anteriormente en referencia a la figura 22, un candidato a la fusión espacial de cualquier PU en la MER puede no estar disponible en una ME en paralelo en un modo de fusión y/o un modo de omisión. En la realización de la figura 23, puesto que todos los bloques usados para obtener un candidato a la fusión espacial de la PU02320 están incluidos en la misma MER que la PU0 2320, los candidatos a la fusión espacial de la PU0 2320 se tratan como no disponibles, y, por lo tanto, no pueden incluirse en la lista de candidatos a la fusión.
Al mismo tiempo, el número de candidatos a la fusión que constituyen la lista de candidatos a la fusión según se ha descrito anteriormente se puede limitar a un número fijo específico. En la realización de la figura 23, para facilitar la explicación, se supone que el número de candidatos a la fusión que constituyen la lista de candidatos a la fusión se limita a 5. En este caso, el número de candidatos a la fusión disponibles (es decir, un candidato a la fusión espacial y un candidato a la fusión temporal) obtenidos para una PU puede ser inferior a 5 debido a la razón antes mencionada, e, incluso si a la lista de candidatos a la fusión se añaden candidatos a la fusión espacial y a la fusión temporal disponibles, la lista de candidatos a la fusión puede no llenarse de forma completa. En este caso, después de añadir el candidato a la fusión temporal a la lista de candidatos a la fusión, el codificador y el descodificador pueden obtener un candidato a la fusión de MER para añadirlo adicionalmente a la lista de candidatos a la fusión en un orden específico, permitiendo, así, que el número de candidatos a la fusión que constituyen la lista de candidatos a la fusión sea 5. Es decir, el codificador y el descodificador pueden añadir o introducir en la lista de candidatos a la fusión candidatos a la fusión de MER hasta que el número de candidatos a la fusión que constituyen la lista de candidatos a la fusión sea 5.
En referencia a la figura 23, como candidato a la fusión de MER introducido adicionalmente en una lista de candidatos a la fusión de la PU02320 se puede usar información de movimiento de los bloques L0, L1, T0 y T1. En este documento, el bloque L0 puede ser un bloque situado en la parte más alta entre bloques adyacentes a un lado izquierdo de la MER, y el bloque L1 puede ser un bloque situado en la parte más baja entre bloques adyacentes a un lado izquierdo de la MER. Adicionalmente, el bloque T0 puede ser un bloque situado en la parte de más a la izquierda entre bloques adyacentes a una parte superior de la MER, y el bloque T1 puede ser un bloque situado en la parte de más a la derecha entre bloques adyacentes a una parte superior de la MER.
Para permitir que el número de candidatos a la fusión que constituyen la lista de candidatos a la fusión sea 5, el número de candidatos a la fusión de MER introducidos adicionalmente en la lista de candidatos a la fusión puede ser variable de acuerdo con la ubicación de la PU ó similares. Por lo tanto, el orden de introducción del candidato a la fusión de MER antes mencionado en la lista de candidatos a la fusión puede estar predeterminado. Por ejemplo, el codificador y el descodificador pueden añadir adicionalmente los candidatos a la fusión de MER a la lista de candidatos a la fusión en el orden de un candidato a la fusión de MER correspondiente al bloque L1, un candidato a la fusión de MER correspondiente al bloque T1, un candidato a la fusión de MER correspondiente al bloque L0, y un candidato a la fusión de MER correspondiente al bloque T0.
La figura 24 es una vista esquemática que muestra otra realización de un método de obtención de un candidato a la fusión de MER. La referencia 2410 de la figura 24 indica una MER.
En referencia a la figura 24, una PU02420 incluida en la MER 2410 puede tener cinco candidatos a la fusión espacial A0, A1, B0, B1 y B2. Además, aunque no se muestra en la figura 24, tal como se ha descrito anteriormente en referencia a la figura 7, la PU02420 puede tener un candidato a la fusión temporal. No obstante, según se ha descrito anteriormente en referencia a la figura 23, un candidato a la fusión espacial de cualquier PU en la MER puede tratarse como no disponible en una ME en paralelo en un modo de fusión y/o un modo de omisión, y, por lo tanto, puede que no se incluya en la lista de candidatos a la fusión.
En este caso, el codificador y el descodificador pueden añadir adicionalmente a la lista de candidatos a la fusión los candidatos a la fusión de MER, de la misma manera que la realización de la figura 23. Por ejemplo, si el número de candidatos a la fusión que constituyen la lista de candidatos a la fusión se limita a 5, el codificador y el descodificador pueden añadir o introducir el candidato a la fusión de MER en la lista de candidatos a la fusión hasta que el número de candidatos a la fusión sea 5.
En referencia a la figura 24, como candidato a la fusión de MER añadido adicionalmente a la lista de candidatos a la fusión de la PU02420 se puede usar información de movimiento de los bloques L1 y T1. En este documento, el bloque L1 puede ser un bloque situado en la parte más baja entre bloques adyacentes a un lado izquierdo de la MER. Además, el bloque T1 puede ser un bloque situado en la parte de más a la derecha entre bloques adyacentes a una parte superior de la MER.
Además, tal como se ha descrito anteriormente en referencia a la figura 23, el número de candidatos a la fusión de MER introducidos adicionalmente en la lista de candidatos a la fusión puede ser variable en función de la ubicación de la PU ó similares. Por lo tanto, en la realización de la figura 24, el orden de introducción del candidato a la fusión de MER, antes mencionado, en la lista de candidatos a la fusión puede estar predeterminado. Por ejemplo, el codificador y el descodificador pueden introducir adicionalmente los candidatos a la fusión de MER en la lista de candidatos a la fusión en el orden de un candidato a la fusión de MER correspondiente al bloque L1 y un candidato a la fusión de MER correspondiente al bloque T1.
Al mismo tiempo, si se obtienen un candidato a la fusión común y/o un candidato a la fusión de MER para una PU como en las realizaciones antes mencionadas de la figura 13 a la figura 24, el candidato a la fusión común y/o el candidato a la fusión de MER obtenidos se pueden añadir o introducir en la lista de candidatos a la fusión de la PU. En lo sucesivo en este documento, en las siguientes realizaciones, con vistas a facilitar su explicación, al candidato a la fusión común y al candidato a la fusión de MER se les denomina en conjunto candidato a la fusión en paralelo.
Si no se aplica el candidato a la fusión en paralelo, el candidato a la fusión espacial de la PU puede obtenerse, tal como se ha descrito anteriormente en referencia a la figura 7, a partir de un bloque adyacente a la PU y el bloque más próximo, en cuanto a ubicación, a una esquina exterior de un bloque actual. Además, un candidato a la fusión temporal de la PU se puede obtener a partir de un bloquecolincluido en una imagen de referencia. En lo sucesivo en este documento, a un candidato a la fusión usado para la PU cuando no se aplica el candidato a la fusión en paralelo como en la realización de la figura 7 se le denomina candidato a la fusión de PU.
Tal como se ha descrito anteriormente, un candidato a la fusión incluido en la misma MER que la PU puede existir entre candidatos espaciales correspondientes a un candidato a la fusión de PU de una PU. En este caso, el candidato a la fusión incluido en la misma MER que la PU puede no incluir información de movimiento disponible en una ME en paralelo. Por lo tanto, el número de candidatos a la fusión de PU disponibles obtenidos para la PU puede ser inferior al número de candidatos a la fusión requeridos para construir una lista de candidatos a la fusión. En este documento, el número de candidatos a la fusión requerido para construir la lista de candidatos a la fusión puede ser un valor predeterminado. Por ejemplo, el número de candidatos a la fusión que constituyen la lista de candidatos a la fusión puede ser 5.
En este caso, el codificador y el descodificador pueden introducir adicionalmente un candidato a la fusión en paralelo en la lista de candidatos a la fusión en un orden específico. En este caso, el candidato a la fusión en paralelo introducido adicionalmente en la lista de candidatos a la fusión puede estar situado después de un candidato a la fusión de PU disponible en la lista de candidatos a la fusión. Es decir, el candidato a la fusión se puede introducir en la lista de candidatos a la fusión en el orden del candidato a la fusión en paralelo.
Por ejemplo, se supone que el candidato a la fusión de PU que se muestra en la referencia 720 de la figura 7 se aplica una Pu actual. En este caso, el codificador y el descodificador pueden usar, como candidato a la fusión de PU correspondiente a la PU actual, información de movimiento del bloque A0 m ás próximo, en cuanto a ubicación, a una esquina inferior izquierda fuera de la PU actual, un bloque A1 situado en la parte m ás baja entre bloques adyacentes a un lado izquierdo de la PU actual, el bloque B0 m ás próximo, en cuanto a ubicación, a una esquina superior derecha fuera de la PU actual, un bloque B1 situado en la parte de m ás a la derecha entre bloques adyacentes a una parte superior de la PU actual, el bloque B2 m ás próximo, en cuanto a ubicación, a una esquina superior izquierda fuera de la PU actual, y un bloque C O L . En este caso, por ejemplo, los candidatos a la fusión de Pu se pueden añadir y/o introducir en la lista de candidatos a la fusión en el orden de A1, B1, B0, A0, B2 y C O L .
No obstante, si la PU actual existe dentro de la M ER , los candidatos a la fusión espacial A1, B1, B0, A0 y B2 correspondientes al candidato a la fusión de PU pueden no estar disponibles cuando se lleva a cabo una M E en paralelo en modo de fusión y/o en modo de omisión. En este caso, a la lista de candidatos a la fusión se le puede añadir solam ente un candidato a la fusión temporal C O L correspondiente al candidato a la fusión de PU.
En este caso, el codificador y el descodificador pueden introducir candidatos a la fusión en paralelo después de un candidato a la fusión de PU añadido a la lista de candidatos a la fusión. Por ejemplo, a los candidatos a la fusión en paralelo obtenidos para la PU actual se les denomina, respectivam ente, A1', B1', B0', A0' y B2'. En este caso, un candidato a la fusión temporal correspondiente a un candidato a la fusión de PU y a candidatos de fusión en paralelo se puede añadir y/o introducir en la lista de candidatos a la fusión en el orden de C O L , A1', B1', B0', A0' y B2'. En este caso, el codificador y el descodificador pueden añadir un candidato a la fusión en paralelo hasta que el número de candidatos a la fusión que constituyen la lista de candidatos a la fusión se a un número máximo (por ejemplo, 5 ).
Al mismo tiempo, incluso si, a la lista de candidatos a la fusión, se añaden un candidato a la fusión de PU disponible y un candidato a la fusión en paralelo disponible, puede darse el caso de que la lista de candidatos a la fusión no se llene completamente. En este caso, el codificador y el descodificador pueden obtener un candidato a la fusión nuevo basándose en un candidato a la fusión ya añadido a la lista de candidatos a la fusión y pueden añadirlo a la lista de candidatos a la fusión. En este caso, el codificador puede u sar no solam ente el candidato a la fusión de PU sino también el candidato a la fusión en paralelo para obtener el candidato a la fusión nuevo.
Los ejem plos del candidato a la fusión nuevo obtenido basándose en el candidato a la fusión ya añadido a la lista de candidatos a la fusión pueden incluir un candidato de bipredicción combinado (CB), un candidato de bipredicción no escalado y/o un candidato de movimiento cero (Cero), etc. En este documento, el C B se puede obtener basándose en dos candidatos a la fusión entre candidatos a la fusión ya añadidos a la lista de candidatos a la fusión. Por ejemplo, basándose en uno de los dos candidatos a la fusión se puede obtener información de movimiento de L0 del C B , y basándose en el otro de los dos candidatos a la fusión se puede obtener información de movimiento de L 1 del C B . E s decir, el C B se puede obtener combinando la información de movimiento de cada uno de los dos candidatos a la fusión. Adem ás, se pueden obtener información de movimiento de L0 e información de movimiento de L 1 del NB a través de una condición y una operación específicas basándose en un candidato a la fusión entre candidatos a la fusión ya añadidos a la lista de candidatos a la fusión. Adicionalmente, el Cero puede implicar información de movimiento que incluye un vector cero (0 ,0 ).
Los candidatos a la fusión C B , NB y C ero recién obtenidos e introducidos adicionalm ente en la lista de candidatos a la fusión se pueden ubicar d esp ués de un candidato a la fusión de PU disponible y de un candidato a la fusión en paralelo disponible en una lista de candidatos a la fusión. E s decir, el candidato a la fusión se puede introducir en la lista de candidatos a la fusión en el orden de un candidato a la fusión de PU, un candidato a la fusión en paralelo, y el C B , N B y Cero obtenidos basándose en el candidato a la fusión de PU y el candidato a la fusión en paralelo. Por ejemplo, si se supone que, para una PU, se obtienen tres C B s, es decir, C B 0 , C B 1 y C B 2 , un NB, es decir, N B 0 , y un Cero, se pueden añadir y/o introducir candidatos a la fusión en la lista de candidatos a la fusión en el orden de C O L , A1', B1', B0', A0', B2', C B 0 , C B 1 , C B 2 , N B 0 y Cero. En este caso, el codificador y el descodificador pueden añadir un candidato a la fusión en paralelo hasta que el número de candidatos a la fusión que constituye la lista de candidatos a la fusión se a un número máximo (por ejemplo, 5 ).
A unque el sistem a ejemplificativo antes m encionado se ha descrito basándose en un diagram a de flujo en el cual se enum eran etapas o bloques secuencialm ente, las etapas de la presente invención no se limitan a un cierto orden. Por lo tanto, una cierta etapa se puede llevar a cabo en una etapa diferente o en un orden diferente o sim ultáneam ente con respecto a lo descrito anteriormente. A dem ás, aquellos con conocim ientos habituales en la materia entenderán que las etapas de los d iagram as de flujo no son exclusivas. Por el contrario, en los m ism os se puede incluir otra etapa o se pueden elim inar una o m ás etapas dentro del a lcance de la presente invención.
La s realizacio nes antes m encionadas incluyen varios aspectos ejem plificativos. A unque no se pueden describir todas las com binaciones posibles para representar los diversos aspectos, aquellos versado s en la materia entenderán que también son posibles otras com binaciones.
Claims (8)
1. Un método de descodificación de imágenes realizado por un aparato de descodificación, el método comprende:
- recibir información sobre un nivel de fusión en paralelo que representa un tamaño de una región de unidad de fusión en paralelo e información de índice de fusión;
- obtener información de la bandera de fusión que representa si se aplica un modo de fusión a un bloque actual; - derivar candidatos de fusión espacial para el bloque actual basándose en la información de la bandera de fusión que indica que el modo de fusión se aplica al bloque actual;
- construir una lista de candidatos de fusión que incluya los candidatos de fusión espaciales para el bloque actual;
- derivar información de movimiento del bloque actual basándose en uno de los candidatos de fusión espaciales indicados por la información de índice de fusión en la lista de candidatos de fusión;
- derivar muestras de predicción del bloque actual basándose en la información de movimiento derivada; y - generar una imagen reconstruida basada en las muestras de predicción,
en donde el tamaño de la región de unidad de fusión en paralelo se deriva basándose en la información sobre el nivel de fusión en paralelo,
en donde el bloque actual pertenece a la región de unidad de fusión en paralelo,
en donde el bloque actual está relacionado con una unidad de predicción, PU, y la PU es una de las PU divididas de una unidad de codificación, CU,
en donde la PU tiene un tamaño menor que el tamaño de la región de unidad de fusión en paralelo y está situada dentro de la región de unidad de fusión en paralelo,
en donde los candidatos de fusión espacial son idénticos a los candidatos de fusión espacial de una PU 2Nx2N que tiene un mismo tamaño que la región de unidad de fusión en paralelo,
en donde los candidatos de fusión espacial de la PU 2Nx2N que tiene el mismo tamaño que la región de unidad de fusión en paralelo, se derivan de un bloque vecino de esquina inferior izquierda, un bloque vecino izquierdo, un bloque vecino de esquina superior derecha, un bloque vecino superior y un bloque vecino de esquina superior izquierda de la región de unidad de fusión en paralelo, y
en donde la información sobre el nivel de fusión en paralelo se recibe a través de un conjunto de parámetros de imagen.
2. El método de la reivindicación 1, en donde, basándose en que un valor de la información sobre el nivel de fusión en paralelo sea 0, el tamaño de la región de unidad de fusión en paralelo es 4x4.
3. El método de la reivindicación 1, en donde, basándose en que el valor de la información sobre el nivel de fusión en paralelo sea mayor que 0, la información de movimiento para cada una de las PU contenidas en la región de unidad de fusión en paralelo puede derivarse en paralelo.
4. El método de la reivindicación 1,
en donde, basándose en que un valor de la información sobre el nivel de fusión en paralelo sea 1, el tamaño de la región de unidad de fusión en paralelo es 8x8, y
en donde, basándose en que un valor de la información sobre el nivel de fusión en paralelo sea 2, el tamaño de la región de unidad de fusión en paralelo es 16x16.
5. El método de la reivindicación 1,
en donde, basándose en que un valor de la información sobre el nivel de fusión en paralelo sea 3, el tamaño de la región de unidad de fusión en paralelo es 32x32, y
en donde, basándose en que un valor de la información sobre el nivel de fusión en paralelo sea 4, el tamaño de la región de unidad de fusión en paralelo es 64x64.
6. El procedimiento de la reivindicación 1, en donde, basándose en que el tamaño de la CU sea 8x8 y el tamaño de la región de unidad de fusión en paralelo sea mayor que 4x4, las PU comparten los candidatos de fusión espacial.
7. Un método de codificación de imágenes realizado por un aparato de codificación, el método comprende:
- generar información de la bandera de fusión basándose en si se aplica un modo de fusión a un bloque actual; - derivar candidatos de fusión espaciales para un bloque actual basándose en la información de la bandera de fusión que indica que el modo de fusión se aplica al bloque actual;
- construir una lista de candidatos de fusión que incluya los candidatos de fusión espaciales para el bloque actual;
- seleccionar un candidato de fusión de la lista de candidatos de fusión;
- generar información de índice de fusión para indicar el candidato de fusión seleccionado de la lista de candidatos de fusión;
- derivar un nivel de fusión en paralelo que representa un tamaño de una región de unidad de fusión en paralelo; - generar información sobre el nivel de fusión en paralelo; y
- codificar información de imagen que incluye la información de la bandera de fusión, la información de índice de fusión y la información sobre el nivel de fusión en paralelo,
en donde el tamaño de la región de unidad de fusión en paralelo se representa basándose en la información sobre el nivel de fusión en paralelo,
en donde el bloque actual pertenece a la región de unidad de fusión en paralelo,
en donde el bloque actual está relacionado con una unidad de predicción, PU, y la PU es una de las PU divididas de una unidad de codificación, CU,
en donde la PU tiene un tamaño menor que el tamaño de la región de unidad de fusión en paralelo y está situada dentro de la región de unidad de fusión en paralelo,
en donde los candidatos de fusión espacial son idénticos a los candidatos de fusión espacial de una PU 2Nx2N que tiene un mismo tamaño que la región de unidad de fusión en paralelo,
en donde los candidatos de fusión espacial de la PU 2Nx2N que tiene el mismo tamaño que la región de unidad de fusión en paralelo, se derivan de un bloque vecino de esquina inferior izquierda, un bloque vecino izquierdo, un bloque vecino de esquina superior derecha, un bloque vecino superior y un bloque vecino de esquina superior izquierda de la región de unidad de fusión en paralelo, y
en donde la información sobre el nivel de fusión en paralelo se señaliza a través de un conjunto de parámetros de imagen.
8. Un medio de almacenamiento legible por ordenador no transitorio que almacena información de imagen codificada generada por un método, el método comprende:
- generar información de la bandera de fusión basándose en si se aplica un modo de fusión a un bloque actual; - derivar candidatos de fusión espaciales para un bloque actual basándose en la información de la bandera de fusión que indica que el modo de fusión se aplica al bloque actual;
- construir una lista de candidatos de fusión que incluya los candidatos de fusión espaciales para el bloque actual;
- seleccionar un candidato de fusión de la lista de candidatos de fusión;
- generar información de índice de fusión para indicar el candidato de fusión seleccionado de la lista de candidatos de fusión;
- derivar un nivel de fusión en paralelo que representa un tamaño de una región de unidad de fusión en paralelo; - generar información sobre el nivel de fusión en paralelo; y
- codificar información de imagen que incluye la información de la bandera de fusión, la información de índice de fusión y la información sobre el nivel de fusión en paralelo,
en donde el tamaño de la región de unidad de fusión en paralelo se representa basándose en la información sobre el nivel de fusión en paralelo,
en donde el bloque actual pertenece a la región de unidad de fusión en paralelo,
en donde el bloque actual está relacionado con una unidad de predicción, PU, y la PU es una de las PU divididas de una unidad de codificación, CU,
en donde la PU tiene un tamaño menor que el tamaño de la región de unidad de fusión en paralelo y está situada dentro de la región de unidad de fusión en paralelo,
en donde los candidatos de fusión espacial son idénticos a los candidatos de fusión espacial de una PU 2Nx2N que tiene un mismo tamaño que la región de unidad de fusión en paralelo,
en donde los candidatos de fusión espacial de la PU 2Nx2N que tiene el mismo tamaño que la región de unidad de fusión en paralelo, se derivan de un bloque vecino de esquina inferior izquierda, un bloque vecino izquierdo, un bloque vecino de esquina superior derecha, un bloque vecino superior y un bloque vecino de esquina superior izquierda de la región de unidad de fusión en paralelo, y
en donde la información sobre el nivel de fusión en paralelo se señaliza a través de un conjunto de parámetros de imagen.
Applications Claiming Priority (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201161532562P | 2011-09-09 | 2011-09-09 | |
| US201161540543P | 2011-09-29 | 2011-09-29 | |
| US201161557337P | 2011-11-08 | 2011-11-08 | |
| US201161557861P | 2011-11-09 | 2011-11-09 | |
| US201161563817P | 2011-11-27 | 2011-11-27 | |
| US201161578832P | 2011-12-21 | 2011-12-21 | |
| US201261583622P | 2012-01-06 | 2012-01-06 | |
| US201261585654P | 2012-01-12 | 2012-01-12 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2995257T3 true ES2995257T3 (en) | 2025-02-10 |
Family
ID=47832725
Family Applications (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES22150761T Active ES2961675T3 (es) | 2011-09-09 | 2012-09-07 | Método de descodificación de imágenes, método de codificación de imágenes, método para transmitir datos correspondientes a información de imágenes y soporte de almacenamiento legible por ordenador que almacena un flujo continuo de bits que incluye información de imágenes codificada |
| ES12829697T Active ES2713477T3 (es) | 2011-09-09 | 2012-09-07 | Método de predicción inter y aparato correspondiente |
| ES18209458T Active ES2913828T3 (es) | 2011-09-09 | 2012-09-07 | Método de predicción inter y aparato correspondiente |
| ES23183415T Active ES2995257T3 (en) | 2011-09-09 | 2012-09-07 | Image decoding method, image encoding method, and computer-readable storage medium encoded image information |
Family Applications Before (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES22150761T Active ES2961675T3 (es) | 2011-09-09 | 2012-09-07 | Método de descodificación de imágenes, método de codificación de imágenes, método para transmitir datos correspondientes a información de imágenes y soporte de almacenamiento legible por ordenador que almacena un flujo continuo de bits que incluye información de imágenes codificada |
| ES12829697T Active ES2713477T3 (es) | 2011-09-09 | 2012-09-07 | Método de predicción inter y aparato correspondiente |
| ES18209458T Active ES2913828T3 (es) | 2011-09-09 | 2012-09-07 | Método de predicción inter y aparato correspondiente |
Country Status (16)
| Country | Link |
|---|---|
| US (7) | US9621888B2 (es) |
| EP (6) | EP2755389B1 (es) |
| JP (8) | JP2014529254A (es) |
| KR (6) | KR102379457B1 (es) |
| CN (5) | CN103931196B (es) |
| DK (2) | DK3468197T3 (es) |
| ES (4) | ES2961675T3 (es) |
| FI (1) | FI4009641T3 (es) |
| HR (2) | HRP20231384T1 (es) |
| HU (4) | HUE069315T2 (es) |
| PL (4) | PL3468197T3 (es) |
| PT (2) | PT3468197T (es) |
| RS (1) | RS66204B1 (es) |
| SI (2) | SI4009641T1 (es) |
| SM (1) | SMT202500045T1 (es) |
| WO (1) | WO2013036071A2 (es) |
Families Citing this family (86)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103797795B (zh) * | 2011-07-01 | 2017-07-28 | 谷歌技术控股有限责任公司 | 用于运动矢量预测的方法和设备 |
| DK3468197T3 (da) | 2011-09-09 | 2022-05-16 | Lg Electronics Inc | Fremgangsmåde til interforudsigelse og indretning dertil |
| US9736489B2 (en) * | 2011-09-17 | 2017-08-15 | Qualcomm Incorporated | Motion vector determination for video coding |
| US9253498B2 (en) | 2011-09-23 | 2016-02-02 | Kt Corporation | Method for inducing a merge candidate block and device using same |
| JP2013118627A (ja) * | 2011-10-31 | 2013-06-13 | Jvc Kenwood Corp | 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム |
| CN110198441B (zh) * | 2011-11-08 | 2022-01-11 | 韩国电子通信研究院 | 用于共享候选者列表的方法和装置 |
| KR20130073826A (ko) * | 2011-12-23 | 2013-07-03 | 한국전자통신연구원 | 시간적 머징 후보의 참조 픽쳐 인덱스 설정 방법 및 장치 |
| JP5835208B2 (ja) * | 2011-12-28 | 2015-12-24 | 株式会社Jvcケンウッド | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム |
| US9674527B2 (en) * | 2012-01-31 | 2017-06-06 | Qualcomm Incorporated | Implicit derivation of parallel motion estimation range size |
| US9544592B2 (en) | 2012-02-10 | 2017-01-10 | Texas Instruments Incorporated | Methods and systems for encoding pictures associated with video data |
| US11317101B2 (en) | 2012-06-12 | 2022-04-26 | Google Inc. | Inter frame candidate selection for a video encoder |
| US9503746B2 (en) | 2012-10-08 | 2016-11-22 | Google Inc. | Determine reference motion vectors |
| US9485515B2 (en) | 2013-08-23 | 2016-11-01 | Google Inc. | Video coding using reference motion vectors |
| CN102883163B (zh) | 2012-10-08 | 2014-05-28 | 华为技术有限公司 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
| WO2014058280A1 (ko) * | 2012-10-12 | 2014-04-17 | 한국전자통신연구원 | 영상의 부호화/복호화 방법 및 이를 이용하는 장치 |
| US9832478B2 (en) * | 2013-05-14 | 2017-11-28 | Mediatek Inc. | Video encoding method and apparatus for determining size of parallel motion estimation region based on encoding related information and related video decoding method and apparatus |
| US20150271512A1 (en) * | 2014-03-18 | 2015-09-24 | Texas Instruments Incorporated | Dynamic frame padding in a video hardware engine |
| US20160105678A1 (en) * | 2014-10-13 | 2016-04-14 | Microsoft Technology Licensing, Llc | Video Parameter Techniques |
| US11477477B2 (en) | 2015-01-26 | 2022-10-18 | Qualcomm Incorporated | Sub-prediction unit based advanced temporal motion vector prediction |
| CN107534765B (zh) | 2015-03-31 | 2020-10-02 | 瑞尔数码有限公司 | 视频编码系统和方法中的运动矢量选择和预测 |
| KR102583501B1 (ko) | 2015-04-27 | 2023-09-27 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 이를 위한 장치 |
| JP6078138B1 (ja) * | 2015-10-30 | 2017-02-08 | Nttエレクトロニクス株式会社 | 動画像符号化装置及び動画像符号化方法 |
| CN118900323A (zh) * | 2015-11-19 | 2024-11-05 | Lx半导体科技有限公司 | 图像编码/解码方法和图像数据的传输方法 |
| WO2017107072A1 (en) | 2015-12-22 | 2017-06-29 | Realnetworks, Inc. | Motion vector selection and prediction in video coding systems and methods |
| WO2018012851A1 (ko) | 2016-07-12 | 2018-01-18 | 한국전자통신연구원 | 영상 부호화/복호화 방법 및 이를 위한 기록 매체 |
| KR102270228B1 (ko) | 2016-07-12 | 2021-06-28 | 한국전자통신연구원 | 영상 부호화/복호화 방법 및 이를 위한 기록 매체 |
| CN116743991B (zh) * | 2016-08-03 | 2025-09-16 | 株式会社Kt | 视频解码方法、视频编码方法和视频数据的传送方法 |
| KR20190053238A (ko) | 2016-10-06 | 2019-05-17 | 엘지전자 주식회사 | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
| CN110476425B (zh) * | 2017-03-22 | 2023-11-28 | 韩国电子通信研究院 | 基于块形式的预测方法和装置 |
| CN117395394A (zh) * | 2017-03-22 | 2024-01-12 | 韩国电子通信研究院 | 使用参考块的预测方法和装置 |
| WO2018174617A1 (ko) | 2017-03-22 | 2018-09-27 | 한국전자통신연구원 | 블록 형태에 기반한 예측 방법 및 장치 |
| CN110546956B (zh) | 2017-06-30 | 2021-12-28 | 华为技术有限公司 | 一种帧间预测的方法及装置 |
| WO2019074273A1 (ko) * | 2017-10-10 | 2019-04-18 | 한국전자통신연구원 | 인터 예측 정보를 사용하는 방법 및 장치 |
| US11082716B2 (en) | 2017-10-10 | 2021-08-03 | Electronics And Telecommunications Research Institute | Method and device using inter prediction information |
| CN116866590A (zh) * | 2017-10-20 | 2023-10-10 | 株式会社Kt | 视频信号处理方法及装置 |
| US10623746B2 (en) * | 2017-12-07 | 2020-04-14 | Tencent America LLC | Method and apparatus for video coding |
| EP3758374A4 (en) * | 2018-02-22 | 2021-09-01 | LG Electronics Inc. | IMAGE DECODING METHOD AND DEVICE ACCORDING TO A BLOCK DIVISION STRUCTURE IN AN IMAGE ENCODING SYSTEM |
| CN118200552A (zh) | 2018-03-19 | 2024-06-14 | 株式会社Kt | 对图像进行解码或编码的方法以及非暂态计算机可读介质 |
| WO2019194653A1 (ko) * | 2018-04-06 | 2019-10-10 | 가온미디어 주식회사 | 움직임 정보의 복합적 머지 모드 처리를 제공하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치 |
| CN120128726A (zh) * | 2018-05-23 | 2025-06-10 | 株式会社Kt | 对视频进行解码、编码的方法以及用于传送压缩视频数据的装置 |
| CN118900330A (zh) * | 2018-05-24 | 2024-11-05 | 株式会社Kt | 对视频进行解码和编码的方法以及用于发送压缩视频数据的装置 |
| US10587885B2 (en) * | 2018-06-04 | 2020-03-10 | Tencent America LLC | Method and apparatus for merge mode with additional middle candidates in video coding |
| CA3141352A1 (en) * | 2018-06-27 | 2020-01-02 | Digitalinsights Inc. | Video encoding/decoding method and apparatus |
| TWI750486B (zh) * | 2018-06-29 | 2021-12-21 | 大陸商北京字節跳動網絡技術有限公司 | 運動資訊共用的限制 |
| CN110662043B (zh) | 2018-06-29 | 2021-12-21 | 北京字节跳动网络技术有限公司 | 一种用于处理视频数据的方法、装置和计算机可读介质 |
| TWI722465B (zh) * | 2018-06-29 | 2021-03-21 | 大陸商北京字節跳動網絡技術有限公司 | 子塊的邊界增強 |
| WO2020003278A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Update of look up table: fifo, constrained fifo |
| CN110662057B (zh) | 2018-06-29 | 2022-06-21 | 北京字节跳动网络技术有限公司 | 视频处理方法、装置、设备以及存储比特流的方法 |
| CN110662052B (zh) | 2018-06-29 | 2022-07-08 | 北京字节跳动网络技术有限公司 | 更新查找表(lut)的条件 |
| CN114885173B (zh) | 2018-06-29 | 2025-08-22 | 抖音视界(北京)有限公司 | Lut中的运动候选的检查顺序 |
| EP3791586A1 (en) | 2018-06-29 | 2021-03-17 | Beijing Bytedance Network Technology Co. Ltd. | Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks |
| CN118870022A (zh) | 2018-06-29 | 2024-10-29 | 株式会社Kt | 解码视频和编码视频的方法以及用于传送压缩视频数据的设备 |
| EP4475530A3 (en) | 2018-06-29 | 2025-02-19 | Beijing Bytedance Network Technology Co., Ltd. | Partial/full pruning when adding a hmvp candidate to merge/amvp |
| EP4300973A3 (en) | 2018-06-29 | 2024-06-19 | Beijing Bytedance Network Technology Co., Ltd. | Which lut to be updated or no updating |
| CN110677661B (zh) | 2018-07-02 | 2022-06-21 | 北京字节跳动网络技术有限公司 | 用于视频处理的方法、装置和存储介质 |
| US11671619B2 (en) | 2018-07-02 | 2023-06-06 | Intellectual Discovery Co., Ltd. | Video coding method and device using merge candidate |
| US10531090B1 (en) * | 2018-07-02 | 2020-01-07 | Tencent America LLC | Method and apparatus for video coding |
| WO2020007362A1 (en) * | 2018-07-06 | 2020-01-09 | Mediatek Inc. | Inherited motion information for decoding a current coding unit in a video coding system |
| WO2020054784A1 (ja) * | 2018-09-11 | 2020-03-19 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法および復号方法 |
| GB2590310B (en) | 2018-09-12 | 2023-03-22 | Beijing Bytedance Network Tech Co Ltd | Conditions for starting checking HMVP candidates depend on total number minus K |
| CN110896485B (zh) * | 2018-09-13 | 2021-10-15 | 华为技术有限公司 | 一种预测运动信息的解码方法及装置 |
| US11297330B2 (en) | 2018-09-22 | 2022-04-05 | Lg Electronics Inc. | Method and apparatus for processing video signal based on inter prediction |
| WO2020069673A1 (en) * | 2018-10-06 | 2020-04-09 | Mediatek Inc. | Method and apparatus of shared merge candidate list region for video coding |
| CN116634171A (zh) | 2018-10-10 | 2023-08-22 | 华为技术有限公司 | 帧间预测方法及装置 |
| CN112823514A (zh) * | 2018-11-08 | 2021-05-18 | Oppo广东移动通信有限公司 | 图像信号编码/解码方法及其设备 |
| CN121037560A (zh) * | 2018-11-08 | 2025-11-28 | Oppo广东移动通信有限公司 | 视频编码/解码方法及设备、介质 |
| WO2020103935A1 (en) | 2018-11-22 | 2020-05-28 | Beijing Bytedance Network Technology Co., Ltd. | Blending method for inter prediction with geometry partition |
| US11172214B2 (en) * | 2018-12-21 | 2021-11-09 | Qualcomm Incorporated | Derivation of processing area for parallel processing in video coding |
| CN113261290B (zh) | 2018-12-28 | 2024-03-12 | 北京字节跳动网络技术有限公司 | 基于修改历史的运动预测 |
| EP4429246A3 (en) | 2018-12-29 | 2024-11-20 | SZ DJI Technology Co., Ltd. | Video processing method and device |
| CN113273186B (zh) | 2019-01-10 | 2025-01-10 | 北京字节跳动网络技术有限公司 | Lut更新的调用 |
| CN113383554B (zh) | 2019-01-13 | 2022-12-16 | 北京字节跳动网络技术有限公司 | LUT和共享Merge列表之间的交互 |
| CN113302937B (zh) | 2019-01-16 | 2024-08-02 | 北京字节跳动网络技术有限公司 | 运动候选推导 |
| US11533506B2 (en) * | 2019-02-08 | 2022-12-20 | Tencent America LLC | Method and apparatus for video coding |
| CN113424535B (zh) | 2019-02-13 | 2025-01-10 | 北京字节跳动网络技术有限公司 | 基于运动矢量预测表的历史更新 |
| CN117714694A (zh) | 2019-02-17 | 2024-03-15 | 北京字节跳动网络技术有限公司 | 处理视频数据的方法、装置和计算机可读记录介质 |
| CN116366840B (zh) * | 2019-02-26 | 2025-11-07 | 苹果公司 | 用于对视频信号进行编码/解码的方法及其设备 |
| CN110809161B (zh) * | 2019-03-11 | 2020-12-29 | 杭州海康威视数字技术股份有限公司 | 运动信息候选者列表构建方法及装置 |
| MY209882A (en) * | 2019-03-11 | 2025-08-08 | Apple Inc | Method for encoding/decoding video signal,and apparatus therefor |
| US11418807B2 (en) * | 2019-03-15 | 2022-08-16 | Tencent America LLC | Temporal motion vector derivation in shared merge region at picture boundary |
| WO2020192611A1 (en) | 2019-03-22 | 2020-10-01 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between merge list construction and other tools |
| CN120658862A (zh) * | 2019-09-19 | 2025-09-16 | 阿里巴巴集团控股有限公司 | 构建合并候选列表的方法 |
| JPWO2021085401A1 (es) | 2019-10-31 | 2021-05-06 | ||
| US11539982B2 (en) | 2019-11-01 | 2022-12-27 | Qualcomm Incorporated | Merge estimation region for multi-type-tree block structure |
| WO2023132679A1 (ko) * | 2022-01-06 | 2023-07-13 | 엘지전자 주식회사 | 세컨더리 리스트를 이용하는 인터 예측 방법 및 장치 |
| US20250247522A1 (en) * | 2024-01-31 | 2025-07-31 | Tencent America LLC | Merge candidate derivation improvement by using intra template-matching |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3640318B2 (ja) | 1995-09-01 | 2005-04-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ディジタル画像の符号化方法及びシステム |
| KR100961037B1 (ko) * | 2002-07-11 | 2010-06-01 | 파나소닉 주식회사 | 화상 복호화 방법 및 화상 복호화 장치 |
| KR100694059B1 (ko) | 2004-09-30 | 2007-03-12 | 삼성전자주식회사 | 멀티 타임 스캔 방식에 기초한 인터 모드 인코딩 및디코딩 방법 및 장치 |
| CN101268698A (zh) * | 2005-05-19 | 2008-09-17 | Lg电子株式会社 | 用于视频数据编码/解码的方法 |
| WO2007092215A2 (en) * | 2006-02-02 | 2007-08-16 | Thomson Licensing | Method and apparatus for adaptive weight selection for motion compensated prediction |
| CN101026761B (zh) * | 2006-02-17 | 2010-05-12 | 中国科学院自动化研究所 | 一种具有最小误差的快速变尺寸块匹配的运动估计方法 |
| CN100471275C (zh) * | 2006-09-08 | 2009-03-18 | 清华大学 | 用于h.264/avc编码器的运动估计方法 |
| JP4898415B2 (ja) * | 2006-12-19 | 2012-03-14 | キヤノン株式会社 | 動画像符号化装置及び動画像符号化方法 |
| BRPI0809512A2 (pt) * | 2007-04-12 | 2016-03-15 | Thomson Licensing | método e aparelho para mesclagem dependente de contexto para modos salto-direto para codificação e decodificação de vídeo |
| KR101348613B1 (ko) | 2009-12-23 | 2014-01-10 | 한국전자통신연구원 | 영상의 부호화/복호화 장치 및 그 방법 |
| KR102355933B1 (ko) * | 2010-05-04 | 2022-01-25 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 장치 |
| US8271920B2 (en) * | 2010-08-25 | 2012-09-18 | International Business Machines Corporation | Converged large block and structured synthesis for high performance microprocessor designs |
| KR101033243B1 (ko) | 2010-11-17 | 2011-05-06 | 엘아이지넥스원 주식회사 | 객체 추적 방법 및 장치 |
| US9066110B2 (en) * | 2011-03-08 | 2015-06-23 | Texas Instruments Incorporated | Parsing friendly and error resilient merge flag coding in video coding |
| US9143795B2 (en) * | 2011-04-11 | 2015-09-22 | Texas Instruments Incorporated | Parallel motion estimation in video coding |
| SG194746A1 (en) * | 2011-05-31 | 2013-12-30 | Kaba Gmbh | Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device |
| US9313494B2 (en) * | 2011-06-20 | 2016-04-12 | Qualcomm Incorporated | Parallelization friendly merge candidates for video coding |
| FR2979241B1 (fr) * | 2011-08-30 | 2014-05-09 | Nutrialys Medical Nutrition Sa | Utilisation de compositions a faible teneur en polyamines dans la prevention ou le traitement des effets indesirables lies a un traitement anti-cancereux |
| DK3468197T3 (da) * | 2011-09-09 | 2022-05-16 | Lg Electronics Inc | Fremgangsmåde til interforudsigelse og indretning dertil |
| US9253498B2 (en) * | 2011-09-23 | 2016-02-02 | Kt Corporation | Method for inducing a merge candidate block and device using same |
| JP6308495B2 (ja) * | 2011-10-19 | 2018-04-11 | サン パテント トラスト | 画像復号方法、および、画像復号装置 |
| CN110198441B (zh) * | 2011-11-08 | 2022-01-11 | 韩国电子通信研究院 | 用于共享候选者列表的方法和装置 |
| EP2597872A3 (en) * | 2011-11-23 | 2013-12-25 | Humax Co., Ltd. | Methods for encoding/decoding of video using common merging candidate set of asymmetric partitions |
| KR101934277B1 (ko) * | 2011-11-28 | 2019-01-04 | 에스케이텔레콤 주식회사 | 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치 |
| JP5809613B2 (ja) | 2012-09-10 | 2015-11-11 | 日本電信電話株式会社 | 仮想マシンチューニング値計算装置および仮想マシンチューニング値計算方法 |
-
2012
- 2012-09-07 DK DK18209458.1T patent/DK3468197T3/da active
- 2012-09-07 SI SI201232042T patent/SI4009641T1/sl unknown
- 2012-09-07 HU HUE23183415A patent/HUE069315T2/hu unknown
- 2012-09-07 US US14/343,882 patent/US9621888B2/en active Active
- 2012-09-07 RS RS20241283A patent/RS66204B1/sr unknown
- 2012-09-07 CN CN201280054717.3A patent/CN103931196B/zh active Active
- 2012-09-07 EP EP12829697.7A patent/EP2755389B1/en active Active
- 2012-09-07 PL PL18209458T patent/PL3468197T3/pl unknown
- 2012-09-07 PL PL22150761.9T patent/PL4009641T3/pl unknown
- 2012-09-07 EP EP22150761.9A patent/EP4009641B1/en active Active
- 2012-09-07 ES ES22150761T patent/ES2961675T3/es active Active
- 2012-09-07 PL PL12829697T patent/PL2755389T3/pl unknown
- 2012-09-07 KR KR1020217022401A patent/KR102379457B1/ko active Active
- 2012-09-07 CN CN201710252460.7A patent/CN107197301B/zh active Active
- 2012-09-07 HU HUE18209458A patent/HUE059055T2/hu unknown
- 2012-09-07 HU HUE22150761A patent/HUE064151T2/hu unknown
- 2012-09-07 WO PCT/KR2012/007224 patent/WO2013036071A2/ko not_active Ceased
- 2012-09-07 ES ES12829697T patent/ES2713477T3/es active Active
- 2012-09-07 EP EP18209458.1A patent/EP3468197B1/en active Active
- 2012-09-07 KR KR1020207030187A patent/KR102280242B1/ko active Active
- 2012-09-07 KR KR1020227009656A patent/KR102498289B1/ko active Active
- 2012-09-07 PL PL23183415.1T patent/PL4231647T3/pl unknown
- 2012-09-07 CN CN201710252219.4A patent/CN107257476B/zh active Active
- 2012-09-07 EP EP23183415.1A patent/EP4231647B1/en active Active
- 2012-09-07 HR HRP20231384TT patent/HRP20231384T1/hr unknown
- 2012-09-07 KR KR1020207002851A patent/KR102170513B1/ko active Active
- 2012-09-07 SI SI201231998T patent/SI3468197T1/sl unknown
- 2012-09-07 PT PT182094581T patent/PT3468197T/pt unknown
- 2012-09-07 HU HUE12829697A patent/HUE043007T2/hu unknown
- 2012-09-07 JP JP2014529620A patent/JP2014529254A/ja active Pending
- 2012-09-07 ES ES18209458T patent/ES2913828T3/es active Active
- 2012-09-07 CN CN201710252810.XA patent/CN107197302B/zh active Active
- 2012-09-07 FI FIEP22150761.9T patent/FI4009641T3/fi active
- 2012-09-07 ES ES23183415T patent/ES2995257T3/es active Active
- 2012-09-07 KR KR1020147009476A patent/KR101960034B1/ko active Active
- 2012-09-07 SM SM20250045T patent/SMT202500045T1/it unknown
- 2012-09-07 EP EP25155968.8A patent/EP4529169A3/en active Pending
- 2012-09-07 HR HRP20241601TT patent/HRP20241601T1/hr unknown
- 2012-09-07 PT PT12829697T patent/PT2755389T/pt unknown
- 2012-09-07 CN CN201710252854.2A patent/CN107197303B/zh active Active
- 2012-09-07 EP EP24200590.8A patent/EP4459997A3/en active Pending
- 2012-09-07 DK DK12829697.7T patent/DK2755389T3/en active
- 2012-09-07 KR KR1020197007391A patent/KR102073405B1/ko active Active
-
2016
- 2016-11-10 JP JP2016219717A patent/JP2017069971A/ja active Pending
-
2017
- 2017-03-20 US US15/463,021 patent/US10116941B2/en active Active
-
2018
- 2018-10-29 US US16/173,825 patent/US10652551B2/en active Active
-
2019
- 2019-06-27 JP JP2019119980A patent/JP6764507B2/ja active Active
-
2020
- 2020-03-10 US US16/814,808 patent/US11082704B2/en active Active
- 2020-09-11 JP JP2020152759A patent/JP6995952B2/ja active Active
-
2021
- 2021-06-29 US US17/362,604 patent/US11570446B2/en active Active
- 2021-12-13 JP JP2021201558A patent/JP7350826B2/ja active Active
-
2023
- 2023-01-04 US US18/093,194 patent/US11949883B2/en active Active
- 2023-06-27 JP JP2023104632A patent/JP7654033B2/ja active Active
-
2024
- 2024-03-19 US US18/609,817 patent/US12483710B2/en active Active
-
2025
- 2025-03-18 JP JP2025043488A patent/JP2025083566A/ja active Pending
- 2025-03-18 JP JP2025043589A patent/JP2025083570A/ja active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2995257T3 (en) | Image decoding method, image encoding method, and computer-readable storage medium encoded image information | |
| ES2985259T3 (es) | Aparato de decodificación para decodificar imágenes, aparato de codificación para codificar imágenes, medio de almacenamiento legible por ordenador y aparato para transmitir datos para una imagen | |
| ES2954591T3 (es) | Aparato de decodificación de vídeo y aparato de codificación de vídeo | |
| ES2647572B1 (es) | Metodo para inducir un bloque candidato de fusion y dispositivo que usa el mismo | |
| ES2738215T3 (es) | Método para la codificación y decodificación de datos de imagen con un predictor del vector de movimiento temporal y dispositivo que utiliza el mismo | |
| ES2967280T3 (es) | Método para partición de bloque y dispositivo de decodificación | |
| ES3025145T3 (en) | Method for processing image on basis of intra prediction mode and apparatus therefor | |
| ES2991337T3 (es) | Procedimiento de descodificación y procedimiento de codificación de una señal de vídeo | |
| ES2711954T3 (es) | Dispositivo y procedimiento para codificación escalable de información de vídeo basándose en codificación de vídeo de alta eficiencia | |
| KR102546142B1 (ko) | 비디오 코딩 시스템에서 블록 구조 도출 방법 및 장치 | |
| CN111886861A (zh) | 根据图像编码系统中的块划分结构的图像解码方法和设备 | |
| CN106105199B (zh) | 基于多边形单元的编/解码图像的方法及其装置 | |
| KR20240018548A (ko) | 영상 부호화/복호화 방법 및 장치 |