ES2588179T3 - Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento - Google Patents

Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento Download PDF

Info

Publication number
ES2588179T3
ES2588179T3 ES10182783.0T ES10182783T ES2588179T3 ES 2588179 T3 ES2588179 T3 ES 2588179T3 ES 10182783 T ES10182783 T ES 10182783T ES 2588179 T3 ES2588179 T3 ES 2588179T3
Authority
ES
Spain
Prior art keywords
image
motion vector
images
block
motion
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.)
Expired - Lifetime
Application number
ES10182783.0T
Other languages
English (en)
Inventor
Satoshi Kondo
Shinya Kadono
Makoto Hagai
Kiyofumi Abe
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.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Application granted granted Critical
Publication of ES2588179T3 publication Critical patent/ES2588179T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/127Prioritisation of hardware or computational resources
    • 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
    • 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
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display mode
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Un método de codificación para codificar una imagen, dicho método de codificación que comprende: un paso de codificación para determinar un primer vector de movimiento y un segundo vector de movimiento para un bloque actual a ser codificado, basado en un vector de movimiento de un bloque situado conjuntamente que es un bloque incluido dentro de una imagen codificada previamente y situada conjuntamente con el bloque actual y para codificar el bloque actual realizando compensación de movimiento sobre el bloque actual en modo directo usando el primer vector de movimiento y el segundo vector de movimiento para el bloque actual y una primera y una segunda imagen de referencia que corresponden al primer vector de movimiento y al segundo vector de movimiento para el bloque actual, caracterizado por que el paso de codificación incluye: en el caso donde el bloque situado conjuntamente está en la segunda imagen de referencia y se ha codificado usando dos vectores de movimiento y dos imágenes de referencia que corresponden respectivamente a los dos vectores de movimiento, generar el primer vector de movimiento y el segundo vector de movimiento a ser usados para codificar el bloque actual realizando compensación de movimiento sobre el bloque actual en modo directo, mediante escalado, usando una diferencia entre información que indica el orden de visualización de las imágenes, uno de los dos vectores de movimiento usados para codificar el bloque situado conjuntamente; y codificar el bloque actual realizando compensación de movimiento sobre el bloque actual en modo directo usando el primer y segundo vectores de movimiento generados para el bloque actual y la primera y segunda imágenes de referencia que corresponden al primer y segundo vectores de movimiento generados.

Description

