[go: up one dir, main page]

ES2780186T3 - Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, y dispositivo de decodificación de imágenes - Google Patents

Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, y dispositivo de decodificación de imágenes Download PDF

Info

Publication number
ES2780186T3
ES2780186T3 ES12842944T ES12842944T ES2780186T3 ES 2780186 T3 ES2780186 T3 ES 2780186T3 ES 12842944 T ES12842944 T ES 12842944T ES 12842944 T ES12842944 T ES 12842944T ES 2780186 T3 ES2780186 T3 ES 2780186T3
Authority
ES
Spain
Prior art keywords
reference image
block
image
motion vector
current block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES12842944T
Other languages
English (en)
Inventor
Viktor Wahadaniah
Chong Soon Lim
Sue Mon Thet Naing
hai wei Sun
Toshiyasu Sugio
Takahiro Nishi
Hisao Sasai
Youji Shibahara
Kyoko Tanikawa
Toru Matsunobu
Kengo Terada
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 ES2780186T3 publication Critical patent/ES2780186T3/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
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un procedimiento de codificación para codificar bloques de imágenes por medio de inter predicción en base a imágenes de referencia codificadas que incluyen imágenes de referencia a corto plazo e imágenes de referencia a largo plazo, comprendiendo el procedimiento de codificación: derivar (S1301) un candidato para un predictor del vector de movimiento a ser usado en la codificación de un vector de movimiento para un bloque actual a ser codificado, a partir de un primer vector de movimiento de un primer bloque incluido en una primera imagen, siendo la primera imagen diferente a una imagen que incluye el bloque actual; añadir (S1302) el candidato derivado a un listado de candidatos; seleccionar (S1303) un predictor del vector de movimiento del listado de candidatos; y codificar (S1304) el bloque actual usando un vector de movimiento del bloque actual y una imagen de referencia del bloque actual, y codificar el vector de movimiento usando el predictor del vector de movimiento seleccionado, en el que la derivación incluye: seleccionar, mediante un procedimiento de selección predeterminado, un bloque entre una pluralidad de bloques incluido en la primera imagen como el primer bloque; 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 imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo; escalar el primer vector de movimiento mediante el uso de 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 una 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 imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque es una imagen de referencia a corto plazo; caracterizado porque la derivación además incluye: 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 es 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 es una imagen de referencia a largo plazo, un segundo bloque diferente al primer bloque, estando el segundo bloque coubicado en el bloque actual y tiene una imagen de referencia a corto plazo; y escalar un segundo vector de movimiento del segundo bloque mediante el uso de 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
Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, y dispositivo de decodificación de imágenes
Campo técnico
La presente invención se refiere a un procedimiento de codificación de imágenes para codificación de cada uno de los bloques de imágenes.
Antecedentes de la técnica
Es descrita en la Bibliografía No de Patente (NPL) 1 una técnica relacionada con un procedimiento de codificación de imágenes para codificación de cada uno de los bloques de imágenes.
Lista de citas
Bibliografía no de patente
[NPL 1] ISO/IEC 14496-10 - MPEG-4 Part 10, Advanced Video Coding
BROSS B ET AL: "WD4: Working Draft 4 of High-Efficiency Video Coding", 6. JCT-VC MEETING; 97. MPEG MEETING; 14-7-2011 - 22-7-2011; TORINO; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG1 1 Y ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, no. JCTVC-F803, 9 August 2011 (2011-08-09), XP030009800, desvela la predicción avanzada de vectores de movimiento para HEVC en la que es seleccionado un predictor de vector de movimiento de un conjunto candidato que comprende vectores de movimiento de bloques espacialmente contiguos y vectores de movimiento temporales de bloques coubicados. Los predictores de vector de movimiento son escalados de acuerdo con su distancia temporal respectiva.
LIM C S ET AL: "MVP scaling issue for LTRPs", 9. JCT-VC MEETING; 100. MPEG MEETING; 27-4-2012 -25 7-5­ 2012; GENEVA; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG1 1 Y ITU- T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, no. JCTVC-I0422, 17 April 2012 (2012-04-17), XP030112185, desvela predicción del vector de movimiento usando predictores espaciales y temporales. El predictor del vector de movimiento solo es escalado de acuerdo con 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, la escala del predictor del vector de movimiento está desactivada.
TAKAHASHI Y ET AL: "High-level Syntax: Motion vector prediction issue for long-term reference picture", 10. JCT-VC MEETING; 101. MPEG MEETING; 11-7-2012 - 20-7-2012; STOCKHOLM; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 Y ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AVARCH/JCTVC-SITE/, no. JCTVC-J0071, 29 June 2012 (2012-06-29), XP030112433, desvela la predicción del 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 del vector de movimiento es escalado de acuerdo con la distancia temporal respectiva. Si ambos imágenes de referencia son imágenes de referencia a largo plazo, el predictor del vector de movimiento no se escala. Si uno de las imágenes de referencia es una imagen de referencia a corto plazo y el otro es una imagen de referencia a largo plazo, el predictor del vector de movimiento es marcado como no disponible.
Sumario de la invención
Problema técnico
Sin embargo, hay casos en los que el procedimiento de codificación de imágenes convencional no puede lograr una eficiencia de codificación suficientemente alta.
En vista de esto, la presente invención proporciona un procedimiento de codificación de imágenes que puede mejorar la eficiencia de codificación en la codificación de imágenes.
Solución al problema
La presente invención es definida en las reivindicaciones independientes. La divulgación que permite la invención es hallada en la Realización 4. Las realizaciones restantes deben ser entendidas como ejemplos que no describen partes de la presente invención.
Estos aspectos generales y específicos pueden ser implementados usando un sistema, un aparato, un circuito integrado, un programa de ordenador o un medio de registro legible por ordenador no transitorio, tal como un CD-ROM, o cualquier combinación de sistemas, aparatos, procedimientos, circuitos integrados, programas de ordenador y medios de registro.
Efectos ventajosos de la invención
El procedimiento de codificación de imágenes de acuerdo con la presente invención proporciona un procedimiento de codificación de imágenes que puede mejorar la eficiencia de la codificación de imágenes.
Breve descripción de los dibujos
[FIG. 1]
La FIG. 1 es un diagrama de flujo que muestra una operación de un aparato de codificación de imágenes de acuerdo con un ejemplo de referencia.
[FIG. 2]
La FIG. 2 es un diagrama de flujo que muestra una operación de un aparato de decodificación de imágenes de acuerdo con el ejemplo de referencia.
[FIG. 3]
La FIG. 3 es un diagrama de flujo que muestra detalles de un proceso de derivación de acuerdo con el ejemplo de referencia.
[FIG. 4]
La FIG. 4 es un diagrama para explicar un bloque coubicado de acuerdo con el ejemplo de referencia.
[FIG. 5]
La FIG. 5 es un diagrama de bloques de un aparato de codificación de imágenes de acuerdo con la Realización 1.
[FIG. 6]
La FIG. 6 es un diagrama de bloques de un aparato de decodificación de imágenes de acuerdo con la Realización 1.
[FIG. 7]
La FIG. 7 es un diagrama de flujo que muestra una operación del aparato de codificación de imágenes de acuerdo con la Realización 1.
[FIG. 8]
La FIG. 8 es un diagrama de flujo que muestra una operación del aparato de decodificación de imágenes de acuerdo con la Realización 1.
[FIG. 9]
La FIG. 9 es un diagrama de flujo que muestra detalles de un proceso de derivación de acuerdo con la Realización 1.
[FIG. 10]
La FIG. 10 es un diagrama de flujo que muestra detalles de un proceso de derivación de acuerdo con la Realización 2.
[FIG. 11]
La FIG. 11 es un diagrama para explicar un bloque coubicado de acuerdo con la Realización 2.
[FIG. 12]
La FIG. 12 es un diagrama de flujo que muestra detalles de un proceso de derivación de acuerdo con la Realización 3.
[FIG. 13A]
La FIG. 13A es un diagrama de bloques de un aparato de codificación de imágenes de acuerdo con la Realización 4.
[FIG. 13B]
La FIG. 13B es un diagrama de flujo que muestra una operación del aparato de codificación de imágenes de acuerdo con la Realización 4.
[FIG. 14A]
La FIG. 14A es un diagrama de bloques de un aparato de decodificación de imágenes de acuerdo con la Realización 4.
40 [FIG. 14B]
La FIG. 14B es un diagrama de flujo que muestra una operación del aparato de decodificación de imágenes de acuerdo con la Realización 4.
[FIG. 15A]
La FIG. 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 la imagen de referencia.
[FIG. 15B]
La FIG. 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.
La FIG. 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.
[FIG. 16]
La FIG. 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 FIG. 17 ilustra una configuración global de un sistema de suministro de contenido para implementar servicios de distribución de contenido.
[FIG. 18]
La FIG. 18 ilustra una configuración global de un sistema de transmisión digital.
[FIG. 19]
La FIG. 19 es un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión.
[FIG. 20]
La FIG. 20 es un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproducción/registro de información que lee y escribe información desde o en un medio de registro que es un disco óptico.
[FIG. 21]
La FIG. 21 muestra un ejemplo de una configuración de un medio de registro que es un disco óptico.
[FIG. 22A]
La FIG. 22A muestra un ejemplo de un teléfono celular.
[FIG. 22B]
La FIG. 22B muestra un ejemplo de una configuración del teléfono celular.
[FIG. 23]
La FIG. 23 muestra una estructura de datos multiplexados.
[FIG. 24]
La FIG. 24 ilustra esquemáticamente la forma en que cada una de las corrientes es multiplexada en datos multiplexados.
[FIG. 25]
La FIG. 25 ilustra con más detalle la forma en que una corriente de video es almacenada en una corriente de paquetes PES.
[FIG. 26]
La FIG. 26 muestra una estructura de paquetes TS y paquetes fuente en los datos multiplexados.
[FIG. 27]
La FIG. 27 muestra una estructura de datos de un PMT.
[FIG. 28]
La FIG. 28 muestra una estructura interna de información de datos multiplexados.
[FIG. 29]
La FIG. 29 muestra una estructura interna de información de atributos de flujo.
[FIG. 30]
La FIG. 30 muestra las etapas para identificar datos de video.
[FIG. 31]
La FIG. 31 es un diagrama de bloques que ilustra un ejemplo de una configuración de un circuito integrado para implementar el procedimiento de codificación de imágenes en movimiento y el procedimiento de decodificación de imágenes en movimiento de acuerdo con cada una de las Realizaciones.
[FIG. 32]
La FIG. 32 muestra una configuración para conmutar entre las frecuencias de conducción.
[FIG. 33]
La FIG. 33 muestra etapas para identificar datos de video y conmutar entre las frecuencias de conducción. [FIG. 34]
La FIG. 34 muestra un ejemplo de una tabla de consulta en la que los estándares de datos de video están asociados con las frecuencias de conducción.
[FIG. 35A]
La FIG. 35A muestra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de la señales.
[FIG. 35B]
La FIG. 35B muestra otro ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de la señales.
Descripción de realizaciones
(Conocimiento subyacente que forma la base de la presente invención)
En relación con el procedimiento de codificación de imágenes desvelado en la sección de Antecedentes de la Técnica, los inventores de la presente han hallado el siguiente problema. Cabe señalar 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 un imagen, una parte de una imagen y similares.
Los esquemas de codificación de imágenes en los últimos años incluyen MPEG-4 AVC/H.264 y HEVC (codificación de video de alta eficiencia). En estos esquemas de codificación de imágenes, está disponible la inter predicción usando imágenes de referencia codificados.
Además, en estos esquemas de codificación de imágenes, puede ser usado una imagen de referencia denominado imagen de referencia a largo plazo. Por ejemplo, en el caso de que una imagen de referencia sea retenido en un DPB (memoria intermedia de imagen decodificada) durante mucho tiempo, la imagen de referencia puede ser usado como una imagen de referencia a largo plazo.
En HEVC, existe un modo denominado modo AMVP (predicción del vector de movimiento adaptativo). En el modo AMVP, un predictor de vector de movimiento obtenido mediante la predicción de un vector de movimiento de un bloque actual a partir de un vector de movimiento de un bloque adyacente o similar es usado para codificar el vector de movimiento del bloque actual.
En HEVC, también puede ser usado un predictor de vector de movimiento temporal. El predictor de vector de movimiento temporal es derivado de un vector de movimiento de un bloque coubicado en una imagen coubicada codificado. Las coordenadas del bloque coubicado en la imagen coubicada corresponden a las coordenadas del bloque actual en la imagen actual a ser codificado.
En adelante en la presente memoria, el vector de movimiento del bloque coubicado también es denominado vector de movimiento coubicado, y una imagen de referencia del bloque coubicado también es denominado imagen de referencia coubicado. El bloque coubicado es codificado usando el vector de movimiento coubicado y la imagen de referencia coubicada. Cabe señalar que el término "co-ubicado" también puede ser redactado "coubicado".
Asimismo, el vector de movimiento del bloque actual también es denominado vector de movimiento actual, y una imagen de referencia del bloque actual también es denominada imagen de referencia actual. El bloque actual es codificado usando el vector de movimiento actual y la imagen de referencia actual.
El bloque actual y el bloque coubicado mencionado anteriormente son cada uno una unidad de predicción (PU). La unidad de predicción es un bloque de imagen y es definida como una unidad de datos para la predicción. En HEVC, una unidad de codificación (CU) es definida como una unidad de datos para codificar, por separado 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" puede ser reemplazado por "unidad de predicción" o "unidad de codificación".
La unidad de codificación y la unidad de predicción no tienen tamaño fijo. Por ejemplo, una imagen puede incluir una pluralidad de unidades de codificación de varios tamaños, y una imagen puede incluir una pluralidad de unidades de predicción de varios 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 coubicada. Por consiguiente, en HEVC, el bloque coubicado es seleccionado de una pluralidad de bloques incluidos en la imagen coubicada mediante un procedimiento de selección predeterminado.
El predictor del vector de movimiento temporal es generado mediante el escalado del vector de movimiento del bloque coubicado seleccionado sobre la base de una distancia POC (recuento de orden de imagen). Los POC son números ordinales asignados a las imágenes en orden de exhibición. Una distancia POC corresponde a una distancia temporal entre dos imágenes. El escalado basado en una distancia POC también es denominado escalado basado en POC. La expresión 1 a continuación es una expresión aritmética para realizar un escalado basado en POC en el vector de movimiento del bloque coubicado.
pmv = (tb /td ) x colmv ■■■ (Expresión 1)
En la presente memoria, colmv es el vector de movimiento del bloque coubicado. pmv es el predictor del vector de movimiento temporal derivado del vector de movimiento del bloque coubicado. 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 coubicada y la imagen de referencia coubicada.
En el caso de que esté presente un predictor de vector de movimiento temporal válido, el predictor de vector de movimiento temporal es insertado en un listado ordenado de candidatos del predictor del vector de movimiento. El predictor de vector de movimiento usado para codificar el vector de movimiento actual es seleccionado del listado ordenado de candidatos del predictor de vector de movimiento. El predictor del vector de movimiento seleccionado es indicado mediante un parámetro en una corriente de bits.
La FIG. 1 es un diagrama de flujo que muestra una operación de un aparato de codificación de imágenes de acuerdo con un ejemplo de referencia. En particular, la FIG. 1 muestra un proceso de codificación de una imagen por inter predicción.
En primer lugar, el aparato de codificación de imágenes 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 (Etapa S101). El aparato de codificación de imágenes escribe la información que indica la clasificación de cada una de las imágenes de referencia, en una cabecera del corriente de bits (Etapa S102).
Después, el aparato de codificación de imágenes identifica la imagen de referencia actual y el vector de movimiento actual mediante la detección del movimiento (Etapa S103). El aparato de codificación de imágenes posteriormente deriva el predictor del vector de movimiento (Etapa S104). Un proceso de derivación se describirá en detalle posteriormente.
Después de esto, el aparato de codificación de imágenes sustrae el predictor del vector de movimiento del vector de movimiento actual, para derivar una diferencia del vector de movimiento (Etapa S105). El aparato de codificación de imágenes entonces genera un bloque de predicción, mediante la realización de la compensación de movimiento usando la imagen de referencia actual y el vector de movimiento actual (Etapa S106). El aparato de codificación de imágenes sustrae el bloque de predicción del bloque actual, para generar un bloque residual (Etapa S107). Finalmente, el aparato de codificación de imágenes codifica el bloque residual, la diferencia del vector de movimiento, y un índice de referencia que indica la imagen de referencia actual, para generar la corriente de bits que incluye estos datos (Etapa S108).
La FIG. 2 es un diagrama de flujo que muestra una operación de un aparato de decodificación de imágenes de acuerdo con el ejemplo de referencia. En particular, la FIG. 2 muestra un proceso de decodificación de una imagen por inter predicción.
El primer lugar, el aparato de decodificación de imágenes obtiene el flujo de bits, y obtiene la información que indica la clasificación de cada una de las imágenes de referencia mediante el análisis de la cabecera del corriente de bits (Etapa S201). El aparato de decodificación de imágenes también obtiene el bloque residual, la diferencia del vector de movimiento, y el índice de referencia que indica la imagen de referencia actual, mediante el análisis del corriente de bits (Etapa S202).
Después, el aparato de decodificación de imágenes deriva el predictor del vector de movimiento (Etapa S203). Un proceso de derivación es descrito en detalle a continuación. El aparato de decodificación de imágenes añade el predictor del vector de movimiento a la diferencia del vector de movimiento, para generar el vector de movimiento actual (Etapa S204). Después de esto, el aparato de decodificación de imágenes genera el bloque de predicción, mediante la realización de la compensación de movimiento usando la imagen de referencia actual y el vector de movimiento actual (Etapa S205). Finalmente, el aparato de decodificación de imágenes añade el bloque de predicción al bloque residual, para generar un bloque construido (Etapa S206).
La FIG. 3 es un diagrama de flujo que muestra detalles del proceso de derivación mostrado en las FIGS. 1 y 2. A continuación, es descrita la operación del aparato de codificación de imágenes. La operación del aparato de decodificación de imágenes es igual que la operación del aparato de codificación de imágenes, en la que "codificación" es reemplazada con "decodificación".
En primer lugar, el aparato de codificación de imágenes selecciona la imagen coubicada (Etapa S301). Después, el aparato de codificación de imágenes selecciona el bloque coubicado en la imagen coubicada (Etapa S302). El aparato de codificación de imágenes entonces identifica la imagen de referencia coubicada y el vector de movimiento coubicado (Etapa S303). Después de esto, el aparato de codificación de imágenes deriva el predictor del vector de movimiento mediante un esquema de derivación que implica el escalado basado en POC (Etapa S304).
La FIG. 4 es un diagrama para explicar el bloque coubicado usado en el proceso de derivación mostrado en la FIG. 3. El bloque coubicado es seleccionado de una pluralidad de bloques en la imagen coubicada.
La imagen coubicada es diferente a la imagen actual que incluye el bloque actual. Por ejemplo, la imagen coubicada es una imagen inmediatamente precedente o inmediatamente posterior de la imagen actual en orden de exhibición. Con más detalle, por ejemplo, la imagen coubicada es una imagen de referencia listado en primer lugar en cualquiera de los dos listados de imágenes de referencia usados para codificar imágenes B (codificación bipredictiva).
Un primer bloque que incluye una muestra c0 en la imagen coubicada es un candidato principal para el bloque coubicado, y también es denominado bloque coubicado primario. Un segundo bloque que incluye una muestra c1 en la imagen coubicada es un segundo candidato principal para el bloque coubicado, y también es denominado como bloque coubicado secundario.
Se deja que (x, y) sean coordenadas de una muestra superior izquierda tl en el bloque actual, w sea el ancho del bloque actual y h sea la 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 es seleccionado como el bloque coubicado. Los ejemplos del caso en el que el primer bloque no está disponible incluyen el caso en el que el primer bloque no está presente dado que el bloque actual se encuentra más a la derecha o más abajo en la imagen, y el caso en el que el primer bloque es codificado por intra predicción.
A continuación es descrito un ejemplo más específico del proceso de derivación del predictor de vector de movimiento temporal con referencia nuevamente a la FIG. 3.
En primer lugar, el aparato de codificación de imágenes selecciona la imagen coubicada (Etapa S301). Después, el aparato de codificación de imágenes selecciona el bloque coubicado (Etapa S302). En el caso en el que el primer bloque que incluye la muestra c0 mostrada en la FIG. 4 está disponible, el primer bloque es seleccionado como el bloque coubicado. En el caso en el que el primer bloque no está disponible y el segundo bloque que incluye la muestra c1 mostrada en la FIG. 4 está disponible, el segundo bloque es seleccionado como el bloque coubicado.
En el caso en el que sea seleccionado el bloque coubicado disponible, el aparato de codificación de imágenes establece el predictor del vector de movimiento temporal como disponible. En el caso en el que no sea seleccionado el bloque coubicado disponible, el aparato de codificación de imágenes establece el predictor del vector de movimiento temporal como no disponible.
En el caso en el que el predictor del vector de movimiento temporal sea establecido como disponible, el aparato de codificación de imágenes identifica el vector de movimiento coubicado como un vector de movimiento base. El aparato de codificación de imágenes también identifica la imagen de referencia coubicada (Etapa S303). El aparato de codificación de imágenes posteriormente deriva el predictor del vector de movimiento temporal del vector de movimiento base mediante el escalado de acuerdo con la Expresión 1 (Etapa S304).
A través del proceso descrito anteriormente, el aparato de codificación de imágenes y el aparato de decodificación de imágenes, cada uno de estos deriva el predictor del vector de movimiento temporal.
Sin embargo, existen casos en los que es difícil derivar el predictor del vector de movimiento temporal adecuado, de acuerdo con las relaciones entre la imagen actual, la imagen de referencia actual, la imagen coubicada, y la imagen de referencia coubicada.
Por ejemplo, en el caso en el que la imagen de referencia actual es una imagen de referencia a largo plazo, existe una posibilidad que la distancia temporal entre la imagen de referencia actual y la imagen actual sea larga. En el caso en el que la imagen de referencia coubicada es una imagen de referencia a largo plazo, existe una posibilidad que la distancia temporal entre la imagen de referencia coubicada y la imagen coubicada sea larga.
Estos casos conllevan la posibilidad de que sea generado un predictor de vector de movimiento temporal extremadamente grande o pequeño como resultado del escalado basado en POC. Esto provoca la degradación en la exactitud de la predicción y degradación en la eficiencia de la codificación. En particular, el predictor de vector de movimiento temporal extremadamente grande o pequeño no puede ser expresado adecuadamente con un número fijo de bits, lo que lleva a una degradación de la exactitud significativa de la predicción y degradación de la eficiencia de codificación.
Un procedimiento de codificación de imágenes de acuerdo con un aspecto de la presente invención es un procedimiento de codificación de imágenes de codificación de cada uno de los bloques de imágenes, el procedimiento de codificación de imágenes incluye: derivar un candidato para un predictor del vector de movimiento de un vector de movimiento de un bloque coubicado que es un bloque incluido en una imagen diferente a una imagen que incluye un bloque actual a ser codificado, el predictor del vector de movimiento es usado para codificar un vector de movimiento del bloque actual; añadir el candidato derivado a un listado; seleccionar el predictor del vector de movimiento del listado al que es añadido el candidato; y codificar el bloque actual usando el vector de movimiento del bloque actual y una imagen de referencia del bloque actual, y codificar el vector de movimiento del bloque actual usando el predictor del vector de movimiento seleccionado, en el que 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 coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo; derivar el candidato del vector de movimiento del bloque coubicado mediante un primer esquema de derivación que no implica escalar en base a una distancia temporal, en el caso de determinar que cada una de las imágenes de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo; y derivar el candidato del vector de movimiento del bloque coubicado mediante un segundo esquema de derivación que implica escalar en base a una distancia temporal, en el caso de determinar que cada una de las imágenes de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a corto plazo.
Por lo tanto, el candidato para el predictor del vector de movimiento es derivado adecuadamente sin ser extremadamente grande o pequeño. Esto contribuye a mejorar la exactitud de predicción y mejorar la eficiencia de codificación.
Por ejemplo, en la derivación: la derivación del candidato del vector de movimiento del bloque coubicado no se puede realizar en el caso de determinar que uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo y el otro de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a corto plazo; y la derivación del candidato del vector de movimiento del bloque coubicado se puede realizar en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a corto plazo.
Por lo tanto, en el caso en que se espera una baja exactitud de predicción, el candidato para el predictor del vector de movimiento no se deriva del vector de movimiento del bloque coubicado. La degradación de la exactitud de predicción se puede evitar de esta manera.
Por ejemplo, la codificación también puede incluir la 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, y la información que indica si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
Por consiguiente, 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 coubicado 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 coubicado y la imagen que incluye el bloque coubicado.
Por consiguiente, 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 adecuada en función de la distancia temporal.
Por ejemplo, la derivación puede incluir determinar si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el que el bloque coubicado es codificado.
Por consiguiente, si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo se determina con más exactitud.
Por ejemplo, la derivación puede incluir determinar si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el que el bloque actual es codificado.
Por consiguiente, no es requerido retener durante un tiempo largo la información que indica si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
Por ejemplo, la derivación puede incluir: derivar el vector de movimiento del bloque coubicado como el candidato, en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo; y derivar el candidato mediante el escalado del vector de movimiento del bloque coubicado usando una relación, en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a corto plazo, la relación 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 coubicado y la imagen que incluye el bloque coubicado.
Por consiguiente, en el caso en el que las dos imágenes de referencia son cada uno una imagen de referencia a largo plazo, es omitido el escalado, con lo que es posible reducir la computación. En el caso en el que las dos imágenes de referencia son cada uno una imagen de referencia a corto plazo, el candidato para el predictor del vector de movimiento es derivado adecuadamente sobre la distancia temporal.
Por ejemplo, la derivación también puede incluir, sin derivar el candidato del bloque coubicado, seleccionar otro bloque coubicado y derivar el candidato de un vector de movimiento del otro bloque coubicado 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 coubicado es una imagen de referencia a largo plazo, el otro bloque coubicado es codificado con referencia a una imagen de referencia a corto plazo.
Por consiguiente, es seleccionado el bloque para derivar el candidato de alta exactitud de predicción. Esto contribuye a una mejor exactitud de predicción.
Además, un procedimiento de decodificación de imágenes de acuerdo con un aspecto de la presente invención es un procedimiento de decodificación de imágenes para decodificar cada uno de los bloques de imágenes, el procedimiento de decodificación de imágenes incluye: derivar un candidato para un predictor del vector de movimiento a partir de un vector de movimiento de un bloque coubicado que es un bloque incluido en una imagen diferente a una imagen que incluye un bloque actual a ser decodificado, el predictor del vector de movimiento es usado para decodificar un vector de movimiento del bloque actual; añadir el candidato derivado a un listado; seleccionar el predictor del vector de movimiento del listado al que es añadido el candidato; y decodificar el vector de movimiento del bloque actual usando el predictor del vector de movimiento seleccionado, y decodificar el bloque actual usando el vector de movimiento del bloque actual y una imagen de referencia del bloque actual, en el que 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 coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo; derivar el candidato del vector de movimiento del bloque coubicado mediante un primer esquema de derivación que no implica el escalado basado en una distancia temporal, en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo; y derivar el candidato del vector de movimiento del bloque coubicado mediante un segundo esquema de derivación que implica el escalado basado en una distancia temporal, en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a corto plazo.
Por lo tanto, el candidato para el predictor del vector de movimiento es derivado adecuadamente sin ser extremadamente grande o pequeño. Esto contribuye a mejorar la exactitud de predicción y mejorar la eficiencia de codificación.
Por ejemplo, en la derivación: la derivación del candidato del vector de movimiento del bloque coubicado no se puede realizar en el caso de determinar que uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo y el otro de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a corto plazo; y la derivación del candidato del vector de movimiento del bloque coubicado puede ser realizada en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a corto plazo. Por consiguiente, en el caso en el que se espera exactitud de predicción baja, el candidato para el predictor del vector de movimiento no es derivado del vector de movimiento del bloque coubicado. La degradación de la exactitud de predicción se puede evitar de este modo.
Por ejemplo, la decodificación también puede incluir 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, y la información que indica si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en el que 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 coubicado 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 coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
Por consiguiente, es proporcionada 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 a partir del lado de codificación al lado de decodificación. Esto permite al lado de codificación y al lado de decodificación obtener el mismo resultado de la determinación y realizar el mismo procedimiento.
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 coubicado 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 coubicado y la imagen que incluye el bloque coubicado.
Por consiguiente, para cada imagen de referencia, es determinado de forma simple y adecuada en base a la distancia temporal si la imagen de referencia 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 coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el que el bloque coubicado es decodificado.
Por consiguiente, si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o si se determina más exactamente una imagen de referencia a corto plazo.
Por ejemplo, la derivación puede incluir determinar si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el que el bloque actual es decodificado.
Por consiguiente, no es requerido retener durante un tiempo largo la información que indica si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
Por ejemplo, la derivación puede incluir: derivar el vector de movimiento del bloque coubicado como el candidato, en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo; y derivar el candidato mediante el escalado del vector de movimiento del bloque coubicado usando una relación, en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a corto plazo, la relación 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 coubicado y la imagen que incluye el bloque coubicado.
Por lo tanto, es seleccionado el bloque para derivar el candidato de alta exactitud de predicción. Esto contribuye a mejorar la exactitud de predicción.
Además, un procedimiento que proporciona contenido de acuerdo con un aspecto de la presente invención es un procedimiento de transmisión de provisión de contenido, desde un servidor en el que son registrados los datos de imagen codificados por el procedimiento de codificación de imagen descrito anteriormente, los datos de la imagen en respuesta a una solicitud de un terminal externo.
Estos aspectos generales y específicos pueden ser implementados usando un sistema, un aparato, un circuito integrado, un programa de ordenador o un medio de registro legible por ordenador no transitorio tal como un CD-ROM, o cualquier combinación de sistemas, aparatos, procedimientos, circuitos integrados, programas de ordenador y medios de registro.
En adelante en la presente memoria, son descritas ciertas realizaciones de ejemplo con mayor detalle con referencia a los dibujos adjuntos.
Realización 1
La FIG. 5 es un diagrama de bloques de un aparato de codificación de imágenes de acuerdo con la Realización 1. Un aparato de codificación de imágenes 500 mostrado en la FIG. 5 codifica una imagen en forma de bloque, y emite una corriente de bits que incluye la imagen codificada. En detalle, el aparato de codificación de imágenes 500 incluye una unidad de sustracción 501, una unidad de transformación 502, una unidad de cuantificación 503, un codificador por 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, una 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 sustrae una imagen de predicción de una imagen provista al aparato de codificación de imágenes 500, para generar una imagen diferencial. La unidad de transformación 502 transforma la frecuencia de 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 por entropía 504 codifica la pluralidad de coeficientes de cuantificación generados por la unidad de cuantificación 503, para generar una corriente de bits.
La unidad de cuantificación inversa 505 cuantifica en forma inversa 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 transforma por frecuencia inversa 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, en forma de bloque. La memoria de imagen 509 es una memoria para almacenar la imagen restaurada por la unidad de adición 507, en forma de imagen.
La unidad de intra predicción 510 realiza la intra predicción mediante la 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 de otro valor de píxel en la imagen. La unidad de intra predicción 510 de este modo genera la imagen de predicción. La unidad de inter predicción 511 realiza inter predicción mediante la 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 de un valor de píxel en otra imagen. La unidad de inter predicción 511 de este modo genera la imagen de predicción.
La unidad de selección 512 selecciona cualquiera de las imágenes de predicción generadas 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 en la unidad de sustracción 501 y la unidad de adición 507.
Aunque no es mostrado en la FIG. 5, el aparato de codificación de imágenes 500 puede incluir una unidad de filtrado de desbloqueo. La unidad de filtrado de desbloqueo puede realizar un proceso de filtrado de desbloqueo en la imagen restaurada por la unidad de adición 507, para eliminar el ruido cerca de los límites del bloque. El aparato de codificación de imágenes 500 también puede incluir una unidad de control que controla cada proceso en el aparato de codificación de imágenes 500.
La FIG. 6 es un diagrama de bloques de un aparato de decodificación de imágenes de acuerdo con esta realización. Un aparato de decodificación de imágenes 600 mostrado en la FIG. 6 obtiene el flujo de bits, y decodifica la imagen en forma de bloque. En detalle, el aparato de decodificación de imágenes 600 incluye un decodificador por 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 por entropía 601 decodifica la pluralidad de coeficientes de cuantificación codificados incluidos en el flujo de bits. La unidad de cuantificación inversa 602 cuantifica en forma inversa la pluralidad de coeficientes de cuantificación decodificados por el decodificador por entropía 601, para restaurar la pluralidad de coeficientes de frecuencia. La unidad de transformación inversa 603 transforma por frecuencia inversa la pluralidad de coeficientes de frecuencia restaurada 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, en forma de bloque. La memoria de imagen 606 es una memoria para almacenar la imagen restaurada por la unidad de adición 604, en forma de imagen.
La unidad de intra predicción 607 realiza intra predicción mediante la 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 de otro valor de píxel en la imagen. La unidad de intra predicción 607 de este modo genera la imagen de predicción. La unidad de inter predicción 608 realiza la inter predicción mediante la 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 de este modo genera la imagen de predicción.
La unidad de selección 609 selecciona cualquiera de las imágenes de predicción generadas 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 es mostrado en la FIG. 6, el aparato de decodificación de imágenes 600 puede incluir una unidad de filtrado de desbloqueo. La unidad de filtrado de desbloqueo puede realizar un proceso de filtrado de desbloqueo en la imagen restaurada por la unidad de adición 604, para eliminar el ruido cerca de los límites del bloque. El aparato de decodificación de imágenes 600 también puede incluir una unidad de control que controla cada proceso en el aparato de decodificación de imágenes 600.
El proceso de codificación y el proceso de decodificación mencionados anteriormente son realizados en forma 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 son realizados en forma de unidad de transformación (TU), la unidad de transformación es incluida en la unidad de codificación. El proceso de predicción es realizado en forma de unidad de predicción, la unidad de predicción es incluida en la unidad de codificación.
La FIG. 7 es un diagrama de flujo que muestra una operación del aparato de codificación de imágenes 500 mostrado en la FIG. 5. En particular, la FIG. 7 muestra un proceso de codificación de una imagen por predicción.
En primer lugar, 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 (Etapa S701).
La imagen de referencia a largo plazo es una imagen de referencia adecuado para el uso a largo plazo. La imagen de referencia a largo plazo es definido 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 sea retenido en la memoria de imagen 509 durante mucho tiempo. La imagen de referencia a largo plazo es denominado mediante un POC absoluto que no depende de la imagen actual. Mientras tanto, la imagen de referencia a corto plazo es denominado mediante un POC relativo a la imagen actual.
Después, el codificador por entropía 504 escribe la información que indica la clasificación de cada una de las imágenes de referencia, en una cabecera del corriente de bits (Etapa S702). Es decir, el codificador por entropía 504 escribe 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.
Después de esto, la unidad de inter predicción 511 identifica la imagen de referencia y el vector de movimiento del bloque actual a ser codificado (para predecir), mediante la detección del movimiento (Etapa S703). La unidad de inter predicción 511 posteriormente deriva el predictor del vector de movimiento (Etapa S704). Un proceso de derivación es descrito en detalle a continuación.
La unidad de inter predicción 511 sustrae el predictor del vector de movimiento del vector de movimiento actual, para derivar la diferencia del vector de movimiento (Etapa S705). La unidad de inter predicción 511 después genera el bloque de predicción, mediante la realización de la compensación de movimiento usando la imagen de referencia actual y el vector de movimiento actual (Etapa S706).
Después de esto, la unidad de sustracción 501 sustrae el bloque de predicción del bloque actual (imagen original), para generar el bloque residual (Etapa S707). Por último, el codificador por entropía 504 codifica el bloque residual, la diferencia del vector de movimiento, y el índice de referencia que indica la imagen de referencia actual, para generar la corriente de bits que incluye estos datos (Etapa S708).
La FIG. 8 es un diagrama de flujo que muestra una operación del aparato de decodificación de imágenes 600 mostrado en la FIG. 6. En particular, la FIG. 8 muestra un proceso de decodificación una imagen por inter predicción.
En primer lugar, el decodificador por 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 mediante el análisis de la cabecera del corriente de bits (Etapa S801). Es decir, el decodificador por 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 por entropía 601 también obtiene el bloque residual, la diferencia del vector de movimiento, y el índice de referencia que indica la imagen de referencia actual, mediante el análisis del corriente de bits (Etapa S802).
Después, la unidad de inter predicción 608 deriva el predictor del vector de movimiento (Etapa S803). Un proceso de derivación se describirá en detalle posteriormente. La unidad de inter predicción 608 añade el predictor del vector de movimiento a la diferencia del vector de movimiento, para generar el vector de movimiento actual (Etapa S804). La unidad de inter predicción 608 posteriormente genera el bloque de predicción, mediante la realización de la compensación de movimiento usando la imagen de referencia actual y el vector de movimiento actual (Etapa S805). Por último la unidad de adición 604 añade el bloque de predicción al bloque residual, para generar el bloque reconstruido (Etapa S806).
La FIG. 9 es un diagrama de flujo que muestra detalles del proceso de derivación mostrado en las FIG. 7 y 8. A continuación es descrita principalmente la operación de la unidad de inter predicción 511 mostrada en la FIG. 5. La operación de la unidad de inter predicción 608 mostrada en la FIG. 6 es igual a la operación de la unidad de inter predicción 511 mostrada en la FIG. 5, en la que "codificación" es reemplazada con "decodificación".
En primer lugar, la unidad de inter predicción 511 selecciona la imagen coubicada en una pluralidad de imágenes de referencia disponibles (Etapa S901). La pluralidad de imágenes de referencia disponibles son imágenes codificadas, y son retenidos en la memoria de imagen 509.
Después, la unidad de inter predicción 511 selecciona el bloque coubicado en la imagen coubicada (Etapa S902). La unidad de inter predicción 511 después identifica la imagen de referencia coubicada y el vector de movimiento coubicado (Etapa S903).
Después de esto, la unidad de inter predicción 511 determina si alguno de la imagen de referencia actual y la imagen de referencia coubicada es o no una imagen de referencia a largo plazo (Etapa S904). En el caso de determinar que alguno de la imagen de referencia actual y la imagen de referencia coubicada es una imagen de referencia a largo plazo (Etapa S904: Sí), la unidad de inter predicción 511 deriva el predictor del vector de movimiento mediante un primer esquema de derivación (Etapa S905).
El primer esquema de derivación es un esquema usando el vector de movimiento coubicado. Con más detalle, el primer esquema de derivación es un esquema de derivación directa del vector de movimiento coubicado como el predictor del vector de movimiento, sin escalado basado en POC. El primer esquema de derivación puede ser esquema de derivación del predictor del vector de movimiento mediante el escalado del vector de movimiento coubicado a una relación predeterminada.
En el caso de determinar que ninguno de la imagen de referencia actual y la imagen de referencia coubicada es una imagen de referencia a largo plazo (Etapa S904: No), la unidad de inter predicción 511 deriva el predictor del vector de movimiento mediante un segundo esquema de derivación (Etapa S906). Es decir, en el caso de determinar que la imagen de referencia actual y la imagen de referencia coubicada son cada uno una imagen de referencia a corto plazo, la unidad de inter predicción 511 deriva el predictor del vector de movimiento 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 coubicada, y el vector de movimiento coubicado. Con más detalle, el segundo esquema de derivación es un esquema de derivación del predictor del vector de movimiento mediante la realización del escalado basado en POC (Expresión 1) en el vector de movimiento coubicado.
A continuación es descrito un ejemplo más específico del proceso de derivación del predictor del vector de movimiento temporal con referencia nuevamente a la FIG. 9. El proceso de derivación descrito anteriormente puede ser modificado de la siguiente manera.
En primer lugar, la unidad de inter predicción 511 selecciona la imagen coubicada (Etapa S901). Con más detalle, en el caso en el que un parámetro de cabecera de corte slice_type es B y un parámetro de cabecera de corte collocated_from_l0_flag es 0, una imagen RefPicListI [0] es seleccionado como la imagen coubicada. La imagen RefPicListI [0] es una imagen de referencia listado primero en un listado de imágenes de referencia ordenados RefPicList1.
En el caso en el que el parámetro de cabecera de corte slice_type no es B o en el caso en el que el parámetro de cabecera de corte collocated_from_l0_flag no es 0, una imagen RefPicList0[0] es seleccionado como la imagen coubicada. La imagen RefPicList0[0] es una imagen de referencia listado primero en un listado de imágenes de referencia ordenados RefPicListO.
Después, la unidad de inter predicción 511 selecciona el bloque coubicado (Etapa S902). En el caso en el que el primer bloque que incluye la muestra c0 que se muestra en la FIG. 4 está disponible, el primer bloque es seleccionado como el bloque coubicado. En el caso en el que el primer bloque no está disponible y el segundo bloque que incluye la muestra c1 que se muestra en la FIG. 4 está disponible, el segundo bloque es seleccionado como el bloque coubicado.
En el caso en el que es seleccionado el bloque coubicado disponible, la unidad de inter predicción 511 establece el predictor del vector de movimiento temporal como disponible. En el caso en el que no es seleccionado el bloque coubicado disponible, la unidad de inter predicción 511 establece el predictor del vector de movimiento temporal como no disponible.
En el caso en el que el predictor del vector de movimiento temporal es establecido como disponible, la unidad de inter predicción 511 identifica el vector de movimiento coubicado como el vector de movimiento base. La unidad de inter predicción 511 también identifica la imagen de referencia coubicada (Etapa S903). En el caso en el que el bloque coubicado tiene una pluralidad de vectores de movimiento, es decir, en el caso en el que el bloque coubicado es codificado usando una pluralidad de vectores de movimiento, la unidad de inter predicción 511 selecciona el vector de movimiento base de acuerdo con el orden de prioridad predeterminado.
Por ejemplo, en el caso en el que la imagen de referencia actual es una imagen de referencia a corto plazo, la unidad de inter predicción 511 puede seleccionar con preferencia un vector de movimiento que apunta a una ubicación en una imagen de referencia a corto plazo entre la pluralidad de vectores de movimiento, como el vector de movimiento base.
En detalle, en el caso en el que un vector de movimiento que apunta a una ubicación en una imagen de referencia a corto plazo está presente, la unidad de inter predicción 511 selecciona el vector de movimiento como el vector de movimiento base. En el caso en el que un vector de movimiento que apunta a una ubicación en una imagen de referencia a corto plazo no está presente, 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 en el que alguno de la imagen de referencia actual y la imagen de referencia coubicada es una imagen de referencia a largo plazo (Etapa S904: Sí), la unidad de inter predicción 511 deriva el vector de movimiento base como el predictor del vector de movimiento temporal (Etapa S905).
En el caso en el que ninguno de los dos imágenes de referencia es una imagen de referencia a largo plazo (Etapa S904: No), por otra parte, la unidad de inter predicción 511 deriva el predictor del vector de movimiento temporal del vector de movimiento base por escalado basado en POC (Etapa S906).
Como es descrito anteriormente, el predictor del vector de movimiento temporal es establecido como disponible o no disponible. La unidad de inter predicción 511 inserta el predictor del vector de movimiento temporal es establecido como disponible, en un listado ordenado de candidatos del predictor del vector de movimiento. El listado ordenado contiene no solo el predictor del vector de movimiento temporal sino diversos vectores de movimiento como candidatos del predictor del vector de movimiento.
La unidad de inter predicción 511 selecciona un predictor del vector de movimiento del listado ordenado, y predice el vector de movimiento actual usando el predictor del vector de movimiento seleccionado. En la presente memoria, la unidad de inter predicción 511 selecciona un predictor del vector de movimiento que está más cerca del vector de movimiento actual o un predictor del vector de movimiento que permite que el vector de movimiento actual sea codificado con mayor eficiencia de codificación, a partir del listado ordenado. Un índice correspondiente al predictor del vector de movimiento seleccionado se escribe en el flujo de bits.
A través del proceso descrito anteriormente, el predictor del vector de movimiento temporal es derivado adecuadamente del vector de movimiento coubicado, sin ser extremadamente grande o pequeño. Esto contribuye a mejorar la exactitud de predicción y mejorar la eficiencia de codificación.
Cabe señalar 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 puede ser modificado de acuerdo con el tiempo. Por ejemplo, una imagen de referencia a corto plazo puede ser modificado después a una imagen de referencia a largo plazo, y una imagen de referencia a largo plazo puede ser modificado posteriormente a una imagen de referencia a corto plazo.
Además, la unidad de inter predicción 511 puede determinar si la imagen de referencia coubicada es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el que el bloque coubicado es codificado. El aparato de codificación de imágenes 500 entonces puede incluir una memoria adicional para contener el resultado de la determinación de cuando el bloque coubicado es codificado a cuando el bloque actual es codificado.
De esta manera, es determinado más exactamente si la imagen de referencia coubicada 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 coubicada es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el que el bloque actual es codificado.
De esta manera, no es requerido retener durante mucho tiempo la información sobre si la imagen de referencia coubicada es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
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.
A modo de ejemplo, en el caso en el que la distancia temporal entre la imagen de referencia actual y la imagen actual es 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 en el que la distancia temporal no es 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.
Asimismo, la unidad de inter predicción 511 puede determinar si la imagen de referencia coubicada 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 coubicada y la imagen coubicada.
A modo de ejemplo, en el caso en el que la distancia temporal entre la imagen de referencia coubicada y la imagen coubicada es mayor que un umbral predeterminado, la unidad de inter predicción 511 determina que la imagen de referencia coubicada es una imagen de referencia a largo plazo. En el caso en el que la distancia temporal no es mayor que un umbral predeterminado, la unidad de inter predicción 511 determina que la imagen de referencia coubicada es una imagen de referencia a corto plazo.
La unidad de inter predicción 608 en el aparato de decodificación de imágenes 600 puede determinar, 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 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 imágenes 500. En tal caso, no es requerido codificar 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 imágenes 600 realiza el mismo proceso que el elemento estructural correspondiente en el aparato de codificación de imágenes 500, como resultado de lo que la imagen codificada con alta eficiencia de codificación es decodifica adecuadamente.
Las operaciones descritas anteriormente también son aplicables a otras operaciones. Cualquiera de las estructuras y operaciones descritas en esta realización pueden ser incorporadas en las otras realizaciones, y cualquiera de las estructuras y operaciones descritas en las otras realizaciones pueden ser incorporadas en esta realización.
Realización 2
Un aparato de codificación de imágenes y un aparato de decodificación de imágenes de acuerdo con la Realización 2 tienen la misma estructura que los de la Realización 1. Por consiguiente, las operaciones del aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con esta realización son descritas a continuación, usando la estructura del aparato de codificación de imágenes 500 que se muestra en la FIG. 5 y la estructura del aparato de decodificación de imágenes 600 que se muestra en la FIG. 6.
El aparato de codificación de imágenes 500 de acuerdo con esta realización realiza la operación que se muestra en la FIG. 7, como en la Realización 1. El aparato de decodificación de imágenes 600 de acuerdo con esta realización realiza la operación que se muestra en la FIG. 8, como en la Realización 1. Esta realización difiere de la Realización 1 en el predictor del vector de movimiento proceso de derivación. Esto es descrito en detalle a continuación.
La FIG. 10 es un diagrama de flujo que muestra detalles del proceso de derivación de acuerdo con esta realización. La unidad de inter predicción 511 de acuerdo con esta realización realiza la operación que se muestra en la FIG. 10, en lugar de la operación que se muestra en la FIG. 9. A continuación es descrita principalmente la operación de la unidad de inter predicción 511 que se muestra en la FIG. 5. La operación de la unidad de inter predicción 608 que se muestra en la FIG. 6 es igual a la operación de la unidad de inter predicción 511 que se muestra en la FIG. 5, en la que "codificación" es reemplazada con "decodificación".
En primer lugar, la unidad de inter predicción 511 selecciona la imagen coubicada de la pluralidad de imágenes de referencia disponibles (Etapa S1001). Después, la unidad de inter predicción 511 selecciona el bloque coubicado en la imagen coubicada (Etapa S1002). La unidad de inter predicción 511 posteriormente identifica la imagen de referencia coubicada y el vector de movimiento coubicado (Etapa 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 (Etapa S1004). En el caso de determinar que la imagen de referencia actual es una imagen de referencia a largo plazo (Etapa S1004: Sí), la unidad de inter predicción 511 deriva el predictor del vector de movimiento mediante el primer esquema de derivación igual que en la Realización 1 (Etapa S1005).
En el caso de determinar que la imagen de referencia actual no es una imagen de referencia a largo plazo (Etapa S1004: No), la unidad de inter predicción 511 determina si la imagen de referencia coubicada es o no una imagen de referencia a largo plazo 1006).
En el caso de determinar que la imagen de referencia coubicada no es una imagen de referencia a largo plazo (Etapa S1006: No), la unidad de inter predicción 511 deriva el predictor del vector de movimiento mediante el segundo esquema de derivación igual que en la Realización 1 (Etapa S1007). Es decir, en el caso de determinar que la imagen de referencia actual y la imagen de referencia coubicada son cada uno una imagen de referencia a corto plazo, la unidad de inter predicción 511 deriva el predictor del vector de movimiento mediante el segundo esquema de derivación.
En el caso de determinar que la imagen de referencia coubicada es una imagen de referencia a largo plazo (Etapa S1006: Sí), la unidad de inter predicción 511 selecciona otro bloque coubicado en la imagen coubicada (Etapa S1008). En el ejemplo que se muestra en la FIG. 10, un bloque codificado con referencia a una imagen de referencia a corto plazo es seleccionado como el otro bloque coubicado.
Después de esto, la unidad de inter predicción 511 identifica la imagen de referencia coubicada y el vector de movimiento coubicado correspondiente al otro bloque coubicado (Etapa S1009). La unidad de inter predicción 511 después deriva el vector predictor de movimiento mediante el segundo esquema de derivación que usa el escalado basado en POC (Etapa S1010).
En detalle, en el caso en el que la imagen de referencia del bloque actual es una imagen de referencia a corto plazo y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo, la unidad de inter predicción 511 no deriva el predictor del vector de movimiento del vector de movimiento del bloque coubicado. La unidad de inter predicción 511 en cambio selecciona otro bloque coubicado codificado con referencia a una imagen de referencia a corto plazo, y deriva el predictor del vector de movimiento del vector de movimiento del otro bloque coubicado codificado seleccionado.
A modo de ejemplo, en el caso en el que la imagen de referencia del bloque actual es una imagen de referencia a corto plazo y la imagen de referencia del bloque coubicado es 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 coubicado.
A modo de otro ejemplo, en el caso en el que la imagen de referencia del bloque actual es una imagen de referencia a corto plazo y la imagen de referencia del bloque coubicado es 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 en el que el bloque codificado con referencia a la imagen de referencia a corto plazo está presente, la unidad de inter predicción 511 selecciona el bloque como el otro bloque coubicado. En el caso en el que el bloque codificado con referencia a la imagen de referencia a corto plazo no está presente, 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 coubicado.
Por ejemplo, la unidad de inter predicción 511 en primer lugar selecciona el primer bloque que se muestra en la FIG.
4 como el bloque coubicado. En el caso en el que la imagen de referencia actual es una imagen de referencia a corto plazo y la imagen de referencia coubicada es una imagen de referencia a largo plazo, después la unidad de inter predicción 511 selecciona nuevamente el segundo bloque que se muestra en la FIG. 4 como el bloque coubicado.
En el ejemplo mencionado anteriormente, la unidad de inter predicción 511 puede seleccionar el segundo bloque que se muestra en la FIG. 4 como el bloque coubicado solo en el caso en el que la imagen de referencia del segundo bloque es una imagen de referencia a corto plazo. El bloque seleccionado como el bloque coubicado en la presente memoria no está limitado al segundo bloque mostrado en la FIG. 4, y puede ser seleccionado un bloque diferente al segundo bloque como el bloque coubicado.
La FIG. 11 es un diagrama para explicar el bloque coubicado de acuerdo con esta realización. Las muestras c0, c1, c2, y c3 en la imagen coubicada se muestran en la FIG. 11. Las muestras c0 y c1 en la FIG. 11 son iguales a las muestras c0 y c1 en la FIG. 4. No solo 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, pueden ser seleccionados como el otro bloque coubicado.
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 de los primeros, segundos, terceros y cuartos 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 coubicado final. Los ejemplos del caso en que el bloque no está disponible incluyen el caso en el que el bloque no está presente y el caso en el que el bloque es codificado por intra predicción.
En el caso en el que la imagen de referencia actual es una imagen de referencia a corto plazo, la unidad de inter predicción 511 puede determinar que un bloque codificado con referencia a una imagen de referencia a largo plazo no está disponible.
Aunque lo anterior describe el ejemplo del procedimiento de selección de bloque coubicado, el procedimiento de selección de bloque coubicado se limita al ejemplo anterior. Un bloque que incluye una muestra distinta de las muestras c0, c1, c2 y c3 se puede seleccionar como el bloque coubicado Además, el orden de prioridad de los bloques no se limita al ejemplo descrito en esta realización.
Lo siguiente describe un ejemplo más específico del proceso de derivación del predictor del vector de movimiento temporal con referencia nuevamente a la FIG. 10. El proceso de derivación descrito anteriormente puede ser modificado de la siguiente manera.
En primer lugar, la unidad de inter predicción 511 selecciona la imagen coubicada como en la Realización 1 (Etapa S1001). A continuación, la unidad de inter predicción 511 selecciona el primer bloque que incluye la muestra c0 que se muestra en la FIG. 11 como el bloque coubicado, e identifica la imagen de referencia coubicada (Etapas S1002 y S1003).
Después de esto, la unidad de inter predicción 511 determina si el bloque coubicado está o no disponible. En el caso en el que la imagen de referencia actual es una imagen de referencia a corto plazo y la imagen de referencia coubicada es una imagen de referencia a largo plazo, la unidad de inter predicción 511 determina que el bloque coubicado no está disponible (Etapas S1004 y S1006).
En el caso en el que el bloque coubicado no está disponible, la unidad de inter predicción 511 busca y selecciona otro bloque coubicado que está disponible (Etapa S1008). En detalle, la unidad de inter predicción 511 selecciona un bloque codificado con referencia a una imagen de referencia a corto plazo, 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 FIG. 11. La unidad de inter predicción 511 después identifica la imagen de referencia del bloque coubicado (Etapa S1009).
En el caso en el que es seleccionado el bloque coubicado disponible, la unidad de inter predicción 511 establece el predictor del vector de movimiento temporal como disponible. En el caso en el que en el que no es seleccionado el bloque coubicado disponible, la unidad de inter predicción 511 establece el predictor del vector de movimiento temporal como no disponible.
En el caso en el que el predictor del vector de movimiento temporal es establecido como disponible, la unidad de inter predicción 511 identifica el vector de movimiento coubicado como el vector de movimiento base (Etapas S1003 y S1009). En el caso en el que el bloque coubicado tiene una pluralidad de vectores de movimiento, es decir, en el caso en el que el bloque coubicado es codificado usando una pluralidad de vectores de movimiento, la unidad de inter predicción 511 selecciona el vector de movimiento base de acuerdo con el orden de prioridad predeterminado como en la Realización 1.
En el caso en el que alguno de la imagen de referencia actual y la imagen de referencia coubicada es una imagen de referencia a largo plazo (Etapa S1004: Sí), la unidad de inter predicción 511 deriva el vector de movimiento base como el predictor del vector de movimiento temporal (Etapa S1005).
En el caso en el que ninguno de la imagen de referencia actual y la imagen de referencia coubicada es una imagen de referencia a largo plazo (Etapa S1004: No), por otra parte, la unidad de inter predicción 511 deriva el predictor del vector de movimiento temporal del vector de movimiento base por escalado basado en POC (Etapas S1007 y S1010).
En el caso en el que el predictor del vector de movimiento temporal es establecido como no disponible, la unidad de inter predicción 511 no deriva el predictor del vector de movimiento temporal.
Como se describió anteriormente, en esta realización, en el caso en el que la imagen de referencia del bloque actual es una imagen de referencia a corto plazo y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo, el predictor del vector de movimiento temporal no es derivado del vector de movimiento del bloque coubicado.
Es extremadamente difícil derivar el predictor del vector de movimiento temporal de alta exactitud de predicción, en el caso en el que uno de la imagen de referencia actual y la imagen de referencia coubicada es una imagen de referencia a largo plazo y el otro de la imagen de referencia actual y la imagen de referencia coubicada es una imagen de referencia a corto plazo. En vista de esto, el aparato de codificación de imágenes 500 y el aparato de decodificación de imágenes 600 de acuerdo con esta realización evitan la degradación de la exactitud de predicción mediante la operación descrita anteriormente.
Realización 3
Un aparato de codificación de imágenes y un aparato de decodificación de imágenes de acuerdo con la Realización 3 tienen la misma estructura que los de la Realización 1. Por consiguiente, las operaciones del aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con esta realización son descritas a continuación, usando la estructura del aparato de codificación de imágenes 500 que se muestra en la FIG. 5 y la estructura del aparato de decodificación de imágenes 600 que se muestra en la FIG. 6.
El aparato de codificación de imágenes 500 de acuerdo con esta realización realiza la operación que se muestra en la FIG. 7, como en la Realización 1. El aparato de decodificación de imágenes 600 de acuerdo con esta realización realiza la operación que se muestra en la FIG. 8, como en la Realización 1. Esta realización difiere de Realización 1 en el predictor del vector de movimiento proceso de derivación. Esto es descrito en detalle a continuación.
La FIG. 12 es un diagrama de flujo que muestra detalles del proceso de derivación de acuerdo con esta realización. La unidad de inter predicción 511 de acuerdo con esta realización realiza la operación que se muestra en la FIG. 12, en vez de la operación que se muestra en la FIG. 9. A continuación es descrita principalmente la operación de la unidad de inter predicción 511 que se muestra en la FIG. 5. La operación de la unidad de inter predicción 608 que se muestra en la FIG. 6 es igual que la operación de la unidad de inter predicción 511 que se muestra en la FIG. 5, en la que "codificación" es reemplazada con "decodificación".
En primer lugar, la unidad de inter predicción 511 selecciona la imagen coubicada de la pluralidad de imágenes de referencia disponibles (Etapa S1201). A continuación, la unidad de inter predicción 511 selecciona el bloque coubicado en la imagen coubicada (Etapa S1202). La unidad de inter predicción 511 posteriormente identifica la imagen de referencia coubicada y el vector de movimiento coubicado (Etapa 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 (Etapa S1204). En el caso de determinar que la imagen de referencia actual es una imagen de referencia a largo plazo (Etapa S1204: Sí), la unidad de inter predicción 511 deriva el predictor del vector de movimiento mediante el primer esquema de derivación igual que en la Realización 1 (Etapa S1 205).
En el caso de determinar que la imagen de referencia actual no es una imagen de referencia a largo plazo (Etapa S1204: No), la unidad de inter predicción 511 determina si la imagen de referencia coubicada es o no una imagen de referencia a largo plazo (Etapa S1206).
En el caso de determinar que la imagen de referencia coubicada no es una imagen de referencia a largo plazo (Etapa S1 206: No), la unidad de inter predicción 511 deriva el predictor del vector de movimiento mediante el segundo esquema de derivación igual que en la Realización 1 (Etapa S1207). Es decir, en el caso de determinar que la imagen de referencia actual y la imagen de referencia coubicada son cada uno una imagen de referencia a corto plazo, la unidad de inter predicción 511 deriva el predictor del vector de movimiento mediante el segundo esquema de derivación.
En el caso de determinar que la imagen de referencia coubicada es una imagen de referencia a largo plazo (Etapa S1206: Sí), la unidad de inter predicción 511 selecciona otro imagen coubicada (Etapa S1208). La unidad de inter predicción 511 después selecciona otro bloque coubicado en la otra imagen coubicada (Etapa S1209). En el ejemplo que se muestra en la FIG. 12, un bloque codificado con referencia a una imagen de referencia a corto plazo es seleccionado como el otro bloque coubicado.
Después de esto, la unidad de inter predicción 511 identifica la imagen de referencia coubicada y el vector de movimiento coubicado correspondiente al otro bloque coubicado (Etapa S1210). La unidad de inter predicción 511 posteriormente deriva el predictor del vector de movimiento mediante el segundo esquema de derivación que usa el escalado basado en POC (Etapa S1211).
En detalle, en el caso en el que la imagen de referencia del bloque actual es una imagen de referencia a corto plazo y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo, la unidad de inter predicción 511 no deriva el predictor del vector de movimiento del vector de movimiento del bloque coubicado.
La unidad de inter predicción 511 en cambio selecciona otra imagen coubicada. La unidad de inter predicción 511 además selecciona otro bloque coubicado codificado con referencia a una imagen de referencia a corto plazo, del otro imagen coubicada seleccionado. La unidad de inter predicción 511 deriva el predictor del vector de movimiento del vector de movimiento del otro bloque coubicado codificado seleccionado.
A modo de ejemplo, en el caso en el que la imagen de referencia actual es una imagen de referencia a corto plazo y la imagen de referencia coubicada es una imagen de referencia a largo plazo, la unidad de inter predicción 511 busca una imagen que incluye 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 coubicada.
A modo de otro ejemplo, en el caso en el que la imagen de referencia actual es una imagen de referencia a corto plazo y la imagen de referencia coubicada es una imagen de referencia a largo plazo, la unidad de inter predicción 511 en primer lugar busca una imagen que incluye un bloque codificado con referencia a una imagen de referencia a corto plazo.
En el caso en el que la imagen que incluye el bloque codificado con referencia a la imagen de referencia a corto plazo está presente, la unidad de inter predicción 511 selecciona la imagen como la otra imagen coubicada.
En el caso en el que la imagen que incluye el bloque codificado con referencia a la imagen de referencia a corto plazo no está presente, la unidad de inter predicción 511 busca una imagen que incluye 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 coubicada.
Por ejemplo, en el caso en el que la imagen RefPicList0[0] es la imagen coubicada, la imagen RefPicList1[0] es la otra imagen coubicada. En el caso en el que la imagen RefPicList1[0] es la imagen coubicada, la imagen RefPicList0[0] es la otra imagen coubicada.
En otras palabras, la imagen listado primero en uno de los dos listados de imágenes de referencias usados para la codificación de imágenes B (codificación bipredictiva) es la imagen coubicada, y la imagen listado primero en el otro de los dos listados de imágenes de referencias es la otra imagen coubicada.
A continuación es descrito un ejemplo más específico del proceso de derivación del predictor del vector de movimiento temporal con referencia nuevamente a la FIG. 12. El proceso de derivación descrito anteriormente puede ser modificado de la siguiente manera.
En primer lugar, la unidad de inter predicción 511 selecciona uno de la imagen RefPicList0[0] y la imagen RefPicList1[0], como la imagen coubicada (Etapa S1201). La unidad de inter predicción 511 selecciona, de la imagen coubicada seleccionada, el primer bloque que incluye la muestra c0 que se muestra en la FIG. 11 como el bloque coubicado, e identifica la imagen de referencia coubicada (Etapas S1202 y S1203).
Después de esto, la unidad de inter predicción 511 determina si el bloque coubicado está o no disponible. En el caso en el que la imagen de referencia actual es una imagen de referencia a corto plazo y la imagen de referencia coubicada es una imagen de referencia a largo plazo, la unidad de inter predicción 511 determina que el bloque coubicado no está disponible (Etapas S1204 y S1206).
En el caso en el que el bloque coubicado no está disponible, la unidad de inter predicción 511 nuevamente selecciona un bloque coubicado disponible. Por ejemplo, la unidad de inter predicción 511 selecciona el segundo bloque que incluye la muestra c1 que se muestra en la FIG. 11, como el bloque coubicado. La unidad de inter predicción 511 posteriormente identifica la imagen de referencia coubicada.
En el caso en el que en el que no es seleccionado el bloque coubicado disponible, la unidad de inter predicción 511 selecciona otro imagen coubicada. En la presente memoria, la unidad de inter predicción 511 selecciona el otro de la imagen RefPicList0[0] y la imagen RefPicList1 [0], como la imagen coubicada (Etapa S1 208).
La unidad de inter predicción 511 selecciona, de la imagen coubicada seleccionada, el primer bloque que incluye la muestra c0 que se muestra en la FIG. 1 como el bloque coubicado, e identifica la imagen de referencia coubicada (Etapas S1209 y S1210).
Después de esto, la unidad de inter predicción 511 determina si el bloque coubicado está o no disponible. Como en la determinación previa, en el caso en el que la imagen de referencia actual es una imagen de referencia a corto plazo y la imagen de referencia coubicada es una imagen de referencia a largo plazo, la unidad de inter predicción 511 determina que el bloque coubicado no está disponible.
En el caso en el que el bloque coubicado no está disponible, la unidad de inter predicción 511 selecciona nuevamente un bloque coubicado disponible (Etapa S1 209). En detalle, la unidad de inter predicción 511 selecciona el segundo bloque que incluye la muestra c1 que se muestra en la FIG. 11, como el bloque coubicado. La unidad de inter predicción 511 después identifica la imagen de referencia coubicada (Etapa S1210).
En el caso en el que el bloque coubicado disponible es eventualmente seleccionado, la unidad de inter predicción 511 establece el predictor del vector de movimiento temporal como disponible. En el caso en el que el bloque coubicado disponible eventualmente no es seleccionado, la unidad de inter predicción 511 establece el predictor del vector de movimiento temporal como no disponible.
En el caso en el que el predictor del vector de movimiento temporal es establecido como disponible, la unidad de inter predicción 511 identifica el vector de movimiento del bloque coubicado como el vector de movimiento base (Etapas S1203 y S1210). En el caso en el que el bloque coubicado tiene una pluralidad de vectores de movimiento, es decir, en el caso en el que el bloque coubicado es codificado usando una pluralidad de vectores de movimiento, la unidad de inter predicción 511 selecciona el vector de movimiento base de acuerdo con orden de prioridad predeterminado como en la Realización 1.
En el caso en el que alguno de la imagen de referencia actual y la imagen de referencia coubicada es una imagen de referencia a largo plazo (Etapa S1204: Sí), la unidad de inter predicción 511 deriva el vector de movimiento base como el predictor del vector de movimiento temporal (Etapa S1205).
En el caso en el que ninguno de la imagen de referencia actual y la imagen de referencia coubicada es una imagen de referencia a largo plazo (Etapa S1204: No), por otra parte, la unidad de inter predicción 511 deriva el predictor del vector de movimiento temporal del vector de movimiento base mediante el escalado basado en POC (Etapas S1207 y S121 1).
En el caso en el que el predictor del vector de movimiento temporal es establecido como no disponible, la unidad de inter predicción 511 no deriva el predictor del vector de movimiento temporal.
Como se describió anteriormente, el aparato de codificación de imágenes 500 y el aparato de decodificación de imágenes 600 de acuerdo con esta realización seleccionan el bloque adecuado para la derivación del predictor del vector de movimiento temporal de una pluralidad de imágenes, y derivan el predictor del vector de movimiento temporal del vector de movimiento del bloque seleccionado. Esto contribuye a mejorar 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 FIG. 13A es un diagrama de bloques de un aparato de codificación de imágenes de acuerdo con esta realización. Un aparato de codificación de imágenes 1300 que se muestra en la FIG. 13A codifica cada uno de los bloques de imágenes. El aparato de codificación de imágenes 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 que se muestra en la FIG. 5 y similares, y el codificador 1304 corresponde al codificador por entropía 504 que se muestra en la FIG. 5 y similares.
La FIG. 13B es un diagrama de flujo que muestra una operación del aparato de codificación de imágenes 1300 que se muestra en la FIG. 13A.
La unidad de derivación 1301 deriva un candidato para un predictor del vector de movimiento, de un vector de movimiento de un bloque coubicado (Etapa S1301). El bloque coubicado es un bloque incluido en una imagen diferente a una imagen que incluye un bloque actual a ser codificado. El predictor del vector de movimiento es usado para codificar un vector de movimiento del bloque actual.
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 coubicado 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 coubicado son cada uno una imagen de referencia a largo plazo, la unidad de derivación 1301 deriva el candidato del vector de movimiento del bloque coubicado mediante un primer esquema de derivación. El primer esquema de derivación es un esquema de derivación que no implica el 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 coubicado son cada uno una imagen de referencia a corto plazo, por otra parte, la unidad de derivación 1301 deriva el candidato del vector de movimiento del bloque coubicado mediante un segundo esquema de derivación. El segundo esquema de derivación es un esquema de derivación que implica el escalado basado en una distancia temporal.
La unidad de adición 1302 añade el candidato derivado a un listado (Etapa S1302). La unidad de selección 1303 selecciona el predictor del vector de movimiento del listado al que es añadido el candidato (Etapa S1303).
El codificador 1304 codifica el bloque actual usando el vector de movimiento del bloque actual y la imagen de referencia del bloque actual. El codificador 1304 también codifica el vector de movimiento del bloque actual usando el predictor del vector de movimiento seleccionado (Etapa S1304).
La FIG. 14A es un diagrama de bloques de un aparato de decodificación de imágenes de acuerdo con esta realización. Un aparato de decodificación de imágenes 1400 que se muestra en la FIG. 14A decodifica cada uno de los bloques de imágenes. El aparato de decodificación de imágenes 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 que se muestra en la FIG. 6 y similares, y el decodificador 1404 corresponde al decodificador por entropía 601 mostrado en la FIG. 6 y similares.
La FIG. 14B es un diagrama de flujo que muestra una operación del aparato de decodificación de imágenes 1400 que se muestra en la FIG. 14A.
La unidad de derivación 1401 deriva un candidato para un predictor del vector de movimiento, de un vector de movimiento de un bloque coubicado (Etapa S1401). El bloque coubicado es un bloque incluido en una imagen diferente a una imagen que incluye un bloque actual a ser decodificado. El predictor del vector de movimiento es usado para decodificar un vector de movimiento del bloque actual.
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 coubicado 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 coubicado son cada uno una imagen de referencia a largo plazo, la unidad de derivación 1401 deriva el candidato del vector de movimiento del bloque coubicado mediante un primer esquema de derivación. El primer esquema de derivación es un esquema de derivación que no implica el 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 coubicado son cada uno una imagen de referencia a corto plazo, por otra parte, la unidad de derivación 1401 deriva el candidato del vector de movimiento del bloque coubicado mediante un segundo esquema de derivación. El segundo esquema de derivación es un esquema de derivación que implica el escalado basado en una distancia temporal.
La unidad de adición 1402 añade el candidato derivado a un listado (Etapa S1402). La unidad de selección 1403 selecciona el predictor del vector de movimiento del listado al que es añadido el candidato (Etapa S1403).
El decodificador 1404 decodifica el vector de movimiento del bloque actual usando el predictor del vector de movimiento seleccionado. El decodificador 1404 también decodifica el bloque actual usando el vector de movimiento del bloque actual y la imagen de referencia del bloque actual (Etapa S1404).
A través del proceso descrito anteriormente, el candidato para el predictor del vector de movimiento es derivado adecuadamente del vector de movimiento del bloque coubicado, sin que sea extremadamente grande o pequeño. Esto contribuye a mejorar la exactitud de predicción y mejorar la eficiencia de codificación.
En la presente memoria, las unidades de derivación 1301 y 1401 pueden no derivar el candidato del vector de movimiento del bloque coubicado, en el caso de determinar que uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo y el otro de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a corto plazo.
En este caso, las unidades de derivación 1301 y 1401 también pueden seleccionar otro bloque coubicado codificado o decodificado con referencia a una imagen de referencia a corto plazo, y derivar el candidato del otro bloque coubicado mediante el segundo esquema de derivación. Como alternativa, las unidades de derivación 1301 y 1401 pueden derivar el candidato mediante otro esquema de derivación. A modo de otra alternativa, las unidades de derivación 1301 y 1401 eventualmente pueden no derivar el candidato correspondiente al predictor del 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 si la imagen de referencia del bloque coubicado 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 coubicado y la imagen que incluye el bloque coubicado.
Las unidades de derivación 1301 y 1401 pueden determinar si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el que el bloque coubicado es codificado o decodificado.
Las unidades de derivación 1301 y 1401 pueden determinar si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo, en un período durante el que el bloque es codificado o decodificado.
El primer esquema de derivación puede ser un esquema de derivación del vector de movimiento del bloque coubicado como el candidato. El segundo esquema de derivación puede ser un esquema de derivación del candidato mediante el escalado del vector de movimiento del bloque coubicado 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 coubicado y la imagen que incluye el bloque coubicado.
El codificador 1304 también puede codificar 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 la información que indica si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
El decodificador 1404 también puede decodificar 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 la información que indica si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo.
La unidad de derivación 1401 después puede 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 decodificada, y determine si la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo usando la información decodificada.
La información que indica la clasificación de cada imagen de referencia se puede almacenar, como un parámetro, en una corriente de bits en una ubicación descrita a continuación.
La FIG. 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 FIG. 15A, el parámetro que indica la clasificación de la imagen de referencia se puede almacenar en una cabecera de secuencia. La cabecera de secuencia también es denominada conjunto de parámetros de secuencia.
La FIG. 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 FIG. 15B, el parámetro que indica la clasificación de la imagen de referencia se puede almacenar en una cabecera de imagen. La cabecera de imagen también es denominada conjunto de parámetros de imagen.
La FIG. 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 FIG. 15C, el parámetro que indica la clasificación de la imagen de referencia puede estar almacenado en una cabecera de corte.
La información que indica un modo de predicción (inter predicción o intra predicción) puede estar almacenada, como un parámetro, en la corriente de bits en una ubicación descrita a continuación.
La FIG. 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 FIG. 16, el parámetro puede ser almacenado en una cabecera de CU (cabecera de la unidad de codificación). El parámetro indica si una unidad de predicción en una unidad de codificación está codificada por inter predicción o intra predicción. Este parámetro puede ser usado para determinar si el bloque coubicado está o no disponible.
Cada uno de los elementos estructurales en cada una de las realizaciones descritas anteriormente puede estar configurado en forma de un producto de hardware exclusivo, o puede ser realizado mediante la ejecución de un programa de software adecuado para el elemento estructural. Cada uno de los elementos estructurales puede ser realizado mediante una unidad de ejecución de programas, tal como una CPU y un procesador, lectura y ejecución del programa de software registrado en un medio de registro, tal como un disco duro o una memoria de semiconductores. En la presente memoria, el programa de software para realizar el aparato de codificación de imágenes y similares de acuerdo con cada una de las realizaciones es un programa que es descrito a continuación.
El programa hace que un ordenador ejecute un procedimiento de codificación de imágenes de codificación de cada uno de los bloques de imágenes, el procedimiento de codificación de imágenes incluye: derivar un candidato para un predictor del vector de movimiento de un vector de movimiento de un bloque coubicado que es un bloque incluido en una imagen diferente a una imagen que incluye un bloque actual a ser codificado, el predictor del vector de movimiento que es usado para codificar un vector de movimiento del bloque actual; añadir el candidato derivado a un listado; seleccionar el predictor del vector de movimiento del listado al que es añadido el candidato; y codificar el bloque actual usando el vector de movimiento del bloque actual y una imagen de referencia del bloque actual, y codificar el vector de movimiento del bloque actual usando el predictor del vector de movimiento seleccionado, en el que 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 coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo; derivar el candidato del vector de movimiento del bloque coubicado mediante un primer esquema de derivación que no implica el escalado basado en una distancia temporal, en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo; y derivar el candidato del vector de movimiento del bloque coubicado mediante un segundo esquema de derivación que implica el escalado basado en una distancia temporal, en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es un imagen de referencia a corto plazo.
El programa puede hacer que el ordenador ejecute un procedimiento de decodificación de imágenes para decodificar cada uno de los bloques de imágenes, el procedimiento de decodificación de imágenes incluye: derivar un candidato para un predictor del vector de movimiento de un vector de movimiento de un bloque coubicado que es un bloque incluido en una imagen diferente a una imagen que incluye un bloque actual a ser decodificado, el predictor del vector de movimiento que es usado para decodificar un vector de movimiento del bloque actual; añadir el candidato derivado a un listado; seleccionar el predictor del vector de movimiento del listado al que es añadido el candidato; y decodificar el vector de movimiento del bloque actual usando el predictor del vector de movimiento seleccionado, y decodificar el bloque actual usando el vector de movimiento del bloque actual y una imagen de referencia del bloque actual, en el que 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 coubicado es una imagen de referencia a largo plazo o una imagen de referencia a corto plazo; derivar el candidato del vector de movimiento del bloque coubicado mediante un primer esquema de derivación que no implica el escalado basado en una distancia temporal, en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a largo plazo; y derivar el candidato del vector de movimiento del bloque coubicado mediante un segundo esquema de derivación que implica el escalado en base a una distancia temporal, en el caso de determinar que cada uno de la imagen de referencia del bloque actual y la imagen de referencia del bloque coubicado es una imagen de referencia a corto plazo.
Cada uno de los elementos estructurales puede ser un circuito. Estos circuitos pueden constituir enteramente un circuito, o ser circuitos separados. Cada uno de los elementos estructurales puede ser realizado por un procesador de propósito general o realizado por un procesador de propósito especial.
Por ejemplo, un aparato de codificación y decodificación de imágenes puede incluir el aparato de codificación de imágenes y el aparato de decodificación de imágenes. Un proceso ejecutado por una unidad de procesamiento específica puede ser ejecutado en otra unidad de procesamiento. Los procesos se pueden ejecutar en diferente orden, y dos o más procesos pueden ser ejecutados en paralelo.
Realización 5
El procesamiento descrito en cada una de las realizaciones puede ser implementado simplemente en un sistema de ordenador independiente, mediante el registro, en un medio de registro, de un programa para implementar las configuraciones del procedimiento de codificación de imágenes en movimiento (procedimiento de codificación de imágenes) y el procedimiento de decodificación de imágenes en movimiento (procedimiento de decodificación de imágenes) descrito en cada una de las realizaciones. Los medios de registro pueden ser cualquier medio de registro, a condición de que el programa pueda ser registrado, tal como un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta IC y una memoria de semiconductores.
En adelante en la presente memoria, son descritas las aplicaciones al procedimiento de codificación de imágenes en movimiento (procedimiento de codificación de imágenes) y el procedimiento de decodificación de imágenes en movimiento (procedimiento de decodificación de imágenes) descritas en cada una de sus realizaciones y sistemas de uso. El sistema tiene la característica de contar con un aparato de codificación y decodificación de imágenes que incluye un aparato de codificación de imágenes usando el procedimiento de codificación de imágenes y un aparato de decodificación de imágenes usando el procedimiento de decodificación de imágenes. Otras configuraciones del sistema pueden ser modificadas según sea adecuado de acuerdo con los casos.
La FIG. 17 ilustra una configuración general de un sistema que proporciona contenido ex100 para implementar servicios de distribución de contenido. El área para proporcionar servicios de comunicación es dividido en celdas del tamaño deseado, y las estaciones base ex106, ex107, ex108, ex109 y ex110, que son estaciones inalámbricas fijas, son colocadas en cada una de las celdas.
El sistema de provisión de contenido ex100 está conectado a dispositivos, tal como un ordenador ex111, un asistente digital personal (PDA) ex112, una cámara ex113, un teléfono celular ex114 y una consola de juegos ex115, a través de Internet ex101, un proveedor de servicio de Internet ex102, una red telefónica ex104, así como las estaciones base ex106 a ex110, respectivamente.
Sin embargo, la configuración del sistema de provisión del contenido ex100 no está limitada a la configuración mostrada en la FIG. 17, y es aceptable una combinación en la que cualquiera de los elementos están conectados. Además, cada dispositivo puede estar conectado 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 pueden estar interconectados 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 video digital, es capaz de capturar video. Una cámara ex116, tal como una cámara digital, es capaz de capturar imágenes fijas y video. Además, el teléfono celular ex114 puede ser el que cumpla con cualquiera de los estándares, tal 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 a paquetes de alta velocidad (HSPA). Alternativamente, el teléfono celular ex114 puede ser un sistema de teléfono inteligente personal (PHS).
En el sistema de provisión de contenido ex100, un servidor de transmisión ex103 está conectado a la cámara ex113 y 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 otros. En dicha distribución, un contenido (por ejemplo, video de un espectáculo musical en vivo) capturado por el usuario usando la cámara ex113 es codificado como es descrito anteriormente en cada una de las realizaciones (es decir, la cámara funciona como el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención), y el contenido codificado es transmitido al servidor de transmisión ex103. Por otra parte, el servidor de transmisión ex103 lleva a cabo la distribución de la transmisión de los datos de contenido transmitidos a los clientes después de sus solicitudes. Los clientes incluyen el ordenador ex111, la PDA ex112, la cámara ex113, el teléfono celular ex114 y la consola 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 imágenes de acuerdo con un aspecto de la presente invención).
Los datos capturados pueden ser codificados por la cámara ex113 o el servidor de transmisión ex103 que transmite los datos, o los procesos de codificación pueden ser compartidos entre la cámara ex113 y el servidor de transmisión ex103. De manera similar, los datos distribuidos pueden ser decodificados por los clientes o el servidor de transmisión ex103, o los procesos de decodificación pueden ser compartidos entre los clientes y el servidor de transmisión ex103. Además, los datos de las imágenes fijas y video capturados no solo por la cámara ex113, sino también por la cámara ex116, pueden ser transmitidos al servidor de transmisión ex103 a través del ordenador ex111. Los procesos de codificación pueden ser realizados por la cámara ex116, el ordenador ex111 o el servidor de transmisión ex103, o compartidos entre sí.
Además, los procesos de codificación y decodificación pueden ser realizados por un LSI ex500 generalmente incluido en cada uno de los ordenadores ex111 y los dispositivos. El LSI ex500 puede estar configurado con un solo chip o una pluralidad de chips. El software para codificar y decodificar video puede estar integrar en cualquier tipo de medio de registro tal como un CD-ROM, un disco flexible y un disco duro) legible por el ordenador ex111 y otros, y los procesos de codificación y decodificación pueden ser realizados usando el software. Además, cuando el teléfono celular ex114 está equipado con una cámara, pueden ser transmitidos los datos de video obtenidos por la cámara. Los datos de video son datos codificados por el LSI ex500 incluido en el teléfono celular ex114.
Además, el servidor de transmisión ex103 puede estar compuesto por servidores y ordenadores, y puede descentralizar datos y procesar los datos descentralizados, registrar o distribuir datos.
Como se describió anteriormente, los clientes pueden recibir y reproducir los datos codificados en el contenido que proporciona el sistema ex100. En otras palabras, los clientes pueden recibir y decodificar la información transmitida por el usuario, y reproducir los datos decodificados en tiempo real en el sistema de provisión de contenido ex100, de modo que el usuario que no tiene ningún derecho y equipo en particular puede implementar la transmisión personal.
Además del ejemplo del sistema de suministro de contenido ex100, al menos uno de los aparatos de codificación de imágenes en movimiento (aparato de codificación de imágenes) y el aparato de decodificación de imágenes en movimiento (aparato de decodificación de imágenes) descritos en cada una de las realizaciones pueden ser implementados en un sistema de transmisión digital ex200 ilustrado en la FIG. 18. Más específicamente, una estación de transmisión ex201 comunica o transmite, a través de ondas de radio a un satélite de transmisión ex202, datos multiplexados obtenidos al multiplexar datos de audio y otros en datos de video. Los datos de video son datos codificados por el procedimiento de codificación de imágenes en movimiento descrito en cada una de las realizaciones (es decir, datos codificados por el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención). Después de la recepción de los datos multiplexados, el satélite de difusión ex202 transmite ondas de radio para su difusión. Después, una antena de uso doméstico ex204 con una función de recepción de transmisión satelital recibe las ondas de radio. Después, un dispositivo tal como un televisor (receptor) ex300 y un decodificador (STB) ex217 decodifica los datos multiplexados recibidos y reproduce los datos decodificados (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención).
Además, un lector/registrador ex218 (i) lee y decodifica los datos multiplexados registrados en un medio de registro ex215, tal como un DVD y un BD, o (i) codifica señales de video en el medio de registro ex215 y, en algunos casos, escribe datos obtenidos al multiplexar una señal de audio en los datos codificados. El lector/registrador ex218 puede incluir el aparato de decodificación de imágenes en movimiento o el aparato de codificación de las imágenes en movimiento como se muestra en cada una de las realizaciones. En este caso, las señales de video reproducidas se muestran en el monitor ex219, y pueden ser reproducidas por otro dispositivo o sistema usando el medio de registro ex215 en el que son registrados los datos multiplexados. También es posible implementar el aparato de decodificación de imágenes en movimiento en el decodificador ex217 conectado al cable ex203 para un televisor por cable o a la antena ex204 para transmisión satelital y/o terrestre, a fin de mostrar las señales de video en el monitor ex219 del televisor ex300. El aparato de decodificación de imágenes en movimiento puede ser implementado no en el decodificador sino en el televisor ex300.
La FIG. 19 ilustra el televisor (receptor) ex300 que usa el procedimiento de codificación de imágenes en movimiento y el procedimiento de decodificación de imágenes en movimiento descrito en cada una de las realizaciones. El televisor ex300 incluye: un sintonizador ex301 que obtiene o proporciona datos multiplexados obtenidos al multiplexar datos de audio en datos de video, a través de la antena ex204 o el cable ex203, etc., que recibe una transmisión; una unidad de modulación/desmodulación ex302 que desmodula los datos multiplexados recibidos o modula los datos en datos multiplexados para suministrar afuera; y una unidad de multiplexación/demultiplexación ex303 que demultiplexa los datos multiplexados modulados en datos de video y audio, o multiplexa datos de video y 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 video ex305 que decodifica datos de audio y datos de video y codifica datos de audio y datos de video, respectivamente (que funcionan como el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con los aspectos de la presente invención); y una unidad de salida ex309 que incluye un altavoz ex307 que proporciona la señal de audio decodificada, y una unidad de visualización ex308 que muestra la señal de video decodificada, tal como una pantalla. 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 del circuito de suministro de energía ex311 que suministra energía a cada uno de los elementos. Además 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/registrador ex218; una unidad de ranura ex314 para permitir la conexión del medio de registro ex216, tal como una tarjeta SD; un controlador ex315 para conexión a un medio de registro externo, tal como un disco duro; y un módem ex316 para conexión a una red telefónica. En la presente memoria, el medio de registro ex216 puede registrar eléctricamente información usando un elemento de memoria semiconductor 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.
En primer lugar, es descrita la configuración en la que el televisor ex300 decodifica datos multiplexados obtenidos desde afuera a través de la antena ex204 y otras y reproduce los datos decodificados. En el televisor ex300, después de una operación del usuario a través de un controlador remoto ex220 y otros, la unidad de multiplexación/demultiplexación ex303 demultiplexa los datos multiplexados desmodulados por la unidad de modulación/desmodulació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 video ex305 decodifica los datos de video demultiplexados, usando el procedimiento de decodificación descrito en cada una de las realizaciones, en el televisor ex300. La unidad de salida ex309 proporciona la señal de video decodificada y la señal de audio externa, respectivamente. Cuando la unidad de salida ex309 proporciona la señal de video y la señal de audio, las señales pueden ser almacenadas temporalmente en las memorias intermedias ex318 y ex319, y otras para que las señales sean reproducidas en sincronización entre sí. Además, el televisor ex300 puede leer datos multiplexados no a través de una transmisión y otros, sino de los medios de registro ex215 y ex216, tal como un disco magnético, un disco óptico y una tarjeta SD. A continuación, es descrita una configuración en la que el televisor ex300 codifica una señal de audio y una señal de video, y transmite los datos al exterior o escribe los datos en un medio de registro. En el televisor ex300, después de una operación del usuario a través del controlador remoto 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 video ex305 codifica una señal de video, bajo el control de la unidad de control ex310 usando el procedimiento de codificación descrito en cada una de las realizaciones. La unidad de multiplexación/demultiplexación ex303 multiplexa la señal de video codificada y la señal de audio, y proporciona la señal resultante afuera. Cuando la unidad de multiplexación/demultiplexación ex303 multiplexa la señal de video y la señal de audio, las señales pueden ser almacenadas temporalmente en las memorias intermedias ex320 y ex321, y otras de modo que las señales sean reproducidas en sincronización entre sí. En la presente memoria, las memorias intermedias ex318, ex319, ex320, y ex321 pueden ser plurales como es ilustrado, o al menos una memoria intermedia puede ser compartida en el televisor ex300. Además, los datos pueden ser almacenados en una memoria intermedia por ejemplo, para evitar el desbordamiento y el subflujo del sistema entre la unidad de modulación/desmodulación ex302 y la unidad de multiplexación/demultiplexación ex303.
Además, el televisor ex300 puede incluir una configuración para recibir una entrada AV de un micrófono o una cámara diferente a la configuración para obtener datos de audio y video de una transmisión o un medio de registro, y puede codificar los datos obtenidos. Aunque el televisor ex300 puede codificar, multiplexar y proporcionar datos externos en la descripción, puede ser capaz solo de recibir, decodificar y proporcionar datos externos solamente, pero no de codificar, multiplexar y proporcionar datos externos.
Además, cuando el lector/registrador ex218 lee o escribe datos multiplexados desde o en un medio de registro, uno de los televisores ex300 y el lector/registrador ex218 puede decodificar o codificar los datos multiplexados, y el televisor ex300 y el lector/registrador ex218 puede compartir la decodificación o codificación.
A modo de ejemplo, la FIG. 20 ilustra una configuración de una unidad de información ex400 cuando los datos son leídos o escritos desde o en un disco óptico. La unidad de reproducción/registro de información ex400 incluye los elementos constituyentes ex401, ex402, ex403, ex404, ex405, ex406 y ex407 que son descritos a continuación. El cabezal óptico ex401 irradia un punto láser en una superficie de registro del medio de registro ex215 que es un disco óptico para escribir información, y detecta la luz reflejada desde la superficie de registro del medio de registro ex215 para leer la información. La unidad de registro de modulación ex402 acciona eléctricamente un láser semiconductor incluido en el cabezal óptico ex401, y modula la luz láser de acuerdo con los datos registrados. La unidad de desmodulación de reproducción ex403 amplifica una señal de reproducción obtenida mediante la detección eléctrica de la luz reflejada desde la superficie de registro usando un fotodetector incluido en el cabezal óptico ex401, y desmodula la señal de reproducción mediante la separación de un componente de señal registrado en el medio de registro ex215 para reproducir el Información necesaria. El memoria intermedia ex404 contiene temporalmente la información para registrar en el medio de registro ex215 y la información reproducida desde el medio de registro ex215. El motor de disco ex405 gira el medio de registro ex215. La unidad de servocontrol ex406 mueve el cabezal óptico ex401 a una pista de información predeterminada mientras 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/registro de información ex400. La unidad de control del sistema ex407 puede implementar los procesos de lectura y escritura usando diversa información almacenada en el memoria intermedia ex404 y generar y añadir nueva información según sea necesario, y mediante la unidad de registro de modulación ex402, la unidad de desmodulación de reproducción ex403 y la unidad de servocontrol ex406 que registra y reproduce información a través del cabezal óptico ex401 mientras que opera de manera coordinada. La unidad de control del sistema ex407 incluye, por ejemplo, un microprocesador, y ejecuta el procesamiento al hacer que un ordenador ejecute un programa para lectura y escritura.
Si bien el cabezal óptico ex401 irradia un punto láser en la descripción, puede realizar registros de alta densidad usando luz de campo cercano.
La FIG. 21 ilustra el medio de registro ex215 que es el disco óptico. En la superficie de registro del medio de registro ex215, las ranuras de guía son formadas en espiral, y una pista de información ex230 registra, de antemano, la información de dirección que indica una posición absoluta en el disco de acuerdo con el cambio en la forma de las ranuras de guía. La información de dirección incluye información para determinar las posiciones de los bloques de registro ex231 que son una unidad para registrar 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 registro. Además, el medio de registro ex215 incluye un área de registro de datos ex233, un área de circunferencia interna ex232 y un área de circunferencia externa ex234. El área de registro de datos ex233 es un área a ser usada en el registro de datos del usuario. El área de circunferencia interna ex232 y el área de circunferencia externa ex234 que están dentro y fuera del área de registro de datos ex233, respectivamente, son para uso específico, excepto para registrar los datos del usuario. La unidad de reproducción/registro de información 400 lee y escribe audio codificado, datos de video codificados o datos multiplexados obtenidos al multiplexar los datos de audio y video codificados, desde y en el área de registro de datos ex233 del medio de registro ex215.
Si bien un disco óptico que tiene una capa, tal como un DVD y un BD, es descrito a modo de ejemplo en la descripción, el disco óptico no está limitado a esto, y puede ser un disco óptico con una estructura multicapa y capaz de ser registrado en un parte diferente a la superficie. Además, el disco óptico puede tener una estructura para registro/reproducción multidimensional, tal como un registro de información usando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y para registrar información que tiene diferentes capas desde varios ángulos.
Además, un automóvil ex210 que tiene una antena ex205 puede recibir datos del satélite ex202 y otros, y reproducir video en un dispositivo de visualización tal como un sistema de navegación para automóvil ex211 establecido en el automóvil ex210, en el sistema de transmisión digital ex200. En la presente memoria una configuración del sistema de navegación del automóvil ex211 es una configuración, por ejemplo, que incluye una unidad de recepción GPS de la configuración ilustrada en la FIG. 19. Lo mismo es válido para la configuración del ordenador ex111, el teléfono celular ex114 y otros.
La FIG. 22A ilustra el teléfono celular ex114 que usa el procedimiento de codificación de imágenes en movimiento y el procedimiento de decodificación de imágenes descrito 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 fijos; y una unidad de visualización ex358 tal como una pantalla de cristal líquido para visualizar los datos tal como video 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 principal de cuerpo que incluye una unidad de tecla de operación ex366; una unidad de salida de audio ex357 tal como un altavoz para salida de audio; una unidad de entrada de audio ex356 tal como un micrófono para entrada de audio; una unidad de memoria ex367 para almacenar video capturado o imágenes fijos, audio grabado, datos codificados o decodificados del video recibido, imágenes fijos, correos electrónicos u otros; y una unidad de ranura ex364 que es una unidad de interfaz para un medio de registro que almacena datos de la misma manera que la unidad de memoria ex367.
A continuación, es descrito un ejemplo de una configuración del teléfono celular ex114 con referencia a la FIG. 22B. En el teléfono celular ex114, una unidad de control principal ex360 diseñada para controlar en general cada unidad del cuerpo principal que incluye la unidad de pantalla ex358, así como la unidad de tecla de operación ex366, están conectadas mutuamente, a través de un bus síncrono ex370, a una unidad del circuito de suministro de energía ex361, una unidad de control de entrada de operación ex362, una unidad de procesamiento de señal de video ex355, una unidad de interfaz de cámara ex363, una unidad de control de la pantalla de cristal líquido (LCD) ex359, una unidad de modulación/desmodulació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 la operación de un usuario enciende una tecla de llamada o una tecla de encendido, la unidad del circuito de suministro de energía ex361 suministra a las unidades respectivas energía de 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 recolectadas 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. Después, la unidad de modulación/desmodulación ex352 realiza el procesamiento de espectro extendido en 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 en los datos, para transmitir los datos resultantes a través de la antena ex350. Asimismo, 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 en los datos. Después, la unidad de modulación/desmodulación ex352 realiza un procesamiento de espectro extendido inverso en los datos, y la unidad de procesamiento de señal de audio ex354 lo convierte en señales de audio analógicas, para emitirlas a través de la unidad de salida de audio ex357.
Además, cuando es transmitido un correo electrónico en modo de comunicación de datos, los datos de texto del correo electrónico ingresado al operar la unidad del teclado de operación ex366 y otros del cuerpo principal son enviados 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/desmodulación ex352 realice un procesamiento de espectro extendido en los datos de texto, y la unidad de transmisión y recepción ex351 realiza la conversión de digital a analógico y la conversión de frecuencia en los datos resultantes para transmitir los datos a la estación base ex110 a través de la antena ex350. Cuando es recibido un correo electrónico, el procesamiento que es aproximadamente inverso al procesamiento para transmitir un correo electrónico es realizado sobre los datos recibidos, y los datos resultantes son proporcionados a la unidad de visualización ex358.
Cuando son transmitidos video, imágenes fijas o video y audio en modo de comunicación de datos, la unidad de procesamiento de señal de video ex355 comprime y codifica las señales de video suministradas desde la unidad de cámara ex365 usando el procedimiento de codificación de imágenes en movimiento que se muestra en cada una de las realizaciones (es decir, funciona como el aparato de codificación de imágenes de acuerdo con el aspecto de la presente invención), y transmite los datos de video codificados a la unidad de multiplexación/demultiplexación ex353. En contraste, cuando la unidad de cámara ex365 captura video, imágenes fijas y otros, la unidad de procesamiento de señal de audio ex354 codifica las señales de audio recolectadas 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 video codificados suministrados desde la unidad de procesamiento de señal de video ex355 y los datos de audio codificados suministrados desde la unidad de procesamiento de señal de audio ex354, usando un procedimiento predeterminado. Después, la unidad de modulación/desmodulación (unidad del circuito de modulación/desmodulación) ex352 realiza el procesamiento de espectro expandido en los datos multiplexados, 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 en los datos para transmitir los datos resultantes a través de la antena ex350.
Cuando son recibidos datos de un archivo de video que está vinculado a una página web y otros en modo de comunicación de datos o cuando es recibido un correo electrónico con video y/o audio adjunto, para 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 una corriente de bits de datos de video y una corriente de bits de datos de audio, y suministra a la unidad de procesamiento de señal de video ex355 los datos de video codificados y 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 video ex355 decodifica la señal de video usando un procedimiento de decodificación de imágenes en movimiento correspondiente al procedimiento de codificación de imágenes en movimiento mostrado en cada una de las realizaciones (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con el aspecto de la presente invención), y después la unidad de visualización ex358 muestra, por ejemplo, el video y las imágenes fijas incluidas en el archivo de video 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 que incluyen no solo (i) un terminal de transmisión y recepción que incluye un aparato de codificación y un aparato de decodificación, sino también (ii) un terminal de transmisión que incluye solo un aparato de codificación y (iii) un terminal de recepción que incluye solo un aparato de decodificación. Si bien el sistema de transmisión digital ex200 recibe y transmite los datos multiplexados obtenidos por multiplexación de los datos de audio en datos de video en la descripción, los datos multiplexados pueden ser datos obtenidos no al multiplexar datos de audio sino datos de caracteres relacionados con el video en datos de video, y puede no ser datos multiplexados sino propios datos de video.
Como tal, el procedimiento de codificación de imágenes en movimiento y el procedimiento de decodificación de imágenes en movimiento en cada una de las realizaciones pueden ser usados en cualquiera de los dispositivos y sistemas descritos. Por lo tanto, pueden ser obtenidas las ventajas descritas en cada una de las realizaciones.
Realización 6
Los datos de video pueden ser generados mediante la conmutación, según sea necesario, entre (i) el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento mostrados en cada una de las realizaciones y (ii) un procedimiento de codificación de imágenes en movimiento o un aparato de codificación de imágenes en movimiento de conformidad con un estándar diferente, tal como MPEG-2, MPEG-4 AVC y VC-1.
En la presente memoria, cuando es generada una pluralidad de datos de video ajustada a los diferentes estándares y después es decodificada, los procedimientos de decodificación deben ser seleccionados para ser ajustados a los diferentes estándares. Sin embargo, debido a que no se puede detectar cada estándar de la pluralidad de datos de video a ser decodificado, existe el problema de que no puede ser seleccionado un procedimiento de decodificación adecuado.
Para resolver el problema, los datos multiplexados obtenidos al multiplexar datos de audio y otros en datos de video tienen una estructura que incluye información de identificación que indica los estándares a los que están ajustados los datos de video. A continuación es descrita la estructura específica de los datos multiplexados que incluyen los datos de video generados en el procedimiento de codificación de imágenes en movimiento y por el aparato de codificación de imágenes en movimiento mostrado en cada una de las realizaciones. Los datos multiplexados son una corriente digital en formato de corriente de transporte MPEG-2.
La FIG. 23 ilustra una estructura de los datos multiplexados. Como se ilustra en la FIG. 23, los datos multiplexados pueden ser obtenidos mediante la multiplexación de al menos uno de una corriente de video, una corriente de audio, una corriente de gráficos de presentación (PG) y una corriente de gráficos interactivos. La corriente de video representa el video primario y el video secundario de una película, la corriente de audio (IG) representa una parte de audio primaria y una parte de audio secundaria a mezclar con la parte de audio primaria, y la corriente de gráficos de presentación representa los subtítulos de la película. En la presente memoria, el video primario es el video normal a ser mostrado en una pantalla, y el video secundario es el video a ser mostrado en una ventana más pequeña en el video primario. Además, el flujo de gráficos interactivos representa una pantalla interactiva que es generada mediante la disposición de los componentes de GUI en una pantalla. El flujo de video es codificado en el procedimiento de codificación de imágenes en movimiento o por el aparato de codificación de imágenes en movimiento que se muestra en cada una de las realizaciones, o en un procedimiento de codificación de imágenes en movimiento o por un aparato de codificación de imágenes en movimiento de conformidad con un estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1. El flujo de audio es codificado de acuerdo con un estándar, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD y PCM lineal.
Cada corriente incluida en los datos multiplexados es identificada por PID. Por ejemplo, 0x1011 es asignada a la corriente de video a ser usado para el video de una película, 0x1100 a 0x111F son asignadas a las corrientes de audio, 0x1200 a 0x121F son asignadas a las corrientes de gráficos de presentación, 0x1400 a 0x141F son asignadas a las corrientes de gráficos interactivos, 0x1B00 a 0x1B1F son asignadas a las corrientes de video a ser usadas para el video secundario de la película, y 0x1A00 a 0x1A1F son asignadas a las corrientes de audio a ser usadas para que el audio secundario sea mezclado con el audio primario.
La FIG. 24 ilustra esquemáticamente la forma en que los datos son o multiplexados. En primer lugar, una corriente de video ex235 compuesta por tramas de video y una corriente de audio ex238 compuesta por tramas de audio son transformadas en una corriente de paquetes p Es ex236 y una corriente de paquetes PES ex239, y adicionalmente en paquetes TS ex237 y paquetes TS ex240, respectivamente. De manera similar, los datos de una corriente de gráficos de presentación ex241 y los datos de una corriente de gráficos interactivos ex244 son transformadas en una corriente de paquetes PES ex242 y una corriente de paquetes PES ex245, y adicionalmente en paquetes TS ex243 y paquetes TS ex246, respectivamente. Estos paquetes TS son multiplexados en una corriente para obtener datos multiplexados ex247.
La FIG.25 ilustra con más detalle la forma en una corriente de video en una corriente de paquetes PES es almacenada. La primera barra en la FIG. 25 muestra una corriente de trama de video en una corriente de video. La segunda barra muestra el flujo de paquetes PES. Como es señalado mediante flechas indicadas como yy1, yy2, yy3 e yy4 en la FIG.
25, el flujo de video es dividido en imágenes como imágenes I, imágenes B e imágenes P, siendo cada uno una unidad de presentación de video, y las imágenes son almacenados 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 FIG. 26 ilustra un formato de paquetes TS finalmente a ser escritos 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 una corriente y una carga útil TS de 184 bytes para almacenar datos. Los paquetes PES son divididos y almacenados en las cargas útiles de TS, respectivamente. Cuando es usada una ROM BD, cada uno de los paquetes TS recibe un TP_Extra_Header de 4 bytes, lo que da como resultado paquetes fuente de 192 bytes. Los paquetes fuente son escritos en los datos multiplexados. El TP_Extra_Header almacena información como un Sell_Time_Stamp (ATS). ATS muestra un tiempo de inicio de transferencia en el que cada uno de los paquetes TS debe ser transferido a un filtro PID. Los paquetes fuente están dispuestos en los datos multiplexados como se muestra en la parte inferior de la FIG. 26. Los números que se incrementan desde el encabezado de los datos multiplexados son denominados números de paquete fuente (SPN).
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no solo flujos de audio, video, subtítulos y otros, sino también una tabla de asociación de programas (PAT), una tabla de mapa de programas (PMT) y una referencia de reloj de programa (PCR). PAT muestra lo que indica PID en PMT usada en los datos multiplexados, y PID de la propia PAT es registrado como cero. PMT almacena PID de las corrientes de video, audio, subtítulos y otras incluidas en los datos multiplexados, y la información de atributos de las corrientes correspondientes a PID. PMT también tiene varios descriptores relacionados con los datos multiplexados. Los descriptores tienen información tal como información de control de copia que muestra si la copia de los datos multiplexados está o no permitida. PCR almacena la información de tiempo STC correspondiente a ATS que muestra el momento en que es transferido el paquete de PCR a un decodificador, para 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 del sistema (STC) que es un eje de tiempo de PTS y DTS.
La FIG. 27 ilustra la estructura de datos de la PMT en detalle. Una cabecera de PMT está dispuesta en la parte superior de PMT. La cabecera de PMT describe la longitud de los datos incluidos en PMT y otros. Una pluralidad de descriptores relacionados con los datos multiplexados está dispuesta después de la cabecera de PMT. Información tal como la información de control de copia es descrita en los descriptores. Después de los descriptores, está dispuesta una pluralidad de partes de información de corriente relacionadas con las corrientes incluidas en los datos multiplexados. Cada parte de información de flujo incluye descriptores de corriente, cada uno de los que describe información, tal como un tipo de corriente para identificar un codec de compresión de una corriente, un PID de corriente e información de atributos de flujo (tal como una velocidad de trama o una relación de aspecto). Los descriptores de flujo son iguales en número al número de flujos en los datos multiplexados.
Cuando los datos multiplexados son registrados en un medio de registro y otros, son registrados 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 FIG. 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 FIG. 28, la información de datos multiplexados incluye una velocidad del sistema, un tiempo de inicio de reproducción y un tiempo de finalización de reproducción. La velocidad del sistema indica la velocidad de transferencia máxima a la que un decodificador objetivo del sistema que es descrito a continuación transfiere los datos multiplexados a un filtro PID. Los intervalos de ATS incluidos en los datos multiplexados son ajustados a una velocidad no superior a la del sistema. El tiempo de inicio de reproducción indica un PTS en una trama de video en la cabecera de los datos multiplexados. Es añadido un intervalo de una trama a PTS en una trama de video al final de los datos multiplexados, y PTS es establecido en el tiempo de finalización de la reproducción.
Como se muestra en la FIG. 29, una parte de información de atributo es registrada en la información de atributos de flujo, para cada PID de cada flujo incluido en los datos multiplexados. Cada parte de la información de atributos tiene información diferente de acuerdo con si la corriente correspondiente es una corriente de video, una corriente de audio, una corriente de gráficos de presentación o una corriente de gráficos interactivos. Cada parte de la información del atributo de transmisión de video lleva información que incluye el tipo de codec de compresión usado para comprimir la corriente de video, y la resolución, relación de aspecto y velocidad de trama de los datos de la imagen incluidos en la corriente de video. Cada parte de la información del atributo de la corriente de audio lleva información que incluye el tipo de codec de compresión usado para comprimir la corriente de audio, la cantidad canales incluidos en la corriente de audio, el idioma admitido en la corriente de audio y la altura de la frecuencia de muestreo. La información del atributo de la corriente de video y la información del atributo de transmisión de audio son usadas para inicializar 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 corriente incluido en la PMT. Además, cuando los datos multiplexados son registrados en un medio de registro, es usada la información del atributo de corriente de video incluida en la información de datos multiplexados. Más específicamente, el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones incluye una etapa o una unidad para asignar información única que indica datos de video generados por el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las realizaciones, al tipo de corriente incluido en PMT o la información del atributo de corriente de video. Con la configuración, los datos de video generados por el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones se pueden distinguir de los datos de video ajustados a otro estándar.
Además, la FIG. 30 ilustra las etapas del procedimiento de decodificación de imágenes en movimiento de acuerdo con la presente realización. En la Etapa exS100, el tipo de corriente incluida en PMT o la información de atributo de corriente de video incluida en la información de datos multiplexados es obtenida de los datos multiplexados. A continuación, en la Etapa exS101, se determina si el tipo de corriente o la información del atributo de la corriente de video indica o no que los datos multiplexados son generados mediante el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las realizaciones. Cuando se determina que el tipo de corriente o la información del atributo de la corriente de video indica que los datos multiplexados son generados mediante el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las realizaciones, en la Etapa exS102, la decodificación es realizada mediante el procedimiento de decodificación de imágenes en movimiento en cada una de las realizaciones. Además, cuando el tipo de corriente o la información del atributo de corriente de video indica conformidad con los estándares convencionales, tal como MPEG-2, MPEG-4 AVC y VC-1, en la Etapa exS103, la decodificación es realizada mediante un procedimiento de decodificación de imágenes en movimiento de conformidad con los estándares convencionales.
Como tal, asignar un nuevo valor único a la información del atributo de tipo de corriente o corriente de video permite determinar si el procedimiento de decodificación de imágenes en movimiento o el aparato de decodificación de imágenes en movimiento descrito en cada una de las realizaciones puede realizar o no la decodificación. Incluso cuando son ingresados datos multiplexados que son ajustados a un estándar diferente, puede ser seleccionado un procedimiento o aparato de decodificación adecuado. Por lo tanto, es posible decodificar información sin ningún error. Además, el procedimiento o aparato de codificación de imágenes en movimiento, o el procedimiento o aparato de decodificación de imágenes en movimiento en la presente realización pueden ser usados en los dispositivos y sistemas descritos anteriormente.
Realización 7
Cada uno de los procedimientos de codificación de imágenes en movimiento, el aparato de codificación de imágenes en movimiento, el procedimiento de decodificación de imágenes en movimiento y el aparato de decodificación de imágenes en movimiento en cada una de las realizaciones es logrado típicamente en forma de un circuito integrado o un circuito integrado a gran escala (LSI). Como ejemplo del LSI, la FIG. 31 ilustra una configuración de LSI ex500 realizada en un chip. LSI ex500 incluye los elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 descritos a continuación, y los elementos están conectados entre sí a través de un bus ex510. La unidad del circuito de suministro de energía ex505 se activa al suministrar energía a cada uno de los elementos cuando es encendida la unidad del circuito de suministro de energía ex505.
Por ejemplo, cuando es realizada la codificación, LSI ex500 recibe una señal AV de un micrófono ex117, una cámara ex113 y otros a través de AV IO ex509 bajo el control de una unidad de control ex501 que incluye una CPU ex502, un controlador de memoria ex503, un controlador de corriente ex504 y una unidad de control de frecuencia de conducción ex512. La señal AV recibida es almacenada temporalmente en una memoria externa ex511, tal como una SDRAM. Bajo el control de la unidad de control ex501, los datos almacenados son segmentados en porciones de datos de acuerdo con la cantidad de procesamiento y la velocidad para transmitir a una unidad de procesamiento de señales ex507. Entonces, la unidad de procesamiento de señal ex507 codifica una señal de audio y/o una señal de video. En la presente memoria la codificación de la señal de video es la codificación descrita en cada una de las realizaciones. Además, la unidad de procesamiento de señal ex507 a menudo multiplexa los datos de audio codificados y los datos de video codificados, y una corriente IO ex506 proporciona los datos multiplexados afuera. Los datos multiplexados proporcionados son transmitidos a la estación base ex107, o escritos en el medio de registro ex215. Cuando los conjuntos de datos son multiplexados, los datos deben ser almacenados temporalmente en la memoria intermedia ex508 para que los conjuntos de datos estén sincronizados entre sí.
Si bien la memoria ex511 es un elemento fuera de LSI ex500, puede estar incluida en LSI ex500. El memoria intermedia ex508 no está limitada a un memoria intermedia, sino que puede estar compuesta de memorias intermedias. Además, LSI ex500 puede ser convertido en un chip o en una pluralidad de chips.
Además, si bien la unidad de control ex501 incluye la CPU ex502, el controlador de memoria ex503, el controlador de flujo ex504, la unidad de control de frecuencia de conducción ex512, la configuración de la unidad de control ex501 no está limitada a estas. 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 aumentar la velocidad de procesamiento. Además, a modo de otro ejemplo, la CPU ex502 puede actuar como o ser una 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 en la presente memoria es LSI, pero también puede ser denominado IC, sistema LSI, súper LSI o ultra LSI de acuerdo con el grado de integración.
Además, las formas de lograr la integración no están limitadas a LSI, y un circuito especial o un procesador de propósito general y similares también pueden lograr la integración. La matriz de puerta programable de campo (FPGA) que se puede programar después de la fabricación de LSI o un procesador reconfigurable que permite la reconfiguración de la conexión o la configuración de un LSI puede ser usada para el mismo propósito.
En el futuro, con el avance en la tecnología de semiconductores, una tecnología completamente nueva puede reemplazar a LSI. Los bloques funcionales pueden ser integrados usando dicha tecnología. La posibilidad es que la presente invención sea aplicada a la biotecnología. .
Realización 8
Cuando son decodifican datos de video generados en el procedimiento de codificación de imágenes en movimiento o por el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones, en comparación con cuando son decodificados datos de video de acuerdo con un estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, la cantidad de procesamiento probablemente aumenta. Por lo tanto, LSI ex500 debe ser ajustado a una frecuencia de conducción mayor que la de la CPU ex502 a ser usada cuando son decodificados datos de video de acuerdo con el estándar convencional. Sin embargo, cuando la frecuencia de conducción es establecida en un valor superior, surge el problema del aumento del consumo de energía.
Para resolver el problema, el aparato de decodificación de imágenes en movimiento, tal como el televisor ex300 y LSI ex500, está configurado para determinar el estándar al que están ajustados los datos de video, y conmutar entre las frecuencias de conducción de acuerdo con el estándar determinado. La FIG. 32 ilustra una configuración ex800 en la presente realización. Una unidad de conmutación de frecuencia de conducción ex803 establece una frecuencia de conducción en una frecuencia de conducción más alta cuando los datos de video son generados mediante el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones. Después, la unidad de conmutación de frecuencia de conducción ex803 instruye a una unidad de procesamiento de decodificación ex801 para ejecutar el procedimiento de decodificación de imágenes en movimiento descrito en cada una de las realizaciones para decodificar los datos de video. Cuando los datos de video son ajustados al estándar convencional, la unidad de conmutación de frecuencia de conducción ex803 establece una frecuencia de conducción a una frecuencia de conducción menor que la de los datos de video generados por el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones. Después, la unidad de conmutación de frecuencia de conducción ex803 instruye a la unidad de procesamiento de decodificación ex802 para ser ajustada al estándar convencional para decodificar los datos de video.
Más específicamente, la unidad de conmutación de frecuencia de conducción ex803 incluye la CPU ex502 y la unidad de control de frecuencia de conducción ex512 en la FIG. 31. En la presente memoria cada una de la unidad de procesamiento de decodificación ex801 que ejecuta el procedimiento de decodificación de imágenes 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 FIG. 31. La CPU ex502 determina el estándar al que están ajustados los datos de video. Después, la unidad de control de frecuencia de conducción ex512 determina una frecuencia de conducción en base a una señal de la CPU ex502. Además, la unidad de procesamiento de señal ex507 decodifica los datos de video en base a la señal de la CPU ex502. Por ejemplo, la información de identificación descrita en la Realización 6 probablemente es usada para identificar los datos de video. La información de identificación no está limitada a la descrita en la Realización 6, sino que puede ser cualquier información a condición de que la información indique al estándar al que están ajustados los datos de video. Por ejemplo, cuando los datos de video ajustados al estándar pueden ser determinados en base a una señal externa para determinar que los datos de video son usados para un televisor o un disco, etc., la determinación puede ser realizada en base a dicha señal externa. Además, la CPU ex502 selecciona una frecuencia de conducción en base, por ejemplo, a una tabla de consulta en la que los estándares de los datos de video están asociados con las frecuencias de conducción como se muestra en la FIG. 34. La frecuencia de conducción puede ser seleccionada mediante el almacenamiento de la tabla de consulta en la memoria intermedia ex508 y no una memoria interna de LSI, y con referencia a la tabla de consulta de la CPU ex502.
La FIG. 33 ilustra las etapas para ejecutar un procedimiento en la presente realización. En primer lugar, en la Etapa exS200, la unidad de procesamiento de señal ex507 obtiene información de identificación de los datos multiplexados. A continuación, en la Etapa exS201, la CPU ex502 determina si los datos de video son generados o no mediante el procedimiento de codificación y el aparato de codificación descrito en cada una de las realizaciones, en base a la información de identificación. Cuando los datos de video son generados mediante el procedimiento de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones, en la Etapa exS202, la CPU ex502 transmite una señal para ajustar la frecuencia de conducción a una frecuencia de conducción más alta a la unidad de control de frecuencia de conducción ex512. Entonces, la unidad de control de frecuencia de conducción ex512 ajusta la frecuencia de conducción a la frecuencia de conducción más alta. Por otro lado, cuando la información de identificación indica que los datos de video están de acuerdo con al estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, en la Etapa exS203, la CPU ex502 transmite una señal para ajustar la frecuencia de conducción a una frecuencia de conducción menor que la unidad de control de frecuencia de conducción ex512. Entonces, la unidad de control de frecuencia de conducción ex512 ajusta la frecuencia de conducción a la frecuencia de conducción más baja que en el caso en que los datos de video son generados por el procedimiento de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones.
Además, junto con la conmutación de las frecuencias de conducción, el efecto de conservación de energía puede ser mejorado mediante el cambio del voltaje a ser aplicado a LSI ex500 o un aparato que incluye LSI ex500. Por ejemplo, cuando la frecuencia de conducción es ajustada más baja, el voltaje a ser aplicado a LSI ex500 o al aparato que incluye LSI ex500 probablemente esté ajustado a un voltaje más bajo que en el caso en que la frecuencia de conducción esté ajustada más alta.
Además, cuando la cantidad de procesamiento para la decodificación es mayor, la frecuencia de conducción puede ser ajustada más alta, y cuando la cantidad de procesamiento para la decodificación es menor, la frecuencia de conducción puede ser ajustada más baja como el procedimiento para ajustar la frecuencia de conducción. Por lo tanto, el procedimiento de ajuste no está limitado a los descritos anteriormente. Por ejemplo, cuando la cantidad de procesamiento para decodificar datos de video de conformidad con MPEG-4 AVC es mayor que la cantidad de procesamiento para decodificar datos de video generados por el procedimiento de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones, la frecuencia de conducción probablemente es ajustada en orden inverso al ajuste descrito anteriormente.
Además, el procedimiento para ajustar la frecuencia de conducción no está limitado al procedimiento para ajustar la frecuencia de conducción más baja. Por ejemplo, cuando la información de identificación indica que los datos de video son generados mediante el procedimiento de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones, el voltaje a ser aplicado a LSI ex500 o al aparato que incluye LSI ex500 probablemente esté ajustado más alto. Cuando la información de identificación indica que los datos de video están de acuerdo con al estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, el voltaje a ser aplicado a LSI ex500 o al aparato que incluye LSI ex500 probablemente esté ajustado más bajo. A modo de otro ejemplo, cuando la información de identificación indica que los datos de video son generados mediante el procedimiento de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones, el accionamiento de la CPU ex502 probablemente no deba ser suspendido. Cuando la información de identificación indica que los datos de video están de acuerdo con al estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, el accionamiento de la CPU ex502 probablemente es suspendido en un momento dado porque la CPU ex502 tiene capacidad de procesamiento adicional. Incluso cuando la información de identificación indica que los datos de video son generados mediante el procedimiento de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones, en el caso en que la CPU ex502 tiene capacidad de procesamiento adicional, el accionamiento de la CPU ex502 probablemente es suspendido en un momento dado. En tal caso, el tiempo de suspensión probablemente está ajustado más corto que en el caso en que la información de identificación indica que los datos de video están de acuerdo con al estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1.
Por consiguiente, el efecto de conservación de energía puede ser mejorado mediante la conmutación entre las frecuencias de conducción de acuerdo con el estándar al que están de acuerdo con los datos de video. Además, cuando LSI ex500 o el aparato que incluye LSI ex500 es accionado usando una batería, la vida útil de la batería puede ser extendida con el efecto de conservación de energía.
Realización 9
Hay casos en los que es proporcionada una pluralidad de datos de video de acuerdo con diferentes estándares a los dispositivos y sistemas, tal como un televisor y un teléfono celular. Para permitir la decodificación de la pluralidad de datos de video de acuerdo con los diferentes estándares, la unidad de procesamiento de señal ex507 de LSI ex500 debe estar de acuerdo con los diferentes estándares. Sin embargo, los problemas de aumento en la escala del circuito del LSI ex500 y aumento en el costo surgen con el uso individual de las unidades de procesamiento de señal ex507 que están de acuerdo con los estándares respectivos.
Para resolver el problema, se concibe una configuración en la que la unidad de procesamiento de decodificación para implementar el procedimiento de decodificación de imágenes en movimiento descrito en cada una de las realizaciones y la unidad de procesamiento de decodificación de acuerdo con el estándar convencional, tal como MPEG-2, MPEG -4 AVC y VC-1 son compartidas parcialmente. Ex900 en la FIG. 35A muestra un ejemplo de la configuración. Por ejemplo, el procedimiento de decodificación de imágenes en movimiento descrito en cada una de las realizaciones y el procedimiento de decodificación de imágenes en movimiento de acuerdo con MPEG-4 AVC tienen, parcialmente en común, los detalles del procesamiento, tal como la codificación por entropía, cuantificación inversa, filtrado de desbloqueo y predicción de compensación de movimiento. Los detalles del procesamiento a ser compartidos probablemente incluyan el uso de una unidad de procesamiento de decodificación ex902 de acuerdo con MPEG-4 AVC. En contraste, una unidad de procesamiento de decodificación dedicada ex901 es usada probablemente para otro procesamiento único para un aspecto de la presente invención. Debido a que el aspecto de la presente invención está caracterizado por la inter predicción en particular, por ejemplo, la unidad de procesamiento de decodificación dedicada ex901 es usada para la inter predicción. De lo contrario, la unidad de procesamiento de decodificación probablemente es compartida para una de decodificación por entropía, filtrado de desbloqueo y cuantificación inversa, o para todo el procesamiento. La unidad de procesamiento de decodificación para implementar el procedimiento de decodificación de imágenes en movimiento descrito en cada una de las realizaciones puede ser compartida para que el procesamiento sea compartido, y puede ser usada una unidad de procesamiento de decodificación dedicado para el procesamiento único de AVC MPEG-4.
Además, ex1000 en la FIG. 35B muestra otro ejemplo en que el procesamiento es compartido parcialmente. Este ejemplo usa una configuración que incluye una unidad de procesamiento de decodificación dedicada ex1001 que admite el procesamiento único de un aspecto de la presente invención, una unidad de procesamiento de decodificación dedicada ex1002 que admite el procesamiento único a otro estándar convencional, y una unidad de procesamiento de decodificación ex1003 que admite el procesamiento a ser compartido entre el procedimiento de decodificación de imágenes en movimiento de acuerdo con el aspecto de la presente invención y el procedimiento convencional de decodificación de imágenes en movimiento. En la presente memoria las unidades de procesamiento de decodificación dedicadas ex1001 y ex1002 no están necesariamente especializadas para el procesamiento de acuerdo con el aspecto de la presente invención y el procesamiento del estándar convencional, respectivamente, y pueden ser aquellas capaces de implementar el procesamiento general. Además, la configuración de la presente realización puede ser implementada mediante LSI ex500.
Como tal, es posible reducir la escala del circuito de LSI y reducir el costo compartiendo la unidad de procesamiento de decodificación para que el procesamiento sea compartido entre el procedimiento de decodificación de imágenes en movimiento de acuerdo con el aspecto de la presente invención y el procedimiento de decodificación de imágenes en movimiento de conformidad con el estándar convencional.
Aplicabilidad industrial
La presente invención es aplicable a un receptor de televisión, un registrador de video digital, un sistema de navegación para automóviles, un teléfono celular, una cámara digital, una cámara de video digital, y similares.
Lista de signos de referencia
500, 1300 Aparato de codificación de imágenes
501 Unidad de sustracción
502 Unidad de transformación
503 Unidad de cuantificación
504 Codificador por 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 imágenes 601 Decodificador por entropía
1301, 1401 Unidad de derivación
1302, 1402 Unidad de adición
1304 Codificador
1404 Decodificador

