MX2013014733A - Metodo de codificacion de imagenes de video, dispositivo de codificacion de imagenes de video, metodo de decodificacion de imagenes de video, dispositivo de decodificacion de imagenes de video y dispositivo de codificacion/decodificacion de imagenes de video. - Google Patents
Metodo de codificacion de imagenes de video, dispositivo de codificacion de imagenes de video, metodo de decodificacion de imagenes de video, dispositivo de decodificacion de imagenes de video y dispositivo de codificacion/decodificacion de imagenes de video.Info
- Publication number
- MX2013014733A MX2013014733A MX2013014733A MX2013014733A MX2013014733A MX 2013014733 A MX2013014733 A MX 2013014733A MX 2013014733 A MX2013014733 A MX 2013014733A MX 2013014733 A MX2013014733 A MX 2013014733A MX 2013014733 A MX2013014733 A MX 2013014733A
- Authority
- MX
- Mexico
- Prior art keywords
- motion vector
- block
- list
- magnitude
- vector
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 178
- 230000033001 locomotion Effects 0.000 claims abstract description 442
- 239000013598 vector Substances 0.000 claims abstract description 364
- 230000008569 process Effects 0.000 claims description 63
- 230000004927 fusion Effects 0.000 claims description 48
- 238000005520 cutting process Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 abstract description 94
- 238000011156 evaluation Methods 0.000 abstract 1
- 230000005284 excitation Effects 0.000 description 47
- 230000015654 memory Effects 0.000 description 32
- 230000005236 sound signal Effects 0.000 description 24
- 230000003287 optical effect Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000003860 storage Methods 0.000 description 14
- 238000013139 quantization Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000001824 photoionisation detection Methods 0.000 description 10
- 230000009466 transformation Effects 0.000 description 9
- 230000002123 temporal effect Effects 0.000 description 8
- 239000000470 constituent Substances 0.000 description 7
- 238000009795 derivation Methods 0.000 description 7
- 230000002441 reversible effect Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- NRNCYVBFPDDJNE-UHFFFAOYSA-N pemoline Chemical compound O1C(N)=NC(=O)C1C1=CC=CC=C1 NRNCYVBFPDDJNE-UHFFFAOYSA-N 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 101000871708 Homo sapiens Proheparin-binding EGF-like growth factor Proteins 0.000 description 3
- 238000004134 energy conservation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101710163968 Antistasin Proteins 0.000 description 2
- 208000037146 Atypical Timothy syndrome Diseases 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 208000037498 atypical type Timothy syndrome Diseases 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000002844 melting Methods 0.000 description 2
- 230000008018 melting Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000155 melt Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000001094 photothermal spectroscopy Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000000725 suspension Substances 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/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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/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/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/567—Motion estimation based on rate distortion criteria
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un aparato de codificación de imágenes en movimiento (100) incluye una unidad de intra-inter predicción (107) que calcula un segundo vector de movimiento al llevar a cabo un proceso de escalamiento en un primer vector de movimiento de un bloque correspondiente temporalmente adyacente, cuando añade selectivamente, a una lista, un vector de movimiento de cada uno de uno o más bloques correspondientes cada uno de los cuales es ya sea un bloque incluido en una imagen actual que será codificada y espacialmente adyacente a un bloque actual que será codificado, o un bloque incluido en una imagen que no es la imagen actual y temporalmente adyacente al bloque actual, determina si el segundo vector de movimiento tiene una magnitud que está dentro de una magnitud predeterminada o no dentro de la magnitud predeterminada, y añade el segundo vector de movimiento a la lista cuando la unidad de intra--inter predicción determina que el segundo vector de movimiento tiene una magnitud que está dentro del intervalo de magnitud predeterminado.
Description
METODO DE CODIFICACION DE IMAGENES DE VIDEO, DISPOSITIVO DE CODIFICACION DE IMAGENES DE VIDEO, METODO DE DECODIFICACION DE IMAGENES DE VIDEO, DISPOSITIVO DE DECODIFICACION DE
IMAGENES DE VIDEO Y DISPOSITIVO DE CODIFICACION/DECODIFICACION DE IMAGENES DE VIDEO
CAMPO DE LA INVENCION
La presente invención e refiere a un método de codificación de imágenes en movimiento para codificar imágenes sobre una base de bloque por bloque, y a un método de decodificación de imágenes en movimiento para decodificar imágenes sobre una base dé bloque por bloque.
ANTECEDENTES DE LA INVENCION
En la decodificación de ínter predicción en H.264, datos de imagen de un bloque actual se decodifican al predecir un bloque de referencia bipredictivo incluido en un segmento B usando, como referencias, dos elementos de datos de imagen que son datos de imágenes diferentes de la imagen que incluye el bloque actual.
Para la norma H.264, hay modos de derivación de vectores de movimiento disponibles para predicción de imágenes. Los modos se conocen como modos directos (véase 8.4.1.2.1, 3.45, etc. de NPL 1).
Los siguientes dos modos de (S) y (T) están disponibles como los modos directos en H.264.
REF . : 245540
(T) : Modo directo temporal (modo temporal) . Un bloque actual es predicho usando un vector de movimiento mvCol de un bloque colocalizado (Col_Blk) , que es espacialmente idéntico al bloque actual (pero temporalmente diferente), es escalado por cierto porcentaje.
(S) : Modo directo espacial. Un bloque actual es predicho usando datos sobre un vector de movimiento (datos de movimiento) de un bloque que es espacialmente diferente (pero que va a ser presentado visualmente al mismo tiempo que el bloque actual) .
Lista de citas
Literatura no de patente
NPL 1 ITU-T H.264 03/2010
NPL 2 WD4 : Working Draft 4 of High-Efficiency Video Coding Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 y ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22 Julio, 2011, Document : JCTVC-F803_d2
BREVE DESCRIPCION DE LA INVENCION
Problema técnico
Sin embargo, la predicción en el modo directo temporal implica multiplicación para escalamiento. Esta multiplicación puede causar incremento en carga en codificación o decodificación debido a que los vectores de movimiento usados en codificación o decodificación pueden tener que ser manejados a una precisión de bits más alta.
En vista de esto, una modalidad no limitativa y ejemplar proporciona un método de codificación de imágenes en movimiento y un método de decodificación de imágenes en movimiento cada uno de los cuales pueden causar causa reducida y ser llevado a cabo con la misma eficiencia de codificación .
Solución al problema
Un método de codificación de imágenes en movimiento de acuerdo con un aspecto de la presente invención es un método de codificación de imágenes en movimiento para codificar imágenes sobre una base de bloque por bloque, e incluye: añadir selectivamente, a una lista, un vector de movimiento de cada uno de uno o más bloques correspondientes cada uno de los cuales es (i) un bloque incluido en una imagen actual que será codificada y espacialmente adyacente a un bloque actual que será codificado o (ii) un bloque incluido en una imagen que no es la imagen actual y temporalmente adyacente al bloque actual; seleccionar un vector de movimiento de entre los vectores de movimiento en la lista, el vector de movimiento es seleccionado siendo para ser usado para codificar el bloque actual; y codificar el bloque actual usando el vector de movimiento seleccionado en la selección, en donde en la adición, se lleva a cabo un proceso de escalamiento en un primer vector de movimiento del bloque correspondiente temporalmente adyacente para calcular
un segundo vector de movimiento, se determina si el segundo vector de movimiento calculado tiene una magnitud que esté dentro de un intervalo de magnitud predeterminado o una magnitud que no esté dentro de la magnitud predeterminada, y el segundo vector de movimiento se añade a la lista como el vector de movimiento del bloque correspondiente cuando se determine que el segundo vector de movimiento tiene una magnitud que está dentro del intervalo de magnitud predeterminado .
Además, un método de decodificación de imágenes en movimiento de acuerdo con un aspecto de la presente invención es un método de decodificación de imágenes en movimiento para decodificar imágenes sobre una base de bloque por bloque, e incluye: añadir selectivamente, a una lista, un vector de movimiento de cada uno de uno o más bloques correspondientes cada uno de los cuales es (i) un bloque incluido en una imagen actual que será decodificada y espacialmente adyacente a un bloque actual que será decodificado o (ii) un bloque incluido en una imagen que no es la imagen actual y temporalmente adyacente al bloque actual; seleccionar un vector de movimiento de entre los vectores de movimiento en la lista, el vector de movimiento seleccionado siendo para ser usado para decodificar el bloque actual; y decodificar el bloque actual usando el vector de movimiento seleccionado en la selección, en donde en la adición, se lleva a cabo un
proceso de escalamiento en un primer vector de movimiento del bloque correspondiente temporalmente adyacente para calcular un segundo vector de movimiento, se determina si el segundo vector de movimiento calculado tiene una magnitud que está dentro de un intervalo de magnitud predeterminado o una magnitud que no está dentro de la magnitud predeterminada, y el segundo vector de movimiento se añade a la lista como el vector de movimiento del bloque correspondiente cuando se determina que el segundo vector de movimiento tiene una magnitud que está dentro del intervalo de magnitud predeterminado .
Estos aspectos generales y específicos pueden implementarse usando un sistema, un método, un circuito integrado, un programa de computadora o un medio de grabación legible por computadora tal como un CD-ROM, o cualquier combinación de sistemas, métodos, circuitos integrados, programas de computadora o medios de grabación legibles por computadora .
Efectos adecuados de la invención
Los métodos de codificación de imágenes en movimiento y los métodos de decodificación de imágenes en movimiento de acuerdo con la presente invención cada uno hacen posible la codificación o decodificación de imágenes en movimiento con carga de procesamiento reducida mientras que no causan reducción en eficiencia de codificación.
BREVE DESCRIPCION DE LAS FIGURAS
La figura 1 ilustra dos imágenes referenciadas para la decodificación de un bloque actual (Curr_Blk) .
La figura 2A ilustra una lista de imágenes de referencia (RefPicListO ) .
La figura 2B ilustra una lista de imágenes de referencia (RefPicList1) .
La figura 3 ilustra picNum en las listas de imágenes de referencia RefPicListO y RefPicListl del CurrBlk incluido.
La figura 4 ilustra información para usarse en un modo temporal (T) .
La figura 5A ilustra un proceso de escalamiento en el modo temporal, que muestra un diagrama simplificado de un bloque colocalizado y un vector de movimiento mvLOCol .
La figura 5B ilustra un proceso de escalamiento en el modo temporal usando un diagrama de concepto del proceso de escalamiento.
La figura 6 ilustra una relación entre las etapas 1 a 3 y ecuaciones para derivar vectores de movimiento descritas en NPL 1.
La figura 7 ilustra un modo directo espacial (S) .
La figura 8 es un diagrama de bloques que ilustra una configuración de un aparato de codificación de imágenes en movimiento de acuerdo con la modalidad 1.
La figura 9 es un diagrama de flujo que ilustra la operación del aparato de codificación de imágenes en movimiento de acuerdo con la modalidad 1.
La figura 10 ilustra bloques candidatos a fusión [1 ... 6] establecidos por una unidad de intra-inter predicción.
La figura 11 ilustra el concepto de la lista de candidatos a fusión (mergeCandList) .
La figura 12 ilustra un ejemplo de un caso en donde la unidad de ínter- intra predicción determina que datos de movimiento son un duplicado.
La figura 13 es un diagrama de flujo que ilustra un proceso para obtener datos en movimiento de un bloque de candidatos a fusión [i] .
La figura 14 es un diagrama de flujo que ilustra un ejemplo de un proceso de escalamiento llevado a cabo por la unidad de ínter- intra predicción.
La figura 15 es un diagrama de flujo que ilustra otro ejemplo del proceso de escalamiento llevado a cabo por la unidad de inter-intra predicción.
La figura 16 es un diagrama de bloques que ilustra una configuración de un aparato de decodificación de imágenes en movimiento de acuerdo con la modalidad 1.
La figura 17 es un diagrama de flujo que ilustra la operación del aparato de decodificación de imágenes en movimiento de acuerdo con la modalidad 1.
Las figuras 18A y 18B ilustran la actualización de una lista de candidatos a fusión (mergeCandList ) usando la figura 18A que muestra una lista de candidatos a fusión inicial generada (mergeCandList) y la figura 18B que muestra una lista de candidatos a fusión después de haber sido actualizada.
La figura 19A ilustra un predictor de vector de movimiento mvpLX en HEVC .
La figura 19B ilustra una lista de candidatos mvpListLX (mvpListlO y mvpListLl) para el predictor de vector de movimiento mvpLX.
La figura 20 ilustra bloques candidatos a predictor o un bloque candidato a predictor.
La figura 21 muestra una configuración general de un sistema de provisión de contenidos para implementar servicios de distribución de contenido.
La figura 22 ilustra una configuración general de un sistema de difusión digital.
La figura 23 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión.
La figura 24 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproducción/grabación de información que lee y escribe información de y sobre un medio de grabación que es un disco óptico.
La figura 25 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico .
La figura 26A muestra un ejemplo de un teléfono celular.
La figura 26B es un diagrama de bloques que muestra un ejemplo de una configuración de un teléfono celular.
La figura 27 ilustra una estructura de datos multiplexados .
La figura 28 muestra esquemáticamente cómo cada flujo se multiplexa en datos multiplexados.
La figura 29 muestra cómo un flujo de video se almacena en un flujo de paquetes PES en más detalle.
La figura 30 muestra una estructura de paquetes TS y paquetes de origen en los datos multiplexados.
La figura 31 muestra una estructura de datos de una
PMT.
La figura 32 muestra una estructura interna de información de datos multiplexados.
La figura 33 muestra una estructura interna de información de atributos de flujo.
La figura 34 muestra etapas para identificar datos de video .
La figura 35 muestra un ejemplo de una configuración de un circuito integrado para implementar el
método de decodificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento de acuerdo con cada una de las modalidades.
La figura 36 muestra una configuración para cambiar entre frecuencias de excitación.
La figura 37 muestra etapas para identificar datos de video y cambiar entre frecuencias de excitación.
La figura 38 muestra un ejemplo de una tabla de consulta en la cual normas de datos de video son asociadas con frecuencias de excitación.
La figura 39A es un diagrama que muestra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señales.
La figura 39B es un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señales .
DESCRIPCION DETALLADA DE LA INVENCION
Conocimiento subyacente que forma la base de la presente invención
La figura 1 ilustra dos imágenes referenciadas para la decodificación de un bloque actual (Curr_Blk) . En la figura 1, los números "300" a "304" son números de imagen (PicNum) , y las imágenes son dispuestas en orden ascendente de valores de orden de presentación visual (PicOrderCnt ) . El bloque actual que será decodificado es incluido en una imagen
numerada 302 (CurrPic) . En este ejemplo, el bloque actual que será decodificado hace referencia a una imagen que tiene un PicNum de 301 y una imagen que tiene un PicNum de 304. La imagen que tiene un PicNum de 301 precede a la imagen que incluye el bloque actual en el orden de presentación visual, y la imagen que tiene un PicNum de 304 sigue a la imagen que incluye el bloque actual en el orden de presentación visual. En las siguientes figuras, el punto de partida de una fecha indica una imagen de referencia (una imagen que será decodificada) y la cabeza de una flecha indica una imagen que se usará para decodificación (una imagen que será referenciada) como se describe en la leyenda de la figura 1.
Los bloques actuales que serán decodificados son indicados por un bloque negro relleno en las siguientes figuras, y son simplemente denominados Curr_Blk en la figura y siguiente descripción. De nuevo, el punto de partida de una flecha indica una imagen de referencia (una imagen que será decodificada) y la cabeza de una flecha indica una imagen que se usará para decodificación (una imagen que será referenciada) como se describe en la leyenda de la figura 1. La imagen que tiene un picNum de 302 es una imagen que incluye un bloque actual que será decodificado (una imagen actual que será decodificada) .
La figura 2A y figura 2B ilustran dos listas de imágenes de referencia, RefPicListO y RefPicListl,
respectivamente .
La figura 2A ilustra una lista de imágenes de referencia O (RefPicListO ) que es una lista para identificar una de dos imágenes de referencia. La figura 2B muestra una lista de imágenes de referencia 1 (RefPicListl) que es una lista para identificar la otra de las dos imágenes de referencia. Al usar las listas de imágenes de referencia, es posible especificar una imagen de referencia referenciada por una imagen actual que será decodificada , usando un índice que tenga un valor pequeño tal como "0" o "1" (refldxLO y refldxLl) en lugar del picNum que tenga un valor grande tal como "302". Las imágenes referenciadas por bloques actuales que serán decodificados (Curr_Blk) , que son bloques en un segmento, son indicadas usando los valores en estas listas.
Estas listas son inicializadas (generadas) cuando un segmento B que incluye un bloque actual es decodificado .
Las entradas en las listas de imágenes de referencia RefPicListO y RefPicListl son reordenadas de tal manera que los índices que tengan menos valores en la lista de imágenes de referencia RefPicListO y la lista de imágenes de referencia RefPicListl indiquen imágenes que tengan diferentes números de imagen PicNum. Cada una de las listas de imágenes de referencia se dividen en la primera mitad que incluye imágenes que preceden la picNum302 y la segunda mitad que incluye imágenes que siguen la picNum302. En la primera
mitad de la lista de imágenes de referencia O, a los índices de imagen les son asignados números de imagen en orden descendente (301, 300...). En la primera mitad de la lista de imágenes de referencia 1, a los índices de imagen se les asigna números de imagen en orden ascendente (303, 304...) .
Por ejemplo, cuando una secuencia de códigos tiene un índice que tiene un valor mínimo "0" para cada una de la lista de imágenes de referencia 0 y la lista de imágenes de referencia 1, las siguientes dos imágenes de referencia son determinadas para la imagen- 302.
Una de las imágenes de referencia es una imagen indicada por RefPicListO [0] , que es una imagen 301 inmediatamente antes de la imagen 302. La otra de las imágenes de referencia es una imagen indicada por RefPicListl [0] , que es una imagen 303 inmediatamente después de la imagen 302.
En el ejemplo ilustrado en la figura 1, un índice refldxLO es 0 , y por lo tanto la imagen actual 302 hace referencia a la imagen 301. El otro índice refldxLl es 1, y por lo tanto la imagen actual 302 hace referencia a la imagen 304.
La figura 3 ilustra picNum en el caso en donde los valores de refldxLO y refldxLl en cada una de las listas de imágenes de referencia RefPicListO y RefPicListl del CurrBlk incluido en la imagen 302 se incrementan desde "0" . Los
valores más grandes en la lista (el valor de refldxLO y el valor de refldxLl) indican imágenes más distantes de la imagen actual que será decodificada (picNum302) .
Particularmente, RefPicListl, que indica la otra referencia, contiene índices bajo una regla de que los índices que tengan menos valores en la lista sean asignados a imágenes que sigan la imagen CurrPic 302 (es decir, imágenes mayores que PicOrderCnt (CurrPic) y ya decodificadas y almacenadas en la memoria en orden descendente (la regla es denominada Regla 1) . Bajo la Regla l, la imagen indicada por RefPicListl [0] es una imagen picNum 303 indicada por un círculo punteado en la figura 3.
Como se observa arriba, una de las listas de imágenes de referencia es simplemente denominada RefPicListO y los índices en la lista son simplemente denominados refldxLO en la descripción y las figuras a menos que se indique lo contrario. Similarmente , la otra lista de imágenes de referencia es simplemente denominada RefPicListl y los índices en la lista son simplemente denominados refldxLl (véanse las leyendas de la figura 3 y NPL 1, 8.2.4.2.3 en 8.2.4. El proceso de codificación para construcción de listas de imágenes de referencia para más detalles) .
A continuación se describirá el modo temporal (T) y el modo directo espacial (S) en H.264.
La figura 4 ilustra información para usarse en el
modo temporal (T) .
El bloque con rayas diagonales en la figura 4 representa un bloque colocalizado (CoI_Blk) , que es espacialmente idéntico al bloque actual (pero temporalmente diferente del bloque actual) . La ubicación temporal del bloque colocalizado se especifica por el índice que tiene un valor de "0" en la RefPicListl en la otra lista de imágenes de referencia 1 en la figura 3, es decir, el bloque colocalizado se ubica en la imagen 303. En la lista RefPicListl inicializada bajo la regla 1, la imagen indicada por el índice que tiene un valor de "0" (es decir, el valor de RefPicListl [0] ) es una imagen temporalmente más cerca de una de las imágenes que están en la memoria de referencia y que sigue a la imagen actual en el orden de presentación visual con casos excepcionales en los cuales, por ejemplo, la memoria de referencia no almacena una imagen que sigue temporalmente a la imagen actual.
Después, en el modo temporal, vectores de movimiento mvLO y mvLl de un bloque actual que será decodificado Curr_Blk representado como un bloque negro relleno se derivan usando "datos de movimiento" del Col_Blk representado como un bloque con rayas diagonales. Los "datos de movimiento" incluyen lo siguiente.
(i) Imagen de referencia refIdxLO [refidx] referenciada por el Col_Blk
En este ejemplo, el Col_Blk representa la imagen que tiene un picNum de 301 (esto es indicado por el valor de RefPicListO [1] ) .
(ii) Vector de movimiento mvLOCol en la imagen de referencia.
En la figura 4, la flecha punteada en la imagen que tiene un picNum de 301 indica un vector de movimiento mvLOCol que se usará para la decodificación del Col_Blk.
En adelante, las líneas punteadas en la presente descripción y las figuras representan vectores de movimiento. El vector de movimiento mvLOCol indica una imagen predictiva usada para decodificación de Col_Blk.
La figura 5A y la figura 5B ilustran un proceso de escalamiento en el modo temporal .
El proceso de escalamiento es un proceso para la derivación de vectores de movimiento mvLO y mvLl de un bloque actual que será decodificado Curr_Blk al escalar el valor de un vector de movimiento mvLOCol usando la relación entre distancias del bloque actual a imágenes de referencia.
La figura 5A ilustra la estructura de referencia, bloque colocalizado y vector de movimiento mvLOCol en las figuras 1 a 4 usando un diagrama simplificado.
La figura 5b ilustra el concepto del proceso de escalamiento.
El proceso de escalamiento se basa en la idea de
similitud entre un triángulo DEF y un triángulo ABC como se ilustra en la figura 5B.
El triángulo DEF es un triángulo para Col_Blk.
El punto D está en el Col_Blk. El punto E está en una imagen referenciada por el Col_Blk. El punto F es un punto en donde el vector de movimiento mvLOCol inicia en el punto E como su punta .
El triángulo ABC es un triángulo para Curr_Blk.
El punto A está en un bloque actual que será decodificado Curr_Blk. El punto B está en una imagen referenciada por el bloque Curr_Blk. El punto C es un punto en donde el vector que será derivado tiene su punta.
Primero, en ETAPA 1, se deriva ScaleFactor que es una relación de (2) una distancia relativa (tx) a partir del Col_Blk hasta una imagen referenciada por el Col_Blk a (1) una distancia relativa (tb) del Curr_Blk a una imagen referenciada por el Curr_Blk. Por ejemplo, en referencia a la figura 5B, ScaleFactor es una relación de tb = 302 - 301 = 1 a tx = 303 - 301 = 2 (th/tx) , es decir, la relación de escalamiento es 0.5 (1/2) (o la relación homotética es 1:2). Por lo tanto, es el caso de que la relación homotética del triángulo ABC al triángulo DEF es 1/2.
ScaleFator = tb/tx = (302-301) / (303-301) = 1/2 ...
(ETAPA 1) .
En ETAPA 2, un vector EF que tiene una magnitud
igual a la longitud de un lado dado EF se multiplica por la relación de escalamiento para obtener un vector BC. El vector BC es uno de dos vectores que serán derivados, un vector mvLO .
mvLO = ScaleFactor x mvLOCol ... (ETAPA 2) .
En ETAPA 3, el otro vector que será derivado, un vector mvLl, se deriva usando el mvLO derivado en la etapa 2 y un mvLOCol invertido.
mvLl = mvLO - mvLOCol ... (ETAPA 3)
La figura 6 ilustra una relación entre las ETAPAS 1 a 3 y las ecuaciones para derivar vectores de movimiento descritas en 8.4.1.2.3. Proceso de derivación para vector de movimiento de luminancia directa temporal y modo de predicción de índice de referencia de NPL 1.
La figura 7 ilustra el otro de los dos modos directos, el modo directo espacial (S) .
Un bloque actual que será decodificado (Curr_Blk) es incluido en un bloque de unidad de compensación de movimiento. En este modo, datos sobre un vector de movimiento (es decir datos de movimiento que incluyen una combinación de valores (vector de movimiento mvLXN e índice de referencia refldxLXN) como se describió arriba, lo mismo aplica en adelante) se obtienen para un bloque N que es adyacente al bloque de unidad de compensación de movimiento (el bloque N es, por ejemplo, un bloque adyacente A, un
bloque adyacente B o un bloque adyacente C) .
Entre datos en un vector de movimiento (en adelante también denominados datos de movimiento) , un elemento de datos de movimiento (refldxLO y refldxLO y mvLO y mvLl que corresponde a ellos, respectivamente) de un bloque que tiene el valor de índice de referencia más pequeño (refldxLXN) se usa tal cual (véanse ecuaciones 8-186 y 8-187 en NPL 1) . Los índices de referencia tienen valores de números naturales incluyendo "0" (valores de valores MinPositive) . Específicamente, refldxLO y refldxll se derivan usando las siguientes ecuaciones, respectivamente:
En el modo directo espacial, los elementos de "datos de movimiento" que incluyen datos sobre un vector de movimiento mvLO o mvLl., tales como una distancia desde la imagen actual hasta una imagen de referencia (refldxLO, refldxLl) , se usan en un conjunto. Por lo tanto, a diferencia del modo temporal, la derivación de un vector de movimiento generalmente no implica escalamiento de mvLO o mvLl sino que sólo hace referencia a una imagen de referencia usada para el bloque adyacente.
Como se describió arriba, la derivación de un vector de movimiento mvLO usando ScaleFactor
(DistScaleFactor) en el modo temporal (T) implica la multiplicación de mvLOCol por ScaleFactor. En consecuencia, cuando un vector de movimiento que será manejado en
decodificación se limita a una magnitud tal que el vector de movimiento puede ser representado a cierta presión de bit, es necesario controlar la generación de un vector de movimiento de tal manera que el vector de movimiento obtenido como resultado de la multiplicación llevada a cabo en la codificación en modo temporal tenga tal magnitud. Este control incrementará la carga de procesamiento en codificación .
Además, de acuerdo con la norma H.264 convencional, el cambio entre el modo temporal (T) y el modo directo espacial (S) es permitido sólo hasta una vez por segmento.
Para la norma HEVC, se describe el uso de un modo de fusión en el cual vectores de movimiento se derivan usando un método más flexible que cuando el modo directo espacial o el modo temporal se usa para cada segmento en H.264. Aquí, se desea equilibrar adecuadamente entre reducción en carga de procesamiento y mantenimiento de eficiencia de codificación para derivación de tales vectores de movimiento que tengan una magnitud limitada mediante el uso de estos modos en combinación con el modo de fusión para una nueva norma, la HEVC.
Un método de codificación de imágenes en movimiento de acuerdo con un aspecto de la presente invención es un método de codificación de imágenes en movimiento para codificar imágenes sobre una base de bloque por bloque, e
incluye: añadir selectivamente, a una lista, un vector de movimiento de cada uno o más bloques correspondientes cada uno de los cuales es (i) un bloque incluido en una imagen actual que será codificada y espacialmente adyacente a un bloque actual que será codificado o (ii) un bloque incluido en una imagen que no es la imagen actual y temporalmente adyacente al bloque actual; seleccionar un vector de movimiento de entre los vectores de movimiento en la lista, el vector de movimiento seleccionado siendo para ser usado para codificar el bloque actual; y codificar el bloque actual usando el vector de movimiento seleccionado en la selección, en donde en la adición, se lleva a cabo un proceso de escalamiento en un primer vector de movimiento del bloque correspondiente temporalmente adyacente para calcular un segundo vector de movimiento, se determina si el segundo vector de movimiento calculado tiene una magnitud que está dentro de un intervalo de magnitud predeterminado o una magnitud que no está dentro de la magnitud predeterminada, y el segundo vector de movimiento se añade a la lista como el vector de movimiento del bloque correspondiente cuando se determina que el segundo vector de movimiento tiene una magnitud que está dentro del intervalo de magnitud predeterminado .
De esta manera, es posible limitar vectores de movimiento manejados en codificación y decodificación a
cierta magnitud de tal manera que los vectores de movimiento puedan ser representados a cierta precisión de bit.
Además, en la adición, cuando se determina que el segundo vector de movimiento tiene una magnitud que no está dentro del intervalo de magnitud predeterminado, el segundo vector de movimiento es cortado para tener una magnitud dentro del intervalo de magnitud predeterminado, y un vector de movimiento que resulta del corte del segundo vector de movimiento se añade a la lista como el vector de movimiento del bloque correspondiente.
Más aún, en la adición, cuando se determina que el segundo vector de movimiento tiene una magnitud que no está dentro del intervalo de magnitud predeterminado, el segundo vector de movimiento no se añade a la lista.
Además, la lista es una lista de candidatos a fusión que lista el vector de movimiento del bloque correspondiente e información de especificación para especificar una imagen referenciada por bloque correspondiente, en la adición, la información de especificación se añade a la lista de candidatos a fusión además del vector de movimiento del bloque correspondiente, en la selección, un vector de movimiento e información de especificación que van a ser usadas para la codificación del bloque actual se seleccionan de entre los vectores de movimiento en la lista de candidatos a fusión, y en la
codificación, el bloque actual se codifica al generar una imagen predictiva del bloque actual usando el vector de movimiento e información de especificación seleccionada en la selección .
Más aún, la lista es una lista de candidatos a predictor de vector de movimiento, en la adición, se determina además si un cuarto vector de movimiento tiene una magnitud que está dentro de un intervalo de magnitud predeterminado o un intervalo que no está dentro del intervalo de magnitud predeterminado, y el cuarto vector de movimiento se añade a la lista de candidatos al predictor de vector de movimiento como un candidato a vector predictor de movimiento cuando se determina que el cuarto vector de movimiento tiene una magnitud que está dentro del intervalo de magnitud predeterminado, el cuarto vector de movimiento se calcula al llevar a cabo un proceso de escalamiento en un tercer vector de movimiento del bloque correspondiente espacialmente adyacente, en la selección, un predictor de vector de movimiento que se usará para codificación del bloque actual se selecciona de la lista de candidatos a predictor de vector de movimiento, y en la codificación, se lleva a cabo la codificación del bloque actual que incluye codificación de un vector de movimiento del bloque actual usando el predictor de vector de movimiento seleccionado en la selección.
Además, en la adición, cuando se determina que el cuarto vector de movimiento tiene una magnitud que no está dentro del intervalo de magnitud predeterminado, el cuarto vector de movimiento se corta para tener una magnitud dentro del intervalo de magnitud predeterminado, y un vector de movimiento que resulte del corte del cuarto vector de movimiento y se añade a la lista de candidatos a predictor de vector de movimiento como el candidato a predictor de vector de movimiento.
Más aún, el intervalo de magnitud predeterminado se determina con base en una precisión de bit de un vector de movimiento, y la precisión de bit tiene ya sea un valor especificado por uno de un perfil y un nivel o por un valor incluido en un encabezado.
Además, un método de decodificación de imágenes en movimiento de acuerdo con un aspecto de la presente invención es un método de decodificación de imágenes en movimiento para decodificar imágenes sobre una base de bloque por bloque, e incluye: añadir selectivamente, a una lista, un vector de movimiento de cada uno o más bloques correspondientes cada uno de los cuales es (i) un bloque incluido en una imagen actual que será decodificada y espacialmente adyacente a un bloque actual que será decodificado o (ii) un bloque incluido en una imagen que no es la imagen actual y temporalmente adyacente al bloque actual; seleccionar un vector de
movimiento de entre los vectores de movimiento en la lista, el vector de movimiento seleccionado siendo para ser usado para la decodificación del bloque actual; y decodificar el bloque actual usando el vector de movimiento seleccionado en la selección, en donde en la adición, se lleva a cabo un proceso de escalamiento en un primer vector de movimiento del bloque correspondiente temporalmente adyacente para calcular un segundo vector de movimiento, se determina si el segundo vector de movimiento calculado tiene una magnitud que está dentro de un intervalo de magnitud predeterminado o una magnitud que no está dentro de la magnitud predeterminada, y el segundo vector de movimiento se añade a la lista como el vector de movimiento del bloque correspondiente cuando se determina que el segundo vector de movimiento tiene una magnitud que está dentro del intervalo de magnitud predeterminado .
De esta manera, es posible limitar vectores de movimiento manejados en codificación y decodificación a cierta magnitud de tal manera que los vectores de movimiento pueden ser representados a cierta precisión de bit.
Además, en la adición, cuando se determina que el segundo vector de movimiento tiene una magnitud que no está dentro del intervalo de magnitud predeterminado, el segundo vector de movimiento es cortado para tener una magnitud dentro del intervalo de magnitud predeterminado, y un vector
de movimiento que resulte del corte del segundo vector de movimiento se añade a la lista.
Más aún, en la adición, cuando se determina que el segundo vector de movimiento tiene una magnitud que no está dentro del intervalo de magnitud predeterminado, el segundo vector de movimiento no se añade a la lista.
Además, la lista es una lista de candidatos a fusión que lista el vector de movimiento del bloque correspondiente e información de especificación para especificar una imagen referenciada por el bloque correspondiente, en la adición, la información de especificación se añade a la lista de candidatos a fusión además del vector de movimiento del bloque correspondiente, en la selección, un vector de movimiento e información de especificación que van a ser usadas para la decodificación del bloque actual se seleccionan de entre los vectores de movimiento en la lista de candidatos a fusión, y en la decodificación, el bloque actual es decodificado al generar una imagen predictiva del bloque actual usando el vector de movimiento y especificando información seleccionada en la selección .
Más aún, la lista es una lista de candidatos a predictor de vector de movimiento, en la adición, se determina además si un cuarto vector de movimiento tiene una magnitud que está dentro de un intervalo de magnitud
predeterminado o una magnitud que no está dentro del intervalo de magnitud predeterminado, y el cuarto vector de movimiento se añade a la lista de candidatos a predictor de movimiento como un candidato a predictor de vector de movimiento cuando se determina que el cuarto vector de movimiento que está dentro del intervalo de magnitud predeterminado, el cuarto vector de movimiento siendo calculado al llevar a cabo un proceso de escalamiento en un tercer vector de movimiento del bloque correspondiente espacialmente adyacente, en la selección, , un predictor de vector de movimiento que se usará para la decodificación del bloque actual se selecciona de la lista de candidatos a predictor de vector de movimiento, y en la decodificación, se lleva a cabo la decodificación del bloque actual que incluye la decodificación de un vector de movimiento del bloque actual usando el predictor de vector de movimiento seleccionado en la selección.
Además, en la adición, cuando se determina que el cuarto vector de movimiento tiene una magnitud que no está dentro del intervalo de magnitud predeterminado, el cuarto vector de movimiento es cortado para tener una magnitud dentro del intervalo de magnitud predeterminado, y un vector de movimiento que resulta del cuarto vector de movimiento se añade a la lista de candidatos a predictor de vector de movimiento como el candidato a predictor de vector de
movimiento .
Más aún, el intervalo de magnitud predeterminado se determina con base en una precisión de bit de un vector de movimiento, y la precisión de bits tiene ya sea un valor especificado por uno de un perfil y un nivel por un valor incluido en un encabezado.
Estos aspectos generales y específicos pueden implementarse usando un sistema, un método, un circuito integrado, un programa de computadora o un medio de grabación legible por computadora tal como un CD-ROM, o cualquier combinación de sistemas, métodos, circuitos integrados, programas de computadora o medios de grabación legibles por computadora .
En adelante se describen específicamente modalidades de la presente invención con referencia a las figuras .
Cada una de las modalidades descritas abajo muestra un ejemplo general o específico. Los valores numéricos, formas, materiales, elementos estructurales, la disposición y relación de los elementos estructurales, etapas, el orden de procesamiento de las etapas, etc., mostrados en las siguientes modalidades son simples ejemplos, y por lo tanto no limitan el alcance de las reivindicaciones. Por lo tanto, entre los elementos estructurales en las siguientes modalidades ejemplares, los elementos estructurales no
descritos en ninguna de las reivindicaciones independientes se describen como elementos estructurales arbitrarios .
Modalidad 1
La figura 8 es un diagrama de bloques que ilustra una configuración de un aparato de codificación de imágenes en movimiento de acuerdo con la modalidad 1.
Como se ilustra en la figura 8, un aparato de codificación de imágenes en movimiento 100 incluye, como su parte principal, una unidad sustractora 101, una unidad de transformación 102, una unidad de cuantificación 103, una unidad de codificación por entropía 110, una unidad de cuantificación inversa 104, una unidad de conversión inversa 105, una unidad sumadora 106, una unidad de memoria 109, una unidad de intra-inter predicción 107 y una unidad de control de codificación 108.
La unidad sustractora 101 envía una señal diferencial que es una diferencia entre una señal de video de entrada y una señal de video predxctiva.
La unidad de transformación 102 transforma la señal diferencial de un dominio de imagen en un dominio de frecuencia. La unidad de cuantificación 103 cuantifica la señal diferencial en un dominio de frecuencia como un resultado de la transformación y envía la señal diferencial cuantificada .
La unidad de codificación por entropía 110 codifica
por entropía la señal diferencial cuantificada y una señal de control de decodificación y envía un flujo de bits codificado .
La unidad de cuantificación inversa 104 cuantifica en forma inversa la señal diferencial cuantificada. La unidad de transformación inversa 105 transforma en forma inversa la señal diferencial cuantificada inversa de un dominio de frecuencia a' un dominio de imagen y envía una señal diferencial restablecida.
La unidad sumadora 106 suma la señal diferencial restablecida y una señal de video predictiva para generar una señal de video decodificada .
La unidad de intra- ínter predicción 107 almacena la señal de video decodificada con base en una unidad predeterminada, tal como sobre una base por cuadros o sobre una base por bloque, en la memoria 109 y, después de instrucciones provenientes de la unidad de control de codificación 108, genera y envía una señal de video predictiva (valores de pixel derivados con base en la señal de video decodificada y vectores de movimiento) que se proporcionará a la unidad sustractora 101 y la unidad sumadora 106.
Más aún, la unidad de intra-inter predicción 107 deriva una lista de candidatos a fusión (mergeCandList ) que es una lista de vectores de movimiento candidatos para usarse
en codificación y decodificación llevada cabo en modo de fusión. Para derivar la lista de candidatos a fusión, la unidad de intra- ínter predicción 107 añade selectivamente, a la lista de candidatos a fusión, un vector de movimiento de cada bloque correspondiente . Cada uno de los bloques correspondientes es (i) un bloque incluido en una imagen actual que será codificada y espacialmente adyacente a un bloque actual que será codificado o (ii) un bloque incluido en una imagen que no es la imagen actual y temporalmente adyacente al bloque actual. Además, la unidad de intra-inter predicción 107 lleva a cabo un proceso de escalamiento en un primer vector de movimiento del bloque correspondiente temporalmente adyacente para calcular un segundo vector de movimiento, y determina si el segundo vector de movimiento tiene una magnitud que está dentro de un intervalo de magnitud predeterminado o una magnitud que no está dentro del intervalo de magnitud predeterminado. Cuando se determina que el segundo vector de movimiento tiene una magnitud que está dentro del intervalo de magnitud predeterminado, la unidad de intra-inter predicción 107 añade, a la lista de candidatos a fusión, el segundo vector de movimiento como un vector de movimiento de un bloque correspondiente. La unidad de intra-inter predicción 107 selecciona un vector de movimiento que se usará para codificación de un bloque actual a partir de la lista de candidatos a fusión. En otras
palabras, e proceso de escalamiento de acuerdo con la modalidad 1 se lleva a cabo principalmente por la unidad de intra-inter predicción 107. Debe notarse que la unidad de intra- ínter predicción 107 del aparato de codificación de imágenes en movimiento 100 de acuerdo con la modalidad 1 corresponde a una unidad de adición y una unidad de selección, y la unidad sustractora 101, la unidad de transformación 102, la unidad de cuantificación 103 y la unidad de codificación por entropía 110 del aparato de codificación de imágenes en movimiento 100 de acuerdo con la modalidad 1 corresponden a una unidad de codificación.
La unidad de control de codificación 108 determina parámetros de control para controlar las unidades de procesamiento en la figura 8 y para controlar la codificación de una imagen con base en un resultado de una prueba, y proporciona los parámetros particularmente a la unidad de intra-inter predicción 107. (Los parámetros de control corresponden a una señal de control de decodificación) . La prueba se lleva a cabo usando, por ejemplo, una función para reducir la longitud de bits de un flujo de bits codificado representado por una línea punteada en la figura 8. Los parámetros de control para codificar datos de video (por ejemplo, parámetros que indican ya sea ínter predicción o intra predicción) son de esta manera determinados y enviados. La señal enviada incluye índices de vectores de movimiento,
los cuales se describirán más adelante.
Cuando el resultado de la prueba es afirmativo, la unidad de control de codificación 108 determina un índice de fusión (merge_Idx) que es un valor que indica que el proceso de escalamiento de acuerdo con la modalidad 1 ha sido aplicado a la imagen, e incluye el índice de fusión en una señal de control de decodificación que será enviada. En este caso, la señal diferencial cuantificada tiene valores derivados de una señal de video predictiva generada usando el proceso de escalamiento de acuerdo con la modalidad 1.
La figura 9 es un diagrama de flujo que ilustra la operación del aparato de codificación de imágenes en movimiento de acuerdo con la modalidad 1.
A continuación se describe la operación de codificación en modo de fusión en caso de que la unidad de control de codificación 108 haya determinado (1) inter-codificar un bloque actual (MODE_INTER) y (2) usar el modo de fusión (MergeMODE) (u obtener un resultado de uso del modo de fusión) .
El modo de fusión en HEVC es conceptualmente equivalente a un modo directo recién proporcionado en la norma H.264. Al igual que con el modo directo en H.264, un vector de movimiento se deriva no usando una secuencia de códigos sino usando un vector de movimiento de un bloque espacial (S) o temporalmente (T) diferente.
El modo de fusión y el modo directo en H.264 son diferentes en los siguientes puntos.
(a) Unidad de procesamiento: el cambio entre usar y no usar el modo de fusión es posible al cambiar merge_flag, el cual puede cambiarse en una unidad de predicción (PU) menos que un segmento .
(b) Opciones: La selección de modo directo espacial (S) o modo temporal (T) no es una determinación de dos alternativas. Hay más opciones y la selección es indicada por merge_idx. Específicamente, una lista de candidatos a fusión (mergeCandList) se deriva la cual es una lista de vectores de movimiento candidatos para usarse en codificación y decodificación de un modo de fusión. Un vector de movimiento que se usará se indica por el valor de un índice (merge_idx) seleccionada a partir de una secuencia de códigos en la lista.
Cuando el proceso para el modo de fusión es iniciado, la unidad de control de codificación 108 establece los valores de merge_idx e i en "0" (etapa S101) . El parámetro i se usa convenientemente como un número de candidato para distinguir candidatos.
La unidad de intra-inter predicción 107 establece bloques candidatos [1 ... N] cada uno de los cuales es de cualquiera de los siguientes dos tipos (etapa S102) . Supóngase que N = 6.
(s) Los bloques candidatos [1 ... (N-l)] son uno o más bloques candidatos para modo directo espacial. Estos bloques candidatos [1 ... 5] se distinguen con base en la ubicación de cada bloque candidato.
(t) El bloque candidato [N] es un bloque candidato para modo temporal. Un bloque colocalizado anexo a los bloques candidatos para modo directo espacial tiene un valor de entrada de "6", el cual se usa como el índice del bloque colocalizado. Esto se describirá más adelante usando la figura 10.
En las etapas S103 y más adelante, la unidad de control de codificación 108 lleva a cabo un proceso de circuito que incrementa en el valor del parámetro i que Índica cada candidato (etapa S103), para determinar un modo para la derivación de un vector de movimiento que será enviado. El vector de movimiento determinado es adecuado para una función objetiva para proporcionar alta precisión.
La unidad de intra-inter predicción 107 determina si el bloque candidato [i] está disponible o no en memoria (etapa S104) . Por ejemplo, un bloque colocado debajo del bloque actual y aún por ser codificado (o decodificado) no es almacenado en memoria, y se determina por lo tanto como no disponible .
Cuando se determina que un bloque no está disponible (etapa S104, No), la unidad de intra-inter
predicción 107 se mueve al siguiente candidato i sin cambiar el valor de merge_idx (regresa a la etapa S103) .
Cuando se determina que un bloque está disponible (etapa S104, Sí), la unidad de intra-inter predicción 107 procede a la siguiente etapa.
Después, la unidad de intra-inter predicción 107 determina si datos de movimiento (un conjunto de mvLO , mvLl, refldxLO y refldxLl, lo mismo aplica aqui en adelante) del bloque candidato [i] es un duplicado de datos de movimiento (mvLO, refldxLO, mvLl y refldxLl) ya probados con bloques candidatos [1 ... (i-1)] previos (etapa S105) . Esta determinación se describirá más adelante usando la figura 12.
Cuando se determina que un bloque es un duplicado (etapa S105, Sí), la unidad de intra-inter predicción 107 se mueve al siguiente candidato i sin cambiar el valor de merge_idx (regresa a la etapa S103) .
Cuando se determina que un bloque no es un duplicado, es decir, cuando los datos de movimiento es un nuevo conjunto de elementos de datos de movimiento (etapa S10.5, No) , la unidad de intra-inter predicción 107 procede a la siguiente etapa. Una lista de candidatos a fusión de vectores de movimiento (mergeCandLis) se genera como resultado de las determinaciones en cuanto a la disponibilidad (etapa S104) y duplicación (etapa S105) . Esto se describirá más adelante usando la figura 11.
Después, la unidad de intra-inter predicción 107 obtiene o deriva datos de movimiento (mvLO, refldxLO, mvLl y refldxLl) del bloque candidato [i] (etapa sl06) . Aquí, cuando el bloque candidato [i] es un bloque colocalizado destinado a ser usado en modo temporal, se lleva a cabo el proceso de escalamiento. El proceso de escalamiento se describirá más adelante usando la figura 14.
Aunque el proceso de escalamiento se lleva a cabo cuando un bloque candidato [i] resulta ser un bloque colocalizado destinado a ser usado en modo temporal en la etapa S106, la operación del aparato de codificación de imágenes en movimiento no se limita a esto. Por ejemplo, en otra operación posible,' datos de movimiento (mvLO, refldxLO, mvLl y refldxLl) ya sometidos al proceso de escalamiento (esto se describirá más adelante usando la figura 14) se obtienen cuando un bloque colocalizado se añade a la lista de bloques candidatos en la etapa S102, y el bloque colocalizado no se añade a la lista en la etapa S105 cuando los datos de movimiento del bloque colocalizado son un duplicado de datos de movimiento de cualquiera de los bloques candidatos previos (figura 17) . De esta manera, más datos de movimiento duplicados de bloques candidatos se omiten por lo que la carga de procesamiento puede reducirse y la eficiencia de codificación puede mejorarse.
Después, se lleva a cabo ínter codificación como
una prueba por el aparato de codificación como un todo usando los datos de movimiento determinados bajo el control de la unidad de control de codificación 108 (etapa S107) . La unidad de control de codificación 108 obtiene, por ejemplo, un flujo de bits [i] como una salida resultante de la unidad de codificación por entropía 110.
La unidad de control de codificación 108 determina si el candidato [i] actual produce o no un resultado mejor que los resultados obtenidos usando candidatos previos [1 ... (i-1)] (si el candidato actual [i] produce o no un valor mínimo de una función objetivo predeterminada. A partir de puntos de vista tales como longitud de flujo de bits (eficiencia de compresión) o retraso en procesamiento (etapa S108) .
Cuando se determina que el candidato actual [i] produce un resultado mejor que los resultados producidos usando el candidato previo [1 ... (i-1)] (etapa 108, Sí), el valor actual de merge_idx se almacena como un valor de merge_idx que se usará realmente para codificación y decodificación (etapa S109) . Brevemente, el valor efectivo de merge_idx que produce un resultado más deliberado se almacena en un parámetro de dummy_merge_idx .
La unidad de intra-inter predicción 107 ha obtenido así el resultado de que el candidato actual i es una entrada efectiva. Después, la unidad de intra-inter predicción 107
incrementa el valor de merge_idx para moverse a la siguiente entrada (etapa S110) .
Luego, la unidad de control de codificación 108 determina si la prueba se ha llevado a cabo o no en todos los bloques candidatos (etapa Slll) .
Cuando se determina que el proceso se ha llevado a cabo en todos los bloques (la prueba ha sido llevada a cabo en el bloque colocalizado para el modo temporal (t) establecido como el último bloque candidato [N] en la etapa S102) (etapa Slll, Sí), la unidad de control de codificación 108 procede a la siguiente etapa.
Cuando se determina que el proceso no ha sido llevado a cabo en todos los bloques candidatos (etapa Slll, No) , el número candidato i se incrementa y la prueba se lleva a cabo en el siguiente candidato.
Finalmente, dummy_merge_idx, que produce un valor máximo (o un valor mínimo) de una función objetivo predeterminada se determina como un índice de fusión (merge_idx) que será realmente incluido en una secuencia de códigos (etapa S112) .
Esta es la operación de codificación usando el modo de fusión.
La figura 10 ilustra bloques candidatos a fusión [1 ... 6] establecidos en la etapa S102 por la unidad de intra-inter predicción 107.
Los bloques candidatos incluyen (s) uno o más bloques espacialmente adyacentes ( (s) bloques espacialmente adyacentes [1 ... (N-l)] en la figura 10) y (t) un bloque temporalmente adyacente ( (t) bloque colocalizado [N] en la figura 10) .
En una lista de candidatos a fusión, los bloques espacialmente adyacentes se listan como una entrada de candidatos (o entradas de candidatos) que tienen merge_idx de menos valores, en otras palabras, como una entrada de candidato (o entradas de candidato) en la parte superior de la lista. Los bloques espacialmente adyacentes se ubican en una dirección (SI) horizontal o (S2) vertical a partir de la PU actual y adyacentes a la PU actual ahí como se ilustra en la figura 10.
Se debe notar que la adyacencia se determina con base en PU que es una unidad de datos de movimiento a la cual se aplica el mismo vector de movimiento. En otras palabras, lo que se determina es si una PU es adyacente a la CurrentPU que incluye el bloque actual Curr_Blk. Los bloques B0 a B2 en la figura 10 son ejemplos de un bloque verticalmente adyacente. Una PU que incluye cualquiera de los bloques es una PU adyacente, y datos de movimiento (mvLO, refldxLO, mvLl y refldxLl) de la PU adyacente son usados. En la figura 10, los bloques A0 y Al son ejemplos de un bloque horizontalmente adyacente .
La entrada de candidato que tiene merge_idx del valor más grande y se ubica en el fondo de una lista de candidatos a fusión, en otras palabras, la entrada de candidato finalmente añadida a una lista de candidatos a fusión es un bloque temporalmente adyacente. En la figura 10, el bloque colocalizado en una imagen indicada por un valor de índice de 0 en una lista de imágenes de referencia Ll (o LO) cuando no hay lista de imágenes de referencia Ll disponibles) de un bloque actual es un bloque temporalmente adyacente.
La figura 11 ilustra el concepto de la lista de candidatos a fusión (mergeCandList) generada en el proceso en las etapas S103 y posteriores. La "i" (1 ... 6) a la izquierda de la figura 11 corresponde al número de candidato i en la etapa S103 y otros.
Las entradas que corresponden a i = [1 ... 5] son (s) uno o más bloques espacialmente adyacentes (A0 ... B2 en la figura 10) . · La entrada que corresponde a i = 6 es (t) un bloque temporalmente adyacente ( (t) bloque colocalizado [N] en la figura 10) .
Uno efectivo de números de entrada de los candidatos 1 ... 6 es merge_idx. En referencia a la figura 11, los candidatos que corresponden a i = 3 y 5 son vectores de movimiento duplicados. Más específicamente, esto indica que la unidad de intra- ínter predicción 107 ha determinado en la
etapa S105 que datos de movimiento (un conjunto de mvLO, mvLl, refldxLO y refldxLl, lo mismo aplica aquí en adelante) del bloque candidato [i] son un duplicado de datos de movimiento (mvLO, refldxLO, mvLl y refldxLl) ya probados con bloques candidatos previos [1 ... (i -1)]).
La figura 12 ilustra un ejemplo de una determinación de duplicación en la etapa S105 en donde se determina que datos de movimiento que corresponden a una entrada de un bloque candidato son un duplicado de datos de movimiento que corresponden a una entrada previa.
Cuando datos de movimiento de un bloque adyacente ubicado en Bl que está directamente arriba de una PU actual se determinan prácticamente para una PU que también incluye BO y Bn, datos de movimiento de los bloques BO y BN que corresponden a los números de candidato 3 y 5, respectivamente, son un duplicado de los datos de movimiento de un bloque adyacente Bl que está directamente arriba de una PU actual. En consecuencia, las entradas de los bloques BO y BN se eliminan de la lista. La lista mergeCandList es de esta manera comprimida a una lista en la cual el valor más grande de merge_idx es "2" como se ilustra en la figura 11.
La figura 13 es un diagrama de flujo que ilustra un proceso para obtener datos de movimiento (mvLO , refldxLO, mvLl y refldxLl) de un bloque candidato a fusión [i] que se lleva a cabo en la etapa S106.
Cuando el proceso es iniciado, la unidad de control de codificación 108 determina si un bloque adyacente [i] es un bloque espacialmente adyacente o un bloque temporalmente adyacente (etapa S201) .
Cuando la unidad de control de codificación 108 determina que el bloque adyacente [i] es un bloque espacialmente adyacente (el valor de [i] es uno de 1 a 5 en la tabla en la figura 11) , datos de movimiento de la PU incluyendo el bloque candidato [i] se determinan directamente como datos de movimiento de un bloque actual (etapa S202) .
Cuando la unidad de control de codificación 108 determina que el bloque adyacente [i] es un bloque temporalmente adyacente (el valor de [i] es 6 en la tabla en la figura 11) , mvLOCol del bloque colocalizado (Col_Blk) , que es el bloque candidato [6] , s escalan usando un proceso de escalamiento directo temporal incluyendo multiplicación (etapa S203) .
El proceso de escalamiento se describirá abajo usando la figura 14.
La figura 14 es un diagrama de flujo que ilustra el proceso de escalamiento en la etapa S203.
Primero, la unidad de intra-inter predicción 107 calcula DistScaleFactor usando una imagen actual CurrPicOrfField, una imagen de referencia picO referenciada por un bloque actual, una imagen piel que incluye un bloque
colocalizado y el valor de orden de presentación visual de una picO de referencia referenciada por el bloque colocalizado como se ilustra por la ecuación para la etapa 1 en la figura 6 (etapa S301) . Después, la unidad de intra-ínter predicción 107 calcula un vector de movimiento mvLO al multiplicar un vector de movimiento mvCol del bloque colocalizado por DistScaleFactor como se ilustra por la ecuación para la etapa 2 en la figura 6 (etapa S302) . Luego, la unidad de intra-inter predicción 107 determina si las magnitudes de un componente horizontal y un componente vertical del vector de movimiento mvLO calculado pueden ser o no representadas a cierta precisión de bits (etapa S303) . Cuando el resultado de la determinación es verdadero (etapa S303, Sí), la unidad de intra-inter predicción 107 añade un candidato a bloque de fusión que tiene el bloque de movimiento calculado mvLO a una lista de candidatos a fusión mergeCandList (etapa S304) . Cuando el resultado es falso (etapa S303, No), la unidad de intra-inter predicción 107 determina que un candidato a bloque de fusión calculado a partir de un bloque colocalizado no está disponible y no añade el candidato a bloque de fusión a una lista de candidatos a fusión mergeCandList (etapa S305) .
De esta manera, cuando un vector de movimiento que resulta del proceso de escalamiento tiene un valor demasiado grande como para ser representado a cierta precisión de bits,
un candidato a bloque de fusión que tenga el vector de movimiento no se añade a una lista de candidatos a fusión. Esto hace posible limitar vector de movimiento para ser manejados en codificación y decodificación a una magnitud que puede ser representada a la cierta precisión de bits. Por ejemplo, supóngase que la cierta precisión de bits es 16 bits. En este caso, un bloque de fusión que tenga un vector de movimiento mvLO obtenido como resultado del proceso de escalamiento no se añade a una lista de candidatos a fusión cuando cualquiera del componente horizontal o el componente vertical del vector de movimiento mvLO tiene un valor no dentro del intervalo de -32768 a +32767. De esta manera, es posible limitar vectores de movimiento para ser manejados en codificación y decodificación a cierta magnitud de tal manera que los vectores de movimiento pueden ser representados a una precisión de bits de 16 bits.
La presente invención no está limitada al ejemplo descrito arriba para la modalidad 1 en la cual tanto el componente horizontal como el componente vertical de un vector de movimiento se limitan a una magnitud que puede ser representada a una precisión de bits de 16 bits. Por ejemplo, supóngase el caso de que el componente horizontal esté limitado a una magnitud que pueda ser representada a una precisión de bits de 16 bits y el componente vertical esté limitado a una magnitud que pueda ser representada a una
precisión de bits de 14 bits. En este caso, un candidato a bloque de fusión que tenga un vector de movimiento mvLO obtenido como un resultado del proceso de escalamiento no se añade a una lista de candidatos a fusión cuando se determina que el componente horizontal mvLO no está dentro del intervalo de -32768 a +327867 o el componente vertical del vector de movimiento no está dentro del intervalo de -8192 a 8191. De esta manera, es posible limitar el componente horizontal de un vector de movimiento a una magnitud y el componente vertical del vector de movimiento a otra magnitud.
La presente invención no está limitada al ejemplo descrito arriba para la modalidad 1 en la cual un vector de movimiento mvLO de una lista de imágenes de referencia LO se calcula por el proceso de escalamiento. El proceso de escalamiento es aplicable también al cálculo de un vector de movimiento mvLl de una lista de imágenes de referencia Ll .
La presente invención no está limitada a la modalidad 1 descrita arriba en la cual un candidato a bloque de fusión calculado a partir de un bloque colocalizado no se añade a una lista de candidatos de fusión cuando el candidato a bloque de fusión tiene un vector de movimiento mvLO que se calcula al multiplicar un vector de movimiento mvCol del bloque colocalizado por DistScaleFactor en la etapa S302 y tiene un componente horizontal y un componente vertical cualquiera de los cuales tiene un valor demasiado grande como
para ser representado a cierta precisión de bits. Por ejemplo, cuando un bloque colocalizado es bipredictivo, un candidato a bloque de fusión puede calcularse al llevar a cabo el proceso de las etapas S302 a S305 usando el otro vector de movimiento del bloque colocalizado como mvCol . De esta manera, la reducción excesiva en el número de candidatos a bloques de fusión calculados a partir de bloques colocalizados puede evitarse, por lo que se puede incrementar la eficiencia de codificación.
La presente invención no está limitada a la modalidad 1 descrita arriba en la cual un candidato a bloque de fusión calculado a partir de un bloque colocalizado no se añade a una lista de candidatos a fusión en la etapa S305 cuando cualquiera del componente horizontal o el componente vertical de un vector de movimiento mvLO tiene un valor demasiado grande como para ser representado a cierta precisión de bits. Por ejemplo, como se ilustra en la etapa S401 en la figura 15, el componente horizontal o el componente vertical del vector de movimiento mvLO puede cortarse de tal manera que su valor pueda representarse a cierta precisión de bits, y un candidato a bloque de fusión que tenga el vector de movimiento cortado puede añadirse a una lista de candidatos a fusión. Para un ejemplo específico, supóngase que la cierta precisión de bits sea 16 bits. En este caso, cuando un vector de movimiento obtenido
por el proceso de escalamiento tiene un componente horizontal que tiene un valor mayor que ++32767, un candidato a bloque de fusión puede calcularse usando un vector de movimiento que tenga un componente horizontal de +32767 como resultado del corte. Cuando un vector de movimiento obtenido por el proceso de escalamiento tenga un componente horizontal que tenga un valor de menos de -32768, un candidato a bloque de fusión puede calcularse usando un vector de movimiento que tenga un componente horizontal de -32768 como un resultado del corte.
La presente invención no está limitada al ejemplo descrito arriba para la modalidad 1 en la cual la magnitud de vectores de movimiento se limita a una magnitud a base de una precisión de bits fija. Por ejemplo, un indicador y una precisión de bits para limitar vectores de movimiento pueden indicarse adicionalmente en un encabezado tal como un conjunto de parámetros de secuencia (SPS, por sus siglas en inglés) , un conjunto de parámetros de imagen (PPS, por sus siglas en inglés) y un encabezado de segmento, y valores limitativos para vectores de movimiento pueden cambiarse para cada secuencia, imagen, o segmento de acuerdo con el indicador y precisión de bits. Opcionalmente , valores de limitación para vectores de movimiento pueden cambiarse de acuerdo con un perfil o un nivel que especifique una precisión de bits de un vector de movimiento.
A continuación se describirá un aparato de decodificación de imágenes en movimiento que restablece una imagen en movimiento a partir de un flujo de bits codificado por el aparato de codificación de imágenes en movimiento de acuerdo con la modalidad 1.
La figura 16 es un diagrama de bloques que ilustra una configuración de un aparato de decodificación de imágenes en movimiento de acuerdo con la modalidad 1.
Un aparato de decodificación de imágenes en movimiento 200 decodifica un flujo de bits codificado ingresado y envía las señales de imagen decodificadas almacenadas temporalmente en una memoria (una memoria para imágenes decodificadas) en orden de presentación visual con sincronización predeterminada.
Como se ilustra en la figura 16, el aparato de decodificación de imágenes en movimiento 200 incluye, como su parte principal, una unidad de decodificación por entropía 201, una unidad de cuantificación inversa 202, una unidad de transformación inversa 203, una unidad de adición024, una memoria 207, una unidad de intra-inter predicción 205 y una unidad de control de decodificación 206. Cada elemento constituyente que tenga el mismo nombre que aquél en el aparato de codificación de imágenes en movimiento ilustrado en la figura 8 tiene una funcionalidad correspondiente.
La unidad de decodificación por entropía 201
decodifica por entropía un flujo de bits codificado de entrada y envía una señal diferencial cuantificada, una señal de control de decodificación, y otras.
La unidad de cuantificación inversa 202 cuantifica en forma inversa la señal diferencial cuantificada obtenida por la decodificación por entropía. La unidad de transformación inversa 203 transforma de manera inversa una señal diferencial obtenida por la cuantificación inversa a partir de un dominio de frecuencia en un dominio de imagen y envía la señal diferencial restablecida.
La unidad de adición 204 añade la señal diferencial restablecida y una señal de video predictiva para generar una señal de video decodificada .
La unidad de intra- ínter predicción 205 almacena la señal de video decodificada con base en una unidad predeterminada, tal como sobre una base por cuadro o por bloque, en la memoria 207 y, después de recibir instrucciones de la unidad de control de decodificación 206, genera y envía una señal de video predictiva (valores de pixel derivados con base en la señal de video decodificada y vectores de movimiento) que será proporcionada a la unidad de adición 204.
Al igual que con el aparato de codificación de imágenes en movimiento 100, el proceso de escalamiento de acuerdo con la modalidad 1 se lleva a cabo por la unidad de
intra-inter predicción 205. Debe notarse que la unidad de intra- ínter predicción 205 del aparato de decodificación de imágenes en movimiento 200 de acuerdo con la modalidad 1 corresponde a una unidad de adición y una unidad de selección, y la unidad de decodificación por entropía 201, la unidad de cuantificación inversa 202, la unidad de transformación inversa 203, la unidad sumadora 204, etc., corresponden colectivamente a una unidad de decodificación.
La unidad de control de decodificación 206 obtiene parámetros de control que se usarán para controlar la unidad de procesamiento en la figura 16 y la decodificación de imágenes a partir de la señal de control de decodificación decodificada por la unidad de decodificación por entropía 201. La información de control de decodificación en un flujo de bits codificado incluye el índice de fusión (merge_idx) determinado en la etapa S112 ilustrada en la figura 9.
La figura 17 es un diagrama de flujo que ilustra la operación del aparato de decodificación de imágenes en movimiento de acuerdo con la modalidad 1.
A continuación se describirá la operación que se llevará a cabo en caso de que la unidad de control de decodificación 206 haya determinado, a partir de información indicada por una señal de control de decodificación, que un bloque actual (Curr_Blk) (o un bloque de unidad de predicción de PU que incluye el bloque actual) es inter-codificado
(MODE_INTER) usando el modo de fusión (MergeMODE) .
Primero, la unidad de intra-inter predicción 205 genera localmente una lista de candidatos a fusión (mergeCandList) ilustrada en la figura 11. Generar localmente una lista de candidatos a fusión significa que la unidad de intra-inter predicción 205 genera una lista de candidatos a fusión usando el mismo método que el aparato de codificación de imágenes en movimiento 100, sin hacer referencia a información obtenida de un flujo de bits codificado.
El parámetro "i = 1 ... 6" tiene la misma definición que "i" en la figura 11.
La unidad de intra-inter predicción 205 lleva a cabo el proceso a partir de las etapas S501 a S505 para el número de bloque candidato i que varía de 1 a 6. La unidad de intra-inter predicción 205 identifica el número de bloque candidato i (etapa S501) . Cuando el número de bloque candidato i es uno de 1 a 5, la unidad de intra-inter predicción 205 obtiene datos de movimiento de bloques adyacentes espaciales (etapa S502) .
Cuando el número de bloque candidato i es 6, la unidad de intra-inter predicción 205 lleva a cabo el proceso de escalamiento usando datos de movimiento de un bloque colocalizado usando el mismo método que en la etapa S203 en la figura 13 (etapa S503) .
Luego, la unidad de intra-inter predicción 205 determina si los datos de movimiento obtenidos en la etapa S502 o etapa S504 son o no un duplicado de datos de movimiento en una entrada arriba en mergeCandList (etapa S504) .
Cuando se determina que los datos de movimiento son un duplicado (etapa S504, Sí), la unidad de intra-inter predicción 205 se mueve al número de bloque candidato i incrementado al siguiente valor.
Cuando se determina que datos de movimiento no son un duplicado (etapa S504, No), la unidad de intra-inter predicción 205 anexa los datos de movimiento obtenidos a la lista de candidatos a fusión (mergeCandList) (etapa S505) .
Una lista de candidatos a fusión inicial (mergeCandList) se genera entonces por el proceso de las etapas S501 a S505.
Después, cuando se satisface una condición predeterminada, la unidad de intra-inter predicción 205 actualiza la lista de candidatos a fusión (mergeCandList) (etapa S506) . Las figuras 18A y 18B ilustran un ejemplo del proceso para la actualización, el cual se lleva a cabo bajo una regla implícitamente compartida con un aparato de codificación de imágenes en movimiento correspondiente. La figura 18A ilustra una lista de candidatos a fusión inicial generada (mergeCandList) . La figura 18B ilustra una lista de
candidatos a fusión después de haber sido actualizada. En el ejemplo ilustrado en la figura 18B, un candidato que tenga un índice a fusión (merge_idx) de "0" (mvL0_A, refO) y un candidato que tenga un índice a fusión de "1" (mvLl_B, refO) se combinan para generar un candidato que tiene un índice de fusión (merge_idx) de "2" (mvL0_A, refO, mvLl_B, refO) .
Después, se hace una selección para modo de fusión para vectores de movimiento mvLO y mvLl usando la lista.
La unidad de decodificación por entropía 201 decodifica por entropía merge_Idx y la unidad de intra- inter predicción 205 recibe el valor del merge_Idx (etapa S507) .
Luego, la unidad de intra-inter predicción 205 selecciona datos de movimiento a usar en el modo de fusión indicado por el valor de merge_Idx de los candidatos en la lista de candidatos a fusión (etapa S508) .
Finalmente, la unidad de intra-inter predicción 205 obtiene datos de pixel (pixelsLO y pixelsLl) de pixeles en posiciones indicadas por los vectores de movimiento mvLO y mvLl en los datos de movimiento seleccionados (mvLO, refldxLO, mvLl, refldxLl) , y deriva una señal de video predictiva usando los datos de pixel (etapa S509) .
De esta manera, cuando un vector de movimiento que resulta del proceso de escalamiento tiene un valor demasiado grande como para ser representado a cierta precisión de bits, un candidato a bloque de fusión que tenga el vector de
movimiento no se añade a una lista de candidatos a fusión. Esto hace posible limitar vectores de movimiento que serán manejados en codificación y decodificación a una magnitud que puede ser representada a la cierta precisión de bits.
La presente invención no está limitada a la modalidad 1 descrita arriba en la cual después del proceso de escalamiento en la etapa S302 en la figura 14, se determina si la magnitud del vector de movimiento calculado puede o no ser representada a cierta precisión de bits. Como alternativa, por ejemplo, se puede determinar si la magnitud del vector de movimiento mvLO seleccionado de acuerdo con merge_idx en la etapa S508 en la figura 17 puede ser o no representada dentro de cierta longitud de bits. Además, cuando se determina que la magnitud no puede ser representada a cierta precisión de bits, el vector de movimiento puede ser cortado para tener así una magnitud que pueda ser representada a la cierta precisión de bits.
Más aún, la técnica descrita en la modalidad 1 es aplicable no sólo al caso en donde la magnitud de un vector de movimiento después del proceso de escalada usando el modo de fusión especificado en la HEVC descrita en NPL 2 se limita por lo que se puede representar a cierta precisión de bits. También es aplicable el caso en donde un candidato a predictor de vector de movimiento se deriva usando el AMVP especificado en la HEVC descrita en NPL 2.
La figura 19A ilustra un predictor de vector de movimiento mvpLX en HEVC descrito en NPL 2. La figura 19B ilustra una lista de candidatos mvpListLX (mvpListLO y mvpListLl) para el predictor de vector de movimiento mvpLX.
El predictor de vector de movimiento mvpLX se usa para la derivación de un vector de movimiento de diferencia mvdLX que es una diferencia de un vector de movimiento mvLX derivado por una estimación de movimiento como se ilustra en la figura 19A. Luego, el vector de movimiento de diferencia mvdLX es codificado. El valor de mvp_idx_10 en la figura 19B corresponde al valor de mvp_idx_ix en la figura 19B corresponde al alor de mvp_idx_IX que es codificado (o extraído por un aparato de decodificación correspondiente) . Datos de movimiento de mvpListLX [mvp_idx_IX] identificado por un valor de índice (0, 1 ó 2) es un predictor de vector de movimiento mvp (predictor) . N en la figura 19A y figura 19B indica una posición espacial o temporal de un bloque cuyo vector de movimiento tiene un valor que se usará como un valor predicho de un vector de movimiento.
La figura 20 ilustra bloques candidatos a predictor o un bloque candidato a predictor indicado por el valor de N (A, B o Col) mostrado en la figura 19B. El bloque negro relleno de la figura 20 es un bloque actual que será codificado (o decodificado) Curr_Blk. El bloque está incluido en una imagen que tiene un número de imagen de
picNum 302. El bloque cuadriculado en la figura 20 se ubica en la posición indicada por coordenadas espaciales aproximadamente idénticas (x, y) como el bloque actual que será decodificado Curr_Blk (o un bloque de unidad de predicción PU que incluye el bloque actual) pero en una imagen que tiene un picNum diferente (temporalmente diferente) , es decir, que es denominado un bloque colocalizado (Col_Blk) . En este ejemplo, supóngase que Col_Blk se ubique en una imagen que no tenga un número de imagen de un picNum 302 pero que tenga un número de imagen de picNum 303. En HEVC, los vectores de movimiento mvLOA, mvLOB, y mvLOCol (o mvLlA, mvLlB, y mvLICol) de los bloques N_Blk (A_Blk, B_Blk, Col_Blk) en las posiciones A, B y Col, respectivamente, son multiplicados por DistScaleFactor, y los predictores de vector de movimiento mvpLO y mvpLl resultantes se usan como candidatos a predictor.
En la modalidad 1, se determina si la magnitud de cada uno de los predictores de vector de movimiento calculados por la multiplicación se pueden representar o no a cierta precisión de bits. Cuando el resultado de la determinación es falso, el predictor de vector de movimiento no se añade a una lista de candidatos a predictor de vector de movimiento. De esta manera, es posible limitar un predictor de vector de movimiento o un vector de movimiento de diferencia calculado a partir de un vector de movimiento y
un predictor de vector de movimiento de un bloque actual que será codificado hasta que una magnitud que pueda ser representada a cierta precisión de bits sea determinada. Cuando el predictor de vector de movimiento calculado por la multiplicación tiene una magnitud que no puede ser representada a la cierta precisión de bits, un predictor de vector de movimiento obtenido al cortar el predictor de vector de movimiento para de esta manera tener una magnitud que pueda ser representada a cierta precisión de bits puede añadirse en su lugar a la lista de candidatos a predictor de vector de movimiento.
La modalidad 1 ha sido descrita a manera de ejemplo, y el alcance de las reivindicaciones de la presente solicitud no está limitado a la modalidad 1. Los expertos en la técnica apreciarán fácilmente que se pueden hacer varias modificaciones en estas modalidades ejemplares y que otras modalidades pueden obtenerse al combinar arbitrariamente los elementos constituyentes de las modalidades sin materialmente alejarse de las novedosas enseñanzas y ventajas de la materia descrita en las reivindicaciones anexas. En consecuencia, todas estas modificaciones y otras modalidades se incluyen en la presente invención.
Cada uno de los elementos constituyentes en cada una de las modalidades descritas arriba puede configurarse en forma de un producto de hardware exclusivo, o se puede lograr
al ejecutar un programa de software adecuado para el elemento estructural. Los elementos constituyentes pueden ser implementados por una unidad de ejecución de programas tal como una CPU o un procesador que lea y ejecute un programa de software grabado en un medio de grabación tal como un disco duro o una memoria semiconductora. Aquí, el programa de software para lograr el aparato de codificación de imágenes en movimiento o el aparato de decodificación de imágenes en movimiento de acuerdo con la modalidad 1 es un programa descrito abajo.
Específicamente, el programa causa que una computadora ejecute un método para codificar imágenes sobre una base de bloque por bloque, el método incluye: añadir selectivamente, a una lista, un vector de movimiento de cada uno o más bloques correspondientes cada uno de los cuales es (i) un bloque incluido en una imagen actual que será codificada y especialmente adyacente a un bloque actual que será codificado o "(ii) un bloque incluido en una imagen que no es la imagen actual y temporalmente adyacente al bloque actual; seleccionar un vector de movimiento de entre los vectores de movimiento y la lista, el vector de movimiento seleccionado siendo para ser usado para la codificación del bloque actual; y codificar el bloque actual usando el vector de movimiento seleccionado en la selección, en donde en la adición, se lleva a cabo un proceso de escalamiento en un
primer vector de movimiento del bloque correspondiente temporalmente adyacente para calcular un segundo vector de movimiento, se determina si el segundo vector de movimiento calculado tiene una magnitud que está dentro de un intervalo de magnitud predeterminado o una magnitud que no está dentro de la magnitud predeterminada, y el segundo vector de movimiento se añade a la lista como el vector de movimiento del bloque correspondiente cuando se determina que el segundo vector de movimiento tiene una magnitud que está dentro del intervalo de magnitud predeterminado.
Además, el programa causa que una computadora ejecute un método para decodificar imágenes sobre una base de bloque por bloque, el método incluye: añadir selectivamente, a una lista, un vector de movimiento para cada uno de uno o más bloques correspondientes cada uno de los cuales es (i) un bloque incluido en una imagen actual que será decodificada y espacialmente adyacente a un bloque actual que será decodificado o (ii) un bloque incluido en una imagen que no es la imagen actual y temporalmente adyacente al bloque actual; seleccionar un vector de movimiento de entre los vectores de movimiento en la lista, el vector de movimiento seleccionado siendo para ser usado en la decodificación del bloque actual; y decodificar el bloque actual usando el vector de movimiento seleccionado en la selección, en donde en la adición, se lleva a cabo un proceso de escalamiento en
un primer vector de movimiento del bloque correspondiente temporalmente adyacente para calcular un segundo vector de movimiento, se determina si el segundo vector de movimiento calculado tiene una magnitud que está dentro de un intervalo de magnitud predeterminado o una magnitud que no está dentro de la magnitud predeterminada, y el segundo vector de movimiento se añade a la lista como el vector de movimiento del bloque correspondiente cuando se determina que el segundo vector de movimiento tiene una magnitud que está dentro del intervalo de magnitud predeterminado.
Modalidad 2
El procesamiento descrito en cada una de las modalidades puede simplemente implementarse en un sistema de computadora independiente, al grabar, en un medio de grabación, un programa para implementar las configuraciones del método de codificación de imágenes en movimiento (método de codificación de imágenes) y el método de decodificación de imágenes en movimiento (método de decodificación de imágenes) descritos en cada una de las modalidades. Los medios de grabación pueden ser cualquier medio de grabación siempre y cuando el programa pueda ser grabado, tal como un disco magnético, un disco óptico, un disco magnético óptico, una tarjeta IC o una memoria semiconductora.
En adelante se describirán las aplicaciones al método de codificación de imágenes en movimiento (método de
codificación de imágenes) y al método de decodificación de imágenes en movimiento (método de decodificación de imágenes) descritos en cada una de las modalidades y sistemas que usan los mismos. El sistema tiene una característica de tener un aparato de codificación y decodificación de imágenes que incluye un aparato de codificación de imágenes que usa el método de codificación de imágenes y un aparato de decodificación de imágenes que usa el método de decodificación de imágenes. Otras configuraciones en el sistema pueden ser cambiadas según sea adecuado dependiendo de los casos.
La figura 21 ilustra una configuración general de un sistema de provisión de contenido exlOO para implementar servicios de distribución de contenido. El área para proporcionar servicios de comunicación se divide en células de tamaño deseado, y estaciones base exl06, exl07, exl08, exl09 y exllO, las cuales son estaciones inalámbricas fijas se ponen en cada una de las células.
El sistema de provisión de contenido exlOO se conecta a dispositivos, tales como una computadora exlll, un asistente digital personal (PDA, por sus siglas en inglés) exll2, una cámara exll3, un teléfono celular exll4 y una máquina de juegos exll5, por medio de Internet exlOl, un proveedor de servicios de Internet exl02, una red telefónica exl04, así como las estaciones base exl06 y exllO,
respectivamente.
Sin embargo, la configuración del sistema de provisión de contenido exlOO no está limitada a la configuración mostrada en la figura 21, y es aceptable una combinación en la cual se conecten cualquiera de los elementos. Además, cada dispositivo puede ser conectado directamente a la red telefónica exl04, en lugar de por medio de las estaciones base exl06 a exllO las cuales son las estaciones inalámbricas fijas. Más aún, los dispositivos pueden ser interconectados entre sí por medio de comunicación inalámbrica de corta distancia y otros.
La cámara exll3, tal como una cámara de video digital, es capaz de capturar video. Una cámara exll6, tal como una cámara de video digital, es capaz de capturar tanto imágenes fijas como video. Más aún, el teléfono celular exll4 puede ser el que cumpla con cualquiera de las normas tales como sistema global para comunicaciones móviles (GSM, por sus siglas en inglés) (marca registrada) , Acceso Múltiple por División de Códigos (CDMA, por sus siglas en inglés) , Acceso Múltiple por División de Códigos de Banda Ancha (W-CDMA, por sus siglas en inglés) , Evolución a Largo Plazo (LTE, por sus siglas en inglés) y Acceso por Paquetes de Alta Velocidad (HSPA, por sus siglas en inglés) . Como alternativa, el teléfono celular exll4 puede ser un Sistema de Teléfonos Personales (PHS, por sus siglas en inglés) .
En el sistema de provisión de contenido exlOO, un servidor de flujo continuo exl03 está conectado a la cámara exll3 y otros por medio de la red telefónica exl04 y la estación base exl09, lo cual hace posible la distribución de imágenes de un programa en vivo y otros. En tal distribución, un contenido (por ejemplo, video de un programa musical en vivo) capturado por el usuario usando la cámara exll3 es codificado como se describió arriba en cada una de las modalidades (es decir, la cámara funciona como el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención) , y el contenido codificado es transmitido al servidor de flujo continuo exl03. Por otro lado, el servidor de flujo continuo exl03 lleva a cabo la distribución de flujos de los datos de contenido transmitidos a los clientes a sus solicitudes. Los clientes incluyen la computadora exlll, el PDA exll2, la cámara exll3, el teléfono celular exll4 y la máquina de juegos exll5 que son capaces de decodificar los datos codificados mencionados arriba. Cada uno de los dispositivos que han recibido los datos distribuidos decodifica y reproduce los datos codificados (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención) .
Los datos capturados pueden ser codificados por la cámara exll3 o el servidor de flujo continuo exl03 que transmita los datos, o el proceso de codificación puede
compartirse entre la cámara exll3 y el servidor de flujo continuo exl03. De manera similar, los datos distribuidos pueden ser decodificados por los clientes o el servidor de flujo continuo exl03, o los procesos de decodificación pueden ser compartidos entre los clientes y el servidor de flujo continuo exl03. Además, los datos de las imágenes fijas y video capturados no sólo por la cámara exll3 sino también por la cámara exll6 sino también por la cámara exll6 pueden ser transmitidos al servidor de flujo continuo exl03 a través de la computadora exlll. Los procesos de codificación pueden llevarse a cabo por la cámara exll6, la computadora exlll, o el servidor de formación de flujos exll3, o compartirse entre ellos .
Además, los procesos de codificación y decodificación pueden llevarse a cabo por un LSI ex500 incluido generalmente en cada uno de la computadora exlll y los dispositivos. El LSI ex500 puede configurarse de un solo chip o una pluralidad de chips. Software para codificar y decodificar video puede ser integrado en cierto tipo de un medio de grabación (tal como un CD-ROM, un disco flexible y un disco duro) que sea legible por la computadora exlll y otros, y los procesos de codificación y decodificación pueden llevarse a cabo usando el software. Además, cuando el teléfono celular exll4 esté equipado con una cámara, los datos de imagen obtenidos por la cámara pueden ser
transmitidos. Los datos de video son datos codificados por el LSI ex500 incluido en el teléfono celular exll4.
Más aún, el servidor de flujo continuo exl03 puede estar compuesto de servidores y computadoras, y puede descentralizar datos y procesar los datos descentralizados, grabar o distribuir datos.
Como se describió arriba, los clientes pueden recibir y reproducir los datos codificados en el sistema de provisión de contenido exlOO. En otras palabras, los clientes pueden recibir y decodificar información transmitida por el usuario, y reproducir los datos decodificados en tiempo real en el sistema de provisión de contenido exlOO, de tal forma que el usuario que no tenga ningún derecho y equipo particular puede implementar difusión personal.
Aparte del ejemplo del sistema de provisión de contenido exlOO, al menos uno del aparato de codificación de imágenes en movimiento (aparato de codificación de imágenes) y el aparato de decodificación de imágenes en movimiento (aparato de decodificación de imágenes) descritos en cada una de las modalidades pueden implementarse en un sistema de difusión digital ex200 ilustrado en la figura 22 Más específicamente, una estación de difusión ex201 comunica o transmite, por medio de ondas de radio con un satélite de difusión ex202, datos multiplexados obtenidos al mutliplexar datos de audio y otros datos de video. Los datos de video
son datos codificados por el método de codificación de imágenes en movimiento descrito en cada una de las modalidades (es decir, datos codificados por el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención) . Después de la recepción de los datos multiplexados , el satélite de difusión ex202 transmite ondas de radio para difusión. Luego, una antena de uso doméstico ex204 con una función de recepción de difusión por satélite recibe las ondas de radio. Después, un dispositivo tal como una televisión (receptor) ex300 y un decodificador de caja (STB) ex217 decodifica los datos multiplexados recibidos, y reproduce los datos decodificados (es decir, funciona como el aparato de codificación de imágenes en la presente invención) .
Más aún, un lector/grabador ex218 (i) lee y decodifica los datos multiplexados grabados en un medio de grabación ex215, tal como un DVD y un BD, o (ii) codifica señales de video en el medio de grabación ex215, y en algunos casos, escribe datos obtenidos al multiplexar una señal de audio en los datos codificados. El lector/grabador ex218 puede incluir el aparato de decodificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento como los mostrados en cada una de las modalidades. En este caso, las señales de video reproducidas son presentadas visualmente en el monitor ex219, y se pueden
reproducir por otro dispositivo o sistema usando el medio de grabación ex215 en el cual estén grabados los datos multiplexados. También es posible implementar el aparato de decodificación de imágenes en movimiento en el decodificador de caja ex217 conectado al cable ex203 para una televisión por cable o a la antena ex204 para difusión vía satélite y/o terrestre, para de esta manera presentar visualmente las señales de video en el monitor ex219 de la televisión ex300. El aparato de decodificación de imágenes en movimiento puede ser implementado no en el decodificador de caja sino en la televisión ex300.
La figura 23 ilustra la televisión (receptor) ex300 que usa el método de codificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento descritos en cada una de las modalidades. La televisión ex300 incluye: un sintonizador ex301 que obtiene o proporciona datos multiplexados obtenidos al multiplexar datos de audio en datos de video, a través de la antena ex204 o el cable ex203, etc., que recibe una difusión; una unidad de modulación/desmodulación ex302 que desmodula los datos multiplexados recibidos o modula datos en datos multiplexados para ser suministrados al exterior; y una unidad multiplexora/desmultiplexora ex303 que desmultiplexa los datos multiplexados modulados en datos de video y datos de audio, o multiplexa datos de video y datos de audio
codificados por una unidad de procesamiento de señales ex306 en datos .
La televisión ex300 incluye además: una unidad de procesamiento de señales ex306 que incluye una unidad de procesamiento de señales de audio ex304 y una unidad de procesamiento de señales de video ex305 que decodifican datos de audio y datos de video y codifican datos de audio y datos de video, respectivamente (las cuales funcionan como el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con los aspectos de la presente invención) ; y una unidad de salida ex309 que incluye un altavoz ex307 que proporciona la señal de audio decodificada, y una unidad de presentación visual ex302 que presenta visualmente la señal de video decodificada , tal como una pantalla. Además, la televisión ex300 incluye una unidad de interfaz ex317 que incluye una unidad de entrada de operación ex312 que recibe una entrada de una operación de usuario. Además, la televisión ex300 incluye una unidad de control ex310 que controla sobretodo cada elemento constituyente de la televisión ex300, y una unidad de circuito de suministro de energía a cada uno de los elementos. A diferencia de la unidad de entrada de operación ex312, la unidad de interfaz ex317 puede incluir: un puente ex313 que esté conectado a un dispositivo externo, tal como el lector/grabador ex218, una unidad de ranura exl4 para
hacer posible la inserción de un medio de grabación ex216, tal como una tarjeta SD; un controlador ex315 que será conectado a un medio de grabación externo, tal como un disco duro; y un módem ex316 que será conectado a una red telefónica. Aquí, el medio de grabación ex216 puede grabar eléctricamente información usando un elemento de memoria semiconductora no volátil/volátil para almacenamiento. Los elementos constituyentes de la televisión ex300 están conectados entre sí a través de un bus sincronizado.
Primero se describirá la configuración en la cual la televisión ex300 decodifica datos multiplexados obtenidos del exterior a través de la antena ex304 y otros y reproduce los datos decodificados . En la televisión ex300, después de una operación de usuario a través de un control remoto ex220 y otros, la unidad multiplexora/desmultiplexora ex303 desmultiplexa los datos multiplexados desmodulados por la unidad de modulación/desmodulación ex302, bajo control de la unidad de control ex310 que incluye una CPU. Además, la unidad de procesamiento de señales de audio ex304 decodifica los datos de audio desmultiplexados , y la unidad de procesamiento de señales de video ex305 decodifica los datos de video desmultiplexados , usando el método de decodificación descrito en cada una de las modalidades, en la televisión ex300. La unidad de salida ex309 proporciona la señal de video y señal de audio decodificadas al exterior,
respectivamente. Cuando la unidad de salida ex309 proporciona la señal de video y la señal . de audio, las señales pueden ser almacenadas temporalmente en memoria de almacenamiento temporal ex318 y ex319, y otras de tal forma que las señales sean reproducidas en sincronización unas con otras. Más aún, la televisión ex300 puede leer datos multiplexados no a través de una difusión y otros sino provenientes de medios de grabación ex215 y ex216, tal como un disco magnético, un disco óptico y una tarjeta SD. A continuación se describirá una configuración en . la cual la televisión ex300 codifique una señal de audio y una señal de video, y transmite los datos al exterior o escribe los datos en un medio de grabación. En la televisión ex300, después de una operación de usuario a través del control remoto ex220 y otros, la unidad de procesamiento de señales de audio ex304 codifica una señal de audio, y la unidad de procesamiento de señales de video ex305 codifica una señal de video, bajo control de la unidad de control ex310 usando el método de codificación descrito en cada una de las modalidades. La unidad mutliplexora/desmultiplexora ex303 multiplexa la señal de video y señal de audio codificadas, y proporciona la señal resultante al exterior. Cuando la unidad multiplexora/desmultiplexora ex303 multiplexa la señal de video y la señal de audio, las señales pueden ser almacenadas temporalmente en las memorias de almacenamiento temporal
ex320 y ex321, y otros de tal manera que las señales sean reproducidas en sincronización unas con otras. Aquí, las memorias de almacenamiento temporal ex318, ex319, ex320 y ex321 pueden ser varias como se ilustra, o al menos una memoria de almacenamiento temporal puede ser compartida en la televisión ex300. Además, datos pueden ser almacenados en una memoria de almacenamiento temporal de tal manera que el desbordamiento y subdesbordamiento de sistema puedan evitarse entre la unidad de modulación/desmodulación ex302 y la unidad multiplexora/desmultiplexora ex300, por ejemplo.
Más aún, la televisión ex300 puede incluir una configuración para recibir una entrada de AV desde un micrófono o una cámara que no sea la configuración para obtener datos de audio y video de una difusión o un medio de grabación, y puede codificar los datos obtenidos. Aunque la televisión ex300 puede codificar, multiplexar y proporcionar datos al exterior en la descripción, puede ser capaz sólo de recibir, decodificar y proporcionar datos al exterior pero no decodificar, multiplexar y proporcionar datos al exterior.
Además, cuando el lector/grabador ex218 lee o escribe datos multiplexados de o sobre un medio de grabación, una de la televisión ex300 y el lector/grabador ex218 pueden decodificar o codificar los datos multiplexados, y la televisión ex300 y el lector/grabados ex218 pueden compartir la decodificación o codificación.
Como un ejemplo, la figura 24 ilustra una configuración de una unidad de reproducción/grabación de información ex400 cuando datos son leídos o escritos de o sobre un disco óptico. La unidad de reproducción/grabación de información ex400 incluye elementos constituyentes ex400, ex402, ex403, ex404, ex405, ex406 y ex407 que se describirán más adelante en la presente. La cabeza óptica ex401 irradia un punto láser en una superficie de grabación del medio de grabación ex215 que es un disco óptico para escribir información, y detecta la luz reflejada desde la superficie de grabación del medio de grabación ex215 para leer la información. La unidad de grabación por modulación ex402 excita eléctricamente un láser semiconductor incluido en la cabeza óptica ex401, y modula la luz láser de acuerdo con los datos grabados. La unidad de desmodulación de reproducción ex403 amplifica una señal de reproducción obtenida al detectar eléctricamente la luz reflejada desde la superficie de grabación usando un fotodetector incluido en la cabeza óptica ex401, y desmodula la señal de reproducción al separar un componente de señal grabado en el medio de grabación ex215 para reproducir la información necesaria. La memoria de almacenamiento temporal ex404 contiene temporalmente la información que será grabada en el medio de grabación ex215 y la información reproducida del medio de grabación ex215. El motor de disco ex405 hace girar el medio de grabación ex215.
La unidad de servo control ex406 mueve la cabeza óptica ex401 a una pista de información predeterminada mientras controla el impulso de rotación del motor de disco ex405 para que siga al punto láser. La unidad de control de sistema ex407 controla sobretodo la unidad de reproducción/grabación de información ex400. Los procesos de lectura y escritura pueden implementarse por la unidad de control de sistema ex407 usando información variada almacenada en la memoria de almacenamiento temporal ex404 y generando y añadiendo información nueva según sea necesario, y por la unidad de grabación por modulación ex402, la unidad de desmodulación de reproducción ex403 y la unidad de servo control ex406 que graban y reproducen información a través de la cabeza óptica ex 401 mientras son operadas de una manera coordinada. La unidad de control de sistema ex407 incluye, por ejemplo, un microprocesador, y ejecuta procesamiento al hacer que una computadora ejecute un programa para leer y escribir.
Aunque la cabeza óptica ex401 irradia un punto láser en la descripción, puede llevar a cabo grabación de alta densidad usando luz de campo cercano.
La figura 25 ilustra el medio de grabación ex215 que es el disco óptico. Sobre la superficie de grabación del medio de grabación ex215, se forman espiralmente ranuras de guía, y una pista de información ex230 graba, por adelantado, información de dirección que indica una posición absoluta en
el disco de acuerdo con cambio en una forma de las ranuras de guia. La información de dirección incluye información para determinar posiciones de bloques de grabación ex231 que son una unidad para grabar datos. La reproducción de la pista de información ex230 y lectura de la información de dirección en un aparato que graba y reproduce datos pueden llevara a la determinación de las posiciones de los bloques de grabación. Además, el medio de grabación ex215 incluye un área de grabación de datos ex233, un área de circunferencia interior ex232 y un área de circunferencia exterior ex234. El área de grabación de datos ex233 es un área para usarse en la grabación de los datos de usuario. El área de circunferencia interior ex232 y el área de circunferencia exterior ex234 que están dentro y fuera del área de grabación de datos ex233, respectivamente, son para uso específico excepto para grabar los datos de usuario. La unidad de reproducción/grabación de información 400 lee y escribe datos de audio codificados, datos de video codificados o datos multiplexados obtenidos al multiplexar los datos de audio y video codificados, de y en el área de grabación de datos ex233 del medio de grabación ex215.
Aunque un disco óptico que tiene una capa, tal como un DVD y BD se describen como un ejemplo en la descripción, el disco óptico no está limitado a ellos, y puede ser un disco óptico que tenga una estructura de capas múltiples y
sea capaz de ser grabado en una parte que no sea la superficie. Más aún, el disco óptico puede tener una estructura para grabación/reproducción multidimensional, tal como grabación de información usando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y para grabar información que tenga diferentes capas desde varios ángulos.
Además, un auto ex210 que tenga una antena ex205 puede recibir datos desde el satélite ex202 y otros, y reproducir video en un dispositivo de presentación visual tal como un sistema de navegación de vehículo ex211 instalado en el auto ex210, en el sistema de difusión digital ex200. Aquí, una configuración del sistema de navegación vehicular ex211 será una configuración, por ejemplo, que incluya una unidad de recepción GPS de la configuración ilustrada en la figura 23. Lo mismo será cierto para la configuración de la computadora exlll, el teléfono celular exll4 y otros.
La figura 26A ilustra el teléfono celular exll4 que usa el método de decodificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento descritos en las modalidades. El teléfono celular exll4 incluye: Una antena ex350 para transmitir y recibir ondas de radio a través de la estación base exllO; una unidad de cámara ex365 capaz de capturar imágenes en movimiento y fijas; y una unidad de presentación visual ex358 tal como un
presentador visual de cristal líquido para presentar visualmente los datos tales como video decodificado capturado por la unidad de cámara ex365 o recibido por la antena ex350. El teléfono celular exll4 incluye además: una unidad de cuerpo principal que incluye una unidad de tecla de operación ex366; una unidad de salida de audio ex357 tal como un altavoz para salida de audio; una unidad de entrada de audio ex356 tal como un micrófono para entrada de audio; una unidad de memoria ex367 para almacenar video capturado o imágenes fijas, audio grabado, datos codificados o decodificados del video recibido, las imágenes fijas, correos electrónicos u otros; y una unidad de ranura ex364 que es una unidad de interfaz para un medio de grabación que almacena datos de la misma manera que la unidad de memoria ex367.
A continuación se describirá un ejemplo de una configuración del teléfono celular exll4 con referencia a la figura 26B. En el teléfono celular exll4 , una unidad de control principal ex360 diseñada para controlar totalmente cada unidad del cuerpo principal incluyendo la unidad de presentación visual ex358 así como la unidad de tecla de operación ex366 que se conecta mutuamente, por medio de un bus sincronizado ex370, a una unidad de circuito de suministro de energía ex361, una unidad de control de entrada de operación ex362, una unidad de procesamiento de señales de video ex355, una unidad de interfaz de cámara ex366, una
unidad de control de presentador visual de cristal líquido (LCD) ex359, una unidad de modulación/desmodulación ex352, una unidad multiplexora/desmultiplexora ex353, una unidad de procesamiento de señales de audio ex354, la unidad de ranura ex364 y la unidad de memoria ex367.
Cuando una tecla fin de llamada o una tecla de encendido es encendida por la operación de un usuario, la unidad de circuito de suministro de energía ex361 suministra a las unidades respectivas energía desde una batería para activar así el teléfono celular exll4.
En el teléfono celular exll4, la unidad de procesamiento de señales de audio ex354 convierte las señales de audio recolectadas por la unidad de entrada de audio ex356 en modo de conversación de voz en señales de audio digitales bajo el control de la unidad de control principal ex360 que incluye una CPU, ROM y RAM. Luego, la unidad de modulación/desmodulación ex352 lleva a cabo procesamiento de espectro disperso en las señales de audio o digital, y la unidad de transmisión y recepción ex305 no lleva a cabo conversión digital a análoga y conversión de frecuencia en los datos, para de esta manera transmitir los datos resultantes por medio de la antena ex350. Asimismo, en el teléfono celular exll4, la unidad de transmisión y recepción ex351 amplifica los datos recibidos por la antena ex350 en modo de conversación de voz y lleva a cabo conversión de
frecuencia y la conversión análoga a digital en los datos. Luego, la unidad de modulación/desmodulación ex352 lleva a cabo procesamiento de espectro disperso inverso en los datos, y la unidad de procesamiento de señales de audio ex354 los convierte en señales de audio análogas, para de esta manera ingresarlas por medio de la unidad de salida de audio ex357.
Además, cuando un correo electrónico en modo de comunicación de datos es transmitido, datos de texto del correo electrónico ingresados al operar la unidad de teclas de operación ex366 y otros del cuerpo principal son enviados a la unidad de control principal ex360 por medio de la unidad de control de entrada de operación ex362. La unidad de control principal ex360 hace que la unidad de modulación/desmodulación ex352 lleve a cabo procesamiento de espectro disperso en los datos de texto, y la unidad de transmisión y recepción ex351 lleva a cabo la conversión digital a análoga y la conversión de frecuencia en los datos resultantes para transmitir los datos a la estación base exllO por medio de la antena ex350. Cuando se recibe un correo electrónico, el procesamiento que sea aproximadamente inverso al procesamiento para transmitir un correo electrónico se lleva a cabo en los datos recibidos, y los datos resultantes son provistos a la unidad de presentación visual ex358.
Cuando video, imágenes fijas o video y audio en
modo de comunicación de datos es o son transmitidos, la unidad de procesamiento de señales de video ex355 comprime y codifica señales de video suministradas desde la unidad de cámara ex365 usando el método de codificación de imágenes en movimiento mostrado en cada una de las modalidades (es decir, funciona como el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención) , y transmite los datos de video codificados a la unidad multiplexora/desmultiplexora ex353. En contraste, durante el tiempo en que la unidad de cámara ex365 captura video, imágenes fijas y otros, la unidad de procesamiento de señales de audio ex354 codifica señales de audio recolectadas por la unidad de entrada de audio ex356, y transmite los datos de audio codificados a la unidad multiplexora/desmultiplexora ex353.
La unidad multiplexora/desmultiplexora ex353 multiplexa los datos de video codificados suministrados desde la unidad de procesamiento de señales de video ex355 y los datos de audio codificados suministrados desde la unidad de procesamiento de señales de audio ex354, usando un método predeterminado. Luego, la unidad de modulación/desmodulación (unidad de circuito de modulación/desmodulación) ex352 lleva a cabo procesamiento de espectro disperso en los datos multiplexados , y la unidad de transmisión y recepción ex351 lleva a cabo conversión digital a análoga y conversión de
frecuencia en los datos para de esta manera transmitir los datos resultantes por medio de la antena ex350.
Cuando se reciben datos de un archivo de video que está enlazado a una página web y otros en modo de comunicación de datos o cuando se recibe un correo electrónico con video y/o audio adjunto, para poder decodificar los datos multiplexados recibidos por medio de la antena ex350, la unidad multiplexora/desmultiplexora ex353 desmultiplexa los datos mutiplexados en un flujo de bits de datos de video y un flujo de bits de datos de audio, y suministra a la unidad de procesamiento de señales de video ex355 los datos de video codificados y la unidad de procesamiento de señales de audio ex354 con los datos de audio codificados, a través del bus sincronizado ex370. La unidad de procesamiento de señales de video ex355 decodifica la señal de video usando un método de decodificación de imágenes en movimiento que corresponde al método de codificación de imágenes en movimiento mostrado en cada una de las modalidades (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención) , y luego la unidad de presentación visual ex358 presenta visualmente, por ejemplo, el video e imágenes fijas incluidos en el archivo de video enlazado a la página web por medio de la unidad de control LCD ex359. Además, la unidad de procesamiento de señales de audio ex354 decodifica
la señal de audio, y la unidad de salida de audio ex357 proporciona el audio.
Además, de manera similar a la televisión ex300, una terminal tal como el teléfono celular exll4 probablemente tendrá tres tipos de configuraciones de implementación incluyendo no sólo (i) una terminal de transmisión y recepción que incluye tanto un aparato de codificación como un aparato de decodificación, sino también (ii) una terminal de transmisión que incluye sólo un aparato de codificación y (iii) una terminal de recepción que incluye sólo un aparato de decodificación. Aunque el sistema de difusión digital ex200 recibe y transmite los datos multiplexados obtenidos al multiplexar datos de audio en datos de video en la descripción, los datos multiplexados pueden ser datos obtenidos al multiplexar no datos de audio sino datos de caracteres relacionados con video en datos de video, y puede no ser datos multiplexados sino los propios datos de video.
De esta manera, el método de codificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento en cada una de las modalidades puede usarse en cualquiera de los dispositivos y sistemas descritos. Así, se pueden obtener las ventajas descritas en cada una de las modalidades.
Más aún, la presente invención no está limitada a modalidades, y varias modificaciones y revisiones son
posibles sin alejarse del alcance de la presente invención. Modalidad 3
Datos de video pueden ser generados al cambiar, según sea necesario, entre (i) el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento mostrados en cada una de las modalidades y (ii) un método de codificación de imágenes en movimiento o un aparato de codificación de imágenes en movimiento de conformidad con una norma diferente, tal como MPEG-2, MPEG4-AVC, y VC-1.
Aquí, cuando una pluralidad de datos de video que se conforman a las diferentes normas se genera y es luego decodificada , los métodos de decodificación tienen que seleccionarse para conformarse a las normas diferentes. Sin embargo, ya que no puede detectarse a cuál norma se conforma cada una de la pluralidad de datos de video que serán decodifícados , existe un problema de que un método de decodificación adecuado no puede seleccionarse.
Para resolver el problema, datos multiplexados obtenidos al multiplexar datos de audio y otros datos de video tienen una estructura que incluye información de identificación que indica a qué norma se conforman los datos de video. La estructura específica de los datos multiplexados incluyendo los datos de video generados en el método de codificación de imágenes en movimiento y por el
aparato de codificación de imágenes en movimiento mostradas en cada una de las modalidades se describirán a continuación en la presente. Los datos multiplexados es un flujo digital en el formato de flujos de transporte MPEG-2.
La figura 27 ilustra una estructura de los datos multiplexados . Como se ilustra en la figura 27, los datos multiplexados pueden ser obtenidos al multiplexar al menos uno de un flujo de video, un flujo de audio, un flujo de gráficos de presentación (PG) y un flujo de gráficos interactivos. El flujo de video representa video primario y video secundario de una película, el flujo de audio (IG) representa una parte de audio primaria y una parte de audio secundaria que se mezclará con la parte de audio primaria, y el flujo de gráficos de presentación representa subtítulos de la película. Aquí, el video primario es video normal que será presentado visualmente en una pantalla, y el video secundario es video que será presentado visualmente en una ventana más pequeña en el video primario. Además, el flujo de gráficos interactivos representa una pantalla interactiva que se generará al disponer los componentes GUI en una pantalla. El flujo de video es codificado en el método de codificación de imágenes en movimiento o por el aparato de codificación de imágenes en movimiento mostradas en cada una de las modalidades, o en un método de codificación de imágenes en movimiento o por un aparato de codificación de
imágenes en movimiento de conformidad con una norma convencional, tal como MPEG-2, MPEG4-AVC, y VC-1. El flujo de audio es codificado de acuerdo con una norma, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS , DTS-HD y PCM lineal.
Cada flujo incluido en los datos multiplexados se identifica por PID. Por ejemplo, 0x1011 se asigna al flujo de video que será usado para video de una película, 0x1100 a OxlllF se asignan en los flujos de audio, 0x1200 a 0xl21F se asignan a los flujos de gráficos de presentación, 0x1400 a 0xl41F se asignan a los flujos de gráficos interactivos, OxlBOO a 0xlB12F se asignan a los flujos de video que se usarán para video secundario de la película, y OxlAOO a OxlAlF se asignan a los flujos de audio que se usarán para el video secundario que se mezclará con el audio primario.
La figura 28 ilustra esquemáticamente cómo se multiplexan datos. Primero, un flujo de video ex235 compuesto de cuadros de video y un flujo de audio ex238 compuesto de cuadros de audio se transportan en un flujo de paquetes PES ex236 y un flujo de paquetes PES ex239, y además en paquetes TS ex237 y paquetes TS ex240, respectivamente. En forma similar, datos de un flujo de gráficos de presentación ex241 y datos de un flujo de gráficos interactivos ex244 se transforman en un flujo de paquetes PES ex242 y un flujo de paquetes PES ex245, y además en paquetes
TS ex243 y paquetes TS ex246, respectivamente. Estos paquetes TS son multiplexados en un flujo para obtener datos multiplexados ex247.
La figura 29 ilustra cómo se almacena un flujo de video en un flujo de paquetes PES en más detalle. La primera barra en la figura 29 muestra un flujo de cuadros de video en un flujo de video. La segunda barra muestra el flujo de paquetes PES. Como se indica por flechas indicadas como yyl, yy2 yy3 y yy4 en la figura 29, el flujo de video es dividido en imágenes como imágenes I, imágenes B e imágenes P cada una de las cuales es una unidad de presentación de video, y las imágenes se almacenan en una carga útil de cada uno de los paquetes PES. Cada uno de los paquetes PES tiene un encabezado de PES, y el encabezado de PES almacena una marca de tiempo de presentación (PTS, por sus siglas en inglés) que indica una hora de presentación visual de la imagen, y una marca de tiempo de decodificación (DTS, por sus siglas en inglés) que indica un tiempo de decodificación de la imagen.
La figura 30 ilustra un formato de paquetes TS que serán finalmente escritos en los datos multiplexados. Cada uno de los paquetes TS es un paquete con una longitud fija de 188 bytes que incluye un encabezado TS de 4 bytes que tiene información, tal como una PID para identificar un flujo y una carga útil TS de 184 bytes para almacenar datos. Estos paquetes PES se dividen, y almacenan en las cargas útiles TS,
respectivamente. Cuando se usa un BD ROM, cada uno de los paquetes TS se le da un TP_Extra_Header de 4 bytes, dando como resultado entonces paquetes de origen de 192 bytes. Los paquetes de origen son escritos en los datos multiplexados . El TP_Extra_Heade almacena información tal como un Arrival_Time_Stamp (ATS) . La ATS muestra una hora de inicio de transferencia a la cual cada uno de los paquetes TS van a ser transferidos a un filtro PID. Los paquetes de origen son dispuestos en los datos multiplexados como se muestran en el fondo de la figura 30. Los números que se incrementan desde la parte superior de los datos multiplexados son llamados números de paquetes de origen (SPNs) .
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no sólo flujos de audio, video, subtítulos y otros, sino también una tabla de asociación de programas (PAT) , una tabla de mapas de programas (PMT) y una referencia de reloj de programa (PCR) . La PAT muestra lo que indica una PID en una PMT usada en los datos multiplexados, y una PID de la propia PAT se registra como cero. La PMT almacena PIDs de los flujos de video, audio, subtítulos y otros incluidos en los datos multiplexados, información de atributo de los flujos que correspondan a los PIDs. La PMT tiene también varios descriptores que se refieren a los datos multiplexados. Los descriptores tienen información tal como información de control de copias que muestra si se permite o
no la copia de los datos multiplexados . La PCR almacena información de tiempo STC que corresponde a una ATS que muestra cuando el paquete PCR se transfiere a un decodificador, para lograr de esta manera sincronización entre un reloj de tiempo de llegada (ATC) que es un eje de tiempo de ATSs, y un reloj de tiempo de sistema (STC) que es un eje de tiempo de PTSs y DTSs .
La figura 31 ilustra la estructura de datos de la P T en detalle. Un encabezado de PMT se dispone en la parte superior de la PMT. El encabezado de PMT describe la longitud de datos incluidos en la PMT y otros . Una pluralidad de descriptores que se refieren a los datos multiplexados se dispone después del encabezado de PMT. Información tal como la información de control de copia se describe en los descriptores. Después de los descriptores, se dispone una pluralidad de piezas de información de flujo que se refieren a los flujos incluidos en los datos multiplexados. Cada pieza de información de flujo incluye descriptores de flujo que describen cada uno información, tal como un tipo de flujo para identificar un codee de compresión de un flujo, un PID de flujo e información de atributos de flujo (tal como una velocidad de cuadros o una relación de aspecto) . Los descriptores de flujo son iguales en número al número de flujos en los datos multiplexados.
Cuando los datos multiplexados son grabados en un
medio de grabación y otros, se graban junto con archivos de información de datos multiplexados.
Cada uno de los archivos de información de datos multiplexados es información de administración de los datos multiplexados como se muestra en la figura 32. Los archivos de información de datos multiplexados están en correspondencia uno a uno con los datos multiplexados, y cada uno de los archivos incluye información de datos multiplexados, información de atributo de flujos y un mapa de entrada .
Como se ilustra en la figura 32, la información de datos multiplexados incluye una velocidad de sistema, una hora de inicio de reproducción y una hora de fin de reproducción. La velocidad de sistema indica la velocidad de transferencia máxima a la cual un decodificador objetivo de sistema gue será descrito más adelante transfiere los datos multiplexados a un filtro PID. Los intervalos de los ATSs incluidos en los datos multiplexados se establecen para no ser más altos que una velocidad de sistema. La hora de inicio de reproducción indica una PTS en un cuadro de video en el encabezado de los datos multiplexados. Un intervalo de un cuadro se añade a un PTS en un cuadro de video al final de los datos multiplexados, y el PTS se establece en la hora de fin de reproducción.
Como se muestra en la figura 33, una pieza de
información de atributos se registra en la información de atributos de flujo, para cada PID de cada flujo incluido en los datos multiplexados . Cada pieza de información de atributos tiene información diferente dependiendo de si el flujo correspondiente es un flujo de video, un flujo de audio, un flujo de gráficos de presentación o un flujo de gráficos interactivos. Cada pieza de información de atributo de flujos de video porta información que incluye qué tipo de codee de compresión se usa para comprimir el flujo de video, y la resolución, relación de aspecto y velocidad de cuadros de las piezas de datos de imagen que se incluyen en el flujo de video. Cada pieza de información de atributos de flujo de audio porta información que incluye qué tipo de codee de compresión se usa para comprimir el flujo de audio, cuántos canales están incluidos en el flujo de audio, qué idioma soporta el flujo de audio y qué tan alta es la frecuencia de muestreo. La información de atributos de flujo de video y la información de atributos de flujos de audio se usan para inicialización de un decodificador antes de que el reproductor reproduzca la información.
En la presente modalidad, los datos multiplexados que se usarán son de un tipo de flujo incluido en la PMT . Además, cuando los datos multiplexados son grabados en un medio de grabación, se usa la información de atributos de flujos de video incluida en la información de datos
multiplexados . Más específicamente, el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades incluyen una etapa o una unidad para asignar información única que indique datos de video generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las modalidades, al tipo de flujo incluido en la PMT o la información de atributos de flujos de video. Con la configuración, los datos de video generados por el método de decodificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades pueden distinguirse de datos de video que se conformen a otra norma.
Más aún, la figura 34 ilustra etapas del método de decodificación de imágenes en movimiento de acuerdo con la presente modalidad. En la etapa exSlOO, el tipo de flujo incluido en la PMT o la información de atributos de flujos de video se obtienen de los datos multiplexados. Después, en la etapa exSlOl, se determina si el tipo de flujo o la información de atributos de flujos de video indican o no que los datos multiplexados se generan por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las modalidades. Cuando se determina que el tipo de flujo o la
información de atributos de flujos de video indica que los datos multiplexados se generan por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las modalidades, en la etapa exS112, se lleva a cabo decodificación por el método de decodificación de imágenes en movimiento en cada una de las modalidades. Además, cuando e tipo de flujo o la información de atributos de flujos de video indican que cumplen con las normas convencionales, tales como MPEG-2, MPEG4-AVC y VC-1, en la etapa exS103, la decodificación se lleva a cabo por un método de decodificación de imágenes en movimiento de conformidad con las normas convencionales .
De esta manera, asignar un nuevo valor único al tipo de flujo o la información de atributos de flujos de video hace posible la determinación de si el método de decodificación de imágenes en movimiento o el aparato de decodificación de imágenes en movimiento que se describen en cada una de las modalidades pueden o no llevar a cabo la decodificación. Incluso cuando datos multiplexados se conformen a una norma diferente, un método de decodificación o aparato de decodificación o apropiado puede ser seleccionado. Así, se hace posible decodificar información sin ningún error. Más aún, el método o aparato de codificación de imágenes en movimiento, o el método o aparato de decodificación de imágenes en movimiento en la presente
modalidad pueden usarse en los dispositivos y sistemas descritos arriba.
Modalidad 4
Cada uno del método de codificación de imágenes en movimiento, el aparato de codificación de imágenes en movimiento, el método de decodificación de imágenes en movimiento y el aparato de decodificación de imágenes en movimiento en cada una de las modalidades se logra típicamente en forma de un circuito integrado o un circuito integrado a gran escala (LSI) . Como un ejemplo del LSI, la figura 35 ilustra una configuración del LSI x500 que se hace en un chi . El LSI ex500 incluye elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 que se describirán abajo, y los elementos están conectados entre sí a través de un bus ex510. La unidad de circuito de suministro de energía ex505 es activada al suministrar cada uno de los elementos con energía cuando la unidad de circuito del suministro de energía ex505 sea encendida.
Por ejemplo, cuando se lleva a cabo codificación, el LSI ex500 recibe una señal de AV proveniente de un micrófono exll7, una cámara exll3, y otros a través de un AV 10 ex509 bajo control de una unidad de control ex501 que incluye una CPU ex502, un controlador de memoria ex503, un controlador de flujo ex504 y una unidad de control de frecuencias de excitación ex512. La señal de AV recibida se
almacena temporalmente en una memoria externa ex511, tal como una SDRAM. Bajo control de la unidad de control ex501, los datos almacenados son segmentados en porciones de datos de acuerdo con la cantidad de procesamiento y velocidad que serán transmitidos a una unidad de procesamiento de señales ex507. Luego, la unidad de procesamiento de señales ex507 codifica una señal de audio y/o una señal de video. Aquí, la codificación de la señal de video es la codificación descrita en cada una de las modalidades. Además, la unidad de procesamiento de señales ex507 algunas veces multiplexa los datos de audio codificados y los datos de videos codificados, y un 10 de flujo ex506 proporciona los datos multiplexados al exterior. Los datos mutliplexados provistos son transmitidos a la estación base exl07, o escritos en el medio de grabación ex215. Cuando conjuntos de datos son multiplexados, los datos deben ser temporalmente almacenados en la memoria de almacenamiento temporal ex508 de tal manera que los conjuntos de datos sean sincronizados unos con otros.
Aunque la memoria ex511 es un elemento fuera del LSI ex500, puede estar incluida en el LSI ex500. La memoria de almacenamiento temporal ex508 no está limitada a una memoria del almacenamiento temporal, sino que puede estar compuesta de memorias de almacenamiento temporal. Además, el LSI ex500 puede hacerse en un chip o una pluralidad de chips .
Más aún, aunque la unidad de control ex501 incluye
la CPU ex502, el controlador de memoria ex503, el controlador de flujo ex504, la unidad de control de frecuencias de excitación ex512, la configuración de la unidad de control ex501 no está limitada a éstos. Por ejemplo, la unidad de procesamiento de señales ex507 puede incluir además una CPU. La inclusión de otra CPU en la unidad de procesamiento de señales ex507 puede mejorar la velocidad de procesamiento. Además, como otro ejemplo, la CPU ex502 puede servir como o ser parte de la unidad de procesamiento de señales ex507, y, por ejemplo, puede incluir una unidad de procesamiento de señales de audio. En tal caso, la unidad de control ex501 incluye la unidad de procesamiento de señales ex507 o la CPU ex502 que incluye una parte de la unidad de procesamiento de señales ex507.
El nombre usado aquí es LSI, pero también se puede llamar IC, LSI de sistema, súper LSI o ultra LSI dependiendo del grado de integración.
Además, las maneras de lograr integración no están limitadas al LSI, y un circuito especial o un procesador de propósitos generales y así sucesivamente también pueden lograr la integración. Una disposición de puertas programable por campo (FPGA) que puede programarse después de la fabricación de LSIs o un procesador reconfigurable que permita la reconfiguración de la conexión o configuración de un LSI se puede usar para el mismo efecto.
En el futuro, con el avance en la tecnología de semiconductores, una tecnología muy nueva puede reemplazar LSI. Los bloques funcionales pueden ser integrados usando tal tecnología. La posibilidad es que la presente invención se aplique a biotecnología.
Modalidad 5
Cuando datos de video generados en el método de codificación de imágenes en movimiento o por el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades son decodificados , en comparación con cuando datos de video que se conforman a una norma convencional, tal como MPEG-2, MPEG4-AC, y VC-1 son decodificados , la cantidad de procesamiento probablemente se incrementa. Así, el LSI ex500 tiene que ser puesto en una frecuencia de excitación más alta que aquella de la CPU ex502 para usarse cuando datos de video de conformidad con la norma convencional sean decodificados . Sin embargo, cuando la frecuencia de excitación se establece más alta, existe un problema de que se incrementa el consumo de energía.
Para resolver el problema, el aparato de decodificación de imágenes en movimiento, tal como la televisión ex300 y el LSI ex500 se configuran para determinar a qué norma se conforman los datos de video, y cambiar entre las frecuencias de excitación de acuerdo con la norma determinada. La figura 36 ilustra una configuración ex800 en
la presente modalidad. Una unidad de cambio de frecuencias de excitación ex803 establece una frecuencia de excitación en una frecuencia de excitación más alta cuando datos de video se generan por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades. Después, la unidad de cambio de frecuencias de excitación ex803 instruye a una unidad de procesamiento de decodificación ex801 que ejecute el método de decodificación de imágenes en movimiento descrito en cada una de las modalidades para decodificar los datos de video. Cuando los datos de video se conforman a la norma convencional, la unidad de cambio de frecuencias de excitación ex803 establece una frecuencia de excitación a una frecuencia de excitación más baja que aquella de los datos de video generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades. Después, la unidad de cambio de frecuencias de excitación ex803 instruye a la, unidad de procesamiento de decodificación ex802 que se conforma a la norma convencional para decodificar los datos de video.
Más específicamente, la unidad de cambio de frecuencias de excitación ex803 incluye la CPU ex502 y la unidad de control de frecuencias de excitación ex512 en la figura 35. Aquí, cada una de la unidad de procesamiento de
decodificación ex801 que ejecuta el método de decodificación de imágenes en movimiento descrito en cada una de las modalidades y la unidad de procesamiento de decodificación ex802 que se conforma a la norma convencional corresponde a la unidad de procesamiento de señales ex507 en la figura 35. La CPU ex502 determina a qué norma se conforman los datos de video. Después, la unidad de control de frecuencias de excitación ex512 determina una frecuencia de excitación con base en una señal proveniente de la CPU ex502. Más aún, la unidad de procesamiento de señales ex507 decodifica los datos de video con base en la señal proveniente de la CPU ex502. Por ejemplo, la información de identificación descrita en la modalidad B se usa de preferencia para identificar los datos de video. La información de identificación no está limitada a la descrita en la modalidad B, sino que puede ser cualquier información siempre y cuando la información indique a qué norma se conforman los datos de video. Por ejemplo, cuando se vaya a determinar a qué norma se conforman los datos de video con base en una señal externa para determinar que los datos de video se usan para una televisión o un disco, etc., la determinación se puede hacer con base en esta señal externa. Más aún, la CPU ex502 selecciona una frecuencia de excitación con base en, por ejemplo, una tabla de consulta en la cual se asocien las normas de los datos de video con las frecuencias de excitación como se muestra en la figura 38.
La frecuencia de excitación puede seleccionarse al almacenar la tabla de consulta en la memoria de almacenamiento temporal x508 y en una memoria interna de un LSI, y con referencia a la tabla de consulta por la CPU ex502.
La figura 37 ilustra etapas para ejecutar un método en la presente modalidad. Primero, en la etapa exS200, la unidad de procesamiento de señales ex507 obtiene información de identificación de los datos multiplexados. Después, en la etapa ex201, la CPU ex502 determina si los datos de video se generan o no por el método de codificación y el aparato de codificación descritos en cada una de las modalidades, con base en la información de identificación. Cuando los datos de video se generan por el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades, en la etapa exS202, la CPU ex502 transmite una señal para establecer la frecuencia de excitación a una frecuencia de excitación más alta a la unidad de control de frecuencias de excitación ex512. Luego, la unidad de control de frecuencias de excitación ex512 establece la frecuencia de excitación en la frecuencia de excitación más alta. Por otro lado, cuando la información de identificación indica que los datos de video se conforman a la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1, en la etapa exS203, la CPU ex502 transmite una señal para establecer la frecuencia de excitación a una
frecuencia de excitación más baja a la unidad de control de frecuencias de excitación ex512. Después, la unidad de control de frecuencias de excitación ex512 establece la frecuencia de excitación a la frecuencia de excitación más baja que aquella en el caso cuando los datos de video se generan por el método de decodificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades.
Además, junto con el cambio de las frecuencias de excitación, el efecto de conservación de energía puede mejorarse al cambiar el voltaje que se aplicará al LSI ex500 o a un aparato que incluya el LSI ex500. Por ejemplo, cuando la frecuencia de excitación se establezca más baja, el voltaje que será aplicad al LSI ex500 o al aparato que incluya el LSI ex500 probablemente se establecerá en un voltaje más bajo que aquél en el caso en que la frecuencia de excitación se establezca más alta.
Más aún, cuando la cantidad de procesamiento para decodificación es más grande, la frecuencia de excitación puede establecerse más alta, y cuando la cantidad de procesamiento para decodificación sea más pequeña, la frecuencia de excitación puede establecerse más baja que el método para establecer la frecuencia de excitación. Así, el método de establecimiento no se limita a los descritos arriba. Por ejemplo, cuando la cantidad de procesamiento
para decodificar datos de video de conformidad con MPEG4-AVC sea más grande que la cantidad de procesamiento para decodificar datos de video generados por el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades, la frecuencia de excitación se establece probablemente en orden inverso al establecimiento descrito arriba .
Más aún, el método para establecer la frecuencia de excitación no está limitado al método para establecer la frecuencia de excitación más baja. Por ejemplo, cuando la información de identificación indique que los datos de video se generan por el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades, el voltaje que será aplicado al LSI ex500 o al aparato que incluya el LSI ex500 probablemente se establecerá más alto. Cuando la información de identificación indique que los datos de video se conforman a la norma convencional, tal como MPEG-2, MPEG4-AVC, y VC-1, el voltaje que será aplicado al LSI ex500 o al aparato que incluya al LSI ex500 probablemente se establecerá más bajo. Como otro ejemplo, cuando la información de identificación indique que los datos de video se generan por el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en
movimiento descritos en cada una de las modalidades, la excitación de la CPU ex502 probablemente no tendrá que ser suspendida. Cuando la información de identificación indique qué los datos de video se conforman a la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1 la excitación de la CPU ex502 probablemente se suspenderá en un momento dado toda vez que la CPU ex502 tiene capacidad de procesamiento adicional. Incluso cuando la información de identificación indique que los datos de video se generan por el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades, en caso de que la CPU ex502 tenga capacidad de procesamiento adicional, la excitación de la CPU ex502 probablemente se suspenda en un momento dado. En tal caso, el tiempo de suspensión probablemente se establece más corto que aquél en caso de cuando la información de identificación indica que los datos de video se conforman a la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1.
En consecuencia, el efecto de conservación de energía puede mejorarse al cambiar entre las frecuencias de excitación de acuerdo con la norma a la cual se conformen los datos de video. Además, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se excita usando una batería, la vida de la batería puede extenderse con el efecto de conservación de energía .
Modalidad 6
Hay casos en los que una pluralidad de datos de video que se conforman a diferentes normas, se proporcionan a los dispositivos y sistemas, tales como una televisión y un teléfono móvil. Para hacer posible la decodificación de la pluralidad de datos de video que se conforman a las diferentes normas, la unidad de procesamiento de señales ex507 del LSI ex500 tiene que conformarse a las diferentes normas. Sin embargo, los problemas de incremento en la escala del circuito del LSI ex500 e incrementan el costo se originan con el uso individual de las unidades de procesamiento de señales ex507 que se conforman a las normas respectivas .
Para resolver el problema, lo que se concibe es una configuración en la cual se compartan parcialmente la unidad de procesamiento de decodificación para implementar el método de decodificación de imágenes en movimiento descrito en cada una de las modalidades y la unidad de procesamiento de decodificación que se conforma a la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1. Ex900 en la figura 39A muestra un ejemplo de la configuración. Por ejemplo, el método de decodificación de imágenes en movimiento descrito en cada una de las modalidades y el método de decodificación de imágenes en movimiento que se conforma a la MPEG4-AVC tienen, parcialmente en común, los detalles de procesamiento,
tales como codificación por entropía, cuantificación inversa, filtración por desbloqueo y predicción compensada en movimiento. En contrastre los detalles de procesamiento para ser compartidos con probabilidad incluyan el uso de una unidad de procesamiento ex902 que conforma a MPEG-4 AVC sea compartida por operaciones de procesamiento comunes, y que una unidad de procesamiento de decodificación dedicada ex901 se use para procesamiento que sea único para un aspecto de la presente invención. En particular, ya que el aspecto de la presente invención se caracteriza por inter predicción, es posible, por ejemplo, que la unidad de procesamiento de decodificación dedicada ex901 se use para intrapredicción, y que la unidad de procesamiento de decodificación sea compartida por cualquiera o todo del otro procesamiento, tal como decodificación por entropía, cuantificación inversa, filtración por desbloqueo y compensación de movimiento. La unidad de procesamiento de decodificación para implementar el método de decodificación de imágenes en movimiento descrito en cada una de las modalidades puede compartirse para que el procesamiento sea compartido, y una unidad de procesamiento de decodificación dedicada puede usarse para producir una señal única para ese MPEG4-AVC.
Más aún, exlOOO en la figura 39B muestra otro ejemplo en el que se comparte parcialmente el procesamiento. Este ejemplo usa una configuración que incluye una unidad de
procesamiento de decodificacion dedicada exlOOl que soporta el procesamiento único para la presente invención, una unidad de procesamiento de decodificación dedicada exl002 que soporta el procesamiento único para la otra norma convencional, y una unidad de procesamiento de decodificación exl003 que soporta el procesamiento que será compartido entre el método de decodificación de imágenes en movimiento en la presente invención y el método de decodificación de imágenes en movimiento convencional. Aquí, las unidades de procesamiento de decodificación dedicadas exlOOl y exl002 no necesariamente están especializadas para el procesamiento de la presente invención y el procesamiento de la norma convencional, respectivamente, y pueden ser aquellas capaces de implementar procesamiento general. Además, la configuración de la presente modalidad puede ser implementada en el LSI ex500.
De esta manera, reducir la escala del circuito de un LSI y reducir el costo son posible al compartir la unidad de procesamiento de decodi icación para que se comparta el procesamiento entre el método de decodificación de imágenes en movimiento en la presente invención y el método de decodificación de imágenes en movimiento de conformidad con la norma convencional .
Aplicación industrial
El método de codificación de imágenes en movimiento
y método de decodificación de imágenes en movimiento de acuerdo con la presente invención son aplicables a cualquier tipo de datos multimedia donde los métodos se lleven a cabo con carga reducida y la misma eficiencia de la codificación usando vectores de movimiento que tengan magnitud limitada. Por ejemplo, el método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento pueden ser útiles para el almacenamiento, transmisión, comunicación de datos, etc. usando teléfonos móviles, aparatos de DVD y computadoras personales.
Lista de signos de referencia
100 Aparato de codificación de imágenes en movimiento
101 Unidad sustractora
102 Unidad de transformación
103 Unidad de cuantificación
104 , 202 Unidad de cuantificación inversa
105, 203 Unidad de conversión inversa
106, 204 Unidad sumadora
107, 205 Unidad de intra- Ínter predicción
108 Unidad de control de codificación
109, 207 Unidad de memoria
Unidad de codificación por entrop
200 Aparato de decodificación de imágenes en movimiento
201 Unidad de decodificación por entropía
206 Unidad de control de decodificación
Se hace constar que, con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la presente invención, es el que resulta claro de la presente descripción de la invención.
Claims (10)
1. Un método de codificación de imágenes en movimiento para codificar imágenes sobre una base de bloque por bloque, caracterizado porque comprende: añadir selectivamente, a una lista, un vector de movimiento de cada uno o más bloques correspondientes cada uno de los cuales es (i) un bloque espacialmente adyacente espacialmente adyacente a un bloque actual en una imagen actual que será codificada o (ii) un bloque temporalmente adyacente correspondiente temporalmente adyacente al bloque actual e incluido en una imagen que no es la imagen actual; seleccionar un vector de movimiento usado para codificar el bloque actual, de entre los vectores de movimiento en la lista; y codificar el bloque actual usando el vector de movimiento seleccionado, en donde la adición del vector de movimiento incluye además: calcular un segundo vector de movimiento al escalar un primer vector de movimiento del bloque temporalmente adyacente correspondiente; determinar si una magnitud del segundo vector de movimiento está o no dentro de un intervalo de magnitud fijo predeterminado; añadir el segundo vector de movimiento a la lista, cuando la magnitud del segundo vector de movimiento esté dentro del intervalo de magnitud fijo, como el vector de movimiento del bloque temporalmente adyacente correspondiente; y añadir un tercer vector de movimiento a la lista, cuando la magnitud del segundo vector de movimiento no esté dentro del intervalo de magnitud fijo, como el vector de movimiento del bloque temporalmente adyacente correspondiente, el tercer vector de movimiento siendo generado al cortar el segundo vector de movimiento para tener una magnitud dentro del intervalo de magnitud fijo.
2. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 1, caracterizado porque la lista es una lista de candidatos a fusión que lista el vector de movimiento del bloque correspondiente e información de especificación para especificar una imagen referenciada por bloque correspondiente, en la adición, la información de especificación se añade a la lista de candidatos a fusión además del vector de movimiento del bloque correspondiente, en la selección, un vector de movimiento e información de especificación usados para la codificación del bloque actual se seleccionan de entre los vectores de movimiento en la lista de candidatos a fusión, y en la codificación, el bloque actual se codifica al generar una imagen predictiva del bloque actual usando el vector de movimiento seleccionado e información de especificación seleccionada.
3. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 1 o 2, caracterizado porque la lista es una lista de candidatos a predictor de vector de movimiento, y en donde la adición del vector de movimiento incluye además: determinar si una magnitud de un quinto vector de movimiento está dentro del intervalo de magnitud fijo o no, el quinto vector de movimiento siendo calculado al llevar a cabo un proceso de escalamiento en un cuarto vector de movimiento del bloque correspondiente espacialmente adyacente ; añadir el quinto vector de movimiento a la lista, cuando la magnitud del quinto vector de movimiento esté dentro del intervalo de magnitud fijo; y añadir un sexto vector de movimiento a la lista, cuando la magnitud del quinto vector de movimiento no esté dentro del intervalo de magnitud fijo, el sexto vector de movimiento siendo generado al cortar el quinto vector de movimiento para tener una magnitud dentro del intervalo de magnitud fijo, en la selección, un predictor de vector de movimiento usado para codificar el bloque actual se selecciona de la lista de candidatos a predictor de vector de movimiento, y en la codificación, se lleva a cabo la codificación del bloque actual que incluye codificación de un vector de movimiento del bloque actual usando el predictor de vector de movimiento seleccionado en la selección.
4. El método de codificación de imágenes en movimiento de conformidad con cualquiera de las reivindicaciones 1 a 3, caracterizado porque el intervalo de magnitud fijo se determina con base en una precisión de bit de un vector de movimiento, y la precisión de bit es 16 bits.
5. Un método de decodificación de imágenes en movimiento para decodificar imágenes sobre una base de bloque por bloque, caracterizado porque comprende: añadir selec ivamente, a una lista, un vector de movimiento de cada uno o más bloques correspondientes cada uno de los cuales es (i) un bloque espacialmente adyacente espacialmente adyacente a un bloque actual en una imagen actual que será decodificada o (ii) un bloque correspondiente temporalmente adyacente temporalmente adyacente al bloque actual e incluido en una imagen que no es la imagen actual ; seleccionar un vector de movimiento usado para codificar el bloque actual, de entre los vectores de movimiento en la lista; y decodificar el bloque actual usando el vector de movimiento seleccionado, en donde la adición del vector de movimiento incluye además : calcular un segundo vector de movimiento al escalar un primer vector de movimiento del bloque temporalmente adyacente correspondiente; determinar si una magnitud del segundo vector de movimiento está o no dentro de un intervalo de magnitud fijo predeterminado; añadir el segundo vector de movimiento a la lista, cuando la magnitud del segundo vector de movimiento esté dentro del intervalo de magnitud fijo, como el vector de movimiento del bloque temporalmente adyacente correspondiente; y añadir un tercer vector de movimiento a la lista, cuando la magnitud del segundo vector de movimiento no esté dentro del intervalo de magnitud fijo, como el vector de movimiento del bloque temporalmente adyacente correspondiente, el tercer vector de movimiento siendo generado al cortar el segundo vector de movimiento para tener una magnitud dentro del intervalo de magnitud fijo.
6. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 5, caracterizado porque la lista es una lista de candidatos a fusión que lista el vector de movimiento del bloque correspondiente e información de especificación para especificar una imagen referenciada por bloque correspondiente, en la adición, la información de especificación se añade a la lista de candidatos a fusión además del vector de movimiento del bloque correspondiente, en la selección, un vector de movimiento e información de especificación usados para la decodificación del bloque actual se seleccionan de entre los vectores de movimiento en la lista de candidatos a fusión, y en la decodificación, el bloque actual se decodifica al generar una imagen predictiva del bloque actual usando el vector de movimiento seleccionado e información de especificación seleccionada.
7. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 5 o 6, caracterizado porque la lista es una lista de candidatos a predictor de vector de movimiento, y en donde la adición del vector de movimiento incluye además : determinar si una magnitud de un quinto vector de movimiento está dentro del intervalo de magnitud fijo o no, el quinto vector de movimiento siendo calculado al llevar a cabo un proceso de escalamiento en un cuarto vector de movimiento del bloque correspondiente espacialmente adyacente ; añadir el quinto vector de movimiento a la lista, cuando la magnitud del quinto vector de movimiento esté dentro del intervalo de magnitud fijo; y añadir un sexto vector de movimiento a la lista, cuando la magnitud del quinto vector de movimiento no esté dentro del intervalo de magnitud fijo, el sexto vector de movimiento siendo generado al cortar el quinto vector de movimiento para tener una magnitud dentro del intervalo de magnitud fijo, en la selección, un predictor de vector de movimiento usado para decodificar el bloque actual se selecciona de la lista de candidatos a predictor de vector de movimiento, y en la decodificación, se lleva a cabo la decodificación del bloque actual que incluye decodificación de un vector de movimiento del bloque actual usando el predictor de vector de movimiento seleccionado en la selección .
8. El método de decodificación de imágenes en movimiento de conformidad con cualquiera de las reivindicaciones 5 a 7, caracterizado porque el intervalo de magnitud fijo se determina con base en una precisión de bit de un vector de movimiento, y la precisión de bit es 16 bits.
9. Un aparato de codificación de imágenes en movimiento que codifica imágenes sobre una base de bloque por bloque, caracterizado porque comprende: una unidad de adición configurada para añadir selectivamente, a una lista, un vector de movimiento de cada uno o más bloques correspondientes cada uno de los cuales es (i) un bloque espac ialmente adyacente espacialmente adyacente a un bloque actual en una imagen actual que será codificada o (ii) un bloque temporalmente adyacente correspondiente temporalmente adyacente al bloque actual e incluido en una imagen que no es la imagen actual; una unidad de selección configurada para seleccionar un vector de movimiento usado para codificar el bloque actual, de entre los vectores de movimiento en la lista; y una unidad de codificación configurada para codificar el bloque actual usando el vector de movimiento seleccionado, en donde la unidad de adición está configurada para calcular un segundo vector de movimiento al escalar un primer vector de movimiento del bloque temporalmente adyacente correspondiente, determinar si una magnitud del segundo vector de movimiento está o no dentro de un intervalo de magnitud fijo predeterminado, añadir el segundo vector de movimiento a la lista, cuando la magnitud del segundo vector de movimiento esté dentro del intervalo de magnitud fijo, como el vector de movimiento del bloque temporalmente adyacente correspondiente, y añadir un tercer vector de movimiento a la lista, cuando la magnitud del segundo vector de movimiento no esté dentro del intervalo de magnitud fijo, como el vector de movimiento del bloque temporalmente adyacente correspondiente, el tercer vector de movimiento siendo generado al cortar el segundo vector de movimiento para tener una magnitud dentro del intervalo de magnitud fijo.
10. Un aparato de decodificación de imágenes en movimiento que decodifica imágenes sobre una base de bloque por bloque, caracterizado porque comprende: una unidad de adición configurada para añadir selectivamente, a una lista, un vector de movimiento de cada uno o más bloques correspondientes cada uno de los cuales es (i) un bloque espacialmente adyacente espacialmente adyacente a un bloque actual en una imagen actual que será decodificada o (ii) un bloque correspondiente temporalmente adyacente temporalmente adyacente al bloque actual e incluido en una imagen que no es la imagen actual; una unidad de selección configurada para seleccionar un vector de movimiento usado para codificar el bloque actual, de entre los vectores de movimiento en la lista; y una unidad de decodificación configurada para decodificar el bloque actual usando el vector de movimiento seleccionado, en donde la unidad de adición está configurada para calcular un segundo vector de movimiento al escalar un primer vector de movimiento del bloque temporalmente adyacente correspondiente, determinar si una magnitud del segundo vector de movimiento está o no dentro de un intervalo de magnitud fijo predeterminado, añadir el segundo vector de movimiento a la lista, cuando la magnitud del segundo vector de movimiento esté dentro del intervalo de magnitud fijo, como el vector de movimiento del bloque temporalmente adyacente correspondiente, y añadir un tercer vector de movimiento a la lista, cuando la magnitud del segundo vector de movimiento no esté dentro del intervalo de magnitud fijo, como el vector de movimiento del bloque temporalmente adyacente correspondiente, el tercer vector de movimiento siendo generado al cortar el segundo vector de movimiento para tener una magnitud dentro del intervalo de magnitud fijo .
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201161576501P | 2011-12-16 | 2011-12-16 | |
| PCT/JP2012/007895 WO2013088697A1 (ja) | 2011-12-16 | 2012-12-11 | 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および動画像符号化復号装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| MX2013014733A true MX2013014733A (es) | 2014-02-19 |
Family
ID=48612172
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| MX2015006553A MX340433B (es) | 2011-12-16 | 2012-12-11 | Metodo de codificacion de imagenes de video, dispositivo de codificacion de imagenes de video, metodo de decodificacion de imagenes de video, dispositivo de decodificacion de imagenes de video y dispositivo de codificacion/decodificacion de imagenes de video. |
| MX2013014733A MX2013014733A (es) | 2011-12-16 | 2012-12-11 | Metodo de codificacion de imagenes de video, dispositivo de codificacion de imagenes de video, metodo de decodificacion de imagenes de video, dispositivo de decodificacion de imagenes de video y dispositivo de codificacion/decodificacion de imagenes de video. |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| MX2015006553A MX340433B (es) | 2011-12-16 | 2012-12-11 | Metodo de codificacion de imagenes de video, dispositivo de codificacion de imagenes de video, metodo de decodificacion de imagenes de video, dispositivo de decodificacion de imagenes de video y dispositivo de codificacion/decodificacion de imagenes de video. |
Country Status (10)
| Country | Link |
|---|---|
| US (12) | US8867620B2 (es) |
| EP (1) | EP2793466A4 (es) |
| JP (4) | JP5364219B1 (es) |
| KR (2) | KR102072831B1 (es) |
| CN (1) | CN103650507B (es) |
| CA (1) | CA2841058C (es) |
| MX (2) | MX340433B (es) |
| RU (1) | RU2628226C2 (es) |
| TW (1) | TWI581619B (es) |
| WO (1) | WO2013088697A1 (es) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9762904B2 (en) | 2011-12-22 | 2017-09-12 | Qualcomm Incorporated | Performing motion vector prediction for video coding |
| US9800869B2 (en) * | 2012-06-15 | 2017-10-24 | Google Technology Holdings LLC | Method and apparatus for efficient slice header processing |
| US9392268B2 (en) * | 2012-09-28 | 2016-07-12 | Qualcomm Incorporated | Using base layer motion information |
| PT3119089T (pt) * | 2013-01-16 | 2018-08-03 | Ericsson Telefon Ab L M | Descodificador e codificador e métodos para codificação de uma sequência de vídeo |
| JP5983430B2 (ja) * | 2013-01-25 | 2016-08-31 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法及び動画像復号装置ならびに動画像復号方法 |
| US10003818B2 (en) | 2013-10-11 | 2018-06-19 | Sony Corporation | Video coding system with intra prediction mechanism and method of operation thereof |
| US10009629B2 (en) | 2013-10-11 | 2018-06-26 | Sony Corporation | Video coding system with search range and method of operation thereof |
| US9774881B2 (en) * | 2014-01-08 | 2017-09-26 | Microsoft Technology Licensing, Llc | Representing motion vectors in an encoded bitstream |
| US9749642B2 (en) | 2014-01-08 | 2017-08-29 | Microsoft Technology Licensing, Llc | Selection of motion vector precision |
| WO2015113510A1 (en) * | 2014-01-29 | 2015-08-06 | Mediatek Inc. | Method and apparatus for adaptive motion vector precision |
| MX372966B (es) * | 2014-06-18 | 2020-03-27 | Samsung Electronics Co Ltd | Metodo de codificacion de video inter-capa para compensar diferencia de luminancia y dispositivo para ello, y metodo de decodificacion de video y dispositivo para ello. |
| WO2017105097A1 (ko) * | 2015-12-17 | 2017-06-22 | 삼성전자 주식회사 | 머지 후보 리스트를 이용한 비디오 복호화 방법 및 비디오 복호화 장치 |
| CN108605138B (zh) * | 2016-02-01 | 2022-08-09 | Oppo广东移动通信有限公司 | 预测图像生成装置、运动图像解码装置、以及运动图像编码装置 |
| CN116567223A (zh) * | 2016-08-11 | 2023-08-08 | Lx 半导体科技有限公司 | 图像编码/解码设备和图像数据的发送设备 |
| US10873760B2 (en) * | 2017-04-07 | 2020-12-22 | Futurewei Technologies, Inc. | Motion vector (MV) constraints and transformation constraints in video coding |
| EP3616406B1 (en) * | 2017-05-18 | 2024-03-20 | HFI Innovation Inc. | Method and apparatus of motion vector constraint for video coding |
| US11272207B2 (en) * | 2017-06-12 | 2022-03-08 | Futurewei Technologies, Inc. | Selection and signaling of motion vector (MV) precisions |
| US10757420B2 (en) | 2017-06-23 | 2020-08-25 | Qualcomm Incorporated | Combination of inter-prediction and intra-prediction in video coding |
| US11647203B2 (en) | 2018-09-21 | 2023-05-09 | Lg Electronics Inc. | Method and apparatus for deriving motion vector |
| CN111083484B (zh) | 2018-10-22 | 2024-06-28 | 北京字节跳动网络技术有限公司 | 基于子块的预测 |
| CN111083491B (zh) | 2018-10-22 | 2024-09-20 | 北京字节跳动网络技术有限公司 | 细化运动矢量的利用 |
| WO2020098655A1 (en) | 2018-11-12 | 2020-05-22 | Beijing Bytedance Network Technology Co., Ltd. | Motion vector storage for inter prediction |
| WO2020103852A1 (en) | 2018-11-20 | 2020-05-28 | Beijing Bytedance Network Technology Co., Ltd. | Difference calculation based on patial position |
| CN113170097B (zh) | 2018-11-20 | 2024-04-09 | 北京字节跳动网络技术有限公司 | 视频编解码模式的编解码和解码 |
| CN118632031A (zh) * | 2018-12-10 | 2024-09-10 | 夏普株式会社 | 用于在视频编码中发送信号通知参考图片的系统和方法 |
| CN118945362A (zh) * | 2018-12-21 | 2024-11-12 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法、解码方法和计算机可读取的非暂时性存储介质 |
| CN113196771B (zh) * | 2018-12-21 | 2023-12-22 | 北京字节跳动网络技术有限公司 | 基于运动矢量精度的运动矢量范围 |
| US11516500B2 (en) * | 2018-12-28 | 2022-11-29 | Jvckenwood Corporation | Picture coding device, picture coding method, and picture coding program, picture decoding device, picture decoding method, and picture decoding program |
| MY207077A (en) | 2018-12-28 | 2025-01-29 | Jvckenwood Corp | Moving-picture coding device, moving-picture coding method, moving-picture coding program, moving-picture decoding device, moving-picture decoding method, and moving-picture decoding program |
| US11089325B2 (en) * | 2019-02-08 | 2021-08-10 | Qualcomm Incorporated | Constrained affine motion inheritance for video coding |
| CN113545065B (zh) | 2019-03-06 | 2023-12-12 | 北京字节跳动网络技术有限公司 | 转换后的单向预测候选的使用 |
| AR118250A1 (es) * | 2019-03-08 | 2021-09-22 | Jvckenwood Corp | Dispositivos, métodos y programas de codificación y decodificación de imágenes en movimiento |
| CN119172551A (zh) * | 2019-03-08 | 2024-12-20 | Jvc建伍株式会社 | 动图像编码装置和方法、以及动图像解码装置和方法 |
| US12206861B2 (en) * | 2022-01-12 | 2025-01-21 | Tencent America LLC | Motion vector restriction for out-of-frame boundary conditions |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2914448B2 (ja) * | 1997-06-25 | 1999-06-28 | 日本電信電話株式会社 | 動きベクトル予測符号化方法および動きベクトル復号方法、予測符号化装置および復号装置、並びに、動きベクトルの予測符号化プログラムおよび復号プログラムを記録した記録媒体 |
| US7206346B2 (en) * | 1997-06-25 | 2007-04-17 | Nippon Telegraph And Telephone Corporation | Motion vector predictive encoding method, motion vector decoding method, predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs |
| US6539059B1 (en) * | 2000-03-02 | 2003-03-25 | Sun Microsystems, Inc. | Apparatus and method for efficiently scalable digital video decoding |
| US6965645B2 (en) * | 2001-09-25 | 2005-11-15 | Microsoft Corporation | Content-based characterization of video frame sequences |
| CN1897702A (zh) * | 2002-01-18 | 2007-01-17 | 株式会社东芝 | 视频编码方法和装置以及视频解码方法和装置 |
| KR100506864B1 (ko) * | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
| US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
| RU2368095C1 (ru) * | 2005-07-22 | 2009-09-20 | Мицубиси Электрик Корпорейшн | Кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения, программа кодирования изображения и программа декодирования изображения и компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, и компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения |
| US9113194B2 (en) * | 2007-12-19 | 2015-08-18 | Arris Technology, Inc. | Method and system for interleaving video and data for transmission over a network at a selected bit rate |
| EP2346257A4 (en) | 2008-11-07 | 2012-04-25 | Mitsubishi Electric Corp | DEVICE FOR DYNAMIC IMAGE CODING AND DEVICE FOR DYNAMIC IMAGE DECODING |
| US8885728B2 (en) * | 2009-10-13 | 2014-11-11 | General Instrument Corporation | Decoding apparatus for a set-top box |
| US9137544B2 (en) * | 2010-11-29 | 2015-09-15 | Mediatek Inc. | Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes |
| US9247249B2 (en) * | 2011-04-20 | 2016-01-26 | Qualcomm Incorporated | Motion vector prediction in video coding |
| US9762904B2 (en) * | 2011-12-22 | 2017-09-12 | Qualcomm Incorporated | Performing motion vector prediction for video coding |
-
2012
- 2012-12-11 JP JP2013522755A patent/JP5364219B1/ja active Active
- 2012-12-11 KR KR1020147000301A patent/KR102072831B1/ko active Active
- 2012-12-11 KR KR1020207002677A patent/KR102211673B1/ko active Active
- 2012-12-11 MX MX2015006553A patent/MX340433B/es unknown
- 2012-12-11 CN CN201280033794.0A patent/CN103650507B/zh active Active
- 2012-12-11 RU RU2013158874A patent/RU2628226C2/ru active
- 2012-12-11 MX MX2013014733A patent/MX2013014733A/es active IP Right Grant
- 2012-12-11 EP EP12857032.2A patent/EP2793466A4/en not_active Ceased
- 2012-12-11 WO PCT/JP2012/007895 patent/WO2013088697A1/ja not_active Ceased
- 2012-12-11 CA CA2841058A patent/CA2841058C/en active Active
- 2012-12-12 TW TW101146859A patent/TWI581619B/zh active
- 2012-12-12 US US13/712,041 patent/US8867620B2/en active Active
-
2013
- 2013-09-06 JP JP2013185760A patent/JP6025061B2/ja active Active
- 2013-09-06 JP JP2013185761A patent/JP5432410B2/ja active Active
- 2013-10-21 US US14/058,636 patent/US8885722B2/en active Active
-
2014
- 2014-07-30 US US14/446,420 patent/US8917773B2/en active Active
- 2014-09-19 US US14/490,910 patent/US9094682B2/en active Active
-
2015
- 2015-06-03 US US14/729,321 patent/US20150271519A1/en not_active Abandoned
-
2016
- 2016-09-29 JP JP2016191545A patent/JP6210423B2/ja active Active
- 2016-11-08 US US15/345,920 patent/US10321133B2/en active Active
-
2019
- 2019-04-23 US US16/392,565 patent/US10757418B2/en active Active
-
2020
- 2020-08-24 US US17/000,920 patent/US11356669B2/en active Active
-
2022
- 2022-06-06 US US17/833,649 patent/US11711521B2/en active Active
-
2023
- 2023-05-31 US US18/203,709 patent/US12015782B2/en active Active
-
2024
- 2024-05-09 US US18/659,460 patent/US12294717B2/en active Active
-
2025
- 2025-04-02 US US19/098,043 patent/US20250234007A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2016202666B2 (en) | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus | |
| MX2013014733A (es) | Metodo de codificacion de imagenes de video, dispositivo de codificacion de imagenes de video, metodo de decodificacion de imagenes de video, dispositivo de decodificacion de imagenes de video y dispositivo de codificacion/decodificacion de imagenes de video. | |
| US20230105128A1 (en) | Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus | |
| AU2018201049C1 (en) | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus | |
| AU2012329550B2 (en) | Image encoding method, image decoding method, image encoding apparatus, and image decoding apparatus | |
| AU2012260302B2 (en) | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus | |
| AU2011353415B2 (en) | Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus | |
| AU2012264031B2 (en) | Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device | |
| AU2012274765B2 (en) | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus | |
| AU2012294053B2 (en) | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus | |
| AU2012277160B2 (en) | Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding/decoding device | |
| EP2782341B1 (en) | Image encoding method, image decoding method, image encoding device, and image decoding device | |
| EP2773111B1 (en) | Image encoding method, image decoding method, image encoding device, and image decoding device | |
| MX2013012124A (es) | Metodo de codificacion de video, aparato de codificacion de video, metodo de decodificacion de video, aparato de decodificacion de video y aparato de codificacion/decodificacion de video. | |
| AU2013254214B2 (en) | Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus | |
| MX2013010231A (es) | 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. | |
| AU2017201384B2 (en) | Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding and decoding apparatus | |
| AU2013273044B2 (en) | Video image encoding method, video image encoding device, video image decoding method, and video image decoding device | |
| MX2014003728A (es) | Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion/decodificacio n de imagenes. | |
| MX2013013909A (es) | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imágenes. | |
| MX2013009864A (es) | Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento. | |
| EP4468696A2 (en) | Method for coding video, method for decoding video, device for coding video, device for decoding video, and device for coding/decoding video | |
| MX2013001773A (es) | Metodo de codificacion de imagen, metodo de decodificacion de imagen, aparato de codificacion de imagen, aparato de decodificacion de imagen, y aparato de codificacion y decodificacion de imagen. | |
| MX2013001652A (es) | Metodo de codificacion de imagen, metodo de decodificacion de imagen, metodo de manejo de memoria, aparato de codificacion de imagen, aparato de decodificacion de imagen, aparato de manejo de memoria, y aparato de codificacion y decodificacion de imagen. | |
| MX2012012443A (es) | Modo de filtrado para intra-prediccion deducida de estadisticas de bloques circundantes. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| GB | Transfer or rights |
Owner name: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AME |
|
| FG | Grant or registration |