5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Metodo de codificacion de imagenes en movimiento y metodo de decodificacion de imagenes en movimiento Campo tecnico
La presente invencion se refiere a metodos de codificacion de imagenes en movimiento y metodos de decodificacion de imagenes en movimiento y, particularmente, a metodos para realizar codificacion de prediccion entre imagenes y decodificacion de prediccion entre imagenes de una imagen actual usando imagenes procesadas previamente como imagenes de referencia.
Antecedentes de la tecnica
En codificacion de imagenes en movimiento, una cantidad de datos se comprime generalmente utilizando las redundancias espaciales y temporales que existen dentro de una imagen en movimiento. Hablando en terminos generales, se usa transformacion de frecuencia como un metodo que utiliza las redundancias espaciales y se usa codificacion de prediccion entre imagenes como un metodo que utiliza las redundancias temporales. En la codificacion de prediccion entre imagenes, para codificar una imagen actual, imagenes codificadas previamente antes o despues de la imagen actual en orden de visualizacion se usan como imagenes de referencia. Se estima la cantidad de movimiento de la imagen actual a partir de la imagen de referencia y la diferencia entre los datos de imagen obtenidos por compensacion de movimiento se basa en esa cantidad de movimiento y se calculan los datos de imagen de la imagen actual, de manera que se eliminan las redundancias temporales. Las redundancias espaciales se eliminan ademas a partir de este valor diferencial para comprimir la cantidad de datos de la imagen actual.
En el metodo de codificacion de imagenes en movimiento llamado H.264 que se ha desarrollado para estandarizacion, una imagen que no se codifica usando prediccion entre imagenes sino usando codificacion intraimagen se conoce como imagen I, una imagen que se codifica usando prediccion entre imagenes con referencia a una imagen procesada previamente que esta antes o despues de una imagen actual en orden de visualizacion se conoce como una imagen P y una imagen que se codifica usando prediccion entre imagenes con referencia a dos imagenes procesadas previamente que estan antes o despues de una imagen actual en orden de visualizacion se conoce como una imagen B (Ver “Information technology - Coding of audio-visual objects - Part 2: Visual”, paginas 218-219 de la ISO/IEC 14496-2).
La Fig. 1A es un diagrama que muestra la relacion entre imagenes respectivas y las imagenes de referencia correspondientes en el metodo de codificacion de imagenes en movimiento antes mencionado y la Fig. 1B es un diagrama que muestra la secuencia de las imagenes en el flujo de bits generado mediante codificacion.
Una imagen I1 es una imagen I, las imagenes P5, P9 y P13 son imagenes P y las imagenes B2, B3, B4, B6, B7, B8, B10, B11 y B12 son imagenes B. Como se muestra por las flechas, las imagenes P P5, P9 y P13 se codifican usando prediccion entre imagenes a partir de la imagen I I1 y las imagenes P P5 y P9 respectivamente como imagenes de referencia.
Como se muestra por las flechas, las imagenes B B2, B3 y B4 se codifican usando prediccion entre imagenes a partir de la imagen I I1 y la imagen P P5 respectivamente como imagenes de referencia. De la misma manera, las imagenes B B6, B7 y B8 se codifican usando las imagenes P P5 y P9 respectivamente como imagenes de referencia y las imagenes B B10, B11 y B12 se codifican usando las imagenes P P9 y P13 respectivamente como imagenes de referencia.
En la codificacion antes mencionada, las imagenes de referencia se codifican anterior a las imagenes que se refieren a las imagenes de referencia. Por lo tanto, el flujo de bits se genera mediante la codificacion anterior en la secuencia que se muestra en la Fig. 1B.
Por cierto, en el metodo de codificacion de imagenes en movimiento H.264, se puede seleccionar un modo de codificacion llamado modo directo. Un metodo de prediccion entre imagenes en modo directo se explicara con referencia a la Fig. 2. La Fig. 2 es una ilustracion que muestra vectores de movimiento en modo directo y particularmente que muestra el caso de codificacion de un bloque a en la imagen B6 en modo directo. En este caso, se utiliza un vector de movimiento c usado para codificar un bloque b en la imagen P9. El bloque b esta situado conjuntamente con el bloque ay la imagen P9 es una imagen de referencia hacia atras de la imagen B6. El vector de movimiento c es un vector usado para codificar el bloque b y se refiere a la imagen P5. El bloque a se codifica usando biprediccion basada en los bloques de referencia obtenidos a partir de la imagen de referencia hacia delante P5 y la imagen de referencia hacia atras P9 usando vectores paralelos al vector de movimiento c. En otras palabras, los vectores de movimiento usados para codificar el bloque a son el vector de movimiento d para la imagen P5 y el vector de movimiento e para la imagen P9.
No obstante, cuando las imagenes B se codifican usando prediccion entre imagenes con referencia a imagenes I y P, la distancia temporal entre la imagen B actual y la imagen de referencia puede ser larga, lo cual causa reduccion de la eficiencia de codificacion. Particularmente cuando un monton de imagenes B se situan entre una imagen I y
5
10
15
20
25
30
35
40
45
50
una imagen P adyacentes o dos imagenes P mas cercanas entre sf, se reduce significativamente la eficiencia de codificacion.
El documento “Proposal for Minor Changes to Multi-Frame Buffering Syntax for Improving Coding Efficiency of B- pictures”, Satoshi Kondo et al., JTC1/SC29/WG11 de la ISO/IEC y SG16 Q.6 de la ITU-T, 29 de enero al 1 de febrero de 2002, JVT-B057 muestra una codificacion de modo directo temporal en el marco de prediccion de multiples imagenes de referencia.
La presente invencion se ha concebido a fin de resolver el problema antes mencionado y es un objeto de la presente invencion proporcionar un metodo de codificacion de imagenes en movimiento y un metodo de decodificacion de imagenes en movimiento para evitar la reduccion de eficiencia de codificacion de imagenes B si un monton de imagenes B se situan entre una imagen I y una imagen P o entre dos imagenes P. Ademas, es otro objeto proporcionar un metodo de codificacion de imagenes en movimiento y un metodo de decodificacion de imagenes en movimiento para mejorar la eficiencia de codificacion en modo directo
Descripcion de la invencion
Un metodo de codificacion para codificar una imagen segun la presente invencion se define en la reivindicacion 1.
Un aparato de codificacion que codifica una imagen segun la presente invencion se define en la reivindicacion 5.
Un medio de almacenamiento de datos en el cual se almacena un programa para codificar una imagen segun la presente invencion se define en la reivindicacion 6.
Las realizaciones espedficas de la presente invencion se definen en las reivindicaciones dependientes.
Breve descripcion de los dibujos
La Fig. 1 es un diagrama esquematico que muestra relaciones de prediccion entre imagenes y su secuencia en el metodo de codificacion de imagenes en movimiento convencional y 1A muestra las relaciones entre las imagenes respectivas y las imagenes de referencia correspondientes y la Fig. 1B muestra la secuencia de las imagenes en un flujo de bits generado codificando.
La Fig. 2 es un diagrama esquematico que muestra vectores de movimiento en modo directo en el metodo de codificacion de imagenes en movimiento convencional.
La Fig. 3 es un diagrama de bloques que muestra la estructura de una primera realizacion de un aparato de codificacion de imagenes en movimiento que usa un metodo de codificacion de imagenes en movimiento segun la presente invencion.
La Fig. 4 es una ilustracion de numeros de imagenes e indices relativos en las realizaciones de la presente invencion.
La Fig. 5 es una ilustracion conceptual de un formato de datos codificado de imagenes en movimiento en el aparato de codificacion de imagenes en movimiento en las realizaciones de la presente invencion.
La Fig. 6 es una ilustracion que muestra la secuencia de imagenes en una memoria de reordenacion en las realizaciones de la presente invencion y la Fig. 6A muestra la secuencia en orden de entrada y la Fig. 6B muestra la secuencia reordenada.
La Fig. 7 es un diagrama esquematico que muestra vectores de movimiento en modo directo en las realizaciones de la presente invencion y la Fig. 7A muestra un caso donde un bloque a actual es una imagen B7, la Fig. 7B muestra un primer y segundo ejemplos en un caso donde un bloque a actual es una imagen B6, la Fig. 7C muestra un tercer ejemplo en un caso donde un bloque a actual es una imagen B6 y la Fig. 7D muestra un cuarto ejemplo en un caso donde un bloque a actual es una imagen B6.
La Fig. 8 es un diagrama esquematico que muestra vectores de movimiento en modo directo en las realizaciones de la presente invencion y la Fig. 8A muestra un quinto ejemplo en un caso donde un bloque a actual es una imagen B6, la Fig. 8B muestra un sexto ejemplo en un caso donde un bloque a actual es una imagen B6, la Fig. 8C muestra un septimo ejemplo en un caso donde un bloque a actual es una imagen B6 y la Fig. 8D muestra un caso donde un bloque a actual es una imagen B8.
La Fig. 9 es un diagrama esquematico que muestra relaciones de prediccion entre imagenes respectivas y su secuencia en las realizaciones de la presente invencion y la Fig. 9A muestra las relaciones de prediccion entre imagenes respectivas indicadas en orden de visualizacion y la Fig. 9B muestra la secuencia de las imagenes reordenadas en orden de codificacion (en un flujo de bit).
La Fig. 10 es un diagrama esquematico que muestra relaciones de prediccion entre imagenes respectivas y su secuencia en las realizaciones de la presente invencion y la Fig. 10A muestra las relaciones de prediccion entre
imagenes respectivas indicadas en orden de visualizacion y la Fig. 10B muestra la secuencia de las imagenes reordenadas en orden de codificacion (en un flujo de bits).
La Fig. 11 es un diagrama esquematico que muestra relaciones de prediccion entre imagenes respectivas y su secuencia en las realizaciones de la presente invencion y la Fig. 11A muestra las relaciones de prediccion entre 5 imagenes respectivas indicadas en orden de visualizacion y la Fig. 11B muestra la secuencia de las imagenes reordenadas en orden de codificacion (en un flujo de bits).
La Fig. 12 es un diagrama esquematico que muestra jerarquicamente la estructura de prediccion de imagenes como se muestra en la Fig. 6 en las realizaciones de la presente invencion.
La Fig. 13 es un diagrama esquematico que muestra jerarquicamente la estructura de prediccion de imagenes como 10 se muestra en la Fig. 9 en las realizaciones de la presente invencion.
La Fig. 14 es un diagrama esquematico que muestra jerarquicamente la estructura de prediccion de imagenes como se muestra en la Fig. 10 en las realizaciones de la presente invencion.
La Fig. 15 es un diagrama esquematico que muestra jerarquicamente la estructura de prediccion de imagenes como se muestra en la Fig. 11 en las realizaciones de la presente invencion.
15 La Fig. 16 es un diagrama de bloques que muestra la estructura de una realizacion de un aparato de decodificacion de imagenes en movimiento que usa un metodo de decodificacion de imagenes en movimiento segun la presente invencion.
La Fig. 17 es una ilustracion de un medio de grabacion para almacenar un programa para realizar el metodo de codificacion de imagenes en movimiento y el metodo de decodificacion de imagenes en movimiento en la primera y 20 segunda realizaciones por un sistema informatico y la Fig. 17A muestra un ejemplo de un formato ffsico de un disco flexible como un cuerpo del medio de grabacion, la Fig. 17B muestra una vista en seccion transversal y una vista frontal de la apariencia del disco flexible y el disco flexible en sf mismo, la Fig. 17C muestra una estructura para grabar y reproducir el programa en el disco flexible FD.
La Fig. 18 es un diagrama de bloques que muestra la configuracion general de un sistema de suministro de 25 contenidos para realizar un servicio de distribucion de contenidos.
La Fig. 19 es un croquis que muestra un ejemplo de un telefono movil.
La Fig. 20 es un diagrama de bloques que muestra la estructura interna del telefono movil.
La Fig. 21 es un diagrama de bloques que muestra la configuracion general de un sistema de difusion digital.
Mejor modo para llevar a cabo la invencion
30 Las realizaciones de la presente invencion se explicaran mas delante con referencia a las figuras.
(Primera realizacion)
La Fig. 3 es un diagrama de bloques que muestra la estructura de una realizacion del aparato de codificacion de imagenes en movimiento que usa el metodo de codificacion de imagenes en movimiento segun la presente invencion.
35 Como se muestra en la Fig. 3, el aparato de codificacion de imagenes en movimiento incluye una memoria de reordenacion 101, una unidad de calculo de diferencia 102, una unidad de codificacion de error residual 103, una unidad de generacion de flujo de bits 104, una unidad de decodificacion de error residual 105, una unidad de adicion 106, una memoria de imagenes de referencia 107, una unidad de estimacion de vectores de movimiento 108, una unidad de seleccion de modo 109, una unidad de control de codificacion 110, conmutadores 111 ~115 y una unidad 40 de almacenamiento de vectores de movimiento 116.
La memoria de reordenacion 101 almacena las imagenes en movimiento introducidas de una forma imagen a imagen en orden de visualizacion. La unidad de control de codificacion 110 reordena las imagenes almacenadas en la memoria de reordenacion 101 en orden de codificacion. La unidad de control de codificacion 110 tambien controla la operacion de la unidad de almacenamiento de vectores de movimiento 116 para almacenar vectores de 45 movimiento.
Usando los datos de imagen codificada y decodificada previamente como una imagen de referencia, la unidad de estimacion de vectores de movimiento 108 estima un vector de movimiento que indica una posicion que se predice optima en el area de busqueda en la imagen de referencia. La unidad de seleccion de modo 109 determina un modo para codificar macrobloques usando el vector de movimiento estimado por la unidad de estimacion de vectores de 50 movimiento 108 y genera datos de imagen predictiva basados en el modo de codificacion. La unidad de calculo de diferencia 102 calcula la diferencia entre los datos de imagen lefdos de la memoria de reordenacion 101 y los datos
5
10
15
20
25
30
35
40
45
50
55
de imagen predictiva introducidos por la unidad de seleccion de modo 109 y genera datos de imagen de error residual.
La unidad de codificacion de error residual 103 realiza procesamiento de codificacion tal como transformacion de frecuencia y cuantificacion sobre los datos de imagen de error residual introducidos para generar los datos codificados. La unidad de generacion de flujo de bits 104 realiza codificacion de longitud variable o similar sobre los datos codificados introducidos y ademas anade informacion de vector de movimiento, la informacion del modo de codificacion y otra informacion pertinente introducida por la unidad de seleccion de modo 109 a los datos codificados para generar un flujo de bits.
La unidad de decodificacion de error residual 105 realiza procesamiento de decodificacion tal como cuantificacion inversa y transformacion de frecuencia inversa sobre los datos codificados introducidos para generar datos de imagen diferencial decodificados. La unidad de adicion 106 anade los datos de imagen diferencial decodificados introducidos por la unidad de decodificacion de error residual 105 y los datos de imagen predictiva introducidos por la unidad de seleccion de modo 109 para generar datos de imagen decodificados. La memoria de imagenes de referencia 107 almacena los datos de imagen decodificados generados.
La Fig. 4 es una ilustracion de imagenes e indices relativos. Los indices relativos se usan para identificar de manera unica imagenes de referencia almacenadas en la memoria de imagenes de referencia 107 y se asocian a las imagenes respectivas como se muestra en la Fig. 4. Los indices relativos tambien se usan para indicar las imagenes de referencia que han de ser usadas para codificacion de bloques usando prediccion entre imagenes.
La Fig. 5 es una ilustracion conceptual de formato de datos codificados de imagenes en movimiento usado por el aparato de codificacion de imagenes en movimiento. Los datos codificados “Imagen” para una imagen incluyen datos codificados de cabecera “Cabecera” incluidos en la cabecera de la imagen, los datos codificados de bloque “Bloque 1” para modo directo, los datos codificados de bloque “Bloque 2” para la prediccion entre imagenes distinta del modo directo y similares. Los datos codificados de bloque “Bloque 2” para la prediccion entre imagenes distinta del modo directo tienen un primer mdice relativo “RIdx1” y un segundo mdice relativo “RIdx2” para indicar dos imagenes de referencia usadas para prediccion entre imagenes, un primer vector de movimiento “MV1” y un segundo vector de movimiento “MV2” en este orden. Por otra parte, los datos codificados de bloque “Bloque 1” para modo directo no tienen el primer y segundo indices relativos “RIdx1” y “RIdx2” y el primer y segundo vectores de movimiento “MV1” y “MV2”. El mdice que ha de ser usado, el primer mdice relativo “RIdx1” o el segundo mdice relativo “RIdx2”, se puede determinar por el tipo de prediccion “PredType”. Tambien, el primer mdice relativo “RIdx1” indica una primera imagen de referencia y el segundo mdice relativo “RIdx2” indica una segunda imagen de referencia. En otras palabras, si una imagen es una primera imagen de referencia o una segunda imagen de referencia se determina basado en donde se situa en el flujo de bits.
Senalar que una imagen P se codifica mediante prediccion entre imagenes con referencia unipredictiva usando una imagen codificada previamente que se situa antes o despues en orden de visualizacion como una primera imagen de referencia y una imagen B se codifica mediante prediccion entre imagenes con referencia bipredictiva usando imagenes codificadas previamente que se situan antes o despues en orden de visualizacion como una primera imagen de referencia y una segunda imagen de referencia. En la primera realizacion, la primera imagen de referencia se explica como una imagen de referencia hacia delante y la segunda imagen de referencia se explica como una imagen de referencia hacia atras. Ademas, el primer y segundo vectores de movimiento para la primera y segunda imagenes de referencia se explican como un vector de movimiento hacia delante y un vector de movimiento hacia atras respectivamente.
A continuacion, se explicara con referencia a la Fig. 4A como asignar el primer y segundo indices relativos.
Como los primeros indices relativos, en la informacion que indica el orden de visualizacion, los valores aumentados en 1 desde 0 se asignan primero a las imagenes de referencia antes de la imagen actual desde la imagen mas cercana a la imagen actual. Despues de que los valores aumentados en 1 desde 0 se asignen a todas las imagenes de referencia antes de la imagen actual, entonces los valores posteriores se asignan a las imagenes de referencia despues de la imagen actual a partir de la imagen mas cercana a la imagen actual.
Como los segundos indices relativos, en la informacion que indica el orden de visualizacion, los valores aumentados en 1 desde 0 se asignan a las imagenes de referencia despues de la imagen actual desde la imagen mas cercana a la imagen actual. Despues de que los valores aumentados en 1 desde 0 se asignen a todas las imagenes de referencia despues de la imagen actual, entonces los valores posteriores se asignan a las imagenes de referencia antes de la imagen actual a partir de la imagen mas cercana a la imagen actual.
Por ejemplo, en la Fig. 4A, cuando el primer mdice relativo “RIdx1” es 0 y el segundo mdice relativo “RIdx2” es 1, la imagen de referencia hacia delante es la imagen B N°6 y la imagen de referencia hacia atras es la imagen P N°9. Aqrn, estos numeros de imagen 6 y 9 indican el orden de visualizacion.
Los indices relativos en un bloque se representan por palabras de codigo de longitud variable y los codigos con longitudes mas cortas se asignan a los indices de los valores mas pequenos. Dado que la imagen que es la mas cercana a la imagen actual se selecciona normalmente como una imagen de referencia para prediccion entre
5
10
15
20
25
30
35
40
45
50
55
imagenes, la eficiencia de codificacion se mejora asignando los valores de mdice relativo en orden de cercama a la imagen actual.
La asignacion de imagenes de referencia a indices relativos se pueden cambiar arbitrariamente si se indica expUcitamente usando una senal de control de almacenador temporal en datos codificados (RPSL en Cabecera como se muestra en la Fig. 5). Esto permite cambiar la imagen de referencia con el segundo mdice relativo “0” a una imagen de referencia arbitraria en la memoria de imagenes de referencia 107. Como se muestra en la Fig. 4B, la asignacion de indices de referencia a imagenes se puede cambiar, por ejemplo.
A continuacion, se explicara mas delante la operacion del aparato de codificacion de imagenes en movimiento estructurado como anteriormente.
La Fig. 6 es una ilustracion que muestra la secuencia de imagenes en la memoria de reordenacion 101 y la Fig. 6A muestra la secuencia en el orden de entrada y la Fig. 6B muestra la secuencia reordenada. Aqrn, las lmeas verticales muestran imagenes y los numeros indicados en la parte inferior derecha de las imagenes muestran los tipos de imagenes (I, P y B) con las primeras letras alfabeticas y los numeros de imagen que indican el orden de visualizacion con los siguientes numeros.
Como se muestra en la Fig. 6A, una imagen en movimiento se introduce a la memoria de reordenacion 101 de una forma imagen a imagen en el orden de visualizacion, por ejemplo. Cuando las imagenes se introducen a la memoria 101, la unidad de control de codificacion 110 reordena las imagenes introducidas a la memoria de reordenacion 101 en el orden de codificacion. Las imagenes se reordenan basadas en las relaciones de referencia en codificacion de prediccion entre imagenes y, mas espedficamente, las imagenes se reordenan de manera que las imagenes usadas como imagenes de referencia se codifican antes que las imagenes que usan las imagenes de referencia.
Aqrn, se supone que una imagen P se refiere a una imagen I o P procesada previamente colindante que se situa antes o despues que la imagen P actual en el orden de visualizacion y una imagen B se refiere a dos imagenes procesadas previamente colindantes que se situan antes o despues que la imagen B actual en el orden de visualizacion.
Las imagenes se codifican en el siguiente orden. Primero, se codifica una imagen B en el centro de las imagenes B (3 imagenes B en la Fig. 6A, por ejemplo) situada entre dos imagenes P y entonces se codifica otra imagen B mas cercana a la imagen P anterior. Por ejemplo, las imagenes B6, B7, B8 y P9 se codifican en el orden de P9, B7, B6 y B8.
En este caso, en la Fig. 6A, la imagen apuntada por la flecha se refiere a la imagen en el origen de la flecha. Espedficamente, la imagen B B7 se refiere a imagenes P P5 y P9, B6 se refiere a P5 y B7 y B8 se refiere a B7 y P9, respectivamente. La unidad de control de codificacion 110 reordena las imagenes en el orden codificacion, como se muestra en la Fig. 6B.
A continuacion, las imagenes reordenadas en la memoria de reordenacion 101 se leen en una unidad para cada compensacion de movimiento. Aqrn, la unidad de compensacion de movimiento se conoce como un macrobloque que tiene un tamano de 16 (horizontales) x 16 (verticales) pfxeles. La codificacion de las imagenes P9, B7, B6 y B8 mostrada en la Fig. 6A se explicara mas delante en este orden.
(Codificacion de imagen P9)
La imagen P P9 se codifica usando prediccion entre imagenes con referencia a una imagen procesada previamente situada antes o despues que P9 en el orden de visualizacion. En la codificacion de P9, la imagen P5 es la imagen de referencia, como se menciono anteriormente. P5 ya se ha codificado y la imagen decodificada de la misma se almacena en la memoria de imagenes de referencia 107. En la codificacion de imagenes P, la unidad de control de codificacion 110 controla los conmutadores 113, 114 y 115 para ser ENCENDIDOS. Los macrobloques en la imagen P9 lefdos desde la memoria de reordenacion 101 se introducen de esta manera a la unidad de estimacion de vectores de movimiento 108, la unidad de seleccion de modo 109 y la unidad de calculo de diferencia 102 en este orden.
La unidad de estimacion de vectores de movimiento 108 estima un vector de movimiento de un macrobloque en la imagen P9, usando los datos de imagen decodificados de la imagen P5 almacenada en la memoria de imagenes de referencia 107 como una imagen de referencia y saca el vector de movimiento estimado a la unidad de seleccion de modo 109.
La unidad de seleccion de modo 109 determina el modo para codificar el macrobloque en la imagen P9 usando el vector de movimiento estimado por la unidad de estimacion de vectores de movimiento 108. Aqrn, el modo de codificacion indica el metodo de codificacion de macrobloques. En cuanto a las imagenes P, se determina cualquiera de los metodos de codificacion, codificacion intraimagen, codificacion de prediccion entre imagenes usando un vector de movimiento y codificacion de prediccion entre imagenes sin usar un vector de movimiento (donde el movimiento se maneja como “0”). Para determinar un modo de codificacion, se selecciona un metodo de manera que se reduce un error de codificacion con una cantidad pequena de bits.
5
10
15
20
25
30
35
40
45
50
55
La unidad de seleccion de modo 109 saca el modo de codificacion determinado a la unidad de generacion de flujo de bits 104. Si el modo de codificacion determinado por la unidad de seleccion de modo 109 es codificacion de prediccion entre imagenes, el vector de movimiento que ha de ser usado para la codificacion de prediccion entre imagenes se saca a la unidad de generacion de flujo de bits 104 y ademas se almacena en la unidad de almacenamiento de vectores de movimiento 116.
La unidad de seleccion de modo 109 genera datos de imagen predictiva basados en el modo de codificacion determinado para generacion a la unidad de calculo de diferencia 102 y la unidad de adicion 106. No obstante, cuando se selecciona codificacion intraimagen, la unidad de seleccion de modo 109 no saca datos de imagen predictiva. Ademas, cuando se selecciona codificacion intraimagen, la unidad de seleccion de modo 109 controla los conmutadores 111 y 112 para conectar al lado “a” y al lado “c” respectivamente y cuando se selecciona codificacion de prediccion entre imagenes, los controla para conectar al lado “b” y al lado “d” respectivamente. El caso se explicara mas delante donde la unidad de seleccion de modo 109 selecciona codificacion de prediccion entre imagenes.
La unidad de calculo de diferencia 102 recibe los datos de imagen del macrobloque en la imagen P9 lefdos de la memoria de reordenacion 101 y los datos de imagen predictiva sacados desde la unidad de seleccion de modo 109. La unidad de calculo de diferencia 102 calcula la diferencia entre los datos de imagen del macrobloque en la imagen P9 y los datos de imagen predictiva y genera los datos de imagen de error residual para sacar a la unidad de codificacion de error residual 103.
La unidad de codificacion de error residual 103 realiza el procesamiento de codificacion tal como transformacion de frecuencia y cuantificacion sobre los datos de imagen de error residual introducidos y de esta manera genera los datos codificados para sacar a la unidad de generacion de flujo de bits 104 y la unidad de decodificacion de error residual 105. Aqm, el procesamiento de codificacion tal como transformacion de frecuencia y cuantificacion se realiza en cada 8 (horizontales) x 8 (verticales) pfxeles o 4 (horizontales) x 4 (verticales) pfxeles, por ejemplo.
La unidad de generacion de flujo de bits 104 realiza codificacion de longitud variable o similar sobre los datos codificados introducidos y ademas anade informacion tal como vectores de movimiento y un modo de codificacion, informacion de cabecera, etcetera a los datos codificados para generar y sacar el flujo de bits.
Por otra parte, la unidad de decodificacion de error residual 105 realiza el procesamiento de decodificacion tal como cuantificacion inversa y transformacion de frecuencia inversa sobre los datos codificados introducidos y genera los datos de imagen diferencial decodificados para sacar a la unidad de adicion 106. La unidad de adicion 106 anade los datos de imagen diferencial decodificados y los datos de imagen predictivos introducidos por la unidad de seleccion de modo 109 para generar los datos de imagen decodificados y los almacena en la memoria de imagenes de referencia 107.
Esa es la terminacion de la codificacion de un macrobloque en la imagen P9. Segun el mismo procesamiento, se codifican los macrobloques restantes de la imagen P9. Y despues de que se codifican todos los macrobloques de la imagen P9, se codifica la imagen B7.
(Codificacion de imagen B7)
La imagen B7 se refiere a la imagen P5 como una imagen de referencia hacia delante y a la imagen P9 como una imagen de referencia hacia atras. Dado que la imagen B7 se usa como una imagen de referencia para codificar otras imagenes, la unidad de control de codificacion 110 controla los conmutadores 113, 114 y 115 para ser ENCENDIDOS, lo cual hace a los macrobloques en la imagen B7 lefdos de la memoria de reordenacion 101 ser introducidos a la unidad de estimacion de vectores de movimiento 108, la unidad de seleccion de modo 109 y la unidad de calculo de diferencia 102.
Usando los datos de imagen decodificados de la imagen P5 y los datos de imagen decodificados de la imagen P9 que estan almacenados en la memoria de imagenes de referencia 107 como una imagen de referencia hacia delante y una imagen de referencia hacia atras respectivamente, la unidad de estimacion de vectores de movimiento 108 estima un vector de movimiento hacia delante y un vector de movimiento hacia atras del macrobloque en la imagen B7. Y la unidad de estimacion de vectores de movimiento 108 saca los vectores de movimiento estimados a la unidad de seleccion de modo 109.
La unidad de seleccion de modo 109 determina el modo de codificacion para el macrobloque en la imagen B7 usando los vectores de movimiento estimados por la unidad de estimacion de vectores de movimiento 108. Aqm, se supone que se puede seleccionar un modo de codificacion para imagenes B de entre codificacion intraimagen, codificacion de prediccion entre imagenes que usa un vector de movimiento hacia delante, codificacion de prediccion entre imagenes que usa un vector de movimiento hacia atras, codificacion de prediccion entre imagenes que usa vectores de movimiento bipredictivos y modo directo.
La operacion de codificacion de modo directo se explicara con referencia a la Fig. 7A. La Fig. 7A es una ilustracion que muestra vectores de movimiento en modo directo y muestra espedficamente el caso donde el bloque a en la imagen B7 se codifica en modo directo. En este caso, se utiliza un vector de movimiento c, que se ha usado para
5
10
15
20
25
30
35
40
45
50
55
codificar el bloque b en la imagen P9. El bloque b se situa conjuntamente con el bloque a y la imagen P9 es una imagen de referencia hacia atras de la imagen B7. El vector de movimiento c se almacena en la unidad de almacenamiento de vectores de movimiento 116. El bloque a se bipredice a partir de la imagen de referencia hacia delante P5 y la imagen de referencia hacia atras P9 usando los vectores obtenidos utilizando el vector de movimiento c. Por ejemplo, como un metodo de utilizacion del vector de movimiento c, hay un metodo de generacion de vectores de movimiento paralelos al vector de movimiento c. En este caso, el vector de movimiento d y el vector de movimiento e se usan para la imagen P5 y la imagen P9 respectivamente para codificar el bloque a.
En este caso donde el vector de movimiento hacia delante d es MVF, el vector de movimiento hacia atras e es MVB, el vector de movimiento c es MV, la distancia temporal entre la imagen de referencia hacia atras P9 para la imagen actual B7 y la imagen P5 a la cual se refiere el bloque en la imagen de referencia hacia atras P9 es TRD y la distancia temporal entre la imagen actual B7 y la imagen de referencia hacia delante P5 es TRF respectivamente, el vector de movimiento d MVF y el vector de movimiento e MVB se calculan respectivamente por la Ecuacion 1 y la Ecuacion 2. Senalar que la distancia temporal entre las imagenes se puede determinar basada en la informacion que indica el orden de visualizacion (posicion) dado a las imagenes respectivas o la diferencia especificada por la informacion.
MVF = MV x TRF / TRD........ Ecuacion 1
MVB = (TRF -TRD) x MV / TRD........ Ecuacion 2
donde MVF y MVB representan respectivamente componentes horizontales y componentes verticales de los vectores de movimiento y los signos mas y menos indican direcciones de los vectores de movimiento.
Por cierto, en cuanto a la seleccion de un modo de codificacion, se selecciona generalmente un metodo para reducir el error de codificacion con una cantidad mas pequena de bits. La unidad de seleccion de modo 109 saca el modo de codificacion determinado a la unidad de generacion de flujo de bits 104. Si el modo de codificacion determinado por la unidad de seleccion de modo 109 es codificacion de prediccion entre imagenes, los vectores de movimiento usados para la codificacion de prediccion entre imagenes se sacan a la unidad de generacion de flujo de bits 104 y se almacenan ademas en la unidad de almacenamiento de vectores de movimiento 116. Cuando se selecciona el modo directo, los vectores de movimiento que se calculan segun la Ecuacion 1 y la Ecuacion 2 y se usan para modo directo se almacenan en la unidad de almacenamiento de vectores de movimiento 116.
La unidad de seleccion de modo 109 tambien genera datos de imagen predictiva basados en el modo de codificacion determinado para sacar a la unidad de calculo de diferencia 102 y la unidad de adicion 106, aunque no saca los datos de imagen predictiva si selecciona la codificacion intraimagen. Ademas, cuando se selecciona la codificacion intraimagen, la unidad de seleccion de modo 109 controla los conmutadores 111 y 112 para conectar al lado “a” y al lado “c” respectivamente y cuando se selecciona la codificacion de prediccion entre imagenes o modo directo, controla los conmutadores 111 y 112 para conectar al lado “b” y al lado “d” respectivamente. El caso se explicara mas adelante donde la unidad de seleccion de modo 109 selecciona la codificacion de prediccion entre imagenes o el modo directo.
La unidad de calculo de diferencia 102 recibe los datos de imagen del macrobloque de la imagen B7 lefdos desde la memoria de reordenacion 101 y los datos de imagen predictiva sacados de la unidad de seleccion de modo 109. La unidad de calculo de diferencia 102 calcula la diferencia entre los datos de imagen del macrobloque de la imagen B7 y los datos de imagen predictiva y genera los datos de imagen de error residual para sacar a la unidad de codificacion de error residual 103.
La unidad de codificacion de error residual 103 realiza procesamiento de codificacion tal como transformacion de frecuencia y cuantificacion sobre los datos de imagen de error residual introducidos y de esta manera genera los datos codificados para sacar a la unidad de generacion de flujo de bits 104 y la unidad de decodificacion de error residual 105.
La unidad de generacion de flujo de bits 104 realiza codificacion de longitud variable o similar sobre los datos codificados introducidos y ademas anade informacion tal como vectores de movimiento y un modo de codificacion etcetera a esos datos para generar y sacar un flujo de bits.
Por otra parte, la unidad de decodificacion de error residual 105 realiza el procesamiento de decodificacion tal como cuantificacion inversa y transformacion de frecuencia inversa sobre los datos codificados introducidos y genera los datos de imagen diferencial decodificados para sacar a la unidad de adicion 106. La unidad de adicion 106 anade los datos de imagen diferencial decodificados y los datos de imagen predictiva introducidos por la unidad de seleccion de modo 109 para generar los datos de imagen decodificada y los almacena en la memoria de imagenes de referencia 107.
Esa es la terminacion de codificacion de un macrobloque en la imagen B7. Segun el mismo procesamiento, se codifican los restantes macrobloques en la imagen B7. Y despues de que se codifican todos los macrobloques de la imagen B7, se codifica la imagen B6.
5
10
15
20
25
30
35
40
45
50
55
60
(Codificacion de imagen B6)
Dado que la imagen B6 es una imagen B, B6 se codifica usando prediccion entre imagenes con referencia a dos imagenes procesadas previamente antes o despues de B6 en el orden de visualizacion. La imagen B B6 se refiere a la imagen P5 como una imagen de referencia hacia delante y la imagen B7 como una imagen de referencia hacia atras, como se describio anteriormente. Dado que la imagen B6 no se usa como una imagen de referencia para codificar otras imagenes, la unidad de control de codificacion 110 controla el conmutador 113 para ser ENCENDIDO y los conmutadores 114 y 115 para ser APAGADOS, lo cual hace que el macrobloque de la imagen B6 lefdo de la memoria de reordenacion 101 sea introducido a la unidad de estimacion de vectores de movimiento 108, la unidad de seleccion de modo 109 y la unidad de calculo de diferencia 102.
Usando los datos de imagen decodificados de la imagen P5 y los datos de imagen decodificados de la imagen B7 que estan almacenados en la memoria de imagenes de referencia 107 como una imagen de referencia hacia delante y una imagen de referencia hacia atras, respectivamente, la unidad de estimacion de vectores de movimiento 108 estima el vector de movimiento hacia delante y el vector de movimiento hacia atras para el macrobloque en la imagen B6. Y la unidad de estimacion de vectores de movimiento 108 saca los vectores de movimiento estimados a la unidad de seleccion de modo 109.
La unidad de seleccion de modo 109 determina el modo de codificacion para el macrobloque en la imagen B6 usando los vectores de movimiento estimados por la unidad de estimacion de vectores de movimiento 108.
Aqrn, el primer ejemplo de operacion de codificacion de modo directo para el macrobloque en la imagen B6 se explicara con referencia a la Fig. 7B. La Fig. 7B es una ilustracion que muestra vectores de movimiento en modo directo y espedficamente que muestra el caso donde el bloque a en la imagen B6 se codifica en modo directo. En este caso, se utiliza un vector de movimiento c, que se ha usado para codificar un bloque b en la imagen B7. El bloque b esta situado conjuntamente con el bloque a y la imagen b7 es una imagen de referencia hacia atras de la imagen B6. Aqrn, se supone que el bloque b se codifica por referencia hacia delante solamente o referencia bipredictiva y el vector de movimiento hacia delante del bloque b es el vector de movimiento c. Tambien se supone que el vector de movimiento c se almacena en la unidad de almacenamiento de vectores de movimiento 116. El bloque a se bipredice a partir de la imagen de referencia hacia delante P5 y la imagen de referencia hacia atras B7 usando vectores de movimiento generados utilizando el vector de movimiento c. Por ejemplo, si se usa un metodo de generacion de vectores de movimiento paralelos al vector de movimiento c, como es el caso de la imagen B7 antes mencionada, el vector de movimiento d y el vector de movimiento e se usan para la imagen P5 y la imagen B7 respectivamente para codificar el bloque a.
En este caso donde el vector de movimiento hacia delante d es MVF, el vector de movimiento hacia atras e es MVB, el vector de movimiento c es MV, la distancia temporal entre la imagen de referencia hacia atras B7 para la imagen actual B6 y la imagen P5 a la que se refiere el bloque b en la imagen de referencia hacia atras B7 es TRD y la distancia temporal entre la imagen actual B6 y la imagen de referencia hacia delante P5 es TRF, respectivamente, el vector de movimiento d MVF y el vector de movimiento e MVB se calculan respectivamente por la Ecuacion 1 y la Ecuacion 2 antes mencionadas. Senalar que la distancia temporal entre las imagenes se puede determinar basada en la informacion que indica el orden de visualizacion de las imagenes o la diferencia especificada por la informacion, por ejemplo.
Como se describio anteriormente, en modo directo, escalando el vector de movimiento hacia delante o una imagen B de referencia hacia atras, no hay necesidad de transmitir informacion de vector de movimiento y se puede mejorar la eficiencia de prediccion de movimiento. Por consiguiente, se puede mejorar la eficiencia de codificacion. Ademas, usando imagenes de referencia mas cercanas temporalmente disponibles en el orden de visualizacion como una imagen de referencia hacia delante y una imagen de referencia hacia atras, se puede aumentar la eficiencia de codificacion.
A continuacion, el segundo ejemplo de modo directo se explicara con referencia a la Fig. 7B. En este caso, se utiliza el vector de movimiento, que se ha usado para codificar el bloque b en la imagen B7. El bloque b esta situado conjuntamente con el bloque a y la imagen B7 es una imagen de referencia hacia atras para la imagen B6. Aqrn, se supone que el bloque b se ha codificado en modo directo y el vector de movimiento hacia delante que se ha usado sustancialmente para codificar el bloque b es el vector de movimiento c. Espedficamente, el vector de movimiento c se obtiene escalando el vector de movimiento usado para codificar un bloque i, situado conjuntamente con el bloque b, en la imagen P9 que es la imagen de referencia hacia atras para la imagen B7. El vector de movimiento c almacenado en la unidad de almacenamiento de vectores de movimiento 116 se usa o el vector de movimiento c se obtiene leyendo desde la unidad de almacenamiento de vectores de movimiento 116 el vector de movimiento del bloque i en la imagen P9 que se ha usado para codificar el bloque b en modo directo y calcular basado en ese vector de movimiento. Cuando el vector de movimiento que se obtiene escalando para codificar el bloque b en la imagen B7 en modo directo se almacena en la unidad de almacenamiento de vectores de movimiento 116, solamente necesita ser almacenado el vector de movimiento hacia delante. El bloque a se bipredice a partir de la imagen de referencia hacia delante P5 y la imagen de referencia hacia atras B7 usando los vectores de movimiento generados utilizando el vector de movimiento c. Por ejemplo, si se usa un metodo de generacion de vectores de movimiento paralelos al vector de movimiento c, como es el caso del primer ejemplo antes mencionado, los vectores de
5
10
15
20
25
30
35
40
45
50
55
movimiento usados para codificar el bloque a son el vector de movimiento d y el vector de movimiento e para la imagen P5 y la imagen B7 respectivamente.
En este caso, el vector de movimiento hacia delante d MVF y el vector de movimiento hacia atras e MVB del bloque a se calculan respectivamente por la Ecuacion 1 y la Ecuacion 2 antes mencionadas, como en el caso del primer ejemplo.
Como se describio anteriormente, en modo directo, dado que se escala el vector de movimiento hacia delante de una imagen B de referencia hacia atras que se ha usado sustancialmente para codificar la imagen B en modo directo, no hay necesidad de transmitir informacion de vector de movimiento y se puede mejorar la eficiencia de prediccion de movimiento incluso si el bloque situado conjuntamente en la imagen de referencia hacia atras se ha codificado en modo directo. Por consiguiente, se puede mejorar la eficiencia de codificacion. Ademas, usando imagenes de referencia que son las mas cercanas temporalmente disponibles en el orden de visualizacion como una imagen de referencia hacia delante y una imagen de referencia hacia atras, se puede aumentar la eficacia de codificacion.
A continuacion, el tercer ejemplo de modo directo se puede explicar con referencia a la Fig. 7C. La Fig. 7C es una ilustracion que muestra vectores de movimiento en modo directo y que muestra espedficamente el caso donde el bloque a en la imagen B6 se codifica en modo directo. En este caso, se utiliza el vector de movimiento que se ha usado para codificar el bloque b en la imagen B7. La imagen B7 es una imagen de referencia hacia atras para la imagen B6 y el bloque b en la imagen B7 esta situado conjuntamente con el bloque a en la imagen B6. Aqrn, se supone que el bloque b se ha codificado usando un vector de movimiento hacia atras solamente y el vector de movimiento hacia atras usado para codificar el bloque b es un vector de movimiento f. Espedficamente, el vector de movimiento f se supone que esta almacenado en la unidad de almacenamiento de vectores de movimiento 116. El bloque a se bipredice a partir de la imagen de referencia hacia delante P5 y la imagen de referencia hacia atras B7 usando los vectores de movimiento generados utilizando el vector de movimiento f. Por ejemplo, si se usa un metodo de generacion de vectores de movimiento paralelos al vector de movimiento f, como es el caso del primer ejemplo antes mencionado, los vectores de movimiento usados para codificar el bloque a son el vector de movimiento g y el vector de movimiento h para la imagen P5 y la imagen B7 respectivamente.
En este caso, donde el vector de movimiento hacia delante g es MVF, el vector de movimiento hacia atras h es MVB, el vector de movimiento f es MV, la distancia temporal entre la imagen de referencia hacia atras B7 para la imagen actual B6 y la imagen P9 al que se refiere el bloque en la imagen de referencia hacia atras B7 es TRD, la distancia temporal entre la imagen actual B6 y la imagen de referencia hacia delante P5 es TRF y la distancia temporal entre la imagen actual B6 y la imagen de referencia hacia atras B7 es TRB respectivamente, el vector de movimiento g MVF y el vector de movimiento h MVB se calculan respectivamente por la Ecuacion 3 y la Ecuacion 4.
MVF = -TRF x MV / TRD........ Ecuacion 3
MVB = TRB x MV/ TRD........ Ecuacion 4
Como se describio anteriormente, en modo directo, dado que el vector de movimiento hacia atras de un bloque situado conjuntamente en una imagen B de referencia hacia atras que se ha usado para codificar el bloque se escala, no hay necesidad de transmitir informacion de vector de movimiento y la eficiencia de prediccion de movimiento se puede mejorar incluso si el bloque situado conjuntamente en la imagen de referencia hacia atras tiene solamente el vector de movimiento hacia atras. Por consiguiente, se puede mejorar la eficiencia de codificacion. Ademas, usando las imagenes de referencia que son las mas cercanas temporalmente disponibles en el orden de visualizacion como una imagen de referencia hacia delante y una imagen de referencia hacia atras, se puede mejorar la eficiencia de codificacion.
A continuacion, el cuarto ejemplo de modo directo se explicara con referencia a la Fig. 7D. La Fig. 7D es una ilustracion que muestra vectores de movimiento en modo directo y que muestra espedficamente el caso donde el bloque a en la imagen B6 se codifica en modo directo. En este caso, se utiliza el vector de movimiento que se ha usado para codificar el bloque b en la imagen B7. La imagen B7 es la imagen de referencia hacia atras para la imagen B6 y el bloque b se situa conjuntamente con el bloque a en la imagen B6. Aqrn, se supone que el bloque b se ha codificado usando el vector de movimiento hacia atras solamente, como es el caso del tercer ejemplo y el vector de movimiento hacia atras usado para codificar el bloque b es el vector de movimiento f. Espedficamente, el vector de movimiento f se supone que se almacena en la unidad de almacenamiento de vectores de movimiento 116. El bloque a se bipredice a partir de la imagen de referencia P9 al cual se refiere por el vector de movimiento f y la imagen de referencia hacia atras B7 usando vectores de movimiento generados utilizando el vector de movimiento f. Por ejemplo si se usa un metodo de generacion de vectores de movimiento paralelos al vector de movimiento f, como es el caso del primer ejemplo antes mencionado, los vectores de movimiento usados para codificar el bloque a son el vector de movimiento g y el vector de movimiento h para la imagen P9 y la imagen B7 respectivamente.
En este caso, donde el vector de movimiento hacia delante g es MVF, el vector de movimiento hacia atras h es MVB, el vector de movimiento f es MV, la distancia temporal entre la imagen de referencia hacia atras B7 para la imagen actual B6 y la imagen P9 a la que se refiere el bloque en la imagen de referencia hacia atras B7 es TRD y la
5
10
15
20
25
30
35
40
45
50
55
distancia temporal entre la imagen actual B6 y la imagen P9 a la que se refiere el bloque b en la imagen de referencia hacia atras B7 es TRF respectivamente, el vector de movimiento g MVF y el vector de movimiento h MVB se calculan respectivamente por la Ecuacion 1 y la Ecuacion 2.
Como se describio anteriormente, en modo directo, escalando el vector de movimiento hacia atras de un bloque situado conjuntamente en una imagen B de referencia hacia atras que se ha usado para codificar el bloque, no hay necesidad de transmitir informacion de vector de movimiento y se puede mejorar la eficiencia de prediccion de movimiento incluso si el bloque situado conjuntamente en la imagen de referencia hacia atras tiene solamente el vector de movimiento hacia atras. Por consiguiente, se puede mejorar la eficiencia de codificacion. Ademas, usando una imagen referida por el vector de movimiento hacia atras como una imagen de referencia hacia delante y una imagen de referencia que es la mas cercana temporalmente disponible en orden de visualizacion como una imagen de referencia hacia atras, se puede aumentar la eficiencia de codificacion.
A continuacion, un quinto ejemplo del modo directo se explicara con referencia a la Fig. 8A. La Fig. 8A es una ilustracion que muestra vectores de movimiento en modo directo y que muestra espedficamente el caso donde el bloque a de la imagen B6 se codifica en modo directo. En este caso, bajo la suposicion de que el valor de los vectores de movimiento es “0”, se realiza una referencia bipredictiva para compensacion de movimiento, usando la imagen P5 como una imagen de referencia hacia delante y la imagen B7 como una imagen de referencia hacia atras.
Como se menciono anteriormente, forzando el vector de movimiento “0” en modo directo, cuando se selecciona el modo directo, no hay necesidad de transmitir informacion de vector de movimiento ni escalar el vector de movimiento y, de esta manera, se puede reducir el volumen de procesamiento.
A continuacion, el sexto ejemplo del modo directo se explicara con referencia a la Fig. 8B. La Fig. 8B es una ilustracion que muestra vectores de movimiento en modo directo y que muestra espedficamente el caso donde el bloque a en la imagen B6 se codifica en modo directo. En este caso, se utiliza el vector de movimiento g que se ha usado para codificar el bloque f en la imagen P9. La imagen P9 se situa despues de la imagen B6 y el bloque f se situa conjuntamente con el bloque a en la imagen B6. El vector de movimiento g se almacena en la unidad de almacenamiento de vectores de movimiento 116. El bloque a se bipredice a partir de la imagen de referencia hacia delante P5 y la imagen de referencia hacia atras B7 usando vectores de movimiento generados utilizando el vector de movimiento g. Por ejemplo, si se usa un metodo de generacion de vectores de movimiento paralelos al vector de movimiento g, como es el caso del primer ejemplo antes mencionado, los vectores de movimiento usados para codificar el bloque a son el vector de movimiento h y el vector de movimiento i para la imagen P5 y la imagen B7 respectivamente para codificar el bloque a.
En este caso, donde el vector de movimiento hacia delante h es MVF, el vector de movimiento hacia atras i es MVB, el vector de movimiento g es MV, la distancia temporal entre la imagen P9 que se situa despues en orden de visualizacion de la imagen actual B6 y la imagen P5 a la que se refiere el bloque f en la imagen P9 es TRD, la distancia temporal entre la imagen actual B6 y la imagen de referencia hacia delante P5 es TRF y la distancia temporal entre la imagen actual B6 y la imagen de referencia hacia atras B7 es TRB respectivamente, el vector de movimiento h MVF y el vector de movimiento i MVB se calculan respectivamente por la Ecuacion 1 y la Ecuacion 5.
MVB = - TRF x MV / TRD........ Ecuacion 5
Como se describio anteriormente, en modo directo, escalando el vector de movimiento de la imagen P que se situa despues en orden de visualizacion, no hay necesidad de almacenar el vector de movimiento de una imagen B si la imagen B es la imagen de referencia hacia atras y tampoco hay necesidad de transmitir la informacion de vector de movimiento. Ademas, usando imagenes de referencia que son las mas cercanas temporalmente en orden de visualizacion como una imagen de referencia hacia delante y una imagen de referencia hacia atras, se puede aumentar la eficiencia de codificacion.
A continuacion, el septimo ejemplo del modo directo se explicara con referencia a la Fig. 8C. La Fig. 8C es una ilustracion que muestra vectores de movimiento en modo directo y que muestra espedficamente el caso donde el bloque a en la imagen B6 se codifica en modo directo. Este ejemplo muestra el caso donde la asignacion antes mencionada de indices relativos a los numeros de imagen se cambia (reasigna) y la imagen P9 es una imagen de referencia hacia atras. En este caso, se utiliza el vector de movimiento g que se ha usado para codificar el bloque f en la imagen P9. La imagen P9 es la imagen de referencia hacia atras para la imagen B7 y el bloque f se situa conjuntamente con el bloque a en la imagen B6. El vector de movimiento g se almacena en la unidad de almacenamiento de vectores de movimiento 116. El bloque a se bipredice a partir de la imagen de referencia hacia delante P5 y la imagen de referencia hacia atras P9 usando vectores de movimiento generados utilizando el vector de movimiento g. Por ejemplo, si se usa un metodo de generacion de vectores de movimiento paralelos al vector de movimiento g, como es el caso del primer ejemplo antes mencionado, los vectores de movimiento usados para codificar el bloque a son el vector de movimiento h y el vector de movimiento i para la imagen P5 y la imagen P9 respectivamente.
5
10
15
20
25
30
35
40
45
50
55
En este caso, donde el vector de movimiento hacia delante h es MVF, el vector de movimiento hacia atras i es MVB, el vector de movimiento g es MV, la distancia temporal entre la imagen de referencia hacia atras P9 para la imagen actual B6 y la imagen P5 a la que se refiere el bloque f en la imagen P9 es TRD y la distancia temporal entre la imagen actual B6 y la imagen de referencia hacia delante P5 es TRF respectivamente, el vector de movimiento h MVF y el vector de movimiento i MVB se calculan respectivamente por la Ecuacion 1 y la Ecuacion 2.
Como se describio anteriormente, en modo directo, se puede escalar el vector de movimiento de la imagen codificada previamente incluso si los indices relativos a los numeros de imagen se reasignan y cuando se selecciona el modo directo, no hay necesidad de transmitir la informacion de vector de movimiento.
Cuando el bloque a en la imagen B6 se codifica en modo directo, el bloque en la imagen de referencia hacia atras para la imagen B6 que se situa conjuntamente con el bloque a se codifica por la referencia hacia delante solamente, referencia bipredictiva o modo directo. Y cuando un vector de movimiento hacia delante se ha usado para esta codificacion, este vector de movimiento hacia delante se escala y el bloque a se codifica en modo directo, como es el caso del primer, segundo o septimo ejemplo antes mencionado. Por otra parte, cuando el bloque situado conjuntamente con el bloque a se ha codificado por la referencia hacia atras solamente usando un vector de movimiento hacia atras, este vector de movimiento hacia atras se escala y el bloque a se codifica en modo directo, como es el caso del tercer o cuarto ejemplo antes mencionado.
El modo directo antes mencionado es aplicable no solamente al caso donde un intervalo de tiempo entre imagenes es fijo sino tambien al caso donde es variable.
La unidad de seleccion de modo 109 saca el modo de codificacion determinado a la unidad de generacion de flujo de bits 104. Tambien, la unidad de seleccion de modo 109 genera datos de imagen predictiva basados en el modo de codificacion determinado y los saca a la unidad de calculo de diferencia 102. No obstante, si se selecciona codificacion intraimagen, la unidad de seleccion de modo 109 no saca datos de imagen predictiva. La unidad de seleccion de modo 109 controla los conmutadores 111 y 112 para ser conectados al lado “a” y al lado “c” respectivamente si se selecciona codificacion intraimagen y controla los conmutadores 111 y 112 para ser conectados al lado “b” y al lado “d” si se selecciona codificacion de prediccion entre imagenes o un modo directo. Si el modo de codificacion determinado es codificacion de prediccion entre imagenes, la unidad de seleccion de modo 109 saca los vectores de movimiento usados para la codificacion de prediccion entre imagenes a la unidad de generacion de flujo de bits 104. Dado que la imagen B6 no se usa para una imagen de referencia para codificar otras imagenes, no hay necesidad de almacenar los vectores de movimiento usados para la codificacion de prediccion entre imagenes en la unidad de almacenamiento de vectores de movimiento 116. El caso se explicara mas delante donde la unidad de seleccion de modo 109 selecciona la codificacion de prediccion entre imagenes o el modo directo.
La unidad de calculo de diferencia 102 recibe los datos de imagen del macrobloque en la imagen B6 lefda de la memoria de reordenacion 101 y los datos de imagen predictiva sacados de la unidad de seleccion de modo 109. La unidad de calculo de diferencia 102 calcula la diferencia entre los datos de imagen del macrobloque en la imagen B6 y los datos de imagen predictiva y genera los datos de imagen de error residual para sacar a la unidad de codificacion de error residual 103. La unidad de codificacion de error residual 103 realiza procesamiento de codificacion tal como transformacion de frecuencia y cuantificacion sobre los datos de imagen de error residual y, de esta manera, genera los datos codificados para sacar a la unidad de generacion de flujo de bits 104.
La unidad de generacion de flujo de bits 104 realiza codificacion de longitud variable o similar sobre los datos codificados introducidos, ademas anade informacion tal como vectores de movimiento y un modo de codificacion etcetera a los datos y genera el flujo de bits para sacar.
Esa es la terminacion de la codificacion de un macrobloque en la imagen B6. Segun el mismo procesamiento, se codifican los macrobloques restantes en la imagen B6. Y despues de que se codifican todos los macrobloques en la imagen B6, se codifica la imagen B8.
(Codificacion de imagen B8)
Dado que una imagen B8 es una imagen B, se realiza codificacion de prediccion entre imagenes para la imagen B8 con referencia a dos imagenes procesadas previamente situadas antes o despues de B6 en orden de visualizacion. La imagen B B8 se refiere a la imagen B7 como una imagen de referencia hacia delante y la imagen P9 como una imagen de referencia hacia atras, como se describio anteriormente. Dado que la imagen B8 no se usa como una imagen de referencia para codificar otras imagenes, la unidad de control de codificacion 110 controla que el conmutador 113 sea ENCENDIDO y que los conmutadores 114 y 115 sean APAGADOS, lo cual hace que los macrobloques en la imagen B8 lefdos desde la memoria de reordenacion 101 sean introducidos a la unidad de estimacion de vectores de movimiento 108, la unidad de seleccion de modo 109 y la unidad de calculo de diferencia 102.
Usando los datos de imagen decodificados de la imagen B7 y los datos de imagen decodificados de la imagen P9 que estan almacenados en la memoria de imagenes de referencia 107 como una imagen de referencia hacia delante y una imagen de referencia hacia atras respectivamente, la unidad de estimacion de vectores de movimiento 108
5
10
15
20
25
30
35
40
45
50
55
estima el vector de movimiento hacia delante y el vector de movimiento hacia atras para el macrobloque en la imagen B8. Y la unidad de estimacion de vectores de movimiento 108 saca los vectores de movimiento estimados a la unidad de seleccion de modo 109.
La unidad de seleccion de modo 109 determina el modo de codificacion para el macrobloque en la imagen B8 usando los vectores de movimiento estimados por la unidad de estimacion de vectores de movimiento 108.
Aqm, el caso donde el macrobloque en la imagen B8 se codifica usando el modo directo se explicara con referencia a la Fig. 8D. La Fig. 8D es una ilustracion que muestra vectores de movimiento en modo directo y que muestra espedficamente el caso donde un bloque a en la imagen B8 se codifica en modo directo. En este caso, se utiliza un vector de movimiento c que se ha usado para codificar un bloque b en la imagen hacia atras P9. La imagen de referencia P9 se situa despues de la imagen B8 y el bloque b en la imagen P9 se situa conjuntamente con el bloque a. Aqm, se supone que el bloque b se ha codificado por la referencia hacia delante y el vector de movimiento hacia delante para el bloque b es el vector de movimiento c. El vector de movimiento c se almacena en la unidad de almacenamiento de vectores de movimiento 116. El bloque a se bipredice a partir de la imagen de referencia hacia delante B7 y la imagen de referencia hacia atras P9 usando vectores de movimiento generados utilizando el vector de movimiento c. Por ejemplo, si se usa un metodo de generacion de vectores de movimiento paralelos al vector de movimiento c, como es el caso de la imagen B6 antes mencionada, el vector de movimiento d y el vector de movimiento e se usan para la imagen B7 y la imagen P9 respectivamente para codificar el bloque a.
En este caso donde el vector de movimiento hacia delante d es MVF, el vector de movimiento hacia atras e es MVB, el vector de movimiento c es MV, la distancia temporal entre la imagen de referencia hacia atras P9 para la imagen actual B8 y la imagen P5 a la que se refiere el bloque b en la imagen de referencia hacia atras P9 es TRD, la distancia temporal entre la imagen actual B8 y la imagen de referencia hacia delante B7 es TRF y la distancia temporal entre la imagen actual B8 y la imagen de referencia hacia atras P9 es TRB respectivamente, el vector de movimiento d MVF y el vector de movimiento e MVB se calculan respectivamente por la Ecuacion 1 y Ecuacion 5.
Como se describio anteriormente, en modo directo, escalando el vector de movimiento hacia delante de la imagen de referencia hacia atras, cuando se selecciona el modo directo, no hay necesidad de transmitir la informacion de vector de movimiento y se puede mejorar la eficiencia de prediccion de movimiento. Por consiguiente, se puede mejorar la eficiencia de codificacion. Ademas, usando imagenes de referencia que son las mas cercanas temporalmente disponibles en orden de visualizacion como imagenes de referencia hacia delante y hacia atras, se puede aumentar la eficiencia de codificacion.
El modo directo antes mencionado es aplicable no solamente al caso donde un intervalo de tiempo entre imagenes es fijo sino tambien al caso donde es variable.
La unidad de seleccion de modo 109 saca el modo de codificacion determinado a la unidad de generacion de flujo de bits 104. Tambien, la unidad de seleccion de modo 109 genera datos de imagen predictiva basados en el modo de codificacion determinado y los saca a la unidad de calculo de diferencia 102. No obstante, si se selecciona codificacion intraimagen, la unidad de seleccion de modo 109 no saca datos de imagen predictiva. La unidad de seleccion de modo 109 controla los conmutadores 111 y 112 para ser conectados al lado “a” y al lado “c” respectivamente si se selecciona codificacion intraimagen y controla los conmutadores 111 y 112 para ser conectados al lado “b” y al lado “d” si se selecciona codificacion de prediccion entre imagenes o modo directo. Si el modo de codificacion determinado es codificacion de prediccion entre imagenes, la unidad de seleccion de modo 109 saca los vectores de movimiento usados para la codificacion de prediccion entre imagenes a la unidad de generacion de flujo de bits 104. Dado que la imagen B8 no ha de ser usada como una imagen de referencia para codificar otras imagenes, no hay necesidad de almacenar los vectores de movimiento usados para la codificacion de prediccion entre imagenes en la unidad de almacenamiento de vectores de movimiento 116. El caso se explicara mas delante donde la unidad de seleccion de modo 109 selecciona la codificacion de prediccion entre imagenes o modo directo.
La unidad de calculo de diferencia 102 recibe los datos de imagen del macrobloque en la imagen B8 lefdos desde la memoria de reordenacion 101 y los datos de imagen predictiva sacados de la unidad de seleccion de modo 109. La unidad de calculo de diferencia 102 calcula la diferencia entre los datos de imagen del macrobloque en la imagen B8 y los datos de imagen predictiva y genera los datos de imagen de error residual para sacar a la unidad de codificacion de error residual 103. La unidad de codificacion de error residual 103 realiza procesamiento de codificacion tal como transformacion de frecuencia y cuantificacion sobre los datos de imagen de error residual y de esta manera genera los datos codificados para sacar a la unidad de generacion de flujo de bits 104.
La unidad de generacion de flujo de bits 104 realiza codificacion de longitud variable o similar sobre los datos codificados introducidos, ademas anade informacion tal como vectores de movimiento y un modo de codificacion etcetera a los datos y genera el flujo de bits para sacar.
Esa es la terminacion de la codificacion de un macrobloque en la imagen B8. Segun el mismo procesamiento, se codifican los restantes macrobloques en la imagen B8.
5
10
15
20
25
30
35
40
45
50
55
Segun los procedimientos de codificacion respectivos antes mencionados para las imagenes P9, B7, B6 y B8, otras imagenes se codifican dependiendo de sus tipos de imagen y ubicaciones temporales en orden de visualizacion.
En la realizacion antes mencionada, el metodo de codificacion de imagenes en movimiento segun la presente invencion se ha explicado teniendo el caso donde se usa como ejemplo la estructura de prediccion de imagen que se muestra en la Fig. 6A. La Fig. 12 es una ilustracion que muestra esta estructura de prediccion de imagen jerarquicamente. En la Fig. 12, las flechas indican relaciones de prediccion, en las cuales las imagenes apuntadas por las flechas se refieren a las imagenes situadas en los ongenes de las flechas. En la estructura de prediccion de imagen que se muestra en la Fig. 6A, el orden de codificacion se determina dando una prioridad superior a las imagenes que son las mas alejadas de las imagenes procesadas previamente en orden de visualizacion, como se muestra en la Fig. 12. Por ejemplo, la imagen mas alejada de una imagen I o una imagen P es la situada en el centro de las imagenes B consecutivas. Por lo tanto, si las imagenes P5 y P9 se han codificado, la imagen B7 ha de ser codificada a continuacion. Y si las imagenes P5, B7 y P9 se han codificado, las imagenes B6 y B8 han de ser codificadas a continuacion.
Ademas, el metodo de codificacion de imagenes en movimiento segun la presente invencion se puede usar para otras estructuras de prediccion de imagen distintas de las que se muestran en la Fig. 6 y la Fig. 12, para producir los efectos de la presente invencion. Las Fig. 9~11 muestran los ejemplos de otras estructuras de prediccion de imagen.
La Fig. 9 muestra el caso donde 3 imagenes B se situan entre imagenes I e imagenes P y la imagen B mas cercana de la imagen procesada previamente se selecciona para codificar primero. La Fig. 9A es un diagrama que muestra relaciones de prediccion entre imagenes respectivas dispuestas en orden de visualizacion y la Fig. 9B es un diagrama que muestra la secuencia de imagenes reordenadas en orden de codificacion (un flujo de bits). La Fig. 13 es un diagrama jerarquico de la estructura de prediccion de imagen que corresponde a la Fig. 9A. En la estructura de prediccion de imagen que se muestra en la Fig. 9A, se codifican primero las imagenes mas cercanas en orden de visualizacion de las imagenes procesadas previamente, como se muestra en la Fig. 13. Por ejemplo, si las imagenes P5 y P9 se han codificado, las imagenes B6 y B8 han de ser codificadas a continuacion. Si las imagenes P5, B6, B8 y P9 se han codificado, la imagen B7 ha de ser codificada a continuacion.
La Fig. 10 muestra el caso donde 5 imagenes B se situan entre imagenes I e imagenes P y la imagen B que es la mas alejada de la imagen procesada previamente se selecciona para codificar primero. La Fig. 10A es un diagrama que muestra relaciones de prediccion entre imagenes respectivas dispuestas en orden de visualizacion y la Fig. 10B es un diagrama que muestra la secuencia de imagenes reordenadas en orden de codificacion (un flujo de bits). La Fig. 14 es un diagrama jerarquico de la estructura de prediccion de imagen que corresponde a la Fig. 10A. En la estructura de prediccion de imagen que se muestra en la Fig. 10A, el orden de codificacion se determina dando una prioridad superior a las imagenes mas alejadas en orden de visualizacion de las imagenes procesadas previamente, como se muestra en la Fig. 14. Por ejemplo, la imagen mas alejada de una imagen I o una imagen P es la imagen B en el centro de las imagenes B consecutivas. Por lo tanto, si las imagenes P7 y P13 se han codificado, la imagen B10 ha de ser codificada a continuacion. Si las imagenes P7, B10 y P13 se han codificado, las imagenes B8, B9, B11 y B12 han de ser codificadas a continuacion.
La Fig. 11 muestra el caso donde 5 imagenes B se situan entre imagenes I e imagenes P y la imagen B que es la mas cercana de la imagen procesada previamente se selecciona para codificar primero. La Fig. 11A es un diagrama que muestra relaciones de prediccion entre imagenes respectivas dispuestas en orden de visualizacion y la Fig. 11B es un diagrama que muestra la secuencia de imagenes reordenadas en orden de codificacion (un flujo de bits). La Fig. 15 es un diagrama jerarquico de la estructura de prediccion de imagen que corresponde a la Fig. 11A. En la estructura de prediccion de imagen que se muestra en la Fig. 11A, las imagenes mas cercanas en orden de visualizacion de las imagenes procesadas previamente se codifican primero, como se muestra en la Fig. 15. Por ejemplo, si las imagenes P5 y P9 se han codificado, las imagenes B8 y B12 han de ser codificadas a continuacion. Si las imagenes P5, B8, B12 y P9 se han codificado, las imagenes B9 y B11 han de ser codificadas a continuacion. Ademas, si las imagenes P5, B8, B9, B11, B12 y P9 se han codificado, la imagen B10 ha de ser codificada a continuacion.
Como se describio anteriormente, segun el metodo de codificacion de imagenes en movimiento de la presente invencion, cuando se realiza codificacion de prediccion entre imagenes sobre una pluralidad de imagenes B situadas entre imagenes I e imagenes P usando referencia bipredictiva, se codifican en otro orden distinto del orden de visualizacion. Para ese proposito, las imagenes situadas tan cerca a la imagen actual como sea posible en orden de visualizacion se usan como imagenes hacia delante y hacia atras. Como imagen de referencia, una imagen B tambien se usa si esta disponible. Cuando una pluralidad de imagenes B situadas entre imagenes I e imagenes P se codifican en diferente orden del orden de visualizacion, la imagen mas alejada de la imagen procesada previamente ha de ser codificada primero. O, cuando una pluralidad de imagenes B situadas entre imagenes I e imagenes P se codifican en orden diferente del orden de visualizacion, la imagen mas cercana de la imagen procesada previamente ha de ser codificada primero.
Segun el metodo de codificacion de imagenes en movimiento de la presente invencion, la operacion antes mencionada permite usar una imagen mas cercana a una imagen B actual en orden de visualizacion como una
5
10
15
20
25
30
35
40
45
50
55
imagen de referencia para codificarla. La eficiencia de prediccion se aumenta de esta manera para compensacion de movimiento y se aumenta la eficiencia de codificacion.
Ademas, segun el metodo de codificacion de imagenes en movimiento de la presente invencion, para codificar un bloque en una imagen B en modo directo con referencia a una imagen B codificada previamente como una imagen de referencia hacia atras, si el bloque situado conjuntamente en la imagen B de referencia hacia atras se ha codificado por referencia hacia delante o referencia bipredictiva, un vector de movimiento obtenido escalando el vector de movimiento hacia delante de la imagen B de referencia hacia atras se usa como un vector de movimiento en modo directo.
Como se menciono anteriormente, en modo directo, escalando un vector de movimiento hacia delante de una imagen B de referencia hacia atras, no hay necesidad de transmitir informacion de vector de movimiento y se puede aumentar la eficiencia de prediccion. Ademas, usando una imagen de referencia mas cercana temporalmente en orden de visualizacion como una imagen de referencia hacia delante, se puede aumentar la eficiencia de codificacion.
O, si un bloque situado conjuntamente en una imagen B de referencia hacia atras se codifica en modo directo, un vector de movimiento obtenido escalando el vector de movimiento hacia delante usado sustancialmente en modo directo se usa como un vector de movimiento en modo directo.
Como se menciono anteriormente, en modo directo, escalando un vector de movimiento hacia delante de una imagen B de referencia hacia atras que se ha usado sustancialmente para la codificacion de modo directo, no hay necesidad de transmitir informacion de vector de movimiento y se puede aumentar la eficiencia de prediccion incluso si el bloque situado conjuntamente en la imagen de referencia hacia atras se codifica en modo directo. Ademas, se puede mejorar la eficiencia de codificacion usando una imagen de referencia mas cercana temporalmente como una imagen de referencia hacia delante.
O, si un bloque situado conjuntamente en una imagen B de referencia hacia atras se codifica por referencia hacia atras, los vectores de movimiento obtenidos escalando el vector de movimiento hacia atras del bloque se usan como vectores de movimiento en modo directo.
Como se menciono anteriormente, en modo directo, escalando un vector de movimiento hacia atras que se ha usado para codificar un bloque situado conjuntamente en la imagen B de referencia hacia atras, no hay necesidad de transmitir informacion de vector de movimiento y se puede aumentar la eficiencia de prediccion incluso si el bloque situado conjuntamente en la imagen de referencia hacia atras tiene solamente un vector de movimiento hacia atras. Ademas, usando una imagen de referencia mas cercana temporalmente como una imagen de referencia hacia delante, se puede mejorar la eficiencia de codificacion.
O, si un bloque situado conjuntamente en una imagen B de referencia hacia atras se codifica por referencia hacia atras, los vectores de movimiento obtenidos escalando el vector de movimiento hacia atras usado para esa codificacion, con referencia a la imagen referida por este vector de movimiento hacia atras y la imagen de referencia hacia atras, se usan como vectores de movimiento en modo directo.
Como se menciono, en modo directo, escalando un vector de movimiento hacia atras que se ha usado para codificar un bloque situado conjuntamente en la imagen B de referencia hacia atras, no hay necesidad de transmitir informacion de vector de movimiento y se puede aumentar la eficiencia de prediccion incluso si el bloque situado conjuntamente en la imagen de referencia hacia atras tiene solamente un vector de movimiento hacia atras. Por consiguiente, se puede mejorar la eficiencia de codificacion. Ademas, usando una imagen referida por el vector de movimiento hacia atras como una imagen de referencia hacia delante y una imagen de referencia mas cercana temporalmente disponible en orden de visualizacion como una imagen de referencia hacia atras, se puede aumentar la eficiencia de codificacion.
O, en modo directo, se usa un vector de movimiento que se fuerza a ser fijado a “0”.
Forzando un vector de movimiento a ser fijado a “0” en modo directo, cuando se selecciona el modo directo, no hay necesidad de transmitir la informacion de vector de movimiento ni escalar el vector de movimiento y por lo tanto se puede reducir el volumen de procesamiento.
Ademas, segun el metodo de codificacion de imagenes en movimiento de la presente invencion, para codificar un bloque en una imagen B en modo directo con referencia a una imagen B que se ha codificado previamente como una imagen de referencia hacia atras, un vector de movimiento obtenido escalando el vector de movimiento hacia delante que se ha usado para codificar el bloque situado conjuntamente en la imagen P posterior se usa como un vector de movimiento en modo directo.
Como se menciono anteriormente, en modo directo, escalando un vector de movimiento de una imagen P posterior, si la imagen de referencia hacia atras es una imagen B, no hay necesidad de almacenar los vectores de movimiento de la imagen B y no hay necesidad de transmitir la informacion de vector de movimiento y de esta manera se puede
5
10
15
20
25
30
35
40
45
50
aumentar la eficiencia de transmision. Ademas, usando una imagen de referencia mas cercana temporalmente como una imagen de referencia hacia delante, se puede mejorar la eficiencia de codificacion.
Cuando se cambia la asignacion de indices relativos a numeros de imagen y un bloque situado conjuntamente en una imagen de referencia hacia atras se ha codificado mediante referencia hacia delante, los vectores movimiento obtenidos escalando ese vector de movimiento hacia delante se usan como vectores de movimiento en modo directo.
Como se menciono anteriormente, en modo directo, un vector de movimiento de una imagen codificada previamente se puede escalar incluso si se cambia la asignacion de indices relativos a numeros de imagen y no hay necesidad de transmitir informacion de vector de movimiento.
En la presente realizacion, se ha explicado el caso donde se hace compensacion de movimiento en cada 16 (horizontales) x 16 (verticales) pfxeles y los datos de imagen de error residual se codifican en cada 8 (horizontales) x 8 (verticales) pfxeles o 4 (horizontales) x 4 (verticales) pfxeles, pero se puede aplicar otro tamano (numero de pfxeles incluidos).
Tambien, en la presente realizacion, se ha aplicado el caso donde se situan 3 o 5 imagenes B consecutivas, pero se pueden situar otro numero de imagenes.
Ademas, en la presente realizacion, se ha explicado el caso donde una de codificacion intraimagen, codificacion de prediccion entre imagenes que usa vectores de movimiento y codificacion de prediccion entre imagenes sin usar vectores de movimiento se selecciona como un modo de codificacion para imagenes P y una de codificacion intraimagen, codificacion de prediccion entre imagenes que usa un vector de movimiento hacia delante, codificacion de prediccion entre imagenes que usa un vector de movimiento hacia atras, codificacion de prediccion entre imagenes que usa unos vectores de movimiento predictivos y se selecciona modo directo para imagenes B, pero se puede usar otro modo de codificacion.
Tambien, en la presente realizacion, se han explicado siete ejemplos de modo directo, pero se puede usar un metodo que se determina unicamente en cada macrobloque o bloque o se puede seleccionar cualquiera de una pluralidad de metodos en cada macrobloque o bloque. Si se usa una pluralidad de metodos, la informacion que indica que tipo de modo de directo se ha usado se describe en un flujo de bits.
Ademas, en la presente realizacion, se explicado el caso donde se codifica una imagen P con referencia a una imagen I o P codificada previamente que se situa antes o despues temporalmente en orden de visualizacion que la imagen P actual y una imagen B se codifica con referencia a dos imagenes colindantes procesadas previamente que se situan antes o despues en orden de visualizacion de la imagen B actual respectivamente. No obstante, en el caso de una imagen P, la imagen P se puede codificar con referencia a lo sumo a una imagen para cada bloque de entre una pluralidad de imagenes I o P codificadas previamente como imagenes de referencia candidatas y en el caso de una imagen B, la imagen B se puede codificar con referencia a lo sumo a dos imagenes para cada bloque de entre una pluralidad de imagenes colindantes codificadas previamente que se situan antes o despues temporalmente en orden de visualizacion como imagenes de referencia candidatas.
Ademas, cuando se almacenan vectores de movimiento en la unidad de almacenamiento de vectores de movimiento 116, la unidad de seleccion de modo 109 puede almacenar tanto vectores de movimiento hacia delante como hacia atras o solamente un vector de movimiento hacia delante, si se codifica un bloque actual mediante referencia bipredictiva o en modo directo. Si se almacena solamente el vector de movimiento hacia delante, se puede reducir el volumen almacenado en la unidad de almacenamiento de vectores de movimiento 116.
(Segunda realizacion)
La Fig. 16 es un diagrama de bloques que muestra una estructura de un aparato de decodificacion de imagenes en movimiento que usa un metodo de decodificacion de imagenes en movimiento segun una realizacion de la presente invencion.
Como se muestra en la Fig. 16, el aparato de decodificacion de imagenes en movimiento incluye una unidad de analisis de flujo de bits 1401, una unidad de decodificacion de error residual 1402, una unidad de decodificacion de modo 1403, una unidad de control de memoria de cuadro 1404, una unidad de decodificacion de compensacion de movimiento 1405, una unidad de almacenamiento de vectores de movimiento 1406, una memoria de cuadro 1407, una unidad de adicion 1408 y conmutadores 1409 y 1410.
La unidad de analisis de flujo de bits 1401 extrae diversos tipos de datos tales como informacion de modo de codificacion e informacion de vector de movimiento a partir del flujo de bits introducido. La unidad de decodificacion de error residual 1402 decodifica los datos codificados de error residual introducidos desde la unidad de analisis de flujo de bits 1401 y genera datos de imagen de error residual. La unidad de decodificacion de modo 1403 controla los conmutadores 1409 y 1410 con referencia a la informacion de modo de codificacion extrafda del flujo de bits.
5
10
15
20
25
30
35
40
45
50
55
La unidad de control de memoria de cuadro 1404 saca los datos de imagen decodificados almacenados en la memoria de cuadro 1407 como imagenes de salida basadas en la informacion que indica el orden de visualizacion de las imagenes introducidas desde la unidad de analisis de flujo de bits 1401.
La unidad de decodificacion de compensacion de movimiento 1405 decodifica la informacion de los numeros de imagen de referencia y los vectores de movimiento y obtiene datos de imagen de compensacion de movimiento de la memoria de cuadro 1407 basados en los numeros de imagen de referencia decodificada y vectores de movimiento. La unidad de almacenamiento de vectores de movimiento 1406 almacena vectores de movimiento.
La unidad de adicion 1408 anade los datos codificados de error residual introducidos desde la unidad de decodificacion de error residual 1402 y los datos de imagen de compensacion de movimiento introducidos desde la unidad de decodificacion de compensacion de movimiento 1405 para generar los datos de imagen decodificados. La memoria de cuadro 1407 almacena los datos de imagen decodificados generados.
A continuacion, se explicara la operacion del aparato de decodificacion de imagenes en movimiento que se estructura como anteriormente. Aqm, se supone que el flujo de bits generado por el aparato de codificacion de imagenes en movimiento se introduce al aparato de decodificacion de imagenes en movimiento. Espedficamente, se supone que una imagen P se refiere a una imagen I o P colindante procesada previamente que se situa antes o despues de la imagen P actual en orden de visualizacion y una imagen B se refiere a dos imagenes colindantes codificadas previamente que se situan antes o despues de la imagen B actual en orden de visualizacion.
En este caso, las imagenes en el flujo de bits se disponen en el orden que se muestra en la Fig. 6B. El procesamiento de decodificacion de las imagenes P9, B7, B6 y B8 se explicara mas delante en este orden.
(Decodificacion de imagen P9)
El flujo de bits de la imagen P9 se introduce a la unidad de analisis de flujo de bits 1401. La unidad de analisis de flujo de bits 1401 extrae diversos tipos de datos a partir del flujo de bits introducido. Aqm, diversos tipos de datos significan informacion de seleccion de modo, informacion de vector de movimiento y otras. La informacion de seleccion de modo extrafda se saca a la unidad de decodificacion de modo 1403. La informacion de vector de movimiento extrafda se saca a la unidad de decodificacion de compensacion de movimiento 1405. Y los datos codificados de error residual se sacan a la unidad de decodificacion de error residual 1402.
La unidad de decodificacion de modo 1403 controla los conmutadores 1409 y 1410 con referencia a la informacion de seleccion de modo de codificacion extrafda a partir del flujo de bits. Si se selecciona codificacion intraimagen como modo de codificacion, la unidad de decodificacion de modo 1403 controla los conmutadores 1409 y 1410 para ser conectados al lado “a” y al lado “c” respectivamente. Si se selecciona codificacion de prediccion entre imagenes como un modo de codificacion, la unidad de decodificacion de modo 1403 controla los conmutadores 1409 y 1410 para ser conectados al lado “b” y al lado “d” respectivamente.
La unidad de decodificacion de modo 1403 tambien saca la informacion de seleccion de modo de codificacion a la unidad de decodificacion de compensacion de movimiento 1405. El caso donde la codificacion de prediccion entre imagenes se selecciona como modo de codificacion se explicara mas delante. La unidad de decodificacion de error residual 1402 decodifica los datos codificados de error residual introducidos para generar datos de imagen de error residual. La unidad de decodificacion de error residual 1402 saca los datos de imagen de error residual generados al conmutador 1409. Dado que el conmutador 1409 esta conectado al lado “b”, los datos de imagen de error residual se sacan a la unidad de adicion 1408.
La unidad de decodificacion de compensacion de movimiento 1405 obtiene datos de imagen de compensacion de movimiento de la memoria de cuadro 1407 basados en la informacion de vector de movimiento introducida y similar. La imagen P9 se ha codificado con referencia la imagen P5 y la imagen P5 ya se ha codificado y almacenado en la memoria de cuadro 1407. Asf, la unidad de decodificacion de compensacion de movimiento 1405 obtiene los datos de imagen de compensacion de movimiento a partir de los datos de imagen de la imagen P5 almacenados en la memoria de cuadro 1407, basados en la informacion de vector de movimiento. Los datos de imagen de compensacion de movimiento generados de esta manera se sacan a la unidad de adicion 1408.
Cuando se decodifican imagenes P, la unidad de decodificacion de compensacion de movimiento 1405 almacena la informacion de vector de movimiento en la unidad de almacenamiento de vectores de movimiento 1406.
La unidad de adicion 1408 anade los datos de imagen de error residual introducidos y los datos de imagen de compensacion de movimiento para generar datos de imagen decodificados. Los datos de imagen decodificados generados se sacan a la memoria de cuadro 1407 a traves del conmutador 1410.
Esa es la terminacion de la decodificacion de un macrobloque en la imagen P9. Segun el mismo procesamiento, los restantes macrobloques en la imagen P9 se decodifican en secuencia. Y despues de que se decodifican todos los macrobloques en la imagen P9, se decodifica la imagen B7.
(Decodificacion de imagen B7)
5
10
15
20
25
30
35
40
45
50
55
Dado que las operaciones de la unidad de analisis de flujo de bits 1401, la unidad de decodificacion de modo 1403 y la unidad de decodificacion de error residual 1402 hasta la generacion de datos de imagen de error residual son las mismas que las de la decodificacion de la imagen P9, se omitira la explicacion de las mismas.
La unidad de decodificacion de compensacion de movimiento 1405 genera datos de imagen de compensacion de movimiento basados en la informacion de vector de movimiento introducida y similar. La imagen B7 se codifica con referencia a la imagen P5 como una imagen de referencia hacia delante y la imagen P9 como una imagen de referencia hacia atras y estas imagenes P5 y P9 ya se han decodificado y almacenado en la memoria de cuadro
1407.
Si se selecciona codificacion de biprediccion entre imagenes como modo de codificacion, la unidad de decodificacion de compensacion de movimiento 1405 obtiene los datos de imagen de referencia hacia delante a partir de la memoria de cuadro 1407 basados en la informacion de vector de movimiento hacia delante. Tambien se obtienen los datos de imagen de referencia hacia atras a partir de la memoria de cuadro 1407 basados en la informacion de vector de movimiento hacia atras. Entonces, la unidad de decodificacion de compensacion de movimiento 1405 promedia los datos de imagen de referencia hacia delante y hacia atras para generar datos de imagen de compensacion de movimiento.
Cuando se selecciona modo directo como modo de codificacion, la unidad de decodificacion de compensacion de movimiento 1405 obtiene el vector de movimiento de la imagen P9 almacenado en la unidad de almacenamiento de vectores de movimiento 1406. Usando este vector de movimiento, la unidad de decodificacion de compensacion de movimiento 1405 obtiene los datos de imagen de referencia hacia delante y hacia atras a partir de la memoria de cuadro 1407. Entonces, la unidad de decodificacion de compensacion de movimiento 1405 promedia los datos de imagen de referencia hacia delante y hacia atras para generar datos de imagen de compensacion de movimiento.
El caso donde se selecciona el modo directo como modo de codificacion se explicara con referencia a la Fig. 7A de nuevo. Aqm, se supone que el bloque a en la imagen B7 ha de ser decodificado y el bloque b en la imagen P9 esta situado conjuntamente con el bloque a. El vector de movimiento del bloque b es el vector de movimiento c, que se refiere a la imagen P5. En este caso, el vector de movimiento d que se obtiene utilizando el vector de movimiento c y se refiere a la imagen P5 se usa como un vector de movimiento hacia delante y el vector de movimiento e que se obtiene utilizando el vector de movimiento c y se refiere a la imagen P9 se usa como un vector de movimiento hacia atras. Por ejemplo, como metodo de utilizacion del vector de movimiento c, hay un metodo de generacion de vectores de movimiento paralelos al vector de movimiento c. Los datos de imagen de compensacion de movimiento se obtienen promediando los datos de referencia hacia delante y hacia atras obtenidos basados en estos vectores de movimiento.
En este caso donde el vector de movimiento hacia delante d es MVF, el vector de movimiento hacia atras e es MVB, el vector de movimiento c es MV, la distancia temporal entre la imagen de referencia hacia atras P9 para la imagen actual B7 y la imagen P5 a la que se refiere el bloque b en la imagen de referencia hacia atras P9 es TRD y la distancia temporal entre la imagen actual B7 y la imagen de referencia hacia delante P5 es TRF respectivamente, el vector de movimiento d MVF y el vector de movimiento e MVB se calculan respectivamente por la Ecuacion 1 y la Ecuacion 2, donde MVF y mVb representan los componentes horizontal y vertical de los vectores de movimiento respectivamente. Senalar que la distancia temporal entre las imagenes se puede determinar basada en la informacion que indica el orden de visualizacion (posicion) dado a las imagenes respectivas o la diferencia especificada por la informacion.
Los datos de imagen de compensacion de movimiento generados de esta manera se sacan a la unidad de adicion
1408. La unidad de decodificacion de compensacion de movimiento 1405 almacena la informacion vector de movimiento en la unidad de almacenamiento de vectores de movimiento 1406.
La unidad de adicion 1408 anade los datos de imagen de error residual introducidos y los datos de imagen de compensacion de movimiento para generar datos de imagen decodificados. Los datos de imagen decodificados generados se sacan a la memoria de cuadro 1407 a traves del conmutador 1410.
Esa es la terminacion de la decodificacion de un macrobloque en la imagen B7. Segun el mismo procesamiento, los restantes macrobloques en la imagen B7 se decodifican en secuencia. Y despues de que se decodifican todos los macrobloques de la imagen B7, se decodifica la imagen B6.
(Decodificacion de imagen B6)
Dado que las operaciones de la unidad de analisis de flujo de bits 1401, la unidad de decodificacion de modo 1403 y la unidad de decodificacion de error residual 1402 hasta la generacion de datos de imagen de error residual son las mismas que las de la decodificacion de la imagen P9, se omitira la explicacion de las mismas.
La unidad de decodificacion de compensacion de movimiento 1405 genera datos de imagen de compensacion de movimiento basados en la informacion de vector de movimiento introducida y similar. La imagen B6 se ha codificado con referencia a la imagen P5 como una imagen de referencia hacia delante y la imagen B7 como una imagen de
5
10
15
20
25
30
35
40
45
50
55
referencia hacia atras y estas imagenes P5 y B7 se han decodificado ya y almacenado en la memoria de cuadro 1407.
Si se selecciona codificacion de biprediccion entre imagenes como modo de codificacion, la unidad de decodificacion de compensacion de movimiento 1405 obtiene los datos de imagen de referencia hacia delante de la memoria de cuadro 1407 basados en la informacion de vector de movimiento hacia delante. Tambien se obtienen los datos de imagen de referencia hacia atras de la memoria de cuadro 1407 basados en la informacion de vector de movimiento hacia atras. Entonces, la unidad de decodificacion de compensacion de movimiento 1405 promedia los datos de imagen de referencia hacia delante y hacia atras para generar datos de imagen de compensacion de movimiento.
Cuando se selecciona el modo directo como modo de codificacion, la unidad de decodificacion de compensacion de movimiento 1405 obtiene el vector de movimiento de la imagen B7 almacenado en la unidad de almacenamiento de vectores de movimiento 1406. Usando este vector de movimiento, la unidad de decodificacion de compensacion de movimiento 1405 obtiene los datos de imagen de referencia hacia delante y hacia atras de la memoria de cuadro 1407. Entonces, la unidad de decodificacion de compensacion de movimiento 1405 promedia los datos de imagen de referencia hacia delante y hacia atras para generar datos de imagen de compensacion de movimiento.
El primer ejemplo del caso donde el modo directo se selecciona como modo de codificacion se explicara con referencia a la Fig. 7B de nuevo. Aqm, se supone que el bloque a en la imagen B6 ha de ser decodificado y el bloque b en la imagen B7 esta situado conjuntamente con el bloque a. El bloque b se ha codificado mediante prediccion entre imagenes de referencia hacia delante o prediccion entre imagenes de referencia bipredictiva y el vector de movimiento hacia delante del bloque b es el vector de movimiento c, que se refiere a la imagen P5. En este caso, el vector de movimiento d que se obtiene utilizando el vector de movimiento c y se refiere a la imagen P5 se usa como un vector de movimiento hacia delante y el vector de movimiento e que se obtiene utilizando el vector de movimiento c y se refiere a la imagen B7 se usa como un vector de movimiento hacia atras. Por ejemplo, como metodo de utilizacion del vector de movimiento c, hay un metodo de generacion de vectores de movimiento paralelos al vector de movimiento c. Los datos de imagen de compensacion de movimiento se obtienen promediando los datos de imagen de referencia hacia delante y hacia atras obtenidos basados en estos vectores de movimiento d y e.
En este caso donde el vector de movimiento hacia delante d es MVF, el vector de movimiento hacia atras e es MVB, el vector de movimiento c es MV, la distancia temporal entre la imagen de referencia hacia atras B7 para la imagen actual B6 y la imagen P5 a la que se refiere el bloque b en la imagen de referencia hacia atras B7 es TRD y la distancia temporal entre la imagen actual B6 y la imagen de referencia hacia delante P5 es TRF respectivamente, el vector de movimiento d MVF y el vector de movimiento e MVB se calculan respectivamente por la Ecuacion 1 y la Ecuacion 2. Senalar que la distancia temporal entre imagenes se puede terminar basada en la informacion que indica el orden de visualizacion (posicion) de las imagenes o la diferencia especificada por la informacion. O, como los valores de TRD y TRF, se pueden usar valores predeterminados para imagenes respectivas. Estos valores predeterminados se pueden describir en el flujo de bits como informacion de cabecera.
El segundo ejemplo del caso donde se selecciona el modo directo como modo de codificacion se explicara con referencia a la Fig. 7B de nuevo.
En este ejemplo, se utiliza el vector de movimiento que se ha usado para decodificar el bloque b en la imagen B7. La imagen B7 es la imagen de referencia hacia atras para la imagen actual B6 y el bloque b se situa conjuntamente con el bloque a en la imagen B6. Aqm, se supone que el bloque b se ha codificado en modo directo y el vector de movimiento c se ha usado sustancialmente como un vector de movimiento hacia delante para esa codificacion. El vector de movimiento c almacenado en la unidad de almacenamiento de vectores de movimiento 1406 se puede usar o se calcula leyendo de la unidad de almacenamiento de vectores de movimiento 1406 el vector de movimiento de la imagen P9 que se ha usado para codificar el bloque b en modo directo y entonces se escala ese vector de movimiento. Senalar que cuando se almacenan vectores de movimiento en la unidad de almacenamiento de vectores de movimiento 1406, la unidad de decodificacion de compensacion de movimiento 1405 necesita almacenar solamente el vector de movimiento hacia delante de entre los dos vectores de movimiento obtenidos escalando para decodificar el bloque b en la imagen B7 en modo directo.
En este caso, para el bloque a, el vector de movimiento d que se genera utilizando el vector de movimiento c y se refiere a la imagen P5 se usa como un vector de movimiento hacia delante y el vector de movimiento e que se genera utilizando el vector de movimiento c y se refiere a la imagen B7 se usa como un vector de movimiento hacia atras. Por ejemplo, como metodo de utilizacion del vector de movimiento c, hay un metodo de generacion de vectores de movimiento paralelos al vector de movimiento c. Los datos de imagen de compensacion de movimiento se obtienen promediando los datos de imagen de referencia hacia delante y hacia atras obtenidos basados en estos vectores de movimiento d y e.
En este caso, el vector de movimiento d MVF y el vector de movimiento e MVB se calculan respectivamente por la Ecuacion 1 y la Ecuacion 2, como es el caso del primer ejemplo del modo directo.
A continuacion, el tercer ejemplo del caso donde se selecciona el modo directo como modo de codificacion se explicara con referencia a la Fig. 7C de nuevo.
5
10
15
20
25
30
35
40
45
50
55
En este ejemplo, se supone que el bloque a en la imagen B6 ha de ser decodificado y el bloque b en la imagen B7 se situa conjuntamente con el bloque a. El bloque b se ha codificado mediante prediccion de referencia hacia atras y el vector de movimiento hacia atras del bloque b es un vector de movimiento f, que se refiere a la imagen P9. En este caso, para el bloque a, el vector de movimiento g que se obtiene utilizando el vector de movimiento f y se refiere a la imagen P5 se usa como un vector de movimiento hacia delante y el vector de movimiento h que se obtiene utilizando el vector de movimiento f y se refiere a la imagen B7 se usa como un vector de movimiento hacia atras. Por ejemplo, como metodo de utilizacion del vector de movimiento f, hay un metodo de generacion de vectores movimiento paralelos al vector de movimiento f. Los datos de imagen de compensacion de movimiento se obtienen promediando los datos de imagen de referencia hacia delante y hacia atras obtenidos basados en estos vectores de movimiento g y h.
En este caso donde el vector de movimiento hacia delante g es MVF, el vector de moviendo hacia atras h es MVB, el vector de movimiento f es MV, la distancia temporal entre la imagen de referencia hacia atras B7 para la imagen actual B6 y la imagen P9 a la que se refiere el bloque b en la imagen de referencia hacia atras B7 es TRD, la distancia temporal entre la imagen actual B6 y la imagen de referencia hacia delante P5 es TRF y la distancia temporal entre la imagen actual B6 y la imagen de referencia hacia atras B7 es TRB respectivamente, el vector de movimiento g MVF y el vector de movimiento h MVB se calculan respectivamente por la Ecuacion 3 y la Ecuacion 4.
A continuacion, el cuarto ejemplo del caso donde el modo directo se selecciona como modo de codificacion se explicara con referencia a la Fig. 7D de nuevo.
En este ejemplo, se supone que el bloque a en la imagen B6 ha de ser decodificado y el bloque b en la imagen B7 se situa conjuntamente con el bloque a. El bloque b se ha codificado mediante prediccion de referencia hacia atras como es el caso del tercer ejemplo y el vector de movimiento hacia atras del bloque b es un vector de movimiento f, que se refiere a la imagen P9. En este caso, el vector de movimiento g que se obtiene utilizando el vector de movimiento f y se refiere a la imagen P9 se usa como un vector de movimiento hacia delante y el vector de movimiento h que se obtiene utilizando el vector de movimiento f y se refiere a la imagen B7 se usa como un vector de moviendo hacia atras. Por ejemplo, como metodo de utilizacion del vector de movimiento f, hay un metodo de generacion de vectores de movimiento paralelos al vector de movimiento f. Los datos de imagen de compensacion de movimiento se obtienen promediando los datos de imagen de referencia hacia delante y hacia atras obtenidos basados en estos vectores de movimiento g y h.
En este caso donde el vector de movimiento hacia delante g es MVF, el vector de movimiento hacia atras h es MVB, el vector de movimiento f es MV, la distancia temporal entre la imagen de referencia hacia atras B7 para la imagen actual B6 y la imagen P9 a la que se refiere el bloque b en la imagen de referencia hacia atras B7 es TRD y la distancia temporal entre la imagen actual B6 y la imagen de referencia P9 a la que se refiere el bloque b en la imagen de referencia hacia atras B7 es TRF respectivamente, el vector de movimiento g MVF y el vector de movimiento h MVB se calculan respectivamente por la Ecuacion 1 y la Ecuacion 2.
Ademas, el quinto ejemplo del caso donde se selecciona el modo directo como modo de codificacion se explicara con referencia a la Fig. 8A de nuevo. Aqrn, se supone que un bloque a en la imagen B6 ha de ser decodificado en modo directo. En este ejemplo, el vector de movimiento se fija a cero “0” y la compensacion de movimiento se realiza mediante referencia bipredictiva usando la imagen P5 como una imagen de referencia hacia delante y la imagen B7 como una imagen de referencia hacia atras.
A continuacion, el sexto ejemplo del caso donde se selecciona el modo directo como modo de codificacion se explicara con referencia la Fig. 8B de nuevo. Aqrn se supone que un bloque a en la imagen B6 ha de ser decodificado en modo directo. En este ejemplo, se utiliza el vector de movimiento g que se ha usado para decodificar el bloque f en la imagen P P9. La imagen P9 se situa despues de la imagen actual B6 y el bloque f se situa conjuntamente con el bloque a. El vector de movimiento g se almacena en la unidad de almacenamiento de vectores de movimiento 1406. El bloque a se bipredice a partir de la imagen de referencia hacia delante P5 y la imagen de referencia hacia atras B7 usando los vectores de movimiento que se obtienen utilizando el vector de movimiento g. Por ejemplo, si se usa un metodo de generacion de vectores de movimiento paralelos al vector de movimiento g, como es el caso del primer ejemplo antes mencionado, el vector de movimiento h y el vector de movimiento i se usan para la imagen P5 y la imagen B7 respectivamente para obtener los datos de imagen de compensacion de movimiento del bloque a.
En este caso donde el vector de movimiento hacia delante h es MVF, el vector de movimiento hacia atras i es MVB, vector de movimiento g es MV, la distancia temporal entre la imagen P9 situada despues de la imagen actual B6 y la imagen P5 a la que se refiere el bloque f en la imagen P9 es TRD, la distancia temporal entre la imagen actual B6 y la imagen de referencia hacia delante P5 es TRF y la distancia temporal entre la imagen actual B6 y la imagen de referencia hacia atras B7 es TRB respectivamente, el vector de movimiento h MVF y el vector de movimiento i MVB se calculan respectivamente por la Ecuacion 1 y la Ecuacion 5.
A continuacion, el septimo ejemplo del caso donde se selecciona el modo directo como modo de codificacion se explicara con referencia la Fig. 8c de nuevo. Aqrn, se supone que un bloque a en la imagen B6 se decodifica en modo directo. En este ejemplo, la asignacion de indices relativos a los numeros de imagen antes mencionados se
5
10
15
20
25
30
35
40
45
50
55
cambia (reasigna) y la imagen P9 es la imagen de referencia hacia atras. En este caso, se utiliza el vector de movimiento g que se ha usado para codificar el bloque f en la imagen P9. La imagen P9 es la imagen de referencia hacia atras para la imagen B6 y el bloque f se situa conjuntamente con el bloque a en la imagen B6. El vector de movimiento g se almacena en la unidad de almacenamiento de vectores de movimiento 1406. El bloque a se bipredice a partir de la imagen de referencia hacia delante P5 y la imagen de referencia hacia atras P9 usando vectores de movimiento generados utilizando el vector de movimiento g. Por ejemplo, si se usa un metodo de generacion de vectores de movimiento paralelos al vector de movimiento g, como es el caso del primer ejemplo antes mencionado, el vector de movimiento h y el vector de movimiento i se usan para la imagen P5 y la imagen P9 respectivamente para obtener los datos de imagen de compensacion de movimiento del bloque a.
En este caso, donde el vector de movimiento hacia delante h es MVF, el vector de movimiento hacia atras i es MVB, el vector de movimiento g es MV, la distancia temporal entre la imagen de referencia hacia atras P9 para la imagen actual B6 y la imagen P5 a la que se refiere el bloque f en la imagen P9 es TRD y la distancia temporal entre la imagen actual B6 y la imagen de referencia hacia delante P5 es TRF respectivamente, el vector de movimiento h MVF y el vector de movimiento i MVB se calculan respectivamente por la Ecuacion 1 y la Ecuacion 2.
Los datos de imagen de compensacion de movimiento generados como anteriormente se sacan a la unidad de adicion 1408. La unidad de adicion 1408 anade los datos de imagen de error residual introducidos y los datos de imagen de compensacion de movimiento para generar datos de imagen decodificados. Los datos de imagen decodificados generados se sacan a la memoria de cuadro 1407 a traves del conmutador 1410.
Esa es la terminacion de la decodificacion de un macrobloque en la imagen B6. Segun el mismo procesamiento, los restantes macrobloques en la imagen B6 se decodifican en secuencia. Y despues de que se decodifican todos los macrobloques en la imagen B6, se decodifica la imagen B8.
(Decodificacion de imagen B8)
Dado que las operaciones de la unidad de analisis de flujo de bits 1401, la unidad de decodificacion de modo 1403 y la unidad de decodificacion de error residual 1402 hasta la generacion de datos de imagen de error residual son las mismas que las de decodificacion de la imagen P9, se omitira la explicacion de las mismas.
La unidad de decodificacion de compensacion de movimiento 1405 genera datos de imagen de compensacion de movimiento basados en la informacion de vector de movimiento introducida y similares. La imagen B8 se ha codificado con referencia a la imagen B7 como una imagen de referencia hacia delante y la imagen P9 como una imagen de referencia hacia atras y estas imagenes B7 y P9 se han decodificado ya y almacenado en la memoria de cuadro 1407.
Si se selecciona codificacion de biprediccion entre imagenes como modo de codificacion, la unidad de decodificacion de compensacion de movimiento 1405 obtiene los datos de imagen de referencia hacia delante a partir de la memoria de cuadro 1407 basados en la informacion de vector de movimiento hacia delante. Tambien obtiene los datos de imagen de referencia hacia atras a partir de la memoria de cuadro 1407 basados en la informacion de vector de movimiento hacia atras. Entonces, la unidad de decodificacion de compensacion de movimiento 1405 promedia los datos de imagen de referencia hacia delante y hacia atras para generar datos de imagen de compensacion de movimiento.
Cuando se selecciona modo directo como modo de codificacion, la unidad de decodificacion de compensacion de movimiento 1405 obtiene el vector de movimiento de la imagen P9 almacenado en la unidad de almacenamiento de vectores de movimiento 1406. Usando este vector de movimiento, la unidad de decodificacion de compensacion de movimiento 1405 obtiene los datos de imagen de referencia hacia delante y hacia atras a partir de la memoria de cuadro 1407. Entonces, la unidad de decodificacion de compensacion de movimiento 1405 promedia los datos de imagen de referencia hacia delante y hacia atras para generar datos de imagen de compensacion de movimiento.
El caso donde se selecciona el modo directo como modo de codificacion se explicara con referencia la Fig. 8D de nuevo. Aqrn se supone que un bloque a en la imagen B8 ha de ser codificado y un bloque b en la imagen de referencia hacia atras P9 se situa conjuntamente con el bloque a. El vector de movimiento hacia delante del bloque b es el vector de movimiento c, que se refiere la imagen P5. En este caso, el vector de movimiento d que se genera utilizando el vector de movimiento c y se refiere la imagen B7 se usa como un vector de movimiento hacia delante y el vector de movimiento e que se genera utilizando el vector de movimiento c y se refiere la imagen P9 se usa como un vector de movimiento hacia atras. Por ejemplo, como metodo de utilizacion del vector de movimiento c, hay un metodo de generacion de vectores de movimiento paralelos al vector de movimiento c. Los datos de imagen de compensacion de movimiento se obtienen promediando los datos de imagen de referencia hacia delante y hacia atras basados en estos vectores de movimiento d y e.
En este caso donde el vector de moviendo hacia delante d es MVF, el vector de movimiento hacia atras e es MVB, el vector de movimiento c es MV, la distancia de temporal entre la imagen de referencia hacia atras P9 para la imagen actual B8 y la imagen P5 a la que se refiere el bloque b en la imagen de referencia hacia atras P9 es TRD, la distancia temporal entre la imagen actual B8 y la imagen de referencia hacia delante B7 es TRF y la distancia
5
10
15
20
25
30
35
40
45
50
55
temporal entre la imagen actual B8 y la imagen de referencia hacia atras P9 es TRB respectivamente, el vector de movimiento d MVF y el vector de movimiento e MVB se calculan respectivamente por la Ecuacion 1 y la Ecuacion 5.
Los datos de imagen de compensacion de movimiento generados de esta manera se sacan a la unidad de adicion 1408. La unidad de adicion 1408 anade los datos de imagen de error residual y los datos de imagen de compensacion de movimiento para generar datos de imagen decodificados. Los datos de imagen decodificados generados se sacan a la memoria de cuadro 1407 a traves del conmutador 1410.
Esa es la terminacion de la decodificacion de un macrobloque en la imagen B8. Segun el mismo procesamiento, los restantes macrobloques en la imagen B8 se codifican en secuencia. Las otras imagenes se decodifican dependiendo de sus tipos de imagen segun los procedimientos de decodificacion antes mencionados.
A continuacion, la unidad de control de memoria de cuadro 1404 reordena los datos de imagen de las imagenes almacenadas en la memoria de cuadro 1407 en orden de tiempo como se muestra en la Fig. 6A para sacar como imagenes de salida.
Como se describio anteriormente, segun el metodo de decodificacion de imagenes en movimiento de la presente invencion, una imagen B que se ha codificado mediante biprediccion entre imagenes se codifica usando imagenes decodificadas previamente que se situan cerca en orden de visualizacion como imagenes de referencia hacia delante y hacia atras.
Cuando se selecciona el modo directo como modo de codificacion, los datos de imagen de referencia se obtienen a partir de datos de imagen decodificados previamente para obtener datos de imagen de compensacion de movimiento, con referencia a un vector de movimiento de una imagen de referencia hacia atras decodificada previamente almacenada en la unidad de almacenamiento de vectores de movimiento de 1406.
Segun esta operacion, cuando una imagen B se ha codificado mediante biprediccion entre imagenes usando imagenes que se situan cerca en orden de visualizacion como imagenes de referencia hacia delante y hacia atras, el flujo de bits generado como resultado de tal codificacion se puede decodificar adecuadamente.
En la presente realizacion, se han explicado siete ejemplos del modo directo. No obstante, se puede usar un metodo, que se determina unicamente para cada macrobloque o bloque basado en el metodo de decodificacion de un bloque situado conjuntamente en una imagen de referencia hacia atras o una pluralidad de metodos diferentes se pueden usar para cada macrobloque o bloque conmutandolos. Cuando se usa una pluralidad de metodos, el macrobloque o el bloque se decodifica usando informacion descrita en un flujo de bits, indicando que tipo de modo directo se ha usado. Para ese proposito, la operacion de la unidad de decodificacion de compensacion de movimiento 1405 depende de la informacion. Por ejemplo, cuando esta informacion se anade para cada bloque de compensacion de movimiento, la unidad de decodificacion de modo 1403 determina que tipo de modo directo se usa para codificar y lo entrega a la unidad de decodificacion de compensacion de movimiento 1405. La unidad de decodificacion de compensacion de movimiento 1405 realiza procesamiento de decodificacion usando el metodo de decodificacion como se explica en la presente realizacion dependiendo del tipo entregado de modo directo.
Tambien, en la presente realizacion, se ha explicado la estructura de imagen donde tres imagenes B se situan entre imagenes I e imagenes P, pero se puede situar cualquier otro numero, cuatro o cinco, por ejemplo, de imagenes B.
Ademas, en la presente realizacion, la explicacion se ha hecho bajo la suposicion de que una imagen P se codifica con referencia a una imagen I o P codificada previamente que se situa antes o despues de la imagen P actual en orden de visualizacion, una imagen B se codifica con referencia a dos imagenes colindantes codificadas previamente que se situan antes o despues de la imagen B actual en orden de visualizacion y se decodifica el flujo de bits generado como resultado que esta codificacion. No obstante, en el caso de una imagen P, la imagen P se puede codificar con referencia a lo sumo a una imagen para cada bloque de entre una pluralidad de imagenes I o P codificadas previamente que se situan temporalmente antes o despues en orden de visualizacion que las imagenes de referencia candidatas y en el caso de una imagen B, la imagen B se puede codificar con referencia a lo sumo a dos imagenes para cada bloque de entre una pluralidad de imagenes colindantes codificadas previamente que se situan temporalmente antes o despues en orden de visualizacion como imagenes de referencia candidatas.
Ademas, cuando se almacenan vectores de movimiento en la unidad de almacenamiento de vectores de movimiento 1406, la unidad de decodificacion de compensacion de movimiento 1405 puede almacenar tanto vectores de movimiento hacia delante como hacia atras o almacenar solamente el vector de movimiento hacia delante, si se codifica un bloque actual mediante referencia bipredictiva o en modo directo. Si solamente se almacena el vector de movimiento hacia delante, se puede reducir el volumen de memoria de la unidad de almacenamiento de vectores de movimiento 1406.
(Tercera realizacion)
Si un programa para realizar las estructuras del metodo de codificacion de imagenes en movimiento o el metodo de decodificacion de imagenes en movimiento como se muestra en las realizaciones anteriores se graba en un medio
5
10
15
20
25
30
35
40
45
50
55
de memoria tal como un disco flexible, se hace posible realizar el procesamiento como se muestra en estas realizaciones facilmente en un sistema informatico independiente.
La Fig. 17 es una ilustracion que muestra el caso donde el procesamiento se realiza en un sistema informatico usando un disco flexible que almacena el metodo de codificacion de imagenes en movimiento o el metodo de decodificacion de imagenes en movimiento de las realizaciones anteriores.
La Fig. 17B muestra una vista frontal y una vista de seccion transversal de una apariencia de un disco flexible y el disco flexible en sf mismo y la Fig. 17A muestra un ejemplo de un formato ffsico de un disco flexible como un cuerpo de medio de grabacion. El disco flexible FD esta contenido en una envolvente F y una pluralidad de pistas Tr estan formadas concentricamente en la superficie del disco en la direccion radial desde la periferia y cada pista se divide en 16 sectores Se en la direccion angular. Por lo tanto, en cuanto al disco flexible que almacena el programa antes mencionado, el metodo de codificacion de imagenes en movimiento como el programa se graba en un area asignada para ello en el disco flexible FD.
La Fig. 17C muestra la estructura para grabar y reproducir el programa en y desde el disco flexible FD. Cuando el programa se graba en el disco flexible FD, el metodo de codificacion de imagenes en movimiento o el metodo de decodificacion de imagenes en movimiento como un programa se escribe en el disco flexible desde el sistema informatico Cs a traves de una unidad de disco flexible. Cuando el metodo de codificacion de imagenes en movimiento se construye en el sistema informatico por el programa en el disco flexible, el programa se lee desde la unidad de disco flexible y se transfiere al sistema informatico.
La explicacion anterior se hace bajo la suposicion de que un medio de grabacion es un disco flexible, pero el mismo procesamiento tambien se puede realizar usando un disco optico. Ademas, el medio de grabacion no esta limitado un disco flexible y un disco optico, sino que se puede usar cualquier otro medio tal como una tarjeta IC y un casete ROM capaz de grabar un programa.
A continuacion esta la explicacion de las aplicaciones del metodo de codificacion de imagenes en movimiento y el metodo de decodificacion de imagenes en movimiento que se muestra en las realizaciones anteriores y el sistema que las usa.
La Fig. 18 es un diagrama de bloques que muestra la configuracion general de un sistema de suministro de contenidos ex100 para realizar un servicio de distribucion de contenidos. El area para proporcionar un servicio de comunicacion se divide en celdas del tamano deseado y las estaciones base ex107~ex110 que son estaciones inalambricas fijas se colocan en las celdas respectivas.
En este sistema de suministro de contenidos ex100, dispositivos tales como el ordenador ex111, un PDA (asistente digital personal) ex112, una camara ex113, un telefono movil ex114 y un telefono movil equipado con camara ex115 estan conectados a Internet ex101 a traves de un proveedor de servicios de Internet ex102, una red telefonica ex104 y estaciones base ex107~ex110.
No obstante, el sistema de suministro de contenidos ex100 no esta limitado a la configuracion que se muestra en la Fig. 18 y se puede conectar una combinacion de cualquiera de ellos. Tambien, cada dispositivo se puede conectar directamente a la red telefonica ex104, no a traves de las estaciones base ex107~ex110.
La camara ex113 es un dispositivo tal como una camara de video digital capaz de filmar imagenes en movimiento. El telefono movil puede ser un telefono movil de un sistema de PDC (Comunicaciones Digitales Personales), un sistema de CDMa (Acceso Multiple por Division de Codigo), sistema de W-CDMA (Acceso Multiple por Division de Codigo de Banda Ancha) o un sistema de GSM (Sistema Global para Comunicaciones Moviles), un PHS (sistema de Telefono Portatil Personal) o similares.
Un servidor de difusion en forma continua ex103 esta conectado a la camara ex113 a traves de la estacion base ex109 y la red telefonica ex104, que permite distribucion en directo o similar usando la camara ex113 basada en los datos codificados transmitidos desde un usuario. O bien la camara ex113 o bien el servidor para transmitir los datos puede codificar los datos. Tambien, los datos de imagen en movimiento filmados por una camara ex116 se pueden transmitir al servidor de difusion en forma continua ex103 a traves del ordenador ex111. La camara ex116 es un dispositivo tal como una camara digital capaz de filmar imagenes fijas y en movimiento. O bien la camara ex116 o bien el ordenador ex111 puede codificar los datos de imagen en movimiento. Un LSI ex117 incluido en el ordenador ex111 o la camara ex116 realiza realmente el procesamiento de codificacion. El software para codificar y decodificar imagenes en movimiento se puede integrar en cualquier tipo de medio de almacenamiento (tal como un CD-ROM, un disco flexible y un disco duro) que es un medio de grabacion que es legible por el ordenador ex111 o similar. Ademas, un telefono movil equipado con camara ex115 puede transmitir los datos de imagen en movimiento. Estos datos de imagen en movimiento son los datos codificados por el LSI incluido en el telefono movil ex115.
El sistema de suministro de contenidos ex100 codifica contenidos (tales como un video de musica en directo) filmados por usuarios que usan la camara ex113, la camara ex116 o similares de la misma manera que la realizacion anterior y los transmite al servidor de difusion en forma continua ex103, mientras que el servidor de difusion en forma continua ex103 hace distribucion de flujo de los datos de contenidos a los clientes a su peticion.
5
10
15
20
25
30
35
40
45
50
55
Los clientes incluyen el ordenador ex111, el PDA ex112, la camara ex113, el telefono movil ex114, etcetera capaces de decodificar los datos codificados antes mencionados. En el sistema de suministro de contenidos ex100, los clientes de esta manera pueden recibir y reproducir los datos codificados y ademas pueden recibir, decodificar y reproducir los datos en tiempo real para realizar difusion personal.
Cuando cada dispositivo en este sistema realiza codificacion o decodificacion, se puede usar el aparato de codificacion de imagenes en movimiento o el aparato de decodificacion de imagenes en movimiento, que se muestra en la realizacion antes mencionada.
Un telefono movil se explicara como ejemplo del dispositivo.
La Fig. 19 es un diagrama que muestra el telefono movil ex115 que usa el metodo de codificacion de imagenes en movimiento y el metodo de decodificacion de imagenes en movimiento explicados en la realizaciones anteriores. El telefono movil ex115 tiene una antena ex201 para enviar y recibir ondas de radio a y desde la estacion base ex110, una unidad de camara ex203 tal como una camara CCD capaz de filmar video y imagenes fijas, una unidad de visualizacion ex202 tal como un visualizador de cristal lfquido para visualizar los datos obtenidos decodificando video y similares filmados por la unidad de camara ex203 y recibidos por la antena ex201, una unidad de cuerpo que incluye un conjunto de teclas de operacion ex204, una unidad de salida de voz ex208 tal como un altavoz para sacar voces, una unidad de entrada de voz ex205 tal como un microfono para introducir voces, un medio de almacenamiento ex207 para almacenar datos codificados o decodificados tales como datos de imagenes en movimiento o fijas filmadas por la camara, datos de texto y datos de imagenes en movimiento o fijas de correos electronicos recibidos y una unidad de ranura ex206 para unir el medio de almacenamiento ex207 al telefono movil ex115. El medio de almacenamiento ex207 incluye un elemento de memoria instantanea, un tipo de EEPROM (Memoria de Solo Lectura Borrable y Programable Electricamente) que es una memoria no volatil borrable y reescribible electricamente, en una envoltura plastica tal como una tarjeta SD.
El telefono movil ex115 se explicara ademas con referencia la Fig. 20. En el telefono movil ex115, una unidad de control principal ex311 para el control general de la unidad de visualizacion ex202 y la unidad de cuerpo que incluye las teclas de operacion ex204 estan conectadas a una unidad de circuito de fuente de alimentacion ex310, una unidad de control de entrada de operacion ex304, una unidad codificacion de imagenes ex312, una unidad de interfaz de camara ex303, una unidad de control de LCD (Visualizador de Cristal Lfquido) ex302, una unidad de decodificacion de imagenes ex309, una unidad de multiplexar/demultiplexar ex308, una unidad de grabar/reproducir ex307, una unidad de circuito de modem ex306 y una unidad de procesamiento de voz ex305 entre sf a traves de un canal principal smcrono ex313.
Cuando una tecla de fin de llamada o una tecla de potencia se ENCIENDE por una operacion del usuario, la unidad de circuito de fuente de alimentacion ex310 suministra a las unidades respectivas con potencia desde un paquete de batenas para activar el telefono movil digital equipado con camara ex115 para ponerlo en un estado preparado.
En el telefono movil ex115, la unidad de procesamiento de voz ex305 convierte las senales de voz recibidas por la unidad de entrada de voz ex205 en un modo de conversacion en datos de voz digitales bajo el control de la unidad de control principal ex311 incluyendo una CPU, ROM y RAM, la unidad de circuito de modem ex306 realiza procesamiento de espectro expandido de los datos de voz digitales y la unidad de circuito enviar/recibir ex301 realiza conversion digital a analogica y transformacion de frecuencia de los datos, para transmitirlos a traves de la antena ex201. Tambien, en el telefono movil ex115, despues de que los datos recibidos por la antena ex201 en modo de conversacion se amplifican y realizan de transformacion de frecuencia y conversion analogico a digital, la unidad de circuito de modem ex306 realiza el procesamiento de espectro expandido inverso de los datos y la unidad de procesamiento de voz ex305 los convierte en datos de voz analogicos, para sacarlos a traves de la unidad de salida de voz ex208.
Ademas, cuando se transmite un correo electronico en el modo de comunicacion de datos, los datos de texto del correo electronico introducidos operando las teclas de operacion ex204 en la unidad del cuerpo se envfan a la unidad de control principal ex311 a traves de la unidad de control de entrada de operacion ex304. En la unidad de control principal ex311, despues de que la unidad de circuito de modem ex306 realiza procesamiento de espectro expandido de los datos de texto y la unidad de circuito enviar/recibir ex301 realiza conversion digital a analogica y transformacion de frecuencia para ellos, los datos se transmiten a la estacion base ex110 a traves de la antena ex201.
Cuando los datos de imagen se transmiten en modo de comunicacion de datos, los datos de imagen filmados por la unidad de camara ex203 se suministran la unidad de codificacion de imagenes ex312 a traves de la unidad de interfaz de camara ex303. Cuando no se transmiten, tambien es posible visualizar los datos de imagen filmados por la unidad de camara ex203 directamente en la unidad de visualizacion 202 a traves de la unidad de interfaz de camara ex303 y la unidad de control de LCD ex302.
La unidad de codificacion de imagenes ex312, que incluye el aparato de codificacion de imagenes en movimiento que se explica en la presente invencion, comprime y codifica los datos de imagen suministrados desde la unidad de camara ex203 por el metodo de codificacion usado para el aparato de codificacion de imagenes en movimiento que
5
10
15
20
25
30
35
40
45
50
55
se muestra en la realizacion anterior para transformarlos en datos de imagen codificados y enviarlos a la unidad de multiplexar/demultiplexar ex308. En este momento, el telefono movil ex115 envfa las voces recibidas por la unidad de entrada de voz ex205 durante la filmacion por la unidad de camara ex203 a la unidad de multiplexar/demultiplexar ex308 como datos de voz digitales a traves de la unidad de procesamiento de voz ex305.
La unidad de multiplexar/demultiplexar ex308 multiplexa los datos de imagen codificados suministrados desde la unidad de codificacion de imagenes ex312 y los datos de voz suministrados desde la unidad de procesamiento de voz ex305 por un metodo predeterminado, la unidad de circuito de modem ex306 realiza procesamiento de espectro expandido de los datos multiplexados obtenidos como resultado de la multiplexacion y la unidad de circuito enviar/recibir ex301 realiza conversion digital a analogica y transformacion de frecuencia de los datos para transmitir a traves de la antena ex201.
En cuanto a los datos de recepcion de un fichero de imagenes en movimiento que esta vinculado a una pagina Web o similar en modo de comunicacion de datos, la unidad de circuito de modem ex306 realiza un procesamiento de espectro expandido inverso de los datos recibidos desde la estacion base ex110 a traves de la antena ex201 y envfa los datos multiplexados obtenidos como resultado del procesamiento a la unidad de multiplexar/demultiplexar ex308.
A fin de decodificar los datos multiplexados recibidos a traves de la antena ex201, la unidad de multiplexar/demultiplexar ex308 separa los datos multiplexados en un flujo de bits de datos de imagen y un flujo de bits de datos de voz y suministra los datos de imagen codificados a la unidad de decodificacion de imagenes ex309 y los datos de voz a la unidad de procesamiento de voz ex305 respectivamente a traves del canal principal smcrono ex313.
A continuacion, la unidad de decodificacion de imagenes ex309, que incluye el aparato de decodificacion de imagenes en movimiento que se explica en la presente invencion, decodifica el flujo de bits de datos de imagen mediante el metodo de decodificacion que corresponde al metodo de codificacion que se muestra en la realizacion antes mencionada para generar datos de imagenes en movimiento reproducidos y suministra estos datos a la unidad de visualizacion ex202 a traves de la unidad de control LCD ex302 y de esta manera se visualizan datos de imagen en movimiento incluidos en un fichero de imagenes en movimiento vinculado a una pagina Web, por ejemplo. En el mismo momento, la unidad de procesamiento de voz ex305 convierte los datos de voz en datos de voz analogicos y suministra estos datos a la unidad de salida de voz ex208 y de esta manera se reproducen los datos de voz incluidos en un fichero de imagenes en movimiento vinculado a una pagina Web, por ejemplo.
La presente invencion no esta limitada al sistema antes mencionado y al menos o bien el aparato de codificacion de imagenes en movimiento o bien el aparato de decodificacion de imagenes en movimiento en la realizacion antes mencionada se pueden incorporar en un sistema difusion digital como se muestra la Fig. 21. Tal difusion digital basada en tierra o por satelite ha estado en las noticias ultimamente. Mas espedficamente, un flujo de bits de informacion de video se transmite desde una estacion de difusion ex409 a o comunica con un satelite de difusion ex410 a traves de ondas radio. Tras la recepcion de el, el satelite de difusion ex410 transmite ondas de radio para difusion, una antena de uso domestico ex406 con una funcion de recepcion de difusion por satelite recibe las ondas radio y un televisor (receptor) ex401 o un receptor multimedia digital (STB) ex407 decodifica el flujo de bits para su reproduccion. El aparato de decodificacion de imagenes en movimiento que se muestra en la realizacion antes mencionada se puede implementar en el dispositivo de reproduccion ex403 para lectura y decodificacion del flujo de bits grabado en un medio de almacenamiento ex402 que es un medio de grabacion tal como un CD y DVD. En este caso, las senales de video reproducidas se visualizan en un monitor ex404. Tambien se concibe implementar el aparato de decodificacion de imagenes en movimiento en el receptor multimedia digital ex407 conectado a un cable ex405 para una television por cable o la antena ex406 para difusion por satelite y/o basada en tierra para reproducirlas en un monitor ex408 de la television ex401. El aparato de decodificacion de imagenes en movimiento se puede incorporar en la television, no en el receptor multimedia digital. O, un coche ex412 que tiene una antena ex411 puede recibir senales desde el satelite ex410 o la estacion base ex107 para reproducir imagenes en movimiento en un dispositivo de visualizacion tal como un sistema de navegacion de coche ex413.
Ademas, el aparato de codificacion de imagenes en movimiento que se muestra en la realizacion antes mencionada puede codificar senales de imagenes para grabar en un medio de grabacion. Como ejemplo concreto, hay un grabador ex420 tal como un grabador de DVD para grabar senales de imagenes en un disco DVD ex421 y un grabador de disco para grabarlas en un disco duro. Se pueden grabar en una tarjeta SD ex422. Si el grabador ex420 incluye el aparato de decodificacion de imagenes en movimiento que se muestra en la realizacion antes mencionada, las senales de imagenes en el disco DVD ex421 o la tarjeta SD ex422 se pueden reproducir para visualizacion en el monitor ex408.
Como la estructura del sistema de navegacion de coche ex413, son concebibles la estructura sin la unidad de camara ex203, la unidad de interfaz de camara ex303 y la unidad de codificacion de imagenes ex312, de entre las unidades mostradas en la Fig. 20. Lo mismo sucede para el ordenador ex111, la television (receptor) ex401 y otros.
Ademas, se pueden concebir tres tipos de implementaciones para un terminal tales como el telefono movil antes mencionado ex114 anteriormente mencionado; un terminal de envfo/recepcion que incluye tanto un codificador como
5
10
15
20
25
30
35
40
45
50
un decodificador, un terminal de envfo que incluye un codificador solamente y un terminal de recepcion que incluye un decodificador solamente.
Como se describio anteriormente, es posible usar el metodo de codificacion de imagenes en movimiento o el metodo de decodificacion de imagenes en movimiento en las realizaciones antes mencionadas en cualquiera del aparato y sistema antes mencionado y, usando este metodo, se pueden obtener los efectos descritos en las realizaciones anteriores.
Como se describio anteriormente, segun el metodo de codificacion de imagenes en movimiento de la presente invencion, se pueden codificar imagenes B usando imagenes que son cercanas temporalmente en orden de visualizacion como imagenes de referencia. Por consiguiente, se mejora la eficiencia de prediccion para compensacion de movimiento y de esta manera se mejora la eficiencia de codificacion.
En modo directo, escalando un primer vector de movimiento de una segunda imagen de referencia, no hay necesidad de transmitir informacion de vector de movimiento y esta manera se puede mejorar la eficiencia de prediccion.
Del mismo modo, en modo directo, escalando un primer vector de movimiento sustancialmente usado para la codificacion de modo directo de la segunda imagen de referencia, no hay necesidad de transmitir informacion de vector de movimiento y se puede mejorar la eficiencia de prediccion incluso si un bloque situado conjuntamente en la segunda imagen de referencia se codifica en modo directo.
Tambien, en modo directo, escalando un segundo vector de movimiento que se ha usado para codificar un bloque situado conjuntamente en una segunda imagen de referencia, no hay necesidad de transmitir informacion de vector de movimiento y se puede mejorar la eficiencia de prediccion incluso si el bloque situado conjuntamente en la segunda imagen de referencia tiene solamente un segundo vector de movimiento.
Ademas, en modo directo, fijando de manera forzada un vector de movimiento en modo directo a ser “0”, cuando se selecciona el modo directo, no hay necesidad de transmitir informacion de vector de movimiento ni escalar el vector de movimiento y esta manera se puede reducir el volumen de procesamiento.
Tambien, en modo directo, escalando un vector de movimiento de una imagen P posterior, no hay necesidad de almacenar un vector de movimiento de una segunda imagen de referencia cuando la segunda imagen de referencia es una imagen B. Y, no hay necesidad de transmitir la informacion de vector de movimiento y se puede mejorar la eficiencia de prediccion.
Ademas, en modo directo, dado que se escala un primer vector de movimiento si una segunda imagen de referencia tiene el primer vector de movimiento y un segundo vector de movimiento se escala si la segunda imagen de referencia no tiene el primer vector de movimiento sino solamente el segundo vector de movimiento, no hay necesidad de anadir informacion de vector de movimiento a un flujo de bits y se puede mejorar la eficiencia de prediccion.
Ademas, segun el metodo de decodificacion de imagenes en movimiento de la presente invencion, se puede decodificar adecuadamente un flujo de bits, que se genera como resultado de codificacion de biprediccion entre imagenes usando imagenes que se situan cercanas temporalmente en orden de visualizacion como la primera y segunda imagenes de referencia.
Aplicabilidad industrial
Como se describio anteriormente, el metodo de codificacion de imagenes en movimiento y el metodo de decodificacion de imagenes en movimiento segun la presente invencion son utiles como un metodo para codificar datos de imagen que corresponden a imagenes que forman una imagen en movimiento para generar un flujo de bits y un metodo para decodificar el flujo de bits generado, usando un telefono movil, un aparato DVD y un ordenador personal, por ejemplo.
Sigue una lista de realizaciones adicionales de la invencion:
Realizacion 1 Un metodo de codificacion de imagenes en movimiento para codificar datos de imagen que
corresponden a imagenes que forman una imagen en movimiento y generar un flujo de bits, el metodo de codificacion de imagenes en movimiento que comprende:
un paso de codificacion para codificar una imagen actual como una de una imagen I, una imagen P y una imagen B, la imagen I que tiene solamente bloques que se codifican intraimagen, la imagen P que tiene un bloque que se codifica con prediccion entre imagenes con una referencia unipredictiva usando una imagen codificada previamente como una primera imagen de referencia y la imagen B que tiene un bloque que se codifica con prediccion entre imagenes con referencia bipredictiva usando imagenes codificadas previamente como una primera imagen de referencia y una segunda imagen de referencia,
5
10
15
20
25
30
35
40
45
50
en donde el paso de codificacion incluye un paso de control para determinar el orden de codificacion que es diferente del orden de visualizacion para imagenes B consecutivas situadas entre imagenes I e imagenes P.
Realizacion 2 El metodo de codificacion de imagenes en movimiento con los rasgos de la realizacion 1,
en donde el paso de codificacion ademas incluye un paso de seleccion para seleccionar una imagen de referencia mas cercana temporalmente a la imagen B en el orden de visualizacion como al menos una de la primera imagen de referencia y la segunda imagen de referencia, para codificar la imagen B.
Realizacion 3 El metodo de codificacion de imagenes en movimiento con los rasgos de la reivindicacion 1,
en donde en el paso de control, el orden de codificacion para las imagenes B se determina de manera que se codifica con prioridad la imagen cuya distancia temporal desde la imagen codificada previamente es la mas alejada en el orden de visualizacion.
Realizacion 4 El metodo de codificacion de imagenes en movimiento con los rasgos de la reivindicacion de la realizacion 1,
en donde en el paso de control, el orden de codificacion de las imagenes B se determina de manera que se codifica por prioridad la imagen B cuya distancia temporal desde la imagen codificada previamente es la mas cercana en el orden de visualizacion.
Realizacion 5 El metodo de codificacion de imagenes en movimiento con los rasgos de la realizacion 3 o la realizacion 4,
en donde la distancia temporal es una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 6 Un metodo de codificacion de imagenes en movimiento para codificar datos de imagen que corresponden a imagenes que forman una imagen en movimiento y generar un flujo de bits, el metodo de codificacion de imagenes en movimiento que comprende:
un paso de codificacion para codificar una imagen actual como una imagen B que tiene un bloque que se codifica con prediccion entre imagenes con referencia bipredictiva usando imagenes codificadas previamente como una primera imagen de referencia y una segunda imagen de referencia,
en donde en el paso de codificacion, cuando un bloque A actual en una imagen B actual se codifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores el movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque codificado previamente,
los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual se obtienen escalando un primer vector de movimiento, basado en una primera imagen de referencia, de un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 7 Un metodo de codificacion de imagenes en movimiento para codificar datos de imagen que corresponden a imagenes que forman una imagen en movimiento y generar un flujo de bits, el metodo de codificacion de imagenes en movimiento que comprende:
un paso de codificacion para codificar una imagen actual como una imagen B que tiene un bloque que se codifica con prediccion entre imagenes con referencia bipredictiva usando imagenes codificadas previamente como una primera imagen de referencia y una segunda imagen de referencia,
en donde en el paso de codificacion, cuando un bloque A actual en una imagen B actual se codifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque codificado previamente,
los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual se obtienen escalando un segundo vector de movimiento, basado en una segunda imagen de referencia, de un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 8 Un metodo de codificacion de imagenes en movimiento para codificar datos de imagen que corresponden a imagenes que forman una imagen en movimiento y generar un flujo de bits, el metodo de codificacion de imagenes en movimiento que comprende:
un paso de codificacion para codificar una imagen actual como una imagen B que tiene un bloque que se codifica con prediccion entre imagenes con referencia bipredictiva usando imagenes codificadas previamente como una primera imagen de referencia y una segunda imagen de referencia,
5
10
15
20
25
30
35
40
45
50
en donde en el paso de codificacion, cuando un bloque A actual en una imagen B actual se codifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque codificado previamente,
si un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual se codifica previamente en el modo directo, los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual se obtienen escalando un primer vector de movimiento, basado en una primera imagen de referencia del bloque B, usado sustancialmente para codificar el bloque B en la segunda imagen de referencia, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 9 Un metodo de codificacion de imagenes en movimiento para codificar datos de imagen que corresponden a imagenes que forman una imagen en movimiento y generar un flujo de bits, el metodo de codificacion de imagenes en movimiento que comprende:
un paso de codificacion para codificar una imagen actual como una de una imagen P y una imagen B, la imagen P que tiene un bloque que se codifica con prediccion entre imagenes con referencia unipredictiva usando una imagen codificada previamente como una primera imagen de referencia y la imagen B que tiene un bloque que se codifica con prediccion entre imagenes con referencia bipredictiva usando imagenes codificadas previamente como una primera imagen de referencia y una segunda imagen de referencia,
en donde en el paso de codificacion, cuando un bloque A actual en una imagen B actual se codifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque codificado previamente,
los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual se obtienen escalando un primer vector de movimiento, basado en una primera imagen de referencia, de un bloque B situado conjuntamente en una imagen P posterior temporalmente, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 10 Un metodo de codificacion de imagenes en movimiento para codificar datos de imagen que corresponden a imagenes que forman una imagen en movimiento y generar un flujo de bits, el metodo de codificacion de imagenes en movimiento que comprende:
un paso de codificacion para codificar una imagen actual como una imagen B que tiene un bloque que se codifica con prediccion entre imagenes con referencia bipredictiva usando imagenes codificadas previamente como una primera imagen de referencia y una segunda imagen de referencia,
en donde en el paso de codificacion, cuando un bloque A actual en una imagen B actual se codifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector en movimiento de un bloque codificado previamente,
la compensacion de movimiento se realiza usando los vectores de movimiento obtenidos escalando un vector de movimiento seleccionado de entre los vectores de movimiento del bloque codificado previamente, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes e informacion que indica el vector de movimiento seleccionado se anade al flujo de bits.
Realizacion 11 Un metodo de codificacion de imagenes en movimiento para codificar datos de imagen que corresponden a imagenes que forman una imagen en movimiento y generar un flujo de bits, el metodo de codificacion de imagenes en movimiento que comprende:
un paso de codificacion para codificar una imagen actual como una imagen B que tiene un bloque que se codifica con prediccion entre imagenes mediante referencia bipredictiva usando imagenes codificadas previamente como una primera imagen de referencia y una segunda imagen de referencia,
en donde en el paso de codificacion, cuando un bloque A actual en una imagen B actual se codifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque codificado previamente,
los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual se obtienen escalando un primer vector de movimiento si un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual se codifica usando al menos el primer vector de movimiento basado en la primera imagen de referencia del bloque B y escalando un segundo vector de movimiento si el bloque B se codifica usando solamente el segundo vector de movimiento basado en una segunda imagen de referencia del bloque B, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 12 El metodo de codificacion de imagenes en movimiento con los rasgos de una de la realizacion 6 SIMILAR a la realizacion 11,
5
10
15
20
25
30
35
40
45
50
en donde en el paso de codificacion, cuando el bloque A actual se codifica por la prediccion entre imagenes con referencia bipredictiva o en el modo directo, solamente se almacena el primer vector de movimiento basado en la primera imagen de referencia.
Realizacion 13 El metodo de codificacion de imagenes en movimiento con los rasgos de una de la realizacion 1 SIMILAR a la realizacion 12,
en donde la primera imagen de referencia se identifica por un primer mdice relativo para identificar una imagen de referencia y la segunda imagen de referencia se identifica por un segundo mdice relativo para identificar una imagen de referencia.
Realizacion 14 Un metodo de decodificacion de imagenes en movimiento para decodificar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento, el metodo de decodificacion de imagenes en movimiento que comprende:
un paso de decodificacion para decodificar una imagen actual mediante prediccion entre imagenes usando una imagen decodificada previamente como una imagen de referencia,
en donde en el paso de decodificacion, cuando se decodifica la imagen actual mediante la prediccion entre imagenes con referencia bipredictiva usando las imagenes decodificadas previamente como una primera imagen de referencia y una segunda imagen de referencia, se decodifica un flujo de bits que incluye al menos una imagen que es la mas cercana temporalmente a la imagen actual en el orden de visualizacion, como la primera imagen de referencia o la segunda imagen de referencia.
Realizacion 15 Un metodo de decodificacion de imagenes en movimiento para decodificar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento, el metodo de decodificacion de imagenes en movimiento que comprende:
un paso de decodificacion para decodificar una imagen actual mediante prediccion entre imagenes usando una imagen decodificada previamente como una imagen de referencia,
en donde en el paso de decodificacion, cuando la imagen actual es una imagen que tiene un bloque que se codifica mediante prediccion entre imagenes con referencia bipredictiva usando imagenes decodificadas previamente como una primera imagen de referencia y una segunda imagen de referencia y un bloque A actual se decodifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque decodificado previamente,
los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual se obtienen escalando un primer vector de movimiento, basado en una primera imagen de referencia, de un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 16 Un metodo de decodificacion de imagenes en movimiento para decodificar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento, el metodo de decodificacion de imagenes en movimiento que comprende:
un paso de decodificacion para decodificar una imagen actual mediante prediccion entre imagenes usando una imagen decodificada previamente como una imagen de referencia,
en donde en el paso de decodificacion, cuando una imagen actual es una imagen que tiene un bloque que se decodifica mediante prediccion entre imagenes con referencia bipredictiva usando imagenes decodificadas previamente como una primera imagen de referencia y una segunda imagen de referencia y un bloque A actual se decodifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque decodificado previamente,
los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual se obtienen escalando un segundo vector de movimiento, basado en una segunda imagen de referencia, de un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 17 Un metodo de decodificacion de imagenes en movimiento para decodificar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento, el metodo de decodificacion de imagenes en movimiento que comprende:
un paso de decodificacion para decodificar una imagen actual mediante prediccion entre imagenes usando una imagen decodificada previamente como una imagen de referencia,
5
10
15
20
25
30
35
40
45
50
en donde en el paso de decodificacion, cuando una imagen actual es una imagen que tiene un bloque que se decodifica mediante prediccion entre imagenes con referencia bipredictiva usando imagenes decodificadas previamente como una primera imagen de referencia y una segunda imagen de referencia y un bloque A actual se decodifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque decodificado previamente,
si un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual se decodifica previamente en el modo directo, los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual se obtienen escalando un primer vector de movimiento, basado en una primera imagen de referencia del bloque B, usada sustancialmente para decodificar el bloque B en la segunda imagen de referencia, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 18 Un metodo de decodificacion de imagenes en movimiento para decodificar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento, el metodo de decodificacion de imagenes en movimiento que comprende:
un paso de decodificacion para decodificar una imagen actual mediante prediccion entre imagenes usando una imagen decodificada previamente como una imagen de referencia,
en donde en el paso de decodificacion, cuando una imagen actual es una imagen que tiene un bloque que se decodifica mediante prediccion entre imagenes con referencia bipredictiva usando imagenes decodificadas previamente como una primera imagen de referencia y una segunda imagen de referencia y un bloque A actual se decodifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque decodificado previamente,
los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual se obtienen escalando un primer vector de movimiento, basado en una primera imagen de referencia, de un bloque B situado conjuntamente en una imagen posterior temporalmente, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes, la imagen posterior que se decodifica con prediccion entre imagenes con referencia unipredictiva usando una imagen decodificada previamente como una primera imagen de referencia.
Realizacion 19 Un metodo de decodificacion de imagenes en movimiento para decodificar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento, el metodo de decodificacion de imagenes en movimiento que comprende:
un paso de decodificacion para decodificar una imagen actual mediante prediccion entre imagenes usando una imagen decodificada previamente como una imagen de referencia,
en donde en el paso de decodificacion, cuando una imagen actual es una imagen que tiene un bloque que se decodifica mediante prediccion entre imagenes con referencia bipredictiva usando imagenes decodificadas previamente como una primera imagen de referencia y una segunda imagen de referencia y un bloque A actual se decodifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque decodificado previamente,
los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual se obtienen escalando un vector de movimiento obtenido basado en informacion adquirida a partir del flujo de bits que indica que vector de movimiento ha de ser seleccionado de entre los vectores de movimiento del bloque decodificado previamente, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 20 Un metodo de decodificacion de imagenes en movimiento para decodificar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento, el metodo de decodificacion de imagenes en movimiento que comprende:
un paso de decodificacion para decodificar una imagen actual mediante prediccion entre imagenes usando una imagen decodificada previamente como una imagen de referencia,
en donde en el paso de decodificacion, cuando una imagen actual es una imagen que tiene un bloque que se decodifica mediante prediccion entre imagenes con referencia bipredictiva usando imagenes decodificadas previamente como una primera imagen de referencia y una segunda imagen de referencia y un bloque A actual se decodifica en un modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque decodificado previamente,
5
10
15
20
25
30
35
40
45
50
los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual se obtienen escalando un primer vector de movimiento si un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual se decodifica usando al menos el primer vector de movimiento basado en una primera imagen de referencia del bloque B y escalando un segundo vector de movimientos si el bloque B se decodifica usando solamente el segundo vector de movimiento basado en una segunda imagen de referencia del bloque B, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 21 El metodo de decodificacion de imagenes en movimiento con los rasgos de una de la realizacion 15 SIMILAR a la realizacion 20,
en donde en el paso de decodificacion, cuando el bloque A actual se decodifica mediante la prediccion entre imagenes con referencia bipredictiva o en el modo directo, solamente se almacena el primer vector de movimiento basado en la primera imagen de referencia.
Realizacion 22 El metodo de decodificacion de imagenes en movimiento con los rasgos de una de la realizacion 14 SIMILAR a la realizacion 21,
en donde la primera imagen de referencia se identifica mediante un primer mdice relativo para identificar una imagen de referencia y la segunda imagen de referencia se identifica mediante un segundo mdice relativo para identificar una imagen de referencia.
Realizacion 23 Un aparato de codificacion de imagenes en movimiento para codificar datos de imagen que corresponden a imagenes que forman una imagen en movimiento y generar un flujo de bits, el aparato de codificacion de imagenes en movimiento que comprende:
una unidad de codificacion operable para codificar una imagen actual como una de una imagen I, una imagen P y una imagen B, la imagen I que tiene solamente bloques que se codifican intraimagen, la imagen P que tiene un bloque que se codifica con prediccion entre imagenes con referencia unipredictiva usando una imagen codificada previamente como una primera imagen de referencia y la imagen B que tiene un bloque que se codifica con prediccion entre imagenes con referencia bipredictiva usando imagenes codificadas previamente como una primera imagen de referencia y una segunda imagen de referencia,
en donde la unidad de codificacion incluye una unidad de control operable para determinar el orden de codificacion que es diferente del orden de visualizacion para imagenes B consecutivas situadas entre imagenes I e imagenes P.
Realizacion 24 Un aparato de codificacion de imagenes en movimiento para codificar datos de imagen que corresponden a imagenes que forman una imagen en movimiento y generar un flujo de bits, el aparato de codificacion de imagenes en movimiento que comprende:
una unidad de codificacion operable para codificar una imagen actual como una imagen B que tiene un bloque que se codifica con prediccion entre imagenes con referencia bipredictiva usando imagenes codificadas previamente como una primera imagen de referencia y una segunda imagen de referencia,
en donde cuando un bloque A actual en una imagen B actual se codifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque codificado previamente,
la unidad de codificacion obtiene los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual escalando un primer vector de movimiento, basado en una primera imagen de referencia, de un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 25 Un aparato de codificacion de imagenes en movimiento para codificar datos de imagen que corresponden a imagenes que forman una imagen en movimiento y generar un flujo de bits, el aparato de codificacion de imagenes en movimiento que comprende:
una unidad de codificacion operable para codificar una imagen actual como una imagen B que tiene un bloque que se codifica con prediccion entre imagenes con referencia bipredictiva usando imagenes codificadas previamente como una primera imagen de referencia y una segunda imagen de referencia,
en donde cuando un bloque A actual en una imagen B actual se codifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque codificado previamente,
la unidad de codificacion obtiene los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual escalando un segundo vector de movimiento, basado en una segunda imagen de referencia, de un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
5
10
15
20
25
30
35
40
45
50
Realizacion 26 Un aparato de codificacion de imagenes en movimiento para codificar datos de imagen que corresponden a imagenes que forman una imagen en movimiento y generar un flujo de bits, el aparato de codificacion de imagenes en movimiento que comprende:
una unidad de codificacion operable para codificar una imagen actual como una imagen B que tiene un bloque que se codifica con prediccion entre imagenes con referencia bipredictiva usando imagenes codificadas previamente como una primera imagen de referencia y una segunda imagen de referencia,
en donde cuando un bloque A actual en una imagen B actual se codifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque codificado previamente,
si un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual se codifica previamente en el modo directo, la unidad de codificacion obtiene los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual escalando un primer vector de movimiento, basado en una primera imagen de referencia del bloque B, usado sustancialmente para codificar el bloque B en la segunda imagen de referencia, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 27 Un aparato de codificacion de imagenes en movimiento para codificar datos de imagen que corresponden a imagenes que forman una imagen en movimiento y generar un flujo de bits, el aparato de codificacion de imagenes en movimiento que comprende:
una unidad de codificacion operable para codificar una imagen actual como una de una imagen P y una imagen B, la imagen P que tiene un bloque que se codifica con prediccion entre imagenes con referencia unipredictiva usando una imagen codificada previamente como una primera imagen de referencia y la imagen B que tiene un bloque que se codifica como un prediccion entre imagenes con referencia bipredictiva usando imagenes codificadas previamente como una primera imagen de referencia y una segunda imagen de referencia,
en donde cuando un bloque A actual en una imagen B actual se codifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque codificado previamente,
la unidad de codificacion obtiene los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual escalando un primer vector de movimiento, basado en una primera imagen de referencia, de un bloque B situado conjuntamente en una imagen P posterior temporalmente, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 28 Un aparato de codificacion de imagenes en movimiento para codificar datos de imagen que corresponden a imagenes que forman una imagen en movimiento y generar un flujo de bits, el aparato de codificacion de imagenes en movimiento que comprende:
una unidad de codificacion operable para codificar una imagen actual como una imagen B que tiene un bloque que se codifica con prediccion entre imagenes con referencia bipredictiva usando imagenes codificadas previamente como una primera imagen de referencia y una segunda imagen de referencia,
en donde cuando un bloque A actual en una imagen B actual se codifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque codificado previamente,
la unidad de codificacion realiza la compensacion de movimiento usando los vectores de movimiento obtenidos escalando un vector de movimiento seleccionado de entre los vectores de movimiento del bloque codificado previamente, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes y anade informacion que indica el vector de movimiento seleccionado al flujo de bits.
Realizacion 29 Un aparato de decodificacion de imagenes en movimiento para decodificar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento, el aparato de decodificacion de imagenes en movimiento que comprende:
una unidad de decodificacion operable para decodificar una imagen actual mediante prediccion entre imagenes usando una imagen decodificada previamente como una imagen de referencia,
en donde cuando la imagen actual se decodifica mediante la prediccion entre imagenes con referencia bipredictiva usando las imagenes decodificadas previamente como una primera imagen de referencia y una segunda imagen de referencia, la unidad de decodificacion decodifica un flujo de bits que incluyen al menos una imagen que es la mas cercana temporalmente a la imagen actual en el orden de visualizacion, como la primera imagen de referencia o la segunda imagen de referencia.
5
10
15
20
25
30
35
40
45
50
Realizacion 30 Un aparato de decodificacion de imagenes en movimiento para decodificar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento, el aparato de decodificacion de imagenes en movimiento que comprende:
una unidad de decodificacion operable para decodificar una imagen actual mediante prediccion entre imagenes usando una imagen decodificada previamente como una imagen de referencia,
en donde cuando la imagen actual es una imagen que tiene un bloque que se decodifica mediante prediccion entre imagenes con referencia bipredictiva usando imagenes decodificadas previamente como una primera imagen de referencia y una segunda imagen de referencia y un bloque A actual se decodifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque decodificado previamente,
la unidad de decodificacion obtiene los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual escalando un primer vector de movimiento, basado en una primera imagen de referencia, de un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 31 Un aparato de decodificacion de imagenes en movimiento para decodificar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento, el metodo de decodificacion de imagenes en movimiento que comprende:
una unidad de decodificacion operable para decodificar una imagen actual mediante prediccion entre imagenes usando una imagen decodificada previamente como una imagen de referencia,
en donde cuando una imagen actual es una imagen que tiene un bloque que se decodifica mediante prediccion entre imagenes con referencia bipredictiva usando imagenes decodificadas previamente como una primera imagen de referencia y una segunda imagen de referencia y un bloque A actual se decodifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque decodificado previamente,
la unidad de decodificacion obtiene los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual escalando un segundo vector de movimiento, basado en una segunda imagen de referencia, de un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 32 Un aparato de decodificacion de imagenes en movimiento para decodificar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento, el aparato de decodificacion de imagenes en movimiento que comprende:
una unidad de decodificacion operable para decodificar una imagen actual mediante prediccion entre imagenes usando una imagen decodificada previamente como una imagen de referencia,
en donde cuando una imagen actual es una imagen que tiene un bloque que se decodifica mediante prediccion entre imagenes con referencia bipredictiva usando imagenes decodificadas previamente como una primera imagen de referencia y una segunda imagen de referencia y un bloque A actual se decodifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque decodificado previamente,
si un bloque B situado conjuntamente en la segunda imagen de referencia del bloque A actual se decodifica previamente en el modo directo, la unidad de decodificacion obtiene los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual escalando un primer vector de movimiento, basado en una primera imagen de referencia del bloque B, usado sustancialmente para decodificar el bloque B en la segunda imagen de referencia, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 33 Un aparato de decodificacion de imagenes en movimiento para decodificar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento, el aparato de decodificacion de imagenes en movimiento que comprende:
una unidad de decodificacion operable para decodificar una imagen actual mediante prediccion entre imagenes usando una imagen decodificada previamente como una imagen de referencia,
en donde cuando una imagen actual es una imagen que tiene un bloque que se decodifica mediante prediccion entre imagenes con referencia bipredictiva usando imagenes decodificadas previamente como una primera imagen de referencia y una segunda imagen de referencia y un bloque A actual se decodifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque decodificado previamente,
5
10
15
20
25
la unidad de decodificacion obtiene los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual escalando un primer vector de movimiento, basado en una primera imagen de referencia, de un bloque B situado conjuntamente en una imagen posterior temporalmente, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes, la imagen posterior que se decodifica con prediccion entre imagenes con referencia unipredictiva usando una imagen decodificada previamente como una primera imagen de referencia.
Realizacion 34 Un aparato de decodificacion de imagenes en movimiento para decodificar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento, el aparato de decodificacion de imagenes en movimiento que comprende:
una unidad de decodificacion operable para decodificar una imagen actual mediante prediccion entre imagenes usando una imagen decodificada previamente como una imagen de referencia,
en donde cuando una imagen actual es una imagen que tiene un bloque que se decodifica mediante prediccion entre imagenes con referencia bipredictiva usando imagenes decodificadas previamente como una primera imagen de referencia y una segunda imagen de referencia y un bloque A actual se decodifica en modo directo por el cual la compensacion de movimiento del bloque A actual se realiza usando vectores de movimiento del bloque A actual obtenidos a partir de un vector de movimiento de un bloque decodificado previamente,
la unidad de decodificacion obtiene los vectores de movimiento para realizar la compensacion de movimiento del bloque A actual escalando un vector de movimiento obtenido basado en informacion adquirida a partir del flujo de bits que indica que el vector de movimiento ha de ser seleccionado de entre los vectores de movimiento del bloque decodificado previamente, usando una diferencia especificada mediante informacion que indica el orden de visualizacion de las imagenes.
Realizacion 35 Un medio de grabacion para almacenar un flujo de bits que se genera codificando datos de imagen que corresponden a imagenes que forman una imagen en movimiento,
en donde el flujo de bits se codifica mediante el metodo de codificacion de imagenes en movimiento con los rasgos de una de la realizacion 1 SIMILAR a la realizacion 13.