Claims (1)

  1. REIVINDICACIONES
    Un procedimiento de codificación para codificar bloques de imágenes por medio de inter predicción en base a imágenes de referencia codificadas que incluyen imágenes de referencia a corto plazo e imágenes de referencia a largo plazo, comprendiendo el procedimiento de codificación:
    derivar (S1301) un candidato para un predictor del vector de movimiento a ser usado en la codificación de un vector de movimiento para un bloque actual a ser codificado, a partir de un primer vector de movimiento de un primer bloque incluido en una primera imagen, siendo la primera imagen diferente a una imagen que incluye el bloque actual;
    añadir (S1302) el candidato derivado a un listado de candidatos;
    seleccionar (S1303) un predictor del vector de movimiento del listado de candidatos; y
    codificar (S1304) el bloque actual usando un vector de movimiento del bloque actual y una imagen de referencia del bloque actual, y codificar el vector de movimiento usando el predictor del vector de movimiento seleccionado,
    en el que la derivación incluye:
    seleccionar, mediante un procedimiento de selección predeterminado, un bloque entre una pluralidad de bloques incluido en la primera imagen como el primer bloque;
    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 imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo;
    escalar el primer vector de movimiento mediante el uso de 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 una 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 imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque es una imagen de referencia a corto plazo;
    caracterizado porque la derivación además incluye:
    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 es 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 es una imagen de referencia a largo plazo, un segundo bloque diferente al primer bloque, estando el segundo bloque coubicado en el bloque actual y tiene una imagen de referencia a corto plazo; y
    escalar un segundo vector de movimiento del segundo bloque mediante el uso de 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.
    El procedimiento de codificación de acuerdo con la reivindicación 1, en el que la codificación además incluye codificar 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 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.
    El procedimiento de codificación de acuerdo con una cualquiera de la reivindicación 1 y la reivindicación 2, en el que 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.
    El procedimiento de codificación de acuerdo con una cualquiera de la reivindicación 1 a la reivindicación 3, en el que 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 que el primer bloque es codificado; 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 que el bloque actual es codificado.
    El procedimiento de codificación de acuerdo con una cualquiera de la reivindicación 1 a la reivindicación 3, en el que 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 que el bloque actual es codificado; 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 que el bloque actual es codificado.
    Un procedimiento de decodificación para decodificar bloques de imágenes por medio de inter predicción en base a imágenes de referencia codificadas que incluyen imágenes de referencia a corto plazo e imágenes de referencia a largo plazo, comprendiendo el procedimiento de codificación:
    derivar un candidato para un predictor del vector de movimiento a ser usado en la decodificación de un vector de movimiento para un bloque actual a ser decodificado, a partir de un primer vector de movimiento de un primer bloque incluido en una primera imagen, siendo la primera imagen diferente a una imagen que incluye el bloque actual;
    añadir el candidato derivado a un listado de candidatos;
    seleccionar un predictor del vector de movimiento del listado de candidatos; y
    decodificar el vector de movimiento del bloque actual usando el predictor del vector de movimiento seleccionado, y decodificar el bloque actual usando el vector de movimiento y una imagen de referencia del bloque actual,
    en el que la derivación incluye:
    seleccionar (S902), mediante un procedimiento de selección predeterminado, un bloque entre una pluralidad de bloques incluidos en la primera imagen como el primer bloque;
    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 (S905) el primer vector de movimiento sin escalar como el candidato, en el caso de determinar que al menos una de la imagen de referencia del bloque actual y la primera imagen de referencia del primer bloque es una imagen de referencia a largo plazo;
    escalar (S906) el primer vector de movimiento mediante el uso de 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 una 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 es una imagen de referencia a corto plazo;
    caracterizado porque la derivación además incluye:
    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 es 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 es una imagen de referencia a largo plazo, un segundo bloque diferente al primer bloque, estando el segundo bloque coubicado en el bloque actual y tiene una imagen de referencia a corto plazo; y
    escalar un segundo vector de movimiento del segundo bloque mediante el uso de 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 procedimiento de decodificación de acuerdo con la reivindicación 6,
    en el que la decodificación además incluye decodificar 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 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, 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 procedimiento de decodificación de acuerdo con la reivindicación 6, en el que 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 procedimiento de decodificación de acuerdo con una cualquiera de la reivindicación 6 a la reivindicación 8, en el que 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 que primer bloque es decodificado; 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 que el bloque actual es decodificado.
    10. El procedimiento de decodificación de acuerdo con una cualquiera de la reivindicación 6 a la reivindicación 8, en el que la derivación incluye:
    determinar si la imagen de referencia para el bloque actual es una imagen de referencia a largo plazo o se determina una imagen de referencia a corto plazo, en un período durante el que el bloque actual es decodificado; 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 que el bloque actual es decodificado.
    11. Un aparato de codificación para codificar bloques de imágenes por medio de inter predicción en base a imágenes de referencia codificadas que incluyen imágenes de referencia a corto plazo e imágenes de referencia a largo plazo, comprendiendo el aparato de codificación:
    una unidad de derivación configurada para derivar un candidato para un predictor del vector de movimiento a ser usado en la codificación de un vector de movimiento para un bloque actual a ser codificado, a partir de un primer vector de movimiento de un primer bloque incluido en una primera imagen, siendo la primera imagen diferente a una imagen que incluye el bloque actual;
    una unidad de adición configurada para añadir el candidato derivado a un listado de candidatos;
    una unidad de selección configurada para seleccionar un predictor del vector de movimiento del listado de candidatos; y
    un codificador configurado para codificar el bloque actual usando un vector de movimiento del bloque actual y una imagen de referencia del bloque actual, y codificar el vector de movimiento usando el predictor del vector de movimiento seleccionado,
    en el que la unidad de derivación está configurada para:
    seleccionar, mediante un procedimiento de selección predeterminado, un bloque entre una pluralidad de bloques incluidos en la primera imagen como el primer bloque;
    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 es una imagen de referencia a largo plazo; y
    escalar el primer vector de movimiento mediante el uso de 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 una 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 es una imagen de referencia a corto plazo;
    caracterizado porque la unidad de derivación además está configurada 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 es 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 es una imagen de referencia a largo plazo, un segundo bloque diferente al primer bloque, estando el segundo bloque coubicado en el bloque actual y tiene una imagen de referencia a corto plazo; y
    escalar un segundo vector de movimiento del segundo bloque mediante el uso de 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 para decodificar bloques de imágenes por medio de inter predicción en base a imágenes de referencia codificadas que incluyen imágenes de referencia a corto plazo e imágenes de referencia a largo plazo, comprendiendo el aparato de decodificación:
    una unidad de derivación configurada para derivar un candidato para un predictor del vector de movimiento a ser usado en la decodificación de un vector de movimiento para un bloque actual a ser decodificado, a partir de un primer vector de movimiento de un primer bloque incluido en una primera imagen, siendo la primera imagen diferente a una imagen que incluye el bloque actual;
    una unidad de adición configurada para añadir el candidato derivado a un listado de candidatos;
    una unidad de selección configurada para seleccionar un predictor del vector de movimiento del listado de candidatos; y
    un decodificador configurado para decodificar el vector de movimiento del bloque actual usando el predictor del vector de movimiento seleccionado,
    y decodificar el bloque actual usando el vector de movimiento y una imagen de referencia del bloque actual,
    en el que la unidad de derivación está configurada para:
    seleccionar, mediante un procedimiento de selección predeterminado, un bloque entre una pluralidad de bloques incluidos en la primera imagen como el primer bloque;
    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 es una imagen de referencia a largo plazo; y
    escalar el primer vector de movimiento mediante el uso de 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 una 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 es una imagen de referencia a corto plazo;
    caracterizado porque la unidad de derivación además está configurada 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 es 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 es una imagen de referencia a largo plazo, un segundo bloque diferente al primer bloque, estando el segundo bloque coubicado en el bloque actual y tiene una imagen de referencia a corto plazo; y escalar un segundo vector de movimiento del segundo bloque mediante el uso de 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 que comprende:
    el aparato de codificación de acuerdo con la reivindicación 11; y
    el aparato de decodificación de acuerdo con la reivindicación 12.
