ES2781868T3 - 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 - Google Patents
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 Download PDFInfo
- Publication number
- ES2781868T3 ES2781868T3 ES12804429T ES12804429T ES2781868T3 ES 2781868 T3 ES2781868 T3 ES 2781868T3 ES 12804429 T ES12804429 T ES 12804429T ES 12804429 T ES12804429 T ES 12804429T ES 2781868 T3 ES2781868 T3 ES 2781868T3
- Authority
- ES
- Spain
- Prior art keywords
- candidates
- candidate
- fusion
- block
- merge
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 173
- 230000004927 fusion Effects 0.000 claims abstract description 262
- 230000033001 locomotion Effects 0.000 claims abstract description 158
- 239000013598 vector Substances 0.000 claims abstract description 132
- 230000008030 elimination Effects 0.000 claims abstract 3
- 238000003379 elimination reaction Methods 0.000 claims abstract 3
- 238000012545 processing Methods 0.000 description 92
- 238000004364 calculation method Methods 0.000 description 30
- 230000005236 sound signal Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 22
- 230000003287 optical effect Effects 0.000 description 19
- 239000000872 buffer Substances 0.000 description 12
- 238000002156 mixing Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000013139 quantization Methods 0.000 description 12
- 239000000155 melt Substances 0.000 description 11
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000001824 photoionisation detection Methods 0.000 description 10
- 230000002123 temporal effect Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 8
- 239000000470 constituent Substances 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000002844 melting Methods 0.000 description 4
- 230000008018 melting Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un procedimiento de decodificación de imágenes para decodificar un bloque actual de datos de instantánea incluidos en un flujo de bits codificado, comprendiendo el procedimiento: obtener (S112) una lista de candidatos fusionados basándose en bloques vecinos y colocados del bloque actual, indicando cada candidato de fusión una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia; eliminar (S113) candidatos de fusión idénticos y candidatos de fusión que no son utilizables para la fusión de la lista de candidatos de fusión; determinar (S131) si un número de candidatos de fusión en la lista de candidatos de fusión después de la etapa (S113) de eliminación es menor que un número fijo, y, si es así, agregar (S133) nuevos candidatos de fusión a la lista de candidatos de fusión hasta que el número de candidatos de fusión sea igual al número fijo, indicando los candidatos de fusión recién agregados un vector de movimiento cero; decodificar (S304), del flujo de bits codificado, un índice de candidato de fusión que indica un candidato de fusión de la lista de candidatos de fusión; y decodificar (S306) el bloque actual de datos de instantánea basándose en la dirección de predicción, el vector de movimiento y el índice de instantánea de referencia indicado por el candidato de fusión indicado; en el que los candidatos de fusión recién agregados incluyen al menos dos candidatos de fusión que indican el mismo índice de instantánea de referencia y la misma dirección de predicción.
Description
DESCRIPCIÓN
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
rCampo técnico!
La presente invención se refiere a un procedimiento de codificación de instantáneas en movimiento y a un procedimiento de decodificación de instantáneas en movimiento.
Antecedentes de la técnica!
Por lo general, en el procesamiento de codificación de una instantánea en movimiento, la cantidad de información se reduce mediante la compresión para la que se utiliza la redundancia de una instantánea en movimiento en dirección espacial y temporal. Por lo general, la conversión a un dominio de frecuencia se realiza como un procedimiento en el que se utiliza la redundancia en la dirección espacial, y la codificación que utiliza la predicción entre instantáneas (la predicción se denomina en adelante inter-predicción) se realiza como un procedimiento de compresión para el se hace uso de la redundancia en la dirección temporal. En la codificación inter-predicción, una instantánea actual se codifica usando, como una instantánea de referencia, una instantánea codificada que precede o sigue a la instantánea actual en orden de tiempo de visualización. Posteriormente, un vector de movimiento se deriva realizando una estimación de movimiento en la instantánea actual en relación con la instantánea de referencia. A continuación, la redundancia en la dirección temporal se elimina utilizando una diferencia calculada entre los datos de instantánea de la instantánea actual y los datos de instantánea de predicción que se obtienen mediante la compensación de movimiento basándose en el vector de movimiento derivado (véase la literatura 1 no patentada, por ejemplo). En este punto, en la estimación de movimiento, se calculan los valores de diferencia entre los bloques actuales en la instantánea actual y los bloques en la instantánea de referencia, y un bloque que tiene el menor valor de diferencia en la instantánea de referencia se determina como un bloque de referencia. A continuación, un vector de movimiento se estima a partir del bloque actual y el bloque de referencia.
ILista de citas!
[Literatura no patentada!
[Literatura 1 no patentada] Recomendación UIT-T H.264 "Codificación de vídeo avanzada para servicios audiovisuales genéricos",
marzo de 2010.
[Literatura 2 no patentada] JCT-VC, "WD3: Borrador 3 de trabajo de Codificación de Vídeo De Alta Eficacia", JCTVC-E603, marzo de 2011.
El documento JCTVC-D197 del Equipo Colaborativo Conjunto sobre la Codificación de Vídeo publicado el 15.1.2011 desvela una variante denominada referencia 0 robusta en el que los valores redundantes con valor 0 se agregan a una lista de fusión para obtener una lista de fusión de tamaño fijo.
ISumario de la invención!
IProblema técnico!
Todavía es deseable mejorar la resistencia al error de codificación y decodificación de imágenes en las que se utiliza la inter-predicción, más allá de la técnica convencional descrita anteriormente.
En vista de esto, el objeto de la presente invención es proporcionar un procedimiento de codificación de imágenes y un procedimiento de decodificación de imágenes con el que se mejora la resistencia al error de la codificación de imágenes y la decodificación de imágenes mediante inter-predicción.
ISolución al problema!
Un procedimiento de decodificación de imágenes de acuerdo con un aspecto de la presente invención es un procedimiento para decodificar, bloque por bloque, una imagen codificada incluida en un flujo de bits e incluye: obtener un número fijo de candidatos de fusión, cada uno de los que es un conjunto de candidatos de una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia a los que se hará referencia en la decodificación de un bloque actual, el número fijo es mayor o igual a dos; obtener, del flujo de bits codificado, un índice para identificar un candidato de fusión entre el número fijo de candidatos de fusión, siendo el candidato de fusión identificado un candidato de fusión a ser referenciado en la decodificación del bloque actual; e identificar al candidato de fusión mediante el índice obtenido, y decodificar el bloque actual mediante el candidato de fusión identificado, en el que el número fijo de candidatos de fusión incluye: uno o más primeros candidatos, cada uno derivado basándose en una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia que se han usado para decodificar un bloque vecino espacialmente o temporalmente próximo al bloque actual; y uno o más segundos candidatos que tienen un valor fijo predeterminado.
Cabe señalar que estos aspectos generales o específicos pueden implementarse como un sistema, un procedimiento, un circuito integrado, un programa informático, un medio de grabación legible por ordenador, como una memoria de solo lectura de disco compacto (CD-ROM), o como cualquier combinación de un sistema, un procedimiento, un circuito integrado, un programa informático y un medio de grabación legible por ordenador.
rEfectos ventajosos de la invención!
De acuerdo con un aspecto de la presente invención, se puede mejorar la resistencia al error de codificación y decodificación de imágenes mediante inter-predicción.
[Breve descripción de los dibujos!
[Figura 1A]
La Figura 1a es un diagrama para ilustrar una lista de instantánea de referencia ejemplar para una instantánea B.
[Figura 1B]
La Figura 1B es un diagrama para ilustrar una lista de instantánea de referencia ejemplar de una dirección 0 de predicción para una instantánea B. [Figura 1C]
La Figura 1c es un diagrama para ilustrar una lista de instantánea de referencia ejemplar de una dirección 1 de predicción para una instantánea B. [Figura 2]
La Figura 2 es un diagrama para ilustrar vectores de movimiento para su uso en el modo de predicción de vectores de movimiento temporal.
[Figura 3]
La Figura 3 muestra un vector de movimiento ejemplar de un bloque vecino para su uso en el modo de fusión. [Figura 4]
La Figura 4 es un diagrama para ilustrar una lista ejemplar de candidatos a bloque de fusión.
[Figura 5]
La Figura 5 muestra una relación entre el tamaño de una lista de candidatos a bloque de fusión y las secuencias de bits asignadas a los índices de candidatos a bloque de fusión.
[Figura 6]
La Figura 6 es un diagrama de flujo que muestra un ejemplo de un procedimiento para codificar cuando se utiliza el modo de fusión.
[Figura 7]
La Figura 7 es un diagrama de bloques que muestra una configuración de un aparato de codificación de imágenes.
[Figura 8]
La Figura 8 es un diagrama de flujo que muestra un procedimiento para la decodificación usando el modo de fusión.
[Figura 9]
La Figura 9 es un diagrama de bloques que muestra una configuración de un aparato de decodificación de imágenes.
[Figura 10]
La Figura 10 muestra la sintaxis para la unión de un índice de candidato a bloque de fusión a un flujo de bits codificado.
[Figura 11]
La Figura 11 es un diagrama de bloques que muestra una configuración de un aparato de codificación de imágenes de acuerdo con la Realización 1. [Figura 12]
La Figura 12 es un diagrama de flujo que muestra las operaciones de procesamiento del aparato de codificación de imágenes de acuerdo con la Realización 1. [Figura 13A]
La Figura 13A muestra una lista de candidatos a bloque de fusión ejemplar de acuerdo con la Realización 1. [Figura 13B]
La Figura 13b muestra una lista de candidatos a bloque de fusión ejemplar de acuerdo con la Realización 1. [Figura 13C]
La Figura 13c muestra una lista de candidatos a bloque de fusión ejemplar de acuerdo con la Realización 1. [Figura 14A]
La Figura 14a es un diagrama de flujo que ilustra un procedimiento para calcular candidatos a bloque de fusión y el tamaño de una lista de candidatos a bloque de fusión de acuerdo con la Realización 1.
[Figura 14B]
La Figura 14b es un diagrama de flujo que ilustra un procedimiento para calcular candidatos a bloque de fusión y el tamaño de una lista de candidatos a bloque de fusión de acuerdo con una modificación de una realización. [Figura 14C]
La Figura 14c es un diagrama de flujo que ilustra un procedimiento para calcular candidatos a bloque de fusión y el tamaño de una lista de candidatos a bloque de fusión de acuerdo con una modificación de una realización. [Figura 15A]
La Figura 15A es un diagrama de flujo que ilustra un procedimiento para determinar si un candidato a bloque de fusión es o no un candidato utilizable para la fusión y actualizar el número total de candidatos utilizables para la fusión de acuerdo con la Realización 1.
[Figura 15B]
La Figura 15B es un diagrama de flujo que ilustra un procedimiento para determinar si un candidato a bloque de fusión es o no un candidato utilizable para la fusión y actualizar el número total de candidatos utilizables para la
fusión de acuerdo con una modificación de una realización.
[Figura 16]
La Figura 16 es un diagrama de flujo que ilustra un procedimiento para agregar un nuevo candidato de acuerdo con la Realización 1.
[Figura 17]
La Figura 17 es un diagrama de flujo que ilustra un procedimiento para agregar un segundo candidato de acuerdo con una modificación de una realización.
[Figura 18]
La Figura 18 es un diagrama de flujo que ilustra un procedimiento para seleccionar un candidato a bloque de fusión de acuerdo con la Realización 1. [Figura 19]
La Figura 19 es un diagrama de bloques que muestra una configuración de un aparato de decodificación de imágenes de acuerdo con la realización 2. [Figura 20]
La Figura 20 es un diagrama de flujo que muestra operaciones de procesamiento del aparato de decodificación de imágenes de acuerdo con la Realización 2.
[Figura 21]
La Figura 21 es un diagrama de flujo que ilustra un procedimiento para determinar si un candidato a bloque de fusión es o no un candidato utilizable para la fusión y actualizar el número total de candidatos utilizables para la fusión de acuerdo con la Realización 2.
[Figura 22]
La Figura 22 es un diagrama de flujo que ilustra un procedimiento para generar un candidato a bloque de fusión de acuerdo con la Realización 2.
[Figura 23]
La Figura 23 muestra la sintaxis ejemplar para la unión de un índice de candidato a bloque de fusión a un flujo de bits codificado.
[Figura 24]
La Figura 24 muestra la sintaxis ejemplar en el caso en que el tamaño de una lista de candidatos a bloque de fusión se fija en el valor máximo del número total de candidatos a bloque de fusión.
[Figura 25]
La Figura 25 muestra una configuración global de un sistema de suministro de contenido para implementar servicios de distribución de contenido.
[Figura 26]
La Figura 26 muestra una configuración global de un sistema de difusión digital.
[Figura 27]
La Figura 27 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de un televisor.
[Figura 28]
La Figura 28 es un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproducción/grabación de información que lee y escribe información desde y en un medio de grabación que es un disco óptico.
[Figura 29]
La Figura 29 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico.
[Figura 30A]
La Figura 30a muestra un ejemplo de un teléfono celular.
[Figura 30B]
La Figura 30b es un diagrama de bloques que muestra un ejemplo de una configuración de un teléfono celular.
[Figura 31]
La Figura 31 ilustra una estructura de datos multiplexados.
[Figura 32]
La Figura 32 muestra esquemáticamente cómo se multiplexa cada secuencia en datos multiplexados.
[Figura 33]
La figura 33 muestra cómo se almacena una secuencia de vídeo en una secuencia de paquetes de PES en más detalle.
[Figura 34]
La Figura 34 muestra una estructura de paquetes de TS y paquetes de origen en los datos multiplexados.
[Figura 35]
La Figura 35 muestra una estructura de datos de una PMT.
[Figura 36]
La Figura 36 muestra una estructura interna de información de datos multiplexados.
[Figura 37]
La Figura 37 muestra una estructura interna de información de atributo de secuencia.
[Figura 38]
La Figura 38 muestra etapas para identificar datos de vídeo.
[Figura 39]
La Figura 39 es un diagrama de bloques que muestra un ejemplo de una configuración de un circuito integrado para implementar el procedimiento de codificación de instantáneas en movimiento y el procedimiento de decodificación de instantáneas en movimiento de acuerdo con cada una de las realizaciones.
[Figura 40]
La Figura 40 muestra una configuración para conmutar entre frecuencias de accionamiento.
[Figura 41]
La Figura 41 muestra etapas para identificar datos de vídeo y conmutación entre frecuencias de accionamiento.
[Figura 42]
La Figura 42 muestra un ejemplo de una tabla de búsqueda en la que las normas de datos de vídeo están asociadas con frecuencias de accionamiento.
[Figura 43A]
La Figura 43a es un diagrama que ilustra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señal. [Figura 43B]
La Figura 43B es un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señal.
Descripción de las realizaciones!
(Conocimiento subyacente que forma la base de la presente invención)
En un esquema de codificación de instantáneas en movimiento ya estandarizado, que se conoce como H.264, tres tipos de instantáneas de instantánea I, la instantánea P y la instantánea B se utilizan para reducir la cantidad de información por compresión.
La instantánea I no se codifica mediante codificación inter-predicción. Específicamente, la instantánea I se codifica por predicción dentro de la instantánea (la predicción se denominará en adelante intra-predicción). La instantánea P se codifica mediante codificación inter-predicción con referencia a una imagen codificada que precede o sigue a la instantánea actual en orden de tiempo de visualización. La instantánea B se codifica mediante codificación inter predicción con referencia a dos imágenes codificadas que preceden y siguen a la instantánea actual en orden de tiempo de visualización.
En la codificación inter-predicción, se genera una lista de instantánea de referencia para identificar una instantánea de referencia. En una lista de instantánea de referencia, los índices de instantánea de referencia se asignan a instantáneas de referencia codificadas a ser referenciadas en la inter-predicción. Por ejemplo, dos listas (L0, L1) de instantánea de referencia se generan para una instantánea B porque puede codificarse con referencia a dos instantáneas.
La Figura 1A es un diagrama para ilustrar una lista de instantánea de referencia ejemplar para una instantánea B. La Figura 1B muestra una lista 0 (L0) de instantánea de referencia ejemplar para una dirección 0 de predicción en bipredicción. En la lista 0 de instantánea de referencia, el índice 0 de instantánea de referencia que tiene un valor de 0 se asigna a una instantánea 0 de referencia con un número 2 de orden de visualización. el índice 0 de instantánea de referencia que tiene un valor de 1 se asigna a una instantánea 1 de referencia con un número 1 de orden de visualización. el índice 0 de instantánea de referencia que tiene un valor de 2 se asigna a una instantánea 2 de referencia con un número 0 de orden de visualización. En otras palabras, cuanto más corta sea la distancia temporal de una instantánea de referencia de la instantánea actual, menor será el índice de instantánea de referencia asignado a la instantánea de referencia.
Por otro lado, la Figura 1C muestra una lista 1 (L1) de instantánea de referencia ejemplar para una dirección 1 de predicción en bipredicción. En la lista 1 de instantánea de referencia, el índice de instantánea 1 de referencia que tiene un valor de 0 se asigna a una instantánea 1 de referencia con un número 1 de orden de visualización. el índice de instantánea 1 de referencia que tiene un valor de 1 se asigna a una instantánea 0 de referencia con un número 2 de orden de visualización. el índice de instantánea 1 de referencia que tiene un valor de 2 se asigna a una instantánea 2 de referencia con un número 0 de orden de visualización.
De esta forma, es posible asignar índices de instantánea de referencia que tengan valores diferentes entre las direcciones de predicción a una instantánea de referencia (las instantáneas 0 y 1 de referencia en la Figura 1A) o asignar el índice de instantánea de referencia que tenga el mismo valor para ambas direcciones a una instantánea de referencia (la instantánea 2 de referencia en la Figura 1A).
En un procedimiento de codificación de instantáneas en movimiento denominado H.264 (véase la literatura 1 sin patentar), un modo de estimación del vector de movimiento está disponible como un modo de codificación para la inter-predicción de cada bloque actual en una instantánea B. En el modo de estimación del vector de movimiento, se codifica un valor de diferencia entre los datos de instantánea de un bloque actual y los datos de instantánea de predicción y un vector de movimiento utilizado para generar los datos de instantánea de predicción. Además, en el modo de estimación del vector de movimiento, la bi-predicción y la uni-predicción pueden realizarse selectivamente. En bi-predicción, se genera una instantánea de predicción con referencia a dos instantáneas codificadas, una de las que precede a una instantánea actual que se va a codificar y la otra sigue a la instantánea actual. En uni-predicción, se genera una instantánea de predicción con referencia a una instantánea codificada que precede o sigue a una instantánea actual que se va a codificar.
Adicionalmente, en el procedimiento de codificación de instantáneas en movimiento denominado H.264, se puede seleccionar un modo de codificación denominado modo de predicción del vector de movimiento temporal para la
derivación de un vector de movimiento en la codificación de una instantánea B. El procedimiento de codificación inter predicción realizado en el modo de predicción del vector de movimiento temporal se describirá a continuación mediante la Figura 2. La Figura 2 es un diagrama para ilustrar vectores de movimiento para su uso en el modo de predicción de vectores de movimiento temporal. Específicamente, la Figura 2 muestra un caso en el que un bloque a en una instantánea B2 se codifica en modo de predicción del vector de movimiento temporal.
En la codificación, se usa un vector vb de movimiento que se ha usado en la codificación de un bloque b ubicado en la misma posición en una instantánea P3, que es una instantánea de referencia que sigue a la instantánea B2, como la posición del bloque a en la instantánea b2 (el bloque b se denomina en lo sucesivo "bloque conjuntamente ubicado" del bloque a). El vector vb de movimiento es un vector de movimiento utilizado para codificar el bloque b con referencia a la instantánea P1.
Los vectores de movimiento paralelos al vector vb de movimiento se usan para obtener dos bloques de referencia para que el bloque a se obtenga de una instantánea de referencia hacia delante y una instantánea de referencia hacia atrás, es decir, una instantánea P1 y una instantánea P3. A continuación, el bloque a se codifica utilizando bi-predicción basándose en los dos bloques de referencia obtenidos. Específicamente, en la codificación del bloque a, un vector va1 de movimiento se usa para hacer referencia a la instantánea P1, y un vector va2 de movimiento para hacer referencia a la instantánea P3.
Además, se ha descrito un modo de fusión que es un modo de inter-predicción para la codificación de cada bloque actual en una instantánea B o una instantánea P (véase la literatura 2 sin patentar). En el modo de fusión, un bloque actual se codifica utilizando una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia que son copias de los utilizados en la codificación de un bloque vecino del bloque actual. En este momento, las copias del índice y otras del bloque vecino se unen a un flujo de bits codificado (en lo sucesivo, simplemente denominado "flujo de bits" según corresponda) de modo que la dirección de movimiento, el vector de movimiento y el índice de instantánea de referencia utilizados para la codificación se pueden seleccionar en la decodificación.
La Figura 3 muestra un vector de movimiento ejemplar de un bloque vecino para su uso en el modo de fusión. En la Figura 3, un bloque A vecino es un bloque codificado ubicado a la izquierda inmediata de un bloque actual. un bloque B vecino es un bloque codificado ubicado inmediatamente por encima del bloque actual. un bloque C vecino es un bloque codificado ubicado en la parte superior derecha inmediata del bloque actual. un bloque D vecino es un bloque codificado ubicado en la parte inferior izquierda del bloque actual.
El bloque A vecino es un bloque codificado mediante uni-predicción en la dirección 0 de predicción. El bloque A vecino tiene un vector MvL0_A de movimiento que tiene la dirección 0 de predicción como un vector de movimiento para una instantánea de referencia indicada por un índice RefL0_A de instantánea de referencia de la dirección 0 de predicción. En este punto, MvL0 representa un vector de movimiento que hace referencia a una instantánea de referencia especificada en una lista 0 de instantánea de referencia (L0). MvL1 representa un vector de movimiento que hace referencia a una instantánea de referencia especificada en una lista 1 de instantánea de referencia (L1).
El bloque B vecino es un bloque codificado mediante uni-predicción en la dirección 1 de predicción. El bloque B vecino tiene un vector MvL1_B de movimiento que tiene la dirección 1 de predicción como un vector de movimiento para una instantánea de referencia indicada por un índice RefL1_B de instantánea de referencia de la dirección 1 de predicción.
El bloque C vecino es un bloque codificado mediante intra-predicción.
El bloque D vecino es un bloque codificado mediante uni-predicción en la dirección 0 de predicción. El bloque D vecino tiene un vector MvL0_D de movimiento que tiene la dirección 0 de predicción como un vector de movimiento para una instantánea de referencia indicada por un índice RefL0_D de instantánea de referencia de la dirección 0 de predicción.
En este caso, por ejemplo, un conjunto de una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia con el que el bloque actual se puede codificar con la mayor eficacia de codificación se selecciona como un conjunto de una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia del bloque actual entre los conjuntos de direcciones de predicción, vectores de movimiento e índices de instantánea de referencia de los bloques A a D vecinos y el conjunto de una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia que se calculan mediante un bloque conjuntamente ubicado en el modo de predicción del vector de movimiento temporal. A continuación, un índice de candidato a bloque de fusión que indica un bloque que tiene el conjunto seleccionado de una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia se adjunta a un flujo de bits.
Por ejemplo, cuando se selecciona el bloque A vecino, el bloque actual se codifica utilizando el vector MvL0_A de movimiento que tiene la dirección 0 de predicción y el índice RefL0_A de instantánea de referencia. A continuación, solo el índice de candidato a bloque de fusión que tiene un valor de 0 que indica el uso del bloque A vecino como se muestra en la Figura 4 está unido a un flujo de bits. La cantidad de información en una dirección de predicción, un vector de movimiento, y el índice de una instantánea de referencia se reduce de este modo.
Adicionalmente, en el modo de fusión, un candidato que no se puede usar para la codificación (en lo sucesivo denominado "candidato inutilizable para la fusión") y un candidato que tiene un conjunto de una dirección de predicción,
un vector de movimiento y un índice de instantánea de referencia idéntico a un conjunto de una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia de cualquier otro bloque de fusión (en lo sucesivo denominado "candidato idéntico") se eliminan de los candidatos a bloque de fusión como se muestra en la Figura 4.
De esta forma, se reduce el número total de candidatos a bloque de fusión para que se pueda reducir la cantidad de código asignado a los índices de candidato a bloque de fusión. En este punto, "inutilizable para la fusión" significa (1) que el candidato a bloque de fusión se ha codificado mediante intra-predicción, (2) que el candidato a bloque de fusión está fuera del límite de un segmento que incluye el bloque actual o el límite de una imagen que incluye el bloque actual, o (3) que el candidato a bloque de fusión aún no se ha codificado.
En el ejemplo mostrado en la Figura 4, el bloque C vecino es un bloque codificado mediante intra-predicción. El candidato a bloque de fusión que tiene el índice 3 de candidato a bloque de fusión es, por lo tanto, un candidato inutilizable para la fusión y se elimina de la lista de candidatos a bloque de fusión. El bloque D vecino es idéntico en la dirección de predicción, vector de movimiento e índice de instantánea de referencia al bloque A vecino. El candidato a bloque de fusión que tiene el índice 4 de candidato a bloque de fusión se elimina por tanto de la lista de candidatos a bloque de fusión. Como resultado, el número total de candidatos a bloque de fusión es finalmente tres, y el tamaño de la lista de candidatos a bloque de fusión se establece en tres.
Los índices de candidatos a bloque de fusión se codifican mediante codificación de longitud variable mediante la asignación de flujos de bits de acuerdo con el tamaño de cada lista de candidatos a bloque de fusión como se muestra en la Figura 5. Por tanto, en el modo de fusión, las secuencias de bits asignadas a los índices de modo de fusión se cambian de acuerdo con el tamaño de cada lista de candidatos a bloque de fusión para que se pueda reducir la cantidad de código.
La Figura 6 es un diagrama de flujo que muestra un ejemplo de un procedimiento para codificar cuando se utiliza el modo de fusión. En la etapa S1001, los conjuntos de un vector de movimiento, un índice de instantánea de referencia y una dirección de predicción de los candidatos a bloque de fusión se obtienen de bloques vecinos y de un bloque conjuntamente ubicado. En la etapa S1002, los candidatos idénticos y los candidatos inutilizables para la fusión se eliminan de los candidatos a bloque de fusión. En la etapa S1003, el número total de candidatos a bloque de fusión después de la eliminación se establece como el tamaño de la lista de candidatos a bloque de fusión. En la etapa S1004, se determina el índice de candidato a bloque de fusión que se utilizará en la codificación del bloque actual. En la etapa S1005, el índice de candidato a bloque de fusión determinado se codifica realizando una codificación de longitud variable en secuencia de bits de acuerdo con el tamaño de la lista de candidatos a bloque de fusión.
La Figura 7 es un diagrama de bloques que ilustra una configuración ejemplar de un aparato de codificación de imágenes en el que se usa el modo de fusión. En la Figura 7, la unidad de cálculo de candidatos a bloque de fusión deriva una lista de candidatos a bloque de fusión (Etapas S1001 y S1002) y transmite el número total de candidatos a bloque de fusión a la unidad de codificación de longitud variable. La unidad 116 de codificación de longitud variable establece el número total de candidatos a bloque de fusión como el tamaño de la lista de candidatos a bloque de fusión (Etapa 1003). Adicionalmente, la unidad de codificación de longitud variable determina un índice de candidato a bloque de fusión que se utilizará en la codificación de un bloque actual (Etapa 1004). Adicionalmente, la unidad de codificación de longitud variable realiza una codificación de longitud variable en el índice de candidato a bloque de fusión determinado mediante una secuencia de bits de acuerdo con el tamaño de la lista de candidatos a bloque de fusión (Etapa S1005).
La Figura 8 es un diagrama de flujo que muestra un ejemplo de procedimiento para la decodificación usando el modo de fusión. En la etapa S2001, los conjuntos de un vector de movimiento, un índice de instantánea de referencia y una dirección de predicción de fusión del candidato a bloque de fusión se obtienen de bloques vecinos y de un bloque conjuntamente ubicado. En la etapa S2002, los candidatos idénticos y los candidatos inutilizables para la fusión se eliminan de los candidatos a bloque de fusión. En la etapa S2003, el número total de candidatos a bloque de fusión después de la eliminación se establece como el tamaño de la lista de candidatos a bloque de fusión. En la etapa S2004, el índice de candidato a bloque de fusión que se utilizará en la decodificación de un bloque actual se decodifica desde un flujo de bits mediante el tamaño de la lista de candidatos a bloque de fusión. En la etapa S2005, el bloque actual se decodifica generando una instantánea de predicción utilizando el candidato a bloque de fusión indicado por el índice de candidato a bloque de fusión decodificado.
La Figura 9 es un diagrama de bloques que ilustra una configuración ejemplar de un aparato de decodificación de imágenes en el que se usa el modo de fusión. En la Figura 9, la unidad de cálculo de candidatos a bloque de fusión deriva una lista de candidatos a bloque de fusión (Etapas S2001 y S2002) y transmite el número total de candidatos a bloque de fusión a la unidad de decodificación de longitud variable. La unidad de decodificación de longitud variable establece el número total de candidatos a bloque de fusión como el tamaño de la lista de candidatos a bloque de fusión (Etapa S2003). Adicionalmente, mediante el tamaño de la lista de candidatos a bloque de fusión, la unidad de decodificación de longitud variable decodifica, de una corriente de bits, un índice de candidato a bloque de fusión que se utilizará en la decodificación de un bloque actual (Etapa S2004).
La Figura 10 muestra la sintaxis para adjuntar un índice de candidato a bloque de fusión a un flujo de bits. En la Figura 10, merge_idx representa un índice de candidato a bloque de fusión, y merge_flag representa un indicador de fusión.
NumMergeCand representa el tamaño de una lista de candidatos a bloque de fusión. NumMergeCand se establece en el número total de candidatos a bloque de fusión después de que los candidatos inutilizables para la fusión y candidatos idénticos se eliminan de los candidatos a bloque de fusión.
La codificación o decodificación de una imagen se realiza utilizando el modo de fusión en la forma descrita anteriormente.
Como se ha descrito anteriormente, en el modo de fusión convencional, se obtiene una lista de candidatos a bloque de fusión eliminando candidatos inutilizables para la fusión y candidatos idénticos basándose en la información en instantáneas de referencia, incluida un bloque colocado. A continuación, el número total de candidatos a bloque de fusión en la lista de candidatos a bloque de fusión después de la eliminación se establece como el tamaño de la lista de candidatos a bloque de fusión. En el caso en que haya una diferencia en el número total de candidatos a bloque de fusión entre un aparato de codificación de imágenes y un aparato de decodificación de imágenes, surge una discrepancia en la secuencia de bits asignada a un índice de candidato a bloque de fusión entre el aparato de codificación de imágenes y el aparato de decodificación de imágenes, lo que causa el problema de que un flujo de bits no se pueda decodificar normalmente.
Por ejemplo, cuando la información en una instantánea de referencia referenciada como un bloque conjuntamente ubicado se pierde debido a la pérdida de paquetes en una trayectoria de transmisión, el vector de movimiento o el índice de la instantánea de referencia del bloque conjuntamente ubicado se desconoce, de modo que la información sobre un candidato a bloque de fusión que se generará a partir del bloque conjuntamente ubicado ya no está disponible. A continuación, es imposible eliminar correctamente candidatos inutilizables para la fusión y candidatos idénticos de los candidatos a bloque de fusión en la decodificación, y por lo tanto, ya no se puede obtener un tamaño correcto de una lista de candidatos a bloque de fusión. Como resultado, normalmente es imposible decodificar un índice de candidato a bloque de fusión.
Este problema se puede resolver mediante la fusión de listas de candidatos a bloque que tienen un tamaño fijo. Cuando las listas de candidatos a bloque de fusión tienen un tamaño fijo, ya no es necesario calcular el tamaño de las listas de candidatos a bloque de fusión.
Sin embargo, dicha lista de candidatos a bloque de fusión que tiene un tamaño fijo incluye una entrada vacía cuando el tamaño de la lista de candidatos a bloque de fusión es mayor que el número total de candidatos derivados de bloques espacialmente vecinos (candidatos utilizables para la fusión excepto los candidatos idénticos) y un candidato que se deriva de un bloque conjuntamente ubicado, es decir, un bloque temporalmente vecino (primer candidato). En este caso, existe el problema de que se puede realizar una operación inesperada cuando se hace referencia a la entrada vacía en el aparato de decodificación de imágenes debido a un error.
En este punto, un procedimiento de decodificación de imágenes de acuerdo con un aspecto de la presente invención es un procedimiento para decodificar, bloque por bloque, datos de instantánea incluidos en un flujo de bits codificado, e incluye: obtener un número fijo de candidatos de fusión, cada uno de los que es un conjunto de candidatos de una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia a los que se hará referencia en la decodificación de un bloque actual, el número fijo es mayor o igual a dos; obtener, del flujo de bits codificado, un índice para identificar un candidato de fusión entre el número fijo de candidatos de fusión, siendo el candidato de fusión identificado un candidato de fusión a ser referenciado en la decodificación del bloque actual; e identificar al candidato de fusión mediante el índice obtenido, y decodificar el bloque actual mediante el candidato de fusión identificado, en el que el número fijo de candidatos de fusión incluye: uno o más primeros candidatos, cada uno derivado basándose en una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia que se han usado para decodificar un bloque vecino espacialmente o temporalmente próximo al bloque actual; y uno o más segundos candidatos que tienen un valor fijo predeterminado.
En el procedimiento de decodificación de imágenes, se obtiene un número fijo (mayor o igual a dos) de candidatos fusionados, es decir, una lista de candidatos a bloque de fusión tiene un tamaño fijo (en lo sucesivo, simplemente denominado "tamaño de lista de candidatos" según corresponda), y cualquier entrada vacía después de derivar los primeros candidatos se llena con un segundo candidato. Esto evita una operación inesperada que se puede realizar cuando se hace referencia a una entrada vacía, para que se pueda mejorar la resistencia al error.
Cabe señalar que la frase "que tiene un valor fijo predeterminado" significa que los segundos candidatos en una lista de candidatos a bloque de fusión son idénticos en la dirección de predicción, vector de movimiento e índice de instantánea de referencia. En otras palabras, los segundos candidatos en diferentes listas de candidatos a bloque de fusión pueden ser diferentes en la dirección de predicción, vector de movimiento o índice de instantánea de referencia.
Cabe señalar que puede agregarse un tercer candidato para aumentar la eficacia de codificación en el procedimiento de decodificación de imágenes. También en este caso, cuando una lista de candidatos a bloque de fusión (en lo sucesivo, simplemente denominada "lista de candidatos" según corresponda) tiene una entrada vacía después de derivar los primeros candidatos y los terceros candidatos, la entrada vacía se llena con un segundo candidato para que se pueda mejorar la resistencia al error. Cabe señalar que a diferencia de los segundos candidatos, los terceros candidatos agregados en una sola lista de candidatos a bloque de fusión son diferentes en al menos uno de la dirección
de predicción, vector de movimiento e índice de instantánea de referencia entre sí porque los terceros candidatos se agregan para aumentar la eficacia de codificación (sin embargo, los terceros candidatos pueden ser idénticos a cualquiera de un primer candidato y un segundo candidato como resultado).
Adicionalmente, por ejemplo, la obtención de un número fijo de candidatos fusionados puede incluir: derivar el uno o más primeros candidatos e incluir el uno o más primeros candidatos en el número fijo de candidatos fusionados; derivar uno o más terceros candidatos e incluir uno o más terceros candidatos en el número fijo de candidatos fusionados, cuando el número total de los primeros candidatos es menor que el número fijo, teniendo cada uno de los terceros candidatos un índice de instantánea para una instantánea referible en la decodificación del bloque actual; y derivar el uno o más segundos candidatos e incluir el uno o más segundos candidatos en el número fijo de candidatos fusionados para que el número total de los primeros candidatos, los segundos candidatos, y los terceros candidatos sean iguales al número fijo, cuando el número total de los primeros candidatos y los terceros candidatos es menor que el número fijo.
Adicionalmente, por ejemplo, en la derivación de uno o más terceros candidatos, el uno o más terceros candidatos pueden derivarse seleccionando, de acuerdo con un orden de prioridad predeterminado, uno o más candidatos de entre una pluralidad de candidatos preparados diferentes entre sí.
Adicionalmente, por ejemplo, la obtención de un número fijo de candidatos de fusión puede incluir: inicializar el número fijo de candidatos de fusión estableciendo todo el número fijo de candidatos de fusión a los segundos candidatos; derivar el uno o más primeros candidatos y actualizar parte del número fijo de candidatos fusionados para incluir uno o más primeros candidatos en el número fijo de candidatos fusionados; y derivar uno o más terceros candidatos y actualizar parte del número fijo de candidatos fusionados para incluir uno o más terceros candidatos en el número fijo de candidatos fusionados, cuando el número total de los primeros candidatos es menor que el número fijo, los terceros candidatos tienen cada uno un índice de instantánea para una instantánea referible en la decodificación del bloque actual.
Un procedimiento de codificación de imágenes de acuerdo con un aspecto de la presente invención es un procedimiento para codificar una imagen bloque por bloque para generar un flujo de bits codificado, e incluye: obtener un número fijo de candidatos de fusión, cada uno de los que es un conjunto de candidatos de una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia a los que se hará referencia en la codificación de un bloque actual, el número fijo es mayor o igual a dos; y adjuntar, al flujo de bits codificado, un índice para identificar un candidato de fusión entre el número fijo de candidatos de fusión, siendo el candidato de fusión identificado un candidato de fusión a ser referenciado en la codificación del bloque actual, en el que el número fijo de candidatos de fusión incluye: uno o más primeros candidatos, cada uno derivado basándose en una dirección de predicción, un vector de movimiento y un índice de candidato de instantánea de referencia que se han usado para codificar un bloque vecino espacialmente o temporalmente próximo al bloque actual; y uno o más segundos candidatos que tienen un valor fijo predeterminado.
Adicionalmente, por ejemplo, la obtención de un número fijo de candidatos fusionados puede incluir: derivar el uno o más primeros candidatos e incluir el uno o más primeros candidatos en el número fijo de candidatos fusionados; derivar uno o más terceros candidatos e incluir uno o más terceros candidatos en el número fijo de candidatos fusionados, cuando el número total de los primeros candidatos es menor que el número fijo, teniendo cada uno de los terceros candidatos un índice de instantánea para una instantánea referible en la decodificación del bloque actual; y derivar el uno o más segundos candidatos e incluir el uno o más segundos candidatos en el número fijo de candidatos fusionados para que el número total de los primeros candidatos, los segundos candidatos, y los terceros candidatos sean iguales al número fijo, cuando el número total de los primeros candidatos y los terceros candidatos es menor que el número fijo.
Adicionalmente, por ejemplo, en la derivación de uno o más terceros candidatos, el uno o más terceros candidatos pueden derivarse seleccionando, de acuerdo con un orden de prioridad predeterminado, uno o más candidatos de entre una pluralidad de candidatos preparados diferentes entre sí.
Adicionalmente, por ejemplo, la obtención de un número fijo de candidatos de fusión puede incluir: inicializar el número fijo de candidatos de fusión estableciendo todo el número fijo de candidatos de fusión a los segundos candidatos; derivar el uno o más primeros candidatos y actualizar parte del número fijo de candidatos fusionados para incluir uno o más primeros candidatos en el número fijo de candidatos fusionados; y derivar uno o más terceros candidatos y actualizar parte del número fijo de candidatos fusionados para incluir uno o más terceros candidatos en el número fijo de candidatos fusionados, cuando el número total de los primeros candidatos es menor que el número fijo, los terceros candidatos tienen cada uno un índice de instantánea para una instantánea referible en la decodificación del bloque actual.
Un aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención es un aparato de decodificación de imágenes que decodifica, bloque por bloque, datos de instantánea incluidos en un flujo de bits codificado e incluye: una unidad de obtención de candidatos de fusión configurada para obtener un número fijo de candidatos de fusión, cada uno de los que es un conjunto de candidatos de una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia a los que se hará referencia en la decodificación de un bloque
actual, el número fijo es mayor o igual a dos; una unidad de obtención de índice configurada para obtener, del flujo de bits codificado, un índice para identificar un candidato de fusión entre el número fijo de candidatos de fusión, siendo el candidato de fusión identificado un candidato de fusión a ser referenciado en la decodificación del bloque actual; y una unidad de decodificación configurada para identificar al candidato de fusión mediante el índice obtenido y decodificar el bloque actual mediante el candidato de fusión identificado, en el que el número fijo de candidatos de fusión incluye: uno o más primeros candidatos, cada uno derivado basándose en una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia que se han usado para decodificar un bloque vecino espacialmente o temporalmente próximo al bloque actual; y uno o más segundos candidatos que tienen un valor fijo predeterminado.
Un aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención es un aparato de codificación de imágenes que codifica una imagen bloque por bloque para generar un flujo de bits codificado e incluye: una unidad de obtención de candidatos de fusión configurada para obtener un número fijo de fusionar candidatos, cada uno de los que es un conjunto de candidatos de una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia a ser referenciado en la decodificación de un bloque actual, el número fijo es mayor o igual a dos; y una unidad de codificación configurada para adjuntar, al flujo de bits codificado, un índice para identificar un candidato de fusión entre el número fijo de candidatos de fusión, siendo el candidato de fusión identificado un candidato de fusión a ser referenciado en la codificación del bloque actual, en el que el número fijo de candidatos de fusión incluye: uno o más primeros candidatos, cada uno derivado basándose en una dirección de predicción, un vector de movimiento y un índice de candidato de instantánea de referencia que se han usado para codificar un bloque vecino espacialmente o temporalmente próximo al bloque actual; y uno o más segundos candidatos que tienen un valor fijo predeterminado.
Un aparato de codificación y decodificación de imágenes de acuerdo con un aspecto de la presente invención incluye: el aparato de decodificación de imágenes; y el aparato de codificación de imágenes.
Cabe señalar que estos aspectos generales o específicos pueden implementarse como un sistema, un procedimiento, un circuito integrado, un programa informático, un medio de grabación legible por ordenador, como una memoria de solo lectura de disco compacto (CD-ROM), o como cualquier combinación de un sistema, un procedimiento, un circuito integrado, un programa informático y un medio de grabación legible por ordenador.
Un aparato de codificación de imágenes y un aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención se describirán específicamente a continuación con referencia a los dibujos.
Cada una de las realizaciones ejemplares descritas a continuación muestra un ejemplo específico de la presente invención. Los valores numéricos, formas, materiales, elementos constitutivos, la disposición y conexión de los elementos constitutivos, etapas, el orden de procesamiento de las etapas, etc. mostrados en las siguientes realizaciones ejemplares son meros ejemplos y, por lo tanto, no limitan el concepto inventivo en la presente invención. Adicionalmente, entre los elementos constitutivos en las siguientes realizaciones ejemplares, los elementos constitutivos no mencionados en ninguna de las reivindicaciones independientes que definen la parte más genérica del concepto inventivo no son necesariamente requeridos para superar las desventajas.
[Realización 1]
Se describirá un aparato de codificación de imágenes que usa un procedimiento de codificación de imágenes de acuerdo con la Realización 1 con referencia a la Figura 11 a la Figura 18. La Figura 11 es un diagrama de bloques que muestra una configuración de un aparato de codificación de imágenes de acuerdo con la Realización 1. Un aparato 100 de codificación de imágenes codifica una imagen bloque por bloque para generar un flujo de bits.
Como se muestra en la Figura 11, el aparato 100 de codificación de imágenes incluye un sustractor 101, una unidad 102 de transformación ortogonal, una unidad 103 de cuantificación, una unidad 104 de cuantificación inversa, una unidad 105 de transformación inversa ortogonal, un sumador 106, memoria 107 de bloques, memoria 108 de tramas, una unidad 109 de intra-predicción, una unidad 110 de inter-predicción, una unidad 111 de control de inter-predicción, una unidad 112 de determinación del tipo de instantánea, un conmutador 113, una unidad 114 de cálculo de candidatos a bloque de fusión, memoria 115 colPic y una unidad 116 de codificación de longitud variable.
El sustractor 101 resta, bloque por bloque, datos de instantánea de predicción a partir de datos de instantánea de entrada incluidos en una secuencia de imágenes de entrada para generar datos de error de predicción.
La unidad 102 de transformación ortogonal transforma los datos de error de predicción generados de un dominio de instantánea a un dominio de frecuencia.
La unidad 103 de cuantificación cuantifica los datos de error de predicción transformados en un dominio de frecuencia.
La unidad 104 de cuantificación inversa cuantifica inversamente los datos de error de predicción cuantificados por la unidad 103 de cuantificación.
La unidad 105 de transformación inversa ortogonal transforma los datos de error de predicción cuantificados inversos
de un dominio de frecuencia en un dominio de instantánea.
El sumador 106 agrega, bloque por bloque, datos de instantánea de predicción y datos de error de predicción cuantificados inversamente por la unidad 105 de transformación ortogonal inversa para generar datos de instantánea reconstruidos.
La memoria 107 de bloques almacena los datos de instantánea reconstruidos en unidades de un bloque.
La memoria 108 de tramas almacena los datos de instantánea reconstruidos en unidades de una trama.
La unidad 112 de determinación del tipo de instantánea determina en cuál de los tipos de imágenes de instantánea I, instantánea B e instantánea P deben codificarse los datos de la imagen de entrada. A continuación, la unidad 112 de determinación del tipo de instantánea genera información del tipo de instantánea que indica el tipo de instantánea determinado.
La unidad 109 de intra-predicción genera datos de instantánea de intra-predicción de un bloque actual realizando intrapredicción mediante datos de instantánea reconstruidos almacenados en la memoria 107 de bloques en unidades de un bloque.
La unidad 110 de inter-predicción genera datos de instantánea inter-predicción de un bloque actual realizando inter predicción mediante datos de instantánea reconstruidos almacenados en la memoria 108 de tramas en unidades de una trama y un vector de movimiento derivado de un procedimiento que incluye estimación de movimiento.
Cuando un bloque actual se codifica por codificación intra-predicción, el conmutador 113 emite datos de instantánea de intra-predicción generados por la unidad 109 de intra-predicción como datos de instantánea de predicción del bloque actual al sustractor 101 y al sumador 106. Por otro lado, cuando un bloque actual se codifica mediante codificación inter-predicción, el conmutador 113 emite datos de instantánea de inter-predicción generados por la unidad 110 de inter-predicción como datos de instantánea de predicción del bloque actual al sustractor 101 y al sumador 106.
La unidad 114 de cálculo de candidatos a bloque de fusión de acuerdo con la Realización 1 genera una lista de candidatos a bloque de fusión para incluir un número fijo de candidatos a bloque de fusión.
Específicamente, la unidad 114 de cálculo de candidatos a bloque de fusión deriva los primeros candidatos que son candidatos a bloque de fusión para el modo de fusión mediante vectores de movimiento y otros de bloques vecinos del bloque actual y un vector de movimiento y otros del bloque conjuntamente ubicado (información colPic) almacenados en la memoria 115 colPic. Adicionalmente, la unidad 114 de cálculo de candidatos a bloque de fusión agrega los candidatos a bloque de fusión derivados a la lista de candidatos a bloque de fusión.
Adicionalmente, cuando la lista de candidatos a bloque de fusión tiene alguna entrada vacía, la unidad 114 de cálculo de candidatos a bloque de fusión selecciona un tercer candidato, que es un nuevo candidato, de entre los candidatos a bloque de fusión predeterminados para aumentar la eficacia de codificación. A continuación, la unidad 114 de cálculo de candidatos a bloque de fusión agrega el nuevo candidato derivado como un nuevo candidato a bloque de fusión a la lista de candidatos a bloque de fusión. Adicionalmente, la unidad 114 de cálculo de candidatos a bloque de fusión calcula el número total de candidatos a bloque de fusión.
Adicionalmente, la unidad 114 de cálculo de candidatos a bloque de fusión asigna índices de candidato a bloque de fusión que tienen cada uno un valor diferente a los candidatos a bloque de fusión derivados. A continuación, la unidad 114 de cálculo de candidatos a bloque de fusión transmite los índices de candidatos a bloque de fusión y los índices de candidato a bloque de fusión a la unidad 111 de control de inter-predicción. Adicionalmente, la unidad 114 de cálculo de candidatos a bloque de fusión transmite el número total calculado de los candidatos a bloque de fusión a la unidad 116 de codificación de longitud variable.
La unidad 111 de control de inter-predicción selecciona un modo de predicción que utiliza el error de predicción más pequeño de un modo de predicción en el que se usa un vector de movimiento derivado por estimación de movimiento (modo de estimación de movimiento) y un modo de predicción en el que un vector de movimiento derivado de un candidato a bloque de bloque de fusión (modo de fusión) se utiliza. La unidad 111 de control de inter-predicción también transmite un indicador de fusión que indica si el modo de predicción seleccionado es o no el modo de fusión a la unidad 116 de codificación de longitud variable. Adicionalmente, la unidad 111 de control de inter-predicción transmite un índice de candidato a bloque de fusión correspondiente a los candidatos a bloque de fusión determinados a la unidad 116 de codificación de longitud variable cuando el modo de predicción seleccionado es el modo de fusión. Adicionalmente, la unidad 111 de control de inter-predicción transfiere la información colPic incluyendo el vector de movimiento y otros del bloque actual a la memoria 115 colPic.
La unidad 116 de codificación de longitud variable genera un flujo de bits realizando codificación de longitud variable en los datos de error de predicción cuantificados, el indicador de fusión y la información del tipo de instantánea. La unidad 116 de codificación de longitud variable también establece el número total de candidatos a bloque de fusión como el tamaño de la lista de candidatos a bloque de fusión. Adicionalmente, la unidad 116 de codificación de longitud
variable realiza una codificación de longitud variable en un índice de candidato a bloque de fusión a ser utilizado en la codificación, asignando, de acuerdo con el tamaño de la lista de candidatos a bloque de fusión, una secuencia de bits para el índice de candidato a bloque de fusión.
La Figura 12 es un diagrama de flujo que muestra las operaciones de procesamiento del aparato 100 de codificación de imágenes de acuerdo con la Realización 1.
En la etapa S101, la unidad 114 de cálculo de candidatos a bloque de fusión deriva candidatos a bloque de fusión de bloques vecinos y un bloque conjuntamente ubicado de un bloque actual. Adicionalmente, la unidad 114 de cálculo de candidatos a bloque de fusión calcula el tamaño de una lista de candidatos a bloque de fusión mediante un procedimiento descrito más adelante cuando el tamaño de la lista de candidatos a bloque de fusión es variable.
Por ejemplo, en el caso mostrado en la Figura 3, la unidad 114 de cálculo de candidatos a bloque de fusión selecciona los bloques A a D vecinos como candidatos a bloque de fusión. Adicionalmente, la unidad 114 de cálculo de candidatos a bloque de fusión calcula, como un candidato bloque de fusión, un bloque de fusión conjuntamente ubicado que tiene un vector de movimiento, un índice de instantánea de referencia y una dirección de predicción que se calculan a partir del vector de movimiento de un bloque conjuntamente ubicado utilizando el modo de predicción temporal.
La unidad 114 de cálculo de candidatos a bloque de fusión asigna índices de candidato a bloque de fusión a los respectivos candidatos a bloque de fusión. (a) en la Figura 13A hay una tabla de una lista de candidatos a bloque de fusión en la que los índices de candidato a bloque de fusión se asignan a bloques vecinos. La columna izquierda de la lista de candidatos a bloque de fusión en (a) en la Figura 13A enumera los índices de candidatos a bloque de fusión. La columna derecha enumera conjuntos de direcciones de predicción, índices de instantánea de referencia y vectores de movimiento. Adicionalmente, mediante un procedimiento descrito más adelante, la unidad 114 de cálculo de candidatos a bloque de fusión elimina los candidatos inutilizables para la fusión y los candidatos idénticos y agrega nuevos candidatos para actualizar la lista de candidatos a bloque de fusión, y calcula el tamaño de la lista de candidatos a bloque de fusión. (b) en la Figura 13A hay una lista de candidatos a bloque de fusión después de eliminar un candidato inutilizable para la fusión y un candidato idéntico y agregar un nuevo candidato. El bloque A vecino y el bloque D vecino son idénticos y el bloque D vecino se elimina en la Realización 1, pero el bloque A vecino puede eliminarse en su lugar.
Los códigos más cortos se asignan a la fusión de índices de candidatos a bloque de valores más pequeños. En otras palabras, cuanto menor sea el valor de un índice de candidato a bloque de fusión, menor será la cantidad de información necesaria para indicar el índice de candidato a bloque de fusión.
Por otro lado, cuanto mayor sea el valor de un índice de candidato a bloque de fusión, mayor será la cantidad de información necesaria para el índice de candidato a bloque de fusión. Por lo tanto, la eficacia de codificación aumentará cuando se fusionen índices de candidatos a bloque de valores más pequeños a los candidatos a bloque de fusión que tienen más probabilidades de tener vectores de movimiento de mayor precisión e índices de instantánea de referencia de mayor precisión.
Por lo tanto, puede haber un caso en el que la unidad 114 de cálculo de candidatos a bloque de fusión cuenta el número total de veces de selección de cada candidato a bloque de fusión como un bloque de fusión, y asigne índices de candidato a bloque de fusión de valores más pequeños a bloques con un número total mayor de veces. Específicamente, esto se puede lograr especificando un bloque de fusión seleccionado de bloques vecinos y asignando un índice de candidato a bloque de fusión de un valor menor al bloque de fusión especificado cuando se codifica un bloque actual.
Cuando un candidato a bloque de fusión no tiene información como un vector de movimiento (por ejemplo, cuando el bloque de fusión ha sido un bloque codificado por intra-predicción, se encuentra fuera del límite de una instantánea o del límite de un segmento, o aún no se ha codificado), el candidato a bloque de fusión no se puede usar para la codificación.
En la Realización 1, un candidato a bloque de fusión inutilizable para codificación se denomina candidato inutilizable para la fusión, y un candidato a bloque de fusión utilizable para codificación se denomina candidato utilizable para la fusión. Además, entre una pluralidad de candidatos a bloque de fusión, un candidato a bloque de fusión idéntico en vector de movimiento, índice de instantánea de referencia y dirección de predicción a cualquier otro bloque de fusión se denominan candidatos idénticos.
En el caso mostrado en la Figura 3, el bloque C vecino es un candidato inutilizable para la fusión porque es un bloque codificado por intra-predicción. El bloque D vecino es un candidato idéntico porque es idéntico en el vector de movimiento, índice de instantánea de referencia y dirección de predicción al bloque A vecino.
En la etapa S102, la unidad 111 de control de inter-predicción selecciona un modo de predicción basándose en la comparación, mediante un procedimiento descrito más adelante, entre el error de predicción de una instantánea de predicción generada mediante un vector de movimiento derivado de la estimación de movimiento y el error de predicción de una instantánea de predicción generada mediante un vector de movimiento obtenido de un candidato a bloque de fusión. Cuando el modo de predicción seleccionado es el modo de fusión, la unidad 111 de control de inter
predicción establece el indicador de fusión en 1, y cuando no, la unidad 111 de control de inter-predicción establece el indicador de fusión en 0.
En la etapa S103, si el indicador de fusión es o no 1 (es decir, se determina si el modo de predicción seleccionado es el modo de fusión).
Cuando el resultado de la determinación en la Etapa S103 es verdadero (Sí, S103), la unidad 116 de codificación de longitud variable adjunta el indicador de fusión a un flujo de bits en la Etapa S104. Posteriormente, en la Etapa S105, la unidad 116 de codificación de longitud variable asigna secuencias de bits de acuerdo con el tamaño de la lista de candidatos a bloque de fusión como se muestra en la Figura 5 a los índices de candidatos a bloque de fusión de los candidatos a bloque de fusión que se utilizarán para la codificación. A continuación, la unidad 116 de codificación de longitud variable realiza una codificación de longitud variable en la secuencia de bits asignada.
Por otro lado, cuando el resultado de la determinación en la Etapa S103 es falso (S103, No), la unidad 116 de codificación de longitud variable adjunta información sobre un indicador de fusión y un modo de vector de estimación de movimiento a un flujo de bits en la Etapa S106.
En la Realización 1, un índice de candidato a bloque de fusión que tiene un valor de "0" se asigna al bloque A vecino como se muestra en (a) en la Figura 13A. Un índice de candidato a bloque de fusión que tiene un valor de "1" se asigna al bloque B vecino. Un índice de candidato a bloque de fusión que tiene un valor de "2" se asigna al bloque de fusión conjuntamente ubicado. Un índice de candidato a bloque de fusión que tiene un valor de "3" se asigna al bloque vecino C. Un índice de candidato a bloque de fusión que tiene un valor de "4" se asigna al bloque D vecino.
Cabe señalar que los índices de candidatos a bloque de fusión que tienen dicho valor pueden asignarse de otra manera. Por ejemplo, cuando se agrega un nuevo candidato utilizando un procedimiento descrito más adelante, la unidad 116 de codificación de longitud variable puede asignar valores más pequeños a candidatos a bloque de fusión preexistentes y un valor mayor al nuevo candidato. En otras palabras, la unidad 116 de codificación de longitud variable puede asignar un índice de candidato a bloque de fusión de un valor menor a un candidato a bloque de fusión preexistente en prioridad a un nuevo candidato.
Adicionalmente, los candidatos a bloque de fusión no se limitan a los bloques en las posiciones de los bloques A, B, C y D vecinos. Por ejemplo, un bloque vecino ubicado arriba del bloque D vecino inferior izquierdo puede usarse como un candidato a bloque de fusión. Adicionalmente, no es necesario utilizar todos los bloques vecinos como candidatos para la fusión de bloques. Por ejemplo, también es posible utilizar solo los bloques A y B vecinos como candidatos a bloque de fusión.
Adicionalmente, aunque la unidad 116 de codificación de longitud variable une un índice de candidato a bloque de fusión a un flujo de bits en la Etapa S105 en la Figura 12 en la Realización 1, no siempre es necesario adjuntar un índice de candidato a bloque de fusión a un flujo de bits. Por ejemplo, la unidad 116 de codificación de longitud variable no necesita adjuntar un índice de candidato a bloque de fusión a un flujo de bits cuando el tamaño de la lista de candidatos a bloque de fusión es "1". De este modo, se reduce la cantidad de información sobre el índice de candidato a bloque de fusión.
La Figura 14A es un diagrama de flujo que muestra detalles del procedimiento en la Etapa S101 en la Figura 12. Específicamente, la Figura 14A ilustra un procedimiento para calcular candidatos a bloque de fusión y el tamaño de una lista de candidatos a bloque de fusión. La Figura 14A se describirá a continuación.
Antes del procedimiento mostrado en la Figura 14A, la unidad 114 de cálculo de candidatos a bloque de fusión asigna valores de índice a los bloques vecinos (los bloques A a D vecinos y el bloque de fusión conjuntamente ubicado) como se muestra en (a) en la Figura 13A.
En este punto, N denota un valor de índice para identificar un candidato a bloque de fusión. En la Realización 1, N toma valores de 0 a 4. Específicamente, el bloque A vecino en la Figura 3 se asigna a un candidato [0] de bloque de fusión. El bloque B vecino en la Figura 3 se asigna a un candidato [1] de bloque de fusión. El bloque de fusión conjuntamente ubicado se asigna a un candidato [2] de bloque de fusión. El bloque C vecino en la Figura 3 se asigna a un candidato [3] de bloque de fusión. El bloque D vecino en la Figura 3 se asigna a un candidato [4] de bloque de fusión.
Después de asignar los valores de índice a los bloques vecinos, la unidad 114 de cálculo de candidatos a bloque de fusión determina si cada uno de los candidatos [0] a [4] de bloque de fusión es utilizable para la fusión (Etapa S111), y obtiene información sobre los candidatos [0] a [4] de bloque de fusión para ingresar en la columna derecha de la lista de candidatos a bloque de fusión que se muestra en la Figura 13A (Etapa S112).
En la etapa S111, la unidad 114 de cálculo de candidatos a bloque de fusión determina si el candidato [N] a bloque de fusión es un candidato utilizable para la fusión utilizando un procedimiento descrito más adelante, y obtiene el número total de candidatos a bloque de fusión.
En la etapa S112, la unidad 114 de cálculo del candidato a bloque de fusión obtiene un conjunto de un vector de
movimiento, un índice de instantánea de referencia y una dirección de predicción del candidato [N] a bloque de fusión, y los agrega a una lista de candidatos a bloque de fusión (la columna derecha).
En la etapa S113, la unidad 114 de cálculo de candidatos a bloque de fusión busca en la lista de candidatos a bloque de fusión cualquier candidato inutilizable para la fusión y candidato idéntico, y elimina el candidato inutilizable para la fusión y el candidato idéntico de la lista de candidatos a bloque de fusión como se muestra en (b) en Figura 13A. Adicionalmente, la unidad 114 de cálculo de candidatos a bloque de fusión resta el número total de candidatos idénticos eliminados del número total de candidatos a bloque de fusión.
En la etapa S114, la unidad 114 de cálculo de candidatos a bloque de fusión agrega un nuevo candidato (tercer candidato) a la lista de candidatos a bloque de fusión mediante un procedimiento descrito más adelante. En este punto, cuando se agrega el nuevo candidato, los índices de candidatos a bloque de fusión pueden reasignarse de modo que los índices de candidato a bloque de fusión de valores más pequeños se asignen a candidatos a bloque de fusión preexistentes en prioridad para el nuevo candidato. En otras palabras, la unidad 114 de cálculo de candidatos a bloque de fusión puede reasignar los índices de candidato a bloque de fusión de modo que se asigne al nuevo candidato un índice de candidato a bloque de fusión de un valor mayor. De este modo, se reduce la cantidad de código de fusión de índices de candidatos a bloque.
En la etapa S115, la unidad 114 de cálculo de candidatos a bloque de fusión establece el número total de candidatos a bloque de fusión después de la adición del nuevo candidato como el tamaño de la lista de candidatos a bloque de fusión. En el ejemplo mostrado en (b) en la Figura 13A, el número total de candidatos a bloque de fusión se calcula en "5", y el tamaño de la lista de candidatos a bloque de fusión se establece en "5". Debe tenerse en cuenta que cuando el tamaño de la lista de candidatos a bloque de fusión no se establece como variable, sino en un número fijo, por ejemplo, un número mayor o igual a dos, el número fijo mayor o igual a dos se establece como el tamaño de la lista de candidatos a bloque de fusión.
El nuevo candidato en la Etapa S114 es un candidato recién agregado a los candidatos a bloque de fusión utilizando un procedimiento descrito más adelante cuando el número total de candidatos a bloque de fusión es menor que el número máximo de candidatos a bloque de fusión. Los ejemplos de dicho nuevo candidato incluyen un bloque vecino ubicado sobre el bloque D vecino inferior izquierdo en la Figura 3, un bloque que se incluye en una instantánea de referencia que incluye un bloque conjuntamente ubicado y corresponde a uno de los bloques A, B, C y D vecinos, y un bloque que tiene valores obtenidos estadísticamente de vectores de movimiento, índices de instantánea de referencia y direcciones de predicción del conjunto o una región determinada de una instantánea de referencia. Los ejemplos de dicho nuevo candidato incluyen además un candidato cero que tiene un vector de movimiento que tiene un valor de cero para cada instantánea de referencia referenciable. Los ejemplos de dicho nuevo candidato incluyen además un candidato a bloque de fusión bi-predictivo que es una combinación de un conjunto de un vector de movimiento y un índice de instantánea de referencia para una dirección 0 de predicción de uno de los candidatos a bloque de fusión derivados y un conjunto de un vector de movimiento y un índice de instantánea de referencia para una dirección 1 de predicción de uno diferente de los candidatos a bloque de fusión derivados. Tal candidato a bloque de fusión bi-predictivo se denomina en lo sucesivo un bloque de fusión combinado.
De esta forma, cuando el número total de candidatos a bloque de fusión es menor que el número máximo de candidatos a bloque de fusión, el aparato 100 de codificación de imágenes agrega un nuevo candidato para que se pueda aumentar la eficacia de codificación.
La Figura 15A es un diagrama de flujo que muestra detalles del procedimiento en la Etapa S111 en la Figura 14A. Específicamente, la Figura 15A ilustra un procedimiento para determinar si un candidato [N] a bloque de fusión es un candidato utilizable para la fusión y actualizar el número total de candidatos utilizables para la fusión. La Figura 15A se describirá a continuación.
En la etapa S121, la unidad 114 de cálculo de candidatos a bloque de fusión determina si es verdadero o falso que (1) un candidato [N] a bloque de fusión ha sido codificado por intra-predicción, (2) el candidato [N] a bloque de fusión es un bloque fuera del límite de un segmento que incluye el bloque actual o el límite de una imagen que incluye el bloque actual, o (3) el candidato [N] a bloque de fusión aún no se ha codificado.
Cuando el resultado de la determinación en la Etapa 121 es verdadero (Etapa S121, Sí), la unidad 114 de cálculo del candidato a bloque de fusión establece el candidato [N] a bloque de fusión como un candidato inutilizable para la fusión en la Etapa S122. Por otro lado, cuando el resultado de la determinación en la Etapa S121 es falso (Etapa S121, No), la unidad 114 de cálculo de candidatos a bloque de fusión establece el candidato [N] a bloque de fusión como un candidato utilizable para la fusión en la Etapa S123.
En la etapa S124, la unidad 114 de cálculo del candidato a bloque de fusión determina si es verdadero o falso que el candidato [N] a bloque de fusión es un candidato a bloque utilizable o un candidato a bloque de fusión conjuntamente ubicado.
En este punto, cuando el resultado de la determinación en la Etapa S124 es verdadero (Etapa S124, Sí), la unidad 114 de cálculo de candidatos a bloque de fusión actualiza el número total de candidatos a bloque de fusión incrementándolo en uno en la Etapa S125. Cuando el resultado de la determinación en la Etapa S124 es falso (Etapa
S124, No), la unidad 114 de cálculo de candidatos a bloque de fusión no actualiza el número total de candidatos a bloque de fusión.
De esta forma, cuando un bloque de fusión conjuntamente ubicado se calcula como un candidato a bloque de fusión, la unidad 114 de cálculo de candidatos a bloque de fusión de acuerdo con la Realización 1 incrementa el número total de candidatos a bloque de fusión en uno independientemente de si el bloque conjuntamente ubicado es un candidato utilizable para fusionarse o un candidato inutilizable para fusionarse. Esto evita la discrepancia en el número total de candidatos a bloque de fusión entre el aparato de codificación de imágenes y el aparato de decodificación de imágenes, incluso cuando se pierde información sobre un bloque de fusión conjuntamente ubicado debido a un incidente como la pérdida de paquetes. En la Etapa S115 en la Figura 14A, la unidad 114 de cálculo de candidatos a bloque de fusión establece el número total de candidatos a bloque de fusión como el tamaño de la lista de candidatos a bloque de fusión. Adicionalmente, en la Etapa S105 en la Figura 12, la unidad 114 de cálculo de candidatos a bloque de fusión realiza una codificación de longitud variable en un índice de candidato a bloque de fusión asignando una secuencia de bits de acuerdo con el tamaño de la lista de candidatos a bloque de fusión. Esto hace posible generar un flujo de bits que normalmente se puede decodificar para que se pueda obtener un índice de candidato a bloque de fusión incluso cuando se pierde información en la instantánea de referencia que incluye un bloque conjuntamente ubicado.
La Figura 16 es un diagrama de flujo que muestra detalles del procedimiento en la Etapa S114 en la Figura 14A. Específicamente, la Figura 16 ilustra un procedimiento para agregar un nuevo candidato (tercer candidato) para aumentar la eficacia de codificación. La Figura 16 se describirá a continuación.
En la etapa S131, la unidad 114 de cálculo de candidatos a bloque de fusión determina si el número total de candidatos a bloque de fusión es o no menor que el tamaño de la lista de candidatos a bloque de fusión. Más específicamente, cuando el tamaño de la lista de candidatos a bloque de fusión es variable, la unidad 114 de cálculo de candidatos a bloque de fusión determina si el número total de candidatos a bloque de fusión es menor que un valor máximo del tamaño de la lista de candidatos (un número máximo de candidatos a bloque de fusión). Por otro lado, cuando el tamaño de la lista de candidatos a bloque de fusión es invariable (el tamaño de la lista de candidatos a bloque de fusión es un número fijo mayor o igual a dos), la unidad 114 de cálculo de candidatos a bloque de fusión determina si el número total de candidatos a bloque de fusión es menor que el número fijo mayor o igual a dos.
En este punto, cuando el resultado de la determinación en la Etapa S131 es verdadero (Etapa S131, Sí), en la Etapa S132, la unidad 114 de cálculo de candidatos a bloque de fusión determina si hay un nuevo candidato que puede añadirse como candidato a bloque de fusión a la lista de candidatos a bloque de fusión.
El nuevo candidato es un candidato preparado, tal como un candidato cero que tiene un vector de movimiento que tiene un valor de cero para cada instantánea de referencia referenciable. En este caso, el número total de instantánea de referencia referenciables es el número total de candidatos que se pueden agregar como nuevos candidatos. El nuevo candidato puede ser un candidato distinto de ese candidato cero, como un candidato combinado como se describe anteriormente.
Cuando el resultado de la determinación en la Etapa S132 es verdadero (Etapa S132, Sí), la unidad 114 de cálculo de candidatos a bloque de fusión asigna un índice de candidato a bloque de fusión que tiene un valor para el nuevo candidato y agrega el nuevo candidato a la lista de candidatos a bloque de fusión en la Etapa S133.
Adicionalmente, en la Etapa S134, la unidad 114 de cálculo de candidatos a bloque de fusión incrementa el número total de candidatos a bloque de fusión en uno.
Por otro lado, cuando el resultado de la determinación en la Etapa S131 o en la Etapa S132 es falso (Etapa S131 o Etapa S132, No), finaliza el procedimiento para agregar un nuevo candidato. En otras palabras, cuando el número total de candidatos a bloque de fusión alcanza el número máximo de candidatos a bloque de fusión o cuando no hay más candidatos nuevos (es decir, todos los nuevos candidatos se han agregado como fusión de candidatos a bloque a la lista de candidatos), finaliza el procedimiento para agregar un nuevo candidato.
La Figura 18 es un diagrama de flujo que muestra un procesamiento detallado de la etapa S102 en la Figura 12. Específicamente, la Figura 18 ilustra un procedimiento para seleccionar un candidato a bloque de fusión. La Figura 18 se describirá a continuación.
En la etapa S151, la unidad 111 de control de inter-predicción establece un índice de candidato a bloque de fusión en 0, el error de predicción mínimo en el error de predicción (costo) en el modo de estimación del vector de movimiento, y un indicador de fusión en 0. En este punto, el costo se calcula utilizando la siguiente ecuación para un modelo de optimización RD, por ejemplo.
(Ecuación 1)
Costo = D AR
En la Ecuación 1, D denota la distorsión de codificación. Por ejemplo, D es la suma de las diferencias absolutas entre
los valores de píxeles originales de un bloque actual que se va a codificar y los valores de píxeles obtenidos codificando y decodificando el bloque actual mediante una instantánea de predicción generada mediante un vector de movimiento. R denota la cantidad de códigos generados. Por ejemplo, R es la cantidad de código necesaria para codificar un vector de movimiento utilizado para generar una instantánea de predicción. A denota un multiplicador de Lagrange indeterminado.
En la etapa S152, la unidad 111 de control de inter-predicción determina si el valor de un índice de candidato a bloque de fusión es menor que el número total de candidatos a bloque de fusión de un bloque actual. En otras palabras, la unidad 111 de control de inter-predicción determina si todavía hay o no un candidato a bloque de fusión en el que el procedimiento de la Etapa S153 a la Etapa S155 aún no se ha realizado.
Cuando el resultado de la determinación en la Etapa S152 es verdadero (S152, Sí), en la Etapa S153, la unidad 111 de control de inter-predicción calcula el costo de un candidato a bloque de fusión al que se asigna un índice de candidato a bloque de fusión. A continuación, en la Etapa S154, la unidad 111 de control de inter-predicción determina si el costo calculado para un candidato a bloque de fusión es menor que el error de predicción mínimo.
En este punto, cuando el resultado de la determinación en la Etapa S154 es verdadero, (S154, Sí), la unidad 111 de control de inter-predicción actualiza el error de predicción mínimo, el índice de candidato a bloque de fusión y el valor del indicador de fusión en la Etapa S155. Por otro lado, cuando el resultado de la determinación en la Etapa S154 es falso (S154, No), la unidad 111 de control de inter-predicción no actualiza el error de predicción mínimo, el índice de candidato a bloque de fusión o el valor del indicador de fusión.
En la etapa S156, la unidad 111 de control de inter-predicción incrementa el índice de candidato a bloque de fusión en uno, y repite de la Etapa S152 a la Etapa S156.
Por otro lado, cuando el resultado de la determinación en la Etapa S152 es falso (S152, No), es decir, no hay más candidatos a bloque de fusión sin procesar, la unidad 111 de control de inter-predicción fija los valores finales del indicador de fusión y el índice de candidato a bloque de fusión en la Etapa S157.
Por tanto, el aparato 100 de codificación de imágenes de acuerdo con la Realización 1 calcula el tamaño de una lista de candidatos a bloque de fusión para su uso en la codificación o decodificación de un índice de candidato a bloque de fusión, utilizando un procedimiento independiente de la información en las instantáneas de referencia que incluye un bloque conjuntamente ubicado para que se pueda mejorar la resistencia al error. Más específicamente, en el aparato 100 de codificación de imágenes de acuerdo con la Realización 1, el número total de candidatos a bloque de fusión se incrementa en uno por cada bloque de fusión conjuntamente ubicado independientemente de si el bloque de fusión conjuntamente ubicado es un candidato utilizable para la fusión o un candidato inutilizable para la fusión. A continuación, las secuencias de bits que se asignarán a los índices de candidatos a bloque de fusión se determinan de acuerdo con el número total de candidatos a bloque de fusión. Esto permite que el aparato 100 de codificación de imágenes y el aparato 300 de decodificación de imágenes tengan el mismo número total de candidatos a bloque de fusión de modo que un flujo de bits se pueda decodificar normalmente para obtener un índice de candidato a bloque de fusión incluso cuando la información sobre la instantánea de referencia incluye un bloque conjuntamente ubicado está perdido. Por tanto, cuando el número total de candidatos a bloque de fusión es menor que el número total de candidatos utilizables para la fusión, un nuevo candidato que tiene un nuevo conjunto de un vector de movimiento, Se agrega un índice de instantánea de referencia y una dirección de predicción para aumentar la eficacia de codificación.
Debe observarse que la Realización 1 en la que el número total de candidatos a bloque de fusión se incrementa en uno solo para cada bloque de fusión conjuntamente ubicado independientemente de si el bloque de fusión conjuntamente ubicado es un candidato utilizable para la fusión o no utilizable para candidato emergente como se muestra en la Etapa S125 y la Etapa S126 en la Figura 15A, no es limitante. El número total de candidatos a bloque de fusión puede incrementarse en uno para cualquier otro bloque, independientemente de si el bloque es un candidato utilizable para la fusión o un candidato inutilizable para la fusión.
Opcionalmente, en la Realización 1, cuando el tamaño de una lista de candidatos a bloque de fusión es un número fijo mayor o igual a dos, el número fijo mayor o igual a dos puede establecerse como un valor Max máximo del número total de candidatos a bloque fusionados. En otras palabras, los índices de candidatos a bloque de fusión pueden codificarse utilizando el tamaño de una lista de candidatos a bloque de fusión fijada en un valor Max máximo del número total de candidatos a bloque de fusión en el supuesto de que los candidatos a bloque de fusión que son bloques vecinos son todos candidatos utilizables para la fusión. Por ejemplo, en la Realización 1, el valor Max máximo del número total de candidatos a bloque de fusión es 5 (bloque A vecino, bloque B vecino, bloque de fusión conjuntamente ubicado, bloque C vecino y bloque D vecino). En este caso, los índices de candidatos a bloque de fusión pueden codificarse utilizando el tamaño de una lista de candidatos a bloque de fusión fijada de forma fija en "5".
Opcionalmente, por ejemplo, cuando el valor Max máximo del número total de candidatos a bloque de fusión se establece en 4 (bloque A vecino, bloque B vecino, bloque C vecino y bloque D vecino) para una instantánea actual que se codificará sin hacer referencia a un bloque de fusión conjuntamente ubicado conjuntamente (una instantánea B o una instantánea P que se codificará con referencia a una instantánea I), los índices de candidatos a bloque de fusión pueden codificarse utilizando el tamaño de una lista de candidatos a bloque de fusión fijada de forma fija en "4".
De esta forma, cuando el tamaño de una lista de candidatos a bloque de fusión es un número fijo mayor o igual a dos, Se puede establecer un valor Max máximo del número total de candidatos a bloque de fusión en el número fijo mayor o igual a dos para determinar el tamaño de la lista de candidatos a bloque de fusión de acuerdo con el número fijo mayor o igual a dos. En este caso, el aparato 100 de codificación de imágenes realiza una codificación de longitud variable mediante el número fijo mayor o igual que dos en la Etapa S105 en la Figura 12.
Por lo tanto, es posible generar un flujo de bits a partir del cual una unidad de decodificación de longitud variable de un aparato de decodificación de imágenes puede decodificar un índice de candidato a bloque de fusión sin hacer referencia a información en un bloque vecino o en un bloque conjuntamente ubicado, para que la complejidad de cálculo para la unidad de decodificación de longitud variable se pueda reducir. Adicionalmente, por ejemplo, un número fijo mayor o igual a dos (por ejemplo, un valor Max máximo del número total de candidatos a bloque de fusión) puede incrustarse en un conjunto (SPS) de parámetros de secuencia, un conjunto (PPS) de parámetros de instantáneas, un encabezado de segmento o similar. Esto hace posible cambiar entre números fijos mayores o iguales a dos para cada instantánea actual, de modo que se pueda reducir la complejidad de cálculo y se pueda aumentar la eficacia de codificación.
Debe observarse que el ejemplo descrito en la Realización 1 en el que el indicador de fusión siempre está unido a un flujo de bits en modo de fusión no es limitante. Por ejemplo, el modo de fusión puede seleccionarse a la fuerza basándose en la forma de un bloque de referencia para su uso en la inter-predicción de un bloque actual. En este caso, la cantidad de información se puede reducir al no agregar un indicador de fusión a un flujo de bits.
Debe notarse que el ejemplo descrito en la Realización 1 en el que se usa el modo de fusión en el que un bloque actual se codifica mediante una dirección de predicción, un vector de movimiento, y un índice de instantánea de referencia copiado de un bloque vecino del bloque actual no es limitante. Por ejemplo, se puede utilizar un modo de salto de fusión. En el modo de salto de fusión, un bloque actual se codifica con referencia a una lista de candidatos a bloque de fusión creada como se muestra en (b) en la Figura 13A, mediante una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia copiado de un bloque vecino del bloque actual en la misma forma que en el modo de fusión. Cuando todos los errores de predicción resultantes son cero para el bloque actual, un indicador de salto establecido en 1 y el indicador de salto y un índice de candidato a bloque de fusión se adjuntan a un flujo de bits. Cuando alguno de los errores de predicción resultantes no es cero, un indicador de salto se establece en 0 y el indicador de salto, un indicador de fusión, un índice de candidato a bloque de fusión, y los datos de los errores de predicción se adjuntan a un flujo de bits.
Debe notarse que el ejemplo descrito en la Realización 1 en el que se usa el modo de fusión en el que un bloque actual se codifica mediante una dirección de predicción, un vector de movimiento, y un índice de instantánea de referencia copiado de un bloque vecino del bloque actual no es limitante. Por ejemplo, un vector de movimiento en el modo de estimación del vector de movimiento puede codificarse mediante una lista de candidatos a bloque de fusión creada como se muestra en (b) en la Figura 13A. Específicamente, una diferencia se calcula restando un vector de movimiento de un candidato a bloque de fusión indicado por un índice de candidato a bloque de fusión de un vector de movimiento en el modo de estimación del vector de movimiento. Adicionalmente, la diferencia calculada y el índice de candidato a bloque de fusión se pueden unir a un flujo de bits.
Opcionalmente, se puede calcular una diferencia escalando un vector MV_Merge de movimiento de un candidato a bloque de fusión mediante un índice RefIdx_ME de instantánea de referencia en el modo de estimación de movimiento y un índice RefIdx_Merge de instantánea de referencia del candidato a bloque de fusión y restando un vector scaledMV_Merge de movimiento del candidato a bloque de fusión después de escalar el vector de movimiento en el modo de estimación de movimiento. Adicionalmente, la diferencia calculada y el índice de candidato a bloque de fusión se pueden unir a un flujo de bits. La siguiente es una fórmula ejemplar para el escalado.
(Ecuación 2)
scaledMV_Merge = MV_Merge x (POC (RefIdx_ME) - curPOC)/(POC (RefIdx_Merge) - curPOC) (2)
En este punto, POC (Refldx_ME) denota el orden de visualización de una instantánea de referencia indicada por un índice Refldx_ME de instantánea de referencia. POC (RefIdx_Merge) denota el orden de visualización de una instantánea de referencia indicada por un índice RefIdx_Merge de instantánea de referencia. curPOC denota el orden de visualización de una instantánea actual que se va a codificar.
Debe observarse que la codificación de longitud variable (véase Figura 5) que se realiza en la Realización 1 de acuerdo con el tamaño de una lista de candidatos a bloque de fusión en la Etapa S105 en la Figura 12 puede realizarse opcionalmente de acuerdo con otro parámetro tal como el número total de candidatos a bloque de fusión calculado como el número total de candidatos utilizables para la fusión que es la suma del número total de primeros candidatos y el número total de candidatos idénticos calculados en la etapa S111 (detallado en la Figura 15A) en la Figura 14A.
[Realización 2]
Un aparato de decodificación de imágenes que usa un procedimiento de decodificación de imágenes de acuerdo con la Realización 2 se describirá con referencia de la Figura 19 a la Figura 22. La Figura 19 es un diagrama de bloques que muestra una configuración de un aparato 300 de decodificación de imágenes de acuerdo con la Realización 2. El
aparato 300 de decodificación de imágenes es un aparato correspondiente al aparato 100 de codificación de imágenes de acuerdo con la Realización 1. Específicamente, por ejemplo, el aparato 300 de decodificación de imágenes decodifica, bloque por bloque, las imágenes codificadas incluidas en un flujo de bits generado por el aparato 100 de codificación de imágenes de acuerdo con la Realización 1.
Como se muestra en la Figura 19, el aparato 300 de decodificación de imágenes incluye una unidad 301 de decodificación de longitud variable, una unidad 302 de cuantificación inversa, una unidad 303 de transformación inversa ortogonal, un sumador 304, memoria 305 de bloques, memoria 306 de tramas, una unidad 307 de intrapredicción, una unidad 308 de inter-predicción, una unidad 309 de control de inter-predicción, un conmutador 310, una unidad 311 de cálculo de candidatos a bloque de fusión, y memoria 312 colPic.
La unidad 301 de decodificación de longitud variable genera información del tipo de instantánea, un indicador de fusión y un coeficiente cuantificado mediante la decodificación de longitud variable en un flujo de bits de entrada. Adicionalmente, la unidad 301 de decodificación de longitud variable realiza la decodificación de longitud variable en un índice de candidato a bloque de fusión mediante el número total de candidatos a bloque de fusión calculado por la unidad 311 de cálculo de candidatos a bloque de fusión.
La unidad 302 de cuantificación inversa cuantifica inversamente el coeficiente cuantificado obtenido por la decodificación de longitud variable.
La unidad 303 de transformación inversa ortogonal genera datos de error de predicción transformando un coeficiente de transformación ortogonal obtenido por la cuantificación inversa de un dominio de frecuencia a un dominio de instantánea.
La memoria 305 de bloques almacena, en unidades de un bloque, datos de instantánea decodificados generados al agregar los datos de error de predicción y los datos de instantánea de predicción.
La memoria 306 de tramas almacena los datos de instantánea decodificados en unidades de una trama.
La unidad 307 de intra-predicción genera datos de instantánea de predicción de un bloque actual para decodificar, realizando una intra-predicción mediante los datos de instantánea decodificados almacenados en la memoria 305 de bloques en unidades de un bloque.
La unidad 308 de inter-predicción genera datos de instantánea de predicción de un bloque actual que se va a decodificar, realizando inter-predicciones mediante los datos de instantánea decodificados almacenados en la memoria de tramas 306 en unidades de una trama.
Cuando un bloque actual se decodifica mediante decodificación intra-predicción, el conmutador 310 emite datos de instantánea de intra-predicción generados por la unidad 307 de intra-predicción como datos de instantánea de predicción del bloque actual al sumador 304. Por otro lado, cuando un bloque actual se decodifica mediante la decodificación inter-predicción, el conmutador 310 emite datos de instantánea de inter-predicción generados por la unidad 308 de inter-predicción como datos de instantánea de predicción del bloque actual al sumador 304.
La unidad 311 de cálculo de candidatos a bloque de fusión deriva candidatos a bloque de fusión de vectores de movimiento y otros de bloques vecinos del bloque actual y un vector de movimiento y otros de un bloque conjuntamente ubicado (información colPic) almacenada en la memoria 312 colPic. Adicionalmente, la unidad 311 de cálculo de candidatos a bloque de fusión agrega el candidato a bloque de fusión derivado a una lista de candidatos a bloque de fusión.
Adicionalmente, mediante un procedimiento descrito más adelante, la unidad 311 de cálculo de candidatos a bloque de fusión deriva, por ejemplo, un candidato a bloque de fusión que tiene una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia para una región estacionaria como un nuevo candidato (tercer candidato) para aumentar la eficacia de codificación. A continuación, la unidad 311 de cálculo de candidatos a bloque de fusión agrega el nuevo candidato derivado como un nuevo candidato a bloque de fusión a la lista de candidatos a bloque de fusión. Adicionalmente, la unidad 311 de cálculo de candidatos a bloque de fusión calcula el número total de candidatos a bloque de fusión cuando el tamaño de la lista de candidatos a bloque de fusión es variable.
Adicionalmente, la unidad 311 de cálculo de candidatos a bloque de fusión asigna índices de candidato a bloque de fusión que tienen cada uno un valor diferente a los candidatos a bloque de fusión derivados. A continuación, la unidad 311 de cálculo de candidatos a bloque de fusión transmite los candidatos a bloque de fusión a los que se han asignado los índices de candidato a bloque de fusión a la unidad de control de predicción 309. Adicionalmente, la unidad 311 de cálculo de candidatos a bloque de fusión transmite el número total calculado de candidatos a bloque de fusión a la unidad 301 de decodificación de longitud variable cuando el tamaño de la lista de candidatos a bloque de fusión es variable.
La unidad 309 de control inter-predicción hace que la unidad 308 inter-predicción genere una instantánea inter predicción utilizando información sobre el modo de estimación del vector de movimiento cuando el indicador de fusión decodificada es "0". Por otro lado, cuando el indicador de fusión es "1", la unidad 309 de control de inter-predicción
determina, basándose en un índice de candidato a bloque de fusión decodificado, un vector de movimiento, un índice de instantánea de referencia y una dirección de predicción para su uso en la inter-predicción de una pluralidad de candidatos a bloque de fusión. A continuación, la unidad 309 de control de inter-predicción hace que la unidad de 308 inter-predicción genere una instantánea de inter-predicción mediante el vector de movimiento calculado, índice de instantánea de referencia y dirección de predicción. Adicionalmente, la unidad 309 de control de inter-predicción transfiere información colPic que incluye el vector de movimiento del bloque actual a la memoria 312 colPic.
Finalmente, el sumador 304 genera datos de instantánea decodificados agregando los datos de instantánea de predicción y los datos de error de predicción.
La Figura 20 es un diagrama de flujo que muestra las operaciones de procesamiento del aparato 300 de decodificación de imágenes de acuerdo con la Realización 2.
En la etapa S301, la unidad 301 de decodificación de longitud variable decodifica un indicador de fusión.
Cuando el indicador de fusión es "1" en la Etapa S302 (Etapa S302, Sí), en la Etapa S303, la unidad 311 de cálculo de candidatos a bloque de fusión calcula el número total de candidatos a bloque de fusión como el tamaño de una lista de candidatos a bloque de fusión.
En la etapa S304, la unidad 301 de decodificación de longitud variable realiza la decodificación de longitud variable en un índice de candidato a bloque de fusión a partir de un flujo de bits mediante el tamaño calculado de una lista de candidatos a bloque de fusión.
En la etapa S305, la unidad 311 de cálculo de candidatos a bloque de fusión genera candidatos a bloque de fusión (y una lista de candidatos a bloque de fusión) de la misma forma que en la Etapa S101 en la Figura 12. Adicionalmente, la unidad 309 de control inter-predicción identifica, basándose en un índice de candidato a bloque de fusión decodificado, un candidato a bloque de fusión que se utilizará para decodificar un bloque actual listado en la lista de candidatos a bloque de fusión generado por la unidad 311 de cálculo de candidatos a bloque de fusión.
En la etapa S306, la unidad 309 de control de inter-predicción hace que la unidad de 308 inter-predicción genere una instantánea de inter-predicción mediante el vector de movimiento, índice de instantánea de referencia y dirección de predicción del candidato a bloque de fusión identificado en la Etapa S305.
Cuando el indicador de fusión es "0" en la Etapa S302 (Etapa S302, No), en la Etapa S307, la unidad de 308 inter predicción genera una imagen de inter-predicción mediante información sobre el modo de estimación del vector de movimiento decodificado por la unidad 301 de decodificación de longitud variable.
Opcionalmente, cuando el tamaño de una lista de candidatos a bloque de fusión calculada en la Etapa S303 es "1", se puede estimar que un índice de candidato a bloque de fusión es "0" sin decodificarse.
La Figura 21 y la Figura 22 son diagramas de flujo que muestran detalles del procedimiento en la Etapa S303 mostrado en la Figura 20. El procedimiento que se muestra en la Figura 21 es seguido por el procedimiento mostrado en la Figura 22.
Específicamente, la Figura 21 ilustra un procedimiento para calcular candidatos [N] a bloque de fusión y el tamaño de una lista de candidatos a bloque de fusión. La Figura 21 se describirá a continuación.
Al comienzo del procedimiento, la unidad 311 de cálculo de candidatos a bloque de fusión inicializa N en cero. Adicionalmente, la unidad 311 de cálculo de candidatos a bloque de fusión asigna valores de índice a los bloques vecinos (los bloques A a D vecinos y el bloque de fusión conjuntamente ubicado).
En la etapa S311, la unidad 311 de cálculo de candidatos a bloque de fusión determina si es verdadero o falso que (1) un candidato [N] a bloque de fusión ha sido decodificado por intra-predicción, (2) el candidato [N] a bloque de fusión es un bloque fuera del límite de un segmento que incluye el bloque actual o el límite de una imagen que incluye el bloque actual, o (3) el candidato [N] a bloque de fusión aún no se ha decodificado.
Cuando el resultado de la determinación en la Etapa S311 es verdadero (Etapa S311, Sí), la unidad 311 de cálculo del candidato a bloque de fusión establece el candidato [N] a bloque de fusión como un candidato inutilizable para la fusión en la Etapa S312. Por otro lado, cuando el resultado de la determinación en la Etapa S311 es falso (Etapa S311, No), la unidad 311 de cálculo de candidatos a bloque de fusión establece el candidato [N] a bloque de fusión como un candidato utilizable para la fusión en la Etapa S313.
En la etapa S314, la unidad 311 de cálculo del candidato a bloque de fusión determina si es verdadero o falso que el candidato [N] a bloque de fusión es un candidato a bloque utilizable o un candidato a bloque de fusión conjuntamente ubicado.
En este punto, cuando el resultado de la determinación en la Etapa S314 es verdadero (Etapa S314, Sí), la unidad 311 de cálculo de candidatos a bloque de fusión actualiza el número total de candidatos a bloque de fusión incrementándolo en uno en la Etapa s 315. Cuando el resultado de la determinación en la Etapa S314 es falso (Etapa
S314, No), la unidad 311 de cálculo de candidatos a bloque de fusión no actualiza el número total de candidatos a bloque de fusión.
De esta forma, cuando un bloque de fusión conjuntamente ubicado se calcula como un candidato a bloque de fusión, la unidad 311 de cálculo de candidatos a bloque de fusión de acuerdo con la Realización 2 incrementa el número total de candidatos a bloque de fusión en uno independientemente de si el bloque conjuntamente ubicado es un candidato utilizable para fusionarse o un candidato inutilizable para fusionarse. Esto evita la discrepancia en el número total de candidatos a bloque de fusión entre el aparato de codificación de imágenes y el aparato de decodificación de imágenes, incluso cuando se pierde información sobre un bloque de fusión conjuntamente ubicado debido a un incidente como la pérdida de paquetes.
Posteriormente, el procedimiento mostrado en la Figura 22 se realiza. La Figura 22 ilustra un procedimiento para calcular un candidato a bloque de fusión. La Figura 22 se describirá a continuación.
En la etapa S321, la unidad 311 de cálculo del candidato a bloque de fusión obtiene un conjunto de un vector de movimiento, un índice de instantánea de referencia y una dirección de predicción de un candidato [N] a bloque de fusión, y lo agrega a una lista de candidatos a bloque de fusión.
En la etapa S322, la unidad 311 de cálculo de candidatos a bloque de fusión busca en la lista de candidatos a bloque de fusión cualquier candidato inutilizable para la fusión y candidato idéntico, y elimina el candidato inutilizable para la fusión y el candidato idéntico de la lista de candidatos a bloque de fusión como se muestra en (a) y (b) en Figura 13A. Adicionalmente, la unidad 311 de cálculo de candidatos a bloque de fusión resta el número total de candidatos idénticos del número total de candidatos a bloque de fusión.
En la etapa S323, la unidad 311 de cálculo de candidatos a bloque de fusión agrega un nuevo candidato a la lista de candidatos a bloque de fusión mediante el procedimiento usado en el aparato 100 de codificación de imágenes como se ilustra en la Figura 16. Como resultado, el número total de candidatos a bloque de fusión es la suma del número total de los primeros candidatos y el número total de los nuevos candidatos.
Cuando el tamaño de la lista de candidatos a bloque de fusión es variable, la unidad 311 de cálculo de candidatos a bloque de fusión establece el número total de candidatos a bloque de fusión como el tamaño de la lista de candidatos a bloque de fusión en la Etapa S303 en la Figura 20. Adicionalmente, cuando el tamaño de la lista de candidatos a bloque de fusión es un número fijo mayor o igual a dos, la unidad 311 de cálculo de candidatos a bloque de fusión establece el número fijo mayor o igual a dos como el tamaño de la lista de candidatos a bloque de fusión en la Etapa S303 en la Figura 20.
Adicionalmente, la unidad 311 de cálculo de candidatos a bloque de fusión realiza una decodificación de longitud variable en un índice de candidato a bloque de fusión mediante el tamaño de la lista de candidatos a bloque de fusión en la Etapa S304 en la Figura 20. Esto hace posible que el aparato 300 de decodificación de imágenes de acuerdo con la Realización 2 decodifique índices de candidatos a bloque de fusión normalmente incluso cuando se pierde información sobre la instantánea de referencia que incluye un bloque conjuntamente ubicado.
La Figura 23 muestra una sintaxis ejemplar para la unión de un índice de candidato a bloque de fusión a un flujo de bits. En la Figura 23, merge_idx representa un índice de candidato a bloque de fusión, y merge_flag representa un indicador de fusión. NumMergeCand representa el tamaño de una lista de candidatos a bloque de fusión. En la Realización 2, el tamaño de una lista de candidatos a bloque de fusión se establece en el número total de candidatos a bloque de fusión calculado en el procedimiento que se muestra en la Figura 21.
Por tanto, el aparato 300 de decodificación de imágenes de acuerdo con la Realización 2 calcula el tamaño de una lista de candidatos a bloque de fusión para su uso en la codificación o decodificación de un índice de candidato a bloque de fusión, utilizando un procedimiento independiente de la información en las instantáneas de referencia, incluido un bloque conjuntamente ubicado. El aparato 300 de decodificación de imágenes, por lo tanto, puede decodificar apropiadamente un flujo de bits que tiene una resistencia al error mejorada. Más específicamente, el número total de candidatos a bloque de fusión se incrementa en uno para cualquier bloque de fusión conjuntamente ubicado independientemente de si el bloque de fusión conjuntamente ubicado es o no un candidato utilizable para la fusión. las secuencias de bits que se aplicarán a los índices de candidatos a bloque de fusión se determinan utilizando el número total de candidatos a bloque de fusión calculado de esta manera. Esto hace posible que el aparato 300 de decodificación de imágenes decodifique índices de candidatos a bloque de fusión normalmente incluso cuando se pierde información sobre la instantánea de referencia que incluye un bloque conjuntamente ubicado. Adicionalmente, cuando el número total de los candidatos a bloque de fusión es menor que el número total de candidatos utilizables para la fusión, el aparato 300 de decodificación de imágenes de acuerdo con la Realización 2 agrega un nuevo candidato que tiene un nuevo conjunto de un vector de movimiento, un índice de instantánea de referencia y una dirección de predicción para que un flujo de bits codificado con mayor eficacia pueda decodificarse adecuadamente.
Cabe señalar que la Realización 2, en la que el número total de candidatos a bloque de fusión se incrementa en uno para cualquier otro bloque, independientemente de si el bloque es un candidato utilizable para la fusión o un candidato inutilizable para la fusión no es limitante. Por ejemplo, el número total de candidatos a bloque de fusión puede incrementarse en uno para cualquier candidato a bloque de fusión que no sea un bloque de fusión conjuntamente
ubicado en la Etapa S314 en la Figura 21.
Opcionalmente, en la Realización 2, cuando el tamaño de una lista de candidatos a bloque de fusión es un número fijo mayor o igual a dos, el número fijo mayor o igual a dos puede ser un número Max máximo del número total de candidatos a bloque fusionados. En otras palabras, el tamaño de una lista de candidatos a bloque de fusión se puede fijar en un valor máximo N del número total de candidatos a bloque de fusión en el supuesto de que los candidatos a bloque de fusión sean todos candidatos utilizables para la fusión. Por ejemplo, en la Realización 2, el valor Max máximo del número total de candidatos a bloque de fusión es 5 (bloque A vecino, bloque B vecino, bloque de fusión conjuntamente ubicado, bloque C vecino y bloque D vecino). En este caso, los índices de candidatos a bloque de fusión pueden decodificarse mediante el tamaño de una lista de candidatos a bloque de fusión fijada de forma fija en "5".
Opcionalmente, por ejemplo, cuando el valor Max máximo del número total de candidatos a bloque de fusión se establece en 4 (bloque A vecino, bloque B vecino, bloque C vecino y bloque D vecino) para una instantánea actual que es una imagen para decodificar sin hacer referencia a un bloque de fusión ubicado (una instantánea B o una instantánea P para decodificar con referencia a una instantánea I), los índices de candidatos a bloque de fusión pueden decodificarse mediante el tamaño de una lista de candidatos a bloque de fusión fijada de forma fija en "4".
Por lo tanto, es posible que la unidad 301 de decodificación de longitud variable del aparato 300 de decodificación de imágenes decodifique un índice de candidato a bloque de fusión de un flujo de bits sin hacer referencia a información en un bloque vecino o en un bloque conjuntamente ubicado. En este caso, por ejemplo, las Etapas S314 y S315 mostradas en la Figura 21 puede omitirse para que la complejidad de cálculo para la unidad 301 de decodificación de longitud variable pueda reducirse.
La Figura 24 muestra una sintaxis ejemplar en el caso en que el tamaño de una lista de candidatos a bloque de fusión se fija en el valor Max máximo del número total de candidatos a bloque de fusión. Como se puede ver en la Figura 24, NumMergeCand se puede omitir de la sintaxis cuando el tamaño de una lista de candidatos a bloque de fusión se fija en un número fijo mayor o igual a dos (por ejemplo, un valor Max máximo del número total de candidatos a bloque de fusión). En otras palabras, el procedimiento se puede realizar sin usar NumMergeCand. Opcionalmente, por ejemplo, la decodificación se puede realizar utilizando un número fijo mayor o igual a dos (por ejemplo, un valor Max máximo del número total de candidatos a bloque de fusión) incrustado en un conjunto (SPS) de parámetros de secuencia, un conjunto (PPS) de parámetros de instantáneas, un encabezado de segmento o similar. Esto hace posible cambiar entre números fijos mayores o iguales a dos para cada instantánea actual, de modo que el flujo de bits del aparato 100 de codificación de imágenes pueda decodificarse correctamente. En este caso, los índices de bloque de fusión pueden decodificarse utilizando valores que son los números fijos mayores o iguales que dos decodificados desde el SPS, PPS, o encabezado de segmento.
Debe observarse que la decodificación de longitud variable (véase Figura 5) que se realiza en la Realización 2 de acuerdo con el tamaño de una lista de candidatos a bloque de fusión en la Etapa S304 en la Figura 20 puede realizarse opcionalmente de acuerdo con otro parámetro. Por ejemplo, cuando el número total de candidatos a bloque de fusión se calcula como el número total de candidatos utilizables para la fusión sumando el número total de primeros candidatos y el número total de candidatos idénticos en la Etapa S111 (detallado en la Figura 15A) en la Figura 14A en el aparato 100 de codificación de imágenes de acuerdo con la Realización 1, la decodificación de longitud variable puede realizarse mediante el número total de candidatos a bloque de fusión calculados por el procedimiento mostrado en la Figura 21. En este caso, el procedimiento mostrado en la Figura 22 puede realizarse en la Etapa S305.
Adicionalmente, una determinación en el procedimiento mostrado en la Figura 21 se basa en si es verdadero o falso que (1) un candidato [N] a bloque de fusión ha sido decodificado por intra-predicción, (2) el candidato [N] a bloque de fusión es un bloque fuera del límite de un segmento que incluye el bloque actual o el límite de una imagen que incluye el bloque actual, o (3) el candidato [N] a bloque de fusión aún no se ha decodificado. En otras palabras, se puede obtener el número total de candidatos a bloque de fusión para su uso en la decodificación de longitud variable sin usar información en una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia. Por consiguiente, cálculo de una dirección de predicción, un vector de movimiento, y un índice de instantánea de referencia y la obtención de un índice de candidato a bloque de fusión se realizan independientemente uno del otro, y por lo tanto el índice de candidato a bloque de fusión se obtiene sin esperar el resultado del cálculo de una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia para que se pueda aumentar la velocidad de procesamiento.
(Modificación de la Realización 1 y la Realización 2)
Cuando el tamaño de una lista de candidatos a bloque de fusión es un número fijo mayor o igual a dos en la Realización 1 y la Realización 2 descritas anteriormente y la lista de candidatos a bloque de fusión tiene una entrada vacía, la entrada vacía de la lista de candidatos a bloque de fusión se puede completar con un candidato a bloque de fusión predeterminado para mejorar la resistencia al error (segundo candidato) de modo que se pueda mejorar la resistencia al error.
Por ejemplo, cuando una instantánea actual (que se va a codificar o decodificar) es una instantánea B, el segundo
candidato que se agregará puede ser un candidato a bloque de fusión bi-predictivo que incluya un conjunto de un índice 0 de instantánea de referencia para una dirección 0 de predicción y un vector (0, 0) de movimiento y un conjunto de un índice 0 de instantánea de referencia para una dirección 1 de predicción y un vector (0, 0) de movimiento. Por ejemplo, cuando una instantánea actual que se va a codificar es una instantánea P, el segundo candidato que se agregará puede ser un candidato a bloque de fusión uni-predictivo que incluye un índice 0 de instantánea de referencia para una dirección 0 de predicción y un vector (0, 0) de movimiento. puesto que se agregan segundos candidatos con el fin de mejorar la resistencia al error, los segundos candidatos pueden tener valores idénticos. Por otro lado, los terceros candidatos son diferentes entre sí porque se agregan terceros candidatos con el fin de aumentar la eficacia de codificación. Cabe señalar que un tercer candidato puede ser idéntico a un primer candidato o un segundo candidato como resultado.
Se puede agregar un segundo candidato ya sea (1) ingresando un segundo candidato en una entrada vacía después de agregar un nuevo candidato (tercer candidato) o (2) ingresando segundos candidatos en todas las entradas en una lista de candidatos a bloque de fusión para inicializar la lista de candidatos a bloque de fusión.
A continuación se describe un caso con el aparato 100 de codificación de imágenes en el que (1) se ingresa un segundo candidato en una entrada vacía después de que se agrega un nuevo candidato (tercer candidato).
La Figura 13B muestra una tabla de una lista de candidatos a bloque de fusión cuando se ingresa un segundo candidato en una entrada vacía después de que se agrega un nuevo candidato (tercer candidato). En el caso mostrado en la Figura 13B, el valor Max máximo del número total de candidatos a bloque de fusión es 6 como ejemplo.
La Figura 14B es un diagrama de flujo que muestra detalles del procedimiento en la Etapa S101 en la Figura 12. El procedimiento de la Etapa S111 a la Etapa S114 en la Figura 14B es el mismo que el procedimiento de la Etapa S111 a la Etapa S114 del aparato 100 de codificación de imágenes de acuerdo con la Realización 1 mostrada en la Figura 14A, y por lo tanto se omite su descripción.
En la etapa S111 a la Etapa S114, la unidad 114 de cálculo de candidatos a bloque de fusión del aparato 100 de codificación de imágenes calcula los primeros candidatos a bloques vecinos, elimina un candidato inutilizable para la fusión y un candidato idéntico, y agrega después nuevos candidatos. Puesto que el número total de candidatos a bloque de fusión es 6, el candidato [5] de bloque de fusión no se asigna a un candidato a bloque de fusión incluso después de agregar nuevos candidatos como se muestra en (b) en la Figura 13B.
En la etapa S116, la unidad 114 de cálculo de candidatos a bloque de fusión ingresa un segundo candidato en la entrada vacía. La Figura 17 es un diagrama de flujo que muestra detalles del procedimiento en la Etapa S116 mostrado en la Figura 14B.
En la etapa S141, la unidad 114 de cálculo de candidatos a bloque de fusión determina si el número total de candidatos a bloque de fusión (simplemente denominado tamaño de lista de candidatos en la Figura 17) es menor que el tamaño de la lista de candidatos a bloque de fusión. En otras palabras, la unidad 114 de cálculo del candidato a bloque de fusión determina si hay o no una entrada vacía.
Cuando el resultado de la determinación en la Etapa S141 es verdadero (Etapa S141, Sí), la unidad 114 de cálculo de candidatos a bloque de fusión ingresa un segundo candidato en la entrada vacía en la Etapa S142. Como se ha descrito anteriormente, el candidato [5] de bloque de fusión no se asigna a un candidato a bloque de fusión inmediatamente después de agregar nuevos candidatos. A continuación, la unidad 114 de cálculo de candidatos a bloque de fusión agrega un segundo candidato como el candidato [5] de bloque de fusión. Por ejemplo, el segundo candidato agregado puede ser un candidato a bloque de fusión bi-predictivo que incluye un conjunto de un índice 0 de instantánea de referencia para una dirección 0 de predicción y un vector (0, 0) de movimiento y un conjunto de un índice 0 de instantánea de referencia para una dirección 1 de predicción y un vector (0, 0) de movimiento como se ha mencionado anteriormente. Adicionalmente, en la Etapa S143, la unidad 114 de cálculo de candidatos a bloque de fusión incrementa el número total de candidatos a bloque de fusión en uno.
Cuando el resultado de la determinación en la Etapa S141 es falso (Etapa S141, No), el procedimiento termina.
(c) en la Figura 13B ilustra una tabla de una lista de candidatos a bloque de fusión después de que se agrega un segundo candidato.
A continuación se describe un caso con el aparato 100 de codificación de imágenes en el que (2) se inicializa una lista de candidatos a bloque de fusión introduciendo segundos candidatos en todas las entradas en una lista de candidatos a bloque de fusión.
La Figura 13C muestra una tabla de una lista de candidatos a bloque de fusión cuando un segundo candidato se inicializa mediante segundos candidatos. En el caso mostrado en la Figura 13C, el valor Max máximo del número total de candidatos a bloque de fusión es 6 como ejemplo.
La Figura 14C es un diagrama de flujo que muestra detalles del procedimiento en la Etapa S101 en la Figura 12.
En la Etapa 117, la unidad 114 de cálculo de candidatos a bloque de fusión inicializa la lista de candidatos a bloque de fusión (lista de candidatos). (a) en la Figura 13C ilustra una lista de candidatos después de la inicialización. En (a) en la Figura 13C, todos los candidatos [0] a [5] de bloque de fusión son segundos candidatos. Los segundos candidatos son todos idénticos, lo que no se indica en (a) en la Figura 13C.
En la Etapa 118, la unidad 114 de cálculo de candidatos a bloque de fusión obtiene los primeros candidatos y actualiza el número total de candidatos a bloque de fusión con el número total de los primeros candidatos. N1 es un valor para identificar cada bloque vecino. En este caso, N1 toma valores de 0 a 5 para identificar seis de los bloques vecinos que son bloques A a D vecinos y un bloque de fusión conjuntamente ubicado. Adicionalmente, los primeros candidatos no incluyen ningún candidato inutilizable para la fusión y ningún candidato idéntico. Adicionalmente, la unidad 114 de cálculo de candidatos a bloque de fusión agrega los primeros candidatos a la lista de candidatos y obtiene conjuntos de vectores de movimiento, índices de instantánea de referencia y direcciones de predicción de los primeros candidatos. (b) en la Figura 13C ilustra una tabla de una lista de candidatos a bloque de fusión después de agregar los primeros candidatos.
En la etapa S114, la unidad 114 de cálculo de candidatos a bloque de fusión agrega nuevos candidatos a la lista de candidatos a bloque de fusión mediante el procedimiento descrito en la Realización 1. (c) en la Figura 13C ilustra la tabla de la lista de candidatos a bloque de fusión después de agregar nuevos candidatos.
La Figura 15B es un diagrama de flujo que muestra detalles del procedimiento en la Etapa S118 que se muestra en la Figura 14C.
En la etapa S126, la unidad 114 de cálculo de candidatos a bloque de fusión determina si es verdadero o falso que (1) un bloque vecino ha sido codificado por intra-predicción, (2) el bloque vecino es un bloque fuera del límite de un segmento que incluye el bloque actual o el límite de una imagen que incluye el bloque actual, (3) el bloque vecino aún no se ha codificado, o (4) el bloque vecino es un candidato idéntico, es decir, idéntico en la dirección de predicción, vector de movimiento e índice de instantánea de referencia a cualquiera de los candidatos a bloque de fusión agregados a la lista de candidatos.
Cuando el resultado de la determinación en la Etapa S126 es verdadero (Etapa S126, Sí), la unidad 114 de cálculo del candidato a bloque de fusión determina que el bloque vecino es un candidato inutilizable para la fusión. Por otro lado, cuando el resultado de la determinación en la Etapa S126 es falso (Etapa S126, No), la unidad 114 de cálculo del candidato a bloque de fusión determina que el bloque vecino es un candidato utilizable para la fusión.
Cuando el resultado de la determinación en la Etapa S126 es que el bloque vecino es un candidato utilizable para la fusión o un bloque conjuntamente ubicado, la unidad 114 de cálculo de candidatos a bloque de fusión agrega un candidato a bloque de fusión a la lista de candidatos a bloque de fusión e incrementa el número total de candidatos a bloque de fusión en uno en la Etapa S124.
(c) en la Figura 13C es idéntica a (c) en la Figura 13B, que, por lo tanto, muestra que una lista de candidatos a bloque de fusión obtenida agregando nuevos candidatos primero y después segundos candidatos y una lista de candidatos a bloque de fusión obtenida inicializando el bloque de fusión usando los segundos candidatos primero son iguales.
Cuando el aparato 300 de decodificación de imágenes crea una lista de candidatos a bloque de fusión mediante este procedimiento, es posible que el aparato 300 de decodificación de imágenes decodifique índices de candidatos a bloque de fusión normalmente.
Cuando una lista de candidatos a bloque de fusión tiene una entrada vacía, el aparato 300 de decodificación de imágenes puede tener un error al eliminar un candidato idéntico de los candidatos a bloque de fusión y no puede eliminar el candidato idéntico. En este caso, cuando el tamaño de la lista de candidatos a bloque de fusión es un número fijo mayor o igual a dos, existe la posibilidad de que la lista de candidatos a bloque de fusión tenga una entrada de candidato vacía en la que no se ingrese ningún candidato a bloque de fusión.
De acuerdo con la presente modificación de las Realizaciones 1 y 2, los segundos candidatos se introducen en todas las entradas vacías en la lista de candidatos para que el aparato 300 de decodificación de imágenes pueda evitar tener una entrada de candidato vacía en la que no se introduce ningún candidato a bloque de fusión.
Cabe señalar que la presente modificación en la que un candidato a bloque de fusión que tiene una instantánea 0 de referencia y un vector (0, 0) de movimiento se asigna como un segundo candidato a un índice de candidato a bloque de fusión al que no se aplica ningún candidato a bloque de fusión no es limitante. Ejemplos de un segundo candidato de este tipo incluyen un candidato a bloque de fusión que tiene un índice de instantánea de referencia, un vector de movimiento, y una dirección de predicción copiada de otro bloque vecino, y un bloque vecino generado mediante un candidato obtenido de otros bloques vecinos, como un candidato a bloque de fusión generado promediando candidatos obtenidos de otros bloques vecinos.
Debe tenerse en cuenta que la modificación en la que se agrega un segundo candidato al (1) ingresar un segundo candidato en una entrada vacía después de agregar un nuevo candidato (tercer candidato) o (2) inicializar una lista de candidatos a bloque de fusión ingresando segundos candidatos en todas las entradas de la lista de candidatos a
bloque de fusión, no es limitante.
Por ejemplo, el aparato 300 de decodificación de imágenes puede determinar en la Etapa S306 en la Figura 20 si un candidato a bloque de fusión se asigna o no a un índice de candidato a bloque de fusión decodificado, y agrega un segundo candidato cuando el resultado de la determinación es verdadero. En otras palabras, la Etapa S305 se puede realizar para no generar una lista de candidatos a bloque de fusión sin una entrada vacía, sino para agregar un segundo candidato a una entrada vacía solo cuando una entrada indicada por un índice de candidato a bloque de fusión decodificado es una entrada vacía de este tipo. Esto reducirá la complejidad de cálculo.
Los ejemplos de tal segundo candidato incluyen un candidato a bloque de fusión que tiene una instantánea 0 de referencia y un vector (0, 0) de movimiento, un candidato a bloque de fusión asignado a otro índice de candidato a bloque de fusión, y un candidato a bloque de fusión generado a partir de otros bloques vecinos asignados a otros índices de candidato a bloque de fusión.
Por ejemplo, el aparato 300 de decodificación de imágenes puede determinar en la Etapa S306 en la Figura 20 si el número total de índices de candidatos a bloque de fusión decodificados es mayor o igual que el número total de candidatos a bloque de fusión calculado en la Etapa S303, y agregue un segundo candidato cuando el resultado de la determinación sea verdadero. En otras palabras, el procedimiento para agregar un segundo candidato se puede omitir cuando el número total de los índices de candidatos a bloque de fusión decodificados es menor o igual que el número total de candidatos a bloque de fusión calculado en la Etapa S303. Esto reducirá la complejidad de cálculo.
Los ejemplos de tal segundo candidato incluyen un candidato a bloque de fusión que tiene una instantánea 0 de referencia y un vector (0, 0) de movimiento, un candidato a bloque de fusión asignado a otro índice de candidato a bloque de fusión, y un candidato a bloque de fusión generado a partir de otros bloques vecinos asignados a otros índices de candidato a bloque de fusión.
Adicionalmente, por ejemplo, el aparato 300 de decodificación de imágenes puede determinar en la Etapa S306 en la Figura 20 si el número total de índices de candidatos a bloque de fusión decodificados es mayor o igual que el número total de candidatos a bloque de fusión calculado en la Etapa S303 y, cuando el resultado de la determinación es verdadero, los valores de los índices de candidatos a bloque de fusión pueden prediseñarse de modo que el número total de índices de candidatos a bloque de fusión decodificados sea menor que el número total de candidatos a bloque de fusión.
Al realizar el procedimiento descrito anteriormente, el aparato 100 de codificación de imágenes y el aparato 300 de decodificación de imágenes de acuerdo con la presente modificación de las Realizaciones 1 y 2 pueden evitar tener un índice de candidato a bloque de fusión decodificado al que no se asigna ningún candidato a bloque de fusión, incluso cuando, por ejemplo, los índices de candidatos a bloque de fusión normalmente se decodifican, pero se produce un error al eliminar un candidato idéntico de los candidatos a bloque de fusión. La resistencia al error se mejora por tanto.
[Realización 3]
El procesamiento descrito en cada una de las realizaciones puede implementarse simplemente en un sistema informático independiente, grabando, en un medio de grabación, un programa para implementar las configuraciones del procedimiento de codificación de instantáneas en movimiento (procedimiento de codificación de imágenes) y el procedimiento de decodificación de instantáneas en movimiento (procedimiento de decodificación de imágenes) descrito en cada una de las realizaciones. Los medios de grabación pueden ser cualquier medio de grabación siempre que se pueda registrar el programa, tal como un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta IC y una memoria de semiconductores.
De aquí en adelante, se describirán las aplicaciones al procedimiento de codificación de instantáneas en movimiento (procedimiento de codificación de imágenes) y al procedimiento de decodificación de instantáneas en movimiento (procedimiento de decodificación de imágenes) descritos en cada una de las realizaciones, y sistemas que usan los mismos. El sistema tiene una característica de tener un aparato de codificación y de decodificación de imágenes que incluye un aparato de codificación de imágenes que usa el procedimiento de codificación de imágenes y un aparato de decodificación de imágenes que usa el procedimiento de decodificación de imágenes. Otras configuraciones en el sistema se pueden cambiar de acuerdo con sea apropiado, dependiendo de los casos.
La Figura 25 ilustra una configuración global de un sistema ex100 de provisión de contenido para implementar servicios de distribución de contenido. El área para proporcionar servicios de comunicación se divide en células del tamaño deseado, y estaciones ex106, ex107, ex108, ex109 y ex110 base, que son estaciones inalámbricas fijas, se colocan en cada una de las células.
El contenido que proporciona el sistema ex100 está conectado a dispositivos, como un ordenador ex111, un asistente ex112 digital personal (PDA), una cámara ex113, un teléfono ex114 celular y una máquina ex115 de juegos, a través de Internet ex101, un proveedor ex102 de servicios de Internet, una red ex104 telefónica, así como las estaciones ex106 a ex110 base, respectivamente.
Sin embargo, la configuración del sistema ex100 de provisión de contenido no se limita a la configuración mostrada en la figura 25, y es aceptable una combinación en la que está conectado cualquiera de los elementos. Además, cada dispositivo puede estar conectado directamente a la red ex104 telefónica, en lugar de a través de las estaciones ex106 a ex110 base, que son las estaciones inalámbricas fijas. Adicionalmente, los dispositivos pueden interconectarse entre sí mediante una comunicación inalámbrica de corta distancia y otras.
La cámara ex113, como una cámara de vídeo digital, es capaz de capturar vídeo. Una cámara ex116, como una cámara digital, es capaz de capturar imágenes fijas y vídeos. Adicionalmente, el teléfono ex114 celular puede ser el que cumpla con cualquiera de las normas, 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). Como alternativa, el teléfono ex114 celular puede ser un Sistema Móvil Personal (PHS).
En el sistema ex100 de provisión de contenido, un servidor ex103 de flujo continuo está conectado a la cámara ex113 y a otras a través de la red ex104 telefónica y la estación ex109 base, lo que permite la distribución de imágenes de un show en vivo y otros. En una distribución de este tipo, un contenido (por ejemplo, vídeo de un show musical en vivo) capturado por el usuario mediante la cámara ex113 se codifica como se describe 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 se transmite al servidor ex103 de flujo continuo. Por otro lado, el servidor ex103 de flujo continuo lleva a cabo distribución de secuencia en los datos de contenido transmitidos a los clientes tras sus solicitudes. Los clientes incluyen el ordenador ex111, el PDA ex112, la cámara ex113, el teléfono ex114 celular y la máquina ex115 de juegos 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 codificarse por la cámara ex113 o el servidor ex103 de flujo continuo que transmite los datos, o los procedimientos de codificación pueden compartirse entre la cámara ex113 y el servidor ex103 de flujo continuo. De forma similar, los datos distribuidos pueden decodificarse por los clientes o el servidor ex103 de flujo continuo, o los procedimientos de decodificaciones pueden compartirse entre los clientes y el servidor ex103 de flujo continuo. Adicionalmente, los datos de las imágenes fijas y el vídeo capturado no únicamente por la cámara ex113 sino también por la cámara ex116 pueden transmitirse al servidor ex103 de flujo continuo a través del ordenador ex111. Los procedimientos de codificación pueden ser realizados por la cámara ex116, el ordenador ex111, o el servidor ex103 de flujo continuo, o compartido entre ellos.
Adicionalmente, los procedimientos de codificación y decodificación pueden realizarse por un LSI ex500 generalmente incluido en cada uno del ordenador ex111 y los dispositivos. El LSI ex500 puede estar configurado de un único chip o una pluralidad de chips. El software para codificar y decodificar vídeo puede integrarse en algún tipo de medio de grabación (como un CD-ROM, un disco flexible y un disco duro) que puede leer el ordenador ex111 y otros, y los procedimientos de codificación y decodificación pueden realizarse utilizando el software. Adicionalmente, cuando el teléfono ex114 celular está equipado con una cámara, los datos de vídeo obtenidos por la cámara pueden ser transmitidos. Los datos de vídeo son datos codificados por el LSI ex500 incluido en el teléfono ex114 celular.
Adicionalmente, el servidor ex103 de flujo continuo puede estar compuesto por servidores y ordenadores, y puede descentralizar datos y procesar los datos descentralizados, grabar o distribuir datos.
Como se ha descrito anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema ex100 de provisión de contenido. 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 ex100 de provisión de contenido, para que el usuario que no tenga ningún derecho y equipo en particular pueda implementar la difusión personal.
Además del ejemplo del sistema ex100 de provisión de contenido, al menos uno del aparato de codificación de instantáneas en movimiento (aparato de codificación de imágenes) y el aparato de decodificación de instantáneas en movimiento (aparato de decodificación de imágenes) descritos en cada una de las realizaciones pueden implementarse en un sistema ex200 de difusión digital ilustrado en la Figura 26. Más específicamente, una estación ex201 de difusión comunica o transmite, a través de ondas de radio a un satélite ex202 de difusión, datos multiplexados obtenidos al multiplexar datos de audio y otros en datos de vídeo. Los datos de vídeo son datos codificados por el procedimiento de codificación de instantáneas 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). Al recibir los datos multiplexados, el satélite ex202 de difusión transmite ondas de radio para su difusión. A continuación, una antena ex204 de uso doméstico con una función de recepción de difusión por satélite recibe las ondas de radio. A continuación, un dispositivo 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).
Adicionalmente, un lector/grabador ex218 (i) lee y decodifica los datos multiplexados grabados en un medio ex215 de grabación, como un DVD y un BD, o (i) codifica señales de vídeo en el medio ex215 de grabación, y en algunos casos,
escribe datos obtenidos multiplexando una señal de audio en los datos codificados. El lector/grabador ex218 puede incluir el aparato de decodificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento como se muestra en cada una de las realizaciones. En este caso, las señales de vídeo reproducidas se visualizan en el monitor ex219, y pueden reproducirse por otro dispositivo o sistema usando el medio ex215 de grabación en el que se graban los datos multiplexados. También es posible implementar el aparato de decodificación de instantáneas 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, para mostrar las señales de vídeo en el monitor ex219 del televisor ex300. El aparato de decodificación de instantáneas en movimiento puede implementarse no en el decodificador de salón sino en el televisor ex300.
La Figura 27 ilustra el televisor (receptor) ex300 que usa el procedimiento de codificación de instantáneas en movimiento y el procedimiento de decodificación de instantáneas en movimiento descritos 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 vídeo, a través de la antena ex204 o el cable ex203, etc. que recibe una transmisión; una unidad ex302 de modulación/demodulación que demodula los datos multiplexados recibidos o modula datos en datos multiplexados a suministrarse al exterior; y una unidad ex303 de multiplexación/demultiplexación que demultiplexa los datos multiplexados modulados en datos de vídeo y datos de audio, o multiplexa datos de vídeo y datos de audio codificados por una unidad de procesamiento de señal en datos ex306.
El televisor ex300 incluye además: una unidad ex306 de procesamiento de señal que incluye una unidad ex304 de procesamiento de señales de audio y una unidad ex305 de procesamiento de señales de vídeo que decodifica datos de audio y datos de vídeo y codifica datos de audio y datos de vídeo, respectivamente (que funcionan como el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con los aspectos de la presente invención); y una unidad ex309 de salida que incluye un altavoz ex307 que proporciona la señal de audio decodificada, y una unidad ex308 de visualización que visualiza la señal de vídeo decodificada, tal como una pantalla, tal como una pantalla. Adicionalmente, el televisor ex300 incluye una unidad ex317 de interfaz que incluye una unidad ex312 de entrada de operación que recibe una entrada de una operación de usuario. Adicionalmente, el televisor ex300 incluye una unidad ex310 de control que controla de manera global cada elemento constituyente del televisor ex300, y una unidad ex311 de circuito de fuente de alimentación que suministra potencia a cada uno de los elementos. Aparte de la unidad ex312 de entrada de operación, la unidad ex317 de interfaz puede incluir: un puente ex313 que está conectado a un dispositivo externo, como el lector/grabador ex218; una unidad ex314 de ranura para permitir la conexión del medio ex216 de grabación, tal como una tarjeta SD; un controlador ex315 para conectarse a un medio de grabación externo, tal como un disco duro; y un módem ex316 que se va a conectar a una red de telefonía. En este punto, el medio ex216 de grabación puede grabar eléctricamente información usando un elemento de memoria de semiconductores no volátil/volátil para almacenamiento. Los elementos constitutivos del televisor ex300 están conectados entre sí a través de un bus síncrono.
En primer lugar, se describirá la configuración en la que el televisor ex300 decodifica datos multiplexados obtenidos desde el exterior a través de la antena ex204 y otros y reproduce los datos decodificados. En el televisor ex300, tras una operación del usuario a través de un control ex220 remoto y otros, la unidad ex303 de multiplexación/demultiplexación demultiplexa los datos multiplexados demodulados por la unidad ex302 de modulación/demodulación, bajo control de la unidad ex310 de control que incluye una CPU. Adicionalmente, la unidad ex304 de procesamiento de señales de audio decodifica los datos de audio demultiplexados, y la unidad ex305 de procesamiento de señales de vídeo decodifica los datos de vídeo demultiplexados, mediante el procedimiento de decodificación descrito en cada una de las realizaciones, en el televisor ex300. La unidad ex309 de salida proporciona la señal de vídeo decodificada y la señal de audio al exterior, respectivamente. Cuando la unidad ex309 de salida proporciona la señal de vídeo y la señal de audio, las señales pueden almacenarse temporalmente en las memorias ex318 y ex319 intermedias, y otras para que las señales se reproduzcan en sincronización entre sí. Adicionalmente, el televisor ex300 puede leer datos multiplexados no a través de una transmisión y otros, sino de los medios ex215 y ex216 de grabación, tal como un disco magnético, un disco óptico y una tarjeta SD. A continuación, se describirá una configuración en la que el televisor ex300 codifica una señal de audio y una señal de vídeo, y transmite los datos al exterior o escribe los datos en un medio de grabación. En el televisor ex300, tras una operación del usuario a través del control ex220 remoto y otros, la unidad ex304 de procesamiento de señales de audio codifica una señal de audio, y la unidad ex305 de procesamiento de señales de vídeo codifica una señal de vídeo, bajo control de la unidad ex310 de control mediante el procedimiento de codificación descrito en cada una de las realizaciones. La unidad ex303 de multiplexación/demultiplexación multiplexa la señal de vídeo y la señal de audio codificadas, y proporciona la señal resultante al exterior. Cuando la unidad ex303 de multiplexación/demultiplexación multiplexa la señal de vídeo y la señal de audio, las señales pueden almacenarse temporalmente en las memorias ex320 y ex321 intermedias, y otras para que las señales se reproduzcan en sincronización entre sí. En este punto, las memorias ex318, ex319, ex320 y ex321 intermedias pueden ser plurales como se ilustra, o al menos una memoria intermedia puede compartirse en el televisor ex300. Adicionalmente, se pueden almacenar datos en una memoria intermedia de modo que puede evitarse el desbordamiento y subdesbordamiento del sistema entre la unidad ex302 de modulación/demodulación y la unidad ex303 de multiplexación/demultiplexación, por ejemplo.
Adicionalmente, el televisor ex300 puede incluir una configuración para recibir una entrada de AV desde un micrófono o una cámara distinta de la configuración para obtener datos de audio y de vídeo desde una difusión o de un medio
de grabación, y puede codificar los datos obtenidos. Aunque el televisor ex300 puede codificar, multiplexar y proporcionar datos externos en la descripción, puede ser capaz de solo recibir, decodificar y proporcionar datos externos pero no la codificación, multiplexación y suministro de datos externos.
Adicionalmente, cuando el lector/grabador ex218 lee o escribe datos multiplexados desde o en un medio de grabación, uno del televisor ex300 y el lector/grabador ex218 pueden decodificar o codificar los datos multiplexados, y el televisor ex300 y el lector/grabador ex218 pueden compartir la decodificación o codificación.
A modo de ejemplo, la Figura 28 ilustra una configuración de una unidad ex400 de reproducción/grabación de información cuando se leen o escriben datos desde o en un disco óptico. La unidad ex400 de reproducción/grabación de información incluye los elementos ex401, ex402, ex403, ex404, ex405, ex406 y ex407 constitutivos que se describirán más adelante. El cabezal ex401 óptico irradia un punto láser en una superficie de grabación del medio ex215 de grabación que es un disco óptico para escribir información, y detecta luz reflejada desde la superficie de grabación del medio ex215 de grabación para leer la información. La unidad ex402 de grabación de modulación acciona eléctricamente un láser de semiconductores incluido en el cabezal ex401 óptico, y modula la luz de láser de acuerdo con datos grabados. La unidad ex403 de demodulación de reproducción amplifica una señal de reproducción obtenida detectando eléctricamente la luz reflejada desde la superficie de grabación mediante un fotodetector incluido en el cabezal ex401 óptico, y demodula la señal de reproducción separando un componente de señal grabado en el medio ex215 de grabación para reproducir la información necesaria. La memoria ex404 intermedia mantiene temporalmente la información a grabarse en el medio ex215 de grabación y la información reproducida desde el medio ex215 de grabación. El motor ex405 de disco gira el medio ex215 de grabación. La unidad ex406 de servocontrol mueve el cabezal ex401 óptico a una pista de información predeterminada mientras controla el mecanismo de rotación del motor ex405 de disco para seguir el punto láser. La unidad ex407 de control de sistema controla la totalidad de la unidad ex400 de reproducción/grabación de información. La unidad ex407 de control de sistema puede implementar los procedimientos de lectura y escritura utilizando diversa información almacenada en la memoria ex404 intermedia y generando y agregando nueva información según sea necesario, y mediante la unidad ex402 de grabación de modulación, la unidad ex403 de demodulación de reproducción y la unidad ex406 de servocontrol que graban y reproducen información a través del cabezal ex401 óptico mientras se opera de forma coordinada. La unidad ex407 de control de sistema incluye, por ejemplo, un microprocesador, y ejecuta el procesamiento al hacer que una computadora ejecute un programa de lectura y escritura.
Aunque el cabezal ex401 óptico irradia un punto láser en la descripción, Puede realizar grabaciones de alta densidad utilizando luz de campo cercano.
La Figura 29 ilustra el medio ex215 de grabación que es el disco óptico. En la superficie de grabación del medio ex215 de grabación, las ranuras de guía se forman en espiral, y se graba la pista ex230 de información, por adelantado, 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 posiciones de bloques ex231 de grabación que son una unidad para grabar datos. Reproducir la pista ex230 de información y leer la información de dirección en un aparato que graba y reproduce datos puede conducir a la determinación de las posiciones de los bloques de grabación. Adicionalmente, el medio ex215 de grabación incluye un área ex233 de grabación de datos, un área ex232 de circunferencia interna y un área ex234 de circunferencia externa. El área ex233 de grabación de datos es un área para su uso al grabar los datos de usuario. El área ex232 de circunferencia interna y el área ex234 de circunferencia externa que están dentro y fuera del área ex233 de grabación de datos, respectivamente son para uso específico, excepto para grabar los datos del usuario. La unidad 400 de reproducción/grabación de información lee y escribe audio codificado, datos de vídeo codificados, o datos multiplexados obtenidos al multiplexar los datos de audio y vídeo codificados, desde y sobre el área ex233 de grabación de datos del medio ex215 de grabación.
Aunque un disco óptico tiene una capa, como un DVD y un BD se describe como un ejemplo en la descripción, el disco óptico no está limitado a eso, y puede ser un disco óptico que tiene una estructura multicapa y puede grabarse en una parte que no sea la superficie. Adicionalmente, el disco óptico puede tener una estructura para grabación/reproducción multidimensional, tal como la grabación de información mediante luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y para grabar información que tiene diferentes capas desde varios ángulos.
Adicionalmente, un coche ex210 que tiene una antena ex205 puede recibir datos desde el satélite ex202 y otros, y reproducir vídeo en un dispositivo de visualización tal como un sistema ex211 de navegación de coche establecido en el coche ex210, en el sistema ex200 de difusión digital. En este punto, una configuración del sistema ex211 de navegación de coche tendrá una configuración, por ejemplo, que incluye una unidad receptora GPS de la configuración ilustrada en la Figura 27. Lo mismo será cierto para la configuración del ordenador ex111, el teléfono ex114 celular y otros.
La Figura 30A ilustra el teléfono ex114 celular que usa el procedimiento de codificación de instantáneas en movimiento y el procedimiento de decodificación de instantáneas en movimiento descritos en las realizaciones. El teléfono ex114 celular incluye: una antena ex350 para transmitir y recibir ondas de radio a través de la estación ex110 base; una unidad ex365 de cámara capaz de capturar instantáneas en movimiento y fijas; y una unidad ex358 de visualización tal como un visualizador de cristal líquido para visualizar datos tales como vídeo decodificado capturado por la unidad ex365 de cámara o recibido por la antena ex350. El teléfono ex114 celular incluye además: una unidad principal del
cuerpo que incluye una unidad ex366 de tecla de operación; una unidad ex357 de salida de audio tal como un altavoz para la salida de audio; una unidad ex356 de entrada de audio tal como un micrófono para la entrada de audio; una unidad ex367 de memoria para almacenar vídeo capturado o imágenes fijas, audio grabado, datos codificados o decodificados del vídeo recibido, instantáneas fijas, correos electrónicos u otros; y una unidad ex364 de ranura que es una unidad de interfaz para un medio de grabación que almacena datos de la misma forma que la unidad ex367 de memoria.
A continuación, un ejemplo de una configuración del teléfono ex114 celular se describirá con referencia a la Figura 30B. En el teléfono ex114 celular, una unidad ex360 de control principal diseñada para controlar en general cada unidad del cuerpo principal, incluida la unidad ex358 de visualización, así como la unidad ex366 de tecla de operación están conectadas entre sí, a través de un bus ex370 síncrono, a una unidad ex361 de circuito de fuente de alimentación, una unidad ex362 de control de entrada de operación, una unidad ex355 de procesamiento de señales de vídeo, una unidad ex363 de interfaz de cámara, una unidad ex359 de control de pantalla de cristal líquido (LCD), una unidad ex352 de modulación/demodulación, una unidad ex353 de multiplexación/demultiplexación, una unidad ex354 de procesamiento de señales de audio, la unidad ex364 de ranura y la unidad ex367 de memoria.
Cuando la operación de un usuario enciende una tecla de fin de llamada o una tecla de encendido, la unidad ex361 de circuito de fuente de alimentación suministra a las unidades respectivas potencia de un paquete de baterías para activar el teléfono ex114 celular.
En el teléfono ex114 celular, la unidad ex354 de procesamiento de señales de audio convierte las señales de audio recogidas por la unidad ex356 de entrada de audio en modo de conversación por voz en señales de audio digital bajo el control de la unidad ex360 de control principal que incluye una CPU, ROM y RAM. A continuación, la unidad ex352 de modulación/demodulación realiza un procesamiento de espectro extendido en las señales de audio digital, y la unidad ex351 de transmisión y recepción 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. También, en el teléfono ex114 celular, la unidad ex351 de transmisión y de recepción amplifica los datos recibidos por la antena ex350 en modo de conversación por voz y realiza la conversión en frecuencia y la conversión de digital a analógico en los datos. A continuación, la unidad ex352 de modulación/demodulación realiza un procesamiento inverso de espectro ensanchado en los datos, y la unidad ex354 de procesamiento de señales de audio lo convierte en señales de audio analógicas, para enviarlas a través de la unidad ex357 de salida de audio.
Adicionalmente, cuando se transmite un correo electrónico en modo de comunicación de datos, los datos de texto del correo electrónico ingresado al operar la unidad ex366 de tecla de operación y otros del cuerpo principal se envían a la unidad ex360 de control principal a través de la unidad ex362 de control de entrada de operación. La unidad ex360 de control principal da lugar a que la unidad ex352 de modulación/demodulación realice un procesamiento de espectro ensanchado sobre los datos de texto, y la unidad ex351 de transmisión y de recepción realiza la conversión de analógico a digital y la conversión en frecuencia sobre los datos resultantes para transmitir los datos a la estación ex110 base por medio de la antena ex350. Cuando se recibe un correo electrónico, un procesamiento que es aproximadamente inverso al procesamiento para transmitir un correo electrónico se realiza sobre los datos recibidos, y los datos resultantes se proporcionan a la unidad ex358 de visualización.
Cuando el vídeo, imágenes fijas, o vídeo y audio en modo de comunicación de datos se transmite o se transmiten, la unidad ex355 de procesamiento de señales de vídeo comprime y codifica las señales de vídeo suministradas desde la unidad ex365 de cámara mediante el procedimiento de codificación de instantáneas 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 vídeo codificados a la unidad ex353 de multiplexación/demultiplexación. Por el contrario, cuando la unidad ex365 de cámara captura vídeo, imágenes fijas, y otras, la unidad ex354 de procesamiento de señales de audio codifica las señales de audio recogidas por la unidad ex356 de entrada de audio, y transmite los datos de audio codificados a la unidad ex353 de multiplexación/demultiplexación.
La unidad ex353 de multiplexación/demultiplexación multiplexa los datos de vídeo codificados suministrados desde la unidad ex355 de procesamiento de señales de vídeo y los datos de audio codificados suministrados desde la unidad ex354 de procesamiento de señales de audio, utilizando un procedimiento predeterminado. A continuación, la unidad ex352 de modulación/demodulación (unidad de circuito de modulación/demodulación) realiza un procesamiento de espectro ensanchado sobre los datos multiplexados, y la unidad ex351 de transmisión y de recepción realiza una conversión de analógico a digital y una conversión en frecuencia sobre los datos con el fin de transmitir los datos resultantes por medio de la antena ex350.
Al recibir datos de un archivo de vídeo que está vinculado a una página web y a otros en modo de comunicación de datos o al recibir un correo electrónico con vídeo y/o audio adjunto, para decodificar los datos multiplexados recibidos a través de la antena ex350, la unidad ex353 de multiplexación/demultiplexación demultiplexa los datos multiplexados en un flujo de bits de datos de vídeo y un flujo de bits de datos de audio, y suministra a la unidad ex355 de procesamiento de señales de vídeo los datos de vídeo codificados y la unidad ex354 de procesamiento de señales de audio con los datos de audio codificados, a través del bus ex370 síncrono. La unidad ex355 de procesamiento de señales de vídeo decodifica la señal de vídeo mediante un procedimiento de decodificación de instantáneas en
movimiento correspondiente al procedimiento de codificación de instantáneas 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 ex358 de visualización muestra, por ejemplo, el vídeo y las imágenes fijas incluidas en el archivo de vídeo vinculado a la página web a través de la unidad ex359 de control lCd . Adicionalmente, la unidad ex354 de procesamiento de señales de audio decodifica la señal de audio, y la unidad ex357 de salida de audio proporciona el audio.
Adicionalmente, de manera similar al televisor ex300, un terminal como el teléfono ex114 celular probablemente tenga 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, pero también (ii) un terminal transmisor que incluye solo un aparato de codificación y (iii) un terminal receptor que incluye solo un aparato de decodificación. Aunque el sistema ex200 de difusión digital recibe y transmite los datos multiplexados obtenidos al multiplexar datos de audio en datos de vídeo en la descripción, los datos multiplexados pueden ser datos obtenidos al multiplexar no datos de audio sino datos de caracteres relacionados con vídeo en datos de vídeo, y pueden no ser datos multiplexados sino datos de vídeo en sí.
En consecuencia, el procedimiento de codificación de instantáneas en movimiento y el procedimiento de decodificación de instantáneas en movimiento en cada una de las realizaciones se pueden usar en cualquiera de los dispositivos y sistemas descritos. Por tanto, se pueden obtener las ventajas descritas en cada una de las realizaciones.
Adicionalmente, se pueden realizar diversas modificaciones y revisiones en cualquiera de las realizaciones de la presente invención.
[Realización 4]
Los datos de vídeo se pueden generar conmutando, según sea necesario, entre (i) el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento mostrado en cada una de las realizaciones y (ii) un procedimiento de codificación de instantáneas en movimiento o un aparato de codificación de instantáneas en movimiento de acuerdo con una norma diferente, como MPEG-2, MPEG-4 AVC y VC-1.
En este punto, cuando se genera una pluralidad de datos de vídeo que se ajusta a las diferentes normas y después se decodifica, los procedimientos de decodificación deben seleccionarse para cumplir con las diferentes normas. Sin embargo, puesto que no se puede detectar a qué norma se ajusta cada uno de la pluralidad de datos de vídeo que se va a decodificar, existe el problema de que no se puede seleccionar un procedimiento de decodificación apropiado.
Para resolver el problema, los datos multiplexados obtenidos multiplexando datos de audio y otros en datos de vídeo tienen una estructura que incluye información de identificación que indica a qué norma se ajustan los datos de vídeo. Se describirá en lo sucesivo la estructura específica de los datos multiplexados que incluyen los datos de vídeo generados en el procedimiento de codificación de instantáneas en movimiento y por el aparato de codificación de instantáneas en movimiento mostrados en cada una de las realizaciones. Los datos multiplexados son una secuencia digital en el formato de secuencia de Transporte de MPEG-2.
La Figura 31 ilustra una estructura de los datos multiplexados. Como se ilustra en la Figura 31, los datos multiplexados se pueden obtener multiplexando al menos uno de una secuencia de vídeo, una secuencia de audio, una secuencia de gráficos de presentación (PG) y una secuencia de gráficos interactivos. La transmisión de vídeo representa el vídeo primario y el vídeo secundario de una película, la secuencia de audio (IG) representa una parte de audio primaria y una parte de audio secundaria que se mezclará con la parte de audio primaria, y la secuencia de gráficos de presentación representa los subtítulos de la película. En este punto, el vídeo primario es vídeo normal a visualizarse en una pantalla, y el vídeo secundario es vídeo a visualizarse en una ventana más pequeña en el vídeo primario. Adicionalmente, la secuencia de gráficos interactivo representa una pantalla interactiva a generarse disponiendo los componentes de la GUI en una pantalla. la secuencia de vídeo se codifica en el procedimiento de codificación de instantáneas en movimiento o por el aparato de codificación de instantáneas en movimiento mostrado en cada una de las realizaciones, o en un procedimiento de codificación de instantáneas en movimiento o por un aparato de codificación de instantáneas en movimiento de acuerdo con una norma convencional, como MPEG-2, MPEG-4 AVC y VC-1. la secuencia de audio se codifica de acuerdo con una norma, como Dolby-AC-3, Dolby
Cada secuencia incluida en los datos multiplexados se identifica por PID. Por ejemplo, 0x1011 se asigna a la secuencia de vídeo que se utilizará para el vídeo de una película, 0x1100 a 0x111F se asignan a las secuencias de audio, 0x1200 a 0x121F se asignan a las secuencias de gráficos de presentación, 0x1400 a 0x141F se asignan a las secuencias de gráficos interactivos, 0x1B00 a 0x1B1F se asignan a las secuencias de vídeo que se utilizarán para el vídeo secundario de la película, y 0x1A00 a 0x1A1F se asignan a las secuencias de audio para que el audio secundario se mezcle con el audio primario.
La Figura 32 ilustra esquemáticamente cómo se multiplexan datos. En primer lugar, una secuencia ex235 de vídeo compuesto por tramas de vídeo y una secuencia ex238 de audio compuesto por tramas de audio se transforman en una secuencia ex236 de paquetes de PES y una secuencia ex239 de paquetes de PES, y adicionalmente en paquetes ex237 de TS y paquetes ex240 de TS, respectivamente. De forma similar, los datos de una secuencia ex241 de gráficos de presentación y los datos de una secuencia ex244 de gráficos interactivo se transforman en una secuencia
ex242 de paquetes de PES y una secuencia ex245 de paquetes de PES, y adicionalmente en paquetes ex243 de TS y paquetes ex246 de TS, respectivamente. Estos paquetes de TS se multiplexan en una secuencia para obtener datos ex247 multiplexados.
La Figura 33 ilustra cómo se almacena una secuencia de vídeo en una secuencia de paquetes de PES en más detalle. La primera barra en la Figura 33 muestra una secuencia de tramas de vídeo en una secuencia de vídeo. La segunda barra muestra la secuencia de paquetes de PES. Como lo indican las flechas indicadas como yy1, yy2, yy3 e yy4 en la Figura 33, la secuencia de vídeo se divide en instantáneas como instantáneas I, instantáneas B e instantáneas P, cada una de las que es una unidad de presentación de vídeo, y las imágenes se almacenan en una carga útil de cada uno de los paquetes PES. Cada uno de los paquetes de PES tiene un encabezado de PES, y el encabezado de PES almacena una Indicación de Tiempo de Presentación (PTS) que indica un tiempo de visualización de la instantánea, y una Indicación de Tiempo de decodificación (DTS) que indica un tiempo de decodificación de la instantánea.
La Figura 34 ilustra un formato de paquetes de TS que se va a escribir finalmente en los datos multiplexados. Cada uno de los paquetes TS es un paquete de longitud fija de 188 bytes que incluye un encabezado TS de 4 bytes con información, como un PID para identificar una secuencia y una carga útil TS de 184 bytes para almacenar datos. Los paquetes de PES se dividen y se almacenan en las cargas útiles de TS, respectivamente. Cuando se usa un BD ROM, cada uno de los paquetes TS recibe un Encabezado_TP_Adicional de 4 bytes, resultando así en paquetes de origen de 192 bytes. Los paquetes de origen se escriben en los datos multiplexados. El Encabezado_TP_Adicional almacena información tal como una Marca_Tiempo_Llegada (ATS). La ATS muestra un tiempo de inicio de transferencia en el que se ha de transferir cada uno de los paquetes de TS a un filtro de PID. Los paquetes de origen se disponen en los datos multiplexados como se muestra en la parte inferior de la Figura 34. Los números que incrementan desde el encabezado de los datos multiplexados se denominan números de paquete de origen (SPN).
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no solo secuencias de audio, vídeo, subtítulos y otros, sino también una Tabla de Asociación de Programas (PAT), una Tabla de Mapa de Programa (PMT), y una Referencia de Reloj de Programa (PCR). La PAT muestra qué indica un PID en una PMT usada en los datos multiplexados, y una PID de la misma PAT se graba como cero. La PMT almacena los PID de las secuencias de vídeo, audio, subtítulos y otros incluidos en los datos multiplexados, y la información de atributos de las secuencias correspondientes a los PID. La PMT también tiene diversos descriptores relacionados con los datos multiplexados. Los descriptores tienen información tal como información de control de copia que muestra si se permite o no el copiado de los datos multiplexados. La PCR almacena la información de tiempo STC correspondiente a un ATS que muestra cuándo se transfiere 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 Figura 35 ilustra la estructura de datos de la PMT en detalle. un encabezado de PMT se dispone en la parte superior de la PMT. El encabezado de PMT describe la longitud de datos incluidos en la PMT y otros. Una pluralidad de descriptores relacionados con los datos multiplexados se dispone después del encabezado de PMT. La información tal como la información de control de copia se describe en los descriptores. Después de los descriptores, se dispone una pluralidad de fragmentos de la información de secuencia relacionados con las secuencias incluidos en los datos multiplexados. Cada fragmento de información de secuencia incluye descriptores de secuencia, cada uno de los que describe información, como un tipo de secuencia para identificar un códec de compresión de una secuencia, un PID de secuencia y la información de atributos de secuencia (como una velocidad de tramas o una relación de aspecto). Los descriptores de secuencia son iguales en número al número de secuencias en los datos multiplexados.
Cuando los datos multiplexados se graban en un medio de grabación y otros, se graba junto con archivos de información de datos multiplexados.
Cada uno de los ficheros de información de datos multiplexados es información de gestión de los datos multiplexados como se muestra en la Figura 36. Los archivos de información de datos multiplexados están en correspondencia uno a uno con los datos multiplexados, y cada uno de los archivos incluye información de datos multiplexados, información de atributo de secuencia, y un mapa de entrada.
Como se ilustra en la Figura 36, la información de datos multiplexados incluye una velocidad del sistema, un tiempo de inicio de reproducción y un tiempo de fin de reproducción. La velocidad de sistema indica la velocidad de trasferencia máxima a la que un decodificador objetivo de sistema que se va a describir más adelante transfiere los datos multiplexados a un filtro de PID. Los intervalos de las ATS incluidas en los datos multiplexados se establecen para que no sean superiores a una velocidad de sistema. El tiempo de inicio de reproducción indica una PTS en una trama de vídeo en el encabezado de los datos multiplexados. Un intervalo de una trama se añade a una PTS en una trama de vídeo al final de los datos multiplexados, y la PTS se establece al tiempo de fin de reproducción.
Como se muestra en la Figura 37, un fragmento de información de atributo se graba en la información de atributo de secuencia, para cada PID de cada secuencia incluido en los datos multiplexados. Cada fragmento de información de atributo tiene información diferente dependiendo de si la secuencia correspondiente es una secuencia de vídeo, una secuencia de audio, una secuencia de gráficos de presentación o una secuencia de gráficos interactivos. Cada fragmento de información de atributo de transmisión de vídeo contiene información que incluye qué tipo de códec de
compresión se utiliza para comprimir la secuencia de vídeo y la resolución, relación de aspecto y velocidad de tramas de los datos de instantánea que se incluyen en la secuencia de vídeo. Cada fragmento de información de atributo de transmisión de audio contiene información que incluye qué tipo de códec de compresión se utiliza para comprimir la secuencia de audio, cuántos canales están incluidos en la secuencia de audio, qué idioma admite la secuencia de audio y qué tan alta es la frecuencia de muestreo. La información de atributo de secuencia de vídeo y la información de atributo de secuencia de audio se usan para inicialización de un decodificador antes de que el reproductor reproduzca la información.
En la presente realización, los datos multiplexados a usar son de un tipo de secuencia incluido en la PMT. Adicionalmente, cuando los datos multiplexados se graban en un medio de grabación, se usa la información de atributo de secuencia de vídeo incluida en la información de datos multiplexados. Más específicamente, el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descrito en cada una de las realizaciones incluye un paso o una unidad para asignar información única que indica datos de vídeo generados por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento en cada una de las realizaciones, al tipo de transmisión incluido en el PMT o la información de atributo de transmisión de vídeo. Con la configuración, los datos de vídeo generados por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones pueden distinguirse de los datos de vídeo que se ajustan a otra norma.
Adicionalmente, la Figura 38 ilustra las etapas del procedimiento de decodificación de instantáneas en movimiento de acuerdo con la presente realización. En la Etapa exS100, el tipo de secuencia incluido en la PMT o la información de atributo de secuencia de vídeo incluido en la información de datos multiplexados se obtiene desde los datos multiplexados. A continuación, en la Etapa exS101, se determina si el tipo de secuencia o la información de atributo de secuencia de vídeo indica o no que los datos multiplexados se generan por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento en cada una de las realizaciones. Cuando se determina que el tipo de secuencia o la información de atributo de secuencia de vídeo indica que los datos multiplexados se generan por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento en cada una de las realizaciones, en la Etapa exS102, la decodificación se realiza mediante el procedimiento de decodificación de instantáneas en movimiento en cada una de las realizaciones. Adicionalmente, cuando el tipo de transmisión o la información de atributo de transmisión de vídeo indica conformidad con las normas convencionales, como MPEG-2, MPEG-4 AVC y VC-1, en la Etapa exS103, la decodificación se realiza mediante un procedimiento de decodificación de instantáneas en movimiento de acuerdo con las normas convencionales.
En consecuencia, asignar un nuevo valor único al tipo de secuencia o la información de atributo de secuencia de vídeo posibilita la determinación de si el procedimiento de decodificación de instantáneas en movimiento o el aparato de decodificación de instantáneas en movimiento que se describen en cada una de las realizaciones puede realizar o no la decodificación. Incluso cuando se ingresan datos multiplexados que se ajustan a una norma diferente, se puede seleccionar un procedimiento o aparato de decodificación apropiado. Por tanto, se hace posible decodificar información sin error alguno. Adicionalmente, el procedimiento o aparato de codificación de instantáneas en movimiento, o el procedimiento o aparato de decodificación de instantáneas en movimiento en la presente realización se puede usar en los dispositivos y sistemas anteriormente descritos.
[Realización 5]
Cada uno de los procedimientos de codificación de instantáneas en movimiento, del aparato de codificación de instantáneas en movimiento, del procedimiento de decodificación de instantáneas en movimiento, y del aparato de decodificación de instantáneas en movimiento en cada una de las realizaciones se consigue normalmente en forma de un circuito integrado o un circuito integrado a gran escala (LSI). Como ejemplo de LSI, la Figura 39 ilustra una configuración del LSI ex500 que se hace en un chip. El LSI ex500 incluye los elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 que se describirán a continuación, y los elementos se conectan entre sí a través de un bus ex510. La unidad ex505 de circuito de fuente de alimentación se activa suministrando potencia a cada uno de los elementos cuando se activa la unidad ex505 de circuito de fuente de alimentación.
Por ejemplo, cuando se realiza la codificación, el LSI ex500 recibe una señal AV de un micrófono ex117, una cámara ex113 y otras a través de una ES ex509 AV bajo el control de una unidad ex501 de control que incluye una CPU ex502, un controlador ex503 de memoria, un controlador ex504 de secuencia y una unidad ex512 de control de frecuencia de accionamiento. La señal de AV recibida se almacena temporalmente en una memoria ex511externa, como una SDRAM. Bajo control de la unidad ex501 de control, los datos almacenados se segmentan en porciones de datos de acuerdo con la cantidad de procesamiento y la velocidad a transmitir a una unidad ex507 de procesamiento de señales. A continuación, la unidad ex507 de procesamiento de señales codifica una señal de audio y/o una señal de vídeo. En este punto, la codificación de la señal de vídeo es la codificación descrita en cada una de las realizaciones. Adicionalmente, la unidad ex507 de procesamiento de señales multiplexa en ocasiones los datos de audio codificados y los datos de vídeo codificados, y una ES ex506 de secuencia proporciona los datos multiplexados al exterior. Los datos multiplexados proporcionados se transmiten a la estación ex107 base, o se escriben en el medio ex215 de grabación. Cuando los conjuntos de datos se multiplexan, los datos deben almacenarse temporalmente en la memoria ex508 intermedia para que los conjuntos de datos se sincronicen entre sí.
Aunque la memoria ex511 es un elemento externo al LSI ex500, se puede incluir en el LSI ex500. La memoria ex508 intermedia no se limita a una memoria intermedia, sino que puede estar compuesta por memorias intermedias. Adicionalmente, el LSI ex500 puede estar fabricado en un chip o una pluralidad de chips.
Adicionalmente, aunque la unidad ex501 de control incluye la CPU ex502, el controlador ex503 de memoria, el controlador ex504 de secuencia, la unidad ex512 de control de frecuencia de accionamiento, la configuración de la unidad ex501 de control no se limita a esto. Por ejemplo, la unidad ex507 de procesamiento de señales puede incluir adicionalmente una CPU. La inclusión de otra CPU en la unidad ex507 de procesamiento de señales puede mejorar la velocidad de procesamiento. Adicionalmente, a modo de otro ejemplo, la CPU ex502 puede servir o ser parte de la unidad ex507 de procesamiento de señales, y por ejemplo, puede incluir una unidad de procesamiento de señales de audio. En un caso de este tipo, la unidad ex501 de control incluye la unidad ex507 de procesamiento de señales o la CPU ex502 que incluye una parte de la unidad ex507 de procesamiento de señales.
El nombre usado aquí es LSI, pero también puede denominarse IC, sistema LSI, super LSI o ultra LSI dependiendo del grado de integración.
Más aún, las maneras para conseguir la integración no se limitan al LSI, y un circuito especial o un procesador de propósito general y así sucesivamente pueden conseguir también la integración. El Campo de Matriz de Puertas Programables (FPGa ) que puede programarse después de la fabricación de LSI o un procesador reconfigurable que permite la re-configuración de la conexión o configuración de un LSI puede usarse para el mismo fin.
En el futuro, con avance en la tecnología de semiconductores, una tecnología completamente nueva puede reemplazar a LSI. Los bloques funcionales pueden integrarse mediante una tecnología de este tipo. La posibilidad es que la presente invención se aplique en biotecnología.
[Realización 6]
Cuando se decodifican datos de vídeo generados en el procedimiento de codificación de instantáneas en movimiento 0 por el aparato de codificación de instantáneas en movimiento descrito en cada una de las realizaciones, en comparación a cuando los datos de vídeo se ajustan a una norma convencional, como MPEG-2, MPEG-4 AVC y VC-1 se decodifican, la cantidad de procesamiento probablemente aumenta. Por tanto, el LSI ex500 necesita establecer una frecuencia de accionamiento más alta que la de la CPU ex502 a usarse cuando se decodifican datos de vídeo de acuerdo con la norma convencional. Sin embargo, cuando la frecuencia de accionamiento es más alta, existe el problema de que aumenta el consumo de energía.
Para resolver el problema, el aparato de decodificación de instantáneas en movimiento, como el televisor ex300 y el LSI ex500 está configurado para determinar a qué norma se establecen los datos de vídeo y conmutar entre las frecuencias de accionamiento de acuerdo con la norma determinada. La Figura 40 ilustra una configuración ex800 en la presente realización. Una unidad ex803 de conmutación de frecuencia de accionamiento establece una frecuencia de accionamiento a una frecuencia de accionamiento superior cuando se generan datos de vídeo por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones. A continuación, la unidad ex803 de conmutación de frecuencia de accionamiento ordena a la unidad ex801 de procesamiento de decodificación que ejecute el procedimiento de decodificación de instantáneas en movimiento descrito en cada una de las realizaciones para decodificar los datos de vídeo. Cuando los datos de vídeo se ajustan a la norma convencional, la unidad ex803 de conmutación de frecuencia de accionamiento establece una frecuencia de accionamiento a una frecuencia de accionamiento inferior a la de los datos de vídeo generados por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones. A continuación, la unidad ex803 de conmutación de frecuencia de accionamiento ordena a la unidad ex802 de procesamiento de decodificación que se ajusta a la norma convencional que decodifique los datos de vídeo.
Más específicamente, la unidad ex803 de conmutación de frecuencia de accionamiento incluye la CPU ex502 y la unidad ex512 de control de frecuencia de accionamiento en la Figura 39. En este punto, cada una de la unidad ex801 de procesamiento de decodificación que ejecuta el procedimiento de decodificación de instantáneas en movimiento descrito en cada una de las realizaciones y la unidad ex802 de procesamiento de decodificación que se ajusta a la norma convencional se corresponden con la unidad ex507 de procesamiento de señales en la Figura 39. La CPU ex502 determina a qué norma se ajustan los datos de vídeo. A continuación, la unidad ex512 de control de frecuencia de accionamiento determina una frecuencia de accionamiento basándose en una señal desde la CPU ex502. Adicionalmente, la unidad ex507 de procesamiento de señales decodifica los datos de vídeo basándose en la señal desde la CPU ex502. Por ejemplo, la información de identificación descrita en la Realización 4 se usa probablemente para identificar los datos de vídeo. La información de identificación no se limita a la descrita en la Realización 4 sino que puede ser cualquier información siempre que la información indique a qué norma se establecen los datos de vídeo. Por ejemplo, cuando los datos de vídeo norma se pueden determinar en función de una señal externa para determinar que los datos de vídeo se utilizan para un televisor o un disco, etc., La determinación puede hacerse basándose en dicha señal externa. Adicionalmente, la CPU ex502 selecciona una frecuencia de accionamiento basándose en, por ejemplo, una tabla de consulta en la que las normas de los datos de vídeo están asociados con las frecuencias de accionamiento como se muestra en la Figura 42. La frecuencia de accionamiento puede seleccionarse almacenando
la tabla de búsqueda en la memoria intermedia ex508 y en una memoria interna de un LSI, y con referencia a la tabla de búsqueda por la CPU ex502.
La Figura 41 ilustra etapas para ejecutar un procedimiento en la presente realización. En primer lugar, en la Etapa exS200, la unidad ex507 de procesamiento de señales 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 vídeo se generan o no mediante el procedimiento de codificación y el aparato de codificación descrito en cada una de las realizaciones, basándose en la información de identificación. Cuando los datos de vídeo se generan mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descrito en cada una de las realizaciones, en la Etapa exS202, la CPU ex502 transmite una señal para establecer la frecuencia de accionamiento a una frecuencia de accionamiento más alta a la unidad ex512 de control de frecuencia de accionamiento. A continuación, la unidad ex512 de control de frecuencia de accionamiento establece la frecuencia de accionamiento a la frecuencia de accionamiento más alta. Por otro lado, cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, como MPEG-2, MPEG-4 AVC y VC-1, en la Etapa exS203, la CPU ex502 transmite una señal para establecer la frecuencia de accionamiento a una frecuencia de accionamiento más baja a la unidad ex512 de control de frecuencia de accionamiento. A continuación, la unidad ex512 de control de frecuencia de accionamiento establece la frecuencia de accionamiento a la frecuencia de accionamiento inferior que la de en el caso en el que los datos de vídeo se generan por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones.
Adicionalmente, junto con el cambio de las frecuencias de accionamiento, el efecto de conservación de energía puede mejorarse cambiando la tensión que se aplicará al LSI ex500 o a un aparato que incluya el LSI ex500. Por ejemplo, cuando la frecuencia de accionamiento es más baja, la tensión que se va a aplicar al LSI ex500 o al aparato que incluye el LSI ex500 probablemente se establece a una tensión inferior que en el caso en el que la frecuencia de accionamiento se establece más alta.
Adicionalmente, cuando la cantidad de procesamiento para la decodificación es mayor, la frecuencia de accionamiento puede establecerse más alta, y cuando la cantidad de procesamiento para la decodificación es menor, la frecuencia de accionamiento puede establecerse más baja como procedimiento para establecer la frecuencia de accionamiento. Por tanto, el procedimiento de ajuste no se limita a los anteriormente descritos. Por ejemplo, cuando la cantidad de procesamiento para decodificar datos de vídeo de acuerdo con MPEG-4 AVC es mayor que la cantidad de procesamiento para decodificar datos de vídeo generados por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descrito en cada una de las realizaciones, la frecuencia de accionamiento probablemente esté configurada en orden inverso al ajuste descrito anteriormente.
Adicionalmente, el procedimiento para establecer la frecuencia de accionamiento no se limita al procedimiento para establecer la frecuencia de accionamiento más baja. Por ejemplo, cuando la información de identificación indica que los datos de vídeo se generan mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descrito en cada una de las realizaciones, la tensión que se aplicará al LSI ex500 o al aparato que incluye el LSI ex500 probablemente se establezca más alta. Cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, como MPEG-2, MPEG-4 AVC y VC-1, la tensión que se aplicará al LSI ex500 o al aparato que incluye el LSI ex500 probablemente se establezca más baja. A modo de otro ejemplo, cuando la información de identificación indica que los datos de vídeo se generan mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descrito en cada una de las realizaciones, El accionamiento de la CPU ex502 probablemente no deba suspenderse. Cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, como MPEG-2, MPEG-4 AVC y VC-1, el accionamiento de la CPU ex502 se suspende probablemente 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 vídeo se generan mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descrito en cada una de las realizaciones, en el caso en que la CPU ex502 tenga capacidad de procesamiento adicional, el accionamiento de la CPU ex502 se suspenda probablemente en un momento dado. En un caso de este tipo, el tiempo de suspensión probablemente se establezca más corto que en el caso en que la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, como MPEG-2, MPEG-4 AVC y VC-1.
Por consiguiente, el efecto de conservación de potencia puede mejorarse conmutando entre las frecuencias de accionamiento de acuerdo con la norma a la que se ajustan los datos de vídeo. Adicionalmente, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se acciona con una batería, la duración de la batería se puede extender con el efecto de ahorro de energía.
[Realización 7]
Hay casos en que una pluralidad de datos de vídeo que se ajusta a diferentes normas, se proporciona a los dispositivos y sistemas, como un televisor y un teléfono celular. Para permitir la decodificación de la pluralidad de datos de vídeo que se ajusta a las diferentes normas, La unidad ex507 de procesamiento de señales del LSI ex500 debe cumplir con las diferentes normas. Sin embargo, los problemas de aumento en la escala del circuito del LSI ex500 y el aumento en el coste surgen con el uso individual de las unidades ex507 de procesamiento de señales que se ajustan a las
normas respectivas.
Para resolver el problema, lo que se concibe es una configuración en la que la unidad de procesamiento de decodificación para implementar el procedimiento de decodificación de instantáneas en movimiento descrito en cada una de las realizaciones y la unidad de procesamiento de decodificación que se ajusta a la norma convencional, como MPEG-2, MPEG-4 AVC y VC-1 se comparten parcialmente. Ex900 en la Figura 43A muestra un ejemplo de la configuración. Por ejemplo, el procedimiento de decodificación de instantáneas en movimiento descrito en cada una de las realizaciones y el procedimiento de decodificación de instantáneas en movimiento que se ajusta a MPEG-4 AVC tienen, parcialmente en común, los detalles del procesamiento, como la codificación de entropía, cuantificación inversa, filtrado de desbloqueo y predicción compensada de movimiento. Los detalles del procesamiento que se va a compartir incluyen probablemente el uso de una unidad ex902 de procesamiento de decodificación que se ajusta a MPEG-4 AVC. Por el contrario, una unidad ex901 de procesamiento de decodificación especializada probablemente se usa para otro procesamiento único para un aspecto de la presente invención. Puesto que el aspecto de la presente invención se caracteriza por la cuantificación inversa en particular, por ejemplo, la unidad ex901 de procesamiento de decodificación dedicada se utiliza para la cuantificación inversa. En caso contrario, la unidad de procesamiento de decodificación probablemente se comparte para una de las decodificaciones de entropía, filtrado de desbloqueo y compensación de movimiento, o todo el procesamiento. La unidad de procesamiento de decodificación para implementar el procedimiento de decodificación de instantáneas en movimiento descrita en cada una de las realizaciones puede compartirse para el procesamiento a compartirse, y una unidad de procesamiento de decodificación especializada puede usarse para procesamiento único al de MPEG-4 AVC.
Adicionalmente, Adicionalmente, ex1000 en la Figura 43B muestra otro ejemplo en el que el procesamiento se comparte parcialmente. Este ejemplo utiliza una configuración que incluye una unidad ex1001 de procesamiento de decodificación dedicada que admite el procesamiento exclusivo de un aspecto de la presente invención, una unidad ex1002 de procesamiento de decodificación dedicada que admite el procesamiento exclusivo de otro norma convencional, y una unidad ex1003 de procesamiento de decodificación que admite el procesamiento a compartir entre el procedimiento de decodificación de instantáneas en movimiento de acuerdo con el aspecto de la presente invención y el procedimiento de decodificación de instantáneas en movimiento convencional. En este punto, las unidades ex1001 y ex1002 de procesamiento de decodificación dedicadas no están necesariamente especializadas para el procesamiento de acuerdo con el aspecto de la presente invención y el procesamiento de la norma convencional, respectivamente, y pueden ser aquellas capaces de implementar el procesamiento general. Adicionalmente, la configuración de la presente realización puede implementarse por el LSI ex500.
En consecuencia, reducir la escala del circuito de un LSI y reducir el coste son posibles compartiendo la unidad de procesamiento de decodificación para el procesamiento a compartirse entre el procedimiento de decodificación de instantáneas en movimiento de acuerdo con el aspecto de la presente invención y el procedimiento de decodificación de instantáneas en movimiento cumpliendo con la norma convencional.
rAplicabilidad industrial!
El procedimiento de decodificación de imágenes y el procedimiento de codificación de imágenes de acuerdo con un aspecto de la presente invención es ventajosamente aplicable a un procedimiento de codificación de instantáneas en movimiento y a un procedimiento de decodificación de instantáneas en movimiento.
[Lista de signos de referencia!
100 aparato de codificación de imágenes
101 sustractor
102 unidad de transformación ortogonal
103 unidad de cuantificación
104, unidad de cuantificación inversa
105, 303 unidad de transformación ortogonal inversa
106, sumador
107, memoria de bloques
108, 306 memoria de tramas
109, 307 unidad de intra-predicción
110, unidad de inter-predicción
, 309 unidad de control de inter-predicción
, conmutador
, 311 unidad de cálculo de candidato a bloque de fusión , 312 memoria colPic
unidad de codificación de longitud variable aparato de decodificación de imágenes unidad de decodificación de longitud variable
Claims (2)
1. Un procedimiento de decodificación de imágenes para decodificar un bloque actual de datos de instantánea incluidos en un flujo de bits codificado, comprendiendo el procedimiento:
obtener (S112) una lista de candidatos fusionados basándose en bloques vecinos y colocados del bloque actual, indicando cada candidato de fusión una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia;
eliminar (S113) candidatos de fusión idénticos y candidatos de fusión que no son utilizables para la fusión de la lista de candidatos de fusión;
determinar (S131) si un número de candidatos de fusión en la lista de candidatos de fusión después de la etapa (S113) de eliminación es menor que un número fijo, y, si es así,
agregar (S133) nuevos candidatos de fusión a la lista de candidatos de fusión hasta que el número de candidatos de fusión sea igual al número fijo, indicando los candidatos de fusión recién agregados un vector de movimiento cero;
decodificar (S304), del flujo de bits codificado, un índice de candidato de fusión que indica un candidato de fusión de la lista de candidatos de fusión; y
decodificar (S306) el bloque actual de datos de instantánea basándose en la dirección de predicción, el vector de movimiento y el índice de instantánea de referencia indicado por el candidato de fusión indicado;
en el que los candidatos de fusión recién agregados incluyen al menos dos candidatos de fusión que indican el mismo índice de instantánea de referencia y la misma dirección de predicción.
2. Un aparato de decodificación de imágenes para decodificar un bloque actual de datos de instantánea incluido en un flujo de bits codificado, comprendiendo el aparato:
una unidad de obtención de candidatos de fusión configurada para
obtener (S112) una lista de candidatos de fusión basándose en bloques vecinos y colocados del bloque actual, indicando cada candidato de fusión una dirección de predicción, un vector de movimiento y un índice de instantánea de referencia,
eliminar (S113) candidatos de fusión idénticos y candidatos de fusión que no son utilizables para la fusión de la lista de candidatos de fusión,
determinar (S131) si un número de candidatos de fusión en la lista de candidatos de fusión después de la etapa (S113) de eliminación es menor que un número fijo, y, si es así,
agregar (S133) nuevos candidatos de fusión a la lista de candidatos de fusión hasta que el número de candidatos de fusión sea igual al número fijo, indicando los candidatos de fusión recién agregados un vector de movimiento cero; y
una unidad de decodificación configurada para
decodificar (S304), del flujo de bits codificado, un índice de candidato de fusión que indica un candidato de fusión de la lista de candidatos de fusión; y
decodificar (S306) el bloque actual de datos de instantánea basándose en la dirección de predicción, el vector de movimiento y el índice de instantánea de referencia indicado por el candidato de fusión indicado;
en el que los candidatos de fusión recién agregados incluyen al menos dos candidatos de fusión que indican el mismo índice de instantánea de referencia y la misma dirección de predicción.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201161503074P | 2011-06-30 | 2011-06-30 | |
| PCT/JP2012/004189 WO2013001818A1 (ja) | 2011-06-30 | 2012-06-28 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、および、画像符号化復号装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2781868T3 true ES2781868T3 (es) | 2020-09-08 |
Family
ID=47390674
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES12804429T Active ES2781868T3 (es) | 2011-06-30 | 2012-06-28 | 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 |
Country Status (13)
| Country | Link |
|---|---|
| US (2) | US20130003850A1 (es) |
| EP (1) | EP2728878B1 (es) |
| JP (4) | JP5937594B2 (es) |
| KR (1) | KR101900986B1 (es) |
| CN (2) | CN103535039B (es) |
| BR (1) | BR112013029425B1 (es) |
| CA (1) | CA2836063C (es) |
| ES (1) | ES2781868T3 (es) |
| MX (1) | MX2013013029A (es) |
| MY (1) | MY181718A (es) |
| PL (1) | PL2728878T3 (es) |
| TW (1) | TW201311006A (es) |
| WO (1) | WO2013001818A1 (es) |
Families Citing this family (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012177052A2 (ko) | 2011-06-21 | 2012-12-27 | 한국전자통신연구원 | 인터 예측 방법 및 그 장치 |
| KR20120140592A (ko) * | 2011-06-21 | 2012-12-31 | 한국전자통신연구원 | 움직임 보상의 계산 복잡도 감소 및 부호화 효율을 증가시키는 방법 및 장치 |
| JP5807621B2 (ja) * | 2011-06-30 | 2015-11-10 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法および送信プログラム |
| KR20130030181A (ko) * | 2011-09-16 | 2013-03-26 | 한국전자통신연구원 | 움직임 벡터 예측기를 이용한 움직임 벡터 부호화/복호화 방법 및 장치 |
| US9083983B2 (en) * | 2011-10-04 | 2015-07-14 | Qualcomm Incorporated | Motion vector predictor candidate clipping removal for video coding |
| US9872016B2 (en) | 2011-10-19 | 2018-01-16 | Hfi Innovation Inc. | Method and apparatus for derivation of motion vector predictor candidate set |
| US9571833B2 (en) * | 2011-11-04 | 2017-02-14 | Nokia Technologies Oy | Method for coding and an apparatus |
| EP2847996B1 (en) * | 2012-05-09 | 2020-10-07 | Sun Patent Trust | Method of performing motion vector prediction, encoding and decoding methods, and apparatuses thereof |
| US9930363B2 (en) * | 2013-04-12 | 2018-03-27 | Nokia Technologies Oy | Harmonized inter-view and view synthesis prediction for 3D video coding |
| KR102108321B1 (ko) | 2013-10-11 | 2020-05-08 | 삼성전자주식회사 | 영상 구동 장치, 영상 구동 장치를 포함하는 전자 장치 및 영상 구동 방법 |
| WO2015180014A1 (en) * | 2014-05-26 | 2015-12-03 | Mediatek Singapore Pte. Ltd. | An improved merge candidate list construction method for intra block copy |
| CN104363451B (zh) | 2014-10-27 | 2019-01-25 | 华为技术有限公司 | 图像预测方法及相关装置 |
| JP6601729B2 (ja) * | 2014-12-03 | 2019-11-06 | パナソニックIpマネジメント株式会社 | データ生成方法、データ再生方法、データ生成装置及びデータ再生装置 |
| JP6677243B2 (ja) * | 2015-03-19 | 2020-04-08 | 日本電気株式会社 | 映像符号化装置、映像符号化方法およびプログラム |
| US10462479B2 (en) | 2015-07-10 | 2019-10-29 | Nec Corporation | Motion picture encoding device, motion picture encoding method, and storage medium storing motion picture encoding program |
| WO2018066982A1 (ko) * | 2016-10-04 | 2018-04-12 | 김기백 | 영상 데이터 부호화/복호화 방법 및 장치 |
| FI3975559T3 (fi) * | 2016-10-04 | 2024-09-13 | B1 Institute Image Technology Inc | Menetelmä ja laitteisto kuvadatan koodaamiseksi/dekoodaamiseksi |
| US11229861B2 (en) | 2017-04-13 | 2022-01-25 | Airrat Pty Ltd | Sludge harvester improvements |
| CN109089119B (zh) * | 2017-06-13 | 2021-08-13 | 浙江大学 | 一种运动矢量预测的方法及设备 |
| US11064217B2 (en) * | 2017-09-18 | 2021-07-13 | Intellectual Discovery Co., Ltd. | Method and apparatus for coding video using merging candidate list according to block division |
| CN118042123A (zh) | 2017-09-29 | 2024-05-14 | Lx 半导体科技有限公司 | 图像编码/解码方法、存储介质以及图像数据的传输方法 |
| CN110710210B (zh) * | 2017-10-20 | 2023-08-04 | 株式会社Kt | 视频信号处理方法及装置 |
| CN110662070B (zh) | 2018-06-29 | 2022-03-18 | 北京字节跳动网络技术有限公司 | 用于查找表更新的编码的运动信息的选择 |
| EP4325862A3 (en) | 2018-06-29 | 2024-03-06 | Beijing Bytedance Network Technology Co., Ltd. | Checking order of motion candidates in lut |
| KR102641872B1 (ko) | 2018-06-29 | 2024-02-29 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Lut와 amvp 사이의 상호작용 |
| WO2020003282A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Managing motion vector predictors for video coding |
| WO2020003279A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks |
| JP7460617B2 (ja) | 2018-06-29 | 2024-04-02 | 北京字節跳動網絡技術有限公司 | Lut更新条件 |
| TWI723445B (zh) | 2018-06-29 | 2021-04-01 | 大陸商北京字節跳動網絡技術有限公司 | 查找表的更新:fifo、約束的fifo |
| CN110662054B (zh) | 2018-06-29 | 2023-01-06 | 北京字节跳动网络技术有限公司 | 用于视频处理的方法、装置、计算机可读存储介质 |
| WO2020008351A1 (en) | 2018-07-02 | 2020-01-09 | Beijing Bytedance Network Technology Co., Ltd. | Luts with lic |
| US20200014931A1 (en) * | 2018-07-06 | 2020-01-09 | Mediatek Inc. | Methods and Apparatuses of Generating an Average Candidate for Inter Picture Prediction in Video Coding Systems |
| US10924731B2 (en) * | 2018-08-28 | 2021-02-16 | Tencent America LLC | Complexity constraints on merge candidates list construction |
| TWI820211B (zh) | 2018-09-12 | 2023-11-01 | 大陸商北京字節跳動網絡技術有限公司 | 取決於總數減去k的開始檢查hmvp候選的條件 |
| EP3850837A4 (en) * | 2018-09-17 | 2022-06-01 | HFI Innovation Inc. | Methods and apparatuses of combining multiple predictors for block prediction in video coding systems |
| CN112840653B (zh) * | 2018-10-06 | 2023-12-26 | 寰发股份有限公司 | 视频编解码中共享合并候选列表区域的方法和装置 |
| MX2021004020A (es) * | 2018-10-08 | 2021-06-30 | Huawei Tech Co Ltd | Aparatos y metodos para interprediccion de una particion geometrica de un bloque de codificacion. |
| US11196988B2 (en) | 2018-12-17 | 2021-12-07 | Apple Inc. | Reference picture management and list construction |
| CN113228640B (zh) * | 2018-12-21 | 2024-07-26 | 三星电子株式会社 | 用于对视频进行解码的方法和设备以及用于对视频进行编码的方法和设备 |
| EP3905687B1 (en) | 2018-12-28 | 2023-12-13 | Godo Kaisha IP Bridge 1 | Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method and image decoding program |
| WO2020133518A1 (zh) | 2018-12-29 | 2020-07-02 | 深圳市大疆创新科技有限公司 | 视频处理方法和设备 |
| KR102648159B1 (ko) | 2019-01-10 | 2024-03-18 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Lut 업데이트의 호출 |
| CN113383554B (zh) | 2019-01-13 | 2022-12-16 | 北京字节跳动网络技术有限公司 | LUT和共享Merge列表之间的交互 |
| WO2020147773A1 (en) | 2019-01-16 | 2020-07-23 | Beijing Bytedance Network Technology Co., Ltd. | Inserting order of motion candidates in lut |
| CN113615193B (zh) | 2019-03-22 | 2024-06-25 | 北京字节跳动网络技术有限公司 | Merge列表构建和其他工具之间的交互 |
| US20220264142A1 (en) * | 2019-07-24 | 2022-08-18 | Sharp Kabushiki Kaisha | Image decoding apparatus, image coding apparatus, and image decoding method |
Family Cites Families (147)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US129561A (en) * | 1872-07-16 | Improvement in electro-magnetic vapor-baths | ||
| DE3883701T2 (de) | 1987-10-30 | 1994-02-10 | Nippon Telegraph & Telephone | Verfahren und Vorrichtung für multiplexierte Vektorquantifizierung. |
| FR2725577B1 (fr) | 1994-10-10 | 1996-11-29 | Thomson Consumer Electronics | Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede |
| US5995080A (en) | 1996-06-21 | 1999-11-30 | Digital Equipment Corporation | Method and apparatus for interleaving and de-interleaving YUV pixel data |
| JP3263807B2 (ja) | 1996-09-09 | 2002-03-11 | ソニー株式会社 | 画像符号化装置および画像符号化方法 |
| US6148026A (en) * | 1997-01-08 | 2000-11-14 | At&T Corp. | Mesh node coding to enable object based functionalities within a motion compensated transform video coder |
| JPH10224800A (ja) | 1997-02-07 | 1998-08-21 | Matsushita Electric Ind Co Ltd | 動きベクトル符号化方法および復号化方法 |
| JP4004653B2 (ja) | 1998-08-03 | 2007-11-07 | カスタム・テクノロジー株式会社 | 動きベクトル検出方法および装置、記録媒体 |
| US6192148B1 (en) | 1998-11-05 | 2001-02-20 | Winbond Electronics Corp. | Method for determining to skip macroblocks in encoding video |
| US6192080B1 (en) | 1998-12-04 | 2001-02-20 | Mitsubishi Electric Research Laboratories, Inc. | Motion compensated digital video signal processing |
| US6594313B1 (en) | 1998-12-23 | 2003-07-15 | Intel Corporation | Increased video playback framerate in low bit-rate video applications |
| JP4487374B2 (ja) | 1999-06-01 | 2010-06-23 | ソニー株式会社 | 符号化装置及び符号化方法並びに多重化装置及び多重化方法 |
| US6842483B1 (en) | 2000-09-11 | 2005-01-11 | The Hong Kong University Of Science And Technology | Device, method and digital video encoder for block-matching motion estimation |
| JP2002152750A (ja) | 2000-11-10 | 2002-05-24 | Matsushita Electric Ind Co Ltd | 動きベクトル検出方法および装置 |
| ES2725714T3 (es) | 2001-11-06 | 2019-09-26 | Panasonic Ip Corp America | Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento |
| JP4015934B2 (ja) * | 2002-04-18 | 2007-11-28 | 株式会社東芝 | 動画像符号化方法及び装置 |
| JP2004088722A (ja) | 2002-03-04 | 2004-03-18 | Matsushita Electric Ind Co Ltd | 動画像符号化方法および動画像復号化方法 |
| ES2644005T3 (es) * | 2002-04-19 | 2017-11-27 | Panasonic Intellectual Property Corporation Of America | Procedimiento de cálculo de vectores de movimiento |
| WO2003090475A1 (en) | 2002-04-19 | 2003-10-30 | Matsushita Electric Industrial Co., Ltd. | Method for calculating motion vector |
| TWI259726B (en) | 2002-04-19 | 2006-08-01 | Matsushita Electric Industrial Co Ltd | Motion vector derivation method |
| US20040001546A1 (en) | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
| CN1666532A (zh) | 2002-07-02 | 2005-09-07 | 松下电器产业株式会社 | 图像编码方法和图像解码方法 |
| US8406301B2 (en) * | 2002-07-15 | 2013-03-26 | Thomson Licensing | Adaptive weighting of reference pictures in video encoding |
| MXPA04002265A (es) | 2002-07-11 | 2004-06-29 | Matsushita Electric Ind Co Ltd | Metodo de determinacion de resistencia de filtracion, metodo de codificacion de pelicula y metodo de decodificacion de pelicula. |
| AU2003281133A1 (en) | 2002-07-15 | 2004-02-02 | Hitachi, Ltd. | Moving picture encoding method and decoding method |
| US7154952B2 (en) | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
| US7023921B2 (en) | 2002-08-06 | 2006-04-04 | Motorola, Inc. | Method and apparatus for determining block match quality |
| KR100506864B1 (ko) | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
| CN1685732B (zh) | 2002-11-01 | 2010-10-13 | 松下电器产业株式会社 | 画像编码方法及装置、画像解码方法及装置 |
| CN101141651B (zh) | 2002-11-25 | 2010-11-10 | 松下电器产业株式会社 | 动态补偿方法、图像编码方法及图像解码方法 |
| EP1595405B1 (en) | 2003-02-18 | 2019-12-04 | Nokia Technologies Oy | Method and device for transmitting media data in nal units over rtp |
| KR100693669B1 (ko) * | 2003-03-03 | 2007-03-09 | 엘지전자 주식회사 | 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법 |
| US7266147B2 (en) | 2003-03-31 | 2007-09-04 | Sharp Laboratories Of America, Inc. | Hypothetical reference decoder |
| BRPI0412539A (pt) | 2003-07-15 | 2006-09-19 | Thomson Licensing | estimativa de movimento com comparação de blocos de busca rápida |
| US7426308B2 (en) | 2003-07-18 | 2008-09-16 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
| KR100579542B1 (ko) | 2003-07-29 | 2006-05-15 | 삼성전자주식회사 | 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법 |
| WO2005013201A1 (en) | 2003-08-05 | 2005-02-10 | Koninklijke Philips Electronics N.V. | Video encoding and decoding methods and corresponding devices |
| US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
| CN1225127C (zh) | 2003-09-12 | 2005-10-26 | 中国科学院计算技术研究所 | 一种用于视频编码的编码端/解码端双向预测方法 |
| FR2860678A1 (fr) | 2003-10-01 | 2005-04-08 | Thomson Licensing Sa | Procede de codage differentiel |
| GB2407006A (en) | 2003-10-08 | 2005-04-13 | Sony Uk Ltd | Communicating streamed payload data and packet based auxiliary data |
| JP3675464B2 (ja) | 2003-10-29 | 2005-07-27 | ソニー株式会社 | 動画像符号化装置および動画像符号化制御方法 |
| TWI330976B (en) * | 2003-12-05 | 2010-09-21 | Trident Microsystems Far East | Method and apparatus for encoding/decoding dynamic graphic content |
| US7301482B1 (en) * | 2003-12-12 | 2007-11-27 | Marvell International Ltd. | Circuits, architectures, systems, methods, algorithms and software for conditional modulation coding |
| JP2005184042A (ja) * | 2003-12-15 | 2005-07-07 | Sony Corp | 画像復号装置及び画像復号方法並びに画像復号プログラム |
| KR100608050B1 (ko) * | 2004-01-14 | 2006-08-02 | 삼성전자주식회사 | 사용자의 요구에 의해 활성화되는 인터랙티브 그래픽스트림을 저장한 저장 매체, 재생 장치 및 그 재생 방법 |
| US8175444B2 (en) | 2004-01-14 | 2012-05-08 | Samsung Electronics Co., Ltd. | Method of reproducing from storage medium storing interactive graphics stream activated in response to user's command |
| EP1583367A1 (en) * | 2004-03-30 | 2005-10-05 | Matsushita Electric Industrial Co., Ltd. | Motion estimation employing line and column vectors |
| DE602004030993D1 (de) | 2004-04-30 | 2011-02-24 | Panasonic Corp | Bewegungsschätzung unter Verwendung von adaptiven räumlichen Verfeinerungsvektoren |
| JP4145275B2 (ja) | 2004-07-27 | 2008-09-03 | 富士通株式会社 | 動きベクトル検出・補償装置 |
| TWI250423B (en) | 2004-07-30 | 2006-03-01 | Ind Tech Res Inst | Method for processing video images |
| TWI268715B (en) | 2004-08-16 | 2006-12-11 | Nippon Telegraph & Telephone | Picture encoding method, picture decoding method, picture encoding apparatus, and picture decoding apparatus |
| EP1638333A1 (en) | 2004-09-17 | 2006-03-22 | Mitsubishi Electric Information Technology Centre Europe B.V. | Rate adaptive video coding |
| JP4375305B2 (ja) | 2004-10-26 | 2009-12-02 | ソニー株式会社 | 情報処理装置および情報処理方法、記録媒体、並びに、プログラム |
| JP4148228B2 (ja) | 2005-02-10 | 2008-09-10 | ソニー株式会社 | 画像記録装置、画像再生制御装置、画像記録再生制御装置、これらの装置の処理方法およびその方法をコンピュータに実行させるプログラム |
| US7660354B2 (en) | 2005-05-11 | 2010-02-09 | Fang Shi | Temporal error concealment for bi-directionally predicted frames |
| US8761258B2 (en) | 2005-06-17 | 2014-06-24 | The Hong Kong University Of Science And Technology | Enhanced block-based motion estimation algorithms for video compression |
| US9661376B2 (en) | 2005-07-13 | 2017-05-23 | Polycom, Inc. | Video error concealment method |
| EP1753242A2 (en) | 2005-07-18 | 2007-02-14 | Matsushita Electric Industrial Co., Ltd. | Switchable mode and prediction information coding |
| US7697783B2 (en) | 2005-07-26 | 2010-04-13 | Sony Corporation | Coding device, coding method, decoding device, decoding method, and programs of same |
| US20070025444A1 (en) | 2005-07-28 | 2007-02-01 | Shigeyuki Okada | Coding Method |
| JP2008011455A (ja) | 2006-06-30 | 2008-01-17 | Sanyo Electric Co Ltd | 符号化方法 |
| JP4401336B2 (ja) | 2005-08-31 | 2010-01-20 | 三洋電機株式会社 | 符号化方法 |
| JP4570532B2 (ja) | 2005-08-02 | 2010-10-27 | パナソニック株式会社 | 動き検出装置、動き検出方法、集積回路およびプログラム |
| US20070030894A1 (en) | 2005-08-03 | 2007-02-08 | Nokia Corporation | Method, device, and module for improved encoding mode control in video encoding |
| JP2007142637A (ja) | 2005-11-16 | 2007-06-07 | Matsushita Electric Ind Co Ltd | 画像情報符号化装置 |
| WO2007092215A2 (en) | 2006-02-02 | 2007-08-16 | Thomson Licensing | Method and apparatus for adaptive weight selection for motion compensated prediction |
| WO2007092192A2 (en) * | 2006-02-02 | 2007-08-16 | Thomson Licensing | Method and apparatus for motion estimation using combined reference bi-prediction |
| US20070200949A1 (en) | 2006-02-21 | 2007-08-30 | Qualcomm Incorporated | Rapid tuning in multimedia applications |
| JP4757080B2 (ja) | 2006-04-03 | 2011-08-24 | パナソニック株式会社 | 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置 |
| US7672377B2 (en) * | 2006-04-21 | 2010-03-02 | Dilithium Holdings, Inc. | Method and system for video encoding and transcoding |
| CN101090491B (zh) | 2006-06-16 | 2016-05-18 | 香港科技大学 | 用于视频压缩的增强的基于块的运动估计算法 |
| KR20070120416A (ko) | 2006-06-19 | 2007-12-24 | 엘지전자 주식회사 | 비디오 신호 디코딩 방법 및 장치, 비디오 신호 인코딩방법 및 장치 |
| WO2007148906A1 (en) | 2006-06-19 | 2007-12-27 | Lg Electronics, Inc. | Method and apparatus for processing a vedeo signal |
| US8250618B2 (en) | 2006-09-18 | 2012-08-21 | Elemental Technologies, Inc. | Real-time network adaptive digital video encoding/decoding |
| DE102006043707A1 (de) * | 2006-09-18 | 2008-03-27 | Robert Bosch Gmbh | Verfahren zur Datenkompression in einer Videosequenz |
| US8213509B2 (en) | 2006-10-06 | 2012-07-03 | Calos Fund Limited Liability Company | Video coding on parallel processing systems |
| US8565314B2 (en) | 2006-10-12 | 2013-10-22 | Qualcomm Incorporated | Variable length coding table selection based on block type statistics for refinement coefficient coding |
| US9319700B2 (en) | 2006-10-12 | 2016-04-19 | Qualcomm Incorporated | Refinement coefficient coding based on history of corresponding transform coefficient values |
| US8325819B2 (en) | 2006-10-12 | 2012-12-04 | Qualcomm Incorporated | Variable length coding table selection based on video block type for refinement coefficient coding |
| US8599926B2 (en) | 2006-10-12 | 2013-12-03 | Qualcomm Incorporated | Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers |
| US8355438B2 (en) | 2006-10-30 | 2013-01-15 | Nippon Telegraph And Telephone Corporation | Predicted reference information generating method, video encoding and decoding methods, apparatuses therefor, programs therefor, and storage media which store the programs |
| JP2008199587A (ja) | 2007-01-18 | 2008-08-28 | Matsushita Electric Ind Co Ltd | 画像符号化装置、画像復号化装置および方法 |
| JP5025286B2 (ja) | 2007-02-28 | 2012-09-12 | シャープ株式会社 | 符号化装置及び復号装置 |
| TW200845758A (en) | 2007-05-03 | 2008-11-16 | Nat Univ Chung Cheng | Fast intra coding algorithms for dynamic definition adjustment |
| KR101403341B1 (ko) | 2007-03-28 | 2014-06-09 | 삼성전자주식회사 | 영상의 부호화, 복호화 방법 및 장치 |
| CN101682769B (zh) * | 2007-04-12 | 2016-11-09 | 汤姆森特许公司 | 用于视频编码和解码的跳过-直接模式的取决于环境的合并的方法和装置 |
| CN101663899A (zh) | 2007-04-26 | 2010-03-03 | 松下电器产业株式会社 | 运动检测装置、运动检测方法、以及运动检测程序 |
| JP2008283490A (ja) | 2007-05-10 | 2008-11-20 | Ntt Docomo Inc | 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム |
| US9516340B2 (en) | 2007-06-12 | 2016-12-06 | Thomson Licensing | Methods and apparatus supporting multi-pass video syntax structure for slice data |
| KR101495886B1 (ko) | 2007-07-19 | 2015-02-26 | 한국전자통신연구원 | 하향링크 프레임 생성 방법 및 셀 탐색 방법 |
| EP2621172A3 (en) | 2007-10-16 | 2013-12-04 | LG Electronics, Inc. | A method and an apparatus for processing a video signal |
| KR101228020B1 (ko) | 2007-12-05 | 2013-01-30 | 삼성전자주식회사 | 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치 |
| CN101198064A (zh) | 2007-12-10 | 2008-06-11 | 武汉大学 | 一种分辨率分层技术中的运动矢量预测方法 |
| KR20090095012A (ko) | 2008-03-04 | 2009-09-09 | 삼성전자주식회사 | 연속적인 움직임 추정을 이용한 영상 부호화, 복호화 방법및 장치 |
| WO2009115901A2 (en) | 2008-03-19 | 2009-09-24 | Nokia Corporation | Combined motion vector and reference index prediction for video coding |
| JP5452584B2 (ja) | 2008-04-11 | 2014-03-26 | トムソン ライセンシング | ビデオ符号化及び復号化におけるテンプレート・マッチング予測(tmp)のための方法及び装置 |
| EP2288163B1 (en) | 2008-05-07 | 2015-07-01 | Lg Electronics Inc. | Method and apparatus for decoding video signal |
| PT104083A (pt) * | 2008-06-02 | 2009-12-02 | Inst Politecnico De Leiria | Método para transcodificar imagens de vídeo h.264/avc em mpeg-2 |
| BRPI0924265A2 (pt) | 2009-02-05 | 2016-01-26 | Thomson Licensing | métodos e equipamento para codificação e decodificação de vídeo de modo adaptativo |
| CN101931803B (zh) | 2009-06-26 | 2013-01-09 | 华为技术有限公司 | 视频图像运动信息获取方法、装置及设备、模板构造方法 |
| KR101452859B1 (ko) | 2009-08-13 | 2014-10-23 | 삼성전자주식회사 | 움직임 벡터를 부호화 및 복호화하는 방법 및 장치 |
| US9060176B2 (en) | 2009-10-01 | 2015-06-16 | Ntt Docomo, Inc. | Motion vector prediction in video coding |
| CN102577389A (zh) | 2009-10-16 | 2012-07-11 | 夏普株式会社 | 运动图像编码装置和运动图像解码装置 |
| TWI566586B (zh) | 2009-10-20 | 2017-01-11 | 湯姆生特許公司 | 一序列形象的現時區塊之寫碼方法和重建方法 |
| KR101459714B1 (ko) | 2009-10-28 | 2014-11-13 | 에스케이텔레콤 주식회사 | 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
| KR101441905B1 (ko) | 2009-11-18 | 2014-09-24 | 에스케이텔레콤 주식회사 | 후보 예측 움직임 벡터 집합 선택을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
| JPWO2011061880A1 (ja) | 2009-11-19 | 2013-04-04 | 三菱電機株式会社 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
| WO2011064673A1 (en) | 2009-11-30 | 2011-06-03 | France Telecom | Method of and apparatus for encoding video frames, method of and apparatus for decoding video frames |
| CN101860754B (zh) * | 2009-12-16 | 2013-11-13 | 香港应用科技研究院有限公司 | 运动矢量编码和解码的方法和装置 |
| US9036692B2 (en) | 2010-01-18 | 2015-05-19 | Mediatek Inc. | Motion prediction method |
| BR112012019560B1 (pt) * | 2010-02-05 | 2021-08-24 | Telefonaktiebolaget Lm Ericsson | Método para gerenciar candidatos a vetor de movimento predito, e, aparelhos de codificação e de decodificação de vídeo |
| US8995527B2 (en) | 2010-02-19 | 2015-03-31 | Qualcomm Incorporated | Block type signalling in video coding |
| US20130003843A1 (en) | 2010-03-12 | 2013-01-03 | Mediatek Singapore Pte. Ltd. | Motion Prediction Method |
| CN102210910B (zh) | 2010-04-02 | 2013-02-13 | 重庆融海超声医学工程研究中心有限公司 | 一种超声换能器 |
| KR101752418B1 (ko) | 2010-04-09 | 2017-06-29 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
| HUE072457T2 (hu) | 2010-05-04 | 2025-11-28 | Lg Electronics Inc | Eljárás bitfolyam dekódolására és kódolására |
| US9124898B2 (en) | 2010-07-12 | 2015-09-01 | Mediatek Inc. | Method and apparatus of temporal motion vector prediction |
| CN106412603B (zh) | 2010-09-02 | 2019-08-06 | Lg电子株式会社 | 编码和解码视频的方法和使用该方法的装置 |
| US10104391B2 (en) | 2010-10-01 | 2018-10-16 | Dolby International Ab | System for nested entropy encoding |
| JP2012109720A (ja) | 2010-11-16 | 2012-06-07 | Panasonic Corp | 画像変換装置、画像再生装置及び画像変換方法 |
| US8824558B2 (en) * | 2010-11-23 | 2014-09-02 | Mediatek Inc. | Method and apparatus of spatial motion vector prediction |
| US8976873B2 (en) | 2010-11-24 | 2015-03-10 | Stmicroelectronics S.R.L. | Apparatus and method for performing error concealment of inter-coded video frames |
| US8711940B2 (en) * | 2010-11-29 | 2014-04-29 | Mediatek Inc. | Method and apparatus of motion vector prediction with extended motion vector predictor |
| US9049455B2 (en) | 2010-12-28 | 2015-06-02 | Panasonic Intellectual Property Corporation Of America | Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block |
| PT2938082T (pt) * | 2011-01-07 | 2017-04-07 | Ntt Docomo Inc | Procedimento de codificação preditiva, dispositivo de codificação preditiva e programa de codificação preditiva de vector de movimento, assim como procedimento de descodificação preditiva, dispositivo de descodificação preditiva e programa de descodificação preditiva de vector de movimento |
| KR102125035B1 (ko) | 2011-01-07 | 2020-06-19 | 엘지전자 주식회사 | 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치 |
| WO2012095467A1 (en) | 2011-01-12 | 2012-07-19 | Canon Kabushiki Kaisha | Video encoding and decoding with low complexity |
| US9319716B2 (en) | 2011-01-27 | 2016-04-19 | Qualcomm Incorporated | Performing motion vector prediction for video coding |
| US9066110B2 (en) * | 2011-03-08 | 2015-06-23 | Texas Instruments Incorporated | Parsing friendly and error resilient merge flag coding in video coding |
| CN103392340B (zh) | 2011-03-14 | 2017-02-08 | 寰发股份有限公司 | 推导运动向量预测子的方法与装置 |
| US9866859B2 (en) * | 2011-06-14 | 2018-01-09 | Texas Instruments Incorporated | Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding |
| US9648334B2 (en) | 2011-03-21 | 2017-05-09 | Qualcomm Incorporated | Bi-predictive merge mode based on uni-predictive neighbors in video coding |
| US9143795B2 (en) | 2011-04-11 | 2015-09-22 | Texas Instruments Incorporated | Parallel motion estimation in video coding |
| RU2719308C2 (ru) | 2011-04-12 | 2020-04-17 | Сан Пэтент Траст | Способ кодирования движущихся изображений, устройство кодирования движущихся изображений, способ декодирования движущихся изображений, устройство декодирования движущихся изображений и устройство кодирования и декодирования движущихся изображений |
| EP4224861B1 (en) | 2011-05-24 | 2025-10-08 | Sun Patent Trust | Image encoding method, image encoding apparatus, image decoding method, and image decoding apparatus |
| PL2717575T3 (pl) | 2011-05-27 | 2019-03-29 | Sun Patent Trust | Sposób dekodowania obrazów i urządzenie do dekodowania obrazów |
| US9485518B2 (en) | 2011-05-27 | 2016-11-01 | Sun Patent Trust | Decoding method and apparatus with candidate motion vectors |
| SG194746A1 (en) | 2011-05-31 | 2013-12-30 | Kaba Gmbh | Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device |
| ES3075048T3 (es) | 2011-05-31 | 2026-07-27 | Sun Patent Trust | Procedimiento de descodificación de vídeo, dispositivo de descodificación de vídeo |
| CN106803956B (zh) | 2011-06-14 | 2020-05-01 | 三星电子株式会社 | 对图像进行解码的方法 |
| US9131239B2 (en) | 2011-06-20 | 2015-09-08 | Qualcomm Incorporated | Unified merge mode and adaptive motion vector prediction mode candidates selection |
| KR102365353B1 (ko) | 2011-06-30 | 2022-02-23 | 가부시키가이샤 제이브이씨 켄우드 | 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 |
| CN105430390B (zh) | 2011-06-30 | 2017-04-12 | Jvc建伍株式会社 | 图像解码装置、图像解码方法、接收装置及接收方法 |
| IN2014CN00729A (es) | 2011-08-03 | 2015-04-03 | Panasonic Corp | |
| CN103907346B (zh) | 2011-10-11 | 2017-05-24 | 联发科技股份有限公司 | 运动矢量预测子及视差矢量导出方法及其装置 |
| JP5870047B2 (ja) | 2013-01-08 | 2016-02-24 | 住友ゴム工業株式会社 | 空気入りタイヤ |
-
2012
- 2012-06-28 KR KR1020137030093A patent/KR101900986B1/ko active Active
- 2012-06-28 CN CN201280023179.1A patent/CN103535039B/zh active Active
- 2012-06-28 CN CN201611113107.2A patent/CN106851269B/zh active Active
- 2012-06-28 ES ES12804429T patent/ES2781868T3/es active Active
- 2012-06-28 MX MX2013013029A patent/MX2013013029A/es active IP Right Grant
- 2012-06-28 CA CA2836063A patent/CA2836063C/en active Active
- 2012-06-28 JP JP2013522447A patent/JP5937594B2/ja active Active
- 2012-06-28 EP EP12804429.4A patent/EP2728878B1/en active Active
- 2012-06-28 MY MYPI2013702134A patent/MY181718A/en unknown
- 2012-06-28 US US13/536,309 patent/US20130003850A1/en not_active Abandoned
- 2012-06-28 BR BR112013029425-6A patent/BR112013029425B1/pt active IP Right Grant
- 2012-06-28 PL PL12804429T patent/PL2728878T3/pl unknown
- 2012-06-28 WO PCT/JP2012/004189 patent/WO2013001818A1/ja not_active Ceased
- 2012-06-29 TW TW101123524A patent/TW201311006A/zh unknown
-
2015
- 2015-05-27 JP JP2015107910A patent/JP6145735B2/ja active Active
- 2015-05-29 US US14/725,180 patent/US10887585B2/en active Active
-
2016
- 2016-05-12 JP JP2016096563A patent/JP6145832B2/ja active Active
-
2017
- 2017-04-18 JP JP2017082045A patent/JP6340707B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| EP2728878B1 (en) | 2020-02-19 |
| JP6145832B2 (ja) | 2017-06-14 |
| US20130003850A1 (en) | 2013-01-03 |
| KR101900986B1 (ko) | 2018-09-20 |
| JP2017127033A (ja) | 2017-07-20 |
| US10887585B2 (en) | 2021-01-05 |
| TW201311006A (zh) | 2013-03-01 |
| US20150271489A1 (en) | 2015-09-24 |
| PL2728878T3 (pl) | 2020-06-15 |
| JP2015173498A (ja) | 2015-10-01 |
| CA2836063A1 (en) | 2013-01-03 |
| BR112013029425A8 (pt) | 2017-07-11 |
| JP2016174392A (ja) | 2016-09-29 |
| CN106851269B (zh) | 2019-11-15 |
| MX2013013029A (es) | 2013-12-02 |
| EP2728878A1 (en) | 2014-05-07 |
| WO2013001818A1 (ja) | 2013-01-03 |
| MY181718A (en) | 2021-01-05 |
| BR112013029425B1 (pt) | 2022-03-29 |
| JP5937594B2 (ja) | 2016-06-22 |
| BR112013029425A2 (pt) | 2017-01-31 |
| TWI562594B (es) | 2016-12-11 |
| JP6145735B2 (ja) | 2017-06-14 |
| CN106851269A (zh) | 2017-06-13 |
| KR20140043730A (ko) | 2014-04-10 |
| EP2728878A4 (en) | 2016-03-23 |
| JPWO2013001818A1 (ja) | 2015-02-23 |
| CN103535039A (zh) | 2014-01-22 |
| CA2836063C (en) | 2020-06-16 |
| CN103535039B (zh) | 2018-08-28 |
| JP6340707B2 (ja) | 2018-06-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2959874T3 (es) | Procedimiento de codificación de imágenes, aparato de codificación de imágenes, procedimiento de decodificación de imágenes, aparato de decodificación de imágenes | |
| ES2971526T3 (es) | Procedimiento de descodificación de vídeo, dispositivo de descodificación de vídeo | |
| KR101900986B1 (ko) | 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치, 및, 화상 부호화 복호 장치 | |
| ES2959039T3 (es) | Aparato, procedimiento y programa para codificar imágenes en movimiento | |
| JP6403125B2 (ja) | 復号方法および復号装置 | |
| ES2950029T3 (es) | Método de codificación de imágenes, dispositivo de codificación de imágenes, método de decodificación de imágenes, dispositivo de decodificación de imágenes y dispositivo de codificación/decodificación de imágenes | |
| ES2685945T3 (es) | Procedimiento de codificación de video de movimiento, y aparato de codificación de video de movimiento | |
| KR101888226B1 (ko) | 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호화 방법, 동화상 복호화 장치, 및, 동화상 부호화 복호화 장치 | |
| 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 | |
| KR102148435B1 (ko) | 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호화 방법, 동화상 복호화 장치, 및 동화상 부호화 복호화 장치 | |
| KR101790378B1 (ko) | 화상 부호화 방법, 화상 복호방법, 화상 부호화 장치, 화상 복호장치 및 화상 부호화 복호장치 | |
| ES2687685T3 (es) | Procedimiento de codificación de instantáneas en movimiento, dispositivo de codificación de instantáneas en movimiento, procedimiento de decodificación de instantáneas en movimiento, dispositivo de decodificación de instantáneas en movimiento y dispositivo de codificación-decodificación de instantáneas en movimiento | |
| ES2800049T3 (es) | Procedimientos y aparatos para codificar y decodificar vídeo utilizando una descripción actualizada de memoria intermedia | |
| JP5893570B2 (ja) | 画像符号化方法および画像復号化方法 | |
| ES2865101T3 (es) | Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes y dispositivo de codificación/decodificación de imágenes | |
| WO2013108613A1 (ja) | 動画像符号化方法、動画像復号化方法、動画像符号化装置、動画像復号化装置および動画像符号化復号化装置 |