MX2013001167A - Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes. - Google Patents

Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.

Info

Publication number
MX2013001167A
MX2013001167A MX2013001167A MX2013001167A MX2013001167A MX 2013001167 A MX2013001167 A MX 2013001167A MX 2013001167 A MX2013001167 A MX 2013001167A MX 2013001167 A MX2013001167 A MX 2013001167A MX 2013001167 A MX2013001167 A MX 2013001167A
Authority
MX
Mexico
Prior art keywords
decoding
component
coding
motion vector
difference
Prior art date
Application number
MX2013001167A
Other languages
English (en)
Inventor
Takahiro Nishi
Hisao Sasai
Youji Shibahara
Kyoko Tanikawa
Toshiyasu Sugio
Toru Matsunobu
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Publication of MX2013001167A publication Critical patent/MX2013001167A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1887Methods 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 a variable length codeword
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream

Abstract

Este método de codificación de imágenes utiliza vectores de movimiento para codificar imágenes, e incluye un paso de codificación (S801) en el cual se codifica un vector de diferencias, que representa las diferencias entre un vector de movimiento y un vector de movimiento previsto, que es el valor previsto del vector de movimiento. En el paso (S801): se codifica una primera parte, que es parte del primer componente entre un componente horizontal y un componente vertical del vector de diferencias; se codifica una segunda parte, que es parte de un segundo componente que difiere del primer componente, entre el componente horizontal y el componente vertical; se codifica una tercera parte, que es parte del primer componente pero difiere de la primera parte; se codifica una cuarta parte, que es parte del segundo componente pero difiere de la segunda parte; y se genera una cadena de código que contiene la primera parte, la segunda parte, la tercera parte y la cuarta parte en el orden de primera parte, segunda parte, tercera parte y cuarta parte.

Description