Claims (6)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. Un metodo de codificacion para codificar una imagen, dicho metodo de codificacion que comprende:
    un paso de codificacion para determinar un primer vector de movimiento y un segundo vector de movimiento para un bloque actual a ser codificado, basado en un vector de movimiento de un bloque situado conjuntamente que es un bloque incluido dentro de una imagen codificada previamente y situada conjuntamente con el bloque actual y para codificar el bloque actual realizando compensacion de movimiento sobre el bloque actual en modo directo usando el primer vector de movimiento y el segundo vector de movimiento para el bloque actual y una primera y una segunda imagen de referencia que corresponden al primer vector de movimiento y al segundo vector de movimiento para el bloque actual,
    caracterizado por que el paso de codificacion incluye:
    en el caso donde el bloque situado conjuntamente esta en la segunda imagen de referencia y se ha codificado usando dos vectores de movimiento y dos imagenes de referencia que corresponden respectivamente a los dos vectores de movimiento,
    generar el primer vector de movimiento y el segundo vector de movimiento a ser usados para codificar el bloque actual realizando compensacion de movimiento sobre el bloque actual en modo directo, mediante escalado, usando una diferencia entre informacion que indica el orden de visualizacion de las imagenes, uno de los dos vectores de movimiento usados para codificar el bloque situado conjuntamente; y
    codificar el bloque actual realizando compensacion de movimiento sobre el bloque actual en modo directo usando el primer y segundo vectores de movimiento generados para el bloque actual y la primera y segunda imagenes de referencia que corresponden al primer y segundo vectores de movimiento generados.
  2. 2. El metodo de codificacion segun la reivindicacion 1, en donde
    la segunda imagen de referencia para el bloque actual es la imagen codificada previamente incluyendo el bloque situado conjuntamente y
    la primera imagen de referencia es una de las dos imagenes de referencia usadas para codificar el bloque situado conjuntamente y corresponde al vector de movimiento escalado para generar el primer vector de movimiento y el segundo vector de movimiento para el bloque actual.
  3. 3. El metodo de codificacion segun la reivindicacion 1,
    en donde en el caso donde el bloque situado conjuntamente se ha codificado en modo directo, el primer vector de movimiento y el segundo vector de movimiento para el bloque actual se generan usando uno de los dos vectores de movimiento usado para codificar el bloque situado conjuntamente en modo directo.
  4. 4. El metodo de codificacion segun la reivindicacion 2,
    en donde la informacion que indica el orden de visualizacion de imagenes es:
    la primera informacion que indica una posicion en el orden de visualizacion de la imagen que incluye el bloque actual; la segunda informacion que indica una posicion en el orden de visualizacion de la primera imagen de referencia para el bloque actual; y una tercera informacion que indica una posicion en el orden de visualizacion de la segunda imagen de referencia para el bloque actual que es tambien la imagen que incluye el bloque situado conjuntamente y
    las diferencias entre la informacion son una diferencia entre la primera informacion y la segunda informacion, una diferencia entre la primera informacion y la tercera informacion y una diferencia entre la segunda informacion y la tercera informacion.
  5. 5. Un aparato de codificacion que codifica una imagen, dicho aparato de codificacion que comprende:
    una unidad de codificacion operable para determinar un primer vector de movimiento y un segundo vector de movimiento para un bloque actual a ser codificado, basado en un vector de movimiento de un bloque situado conjuntamente que es un bloque incluido dentro de una imagen codificada previamente y situada conjuntamente con el bloque actual y para codificar el bloque actual realizando compensacion de movimiento sobre el bloque actual en modo directo usando el primer vector de movimiento y el segundo vector de movimiento para el bloque actual y una primera y una segunda imagen de referencia que corresponden al primer vector de movimiento y al segundo vector de movimiento para el bloque actual,
    caracterizado por que
    en el caso donde el bloque situado conjuntamente esta en la segunda imagen de referencia y se ha codificado usando dos vectores de movimiento y dos imagenes de referencia que corresponden respectivamente a los dos vectores de movimiento,
    dicha unidad de codificacion es operable para generar el primer vector de movimiento y el segundo vector de 5 movimiento a ser usados para codificar el bloque actual realizando compensacion de movimiento sobre el bloque actual en modo directo, mediante escalado, usando una diferencia entre informacion que indica el orden de visualizacion de las imagenes, uno de los dos vectores de movimiento usados para codificar el bloque situado conjuntamente; y
    codificar el bloque actual realizando compensacion de movimiento sobre el bloque actual en modo directo usando el 10 primer y segundo vectores de movimiento generados para el bloque actual y la primera y segunda imagenes de referencia que corresponden al primer y segundo vectores de movimiento generados.
  6. 6. Un medio de almacenamiento de datos en el cual se almacena un programa para codificar una imagen, dicho programa que hace a un ordenador ejecutar la codificacion mediante el metodo de codificacion segun una cualquiera de las reivindicaciones 1 a 4.
    15
