ES2780188T3 - Método de codificación de imagen, método de decodificación de imagen, aparato de codificación de imagen y aparato de decodificación de imagen - Google Patents

Método de codificación de imagen, método de decodificación de imagen, aparato de codificación de imagen y aparato de decodificación de imagen Download PDF

Info

Publication number
ES2780188T3
ES2780188T3 ES12844046T ES12844046T ES2780188T3 ES 2780188 T3 ES2780188 T3 ES 2780188T3 ES 12844046 T ES12844046 T ES 12844046T ES 12844046 T ES12844046 T ES 12844046T ES 2780188 T3 ES2780188 T3 ES 2780188T3
Authority
ES
Spain
Prior art keywords
reference image
image
block
current block
term reference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES12844046T
Other languages
English (en)
Inventor
Viktor Wahadaniah
Chong Soon Lim
Sue Mon Thet Naing
hai wei Sun
Takahiro Nishi
Hisao Sasai
Youji Shibahara
Kyoko Tanikawa
Toshiyasu Sugio
Kengo Terada
Toru Matsunobu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Patent Trust Inc
Original Assignee
Sun Patent Trust Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Patent Trust Inc filed Critical Sun Patent Trust Inc
Application granted granted Critical
Publication of ES2780188T3 publication Critical patent/ES2780188T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one

Abstract

Un método de codificación de imagen para codificar bloques de imágenes por medio de inter predicción basada en imágenes de referencia codificadas que incluyen imágenes de referencia a corto plazo e imágenes de referencia a largo plazo, el método de codificación de imagen que comprende: identificar (S703) una imagen de referencia de un bloque actual a ser codificado; derivar (S1301) un candidato para un vector de movimiento del bloque actual a partir de un primer vector de movimiento de un primer bloque incluido en una primera imagen, la primera imagen que es diferente de una imagen que incluye el bloque actual; añadir (S1302) el candidato derivado a una lista de candidatos; seleccionar (S1303) un vector de movimiento de la lista de candidatos; y codificar (S1304) el bloque actual usando el vector de movimiento seleccionado y la imagen de referencia del bloque actual, en donde la derivación incluye: seleccionar, como el primer bloque, un bloque que corresponde en posición al bloque actual de entre una pluralidad de bloques incluidos en la primera imagen; determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, y si una primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo; derivar el primer vector de movimiento sin escalar como el candidato, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a largo plazo; escalar el primer vector de movimiento usando una relación de una primera distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual y una segunda distancia temporal entre la primera imagen de referencia del primer bloque y la primera imagen, y derivar el primer vector de movimiento escalado como el candidato, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a corto plazo; caracterizado por que la derivación incluye además: seleccionar, en el caso de determinar que una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a corto plazo y la otra de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a largo plazo, un segundo bloque diferente del primer bloque, el segundo bloque que está situado conjuntamente al bloque actual y que tiene una imagen de referencia a corto plazo; y escalar un segundo vector de movimiento del segundo bloque usando una relación de la primera distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual y una tercera distancia temporal entre la imagen de referencia a corto plazo del segundo bloque y la primera imagen, y derivar el segundo vector de movimiento escalado como el candidato.

Description

