ES2927560T3 - Aparato de decodificación de vídeo, aparato de codificación de vídeo, medio de almacenamiento y método para la trasmisión - Google Patents
Aparato de decodificación de vídeo, aparato de codificación de vídeo, medio de almacenamiento y método para la trasmisión Download PDFInfo
- Publication number
- ES2927560T3 ES2927560T3 ES21163358T ES21163358T ES2927560T3 ES 2927560 T3 ES2927560 T3 ES 2927560T3 ES 21163358 T ES21163358 T ES 21163358T ES 21163358 T ES21163358 T ES 21163358T ES 2927560 T3 ES2927560 T3 ES 2927560T3
- Authority
- ES
- Spain
- Prior art keywords
- block
- information
- target block
- motion information
- modified
- 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
- 238000000034 method Methods 0.000 title claims description 212
- 230000005540 biological transmission Effects 0.000 title description 7
- 230000033001 locomotion Effects 0.000 claims abstract description 971
- 230000002123 temporal effect Effects 0.000 claims abstract description 24
- 238000002156 mixing Methods 0.000 claims abstract description 11
- 230000004927 fusion Effects 0.000 claims description 6
- 239000000203 mixture Substances 0.000 claims description 6
- 230000003287 optical effect Effects 0.000 claims description 6
- 239000000155 melt Substances 0.000 claims description 3
- 238000002844 melting Methods 0.000 claims 1
- 230000008018 melting Effects 0.000 claims 1
- 239000000523 sample Substances 0.000 description 101
- 230000009466 transformation Effects 0.000 description 16
- 230000003044 adaptive effect Effects 0.000 description 13
- 238000001914 filtration Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000013139 quantization Methods 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 4
- 239000013074 reference sample Substances 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/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/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/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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un aparato de decodificación de video (200) está configurado para derivar información de movimiento de un primer bloque objetivo; derivar información de movimiento modificada para el primer bloque objetivo en base a la información de movimiento y la bipredicción; obtener información sobre la predicción inter para un segundo bloque objetivo a partir de un flujo de bits, en el que la información sobre la predicción inter incluye información de modo que representa que se aplica un modo de fusión al segundo bloque objetivo y una información de índice de fusión para el segundo bloque objetivo; determinar que el modo de fusión se aplica al segundo bloque objetivo en base a la información del modo; configurar una lista de candidatos de fusión para el segundo bloque objetivo basada en bloques vecinos espaciales y un bloque vecino temporal del segundo bloque objetivo; seleccionar uno de los candidatos de fusión que constituyen la lista de candidatos de fusión en base a la información del índice de fusión; derivar información de movimiento del segundo bloque objetivo en base al candidato de fusión seleccionado; generar muestras de predicción para el segundo bloque objetivo realizando la interpredicción basada en la información de movimiento del segundo bloque objetivo; y generar muestras reconstruidas basadas en las muestras de predicción. Los candidatos de fusión incluyen candidatos de información de movimiento espacial y un candidato de información de movimiento temporal, donde los candidatos de información de movimiento espacial se derivan en base a los bloques vecinos espaciales y el candidato de información de movimiento temporal se deriva en base al bloque vecino temporal. Cuando el bloque vecino temporal corresponde al primer bloque objetivo, la información de movimiento temporal candidata se deriva usando la información de movimiento modificada del primer bloque objetivo. Cuando el bloque vecino espacial corresponde al primer bloque objetivo, la información de movimiento espacial candidata se deriva utilizando la información de movimiento del primer bloque objetivo. De acuerdo con la presente invención, se puede calcular la información de movimiento modificada del bloque objetivo, y la información de movimiento del bloque objetivo se puede actualizar sobre la base de la información de movimiento modificada, de manera que se puede mejorar la eficiencia de codificación general. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Aparato de decodificación de vídeo, aparato de codificación de vídeo, medio de almacenamiento y método para la trasmisión
ANTECEDENTES DE LA INVENCIÓN
Campo de la invención
La presente invención se refiere a una técnica para la codificación de imágenes y, más particularmente, a un aparato para decodificar una imagen en un sistema de codificación de imágenes, a un aparato para codificar una imagen en un sistema de codificación de imágenes y a un medio de almacenamiento digital que almacena los datos de imagen codificados. Además, la presente invención se refiere a un método para transmitir datos de información de video.
Técnica relacionada
La demanda de alta resolución, imágenes de alta calidad, tales como imágenes de HD (alta definición) e imágenes de UHD (Ultra Alta Definición) han ido aumentando en diversos campos. Como los datos de imagen tienen alta resolución y alta calidad, la cantidad de información o bits que se transmitirán aumenta en relación con los datos de imagen heredados. Por lo tanto, cuando los datos de imagen se transmiten utilizando un medio como una línea de banda ancha cableada/inalámbrica convencional o los datos de imagen se almacenan utilizando un medio de almacenamiento existente, se incrementan el costo de transmisión y el costo de almacenamiento del mismo. Las características de los preámbulos de las reivindicaciones independientes se describen en cada solicitud de patente de la técnica anterior WO 2015/149698 A1 y US 2016/286232 A1, así como en los documentos del Equipo Conjunto de Exploración de Video (JVET) de ITU-T SG 16 WP 3 e ISO/IECJTC 1/SC 29/WG 11Con el título "Decoder-Side Motion Vector Refinement Based on Bilateral Template Matching" y el número de documento JVET-D0029 y el título "Algorithm Description FO Joint Exploration Test Model 4" y el número de documento JVETD0029.
Por consiguiente, hay una necesidad de una técnica de compresión de imágenes altamente eficaz para transmitir, almacenar y reproducir de manera eficaz información de imágenes de alta resolución y alta calidad.
SUMARIO DE LA INVENCIÓN
El objeto anterior se resuelve mediante la combinación de características de las reivindicaciones independientes. Las realizaciones preferidas se definen en las reivindicaciones dependientes. La divulgación que permite la invención se encuentra en las realizaciones de las Figuras 1 (aparato de codificación) y 2 (aparato de decodificación) en combinación con la realización de la Figura 8 y la descripción correspondiente. Las realizaciones restantes que no entran dentro del alcance de protección de las reivindicaciones deben entenderse como ejemplos que no describen partes de la presente invención.
La presente invención proporciona un aparato para mejorar la eficiencia de codificación de imágenes.
La presente descripción también proporciona un método y un aparato para una inter-predicción que actualiza la información de movimiento de un bloque diana.
La presente descripción también proporciona un método y aparato para calcular información de movimiento modificado de un bloque diana después de procedimiento de decodificación del bloque diana, y la actualización basada en la información de movimiento modificado.
La presente descripción también proporciona un método y aparato para utilizar información de movimiento actualizada de un bloque dianas para la información de movimiento de un siguiente bloque al lado del bloque diana.
En un aspecto que no se reivindica, un método de descodificación de imagen realizada por un aparato de descodificación se proporciona. El método de decodificación de imágenes incluye obtener información sobre la inter predicción de un bloque diana a través de un acceso indirecto, derivar información de movimiento del bloque diana en base a la información de la inter predicción, derivar una muestra de predicción realizando la inter predicción para el bloque diana basado en la información de movimiento, generando un bloque reconstruido en base a la muestra de predicción, derivando información de movimiento modificado para el bloque diana en base al bloque reconstruido, y actualizando la información de movimiento del bloque diana en base a la información de movimiento modificado.
En otro aspecto, se proporciona un aparato de descodificación para realizar una descodificación de imagen. El aparato de decodificación incluye una unidad de decodificación de entropía configurada para obtener información sobre la inter predicción de un bloque diana a través de un acceso indirecto, una unidad de predicción configurada para derivar información de movimiento del bloque diana en base a la información de la inter predicción, derivar una muestra de predicción realizando la inter predicción para el bloque diana basada en la información de movimiento, generar un bloque
reconstruido del bloque diana basado en la muestra de predicción y derivar información de movimiento modificado para el bloque diana basado en el bloque reconstruido, y una memoria configurada para actualizar la información de movimiento del bloque diana en función de la información de movimiento modificado. Esta aparato de decodificación tampoco es de acuerdo con las reivindicaciones
En otro aspecto más que no se reivindica, se proporciona un método de codificación de vídeo realizada por un aparato de codificación. El método incluye generar información de movimiento para un bloque diana, derivar una muestra de predicción realizando una inter predicción para el bloque diana en base a la información de movimiento, generar un bloque reconstruido basado en la muestra de predicción, generar información de movimiento modificado para el bloque diana basado en el bloque reconstruido y actualización de la información de movimiento del bloque diana en base a la información de movimiento modificado.
En otro aspecto más, se proporciona un aparato de codificación de vídeo. El aparato de codificación incluye una unidad de predicción configurada para generar información de movimiento para un bloque diana, derivar una muestra de predicción realizando una inter predicción para el bloque diana en base a la información de movimiento, generar un bloque reconstruido basado en la muestra de predicción y generar información de movimiento modificado para el bloque diana basado en el bloque reconstruido y una memoria configurada para actualizar la información de movimiento del bloque diana en base a la información de movimiento modificado. Este aparato de codificación tampoco es de acuerdo con las reivindicaciones.
De acuerdo con la presente descripción, después del procedimiento de decodificación de un bloque diana, información de movimiento modificado del bloque diana se calcula, y puede ser actualizada para información de movimiento más precisa, y a través de esta, en general puede ser mejorada la eficiencia de codificación.
De acuerdo con la presente descripción, la información de movimiento de un siguiente bloque al lado del bloque diana puede ser derivada basada en la información de movimiento actualizada del bloque diana, y la propagación de distorsión se puede disminuir, y a través de esta, en general puede ser mejorada la eficiencia de codificación.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La FIG. 1 es un diagrama esquemático que ilustra una configuración de un dispositivo de codificación de vídeo al que es aplicable la presente divulgación.
La FIG. 2 es un diagrama esquemático que ilustra una configuración de un dispositivo de decodificación de video al que es aplicable la presente divulgación.
La FIG. 3 ilustra un ejemplo de un caso de realización de una inter predicción basada en información de movimiento unidireccional y un caso de realización de una inter predicción basada en información de movimiento bidireccional que se aplica a un bloque diana.
La FIG. 4 ilustra un ejemplo de un procedimiento de codificación que incluye un método para actualizar la información de movimiento de un bloque diana.
La FIG. 5 ilustra un ejemplo de procedimiento de decodificación que incluye un método para actualizar la información de movimiento de un bloque diana.
La FIG. 6 ilustra un ejemplo de un método para actualizar la información de movimiento del bloque diana a través del método de coincidencia de bloques por el aparato de decodificación.
La FIG. 7 ilustra imágenes de referencia que se pueden utilizar en la información de movimiento modificado. La FIG. 8 ilustra un ejemplo de una lista de candidatos de fusión de un siguiente bloque vecino a los bloques diana en el caso de que la información de movimiento de los bloques diana se actualice a la información de movimiento modificado de los bloques diana.
La FIG. 9 ilustra un ejemplo de una lista de candidatos de fusión de un siguiente bloque vecino a los bloques diana en el caso de que la información de movimiento de los bloques diana se actualice a la información de movimiento modificado de los bloques diana.
La FIG. 10 ilustra un ejemplo de una lista de candidatos de predictores de vectores de movimiento de un siguiente bloque al lado del bloque diana en el caso de que la información de movimiento del bloque diana se actualice basándose en la información de movimiento modificado del bloque diana.
La FIG. 11 ilustra un ejemplo de una lista de candidatos de predictores de vectores de movimiento de un siguiente bloque al lado del bloque diana en el caso de que la información de movimiento del bloque diana se actualice basándose en la información de movimiento modificado del bloque diana.
La FIG. 12 ilustra esquemáticamente un método de codificación de vídeo mediante un aparato de codificación según la presente invención.
La FIG. 13 ilustra esquemáticamente un método de decodificación de video mediante un aparato de decodificación según la presente invención.
DESCRIPCIÓN DE FORMAS DE REALIZACIÓN EJEMPLARES
Los elementos en los dibujos descritos en la descripción se dibujan de forma independiente con el propósito de conveniencia para la explicación de diferentes funciones específicas, y no significa que los elementos están realizados
por hardware independiente o software independiente. Por ejemplo, dos o más elementos de los elementos pueden combinarse para formar un solo elemento, o un elemento puede dividirse en varios elementos. Las realizaciones en las que los elementos se combinan y/o dividen pertenecen a la divulgación sin apartarse del concepto de la divulgación.
De aquí en adelante, las realizaciones de la presente descripción se describirán en detalle con referencia a los dibujos adjuntos. Además, se utilizan números de referencia similares para indicar elementos similares en todos los dibujos, y se omitirán las mismas descripciones sobre los elementos similares.
En la presente memoria, generalmente una imagen significa una unidad que representa una imagen en un momento específico, una rebanada es una unidad que constituye una parte de la imagen. Una imagen puede estar compuesta de varios cortes, y los términos de una imagen y un corte pueden mezclarse entre sí según lo requiera la ocasión.
Un píxel o un pel puede significar una unidad mínima que constituye una representación (o imagen). Además, una "muestra" puede usarse como un término correspondiente a un píxel. La muestra puede representar generalmente un píxel o el valor de un píxel, puede representar solo un píxel (un valor de píxel) de un componente de luminancia y puede representar solo un píxel (un valor de píxel) de un componente de crominancia.
Una unidad indica una unidad básica de procedimiento de imágenes. La unidad puede incluir al menos una de un área específica e información relacionada con el área. Opcionalmente, la unidad se puede mezclar con términos como un bloque, un área o similares. En un caso típico, un bloque M x N puede representar un conjunto de muestras o coeficientes de transformación dispuestos en M columnas y N filas.
La FIG. 1 ilustra brevemente una estructura de un dispositivo de codificación de video al que es aplicable la presente divulgación.
Haciendo referencia a la FIG. 1, un dispositivo de codificación de vídeo 100 incluye un divisor de imágenes 105, un predictor 110, un sustractor 115, un transformador 120, un cuantificador 125, un reorganizador 130, un codificador de entropía 135, un descuantificador 140, un transformador inverso 145, un sumador 150, un filtro 255, y una memoria 160.
El particionador de imagen 105 puede dividir una imagen de entrada en al menos una unidad de procedimiento. Aquí, una unidad de procedimiento puede ser una unidad de codificación (CU), una unidad de predicción (PU) o una unidad de transformación (TU). La unidad de codificación es un bloque unitario de codificación, y una unidad de codificación más grande (LCU) puede dividirse en unidades de codificación de mayor profundidad de acuerdo con una estructura de árbol cuádruple. En este caso, la unidad de codificación más grande puede usarse como una unidad de codificación final o una unidad de codificación puede dividirse recursivamente en unidades de codificación de mayor profundidad según sea necesario y una unidad de codificación que tenga un tamaño óptimo puede usarse como una unidad de codificación final basada en eficiencia de codificación de acuerdo con las características del video. Cuando se establece una unidad de codificación más pequeña (SCU), una unidad de codificación no se puede dividir en una unidad de codificación más pequeña que la unidad de codificación más pequeña. Aquí, la unidad de codificación final se refiere a una unidad de codificación dividida o separada en un predictor o un transformador. Una unidad de predicción es un bloque dividido de un bloque de unidad de codificación y puede ser un bloque de unidad de predicción de muestra. Aquí, la unidad de predicción se puede dividir en sub bloques. Un bloque de transformación puede dividirse de un bloque de unidad de codificación de acuerdo con la estructura de árbol cuádruple y puede ser un bloque de unidad que deriva un coeficiente de transformación y/o un bloque de unidad que deriva una señal residual de un coeficiente de transformación.
En lo sucesivo, la unidad de codificación puede ser denominada un bloque de codificación (CB), la unidad de predicción puede ser denominada una predicción de bloque (PB), y la unidad de transformar puede ser denominada un bloque transformado (TB).
El bloque de predicción o la unidad de predicción puede significar un área específica que tiene una forma de bloque en una imagen, y puede incluir una matriz de una muestra de predicción. Además, el bloque de transformación o la unidad de transformación puede significar un área específica que tiene una forma de bloque en una imagen y puede incluir un coeficiente de transformación o una matriz de muestras residuales.
El predictor 110 puede llevar a cabo la predicción en un bloque diana de procedimiento (en lo sucesivo, un bloque de corriente), y puede generar un bloque de predicción incluyendo muestras de predicción para el bloque de corriente. Una unidad de predicción realizada en el predictor 110 puede ser un bloque de codificación, o puede ser un bloque de transformación, o puede ser un bloque de predicción.
El predictor 110 puede determinar si se aplica intra-predicción o se aplica inter-predicción al bloque de corriente. Por ejemplo, el predictor 110 puede determinar si la intra-predicción o la inter-predicción se aplica en unidades de CU.
En el caso de la intra-predicción, el predictor 110 puede derivar una muestra de predicción para el bloque de corriente sobre la base de una muestra de referencia fuera del bloque de corriente en una imagen a la que pertenece el
bloque de corriente (en lo sucesivo, una imagen de corriente). En este caso, el predictor 110 puede derivar la muestra de predicción basada en un promedio o interpolación de muestras de referencia vecinas del bloque de corriente (caso (i)), o puede derivar la muestra de predicción basada en una muestra de referencia existente en una (predicción) dirección en cuanto a una muestra de predicción entre las muestras de referencia vecinas del bloque de corriente (caso (ii)). El caso (i) puede denominarse modo no direccional o modo no angular, y el caso (ii) puede denominarse modo direccional o modo angular. En la intra-predicción, los modos de predicción pueden incluir como ejemplo 33 modos direccionales y al menos dos modos no direccionales. Los modos no direccionales pueden incluir el modo CC y el modo plano. El predictor 110 puede determinar el modo de predicción que se aplicará al bloque de corriente utilizando el modo de predicción aplicado al bloque vecino.
En el caso de la inter-predicción, el predictor 110 puede derivar la muestra de predicción para el bloque de corriente basado en una muestra especificada por un vector de movimiento en una imagen de referencia. El predictor 110 puede derivar la muestra de predicción para el bloque de corriente aplicando cualquiera de un modo de salto, un modo de fusión y un modo de predicción de vector de movimiento (MVP). En el caso del modo de salto y el modo de fusión, el predictor 110 puede usar información de movimiento del bloque vecino como información de movimiento del bloque de corriente. En el caso del modo de omisión, a diferencia del modo de fusión, no se transmite una diferencia (residual) entre la muestra de predicción y una muestra original. En el caso del modo MVP, un vector de movimiento del bloque vecino se usa como predictor de vector de movimiento y, por lo tanto, se usa como predictor de vector de movimiento del bloque de corriente para derivar un vector de movimiento del bloque de corriente.
En el caso de la inter-predicción, el bloque vecino puede incluir un bloque vecino espacial existente en la imagen de corriente y un bloque vecino temporal existente en la imagen de referencia. La imagen de referencia que incluye el bloque vecino temporal también puede denominarse imagen colocada (colPic). La información de movimiento puede incluir el vector de movimiento y un índice de imagen de referencia. La información, como la información del modo de predicción y la información de movimiento, puede codificarse (entropía) y luego emitirse como una forma de acceso indirecto.
Cuando la información de movimiento de un bloque vecino temporal se utiliza en el modo de salto y el modo de mezcla, una imagen más alta en una lista de imágenes de referencia pueden utilizarse como una imagen de referencia. Las imágenes de referencia incluidas en la lista de imágenes de referencia pueden alinearse basándose en una diferencia de recuento de orden de imágenes (POC) entre una imagen de corriente y una imagen de referencia correspondiente. Un POC corresponde a un orden de visualización y se puede discriminar de un orden de codificación.
El restador 115 genera una muestra residual que es una diferencia entre una muestra original y una muestra de predicción, cuando se aplica el modo de salto, la muestra residual no puede ser generada como se describe anteriormente.
El transformador 120 transforma las muestras residuales en unidades de un bloque de transformación para generar un coeficiente de transformación. El transformador 120 puede realizar la transformación basándose en el tamaño de un bloque de transformación correspondiente y un modo de predicción aplicado a un bloque de codificación o bloque de predicción que se superpone espacialmente con el bloque de transformación. Por ejemplo, las muestras residuales se pueden transformar usando la transformada sinusoidal discreta (DST) cuando se aplica intra-predicción al bloque de codificación o cuando el bloque de predicción se superpone con el bloque de transformación y el bloque de transformación es una matriz residual y se transforma usando transformada de coseno discreta (DCT) en otros casos.
El cuantificador 125 puede cuantizar los coeficientes de transformada para generar un coeficiente de transformada cuantificado.
El reorganizador 130 reordena coeficientes de transformación cuantificados. El reorganizador 130 puede reorganizar los coeficientes de transformación cuantificados en forma de bloque en un vector unidimensional mediante un método de exploración de coeficientes. Aunque el reorganizador 130 se describe como un componente separado, el reorganizador 130 puede ser una parte del cuantificador 125.
El codificador de entropía 135 puede realizar codificación de entropía en los coeficientes de transformación cuantificados. La codificación de entropía puede incluir un método de codificación, p. ej., un Golomb exponencial, una codificación de longitud variable adaptativa al contexto (CAVLC), una codificación aritmética binaria adaptativa al contexto (CABAC), o similares. El codificador de entropía 135 puede realizar la codificación junto o por separado de la información (p. ej., un valor de elemento de sintaxis o similar) requerida para la reconstrucción de video además de los coeficientes de transformación cuantificados. La información codificada en entropía puede transmitirse o almacenarse en una unidad de una capa de abstracción de red (NAL) en forma de acceso indirecto.
El descuantificador 140 descuantifica valores (coeficientes de transformación) cuantificados por el cuantificador 125 y el transformador inverso 145 transforma inversamente valores descuantificados por el descuantificador 135 para generar una muestra residual.
El sumador 150 añade una muestra residual a una muestra de predicción para reconstruir una imagen. La
muestra residual se puede agregar a la muestra de predicción en unidades de un bloque para generar un bloque reconstruido. Aunque el sumador 150 se describe como un componente separado, el sumador 150 puede ser una parte del predictor 110.
El filtro 155 puede aplicar el desbloqueo de filtrado y/o una muestra de desplazamiento a la imagen reconstruida adaptativa. Los artefactos en el límite de un bloque en la imagen reconstruida o la distorsión en la cuantificación se pueden corregir mediante el filtrado de desbloqueo y/o el desplazamiento adaptativo de la muestra. El desplazamiento adaptativo de muestra se puede aplicar en unidades de una muestra después de que se completa el filtrado de desbloqueo. El filtro 155 puede aplicar un filtro de bucle adaptativo (ALF) a la imagen reconstruida. El ALF puede aplicarse a la imagen reconstruida a la que se ha aplicado filtrado de desbloqueo y/o desplazamiento adaptativo de muestra.
La memoria 160 puede almacenar una imagen reconstruida o información necesaria para la codificación/decodificación. Aquí, la imagen reconstruida puede ser la imagen reconstruida filtrada por el filtro 155. La imagen reconstruida almacenada puede usarse como una imagen de referencia para la (inter) predicción de otras imágenes. Por ejemplo, la memoria 160 puede almacenar imágenes (de referencia) utilizadas para la interpredicción. Aquí, las imágenes utilizadas para la interpredicción pueden designarse de acuerdo con un conjunto de imágenes de referencia o una lista de imágenes de referencia.
La FIG. 2 ilustra brevemente una estructura de un dispositivo de decodificación de video al que es aplicable la presente divulgación.
Haciendo referencia a la FIG. 2, un vídeo de dispositivo 200 de decodificación incluye un decodificador de entropía 210, un reorganizador 220, un descuantificador 230, un transformador inverso 240, un predictor 250, un sumador 260, un filtro 270, y una memoria 280.
Cuando se introduce un acceso indirecto que incluye información de video, el dispositivo de decodificación de video 200 puede reconstruir un video en asociación con un procedimiento mediante el cual se procesa la información de video en el dispositivo de codificación de video.
Por ejemplo, el vídeo del dispositivo 200 de decodificación puede llevar a cabo la decodificación de vídeo mediante el uso de una unidad de procedimiento aplicada en el dispositivo de codificación de vídeo. Por tanto, el bloque de unidad de procedimiento de decodificación de vídeo puede ser un bloque de unidad de codificación, un bloque de unidad de predicción o un bloque de unidad de transformación. Como bloque unitario de decodificación, el bloque unitario de codificación puede dividirse según una estructura de árbol cuádruple a partir de un bloque de unidad de codificación más grande. Como bloque dividido del bloque de unidad de codificación, el bloque de unidad de predicción puede ser un bloque de unidad de predicción de muestra. En este caso, el bloque de unidad de predicción puede dividirse en sub bloques. Como bloque unitario de codificación, el bloque unitario de transformación puede dividirse según la estructura de árbol cuádruple, y puede ser un bloque unitario para derivar un coeficiente de transformación o un bloque unitario para derivar una señal residual del coeficiente de transformada.
El decodificador de entropía 210 puede analizar sintácticamente el acceso indirecto a la información de salida necesaria para la reconstrucción de vídeo o de reconstrucción de imagen. Por ejemplo, el decodificador de entropía 210 puede decodificar información en el acceso indirecto basándose en un método de codificación como la codificación exponencial de Golomb, CAVLC, CABAC o similares, y puede generar un valor de un elemento de sintaxis requerido para la reconstrucción de video y un valor cuantificado de un coeficiente de transformada con respecto a un residual.
Más específicamente, un procedimiento de descodificación de entropía CABAC puede recibir un bin correspondiente a cada elemento de sintaxis en un acceso indirecto, determinan un modelo de contexto usando la descodificación de información de elemento de sintaxis diana y la decodificación de información de vecino y la decodificación de bloques o información de amabol diana/bin decodificado en un paso anterior, predice la probabilidad de generación de bin según el modelo de contexto determinado y realiza la decodificación aritmética del bin para generar un símbolo correspondiente a cada valor de elemento de sintaxis. Aquí, el método de decodificación de entropía CABAC puede actualizar el modelo de contexto utilizando información de un símbolo/bin decodificado para un modelo de contexto del siguiente símbolo/bin después de la determinación del modelo de contexto.
La información sobre la predicción entre la información decodificada en el decodificador de entropía 210 puede proporcionarse al predictor 250 y los valores residuales, es decir, los coeficientes de transformación cuantificados, en los que la decodificación de entropía ha sido realizada por el decodificador de entropía 210 pueden introducirse en el reorganizador 220.
El reorganizador 220 puede reorganizar los coeficientes de transformada cuantificados en una forma de bloque de dos dimensiones. El reorganizador 220 puede realizar una reordenación correspondiente a la exploración de coeficientes realizada por el dispositivo de codificación. Aunque el reorganizador 220 se describe como un componente separado, el reorganizador 220 puede ser una parte del cuantificador 230.
El descuantificador 230 puede de-cuantizar los coeficientes de transformada cuantificados sobre la base de una (de)cuantificación de parámetros para generar un coeficiente de transformación. En este caso, la información para derivar un parámetro de cuantificación puede señalizarse desde el dispositivo de codificación.
El transformador inverso 240 puede transformar inversamente los coeficientes de transformación a las muestras para derivar residuales.
El predictor 250 puede llevar a cabo la predicción de un bloque de corriente, y puede generar un bloque de predicción incluyendo muestras de predicción para el bloque de corriente. Una unidad de predicción realizada en el predictor 250 puede ser un bloque de codificación o puede ser un bloque de transformación o puede ser un bloque de predicción.
El predictor 250 puede determinar si debe aplicar intra-predicción o inter-predicción basada en información sobre una predicción. En este caso, una unidad para determinar cuál se utilizará entre la intra-predicción y la inter-predicción puede ser diferente de una unidad para generar una muestra de predicción. Además, una unidad para generar la muestra de predicción también puede ser diferente en la interpredicción y la intrapredicción. Por ejemplo, cuál se aplicará entre la interpredicción y la intrapredicción puede determinarse en unidades de CU. Además, p. ej., en la interpredicción, la muestra de predicción se puede generar determinando el modo de predicción en la unidad de Pu , y en la intra-predicción, la muestra de predicción se puede generar en la unidad de TU determinando el modo de predicción en unidad de PU.
En el caso de la intra-predicción, el predictor 250 puede derivar una muestra de predicción para un bloque de corriente sobre la base de una muestra de referencia vecina en una imagen de corriente. El predictor 250 puede derivar la muestra de predicción para el bloque de corriente aplicando un modo direccional o un modo no direccional basado en la muestra de referencia vecina del bloque de corriente. En este caso, se puede determinar un modo de predicción que se aplicará al bloque de corriente utilizando un modo de intra-predicción de un bloque vecino.
En el caso de inter-predicción, el predictor 250 puede derivar una muestra de predicción para un bloque de corriente sobre la base de una muestra especifica en una imagen de referencia de acuerdo con un vector de movimiento. El predictor 250 puede derivar la muestra de predicción para el bloque de corriente usando uno de los modos de salto, el modo de fusión y el modo MVP. Aquí, la información de movimiento requerida para la interpredicción del bloque de corriente proporcionada por el dispositivo de codificación de video, p. ej., un vector de movimiento e información sobre un índice de imagen de referencia puede adquirirse o derivarse basándose en la información sobre la predicción.
En el modo de salto y el modo de combinación, la información de movimiento de un bloque vecino se puede usar como el movimiento de información del bloque de corriente. Aquí, el bloque vecino puede incluir un bloque vecino espacial y un bloque vecino temporal.
El predictor 250 puede construir una lista de candidatos de combinación que utiliza la información de movimiento de bloques vecinos disponibles y utilizar la información indicada por un índice de fusión en la lista de candidatos de combinación como un vector de movimiento del bloque de corriente. El índice de fusión puede ser señalado por el dispositivo de codificación. La información de movimiento puede incluir un vector de movimiento y una imagen de referencia. Cuando se usa información de movimiento de un bloque vecino temporal en el modo de salto y el modo de fusión, se puede usar una imagen más alta en una lista de imágenes de referencia como imagen de referencia.
En el caso del modo de salto, una diferencia (residual) entre una muestra de predicción y una muestra original no se transmite, que se distingue del modo de mezcla.
En el caso del modo de MVP, el vector de movimiento del bloque de corriente se puede derivar usando un vector de movimiento de un bloque vecino como un predictor de vector de movimiento. Aquí, el bloque vecino puede incluir un bloque vecino espacial y un bloque vecino temporal.
Cuando se aplica el modo de mezcla, p. ej., una lista de candidatos de fusión se puede generar utilizando un vector de movimiento de un bloque reconstruido espacial vecino y/o un vector de movimiento correspondiente a un bloque de Col que es un bloque temporal vecino. Un vector de movimiento de un bloque candidato seleccionado de la lista de candidatos de fusión se utiliza como vector de movimiento del bloque de corriente en el modo de fusión. La información antes mencionada sobre la predicción puede incluir un índice de fusión que indique un bloque candidato que tiene el mejor vector de movimiento seleccionado entre los bloques candidatos incluidos en la lista de candidatos fusionados. Aquí, el predictor 250 puede derivar el vector de movimiento del bloque de corriente usando el índice de fusión.
Cuando el modo de MVP (Motion Vector Prediction) se aplica como otro ejemplo, una lista de candidatos de predictor de vector de movimiento se puede generar utilizando un vector de movimiento de un bloque reconstruido vecino espacial y/o un movimiento de vector correspondiente a un bloque de Col que es un bloque vecino temporal. Es decir, el vector de movimiento del bloque vecino espacial reconstruido y/o el vector de movimiento correspondiente al bloque Col que es el bloque vecino temporal pueden usarse como candidatos de vector de movimiento. La información antes mencionada sobre la predicción puede incluir un índice de vector de movimiento de predicción que indique el mejor vector
de movimiento seleccionado entre los candidatos de vector de movimiento incluidos en la lista. Aquí, el predictor 250 puede seleccionar un vector de movimiento de predicción del bloque de corriente de los candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento usando el índice de vector de movimiento. El predictor del dispositivo de codificación puede obtener una diferencia de vector de movimiento (MVD) entre el vector de movimiento del bloque de corriente y un predictor de vector de movimiento, codificar el MVD y emitir el MVD codificado en forma de acceso indirecto. Es decir, el MVD se puede obtener restando el predictor del vector de movimiento del vector de movimiento del bloque de corriente. Aquí, el predictor 250 puede adquirir un vector de movimiento incluido en la información sobre la predicción y derivar el vector de movimiento del bloque de corriente sumando la diferencia del vector de movimiento al predictor de vector de movimiento. Además, el predictor puede obtener o derivar un índice de imagen de referencia que indica una imagen de referencia a partir de la información antes mencionada sobre la predicción.
El sumador 260 puede añadir una muestra residual a una muestra de predicción para reconstruir un bloque de corriente o una imagen de corriente. El sumador 260 puede reconstruir la imagen de corriente añadiendo la muestra residual a la muestra de predicción en unidades de un bloque. Cuando se aplica el modo de omisión, no se transmite un residuo y, por lo tanto, la muestra de predicción puede convertirse en una muestra reconstruida. Aunque el sumador 260 se describe como un componente separado, el sumador 260 puede ser una parte del predictor 250.
El filtro 270 puede aplicar el desbloqueo de filtrado, desplazamiento adaptativo de muestra y/o ALF a la imagen reconstruida. Aquí, el desplazamiento adaptativo de muestra se puede aplicar en unidades de una muestra después de desbloquear el filtrado. El ALF puede aplicarse después de desbloquear el filtrado y/o la aplicación del desplazamiento adaptativo de muestra.
La memoria 280 puede almacenar una imagen reconstruida o información necesaria para la decodificación. Aquí, la imagen reconstruida puede ser la imagen reconstruida filtrada por el filtro 270. Por ejemplo, la memoria 280 puede almacenar imágenes utilizadas para la interpredicción. Aquí, las imágenes utilizadas para la interpredicción pueden designarse de acuerdo con un conjunto de imágenes de referencia o una lista de imágenes de referencia. Se puede utilizar una imagen reconstruida como imagen de referencia para otras imágenes. La memoria 280 puede dar salida a imágenes reconstruidas en un orden de salida.
Como se describió anteriormente, en el caso de que una inter predicción se realiza para un bloque diana, la información de movimiento para el bloque diana puede ser generada por la aplicación de un modo de salto, un modo de combinación, o un modo de predicción de vector de movimiento adaptativo (AMVP) y codificado y generado. En este caso, en la información de movimiento para el bloque diana, se puede calcular e incluir una distorsión debido al procedimiento de codificación en la unidad de bloque, y a través de esto, la información de movimiento que representa un bloque reconstruido del bloque diana puede no reflejarse perfectamente. Particularmente, en el caso de que el modo de fusión se aplique al bloque diana, la precisión de la información de movimiento para el bloque diana puede degradarse. Es decir, existe una gran diferencia entre un bloque de predicción derivado de la información de movimiento para el bloque diana y un bloque reconstruido del bloque diana. En este caso, la información de movimiento para el bloque diana se utiliza en un procedimiento de decodificación de un bloque siguiente vecino al bloque diana, y se puede propagar una distorsión y, a través de esto, se puede degradar la eficiencia de codificación general.
En consecuencia, en la presente invención, se propone un método en donde la información de movimiento modificado para el bloque diana se calcula basándose en un bloque reconstruido derivado después del procedimiento de decodificación del bloque diana, la información de movimiento del bloque diana se actualiza basándose en la información de movimiento modificado de tal modo que un siguiente bloque al lado del bloque diana pueda derivar información de movimiento más precisa. A través de esto, se puede mejorar la eficiencia de codificación general.
La FIG. 3 ilustra un ejemplo de un caso de realización de una inter predicción basada en información de movimiento unidireccional y un caso de realización de una inter predicción basada en información de movimiento bidireccional que se aplica a un bloque diana. La información de movimiento bidireccional puede incluir índice de imagen de referencia L0 y vector de movimiento L0, índice de imagen de referencia L1 y vector de movimiento L1, y la información de movimiento unidireccional puede incluir índice de imagen de referencia L0 y vector de movimiento L0 o índice de imagen de referencia L1 y vector de movimiento L1. L0 indica la lista de imágenes de referencia L0 (lista 0) y L1 indica la lista de imágenes de referencia L1 (lista 1). En el procedimiento de codificación de imágenes, un método utilizado para la inter predicción puede incluir la derivación de la información de movimiento mediante una estimación de movimiento y una compensación de movimiento. Como se muestra en la FIG. 3, la estimación de movimiento puede indicarse en el procedimiento de derivar un bloque adaptado al bloque diana destinado a imágenes de referencia que se codifica antes de la codificación de la imagen diana en donde se incluye el bloque diana. El bloque que coincide con el bloque diana puede definirse como un bloque de referencia, y una diferencia de posición entre el bloque diana se deriva suponiendo que el bloque de referencia está incluido en la imagen diana que es el mismo que el bloque diana y el bloque de referencia puede ser definido como un vector de movimiento del bloque diana. La compensación de movimiento puede incluir un método unidireccional en donde se deriva y utiliza un bloque de referencia y un método bidireccional en donde se derivan y utilizan dos bloques de referencia.
La información, incluyendo la información para el vector de movimiento para el bloque diana y la imagen de
referencia puede ser definida como la información de movimiento del bloque diana. La información para la imagen de referencia puede incluir una lista de imágenes de referencia y un índice de imágenes de referencia que indica una imagen de referencia incluida en la lista de imágenes de referencia. Un aparato de codificación puede almacenar la información de movimiento para el bloque diana para un siguiente bloque al lado del bloque diana que se codificará junto al bloque diana después de que el bloque diana se codifique o las imágenes se codifiquen junto a la imagen diana. La información de movimiento almacenada puede usarse en un método para representar la información de movimiento del siguiente bloque a codificar junto al bloque diana o las imágenes a codificar anidadas en el bloque diana. El método puede incluir el modo de fusión, que es un método para indexar la información de movimiento del bloque diana y transmitir la información de movimiento del siguiente bloque al lado del bloque diana como un índice y el modo AMVP, que es un método para representar el vector de movimiento del siguiente bloque al lado del bloque diana solo con un diferencial entre el vector de movimiento del siguiente bloque y el vector de movimiento del bloque diana.
La presente invención propone un método para actualizar la información de movimiento para la imagen diana o el bloque diana después del procedimiento de codificación de la imagen diana o del bloque diana. Cuando se realiza y se codifica una inter predicción para el bloque diana, la información de movimiento utilizada en la inter predicción puede almacenarse. Sin embargo, la información de movimiento puede incluir una distorsión ocurrida durante el procedimiento de cálculo a través del método de coincidencia de bloques, y dado que la información de movimiento puede ser un valor seleccionado a través del procedimiento de optimización de distorsión de velocidad (RD) para el bloque diana, puede resultar difícil reflejar perfectamente un movimiento real del bloque diana. Dado que la información de movimiento del bloque diana puede usarse no solo en el procedimiento de inter predicción del bloque diana, sino que también influye en la imagen que se codifica después de la codificación de la imagen diana, incluido el siguiente bloque al lado del bloque diana codificado después de la codificación del bloque diana y la imagen diana, incluidos el siguiente bloque y el bloque diana, la eficiencia de codificación general puede degradarse.
La FIG. 4 ilustra un ejemplo de un procedimiento de codificación que incluye un método para actualizar la información de movimiento de un bloque diana. Un aparato de codificación codifica un bloque diana (paso, S400). El aparato de codificación puede derivar una muestra de predicción realizando una inter predicción para el bloque diana y generar un bloque reconstruido del bloque diana en base a la muestra de predicción. El aparato de codificación puede derivar la información de movimiento del bloque diana para realizar la inter predicción y generar la información para la inter predicción del bloque diana que incluye la información de movimiento. La información de movimiento puede denominarse primera información de movimiento.
Después de realizar el procedimiento de codificación del bloque diana, el aparato de codificación calcula la información de movimiento modificado basada en el bloque reconstruido del bloque diana (paso, S410). El aparato de codificación puede calcular la información de movimiento modificado del bloque diana a través de varios métodos. La información de movimiento modificado puede denominarse segunda información de movimiento. Al menos un método que incluye métodos directos como un método de flujo óptico (FO), un método de coincidencia de bloques, un método de dominio de frecuencia y métodos similares e indirectos, como un método de coincidencia de singularidad, un método que utiliza una propiedad estadística y similares se pueden aplicar al método. Además, los métodos directos y los métodos indirectos pueden aplicarse simultáneamente. Los contenidos detallados para el método de emparejamiento de bloques y el método FO se describirán a continuación.
El aparato de codificación puede ser difícil en el cálculo de la información de movimiento más precisa sólo con la información codificada del bloque diana debido a las características del cálculo la información de movimiento del bloque diana, y en consecuencia, el momento en el que el aparato de codificación calcula la información de movimiento modificado puede ser después de realizar el procedimiento de codificación de la imagen diana en donde se incluye el bloque diana, no después del procedimiento de codificación del bloque diana, por ejemplo. Es decir, el aparato de codificación puede realizar un procedimiento de codificación de la imagen diana y calcular la información de movimiento modificado basándose en más información que la de justo después de realizar el procedimiento de codificación del bloque diana.
Mientras tanto, el aparato de codificación puede generar la información diferencial de actualización del vector de movimiento adicional que indica el diferencial entre el vector de movimiento existente incluido en la (primera) información de movimiento y la información de movimiento modificado y codificarla y dar salida a ella. La información diferencial de actualización del vector de movimiento puede transmitirse en la unidad de PU.
El aparato de codificación determina si se actualizará la información de movimiento del bloque diana (paso, S420). El aparato de codificación puede determinar si se actualizará la (primera) información de movimiento mediante una comparación de precisión entre la (primera) información de movimiento y la información de movimiento modificado. Por ejemplo, el aparato de codificación puede determinar si actualizar la (primera) información de movimiento usando una cantidad de diferencia entre una imagen derivada de la compensación de movimiento usando cada información de movimiento y una imagen original. En otras palabras, el aparato de codificación puede determinar si actualizar comparando una cantidad de datos de la señal residual entre un bloque de referencia derivado en base a cada información de movimiento y un bloque original del bloque diana.
En el paso S420, en el caso de que se determine actualizar la información de movimiento del bloque diana, el aparato de codificación actualiza la información de movimiento del bloque diana basado en la información de movimiento modificado y almacenar la información de movimiento modificado (paso, S430). Por ejemplo, en el caso de que la cantidad de datos de la señal residual entre un bloque de referencia específico derivado en base a la información de movimiento modificado y el bloque original sea menor que la cantidad de datos de la señal residual entre el bloque de referencia derivado en base a la (primera) información de movimiento y el bloque original, el aparato de codificación puede actualizar la (primera) información de movimiento basándose en la información de movimiento modificado. En este caso, el aparato de codificación puede actualizar la información de movimiento del bloque diana sustituyendo la (primera) información de movimiento por la información de movimiento modificado y almacenar la información de movimiento actualizada que incluye sólo la información de movimiento modificado. Además, el aparato de codificación puede actualizar la información de movimiento del bloque diana añadiendo la información de movimiento modificado a la (primera) información de movimiento y almacenar la información de movimiento actualizada incluyendo la (primera) información de movimiento y la información de movimiento modificado.
Mientras tanto, en el paso S420, en el caso de que no se determina actualizar la información de movimiento del bloque diana, el aparato de codificación actualiza la (primera) información de movimiento (paso, S440). Por ejemplo, en el caso de que la cantidad de datos de la señal residual entre un bloque de referencia específico derivado en base a la información de movimiento modificado y el bloque original no sea menor que la cantidad de datos de la señal residual entre el bloque de referencia derivado en base a la (primera) información de movimiento y el bloque original, el aparato de codificación puede almacenar la (primera) información de movimiento.
Por otro lado, aunque no se muestra, en el caso de que la información de movimiento modificado se deriva sin determinación de actualización a través de la comparación entre la (primera) información de movimiento se utiliza en la inter predicción y la información de movimiento modificado, el aparato de codificación puede actualizar la información de movimiento del bloque diana basándose en la información de movimiento modificado.
Mientras tanto, puesto que el aparato de decodificación no está disponible para usar la imagen original, el aparato de decodificación puede recibir información adicional que indica si se va a actualizar el bloque diana. Es decir, el aparato de codificación puede generar y codificar la información adicional que indica si se debe actualizar y enviar a través de un acceso indirecto. Por ejemplo, la información adicional que indica si se debe actualizar puede denominarse bandera de actualización. El caso de que el bloque de actualización sea 1 puede indicar que la información de movimiento está actualizada y el caso de que el bloque de actualización sea 0 puede indicar que la información de movimiento no está actualizada. Por ejemplo, la bandera de actualización puede transmitirse en una unidad de PU. Alternativamente, la bandera de actualización puede transmitirse en una unidad de CU, una unidad de CTU o una unidad de segmento y puede transmitirse a través de un nivel superior, como una unidad de conjunto de parámetros de imagen (PPS) o una unidad de conjunto de parámetros de secuencia (SPS).
Además, el aparato de decodificación puede determinar si la actualización a través de la comparación entre la (primera) información de movimiento del bloque diana y la información de movimiento modificado basado en el bloque reconstruido del bloque diana sin recibir la bandera de actualización, y en el caso de que se determine que la información de movimiento del bloque diana se actualiza, el aparato de decodificación puede actualizar la información de movimiento del bloque diana basándose en la información de movimiento modificado y almacenar la información de movimiento actualizada. Además, en el caso de que la información de movimiento modificado se derive sin determinación de actualización a través de la comparación entre la información de movimiento usada en la inter predicción y la información de movimiento modificado, el aparato de decodificación puede actualizar la información de movimiento del bloque diana en base a la información de movimiento modificado. En este caso, el aparato de decodificación puede actualizar la información de movimiento del bloque diana sustituyendo la (primera) información de movimiento por la información de movimiento modificado y almacenar la información de movimiento actualizada que incluye sólo la información de movimiento modificado. Además, el aparato de decodificación puede actualizar la información de movimiento del bloque diana añadiendo la información de movimiento modificado a la (primera) información de movimiento y almacenar la información de movimiento actualizada incluyendo la (primera) información de movimiento y la información de movimiento modificado.
En el caso de que el procedimiento de actualización de la información de movimiento se lleva a cabo después de que el procedimiento de codificación del bloque diana, el procedimiento de codificación de un siguiente bloque al lado del bloque diana de la siguiente orden de codificación de bloque diana se puede realizar.
La FIG. 5 ilustra un ejemplo de procedimiento de decodificación que incluye un método para actualizar la información de movimiento de un bloque diana. El procedimiento de decodificación se puede realizar de forma similar al procedimiento de codificación descrito anteriormente. Un aparato de decodificación decodifica un bloque diana (paso, S500). En el caso de que la inter predicción se aplique al bloque diana, el aparato de decodificación puede obtener información para la inter predicción del bloque diana a través de un acceso indirecto. El aparato de decodificación puede derivar información de movimiento del bloque diana basándose en la información para la inter predicción y derivar una muestra de predicción realizando la inter predicción para el bloque diana. La información de movimiento puede denominarse la primera información de movimiento. El aparato de decodificación puede generar un bloque reconstruido
del bloque diana en base a la muestra de predicción.
El aparato de decodificación calcula información de movimiento modificado del bloque diana (paso, S510). El aparato de decodificación puede calcular la información de movimiento modificado a través de varios métodos. La información de movimiento modificado puede denominarse segunda información de movimiento. Al menos un método que incluye métodos directos como un método de flujo óptico (FO), un método de coincidencia de bloques, un método de dominio de frecuencia y métodos similares e indirectos, como un método de coincidencia de singularidad, un método que utiliza una propiedad estadística y similares se puede aplicar al método. Además, los métodos directos y los métodos indirectos pueden aplicarse simultáneamente. Los contenidos detallados para el método de emparejamiento de bloques y el método FO se describirán a continuación.
El aparato de decodificación puede ser difícil en el cálculo de la información de movimiento más precisa sólo con la información decodificada del bloque diana debido a las características del cálculo de la información de movimiento del bloque diana, y en consecuencia, el tiempo en el aparato de decodificación calcula la información de movimiento modificado puede ser después de realizar el procedimiento de decodificación de la imagen diana en donde se incluye el bloque diana, no después del procedimiento de decodificación del bloque diana, por ejemplo. Es decir, el aparato de decodificación puede realizar un procedimiento de decodificación de la imagen diana y calcular la información de movimiento modificado basándose en más información que la de justo después de realizar el procedimiento de decodificación del bloque diana.
Mientras tanto, el aparato de decodificación puede también obtener generar información diferencial de actualización del vector de movimiento que indica diferencial entre el vector de movimiento existente incluido en la (primera) información de movimiento y la información de movimiento modificado a través de un acceso indirecto. La información diferencial de actualización del vector de movimiento puede transmitirse en la unidad de PU. En este caso, el aparato de decodificación puede no calcular la información de movimiento modificado independientemente a través del método directo y el método indirecto descritos anteriormente, sino derivar la información de movimiento modificado sumando la (primera) información de movimiento y la información diferencial de actualización de vector de movimiento obtenida. Es decir, el aparato de decodificación puede derivar el vector de movimiento existente con un predictor de vector de movimiento (MVP) de la información de movimiento modificado y añadiendo la información diferencial de actualización del vector de movimiento al vector de movimiento existente y derivar el vector de movimiento modificado.
El aparato de decodificación determina si se actualizará la información de movimiento del bloque diana (paso, S520). El aparato de decodificación puede determinar si actualizar la (primera) información de movimiento mediante una comparación de precisión entre la (primera) información de movimiento y la información de movimiento modificado. Por ejemplo, el aparato de decodificación puede determinar si actualizar la (primera) información de movimiento usando una cantidad de diferencia entre un bloque de referencia derivado de la compensación de movimiento usando cada información de movimiento y el bloque reconstruido del bloque diana. En otras palabras, el aparato de codificación puede determinar si actualizar mediante la comparación de una cantidad de datos de la señal residual entre un bloque de referencia derivado en base a cada información de movimiento y un bloque original del bloque diana.
Mientras tanto, el aparato de decodificación recibe información adicional que indica si se actualiza desde el aparato de codificación y determinar si se debe actualizar la información de movimiento del bloque diana basado en la información adicional. Por ejemplo, la información adicional que indica si se debe actualizar puede denominarse bandera de actualización. El caso de que el bloque de actualización sea 1 puede indicar que la información de movimiento está actualizada y el caso de que el bloque de actualización sea 0 puede indicar que la información de movimiento no está actualizada. Por ejemplo, la bandera de actualización puede transmitirse en una unidad de PU.
En el paso S520, en el caso de que se determine para actualizar la información de movimiento del bloque diana, el aparato de codificación actualiza la información de movimiento del bloque diana basado en la información de movimiento modificado y almacenar la información de movimiento actualizado (paso, S530). Por ejemplo, en el caso de que la cantidad de datos de la señal residual entre un bloque de referencia específico derivado en base a la información de movimiento modificado y el bloque reconstruido sea menor que la cantidad de datos de la señal residual entre el bloque de referencia derivado en base a la (primera) información de movimiento y el bloque reconstruido, el aparato de decodificación puede actualizar la (primera) información de movimiento basándose en la información de movimiento modificado. En este caso, el aparato de decodificación puede actualizar la información de movimiento del bloque diana sustituyendo la (primera) información de movimiento por la información de movimiento modificado y almacenar la información de movimiento actualizada que incluye sólo la información de movimiento modificado. Además, el aparato de decodificación puede actualizar la información de movimiento del bloque diana añadiendo la información de movimiento modificado a la (primera) información de movimiento y almacenar la información de movimiento actualizada incluyendo la (primera) información de movimiento y la información de movimiento modificado.
Mientras tanto, en el paso S520, en el caso de que no se determina actualizar la información de movimiento del bloque diana, el aparato de decodificación almacena la (primera) información de movimiento (paso, S540). Por ejemplo, en el caso de que la cantidad de datos de la señal residual entre un bloque de referencia específico derivado en base a la información de movimiento modificado y el bloque reconstruido no sea menor que la cantidad de datos de la señal
residual entre el bloque de referencia derivado en base a la (primera) información de movimiento y el bloque reconstruido, el aparato de decodificación puede almacenar la (primera) información de movimiento.
Por otro lado, aunque no se muestra, en el caso de que la información de movimiento modificado se deriva sin determinación de actualización a través de la comparación entre la (primera) información de movimiento y la información de movimiento modificado, el aparato de decodificación puede actualizar la información de movimiento del bloque diana basada en la información de movimiento modificado.
Mientras tanto, la información de movimiento almacenada y la información de movimiento para la transmisión pueden tener diferente resolución. En otras palabras, la unidad de vector de movimiento incluida en la información de movimiento modificado y la unidad de vector de movimiento incluida en la información de movimiento derivada en base a la información para la inter predicción pueden ser diferentes. Por ejemplo, el vector de unidad de movimiento de la información de movimiento derivada en base a la información para la inter predicción puede tener una unidad de 1/4 de muestra fraccionaria y el vector de unidad de movimiento de la información de movimiento modificado calculada en el aparato de decodificación puede tener una unidad de 1/8 de muestra fraccionaria o 1/16 de muestra fraccionaria. El aparato de decodificación puede ajustar la resolución a una resolución requerida para almacenar en el proceso de cálculo de la información de movimiento modificado o ajustar la resolución mediante un cálculo (p. ej., redondeo, multiplicación, etc.) en el proceso de almacenar la información de movimiento modificado. En el caso de que la resolución del vector de movimiento de la información de movimiento modificado sea mayor que el vector de movimiento de la información de movimiento derivada en base a la información para la inter predicción, se puede aumentar la precisión para una operación de escalado para un cálculo de información de movimiento vecino temporal. Además, en el caso del aparato de decodificación cuyas resoluciones para la transmisión de la información de movimiento y para el funcionamiento interno son diferentes, existe el efecto de que la decodificación se puede realizar de acuerdo con el criterio de funcionamiento interno.
Mientras tanto, en el caso de que se aplica el método de correspondencia de bloques entre los métodos para calcular la información de movimiento modificado, la información de movimiento modificado se puede derivar como sigue. El método de coincidencia de bloques puede representarse como un método de estimación de movimiento utilizado en el aparato de codificación.
Un aparato de codificación puede medir un grado de distorsión mediante la acumulación de los valores diferenciales entre las muestras de acuerdo con las fases de un bloque diana y un bloque de referencia y utilizar éstos como funciones de coste y, a continuación, derivan una referencia de bloque que es la más similar al bloque diana. Es decir, el aparato de codificación puede derivar la información de movimiento modificado del bloque diana basándose en un bloque de referencia cuyo residuo del bloque reconstruido (o bloque original) del bloque diana es un mínimo. El bloque de referencia cuyo residuo es el mínimo puede denominarse bloque de referencia específico. La suma de diferencias absolutas (SAD) y el error cuadrático medio (MSE) pueden usarse para la función de representar los valores diferenciales entre muestras. El SAD, en donde se mide un grado de distorsión acumulando valores absolutos de los valores diferenciales entre muestras según las fases del bloque diana y el bloque de referencia, puede derivarse en base a la siguiente ecuación.
[Ecuación 1]
altura anchura
SAD = 1 i 1 |BloqueCOrr (i, j) — Bloqueref (i, j) |
i
En la presente memoria, el Bloquecorr(i,j) representa una muestra reconstruida (o muestra original) de (i,j) de coordenadas en el bloque reconstruido (o bloque original) del bloque diana, el Bloqueref (i,j) representa una muestra reconstruida de la coordenada (i,j) en el bloque de referencia, el ancho es el ancho del bloque reconstruido (o bloque original) y la altura representa una altura del bloque reconstruido (o bloque original).
Además, el MSE, en el que se mide un grado de distorsión mediante la acumulación de los valores cuadrados de los valores diferenciales entre muestras de acuerdo con las fases del bloque diana y el bloque de referencia, pueden derivarse sobre la base de la siguiente ecuación.
[Ecuación 2]
En la presente memoria, Bloquecorr(i,j) representa una muestra reconstruida (o muestra original) de (i,j) de coordenadas en el bloque reconstruido (o bloque original) del bloque diana, Bloqueref(i,j) representa una muestra
reconstruida de la coordenada (i,j) en el bloque de referencia, el ancho es el ancho del bloque reconstruido (o bloque original) y la altura representa la altura del bloque reconstruido (o bloque original).
Las complejidades de cálculo de los métodos para calcular la información de movimiento modificado se pueden cambiar de forma flexible en función de un intervalo de búsqueda para buscar en el bloque de referencia específico. En consecuencia, en el caso de calcular la información de movimiento modificado del bloque diana utilizando el método de coincidencia de bloques, el aparato de decodificación puede buscar solo los bloques de referencia incluidos en un área predeterminada del bloque de referencia derivado a través de la (primera) información de movimiento que es utilizada en el procedimiento de decodificación del bloque diana y, a través de esto, se puede mantener una baja complejidad de cálculo.
La FIG. 6 ilustra un ejemplo de un método para actualizar la información de movimiento del bloque diana a través del método de coincidencia de bloques por el aparato de decodificación. El aparato de decodificación decodifica el bloque diana (paso, S600). En el caso de que la inter predicción se aplique al bloque diana, el aparato de decodificación puede obtener información para la inter predicción del bloque diana a través de un acceso indirecto. Dado que el método de actualización de la información de movimiento del bloque diana aplicado al aparato de codificación debe aplicarse al aparato de decodificación de la misma manera, el aparato de codificación y el aparato de decodificación pueden calcular la información de movimiento modificado del bloque diana en base al bloque reconstruido del bloque diana.
El aparato de decodificación realiza una estimación de movimiento en una imagen de referencia para la información de movimiento modificado mediante el bloque reconstruido (etapa, S610). El aparato de decodificación puede derivar una imagen de referencia para la información de movimiento derivada en base a la información para la inter predicción como la imagen de referencia específica para la información de movimiento modificado y detectar la imagen de referencia específica entre los bloques de referencia en la imagen de referencia. El bloque de referencia específico puede ser un bloque de referencia cuya suma de valores absolutos de los valores diferenciales entre muestras del bloque de referencia entre los bloques de referencia, es decir, suma de diferencias absolutas (SAD) es el mínimo. Además, el aparato de decodificación puede limitar el área de búsqueda para detectar el bloque de referencia específico a un área predeterminada del bloque de referencia representado a través de la información de movimiento derivada en base a la información para la inter predicción. En otras palabras, el aparato de decodificación puede derivar el bloque de referencia del cual SAD del bloque reconstruido es el mínimo entre los bloques de referencia ubicados en un área predeterminada del bloque de referencia como el bloque de referencia específico. El aparato de decodificación puede realizar una estimación de movimiento solo en un área predeterminada del bloque de referencia y, a través de esto, aumentar la confiabilidad de la información de movimiento modificado mientras disminuye la complejidad del cálculo.
En el caso de que un tamaño del bloque reconstruido del bloque diana sea mayor que un tamaño específico, para calcular la información de movimiento modificado de manera elaborada, el aparato de decodificación divide el bloque reconstruido en pequeños bloques cuyos tamaños son más pequeños que el tamaño específico y calcula información de movimiento más detallada basada en cada uno de los bloques pequeños (paso, S620). El tamaño específico puede estar preconfigurado y los bloques particionados pueden denominarse bloques sub reconstruidos. El aparato de decodificación puede dividir el bloque reconstruido en una pluralidad de sub bloques reconstruidos y derivar un sub bloque de referencia específico en una unidad de cada sub bloque reconstruido dentro de una imagen de referencia para la información de movimiento modificado basada en los bloques sub reconstruidos y derivar los sub bloques de referencia específicos derivados como el bloque de referencia específico. El aparato de decodificación puede calcular la información de movimiento modificado basándose en el bloque de referencia específico.
Mientras tanto, en el caso de que el método de flujo óptico (FO) se aplica entre el método para calcular la información de movimiento modificado, la información de movimiento modificado se puede derivar como sigue. El método FO puede calcularse basándose en la suposición de que la velocidad de un objeto en el bloque diana es uniforme y los valores de muestra de las muestras que representan el objeto no se cambian en una imagen. En el caso de que el objeto se mueva 8x en el eje x y 8y en el eje y para el tiempo 8t, se puede establecer la siguiente ecuación.
[Ecuación 3]
En este documento, I(x,y,t) indica un valor de muestra de la muestra reconstruida en la posición (x,y) que representa el objeto en el tiempo t, que se incluye en el bloque diana.
En la Ecuación 3, cuando el término adecuado se expande en serie de Taylor, se puede derivar la siguiente ecuación.
[Ecuación 4]
Cuando se satisface la ecuación 4, se puede establecer la siguiente ecuación.
[Ecuación 5]
La ecuación 5 se reescribe, y la siguiente ecuación se puede derivar.
[Ecuación 6]
31 31 31
f e v- á ? v' s í = 0
En este documento, vx es un componente de vector en eje x del vector de movimiento calculado y vy es un componente de vector en el eje y del vector de movimiento calculado. El aparato de decodificación puede derivar valores, valores derivados parciales del objeto en el eje x, eje y y eje t, y derivar el vector de movimiento (vx , vy) de la posición actual, es decir, la posición de la muestra reconstruida aplicando los valores derivados parciales a la ecuación. En este caso, p. ej., el aparato de decodificación puede configurar las muestras reconstruidas en el bloque reconstruido del bloque diana que representa el objeto en muestras reconstruidas incluidas en una unidad de área de tamaño 3x3, y calcular el vector de movimiento (vx , vy ) que acerca el término de la izquierda a 0 aplicando la ecuación a las muestras reconstruidas.
El formato de almacenamiento de la información de movimiento modificado del bloque diana calculada por el aparato de codificación puede tener varios formatos, ya que puede ser utilizado para la imagen codificada después del procedimiento de codificación de la imagen diana incluido en un siguiente bloque al lado del bloque diana o el bloque diana, puede ser beneficioso que la información de movimiento modificado se pueda almacenar en el mismo formato que la información de movimiento utilizada en la predicción del bloque diana. La información de movimiento utilizada en la predicción puede incluir información sobre si es uni-predicción o bi-predicción, un índice de imagen de referencia y un vector de movimiento. La información de movimiento modificado puede calcularse para que tenga el mismo formato que la información de movimiento utilizada en la predicción.
En el caso de que solo haya una imagen de referencia de la imagen diana, es decir, la bi-predicción está disponible para realizarse excepto en el caso de que un valor de recuento de orden de imágenes (POC) de la imagen diana es 1. Generalmente, el rendimiento de la predicción puede ser alto en el caso de que el aparato de codificación realice la bi-predición en comparación con el caso de que el aparato de codificación realice la uni-predicción. En consecuencia, en el caso de que la imagen diana esté disponible para realizar la bi-predicción, para mejorar la eficiencia de codificación general de una imagen mediante la propagación de información de movimiento precisa, el aparato de codificación puede calcular y actualizar la información de movimiento modificado del bloque diana con la bi-predicción a través del método descrito anteriormente. Sin embargo, incluso en el caso de que la imagen diana esté disponible para realizar la bi-predicción, es decir, incluso en el caso de que un valor de POC de la imagen diana no sea 1, puede producirse una oclusión y puede ocurrir el caso de que la bi-predicción no está disponible para realizarse. Se puede determinar que la oclusión ocurre cuando el movimiento se compensa en base a la información de movimiento modificado y la suma de los valores absolutos de los diferenciales de muestras de la muestra de predicción derivada por compensación de movimiento basada en la información de movimiento modificado y las muestras del bloque reconstruido (o bloque original) del bloque diana es mayor que un valor umbral predeterminado. Por ejemplo, en el caso de que la información de movimiento modificado del bloque diana sea la información de movimiento de bi-predicción, cuando la suma de los valores absolutos de los diferenciales de muestras de la muestra de predicción derivada en base al vector de movimiento L0 incluido en la información de movimiento y las muestras del bloque reconstruido (o bloque original) del bloque diana es mayor que un valor umbral predeterminado, de acuerdo con la predicción para L0, se puede determinar que ocurre la oclusión. Además, cuando la suma de los valores absolutos de los diferenciales de muestras de la muestra de predicción derivada en base al vector de movimiento L1 incluido en la información de movimiento modificado y las muestras del bloque reconstruido (o bloque original) del bloque diana es mayor que un valor umbral predeterminado, según la predicción para L1, se puede determinar que se produce la oclusión. En el caso de que la oclusión se produzca mediante la predicción de L0 y L1, el aparato de codificación puede derivar la información de movimiento modificado como información de
movimiento de uni-predicción, excepto la información para la predicción de la lista en donde se produce la oclusión.
En el caso de que la oclusión se produce por la predicción para uno cualquiera de L0 y L1 o que está disponible para calcular la información de movimiento modificado, el método de actualización de la información de movimiento del bloque diana se puede aplicar por el uso de la información de movimiento del bloque al lado del bloque diana y, alternativamente, el método de no actualizar la información de movimiento del bloque diana puede aplicarse en base a la información de movimiento modificado. Para almacenar y propagar información de movimiento precisa, en el caso descrito anteriormente, el método de no actualizar la información de movimiento del bloque diana en base a la información de movimiento modificado puede ser más apropiado.
El índice de imagen de referencia L0 y el índice de imagen de referencia L1 de la información de movimiento modificado pueden indicar una de las imágenes de referencia en la lista de imágenes de referencia (L0 o LI). La imagen de referencia indicada por el índice de imagen de referencia de la información de movimiento modificado puede denominarse imagen de referencia específica. Un método para seleccionar una de varias imágenes de referencia en la lista de imágenes de referencia puede ser como se describe a continuación.
Por ejemplo, el aparato de codificación puede seleccionar una imagen de referencia que es la más recientemente codificada entre las imágenes de referencia incluidas en la lista de imágenes de referencia. Es decir, el aparato de codificación puede generar un índice de imágenes de referencia incluido en la información de movimiento modificado que indica la imagen de referencia que es la más recientemente codificada entre las imágenes de referencia incluidas en la lista de imágenes de referencia.
Además, el aparato de codificación puede seleccionar una imagen de referencia que tiene un POC, que es el más cercano al recuento de orden de las imágenes (POC) de la imagen de corriente en la lista de imágenes de referencia. Es decir, el aparato de codificación puede generar un índice de imagen de referencia incluido en la información de movimiento modificado que indica la imagen de referencia que tiene un POC cuyo valor absoluto de la diferencia con el POC de la imagen diana, incluido el bloque diana entre las imágenes de referencia incluidas en la lista de imágenes de referencia.
Además, el aparato de codificación puede seleccionar una imagen de referencia que pertenece a una capa inferior en la estructura jerárquica en la lista de imágenes de referencia. La imagen de referencia que pertenece a una capa inferior puede ser de pieza I o una imagen de referencia codificada aplicando un parámetro de cuantificación baja (CP).
Además, el aparato de codificación puede seleccionar una imagen de referencia de que la fiabilidad de la compensación de movimiento es más alta en la lista de imágenes de referencia. Es decir, el aparato de codificación puede derivar un bloque de referencia específico del bloque reconstruido (o bloque original) del bloque diana entre los bloques de referencia ubicados en las imágenes de referencia incluidas en la lista de imágenes de referencia y generar un índice de imágenes de referencia incluido en la información de movimiento modificado que indica la imagen de referencia, incluido el bloque de referencia específico que se deriva.
Los métodos de generación del índice de imagen de referencia de la información de movimiento modificado descrita anteriormente se pueden aplicar independientemente o los métodos pueden aplicarse en combinación.
El vector de movimiento incluido en la información de movimiento modificado se puede derivar a través de al menos un método que incluye el método FO, el método de bloque coincidente, el método de dominio de la frecuencia, y similares, y puede ser necesario para tener el vector de movimiento en una unidad de al menos bloque mínimo.
La FIG. 7 ilustra imágenes de referencia que se pueden utilizar en la información de movimiento modificado.
Haciendo referencia a la FIG. 7, en el caso de que una imagen diana sea una imagen cuyo valor POC sea 3, se puede realizar la bi-predicción para la imagen diana, se puede realizar una imagen cuyo valor POC es 2 y una imagen cuyo valor POC es 4 puede ser derivada como imágenes de referencia de la imagen diana. L0 de la imagen diana puede incluir una imagen cuyo valor POC es 2 y una imagen cuyo valor POC es 0, y los respectivos valores correspondientes de los índices de la imagen de referencia L0 pueden ser 0 y 1. Además, L1 de la imagen diana puede incluir una imagen cuyo valor POC es 4 y una imagen cuyo valor POC es 8, y los valores correspondientes respectivos de los índices de imagen de referencia L1 pueden ser 0 y 1. En este caso, el aparato de codificación puede seleccionar imágenes de referencia específicas de la información de movimiento modificado de la imagen diana como una imagen de referencia que tiene un POC del cual el valor absoluto de una diferencia de la imagen diana entre las imágenes de referencia en cada lista de imágenes de referencia es el más pequeño. Además, el aparato de codificación puede derivar un vector de movimiento de la información de movimiento modificado en una unidad de bloque de tamaño 4x4 en la imagen diana. El método FO puede aplicarse al método de derivar el vector de movimiento. El vector de movimiento derivado en base a una imagen de referencia cuyo valor POC es 2 puede almacenarse en la información de movimiento L0 incluida en la información de movimiento modificado y el vector de movimiento derivado basado en una imagen de referencia cuyo valor POC es 4 puede almacenarse en la información de movimiento L1 incluida en la información de movimiento modificado.
Además, en referencia a la FIG. 7, en el caso de que una imagen diana sea una imagen cuyo valor POC sea 8, la imagen diana puede realizar la predicción única y una imagen cuyo valor POC sea 0 puede derivarse como imagen de referencia de la imagen diana. L0 de la imagen diana puede incluir una imagen de referencia cuyo valor POC es 0 y un valor del índice de imagen de referencia L0 correspondiente a la imagen de referencia puede ser 0. En este caso, el aparato de codificación puede seleccionar una imagen de referencia específica de la información de movimiento modificado de la imagen diana como una imagen de referencia que tiene un POC cuyo valor absoluto de una diferencia con el POC de la imagen diana entre las imágenes de referencia incluidas en L0 es el más pequeño. Además, el aparato de codificación puede derivar un vector de movimiento de la información de movimiento modificado en una unidad de bloque de tamaño 4x4 en la imagen de corriente. El método FO puede aplicarse al método de derivar el vector de movimiento. El método de coincidencia de bloques se puede aplicar al método de derivar el vector de movimiento, y el vector de movimiento derivado en base a una imagen de referencia cuyo valor POC es 0 puede almacenarse en información de movimiento L0 incluida en la información de movimiento modificado.
Con referencia a las realizaciones descritas anteriormente, la imagen de referencia de la información de movimiento modificado de la imagen diana puede derivarse para indicar una imagen de referencia que tiene un POC cuyo valor absoluto de una diferencia del POC de la imagen diana entre las imágenes de referencia incluidas en la lista de imágenes de referencia es el más pequeño, y el vector de movimiento de la información de movimiento modificado puede calcularse en una unidad de bloque de tamaño 4x4. En el caso de que la imagen diana sea una imagen de la cual POC es 8, la uni-predicción se realiza ya que la imagen diana es una imagen en donde la inter predicción se realiza en primer lugar entre las imágenes mostradas en la FIG. 7, pero dado que la imagen diana es una imagen en donde POC es 3, la bi-predicción está disponible y la información de movimiento modificado de la imagen diana puede determinarse como información de movimiento de bi-predicción. Además, incluso en el caso de que la imagen diana sea una imagen de la cual POC es 3, en el caso de que la información de movimiento modificado se calcule y actualice en una unidad de bloque en la imagen diana, el aparato de codificación puede determinar una selección de un formato de información de movimiento que incluye la información de movimiento de bi-predicción y la información de movimiento de uni-predicción en una unidad de bloque.
Además, a diferencia de la realización descrita anteriormente, el índice de imagen de referencia de la información de movimiento modificado puede ser generado para indicar una imagen de referencia seleccionada por una estructura jerárquica, no la imagen de referencia que tiene un POC cuyo valor absoluto de una diferencia del POC de la imagen diana entre las imágenes de referencia incluidas en la lista de imágenes de referencia es el más pequeño. Por ejemplo, en el caso de que una imagen diana sea una imagen en donde POC sea 5, el índice de imagen de referencia L0 de la información de movimiento modificado de la imagen diana puede indicar una imagen cuyo valor de POC es 0, no una imagen cuyo valor de POC es 4. En la sincronización después de realizar el procedimiento de codificación de la imagen diana, la mayor parte de una imagen de referencia que se codificó más recientemente puede indicar una imagen de referencia que tiene un POC cuyo valor absoluto de una diferencia con el POC de la imagen diana es el más pequeño. Sin embargo, como en el caso de una imagen cuyo valor POC es 6, una imagen de referencia que se codificó más recientemente es una imagen de referencia cuyo valor POC es 2, y una imagen que tiene un POC cuyo valor absoluto de una diferencia con el POC de la imagen diana es el más pequeño es una imagen cuyo valor POC es 4 y, en consecuencia, puede ocurrir el caso de indicar una imagen de referencia diferente.
En el caso de que la información de movimiento del bloque diana se actualice a la información de movimiento modificado a través del método descrito anteriormente, la inter predicción de un siguiente bloque al lado del bloque diana se puede realizar utilizando la información de movimiento modificado (el bloque diana puede denominarse primer bloque y el siguiente bloque puede denominarse segundo bloque). El método de utilizar la información de movimiento modificado en el modo de inter predicción del siguiente bloque puede incluir un método de indexar y transmitir la información de movimiento modificado y un método de representar el vector de movimiento del siguiente bloque como un valor diferencial entre el vector de movimiento del bloque diana y el vector de movimiento del siguiente bloque. El método de indexar y transmitir la información de movimiento modificado puede ser un método en el caso de que el modo de fusión se aplique al siguiente bloque entre los modos de inter predicción, y el método de representar el vector de movimiento del siguiente bloque como un valor diferencial entre el vector de movimiento del bloque diana y el vector de movimiento del siguiente bloque pueden ser un método en el caso de que el modo AMVP se aplique al siguiente bloque entre los modos de inter predicción.
La FIG. 8 ilustra un ejemplo de una lista de candidatos de fusión de un siguiente bloque al lado de los bloques diana en el caso de que la información de movimiento de los bloques diana se actualice a la información de movimiento modificado de los bloques diana. Haciendo referencia a la FIG. 8, el aparato de codificación configura la lista de candidatos de fusión del siguiente bloque que incluye los bloques diana. El aparato de codificación transmite un índice de fusión que indica un bloque que es el más similar a la información de movimiento del siguiente bloque entre los bloques incluidos en la lista de candidatos a fusión. En este caso, la información de movimiento actualizada de los bloques diana se usa para la información de movimiento de un bloque candidato vecino espacial del siguiente bloque, o alternativamente, se usa para la información de movimiento de un bloque candidato vecino temporal. La información de movimiento de los bloques diana puede incluir la información de movimiento modificado de los bloques diana. Como se muestra en la FIG. 8, la información de movimiento del bloque candidato vecino espacial representa una información de movimiento entre la
información de movimiento almacenada de los bloques al lado del siguiente bloque en las posiciones A1, B1, B0, A0 y B2. La información de movimiento de los bloques diana codificados antes de la codificación del siguiente bloque puede actualizarse, y la información de movimiento actualizada puede influir en el procedimiento de codificación del siguiente bloque. En el caso de que la información de movimiento que incluye un error se propague al siguiente bloque a través del modo de fusión, el error puede acumularse y propagarse, pero el error propagado puede reducirse actualizando la información de movimiento en cada bloque mediante el método descrito anteriormente.
FIG. 9 ilustra un ejemplo de una lista de candidatos de fusión de un siguiente bloque al lado de los bloques diana en el caso de que la información de movimiento de los bloques diana se actualice a la información de movimiento modificado de los bloques diana. La (primera) información de movimiento y la información de movimiento modificado utilizadas en la predicción del bloque diana al lado del siguiente bloque pueden almacenarse. En este caso, el aparato de codificación puede configurar el bloque diana que indica la información de movimiento modificado del bloque diana que se calcula nuevamente en la lista de candidatos de fusión del siguiente bloque como un bloque de candidatos de fusión independiente. Como se muestra en la FIG. 9, el bloque diana que indica la información de movimiento modificado del bloque diana puede insertarse en la lista de candidatos de fusión junto al bloque diana que indica la (primera) información de movimiento que se aplica en el procedimiento de codificación del bloque diana al lado del siguiente bloque. Además, se puede cambiar la prioridad de la lista de candidatos de fusión y se puede configurar de manera diferente el número de posiciones insertadas.
Aunque A1 y B1 se ilustran como un ejemplo de los bloques diana en donde la información de movimiento modificado se deriva, esto es sólo un ejemplo, y la información de movimiento modificado puede derivar incluso para el restante A0, B0, B2, A y T1, y la lista de candidatos para la fusión se puede configurar basándose en ella.
Por ejemplo, el siguiente bloque puede estar ubicado en una imagen diferente del bloque diana, y el bloque de candidatos vecinos temporal del bloque siguiente puede ser incluido en la lista de candidatos de combinación. La información de movimiento del bloque candidato vecino temporal puede seleccionarse mediante el índice de fusión del siguiente bloque. En este caso, la información de movimiento del bloque candidato vecino temporal puede actualizarse a la información de movimiento modificado a través del método descrito anteriormente, y el bloque candidato vecino temporal que indica la información de movimiento actualizada puede insertarse en la lista de candidatos combinados del siguiente bloque. Además, mediante el método descrito anteriormente, la (primera) información de movimiento y la información de movimiento modificado del bloque candidato vecino temporal pueden almacenarse por separado. En este caso, en el procedimiento de generar la lista de candidatos de fusión del siguiente bloque, el bloque de candidatos vecino temporal que indica la información de movimiento modificado puede insertarse como un candidato adicional de la lista de candidatos de fusión.
A diferencia del contenido mostrado en la FIG. 9, el modo AMVP se puede aplicar al siguiente bloque. En el caso de que el modo AMVP se aplique al siguiente bloque, el aparato de codificación puede generar una lista de candidatos de predictores de vector de movimiento basada en la información de movimiento de los bloques vecinos del siguiente bloque.
La FIG. 10 ilustra un ejemplo de una lista de candidatos de predictores de vectores de movimiento de un siguiente bloque al lado del bloque diana en el caso de que la información de movimiento del bloque diana se actualice basándose en la información de movimiento modificado del bloque diana. El aparato de codificación puede seleccionar la información de movimiento de acuerdo con una condición específica entre la información de movimiento incluida en la lista de candidatos de predictores de vector de movimiento y transmitir un valor de diferencia de vector de movimiento (MVD) a partir de un índice que indica la información de movimiento seleccionada, el vector de movimiento del vector de movimiento de información de movimiento seleccionado de la información de movimiento del siguiente bloque. Al igual que el método de insertar el bloque que indica la información de movimiento actualizada del siguiente bloque vecino en la lista de candidatos de fusión en el bloque de candidatos de fusión espacial o temporal en el modo de fusión descrito anteriormente, el procedimiento de generar una lista que incluye la información de movimiento de los bloques vecinos del modo AMVP se puede aplicar al método de insertar la información de movimiento actualizada del bloque vecino como un candidato de predictor de vector de movimiento espacial o temporal (MVP). Como se muestra en la FIG. 10, el aparato de codificación puede detectar si la información de movimiento actualizada del bloque diana A0 y el bloque diana A1 del siguiente bloque vecino está de acuerdo con una condición específica predefinida en el orden de la dirección de la flecha y derivar la información de movimiento actualizada de acuerdo con la condición específica que se detecta en primer lugar como MVP A que se incluye en la lista de candidatos del predictor de movimiento.
Además, el aparato de codificación puede detectar si la información de movimiento actualizada del bloque diana B0, bloque diana B1 y bloque diana B2 del siguiente bloque vecino está de acuerdo con una condición específica predefinida en un orden de la dirección de la flecha y derivar la información de movimiento actualizada de acuerdo con la condición específica que se detecta en primer lugar como MVP B que se incluye en la lista de candidatos de predictores de movimiento.
Además, el siguiente bloque se puede posicionar en una imagen diferente desde el bloque diana, y el candidato MVP temporal del siguiente bloque puede ser incluido en la lista de candidatos predictores de vector de movimiento. Como
se muestra en la FIG. 10, el aparato de codificación puede detectar si está de acuerdo con una condición específica predefinida en un orden de la información de movimiento actualizado del bloque diana TO ubicado en la imagen de referencia del siguiente bloque a la información de movimiento actualizada del bloque diana T1 y derivar la información de movimiento actualizada de acuerdo con la condición específica que se detecta en primer lugar como MVP Col que se incluye en la lista de candidatos de predictores de movimiento. En el caso de que el MVP A, el MVP B y/o el MVP Col sean la información de movimiento actualizada, al haber sido ésta reemplazada por la información de movimiento modificado, la información de movimiento actualizada puede usarse para el candidato predictor de vector de movimiento del siguiente bloque.
Mientras tanto, en el caso de que un número más pequeño de los candidatos MVP en la lista de candidatos de predictores de movimiento se deriva de un número específico, el aparato de codificación deriva el vector cero como MVP cero y lo incluye en la lista de candidatos predictores de movimiento.
FIG. 11 ilustra un ejemplo de una lista de candidatos de predictores de vectores de movimiento de un siguiente bloque al lado del bloque diana en el caso de que la información de movimiento del bloque diana se actualice basándose en la información de movimiento modificado del bloque diana. En el caso de que la información de movimiento del bloque diana sea la información de movimiento actualizada que incluya la información de movimiento modificado y la información de movimiento existente, el aparato de codificación puede detectar si la información de movimiento existente del bloque diana A0 y el bloque diana A1 del siguiente bloque vecino está de acuerdo con una condición específica en el orden de la dirección de la flecha y deriva la información de movimiento existente de acuerdo con la condición específica que se detecta en primer lugar como MVP A que se incluye en la lista de candidatos de predictores de movimiento.
Además, el aparato de codificación puede detectar si la información de movimiento modificado del bloque diana A0 y el bloque diana A1 está de acuerdo con una condición específica en un orden de la dirección de la flecha y derivar la información de movimiento modificado de acuerdo con la condición específica que se detecta en primer lugar como MVP A actualizado que se incluye en la lista de candidatos del predictor de movimiento.
Además, el aparato de codificación puede detectar si la información de movimiento actual de bloque diana B0, bloque diana B1 y bloque diana B2 del siguiente bloque vecino está de acuerdo con una condición específica predefinida en un orden de la dirección de la flecha y derivar la información de movimiento existente de acuerdo con la condición específica que se detecta en primer lugar como MVP B que se incluye en la lista de candidatos de predictores de movimiento.
Además, el aparato de codificación puede detectar si la información de movimiento modificado de bloque diana B0, bloque diana B1 y bloque diana B2 está de acuerdo con una condición específica en un orden de la dirección de la flecha y derivar la información de movimiento actualizada de conformidad con la condición específica que se detecta en primer lugar como MVP B actualizado que se incluye en la lista de candidatos del predictor de movimiento.
Además, el aparato de codificación puede detectar si está de acuerdo con una condición específica en un orden de la información de movimiento existente del bloque diana TO ubicado en la imagen de referencia del siguiente bloque a la información de movimiento existente del bloque diana T1 y derivar la información de movimiento existente de acuerdo con la condición específica que se detecta en primer lugar como MVP Col que se incluye en la lista de candidatos del predictor de movimiento.
Además, el aparato de codificación puede detectar si está de acuerdo con una condición específica en un orden de la información de movimiento modificado del bloque diana TO situado en la imagen de referencia del siguiente bloque a la información de movimiento modificada del bloque diana T1 y derivar la información de movimiento modificado de acuerdo con la condición específica que se detecta en primer lugar como MVP Col que se incluye en la lista de candidatos de predictores de movimiento.
Mientras tanto, en el caso de que un número más pequeño de los candidatos MVP en la lista de candidatos de predictores de movimiento se deriva de un número específico, el aparato de codificación deriva el vector cero como MVP cero y lo incluye en la la lista de candidatos de predictores de movimiento.
La FIG. 12 ilustra esquemáticamente un método de codificación de vídeo mediante un aparato de codificación según la presente invención. El método mostrado en la FIG. 12 puede realizarse mediante el aparato de codificación mostrado en la FIG. 1. En un ejemplo detallado, los pasos S1200 a S1230 de la FIG. 12 pueden realizarse mediante una unidad de predicción del aparato de codificación y el paso S1240 puede realizarse mediante una memoria del aparato de codificación.
El aparato de codificación genera la información de movimiento para el bloque diana (paso, S1200). El aparato de codificación puede aplicar la predicción mutua al bloque diana. En el caso de que la inter predicción se aplique al bloque diana, el aparato de codificación puede generar la información de movimiento para el bloque diana aplicando al menos uno del modo de salto, el modo de fusión y el modo de predicción de vector de movimiento adaptativo (AMVP). La información de movimiento puede denominarse primera información de movimiento. En el caso del modo de salto y el
modo de fusión, el aparato de codificación puede generar la información de movimiento para el bloque diana basándose en la información de movimiento de un bloque al lado del bloque diana. La información de movimiento puede incluir un vector de movimiento y un índice de imagen de referencia. La información de movimiento puede ser información de movimiento de bi-predicción o información de movimiento de uni-predicción. La información de movimiento de bipredicción puede incluir índice de imagen de referencia L0 y vector de movimiento L0, índice de imagen de referencia L1 y vector de movimiento L1, y la información de movimiento unidireccional puede incluir índice de imagen de referencia L0 y vector de movimiento L0 o índice de imagen de referencia L1 y vector de movimiento L1. L0 indica la lista de imágenes de referencia L0 (lista 0) y L1 indica la lista de imágenes de referencia L1 (lista 1).
En el caso del modo AMVP, el aparato de codificación puede derivar el vector de movimiento del bloque diana utilizando el vector de movimiento del bloque al lado del bloque diana como un predictor de vector de movimiento (MVP) y generar la información de movimiento que incluye el vector de movimiento y el índice de imagen de referencia para el vector de movimiento.
El aparato de codificación se deriva una muestra de predicción mediante la realización de la inter predicción para el bloque diana en base a la información de movimiento (paso, S1210). El aparato de codificación puede generar la muestra de predicción del bloque diana basándose en el índice de imagen de referencia y el vector de movimiento incluido en la información de movimiento.
El aparato de codificación genera un bloque reconstruido sobre la base de la muestra de predicción (paso, S1220). El aparato de codificación puede generar el bloque reconstruido del bloque diana basándose en la muestra de predicción o generar una señal residual del bloque diana y generar el bloque reconstruido del bloque diana basándose en la señal residual y la muestra de predicción.
El aparato de codificación genera información de movimiento modificado para el bloque diana en base al bloque reconstruido (paso, S1230). El aparato de codificación puede calcular el índice de imagen de referencia modificada que indica una imagen de referencia específica para la información de movimiento modificado y un vector de movimiento modificado para la imagen de referencia específica a través de varios métodos. La información de movimiento modificado puede denominarse segunda información de movimiento. Al menos un método que incluye métodos directos como un método de flujo óptico (FO), un método de coincidencia de bloques, un método de dominio de frecuencia y métodos similares e indirectos, como un método de coincidencia de singularidad, un método que utiliza una propiedad estadística y similares se pueden aplicar al método. Además, los métodos directos y los métodos indirectos pueden aplicarse simultáneamente.
Por ejemplo, el aparato de codificación puede generar la información de movimiento modificado a través del método de coincidencia de bloques. En este caso, el aparato de codificación puede medir un grado de distorsión acumulando valores diferenciales entre muestras de acuerdo con las fases del bloque reconstruido del bloque diana y el bloque de referencia y usarlos como funciones de costo, y luego, detectar un bloque de referencia específico del bloque reconstruido. El aparato de codificación puede generar la información de movimiento modificado basándose en el bloque de referencia específico detectado. En otras palabras, el aparato de codificación puede generar la información de movimiento modificado que incluye el índice de imagen de referencia modificado que indica el índice de referencia específico y el vector de movimiento modificado que indica el bloque de referencia específico en la imagen de referencia específica. El aparato de codificación puede detectar el bloque de referencia cuya suma de los valores absolutos (o valores cuadrados) de los diferenciales entre muestras según la fase del bloque reconstruido del bloque diana entre los bloques de referencia en la imagen de referencia específica como el bloque de referencia específico y derivar la información de movimiento modificado en función del bloque de referencia específico. Como método para representar la suma de los valores absolutos de los diferenciales, se puede utilizar la suma de las diferencias absolutas (SAD). En este caso, la suma de los valores absolutos de los diferenciales se puede calcular utilizando la Ecuación 1 descrita anteriormente. Además, como método para representar la suma de los valores absolutos de los diferenciales, se puede utilizar el error cuadrático medio (MSE). En este caso, la suma de los valores absolutos de los diferenciales se puede calcular utilizando la Ecuación 2 descrita anteriormente.
Además, la imagen de referencia específica para la información de movimiento modificado puede ser derivada como la referencia de la imagen indicada por el índice de imagen de referencia incluido en la (primera) información de movimiento, y el área de búsqueda para detectar el bloque de referencia específica puede ser limitada a los bloques de referencia ubicados en un área predeterminada del bloque de referencia derivado en la imagen de referencia en base al vector de movimiento relacionado con la imagen de referencia incluida en la (primera) información de movimiento. Es decir, el aparato de codificación puede derivar el bloque de referencia del cual SAD del bloque reconstruido es el mínimo entre los bloques de referencia ubicados en un área predeterminada del bloque de referencia derivado en la imagen de referencia como el bloque de referencia específico basado en el vector de movimiento relacionado a la imagen de referencia incluida en la (primera) información de movimiento.
Además, en el caso de que un tamaño del bloque reconstruido es mayor que un tamaño predeterminado, el bloque reconstruido puede ser dividido en una pluralidad de bloques sub reconstruidos, y un bloque sub reconstruido específico puede derivar en una unidad de sub bloque reconstruido en la imagen de referencia específica. En este caso,
el aparato de codificación puede derivar el bloque de referencia específico basándose en los sub bloques reconstruidos específicos derivados.
Como otro ejemplo, el aparato de codificación puede generar la información de movimiento modificado a través del método FO. En este caso, el aparato de codificación puede calcular el vector de movimiento para la información de movimiento modificado del bloque diana basándose en la suposición de que la velocidad de un objeto en el bloque diana es uniforme y los valores de muestra de las muestras que representan el objeto no se modifican en una imagen. El vector de movimiento se puede calcular mediante la Ecuación 6 descrita anteriormente. El área de las muestras que indica el objeto incluido en el bloque diana puede configurarse como un área de tamaño 3x3.
En el caso de cálculo de la información de movimiento modificado a través de los métodos descritos anteriormente, el aparato de codificación puede calcular la información de movimiento modificado a fin de tener el mismo formato que la (primera) información de movimiento. Es decir, el aparato de codificación puede calcular la información de movimiento modificado para tener el mismo formato que la información de movimiento entre la información de movimiento de bi-predicción y la información de movimiento de uni-predicción. La información de movimiento de bi-predicción puede incluir índice de imagen de referencia L0 y vector de movimiento L0, índice de imagen de referencia L1 y vector de movimiento L1, y la información de movimiento unidireccional puede incluir índice de imagen de referencia L0 y vector de movimiento L0 o índice de imagen de referencia L1 y vector de movimiento L1. L0 indica la lista de imágenes de referencia L0 (lista 0) y L1 indica la lista de imágenes de referencia L1 (lista 1).
Además, la bi-predicción está disponible para ser realizada en la imagen diana en donde está incluido el bloque diana, el aparato de codificación puede calcular la información de movimiento modificado como la información de movimiento de bi-predicción a través del método descrito anteriormente.
Sin embargo, después de que la información de movimiento modificado se calcula como la información de movimiento de bi-predicción, en el caso de que se produzca una oclusión en uno de los bloques de referencia específicos derivados por la información de movimiento de bi-predicción, el aparato de codificación puede derivar la información de movimiento modificado como la información de movimiento de uni-predicción, excepto la información de movimiento para la lista de imágenes de referencia de la imagen de referencia específica en donde se incluye el bloque de referencia específico en donde ocurre la oclusión. Se puede determinar si se produjo la oclusión cuando el valor diferencial entre las muestras según la fase del bloque de referencia derivado en base a la información de movimiento modificado y el bloque reconstruido del bloque diana es mayor que un valor umbral específico. El valor de umbral puede estar preconfigurado.
Por ejemplo, el aparato de codificación calcula la información de movimiento modificado como la información de movimiento de bi-predicción, y en el caso de que el valor diferencial entre las muestras según la fase del bloque de referencia específico derivado en base al vector de movimiento L0 e índice de imagen de referencia L0 de la información de movimiento modificado y el bloque reconstruido del bloque diana es mayor que el valor umbral preconfigurado, el aparato de codificación puede derivar la información de movimiento modificado como la información de movimiento de unipredicción que incluye el vector de movimiento L1 y el índice de imagen de referencia L1.
En otro ejemplo, el aparato de codificación calcula la información de movimiento modificado como la información de movimiento de bipredicción, y en el caso de que el valor diferencial entre las muestras de acuerdo con la fase del bloque de referencia específico derivado basado en el vector de movimiento L1 y el índice de imagen de referencia L1 de la información de movimiento modificado y el bloque reconstruido del bloque diana es mayor que el valor umbral preconfigurado, el aparato de codificación puede derivar la información de movimiento modificado como información de movimiento de unipredicción que incluye el vector de movimiento L0 y el índice de imagen de referencia L0.
Además, en el caso de que el valor diferencial entre las muestras de acuerdo con la fase del bloque de referencia específico derivado basado en el vector de movimiento L0 y el índice de imagen de referencia L0 y el bloque reconstruido del bloque diana es mayor que el valor umbral preconfigurado y en el caso de que el valor diferencial entre las muestras según la fase del bloque de referencia específico derivado en base al vector de movimiento L1 y el índice de imagen de referencia L1 y el bloque reconstruido del bloque diana sea mayor que el valor umbral preconfigurado, el aparato de codificación puede derivar la información de movimiento del bloque al lado del bloque diana como la información de movimiento modificado o puede no calcular la información de movimiento modificado.
Mientras tanto, el aparato de codificación puede seleccionar la imagen de referencia específica por el índice de imagen de referencia modificado incluido en la información de movimiento modificado a través de diversos métodos.
Por ejemplo, el aparato de codificación puede seleccionar la imagen de referencia que es la más recientemente codificada entre las imágenes de referencia incluidas en la lista de imágenes de referencia L0 y generar el índice de imagen de referencia L0 modificada que indica la imagen de referencia. Además, el aparato de codificación puede seleccionar la imagen de referencia que es la más recientemente codificada entre las imágenes de referencia incluidas en la lista de imágenes de referencia L1 y generar el índice de imagen de referencia L1 modificado que indica la imagen de referencia.
En otro ejemplo, el aparato de codificación puede seleccionar la imagen de referencia que tiene un POC en la que un valor absoluto de una diferencia de un recuento de orden de las imágenes (POC) de la imagen diana entre las imágenes de referencia se incluye en el índice de imágenes de referencia L0 y se genera el índice de imagen de referencia L0 modificado que indica la imagen de referencia. Además, el aparato de codificación puede seleccionar la imagen de referencia que tiene un POC del cual un valor absoluto de una diferencia de un recuento de orden de imagen (POC) de la imagen diana entre las imágenes de referencia se incluye en el índice de imagen de referencia L1 y se genera el índice de imagen de referencia L1 modificada que indica la imagen de referencia.
En otro ejemplo, el aparato de codificación puede seleccionar la imagen de referencia que pertenece a la capa más baja en la estructura jerárquica entre las imágenes de referencia incluidas en cada una de las listas de imágenes de referencia y generar el índice de imagen de referencia modificado que indica la imagen de referencia. La imagen de referencia que pertenece a la capa más baja puede ser la pieza I o una imagen de referencia que se codifica aplicando un parámetro de cuantificación baja (CP).
En otro ejemplo, el aparato de codificación puede seleccionar la imagen de referencia que incluye un bloque de referencia en el que la fiabilidad de la compensación de movimiento es la más alta en la lista de imágenes de referencia y generar el índice de imagen de referencia modificado que indica la imagen de referencia. En otras palabras, el aparato de codificación puede derivar el bloque de referencia específico del bloque reconstruido del bloque diana basándose en las imágenes de referencia incluidas en la lista de imágenes de referencia y generar el índice de imagen de referencia modificado que indica la imagen de referencia específica que incluye el bloque de referencia específico derivado.
Los métodos de generación del índice de imagen de referencia modificada de la información de movimiento modificado descrita anteriormente se pueden aplicar independientemente o los métodos pueden aplicarse en combinación.
Además, aunque no se muestra, el aparato de codificación puede generar la información de movimiento modificado del bloque diana basado en el bloque original del bloque diana. El aparato de codificación puede derivar el bloque de referencia específico del bloque original entre los bloques de referencia incluidos en las imágenes de referencia y generar la información de movimiento modificado que indica el bloque de referencia específico derivado.
El aparato de codificación actualiza la información de movimiento del bloque diana basado en la información de movimiento modificado (paso, S1240). El aparato de codificación puede almacenar la información de movimiento modificado y actualizar la información de movimiento del bloque diana. El aparato de codificación puede actualizar la información de movimiento del bloque diana mediante el documento sustituyendo la información de movimiento utilizada para predecir el bloque diana por la información de movimiento modificado. Además, el aparato de codificación puede actualizar la información de movimiento del bloque diana almacenando toda la información de movimiento y la información de movimiento modificado utilizada para predecir el bloque diana. La información de movimiento actualizada puede usarse para la información de movimiento del siguiente bloque al lado del bloque diana. Por ejemplo, el modo de fusión se aplica al siguiente bloque al lado del bloque diana, la lista de candidatos a fusionar del siguiente bloque puede incluir el bloque diana. En el caso de que la información de movimiento del bloque diana se almacene sustituyendo la información de movimiento utilizada en la predicción del bloque diana por la información de movimiento modificado, la lista de candidatos de fusión del siguiente bloque puede incluir el bloque diana que indica la información de movimiento modificado. Además, toda la información de movimiento y la información de movimiento modificado utilizada para predecir el bloque diana se almacenan en la información de movimiento del bloque diana, la lista de candidatos de fusión del siguiente bloque puede incluir el bloque diana que indica la información de movimiento utilizada para predecir el bloque diana y el bloque diana que indica la información de movimiento modificado. El bloque diana que indica la información de movimiento modificado puede insertarse como el bloque candidato vecino espacial en la lista de candidatos para la fusión o insertarse como el bloque candidato vecino temporal en la lista de candidatos para la fusión.
Para otro ejemplo, el modo AMVP se aplica al siguiente bloque al lado del bloque diana, como el método de insertar la información de movimiento actualizada del bloque diana vecino al siguiente bloque en la lista de candidatos de fusión en el modo de fusión descrito anteriormente como la información de movimiento vecino espacial o temporal, el método de insertar la información de movimiento actualizada del bloque vecino en la lista de candidatos de predictores de vector de movimiento en el siguiente bloque anterior como el candidato de predicción de vectores de movimiento espacial o temporal puede aplicarse. Es decir, el aparato de codificación puede generar la lista de candidatos del predictor de vector de movimiento que incluye la información de movimiento actualizada del bloque diana vecino al siguiente bloque.
Por ejemplo, en el caso de que la información de movimiento actualizada del bloque diana al lado del siguiente bloque incluye sólo la información de movimiento modificado, la lista de candidatos de predictores de vector de movimiento puede incluir la información de movimiento modificado como el candidato predictor de vector de movimiento espacial.
En otro ejemplo, en el caso de que la información de movimiento actualizada del bloque diana al lado del siguiente bloque incluye la información de movimiento modificado y la información de movimiento existente del bloque diana, la lista de candidatos de predictores de vector de movimiento puede incluir la información de movimiento modificado seleccionado de acuerdo con una condición específica entre la información de movimiento existente seleccionada de acuerdo con una
condición específica y la información de movimiento modificado de los bloques diana adyacentes al siguiente bloque entre la información de movimiento existente del bloque diana adyacente al siguiente bloque como el respectivo candidato de predictor de vector de movimiento espacial.
Mientras tanto, la lista de candidatos de predictores de vector de movimiento del bloque siguiente puede incluir la información de movimiento actualizada del bloque adjunto de la misma posición que la posición del siguiente bloque y la información de movimiento actualizada del bloque al lado de la misma posición de bloque como la lista de candidatos del predictor de vector de movimiento temporal en la imagen de referencia del siguiente bloque. Por ejemplo, en el caso de que la información de movimiento actualizada del bloque coubicado de la misma posición que la posición del siguiente bloque y la información de movimiento actualizada del bloque al lado del mismo bloque de posición incluyen solo la información de movimiento modificado de cada bloque, la lista de candidatos de predictores de vectores de movimiento puede incluir la información de movimiento modificado como la lista de candidatos de predictores de vectores de movimiento temporales.
En otro ejemplo, en el caso de que la información de movimiento actualizada incluye el mismo bloque de posición, la respectiva información de movimiento modificado del bloque al lado del mismo bloque de posición y el movimiento existente de información del mismo bloque de posición, la lista de candidatos de predictores de vector de movimiento puede incluir la información de movimiento modificado seleccionada según la condición específica entre la información de movimiento existente seleccionada según la condición específica y la información de movimiento modificado entre la información de movimiento existente como candidato de predictor de vector de movimiento espacial separado, respectivamente.
Mientras tanto, la información de movimiento almacenada y la información de movimiento para la transmisión pueden tener diferente resolución. Por ejemplo, el aparato de codificación codifica y transmite la información para la información de movimiento y la información de movimiento modificado se almacena para la información de movimiento adyacente al bloque diana, la unidad de vector de movimiento incluida en la información de movimiento puede tener una unidad de 1/4 de muestra fraccional y la unidad del vector de movimiento de la información de movimiento modificado pueden representar una unidad de 1/8 de muestra fraccionaria o 1/16 de muestra fraccionaria.
Mientras tanto, aunque no se muestra, el aparato de codificación puede determinar si se actualizará la (primera) información de movimiento del bloque diana realizando el procedimiento de comparación entre la (primera) información de movimiento y la información de movimiento modificado basado en el bloque reconstruido del bloque diana. Por ejemplo, el aparato de codificación puede determinar si actualizar el bloque diana comparando la cantidad de datos de la señal residual del bloque de referencia específico derivado en base a la información de movimiento modificado y el bloque reconstruido del bloque diana con la cantidad de datos de la señal residual del bloque de referencia derivada en base a la información de movimiento y el bloque reconstruido. Entre las cantidades de datos, en el caso de que la cantidad de datos de la señal residual del bloque de referencia específico y el bloque reconstruido sea menor, el aparato de codificación puede determinar actualizar la información de movimiento y el bloque diana. Además, entre las cantidades de datos, en el caso de que la cantidad de datos de la señal residual del bloque de referencia específico y el bloque reconstruido no sea menor, el aparato de codificación puede determinar no actualizar la información de movimiento y el bloque diana.
Además, el aparato de codificación puede determinar si actualizar la (primera) información de movimiento del bloque diana realizando el procedimiento de comparación entre la información de movimiento y la información de movimiento modificado basada en el bloque original del bloque diana. Por ejemplo, el aparato de codificación puede determinar si actualizar el bloque diana comparando la cantidad de datos de la señal residual del bloque de referencia específico derivado en base a la información de movimiento modificado y el bloque original del bloque diana con la cantidad de datos de la señal residual del bloque de referencia derivada en base a la información de movimiento y el bloque original. Entre las cantidades de datos, en el caso de que la cantidad de datos de la señal residual del bloque de referencia específico y el bloque original sea menor, el aparato de codificación puede determinar actualizar la información de movimiento y el bloque diana. Además, entre las cantidades de datos, en el caso de que la cantidad de datos de la señal residual del bloque de referencia específico y el bloque original no sea menor, el aparato de codificación puede determinar no actualizar la información de movimiento y el bloque diana.
Mientras tanto, el aparato de codificación puede generar y codificar la información adicional que indica si se actualizará y saldrá a través del acceso indirecto. Por ejemplo, la información adicional que indica si se debe actualizar puede denominarse bandera de actualización. El caso de que el bloque de actualización sea 1 puede indicar que la información de movimiento está actualizada y el caso de que el bloque de actualización sea 0 puede indicar que la información de movimiento no está actualizada. Por ejemplo, la bandera de actualización puede transmitirse en una unidad de PU. Alternativamente, la bandera de actualización puede transmitirse en una unidad de CU, una unidad de CTU o una unidad de segmento y puede transmitirse a través de un nivel superior, como una unidad de conjunto de parámetros de imagen (PPS) o una unidad de conjunto de parámetros de secuencia (SPS).
Mientras tanto, el aparato de codificación puede generar la información diferencial de actualización de vector de movimiento adicional que indica diferencial entre el vector existente de movimiento y la información de movimiento
modificado y codificarlo y dejarlo salir. La información diferencial de actualización del vector de movimiento puede transmitirse en la unidad de PU.
Aunque no se muestra, el aparato de codificación puede codificar y emitir la información sobre la muestra residual para el bloque diana. La información sobre la muestra residual puede incluir coeficientes de transformación para la muestra residual.
La FIG. 13 ilustra esquemáticamente un método de decodificación de video mediante un aparato de decodificación según la presente invención. El método mostrado en la FIG. 13 puede realizarse mediante el aparato de decodificación mostrado en la FIG. 2. En un ejemplo detallado, el paso S1300 de la FIG. 13 puede realizarse mediante una unidad de decodificación de entropía del aparato de decodificación, los pasos S1310 a S1340 pueden realizarse mediante una unidad de predicción del aparato de decodificación y el paso S1350 puede realizarse mediante una memoria del aparato de decodificación.
El aparato de decodificación obtiene la información para la inter predicción del bloque diana a través de un acceso indirecto (etapa, S1300). La inter predicción o una intra predicción se pueden aplicar al bloque diana. En el caso de que la inter predicción se aplique al bloque diana, el aparato de decodificación puede obtener la información para la inter predicción del bloque diana a través del acceso indirecto. Además, el aparato de decodificación puede obtener la información diferencial de actualización del vector de movimiento que indica la diferencia entre el vector de movimiento existente del bloque diana y la información de movimiento modificado a través del acceso indirecto. Además, el aparato de decodificación puede obtener información adicional sobre si actualizar el bloque diana a través del acceso indirecto. Por ejemplo, la información adicional que indica si se debe actualizar puede denominarse bandera de actualización.
El aparato de decodificación deriva la información de movimiento del bloque diana basándose en la información sobre la inter predicción (paso, S1310). La información de movimiento puede denominarse primera información de movimiento. La información sobre la inter predicción puede representar un modo que se aplica al bloque diana entre el modo de salto, el modo de fusión y el modo de predicción de vector de movimiento adaptativo (AMVP). En el caso de que el modo de salto o el modo de fusión se aplique al bloque diana, el aparato de decodificación puede generar la lista de candidatos de fusión que incluye bloques vecinos del bloque diana y obtener un índice de fusión que indica un bloque vecino entre los bloques vecinos incluidos en la lista de candidatos de fusión. El índice de fusión puede incluirse en la información sobre la inter predicción. El aparato de decodificación puede derivar la información de movimiento del bloque vecino indicado por el índice de fusión como la información de movimiento del bloque diana.
En el caso de que el modo AMVP se aplica al bloque diana, el aparato de decodificación puede generar una lista sobre la base de los bloques vecinos del bloque diana, como en el modo de combinación. El aparato de decodificación puede generar el índice que indica un bloque vecino entre los bloques vecinos incluidos en la lista generada y una diferencia de vector de movimiento (MVD) entre el vector de movimiento del bloque vecino indicado por el índice y el vector de movimiento del bloque diana. El índice y el MVD pueden incluirse en la información sobre la inter predicción. El aparato de decodificación puede generar la información de movimiento del bloque diana basándose en el vector de movimiento del bloque vecino indicado por el índice y el MVD.
La información de movimiento puede incluir un vector de movimiento y un índice de imagen de referencia. La información de movimiento puede ser información de movimiento de bi-predicción o información de movimiento de unipredicción. La información de movimiento de bi-predicción puede incluir índice de imagen de referencia L0 y vector de movimiento L0, índice de imagen de referencia L1 y vector de movimiento L1, y la información de movimiento unidireccional puede incluir índice de imagen de referencia L0 y vector de movimiento L0 o índice de imagen de referencia L1 y vector de movimiento L1. L0 indica la lista de imágenes de referencia L0 (lista 0) y L1 indica la lista de imágenes de referencia L1 (lista 1).
El aparato de decodificación se deriva una muestra de predicción mediante la realización de la inter predicción para el bloque diana sobre la base de la información de movimiento (paso, S1320). El aparato de decodificación puede generar la muestra de predicción del bloque diana basándose en el índice de imagen de referencia y el vector de movimiento incluido en la información de movimiento.
El aparato de decodificación genera un bloque reconstruido sobre la base de la muestra de predicción (paso, S1330). En el caso de que se aplique el modo de salto al bloque diana, el aparato de decodificación puede generar el bloque reconstruido del bloque diana basándose en la muestra de predicción. En el caso de que el modo de fusión o el modo AMVP se aplique al bloque diana, el aparato de decodificación puede generar una señal residual del bloque diana a través del acceso indirecto y generar el bloque reconstruido del bloque diana en base a la señal residual y la muestra de predicción.
El aparato de codificación deriva información de movimiento modificado para el bloque diana en base al bloque reconstruido (paso, S1340). El aparato de decodificación puede calcular el índice de imagen de referencia modificada que indica una imagen de referencia específica para la información de movimiento modificado y un vector de movimiento modificado para la imagen de referencia específica a través de varios métodos. La información de movimiento modificado
puede denominarse segunda información de movimiento. Al menos un método que incluye métodos directos como un método de flujo óptico (FO), un método de coincidencia de bloques, un método de dominio de frecuencia y métodos similares e indirectos, como un método de coincidencia de singularidad, un método que utiliza una propiedad estadística y similares se pueden aplicar al método. Además, los métodos directos y los métodos indirectos pueden aplicarse simultáneamente.
Por ejemplo, el aparato de decodificación puede generar la información de movimiento modificado a través del método de correspondencia de bloques. En este caso, el aparato de decodificación puede medir un grado de distorsión acumulando valores diferenciales entre muestras de acuerdo con las fases del bloque reconstruido del bloque diana y el bloque de referencia y usarlos como funciones de costo, y luego, detectar un bloque de referencia específico del bloque reconstruido. El aparato de decodificación puede generar la información de movimiento modificado basándose en el bloque de referencia específico detectado. En otras palabras, el aparato de decodificación puede generar la información de movimiento modificado que incluye el índice de imagen de referencia modificado que indica el índice de referencia específico y el vector de movimiento modificado que indica el bloque de referencia específico en la imagen de referencia específica. El aparato de decodificación puede detectar el bloque de referencia cuya suma de los valores absolutos (o valores cuadrados) de los diferenciales entre muestras según la fase del bloque reconstruido del bloque diana entre los bloques de referencia en la imagen de referencia específica como bloque de referencia específico y derivar la información de movimiento modificado en función del bloque de referencia específico. Como método para representar la suma de los valores absolutos de los diferenciales, se puede utilizar la suma de las diferencias absolutas (SAD). En este caso, la suma de los valores absolutos de los diferenciales se puede calcular utilizando la Ecuación 1 descrita anteriormente. Además, como método para representar la suma de los valores absolutos de los diferenciales, se puede utilizar el error cuadrático medio (MSE). En este caso, la suma de los valores absolutos de los diferenciales se puede calcular utilizando la Ecuación 2 descrita anteriormente.
Además, la imagen de referencia específica para la información de movimiento modificado puede ser derivada como la referencia de la imagen indicada por el índice de imagen de referencia incluido en la (primera) información de movimiento, y el área de búsqueda para detectar el bloque de referencia específico puede ser limitada a los bloques de referencia ubicados en un área predeterminada del bloque de referencia derivado en la imagen de referencia específica en base al vector de movimiento relacionado con la imagen de referencia incluida en la (primera) información de movimiento. Es decir, el aparato de decodificación puede derivar el bloque de referencia cuyo SAD del bloque reconstruido es el mínimo entre los bloques de referencia ubicados en un área predeterminada del bloque de referencia derivado en la imagen de referencia específica como el bloque de referencia específico basado en el vector de movimiento relacionado con la imagen de referencia incluida en la información de movimiento.
Además, en el caso de que un tamaño del bloque reconstruido es mayor que un tamaño predeterminado, el bloque reconstruido puede ser dividido en una pluralidad de bloques sub reconstruidos, y un bloque sub reconstruido específico puede derivar en una unidad de sub bloque reconstruido en la imagen de referencia específica. En este caso, el aparato de decodificación puede derivar el bloque de referencia específico basándose en los sub bloques reconstruidos específicos derivados.
Como otro ejemplo, el aparato de decodificación puede generar la información de movimiento modificado a través del método FO. En este caso, el aparato de decodificación puede calcular el vector de movimiento modificado para la información de movimiento modificado del bloque diana basándose en la suposición de que la velocidad de un objeto en el bloque diana es uniforme y los valores de muestra de las muestras que representan el objeto no se modifican en una imagen. El vector de movimiento se puede calcular mediante la Ecuación 6 descrita anteriormente. El área de las muestras que indica el objeto incluido en el bloque diana puede configurarse como un área de tamaño 3x3.
En el caso del cálculo de la información de movimiento modificado a través de los métodos descritos anteriormente, el aparato de codificación puede calcular la información de movimiento modificado a fin de tener el mismo formato que la (primera) información de movimiento. Es decir, el aparato de decodificación puede calcular la información de movimiento modificado para tener el mismo formato que la información de movimiento entre la información de movimiento de bi-predicción y la información de movimiento de uni-predicción. La información de movimiento de bipredicción puede incluir índice de imagen de referencia L0 y vector de movimiento L0, índice de imagen de referencia L1 y vector de movimiento L1, y la información de movimiento unidireccional puede incluir índice de imagen de referencia L0 y vector de movimiento L0 o índice de imagen de referencia L1 y vector de movimiento L1. L0 indica la lista de imágenes de referencia L0 (lista 0) y L1 indica la lista de imágenes de referencia L1 (lista 1).
Además, la bi-predicción está disponible para ser realizada en la imagen diana en donde está incluido el bloque diana, el aparato de descodificación puede calcular la información de movimiento modificado como información de movimiento de bi-predicción a través del método descrito anteriormente. Sin embargo, después de que la información de movimiento modificado se calcula como la información de movimiento de bi-predicción, en el caso de que ocurra una oclusión en uno de los bloques de referencia derivados de la información de movimiento de bi-predicción, el aparato de decodificación puede derivar la información de movimiento modificado como la información de movimiento de unipredicción, excepto la información de movimiento para la lista de imágenes de referencia de la imagen de referencia específica en donde se incluye el bloque de referencia específico en donde se produce la oclusión. Se puede determinar
si se produjo la oclusión cuando el valor diferencial entre las muestras según la fase del bloque de referencia específico derivado en base a la información de movimiento modificado y el bloque reconstruido del bloque diana es mayor que un valor umbral específico. El valor de umbral puede estar preconfigurado.
Por ejemplo, el aparato de decodificación calcula la información de movimiento modificado como la información de movimiento de bi-predicción, y en el caso de que el valor diferencial entre las muestras de acuerdo con la fase del bloque de referencia específico derivado en base al vector de movimiento L0 y el índice de imagen de referencia L0 de la información de movimiento modificado y el bloque reconstruido del bloque diana es mayor que el valor umbral preconfigurado, el aparato de codificación puede derivar la información de movimiento modificado como la información de movimiento de uni-predicción que incluye el vector de movimiento L1 y el índice de imagen de referencia L1.
En otro ejemplo, el aparato de decodificación calcula la información de movimiento modificado como la información de movimiento de bi-predicción, y en el caso de que el valor diferencial entre las muestras de acuerdo con la fase del bloque de referencia específico derivado basado en el vector de movimiento L1 y el índice de imagen de referencia L1 de la información de movimiento modificado y el bloque reconstruido del bloque diana es mayor que el valor de umbral preconfigurado, el aparato de decodificación puede derivar la información de movimiento modificado como información de movimiento de uni-predicción que incluye el vector de movimiento L0 y el índice de imagen de referencia L0.
Además, en el caso de que el valor diferencial entre las muestras de acuerdo con la fase del bloque de referencia específico derivado basado en el vector de movimiento L0 y el índice de imagen de referencia L0 y el bloque reconstruido del bloque diana es mayor que el valor umbral preconfigurado y en el caso de que el valor diferencial entre las muestras de acuerdo con la fase del bloque de referencia específico derivado en base al vector de movimiento L1 y el índice de imagen de referencia L1 y el bloque reconstruido del bloque diana sea mayor que el valor umbral preconfigurado, el aparato de decodificación puede derivar la información de movimiento del bloque al lado del bloque diana como la información de movimiento modificado o puede no calcular la información de movimiento modificado.
Mientras tanto, el aparato de decodificación puede seleccionar la imagen de referencia específica indicada por el índice de imagen de referencia modificado incluido en la información de movimiento modificado a través de diversos métodos.
Por ejemplo, el aparato de decodificación puede seleccionar la imagen de referencia que es la más recientemente codificada entre las imágenes de referencia incluidas en la lista de imágenes de referencia L0 y generar el índice de imagen de referencia L0 modificado que indica la imagen de referencia. Además, el aparato de decodificación puede seleccionar la imagen de referencia que es la más recientemente codificada entre las imágenes de referencia incluidas en la lista de imágenes de referencia L1 y generar el índice de imagen de referencia L1 modificado que indica la imagen de referencia.
En otro ejemplo, el aparato de decodificación puede seleccionar la imagen de referencia que tiene un POC del cual un valor absoluto de una diferencia de un recuento de orden de las imágenes (POC) de la imagen diana entre las imágenes de referencia incluidas en el índice de imágenes de referencia L0 y generar el índice de imagen de referencia L0 modificado que indica la imagen de referencia. Además, el aparato de decodificación puede seleccionar la imagen de referencia que tiene un POC del cual un valor absoluto de una diferencia de un recuento de orden de imagen (POC) de la imagen diana entre las imágenes de referencia incluidas en el índice de imagen de referencia L1 y generar el índice de imagen de referencia L1 modificada que indica la imagen de referencia.
En otro ejemplo, el aparato de decodificación puede seleccionar la imagen de referencia que pertenece a la capa más baja en la estructura jerárquica entre las imágenes de referencia incluidas en cada una de las listas de imágenes de referencia y generar el índice de imagen de referencia modificado que indica la imagen de referencia. La imagen de referencia que pertenece a la capa más baja puede ser la pieza I o una imagen de referencia que se codifica aplicando un parámetro de cuantificación baja (CP).
En otro ejemplo, el aparato de decodificación puede seleccionar la imagen de referencia que incluye un bloque de referencia de la que la fiabilidad de la compensación de movimiento es la más alta en la lista de imágenes de referencia y generar el índice de imagen de referencia modificado que indica la imagen de referencia. En otras palabras, el aparato de decodificación puede derivar el bloque de referencia específico del bloque reconstruido del bloque diana basándose en las imágenes de referencia incluidas en la lista de imágenes de referencia y generar el índice de imagen de referencia modificado que indica la imagen de referencia específica que incluye el bloque de referencia específico derivado.
Los métodos de generación del índice de imagen de referencia modificada de la información de movimiento modificado descrita anteriormente se puede aplicar independientemente o los métodos pueden aplicarse en combinación.
Mientras tanto, el aparato de decodificación puede obtener la información diferencial de actualización de vector de movimiento que indica un diferencial entre el vector de movimiento existente del bloque diana y el vector de movimiento modificado a través de la acceso indirecto. En este caso, el aparato de decodificación puede derivar la información de movimiento modificado sumando la (primera) información de movimiento del bloque diana y la información diferencial de
actualización del vector de movimiento. La información diferencial de actualización del vector de movimiento puede transmitirse en una unidad de PU descrita anteriormente.
El aparato de decodificación actualiza la información de movimiento del bloque diana basado en la información de movimiento modificado (paso, S1350). El aparato de decodificación puede almacenar la información de movimiento modificado y actualizar la información de movimiento del bloque diana. El aparato de decodificación puede actualizar la información de movimiento del bloque diana sustituyendo la información de movimiento utilizada en la predicción del bloque diana por la información de movimiento modificado. Además, el aparato de decodificación puede actualizar la información de movimiento del bloque diana almacenando toda la información de movimiento y la información de movimiento modificado utilizada para predecir el bloque diana. La información de movimiento actualizada puede usarse para la información de movimiento del siguiente bloque al lado del bloque diana.
Por ejemplo, el modo de mezcla se aplica al siguiente bloque al lado del bloque diana, la lista de candidato de combinación del siguiente bloque puede incluir el bloque diana. En el caso de que la información de movimiento del bloque diana se almacene sustituyendo la información de movimiento utilizada en la predicción del bloque diana por la información de movimiento modificado, la lista de candidatos de fusión del siguiente bloque puede incluir el bloque diana que indica la información de movimiento modificado. Además, toda la información de movimiento y la información de movimiento modificado utilizada para predecir el bloque diana se almacenan en la información de movimiento del bloque diana, la lista de candidatos de fusión del siguiente bloque puede incluir el bloque diana que indica la información de movimiento utilizada para predecir el bloque diana y el bloque diana que indica la información de movimiento modificado. El bloque diana que indica la información de movimiento modificado puede insertarse como el bloque candidato vecino espacial en la lista de candidatos de fusión o insertarse como el bloque de candidatos vecinos temporal en la lista de candidatos de fusión.
En otro ejemplo, el modo de AMVP se aplica al siguiente bloque al lado del bloque diana, al igual que el método de inserción de la información de movimiento actualizada del bloque diana al lado del bloque siguiente en la lista de candidatos de combinación en el modo de mezcla descrito anteriormente como la información de movimiento vecino espacial o temporal, el método de insertar la información de movimiento actualizada del bloque vecino en la lista de candidatos de predictores de vector de movimiento en el siguiente bloque anterior como el candidato de predicción de vectores de movimiento espacial o temporal puede aplicarse. Es decir, el aparato de decodificación puede generar la lista de candidatos del predictor de vector de movimiento que incluye la información de movimiento actualizada del bloque diana al lado del siguiente bloque.
Por ejemplo, en el caso de que la información de movimiento actualizada del bloque diana al lado del siguiente bloque incluye sólo la información de movimiento modificado, la lista de candidatos de predictores de vector de movimiento puede incluir la información de movimiento modificado como el candidato de predictores de vector de movimiento espacial.
En otro ejemplo, en el caso de que la información de movimiento actualizada del bloque diana al lado del siguiente bloque incluye la información de movimiento modificado y la información de movimiento existente del bloque diana, la lista de candidatos de predictores de vector de movimiento puede incluir la información de movimiento modificado seleccionado de acuerdo con una condición específica entre la información de movimiento existente seleccionada de acuerdo con una condición específica y la información de movimiento modificado de los bloques diana adyacentes al siguiente bloque entre la información de movimiento existente del bloque diana adyacente al siguiente bloque como el respectivo candidato de predictores de vector de movimiento espacial.
Mientras tanto, la lista de candidatos de predictores de vector de movimiento del siguiente bloque puede incluir la información de movimiento actualizada del bloque adjunto de la misma posición que la posición del siguiente bloque y la información de movimiento actualizada del bloque al lado del mismo bloque de posición como la lista de candidatos de predictores de vector de movimiento temporal en la imagen de referencia del siguiente bloque. Por ejemplo, en el caso de que la información de movimiento actualizada del bloque coubicado de la misma posición que la posición del siguiente bloque y la información de movimiento actualizada del bloque al lado del mismo bloque de posición incluyen solo la información de movimiento modificado de cada bloque, la lista de candidatos de predictores de vectores de movimiento puede incluir la información de movimiento modificado como la lista de candidatos de predictores de vectores de movimiento temporales.
En otro ejemplo, en el caso de que la información de movimiento actualizada incluye el mismo bloque de posición, la respectiva información de movimiento modificado del bloque al lado del mismo bloque de posición y el movimiento existente de información del mismo bloque de posición, la lista de candidatos de predictores de vector de movimiento puede incluir la información de movimiento modificado seleccionada según la condición específica entre la información de movimiento existente seleccionada según la condición específica y la información de movimiento modificado entre la información de movimiento existente como candidato de predictor de vector de movimiento espacial separado, respectivamente.
Mientras tanto, la información de movimiento almacenada y la información de movimiento para la transmisión pueden tener diferente resolución. Por ejemplo, el aparato de decodificación decodifica y transmite la información para la
información de movimiento y la información de movimiento modificado se almacena para la información de movimiento adyacente al bloque diana, la unidad de vector de movimiento incluida en la información de movimiento puede tener una unidad de 1/4 de muestra fraccionaria y el vector de unidad de movimiento de la información de movimiento modificado pueden representar una unidad de 1/8 de muestra fraccionaria o 1/16 de muestra fraccionaria.
Mientras tanto, aunque no se muestra, el aparato de decodificación puede determinar si actualizará la (primera) información de movimiento de del bloque diana realizando el procedimiento de comparación entre la (primera) información de movimiento y la información de movimiento modificado en base al bloque reconstruido del bloque diana. Por ejemplo, el aparato de decodificación puede determinar si actualizar el bloque diana comparando la cantidad de datos de la señal residual del bloque de referencia específico derivado en base a la información de movimiento modificado y el bloque reconstruido del bloque diana con la cantidad de datos de la señal residual del bloque de referencia derivada en base a la información de movimiento y el bloque reconstruido. Entre las cantidades de datos, en el caso de que la cantidad de datos de la señal residual del bloque de referencia específico y el bloque reconstruido sea menor, el aparato de decodificación puede determinar actualizar la información de movimiento y el bloque diana. Además, entre las cantidades de datos, en el caso de que la cantidad de datos de la señal residual del bloque de referencia específico y el bloque reconstruido no sea menor, el aparato de decodificación puede determinar no actualizar la información de movimiento y el bloque diana.
Mientras tanto, el aparato de decodificación puede obtener la información adicional que indica si se actualizará el bloque diana a través del acceso indirecto. Por ejemplo, la información adicional que indica si se debe actualizar puede denominarse bandera de actualización. El caso de que el bloque de actualización sea 1 puede indicar que la información de movimiento está actualizada y el caso de que el bloque de actualización sea 0 puede indicar que la información de movimiento no está actualizada. Por ejemplo, la bandera de actualización puede transmitirse en una unidad de PU. Alternativamente, la bandera de actualización puede transmitirse en una unidad de CU, una unidad de CTU o una unidad de segmento y puede transmitirse a través de un nivel superior, como una unidad de conjunto de parámetros de imagen (PPS) o una unidad de conjunto de parámetros de secuencia (SPS).
Según la presente invención descrita anteriormente, después del procedimiento de decodificación de un bloque diana, la información de movimiento modificado del bloque diana se calcula, y puede actualizarse para información de movimiento más precisa, y por medio de esto, puede mejorarse la eficiencia general de codificación.
Además, de acuerdo con la presente invención, la información de movimiento de un siguiente bloque al lado del bloque diana se puede derivar sobre la base de la información de movimiento actualizada del bloque diana, y puede ser disminuida la propagación de distorsión, y a través de esta, se puede mejorar la eficiencia general de codificación.
El método de acuerdo con la presente descripción descrito anteriormente puede implementarse en software. El dispositivo de codificación y/o el dispositivo de decodificación según la presente divulgación pueden incluirse en un dispositivo que realiza el procesamiento de imágenes, p. ej., para un televisor, una computadora, un teléfono inteligente, un decodificador o un dispositivo de visualización.
Cuando las realizaciones de la presente divulgación se implementan en software, el método descrito anteriormente puede implementarse mediante módulos (procesos, funciones, y así sucesivamente) que realizan las funciones descritas anteriormente. Dichos módulos pueden almacenarse en la memoria y ser ejecutados por un procesador. La memoria puede ser interna o externa al procesador, y la memoria puede acoplarse al procesador utilizando varios medios bien conocidos. El procesador puede comprender un circuito integrado específico de la aplicación (ASIC), otros conjuntos de chips, un circuito lógico y/o un dispositivo de procesamiento de datos. La memoria puede incluir una ROM (memoria de solo lectura), una RAM (memoria de acceso aleatorio), una memoria flash, una tarjeta de memoria, un medio de almacenamiento y/u otro dispositivo de almacenamiento.
Claims (13)
1. Un aparato de decodificación de video (200), el aparato de decodificación de video (200) estando configurado para:
derivar información de movimiento de un primer bloque objetivo;
derivar información de movimiento modificada para el primer bloque objetivo en base a la información de movimiento y la bi-predicción;
obtener información sobre la inter predicción para un segundo bloque objetivo de un flujo de bits, en donde la información sobre la inter predicción incluye
información de modo que representa que se aplica un modo de fusión al segundo bloque objetivo y
una información de índice de fusión para el segundo bloque objetivo;
determinar que el modo de fusión se aplica al segundo bloque objetivo en base a la información del modo; configurar una lista de candidatos de fusión para el segundo bloque objetivo en base a bloques colindantes espaciales y un bloque colindante temporal del segundo bloque objetivo;
seleccionar uno de los candidatos de fusión que constituyen la lista de candidatos de fusión en base a la información del índice de fusión;
derivar información de movimiento del segundo bloque objetivo en base al candidato de fusión seleccionado; generar muestras de predicción para el segundo bloque objetivo realizando la inter predicción en base a la información de movimiento del segundo bloque objetivo; y
generar muestras reconstruidas en base a las muestras de predicción,
en donde los candidatos de fusión incluyen candidatos de información de movimiento espacial y un candidato de información de movimiento temporal, en donde los candidatos de información de movimiento espacial se derivan en base a los bloques colindantes espaciales y el candidato de información de movimiento temporal se deriva en base al bloque colindante temporal,
en donde cuando el bloque colindante temporal corresponde al primer bloque objetivo, el candidato de información de movimiento temporal se deriva usando la información de movimiento modificada del primer bloque objetivo, caracterizado porque cuando el bloque colindante espacial corresponde al primer bloque objetivo, el candidato de información de movimiento espacial se deriva usando la información de movimiento del primer bloque objetivo.
2. El aparato de decodificación de video de la reivindicación 1, en donde el aparato de decodificación de video está configurado además para determinar si actualizar la información de movimiento del primer bloque objetivo, cuando se determina que la información de movimiento del primer bloque objetivo se actualizará, el aparato de decodificación de video actualiza la información de movimiento del primer bloque objetivo en base a la información de movimiento modificada del primer bloque objetivo.
3. El aparato de decodificación de video de la reivindicación 1, en donde cuando una unidad de vector de movimiento incluida en la información de movimiento del primer bloque objetivo representa una unidad de 1/4 de muestra fraccionaria, la unidad de vector de movimiento incluida en la información de movimiento modificada del primer bloque objetivo representa una unidad de 1/8 de muestra fraccionaria.
4. El aparato de decodificación de video de la reivindicación 1, en el donde el aparato de decodificación de video está configurado además
para derivar una imagen de referencia específica para la información de movimiento modificada entre las imágenes de referencia,
para detectar un bloque de referencia específico entre los bloques de referencia en la imagen de referencia específica, y
para derivar la información de movimiento modificada que incluye el índice de imagen de referencia modificado que indica la imagen de referencia específica y el vector de movimiento modificado que indica el bloque de referencia específico.
5. El aparato de decodificación de video de la reivindicación 4, en donde el bloque de referencia específico se deriva como un bloque de referencia cuya suma de diferencia, SAD, del bloque de referencia es un mínimo entre los bloques de referencia en la imagen de referencia específica, en donde el SAD se determina en base a la siguiente ecuación:
altura anchura
donde Bloquecorr (i,j) representa una muestra reconstruida de la coordenada (i, j) en el bloque reconstruido, Bloqueref (i,j) representa una muestra reconstruida de la coordenada (i, j) en el bloque de referencia, 'anchura' representa una anchura
del bloque reconstruido y 'altura' representa la altura del bloque reconstruido.
6. El aparato de decodificación de video de la reivindicación 4 o 5,
en donde la imagen de referencia específica para la información de movimiento modificada se deriva como una imagen de referencia indicada por el índice de imagen de referencia incluido en la información de movimiento, y
en donde el bloque de referencia del cual se deriva el SAD del bloque de referencia como el bloque de referencia específico entre los bloques de referencia incluidos en un área predeterminada de la que se deriva el bloque de referencia de la imagen de referencia específica en base al vector de movimiento incluido en la información de movimiento.
7. El aparato de decodificación de video de la reivindicación 1, en donde la información de movimiento modificada para el primer bloque objetivo se deriva a través de un método de flujo óptico, OF, realizado en base al vector de movimiento L0 y al vector de movimiento L1 incluidos en la información de movimiento.
8. El aparato de decodificación de video de la reivindicación 1,
en donde la información de movimiento modificada es información de movimiento de bi-predicción, y en donde la información de movimiento de bi-predicción incluye el vector de movimiento L0 y el índice de imagen de referencia L0, y el vector de movimiento L1 y el índice de imagen de referencia L1.
9. El aparato de decodificación de video de la reivindicación 8,
en donde el índice de imagen de referencia L0 de la información de movimiento modificada indica una imagen de referencia que tiene un recuento de orden de imagen, POC, cuyo valor absoluto de una diferencia de POC de la primera imagen en la que se incluye el primer bloque objetivo es la más pequeña entre las imágenes de referencia incluidas en la lista de imágenes de referencia L0, y en donde el índice de imágenes de referencia L1 de la información de movimiento modificada indica una imagen de referencia que tiene un recuento de orden de imagen, POC, cuyo valor absoluto de una diferencia de POC de la primera imagen en la que se incluye el primer bloque objetivo es la más pequeña entre las imágenes de referencia incluidas en la lista de imágenes de referencia L1.
10. El aparato de decodificación de video de la reivindicación 1,
en donde el aparato de decodificación de video está configurado además para determinar si actualizar la información de movimiento del primer bloque objetivo,
en donde puede determinarse si actualizar la información de movimiento del primer bloque objetivo comparando una cantidad de datos de una señal residual entre un bloque de referencia específico derivado en base a la información de movimiento modificada y un bloque reconstruido del primer bloque y una cantidad de datos de una señal residual entre un bloque de referencia derivado en base a la información de movimiento y el bloque reconstruido del primer bloque.
11. Un aparato de codificación de video (100), el aparato de codificación de video (100) estando configurado para:
derivar información de movimiento de un primer bloque objetivo;
derivar información de movimiento modificada para el primer bloque objetivo en base a la información de movimiento y la bi-predicción;
determinar que se aplica un modo de fusión a un segundo bloque objetivo;
configurar una lista de candidatos de fusión para el segundo bloque objetivo en base a bloques colindantes espaciales y un bloque colindante temporal del segundo bloque objetivo;
seleccionar uno de los candidatos de fusión que constituyen la lista de candidatos de fusión;
generar información de modo que represente que el modo de fusión se aplica al segundo bloque objetivo;
generar información de índice de fusión para el segundo bloque objetivo que indica el candidato de fusión seleccionado; y
codificar información sobre inter predicción, incluyendo la información de modo y la información de índice de fusión, en donde los candidatos de fusión incluyen candidatos de información de movimiento espacial y un candidato de información de movimiento temporal, en donde los candidatos de información de movimiento espacial se derivan en base a los bloques colindantes espaciales y el candidato de información de movimiento temporal se deriva en base al bloque colindante temporal,
en donde cuando el bloque colindante temporal corresponde al primer bloque objetivo, el candidato de información de movimiento temporal se deriva usando la información de movimiento modificada del primer bloque objetivo, caracterizado porque cuando el bloque colindante espacial corresponde al primer bloque objetivo, el candidato de información de movimiento espacial se deriva usando la información de movimiento del primer bloque objetivo.
12. Un medio de almacenamiento digital legible por ordenador que almacena un flujo de bits generado
derivando información de movimiento de un primer bloque objetivo;
derivando información de movimiento modificada para el primer bloque objetivo en base a la información de
movimiento y la bi-predicción;
determinando que se aplica un modo de fusión a un segundo bloque objetivo;
configurando una lista de candidatos de fusión para el segundo bloque objetivo en base a bloques colindantes espaciales y un bloque colindante temporal del segundo bloque objetivo;
seleccionando uno de los candidatos de fusión que constituyen la lista de candidatos de fusión;
generando información de modo que representa que se aplica el modo de fusión al segundo bloque objetivo; generando información de índice de fusión para el segundo bloque objetivo que indica el candidato de fusión seleccionado; y
codificando información sobre la inter predicción, incluyendo la información de modo y la información de índice de fusión para generar el flujo de bits,
en donde los candidatos de fusión incluyen candidatos de información de movimiento espacial y un candidato de información de movimiento temporal, en donde los candidatos de información de movimiento espacial se derivan en base a los bloques colindantes espaciales y el candidato de información de movimiento temporal se deriva en base al bloque colindante temporal,
en donde cuando el bloque colindante temporal corresponde al primer bloque objetivo, el candidato de información de movimiento temporal se deriva usando la información de movimiento modificada del primer bloque objetivo, caracterizado porque cuando el bloque colindante espacial corresponde al primer bloque objetivo, el candidato de información de movimiento espacial se deriva usando la información de movimiento del primer bloque objetivo.
13. Un método para transmitir un flujo de bits de información de video que comprende:
obtener el flujo de bits de la información de video en la inter predicción que incluye información de modo e información de índice de fusión, en donde la información de video en la inter predicción se genera
derivando información de movimiento de un primer bloque objetivo;
derivando información de movimiento modificada para el primer bloque objetivo en base a la información de movimiento y la bi-predicción;
determinando que se aplica un modo de fusión a un segundo bloque objetivo; configurando una lista de candidatos de fusión para el segundo bloque objetivo en base a bloques colindantes espaciales y un bloque colindante temporal del segundo bloque objetivo; y
seleccionando uno de los candidatos de fusión que constituyen la lista de candidatos de fusión; y transmitiendo el flujo de bits de la información de video en la inter predicción que incluye la información de modo y la información de índice de combinación, en donde los candidatos de fusión incluyen candidatos de información de movimiento espacial y un candidato de información de movimiento temporal, en donde los candidatos de información de movimiento espacial se derivan en base a los bloques colindantes espaciales y el candidato de información de movimiento temporal se deriva en base al bloque colindante temporal,
en donde cuando el bloque colindante temporal corresponde al primer bloque objetivo, el candidato de información de movimiento temporal se deriva usando la información de movimiento modificada del primer bloque objetivo, caracterizado porque cuando el bloque colindante espacial corresponde al primer bloque objetivo, el candidato de información de movimiento espacial se deriva usando la información de movimiento del primer bloque objetivo.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2016/014167 WO2018105757A1 (ko) | 2016-12-05 | 2016-12-05 | 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 |
EP21163358.1A EP3855745B1 (en) | 2016-12-05 | 2016-12-05 | Video decoding apparatus, video encoding apparatus, storage medium and method for transmission |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2927560T3 true ES2927560T3 (es) | 2022-11-08 |
Family
ID=62492214
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES16923451T Active ES2886871T3 (es) | 2016-12-05 | 2016-12-05 | Método y medio de almacenamiento para la decodificación de una imagen en un sistema de codificación de imágenes |
ES21163358T Active ES2927560T3 (es) | 2016-12-05 | 2016-12-05 | Aparato de decodificación de vídeo, aparato de codificación de vídeo, medio de almacenamiento y método para la trasmisión |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES16923451T Active ES2886871T3 (es) | 2016-12-05 | 2016-12-05 | Método y medio de almacenamiento para la decodificación de una imagen en un sistema de codificación de imágenes |
Country Status (11)
Country | Link |
---|---|
US (3) | US10764598B2 (es) |
EP (3) | EP3855745B1 (es) |
KR (4) | KR102322128B1 (es) |
CN (4) | CN116527884A (es) |
DK (2) | DK3541073T3 (es) |
ES (2) | ES2886871T3 (es) |
HU (2) | HUE055198T2 (es) |
PL (2) | PL3855745T3 (es) |
PT (1) | PT3855745T (es) |
SI (1) | SI3855745T1 (es) |
WO (1) | WO2018105757A1 (es) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110692248B (zh) | 2017-08-29 | 2024-01-02 | 株式会社Kt | 视频信号处理方法及装置 |
WO2019216325A1 (en) | 2018-05-09 | 2019-11-14 | Sharp Kabushiki Kaisha | Systems and methods for performing motion vector prediction using a derived set of motion vectors |
US10965951B2 (en) | 2018-06-22 | 2021-03-30 | Avago Technologies International Sales Pte. Limited | Memory latency management for decoder-side motion refinement |
EP4325861A3 (en) | 2018-06-29 | 2024-03-06 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between lut and amvp |
GB2588531B (en) | 2018-06-29 | 2023-02-01 | Beijing Bytedance Network Tech 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 |
GB2589487B (en) | 2018-06-29 | 2023-02-08 | Beijing Bytedance Network Tech Co Ltd | Checking order of motion candidates in LUT |
KR102680903B1 (ko) | 2018-06-29 | 2024-07-04 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝 |
GB2588006B (en) | 2018-06-29 | 2023-03-22 | Beijing Bytedance Network Tech Co Ltd | Number of motion candidates in a look up table to be checked according to mode |
TWI744662B (zh) | 2018-06-29 | 2021-11-01 | 大陸商北京字節跳動網絡技術有限公司 | 更新查閱資料表(lut)的條件 |
JP7193629B2 (ja) | 2018-06-29 | 2022-12-20 | 北京字節跳動網絡技術有限公司 | 更新されるべき若しくは更新しない何れかのlut |
KR20240007299A (ko) | 2018-06-29 | 2024-01-16 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 룩업 테이블의 업데이트: fifo, 제약된 fifo |
TWI735902B (zh) | 2018-07-02 | 2021-08-11 | 大陸商北京字節跳動網絡技術有限公司 | 具有幀內預測模式的lut和來自非相鄰塊的幀內預測模式 |
CN112369030B (zh) * | 2018-07-06 | 2023-11-10 | 寰发股份有限公司 | 解码器的视频解码方法及装置 |
CN112585976A (zh) * | 2018-08-06 | 2021-03-30 | 韩国电子通信研究院 | 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质 |
TW202025760A (zh) | 2018-09-12 | 2020-07-01 | 大陸商北京字節跳動網絡技術有限公司 | 要檢查多少個hmvp候選 |
US20220038682A1 (en) * | 2018-09-18 | 2022-02-03 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and device, and recording medium in which bitstream is stored |
GB2579763B (en) * | 2018-09-21 | 2021-06-09 | Canon Kk | Video coding and decoding |
GB2577318B (en) | 2018-09-21 | 2021-03-10 | Canon Kk | Video coding and decoding |
GB2595053B (en) | 2018-10-18 | 2022-07-06 | Canon Kk | Video coding and decoding |
KR102468805B1 (ko) | 2018-12-12 | 2022-11-18 | 엘지전자 주식회사 | 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치 |
EP3888355A4 (en) | 2019-01-10 | 2022-03-23 | Beijing Bytedance Network Technology Co., Ltd. | LOOKUP TABLE UPDATE INVOCATION |
WO2020143824A1 (en) | 2019-01-13 | 2020-07-16 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between lut and shared merge list |
WO2020147772A1 (en) | 2019-01-16 | 2020-07-23 | Beijing Bytedance Network Technology Co., Ltd. | Motion candidates derivation |
WO2020192611A1 (en) | 2019-03-22 | 2020-10-01 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between merge list construction and other tools |
WO2021060905A1 (ko) * | 2019-09-25 | 2021-04-01 | 엘지전자 주식회사 | 변환에 기반한 영상 코딩 방법 및 그 장치 |
CN112995669B (zh) * | 2021-04-27 | 2021-08-03 | 浙江华创视讯科技有限公司 | 一种帧间预测方法、装置、电子设备及存储介质 |
US20230113104A1 (en) * | 2021-10-11 | 2023-04-13 | Tencent America LLC | On intra mode propagation |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100860690B1 (ko) | 2007-01-26 | 2008-09-26 | 삼성전자주식회사 | 외부 메모리 액세스를 최소화하는 움직임 탐색 방법 및장치 |
KR100939917B1 (ko) | 2008-03-07 | 2010-02-03 | 에스케이 텔레콤주식회사 | 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법 |
CN103039075B (zh) * | 2010-05-21 | 2015-11-25 | Jvc建伍株式会社 | 图像编码装置、图像编码方法、以及图像解码装置、图像解码方法 |
WO2013056656A1 (en) * | 2011-10-19 | 2013-04-25 | Mediatek Inc. | Method and apparatus for derivation of motion vector predictor candidate set |
TWI597973B (zh) * | 2011-10-31 | 2017-09-01 | Jvc Kenwood Corp | Video encoding device, video encoding method and recording medium |
KR101934277B1 (ko) * | 2011-11-28 | 2019-01-04 | 에스케이텔레콤 주식회사 | 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치 |
US20130188716A1 (en) * | 2012-01-20 | 2013-07-25 | Qualcomm Incorporated | Temporal motion vector predictor candidate |
US9426498B2 (en) * | 2012-07-10 | 2016-08-23 | Broadcom Corporation | Real-time encoding system of multiple spatially scaled video based on shared video coding information |
US9124899B2 (en) * | 2012-09-28 | 2015-09-01 | Sharp Laboratories Of America, Inc. | Motion derivation and coding for scaling video |
US9800857B2 (en) * | 2013-03-08 | 2017-10-24 | Qualcomm Incorporated | Inter-view residual prediction in multi-view or 3-dimensional video coding |
US20140301463A1 (en) * | 2013-04-05 | 2014-10-09 | Nokia Corporation | Method and apparatus for video coding and decoding |
US9930363B2 (en) * | 2013-04-12 | 2018-03-27 | Nokia Technologies Oy | Harmonized inter-view and view synthesis prediction for 3D video coding |
JP6145002B2 (ja) * | 2013-09-02 | 2017-06-07 | 株式会社日立ハイテクノロジーズ | 自動分析装置 |
US10531116B2 (en) * | 2014-01-09 | 2020-01-07 | Qualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
US10484721B2 (en) | 2014-03-17 | 2019-11-19 | Qualcomm Incorporated | Method for motion estimation of non-natural video data |
WO2015149698A1 (en) * | 2014-04-01 | 2015-10-08 | Mediatek Inc. | Method of motion information coding |
KR101590493B1 (ko) | 2014-06-12 | 2016-02-02 | 에스케이텔레콤 주식회사 | 인터 예측을 이용한 영상 부호화 및 복호화 방법과 장치 |
US10200711B2 (en) * | 2015-03-27 | 2019-02-05 | Qualcomm Incorporated | Motion vector derivation in video coding |
CN105149698B (zh) | 2015-08-19 | 2017-04-19 | 天津市达鑫精密机械设备有限公司 | 一种汽车同步器齿套双面倒角连续加工系统 |
WO2017105097A1 (ko) * | 2015-12-17 | 2017-06-22 | 삼성전자 주식회사 | 머지 후보 리스트를 이용한 비디오 복호화 방법 및 비디오 복호화 장치 |
KR101691553B1 (ko) | 2016-02-24 | 2016-12-30 | 삼성전자주식회사 | 영상 복호화 방법 및 장치 |
-
2016
- 2016-12-05 KR KR1020197016155A patent/KR102322128B1/ko active IP Right Grant
- 2016-12-05 KR KR1020237028920A patent/KR20230129582A/ko not_active Application Discontinuation
- 2016-12-05 ES ES16923451T patent/ES2886871T3/es active Active
- 2016-12-05 DK DK16923451.5T patent/DK3541073T3/da active
- 2016-12-05 US US16/465,895 patent/US10764598B2/en active Active
- 2016-12-05 ES ES21163358T patent/ES2927560T3/es active Active
- 2016-12-05 HU HUE16923451A patent/HUE055198T2/hu unknown
- 2016-12-05 PL PL21163358.1T patent/PL3855745T3/pl unknown
- 2016-12-05 WO PCT/KR2016/014167 patent/WO2018105757A1/ko unknown
- 2016-12-05 KR KR1020217035512A patent/KR102414924B1/ko active IP Right Grant
- 2016-12-05 EP EP21163358.1A patent/EP3855745B1/en active Active
- 2016-12-05 CN CN202310703397.XA patent/CN116527884A/zh active Pending
- 2016-12-05 EP EP22175536.6A patent/EP4090025A1/en active Pending
- 2016-12-05 SI SI201631609T patent/SI3855745T1/sl unknown
- 2016-12-05 KR KR1020227021390A patent/KR102572286B1/ko active IP Right Grant
- 2016-12-05 CN CN201680091905.1A patent/CN110121883B/zh active Active
- 2016-12-05 DK DK21163358.1T patent/DK3855745T3/da active
- 2016-12-05 PT PT211633581T patent/PT3855745T/pt unknown
- 2016-12-05 PL PL16923451T patent/PL3541073T3/pl unknown
- 2016-12-05 EP EP16923451.5A patent/EP3541073B1/en active Active
- 2016-12-05 CN CN202310707482.3A patent/CN116527885A/zh active Pending
- 2016-12-05 HU HUE21163358A patent/HUE059684T2/hu unknown
- 2016-12-05 CN CN202310708056.1A patent/CN116527886A/zh active Pending
-
2020
- 2020-08-04 US US16/985,118 patent/US11363289B2/en active Active
-
2022
- 2022-05-02 US US17/734,959 patent/US12096020B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2927560T3 (es) | Aparato de decodificación de vídeo, aparato de codificación de vídeo, medio de almacenamiento y método para la trasmisión | |
US10856006B2 (en) | Method and system using overlapped search space for bi-predictive motion vector refinement | |
JP7481542B2 (ja) | 動きベクトル予測子の選択方法及び動きベクトル予測子の選択方法を利用する装置 | |
ES2755573T3 (es) | Predicción de vector de movimiento temporal avanzada basada en unidades de subpredicción | |
ES2841312T3 (es) | Predicción de vectores de movimiento para modelos de movimiento afines en codificación de vídeo | |
ES2954447T3 (es) | Predicción de vectores de movimiento | |
ES2879366T3 (es) | Método de codificación y decodificación de video | |
ES2799323T3 (es) | Técnicas de codificación de vídeo usando particionamiento de movimiento asimétrica | |
ES2734574T3 (es) | Modo avanzado de fusión/salto y modo avanzado de predicción de vector de movimiento (AMVP) para vídeo 3D | |
ES2753958T3 (es) | Predicción de vector de movimiento temporal basada en subunidad de predicción (PU) en la HEVC y diseño de sub-PU en la 3D-HEVC | |
ES2841986T3 (es) | Identificación de bloques usando vector de disparidad en la codificación de vídeo | |
ES2669399T3 (es) | Vector de movimiento predicho entre visualizaciones para vídeo 3D | |
US20190356922A1 (en) | Inter-prediction method and apparatus in image coding system | |
JPWO2012172634A1 (ja) | 画像符号化装置、画像復号化装置、方法およびプログラム |