ES12842944T 2011-10-28 2012-10-18 Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, y dispositivo de decodificación de imágenes Active ES2780186T3 (es)

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=48167402

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12842944T Active ES2780186T3 (es) 2011-10-28 2012-10-18 Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, y dispositivo de decodificación de imágenes

Country Status (14)

Country Link
US (13) US8861606B2 (es)
EP (1) EP2773111B1 (es)
JP (4) JP5383958B2 (es)
KR (1) KR101935976B1 (es)
CN (2) CN107071471B (es)
AR (1) AR088538A1 (es)
BR (1) BR112013027350B1 (es)
CA (1) CA2836243C (es)
ES (1) ES2780186T3 (es)
MX (1) MX2013012223A (es)
MY (1) MY164782A (es)
PL (1) PL2773111T3 (es)
TW (1) TW201334562A (es)
WO (1) WO2013061546A1 (es)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2687685T3 (es) * 2011-02-10 2018-10-26 Sun Patent Trust 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
KR101532665B1 (ko) * 2011-03-14 2015-07-09 미디어텍 인크. 시간적 움직임 백터 예측을 도출하기 위한 방법 및 장치
JP5954327B2 (ja) * 2011-06-30 2016-07-20 ソニー株式会社 画像処理装置および方法、記録媒体、並びに、プログラム
CA2845548C (en) 2011-08-25 2018-04-24 Panasonic Corporation Methods and apparatuses for encoding and decoding video using periodic buffer description
PL2755387T3 (pl) 2011-09-07 2017-08-31 Sun Patent Trust Sposób kodowania obrazów i urządzenie do kodowania obrazów
KR102011157B1 (ko) 2011-09-19 2019-10-21 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치 및 화상 부호화 복호 장치
ES2987825T3 (es) 2011-10-19 2024-11-18 Sun Patent Trust Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes, y dispositivo de codificación y descodificación de imágenes
US20130107962A1 (en) * 2011-10-26 2013-05-02 Intellectual Discovery Co., Ltd. Scalable video coding method and apparatus using inter prediction mode
PL2773112T3 (pl) 2011-10-27 2019-01-31 Sun Patent Trust Sposób kodowania obrazów, sposób dekodowania obrazów, urządzenie do kodowania obrazów oraz urządzenie do dekodowania obrazów
EP2782341B1 (en) 2011-10-28 2020-01-01 Sun Patent Trust Image encoding method, image decoding method, image encoding device, and image decoding device
WO2013061546A1 (ja) 2011-10-28 2013-05-02 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
BR122015021739A2 (pt) * 2011-11-08 2019-08-27 Samsung Electronics Co Ltd método para decodificar uma imagem
CN103547532B (zh) 2012-04-26 2016-01-20 昭和电工株式会社 含有针铁矿的赤泥的洗涤方法
CN104272743B (zh) * 2012-05-09 2019-01-01 太阳专利托管公司 执行运动矢量预测的方法、编码和解码方法及其装置
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
US9392268B2 (en) 2012-09-28 2016-07-12 Qualcomm Incorporated Using base layer motion information
US9544612B2 (en) * 2012-10-04 2017-01-10 Intel Corporation Prediction parameter inheritance for 3D video coding
CN106471806B (zh) 2014-06-16 2019-06-04 高通股份有限公司 3d-hevc中的简化移位合并候选者及合并列表导出
CN107113443B (zh) 2014-12-26 2020-04-28 索尼公司 影像处理设备和影像处理方法
US11394976B2 (en) 2017-01-03 2022-07-19 Lg Electronics Inc. Inter-prediction method and apparatus in image coding system
CN107295348A (zh) * 2017-07-31 2017-10-24 南通海鑫信息科技有限公司 一种图像编码方法
CN110419217B (zh) 2018-04-02 2023-09-26 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
CN116600108A (zh) 2018-12-13 2023-08-15 Jvc建伍株式会社 图像解码装置和方法、以及图像编码装置和方法
CN116915982B (zh) 2019-02-20 2024-03-26 北京达佳互联信息技术有限公司 用于视频解码的方法、电子设备、存储介质和程序产品
CN110147330B (zh) * 2019-05-23 2023-09-01 深圳市创维软件有限公司 一种字模数据的缓存方法、装置、设备和存储介质

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 動きベクトル検出方法
EP1489848A4 (en) 2002-03-14 2006-05-03 Matsushita Electric Ind Co Ltd MOTION VECTOR DETECTION METHOD
JP4130783B2 (ja) 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
KR100901030B1 (ko) 2002-05-11 2009-06-04 엘지전자 주식회사 동영상 코딩방법
WO2004006586A1 (ja) 2002-07-02 2004-01-15 Matsushita Electric Industrial Co., Ltd. 画像符号化方法および画像復号化方法
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
AU2003261923C1 (en) 2002-11-20 2009-07-16 Godo Kaisha Ip Bridge 1 Moving image predicting method, moving image encoding method and device, and moving image decoding method and device
FR2850827B1 (fr) * 2003-02-03 2005-11-04 Pagnac Andre Procede et dispositif de compression de parties d'images
US8131095B2 (en) 2003-02-03 2012-03-06 Actimagine Process and device for the compression of portions of 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 鲁海宁 动态图像编解码方法、装置和计算机可读记录介质
US20100002762A1 (en) * 2006-10-13 2010-01-07 Purvin Bibhas Pandit Method for reference picture management involving multiview video coding
JP2008193503A (ja) 2007-02-06 2008-08-21 Oki Electric Ind Co Ltd 動画像符号化装置および動画像符号化方法
CN101669367A (zh) 2007-03-02 2010-03-10 Lg电子株式会社 用于解码/编码视频信号的方法及设备
US7761685B2 (en) * 2007-11-20 2010-07-20 Seiko Epson Corporation Compressing and decompressing image data without introducing artifacts
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 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
JP4780219B2 (ja) 2009-04-02 2011-09-28 トヨタ自動車株式会社 動力出力装置、それを備えたハイブリッド自動車および動力出力装置の制御方法
JP2011082683A (ja) 2009-10-05 2011-04-21 Sony Corp 画像処理装置、画像処理方法、及び、プログラム
CN102045557B (zh) * 2009-10-20 2012-09-19 鸿富锦精密工业(深圳)有限公司 视频编解码方法及使用其的视频编码、解码装置
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
CN102131094A (zh) 2010-01-18 2011-07-20 联发科技股份有限公司 运动预测方法
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR101791078B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
CN107197247B (zh) * 2011-05-24 2020-01-14 威勒斯媒体国际有限公司 图像编码方法及图像编码装置
US9106927B2 (en) * 2011-09-23 2015-08-11 Qualcomm Incorporated Video coding with subsets of a reference picture set
KR102014332B1 (ko) * 2011-10-21 2019-08-26 노키아 테크놀로지스 오와이 비디오 코딩 방법 및 장치
PL2773112T3 (pl) * 2011-10-27 2019-01-31 Sun Patent Trust Sposób kodowania obrazów, sposób dekodowania obrazów, urządzenie do kodowania obrazów oraz urządzenie do dekodowania obrazów
WO2013061546A1 (ja) * 2011-10-28 2013-05-02 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
BR122015021739A2 (pt) * 2011-11-08 2019-08-27 Samsung Electronics Co Ltd método para decodificar uma imagem
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
CN105981387B (zh) * 2013-10-15 2019-09-27 诺基亚技术有限公司 用于处理视频的方法、装置和计算机可读存储介质
US20170294097A1 (en) * 2016-04-08 2017-10-12 Vivint, Inc. Automated nap mode