DESCRIPCIÓN
Método de codificación de imagen, método de decodificación de imagen, aparato de codificación de imagen y aparato de decodificación de imagen
[Campo técnico]
La presente invención se refiere a un método de codificación de imagen de codificación de cada uno de los bloques de imágenes.
[Antecedentes de la técnica]
Una técnica con relación a un método de codificación de imagen de codificación de cada uno de los bloques de imágenes se describe en Bibliografía No de Patente (NPL) 1.
[Lista de referencias]
[Bibliografía no de patente]
[NPL 1]
ISO/IEC 14496-10 - MPEG-4 Parte 10, Codificación de Vídeo Avanzada
BROSS B ET AL: “WD4: Working Draft 4 of High-Efficiency Vídeo Coding”, 6. REUNIÓN JCT-VC; 97. REUNIÓN DEL MPEG; 14-7-2011 - 22-7-2011; TURÍN; (EQUIPO COLABORATIVO CONJUNTO SOBRE CODIFICACIÓN DE VÍDEO DE ISO/IEC JTC1/SC29/WG11 E ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, n2 JCTVC-F803, 9 de agosto de 2011 (09-08-2011), XP030009800, describe el modo de Fusión HEVC en el que se selecciona un vector de movimiento de un conjunto candidato que comprende vectores de movimiento de bloques espacialmente colindantes y unos vectores de movimiento temporal de un bloque situado conjuntamente.
LIM C S ET AL: “MVP scaling issue for LTRPs”, 9. REUNIÓN JCT-VC; 100. REUNIÓN DEL MPEG; 27-4-2012 - 7-5­ 2012; GINEBRA; (EQUIPO COLABORATIVO CONJUNTO SOBRE CODIFICACIÓN DE VÍDEO DE ISO/IEC JTC1/SC29/WG11 E ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, n2 JCTVC-I0422, 17 de abril de 2012 (17-04-2012), XP030112185, describe predicción de vector de movimiento usando predictores espaciales y temporales. El predictor de vector de movimiento solamente se escala según la distancia temporal respectiva si tanto la imagen de referencia del bloque actual como la imagen de referencia del bloque predictor son imágenes de referencia a corto plazo. En todos los demás casos, el escalado del predictor de vector de movimiento está deshabilitado. I-K KIM ET AL: “Restricted usage of motion vectors for long-term reference picture in motion vector prediction process”, 10. REUNIÓN JCT-VC; 101. REUNIÓN DEL MPEG; 11-7-2012 - 20-7-2012; ESTOCOLMO; (EQUIPO COLABORATIVO CONJUNTO SOBRE CODIFICACIÓN DE VÍDEO DE ISO/IEC JTC1/SC29/WG11 E ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE /, n2 JCTVC-J0302, 3 de julio de 2012 (03-07-2012), XP030112664, describe además que esta solución se ha adoptado para modo de Fusión y AMVP.
TAKAHASHI Y ET AL: “High-level Syntax: Motion vector prediction issue for long-term reference picture”, 10. REUNIÓN JCT-VC; 101. REUNIÓN DEL MPEG; 11-7-2012 - 20-7-2012; ESTOCOLMO; (EQUIPO COLABORATIVO CONJUNTO SOBRE CODIFICACIÓN DE VÍDEO DE ISO/IEC JTC1/SC29/WG11 E ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, n2 JCTVC-J0071, 29 de junio de 2012 (29-06-2012), XP030112433, describe predicción de vector de movimiento usando predictores espaciales y temporales. Si tanto la imagen de referencia del bloque actual como la imagen de referencia del bloque predictor son imágenes de referencia a corto plazo, el predictor de vector de movimiento se escala según la distancia temporal respectiva. Si ambas imágenes de referencia son imágenes de referencia a largo plazo, el predictor de vector de movimiento no se escala. Si una de las imágenes de referencia es una imagen de referencia a corto plazo y la otra es una imagen de referencia a largo plazo, el predictor de vector de movimiento se marca como no disponible.
[Compendio de la invención]
[Problema técnico]
No obstante, hay casos en que el método de codificación de imagen convencional no puede lograr una eficiencia de codificación suficientemente alta.
En vista de esto, la presente invención proporciona un método de codificación de imagen que puede mejorar la eficiencia de codificación en la codificación de imagen.
[Solución al problema]
La presente invención se define en las reivindicaciones independientes. La descripción habilitadora de la invención se encuentra en la Realización 4. Las realizaciones restantes se han de entender como ejemplos que no describen partes de la presente invención.
Estos aspectos generales y específicos se pueden implementar usando un sistema, un aparato, un circuito integrado, un programa de ordenador o un medio de grabación legible por ordenador no transitorio, tal como un CD-ROM, o cualquier combinación de sistemas, aparatos, métodos, circuitos integrados, programas de ordenador y medios de grabación.
[Efectos ventajosos de la invención]
El método de codificación de imagen según la presente invención proporciona un método de codificación de imagen que puede mejorar la eficiencia de codificación en la codificación de imagen.
[Breve descripción de los dibujos]
[FIG. 1]
La Figura 1 es un diagrama de flujo que muestra una operación de un aparato de codificación de imagen según un ejemplo de referencia.
[FIG. 2]
La Figura 2 es un diagrama de flujo que muestra una operación de un aparato de decodificación de imagen según el ejemplo de referencia.
[FIG. 3]
La Figura 3 es un diagrama de flujo que muestra detalles de un proceso de derivación según el ejemplo de referencia.
[FIG. 4]
La Figura 4 es un diagrama para explicar un bloque situado conjuntamente según el ejemplo de referencia.
[FIG. 5]
La Figura 5 es un diagrama de bloques de un aparato de codificación de imagen según la Realización 1.
[FIG. 6]
La Figura 6 es un diagrama de bloques de un aparato de decodificación de imagen según la Realización 1.
[FIG. 7]
La Figura 7 es un diagrama de flujo que muestra una operación del aparato de codificación de imagen según la Realización 1.
[FIG. 8]
La Figura 8 es un diagrama de flujo que muestra una operación del aparato de decodificación de imagen según la Realización 1.
[FIG. 9]
La Figura 9 es un diagrama de flujo que muestra detalles de un proceso de derivación según la Realización 1.
[FIG. 10]
La Figura 10 es un diagrama de flujo que muestra detalles de un proceso de derivación según la Realización 2. [FIG. 11]
La Figura 11 es un diagrama para explicar un bloque situado conjuntamente según la Realización 2.
[FIG. 12]
La Figura 12 es un diagrama de flujo que muestra detalles de un proceso de derivación según la Realización 3.
[FIG. 13A]
La Figura 13A es un diagrama de bloques de un aparato de codificación de imagen según la Realización 4.
[FIG. 13B]
La Figura 13B es un diagrama de flujo que muestra una operación del aparato de codificación de imagen según la Realización 4.
[FIG. 14A]
La Figura 14A es un diagrama de bloques de un aparato de decodificación de imagen según la Realización 4. [FIG. 14B]
La Figura 14B es un diagrama de flujo que muestra una operación del aparato de decodificación de imagen según la Realización 4.
[FIG. 15A]
La Figura 15A es un diagrama que muestra un primer ejemplo de una ubicación de almacenamiento de un parámetro que indica una clasificación de imágenes de referencia.
[FIG. 15B]
La Figura 15B es un diagrama que muestra un segundo ejemplo de la ubicación de almacenamiento del parámetro que indica la clasificación de imágenes de referencia.
[FIG. 15C]
La Figura 15C es un diagrama que muestra un tercer ejemplo de la ubicación de almacenamiento del parámetro que indica la clasificación de imágenes de referencia.
[FIG. 16]
La Figura 16 es un diagrama que muestra un ejemplo de una ubicación de almacenamiento de un parámetro que indica un modo de predicción.
[FIG. 17]
La Figura 17 ilustra una configuración general de un sistema de provisión de contenidos para implementar servicios de distribución de contenidos.
[FIG. 18]
La Figura 18 ilustra una configuración general de un sistema de difusión digital.
[FIG. 19]
La Figura 19 es un diagrama de bloques que ilustra un ejemplo de una configuración de un televisor.
[FIG. 20]
La Figura 20 es un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproducción/grabación de información que lee y escribe información desde o en un medio de grabación que es un disco óptico.
[FIG. 21]
La Figura 21 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico.
[FIG. 22A]
La Figura 22A muestra un ejemplo de un teléfono celular.
[FIG. 22B]
La Figura 22B muestra un ejemplo de una configuración del teléfono celular.
[FIG. 23]
La Figura 23 muestra una estructura de datos multiplexados.
[FIG. 24]
La Figura 24 ilustra esquemáticamente cómo cada uno de los flujos se multiplexa en datos multiplexados.
[FIG. 25]
La Figura 25 ilustra cómo se almacena un flujo de vídeo en un flujo de paquetes PES con más detalle.
[FIG. 26]
La Figura 26 muestra una estructura de paquetes TS y paquetes fuente en los datos multiplexados.
[FIG. 27]
La Figura 27 muestra una estructura de datos de una PMT.
[FIG. 28]
La Figura 28 muestra una estructura interna de información de datos multiplexados.
[FIG. 29]
La Figura 29 muestra una estructura interna de información de atributos de flujo.
[FIG. 30]
La Figura 30 muestra pasos para identificar datos de vídeo.
[FIG. 31]
La Figura 31 es un diagrama de bloques que ilustra un ejemplo de una configuración de un circuito integrado para implementar el método de codificación de imagen en movimiento y el método de decodificación de imagen en movimiento según cada una de las Realizaciones.
[FIG. 32]
La Figura 32 muestra una configuración para conmutar entre frecuencias de accionamiento.
[FIG. 33]
La Figura 33 muestra los pasos para identificar datos de vídeo y conmutar entre frecuencias de accionamiento. [FIG. 34]
La Figura 34 muestra un ejemplo de una tabla de búsqueda en la que los estándares de datos de vídeo están asociados con las frecuencias de accionamiento.
[FIG. 35A]
La Figura 35A muestra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señal.
[FIG. 35B]
La Figura 35B muestra otro ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señal.
Descripción de las realizaciones
(Conocimiento subyacente que forma la base de la presente invención)
En relación con el método de codificación de imagen descrito en la sección de Antecedentes de la técnica, los inventores han encontrado el siguiente problema. Obsérvese que, en la siguiente descripción, una imagen puede ser cualquiera de una imagen en movimiento compuesta por una pluralidad de imágenes, una imagen fija compuesta por una imagen, una parte de una imagen y similares.
Esquemas de codificación de imagen en los últimos años incluyen MPEG-4 AVC/H.264 y HEVC (Codificación de Vídeo de Alta Eficiencia). En estos esquemas de codificación de imagen, está disponible inter predicción usando imágenes de referencia codificadas.
Además, en estos esquemas de codificación de imagen, se puede usar una imagen de referencia llamada imagen de referencia a largo plazo. Por ejemplo, en el caso de que una imagen de referencia se retenga en un DPB (Almacenador Temporal de Imágenes Decodificadas) durante mucho tiempo, la imagen de referencia se puede usar como imagen de referencia a largo plazo.
En HEVC, hay un modo llamado modo de fusión. En el modo de fusión, un predictor de vector de movimiento obtenido prediciendo un vector de movimiento de un bloque actual a partir de un vector de movimiento de un bloque adyacente o similar se usa para codificar el bloque actual como el vector de movimiento del bloque actual. Es decir, en el modo de fusión, el predictor de vector de movimiento se trata como el vector de movimiento del bloque actual. También se hace referencia al predictor de vector de movimiento y al vector de movimiento del bloque actual en el modo de fusión como vector de fusión.
En HEVC, también se puede usar un predictor de vector de movimiento temporal. El predictor de vector de movimiento temporal se deriva de un vector de movimiento de un bloque situado conjuntamente en una imagen codificada situada conjuntamente. Las coordenadas del bloque situado conjuntamente en la imagen situada conjuntamente corresponden a coordenadas del bloque actual en la imagen actual a ser codificada.
En lo sucesivo, también se hace referencia al vector de movimiento del bloque situado conjuntamente como vector de movimiento situado conjuntamente, y también se hace referencia a una imagen de referencia del bloque situado conjuntamente como imagen de referencia situada conjuntamente. El bloque situado conjuntamente se codifica usando el vector de movimiento situado conjuntamente y la imagen de referencia situada conjuntamente. Obsérvese que “situado conjuntamente” también se puede escribir como “co-ubicado”.
Del mismo modo, también se hace referencia al vector de movimiento del bloque actual como vector de movimiento actual, y también se hace referencia a una imagen de referencia del bloque actual como imagen de referencia actual. El bloque actual se codifica usando el vector de movimiento actual y la imagen de referencia actual.
El bloque actual y el bloque situado conjuntamente mencionados anteriormente son cada uno una unidad de predicción (PU). La unidad de predicción es un bloque de una imagen y se define como unidad de datos para predicción. En HEVC, una unidad de codificación (CU) se define como una unidad de datos para codificación, de manera separada de la unidad de predicción. La unidad de predicción es un bloque en la unidad de codificación. En la siguiente descripción, el término “bloque” se puede sustituir por “unidad de predicción” o “unidad de codificación”. La unidad de codificación y la unidad de predicción no son de tamaño fijo. Por ejemplo, una imagen puede incluir una pluralidad de unidades de codificación de diversos tamaños, y una imagen puede incluir una pluralidad de unidades de predicción de diversos tamaños.
Esto puede causar una situación en la que un bloque que coincide exactamente con un área del bloque actual no esté definido en la imagen situada conjuntamente. Por consiguiente, en HEVC, el bloque situado conjuntamente se selecciona de una pluralidad de bloques incluidos en la imagen situada conjuntamente mediante un método de selección predeterminado.
El predictor de vector de movimiento temporal se genera escalando el vector de movimiento del bloque situado conjuntamente seleccionado en base a una distancia POC (Recuento de Orden de Imágenes). Los POC son números ordinales asignados a imágenes en orden de visualización. Una distancia POC corresponde a una distancia temporal entre dos imágenes. También se hace referencia al escalado en base a una distancia POC como escalado basado en POC. La expresión 1 a continuación es una expresión aritmética para realizar un escalado basado en POC sobre el vector de movimiento del bloque situado conjuntamente.
pmv = (tb/td) x colmv ... (Expresión 1).
Aquí, colmv es el vector de movimiento del bloque situado conjuntamente. pmv es el predictor de vector de movimiento temporal derivado del vector de movimiento del bloque situado conjuntamente. tb es una distancia POC firmada, que representa una diferencia entre la imagen actual y la imagen de referencia actual. td es una distancia POC firmada, que representa una diferencia entre la imagen situada conjuntamente y la imagen de referencia situada conjuntamente.
En el caso de que esté presente un predictor de vector de movimiento temporal válido, el predictor de vector de movimiento temporal se inserta en una lista ordenada de candidatos de vector de movimiento actual. El vector de movimiento usado para codificar el bloque actual se selecciona de la lista ordenada de candidatos de vector de movimiento actual. El vector de movimiento seleccionado se indica mediante un parámetro en un flujo de bits.
La Figura 1 es un diagrama de flujo que muestra una operación de un aparato de codificación de imagen según un ejemplo de referencia. En particular, la Figura 1 muestra un proceso de codificación de una imagen mediante inter predicción.
Primero, el aparato de codificación de imagen clasifica cada una de las imágenes de referencia como una imagen de referencia a corto plazo o una imagen de referencia a largo plazo (Paso S101). El aparato de codificación de imagen escribe información que indica la clasificación de cada una de las imágenes de referencia, en una cabecera del flujo de bits (Paso S102).
A continuación, el aparato de codificación de imagen identifica la imagen de referencia actual (Paso S103). El aparato de codificación de imagen deriva entonces el vector de movimiento actual (Paso S104). Un proceso de derivación se describirá en detalle más adelante.
Después de esto, el aparato de codificación de imagen genera un bloque de predicción, realizando compensación de movimiento usando la imagen de referencia actual y el vector de movimiento actual (Paso S105).
El aparato de codificación de imagen resta el bloque de predicción del bloque actual, para generar un bloque residual (Paso S106). Por último, el aparato de codificación de imagen codifica el bloque residual, para generar el flujo de bits que incluye el bloque residual codificado (Paso S107).
La Figura 2 es un diagrama de flujo que muestra una operación de un aparato de decodificación de imagen según el ejemplo de referencia. En particular, la Figura 2 muestra un proceso de decodificación de una imagen mediante inter predicción.
Primero, el aparato de decodificación de imagen obtiene el flujo de bits, y obtiene la información que indica la clasificación de cada una de las imágenes de referencia analizando sintácticamente la cabecera del flujo de bits (Paso S201). El aparato de decodificación de imagen también obtiene el bloque residual, analizando sintácticamente el flujo de bits (Paso S202).
A continuación, el aparato de decodificación de imagen identifica la imagen de referencia actual (Paso S203). El aparato de decodificación de imagen entonces deriva el vector de movimiento actual (Paso S204). Un proceso de derivación se describirá en detalle más adelante. Después de esto, el aparato de decodificación de imagen genera el bloque de predicción, realizando una compensación de movimiento usando la imagen de referencia actual y el vector de movimiento actual (Paso S205). Por último, el aparato de decodificación de imagen añade el bloque de predicción al bloque residual, para generar un bloque reconstruido (Paso S206).
La Figura 3 es un diagrama de flujo que muestra detalles del proceso de derivación mostrado en la Figura 1 y 2. A continuación se describe la operación de los aparatos de codificación de imagen. La operación del aparato de decodificación de imagen es la misma que la operación del aparato de codificación de imagen, con “codificación” que se sustituye por “decodificación”.
Primero, el aparato de codificación de imagen selecciona la imagen situada conjuntamente (Paso S301). A continuación, el aparato de codificación de imagen selecciona el bloque situado conjuntamente en la imagen situada conjuntamente (Paso S302). El aparato de codificación de imagen identifica entonces la imagen de referencia situada conjuntamente y el vector de movimiento situado conjuntamente (Paso S303). Después de esto, el aparato de codificación de imagen deriva el vector de movimiento actual mediante un esquema de derivación que implica escalado basado en POC (Paso S304).
La Figura 4 es un diagrama para explicar el bloque situado conjuntamente usado en el proceso de derivación mostrado en la Figura 3. El bloque situado conjuntamente se selecciona a partir de una pluralidad de bloques en la imagen situada conjuntamente.
La imagen situada conjuntamente es diferente de la imagen actual que incluye el bloque actual. Por ejemplo, la imagen situada conjuntamente es una imagen que precede inmediatamente o que sigue inmediatamente a la imagen actual en el orden de visualización. Con más detalle, por ejemplo, la imagen situada conjuntamente es una imagen de referencia enumerada primero en cualquiera de las dos listas de imágenes de referencia usadas para la codificación de imágenes B (codificación bipredictiva).
Un primer bloque que incluye una muestra c0 en la imagen situada conjuntamente es un candidato principal para el bloque situado conjuntamente, y al que también se hace referencia como bloque situado conjuntamente primario. Un segundo bloque que incluye una muestra c1 en la imagen situada conjuntamente es un segundo candidato principal para el bloque situado conjuntamente, y al que también se hace referencia como bloque situado conjuntamente secundario.
Permitamos que (x, y) sean coordenadas de una muestra superior izquierda tl en el bloque actual, w sea un ancho del bloque actual, y h sea una altura del bloque actual. Las coordenadas de la muestra c0 son (x w, y h). Las coordenadas de la muestra c1 son (x (w/2) - 1, y (h/2) - 1).
En el caso de que el primer bloque no esté disponible, el segundo bloque se selecciona como el bloque situado conjuntamente. Ejemplos del caso en el que el primer bloque no está disponible incluyen el caso en el que el primer bloque no está presente debido a que el bloque actual está situado lo más a la derecha o lo más inferior de la imagen, y el caso en que el primer bloque está codificado mediante intra predicción.
A continuación se describe un ejemplo más específico del proceso de derivación del predictor de vector de movimiento temporal como el vector de movimiento actual con referencia a la Figura 3 de nuevo.
Primero, el aparato de codificación de imagen selecciona la imagen situada conjuntamente (Paso S301). A continuación, el aparato de codificación de imagen selecciona el bloque situado conjuntamente (Paso S302). En el caso de que el primer bloque que incluye la muestra c0 mostrada en la Figura 4 esté disponible, el primer bloque se selecciona como el bloque situado conjuntamente. En el caso de que el primer bloque no esté disponible y el segundo bloque que incluye la muestra c1 mostrada en la Figura 4 esté disponible, el segundo bloque se selecciona como el bloque situado conjuntamente.
En el caso de que se seleccione el bloque situado conjuntamente disponible, el aparato de codificación de imagen establece el predictor de vector de movimiento temporal como disponible. En el caso de que el bloque situado conjuntamente disponible no se seleccione, el aparato de codificación de imagen establece el predictor de vector de movimiento temporal como no disponible.
En el caso de que el predictor de vector de movimiento temporal esté configurado como disponible, el aparato de codificación de imagen identifica el vector de movimiento situado conjuntamente como vector de movimiento base. El aparato de codificación de imagen también identifica la imagen de referencia situada conjuntamente (Paso S303). El aparato de codificación de imagen entonces deriva el predictor de vector de movimiento temporal a partir del vector de movimiento base escalando según la Expresión 1 (Paso S304).
A través del proceso descrito anteriormente, el aparato de codificación de imagen y el aparato de decodificación de imagen cada uno deriva el predictor de vector de movimiento temporal como el vector de movimiento actual.
No obstante, hay casos en que es difícil derivar el vector de movimiento actual apropiado, dependiendo de las relaciones entre la imagen actual, la imagen de referencia actual, la imagen situada conjuntamente y la imagen de referencia situada conjuntamente.
Por ejemplo, en el caso de que la imagen de referencia actual sea una imagen de referencia a largo plazo, hay una posibilidad de que la distancia temporal entre la imagen de referencia actual y la imagen actual sea larga. En el caso de que la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo, hay una posibilidad de que la distancia temporal entre la imagen de referencia situada conjuntamente y la imagen situada conjuntamente sea larga.
Estos casos conllevan una posibilidad de que se genere un vector de movimiento actual extremadamente grande o pequeño como resultado del escalado basado en POC. Esto causa degradación en la precisión de predicción y degradación de la eficiencia de codificación. En particular, el vector de movimiento actual extremadamente grande o pequeño no se puede expresar adecuadamente con un número fijo de bits, conduciendo a una degradación significativa de la precisión de predicción y a la degradación de la eficiencia de codificación.
Un método de codificación de imagen según un aspecto de la presente invención es un método de codificación de imagen de codificación de cada uno de los bloques de imágenes, el método de codificación de imagen que incluye: derivar a un candidato para un vector de movimiento de un bloque actual a ser codificado, a partir de un vector de movimiento de un bloque situado conjuntamente que es un bloque incluido en una imagen diferente de una imagen que incluye el bloque actual; añadir el candidato derivado a una lista; seleccionar el vector de movimiento del bloque actual de la lista a la que se añade el candidato; y codificar el bloque actual usando el vector de movimiento seleccionado y una imagen de referencia del bloque actual, en donde la derivación incluye: determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, y si imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo; derivar el candidato a partir del vector de movimiento del bloque situado conjuntamente mediante un primer esquema de derivación que no implica un escalado en base a una distancia temporal, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo; y derivar el candidato a partir del vector de movimiento del bloque situado conjuntamente mediante un segundo esquema de derivación que implica un escalado en base a una distancia temporal, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a corto plazo. De este modo, el candidato para el vector de movimiento actual se deriva apropiadamente sin ser extremadamente grande o pequeño. Esto contribuye a una mejora de la precisión de predicción y una mejora de la eficiencia de codificación.
Por ejemplo, en la derivación: la derivación del candidato a partir del vector de movimiento del bloque situado conjuntamente no se puede realizar en el caso de determinar que una de las imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo y la otra de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a corto plazo; y la derivación del candidato a partir del vector de movimiento del bloque situado conjuntamente se puede realizar en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo o en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a corto plazo.
De este modo, En el caso de que se espere una baja precisión de predicción, el candidato para el vector de movimiento actual no se deriva del vector de movimiento del bloque situado conjuntamente. La degradación de la precisión de predicción se puede evitar de esta forma.
Por ejemplo, la codificación puede incluir además información de codificación que indica si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, e información que indica si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
De este modo, la información que indica, para cada imagen de referencia, si la imagen de referencia es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo se proporciona desde el lado de codificación al lado de decodificación. Esto permite que el lado de codificación y el lado de decodificación obtengan el mismo resultado de determinación y realicen el mismo proceso.
Por ejemplo, la derivación puede incluir: determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando una distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual; y determinar si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando una distancia temporal entre la imagen de referencia del bloque situado conjuntamente y la imagen que incluye el bloque situado conjuntamente.
De este modo, para cada imagen de referencia, si la imagen de referencia es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo se determina simple y apropiadamente en base a la distancia temporal. Por ejemplo, la derivación puede incluir determinar si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se codifica el bloque situado conjuntamente.
De este modo, se determina con más precisión si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
Por ejemplo, la derivación puede incluir determinar si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se codifica el bloque actual.
De este modo, información que indica si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo no se necesita conservar durante mucho tiempo.
Por ejemplo, la derivación puede incluir: derivar el vector de movimiento del bloque situado conjuntamente como el candidato, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo; y derivar el candidato escalando el vector de movimiento del bloque situado conjuntamente usando una relación, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a corto plazo, la relación que es una relación de una distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual a una distancia temporal entre la imagen de referencia del bloque situado conjuntamente y la imagen que incluye el bloque situado conjuntamente.
De este modo, en el caso de que las dos imágenes de referencia cada una sea una imagen de referencia a largo plazo, se omite el escalado, con la posibilidad de reducir el cálculo. En el caso de que las dos imágenes de referencia cada una sea una imagen de referencia a corto plazo, el candidato para el vector de movimiento actual se deriva de manera apropiada en base a la distancia temporal.
Por ejemplo, la derivación puede incluir además, sin derivar al candidato del bloque situado conjuntamente, seleccionar otro bloque situado conjuntamente y derivar al candidato de un vector de movimiento del otro bloque situado conjuntamente mediante el segundo esquema de derivación, en el caso de determinar que la imagen de referencia del bloque actual es una imagen de referencia a corto plazo y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo, el otro bloque situado conjuntamente que se codifica con referencia a una imagen de referencia a corto plazo.
De este modo, se selecciona el bloque para derivar el candidato de alta precisión de predicción. Esto contribuye a la mejora de la precisión de predicción.
Además, un método de decodificación de imagen según un aspecto de la presente invención es un método de decodificación de imagen de decodificación de cada uno de los bloques de imágenes, el método de decodificación de imagen que incluye: derivar a un candidato para un vector de movimiento de un bloque actual a ser decodificado, a partir de un vector de movimiento de un bloque situado conjuntamente que es un bloque incluido en una imagen diferente de una imagen que incluye el bloque actual; añadir el candidato derivado a una lista; seleccionar el vector de movimiento del bloque actual de la lista a la que se añade el candidato; y decodificar el bloque actual usando el vector de movimiento seleccionado y una imagen de referencia del bloque actual, en donde la derivación incluye: determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, y si una imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo; derivar el candidato a partir del vector de movimiento del bloque situado conjuntamente mediante un primer esquema de derivación que no implica escalado en base a una distancia temporal, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo; y derivar el candidato a partir del vector de movimiento del bloque situado conjuntamente mediante un segundo esquema de derivación que implica un escalado en base a una distancia temporal, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a corto plazo.
De este modo, el candidato para el vector de movimiento actual se deriva apropiadamente sin ser extremadamente grande o pequeño. Esto contribuye a una mejora de la precisión de predicción y a una mejora de la eficiencia de codificación.
Por ejemplo, en la derivación: la derivación del candidato a partir del vector de movimiento del bloque situado conjuntamente no se puede realizar en el caso de determinar que una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo y la otra de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a corto plazo; y la derivación del candidato a partir del vector de movimiento del bloque situado conjuntamente se puede realizar en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo o en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a corto plazo.
De este modo, en el caso de que se espere una baja precisión de predicción, el candidato para el vector de movimiento actual no se deriva del vector de movimiento del bloque situado conjuntamente. La degradación de la precisión de predicción se puede evitar de esta forma.
Por ejemplo, la decodificación puede incluir además información de decodificación que indica si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, e información que indica si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en donde la derivación incluye: determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando la información que indica si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo; y determinar si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando la información que indica si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
De este modo, la información que indica, para cada imagen de referencia, si la imagen de referencia es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo se proporciona desde el lado de codificación al lado de decodificación. Esto permite que el lado de codificación y el lado de decodificación obtengan el mismo resultado de determinación y realicen el mismo proceso.
Por ejemplo, la derivación puede incluir: determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando una distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual; y determinar si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando una distancia temporal entre la imagen de referencia del bloque situado conjuntamente y la imagen que incluye el bloque situado conjuntamente.
De este modo, para cada imagen de referencia, si la imagen de referencia es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, se determina de manera simple y apropiada en base a la distancia temporal.
Por ejemplo, la derivación puede incluir determinar si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se decodifica el bloque situado conjuntamente.
De este modo, se determina de manera más precisa si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
Por ejemplo, la derivación puede incluir determinar si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se decodifica el bloque actual.
De este modo, información que indica si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo no se necesita conservar durante mucho tiempo.
Por ejemplo, la derivación puede incluir: derivar el vector de movimiento del bloque situado conjuntamente como el candidato, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo; y derivar el candidato escalando el vector de movimiento del bloque situado conjuntamente usando una relación, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a corto plazo, la relación que es una relación de una distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual a una distancia temporal entre la imagen de referencia del bloque situado conjuntamente y la imagen que incluye el bloque situado conjuntamente.
De este modo, en el caso de que las dos imágenes de referencia cada una sea una imagen de referencia a largo plazo, se omite el escalado, con la posibilidad de reducir el cálculo. En el caso de que las dos imágenes de referencia cada una sea una imagen de referencia a corto plazo, el candidato para el vector de movimiento actual se deriva de manera apropiada en base a la distancia temporal.
Por ejemplo, la derivación puede incluir además, sin derivar el candidato del bloque situado conjuntamente, seleccionar otro bloque situado conjuntamente y derivar el candidato de un vector de movimiento del otro bloque situado conjuntamente mediante el segundo esquema de derivación, en el caso de determinar que la imagen de referencia del bloque actual sea una imagen de referencia a corto plazo y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo, el otro bloque situado conjuntamente que se decodifica con referencia a una imagen de referencia a corto plazo.
De este modo, se selecciona el bloque para derivar el candidato de alta precisión de predicción. Esto contribuye a la mejora de la precisión de predicción.
Además, un método de suministro de contenido según un aspecto de la presente invención es un método de suministro de contenido de transmisión, desde un servidor en el que se graban datos de imagen codificados mediante el método de codificación de imagen descrito anteriormente, los datos de imagen en respuesta a una solicitud de un terminal externo.
Estos aspectos generales y específicos se pueden implementar usando un sistema, un aparato, un circuito integrado, un programa de ordenador o un medio de grabación legible por ordenador no transitorio, tal como un CD-ROM, o cualquier combinación de sistemas, aparatos, métodos, circuitos integrados, programas de ordenador y medios de grabación.
En lo sucesivo, se describen ciertas realizaciones ejemplares con mayor detalle con referencia a los dibujos que se acompañan.
[Realización 1]
La Figura 5 es un diagrama de bloques de un aparato de codificación de imagen según la Realización 1. Un aparato de codificación de imagen 500 mostrado en la Figura 5 codifica una imagen sobre una base de bloque, y emite un flujo de bits que incluye la imagen codificada. En detalle, el aparato de codificación de imagen 500 incluye una unidad de sustracción 501, una unidad de transformación 502, una unidad de cuantificación 503, un codificador de entropía 504, una unidad de cuantificación inversa 505, una unidad de transformación inversa 506, una unidad de adición 507, una memoria de bloque 508, una memoria de imagen 509, un unidad de intra predicción 510, una unidad de inter predicción 511 y una unidad de selección 512.
La unidad de sustracción 501 resta una imagen de predicción de una imagen proporcionada al aparato de codificación de imagen 500, para generar una imagen diferencial. La unidad de transformación 502 transforma en frecuencia la imagen diferencial generada por la unidad de sustracción 501, para generar una pluralidad de coeficientes de frecuencia. La unidad de cuantificación 503 cuantifica la pluralidad de coeficientes de frecuencia generados por la unidad de transformación 502, para generar una pluralidad de coeficientes de cuantificación. El codificador de entropía 504 codifica la pluralidad de coeficientes de cuantificación generados por la unidad de cuantificación 503, para generar un flujo de bits.
La unidad de cuantificación inversa 505 cuantifica inversamente la pluralidad de coeficientes de cuantificación generados por la unidad de cuantificación 503, para restaurar la pluralidad de coeficientes de frecuencia. La unidad de transformación inversa 506 de transforma en frecuencia inversamente la pluralidad de coeficientes de frecuencia restaurados por la unidad de cuantificación inversa 505, para restaurar la imagen diferencial. La unidad de adición 507 añade la imagen de predicción a la imagen diferencial restaurada por la unidad de transformación inversa 506, para restaurar (reconstruir) la imagen. La unidad de adición 507 almacena la imagen restaurada (imagen reconstruida) en la memoria de bloque 508 y la memoria de imagen 509.
La memoria de bloque 508 es una memoria para almacenar la imagen restaurada por la unidad de adición 507, sobre una base de bloque. La memoria de imagen 509 es una memoria para almacenar la imagen restaurada por la unidad de adición 507, sobre una base de imagen.
La unidad de intra predicción 510 realiza intra predicción haciendo referencia a la memoria de bloque 508. Es decir, la unidad de intra predicción 510 predice un valor de píxel en una imagen a partir de otro valor de píxel en la imagen. La unidad de intra predicción 510 genera de este modo la imagen de predicción. La unidad de inter predicción 511 realiza inter predicción haciendo referencia a la memoria de imagen 509. Es decir, la unidad de inter predicción 511 predice un valor de píxel en una imagen a partir de un valor de píxel en otra imagen. La unidad de inter predicción 511 genera de este modo la imagen de predicción.
La unidad de selección 512 selecciona cualquiera de la imagen de predicción generada por la unidad de intra predicción 510 y la imagen de predicción generada por la unidad de inter predicción 511, y emite la imagen de predicción seleccionada a la unidad de sustracción 501 y a la unidad de adición 507.
Aunque no se muestra en la Figura 5, el aparato de codificación de imagen 500 puede incluir una unidad de filtrado de desbloqueo. La unidad de filtrado de desbloqueo puede realizar un proceso de filtrado de desbloqueo sobre la imagen restaurada por la unidad de adición 507, para eliminar ruido cerca de los límites del bloque. El aparato de codificación de imagen 500 también puede incluir una unidad de control que controla cada proceso en el aparato de codificación de imagen 500.
La Figura 6 es un diagrama de bloques de un aparato de decodificación de imagen según esta realización. Un aparato de decodificación de imagen 600 mostrado en la Figura 6 obtiene el flujo de bits, y decodifica la imagen sobre una base de bloque. En detalle, el aparato de decodificación de imagen 600 incluye un decodificador de entropía 601, una unidad de cuantificación inversa 602, una unidad de transformación inversa 603, una unidad de adición 604, una memoria de bloque 605, una memoria de imagen 606, una unidad de intra predicción 607, una unidad de inter predicción 608 y una unidad de selección 609.
El decodificador de entropía 601 decodifica la pluralidad codificada de coeficientes de cuantificación incluidos en el flujo de bits. La unidad de cuantificación inversa 602 cuantifica inversamente la pluralidad de coeficientes de cuantificación decodificados por el decodificador de entropía 601, para restaurar la pluralidad de coeficientes de frecuencia. La unidad de transformación inversa 603 transforma en frecuencia inversamente la pluralidad de coeficientes de frecuencia restaurados por la unidad de cuantificación inversa 602, para restaurar la imagen diferencial.
La unidad de adición 604 añade la imagen de predicción a la imagen diferencial restaurada por la unidad de transformación inversa 603, para restaurar (reconstruir) la imagen. La unidad de adición 604 emite la imagen restaurada (imagen reconstruida). La unidad de adición 604 también almacena la imagen restaurada en la memoria de bloque 605 y la memoria de imagen 606.
La memoria de bloque 605 es una memoria para almacenar la imagen restaurada por la unidad de adición 604, sobre una base de bloque. La memoria de imagen 606 es una memoria para almacenar la imagen restaurada por la unidad de adición 604, sobre una base de imagen.
La unidad de intra predicción 607 realiza intra predicción haciendo referencia a la memoria de bloque 605. Es decir, la unidad de intra predicción 607 predice un valor de píxel en una imagen a partir de otro valor de píxel en la imagen. La unidad de intra predicción 607 genera de este modo la imagen de predicción. La unidad de inter predicción 608 realiza inter predicción haciendo referencia a la memoria de imagen 606. Es decir, la unidad de inter predicción 608 predice un valor de píxel en una imagen a partir de un valor de píxel en otra imagen. La unidad de inter predicción 608 genera de este modo la imagen de predicción.
La unidad de selección 609 selecciona cualquiera de la imagen de predicción generada por la unidad de intra predicción 607 y la imagen de predicción generada por la unidad de inter predicción 608, y emite la imagen de predicción seleccionada a la unidad de adición 604.
Aunque no se muestra en la Figura 6, el aparato de decodificación de imagen 600 puede incluir una unidad de filtrado de desbloqueo. La unidad de filtrado de desbloqueo puede realizar un proceso de filtrado de desbloqueo sobre la imagen restaurada por la unidad de adición 604, para eliminar ruido cerca de los límites del bloque. El aparato de decodificación de imagen 600 también puede incluir una unidad de control que controla cada proceso en el aparato de decodificación de imagen 600.
El proceso de codificación y el proceso de decodificación mencionados anteriormente se realizan sobre una base de unidad de codificación. El proceso de transformación, el proceso de cuantificación, el proceso de transformación inversa y el proceso de cuantificación inversa se realizan sobre una base de unidad de transformación (TU) donde la unidad de transformación se incluye en la unidad de codificación. El proceso de predicción se realiza sobre una base de unidad de predicción, donde la unidad de predicción se incluye en la unidad de codificación.
La Figura 7 es un diagrama de flujo que muestra una operación del aparato de codificación de imagen 500 mostrado en la Figura 5. En particular, la Figura 7 muestra un proceso de codificación de una imagen mediante inter predicción.
Primero, la unidad de inter predicción 511 clasifica cada una de las imágenes de referencia como una imagen de referencia a corto plazo o una imagen de referencia a largo plazo (Paso S701).
La imagen de referencia a largo plazo es una imagen de referencia adecuada para su uso a largo plazo. La imagen de referencia a largo plazo se define como una imagen de referencia para uso más prolongado que la imagen de referencia a corto plazo. Por consiguiente, existe una alta posibilidad de que la imagen de referencia a largo plazo se conserve en la memoria de imagen 509 durante mucho tiempo. La imagen de referencia a largo plazo está designada por un POC absoluto que no depende de la imagen actual. Mientras tanto, la imagen de referencia a corto plazo se designa por un POC en relación con la imagen actual.
A continuación, el codificador de entropía 504 escribe información que indica la clasificación de cada una de las imágenes de referencia, en una cabecera del flujo de bits (Paso S702). Es decir, el codificador de entropía 504 escribe información que indica, para cada una de las imágenes de referencia, si la imagen de referencia es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
Después de esto, la unidad de inter predicción 511 identifica la imagen de referencia del bloque actual a ser codificada (a ser predicha) (Paso S703). La unidad de inter predicción 511 puede identificar una imagen de referencia de un bloque adyacente al bloque actual, como la imagen de referencia actual. Alternativamente, la unidad de inter predicción 511 puede identificar la imagen de referencia actual por un índice de referencia predeterminado. La unidad de inter predicción 511 deriva entonces el vector de movimiento actual (Paso S704). Un proceso de derivación se describirá en detalle más adelante.
La unidad de inter predicción 511 genera el bloque de predicción, realizando compensación de movimiento usando la imagen de referencia actual y el vector de movimiento actual (Paso S705). Después de esto, la unidad de sustracción 501 resta el bloque de predicción del bloque actual (imagen original), para generar el bloque residual (Paso S706). Por último, el codificador de entropía 504 codifica el bloque residual para generar el flujo de bits que incluye el bloque residual (Paso S707).
La Figura 8 es un diagrama de flujo que muestra una operación del aparato de decodificación de imagen 600 mostrado en la Figura 6. En particular, la Figura 8 muestra un proceso de decodificación de una imagen mediante inter predicción.
Primero, el decodificador de entropía 601 obtiene el flujo de bits, y obtiene la información que indica la clasificación de cada una de las imágenes de referencia analizando sintácticamente la cabecera del flujo de bits (Paso S801). Es decir, el decodificador de entropía 601 obtiene la información que indica, para cada una de las imágenes de referencia, si la imagen de referencia es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo. El decodificador de entropía 601 también obtiene el bloque residual, analizando sintácticamente el flujo de bits (Paso S802).
A continuación, la unidad de inter predicción 608 identifica la imagen de referencia actual (Paso S803). La unidad de inter predicción 608 puede identificar una imagen de referencia de un bloque adyacente al bloque actual, como la imagen de referencia actual. Alternativamente, la unidad de inter predicción 608 puede identificar la imagen de referencia actual mediante un índice de referencia predeterminado.
Después de esto, la unidad de inter predicción 608 deriva el vector de movimiento actual (Paso S804). Un proceso de derivación se describirá en detalle más adelante. La unidad de inter predicción 608 genera entonces el bloque de predicción, realizando compensación de movimiento usando la imagen de referencia actual y el vector de movimiento actual (Paso S805). Por último, la unidad de adición 604 añade el bloque de predicción al bloque residual, para generar el bloque reconstruido (Paso S806).
La Figura 9 es un diagrama de flujo que muestra detalles del proceso de derivación mostrado en las Figura 7 y 8. A continuación se describe principalmente la operación de la unidad de inter predicción 511 mostrada en la Figura 5. La operación de la unidad de inter predicción 608 mostrada en la Figura 6 es la misma que la operación de la unidad de inter predicción 511 mostrada en la Figura 5, con “codificación” que se sustituye por “decodificación”.
Primero, la unidad de inter predicción 511 selecciona la imagen situada conjuntamente de una pluralidad de imágenes de referencia disponibles (Paso S901). La pluralidad de imágenes de referencia disponibles son imágenes codificadas, y se conservan en la memoria de imagen 509.
A continuación, la unidad de inter predicción 511 selecciona el bloque situado conjuntamente en la imagen situada conjuntamente (Paso S902). La unidad de inter predicción 511 identifica entonces la imagen de referencia situada conjuntamente y el vector de movimiento situado conjuntamente (Paso S903).
Después de esto, la unidad de inter predicción 511 determina si cualquiera de la imagen de referencia actual y la imagen de referencia situada conjuntamente es o no una imagen de referencia a largo plazo (Paso S904). En el caso de determinar que cualquiera de la imagen de referencia actual y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo (Paso S904: Sí), la unidad de inter predicción 511 deriva el vector de movimiento actual mediante un primer esquema de derivación (Paso S905).
El primer esquema de derivación es un esquema que usa el vector de movimiento situado conjuntamente. Con más detalle, el primer esquema de derivación es un esquema de derivación de manera directa del vector de movimiento situado conjuntamente como el vector de movimiento actual, sin escalado basado en POC. El primer esquema de derivación puede ser un esquema de derivación del vector de movimiento actual escalando el vector de movimiento situado conjuntamente en una relación predeterminada.
En el caso de determinar que ninguna de la imagen de referencia actual y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo (Paso S904: No), la unidad de inter predicción 511 deriva el vector de movimiento actual mediante un segundo esquema de derivación (Paso S906). Es decir, en el caso de determinar que la imagen de referencia actual y la imagen de referencia situada conjuntamente cada una sea una imagen de referencia a corto plazo, la unidad de inter predicción 511 deriva el vector de movimiento actual mediante el segundo esquema de derivación.
El segundo esquema de derivación es un esquema que usa la imagen de referencia actual, la imagen de referencia situada conjuntamente y el vector de movimiento situado conjuntamente. Con más detalle, el segundo esquema de derivación es un esquema de derivación del vector de movimiento actual realizando escalado basado en POC (Expresión 1) sobre el vector de movimiento situado conjuntamente.
A continuación se describe un ejemplo más específico del proceso de derivación del vector de movimiento actual con referencia a la Figura 9 de nuevo. El proceso de derivación descrito anteriormente se puede cambiar de la siguiente manera.
Primero, la unidad de inter predicción 511 selecciona la imagen situada conjuntamente (Paso S901). Con más detalle, en el caso de que un parámetro de cabecera de segmento slice_type sea B y un parámetro de cabecera de segmento collocated_from_l0_flag sea 0, se selecciona una imagen RefPicList1[0] como la imagen situada conjuntamente. La imagen RefPicList1[0] es una imagen de referencia enumerada primero en una lista de imágenes de referencia ordenada RefPicList1.
En el caso de que el parámetro de cabecera de segmento slice_type no sea B o en el caso de que el parámetro de cabecera de segmento collocated_from_l0_flag no sea 0, se selecciona una imagen RefPicList0[0] como la imagen situada conjuntamente. La imagen RefPicList0[0] es una imagen de referencia enumerada primero en una lista de imágenes de referencia ordenada RefPicList0.
A continuación, la unidad de inter predicción 511 selecciona el bloque situado conjuntamente (Paso S902). En el caso de que esté disponible el primer bloque que incluye la muestra c0 mostrada en la Figura 4, el primer bloque se selecciona como el bloque situado conjuntamente. En el caso de el que no esté disponible el primer bloque y esté disponible el segundo bloque que incluye la muestra c1 mostrada en la Figura 4, el segundo bloque se selecciona como el bloque situado conjuntamente.
En el caso de que se seleccione el bloque situado conjuntamente disponible, la unidad de inter predicción 511 establece el predictor de vector de movimiento temporal como disponible. En el caso de que no se seleccione el bloque situado conjuntamente disponible, la unidad de inter predicción 511 establece el predictor de vector de movimiento temporal como no disponible.
En el caso de que el predictor de vector de movimiento temporal se establezca como disponible, la unidad de inter predicción 511 identifica el vector de movimiento situado conjuntamente como el vector de movimiento base. La unidad de inter predicción 511 también identifica la imagen de referencia situada conjuntamente (Paso S903). En el caso de que el bloque situado conjuntamente tenga una pluralidad de vectores de movimiento, es decir, en el caso de que el bloque situado conjuntamente sea codificado usando una pluralidad de vectores de movimiento, la unidad de inter predicción 511 selecciona el vector de movimiento base según un orden de prioridad predeterminado.
Por ejemplo, en el caso de que la imagen de referencia actual sea una imagen de referencia a corto plazo, la unidad de inter predicción 511 puede seleccionar preferentemente un vector de movimiento que apunte a una ubicación en una imagen de referencia a corto plazo de entre la pluralidad de vectores de movimiento, como el vector de movimiento base.
En detalle, en el caso de que esté presente un vector de movimiento que apunte a una ubicación en una imagen de referencia a corto plazo, la unidad de inter predicción 511 selecciona el vector de movimiento como el vector de movimiento base. En el caso de que no esté presente un vector de movimiento que apunte a una ubicación en una imagen de referencia a corto plazo, la unidad de inter predicción 511 selecciona un vector de movimiento que apunta a una ubicación en una imagen de referencia a largo plazo, como el vector de movimiento base.
Después de esto, en el caso de que cualquiera de la imagen de referencia actual y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo (Paso S904: Sí), la unidad de inter predicción 511 deriva el vector de movimiento base como el predictor de vector de movimiento temporal (Paso S905).
En el caso de que ninguna de las dos imágenes de referencia sea una imagen de referencia a largo plazo (Paso S904: No), por otra parte, la unidad de inter predicción 511 deriva el predictor de vector de movimiento temporal a partir del vector de movimiento base mediante escalado basado en POC (Paso S906).
Como se ha descrito anteriormente, el predictor de vector de movimiento temporal se establece como disponible o no disponible. La unidad de inter predicción 511 inserta el predictor de vector de movimiento temporal establecido como disponible, en una lista ordenada de candidatos de vector de movimiento actual. La lista ordenada contiene no solamente el predictor de vector de movimiento temporal sino diversos vectores de movimiento como candidatos. La unidad de inter predicción 511 selecciona un vector de movimiento de la lista ordenada, como el vector de movimiento actual. En este caso, la unidad de inter predicción 511 selecciona un vector de movimiento de la más alta precisión de predicción para el bloque actual o un vector de movimiento que permite que el bloque actual sea codificado con la más alta eficiencia de codificación, de la lista ordenada. Un índice correspondiente al vector de movimiento seleccionado se escribe en el flujo de bits.
A través del proceso descrito anteriormente, el vector de movimiento actual se deriva apropiadamente a partir del vector de movimiento situado conjuntamente, sin que sea extremadamente grande o pequeño. Esto contribuye a la mejora de la precisión de predicción y a la mejora de la eficiencia de codificación.
Obsérvese que el estado de cada imagen de referencia en cuanto a si la imagen de referencia es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo se puede cambiar según el momento. Por ejemplo, una imagen de referencia a corto plazo se puede cambiar más tarde a una imagen de referencia a largo plazo, y una imagen de referencia a largo plazo se puede cambiar más tarde a una imagen de referencia a corto plazo.
Además, la unidad de inter predicción 511 puede determinar si la imagen de referencia situada conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se codifica el bloque situado conjuntamente. El aparato de codificación de imagen 500 entonces puede incluir una memoria adicional para contener el resultado de la determinación desde cuando el bloque situado conjuntamente se codifica hasta cuando se codifica el bloque actual.
De esta forma, se determina de manera más precisa si la imagen de referencia situada conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
Como alternativa, la unidad de inter predicción 511 puede determinar si la imagen de referencia situada conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se codifica el bloque actual.
De esta forma, la información de si la imagen de referencia situada conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo no se necesita conservar durante mucho tiempo.
Además, la unidad de inter predicción 511 puede determinar si la imagen de referencia actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando una distancia temporal entre la imagen de referencia actual y la imagen actual.
Como ejemplo, en el caso de que la distancia temporal entre la imagen de referencia actual y la imagen actual sea mayor que un umbral predeterminado, la unidad de inter predicción 511 determina que la imagen de referencia actual es una imagen de referencia a largo plazo. En el caso de que la distancia temporal no sea mayor que el umbral predeterminado, la unidad de inter predicción 511 determina que la imagen de referencia actual es una imagen de referencia a corto plazo.
Del mismo modo, la unidad de inter predicción 511 puede determinar si la imagen de referencia situada conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando una distancia temporal entre la imagen de referencia situada conjuntamente y la imagen situada conjuntamente.
Como ejemplo, en el caso de que la distancia temporal entre la imagen de referencia situada conjuntamente y la imagen situada conjuntamente sea mayor que un umbral predeterminado, la unidad de inter predicción 511 determina que la imagen de referencia situada conjuntamente es una imagen de referencia a largo plazo. En el caso de que la distancia temporal no sea mayor que el umbral predeterminado, la unidad de inter predicción 511 determina que la imagen de referencia situada conjuntamente es una imagen de referencia a corto plazo.
La unidad de inter predicción 608 en el aparato de decodificación de imagen 600 puede determinar, para cada imagen de referencia, si la imagen de referencia es o no una imagen de referencia a largo plazo o una imagen de referencia a corto plazo en base a una distancia temporal, de la misma manera que la unidad de inter predicción 511 en el aparato de codificación de imagen 500. En tal caso, no necesita ser codificada la información que indica, para cada imagen de referencia, si la imagen de referencia es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
Con respecto a cada uno de los otros procesos descritos en esta realización, también, cada elemento estructural en el aparato de decodificación de imagen 600 realiza el mismo proceso que el elemento estructural correspondiente en el aparato de codificación de imagen 500, como resultado de lo cual se decodifica apropiadamente la imagen codificada con alta eficiencia de codificación.
Las operaciones descritas anteriormente también son aplicables a las otras realizaciones. Cualquiera de las estructuras y operaciones descritas en esta realización se puede incorporar en las otras realizaciones, y cualquiera de las estructuras y operaciones descritas en las otras realizaciones se puede incorporar en esta realización.
[Realización 2]
Un aparato de codificación de imagen y un aparato de decodificación de imagen según la Realización 2 tienen las mismas estructuras que las de la Realización 1. Por lo tanto, las operaciones del aparato de codificación de imagen y el aparato de decodificación de imagen según esta realización se describen a continuación, usando la estructura del aparato de codificación de imagen 500 mostrado en la Figura 5 y la estructura del aparato de decodificación de imagen 600 mostrado en la Figura 6.
El aparato de codificación de imagen 500 según esta realización realiza la operación mostrada en la Figura 7, como en la Realización 1. El aparato de decodificación de imagen 600 según esta realización realiza la operación mostrada en la Figura 8, como en la Realización 1. Esta realización difiere de la Realización 1 en el proceso de derivación de vector de movimiento actual. Esto se describe en detalle a continuación.
La Figura 10 es un diagrama de flujo que muestra detalles del proceso de derivación según esta realización. La unidad de inter predicción 511 según esta realización realiza la operación mostrada en la Figura 10, en lugar de la operación mostrada en la Figura 9. A continuación se describe principalmente la operación de la unidad de inter predicción 511 mostrada en la Figura 5. La operación de la unidad de inter predicción 608 mostrada en la Figura 6 es la misma que la operación de la unidad de inter predicción 511 mostrada en la Figura 5, con “codificación” que se sustituye por “decodificación”.
Primero, la unidad de inter predicción 511 selecciona la imagen situada conjuntamente de la pluralidad de imágenes de referencia disponibles (Paso S1001). A continuación, la unidad de inter predicción 511 selecciona el bloque situado conjuntamente en la imagen situada conjuntamente (Paso S1002). La unidad de inter predicción 511 identifica entonces la imagen de referencia situada conjuntamente y el vector de movimiento situado conjuntamente (Paso S1003).
Después de esto, la unidad de inter predicción 511 determina si la imagen de referencia actual es o no una imagen de referencia a largo plazo (Paso S1004). En el caso de determinar que la imagen de referencia actual sea una imagen de referencia a largo plazo (Paso S1004: Sí), la unidad de inter predicción 511 deriva el vector de movimiento actual mediante el primer esquema de derivación igual que en la Realización 1 (Paso S1005).
En el caso de determinar que la imagen de referencia actual no sea una imagen de referencia a largo plazo (Paso S1004: No), la unidad de inter predicción 511 determina si la imagen de referencia situada conjuntamente es o no una imagen de referencia a largo plazo (Paso S1006).
En el caso de determinar que la imagen de referencia situada conjuntamente no sea una imagen de referencia a largo plazo (Paso S1006: No), la unidad de inter predicción 511 deriva el vector de movimiento actual mediante el segundo esquema de derivación igual que en la Realización 1 (Paso S1007). Es decir, en el caso de determinar que la imagen de referencia actual y la imagen de referencia situada conjuntamente cada una sea una imagen de referencia a corto plazo, la unidad de inter predicción 511 deriva el vector de movimiento actual mediante el segundo esquema de derivación.
En el caso de determinar que la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo (Paso S1006: Sí), la unidad de inter predicción 511 selecciona otro bloque situado conjuntamente en la imagen situada conjuntamente (Paso S1008). En el ejemplo mostrado en la Figura 10, un bloque codificado con referencia a una imagen de referencia a corto plazo se selecciona como el otro bloque situado conjuntamente.
Después de esto, la unidad de inter predicción 511 identifica la imagen de referencia situada conjuntamente y el vector de movimiento situado conjuntamente correspondiente al otro bloque situado conjuntamente (Paso S1009). La unidad de inter predicción 511 entonces deriva el vector de movimiento actual mediante el segundo esquema de derivación que usa escalado basado en POC (Paso S1010).
En detalle, en el caso de que la imagen de referencia del bloque actual sea una imagen de referencia a corto plazo y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo, la unidad de inter predicción 511 no deriva el vector de movimiento actual a partir del vector de movimiento del bloque situado conjuntamente. La unidad de inter predicción 511 en su lugar selecciona otro bloque situado conjuntamente codificado con referencia a una imagen de referencia a corto plazo, y deriva el vector de movimiento actual a partir del vector de movimiento del otro bloque situado conjuntamente seleccionado.
Como ejemplo, en el caso de que la imagen de referencia del bloque actual sea una imagen de referencia a corto plazo y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo, la unidad de inter predicción 511 busca un bloque codificado con referencia a una imagen de referencia a corto plazo. La unidad de inter predicción 511 selecciona el bloque codificado con referencia a la imagen de referencia a corto plazo, como el otro bloque situado conjuntamente.
Como otro ejemplo, en el caso de que la imagen de referencia del bloque actual sea una imagen de referencia a corto plazo y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo, la unidad de inter predicción 511 primero busca un bloque codificado con referencia a una imagen de referencia a corto plazo.
En el caso de que esté presente el bloque codificado con referencia a la imagen de referencia a corto plazo, la unidad de inter predicción 511 selecciona el bloque como el otro bloque situado conjuntamente. En el caso de que no esté presente el bloque codificado con referencia a la imagen de referencia a corto plazo, la unidad de inter predicción 511 busca un bloque codificado con referencia a una imagen de referencia a largo plazo. La unidad de inter predicción 511 selecciona el bloque codificado con referencia a la imagen de referencia a largo plazo, como el otro bloque situado conjuntamente.
Por ejemplo, la unidad de inter predicción 511 selecciona primero el primer bloque mostrado en la Figura 4 como el bloque situado conjuntamente. En el caso de que la imagen de referencia actual sea una imagen de referencia a corto plazo y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo, entonces la unidad de inter predicción 511 selecciona nuevamente el segundo bloque mostrado en la Figura 4 como el bloque situado conjuntamente.
En el ejemplo mencionado anteriormente, la unidad de inter predicción 511 puede seleccionar el segundo bloque mostrado en la Figura 4 como el bloque situado conjuntamente solamente en el caso de que la imagen de referencia del segundo bloque sea una imagen de referencia a corto plazo. El bloque seleccionado como el bloque situado conjuntamente en este caso no está limitado al segundo bloque mostrado en la Figura 4, y un bloque distinto del segundo bloque se puede seleccionar como el bloque situado conjuntamente.
La Figura 11 es un diagrama para explicar el bloque situado conjuntamente según esta realización. Las muestras c0, c1, c2 y c3 en la imagen situada conjuntamente se muestran en la Figura 11. Las muestras c0 y c1 de la Figura 11 son iguales a las muestras c0 y c1 de la Figura 4. No solamente el segundo bloque que incluye la muestra c1 sino también un tercer bloque que incluye la muestra c2 o un cuarto bloque que incluye la muestra c3 se puede seleccionar como el otro bloque situado conjuntamente.
Las coordenadas de la muestra c2 son (x w - 1, y h - 1). Las coordenadas de la muestra c3 son (x 1, y 1). La unidad de inter predicción 511 determina, para cada uno del primer, segundo, tercer y cuarto bloques en este orden, si el bloque está o no disponible. La unidad de inter predicción 511 determina el bloque disponible como el bloque final situado conjuntamente. Ejemplos del caso de que el bloque no esté disponible incluyen el caso de que el bloque no esté presente y el caso de que el bloque se codifique mediante intra predicción.
En el caso de que la imagen de referencia actual sea una imagen de referencia a corto plazo, la unidad de inter predicción 511 puede determinar que no está disponible un bloque codificado con referencia a una imagen de referencia a largo plazo.
Aunque lo anterior describe el ejemplo del método de selección de bloque situado conjuntamente, el método de selección de bloque situado conjuntamente no está limitado al ejemplo anterior. Un bloque que incluye una muestra distinta de las muestras c0, c1, c2 y c3 se puede seleccionar como el bloque situado conjuntamente. Además, el orden de prioridad de los bloques no se limita al ejemplo descrito en esta realización.
A continuación se describe un ejemplo más específico del proceso de derivación del vector de movimiento actual con referencia a la Figura 10 de nuevo. El proceso de derivación descrito anteriormente se puede cambiar de la siguiente manera.
Primero, la unidad de inter predicción 511 selecciona la imagen situada conjuntamente como en la Realización 1 (Paso S1001). A continuación, la unidad de inter predicción 511 selecciona el primer bloque que incluye la muestra c0 mostrada en la Figura 11 como el bloque situado conjuntamente, e identifica la imagen de referencia situada conjuntamente (Pasos S1002 y S1003).
Después de esto, la unidad de inter predicción 511 determina si el bloque situado conjuntamente está o no disponible. En el caso de que la imagen de referencia actual sea una imagen de referencia a corto plazo y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo, la unidad de inter predicción 511 determina que el bloque situado conjuntamente no está disponible (Pasos S1004 y S1006).
En el caso de que el bloque situado conjuntamente no esté disponible, la unidad de inter predicción 511 busca y selecciona otro bloque situado conjuntamente que esté disponible (Paso S1008). En detalle, la unidad de inter predicción 511 selecciona un bloque codificado con referencia a una imagen de referencia a corto plazo, de entre el segundo bloque que incluye la muestra c1, el tercer bloque que incluye la muestra c2 y el cuarto bloque que incluye la muestra c3 en la Figura 11. La unidad de inter predicción 511 identifica entonces la imagen de referencia del bloque situado conjuntamente (Paso S1009).
En el caso de que se seleccione el bloque situado conjuntamente disponible, la unidad de inter predicción 511 establece el predictor de vector de movimiento temporal como disponible. En el caso de que no se seleccione el bloque situado conjuntamente disponible, la unidad de inter predicción 511 establece el predictor de vector de movimiento temporal como no disponible.
En el caso de que el predictor de vector de movimiento temporal esté configurado como disponible, la unidad de inter predicción 511 identifica el vector de movimiento situado conjuntamente como el vector de movimiento base (Pasos S1003 y S1009). En el caso de que el bloque situado conjuntamente tenga una pluralidad de vectores de movimiento, es decir, en el caso de que el bloque situado conjuntamente se codifique usando una pluralidad de vectores de movimiento, la unidad de inter predicción 511 selecciona el vector de movimiento base según el orden de prioridad predeterminado como en la Realización 1.
En el caso de que cualquiera de la imagen de referencia actual y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo (Paso S1004: Sí), la unidad de inter predicción 511 deriva el vector de movimiento base como el predictor de vector de movimiento temporal (Paso S1005).
En el caso de que ninguna de la imagen de referencia actual y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo (Paso S1004: No), por otra parte, la unidad de inter predicción 511 deriva el predictor de vector de movimiento temporal a partir del vector de movimiento base mediante escalado basado en POC (Pasos S1007 y S1010).
En el caso de que el predictor de vector de movimiento temporal se establezca como no disponible, la unidad de inter predicción 511 no deriva el predictor de vector de movimiento temporal.
Como en la Realización 1, la unidad de inter predicción 511 añade el predictor de vector de movimiento temporal establecido como disponible, a la lista como el candidato para el vector de movimiento actual. La unidad de inter predicción 511 entonces selecciona el vector de movimiento actual de la lista.
Como se ha descrito anteriormente, en esta realización, en el caso de que la imagen de referencia del bloque actual sea una imagen de referencia a corto plazo y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo, el vector de movimiento actual no se deriva del vector de movimiento del bloque situado conjuntamente.
Es extremadamente difícil derivar el vector de movimiento actual de alta precisión de predicción, en el caso de que una de la imagen de referencia actual y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo y la otra de la imagen de referencia actual y la imagen de referencia situada conjuntamente sea una imagen de referencia a corto plazo. En vista de esto, el aparato de codificación de imagen 500 y el aparato de decodificación de imagen 600 según esta realización evitan la degradación de precisión de predicción mediante la operación descrita anteriormente.
[Realización 3]
Un aparato de codificación de imagen y un aparato de decodificación de imagen según la Realización 3 tienen las mismas estructuras que los de la Realización 1. Por lo tanto, las operaciones del aparato de codificación de imagen y el aparato de decodificación de imagen según esta realización se describen a continuación, usando la estructura del aparato de codificación de imagen 500 mostrado en la Figura 5 y la estructura del aparato de decodificación de imagen 600 mostrado en la Figura 6,
El aparato de codificación de imagen 500 según esta realización realiza la operación mostrada en la Figura 7, como en la Realización 1. El aparato de decodificación de imagen 600 según esta realización realiza la operación mostrada en la Figura 8, como en la Realización 1. Esta realización difiere de la Realización 1 en el proceso de derivación de vector de movimiento actual. Esto se describe en detalle a continuación.
La Figura 12 es un diagrama de flujo que muestra detalles del proceso de derivación según esta realización. La unidad de inter predicción 511 según esta realización realiza la operación mostrada en la Figura 12, en lugar de la operación mostrada en la Figura 9. A continuación se describe principalmente la operación de la unidad de inter predicción 511 mostrada en la Figura 5. La operación de la unidad de inter predicción 608 mostrada en la Figura 6 es la misma que la operación de la unidad de inter predicción 511 mostrada en la Figura 5, con “codificación” que se sustituye por “decodificación”.
Primero, la unidad de inter predicción 511 selecciona la imagen situada conjuntamente de la pluralidad de imágenes de referencia disponibles (Paso S1201). A continuación, la unidad de inter predicción 511 selecciona el bloque situado conjuntamente en la imagen situada conjuntamente (Paso S1202). La unidad de inter predicción 511 entonces identifica la imagen de referencia situada conjuntamente y el vector de movimiento situado conjuntamente (Paso S1203).
Después de esto, la unidad de inter predicción 511 determina si la imagen de referencia actual es o no una imagen de referencia a largo plazo (Paso S1204). En el caso de determinar que la imagen de referencia actual sea una imagen de referencia a largo plazo (Paso S1204: Sí), la unidad de inter predicción 511 deriva el vector de movimiento actual mediante el primer esquema de derivación igual que en la Realización 1 (Paso S1205).
En el caso de determinar que la imagen de referencia actual no sea una imagen de referencia a largo plazo (Paso S1204: No), la unidad de inter predicción 511 determina si la imagen de referencia situada conjuntamente es o no una imagen de referencia a largo plazo (Paso S1206).
En el caso de determinar que la imagen de referencia situada conjuntamente no sea una imagen de referencia a largo plazo (Paso S1206: No), la unidad de inter predicción 511 deriva el vector de movimiento actual mediante el segundo esquema de derivación igual que en la Realización 1 (Paso S1207). Es decir, en el caso de determinar que la imagen de referencia actual y la imagen de referencia situada conjuntamente cada una sea una imagen de referencia a corto plazo, la unidad de inter predicción 511 deriva el vector de movimiento actual mediante el segundo esquema de derivación.
En el caso de determinar que la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo (Paso S1206: Sí), la unidad de inter predicción 511 selecciona otra imagen situada conjuntamente (Paso S1208). La unidad de inter predicción 511 entonces selecciona otro bloque situado conjuntamente en la otra imagen situada conjuntamente (Paso S1209). En el ejemplo mostrado en la Figura 12, un bloque codificado con referencia a una imagen de referencia a corto plazo se selecciona como el otro bloque situado conjuntamente.
Después de esto, la unidad de inter predicción 511 identifica la imagen de referencia situada conjuntamente y el vector de movimiento situado conjuntamente correspondiente al otro bloque situado conjuntamente (Paso S1210). La unidad de inter predicción 511 entonces deriva el vector de movimiento actual mediante el segundo esquema de derivación que usa escalado basado en POC (Paso S1211).
En detalle, en el caso de que la imagen de referencia del bloque actual sea una imagen de referencia a corto plazo y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo, la unidad inter predicción 511 no deriva el vector de movimiento actual a partir del vector de movimiento del bloque situado conjuntamente.
La unidad de inter predicción 511 en su lugar selecciona otra imagen situada conjuntamente. La unidad de inter predicción 511 selecciona además otro bloque situado conjuntamente codificado con referencia a una imagen de referencia a corto plazo, a partir de la otra imagen situada conjuntamente seleccionada. La unidad de inter predicción 511 deriva el vector de movimiento actual a partir del vector de movimiento del otro bloque situado conjuntamente seleccionado.
Como ejemplo, en el caso de que la imagen de referencia actual sea una imagen de referencia a corto plazo y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo, la unidad de inter predicción 511 busca una imagen que incluya un bloque codificado con referencia a una imagen de referencia a corto plazo. La unidad de inter predicción 511 selecciona la imagen que incluye el bloque codificado con referencia a la imagen de referencia a corto plazo, como la otra imagen situada conjuntamente.
Como otro ejemplo, en el caso de que la imagen de referencia actual sea una imagen de referencia a corto plazo y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo, la unidad de inter predicción 511 busca primero una imagen que incluya un bloque codificado con referencia a una imagen de referencia a corto plazo.
En el caso de que esté presente la imagen que incluye el bloque codificado con referencia a la imagen de referencia a corto plazo, la unidad de inter predicción 511 selecciona la imagen como la otra imagen situada conjuntamente. En el caso de que no esté presente la imagen que incluye el bloque codificado con referencia a la imagen de referencia a corto plazo, la unidad de inter predicción 511 busca una imagen que incluya un bloque codificado con referencia a una imagen de referencia a largo plazo. La unidad de inter predicción 511 selecciona la imagen que incluye el bloque codificado con referencia a la imagen de referencia a largo plazo, como la otra imagen situada conjuntamente.
Por ejemplo, en el caso de que la imagen RefPicList0[0] sea la imagen situada conjuntamente, la imagen RefPicListI [0] es la otra imagen situada conjuntamente. En el caso de que la imagen RefPicList1[0] sea la imagen situada conjuntamente, la imagen RefPicList0[0] es la otra imagen situada conjuntamente.
En otras palabras, la imagen enumerada primero en una de las dos listas de imágenes de referencia usadas para la codificación de imágenes B (codificación bipredictiva) es la imagen situada conjuntamente, y la imagen enumerada primero en la otra de las dos listas de imágenes de referencia es la otra imagen situada conjuntamente.
A continuación se describe un ejemplo más específico del proceso de derivación del vector de movimiento actual con referencia a la Figura 12 de nuevo. El proceso de derivación descrito anteriormente se puede cambiar de la siguiente manera.
Primero, la unidad de inter predicción 511 selecciona una de la imagen RefPicList0[0] y la imagen RefPicList1[0], como la imagen situada conjuntamente (Paso S1201). La unidad de inter predicción 511 selecciona, a partir de la imagen situada conjuntamente seleccionada, el primer bloque que incluye la muestra c0 mostrada en la Figura 11 como el bloque situado conjuntamente, e identifica la imagen de referencia situada conjuntamente (Pasos S1202 y S1203).
Después de esto, la unidad de inter predicción 511 determina si está o no disponible el bloque situado conjuntamente. En el caso de que la imagen de referencia actual sea una imagen de referencia a corto plazo y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo, la unidad de inter predicción 511 determina que el bloque situado conjuntamente no está disponible (Pasos S1204 y S1206).
En el caso de que el bloque situado conjuntamente no esté disponible, la unidad de inter predicción 511 selecciona nuevamente un bloque situado conjuntamente disponible. Por ejemplo, la unidad de inter predicción 511 selecciona el segundo bloque que incluye la muestra c1 mostrada en la Figura 11, como el bloque situado conjuntamente. La unidad de inter predicción 511 identifica entonces la imagen de referencia situada conjuntamente.
En el caso de que no se seleccione el bloque disponible situado conjuntamente, la unidad de inter predicción 511 selecciona otra imagen situada conjuntamente. En este caso, la unidad de inter predicción 511 selecciona la otra de la imagen RefPicList0[0] y la imagen RefPicList1[0], como la imagen situada conjuntamente (Paso S1208).
La unidad de inter predicción 511 selecciona, a partir de la imagen situada conjuntamente seleccionada, el primer bloque que incluye la muestra c0 mostrada en la Figura 1 como el bloque situado conjuntamente, e identifica la imagen de referencia situada conjuntamente (Pasos S1209 y S1210).
Después de esto, la unidad de inter predicción 511 determina si está o no disponible el bloque situado conjuntamente. Como en la determinación anterior, en el caso de que la imagen de referencia actual sea una imagen de referencia a corto plazo y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo, la unidad de inter predicción 511 determina que el bloque situado conjuntamente no está disponible. En el caso de que el bloque situado conjuntamente no esté disponible, la unidad de inter predicción 511 selecciona nuevamente un bloque situado conjuntamente disponible (Paso S1209). En detalle, la unidad de inter predicción 511 selecciona el segundo bloque que incluye la muestra c1 mostrada en la Figura 11, como el bloque situado conjuntamente. La unidad de inter predicción 511 entonces identifica la imagen de referencia situada conjuntamente (Paso S1210).
En el caso de que se seleccione finalmente el bloque situado conjuntamente disponible, la unidad de inter predicción 511 establece el predictor de vector de movimiento temporal como disponible. En el caso de que el bloque situado conjuntamente disponible no se seleccione finalmente, la unidad de inter predicción 511 establece el predictor de vector de movimiento temporal como no disponible.
En el caso de que el predictor de vector de movimiento temporal se establezca como disponible, la unidad de inter predicción 511 identifica el vector de movimiento del bloque situado conjuntamente como el vector de movimiento base (Pasos S1203 y S1210). En el caso de que el bloque situado conjuntamente tenga una pluralidad de vectores de movimiento, es decir, en el caso de que el bloque situado conjuntamente se codifique usando una pluralidad de vectores de movimiento, la unidad de inter predicción 511 selecciona el vector de movimiento base según el orden de prioridad predeterminado como en la Realización 1.
En el caso de que cualquiera de la imagen de referencia actual y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo (Paso S1204: Sí), la unidad de inter predicción 511 deriva el vector de movimiento base como el predictor de vector de movimiento temporal (Paso S1205).
En el caso de que ninguna de la imagen de referencia actual y la imagen de referencia situada conjuntamente sea una imagen de referencia a largo plazo (Paso S1204: No), por otra parte, la unidad de inter predicción 511 deriva el predictor de vector de movimiento temporal a partir del vector de movimiento base mediante un escalado basado en POC (Pasos S1207 y S1211).
En el caso de que el predictor de vector de movimiento temporal se establezca como no disponible, la unidad de inter predicción 511 no deriva el predictor de vector de movimiento temporal.
Como en la Realización 1, la unidad de inter predicción 511 añade el predictor de vector de movimiento temporal establecido como disponible, a la lista como el candidato para el vector de movimiento actual. La unidad de inter predicción 511 entonces selecciona el vector de movimiento actual de la lista.
Como se ha descrito anteriormente, el aparato de codificación de imagen 500 y el aparato de decodificación de imagen 600 según esta realización seleccionan el bloque adecuado para la derivación del vector de movimiento actual a partir de una pluralidad de imágenes, y derivan el vector de movimiento actual a partir del vector de movimiento del bloque seleccionado. Esto contribuye a la mejora de la eficiencia de codificación.
[Realización 4]
La Realización 4 describe de manera confirmatoria las estructuras características y los procedimientos característicos incluidos en las Realizaciones 1 a 3.
La Figura 13A es un diagrama de bloques de un aparato de codificación de imagen según esta realización. Un aparato de codificación de imagen 1300 mostrado en la Figura 13A codifica cada uno de los bloques de imágenes. El aparato de codificación de imagen 1300 incluye una unidad de derivación 1301, una unidad de adición 1302, una unidad de selección 1303 y un codificador 1304.
Por ejemplo, la unidad de derivación 1301, la unidad de adición 1302 y la unidad de selección 1303 corresponden a la unidad de inter predicción 511 mostrada en la Figura 5 y similares, y el codificador 1304 corresponde al codificador de entropía 504 mostrado en la Figura 5 y similares.
La Figura 13B es un diagrama de flujo que muestra una operación del aparato de codificación de imagen 1300 mostrado en la Figura 13A.
La unidad de derivación 1301 deriva un candidato para un vector de movimiento de un bloque actual, a partir de un vector de movimiento de un bloque situado conjuntamente (Paso S1301). El bloque situado conjuntamente es un bloque incluido en una imagen diferente de una imagen que incluye el bloque actual a ser codificado.
En la derivación del candidato, la unidad de derivación 1301 determina si una imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo. La unidad de derivación 1301 también determina si una imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
En el caso de determinar que la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente cada una sea una imagen de referencia a largo plazo, la unidad de derivación 1301 deriva el candidato a partir del vector de movimiento del bloque situado conjuntamente mediante un primer esquema de derivación. El primer esquema de derivación es un esquema de derivación que no implica escalado basado en una distancia temporal.
En el caso de determinar que la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente cada una sea una imagen de referencia a corto plazo, por otra parte, la unidad de derivación 1301 deriva el candidato a partir del vector de movimiento del bloque situado conjuntamente mediante un segundo esquema de derivación. El segundo esquema de derivación es un esquema de derivación que implica escalado basado en una distancia temporal.
La unidad de adición 1302 añade el candidato derivado a una lista (Paso S1302). La unidad de selección 1303 selecciona el vector de movimiento del bloque actual de la lista a la que se añade el candidato (Paso S1303).
El codificador 1304 codifica el bloque actual usando el vector de movimiento seleccionado y la imagen de referencia del bloque actual (Paso S1304).
La Figura 14A es un diagrama de bloques de un aparato de decodificación de imagen según esta realización. Un aparato de decodificación de imagen 1400 mostrado en la Figura 14A decodifica cada uno de los bloques de imágenes. El aparato de decodificación de imagen 1400 incluye una unidad de derivación 1401, una unidad de adición 1402, una unidad de selección 1403 y un decodificador 1404.
Por ejemplo, la unidad de derivación 1401, la unidad de adición 1402 y la unidad de selección 1403 corresponden a la unidad de inter predicción 608 mostrada en la Figura 6 y similares, y el decodificador 1404 corresponde al decodificador de entropía 601 mostrado en la Figura 6 y similares.
La Figura 14B es un diagrama de flujo que muestra una operación del aparato de decodificación de imagen 1400 mostrado en la Figura 14A.
La unidad de derivación 1401 deriva un candidato para un vector de movimiento de un bloque actual, a partir de un vector de movimiento de un bloque situado conjuntamente (Paso S1401). El bloque situado conjuntamente es un bloque incluido en una imagen diferente de una imagen que incluye un bloque actual a ser decodificado.
En la derivación del candidato, la unidad de derivación 1401 determina si una imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo. La unidad de derivación 1401 también determina si una imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
En el caso de determinar que la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente cada una sea una imagen de referencia a largo plazo, la unidad de derivación 1401 deriva el candidato a partir del vector de movimiento del bloque situado conjuntamente mediante un primer esquema de derivación. El primer esquema de derivación es un esquema de derivación que no implica escalado basado en una distancia temporal.
En el caso de determinar que la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente cada una sea una imagen de referencia a corto plazo, por otra parte, la unidad de derivación 1401 deriva al candidato a partir del vector de movimiento del bloque situado conjuntamente mediante un segundo esquema de derivación. El segundo esquema de derivación es un esquema de derivación que implica escalado basado en una distancia temporal.
La unidad de adición 1402 añade el candidato derivado a una lista (Paso S1402). La unidad de selección 1403 selecciona el vector de movimiento del bloque actual de la lista a la que se añade el candidato (Paso S1403).
El decodificador 1404 decodifica el bloque actual usando el vector de movimiento seleccionado y la imagen de referencia del bloque actual (Paso S1404).
A través del proceso descrito anteriormente, el candidato para el vector de movimiento actual se deriva apropiadamente a partir del vector de movimiento del bloque situado conjuntamente, sin que sea extremadamente grande o pequeño. Esto contribuye a la mejora de la precisión de predicción y a la mejora de la eficiencia de codificación.
En este caso, las unidades de derivación 1301 y 1401 pueden no derivar cada una el candidato a partir del vector de movimiento del bloque situado conjuntamente, en el caso de determinar que una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo y la otra de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a corto plazo.
En este caso, las unidades de derivación 1301 y 1401 pueden seleccionar además cada una otro bloque situado conjuntamente codificado o decodificado con referencia a una imagen de referencia a corto plazo, y derivar el candidato a partir del otro bloque situado conjuntamente mediante el segundo esquema de derivación. Como alternativa, las unidades de derivación 1301 y 1401 pueden derivar cada una el candidato mediante otro esquema de derivación. Como otra alternativa, las unidades de derivación 1301 y 1401 pueden no derivar finalmente cada una el candidato correspondiente al predictor de vector de movimiento temporal.
Las unidades de derivación 1301 y 1401 pueden determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando una distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual.
Las unidades de derivación 1301 y 1401 pueden determinar cada una si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando una distancia temporal entre la imagen de referencia del bloque situado conjuntamente y la imagen que incluye el bloque situado conjuntamente.
Las unidades de derivación 1301 y 1401 pueden determinar cada una si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se codifica o decodifica el bloque situado conjuntamente.
Las unidades de derivación 1301 y 1401 pueden determinar cada una si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se codifica o decodifica el bloque actual.
El primer esquema de derivación puede ser un esquema de derivación del vector de movimiento del bloque situado conjuntamente como el candidato. El segundo esquema de derivación puede ser un esquema de derivación del candidato escalando el vector de movimiento del bloque situado conjuntamente usando una relación de la distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual a la distancia temporal entre la imagen de referencia del bloque situado conjuntamente y la imagen que incluye el bloque situado conjuntamente.
El codificador 1304 puede codificar además información que indica si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, e información que indica si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
El decodificador 1404 puede decodificar además información que indica si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, e información que indica si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
La unidad de derivación 1401 puede determinar entonces si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo usando la información decodificada, y determinar si la imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo usando la información decodificada.
Información que indica la clasificación de cada imagen de referencia, se puede almacenar, como parámetro, en un flujo de bits en una ubicación descrita a continuación.
La Figura 15A es un diagrama que muestra un primer ejemplo de la ubicación de almacenamiento del parámetro que indica la clasificación de la imagen de referencia. Como se muestra en la Figura 15A, el parámetro que indica la clasificación de la imagen de referencia se puede almacenar en una cabecera de secuencia. También se hace referencia a la cabecera de secuencia como conjunto de parámetros de secuencia.
La Figura 15B es un diagrama que muestra un segundo ejemplo de la ubicación de almacenamiento del parámetro que indica la clasificación de la imagen de referencia. Como se muestra en la Figura 15B, el parámetro que indica la clasificación de la imagen de referencia se puede almacenar en una cabecera de imagen. También se hace referencia a la cabecera de imagen como conjunto de parámetros de imagen.
La Figura 15C es un diagrama que muestra un tercer ejemplo de la ubicación de almacenamiento del parámetro que indica la clasificación de la imagen de referencia. Como se muestra en la Figura 15C, el parámetro que indica la clasificación de la imagen de referencia se puede almacenar en una cabecera de segmento.
Información que indica un modo de predicción (inter predicción o intra predicción) se puede almacenar, como parámetro, en el flujo de bits en una ubicación que se describe a continuación.
La Figura 16 es un diagrama que muestra un ejemplo de la ubicación de almacenamiento del parámetro que indica el modo de predicción. Como se muestra en la Figura 16, el parámetro se puede almacenar en una cabecera CU (cabecera de unidad de codificación). El parámetro indica si una unidad de predicción en una unidad de codificación está codificada mediante inter predicción o intra predicción. Este parámetro se puede usar para determinar si está o no disponible el bloque situado conjuntamente.
Cada uno de los elementos estructurales en cada una de las realizaciones descritas anteriormente se puede configurar en forma de un producto de hardware exclusivo, o se puede realizar ejecutando un programa de software adecuado para el elemento estructural. Cada uno de los elementos estructurales se puede realizar por medio de una unidad de ejecución de programas, tal como una CPU y un procesador, leyendo y ejecutando el programa de software grabado en un medio de grabación tal como un disco duro o una memoria de semiconductores. En este caso, el programa de software para realizar el aparato de codificación de imagen y similares según cada una de las realizaciones es un programa descrito a continuación.
El programa hace que un ordenador ejecute un método de codificación de imagen de codificación de cada uno de los bloques de imágenes, el método de codificación de imagen que incluye: derivar a un candidato para un vector de movimiento de un bloque actual a ser codificado, a partir de un vector de movimiento de un bloque situado conjuntamente que es un bloque incluido en una imagen diferente de una imagen que incluye el bloque actual; añadir el candidato derivado a una lista; seleccionar el vector de movimiento del bloque actual de la lista a la que se añade el candidato; y codificar el bloque actual usando el vector de movimiento seleccionado y una imagen de referencia del bloque actual, en donde la derivación incluye: determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, y si una imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo; derivar el candidato a partir del vector de movimiento del bloque situado conjuntamente mediante un primer esquema de derivación que no implica escalado basado en una distancia temporal, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo; y derivar el candidato a partir del vector de movimiento del bloque situado conjuntamente mediante un segundo esquema de derivación que implica escalado basado en una distancia temporal, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a corto plazo.
El programa puede hacer que el ordenador ejecute un método de decodificación de imagen de decodificación de cada uno de los bloques de imágenes, el método de decodificación de imagen que incluye: derivar un candidato para que un vector de movimiento de un bloque actual sea codificado, a partir de un vector de movimiento de un bloque situado conjuntamente que es un bloque incluido en una imagen diferente de una imagen que incluye el bloque actual; añadir el candidato derivado a una lista; seleccionar el vector de movimiento del bloque actual de la lista a la que se añade el candidato; y decodificar el bloque actual usando el vector de movimiento seleccionado y una imagen de referencia del bloque actual, en donde la derivación incluye: determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, y si una imagen de referencia del bloque situado conjuntamente es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo; derivar el candidato a partir del vector de movimiento del bloque situado conjuntamente mediante un primer esquema de derivación que no implica escalado basado en una distancia temporal, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a largo plazo; y derivar el candidato a partir del vector de movimiento del bloque situado conjuntamente mediante un segundo esquema de derivación que implica escalado basado en una distancia temporal, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la imagen de referencia del bloque situado conjuntamente sea una imagen de referencia a corto plazo. Cada uno de los elementos estructurales puede ser un circuito. Estos circuitos pueden constituir totalmente un circuito, o ser circuitos separados. Cada uno de los elementos estructurales se puede realizar por un procesador de propósito general o realizar por un procesador de propósito especial.
Por ejemplo, un aparato de codificación y decodificación de imagen puede incluir el aparato de codificación de imagen y el aparato de decodificación de imagen. Un proceso ejecutado por una unidad de procesamiento específica se puede ejecutar por otra unidad de procesamiento. Los procesos se pueden ejecutar en un orden diferente, y se pueden ejecutar en paralelo dos o más procesos.
[Realización 5]
El procesamiento descrito en cada una de las realizaciones se puede implementar simplemente en un sistema informático independiente, grabando, en un medio de grabación, un programa para implementar las configuraciones del método de codificación de imagen en movimiento (método de codificación de imagen) y el método de decodificación de imagen en movimiento (método de decodificación de imagen) descritos en cada una de las realizaciones. Los medios de grabación pueden ser cualquier medio de grabación siempre que se pueda grabar el programa, tal como un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta IC y una memoria de semiconductores.
A continuación, se describirán las aplicaciones para el método de codificación de imagen en movimiento (método de codificación de imagen) y el método de decodificación de imagen en movimiento (método de decodificación de imagen) descritos en cada una de las realizaciones y los sistemas que usan los mismos. El sistema tiene la característica de tener un aparato de codificación y decodificación de imagen que incluye un aparato de codificación de imagen que usa el método de codificación de imagen y un aparato de decodificación de imagen que usa el método de decodificación de imagen. Otras configuraciones en el sistema se pueden cambiar según sea apropiado dependiendo de los casos.
La Figura 17 ilustra una configuración general de un sistema de suministro de contenido ex100 para implementar servicios de distribución de contenido. El área para proporcionar de servicios de comunicación está dividida en celdas de tamaño deseado, y las estaciones base ex106, ex107, ex108, ex109 y ex110 que son estaciones inalámbricas fijas están colocadas en cada una de las celdas.
El sistema de suministro de contenido ex100 está conectado a dispositivos, tales como un ordenador ex111, un asistente digital personal (PDA) ex112, una cámara ex113, un teléfono celular ex114 y una máquina de juegos ex115, a través de Internet ex101, un proveedor de servicios de Internet ex102, una red telefónica ex104, así como las estaciones base ex106 a ex110, respectivamente.
No obstante, la configuración del sistema de suministro de contenido ex100 no se limita a la configuración mostrada en la Figura 17, y es aceptable una combinación en la que cualquiera de los elementos están conectados. Además, cada dispositivo se puede conectar directamente a la red telefónica ex104, en lugar de a través de las estaciones base ex106 a ex110, que son las estaciones inalámbricas fijas. Además, los dispositivos se pueden interconectar entre sí a través de una comunicación inalámbrica de corta distancia y otras.
La cámara ex113, tal como una cámara de vídeo digital, es capaz de capturar vídeo. Una cámara ex116, tal como una cámara digital, es capaz de capturar tanto imágenes fijas como vídeo. Además, el teléfono celular ex114 puede ser el que cumpla con cualquiera de los estándares tales como el Sistema Global para Comunicaciones Móviles (GSM) (marca registrada), Acceso Múltiple por División de Código (CDMA), Acceso Múltiple por División de Código de Banda Ancha (W-CdMa ), Evolución a Largo Plazo (LTE) y Acceso de Paquetes de Alta Velocidad (HSPA). Alternativamente, el teléfono celular ex114 puede ser un Sistema de Teléfono Personal (PHS).
En el sistema de suministro de contenido ex100, un servidor de difusión en forma continua ex103 está conectado a la cámara ex113 y a otros a través de la red telefónica ex104 y la estación base ex109, que permite la distribución de imágenes de un espectáculo en vivo y otras. En tal distribución, un contenido (por ejemplo, vídeo de un espectáculo de música en vivo) capturado por el usuario usando la cámara ex113 se codifica como se ha descrito anteriormente en cada una de las realizaciones (es decir, la cámara funciona como el aparato de codificación de imagen según un aspecto de la presente invención), y el contenido codificado se transmite al servidor de difusión en forma continua ex103. Por otra parte, el servidor de difusión en forma continua ex103 lleva a cabo la distribución de flujo de los datos de contenido transmitidos a los clientes tras sus solicitudes. Los clientes incluyen el ordenador ex111, el PDA ex112, la cámara ex113, el teléfono celular ex114 y la máquina de juegos ex115 que son capaces de decodificar 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 imagen según un aspecto de la presente invención).
Los datos capturados pueden ser codificados por la cámara ex113 o el servidor de difusión en forma continua ex103 que transmite los datos, o los procesos de codificación se pueden compartir entre la cámara ex113 y el servidor de difusión en forma continua ex103. De manera similar, los datos distribuidos se pueden decodificar por los clientes o el servidor de difusión en forma continua ex103, o el proceso de decodificación se puede compartir entre los clientes y el servidor de difusión en forma continua ex103. Además, los datos de las imágenes fijas y el vídeo capturados no solamente por la cámara ex113 sino también por la cámara ex116 se pueden transmitir al servidor de difusión en forma continua ex103 a través del ordenador ex111. Los procesos de codificación se pueden realizar por la cámara ex116, el ordenador ex111, el servidor de difusión en forma continua ex103, o compartir entre ellos.
Además, los procesos de codificación y decodificación se pueden realizar mediante un LSI ex500 generalmente incluido en cada uno del ordenador ex111 y los dispositivos. El LSI ex500 se puede configurar con un único chip o una pluralidad de chips. El software para codificar y decodificar vídeo se puede integrar en algún tipo de medio de grabación (tal como un CD-ROM, un disco flexible y un disco duro) que es legible por el ordenador ex111 y otros, y los procesos de codificación y decodificación se pueden realizar usando el software. Además, cuando el teléfono celular ex114 está equipado con una cámara, los datos de vídeo obtenidos por la cámara se pueden transmitir. Los datos de vídeo son datos codificados por el LSI ex500 incluido en el teléfono celular ex114.
Además, el servidor de difusión en forma continua ex103 puede estar compuesto por servidores y ordenadores, y puede descentralizar datos y procesar los datos descentralizados, registrar o distribuir datos.
Como se ha descrito anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema de suministro de contenido ex100. En otras palabras, los clientes pueden recibir y decodificar información transmitida por el usuario, y reproducir los datos decodificados en tiempo real en el sistema de suministro de contenido ex100, de modo que el usuario que no tiene ningún derecho ni equipo particular pueda implementar difusión personal.
Aparte del ejemplo del sistema de suministro de contenido ex100, al menos uno del aparato de codificación de imagen en movimiento (aparato de codificación de imagen) y del aparato de decodificación de imagen en movimiento (aparato de decodificación de imagen) descritos en cada una de las realizaciones se puede implementar en un sistema de difusión en forma continua digital ex200 ilustrado en la Figura 18. Más específicamente, una estación de difusión ex201 se comunica o transmite, a través de ondas de radio, a un satélite de difusión ex202, datos multiplexados obtenidos multiplexando datos de audio y otros en datos de vídeo. Los datos de vídeo son datos codificados mediante el método de codificación de imagen en movimiento descrito en cada una de las realizaciones (es decir, datos codificados por el aparato de codificación de imagen según un aspecto de la presente invención). Tras la recepción de los datos multiplexados, el satélite de difusión ex202 transmite ondas de radio para su difusión. Entonces, una antena de uso doméstico ex204 con una función de recepción de difusión por satélite recibe las ondas de radio. A continuación, un dispositivo tal como un televisor (receptor) ex300 y un receptor multimedia digital (STB) ex217 decodifica los datos multiplexados recibidos, y reproduce los datos decodificados (es decir, funciona como el aparato de decodificación de imagen según un aspecto de la presente invención).
Además, un lector/grabador ex218 (i) lee y decodifica los datos multiplexados grabados en un medio de grabación ex215, tal como un DVD y un BD, o (i) codifica señales de vídeo en el medio de grabación ex215 y, en algunos casos, escribe los datos obtenidos multiplexando una señal de audio en los datos codificados. El lector/grabador ex218 puede incluir el aparato de decodificación de imagen en movimiento o el aparato de codificación de imagen en movimiento como se muestra en cada una de las realizaciones. En este caso, las señales de vídeo reproducidas se muestran en el monitor ex219, y se pueden reproducir por otro dispositivo o sistema usando el medio de grabación ex215 en el que se graban los datos multiplexados. También es posible implementar el aparato de decodificación de imagen en movimiento en el receptor multimedia digital ex217 conectado al cable ex203 para un televisor por cable o a la antena ex204 para difusión por satélite y/o terrestre, para mostrar las señales de vídeo en el monitor ex219 del televisor ex300. El aparato de decodificación de imagen en movimiento se puede implementar no en el receptor multimedia digital sino en el televisor ex300.
La Figura 19 ilustra el televisor (receptor) ex300 que usa el método de codificación de imagen en movimiento y el método de decodificación de imagen en movimiento descritos en cada una de las realizaciones. El televisor ex300 incluye: un sintonizador ex301 que obtiene o proporciona datos multiplexados obtenidos multiplexando datos de audio en datos de vídeo, a través de la antena ex204 o el cable ex203, etc. que recibe una difusión; una unidad de modulación/demodulación ex302 que demodula los datos multiplexados recibidos o modula los datos en datos multiplexados a ser suministrados al exterior; y una unidad de multiplexación/demultiplexación ex303 que demultiplexa los datos multiplexados modulados en datos de vídeo y datos de audio, o multiplexa datos de vídeo y datos de audio codificados por una unidad de procesamiento de señal ex306 en datos.
El televisor ex300 incluye además: una unidad de procesamiento de señal ex306 que incluye una unidad de procesamiento de señal de audio ex304 y una unidad de procesamiento de señal de vídeo ex305 que decodifica datos de audio y datos de vídeo y codifica datos de audio y datos de vídeo, respectivamente (que funcionan como el aparato de codificación de imagen y el aparato de decodificación de imagen según los aspectos de la presente invención); y una unidad de salida ex309 que incluye un altavoz ex307 que proporciona la señal de audio decodificada, y una unidad de visualización ex308 que muestra la señal de vídeo decodificada, tal como un visualizador. Además, el televisor ex300 incluye una unidad de interfaz ex317 que incluye una unidad de entrada de operación ex312 que recibe una entrada de una operación de usuario. Además, el televisor ex300 incluye una unidad de control ex310 que controla en general cada elemento constituyente del televisor ex300, y una unidad de circuito de fuente de alimentación ex311 que suministra energía a cada uno de los elementos. Aparte de la unidad de entrada de operación ex312, la unidad de interfaz ex317 puede incluir: un puente ex313 que está conectado a un dispositivo externo, tal como el lector/grabador ex218; una unidad de ranura ex314 para permitir la unión del medio de grabación ex216, tal como una tarjeta SD; un controlador ex315 a ser conectado a un medio de grabación externo, tal como un disco duro; y un módem ex316 a ser conectado a una red telefónica. En este caso, el medio de grabación ex216 puede grabar eléctricamente información usando un elemento de memoria de semiconductores no volátil/volátil para almacenamiento. Los elementos constituyentes del televisor ex300 están conectados entre sí a través de un bus síncrono.
Primero, se describirá la configuración en la cual el televisor ex300 decodifica los datos multiplexados obtenidos del exterior a través de la antena ex204 y otros y reproduce los datos decodificados. En el televisor ex300, tras una operación de usuario a través de un mando a distancia ex220 y otros, la unidad de multiplexación/demultiplexación ex303 demultiplexa los datos multiplexados demodulados por la unidad de modulación/demodulación ex302, bajo el control de la unidad de control ex310 que incluye una CPU. Además, la unidad de procesamiento de señal de audio ex304 decodifica los datos de audio demultiplexados, y la unidad de procesamiento de señal de vídeo ex305 decodifica los datos de vídeo demultiplexados, usando el método de decodificación descrito en cada una de las realizaciones, en la televisión ex300. La unidad de salida ex309 proporciona la señal de vídeo y la señal de audio decodificadas al exterior, respectivamente. Cuando la unidad de salida ex309 proporciona la señal de vídeo y la señal de audio, las señales se pueden almacenar temporalmente en los almacenadores temporales ex318 y ex319, y otras de modo que las señales se reproduzcan en sincronización unas con otras. Además, el televisor ex300 puede leer datos multiplexados no a través de una difusión y otros, sino de los medios de grabación ex215 y ex216, tales como un disco magnético, un disco óptico y una tarjeta SD. A continuación, se describirá una configuración en la que el televisor ex300 codifica una señal de audio y una señal de vídeo, y transmite los datos al exterior o escribe los datos en un medio de grabación. En el televisor ex300, tras una operación del usuario a través del mando a distancia ex220 y otros, la unidad de procesamiento de señal de audio ex304 codifica una señal de audio, y la unidad de procesamiento de señal de vídeo ex305 codifica una señal de vídeo, bajo el control de la unidad de control ex310 usando el método de codificación descrito en cada una de las realizaciones. La unidad de multiplexación/demultiplexación ex303 multiplexa la señal de vídeo y la señal de audio codificadas, y proporciona la señal resultante al exterior. Cuando la unidad de multiplexación/demultiplexación ex303 multiplexa la señal de vídeo y la señal de audio, las señales se pueden almacenar temporalmente en los almacenadores temporales ex320 y ex321, y otros de modo que las señales se reproduzcan en sincronización unas con otras. En este caso, los almacenadores temporales ex318, ex319, ex320 y ex321 pueden ser plurales como se ilustra, o al menos un almacenador temporal se puede compartir en el televisor ex300. Además, los datos se pueden almacenar en un almacenador temporal de modo que el desbordamiento y el subdesbordamiento del sistema se puedan evitar entre la unidad de modulación/demodulación ex302 y la unidad de multiplexación/demultiplexación ex303, por ejemplo.
Además, el televisor ex300 puede incluir una configuración para recibir una entrada AV de un micrófono o una cámara distinta de la configuración para obtener datos de audio y vídeo de un medio de difusión o uno de grabación, y puede codificar los datos obtenidos. Aunque el televisor ex300 puede codificar, multiplexar y proporcionar datos al exterior en la descripción, puede ser capaz solamente de recibir, decodificar y proporcionar datos al exterior pero no la codificación, multiplexación y suministro de datos al exterior.
Además, cuando el lector/grabador ex218 lee o escribe datos multiplexados desde o en un medio de grabación, uno de la televisión ex300 y del lector/grabador ex218 puede decodificar o codificar los datos multiplexados, y el televisor ex300 y el lector/grabador ex218 pueden compartir la decodificación o codificación.
Como ejemplo, la Figura 20 ilustra una configuración de una unidad de reproducción/grabación de información ex400 cuando los datos se leen o escriben desde o en un disco óptico. La unidad de reproducción/grabación de información ex400 incluye elementos constituyentes ex401, ex402, ex403, ex404, ex405, ex406 y ex407 a ser descritos en lo sucesivo. 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 escribir información, y detecta la luz reflejada desde la superficie de grabación del medio de grabación ex215 para leer la información. La unidad de grabación de modulación ex402 acciona eléctricamente un láser semiconductor incluido en el cabezal óptico ex401, y modula la luz láser según los datos grabados. La unidad de demodulación de reproducción ex403 amplifica una señal de reproducción obtenida detectando eléctricamente la luz reflejada desde la superficie de grabación usando un fotodetector incluido en el cabezal óptico ex401, y demodula la señal de reproducción separando un componente de señal grabado en el medio de grabación ex215 para reproducir la información necesaria. El almacenador temporal ex404 contiene temporalmente la información a ser grabada en el medio de grabación ex215 y la información reproducida desde el medio de grabación ex215. El motor de disco ex405 hace girar el medio de grabación ex215. La unidad de servocontrol ex406 mueve el cabezal óptico ex401 a una pista de información predeterminada mientras que controla el accionamiento de rotación del motor de disco ex405 para seguir el punto láser. La unidad de control del sistema ex407 controla en general la unidad de reproducción/grabación de información ex400. Los procesos de lectura y escritura se pueden implementar por la unidad de control del sistema ex407 usando diversa información almacenada en el almacenador temporal ex404 y generando y añadiendo nueva información según sea necesario, y mediante 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 registran y reproducen información a través del cabezal óptico ex401 mientras que se operan de una manera coordinada. La unidad de control del sistema ex407 incluye, por ejemplo, un microprocesador, y ejecuta el procesamiento haciendo que un ordenador ejecute un programa para leer y escribir.
Aunque el cabezal óptico ex401 irradia un punto láser en la descripción, puede realizar grabación de alta densidad usando luz de campo cercano.
La Figura 21 ilustra el medio de grabación ex215 que es el disco óptico. En la superficie de grabación del medio de grabación ex215, los surcos de guía se forman en espiral, y una pista de información ex230 graba, por adelantado, información de dirección que indica una posición absoluta en el disco según el cambio de forma de los surcos de guía. La información de dirección incluye información para determinar las posiciones de bloques de grabación ex231 que son una unidad para grabar datos. La reproducción de la pista de información ex230 y la lectura de la información de dirección en un aparato que registra y reproduce datos puede conducir a la determinación de las posiciones de los bloques de grabación. Además, el medio de grabación ex215 incluye un área de grabación de datos ex233, un área de circunferencia interna ex232 y un área de circunferencia externa ex234. El área de grabación de datos ex233 es un área para su uso en la grabación de los datos de usuario. El área de circunferencia interna ex232 y el área de circunferencia externa ex234 que están dentro y fuera del área de grabación de datos ex233, respectivamente son para uso específico, excepto para grabar los datos de usuario. La unidad de reproducción/grabación de información 400 lee y escribe datos de audio codificados, de vídeo codificados o datos multiplexados obtenidos multiplexando los datos de audio y de vídeo codificados, desde y sobre el área de grabación de datos ex233 del medio de grabación ex215.
Aunque un disco óptico que tiene una capa, tal como un DVD y un BD, se describe como ejemplo en la descripción, el disco óptico no está limitado a tal, y puede ser un disco óptico que tenga una estructura multicapa y capaz de ser grabado en un parte distinta de la superficie. Además, el disco óptico puede tener una estructura para grabación/reproducción multidimensional, tal como grabación de información usando luz de colores con diferentes longitudes de onda en la misma parte del disco óptico y para grabar información que tenga diferentes capas desde diversos ángulos.
Además, un coche ex210 que tiene una antena ex205 puede recibir datos del satélite ex202 y otros, y reproducir vídeo en un dispositivo de visualización tal como un sistema de navegación de coche ex211 fijado en el coche ex210, en el sistema de difusión digital ex200. En este caso, una configuración del sistema de navegación de coche ex211 será una configuración, por ejemplo, que incluye una unidad de recepción GPS de la configuración ilustrada en la Figura 19. Lo mismo será cierto para la configuración del ordenador ex111, el teléfono celular ex114 y otros.
La Figura 22A ilustra el teléfono celular ex114 que usa el método de codificación de imagen en movimiento y el método de decodificación de imagen en movimiento descritos en las realizaciones. El teléfono celular ex114 incluye: una antena ex350 para transmitir y recibir ondas de radio a través de la estación base ex110; una unidad de cámara ex365 capaz de capturar imágenes en movimiento y fijas; y una unidad de visualización ex358 tal como una pantalla de cristal líquido para visualizar los datos tales como vídeo decodificado capturado por la unidad de cámara ex365 o recibido por la antena ex350. El teléfono celular ex114 incluye además: una unidad de cuerpo principal que incluye una unidad de teclas de operación ex366; una unidad de salida de audio ex357 tal como un altavoz para salida de audio; una unidad de entrada de audio ex356 tal como un micrófono para entrada de audio; una unidad de memoria ex367 para almacenar imágenes de vídeo o fijas capturadas, audio grabado, datos codificados o decodificados del vídeo recibido, las imágenes fijas, correos electrónicos u otros; y una unidad de ranura ex364 que es una unidad de interfaz para un medio de grabación que almacena datos de la misma manera que la unidad de memoria ex367.
A continuación, se describirá un ejemplo de una configuración del teléfono celular ex114 con referencia a la Figura 22B. En el teléfono celular ex114, una unidad de control principal ex360 diseñada para controlar en general cada unidad del cuerpo principal, incluyendo la unidad de visualización ex358, así como la unidad de teclas de operación ex366 se conectan mutuamente, a través de un bus síncrono ex370, a una unidad de circuito de fuente de alimentación ex361, una unidad de control de entrada de operación ex362, una unidad de procesamiento de señal de vídeo ex355, una unidad de interfaz de cámara ex363, una unidad de control de visualizador de cristal líquido (LCD) ex359, una unidad de modulación/demodulación ex352, una unidad de multiplexación/demultiplexación ex353, una unidad de procesamiento de señal de audio ex354, la unidad de ranura ex364 y la unidad de memoria ex367.
Cuando una tecla de fin de llamada o una tecla de encendido se enciende por la operación de un usuario, la unidad de circuito de fuente de alimentación ex361 suministra energía a las unidades respectivas desde un paquete de baterías para activar el teléfono celular ex114.
En el teléfono celular ex114, la unidad de procesamiento de señal de audio ex354 convierte las señales de audio recogidas por la unidad de entrada de audio ex356 en modo de conversación de voz en señales de audio digital bajo el control de la unidad de control principal ex360 que incluye una CPU, ROM y RAM. Entonces, la unidad de modulación/demodulación ex352 realiza procesamiento de espectro ensanchado sobre las señales de audio digital, y la unidad de transmisión y recepción ex351 realiza la conversión de digital a analógico y la conversión de frecuencia sobre los datos, para transmitir los datos resultantes a través de la antena ex350. También, en el teléfono celular ex114, 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 la conversión de frecuencia y la conversión de analógico a digital sobre los datos. Entonces, la unidad de modulación/demodulación ex352 realiza un procesamiento inverso de espectro ensanchado sobre los datos, y la unidad de procesamiento de señal de audio ex354 los convierte en señales de audio analógicas, para emitirlas a través de la unidad de salida de audio ex357.
Además, cuando se transmite un correo electrónico en el modo de comunicación de datos, los datos de texto del correo electrónico introducidos operando la unidad de teclas de operación ex366 y otros del cuerpo principal se envían a la unidad de control principal ex360 a través de la unidad de control de entrada de operación ex362. La unidad de control principal ex360 hace que la unidad de modulación/demodulación ex352 realice un procesamiento de espectro ensanchado sobre 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 frecuencia sobre los datos resultantes para transmitir los datos a la estación base ex110 a través de la antena ex350. Cuando se recibe un correo electrónico, el procesamiento que es aproximadamente inverso al procesamiento para transmitir un correo electrónico se realiza sobre los datos recibidos, y los datos resultantes se proporcionan a la unidad de visualización ex358.
Cuando se transmiten vídeo, imágenes fijas o vídeo y audio en modo de comunicación de datos, la unidad de procesamiento de señal de vídeo ex355 comprime y codifica las señales de vídeo suministradas desde la unidad de cámara ex365 usando el método de codificación de imagen en movimiento mostrado en cada una de las realizaciones (es decir, funciona como el aparato de codificación de imagen según el aspecto de la presente invención), y transmite los datos de vídeo codificados a la unidad de multiplexación/demultiplexación ex353. Por el contrario, cuando la unidad de cámara ex365 captura vídeo, imágenes fijas y otros, la unidad de procesamiento de señal de audio ex354 codifica las señales de audio recogidas por la unidad de entrada de audio ex356, y transmite los datos de audio codificados a la unidad de multiplexación/demultiplexación ex353.
La unidad de multiplexación/demultiplexación ex353 multiplexa los datos de vídeo codificados suministrados desde la unidad de procesamiento de señal de vídeo ex355 y los datos de audio codificados suministrados desde la unidad de procesamiento de señal de audio ex354, usando un método predeterminado. Entonces, la unidad de modulación/demodulación (unidad de circuito de modulación/demodulación) ex352 realiza procesamiento de espectro ensanchado sobre los datos multiplexados, y la unidad de transmisión y recepción ex351 realiza conversión de digital a analógico y conversión de frecuencia sobre los datos para transmitir los datos resultantes a través de la antena ex350.
Cuando se reciben datos de un archivo de vídeo que está vinculado a una página Web y otros en modo de comunicación de datos o cuando se recibe un correo electrónico con vídeo y/o audio adjunto, con el fin de decodificar los datos multiplexados recibidos a través de la antena ex350, la unidad de multiplexación/demultiplexación ex353 demultiplexa los datos multiplexados en un flujo de bits de datos de vídeo y un flujo de bits de datos de audio, y suministra a la unidad de procesamiento de señal de vídeo ex355 con los datos de vídeo codificados y a la unidad de procesamiento de señal de audio ex354 con los datos de audio codificados, a través del bus síncrono ex370. La unidad de procesamiento de señal de vídeo ex355 decodifica la señal de vídeo usando un método de decodificación de imagen en movimiento correspondiente al método de codificación de imagen en movimiento mostrado en cada una de las realizaciones (es decir, funciona como el aparato de decodificación de imagen según el aspecto de la presente invención), y entonces la unidad de visualización ex358 muestra, por ejemplo, el vídeo y las imágenes fijas incluidas en el archivo de vídeo vinculado a la página Web a través de la unidad de control LCD ex359. Además, la unidad de procesamiento de señal de audio ex354 decodifica la señal de audio, y la unidad de salida de audio ex357 proporciona el audio.
Además, de manera similar al televisor ex300, un terminal tal como el teléfono celular ex114 probablemente tiene 3 tipos de configuraciones de implementación incluyendo no solamente (i) un terminal de transmisión y recepción que incluye tanto un aparato de codificación como un aparato de decodificación, sino también (ii) un terminal de transmisión que incluye solamente un aparato de codificación y (iii) un terminal de recepción que incluye solamente un aparato de decodificación. Aunque el sistema de difusión digital ex200 recibe y transmite los datos multiplexados obtenidos multiplexando los datos de audio en datos de vídeo en la descripción, los datos multiplexados pueden ser datos obtenidos multiplexando no datos de audio sino datos de caracteres con relación al vídeo sobre los datos de vídeo, y pueden no ser datos multiplexados sino datos de vídeo en sí mismos.
Por tanto, el método de codificación de imagen en movimiento y el método de decodificación de imagen en movimiento en cada una de las realizaciones se pueden usar en cualquiera de los dispositivos y sistemas descritos. De este modo, se pueden obtener las ventajas descritas en cada una de las realizaciones.
[Realización 6]
Los datos de vídeo se pueden generar conmutando, según sea necesario, entre (i) el método de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento mostrados en cada una de las realizaciones y (ii) un método de codificación de imagen en movimiento o un aparato de codificación de imagen en movimiento de conformidad con un estándar diferente, tal como MPEG-2, MPEG-4 AVC y VC-1.
En este caso, cuando se genera una pluralidad de datos de vídeo que se ajusta a los diferentes estándares y entonces se decodifica, los métodos de decodificación necesitan ser seleccionados para ajustarse a los diferentes estándares. No obstante, dado que no se puede detectar a qué estándar se ajusta cada uno de la pluralidad de datos de vídeo a ser decodificados, hay un problema de que no se puede seleccionar un método de decodificación apropiado.
Con el fin de resolver el problema, los datos multiplexados obtenidos multiplexando datos de audio y otros sobre datos de vídeo tienen una estructura que incluye información de identificación que indica a qué estándar se ajustan los datos de vídeo. Se describirá en lo sucesivo la estructura específica de los datos multiplexados que incluyen los datos de vídeo generados en el método de codificación de imagen en movimiento y por el aparato de codificación de imagen en movimiento mostrados en cada una de las realizaciones. Los datos multiplexados son un flujo digital en formato de Flujo de Transporte MPEG-2.
La Figura 23 ilustra una estructura de los datos multiplexados. Como se ilustra en la Figura 23, los datos multiplexados se pueden obtener multiplexando al menos uno de un flujo de vídeo, un flujo de audio, un flujo de gráficos de presentación (PG) y un flujo de gráficos interactivos. El flujo de vídeo representa vídeo primario y vídeo secundario de una película, el flujo de audio (IG) representa una parte de audio primaria y una parte de audio secundaria a ser mezclada con la parte de audio primaria, y el flujo de gráficos de presentación representa subtítulos de la película. En este caso, el vídeo primario es el vídeo normal a ser mostrado en una pantalla, y el vídeo secundario es un vídeo a ser mostrado en una ventana más pequeña en el vídeo primario. Además, el flujo de gráficos interactivos representa una pantalla interactiva a ser generada disponiendo de los componentes de la GUI en una pantalla. El flujo de vídeo se codifica en el método de codificación de imagen en movimiento o por el aparato de codificación de imagen en movimiento mostrados en cada una de las realizaciones, o en un método de codificación de imagen en movimiento o por un aparato de codificación de imagen en movimiento de conformidad con un estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1. El flujo de audio se codifica según un estándar, tal como Dolby-AC-3, Dolby Digital Plus, Ml P, DTS, DTS-Hd y PCM lineal.
Cada flujo incluido en los datos multiplexados se identifica por PID. Por ejemplo, 0x1011 se asigna al flujo de vídeo a ser usado para el vídeo de una película, 0x1100 a 0x111F se asignan a los flujos de audio, 0x1200 a 0x121F se asignan a los flujos de gráficos de presentación, 0x1400 a 0x141F se asignan a los flujos de gráficos interactivos, 0x1 B00 a 0x1 B1F se asignan a los flujos de vídeo a ser usados para el vídeo secundario de la película, y 0x1 A00 a 0x1A1 F se asignan a los flujos de audio a ser usados para el audio secundario a ser mezclado con el audio primario. La Figura 24 ilustra esquemáticamente cómo se multiplexan los datos. Primero, un flujo de vídeo ex235 compuesto de tramas de vídeo y un flujo de audio ex238 compuesto de tramas de audio se transforman en un flujo de paquetes PES ex236 y un flujo de paquetes PES ex239, y además en los paquetes TS ex237 y los paquetes TS ex240, respectivamente. De manera similar, los datos de un flujo de gráficos de presentación ex241 y los datos de un flujo de gráficos interactivos ex244 se transforman en un flujo de paquetes PES ex242 y un flujo de paquetes PES ex245, y además en paquetes TS ex243 y paquetes TS ex246, respectivamente. Estos paquetes TS se multiplexan en un flujo para obtener datos multiplexados ex247.
La Figura 25 ilustra cómo se almacena un flujo de vídeo en un flujo de paquetes PES con más detalle. La primera barra en la Figura 25 muestra un flujo de tramas de vídeo en un flujo de vídeo. La segunda barra muestra el flujo de paquetes PES. Como se indica mediante flechas denotadas como yy1, yy2, yy3 e yy4 en la Figura 25, el flujo de vídeo 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 presentación de vídeo, y las imágenes se almacenan en una carga útil de cada uno de los paquetes PES. Cada uno de los paquetes PES tiene una cabecera PES, y la cabecera PES almacena un Sello de Tiempo de Presentación (PTS) que indica un tiempo de visualización de la imagen, y un Sello de Tiempo de Decodificación (DTS) que indica un tiempo de decodificación de la imagen.
La Figura 26 ilustra un formato de paquetes TS a ser escritos finalmente en los datos multiplexados. Cada uno de los paquetes TS es un paquete de longitud fija de 188 bytes que incluye una cabecera TS de 4 bytes que tiene información, tal como un PID para identificar un flujo y una carga útil TS de 184 bytes para almacenar datos. Los paquetes PES se dividen y almacenan en las cargas útiles TS, respectivamente. Cuando se usa un BD ROM, cada uno de los paquetes TS recibe una TP_Extra_Header de 4 bytes, dando como resultado de este modo paquetes fuente de 192 bytes. Los paquetes fuente se escriben en los datos multiplexados. La TP_Extra_Header almacena información tal como un Arrival_Time_Stamp (ATS). El ATS muestra un tiempo de inicio de transferencia en el que cada uno de los paquetes TS se ha de transferir a un filtro PID. Los paquetes fuente están dispuestos en los datos multiplexados como se muestra en la parte inferior de la Figura 26. Los números que se incrementan desde la cabecera de los datos multiplexados se denominan números de paquete fuente (SPN).
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no solamente flujos de audio, vídeo, subtítulos y otros, sino también una Tabla de Asociación de Programas (PAT), una Tabla de Mapas de Programas (PMT) y una Referencia de Reloj de Programas (PCR). La PAT muestra lo que indica un PID en una PMT usada en los datos multiplexados, y un PID de la PAT en sí misma se registra como cero. La PMT almacena los PID de los flujos de vídeo, audio, subtítulos y otros incluidos en los datos multiplexados, y la información de atributos de los flujos correspondientes a los PID. La PMT también tiene diversos descriptores con relación a los datos multiplexados. Los descriptores tienen información tal como información de control de copia que muestra si se permite o no la copia de los datos multiplexados. La PCR almacena información de tiempo STC correspondiente a un ATS que muestra cuándo se transfiere el paquete PCR a un decodificador, con el fin de lograr la sincronización entre un Reloj de Tiempo de Llegada (ATC) que es un eje de tiempo de ATS, y un Reloj de Tiempo de Sistema (STC) que es un eje de tiempo de los PTS y los DTS.
La Figura 27 ilustra la estructura de datos de la PMT en detalle. Una cabecera PMT está dispuesta en la parte superior de la PMT. La cabecera PMT describe la longitud de los datos incluidos en la PMT y otros. Una pluralidad de descriptores con relación a los datos multiplexados se dispone después de la cabecera PMT. Información tal como la información de control de copia se describe en los descriptores. Después de los descriptores, se dispone una pluralidad de informaciones de flujo con relación a los flujos incluidos en los datos multiplexados. Cada información de flujo incluye descriptores de flujo, cada uno que describe información, tal como un tipo de flujo para identificar un códec de compresión de un flujo, un PID de flujo e información de atributos de flujo (tal como una tasa de cuadros o una relación de aspecto). Los descriptores de flujo son iguales en número al número de flujos en los datos multiplexados.
Cuando los datos multiplexados se graban en un medio de grabación y otros, se graban junto con archivos de información de datos multiplexados.
Cada uno de los archivos de información de datos multiplexados es información de gestión de los datos multiplexados como se muestra en la Figura 28. Los archivos de información de datos multiplexados están en correspondencia uno a uno con los datos multiplexados, y cada uno de los archivos incluye información de datos multiplexados, información de atributos de flujo y un mapa de entrada.
Como se ilustra en la Figura 28, la información de datos multiplexados incluye una velocidad del sistema, un tiempo de inicio de reproducción y un tiempo de fin de reproducción. La velocidad del sistema indica la velocidad máxima de transferencia en que un decodificador de destino del sistema a ser descrito más tarde transfiere los datos multiplexados a un filtro PID. Los intervalos de los ATS incluidos en los datos multiplexados se fijan a una velocidad no superior a la del sistema. El tiempo de inicio de reproducción indica un PTS en un cuadro de vídeo en la cabecera de los datos multiplexados. Se añade un intervalo de un cuadro a un PTS en un cuadro de vídeo al final de los datos multiplexados, y el PTS se fija al tiempo de fin de reproducción.
Como se muestra en la Figura 29, una información de atributo se registra 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 vídeo, un flujo de audio, un flujo de gráficos de presentación o un flujo de gráficos interactivos. Cada información de atributo de flujo de vídeo lleva información que incluye qué tipo de códec de compresión se usa para comprimir el flujo de vídeo, y la resolución, relación de aspecto y velocidad de cuadros de los datos de imagen que se incluyen en el flujo de vídeo. Cada información de atributo de flujo de audio lleva información que incluye qué tipo de códec de compresión se usa para comprimir el flujo de audio, cuántos canales se incluyen en el flujo de audio, qué idioma soporta el flujo de audio y lo alta que es la frecuencia de muestreo. La información de atributo de flujo de vídeo y la información de atributo de flujo de audio se usan para inicialización de un decodificador antes de que el reproductor reproduzca la información.
En la presente realización, los datos multiplexados a ser usados son de un tipo de flujo incluido en la PMT. Además, cuando los datos multiplexados se graban en un medio de grabación, se usa la información de atributo de flujo de vídeo incluida en la información de datos multiplexados. Más específicamente, el método de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones incluye un paso o una unidad para asignar información única que indica los datos de vídeo generados por el método de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento en cada una de las realizaciones, para el tipo de flujo incluido en la PMT o la información de atributo de flujo de vídeo. Con la configuración, los datos de vídeo generados por el método de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones se pueden distinguir de los datos de vídeo que se ajustan a otro estándar.
Además, la Figura 30 ilustra los pasos del método de decodificación de imagen en movimiento según la presente realización. En el Paso exS100, el tipo de flujo incluido en la PMT o la información de atributo de flujo de vídeo incluida en la información de datos multiplexados se obtiene a partir de los datos multiplexados. A continuación, en el Paso exS101, se determina si el tipo de flujo o la información de atributo de flujo de vídeo indica o no que los datos multiplexados se generan mediante el método de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento en cada una de las realizaciones. Cuando se determina que el tipo de flujo o la información de atributo de flujo de vídeo indica que los datos multiplexados se generan mediante el método de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento en cada una de las realizaciones, en el Paso exS102, la decodificación se realiza mediante el método de decodificación de imagen en movimiento en cada una de las realizaciones. Además, cuando el tipo de flujo o la información de atributo de flujo de vídeo indica conformidad con los estándares convencionales, tales como MPEG-2, MPEG-4 AVC y VC-1, en el Paso exS103, la decodificación se realiza mediante un método de decodificación de imagen en movimiento de conformidad con los estándares convencionales.
Por tanto, asignar un nuevo valor único al tipo de flujo o a la información de atributo de flujo de vídeo permite la determinación de si el método de decodificación de imagen en movimiento o el aparato de decodificación de imagen en movimiento que se describe en cada una de las realizaciones puede realizar o no decodificación. Incluso cuando se introducen datos multiplexados que se ajustan a un estándar diferente, se puede seleccionar un método o aparato de decodificación apropiado. De este modo, llega a ser posible decodificar información sin ningún error. Además, el método o aparato de codificación de imagen en movimiento, o el método o aparato de decodificación de imagen en movimiento en la presente realización se puede usar en los dispositivos y sistemas descritos anteriormente.
[Realización 7]
Cada uno del método de codificación de imagen en movimiento, el aparato de codificación de imagen en movimiento, el método de decodificación de imagen en movimiento y el aparato de decodificación de imagen en movimiento en cada una de las realizaciones se logra típicamente en forma de un circuito integrado o un circuito Integrado a Gran Escala (LSI). Como ejemplo del LSI, la Figura 31 ilustra una configuración del LSI ex500 que se hace en un chip. El LSI ex500 incluye los elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 a ser descritos a continuación, 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 suministrando a cada uno de los elementos energía cuando la unidad de circuito de fuente de alimentación ex505 está encendida.
Por ejemplo, cuando se realiza la codificación, el LSI ex500 recibe una señal AV de un micrófono ex117, una cámara ex113 y otros a través de una IO de AV ex509 bajo el control de una unidad de control ex501 que incluye una CPU ex502, un controlador de memoria ex503, un controlador de flujo ex504 y una unidad de control de frecuencia de accionamiento ex512. La señal AV recibida se almacena temporalmente en una memoria externa ex511, tal como una SDRAM. Bajo el control de la unidad de control ex501, los datos almacenados se segmentan en porciones de datos según la cantidad de procesamiento y la velocidad a ser transmitida a una unidad de procesamiento de señal ex507. Entonces, la unidad de procesamiento de señal ex507 codifica una señal de audio y/o una señal de vídeo. En este caso, la codificación de la señal de vídeo es la codificación descrita en cada una de las realizaciones. Además, la unidad de procesamiento de señal ex507 algunas veces multiplexa los datos de audio codificados y los datos de vídeo codificados, y una IO de flujo ex506 proporciona los datos multiplexados al exterior. Los datos multiplexados proporcionados se transmiten a la estación base ex107, o escriben en el medio de grabación ex215. Cuando los conjuntos de datos se multiplexan, los datos se deberían almacenar temporalmente en el almacenador temporal ex508 de modo que los conjuntos de datos estén sincronizados unos con otros.
Aunque la memoria ex511 es un elemento fuera del LSI ex500, se puede incluir en el LSI ex500. El almacenador temporal ex508 no está limitado a un almacenador temporal, sino que puede estar compuesto por almacenadores temporales. Además, el LSI ex500 puede estar hecho en un chip o en una pluralidad de chips.
Además, aunque la unidad de control ex501 incluye la CPU ex502, el controlador de memoria ex503, el controlador de flujo ex504, la unidad de control de frecuencia de accionamiento ex512, la configuración de la unidad de control ex501 no está limitada a tales. Por ejemplo, la unidad de procesamiento de señal ex507 puede incluir además una CPU. La inclusión de otra CPU en la unidad de procesamiento de señal ex507 puede mejorar la velocidad de procesamiento. Además, como otro ejemplo, la CPU ex502 puede servir como o ser parte de la unidad de procesamiento de señal ex507 y, por ejemplo, puede incluir una unidad de procesamiento de señal de audio. En tal caso, la unidad de control ex501 incluye la unidad de procesamiento de señal ex507 o la CPU ex502 que incluye una parte de la unidad de procesamiento de señal ex507.
El nombre usado aquí es LSI, pero también se puede llamar IC, sistema LSI, súper LSI o ultra LSI, dependiendo del grado de integración.
Además, las formas para lograr la integración no se limitan al LSI, y un circuito especial o un procesador de propósito general, etc. también pueden lograr la integración. Una Agrupación de Puertas Programables en Campo (FPGA) que se puede programar después de fabricar los LSI o un procesador reconfigurable que permite la reconfiguración de la conexión o la configuración de un LSI se puede usar con el mismo propósito.
En el futuro, con el avance en la tecnología de semiconductores, una tecnología completamente nueva puede sustituir al LSI. Los bloques funcionales se pueden integrar usando tal tecnología. La posibilidad es que la presente invención se aplique a biotecnología.
[Realización 8]
Cuando se decodifican datos de vídeo generados en el método de codificación de imagen en movimiento o por el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones, en comparación con cuando se decodifican datos de vídeo que se ajustan a un estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, la cantidad de procesamiento probablemente aumenta. De este modo, el LSI ex500 necesita ser fijado a una frecuencia de accionamiento más alta que la de la CPU ex502 a ser usada cuando se decodifiquen datos de vídeo de conformidad con el estándar convencional. No obstante, cuando la frecuencia de accionamiento se fija más alta, hay un problema de que aumenta el consumo de energía.
Con el fin de resolver el problema, el aparato de decodificación de imagen en movimiento, tal como el televisor ex300 y el LSI ex500, está configurado para determinar a qué estándar se ajustan los datos de vídeo, y conmutar entre las frecuencias de accionamiento según el estándar determinado. La Figura 32 ilustra una configuración ex800 en la presente realización. Una unidad de conmutación de frecuencia de accionamiento ex803 fija una frecuencia de accionamiento a una frecuencia de accionamiento más alta cuando los datos de vídeo se generan mediante el método de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones. Entonces, la unidad de conmutación de frecuencia de accionamiento ex803 da instrucciones a una unidad de procesamiento de decodificación ex801 que ejecute el método de decodificación de imagen en movimiento descrito en cada una de las realizaciones para decodificar los datos de vídeo. Cuando los datos de vídeo se ajustan al estándar convencional, la unidad de conmutación de frecuencia de accionamiento ex803 fija una frecuencia de accionamiento a una frecuencia de accionamiento menor que la de los datos de vídeo generados mediante el método de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones. Entonces, la unidad de conmutación de frecuencia de accionamiento ex803 da instrucciones a la unidad de procesamiento de decodificación ex802 que se ajuste al estándar convencional para decodificar los datos de vídeo.
Más específicamente, la unidad de conmutación de frecuencia de accionamiento ex803 incluye la CPU ex502 y la unidad de control de frecuencia de accionamiento ex512 en la Figura 31. En este caso, cada una de la unidad de procesamiento de decodificación ex801 que ejecuta el método de decodificación de imagen en movimiento descrito en cada una de las realizaciones y la unidad de procesamiento de decodificación ex802 que se ajusta al estándar convencional corresponde a la unidad de procesamiento de señal ex507 en la Figura 31. La CPU ex502 determina a qué estándar se ajustan los datos de vídeo. Entonces, la unidad de control de frecuencia de accionamiento ex512 determina una frecuencia de accionamiento en base a una señal de la CPU ex502. Además, la unidad de procesamiento de señal ex507 decodifica los datos de vídeo en base a la señal de la CPU ex502. Por ejemplo, la información de identificación descrita en la Realización 6 se usa probablemente para identificar los datos de vídeo. La información de identificación no se limita a la descrita en la Realización 6 sino que puede ser cualquier información siempre que la información indique a qué estándar se ajustan los datos de vídeo. Por ejemplo, cuando se pueden determinar a qué estándar se ajustan los datos en base a una señal externa para determinar que los datos de vídeo se usan para un televisor o un disco, etc., la determinación se puede hacer en base a tal señal externa. Además, la CPU ex502 selecciona una frecuencia de accionamiento en base, por ejemplo, a una tabla de búsqueda en la que los estándares de los datos de vídeo están asociados con las frecuencias de accionamiento como se muestra en la Figura 34. La frecuencia de accionamiento se puede seleccionar almacenando la tabla de búsqueda en el almacenador temporal ex508 y en una memoria interna de un LSI, y con referencia a la tabla de búsqueda por la CPU ex502.
La Figura 33 ilustra los pasos para ejecutar un método en la presente realización. Primero, en el Paso exS200, la unidad de procesamiento de señal ex507 obtiene información de identificación de los datos multiplexados. A continuación, en el Paso exS201, la CPU ex502 determina si los datos de vídeo se generan o no mediante el método de codificación y el aparato de codificación descritos en cada una de las realizaciones, en base a la información de identificación. Cuando los datos de vídeo se generan mediante el método de codificación de imagen en movimiento y el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones, en la Paso exS202, la CPU ex502 transmite una señal para fijar la frecuencia de accionamiento a una frecuencia de accionamiento más alta a la unidad de control de frecuencia de accionamiento ex512. Entonces, la unidad de control de frecuencia de accionamiento ex512 fija la frecuencia de accionamiento a la frecuencia de accionamiento más alta. Por otra parte, cuando la información de identificación indica que los datos de vídeo se ajustan al estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, en el Paso exS203, la CPU ex502 transmite una señal para fijar la frecuencia de accionamiento a una frecuencia de accionamiento más baja a la unidad de control de frecuencia de accionamiento ex512. Entonces, la unidad de control de frecuencia de accionamiento ex512 fija la frecuencia de accionamiento a la frecuencia de accionamiento más baja que la del caso de que los datos de vídeo se generen mediante el método de codificación de imagen en movimiento y el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones.
Además, junto con la conmutación de las frecuencias de accionamiento, el efecto de conservación de energía se puede mejorar cambiando el voltaje a ser aplicado al LSI ex500 o a un aparato que incluye el LSI ex500. Por ejemplo, cuando la frecuencia de accionamiento se fija más baja, el voltaje a ser aplicado al LSI ex500 o al aparato que incluye el LSI ex500, se fija probablemente a un voltaje más bajo que el del caso de que la frecuencia de accionamiento se fije más alta.
Además, cuando la cantidad de procesamiento para la decodificación es mayor, la frecuencia de accionamiento se puede fijar más alta, y cuando la cantidad de procesamiento para la decodificación es menor, la frecuencia de accionamiento se puede fijar más baja como el método para fijar la frecuencia de accionamiento. De este modo, el método de establecimiento no se limita a los descritos anteriormente. Por ejemplo, cuando la cantidad de procesamiento para decodificar datos de vídeo de conformidad con MPEG-4 AVC es mayor que la cantidad de procesamiento para decodificar datos de vídeo generados mediante el método de codificación de imagen en movimiento y el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones, la frecuencia de accionamiento se fija probablemente en orden inverso al establecimiento descrito anteriormente.
Además, el método para fijar la frecuencia de accionamiento no se limita al método para fijar la frecuencia de accionamiento más baja. Por ejemplo, cuando la información de identificación indica que los datos de vídeo se generan mediante el método de codificación de imagen en movimiento y el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones, el voltaje a ser aplicado al LSI ex500 o al aparato que incluye el LSI ex500 probablemente se fija más alto. Cuando la información de identificación indica que los datos de vídeo se ajustan al estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, el voltaje a ser aplicado al LSI ex500 o al aparato que incluye el LSI ex500 probablemente se fija más bajo. Como otro ejemplo, cuando la información de identificación indica que los datos de vídeo se generan mediante el método de codificación de imagen en movimiento y el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones, el accionamiento de la CPU ex502 probablemente no tenga que ser suspendido. Cuando la información de identificación indica que los datos de vídeo se ajustan al estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, el accionamiento de la CPU ex502 probablemente se suspende en un momento dado debido a que la CPU ex502 tiene capacidad de procesamiento adicional. Incluso cuando la información de identificación indica que los datos de vídeo se generan mediante el método de codificación de imagen en movimiento y el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones, en el caso de que la CPU ex502 tenga capacidad de procesamiento adicional, 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 el del caso de que cuando la información de identificación indique que los datos de vídeo se ajustan al estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1.
Por consiguiente, el efecto de conservación de energía se puede mejorar conmutando entre las frecuencias de accionamiento según el estándar al que se ajustan los datos de vídeo. Además, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se acciona usando una batería, la vida útil de la batería se puede extender con el efecto de conservación de energía.
[Realización 9]
Hay casos en los que una pluralidad de datos de vídeo que se ajusta a diferentes estándares se proporciona a los dispositivos y sistemas, tales como un televisor y un teléfono celular. Con el fin de permitir la decodificación de la pluralidad de datos de vídeo que se ajustan a los diferentes estándares, la unidad de procesamiento de señal ex507 del LSI ex500 necesita ajustarse a los diferentes estándares. No obstante, surgen los problemas de aumento en la escala del circuito del LSI ex500 y de aumento en el coste con el uso individual de las unidades de procesamiento de señal ex507 que se ajustan a los estándares respectivos.
Con el fin de resolver el problema, lo que se concibe es una configuración en la que la unidad de procesamiento de decodificación para implementar el método de decodificación de imagen en movimiento descrito en cada una de las realizaciones y la unidad de procesamiento de decodificación que se ajusta al estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, se comparten parcialmente. Ex900 en la Figura 35A muestra un ejemplo de la configuración. Por ejemplo, el método de decodificación de imagen en movimiento descrito en cada una de las realizaciones y el método de decodificación de imagen en movimiento que se ajusta a MPEG-4 AVC tienen, parcialmente en común, los detalles de procesamiento, tales como codificación de entropía, cuantificación inversa, filtrado de desbloqueo y predicción compensada de movimiento. Los detalles del procesamiento a ser compartido probablemente incluyan el uso de una unidad de procesamiento de decodificación ex902 que se ajusta a MPEG-4 AVC. Por el contrario, una unidad de procesamiento de decodificación dedicada ex901 se usa probablemente para otro procesamiento único en un aspecto de la presente invención. Dado que el aspecto de la presente invención se caracteriza por la inter predicción en particular, por ejemplo, la unidad de procesamiento de decodificación dedicada ex901 se usa para inter predicción. De otro modo, la unidad de procesamiento de decodificación probablemente se comparte para una de la decodificación de entropía, el filtrado de desbloqueo y la cuantificación inversa, o todo el procesamiento. La unidad de procesamiento de decodificación para implementar el método de decodificación de imagen en movimiento descrito en cada una de las realizaciones se puede compartir para que el procesamiento se comparta, y se puede usar una unidad de procesamiento de decodificación dedicada para el procesamiento único para la de MPEG-4 AVC.
Además, ex1000 en la Figura 35B muestra otro ejemplo en que el procesamiento se comparte parcialmente. Este ejemplo usa una configuración que incluye una unidad de procesamiento de decodificación dedicada ex1001 que soporta el procesamiento único para un aspecto de la presente invención, una unidad de procesamiento de decodificación dedicada ex1002 que soporta el procesamiento único para otro estándar convencional y una unidad de procesamiento de decodificación ex1003 que soporta procesamiento a ser compartido entre el método de decodificación de imagen en movimiento según el aspecto de la presente invención y el método de decodificación de imagen en movimiento convencional. En este caso, las unidades de procesamiento de decodificación dedicadas ex1001 y ex1002 no están necesariamente especializadas para el procesamiento según el aspecto de la presente invención y el procesamiento del estándar convencional, respectivamente, y pueden ser los capaces de implementar el procesamiento general. Además, la configuración de la presente realización se puede implementar por el LSI ex500.
Por tanto, es posible reducir la escala del circuito de un LSI y reducir el coste compartiendo la unidad de procesamiento de decodificación para que el procesamiento se comparta entre el método de decodificación de imagen en movimiento según el aspecto de la presente invención y el método decodificación de imagen en movimiento de conformidad con el estándar convencional.
[Aplicabilidad industrial]
La presente invención es aplicable a un receptor de televisión, una grabadora de vídeo digital, un sistema de navegación de coche, un teléfono celular, una cámara digital, una cámara de vídeo digital y similares.
[Lista de signos de referencia]
500, 1300 Aparato de codificación de imagen
501 Unidad de sustracción
502 Unidad de transformación
503 Unidad de cuantificación
504 Codificador de entropía
505, 602 Unidad de cuantificación inversa
506, 603 Unidad de transformación inversa
507, 604 Unidad de adición
508, 605 Memoria de bloque
509, 606 Memoria de imagen
510, 607 Unidad de intra predicción
511,608 Unidad de inter predicción
512, 609, 1303, 1403 Unidad de selección
600,1400 Aparato de decodificación de imagen
601 Decodificador de entropía
1301, 1401 Unidad de derivación
1302, 1402 Unidad de adición
1304 Codificador
1404 Decodificador

Claims (13)

REIVINDICACIONES
1. Un método de codificación de imagen para codificar bloques de imágenes por medio de inter predicción basada en imágenes de referencia codificadas que incluyen imágenes de referencia a corto plazo e imágenes de referencia a largo plazo, el método de codificación de imagen que comprende:
identificar (S703) una imagen de referencia de un bloque actual a ser codificado;
derivar (S1301) un candidato para un vector de movimiento del bloque actual a partir de un primer vector de movimiento de un primer bloque incluido en una primera imagen, la primera imagen que es diferente de una imagen que incluye el bloque actual;
añadir (S1302) el candidato derivado a una lista de candidatos;
seleccionar (S1303) un vector de movimiento de la lista de candidatos; y
codificar (S1304) el bloque actual usando el vector de movimiento seleccionado y la imagen de referencia del bloque actual,
en donde la derivación incluye:
seleccionar, como el primer bloque, un bloque que corresponde en posición al bloque actual de entre una pluralidad de bloques incluidos en la primera imagen;
determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, y si una primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo;
derivar el primer vector de movimiento sin escalar como el candidato, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a largo plazo;
escalar el primer vector de movimiento usando una relación de una primera distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual y una segunda distancia temporal entre la primera imagen de referencia del primer bloque y la primera imagen, y derivar el primer vector de movimiento escalado como el candidato, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a corto plazo;
caracterizado por que la derivación incluye además:
seleccionar, en el caso de determinar que una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a corto plazo y la otra de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a largo plazo, un segundo bloque diferente del primer bloque, el segundo bloque que está situado conjuntamente al bloque actual y que tiene una imagen de referencia a corto plazo; y
escalar un segundo vector de movimiento del segundo bloque usando una relación de la primera distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual y una tercera distancia temporal entre la imagen de referencia a corto plazo del segundo bloque y la primera imagen, y derivar el segundo vector de movimiento escalado como el candidato.
2. El método de codificación de imagen según una de la reivindicación 1, en donde la codificación incluye además información de codificación que indica si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, e información que indica si la primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
3. El método de codificación de imagen según una cualquiera de la reivindicación 1 y la reivindicación 2, en donde la derivación incluye:
determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando una distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual; y
determinar si la primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando una distancia temporal entre la primera imagen de referencia del primer bloque y la primera imagen que incluye el primer bloque.
4. El método de codificación de imagen según una cualquiera de la reivindicación 1 a la reivindicación 3, en donde la derivación incluye:
determinar si la primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se codifica el primer bloque; y
determinar si la imagen de referencia para el bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se codifica el bloque actual.
5. El método de codificación de imagen según una cualquiera de la reivindicación 1 a la reivindicación 3, en donde la derivación incluye:
determinar si la imagen de referencia para el bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se codifica el bloque actual; y
determinar si la primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se codifica el bloque actual.
6. Un método de decodificación de imagen para decodificar bloques de imágenes por medio de inter predicción basada en imágenes de referencia codificadas, incluyendo imágenes de referencia a corto plazo e imágenes de referencia a largo plazo, el método de decodificación de imagen que comprende:
identificar (S803) una imagen de referencia de un bloque actual a ser decodificado;
derivar (1401) un candidato para un vector de movimiento del bloque actual a partir de un primer vector de movimiento de un primer bloque incluido en una primera imagen, la primera imagen que es diferente de una imagen que incluye el bloque actual;
añadir (S1402) el candidato derivado a una lista de candidatos;
seleccionar (S1403) un vector de movimiento de la lista de candidatos; y
decodificar (S1404) el bloque actual usando el vector de movimiento seleccionado y la imagen de referencia del bloque actual,
en donde la derivación incluye:
seleccionar, como el primer bloque, un bloque que corresponde en posición al bloque actual de entre una pluralidad de bloques incluidos en la primera imagen;
determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, y si una primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo;
derivar el primer vector de movimiento sin escalar como candidato, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a largo plazo;
escalar el primer vector de movimiento usando una relación de una primera distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual y una segunda distancia temporal entre la primera imagen de referencia del primer bloque y la primera imagen, y derivar el primer vector de movimiento escalado como el candidato, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a corto plazo;
caracterizado por que la derivación incluye además:
seleccionar, en el caso de determinar que una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a corto plazo y la otra de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a largo plazo, un segundo bloque diferente del primer bloque, el segundo bloque que está situado conjuntamente al bloque actual y que tiene una imagen de referencia a corto plazo; y
escalar un segundo vector de movimiento del segundo bloque usando una relación de la primera distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual y una tercera distancia temporal entre la imagen de referencia a corto plazo del segundo bloque y la primera imagen, y derivar el segundo vector de movimiento escalado como el candidato.
7. El método de decodificación de imagen según la reivindicación 6, en donde
la decodificación incluye además información de decodificación que indica si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, e información que indica si la primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, y
la derivación incluye:
determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando la información que indica si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo; y
determinar si la primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando la información que indica si la primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una Imagen de referencia a corto plazo.
8. El método de decodificación de imagen según la reivindicación 6, en donde la derivación incluye: determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando una distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual; y
determinar si la primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, usando una distancia temporal entre la primera imagen de referencia del primer bloque y la primera imagen que incluye el primer bloque.
9. El método de decodificación de imagen según una cualquiera de la reivindicación 6 a la reivindicación 8, en donde la derivación incluye:
determinar si la primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se decodifica el primer bloque; y
determinar si la imagen de referencia para el bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se decodifica el bloque actual.
10. El método de decodificación de imagen según una cualquiera de la reivindicación 6 a la reivindicación 8, en donde la derivación incluye:
determinar si se determina que la imagen de referencia para el bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se decodifica el bloque actual; y determinar si la primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el cual se decodifica el bloque actual.
11. Un aparato de codificación de imagen para codificar bloques de imágenes por medio de inter predicción basada en imágenes de referencia codificadas que incluyen imágenes de referencia a corto plazo e imágenes de referencia a largo plazo, el aparato de codificación de imagen que comprende:
una unidad de identificación configurada para identificar (S703) una imagen de referencia de un bloque actual a ser codificada;
una unidad de derivación (1301) configurada para derivar un candidato para un vector de movimiento del bloque actual a partir de un primer vector de movimiento de un primer bloque incluido en una primera imagen, la primera imagen que es diferente de una imagen que incluye el bloque actual;
una unidad de adición (1302) configurada para añadir el candidato derivado a una lista de candidatos;
una unidad de selección (1303) configurada para seleccionar un vector de movimiento de la lista de candidatos; y un codificador (1304) configurado para codificar el bloque actual usando el vector de movimiento seleccionado y la imagen de referencia del bloque actual,
en donde la unidad de derivación está configurada para:
seleccionar, como el primer bloque, un bloque que corresponde en posición al bloque actual de entre una pluralidad de bloques incluidos en la primera imagen;
determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, y si una primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo;
derivar el primer vector de movimiento sin escalar como el candidato, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a largo plazo;
escalar el primer vector de movimiento usando una relación de una primera distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual y una segunda distancia temporal entre la primera imagen de referencia para el primer bloque y la primera imagen, y derivar el primer vector de movimiento escalado como el candidato, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a corto plazo;
caracterizado por que la unidad de derivación está configurada además para:
seleccionar, en el caso de determinar que una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a corto plazo y la otra de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a largo plazo, un segundo bloque diferente del primer bloque, el segundo bloque que está situado conjuntamente al bloque actual y que tiene una imagen de referencia a corto plazo; y
escalar un segundo vector de movimiento del segundo bloque usando una relación de la primera distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual y una tercera distancia temporal entre la imagen de referencia a corto plazo del segundo bloque y la primera imagen, y derivar el segundo vector de movimiento escalado como el candidato.
12. Un aparato de decodificación de imagen para decodificar bloques de imágenes por medio de inter predicción basada en imágenes de referencia codificadas que incluyen imágenes de referencia a corto plazo e imágenes de referencia a largo plazo, el aparato de decodificación de imagen que comprende:
una unidad de identificación configurada para identificar (S803) una imagen de referencia de un bloque actual a ser decodificado;
una unidad de derivación (1401) configurada para derivar un candidato para un vector de movimiento del bloque actual a partir de un primer vector de movimiento de un primer bloque incluido en una primera imagen, la primera imagen que es diferente de una imagen que incluye el bloque actual;
una unidad de adición (1402) configurada para añadir el candidato derivado a una lista de candidatos;
una unidad de selección (1403) configurada para seleccionar un vector de movimiento de la lista de candidatos; y un decodificador (1404) configurado para decodificar el bloque actual usando el vector de movimiento seleccionado y la imagen de referencia del bloque actual,
en donde la unidad de derivación está configurada para:
seleccionar, como el primer bloque, un bloque que corresponde en posición al bloque actual de entre una pluralidad de bloques incluidos en la primera imagen;
determinar si la imagen de referencia del bloque actual es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, y si una primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo;
derivar el primer vector de movimiento sin escalar como el candidato, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a largo plazo;
escalar el primer vector de movimiento usando una relación de una primera distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual y una segunda distancia temporal entre la primera imagen de referencia del primer bloque y la primera imagen y derivar el primer vector de movimiento escalado como el candidato, en el caso de determinar que cada una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a corto plazo;
caracterizado por que la unidad de derivación está configurada además para:
seleccionar, en el caso de determinar que una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a corto plazo y la otra de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque sea una imagen de referencia a largo plazo, un segundo bloque diferente del primer bloque, el segundo bloque que está situado conjuntamente con el bloque actual y que tiene una imagen de referencia a corto plazo; y
escalar un segundo vector de movimiento del segundo bloque usando una relación de la primera distancia temporal entre la imagen de referencia del bloque actual y la imagen que incluye el bloque actual y una tercera distancia temporal entre la imagen de referencia a corto plazo del segundo bloque y la primera imagen, y derivar el segundo vector de movimiento escalado como el candidato.
13. Un sistema de codificación y decodificación de imagen que comprende: el aparato de codificación de imagen según la reivindicación 11; y
el aparato de decodificación de imagen según la reivindicación 12.
ES12844046T 2011-10-28 2012-10-18 Método de codificación de imagen, método de decodificación de imagen, aparato de codificación de imagen y aparato de decodificación de imagen Active ES2780188T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161552848P 2011-10-28 2011-10-28
PCT/JP2012/006674 WO2013061549A1 (ja) 2011-10-28 2012-10-18 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置

Publications (1)

Publication Number Publication Date
ES2780188T3 true ES2780188T3 (es) 2020-08-24

Family

ID=48167405

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12844046T Active ES2780188T3 (es) 2011-10-28 2012-10-18 Método de codificación de imagen, método de decodificación de imagen, aparato de codificación de imagen y aparato de decodificación de imagen

Country Status (13)

Country Link
US (7) US8913665B2 (es)
EP (1) EP2782341B1 (es)
JP (4) JP5379933B2 (es)
KR (1) KR101935977B1 (es)
CN (2) CN104041042B (es)
AR (2) AR088540A1 (es)
CA (1) CA2836244C (es)
ES (1) ES2780188T3 (es)
MX (1) MX2013012224A (es)
PL (1) PL2782341T3 (es)
RU (2) RU2609083C2 (es)
TW (1) TWI552576B (es)
WO (1) WO2013061549A1 (es)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5323273B2 (ja) * 2011-02-10 2013-10-23 パナソニック株式会社 動画像符号化方法、及び動画像符号化装置
BR122015001004B1 (pt) * 2011-06-30 2022-07-26 Sony Corporation Dispositivo e método de processamento de imagem
CN103843349B (zh) 2011-08-25 2017-03-01 太阳专利托管公司 用于使用周期性缓冲器描述对视频进行编码和解码的方法和装置
BR112013020486B1 (pt) * 2011-09-07 2022-07-19 Sun Patent Trust Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem e aparelho de codificação e de decodificação de imagem
KR102011157B1 (ko) 2011-09-19 2019-10-21 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치 및 화상 부호화 복호 장치
PL3742735T3 (pl) 2011-10-19 2022-11-14 Sun Patent Trust Sposób kodowania obrazów, sposób dekodowania obrazów, urządzenie do kodowania obrazów, urządzenie do dekodowania obrazów, i urządzenie do kodowania i dekodowania obrazów
US9918080B2 (en) * 2011-11-08 2018-03-13 Nokia Technologies Oy Reference picture handling
WO2013107939A1 (en) * 2012-01-20 2013-07-25 Nokia Corporation Method for video coding and an apparatus, a computer-program product, a system, and a module for the same
EP2847996B1 (en) 2012-05-09 2020-10-07 Sun Patent Trust Method of performing motion vector prediction, encoding and decoding methods, and apparatuses thereof
US10271062B2 (en) * 2016-03-18 2019-04-23 Google Llc Motion vector prediction through scaling
US10602176B2 (en) 2016-04-15 2020-03-24 Google Llc Coding interpolation filter type
JP6867763B2 (ja) * 2016-08-10 2021-05-12 日本放送協会 符号化装置及びプログラム
CN107295348A (zh) * 2017-07-31 2017-10-24 南通海鑫信息科技有限公司 一种图像编码方法
EP3780608A4 (en) 2018-04-02 2021-12-01 SZ DJI Technology Co., Ltd. IMAGE PROCESSING PROCESS AND IMAGE PROCESSING DEVICE
CN110662064B (zh) 2018-06-29 2022-06-14 北京字节跳动网络技术有限公司 Lut中的运动候选的检查顺序
CN110662043B (zh) 2018-06-29 2021-12-21 北京字节跳动网络技术有限公司 一种用于处理视频数据的方法、装置和计算机可读介质
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
WO2020003270A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Number of motion candidates in a look up table to be checked according to mode
CN114845108A (zh) 2018-06-29 2022-08-02 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
TWI723444B (zh) * 2018-06-29 2021-04-01 大陸商北京字節跳動網絡技術有限公司 使用一個或多個查找表來按順序存儲先前編碼的運動信息並使用它們來編碼後面的塊的概念
CN115988203A (zh) 2018-06-29 2023-04-18 北京字节跳动网络技术有限公司 用于视频处理的方法、装置、计算机可读存储介质
CN110662070B (zh) 2018-06-29 2022-03-18 北京字节跳动网络技术有限公司 用于查找表更新的编码的运动信息的选择
GB2589241B (en) 2018-07-02 2023-06-07 Beijing Bytedance Network Tech Co Ltd Update of look-up tables
GB2590310B (en) 2018-09-12 2023-03-22 Beijing Bytedance Network Tech Co Ltd Conditions for starting checking HMVP candidates depend on total number minus K
US11122288B2 (en) * 2018-12-06 2021-09-14 Qualcomm Incorporated Spatio-temporal motion vector prediction patterns for video coding
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113302937A (zh) 2019-01-16 2021-08-24 北京字节跳动网络技术有限公司 运动候选推导
CN113597768A (zh) * 2019-01-28 2021-11-02 Op方案有限责任公司 扩展长期参考图片保留的在线和离线选择
US11595652B2 (en) 2019-01-28 2023-02-28 Op Solutions, Llc Explicit signaling of extended long term reference picture retention
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
US10638130B1 (en) * 2019-04-09 2020-04-28 Google Llc Entropy-inspired directional filtering for image coding
WO2020263067A1 (ko) * 2019-06-26 2020-12-30 삼성전자주식회사 부호화 순서를 고려하여 어파인 모델 기반의 예측을 수행하는 비디오 부호화 방법 및 그 장치, 복호화 순서를 고려하여 어파인 모델 기반의 예측을 수행하는 비디오 복호화 방법 및 그 장치

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2682616B1 (fr) 1991-10-18 1993-12-10 Atochem Catalyseurs de deshalogenation d'acides carboxyliques alphahalogenes.
TW328969B (en) 1995-09-30 1998-04-01 Jiang Shiow Wan Manufacturing method for NiAl metal matrix ceramic composite
US6160920A (en) 1998-09-15 2000-12-12 Winbond Electronics Corp. Cosine transforming and quantizing device, method of reducing multiplication operations in a video compressing apparatus
US6594313B1 (en) * 1998-12-23 2003-07-15 Intel Corporation Increased video playback framerate in low bit-rate video applications
JP2003116053A (ja) 2001-10-05 2003-04-18 Hitachi Ltd 特殊効果データ符号化方法及び特殊効果表示方法及び特殊効果データ編集方法
US20030123738A1 (en) 2001-11-30 2003-07-03 Per Frojdh Global motion compensation for video pictures
JP2004215215A (ja) 2002-03-14 2004-07-29 Matsushita Electric Ind Co Ltd 動きベクトル検出方法
AU2003213360A1 (en) * 2002-03-14 2003-09-22 Matsushita Electric Industrial Co., Ltd. Motion vector detection method
JP2004208258A (ja) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
JP4130783B2 (ja) 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
KR100901030B1 (ko) 2002-05-11 2009-06-04 엘지전자 주식회사 동영상 코딩방법
CN1666532A (zh) * 2002-07-02 2005-09-07 松下电器产业株式会社 图像编码方法和图像解码方法
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
ES2496979T3 (es) 2002-11-01 2014-09-22 Panasonic Intellectual Property Corporation Of America Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento
BRPI0306987B1 (pt) 2002-11-20 2018-04-03 Godo Kaisha Ip Bridge 1 “Método de prognóstico de imagem em movimento”
US8131095B2 (en) 2003-02-03 2012-03-06 Actimagine Process and device for the compression of portions of images
FR2850827B1 (fr) 2003-02-03 2005-11-04 Pagnac Andre Procede et dispositif de compression de parties d'images
KR100579493B1 (ko) * 2003-06-16 2006-05-15 삼성전자주식회사 움직임 벡터 생성 장치 및 방법
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
JP2005184042A (ja) 2003-12-15 2005-07-07 Sony Corp 画像復号装置及び画像復号方法並びに画像復号プログラム
JP4591657B2 (ja) 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
CN100385957C (zh) 2004-05-21 2008-04-30 中国科学院计算技术研究所 一种运动矢量预测的方法
KR100714696B1 (ko) 2005-06-24 2007-05-04 삼성전자주식회사 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
WO2007035056A1 (en) 2005-09-26 2007-03-29 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding and entropy decoding fine-granularity scalability layer video data
KR100727989B1 (ko) 2005-10-01 2007-06-14 삼성전자주식회사 동영상 부호화시의 인터 모드 결정 방법 및 장치
JP4241709B2 (ja) 2005-10-11 2009-03-18 ソニー株式会社 画像処理装置
CN101005614A (zh) 2006-01-17 2007-07-25 鲁海宁 动态图像编解码方法、装置和计算机可读记录介质
US8238442B2 (en) * 2006-08-25 2012-08-07 Sony Computer Entertainment Inc. Methods and apparatus for concealing corrupted blocks of video data
JP2008193503A (ja) 2007-02-06 2008-08-21 Oki Electric Ind Co Ltd 動画像符号化装置および動画像符号化方法
US20100266042A1 (en) * 2007-03-02 2010-10-21 Han Suh Koo Method and an apparatus for decoding/encoding a video signal
US7761685B2 (en) 2007-11-20 2010-07-20 Seiko Epson Corporation Compressing and decompressing image data without introducing artifacts
KR101505195B1 (ko) * 2008-02-20 2015-03-24 삼성전자주식회사 직접 모드 부호화 및 복호화 방법
JP4978575B2 (ja) 2008-06-25 2012-07-18 富士通株式会社 シンクライアントシステムにおける画像符号化方法及び画像符号化プログラム
KR101517768B1 (ko) 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
JPWO2010035733A1 (ja) 2008-09-24 2012-02-23 ソニー株式会社 画像処理装置および方法
KR101590511B1 (ko) 2009-01-23 2016-02-02 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
JP2011082683A (ja) 2009-10-05 2011-04-21 Sony Corp 画像処理装置、画像処理方法、及び、プログラム
CN102045557B (zh) 2009-10-20 2012-09-19 鸿富锦精密工业(深圳)有限公司 视频编解码方法及使用其的视频编码、解码装置
CN102131094A (zh) * 2010-01-18 2011-07-20 联发科技股份有限公司 运动预测方法
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
KR101752418B1 (ko) * 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR101791078B1 (ko) 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
WO2012160803A1 (ja) 2011-05-24 2012-11-29 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置
US9131245B2 (en) * 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
KR102014332B1 (ko) 2011-10-21 2019-08-26 노키아 테크놀로지스 오와이 비디오 코딩 방법 및 장치
MX2013008894A (es) 2011-10-27 2013-08-21 Panasonic Corp Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, y aparato de decodificacion de imagenes.
JP5383958B2 (ja) 2011-10-28 2014-01-08 パナソニック株式会社 復号方法および復号装置
RU2566957C2 (ru) 2011-11-08 2015-10-27 Самсунг Электроникс Ко., Лтд. Способ и устройство для определения вектора движения в кодировании или декодировании видео
US9420286B2 (en) 2012-06-15 2016-08-16 Qualcomm Incorporated Temporal motion vector prediction in HEVC and its extensions
US9491461B2 (en) 2012-09-27 2016-11-08 Qualcomm Incorporated Scalable extensions to HEVC and temporal motion vector prediction
EP3058747B1 (en) 2013-10-15 2019-11-20 Nokia Technologies Oy Scalable video encoding and decoding using syntax element
US20170294097A1 (en) 2016-04-08 2017-10-12 Vivint, Inc. Automated nap mode

Also Published As

Publication number Publication date
US20200213614A1 (en) 2020-07-02
PL2782341T3 (pl) 2020-06-29
CN104041042B (zh) 2018-10-23
US20130107964A1 (en) 2013-05-02
RU2609083C2 (ru) 2017-01-30
US11115677B2 (en) 2021-09-07
US11902568B2 (en) 2024-02-13
AR111961A2 (es) 2019-09-04
MX2013012224A (es) 2013-11-01
KR20140092760A (ko) 2014-07-24
JP2014030241A (ja) 2014-02-13
US20190261017A1 (en) 2019-08-22
CA2836244A1 (en) 2013-05-02
TWI552576B (zh) 2016-10-01
JP2014030240A (ja) 2014-02-13
EP2782341A4 (en) 2015-04-15
JPWO2013061549A1 (ja) 2015-04-02
CA2836244C (en) 2021-02-16
CN107948656A (zh) 2018-04-20
AR088540A1 (es) 2014-06-18
US8913665B2 (en) 2014-12-16
US20240121429A1 (en) 2024-04-11
EP2782341A1 (en) 2014-09-24
RU2646328C1 (ru) 2018-03-02
CN107948656B (zh) 2021-06-01
EP2782341B1 (en) 2020-01-01
RU2013147415A (ru) 2015-12-10
JP6041102B2 (ja) 2016-12-07
JP2014039299A (ja) 2014-02-27
KR101935977B1 (ko) 2019-01-07
TW201325253A (zh) 2013-06-16
US10631004B2 (en) 2020-04-21
US20230224491A1 (en) 2023-07-13
CN104041042A (zh) 2014-09-10
US10321152B2 (en) 2019-06-11
US20210360283A1 (en) 2021-11-18
JP5379933B2 (ja) 2013-12-25
US20140064377A1 (en) 2014-03-06
JP5995102B2 (ja) 2016-09-21
JP5414942B1 (ja) 2014-02-12
US11622128B2 (en) 2023-04-04
WO2013061549A1 (ja) 2013-05-02

Similar Documents

Publication Publication Date Title
ES2780188T3 (es) Método de codificación de imagen, método de decodificación de imagen, aparato de codificación de imagen y aparato de decodificación de imagen
JP6167409B2 (ja) 画像復号化方法および画像復号化装置
JP6260920B2 (ja) 符号化復号システム
ES2781868T3 (es) Procedimiento de decodificación de imágenes, procedimiento de codificación de imágenes, dispositivo de decodificación de imágenes, dispositivo de codificación de imágenes y dispositivo de codificación/decodificación de imágenes
ES2832507T3 (es) Procedimiento de realización de predicción de vector de movimiento, procedimientos de codificación y decodificación y aparatos de los mismos
ES2693676T3 (es) Procedimiento de codificación de imagen, procedimiento de decodificación de imagen, aparato de codificación de imagen y aparato de decodificación de imagen
ES2687685T3 (es) Procedimiento de codificación de instantáneas en movimiento, dispositivo de codificación de instantáneas en movimiento, procedimiento de decodificación de instantáneas en movimiento, dispositivo de decodificación de instantáneas en movimiento y dispositivo de codificación-decodificación de instantáneas en movimiento
ES2959039T3 (es) Aparato, procedimiento y programa para codificar imágenes en movimiento
JP5893570B2 (ja) 画像符号化方法および画像復号化方法
KR20180009387A (ko) 동화상 부호화 방법 및 동화상 복호화 방법
WO2013128832A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置
JP6304571B2 (ja) 動画像復号化方法および動画像復号化装置
WO2012090495A1 (ja) 画像符号化方法および画像復号方法
WO2012081225A1 (ja) 画像符号化方法、及び画像復号方法