ES2887307T3 - Dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes - Google Patents
Dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes Download PDFInfo
- Publication number
- ES2887307T3 ES2887307T3 ES20150888T ES20150888T ES2887307T3 ES 2887307 T3 ES2887307 T3 ES 2887307T3 ES 20150888 T ES20150888 T ES 20150888T ES 20150888 T ES20150888 T ES 20150888T ES 2887307 T3 ES2887307 T3 ES 2887307T3
- Authority
- ES
- Spain
- Prior art keywords
- prediction
- information
- block
- region
- merge
- 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 abstract description 159
- 230000033001 locomotion Effects 0.000 claims abstract description 680
- 239000013598 vector Substances 0.000 claims abstract description 291
- 230000000903 blocking effect Effects 0.000 claims abstract description 56
- 230000004927 fusion Effects 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims description 57
- 108091026890 Coding region Proteins 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 177
- 230000006870 function Effects 0.000 description 29
- 238000013139 quantization Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 18
- 230000002441 reversible effect Effects 0.000 description 13
- 230000009466 transformation Effects 0.000 description 13
- 239000012634 fragment Substances 0.000 description 9
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000010187 selection method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/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/124—Quantisation
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/46—Embedding additional information in the video signal during the compression process
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Método de decodificación predictiva de imágenes ejecutado mediante un procesador de un dispositivo de decodificación predictiva de imágenes para implementar: extraer a partir de datos de imagen comprimidos (a) información de predicción codificada que indica un método de predicción que va a usarse para derivar una señal de predicción de una región (400) objetivo que va a decodificarse y (b) una señal residual codificada, en el que los datos de imagen comprimidos son un resultado de la división de una imagen de entrada en una pluralidad de regiones (400) y la codificación de las regiones (400); decodificar la información de predicción codificada para restaurar información de tipo de división en bloques de predicción que indica un número de regiones de predicción subdivididas en la región (400) objetivo; si la información de tipo de división en bloques de predicción indica que la región (400) objetivo se divide de manera horizontal en una primera región (T1) de predicción en el lado superior y una segunda región (T2) de predicción en el lado inferior, decodificar además la información de predicción codificada para restaurar la primera información de identificación de fusión (merge_flag_T1) que indica si utilizar o no información de movimiento asociada con regiones (401, 402) adyacentes, adyacentes a la primera región (T1) de predicción cuando se genera una señal de predicción de la primera región (T1) de predicción y para restaurar la segunda información de identificación de fusión (merge_flag_T2) que indica si utilizar o no información de movimiento asociada con regiones (401, T1) adyacentes, adyacentes a la segunda región (T2) de predicción cuando se genera una señal de predicción de la segunda región (T2) de predicción; si la primera información de identificación de fusión (merge_flag_T1) indica que no se utilice la información de movimiento de las regiones (401, 402) adyacentes de la primera región (T1) de predicción, decodificar además la información de predicción codificada para restaurar la primera información de movimiento para su uso en la generación de la señal de predicción de la primera región (T1) de predicción; si la primera información de identificación de fusión (merge_flag_T1) indica que se utilice la información de movimiento de las regiones (401, 402) adyacentes de la primera región (T1) de predicción, decodificar además la información de predicción codificada para restaurar la primera información de selección (merge_flag_left_T1) que identifica la primera información de movimiento de fusión asociada con una región (401; 402) adyacente de la primera región (T1) de predicción para su uso en la generación de la señal de predicción de la primera región (T1) de predicción y para restaurar la primera información de movimiento de fusión identificada; si la segunda información de identificación de fusión (merge_flag_T2) indica que no se utilice la información de movimiento de las regiones (401, T1) adyacentes de la segunda región (T2) de predicción, decodificar además la información de predicción codificada para restaurar la segunda información de movimiento para su uso en la generación de la señal de predicción de la segunda región (T2) de predicción; si la segunda información de identificación de fusión (merge_flag_T2) indica que se utilice la información de movimiento de las regiones (401, T1) adyacentes de la segunda región (T2) de predicción, decodificar además la información de predicción codificada para restaurar la segunda información de selección (merge_flag_left_T2) que identifica la segunda información de movimiento de fusión asociada con una región (401; T1) adyacente de la segunda región (T2) de predicción para su uso en la generación de la señal de predicción de la segunda región (T2) de predicción y para restaurar la segunda información de movimiento de fusión identificada, en el que la primera información de movimiento de fusión se excluye de la información de movimiento de las regiones (401, T1) adyacentes de la segunda región (T2) de predicción a partir de la que se identifica la segunda información de movimiento de fusión mediante la segunda información de selección (merge_flag_left_T2); usando o bien la primera información de movimiento o bien la primera información de movimiento de fusión y o bien la segunda información de movimiento o bien la segunda información de movimiento de fusión, generar la señal de predicción de cada una de la primera y la segunda regiones (T1; T2) de predicción en la región (400) objetivo; decodificar la señal residual codificada para restaurar una señal residual para la región (400) objetivo; y generar una señal de píxeles restaurada de la región (400) objetivo a partir de la señal de predicción de cada una de la primera y la segunda regiones (T1; T2) de predicción y la señal residual restaurada y almacenar la señal de píxeles restaurada como una señal de imagen reconstruida, en el que la información de movimiento incluye un vector de movimiento y un número de tramas de referencia.
Description
DESCRIPCIÓN
Dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes
Campo técnico
Un aspecto de la presente invención se refiere a un dispositivo de decodificación predictiva de imágenes y a un método de decodificación predictiva de imágenes.
Técnica anterior
Las tecnologías de codificación por compresión se usan para la transmisión y el almacenamiento eficientes de imágenes fijas y datos de vídeo. Los sistemas de MPEG-1 a 4 y de H.261 a H.264 de la ITU (Unión Internacional sobre Telecomunicación) se usan habitualmente para datos de vídeo.
En los sistemas de codificación, una imagen que sirve como objetivo de codificación se divide en una pluralidad de bloques y después se lleva a cabo un procedimiento de codificación o un procedimiento de decodificación. En la codificación predictiva intra-imagen, se genera una señal predicha usando una señal de imagen previamente reconstruida adyacente (es decir señal reconstruida a partir de datos de imagen comprimidos) presente en la misma imagen que un bloque objetivo y después se codifica una señal diferencial obtenida restando la señal predicha a partir de una señal del bloque objetivo. En la codificación predictiva inter-imágenes, se realiza compensación de movimiento con referencia a una señal de imagen previamente reconstruida adyacente presente en una imagen diferente de un bloque objetivo para generar una señal predicha, y se codifica una señal de diferencia obtenida restando la señal predicha a partir de una señal del bloque objetivo.
Por ejemplo, la codificación predictiva intra-imagen de H.264 emplea un método de generación de la señal predicha extrapolando valores de píxel previamente reconstruidos adyacentes a un bloque que sirve como objetivo de codificación, en una dirección predeterminada. La figura 22 es un diagrama esquemático para explicar el método de predicción intra-imagen usado en ITU H.264. En (A) de la figura 22, el bloque 802 objetivo es un bloque que sirve como objetivo de codificación, y un grupo 801 de píxeles que consiste en los píxeles Pa-Pl adyacentes a un límite del bloque 802 objetivo es una región adyacente, que es una señal de imagen previamente reconstruida en un procesamiento pasado.
En el caso mostrado en (A) de la figura 22, la señal predicha se genera extendiendo hacia abajo el grupo 801 de píxeles que incluye píxeles adyacentes ubicados inmediatamente encima del bloque 802 objetivo. En el caso mostrado en (B) de la figura 22, la señal predicha se genera extendiendo hacia la derecha píxeles (Pi-Pl) previamente reconstruidos ubicados a la izquierda del bloque 804 objetivo. Se describen métodos específicos para la generación de la señal predicha, por ejemplo, en el documento de patente 1. Se calcula una diferencia entre cada una de nueve señales predichas generadas mediante los métodos mostrados en (A) a (I) de la figura 22 de la manera descrita anteriormente, y la señal de píxeles del bloque objetivo, y se selecciona la señal predicha con la menor diferencia como señal predicha óptima. Tal como se describió anteriormente, la señal predicha puede generarse mediante extrapolación de píxeles. El contenido anterior se describe en el documento de patente 1 a continuación.
En la codificación predictiva inter-imágenes típica, la señal predicha para un bloque que sirve como objetivo de codificación se genera mediante un método de búsqueda de imágenes previamente reconstruidas para una señal similar a una señal de píxeles del bloque objetivo. Después se codifican un vector de movimiento que es una cantidad de desplazamiento espacial entre el bloque objetivo y una región compuesta por la señal detectada y una señal residual entre la señal de píxeles del bloque objetivo y la señal predicha. La técnica de búsqueda para un vector de movimiento para cada bloque tal como se describió anteriormente se denomina coincidencia de bloques.
La figura 21 es un diagrama esquemático para explicar un procedimiento de coincidencia de bloques. A continuación se describirá un procedimiento de generación de una señal predicha para un ejemplo de bloque 702 objetivo en una imagen 701 objetivo de codificación. La imagen 703 es una imagen previamente reconstruida y la región 704 es una región ubicada espacialmente en la misma posición que el bloque 702 objetivo. En la coincidencia de bloques, se establece un intervalo 705 de búsqueda alrededor de la región 704 y se detecta una región 706, para minimizar la suma de diferencias absolutas a partir de la señal de píxeles del bloque 702 objetivo, a partir de una señal de píxeles de este intervalo de búsqueda. Se determina que la señal de esta región 706 es una señal predicha, y se detecta una cantidad de desplazamiento desde la región 704 hasta la región 706 como vector 707 de movimiento. También se emplea un método de preparación de una pluralidad de imágenes 703 de referencia, selección de una imagen de referencia que va a usarse en la coincidencia de bloques para cada bloque objetivo, y detección de información de selección de imagen de referencia. En H.264 se prepara una pluralidad de tipos de predicción de diferentes tamaños de bloque para la codificación de vectores de movimiento, con el fin de adaptarse a cambios de características locales de las imágenes. Los tipos de predicción de H.264 se describen, por ejemplo, en el documento de patente 2.
En la codificación por compresión de datos de vídeo, un orden de codificación de imágenes (tramas o campos) puede ser opcional. Por este motivo, hay tres tipos de técnicas sobre el orden de codificación en la predicción inter-imágenes
para generar la señal predicha con referencia a imágenes previamente reconstruidas. La primera técnica es la predicción directa para generar la señal predicha con referencia a una imagen previamente reconstruida pasada en un orden de reproducción, la segunda técnica es una predicción inversa para generar la señal predicha con referencia a una imagen previamente reconstruida futura en el orden de reproducción, y la tercera técnica es la predicción bidireccional para realizar tanto predicción directa como predicción inversa y calcular el promedio de dos señales predichas. Los tipos de predicciones inter-imágenes se describen, por ejemplo, en el documento de patente 3.
En HEVC (codificación de vídeo de alta eficiencia) que está normalizándose como sistema de codificación de vídeo de próxima generación, también está revisándose la introducción de divisiones asimétricas tal como se muestra en (E) a (F) de la figura 20, además de bisecciones rectangulares mostradas en (B) y (C) de la figura 20 y división en cuartos cuadrados mostrada en (D) de la figura 20, como tipos de división de un bloque de predicción. En HEVC, una técnica adicional que está revisándose es usar información de movimiento (el vector de movimiento, la información de imagen de referencia y el modo de predicción inter-imágenes para identificar la predicción directa/inversa/bidireccional) de un bloque adyacente a un bloque de predicción objetivo que sirve como objetivo de predicción, en el momento de generar la señal predicha del bloque de predicción dividida de esta manera. Esta técnica de predicción se denomina fusión de bloques y se caracteriza por permitir una codificación eficiente de información de movimiento. (A) de la figura 2 es un dibujo que ilustra esquemáticamente bloques adyacentes en la fusión de bloques con el bloque T1 de predicción generado mediante división vertical del bloque 400 de codificación. La señal predicha del bloque T1 de predicción se genera usando 1) información de movimiento del bloque A adyacente, 2) información de movimiento del bloque B adyacente, o 3) información de movimiento detectada en coincidencia de bloques. Por ejemplo, cuando un codificador selecciona la información de movimiento del bloque A adyacente, el codificador establece en primer lugar información de identificación de fusión (merge_flag) indicativa del uso de información de movimiento del bloque adyacente a “merge_flag=1” y transmite la información de identificación de fusión (merge_flag) a un decodificador. En segundo lugar, el codificador establece información de selección de bloque de fusión (merge_flag_left) indicativa del uso del bloque A adyacente a partir del bloque A adyacente y el bloque B adyacente, a “merge_flag_left=1” y transmite la información de selección de bloque de fusión (merge_flag_left) al decodificador. El decodificador, que recibe los dos fragmentos de información, puede identificar que la señal predicha del bloque de predicción objetivo debe generarse usando la información de movimiento del bloque A adyacente. De manera similar, cuando el decodificador recibe “merge_flag=1” y “merge_flag_left=0” (selección del bloque B adyacente), puede identificar que la señal predicha del bloque de predicción objetivo debe generarse usando la información de movimiento del bloque B adyacente; cuando recibe “merge_flag=0”, puede identificar que debe recibir además la información de movimiento a partir del codificador, y restaurar la información de movimiento del bloque de predicción objetivo. La fusión de bloques descrita en el presente documento se describe en el documento no de patente 1.
En la predicción inter-imágenes en las normas tales como MPEG-1, 2 y MPEG-4, cada imagen se divide en un conjunto de bloques rectangulares sin un solapamiento entre los mismos y se asocia un vector de movimiento con cada uno de los bloques. El vector de movimiento es uno obtenido mediante búsqueda de movimiento para cada bloque y representa un desplazamiento horizontal y un desplazamiento vertical de un bloque actual a partir de un segundo bloque usado para la predicción de la señal de imagen del bloque actual.
El documento de patente 4 a continuación describe un método para llevar a cabo la predicción con compensación de movimiento con una precisión superior en situaciones en las que existe un límite de movimiento en una dirección oblicua en un bloque. Este método es para dividir adicionalmente un bloque en subdivisiones no rectangulares y realizar predicción con compensación de movimiento para cada una de las subdivisiones.
El documento de patente 5 a continuación describe un método de división adicional de un bloque en pequeñas subdivisiones rectangulares y realización de predicción con compensación de movimiento para cada una de las subdivisiones. En este método, para codificar un vector de movimiento de una subdivisión objetivo de procesamiento, se genera un predictor de vector de movimiento a partir de un vector de movimiento de un bloque que está en contacto con la subdivisión objetivo de procesamiento y ubicado antes en un orden de procesamiento con respecto a la subdivisión, y sólo se codifica una diferencia entre el vector de movimiento de la subdivisión objetivo de procesamiento y el predictor de vector de movimiento, es decir, un vector de movimiento diferencial. En este método, si la subdivisión objetivo de procesamiento no tiene ningún contacto con un bloque anterior en el orden de procesamiento, el predictor de vector de movimiento de la subdivisión objetivo de procesamiento se genera a partir de un vector de movimiento de otra subdivisión anterior en el orden de procesamiento en el bloque que incluye la subdivisión objetivo de procesamiento.
Lista de referencias
Bibliografía de patentes
Documento de patente 1: patente estadounidense n.° 6.765.964
Documento de patente 2: patente estadounidense n.° 7.003.035
Documento de patente 3: patente estadounidense n.° 6.259.739
Documento de patente 4: solicitud de patente japonesa abierta a consulta por el público n.° 2005-277968
Documento de patente 5: solicitud de patente japonesa abierta a consulta por el público n.° 2009-246972
Bibliografía no de patentes
Documento no de patente 1: Test Model under Consideration, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, 1ra reunión: Dresde, DE, 15-23 de abril de 2010, documento: JCTVC-A205;
Documento no de patente 2: DE FORNI R ET AL: “On the Benefits of Leaf Merging in Quad-Tree Motion Models”, IMAGE PROCESSING, 2005. ICIP 2005. IEEE INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, EE.UU., IEEE, vol. 2, 11 de septiembre de 2005 (11-09-2005), páginas 858-861, XP010851189, DOI: 10.1109/ICIP.2005.1530191, ISBN: 978-0-7803-9134-5
Documento no de patente 3: WINKEN (FRAUNHOFER HHI) M ET AL: “Video coding technology proposal by Fraunhofer HHI”, 1ra reunión de JCT-VC; 15-4-2010 -23-4-2010; Dresde; (JOINTCOLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/ SC29/WG11 AND ITU-TSG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/ JCTVC-SITE/,, n.° JCTVC-A116, 24 de abril de 2010 (24-04-2010), XP030007557, ISSN: 0000-0049
Sumario de la invención
Problema técnico
En el documento no de patente 1 anterior, los candidatos para información de movimiento que va a usarse en la fusión de bloques de una pluralidad de bloques de predicción resultantes de la división de un bloque de codificación objetivo que sirve como objetivo de codificación se seleccionan mediante el mismo método, independientemente de los bloques de predicción y situaciones circundantes. Por este motivo, por ejemplo tal como se muestra en la figura (B) de la figura 2, los candidatos para información de movimiento en la generación de la señal predicha del bloque T2 de predicción incluyen la información de movimiento del bloque T1 de predicción en el mismo bloque de codificación. El tipo de división en bloques de predicción que consiste en el bloque T1 de predicción y el bloque T2 de predicción se prepara suponiendo que las señales predichas de los dos bloques se generan usando diferentes fragmentos de información de movimiento. Por tanto, no resulta favorable que la información de movimiento del bloque T1 de predicción se incluya en los candidatos para información de movimiento del bloque T2 de predicción. Concretamente, puede dar como resultado una codificación ineficiente.
Por tanto, un objetivo de la presente invención es, en algunos aspectos, proporcionar un dispositivo de decodificación predictiva de imágenes, y un método de decodificación predictiva de imágenes en los que candidatos para información de movimiento que va a usarse en la generación de la señal predicha del bloque de predicción objetivo se seleccionan basándose en información de predicción previamente codificada o previamente decodificada (información de movimiento y tipo de división en bloques de predicción) del bloque de codificación objetivo y bloques de codificación circundantes, para suprimir la aparición de codificación ineficiente. Concretamente, en estos aspectos, el objetivo de la presente invención es proporcionar el dispositivo de decodificación predictiva de imágenes y método de decodificación predictiva de imágenes capaces de lograr una mejora en la eficiencia de codificación.
Además, están los métodos de llevar a cabo la predicción con compensación de movimiento para cada una de las subdivisiones obtenidas mediante división de un bloque objetivo de procesamiento, tal como se describe en el documento de patente 4 o el documento de patente 5. En esta predicción con compensación de movimiento, es preferible generar el predictor de vector de movimiento para cada subdivisión, basándose en un vector de movimiento de un bloque anterior en el orden de procesamiento con respecto a una subdivisión objetivo de procesamiento, y codificar únicamente el vector de movimiento diferencial entre el vector de movimiento de la subdivisión y el predictor de vector de movimiento, en cuanto a la cantidad de código.
La figura 23 es un dibujo para explicar la predicción con compensación de movimiento. Tal como se muestra en la figura 23, un bloque P objetivo de procesamiento puede tener una subdivisión SP1 en contacto con al menos un bloque CP anterior en un orden de procesamiento con respecto al bloque P, y una subdivisión SP2 que no tiene ningún contacto con el bloque CP. Un vector V2 de movimiento de tal subdivisión SP2 se codifica tal cual, sin el uso del predictor de vector de movimiento, en el método descrito en el documento de patente 4. Este método es equivalente a un método de establecimiento del predictor de vector de movimiento a un vector nulo.
Por otro lado, en el método descrito en el documento de patente 5, se genera un predictor de vector de movimiento de la subdivisión SP2 a partir del vector V1 de movimiento de la subdivisión SP1 que es otra subdivisión en el bloque P y que es anterior en el orden de procesamiento con respecto a la subdivisión SP2. Sin embargo, originalmente se considera que el vector de movimiento de la subdivisión SP1 y el vector de movimiento de la subdivisión SP2 son diferentes uno de otro. Por tanto, el método descrito en el documento de patente 5 puede no lograr codificar de manera
eficiente el vector de movimiento de la subdivisión SP2.
El documento no de patente 2 divulga la determinación de candidatos de fusión de vectores de movimiento.
El documento no de patente 3 propone un algoritmo de codificación de vídeo basándose en un enfoque híbrido, que usa la predicción espacial y temporal (con compensación de movimiento), seguida de codificación de transformada basada en de DCT del residuo, y codificación por entropía de los coeficientes de transformada y los otros parámetros de codificación.
Solución al problema
La presente invención se refiere a la decodificación predictiva de imágenes.
Un método de codificación predictiva de imágenes según la presente invención incluye las características según la reivindicación 1.
Un dispositivo de decodificación predictiva de imágenes según la presente invención incluye las características según la reivindicación 2.
Según la presente invención puede decodificarse una imagen a partir de los datos comprimidos generados mediante codificación predictiva de imágenes.
Efectos ventajosos de la invención
El dispositivo de decodificación predictiva de imágenes y el método de decodificación predictiva de imágenes la presente invención proporcionan el efecto de una codificación más eficiente de información de movimiento porque el candidato para información de movimiento que va a usarse en la generación de la señal predicha del bloque de predicción objetivo puede seleccionarse basándose en la información circundante previamente codificada o previamente decodificada.
Los siguientes ejemplos se refieren a aspectos adicionales de la presente divulgación.
Un dispositivo de decodificación predictiva de imágenes incluye un medio de análisis de datos que extrae a partir de datos comprimidos de una imagen: datos codificados de información de predicción para indicar un método de predicción que va a usarse en la predicción de una señal de una región objetivo que sirve como un objetivo de decodificación, datos codificados de una señal predicha de la región objetivo, y datos codificados de una señal residual. Los datos comprimidos de la imagen resultan a partir de la división en una pluralidad de regiones y la codificación de la región objetivo. Los medios de decodificación de información de predicción decodifican los datos codificados de la información de predicción para restaurar un tipo de división en bloques de predicción e información de movimiento, el tipo de división en bloques de predicción indica un número de regiones de predicción y formas de región de las regiones de predicción, en el que las regiones de predicción son regiones subdivididas de la región objetivo, y la información de movimiento se usa para la adquisición de cada una de una pluralidad de señales predichas de las regiones de predicción respectivas a partir de una señal previamente reconstruida. Los medios de generación de señal predicha generan la señal predicha de la región objetivo basándose en la información de predicción asociada con la región objetivo. Los medios de restauración de señal residual restauran una señal residual reconstruida de la región objetivo a partir de los datos codificados de la señal residual. Y los medios de grabación suman la señal predicha a la señal residual reconstruida para restaurar una señal de píxeles de la región objetivo, y almacenan la señal de píxeles como la señal previamente reconstruida, en el que el medio de decodificación de información de predicción incluye información de medios de almacenamiento de predicción almacenan información de predicción previamente decodificada de la región objetivo, y los medios de decodificación de información de predicción decodifican además el tipo de división en bloques de predicción de la región objetivo y almacenan el tipo de división en bloques de predicción en los medios de almacenamiento de información de predicción. Los medios de decodificación de información de predicción seleccionan además un candidato para información de movimiento que va a usarse en la generación de una señal predicha de una región de predicción objetivo que sirve como siguiente región de predicción, basándose el candidato para información de movimiento seleccionado en: la información de predicción de una región adyacente a la región objetivo, un número de regiones de predicción previamente decodificadas en la región objetivo, y la información de predicción previamente decodificada de la región objetivo, en el que el candidato para información de movimiento se selecciona a partir de información de movimiento previamente decodificada de una región adyacente a la región de predicción objetivo. Y según el número de candidatos para información de movimiento seleccionado, los medios de decodificación de información de predicción decodifican además información de bloque de fusión usando el candidato seleccionado para información de movimiento y la información de movimiento, o decodifican o bien uno de la información de bloque de fusión o bien la información de movimiento, en el que la información de bloque de fusión es indicativa de la generación de la señal predicha de la región de predicción objetivo. Los medios de decodificación de información de predicción almacenan además la información de movimiento que va a usarse en la generación de la señal predicha de la región de predicción objetivo en los medios de almacenamiento de información
de predicción. El dispositivo de decodificación predictiva de imágenes mencionado en este párrafo proporciona un primer ejemplo.
Los medios de decodificación de información de predicción pueden seleccionar además el candidato para información de movimiento de la región de predicción objetivo que sirve como la siguiente región de predicción a partir de la información de movimiento previamente decodificada de la región adyacente a la región de predicción objetivo. El candidato para información de movimiento puede seleccionarse basándose en el número de regiones de predicción previamente decodificadas en la región objetivo, el tipo de división en bloques de predicción de la región objetivo, y un tipo de división en bloques de predicción de la región adyacente a la región objetivo. La característica mencionada en este párrafo en combinación con el primer ejemplo proporcionan un segundo ejemplo.
Los medios de decodificación de información de predicción pueden seleccionar además el candidato para información de movimiento que va a usarse en la generación de la señal predicha de la región de predicción objetivo que sirve como la siguiente región de predicción basándose en el número de regiones de predicción previamente decodificadas en la región objetivo y el tipo de división en bloques de predicción de la región objetivo, en los que el candidato para información de movimiento puede seleccionarse a partir de la información de movimiento previamente decodificada de la región adyacente a la región de predicción objetivo. Los medios de decodificación de información de predicción pueden seleccionar además información de movimiento de una región adyacente a la región de predicción objetivo como el candidato para información de movimiento de la región de predicción objetivo cuando la región objetivo se divide en dos regiones de predicción y la región de predicción objetivo es una región de predicción que va a decodificarse en segundo lugar en la región objetivo, en los que la región adyacente a la región de predicción objetivo no está incluida en la región objetivo. La característica mencionada en este párrafo en combinación con el primer ejemplo proporcionan un tercer ejemplo.
Los medios de decodificación de información de predicción pueden seleccionar además el candidato para información de movimiento que va a usarse en la generación de la señal predicha de la región de predicción objetivo que sirve como la siguiente región de predicción basándose en: el número de regiones de predicción previamente decodificadas en la región objetivo, el tipo de división en bloques de predicción de la región objetivo, la región de movimiento previamente decodificada en la región objetivo, y la información de movimiento de la región adyacente a la región objetivo, en los que el candidato para información de movimiento puede seleccionarse a partir de la información de movimiento previamente decodificada de la región adyacente a la región de predicción objetivo. Y los medios de decodificación de información de predicción pueden determinar además que la información de movimiento de la región adyacente a la región de predicción objetivo no se usa en la generación de la señal predicha de la región de predicción objetivo, y decodificar la información de movimiento cuando la región objetivo se divide en dos regiones de predicción. La región de predicción objetivo es una región de predicción que va a decodificarse en segundo lugar en la región objetivo, y la información de movimiento de la región de predicción decodificada en primer lugar en la región objetivo es la misma que la información de movimiento de una región adyacente a la región de predicción objetivo que no está incluida en la región objetivo. La característica mencionada en este párrafo en combinación con el primer ejemplo proporcionan un cuarto ejemplo.
Un dispositivo de decodificación de vídeo incluye medios de decodificación para decodificar datos comprimidos para generar una señal residual reconstruida de una división objetivo de procesamiento en una imagen, un vector de movimiento diferencial de la división objetivo de procesamiento, e información de forma para especificar formas de una pluralidad de subdivisiones en la división objetivo de procesamiento. Predicción de movimiento significa generar un predictor de vector de movimiento de la división objetivo de procesamiento, basándose en la información de forma y un vector de movimiento de una región parcial anteriormente procesada, siendo la región parcial anteriormente procesada una división o una subdivisión anterior en un orden de procesamiento a la división objetivo de procesamiento. Suma de vectores significa sumar el predictor de vector de movimiento generado mediante el medio de predicción de movimiento, al vector de movimiento diferencial generado mediante los medios de decodificación, y generar un vector de movimiento de la división objetivo de procesamiento. Generación de señal predicha significa generar una señal predicha de la división objetivo de procesamiento a partir de una señal de imagen previamente reconstruida basándose en el vector de movimiento de la división objetivo de procesamiento. Suma significa sumar la señal predicha a la señal residual reconstruida generada mediante los medios de decodificación para generar una señal de imagen reconstruida. Y almacenamiento significa almacenar la señal de imagen reconstruida como una señal de imagen previamente reconstruida, en el que cuando una subdivisión objetivo de procesamiento en la división objetivo de procesamiento no está en contacto con una división anterior en el orden de procesamiento a la subdivisión objetivo de procesamiento, el medio de predicción de movimiento genera además un predictor de vector de movimiento de la subdivisión objetivo de procesamiento, basándose en un vector de movimiento de una región parcial anteriormente procesada que pertenece o bien a un dominio que también contiene la subdivisión objetivo de procesamiento o bien otro dominio. El dominio y el otro dominio se dividen mediante una línea de extensión de un límite entre la subdivisión objetivo de procesamiento y otra subdivisión en la división objetivo de procesamiento. El dispositivo de decodificación de vídeo mencionado en este párrafo proporciona un quinto ejemplo.
Breve descripción de los dibujos
La figura 1 es un diagrama de bloques que muestra un dispositivo de codificación predictiva de imágenes según una
realización.
La figura 2 es un diagrama esquemático para explicar candidatos para información de movimiento en la fusión de bloques convencional.
La figura 3 es un diagrama esquemático para explicar candidatos para información de movimiento en fusión de bloques según una realización.
La figura 4 es un diagrama de flujo para ilustrar un procedimiento de procesamiento de un codificador de información de predicción mostrado en la figura 1.
La figura 5 es un diagrama de flujo que muestra un procedimiento de un método de codificación predictiva de imágenes del dispositivo de codificación predictiva de imágenes mostrado en la figura 1.
La figura 6 es un diagrama de bloques que muestra un dispositivo de decodificación predictiva de imágenes según una realización.
La figura 7 es un diagrama de flujo para ilustrar un procedimiento de procesamiento de un decodificador de información de predicción mostrado en la figura 6.
La figura 8 es un diagrama de flujo que muestra un procedimiento de un método de decodificación predictiva de imágenes del dispositivo de decodificación predictiva de imágenes mostrado en la figura 6.
La figura 9 es un primer dibujo esquemático para explicar procedimientos que usan información de movimiento de una pluralidad de bloques adyacentes, adyacentes a un bloque de predicción objetivo, como información de movimiento del bloque de predicción objetivo.
La figura 10 es un segundo dibujo esquemático para explicar procedimientos que usan información de movimiento de una pluralidad de bloques adyacentes, adyacentes a un bloque de predicción objetivo, como información de movimiento del bloque de predicción objetivo.
La figura 11 es un diagrama de flujo para ilustrar un procedimiento que usa información de movimiento de una pluralidad de bloques adyacentes, adyacentes a un bloque de predicción objetivo, como información de movimiento del bloque de predicción objetivo.
La figura 12 es un tercer dibujo esquemático para explicar procedimientos que usan información de movimiento de una pluralidad de bloques adyacentes, adyacentes a un bloque de predicción objetivo, como información de movimiento del bloque de predicción objetivo.
La figura 13 es un segundo ejemplo de un diagrama de flujo para ilustrar un procedimiento que usa información de movimiento de una pluralidad de bloques adyacentes, adyacentes a un bloque de predicción objetivo, como información de movimiento del bloque de predicción objetivo.
La figura 14 es un segundo ejemplo de un diagrama esquemático para explicar candidatos para información de movimiento en fusión de bloques según una realización.
La figura 15 es un tercer ejemplo de un diagrama esquemático para explicar candidatos para información de movimiento en fusión de bloques según una realización.
La figura 16 es un diagrama de bloques que muestra un programa capaz de ejecutar el método de codificación predictiva de imágenes según una realización.
La figura 17 es un diagrama de bloques que muestra un programa capaz de ejecutar el método de decodificación predictiva de imágenes según una realización.
La figura 18 es un dibujo que muestra una configuración de hardware de un ordenador para ejecutar un programa grabado en un medio de grabación.
La figura 19 es una vista en perspectiva de un ordenador para ejecutar un programa almacenado en un medio de grabación.
La figura 20 es un diagrama esquemático para explicar tipos de división en bloques de predicción de bloques de codificación.
La figura 21 es un diagrama esquemático sobre un procedimiento de estimación de movimiento (A) y un procedimiento de coincidencia de molde (B) en predicción inter-imágenes.
La figura 22 es un diagrama esquemático para explicar el método de predicción intra-imagen convencional.
La figura 23 es un dibujo para explicar la predicción con compensación de movimiento.
La figura 24 es un dibujo que muestra esquemáticamente una configuración de un dispositivo de codificación de vídeo según una realización.
La figura 25 es un dibujo para explicar la generación de subdivisiones.
La figura 26 es un dibujo que muestra una configuración de un predictor de movimiento en una realización.
La figura 27 es un diagrama de flujo de un método de codificación de vídeo según una realización.
La figura 28 es un diagrama de flujo que muestra un procedimiento del predictor de movimiento según una realización. La figura 29 es un dibujo que muestra un ejemplo de subdivisiones de una división objetivo y regiones parciales circundantes.
La figura 30 es un dibujo que muestra otro ejemplo de subdivisiones de un bloque objetivo y regiones parciales circundantes.
La figura 31 es un dibujo que muestra todavía otros ejemplos de subdivisiones de un bloque objetivo y regiones parciales circundantes.
La figura 32 es un dibujo que muestra todavía otro ejemplo de subdivisiones de un bloque objetivo y una región parcial circundante.
La figura 33 es un dibujo que muestra todavía otro ejemplo de subdivisiones de un bloque objetivo y regiones parciales circundantes.
La figura 34 es un dibujo que muestra esquemáticamente una configuración de un dispositivo de decodificación de vídeo según una realización.
La figura 35 es un dibujo que muestra una configuración de un predictor de movimiento según una realización. La figura 36 es un diagrama de flujo de un método de decodificación de vídeo según una realización.
La figura 37 es un diagrama de flujo que muestra un procedimiento del predictor de movimiento según una realización. La figura 38 es un dibujo que muestra una configuración de un programa de codificación de vídeo según una realización.
La figura 39 es un dibujo que muestra una configuración de un programa de decodificación de vídeo según una realización.
Descripción de realizaciones
A continuación se describirá en detalle una variedad de realizaciones con referencia a los dibujos adjuntos. En la descripción de los dibujos, elementos idénticos o equivalentes se designarán mediante los mismos signos de referencia, sin descripción redundante.
La figura 1 es un diagrama de bloques que muestra un dispositivo 100 de codificación predictiva de imágenes según una realización. Este dispositivo 100 de codificación predictiva de imágenes está dotado de un terminal 101 de entrada, un divisor 102 en bloques, un generador 103 de señal predicha, una memoria 104 de tramas, un restador 105, un transformador 106, un cuantificador 107, un cuantificador 108 inverso, un transformador 109 inverso, un sumador 110, un codificador 111 de coeficientes de transformada cuantificados, un terminal 112 de salida, un selector 113 de tipo de división en bloques de predicción, un estimador 114 de información de movimiento, una memoria 115 de información de predicción y un codificador 116 de información de predicción.
El transformador 106, el cuantificador 107 y el codificador 111 de coeficientes de transformada cuantificados funcionan como medios de codificación de señal residual y el cuantificador inverso y el transformador inverso funcionan como medios de restauración de señal residual. El selector 113 de tipo de división en bloques de predicción y el estimador 114 de información de movimiento funcionan como medios de estimación de información de predicción, y la memoria 115 de información de predicción y el codificador 116 de información de predicción como medios de codificación de información de predicción.
El terminal 101 de entrada es un terminal que acepta la introducción de una señal de una secuencia de vídeo que consiste en una pluralidad de imágenes.
El divisor 102 en bloques divide una imagen que sirve como objetivo de codificación representado por una señal introducida a partir del terminal 101 de entrada, para dar una pluralidad de regiones (bloques de codificación). En la presente realización la imagen objetivo de codificación se divide en bloques que consisten, cada uno, en 16x16 píxeles, pero la imagen puede dividirse en bloques de cualquier otro tamaño o forma. Además, pueden mezclarse bloques de diferentes tamaños en una trama.
El selector 113 de tipo de división en bloques de predicción divide una región objetivo (bloque de codificación objetivo) que sirve como objetivo de codificación para dar regiones de predicción que van a someterse a un procedimiento de predicción. Por ejemplo, selecciona uno de (A) a (H) en la figura 20 para cada bloque de codificación y subdivide el bloque de codificación según el modo seleccionado. Cada región dividida se denomina región de predicción (bloque de predicción) y cada uno de los métodos de división (A) a (H) en la figura 20 se denomina tipo de división en bloques de predicción. Un método disponible de selección de un tipo de división en bloques de predicción es, por ejemplo, un método de llevar a cabo cada una de las subdivisiones de la señal del bloque de codificación objetivo alimentado a través de la línea L102, llevar realmente a cabo un procesamiento de predicción y procesamiento de codificación descritos a continuación, y seleccionar un tipo de división para minimizar un valor de distorsión de tasa calculado a partir de la potencia de una señal de error de codificación entre la señal original del bloque de codificación y una señal reconstruida, y una cantidad de código necesaria para la codificación del bloque de codificación, pero no se limita al mismo. El tipo de división en bloques de predicción del bloque de codificación objetivo se emite a través de la línea L113a, a través de la línea L113b y a través de la línea L113c a la memoria 115 de información de predicción, al estimador 114 de información de movimiento y al generador 103 de señal predicha, respectivamente.
El estimador 114 de información de movimiento detecta información de movimiento necesaria para la generación de una señal predicha de cada bloque de predicción en el bloque de codificación objetivo. Un método aplicable de generación de la señal predicha (método de predicción) es predicción inter-imágenes y predicción intra-imagen (la predicción intra-imagen no se muestra) tal como se describe en los antecedentes, pero no se limita a las mismas. En el presente documento se supone que la información de movimiento se detecta mediante la coincidencia de bloques mostrada en la figura 21. Una señal original del bloque de predicción objetivo que es un objetivo de predicción puede generarse a partir de la señal original del bloque de codificación alimentado a través de la línea L102a y el tipo de división en bloques de predicción del bloque de codificación objetivo alimentado a través de la línea L113b. Se detecta una señal predicha para minimizar la suma de diferencias absolutas para la señal original del bloque de predicción objetivo a partir de señales de imagen adquiridas a través de la línea L104. En este caso, la información de movimiento contiene un vector de movimiento, un modo de predicción inter-imágenes (predicción directa/inversa/bidireccional), un número de tramas de referencia, y así sucesivamente. La información de movimiento detectada se emite cada una a través de la línea L114 a la memoria 115 de información de predicción y al codificador 116 de información de predicción.
La memoria 115 de información de predicción almacena la información de movimiento y el tipo de división en bloques de predicción de entrada.
El codificador 116 de información de predicción selecciona candidatos para información de movimiento que va a usarse en la fusión de bloques de cada bloque de predicción, codifica por entropía información de predicción del bloque de codificación objetivo, y emite los datos codificados a través de la línea L116 al terminal 112 de salida. Un método aplicable de codificación por entropía incluye la codificación aritmética, la codificación de longitud variable, y así sucesivamente, pero no se limita a las mismas. La información de predicción contiene información de fusión de bloques para la ejecución de fusión de bloques usando información de movimiento de bloques adyacentes al bloque de predicción, además del tipo de división en bloques de predicción del bloque de codificación objetivo y la información de movimiento del bloque de predicción. El procedimiento del codificador 116 de información de predicción se describirá más adelante.
El generador 103 de señal predicha adquiere señales previamente reconstruidas a partir de la memoria 104 de tramas, basándose en la información de movimiento de cada bloque de predicción en el bloque de codificación objetivo alimentado a través de la línea L114 y el tipo de división en bloques de predicción alimentado a través de la línea L113c, y genera una señal predicha de cada bloque de predicción en el bloque de codificación objetivo.
La señal predicha generada en el generador 103 de señal predicha se emite a través de la línea L103 al restador 105 y al sumador 110.
El restador 105 resta la señal predicha para el bloque de codificación objetivo alimentado a través de la línea L103, a partir de la señal de píxeles del bloque de codificación objetivo alimentado a través de la línea L102b después de la división por el divisor 102 en bloques, para generar una señal residual. El restador 105 emite la señal residual obtenida mediante la resta, a través de la línea L105 al transformador 106.
El transformador 106 es una parte que realiza una transformada de coseno discreta en la señal residual de entrada. El cuantificador 107 es una parte que cuantifica coeficientes de transformada obtenidos mediante la transformada de coseno discreta por el transformador 106. El codificador 111 de coeficientes de transformada cuantificados codifica por entropía los coeficientes de transformada cuantificados obtenidos por el cuantificador 107. Los datos codificados se emiten a través de la línea L111 al terminal 112 de salida. Un método aplicable de codificación por entropía incluye la codificación aritmética, la codificación de longitud variable, y así sucesivamente, pero no se limita a las mismas.
El terminal 112 de salida emite los fragmentos de información introducidos a partir del codificador 116 de información de predicción y el codificador 111 de coeficientes de transformada cuantificados, en conjunto al exterior.
El cuantificador 108 inverso realiza la cuantificación inversa en los coeficientes de transformada cuantificados. El transformador 109 inverso realiza una transformada de coseno discreta inversa para restaurar una señal residual. El sumador 110 suma la señal residual restaurada a la señal predicha alimentada a través de la línea L103, para reconstruir una señal del bloque de codificación objetivo, y almacena la señal reconstruida en la memoria 104 de tramas. La presente realización emplea el transformador 106 y el transformador 109 inverso, pero puede emplearse otro procedimiento de transformada en vez de estos transformadores. Además, el transformador 106 y el transformador 109 inverso no siempre son esenciales. De esta manera, para su uso en la generación de la señal predicha del bloque de codificación objetivo posterior, la señal reconstruida del bloque de codificación objetivo sometido a codificación se restaura mediante el procedimiento inverso para almacenarse en la memoria 104 de tramas.
A continuación, se describirá el procedimiento del codificador 116 de información de predicción. El codificador 116 de información de predicción selecciona en primer lugar candidatos para información de movimiento que va a usarse en la fusión de bloques de cada bloque de predicción (candidatos para información de movimiento que va a usarse en la generación de una señal predicha de una región objetivo de predicción) a partir de la información de movimiento de bloques adyacentes al bloque de predicción objetivo. La fusión de bloques se refiere a la generación de la señal predicha del bloque de predicción objetivo usando la información de movimiento de bloques adyacentes. A continuación, el codificador 116 de información de predicción compara la información de movimiento detectada por el estimador 114 de información de movimiento, con los candidatos para información de movimiento así seleccionados, para determinar si debe llevarse a cabo la fusión de bloques. Después, según el número de candidatos para información de movimiento que va a usarse en la fusión de bloques, y la aplicabilidad de la ejecución de la fusión de bloques, el codificador 116 de información de predicción codifica por entropía cualquiera o ambas de la información de fusión de bloques y la información de movimiento, junto con el tipo de división en bloques de predicción. La información de fusión de bloques incluye información de identificación de fusión (merge_flag) para indicar si la señal predicha del bloque de predicción objetivo debe generarse usando información de movimiento de un bloque adyacente, es decir, si debe llevarse a cabo la fusión de bloques, e información de selección de bloque de fusión (merge_flag_left) para indicar cuál debe usarse de entre fragmentos de información de movimiento de dos o más bloques adyacentes al bloque de predicción objetivo para generar la señal predicha del bloque de predicción objetivo.
Si no hay ningún candidato para información de movimiento que va a usarse en la fusión de bloques de cada bloque de predicción, no hay necesidad de codificar estos dos fragmentos de información, es decir, la información de identificación de fusión y la información de selección de bloque de fusión. Si hay un candidato para información de movimiento, se codifica la información de identificación de fusión; si hay dos o más candidatos para información de movimiento y si se lleva a cabo la fusión de bloques, se codifican los dos fragmentos de información, es decir, los fragmentos de información de identificación de fusión y de información de selección de bloque de fusión. Incluso con dos o más candidatos para información de movimiento, no hay necesidad de codificar la información de selección de bloque de fusión si no se lleva a cabo la fusión de bloques.
La figura 3 es un diagrama esquemático para explicar un procedimiento de selección de candidatos para información de movimiento que va a usarse en la fusión de bloques de un bloque de predicción según una realización. La figura 3 muestra un ejemplo de un tipo de división en bloques de predicción para bisecar de manera vertical el bloque de codificación (o para dividir el bloque de codificación en bloques derecho e izquierdo), como en el caso del bloque 301 mostrado en (B) de la figura 20. A continuación se describirá este bloque 301 como un ejemplo, pero la misma descripción también se aplica a los bloques 302, 304, 305, 306 y 307.
La selección de un candidato para información de movimiento se lleva a cabo basándose en la siguiente información.
1) El número de bloques de predicción ya codificados/ya decodificados en el bloque de codificación objetivo
2) El tipo de división en bloques de predicción del bloque de codificación objetivo
3) El tipo de división en bloques de predicción de un bloque adyacente al bloque de predicción objetivo
4) La información de movimiento de los bloques de predicción ya codificados/ya decodificados en el bloque de codificación objetivo
5) La información de movimiento y el modo de predicción (predicción intra-imagen/predicción inter-imágenes) del
bloque adyacente al bloque de predicción objetivo
En el ejemplo de la figura 3, un candidato para información de movimiento que va a usarse en la fusión de bloques se selecciona usando los fragmentos de información de 1), 2), 4) y 5).
En primer lugar, a partir de la información de 2) se encuentra que el número total de bloques de predicción ya codificados/ya decodificados en el bloque 400 de codificación objetivo es 2, los bloques T1 y T2 de predicción, y que el bloque de codificación se divide de manera vertical en dos subdivisiones. A partir de la información de 1) se encuentra que el siguiente bloque de predicción es o bien el bloque T1 de predicción o bien el bloque T2 de predicción.
Cuando el siguiente bloque de predicción es el bloque T1 de predicción (o cuando el número de bloques de predicción ya codificados/ya decodificados en el bloque de codificación objetivo es 0), fragmentos de información de movimiento del bloque A adyacente y del bloque B adyacente se establecen como candidatos para información de movimiento para fusión de bloques (las flechas en el dibujo indican que fragmentos de información de movimiento de los bloques A y B adyacentes son candidatos para información de movimiento que va a usarse en la generación de la señal predicha del bloque T1 de predicción). En este caso, si el bloque A o B adyacente es un bloque generado mediante predicción intra-imagen o un bloque fuera de la imagen, la información de movimiento del bloque puede excluirse de los candidatos para información de movimiento para fusión de bloques (también es posible establecer la información de movimiento a un pseudovalor por defecto; por ejemplo, el vector de movimiento se establece a 0 y el número de tramas de referencia a 0). Si fragmentos de información de movimiento de los dos bloques A y B adyacentes son idénticos entre sí, la información de movimiento de un bloque adyacente puede excluirse de los candidatos.
Cuando el siguiente bloque de predicción es el bloque T2 de predicción (o cuando el número de bloques de predicción ya codificados/ya decodificados en el bloque de codificación objetivo es 1), tal como se muestra en (A) de la figura 3, la información de movimiento del bloque T1 adyacente se excluye de los candidatos para información de movimiento para fusión de bloques. Esto se debe a que el bloque de codificación objetivo se divide originalmente para dar dos bloques suponiendo que las señales predichas del bloque T1 de predicción y el bloque T2 de predicción se generan a partir de diferentes fragmentos de información de movimiento. Concretamente, esto es para evitar una situación tal que la información de movimiento del bloque T2 de predicción llegue a ser igual que la información de movimiento del bloque T1 de predicción. Dado que este procedimiento sólo proporciona un fragmento de información de movimiento para fusión de bloques del bloque T2 de predicción, puede reducirse el coste para la codificación de información de selección de bloque de fusión (una flecha en el dibujo indica que la información de movimiento del bloque D adyacente es aplicable a la generación de la señal predicha del bloque T2 de predicción).
Además, basándose en los fragmentos de información de 4) y 5) anteriores, la información de movimiento del bloque T1 de predicción se compara con la información de movimiento del bloque D adyacente y si estos fragmentos de información de movimiento del bloque T1 de predicción y el bloque D adyacente son idénticos entre sí, la información de movimiento del bloque D adyacente también se excluye de los candidatos para información de movimiento para fusión de bloques tal como se muestra en (B) de la figura 3. El motivo para esto es que si la señal predicha del bloque T2 de predicción se genera usando la información de movimiento del bloque D adyacente, los fragmentos de información de movimiento de los bloques T1 y T2 de predicción se vuelven idénticos entre sí. Debido a este procedimiento, la información de movimiento para fusión de bloques del bloque T2 de predicción se vuelve nula, lo cual puede reducir el coste para la codificación de información de identificación de fusión e información de selección de bloque de fusión.
La figura 4 es un diagrama de flujo del codificador 116 de información de predicción para corroborar el procedimiento de la figura 3.
En primer lugar, el codificador 116 de información de predicción codifica el tipo de división en bloques de predicción del bloque de codificación objetivo y almacena el tipo de división en bloques de predicción en la memoria 115 de información de predicción. Al mismo tiempo, el codificador 116 de información de predicción establece el número N de bloques de predicción en el bloque de codificación objetivo, basándose en el tipo de división en bloques de predicción codificada, y restablece un número de bloque de predicción objetivo i a 0 (etapa S151). A continuación, el codificador 116 de información de predicción determina si un bloque de predicción objetivo es un bloque de predicción que va a codificarse en último lugar en el bloque de codificación objetivo y si el número de bloques de predicción en el bloque de codificación objetivo no es de menos de 2 (etapa S152). Por ejemplo, en el caso de N=2, la decisión es sí con i=1, y el procesamiento avanza a la etapa S157. En el caso de N=4 ((D) de la figura 20), la decisión pasa a ser sí con i=3. Cuando la decisión es no, el procesamiento avanza a la etapa S153. En el caso de la figura 3, el procesamiento avanza a la etapa S153 cuando el bloque de predicción objetivo es el bloque T1 de predicción; el procesamiento avanza a la etapa S157 cuando el bloque de predicción objetivo es el bloque T2 de predicción.
En la etapa S153, se codifica la información de identificación de fusión. La información de identificación de fusión pasa a ser sí (merge_flag=1, generación de la señal predicha del bloque de predicción objetivo usando un candidato para información de movimiento) si la información de movimiento del bloque de predicción objetivo coincide con un candidato para información de movimiento para fusión de bloques; de lo contrario, la información de identificación de fusión pasa a ser no (merge_flag=0, generación de la señal predicha del bloque de predicción objetivo usando la
información de movimiento codificada). A continuación, cuando la información de movimiento del bloque de predicción objetivo coincide con un candidato para información de movimiento para fusión de bloques, el procesamiento avanza a la etapa S164. En la etapa S164, el codificador 116 de información de predicción determina si hay dos candidatos para información de movimiento, y si el número de candidatos para información de movimiento es 2, codifica la información de selección de bloque de fusión y el procesamiento avanza a la etapa S155. Cuando el número de candidatos para información de movimiento es 1, el procesamiento avanza a la etapa S165. Por otro lado, si la información de movimiento del bloque de predicción objetivo no coincide con ningún candidato para información de movimiento para fusión de bloques, el procesamiento avanza a la etapa S156 y el codificador 116 de información de predicción codifica la información de movimiento detectada por el estimador 114 de información de movimiento, y después procede a la etapa S165.
En la etapa S157, el codificador 116 de información de predicción determina si todos los fragmentos de información de movimiento ya codificada del bloque de codificación objetivo coincide con la información de movimiento de un bloque adyacente que no pertenece al bloque de codificación objetivo. La descripción de esta etapa S157 significa que, en el caso de N=2, la información de movimiento del bloque T1 de predicción mostrado en la figura 3 se compara con la información de movimiento del bloque D adyacente. Además, la descripción de la etapa S157 significa que, en el caso de N=4 ((D) de la figura 20), el bloque de predicción objetivo es el bloque dividido inferior derecho y los fragmentos de información de movimiento de los otros tres bloques de predicción (superior izquierdo, superior derecho e inferior izquierdo) se comparan entre sí. Cuando la determinación es sí (o cuando los fragmentos de información de movimiento en comparación coinciden), el número de candidatos para información de movimiento que va a usarse en la fusión de bloques del bloque de predicción objetivo es 0, tal como se muestra en el ejemplo de (B) de la figura 3, y por tanto el codificador 116 de información de predicción codifica la información de movimiento detectada por el estimador 114 de información de movimiento, sin transmitir la información de fusión de bloques, y después el procesamiento avanza a la etapa S165 (etapa S160). Por otro lado, cuando la determinación es no (o cuando los fragmentos de información de movimiento en comparación no coinciden), el procesamiento avanza a la etapa S163. En el caso de N=4, los fragmentos de información de movimiento de los bloques superior derecho e inferior izquierdo en el bloque de codificación objetivo son los de los bloques adyacentes al bloque de predicción objetivo. Por este motivo, la aplicación de fusión de bloques al bloque de predicción objetivo (inferior derecho) con coincidencia de la información de movimiento de los tres bloques de predicción (superior izquierdo, superior derecho e inferior izquierdo) significa que las señales predichas de los cuatro bloques de predicción en el bloque de codificación objetivo se generan todas usando la misma información de movimiento. Por este motivo, en el caso en el que N=4 y en el que los fragmentos de información de movimiento de los tres bloques de predicción (superior izquierdo, superior derecho e inferior izquierdo) son idénticos entre sí, el número de candidatos para información de movimiento del bloque de predicción objetivo (inferior derecho) se establece a 0.
En la etapa S163, el codificador 116 de información de predicción determina si el tipo de división en bloques de predicción del bloque de codificación objetivo es un tipo biseccional, y si la determinación es no, el procesamiento avanza a la etapa S153 (se omite la descripción a continuación en el presente documento). Cuando la determinación en la etapa S163 es sí, el procesamiento avanza a la etapa S158, en la que el codificador 116 de información de predicción codifica la información de identificación de fusión. En este caso, dado que el número de candidatos para información de movimiento que va a usarse en la fusión de bloques del bloque de predicción objetivo es 1, como en el ejemplo de (A) de la figura 3, no hay necesidad de codificar la información de selección de bloque de fusión. A continuación, si la información de movimiento del bloque de predicción objetivo coincide con el candidato para información de movimiento para fusión de bloques, el procesamiento avanza a la etapa S165. Cuando la información de movimiento del bloque de predicción objetivo no coincide con el candidato para información de movimiento para fusión de bloques, el procesamiento avanza a la etapa S160, en la que el codificador 116 de información de predicción codifica la información de movimiento detectada por el estimador 114 de información de movimiento, y después el procesamiento avanza a la etapa S165.
En la etapa S165, la información de movimiento del bloque objetivo se almacena en la memoria 115 de información de predicción. Posteriormente, en la etapa S161 el codificador 116 de información de predicción determina si se completa la codificación para todos los bloques de predicción en el bloque de codificación objetivo (si i=N-1); cuando i=N-1, se termina este procesamiento de codificación de información de predicción del bloque de codificación objetivo; cuando i < N-1, se actualiza el número i en la etapa S162 (i=i+1), y el procesamiento vuelve a la etapa S152 para realizar el procesamiento de codificación de información de movimiento del siguiente bloque de predicción.
Dado que los candidatos para información de movimiento que va a usarse en la fusión de bloques del bloque de predicción pueden seleccionarse por adelantado usando los siguientes fragmentos de información, tal como se describió anteriormente, se vuelve viable transmitir de manera eficiente la información de fusión de bloques.
1) El número de bloques de predicción ya codificados/ya decodificados en el bloque de codificación objetivo
2) El tipo de división en bloques de predicción del bloque de codificación objetivo
4) La información de movimiento de los bloques de predicción ya codificados/ya decodificados en el bloque de codificación objetivo
5) La información de movimiento y modo de predicción (predicción intra-imagen/predicción inter-imágenes) del bloque adyacente al bloque de predicción objetivo
La figura 5 es un diagrama de flujo que muestra un procedimiento de un método de codificación predictiva de imágenes en el dispositivo 100 de codificación predictiva de imágenes según la presente realización. En primer lugar, el divisor 102 en bloques divide una imagen de entrada en 16x16 bloques de codificación (la imagen puede dividirse en bloques de otro tamaño o forma, o pueden mezclarse bloques de diferentes tamaños en la trama). Después, el selector 113 de tipo de división en bloques de predicción y el estimador 114 de información de movimiento determinan el tipo de división en bloques de predicción del bloque de codificación objetivo que sirve como objetivo de codificación y la información de movimiento de cada uno de los bloques de predicción del mismo (etapa S101). A continuación, el codificador 116 de información de predicción codifica la información de predicción (etapa S102, figura 4).
A continuación, el generador 103 de señal predicha genera la señal predicha del bloque de codificación objetivo, basándose en el tipo de división en bloques de predicción del bloque de codificación objetivo y la información de movimiento de cada uno de los bloques de predicción, y una señal residual indicativa de una diferencia entre una señal de píxeles del bloque de codificación objetivo y la señal predicha se transforma y se codifica por el transformador 106, el cuantificador 107 y el codificador 111 de coeficientes de transformada cuantificados (etapa S103). Después se emiten los datos codificados de la información de predicción y los coeficientes de transformada cuantificados a través del terminal 112 de salida (etapa S104).
Para la codificación predictiva del bloque de codificación objetivo posterior, la señal residual codificada se decodifica por el cuantificador 108 inverso y el transformador 109 inverso después de estos procedimientos o en paralelo con estos procedimientos. Después, el sumador 110 suma la señal residual decodificada a la señal predicha para reconstruir una señal del bloque de codificación objetivo. La señal reconstruida se almacena como imagen de referencia en la memoria 104 de tramas (etapa S105). Si no se completa el procesamiento para todos los bloques de codificación objetivo, el procesamiento vuelve a la etapa S101 para llevar a cabo el procesamiento para el siguiente bloque de codificación objetivo. Cuando se completa el procesamiento para todos los bloques de codificación objetivo, se termina el procesamiento (etapa S106).
A continuación, se describirá la decodificación predictiva de imágenes según una realización. La figura 6 es un diagrama de bloques que muestra un dispositivo 200 de decodificación predictiva de imágenes según una realización. Este dispositivo 200 de decodificación predictiva de imágenes está dotado de un terminal 201 de entrada, un analizador 202 de datos, un cuantificador 203 inverso, un transformador 204 inverso, un sumador 205, un terminal 206 de salida, un decodificador 207 de coeficientes de transformada cuantificados, un decodificador 208 de información de predicción, una memoria 104 de tramas, un generador 103 de señal predicha y una memoria 115 de información de predicción.
El cuantificador 203 inverso, el transformador 204 inverso y el decodificador 207 de coeficientes de transformada cuantificados funcionan como medios de decodificación de señal residual. Los medios de decodificación mediante el cuantificador 203 inverso y el transformador 204 inverso pueden implementarse usando cualquier medio distinto de estos. Además, puede excluirse el transformador 204 inverso. La memoria 115 de información de predicción y el decodificador 208 de información de predicción funcionan como medios de decodificación de información de predicción.
El terminal 201 de entrada acepta la introducción de datos comprimidos resultantes de la codificación por compresión mediante el método de codificación predictiva de imágenes anteriormente mencionado. Estos datos comprimidos contienen la información de coeficientes de transformada cuantificados resultante de la transformación, cuantificación y codificación por entropía de la señal residual, para cada uno de una pluralidad de bloques de codificación divididos, y datos codificados de la información de predicción para la generación de la señal predicha de los bloques. La información de predicción en el presente documento contiene la información de fusión de bloques para la ejecución de fusión de bloques usando la información de movimiento como candidatos para fusión de bloques, además del tipo de división en bloques de predicción del bloque codificado objetivo y la información de movimiento de bloques de predicción. Además, la información de movimiento contiene el vector de movimiento, el modo de predicción inter imágenes (predicción directa/inversa/bidireccional), el número de tramas de referencia, y así sucesivamente.
El analizador 202 de datos analiza los datos comprimidos introducidos a través del terminal 201 de entrada, separa los datos sobre el bloque codificado objetivo que sirve como objetivo de decodificación para dar datos codificados de coeficientes de transformada cuantificados y datos codificados de información de predicción, y los emite a través de la línea L202a y a través de la línea L202b al decodificador 207 de coeficientes de transformada cuantificados y al decodificador 208 de información de predicción, respectivamente.
El decodificador 208 de información de predicción selecciona un candidato para información de movimiento que va a usarse en la fusión de bloques de cada bloque de predicción y decodifica por entropía los datos codificados de la información de predicción asociada con el bloque codificado objetivo. La información de predicción decodificada se emite a través de la línea L208a y a través de la línea L208b al generador 103 de señal predicha y a la memoria 115
de información de predicción, respectivamente. La memoria 115 de información de predicción almacena la información de predicción introducida. El procesamiento del decodificador 208 de información de predicción se describirá más adelante.
El generador 103 de señal predicha adquiere señales previamente reconstruidas a partir de la memoria 104 de tramas, basándose en la información de predicción del bloque codificado objetivo alimentada a través de la línea L208a, y genera una señal predicha de cada bloque de predicción en el bloque codificado objetivo. La señal predicha así generada se emite a través de la línea L103 al sumador 205.
El decodificador 207 de coeficientes de transformada cuantificados decodifica por entropía los datos codificados de coeficientes de transformada cuantificados de la señal residual en el bloque codificado objetivo y emite el resultado a través de la línea L207 al cuantificador 203 inverso.
El cuantificador 203 inverso realiza la cuantificación inversa de la información de señal residual del bloque codificado objetivo alimentada a través de la línea L207. El transformador 204 inverso realiza una transformada de coseno discreta inversa de los datos sometidos a cuantificación inversa.
El sumador 205 suma la señal predicha generada por el generador 103 de señal predicha, a la señal residual restaurada por el cuantificador 203 inverso y el transformador 204 inverso, y emite una señal de píxeles reconstruida del bloque codificado objetivo a través de la línea L205 al terminal 206 de salida y a la memoria 104 de tramas. El terminal 206 de salida emite la señal al exterior del dispositivo 200 de decodificación (por ejemplo, a un elemento de visualización).
La memoria 104 de tramas almacena la imagen reconstruida emitida a partir del sumador 205, como imagen de referencia que se almacena como imagen reconstruida para referencia para el siguiente procesamiento de decodificación.
La figura 7 es un diagrama de flujo del decodificador 208 de información de predicción para implementar el procesamiento de la figura 3.
En primer lugar, el decodificador 208 de información de predicción decodifica el tipo de división en bloques de predicción del bloque codificado objetivo y lo almacena en la memoria 115 de información de predicción. Al mismo tiempo, el decodificador 208 de información de predicción establece el número N de bloques de predicción en el bloque codificado objetivo, basándose en el tipo de división en bloques de predicción decodificado, y restablece el número de bloque de predicción objetivo i a 0 (etapa S251). A continuación, el decodificador 208 de información de predicción determina si un bloque de predicción objetivo es un bloque de predicción que va a decodificarse en último lugar en el bloque codificado objetivo y si el número de bloques de predicción en el bloque codificado objetivo no es de menos de 2 (etapa S252). Por ejemplo, en el caso de N=2, la determinación es sí con i=1 y el procesamiento avanza a la etapa S258. En el caso de N=4 ((D) de la figura 20), la determinación es sí con i=3. Cuando la determinación es no, el procesamiento avanza a la etapa S253. En la figura 3, el procesamiento avanza a la etapa S253 cuando el bloque de predicción objetivo es el bloque T1 de predicción; el procesamiento avanza a la etapa S258 cuando el bloque de predicción objetivo es el bloque T2 de predicción.
En la etapa S253, se decodifica la información de identificación de fusión. Cuando la información de identificación de fusión es sí (merge_flag=1) en el presente documento, la información de identificación de fusión indica que la señal predicha del bloque de predicción objetivo debe generarse usando un candidato para información de movimiento. Por otro lado, cuando la información de identificación de fusión es no (merge_flag=0), la señal predicha del bloque de predicción objetivo se genera usando la información de movimiento decodificada. En la siguiente etapa S254, el decodificador 208 de información de predicción determina si la información de identificación de fusión indica la decodificación de información de movimiento, es decir, si el valor de merge_flag es 0. Cuando el valor decodificado de merge_flag es 0, el decodificador 208 de información de predicción decodifica la información de movimiento para la generación de la señal predicha del bloque de predicción objetivo (etapa S257) y después el procesamiento avanza a la etapa S267. Cuando el valor de merge_flag es 1, el decodificador 208 de información de predicción determina en la etapa S266 si el número de candidatos para información de movimiento que va a usarse en la fusión de bloques es 2, y cuando el número de candidatos es 2, se decodifica la información de selección de bloque de fusión y el procesamiento avanza a la etapa S256 (etapa S255). Cuando el número de candidatos para información de movimiento que va a usarse en la fusión de bloques del bloque de predicción objetivo es 1, el procesamiento avanza a la etapa S256. En la etapa S256, cuando el número de candidatos para información de movimiento es 1, el decodificador 208 de información de predicción determina la información de movimiento del mismo como información de movimiento del bloque de predicción objetivo. Cuando el número de candidatos para información de movimiento es 2, el decodificador 208 de información de predicción determina la información de movimiento del bloque adyacente indicado por la información de selección de bloque de fusión, como información de movimiento del bloque de predicción objetivo.
En la etapa S258, el decodificador 208 de información de predicción determina si todos los fragmentos de información de movimiento ya decodificada del bloque codificado objetivo coinciden con la información de movimiento de un bloque
adyacente que no pertenece al bloque codificado objetivo. La descripción de esta etapa S258 significa que, en el caso de N=2, la información de movimiento del bloque T1 de predicción mostrado en la figura 3 se compara con la información de movimiento del bloque D adyacente. Además, la descripción de esta etapa S258 significa que, en el caso de N=4 ((D) de la figura 20), el bloque de predicción objetivo es el bloque dividido inferior derecho y los fragmentos de información de movimiento de los otros tres bloques de predicción (superior izquierdo, superior derecho e inferior izquierdo) se comparan entre sí. Cuando la determinación es sí (o cuando los fragmentos de información de movimiento en comparación coinciden), el número de candidatos para información de movimiento que va a usarse en la fusión de bloques del bloque de predicción objetivo es 0, tal como se muestra en el ejemplo de (B) en la figura 3, el decodificador 208 de información de predicción decodifica la información de movimiento que va a usarse para la generación de la señal predicha del bloque de predicción objetivo, sin decodificar la información de fusión de bloques, y el procesamiento avanza a la etapa s 267 (etapa S262). Por otro lado, cuando la determinación es no (o cuando los fragmentos de información de movimiento en comparación no coinciden), el procesamiento avanza a la etapa S265. En el caso de N=4, los fragmentos de información de movimiento de los bloques superior derecho e inferior izquierdo en el bloque codificado objetivo son los de bloques adyacentes al bloque de predicción objetivo. Por este motivo, la aplicación de fusión de bloques al bloque de predicción objetivo (inferior derecho) cuando hay coincidencia de los fragmentos de información de movimiento de los tres bloques de predicción (superior izquierdo, superior derecho e inferior izquierdo) significa que las señales predichas de los cuatro bloques de predicción en el bloque codificado objetivo se generan todas a partir de la misma información de movimiento. Por este motivo, en el caso en el que N=4 y en el que los fragmentos de información de movimiento de los tres bloques de predicción (superior izquierdo, superior derecho e inferior izquierdo) son idénticos entre sí, el número de candidatos para información de movimiento del bloque de predicción objetivo (inferior derecho) se establece a 0.
En la etapa S265, el decodificador 208 de información de predicción determina si el tipo de división en bloques de predicción del bloque codificado objetivo es un tipo biseccional, y si la determinación es no, el procesamiento avanza a la etapa S253 (se omite la descripción a continuación en el presente documento). Cuando la determinación en la etapa S265 es sí, el procesamiento avanza a la etapa S259, en la que el decodificador 208 de información de predicción decodifica la información de identificación de fusión. En este caso, como en el ejemplo de (A) de la figura 3, el número de candidatos para información de movimiento que va a usarse en la fusión de bloques del bloque de predicción objetivo es 1, y por tanto no hay necesidad de decodificar la información de selección de bloque de fusión.
En la siguiente etapa S260, el decodificador 208 de información de predicción determina si la información de identificación de fusión indica la decodificación de información de movimiento, es decir, si el valor de merge_flag es 0. Cuando el valor decodificado de merge_flag es 0, el decodificador 208 de información de predicción decodifica la información de movimiento para la generación de la señal predicha del bloque de predicción objetivo (etapa S262) y el procesamiento avanza a la etapa S267. Cuando el valor de merge_flag es 1, el procesamiento avanza a la etapa S261. En la etapa S261, dado que el número de candidatos para información de movimiento es 1, tal como se muestra en (A) de la figura 3, el decodificador 208 de información de predicción determina la información de movimiento del bloque D adyacente como información de movimiento del bloque de predicción objetivo y el procesamiento avanza a la etapa S267.
En la etapa S267, la información de movimiento del bloque de predicción restaurado se almacena en la memoria 115 de información de predicción. Posteriormente, en la etapa S263, el decodificador 208 de información de predicción determina si se completa la decodificación para todos los bloques de predicción en el bloque codificado objetivo (si i=N-1); cuando i=N-1, se termina este procesamiento de decodificación de información de predicción del bloque codificado objetivo; cuando i < N-1, se actualiza el número i en la etapa S264 (i=i+1) y el procesamiento vuelve a la etapa S252 para realizar el procesamiento de decodificación de información de movimiento del siguiente bloque de predicción.
A continuación, se describirá, usando la figura 8, un método de decodificación predictiva de imágenes en el dispositivo 200 de decodificación predictiva de imágenes mostrado en la figura 6. En primer lugar, se introducen datos comprimidos a través del terminal 201 de entrada (etapa S201). Después, el analizador 202 de datos realiza el análisis de datos de los datos comprimidos para extraer los datos codificados de la información de predicción y los coeficientes de transformada cuantificados sobre una región objetivo de un objetivo de decodificación. La información de predicción se codifica por el decodificador 208 de información de predicción (S203).
Después de eso, basándose en la información de predicción restaurada, el generador 103 de señal predicha genera la señal predicha del bloque codificado objetivo (S204).
Los coeficientes de transformada cuantificados decodificados por el decodificador 207 de coeficientes de transformada cuantificados se someten a la cuantificación inversa en el cuantificador 203 inverso y a la transformación inversa en el transformador 204 inverso, para generar una señal residual reconstruida (S205). Después, se suma la señal predicha generada a la señal residual reconstruida para generar una señal reconstruida, y se almacena esta señal reconstruida en la memoria 104 de tramas, para la reconstrucción del siguiente bloque codificado objetivo (etapa S206). Si hay siguientes datos comprimidos, se llevan a cabo de manera repetida los procedimientos de S204 a S206 (S207) para procesar todos los datos hasta el último.
Anteriormente se describieron los ejemplos en los que el número de bloques adyacentes al bloque de predicción no es de más de 2, y a continuación se centrará la atención en situaciones en las que el número de bloques adyacentes en contacto con límites de bloques superior e izquierdo a un bloque de predicción no es de menos de 3.
El ejemplo de la figura 3 se refería al caso en el que había dos bloques adyacentes en contacto con un bloque de predicción, pero hay situaciones en las que un bloque de predicción está en contacto con dos o más bloques adyacentes, dependiendo de combinaciones de los tipos de división en bloques de predicción de un bloque de codificación y bloques adyacentes al mismo. La figura 9 muestra un ejemplo en el que tres bloques adyacentes están en contacto con un bloque de predicción. Se describirá el bloque 301 en la figura 20 como ejemplo en el presente documento, pero la misma descripción también se aplica a los bloques 302, 304, 305, 306 y 307.
En (A) y (B) de la figura 9, un bloque 400 codificado objetivo tiene dos bloques de predicción resultantes de la bisección vertical del bloque 400, mientras que un bloque 401 en contacto con el lado izquierdo del bloque T1 de predicción se biseca de manera horizontal (o se divide en dos bloques superior e inferior). Por este motivo, el bloque T1 de predicción está en contacto con tres bloques A, B y C adyacentes. En este caso, cuando se determina de manera preliminar en el lado de codificación y en el lado de decodificación que los bloques adyacentes están representados por dos bloques A y B adyacentes en contacto con la esquina superior izquierda del bloque de predicción objetivo, el número de bloques adyacentes siempre se limita a 2 y por tanto puede aplicarse la técnica descrita anteriormente.
Por otro lado, también es posible emplear una técnica de bisecar de manera prácticamente horizontal el bloque T1 de predicción según el tipo de división en bloques de predicción del bloque 401 adyacente, tal como se muestra en (B) de la figura 9. En este caso, el bloque T1 de predicción objetivo se divide para dar los bloques T1a y T1b y la señal predicha del bloque T1a y la señal predicha de T1b se generan usando dos fragmentos de información de movimiento que pertenecen a los bloques A y C adyacentes, respectivamente.
En este caso, la información de selección de bloque de fusión puede codificarse de manera eficiente sin cambio en la configuración de la información de fusión de bloques, mediante una regla tal que los candidatos seleccionados para información de selección de bloque de fusión son dos fragmentos de la información de movimiento del bloque B adyacente en (A) de la figura 9 y la combinación de fragmentos de información de movimiento de los bloques A y C adyacentes en (B) de la figura 9.
Por otro lado, en el caso en el que se identifica cualquiera de (A) de la figura 9 y (B) de la figura 9 mediante la información de selección de bloque de fusión y en el que se selecciona (B) de la figura 9, también es posible adoptar un método de transmitir además segunda información de identificación de fusión para cada bloque virtual e identificar la generación de la señal predicha del bloque virtual basándose en la información de movimiento del bloque adyacente, o codificación/decodificación de la información de movimiento.
También es posible adoptar un método sin división del bloque T1 de predicción en el que los candidatos seleccionados para la información de selección de bloque de fusión en el bloque T1 de predicción son tres fragmentos de información de movimiento de los bloques A, B y C adyacentes y en el que la información de movimiento que va a usarse en la generación de la señal predicha de T1 se selecciona de los tres fragmentos de información, pero en este caso se necesitan los siguientes cambios.
1. Se añade un flujo de “adquirir el tipo de división en bloques de predicción del bloque adyacente y derivar el número de bloques adyacentes al bloque de predicción” antes de la etapa S164 en la figura 4 y la etapa s 266 en la figura 7.
2. La etapa S164 en la figura 4 y la etapa S266 en la figura 7 se cambian a “¿Hay dos o más fragmentos de información de movimiento de candidatos seleccionados?”
3. La información de selección de bloque de fusión se extiende a información para seleccionar uno de tres o más candidatos.
Este procesamiento de fusión de bloques mostrado en (A) y (B) de la figura 9 puede implementarse extendiendo la etapa S256 en la figura 7 al procesamiento mostrado en la figura 11. En primer lugar, en la etapa S256a, se adquiere el tipo de división en bloques de predicción de un bloque codificado en contacto con el bloque de predicción objetivo. En la siguiente etapa S256b, el número M de bloques de predicción adyacentes a límites de bloque indicados por la información de selección de bloque de fusión decodificada se deriva a partir del tipo de división en bloques de predicción adquirido. Por ejemplo, en el caso de (B) de la figura 9, M=2. Además, en la etapa S256c, se determina si el valor de M es mayor de 1 (M > 1). En el caso de M > 1, el bloque de predicción objetivo se divide en M bloques virtuales, y fragmentos de información de movimiento de M bloques adyacentes se establecen a los M bloques virtuales divididos (también puede contemplarse que se envíe adicionalmente información de identificación de fusión para cada bloque virtual y se determine si debe decodificarse la información de movimiento). En el caso de M=1, la información de movimiento de un bloque adyacente que sirve como candidato para fusión de bloques se establece a la información de movimiento del bloque de predicción objetivo.
Según las figuras 7 y 11 tal como se describió anteriormente, la selección de candidato para información de movimiento
en el ejemplo de la figura 9 se lleva a cabo basándose en los fragmentos de información a continuación.
1) El número de bloques de predicción ya codificados/ya decodificados en el bloque codificado objetivo
2) El tipo de división en bloques de predicción del bloque codificado objetivo
3) El tipo de división en bloques de predicción del bloque adyacente al bloque de predicción objetivo
De esta manera, la información de 3), que no se usa en la selección de candidato para información de movimiento en el ejemplo de la figura 3, se usa en los casos en los que hay tres o más candidatos para información de movimiento.
(C) de la figura 9 muestra un ejemplo en el que el bloque adyacente al lado izquierdo del bloque 400 de predicción se biseca de manera asimétrica. En este caso, también es posible adoptar la técnica de bisecar de manera virtualmente horizontal el bloque T1 de predicción según el tipo de división en bloques de predicción del bloque 401 adyacente (en los bloques T1a y T1b). Concretamente, la señal predicha del bloque de predicción objetivo T1 puede generarse usando una combinación de fragmentos de información de movimiento de bloques A y C adyacentes en (C) de la figura 9 como candidatos para información de movimiento para la fusión de bloques del bloque T1 de predicción.
En casos en los que el tipo de división en bloques de predicción del bloque de codificación es un tipo en el que el número de bloques de predicción es 1 como el bloque 300 en la figura 20, tal como se muestra en (D) a (F) de la figura 9, también es posible aplicar la técnica de dividir de manera virtualmente horizontal el bloque T1 de predicción (bloque 400) según el tipo de división en bloques de predicción del bloque 401 adyacente (división en una pluralidad de bloques dispuestos en la dirección vertical), y generar la señal predicha para cada bloque. Además, en casos en los que el bloque 402 adyacente se divide de manera vertical (en una pluralidad de bloques dispuestos en la dirección horizontal), que no se muestran, es posible aplicar una técnica de dividir de manera virtualmente vertical el bloque T1 de predicción (bloque 400) según el tipo de división en bloques de predicción del bloque 402 adyacente y generar la señal predicha para cada bloque.
En casos en los que un bloque adyacente al bloque de predicción incluye un bloque sometido a predicción intra-imagen (intra), también es posible aplicar la técnica de dividir virtualmente el bloque de predicción y generar la señal predicha, determinando de manera preliminar reglas. (A) a (F) de la figura 10 muestran ejemplos en los que un bloque sometido a predicción intra-imagen (intra) se incluye en una pluralidad de bloques A, C, E y G adyacentes en contacto con el lado izquierdo del bloque de predicción. Basándose en el tipo de división en bloques de predicción del bloque adyacente y el modo de predicción (predicción inter-imagen/intra-imagen) en la información de predicción, el bloque sometido a predicción intra-imagen en el bloque adyacente se integra de manera virtual con un bloque sometido a predicción inter-imagen con información de movimiento (líneas gruesas en el dibujo). En estos ejemplos, un bloque sometido a predicción intra-imagen se integra de manera virtual con un bloque sometido a predicción inter-imagen que está más próximo de la esquina superior izquierda del bloque adyacente y que es el más próximo al bloque intraimagen. Como consecuencia, el bloque T1 de predicción se divide de manera virtual según el número de bloques sometidos a predicción inter-imagen en el bloque adyacente, tal como se muestra en (A) a (F) de la figura 10. De esta manera, incluso en los casos en los que el bloque adyacente incluye un bloque sometido a predicción intra-imagen (intra), la generación de la señal predicha mediante fusión de bloques puede llevarse a cabo usando la información de movimiento del bloque sometido a predicción inter-imagen en el bloque adyacente.
No hay restricciones sobre las reglas de integración del bloque sometido a predicción intra-imagen con el bloque sometido a predicción inter-imagen en el bloque adyacente. Puede contemplarse que se preparan una pluralidad de reglas tal como se describió anteriormente y se selecciona una regla para cada trama o para cada segmento para implementar la codificación. En este caso, la selección de un candidato para información de movimiento se lleva a cabo basándose en los fragmentos de información a continuación.
1) El número de bloques de predicción ya codificados/ya decodificados en el bloque de codificación/codificado objetivo
2) El tipo de división en bloques de predicción del bloque de codificación/codificado objetivo
3) El tipo de división en bloques de predicción del bloque adyacente al bloque de predicción objetivo
5) El modo de predicción (predicción intra-imagen/predicción inter-imagen) del bloque adyacente al bloque de predicción objetivo
La figura 12 muestra ejemplos en los que el bloque 400 de codificación y el bloque 402 adyacente de manera similar se bisecan de manera vertical pero sus formas de división son diferentes. En estos ejemplos, el bloque T1 de predicción (bloque que incluye los bloques T1a y T1b) en (A) de la figura 12 y el bloque T2 de predicción (bloque que incluye los bloques T2a y T2b) en (B) de la figura 12 también tienen tres bloques adyacentes. Para T1 en (A) de la figura 12, el flujo de procesamiento de la figura 11 se aplica a la etapa S256 en la figura 7, mediante lo cual se vuelve factible ejecutar la fusión de bloques estableciendo fragmentos de información de movimiento de bloques Ba y Bb en bloques T1a y T1b respectivos que resultan de la bisección vertical virtual del bloque T1 de predicción. Para t 2 en (B)
de la figura 12, se aplica un flujo de procesamiento de la figura 13 descrita a continuación a la etapa S261 en la figura 7, mediante lo cual se vuelve factible ejecutar la fusión de bloques estableciendo fragmentos de información de movimiento de bloques Ba y Bb en bloques T2a y T2b respectivos que resultan de la bisección vertical virtual del bloque T2 de predicción. En esta ocasión, también es posible adoptar el método de transmitir segunda información de identificación de fusión para cada bloque virtual e identificar o bien generación de la señal predicha del bloque virtual basándose en la información de movimiento del bloque adyacente o bien codificación/decodificación de información de movimiento.
También es posible adoptar un método en el que el bloque T2 de predicción no se divide, dos fragmentos de información de movimiento del bloque Ba y el bloque Bb se definen como candidatos para información de movimiento que van a usarse en la fusión de bloques del bloque T2 de predicción, y uno de los fragmentos de información de movimiento del bloque Ba y el bloque Bb se selecciona como información de movimiento que va a usarse en la generación de la señal predicha de T2, pero en ese caso, es necesario extender el flujo de la figura 7 tal como se describe a continuación.
1. Se suma un flujo de “adquirir el tipo de división en bloques de predicción del bloque adyacente y derivar el número de bloques adyacente al bloque de predicción” después de la etapa S158 en la figura 4 y después de la etapa S259 en la figura 7.
2. La etapa S159 en la figura 4 y la etapa S260 en la figura 7 se cambian a “¿Hay dos o más fragmentos de información de movimiento de candidatos seleccionados?”
3. Una etapa de realizar codificación/decodificación de información de selección de bloques se suma después de la etapa S159 en la figura 4 y después de la etapa S260 en la figura 7.
El flujo de la figura 13 a continuación se describirá. En la figura 13, en primer lugar en la etapa S261a, se adquiere el tipo de división en bloques de predicción del bloque codificado en contacto con el bloque de predicción objetivo. En la siguiente etapa S261b, el número M de bloques de predicción adyacentes a límites de bloque en contacto con el bloque adyacente no perteneciente al bloque codificado objetivo deriva del tipo adquirido de división en bloques de predicción. Por ejemplo, en el caso mostrado en (B) de la figura 12, M=2. Además, se determina en la etapa S261c si el valor de M es mayor de 1 (M > 1). En el caso de M > 1, el bloque de predicción objetivo se divide en M bloques virtuales y se establecen fragmentos de información de movimiento de M bloques adyacentes en los M bloques virtuales divididos (también es posible enviar adicionalmente la información de identificación de fusión para cada bloque virtual y determinar si la información de movimiento va a decodificarse). En el caso de M=1, la información de movimiento del bloque adyacente como candidato para la fusión de bloques se establece como la información de movimiento del bloque de predicción objetivo.
Según las figuras 12 y 13 tal como se describió anteriormente, la selección de un candidato para información de movimiento en el ejemplo de la figura 11 se lleva a cabo basándose en los fragmentos de información a continuación.
1) El número de bloques de predicción ya codificados/ya decodificados en el bloque de codificación/codificado objetivo
2) El tipo de división en bloques de predicción del bloque de codificación/codificado objetivo
3) El tipo de división en bloques de predicción del bloque adyacente al bloque de predicción objetivo
Debe observarse que aunque la figura 11 describió el ejemplo de división vertical, el mismo procesamiento es también aplicable a ejemplos de división horizontal (división en una pluralidad de bloques dispuestos en la dirección vertical) como bloques 306 y 307 en la figura 20.
Es posible adoptar modificaciones adicionales descritas a continuación.
(Candidatos para información de movimiento)
En la descripción anterior, los fragmentos de información de movimiento de bloques en contacto con el lado superior y el lado izquierdo del bloque de predicción se definieron como candidatos para la fusión de bloques, pero también es posible establecer una limitación basándose en los tipos de división en bloques de predicción del bloque de codificación/codificado objetivo y bloques adyacentes, tal como se muestra en (A) y (B) de la figura 14 y (A) de la figura 15. (A) y (B) de la figura 14 muestran ejemplos en los que hay dos bloques adyacentes y en los que la información de movimiento de bloques adyacentes en el lado en contacto con dos o más bloques adyacentes del lado superior y el lado izquierdo del bloque de predicción se excluye de los candidatos para la fusión de bloques. En este caso, no hay necesidad de codificar la información de selección de bloques de fusión, lo que puede reducir la información adicional. Los candidatos para información de movimiento que van a usarse en la fusión de bloques del bloque T1 de predicción en (A) de la figura 14 y el bloque T1 de predicción en (B) de la figura 14 se determina que son fragmentos de información de movimiento del bloque B y el bloque A, respectivamente.
(A) de la figura 15 muestra una técnica de seleccionar automáticamente candidatos para información de movimiento que van a usarse en la fusión de bloques de los bloques T1 y T2 de predicción, basándose en el tipo de división en bloques de predicción del bloque de codificación/codificado objetivo.
(B) de la figura 15 muestra un ejemplo en el que el bloque de predicción al que se aplica la fusión de bloques está limitado según el tipo de división en bloques de predicción del bloque de codificación objetivo y el número de bloques ya codificados/ya decodificados en el bloque de codificación objetivo. En el ejemplo mostrado en la figura 3, cuando la información de movimiento del bloque T1 coincide con la del bloque D, la información de movimiento del bloque D se excluye de los candidatos para información de movimiento que van a usarse en la fusión de bloques del bloque T2; mientras, en el caso mostrado en (A) de la figura 15, sin comparación entre la información de movimiento del bloque T1 y la información de movimiento del bloque D, el bloque D se excluye de los candidatos para la fusión de bloques, basándose en el número de bloques de predicción ya codificados/decodificados en el bloque de codificación/codificado objetivo. De esta manera, el bloque de predicción al que se aplica la fusión de bloques puede estar limitado mediante el número de vectores de movimiento que van a codificarse en el bloque de codificación objetivo.
Además, también es posible imponer una limitación, según los tamaños de bloque de dos bloques adyacentes en contacto con la esquina superior izquierda del bloque de predicción y el tamaño de bloque del bloque de predicción. Por ejemplo, cuando el tamaño del lado derecho del bloque adyacente en contacto con el lado izquierdo del bloque de predicción objetivo es más pequeño que un tamaño preestablecido (por ejemplo, la mitad o la cuarta parte de la longitud del lado izquierdo del bloque de predicción), la información de movimiento del bloque adyacente puede excluirse de los candidatos para la fusión de bloques del bloque de predicción objetivo.
Cuando se establece la limitación en candidatos para información de movimiento tal como se describió anteriormente, la cantidad de código de información de fusión de bloques puede reducirse.
(Selección de candidato para información de movimiento)
La selección de candidato para información de movimiento se lleva a cabo basándose en los fragmentos de información a continuación, pero un método de uso de la información no está limitado a los métodos descritos anteriormente. Los medios para seleccionar los candidatos para información de movimiento usando estos fragmentos de información pueden implementarse mediante las configuraciones de la figura 1 y la figura 6.
1) El número de bloques de predicción ya codificados/ya decodificados en el bloque de codificación/codificado objetivo 2) El tipo de división en bloques de predicción del bloque de codificación/codificado objetivo
3) El tipo de división en bloques de predicción del bloque adyacente al bloque de predicción objetivo
4) La información de movimiento de bloques de predicción ya codificados/ya decodificados en el bloque de codificación/codificado objetivo
5) La información de movimiento y modo de predicción (predicción intra-imagen/predicción inter-imagen) del bloque adyacente al bloque de predicción objetivo
(Codificación de bloque de predicción)
En la descripción descrita anteriormente, la codificación/decodificación de los bloques de predicción en el bloque de codificación se lleva a cabo en un orden de barrido por tramas, pero la selección de candidato para información de movimiento que va a usarse en la fusión de bloques descrita anteriormente es también aplicable a casos en los que los bloques de predicción se codifican/decodifican en cualquier orden. Por ejemplo, en el ejemplo de la figura 3, en el que el bloque T2 de predicción del bloque de codificación/codificado objetivo 400 se codifica/decodifica en primer lugar, el vector de movimiento del bloque T2 de predicción no se incluye como candidato para información de movimiento que va a usarse en la fusión de bloques del bloque T1 de predicción.
(Forma de bloque)
En la descripción descrita anteriormente, las regiones parciales en el bloque de codificación eran siempre rectangulares, pero pueden tener cualquier forma. En este caso, puede incluirse información de forma en la información de predicción del bloque de codificación.
(Transformador y transformador inverso)
El procedimiento de transformación de la señal residual puede llevarse a cabo en un tamaño de bloque fijo, o el procedimiento de transformación puede llevarse a cabo después de que una región objetivo se subdivide según regiones parciales.
(Información de predicción)
En la descripción descrita anteriormente, el método de generación de la señal predicha se describió como predicción inter-imagen (predicción usando el vector de movimiento e información de trama de referencia), pero el método de generación de la señal predicha no está limitado a esto. El procedimiento de generación de señal predicha mencionado anteriormente es también aplicable a la predicción intra-imagen y el método de predicción que incluye compensación de luminancia o similar. En este caso, la información de predicción contiene información de modo, parámetros de compensación de luminancia, etcétera.
En la figura 10, el bloque sometido a predicción intra-imagen en el bloque adyacente se integra de manera virtual con el bloque sometido a predicción inter-imagen, pero también es posible adoptar un método en el que el bloque de predicción se divide de manera virtual, independientemente del modo de predicción del bloque adyacente, y se predicen señales parciales en el bloque de predicción mediante predicción intra-imagen.
(Señal de color)
La descripción anterior no contiene una descripción particular del formato de color, pero el procedimiento de generación de señal predicha también puede llevarse a cabo para señal de color o señal de diferencia de color, independientemente de la señal de luminancia. El procedimiento de generación de señal predicha también puede llevarse a cabo en sincronismo con el procedimiento de señal de luminancia.
(Procedimiento de eliminación de ruido de bloque)
Aunque la descripción anterior no establece nada, la imagen reconstruida puede someterse a un procedimiento de eliminación de ruido de bloque y en ese caso, se prefiere realizar el procedimiento de eliminación de ruido para porciones de límite de regiones parciales. En los casos en los que el bloque de predicción se divide de manera virtual en los ejemplos mostrados en las figuras 9, 10 y 12, el procedimiento de eliminación de ruido de bloque también puede aplicarse a un límite entre bloques divididos de manera virtual.
El método de codificación predictiva de imágenes y el método de decodificación predictiva de imágenes según las realizaciones de la presente invención también pueden proporcionarse almacenados en forma de programas en un medio de grabación. Los ejemplos de medios de grabación incluyen medios de grabación tales como disquetes (floppy disk, marca registrada), CD-ROM, DVD o ROM, o memorias de semiconductor, o similares.
La figura 16 es un diagrama de bloques que muestra módulos de un programa que pueden ejecutar el método de codificación predictiva de imágenes. El programa P100 de codificación predictiva de imágenes está dotado del módulo P101 de división en bloques, el módulo P102 de estimación de información de movimiento, el módulo P103 de generación de señal predicha, el módulo P104 de almacenamiento, el módulo P105 de resta, el módulo P106 de transformada, el módulo P107 de cuantificación, el módulo P108 de cuantificación inversa, el módulo P109 de transformada inversa, el módulo P110 de suma, el módulo P111 de codificación de coeficientes de transformada cuantificados, el módulo P112 de selección de tipo de división de predicción, el módulo P113 de almacenamiento de información de predicción y el módulo P114 de codificación de información de predicción. Las funciones implementadas tras la ejecución de los módulos respectivos mediante un ordenador son iguales a las funciones del dispositivo 100 de codificación predictiva de imágenes mencionado anteriormente. Concretamente, el módulo P101 de división en bloques, el módulo P102 de estimación de información de movimiento, el módulo P103 de generación de señal predicha, el módulo P104 de almacenamiento, el módulo P105 de resta, el módulo P106 de transformada, el módulo P107 de cuantificación, el módulo P108 de cuantificación inversa, el módulo P109 de transformada inversa, el módulo P110 de suma, el módulo P111 de codificación de coeficientes de transformada cuantificados, el módulo P112 de selección de tipo de división de predicción, el módulo P113 de almacenamiento de información de predicción y el módulo P114 de codificación de información de predicción hacen que el ordenador ejecute las mismas funciones que el divisor 102 en bloques, el estimador 114 de información de movimiento, el generador 103 de señal predicha, la memoria 104 de tramas, el restador 105, el transformador 106, el cuantificador 107, el cuantificador 108 inverso, el transformador 109 inverso, el sumador 110, el codificador 111 de coeficientes de transformada cuantificados, el selector 113 de tipo de división en bloques de predicción, la memoria 115 de información de predicción y el codificador 116 de información de predicción, respectivamente.
La figura 17 es un diagrama de bloques que muestra módulos de un programa que pueden ejecutar el método de decodificación predictiva de imágenes. El programa P200 de decodificación predictiva de imágenes está dotado del módulo P201 de decodificación de coeficientes de transformada cuantificados, el módulo P202 de decodificación de información de predicción, el módulo P113 de almacenamiento de información de predicción, el módulo P206 de cuantificación inversa, el módulo P207 de transformada inversa, el módulo P208 de suma, el módulo P103 de generación de señal predicha y el módulo P104 de almacenamiento.
Las funciones implementadas tras la ejecución de los módulos respectivos son las mismas que las de los componentes respectivos del dispositivo 200 de decodificación predictiva de imágenes mencionado anteriormente. Concretamente, el módulo P201 de decodificación de coeficientes de transformada cuantificados, el módulo P202 de decodificación
de información de predicción, el módulo P113 de almacenamiento de información de predicción, el módulo P206 de cuantificación inversa, el módulo P207 de transformada inversa, el módulo P208 de suma, el módulo P103 de generación de señal predicha y el módulo P104 de almacenamiento hacen que el ordenador ejecute las mismas funciones que el decodificador 207 de coeficientes de transformada cuantificados, el decodificador 208 de información de predicción, la memoria 115 de información de predicción, el cuantificador inverso 203, el transformador 204 inverso, el sumador 205, el generador 103 de señal predicha y la memoria 104 de tramas, respectivamente.
El programa P100 de codificación predictiva de imágenes o el programa P200 de decodificación predictiva de imágenes configurados tal como se describió anteriormente se almacena en un medio SM de grabación y se ejecuta mediante el ordenador descrito a continuación.
La figura 18 es un dibujo que muestra una configuración de hardware del ordenador para ejecutar los programas grabados en el medio de grabación y la figura 19 una vista en perspectiva del ordenador para ejecutar los programas almacenados en el medio de grabación. Los equipos para ejecutar los programas almacenados en el medio de grabación no están limitados a ordenadores, sino que pueden ser un reproductor de DVD, un decodificador, un teléfono móvil, o similar dotado de una CPU y configurado para realizar procesamiento y control basado en software.
Tal como se muestra en la figura 19, el ordenador C10 está dotado de un dispositivo C12 de lectura tal como una unidad de disquete, una unidad de CD-ROM o una unidad de disco de DVD, una memoria (RAM) C14 de trabajo en la que reside un sistema operativo, una memoria C16 para almacenar programas almacenados en el medio SM de grabación, un dispositivo C18 de monitor tal como un elemento de visualización, un ratón C20 y un teclado C22 como dispositivos de entrada, un dispositivo C24 de comunicación para la transmisión y recepción de datos y otros, y una CPU C26 para controlar la ejecución de programas. Cuando el medio SM de grabación se pone en el dispositivo C12 de lectura, el ordenador C10 se vuelve accesible para el programa de codificación/decodificación predictiva de imágenes almacenado en el medio SM de grabación, a través del dispositivo C12 de lectura, y se vuelve capaz de funcionar como el dispositivo de codificación de imágenes o el dispositivo de decodificación de imágenes según la realización de la presente invención, basándose en el programa de codificación o decodificación de imágenes.
Tal como se muestra en la figura 18, el programa de codificación predictiva de imágenes y el programa de decodificación de imágenes pueden proporcionarse en forma de la señal Cw de datos informáticos superpuesta sobre una onda portadora, a través de una red. En este caso, el ordenador C10 se vuelve capaz de ejecutar el programa de codificación predictiva de imágenes o el programa de decodificación predictiva de imágenes después de que el programa de codificación predictiva de imágenes o el programa de decodificación de imágenes recibido por el dispositivo C24 de comunicación se almacena en la memoria C16.
A continuación se describirá todavía otra realización. La figura 24 es un dibujo que muestra esquemáticamente una configuración de un dispositivo de codificación de vídeo según una realización. El dispositivo 10 de codificación de vídeo mostrado en la figura 24 está dotado del divisor 501 en bloques, el generador 502 de subdivisión, la memoria 503 de tramas, el detector 504 de movimiento, el generador 505 de señal predicha, el predictor 506 de movimiento, el restador 507, el generador 508 de señal residual, el transformador 509, el cuantificador 510, el cuantificador 511 inverso, el transformador 512 inverso, el sumador 513 y el codificador 514 por entropía. Una señal de imagen de entrada (señal de vídeo) alimentada a este dispositivo 10 de codificación de vídeo se compone de una secuencia temporal de señales de imagen de unidades de trama (denominadas a continuación en el presente documento señales de imagen de trama).
El divisor 501 en bloques selecciona de manera secuencial señales de imagen de trama, o imágenes de entrada que sirven como objetivos de codificación de la señal de imagen de entrada alimentada a través de la línea L501. El divisor 501 en bloques divide una imagen de entrada en una pluralidad de divisiones, o bloques. El divisor 501 en bloques selecciona de manera secuencial la pluralidad de bloques como bloques objetivo de codificación y emite una señal de píxeles de cada uno de los bloques objetivo (denominado a continuación en el presente documento una señal de bloque objetivo) a través de la línea L502.
En el dispositivo 10 de codificación de vídeo, se lleva a cabo el procesamiento de codificación descrito a continuación en unidades de bloque. El divisor 501 en bloques puede dividir, por ejemplo, una imagen de entrada en una pluralidad de bloques que tienen, cada uno, 8x8 píxeles. Sin embargo, los bloques pueden tener cualquier tamaño y forma. Los bloques pueden ser, por ejemplo, bloques que tienen, cada uno, 32x16 píxeles o bloques que consisten, cada uno, en 16x64 píxeles.
El generador 502 de subdivisión divide un bloque objetivo alimentado a través de la línea L502, en una pluralidad de subdivisiones. La figura 25 es un dibujo para explicar la generación de subdivisiones. Tal como se muestra en la figura 25, el generador 502 de subdivisión divide el bloque P objetivo en dos subdivisiones SP1 y SP2 mediante una línea recta Ln expresada mediante la expresión lineal de la fórmula (1).
y = mx k (1)
Por ejemplo, el generador 502 de subdivisión puede estar configurado de la siguiente manera: con cambios de los
parámetros m y k, obtiene una señal predicha de la subdivisión SP1 y una señal predicha de la subdivisión SP2, y determina m y k que minimizan un error entre la señal predicha de la subdivisión SP1 y una señal de imagen de la subdivisión s P1 y un error entre la señal predicha de la subdivisión SP2 y una señal de imagen de la subdivisión SP2, como parámetros de la línea recta Ln.
El generador 502 de subdivisión emite los parámetros m y k en la fórmula (1) así determinada, como información de forma para especificar las formas de las subdivisiones en el bloque P objetivo, es decir, como información de forma para especificar las formas de la primera subdivisión SP1 y la segunda subdivisión SP2, a través de la línea L504.
La expresión lineal que expresa la línea recta Ln puede ser una cualquiera. Por ejemplo, la línea recta Ln puede ser una expresada mediante la fórmula (2).
y = -x/tan0 p /sen0 (2)
En este caso, la información de forma es 0 y p .
La información de forma puede ser información indicativa de dos puntos arbitrarios por los que pasa la línea recta Ln, por ejemplo, corta entre la línea recta y los límites del bloque P. El bloque no siempre tiene que dividirse mediante una línea recta, sino que pueden generarse las subdivisiones basándose en un patrón seleccionado de una pluralidad de patrones preparados de antemano. En este caso, información tal como un índice para especificar el patrón seleccionado puede usarse como información de forma.
En la descripción a continuación, se establecen coordenadas con un origen en la posición más arriba y más a la izquierda del bloque objetivo, una subdivisión que incluye el píxel más arriba y más a la izquierda en el bloque P objetivo se define como una primera subdivisión, y el otro como una segunda subdivisión. Sin embargo, se indica que cualquier método de definición es aplicable en el presente documento: por ejemplo, una subdivisión que no incluye la posición del centro en el bloque objetivo puede definirse como una primera subdivisión, y el otro como una segunda subdivisión. En este caso, la información de forma puede ser información de intersección de límites de bloque o información de identificación de patrón.
La memoria 503 de tramas almacena señales de imagen anteriormente reconstruidas alimentadas a través de la línea L505, es decir, señales de imagen de trama que se han codificado en el pasado (que se denominarán a continuación en el presente documento señales de imagen de trama de referencia). La memoria 503 de tramas emite señal de imagen de trama de referencia a través de la línea L506.
El detector 504 de movimiento recibe la señal de bloque objetivo alimentada a través de la línea L502, la información de forma del bloque alimentada a través de la línea L504, y las señales de imagen de trama de referencia alimentadas a través de la línea L506. El detector 504 de movimiento busca señales de imagen en un intervalo predeterminado de las señales de imagen de trama de referencia, para una señal similar a una señal de imagen de una subdivisión que sirve como objetivo de procesamiento, y calcula un vector de movimiento. Este vector de movimiento es una cantidad de desplazamiento espacial entre una región en una señal de imagen de trama de referencia que tiene una señal de píxeles similar a la señal de imagen de la subdivisión que sirve como objetivo de procesamiento, y el bloque objetivo. El detector 504 de movimiento emite el vector de movimiento así calculado, a través de la línea l507.
El detector 504 de movimiento puede estar configurado, al mismo tiempo, también para detectar un vector de movimiento para un bloque objetivo y determinar si va a generarse una señal predicha para cada una de dos subdivisiones que resultan de la división del bloque objetivo. Esta determinación puede ser una determinación tal que si un error entre la señal predicha del bloque objetivo y la señal de imagen del bloque objetivo es más pequeño que los errores entre las señales predichas de dos subdivisiones generadas mediante la división del bloque objetivo, y las señales de imagen de las dos subdivisiones, el bloque objetivo no se divide en las subdivisiones. Cuando se realiza esta determinación, se codifica información indicativa del resultado de la determinación como información de aplicabilidad de división y la información de forma puede codificarse sólo si la información de aplicabilidad de división indica que un bloque objetivo va a dividirse en subdivisiones.
El generador 505 de señal predicha genera la señal predicha de la señal de imagen de la subdivisión que sirve como objetivo de procesamiento, basándose en el vector de movimiento alimentado a través de la línea L507 y la información de forma de bloque alimentada a través de la línea L504, desde la señal de imagen en el intervalo predeterminado de la señal de imagen de trama de referencia alimentada a través de la línea L506.
El generador 505 de señal predicha combina las señales predichas de las subdivisiones respectivas en el bloque objetivo para generar la señal predicha del bloque objetivo. El generador 505 de señal predicha emite la señal predicha así generada, a través de la línea L508. La señal predicha puede generarse mediante predicción intra-imagen, en vez de la predicción inter-imagen.
El predictor 506 de movimiento genera un predictor de vector de movimiento de una subdivisión objetivo de procesamiento en un bloque objetivo, basándose en la información de forma de bloque alimentada a través de la línea
L504, el vector de movimiento alimentado a través de la línea L507, y un vector de movimiento de un bloque anterior en el orden a la subdivisión objetivo de procesamiento o un vector de movimiento de una región parcial ya procesada que es una subdivisión. El predictor 506 de movimiento emite el predictor de vector de movimiento así generado, a través de la línea L509.
El predictor 506 de movimiento puede seleccionar un predictor de vector de movimiento de una pluralidad de candidatos para predictor de vector de movimiento. En este caso, el predictor 506 de movimiento también emite información de indicación para especificar el predictor de vector de movimiento seleccionado, a través de la línea L510. Si los candidatos para predictor de vector de movimiento de la subdivisión objetivo de procesamiento se reducen a uno según una regla predeterminada compartida con el lado de decodificador, puede omitirse la salida de la información de indicación.
El restador 507 resta el predictor de vector de movimiento alimentado a través de la línea L509, del vector de movimiento de la subdivisión objetivo de procesamiento alimentada a través de la línea L507, para generar un vector de movimiento diferencial. El restador 507 emite el vector de movimiento diferencial así generado, a través de la línea L511.
El generador 508 de señal residual resta la señal predicha del bloque objetivo alimentado a través de la línea L508, de la señal de bloque objetivo alimentada a través de la línea L502, para generar una señal residual. El generador 508 de señal residual emite la señal residual así generada, a través de la línea L512.
El transformador 509 realiza la transformación ortogonal de la señal residual alimentado a través de la línea L512, para generar coeficientes de transformada. El transformador 509 emite los coeficientes de transformada así generados, a través de la línea L513. Esta transformación ortogonal puede realizarse, por ejemplo, mediante DCT. Sin embargo, la transformación usada mediante el transformador 509 puede ser cualquier transformación.
El cuantificador 510 cuantifica los coeficientes de transformada alimentados a través de la línea L513, para generar coeficientes de transformada cuantificados. El cuantificador 510 emite los coeficientes de transformada cuantificados así generados, a través de la línea L514.
El cuantificador 511 inverso realiza la cuantificación inversa de los coeficientes de transformada cuantificados alimentados a través de la línea L514, para generar coeficientes de transformada cuantificados de manera inversa. El cuantificador 511 inverso emite los coeficientes de transformada cuantificados de manera inversa así generados, a través de la línea L515.
El transformador 512 inverso realiza la transformación ortogonal inversa de los coeficientes de transformada cuantificados de manera inversa alimentados a través de la línea L515, para generar una señal residual reconstruida. El transformador 512 inverso emite la señal residual reconstruida así generada, a través de la línea L516. La transformación inversa usada mediante el transformador 512 inverso es un procedimiento simétrico con la transformación del transformador 509.
La transformación no es siempre esencial, y el dispositivo de codificación de vídeo no siempre tiene que estar dotado del transformador 509 y el transformador 512 inverso. Asimismo, la cuantificación no es siempre esencial, y el dispositivo de codificación de vídeo no siempre tiene que estar dotado del cuantificador 510 y el cuantificador 511 inverso.
El sumador 513 suma la señal residual reconstruida introducida a través de la línea L516, a la señal predicha del bloque objetivo alimentado a través de la línea L508, para generar una señal de imagen reconstruida. El sumador 513 emite la señal de imagen reconstruida como una señal de imagen anteriormente reconstruida a través de la línea L505.
El codificador 514 por entropía codifica los coeficientes de transformada cuantificados alimentados a través de la línea L514, la información de forma del bloque objetivo alimentado a través de la línea L504, la información de indicación del predictor de vector de movimiento alimentada a través de la línea L510, y el vector de movimiento diferencial alimentado a través de la línea L511. El codificador 514 por entropía multiplexa códigos generados mediante codificación, para generar un flujo comprimido, y luego emite el flujo comprimido a través de la línea L517.
El codificador 514 por entropía puede usar cualquier método de codificación tal como la codificación aritmética o la codificación por longitud de series. El codificador 514 por entropía puede determinar de manera adaptativa una probabilidad de aparición en la codificación aritmética de la información de indicación del predictor de vector de movimiento alimentada a través de la línea L510, basándose en la información de forma del bloque objetivo alimentada a través de la línea L504. Por ejemplo, el codificador 514 por entropía puede establecer un valor alto como probabilidad de aparición de la información de indicación para indicar un vector de movimiento de una región parcial en contacto con una subdivisión objetivo de procesamiento.
La figura 26 es un dibujo que muestra una configuración del predictor de movimiento según una realización. Tal como se muestra en la figura 26, el predictor 506 de movimiento tiene una memoria 5061 de vectores de movimiento, un
generador 5062 de candidato de referencia de movimiento y un generador 5063 de predictor de vector de movimiento.
La memoria 5061 de vectores de movimiento almacena vectores de movimiento de regiones parciales anteriormente procesadas y emite los vectores de movimiento anteriormente codificados a través de la línea L5061, para derivación de un predictor de vector de movimiento de una subdivisión objetivo de procesamiento.
El generador 5062 de candidato de referencia de movimiento genera candidatos para predictor de vector de movimiento a partir de los vectores de movimiento de las regiones parciales alimentados a través de la línea L5061, mediante un método descrito a continuación, basándose en la información de forma alimentada a través de la línea L504. El generador 5062 de candidato de referencia de movimiento emite los candidatos para predictor de vector de movimiento así generados, a través de la línea L5062.
El generador 5063 de predictor de vector de movimiento selecciona un candidato que minimiza la diferencia con respecto al vector de movimiento de la subdivisión objetivo de procesamiento, de los candidatos para predictor de vector de movimiento alimentados a través de la línea L5062. El generador 5063 de predictor de vector de movimiento emite el candidato seleccionado como un predictor de vector de movimiento a través de la línea L509. También emite la información de indicación para especificar el candidato seleccionado, a través de la línea L510.
Si el número de candidatos generado en el generador de candidato de referencia de movimiento se limita a uno, puede omitirse la salida de la información de indicación. No hay restricciones sobre un método para limitar el número de candidatos a uno, sino que puede aplicarse cualquier método, por ejemplo, tal como un método de uso de un valor intermedio de tres candidatos, un método de uso de un promedio de dos candidatos, y un método de definición de un orden prioridad para la selección de uno de una pluralidad de candidatos.
A continuación se describirá el funcionamiento del dispositivo 10 de codificación de vídeo y también se describirá un método de codificación de vídeo según una realización. La figura 27 es un diagrama de flujo del método de codificación de vídeo según una realización.
En una realización, tal como se muestra en la figura 27, el divisor 501 en bloques divide en primer lugar una imagen de entrada en una pluralidad de bloques, en la etapa S501. En la siguiente etapa S502, el generador 502 de subdivisión divide un bloque objetivo en una pluralidad de subdivisiones, tal como se describió anteriormente. El generador 502 de subdivisión también genera la información de forma tal como se describió anteriormente.
En la etapa S503, el detector 504 de movimiento luego obtiene un vector de movimiento de una subdivisión objetivo de procesamiento, tal como se describió anteriormente. En la posterior etapa S504, el generador 505 de señal predicha genera una señal predicha del bloque objetivo, usando los vectores de movimiento de las subdivisiones respectivas en el bloque objetivo y las señales de imagen de trama de referencia, tal como se describió anteriormente.
En la etapa S505, el predictor 506 de movimiento luego obtiene un predictor de vector de movimiento. Además, el predictor 506 de movimiento genera la información de indicación para especificar un candidato seleccionado de una pluralidad de candidatos para predictor de vector de movimiento. Los detalles del procedimiento de esta etapa S505 se describirán más adelante. En la posterior etapa S506, el restador 507 calcula la diferencia entre el vector de movimiento de cada subbloque y el predictor de vector de movimiento para generar un vector de movimiento diferencial tal como se describió anteriormente.
En la etapa S507, el generador 508 de señal residual luego obtiene la diferencia entre la señal de imagen del bloque objetivo y la señal predicha para generar una señal residual. En la posterior etapa S508, el transformador 509 realiza la transformación ortogonal de la señal residual para generar coeficientes de transformada. En la posterior etapa S509, el cuantificador 510 cuantifica los coeficientes de transformada para generar coeficientes de transformada cuantificados. En la posterior etapa S510, el cuantificador 511 inverso realiza la cuantificación inversa de los coeficientes de transformada cuantificados para generar coeficientes de transformada cuantificados de manera inversa. En la posterior etapa S511, el transformador 512 inverso realiza la transformación inversa de los coeficientes de transformada cuantificados de manera inversa para generar una señal residual reconstruida.
En la etapa S512, el sumador 513 luego suma la señal predicha del bloque objetivo a la señal residual reconstruida para generar una señal de imagen reconstruida. En la posterior etapa S513, la señal de imagen reconstruida se almacena como una señal de imagen anteriormente reconstruida en la memoria 503 de tramas.
En la etapa S514, el codificador 514 por entropía luego codifica los coeficientes de transformada cuantificados, la información de forma del bloque objetivo, la información de indicación del predictor de vector de movimiento y el vector de movimiento diferencial.
En la siguiente etapa S515, se determina si se han procesado todos los bloques. Si no se completa el procesamiento para todos los bloques, se continúa el procesamiento desde la etapa S502 para un bloque no procesado como objetivo. Por otro lado, si se completa el procesamiento para todos los bloques, se termina el procesamiento.
A continuación se describirá el funcionamiento del predictor 506 de movimiento con más detalle. La figura 28 es un diagrama de flujo que muestra el procedimiento del predictor de movimiento según una realización. El predictor 506 de movimiento emite el predictor de vector de movimiento (a continuación en el presente documento PMV) y la información de indicación para especificar PMV, según el diagrama de flujo mostrado en la figura 28.
En el procedimiento del predictor 506 de movimiento, tal como se muestra en la figura 28, el valor del contador i se establece en primer lugar a 0, en la etapa S505-1. Se supone a continuación que el procedimiento para la primera subdivisión se lleva a cabo con i=0 y el procedimiento para la segunda subdivisión se lleva a cabo con i=1.
A continuación, la etapa S505-2 es para generar candidatos para PMV de una subdivisión objetivo de procesamiento a partir de vectores de movimiento de regiones parciales anteriormente procesadas, según un método descrito a continuación. El número de candidatos para p Mv es de dos en el presente ejemplo. Concretamente, pueden establecerse candidatos para PMV de la siguiente manera: un vector de movimiento de una región parcial anteriormente procesada ubicada a la izquierda de la subdivisión objetivo de procesamiento y un vector de movimiento de una región parcial anteriormente procesada ubicada por encima de la subdivisión objetivo de procesamiento se establecen como candidatos para el predictor de vector de movimiento de la subdivisión objetivo de procesamiento. En la etapa S505-2, se establece el número de candidatos generados en Ncand.
A continuación, en la etapa S505-3, se determina si NCand es “0”. Cuando NCand es “0” (Sí), el procesamiento avanza a la etapa S505-4. Cuando NCand no es “0” (No), el procesamiento avanza a la etapa S505-5.
En la etapa S505-4, PMV se establece a un vector nulo y el procesamiento avanza a la etapa S505-10. En esta ocasión, PMV puede establecerse en un vector de movimiento de un bloque predeterminado, un vector de movimiento de una región parcial procesada inmediatamente antes de la subdivisión objetivo de procesamiento, o similar, en vez del vector nulo.
En la etapa S505-5, se determina si NCand es “1”. Cuando NCand es “1” (Sí), el procesamiento avanza a la etapa S505-10. Cuando NCand no es “1” (No), el procesamiento avanza a la etapa S505-6.
En la etapa S505-6, se selecciona un PMV de los candidatos para PMV generados en la etapa S505-2. El PMV que va a seleccionarse puede ser un candidato que minimiza la diferencia con respecto al vector de movimiento de la subdivisión objetivo de procesamiento.
A continuación, S505-7 es para determinar si el PMV seleccionado en la etapa S505-6 es un candidato a la izquierda, es decir, un vector de movimiento de la región parcial a la izquierda. Cuando el PMV seleccionado en la etapa S505-6 es el candidato a la izquierda (Sí), el procesamiento avanza a la etapa S505-8. Cuando el PMV seleccionado en la etapa S505-6 no es el candidato a la izquierda (No), el procesamiento avanza a la etapa S505-9.
En la etapa S505-8, la información de indicación pmv_left_flag=1 para indicar que se emite el PMV es el vector de movimiento de la región parcial ubicada a la izquierda de la subdivisión objetivo de procesamiento. Por otro lado, en la etapa S505-9 la información de indicación pmv_left_flag=0 para indicar que se emite el PMV es el vector de movimiento de la región parcial ubicada por encima de la subdivisión objetivo de procesamiento.
A continuación, en la etapa S505-10, se emite el PMV que queda como candidato. En la posterior etapa S505-11, se suma “1” al valor del contador i.
A continuación, en la etapa S505-12, se determina si el valor del contador i es menor de “2”. Cuando el valor del contador i es menor de “2” (Sí), el procesamiento avanza a la etapa S505-2. Cuando el valor del contador i no es menor de “2” (No), se termina el procesamiento.
Si la etapa S505-2 está configurada para limitar el número de candidatos generados a uno, pueden omitirse las etapas S505-5, S505-6, S505-7, S505-8 y S505-9. No hay restricciones sobre este método de limitación, pero es posible adoptar, por ejemplo, un método tal como un método de uso de un valor intermedio de tres candidatos, un método de uso de un promedio de dos candidatos, o un método de determinación de un orden de prioridad para la selección de uno de una pluralidad de candidatos, tal como se describió anteriormente en la descripción del generador 5063 de predictor de vector de movimiento. En la configuración en la que el número de candidatos generados en la etapa S505-2 está limitado a uno, cuando NCand no es “0” en la etapa S505-3 (No), el procesamiento avanza a la etapa S505-10.
A continuación se describirá el método de generación de candidatos para el predictor de vector de movimiento de la subdivisión objetivo de procesamiento en la etapa S505-2 con más detalle. La figura 29 es un dibujo que muestra un ejemplo de subdivisiones de un bloque objetivo y regiones parciales circundantes.
El generador 5062 de candidato de referencia de movimiento, tal como se muestra en la figura 29, se refiere a la región U1 parcial y la región L1 parcial para la primera subdivisión SP1 y, cuando cada una de las regiones parciales es una que se ha procesado mediante predicción inter-imagen, el generador 5062 de candidato de referencia de movimiento emplea el vector de movimiento de la región parcial como candidato para el predictor de vector de movimiento de la
primera subdivisión SP1. De manera similar, el generador 5062 de candidato de referencia de movimiento se refiere una región U2 parcial o región L2 parcial para la segunda subdivisión para generar candidatos para el predictor de vector de movimiento de la segunda subdivisión. Las regiones U1, L1, U2 y L2 parciales en el presente documento son bloques o subdivisiones alrededor del bloque P objetivo y regiones que sirven como unidades de generación de la señal predicha. Las regiones parciales pueden ser bloques preparados para la generación de candidatos para el predictor de vector de movimiento (por ejemplo, bloques generados mediante división en una única forma), independientemente de las unidades de generación de la señal predicha.
La región U1 parcial es una región parcial que incluye un píxel Pi1(0,-1) adyacente por encima del píxel más arriba y más a la izquierda F(0,0) de la primera subdivisión Sp1, que es una región parcial anteriormente procesada en contacto con la subdivisión SP1. La región L1 parcial es una región parcial que incluye un píxel Pi2(-1,0) adyacente a la izquierda al píxel más arriba y más a la izquierda F(0,0) de la primera subdivisión SP1, que es una región parcial en contacto con la primera subdivisión SP1. La región U2 parcial es una región parcial adyacente a la derecha a una región parcial que incluye un píxel Pi3(x1,-1), que es una región parcial en contacto con el eje x. La región L2 parcial es una región parcial adyacente por debajo de una región parcial que incluye un píxel Pi4(-1,y1), que es una región parcial en contacto con el eje y.
La coordenada x x1 del píxel Pi3 y la coordenada y y1 del píxel Pi4 pueden calcularse mediante la fórmula (3) y la fórmula (4).
x1 = techo(-k/m) (3)
y1 = techo(k) (4)
Las fórmulas (3) y (4) son fórmulas obtenidas aplicando la función techo(z) a valores que resultan de la sustitución de y=0 y x=0, respectivamente, en la expresión lineal (1) para expresar una línea de extensión Ln de un límite como división entre la primera subdivisión SP1 y la segunda subdivisión SP2. La función techo(z) se denomina una función de techo, que es una función para derivar un número entero mínimo de no menos de z, para el número real z.
Puede emplearse una función de suelo en vez de la función techo. La función suelo(z) se denomina una función de suelo, que es una función para derivar un número entero máximo de no más de z, para el número real z.
Además, x1 e y1 pueden calcularse mediante las fórmulas (5) y (6).
x1 = techo(-1-k/m) (5)
y1 = techo(-m+k) (6)
Las fórmulas (5) y (6) son fórmulas obtenidas aplicando la función techo(z) a valores que resultan de la sustitución de y=-1 y x=-1, respectivamente, en la fórmula (1).
Si las regiones parciales U2 y L2 existen se determinan tal como se describe a continuación. Las condiciones para la existencia de la región U2 parcial son que esté en una imagen y que se satisfaga la fórmula (7). Las condiciones para la existencia de la región L2 parcial son que esté en una imagen y que se satisfaga la fórmula (8).
0 < x1 (7)
0 < y1 (8)
Cuando no se satisface la condición de la fórmula (7), la región L2 parcial existe entre la segunda subdivisión SP2 y la región U2 parcial. En ese caso, la región U2 parcial más distante de la segunda subdivisión SP2 que la región l2 parcial más próxima a la segunda subdivisión SP2 es menos habitual que tenga un vector de movimiento próximo al de la segunda subdivisión SP2. En este caso, el vector de movimiento de la región U2 parcial puede excluirse de los candidatos para el predictor de vector de movimiento mediante la condición de la fórmula (7).
Asimismo, cuando no se satisface la condición de la fórmula (8), la región U2 parcial existe entre la segunda subdivisión SP2 y la región L2 parcial. En ese caso, la región L2 parcial más distante de la segunda subdivisión SP2 que la región U2 parcial más próxima a la segunda subdivisión SP2 es menos habitual que tenga un vector de movimiento próximo al de la segunda subdivisión SP2. En ese caso, el vector de movimiento de la región U2 parcial puede excluirse de los candidatos para el predictor de vector de movimiento mediante la condición de la fórmula (8).
En un ejemplo, las condiciones definidas mediante las fórmulas (9) y (10) a continuación pueden usarse en vez de las condiciones de las fórmulas (7) y (8).
0 < x1 < blocksizeX (9)
0 < y1 < blocksizeY (10)
En este caso, blocksizeX y blocksizeY son el número de píxeles horizontales y el número de píxeles verticales en el bloque P objetivo. Por ejemplo, cuando el bloque P objetivo es un bloque de 8x8 píxeles, blocksizeX=8 y blocksizeY=8.
Usando la condición de la fórmula (9) o la fórmula (10), es posible excluir de los candidatos para el predictor de vector de movimiento, un vector de movimiento de una región parcial que no tiene contacto con la segunda subdivisión SP2, de la región U2 parcial y la región L2 parcial. Esto permite sólo candidatos para el predictor de vector de movimiento con precisión de predicción concebiblemente alta de que queden.
Cuando las regiones U1, L1, U2 y L2 parciales se establecen tal como se describió anteriormente, se generan candidatos para el predictor de vector de movimiento de cada subdivisión a partir de vectores de movimiento de regiones parciales anteriormente procesadas ubicadas en el mismo lado con respecto a la línea de extensión del límite entre subdivisiones.
Siempre que los candidatos para el predictor de vector de movimiento de la subdivisión SP2 se generan a partir de vectores de movimiento de regiones parciales en el mismo dominio que la subdivisión SP2 con respecto a la línea de extensión Ln del límite entre la subdivisión SP2 y las otras subdivisiones del bloque objetivo que incluye la subdivisión SP2, el método de generación del predictor de vector de movimiento no está limitado al de la realización descrita anteriormente. Por ejemplo, la región U2 parcial puede ser una región parcial que incluye el píxel Pi3 y la región L2 parcial puede ser una región parcial que incluye el píxel Pi4.
Puede sumarse una condición de que toda la región parcial está presente en el mismo dominio que la subdivisión SP2 con respecto a la línea Ln como condición para el vector de movimiento de la región parcial que va a sumarse a candidatos para el predictor de vector de movimiento de la subdivisión SP2. En este caso, es posible emplear, por ejemplo, un método de inspección de posiciones de todas las esquinas de la región parcial.
Aunque una región parcial no se incluya por completo en el mismo dominio que una subdivisión con respecto a la línea de extensión, el vector de movimiento de la región parcial puede emplearse como candidato para el predictor de vector de movimiento de la subdivisión. La figura 30 es un dibujo que muestra otro ejemplo de subdivisiones de un bloque objetivo y regiones parciales circundantes. Tal como se muestra as un ejemplo en la figura 30, pueden usarse vectores de movimiento de regiones Ra, Rb, Rg y Re parciales como candidatos para el predictor de vector de movimiento de la primera subdivisión SP1. Un predictor de vector de movimiento de región RE parcial puede sumarse a candidatos para el predictor de vector de movimiento de la segunda subdivisión SP2.
En la descripción sobre las figuras 28 y 29, el número de vectores de movimiento que sirven como candidatos para el predictor de vector de movimiento fue como máximo de dos, pero también es posible seleccionar dos de los vectores de movimiento obtenidos mediante cualquiera de las condiciones descritas anteriormente. Por ejemplo, el vector de movimiento de la región U2 parcial mostrada en la figura 29, y un vector de movimiento de una región parcial adyacente a la región U2 parcial puede seleccionarse como candidatos para el predictor de vector de movimiento. Asimismo, el vector de movimiento de la región L2 parcial y un vector de movimiento de una región parcial adyacente a la región U2 parcial pueden seleccionarse como candidatos para el predictor de vector de movimiento. Además, pueden seleccionarse tres o más vectores de movimiento como candidatos para el predictor de vector de movimiento a partir de los vectores de movimiento especificados mediante cualquiera de las condiciones descritas anteriormente. Además, puede sumarse un promedio o una mediana de una pluralidad de candidatos para el predictor de vector de movimiento a candidatos para el predictor de vector de movimiento.
La información de forma de bloque puede usarse como método para limitar el número de candidatos para el predictor de vector de movimiento generado en la etapa S505-2 en la figura 28 a como máximo uno. Por ejemplo, de las regiones parciales codificadas anteriormente en contacto con una subdivisión objetivo de procesamiento, puede sumarse un vector de movimiento de una región parcial con una longitud máxima de una porción en contacto con la subdivisión como candidato para el predictor de vector de movimiento. También es posible emplear un vector de movimiento de una región parcial codificada anteriormente con una distancia más corta mínima de una subdivisión objetivo de procesamiento, como candidato para el predictor de vector de movimiento de la subdivisión.
Los métodos de generación descritos anteriormente de candidatos para el predictor de vector de movimiento pueden aplicarse a subdivisiones de cualquier forma. La figura 31 es un dibujo que muestra ejemplos adicionales de subdivisiones de un bloque objetivo y regiones parciales circundantes. (A) de la figura 31 muestra subdivisiones definidas mediante una línea Ln con una coordenada de ordenada en el origen y una pendiente diferentes de las de la línea Ln mostrada en la figura 29. (B) de la figura 31 muestra subdivisiones definidas mediante una línea Ln con una pendiente aproximadamente simétrica con la de la línea Ln con respecto al eje y y con una coordenada de ordenada en el origen diferente de la de la línea Ln mostrada en la figura 29. (C) de la figura 31 muestra subdivisiones definidas mediante dos líneas Ln1 y Ln2. (D) de la figura 31 muestra subdivisiones definidas mediante dos líneas Ln1 y Ln2 que se cortan entre sí. Cuando la línea de extensión del límite tal como se muestra en (A) a (D) de la figura 31 se usa como referencia, las regiones L2 y U2 parciales con vectores de movimiento que pueden ser candidatos para el predictor de vector de movimiento de la subdivisión SP2 pueden especificarse mediante los métodos de generación
mencionados anteriormente de candidatos para el predictor de vector de movimiento.
Se indica que las subdivisiones no están limitadas sólo a aquellas divididas mediante una línea recta. Por ejemplo, en el caso en el que las formas de las subdivisiones se seleccionan de patrones predeterminados, puede usarse un vector de movimiento de una región parcial codificada anteriormente perteneciente al mismo dominio que una subdivisión objetivo de procesamiento con respecto a una línea de extensión de un límite entre subdivisiones, como candidato para el predictor de vector de movimiento. Si se definen de manera preliminar patrones de formas de subdivisión, también es posible determinar de manera preliminar una región parcial con un vector de movimiento que va a adoptarse como candidato para el predictor de vector de movimiento, para cada patrón de forma. Los patrones pueden incluir los patrones para dividir un bloque objetivo en subdivisiones rectangulares.
El método de selección mencionado anteriormente del predictor de vector de movimiento también puede aplicarse como método de selección de un vector de movimiento en la generación de una señal predicha de una subdivisión objetivo de procesamiento usando vectores de movimiento de regiones parciales codificadas anteriormente. Concretamente, la señal predicha de la subdivisión objetivo de procesamiento puede generarse usando el predictor de vector de movimiento seleccionado en la etapa S505-2 en la figura 28. En este caso, no hay necesidad de codificación del vector de movimiento diferencial y, por tanto, el predictor de vector de movimiento emitido desde el predictor 506 de movimiento no se emite al restador 507 sino al generador 505 de señal predicha.
Además, el dispositivo 10 de codificación de vídeo puede estar configurado para determinar si el vector de movimiento diferencial va a codificarse, y para codificar información de aplicación para especificar el resultado de la determinación. En esta modificación, el predictor 506 de movimiento puede incluir una función para conmutar la salida del predictor de vector de movimiento o bien al restador 507 o bien al generador 505 de señal predicha, basándose en la información de aplicación.
En esta modificación, es desfavorable que los vectores de movimiento de todas las subdivisiones en un bloque objetivo se vuelvan idénticos entre sí, porque la división del bloque objetivo se vuelve insignificante. Concretamente, en la ocasión de generación de los candidatos para vector de movimiento de una subdivisión objetivo de procesamiento en la etapa S505-2 en la figura 28, un vector de movimiento de una subdivisión codificada anteriormente en el bloque objetivo puede excluirse de los candidatos. Por ejemplo, en el caso en el que el bloque objetivo se divide en dos subdivisiones y en el que el vector de movimiento de las primeras subdivisiones se codifica en primer lugar, el vector de movimiento de las primeras subdivisiones se excluye de los candidatos para el predictor de vector de movimiento de las segundas subdivisiones. Si el vector de movimiento de las primeras subdivisiones es el mismo que el de la región U2 parcial, el vector de movimiento de la región U2 parcial no tiene que usarse en la generación del predictor de vector de movimiento de la segunda subdivisión.
Si se indica si el vector de movimiento diferencial va a codificarse, la probabilidad de aparición en la codificación aritmética de la información de aplicación anteriormente mencionada puede determinarse de manera adaptativa según la información de forma de subdivisión. Por ejemplo, puede establecerse la probabilidad de aparición para la información de aplicación para indicar que el vector de movimiento diferencial de la primera subdivisión no se codifica, mayor que para la información de aplicación para indicar que el vector de movimiento diferencial de la segunda subdivisión no se codifica. El motivo para esto es el siguiente: la segunda subdivisión puede no tener contacto con cualquier región parcial codificada anteriormente, mientras que la primera subdivisión siempre tiene contacto con una región parcial codificada anteriormente; por tanto, el establecimiento de las probabilidades de aparición tal como se describió anteriormente puede reducir la cantidad de código de la información de aplicación.
El efecto de una realización se describirá con referencia a la figura 32 que muestra un ejemplo de división de un bloque objetivo en subdivisiones rectangulares, por simplicidad. En este ejemplo, el bloque P objetivo se divide en una subdivisión SP1 a la izquierda y una subdivisión SP2 a la derecha mediante una línea recta Ln. En este ejemplo, un vector de movimiento de la primera subdivisión SP1 y un vector de movimiento de una región Rb parcial son candidatos para el predictor de vector de movimiento de la segunda subdivisión SP2.
En el ejemplo mostrado en la figura 32, si se genera la señal predicha de la segunda subdivisión SP2 usando el vector de movimiento de la primera subdivisión SP1, la señal predicha de la primera subdivisión SP1 y la señal predicha de la segunda subdivisión SP2 se generarán usando el mismo vector de movimiento, que hace que la división del bloque objetivo en dos subdivisiones sea insignificante. Por este motivo, la señal predicha de la segunda subdivisión SP2 puede generarse usando el vector de movimiento de la región RB parcial por encima de la subdivisión SP2. En el ejemplo mostrado en la figura 32, por tanto, se determina de manera preliminar entre el dispositivo de codificación y el dispositivo de decodificación que la señal predicha de la segunda subdivisión SP2 va a generarse usando el vector de movimiento de la región Rb parcial, lo que reduce los candidatos para el predictor de vector de movimiento y que elimina la necesidad de transmitir información de indicación para indicar un predictor de vector de movimiento de una pluralidad de candidatos para el predictor de vector de movimiento.
Además, se comenta un método para el dispositivo 10 de codificación de vídeo para determinar si es necesario codificar el vector de movimiento diferencial (en el que el predictor 506 de movimiento conmuta la salida del predictor de vector de movimiento o bien al restador 507 o bien al generador 505 de señal predicha basándose en la información
de aplicación). En este momento, si el vector de movimiento de la región Rb parcial es el mismo que el de la primera subdivisión SP1, la selección de cualquiera de los dos candidatos para el predictor de vector de movimiento da como resultado el mismo predictor de vector de movimiento de la segunda subdivisión SP2 que el vector de movimiento de la primera subdivisión SP1. Por tanto, se determina de manera preliminar entre el dispositivo de codificación y el dispositivo de decodificación que si los dos candidatos para predictor de vector de movimiento son idénticos entre sí, la señal predicha de la segunda subdivisión SP2 va a generarse mediante el vector de movimiento que resulta de la suma del vector de movimiento diferencial y el predictor de vector de movimiento, que elimina la necesidad de transmitir la información de aplicación para indicar si el vector de movimiento diferencial va a codificarse, además de la información de indicación.
En casos en los que un bloque objetivo se divide en tres o más subdivisiones tal como se muestra en la figura 33, la división del bloque objetivo es significativa si la primera subdivisión SP1, la segunda subdivisión SP2 y la tercera subdivisión SP3 tienen el mismo vector de movimiento y la cuarta subdivisión SP4 sólo tiene un vector de movimiento diferente. En tales casos, por tanto, la señal predicha de la segunda subdivisión SP2 y la señal predicha de la tercera subdivisión SP3 pueden generarse usando el vector de movimiento de la primera subdivisión SP1, en vez de los vectores de movimiento de la región Rb parcial y la región Re parcial, respectivamente. Sin embargo, para la cuarta subdivisión SP4, si los vectores de movimiento de la segunda subdivisión SP2 y la tercera subdivisión SP3 son iguales, dos candidatos para el predictor de vector de movimiento se vuelven idénticos entre sí; por tanto, determinando de manera preliminar una regla entre el dispositivo de codificación y el dispositivo de decodificación, se vuelve innecesario transmitir la información de indicación para indicar un predictor de vector de movimiento. Además, si la primera subdivisión SP1, la segunda subdivisión SP2 y la tercera subdivisión SP3 tienen el mismo vector de movimiento y si la señal predicha de la cuarta subdivisión SP4 se genera usando el vector de movimiento de la segunda subdivisión SP2 o la tercera subdivisión SP3, las cuatro subdivisiones tendrán todas el mismo vector de movimiento; por tanto, determinando de manera preliminar una regla entre el dispositivo de codificación y el dispositivo de decodificación, también se vuelve innecesario transmitir la información de aplicación para indicar si el vector de movimiento diferencial va a codificarse, además de la información de indicación.
A continuación se describirá un dispositivo de decodificación de vídeo según una realización. La figura 34 es un dibujo que muestra esquemáticamente una configuración del dispositivo de decodificación de vídeo según una realización. El dispositivo 20 de decodificación de vídeo mostrado en la figura 34 es un dispositivo que puede generar una secuencia de vídeo mediante la decodificación de un flujo comprimido generado mediante el dispositivo 10 de codificación de vídeo.
Tal como se muestra en la figura 34, el dispositivo 20 de decodificación de vídeo está dotado del decodificador 601 de datos, el predictor 602 de movimiento, el sumador 603, el cuantificador 604 inverso, el transformador 605 inverso, la memoria 606 de tramas, el generador 607 de señal predicha y el sumador 608.
El decodificador 601 de datos analiza una entrada de flujo comprimido a través de la línea L601. El decodificador 601 de datos realiza de manera secuencial el procesamiento descrito a continuación, para cada bloque como objetivo de decodificación (a continuación en el presente documento un bloque objetivo).
El decodificador 601 de datos decodifica datos codificados asociados con el bloque objetivo en el flujo comprimido para restaurar los coeficientes de transformada cuantificados del bloque objetivo, y emite los coeficientes de transformada cuantificados a través de la línea L602. El decodificador 601 de datos también decodifica datos codificados para restaurar la información de forma del bloque objetivo, y emite la información de forma a través de la línea L603. En esta ocasión, se restaura la información de aplicabilidad de división para indicar si se necesita dividir el bloque objetivo, y si la información de aplicabilidad de división no indica necesidad de dividir del bloque objetivo, no tiene que restaurarse la información de forma.
El decodificador 601 de datos también decodifica los datos codificados para restaurar la información de indicación para cada subdivisión en el bloque objetivo, es decir, la información para indicar uno de una pluralidad de candidatos para predictor de vector de movimiento, y emite la información de indicación a través de la línea L604. El decodificador 601 de datos también decodifica los datos codificados para restaurar el vector de movimiento diferencial del bloque objetivo, y emite el vector de movimiento diferencial a través de la línea L605. Además, el decodificador 601 de datos puede determinar de manera adaptiva la probabilidad de aparición en la decodificación de datos codificados en el momento de restaurar la información de indicación del predictor de vector de movimiento, basándose en la información de forma del bloque objetivo. Un método para implementarlo puede ser, por ejemplo, establecer una probabilidad de aparición superior para la información de indicación para indicar un vector de movimiento de una región parcial en contacto con una subdivisión objetivo de procesamiento, como predictor de vector de movimiento.
El predictor 602 de movimiento genera un predictor de vector de movimiento de una subdivisión objetivo de procesamiento, basándose en la información de forma alimentada a través de la línea L603 y vectores de movimiento de regiones parciales anteriores en un orden de procesamiento, alimentados a través de la línea L606, y basándose en la información de indicación alimentada a través de la línea L604, y emite el predictor de vector de movimiento a través de la línea L607. Restringiendo los candidatos para el predictor de vector de movimiento a uno mediante un método predeterminado, también es posible omitir la introducción de la información de indicación.
El sumador 603 suma el predictor de vector de movimiento alimentado a través de la línea L607, al vector de movimiento diferencial alimentado a través de la línea L605, para generar un vector de movimiento de un bloque objetivo o un vector de movimiento de una subdivisión en el bloque objetivo, y emite el vector de movimiento a través de la línea L606.
El cuantificador 604 inverso realiza la cuantificación inversa de los coeficientes de transformada cuantificados alimentados a través de la línea L602, para generar coeficientes de transformada cuantificados de manera inversa. El cuantificador 604 inverso emite los coeficientes de transformada cuantificados de manera inversa así generados, a través de la línea L608.
El transformador 605 inverso realiza la transformación ortogonal inversa de los coeficientes de transformada cuantificados de manera inversa alimentados a través de la línea L608, para generar una señal residual reconstruida. El transformador 605 inverso emite la señal residual reconstruida así generada, a través de la línea L609.
Si la señal residual reconstruida generada no es una sometida a cuantificación, no se necesita dotar el dispositivo 20 de decodificación de vídeo del cuantificador 604 inverso. De manera similar, si la señal residual reconstruida generada no es una sometida a transformación, no se necesita dotar el dispositivo 20 de decodificación de vídeo del transformador 605 inverso.
La memoria 606 de tramas almacena señales de imagen anteriormente reconstruidas alimentadas a través de la línea L610, es decir, señales de imagen de trama anteriores en el orden de procesamiento con respecto a la imagen de entrada objetivo de procesamiento (que se denominarán a continuación en el presente documento señales de imagen de trama de referencia). Además, la memoria 606 de tramas emite las señales de imagen de trama de referencia a través de la línea L611.
El generador 607 de señal predicha genera una señal predicha de cada imagen de subdivisión en el bloque objetivo, basándose en el vector de movimiento alimentado a través de la línea L606 y la información de forma alimentada a través de la línea L603, a partir de una señal de imagen en un intervalo predeterminado de las señales de imagen de trama de referencia alimentadas a través de la línea L611. El generador 607 de señal predicha emite la señal predicha así generada, a través de la línea L612. Aunque se omite la descripción en la presente memoria descriptiva, la señal predicha puede generarse mediante predicción intra-imagen además de la predicción inter-imagen.
El sumador 608 suma la señal residual reconstruida alimentada a través de la línea L609, a la señal predicha del bloque objetivo alimentado a través de la línea L612, para generar una señal de imagen reconstruida. El sumador 608 emite la señal de imagen reconstruida a través de la línea L610.
La figura 35 es un dibujo que muestra una configuración del predictor de movimiento según una realización. Tal como se muestra en la figura 35, el predictor 602 de movimiento tiene una memoria 6021 de vectores de movimiento, un generador 6022 de candidato de referencia de movimiento y un generador 6023 de predictor de vector de movimiento.
La memoria 6021 de vectores de movimiento almacena vectores de movimiento alimentados a través de la línea L606. Los vectores de movimiento almacenados en la memoria 6021 de vectores de movimiento son vectores de movimiento de regiones parciales anteriormente procesadas anteriores en el orden de procesamiento con respecto al bloque objetivo o la subdivisión objetivo de procesamiento. La memoria 6021 de vectores de movimiento emite los vectores de movimiento almacenados a través de la línea L6021, para la derivación del predictor de vector de movimiento para la subdivisión objetivo de procesamiento.
El generador 6022 de candidato de referencia de movimiento genera candidatos para el predictor de vector de movimiento a partir de los vectores de movimiento alimentados a través de la línea L6021, mediante un método descrito más adelante, basándose en la información de forma alimentada a través de la línea L603, y los emite a través de la línea L6022.
El generador 6023 de predictor de vector de movimiento determina un predictor de vector de movimiento, basándose en la información de indicación del predictor de vector de movimiento alimentado a través de la línea L604, a partir de los candidatos para el predictor de vector de movimiento alimentados a través de la línea L6022, y emite el predictor de vector de movimiento determinado a través de la línea L607. Si el número de candidatos que van a generarse en el generador de candidato de referencia de movimiento está limitado a uno, puede omitirse la introducción de la información de indicación para especificar el candidato que va a seleccionarse.
A continuación se describirá el funcionamiento del dispositivo 20 de decodificación de vídeo y un método de decodificación de vídeo según una realización. La figura 36 es un diagrama de flujo de un método de decodificación de vídeo según una realización. En una realización, tal como se muestra en la figura 36, en la etapa S621, el decodificador 601 de datos decodifica en primer lugar los datos codificados en los datos comprimidos sobre un bloque objetivo, tal como se describió anteriormente, para restaurar los coeficientes de transformada cuantificados, la información de forma y el vector de movimiento diferencial del bloque objetivo. En la etapa S621, pueden restaurarse
la información de aplicabilidad de división y la información de indicación. Además, en la etapa S621, el cuantificador 604 inverso puede generar los coeficientes de transformada cuantificados de manera inversa a partir de los coeficientes de transformada cuantificados restaurados, y el transformador 605 inverso puede generar una señal residual reconstruida a partir de los coeficientes de transformada cuantificados de manera inversa.
En la etapa S622, el predictor 602 de movimiento determina entonces el predictor de vector de movimiento de la etapa de objetivo de procesamiento S621, para cada etapa S621 en el bloque objetivo que sirve como objetivo de procesamiento. En la etapa posterior S623, el sumador 603 suma el predictor de vector de movimiento de la etapa de objetivo de procesamiento S621 al vector de movimiento diferencial para generar un vector de movimiento.
En la etapa S624, el generador 607 de señal predicha genera entonces la señal predicha a partir de las señales de imagen de trama de referencia en la memoria 606 de tramas, usando el vector de movimiento del bloque objetivo. En la etapa posterior S625, el sumador 608 suma la señal predicha del bloque objetivo a la señal residual reconstruida para generar una señal de imagen reconstruida.
En la etapa S626, la señal de imagen reconstruida generada en la etapa S625 se almacena entonces como señal de imagen anteriormente reconstruida en la memoria 606 de tramas. En la etapa posterior S627, se determina si se completa el procesamiento para todos los bloques. Si no se completa el procesamiento para todos los bloques, se continúa el procesamiento desde la etapa S621 usando un bloque no procesado como bloque objetivo. Por otro lado, cuando se completa el procesamiento para todos los bloques, se termina el procesamiento.
A continuación se describirá en detalle el funcionamiento del predictor 602 de movimiento. La figura 37 es un diagrama de flujo que muestra el procesamiento del predictor de movimiento según una realización. El predictor 602 de movimiento genera el predictor de vector de movimiento, según el diagrama de flujo mostrado en la figura 37.
En una realización, en la etapa S615-1, se establece el valor del contador i a “0”. A continuación en el presente documento se supone que el procesamiento para la primera subdivisión se lleva a cabo con i=0 y el procesamiento para la segunda subdivisión se lleva a cabo con i=1.
En la siguiente etapa S615-2, dos candidatos (candidato izquierdo y candidato superior) que pueden ser el predictor de vector de movimiento de la subdivisión objetivo de procesamiento se determinan según uno de los métodos descritos anteriormente usando las figuras 29, 30, 31, 32 y 33, de entre los vectores de movimiento de regiones parciales anteriores en el orden de procesamiento con respecto a la subdivisión objetivo de procesamiento.
En la etapa S615-3, después se determina si el número NCand de candidatos generados en la etapa S615-2 es “0”. Cuando NCand es “0” (Sí), el procesamiento avanza a la etapa S615-4. Cuando NCand no es “0” (No), el procesamiento avanza a la etapa S615-5.
En la etapa S615-4, el predictor de vector de movimiento PMV se establece a un vector nulo y el procesamiento avanza a la etapa S615-11. En esta ocasión, también es posible establecer un vector de movimiento de un bloque predeterminado o un vector de movimiento de una región parcial inmediatamente anterior en el orden de procesamiento con respecto a la subdivisión objetivo de procesamiento, en vez del vector nulo, como predictor de vector de movimiento PMV.
En la etapa S615-5, se determina si el número NCand de candidatos generados en la etapa S615-2 es “1”. Cuando NCand es “1” (Sí), el procesamiento avanza a la etapa S615-6. Cuando NCand no es “1” (No), el procesamiento avanza a la etapa S615-7.
En la etapa S615-6, el candidato generado en la etapa S615-2 se establece como PMV. Después, el procesamiento avanza a la etapa S615-11.
En la etapa S615-7, la información pmv_left_flag para indicar el PMV que va a seleccionarse se adquiere a partir de los candidatos generados en la etapa S615-2. Después, el procesamiento avanza a la etapa S615-8.
En la etapa S615-8, se determina si el valor de pmv_left_flag es “1”. Cuando el valor de pmv_left_flag es “1” (Sí), el procesamiento avanza a la etapa S615-9. Cuando el valor de pmv_left_flag no es “1” (No), el procesamiento avanza a la etapa S615-10.
La etapa S615-9 es establecer un vector de movimiento de una región parcial en el lado izquierdo de la subdivisión objetivo de procesamiento como PMV. Después, el procesamiento avanza a la etapa S615-11.
La etapa S615-10 es establecer un vector de movimiento de una región parcial en el lado izquierdo de la subdivisión objetivo de procesamiento como PMV. Después, el procesamiento avanza a la etapa S615-11.
La etapa S615-11 es emitir el PMV así establecido. Después, el procesamiento avanza a la etapa S615-12.
A continuación, la etapa S615-12 es sumar “1” al valor del contador i. Después, el procesamiento avanza a la etapa S615-13.
A continuación, la etapa S615-13 es determinar si el valor del contador i es menor de “2”. Cuando el valor del contador i es menor de “2” (Sí), el procesamiento avanza a la etapa S615-2. Por otro lado, cuando el valor del contador i no es menor de 2 (No), se termina el procesamiento.
Limitando el número de candidatos para el predictor de vector de movimiento que van a generarse a uno en la etapa S615-2, pueden omitirse los procedimientos de las etapas S615-5, S615-6, s 615-7, S615-8, S615-9 y S615-10. No hay restricciones sobre un método para esta limitación, tal como se describió anteriormente en cuanto al generador 6023 de predictor de vector de movimiento, pero es posible usar, por ejemplo, un método tal como un método que usa un valor intermedio de tres candidatos, un método que usa un promedio de dos candidatos, o un método de determinar preliminarmente un orden de prioridad para la selección de un predictor de vector de movimiento de entre una pluralidad de candidatos para el predictor de vector de movimiento. En ese caso, cuando NCand no es “0” (No) en la etapa S615-03, el procesamiento avanza a la etapa S615-6.
El método anteriormente descrito puede aplicarse como método de selección de vector de movimiento en el caso en el que la señal predicha de la subdivisión objetivo de procesamiento se genera usando vectores de movimiento anteriormente decodificados. Concretamente, la señal predicha de la subdivisión objetivo de procesamiento puede generarse usando el predictor de vector de movimiento seleccionado en la etapa S615-2 en la figura 37. En este caso, no hay necesidad de decodificar el vector de movimiento diferencial, y por tanto el predictor de vector de movimiento emitido a partir del predictor 602 de movimiento no se emite al sumador 603 sino al generador 607 de señal predicha.
Además, el decodificador 601 de datos puede estar configurado para decodificar información de aplicación para especificar si el vector de movimiento diferencial va a decodificarse. En esta modificación, el predictor 602 de movimiento puede incluir una función para conmutar la salida del predictor de vector de movimiento o bien al sumador 603 o bien al generador 607 de señal predicha, basándose en la información de aplicación.
En esta modificación, resulta desfavorable que los vectores de movimiento de todas las subdivisiones en el bloque objetivo lleguen a ser idénticos entre sí, porque la división del bloque objetivo se vuelve sin sentido. Por tanto, en esta modificación, un vector de movimiento de una subdivisión incluida en el bloque objetivo y ubicada antes en el orden de procesamiento con respecto a la subdivisión objetivo de procesamiento puede excluirse de los candidatos para el predictor de vector de movimiento, en el momento de generar los candidatos para el predictor de vector de movimiento de la subdivisión objetivo de procesamiento en la etapa S615-2 en la figura 37. Por ejemplo, en el caso en el que el bloque objetivo se divide en dos subdivisiones y en el que el vector de movimiento de la primera subdivisión se restaura en primer lugar, el vector de movimiento de la primera subdivisión se excluye de los candidatos para el predictor de vector de movimiento de la segunda subdivisión. Si el vector de movimiento de la primera subdivisión es el mismo que el de la región U2 parcial, el vector de movimiento de la región U2 parcial no tienen que usarse en la generación del predictor de vector de movimiento de la segunda subdivisión.
En esta modificación, la probabilidad de aparición en la decodificación aritmética de la información de aplicación para indicar si el vector de movimiento diferencial va a decodificarse puede determinarse de manera adaptiva según la información de forma. Este método puede configurarse, por ejemplo, para establecer una probabilidad superior de no codificar el vector de movimiento diferencial, para la primera subdivisión que siempre está en contacto con una región anteriormente codificada, que para la segunda subdivisión que posiblemente no tiene ningún contacto con ninguna región parcial anteriormente decodificada. Dado que el efecto de esta modificación ya se describió usando las figuras 34 y 35, se omite la descripción del mismo en el presente documento.
A continuación se describirá un programa de codificación de vídeo para dejar que un ordenador funcione como el dispositivo 10 de codificación de vídeo y un programa de decodificación de vídeo para dejar que un ordenador funcione como el dispositivo 20 de decodificación de vídeo.
La figura 38 es un dibujo que muestra una configuración del programa de codificación de vídeo según una realización. La figura 39 es un dibujo que muestra una configuración del programa de decodificación de vídeo según una realización. A continuación se hará referencia a la figura 18 que muestra la configuración de hardware del ordenador según una realización y a la figura 19 que muestra la vista en perspectiva del ordenador según una realización, así como a las figuras 38 y 39.
El programa P10 de codificación de vídeo mostrado en la figura 38 puede proporcionarse almacenado en el medio SM de grabación. El programa P20 de decodificación de vídeo mostrado en la figura 38 también puede proporcionarse almacenado en el medio SM de grabación. Los ejemplos de medios SM de grabación incluyen medios de grabación tales como disquetes, CD-ROM, DVD o ROM, o memorias de semiconductores, o similares.
Tal como se describió anteriormente, el ordenador C10 puede estar dotado del dispositivo C12 de lectura tal como una unidad de disquete, una unidad de CD-ROM o una unidad de DVD, la memoria C14 de trabajo (RAM) en la que reside un sistema operativo, la memoria C16 que almacena programas almacenados en el medio SM de grabación, el
dispositivo C18 de monitor tal como un elemento de visualización, el ratón C20 y el teclado C22 como dispositivos de entrada, el dispositivo C24 de comunicación para la transmisión y recepción de datos y otros, y la CPU C26 para controlar la ejecución de los programas.
Cuando se pone el medio SM de grabación en el dispositivo C12 de lectura, el ordenador C10 se vuelve accesible para el programa P10 de codificación de vídeo almacenado en el medio SM de grabación, a través del dispositivo C12 de lectura, y se vuelve capaz de funcionar como el dispositivo 10 de codificación de vídeo, basándose en el programa P10.
Cuando se pone el medio SM de grabación en el dispositivo C12 de lectura, el ordenador C10 se vuelve accesible para el programa P20 de decodificación de vídeo almacenado en el medio SM de grabación, a través del dispositivo C12 de lectura, y se vuelve capaz de funcionar como el dispositivo 20 de decodificación de vídeo, basándose en el programa P20.
Tal como se muestra en la figura 19, el programa P10 de codificación de vídeo y el programa P20 de decodificación de vídeo pueden ser los proporcionados en forma de la señal CW de datos informáticos superpuesta sobre una onda portadora, a través de una red. En este caso, el ordenador C10 puede ejecutar el programa P10 o P20 después de almacenar en la memoria C16 el programa P10 de codificación de vídeo o el programa P20 de decodificación de vídeo recibidos mediante el dispositivo C24 de comunicación.
Tal como se muestra en la figura 38, el programa P10 de codificación de vídeo incluye un módulo M101 de división en bloques, un módulo M102 generador de subdivisión, un módulo M103 de almacenamiento, un módulo M104 de detección de movimiento, un módulo M105 de generación de señal predicha, un módulo M106 de predicción de movimiento, un módulo M107 de resta, un módulo M108 de generación de señal residual, un módulo M109 de transformada, un módulo M110 de cuantificación, un módulo M111 de cuantificación inversa, un módulo M112 de transformada inversa, un módulo M113 de suma y un módulo M114 de codificación por entropía.
En una realización, el módulo M101 de división en bloques, el módulo M102 generador de subdivisión, el módulo M103 de almacenamiento, el módulo M104 de detección de movimiento, el módulo M105 de generación de señal predicha, el módulo M106 de predicción de movimiento, el módulo M107 de resta, el módulo M108 de generación de señal residual, el módulo M109 de transformada, el módulo M110 de cuantificación, el módulo M111 de cuantificación inversa, el módulo M112 de transformada inversa, el módulo M113 de suma y el módulo M114 de codificación por entropía hacen que el ordenador C10 ejecute las mismas funciones que el divisor 501 en bloques, el generador 502 de subdivisión, la memoria 503 de tramas, el detector 504 de movimiento, el generador 505 de señal predicha, el predictor 506 de movimiento, el restador 507, el generador 508 de señal residual, transformador 509, el cuantificador 510, el cuantificador 511 inverso, el transformador 512 inverso, el sumador 513 y el codificador 514 por entropía, respectivamente, en el dispositivo 10 de codificación de vídeo. Basándose en este programa P10 de codificación de vídeo, el ordenador C10 se vuelve capaz de funcionar como el dispositivo 10 de codificación de vídeo.
Tal como se muestra en la figura 39, el programa P20 de decodificación de vídeo incluye un módulo M201 de decodificación de datos, un módulo M202 de predicción de movimiento, un módulo M203 de suma, un módulo M204 de cuantificación inversa, un módulo M205 de transformada inversa, un módulo M206 de almacenamiento, un módulo M207 de generación de señal predicha y un módulo M208 de suma.
En una realización, el módulo M201 de decodificación de datos, el módulo M202 de predicción de movimiento, el módulo M203 de suma, el módulo M204 de cuantificación inversa, el módulo M205 de transformada inversa, el módulo M206 de almacenamiento, el módulo M207 de generación de señal predicha y el módulo M208 de suma hacen que el ordenador C10 ejecute las mismas funciones que el decodificador 601 de datos, el predictor 602 de movimiento, el sumador 603, el cuantificador 604 inverso, el transformador 605 inverso, la memoria 606 de tramas, el generador 607 de señal predicha y el sumador 608, respectivamente, en el dispositivo 20 de decodificación de vídeo. Basándose en este programa P20 de decodificación de vídeo, el ordenador C10 se vuelve capaz de funcionar como el dispositivo 20 de decodificación de vídeo.
Lista de signos de referencia
100 dispositivo de codificación predictiva de imágenes; 101 terminal de entrada; 102 divisor en bloques; 103 generador de señal predicha; 104 memoria de tramas; 105 restador; 106 transformador; 107 cuantificador; 108 cuantificador inverso; 109 transformador inverso; 110 sumador; 111 codificador de coeficientes de transformada cuantificados; 112 terminal de salida; 113 selector de tipo de división en bloques de predicción; 114 estimador de información de movimiento; 115 memoria de información de predicción; 116 codificador de información de predicción; 201 terminal de entrada; 202 analizador de datos; 203 cuantificador inverso; 204 transformador inverso; 205 sumador; 206 terminal de salida; 207 decodificador de coeficientes de transformada cuantificados; 208 decodificador de información de predicción; 10 dispositivo de codificación de vídeo; 20 dispositivo de decodificación de vídeo; 501 divisor en bloques; 502 generador de subdivisión; 503 memoria de tramas; 504 detector de movimiento; 505 generador de señal predicha; 506 predictor de movimiento; 507 restador; 508 generador de señal residual; 509 transformador; 510 cuantificador; 511 cuantificador inverso; 512 transformador inverso; 513 sumador; 514 codificador por entropía; 601 decodificador
de datos; 602 predictor de movimiento; 603 sumador; 604 cuantificador inverso; 605 transformador inverso; 606 memoria de tramas; 607 generador de señal predicha; 608 sumador; 5061 memoria de vectores de movimiento; 5062 generador de candidato de referencia de movimiento; 5063 generador de predictor de vector de movimiento; 6021 memoria de vectores de movimiento; 6022 generador de candidato de referencia de movimiento; 6023 generador de predictor de vector de movimiento.
Claims (1)
- REIVINDICACIONESMétodo de decodificación predictiva de imágenes ejecutado mediante un procesador de un dispositivo de decodificación predictiva de imágenes para implementar:extraer a partir de datos de imagen comprimidos (a) información de predicción codificada que indica un método de predicción que va a usarse para derivar una señal de predicción de una región (400) objetivo que va a decodificarse y (b) una señal residual codificada, en el que los datos de imagen comprimidos son un resultado de la división de una imagen de entrada en una pluralidad de regiones (400) y la codificación de las regiones (400);decodificar la información de predicción codificada para restaurar información de tipo de división en bloques de predicción que indica un número de regiones de predicción subdivididas en la región (400) objetivo;si la información de tipo de división en bloques de predicción indica que la región (400) objetivo se divide de manera horizontal en una primera región (T1) de predicción en el lado superior y una segunda región (T2) de predicción en el lado inferior,decodificar además la información de predicción codificada para restaurar la primera información de identificación de fusión (merge_flag_T1) que indica si utilizar o no información de movimiento asociada con regiones (401, 402) adyacentes, adyacentes a la primera región (T1) de predicción cuando se genera una señal de predicción de la primera región (T1) de predicción y para restaurar la segunda información de identificación de fusión (merge_flag_T2) que indica si utilizar o no información de movimiento asociada con regiones (401, T1) adyacentes, adyacentes a la segunda región (T2) de predicción cuando se genera una señal de predicción de la segunda región (T2) de predicción;si la primera información de identificación de fusión (merge_flag_T1) indica que no se utilice la información de movimiento de las regiones (401, 402) adyacentes de la primera región (T1) de predicción, decodificar además la información de predicción codificada para restaurar la primera información de movimiento para su uso en la generación de la señal de predicción de la primera región (T1) de predicción;si la primera información de identificación de fusión (merge_flag_T1) indica que se utilice la información de movimiento de las regiones (401, 402) adyacentes de la primera región (T1) de predicción, decodificar además la información de predicción codificada para restaurar la primera información de selección (merge_flag_left_T1) que identifica la primera información de movimiento de fusión asociada con una región (401; 402) adyacente de la primera región (T1) de predicción para su uso en la generación de la señal de predicción de la primera región (T1) de predicción y para restaurar la primera información de movimiento de fusión identificada;si la segunda información de identificación de fusión (merge_flag_T2) indica que no se utilice la información de movimiento de las regiones (401, T1) adyacentes de la segunda región (T2) de predicción, decodificar además la información de predicción codificada para restaurar la segunda información de movimiento para su uso en la generación de la señal de predicción de la segunda región (T2) de predicción;si la segunda información de identificación de fusión (merge_flag_T2) indica que se utilice la información de movimiento de las regiones (401, T1) adyacentes de la segunda región (T2) de predicción, decodificar además la información de predicción codificada para restaurar la segunda información de selección (merge_flag_left_T2) que identifica la segunda información de movimiento de fusión asociada con una región (401; T1) adyacente de la segunda región (T2) de predicción para su uso en la generación de la señal de predicción de la segunda región (T2) de predicción y para restaurar la segunda información de movimiento de fusión identificada, en el que la primera información de movimiento de fusión se excluye de la información de movimiento de las regiones (401, T1) adyacentes de la segunda región (T2) de predicción a partir de la que se identifica la segunda información de movimiento de fusión mediante la segunda información de selección (merge_flag_left_T2);usando o bien la primera información de movimiento o bien la primera información de movimiento de fusión y o bien la segunda información de movimiento o bien la segunda información de movimiento de fusión, generar la señal de predicción de cada una de la primera y la segunda regiones (T1; T2) de predicción en la región (400) objetivo;decodificar la señal residual codificada para restaurar una señal residual para la región (400) objetivo; ygenerar una señal de píxeles restaurada de la región (400) objetivo a partir de la señal de predicción de cada una de la primera y la segunda regiones (T1; T2) de predicción y la señal residual restaurada y almacenar la señal de píxeles restaurada como una señal de imagen reconstruida,en el que la información de movimiento incluye un vector de movimiento y un número de tramas de referencia.Dispositivo (200) de decodificación predictiva de imágenes que comprende un procesador y una memoria que almacena un programa para programar el procesador para:extraer a partir de datos de imagen comprimidos (a) información de predicción codificada que indica un método de predicción que va a usarse para derivar una señal de predicción de una región (400) objetivo que va a decodificarse y (b) una señal residual codificada, en el que los datos de imagen comprimidos son un resultado de la división de una imagen de entrada en una pluralidad de regiones (400) y la codificación de las regiones (400);decodificar la información de predicción codificada para restaurar información de tipo de división en bloques de predicción que indica un número de regiones de predicción en la región (400) objetivo;si la información de tipo de división en bloques de predicción indica que la región (400) objetivo se divide de manera horizontal en una primera región (T1) de predicción en el lado superior y una segunda región (T2) de predicción en el lado inferior,decodificar además la información de predicción codificada para restaurar la primera información de identificación de fusión (merge_flag_T1) que indica si utilizar o no información de movimiento asociada con regiones (401, 402) adyacentes, adyacentes a la primera región (T1) de predicción cuando se genera una señal de predicción de la primera región (T1) de predicción y para restaurar la segunda información de identificación de fusión (merge_flag_T2) que indica si utilizar o no información de movimiento asociada con regiones (401, T1) adyacentes, adyacentes a la segunda región (T2) de predicción cuando se genera una señal de predicción de la segunda región (T2) de predicción;si la primera información de identificación de fusión (merge_flag_T1) indica que no se utilice la información de movimiento de las regiones (401, 402) adyacentes de la primera región (T1) de predicción, decodificar además la información de predicción codificada para restaurar la primera información de movimiento para su uso en la generación de la señal de predicción de la primera región (T1) de predicción;si la primera información de identificación de fusión (merge_flag_T1) indica que se utilice la información de movimiento de las regiones (401, 402) adyacentes de la primera región (T1) de predicción, decodificar además la información de predicción codificada para restaurar la primera información de selección (merge_flag_left_T1) que identifica la primera información de movimiento de fusión asociada con una región (401; 402) adyacente de la primera región (T1) de predicción para su uso en la generación de la señal de predicción de la primera región (T1) de predicción y para restaurar la primera información de movimiento de fusión identificada;si la segunda información de identificación de fusión (merge_flag_T2) indica que no se utilice la información de movimiento de las regiones (401, T1) adyacentes de la segunda región (T2) de predicción, decodificar además la información de predicción codificada para restaurar la segunda información de movimiento para su uso en la generación de la señal de predicción de la segunda región (T2) de predicción;si la segunda información de identificación de fusión (merge_flag_T2) indica que se utilice la información de movimiento de las regiones (401, T1) adyacentes de la segunda región (T2) de predicción, decodificar además la información de predicción codificada para restaurar la segunda información de selección (merge_flag_left_T2) que identifica la segunda información de movimiento de fusión asociada con una región (401; T1) adyacente de la segunda región (T2) de predicción para su uso en la generación de la señal de predicción de la segunda región (T2) de predicción y para restaurar la segunda información de movimiento de fusión identificada, en el que la primera información de movimiento de fusión se excluye de la información de movimiento de las regiones (401, T1) adyacentes de la segunda región (T2) de predicción a partir de la que se identifica la segunda información de movimiento de fusión mediante la segunda información de selección (merge_flag_left_T2);usando o bien la primera información de movimiento o bien la primera información de movimiento de fusión y o bien la segunda información de movimiento o bien la segunda información de movimiento de fusión, generar la señal de predicción de cada una de la primera y la segunda regiones (T1; T2) de predicción en la región (400) objetivo;decodificar la señal residual codificada para restaurar una señal residual para la región (400) objetivo; ygenerar una señal de píxeles reconstruida de la región (400) objetivo a partir de la señal de predicción de cada una de la primera y la segunda regiones (T1; T2) de predicción y la señal residual restaurada y almacenar la señal de píxeles generada como una señal de imagen reconstruida;en el que la información de movimiento incluye un vector de movimiento un número de tramas de referencia.Ċ
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010163245 | 2010-07-20 | ||
JP2010174869 | 2010-08-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2887307T3 true ES2887307T3 (es) | 2021-12-22 |
Family
ID=45496857
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES11809603T Active ES2820437T3 (es) | 2010-07-20 | 2011-07-14 | Método de codificación predictiva de imágenes, dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes y programa de decodificación predictiva de imágenes |
ES16167025T Active ES2785606T3 (es) | 2010-07-20 | 2011-07-14 | Dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes |
ES20150893T Active ES2887236T3 (es) | 2010-07-20 | 2011-07-14 | Método de decodificación predictiva de imágenes |
ES20150900T Active ES2926898T3 (es) | 2010-07-20 | 2011-07-14 | Dispositivo de decodificación predictiva de imágenes y método de decodificación predictiva de imágenes |
ES20150888T Active ES2887307T3 (es) | 2010-07-20 | 2011-07-14 | Dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes |
ES20150892T Active ES2955687T3 (es) | 2010-07-20 | 2011-07-14 | Método de decodificación predictiva de imágenes |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES11809603T Active ES2820437T3 (es) | 2010-07-20 | 2011-07-14 | Método de codificación predictiva de imágenes, dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes y programa de decodificación predictiva de imágenes |
ES16167025T Active ES2785606T3 (es) | 2010-07-20 | 2011-07-14 | Dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes |
ES20150893T Active ES2887236T3 (es) | 2010-07-20 | 2011-07-14 | Método de decodificación predictiva de imágenes |
ES20150900T Active ES2926898T3 (es) | 2010-07-20 | 2011-07-14 | Dispositivo de decodificación predictiva de imágenes y método de decodificación predictiva de imágenes |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES20150892T Active ES2955687T3 (es) | 2010-07-20 | 2011-07-14 | Método de decodificación predictiva de imágenes |
Country Status (19)
Country | Link |
---|---|
US (8) | US9185409B2 (es) |
EP (6) | EP3661204B8 (es) |
JP (8) | JP5661114B2 (es) |
KR (7) | KR101809187B1 (es) |
CN (7) | CN105847837B (es) |
AU (1) | AU2011280629B2 (es) |
BR (1) | BR112013001351B1 (es) |
CA (8) | CA3102661C (es) |
DK (6) | DK3661204T3 (es) |
ES (6) | ES2820437T3 (es) |
FI (1) | FI3661210T3 (es) |
HU (4) | HUE056567T2 (es) |
MX (5) | MX2013000666A (es) |
PL (3) | PL3664453T3 (es) |
PT (6) | PT3661204T (es) |
RU (8) | RU2573208C2 (es) |
SG (1) | SG187094A1 (es) |
TW (2) | TWI519140B (es) |
WO (1) | WO2012011432A1 (es) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DK3567852T3 (da) | 2009-03-23 | 2023-01-16 | Ntt Docomo Inc | Billedforudsigelsesafkodningsindretning og billedforudsigelsesafkodningsfremgangsmåde |
CN103385002A (zh) * | 2010-02-17 | 2013-11-06 | 韩国电子通信研究院 | 用于对超高清图像进行编码的装置及其方法、以及解码装置及其方法 |
ES2820437T3 (es) | 2010-07-20 | 2021-04-21 | Ntt Docomo Inc | Método de codificación predictiva de imágenes, dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes y programa de decodificación predictiva de imágenes |
JP5698541B2 (ja) * | 2011-01-12 | 2015-04-08 | 株式会社Nttドコモ | 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム |
JP5857244B2 (ja) * | 2011-03-07 | 2016-02-10 | パナソニックIpマネジメント株式会社 | 動き補償装置、動画像符号化装置、動画像復号装置、動き補償方法、プログラム、及び集積回路 |
JP2013207402A (ja) * | 2012-03-27 | 2013-10-07 | Nippon Hoso Kyokai <Nhk> | 画像符号化装置及びプログラム |
TWI597967B (zh) * | 2012-04-06 | 2017-09-01 | Jvc Kenwood Corp | Video decoding apparatus, video decoding method, and video decoding program medium |
TWI657696B (zh) * | 2012-04-16 | 2019-04-21 | 日商Jvc建伍股份有限公司 | 動態影像編碼裝置、動態影像編碼方法、及記錄動態影像編碼程式之記錄媒體 |
GB2501535A (en) | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
JP5972687B2 (ja) * | 2012-07-02 | 2016-08-17 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム |
JP5798539B2 (ja) * | 2012-09-24 | 2015-10-21 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測符号化方法、動画像予測復号装置及び動画像予測復号方法 |
JP5719401B2 (ja) * | 2013-04-02 | 2015-05-20 | 日本電信電話株式会社 | ブロックサイズ決定方法、映像符号化装置、及びプログラム |
CN103702127B (zh) * | 2013-12-30 | 2016-10-12 | 清华大学 | 基于运动向量相关性的运动估计搜索范围预测方法和系统 |
WO2015100729A1 (en) * | 2014-01-03 | 2015-07-09 | Mediatek Singapore Pte. Ltd. | Improved merging candidate list construction in 3dvc |
CN103841405B (zh) * | 2014-03-21 | 2016-07-06 | 华为技术有限公司 | 深度图像的编解码方法和编解码装置 |
WO2015196333A1 (en) * | 2014-06-23 | 2015-12-30 | Mediatek Singapore Pte. Ltd. | Segmental prediction for video coding |
WO2015196966A1 (en) * | 2014-06-23 | 2015-12-30 | Mediatek Singapore Pte. Ltd. | Method of segmental prediction for depth and texture data in 3d and multi-view coding systems |
WO2016044979A1 (en) * | 2014-09-22 | 2016-03-31 | Mediatek Singapore Pte. Ltd. | Segmental prediction for video coding |
US10681371B2 (en) | 2015-06-07 | 2020-06-09 | Lg Electronics Inc. | Method and device for performing deblocking filtering |
WO2017026681A1 (ko) * | 2015-08-07 | 2017-02-16 | 엘지전자 주식회사 | 비디오 코딩 시스템에서 인터 예측 방법 및 장치 |
KR20180040517A (ko) * | 2015-09-10 | 2018-04-20 | 삼성전자주식회사 | 비디오 부호화, 복호화 방법 및 장치 |
US10375156B2 (en) | 2015-09-11 | 2019-08-06 | Facebook, Inc. | Using worker nodes in a distributed video encoding system |
US10602157B2 (en) | 2015-09-11 | 2020-03-24 | Facebook, Inc. | Variable bitrate control for distributed video encoding |
US10341561B2 (en) * | 2015-09-11 | 2019-07-02 | Facebook, Inc. | Distributed image stabilization |
US10499070B2 (en) | 2015-09-11 | 2019-12-03 | Facebook, Inc. | Key frame placement for distributed video encoding |
US10506235B2 (en) | 2015-09-11 | 2019-12-10 | Facebook, Inc. | Distributed control of video encoding speeds |
US10063872B2 (en) | 2015-09-11 | 2018-08-28 | Facebook, Inc. | Segment based encoding of video |
US10602153B2 (en) | 2015-09-11 | 2020-03-24 | Facebook, Inc. | Ultra-high video compression |
FR3047379A1 (fr) * | 2016-01-29 | 2017-08-04 | Orange | Procede de codage et decodage de donnees, dispositif de codage et decodage de donnees et programmes d'ordinateur correspondants |
CN109565595B (zh) * | 2016-06-24 | 2021-06-22 | 华为技术有限公司 | 一种使用基于分割的视频编码块划分的视频编码设备和方法 |
US20190253624A1 (en) * | 2017-07-17 | 2019-08-15 | Ki Baek Kim | Image data encoding/decoding method and apparatus |
US10957068B2 (en) * | 2017-01-06 | 2021-03-23 | Canon Kabushiki Kaisha | Information processing apparatus and method of controlling the same |
JP6894707B2 (ja) * | 2017-01-06 | 2021-06-30 | キヤノン株式会社 | 情報処理装置およびその制御方法、プログラム |
US10218448B2 (en) * | 2017-02-02 | 2019-02-26 | Osram Sylvania Inc. | System and method for determining vehicle position based upon light-based communication and time-of-flight measurements |
US10531085B2 (en) * | 2017-05-09 | 2020-01-07 | Futurewei Technologies, Inc. | Coding chroma samples in video compression |
CN110999303B (zh) * | 2017-08-22 | 2023-07-07 | 松下电器(美国)知识产权公司 | 图像编码器、图像解码器、图像编码方法和图像解码方法 |
CN111264060B (zh) * | 2017-10-20 | 2023-10-17 | 富士通株式会社 | 动态图像编码装置、动态图像编码方法和存储介质 |
CN107659804B (zh) * | 2017-10-30 | 2019-03-12 | 河海大学 | 一种针对虚拟现实头戴式显示设备的屏幕内容视频编码算法 |
US11025904B2 (en) * | 2018-06-08 | 2021-06-01 | Tencent America LLC | Method and apparatus for temporal motion vector prediction |
CN110662076B (zh) * | 2018-06-29 | 2022-10-04 | 北京字节跳动网络技术有限公司 | 子块的边界增强 |
CN110677679B (zh) * | 2018-07-01 | 2022-07-26 | 北京字节跳动网络技术有限公司 | 依赖形状的帧内编码 |
US11671619B2 (en) | 2018-07-02 | 2023-06-06 | Intellectual Discovery Co., Ltd. | Video coding method and device using merge candidate |
US10404980B1 (en) * | 2018-07-10 | 2019-09-03 | Tencent America LLC | Intra prediction with wide angle mode in video coding |
WO2020059051A1 (ja) * | 2018-09-19 | 2020-03-26 | 富士通株式会社 | 映像符号化装置、映像符号化方法、映像符号化プログラム、映像復号装置、映像復号方法、及び映像復号プログラム |
CN109547781B (zh) * | 2018-10-26 | 2020-12-22 | 嘉兴奥恒进出口有限公司 | 基于图像预测的压缩方法及设备 |
FR3088511B1 (fr) * | 2018-11-09 | 2021-05-28 | Fond B Com | Procede de decodage d’au moins une image, procede de codage, dispositifs, signal et programmes d’ordinateur correspondants. |
CN111263144B (zh) * | 2018-11-30 | 2022-07-01 | 杭州海康威视数字技术股份有限公司 | 一种运动信息确定方法及其设备 |
US11102513B2 (en) * | 2018-12-06 | 2021-08-24 | Tencent America LLC | One-level transform split and adaptive sub-block transform |
US11533506B2 (en) * | 2019-02-08 | 2022-12-20 | Tencent America LLC | Method and apparatus for video coding |
AR118250A1 (es) | 2019-03-08 | 2021-09-22 | Jvckenwood Corp | Dispositivos, métodos y programas de codificación y decodificación de imágenes en movimiento |
FI3915254T3 (fi) * | 2019-03-12 | 2023-12-28 | Beijing Dajia Internet Information Tech Co Ltd | Videokoodauksen menetelmät ja laitteistot kolmion muotoista ennustuskenttää varten |
CN114009047A (zh) * | 2019-06-23 | 2022-02-01 | Lg 电子株式会社 | 视频/图像编译系统中用于合并数据语法的信令方法和装置 |
Family Cites Families (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3869672A (en) | 1972-05-13 | 1975-03-04 | Int Standard Electric Corp | Method and arrangements for the digital control of operating functions, radio and television receivers |
KR0166716B1 (ko) | 1992-06-18 | 1999-03-20 | 강진구 | 블럭 dpcm을 이용한 부호화/복호화방법 및 장치 |
JPH07264598A (ja) | 1994-03-23 | 1995-10-13 | Nippon Telegr & Teleph Corp <Ntt> | 動き補償方法、動きベクトル検出回路および動き補償回路 |
US5608458A (en) | 1994-10-13 | 1997-03-04 | Lucent Technologies Inc. | Method and apparatus for a region-based approach to coding a sequence of video images |
US5682204A (en) | 1995-12-26 | 1997-10-28 | C Cube Microsystems, Inc. | Video encoder which uses intra-coding when an activity level of a current macro-block is smaller than a threshold level |
WO1997027707A1 (en) | 1996-01-22 | 1997-07-31 | Matsushita Electric Industrial Co., Ltd. | Digital image encoding and decoding method and digital image encoding and decoding device using the same |
KR100371130B1 (ko) | 1996-05-28 | 2003-02-07 | 마쯔시다덴기산교 가부시키가이샤 | 화상예측 복호화 장치 및 그 방법과 화상예측 부호화 장치및 그 방법 |
EP0817499A3 (en) | 1996-06-28 | 2002-05-22 | Matsushita Electric Industrial Co., Ltd. | Image coding method using extrapolated pixels in insignificant areas of blocks |
JP2004343788A (ja) | 1996-10-31 | 2004-12-02 | Toshiba Corp | 画像符号化装置および画像復号化装置および画像符号化データを記録した記録媒体 |
US6687405B1 (en) | 1996-11-13 | 2004-02-03 | Koninklijke Philips Electronics N.V. | Image segmentation |
CN1155259C (zh) * | 1996-11-26 | 2004-06-23 | 松下电器产业株式会社 | 运动图象可变比特率编码装置和编码方法 |
US6359929B1 (en) | 1997-07-04 | 2002-03-19 | Matsushita Electric Industrial Co., Ltd. | Image predictive decoding method, image predictive decoding apparatus, image predictive coding apparatus, and data storage medium |
KR100563756B1 (ko) * | 1997-11-05 | 2006-03-24 | 소니 가부시끼 가이샤 | 디지탈 신호 변환 방법 및 디지탈 신호 변환 장치 |
US6483521B1 (en) | 1998-02-02 | 2002-11-19 | Matsushita Electric Industrial Co., Ltd. | Image composition method, image composition apparatus, and data recording media |
US7184482B2 (en) * | 1999-04-17 | 2007-02-27 | Altera Corporation | Encoding system using motion vectors to represent frame-to-frame changes, wherein a decoder uses predictions of motion vectors in decoding |
US6765964B1 (en) * | 2000-12-06 | 2004-07-20 | Realnetworks, Inc. | System and method for intracoding video data |
US7643559B2 (en) | 2001-09-14 | 2010-01-05 | Ntt Docomo, Inc. | Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program |
CN1285216C (zh) | 2001-11-16 | 2006-11-15 | 株式会社Ntt都科摩 | 图像编码方法和装置、图像译码方法和装置 |
JP3861698B2 (ja) * | 2002-01-23 | 2006-12-20 | ソニー株式会社 | 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム |
US7003035B2 (en) | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
ES2745058T3 (es) | 2002-04-19 | 2020-02-27 | Panasonic Ip Corp America | Método de cálculo de vectores de movimiento |
AU2003281133A1 (en) | 2002-07-15 | 2004-02-02 | Hitachi, Ltd. | Moving picture encoding method and decoding method |
JP3504256B1 (ja) | 2002-12-10 | 2004-03-08 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化方法、動画像復号方法、動画像符号化装置、及び動画像復号装置 |
KR100560843B1 (ko) | 2003-04-10 | 2006-03-13 | 에스케이 텔레콤주식회사 | 비디오 부호기에서 적응 움직임 벡터의 탐색 영역을결정하는 방법 및 장치 |
JP4373702B2 (ja) | 2003-05-07 | 2009-11-25 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム |
JP2005005844A (ja) | 2003-06-10 | 2005-01-06 | Hitachi Ltd | 計算装置及び符号化処理プログラム |
US9210441B2 (en) | 2003-06-25 | 2015-12-08 | Thomson Licensing | Fast mode-decision encoding for interframes |
US7646815B2 (en) * | 2003-07-15 | 2010-01-12 | Lsi Corporation | Intra estimation chroma mode 0 sub-block dependent prediction |
US20050013498A1 (en) | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US7400681B2 (en) | 2003-11-28 | 2008-07-15 | Scientific-Atlanta, Inc. | Low-complexity motion vector prediction for video codec with two lists of reference pictures |
JP4213646B2 (ja) | 2003-12-26 | 2009-01-21 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、及び画像復号プログラム。 |
JP4313710B2 (ja) | 2004-03-25 | 2009-08-12 | パナソニック株式会社 | 画像符号化方法および画像復号化方法 |
JP4414904B2 (ja) | 2004-04-16 | 2010-02-17 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム |
CN101023672A (zh) * | 2004-07-12 | 2007-08-22 | 诺基亚公司 | 在可调整视频编码中用于运动预测的系统和方法 |
KR100907847B1 (ko) * | 2004-07-20 | 2009-07-14 | 퀄컴 인코포레이티드 | 순간적 비디오 압축으로 이동 벡터 예측을 위한 방법 및장치 |
US8085846B2 (en) | 2004-08-24 | 2011-12-27 | Thomson Licensing | Method and apparatus for decoding hybrid intra-inter coded blocks |
CN100471280C (zh) * | 2005-01-07 | 2009-03-18 | 株式会社Ntt都科摩 | 运动图像编码及译码装置、方法 |
KR101108681B1 (ko) | 2005-01-19 | 2012-01-25 | 삼성전자주식회사 | 동영상 코덱에서의 주파수 변환 계수 예측 방법 및 장치,이를 구비한 부호화 및 복호화 장치와 방법 |
US7580456B2 (en) * | 2005-03-01 | 2009-08-25 | Microsoft Corporation | Prediction-based directional fractional pixel motion estimation for video coding |
US20070025444A1 (en) | 2005-07-28 | 2007-02-01 | Shigeyuki Okada | Coding Method |
US8446954B2 (en) | 2005-09-27 | 2013-05-21 | Qualcomm Incorporated | Mode selection techniques for multimedia coding |
KR100977101B1 (ko) | 2005-11-30 | 2010-08-23 | 가부시끼가이샤 도시바 | 화상 부호화/화상 복호화 방법 및 화상 부호화/화상 복호화장치 |
US8446956B2 (en) * | 2006-01-05 | 2013-05-21 | Thomson Licensing | Inter-layer motion prediction method using resampling |
TW200806040A (en) * | 2006-01-05 | 2008-01-16 | Nippon Telegraph & Telephone | Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs |
EP1995967A4 (en) | 2006-03-16 | 2009-11-11 | Huawei Tech Co Ltd | METHOD AND APPARATUS FOR ADAPTIVE QUANTIFICATION IN AN ENCODING PROCEDURE |
JP5002286B2 (ja) | 2006-04-27 | 2012-08-15 | キヤノン株式会社 | 画像符号化装置、画像符号化方法、プログラム及び記憶媒体 |
CN101455087B (zh) * | 2006-05-24 | 2011-01-12 | 松下电器产业株式会社 | 图像编码装置、图像编码方法及图像编码用集成电路 |
US20080026729A1 (en) | 2006-07-31 | 2008-01-31 | Research In Motion Limited | Method and apparatus for configuring unique profile settings for multiple services |
CN101502119B (zh) | 2006-08-02 | 2012-05-23 | 汤姆逊许可公司 | 用于视频编码的自适应几何分割方法和设备 |
KR101382101B1 (ko) * | 2006-08-25 | 2014-04-07 | 톰슨 라이센싱 | 감소된 해상도의 파티셔닝을 위한 방법 및 장치 |
US8355438B2 (en) * | 2006-10-30 | 2013-01-15 | Nippon Telegraph And Telephone Corporation | Predicted reference information generating method, video encoding and decoding methods, apparatuses therefor, programs therefor, and storage media which store the programs |
KR101383540B1 (ko) | 2007-01-03 | 2014-04-09 | 삼성전자주식회사 | 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법 |
BRPI0720806B1 (pt) * | 2007-01-18 | 2023-03-28 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Corrente de dados de vídeo de qualidade escalonável |
US20080240242A1 (en) | 2007-03-27 | 2008-10-02 | Nokia Corporation | Method and system for motion vector predictions |
WO2008126843A1 (ja) | 2007-04-09 | 2008-10-23 | Ntt Docomo, Inc. | 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法および画像予測復号プログラム |
JP5666293B2 (ja) | 2007-04-12 | 2015-02-12 | トムソン ライセンシングThomson Licensing | ビデオ・エンコーディング、およびデコーディングのためのスキップ/ダイレクトモードのコンテクストに依存するマージのための方法と装置 |
JP4788649B2 (ja) | 2007-04-27 | 2011-10-05 | 株式会社日立製作所 | 動画像記録方法及びその装置 |
JP5188875B2 (ja) * | 2007-06-04 | 2013-04-24 | 株式会社エヌ・ティ・ティ・ドコモ | 画像予測符号化装置、画像予測復号装置、画像予測符号化方法、画像予測復号方法、画像予測符号化プログラム、及び画像予測復号プログラム |
JP2008311781A (ja) | 2007-06-12 | 2008-12-25 | Ntt Docomo Inc | 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム |
JP4947364B2 (ja) | 2007-06-22 | 2012-06-06 | ソニー株式会社 | 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム |
KR100901874B1 (ko) | 2007-07-11 | 2009-06-09 | 한국전자통신연구원 | 비디오 인코딩을 위한 인터 모드 결정 방법 |
JP4678015B2 (ja) * | 2007-07-13 | 2011-04-27 | 富士通株式会社 | 動画像符号化装置及び動画像符号化方法 |
KR101408698B1 (ko) | 2007-07-31 | 2014-06-18 | 삼성전자주식회사 | 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치 |
JP2009111691A (ja) | 2007-10-30 | 2009-05-21 | Hitachi Ltd | 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法 |
US20090168871A1 (en) * | 2007-12-31 | 2009-07-02 | Ning Lu | Video motion estimation |
JP4990927B2 (ja) | 2008-03-28 | 2012-08-01 | 三星電子株式会社 | 動きベクトル情報の符号化/復号化方法及び装置 |
JP5406465B2 (ja) * | 2008-04-24 | 2014-02-05 | 株式会社Nttドコモ | 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム |
US8548041B2 (en) * | 2008-09-25 | 2013-10-01 | Mediatek Inc. | Adaptive filter |
CN102224734B (zh) | 2008-10-02 | 2013-11-13 | 索尼公司 | 图像处理设备和方法 |
RU2011122801A (ru) | 2008-11-07 | 2012-12-20 | Мицубиси Электрик Корпорейшн | Кодер изображения и декодер изображения |
US9560368B2 (en) * | 2008-12-03 | 2017-01-31 | Hitachi Maxell, Ltd. | Moving picture decoding method and moving picture encoding method |
DK3567852T3 (da) | 2009-03-23 | 2023-01-16 | Ntt Docomo Inc | Billedforudsigelsesafkodningsindretning og billedforudsigelsesafkodningsfremgangsmåde |
US9626769B2 (en) * | 2009-09-04 | 2017-04-18 | Stmicroelectronics International N.V. | Digital video encoder system, method, and non-transitory computer-readable medium for tracking object regions |
CN106067983B (zh) * | 2010-04-13 | 2019-07-12 | Ge视频压缩有限责任公司 | 解码数据流的方法、生成数据流的方法及解码器 |
US9100655B2 (en) * | 2010-04-13 | 2015-08-04 | Panasonic Intellectual Property Corporation Of America | Motion compensation method, image decoding method, image coding method, motion compensation apparatus, program, and integrated circuit |
WO2012005520A2 (en) | 2010-07-09 | 2012-01-12 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging |
KR101484281B1 (ko) * | 2010-07-09 | 2015-01-21 | 삼성전자주식회사 | 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치 |
ES2820437T3 (es) * | 2010-07-20 | 2021-04-21 | Ntt Docomo Inc | Método de codificación predictiva de imágenes, dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes y programa de decodificación predictiva de imágenes |
PL3637778T3 (pl) * | 2010-10-06 | 2024-09-23 | Ntt Docomo, Inc. | Sposób dwupredykcyjnego dekodowania obrazu |
KR20120140181A (ko) * | 2011-06-20 | 2012-12-28 | 한국전자통신연구원 | 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치 |
CN107105279B (zh) * | 2011-09-23 | 2020-03-06 | 株式会社Kt | 用于引导合并候选块的方法和使用该方法的设备 |
-
2011
- 2011-07-14 ES ES11809603T patent/ES2820437T3/es active Active
- 2011-07-14 ES ES16167025T patent/ES2785606T3/es active Active
- 2011-07-14 CN CN201610333621.0A patent/CN105847837B/zh active Active
- 2011-07-14 CA CA3102661A patent/CA3102661C/en active Active
- 2011-07-14 EP EP20150888.4A patent/EP3661204B8/en active Active
- 2011-07-14 DK DK20150888.4T patent/DK3661204T3/da active
- 2011-07-14 KR KR1020177023414A patent/KR101809187B1/ko active IP Right Grant
- 2011-07-14 ES ES20150893T patent/ES2887236T3/es active Active
- 2011-07-14 EP EP20150893.4A patent/EP3661211B1/en active Active
- 2011-07-14 ES ES20150900T patent/ES2926898T3/es active Active
- 2011-07-14 DK DK11809603.1T patent/DK2597874T3/da active
- 2011-07-14 KR KR1020167005085A patent/KR101695170B1/ko active IP Right Grant
- 2011-07-14 FI FIEP20150892.6T patent/FI3661210T3/fi active
- 2011-07-14 PL PL20150900.7T patent/PL3664453T3/pl unknown
- 2011-07-14 DK DK16167025.2T patent/DK3070945T3/da active
- 2011-07-14 PT PT201508884T patent/PT3661204T/pt unknown
- 2011-07-14 BR BR112013001351-6A patent/BR112013001351B1/pt active IP Right Grant
- 2011-07-14 CN CN201610333360.2A patent/CN105898326B/zh active Active
- 2011-07-14 EP EP16167025.2A patent/EP3070945B1/en active Active
- 2011-07-14 SG SG2013003330A patent/SG187094A1/en unknown
- 2011-07-14 EP EP20150892.6A patent/EP3661210B1/en active Active
- 2011-07-14 CN CN201510581986.0A patent/CN105120278B/zh active Active
- 2011-07-14 CA CA2805735A patent/CA2805735C/en active Active
- 2011-07-14 PT PT201508926T patent/PT3661210T/pt unknown
- 2011-07-14 MX MX2013000666A patent/MX2013000666A/es active IP Right Grant
- 2011-07-14 KR KR1020177010220A patent/KR101770662B1/ko active IP Right Grant
- 2011-07-14 MX MX2015006752A patent/MX338236B/es unknown
- 2011-07-14 KR KR1020137002442A patent/KR101600919B1/ko active IP Right Grant
- 2011-07-14 CN CN201510582309.0A patent/CN105120279B/zh active Active
- 2011-07-14 CN CN201610334889.6A patent/CN105898327B/zh active Active
- 2011-07-14 HU HUE20150893A patent/HUE056567T2/hu unknown
- 2011-07-14 HU HUE20150892A patent/HUE063032T2/hu unknown
- 2011-07-14 HU HUE20150888A patent/HUE056566T2/hu unknown
- 2011-07-14 EP EP11809603.1A patent/EP2597874B1/en active Active
- 2011-07-14 DK DK20150900.7T patent/DK3664453T3/da active
- 2011-07-14 KR KR1020167036903A patent/KR101729051B1/ko active IP Right Grant
- 2011-07-14 RU RU2013107368/08A patent/RU2573208C2/ru active
- 2011-07-14 PT PT201508934T patent/PT3661211T/pt unknown
- 2011-07-14 HU HUE20150900A patent/HUE059918T2/hu unknown
- 2011-07-14 RU RU2015147149A patent/RU2619202C1/ru active
- 2011-07-14 KR KR1020177035198A patent/KR101903643B1/ko active IP Right Review Request
- 2011-07-14 ES ES20150888T patent/ES2887307T3/es active Active
- 2011-07-14 ES ES20150892T patent/ES2955687T3/es active Active
- 2011-07-14 JP JP2012525384A patent/JP5661114B2/ja active Active
- 2011-07-14 CA CA3011236A patent/CA3011236C/en active Active
- 2011-07-14 PL PL20150893T patent/PL3661211T3/pl unknown
- 2011-07-14 CA CA3011217A patent/CA3011217C/en active Active
- 2011-07-14 MX MX2016004440A patent/MX350471B/es unknown
- 2011-07-14 AU AU2011280629A patent/AU2011280629B2/en active Active
- 2011-07-14 PT PT201509007T patent/PT3664453T/pt unknown
- 2011-07-14 CN CN201510582331.5A patent/CN105120280B/zh active Active
- 2011-07-14 DK DK20150893.4T patent/DK3661211T3/da active
- 2011-07-14 CA CA3050052A patent/CA3050052A1/en not_active Abandoned
- 2011-07-14 CA CA2903530A patent/CA2903530C/en active Active
- 2011-07-14 EP EP20150900.7A patent/EP3664453B1/en active Active
- 2011-07-14 MX MX2017011451A patent/MX367864B/es unknown
- 2011-07-14 CA CA3011241A patent/CA3011241C/en active Active
- 2011-07-14 PT PT118096031T patent/PT2597874T/pt unknown
- 2011-07-14 CN CN201180035347.4A patent/CN103004206B/zh active Active
- 2011-07-14 DK DK20150892.6T patent/DK3661210T3/da active
- 2011-07-14 CA CA3011221A patent/CA3011221C/en active Active
- 2011-07-14 PL PL20150892.6T patent/PL3661210T3/pl unknown
- 2011-07-14 KR KR1020177010219A patent/KR101772183B1/ko active IP Right Grant
- 2011-07-14 PT PT161670252T patent/PT3070945T/pt unknown
- 2011-07-14 WO PCT/JP2011/066120 patent/WO2012011432A1/ja active Application Filing
- 2011-07-19 TW TW103137226A patent/TWI519140B/zh active
- 2011-07-19 TW TW100125447A patent/TWI469646B/zh active
-
2013
- 2013-01-17 MX MX2019010472A patent/MX2019010472A/es unknown
- 2013-01-18 US US13/745,414 patent/US9185409B2/en active Active
-
2014
- 2014-12-02 JP JP2014244133A patent/JP5712330B2/ja active Active
-
2015
- 2015-03-09 JP JP2015045725A patent/JP5951063B2/ja active Active
- 2015-10-01 US US14/872,826 patent/US9497480B2/en active Active
-
2016
- 2016-04-20 JP JP2016084633A patent/JP2016165135A/ja active Pending
- 2016-09-30 US US15/282,580 patent/US9794592B2/en active Active
-
2017
- 2017-04-27 RU RU2017114671A patent/RU2658798C1/ru active
- 2017-04-27 RU RU2017114672A patent/RU2667716C1/ru active
- 2017-09-15 US US15/706,424 patent/US9986261B2/en active Active
-
2018
- 2018-03-19 JP JP2018051220A patent/JP6535780B2/ja active Active
- 2018-04-27 US US15/965,514 patent/US10225580B2/en active Active
- 2018-04-27 US US15/965,427 patent/US10230987B2/en active Active
- 2018-04-27 US US15/965,484 patent/US10063888B1/en active Active
- 2018-05-22 RU RU2018118781A patent/RU2685390C1/ru active
- 2018-05-22 RU RU2018118780A patent/RU2685389C1/ru active
- 2018-05-22 RU RU2018118779A patent/RU2685388C1/ru active
- 2018-05-22 RU RU2018118778A patent/RU2685393C1/ru active
- 2018-07-19 US US16/040,532 patent/US10542287B2/en active Active
-
2019
- 2019-06-03 JP JP2019103922A patent/JP2019140703A/ja active Pending
- 2019-06-03 JP JP2019103920A patent/JP2019165499A/ja active Pending
- 2019-06-03 JP JP2019103923A patent/JP2019140704A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2887307T3 (es) | Dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes | |
AU2020201373B2 (en) | Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program | |
AU2015252039B2 (en) | Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program |