METODO DE CODIFICACION DE IMAGENES, METODO DE DECODIFICACION DE IMAGENES, APARATO DE CODIFICACION DE IMAGENES, APARATO DE DECODIFICACION DE IMAGENES Y APARATO DE CODIFICACION Y DECODIFICACION DE IMAGENES CAMPO DE LA INVENCIÓN La presente invención se refiere a métodos para codificar imágenes para codificar imágenes utilizando ' vectores de movimiento.
ANTECEDENTES DE LA INVENCIÓN Entre los ejemplos de técnicas relacionadas con un método de codificación de imágenes para la codificación de imágenes que usan vectores de movimiento incluyen técnicas descritas en la literatura no perteneciente a patentes (NPL, por sus siglas en inglés) 1 y 2.
Lista de citas Literatura no perteneciente a patentes [NPL 1] Recomendación ITU-T H.264 "Codif cación avanzada de video para servicios audiovisuales genéricos" , Marzo 2010 [NPL 2] JCT-VC "WD3 : Borrador de trabajo 3 de codificación de video de alta eficiencia", JCTVC-E603, Marzo 2011 .
BREVE DESCRIPCIÓN DE LA INVENCIÓN Problema técnico La codificación ineficiente de una imagen ocasiona Ref.238459 retardos en su procesamiento y afecta también la decodificación de la imagen.
En vista de lo anterior, un objeto de la presente invención es proporcionar un método de codificación de imágenes para codificar de manera eficiente la información que constituye una imagen.
Solución al problema Con el fin de llegar al objeto anterior, un método de codificación de imágenes de acuerdo con un aspecto de la presente invención es un método para la codificación de una imagen que usa un vector de movimiento, el método incluye la codificación de una diferencia de vectores de movimiento que indica una diferencia entre el vector de movimiento y un vector de movimiento previsto el cual es un valor previsto del vector de movimiento, en el cual la codificación incluye: la codificación de una primera porción que forma parte de un primer componente el cual es o bien un componente horizontal o un componente vertical de la diferencia de vectores de movimiento; la codificación de una segunda porción que forma parte de un segundo componente el cual es diferente del primer componente y es el otro componente, o bien el componente horizontal o el componente vertical; la codificación de una tercera porción que forma parte del primer componente y es diferente de la primera porción; la codificación de una cuarta porción que forma parte del segundo componente y es diferente de la segunda porción; y la generación de una cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en un orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
Estos aspectos generales y específicos pueden implementarse usando un aparato, sistema, circuito integrado, programa de computación o medio de grabación no temporal legible por computadora, como por ejemplo, un CD-ROM, o cualquier combinación de aparatos, sistemas, circuitos integrados, programas de computación o medios de grabación.
Efectos ventajosos de la invención La información que constituye una imagen es codificada eficientemente de acuerdo con la presente invención.
BREVE DESCRIPCIÓN DE LAS FIGURAS La Figura 1 es un diagrama de bloques que muestra un ejemplo de una configuración de un método de decodificación de las diferencias de vectores de movimiento convencionales; La Figura 2 es un diagrama de flujo que muestra un flujo de operaciones del método de decodificación de las diferencias de vectores de movimiento convencionales.
La Figura 3 es un diagrama de flujo que muestra el procesamiento de decodificación aritmética binaria adaptable al contexto del método de decodificación aritmética convencional.
La Figura 4 es un diagrama de flujo que muestra procesamiento de decodificación aritmética de derivación del método de decodificación aritmética convencional.
La Figura 5 es un diagrama de flujo que muestra procesamiento de normalización del método de decodificación aritmética convencional.
La Figura 6 es un diagrama esquemático que muestra ejemplos de cadena binarias de las diferencias de vectores de movimiento.
La Figura 7 es un diagrama de bloques que muestra una configuración funcional de un aparato de decodificación de conformidad con la Modalidad 1.
La Figura 8 es un diagrama de flujo que muestra la operación de procesamiento de un aparato de decodificación de conformidad con la Modalidad 1.
Las Figuras 9A-9D son diagrama para describir ejemplos de procesamiento aplicado en la Modalidad 1.
La Figura 10 es un diagrama de bloques que muestra un ejemplo de una configuración de un dispositivo de decodificación de imágenes de conformidad con la Modalidad 1.
La Figura 11A es una tabla que muestra ejemplos de cadenas de códigos binarios de conformidad con una modificación de la Modalidad 1.
La Figura 11B es un diagrama de flujo que muestra la operación de procesamiento de un aparato de decodificación de conformidad con la modificación de la Modalidad 1.
La Figura 12 es un diagrama de flujo que muestra la operación de procesamiento de un aparato de codificación de conformidad con la Modalidad 2.
La Figura 13 es una tabla de sintaxis que muestra un ejemplo de una estructura de datos.
La Figura 14 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de codificación de imágenes de conformidad con la Modalidad 2.
La Figura 15A es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de codificación de imágenes de conformidad con la Modalidad 3.
La Figura 15B es un diagrama de flujo que muestra la operación de procesamiento del aparato de codificación de imágenes de conformidad con la Modalidad 3 ; La Figura 16A es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de decodificación de imágenes de conformidad con la Modalidad 3; La Figura 16B es un diagrama de flujo que muestra la operación de procesamiento del aparato de decodificación de imágenes de conformidad con la Modalidad 3.
La Figura 17 es una tabla de sintaxis que muestra un ejemplo de una estructura de datos de una cadena de códigos correspondiente a una diferencia de vectores de movimiento.
La Figura 18 muestra una configuración global de un sistema que suministra contenido para implementar servicios de distribución de contenido.
La Figura 19 muestra una configuración global de un sistema de radiodifusión digital.
La Figura 20 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión.
La Figura 21 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 graba la información proveniente de y en un medio de grabación que es un disco óptico.
La Figura 22 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico.
La Figura 23A muestra un ejemplo de un teléfono celular.
La Figura 23B es un diagrama de bloques que muestra un ejemplo de una configuración de un teléfono celular.
La Figura 24 ilustra una estructura de datos multiplexados .
La Figura 25 muestra de manera esquemática cómo cada flujo es multiplexado en datos multiplexados.
La Figura 26 muestra cómo se almacena cada flujo en un flujo de paquetes PES con mayor detalle.
La Figura 27 muestra una estructura de paquetes TS y paquetes fuente en los datos multiplexados.
La Figura 28 muestra una estructura de datos de un PMT. La Figura 29 muestra una estructura interna de información de datos multiplexados .
La Figura 30 muestra una estructura interna de información de atributos de flujo.
La Figura 31 muestra pasos para identificar datos de video .
La Figura 32 muestra un ejemplo de una configuración de un circuito integrado para implementar el método de codificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento de conformidad con cada una de las modalidades.
La Figura 33 muestra una configuración para cambios entre frecuencias de accionamiento.
La Figura 34 muestra pasos para identificar datos de video y cambio entre frecuencias de accionamiento.
La Figura 35 muestra un ejemplo de una tabla de consultas en la cual los estándares de datos de video están vinculados con frecuencias de accionamiento.
La Figura 36A 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 36B es un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señales.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN Conocimiento esencial que forma la base de la presente invención El número de aplicaciones para, por ejemplo, servicios del tipo video por demanda el cual incluye videoconferencia por Internet, difusión de señales digitales de video y emisión de contenido de video directo, está en constante aumento y estas aplicaciones dependen de la transmisión de información de video. Cuando se transmiten o graban datos de video, se transmite una cantidad considerable de datos a través de un canal de transmisión convencional que tiene un ancho de banda limitado o se almacena en un medio de almacenamiento convencional que tiene una capacidad de datos limitada. Se hace necesario comprimir o reducir la cantidad de datos digitales con el fin de transmitir información de video por medio de un canal de transmisión convencional y almacenar información de video en un medio de almacenamiento convencional .
En virtud de lo anterior, ha sido desarrollada una pluralidad de estándares de codificación de video para comprimir datos de video. Entre los ejemplos de tales estándares de codificación de video se incluye el estándar ITU-T, tipificado como H.26x, y el estándar ISO/IEC, tipificado como MPEG-x. El estándar más reciente y avanzado de codificación de video en el presente es un estándar tipificado como H.264/MPEG-4 AVC (ver la literatura no perteneciente a patentes (NPL, por sus siglas en inglés) 1) .
Un enfoque de codificación que constituye la base de la mayoría de estos estándares es el que se basa en la codificación de predicciones, el cual incluye los pasos principales mostrados en (a) a (d) a continuación. Paso (a) : Dividir cuadros de video en bloques de pixeles para realizar la compresión de datos en cada cuadro de video a nivel de bloques. Paso (b) : Identificar redundancia temporal y espacial prediciendo bloques individuales de datos de video previamente codificados. Paso (c) : Eliminar la redundancia identificada sustrayendo datos previstos de los datos de video. Paso (d) : Comprimir los datos restantes (bloque residual) realizando codificación por transformación de Fourier, cuatización y entropía.
En el paso anterior (a) , los modos de predicción usados para predecir macrobloques son diferentes para los estándares de codificación de video actuales. La mayoría de los estándares de codificación de video trabajan con detección de movimiento y compensación de movimiento, con el fin de predecir datos de video a partir de un cuadro codificado y decodificado previamente (predicción inter-cuadro) . De manera alternativa, los datos de bloques pueden extrapolarse a partir de un bloque adyacente en el mismo cuadro (predicción intra-cuadro) .
Por ejemplo, cuando una imagen objetivo de codificación va a ser codificada usando la predicción inter-cuadro, un aparato de codificación de imágenes utiliza, como imagen de referencia, una imagen codificada que aparece antes o después de la imagen objetivo de codificación en el orden de visualización. Seguidamente, el aparato de codificación de imágenes realiza una detección de movimiento en la imagen objetivo de codificación en relación con la imagen de referencia, en virtud de lo cual se deriva un vector de movimiento de cada bloque. El aparato de codificación de imágenes realiza una compensación de movimiento que usa el vector de movimientos derivado de esta manera, para generar datos de imágenes previstas. Seguidamente, el aparato de codificación de imágenes codifica una diferencia entre los datos de imágenes previstas generadas y los datos de imágenes de la imagen objetivo de codificación y reduce, por lo tanto, la redundancia en la dirección temporal.
Adicionalmente, se tiene en cuenta el uso de un modo de designación previsto de vectores de movimiento cuando se codifica un vector de movimiento de un bloque objetivo de codificación en una imagen B o una imagen P (NPL 2) . Un aparato de codificación de imágenes que trabaja con el' modo de designación de vectores de movimiento predecibles genera una pluralidad de candidatos a vector de movimiento previsto, con base en bloques para los cuales ha sido realizada la codificación y los cuales son adyacentes a un bloque objetivo de codificación. Seguidamente, el aparato de codificación de imágenes selecciona un vector de movimiento previsto entre la pluralidad de candidatos generados.
El aparato de codificación de imágenes codifica un vector de movimiento del bloque objetivo de codificación que trabaja con el vector de movimiento previsto seleccionado. Específicamente, la codificación de longitud variable se realiza en una diferencia de vectores de movimiento entre el vector de movimiento del bloque objetivo de codificación y el vector de movimiento previsto seleccionado.
Adicionalmente , el aparato de codificación de imágenes agrega un índice (también denominado índice de vector de movimiento previsto) del vector de movimiento previsto seleccionado a un flujo de bits codificado. Por lo tanto, al momento de la decodificación, el aparato de decodificación de imágenes puede seleccionar un vector de movimiento previsto que es igual al vector de movimiento previsto seleccionado cuando se realiza la codificación.
Adicionalmente, se proporciona una descripción más específica en las Figuras 1 y 2 de un método para realizar la decodificación de longitud variable en una diferencia de vectores de movimiento. La Figura 1 es un diagrama de bloques que muestra un ejemplo de una configuración de un método convencional para realizar la decodificación de longitud variable en una diferencia de vectores de movimiento. La Figura 2 es un diagrama de flujo que muestra un ejemplo del flujo de operaciones del método convencional para realizar la decodificación de longitud variable en una diferencia de vectores de movimiento.
Se binarizan los valores de la diferencia de vectores de movimiento y se constituyen cadenas binarias. Las cadenas binarias pueden separarse cada una en una bandera que indica un signo (de suma o resta) , una porción de prefijo correspondiente a una porción del valor absoluto de una diferencia de vectores de movimiento inferior o equivalente a un valor umbral (TH, por sus siglas en inglés) y una porción de sufijo correspondiente a una porción del mismo superior al valor TH (ver Figura 6) .
Un signo es + o -. Por ejemplo, si un signo es +, una bandera que indica el signo es 0. Si un signo es -, una bandera que indica el signo es 1. Adicionalmente , el valor TH es 8, por ejemplo. En este caso, una porción de prefijo corresponde a una porción que constituye ocho o menos en una cadena binarizada del valor absoluto de una diferencia de vectores de movimiento. Una porción de sufijo corresponde a una porción que constituye nueve o más en una cadena binarizada del valor absoluto de una diferencia de vectores de movimiento.
Los métodos de codificación y decodificación aritmética son diferentes por la pandera que indica un signo, la porción de prefijo y la porción de sufijo. A continuación se describen los métodos de codificación y decodificación aritmética.
Una unidad de decodificación de las diferencias de vectores de movimiento de longitud variable A00 obtiene un flujo de datos BS el cual incluye información de las diferencias de vectores de movimiento e introduce el flujo de datos obtenido BS en una unidad de control de reconstrucción de las diferencias de vectores de movimiento A01 y una unidad de determinación de las diferencias de vectores de movimiento 0 A02. Cabe destacar que, en este caso, la unidad de control de reconstrucción de las diferencias de vectores de movimiento A01 toma un componente X (componente horizontal) y un componente Y (componente vertical) de la información de las diferencias de vectores de movimiento obtenida en el orden establecido y administra el que un componente de información de las diferencias de vectores de movimiento en el cual se realiza el procesamiento de codificación sea un componente X o un componente Y.
La unidad de determinación de las diferencias de vectores de movimiento 0 A02 decodifica, a partir del flujo de bits obtenido, una bandera que indica si el componente X de la diferencia de vectores de movimiento es 0 (paso SB00) . Si el componente X de la diferencia de vectores de movimiento no es 0 (NO en el paso SB01) , una unidad de decodificación de una porción de prefijo de la diferencia de vectores de movimiento A03 decodifica la porción de prefijo del componente X de la diferencia de vectores de movimiento (paso SB02) . Seguidamente, si el componente X de la diferencia de vectores de movimiento incluye la porción de sufijo (SI en el Paso SB03) , una unidad de decodificación de porciones de sufijo de la diferencia de vectores de movimiento A04 decodifica la porción de sufijo del componente X de la diferencia de vectores de movimiento (SB04) . Si el componente X no incluye la porción de sufijo (NO en SB03), se omite el procesamiento de codificación de sufijos. Seguidamente, una unidad de decodificación de signos de las diferencias de vectores de movimiento A05 decodifica el signo del componente X de la diferencia de vectores de movimiento y una unidad de reconstrucción de las diferencias de vectores de movimiento A06 reconstruye y fija el componente X de la diferencia de vectores de movimiento (SB05) .
Por otro lado, si el componente X de la diferencia de vectores de movimiento es 0 (SI en el Paso SB01) , la unidad de reconstrucción de las diferencias de vectores de movimiento A06 fija el componente X de la diferencia de vectores de movimiento en 0 (paso SB06) . En este caso, la unidad de control de reconstrucción de las diferencias de vectores de movimiento A01 cambia un interruptor A07 a un lado indicando un componente X (un terminal en un lado superior en la Figura 1) y produce el componente X de la diferencia de vectores de movimiento.
Seguidamente, se decod fica un componente Y de la diferencia de vectores de movimiento como en el caso del componente X. Cabe destacar que en el procedimiento siguiente de la operación, el paso SB07 corresponde al paso SBOO, el paso SB08 corresponde al paso SB01, el paso SB09 corresponde al paso SB02, el paso SB10 corresponde al paso SB03, el paso SB11 corresponde al paso SB04, el paso SB12 corresponde al paso SB05 y el paso SB13 corresponde al paso SB06. Por lo tanto, la operación en estos pasos es la misma salvo que los componentes son diferentes y, por lo tanto, no se presenta una descripción detallada.
Al finalizar todos los pasos, se reconstruye el componente X y el componente Y de la diferencia de vectores de movimiento.
Seguidamente se presenta una descripción de la codificación de longitud variable en una diferencia entre datos de imágenes previstas y datos de imágenes de una imagen objetivo de codificación y una diferencia de vectores de movimiento entre un vector de movimiento previsto y un vector de movimiento y otros semejantes. En H.264, uno de los métodos de codificación de longitud variable es la codificación aritmética binaria adaptable al contexto (CABAC, por sus siglas en inglés) . A continuación se presenta una descripción de la CABAC con ayuda de las Figuras 3, 4 y 5.
La Figura 3 muestra el flujo del procesamiento convencional de la codificación aritmética binaria adaptable al contexto mencionado anteriormente. Cabe destacar que esta ilustración se extrae de la literatura no perteneciente a patentes NPL 1 y corresponde a lo descrito en la NPL 1, salvo que se proporcione una descripción particular.
En el procesamiento de codificación aritmética, primero se introduce un contexto (ctxldx) determinado con base en un tipo de señal.
Seguidamente, se calcula un valor qCodIRangeldx derivado de un parámetro codIRange el cual indica el estado en un aparato de decodificación aritmética en este punto temporal y se obtiene un valor pStateldx el cual es un valor de estado correspondiente a ctxldx. Usando estos dos valores, se obtiene codIRangeLPS en referencia a una tabla (rangeTableLPS) . Cabe destacar que codIRangeLPS indica un valor correspondiente al primer parámetro codIRange que indica el estado del aparato de decodificación aritmética cuando ha aparecido LPS (que indica un símbolo 0 ó 1 de probabilidad de aparición más baja) .
Adicionalmente, un valor obtenido disminuyendo el codIRange actual por el anterior codIRangeLPS es colocado en codIRange (paso SC01) . Seguidamente, el codIRange calculado se compara con un segundo parámetro codlOffset que indica el estado del aparato de decodificación aritmética (paso SC02) .
De ser codlOffset equivalente o superior al segundo parámetro (SI en SC02) , se determina que ha aparecido el símbolo de LPS . Seguidamente, se fija el valor binVal - que es un valor de salida decodificado- en un valor diferente al valor valMPS (un valor específico (0 ó 1) de MPS el cual indica un símbolo 0 ó 1 de probabilidad de aparición superior) , el valor diferente es 0 en el caso de valMPS = 1 y 1 en el caso de valMPS = 0. Adicionalmente , se fija el segundo parámetro codlOffset que indica el estado del aparato de decodificación aritmética en un valor obtenido como resultado de una disminución de codIRange . Puesto que ha aparecido LPS, el primer parámetro codIRange que indica el estado del aparato de decodificación aritmética se fija en el valor de codIRangeLPS calculado en el paso SC01 (paso SC03) .
Cabe destacar que, en este caso, si el valor pStateldx anterior -el cual es un valor de estado correspondiente a ctxldx- es 0 (SI en el paso SC05) , se indica el caso donde la probabilidad de que LPS excede la probabilidad de MPS. Así, el valor valMPS cambia (a 0 en el caso de valMPS = 1 y cambia a 1 en el caso de valMPS = 0) (paso SC06) . Por otro lado, si el valor pStateldx no es 0 (NO en él paso SC05) , el valor pStateldx se actualiza con base en una tabla de transición transIdxLPS usada cuando aparece LPS (paso SC07) .
Si codlOffset es inferior (NO en SC02) , se determina que ha aparecido el símbolo de MPS. Seguidamente, el valor binVal -el cual es un valor de salida decodificado- se fija en valMPS y el valor pStateldx se actualiza con base en una tabla de transición transIdxMPS usada cuando aparece MPS (paso SC04) .
Finalmente, se realiza el procesamiento de normalización (RenormD) (paso SC08) y termina la decodificación aritmética.
Según se describe anteriormente, en el procesamiento de codificación aritmética binaria adaptable al contexto, se mantiene una pluralidad de probabilidades de aparición de símbolos -que son las probabilidades de aparición de símbolos binarios- en vinculación con índices de contexto y cambian de conformidad con las condiciones (en referencia a un valor de un bloque adyacente, por ejemplo) . De esta forma, se hace necesario mantener el orden del procesamiento.
La Figura 4 muestra el flujo de procesamiento convencional de codificación aritmética anterior para el procesamiento de derivación. Cabe destacar que esta ilustración se extrae de la literatura no perteneciente a patentes NPL 1 y corresponde a lo descrito en la literatura NPL 1, salvo que se proporcione una descripción particular.
En primer lugar, el segundo parámetro codlOffset que indica el estado en el dispositivo de decodificación aritmética en este punto temporal cambia hacia la izquierda (duplicado) y se lee un bit de un flujo de datos. Si el bit leído indica 1, se agrega 1 al segundo parámetro codlOffset duplicado, en tanto que si el valor indica 0, el segundo parámetro codlOffset se fija en el valor en el estado actual (el cual ha sido duplicado) (SD01) .
Seguidamente, de ser superior codlOffset o equivalente al primer parámetro codIRange que indica el estado en el dispositivo de decodificación aritmética (SI en SD02) , el valor binVal -que es un valor de salida decodificado- se fija en "1". Seguidamente, codlOffset se fija en un valor obtenido como resultado de una disminución de codIRange (paso SD03) . Por otro lado, de ser codlOffset inferior al primer parámetro codIRange el cual indica el estado en el dispositivo de decodificación aritmética (NO en SD02) , el valor binVal, un valor de salida decodificado, se fija en "0" (paso SD04) .
La Figura 5 es un diagrama de flujo para describir en detalle el procesamiento de normalización (RenormD) mostrado en el paso SC08 de la Figura 3. Esta ilustración se extrae de la literatura NPL 1 y corresponde a la descripción dada en tal NPL 1, salvo que se proporcione una descripción particular.
Si el primer parámetro codIRange que indica el estado del aparato de decodificación aritmética se vuelve inferior a 0x100 (en hexadecimal: 256 (en decimal)) como resultado del procesamiento de codificación aritmética (SI en el paso SE01) , codIRange cambia hacia la izquierda (duplicado) y el segundo parámetro codlOffset que indica el estado en el dispositivo de decodificación aritmética cambia hacia la izquierda (duplicado) . Seguidamente, se lee 1 bit de un flujo de datos. Si el bit leído indica 1, 1 se agrega al segundo parámetro codlOffset duplicado, en tanto que si el valor indica 0, el segundo parámetro codlOffset se fija en el valor en el estado actual (el cual ha sido duplicado) (SE02) .
En el punto temporal en el cual codIRange se ha convertido eventualmente en 256 o un valor superior (NO en el paso SE01) , termina el procesamiento.
Se realiza la decodificación aritmética sobre una diferencia de vectores de movimiento realizando el procesamiento anterior mostrado en las Figuras 3, 4 y 5.
Sin embargo, de manera convencional, cuando se realiza la codificación aritmética en una diferencia de vectores de movimiento entre un vector de movimiento previsto y un vector de movimiento, se codifican en orden un componente X y un componente Y de la diferencia de vectores de movimiento. Específicamente, se almacenan por separado un componente X de la diferencia de vectores de movimiento y un componente Y de la diferencia de vectores de movimiento, en un flujo codificado. De esta forma, la codificación aritmética binaria adaptable al contexto y la codificación de derivación se realizan alternativamente en cada componente X y componente Y, al momento de la codificación y la decodificación aritmética binaria adaptable al contexto y la decodificación de derivación se aplican de manera alternativa en cada componente X y componente Y al momento de la decodificación, lo cual conduce a un problema en el cual no se permite el procesamiento paralelo suficiente lo cual es una ventaja de la codificación de y decodificación de derivación.
En vista de lo anterior, un método de codificación de imágenes de conformidad con una modalidad ejemplo de la presente invención es un método de codificación de imágenes para la codificación de una imagen que usa un vector de movimiento, el método incluye la codificación de una diferencia de vectores de movimiento que indica una diferencia entre el vector de movimiento y un vector de movimiento previsto el cual es un valor previsto del vector de movimiento, en el cual la codificación incluye: la codificación de una primera porción que forma parte de un primer componente el cual o bien un componente horizontal o bien un componente vertical de la diferencia de vectores de movimiento; la codificación de una segunda porción que forma parte de un segundo componente el cual es diferente del primer componente y es el otro componente, o bien el horizontal o bien el vertical; la codificación de una tercera porción que forma parte del primer componente y es diferente de la primera porción; la codificación de una cuarta porción que forma parte del segundo componente y es diferente de la segunda porción; y la generación de una cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en un orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
Por lo tanto, una parte del componente horizontal de la diferencia de vectores de movimiento y una parte del componente vertical de la diferencia de vectores de movimiento se combinan en la cadena de códigos. Por ejemplo, de combinarse una porción para la cual se usará la decodificación de derivación y la cual se incluye en el componente horizontal y una porción para la cual se usará la decodificación de derivación y la cual se incluye en el componente vertical en una cadena de códigos, se puede incrementar el grado de paralelismo de procesamiento de codificación. En otras palabras, la diferencia de vectores de movimiento se codifica de manera eficiente combinando una parte del componente horizontal y una parte del componente vertical .
Por ejemplo, la codificación de la diferencia de vectores de movimiento puede incluir: la codificación de la tercera porción la cual incluye un signo de suma o de resta del primer componente y la codificación de la cuarta porción la cual incluye un signo de suma o de resta del segundo componente; y la generación de la cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
Por lo tanto, el signo del componente horizontal y el signo del componente vertical se combinan en la cadena de códigos. Normalmente, se usa decodificación de derivación para la decodificación de los signos. En consecuencia, se puede incrementar el grado de paralelismo del procesamiento de codificación.
Adicionalmente, por ejemplo, la codificación de la diferencia de vectores de movimiento puede incluir: la codificación de la primera porción la cual incluye una bandera que indica si el primer componente es 0 y la codificación de la segunda porción la cual incluye una bandera que indica si el segundo componente es 0; y la generación de la cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
Por lo tanto, la bandera que indica si el componente horizontal es 0 y la bandera que indica si el componente vertical es 0 se combinan en la cadena de códigos.
Normalmente, se usa decodificación aritmética binaria adaptable al contexto para la decodificación de las banderas. Se combina una pluralidad de porciones diferentes para la cual se usará la decodificación de derivación en la cadena de códigos mediante la combinación de las banderas en la cadena de códigos. En consecuencia, se puede incrementar el grado de paralelismo del procesamiento de decodificación.
Adicionalmente, por ejemplo, la codificación de la diferencia de vectores de movimiento puede incluir: la codificación de la tercera porción la cual incluye una diferencia entre un valor umbral y un valor absoluto del primer componente cuando el valor absoluto del primer componente es superior al valor umbral; la codificación de la cuarta porción la cual incluye una diferencia entre el valor umbral y un valor absoluto del segundo componente cuando el valor absoluto del segundo componente es superior al valor umbral; y la generación de la cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
Por lo tanto, la diferencia entre el valor umbral y el valor absoluto del componente horizontal y la diferencia entre el valor umbral y el valor absoluto del componente vertical se combinan en la cadena de códigos. Normalmente, se usa la decodificación de derivación para la decodificación de estas diferencias. En consecuencia, se puede incrementar el grado de paralelismo del procesamiento de codificación.
Adicionalmente, por ejemplo, la codificación de la diferencia de vectores de movimiento puede incluir: la codificación de la primera porción y la segunda porción realizando codificación aritmética binaria adaptable al contexto la cual es codificación aritmética en la cual una probabilidad de variables actualizada con base en datos codificados se usa; y la generación de la cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción .
Por lo tanto, se combina una pluralidad de porciones para la cual se usará la decodificación aritmética binaria adaptable al contexto en la cadena de códigos. En este caso, se combina una pluralidad de porciones diferentes para la cual se usará la decodificación de derivación en la cadena de códigos. En consecuencia, se puede incrementar el grado de paralelismo del procesamiento de decodificación.
Adicionalmente, por ejemplo, la codificación de la diferencia de vectores de movimiento puede incluir: la codificación de la tercera porción y la cuarta porción realizando una codificación de derivación la cual es codificación aritmética en la cual se usa una probabilidad fija determinada previamente; y la generación de la cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
Por lo tanto, se combina una pluralidad de porciones para la cual se usará la decodificación de derivación en la cadena de códigos. En consecuencia, se puede incrementar el grado de paralelismo del procesamiento de decodificación.
Adicionalmente, por ejemplo, en la codificación de la diferencia de vectores de movimiento, la tercera porción y la cuarta porción pueden codificarse en paralelo.
Por lo tanto, una parte del componente horizontal y una parte del componente vertical se codifican en paralelo.
En consecuencia, se codifica de manera eficiente la diferencia de vectores de movimiento.
Adicionalmente, por ejemplo, la codificación de la diferencia de vectores de movimiento puede incluir: el cambio de procesamiento de codificación al primer procesamiento de codificación que se ajusta a un primer estándar o al segundo procesamiento de codificación que se ajusta a un segundo estándar y la generación de un flujo de bits el cual incluye información de identificación que indica el primer estándar o el segundo estándar al cual se ajusta uno correspondiente entre el primer procesamiento de codificación y el segundo procesamiento de codificación al cual se ha cambiado el procesamiento de codi icación; y la generación, cuando el procesamiento de codificación cambia al primer procesamiento de codificación, de la cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción y la generación del flujo de bits el cual incluye la cadena de códigos y la información de identificación que indica el primer estándar.
Por lo tanto, un aparato que sirve para realizar la decodificación recibe una notificación si se combina una parte del componente horizontal de la diferencia de vectores de movimiento y una parte del componente vertical de la diferencia de vectores de movimiento en la cadena de códigos. En consecuencia, será posible cambiar de manera apropiada el procesamiento de codificación.
Adicionalmente, un aparato de decodificación de imágenes de conformidad con una modalidad ejemplo de la presente invención puede ser un método de decodificación de imágenes para la decodificación de una imagen que usa un vector de movimiento; el método incluye la decodificación de una diferencia de vectores de movimiento que indica una diferencia entre el vector de movimiento y un vector de movimiento previsto el cual es un valor previsto del vector de movimiento, en el cual la decodificación puede incluir: obtención de una cadena de códigos la cual incluye (i) una primera porción que forma parte de un primer componente el cual es o bien un componente horizontal o bien un componente vertical de la diferencia de vectores de movimiento, (ii) una segunda porción que forma parte de un segundo componente el cual es diferente del primer componente y es el otro componente, el horizontal o el vertical, (iii) una tercera porción que forma parte del primer componente y es diferente de la primera porción y (iv) una cuarta porción la cual forma parte del segundo componente y es diferente de la segunda porción, en un orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción; y la decodificación de la primera porción incluida en la cadena de códigos; la decodificación de la segunda porción incluida en la cadena de códigos; la decodificación de la tercera porción incluida en la cadena de códigos y la decodificación de la cuarta porción incluida en la cadena de códigos.
Por lo tanto, se obtiene la cadena de códigos en la cual se combina una parte del componente horizontal de la diferencia de vectores de movimiento y una parte del componente vertical de la diferencia de vectores de movimiento. Por ejemplo, si una porción para la cual se usará decodificación de derivación y la cual está incluida en el componente horizontal y una porción para la cual se usará decodificación de derivación y la cual está incluida en los componentes verticales se combinan en la cadena de códigos, se podrá incrementar el grado de paralelismo del procesamiento de codificación. En otras palabras, la diferencia de vectores de movimiento se codifica de manera eficiente usando la cadena de códigos en la cual se combina una parte del componente horizontal y una parte del componente vertical .
Por ejemplo, la decodificación de las diferencias de vectores de movimiento puede incluir: obtención de la cadena de códigos la cual incluye (i) la primera porción, (ii) la segunda porción, (iii) la tercera porción, la cual incluye un signo de suma o de resta del primer componente y (iv) la cuarta porción, la cual incluye un signo de suma o de resta del segundo componente, en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción; y decodificación de la primera porción incluida en la cadena de códigos; la decodificación de la segunda porción incluida en la cadena de códigos; la decodificación de la tercera porción incluida en la cadena de códigos y la decodificación de la cuarta porción incluida en la cadena de códigos.
Por lo tanto, se obtiene la cadena de códigos en la cual se combinan el signo del componente horizontal y el signo del componente vertical. Normalmente, se usa decodificación de derivación para la decodificación de los signos. En consecuencia, se puede incrementar el grado de paralelismo del procesamiento de codificación.
Adicionalmente , por ejemplo, la decodificación de las diferencias de vectores de movimiento puede incluir: obtención de la cadena de códigos la cual incluye (i) la primera porción la cual incluye una bandera que indica si el primer componente es 0, (ii) la segunda porción la cual incluye una bandera que indica si el segundo componente es 0, (iii) la tercera porción y (iv) la cuarta porción, en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción; y decodificación de la primera porción incluida en la cadena de códigos; la decodificación de la segunda porción incluida en la cadena de códigos; la decodificación de la tercera porción incluida en la cadena de códigos y la decodificación de la cuarta porción incluida en la cadena de códigos. Por lo tanto, se obtiene la cadena de códigos en la cual se combinan la bandera que indica si el componente horizontal es 0 y la bandera que indica si el componente vertical es 0. Normalmente, se usa decodificación aritmética binaria adaptable al contexto para decodificar las banderas. Una pluralidad de porciones diferentes para la cual se usará la decodificación de derivación se combina en la cadena de códigos combinando estas banderas en la cadena de códigos. En consecuencia, se puede incrementar el grado de paralelismo del procesamiento de codificación.
Adicionalmente, por ejemplo, la decodificación de las diferencias de vectores de movimiento puede incluir: obtención de la cadena de códigos la cual incluye (i) la primera porción, (ii) la segunda porción y (iii) la tercera porción la cual incluye una diferencia entre un valor umbral y un valor absoluto del primer componente cuando el valor absoluto del primer componente es superior al valor umbral y (iv) la cuarta porción la cual incluye una diferencia entre el valor umbral y un valor absoluto del segundo componente cuando el valor absoluto del segundo componente es superior al valor umbral, en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción; y decodificación de la primera porción incluida en la cadena de códigos; la decodificación de la segunda porción incluida en la cadena de códigos; la decodificación de la tercera porción incluida en la cadena de códigos y decodificación de la cuarta porción incluida en la cadena de códigos.
Por lo tanto, se obtiene la cadena de códigos en la cual se combinan la diferencia entre el valor umbral y el valor absoluto del componente horizontal y la diferencia entre el valor umbral y el valor absoluto del componente vertical. Normalmente, se usa decodificación de derivación para la decodificación de estas diferencias. En consecuencia, se puede incrementar el grado de paralelismo del procesamiento de codificación.
Adicionalmente, por ejemplo, la decodificación de las diferencias de vectores de movimiento puede incluir: la obtención de la cadena de códigos la cual incluye (i) la primera porción a decodificar realizando decodificación aritmética binaria adaptable al contexto, la cual es decodificación aritmética en la cual se usa una probabilidad variable actualizada con base en datos decodificados, (ii) la segunda porción a decodificar realizando la decodificación aritmética binaria adaptable al contexto, (iii) la tercera porción y (iv) la cuarta porción, en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción; y decodificación de la primera porción incluida en la cadena de códigos realizando la decodificación aritmética binaria adaptable al contexto; la decodificación de la segunda porción incluida en la cadena de códigos realizando la decodificación aritmética binaria adaptable al contexto; la decodificación de la tercera porción incluida en la cadena de códigos y la decodificación de la cuarta porción incluida en la cadena de decódigos.
Por lo tanto, se obtiene la cadena de códigos en la cual se combina una pluralidad de porciones para la cual se usará la decodificación aritmética binaria adaptable al contexto. En este caso, se combina en la cadena de códigos una pluralidad de porciones diferentes para la cual se usará decodificación de derivación. En consecuencia, se puede aumentar el grado de paralelismo del procesamiento de decodificación.
Más aún, por ejemplo, la decodificación de las diferencias de vectores de movimiento puede incluir: obtención de la cadena de códigos la cual incluye (i) la primera porción, (ii) la segunda porción, (iii) la tercera porción a decodificar realizando decodificación de derivación la cual es decodificación aritmética en la cual se usa una probabilidad fija determinada previamente y (iv) la cuarta porción a decodificar realizando la decodificación de derivación, en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción; y decodificación de la primera porción incluida en la cadena de códigos; la decodificación de la segunda porción incluida en la cadena de códigos; la decodificación de la tercera porción incluida en la cadena de códigos realizando la decodificación de derivación y la decodificación de la cuarta porción incluida en la cadena de códigos realizando la decodificación de derivación.
Por lo tanto, se obtiene la cadena de códigos en la cual se combina una pluralidad de porciones para la cual se usará decodificación de derivación. En consecuencia, se puede incrementar el grado de paralelismo del procesamiento de decodificación.
Adicionalmente , por ejemplo, en la decodificación de las diferencias de vectores de movimiento, la tercera porción y la cuarta porción pueden decodificarse en paralelo.
Por lo tanto, una parte del componente horizontal y una parte del componente vertical son decodificadas en paralelo. En consecuencia, la diferencia de vectores de movimiento se decodifica de manera eficiente.
Adicionalmente, por ejemplo, la decodificación de las diferencias de vectores de movimiento puede incluir: obtención de un flujo de datos el cual incluye información de identificación que indica un primer estándar o un segundo estándar y con base en la información de identificación, cambio de procesamiento de codificación a primer procesamiento de codificación conforme al primer estándar o al segundo procesamiento de codificación conforme al segundo estándar; y cuando el procesamiento de codificación cambia al primer procesamiento de codificación, obtención de la cadena de códigos del flujo de bits; la decodificación de la primera porción incluida en la cadena de códigos; la decodificación de la segunda porción incluida en la cadena de códigos; la decodificación de la tercera porción incluida en la cadena de códigos y la decodificación de la cuarta porción incluida en la cadena de códigos.
Por lo tanto, el procesamiento de codificación cambia de manera apropiada dependiendo de si una parte del componente horizontal de la diferencia de vectores de movimiento y una parte del componente vertical de la diferencia de vectores de movimiento se combinan en la cadena de códigos .
Adicionalmente, estas modalidades generales y específicas pueden implementarse usando un aparato, un sistema, un circuito integrado, un programa de computación o un medio de grabación no temporal legible por computadora, como por ejemplo, un CD-ROM, o cualquier combinación de aparatos, sistemas, circuitos integrados, programas de computación o medios de grabación.
A continuación se presenta una descripción detallada de un método de codificación de imágenes y un método de decodificación de imágenes de conformidad con modalidades ejemplo de la presente invención a través de ilustraciones. Cada una de las modalidades ejemplo descritas muestra un ejemplo general o especifico. Los valores numéricos, formas, materiales, elementos constituyentes, disposición y conexión de los elementos constituyentes, los pasos, el orden de procesamiento de los pasos y otros semejantes mostrados en las modalidades ejemplo siguientes son meros ejemplos y en consecuencia no limitan el concepto de la invención, el alcance de la cual se define en las Reivindicaciones anexas y sus equivalentes. En consecuencia, entre los elementos constituyentes en las modalidades ejemplo siguientes, los elementos constituyentes no enumerados en ninguna de las reivindicaciones independientes que definen la parte más genérica del concepto de la invención se describen como elementos constituyentes arbitrarios.
Modalidad 1 La Figura 7 es un diagrama de bloques que muestra la configuración funcional de una unidad de decodificación de las diferencias de vectores de movimiento 100 de conformidad con la Modalidad 1.
La unidad de decodificación de las diferencias de vectores de movimiento 100 de conformidad con la presente modalidad incluye la unidad de decodificación de una porción de prefijo 110, una unidad de decodificación de una porción de sufijo 120, una unidad de control de reconstrucción de las diferencias de vectores de movimiento 101 y una unidad de reconstrucción de las diferencias de vectores de movimiento 106. Entre éstas, la unidad de decodificación de la porción de prefijo 110 está constituida por una unidad de determinación de las diferencias de vectores de movimiento 0 102 y una unidad de decodificación de una porción de prefijo de las diferencias de vectores de movimiento 103. Además, la unidad de decodificación de porciones de sufijo 120 está constituida por una unidad de decodificación de porciones de sufijo de las diferencias de vectores de movimiento 104 y una unidad de decodificación de signos de las diferencias de vectores de movimiento 105. La unidad de decodificación de las diferencias de vectores de movimiento 100 reconstruye, a partir de un flujo de datos BS, información en un componente X MVDX y un componente Y MVDY de una diferencia de vectores de movimiento.
El funcionamiento de la unidad de decodificación de las diferencias de vectores de movimiento 100 en la presente modalidad se describe detalladamente en la Figura 8. La Figura 8 es un diagrama de flujo que muestra un ejemplo de un flujo de operaciones de la unidad de decodificación de las diferencias de vectores de movimiento 100 de la presente modalidad.
En primer lugar, la unidad de determinación de la diferencia de vectores de movimiento 0 102 decodifica, a partir de un flujo de bits obtenido, una bandera que indica si un componente X de una diferencia de vectores de movimiento es 0 (S200) . En este caso, si el componente X de la diferencia de vectores de movimiento no es 0 (NO en S201) , la unidad de decodificación de la porción de prefijo de la diferencia de vectores de movimiento 103 decodifica una porción de prefijo del componente X de la diferencia de vectores de movimiento (S202) . Por otro lado, si el componente X de la diferencia de vectores de movimiento es 0 (SI en S201) , el componente X de la diferencia de vectores de movimiento se fija en 0 (S203) .
Seguidamente, regresando al procesamiento desde el bucle, la unidad de determinación de la diferencia de vectores de movimiento 0 102 decodifica una bandera que indica si el componente Y de la diferencia de vectores de movimiento es 0 (S204) . Si el componente Y de la diferencia de vectores de movimiento no es 0 en este caso (NO en S205) , la unidad de decodificación de la porción de prefijo de la diferencia de vectores de movimiento 103 decodifica una porción de prefijo del componente Y de la diferencia de vectores de movimiento (S206) . Por otro lado, si el componente Y de la diferencia de vectores de movimiento es 0 (SI en S205) , el componente Y de la diferencia de vectores de movimiento se fija en 0 (S207) . Cabe destacar que el procesamiento hasta este paso es la operación realizada por la unidad de decodificación de la porción de prefijo de la diferencia de vectores de movimiento 103 (S280) .
Seguidamente, si se determina -con base en información decodificada en el componente X de la diferencia de vectores de movimiento- que el componente X no es 0 (NO en S208) e incluye una porción de sufijo (SI en S209) , la unidad de decodificación de porciones de sufijo de las diferencias de vectores de movimiento 104 decodifica, del flujo de bits, la porción de sufijo del componente X de la diferencia de vectores de movimiento (S210) . Por otro lado, si la porción de sufijo no está incluida (NO en S209) , se omite el procesamiento de codificación en la porción de sufijo. Cabe destacar que, en este caso, en lo concerniente a si una porción de sufijo está incluida, la porción de prefijo y la porción de sufijo se separan en una cadena de códigos binarios según se muestra en la Figura 6, por ejemplo, y por lo tanto se determina que una porción de sufijo está incluida si todos los dígitos en una porción de prefijo son 1.
Seguidamente, la unidad de decodificación de signos de las diferencias de vectores de movimiento 105 decodifica, del flujo de bits, el signo de la diferencia de vectores de movimiento y la unidad de reconstrucción de las diferencias de vectores de movimiento 106 reconstruye el componente X de la diferencia de vectores de movimiento (S211) . Por otro lado, si el componente X es 0 (SI en S208) , el componente X de la diferencia de vectores de movimiento ha sido reconstruido con éxito y, por lo tanto, se omite el procesamiento de codificación en la porción de sufijo del componente X.
Seguidamente, si se determina -con base en información decodificada en el componente Y de la diferencia de vectores de movimiento- que el componente Y no es 0 (NO en S212) e incluye una porción de sufijo (SI en S213) , la unidad de decodificación de porciones de sufijo de las diferencias de vectores de movimiento 104 decodifica, del flujo de bits, la porción de sufijo del componente Y de la diferencia de vectores de movimiento (S214) . Cabe destacar que si la porción de sufijo no está incluida (NO en S213), se omite el procesamiento de codificación en la porción de sufijo. En este caso, el que una porción de sufijo esté incluida o no puede determinarse de la misma manera que en el caso del componente X. Seguidamente, la unidad de decodificación de signos de las diferencias de vectores de movimiento 105 decodifica, del flujo de bits, el signo del componente Y de la diferencia de vectores de movimiento y la unidad de reconstrucción de las diferencias de vectores de movimiento 106 reconstruye el componente Y de la diferencia de vectores de movimiento (S215) . Por otro lado, si el componente Y es 0 (SI en S212) , el componente Y de la diferencia de vectores de movimiento ha sido reconstruido con éxito y, por lo tanto, se omite el procesamiento de codificación en la porción de sufijo del componente Y.
Cabe destacar que, para la porción de prefijo, la información de una diferencia de vectores de movimiento muestra una tendencia alta (hay una tendencia a muchos vectores cero) y, por lo tanto, la eficiencia de la codificación se incrementa realizando la codificación aritmética binaria adaptable al contexto descrita anteriormente. Por lo tanto, el procesamiento de codificación aritmética binaria adaptable al contexto (Figura 3) se aplica al momento de la decodificación.
Por otro lado, la porción de sufijo se corresponde con menos bits de una diferencia de vectores de movimiento grande. De esta forma, la gama de valores posibles es grande (por ejemplo, 9 a 1024) y las frecuencias con las cuales aparece la misma cadena binaria de símbolos de código tiende a ser baja. Por lo tanto, la cantidad de procesamiento se reduce realizando una codificación de derivación, suponiendo que existe una probabilidad de aparición de símbolos de 50%. Específicamente, se aplica la decodificación de derivación (Figura 4) cuando se decodifica una porción de sufijo. Cabe destacar que, si el signo de una diferencia de vectores de movimiento está incluido, la codificación de derivación se realiza también en el signo y por lo tanto se aplica la decodificación de derivación.
En este caso, se describe un ejemplo de operación de procesamiento de codificación que aparece en la Figura 8, con ayuda de las Figuras 9A-9D.
Las Figuras 9A-9D son ilustraciones que describen ejemplos de pasos de procesamiento aplicados en la Modalidad 1. En la Figura 9A se muestra un ejemplo en el caso donde el procesamiento aplicado en la Modalidad 1 se lleva a cabo en paralelo con un proceso. El procesamiento se lleva a cabo en el orden de la decodificación en una porción de prefijo de un componente X de una diferencia de vectores de movimiento (MVDX_PREFIX) , la decodificación en una porción de prefijo de un componente Y del mismo (MVDY_PREFIX) , la decodificación en una porción de sufijo del componente X (MVDX_SUFFIX) , la decodificación en el signo del componente X (MVDX_SIGN) , la decodificación en la porción de sufijo del componente Y (MVDY_SUFFIX) y decodificación en el signo del componente Y (MVDY_SIGN) .
Sin embargo, se requiere un procesamiento de alta velocidad debido a un incremento en la resolución de imagen utilizada y a una expansión de la comunicación en tiempo real de alta velocidad y, por lo tanto, se implementa el procesamiento paralelizado . Sin embargo, puesto que se lleva a cabo un procesamiento de codificación aritmética binaria adaptable al contexto en una porción de prefijo, es necesario realizar de manera sucesiva el procesamiento de lectura y actualización de la probabilidad de aparición de símbolos. De esta forma, el procesamiento en una porción de prefijo no puede trabajarse en paralelo. Sin embargo, una porción de procesamiento de derivación puede paralelizarse a modo de bits, según se muestra en la (b) en la Figura 9.
En contraste, las figuras 9C y 9D son ejemplos de paralelización de procesamiento aplicada en la configuración convencional. En la Figura 9C, se corresponde con la figura 9A y 9D se corresponde con la Figura 9B. De manera semejante, se realiza el procesamiento de manera sucesiva en una porción de prefijo, a saber, una porción en procesamiento de codificación aritmética binaria adaptable al contexto y el procesamiento en una porción de sufijo, a saber, la porción del procesamiento de derivación, puede paralelizarse . Sin embargo, puesto que se dispone de manera alternativa un componente X y un componente Y, las porciones en las cuales se puede realizar el procesamiento en paralelo no se dispone de manera consecutiva. De esta forma, no puede lograrse un incremento suficiente en velocidad en la Figura 9D. Adicionalmente , a menudo se hace cambiar el procesamiento entre decodificación aritmética binaria adaptable al contexto y decodificación de derivación, lo cual conduce a una carga grande y un retardo considerable del procesamiento.
Cabe destacar que la unidad de decodificación aritmética 100 de conformidad con la Modalidad 1 está incluida en el aparato de decodificación de imágenes el cual decodifica datos codificados de imágenes en las cuales se ha realizado codificación de compresión. La Figura 10 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de decodificación de imágenes 400 de conformidad con la Modalidad 1.
El aparato de decodificación de imágenes 400 decodifica datos codificados de imágenes sobre las cuales se ha realizado la codificación de compresión. Por ejemplo, los datos codificados de imágenes son introducidos, bloque por bloque, al aparato de decodificación de imágenes 400 como señales a decodificar. El aparato de decodificación de imágenes 400 reconstruye datos de imágenes realizando decodificación de longitud variable, cuatización inversa y transformación inversa en las señales objetivo de decodificación de entrada.
Según se muestra en la Figura 10, el aparato de decodificación de imágenes 400 incluye una unidad de decodificación de entropía 410, una unidad de cuatización inversa y transformación inversa 420, un sumador 425, un filtro desbloqueador 430, una memoria 440, una unidad de intra-predicción 450, una unidad de compensación de movimiento 460 y un interruptor de cambio interno y cambio externo 470.
La unidad de decodificación de entropía 410 realiza la decodificación de longitud variable en una señal de entrada (flujo de entrada) , para reconstruir un coeficiente de cuatización. Cabe destacar que, en este caso, una señal de entrada (flujo de entrada) es una señal a decodificar y se corresponde con datos codificados de imágenes correspondientes a cada bloque. Adicionalmente , la unidad de decodificación de entropía 410 obtiene datos de movimiento de la señal de entrada y produce los datos de movimiento obtenidos que van a la unidad de compensación de movimiento 460.
La cuantización inversa y la unidad de transformación inversa 420 realizan cuatización inversa en el coeficiente de cuatización reconstruido por la unidad de decodificación de entropía 410 para reconstruir un coeficiente de transformación. Seguidamente, la unidad de cuatización inversa y transformación inversa 420 realizan transformación inversa en el coeficiente de transformación reconstruido, para reconstruir un error de predicción.
El sumador 425 agrega el error de predicción reconstruido a una señal prevista, para generar una imagen decodificada.
El filtro desbloqueador 430 realiza el procesamiento del filtro desbloqueador en la imagen decodificada generada. La imagen decodificada en la cual se ha realizado procesamiento del filtro desbloqueador sale como una señal decodificada.
La memoria 440 es una memoria de almacenamiento de imágenes de referencia que se usa para la compensación de movimientos. Específicamente, la memoria 440 almacena imágenes decodificadas en las cuales se ha realizado el procesamiento del filtro desbloqueador.
La unidad de intra-predicción 450 realiza una predicción interna para generar una señal prevista (señal de intra-predicción) . Específicamente, la unidad de intra-predicción 450 realiza una predicción interna con referencia a una imagen alrededor de un bloque a decodificar (señal de entrada) en la imagen decodificada generada por el sumador 425, para generar una señal de intra-predicción .
La unidad de compensación de movimiento 460 realiza compensación de movimiento, con base en datos de movimiento que salen de la unidad de decodificación de entropía 410, para generar una señal prevista (señal de inter-predicción) .
El interruptor de intra/inter cambio 470 selecciona cualquiera de las dos señales, señal de intra-predicción y señal de inter-predicción, y produce la señal seleccionada que va al sumador 425 como una señal prevista.
Con ayuda de la configuración anterior, el aparato de decodificación de imágenes 400 de conformidad con la Modalidad 1 decodifica datos codificados de imágenes en las cuales se ha realizado codificación de compresión.
Cabe destacar que en el aparato de decodificación de imágenes 400, la unidad de decodificación de entropía 410 incluye la unidad de decodificación de las diferencias de vectores de movimiento 100 de conformidad con la Modalidad 1.
Según se describe anteriormente, el aparato de decodificación de imágenes y el método de decodificación de imágenes de conformidad con la Modalidad 1 permiten la decodificación de alta velocidad de las diferencias de vectores de movimiento.
Específicamente, según se describe en la Modalidad 1, un componente X y un componente Y de un valor de diferencia de vectores de movimiento están integrados y existe un valor de diferencia de vectores de movimiento separado en una porción en la cual se realizará decodificación aritmética binaria adaptable al contexto y una porción en la cual se realizará un procesamiento de derivación. En consecuencia, es posible expandir una porción en la cual se puede realizar una operación paralela. De esta forma, se puede realizar procesamiento paralelo o, en otras palabras, decodificación de alta velocidad.
Cabe destacar que, si bien lo anterior describe el procesamiento de decodificación en una porción de sufijo y el procesamiento de decodificación de signos, los cuales son realizados en un componente X y un componente Y por separado, el concepto de la invención no se limita a lo anterior. Por ejemplo, después del procesamiento de decodificación en porciones de sufijo en un componente X, puede realizarse procesamiento de decodificación en porción de sufijo en un componente Y, procesamiento de decodificación de signos en un componente X y seguidamente procesamiento de decodificación de signos en un componente Y. Incluso con esta configuración, las porciones en las cuales el procesamiento de derivación se lleva a cabo son sucesivas y, por lo tanto, cabe esperar efectos ventajosos.
Además, con respecto a una porción de prefijo, la información que indica si un componente X es 0 y la información que indica si un componente Y es 0 puede ser decodificada de manera sucesiva. En cualquiera de los casos rigen las mismas restricciones en una porción en la cual se lleva a cabo el procesamiento de decodificación aritmética por contexto (se requiere realizar el procesamiento de manera sucesiva) .
Cabe destacar que en la Figura 6 una cadena binaria aparece y la longitud de una porción en la cual la se lleva a cabo decodificación aritmética binaria adaptable al contexto son ejemplos y no requieren necesariamente ser iguales a las de la descripción anterior. Por ejemplo, la decodificación puede realizarse suponiendo que una diferencia de vectores de movimiento que tiene valor absoluto 0, 1 ó 2 es una porción de prefijo, mientras que una diferencia de vectores de movimiento de valor absoluto superior a 3 o igual a 3 es una porción de sufijo (a decir verdad, se supone que el aparato de codificación que genera este flujo de bits ha realizado también el mismo procesamiento) . Al determinar de este modo una cadena binaria, el grado de paralelismo puede aumentar y el procesamiento de codificación se puede realizar a una velocidad todavía mayor.
Modificación de la Modalidad 1 Cabe destacar que en la Modalidad 1 existe una diferencia de vectores de movimiento separado en una porción de prefijo correspondiente a una porción en la cual se lleva a cabo procesamiento de decodificación aritmética binaria adaptable al contexto y una porción de sufijo correspondiente a una porción en la cual se lleva a cabo el procesamiento de codificación de derivación, independientemente de un componente X y un componente Y. Lo anterior permite un procesamiento de alta velocidad. Mientras se alcanza este punto es posible tomar en cuenta la posibilidad de una modificación según se describe más adelante.
La modificación de la Modalidad 1 se describe con detalles a continuación con ayuda de las Figuras 11A y 11B. La Figura 11A es una tabla de correspondencia de banderas que muestra si los componentes X y los componentes Y de las diferencias de vectores de movimiento son 0 en la modificación de la Modalidad 1. La Figura 11B es un diagrama de flujo que muestra un ejemplo del flujo de procesamiento en la modificación de la Modalidad 1.
La Modalidad 1 describe banderas diferentes que indican si un componente X de una diferencia de vectores de movimiento es 0 y si un componente Y de una diferencia de vectores de movimiento es 0. Sin embargo, un componente X y un componente Y de una diferencia de vectores de movimiento se combinan para realizar la decodificación en la Modalidad 1 y, por lo tanto, la eficiencia de la codificación puede mejorar adicionalmente combinando las banderas.
Por ejemplo, según se muestra en la Figura HA, los códigos (MVDXY_EXIST) son asignados a combinaciones que muestran si un componente X es 0 (MVDX_EXIST) y si un componente Y es 0 (MVDY_EXIST) . "0" es asignado cuando tanto un componente X como un componente Y son 0, "111" es asignado cuando ni un componente X ni un componente Y es 0, "110" es asignado si un componente X es 0, en tanto que un componente Y no es 0 y "10" es asignado si un componente Y es 0, en tanto que un componente X no es 0.
Según se describe anteriormente, se toma en cuenta la designación, a través de un índice, de un método para realizar una derivación de vectores vecinos, como un método de derivación de una diferencia de vectores de movimiento. Por lo tanto, la probabilidad de que un componente de una diferencia de vectores de movimiento sea "0" es todavía más alta que con la codificación de imágenes convencional. Si tanto un componente X como un componente Y son "0", puede expresarse una señal de cadena binaria usando 1 bit en la presente modificación, si bien convencionalmente se hace con 2 bits. El flujo de procesamiento realizado por la unidad de decodificación de las diferencias de vectores de movimiento 100 en la presente modificación es según se muestra en la Figura 11B.
En el Paso S501, se obtiene una cadena de códigos la cual indica si un componente X y un componente Y de una diferencia de vectores de movimiento son 0 (S501) . En este caso, por ejemplo, se aplica la tabla de correspondencias en la Figura 11A al resultado que muestra si un componente X y un componente Y son 0. Cabe destacar que la Figura 11B es igual a la Figura 8 excepto por los pasos S200 y S204 en la Figura 8 son reemplazados por el paso S501 y así se omite la descripción de los pasos siguientes.
Cabe destacar que la tabla de correspondencias que aparece en la Figura 11A es un ejemplo. En el caso de este ejemplo, se determinan cadenas binarias, suponiendo una posibilidad baja de que un componente X de una diferencia de vectores de movimiento sea 0 puesto que generalmente muchas imágenes se mueven horizontalmente . Por ejemplo, una unidad de codificación de las diferencias de vectores de movimiento puede cambiar de una a otra tabla de correspondencia de conformidad con la frecuencia de aparición de los códigos y puede grabar un índice que indica cuál tabla de correspondencias se usa para la codificación en un flujo de datos. En lo sucesivo, la unidad de decodificación de las diferencias de vectores de movimiento 100 puede obtener la tabla de correspondencias en la Figura 11A mediante la decodificación del índice.
Esta modificación permite mejorar la eficiencia de la codificación y lograr un procesamiento de alta velocidad.
Modalidad 2 Se describe ahora de manera general un método de codificación aritmética en la presente modalidad. El método de codificación aritmética en la presente modalidad tiene la característica de dividir una diferencia de vectores de movimiento en una porción de prefijo correspondiente a una porción en la cual se lleva a cabo la codificación aritmética binaria adaptable al contexto y una porción de sufijo correspondiente a una porción en la cual se lleva a cabo el procesamiento de codificación de derivación, en lugar de dividir una diferencia de vectores de movimiento en un componente X y un componente Y. Lo anterior logra una paralelización de procesamiento y una codificación de alta velocidad.
Lo anterior es una descripción general del método de codificación aritmética en la presente modalidad. Puede usarse el mismo método que el método convencional de codificación aritmética, salvo que se describa de manera particular.
Seguidamente se presenta una descripción del flujo de procesamiento realizado por la unidad de codificación de las diferencias de vectores de movimiento el cual realiza el método de codificación de las diferencias de vectores de movimiento en la presente modalidad.
La Figura 12 es un diagrama de flujo que muestra el flujo de procesamiento realizado por una unidad de codificación de las diferencias de vectores de movimiento de conformidad con la Modalidad 2.
En primer lugar, la unidad de codificación de las diferencias de vectores de movimiento obtiene información en un componente X y un componente Y de una diferencia de vectores de movimiento a codificar y determina si el componente X de la diferencia de vectores de movimiento es 0 (5601) . Si el componente X de la diferencia de vectores de movimiento no es 0 (NO en S601) , el procesamiento de codificación se lleva a cabo en una porción de prefijo del componente X de la diferencia de vectores de movimiento (5602) . Cabe destacar que en el procesamiento de codificación en la porción de prefijo en este caso, se codifica una cadena binaria que aparece en la Figura 6 usando el método de codificación aritmética binaria adaptable al contexto descrito más adelante. La codificación aritmética binaria adaptable al contexto forma un par con el método de decodificación aritmética en la Figura 3 y es una clase de codificación aritmética en la cual los contextos cambian de uno al otro con base en condiciones, se obtiene la probabilidad de aparición de símbolos y el valor de probabilidad de la misma se actualiza usando el símbolo codificado (ver literatura NPL 1) . Cabe destacar que, en lo sucesivo, se aplicará el método de codificación aritmética binaria adaptable al contexto para la codificación de una porción de prefijo, de no establecerse claramente por escrito .
Seguidamente, si el componente X de la diferencia de vectores de movimiento es 0 (SI en S601) , se codifica una bandera que indica que el componente X de la diferencia de vectores de movimiento es 0 (S603) . Seguidamente, se determina si el componente Y de la diferencia de vectores de movimiento es 0 (S604) . Si el componente Y de la diferencia de vectores de movimiento no es 0 (NO en S604) , el procesamiento de codificación se lleva a cabo en la porción de prefijo del componente Y de la diferencia de vectores de movimiento (de la misma manera que para el componente X, S605) . Por otro lado, si el componente Y de la diferencia de vectores de movimiento es 0, se codifica una bandera el cual indica que el componente Y de la diferencia de vectores de movimiento es 0 (S606) .
Seguidamente, se determina si el componente X de la diferencia de vectores de movimiento es superior o igual al valor TH o, en otras palabras, está incluido un sufijo (S607) . Por ejemplo, si se usa la tabla de cadenas binarias en la Figura 6, se realiza la determinación suponiendo que existe TH = 9. Cabe destacar que en la presente modalidad, puede determinarse un límite entre una porción de prefijo (codificación aritmética binaria adaptable al contexto) y una porción de sufijo (procesamiento de codificación de derivación) , independientemente de esta tabla de cadenas binarias .
Si el componente X incluye una porción de sufijo en este caso (SI en S607) , se codifica la porción de sufijo del componente X de la diferencia de vectores de movimiento (S608) . Cabe destacar que el procesamiento de derivación de codificación aritmética se lleva a cabo para la codificación de una porción de sufijo. Específicamente, es un método que se usa para reducir los cálculos fijando la probabilidad en 50% y formando un par con el método de decodificación de derivación que aparece en la Figura 4 (ver literatura NPL l) . En lo sucesivo, de no establecerse claramente por escrito, se usa la codificación de derivación para la codificación de una porción de sufijo. Seguidamente, se codifica el signo del componente X de la diferencia de vectores de movimiento. Cabe destacar que la codificación de derivación se realiza también con respecto a este procesamiento (S610) . Cabe destacar también que el signo del componente X es codificado también en el caso donde una porción de sufijo no está incluida (NO en S607) y el componente X no es 0 (NO en S609) . Después de finalizar el procesamiento de codificación de sufijo en el componente X (S610 y SI en S609) , se lleva a cabo el procesamiento de codificación de sufijo en el componente Y.
Seguidamente, se determina si el componente Y de la diferencia de vectores de movimiento es superior al o igual al valor TH o, en otras palabras, está incluido un sufijo (5611) . Puesto que se determina de la misma manera que en el caso del componente X, se omite la descripción detallada.
Si el componente Y incluye una porción de sufijo en este caso (SI en S611) , se codifica la porción de sufijo del componente Y de la diferencia de vectores de movimiento (5612) . Cabe destacar que el procesamiento de derivación de la codificación aritmética se lleva a cabo para la codificación de una porción de sufijo. Seguidamente, se codifica el signo del componente Y de la diferencia de vectores de movimiento. Cabe destacar que la codificación de derivación se realiza también con respecto a este procesamiento (S614) . Cabe destacar que el signo del componente Y es codificado también si la porción de sufijo no está incluida (NO en S611) y el componente Y no es 0 (NO en S613) . Con lo anterior se completa el procesamiento de codificación de sufijo en el componente Y termina el procesamiento de codificación en el componente X y el componente Y de la diferencia de vectores de movimiento.
Cabe destacar que incluso usando el método para la codificación de una diferencia de vectores de movimiento, el procesamiento puede paralelizarse como en la Figura 9B descrita en la Modalidad 1 y, por lo tanto, es posible obtener un aparato de codificación de alta velocidad. Cabe destacar que como un método de codificación para la modificación de la Modalidad 1, S601 y S6Q4 en el flujo de procesamiento en la Figura 12 se realizan primero. Seguidamente, en lugar de S603 y S606, se codifica una cadena binaria lo cual indica si cada uno de los componentes, X e Y, en una combinación es 0, con base en la tabla de correspondencias de la Figura 11A. Cabe destacar que la codificación de prefijo, a saber, el método de codificación aritmética binaria adaptable al contexto, se realiza también para la codificación en este caso. Con lo anterior se logra un aparato de codificación de alta velocidad en tanto que se mejora la eficiencia de la codificación.
Cabe destacar que la Figura 13 es un diagrama esquemático que describe la sintaxis que muestra un ejemplo de una estructura de datos de esta configuración. Cabe destacar que esta tabla de sintaxis es una cita extraída de la literatura no perteneciente a patentes NPL 2 y es un ejemplo de una estructura de datos en el cual se generan las porciones denotadas por 701, 702 y 703 usando el método para la codificación (decodificación) de una diferencia de vectores de movimiento en la Modalidad 2 (y la Modalidad 1) .
Según se muestra en 701 a 703, mvd_l? el cual indica una diferencia de vectores de movimiento es representado como un parámetro que indica tanto un componente X como un componente Y. Cabe destacar que "?" en mvd_l? se corresponde con un índice de referencia y es específicamente c, 0 ó 1 (ver literatura NPL 2 para más detalles) .
Una diferencia de vectores de movimiento es representado convencionalmente como mvd_l? [xO] [yO] [0] y mvd_l? [xO] [yO] [1] . En este caso, el último elemento [0] indica un componente X y el último elemento [1] indica un componente Y. Un componente X y un componente Y de una diferencia de vectores de movimiento de conformidad con la Modalidad 2 (y Modalidad 1) son combinados y descritos en un flujo. Por lo tanto, una diferencia de vectores de movimiento de conformidad con la Modalidad 2 (y Modalidad 1) recibe la notación mvd_l? [xO] [yO] .
La codificación de alta velocidad y la decodificación de alta velocidad pueden lograrse mediante la generación de datos que tengan tal estructura.
Cabe destacar que la unidad de codificación de las diferencias de vectores de movimiento de conformidad con la Modalidad 2 está incluida en el aparato de codificación de imágenes el cual realiza la codificación de compresión en datos de imágenes. La Figura 14 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de codificación de imágenes 200 de conformidad con la Modalidad 2.
El aparato de codificación de imágenes 200 realiza la codificación de compresión en datos de imágenes. Por ejemplo, se introducen los datos de imágenes en el aparato de codificación de imágenes 200 como una señal de entrada correspondiente a cada bloque. El aparato de codificación de imágenes 200 realiza la transformación, cuatización y codificación de longitud variable en la señal de entrada que ha sido introducida para generar una señal codificada.
Según se muestra en la Figura 14 , el aparato de codificación de imágenes 200 incluye un sustractor 205 y una unidad de transformación y cuatización 210, una unidad de codificación de entropía 220, una unidad de cuatización inversa y transformación inversa 230, un sumador 235, un filtro desbloqueador 240, una memoria 250, una unidad de intra-predicción 260, una unidad de detección de movimientos 270, una unidad de compensación de movimiento 280 y un interruptor de intra/inter cambio 290.
El sustractor 205 calcula una diferencia entre una señal de entrada y una señal prevista o, en otras palabras, un error de predicción.
La unidad de transformación y cuatización 210 transforma un error de predicción en un dominio espacial para generar un coeficiente de transformación en un dominio de frecuencia. Por ejemplo, la unidad de transformación y cuatización 210 realiza transformación discreta de coseno (DCT, por sus siglas en inglés) en el error de predicción para generar un coeficiente de transformación.
Adicionalmente, la unidad de transformación y cuatización 210 cuatiza el coeficiente de transformación para generar un coeficiente de cuatización.
La unidad de codificación de entropía 220 realiza una codificación de longitud variable en el coeficiente de cuatización, para generar una señal codificada. Adicionalmente, la unidad de codificación de entropía 220 codifica datos de movimiento (por ejemplo, vector de movimiento) detectados por la unidad de detección de movimiento 270 y produce los datos incluidos en la señal codificada.
La unidad de cuatización inversa y transformación inversa 230 realiza cuatización inversa en el coeficiente de cuatización, para reconstruir un coeficiente de transformación. Adicionalmente, la unidad de cuatización inversa y transformación inversa 230 realiza transformación inversa en el coeficiente de transformación reconstruido, para reconstruir el error de predicción. Cabe destacar que el error de predicción reconstruido tiene pérdida de información debido a la cuatización y, por lo tanto, no coincide con el error de predicción generado por el sustractor 205. Específicamente, el error de predicción reconstruido incluye un error de cuatización.
El sumador 235 agrega el error de predicción reconstruido a la señal prevista, para generar una imagen decodificada local.
El filtro desbloqueador 240 realiza el procesamiento del filtro desbloqueador en la imagen decodificada local generada .
La memoria 250 es una memoria de almacenamiento de imágenes de referencia que se usa para la compensación de movimiento. Específicamente, la memoria 250 almacena la imagen decodificada localmente en la cual ha sido realizado el procesamiento del filtro desbloqueador.
La unidad de intra-predicción 260 realiza una predicción interna para generar una señal prevista (señal de intra-predicción) . Específicamente, la unidad de intra-predicción 260 realiza una predicción interna con referencia a una imagen que rodea un bloque objetivo de codificación (señal de entrada) en la imagen decodificada localmente generada por el sumador 235, para generar una señal de intra-predicción.
La unidad de detección de movimiento 270 detecta datos de movimiento (por ejemplo, vector de movimiento) entre una señal de entrada y una imagen de referencia almacenada en la memoria 250.
La unidad de compensación de movimiento 280 realiza una compensación de movimiento con base en los datos de movimiento detectados para generar una señal prevista (señal de inter-predicción) .
El interruptor de intra/inter cambio 290 selecciona una de las dos señales, una señal de intra-predicción y una señal de inter-predicción y produce la señal seleccionada como una señal prevista al sustractor 205 y el sumador 235.
Usando la configuración anterior, el aparato de codificación de imágenes 200 de conformidad con la Modalidad 2 realiza la codificación de compresión en datos de imágenes.
Modalidad 3 La presente modalidad describe configuraciones y procedimientos característicos incluidos en la Modalidad 1 ó 2 para confirmación. Las configuraciones y los procedimientos de conformidad con la presente modalidad se corresponden con las configuraciones y procedimientos descritos en la Modalidad 1 ó 2. Específicamente, el concepto descrito en las modalidades 1 y 2 incluye las configuraciones y los procedimientos de conformidad con la presente modalidad.
La Figura 15A es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de codificación de imágenes de conformidad con la presente modalidad. Un aparato de codificación de imágenes 800 que aparece en la Figura 15A codifica una imagen que usa un vector de movimiento. El aparato de codificación de imágenes 800 incluye una unidad de codificación 801.
La Figura 15B es un diagrama de flujo que muestra el funcionamiento del procesamiento del aparato de codificación de imágenes 800 aparece en la Figura 15A. La unidad de codificación 801 codifica una diferencia de vectores de movimiento (S801) . Una diferencia de vectores de movimiento muestra la diferencia entre un vector de movimiento previsto y un vector de movimiento. Un vector de movimiento previsto es un valor previsto de un vector de movimiento. Cuando se hace la codificación de una diferencia de vectores de movimiento, la unidad de codificación 801 codifica una primera porción, una segunda porción, una tercera porción y una cuarta porción.
La primera porción forma parte de un primer componente el cual es o bien un componente horizontal o bien un componente vertical de una diferencia de vectores de movimiento. La segunda porción forma parte de un segundo componente el cual es diferente del primer componente y es el otro de los componentes, o bien el horizontal o bien el vertical, de la diferencia de vectores de movimiento. La tercera porción es una parte del primer componente y es diferente de la primera porción. La cuarta porción es una parte del segundo componente y es diferente de la segunda porción. Normalmente, una parte de cada componente forma parte de datos binarios correspondientes al componente .
Seguidamente, la unidad de codificación 801 genera una cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
Por lo tanto, una parte del componente horizontal de la diferencia de vectores de movimiento y una parte del componente vertical de la diferencia de vectores de movimiento se combinan en la cadena de códigos. De esta forma, la diferencia de vectores de movimiento se codifica de manera eficiente combinando una parte del componente horizontal y una parte del componente vertical.
Por ejemplo, la primera porción puede incluir una bandera que indica si el primer componente es 0. La segunda porción puede incluir una bandera que indica si el segundo componente es 0. La tercera porción puede incluir el signo del primer componente. La cuarta porción puede incluir el signo del segundo componente.
Adicionalmente, por ejemplo, si el valor absoluto del primer componente es superior a un valor umbral, la tercera porción puede incluir la diferencia entre el valor umbral y el valor absoluto del primer componente. Si el valor absoluto del segundo componente es superior al valor umbral, la cuarta porción puede incluir la diferencia entre el valor umbral y el valor absoluto del segundo componente.
Adicionalmente, por ejemplo, la unidad de codificación 801 puede codificar la primera porción y la segunda porción realizando una codificación aritmética binaria adaptable al contexto. Seguidamente, la unidad de codificación 801 puede codificar la tercera porción y la cuarta porción realizando una codificación de derivación. La codificación aritmética binaria adaptable al contexto es una codificación aritmética en la cual se usa una probabilidad de variables actualizada con base en datos codificados. La codificación de derivación es una codificación aritmética en la cual se usa una probabilidad fija determinada previamente. Adicionalmente, la unidad de codificación 801 puede codificar la tercera porción y la cuarta porción en paralelo.
Adicionalmente, por ejemplo, la unidad de codificación 801 puede codificar la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
Por ejemplo, la unidad de codificación 801 puede cambiar el procesamiento de codificación al primer procesamiento de codificación conforme a un primer estándar o al segundo procesamiento de codificación conforme a un segundo estándar. Seguidamente, la unidad de codificación 801 puede generar un flujo de datos el cual incluye información de identificación que indica el primer estándar o el segundo estándar al cual se ajusta uno correspondiente entre el primer procesamiento de codificación y el segundo procesamiento de codificación al cual se ha cambiado el procesamiento de codificación.
Si el procesamiento de codificación cambia al primer procesamiento de codificación, la unidad de codificación 801 puede generar una cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción. Adicionalmente, la unidad de codificación 801 puede generar un flujo de datos el cual incluye información de identificación que indica el primer estándar y la cadena de códigos, en este caso.
La Figura 16A es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de decodificación de imágenes de conformidad con la presente modalidad. Un aparato de decodificación de imágenes 900 que aparece en la Figura 16A decodifica una imagen que usa un vector de movimiento. Adicionalmente, el aparato de decodificación de imágenes 900 incluye una unidad de decodificación 901.
La Figura 16B es un diagrama de flujo que muestra la operación de procesamiento del aparato de decodificación de imágenes 900 que aparece en la Figura 16A. La unidad de decodificación 901 decodifica una diferencia de vectores de movimiento (S901) . Un vector de movimiento previsto es un valor previsto de un vector de movimiento. Una diferencia de vectores de movimiento muestra la diferencia entre el vector previsto de movimiento y el vector de movimiento.
Cuando se decodifica una diferencia de vectores de movimiento, la unidad de decodificación 901 obtiene una cadena de códigos. Seguidamente, la unidad de decodificación 901 decodifica una primera porción incluida en la cadena de códigos, decodifica una segunda porción incluida en la cadena de códigos, decodifica una tercera porción incluida en la cadena de códigos y decodifica una cuarta porción incluida en la cadena de códigos .
La primera porción forma parte de un primer componente el cual es o bien un componente horizontal o bien un componente vertical de una diferencia de vectores de movimiento. La segunda porción forma parte de un segundo componente el cual es diferente del primer componente y es el otro de los componentes, componente horizontal y componente vertical. La tercera porción es una parte del primer componente y es diferente de la primera porción. La cuarta porción es una parte del segundo componente y es diferente de la segunda porción. Normalmente, una parte de cada componente forma parte de los datos binarios correspondientes al componente .
Una cadena de códigos incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
Por lo tanto, la unidad de decodificación 901 obtiene una cadena de códigos en la cual se combina una parte del componente horizontal de la diferencia de vectores de movimiento y una parte del componente vertical de la diferencia de vectores de movimiento. Seguidamente, la diferencia de vectores de movimiento es decodificado de manera eficiente usando una cadena de códigos en la cual se combina una parte del componente horizontal y una parte del componente vertical.
Por ejemplo, la primera porción puede incluir una bandera que indica si el primer componente es 0. La segunda porción puede incluir una bandera que indica si el segundo componente es 0. La tercera porción puede incluir el signo del primer componente. La cuarta porción puede incluir el signo del segundo componente.
Por ejemplo, si el valor absoluto del primer componente es superior al valor umbral, la tercera porción puede incluir la diferencia entre el valor umbral y el valor absoluto del primer componente. Si el valor absoluto del segundo componente es superior al valor umbral, la cuarta porción puede incluir la diferencia entre el valor umbral y el valor absoluto del segundo componente.
Por ejemplo, la unidad de decodificación 901 puede decodificar la primera porción y la segunda porción realizando decodificación aritmética binaria adaptable al contexto. Adicionalmente, la unidad de decodificación 901 puede decodificar la tercera porción y la cuarta porción realizando una. La decodificación aritmética binaria adaptable al contexto es una decodificación aritmética en la cual se usa una probabilidad variable actualizada con base en datos decodificados . La decodificación de derivación es una decodificación aritmética en la cual se usa una probabilidad fija determinada previamente. Adicionalmente, la unidad de decodificación 901 puede decodificar la tercera porción y la cuarta porción en paralelo.
Por ejemplo, la unidad de decodificación 901 puede decodificar la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
Adicionalmente, por ejemplo, la unidad de decodificación 901 puede decodificar un flujo de datos el cual incluye información de identificación que indica un primer estándar o un segundo estándar. Seguidamente, con base en la información de identificación, la unidad de decodificación 901 puede cambiar el procesamiento de decodificación al primer procesamiento de decodificación conforme al primer estándar o al segundo procesamiento de decodificación conforme al segundo estándar.
Si el procesamiento de decodificación cambia al primer procesamiento de decodificación, la unidad de decodificación 901 puede decodificar, del flujo de bits, la cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
Adicionalmente, por ejemplo, el aparato de codificación de imágenes 800 y el aparato de decodificación de imágenes 900 pueden constituir un aparato de codificación y decodificación de imágenes.
Adicionalmente, por ejemplo, la estructura de datos correspondiente a una cadena de códigos de una diferencia de vectores de movimiento puede ser la estructura de datos aparece en la Figura 17.
La Figura 17 muestra una tabla de sintaxis que muestra un ejemplo de una estructura de datos correspondiente a una cadena de códigos de una diferencia de vectores de movimiento. En la Figura 17, [0] indica un componente horizontal, en tanto que [1] indica un componente vertical. "abs_mvd_greaterO_flag" es una bandera que indica si el valor absoluto de un componente horizontal o un componente vertical de una diferencia de vectores de movimiento es superior a 0. "abs_mvd_greaterl_flag" es una bandera que indica si el valor absoluto del componente horizontal o el componente vertical de la diferencia de vectores de movimiento es superior al 1. "abs_mvd_minus2" es un valor obtenido sustrayendo 2 del valor absoluto del componente horizontal o el componente vertical de la diferencia de vectores de movimiento. "mvd_sign_flag" es un signo del componente horizontal o el componente vertical de la diferencia de vectores de movimiento. "abs_mvd_greaterO_flag" y "abs_mvd_greaterl_flag" se corresponden con una porción de prefijo. "abs_mvd_minus2" se corresponde con una porción de sufijo. Normalmente se usa la codificación aritmética binaria adaptable al contexto (decodificación) para la codificación (decodificación) "abs_mvd_greaterO_flag" y "abs_mvd_greaterl_flag" .
Seguidamente se usa la codificación de derivación (decodificación) para la codificación (decodificación) "abs_mvd_minus2" y "mvd_sign_flag" .
Cabe destacar que, en las modalidades anteriores, cada uno de los elementos constituyentes puede tener la forma de hardware dedicado o puede ser obtenido aplicando un programa de software adecuado para el elemento constituyente. Cada elemento constituyente puede ser obtenido por una unidad de aplicación de programas como por ejemplo una CPU o un procesador que lee y aplica un programa de software registrado en un medio de grabación como por ejemplo un disco duro o una memoria de semiconductores. En este caso, el software que funciona en el aparato de codificación de imágenes en las modalidades anteriores y otros semejantes es un programa según se describe a continuación.
Específicamente, este programa hace que un computador aplique un método de codificación de imágenes para la codificación de una imagen que usa un vector de movimiento, el método incluye la codificación de una diferencia de vectores de movimiento que indica una diferencia entre el vector de movimiento y un vector de movimiento previsto el cual es un valor previsto del vector de movimiento, en el cual la codificación incluye: la codificación de una primera porción que forma parte de un primer componente el cual es o bien un componente horizontal o bien un componente vertical de la diferencia de vectores de movimiento; codificación de una segunda porción que forma parte de un segundo componente el cual es diferente del primer componente y es el otro de los componentes, componente horizontal y componente vertical; codificación de una tercera porción que forma parte del primer componente y es diferente de la primera porción; codificación de una cuarta porción que forma parte del segundo componente y es diferente de la segunda porción; y generación de una cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en un orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
Lo anterior es una descripción de un método de codificación de imágenes de conformidad con uno o más aspectos del concepto de la invención, el alcance del mismo se define en las reivindicaciones anexas y sus equivalentes, con base en algunas modalidades ejemplo. Sin embargo, el concepto de la invención no se limita a las modalidades ejemplo. Las personas capacitadas en la tecnología podrán apreciar fácilmente que es posible realizar diversas modificaciones en estas modalidades ejemplo y combinar de manera arbitraria los elementos constituyentes en las modalidades ejemplo sin desviarse materialmente de los principios y el espíritu del concepto de la invención.
Modalidad 4 El procesamiento descrito en cada una de las modalidades puede implementarse de manera sencilla en un sistema de computación independiente, mediante el registro, en un medio de grabación, de 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 (decodificación aritmética de imágenes) descritos en cada una de las modalidades. Los medios de grabación pueden ser cualquier medio de grabación siempre que el programa pueda ser grabado, como por ejemplo, en un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta de circuito integrado (IC, por sus siglas en inglés) y una memoria de semiconductores .
En lo sucesivo, se describen las aplicaciones correspondientes al 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 (decodificación aritmética de imágenes) descrito en cada una de las modalidades y sistemas que los usan. El sistema tiene la 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. Es posible modificar otras configuraciones del sistema según corresponda dependiendo de los casos .
La Figura 18 ilustra una configuración global de un sistema que proporciona contenido exlOO para implementar servicios de distribución de contenido. El área para proporcionar servicios de comunicaciones se divide en celdas de tamaño deseado y estaciones base exl06, exl07, exl08, exl09 y exllO que son estaciones inalámbricas fijas colocadas en cada una de las celdas.
El sistema proveedor de contenido exlOO está conectado a dispositivos, como por ejemplo, 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 estaciones base exl06 a exllO, respectivamente .
Sin embargo, la configuración del sistema proveedor de contenido exlOO no está limitada a la configuración que aparece en la Figura 18 y se acepta una combinación en la cual estén conectados cualquiera de los elementos. Adicionalmente, cada dispositivo puede ser conectado directamente a la red telefónica exl04, en lugar de hacerlo por medio de las estaciones base exl06 a exllO las cuales son las estaciones inalámbricas fijas. Adicionalmente, los dispositivos pueden interconectarse por medio de una comunicación inalámbrica de distancia corta y otros .
La cámara exll3, como por ejemplo una cámara de video digital, puede de capturar video. Una cámara exll6, como por ejemplo una cámara de video digital, puede de capturar tanto imágenes como video. Adicionalmente, el teléfono celular exll4 puede ser el que cumple cualquiera de los estándares como por ejemplo el Sistema Global para Comunicaciones Móviles (GSM, por sus siglas en inglés) (marca comercial registrada) , Acceso Múltiple de División de Código (CDMA, por sus siglas en inglés) , Acceso Múltiple de División de Código 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 de Paquetes a Alta Velocidad (HSPA, por sus siglas en inglés) . De manera alternativa, el teléfono celular exll4 puede ser un Sistema de Teléfono Manual Personal (PHS, por sus siglas en inglés) .
En el sistema proveedor de contenido exlOO, un servidor de video en tiempo real exl03 se conecta a la cámara exll3 y otros por medio de la red telefónica exl04 y la estación base exl09, lo cual permite 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 de música en vivo) capturado por el usuario usando la cámara exll3 es codificado según se describe anteriormente en cada una de las modalidades (es decir, la cámara funciona como el aparato de codificación de imágenes de conformidad con un aspecto de la presente invención) y el contenido codificado es trasmitido al servidor de transmisión en vivo exl03. Por otro lado, el servidor de transmisión en vivo exl03 realiza una distribución de flujos de los datos de contenido transmitido a los clientes dependiendo de su solicitud. Los clientes incluyen la computadora exlll, la PDA exll2, la cámara exll3, el teléfono celular exll4 y la máquina de juegos exll5 que pueden realizar la decodificación de los datos codificados mencionados anteriormente. 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 conformidad con un aspecto de la presente invención) .
Los datos capturados pueden codificarse mediante la cámara exll3 o el servidor de transmisión en vivo exl03 que transmite los datos, o los procesos de codificación pueden ser comparados entre la cámara exll3 y el servidor de transmisión en vivo exl03. De manera semejante, los datos distribuidos puede ser decodificados por los clientes o el servidor de transmisión en vivo exl03 o los procesos de decodificación pueden ser compartidos entre los clientes y el servidor de transmisión en vivo exl03. Adicionalmente , los datos de las imágenes fijas y video capturado no solamente por la cámara exll3 sino también por la cámara exll6 pueden ser transmitidos al servidor de transmisión en vivo exl03 a través de la computadora exlll. Los procesos de codificación pueden ser realizados por la cámara exll6, la computadora exlll o el servidor de transmisión en vivo exl03 o compartidos entre los mismos.
Adicionalmente, los procesos de codificación y decodificación pueden ser realizados por un LSI ex500 generalmente incluido en cada computadora exlll y en los dispositivos. El circuito LSI ex500 puede configurarse con base en un solo chip o en una pluralidad de chips . El software para la codificación y decodificación de video puede integrarse en algún tipo de medio de grabación (como por ejemplo un CD-ROM, un disco flexible y un disco duro) que se puede leer en la computadora exlll y otros medios y los procesos de codificación y decodificación pueden realizarse usando el software. Adicionalmente, cuando el teléfono celular exll4 está dotado de una cámara, pueden transmitirse los datos de imágenes obtenidos por la cámara. Los datos de video son datos codificados por el circuito LSI ex500 incluido en el teléfono celular exll4.
Adicionalmente, el servidor de transmisión en vivo exl03 puede estar compuesto por servidores y computadores y puede descentralizar datos y procesar datos descentralizados, grabar o distribuir datos.
Según se describe anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema proveedor de contenido exlOO. En otras palabras, los clientes pueden recibir y decodificar la información transmitida por el usuario y reproducir los datos decodificados en tiempo real en el sistema proveedor de contenido exlOO, de modo que el usuario que no posee derechos particulares y equipos puede implementar una radiodifusión personal.
Aparte del ejemplo del sistema proveedor de contenido exlOO, como mínimo uno de los aparatos, entre el 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, puede implementarse en un sistema de difusión digital ex200 ilustrado en la Figura 19. Más específicamente, una estación de radiodifusión ex201 comunica o transmite, por medio de ondas de radio a un satélite de radiodifusión ex202, datos multiplexados obtenidos mediante la multiplexión de datos de audio y otros medios en datos de video. Los datos de video son datos codificados por el método de codificación de imágenes en movimiento descritos en cada una de las modalidades (es decir, datos codificados por el aparato de codificación de imágenes de conformidad con un aspecto de la presente invención) . Después de la recepción de los datos multiplexados, el satélite de radiodifusión ex202 transmite ondas de radio para su difusión. Seguidamente, una antena de uso doméstico ex204 con una función de recepción de radiodifusión por satélite recibe las ondas de radio. Seguidamente, un dispositivo como por ejemplo una televisión (un receptor) ex300 y una caja auxiliar de conexión (STB, por sus siglas en inglés) ex217 decodifica los datos multiplexados recibidos y reproduce los datos decodificados (es decir, funciona como el aparato de decodificación de imágenes de conformidad con un aspecto de la presente invención) .
Adicionalmente, una lectora/grabadora ex218 (i) lee y decodifica los datos multiplexados grabados en un medio de grabación ex215, como por ejemplo un DVD y un BD o (i) codifica señales de video en el medio de grabación ex215 y en algunos casos, graba datos obtenidos mediante la multiplexión de una señal de audio en los datos codificados. La lectora/grabadora ex218 puede incluir el aparato de decodificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento según se muestra en cada una de las modalidades. En este caso, las señales reproducidas de video son visualizadas en el monitor ex219 y pueden reproducirse a través de otro dispositivo o sistema que usa el medio de grabación ex215 en el cual han sido grabados los datos multiplexados . También se puede implementar el aparato de decodificación de imágenes en movimiento en la caja auxiliar de conexión ex217 conectada al cable ex203 para una televisión por cable o en la antena ex204 para radiodifusión por satélite y/o terrestre, de modo que se visualizan 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 implementarse no en la caja auxiliar de conexión sino en la televisión ex300.
La Figura 20 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 descrito en cada una de las modalidades. La televisión ex300 incluye: un sintonizador ex301 que obtiene o proporciona datos multiplexados obtenidos mediante la multiplexión de datos de audio en datos de video, a través de la antena ex204 o el cable ex203, etc. que recibe una emisión; una unidad de modulación/demodulación ex302 que desmodula los datos multiplexados recibidos o modula datos en datos multiplexados que se suministrarán al exterior; y una unidad de multiplexión/desmultiplexión ex303 que desmultiplexa los datos multiplexados modulados en datos de video y de datos de audio o multiplexa datos de video y de datos de audio codificados por una unidad de procesamiento de señales ex306 en datos .
La televisión ex300 incluye adicionalmente : 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ñal de video ex305 que decodifica datos de audio y datos de video y codifica datos de audio y datos de video, respectivamente (lo cual funciona como un aparato de codificación de imágenes y un aparato de decodificación de imágenes de conformidad con los aspectos de la presente invención) y una unidad de salida ex309 incluyendo un altavoz ex307 que proporciona la señal de audio decodificada y una unidad de visualización ex308 que exhibe la señal de video decodificada, como por ejemplo, una visualización. Adicionalmente, la televisión ex300 incluye una unidad de interfaz ex317 incluyendo una unidad de entrada de operaciones ex312 que recibe una entrada de una operación de usuario. Adicionalraente , la televisión ex300 incluye una unidad de control ex310 que controla de manera global cada elemento constituyente de la televisión ex300 y una unidad de circuito de suministro de potencia ex311 que suministra potencia a cada uno de los elementos. Aparte de la unidad de ingreso de operaciones ex312, la unidad de interfaz ex317 puede incluir: un puente ex313 que se conecta a un dispositivo externo, como por ejemplo, la lectora/grabadora ex218; una unidad de ranuras ex314 que permite la conexión del medio de grabación ex216, como por ejemplo una tarjeta SD; un driver ex315 que se conecta a un medio de grabación externo, como por ejemplo un disco duro; y un módem ex316 que se conecta a una red telefónica. En este caso, el medio de grabación ex216 puede grabar eléctricamente la información que usa un elemento de memoria de semiconductores no volátil/volátil para su almacenamiento. Los elementos constituyentes de la televisión ex300 se conectan entre sí a través de un bus sincrónico.
Primero se describe la configuración en la cual la televisión ex300 decodifica datos multiplexados obtenidos del exterior a través de la antena ex204 y otros medios y reproduce los datos decodificados . En la televisión ex300, después de una operación de usuario a través de un controlador remoto ex220 y otros medios, la unidad de multiplexión/desmultiplexión ex303 desmultipl'exa los datos multiplexados desmodulados por la unidad de modulación/demodulación ex302, controlada por la unidad de control ex310 incluyendo una CPU. Adicionalmente , 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 multiplexados de video con ayuda de la decodificación aritmética descrita en cada una de las modalidades, en la televisión ex300. La unidad de salida ex309 proporciona la señal de video decodificada y la señal de audio 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 las memorias intermedias ex318 y ex319 y otros medios de modo que las señales son reproducidas en sincronización mutua. Adicionalmente, la televisión ex300 puede leer datos multiplexados no a través de una emisión y otros medios sino de los medios de grabación ex215 y ex216, como por ejemplo, un disco magnético, un disco óptico y una tarjeta SD. Seguidamente, se describe una configuración en el cual la televisión ex300 codifica una señal de audio y una señal de video y transmite los datos hacia el exterior o graba 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 medios, 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, controlada por la unidad de control ex310 que usa el método de codificación descrito en cada una de las modalidades. La unidad de multiplexión/ desmultiplexión ex303 multiplexa la señal de video y la señal de audio codificadas y proporciona la señal al exterior obtenida. Cuando la unidad de multiplexión/desmultiplexión ex303 multiplexa la señal de video y la señal de audio, los señales pueden ser almacenadas temporalmente en las memorias intermedias ex320 y ex321 y otros medios de modo que las señales son reproducidas en sincronización mutua. En este caso, las memorias intermedias ex318, ex319, ex320 y ex321 pueden ser plurales según se ilustra o como mínimo una memoria intermedia puede ser compartida en la televisión ex300. Adicionalmente , los datos pueden ser almacenados en una memoria intermedia de modo que puede evitarse el desbordamiento y subdesbordamiento del sistema entre la unidad de modulación/demodulación ex302 y la unidad de multiplexión/desmultiplexión ex303, por ejemplo.
Adicionalmente, la televisión ex300 puede incluir una configuración para recibir una entrada AV de un micrófono o una cámara aparte de la configuración para la obtención de audio y datos de video de una emisión o un medio de grabación y puede codificar los datos obtenidos. Si bien la televisión ex300 puede codificar, multiplexar y proporcionar datos externos en la descripción, puede recibir únicamente la decodificación y proporcionar datos externos pero no realizar la codificación, multiplexión y suministro de datos externos.
Adicionalmente, cuando la lectora/grabadora ex218 lee o graba datos multiplexados de un medio de grabación o en el mismo, o bien la televisión ex300 o bien la lectora/grabadora ex218 puede decodificar o codificar los datos multiplexados y la televisión ex300 y la lectora/grabadora ex218 puede compartir la decodificación o codificación.
A modo de ejemplo, la Figura 21 ilustra una configuración de una unidad de reproducción/registro de información ex400 cuando se leen o graban datos de un disco óptico o en el mismo. La unidad de reproducción/registro de información ex400 incluye los elementos constituyentes ex401, ex402, ex403, ex404, ex405, ex406 y ex407 que se describen más adelante en este documento. El cabezal óptico ex401 irradia un punto láser en una superficie de grabación del medio de grabación ex215 que es un disco óptico para grabar información y detecta luz reflejada de la superficie de grabación del medio de grabación ex215 para leer la información. La unidad de grabación de modulación ex402 conduce eléctricamente un semiconductor láser incluido en el cabezal óptico ex401 y modula el láser luminoso de conformidad con los datos registrados. La unidad de demodulación de reproducción ex403 amplifica una señal de reproducción obtenida mediante detección electrónica de la luz reflejada de la superficie de grabación que usa un detector de fotos incluido en el cabezal óptico ex401 y desmodula la señal de reproducción mediante la separación de un componente de señal registrado en el medio de grabación ex215 para reproducir la información necesaria. La memoria intermedia ex 04 mantiene temporalmente la información a grabar en el medio de grabación ex215 y la información reproducida del medio de grabación ex215. El motor de disco ex405 gira el medio de grabación ex215. La unidad de servocontrol ex406 mueve el cabezal óptico ex401 hasta una pista de información determinada previamente mientras controla la unidad de rotación del motor de disco ex405 de modo que se sigue el punto láser. La unidad de control del sistema ex407 controla de manera global la unidad de reproducción/registro de información ex400. Los procesos de lectura y grabación pueden implementarse a través de la unidad de control del sistema ex407 que usa diversa información almacenada en la memoria intermedia ex404 y genera y agrega información nueva según sea necesario y a través de la unidad de grabación de modulación ex402, la unidad de demodulación de reproducción ex403 y la unidad de servocontrol ex406 que graba y reproduce la información a través del cabezal óptico ex401 mientras se hace funcionar de una manera coordinada. La unidad de control del sistema ex407 incluye, por ejemplo, un microprocesador y aplica el procesamiento haciendo que una computadora aplique un programa para leer y grabar.
Si bien el cabezal óptico ex401 irradia un punto láser en la descripción, puede realizar una grabación de alta densidad con ayuda de una luz de campo próximo.
La Figura 22 ilustra el medio de grabación ex215 que es el disco óptico. En la superficie de grabación del medio de grabación ex215 se forman surcos guía de manera espiral y se graba una pista de información ex230, con antelación, información de dirección que indica una posición absoluta en el disco de conformidad con el cambio en una forma de los surcos guía. La información de dirección incluye la información para determinar posiciones de bloques de grabación ex231 que son una unidad de grabación de datos. La reproducción de la pista de información ex230 y la lectura de la información de dirección en un aparato que graba y reproduce datos puede conducir a la determinación de las posiciones de los bloques de grabación. Adicionalmente , 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 ex23 . El área de grabación de datos ex233 es un área a usar en el registro 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, son respectivamente para uso específico excepto para el registro de los datos de usuario. La unidad de reproducción/registro de información 400 lee y graba audio codificado, datos codificados de video o datos multiplexados obtenidos mediante la multiplexión del audio y datos de video codificados, del área de grabación de datos ex233 del medio de grabación ex215 y sobre el mismo.
Si bien se describe un disco óptico que tiene una capa, como por ejemplo un DVD y un BD a modo de ejemplo en la descripción, el disco óptico no está limitado a los mismos y puede ser un disco óptico que tiene una estructura multicapa y que puede grabarse en una parte separada de la superficie. Adicionalmente, el disco óptico puede tener una estructura para la grabación/reproducción multidimensional , como por ejemplo, la grabación de la información que usa luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y para la grabación de la información que tiene capas diferentes desde ángulos diversos.
Adicionalmente, un vehículo ex210 que tiene una antena ex205 puede recibir datos del satélite ex202 y otros medios y reproducir video en un dispositivo de visualización como por ejemplo un sistema de navegación para vehículos ex211 fijado en el vehículo ex210, en el sistema de radiodifusión digital ex200. En este caso, una configuración del sistema de navegación para vehículos ex211 es una configuración, por ejemplo, que incluye una unidad de recepción de GPS de la configuración ilustrada en la Figura 20. Lo mismo se cumple con la configuración de la computadora exlll, el teléfono celular exll4 y otros medios .
La Figura 23A ilustra el teléfono celular exll4 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 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 que puede capturar imágenes en movimiento y fijas; y una unidad de visualización ex358 como por ejemplo una pantalla de cristal líquido para visualizar los datos como por ejemplo video decodificado capturado por una unidad de cámara ex365 o recibido por la antena ex350. El teléfono celular exll4 x incluye: una unidad de cuerpo principal que incluye una unidad de clave de operaciones ex366; una unidad de salida de audio ex357 como por ejemplo un altavoz para la salida de audio; una unidad de entrada de audio ex356 como por ejemplo un micrófono para la entrada de audio,· una unidad de memoria ex367 de almacenamiento de video o imágenes fijas capturadas, audio grabado, datos codificados o decodificados del video recibido, imágenes fijas, correos electrónicos u otros; y una unidad de ranuras 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.
Seguidamente, se describe un ejemplo de una configuración del teléfono celular exll4 en referencia a la Figura 23B. En el teléfono celular exll4, una unidad de control principal ex360 diseñada para controlar de modo global cada unidad de cuerpo principal incluyendo la unidad de visualización ex358 así como la unidad de clave de operaciones ex366 se conectan mutuamente, por medio de un bus sincrónico ex370, a una unidad de circuito de suministro de potencia ex361, una unidad de control de entrada de operaciones ex362, una unidad de procesamiento de señales de video ex355, una unidad de interfaz de cámara ex363, una unidad de control de pantalla de cristal líquido (LCD, por sus siglas en inglés) ex359, una unidad de modulación/ demodulación ex352, una unidad de multiplexión/desmultiplexión ex353, una unidad de procesamiento de señales de audio ex354, la unidad de ranuras ex364 y la unidad de memoria ex367.
Cuando un usuario activa el ENCENDIDO (ON) de un botón de finalización de llamada o un botón de encendido, la unidad de circuito de fuente de alimentación ex361 proporciona potencia a las unidades respectivas a partir de un conjunto de baterías con el fin de activar el teléfono celular exll4.
En el teléfono celular exll4, la unidad de procesamiento de señales de audio ex354 convierte la señal de audios recogida por la unidad de entrada de audio ex356 en modo de conversación de voz en señales de audio digitales controladas por la unidad de control principal ex360 incluyendo una CPU, ROM y RAM. Seguidamente, la unidad de modulación/demodulación ex352 realiza procesamiento de espectro expandido en las señales de audio digitales y la unidad de transmisión y recepción ex351 realiza conversión de formato digital a analógico y conversión de frecuencias en los datos, de modo que se transmitan los datos obtenidos por medio de la antena ex350. Además, 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 realiza conversión de frecuencias y conversión de formato digital a analógico de los datos. Seguidamente, la unidad de modulación/demodulación ex352, el procesamiento inverso de espectro expandido de los datos y la unidad de procesamiento de señales de audio ex354 los convierte en señales de audio analógico, de modo que se producen por medio de la unidad de salida de audio ex357.
Adicionalmente, cuando se transmite un correo electrónico en modo de comunicación de datos, se introducen los datos de texto del correo electrónico haciendo funcionar la unidad de clave de operaciones ex366 y otros medios del cuerpo principal son enviados hacia el exterior de la unidad de control principal ex360 por medio de la unidad de control de entrada de operaciones ex362. La unidad de control principal ex360 hace que la unidad de modulación/demodulación ex352 realice el procesamiento de espectro expandido en los datos de texto y la unidad de transmisión y recepción ex351 realiza la conversión de digital a analógico y la conversión de frecuencias en los datos obtenidos para transmitir los datos hasta la estación base exllO por medio de la antena ex350. Cuando se recibe un correo electrónico, se lleva a cabo el procesamiento que es aproximadamente inverso al procesamiento para transmitir un correo electrónico en los datos recibidos y los datos obtenidos son suministrados a la unidad de visualización ex358.
Cuando se transmite video, imágenes fijas o video y audio en modo de comunicación de datos , la unidad de procesamiento de señales de video ex355 comprime y codifica señales de video suministradas por la unidad de cámara ex365 usando el método de codificación de imágenes en movimiento que aparece en cada una de las modalidades (es decir, funciona como el aparato de codificación de imágenes de conformidad con el aspecto de la presente invención) y transmite los datos de video codificados a la unidad de multiplexión/ desmultiplexión ex353. En contraste, cuando la unidad de cámara ex365 captura video, imágenes fijas y otros medios, la unidad de procesamiento de señales de audio ex354 codifica señales de audio recogidas por la unidad de entrada de audio ex356 y transmite los datos de audio codificados hacia la unidad de multiplexión/ desmultiplexión ex353.
La unidad de multiplexión/desmultiplexión ex353 multiplexa los datos de video codificados suministrados por la unidad de procesamiento de señales de video ex355 y los datos de audio codificados suministrados por la unidad de procesamiento de señales de audio ex354, usando un método determinado previamente. Seguidamente, la unidad de modulación/demodulación (unidad de circuito de modulación/demodulación) ex352 realiza procesamiento de espectro expandido en los datos multiplexados y la unidad de transmisión y recepción ex351 realiza conversión de formato digital a analógico y conversión de frecuencias en los datos de modo que se transmitan los datos obtenidos por medio de la antena ex350.
Cuando se reciben datos de un archivo de video vinculado a una página Web y otros medios en modo de comunicación de datos o cuando se recibe un correo electrónico con material anexo de video y/o audio, con el fin de decodificar los datos multiplexados recibidos por medio de la antena ex350, la unidad de multiplexión/ desmultiplexión ex353 desmultiplexa los datos multiplexados en un flujo de datos de video y un flujo de datos de audio y suministra la unidad de procesamiento de señales de video ex355 con 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 sincrónico ex370. La unidad de procesamiento de señales de video ex355 decodifica la señal de video que usa una decodificación aritmética de imágenes en movimiento correspondiente al método de codificación de imágenes en movimiento que aparece en cada una de las modalidades (es decir, funciona como el aparato de decodificación de imágenes de conformidad con el aspecto de la presente invención) y seguidamente la unidad de visualización ex358 visualiza, por ejemplo, el video y las imágenes fijas incluidas en el archivo de video vinculado a la página web por medio de la unidad de control de LCD ex359. Adicionalmente , 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.
Adicionalmente, de manera semejante a la televisión ex300, un terminal como por ejemplo el teléfono celular exll4 tiene probablemente 3 tipos de configuraciones de implementación incluyendo no solamente (i) un terminal de transmisión y recepción incluyendo ambos un aparato de codificación y un aparato de decodificación, sino también (ii) un terminal de transmisión que incluye únicamente un aparato de codificación y (iii) un terminal de recepción que incluye únicamente un aparato de decodificación. Si bien el sistema de radiodifusión digital ex200 recibe y transmite los datos multiplexados obtenidos mediante la multiplexión de datos de audio en datos de video en la descripción, los datos multiplexados pueden ser datos obtenidos mediante la multiplexión no de datos de audio sino de datos de carácter relacionados con video en datos de video y pueden ser no datos multiplexados sino datos de video propiamente tales .
Como tal, 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. De esta forma, es posible obtener las ventajas descritas en cada una de las modalidades.
Adicionalmente, la presente invención no está limitada a las modalidades y se pueden efectuar diversas modificaciones y revisiones sin desviarse del alcance de la presente invención.
Modalidad 5 Se pueden generar datos de video por cambios, según corresponda, entre (i) el método de codificación de imágenes en movimiento o aparato de codificación de imágenes en movimiento que aparece 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 un estándar diferente, como por ejemplo, MPEG-2, MPEG-4 AVC y VC-1.
En este caso, cuando una pluralidad de datos de video que se ajusta a los diferentes estándares es generada y seguidamente decodificada, no es necesario seleccionar la decodificación aritmética ajustada a los diferentes estándares. Sin embargo, puesto que no se puede detectar a cuál estándar se ajusta cada pluralidad de los datos de video a decodificar, se plantea un problema de que no es posible seleccionar una decodificación aritmética apropiada.
Con el fin de resolver el problema, los datos multiplexados obtenidos mediante la multiplexión de datos de audio y otros medios en datos de video tienen una estructura incluyendo información de identificación que indica a cual estándar se ajustan 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 aparato de codificación de imágenes en movimiento aparece en la cada una de las modalidades se describe más adelante en este documento. Los datos multiplexados son un flujo digital en formato de flujo de transporte MPEG-2.
La Figura 24 ilustra una estructura de los datos multiplexados. Según se ilustra en la Figura 24, los datos multiplexados pueden obtenerse mediante la multiplexión como mínimo de una opción entre flujo de video, flujo de audio, flujo de gráficos de presentaciones (PG) y 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 primario y una parte de audio secundario a mezclar con la parte de audio primario y la corriente de gráficos de presentaciones representa los subtítulos de la película. En este caso, el video primario es video normal a ser visualizado en una pantalla y el video secundario es video a ser visualizado en una ventana más pequeña en el video primario. Adicionalmente, el flujo de gráficos interactivos representa una pantalla interactiva a ser generada para 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 mediante el aparato de codificación de imágenes en movimiento que aparece en cada una de las modalidades o en un método de codificación de imágenes en movimiento o mediante un aparato de codificación de imágenes en movimiento de conformidad con un estándar convencional, como por ejemplo MPEG-2, MPEG-4 AVC y VC-1. El flujo de audio es codificado de conformidad con un estándar, como por ejemplo Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD y PCM lineal.
Cada flujo incluido en los datos multiplexados es identificado por un PID. Por ejemplo, 0x1011 es asignado al flujo de video que se usará para el video de una película, 0x1100 a OxlllF son asignados a los flujos de audio, 0x1200 a 0xl21F son asignados a la corriente de gráficos de presentaciones, 0x1400 a 0xl41F son asignados al flujo de gráficos interactivos, OxlBOO a OxlBlF son asignados a los flujos de video que se usarán para video secundario de la película y OxlAOO a OxlAlF son asignados a los flujos de audio que se usarán para el video secundario a mezclar con el audio primario.
La Figura 25 ilustra esquemáticamente cómo son multiplexados los datos. Primero, un flujo de video ex235 compuesto de cuadros de video y un flujo de audio ex238 compuesto de cuadros de audio son transformados en un flujo de paquetes PES ex236 y un flujo de paquetes PES ex239 y adicionalmente en paquetes TS ex237 y paquetes TS ex240, respectivamente. De manera semejante, los datos de un flujo de gráficos de presentaciones ex241 y datos de un flujo de gráficos interactivo ex244 son transformados en un flujo de paquetes PES ex242 y un flujo de paquetes PES ex245 y adicionalmente en paquetes TS ex243 y paquetes TS ex246, respectivamente. Estos paquetes TS son multiplexados en un flujo para obtener datos multiplexados ex247.
La Figura 26 ilustra cómo se almacena un flujo de video en un flujo de paquetes PES con más detalles. La primera barra de la Figura 26 muestra un flujo de cuadros de video en un flujo de video. La segunda barra muestra el flujo de paquetes PES. Según lo indican las flechas denominadas yyl, yy2, yy3 y yy4 en la Figura 26, el flujo de video se divide en imágenes como imágenes I, imágenes B e imágenes P cada una de las cuales es una unidad de presentaciones de video y las imágenes son almacenadas en una carga útil de cada uno de los paquetes PES. Cada uno de los paquetes PES tiene un encabezamiento PES y el encabezamiento PES almacena una Marca de Hora de Presentación (PTS, por sus siglas en inglés) que indica un tiempo de visualización de la imagen y una Marca de Hora de Decodificación (DTS, por sus siglas en inglés) que indica un tiempo de decodificación de la imagen.
La Figura 27 ilustra un formato de paquetes TS que serán finalmente grabados en los datos multiplexados . Cada uno de los paquetes TS es un paquete de longitud fija de 188 bytes incluyendo un encabezamiento TS de 4 bytes que tiene información, como por ejemplo un PID para identificar un flujo y una carga útil TS de 184 bytes de almacenamiento de datos . Los paquetes PES son divididos y almacenados en las cargas útiles TS, respectivamente. Cuando se usa un BD ROM, cada uno de los paquetes TS recibe un encabezamiento extra TP de 4 bytes, llegando así a paquetes fuente de 192 bytes. Los paquetes fuente son grabados en los datos multiplexados. El TP_Extra_Header almacena la información como por ejemplo una Marca de Hora de Llegada (ATS, por sus siglas en inglés) . La ATS muestra un tiempo de inicio de transferencia en el cual cada uno de los paquetes TS será transferido a un filtro de PID . Los paquetes fuente son dispuestos en los datos multiplexados según se muestra en la parte inferior de la Figura 27. Los números que se incrementan desde el cabezal de los datos multiplexados son denominados números de paquete fuente (SPN, por sus siglas en inglés) .
Cada uno de los paquetes TS incluido en los datos multiplexados incluye no solamente flujos de audio, video, subtítulos y otros medios, sino también una Tabla de Asociación de Programas (PAT, por sus siglas en inglés) , una Tabla de Mapas de Programas (PMT, por sus siglas en inglés) y una Referencia de Reloj de Programas (PCR, por sus siglas en inglés) . La PAT muestra qué indica un PID en una PMT usada en los datos multiplexados y un PID de PAT propiamente tal es registrado como cero. La PMT almacena el PID de flujos de video, audio, subtítulos y otros medios incluidos en los datos multiplexados y atribuye la información de los flujos correspondiente al PID. La PMT tiene además diversos descriptores en relación con los datos multiplexados. Los descriptores tienen información, por ejemplo, del control de copias de la información que muestra si el copiado de los datos multiplexados está permitido o no. La PCR almacena tiempo STC de la información correspondiente a una ATS que muestra cuando el Paquete PCR es transferido a un decodificador, con el fin de lograr la sincronización entre un Reloj de Tiempo de Llegada (ATC, por sus siglas en inglés) que es un eje de tiempo de la ATS y un Reloj de Tiempo de Sistema (STC, por sus siglas en inglés) que es un eje de tiempo de PTS y DTS.
La Figura 28 ilustra la estructura de datos de la PMT en detalle. Se dispone un encabezamiento PMT es en la parte superior de la PMT. El encabezamiento PMT describe la longitud de datos incluida en la PMT y otros medios . Se dispone una pluralidad de descriptores relacionados con los datos multiplexados después del encabezamiento de PMT. La información como por ejemplo la información de control de copias es descrita en los descriptores. Después de los descriptores, se dispone una pluralidad de información de flujo relacionada con los flujos incluidos en los datos multiplexados. Cada información de flujo incluye descriptores de flujo que describen cada uno información, como por ejemplo un tipo de flujo para identificar un codee de compresión de un flujo, un PID de flujo e información de atributo de flujo (como por ejemplo una velocidad de cuadro o una relación de aspecto) . Los descriptores de flujo son iguales en número al número de flujos de los datos multiplexados.
Cuando los datos multiplexados son grabados en un medio de grabación y otros medios, se graban junto con la información de archivos de datos multiplexados.
Cada uno de los archivos de información de datos multiplexados es para la administración de la información de los datos multiplexados según se muestra en la Figura 29. La información de archivos de datos multiplexados está en correspondencia de uno a uno con los datos multiplexados y cada uno de los archivos incluye información de datos multiplexados, atributo de flujo de la información y un mapa de entrada.
Según se ilustra en la Figura 29, los datos multiplexados incluyen una velocidad de sistema, un tiempo de inicio de reproducción y un tiempo de finalización de reproducción. La velocidad de sistema indica la velocidad máxima de transferencia a la cual un decodificador objetivo de sistema descrito más adelante transfiere los datos multiplexados a un filtro de PID. Los intervalos de ATS incluidos en los datos multiplexados se fijan en un nivel que no exceda la velocidad de sistema. El tiempo de inicio de reproducción indica una PTS en un cuadro de video en el cabezal de los datos multiplexados. Se agrega un intervalo de un cuadro a una PTS en un cuadro de video al final de los datos multiplexados y la PTS se fija en el tiempo de finalización de la reproducción.
Según se muestra en la Figura 30, se registra una información de atributo en la información de atributo de flujo, para cada PID de cada flujo incluido en los datos multiplexados. Cada información de atributo 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 presentaciones o un flujo de gráficos interactivos. Cada información de atributo de flujo de video transporta la información incluyendo cuál tipo de códec de compresión se usa para comprimir el flujo de video y la resolución, relación de aspecto y velocidad de cuadros de los datos de imágenes que incluidos en el flujo de video. Cada información de atributo de flujo de audio transporta la información incluyendo cuál tipo de códec de compresión se usa para comprimir el flujo de audio, cuántos canales son incluidos en el flujo de audio, cuál lenguaje es compatible con el flujo de audio y cuán alta es la frecuencia de muestreo. La información de atributo de flujo de video y la información de atributo de flujo de audio usada para la inicialización de un decodificador antes que el reproductor presente la información.
En la presente modalidad, los datos multiplexados a usar son de un tipo de flujo incluido en la PMT. Adicionalmente , cuando los datos multiplexados son grabados en un medio de grabación, se usa la información de atributo de flujo de video incluida en la información de datos multiplexados. Más especí icamente, el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descrito en cada una de las modalidades incluye un paso o una unidad para designar información única que indica 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 atributo de flujo de video. Con la configuración, 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 descrito en cada una de las modalidades pueden distinguirse de los datos de video que se ajustan a otro estándar.
Adicionalmente, la Figura 31 ilustra pasos de la decodificación aritmética de imágenes en movimiento de conformidad con la presente modalidad. En el Paso exSlOO, el tipo de flujo incluido en la PMT o la información de atributo de flujo de video se obtiene de los datos multiplexados . Seguidamente, en el Paso exSlOl, se determina si el tipo de flujo o la información de atributo de flujo de video indican que los datos multiplexados son 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. Cuando se determina que el tipo de flujo o el información de atributo de flujo de video indica que los datos multiplexados son generados por el método de codificación de imágenes en movimiento o por el aparato de codificación de imágenes en movimiento en cada una de las modalidades, en el Paso exS1021a la decodificación es realizada por decodificación aritmética de imágenes en movimiento en cada una de las modalidades. Adicionalmente, cuando el tipo de flujo o la información de atributo de flujo de video indican conformidad con los estándares convencionales, como por ejemplo MPEG-2, MPEG-4 AVC y VC-1, en el Paso exS1031a decodificación es realizada por una decodificación aritmética de imágenes en movimiento de conformidad con los estándares convencionales.
Como tal, la designación de un valor único nuevo en relación con el tipo de flujo o la información de atributo de flujo de video permite determinar si la decodificación aritmética de imágenes en movimiento o el aparato de decodificación de imágenes en movimiento descritos en cada una de las modalidades pueden realizar la decodificación. Incluso cuando los datos multiplexados se ajustan a un estándar diferente, puede seleccionarse una decodificación aritmética o aparato apropiado. De esta forma, se hace posible decodificar la información sin errores. Adicionalmente, el método o el aparato de codificación de imágenes en movimiento, o el aparato o decodificación aritmética de imágenes en movimiento en la presente modalidad pueden usarse en los dispositivos y sistemas según se describe anteriormente .
Modalidad 6 Cada uno de los siguientes, el método de codificación de imágenes en movimiento, el aparato de codificación de imágenes en movimiento, la decodificación aritmética de imágenes en movimiento y el aparato de decodificación de imágenes en movimiento en cada una de las modalidades se logra normalmente en forma de un circuito integrado o circuito integrado de gran escala (LSI, por sus siglas en inglés) . A modo de ejemplo de LSI, la Figura 32 ilustra una configuración de LSI ex500 que se realiza en un chip. El circuito LSI ex500 incluye los elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 a describir mas adelante y los elementos se conectan entre sí a través de un bus ex510. La unidad de circuito de fuente de alimentación ex505 se activa al suministrar a cada uno de los elementos potencia cuando se activa la unidad de circuito de fuente de alimentación ex505.
Por ejemplo, cuando se lleva a cabo la codificación, el circuito LSI ex500 recibe una señal AV de un micrófono exll7, una cámara exll3 y otros medios a través de AV 10 ex509 controlada por una unidad de control ex501 incluyendo una CPU ex502, un controlador de memoria ex503, un controlador de flujo ex504 y una unidad de control de frecuencia motriz ex512. La señal AV recibida es almacenada temporalmente en una memoria externa ex511, como por ejemplo, una SDRAM. Controlados por la unidad de control ex501, los datos almacenados se segmentan en unas porciones de conformidad con la cantidad de procesamiento y velocidad a ser transmitidos a una unidad de procesamiento de señales ex507. Seguidamente, la unidad de procesamiento de señales ex507 codifica una señal de audio y/o una señal de video. En este caso, la codificación de la señal de video es la codificación descrita en cada una de las modalidades. Adicionalmente , la unidad de procesamiento de señales ex507 en ocasiones multiplexa los datos de audio codificados y los datos de video codificados y un flujo 10 ex506 proporciona los datos multiplexados al exterior. Los datos multiplexados proporcionados son transmitidos hasta la estación base exl07 o grabados sobre los medios de grabación ex215. Cuando los conjuntos de datos son multiplexados, los datos deberían ser almacenados temporalmente en la memoria intermedia ex508 de modo que los conjuntos de datos se sincronicen entre sí.
Si bien la memoria ex511 es un elemento externo al LSI ex500, puede ser incluida en LSI ex500. La memoria intermedia ex508 no está limitada a una memoria intermedia, sino que puede estar compuesta de memorias intermedias. Adicionalmente, LSI ex500 puede estar formado por un chip o por una pluralidad de chips .
Adicionalmente, si bien la unidad de control ex501 incluye la CPU ex502, el controlador de memoria ex503, el controlador de flujo ex504, la unidad de control de frecuencia motriz ex512, la configuración de la unidad de control ex501 no se limita a estos tipos. Por ejemplo, la unidad de procesamiento de señales ex507 puede incluir adicionalmente una CPU. La inclusión de otro CPU en la unidad de procesamiento de señales ex507 puede mejorar la velocidad de procesamiento. Adicionalmente, como otro ejemplo, la CPU ex5'02 puede servir como unidad de procesamiento de señales ex507 o formar parte de la misma y, por ejemplo, puede incluir una unidad de procesamiento de señales de audio. En cada caso, la unidad de control ex501 incluye la unidad de procesamiento de señales ex507 o la CPU ex502 incluyendo una parte de la unidad de procesamiento de señales ex507.
El nombre usado en este caso es LSI pero puede llamarse además IC, sistema LSI, súper LSI o ultra LSI dependiendo del grado de integración.
Más aún, las maneras de lograr la integración no se limita a LSI sino que la misma puede lograrse con un circuito especial o un procesador de uso general y así sucesivamente. Con el mismo fin puede usarse una Matriz de Puertas Programable en el Campo (FPGA) que puede programarse después de la fabricación del circuito LSI o un procesador reconfigurable que permite la reconfiguración de la conexión o la configuración de un LSI.
En el futuro, con el avance de la tecnología de semiconductores, una tecnología novedosa puede remplazar los LSI. Los bloques funcionales pueden integrarse usando tal tecnología. La posibilidad es que el concepto de la invención se aplica a la biotecnología.
Modalidad 7 Cuando se codifican datos de video generados por el método de codificación de imágenes en movimiento o por el aparato de codificación de imágenes en movimiento descrito en cada una de las modalidades, en comparación con lo que ocurre cuando se codifican datos de video que se ajustan a un estándar convencional, como por ejemplo MPEG-2, MPEG-4 AVC y VC-1, la cantidad de procesamiento se incrementa probablemente. De esta forma, la LSI ex500 debe fijarse en una frecuencia motriz más alta que la de la CPU ex502 a usar cuando se decodifican los datos de video de conformidad con el estándar convencional. Sin embargo, cuando la frecuencia motriz se fija en un nivel más alto, surge un problema y es que aumenta el consumo de potencia.
Con el fin de resolver el problema, el aparato de decodificación de imágenes en movimiento, como por ejemplo la televisión ex300 y el circuito LSI ex500 se configura para determinar a cual estándar se ajustan los datos de video y cambia entre las frecuencias de accionamiento de conformidad con el estándar determinado. La Figura 33 ilustra una configuración ex800 en la presente modalidad. Una unidad de cambio de frecuencia motriz ex803 fija una frecuencia motriz en una frecuencia motriz más alta cuando los datos de video son 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. Seguidamente, la unidad de cambio de frecuencia motriz ex803 instruye a una unidad de procesamiento de decodificación ex801 que aplica la decodificación aritmética de imágenes en movimiento descrita en cada una de las modalidades para decodificar los datos de video. Cuando los datos de video se ajustan al estándar convencional, la unidad de cambio de frecuencia motriz ex803 fija una frecuencia motriz en una frecuencia motriz menor que la de los datos de video generados por el método de codificación de imágenes en movimiento o aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades. Seguidamente, la unidad de cambio de frecuencia motriz ex803 instruye a la unidad de procesamiento de decodificación ex802 que se ajusta al estándar convencional para decodificar los datos de video.
Más específicamente, la unidad de cambio de frecuencia motriz ex803 incluye la CPU ex502 y la unidad de control de frecuencia motriz ex512 en la Figura 32. En este caso, cada unidad de procesamiento de codificación ex801 que aplica la decodificación aritmética de imágenes en movimiento descrito en cada una de las modalidades y la unidad de procesamiento de codificación ex802 que se ajusta al estándar convencional se corresponde con la unidad de procesamiento de señales ex507 en la Figura 32. La CPU ex502 determina a cuál estándar se ajustan los datos de video. Seguidamente, la unidad de control de frecuencia motriz ex512 determina una frecuencia motriz con base en una señal de la CPU ex502. Adicionalmente, la unidad de procesamiento de señales ex507 decodifica los datos de video con base en la señal de la CPU ex502. Por ejemplo, la información de identificación descrita en la Modalidad 5 se usa probablemente para identificar los datos de video. La información de identificación no está limitada a la descrita en la Modalidad 5 sino que puede ser cualquier información siempre que tal información indique a cuál estándar se ajustan los datos de video. Por ejemplo, cuando se puede determinar a cuál estándar de datos de video se ajusta, 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 puede efectuarse con base en tal señal externa. Adicionalmente, la CPU ex502 selecciona una frecuencia motriz con base en, por ejemplo, una tabla de consultas en la cual los estándares de los datos de video son vinculados con las frecuencias de accionamiento según se muestra en la Figura 35. La frecuencia motriz puede seleccionarse mediante el almacenamiento de la tabla de consultas en la memoria intermedia ex508 y en una memoria interna de LSI y con referencia a la tabla de consultas por la CPU ex502.
La Figura 34 ilustra pasos para aplicar un método en la presente modalidad. Primero, en. el Paso exS200, la unidad de procesamiento de señales ex507 obtiene información de identificación de los datos multiplexados . Seguidamente, en el Paso exS201, la CPU ex502 determina si los datos de video son generados por el método de codificación y el aparato de codificación descrito en cada una de las modalidades, con base en la información de identificación. Cuando los datos de video son generados por el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las modalidades, en el Paso exS202, la CPU ex502 transmite una señal para fijar la frecuencia motriz en una frecuencia motriz más alta para la unidad de control de frecuencia motriz ex512. Seguidamente, la unidad de control de frecuencia motriz ex512 fija la frecuencia motriz en la frecuencia motriz más alta. Por otro lado, cuando la información de identificación indica que los datos de video se ajustan al estándar convencional, como por ejemplo MPEG-2, MPEG-4 AVC y VC-1, en el Paso exS203, la CPU ex502 transmite una señal para fijar la frecuencia motriz en una frecuencia motriz menor con respecto a la unidad de control de frecuencia motriz ex512. Seguidamente, la unidad de control de frecuencia motriz ex512 fija la frecuencia motriz en la frecuencia motriz más baja que en el caso donde los datos de video son 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 modalidad.
Adicionalmente, junto con el cambio de frecuencias de accionamiento, el efecto de conservación de potencia puede ser mejorado cambiando el voltaje a aplicar a LSI ex500 o un aparato incluyendo el circuito LSI ex500. Por ejemplo, cuando la frecuencia motriz se fija en un nivel más bajo, el voltaje a aplicar al LSI ex500 o al aparato que incluye el circuito LSI ex500 probablemente se fija en un voltaje interior al caso donde la frecuencia motriz se fija en un nivel más alto.
Adicionalmente, cuando la cantidad de procesamiento para la decodificación es mayor, la frecuencia motriz puede fijarse más alta y cuando la cantidad de procesamiento para la decodificación es menor, la frecuencia motriz puede fijarse más baja como el método para fijar la frecuencia motriz. De esta forma, el método de fijación no está limitado a los descritos anteriormente. Por ejemplo, cuando la cantidad de procesamiento para la decodificación datos de video de conformidad con MPÉG-4 AVC es superior a la cantidad de procesamiento para la decodificación datos de video generada por el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las modalidades, la frecuencia motriz probablemente se fija en orden inverso a la fijación descrita anteriormente.
Adicionalmente, el método para fijar la frecuencia motriz no se limita al método para fijar la frecuencia motriz inferior. Por ejemplo, cuando la información de identificación indica que los datos de video son generados por el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las modalidades, el voltaje a aplicar al LSI ex500 o al aparato incluyendo el circuito LSI ex500 probablemente se fija más alta. Cuando l información de identificación indica que los datos de video se ajustan al estándar convencional, como por ejemplo MPEG-2, MPEG-4 AVC y VC-1, el voltaje a aplicar al LSI ex500 o al aparato que incluye el circuito LSI ex500 probablemente se fija más baja. Como otro ejemplo, cuando la información de identificación indica que los datos de video son generados por el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las modalidades, el accionamiento de la CPU ex502 probablemente no requiere ser suspendido. Cuando la información de identificación indica que los datos de video se ajustan al estándar convencional, como por ejemplo MPEG- 2, MPEG-4 AVC y VC-1, el accionamiento de la CPU ex502 probablemente se suspende en un momento dado puesto que la CPU ex502 tiene una capacidad extra de procesamiento. Incluso cuando la información de identificación indica que los datos de video son 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, en el caso donde la CPU ex502 tiene una capacidad extra de procesamiento, el accionamiento de la CPU ex502 probablemente se suspende en un momento dado. En tal caso el tiempo de suspensión probablemente se fija más corto que en el caso donde cuando la información de identificación indica que los datos de video se ajustan al estándar convencional, como por ejemplo MPEG- 2, MPEG-4 AVC y VC-1.
Por lo tanto, el efecto de conservación de potencia puede ser mejorado mediante el cambio entre las frecuencias de accionamiento en conformidad con el estándar al cual se ajustan los datos de video. Adicionalmente, cuando el circuito LSI ex500 o el aparato incluyendo LSI ex500 es accionado por batería, la duración de la batería puede extenderse con el efecto de conservación de potencia.
Modalidad 8 Existen casos donde una pluralidad de datos de video que se ajustan a estándares diferentes es proporcionada a los dispositivos y sistemas, como por ejemplo, una televisión y un teléfono móvil. Con el fin de permitir la decodificación de la pluralidad de datos de video que se ajusta a diferentes estándares, la unidad de procesamiento de señales ex507 de LSI ex500 debe ajustarse a los diferentes estándares. Sin embargo, los problemas de incremento en la escala del circuito LSI ex500 y de incremento en el costo surge con el uso individual de la unidad de procesamiento de señales ex507 que se ajusta a los estándares respectivos.
Con el fin de resolver el problema, se concibe una configuración en la cual la unidad de procesamiento de codificación para implementar la decodificación aritmética de imágenes en movimiento descrita en cada una de las modalidades y la unidad de procesamiento de codificación que se ajusta al estándar convencional, como por ejemplo MPEG-2, MPEG-4 AVC y VC-1 son parcialmente compartidas. Ex900 en la Figura 36A muestra un ejemplo de la configuración. Por ejemplo, la decodificación aritmética de imágenes en movimiento descrita en cada una de las modalidades y el método de decodificación de imágenes en movimiento que se ajusta a MPEG-4 AVC tienen, parcialmente en común, los detalles de procesamiento, como por ejemplo codificación de entropía, cuatización inversa, filtro desbloqueador y predicción compensada de movimientos. Los detalles de procesamiento a compartir probablemente incluyen el uso de una unidad de procesamiento de codificación ex9Q2 que se ajusta a MPEG-4 AVC. En contraste, una unidad dedicada de procesamiento de codificación ex901 se use probablemente para otro procesamiento único con respecto a un aspecto de la presente invención. Puesto que el aspecto de la presente invención se caracteriza por una decodificación de entropía en particular, por ejemplo, la unidad dedicada de procesamiento de codificación ex901 se usa para la decodificación de entropía. De otro modo, la unidad de procesamiento de codificación probablemente sea compartida para una de estas opciones, cuatización inversa, filtro desbloqueador y compensación de movimiento o todo el procesamiento. La unidad de procesamiento de codificación para implementar la decodificación aritmética de imágenes en movimiento descrita en cada una de las modalidades puede ser compartida para el procesamiento a compartir y una unidad dedicada de procesamiento de codificación puede ser usada para el procesamiento único con respecto al de MPEG-4 AVC.
Adicionalmente , exlOOO en la Figura 36B muestra otro ejemplo en que el procesamiento es parcialmente compartido. Este ejemplo usa una configuración incluyendo una unidad dedicada de procesamiento de codificación exlOOl que apoya el procesamiento único en un aspecto de la presente invención, una unidad dedicada de procesamiento de codificación exl002 que apoya el procesamiento único con respecto a otro estándar convencional y una unidad de procesamiento de codificación exl003 que apoya el procesamiento a compartir entre la decodificación aritmética de imágenes en movimiento de conformidad con el aspecto de la presente invención y la decodificación aritmética de imágenes en movimiento convencional. En este caso, la unidad dedicada de procesamiento de decodificaciones exlOOl y exl002 no está necesariamente especializada para el procesamiento de conformidad con el aspecto de la presente invención y el procesamiento del estándar convencional, respectivamente y puede ser la que puede implementar el procesamiento general. Adicionalmente, la configuración de la presente modalidad puede implementarse mediante el circuito LSI ex500.
Como tal, es posible reducir la escala del circuito LSI y reducir el costo compartiendo la unidad de procesamiento de codificación para el procesamiento a compartir entre la decodificación aritmética de imágenes en movimiento de conformidad con el aspecto de la presente invención y el método de decodificación de imágenes en movimiento de conformidad con el estándar convencional.
Aplicabilidad Industrial El método de codificación de imágenes y el método de decodificación de imágenes de conformidad con un aspecto de la presente invención es aplicable, por ejemplo, a receptores de televisión, grabadoras de video digital, sistemas de navegación para vehículos, teléfonos celulares, cámaras digitales y cámaras de video digital.
Lista de Signos de Referencia 100 Unidad de decodificación de las diferencias del vector de movimiento 101, A01 Unidad de control de la reconstrucción de las diferencias del vector de movimiento 102, A02 Unidad de determinación 0 de las diferencias del vector de movimiento 103, A02 Unidad de decodificación de la porción del prefijo de las de las diferencias del vector de movimiento 104, A04 Unidad de decodificación de la porción del sufijo de las de las diferencias del vector de movimiento 105, A05 Unidad de decodificación del signo de las diferencias del vector de movimiento 106, A06 Unidad de reconstrucción de las diferencias del vector de movimiento 110 Unidad de decodificación de la porción del prefijo 120 Unidad de decodificación de la porción del sufijo 200, 800 Aparato para la codificación de imágenes 205 Sustractor 210 Unidad de transformación y cuatización 220 Unidad de codificación de entropía 230, 420 Unidad de cuatización inversa y transformación inversa 235, 425 Adicionador 240, 340 Filtro desbloqueador 250, 440 Memoria 260, 450 Unidad de intra-predicción 270 Unidad de detección de movimiento 280, 460 Unidad de compensación de movimiento 290, 470 Interruptor de Intra/Inter-cambio 400, 900 Aparato para decodificación de imágenes 410 Unidad de decodificación de imágenes 801 Unidad de codificación 901 Unidad de decodificación A00 Unidad de decodificación de longitud variable de las diferencias del vector de movimiento A07 Interruptor 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 citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (19)

REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones:
1. Un método de codificación de imágenes para la codificación de una imagen que usa un vector de movimiento, caracterizado porque comprende: la codificación una diferencia de vectores de movimiento que indica una diferencia entre el vector de movimiento y un vector de movimiento previsto el cual es un valor previsto del vector de movimiento, en el cual la codificación incluye: la codificación de una primera porción que forma parte de un primer componente el cual es o bien un componente horizontal o bien un componente vertical de la diferencia de vectores de movimiento; la codificación de una segunda porción que forma parte de un segundo componente el cual es diferente del primer componente y es el otro componente, o bien el horizontal o bien el vertical; la codificación de una tercera porción que forma parte del primer componente y es diferente de la primera porción; la codificación de una cuarta porción que forma parte del segundo componente y es diferente de la segunda porción; y la generación de una cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en un orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
2. El método de codificación de imágenes de conformidad con la reivindicación 1, caracterizado porque la codificación de la diferencia de vectores de movimiento incluye: la codificación de la tercera porción la cual incluye un signo de suma o de resta del primer componente y codificación de la cuarta porción la cual incluye un signo de suma o de resta del segundo componente; y la generación de la cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
3. El método de codificación de imágenes de conformidad con la reivindicación 1 ó 2, caracterizado porque la codificación de la diferencia de vectores de movimiento incluye: la codificación de la primera porción la cual incluye una bandera que indica si el primer componente es 0 y codificación de la segunda porción la cual incluye una bandera que indica si el segundo componente es 0; y la generación de la cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
4. El método de codificación de imágenes de conformidad con las reivindicaciones 1 a 3, caracterizado porque la codificación de la diferencia de vectores de movimiento incluye: la codificación de la tercera porción la cual incluye una diferencia entre un valor umbral y un valor absoluto del primer componente cuando el valor absoluto del primer componente es superior al valor umbral; la codificación de la cuarta porción la cual incluye una diferencia entre el valor umbral y un valor absoluto del segundo componente cuando el valor absoluto del segundo componente es superior al valor umbral; y la generación de la cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
5. El método de codificación de imágenes de conformidad con las reivindicaciones 1-4, caracterizado porque la codificación de la diferencia de vectores de movimiento incluye: la codificación de la primera porción y la segunda porción realizando codificación aritmética binaria adaptable al contexto el cual es codificación aritmética en la cual se usa una probabilidad de variables actualizada con base en datos codificados; y la generación de la cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
6. El método de codificación de imágenes de conformidad con las reivindicaciones 1-5, caracterizado porque la codificación de la diferencia de vectores de movimiento incluye: la codificación de la tercera porción y la cuarta porción realizando una codificación de derivación la cual es codificación aritmética en la cual se usa una probabilidad fija determinada previamente; y la generación de la cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
7. El método de codificación de imágenes de conformidad con las reivindicaciones 1-6, caracterizado porque en la codificación de la diferencia de vectores de movimiento, la tercera porción y la cuarta porción se codifican en paralelo.
8. El método de codificación de imágenes de conformidad con las reivindicaciones 1-7, caracterizado porque la codificación de la diferencia de vectores de movimiento incluye: el cambio de procesamiento de codificación al primer procesamiento de codificación conforme a un primer estándar o al segundo procesamiento de codificación conforme a un segundo estándar y generación dé un flujo de bits el cual incluye información de identificación que indica el primer estándar o el segundo estándar al cual se ajusta uno correspondiente, entre el primer procesamiento de codificación y el segundo procesamiento de codificación al cual el procesamiento de codificación ha sido cambiado; y la generación, cuando el procesamiento de codificación cambia al primer procesamiento de codificación, la cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción y generación del flujo de bits el cual incluye la cadena de códigos y la información de identificación el cual indica el primer estándar.
9. Un método de decodificación de imágenes para la decodificación de una imagen que usa un vector de movimiento, caracterizado porque comprende la decodificación de una diferencia de vectores de movimiento que indica una diferencia entre el vector de movimiento y un vector de movimiento previsto el cual es un valor previsto del vector de movimiento, en donde la decodificación incluye: la obtención de una cadena de códigos la cual incluye (i) una primera porción que forma parte de un primer componente el cual es o bien un componente horizontal o bien un componente vertical de la diferencia de vectores de movimiento, (ii) una segunda porción que forma parte de un segundo componente el cual es diferente del primer componente y es el otro componente, o bien el horizontal o bien el vertical, (iii) una tercera porción que forma parte del primer componente y es diferente de la primera porción y (iv) una cuarta porción el cual forma parte del segundo componente y es diferente de la segunda porción, en un orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción; y decodificación de la primera porción incluida en la cadena de códigos; la decodificación de la segunda porción incluida en la cadena de códigos; y la decodificación de la tercera porción incluida en la cadena de códigos y decodificación de la cuarta porción incluida en la cadena de códigos.
10. El método de decodificación de imágenes de conformidad con la reivindicación 9, caracterizado porque la decodificación de las diferencias de vectores de movimiento incluye: la obtención de la cadena de códigos la cual incluye (i) la primera porción, (ii) la segunda porción, (iii) la tercera porción la cual incluye un signo de suma o de resta del primer componente y (iv) la cuarta porción la cual incluye un signo de suma o de resta del segundo componente, en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción; y la decodificación de la primera porción incluida en la cadena de códigos; la decodificación de la segunda porción incluida en la cadena de códigos; la decodificación de la tercera porción incluida en la cadena de códigos y decodificación de la cuarta porción incluida en la cadena de códigos .
11. El método de decodificación de imágenes de conformidad con la reivindicación 9 ó 10, caracterizado porque la decodificación de las diferencias de vectores de movimiento incluye: la obtención de la cadena de códigos la cual incluye (i) la primera porción la cual incluye una bandera que indica si el primer componente es 0, (ii) la segunda porción la cual incluye una bandera que indica si el segundo componente es 0, (iii) la tercera porción y (iv) la cuarta porción, en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción; y la decodificación de la primera porción incluida en la cadena de códigos; la decodificación de la segunda porción incluida en la cadena de códigos; la decodificación de la tercera porción incluida en la cadena de códigos y decodificación de la cuarta porción incluida en la cadena de códigos .
12. El método de decodificación de imágenes de - conformidad con las reivindicaciones 9-11, caracterizado porque la decodificación de las diferencias de vectores de movimiento incluye: la obtención de la cadena de códigos la cual incluye (i) la primera porción, (ii) la segunda porción y (iii) la tercera porción la cual incluye una diferencia entre un valor umbral y un valor absoluto del primer componente cuando el valor absoluto del primer componente es superior al valor umbral y (iv) la cuarta porción la cual incluye una diferencia entre el valor umbral y un valor absoluto del segundo componente cuando el valor absoluto del segundo componente es superior al valor umbral, en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción; y la decodificación de la primera porción incluida en la cadena de códigos; la decodificación de la segunda porción incluida en la cadena de códigos; la decodificación de la tercera porción incluida en la cadena de códigos y decodificación de la cuarta porción incluida en la cadena de códigos .
13. El método de decodificación de imágenes de conformidad con las reivindicaciones 9-12, caracterizado porque la decodificación de las diferencias de vectores de movimiento incluye: la obtención de la cadena de códigos la cual incluye (i) la primera porción a decodificar realizando decodificación aritmética binaria adaptable al contexto la cual es una decodificación aritmética en la cual se usa una probabilidad variable actualizada con base en datos decodificados, (ii) la segunda porción a decodificar realizando la decodificación aritmética binaria adaptable al contexto, (iii) la tercera porción y (iv) la cuarta porción, en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción; y la decodificación de la primera porción incluida en la cadena de códigos realizando la decodificación aritmética binaria adaptable al contexto; la decodificación de la segunda porción incluida en la cadena de códigos realizando la decodificación aritmética binaria adaptable al contexto; la decodificación de la tercera porción incluida en la cadena de códigos y decodificación de la cuarta porción incluida en la cadena de códigos .
14. El método de decodificación de imágenes de conformidad con las reivindicaciones 9-13, caracterizado porque la decodificación de las diferencias de vectores de movimiento incluye: la obtención de la cadena de códigos la cual incluye (i) la primera porción, (ii) la segunda porción, (iii) la tercera porción a decodificar realizando decodificación de derivación la cual es decodificación aritmética en la cual se usa una probabilidad fija determinada previamente y (iv) la cuarta porción a decodificar realizando la decodificación de derivación, en el orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción; y la decodificación de la primera porción incluida en la cadena de códigos; la decodificación de la segunda porción incluida en la cadena de códigos; la decodificación de la tercera porción incluida en la cadena de códigos realizando la decodificación de derivación y decodificación de la cuarta porción incluida en la cadena de códigos realizando la decodificación de derivación.
15. El método de decodificación de imágenes de conformidad con las reivindicaciones 9-14, caracterizado porque en la decodificación de las diferencias de vectores de movimiento, la tercera porción y la cuarta porción son decodificados en paralelo.
16. El método de decodificación de imágenes de conformidad con las reivindicaciones 9-15, caracterizado porque la decodificación de las diferencias de vectores de movimiento incluye: la obtención de un flujo de datos el cual incluye información de identificación que indica un primer estándar o un segundo estándar y con base en la información de identificación, cambio de procesamiento de decodificación al primer procesamiento de decodificación conforme al primer estándar o al segundo procesamiento de decodificación conforme al segundo estándar; y cuando procesamiento de decodificación cambia al primer procesamiento de decodificación, la obtención de la cadena de códigos del flujo de bits; la decodificación de la primera porción incluida en la cadena de códigos; la decodificación de la segunda porción incluida en la cadena de códigos; la decodificación de la tercera porción incluida en la cadena de códigos y decodificación de la cuarta porción incluida en la cadena de códigos .
17. Un aparato de codificación de imágenes el cual codifica una imagen que usa un vector de movimiento, caracterizado porque comprende una unidad de codificación configurada para codificar una diferencia de vectores de movimiento que indica una diferencia entre el vector de movimiento y un vector de movimiento previsto el cual es un valor previsto del vector de movimiento, en donde la unidad de codificación está configurada para: codificar una primera porción que forma parte de un primer componente el cual es o bien un componente horizontal o bien un componente vertical de la diferencia de vectores de movimiento; codificar una segunda porción que forma parte de un segundo componente el cual es diferente del primer componente y es el otro componente, o bien el horizontal o bien el vertical ; codificar una tercera porción que forma parte del primer componente y es diferente de la primera porción; codificar una cuarta porción que forma parte del segundo componente y es diferente de la segunda porción; y generar una cadena de códigos la cual incluye la primera porción, la segunda porción, la tercera porción y la cuarta porción en un orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción.
18. Un aparato de decodificación de imágenes el cual decodifica una imagen que usa un vector de movimiento, caracterizado porque comprende una- unidad de decodificación configurada para decodificar una diferencia de vectores de movimiento que indica una diferencia entre el vector de movimiento y un vector de movimiento previsto el cual es un valor previsto del vector de movimiento, en donde la unidad de decodificación está configurada para: obtener una cadena de códigos la cual incluye (i) una primera porción que forma parte de un primer componente el cual es o bien un componente horizontal o bien un componente vertical de la diferencia de vectores de movimiento, (ii) una segunda porción que forma parte de un segundo componente el cual es diferente del primer componente y es el otro componente, o bien el horizontal o bien el vertical, (iii) una tercera porción que forma parte del primer componente y es diferente de la primera porción y (iv) una cuarta porción el cual forma parte del segundo componente y es diferente de la segunda porción, en un orden de la primera porción, la segunda porción, la tercera porción y la cuarta porción; y decodificar la primera porción incluida en la cadena de códigos, decodificar la segunda porción incluida en la cadena de códigos, decodificar la tercera porción incluida en la cadena de códigos y decodificar la cuarta porción incluida en la cadena de códigos .
19. Un aparato de codificación y decodificación de imágenes caracterizado porque comprende: el aparato de codificación de imágenes de conformidad con la reivindicación 17; y el aparato de decodificación de imágenes de conformidad con la reivindicación 18.
MX2013001167A 2011-06-24 2012-06-21 Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes. MX2013001167A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161500805P 2011-06-24 2011-06-24
PCT/JP2012/004014 WO2012176450A1 (ja) 2011-06-24 2012-06-21 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置

