ES2936314T3 - Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento - Google Patents

Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento Download PDF

Info

Publication number
ES2936314T3
ES2936314T3 ES20217808T ES20217808T ES2936314T3 ES 2936314 T3 ES2936314 T3 ES 2936314T3 ES 20217808 T ES20217808 T ES 20217808T ES 20217808 T ES20217808 T ES 20217808T ES 2936314 T3 ES2936314 T3 ES 2936314T3
Authority
ES
Spain
Prior art keywords
motion vector
vector predictor
predictor candidate
determining
ref
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES20217808T
Other languages
English (en)
Inventor
Akira Fujibayashi
Yoshinori Suzuki
Choong Seng Boon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Application granted granted Critical
Publication of ES2936314T3 publication Critical patent/ES2936314T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un método de codificación predictiva de vectores de movimiento según una realización incluye: (a) un paso de determinar un vector de movimiento de una partición objetivo en una imagen de cuadro de un objetivo de codificación; (b) un paso de determinar un primer candidato predictor de vector de movimiento a partir de un vector de movimiento o vectores de movimiento de una o más particiones pertenecientes a una región vecina a la izquierda de la partición objetivo; (c) una etapa de determinar un segundo candidato predictor de vector de movimiento a partir de un vector de movimiento o vectores de movimiento de una o más particiones pertenecientes a una región vecina anterior a la partición de destino; (d) una etapa de selección de un predictor de vector de movimiento óptimo y salida de información de indicación del predictor de vector de movimiento para especificar el predictor de vector de movimiento óptimo seleccionado, el predictor de vector de movimiento óptimo seleccionado en base a la comparación entre uno o más candidatos a predictor de vector de movimiento que incluyen el primer candidato a predictor de vector de movimiento y el segundo candidato a predictor de vector de movimiento, y el vector de movimiento de la partición objetivo; y (e) un paso de codificar la información de indicación del predictor de vector de movimiento. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento
Campo técnico
Las realizaciones de la presente invención se refieren a un procedimiento de codificación predictiva, un dispositivo de codificación predictiva y un programa de codificación predictiva de un vector de movimiento y a un procedimiento de descodificación predictiva, un dispositivo de descodificación predictiva y un programa de descodificación predictiva de un vector de movimiento.
Antecedentes de la técnica
La tecnología de predicción con compensación de movimiento se usa de manera ocasional en la codificación de vídeo y la descodificación de vídeo. En la tecnología de compensación de movimiento, una trama de un objetivo de procesamiento en una secuencia de vídeo se divide en una pluralidad de particiones. Estas particiones se seleccionan secuencialmente como partición de un objetivo de procesamiento (partición de destino). Entonces se determina un vector de movimiento para la partición de destino. En la tecnología de predicción con compensación de movimiento, se determina un predictor de vector de movimiento usando vectores de movimiento de particiones vecinas de la partición de destino y el vector de movimiento de la partición de destino se codifica de manera predictiva o se descodifica de manera predictiva en algunos casos.
Las figuras 1A y 1B son dibujos para ilustrar particiones vecinas rectangulares usadas en la predicción con compensación de movimiento. En la figura 1A, la forma de la partición BT de destino es idéntica a la forma de las particiones BL, BA y BRA vecinas. La partición BL vecina a la izquierda incluye un píxel vecino existente en el lado izquierdo del píxel arriba y a la izquierda en la partición BT de destino; la partición Ba vecina por encima incluye un píxel vecino existente por encima del píxel arriba y a la izquierda en la partición BT de destino; la partición BRA vecina por encima a la derecha incluye un píxel vecino existente por encima y en el lado derecho del píxel arriba y a la derecha en la partición BT de destino. La tecnología H.264/AVC convencional emplea un predictor de vector de movimiento que tiene valores de mediana de componentes horizontales y componentes verticales de vectores de movimiento de la partición BL vecina a la izquierda, la partición BA vecina por encima y la partición BRA vecina por encima y a la derecha.
Por otro lado, la figura 1B ilustra un caso en el que hay una pluralidad de particiones vecinas que tienen formas respectivas diferentes de la forma de la partición BT de destino. La pluralidad de particiones vecinas en la figura 1B incluyen particiones BL1, BL2, BA1, bA2, BD y BE vecinas, además de la partición BL vecina a la izquierda, la partición BA vecina por encima y la partición BRA vecina por encima y a la derecha. Según la tecnología descrita en la bibliografía de patente 1, la pluralidad de particiones vecinas se exploran en un orden espacial predeterminado para especificar una partición vecina con la mejor similitud espacial con respecto a una señal de píxel de la partición de destino, y se usa un vector de movimiento de la partición vecina así especificada como un predictor de vector de movimiento. En la tecnología de la bibliografía de patente 1, la similitud espacial que va a usarse es la suma de diferencias absolutas (SAD) entre la señal de píxel de la partición de destino y la señal de píxel de la partición vecina.
La bibliografía no de patente 1 divulga un procedimiento de descodificación para unidades de predicción en modo inter-predicción que genera muestras de predicción.
Lista de referencias
Bibliografía de patentes
Bibliografía de patente 1: Traducción japonesa de la solicitud PCT abierta a consulta por el público n° 2010-515399 Bibliografía no de patente 1: WIEGAND T et al: “High Efficiency Video Coding (HEVC) text specification Working Draft 1” [“Borrador de trabajo 1 de la especificación textual de la Codificación de Vídeo de Alta Eficacia (HEVC)”], 3. CONFERENCIA DE JCT-VC; 95. CONFERENCIA DE MPEG; 7-10-2010 - 15-10-2010; GUANGZHOU; (EQUIPO DE COLABORACIÓN CONJUNTO SOBRE CODIFICACIÓN DE VÍDEO DE ISO/IECJTCI/SC29, WG11 E ITU-T SG.16); URL: WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, n.° JCTVC-C403, 6 de enero de 2011 (06-01-2011).
Sumario de la invención
Problema técnico
Puesto que la tecnología anterior de la bibliografía de patente 1 implica calcular la similitud espacial mientras se explora la pluralidad de particiones vecinas en el orden predeterminado, requiere un número considerable de cálculos para la determinación del predictor de vector de movimiento.
Por tanto, existen demandas de reducción de la complejidad de cálculo necesaria para la determinación del predictor de vector de movimiento en los campos técnicos afectados.
Solución al problema
Un aspecto de la presente invención se refiere a un procedimiento de codificación predictiva según la reivindicación 1.
Un segundo aspecto de la presente invención se refiere a un dispositivo de codificación predictiva según la reivindicación 6.
Un tercer aspecto de la presente invención se refiere a un programa informático que hace que un ordenador funcione como un dispositivo de codificación predictiva según la reivindicación 7.
Un cuarto aspecto de la presente invención se refiere a un procedimiento de descodificación predictiva según la reivindicación 8.
Un quinto aspecto de la presente invención se refiere a un dispositivo de descodificación predictiva según la reivindicación 13.
Un sexto aspecto de la presente invención se refiere a un programa informático que hace que un ordenador funcione como un dispositivo de descodificación predictiva según la reivindicación 14.
En las reivindicaciones dependientes se proporcionan características adicionales para realizaciones ventajosas de la presente invención. Cuando el número de uno o más candidatos a predictor de vector de movimiento es no más de 3, esto reduce el recuento de bits de datos codificados de la información de indicación de predictor de vector de movimiento. Cuando se usa un predictor de vector de movimiento óptimo como vector de movimiento de una partición de destino, sin codificar una señal residual entre el vector de movimiento de la partición de destino y el predictor de vector de movimiento óptimo, esto mejora adicionalmente la eficacia de codificación, porque no se codifica la señal residual del vector de movimiento.
En la tecnología de codificación predictiva de vectores de movimiento según un ejemplo informativo útil para comprender la presente invención, los candidatos a predictor de vector de movimiento se limitan, y después de eso se determina el predictor de vector de movimiento basándose en la comparación entre el vector de movimiento de la partición de destino y los candidatos a predictor de vector de movimiento. Por tanto, esta tecnología puede reducir la complejidad de cálculo necesaria para la determinación del predictor de vector de movimiento.
En un ejemplo informativo útil para comprender la presente invención, la tecnología de codificación predictiva puede configurarse como sigue: se genera una señal predicha de una señal de píxel de una partición de destino haciendo referencia a una trama de referencia con un número de trama especificado por una identificación de lista de imágenes de referencia y una identificación de imágenes de referencia; se determina un primer candidato a predictor de vector de movimiento a partir de vectores de movimiento de particiones en la región vecina a la izquierda que tienen una identificación de lista de imágenes de referencia o una identificación de imágenes de referencia coincidente con la identificación de la lista de imágenes de referencia o la identificación de imágenes de referencia para la partición de destino, se determina el segundo candidato a predictor de vector de movimiento a partir de vectores de movimiento de particiones en la región vecina por encima que tienen una identificación de lista de imágenes de referencia y/o una identificación de imágenes de referencia coincidente con la identificación de la lista de imágenes de referencia y/o la identificación de imágenes de referencia para la partición de destino.
En un ejemplo informativo útil para comprender la presente invención, una región vecina a la izquierda puede incluir una partición vecina ubicada por debajo y en el lado izquierdo de la partición de destino. La partición vecina por debajo a la izquierda es una partición que incluye píxeles vecinos existentes por debajo y en el lado izquierdo de un píxel abajo a la izquierda en la partición de destino. En este ejemplo, la partición vecina por debajo a la izquierda se incluye en la región vecina a la izquierda, y el vector de movimiento de la partición vecina por debajo a la izquierda no se define como un candidato a predictor de vector de movimiento independiente cuando el primer candidato a predictor de vector de movimiento se determina a partir de la región vecina a la izquierda. Este ejemplo puede reducir el número de candidatos a predictor de vector de movimiento. Como resultado, puede reducirse un recuento de bits de datos codificados de la información de indicación de predictor de vector de movimiento.
En un ejemplo informativo útil para comprender la presente invención, una región vecina por encima puede incluir una partición vecina ubicada por encima y en el lado derecho de la partición de destino. La partición vecina por encima a la derecha es una partición que incluye píxeles vecinos existentes por encima y en el lado derecho de un píxel arriba y a la derecha en la partición de destino. En este ejemplo, la partición vecina por encima a la derecha se incluye en la región vecina por encima, y un vector de movimiento de la partición vecina por encima a la derecha no se define como un candidato a predictor de vector de movimiento independiente cuando el segundo candidato a predictor de vector de movimiento se determina a partir de la región vecina por encima. Este ejemplo puede reducir el número de candidatos a predictor de vector de movimiento. Como resultado, puede reducirse un recuento de bits de datos codificados de la información de indicación de predictor de vector de movimiento.
En un ejemplo informativo útil para comprender la presente invención, o bien una región vecina a la izquierda o bien una región vecina por encima puede incluir una partición vecina ubicada por encima y en el lado izquierdo de una partición de destino. La partición vecina por encima a la izquierda es una partición que incluye píxeles vecinos existentes por encima y en el lado izquierdo del píxel arriba y a la izquierda en la partición de destino. En este ejemplo, un vector de movimiento de la partición vecina por encima a la izquierda no se define como un candidato a predictor de vector de movimiento independiente, y un candidato a predictor de vector de movimiento se determina cuando la partición vecina por encima a la izquierda se incluye en la región vecina a la izquierda o en la región vecina por encima. Este ejemplo puede reducir el número de candidatos a predictor de vector de movimiento. Como resultado, puede reducirse un recuento de bits de datos codificados de la información de indicación de predictor de vector de movimiento.
En un ejemplo informativo útil para comprender la presente invención, una tecnología de codificación predictiva puede configurarse como sigue: se exploran una o más particiones en la región vecina a la izquierda en un sentido ascendente desde la parte inferior de la región vecina a la izquierda, mediante lo cual un vector de movimiento que satisface un criterio predeterminado se determina como primer candidato a predictor de vector de movimiento a partir de vectores de movimiento de la una o más particiones. El criterio predeterminado se usa para la determinación de candidatos a predictor de vector de movimiento. Una exploración posterior en la región vecina a la izquierda puede terminarse tras la detección del vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento. Según el conocimiento obtenido por los inventores basándose en la investigación de un gran número de secuencias de vídeo, una partición, de entre las particiones en la región vecina a la izquierda, con un vector de movimiento que tiene una pequeña diferencia con respecto al vector de movimiento de la partición de destino, tiende a existir en el lado inferior en la región vecina a la izquierda. Por tanto, el primer candidato a predictor de vector de movimiento con una pequeña diferencia con respecto al vector de movimiento de la partición de destino puede determinarse eficazmente explorando la región vecina a la izquierda en el orden de exploración anterior.
En un ejemplo informativo útil para comprender la presente invención, la tecnología de codificación predictiva puede configurarse como sigue: se exploran una o más particiones en la región vecina por encima en un sentido hacia la izquierda de derecha a izquierda, mediante lo cual un vector de movimiento que satisface un criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento se determina como un segundo candidato a predictor de vector de movimiento a partir de vectores de movimiento de la una o más particiones. La exploración posterior en la región vecina por encima puede terminarse tras la detección del vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento. Según el conocimiento obtenido por los inventores basándose en la investigación de un gran número de secuencias de vídeo, una partición con un vector de movimiento que tiene una pequeña diferencia con respecto al vector de movimiento de la partición de destino entre las particiones en la región vecina por encima tiende a existir en el lado derecho en la región vecina por encima. Por tanto, el segundo candidato a predictor de vector de movimiento con una pequeña diferencia con respecto al vector de movimiento de la partición de destino puede determinarse eficazmente explorando la región vecina por encima en el orden de exploración anterior.
En un ejemplo informativo útil para comprender la presente invención, la tecnología de codificación predictiva puede configurarse como sigue: comprende determinar una primera información de indicación de dirección de exploración, indicativa de una dirección de exploración de una o más particiones incluidas en una región vecina a la izquierda, con el fin de determinar un primer candidato a predictor de vector de movimiento; determinar una segunda información de indicación de dirección de exploración, indicativa de una dirección de exploración de una o más particiones incluidas en una región vecina por encima, con el fin de determinar un segundo candidato a predictor de vector de movimiento; y codificar además la primera información de indicación de dirección de exploración y la segunda información de indicación de dirección de exploración. En este ejemplo, las exploraciones se llevan a cabo tanto en sentido ascendente como descendente en la región vecina a la izquierda para seleccionar un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento. Un vector de movimiento óptimo, de entre los vectores de movimiento seleccionados en el sentido ascendente y descendente, se define como primer candidato a predictor de vector de movimiento, y la información indicativa de la dirección de la exploración en la que se adquiere el primer candidato a predictor de vector de movimiento se define como la primera información de indicación de dirección de exploración. Además, las exploraciones se llevan a cabo tanto en sentido hacia la izquierda como hacia la derecha en la región vecina por encima para seleccionar el vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento. El vector de movimiento óptimo, de entre los vectores de movimiento seleccionados en el sentido hacia la izquierda y hacia la derecha, se define como segundo candidato a predictor de vector de movimiento, y la información indicativa de la dirección de la exploración en la que se adquiere el segundo candidato a predictor de vector de movimiento se define como la segunda información de indicación de dirección de exploración. Este ejemplo permite el logro de mejora adicional de la eficacia de codificación mediante determinación del primer candidato a predictor de vector de movimiento y el segundo candidato a predictor de vector de movimiento.
Otros ejemplos informativos útiles para comprender la presente invención se refieren a una tecnología de descodificación predictiva de vectores de movimiento.
En la tecnología de descodificación predictiva de vectores de movimiento según un ejemplo informativo útil para comprender la presente invención, los candidatos a predictor de vector de movimiento se limitan y después de eso se determina el predictor de vector de movimiento basándose en la comparación entre el vector de movimiento de la partición de destino y los candidatos a predictor de vector de movimiento. Por tanto, puede reducir la complejidad de cálculo necesaria para la determinación del predictor de vector de movimiento.
En un ejemplo informativo útil para comprender la presente invención, la tecnología de descodificación predictiva puede configurarse como sigue: se genera una señal predicha de una señal de imagen de una partición de destino haciendo referencia a una trama de referencia con un número de trama especificado por una identificación de lista de imágenes de referencia y una identificación de imágenes de referencia; se determina un primer candidato a predictor de vector de movimiento a partir de vectores de movimiento de particiones en la región vecina a la izquierda que tienen una identificación de lista de imágenes de referencia o una identificación de imágenes de referencia idéntica a la identificación de la lista de imágenes de referencia o la identificación de imágenes de referencia para la partición de destino; se determina un segundo candidato a predictor de vector de movimiento a partir de vectores de movimiento de particiones en la región vecina por encima que tienen una identificación de lista de imágenes de referencia y/o una identificación de imágenes de referencia idéntica a la identificación de la lista de imágenes de referencia y/o la identificación de imágenes de referencia para la partición de destino.
En un ejemplo informativo útil para comprender la presente invención, una región vecina a la izquierda puede incluir una partición vecina ubicada por debajo y en el lado izquierdo de una partición de destino. En este ejemplo, un vector de movimiento de la partición vecina por debajo a la izquierda no se define como un candidato a predictor de vector de movimiento independiente y la partición vecina por debajo y a la izquierda se incluye en la región vecina a la izquierda; entonces un primer candidato a predictor de vector de movimiento se determina a partir de la región vecina a la izquierda. Este ejemplo puede reducir el número de candidatos a predictor de vector de movimiento. Como resultado, puede reducir el recuento de bits de datos codificados de la información de indicación de predictor de vector de movimiento y reducir la complejidad de cálculo del procedimiento de descodificación para restaurar la información de indicación de predictor de vector de movimiento a partir de los datos codificados.
En un ejemplo informativo útil para comprender la presente invención, una región vecina por encima puede incluir una partición vecina ubicada por encima y en el lado derecho de la partición de destino. En este ejemplo, un vector de movimiento de la partición vecina por encima a la derecha no se define como un candidato a predictor de vector de movimiento independiente y la partición vecina por encima a la derecha se incluye en la región vecina por encima; entonces un segundo candidato a predictor de vector de movimiento se determina a partir de la región vecina por encima. Este ejemplo puede reducir el número de candidatos a predictor de vector de movimiento. Como resultado, puede reducir el recuento de bits de datos codificados de la información de indicación de predictor de vector de movimiento y reducir la complejidad de cálculo del procedimiento de descodificación para restaurar la información de indicación de predictor de vector de movimiento a partir de los datos codificados.
En un ejemplo informativo útil para comprender la presente invención, o bien una región vecina a la izquierda o bien una región vecina por encima puede incluir una partición vecina ubicada por encima y en el lado izquierdo de una partición de destino. En este ejemplo, un vector de movimiento de la partición vecina por encima a la izquierda no se define como un candidato a predictor de vector de movimiento independiente y la partición vecina por encima a la izquierda se incluye en la región vecina a la izquierda o en la región vecina por encima; entonces el candidato a predictor de vector de movimiento se determina a partir de las mismas. Este ejemplo puede reducir el número de candidatos a predictor de vector de movimiento. Como resultado, puede reducirse el recuento de bits de datos codificados de la información de indicación de predictor de vector de movimiento y también puede reducirse la complejidad de cálculo del procedimiento de descodificación para restaurar la información de indicación de predictor de vector de movimiento a partir de los datos codificados.
En un ejemplo informativo útil para comprender la presente invención, la tecnología de descodificación predictiva puede configurarse como sigue: se exploran una o más particiones en una región vecina a la izquierda en un sentido ascendente desde una parte inferior de la región vecina a la izquierda, mediante lo cual se determina un vector de movimiento que satisface un criterio predeterminado, usado para la determinación de candidatos a predictor de vector de movimiento, como primer candidato a predictor de vector de movimiento a partir de vectores de movimiento de la una o más particiones. Una exploración posterior en la región vecina a la izquierda puede terminarse tras la detección del vector de movimiento que satisface el criterio predeterminado de la determinación de candidatos a predictor de vector de movimiento. El primer candidato a predictor de vector de movimiento con un pequeño error con respecto al vector de movimiento de la partición de destino puede determinarse eficazmente explorando la región vecina a la izquierda en el orden de exploración anterior.
En un ejemplo informativo útil para comprender la presente invención, la tecnología de descodificación predictiva puede configurarse como sigue: se exploran una o más particiones en la región vecina por encima en un sentido de derecha a izquierda, mediante lo cual un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento se determina como un segundo candidato a predictor de vector de movimiento a partir de vectores de movimiento de la una o más particiones. La exploración posterior en la región vecina por encima puede terminarse tras la detección del vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento. El segundo candidato a predictor de vector de movimiento con un pequeño error con respecto al vector de movimiento de la partición de destino puede determinarse eficazmente explorando la región vecina por encima en el orden de exploración anterior.
En un ejemplo informativo útil para comprender la presente invención, la tecnología de descodificación predictiva puede configurarse para incluir: descodificar datos codificados para restaurar la primera información de indicación de dirección de exploración para especificar una dirección de exploración de una o más particiones en la región vecina a la izquierda y la segunda información de indicación de dirección de exploración para especificar una dirección de exploración de una o más particiones en la región vecina por encima; explorar la una o más particiones en la región vecina a la izquierda en la dirección especificada por la primera información de indicación de dirección de exploración para determinar el primer candidato a predictor de vector de movimiento; y explorar la una o más particiones en la región vecina por encima en la dirección especificada por la segunda información de indicación de dirección de exploración para determinar el segundo candidato a predictor de vector de movimiento. Este ejemplo puede determinar el primer candidato a predictor de vector de movimiento y el segundo candidato a predictor de vector de movimiento con menores errores con respecto al vector de movimiento de la partición de destino.
En un ejemplo informativo útil para comprender la presente invención, el número de uno o más candidatos a predictor de vector de movimiento puede no ser más de 3. Este ejemplo puede reducir además el recuento de bits de datos la información de indicación de predictor de vector de movimiento.
En un ejemplo informativo útil para comprender la presente invención, puede usarse el predictor de vector de movimiento óptimo como un vector de movimiento de una partición de destino. Este ejemplo puede reducir un volumen de datos de datos codificados debido a que no se codifica una señal residual del vector de movimiento. Efectos ventajosos de la invención
Tal como se ha descrito anteriormente, los aspectos y las realizaciones de la presente invención proporcionan el procedimiento de codificación predictiva, el dispositivo de codificación predictiva y el programa de codificación predictiva de vectores de movimiento y el procedimiento de descodificación predictiva, el dispositivo de descodificación predictiva y el programa de descodificación predictiva de vectores de movimiento que pueden reducir la complejidad de cálculo necesaria para la determinación de predictores de vector de movimiento.
Breve descripción de los dibujos
La figura 1A es un dibujo que ilustra particiones vecinas rectangulares usadas en la predicción con compensación de movimiento
La figura 1B es un dibujo que ilustra particiones vecinas rectangulares usadas en la predicción con compensación de movimiento
La figura 2 es un dibujo que muestra una configuración de un dispositivo de codificación de vídeo según una realización.
La figura 3 es un diagrama de flujo que muestra una realización de un procedimiento de codificación predictiva de vectores de movimiento.
La figura 4 es un dibujo que ilustra particiones vecinas rectangulares usadas en la predicción con compensación de movimiento.
La figura 5 es un diagrama de flujo que muestra una primera realización de un proceso de la etapa S302 en la figura 3 en detalle.
La figura 6 es un diagrama de flujo que muestra una primera realización de un proceso de la etapa S303 en la figura 3 en detalle.
La figura 7 es un dibujo que muestra una configuración de un dispositivo de descodificación de vídeo según una realización.
La figura 8 es un diagrama de flujo que muestra una realización de un procedimiento de descodificación predictiva de vector de movimiento.
La figura 9 es un diagrama de flujo que muestra un procedimiento de determinación de candidatos a predictor de vector de movimiento en un procedimiento de codificación predictiva de vector de movimiento en una segunda realización.
La figura 10 es un diagrama de flujo que muestra un procedimiento de descodificación predictiva de vector de movimiento en la segunda realización.
La figura 11 es un dibujo que muestra una configuración de un programa de codificación de vídeo según una realización.
La figura 12 es un dibujo que muestra una configuración de un programa de descodificación de vídeo según una realización.
La figura 13 es un dibujo que muestra una configuración de hardware de un ordenador según una realización.
La figura 14 es una vista en perspectiva que muestra un ordenador según una realización.
Descripción de realizaciones
En lo que sigue se describirán diversas realizaciones en detalle con referencia a los dibujos. En los dibujos, partes idénticas o equivalentes se indicarán mediante los mismos símbolos de referencia.
La figura 2 es un dibujo que muestra una configuración de un dispositivo de codificación de vídeo según una realización. El dispositivo de codificación de vídeo 20 mostrado en la figura 2 es un ejemplo de un dispositivo que codifica de manera predictiva un vector de movimiento según un aspecto de la presente invención.
Una secuencia de vídeo introducida en el dispositivo de codificación de vídeo 20 se compone de una secuencia temporal de imágenes de trama. Una señal de imagen de trama seleccionada como objetivo para la codificación se denominará a continuación en el presente documento “trama actual”. En el dispositivo de codificación de vídeo 20, una trama actual se divide en particiones rectangulares de tamaño variable y se lleva a cabo el procesamiento descrito en lo que sigue en cada una de las unidades de partición.
El dispositivo de codificación de vídeo 20 puede usar una cualquiera entre una modalidad de predicción inter-tramas y una pluralidad de modalidades de predicción intra-tramas, cambiando la modalidad de predicción para cada partición entre ellas. Por ejemplo, el dispositivo de codificación de vídeo 20 selecciona una modalidad de predicción con una alta eficacia de codificación entre la modalidad de predicción inter-tramas y las modalidades de predicción intra-tramas, para cada partición. La “modalidad de predicción inter-tramas” en el presente documento es una modalidad en la que un vector de movimiento se detecta con referencia a una pluralidad de señales de imagen de trama codificadas anteriormente (señales de imagen de trama de referencia) diferentes, en cuanto al tiempo, a una señal de imagen de trama, para realizar de ese modo la predicción inter-tramas con compensación de movimiento. La “modalidad de predicción intra-tramas” es una modalidad en la que la predicción espacial se lleva a cabo usando valores de píxel de regiones vecinas codificadas anteriormente en la misma trama. En la “modalidad de predicción inter-tramas”, se llevan a cabo procesos respectivos de detección de movimiento, predicción de movimiento y compensación de movimiento para cada una de las sub-particiones, por ejemplo, obtenidas dividiendo adicionalmente una partición de NxN píxeles con un tamaño optativo (por ejemplo, (N/2) píxeles x N líneas o (N/4) píxeles x (N/4) líneas).
Tal como se muestra en la figura 2, el dispositivo de codificación de vídeo 20 puede estar dotado de una unidad de entrada 201, una unidad de detección de movimiento 202, una unidad de determinación de candidatos a predictor de vector de movimiento 203, una unidad de determinación de predictores de vector de movimiento 204, una unidad de diferencia de vector de movimiento 205, una unidad de compensación de movimiento 206, una memoria 207, una unidad de predicción espacial 208, una unidad de determinación de procedimiento de predicción 209, una unidad de resta 210, una unidad de transformación 211, una unidad de cuantización 212, una unidad de codificación por entropía 213, una unidad de cuantización inversa 214, una unidad de transformación inversa 215 y una unidad de adición 216.
La unidad de entrada 201 recibe una señal de vídeo de entrada como una señal de vídeo introducida desde el exterior y descompone la señal de vídeo en señales de imagen de trama. La unidad de entrada 201 emite cada señal de imagen de trama a través de la línea L201a y a través de la línea L201b a la unidad de resta 210 y a la unidad de detección de movimiento 202.
La memoria 207 es una parte que almacena señales de imagen de trama que se han codificado en el pasado, información (vectores de movimiento, identificaciones de listas de imágenes de referencia, identificaciones de imágenes de referencia) y otros datos usados en la predicción de las mismas.
La unidad de detección de movimiento 202 realiza la detección de vectores de movimiento. Más específicamente, la unidad de detección de movimiento 202 busca una señal de imagen de trama de referencia introducida a través de la línea L207a desde la memoria 207, en busca de un patrón de señal de imagen similar a un patrón de señal de imagen de una partición de destino en la trama actual introducida a través de la línea L201a. La unidad de detección de movimiento 202 busca en un área de búsqueda predeterminada en la trama de referencia. La unidad de detección de movimiento 202 detecta un vector de movimiento que representa una cantidad de desplazamiento espacial entre la partición de destino y el patrón de señales de imagen obtenido mediante la búsqueda, y una identificación de lista de imágenes de referencia y una identificación de imágenes de referencia para especificar un número de trama de la trama de referencia usada. El vector de movimiento detectado, la identificación de listas de imágenes de referencia y la identificación de imágenes de referencia se emiten a través de la línea L202a a la unidad de compensación de movimiento 206 y, a través de la línea L202c, a la unidad de diferencia de vectores de movimiento 205. Además, la unidad de detección de movimiento 202 emite la identificación de lista de imágenes de referencia y la identificación de imágenes de referencia, detectadas a través de la línea L202b, a la unidad de determinación de candidatos a predictor de vector de movimiento 203. En el dispositivo de codificación de vídeo 20, pueden gestionarse números de trama para especificar señales de imágenes de tramas de referencia respectivas en forma de listas. Se especifica un número de trama usando una identificación de lista de imágenes de referencia (Lista de imágenes de referencia) para especificar una lista y una identificación de imágenes de referencia (Índice de referencia) como índice del número de trama en la lista. Esta tecnología es una tecnología bien conocida en la norma H.264/AVC y otras.
La unidad de determinación de candidatos a predictor de vector de movimiento 203 determina candidatos a predictor de vector de movimiento usando vectores de movimiento de particiones vecinas codificadas anteriormente introducidas a través de la línea L207b. Los detalles sobre la determinación de candidatos a predictor de vector de movimiento se describirán más adelante. La unidad de determinación de candidatos a predictor de vector de movimiento 203 emite los candidatos a predictor de vector de movimiento determinados, a través de la línea L203, a la unidad de determinación de predictores de vector de movimiento 204.
La unidad de determinación de predictores de vector de movimiento 204 determina un predictor de vector de movimiento óptimo (valores de predictor de vector de movimiento) a partir de los candidatos a predictor de vector de movimiento introducidos a través de la línea L203. Más específicamente, la unidad de determinación de predictores de vector de movimiento 204 determina un candidato a predictor de vector de movimiento con la mínima diferencia con respecto al vector de movimiento de la partición de destino introducida a través de la línea L202c, como predictor de vector de movimiento óptimo PMVopt, entre los candidatos a predictor de vector de movimiento. El predictor de vector de movimiento óptimo determinado PMVopt se suministra, a través de la línea L204a, a la unidad de diferencia de vectores de movimiento 205. Además, el número de candidatos a predictor de vector de movimiento y la información de indicación de predictor de vector de movimiento, para especificar el predictor de vector de movimiento óptimo PMVopt entre los candidatos a predictor de vector de movimiento, se suministran, a través de la línea L204b, a la unidad de codificación por entropía 213.
En la presente realización, el candidato a predictor de vector de movimiento con la mínima diferencia con respecto al vector de movimiento de la partición de destino se selecciona como el predictor de vector de movimiento óptimo PMVopt. Alternativamente, la unidad de determinación de predictores de vectores de movimiento 204 puede seleccionar como el predictor de vector de movimiento óptimo PMVopt un candidato a predictor de vector de movimiento con el mínimo número de bits asignado a una diferencia de vectores de movimiento calculada.
En la presente realización, el predictor de vectores de movimiento óptimo se determina después de la detección de movimiento de la partición de destino. Alternativamente, el predictor de vector de movimiento óptimo puede detectarse antes de la detección de movimiento. Específicamente, tal como se indica mediante la fórmula (1) siguiente, el predictor de vector de movimiento óptimo puede calcularse basándose en la suma de diferencias absolutas (SADpmv) entre la señal de imagen predicha en la ejecución de la compensación de movimiento, usando cada uno de los candidatos a predictor de vector de movimiento calculados realmente, y la señal de imagen de destino y una función de coste usando el recuento de bits Rpmv en la codificación del candidato a predictor de vector de movimiento y X como una ponderación para el recuento de bits. En este caso, la señal de imagen de la partición de destino se introduce a través de la línea L201a y cada señal de imagen de trama de referencia se introduce a través de la línea L207a a la unidad de determinación de predictores de vectores de movimiento 204 en la figura 2.
Costepmv = SADpmv + XRpmv (1)
La unidad de diferencia de vectores de movimiento 205 calcula valores de diferencia de vectores de movimiento que son información de diferencia entre el vector de movimiento introducido a través de la línea L202c y el predictor de vector de movimiento óptimo introducido a través de la línea L204a. La unidad de diferencia de vectores de movimiento 205 transmite una señal que incluye los valores de diferencia de vectores de movimiento calculados, y la identificación de lista de imágenes de referencia y la identificación de imágenes de referencia, como información de predicción, a través de la línea L205a, a la unidad de codificación por entropía 213. Además, la unidad de diferencia de vectores de movimiento 205 transmite una señal que incluye el vector de movimiento, y la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia, a través de la línea L205b, a la memoria 207.
La unidad de compensación de movimiento 206 genera una señal de imagen predicha de la partición de destino, haciendo referencia a la señal de imagen de trama de referencia del número de trama especificado por la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia, recibidas desde la unidad de detección de movimiento 202 y usando el vector de movimiento recibido desde la unidad de detección de movimiento 202. Esta señal de imagen predicha se emite a la unidad de determinación de procedimiento de predicción 209.
La unidad de predicción espacial 208 genera una señal de imagen predicha, haciendo referencia a señales de imagen (señales de imagen de trama de referencia) de regiones vecinas codificadas anteriormente, introducidas a través de la línea L207a. La unidad de predicción espacial 208 emite la señal de imagen predicha generada a la unidad de determinación de procedimiento de predicción 209.
La unidad de determinación de procedimiento de predicción 209 compara las señales de imagen predichas recibidas desde la unidad de compensación de movimiento 206 y la unidad de predicción espacial 208, para seleccionar una cualquiera de las señales de imagen predichas, y emite la señal de imagen predicha seleccionada a la unidad de resta 210. La unidad de determinación de procedimiento de predicción 209 emite información de modalidad de predicción, indicativa de un procedimiento de predicción usado para la generación de la señal de imagen predicha seleccionada, a través de la línea L209b, a la unidad de codificación por entropía 213.
La unidad de resta 210 genera un valor de diferencia (señal residual de predicción) entre la señal de imagen de trama introducida a través de la línea L201b y la señal de imagen predicha introducida a través de la línea L209a, y emite la señal residual de predicción a la unidad de transformación 211.
La unidad de transformación 211 realiza una transformación ortogonal de la señal residual de predicción introducida a través de la línea L210, para generar coeficientes de transformación ortogonales, y emite los coeficientes de transformación ortogonales a la unidad de cuantización 212. La unidad de cuantización 212 cuantiza los coeficientes de transformación ortogonales introducidos a través de la línea L211, para generar coeficientes de transformación ortogonales cuantizados, y transmite los coeficientes de transformación ortogonales cuantizados a la unidad de codificación por entropía 213 y a la unidad de cuantización inversa 212.
La unidad de codificación por entropía 213 realiza la codificación por entropía de los coeficientes de transformación ortogonales cuantizados, introducidos a través de la línea L212, la información de modalidad de predicción recibida desde la unidad de determinación de procedimiento de predicción 209, la información de predicción transmitida desde la unidad de diferencia de vectores de movimiento 205 y la información de indicación de predictor de vector de movimiento, emitida desde la unidad de determinación de predictores de vectores de movimiento 204, multiplexa datos codificados generados en un flujo comprimido y transmite el flujo comprimido al exterior.
La unidad de cuantización inversa 214 realiza la cuantización inversa de los coeficientes de transformación ortogonales cuantizados, introducidos a través de la línea L212, para generar coeficientes de transformación ortogonales, y transmite los coeficientes de transformación ortogonales a la unidad de transformación ortogonal inversa 215. Entonces, la unidad de transformación ortogonal inversa 215 aplica una transformación ortogonal inversa a los coeficientes de transformación ortogonales introducidos a través de la línea L214, para generar una señal residual de predicción, y transmite la señal residual de predicción a la unidad de adición 216.
La unidad de adición 216 realiza la adición de la señal residual de predicción introducida a través de la línea L215 y la señal de imagen predicha introducida a través de la línea L209a, para generar una señal de imagen de trama, y transmite la señal de imagen de trama a la memoria 207. Esta señal de imagen de trama se almacena en la memoria 207 y se usa como una señal de imagen de trama de referencia en el procedimiento de codificación posterior. En la memoria 207, el vector de movimiento, la identificación de la lista de imágenes de referencia, la identificación de imágenes de referencia, etc., introducidos a través de la línea L205b, también se almacenan en asociación con la señal de imagen de trama de referencia.
A continuación, se describirá en lo que sigue una realización de un procedimiento de codificación predictiva de vectores de movimiento, aplicable en el dispositivo de codificación de vídeo 20.
En primer lugar, se describirán particiones adyacentes a una partición de destino, con referencia a la figura 1B. Las particiones BL, BL1 y BL2 son particiones en contacto con un límite izquierdo de la partición BT de destino. La partición BD es una partición que incluye píxeles vecinos existentes por debajo y en el lado izquierdo del píxel abajo a la izquierda en la región BT de destino. La partición BE es una partición que incluye píxeles vecinos existente por encima y en el lado izquierdo del píxel arriba a la izquierda en la partición BT de destino. Las particiones BA, BA1 y BA2 son particiones en contacto con un límite superior de la partición BT de destino. La partición BRA es una partición que incluye píxeles vecinos existente por encima y en el lado derecho del píxel arriba a la derecha en la partición BT de destino. Las particiones vecinas a la partición de destino pueden ser particiones del mismo tamaño que la partición BT de destino, tal como se muestra en la figura 1A.
A continuación, se hace referencia a la figura 3. La figura 3 es un diagrama de flujo que muestra una realización del procedimiento de codificación predictiva de un vector de movimiento. Tal como se muestra en la figura 3, en el procedimiento de codificación predictiva de un vector de movimiento según la realización, en primer lugar, la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia se introducen en la unidad de determinación de candidatos a predictor de vector de movimiento 203 (etapa S301).
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina un candidato a predictor de vector de movimiento PMV1 a partir de un vector de movimiento, o vectores de movimiento, de una o más particiones incluidas en la región vecina a la izquierda ubicada a la izquierda de la partición BT de destino (etapa S302). Los detalles sobre el procedimiento de determinación del candidato a predictor de vector de movimiento PMV1 se describirán más adelante.
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina un candidato a predictor de vector de movimiento PMV2 a partir de un vector de movimiento, o vectores de movimiento, de una o más particiones incluidas en la región vecina por encima ubicada por encima de la partición BT de destino (etapa S303). Los detalles sobre el procedimiento de determinación del candidato a predictor de vector de movimiento PMV2 se describirán más adelante.
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina un candidato a predictor de vector de movimiento PMV3 (etapa S304). En la presente realización, se determina un vector de movimiento de una partición existente en la trama de referencia y en una posición espacialmente idéntica a la partición de destino, como candidato a predictor de vector de movimiento PMV3.
El candidato a predictor de vector de movimiento PMV3 puede ser un vector de movimiento de otra partición espacialmente adyacente a la partición de destino, en lugar del vector de movimiento de la partición en la misma posición que la partición de destino en la trama de referencia. También es posible usar valores promedio o similares, calculados basándose en el candidato a predictor de vector de movimiento PMV1 y el candidato a predictor de vector de movimiento PMV2, como candidato a predictor de vector de movimiento PMV3.
El número de candidatos a predictor de vector de movimiento puede ser de tres o más. En este caso, una pluralidad de candidatos a predictor de vector de movimiento puede determinarse mediante diferentes procedimientos a partir de cada una entre la región vecina a la izquierda y la región vecina por encima. Más específicamente, una pluralidad de candidatos a predictor de vector de movimiento pueden determinarse buscando particiones de cada una de las regiones en una pluralidad de diferentes direcciones de exploración, en cada una entre la región vecina a la izquierda y la región vecina por encima. También es posible usar un vector de movimiento de otra región vecina como candidato a predictor de vector de movimiento.
Volviendo a hacer referencia a la figura 3, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina entonces sólo candidatos a predictor de vector de movimiento no idénticos entre el candidato a predictor de vector de movimiento PMV1, el candidato a predictor de vector de movimiento PMV2 y el candidato a predictor de vector de movimiento PMV3, como candidatos finales a predictor de vector de movimiento (etapa S305). Como ejemplo específico, cuando el candidato a predictor de vector de movimiento PMV1 es idéntico al candidato a predictor de vector de movimiento PMV3, sólo se seleccionan PMV1 y PMV2 como candidatos a predictor de vector de movimiento. Si no hay candidatos a predictor de vector de movimiento determinados que satisfagan las condiciones en las etapas S302 a S304, se define un vector de movimiento cero como candidato a predictor de vector de movimiento.
Entonces, la unidad de determinación de predictores de vector de movimiento 204 determina el predictor de vector de movimiento óptimo, tal como se describió anteriormente, entre los candidatos a predictor de vector de movimiento determinados por la unidad de determinación de candidatos a predictor de vector de movimiento 203 (etapa S306). Entonces, la unidad de codificación 213 codifica la información de indicación de predictor de vector de movimiento para especificar qué candidato a predictor de vector de movimiento es el predictor óptimo de vector de movimiento (etapa S307).
En una realización, la información de indicación de predictor de vector de movimiento puede codificarse en datos codificados de un recuento de bits según el número de candidatos a predictor de vector de movimiento seleccionados por la unidad de determinación de predictores de vector de movimiento 204. Por ejemplo, cuando el número de candidatos a predictor de vector de movimiento es 0 o 1, la información de indicación de predictor de vector de movimiento no se codifica ni se transmite. Cuando el número de candidatos a predictor de vector de movimiento es 2 o 3, la información de indicación de predictor de vector de movimiento se codifica en dos bits como máximo.
La información de indicación de predictor de vector de movimiento puede codificarse basándose en una tabla de codificación fija independientemente del número de candidatos a predictor de vector de movimiento. En este caso, la información de indicación de predictor de vector de movimiento puede codificarse usando la siguiente tabla de codificación.
<Tabla 1. Tabla de codificación>
Valor de bit Predictor óptimo de vector de movimiento
0 candidato a predictor de vector de movimiento 1 (PMV1)
10 candidato a predictor de vector de movimiento 2 (PMV2)
11 candidato a predictor de vector de movimiento 3 (PMV3)
En una realización, puede cambiarse el orden en el que se determinan el candidato a predictor de vector de movimiento PMV1, el candidato a predictor de vector de movimiento PMV2 y el candidato a predictor de vector de movimiento PMV3. Por ejemplo, puede usarse un proceso en el que la partición de destino se divide en una pluralidad de sub-particiones y se lleva a cabo el proceso de codificación para cada una de las sub-particiones. Específicamente, cuando la partición de destino se divide en sub-particiones superior e inferior, y la sub-partición inferior puede usarse como partición de destino, o cuando la partición de destino se divide en sub-particiones izquierda y derecha, y la sub-partición izquierda puede usarse como partición de destino, pueden determinarse los candidatos a predictor de vector de movimiento en el orden de la región vecina a la izquierda, la región vecina por encima y otra región (por ejemplo, una partición en una trama de referencia en la misma posición que la partición de destino). Por otro lado, cuando la partición de destino se divide en sub-particiones superior e inferior, y la sub­ partición superior puede usarse como partición de destino, o la partición de destino se divide en sub-particiones izquierda y derecha, y la sub-partición derecha puede usarse como partición de destino, pueden determinarse los candidatos a predictor de vector de movimiento en el orden de la región vecina por encima, la región vecina a la izquierda y otra región (por ejemplo, una partición en una trama de referencia en la misma posición que la partición de destino), para estas particiones de destino.
Se describirá a continuación en detalle una primera realización del proceso de determinación de candidatos a predictor de vector de movimiento según una realización. En primer lugar, se describirá la primera realización del proceso de la etapa S302 en la figura 3 con referencia a las figuras 1B, 4 y 5. Se supone en el presente documento, tal como se muestra en la figura 1B, que la región vecina a la izquierda se compone de la partición BD vecina por debajo y a la izquierda de la partición de destino, y de las particiones BL, BL1 y BL2 vecinas a la izquierda de la partición de destino. También se supone que las particiones en la región vecina a la izquierda se exploran en orden creciente del índice i mostrado en (a) de la figura 4. Concretamente, se supone que las particiones en la región vecina a la izquierda se exploran en el orden de la parte inferior a la superior.
La partición BD vecina por debajo y a la izquierda puede excluirse de la región vecina a la izquierda. Además, una partición más por debajo de la partición BD vecina por debajo y a la izquierda puede incluirse en la región vecina a la izquierda. Además, la partición BE o una partición ubicada por encima de la partición BE pueden incluirse en la región vecina a la izquierda. Además, una partición ubicada en el lado izquierdo de la partición de destino y a una distancia predeterminada de la partición de destino puede incluirse en la región vecina a la izquierda.
Volviendo a hacer referencia a (a) de la figura 4 y la figura 5, en el proceso de la etapa S302, en primer lugar, la unidad de determinación de candidatos a predictor de vector de movimiento 203 establece 0 en el índice i (etapa S501). La unidad de determinación de candidatos a predictor de vector de movimiento 203 aumenta el índice i en un incremento de 1 en la etapa S502 posterior.
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina si existe una i-ésima partición en el orden de exploración en la región vecina a la izquierda y si la partición tiene un vector de movimiento (etapa S503). Si existe la i-ésima partición en la región vecina a la izquierda y si la partición tiene un vector de movimiento, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina, en la etapa S504 posterior, si la i-ésima partición y la partición de destino tienen la misma identificación de lista de imágenes de referencia y la identificación de imágenes de referencia. Cuando se satisface la condición de determinación en la etapa S504, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina el vector de movimiento de la i-ésima partición como candidato a predictor de vector de movimiento PMV1 en la etapa S505 posterior y, entonces, emite el candidato a predictor de vector de movimiento PMV1 en la etapa S506 posterior, seguido por la terminación del procesamiento.
Por otro lado, cuando no se satisface la condición de determinación en la etapa S503 o cuando no se satisface la condición de determinación en la etapa S504, el procesamiento pasa a la etapa S507. En la etapa S507, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina si el índice i es superior al número N de particiones en la región vecina a la izquierda. Cuando no se satisface la condición de determinación en la etapa S507, la unidad de determinación de candidatos a predictor de vector de movimiento 203 sigue con el procesamiento desde la etapa S502. Por otro lado, cuando se satisface la condición de determinación en la etapa S507, la unidad de determinación de candidatos a predictor de vector de movimiento 203 termina el procesamiento. Las particiones en la región vecina a la izquierda se exploran en orden desde la parte inferior de la región vecina a la izquierda en la realización mostrada en (a) de la figura 4, pero en un ejemplo que no forma parte de la invención, tal como se muestra en (c) de la figura 4, pueden explorarse en orden desde la parte superior de la región vecina a la izquierda.
En otra realización, puede seleccionarse de manera adaptativa cualquiera entre el orden de exploración mostrado en (a) de la figura 4 y el orden de exploración mostrado en (c) de la figura 4. Por ejemplo, el orden de exploración puede determinarse basándose en una relación de vectores de movimiento de particiones vecinas. Específicamente, es posible adoptar un procedimiento de comparación de una diferencia absoluta a entre el vector de movimiento de la partición BL y el vector de movimiento de la partición BA con una diferencia absoluta p entre el vector de movimiento de la partición BRA y el vector de movimiento de la partición BD en la figura 1B, y seleccionar el orden de exploración en (c) de la figura 4 si la diferencia absoluta a es menor que la diferencia absoluta p. En el caso opuesto, por otro lado, puede seleccionarse el orden de exploración en (a) de la figura 4.
En una realización, la etapa S502 puede configurarse para aumentar el índice i en un incremento de dos o más, disminuyendo de ese modo las particiones que han de explorarse.
La primera realización del proceso de la etapa S303 en la figura 3 se describirá a continuación en detalle con referencia a las figuras 1B, 4 y 6. Se supone en el presente documento, tal como se muestra en la figura 1B, que la región vecina por encima se compone de la partición BE vecina por encima a la izquierda de la partición de destino y las particiones BA, BA1 y BA2 vecinas por encima de la partición de destino. También se supone que las particiones en la región vecina por encima se exploran en orden creciente del índice j mostrado en (a) de la figura 4. Concretamente, se supone que las particiones en la región vecina por encima se exploran en el orden de derecha a izquierda.
La partición BE vecina por encima a la izquierda puede excluirse de la región vecina por encima. Además, una partición más a la izquierda que la partición BE vecina por encima a la izquierda puede incluirse en la región vecina por encima. Además, una partición ubicada por encima de la partición de destino y a una distancia predeterminada de la partición de destino puede incluirse en la región vecina por encima.
Volviendo a hacer referencia a (a) de la figura 4 y la figura 6, en el proceso de la etapa S303, en primer lugar, la unidad de determinación de candidatos a predictor de vector de movimiento 203 establece 0 en el índice j (etapa S601). La unidad de determinación de candidatos a predictor de vector de movimiento 203 aumenta el índice j en un incremento de 1 en la etapa S602 posterior.
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina si existe la j-ésima partición en el orden de exploración en la región vecina por encima y si la partición tiene un vector de movimiento (etapa S603). Cuando existe la j-ésima partición en la región vecina por encima y cuando la partición tiene un vector de movimiento, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina, en la etapa S604 posterior, si la j-ésima partición y la partición de destino tienen la misma identificación de lista de imágenes de referencia y la identificación de imágenes de referencia. Cuando se satisface la condición de determinación en la etapa S604, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina, en la etapa S605 posterior, si el vector de movimiento de la j-ésima partición es idéntico al candidato a predictor de vector de movimiento PMV1. Cuando el vector de movimiento de la j-ésima partición es diferente al candidato a predictor de vector de movimiento PMV1, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina en la etapa S606 posterior que el vector de movimiento de la j-ésima partición es el candidato a predictor de vector de movimiento PMV2 y entonces emite el candidato a predictor de vector de movimiento PMV2 en la etapa S607 posterior, seguido por la terminación del procesamiento.
Por otro lado, cuando no se satisface la condición de determinación en la etapa S603, cuando no se satisface la condición de determinación en la etapa S604 o cuando se satisface la condición de determinación en la etapa S605, el procesamiento pasa a la etapa S608.
En la etapa S608, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina si el índice j es superior al número M de particiones en la región vecina por encima. Cuando no se satisface la condición de determinación en la etapa S608, la unidad de determinación de candidatos a predictor de vector de movimiento 203 continúa con el procesamiento desde la etapa S602. Por otro lado, cuando se satisface la condición de determinación en la etapa S608, la unidad de determinación de candidatos a predictor de vector de movimiento 203 termina el procesamiento.
Las particiones en la región vecina por encima se exploran en el orden de derecha a izquierda en la realización mostrada en (a) de la figura 4, pero las particiones pueden explorarse en el orden de izquierda a derecha, tal como se muestra en (c) de la figura 4, en un ejemplo que no forma parte de la invención.
En otra realización, puede seleccionarse de manera adaptativa cualquiera entre el orden de exploración mostrado en (a) de la figura 4 o el orden de exploración mostrado en (c) de la figura 4. Por ejemplo, el orden de exploración puede determinarse basándose en una relación de vectores de movimiento de particiones vecinas. Específicamente, es posible adoptar un procedimiento de comparación de una diferencia absoluta a entre el vector de movimiento de la partición BL y el vector de movimiento de la partición BA con una diferencia absoluta p entre el vector de movimiento de la partición BRA y el vector de movimiento de la partición BD en la figura 1B, y seleccionar el orden de exploración en (c) de la figura 4 si la diferencia absoluta a es menor que la diferencia absoluta p. En el caso opuesto, por otro lado, puede seleccionarse el orden de exploración en (a) de la figura 4.
La partición BE se incluye en la región vecina por encima en la realización descrita anteriormente, pero la partición BE puede incluirse en la región vecina a la izquierda. También es posible definir la partición BE como región independiente de la región vecina por encima y la región vecina a la izquierda, y tratar el vector de movimiento de la partición BE como otro candidato a predictor de vector de movimiento.
La realización anterior emplea tanto la identificación de la lista de imágenes de referencia como la identificación de imágenes de referencia, como condición de determinación para seleccionar el vector de movimiento de la partición en la región vecina como candidato a predictor de vector de movimiento, pero la presente invención no se limita a esto. Por ejemplo, puede usarse cualquiera entre la identificación de lista de imágenes de referencia o la identificación de imágenes de referencia para la condición de determinación. Cuando no se usa la identificación de imágenes de referencia, puede implementarse el ajuste a escala de vectores de movimiento de particiones en la región vecina según la distancia entre la trama de referencia y la trama de destino. También es posible usar información de otra predicción intra-tramas. Específicamente, el tamaño de la partición de destino y los tamaños de las particiones vecinas pueden sumarse como uno en la condición de determinación mencionada antes. Específicamente, cuando el tamaño de la partición de destino es de NxN píxeles, una condición de determinación puede ser que el tamaño de una partición en la región vecina sea de NxN píxeles, o una condición de determinación puede ser que el tamaño de una partición esté entre N/2xN/2 píxeles y 2Nx2N píxeles.
En la realización anterior, se realiza el cálculo del candidato a predictor de vector de movimiento PMV2 en la región vecina por encima después del cálculo del candidato a predictor de vector de movimiento PMV1 en la región vecina a la izquierda, pero la presente invención no se limita a esto. El candidato a predictor de vector de movimiento PMV2 en la región vecina por encima puede determinarse antes de la determinación del candidato a predictor de vector de movimiento PMV1 en la región vecina a la izquierda. En este caso, un procedimiento de determinación de si un vector de movimiento de una partición en la región vecina a la izquierda es idéntico al candidato a predictor de vector de movimiento PMV2 en la región vecina por encima puede llevarse a cabo en el proceso de determinación del candidato a predictor de vector de movimiento PMV1 en la región vecina a la izquierda.
En la realización anterior se determina, en la etapa S605, si el vector de movimiento de la j-ésima partición en la región vecina por encima es idéntico al candidato a predictor de vector de movimiento PMV1 en la región vecina a la izquierda, pero puede omitirse esta determinación. En este caso, el proceso de la etapa S606 puede realizarse directamente cuando se satisface la condición de determinación en la etapa S604.
En una realización, la etapa S602 puede configurarse para aumentar el índice j en un incremento de dos o más, diezmando de ese modo las particiones que han de explorarse.
Lo siguiente describirá un dispositivo de descodificación de vídeo que descodifica un flujo comprimido generado por el dispositivo de codificación de vídeo 20, para restaurar una secuencia de vídeo. La figura 7 es un dibujo que muestra una configuración del dispositivo de descodificación de vídeo según una realización. El dispositivo de descodificación de vídeo 30 mostrado en la figura 7 es un ejemplo de un dispositivo que descodifica de manera predictiva un vector de movimiento según un aspecto de la presente invención.
Tal como se muestra en la figura 7, el dispositivo de descodificación de vídeo 30 puede estar dotado de una unidad de descodificación por entropía 301, una unidad de determinación de candidatos a predictor de vector de movimiento 302, una unidad de determinación de predictores de vector de movimiento 303, una unidad de adición de vectores de movimiento 304, una unidad de compensación de movimiento 305, una memoria de tramas 306, una unidad de predicción espacial 307, una unidad de determinación de procedimiento de predicción 308, una unidad de cuantización inversa 309, una unidad de transformación ortogonal inversa 310 y una unidad de adición 311.
La unidad de descodificación por entropía 301 recibe un flujo comprimido, luego detecta una palabra de sincronización indicativa del comienzo de cada trama en el flujo comprimido, y después de eso restaura la información de modalidad de predicción y los coeficientes de transformación ortogonales cuantizados a partir de datos codificados en el flujo comprimido, en cada una de las unidades de partición divididas. Cuando la modalidad de predicción especificada por la información de modalidad de predicción es la “modalidad de predicción inter­ tramas”, la unidad de descodificación por entropía 301 descodifica los datos codificados en el flujo comprimido para restaurar también la diferencia de vectores de movimiento, la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia.
La unidad de descodificación por entropía 301 transmite los coeficientes de transformación ortogonales cuantizados y restaurados, a través de la línea L301a, a la unidad de cuantización inversa 309. La unidad de descodificación por entropía 301 transmite la información de modalidad de predicción, la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia, a través de la línea L301b, a la unidad de determinación de candidatos a predictor de vector de movimiento 302. Además, la unidad de descodificación por entropía 301 transmite la diferencia de vectores de movimiento restaurada, a través de la línea L301d, a la unidad de adición de vectores de movimiento 304. La unidad de descodificación por entropía 301 transmite la información de modalidad de predicción restaurada, a través de la línea L301e, a la unidad de determinación de procedimiento de predicción 308.
Cuando la modalidad de predicción especificada por la información de modalidad de predicción recibida es la “modalidad de predicción inter-tramas”, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina candidatos a predictor de vector de movimiento a partir de vectores de movimiento de particiones vecinas descodificadas anteriormente. Puesto que el procesamiento sobre la determinación de candidatos a predictor de vector de movimiento llevado a cabo por la unidad de determinación de candidatos a predictor de vector de movimiento 302 es el mismo que el procesamiento descrito anteriormente en cuanto a la unidad de determinación de candidatos a predictor de vector de movimiento 203, se omite la descripción del mismo en el presente documento. Esta unidad de determinación de candidatos a predictor de vector de movimiento 302 emite los candidatos a predictor de vector de movimiento determinados, a través de la línea L302b, a la unidad de determinación de predictores de vector de movimiento 303. Además, la unidad de determinación de candidatos a predictor de vector de movimiento 302 emite el número de candidatos a predictor de vector de movimiento, a través de la línea L302a, a la unidad de descodificación por entropía 301.
La unidad de descodificación por entropía 301, cuando recibe el número de candidatos a predictor de vector de movimiento a través de la línea L302a, descodifica los datos codificados en el flujo comprimido según el número de candidatos a predictor de vector de movimiento, para restaurar la información de indicación de predictor de vector de movimiento. La unidad de descodificación por entropía 301 transmite la información de indicación de predictor de vector de movimiento restaurada a la unidad de determinación de predictores de vector de movimiento 303. Más específicamente, cuando el número de candidatos a predictor de vector de movimiento es de 0 o 1, no se trasmite ninguna información de indicación de predictor de vector de movimiento y, por tanto, no se lleva a cabo el proceso de restauración. Cuando el número de candidatos a predictor de vector de movimiento es de 2 o 3, los datos codificados de dos bits como máximo se descodifican por entropía para restaurar la información de indicación de predictor de vector de movimiento.
La unidad de descodificación por entropía 301 se configura para restaurar la información de indicación de predictor de vector de movimiento mediante la descodificación de los datos codificados según el número de candidatos a predictor de vector de movimiento, seleccionados por la unidad de determinación de candidatos a predictor de vector de movimiento 302, pero la presente invención no se limita a esto. Por ejemplo, la información de indicación de predictor de vector de movimiento puede restaurarse usando la tabla de codificación fija de la Tabla 1 descrita anteriormente, de manera independiente del número de candidatos a predictor de vector de movimiento. Debería observarse que el establecimiento de la tabla de codificación fija no se limita a este ejemplo. La información de indicación de predictor de vector de movimiento puede restaurarse antes del cálculo de candidatos a predictor de vector de movimiento.
La unidad de determinación de predictores de vector de movimiento 303 determina el predictor de vector de movimiento óptimo PMVopt basándose en la información de indicación de predictor de vector de movimiento introducida a través de la línea L301c, entre los candidatos a predictor de vector de movimiento introducidos a través de la línea L302b. El predictor de vector de movimiento óptimo determinado PMVopt se transmite a través de la línea L303 a la unidad de adición de vectores de movimiento 304.
La unidad de adición de vectores de movimiento 304 realiza la adición de la diferencia de vectores de movimiento transmitida desde la unidad de descodificación por entropía 301 y del predictor de vector de movimiento óptimo PMVopt, transmitido desde la unidad de determinación de predictores de vector de movimiento 303, para restaurar el vector de movimiento. La unidad de adición de vectores de movimiento 304 transmite una señal que incluye el vector de movimiento restaurado, a través de la línea L304, a la unidad de compensación de movimiento 305.
La unidad de compensación de movimiento 305 selecciona la señal de imagen de trama de referencia en la memoria 306 basándose en el vector de movimiento transmitido desde la unidad de adición de vectores de movimiento 304 y la información de modalidad de predicción, la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia, transmitidas a través de la línea L301d, desde la unidad de descodificación por entropía 301, y genera una señal de imagen predicha, usando la señal de imagen de trama de referencia seleccionada. La unidad de compensación de movimiento 305 transmite la señal de imagen predicha, a través de la línea L305a, a la unidad de determinación de procedimiento de predicción 308. Además, la unidad de compensación de movimiento 305 emite la información de modalidad de predicción, la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia, usadas en la generación de la señal de imagen predicha, a través de la línea L305b, a la memoria de tramas 306. Existen señales de imagen de trama descodificadas anteriormente, información de modalidad de predicción, identificaciones de listas de imágenes de referencia e identificaciones de imágenes de referencia almacenadas en la memoria 306.
Cuando la modalidad de predicción especificada por la información de modalidad de predicción, introducida a través de la línea L301e, es la “modalidad de predicción intra-tramas”, la unidad de predicción espacial 307 genera una señal de imagen predicha con referencia a las señales de imagen (señales de imagen de trama de referencia) de particiones vecinas descodificadas anteriormente y transmite la señal de imagen predicha a la unidad de determinación de procedimiento de predicción 308.
La unidad de determinación de procedimiento de predicción 308 selecciona cualquiera entre la señal de imagen predicha generada por la predicción inter-tramas o la señal de imagen predicha generada por la predicción intratramas, basándose en la modalidad de predicción transmitida desde la unidad de descodificación por entropía 301 y transmite la señal de imagen predicha seleccionada, a través de la línea L308, a la unidad de adición 311.
La unidad de cuantización inversa 309 realiza la cuantización inversa de los coeficientes de transformación ortogonales cuantizados, transmitidos desde la unidad de descodificación por entropía 301, para restaurar los coeficientes de transformación ortogonales. La unidad de cuantización inversa 309 transmite los coeficientes de transformación ortogonales restaurados, a través de la línea L309, a la unidad de transformación ortogonal inversa 310.
La unidad de transformación ortogonal inversa 310 aplica una transformación ortogonal inversa a los coeficientes de transformación ortogonales recibidos para restaurar una señal residual de predicción. La unidad de transformación ortogonal inversa 310 transmite la señal residual de predicción restaurada, a través de la línea L310, a la unidad de adición 311.
La unidad de adición 311 realiza la adición de la señal de imagen predicha, transmitida desde la unidad de determinación de procedimiento de predicción 308, y la señal residual de predicción, transmitida desde la unidad de transformación ortogonal inversa 310, para restaurar una señal de imagen de trama.
La señal de imagen de trama restaurada se emite, con una temporización de exhibición predeterminada, a un dispositivo de visualización (no mostrado), mediante lo cual puede reproducirse la señal de vídeo de entrada (señal de imagen dinámica). Puesto que se usa la señal de imagen de trama en el proceso de descodificación posterior, se almacena como una señal de imagen de trama de referencia en la memoria 306. La señal de imagen de trama en el presente documento puede ser del mismo valor que la señal de imagen de trama con el mismo número en el dispositivo de codificación de vídeo 20. La información sobre el vector de movimiento y el número de trama de referencia también se almacena simultáneamente en asociación con la señal de imagen de trama de referencia. A continuación, se describirá una realización de un procedimiento de descodificación predictiva de vectores de movimiento, usado en el dispositivo 30 de descodificación de vídeo, en lo que sigue, con referencia a la figura 8. La figura 8 es un diagrama de flujo que muestra una realización del procedimiento de descodificación predictiva de vectores de movimiento.
En el procedimiento de descodificación predictiva de predictores de vectores de movimiento, según una realización, tal como se muestra en la figura 8, la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia se introducen en primer lugar en la unidad de determinación de candidatos a predictor de vector de movimiento 302 (etapa S801).
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina un candidato a predictor de vector de movimiento, PMV1, a partir de un vector de movimiento, o vectores de movimiento, de una o más particiones incluidas en una región vecina a la izquierda, ubicada a la izquierda de una partición BT de destino (etapa S302).
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina un candidato a predictor de vector de movimiento, PMV2, a partir de un vector de movimiento, o vectores de movimiento, de una o más particiones incluidas en la región vecina por encima, ubicada por encima de la partición BT de destino (etapa S303).
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina un candidato a predictor de vector de movimiento PMV3 (etapa S304). Los procesos de las etapas S302 a S304 en la figura 8 son los mismos que los procesos de las etapas S302 a S304 en la figura 3.
En la etapa S805, entonces la unidad de determinación de candidatos a predictor de vector de movimiento 302 define como candidatos a predictor de vector de movimiento sólo candidatos a predictor de vector de movimiento no idénticos, entre el candidato a predictor de vector de movimiento PMV1, el candidato a predictor de vector de movimiento PMV2 y el candidato a predictor de vector de movimiento PMV3. Como ejemplo específico, cuando el candidato a predictor de vector de movimiento PMV1 es idéntico al candidato a predictor de vector de movimiento PMV3, sólo se seleccionan el candidato a predictor de vector de movimiento PMV1 y el candidato a predictor de vector de movimiento PMV2 como candidatos a predictor de vector de movimiento. Cuando el procesamiento hasta la etapa S805 da como resultado que no se determina ningún candidato efectivo a predictor de vector de movimiento, se define un vector de movimiento cero como candidato a predictor de vector de movimiento.
En la etapa S806, tal como se ha descrito anteriormente, la unidad de descodificación 301 restaura la información de indicación de predictor de vector de movimiento basándose en el número de candidatos a predictor de vector de movimiento. A continuación, en la etapa S807, la unidad de determinación de predictores de vector de movimiento 303 selecciona el predictor de vector de movimiento óptimo entre los candidatos a predictor de vector de movimiento, basándose en la información de indicación de predictor de vector de movimiento.
A continuación, se describirá una segunda realización del procedimiento de codificación predictiva de vectores de movimiento en lo que sigue. La figura 9 es un diagrama de flujo que muestra el proceso de determinación de candidatos a predictor de vector de movimiento en el procedimiento de codificación predictiva de vectores de movimiento en la segunda realización. En el procedimiento de codificación predictiva de vectores de movimiento según la segunda realización, se usa el flujo mostrado en la figura 9 en vez de las etapas S302 a S304 en la figura 3.
En la presente realización, en la etapa S901, la unidad de determinación de candidatos a predictor de vector de movimiento 203 explora en primer lugar las particiones en la región vecina a la izquierda ubicada a la izquierda de la partición de destino en un sentido descendente, para determinar un candidato a predictor de vector de movimiento PMVa a partir de los vectores de movimiento de estas particiones. En la etapa S901, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede detectar el candidato a predictor de vector de movimiento PMVa llevando a cabo el procedimiento de determinación del candidato a predictor de vector de movimiento PMV1 (etapa S302) descrito en la primera realización, según el orden de exploración de la región vecina a la izquierda mostrada en (c) de la figura 4. Para determinar el candidato a predictor de vector de movimiento PMVa, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede usar la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia introducidas, como en la primera realización.
A continuación, en la etapa S902, la unidad de determinación de candidatos a predictor de vector de movimiento 203 explora las particiones en una región vecina a la izquierda ubicada a la izquierda de la partición de destino en un sentido ascendente para determinar un candidato a predictor de vector de movimiento PMVb a partir de los vectores de movimiento de estas particiones. En la etapa S902, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede detectar el candidato a predictor de vector de movimiento PMVb llevando a cabo el procedimiento de determinación del candidato a predictor de vector de movimiento PMV1 (etapa S302), descrito en la primera realización, según el orden de exploración de la región vecina a la izquierda mostrada en (a) de la figura 4. Para determinar el candidato a predictor de vector de movimiento PMVb, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede usar la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia.
A continuación, en la etapa S903 la unidad de determinación de candidatos a predictor de vector de movimiento 203 selecciona un candidato a predictor de vector de movimiento PMVX en la región vecina a la izquierda del candidato a predictor de vector de movimiento PMVa y del candidato a predictor de vector de movimiento PMVb. Además, la unidad de determinación de candidatos a predictor de vector de movimiento 203 genera información de indicación de dirección de exploración, indicativa de la dirección de exploración X usada para la determinación del candidato a predictor de vector de movimiento seleccionado. Específicamente, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina, como candidato a predictor de vector de movimiento PMVX, un candidato a predictor de vector de movimiento con el mínimo error con respecto al predictor de vector de movimiento de la partición de destino, entre el candidato a predictor de vector de movimiento PMVa y el candidato a predictor de vector de movimiento PMVb. Además, cuando se selecciona el candidato a predictor de vector de movimiento PMVa como candidato a predictor de vector de movimiento PMVX, la unidad de determinación de candidatos a predictor de vector de movimiento 203 genera la información de indicación de dirección de exploración, indicativa del sentido descendente; mientras que cuando se selecciona el candidato a predictor de vector de movimiento PMVb, genera la información de indicación de dirección de exploración indicativa del sentido ascendente.
A continuación, en la etapa S904, la unidad de determinación de candidatos a predictor de vector de movimiento 203 explora las particiones en la región vecina por encima de la partición de destino, en un sentido hacia la derecha para determinar un candidato a predictor de vector de movimiento PMVc, a partir de los vectores de movimiento de estas particiones. En la etapa s 904, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede detectar el candidato a predictor de vector de movimiento PMVc llevando a cabo el procedimiento de determinación del candidato a predictor de vector de movimiento PMV2 (etapa S303) descrito en la primera realización, según el orden de exploración de la región vecina por encima, mostrada en (c) de la figura 4. Para determinar el candidato a predictor de vector de movimiento PMVc, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede usar la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia introducidas, como en la primera realización.
A continuación, en la etapa S905, la unidad de determinación de candidatos a predictor de vector de movimiento 203 explora las particiones en la región vecina por encima de la partición de destino en un sentido hacia la izquierda para determinar un candidato a predictor de vector de movimiento PMVd a partir de vectores de movimiento de estas particiones. En la etapa S905, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede detectar el candidato a predictor de vector de movimiento PMVd llevando a cabo el procedimiento de determinación (etapa S303) del candidato a predictor de vector de movimiento PMV2 descrito en la primera realización, según el orden de exploración de la región vecina por encima, mostrada en (a) de la figura 4. Para determinar el candidato a predictor de vector de movimiento PMVd, la unidad de determinación de candidatos a predictor de vector de movimiento 203 también puede usar la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia.
A continuación, en la etapa S906, la unidad de determinación de candidatos a predictor de vector de movimiento 203 selecciona un candidato a predictor de vector de movimiento PMVY en la región vecina por encima del candidato a predictor de vector de movimiento PMVc y del candidato a predictor de vector de movimiento PMVd. La unidad de determinación de candidatos a predictor de vector de movimiento 203 genera la información de indicación de dirección de exploración, indicativa de la dirección de exploración Y usada para la determinación del candidato a predictor de vector de movimiento seleccionado. Específicamente, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina un candidato a predictor de vector de movimiento con el mínimo error con respecto al predictor de vector de movimiento de la partición de destino, entre el candidato a predictor de vector de movimiento PMVc y el candidato a predictor de vector de movimiento PMVd, como candidato a predictor de vector de movimiento PMVy . Cuando se selecciona el candidato a predictor de vector de movimiento PMVc como candidato a predictor de vector de movimiento PMVY, la unidad de determinación de candidatos a predictor de vector de movimiento 203 genera la información de indicación de dirección de exploración, indicativa del sentido hacia la derecha; cuando se selecciona el candidato a predictor de vector de movimiento PMVd, genera la información de indicación de dirección de exploración, indicativa del sentido hacia la izquierda.
A continuación, en la etapa S907, la unidad de determinación de candidatos a predictor de vector de movimiento 203 adquiere un candidato a predictor de vector de movimiento PMVZ de una partición en una trama de referencia en una posición espacialmente idéntica a la partición de destino, de la misma manera que el proceso de la etapa S304. El proceso en esta etapa S907 puede el mismo que la forma de modificación mencionada anteriormente del proceso de la etapa S304 en la primera realización.
A continuación, en la etapa S908, la unidad de determinación de candidatos a predictor de vector de movimiento 203 sólo define candidatos a predictor de vector de movimiento no idénticos entre el candidato a predictor de vector de movimiento PMVX, el candidato a predictor de vector de movimiento PMVY y el candidato a predictor de vector de movimiento PMVZ, como candidatos a predictor de vector de movimiento. Entonces, la unidad de determinación de candidatos a predictor de vector de movimiento 203 emite los candidatos a predictor de vector de movimiento, el número de candidatos a predictor de vector de movimiento y la información de indicación de dirección de exploración. Como ejemplo específico, cuando el candidato a predictor de vector de movimiento PMVX es idéntico al candidato a predictor de vector de movimiento PMVZ, sólo se seleccionan el candidato a predictor de vector de movimiento PMVX y el candidato a predictor de vector de movimiento PMVY como candidatos a predictor de vector de movimiento. Si no se determina un candidato a predictor de vector de movimiento efectivo en las etapas S901 a S907, se define un vector de movimiento cero como candidato a predictor de vector de movimiento.
Después de eso, el mismo procesamiento que en la etapa S306 en la primera realización se lleva a cabo en la segunda realización. Finalmente, en la etapa S307 la unidad de codificación 213 codifica la información de indicación de predictor de vector de movimiento para especificar qué candidato a predictor de vector de movimiento es el predictor de vector de movimiento óptimo. En la segunda realización, la unidad de codificación 213 también codifica la información de indicación de dirección de exploración en la etapa S307.
En la segunda realización, las particiones que constituyen la región vecina a la izquierda y las particiones que constituyen la región vecina por encima pueden modificarse tal como se ha descrito anteriormente en la primera realización. El número de predictores de vector de movimiento también puede cambiarse tal como se ha descrito anteriormente en la primera realización. Tal como se ha descrito anteriormente en la primera realización, el orden de determinación de los candidatos a predictor de vector de movimiento PMVX, PMVY y PMVZ puede cambiarse basándose en la modalidad de división de la partición de destino en sub-particiones y las posiciones de las sub­ particiones.
Se describirá en lo que sigue un procedimiento de descodificación predictiva de vectores de movimiento según la segunda realización. La figura 10 es un diagrama de flujo que muestra el procedimiento de descodificación predictiva de vectores de movimiento según la segunda realización. El procedimiento de descodificación predictiva mostrado en la figura 10 es un procedimiento de predicción de un vector de movimiento a partir de datos codificados generados por el procedimiento de codificación predictiva de vectores de movimiento según la segunda realización.
En la presente realización, tal como se muestra en la figura 10, en la etapa S1001 la unidad de determinación de candidatos a predictor de vector de movimiento 302 recibe en primer lugar la introducción de la identificación de la lista de imágenes de referencia, la identificación de imágenes de referencia e información de indicación de dirección de exploración, restauradas (dirección de exploración X, dirección de exploración Y).
A continuación, en la etapa S1002, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina un candidato a predictor de vector de movimiento PMVX en la región vecina a la izquierda, según la identificación de la lista de imágenes de referencia, la identificación de imágenes de referencia y la información de indicación de dirección de exploración para especificar la dirección de exploración X. El candidato a predictor de vector de movimiento PMVX se determina mediante el mismo proceso que la determinación del candidato a predictor de vector de movimiento PMV1 en la primera realización, mediante exploración secuencial de las particiones en la región vecina a la izquierda en la dirección de exploración X especificada por la información de indicación de dirección de exploración.
A continuación, en la etapa S1003, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina un candidato a predictor de vector de movimiento PMVY en la región vecina por encima, según la identificación de la lista de imágenes de referencia, la identificación de imágenes de referencia y la información de indicación de dirección de exploración para especificar la dirección de exploración Y. El candidato a predictor de vector de movimiento PMVY se determina mediante el mismo proceso que la determinación del candidato a predictor de vector de movimiento PMV2 en la primera realización, mediante exploración secuencial de las particiones en la región vecina por encima en la dirección de exploración Y especificada por la información de indicación de dirección de exploración.
A continuación, en la etapa S1004, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina un candidato a predictor de vector de movimiento PMVZ de una partición en una trama de referencia espacialmente idéntica a la partición de destino. El proceso de la etapa S1004 es el mismo que el proceso de la etapa 304.
A continuación, en la etapa S1005, la unidad de determinación de candidatos a predictor de vector de movimiento 302 sólo define candidatos a predictor de vector de movimiento no idénticos, entre el candidato a predictor de vector de movimiento PMVX, el candidato a predictor de vector de movimiento PMVY y el candidato a predictor de vector de movimiento PMVZ, como candidatos a predictor de vector de movimiento. Como ejemplo específico, cuando el candidato a predictor de vector de movimiento PMVX es idéntico al candidato a predictor de vector de movimiento PMVZ, sólo se seleccionan el candidato a predictor de vector de movimiento PMVX y el candidato a predictor de vector de movimiento PMVY como candidatos a predictor de vector de movimiento. Si se determina ningún candidato a predictor de vector de movimiento efectivo mediante el procesamiento hasta la etapa S1005, se define un vector de movimiento cero como candidato a predictor de vector de movimiento.
A continuación, en la etapa S1006, la unidad de descodificación 301 restaura la información de indicación de predictor de vector de movimiento basándose en el número de candidatos a predictor de vector de movimiento. En la etapa S1007, entonces la unidad de determinación de predictores de vector de movimiento 303 selecciona el predictor de vector de movimiento óptimo de entre los candidatos a predictor de vector de movimiento, basándose en la información de indicación de predictor de vector de movimiento.
En la segunda realización, el orden de determinación de los candidatos a predictor de vector de movimiento PMVX, PMVY y PMVZ también puede cambiarse basándose en la modalidad de división de la partición de destino en sub­ particiones y las posiciones de las sub-particiones, tal como se ha descrito anteriormente en la primera realización. El dispositivo de codificación de vídeo 20 y el dispositivo de descodificación de vídeo 30, descritos anteriormente, se configuran para limitar los candidatos para un predictor de vector de movimiento y luego detectan el predictor de vector de movimiento óptimo entre los candidatos resultantes a predictor de vector de movimiento. Por tanto, es posible reducir la complejidad de cálculo necesaria para la determinación del predictor de vector de movimiento óptimo. Además, la información de indicación de predictor de vector de movimiento para especificar el predictor de vector de movimiento óptimo puede codificarse en un menor recuento de bits.
El dispositivo de codificación de vídeo 20 y el dispositivo de descodificación de vídeo 30 que usan la codificación predictiva y descodificación predictiva de la segunda realización pueden determinar los candidatos a predictor de vector de movimiento con un menor error con respecto al vector de movimiento de la partición de destino.
Lo siguiente describirá un programa de codificación de vídeo 1000 para hacer que un ordenador funcione como el dispositivo de codificación de vídeo 20, y un programa de descodificación de vídeo 1100 para hacer que un ordenador funcione como el dispositivo de descodificación de vídeo 30 mencionado anteriormente.
La figura 11 es un dibujo que muestra una configuración del programa de codificación de vídeo según una realización. La figura 12 es un dibujo que muestra una configuración del programa de descodificación de vídeo según una realización. La figura 13 es un dibujo que muestra una configuración de hardware de un ordenador según una realización. La figura 14 es una vista en perspectiva que muestra un ordenador según una realización.
El programa de codificación de vídeo 1000 mostrado en la figura 11 puede proporcionarse almacenado en un medio SM de grabación. Además, el programa de descodificación de vídeo 1100 mostrado en la figura 12 también puede proporcionarse almacenado en un medio SM de grabación. Los ejemplos de tales medios SM de grabación aplicables en el presente documento incluyen medios de grabación tales como el disco flexible, el CD-ROM, el DVD o la ROM, memorias de semiconductor o similares.
Tal como se muestra en la figura 13, un ordenador C10 puede estar dotado de un dispositivo de lectura C12, tal como una unidad de disco flexible, una unidad de CD-ROM o una unidad de DVD, una memoria de trabajo (RAM) C14 en la que reside un sistema operativo, una memoria C16 que almacena un programa almacenado en un medio SM de grabación, una unidad de monitor C18 tal como una pantalla, un ratón C20 y un teclado C22 como dispositivos de entrada, un dispositivo de comunicación C24 para la transmisión y recepción de datos y otros, y una CPU C26 para controlar la ejecución del programa.
Cuando se pone el medio SM de grabación en el dispositivo de lectura C12, el ordenador C10 se vuelve accesible para el programa de codificación de vídeo 1000 almacenado en el medio SM de grabación, mediante el dispositivo de lectura C12, y puede funcionar como el dispositivo de codificación de vídeo 20, basándose en el programa 1000.
Cuando se pone el medio SM de grabación en el dispositivo de lectura C12, el ordenador C10 se vuelve accesible para el programa de descodificación de vídeo 1100 almacenado en el medio SM de grabación, mediante el dispositivo de lectura C12, y puede funcionar como el dispositivo de descodificación de vídeo 30, basándose en el programa 1100.
Tal como se muestra en la figura 11, el programa de codificación de vídeo 1000 está dotado de un módulo principal 1001 para controlar generalmente el procesamiento, un módulo de entrada 1002, un módulo de detección de movimiento 1003, un módulo de determinación de candidatos a predictor de vector de movimiento 1004, un módulo de determinación de predictor de vector de movimiento 1005, un módulo de diferencia de vectores de movimiento 1006, un módulo de compensación de movimiento 1007, un módulo de predicción espacial 1008, un módulo de determinación de procedimiento de predicción 1009, un módulo de resta 1010, un módulo de transformación ortogonal 1011, un módulo de cuantización 1012, un módulo de codificación por entropía 1013, un módulo de cuantización inversa 1014, un módulo de transformación ortogonal inversa 1015 y un módulo de adición 1016. Las funciones que el módulo de entrada 1002, el módulo de detección de movimiento 1003, el módulo de determinación de candidatos a predictor de vector de movimiento 1004, el módulo de determinación de predictor de vector de movimiento 1005, el módulo de diferencia de vectores de movimiento 1006, el módulo de compensación de movimiento 1007, el módulo de predicción espacial 1008, el módulo de determinación de procedimiento de predicción 1009, el módulo de resta 1010, el módulo de transformación ortogonal 1011, el módulo de cuantización 1012, el módulo de codificación por entropía 1013, el módulo de cuantización inversa 1014, el módulo de transformación ortogonal inversa 1015 y el módulo de adición 1016 hacen que implemente un ordenador son las mismas que las funciones de la unidad de entrada 201, la unidad de detección de movimiento 202, la unidad de determinación de candidatos a predictor de vector de movimiento 203, la unidad de determinación de predictores de vector de movimiento 204, la unidad de diferencia de vectores de movimiento 205, la unidad de compensación de movimiento 206, la unidad de predicción espacial 208, la unidad de determinación de procedimiento de predicción 209, la unidad de resta 210, la unidad de transformación 211 ortogonal, la unidad de cuantización 212, la unidad de codificación por entropía 213, la unidad de cuantización inversa 214, la unidad de transformación ortogonal inversa 215 y la unidad de adición 216 mencionadas antes, respectivamente.
Tal como se muestra en la figura 12, el programa de descodificación de vídeo 1100 está dotado de un módulo principal 1101 para controlar generalmente el procesamiento, un módulo de descodificación por entropía 1102, un módulo de determinación de candidatos a predictor de vector de movimiento 1103, un módulo de determinación de predictor de vector de movimiento 1104, un módulo de adición de vectores de movimiento 1105, un módulo de compensación de movimiento 1106, un módulo de predicción espacial 1107, un módulo de determinación de procedimiento de predicción 1108, un módulo de cuantización inversa 1109, un módulo de transformación ortogonal inversa 1110 y un módulo de adición 1111. Las funciones que el módulo de descodificación por entropía 1102, el módulo de determinación de candidatos a predictor de vector de movimiento 1103, el módulo de determinación de predictor de vector de movimiento 1104, el módulo de adición de vectores de movimiento 1105, el módulo de compensación de movimiento 1106, el módulo de predicción espacial 1107, el módulo de determinación de procedimiento de predicción 1108, el módulo de cuantización inversa 1109, el módulo de transformación ortogonal inversa 1110 y el módulo de adición 1111 hacen que implemente un ordenador son las mismas que las funciones de la unidad de descodificación por entropía 301, la unidad de determinación de candidatos a predictor de vector de movimiento 302, la unidad de determinación de predictores de vector de movimiento 303, la unidad de adición de vectores de movimiento 304, la unidad de compensación de movimiento 305, la unidad de predicción espacial 307, la unidad 308 de determinación de procedimiento de predicción, la unidad de cuantización inversa 309, la unidad de transformación ortogonal inversa 310 y la unidad de adición 311 mencionadas antes, respectivamente.
Lo anterior describe diversas realizaciones, pero la presente invención puede modificarse de muchas maneras sin limitarse a las realizaciones anteriores. Por ejemplo, en las realizaciones anteriores los datos codificados de la diferencia de vectores de movimiento, que es la diferencia entre el vector de movimiento de la partición de destino y el predictor de vector de movimiento (predictor de vector de movimiento óptimo), se transmite desde el dispositivo de codificación al dispositivo de descodificación, pero el predictor de vector de movimiento óptimo puede adoptarse como vector de movimiento de la partición de destino, sin transmitir los datos codificados de la diferencia de vectores de movimiento desde el dispositivo de codificación al dispositivo de descodificación.
El candidato a predictor de vector de movimiento PMVX puede determinarse tal como sigue: se crean señales de imagen predichas usando los candidatos a predictor de vector de movimiento PMVa y PMVb y el candidato a predictor de vector de movimiento PMVX que va a adoptarse es un candidato a predictor de vector de movimiento para hacer que sea menor la suma de diferencias absolutas (SAD) entre la señal de imagen predicha y la señal de imagen de la partición de destino, entre los candidatos a predictor de vector de movimiento PMVa y PMVb. El candidato a predictor de vector de movimiento PMVY puede determinarse tal como sigue: se crean señales de imagen predichas usando los candidatos a predictor de vector de movimiento PMVc y PMVd y el candidato a predictor de vector de movimiento PMVY que va a adoptarse es un candidato a predictor de vector de movimiento para hacer que sea menor la suma de diferencias absolutas (SAD) entre la señal de imagen predicha y la señal de imagen de la partición de destino, entre los candidatos a predictor de vector de movimiento PMVc y PMCd. Además, puede usarse la suma de diferencias transformadas absolutas (SATD) o la suma de diferencias al cuadrado (SSD), en vez de la SAD.
Lista de símbolos de referencia
20 dispositivo de codificación de vídeo; 30 dispositivo de descodificación de vídeo; 201 unidad de entrada; 202 unidad de detección; 203 unidad de determinación de candidatos a predictor de vector de movimiento; 204 unidad de determinación de predictores de vector de movimiento; 205 unidad de diferencia de vectores de movimiento; 206 unidad de compensación de movimiento; 207 memoria; 208 unidad de predicción espacial; 209 unidad de determinación de procedimiento de predicción; 210 unidad de resta; 211 unidad de transformación; 212 unidad de cuantización; 213 unidad de codificación por entropía; 214 unidad de cuantización inversa; 215 unidad de transformación inversa; 216 unidad de adición; 301 unidad de descodificación por entropía; 302 unidad de determinación de candidatos a predictor de vector de movimiento; 303 unidad de determinación de predictores de vector de movimiento; 304 unidad de adición de vectores de movimiento; 305 unidad de compensación de movimiento; 306 memoria de tramas; 307 unidad de predicción espacial; 308 unidad de determinación de procedimiento de predicción; 309 unidad de cuantización inversa; 310 unidad de transformación ortogonal inversa; 311 unidad de adición.