Also Published As

Publication number Publication date
US10567792B2 (en) 2020-02-18
JP6089302B2 (ja) 2017-03-08
US9357227B2 (en) 2016-05-31
US11356696B2 (en) 2022-06-07
KR20140092758A (ko) 2014-07-24
US20140314153A1 (en) 2014-10-23
US20130107965A1 (en) 2013-05-02
JP6260920B2 (ja) 2018-01-17
US8861606B2 (en) 2014-10-14
EP2773111B1 (en) 2020-01-01
US20230412835A1 (en) 2023-12-21
US20250024069A1 (en) 2025-01-16
US9699474B2 (en) 2017-07-04
US12132930B2 (en) 2024-10-29
US20150208088A1 (en) 2015-07-23
JP2014042292A (ja) 2014-03-06
BR112013027350A2 (pt) 2017-08-08
KR101935976B1 (ko) 2019-01-07
US20180316933A1 (en) 2018-11-01
EP2773111A1 (en) 2014-09-03
CN107071471A (zh) 2017-08-18
US20200154133A1 (en) 2020-05-14
US20210092440A1 (en) 2021-03-25
WO2013061546A1 (ja) 2013-05-02
US20160241872A1 (en) 2016-08-18
CN107071471B (zh) 2020-04-07
JP6083607B2 (ja) 2017-02-22
US11831907B2 (en) 2023-11-28
MX2013012223A (es) 2013-11-01
PL2773111T3 (pl) 2020-06-29
JP2014042291A (ja) 2014-03-06
JP5383958B2 (ja) 2014-01-08
EP2773111A4 (en) 2015-04-15
JP2017099001A (ja) 2017-06-01
CN103688545B (zh) 2017-05-10
US20180152726A1 (en) 2018-05-31
MY164782A (en) 2018-01-30
US10045047B2 (en) 2018-08-07
US20220248049A1 (en) 2022-08-04
US20170264915A1 (en) 2017-09-14
BR112013027350A8 (pt) 2018-02-06
US20140348245A1 (en) 2014-11-27
US9912962B2 (en) 2018-03-06
CA2836243C (en) 2020-12-01
CA2836243A1 (en) 2013-05-02
BR112013027350B1 (pt) 2022-06-07
TW201334562A (zh) 2013-08-16
CN103688545A (zh) 2014-03-26
TWI563831B (es) 2016-12-21
US10893293B2 (en) 2021-01-12
US9191679B2 (en) 2015-11-17
AR088538A1 (es) 2014-06-18
US9088799B2 (en) 2015-07-21
JPWO2013061546A1 (ja) 2015-04-02

Similar Documents

Publication Publication Date Title
ES2780186T3 (es) Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, y dispositivo de decodificación de imágenes
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) 画像復号化方法および画像復号化装置
JP6327568B2 (ja) 符号化・復号化装置
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
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
ES2728146T3 (es) Procedimientos y aparato de codificación y decodificación de vídeo utilizando predicción temporal de vector de movimiento
KR101913086B1 (ko) 동화상 부호화 방법 및 동화상 복호화 방법
ES2959039T3 (es) Aparato, procedimiento y programa para codificar imágenes en movimiento
JP6422011B2 (ja) 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置
JP5893570B2 (ja) 画像符号化方法および画像復号化方法
WO2013132792A1 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置
JP6551894B2 (ja) 動画像復号化方法および動画像復号化装置
WO2013128832A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置
WO2012090495A1 (ja) 画像符号化方法および画像復号方法