Publications (1)

Publication Number Publication Date
MX2013001167A true MX2013001167A (es) 2013-02-15

Family

ID=47361842

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2013001167A MX2013001167A (es) 2011-06-24 2012-06-21 Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.

Country Status (13)

Country Link
US (7) US8855207B2 (es)
EP (5) EP3522377A1 (es)
JP (9) JP5362129B2 (es)
KR (2) KR102258753B1 (es)
CN (3) CN107396107B (es)
AU (1) AU2012274765B2 (es)
BR (1) BR112013002450B1 (es)
CA (1) CA2806796C (es)
ES (2) ES2944949T3 (es)
MX (1) MX2013001167A (es)
PL (2) PL3309970T3 (es)
TW (1) TWI565304B (es)
WO (1) WO2012176450A1 (es)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9076239B2 (en) 2009-04-30 2015-07-07 Stmicroelectronics S.R.L. Method and systems for thumbnail generation, and corresponding computer program product
CN107396107B (zh) * 2011-06-24 2021-02-02 威勒斯媒体国际有限公司 图像编码方法、图像编码装置以及编码方法
US10536701B2 (en) * 2011-07-01 2020-01-14 Qualcomm Incorporated Video coding using adaptive motion vector resolution
US9088796B2 (en) * 2011-11-07 2015-07-21 Sharp Kabushiki Kaisha Video decoder with enhanced CABAC decoding
EP2779648A4 (en) 2011-11-07 2016-06-01 Panasonic Ip Corp America PICTURE CODING METHOD, PICTURE DECODING METHOD, PICTURE CODING DEVICE, PICTURE DECODING DEVICE, AND PICTURE CODING / DECODING DEVICE
WO2014107029A1 (ko) * 2013-01-02 2014-07-10 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
GB2513110A (en) * 2013-04-08 2014-10-22 Sony Corp Data encoding and decoding
US9225988B2 (en) 2013-05-30 2015-12-29 Apple Inc. Adaptive color space transform coding
US9706229B2 (en) * 2013-06-05 2017-07-11 Texas Instruments Incorporated High definition VP8 decoder
EP2854405A1 (en) * 2013-09-26 2015-04-01 Thomson Licensing Method and apparatus for encoding and decoding a motion vector representation in interlaced video using progressive video coding tools
CN110636292B (zh) * 2013-10-18 2022-10-25 松下控股株式会社 图像编码方法以及图像解码方法
US20150189321A1 (en) * 2014-01-02 2015-07-02 Mediatek Inc. Method of Binarization and Context Adaptive Binary Arithmetic Coding of Depth Coding Syntax
JP6346445B2 (ja) 2014-01-10 2018-06-20 キヤノン株式会社 処理装置、処理装置の制御方法、およびプログラム
EP3111641A4 (en) * 2014-04-01 2017-11-08 MediaTek Inc. Method of motion information coding
JP6352452B2 (ja) * 2014-06-20 2018-07-04 寰發股▲ふん▼有限公司HFI Innovation Inc. ビデオ符号化における構文の2値化とコンテキスト適応型符号化の方法と装置
EP3173641A4 (en) * 2014-07-23 2018-01-10 Nachi-Fujikoshi Corp. Rolling bearing
EP3270594A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for advanced cabac context adaptation for last coefficient coding
EP3618435A4 (en) 2017-07-07 2020-03-18 Samsung Electronics Co., Ltd. DEVICE AND METHOD FOR ADAPTING MOTION VECTOR RESOLUTION BY DETERMINED MOTION VECTOR CODING AND DEVICE AND METHOD FOR DECODING A MOTION VECTOR
CN111183644A (zh) 2017-09-28 2020-05-19 三星电子株式会社 编码方法及其设备、解码方法及其设备
WO2019150411A1 (ja) * 2018-01-30 2019-08-08 富士通株式会社 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
CN114205618B (zh) 2018-02-28 2023-07-25 三星电子株式会社 编码方法及其装置以及解码方法及其装置
CN108810553B (zh) * 2018-05-02 2021-01-12 上海大学 一种基于稀疏化处理的移动节点监测数据序列压缩方法
CN112313959A (zh) * 2018-05-21 2021-02-02 Lg电子株式会社 使用基于图像编码系统中的lut导出的mvd解码图像的方法和设备
US20210266561A1 (en) * 2018-06-26 2021-08-26 Samsung Electronics Co., Ltd. Motion information encoding apparatus and encoding method, and motion information decoding apparatus and decoding method
WO2020143643A1 (en) * 2019-01-07 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Control method for merge with mvd

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
GB2319689B (en) * 1994-02-23 1998-07-15 Ricoh Kk Compression of palletized images
CN1976455B (zh) * 2002-04-19 2011-12-07 松下电器产业株式会社 图像编码方法及图像编码装置
US8054880B2 (en) * 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
CN1216496C (zh) * 2003-09-27 2005-08-24 浙江大学 一种视频编解码中的运动矢量预测方法和装置
JP2005184232A (ja) * 2003-12-17 2005-07-07 Sony Corp 符号化装置、プログラム、およびデータ処理方法
KR100645735B1 (ko) * 2004-10-14 2006-11-15 주식회사 팬택 모바일 플랫폼의 컨텐츠 오동작 통신 검출 장치 및 방법
WO2007065351A1 (en) * 2005-12-05 2007-06-14 Huawei Technologies Co., Ltd. Binarizing method and device thereof
CN1984336A (zh) * 2005-12-05 2007-06-20 华为技术有限公司 一种二进制化方法及装置
JP5025286B2 (ja) * 2007-02-28 2012-09-12 シャープ株式会社 符号化装置及び復号装置
US8358703B2 (en) * 2007-03-23 2013-01-22 Thomson Licensing Modifying a coded bitstream
US8782379B2 (en) 2007-09-27 2014-07-15 Qualcomm Incorporated H.264 video decoder CABAC core optimization techniques
US8891615B2 (en) * 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders
EP2321904B1 (en) * 2008-08-19 2014-05-28 Thomson Licensing Context-based adaptive binary arithmetic coding (cabac) video stream compliance
KR101611375B1 (ko) * 2008-08-19 2016-04-11 톰슨 라이센싱 압축된 비디오에서 구문 요소의 cabac/avc 준수 워터마킹
JP2010050697A (ja) * 2008-08-21 2010-03-04 Toshiba Corp 画像圧縮伸張装置および画像圧縮伸張方法
EP2164176A1 (en) * 2008-09-12 2010-03-17 Thomson Licensing Method for lossless compressing prefix-suffix-codes, method for decompressing a bit sequence representing integers or symbols encoded in compressed prefix-suffix-codes and storage medium or signal carrying compressed prefix-suffix-codes
TWI455587B (zh) 2009-04-10 2014-10-01 Asustek Comp Inc 具有多格式影像編解碼功能的資料處理電路及處理方法
JP5258664B2 (ja) * 2009-04-14 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
JP2010278668A (ja) * 2009-05-27 2010-12-09 Sony Corp 符号化装置及び符号化方法、並びに復号装置及び復号方法
WO2011034148A1 (ja) * 2009-09-18 2011-03-24 シャープ株式会社 符号化装置、復号装置、動画像符号化装置、動画像復号装置、および符号化データ
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
US9591320B2 (en) 2010-07-15 2017-03-07 Texas Instruments Incorporated Context and bypass encoding video
US9532066B2 (en) * 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
US9106913B2 (en) * 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
RU2642373C1 (ru) 2011-06-16 2018-01-24 ДжиИ Видео Компрешн, ЭлЭлСи Инициализация контекста при энтропийном кодировании
CN107396107B (zh) * 2011-06-24 2021-02-02 威勒斯媒体国际有限公司 图像编码方法、图像编码装置以及编码方法
US10536701B2 (en) * 2011-07-01 2020-01-14 Qualcomm Incorporated Video coding using adaptive motion vector resolution