Claims (1)

  1. REIVINDICACIONES
    Un procedimiento para codificar de manera predictiva un vector de movimiento usado en la predicción con compensación de movimiento de una secuencia de vídeo que consiste en una secuencia temporal de imágenes de trama, que comprende:
    una etapa de determinación de un vector de movimiento de una partición (BT) de destino en una imagen de trama de un objetivo de codificación en la secuencia de vídeo;
    una etapa de determinación de un primer candidato a predictor de vector de movimiento (PMV1) (S302) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento, determinándose el primer candidato a predictor de vector de movimiento (PMV1) a partir de un vector de movimiento, o vectores de movimiento, de particiones adicionales pertenecientes a una región (BL) vecina a la izquierda ubicada en el lado izquierdo de la partición (BT) de destino;
    una etapa de determinación de un segundo candidato a predictor de vector de movimiento (PMV2) (S303) que satisface un criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, determinándose el segundo candidato a predictor de vector de movimiento (PMV2) a partir de un vector de movimiento, o vectores de movimiento, de particiones adicionales pertenecientes a una región (BA) vecina por encima ubicada por encima de la partición (BT) de destino;
    una etapa de selección de un predictor de vector de movimiento óptimo (PMVopt) (S306) y de emisión de información de indicación de predictor de vector de movimiento para especificar el predictor de vector de movimiento óptimo seleccionado (PMVopt), en el que el predictor de vector de movimiento óptimo (PMVopt) se selecciona basándose en la comparación entre uno o más candidatos a predictor de vector de movimiento, incluyendo el primer candidato a predictor de vector de movimiento (PMV1) y el segundo candidato a predictor de vector de movimiento (PMV2), y el vector de movimiento de la partición (BT) de destino; y
    una etapa de codificación de la información de indicación de predictor de vector de movimiento (307), en el que se genera una señal predicha de la partición (BT) de destino haciendo referencia a una trama de referencia con un número de trama especificado por una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx),
    en el que la etapa de determinación del primer candidato a predictor de vector de movimiento (PMV1) comprende determinar el primer candidato a predictor de vector de movimiento (PMV1) a partir de vectores de movimiento de particiones en la región (BL) vecina a la izquierda que tienen una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx) coincidentes con la identificación de lista de imágenes de referencia (ref_list) y la identificación de imágenes de referencia (ref_idx) para la partición (BT) de destino,
    en el que la etapa de determinación del segundo candidato a predictor de vector de movimiento (PMV2) comprende determinar el segundo candidato a predictor de vector de movimiento (PMV2) a partir de vectores de movimiento de particiones en la región (BA) vecina por encima que tienen una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx) coincidentes con la identificación de lista de imágenes de referencia (ref_list) y la identificación de imágenes de referencia (ref_idx) para la partición (BT) de destino,
    caracterizado porque la etapa de determinación del primer candidato a predictor de vector de movimiento comprende explorar particiones adicionales incluidas en la región vecina a la izquierda, en un sentido ascendente desde la parte inferior de la región vecina a la izquierda, y determinar de ese modo, como primer candidato a predictor de vector de movimiento, un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir del vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a la región vecina a la izquierda, y
    en el que la etapa de determinación del segundo candidato a predictor de vector de movimiento comprende explorar particiones adicionales incluidas en la región vecina por encima, en un sentido de derecha a izquierda, y determinar de ese modo, como segundo candidato a predictor de vector de movimiento, un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir del vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a la región vecina por encima.
    El procedimiento según la reivindicación 1, en el que la etapa de codificación comprende codificar la información de indicación de predictor de vector de movimiento en datos codificados de un recuento de bits según el número de los candidatos a predictor de vector de movimiento.
    El procedimiento según la reivindicación 2, en el que la etapa de codificación comprende codificar la información de indicación de predictor de vector de movimiento en datos codificados de un recuento de bits mínimo según el número de los candidatos a predictor de vector de movimiento.
    El procedimiento según una cualquiera de las reivindicaciones 1 a 3, en el que el número del uno o más candidatos a predictor de vector de movimiento es no más de 3.
    El procedimiento según una cualquiera de las reivindicaciones 1 a 4, en el que, sin codificar una señal residual entre el vector de movimiento de la partición (BT) de destino y el predictor de vector de movimiento óptimo (PMVopt), se usa el predictor de vector de movimiento óptimo como vector de movimiento (PMVopt) de la partición (BT) de destino.
    Un dispositivo para codificar de manera predictiva un vector de movimiento usado en la predicción con compensación de movimiento de una secuencia de vídeo que consiste en una secuencia temporal de imágenes de trama, que comprende:
    medios de detección de movimiento (202) adaptados para determinar un vector de movimiento de una partición (BT) de destino en una imagen de trama de un objetivo de codificación en la secuencia de vídeo; primeros medios de determinación de candidatos a predictor de vector de movimiento (203) adaptados para determinar un primer candidato a predictor de vector de movimiento (PMV1) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento, determinándose el primer candidato a predictor de vector de movimiento (PMV1) a partir de un vector de movimiento, o vectores de movimiento, de particiones adicionales pertenecientes a una región (BL) vecina a la izquierda ubicada en el lado izquierdo de la partición (BT) de destino;
    segundos medios de determinación de candidatos a predictor de vector de movimiento (203) adaptados para determinar un segundo candidato a predictor de vector de movimiento (PMV2) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento, determinándose el segundo candidato a predictor de vector de movimiento (PMV2) a partir de un vector de movimiento, o vectores de movimiento, de particiones adicionales pertenecientes a una región (BA) vecina por encima ubicada por encima de la partición (BT) de destino;
    medios de determinación de predictor de vector de movimiento (204) adaptados para seleccionar un predictor de vector de movimiento óptimo (PMVopt) e información de indicación de predictor de vector de movimiento de salida, para especificar el predictor de vector de movimiento óptimo seleccionado (PMVopt), en el que el predictor de vector de movimiento óptimo (PMVopt) se selecciona basándose en la comparación entre uno o más candidatos a predictor de vector de movimiento, incluyendo el primer candidato a predictor de vector de movimiento (PMV1) y el segundo candidato a predictor de vector de movimiento (PMV2); y
    medios de codificación (213) adaptados para codificar la información de indicación de predictor de vector de movimiento,
    en el que se genera una señal predicha de la partición (BT) de destino haciendo referencia a una trama de referencia con un número de trama especificado por una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx),
    en el que los primeros medios de determinación de candidatos a predictor de vector de movimiento (203) comprenden determinar el primer candidato a predictor de vector de movimiento (PMV1) a partir de vectores de movimiento de particiones en la región (BL) vecina a la izquierda que tienen una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx) coincidentes con la identificación de lista de imágenes de referencia (ref_list) y la identificación de imágenes de referencia (ref_idx) para la partición (BT) de destino,
    en el que los segundos medios de determinación de candidatos a predictor de vector de movimiento (203) comprenden determinar el segundo candidato a predictor de vector de movimiento (PMV2) a partir de vectores de movimiento de particiones en la región (BA) vecina por encima que tienen una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx) coincidentes con la identificación de lista de imágenes de referencia (ref_list) y la identificación de imágenes de referencia (ref_idx) para la partición (BT) de destino,
    caracterizado porque los primeros medios de determinación de candidatos a predictor de vector de movimiento (203) comprenden explorar particiones adicionales incluidas en la región vecina a la izquierda, en un sentido ascendente desde la parte inferior de la región vecina a la izquierda, y determinar de ese modo, como primer candidato a predictor de vector de movimiento, un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir del vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a la región vecina a la izquierda, y
    en el que los segundos medios de determinación de candidatos a predictor de vector de movimiento (203) comprenden explorar particiones adicionales incluidas en la región vecina por encima, en un sentido de derecha a izquierda, y determinar de ese modo, como segundo candidato a predictor de vector de movimiento, un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir del vector de movimiento, o vectores de movimiento, de las particiones adicionales pertenecientes a la región vecina por encima.
    Un programa para hacer que un ordenador (C10) funcione como dispositivo para codificar de manera predictiva un vector de movimiento usado en la predicción con compensación de movimiento de una secuencia de vídeo que consiste en una secuencia temporal de imágenes de trama, haciendo el programa que el ordenador funcione como:
    medios de detección de movimiento (202) adaptados para determinar un vector de movimiento de una partición (BT) de destino en una imagen de trama de un objetivo de codificación en la secuencia de vídeo; primeros medios de determinación de candidatos a predictor de vector de movimiento (203), adaptados para determinar un primer candidato a predictor de vector de movimiento (PMV1) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento, determinándose el primer candidato a predictor de vector de movimiento (PMV1) a partir de un vector de movimiento, o vectores de movimiento, de particiones adicionales pertenecientes a una región (BL) vecina a la izquierda ubicada en el lado izquierdo de la partición (BT) de destino;
    segundos medios de determinación de candidatos a predictor de vector de movimiento (203), adaptados para determinar un segundo candidato a predictor de vector de movimiento (PMV2) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento, determinándose el segundo candidato a predictor de vector de movimiento (PMV2) a partir de un vector de movimiento, o vectores de movimiento, de particiones adicionales pertenecientes a una región (BA) vecina por encima ubicada por encima de la partición (BT) de destino;
    medios de determinación de predictor de vector de movimiento (204) adaptados para seleccionar un predictor de vector de movimiento óptimo (PMVopt) e información de indicación de predictor de vector de movimiento de salida para especificar el predictor de vector de movimiento óptimo seleccionado (PMVopt), en el que el predictor de vector de movimiento óptimo (PMVopt) se selecciona basándose en la comparación entre uno o más candidatos a predictor de vector de movimiento, incluyendo al menos el primer candidato a predictor de vector de movimiento (PMV1) y el segundo candidato a predictor de vector de movimiento (PMV2), y el vector de movimiento de la partición (BT) de destino; y
    medios de codificación (213) adaptados para codificar la información de indicación de predictor de vector de movimiento,
    en el que se genera una señal predicha de la partición (BT) de destino haciendo referencia a una trama de referencia con un número de trama especificado por una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx),
    en el que la etapa de determinación del primer candidato a predictor de vector de movimiento (PMV1) comprende determinar el primer candidato a predictor de vector de movimiento (PMV1) a partir de vectores de movimiento de particiones en la región (BL) vecina a la izquierda que tienen una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx) coincidentes con la identificación de lista de imágenes de referencia (ref_list) y la identificación de imágenes de referencia (ref_idx) para la partición (BT) de destino,
    en el que la etapa de determinación del segundo candidato a predictor de vector de movimiento (PMV2) comprende determinar el segundo candidato a predictor de vector de movimiento (PMV2) a partir de vectores de movimiento de particiones en la región (BA) vecina por encima que tienen una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx) coincidentes con la identificación de lista de imágenes de referencia (ref_list) y la identificación de imágenes de referencia (ref_idx) para la partición (BT) de destino,
    caracterizado porque los primeros medios de determinación de candidatos a predictor de vector de movimiento (203) comprenden explorar particiones adicionales incluidas en la región vecina a la izquierda, en un sentido ascendente desde la parte inferior de la región vecina a la izquierda, y determinar de ese modo, como primer candidato a predictor de vector de movimiento, un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir del vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a la región vecina a la izquierda, y
    en el que los segundos medios de determinación de candidatos a predictor de vector de movimiento (203) comprenden explorar particiones adicionales incluidas en la región vecina por encima, en un sentido de derecha a izquierda, y determinar de ese modo, como segundo candidato a predictor de vector de movimiento, un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir del vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a la región vecina por encima.
    Un procedimiento para descodificar de manera predictiva un vector de movimiento usado en la predicción con compensación de movimiento para restaurar una secuencia de vídeo que consiste en una secuencia temporal de imágenes de trama, que comprende:
    una etapa (S302) de determinación de un primer candidato a predictor de vector de movimiento (PMV1) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento, a partir de un vector de movimiento, o vectores de movimiento, de una o más particiones pertenecientes a una región (BL) vecina a la izquierda ubicada en el lado izquierdo de una partición (BT) de destino en una imagen de trama de un objetivo de descodificación;
    una etapa (S303) de determinación de un segundo candidato a predictor de vector de movimiento (PMV2) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento, a partir de un vector de movimiento, o vectores de movimiento, de una o más particiones pertenecientes a una región (BA) vecina por encima ubicada por encima de la partición (BT) de destino; una etapa de descodificación de datos codificados para restaurar información de indicación de predictor de vector de movimiento que especifica un predictor de vector de movimiento óptimo (PMVopt) para la partición (BT) de destino; y
    una etapa de selección del predictor de vector de movimiento óptimo (PMVopt) especificado por la información de indicación de predictor de vector de movimiento, entre uno o más candidatos a predictor de vector de movimiento, incluyendo al menos el primer candidato a predictor de vector de movimiento (PMV1) y el segundo candidato a predictor de vector de movimiento (PMV2),
    en el que se genera una señal predicha de la partición (BT) de destino haciendo referencia a una trama de referencia con un número de trama especificado por una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx),
    en el que la etapa de determinación del primer candidato a predictor de vector de movimiento (PMV1) comprende determinar el primer candidato a predictor de vector de movimiento (PMV1) a partir de vectores de movimiento de particiones en la región (BL) vecina a la izquierda que tienen una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx) coincidentes con la identificación de lista de imágenes de referencia (ref_list) y la identificación de imágenes de referencia (ref_idx) para la partición (BT) de destino,
    en el que la etapa de determinación del segundo candidato a predictor de vector de movimiento (PMV2) comprende determinar el segundo candidato a predictor de vector de movimiento (PMV2) a partir de vectores de movimiento de particiones en la región (BA) vecina por encima que tienen una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx) coincidentes con la identificación de lista de imágenes de referencia (ref_list) y la identificación de imágenes de referencia (ref_idx) para la partición (BT) de destino,
    caracterizado porque la etapa de determinación del primer candidato a predictor de vector de movimiento comprende explorar particiones adicionales incluidas en la región vecina a la izquierda, en un sentido ascendente desde la parte inferior de la región vecina a la izquierda, y determinar de ese modo, como primer candidato a predictor de vector de movimiento, un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir del vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a la región vecina a la izquierda, y
    en el que la etapa de determinación del segundo candidato a predictor de vector de movimiento comprende explorar particiones adicionales incluidas en la región vecina por encima, en un sentido de derecha a izquierda, y determinar de ese modo, como segundo candidato a predictor de vector de movimiento, un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir del vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a la región vecina por encima.
    9. El procedimiento según la reivindicación 8, en el que un recuento de bits de los datos codificados de la información de indicación de predictor de vector de movimiento es un recuento de bits según el número de los candidatos a predictor de vector de movimiento.
    10. El procedimiento según la reivindicación 9, en el que el recuento de bits de los datos codificados de la información de indicación de predictor de vector de movimiento es un recuento de bits mínimo según el número de los candidatos a predictor de vector de movimiento.
    11. El procedimiento según una cualquiera de las reivindicaciones 8 a 10, en el que el número de los uno o más candidatos a predictor de vector de movimiento es no más de 3.
    12. El procedimiento según una cualquiera de las reivindicaciones 8 a 11, en el que se usa el predictor de vector de movimiento óptimo (PMVopt) como vector de movimiento de la partición (BT) de destino.
    13. Un dispositivo para descodificar de manera predictiva un vector de movimiento usado en la predicción con compensación de movimiento para restaurar una secuencia de vídeo que consiste en una secuencia temporal de imágenes de trama, que comprende:
    primeros medios de determinación de candidatos a predictor de vector de movimiento (203), adaptados para determinar un primer candidato a predictor de vector de movimiento (PMV1) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento a partir de un vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a una región (BL) vecina a la izquierda ubicada en el lado izquierdo de una partición (BT) de destino en una imagen de trama de un objetivo de descodificación;
    segundos medios de determinación de candidatos a predictor de vector de movimiento (203), adaptados para determinar un segundo candidato a predictor de vector de movimiento (PMV2) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento a partir de un vector de movimiento, o vectores de movimiento de la una o más particiones adicionales pertenecientes a una región (BA) vecina por encima ubicada por encima de la partición (BT) de destino;
    medios de descodificación adaptados para descodificar datos codificados, para restaurar información de indicación de predictor de vector de movimiento que especifica un predictor de vector de movimiento óptimo (PMVopt) para la partición (BT) de destino; y
    medios de determinación de predictor de vector de movimiento óptimo (PMVopt), adaptados para seleccionar el predictor de vector de movimiento óptimo (PMVopt) especificado por la información de indicación de predictor de vector de movimiento, entre uno o más candidatos a predictor de vector de movimiento, incluyendo al menos el primer candidato a predictor de vector de movimiento (PMV1) y el segundo candidato a predictor de vector de movimiento (PMV2),
    en el que se genera una señal predicha de la partición (BT) de destino haciendo referencia a una trama de referencia con un número de trama especificado por una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx),
    en el que los primeros medios de determinación de candidatos a predictor de vector de movimiento comprenden determinar el primer candidato a predictor de vector de movimiento (PMV1) a partir de vectores de movimiento de particiones en la región (BL) vecina a la izquierda que tienen una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx) coincidentes con la identificación de lista de imágenes de referencia (ref_list) y la identificación de imágenes de referencia (ref_idx) para la partición (BT) de destino,
    en el que los segundos medios de determinación de candidatos a predictor de vector de movimiento comprenden determinar el segundo candidato a predictor de vector de movimiento (PMV2) a partir de vectores de movimiento de particiones en la región (BA) vecina por encima que tienen una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx) coincidentes con la identificación de lista de imágenes de referencia (ref_list) y la identificación de imágenes de referencia (ref_idx) para la partición (BT) de destino,
    caracterizado porque los primeros medios de determinación de candidatos a predictor de vector de movimiento (203) comprenden explorar particiones adicionales incluidas en la región vecina a la izquierda, en un sentido ascendente desde la parte inferior de la región vecina a la izquierda, y determinar de ese modo, como primer candidato a predictor de vector de movimiento, un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir del vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a la región vecina a la izquierda, y
    en el que los segundos medios de determinación de candidatos a predictor de vector de movimiento (203) comprenden explorar particiones adicionales incluidas en la región vecina por encima, en un sentido de derecha a izquierda, y determinar de ese modo, como segundo candidato a predictor de vector de movimiento, un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir del vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a la región vecina por encima.
    Un programa para hacer que un ordenador funcione como dispositivo para descodificar de manera predictiva un vector de movimiento usado en la predicción con compensación de movimiento, para restaurar una secuencia de vídeo que consiste en una secuencia temporal de imágenes de trama, haciendo el programa que el ordenador funcione como:
    primeros medios de determinación de candidatos a predictor de vector de movimiento (203), adaptados para determinar un primer candidato a predictor de vector de movimiento (PMV1) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento a partir de un vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a una región (BL) vecina a la izquierda ubicada en el lado izquierdo de una partición (BT) de destino en una imagen de trama de un objetivo de descodificación;
    segundos medios de determinación de candidatos a predictor de vector de movimiento (203), adaptados para determinar un segundo candidato a predictor de vector de movimiento (PMV2) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento a partir de un vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a una región (BA) vecina por encima ubicada por encima de la partición (BT) de destino;
    medios de descodificación adaptados para descodificar datos codificados para restaurar información de indicación de predictor de vector de movimiento que especifica un predictor de vector de movimiento óptimo (PMVopt) para la partición (BT) de destino; y
    medios de determinación de predictor de vector de movimiento óptimo (PMVopt), adaptados para seleccionar el predictor de vector de movimiento óptimo (PMVopt) especificado por la información de indicación de predictor de vector de movimiento, entre uno o más candidatos a predictor de vector de movimiento, incluyendo al menos el primer candidato a predictor de vector de movimiento (PMV1) y el segundo candidato a predictor de vector de movimiento (PMV2),
    en el que se genera una señal predicha de la partición (BT) de destino haciendo referencia a una trama de referencia con un número de trama especificado por una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx),
    en el que los primeros medios de determinación de candidatos a predictor de vector de movimiento comprenden determinar el primer candidato a predictor de vector de movimiento (PMV1) a partir de vectores de movimiento de particiones en la región (BL) vecina a la izquierda que tienen una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx) coincidentes con la identificación de lista de imágenes de referencia (ref_list) y la identificación de imágenes de referencia (ref_idx) para la partición (BT) de destino,
    en el que los segundos medios de determinación de candidatos a predictor de vector de movimiento comprenden determinar el segundo candidato a predictor de vector de movimiento (PMV2) a partir de vectores de movimiento de particiones en la región (BA) vecina por encima que tienen una identificación de lista de imágenes de referencia (ref_list) y una identificación de imágenes de referencia (ref_idx) coincidentes con la identificación de lista de imágenes de referencia (ref_list) y la identificación de imágenes de referencia (ref_idx) para la partición (BT) de destino,
    caracterizado porque los primeros medios de determinación de candidatos a predictor de vector de movimiento (203) comprenden explorar particiones adicionales incluidas en la región vecina a la izquierda, en un sentido ascendente desde la parte inferior de la región vecina a la izquierda, y determinar de ese modo, como primer candidato a predictor de vector de movimiento, un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir del vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a la región vecina a la izquierda, y
    en el que los segundos medios de determinación de candidatos a predictor de vector de movimiento (203) comprenden explorar particiones adicionales incluidas en la región vecina por encima, en un sentido de derecha a izquierda, y determinar de ese modo, como segundo candidato a predictor de vector de movimiento, un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir del vector de movimiento, o vectores de movimiento de la una o más particiones pertenecientes a la región vecina por encima.