ES10182783.0T 2002-03-04 2003-02-26 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento Expired - Lifetime ES2588179T3 (es)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2002056919 2002-03-04
JP2002056919 2002-03-04
JP2002118598 2002-04-19
JP2002118598 2002-04-19
JP2002193027 2002-07-02
JP2002193027 2002-07-02

Publications (1)

Publication Number Publication Date
ES2588179T3 true ES2588179T3 (es) 2016-10-31

Family

ID=27792038

Family Applications (9)

Application Number Title Priority Date Filing Date
ES17177672T Expired - Lifetime ES2723725T3 (es) 2002-03-04 2003-02-26 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES03707082.8T Expired - Lifetime ES2489490T3 (es) 2002-03-04 2003-02-26 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES10182783.0T Expired - Lifetime ES2588179T3 (es) 2002-03-04 2003-02-26 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES16156344.0T Expired - Lifetime ES2644448T3 (es) 2002-03-04 2003-02-26 Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento
ES17177671T Expired - Lifetime ES2719216T3 (es) 2002-03-04 2003-02-26 Procedimiento de codificación de imágenes en movimiento y procedimiento de descodificación de imágenes en movimiento
ES10182775.6T Expired - Lifetime ES2491094T3 (es) 2002-03-04 2003-02-26 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES10182789.7T Expired - Lifetime ES2491095T3 (es) 2002-03-04 2003-02-26 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES18211538T Expired - Lifetime ES2829621T3 (es) 2002-03-04 2003-02-26 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES16156358.0T Expired - Lifetime ES2644048T3 (es) 2002-03-04 2003-02-26 Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES17177672T Expired - Lifetime ES2723725T3 (es) 2002-03-04 2003-02-26 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES03707082.8T Expired - Lifetime ES2489490T3 (es) 2002-03-04 2003-02-26 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento

Family Applications After (6)

Application Number Title Priority Date Filing Date
ES16156344.0T Expired - Lifetime ES2644448T3 (es) 2002-03-04 2003-02-26 Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento
ES17177671T Expired - Lifetime ES2719216T3 (es) 2002-03-04 2003-02-26 Procedimiento de codificación de imágenes en movimiento y procedimiento de descodificación de imágenes en movimiento
ES10182775.6T Expired - Lifetime ES2491094T3 (es) 2002-03-04 2003-02-26 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES10182789.7T Expired - Lifetime ES2491095T3 (es) 2002-03-04 2003-02-26 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES18211538T Expired - Lifetime ES2829621T3 (es) 2002-03-04 2003-02-26 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES16156358.0T Expired - Lifetime ES2644048T3 (es) 2002-03-04 2003-02-26 Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento

Country Status (18)

Country Link
US (5) US7664180B2 (es)
EP (9) EP3051814B1 (es)
JP (1) JP2004088722A (es)
KR (2) KR100923380B1 (es)
CN (1) CN100474933C (es)
AU (1) AU2003211717C1 (es)
BR (2) BR0303342A (es)
CA (3) CA2762075C (es)
CY (3) CY1115427T1 (es)
DK (6) DK3051814T3 (es)
ES (9) ES2723725T3 (es)
HU (6) HUE024411T2 (es)
MX (1) MXPA03007628A (es)
MY (1) MY139955A (es)
PT (6) PT1406450E (es)
SI (3) SI1406450T1 (es)
TW (2) TWI324889B (es)
WO (1) WO2003075580A1 (es)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2721514T3 (es) * 2001-11-06 2019-08-01 Panasonic Ip Corp America Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento
KR100508798B1 (ko) 2002-04-09 2005-08-19 엘지전자 주식회사 쌍방향 예측 블록 예측 방법
ES2745044T3 (es) 2002-04-19 2020-02-27 Panasonic Ip Corp America Método de cálculo de vectores de movimiento
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
US20060013305A1 (en) * 2004-07-14 2006-01-19 Sharp Laboratories Of America, Inc. Temporal scalable coding using AVC coding tools
KR100584603B1 (ko) 2004-08-03 2006-05-30 학교법인 대양학원 다시점 영상의 다이렉트 모드 움직임 예측 방법 및 장치
FR2874292B1 (fr) * 2004-08-10 2007-01-26 Thales Sa Procede de mise en forme de trames d'une sequence video
CN101980540B (zh) 2004-11-26 2012-04-25 松下电器产业株式会社 解码电路、解码装置及解码系统
WO2006112139A1 (ja) * 2005-04-13 2006-10-26 Sharp Kabushiki Kaisha 動画像再生装置
JP4702943B2 (ja) * 2005-10-19 2011-06-15 キヤノン株式会社 画像処理装置及びその方法
US8270492B2 (en) 2006-05-12 2012-09-18 Panasonic Corporation Moving picture decoding device
JP4712643B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
JP2008177907A (ja) * 2007-01-19 2008-07-31 Fujitsu Ltd 動画データ復号装置、情報機器、動画データ復号方法および動画データ復号プログラム
JP5100311B2 (ja) * 2007-10-29 2012-12-19 キヤノン株式会社 動画像データ送信方法、通信装置、及びプログラム
JP5332773B2 (ja) 2009-03-18 2013-11-06 ソニー株式会社 画像処理装置および方法
WO2010131422A1 (ja) * 2009-05-13 2010-11-18 パナソニック株式会社 画像復号装置、集積回路、画像復号方法及び画像復号システム
KR20110068792A (ko) 2009-12-16 2011-06-22 한국전자통신연구원 적응적 영상 부호화 장치 및 방법
US9036692B2 (en) * 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
JP2013517733A (ja) * 2010-01-19 2013-05-16 サムスン エレクトロニクス カンパニー リミテッド 以前ブロックの動きベクトルを現在ブロックの動きベクトルとして用いる映像符号化/復号化方法及び装置
CN102835111B (zh) 2010-01-19 2015-08-12 三星电子株式会社 使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备
KR20120009861A (ko) * 2010-07-22 2012-02-02 에스케이 텔레콤주식회사 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
KR102013093B1 (ko) * 2010-09-30 2019-08-21 미쓰비시덴키 가부시키가이샤 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체
WO2012070235A1 (ja) 2010-11-24 2012-05-31 パナソニック株式会社 動きベクトル算出方法、画像符号化方法、画像復号方法、動きベクトル算出装置および画像符号化復号装置
US9083981B2 (en) 2011-01-12 2015-07-14 Panasonic Intellectual Property Corporation Of America Moving picture coding method and moving picture decoding method using a determination whether or not a reference block has two reference motion vectors that refer forward in display order with respect to a current picture
WO2012102045A1 (ja) 2011-01-28 2012-08-02 パナソニック株式会社 画像符号化方法および画像復号化方法
WO2012114694A1 (ja) * 2011-02-22 2012-08-30 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
JP5358746B2 (ja) * 2011-03-03 2013-12-04 パナソニック株式会社 動画像符号化方法、動画像符号化装置及びプログラム
BR112013023478B8 (pt) 2011-04-12 2022-09-13 Panassonic Corp Método de codificação de imagem em movimento, aparelho de codificação de imagem em movimento, método de decodificação de imagem em movimento, aparelho de decodificação de imagem em movimento e aparelho de codificação e decodificação de imagem em movimento
JP5869564B2 (ja) 2011-05-24 2016-02-24 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
CA2834123C (en) 2011-05-27 2020-02-11 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US8989271B2 (en) 2011-05-31 2015-03-24 Panasonic Intellectual Property Corporation Of America Decoding method and apparatus with candidate motion vectors
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
JP5807402B2 (ja) * 2011-06-15 2015-11-10 富士通株式会社 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
JP5786478B2 (ja) * 2011-06-15 2015-09-30 富士通株式会社 動画像復号装置、動画像復号方法、及び動画像復号プログラム
RU2602672C2 (ru) 2011-06-23 2016-11-20 Сан Пэтент Траст Способ декодирования изображения, способ кодирования изображения, устройство декодирования изображения, устройство кодирования изображения и устройство кодирования и декодирования изображения
USRE47366E1 (en) 2011-06-23 2019-04-23 Sun Patent Trust Image decoding method and apparatus based on a signal type of the control parameter of the current block
WO2012176464A1 (ja) 2011-06-24 2012-12-27 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
RU2603552C2 (ru) * 2011-06-24 2016-11-27 Сан Пэтент Траст Способ декодирования изображения, способ кодирования изображения, устройство декодирования изображения, устройство кодирования изображения и устройство кодирования и декодирования изображения
MX2013013483A (es) 2011-06-27 2014-02-27 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
MX2013012980A (es) 2011-06-28 2013-12-06 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodififcacion de imagenes.
TWI552583B (zh) 2011-06-28 2016-10-01 三星電子股份有限公司 用於畫面內預測編碼的方法及裝置以及用於畫面內預測解碼的方法及裝置
WO2013001767A1 (ja) 2011-06-29 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
WO2013001748A1 (ja) * 2011-06-29 2013-01-03 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置
AU2012277219A1 (en) 2011-06-30 2013-09-19 Sun Patent Trust Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
CN103535039B (zh) 2011-06-30 2018-08-28 太阳专利托管公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置以及图像编解码装置
CN102256124B (zh) * 2011-06-30 2013-05-15 杭州海康威视数字技术股份有限公司 一种图像分层编码方法和装置
WO2013001770A1 (ja) 2011-06-30 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
CN103765885B (zh) 2011-07-11 2017-04-12 太阳专利托管公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编解码装置
WO2013009104A2 (ko) 2011-07-12 2013-01-17 한국전자통신연구원 인터 예측 방법 및 그 장치
CN103718558B (zh) 2011-08-03 2017-04-19 太阳专利托管公司 运动图像编码方法及装置、解码方法及装置和编解码装置
JP6308495B2 (ja) 2011-10-19 2018-04-11 サン パテント トラスト 画像復号方法、および、画像復号装置
US20130177084A1 (en) * 2012-01-10 2013-07-11 Qualcomm Incorporated Motion vector scaling in video coding
US10390041B2 (en) * 2012-03-30 2019-08-20 Sun Patent Trust Predictive image coding and decoding using two reference pictures
US9819965B2 (en) 2012-11-13 2017-11-14 Intel Corporation Content adaptive transform coding for next generation video
US9442904B2 (en) 2012-12-21 2016-09-13 Vmware, Inc. Systems and methods for applying a residual error image
EP2951999A4 (en) 2013-01-30 2016-07-20 Intel Corp CONTENT PARAMETRIC TRANSFORMATIONS FOR CODING VIDEOS OF THE NEXT GENERATION
JP6156489B2 (ja) * 2013-04-23 2017-07-05 富士通株式会社 画像符号化装置、画像符号化方法、及び撮像装置
KR101789954B1 (ko) * 2013-12-27 2017-10-25 인텔 코포레이션 차세대 비디오 코딩을 위한 콘텐츠 적응적 이득 보상된 예측
US10587880B2 (en) 2017-03-30 2020-03-10 Qualcomm Incorporated Zero block detection using adaptive rate model

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0420088A (ja) * 1990-05-14 1992-01-23 Victor Co Of Japan Ltd フレーム間符号化装置
JP3031638B2 (ja) 1991-01-30 2000-04-10 富士通株式会社 蓄積用動画像符号化方式における補間フレームのベクトル探索方法
JPH05137131A (ja) 1991-11-13 1993-06-01 Sony Corp フレーム間動き予測方法
JPH0662391A (ja) * 1992-08-10 1994-03-04 Nippon Telegr & Teleph Corp <Ntt> 動画像予測符号化方法
US5329365A (en) 1993-07-07 1994-07-12 Rca Thomson Licensing Corporation Method and apparatus for providing compressed non-interlaced scanned video signal
JP3513277B2 (ja) 1995-08-29 2004-03-31 シャープ株式会社 映像符号化装置及び映像復号化装置
US5809173A (en) 1995-04-18 1998-09-15 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression using previous frame DCT coefficients
US5724446A (en) 1995-04-18 1998-03-03 Advanced Micro Devices, Inc. Video decoder apparatus using non-reference frame as an additional prediction source and method therefor
EP1274254B1 (en) 1995-08-29 2011-07-06 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
JP2001224036A (ja) 1995-10-18 2001-08-17 Sharp Corp 動画像符号化装置
JP3344577B2 (ja) 1996-09-09 2002-11-11 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録方法
JP3263807B2 (ja) 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
JPH10126787A (ja) 1996-10-14 1998-05-15 Nec Eng Ltd Pピクチャの予測ベクトルをオフセットベクトルとした双方向予測ベクトル検出回路
US5991447A (en) * 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
JP3776735B2 (ja) 1997-04-09 2006-05-17 松下電器産業株式会社 画像予測復号化方法,画像予測復号化装置,画像予測符号化方法,画像予測符号化装置,及びデータ記憶媒体
US6370276B2 (en) 1997-04-09 2002-04-09 Matsushita Electric Industrial Co., Ltd. Image predictive decoding method, image predictive decoding apparatus, image predictive coding method, image predictive coding apparatus, and data storage media
DE69841029D1 (de) 1997-06-25 2009-09-10 Nippon Telegraph & Telephone Bewegungsprädiktive Bildkodierungs- und Bilddekodierungsvorrichtung
JPH1169356A (ja) 1997-08-25 1999-03-09 Mitsubishi Electric Corp 動画像符号化方式及び動画像復号方式
US6249318B1 (en) 1997-09-12 2001-06-19 8×8, Inc. Video coding/decoding arrangement and method therefor
US6807231B1 (en) 1997-09-12 2004-10-19 8×8, Inc. Multi-hypothesis motion-compensated video image predictor
US6396874B1 (en) 1997-11-12 2002-05-28 Sony Corporation Decoding method and apparatus and recording method and apparatus for moving picture data
JP3523481B2 (ja) 1998-02-23 2004-04-26 シャープ株式会社 映像符号化装置及び映像復号化装置並びに映像符号化方法及び映像復号化方法
JP3329768B2 (ja) 1999-07-05 2002-09-30 日本電信電話株式会社 画像符号化データの再符号化方法およびそのプログラム記録媒体
JP2001045475A (ja) 1999-07-27 2001-02-16 Matsushita Electric Ind Co Ltd 映像信号階層化符号化装置と映像信号階層化復号化装置及びプログラム記録媒体
JP3757088B2 (ja) 1999-10-26 2006-03-22 日本電気株式会社 動画像符号化装置および方法
GB2362532B (en) 2000-05-15 2004-05-05 Nokia Mobile Phones Ltd Video coding
EP1168342A3 (en) 2000-06-26 2004-10-06 Matsushita Electric Industrial Co., Ltd. Editing apparatus for an optical disk, computer-readable storage medium, and computer program
JP4245790B2 (ja) 2000-08-29 2009-04-02 オリンパス株式会社 超音波処置具
AUPR208000A0 (en) * 2000-12-15 2001-01-11 80-20 Software Pty Limited Method of document searching
EP1399846B1 (en) * 2001-06-26 2013-02-13 Sealedmedia Limited Search engine and digital rights management
EP1421518A1 (en) * 2001-08-08 2004-05-26 Quiver, Inc. Document categorization engine
WO2003032122A2 (en) * 2001-10-09 2003-04-17 Steven Schiff System and method for conducting a financial transaction using a communication device
US6738980B2 (en) 2001-11-15 2004-05-18 Industrial Technology Research Institute Methods and systems for video streaming with VCR functionality
KR101033398B1 (ko) 2001-11-21 2011-05-09 제너럴 인스트루먼트 코포레이션 디지털 비디오 콘텐트를 위한 매크로블록 레벨 적응성프레임/필드 코딩
CN101715137B (zh) * 2001-11-21 2016-01-27 摩托罗拉移动有限责任公司 对具有多个图像的图像序列进行编码的方法及设备
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
JP5137131B2 (ja) 2008-08-08 2013-02-06 東芝キヤリア株式会社 給湯装置

Also Published As

Publication number Publication date
EP3253057B1 (en) 2019-01-30
TW200304753A (en) 2003-10-01
KR20080006629A (ko) 2008-01-16
KR20040091521A (ko) 2004-10-28
DK3051814T3 (da) 2017-11-13
HUE036491T2 (hu) 2018-07-30
JP2004088722A (ja) 2004-03-18
CA2443848C (en) 2012-09-25
ES2829621T3 (es) 2021-06-01
US20080063061A1 (en) 2008-03-13
TWI324889B (en) 2010-05-11
EP1406450B1 (en) 2014-05-28
EP2271108A3 (en) 2011-08-10
PT1406450E (pt) 2014-07-28
CA2762149C (en) 2014-09-30
US20080069231A1 (en) 2008-03-20
KR100923380B1 (ko) 2009-10-23
DK3054679T3 (da) 2017-11-06
PT3054679T (pt) 2017-09-28
TWI325281B (en) 2010-05-21
US7801219B2 (en) 2010-09-21
DK1406450T3 (da) 2014-07-14
ES2723725T3 (es) 2019-08-30
US7856060B2 (en) 2010-12-21
EP1406450A1 (en) 2004-04-07
HUE044024T2 (hu) 2019-09-30
MY139955A (en) 2009-11-30
EP3054679A1 (en) 2016-08-10
DK2271107T3 (da) 2014-08-25
CN100474933C (zh) 2009-04-01
EP2271107A2 (en) 2011-01-05
ES2719216T3 (es) 2019-07-09
AU2003211717A1 (en) 2003-09-16
CA2762149A1 (en) 2003-09-12
EP2271108B1 (en) 2016-05-25
EP3490254B1 (en) 2020-09-09
SI3051814T1 (sl) 2017-10-30
CY1115427T1 (el) 2017-01-04
EP3253056B1 (en) 2019-01-09
EP3490254A1 (en) 2019-05-29
DK2271108T3 (en) 2016-09-12
US20040086044A1 (en) 2004-05-06
CA2762075A1 (en) 2003-09-12
EP2271107A3 (en) 2011-08-10
SI2271107T1 (sl) 2014-09-30
US7664180B2 (en) 2010-02-16
HUE052192T2 (hu) 2021-04-28
CN1640148A (zh) 2005-07-13
US8718141B2 (en) 2014-05-06
CY1119479T1 (el) 2018-03-07
WO2003075580A1 (fr) 2003-09-12
EP2271108A2 (en) 2011-01-05
HUE024411T2 (en) 2016-01-28
AU2003211717C1 (en) 2009-04-23
PT2271109E (pt) 2014-07-28
BRPI0303342B1 (pt) 2019-07-02
US20080063060A1 (en) 2008-03-13
EP2271109A3 (en) 2011-08-10
ES2644448T3 (es) 2017-11-29
US7742526B2 (en) 2010-06-22
AU2003211717B2 (en) 2007-09-06
US20080069232A1 (en) 2008-03-20
EP1406450A4 (en) 2006-06-21
EP3054679B1 (en) 2017-07-19
PT2271108T (pt) 2016-08-17
EP3253056A1 (en) 2017-12-06
HUE042956T2 (hu) 2019-07-29
EP3051814A1 (en) 2016-08-03
MXPA03007628A (es) 2003-12-15
TW200635385A (en) 2006-10-01
EP2271109B1 (en) 2014-05-28
EP3253057A1 (en) 2017-12-06
CY1115440T1 (el) 2017-01-04
KR100948714B1 (ko) 2010-03-22
ES2491094T3 (es) 2014-09-05
DK2271109T3 (da) 2014-08-25
CA2762075C (en) 2014-04-08
EP2271107B1 (en) 2014-05-28
EP2271109A2 (en) 2011-01-05
CA2443848A1 (en) 2003-09-12
EP3051814B1 (en) 2017-07-26
ES2489490T3 (es) 2014-09-02
BR0303342A (pt) 2004-08-10
ES2491095T3 (es) 2014-09-05
ES2644048T3 (es) 2017-11-27
PT2271107E (pt) 2014-07-28
PT3051814T (pt) 2017-10-04
SI1406450T1 (sl) 2014-09-30
HUE024412T2 (en) 2016-01-28
AU2003211717B9 (en) 2008-03-13

Similar Documents

Publication Publication Date Title
ES2588179T3 (es) Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES2600786T3 (es) Procedimiento de decodificación de vectores de movimiento
ES2618481T3 (es) Cálculo del vector de movimiento en modo directo evitando divisiones por cero
ES2353957T3 (es) Procedimiento de codificación de vectores de movimiento y procedimiento de decodificación de vectores de movimiento.