Also Published As

Publication number Publication date
CN103004207B (zh) 2017-09-29
JP5390727B1 (ja) 2014-01-15
JP2019047517A (ja) 2019-03-22
US20220329848A1 (en) 2022-10-13
JP5415648B2 (ja) 2014-02-12
JP2021069124A (ja) 2021-04-30
JP6443847B2 (ja) 2018-12-26
US20230353775A1 (en) 2023-11-02
JP7033675B2 (ja) 2022-03-10
JP2014014146A (ja) 2014-01-23
JP6612416B2 (ja) 2019-11-27
US20190349600A1 (en) 2019-11-14
AU2012274765A2 (en) 2013-03-28
WO2012176450A1 (ja) 2012-12-27
PL3309970T3 (pl) 2023-09-25
JP6229909B2 (ja) 2017-11-15
PL3309969T3 (pl) 2023-09-18
JP2016226026A (ja) 2016-12-28
CN103004207A (zh) 2013-03-27
JPWO2012176450A1 (ja) 2015-02-23
US9648324B2 (en) 2017-05-09
TWI565304B (zh) 2017-01-01
ES2952761T3 (es) 2023-11-03
US9681130B2 (en) 2017-06-13
US11330292B2 (en) 2022-05-10
CN107396107A (zh) 2017-11-24
CN107371025B (zh) 2020-04-14
JP5362129B2 (ja) 2013-12-11
EP2725796A1 (en) 2014-04-30
EP3309969A1 (en) 2018-04-18
JP5999563B2 (ja) 2016-09-28
CN107396107B (zh) 2021-02-02
ES2944949T3 (es) 2023-06-27
EP3309970A1 (en) 2018-04-18
US20170230681A1 (en) 2017-08-10
AU2012274765B2 (en) 2016-06-30
EP3522377A1 (en) 2019-08-07
EP3309969B1 (en) 2023-04-19
TW201306599A (zh) 2013-02-01
US20140029674A1 (en) 2014-01-30
CA2806796A1 (en) 2012-12-27
JP2020018013A (ja) 2020-01-30
BR112013002450B1 (pt) 2022-10-25
KR102258753B1 (ko) 2021-05-31
US8855207B2 (en) 2014-10-07
US11743490B2 (en) 2023-08-29
EP2725796A4 (en) 2014-11-12
US20120328022A1 (en) 2012-12-27
EP4220966A1 (en) 2023-08-02
US20140029673A1 (en) 2014-01-30
JP2017229103A (ja) 2017-12-28
CA2806796C (en) 2020-08-25
BR112013002450A2 (pt) 2018-01-23
AU2012274765A1 (en) 2013-02-07
KR20140032930A (ko) 2014-03-17
JP2014014130A (ja) 2014-01-23
CN107371025A (zh) 2017-11-21
US10382779B2 (en) 2019-08-13
JP2014003698A (ja) 2014-01-09
EP3309970B1 (en) 2023-06-07
KR20200067219A (ko) 2020-06-11
JP6821766B2 (ja) 2021-01-27

Similar Documents

Publication Publication Date Title
JP7033675B2 (ja) 復号方法、復号装置、符号化方法及び符号化装置
AU2017202023B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
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
AU2012329550B2 (en) Image encoding method, image decoding method, image encoding apparatus, and image decoding apparatus
AU2012264031B2 (en) Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
AU2012333936B9 (en) Image coding method, image coding apparatus, image decoding method and image decoding apparatus
AU2013273044B2 (en) Video image encoding method, video image encoding device, video image decoding method, and video image decoding device
AU2012277160B2 (en) Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding/decoding device
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.
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.
MX2013015089A (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 imágenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
AU2013264361B2 (en) Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
MX2013014734A (es) Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
MX2015000630A (es) Metodo decodificador de imagen, metodo codificador de imagen, aparato decodificador de imagen, aparato codificador de imagen, y aparato codificador y decodificador de imagen.

Legal Events

Date Code Title Description
FG Grant or registration
GB Transfer or rights
PD Change of proprietorship

Owner name: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AME