ES2600786T3 - Procedimiento de decodificación de vectores de movimiento - Google Patents
Procedimiento de decodificación de vectores de movimiento Download PDFInfo
- Publication number
- ES2600786T3 ES2600786T3 ES10187151.5T ES10187151T ES2600786T3 ES 2600786 T3 ES2600786 T3 ES 2600786T3 ES 10187151 T ES10187151 T ES 10187151T ES 2600786 T3 ES2600786 T3 ES 2600786T3
- Authority
- ES
- Spain
- Prior art keywords
- motion vector
- block
- image
- motion
- current block
- 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
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 928
- 239000013598 vector Substances 0.000 title claims abstract description 856
- 238000000034 method Methods 0.000 title claims description 98
- 238000004448 titration Methods 0.000 claims description 5
- 238000011084 recovery Methods 0.000 claims 2
- 238000012545 processing Methods 0.000 abstract description 32
- 230000002441 reversible effect Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 230000009466 transformation Effects 0.000 description 9
- 230000008520 organization Effects 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 5
- 238000001228 spectrum Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000005206 flow analysis Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 102220526841 Basic salivary proline-rich protein 1_H26L_mutation Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/02—Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
- A61B5/021—Measuring pressure in heart or blood vessels
- A61B5/022—Measuring pressure in heart or blood vessels by applying pressure to close blood vessels, e.g. against the skin; Ophthalmodynamometers
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/02—Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
- A61B5/026—Measuring blood flow
- A61B5/0261—Measuring blood flow using optical means, e.g. infrared light
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7203—Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal
- A61B5/7207—Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal of noise induced by motion artifacts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/521—Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/533—Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Cardiology (AREA)
- Physics & Mathematics (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Physiology (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Vascular Medicine (AREA)
- Psychiatry (AREA)
- Hematology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Ophthalmology & Optometry (AREA)
- Artificial Intelligence (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Error Detection And Correction (AREA)
- Color Television Systems (AREA)
- Closed-Circuit Television Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Un procedimiento de decodificación de imágenes para decodificar una imagen en movimiento codificada, comprendiendo dicho procedimiento: especificar (S210, S400) tres bloques vecinos (B, C, D), estando situados los tres bloques en una vecindad del bloque actual y habiendo sido ya decodificados; valorar (S202, S402) si cada uno de los tres bloques vecinos ha sido decodificado usando un vector de movimiento de otro bloque, y valorar (S404) además si una imagen de referencia a la que se hace referencia en la decodificación del bloque actual es la misma que una imagen de referencia a la que se hace referencia en la decodificación de cada uno de los tres bloques vecinos; obtener (S206, S208, S414) un vector de movimiento predictivo del bloque actual como una mediana de los vectores de movimiento de los tres bloques vecinos cuando se valora, en dicha valoración (S404), que más de uno de los tres bloques vecinos se refiere a la misma imagen de referencia que el bloque actual; decodificar un vector de movimiento codificado del bloque actual para obtener un vector de movimiento diferencial decodificado del bloque actual; recuperar un vector de movimiento del bloque actual sumando (S210, S416) el vector de movimiento diferencial decodificado del bloque actual y el vector de movimiento predictivo; generar una imagen con compensación de movimiento usando el vector de movimiento recuperado del bloque actual y una imagen de referencia correspondiente al vector de movimiento recuperado del bloque actual; decodificar un error de predicción codificado del bloque actual para obtener un error de predicción decodificado del boque actual; y recuperar el bloque actual sumando el error de predicción decodificado y la imagen con compensación de movimiento, caracterizado por que en el caso en el que al menos uno de los tres bloques vecinos sea codificado en un modo de salto, en el que dicho un bloque vecino se codifica usando el vector de movimiento de dicho otro bloque, el vector de movimiento de dicho un bloque vecino se calcula a partir del vector de movimiento de dicho otro bloque; y el vector de movimiento predictivo del bloque actual se obtiene en dicha obtención usando el vector de movimiento de dicho un bloque vecino que se calcula a partir del vector de movimiento de dicho otro bloque.
Description
5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Procedimiento de decodificacion de vectores de movimiento Campo tecnico
La presente invencion se refiere a un procedimiento de codificacion de vectores de movimiento y un procedimiento de decodificacion de vectores de movimiento usando codificacion de prediccion entre imagenes.
Tecnica anterior
En la era multimedia que maneja de forma integral audio, video y otra informacion, los medios de informacion existentes, es decir, periodicos, revistas, televisiones, radios, telefonos y otros medios a traves de los cuales se transmite la informacion a las personas, se han incluido recientemente en el ambito multimedia. En general, multimedia se refiere a algo que se representa asociando no solo caracteres, sino tambien graficos, voz y especialmente imagenes y similares conjuntamente, pero con el fin de incluir los medios de informacion existentes mencionados anteriormente en el ambito multimedia, parece que un requisito previo es representar dicha informacion en forma digital.
Sin embargo, cuando se calcula la cantidad de informacion contenida en cada uno de los medios de informacion mencionados anteriormente en forma de cantidad de informacion digital, mientras que la cantidad de informacion por caracter es de 1~2 bytes, la cantidad de informacion que se requerira para voz es de 64 Kbits o mas por segundo (calidad telefonica), y 100 Mbits o mas por segundo para imagenes en movimiento (calidad actual de recepcion en television), y no es realista que los medios de informacion mencionados anteriormente manejen una cantidad de informacion tan enorme como esta en forma digital. Por ejemplo, aunque los videotelefonos estan ya en uso real por medio de la Red Digital de Servicios Integrados (RDSI) que ofrece una velocidad de transmision de 64 Kbps/s~1,5 Mbps/s, no es practico emitir tomas de video por camaras de television directamente a traves de RDSI.
Sobre este telon de fondo, han empezado a requerirse tecnicas de compresion de informacion, y se emplean tecnicas de compresion de imagenes en movimiento que cumplen con las normas H.261 y H.263 normalizadas internacionalmente por la ITU-T (Union Internacional de Telecomunicacion-Sector de Normalizacion de Telecomunicacion) para videotelefonos, por ejemplo (Vease, por ejemplo, Information technology - Coding of audiovisual objects - Part 2: video (ISO/IEC 14496-2), pag. 146-148, 1999.12.1). Por otra parte, segun tecnicas de compresion de informacion que cumplen con la norma MPEG-1, es posible almacenar informacion de imagenes en un CD (disco compacto) de musica corriente junto con informacion sonora.
Aqrn, MPEG (Moving Picture Experts Group) es una norma internacional sobre compresion de senales de imagenes en movimiento, y MPEG-1 es una norma para compresion de informacion de senales de television aproximadamente en una centesima parte de manera que las senales de imagenes en movimiento pueden emitirse a una velocidad de 1,5 Mbps. Ademas, como la velocidad de transmision dentro del ambito de la norma MPEG-1 esta limitada principalmente a 1,5 Mbps aproximadamente, MPEG-2, que fue normalizada con vistas a satisfacer los requisitos de una calidad de imagen mejorada, permite la transmision de datos de senales de imagenes en movimiento a una velocidad de 2~15 Mbps. Ademas, MPEG-4 que consigue una relacion de compresion superior que la de MPEG-1 y MPEG-2, permite la codificacion, decodificacion y operacion en una unidad objeto, y realiza un nuevo funcionamiento requerido para la era multimedia, ha sido normalizada por el grupo de trabajo (ISO/IEC JTC1/SC29/WG11) que se ha comprometido en la normalizacion de MPEG-1 y MPEG-2. MPEG-4 se dirigio inicialmente a la normalizacion de un procedimiento de codificacion para una velocidad binaria baja, pero ahora se ha extendido a la normalizacion de un procedimiento de codificacion mas versatil para imagenes en movimiento que incluye formas de imagenes entrelazadas y velocidades binarias superiores.
En la codificacion de imagenes en movimiento mencionada anteriormente, la cantidad de informacion se comprime aprovechando las redundancias en las direcciones espacial y temporal. Aqrn, se usa la codificacion de prediccion entre imagenes como un procedimiento de uso de las redundancias temporales. En la codificacion de prediccion entre imagenes, una imagen se codifica usando una imagen en sentido inverso o en sentido directo temporalmente como imagen de referencia. Se estima el movimiento (un vector de movimiento) de la imagen actual que se codificara a partir de la imagen de referencia, y se calcula la diferencia entre la imagen obtenida por la compensacion de movimiento y la imagen actual. A continuacion, se eliminan las redundancias espaciales de esta diferencia, con lo que se comprime la cantidad de informacion de la imagen en movimiento.
El documento “H.26L Test Model Long Term Number 6 (TML-6) draftO” (Sector de Normalizacion de Telecomunicaciones de ITU, Ginebra, Suiza, VCEG-L45d0.doc, 3 de marzo de 2001) es una descripcion de un procedimiento de codificacion de referencia que se usara para el desarrollo de una recomendacion-H.26L de ITU-T para un nuevo procedimiento de compresion. La configuracion basica del algoritmo es similar a H.263. Algunas de las diferencias con respecto a H.263 son:
- Solo se usa una VLC regular para la codificacion de sfmbolos.
- Se usan posiciones de 1/4 pixel para la prediccion de movimiento.
5
10
15
20
25
30
35
40
45
50
- Se usa una serie de diferentes tamanos de bloque para la prediccion de movimiento.
- La codificacion residual se basa en bloques 4 x 4 y se usa una transformada de numeros enteros.
- Pueden usarse multiples tramas de referencia para la prediccion y se considera que sustituyen cualquier uso de tramas B.
En un procedimiento de codificacion de imagenes en movimiento de acuerdo con MPEG-1, MPEG-2, MPEG-4, H.263, H.26L o similares, una imagen que no se codifica como prediccion entre imagenes, es decir, que se codifica intraimagen, se denomina imagen I. Aqrn, una imagen significa una unidad de codificacion unica que incluye tanto una trama como un campo. Ademas, una imagen que se codifica como prediccion entre imagenes con referencia a una imagen se denomina imagen P, y una imagen que se codifica como prediccion entre imagenes con referencia a las dos imagenes procesadas anteriormente se denomina imagen B.
La fig. 1 es un diagrama que muestra una relacion predictiva entre imagenes en el procedimiento de codificacion de imagenes en movimiento mencionado anteriormente.
En la fig. 1, una lmea vertical indica una imagen, con un tipo de imagen (I, P o B) indicado en el extremo inferior de la misma. Ademas, la fig. 1 indica que una imagen a la que apunta una flecha se codifica como prediccion entre imagenes usando una imagen situada en el otro extremo de la punta de flecha como imagen de referencia. Por ejemplo, una imagen B que es la segunda desde la izquierda se codifica usando la primera imagen I y la cuarta imagen P como imagenes de referencia.
En el procedimiento de codificacion de imagenes en movimiento de acuerdo con MPEG-4, H.26L o similar, puede seleccionarse un modo de codificacion denominado modo directo para codificar una imagen B.
Se explicara un procedimiento de codificacion de prediccion entre imagenes en modo directo con referencia a la fig. 2.
La fig. 2 es una ilustracion para explicar el procedimiento de codificacion de prediccion entre imagenes en modo directo.
Se supone ahora que un bloque C en una imagen B3 se codifica en modo directo. En este caso, un vector de movimiento MVp de un bloque X en una imagen de referencia (una imagen P4 que es una imagen de referencia en sentido inverso, en este caso) que ha sido codificada inmediatamente antes de que se aproveche la imagen B3, en el que el bloque X esta situado junto al bloque C. El vector de movimiento MVp es un vector de movimiento que se uso cuando se codifico el bloque X, y se refiere a una imagen P1. El bloque C se predice bidireccionalmente a partir de las imagenes de referencia, es decir, la imagen P1 y la imagen P4, usando vectores de movimiento paralelos al vector de movimiento MVp. Los vectores de movimiento usados para codificar el bloque C son, en este caso, un vector de movimiento MVFc para la imagen P1 y un vector de movimiento MVBc para la imagen P4.
En el procedimiento de codificacion de imagenes en movimiento de acuerdo con MPEG-4, H.26L o similar, se codifica una diferencia entre un valor predictivo obtenido de vectores de movimiento de bloques vecinos y un vector de movimiento de un bloque actual que se codificara para codificar el vector de movimiento. En la siguiente descripcion, un "valor predictivo" indica un valor predictivo de un vector de movimiento. Como los vectores de movimiento de bloques vecinos tienen direccion y movimiento similares en muchos casos, la cantidad de codificacion del vector de movimiento puede reducirse codificando la diferencia entre el valor predictivo obtenido y los vectores de movimiento de los bloques vecinos.
Aqrn, se explicara un procedimiento de codificacion de vectores de movimiento en MPEG-4 con referencia a la fig. 3.
La fig. 3 es una ilustracion para explicar un procedimiento para codificar un vector de movimiento MV de un bloque actual A que se codificara en MPEG-4.
En las fig. 3A-3D, los bloques indicados por una lmea gruesa son macrobloques de 16 x 16 pfxeles, y existen 4 bloques de 8 x 8 pfxeles en cada macrobloque. Aqrn, se supone que un vector de movimiento se obtiene en un nivel de un bloque de 8 x 8 pfxeles.
Segun se muestra en la fig. 3A, en cuanto a un bloque actual A situado arriba a la izquierda en un macrobloque, se codifica una diferencia entre un valor predictivo y un vector de movimiento MV del bloque actual A, en la que el valor predictivo se calcula a partir de un vector de movimiento MVb de un bloque vecino B a la izquierda del bloque actual A, un vector de movimiento MVc de un bloque vecino C justo encima del bloque actual A y un vector de movimiento MVd de un bloque vecino D encima y a la derecha del bloque actual A.
Analogamente, segun se muestra en la fig. 3B, en cuanto a un bloque actual A situado arriba a la derecha en un macrobloque, se codifica una diferencia entre un valor predictivo y un vector de movimiento MV del bloque actual A, en el que el valor predictivo se calcula a partir de un vector de movimiento MVb de un bloque vecino B a la izquierda del bloque actual A, un vector de movimiento MVc de un bloque vecino C justo encima del bloque actual A y un vector de movimiento MVd de un bloque vecino D encima y a la derecha del bloque actual A.
5
10
15
20
25
30
35
40
45
50
55
Segun se muestra en la fig. 3C, en cuanto a un bloque actual A situado abajo a la izquierda en un macrobloque, se codifica una diferencia entre un valor predictivo y un vector de movimiento MV del bloque actual A, en el que el valor predictivo se calcula a partir de un vector de movimiento MVb de un bloque vecino B a la izquierda del bloque actual A, un vector de movimiento MVc de un bloque vecino C justo encima del bloque actual A y un vector de movimiento MVd de un bloque vecino D encima y a la derecha del bloque actual A.
Segun se muestra en la fig. 3D, en cuanto a un bloque actual A situado abajo a la derecha en un macrobloque, se codifica una diferencia entre un valor predictivo y un vector de movimiento mV del bloque actual A, en el que el valor predictivo se calcula a partir de un vector de movimiento MVb de un bloque vecino B a la izquierda del bloque actual A, un vector de movimiento MVc de un bloque vecino C encima y a la izquierda del bloque actual A y un vector de movimiento MVd de un bloque vecino D justo encima del bloque actual A. Aqrn, el valor predictivo se calcula usando las medianas obtenidas de las componentes horizontal y vertical de estos tres vectores de movimiento MVb, MVc y MVd respectivamente.
A continuacion, se explicara un procedimiento de codificacion de vectores de movimiento en H.26L que ha sido desarrollado para normalizacion con referencia a la fig. 4.
La fig. 4 es una ilustracion para explicar un procedimiento para codificar un vector de movimiento MV de un bloque actual A en H.26L.
Un bloque actual A es un bloque de 4 x 4 pfxeles, 8 x 8 pfxeles o 16 x 16 pfxeles, y un vector de movimiento de este bloque actual A se codifica usando un vector de movimiento de un bloque vecino B que incluye un pixel b situado a la izquierda del bloque actual A, un vector de movimiento de un bloque vecino C que incluye un pixel c situado justo encima del bloque actual A y un vector de movimiento de un bloque vecino D que incluye un pixel d situado encima y a la derecha del bloque actual A. Observese que los tamanos de los bloques vecinos B, C y D no se limitan a los mostrados en la fig. 4 con lmeas de puntos.
La fig. 5 es un organigrama que muestra el procedimiento de codificacion del vector de movimiento MV del bloque actual A usando los vectores de movimiento de los bloques vecinos segun se menciona anteriormente.
Primero, se especifica el bloque vecino que se refiere a la imagen a la que se refiere el bloque actual A entre los bloques vecinos B, C y D (Etapa S502), y se determina el numero de bloques vecinos especificados (Etapa S504).
Cuando el numero de los bloques vecinos determinados en la Etapa S504 es 1, el vector de movimiento de ese bloque vecino que se refiere a la misma imagen se considera un valor predictivo del vector de movimiento MV del bloque actual A (Etapa S506).
Cuando el numero de los bloques vecinos determinado en la Etapa S505 es un valor distinto a 1, el vector de movimiento del bloque vecino que se refiere a otra imagen distinta que la imagen a la que se refiere el bloque actual A, entre los bloques vecinos B, C y D, se considera 0 (Etapa S507). Y la mediana de los vectores de movimiento de los bloques vecinos B, C y D se considera un valor predictivo del vector de movimiento del bloque actual A (Etapa S508).
Usando el valor predictivo obtenido en la Etapa S506 o en la Etapa S508 de esta manera, se calcula la diferencia entre el valor predictivo y el vector de movimiento MV del bloque actual A y se codifica la diferencia (Etapa S510).
Segun se describe anteriormente, en los procedimientos de codificacion de vectores de movimientos de acuerdo con MPEG-4 y H.26L, los vectores de movimiento de bloques vecinos se aprovechan durante la codificacion de un vector de movimiento de un bloque actual que se va a codificar.
Sin embargo, existen casos en que los vectores de movimiento de bloques vecinos no se codifican. Por ejemplo, son casos en los que un bloque vecino se codifica intraimagen, una imagen B se codifica en modo directo, y una imagen P se codifica en modo de salto. En estos casos, los bloques vecinos se codifican usando los vectores de movimiento de otros bloques excepto cuando se codifican intraimagen, es decir, los bloques vecinos se codifican usando sus propios vectores de movimiento basandose en el resultado de la estimacion del movimiento.
Asf, segun el procedimiento tradicional de codificacion de vectores de movimiento mencionado anteriormente, un vector de movimiento de un bloque actual se codifica del modo siguiente: cuando existe un bloque vecino, de entre tres bloques vecinos, que no tiene vector de movimiento basandose en el resultado anterior de estimacion del movimiento y ha sido codificado usando vectores de movimiento de otros bloques, el vector de movimiento de ese bloque vecino se considera 0. Cuando existen dos de dichos bloques vecinos, el vector de movimiento del bloque vecino restante se usa como un valor predictivo. Y cuando existen tres bloques vecinos, el vector de movimiento se codifica considerando un valor predictivo de 0.
Sin embargo, en modo directo o modo de salto, la compensacion de movimiento se efectua realmente como en el caso en que se usa un vector de movimiento de un bloque vecino en sf basandose en el resultado de la estimacion, aunque la informacion del vector de movimiento no se codifica. Como consecuencia, en el procedimiento tradicional anterior, si un bloque vecino se codifica en modo directo o modo de salto, el vector de movimiento del bloque vecino
5
10
15
20
25
30
35
40
45
50
no se usa como candidato para un valor predictivo. As^ existe el problema de obtener un valor predictivo impreciso de un vector de movimiento durante la codificacion del vector de movimiento, y causar asf una menor eficacia de codificacion.
La presente invencion se concibe para resolver este problema, y el objeto de la misma es proporcionar un procedimiento de codificacion de vectores de movimiento y un procedimiento de decodificacion de vectores de movimiento para obtener un valor predictivo mas preciso para una eficacia de codificacion mas alta.
Descripcion de la invencion
Con el fin de conseguir el objeto anterior, el procedimiento de codificacion de vectores de movimiento segun la presente invencion es un procedimiento de codificacion de vectores de movimiento para codificacion de un vector de movimiento de un bloque actual en una imagen en movimiento, que comprende: una etapa de especificacion de bloque vecino para especificar un bloque vecino que esta situado en la vecindad del bloque actual y ya ha sido codificado; una etapa de valoracion para valorar si el bloque vecino ha sido codificado o no usando un vector de movimiento de otro bloque; una etapa de prediccion para obtener un vector de movimiento predictivo del bloque actual usando un vector de movimiento calculado a partir del vector de movimiento de dicho otro bloque como un vector de movimiento del bloque vecino, cuando se valora en la etapa de valoracion que el bloque vecino ha sido codificado usando el vector de movimiento de dicho otro bloque; y una etapa de codificacion para codificar el vector de movimiento del bloque actual usando el vector de movimiento predictivo.
Como resultado, cuando un vector de movimiento de un bloque actual se codifica usando un vector de movimiento predictivo obtenido de vectores de movimiento de bloques vecinos, si alguno de los bloques vecinos ha sido codificado usando vectores de movimiento de otros bloques, el vector de movimiento del bloque vecino no se considera que es 0 sino que es el vector de movimiento calculado a partir de los vectores de movimiento de los otros bloques. Por tanto, puede obtenerse un vector de movimiento predictivo mas preciso, y asf puede mejorarse la eficacia de codificacion del vector de movimiento.
Ademas, el procedimiento de decodificacion de vectores de movimiento segun la presente invencion es un procedimiento de decodificacion de vectores de movimiento para decodificar un vector de movimiento codificado de un bloque actual en una imagen en movimiento, que comprende: una etapa de especificacion de bloque vecino para especificar un bloque vecino que esta situado en la vecindad del bloque actual y que ya ha sido decodificado, una etapa de valoracion para valorar si el bloque vecino ha sido codificado o no usando un vector de movimiento de otro bloque; una etapa de prediccion para obtener un vector de movimiento predictivo del bloque actual usando un vector de movimiento calculado a partir del vector de movimiento de dicho otro bloque como un vector de movimiento del bloque vecino, cuando se valora en la etapa de valoracion que el bloque vecino ha sido codificado usando el vector de movimiento de dicho otro bloque; y una etapa de decodificacion para decodificar el vector de movimiento codificado del bloque actual usando el vector de movimiento predictivo.
Como resultado, el vector de movimiento que ha sido codificado segun el procedimiento de codificacion de vectores de movimiento de la presente invencion puede decodificarse adecuadamente, y asf el valor practico del mismo es elevado.
Observese que la presente invencion tambien puede realizarse como un aparato de codificacion de imagenes en movimiento y un programa que usan el procedimiento de codificacion de vectores de movimiento mencionado anteriormente, y un medio de almacenamiento que almacena el programa, y un aparato de decodificacion de imagenes en movimiento y un programa que usan el procedimiento de decodificacion de vectores de movimiento mencionado anteriormente, y un medio de almacenamiento que almacena el programa.
Breve descripcion de los dibujos
La fig. 1 es un diagrama que muestra una relacion predictiva entre imagenes en un procedimiento de codificacion de imagenes en movimiento.
La fig. 2 es una ilustracion para explicar el procedimiento de prediccion entre imagenes en modo directo.
La fig. 3 es una ilustracion para explicar un procedimiento para codificar un vector de movimiento de un bloque actual en MPEG-4.
La fig. 4 es una ilustracion para explicar un procedimiento para codificar un vector de movimiento de un bloque actual en H.26L.
La fig. 5 es un organigrama que muestra el procedimiento de codificacion en H26L.
La fig. 6 es un diagrama de bloques que muestra una estructura de un aparato de codificacion de imagenes en movimiento en una primera forma de realizacion de la presente invencion;
La fig. 7 es un diagrama que muestra como se introducen y se producen las imagenes en una memoria de trama en la primera forma de realizacion.
5
10
15
20
25
30
35
40
45
La fig. 8 es un organigrama que muestra el funcionamiento de una unidad de codificacion de vectores de movimiento en la primera forma de realizacion;
La fig. 9 es una ilustracion para explicar como codificar un bloque vecino en modo de salto en la primera forma de realizacion.
La fig. 10 es una ilustracion para explicar la codificacion de prediccion entre imagenes usando vectores de movimiento bidireccionales en la primera forma de realizacion;
La fig. 11 es una ilustracion para explicar como codificar un bloque vecino en modo directo temporal en la primera forma de realizacion.
La fig. 12 es una ilustracion para explicar como codificar un bloque vecino en modo directo espacial en la primera forma de realizacion;
La fig. 13 es un organigrama que muestra otro funcionamiento de la unidad de codificacion de vectores de movimiento en la primera forma de realizacion.
La fig. 14 es un diagrama de bloques que muestra una estructura de un aparato de decodificacion de imagenes en movimiento en una segunda forma de realizacion de la presente invencion.
La fig. 15 es un organigrama que muestra un funcionamiento de una unidad de decodificacion de vectores de movimiento en la segunda forma de realizacion.
La fig. 16 es una ilustracion para explicar como se introducen y se producen las imagenes a partir del aparato de decodificacion de imagenes en movimiento en la segunda forma de realizacion.
La fig. 17 es un organigrama que muestra otro funcionamiento de la unidad de decodificacion de vectores de movimiento en la segunda forma de realizacion.
La fig. 18 es una ilustracion de un medio de grabacion en una tercera forma de realizacion de la presente invencion.
La fig. 19 es un diagrama de bloques que muestra una configuracion general de un sistema de suministro de contenidos en una cuarta forma de realizacion de la presente invencion.
La fig. 20 es una vista frontal de un telefono movil en la cuarta forma de realizacion.
La fig. 21 es un diagrama de bloques del telefono movil en la cuarta forma de realizacion.
La fig. 22 es un diagrama de bloques que muestra una configuracion general de un sistema de difusion digital en la cuarta forma de realizacion.
Mejor modo de realizar la invencion
(Primera forma de realizacion)
Se explicara un aparato de codificacion de imagenes en movimiento en una primera forma de realizacion de la presente invencion con referencia a las figuras.
La fig. 6 es un diagrama de bloques del aparato de codificacion de imagenes en movimiento en la primera forma de realizacion de la presente invencion.
Este aparato de codificacion de imagenes en movimiento 100 pretende mejorar la eficacia de codificacion mejorando la precision de un valor predictivo de un vector de movimiento, e incluye una memoria de trama 101, una unidad de calculo de diferencias 102, una unidad de codificacion de errores de prediccion 103, una unidad de generacion de flujos de bits 104, una unidad de decodificacion de errores de prediccion 105, una unidad de suma 106, una memoria de trama 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, una unidad de almacenamiento de vectores de movimiento 116 y una unidad de codificacion de vectores de movimiento 117.
La memoria de trama 101 es una memoria de imagenes para guardar imagenes introducidas sobre una base de imagen por imagen, y reordena las imagenes introducidas y obtenidas en orden de tiempo en orden de codificacion para la salida. Las imagenes se reordenan bajo el control de la unidad de control de codificacion 110.
La fig. 7A muestra como se introducen las imagenes en la memoria de trama 101.
En la fig. 7A, las lmeas verticales muestran imagenes, y un alfabeto y un numero en la parte inferior derecha de cada imagen indica un tipo de imagen (I, P o B) y un numero de imagen en orden de tiempo. Las imagenes introducidas en la memoria de trama 101 se reordenan en orden de codificacion. Las imagenes se reordenan en orden de codificacion basandose en las relaciones de referencia en codificacion de prediccion entre imagenes, es decir, las
5
10
15
20
25
30
35
40
45
50
55
imagenes se reordenan de manera que las imagenes usadas como imagenes de referencia se codifican antes que las imagenes que se refieren a dichas imagenes de referencia. Por ejemplo, las relaciones de referencia de las imagenes P7~Pl3 se muestran mediante flechas en la fig. 7A. En la fig. 7A, las puntas de flecha indican las imagenes que se refieren a imagenes de referencia, y los otros extremos de las flechas indican las imagenes de referencia. En este caso, las imagenes mostradas en la fig. 7A se reordenan en las mostradas en la fig. 7B.
La fig. 7B muestra las imagenes introducidas segun se muestra en la fig. 7A y reordenadas. Las imagenes reordenadas en la memoria de trama 101 se leen segun una base de macrobloque. En este caso, un macrobloque tiene un tamano de 16 pfxeles horizontales x 16 verticales.
La unidad de calculo de diferencias 102 obtiene datos de formas de imagenes de todos los macrobloques de la memoria de trama 101 por medio del conmutador 111, y tambien obtiene una forma de imagen de compensacion de movimiento de la unidad de seleccion de modo 109. A continuacion, la unidad de calculo de diferencias 102 calcula la diferencia entre los datos de formas de imagenes y la forma de imagen de compensacion de movimiento segun una base de macrobloque para generar una forma de imagen de error de prediccion para salida.
La unidad de codificacion de errores de prediccion 103 realiza procesamiento de codificacion que incluye transformacion de frecuencias como transformacion de cosenos discreta y cuantificacion en los datos de formas de imagenes obtenidos de la memoria de trama 101 por medio del conmutador 112 y la forma de imagen de error de prediccion obtenida por la unidad de calculo de diferencias 102, de manera que se creen datos codificados. Por ejemplo, la transformacion de frecuencias y la cuantificacion se realizan en una unidad de 8 pfxeles horizontales x 8 verticales. A continuacion, la unidad de codificacion de errores de prediccion 103 produce los datos codificados para la unidad de generacion de flujos de bits 104 y la unidad de decodificacion de errores de prediccion 105.
La unidad de generacion de flujos de bits 104 realiza codificacion de longitud variable en los datos codificados producidos desde la unidad de codificacion de errores de prediccion 103, convierte los datos de la misma en un formato de flujo de bits para salida, y anade ademas informacion sobre vectores de movimiento introducidos desde la unidad de codificacion de vectores de movimiento 117, informacion sobre un modo de codificacion introducido desde la unidad de seleccion de modo 109, informacion de encabezamiento y otros, con el fin de generar un flujo de bits.
La unidad de decodificacion de errores de prediccion 105 cuantifica inversamente los datos codificados producidos desde la unidad de codificacion de errores de prediccion 103, y a continuacion realiza transformacion de frecuencias inversa como transformacion de cosenos discreta inversa de manera que se decodifican en una forma de imagen de error de prediccion.
La unidad de suma 106 anade la forma de imagen de compensacion de movimiento a la forma de imagen de error de prediccion obtenida como resultado de decodificacion, y produce una imagen decodificada que es datos de formas de imagenes que indican una forma de una imagen que ha sido codificada y decodificada.
La memoria de trama 107 es una memoria de imagenes que guarda, segun una base de imagen por imagen, imagenes usadas como imagenes de referencia cuando se codifican otras imagenes, entre las imagenes decodificadas producidas desde la unidad de suma 106.
La unidad de estimacion de vectores de movimiento 108 estima vectores de movimiento de cada bloque en un macrobloque actual que se codificara, usando las imagenes decodificadas acumuladas en la memoria de trama 107 como imagenes de referencia. Los vectores de movimiento estimados se producen para la unidad de seleccion de modo 109.
La unidad de seleccion de modo 109 determina un modo de codificacion del macrobloque usando los vectores de movimiento estimados por la unidad de estimacion de vectores de movimiento 108. Aqrn, el modo de codificacion significa un procedimiento para codificar un macrobloque. Por ejemplo, cuando una imagen actual es una imagen P, la unidad de seleccion de modo 109 determina un modo de codificacion de entre los siguientes: codificacion intraimagen, codificacion de prediccion entre imagenes usando vectores de movimiento y modo de salto (codificacion de prediccion entre imagenes en el que no se codifica ningun vector de movimiento de un bloque actual dado que la codificacion de prediccion se realiza usando un vector de movimiento obtenido de vectores de movimiento de otros bloques, y no se codifica ningun valor de coeficiente dado que todos los valores de coeficientes son 0 como resultado de la codificacion de error de prediccion). En general, se determina un modo de codificacion de manera que se reduzca al mmimo un error de codificacion usando una cantidad de bits predeterminada.
La unidad de seleccion de modo 109 produce el modo de codificacion determinado para la unidad de generacion de flujos de bits 104, y produce los vectores de movimiento usados para ese modo de codificacion para la unidad de codificacion de vectores de movimiento 117, respectivamente. Cuando el modo de codificacion determinado es una codificacion de prediccion entre imagenes que usa vectores de movimiento, la unidad de seleccion de modo 109 almacena ademas los vectores de movimiento y el modo de codificacion usado para esa codificacion de prediccion entre imagenes en la unidad de almacenamiento de vectores de movimiento 116.
5
10
15
20
25
30
35
40
45
50
Ademas, la unidad de seleccion de modo 109 realiza compensacion de movimiento basandose en el modo de codificacion determinado y en los vectores de movimiento estimados por la unidad de estimacion de vectores de movimiento 108 de manera que se crea una forma de imagen de compensacion de movimiento, y se produce la forma de imagen de compensacion de movimiento para la unidad de calculo de diferencias 102 y la unidad de suma 106. Sin embargo, si se selecciona codificacion de imagenes, no se produce ninguna forma de imagen de compensacion de movimiento. Cuando se selecciona codificacion intraimagen, la unidad de seleccion de modo 109 controla ademas el conmutador 111 y el conmutador 112 para conectarse a un terminal "a" y a un terminal "c" respectivamente, y cuando se selecciona codificacion de prediccion entre imagenes, controla el conmutador 111 y el conmutador 112 para conectarse a un terminal "b" y un terminal "d" respectivamente. La compensacion de movimiento mencionada anteriormente se realiza segun una base de bloque por bloque (8 x 8 pfxeles en este caso).
La unidad de control de codificacion 110 determina un tipo de imagen (I, P o B) usado para codificacion de una imagen introducida, y controla los conmutadores 113, 114 y 115 dependiendo del tipo de imagen. Aqm, un tipo de imagen se determina en general usando un procedimiento para asignar un tipo de imagen periodicamente, por ejemplo.
La unidad de almacenamiento de vectores de movimiento 116 obtiene los vectores de movimiento usados para codificacion de prediccion entre imagenes y el modo de codificacion de la unidad de seleccion de modo 109, y los almacena.
Cuando la unidad de seleccion de modo 109 selecciona codificacion de prediccion entre imagenes usando vectores de movimiento, la unidad de codificacion de vectores de movimiento 117 codifica un vector de movimiento de un bloque actual mediante los procedimientos descritos en la fig. 3 y la fig. 4. Segun se describe anteriormente, la unidad de codificacion de vectores de movimiento 117 especifica tres bloques vecinos del bloque actual, determina un valor predictivo basandose en los vectores de movimiento de los bloques vecinos, y codifica una diferencia entre el valor predictivo y el vector de movimiento del bloque actual que se codificara.
Cuando se codifica un vector de movimiento de un bloque actual, si un bloque vecino se codifica usando vectores de movimiento de otros bloques, como modo de salto y modo directo, la unidad de codificacion de vectores de movimiento 117 en la presente forma de realizacion no considera que el vector de movimiento del bloque vecino es 0 como hace la tecnica convencional, sino que trata un vector de movimiento obtenido de los vectores de movimiento de los otros bloques como el vector de movimiento del bloque vecino cuando lo codifica.
La fig. 8 es un organigrama que muestra el funcionamiento general de la unidad de codificacion de vectores de movimiento 117 en la presente forma de realizacion.
En primer lugar, la unidad de codificacion de vectores de movimiento 117 especifica tres bloques vecinos codificados previamente de un bloque actual (Etapa S100).
La unidad de codificacion de vectores de movimiento 117 valora si cada uno de los bloques vecinos especificados es un bloque vecino Ba que ha sido codificado usando vectores de movimiento de otros bloques o un bloque vecino Bb que ha sido codificado sin usar vectores de movimiento de otros bloques (Etapa S102).
Como resultado, la unidad de codificacion de vectores de movimiento 117 determina si los tres bloques vecinos especificados incluyen o no un bloque vecino Ba (Etapa S104).
Cuando se valora en la Etapa S104 que se incluye el bloque vecino Ba (Y en la Etapa S104), la unidad de codificacion de vectores de movimiento 117 obtiene un valor predictivo de los vectores de movimiento de los tres bloques vecinos tratando un vector de movimiento obtenido de los vectores de movimiento de los otros bloques como un vector de movimiento del bloque vecino Ba para codificarlo, segun se menciona anteriormente (Etapa S106).
Por otra parte, cuando se valora en la Etapa S104 que no se incluye el bloque vecino Ba (N en la Etapa S104), la unidad de codificacion de vectores de movimiento 117 obtiene un valor predictivo de vectores de movimiento obtenido basandose en la estimacion de movimiento de tres bloques vecinos respectivos Bb y la seleccion de modo (Etapa S108).
A continuacion, la unidad de codificacion de vectores de movimiento 117 codifica una diferencia entre el vector de movimiento del bloque actual y el valor predictivo obtenido en las Etapas S106 o S108 (Etapa S110). La unidad de codificacion de vectores de movimiento 117 tambien produce el vector de movimiento codificado como anteriormente para la unidad de generacion de flujos de bits 104.
Aqm, el procesamiento de codificacion mencionado anteriormente por el aparato de codificacion de imagenes en movimiento 100 se explicara espedficamente tomando la codificacion de una imagen P13 y una imagen B11 segun se muestra en la fig. 7 como ejemplo.
5
10
15
20
25
30
35
40
45
50
55
(Codificacion de la imagen P13)
Como la imagen P13 es una imagen P, el aparato de codificacion de imagenes en movimiento 100 codifica la imagen 13 por codificacion de prediccion entre imagenes usando otra imagen como imagen de referencia. En este caso, la imagen de referencia es una imagen P10. Esta imagen P10 ya ha sido codificada, y la imagen decodificada de la misma se almacena en la memoria de trama 107.
Cuando se codifica una imagen P, la unidad de control de codificacion 110 controla los conmutadores 113, 114 y 115 para que esten ACTIVOS. Por tanto, los macrobloques de la imagen P13 que se leen desde la memoria de trama 101 son obtenidos por la unidad de estimacion de vectores de movimiento 108, la unidad de seleccion de modo 109 y la unidad de calculo de diferencias 102.
La unidad de estimacion de vectores de movimiento 108 estima el vector de movimiento de cada bloque en el macrobloque usando la imagen decodificada de la imagen P10 almacenada en la memoria de trama 107 como una imagen de referencia, y produce el vector de movimiento estimado para la unidad de seleccion de modo 109.
La unidad de seleccion de modo 109 determina un modo de codificacion del macrobloque en la imagen P13 usando el vector de movimiento estimado por la unidad de estimacion de vectores de movimiento 108. Como la imagen P13 es una imagen P, la unidad de seleccion de modo 109 determina, segun se menciona anteriormente, un modo de codificacion entre los siguientes: codificacion intraimagen, codificacion de prediccion entre imagenes usando vectores de movimiento y modo de salto (una codificacion de prediccion entre imagenes en la que no se codifica ningun vector de movimiento de un bloque actual dado que la codificacion de prediccion se realiza usando un vector de movimiento obtenido de los vectores de movimiento de otros bloques, y no se codifica ningun valor de coeficiente porque todos los valores de coeficientes son 0 como resultado de la codificacion de error de prediccion).
Cuando la unidad de seleccion de modo 109 selecciona codificacion de prediccion entre imagenes usando vectores de movimiento, la unidad de codificacion de vectores de movimiento 117 en la presente forma de realizacion codifica el vector de movimiento del bloque actual en la imagen P13 por el procedimiento segun se explica en la fig. 3. Cuando un bloque vecino del bloque actual se codifica en modo de salto, la unidad de codificacion de vectores de movimiento 117 no considera que el vector de movimiento del bloque vecino es 0, sino que trata un vector de movimiento obtenido de otros bloques para codificar el bloque vecino como un vector de movimiento de ese bloque.
Se explicara un procedimiento de codificacion de un vector de movimiento de un bloque actual usado cuando un bloque vecino se codifica en modo de salto.
La fig. 9 es una ilustracion para explicar como codificar un bloque vecino C en modo de salto.
Segun se muestra en la fig. 9, cuando un bloque vecino C en la imagen P13 se codifica en modo de salto, se calcula una mediana de un vector de movimiento MVe de un bloque E, un vector de movimiento MVf de un bloque F y un vector de movimiento MVg de un bloque G, que estan situados en la vecindad del bloque vecino C, y el bloque vecino C se codifica usando un vector de movimiento MVcm que indica la mediana. Aqrn, se obtiene una mediana de vectores de movimiento calculando medianas de componentes horizontales y verticales de los vectores de movimiento respectivamente, por ejemplo.
Cuando se codifica el vector de movimiento del bloque actual A segun se muestra en la fig. 9, la unidad de codificacion de vectores de movimiento 117 especifica los tres bloques vecinos B, C y D del bloque actual A (como para las posiciones de los bloques B, C y D, veanse fig. 3 y fig. 4), y valora si cada uno de los bloques vecinos B, C y D es o no un bloque que ha sido codificado usando vectores de movimiento de otros bloques. Como resultado, cuando se valora que solo el bloque vecino C se codifica en modo de salto, es decir, se codifica usando otros bloques, la unidad de codificacion de vectores de movimiento 117 trata la mediana (un vector de movimiento MVcm) calculada a partir de los vectores de movimiento de los otros bloques E, F y G para codificar el bloque vecino C como un vector de movimiento del bloque vecino C, segun se menciona anteriormente, y calcula la mediana del vector de movimiento MVcm y los vectores de movimiento de los bloques vecinos B y D para considerarlos como un valor predictivo del vector de movimiento del bloque actual A. A continuacion, la unidad de codificacion de vectores de movimiento 117 codifica una diferencia entre el valor predictivo y el vector de movimiento del bloque actual A.
La unidad de almacenamiento de vectores de movimiento 116 almacena modos de codificacion de bloques codificados. La unidad de codificacion de vectores de movimiento 117 valora si cada uno de los bloques vecinos B, C y D es un bloque codificado usando o no vectores de movimiento de otros bloques basandose en los modos de codificacion almacenados en la unidad de almacenamiento de vectores de movimiento 116. La unidad de almacenamiento de vectores de movimiento 116 almacena ademas vectores de movimiento de bloques que han sido codificados sin usar vectores de movimiento de otros bloques pero usando sus propios vectores de movimiento estimados a partir de imagenes de referencia. Para ser mas concreto, la unidad de almacenamiento de vectores de movimiento 116 almacena los vectores de movimiento MVe, MVf y MVg de los bloques E, F y G, y la unidad de codificacion de vectores de movimiento 117 calcula el vector de movimiento MVcm mencionado anteriormente del bloque vecino C usando estos vectores de movimiento almacenados en la unidad de almacenamiento de vectores de movimiento 116 cuando se codifica el vector de movimiento del bloque actual A. Observese que como para una imagen que ha sido codificada usando vectores de movimiento de otros bloques, un vector de movimiento de la
5
10
15
20
25
30
35
40
45
50
55
misma que se obtiene calculando una mediana de los vectores de movimiento de los otros bloques puede almacenarse en la unidad de almacenamiento de vectores de movimiento 116 con antelacion. En este caso, como la unidad de almacenamiento de vectores de movimiento 116 almacena el vector de movimiento MVcm con antelacion, la unidad de codificacion de vectores de movimiento 117 no necesita calcular el vector de movimiento MVcm del bloque vecino C pero puede usar el vector de movimiento MVcm almacenado en la unidad de almacenamiento de vectores de movimiento 116 directamente como un vector de movimiento del bloque vecino C, cuando se codifica el vector de movimiento del bloque actual A.
Por otra parte, una forma de imagen de error de prediccion que indica una diferencia entre un macrobloque actual en la imagen P13 y una forma de imagen de compensacion de movimiento se codifican mediante la unidad de codificacion de errores de prediccion 103 y se generan como datos codificados, y se anade la informacion sobre el vector de movimiento codificada segun se menciona anteriormente a los datos codificados por la unidad de generacion de flujos de bits 104. Sin embargo, no se anaden a los datos codificados una diferencia entre un macrobloque que ha sido codificado en modo de salto y una forma de imagen de compensacion de movimiento es 0, e informacion sobre el vector de movimiento.
Los restantes macrobloques de la imagen P13 se codifican de la misma manera. Despues de completar la codificacion de todos los macrobloques de la imagen P13, sigue la codificacion de la imagen B11.
(Codificacion de la imagen B11)
Como la imagen B11 es una imagen B, el aparato de codificacion de imagenes en movimiento 100 codifica la imagen B11 mediante codificacion de la prediccion entre imagenes usando otras dos imagenes como imagenes de referencia. En este caso, las imagenes de referencia son la imagen P10 situada delante de la imagen B11 y la imagen P13 situada detras de la imagen B11. Estas imagenes P10 y P13 ya han sido codificadas, y las imagenes decodificadas de las mismas se almacenan en la memoria de trama 107.
Cuando se codifica una imagen B, la unidad de control de codificacion 110 controla que el conmutador 113 este ACTIVO y que los conmutadores 114 y 115 esten INACTIVOS. Por tanto, los macrobloques de la imagen B11 que se leen desde la memoria de trama 101 son obtenidos por la unidad de estimacion de vectores de movimiento 108, la unidad de seleccion de modo 109 y la unidad de calculo de diferencias 102.
La unidad de estimacion de vectores de movimiento 108 estima el vector de movimiento en sentido inverso y el vector de movimiento en sentido directo de cada bloque en un macrobloque usando una imagen decodificada de la imagen P10 almacenada en la memoria de trama 107 como una imagen de referencia en sentido inverso y una imagen decodificada de la imagen P13 como una imagen de referencia en sentido directo, y produce los vectores de movimiento estimados en sentido inverso y en sentido directo para la unidad de seleccion de modo 109.
La unidad de seleccion de modo 109 determina un modo de codificacion del macrobloque de la imagen B11 usando los vectores de movimiento en sentido inverso y en sentido directo estimados por la unidad de estimacion de vectores de movimiento 108. Como la imagen B11 es una imagen B, la unidad de seleccion de modo 109 determina un modo de codificacion entre los siguientes: codificacion intraimagen, codificacion de prediccion entre imagenes usando vectores de movimiento anteriores, codificacion de prediccion entre imagenes usando vectores de movimiento posteriores, codificacion de prediccion entre imagenes usando vectores de movimiento bidireccionales y modo directo (codificacion de prediccion entre imagenes en la que la compensacion de movimiento se realiza usando un vector de movimiento obtenido de los vectores de movimiento de otros bloques y no se codifica ningun vector de movimiento), por ejemplo.
Cuando la unidad de seleccion de modo 109 selecciona codificacion de prediccion entre imagenes usando vectores de movimiento, la unidad de codificacion de vectores de movimiento 117 en la presente forma de realizacion codifica los vectores de movimiento del bloque actual en la imagen B11 por el procedimiento que se explica en la fig. 3.
Mas espedficamente, cuando la unidad de seleccion de modo 109 selecciona codificacion de prediccion entre imagenes usando vectores de movimiento bidireccionales, la unidad de codificacion de vectores de movimiento 117 codifica los vectores de movimiento del bloque actual de la siguiente manera.
La fig. 10 es una ilustracion para explicar la codificacion de prediccion entre imagenes usando vectores de movimiento bidireccionales.
Cuando se codifican vectores de movimiento de un bloque actual A, la unidad de codificacion de vectores de movimiento 117 codifica un vector de movimiento en sentido inverso MVF y un vector de movimiento en sentido directo MVB.
Para ser mas concreto, la unidad de codificacion de vectores de movimiento 117 considera una mediana de vectores de movimiento anteriores MVF1, MVF2 y MVF3 de los bloques vecinos B, C y D como un valor predictivo del vector de movimiento en sentido inverso MVF, y codifica una diferencia entre el vector de movimiento en sentido inverso MVF y el valor predictivo del mismo. La unidad de codificacion de vectores de movimiento 117 considera tambien una mediana de vectores de movimiento posteriores MVB1, MVB2 y MVB3 de los bloques vecinos B, C y D como un
5
10
15
20
25
30
35
40
45
50
55
valor predictivo del vector de movimiento en sentido directo MVB, y codifica una diferencia entre el vector de movimiento en sentido directo MVB y el valor predictivo del mismo. Aqm, la mediana de los vectores de movimiento se obtiene calculando medianas de componentes horizontales y verticales de los vectores de movimiento respectivamente, por ejemplo.
Cuando se codifican vectores de movimiento de un bloque actual en una imagen B, si un bloque vecino ha sido codificado en modo directo, la unidad de codificacion de vectores de movimiento 117 en la presente forma de realizacion no considera que los vectores de movimiento del bloque vecino son 0, sino que considera vectores de movimiento obtenidos de otros bloques como vectores de movimiento del bloque vecino. Existen dos tipos de modo directos: modo directo temporal y modo directo espacial.
En primer lugar, se explicara como codificar vectores de movimiento de un bloque actual cuando un bloque vecino se codifica en modo directo temporal.
La fig. 11 es una ilustracion para explicar como codificar el bloque vecino en modo directo temporal.
Segun se muestra en la fig. 11, cuando el bloque vecino C en la imagen B11 se codifica en modo directo, se usa un vector de movimiento MVp de un bloque X, que se situa al lado del bloque vecino C, en la imagen P13 que es una imagen de referencia en sentido inverso recien codificada. El vector de movimiento MVp es un vector de movimiento usado para codificar el bloque X, y se almacena en la unidad de almacenamiento de vectores de movimiento 116. Este vector de movimiento MVp se refiere a la imagen P10. El bloque vecino C se codifica mediante prediccion bidireccional a partir de las imagenes de referencia, la imagen P10 y la imagen P13, usando vectores de movimiento paralelos al vector de movimiento MVp. En este caso, los vectores de movimiento usados para codificar el bloque vecino C son un vector de movimiento MVFc para la imagen P10 y un vector de movimiento MVBc para la imagen P13.
En este caso cuando el vector de movimiento en sentido directo MVFc es mvf, el vector de movimiento en sentido inverso MVBc es mvb, el vector de movimiento MVp es mvp, la distancia temporal entre la imagen de referencia en sentido inverso (imagen P13) para la imagen actual (imagen B11) y la imagen de referencia (imagen P10) a la que apunta el bloque en la imagen de referencia en sentido inverso es TRD, y la distancia temporal entre la imagen actual (imagen B11) y la imagen de referencia (imagen P10) a la que apunta el bloque en la imagen de referencia en sentido inverso es tRb, mvf y mvb se calculan respectivamente mediante la Ecuacion 1 y la Ecuacion 2.
mvf = mvp x TRB/TRD Ecuacion 1
mvb = (TRB -TRD) x xmvp/TRD Ecuacion 2
en las que mvf y mvb representan respectivamente las componentes horizontales y las componentes verticales de los vectores de movimiento. Y los valores mas indican la direccion del vector de movimiento MVp, y los valores menos indican la direccion opuesta a la del vector de movimiento MVp.
El bloque vecino C se codifica usando los vectores de movimiento MVFc y MVBc obtenidos segun se menciona anteriormente.
Cuando se codifican los vectores de movimiento MVF y MVB del bloque actual A segun se muestra en la fig. 10, la unidad de codificacion de vectores de movimiento 117 especifica los tres bloques vecinos B, C y D del bloque actual A, y valora si cada uno de los bloques vecinos B, C y D es o no un bloque que ha sido codificado usando un vector de movimiento de otro bloque. Como resultado, cuando se valora que solo el bloque vecino C se codifica en modo directo temporal, es decir, se codifica usando el vector de movimiento del otro bloque, la unidad de codificacion de vectores de movimiento 117 trata los vectores de movimiento MVFc y MVBc calculados a partir del vector de movimiento MVp del bloque X que es el otro bloque para codificar el bloque vecino C como vectores de movimiento del bloque vecino C, y calcula las medianas de los vectores de movimiento MVFc y MVBc y los vectores de movimiento de los bloques vecinos By D para obtener valores predictivos de los vectores de movimiento del bloque actual A. Se obtienen por separado un valor predictivo en sentido directo y un valor predictivo en sentido inverso. A continuacion, la unidad de codificacion de vectores de movimiento 117 codifica diferencias entre los valores predictivos y los vectores de movimiento MVF y MVB del bloque actual A, respectivamente.
La unidad de almacenamiento de vectores de movimiento 116 almacena modos de codificacion de bloques codificados, y basandose en los modos de codificacion almacenados en esta unidad de almacenamiento de vectores de movimiento 116, la unidad de codificacion de vectores de movimiento 117 valora si cada uno de los bloques vecinos B, C y D ha sido codificado o no usando vectores de movimiento de otros bloques. La unidad de almacenamiento de vectores de movimiento 116 almacena ademas vectores de movimiento de bloques que han sido codificados sin usar vectores de movimiento de otros bloques sino usando sus propios vectores de movimiento estimados a partir de imagenes de referencia. En otras palabras, cuando se codifican los vectores de movimiento del bloque actual A, la unidad de codificacion de vectores de movimiento 117 usa los vectores de movimiento almacenados en la unidad de almacenamiento de vectores de movimiento 116 cuando son para los bloques vecinos B y D, pero si son para el bloque vecino C, lee el vector de movimiento MVp del bloque X almacenado en la unidad de almacenamiento de vectores de movimiento 116 para calcular los vectores de movimiento MVFc y MVBc.
5
10
15
20
25
30
35
40
45
50
55
Observese que la unidad de almacenamiento de vectores de movimiento 116 puede almacenar con antelacion vectores de movimiento calculados a partir de vectores de movimiento de otros bloques con el fin de codificar un bloque que ha sido codificado usando los vectores de movimiento de los otros bloques. En este caso, la unidad de almacenamiento de vectores de movimiento 116 almacena con antelacion los vectores de movimiento MVFc y MVBc. Por tanto, cuando se codifican los vectores de movimiento del bloque actual A, la unidad de codificacion de vectores de movimiento 117 no necesita leer el vector de movimiento MVp del bloque X de manera que se calculen los vectores de movimiento MVFc y MVBc del bloque vecino C usando la Ecuacion 1 y la Ecuacion 2, sino que puede usar los vectores de movimiento MVFc y MVBc almacenados en la unidad de almacenamiento de vectores de movimiento 116 directamente como los vectores de movimiento del bloque vecino C.
A continuacion, se explicara un procedimiento para codificar vectores de movimiento de un bloque actual en un caso en el que un bloque vecino se codifica en modo directo espacial.
La fig. 12 es una ilustracion para explicar como codificar un bloque vecino en modo directo espacial.
Segun se muestra en la fig. 12, cuando un bloque vecino C de la imagen B11 se codifica en modo directo espacial, se codifica usando vectores de movimiento MVFc y MVBc calculados basandose en medianas en las direcciones directa e inversa respectivamente que se obtienen de los vectores de movimiento MVFe y MVBe del bloque E, los vectores de movimiento MVFf y MVBf del bloque F y los vectores de movimiento MVFg y MVBg del bloque G, en los que los bloques E, F y G estan situados en la vecindad del bloque vecino C.
Cuando se codifican los vectores de movimiento MVF y MVB del bloque actual A segun se muestra en la fig. 10, la unidad de codificacion de vectores de movimiento 117 especifica los tres bloques vecinos B, C y D en la vecindad del bloque actual A, y valora si cada uno de los bloques vecinos B, C y D es un bloque que ha sido codificado o no usando vectores de movimiento de otros bloques. Como resultado, cuando la unidad de codificacion de vectores de movimiento 117 valora que solo el bloque vecino C ha sido codificado en modo directo espacial, es decir, usando vectores de movimiento de otros bloques, trata los vectores de movimiento MVFc y MVBc calculados a partir de los bloques E, F y G que son los otros bloques usados para codificar el bloque vecino C como los vectores de movimiento del bloque vecino C, calcula las medianas de los vectores de movimiento MVFc y MVBc y los vectores de movimiento de los bloques vecinos B y D, y asf obtiene los valores predictivos de los vectores de movimiento del bloque actual A, segun se muestra en la fig. 12. A continuacion, la unidad de codificacion de vectores de movimiento 117 codifica diferencias entre los valores predictivos y los vectores de movimiento MVF y MVB del bloque actual A.
La unidad de almacenamiento de vectores de movimiento 116 almacena vectores de movimiento de bloques que han sido codificados sin usar vectores de movimiento de otros bloques sino usando sus propios vectores de movimiento estimados a partir de imagenes de referencia. En otras palabras, almacena dos vectores de movimiento en las direcciones directa e inversa para cada uno de los bloques E, F y G. Cuando se codifican los vectores de movimiento del bloque actual A, la unidad de codificacion de vectores de movimiento 117 calcula los vectores de movimiento MVFc y MVBc del bloque vecino C usando estos vectores de movimiento almacenados en la unidad de almacenamiento de vectores de movimiento 116. Observese que la unidad de almacenamiento de vectores de movimiento 116 puede almacenar con antelacion dos vectores de movimiento en las direcciones directa e inversa que se calculan basandose en medianas obtenidas a partir de vectores de movimiento de otros bloques con el fin de codificar un bloque que ha sido codificado usando los vectores de movimiento de los otros bloques. En este caso, la unidad de almacenamiento de vectores de movimiento 116 almacena con antelacion los vectores de movimiento MVFc y MVBc. Por tanto, cuando se codifican los vectores de movimiento del bloque actual A, la unidad de codificacion de vectores de movimiento 117 no necesita calcular los vectores de movimiento MVFc y MVBc del bloque vecino C, sino que puede usar los vectores de movimiento MVFc y MVBc almacenados en la unidad de almacenamiento de vectores de movimiento 116 directamente como los vectores de movimiento del bloque vecino C.
Segun se describe anteriormente, cuando el bloque vecino C se codifica en el modo directo temporal anterior, los vectores de movimiento de la imagen de referencia en sentido inverso (la imagen P13 en el caso anterior) de la imagen actual necesita almacenarse en la unidad de almacenamiento de vectores de movimiento 116, pero cuando el bloque vecino C se codifica en modo directo espacial, puede omitirse el almacenamiento en sf.
Aqrn, cuando se codifican los vectores de movimiento de un bloque actual, el aparato de codificacion de imagenes en movimiento 100 realiza un procesamiento excepcional si un bloque vecino del bloque actual no se codifica como prediccion entre imagenes, segun se menciona anteriormente, sino que se codifica intraimagen.
Por ejemplo, cuando existe un bloque que ha sido codificado intraimagen en los tres bloques vecinos, la unidad de codificacion de vectores de movimiento 117 del aparato de codificacion de imagenes en movimiento 100 realiza un procesamiento considerando que los vectores de movimiento del bloque son 0. Cuando existen dos bloques vecinos que han sido codificados intraimagen, la unidad de codificacion de vectores de movimiento 117 usa los vectores de movimiento del bloque vecino restante como valores predictivos de vectores de movimiento de un bloque actual. Ademas, cuando los tres bloques vecinos han sido codificados intraimagen, la unidad de codificacion de vectores de movimiento 117 realiza procesamiento de codificacion de los vectores de movimiento del bloque actual considerando que los valores predictivos de los mismos son 0.
5
10
15
20
25
30
35
40
45
50
55
Por otra parte, la forma de imagen de error de prediccion que indica una diferencia entre un macrobloque actual en la imagen B11 y la forma de imagen de compensacion de movimiento han sido codificadas por la unidad de codificacion de errores de prediccion 103 y generadas como datos codificados, y la informacion sobre los vectores de movimiento que ha sido codificada segun se menciona anteriormente se anade a los datos codificados por la unidad de generacion de flujos de bits 104. Sin embargo, la informacion sobre vectores de movimiento de un macrobloque que ha sido codificado en modo directo no se anade a los datos codificados.
El procesamiento de codificacion de los restantes macrobloques en la imagen B11 se realiza de la misma manera. Despues de que se completa el procesamiento para todos los macrobloques de la imagen B11, sigue el procesamiento de codificacion de la imagen B12.
Segun se describe anteriormente, segun el procedimiento de codificacion de vectores de movimiento de la presente invencion, un vector de movimiento de cada bloque actual se codifica usando un valor predictivo obtenido de los vectores de movimiento de los bloques vecinos codificados previamente y el vector de movimiento del bloque actual. Si alguno de los bloques vecinos ha sido codificado usando un vector de movimiento calculado a partir de vectores de movimiento de otros bloques, por ejemplo, en modo de salto o modo directo, un valor predictivo se obtiene usando, como un vector de movimiento del bloque vecino, el vector de movimiento calculado a partir de los vectores de movimiento de los otros bloques para codificar ese bloque vecino.
En consecuencia, cuando un vector de movimiento de un bloque actual se codifica usando un valor predictivo obtenido de un vector de movimiento de un bloque vecino, si el bloque vecino se codifica usando vectores de movimiento de otros bloques, el vector de movimiento del bloque vecino no se considera 0 como en la tecnica convencional, sino que se usa el vector de movimiento calculado a partir de los vectores de movimiento de los otros bloques como vector de movimiento del bloque vecino. Como resultado, se mejora la precision del valor predictivo anterior, y asf puede mejorarse la eficacia de codificacion vectores de movimiento.
Observese que en la presente forma de realizacion, se ha explicado un caso en el que un macrobloque se codifica cada 16 pfxeles horizontales x 16 verticales, la compensacion de movimiento se realiza en cada bloque de 8 pfxeles horizontales x 8 verticales, y una forma de imagen de error de prediccion de bloque se codifica cada 8 pfxeles horizontales x 8 verticales, pero este procesamiento puede realizarse en otras unidades de pfxeles.
Ademas, en la presente forma de realizacion, se ha explicado un caso en el que se usa una mediana calculada a partir de vectores de movimiento de tres bloques vecinos codificados previamente como un valor predictivo para codificar un vector de movimiento, si bien puede aplicarse cualquier otro numero de bloques vecinos distinto de tres, y el valor predictivo puede determinarse por cualquier otro procedimiento. Por ejemplo, puede usarse un vector de movimiento de uno situado inmediatamente a la izquierda como un valor predictivo, o puede usarse una media aritmetica, en lugar de una mediana.
Ademas, en la presente forma de realizacion, las posiciones de los bloques vecinos para codificar un vector de movimiento se han explicado usando la fig. 3 y la fig. 4, aunque pueden aplicarse otras posiciones.
Ademas, en la presente forma de realizacion, se ha explicado un procedimiento para codificar un bloque actual que usa vectores de movimiento de otros bloques tomando como ejemplos el modo de salto y los modos directos espacial y temporal, aunque puede usarse cualquier otro procedimiento.
Ademas, en la presente forma de realizacion, se ha explicado un caso en el que puede usarse una diferencia entre un vector de movimiento de un bloque actual y un valor predictivo obtenido de vectores de movimiento de bloques vecinos de manera que se codifique el vector de movimiento, aunque pueden usarse otros procedimiento distintos que la obtencion de una diferencia para codificar el vector de movimiento.
Ademas, en la presente forma de realizacion, se ha explicado un caso en el que cuando un bloque vecino se codifica en modo directo espacial, se calcula una mediana de vectores de movimiento de tres bloques codificados previamente en la vecindad del bloque vecino y se trata como un vector de movimiento del bloque vecino, si bien puede usarse cualquier otro numero de bloques distinto de tres, y puede usarse cualquier otro procedimiento para determinar el vector de movimiento. Por ejemplo, puede usarse un vector de movimiento de un bloque situado inmediatamente a la izquierda como un vector de movimiento de un bloque vecino, o puede usarse una media aritmetica, en lugar de una mediana.
Ademas, en la presente forma de realizacion, cuando un bloque en una imagen B se codifica en modo directo espacial, se calculan dos vectores de movimiento del bloque en las direcciones directa e inversa, aunque pueden calcularse dos vectores de movimiento solo en la direccion directa o dos vectores de movimiento solo en la direccion inversa. En este caso, la imagen B se refiere a dos imagenes solo en la direccion directa o dos imagenes en la direccion inversa.
Ademas, en la presente forma de realizacion, se ha explicado un caso en el que una imagen predeterminada se refiere a codificacion de una imagen P (una imagen P10 se refiere a codificacion de una imagen P13, por ejemplo) y dos imagenes predeterminadas se refieren a codificacion de una imagen B (las imagenes P10 y P13 se refieren a codificacion de una imagen B11), pero estas imagenes P y B pueden codificarse seleccionando imagenes de
5
10
15
20
25
30
35
40
45
50
referencia para cada macrobloque o bloque entre una pluralidad de imagenes. En tal caso, puede generarse un valor predictivo de un vector de movimiento de la forma mostrada en la fig. 13.
La fig. 13 es un organigrama que muestra que el funcionamiento de la unidad de codificacion de vectores de movimiento 117 lleva a la obtencion de un valor predictivo de un vector de movimiento de un bloque actual para codificar el vector de movimiento, cuando se seleccionan imagenes de referencia para cada bloque.
En primer lugar, la unidad de codificacion de vectores de movimiento 117 especifica tres bloques vecinos codificados previamente de un bloque actual (Etapa S300).
A continuacion, la unidad de codificacion de vectores de movimiento 117 valora si cada uno de los bloques vecinos especificados es un bloque vecino Ba que ha sido codificado usando vectores de movimiento de otros bloques o un bloque vecino Bb que ha sido codificado sin usar vectores de movimiento de otros bloques (Etapa S302).
Aqrn, como para el bloque vecino Ba, la unidad de codificacion de vectores de movimiento 117 obtiene informacion que indica los vectores de movimiento usados para codificar el bloque Ba e imagenes de referencia para el bloque vecino Ba, y trata estos vectores de movimiento usados para codificar el bloque Ba como vectores de movimiento del mismo. Al igual que para el bloque vecino Bb, la unidad de codificacion de vectores de movimiento 117 obtiene informacion que indica vectores de movimiento del bloque vecino Bb e imagenes de referencia para el bloque vecino Bb (Etapa S304).
A continuacion, la unidad de codificacion de vectores de movimiento 117 especifica, entre los tres bloques vecinos, un bloque vecino que se refiere a la imagen a la que se refiere un bloque actual basandose en la informacion obtenida en la Etapa S304 (Etapa S306), y determina el numero de los bloques vecinos especificados (Etapa S308).
A continuacion, si el numero de los bloques vecinos valorados en la Etapa S308 es 1, la unidad de codificacion de vectores de movimiento 117 considera que el vector de movimiento del bloque vecino que se refiere a la misma imagen es un valor predictivo del vector de movimiento MV del bloque actual (Etapa S310).
Si el numero de los bloques vecinos valorados en la Etapa S308 no es 1, la unidad de codificacion de vectores de movimiento 117 considera que los vectores de movimiento de los bloques vecinos que se refieren a una imagen distinta a la que se refiere el bloque actual, entre los tres bloques vecinos, son 0 (Etapa S312), y considera que una mediana de los vectores de movimiento de los tres bloques vecinos es un valor predictivo del vector de movimiento MV del bloque actual (Etapa S314).
Usando el valor predictivo obtenido en la Etapa S310 o la Etapa S314 segun se menciona anteriormente, la unidad de codificacion de vectores de movimiento 117 calcula una diferencia entre el valor predictivo y el vector de movimiento MV del bloque actual, y codifica la diferencia (Etapa S316).
Ademas, cuando un vector de movimiento se codifica usando un vector de movimiento de un bloque adyacente espacialmente como un valor predictivo, debe almacenarse una cantidad de vectores de movimiento de 1 lmea de macrobloque (una parte de 1 macrobloque alta y una anchura de pantalla) en la unidad de almacenamiento de vectores de movimiento 116 para codificar el vector de movimiento, si los vectores de movimiento que han sido usados realmente para compensacion de movimiento en modo de salto o modo directo se almacenan en la unidad de almacenamiento de vectores de movimiento 116. Esto se aplica al caso en que los vectores de movimiento que han sido usados realmente para compensacion de movimiento en modo de salto o modo directo se almacenan en la unidad de almacenamiento de vectores de movimiento 116. Esta es la razon por la que cuando se usan los bloques vecinos explicados en relacion con la fig. 3 y la fig. 4 de la presente forma de realizacion, existen pasado 1 macrobloque cortes de bloques que se refieren como bloques vecinos para codificar el vector de movimiento, con el macrobloque actual como punto de partida.
(Segunda forma de realizacion)
Se explicara un aparato de decodificacion de imagenes en movimiento 700 en la segunda forma de realizacion de la presente invencion con referencia a las figuras.
La fig. 14 es un diagrama de bloques que muestra la estructura del aparato de decodificacion de imagenes en movimiento 700 en la segunda forma de realizacion de la presente invencion.
El aparato de decodificacion de imagenes en movimiento 700 segun se muestra en la fig. 14 decodifica imagenes en movimiento codificadas por el aparato de codificacion de imagenes en movimiento 100 en la primera forma de realizacion, e incluye una unidad de analisis de flujo de bits 701, una unidad de decodificacion de errores de prediccion 702, una unidad de decodificacion de modo 703, una unidad de decodificacion de compensacion de movimiento 705, una unidad de almacenamiento de vectores de movimiento 706, una memoria de trama 707, una unidad de suma 708, conmutadores 709 y 710 y una unidad de decodificacion de vectores de movimiento 711.
La unidad de analisis de flujo de bits 701 extrae varios datos del flujo de bits de entrada. Aqrn, varios datos incluyen informacion sobre el modo de codificacion, informacion sobre vectores de movimiento, y asf sucesivamente. La
5
10
15
20
25
30
35
40
45
50
55
informacion ex^da de modo de codificacion se env^a a la unidad de decodificacion de modo 703. La informacion extrafda de vectores de movimiento se envfa a la unidad de decodificacion de vectores de movimiento 711. Ademas, los datos extrafdos de errores de prediccion codificados se envfan a la unidad de decodificacion de errores de prediccion 702.
La unidad de decodificacion de errores de prediccion 702 decodifica los datos de errores de prediccion codificados introducidos para generar una forma de imagen de error de prediccion. La forma de imagen de error de prediccion generada se envfa al conmutador 709. Cuando el conmutador 709 se conecta al terminal "b", la forma de imagen de error de prediccion se envfa a la unidad de suma 708.
La unidad de decodificacion de modo 703 controla el conmutador 709 y el conmutador 710 con referencia a la informacion de modo de codificacion extrafda del flujo de bits. Si el modo de codificacion es codificacion intraimagen, la unidad de decodificacion de modo 703 controla los conmutadores 709 y 710 para conectarse al terminal "a" y el terminal "c", respectivamente, y si el modo de codificacion es codificacion entre imagenes, controla los conmutadores 709 y 710 para conectarse al terminal "b" y el terminal "d", respectivamente. La unidad de decodificacion de modo 703 envfa ademas la informacion del modo de codificacion a la unidad de decodificacion de vectores de movimiento 711.
La unidad de decodificacion de vectores de movimiento 711 decodifica la informacion de vectores de movimiento enviado desde la unidad de analisis de flujo de bits 701.
Para ser mas concreto, cuando la informacion del modo de codificacion indica codificacion de prediccion entre imagenes usando vectores de movimiento, la unidad de decodificacion de vectores de movimiento 711 obtiene un valor predictivo para un bloque actual que se decodificara usando los vectores de movimiento de bloques vecinos previamente decodificados, de la misma manera que se describe en la fig. 3 y la fig. 4. Por ejemplo, segun se muestra en la fig. 3, la unidad de decodificacion de vectores de movimiento 711 obtiene un valor predictivo para un bloque actual A del vector de movimiento MVb del bloque vecino B, el vector de movimiento MVc del bloque vecino C y el vector de movimiento MVd del bloque vecino D. Aqm, el valor predictivo se calcula basandose en una mediana calculada a partir de cada una de las componentes horizontales y las componentes verticales de los tres vectores de movimiento previamente decodificados MVb, MVc y MVd. A continuacion, la unidad de decodificacion de vectores de movimiento 711 anade el valor predictivo a la diferencia que es la informacion del vector de movimiento enviada desde la unidad de analisis de flujo de bits 701 de manera que se determine el vector de movimiento MV del bloque actual A. Cuando la informacion del modo de codificacion es cualquiera de los anteriormente mencionados modo de salto, modo directo temporal y modo directo espacial, la unidad de decodificacion de vectores de movimiento 711 determina el vector de movimiento usando solo los vectores de movimiento de los bloques vecinos previamente decodificados.
La fig. 15 es un organigrama que muestra el funcionamiento general de la unidad de decodificacion de vectores de movimiento 711 en la presente forma de realizacion.
En primer lugar, la unidad de decodificacion de vectores de movimiento 711 especifica tres bloques vecinos previamente decodificados de un bloque actual que se decodificara (Etapa S200).
A continuacion, la unidad de decodificacion de vectores de movimiento 711 valora si cada uno de los bloques vecinos especificados es un bloque vecino que ha sido codificado usando vectores de movimiento de otros bloques o un bloque vecino Bb que ha sido codificado sin usar vectores de movimiento de otros bloques (Etapa S202).
Como resultado, la unidad de decodificacion de vectores de movimiento 711 determina si un bloque vecino Ba esta incluido o no en los tres bloques vecinos especificados (Etapa S204).
Cuando se valora en la Etapa S204 que un bloque vecino Ba esta incluido (Y en la Etapa S204), la unidad de decodificacion de vectores de movimiento 711 obtiene un valor predictivo de los vectores de movimiento de los tres bloques vecinos tratando un vector de movimiento calculado a partir de vectores de movimiento de otros bloques para decodificar el bloque vecino Ba como un vector de movimiento del bloque vecino Ba, segun se menciona anteriormente (Etapa S206).
Por otra parte, cuando se valora en la Etapa S206 que un bloque vecino Ba no esta incluido (N en la Etapa S204), la unidad de decodificacion de vectores de movimiento 711 obtiene un valor predictivo de los vectores de movimiento obtenidos respectivamente basandose en los resultados de la estimacion de los tres bloques vecinos Bb (Etapa S208).
A continuacion, la unidad de decodificacion de vectores de movimiento 711 suma el valor predictivo obtenido en la Etapa S206 o S208 a la diferencia que es la informacion de vectores de movimiento enviada desde la unidad de analisis de flujo de bits 701, de manera que se decodifique el vector de movimiento codificado del bloque actual (Etapa S210). La unidad de decodificacion de vectores de movimiento 711 tambien envfa el vector de movimiento decodificado a la unidad de decodificacion de compensacion de movimiento 705.
5
10
15
20
25
30
35
40
45
50
La unidad de almacenamiento de vectores de movimiento 706 almacena el vector de movimiento decodificado en la unidad de decodificacion de vectores de movimiento 711 y el modo de codificacion obtenido en la unidad de decodificacion de modo 703.
La unidad de decodificacion de compensacion de movimiento 705 obtiene una forma de imagen de compensacion de movimiento de todos los macrobloques de la memoria de trama 707 basandose en el vector de movimiento decodificado en la unidad de decodificacion de vectores de movimiento 711.
La unidad de suma 708 suma la forma de imagen de error de prediccion introducida y la forma de imagen de compensacion de movimiento para generar la forma de imagen decodificada, y produce la forma de imagen decodificada generada para la memoria de trama 707.
La memoria de trama 707 almacena la forma de imagen decodificada generada por la unidad de suma 708 segun todas las bases de imagenes.
En primer lugar se explicara el funcionamiento de este aparato de decodificacion de imagenes en movimiento 700, en particular el funcionamiento general del mismo.
La fig. 16 es una ilustracion para explicar la entrada y salida del aparato de decodificacion de imagenes en movimiento 700.
Segun se muestra en la fig. 16A, el aparato de decodificacion de imagenes en movimiento 700 obtiene el flujo de bits producido desde el aparato de codificacion de imagenes en movimiento 100 en la primera forma de realizacion en orden de salida, y decodifica las imagenes incluidas en el flujo de bits en secuencia. A continuacion, segun se muestra en la fig. 16B, el aparato de decodificacion de imagenes en movimiento 700 reordena las imagenes decodificadas en orden de visualizacion para salida.
A continuacion se explicara el procesamiento de decodificacion realizado por el aparato de decodificacion de imagenes en movimiento 700 anterior tomando la decodificacion de la imagen P13 y la imagen B11 segun se muestra en la fig. 16 como un ejemplo espedfico.
(Decodificacion de la imagen P13)
En primer lugar, la unidad de analisis de flujo de bits 701 del aparato de decodificacion de imagenes en movimiento 700 obtiene el flujo de bits con respecto a la imagen P13, y extrae la informacion de seleccion de modo y la informacion de vectores de movimiento y los datos de errores de prediccion codificados del flujo de bits.
La unidad de decodificacion de modo 703 controla los conmutadores 709 y 710 con referencia a la informacion de seleccion de modo extrafda del flujo de bits de la imagen P13.
A continuacion se explicara un caso en el que la informacion de seleccion de modo indica codificacion de prediccion entre imagenes.
La unidad de decodificacion de vectores de movimiento 711 realiza el procesamiento de decodificacion anterior en la informacion de vectores de movimiento extrafda del flujo de bits de la imagen P13 sobre una base de bloque por bloque basandose en la informacion de seleccion de modo que indica la codificacion de prediccion entre imagenes producidos de la unidad de decodificacion de modo 703.
Aqm, cuando se decodifica el vector de movimiento del bloque actual en la imagen P13, la unidad de decodificacion de vectores de movimiento 711 especifica tres bloques vecinos decodificados previamente del bloque actual, y valora si cada uno de estos bloques vecinos ha sido codificado usando o no vectores de movimiento de otros bloques. Cuando cualquiera de los bloques vecinos es un bloque que ha sido codificado usando vectores de movimiento de otros bloques, es decir, en modo de salto, la unidad de decodificacion de vectores de movimiento 711 trata un vector de movimiento calculado a partir de los vectores de movimiento de los otros bloques para decodificar el bloque vecino como un vector de movimiento del bloque vecino, de la misma manera que hace la unidad de codificacion de vectores de movimiento 117 en la primera forma de realizacion. Para ser mas concreto, la unidad de decodificacion de vectores de movimiento 711 calcula la mediana de los vectores de movimiento de los tres bloques codificados previamente en la vecindad de ese bloque vecino, y lo trata como un vector de movimiento del bloque vecino.
Ademas, la unidad de almacenamiento de vectores de movimiento 706 almacena la informacion de seleccion de modo producida desde la unidad de decodificacion de modo 703, y la unidad de decodificacion de vectores de movimiento 711 valora si cada uno de los bloques vecinos es o no un bloque que ha sido codificado usando vectores de movimiento de otros bloques basandose en la informacion de seleccion de modo almacenado en la unidad de almacenamiento de vectores de movimiento 706. La unidad de almacenamiento de vectores de movimiento 706 almacena ademas los vectores de movimiento de los otros bloques usados para decodificar el bloque vecino. Para ser mas concreto, la unidad de almacenamiento de vectores de movimiento 706 almacena los vectores de movimiento de los tres bloques en la vecindad del bloque vecino que ha sido codificado en modo de salto. Cuando
5
10
15
20
25
30
35
40
45
50
55
se decodifica el vector de movimiento del bloque actual, la unidad de decodificacion de vectores de movimiento 711 calcula una mediana a partir de los vectores de movimiento de los tres bloques anteriores almacenados en la unidad de almacenamiento de vectores de movimiento 706. Observese que la unidad de almacenamiento de vectores de movimiento 706 puede almacenar con antelacion un vector de movimiento de un bloque que ha sido codificado usando vectores de movimiento de otros bloques, calculando una mediana de los vectores de movimiento para decodificar el bloque. En este caso, cuando se decodifica el vector de movimiento del bloque actual, la unidad de decodificacion de vectores de movimiento 711 no necesita obtener el vector de movimiento del bloque vecino que ha sido codificado en modo de salto, sino que puede usar el vector de movimiento almacenado en la unidad de almacenamiento de vectores de movimiento 706 directamente como un vector de movimiento del bloque vecino.
Por otra parte, los datos de errores de prediccion codificados del macrobloque actual de la imagen P13 se decodifica en la unidad de decodificacion de errores de prediccion 702 y se genera como una forma de imagen de error de prediccion, y los conmutadores 709 y 710 se conectan a la unidad de suma 708. Por tanto, la forma de imagen de compensacion de movimiento generada basandose en el vector de movimiento decodificado en la unidad de decodificacion de vectores de movimiento 711 se suma a la forma de imagen de error de prediccion y se envfa a la memoria de trama 707.
Ademas, cuando se decodifica un vector de movimiento de una imagen P, la unidad de decodificacion de vectores de movimiento 711 almacena su vector de movimiento y un modo de codificacion obtenido de la unidad de decodificacion de modo 703 en la unidad de almacenamiento de vectores de movimiento 706 para decodificar las siguientes imagenes y bloques.
Los restantes macrobloques de la imagen P13 se decodifican en secuencia. Despues de completar la decodificacion de todos los macrobloques de la imagen P13, sigue la decodificacion de la imagen B11.
(Decodificacion de la imagen B11)
En primer lugar, la unidad de analisis de flujo de bits 701 del aparato de decodificacion de imagenes en movimiento 700 obtiene el flujo de bits de la imagen B11, y extrae la informacion de seleccion de modo y la informacion de vectores de movimiento y los datos de errores de prediccion codificados a partir del flujo de bits.
La unidad de decodificacion de modo 703 controla los conmutadores 709 y 710 con referencia a la informacion de seleccion de modo extrafda del flujo de bits de la imagen B11.
A continuacion se explicara un caso en el que la informacion de seleccion de modo indica la codificacion de prediccion entre imagenes.
La unidad de decodificacion de vectores de movimiento 711 realiza el procesamiento de decodificacion anterior sobre la informacion de vectores de movimiento extrafda del flujo de bits de la imagen B11 en una base de bloque por bloque basandose en la informacion de seleccion de modo que indica la codificacion de prediccion entre las imagenes producidas desde la unidad de decodificacion de modo 703.
Cuando se decodifica un vector de movimiento de un bloque actual en la imagen B11, la unidad de decodificacion de vectores de movimiento 711 especifica tres bloques vecinos decodificados previamente del bloque actual, y valora si cada uno de estos bloques vecinos ha sido codificado usando o no vectores de movimiento de otros bloques. Cuando cualquiera de los bloques vecinos es un bloque que ha sido codificado usando vectores de movimiento de otros bloques, es decir, en modo directo temporal o espacial, la unidad de decodificacion de vectores de movimiento 711 trata un vector de movimiento obtenido usando los vectores de movimiento de los otros bloques para decodificar el bloque vecino como un vector de movimiento del mismo, de la misma manera que hace la unidad de codificacion de vectores de movimiento 117 en la primera forma de realizacion.
Mas espedficamente, cuando el bloque vecino ha sido codificado en modo directo temporal, la unidad de decodificacion de vectores de movimiento 711 lee desde la unidad de almacenamiento de vectores de movimiento 706 un vector de movimiento de un bloque, que se situa al lado de un bloque vecino que ha sido codificado en modo directo, en una imagen de referencia recien decodificada previamente (imagen P13). Por ejemplo, segun se muestra en la fig. 11, si el bloque vecino C ha sido codificado en modo directo temporal, la unidad de decodificacion de vectores de movimiento 711 lee el vector de movimiento decodificado del bloque X en la imagen P13 a partir de la unidad de almacenamiento de vectores de movimiento 706. A continuacion, la unidad de decodificacion de vectores de movimiento 711 calcula a un vector de movimiento en sentido directo MVFc y un vector de movimiento en sentido inverso MVBc usados para codificar el bloque vecino C usando la Ecuacion 1 y la Ecuacion 2, y usa estos vectores de movimiento MVFc y MVBc como vectores de movimiento del bloque vecino C.
En el caso anterior, la unidad de decodificacion de vectores de movimiento 711 lee a partir de la unidad de almacenamiento de vectores de movimiento 706 el vector de movimiento MVp del bloque X en la imagen P13 que se situa al lado del bloque vecino C que ha sido codificado en modo directo. Sin embargo, en cuanto a un bloque que ha sido codificado usando vectores de movimiento de otros bloques, la unidad de almacenamiento de vectores de movimiento 706 puede almacenar el vector de movimiento del bloque calculado a partir de los vectores de movimiento de los otros bloques para decodificar el bloque. En este caso, la unidad de almacenamiento de vectores
5
10
15
20
25
30
35
40
45
50
55
de movimiento 706 almacena los vectores de movimiento MVFc y MVBc con antelacion. Por tanto, cuando se decodifica el vector de movimiento del bloque actual A, la unidad de decodificacion de vectores de movimiento 711 no necesita calcular los vectores de movimiento MVFc y MVBc para el bloque vecino C leyendo el vector de movimiento MVp del bloque X y usando la Ecuacion 1 y la Ecuacion 2, sino que puede usar los vectores de movimiento MVFc y MVBc almacenados en la unidad de almacenamiento de vectores de movimiento 706 directamente como vectores de movimiento del bloque vecino C.
Por otra parte, cuando un bloque vecino ha sido codificado en modo directo espacial, la unidad de decodificacion de vectores de movimiento 711 trata los vectores de movimiento calculados usando vectores de movimiento de otros bloques en la vecindad del bloque vecino como vectores de movimiento de los mismos. Por ejemplo, en la situacion que se muestra en la fig. 12, la unidad de decodificacion de vectores de movimiento 711 calcula medianas a partir de los vectores de movimiento de los tres bloques decodificados previamente E, F y G en la vecindad del bloque vecino C que ha sido codificado en modo directo espacial, y trata el vector de movimiento en sentido inverso MVFc y el vector de movimiento en sentido directo MVBc indicados por las medianas como vectores de movimiento del bloque vecino C.
Ademas, la unidad de almacenamiento de vectores de movimiento 706 almacena vectores de movimiento usados para decodificar un bloque que ha sido codificado sin usar vectores de movimiento de otros bloques. Para ser mas concreto, en la situacion que se muestra en la fig. 12, la unidad de almacenamiento de vectores de movimiento 706 almacena los vectores de movimiento de los tres bloques E, F y G en la vecindad del bloque vecino C que ha sido codificado en modo directo espacial. Por tanto, cuando se decodifica el vector de movimiento del bloque actual A, la unidad de decodificacion de vectores de movimiento 711 calcula los vectores de movimiento MVFc y MVBc para el bloque vecino a partir de los vectores de movimiento de los tres bloques E, F y G anteriores almacenados en la unidad de almacenamiento de vectores de movimiento 706. Observese que la unidad de almacenamiento de vectores de movimiento 706 puede almacenar con antelacion vectores de movimiento obtenidos calculando medianas para decodificar un bloque que ha sido codificado usando vectores de movimiento de otros bloques. En este caso, en la situacion que se muestra en la fig. 12, la unidad de almacenamiento de vectores de movimiento 706 almacena los vectores de movimiento MVFc y MVBc con antelacion. Por tanto, cuando se decodifican los vectores de movimiento del bloque actual A, la unidad de decodificacion de vectores de movimiento 711 no necesita calcular los vectores de movimiento del bloque vecino C que ha sido codificado en modo directo espacial, sino que puede usar los vectores de movimiento MVFc y MVBc almacenados en la unidad de almacenamiento de vectores de movimiento 706 directamente como vectores de movimiento del bloque vecino C.
Aqrn, cuando se decodifican los vectores de movimiento de un bloque actual que ha de decodificarse, si el bloque vecino decodificado previamente del bloque actual ha sido procesado en codificacion intraimagen, no en codificacion entre imagenes segun se menciona anteriormente, el aparato de decodificacion de imagenes en movimiento 700 realiza un procesamiento excepcional.
Por ejemplo, cuando uno de los tres bloques vecinos se ha sometido a codificacion intraimagen, la unidad de decodificacion de vectores de movimiento 711 del aparato de decodificacion de imagenes en movimiento 700 realiza el procesamiento considerando que los vectores de movimiento del bloque vecino son 0. Cuando dos bloques vecinos se han sometido a codificacion intraimagen, la unidad de decodificacion de vectores de movimiento 711 usa los vectores de movimiento del bloque vecino restante como valores predictivos de los vectores de movimiento del bloque actual. Ademas, cuando los tres bloques vecinos se han sometido a codificacion intraimagen, la unidad de decodificacion de vectores de movimiento 711 decodifica los vectores de movimiento del bloque actual considerando que los valores predictivos de los mismos son 0.
Por otra parte, los datos de errores de prediccion codificados para el macrobloque actual de la imagen B11 han sido decodificados en la unidad de decodificacion de errores de prediccion 702 y generados como una forma de imagen de error de prediccion, y los conmutadores 709 y 710 estan conectados a la unidad de suma 708. Por tanto, la forma de imagen de compensacion de movimiento generada basandose en el vector de movimiento decodificado por la unidad de decodificacion de vectores de movimiento 711 se suma a la forma de imagen de error de prediccion y se envfa a la memoria de trama 707.
El procesamiento de decodificacion de los restantes macrobloques de la imagen B11 se realiza de la misma manera. Despues de completar el procesamiento para todos los macrobloques de la imagen B11, sigue el procesamiento de decodificacion de la imagen B12.
Segun se describe anteriormente, segun el procedimiento de decodificacion de vectores de movimiento de la presente invencion, se obtiene un valor predictivo a partir de los vectores de movimiento de bloques codificados vecinos decodificados previamente, y se decodifica un vector de movimiento de cada bloque actual usando el valor predictivo y la diferencia. Si alguno de los bloques vecinos ha sido codificado usando vectores de movimiento de otros bloques, por ejemplo, en modo de salto o modo directo, un valor predictivo se obtiene usando, como vector de movimiento del bloque vecino, un vector de movimiento calculado a partir de los vectores de movimiento de los otros bloques para decodificacion de ese bloque vecino.
5
10
15
20
25
30
35
40
45
50
55
En consecuencia, los vectores de movimiento que han sido codificados de la manera que se muestra en la primera forma de realizacion pueden decodificarse apropiadamente.
Observese que, en la presente forma de realizacion, se ha explicado un caso en el que se usa una mediana calculada a partir de vectores de movimiento de tres bloques vecinos decodificados previamente como un valor predictivo para decodificar un vector de movimiento, si bien puede aplicarse cualquier otro numero de bloques vecinos distinto a tres, y el valor predictivo puede determinarse mediante cualquier otro procedimiento. Por ejemplo, puede usarse un vector de movimiento de un bloque inmediatamente a la izquierda como valor predictivo, o una media aritmetica, en lugar de una mediana.
Ademas, en la presente forma de realizacion, las posiciones de bloques vecinos para decodificar un vector de movimiento se han explicado usando la fig. 3 y la fig. 4, aunque puede aplicarse cualquier otra posicion.
Ademas, en la presente forma de realizacion, se ha explicado un procedimiento para codificar un bloque actual usando vectores de movimiento de otros bloques tomando como ejemplos modo de salto y modos directos temporal y espacial, aunque puede usarse cualquier otro modo.
Ademas, en la presente forma de realizacion, se ha explicado un caso en el que un vector de movimiento es decodificado sumando un valor predictivo obtenido de vectores de movimiento de bloques vecinos y una diferencia segun se indica en un flujo de bits, si bien puede usarse cualquier otro procedimiento que la suma para decodificar el vector de movimiento.
Ademas, en la presente forma de realizacion, se ha explicado un caso en el que cuando un bloque vecino ha sido codificado en modo directo espacial, se calcula una mediana de vectores de movimiento de tres bloques codificados previamente en la vecindad del bloque vecino y se trata como un vector de movimiento del bloque vecino, aunque puede usarse cualquier otro numero de bloques distinto a tres, y puede usarse cualquier otro procedimiento para determinar el vector de movimiento. Por ejemplo, puede usarse un vector de movimiento de un bloque inmediatamente a la izquierda como vector de movimiento del bloque vecino, o una media aritmetica, en lugar de una mediana.
Ademas, en la presente forma de realizacion, cuando existe un bloque vecino que ha sido codificado en modo directo espacial, se calculan dos vectores de movimiento del bloque en las direcciones directa e inversa, si bien pueden calcularse dos vectores de movimiento solo en la direccion directa o dos vectores de movimiento solo en la direccion inversa. En este caso, una imagen B actual para decodificacion se refiere a dos imagenes solo en la direccion directa o dos imagenes solo en la direccion inversa.
Ademas, en la presente forma de realizacion, se ha explicado un caso en el que se refiere una imagen predeterminada a decodificacion de una imagen P (la imagen P10 se refiere a decodificacion de la imagen P13, por ejemplo) y se refieren dos imagenes predeterminadas a decodificacion de una imagen B (las imagenes P10 y P13 se refieren a decodificacion de la imagen B11), pero esta imagen P y esta imagen B pueden decodificarse seleccionando imagenes de referencia de entre una pluralidad de imagenes en cada base de macrobloques o bloques. En tal caso, puede generarse un valor predictivo de un vector de movimiento de la manera que se muestra en la fig. 17.
La fig. 17 es un organigrama que muestra el funcionamiento de la unidad de decodificacion de vectores de movimiento 711 para obtener un valor predictivo de un vector de movimiento de un bloque actual que se decodificara y decodificar el vector de movimiento usando el valor predictivo cuando una imagen de referencia se selecciona segun una base de bloque por bloque.
En primer lugar, la unidad de decodificacion de vectores de movimiento 711 especifica tres bloques vecinos decodificados previamente del bloque actual (Etapa S400).
A continuacion, la unidad de decodificacion de vectores de movimiento 711 valora si cada uno de los bloques vecinos especificados es un bloque vecino Ba que ha sido codificado usando vectores de movimiento de otros bloques, o un bloque vecino Bb que ha sido codificado sin usar vectores de movimiento de otros bloques (Etapa S402).
Aqrn, como para el bloque vecino Ba, la unidad de decodificacion de vectores de movimiento 711 obtiene informacion que indica un vector de movimiento usado para decodificar el bloque vecino Ba y la imagen de referencia a la que se refiere, y trata el vector de movimiento usado para la decodificacion como un vector de movimiento del bloque vecino Ba. Al igual que para el bloque vecino Bb, la unidad de decodificacion de vectores de movimiento 711 obtiene informacion que indica el vector de movimiento del bloque vecino Bb y la imagen de referencia a la que se refiere (Etapa S404).
A continuacion, la unidad de decodificacion de vectores de movimiento 711 especifica el bloque vecino que se refiere a la imagen a la que se refiere el bloque actual, entre los tres bloques vecinos, basandose en la informacion obtenida en la Etapa S404 (Etapa S406), y determina el numero de los bloques vecinos especificados (Etapa S408).
5
10
15
20
25
30
35
40
45
50
Si el numero de los bloques vecinos determinado en la Etapa S408 es 1, la unidad de decodificacion de vectores de movimiento 711 considera el vector de movimiento de ese bloque vecino que se refiere a la misma imagen que sera un valor predictivo del vector de movimiento del bloque actual (Etapa S410).
Si el numero de los bloques vecinos determinados en la Etapa S408 es un numero distinto a uno, la unidad de decodificacion de vectores de movimiento 711 considera que el vector de movimiento del bloque vecino, entre los tres bloques vecinos, que se refiere a otra imagen distinta a la que se refiere el bloque actual es 0 (Etapa S412), y considera la mediana de los vectores de movimiento de los tres bloques vecinos como un valor predictivo del vector de movimiento del bloque actual (Etapa S414).
Segun se describe anteriormente, el vector de movimiento codificado del bloque actual se decodifica sumando la diferencia al valor predictivo obtenido en la Etapa S410 o la Etapa S414.
Ademas, cuando un vector de movimiento se decodifica usando un vector de movimiento de un bloque adyacente espacialmente como un valor predictivo, debe almacenarse una cantidad de vectores de movimiento de 1 lmea de macrobloques (una parte de 1 macrobloque de alto y una pantalla de ancho) en la unidad de almacenamiento de vectores de movimiento 706 para decodificar el vector de movimiento, si los vectores de movimiento que se han usado realmente para compensacion de movimiento en modo de salto o modo directo se almacenan en la unidad de almacenamiento de vectores de movimiento 706. Esto se aplica al caso en el que los vectores de movimiento que se han usado realmente para compensacion de movimiento en modo de salto o modo directo se almacenan en la unidad de almacenamiento de vectores de movimiento 706. Esta es la razon por la que cuando se usan los bloques vecinos explicados en relacion con las fig. 3 y la fig. 4 de la presente forma de realizacion, existe un corte de bloques pasado 1 macrobloque que se refiere como bloques vecinos para decodificar el vector de movimiento, con el macrobloque actual como punto de partida.
(Tercera forma de realizacion)
Ademas, si se graba un programa para realizar el procedimiento de codificacion de vectores de movimiento o el procedimiento de decodificacion de vectores de movimiento segun se muestra en cada una de las formas de realizacion mencionadas anteriormente en un medio de almacenamiento como un disco flexible, se hace posible realizar el procesamiento segun se muestra en cada una de las formas de realizacion anteriores facilmente en un sistema informatico independiente.
La fig. 18 es una ilustracion de un medio de almacenamiento que almacena un programa para realizar el procedimiento de codificacion de vectores de movimiento y el procedimiento de decodificacion de vectores de movimiento ejecutado por el aparato de codificacion de imagenes en movimiento 100 en la primera forma de realizacion y el aparato de decodificacion de imagenes en movimiento 200 en la segunda forma de realizacion por un sistema informatico.
La fig. 18B muestra la vista frontal y la vista en seccion transversal de la apariencia de un disco flexible FD, y un disco FD1, y la fig. 18A muestra un ejemplo de un formato ffsico del disco FD1 como un medio de grabacion en sf.
El disco FD1 esta contenido en una caja F, se forma una pluralidad de pistas Tr concentricamente en la superficie del disco FD1 en la direccion radial desde la periferia, y cada pista se divide en 16 sectores Se en la direccion angular. Por tanto, en el disco flexible que almacena el programa mencionado anteriormente, el procedimiento de codificacion de vectores de movimiento y el procedimiento de decodificacion de vectores de movimiento como el programa anterior se graban en un area asignada para el en el disco FD1.
La fig. 18C muestra la estructura para grabar y reproducir el programa en y desde el disco flexible FD.
Para grabar el programa en el disco flexible FD, el sistema informatico Cs escribe el procedimiento de codificacion de vectores de movimiento o el procedimiento de decodificacion de vectores de movimiento como el programa en el disco flexible FD por medio de un lector de discos flexibles FDD. Para construir el procedimiento de codificacion anterior de vectores de movimiento y el procedimiento de decodificacion de vectores de movimiento en el sistema informatico Cs mediante el programa grabado en el disco flexible FD, el programa es lefdo desde el disco flexible FD por medio del lector de discos flexibles FDD y transferido al sistema informatico Cs.
Observese que la explicacion anterior se realiza segun el supuesto de que un medio de grabacion es un disco flexible FD, pero el mismo procesamiento puede realizarse tambien usando un disco optico. Ademas, el medio de grabacion no se limita a estos, sino que puede usarse de la misma manera cualquier otro medio como una tarjeta CI o una casete ROM si es posible grabar un programa en ellos.
(Cuarta forma de realizacion)
Ademas, se explicaran aqrn las aplicaciones del procedimiento de codificacion de vectores de movimiento y el procedimiento de decodificacion de vectores de movimiento segun se muestra en las formas de realizacion anteriores y un sistema que los usa.
5
10
15
20
25
30
35
40
45
50
55
La fig. 19 es un diagrama de bloques que muestra la configuracion general de un sistema de suministro de contenidos ex100 para realizar el servicio de distribucion de contenidos. El area para proporcionar el servicio de comunicacion esta dividida en celdas del tamano deseado, y se colocan estaciones de base ex107~ex110 que son estaciones inalambricas fijas en celdas respectivas.
En este sistema de suministro de contenidos ex100, se conectan varios dispositivos como un ordenador ex111, una PDA (asistente digital personal) ex112, una camara ex113, un telefono movil ex114 y un telefono movil equipado con camara ex115 a Internet ex101, por medio de un proveedor de servicios de Internet ex102, una red telefonica ex104 y estaciones de base ex107~ex110, por ejemplo.
Sin embargo, el sistema de suministro de contenidos ex100 no se limita a la combinacion segun se muestra en la fig. 19, y puede conectarse a una combinacion de cualquiera de ellos. Ademas, cada dispositivo puede conectarse directamente a la red telefonica ex104, no a traves de las estaciones de base ex107~ex110 que son las estaciones inalambricas fijas.
La camara ex113 es un dispositivo como una videocamara digital capaz de obtener imagenes en movimiento. El telefono movil puede ser cualquiera entre un telefono movil de un sistema PDC (Personal Digital Communications), un sistema CDMA (Code Multiple Division Access), un sistema W-CDMA (Wideband-Code Multiple Division Access) o un sistema GSM (Global System for Mobile Communications), un PHS (Personal Handyphone System) y similares.
Ademas, se conecta un servidor de flujo continuo ex103 a la camara ex113 por medio de la estacion de base ex109 y la red telefonica ex104, lo que permite la distribucion en directo o similar usando la camara ex113 basandose en los datos codificados emitidos desde el usuario. La camara ex113 o el servidor para emitir los datos pueden codificar las tomas de datos de la camara. Ademas, la toma de datos de imagenes en movimiento por una camara ex116 puede emitirse al servidor de flujo continuo ex103 por medio del ordenador ex111. La camara ex116 es un dispositivo como una camara digital capaz de obtener imagenes fijas y en movimiento. En este caso, la camara ex116 o el ordenador ex111 pueden codificar los datos de las imagenes en movimiento. Un LSI ex117 incluido en el ordenador ex111 o la camara ex116 realiza el procesamiento de codificacion. Observese que el software para codificacion y decodificacion de las imagenes puede estar integrado en cualquier tipo de un medio de almacenamiento (como un CD-ROM, un disco flexible y un disco duro) que es un medio de grabacion que puede ser lefdo por el ordenador ex111 o similar. Ademas, el telefono movil provisto de camara ex115 puede emitir los datos de imagenes en movimiento. Estos datos de imagenes en movimiento son los datos codificados por el LSI incluido en el telefono movil ex115.
En esta sistema de suministro de contenidos ex100, los contenidos (como un video de musica en directo) tomados por los usuarios usando la camara ex113, la camara ex116 o similar se codifican de la misma manera que las formas de realizacion anteriores y se emiten al servidor de flujo continuo ex103, mientras el servidor de flujo continuo ex103 realiza distribucion continua de los datos del contenido anterior a los clientes a peticion de estos. Los clientes incluyen el ordenador ex111, la PDA ex112, la camara ex113, el telefono movil ex114 y demas elementos capaces de decodificar los datos codificados mencionados anteriormente. El sistema de suministro de contenidos ex100 es un sistema en el que los clientes pueden asf recibir y reproducir los datos codificados, y ademas pueden recibir, decodificar y reproducir los datos en tiempo real de manera que pueda realizarse una difusion personal.
Cuando cada dispositivo de este sistema realiza codificacion o decodificacion, puede usarse el aparato de codificacion de imagenes en movimiento o el aparato de decodificacion de imagenes en movimiento segun se muestra en cada una de las formas de realizacion mencionadas anteriormente.
Se explicara un telefono movil como un ejemplo de las mismas.
La fig. 20 es un diagrama que muestra un telefono movil ex115 que usa el procedimiento de codificacion de vectores de movimiento y el procedimiento de decodificacion de vectores de movimiento segun se explica en las formas de realizacion anteriores. El telefono movil ex115 tiene una antena ex201 para enviar y recibir ondas de radio entre la estacion de base ex110, una unidad de camara ex203 como una camara CCD capaz de tomar imagenes de video y fijas, una unidad de pantalla ex202 como una pantalla de cristal lfquido para mostrar los datos obtenidos por tomas de video de decodificacion por parte de la unidad de camara ex203, video recibido por la antena ex201, o similar, un cuerpo principal que incluye un conjunto de teclas de funcionamiento ex204, una unidad de salida de voz ex208 como un altavoz para producir voces, una unidad de entrada de voz ex205 como un microfono para introducir voces, un medio de almacenamiento ex207 para almacenar datos codificados o decodificados, como datos de imagenes en movimiento o fijas tomadas por la camara, y datos de texto, imagenes en movimiento o imagenes fijas de mensajes de correo electronico recibidos, y una unidad de ranura ex206 para fijar el medio de almacenamiento ex207 en el telefono movil ex115. El medio de almacenamiento ex207 incluye un elemento de memoria flash, una clase de EEPROM (Memoria de Solo Lectura Programable y Borrable Electricamente) que es una memoria no volatil borrable y reescribible electricamente, en una caja de plastico como una tarjeta SD.
Ademas, el telefono movil ex115 se explicara con referencia a la fig. 21. En el telefono movil ex115, se conecta una unidad de control principal ex311 para control global de cada unidad del cuerpo principal que incluye la unidad de pantalla ex202 y las teclas de funcionamiento ex204 a una unidad de circuito de fuente de alimentacion ex310, una
5
10
15
20
25
30
35
40
45
50
55
unidad de control de entrada de operacion ex304, una unidad de codificacion de la imagen ex312, una unidad de interfaz de camara ex303, una unidad de control LCD (Pantalla de Cristal Lfquido) ex302, una unidad de comunicacion de imagenes ex309, una unidad de multiplexado/demultiplexado ex308, una unidad de grabacion/reproduccion ex307, una unidad de circuito de modem ex306 y una unidad de tratamiento de voz ex305 entre s^ por medio de un bus smcrono ex313.
Cuando una tecla de fin de llamada o de potencia se ACTIVA por la accion de un usuario, la unidad de circuito de fuente de alimentacion ex310 suministra a las unidades respectivas potencia desde una batena de manera que se activa el telefono movil digital provisto de camara ex115 para un estado estacionario.
En el telefono movil ex115, bajo el control de la unidad de control principal ex311 que incluye una CPU, ROM, RAM y similar, la unidad de tratamiento de voz ex305 convierte las senales de voz recibidas por la unidad de entrada de voz ex205 en modo de conversacion en datos de voz digital, la unidad de circuito de modem ex306 realiza procesamiento de espectro ensanchado de los datos de voz digital, y la unidad de circuitos de envm/recepcion ex301 realiza conversion digital-analogica y transformacion de frecuencia de los datos, de manera que se transmita el resultado por medio de la antena ex201. Ademas, en el telefono movil ex115, los datos recibidos por la antena ex201 en modo conversacion se amplifican y se someten a transformacion de frecuencia y conversion analogicodigital, la unidad de circuito de modem ex306 realiza procesamiento inverso de espectro ensanchado de los datos, y la unidad de tratamiento de voz ex305 la convierte en datos de voz analogicos, de manera que se emita el resultado por medio de la unidad de salida de voz ex208.
Ademas, cuando se envfa un mensaje de correo electronico en modo de comunicacion de datos, los datos de texto del mensaje de correo electronico introducido accionando las teclas de funcionamiento ex204 en el cuerpo principal son enviados a la unidad de control principal ex311 por medio de la unidad de control de entrada de funcionamiento ex304. En la unidad de control principal ex311, despues de que la unidad de circuito de modem ex306 realiza procesamiento de espectro ensanchado de los datos de texto y la unidad de circuitos de envm/recepcion ex301 realiza conversion digital-analogica y transformacion de frecuencia de los mismos, el resultado se envfa a la estacion de base ex110 por medio de la antena ex201.
Cuando los datos de imagenes se emiten en modo de comunicacion de datos, los datos de imagenes tomados por la unidad de camara ex203 se proporcionan a la unidad de codificacion de la imagen ex312 por medio de la unidad de interfaz de la camara ex303. Cuando los datos de imagenes no se emiten, los datos de imagenes tomados por la unidad de camara ex203 pueden visualizarse tambien directamente en la unidad de pantalla 202 por medio de la unidad de interfaz de la camara ex303 y la unidad de control LCD ex302.
La unidad de codificacion de la imagen ex312, que incluye el aparato de codificacion de imagenes explicado en la presente invencion, comprime y codifica los datos de imagenes proporcionados desde la unidad de camara ex203 por el procedimiento de codificacion usado para el aparato de codificacion de imagenes segun se muestra en las formas de realizacion mencionadas anteriormente de manera que los transformen en datos de imagenes codificados, y los envfa a la unidad de multiplexado/demultiplexado ex308. En ese momento, el telefono movil ex115 envfa las voces recibidas por la unidad de entrada de voz ex205 durante la captacion de imagenes por la unidad de camara ex203 a la unidad de multiplexado/demultiplexado ex308 como datos de voz digital por medio de la unidad de tratamiento de voz ex305.
La unidad de multiplexado/demultiplexado ex308 multiplexa los datos de imagenes codificados proporcionados desde la unidad de codificacion de la imagen ex312 y los datos de voz proporcionados desde la unidad de tratamiento de voz ex305 por un procedimiento predeterminado, la unidad de circuito de modem ex306 realiza procesamiento de espectro ensanchado de los datos multiplexados resultantes, y la unidad de circuitos de envm/recepcion ex301 realiza conversion digital-analogica y transformacion de frecuencia sobre el resultado para su emision por medio de la antena ex201.
Al igual que para la recepcion de datos de un archivo 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 procesamiento inverso de espectro ensanchado de los datos recibidos de la estacion de base ex110 por medio de la antena ex201, y envfa los datos multiplexados resultantes a la unidad de multiplexado/demultiplexado ex308.
Con el fin de decodificar los datos multiplexados recibidos por medio de la antena ex201, la unidad de multiplexado/demultiplexado ex308 demultiplexa los datos multiplexados en un flujo codificado de bits de datos de imagenes y un flujo codificado de bits de datos de voz, y proporciona datos de imagenes codificados a la unidad de comunicacion de imagenes ex309 y los datos de voz a la unidad de tratamiento de voz ex305 respectivamente por medio del bus smcrono ex313.
A continuacion, la unidad de comunicacion de imagenes ex309, que incluye el aparato de decodificacion de imagenes explicado en la presente invencion, decodifica el flujo codificado de bits de los datos de imagenes por el procedimiento de decodificacion emparejado con el procedimiento de codificacion segun se muestra en las formas de realizacion mencionadas anteriormente, de manera que se generen los datos de las imagenes en movimiento reproducidas, y proporciona estos datos a la unidad de pantalla ex202 por medio de la unidad de control LCD ex302,
5
10
15
20
25
30
35
40
45
50
55
y as^ se muestran los datos de imagenes en movimiento incluidos en un archivo de imagenes en movimiento vinculado, por ejemplo, a una pagina web. Al mismo tiempo, la unidad de tratamiento de voz ex305 convierte los datos de voz en datos de voz analogica, y proporciona estos datos a la unidad de salida de voz ex208, y asf se reproducen los datos de voz incluidos en un archivo de imagenes en movimiento vinculado, por ejemplo, a una pagina web.
La presente invencion no se limita al sistema mencionado anteriormente. Ultimamente han sido noticia medios de difusion digital por satelite o de base terrestre, y al menos el aparato de codificacion de imagenes o el aparato de decodificacion de imagenes en las formas de realizacion mencionadas anteriormente pueden incorporarse en dicho sistema de difusion digital segun se muestra en la fig. 22. Mas espedficamente, se emite un flujo codificado de bits de informacion de video desde una estacion de difusion ex409 a o en comunicacion con un satelite de difusion ex410 por medio de ondas de radio. Al recibirlo, el satelite de difusion ex410 emite ondas de radio para difusion, una antena domestica ex406 con una funcion de recepcion de difusion desde satelite recibe las ondas de radio, y un aparato como una television (receptor) ex401 o un decodificador digital (DD) ex407 decodifica el flujo codificado de bits para reproduccion. El aparato de decodificacion de imagenes segun se muestra en las formas de realizacion mencionadas anteriormente puede implementarse en el dispositivo de reproduccion ex403 para leer un flujo codificado de bits grabado en un medio de almacenamiento ex402 como un CD y DVD que es un medio de grabacion y decodificacion de los mismos. En este caso, las senales de video reproducidas se visualizan en un monitor ex404. Tambien se concibe para implementar el aparato de decodificacion de imagenes en el decodificador digital ex407 conectado a un cable ex405 para una television por cable o a la antena ex406 para difusion por satelite y/o de base terrestre de manera que las reproduzca en un monitor ex408 de la television. El aparato de decodificacion de imagenes puede estar incorporado en la television, no en el decodificador digital. O bien, un automovil ex412 que tiene una antena ex411 puede recibir senales del satelite ex410, la estacion de base ex107 o similar para reproducir imagenes en movimiento en un aparato de visualizacion como un dispositivo de navegacion en automovil ex413 o similar en el automovil ex412.
Ademas, el aparato de codificacion de imagenes segun se muestra en las formas de realizacion mencionadas anteriormente puede codificar senales de imagenes para grabarlas en un medio de grabacion. Como un ejemplo concreto, existe un grabador ex420 como un grabador de DVD para grabar senales de imagenes en un disco DVD ex421 y un disco grabador para grabarlos en un disco duro. Tambien pueden grabarse en una tarjeta SD ex422. Si el grabador ex420 incluye el aparato de decodificacion de imagenes segun se muestra en las formas de realizacion mencionadas anteriormente, las senales de imagenes grabadas en el disco DVD ex421 o la tarjeta SD ex422 pueden reproducirse para visualizacion en el monitor ex408.
Observese que al igual que la estructura del dispositivo de navegacion en automovil ex413, es concebible la estructura sin la unidad de camara ex203, la unidad de interfaz de la camara ex303 y la unidad de codificacion de la imagen ex312, entre las unidades segun se muestra en la fig. 21. Lo mismos se aplica al ordenador ex111, la television (receptor) ex401 y otros.
Ademas, pueden concebirse tres tipos de implementaciones para un terminal como el telefono movil ex114 mencionado anteriormente; un terminal de envfo/recepcion equipado con un codificador y un decodificador, un terminal de envfo equipado solo con un codificador, y un terminal de recepcion equipado solo con un decodificador.
Segun se describe anteriormente, es posible usar el procedimiento de codificacion de vectores de movimiento o el procedimiento de decodificacion de vectores de movimiento segun se muestra en las formas de realizacion anteriores en cualquiera de los dispositivos y sistemas mencionados anteriormente, y asf pueden obtenerse los efectos explicados en las formas de realizacion anteriores.
Aplicabilidad industrial
El procedimiento de codificacion de vectores de movimiento y el procedimiento de decodificacion de vectores de movimiento segun la presente invencion son adecuados para su uso en un aparato de codificacion de imagenes en movimiento para codificacion de imagenes en movimiento, un aparato de decodificacion de imagenes en movimiento para decodificacion de imagenes en movimiento codificadas, y un sistema que incluya estos aparatos, como un sistema de suministro de contenidos para proporcionar contenidos como, por ejemplo, obras digitales y un sistema de difusion digital.
Lista de formas de realizacion adicionales de la invencion
Forma de realizacion 1 Un procedimiento de codificacion de vectores de movimiento para codificar un vector de movimiento de un bloque actual en una imagen en movimiento, que comprende:
una etapa de especificacion de bloque vecino para especificar un bloque vecino que esta situado en la vecindad del bloque actual y que ya ha sido codificado;
una etapa de valoracion para valorar si el bloque vecino ha sido codificado o no usando un vector de movimiento de otro bloque;
5
10
15
20
25
30
35
40
45
50
una etapa de prediccion para obtener un vector de movimiento predictivo del bloque actual usando un vector de movimiento calculado a partir del vector de movimiento de dicho otro bloque como un vector de movimiento del bloque vecino, cuando se valora en la etapa de valoracion que el bloque vecino ha sido codificado usando el vector de movimiento de dicho otro bloque; y una etapa de codificacion para codificar el vector de movimiento del bloque actual usando el vector de movimiento predictivo.
Forma de realizacion 2 El procedimiento de codificacion de vectores de movimiento con las caractensticas de la forma de realizacion 1, en el que el bloque vecino que se valora que ha sido codificado usando el vector de movimiento de dicho otro bloque en la etapa de valoracion incluye un bloque vecino que ha sido codificado usando un vector de movimiento calculado a partir de un vector de movimiento de otro bloque situado temporalmente delante o detras del bloque vecino.
Forma de realizacion 3 El procedimiento de codificacion de vectores de movimiento con las caractensticas de la forma de realizacion 1, en el que el bloque vecino que se valora que ha sido codificado usando el vector de movimiento de dicho otro bloque en la etapa de valoracion incluye un bloque vecino que ha sido codificado usando un vector de movimiento calculado a partir de un vector de movimiento de otro bloque en la imagen que incluye el bloque vecino.
Forma de realizacion 4 El procedimiento de codificacion de vectores de movimiento con las caractensticas de la forma de realizacion 1, que comprende ademas una etapa de almacenamiento para almacenar con antelacion el vector de movimiento calculado a partir del vector de movimiento de dicho otro bloque, cuando el bloque vecino se codifica usando el vector de movimiento de dicho otro bloque,
en el que en la etapa de prediccion, el vector de movimiento predictivo se obtiene usando el vector de movimiento almacenado en la etapa de almacenamiento como el vector de movimiento del bloque vecino, cuando se valora en la etapa de valoracion que el bloque vecino ha sido codificado usando el vector de movimiento de dicho otro bloque.
Forma de realizacion 5 El procedimiento de codificacion de vectores de movimiento con las caractensticas de la forma de realizacion 1, que comprende ademas una etapa de almacenamiento para almacenar con antelacion el vector de movimiento de dicho otro bloque utilizado para codificar el bloque vecino,
en el que en la etapa de prediccion, el vector de movimiento utilizado como el vector de movimiento del bloque vecino se calcula a partir del vector de movimiento almacenado en la etapa de almacenamiento y el vector de movimiento predictivo se obtiene a partir de dicho vector de movimiento calculado, cuando se valora en la etapa de valoracion que el bloque vecino ha sido codificado usando el vector de movimiento de dicho otro bloque.
Forma de realizacion 6 El procedimiento de codificacion de vectores de movimiento con las caractensticas de la forma de realizacion 1, en el que en un caso en que dicho otro bloque tiene dos vectores de movimiento, el vector de movimiento predictivo se obtiene en sentido directo temporalmente y en sentido inverso temporalmente por separado en la etapa de prediccion, y el vector de movimiento del bloque actual se codifica en sentido directo temporalmente y en sentido inverso temporalmente por separado en la etapa de codificacion.
Forma de realizacion 7 El procedimiento de codificacion de vectores de movimiento con las caractensticas de la forma de realizacion 1, en el que en un caso en que dicho otro bloque tiene un vector de movimiento especificado en sentido directo temporalmente y un vector de movimiento especificado en sentido inverso temporalmente, el vector de movimiento predictivo que incluye dos vectores de movimiento predictivo se obtiene en la etapa de prediccion, uno en sentido directo temporalmente y el otro en sentido inverso temporalmente por separado, y el vector de movimiento del bloque actual que incluye dos vectores de movimiento se codifica en la etapa de codificacion, uno en sentido directo temporalmente y el otro en sentido inverso temporalmente por separado.
Forma de realizacion 8 Un procedimiento de decodificacion de vectores de movimiento para decodificar un vector de movimiento codificado de un bloque actual en una imagen en movimiento, que comprende:
una etapa de especificacion de bloque vecino para especificar un bloque vecino que esta situado en la vecindad del bloque actual y que ya ha sido decodificado;
una etapa de valoracion para valorar si el bloque vecino ha sido codificado o no usando un vector de movimiento de otro bloque;
una etapa de prediccion para obtener un vector de movimiento predictivo del bloque actual usando un vector de movimiento calculado a partir del vector de movimiento de dicho otro bloque como un vector de movimiento del bloque vecino, cuando se valora en la etapa de valoracion que el bloque vecino ha sido codificado usando el vector de movimiento de dicho otro bloque; y una etapa de decodificacion para decodificar el vector de movimiento codificado del bloque actual usando el vector de movimiento predictivo.
Forma de realizacion 9 El procedimiento de decodificacion de vectores de movimiento con las caractensticas de la forma de realizacion 8,
5
10
15
20
25
30
35
40
45
50
en el que el bloque vecino que se valora que ha sido codificado usando el vector de movimiento de dicho otro bloque en la etapa de valoracion incluye un bloque vecino que ha sido codificado usando un vector de movimiento calculado a partir de un vector de movimiento de otro bloque situado temporalmente delante o detras del bloque vecino.
Forma de realizacion 10 El procedimiento de decodificacion de vectores de movimiento con las caractensticas de la forma de realizacion 8,
en el que el bloque vecino que se valora que ha sido codificado usando el vector de movimiento de dicho otro bloque en la etapa de valoracion incluye un bloque vecino que ha sido codificado usando un vector de movimiento calculado a partir de un vector de movimiento de otro bloque en la imagen que incluye el bloque vecino.
Forma de realizacion 11 El procedimiento de decodificacion de vectores de movimiento con las caractensticas de la forma de realizacion 8,
que comprende ademas una etapa de almacenamiento para almacenar con antelacion el vector de movimiento calculado a partir del vector de movimiento de dicho otro bloque, cuando el bloque vecino se decodifica usando el vector de movimiento de dicho otro bloque,
en el que en la etapa de prediccion, el vector de movimiento predictivo se obtiene usando el vector de movimiento almacenado en la etapa de almacenamiento como el vector de movimiento del bloque vecino, cuando se valora en la etapa de valoracion que el bloque vecino ha sido codificado usando el vector de movimiento de dicho otro bloque.
Forma de realizacion 12 El procedimiento de decodificacion de vectores de movimiento con las caractensticas de la forma de realizacion 8,
que comprende ademas una etapa de almacenamiento para almacenar con antelacion el vector de movimiento de dicho otro bloque utilizado para decodificar el bloque vecino,
en el que en la etapa de prediccion, el vector de movimiento utilizado como el vector de movimiento del bloque vecino se calcula a partir del vector de movimiento almacenado en la etapa de almacenamiento y el vector de movimiento predictivo se obtiene a partir de dicho vector de movimiento calculado, cuando se valora en la etapa de valoracion que el bloque vecino ha sido codificado usando el vector de movimiento de dicho otro bloque.
Forma de realizacion 13 El procedimiento de decodificacion de vectores de movimiento con las caractensticas de la forma de realizacion 8,
en el que en un caso en que dicho otro bloque tiene dos vectores de movimiento, el vector de movimiento predictivo se obtiene en sentido directo temporalmente y en sentido inverso temporalmente por separado en la etapa de prediccion, y el vector de movimiento codificado del bloque actual se decodifica en sentido directo temporalmente y en sentido inverso temporalmente por separado en la etapa de decodificacion.
Forma de realizacion 14 El procedimiento de decodificacion de vectores de movimiento con las caractensticas de la forma de realizacion 8,
en el que en un caso en que dicho otro bloque tiene un vector de movimiento especificado en sentido directo temporalmente y un vector de movimiento especificado en sentido inverso temporalmente, el vector de movimiento predictivo que incluye dos vectores de movimiento predictivo se obtiene en la etapa de prediccion, uno en sentido directo temporalmente y el otro en sentido inverso temporalmente por separado, y el vector de movimiento codificado del bloque actual que incluye dos vectores de movimiento se decodifica en la etapa de decodificacion, uno en sentido directo temporalmente y el otro en sentido inverso temporalmente por separado.
Forma de realizacion 15 Un aparato de codificacion de vectores de movimiento para codificar un vector de movimiento de un bloque actual en una imagen en movimiento, que comprende:
una unidad de especificacion de bloque vecino accionable para especificar un bloque vecino que esta situado en la vecindad del bloque actual y que ya ha sido codificado;
una unidad de valoracion accionable para valorar si el bloque vecino ha sido codificado o no usando un vector de movimiento de otro bloque;
una unidad de prediccion accionable para obtener un vector de movimiento predictivo del bloque actual usando un vector de movimiento calculado a partir del vector de movimiento de dicho otro bloque como un vector de movimiento del bloque vecino, cuando la unidad de valoracion valora que el bloque vecino ha sido codificado usando el vector de movimiento de dicho otro bloque; y
una unidad de codificacion accionable para codificar el vector de movimiento del bloque actual usando el vector de movimiento predictivo.
5
10
15
20
25
30
Forma de realizacion 16 Un aparato de codificacion de imagenes en movimiento para codificar una imagen en movimiento, que comprende:
el aparato de codificacion de vectores de movimiento con las caractensticas de la forma de realizacion 15; y
una unidad de codificacion de imagenes accionable para codificar la imagen correspondiente al vector de movimiento que ha sido codificado por dicho aparato de codificacion de vectores de movimiento.
Forma de realizacion 17 Un aparato de decodificacion de vectores de movimiento para decodificar un vector de movimiento codificado de un bloque actual en una imagen en movimiento, que comprende:
una unidad de especificacion de bloque vecino accionable para especificar un bloque vecino que esta situado en la vecindad del bloque actual y que ya ha sido decodificado;
una unidad de valoracion accionable para valorar si el bloque vecino ha sido codificado o no usando un vector de movimiento de otro bloque;
una unidad de prediccion accionable para obtener un vector de movimiento predictivo del bloque actual usando un vector de movimiento calculado a partir del vector de movimiento de dicho otro bloque como un vector de movimiento del bloque vecino, cuando la unidad de valoracion valora que el bloque vecino ha sido codificado usando el vector de movimiento de dicho otro bloque; y
una unidad de decodificacion accionable para decodificar el vector de movimiento codificado del bloque actual usando el vector de movimiento predictivo.
Forma de realizacion 18 Un aparato de decodificacion de imagenes en movimiento para decodificar una imagen en movimiento codificada, que comprende:
el aparato de decodificacion de vectores de movimiento con las caractensticas de la forma de realizacion 17; y
una unidad de decodificacion de imagenes accionable para decodificar la imagen codificada correspondiente al vector de movimiento que ha sido decodificado por dicho aparato de decodificacion de vectores de movimiento.
Forma de realizacion 19 Un programa que hace que un ordenador ejecute las etapas incluidas en el procedimiento de codificacion de vectores de movimiento con las caractensticas de la forma de realizacion 1.
Forma de realizacion 20 Un programa que hace que un ordenador ejecute las etapas incluidas en el procedimiento de decodificacion de vectores de movimiento con las caractensticas de la forma de realizacion 8.
Forma de realizacion 21 Un medio de almacenamiento para almacenar el programa con las caractensticas de la realizacion 19.
Forma de realizacion 22 Un medio de almacenamiento para almacenar el programa con las caractensticas de la realizacion 20.
Claims (2)
- 5101520253035404550REIVINDICACIONES1. Un procedimiento de decodificacion de imagenes para decodificar una imagen en movimiento codificada, comprendiendo dicho procedimiento:especificar (S210, S400) tres bloques vecinos (B, C, D), estando situados los tres bloques en una vecindad del bloque actual y habiendo sido ya decodificados;valorar (S202, S402) si cada uno de los tres bloques vecinos ha sido decodificado usando un vector de movimiento de otro bloque, y valorar (S404) ademas si una imagen de referencia a la que se hace referencia en la decodificacion del bloque actual es la misma que una imagen de referencia a la que se hace referencia en la decodificacion de cada uno de los tres bloques vecinos;obtener (S206, S208, S414) un vector de movimiento predictivo del bloque actual como una mediana de los vectores de movimiento de los tres bloques vecinos cuando se valora, en dicha valoracion (S404), que mas de uno de los tres bloques vecinos se refiere a la misma imagen de referencia que el bloque actual;decodificar un vector de movimiento codificado del bloque actual para obtener un vector de movimiento diferencial decodificado del bloque actual;recuperar un vector de movimiento del bloque actual sumando (S210, S416) el vector de movimiento diferencial decodificado del bloque actual y el vector de movimiento predictivo;generar una imagen con compensacion de movimiento usando el vector de movimiento recuperado del bloque actual y una imagen de referencia correspondiente al vector de movimiento recuperado del bloque actual;decodificar un error de prediccion codificado del bloque actual para obtener un error de prediccion decodificado del boque actual; yrecuperar el bloque actual sumando el error de prediccion decodificado y la imagen con compensacion de movimiento,caracterizado por queen el caso en el que al menos uno de los tres bloques vecinos sea codificado en un modo de salto, en el que dicho un bloque vecino se codifica usando el vector de movimiento de dicho otro bloque,el vector de movimiento de dicho un bloque vecino se calcula a partir del vector de movimiento de dicho otro bloque; y el vector de movimiento predictivo del bloque actual se obtiene en dicha obtencion usando el vector de movimiento de dicho un bloque vecino que se calcula a partir del vector de movimiento de dicho otro bloque.
- 2. Un aparato (700) de decodificacion de imagenes para decodificar una imagen en movimiento codificada, comprendiendo dicho aparato:una unidad de especificacion de bloque vecino (711) accionable para especificar tres bloques vecinos, estando situados los tres bloques vecinos en una vecindad de un bloque actual y habiendo sido ya decodificados;una unidad de valoracion (711) accionable para valorar si cada uno de los tres bloques vecinos ha sido decodificado usando un vector de movimiento de otro bloque, y accionable ademas para valorar si una imagen de referencia a la que se hace referencia en la decodificacion del bloque actual es la misma que una imagen de referencia a la que se hace referencia en la decodificacion de cada uno de los tres bloques vecinos;una unidad de prediccion (711) accionable para obtener un vector de movimiento predictivo del bloque actual para ser una mediana de los vectores de movimiento de los tres bloques vecinos cuando se valora, en dicha unidad de valoracion (711), que mas de uno de los tres bloques vecinos se refiere a la misma imagen de referencia que el bloque actual;una unidad de decodificacion (711) del vector de movimiento accionable para decodificar un vector de movimiento codificado para obtener un vector de movimiento diferencial decodificado del bloque actual;una unidad de recuperacion (711) de vector de movimiento accionable para recuperar un vector de movimiento del bloque actual sumando el vector de movimiento diferencial decodificado del bloque actual y el vector de movimiento predictivo;una unidad de compensacion de movimiento accionable para generar una imagen con compensacion de movimiento usando el vector de movimiento recuperado del bloque actual y una imagen de referencia correspondiente al vector de movimiento recuperado de bloque actual;una unidad de decodificacion (711) de error de prediccion accionable para decodificar un error de prediccion codificado del bloque actual para obtener un error de prediccion decodificado del bloque actual; yuna unidad de recuperacion de imagen accionable para recuperar el bloque actual sumando el error de prediccion decodificado y la imagen con compensacion de movimiento,caracterizado por queen el caso en el que al menos uno de los tres bloques vecinos sea codificado en un modo de salto, en el que dicho 5 un bloque vecino se codifica usando el vector de movimiento de dicho otro bloque,el vector de movimiento de dicho un bloque vecino se calcula a partir del vector de movimiento de dicho otro bloque; y el vector de movimiento predictivo del bloque actual se obtiene en dicha unidad de prediccion (711), usando el vector de movimiento de dicho un bloque vecino que se calcula a partir del vector de movimiento de dicho otro bloque.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002001983 | 2002-01-09 | ||
JP2002001983 | 2002-01-09 | ||
JP2002204714 | 2002-07-12 | ||
JP2002204714 | 2002-07-12 | ||
JP2002346062 | 2002-11-28 | ||
JP2002346062A JP4114859B2 (ja) | 2002-01-09 | 2002-11-28 | 動きベクトル符号化方法および動きベクトル復号化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2600786T3 true ES2600786T3 (es) | 2017-02-10 |
Family
ID=27348065
Family Applications (11)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES10169913T Expired - Lifetime ES2408013T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de decodificación de vectores de movimiento |
ES10169919T Expired - Lifetime ES2408241T3 (es) | 2002-01-09 | 2003-01-08 | Aparato de codificación de imágenes en movimiento |
ES10169923T Expired - Lifetime ES2441222T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de codificación de imágenes y aparato de codificación de imágenes |
ES10169922T Expired - Lifetime ES2408245T3 (es) | 2002-01-09 | 2003-01-08 | Aparato de decodificación de imágenes en movimiento |
ES10187172.1T Expired - Lifetime ES2600520T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de codificación de vectores de movimiento |
ES10187151.5T Expired - Lifetime ES2600786T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de decodificación de vectores de movimiento |
ES10169926T Expired - Lifetime ES2410533T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de decodificación de vectores de movimiento |
ES10187156T Expired - Lifetime ES2392513T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de decodificación de vectores de movimiento |
ES10169924T Expired - Lifetime ES2441223T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de decodificación de imágenes y aparato de decodificación de imágenes |
ES10187162T Expired - Lifetime ES2388814T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de codificación de vectores de movimiento |
ES10169925T Expired - Lifetime ES2408214T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de codificación de vectores de movimiento |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES10169913T Expired - Lifetime ES2408013T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de decodificación de vectores de movimiento |
ES10169919T Expired - Lifetime ES2408241T3 (es) | 2002-01-09 | 2003-01-08 | Aparato de codificación de imágenes en movimiento |
ES10169923T Expired - Lifetime ES2441222T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de codificación de imágenes y aparato de codificación de imágenes |
ES10169922T Expired - Lifetime ES2408245T3 (es) | 2002-01-09 | 2003-01-08 | Aparato de decodificación de imágenes en movimiento |
ES10187172.1T Expired - Lifetime ES2600520T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de codificación de vectores de movimiento |
Family Applications After (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES10169926T Expired - Lifetime ES2410533T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de decodificación de vectores de movimiento |
ES10187156T Expired - Lifetime ES2392513T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de decodificación de vectores de movimiento |
ES10169924T Expired - Lifetime ES2441223T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de decodificación de imágenes y aparato de decodificación de imágenes |
ES10187162T Expired - Lifetime ES2388814T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de codificación de vectores de movimiento |
ES10169925T Expired - Lifetime ES2408214T3 (es) | 2002-01-09 | 2003-01-08 | Procedimiento de codificación de vectores de movimiento |
Country Status (18)
Country | Link |
---|---|
US (22) | US7362807B2 (es) |
EP (12) | EP2249573B1 (es) |
JP (1) | JP4114859B2 (es) |
KR (4) | KR100946846B1 (es) |
CN (1) | CN1295934C (es) |
AT (1) | ATE493846T1 (es) |
AU (1) | AU2003201906B2 (es) |
BR (2) | BRPI0302580B1 (es) |
CA (3) | CA2762023C (es) |
CY (5) | CY1114049T1 (es) |
DE (1) | DE60335516D1 (es) |
DK (12) | DK2249576T3 (es) |
ES (11) | ES2408013T3 (es) |
HU (2) | HUE031077T2 (es) |
MX (1) | MXPA03007629A (es) |
PT (11) | PT2249578E (es) |
SI (5) | SI2249573T1 (es) |
WO (1) | WO2003061297A1 (es) |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6765964B1 (en) | 2000-12-06 | 2004-07-20 | Realnetworks, Inc. | System and method for intracoding video data |
KR100424762B1 (ko) * | 2001-09-06 | 2004-03-30 | 삼성전자주식회사 | 영상 데이터 제공 시스템 및 방법 |
US7003035B2 (en) | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
US20040001546A1 (en) | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
KR100906473B1 (ko) * | 2002-07-18 | 2009-07-08 | 삼성전자주식회사 | 개선된 움직임 벡터 부호화 및 복호화 방법과 그 장치 |
US7154952B2 (en) * | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
NO318318B1 (no) * | 2003-06-27 | 2005-02-28 | Tandberg Telecom As | Fremgangsmate for forbedret koding av video |
US7609763B2 (en) * | 2003-07-18 | 2009-10-27 | Microsoft Corporation | Advanced bi-directional predictive coding of video frames |
US8064520B2 (en) * | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
FR2860678A1 (fr) * | 2003-10-01 | 2005-04-08 | Thomson Licensing Sa | Procede de codage differentiel |
US7480334B2 (en) * | 2003-12-23 | 2009-01-20 | Genesis Microchip Inc. | Temporal motion vector filtering |
JP3879741B2 (ja) * | 2004-02-25 | 2007-02-14 | ソニー株式会社 | 画像情報符号化装置および画像情報符号化方法 |
WO2006014475A1 (en) | 2004-07-07 | 2006-02-09 | Dow Global Technologies Inc. | Multistage process for producing ethylene polymer compositions |
US20060012719A1 (en) * | 2004-07-12 | 2006-01-19 | Nokia Corporation | System and method for motion prediction in scalable video coding |
KR100584603B1 (ko) * | 2004-08-03 | 2006-05-30 | 학교법인 대양학원 | 다시점 영상의 다이렉트 모드 움직임 예측 방법 및 장치 |
KR101104828B1 (ko) * | 2004-12-09 | 2012-01-16 | 삼성전자주식회사 | 움직임 벡터 연산 장치 및 그 방법 |
US7728909B2 (en) * | 2005-06-13 | 2010-06-01 | Seiko Epson Corporation | Method and system for estimating motion and compensating for perceived motion blur in digital video |
JP2007028393A (ja) * | 2005-07-20 | 2007-02-01 | Matsushita Electric Ind Co Ltd | 双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法 |
JP4879558B2 (ja) * | 2005-11-02 | 2012-02-22 | パナソニック株式会社 | 動きベクトル検出装置 |
US8315308B2 (en) * | 2006-01-11 | 2012-11-20 | Qualcomm Incorporated | Video coding with fine granularity spatial scalability |
US7644666B2 (en) | 2006-02-09 | 2010-01-12 | Rehrig Pacific Company | Pallet |
US20070274396A1 (en) * | 2006-05-26 | 2007-11-29 | Ximin Zhang | Complexity adaptive skip mode estimation for video encoding |
WO2008056934A1 (en) * | 2006-11-07 | 2008-05-15 | Samsung Electronics Co., Ltd. | Method of and apparatus for video encoding and decoding based on motion estimation |
KR101383540B1 (ko) | 2007-01-03 | 2014-04-09 | 삼성전자주식회사 | 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법 |
KR100968204B1 (ko) * | 2007-01-11 | 2010-07-06 | 전자부품연구원 | 다시점 비디오 코덱에서의 영상 예측 방법 및 이를 위한프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 |
TWI373696B (en) * | 2007-04-04 | 2012-10-01 | Mstar Semiconductor Inc | Methods of calculating a motion estimation value and estimating a motion vector of an image |
US20080247466A1 (en) * | 2007-04-09 | 2008-10-09 | Jian Wang | Method and system for skip mode detection |
WO2008127597A2 (en) * | 2007-04-12 | 2008-10-23 | Thomson Licensing | Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding |
WO2008153262A1 (en) | 2007-06-15 | 2008-12-18 | Sungkyunkwan University Foundation For Corporate Collaboration | Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium |
KR100955396B1 (ko) * | 2007-06-15 | 2010-04-29 | 성균관대학교산학협력단 | 양-예측 부호화 방법 및 장치, 양-예측 복호화 방법 및장치 및 기록매체 |
US8254455B2 (en) * | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
CN100583649C (zh) * | 2007-07-23 | 2010-01-20 | 华为技术有限公司 | 矢量编/解码方法、装置及流媒体播放器 |
JP2009055519A (ja) | 2007-08-29 | 2009-03-12 | Sony Corp | 符号化処理装置、符号化処理方法、復号処理装置、及び、復号処理方法 |
KR101560182B1 (ko) | 2008-01-07 | 2015-10-15 | 삼성전자주식회사 | 다시점 비디오 부호화 방법과 그 장치 및 다시점 비디오 복호화 방법과 그 장치 |
KR101524465B1 (ko) | 2008-01-10 | 2015-06-02 | 삼성전자주식회사 | 색차 보상을 이용한 다시점 비디오 부호화 방법과 그 장치 및 다시점 비디오 복호화 방법과 그 장치 |
JP5194833B2 (ja) * | 2008-01-23 | 2013-05-08 | ソニー株式会社 | 符号化装置および方法、記録媒体、並びにプログラム |
US20100303155A1 (en) * | 2008-01-29 | 2010-12-02 | Yuki Maruyama | Image coding device, image coding method, image coding integrated circuit and image coding program |
US9886231B2 (en) | 2008-03-28 | 2018-02-06 | Kopin Corporation | Head worn wireless computer having high-resolution display suitable for use as a mobile internet device |
US8165211B2 (en) * | 2008-05-30 | 2012-04-24 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and apparatus of de-interlacing video |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
TWI405469B (zh) * | 2009-02-20 | 2013-08-11 | Sony Corp | Image processing apparatus and method |
JP5083248B2 (ja) * | 2009-03-05 | 2012-11-28 | 富士通セミコンダクター株式会社 | 画像データ復号演算装置 |
WO2010131903A2 (en) | 2009-05-12 | 2010-11-18 | Lg Electronics Inc. | Method and apparatus for processing a video signal |
US9628794B2 (en) | 2009-06-18 | 2017-04-18 | Kabushiki Kaisha Toshiba | Video encoding apparatus and a video decoding apparatus |
WO2010146696A1 (ja) * | 2009-06-18 | 2010-12-23 | 株式会社 東芝 | 動画像符号化装置及び動画像復号化装置 |
US9654792B2 (en) | 2009-07-03 | 2017-05-16 | Intel Corporation | Methods and systems for motion vector derivation at a video decoder |
US8462852B2 (en) * | 2009-10-20 | 2013-06-11 | Intel Corporation | Methods and apparatus for adaptively choosing a search range for motion estimation |
US8917769B2 (en) * | 2009-07-03 | 2014-12-23 | Intel Corporation | Methods and systems to estimate motion based on reconstructed reference frames at a video decoder |
US20110002387A1 (en) * | 2009-07-03 | 2011-01-06 | Yi-Jen Chiu | Techniques for motion estimation |
WO2011090313A2 (ko) | 2010-01-19 | 2011-07-28 | 삼성전자 주식회사 | 이전 블록의 움직임 벡터를 현재 블록의 움직임 벡터로 이용하는 영상 부호화, 복호화 방법 및 장치 |
AU2015201666C1 (en) * | 2010-01-19 | 2017-04-27 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates |
KR101768207B1 (ko) * | 2010-01-19 | 2017-08-16 | 삼성전자주식회사 | 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치 |
CN103385002A (zh) * | 2010-02-17 | 2013-11-06 | 韩国电子通信研究院 | 用于对超高清图像进行编码的装置及其方法、以及解码装置及其方法 |
US8354548B2 (en) * | 2010-02-19 | 2013-01-15 | Bristol-Myers Squibb Company | Glycine chroman-6-sulfonamides for use as inhibitors of diacylglycerol lipase |
TW201515445A (zh) * | 2010-04-01 | 2015-04-16 | Sony Corp | 圖像處理方法 |
KR102004836B1 (ko) * | 2010-05-26 | 2019-07-29 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 장치 |
KR101456499B1 (ko) * | 2010-07-09 | 2014-11-03 | 삼성전자주식회사 | 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
US9300970B2 (en) | 2010-07-09 | 2016-03-29 | Samsung Electronics Co., Ltd. | Methods and apparatuses for encoding and decoding motion vector |
US10013976B2 (en) | 2010-09-20 | 2018-07-03 | Kopin Corporation | Context sensitive overlays in voice controlled headset computer displays |
KR101815723B1 (ko) * | 2010-09-24 | 2018-01-05 | 선 페이턴트 트러스트 | 화상 부호화 방법, 화상 복호화 방법, 화상 부호화 장치, 및 화상 복호화 장치 |
JP5486091B2 (ja) * | 2010-09-30 | 2014-05-07 | 三菱電機株式会社 | 動画像復号装置及び動画像復号方法 |
JP5195875B2 (ja) * | 2010-11-10 | 2013-05-15 | ソニー株式会社 | 復号装置及び方法、記録媒体、並びにプログラム |
US8711940B2 (en) * | 2010-11-29 | 2014-04-29 | Mediatek Inc. | Method and apparatus of motion vector prediction with extended motion vector predictor |
CN107105270B (zh) | 2010-12-13 | 2020-04-24 | 韩国电子通信研究院 | 帧间预测方法 |
US8891831B2 (en) * | 2010-12-14 | 2014-11-18 | The United States Of America, As Represented By The Secretary Of The Navy | Method and apparatus for conservative motion estimation from multi-image sequences |
US9547911B2 (en) | 2010-12-14 | 2017-01-17 | The United States Of America, As Represented By The Secretary Of The Navy | Velocity estimation from imagery using symmetric displaced frame difference equation |
US9509995B2 (en) | 2010-12-21 | 2016-11-29 | Intel Corporation | System and method for enhanced DMVD processing |
KR101377528B1 (ko) | 2011-01-15 | 2014-03-27 | 에스케이텔레콤 주식회사 | 움직임 벡터 부호화/복호화 방법 및 장치 |
WO2012096551A2 (ko) * | 2011-01-15 | 2012-07-19 | 에스케이텔레콤 주식회사 | 움직임 벡터 부호화/복호화 방법 및 장치 |
AU2012208842B2 (en) * | 2011-01-19 | 2014-08-07 | Hfi Innovation Inc. | Method and apparatus for parsing error robustness of temporal Motion Vector Prediction |
US9749657B2 (en) | 2011-01-21 | 2017-08-29 | Sharp Kabushiki Kaisha | Buffer compression for motion vector competition |
MX2013008691A (es) * | 2011-02-10 | 2013-08-21 | Panasonic Corp | Metodo de codificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento. |
EP3937497B1 (en) | 2011-03-21 | 2023-02-22 | LG Electronics, Inc. | Motion vector predictor selection |
US9648334B2 (en) | 2011-03-21 | 2017-05-09 | Qualcomm Incorporated | Bi-predictive merge mode based on uni-predictive neighbors in video coding |
JPWO2012140904A1 (ja) | 2011-04-15 | 2014-07-28 | パナソニック株式会社 | 画像圧縮装置、画像圧縮方法、集積回路、プログラムおよび映像表示装置 |
WO2012147344A1 (ja) * | 2011-04-27 | 2012-11-01 | 株式会社Jvcケンウッド | 動画像復号装置、動画像復号方法、及び動画像復号プログラム |
TWI526056B (zh) | 2011-04-27 | 2016-03-11 | Jvc Kenwood Corp | A moving picture coding apparatus, a motion picture coding method, a motion picture coding program, a transmission apparatus, a transmission method, a transmission program, a video decoding apparatus, a video decoding method, a video decoding program, a reception device, a reception method, Receiving program |
US10627860B2 (en) | 2011-05-10 | 2020-04-21 | Kopin Corporation | Headset computer that uses motion and voice commands to control information display and remote devices |
EP2716046A4 (en) * | 2011-05-27 | 2014-09-03 | Mediatek Inc | METHOD AND APPARATUS FOR CIRCUIT BREAKER REDUCTION FOR VIDEO PROCESSING |
KR20130030181A (ko) * | 2011-09-16 | 2013-03-26 | 한국전자통신연구원 | 움직임 벡터 예측기를 이용한 움직임 벡터 부호화/복호화 방법 및 장치 |
US8929954B2 (en) | 2012-04-25 | 2015-01-06 | Kopin Corporation | Headset computer (HSC) as auxiliary display with ASR and HT input |
CN102946535B (zh) * | 2012-10-09 | 2015-05-13 | 华为技术有限公司 | 预测块的视差矢量预测值获取的方法和装置 |
KR101676788B1 (ko) * | 2014-10-17 | 2016-11-16 | 삼성전자주식회사 | 멀티코어 시스템 기반 비디오 병렬 복호화 방법 및 그 장치 |
JP6678357B2 (ja) * | 2015-03-31 | 2020-04-08 | リアルネットワークス,インコーポレーテッド | ビデオ符号化システムにおける動きベクトルの選択及び予測方法 |
CN105163123B (zh) * | 2015-09-06 | 2018-02-13 | 福州瑞芯微电子股份有限公司 | 一种hevc帧间预测子块mv信息的存取方法和装置 |
CN108432252A (zh) | 2015-12-22 | 2018-08-21 | 真实网络公司 | 视频编码中的运动矢量选择及预测***和方法 |
JP6356762B2 (ja) * | 2016-10-31 | 2018-07-11 | 株式会社東芝 | 動画像符号化装置及び方法 |
US20180184107A1 (en) * | 2016-12-28 | 2018-06-28 | Novatek Microelectronics Corp. | Motion estimation method and motion estimation apparatus |
BR112020018716A2 (pt) * | 2018-03-19 | 2020-12-29 | Qualcomm Incorporated | Aperfeiçoamentos em predição de vetor de movimento temporal avançado |
US10469869B1 (en) | 2018-06-01 | 2019-11-05 | Tencent America LLC | Method and apparatus for video coding |
EP3648059B1 (en) * | 2018-10-29 | 2021-02-24 | Axis AB | Video processing device and method for determining motion metadata for an encoded video |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2002017A (en) * | 1931-03-21 | 1935-05-21 | Bendix Brake Co | Brake |
FR2644779A1 (fr) * | 1989-03-22 | 1990-09-28 | Centre Nat Rech Scient | Composition ceramique a constante dielectrique elevee |
DE69217150T2 (de) * | 1991-09-30 | 1997-07-17 | Philips Electronics Nv | Bewegungsvektorschätzung, Bewegungsbildkodierung- und -speicherung |
ES2438184T3 (es) | 1993-03-24 | 2014-01-16 | Sony Corporation | Método de codificación y decodificación de vector de movimiento y aparato asociado y método de codificación y decodificación de señal de imagen y aparato asociado |
JPH0730896A (ja) | 1993-06-25 | 1995-01-31 | Matsushita Electric Ind Co Ltd | 動きベクトル符号化及び復号化方法 |
FR2725577B1 (fr) | 1994-10-10 | 1996-11-29 | Thomson Consumer Electronics | Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede |
EP2129133A3 (en) | 1995-08-29 | 2012-02-15 | 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 | 動画像符号化装置 |
KR0181069B1 (ko) * | 1995-11-08 | 1999-05-01 | 배순훈 | 움직임 추정장치 |
JP3344577B2 (ja) * | 1996-09-09 | 2002-11-11 | ソニー株式会社 | 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録方法 |
JP3263807B2 (ja) * | 1996-09-09 | 2002-03-11 | ソニー株式会社 | 画像符号化装置および画像符号化方法 |
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 |
US6005980A (en) * | 1997-03-07 | 1999-12-21 | General Instrument Corporation | Motion estimation and compensation of video object planes for interlaced digital video |
TW563265B (en) * | 1998-02-18 | 2003-11-21 | Murata Manufacturing Co | Piezoelectric ceramic composition |
TW429636B (en) * | 1998-02-18 | 2001-04-11 | Murata Manufacturing Co | Piezoelectric ceramic composition |
KR100328417B1 (ko) * | 1998-03-05 | 2002-03-16 | 마츠시타 덴끼 산교 가부시키가이샤 | 화상부호화장치및화상복호화장치, 화상부보화방법 및 화상복호화방법, 및 데이터기억매체 |
JPH11317961A (ja) | 1998-03-05 | 1999-11-16 | Matsushita Electric Ind Co Ltd | 画像符号化装置及び画像復号化装置,画像符号化方法及び画像復号化方法,並びにデ―タ記憶媒体 |
JP2000099864A (ja) | 1998-09-21 | 2000-04-07 | Yoshitaka Kurita | 介護者支援装置 |
US6983018B1 (en) * | 1998-11-30 | 2006-01-03 | Microsoft Corporation | Efficient motion vector coding for video compression |
JP2000299864A (ja) * | 1999-04-12 | 2000-10-24 | Canon Inc | 動画像処理方法 |
JP2000299684A (ja) * | 1999-04-12 | 2000-10-24 | Telecommunication Advancement Organization Of Japan | データ通信システム |
US7885340B2 (en) * | 1999-04-27 | 2011-02-08 | Realnetworks, Inc. | System and method for generating multiple synchronized encoded representations of media data |
CN1147159C (zh) * | 1999-04-27 | 2004-04-21 | 三星电子株式会社 | 实时运动图像编码的高速运动估计方法及其装置 |
EP1056293A1 (en) * | 1999-05-25 | 2000-11-29 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for block motion estimation |
WO2001033864A1 (en) * | 1999-10-29 | 2001-05-10 | Koninklijke Philips Electronics N.V. | Video encoding-method |
US6671319B1 (en) * | 1999-12-28 | 2003-12-30 | Sony Corporation | Methods and apparatus for motion estimation using neighboring macroblocks |
KR100680452B1 (ko) * | 2000-02-22 | 2007-02-08 | 주식회사 팬택앤큐리텔 | 움직임 벡터 메모리의 갱신방법 및 장치 |
KR100708091B1 (ko) * | 2000-06-13 | 2007-04-16 | 삼성전자주식회사 | 양방향 움직임 벡터를 이용한 프레임 레이트 변환 장치 및그 방법 |
US8005145B2 (en) * | 2000-08-11 | 2011-08-23 | Nokia Corporation | Method and apparatus for transferring video frame in telecommunication system |
US6842483B1 (en) * | 2000-09-11 | 2005-01-11 | The Hong Kong University Of Science And Technology | Device, method and digital video encoder for block-matching motion estimation |
US7327787B1 (en) | 2000-11-20 | 2008-02-05 | Intel Corporation | Method and apparatus for motion estimation |
US20030012287A1 (en) * | 2001-03-05 | 2003-01-16 | Ioannis Katsavounidis | Systems and methods for decoding of systematic forward error correction (FEC) codes of selected data in a video bitstream |
KR100378795B1 (ko) * | 2001-04-02 | 2003-04-03 | 엘지전자 주식회사 | 동영상에서 b픽쳐의 신축적인 다이렉트 모드 코딩 방법 |
US8111754B1 (en) * | 2001-07-11 | 2012-02-07 | Dolby Laboratories Licensing Corporation | Interpolation of video compression frames |
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 |
JP4130783B2 (ja) * | 2002-04-23 | 2008-08-06 | 松下電器産業株式会社 | 動きベクトル符号化方法および動きベクトル復号化方法 |
KR100491530B1 (ko) * | 2002-05-03 | 2005-05-27 | 엘지전자 주식회사 | 모션 벡터 결정 방법 |
US20040001546A1 (en) * | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
KR100774296B1 (ko) * | 2002-07-16 | 2007-11-08 | 삼성전자주식회사 | 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치 |
US7020200B2 (en) * | 2002-08-13 | 2006-03-28 | Lsi Logic Corporation | System and method for direct motion vector prediction in bi-predictive video frames and fields |
US7227901B2 (en) * | 2002-11-21 | 2007-06-05 | Ub Video Inc. | Low-complexity deblocking filter |
US6646578B1 (en) * | 2002-11-22 | 2003-11-11 | Ub Video Inc. | Context adaptive variable length decoding system and method |
US8085846B2 (en) * | 2004-08-24 | 2011-12-27 | Thomson Licensing | Method and apparatus for decoding hybrid intra-inter coded blocks |
CN102439978A (zh) * | 2010-03-12 | 2012-05-02 | 联发科技(新加坡)私人有限公司 | 运动预测方法 |
-
2002
- 2002-11-28 JP JP2002346062A patent/JP4114859B2/ja not_active Expired - Lifetime
-
2003
- 2003-01-08 EP EP20100169913 patent/EP2249573B1/en not_active Expired - Lifetime
- 2003-01-08 DK DK10169924T patent/DK2249576T3/da active
- 2003-01-08 ES ES10169913T patent/ES2408013T3/es not_active Expired - Lifetime
- 2003-01-08 SI SI200332251T patent/SI2249573T1/sl unknown
- 2003-01-08 DK DK10187162T patent/DK2273794T3/da active
- 2003-01-08 KR KR1020077026287A patent/KR100946846B1/ko active IP Right Grant
- 2003-01-08 AT AT03700472T patent/ATE493846T1/de active
- 2003-01-08 PT PT10169926T patent/PT2249578E/pt unknown
- 2003-01-08 PT PT10187156T patent/PT2273793E/pt unknown
- 2003-01-08 PT PT03700472T patent/PT1439713E/pt unknown
- 2003-01-08 ES ES10169919T patent/ES2408241T3/es not_active Expired - Lifetime
- 2003-01-08 BR BRPI0302580-2A patent/BRPI0302580B1/pt unknown
- 2003-01-08 DK DK10187156T patent/DK2273793T3/da active
- 2003-01-08 US US10/468,203 patent/US7362807B2/en active Active
- 2003-01-08 EP EP20100169926 patent/EP2249578B1/en not_active Expired - Lifetime
- 2003-01-08 EP EP20100169925 patent/EP2249577B1/en not_active Expired - Lifetime
- 2003-01-08 PT PT10169924T patent/PT2249576E/pt unknown
- 2003-01-08 CN CNB038000555A patent/CN1295934C/zh not_active Expired - Lifetime
- 2003-01-08 DK DK10187151.5T patent/DK2293581T3/en active
- 2003-01-08 WO PCT/JP2003/000055 patent/WO2003061297A1/ja active Application Filing
- 2003-01-08 PT PT101699221T patent/PT2249570E/pt unknown
- 2003-01-08 EP EP20100169919 patent/EP2249574B1/en not_active Expired - Lifetime
- 2003-01-08 EP EP20100187162 patent/EP2273794B1/en not_active Expired - Lifetime
- 2003-01-08 MX MXPA03007629A patent/MXPA03007629A/es active IP Right Grant
- 2003-01-08 EP EP20100169924 patent/EP2249576B1/en not_active Expired - Lifetime
- 2003-01-08 CA CA 2762023 patent/CA2762023C/en not_active Expired - Lifetime
- 2003-01-08 SI SI200332318T patent/SI2249576T1/sl unknown
- 2003-01-08 EP EP20100169923 patent/EP2249575B1/en not_active Expired - Lifetime
- 2003-01-08 DK DK10169919T patent/DK2249574T3/da active
- 2003-01-08 PT PT101699130T patent/PT2249573E/pt unknown
- 2003-01-08 SI SI200332252T patent/SI2249570T1/sl unknown
- 2003-01-08 ES ES10169923T patent/ES2441222T3/es not_active Expired - Lifetime
- 2003-01-08 HU HUE10187172A patent/HUE031077T2/en unknown
- 2003-01-08 DK DK10169926T patent/DK2249578T3/da active
- 2003-01-08 DE DE60335516T patent/DE60335516D1/de not_active Expired - Lifetime
- 2003-01-08 ES ES10169922T patent/ES2408245T3/es not_active Expired - Lifetime
- 2003-01-08 ES ES10187172.1T patent/ES2600520T3/es not_active Expired - Lifetime
- 2003-01-08 PT PT101871515T patent/PT2293581T/pt unknown
- 2003-01-08 BR BR0302580A patent/BR0302580A/pt active IP Right Grant
- 2003-01-08 EP EP10187172.1A patent/EP2273795B1/en not_active Expired - Lifetime
- 2003-01-08 ES ES10187151.5T patent/ES2600786T3/es not_active Expired - Lifetime
- 2003-01-08 EP EP20030700472 patent/EP1439713B1/en not_active Expired - Lifetime
- 2003-01-08 PT PT101699197T patent/PT2249574E/pt unknown
- 2003-01-08 ES ES10169926T patent/ES2410533T3/es not_active Expired - Lifetime
- 2003-01-08 KR KR1020037011000A patent/KR100923379B1/ko active IP Right Grant
- 2003-01-08 KR KR1020097022828A patent/KR100946845B1/ko active IP Right Grant
- 2003-01-08 ES ES10187156T patent/ES2392513T3/es not_active Expired - Lifetime
- 2003-01-08 SI SI200332250T patent/SI2249578T1/sl unknown
- 2003-01-08 DK DK03700472T patent/DK1439713T3/da active
- 2003-01-08 PT PT10169923T patent/PT2249575E/pt unknown
- 2003-01-08 DK DK10187172.1T patent/DK2273795T3/en active
- 2003-01-08 AU AU2003201906A patent/AU2003201906B2/en not_active Expired
- 2003-01-08 DK DK10169922T patent/DK2249570T3/da active
- 2003-01-08 DK DK10169925T patent/DK2249577T3/da active
- 2003-01-08 CA CA 2762054 patent/CA2762054C/en not_active Expired - Lifetime
- 2003-01-08 DK DK10169923T patent/DK2249575T3/da active
- 2003-01-08 ES ES10169924T patent/ES2441223T3/es not_active Expired - Lifetime
- 2003-01-08 EP EP10187151.5A patent/EP2293581B1/en not_active Expired - Lifetime
- 2003-01-08 PT PT101871721T patent/PT2273795T/pt unknown
- 2003-01-08 ES ES10187162T patent/ES2388814T3/es not_active Expired - Lifetime
- 2003-01-08 DK DK10169913T patent/DK2249573T3/da active
- 2003-01-08 ES ES10169925T patent/ES2408214T3/es not_active Expired - Lifetime
- 2003-01-08 KR KR1020097022830A patent/KR100946848B1/ko active IP Right Grant
- 2003-01-08 SI SI200332497A patent/SI2293581T1/sl unknown
- 2003-01-08 EP EP20100187156 patent/EP2273793B1/en not_active Expired - Lifetime
- 2003-01-08 CA CA2438295A patent/CA2438295C/en not_active Expired - Lifetime
- 2003-01-08 HU HUE10187151A patent/HUE032083T2/en unknown
- 2003-01-08 EP EP20100169922 patent/EP2249570B1/en not_active Expired - Lifetime
- 2003-01-08 PT PT101699254T patent/PT2249577E/pt unknown
-
2007
- 2007-10-30 US US11/979,013 patent/US20080069229A1/en not_active Abandoned
- 2007-10-30 US US11/979,033 patent/US8401080B2/en not_active Ceased
- 2007-10-30 US US11/979,012 patent/US8290047B2/en active Active
- 2007-10-30 US US11/979,010 patent/US8290046B2/en active Active
-
2010
- 2010-01-21 US US12/691,195 patent/US8290048B2/en not_active Expired - Lifetime
-
2013
- 2013-06-11 CY CY20131100463T patent/CY1114049T1/el unknown
- 2013-06-11 CY CY20131100467T patent/CY1114052T1/el unknown
- 2013-06-11 CY CY20131100465T patent/CY1114230T1/el unknown
- 2013-08-09 US US13/963,210 patent/US8885717B2/en not_active Expired - Lifetime
- 2013-08-14 US US13/966,538 patent/US8885720B2/en not_active Expired - Lifetime
- 2013-08-14 US US13/966,527 patent/US8902987B2/en not_active Expired - Lifetime
- 2013-08-14 US US13/966,522 patent/US8885719B2/en not_active Expired - Lifetime
- 2013-08-14 US US13/966,484 patent/US8908769B2/en not_active Expired - Lifetime
- 2013-08-14 US US13/966,477 patent/US8885718B2/en not_active Expired - Lifetime
- 2013-12-13 CY CY20131101127T patent/CY1114867T1/el unknown
-
2014
- 2014-11-04 US US14/532,284 patent/US9161050B2/en not_active Expired - Fee Related
- 2014-11-05 US US14/533,318 patent/US9124896B2/en not_active Expired - Fee Related
- 2014-11-06 US US14/534,425 patent/US9124897B2/en not_active Expired - Fee Related
-
2015
- 2015-07-20 US US14/803,739 patent/USRE46924E1/en active Active
- 2015-08-31 US US14/840,492 patent/US9451278B2/en not_active Expired - Lifetime
- 2015-08-31 US US14/840,427 patent/US9407927B2/en not_active Expired - Lifetime
-
2016
- 2016-08-16 US US15/237,956 patent/US10362328B2/en not_active Expired - Fee Related
- 2016-08-16 US US15/237,938 patent/US20160360227A1/en not_active Abandoned
- 2016-11-09 CY CY20161101146T patent/CY1118320T1/el unknown
-
2017
- 2017-09-14 US US15/704,463 patent/US10313700B2/en not_active Expired - Fee Related
-
2018
- 2018-06-11 US US16/005,223 patent/USRE48035E1/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2600786T3 (es) | Procedimiento de decodificación de vectores de movimiento | |
ES2588179T3 (es) | Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento | |
JP4456087B2 (ja) | 動きベクトル復号化方法、装置およびデータ記憶媒体 | |
ES2729258T3 (es) | Cálculo del vector de movimiento en modo directo evitando divisiones por cero | |
JP5090552B2 (ja) | 画像復号化方法、画像復号化装置、プログラムおよび記録媒体 | |
ES2353957T3 (es) | Procedimiento de codificación de vectores de movimiento y procedimiento de decodificación de vectores de movimiento. |