ES20217808T 2011-01-07 2011-12-20 Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento Active ES2936314T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011002205 2011-01-07

Publications (1)

Publication Number Publication Date
ES2936314T3 true ES2936314T3 (es) 2023-03-16

Family

ID=46457445

Family Applications (4)

Application Number Title Priority Date Filing Date
ES20217808T Active ES2936314T3 (es) 2011-01-07 2011-12-20 Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento
ES22194613T Active ES2957772T3 (es) 2011-01-07 2011-12-20 Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento
ES11855027.6T Active ES2614821T3 (es) 2011-01-07 2011-12-20 Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento
ES15166363.0T Active ES2622732T3 (es) 2011-01-07 2011-12-20 Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento

Family Applications After (3)

Application Number Title Priority Date Filing Date
ES22194613T Active ES2957772T3 (es) 2011-01-07 2011-12-20 Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento
ES11855027.6T Active ES2614821T3 (es) 2011-01-07 2011-12-20 Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento
ES15166363.0T Active ES2622732T3 (es) 2011-01-07 2011-12-20 Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento

Country Status (19)

Country Link
US (5) US9693052B2 (es)
EP (6) EP4120685A1 (es)
JP (5) JP5698767B2 (es)
KR (6) KR20140011475A (es)
CN (5) CN105812820B (es)
AU (1) AU2011353904B2 (es)
BR (1) BR112013017208B1 (es)
CA (4) CA2933341C (es)
DK (2) DK4120686T3 (es)
ES (4) ES2936314T3 (es)
FI (2) FI3826306T3 (es)
HU (2) HUE063372T2 (es)
MX (4) MX2013007540A (es)
PL (4) PL4120686T3 (es)
PT (4) PT2938082T (es)
RU (7) RU2649770C1 (es)
SG (1) SG191232A1 (es)
TW (3) TW201244499A (es)
WO (1) WO2012093585A1 (es)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101456499B1 (ko) * 2010-07-09 2014-11-03 삼성전자주식회사 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US9300970B2 (en) 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
CA2933341C (en) 2011-01-07 2020-06-30 Ntt Docomo, Inc. Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector
US9319716B2 (en) * 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9374598B2 (en) 2011-03-21 2016-06-21 Lg Electronics Inc. Method for selecting motion vector predictor and device using same
CN107181961A (zh) 2011-05-31 2017-09-19 Jvc 建伍株式会社 动图像编码装置、动图像编码方法以及记录介质
MX2013013029A (es) * 2011-06-30 2013-12-02 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, dispositivo de decodificacion de imagenes, dispositivo de codificacion de imagenes y dispositivo de codificacion/decodifi cacion de imagenes.
JP2013098711A (ja) * 2011-10-31 2013-05-20 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
CN103079067B (zh) * 2013-01-09 2016-03-09 华为技术有限公司 运动矢量预测值列表构建方法和视频编解码方法及装置
US9300906B2 (en) * 2013-03-29 2016-03-29 Google Inc. Pull frame interpolation
TWI536811B (zh) * 2013-12-27 2016-06-01 財團法人工業技術研究院 影像處理方法與系統、解碼方法、編碼器與解碼器
KR101944683B1 (ko) 2017-02-21 2019-04-17 (주)제이하우스 아틀리에 클러스터 건물구조
CN108810531B (zh) * 2017-05-03 2019-11-19 腾讯科技(深圳)有限公司 视频编码处理方法、装置及电子设备
US10356439B2 (en) * 2017-06-29 2019-07-16 Intel Corporation Flexible frame referencing for display transport
WO2019049912A1 (ja) * 2017-09-08 2019-03-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN109963155B (zh) 2017-12-23 2023-06-06 华为技术有限公司 图像块的运动信息的预测方法、装置及编解码器
MX2021002557A (es) 2018-09-07 2021-04-29 Panasonic Ip Corp America Sistema y metodo para codificacion de video.
JP7288964B2 (ja) 2018-12-28 2023-06-08 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 動きベクトル予測因子リストを生成すること
SG11202108101SA (en) * 2019-01-28 2021-08-30 Op Solutions Llc Inter prediction in exponential partitioning
US11375243B2 (en) * 2019-07-17 2022-06-28 Tencent America LLC Method and apparatus for video coding
KR20210039553A (ko) 2019-10-02 2021-04-12 주식회사 디맥스 치과용 지르코니아 소재의 표면 처리방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2703802A1 (fr) * 1993-04-07 1994-10-14 Philips Electronique Lab Dispositif d'estimation de mouvement entre des images successives d'une séquence d'images animées subdivisées en blocs bidimensionnels d'éléments d'image.
EP0892561B1 (en) 1993-04-09 2002-06-26 Sony Corporation Picture encoding method and apparatus
KR100523908B1 (ko) * 1997-12-12 2006-01-27 주식회사 팬택앤큐리텔 격행주사 영상에 대한 영상신호 부호화 장치 및 그 방법
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
JP2005223631A (ja) 2004-02-05 2005-08-18 Sony Corp データ処理装置およびその方法と符号化装置および復号装置
JP4543971B2 (ja) * 2005-03-07 2010-09-15 ソニー株式会社 符号化方法、符号化装置、符号化処理のプログラム及び符号化処理のプログラムを記録した記録媒体
JP4712643B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
KR101365567B1 (ko) * 2007-01-04 2014-02-20 삼성전자주식회사 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치
CN101622877A (zh) * 2006-12-22 2010-01-06 高通股份有限公司 用于有效空间帧内可预测性确定(或评估)的系统和方法
US8331448B2 (en) * 2006-12-22 2012-12-11 Qualcomm Incorporated Systems and methods for efficient spatial intra predictabilty determination (or assessment)
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
KR101365574B1 (ko) * 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
US8488668B2 (en) * 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8908765B2 (en) * 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
JP5194833B2 (ja) * 2008-01-23 2013-05-08 ソニー株式会社 符号化装置および方法、記録媒体、並びにプログラム
US8098957B2 (en) * 2008-02-13 2012-01-17 Qualcomm Incorporated Shared block comparison architechture for image registration and video coding
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
CN102498718B (zh) 2009-07-03 2016-01-20 法国电信公司 具有与至少一个相邻参考图像分区的几何形状或尺寸不同的几何形状或尺寸的当前图像分区的移动向量的预测以及使用一个这种预测的编码和解码
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
US9137544B2 (en) * 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
CA2933341C (en) 2011-01-07 2020-06-30 Ntt Docomo, Inc. Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector

Also Published As

Publication number Publication date
PT2938082T (pt) 2017-04-07
US20130294517A1 (en) 2013-11-07
RU2697738C1 (ru) 2019-08-19
JP6099729B2 (ja) 2017-03-22
CN103283235A (zh) 2013-09-04
US20190110065A1 (en) 2019-04-11
JP2018026879A (ja) 2018-02-15
PL3826306T3 (pl) 2023-03-20
CN105812821A (zh) 2016-07-27
US9693052B2 (en) 2017-06-27
RU2744696C1 (ru) 2021-03-15
WO2012093585A1 (ja) 2012-07-12
CA3167001A1 (en) 2012-07-12
RU2580090C2 (ru) 2016-04-10
PT4120686T (pt) 2023-09-07
EP2663077B1 (en) 2017-01-11
PT3826306T (pt) 2023-01-16
RU2676245C1 (ru) 2018-12-26
TW201701669A (zh) 2017-01-01
KR101931276B1 (ko) 2018-12-20
HUE063372T2 (hu) 2024-01-28
US10511856B2 (en) 2019-12-17
MX352533B (es) 2017-11-29
CN105791857B (zh) 2018-12-07
RU2699404C1 (ru) 2019-09-05
EP2938081A1 (en) 2015-10-28
CA2933341A1 (en) 2012-07-12
CN105791857A (zh) 2016-07-20
RU2731026C1 (ru) 2020-08-28
TWI562611B (es) 2016-12-11
JP5698767B2 (ja) 2015-04-08
EP2663077A4 (en) 2015-11-04
CA3079646A1 (en) 2012-07-12
JP6246962B2 (ja) 2017-12-13
TWI621352B (zh) 2018-04-11
JP6411615B2 (ja) 2018-10-24
KR20160036671A (ko) 2016-04-04
FI4120686T3 (fi) 2023-09-12
JP2016036186A (ja) 2016-03-17
AU2011353904B2 (en) 2015-09-10
CA3079646C (en) 2022-09-13
MX2020001492A (es) 2020-03-20
EP4120685A1 (en) 2023-01-18
KR20170132361A (ko) 2017-12-01
US20170150169A1 (en) 2017-05-25
US10511855B2 (en) 2019-12-17
MX339663B (es) 2016-06-03
RU2649770C1 (ru) 2018-04-04
ES2957772T3 (es) 2024-01-25
US9877040B2 (en) 2018-01-23
EP2938082B1 (en) 2017-03-22
CN105812820A (zh) 2016-07-27
EP3826306A1 (en) 2021-05-26
JP2015092781A (ja) 2015-05-14
US20190075316A1 (en) 2019-03-07
KR20160087402A (ko) 2016-07-21
MX2013007540A (es) 2013-08-21
CA2823880C (en) 2016-08-16
EP4120686B1 (en) 2023-08-23
US20170155898A9 (en) 2017-06-01
TWI660623B (zh) 2019-05-21
TW201244499A (en) 2012-11-01
US20180146209A1 (en) 2018-05-24
DK4120686T3 (da) 2023-09-25
CN105812820B (zh) 2019-03-15
CA2823880A1 (en) 2012-07-12
KR20140011475A (ko) 2014-01-28
US10154280B2 (en) 2018-12-11
EP3826306B1 (en) 2022-12-28
EP2663077A1 (en) 2013-11-13
CN103283235B (zh) 2016-10-26
RU2013136900A (ru) 2015-02-20
JP5859691B2 (ja) 2016-02-10
JP2017108433A (ja) 2017-06-15
SG191232A1 (en) 2013-07-31
KR101672790B1 (ko) 2016-11-04
PL2938082T3 (pl) 2017-09-29
PL2663077T3 (pl) 2017-04-28
BR112013017208A2 (pt) 2016-09-20
KR101803886B1 (ko) 2017-12-04
HUE061239T2 (hu) 2023-06-28
JPWO2012093585A1 (ja) 2014-06-09
CN106878741B (zh) 2019-08-06
CA2933341C (en) 2020-06-30
EP4120686A1 (en) 2023-01-18
CN106878741A (zh) 2017-06-20
AU2011353904A1 (en) 2013-07-11
TW201818725A (zh) 2018-05-16
PL4120686T3 (pl) 2023-12-11
KR20200006194A (ko) 2020-01-17
KR102066543B1 (ko) 2020-01-15
BR112013017208B1 (pt) 2019-01-29
PT2663077T (pt) 2017-02-13
EP2938082A1 (en) 2015-10-28
ES2614821T3 (es) 2017-06-02
DK3826306T3 (da) 2023-01-23
ES2622732T3 (es) 2017-07-07
FI3826306T3 (fi) 2023-01-31
KR20180128098A (ko) 2018-11-30
KR102165666B1 (ko) 2020-10-14
CN105812821B (zh) 2017-10-27

Similar Documents

Publication Publication Date Title
ES2936314T3 (es) Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento
AU2020294318B2 (en) Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector