ES2323482T3 - Dispositivo de codificacion de imagenes, metodo de codificacion de imagenes, dispositivo de descodificacion de imagenes, metodo de descodificacion de imagenes, y medio suministrador. - Google Patents
Dispositivo de codificacion de imagenes, metodo de codificacion de imagenes, dispositivo de descodificacion de imagenes, metodo de descodificacion de imagenes, y medio suministrador. Download PDFInfo
- Publication number
- ES2323482T3 ES2323482T3 ES98911112T ES98911112T ES2323482T3 ES 2323482 T3 ES2323482 T3 ES 2323482T3 ES 98911112 T ES98911112 T ES 98911112T ES 98911112 T ES98911112 T ES 98911112T ES 2323482 T3 ES2323482 T3 ES 2323482T3
- Authority
- ES
- Spain
- Prior art keywords
- vop
- time
- image
- coding
- base
- 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.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/177—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 a group of pictures [GOP]
-
- 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
-
- 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/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
- H04N19/29—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving scalability at the object level, e.g. video object layer [VOL]
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/93—Regeneration of the television signal or of selected parts thereof
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Numerical Control (AREA)
Abstract
Un descodificador de imágenes para descodificar una cadena de bits codificados, producida por la codificación de una imagen formada por una secuencia de objetos, siendo un objeto codificado por intra-codificación, un plano de objeto intra-vídeo (I-VOP), siendo un objeto codificado por intra-codificación o bien por codificación de predicción hacia delante, un VOP de predicción (P-VOP), y siendo un objeto codificado por intra-codificación, codificación de predicción hacia delante, codificación de predicción hacia atrás o codificación de predicción bidireccional, un VOP de predicción bidireccional (B-VOP), donde dichos VOP han sido agrupados en uno o más grupos (GOV), teniendo asociado cada grupo un orden de presentación, de acuerdo con el cual se presenta una pluralidad de VOP descodificados del correspondiente grupo al reproducir la imagen, y cada uno o más grupos comprende un código de tiempo del grupo que representa el tiempo absoluto correspondiente a un punto de sincronización asociado con un primer objeto en el orden de presentación del correspondiente grupo (GOV), comprendiendo el código de tiempo del grupo un valor de horas_código_tiempo que representa una unidad horaria de tiempo, un valor de minutos_código_tiempo que representa una unidad de tiempo en minutos, y un valor de segundos_código_tiempo que representa una unidad de tiempo en segundos del punto de sincronización, y comprendiendo cada VOP del grupo una información del tiempo con precisión de segundos (base_tiempos_ módulo) indicativa de un valor del tiempo en unidades de un segundo, e información detallada del tiempo (incremento_tiempo_VOP) indicativa de un valor del tiempo en unidades con precisión más fina que un segundo, como información representativa de un tiempo de presentación de dicho VOP, comprendiendo el descodificador de imágenes: medios receptores para recibir dicha cadena de bits codificados; un computador (36, 102) de tiempo de presentación para calcular dicho tiempo de presentación de dichos VOP, sumando dicha información de tiempo con precisión de un segundo (base_tiempos_módulo) y una información detallada del tiempo (incremento_tiempo_VOP) de cada VOP, con dicho código de tiempo de grupo, del grupo correspondiente; y medios para descodificar (72N) dichos VOP de acuerdo con el tiempo de presentación correspondiente calculado.
Description
Dispositivo de codificación de imágenes, método
de codificación de imágenes, dispositivo de descodificación de
imágenes, método de descodificación de imágenes, y medio
suministrador.
La presente invención está relacionada con un
codificador de imágenes, un método de codificación de imágenes, un
descodificador de imágenes, un método de descodificación de imágenes
y con medios de distribución. Más en particular, la invención está
relacionada con un codificador de imágenes, un método de
codificación de imágenes, un descodificador de imágenes, un método
de descodificación de imágenes y medios de distribución adecuados
para su uso, por ejemplo, en el caso en que se graben datos de
imágenes dinámicas en medios de almacenamiento, tales como un disco
magneto-óptico, una cinta magnética, etc., y también se regeneren y
se presenten los datos grabados en una pantalla, o en el caso en
que los datos de imágenes dinámicas se transmitan desde un lado
transmisor a un lado receptor, a través de un camino de transmisión,
y, en el lado receptor, los datos de imágenes dinámicas recibidos
se presenten, se editen y se graben, como en los sistemas de
videoconferencia, sistemas videofónicos, equipos de radiodifusión,
y sistemas multimedia de recuperación de base de datos.
Por ejemplo, como en los sistemas de
videoconferencia y en los sistemas videofónicos, en sistemas que
transmiten datos de imágenes dinámicas a un lugar remoto, los datos
de imágenes son comprimidos y codificados aprovechando la ventaja
de la correlación entre líneas y la correlación entre fotogramas,
con el fin de aprovechar eficientemente los caminos de
transmisión.
Como sistema representativo de codificación de
imágenes dinámicas de alta eficiencia, hay un sistema de
codificación de imágenes dinámicas para los medios de
almacenamiento, basándose en el estándar del Grupo de Expertos de
Imágenes en Movimiento (MPEG). Este estándar MPEG ha sido estudiado
por la Organización Internacional para la Estandarización (ISO) -
IEC/JTC1/SC2/WG11 y ha sido propuesto como una propuesta de
estándar. El estándar MPEG ha adoptado un sistema híbrido que usa
una combinación de codificación de predicción de compensación del
movimiento y una codificación de transformada discreta del coseno
(DCT).
El estándar MPEG define algunos perfiles y
niveles con el fin de dar soporte a una amplia gama de aplicaciones
y funciones. El estándar MPEG está basado principalmente en el
Perfil Principal y en el Nivel Principal
(MP@ML).
(MP@ML).
La figura 1 ilustra el ejemplo de constitución
de un codificador MP@ML en el sistema MPEG estándar.
Los datos de imágenes a codificar son
introducidos en una memoria 31 de fotogramas y almacenados
temporalmente. Un detector 32 de vectores de movimiento lee los
datos de imágenes almacenados en la memoria 31 de fotogramas, por
ejemplo, en una unidad macrobloque constituida por 16 (16 píxeles y
detecta los vectores de movimiento.
En este caso, el detector 32 de vectores en
movimiento procesa los datos de imágenes de cada fotograma como
cualquiera de una imagen intracodificada (imagen-I),
una imagen de codificación de predicción hacia delante
(imagen-P) o una imagen de codificación de
predicción bidireccional (imagen-B). Obsérvese que
ha sido predeterminada la manera cómo se procesan las
imágenes-I, -P y -B de fotogramas introducidas (es
decir, las imágenes se procesan como imagen-I,
imagen-B, imagen-P,
imagen-B, imagen-P, ....,
imagen-B, e imagen-P, en el orden
mencionado).
Es decir, en el detector 32 de vectores de
movimiento, se hace referencia a una fotograma de referencia
predeterminado en los datos de imágenes almacenados en la memoria
31 de fotogramas, y un pequeño bloque de 16 píxeles (16 líneas
(macrobloque)) en el fotograma actual para ser codificado, está
adaptado con un conjunto de bloques del mismo tamaño en el
fotograma de referencia. Con la adaptación de bloques, se detecta el
vector de movimiento del macrobloque.
En este caso, en el estándar MPEG, los modos de
predicción para una imagen incluyen cuatro clases:
intracodificación, codificación de predicción hacia delante,
codificación de predicción hacia atrás, y codificación de predicción
bidireccional. Una imagen-I es codificada por
intracodificación. Una imagen-P es codificada por
intracodificación o por codificación de predicción hacia delante.
Una imagen-B es codificada por intracodificación,
codificación de predicción hacia delante, codificación de
predicción hacia atrás, o codificación de predicción
bidireccional.
Es decir, el detector 32 del vector de
movimiento fija el modo de intracodificación en una
imagen-I como modo de predicción. En este caso, el
detector 32 del vector de movimiento entrega el modo de predicción
(modo de intracodificación) a una unidad 36 de codificación de
longitud de palabra variable (VLC) y a un compensador 42, sin
detectar el vector de movimiento.
El detector 32 del vector de movimiento efectúa
también la predicción hacia delante de una imagen-P
y detecta el vector de movimiento. Además, en el detector 32 del
vector de movimiento, un error de predicción originado al efectuar
una predicción hacia delante se compara con la dispersión, por
ejemplo, de macrobloques a codificar (macrobloques en la
imagen-P). Como resultado de la comparación, cuando
la dispersión de los macrobloques es menor que el error de
predicción, el detector 32 del vector de movimiento fija un modo de
intracodificación como modo de predicción y lo entrega a la unidad
36 de VLC y al compensador 42 de movimiento. Además, si el error de
predicción originado por efectuar la predicción hacia delante es
menor, el detector 32 de movimiento fija un modo de codificación de
predicción hacia delante como modo de predicción. El modo de
codificación de predicción hacia delante, junto con el vector de
movimiento detectado, es entregado a la unidad 36 de VLC y al
compensador 42 de movimiento.
El detector 32 del vector de movimiento realiza
además la predicción hacia delante, la predicción hacia atrás y la
predicción bidireccional para una imagen-B, y
detecta los respectivos vectores de movimiento. Después, el
detector 32 de vectores de movimiento detecta el error mínimo entre
los errores de predicción en la predicción hacia delante, en la
predicción hacia atrás y en la predicción bidireccional (en adelante
denominado el error mínimo de predicción cuando se necesite), y
compara el error mínimo de predicción con la dispersión, por
ejemplo, de macrobloques a codificar (macrobloques en la
imagen-B). Como resultado de la comparación, cuando
la dispersión de los macrobloques es menor que el error mínimo de
predicción, el detector 32 del vector de movimiento fija un modo de
intracodificación como modo de predicción, y lo entrega a la unidad
36 de VLC y al compensador 42 de movimiento. Además, si el error
mínimo de predicción es menor, el detector 32 del vector de
movimiento fija como modo de predicción un modo de predicción en el
cual se obtuvo el error mínimo de predicción. El modo de
predicción, junto con el correspondiente vector de movimiento, es
entregado a la unidad 36 de VLC y al compensador 42 de
movimiento.
Si el compensador 42 de movimiento recibe el
modo de predicción y el vector de movimiento desde el detector 32
del vector de movimiento, el compensador 42 de movimiento leerá los
datos de imágenes codificados y previamente descodificados
localmente, almacenados en la memoria 41 de fotogramas, de acuerdo
con el modo de predicción recibido y el vector de movimiento. Estos
datos de imágenes leídos son suministrados a las unidades
aritméticas 33 y 40 como datos de imagen pronosticados.
La unidad aritmética 33 lee desde la memoria 31
el mismo macrobloque que los datos de imágenes leídos desde la
memoria 31 de fotogramas por el detector 32 del vector de
movimiento, y calcula la diferencia entre el macrobloque y la
imagen pronosticada que fue suministrada desde el compensador 42 de
movimiento. Este valor diferencial es suministrado a la unidad 34
de DCT.
Por otra parte, en el caso en que se reciba
solamente un modo de predicción desde el detector 32 del vector de
movimiento, es decir, el caso en el que el modo de predicción sea un
modo de intracodificación, el compensador 42 de movimiento no
entrega una imagen pronosticada. En este caso, la unidad aritmética
33 (así como la unidad aritmética 40) entrega a la unidad 34 de DCT
el macrobloque leído desde la memoria 31 de fotogramas, sin
procesarlo.
En la unidad 34 de DCT, se aplica la DCT a los
datos de salida de la unidad aritmética 33, y los coeficientes
resultantes de la DCT son suministrados al cuantificador 35. En el
cuantificador 35, se fija un paso de cuantificación (escala de
cuantificación), en correspondencia con la cantidad de datos
almacenados de la memoria intermedia 37 (que es la cantidad de los
datos almacenados en una memoria intermedia 37) (realimentación de
memoria intermedia). En el paso de cuantificación, se cuantifican
los coeficientes de la DCT desde la unidad 34 de DCT. Los
coeficientes de la DCT cuantificados, (en adelante denominados
coeficientes cuantificados cuando se necesiten), junto con el paso
de cuantificación fijado, son suministrados a la unidad 36 de
VLC.
En la unidad 36 de VLC, los coeficientes
cuantificados suministrados por el cuantificador 35 son
transformados en códigos de palabras de longitud variable, tales
como los códigos Huffman, y entregados a la memoria intermedia 37.
Además, en la unidad 36 de VLC, el paso de cuantificación desde el
cuantificador 35 es codificado por la codificación de palabras de
longitud variable, y de igual manera, se codifica el modo de
predicción (que indica si es una intracodificación
(intracodificación de predicción de imágenes), codificación de
predicción hacia delante, codificación de predicción hacia atrás, o
codificación de predicción bidireccional), y el vector de
movimiento del detector 32 del vector de movimiento. Los datos
codificados resultantes son entregados a la memoria intermedia
37.
La memoria intermedia 37 almacena temporalmente
los datos codificados suministrados desde la unidad 36 de VLC,
suavizando con ello la cantidad de datos almacenados. Por ejemplo,
los datos suavizados son entregados a un camino de transmisión o
grabados en un medio de almacenamiento, como una cadena de bits
codificados.
La memoria intermedia 37 entrega también a la
salida la cantidad de datos almacenados al cuantificador 35. El
cuantificador 35 fija un paso de cuantificación en correspondencia
con la cantidad de datos almacenados que entrega esta memoria
intermedia 37. Es decir, cuando hay una posibilidad de que la
capacidad de la memoria intermedia 37 se desborde, el cuantificador
35 aumenta el tamaño del paso de cuantificación, reduciendo con
ello la cantidad de datos de coeficientes cuantificados. Cuando hay
una posibilidad de que la capacidad de la memoria intermedia 37
pase a un estado de subdesbordamiento, el cuantificador 35 reduce el
tamaño del paso de cuantificación, aumentando con ello la cantidad
de datos de los coeficientes cuantificados. De esta manera, se
impide el desbordamiento y el subdesbordamiento de la memoria
intermedia 37.
Los coeficientes cuantificados y el paso de
cuantificación, entregados por el cuantificador 35, no son
suministrados solamente a la unidad 36 de VLC, sino también a un
cuantificador inverso 38. En el cuantificador inverso 38, los
coeficientes cuantificados desde el cuantificador 35 son
cuantificados inversamente de acuerdo con el paso de cuantificación
proporcionado por el cuantificador 35, por lo que los coeficientes
cuantificados son transformados en coeficientes DCT. Los
coeficientes DCT son proporcionados a una unidad DCT inversa (unidad
IDCT) 39. En la IDCT 39, se aplica una DCT inversa a los
coeficientes DCT y los datos resultantes son suministrados a la
unidad aritmética 40.
Además de los datos de salida de la unidad 39 de
IDCT, los mismos datos de la imagen pronosticada suministrados a la
unidad aritmética 33 son suministrados desde el compensador 42 de
movimiento a la unidad aritmética 40, como se ha descrito
anteriormente. La unidad aritmética 40 añade los datos de salida
(predicción residual (datos diferenciales)) de la unidad 39 de IDCT
y los datos de la imagen pronosticada del compensador 42 de
movimiento, descodificando con ello localmente los datos de imagen
originales. Los datos de imagen descodificados localmente son
entregados a la salida. (Sin embargo, en el caso en que el modo de
predicción sea un modo de intracodificación, los datos de salida de
la IDCT 39 son transferidos a través de la unidad aritmética 40 y
suministrados a la memoria 41 de fotogramas, como datos de imagen
descodificados localmente, sin ser procesados). Obsérvese que estos
datos de imagen descodificados son consistentes con los datos de
imagen descodificados que se obtienen en el lado del receptor.
Los datos de imagen descodificada obtenidos en
la unidad aritmética 40 (datos de imagen descodificados localmente)
son suministrados a la memoria 41 de fotogramas y almacenados en
ella. De ahí en adelante, los datos de imagen descodificados son
empleados como datos de imagen de referencia (fotograma de
referencia) con respecto a una imagen a la cual se aplica la
intracodificación (codificación de predicción hacia delante,
codificación de predicción hacia atrás o codificación de predicción
bidireccional).
A continuación, la figura 2 ilustra el ejemplo
de constitución de un descodificador MP@ML en el sistema estándar
MPEG que descodifica la salida de datos codificados desde el
codificador de la figura 1.
La cadena de bits codificados (datos
codificados) transmitidos a través de un camino de transmisión, son
recibidos por un receptor (no ilustrado), o la cadena de bits
codificados (datos codificados) grabados en un medio de
almacenamiento son regenerados por un regenerador (no ilustrado). La
cadena de bits recibidos o regenerados es suministrada y almacenada
en una memoria intermedia 101.
Una unidad de VLC inversa (Unidad VLC
(descodificador de palabras de longitud variable)) 102, lee los
datos codificados en la memoria intermedia 101 y efectúa la
descodificación de palabras de longitud variable, separando con
ello los datos codificados en el vector de movimiento, modo de
predicción, paso de cuantificación, y coeficientes de
cuantificación en una unidad macrobloque. Entre ellos, el vector de
movimiento y el modo de predicción son suministrados a un
compensador 107 de movimiento, mientras que el paso de
cuantificación y los coeficientes cuantificados del macrobloque son
suministrados a un cuantificador inverso 103.
En el cuantificador inverso 103, los
coeficientes cuantificados del macrobloque, suministrados desde la
unidad 102 de IVLC, son inversamente cuantificados de acuerdo con
el paso de cuantificación suministrado desde la misma unidad 102 de
IVLC. Los coeficientes DCT resultantes son suministrados a una
unidad 104 de IDCT. En la IDCT 104, se aplica una DCT inversa a los
coeficientes DCT del macrobloque, suministrados desde el
cuantificador inverso 103, y los datos resultantes son
suministrados a una unidad aritmética 105.
Además de los datos de salida de la unidad IDCT
104, los datos de salida del compensador 107 de movimiento son
suministrados también a la unidad aritmética 105. Es decir, en el
compensador 107 de movimiento, como en el caso del compensador 42
de movimiento de la figura 1, los datos de imagen descodificados
previamente, almacenados en la memoria 106 de fotogramas, son
leídos de acuerdo con el vector de movimiento y el modo de
predicción suministrado desde la unidad 102 de IVLC, y son
suministrados a la unidad aritmética 105 como datos de imagen
pronosticados. La unidad aritmética 105 suma los datos de salida
(predicción residual (valor diferencial)) de la unidad 104 de IDCT
y los datos de imagen pronosticada del compensador 107 de
movimiento, descodificando con ello los datos de imagen originales.
Estos datos de imagen descodificados son suministrados a la memoria
106 de fotogramas y almacenados en ella. Obsérvese que en el caso en
que los datos de salida de la unidad 104 de IDCT sean datos
intracodificados, los datos de salida son transferidos a través de
la unidad aritmética 105 y suministrados a la memoria 106 de
fotogramas como datos de imagen descodificados, sin ser
procesados.
Los datos de imagen descodificados almacenados
en la memoria 106 de fotogramas, son empleados como datos de imagen
de referencia para los siguientes datos de imagen a descodificar.
Además, los datos de imagen descodificados son suministrados, por
ejemplo, a una pantalla (no ilustrada) y presentados como una imagen
de salida reproducida.
Obsérvese que en el estándar
MPEG-1 y en el estándar MPEG-2, una
imagen-B no es almacenada en la memoria 41 de
fotogramas del descodificador (figura 1) y la memoria 106 de
fotogramas del descodificador (figura 2), porque no se emplea como
datos de imagen de referencia.
El codificador y el descodificador antes
mencionados ilustrados en las figuras 1 y 2, están basados en el
estándar MPEG-1/2. Actualmente, un sistema para
codificar vídeo en una unidad del objeto de vídeo (VO) de una
secuencia de objetos que constituyen una imagen está siendo
estandarizado como estándar MPEG-4 por el
ISO-IEC/JTC1/SC29/WG11.
A propósito, como el estándar
MPEG-4 está siendo estandarizado bajo la suposición
de que se utiliza principalmente en el campo de las comunicaciones,
no prescribe el grupo de imágenes (GOP) prescrito en el estándar
MPEG-1/2. Por tanto, en el caso en el que el
estándar MPEG-4 se utilice en medios de
almacenamiento, será difícil el acceso aleatorio eficaz.
De acuerdo con un aspecto, la presente invención
proporciona un descodificador de imágenes para descodificar una
cadena de bits codificados, producida al codificar una imagen
formada por una secuencia de objetos, con un objeto codificado por
la intracodificación, siendo ésta un plano de objetos
intra-vídeo (I-VOP), un objeto
codificado por intracodificación o por codificación de predicción
hacia delante que sea una VOP de predicción
(P-VOP), y un objeto codificado por
intracodificación, codificación de predicción hacia delante,
codificación de predicción hacia atrás, o codificación de
predicción bidireccional que sea una VOP de predicción bidireccional
(B-VOP),
donde dichas VOP han sido agrupadas en uno o más
grupos (GOV),
teniendo cada grupo una pantalla asociada de
acuerdo con la cual se presenta una pluralidad de VOP descodificadas
del grupo correspondiente, al reproducir la imagen,
y cada uno de los uno o más grupos comprende un
código de tiempo de grupo que representa un tiempo absoluto
correspondiente a un punto de sincronismo asociado con un primer
objeto en el orden de presentación del grupo correspondiente (GOV),
comprendiendo el código de tiempo del grupo un valor de
horas_código_tiempo que representa una unidad horaria de tiempo, un
valor de minutos_código_tiempo que representa una unidad en minutos
de tiempo, y un valor de segundos_código_tiempo que representa una
unidad en segundos de tiempo del punto de sincronismo,
y comprendiendo cada VOP del grupo información
de tiempo con precisión de segundos (tiempo_base_módulo) indicativo
de un valor del tiempo en unidades de un segundo, e información
detallada de tiempo (incremento_tiempo_
VOP) indicativa de un valor del tiempo en unidades de precisión más fina que un segundo, como información que representa una hora de presentación de dicha VOP,
VOP) indicativa de un valor del tiempo en unidades de precisión más fina que un segundo, como información que representa una hora de presentación de dicha VOP,
comprendiendo el descodificador de imágenes:
- medios receptores para recibir dicha cadena de bits codificados;
- un computador de hora de presentación para calcular dicha hora de presentación de dichas VOP, añadiendo dicha información de tiempo con precisión de segundos (tiempo_base_módulo) y una información detallada del tiempo (incremento_tiempo_VOP) de cada VOP a dicho código de tiempo de grupo del grupo correspondiente; y
- medios para descodificar dichas VOP de acuerdo con la hora de presentación calculada correspondiente.
En las reivindicaciones que se adjuntan, se
detallan otros diversos aspectos respectivos de la invención.
La presente invención ha sido hecha a la vista
de tales circunstancias, y los modos de realización de la invención
tienen como objetivo hacer posible un acceso aleatorio
eficiente.
La figura 1 es un diagrama de bloques que
ilustra un ejemplo de constitución de un codificador
convencional;
La figura 2 es un diagrama de bloques que
ilustra un ejemplo de constitución de un descodificador
convencional;
La figura 3 es un diagrama de bloques que
ilustra un ejemplo de constitución de un modo de realización de un
codificador al cual se aplica la presente invención;
La figura 4 es un diagrama para explicar que la
posición y el tamaño de un objeto de vídeo (VO) varían con el
tiempo;
La figura 5 es un diagrama de bloques que
ilustra un ejemplo de constitución de las secciones 31 a 3N de
codificación de VOP de la figura 3;
La figura 6 es un diagrama para explicar la
escalabilidad espacial;
La figura 7 es un diagrama para explicar la
escalabilidad espacial;
La figura 8 es un diagrama para explicar la
escalabilidad espacial;
La figura 9 es un diagrama para explicar la
escalabilidad espacial;
La figura 10 es un diagrama para explicar un
método para determinar los datos del tamaño y los datos de
compensación de un plano del objeto de vídeo (VOP);
La figura 11 es un diagrama de bloques que
ilustra el ejemplo de constitución de la sección 25 de codificación
de la capa base de la figura 5;
La figura 12 es un diagrama de bloques que
ilustra el ejemplo de constitución de la sección 23 de codificación
de la capa de refuerzo de la figura 5;
La figura 13 es un diagrama para explicar la
escalabilidad espacial;
La figura 14 es un diagrama para explicar la
escalabilidad del tiempo;
La figura 15 es un diagrama de bloques que
ilustra el ejemplo de constitución de un modo de realización de un
descodificador al cual se aplica la presente invención;
La figura 16 es un diagrama de bloques que
ilustra otro ejemplo de constitución de las secciones 72_{1} a
72_{N} de descodificación de VOP de la figura 15;
La figura 17 es un diagrama de bloques que
ilustra el ejemplo de constitución de la sección 95 de
descodificación de la capa base de la figura 16;
La figura 18 es un diagrama de bloques que
ilustra el ejemplo de constitución de la sección 93 de
descodificación de la capa de refuerzo de la figura 16;
La figura 19 es un diagrama que ilustra la
sintaxis de una cadena de bits obtenida mediante la codificación
escalable;
La figura 20 es un diagrama que ilustra la
sintaxis de VS;
La figura 21 es un diagrama que ilustra la
sintaxis de VO;
La figura 22 es un diagrama que ilustra la
sintaxis de VOL;
La figura 23 es un diagrama que ilustra la
sintaxis de VOP;
La figura 24 es un diagrama que ilustra la
relación entre base_tiempos_módulo y el tiempo
incremento_tiempo_
VOP;
VOP;
La figura 25 es un diagrama que ilustra la
sintaxis de una cadena bits, de acuerdo con la presente
invención;
La figura 26 es un diagrama que ilustra la
sintaxis de un GOV;
La figura 27 es un diagrama de bloques que
ilustra la constitución de un código_tiempo;
La figura 28 es un diagrama que ilustra un
método de codificación del código_tiempo de la capa GOV y la
base_tiempos_módulo y el incremento_tiempo_VOP del primer
I-VOP del GOV;
La figura 29 es un diagrama que ilustra un
método de codificación del código_tiempo de la capa GOV y también
la base_tiempos_módulo y el incremento_tiempo_VOP del
B-VOP situado antes del primer I-VOP
del GOV;
La figura 30 es un diagrama que ilustra la
relación entre la base_tiempos_módulo y el incremento_tiempo_VOP,
cuando no cambian las definiciones de los mismos;
La figura 31 es un diagrama que ilustra un
proceso de codificación de la base_tiempos_módulo y del
incremento_tiempo_VOP del B-VOP, basándose en un
primer método;
La figura 32 es un diagrama de flujo que ilustra
un proceso de codificación de la base_tiempos_módulo y del
incremento_tiempo_VOP del I/P-VOP, basándose en un
primer método y un segundo método;
La figura 33 es un diagrama de flujo que ilustra
un proceso de codificación de la base_tiempos_módulo y del
incremento_tiempo_VOP del B-VOP, basándose en un
primer método;
La figura 34 es un diagrama de flujo que ilustra
un proceso de descodificación de la base_tiempos_módulo y del
incremento_tiempo_VOP del I/P-VOP, codificados por
el primer y segundo métodos;
La figura 35 es un diagrama de flujo que ilustra
un proceso de descodificación de la base_tiempos_módulo y del
incremento_tiempo_VOP del B-VOP, codificados por el
primer método;
La figura 36 es un diagrama que ilustra un
proceso de codificación de la base_tiempos_módulo y del
incremento_tiempo_VOP del B-VOP, basándose en un
segundo método;
La figura 37 es un diagrama de flujo que ilustra
el proceso de codificación de la base_tiempos_módulo y del
incremento_tiempo_VOP del B-VOP, basándose en el
segundo método;
La figura 38 es un diagrama de flujo que ilustra
un proceso de descodificación de la base_tiempos_módulo y del
incremento_tiempo_VOP del B-VOP, codificados por el
segundo método;
La figura 39 es un diagrama para explicar la
base_tiempos_módulo; y
La figura 40 es un diagrama de bloques que
ilustra el ejemplo de constitución de otro modo de realización de
un codificador y un descodificador, a los cuales se aplica la
presente invención.
\vskip1.000000\baselineskip
Se describirán a continuación con detalle los
modos de realización de la presente invención, con referencia a los
dibujos.
La figura 3 muestra el ejemplo de constitución
de un modo de realización de un codificador, al cual se aplica la
presente invención.
Los datos de imagen (datos dinámicos) que han de
ser codificados, son introducidos en una sección 1 de constitución
de objetos de vídeo (VO). En la sección 1 de constitución de VO, la
imagen está constituida, para cada objeto, por una secuencia de VO.
La secuencia de los VO es entregada a las secciones 21 a 2N de
constitución de VOP. Es decir, en la sección 1 de constitución de
VO, en el caso en que se generen N objetos de vídeo (VO#1 a VO#N),
los VO#1 a VO#N son entregados a las secciones 21 a 2N de
constitución de VOP, respectivamente.
Más específicamente, por ejemplo, cuando los
datos de imagen a codificar están constituidos por una secuencia de
un segundo plano F1 y un primer plano F2 independientes, la sección
1 de constitución de VO entrega el primer plano F2, por ejemplo, a
la sección 21 de constitución de VOP como VO#1 y también entre el
segundo plano F1 a la sección 22 de constitución de VOP como
VO#2.
Obsérvese que, en el caso en que los datos de
imagen a codificar sean, por ejemplo, una imagen previamente
sintetizada por el segundo plano F1 y el primer plano F2, la sección
1 de constitución de VO divide la imagen en el segundo plano F1 y
el segundo plano F2, de acuerdo con un algoritmo predeterminado. El
segundo plano F1 y el primer plano F2 son entregados a las
correspondientes secciones 2n de constitución de VOP (donde n = 1,
2, ... y N). Las secciones 2n de constitución de VOP generan planos
VO (VOP) desde las salidas de la sección 1 de constitución de VO.
Es decir, por ejemplo, se extrae un objeto desde cada fotograma. Por
ejemplo, el rectángulo mínimo que rodea el objeto (en adelante
denominado rectángulo mínimo, cuando se necesite), se considera que
es el VOP. Obsérvese que, en este momento, las secciones 2n de
constitución de VOP generan el VOP, de manera que el número de
píxeles horizontales y el número de píxeles verticales son múltiplos
de 16. Si las secciones 2n de constitución de VO generan VOP, los
VOP son entregados a las secciones 3n de codificación de VOP,
respectivamente.
Más aún, las secciones 2n de constitución de VOP
detectan los datos de tamaño (tamaño del VOP) que indican el tamaño
de un VOP (por ejemplo, longitudes horizontal y vertical) y datos de
compensación (compensación de VOP) que indican la posición del VOP
en un fotograma (por ejemplo, coordenadas en que la parte superior
izquierda de un fotograma es el origen). Los datos del tamaño y los
datos de compensación son suministrados también a las secciones 3n
de codificación de VOP.
Las secciones 3n de codificación de VOP
codifican las salidas de las secciones 2n de constitución de VOP,
por ejemplo, con un método basado en el estándar MPEG o en el
estándar H.263. Las cadenas de bits resultantes son entregadas a
una sección 4 de multiplexación que multiplexa las cadenas de bits
obtenidas desde las secciones 31 a 3N de codificación de VOP. Los
datos multiplexados resultantes son transmitidos por ondas
terrestres o a través de un camino 5 de transmisión, tal como una
línea por satélite, una red CATV, etc. Alternativamente, los datos
multiplexados son grabados en un medio 6 de almacenamiento, tal como
un disco magnético, un disco magneto-óptico, un disco óptico, una
cinta magnética, etc.
En este caso, se hará una descripción del objeto
de vídeo (VO) y del plano del objeto de vídeo (VOP).
En el caso de una imagen sintetizada, cada una
de las imágenes que constituyen la imagen sintetizada es denominada
VO, mientras que VOP significa un VO en un momento dado.
Es decir, por ejemplo, en el caso de una imagen
sintetizada F3, constituida por las imágenes F1 y F2, cuando la
imagen F1 y F2 están dispuestas en forma de serie temporal, son VO.
La imagen F1 o F2 en un momento dado es un VOP. Por tanto, puede
decirse que el VO es un conjunto de VOP del mismo objeto, en
momentos diferentes.
Por ejemplo, si se supone que la imagen F1 es el
segundo plano y también que la imagen F2 es el primer plano, la
imagen F3 sintetizada se obtendrá sintetizando las imágenes F1 y F2
con una señal clave para extraer la imagen F2. El VOP de la imagen
F2 en este caso se supone que incluye la señal clave además de los
datos de imagen (señal de luminancia y señal de diferencia de
color) que constituyen la imagen F2.
\newpage
Un fotograma de una imagen no varía ni en tamaño
ni en posición, pero hay casos en los que el tamaño o la posición
de un VO cambian. Es decir, incluso en el caso en que un VOP
constituya el mismo VO, hay casos en los que el tamaño y la posición
varían con el tiempo.
Específicamente, la figura 4 ilustra una imagen
sintetizada constituida por la imagen F1 (segundo plano) y la imagen
F2 (primer plano).
Por ejemplo, supóngase que la imagen F1 es una
imagen obtenida fotografiando una cierta escena natural, y que toda
la imagen es un solo VO (por ejemplo, VO#0). Supóngase también que
la imagen F2 es una imagen obtenida fotografiando una persona que
está caminando y que el rectángulo mínimo que rodea a la persona es
un solo VO (por ejemplo, VO#1).
En este caso, como el VO#0 es la imagen de una
escena, básicamente tanto la posición como el tamaño no cambian
como en un fotograma de imagen normal. Por otra parte, como el VO#1
es la imagen de una persona, la posición o el tamaño cambiarán si
la persona se desplaza a derecha e izquierda o se desplaza hacia
este lado o lado de profundidad de la figura 4. Por tanto, aunque
la figura 4 muestra a VO#0 y VO#1 al mismo tiempo, hay casos en los
que la posición o el tamaño del VO varían con el tiempo.
Por tanto, la cadena de bits de salida de las
secciones 3n de codificación de VOP de la figura 3, incluyen
información de la posición (coordenadas) y del tamaño de un VOP en
una sistema de coordenadas absolutas predeterminado, además de los
datos que indican un VOP codificado. Obsérvese en la figura 4, que
el vector que indica la posición del VOP de VO#0 (imagen F1) en un
cierto instante, está representado por OST0 y también un vector que
indica la posición del VOP de VO#1 (imagen F2) en un cierto
instante, está representado por OST1.
A continuación, la figura 5 ilustra el ejemplo
de constitución de las secciones 3n de codificación de VOP de la
figura 3, que realizan la escalabilidad. Es decir, el estándar MPEG
introduce un método de codificación escalable que efectúa la
escalabilidad, que comprende distintos tamaños de imagen y velocidad
de fotogramas. Las secciones 3n de codificación de VOP ilustradas
en la figura 5 están construidas de manera que se puede realizar tal
escalabilidad.
El VOP (datos de imagen), los datos del tamaño
(tamaño de VOP), y los datos de compensación (compensación de VOP
de las secciones 2n de constitución de VOP, son suministrados todos
ellos a una sección 21 de estratificación de imágenes.
La sección 21 de estratificación de imágenes
genera una o más capas de datos de imágenes desde el VOP (se
realiza la estratificación del VOP). Es decir, por ejemplo, en el
caso de realizar la codificación de la escalabilidad espacial, los
datos de imagen introducidos en la sección 21 de estratificación de
imágenes, tal como están, son entregados como una capa de refuerzo
de los datos de imagen. Al mismo tiempo, se reduce el número de
píxeles que constituyen los datos de imagen (se reduce la
resolución) haciendo más pequeños los píxeles, y los datos de
imagen reducidos en el número de píxeles son entregados como una
capa base de los datos de imagen.
Obsérvese que un VOP de entrada puede ser
empleado como una capa base de datos y también el VOP incrementado
en número de píxeles (resolución) por algún otro método, puede ser
empleado como una capa de refuerzo de datos.
Además, aunque el número de capas puede hacerse
igual a 1, este caso no puede efectuar la escalabilidad. En este
caso, las secciones 3n de codificación de VOP están constituidas,
por ejemplo, solamente por una sección 25 de codificación de capa
base.
Además, el número de capas puede hacerse igual a
3 o más. Pero en este modo de realización, se describirá por
simplicidad el caso de dos capas.
Por ejemplo, en el caso de efectuar la
codificación de la escalabilidad temporal, la sección 21 de
estratificación de imágenes entrega datos de imagen
alternativamente, por ejemplo, como datos de capa base o datos de
capa de refuerzo, en correspondencia con el tiempo. Es decir, por
ejemplo, cuando se supone que los VOP que constituyen un cierto VO
son introducidos en orden, VOP0, VOP1, VOP2, VOP3, ..., la sección
21 de estratificación de imágenes entrega como salida VOP0, VOP2,
VOP4, VOP6, ..., como datos de la capa base y VOP1, VOP3, VOP5,
VOP7, ..., como datos de la capa de refuerzo. Obsérvese que, en el
caso de escalabilidad temporal, los VOP así empequeñecidos son
entregados meramente como datos de la capa base y datos de la capa
de refuerzo, y el aumento o reducción de los datos de la imagen
(conversión de resolución) no se realiza (pero es posible realizar
el aumento o la reducción).
También, por ejemplo, en el caso de realizar la
codificación de la escalabilidad de la relación de señal a ruido
(SNR), los datos de imagen introducidos en la sección 21 de
estratificación de imágenes, tal como están, son entregados como
datos de la capa de refuerzo o datos de la capa base. Es decir, en
este caso, los datos de la capa base y los datos de la capa de
refuerzo son consistentes entre sí.
En este caso, para la escalabilidad espacial en
el caso en que se realice una operación de codificación para cada
VOP, hay, por ejemplo, las tres clases siguientes.
Es decir, por ejemplo, si se supone ahora que
una imagen sintetizada consistente en las imágenes F1 y F2, tal
como la ilustrada en la figura 4, es introducida como un VOP, en la
primera escalabilidad espacial, el VOP de entrada completo (figura
6(A)) se considera que es una capa de refuerzo, como se
ilustra en la figura 6, y el VOP reducido completo (figura
6(B)) se considera que es una capa base.
También, en la segunda escalabilidad espacial,
como se ilustra en la figura 7, se extrae un objeto que constituye
parte de un VOP de entrada (figura 7(A) (que se corresponde
con la imagen F2)). El objeto extraído se considera que en una capa
de refuerzo, mientras que todo el VOP reducido (figura 7(B))
se considera que es una capa base. (Tal extracción se realiza, por
ejemplo, de la misma manera que en el caso de las secciones 2n de
constitución de los VOP. Por tanto, el objeto extraído es también
un solo VOP).
Más aún, en la tercera escalabilidad, como se
ilustra en las figuras 8 y 9, se extraen los objetos (VOP) que
constituyen un VOP de entrada, y se genera una capa de refuerzo y
una capa base para cada objeto. Obsérvese que la figura 8 muestra
una capa de refuerzo y una capa base generadas a partir del segundo
plano (imagen F1) que constituye el VOP ilustrado en la figura 4,
mientras que la figura 9 muestra una capa de refuerzo y una capa
base generadas a partir del primer plano (imagen F2) que constituye
el VOP ilustrado en la figura 4.
Se ha predeterminado cuál de las escalabilidades
antes mencionado es la que se emplea. La sección 21 de
estratificación de imágenes, realiza la estratificación de un VOP,
de manera que se puede realizar la codificación de acuerdo con una
escalabilidad predeterminada.
Más aún, la sección 21 de estratificación de
imágenes calcula (o determina) los datos del tamaño y los datos de
compensación de las capas base y de refuerzo generadas, a partir de
los datos del tamaño y los datos de compensación del VOP de entrada
(en adelante denominados, respectivamente, datos iniciales del
tamaño y datos iniciales de compensación, cuando se necesite). Los
datos de compensación indican la posición de una capa base o de
refuerzo en un sistema de coordenadas absolutas predeterminado del
VOP, mientras que los datos del tamaño indican el tamaño de la capa
base o de la de refuerzo.
En este caso, se describirá un método par
determinar los datos de compensación (información de posición) y
los datos del tamaño de los VOP en las capas base y de refuerzo, por
ejemplo, en el caso en que se efectúe la segunda escalabilidad
antes mencionada (figura 7).
En este caso, por ejemplo, los datos de
compensación de una capa base, FPOS_B, como se ilustra en la figura
10(A), se determinan de manera que, cuando los datos de
imagen de la capa base se amplíen (sobremuestreo) basándose en la
diferencia entre la resolución de la capa de refuerzo, es decir,
cuando la imagen de la capa base se amplíe con una relación de
magnificación tal que el tamaño sea consistente con el de la imagen
de la capa de refuerzo (que es la recíproca de la relación de
desmagnificación porque la imagen de la capa base se genera
reduciendo la imagen de la capa de refuerzo) (en adelante denominado
magnificación FR, cuando se necesite), los datos de compensación de
la imagen ampliada en el sistema de coordenadas absolutas es
consistente con los datos iniciales de compensación. Los datos del
tamaño de la capa base, FSZ_B, se determinan igualmente de manera
que los datos del tamaño de una imagen ampliada, obtenidos cuando la
imagen de la capa base es ampliada con la magnificación FR, sean
consistentes con los datos iniciales del tamaño. Es decir, los datos
de compensación FPOS_B se determinan de manera que es FR veces
ellos mismos, o consistentes con los datos iniciales de
compensación. Además, los datos del tamaño FSZ_B se determinan de la
misma manera.
Por otra parte, para los datos de compensación
FPOS_E de una capa de refuerzo, las coordenadas de la esquina
superior izquierda del rectángulo mínimo (VOP) que rodea un objeto
extraído de un VOP de entrada, por ejemplo, se computan basándose
en los datos iniciales de compensación, como se ilustra en la figura
10(B), y este valor se determina como datos de compensación
FPOS_E. También, los datos de tamaño FPOS_E de la capa de refuerzo
se determinan con las longitudes horizontal y vertical, por ejemplo,
del rectángulo mínimo que rodea un objeto extraído de un VOP de
entrada.
Por tanto, es este caso, los datos de
compensación FPOS_B y los datos de tamaño FPOS_B de la capa base son
transformados primero de acuerdo con la magnificación FR. (Los
datos de compensación FPOS_B y los datos de tamaño FPOS_B tras la
transformación son denominados datos de compensación FPOS_B
transformados y datos de tamaño FPOS_B de tamaño, respectivamente).
Después, en una posición correspondiente a los datos de compensación
FPOS_B transformados en el sistema de coordenadas absolutas,
considérese un fotograma de una imagen del tamaño correspondiente a
los datos de tamaño transformados FSZ_B. Si se dispone una imagen
ampliada, obtenida ampliando los datos de imagen en la capa base FR
veces, en la posición correspondiente antes mencionada (figura
10(A)) y además, si se dispone igualmente la imagen de la
capa de refuerzo en el sistema de coordenadas absolutas, de acuerdo
con los datos de compensación FPOS-E y los datos de
tamaño FPOS_E de la capa de refuerzo (figura 10(B)), los
píxeles que constituyen la imagen ampliada y los píxeles que
constituyen la imagen en la capa de refuerzo quedarán dispuestos de
manera que los píxeles mutuamente correspondientes están situados en
la misma posición. Es decir, por ejemplo, en la figura 10, la
persona en la capa de refuerzo y la persona de la imagen ampliada
quedarán dispuestas en la misma posición.
Aún en el caso de la primera escalabilidad y de
la tercera escalabilidad, los datos de compensación FPOS_B, los
datos de compensación FPOS_E, los datos de tamaño FSZ_B, y los datos
de tamaño FSZ_E se determinan igualmente de manera que los píxeles
mutuamente correspondientes que constituyen una imagen ampliada en
la capa base y una imagen en una capa de refuerzo, quedan situadas
en la misma posición en el sistema de coordenadas absolutas.
Volviendo a la figura 5, los datos de imagen,
los datos de compensación FPOS_E y los datos de tamaño FSZ_E de la
capa de refuerzo, generados en la sección 21 de estratificación de
imágenes, son retardados por un circuito 22 de retardo en el
periodo de proceso de una sección 25 de codificación de la capa
base, que se describirán más adelante, y son suministrados a una
sección 23 de codificación de la capa de refuerzo. También los datos
de imagen, los datos de compensación FPOS_B y los datos de tamaño,
FSZ_B, de la capa base, son suministrados a la sección 25 de
codificación de la capa base. Además, se proporciona la
magnificación FR a la sección 23 de codificación de la capa de
refuerzo y a la sección 24 de transformación de la resolución, a
través del circuito 25 de retardo.
En la sección 25 de codificación de la capa
base, se codifican los datos de imagen de la capa base. Los datos
codificados resultantes (cadena de bits) incluyen los datos de
compensación FPOS_B y los datos de tamaño FSZ_B, y son
suministrados a la sección 26 de multiplexación.
Además, la sección 25 de codificación de la capa
base descodifica los datos codificados localmente y entrega los
datos de imagen descodificados localmente en la capa base a la
sección 24 de transformación de la resolución. En la sección 24 de
transformación de la resolución, los datos de imagen de la capa base
procedentes de la sección 25 de codificación de la capa base son
devueltos al tamaño original ampliando (o reduciendo) los datos de
imagen de acuerdo con la magnificación FR. La imagen ampliada
resultante es entregada a la sección 23 de codificación de la capa
de refuerzo.
Por otra parte, en la sección 23 de codificación
de la capa de refuerzo, se codifican los datos de imagen de la capa
de refuerzo. Los datos codificados resultantes (cadena de bits)
incluyen los datos de compensación FPOS_E y los datos de tamaño
FSZ_E, y son suministrados a la sección 26 de multiplexación.
Obsérvese que en la sección 23 de codificación de la capa de
refuerzo, la codificación de los datos de imagen de la capa de
refuerzo se realiza empleando como imagen de referencia, la imagen
ampliada suministrada desde la sección 24 de transformación de la
resolución.
La sección 26 de multiplexación multiplexa las
salidas de la sección 23 decodificación de la capa de refuerzo y de
la sección 25 de codificación de la capa base, y entrega la cadena
de bits multiplexada.
Obsérvese que los datos de tamaño FSZ_B, los
datos de compensación FPOS_B, el vector de movimiento (MV), el COD
de señalización, etc., de la capa base, son suministrados desde la
sección 25 de codificación de la capa base a la sección 23 de
codificación de la capa de refuerzo, y que la sección 23 de
codificación de la capa de refuerzo está construida de manera que
realiza el proceso, haciendo referencia a los datos suministrados
que se necesiten. Los detalles se describirán más adelante.
A continuación, la figura 11 muestra el ejemplo
de constitución detallada de la sección 25 de codificación de la
capa base, de la figura 5. En la figura 11, se aplican las mismas
referencias numéricas a las partes que corresponden a la figura 1.
Es decir, básicamente la sección 25 de codificación de la capa base
está constituida como el codificador de la figura 1.
Los datos de imagen de la sección 21 de
estratificación de imágenes (figura 5), es decir, el VOP de la capa
base, como en la figura 1, son suministrados a la memoria 31 de
fotogramas y almacenados en ella. En un detector 32 del vector de
movimiento, se detecta el vector de movimiento en una unidad
macrobloque.
Pero los datos de tamaño FSZ_B y los datos de
compensación FPOS_B del VOP de una capa base son suministrados al
detector 32 del vector de movimiento de la sección 25 de
codificación de la capa base, que a su vez detecta el vector de
movimiento de un macrobloque, basándose en los datos de tamaño
suministrados FSZ_B y en los datos de compensación FPOS_B.
Es decir, como se ha descrito anteriormente, el
tamaño y la posición de un VOP varía con el tiempo (fotograma). Por
tanto, al detectar el vector de movimiento, hay una necesidad de
fijar un sistema de coordenadas de referencia para la detección y
de detectar el movimiento en el sistema de coordenadas. Por eso, en
el detector 32 del vector de movimiento de este caso, el sistema de
coordenadas absolutas antes mencionado se emplea como sistema de
coordenadas de referencia, y se dispone un VOP a codificar y un VOP
de referencia en el sistema de coordenadas absolutas, de acuerdo
con los datos de tamaño FSZ_B y los datos de compensación FPOS_B,
por lo que se detecta el vector de movimiento.
Obsérvese que el vector de movimiento detectado
(MV), junto con el modo de predicción, son suministrados a una
unidad 36 de VLC y al compensador 42 de movimiento, y también son
suministrados a la sección 23 de codificación de la capa de refuerzo
(figura 5).
Aún en el caso de realizar la compensación del
movimiento, existe también la necesidad de detectar el movimiento
en un sistema de coordenadas de referencia, como se ha descrito
anteriormente. Por tanto, los datos del tamaño FSZ_B y los datos de
compensación FPOS_B son suministrados al compensador 42 de
movimiento.
\newpage
Un VOP cuyo vector de movimiento fue detectado,
se cuantifica como en el caso de la figura 1, y los coeficientes
cuantificados son suministrados a la unidad 36 de VLC. Además, como
en el caso de la figura 1, los datos de tamaño FSZ_B y los datos de
compensación FPOS_B de la sección 21 de estratificación de imágenes,
son suministrados a la unidad 36 de VLC además de los coeficientes
cuantificados, el paso de cuantificación, el vector de movimiento y
el modo de predicción. En la unidad 36 de VLC, los datos
suministrados son codificados por medio de una codificación de
palabras de longitud variable.
Además de la codificación antes mencionada, el
VOP cuyo vector de movimiento fue detectado, es descodificado
localmente como en el caso de la figura 1 y almacenado en la memoria
41 de fotogramas. Esta imagen descodificada se emplea como imagen
de referencia, como se ha descrito previamente, y además es
entregada a la sección 24 de transformación de la resolución (figura
5).
Obsérvese que, a diferencia del estándar
MPEG-1 y del estándar MPEG-2, en el
estándar MPEG-4 se emplea también una
imagen-B (B-VOP) como imagen de
referencia. Por esta razón, se descodifica también localmente una
imagen-B y se almacena en la memoria 41 de
fotogramas. (Sin embargo, se emplea actualmente una
imagen-B solamente en una capa de refuerzo, como
imagen de referencia).
Por otra parte, como se ha descrito en la figura
1, la unidad 36 de VLC determina si el macrobloque de una
imagen-I, imagen-P o
imagen-B (I-VOP,
P-VOP o B-VOP) está hecho como
macrobloque omitido. La unidad 36 de VLC fija señalizadores COD y
MODB que indican el resultado de la determinación. Los señalizadores
COD y MODB son codificados también mediante la codificación de
palabras de longitud variable y se transmiten. Además, el
señalizador COD es suministrado a la sección 23 de codificación de
la capa de refuerzo.
A continuación, la figura 12 muestra el ejemplo
de constitución de la sección 23 de codificación de la capa de
refuerzo de la figura 5. En la figura 12, se aplican las mismas
referencias numéricas a las partes correspondientes a la figura 11
o 1. Es decir, básicamente la sección 23 de codificación de la capa
de refuerzo está constituida como sección 25 de codificación de la
capa base de la figura 11 o del codificador de la figura 1, excepto
que se proporciona de nuevo la memoria 52 de fotogramas.
Los datos de imagen de la sección 21 de
estratificación de imágenes (figura 5), es decir, el VOP de la capa
de refuerzo, como en el caso de la figura 1, son suministrados a la
memoria 31 de fotogramas y almacenados en ella. En el detector 32
del vector de movimiento, se detecta el vector de movimiento como
una unidad macrobloque. Incluso en este caso, como en el caso de la
figura 11, los datos del tamaño FSZ_E y los datos de compensación
POS_E son suministrados al detector 32 del vector de movimiento,
además del VOP de la capa de refuerzo, etc. En el detector 32 del
vector de movimiento, como en el caso antes mencionado, la posición
adoptada por el VOP de la capa de refuerzo en el sistema de
coordenadas absolutas, se reconoce basándose en los datos de tamaño
FSZ_E y en los datos de compensación FPOS_E, y se detecta el vector
de movimiento del macrobloque.
En este caso, en los detectores 32 del vector de
movimiento de la sección 23 de codificación de la capa de refuerzo
y la sección 25 de codificación de la capa base, los VOP son
procesados de acuerdo con una secuencia predeterminada, como se
describe en la figura 1. Por ejemplo, la secuencia se fija como
sigue.
Es decir, en el caso de escalabilidad espacial,
como se ilustra en la figura 13(A) o 13(B), se
procesan los VOP en una capa de refuerzo o en una capa base, por
ejemplo, en el orden P, B, B, B, ... o I, P, P, P, ...
Y en este caso, se codifica la primera
imagen-P (P-VOP) de la capa de
refuerzo, por ejemplo empleando como imagen de referencia el VOP de
la capa base presente al mismo tiempo que la
imagen-P (en este caso, imagen-I
(I-VOP)). También se codifica la segunda
imagen-B (B-VOP) en la capa de
refuerzo, por ejemplo, empleando como imágenes de referencia la
imagen de la capa de refuerzo inmediatamente antes de esa y también
el VOP de la capa base presente al mismo tiempo que la
imagen-B. Es decir, en este ejemplo, la
imagen-B de la capa de refuerzo, como la
imagen-P de la capa base, se emplea como imagen de
referencia para codificar otro VOP.
Para la capa base, se efectúa la codificación,
por ejemplo, como en el caso del estándar MPEG-1,
del estándar MPEG-2, o del estándar H.263.
La escalabilidad de la SNR se procesa de la
misma manera que la escalabilidad espacial antes mencionada, porque
es la misma que la escalabilidad espacial cuando la magnificación FR
de la escalabilidad espacial es 1.
En el caso de escalabilidad temporal, es decir,
por ejemplo, en el caso en que un VO esté constituido por VOP0,
VOP1, VOP2, VOP3, ..., y se considere también que VOP1, VOP3, VOP5,
VOP7, ... estén en una capa de refuerzo (figura 14(A)) y
VOP0, VOP2, VOP4, VOP6, ... estén en una capa base (figura
14(B)), como se ha descrito anteriormente, los VOP de las
capas de refuerzo y base se procesan, respectivamente, en el orden
B, B, B, ... y en el orden I, P, P, P, ..., como se ilustra en la
figura 14.
Y en este caso, se codifica el primer VOP1
(imagen-B) en la capa de refuerzo, por ejemplo
empleando el VOP0 (imagen-I) y el VOP2
(imagen-P) de la capa base, como imágenes de
referencia. El segundo VOP3 (imagen-B) de la capa
de refuerzo es codificado, por ejemplo, empleando como imágenes de
referencia el primer VOP1 codificado (imagen-B) de
la capa de refuerzo, inmediatamente antes de ese, y del VOP4
(imagen-P) de la capa base presente en el instante
(fotograma) próximo al VOP3. El tercer VOP5
(imagen-B) de la capa de refuerzo, como en la
codificación del VOP3, se codifica, por ejemplo, empleando como
imágenes de referencia el segundo VOP3 codificado
(imagen-B) de la capa de refuerzo inmediatamente
antes de ese, y del VOP6 (imagen-P) de la capa base,
que es una imagen presente en el instante (fotograma) siguiente al
VOP5.
Como se ha descrito anteriormente, para los VOP
en una capa (en este caso, en la capa de refuerzo), los VOP de otra
capa (capa escalable) (en esta caso, capa base) pueden ser empleados
como imágenes de referencia para codificar una
imagen-P y una imagen-B. En el caso
en que se codifique así un OP en una capa, empleando un VOP de otra
capa como imagen de referencia, es decir, como este modo de
realización, en el caso en que se emplee como imagen de referencia
un VOP de la capa base como imagen de referencia al codificar un VOP
de la capa de refuerzo de manera predecible, el detector 32 del
vector de movimiento de la sección 23 de codificación de la capa de
refuerzo (figura 12) está construido de manera que fija y entrega el
señalizador id_capa_ref que indica que se emplea un VOP de la capa
base para codificar un VOP de la capa base de manera predecible.
(En el caso de 3 o más capas, el señalizador id_capa_ref representa
una capa a la cual pertenece un VOP, empleado como imagen de
referencia).
Además, el detector 32 del vector de movimiento
de la sección 23 de codificación de la capa de refuerzo está
construido de manera que fija y entrega el señalizador
código_selecc_ref (información de imagen de referencia) de acuerdo
con el señalizador id_capa_ref para un VOP. El señalizador
código_selecc_ref (información de la imagen de referencia) indica
qué capa y qué VOP de la capa son empleados como imagen de
referencia al efectuar la codificación de predicción hacia delante
o la codificación de predicción hacia atrás.
Más específicamente, por ejemplo, en el caso en
el que se codifique una imagen-P en una capa de
refuerzo, empleando como imagen de referencia un VOP que pertenezca
a la misma capa como una imagen descodificada (localmente
descodificada) inmediatamente antes de la imagen-P,
el señalizador código_selecc_ref se fija en 00. Además, en el caso
en que se codifique una imagen-P empleando como
imagen de referencia un VOP que pertenezca a una capa (en este caso
una capa base (capa de referencia)), distinta de una imagen
presentada inmediatamente antes de la imagen-P, el
señalizador código_selecc_ref se fija en 01. Además, en el caso en
que se codifique la imagen-P empleando como imagen
de referencia un VOP que pertenezca a una capa diferente de la
imagen a presentar inmediatamente después de la
imagen-P, el señalizador código_selecc_ref se fija
en 10. Más aún, en el caso en que la imagen-P se
codifique empleando como imagen de referencia un VOP que pertenezca
a una capa diferente que está presente al mismo tiempo como
imagen-P, el señalizador código_selecc_ref se fija
en 11.
Por otra parte, por ejemplo, en el caso en que
una imagen-P en la capa de refuerzo se codifique
empleando como imagen de referencia para la predicción hacia
delante, un VOP que pertenezca a una capa diferente, que está
presente al mismo tiempo como imagen-B, y también
empleando como imagen de referencia para la predicción hacia atrás,
un VOP que pertenezca a la misma capa que una imagen descodificada
inmediatamente antes de la imagen-B, el señalizador
código_selecc_ref se fija en 00. Además, en el caso en que se
codifique una imagen de la capa de refuerzo, empleando como imagen
de referencia para la predicción hacia delante, un VOP que
pertenezca a la misma capa que la imagen-B y
también empleando como imagen de referencia para la predicción hacia
atrás un VOP que pertenezca a una capa diferente de la imagen
presentada inmediatamente antes de la imagen-B, el
señalizador código_selecc_ref se fija en 01. Además, en el caso en
que la imagen-B de la capa de refuerzo se codifique
empleando como imagen de referencia para la predicción hacia
delante, un VOP que pertenezca a la misma capa que una imagen
descodificada inmediatamente antes de la imagen-B y
también empleando como imagen de referencia para la predicción
hacia atrás, un VOP que pertenezca a una capa diferente de una
imagen a presentar inmediatamente después de la
imagen-B, el señalizador código_selecc_ref se fija
en 10. Más aún, en el caso en que la imagen-B de la
capa de refuerzo se codifique empleando como imagen de referencia
para la predicción hacia delante, un VOP que pertenezca a una capa
diferente de la imagen presentada inmediatamente antes de la
imagen-B, y también empleando como imagen de
referencia para la predicción hacia atrás, un VOP que pertenezca a
una capa diferente de una imagen a presentar inmediatamente después
de la imagen-B, el señalizador código_selecc_ref se
fija en 11.
En este caso, la codificación de predicción
ilustrada en las figuras 13 y 14, es meramente un solo ejemplo. Por
tanto, es posible dentro de la gama antes mencionada, fijar
libremente qué capa y qué VOP se emplean como imagen de referencia
para la codificación de predicción hacia delante, la codificación de
la predicción hacia atrás o la codificación de predicción
bidireccional.
En el caso antes mencionado, aunque los términos
escalabilidad espacial, escalabilidad temporal y escalabilidad de
SNR se han empleado por conveniencia de la explicación, se hace
difícil discriminar la escalabilidad espacial, la escalabilidad
temporal y la escalabilidad de SNR entre sí, en el caso en que una
imagen de referencia para una codificación de predicción se fije
por el señalizador código_selecc_ref. Es decir, hablando a la
inversa, el empleo del señalizador código_selecc_ref hace
innecesaria la discriminación antes mencionada entre las
escalabilidades.
En este caso, si se hace una correlación entre
la escalabilidad antes mencionada y el señalizador
código_selecc_ref, la correlación será, por ejemplo, como sigue. Es
decir, con respecto a la imagen-P, como en el caso
en que el señalizador código_selecc_ref es 11, es un caso en el que
se emplea el VOP al mismo tiempo en la capa indicada por el
señalizador id_capa_ref como imagen de referencia (para la
predicción hacia delante), este caso corresponde a la escalabilidad
espacial o la escalabilidad de SNR. Y los casos distintos al caso en
que el señalizador código_selecc_ref es 11, se corresponde con la
escalabilidad temporal.
Además, con respecto a una
imagen-B, el caso de que el señalizador
código_selecc_ref es 00 sea también el caso en el que un VOP se
emplea al mismo tiempo en la capa indicada por el señalizador
id_capa_ref como imagen de referencia para la predicción hacia
delante, de manera que este caso se corresponde a la escalabilidad
espacial o a la escalabilidad de SNR. Y los casos distintos al caso
en el que el señalizador código_selecc_ref es 00, se corresponden
con la escalabilidad temporal.
Obsérvese que, en el caso en que con el fin de
codificar un VOP en una capa de refuerzo de manera predecible, se
emplea un VOP al mismo tiempo en una capa (en este caso, capa base)
distinta de la capa de refuerzo, como imagen de referencia, no hay
movimiento entre ellos, de manera que el vector de movimiento se
hace siempre 0 ((0,0)).
Volviendo a la figura 12, se fija el señalizador
id_capa_ref y el señalizador código_selecc_ref, antes mencionados,
en el detector 32 del vector de movimiento de la sección 23 de
codificación de la capa de refuerzo, y se suministran al compensador
42 de movimiento y a la unidad 36 de VLC.
Además, el detector 32 del vector de movimiento
detecta un vector de movimiento no haciendo referencia solamente a
la memoria 31 de fotogramas, de acuerdo con el señalizador
id_capa_ref y el señalizador código_selecc_ref, sino también
haciendo referencia a la memoria 52 de fotograma, cuando se
necesite.
En este caso se suministra, una imagen ampliada
descodificada localmente en la capa base, desde la sección 24 de
transformación de la resolución (figura 5) a la memoria 52 de
fotogramas. Es decir, en la sección 24 de transformación de la
resolución, el VOP descodificado localmente en la capa base se
amplía, por ejemplo, mediante un denominado filtro de
interpolación, etc. Con esto, se genera una imagen ampliada que es
FR veces el tamaño del VOP, es decir, una imagen ampliada del mismo
tamaño que el VOP de la capa de refuerzo, correspondiente al VOP de
la capa base. La imagen generada es suministrada a la sección 23 de
codificación de la capa de refuerzo. La memoria 52 de fotogramas
almacena la imagen ampliada suministrada desde la sección 24 de
transformación de la resolución de esta manera.
Por tanto, cuando la magnificación FR es 1, la
sección 24 de transformación de la resolución no procesa el VOP
descodificado localmente procedente de la sección 25 de codificación
de la capa base. El VOP descodificado localmente procedente de la
sección 25 de codificación de la capa base, tal como está, es
suministrado a la sección 23 de codificación de la capa de
refuerzo.
Los datos del tamaño FSZ_B y los datos de
compensación FPOS_B son suministrados desde la sección 25 de
codificación de la capa base, al detector 32 del vector de
movimiento, y también se suministra la magnificación FR desde el
circuito 22 de retardo (figura 5) al detector 32 del vector de
movimiento. En el caso en que la imagen ampliada almacenada en la
memoria 52 de fotogramas se emplee como imagen de referencia, es
decir, en el caso en que, con el fin de codificar un VOP en una
capa de refuerzo de manera predecible, se emplea un VOP de la capa
base al mismo tiempo que el VOP de la capa de refuerzo, como imagen
de referencia (en este caso, el señalizador código_selecc_ref se
hace igual a 11 para una imagen-P y 00 para una
imagen-B), el detector 32 del vector de movimiento
multiplica los datos del tamaño FSZ_B y los datos de compensación
FPOS_B correspondientes a la imagen ampliada, por la magnificación
FR. Y, basándose en el resultado de la multiplicación, el detector
32 del vector de movimiento reconoce la posición de la imagen
ampliada en el sistema de coordenadas absolutas, detectando con ello
el vector de movimiento.
Obsérvese que se suministra el vector de
movimiento y el modo de predicción en una capa base, al detector 32
del vector de movimiento. Estos datos se utilizan en el caso
siguiente. Es decir, en el caso en que el señalizador
código_selecc_ref para una imagen-B de una capa de
refuerzo sea 00, cuando la magnificación FR es 1, es decir, en el
caso de la escalabilidad SNR (en este caso, como se emplea un VOP de
la capa de refuerzo para codificar la capa de refuerzo de manera
predecible, la escalabilidad de SNR utilizada en este caso difiere
en este aspecto de la prescrita en el estándar
MPEG-2), las imágenes de la capa de refuerzo y de la
capa base son las mismas. Por tanto, cuando se efectúa la
codificación de predicción de una imagen-B en una
capa de refuerzo, el detector 32 del vector de movimiento puede
emplear el vector de movimiento y el modo de predicción en una capa
base que están presentes al mismo tiempo que la
imagen-B, tal como son. Por eso, en este caso, el
detector 32 del vector de movimiento no procesa la
imagen-B de la capa de refuerzo, sino que adopta el
vector de movimiento y el modo de predicción de la capa base, tal
como están.
En este caso, en la sección 23 de codificación
de la capa de refuerzo, no se entrega un vector de movimiento ni un
modo de predicción desde el detector 32 de vector de movimiento a la
unidad 36 de VLC. (Por tanto, no se transmiten). Esto es debido a
que el lado receptor puede reconocer el vector de movimiento y el
modo de predicción de una capa de refuerzo, a partir del resultado
de la descodificación de una capa base.
Como se ha descrito anteriormente, el detector
32 del vector de movimiento detecta un vector de movimiento
empleando un VOP en una capa de refuerzo y en una imagen ampliada
como imágenes de referencia. Además, como se ilustra en la figura
1, el detector 32 del vector de movimiento fija un modo de
predicción que hace mínimo el error de predicción (o dispersión).
Además, el detector 32 del vector de movimiento fija y entrega
información necesaria, tal como el señalizador código_selecc_ref,
el señalizador id_capa_ref, etc.
En la figura 12, el señalizador COD indica si un
macrobloque que constituye una imagen-I o una
imagen-P en la capa base es un macrobloque de
omisión, y se suministra el señalizador COD desde la sección 25 de
codificación de la capa base al detector 32 del vector de
movimiento, a la unidad 36 de VLC y al compensador 42 de
movimiento.
El macrobloque, cuyo vector de movimiento fue
detectado, es codificado de la misma manera que en el caso antes
mencionado. Como resultado de la codificación, se entregan los
códigos de longitud variable desde la unidad 36 de VLC.
La unidad 36 de VLC de la sección 23 de
codificación de la capa de refuerzo, como en el caso de la sección
25 de codificación de la capa base, se construye de manera que fija
y entrega señalizadores COD y MODB. En este caso, el señalizador
COD, como se ha descrito anteriormente, indica si un macrobloque en
una imagen-I o una imagen-P es un
macrobloque de omisión, mientras que el señalizador
MOD-B indica si un macrobloque de una
imagen-B es un macrobloque de omisión.
Los coeficientes cuantificados, el paso de
cuantificación, el vector de movimiento, el modo de predicción, la
magnificación FR, el señalizador código_selecc_ref, el señalizador
id_capa_ref, los datos del tamaño FSZ_E y los datos de compensación
FPOS_E son suministrados también a la unidad 36 de VLC. En la unidad
36 de VLC, éstos son codificados por una codificación de palabras
de longitud variable y entregados como salida.
Por otra parte, después de que se ha codificado
un macrobloque cuyo vector de movimiento se ha detectado, también
se descodifica localmente como se ha descrito anteriormente, y es
almacenado en la memoria 41 de fotogramas. Y en el compensador 42
de movimiento, como en el caso del detector 32 del vector de
movimiento, se efectúa la compensación del movimiento empleando
como imágenes de referencia un VOP descodificado localmente en una
capa de refuerzo, almacenado en la memoria 41 de fotogramas, y un
VOP descodificado localmente y ampliado en una capa base,
almacenado en la memoria 52 de fotogramas. Con esta compensación, se
genera una imagen pronosticada.
Es decir, además del vector de movimiento y del
modo de predicción, el señalizador código_selecc_ref, el señalizador
id_capa_ref, la magnificación FR, los datos del tamaño FSZ_B, los
datos del tamaño FSZ_E, los datos de compensación FPOS_B y los
datos de compensación FPOS_E son suministrados al compensador 42 de
movimiento. El compensador 42 de movimiento reconoce una imagen de
referencia que ha de ser compensada en movimiento, basándose en los
señalizadores código_selecc_ref e id_capa_ref. Además, en el caso en
que se emplee como imagen de referencia un VOP descodificado
localmente en una capa de refuerzo, o se emplee una imagen ampliada
como imagen de referencia, el compensador 42 de movimiento reconoce
la posición y el tamaño de la imagen de referencia en el sistema de
coordenadas absolutas, basándose en los datos de tamaño FSZ_E y
FPOS_E, o los datos de tamaño FSZ_B y los datos de compensación
FPOS_B. El compensador 42 de movimiento genera una imagen
pronosticada empleando la magnificación FR, cuando se necesite.
A continuación, la figura 15 muestra el ejemplo
de constitución de un modo de realización de un descodificador que
descodifica la cadena de bits entregada desde el codificador de la
figura 3.
Este descodificador recibe la cadena de bits
suministrada por el codificador de la figura 3, a través del camino
5 de transmisión o el medio 6 de almacenamiento. Es decir, la cadena
de bits, entregada desde el codificador de la figura 3 y
transmitido a través del camino 5 de transmisión, es recibida por el
receptor (no ilustrado).
Alternativamente, la cadena de bits grabada en
el medio 6 de almacenamiento, es regenerada por un regenerador (no
ilustrado). La cadena de bits recibida o regenerada, es suministrada
a una sección 71 de multiplexación
inversa.
inversa.
La sección 71 de multiplexación inversa recibe
la cadena de bits (cadena de vídeo (VS) descrita más adelante)
introducida en ella. Además, en la sección 71 de multiplexación
inversa, la cadena de bits introducida es separada en cadenas de
bits VO#1, VO#2, ... Las cadenas de bits son suministradas a las
correspondientes secciones 72n de descodificación de VOP,
respectivamente. En las secciones 72n de descodificación de VOP; el
VOP (datos de imagen) que constituyen un VO, los datos de tamaño
(tamaño de VOP), y los datos de compensación (compensación de VOP),
son descodificados a partir de la cadena de bits suministrada desde
la sección 71 de multiplexación inversa. Los datos descodificados
son suministrados a una sección 73 de reconstrucción de
imágenes.
La sección 73 de reconstrucción de imágenes
reconstruye el mensaje original, basándose en las respectivas
salidas de las secciones 72_{1} a 72_{N} de descodificación de
VOP. Esta imagen reconstruida es suministrada, por ejemplo, a un
monitor 74 y presentada en él.
A continuación, la figura 16 muestra el ejemplo
de constitución de la sección 72_{N} de descodificación de VOP de
la figura 15, que efectúa la escalabilidad.
La cadena de bits suministrada desde la sección
71 de multiplexación inversa (figura 15) es introducida en una
sección 91 de multiplexación inversa, en la cual la cadena de bits
de entrada es separada en una cadena de bits de un VOP en una capa
de refuerzo, y una cadena de bits de un VOP en una capa base. La
cadena de bits de un VOP en una capa de refuerzo es retardada por
un circuito 92 de retardo, en un periodo de proceso en la sección
95 de descodificación de la capa base, y es suministrada a la
sección 93 de descodificación de la capa de refuerzo. Además, la
cadena de bits de un VOP en una capa base es suministrada a la
sección 95 de descodificación de la capa base.
En la sección 95 de descodificación de la capa
base, la cadena de bits de la capa base es descodificada, y la
imagen descodificada resultante de una capa base es suministrada a
la sección 94 de transformación de la resolución. Además, en la
sección 95 de descodificación de la capa base, se suministra la
información necesaria para descodificar un VOP en una capa de
refuerzo, obtenida descodificando la cadena de bits de una capa
base, a la sección 93 de descodificación de la capa de refuerzo. La
información necesaria incluye datos de tamaño FSZ_B, datos de
compensación FPOS_B, vector de movimiento (MV), modo de predicción,
señalizador COD, etc.
En la sección 93 de descodificación de la capa
de refuerzo, la cadena de bits en una capa de refuerzo, suministrada
a través del circuito 92 de retardo, es descodificada haciendo
referencia a las salidas de la sección 95 de descodificación de la
capa base, y de la sección 94 de transformación de la resolución,
según se necesite. La imagen descodificada resultante de una capa
de refuerzo, los datos de tamaño FSZ-E, y los datos
de compensación FPOS_E, son entregados como salida. Además, en la
sección 93 de descodificación de la capa de refuerzo, la
magnificación FR, obtenida descodificando la cadena de bits de una
capa de refuerzo, es entregada como salida a la sección 94 de
transformación de la resolución. En la sección 94 de transformación
de la resolución, como en el caso de la sección 24 de
transformación de la resolución de la figura 5, la imagen
descodificada en una capa base es transformada empleando la
magnificación FR suministrada desde la sección 93 de descodificación
de la capa de refuerzo. Una imagen ampliada, obtenida con esta
transformación, es suministrada a la sección 93 de descodificación
de la capa de refuerzo. Como se ha descrito anteriormente, la imagen
ampliada se emplea para descodificar la cadena de bits de una capa
de refuerzo.
A continuación, la figura 17 muestra el ejemplo
de constitución de la sección 95 de descodificación de la capa base
de la figura 16. En la figura 17, se aplican las mismas referencias
numéricas a las partes correspondientes al caso del descodificador
de la figura 2. Es decir, básicamente la sección 95 de
descodificación de la capa base está constituida de la misma manera
que el descodificador de la figura 2.
La cadena de bits de una capa base procedente de
la sección 91 de multiplexación inversa, es suministrada a una
memoria intermedia 101 y almacenada temporalmente. Una unidad 102 de
IVLC lee la cadena de bits de la memoria intermedia 101, en
correspondencia con un estado de proceso de bloques de la siguiente
etapa, según se necesite, y se descodifica la cadena de bits
mediante una descodificación de palabras de longitud variable, y se
separa en coeficientes cuantificados, un vector de movimiento, un
modo de predicción, un paso de cuantificación, datos de tamaño
FSZ_B, datos de compensación FPOS_B, y el señalizador COD. Los
coeficientes cuantificados y el paso de cuantificación son
suministrados a un cuantificador inverso 103. El vector de
movimiento y el modo de predicción son suministrados a un
compensador 107 de movimiento, y a la sección 93 de descodificación
de la capa de refuerzo (figura 16). Además, los datos de tamaño
FSZ_B y los datos de compensación FPOS_B son suministrados al
compensador 107 de movimiento, a la sección 73 de reconstrucción de
imágenes (figura 15), y a la sección 93 de descodificación de la
capa de refuerzo, mientras que el señalizador COD es suministrado a
la sección 93 de descodificación de la capa de refuerzo.
El cuantificador inverso 103, la unidad 104 de
IDCT, la unidad aritmética 105, la memoria 106 de fotogramas, y el
compensador 107 de movimiento realizan procesos similares
correspondientes al cuantificador inverso 38, la unidad 39 de IDCT,
la unidad aritmética 40, la memoria 41 de fotogramas y el
compensador 42 de movimiento de la sección 25 de codificación de la
capa base de la figura 11, respectivamente. Con esto, se descodifica
el VOP de una capa base. El VOP descodificado es suministrado a la
sección 73 de reconstrucción de imágenes, a la sección 93 de
descodificación de la capa de refuerzo y la sección 94 de
transformación de la resolución (figura 16).
A continuación, la figura 18 muestra el ejemplo
de constitución de la sección 93 de descodificación de la capa de
refuerzo de la figura 16. En la figura 18, se aplican las mismas
referencias numéricas a las partes correspondientes al caso de la
figura 2. Es decir, básicamente, la sección 93 de descodificación de
la capa de refuerzo está constituida de la misma manera que el
descodificador de la figura 2, excepto que se proporciona una nueva
memoria 112 de fotogramas.
La cadena de bits de una capa de refuerzo
procedente de la sección 91 de multiplexación inversa, es
suministrada a una IVLC 102 a través de una memoria intermedia 101.
La unidad 102 de IVLC descodifica la cadena de bits de una capa de
refuerzo, mediante una descodificación de palabras de longitud
variable, separando con ello la cadena de bits en coeficientes
cuantificados, un vector de movimiento, un modo de predicción, un
paso de cuantificación, datos de tamaño FSZ_E, datos de
compensación FPOS_E, magnificación FR, señalizador id_capa_ref,
señalizador código_selecc_ref, señalizador COD y señalizador MODB.
Los coeficientes cuantificados y el paso de cuantificación, como en
el caso de la figura 17, son suministrados a un cuantificador
inverso 103. El vector de movimiento y el modo de predicción son
suministrados al compensador 107 de movimiento. Además, los datos
de tamaño FSZ_E y los datos de compensación FPOSE son suministrados
al compensador 107 de movimiento y a la sección 73 de
reconstrucción de imágenes (figura 15). El señalizador COD, el
señalizador MOD, señalizador id_capa_ref y el señalizador
código_selecc_ref son suministrados al compensador 107 de
movimiento. Además, la magnificación FR es suministrada al
compensador 107 de movimiento y a la sección 94 de transformación de
la resolución (figura 16).
Obsérvese que el vector de movimiento, el
señalizador COD, los datos del tamaño FSZ_B y los datos de
compensación FPOS_B de una capa base son suministrados desde la
sección 95 de descodificación de la capa base (figura 16) al
compensador 107 de movimiento, además de los datos antes
mencionados. Además, se suministra una imagen ampliada desde la
sección 94 de transformación de la resolución a la memoria 112 de
fotogramas.
El cuantificador inverso 103, la unidad 104 de
IDCT, la unidad aritmética 105, la memoria 106 de fotogramas, el
compensador 107 de movimiento y la memoria 112 de fotogramas
realizan procesos similares correspondientes al cuantificador
inverso 38, a la unidad 39 de IDCT, a la unidad aritmética 40, a la
memoria 41 de fotogramas, al compensador 42 de movimiento y a la
memoria 52 de fotogramas de la sección 23 de codificación de la capa
de refuerzo de la figura 12, respectivamente. Con esto, se
descodifica el VOP de una capa de refuerzo. El VOP descodificado se
suministra a la sección 73 de reconstrucción de imágenes.
\global\parskip0.900000\baselineskip
En este caso, en las secciones 72n de
descodificación de VOP que tienen la sección 93 de descodificación
de la capa de refuerzo y la sección 95 de descodificación de la
capa base, constituidas como se ha descrito anteriormente, se
obtienen tanto la imagen descodificada, los datos de tamaño FSZ_E y
los datos de compensación FPOS_E de una capa de refuerzo (en
adelante denominados datos de la capa de refuerzo, cuando se
necesite), como la imagen descodificada, los datos de tamaño FSZ_B
y los datos de compensación FPOS_B de la capa base (en adelante
denominados datos de la capa base, cuando se necesiten). En la
sección 73 de reconstrucción de imágenes, se reconstruye una imagen
a partir de los datos de la capa de refuerzo o de los datos de la
capa base, por ejemplo, de la manera siguiente.
Es decir, por ejemplo, en el caso en que se
realice la primera escalabilidad espacial (figura 6) (es decir, en
el caso en que todo el VOP de entrada se haga una capa de refuerzo y
todo el VOP reducido se haga una capa base), cuando se descodifican
tanto los datos de la capa base, como los datos de la capa de
refuerzo, la sección 73 de reconstrucción de imágenes dispone la
imagen descodificada (VOP) de la capa de refuerzo, de tamaño
correspondiente a los datos de tamaño FSZ_E en la posición indicada
por los datos de compensación FPOS_E, basándose solamente en los
datos de la capa de refuerzo. También, por ejemplo, cuando tiene
lugar un error en la cadena de bits de una capa de refuerzo, o
cuando el monitor 74 procesa solamente una imagen de baja resolución
y, por tanto, solamente se descodifican los datos de la capa base,
la sección 73 de reconstrucción de imágenes dispone la imagen
descodificada (VOP) de una capa de refuerzo de tamaño
correspondiente a los datos de tamaño FSZ_B, en la posición
indicada por los datos de compensación FPOS_B, basándose solamente
en los datos de capa base.
También, por ejemplo, en el caso de que se
realice la segunda escalabilidad espacial (figura 7), (es decir, en
el caso en que parte de un VOP de entrada se haga una capa de
refuerzo y todo el VOP reducido se haga una capa base), cuando se
descodifican tanto los datos de la capa base como los datos de la
capa de refuerzo, la sección 73 de reconstrucción de imágenes
amplía los datos descodificados de la capa base, del tamaño
correspondiente a los datos de tamaño FSZ_B, de acuerdo con la
magnificación FR y genera la imagen ampliada. Además, la sección 73
de reconstrucción de imágenes amplía FR veces los datos de
compensación FPOS_B y coloca la imagen ampliada en la posición
correspondiente al valor resultante. Y la sección 73 de
reconstrucción de imágenes dispone la imagen descodificada de la
capa de refuerzo con el tamaño correspondiente al tamaño de los
datos FSZ_E en la posición indicada por los datos de compensación
FPOS_E.
En este caso, la parte de la imagen
descodificada de una capa de refuerzo se presenta con mayor
resolución que la parte restante.
Obsérvese que en el caso en que se dispone la
imagen descodificada de una capa de refuerzo, la imagen
descodificada y una imagen ampliada se sintetizan mutuamente.
Además, aunque no está ilustrado en la figura 16
(figura 15), se suministra la magnificación FR desde la sección 93
de descodificación de la capa de refuerzo (secciones 72n de
descodificación de VOP) a la sección 73 de reconstrucción de
imágenes, además de los datos antes mencionados. La sección 73 de
reconstrucción de imágenes genera una imagen ampliada empleando la
magnificación FR suministrada.
Por otra parte, en el caso en que se realice la
segunda escalabilidad espacial, cuando se descodifican solamente
los datos de la capa base, se reconstruye una imagen de la misma
manera que el caso antes mencionado, donde se realiza la primera
escalabilidad espacial.
Además, en el caso en que se realice la tercera
escalabilidad espacial, (figuras 8 y 9), (es decir, en el caso en
que cada uno de los objetos que constituyen un VOP de entrada se
haga una capa de refuerzo y el VOP que excluye los objetos se haga
una capa base), se reconstruye una imagen de la misma manera que el
caso antes mencionado en el que se realiza la segunda escalabilidad
espacial.
Como se ha descrito anteriormente, los datos de
compensación FPOS_B y los datos de compensación FPOS_E se
construyen de manera que los píxeles mutuamente correspondientes,
que constituyen la imagen ampliada de una capa base y una imagen de
una capa de refuerzo, se disponen en la misma posición en el sistema
de coordenadas absolutas. Por tanto, al reconstruir una imagen de
la manera antes mencionada, se puede obtener una imagen precisa (sin
compensación de la posición).
A continuación, se describirá la sintaxis de la
salida de la cadena de bits codificados por el codificador de la
figura 3, por ejemplo, con el modelo de verificación de vídeo
(versión 6.0) del estándar MPEG-4 (en adelante
denominado VM-6.0 cuando se necesite), como
ejemplo.
La figura 19 muestra la sintaxis de una cadena
de bits codificados en VM-6.0.
La cadena de bits codificados está constituida
por clases de sesión de vídeo (VS). Cada VS está constituido por
una o más clases de objetos de vídeo (VO). Cada VO está constituido
por una o más clases de capas de objetos (VOL). (Cuando una imagen
no está estratificada, está constituida por un solo VOL. En el caso
en que la imagen esté estratificada, está constituida por las VOL
correspondientes al número de capas). Cada VOL está constituida por
clases de planos de objetos de vídeo (VOP).
\global\parskip1.000000\baselineskip
Obsérvese que las VS son una secuencia de
imágenes y equivalentes, por ejemplo, con un solo programa o
película.
Las figuras 20 y 21 muestran la sintaxis de una
VS y la sintaxis de un VO. El VO es una cadena de bits
correspondiente a una imagen completa o a una secuencia de objetos
que constituyen una imagen. Por tanto, las VS están constituidas
por un conjunto de tales secuencias. (Por tanto, las VS son
equivalentes, por ejemplo, a un solo programa).
La figura 22 muestra la sintaxis de una VOL.
La VOL es una clase para la escalabilidad antes
mencionada y está identificada por un número indicado con un
id_capa_objeto_video. Por ejemplo, el id_capa_objeto_video para una
VOL de una capa base se hace 0, mientras que el
id_capa_objeto_video para una VOL de una capa de refuerzo se hace 1.
Obsérvese que, como se ha descrito anteriormente, el número de
capas escalables no está limitado a 2, sino que puede ser un número
arbitrario que incluye 1, 3 o más.
Además, si una VOL es una imagen completa o
parte de una imagen, está identificada por la
forma_capa_objeto_
video. Esta forma_capa_objeto_video es un señalizador para indicar la forma de una VOL y se fija como sigue.
video. Esta forma_capa_objeto_video es un señalizador para indicar la forma de una VOL y se fija como sigue.
Cuando la forma de una VOL es rectangular, a la
forma_capa_objeto_video se le da, por ejemplo, el valor 00. Además,
cuando una VOL está en forma de un corte de zona por medio de una
clave dura (una señal binaria que adopta el valor 0 o 1), a la
forma_capa_objeto_video se le da, por ejemplo, el valor 01. Además,
cuando una VOL está en forma de corte de zona por medio de una
clave blanda (una señal que puede adoptar un valor continuo (escala
de grises) en una gama de 0 a 1) (cuando se sintetiza con una clave
blanda), a la forma_capa_objeto_video se le da el valor, por
ejemplo, de 10.
En este caso, cuando a la
forma_capa_objeto_video se le da el valor 00, la forma de un VOP es
rectangular y también la posición y tamaño de una VOL en el sistema
de coordenadas absolutas no varían con el tiempo, es decir, son
constantes. En este caso, los tamaños (longitud horizontal y
longitud vertical) están indicados por la anchura_capa_objeto_vídeo
y por la altura_capa_objeto_vídeo. La anchura_capa_objeto_vídeo y la
altura_capa_objeto_
vídeo son ambas señalizadores de longitud fija de 10 bits. En el caso en que la forma_capa_objeto_video sea 00, se transmite primero solamente una vez. (Esto es debido a que, en el caso en el que la forma_capa_objeto_video sea 00, como se ha descrito anteriormente, el tamaño de una VOL en el sistema de coordenadas absolutas es constante).
vídeo son ambas señalizadores de longitud fija de 10 bits. En el caso en que la forma_capa_objeto_video sea 00, se transmite primero solamente una vez. (Esto es debido a que, en el caso en el que la forma_capa_objeto_video sea 00, como se ha descrito anteriormente, el tamaño de una VOL en el sistema de coordenadas absolutas es constante).
Además, si una VOL es una capa base o una capa
de refuerzo, está indicada por la escalabilidad que es un
señalizador de 1 bit. Cuando una VOL es una capa base, a la
escalabilidad se le da, por ejemplo, el valor 1. En cualquier caso
distinto a ese, a la escalabilidad se le da, por ejemplo, el valor
0.
Además, en el caso en que una VOL emplee una
imagen en una VOL distinta a sí misma como imagen de referencia, la
VOL a la cual pertenece la imagen de referencia se representa por
id_capa_ref, como se ha descrito anteriormente. Obsérvese que el
id_capa_ref se transmite solamente cuando una VOL es una capa de
refuerzo.
En la figura 22, el factor_n_muestreo_ver y el
factor_m_muestreo_ver indican un valor correspondiente a la
longitud horizontal de un VOP en una capa base y un valor
correspondiente a la longitud horizontal de un VOP en una capa de
refuerzo, respectivamente. La longitud horizontal de una capa de
refuerzo a una capa base (magnificación de la resolución
horizontal), viene dada por la ecuación siguiente:
factor_n_muestreo_hor /
factor_m_muestreo_hor.
En la figura 22, el factor_n_muestreo_hor y el
factor_m_muestreo_hor indican un valor correspondiente a la
longitud vertical de un VOP en una capa base y un valor
correspondiente a la longitud vertical de un VOP en una capa de
refuerzo, respectivamente. La longitud vertical de una capa de
refuerzo a una capa base (magnificación de la resolución vertical)
viene dada por la ecuación siguiente:
factor_n_muestreo_ver /
factor_m_muestreo_ver.
A continuación, la figura 23 muestra la sintaxis
de un VOP.
Los tamaños (longitud horizontal y longitud
vertical) de un VOP están indicados, por ejemplo, por anchura_VOP y
altura_VOP, que tienen una longitud fija de 10 bits. Además, las
posiciones de un VOP en el sistema de coordenadas absolutas están
indicadas, por ejemplo, por ref_mc_espacial_horizontal_VOP y por
ref_mc_vertical_VOP de longitud fija de 10 bits. La anchura_VOP y
la altura_VOP, representan la longitud horizontal y la longitud
vertical de un VOP, respectivamente. Éstas son equivalentes a los
datos de tamaño FSZ_B y los datos de tamaño FSZ_E descritos
anteriormente. Las ref_mc_espacial_horizontal_VOP y la
ref_mc_vertical_VOP representan las coordenadas horizontal y
vertical (coordenadas x e y) de un VOP, respectivamente. Éstas son
equivalentes a los datos de compensación FPOS_B y los datos de
compensación FPOS_E descritos anteriormente.
\newpage
La anchura_VOP, la altura_VOP, la
ref_mc_horizontal_VOP y la ref_mc_vertical_VOP se transmiten
solamente cuando la forma_capa_objeto_vídeo no es 00. Es decir,
cuando la forma_capa_objeto_vídeo es 00, como se ha descrito
anteriormente, el tamaño y la posición de un VOP son ambos
constantes, de manera que no hay necesidad de transmitir la
anchura_VOP, la altura_VOP, la ref_mc_espacial_horizontal_VOP y
la ref_mc_vertical_VOP. En este caso, en el lado del receptor, se
dispone un VOP de manera que la esquina superior izquierda es
consistente, por ejemplo, con el origen del sistema de coordenadas
absolutas. Además, los tamaños son reconocidos a partir de la
anchura_capa_objeto_vídeo y de la altura_capa_objeto_vídeo
descritas en la figura 22.
En la figura 23, el código_selecc_ref, como se
describe en la figura 19, representa una imagen que se emplea como
una imagen de referencia, y está prescrita por la sintaxis de un
VOP.
A propósito, en VM-6.0, el
tiempo de presentación de cada VOP (equivalente a un fotograma
convencional) se determina por la base_tiempos_módulo y por el
incremento_tiempo_módulo (figura 23), de la manera siguiente:
Es decir, la base_tiempos_módulo representa el
tiempo del codificador en la base de tiempos local, con una
precisión de un segundo (1000 milisegundos). La base_tiempos_módulo
se representa como un marcador transmitido en la cabecera del VOP,
y está constituido por un número necesario de unos y un 0. El número
de "1" consecutivos que constituyen la base_tiempos_módulo
seguido por un "0" es el periodo acumulativo desde el punto de
sincronización (tiempo con la precisión de un segundo) marcado por
la última base_tiempos_módulo codificada/descodificada. Por
ejemplo, cuando la base_tiempos_módulo indica un 0, el periodo
acumulativo desde el punto de sincronización marcado por la última
base_tiempos_módulo codificada/descodificada es 0 segundos. Además,
cuando la base_tiempos_módulo indica 10, el periodo acumulativo
desde el punto de sincronización marcado por la última
base_tiempos_módulo codificada/descodificada es 1 segundo. Además,
cuando la base_tiempos_módulo indica 110, el periodo acumulativo
desde el punto de sincronización marcado por la última
base_tiempos_módulo codificada/descodificada es 2 segundos. Por
tanto, el número de unos en la base_tiempos_módulo es el número de
segundos desde el punto de sincronización marcado por la última
base_tiempos_módulo codificada/descodificada.
Obsérvese que, para la base_tiempos_módulo, el
VM-6.0 especifica que:
Este valor representa la base de tiempos local
en la unidad de resolución de un segundo (1000 milisegundos). Se
representa como un marcador transmitido en la cabecera del VOP. El
número de unos consecutivos seguidos de un 0 indica que ha
transcurrido el número de segundos desde el punto de sincronización
marcado por la última base_tiempos_módulo
codificada/descodificada.
El incremento_tiempo_VOP representa el tiempo
del codificador en la base de tiempos local dentro de la precisión
de 1 ms. En VM-6.0, para los I-VOP y
P-VOP, el incremento_tiempo_VOP es el tiempo desde
el punto de sincronización marcado por la última
base_tiempos_módulo codificada/descodificada. Para los
B-VOP, el incremento_tiempo_VOP es el tiempo
relativo desde el último I- o P-VOP
codificado/descodificado.
Obsérvese que, para el incremento_tiempo_VOP, el
VM-6.0 especifica que:
Este valor representa la base de tiempos local
en unidades de milisegundos. Para los I- y P-VOP,
este valor es el incremento_tiempo_VOP absoluto desde el punto de
sincronización marcado por la última base_tiempos_módulo. Para los
B-VOP, este valor es el incremento_tiempo_VOP
relativo desde el último I- o P-VOP
codificado/descodificado.
Y el VM-6.0 especifica que:
En el codificador, se utilizan las fórmulas
siguientes para determinar los incrementos_tiempo_VOP absoluto y
relativo para los I/P-VOP y B-VOP,
respectivamente.
Es decir, VM-6.0 prescribe que,
en el codificador, los tiempos de presentación para los
I/P-VOP y B-VOP son,
respectivamente, codificados por las fórmulas siguientes:
tGTB(n) = n x 1000 ms +
tEST
tAVT1 = tETB (I/P) =
tGTB(n)
... (1)tRVTI =
tETB(B) - tETB
(I/P)
donde tGTB(n) representa el
tiempo del punto de sincronización (como se ha descrito
anteriormente, con precisión de un segundo) marcado por la
base_tiempos_módulo enésima codificada, tEST representa el tiempo
del codificador en el inicio de la codificación del VO (el tiempo
absoluto en el cual se inició la codificación del VO), tAVT1
representa el incremento_tiempo_VOP para el I o
P-VOP, tETB(I/P) representa el tiempo del
codificador en el inicio de la codificación del I o
P-VOP (el tiempo absoluto en el cual se inició la
codificación del VOP), tRVTI representa el incremento_tiempo_VOP
para el B-VOP, y tETB(B) representa el tiempo
del codificador en el inicio de la codificación del
B-VOP.
Obsérvese que, para el tGTB(n), tEST,
tAVT1, tETB (I/P), tRVTI y tETB(B) de las fórmulas (1), el
VM-6.0 especifica que:
tGTB(n) es la base de tiempos del
codificador marcada por la enésima base_tiempos_módulo codificada,
tEST es el tiempo de inicio de la base de tiempos del codificador,
tAVTI es el incremento_tiempo_VOP absoluto para el I o el
P-VOP, tETB(I/P) es la base de tiempos del
codificador en el inicio de la codificación del I o
P-VOP, tRVTI es el incremento_tiempo_VOP relativo
para el B-VOP, y tETB(B) es la base de tiempo
del codificador en el inicio de la codificación del
B-VOP.
Además, el VM-6.0 especifica
que:
En el descodificador, se utilizan las fórmulas
siguientes para determinar la base de tiempos recuperada de los
I/P-VOP y B-VOP,
respectivamente.
Es decir, VM-6.0 prescribe que
en el lado del descodificador, los tiempos de presentación para los
I/P-VOP y los B-VOP son
descodificados, respectivamente, por las fórmulas siguientes:
tGTB(n) = n x 1000 ms +
tDST
tDTB (I/P) = tAVT1 +
tGTB(n)
...
(2)tDTB(B) = tRVTI +
tDTB(I/P)
donde tGTB(n) representa el
tiempo del punto de sincronización marcado por la
base_tiempos_módulo enésima descodificada, tDST representa el
tiempo del descodificador en el inicio de la descodificación del VO
(el tiempo absoluto en el cual se inició la descodificación del
VO), tDTB (I/P) representa el tiempo del descodificador al inicio
de la descodificación del I-VOP o
P-VOP, tAVTI representa el incremento_tiempo_VOP
para el I-VOP o el P-VOP,
tDTB(B) representa el tiempo del descodificador al inicio de
la descodificación del B-VOP (el tiempo absoluto en
el cual se inició la descodificación del VOP), tRVTI representa el
incremento_tiempo_VOP para el
B_VOP.
Obsérvese que, para el tGTB(N), tDST,
tDTB(I/P), tAVTI, tDTB(B) y tRVTI de las fórmulas (2),
el VM-6.0 especifica que:
tGTB(n) es la base de tiempos de
codificación marcada por la base_tiempos_módulo enésima
descodificada, tDST es el tiempo de inicio de la base de tiempos de
descodificación, tDTB(I/P) es la base de tiempos de
descodificación al inicio de la descodificación de I o
P-VOP, tAVTI es el incremento_tiempo_VOP absoluto de
descodificación para el I- o el P-VOP,
tDTB(B) es la base de tiempos de descodificación en el inicio
de la descodificación del B-VOP, y tRTVI es el
incremento_tiempo_VOP relativo descodificado para el
B-VOP.
La figura 24 muestra la relación entre la
base_tiempos_módulo y el incremento_tiempo_VOP, basado en la
definición anterior.
En la figura, un VO está constituido por una
secuencia de VOP, tal como I1 (I-VOP), B2
(B-VOP), B3, P4 (P-VOP), B5, P6,
etc. Supóngase ahora que el tiempo de inicio de codificación
descodificación (tiempo absoluto) del VO es t0, la
base_tiempos_módulo representará tiempo (punto de sincronización),
tal como t0 + 1 seg. t0 + 2 seg. etc., debido a que el tiempo
transcurrido desde el tiempo t0 de inicio está representado con una
precisión dentro de un segundo. En la figura 24, aunque el orden de
presentación es I1, B2, B3, P4, B5, P6, etc., el orden de
codificación/descodificación es I1, P4, B2, B3, P6, etc.
En la figura 24 (igual que las figuras 28 a 31 y
la figura 36 que se describirán más adelante), el
incremento_tiempo_VOP para cada VOP está indicado por un número (en
unidades de milisegundos) encerrados dentro de un cuadrado. La
conmutación de puntos de sincronización indicada por la
base_tiempos_módulo está indicada por una marca \ding{116}. En la
figura 24, por tanto, los incrementos_tiempo_VOP para el I1, B2, B3,
P4, B5 y P6 son 350 ms, 400 ms, 800 ms, 550 ms, 400 ms y 350 ms, y
en P4 y P6, se conmuta el punto de sincronización.
Ahora, en la figura 24, el incremento_tiempo_VOP
para la I1 es 350 ms. El tiempo de codificación/descodificación de
la I1, por tanto, es el tiempo 350 ms después del punto de
sincronización marcado por la última base_tiempos_
módulo codificada/descodificada. Obsérvese que, inmediatamente después del inicio de la codificación/descodificación de la I1, el tiempo t0 de inicio (tiempo de inicio de la codificación/descodificación) se convierte en un punto de sincronización. El tiempo de codificación/descodificación de la I1, por tanto, será el tiempo t0 + 350 ms después de los 350 ms desde el tiempo t0 de inicio (tiempo de inicio de la codificación/descodificación).
módulo codificada/descodificada. Obsérvese que, inmediatamente después del inicio de la codificación/descodificación de la I1, el tiempo t0 de inicio (tiempo de inicio de la codificación/descodificación) se convierte en un punto de sincronización. El tiempo de codificación/descodificación de la I1, por tanto, será el tiempo t0 + 350 ms después de los 350 ms desde el tiempo t0 de inicio (tiempo de inicio de la codificación/descodificación).
Y el tiempo de codificación/descodificación de
la B2 o B3 es el tiempo del incremento_tiempo_VOP que ha
transcurrido desde la última I-VOP o
P-VOP codificada/descodificada. En este caso, como
el tiempo de codificación/descodificación de la última I1
codificada/descodificada es t0 + 350 ms, el tiempo de
codificación/descodificación de B2 o B3 es el tiempo t0 + 750 ms o
t0 + 1200 ms después de 400 ms u 800 ms.
A continuación, para la P4, se conmuta en P4 el
punto de sincronización indicado por la base_tiempos_módulo. Por
tanto, el punto de sincronización es el tiempo t0 + 1 seg. Como
resultado, el tiempo de codificación/descodificación de la P4 es el
tiempo (t0 + 1) seg + 550 ms después de los 350 ms desde el tiempo
t0 + 1 seg.
El tiempo de codificación/descodificación de la
B5 es el tiempo del incremento_tiempo_VOP que ha transcurrido desde
el último I-VOP o P-VOP
codificado/descodificado. En este caso, como el tiempo de
codificación/descodifica-
ción de la última P4 codificada/descodificada es (t0 + 1) seg. + 550 ms, el tiempo de codificación/descodificación de la B5 es el tiempo (t0 + 1) seg. + 950 ms después de los 400 ms.
ción de la última P4 codificada/descodificada es (t0 + 1) seg. + 550 ms, el tiempo de codificación/descodificación de la B5 es el tiempo (t0 + 1) seg. + 950 ms después de los 400 ms.
A continuación, para la P6, se conmuta el punto
de sincronización de P6 indicado por la base_tiempos_módulo. Por
tanto, el punto de sincronización es el tiempo t0 + 2 seg. Como
resultado, el tiempo de codificación/descodificación de la P6 es el
tiempo (t0 + 2) seg. + 350 ms después de los 350 ms desde el tiempo
t0 + 2 seg.
Obsérvese que en VM-6.0, la
conmutación de los puntos de sincronización indicados por la
base_tiempos_módulo está permitida solamente para las
I-VOP y las P-VOP y no está
permitida para las B-VOP.
Además, el VM-6.0 especifica que
para las I-VOP y las P-VOP, el
incremento_tiempo_VOP es el tiempo desde el punto de sincronización
marcado por la última base_tiempos_módulo codificada/descodificada,
mientras que para las B-VOP, el
incremento_tiempo_VOP es el tiempo relativo desde el punto de
sincronización marcado por el último I-VOP o
P-VOP codificado/descodificado. Esto es
principalmente por la razón siguiente. Es decir, un
B-VOP es codificado de manera predecible empleando
como imagen de referencia el I-VOP o
P-VOP dispuestos a través del B-VOP
en orden de aparición. Por tanto, la distancia temporal al
I-VOP o al P-VOP se fija en el
incremento_tiempo_VOP para el B-VOP, de manera que
el peso, con relación al I-VOP o el
P-VOP que se emplee como imagen de referencia para
efectuar la codificación predecible, se determina a partir del
B-VOP sobre la base de la distancia temporal al
I-VOP o al P-VOP dispuestos a través
del B-VOP. Esta es la razón principal.
A propósito, la definición del
incremento_tiempo_VOP de la antes mencionada VM-6.0
tiene una desventaja. Es decir, en la figura 24, el
incremento_tiempo_VOP para un B-VOP no es el tiempo
relativo desde el último I-VOP o
P-VOP codificado/descodificado, inmediatamente antes
del B-VOP, sino el tiempo relativo desde el último
I-VOP o P-VOP presentado. Esto es
por la razón siguiente. Por ejemplo, considérese B2 o B3. El
I-VOP o el P-VOP que se
codifica/descodifica inmediatamente antes de B2 o B3, es la P4 desde
el punto de vista del orden de codificación/descodificación antes
mencionado. Por tanto, cuando se supone que el incremento_tiempo_VOP
para un B-VOP es el tiempo relativo desde el
I-VOP o P-VOP
codificado/descodificado inmediatamente antes del
B-VOP, el incremento_tiempo_VOP para B2 o B3 es el
tiempo relativo desde el momento de codificación/descodificación de
la P4, y se convierte en un valor negativo.
Por otra parte, en el estándar
MPEG-4, el incremento_tiempo_VOP es 10 bits. Si el
incremento_tiempo_VOP tiene solamente un valor igual o mayor que 0,
puede expresar un valor en la gama de 0 a 1023. Por tanto, la
posición entre puntos de sincronización contiguos puede ser
representada en unidades de milisegundos con el punto de
sincronización temporal anterior (en la dirección de la izquierda de
la figura 24) como referencia.
Sin embargo, si se permite que el
incremento_tiempo_VOP tenga no solamente un valor igual o mayor que
0, sino también un valor negativo, la posición entre puntos de
sincronización contiguos será representada con el punto de
sincronización temporal anterior como referencia, o será
representada con el siguiente punto de sincronización temporal como
referencia. Por esta razón, el proceso de cálculo del tiempo de
codificación o del tiempo de descodificación de un VOP se hace
complicado.
Por tanto, como se ha descrito anteriormente,
para el incremento_tiempo_VOP, el VM-6.0 especifica
que:
Este valor representa la base de tiempos local
en unidades de milisegundos. Para I- y P-VOP, este
valor es el incremento_tiempo_VOP absoluto desde el punto de
sincronización marcado por la última base_tiempos_módulo. Para el
B-VOP, este valor es el incremento_tiempo_VOP
relativo desde el último I- o P-VOP
codificado/descodificado.
Sin embargo, la última frase "Para los
B-VOP este valor es el incremento_tiempo_VOP
relativo desde el último I- o P-VOP
codificado/descodificado", debe cambiarse por "Para los
B-VOP, este valor es el incremento_tiempo_VOP
relativo desde el último I- o P-VOP presentado".
Con esto, el incremento_tiempo_VOP no debe ser definido como el
tiempo relativo desde el último I- o P-VOP
codificado/descodificado, sino que debe definirse como el tiempo
relativo desde el último I- o P-VOP presentado.
Definiendo el incremento_tiempo_VOP de esta
manera, la base de cálculo del tiempo de
codificación/descodifica-
ción para un B-VOP es el tiempo de presentación del I/P-VOP (I-VOP o P-VOP) que tienen un tiempo de presentación anterior al B-VOP. Por tanto, el incremento_tiempo_VOP para un B-VOP tiene siempre un valor positivo, siempre que no se presente una imagen de referencia I-VOP para el B-VOP antes del B-VOP. Por tanto, los incrementos_tiempo_VOP para los I/P-VOP tienen también un valor positivo en todo momento.
ción para un B-VOP es el tiempo de presentación del I/P-VOP (I-VOP o P-VOP) que tienen un tiempo de presentación anterior al B-VOP. Por tanto, el incremento_tiempo_VOP para un B-VOP tiene siempre un valor positivo, siempre que no se presente una imagen de referencia I-VOP para el B-VOP antes del B-VOP. Por tanto, los incrementos_tiempo_VOP para los I/P-VOP tienen también un valor positivo en todo momento.
Además, en la figura 24, la definición del
VM-6.0 se cambia también de manera que el tiempo
representado por la base_tiempos_módulo y por el
incremento_tiempo_VOP no es el tiempo de
codificación/descodificación de un VOP, sino que es el tiempo de
presentación de un VOP. Es decir, en la figura 24, cuando se
considera el tiempo absoluto en una secuencia de VOP, el
tEST(I/P) de las fórmulas (1) y el tDTB(I/P) de las
fórmulas (2) representan tiempos absolutos presentes en una
secuencia de I-VOP o de P-VOP,
respectivamente, y el tEST(B) de las fórmulas (1) y el
tDTB(B) de las fórmulas (2) representan los tiempos absolutos
presentes en una secuencia de B-VOP,
respectivamente.
A continuación, en el VM-6.0, no
se codifica el tiempo de inicio tEST de la base de tiempos del
codificador de las fórmulas (1), sino que se codifica la
base_tiempos_módulo y el incremento_tiempo_VOP como información
diferencial entre el tiempo de inicio tEST de la base de tiempos del
codificador y el tiempo de presentación de cada VOP (tiempo
absoluto que representa la posición de un VOP presente en una
secuencia de VOP). Por esta razón, en el lado del descodificador,
el tiempo relativo entre los VOP puede determinarse empleando la
base_tiempos_módulo y el incremento_tiempo_VOP, pero el tiempo
absoluto de presentación de cada VOP, es decir, la posición de cada
VOP en una secuencia de VOP, no puede ser determinada. Por tanto,
solamente la base_tiempos_módulo y el incremento_tiempo_VOP no
pueden efectuar el acceso una cadena de bits, es decir, el acceso
aleatorio.
Por otra parte, si se codifica meramente el
tiempo de inicio tEST de la base de tiempos del codificador, el
descodificador puede descodificar el tiempo absoluto de cada VOP,
empleando el tEST codificado. Sin embargo, al descodificar en la
cabecera de la cadena de bits codificados, el tiempo de inicio tEST
de la base de tiempos del codificador y también la
base_tiempos_módulo y el incremento_tiempo_VOP que son la
información de tiempo relativo de cada VOP, existe la necesidad de
controlar el tiempo absoluto acumulativo. Esto es problemático, de
manera que no puede llevarse a cabo un acceso aleatorio eficaz.
Por tanto, en el modo de realización de la
presente invención, se introduce una capa para codificar el tiempo
absoluto que está presente en una secuencia de VOP en la
constitución jerárquica de la cadena de bits codificados del
VM-6.0, para efectuar fácilmente un acceso aleatorio
eficaz. (Esta capa no es una capa que realice escalabilidad (la
capa base o la capa de refuerzo antes mencionadas) sino que es una
capa de la cadena de bits codificados). Esta capa es una capa de
cadena de bits codificados que puede ser insertada en una posición
apropiada, así como en la cabecera de la cadena de bits
codificada.
Como esta capa, este modo de realización
introduce, por ejemplo, una capa prescrita de la misma manera que
una capa de GOP (grupo de imágenes) empleada en el estándar
MPEG-1/2. Con esto, la compatibilidad entre el
estándar MPEG-4 y el estándar MPEG-1
puede ser reforzada en comparación con el caso en que se emplee una
capa original de cadena de bits codificados en el estándar
MPEG-4. Esta capa introducida ahora se denomina GOV
(o grupo de planos de objetos de vídeo (GVOP)).
La figura 25 muestra la constitución de la
cadena de bits codificados en la que se introduce una capa GOV para
codificar los tiempos absolutos presentes en una secuencia de
VOP.
La capa GOV está prescrita entre una capa VOL y
una capa VOP, de manera que puede insertarse en la posición
arbitraria de una cadena de bits codificados, así como en la
cabecera de la cadena de bits codificados.
Con esto, en el caso en que un cierto VOL#0 esté
constituido por una secuencia de VOP, tal como VOP#0,
VOP#1, ... VOP#n, VOP#(n+1), ... y VOP#m, la capa GOV puede ser insertada, por ejemplo, directamente antes de VOP#(n+1), así como directamente antes de la cabecera VOP#0. Por tanto, en el codificador, la capa GOV puede insertarse, por ejemplo, en la posición de una cadena de bits codificados en la que se efectúa el acceso aleatorio. Por tanto, al insertar la capa GOV, una secuencia de VOP que constituye un cierto VOL es separada en una pluralidad de grupos (en adelante denominada GOV, cuando se necesite) y es codificada.
VOP#1, ... VOP#n, VOP#(n+1), ... y VOP#m, la capa GOV puede ser insertada, por ejemplo, directamente antes de VOP#(n+1), así como directamente antes de la cabecera VOP#0. Por tanto, en el codificador, la capa GOV puede insertarse, por ejemplo, en la posición de una cadena de bits codificados en la que se efectúa el acceso aleatorio. Por tanto, al insertar la capa GOV, una secuencia de VOP que constituye un cierto VOL es separada en una pluralidad de grupos (en adelante denominada GOV, cuando se necesite) y es codificada.
La sintaxis de la capa GOV está definida, por
ejemplo, como se ilustra en la figura 26.
Como se ilustra en la figura, la capa GOV está
constituida por un código_inicio_grupo, un código_tiempo, un
gop_cerrado, un enlace_roto y un código_inicio_siguiente(),
dispuestos en secuencia.
A continuación, se hará una descripción de la
semántica de la capa GOV. La semántica de la capa GOV es básicamente
la misma que la capa GOP en el estándar MPEG-2. Por
tanto, para las partes que no se describen aquí, véase el estándar
de vídeo MPEG-2
(ISO/IEC-13818-2).
El código_inicio_grupo es 000001B8 (hexadecimal)
e indica la posición de inicio de un GOV.
El código_tiempo, como se ilustra en la figura
27, consiste en un señalizador_caída_fotograma, de 1 bit,
horas_código_tiempo de 5 bits, minutos_código_tiempo de 6 bits, un
bit_marcador de 1 bit, segundos_código_tiempo de 6 bits e
imágenes_código_tiempo de 6 bits. Por tanto, el código_tiempo está
constituido por 25 bits en total.
El código_tiempo es equivalente a los "códigos
de tiempo y control de los grabadores de cinta de vídeo",
prescritos en la publicación 461 del estándar IEC. En este caso, el
estándar MPEG-4 no tiene el concepto de velocidad
de fotogramas de vídeo. (Por tanto, un VOP puede ser representado en
un momento arbitrario). Por tanto, este modo de realización no
aprovecha el señalizador_caída_fotograma que indica si el
código_tiempo está descrito en el modo_caída_fotograma, y el valor
está fijado, por ejemplo, en 0. Además, este modo de realización no
aprovecha imágenes_código_tiempo por la misma razón, y el valor se
fija, por ejemplo, en 0. Por tanto, el código_tiempo utilizado en
este caso representa el tiempo de la cabecera de un GOV por las
horas_código_tiempo que representan la unidad en horas del tiempo,
los minutos_código_tiempo que representan la unidad en minutos del
tiempo, y los segundos_código_tiempo que representan la unidad en
segundos del tiempo. Como resultado, el código_tiempo (tiempo
absoluto con precisión de un segundo del inicio de la codificación)
en una capa GOV expresa el tiempo de la cabecera de la capa GOV, es
decir, el tiempo absoluto en una secuencia de VOP cuando se inicia
la codificación de la capa GOV, con una precisión dentro de un
segundo. Por esta razón, este modo de realización de la presente
invención fija el tiempo con una precisión más fina que un segundo
(en este caso, milisegundos) para cada VOP.
Obsérvese que el bit_marcador en el
código_tiempo se hace igual a 1 de manera que no continúan 23 o más
ceros en una cadena de bits codificados.
El gop_cerrado significa uno en el cual las
imágenes I-, P- y B- en la definición del gop_cerrado del estándar
de vídeo MPEG-2 (ISO/IEC 13818-2)
han sido sustituidas por un I-VOP, un
P-VOP y un B-VOP, respectivamente.
Por tanto, el B-VOP de un VOP representa no
solamente un VOP que constituye el GOV, sino que representa si el
VOP ha sido codificado con un VOP en otro GOV como imagen de
referencia. En este caso, para la definición del gop_cerrado en el
estándar de vídeo MPEG-2 (ISO/IEC
13818-29), las frases que efectúan la sustitución
antes mencionada se ilustran como sigue:
Este es un señalizador de un bit que indica la
naturaleza de las predicciones utilizadas en los primeros
B-VOP consecutivos (si los hay) que siguen
inmediatamente al primer I-VOP codificado que sigue
al grupo de cabecera del plano. El gop_cerrado se fija en 1 para
indicar que estos B-VOP han sido codificados
utilizando solamente la predicción hacia atrás o la
intra-codificación. Este bit se proporciona para ser
utilizado durante cualquier edición que tenga lugar tras la
codificación. Si se eliminan las imágenes anteriores para la
edición, el enlace_roto puede fijarse en 1, de manera que un
descodificador puede evitar la presentación de estos
B-VOP que siguen al primer I-VOP
que sigue al grupo de la cabecera del plano. Sin embargo, si el bit
de gop_cerrado se fija en 1, entonces el editor puede elegir no
fijar el bit de enlace_roto, ya que estos B-VOP
pueden ser descodificados correctamente.
El enlace_roto significa también uno en el cual
se ha efectuado la misma sustitución que en el caso del gop_cerrado
en la definición del enlace_roto del estándar de vídeo
MPEG-2 (ISO/IEC 13818-29). El
enlace_roto representa, por tanto, si se puede regenerar
correctamente el B-VOP de cabecera de un GOV. En
este caso, para la definición del enlace_roto en el estándar de
vídeo MPEG-2 (ISO/IEC 13818-2), las
frases que efectúan la sustitución antes mencionada se ilustran de
la manera siguiente:
Este es un señalizador de un bit que será fijado
en 0 durante la codificación. Se fija en 1 para indicar que los
primeros B-VOP consecutivos (si los hay), que siguen
inmediatamente al primer I-VOP codificado, que sigue
al grupo de la cabecera del plano, no puede ser descodificado
correctamente porque el fotograma de referencia que se utiliza para
la predicción no está disponible (debido a la acción de editar). Un
descodificador puede utilizar este señalizador para evitar la
presentación de fotogramas que no pueden ser descodificados
correctamente.
El código()_inicio_ siguiente da la posición de
la cabecera del siguiente GOV.
El tiempo absoluto antes mencionado en una
secuencia de GOV que introduce la capa GOV e inicia también la
codificación de la capa GOV (en adelante denominado tiempo absoluto
de inicio de la descodificación, cuando se necesite), se fija en el
código_tiempo del GOV. Además, como se ha descrito anteriormente,
como el código_tiempo en la capa GOV tiene una precisión dentro de
un segundo, este modo de realización fija una parte de precisión
más fina en el tiempo absoluto de cada VOP que está presente en una
secuencia de VOP para cada VOP.
La figura 28 muestra la relación entre el
código_tiempo, la base_tiempos_módulo y el incremento_tiempo_VOP en
el caso en que se haya introducido la capa GOV de la figura 26.
En la figura, el GOV está constituido por I1,
B2, B3, P4, B5 y P6 dispuestos en orden de presentación desde la
cabecera.
Suponiendo ahora, por ejemplo, que el tiempo
absoluto del inicio de la codificación del GOV es
0h:12m:35seg:
350mseg (0 horas, 12 minutos, 35 segundos 350 milisegundos), el código_tiempo del GOV será fijado en 0h:12m:35seg porque tiene una precisión dentro de un segundo, como se ha descrito anteriormente. (Las horas_código_tiempo, los minutos_código_tiempo_ y los segundos_código_tiempo que constituyen el código_tiempo serán fijados en 0, 12 y 35, respectivamente). Por otra parte, en el caso en que el tiempo absoluto de la I1 en una secuencia de VOP (tiempo absoluto de una secuencia de VOP antes de la codificación (o después de la codificación) de un VS que incluye el GOV de la figura 28) (ya que esto es equivalente al tiempo de presentación de la I1, cuando se presenta una secuencia de VOP, será denominado en adelante como tiempo de presentación, cuando se necesite) es, por ejemplo, 0h:12m:35seg:350mseg, la semántica del incremento_tiempo_VOP cambia de manera que 350 ms, que es una precisión más fina que la precisión de un segundo, se fija en el incremento_tiempo_VOP del I-VOP de la I1 y es codificado (es decir, de manera que la codificación se efectúa con el incremento_tiempo_VOP de la I1=350).
350mseg (0 horas, 12 minutos, 35 segundos 350 milisegundos), el código_tiempo del GOV será fijado en 0h:12m:35seg porque tiene una precisión dentro de un segundo, como se ha descrito anteriormente. (Las horas_código_tiempo, los minutos_código_tiempo_ y los segundos_código_tiempo que constituyen el código_tiempo serán fijados en 0, 12 y 35, respectivamente). Por otra parte, en el caso en que el tiempo absoluto de la I1 en una secuencia de VOP (tiempo absoluto de una secuencia de VOP antes de la codificación (o después de la codificación) de un VS que incluye el GOV de la figura 28) (ya que esto es equivalente al tiempo de presentación de la I1, cuando se presenta una secuencia de VOP, será denominado en adelante como tiempo de presentación, cuando se necesite) es, por ejemplo, 0h:12m:35seg:350mseg, la semántica del incremento_tiempo_VOP cambia de manera que 350 ms, que es una precisión más fina que la precisión de un segundo, se fija en el incremento_tiempo_VOP del I-VOP de la I1 y es codificado (es decir, de manera que la codificación se efectúa con el incremento_tiempo_VOP de la I1=350).
Es decir, en la figura 28, el
incremento_tiempo_VOP de la cabecera I-VOP (I1) de
un GOV en orden de presentación tiene un valor diferencial entre el
código_tiempo del GOV y el tiempo de presentación del
I-VOP. Por tanto, el tiempo con precisión dentro de
un segundo que representa el código_tiempo es el primer punto de
sincronización del GOV (en este caso, un punto que representa el
tiempo con precisión dentro de un segundo).
Obsérvese que, en la figura 28, la semántica de
los incrementos_tiempo_VOP para B2, B3, P4, B5 y P6 del GOV, que
están dispuestos como si el VOP fuera el segundo o posterior, es el
mismo que aquel en el cual cambia la definición del
VM-6.0, como se describe en la figura 24.
Por tanto, en la figura 28, el tiempo de
presentación de la B2 o B3 es el tiempo en el que ha transcurrido
el incremento_tiempo_VOP desde el último I-VOP o
P-VOP presentado. En este caso, como el tiempo de
presentación de la última I1 presentada es 0h:12m:35seg:350mseg, el
tiempo de presentación de la B2 o B3 es 0h:12m:35seg:750mseg o
0h:12m:36seg:200mseg después de los 400 mseg u 800 mseg.
A continuación, para la P4, se conmuta en P4 el
punto de sincronización indicado por la base_tiempos_módulo. Por
tanto, el tiempo del punto de sincronización es 0h:12m:36seg después
de 1 segundo a partir de 0h:12m:35seg. Como resultado, el tiempo de
presentación de la P4 es 0h:12m:36seg:550mseg después de los 550
mseg a partir de 0h:12m:36seg.
El tiempo de presentación de la B5 es el tiempo
en el cual ha transcurrido el incremento_tiempo_VOP desde el último
I-VOP o P-VOP presentado. En este
caso, el tiempo de presentación de la B5 es 0h:12m:36seg:950mseg
después de los 400 mseg a partir del tiempo de presentación
0h:12m:36seg:550mseg de la última P4 presentada.
A continuación, para la P6, se conmuta en P6 el
punto de sincronización indicado por la base_tiempos_módulo. Por
tanto, el tiempo del punto de sincronización es 0h:12m:35seg + 2
seg., es decir, 0h:12m:37seg. Como resultado, el tiempo de
presentación de la P6 es 0h:12m:37seg:350mseg después de los 350
mseg. a partir de 0h:12m:37seg.
A continuación, la figura 29 muestra la relación
entre el código_tiempo, la base_tiempos_módulo y el
incremento_tiempo_VOP en el caso en que el VOP de la cabecera de un
GOV sea un B-VOP en orden de presentación.
En la figura, el GOV está constituido por B0,
I1, B2, B3, P4, B5 y P6, dispuestas en orden de presentación desde
la cabecera. Es decir, en la figura 29, el GOV está constituido por
la B0 añadida antes de la I1 en la figura 28.
En este caso, si se supone que el
incremento_tiempo_VOP para la B0 de cabecera del GOV está
determinado con el tiempo de presentación de la
I/P-VOP del GOV como estándar, es decir, por
ejemplo, si se supone que se determina con el tiempo de
presentación de la I1 como estándar, el valor será un valor
negativo, que es desventajoso como se ha descrito anteriormente.
Por tanto, la semántica del
incremento_tiempo_VOP para el B-VOP que se presenta
antes del I-VOP del GOV (el B-VOP
que se presenta antes del I-VOP del GOV que se
presenta en primer lugar) cambia de la manera siguiente:
Es decir, el incremento_tiempo_VOP para tal
B-VOP tiene un valor diferencial entre el
código_tiempo del GOV y el tiempo de presentación del
B-VOP. En este caso, cuando el tiempo de
presentación de la B0 es, por ejemplo, 0h:12m:35seg:200mseg y
cuando el código_tiempo del GOV es, por ejemplo, 0h:12m:35seg, como
se ilustra en la figura 29, el incremento_tiempo_VOP para la B0 es
350 ms (=0h:12m:35seg:200mseg - 0h:12m:35seg). Si se hace de esta
manera, el incremento_tiempo_VOP tendrá siempre un valor
positivo.
Con los dos cambios antes mencionados en la
semántica del incremento_tiempo_VOP, puede hacerse una correlación
entre el código_tiempo de un GOV y la base_tiempos_módulo y el
incremento_tiempo_VOP de un VOP. Más aún, con esto, puede
especificarse el tiempo absoluto (tiempo de presentación) de cada
VOP.
A continuación, la figura 30 muestra la relación
entre el código_tiempo de un GOV y la base_tiempos_módulo y el
incremento_tiempo_VOP de un VOP en el caso en el que el intervalo
entre el tiempo de presentación del I-VOP y el
tiempo de presentación del B-VOP pronosticado desde
el I-VOP es igual a mayor que 1 segundo (exactamente
hablando, 1,023 segundos).
En la figura 30, el GOV está constituido por I1,
B2, B3, B4 y P6 dispuestos en orden de presentación. La B4 se
presenta en el instante después de 1 segundo desde el tiempo de
presentación de la última I1 presentada (I-VOP).
En este caso, cuando el tiempo de presentación
de la B4 está codificado con el incremento_tiempo_VOP antes
mencionado, cuya semántica se ha cambiado, el incremento_tiempo_VOP
es 10 bits como se ha descrito anteriormente, y puede expresar
solamente el tiempo hasta 1023. Por esta razón, no puede expresar un
tiempo mayor que 1,023 segundos. Por tanto, la semántica del
incremento_tiempo_VOP se cambia todavía más y también se cambia la
semántica de la base_tiempos_módulo con el fin de hacer frente a ese
caso.
En este modo de realización, se efectúan tales
cambios, por ejemplo, ya sea por el primer método o por el segundo
método.
Es decir, en el primer método, se detecta el
tiempo transcurrido entre el tiempo de presentación de un
I/P-VOP y el tiempo de presentación de un
B-VOP pronosticado a partir del
I/P-VOP, con una precisión dentro de un segundo.
Para el tiempo, la unidad de un segundo se expresa con la
base_tiempos_módulo, mientras que la unidad de un milisegundo se
expresa con el incremento_tiempo_VOP.
La figura 31 muestra la relación entre el
código_tiempo para un GOV y la base_tiempos_módulo y el
incremento_tiempo_VOP para un VOP, en el caso en el que la
base_tiempos_módulo y el incremento_tiempo_VOP han sido codificados
en el caso ilustrado en la figura 30, de acuerdo con el primer
método.
Es decir, en el primer método, la adición de la
base_tiempos_módulo está permitida no solamente para un
I-VOP y un P-VOP, sino también para
un B-VOP. Y la base_tiempos_módulo añadida a un
B-VOP no representa la conmutación de puntos de
sincronización, sino que representa las unidades que se llevan de
una segunda unidad obtenida a partir del tiempo de presentación del
último I/P-VOP presentado.
Más aún, en el primer método, el tiempo después
de las unidades que se llevan de una segunda unidad a partir del
tiempo de presentación del último I/P-VOP
presentado, indicado por la base_tiempos_módulo añadida a un
B-VOP, se resta del tiempo de presentación del
B-VOP, y el valor resultante se fija como
incremento_tiempo_VOP.
Por tanto, de acuerdo con el primer método, en
la figura 30, se supone que el tiempo de presentación de la I1 es
0h:12m:35seg:350mseg y también el tiempo de presentación de la B4 es
0h:12m:36seg:550mseg, entonces la diferencia entre los tiempos de
presentación de la I1 y de B4 es 1200 ms más de 1 segundo, y por
tanto la base_tiempos_módulo (ilustrada por una marca \ding{116}
en la figura 31) que indica las unidades que se llevan desde una
segunda unidad a partir del tiempo de presentación de la última I1
presentada, se añade a la B4 como se ilustra en la figura 31. Más
específicamente, la base_tiempos_módulo que se añade a la B4 es 10,
que representa las unidades que se llevan con el valor de 1 seg.
que es el valor del dígito de 1 segundo en 1200 ms. Y el
incremento_tiempo_VOP para la B4 es 200, que es el valor menor que 1
segundo, obtenido a partir de la diferencia entre los tiempos de
presentación entre la I1 y la B4 (el valor se obtiene restando del
tiempo de presentación de la B4, el tiempo posterior a las unidades
de un segundo que se llevan obtenidas desde el tiempo de
presentación del último I/P-VOP presentado, indicado
por la base_tiempos_módulo para la B4).
El proceso antes mencionado para la
base_tiempos_módulo y para el incremento_tiempo_VOP, de acuerdo con
el primer método, se efectúa en el codificador por medio de la
unidad 36 de VLC ilustrada en las figuras 11 y 12, y en el
codificador por medio de la unidad 102 de IVLS ilustrada en las
figura 17 y 18.
Por tanto, en primer lugar se describirá el
proceso para la base_tiempos_módulo y para el incremento_tiempo_VOP
que es realizado por la unidad 36 de VLC, con referencia al diagrama
de flujo de la figura 32.
La unidad 36 de VLC divide una secuencia de VOP
en los GOV y realiza el proceso para cada uno de los GOV. Obsérvese
que el GOV está constituido de manera que incluye al menos un VOP
que se codifica por intra-codificación.
Si se recibe un GOV, la unidad 36 de VLC fijará
el tiempo recibido como tiempo absoluto de inicio de la codificación
del GOV, y el GOV será codificado hasta una precisión de un segundo
del tiempo absoluto de inicio de la codificación, como
código_tiempo (se codifica el tiempo absoluto de inicio de la
codificación hasta el dígito de un segundo). El código_tiempo
codificado está incluido en una cadena de bits codificados. Cada vez
que se recibe un I/P-VOP que constituye el GOV, la
unidad 36 de VLC fija el I/P-VOP en un
I/P-VOP de atención, calcula la base_tiempos_módulo
y el incremento_tiempo_VOP del I/P-VOP de atención,
de acuerdo con el diagrama de flujo de la figura 32 y realiza la
codificación.
Es decir, en la unidad 36 de VLC, en primer
lugar, en el paso S1, se fija 0B (donde B representa un número
binario) en la base_tiempos_módulo y también se fija 0 para el
incremento_tiempo_VOP, por lo que la base_tiempos_módulo y el
incremento_tiempo_VOP son puestos a cero.
Y en el paso S2, se juzga si el
I/P-VOP de atención es el primer
I-VOP de un GOV a procesar (en adelante denominado
objeto GOV de proceso). En el paso S2, en el caso en el que se juzga
que el I/P-VOP es el primer I-VOP
del objeto GOB de proceso, el paso S2 avanza hasta el paso S4. En
el paso S4, la diferencia entre el código_tiempo del objeto GOV de
proceso y la precisión de un segundo del I/P-VOP de
proceso (en este caso, el primer I-VOP del objeto
GOV de proceso), es decir, la diferencia entre el código_tiempo y el
dígito de segundos del tiempo de presentación del
I/P-VOP de atención, se calcula y se fija a una
variable D. Después, el paso S4 avanza hasta el paso S5.
Además, en el paso S2, en el caso en que se
juzga que el I/P-VOP de atención no es el primer
I-VOP del objeto GOV de proceso, el paso S2 avanza
hasta el paso S3. En el paso S3, se calcula el valor diferencial
entre el dígito de los segundos del tiempo de presentación del
último I/P-VOP de atención, y el dígito de los
segundos del tiempo de presentación del último
I/P-VOP presentado (que se presenta inmediatamente
antes del I/P-VOP de atención del VOP que
constituye el objeto GOV de proceso) y el valor diferencial se fija
en la variable D. Después, el paso S3 continúa en el paso S5.
En el paso S5, se juzga si la variable D es
igual a 0. Es decir, se juzga si la diferencia entre el
código_tiempo y el dígito de los segundos del tiempo de
presentación del I/P-VOP de atención es igual a 0, o
se juzga si el valor diferencial entre el dígito de los segundos
del tiempo de presentación del I/P-VOP de atención y
el dígito de los segundos del tiempo de presentación del último I/P
presentado es igual a 0. En el paso S5, en el caso en que se juzga
que la variable D no es igual a 0, es decir, en el caso en que la
variable D es igual o mayor que 1, el paso S5 avanza al paso S6, en
el cual se añade 1 como bit más significativo (MSB) de la
base_tiempos_módulo. Es decir, en este caso, cuando la
base_tiempos_módulo es, por ejemplo, 0B inmediatamente antes de su
reposición, se fija en 10B. Además, cuando la base_tiempos_módulo
es, por ejemplo, 10B, se fija en 110B.
Y el paso S6 continúa en el paso S7, en el cual
se incrementa en 1 la variable D. Después, el paso S7 vuelve al
paso S5. De ahí en adelante, los pasos S5 a S7 se repiten hasta que
se juzga, en el paso S5, que la variable D es igual a 0. Es decir,
el número de unos consecutivos en la base_tiempos_módulo es el mismo
que el número de segundos correspondientes a la diferencia entre el
código_tiempo y el dígito de los segundos del tiempo de
presentación del I/P-VOP de atención, o el valor
diferencial entre el dígito de los segundos del tiempo de
presentación del I/P-VOP de atención y el dígito de
los segundos del tiempo de presentación del último
I/P-VOP presentado. Y la base_tiempos_módulo tiene
un 0 en el dígito menos significativo (LSD) de la misma.
Y en el paso S5, en el caso en que se juzga que
la variable D es igual a 0, el paso S5 avanza hasta el paso S8, en
el cual se fija un tiempo más fino que la precisión de un segundo
del tiempo de presentación del I/P-VOP de atención,
es decir, el tiempo en el cual las unidades de milisegundos, se
fijan en el incremento_tiempo_VOP, y el proceso termina.
En el circuito 36 de VLC, la base_tiempos_módulo
y el incremento_tiempo_VOP de un I/P-VOP de atención
calculado de la manera antes mencionada, son añadidos al
I/P-VOP de atención. Con esto, se incluye en una
cadena de bits codificados.
Obsérvese que la base_tiempos_módulo, el
incremento_tiempo_VOP y el código_tiempo son codificados en el
circuito 36 de VLC mediante la codificación de palabras de longitud
variable.
Cada vez que se recibe un B-VOP
que constituye un objeto GOV de proceso, la unidad 36 de VLC fija el
B-VOP en un B-VOP de atención,
calcula la base_tiempos_módulo y el incremento_tiempo_VOP del
B-VOP de atención, de acuerdo con un diagrama de
flujo de la figura 33, y realiza la codificación.
Es decir, en la unidad 36 de VLC, en el paso
S11, como en el caso del paso S1 de la figura 32, se hace primero
una reposición de la base_tiempos_módulo y del
incremento_tiempo_VOP.
Y el paso S11 avanza hasta el paso S12, en el
cual se juzga si el B-VOP de atención se presenta
antes que el primer I-VOP del objeto GOV de
proceso. En el paso S12, en el caso en que se juzga que el
B-VOP de atención es uno que se presenta antes del
primer I-VOP del objeto GOV de proceso, el paso S12
avanza al paso S14. En el paso S14, se calcula la diferencia entre
el código_tiempo del objeto GOV de proceso y el tiempo de
presentación del B-VOP de atención (en este caso,
el B-VOP que se presenta antes que el primer
I-VOP del objeto GOV de proceso) y se fija en una
variable D. Después, el paso S13 avanza hacia el paso S15. Por
tanto, en la figura 33, se fija en la variable D un tiempo con la
precisión de un milisegundo (el tiempo hasta el dígito de
milisegundos), (por otra parte, el tiempo con la precisión de un
segundo se fija en la variable de la figura 32, como se ha descrito
anteriormente).
Además, en el paso S12, en el caso en que se
juzga que el B-VOP de atención es uno que se
presenta después del primer I-VOP del objeto GOV de
proceso, el paso S12 avanza hasta el paso S14. En el paso S14, se
calcula el valor diferencial entre el tiempo de presentación del
B-VOP de atención y el tiempo de presentación del
último I/P-VOP presentado (que se presenta
inmediatamente antes del B-VOP de atención del VOP
que constituye el objeto GOV de proceso) y el valor diferencial se
fija en la variable D. Después, el paso S13 avanza hasta el paso
S15.
En el paso S15 se juzga si la variable D es
mayor que 1. Es decir, se juzga si el valor de la diferencia entre
el código_tiempo y el tiempo de presentación del
B-VOP de atención es mayor que 1, o se juzga si el
valor de la diferencia entre el tiempo de presentación del
B-VOP de atención y el tiempo de presentación del
último I/P-VOP presentado es mayor que 1. En el
paso S15, en el caso en que se juzgue que la variable D es mayor
que 1, el paso S15 continúa en el paso S17, en el cual se añade 1
como bit más significativo (MSB) de la base_tiempos_módulo. En el
paso S17, se disminuye en 1 la variable D. Después, el paso S17
vuelve al paso S15. Y hasta que se juzga en el paso S15 que la
variable D no es mayor que 1, se repiten los pasos S15 a S17. Es
decir, con esto, el número de unos consecutivos en la
base_tiempos_módulo es el mismo que el número de segundos
correspondientes a la diferencia entre el código_tiempo y el tiempo
de presentación del B-VOP de atención o el valor
diferencial entre el tiempo de presentación del
B-VOP de atención y el tiempo de presentación del
último I/P-VOP presentado. Y la base_tiempos_módulo
tiene un 0 como dígito menos significativo (LSD) de la misma.
Y en el paso S15, en el caso en que se juzgue
que la variable D no es mayor que 1, el paso S15 continúa en el
paso S18, en el cual el valor de la variable D actual, es decir, el
valor diferencial entre el código_tiempo y el tiempo de
presentación del B-VOP de atención, o el dígito de
milisegundos a la derecha del dígito de los segundos del
diferencial entre el tiempo de presentación del
B-VOP de atención y el tiempo de presentación del
último I/P-VOP presentado, se fija en el
incremento_tiempo_VOP, y el proceso termina.
En el circuito 36 de VLC, la base_tiempos_módulo
y el incremento_tiempo_VOP de un B-VOP de atención
calculado de la manera antes mencionada, son añadidos al
B-VOP de atención. Con esto, se incluye en una
cadena de bits codificados.
A continuación, cada vez que se reciben los
datos codificados para cada VOP, la unidad 102 de IVLC procesa el
VOP como un VOP de atención. Con este proceso, la unidad 102 de IVLC
reconoce el tiempo de presentación de un VOP incluido en una cadena
codificada que la unidad 36 de VLC entrega como salida dividiendo
una secuencia de VOP en los GOV, y también procesando cada GOV de
la manera antes mencionada. Después, la unidad 102 de IVLC efectúa
la codificación de palabras de longitud variable, de manera que se
presenta el VOP en el tiempo de presentación reconocido. Es decir,
si se recibe un GOV, la unidad 102 de IVLC reconocerá el
código_tiempo del GOV. Cada vez que se recibe un
I/P-VOP que constituye el GOV, la unidad 102 de IVLC
fija el I/P-VOP en un I/P-VOP de
atención, y calcula el tiempo de presentación del
I/P-VOP de atención basándose en la
base_tiempos_módulo y el incremento_tiempo_VOP del
I/P-VOP de atención, de acuerdo con un diagrama de
flujo de la figura 34.
Es decir, en la unidad 102 de IVLC, en primer
lugar se juzga en el paso S21 si el I/P-VOP de
atención es el primer I-VOP del objeto GOV de
proceso. En el paso S21, en el caso en que se juzga si el
I/P-VOP de atención es el primer
I-VOP del objeto GOV de proceso, el paso S21
continúa en el paso S23. En el paso S23, se fija el código_tiempo
del objeto GOV de proceso en una variable T, y el paso S23 continúa
en el paso S24.
Además, en el paso S21, en el caso en que se
juzgue que el I/P-VOP de atención no es el primer
I-VOP del objeto GOV de proceso, el paso S21
continúa en el paso S22. En el paso S22, se fija en la variable T un
valor de hasta el dígito de los segundos del tiempo de presentación
del último I/P-VOP presentado (que es uno de los
VOP que constituyen el objeto GOV de proceso) presentado
inmediatamente antes del I/P-VOP de atención.
Después, el paso S22 continúa en el paso S24.
En el paso S24, se juzga si la
base_tiempos_módulo añadida al I/P-VOP de atención
es igual a 0B. En el paso S24, en el caso en que se juzgue que la
base_tiempos_módulo añadida al I/P-VOP de atención
no es igual a 0B, es decir, en el caso en que la
base_tiempos_módulo añadida al I/P-VOP de atención
incluya un 1, el paso S24 continúa en el paso S25, en el cual se
elimina el 1 del MSB de la base_tiempos_módulo. El paso S25 continúa
en el paso S26, en el cual se incrementa la variable T en 1.
Después, el paso S26 vuelve al paso S24. De ahí en adelante, hasta
que en el paso S24 se juzgue que la base_tiempos_módulo añadida al
I/P-VOP de atención es igual a 0B, se repiten los
pasos S24 a S26. Con esto, la variable T se incrementa en el número
de segundos que corresponde al número de unos de la primera
base_tiempos_módulo añadida al I/P-VOP de
atención.
Y en el paso S24, en el caso en que la
base_tiempos_módulo añadida al I/P-VOP de atención
sea igual a 0B, el paso S24 continúa en el paso S27, en el cual se
añade a la variable T el tiempo con precisión de un milisegundo,
indicado por el incremento_tiempo_VOP. El valor añadido se reconoce
como el tiempo de presentación del I/P-VOP de
atención y el proceso termina.
A continuación cuando se recibe un
B-VOP que constituye el objeto GOV de proceso, la
unidad 102 de IVLC fija el B-VOP en un
B-VOP de atención y calcula el tiempo de
presentación del B-VOP de atención, basándose en la
base_tiempos_módulo y en el incremento_tiempo_VOP del
B-VOP de atención, de acuerdo con un diagrama de
flujo de la figura 35.
Es decir, en la unidad 102 de IVLC, en primer
lugar, en el paso S31, se juzga si el B-VOP de
atención es uno que se presenta antes del primer
I-VOP del objeto GOV de proceso. En el paso S31, en
el caso en que se juzga que el B-VOP de atención es
uno que se presenta antes del primer I-VOP del
objeto GOV de proceso, el paso S31 continúa en el paso S33. De ahí
en adelante, en los pasos S33 a S37, como en el caso de los pasos
S23 a S27 de la figura 34, se efectúa un proceso similar, con lo
que se calcula el tiempo de presentación del B-VOP
de atención.
Por otra parte, en el paso S31, en el caso en
que se juzgue que el B-VOP de atención es uno que se
presenta después del primer I-VOP del objeto GOV de
proceso, el paso S31 continúa en el paso S32. De ahí en adelante,
en los pasos S32 y S34 a S37, como en el caso de los pasos S22 y S24
a S27 de la figura 34, se efectúa un proceso similar, con lo que se
calcula el tiempo de presentación del B-VOP de
atención.
A continuación, en el segundo método, se calcula
el tiempo entre el tiempo de presentación de un
I-VOP y el tiempo de presentación de un
B-VOP pronosticado a partir del
I-VOP, hasta el dígito de los segundos. El valor se
expresa con la base_tiempos_módulo, mientras que se expresa la
precisión de milisegundos del tiempo de presentación de
B-VOP con el incremento_tiempo_VOP. Es decir, la
VM-6.0, como se ha descrito anteriormente, la
distancia temporal a un I-VOP o
P-VOP se fija en el incremento_tiempo_VOP para un
B-VOP, de manera que el peso, con relación al
I-VOP o P-VOP que se emplea como
imagen de referencia para efectuar la codificación de predicción
del B-VOP, se determina a partir del
B-VOP sobre la base de la distancia temporal al
I-VOP o P-VOP dispuestos a través
del B-VOP. Por esta razón, el incremento_tiempo_VOP
para el I-VOP o P-VOP es diferente
del tiempo desde el punto de sincronización marcado por la última
base_tiempos_módulo codificada/descodificada. Sin embargo, si se
calcula el tiempo de presentación de un B-VOP y
también el I-VOP o P-VOP dispuestos
a través del B-VOP, la distancia temporal entre
ellos puede calcularse por la diferencia entre ellos. Por tanto, hay
muy poca necesidad de manejar solamente el incremento_tiempo_VOP
para el B-VOP independientemente de los
incrementos_tiempo_VOP del I-VOP y del
P-VOP. Por el contrario, desde el punto de vista de
la eficacia del proceso, es preferible que todos los
incrementos_tiempo_VOP (información detallada del tiempo) para los
I-, B- y P-VOP y, además, la base_tiempos_módulo
(información de tiempo con precisión de segundos) sean manejados de
la misma manera.
Por tanto, en el segundo método, la
base_tiempos_módulo y el incremento_tiempo_VOP para el
B-VOP se manejan de la misma manera que las de los
I/P-VOP.
La figura 36 muestra la relación entre el
código_tiempo para un GOV y la base_tiempos_módulo y el
incremento_tiempo_VOP en el caso en que la base_tiempos_módulo y el
incremento_tiempo_VOP hayan sido codificados de acuerdo con el
segundo método, por ejemplo, en el caso ilustrado en la figura
30.
Es decir, incluso en el segundo método, se
permite la adición de la base_tiempos_módulo no solamente para un
I-VOP y un P-VOP, sino también para
un B-VOP. Y la base_tiempos_módulo añadida a un
B-VOP, como la base_tiempos_módulo añadida a un
I/P-VOP, representa la conmutación de los puntos de
sincronización.
Además, en el segundo método, el tiempo de
sincronización marcado por la base_tiempos_módulo añadida a un
B-VOP se resta del tiempo de presentación del
B-VOP, y el valor resultante se fija como
incremento_tiempo_VOP.
Por tanto, de acuerdo con el segundo método, en
la figura 30, las bases_tiempo_módulo para I1 y B2, presentadas
entre el primer punto de sincronización de un GOV (que es el tiempo
representado por el código_tiempo del GOV) y el punto de
sincronización marcado por el código_tiempo + 1 segundo, son ambos
0B. Y los valores de la unidad de milisegundos inferior a la unidad
de segundos de los tiempos de presentación de la I1 y la B2, se
fijan en los incrementos_tiempo_VOP para I1 y B2, respectivamente.
Además, las bases_tiempo_módulo para B3 y B4, presentadas entre el
punto de sincronización marcado por el código_tiempo + 1 segundo y
el punto de sincronización marcado por el código_tiempo + 2
segundos, son ambos 10B. Y los valores de la unidad de milisegundos
inferior a la unidad de segundos de los tiempos de presentación de
la B3 y B4 se fijan en los incrementos_tiempo_VOP para B3 y B4,
respectivamente. Además, la base_tiempos_módulo para P5, presentada
entre el punto de sincronización marcado por el código_tiempo + 2
segundos y el punto de sincronización marcado por el código_tiempo
+ 3 segundos, es 110B. Y el valor de la unidad de milisegundos
inferior a la unidad de segundos del tiempo de presentación de la
P5 se fija en el incremento_tiempo_VOP para la P5.
Por ejemplo, en la figura 30, si se supone que
el tiempo de presentación de la I1 es 0h:12m:35s:350ms y también
que el tiempo de presentación de la B4 es 0h:12m:36s:550ms, como se
ha descrito anteriormente, las bases_tiempo_módulo para I1 y B4 son
0B y 10B, respectivamente. Además, los incrementos_tiempo_VOP para
I1 y B4 son 0B, 350 ms y 550 ms (que son la unidad de milisegundos
del tiempo de presentación), respectivamente.
El proceso antes mencionado para la
base_tiempos_módulo y el incremento_tiempo_VOP, de acuerdo con el
segundo método, como en el caso del primer método, lo efectúa la
unidad 36 de VLC ilustrada en las figuras 11 y 12, y también por la
unidad 102 de IVLC ilustrada en las figuras 17 y 18.
Es decir, la unidad 36 de VLC calcula la
base_tiempos_módulo y el incremento_tiempo_VOP para un
I/P-VOP, de la misma manera que en el caso de la
figura 32.
Además, para un B-VOP, cada vez
que se recibe el B-VOP que constituye un GOV, la
unidad 36 de VLC fija el B-VOP en un
B-VOP de atención y calcula la base_tiempos_módulo y
el incremento_tiempo_VOP del B-VOP de atención, de
acuerdo con un diagrama de flujo de la figura 37.
Es decir, en la unidad 36 de VLC, en primer
lugar, en el paso S41 se hace una reposición de la
base_tiempos_módulo y del incremento_tiempo_VOP, de la misma manera
que en el caso del paso S1 de la figura 32.
Y el paso S41 continúa en el paso S42, en el
cual se juzga si el B-VOP de atención es el que se
presenta antes del primer I-VOP de un GOV a
procesar (un objeto GOV de proceso). En el paso S42, en el caso en
que se juzga si el B-VOP de atención en uno que se
presenta antes del primer I-VOP del objeto GOV de
proceso, el paso S42 continúa en el paso S44. En el paso S44, la
diferencia entre el código_tiempo del objeto GOV de proceso y la
precisión en segundos del B_VOP de atención, es decir, se calcula la
diferencia entre el código_tiempo y el dígito de los segundos del
tiempo de presentación del B-VOP de atención, y se
fija en una variable D. Después, el paso S44 continúa en el paso
S45.
Además, en el paso S42, en el caso en que se
juzgue que el B-VOP de atención es el que se
presenta después del primer I-VOP del objeto GOV de
proceso, el paso S42 continúa en el paso S43. En el paso S43, se
calcula el valor diferencial entre el dígito de los segundos y el
tiempo de presentación del B-VOP de atención y el
dígito de los segundos del tiempo de presentación del último
I/P-VOP presentado (que es uno de los VOP que
constituyen el objeto GOV de proceso, presentado inmediatamente
antes del B-VOP de atención) y se fija el valor
diferencial en la variable D. Después, el paso S43 continúa en el
paso S45.
En el paso S45 se juzga si la variable D es
igual a 0. Es decir, se juzga si la diferencia entre el
código_tiempo y el dígito de los segundos del tiempo de
presentación del B-VOP de atención es igual a 0, o
se juzga si el valor diferencial entre el dígito de los segundos
del tiempo de presentación del B-VOP de atención y
el dígito de los segundos del tiempo de presentación del último
I/P-VOP presentado es igual a 0 segundos. En el paso
S45, en el caso en que se juzga si la variable D no es igual a 0,
es decir, en el caso en que la variable D es igual o mayor que 1,
el paso S45 continúa en el paso S46, en el cual se suma 1 al MSB de
la base_tiempos_módulo.
Y el paso S46 avanza hasta el paso S47, en el
cual la variable D se incrementa en 1. Después, el paso S47 vuelve
al paso S45. De ahí en adelante, hasta el paso S45 en que se juzga
si la variable D es igual a 0, se repiten los pasos S45 a S47. Es
decir, con esto, el número de unos consecutivos en la
base_tiempos_módulo es el mismo que el número de segundos
correspondientes a la diferencia entre el código_tiempo y el dígito
de los segundos del tiempo de presentación del B-VOP
de atención o el valor diferencial entre el dígito de los segundos
del tiempo de presentación del B-VOP de atención y
el dígito de los segundos del tiempo de presentación del último
I/P-VOP presentado. Y la base_tiempos_módulo tiene
un 0 en el LSD de la misma.
Y en el paso S45, en el caso en que se juzga que
la variable D es igual a cero, el paso 45 continúa en el paso S48,
en el cual el tiempo con precisión más fina que los segundos del
tiempo de presentación del B-VOP de atención, es
decir, el tiempo en la unidad de milisegundos, se fija en el
incremento_tiempo_VOP, y el proceso termina.
Por otra parte, para un I/P-VOP,
la unidad 102 de IVLC calcula el tiempo de presentación del
I/P-VOP, basándose en la base_tiempos_módulo y en
el incremento_tiempo_VOP, de la misma manera que el caso antes
mencionado de la figura 34.
Además, para un B-VOP, cada vez
que se recibe el B-VOP que constituye un GOV, la
unidad 102 de IVLC fija el B-VOP en un
B-VOP de atención y calcula el tiempo de
presentación del B-VOP de atención, basándose en la
base_tiempos_módulo y en el incremento_tiempo_VOP del
B-VOP de atención, de acuerdo con un diagrama de
flujo de la figura 38.
Es decir, en la unidad 102 de IVLC, en primer
lugar, en el paso S51 se juzga si el B-VOP de
atención es uno que se presenta antes que el primer
I-VOP del objeto GOV de proceso. En el paso S51, en
el caso en que se juzga que el B-VOP de atención es
el que se presenta antes que el primer I-VOP del
objeto GOV de proceso. En el paso S51, en el caso en que se juzga
que el B-VOP de atención es uno que se presenta
antes del primer I-VOP del objeto GOV de proceso,
el paso S51 continúa en el paso S52. En el paso S52, el
código_tiempo del objeto GOV de proceso se fija en una variable T,
y el paso S52 continúa en el paso S54.
Además, en el paso S51, en el caso en que se
juzga que el B-VOP de atención es uno que se
presenta después del primer I-VOP del objeto GOV de
proceso, el paso S51 continúa en el paso S53. En el paso S53, se
fija en la variable T un valor hasta el dígito de los segundos del
tiempo de presentación del último I/P-VOP presentado
(que es uno de los VOP que constituye el objeto GOV de proceso,
presentado inmediatamente antes del B-VOP de
atención). Después, el paso S53 continúa en el paso S54.
En el paso S54 se juzga si la
base_tiempos_módulo añadida al B-VOP de atención es
igual a 0B. En el paso S54, en el caso en que se juzga que la
base_tiempos_módulo añadida al B-VOP de atención no
es igual a 0B, es decir, en el caso en que la base_tiempos_módulo
añadida al B-VOP de atención incluye 1, el paso S54
continúa en el paso S55, en el cual se elimina el 1 del MSB de la
base_tiempos_módulo. El paso S55 continúa en el paso S56, en el
cual se incrementa en 1 la variable T. Después, el paso S56 vuelve
al paso S54.
De ahí en adelante, hasta que se juzga en el
paso S54 que la base_tiempos_módulo añadida al B-VOP
de atención es igual a 0B, se repiten los pasos S54 a S56. Con
esto, la variable T se incrementa en el número de segundos que se
corresponde con el número de unos en la primera base_tiempos_módulo
añadida al B-VOP de atención.
Y en el paso S54, en el caso en que la
base_tiempos_módulo añadida al B-VOP de atención sea
igual a 0B, el paso S54 avanza hasta el paso S57, en el cual se
añade a la variable T, un tiempo con la precisión de un milisegundo,
indicado por el incremento_tiempo_VOP. El valor añadido se reconoce
como tiempo de presentación del B-VOP de atención, y
el proceso termina.
Así, en el modo de realización de la presente
invención, la capa GOV para codificar el tiempo absoluto de inicio
de la codificación, se introduce en la constitución jerárquica de
una cadena de bits codificados. Esta capa GOV puede ser insertada
en una posición apropiada de la cadena de bits codificados, así como
en la cabecera de la cadena de bits codificados. Además, las
definiciones de la base_tiempos_módulo y del incremento_tiempo_VOP
prescritos en la VM-6.0 se han cambiado como se ha
descrito anteriormente. Por tanto, se hace posible en todos los
casos calcular el tiempo de presentación (tiempo absoluto) de cada
VOP, independientemente de la disposición de los tipos de imágenes
de los VOP y del intervalo de tiempo entre VOP contiguos.
Por tanto, en el codificador, el tiempo absoluto
de inicio de la codificación se codifica en una unidad GOV y
también se codifican la base_tiempos_módulo y el
incremento_tiempo_VOP. Los datos codificados son incluidos en una
cadena de bits codificados. Con esto, en el descodificador, el
tiempo absoluto de inicio de la codificación puede ser
descodificado en la unidad GOV y también pueden descodificarse la
base_tiempos_módulo y el incremento_tiempo_VOP de cada VOP. Y el
tiempo de presentación de cada VOP puede ser descodificado, de
manera que se hace posible realizar el acceso aleatorio
eficientemente en una unidad GOV.
Obsérvese que si el número de unos que son
añadidos a la base_tiempos_módulo aumenta meramente cuando se
conmuta un punto de sincronización, alcanzará un enorme número de
bits. Por ejemplo, si ha transcurrido una hora (3600 segundos)
desde el tiempo marcado por código_tiempo (en el caso en que un GOV
esté constituido por los VOP equivalentes e ese tiempo), la
base_tiempos_módulo alcanzará los 3601 bits, porque está constituida
por un 1 de 3600 bits y un 0 de 1 bit.
\newpage
Por tanto, en el MPEG-4, la
base_tiempos_módulo está prescrita de manera que se pone a cero en
un I/P-VOP que es el primero presentado después de
que se haya conmutado un punto de sincronización.
Por tanto, por ejemplo, como se ilustra en la
figura 39, en el caso en que un GOV esté constituido por I1 y B2,
presentadas entre el primer punto de sincronización del GOV (que es
el tiempo representado por el código_tiempo del GOV) y el punto de
sincronización marcado por el código_tiempo + 1 segundo, B3 y B4
presentadas entre el punto de sincronización marcado por el
código_tiempo + 1 segundo y el punto de sincronización marcado por
el código_tiempo + 2 segundos, P5 y P6 presentadas entre el punto de
sincronización marcado por el código_tiempo + 2 segundos y el punto
de sincronización marcado por el código_tiempo + 3 segundos, B7
presentada entre el punto de sincronización marcado por el
código_tiempo + 3 segundos y el punto de sincronización marcado por
el código_tiempo + 4 segundos, y B8 presentada entre el punto de
sincronización marcado por el código_tiempo + 4 segundos y el punto
de sincronización marcado por el código_tiempo + 5 segundos, las
bases_tiempo_módulo para la I1 y B2, presentadas entre el primer
punto de sincronización del GOV y el punto de sincronización
marcado por el código_tiempo + 1 segundo, son fijadas en 0B.
Además, las bases_tiempo_módulo para la B3 y B4,
presentadas entre el punto de sincronización marcado por el
código_tiempo + 1 segundo y el punto de sincronización marcado por
el código_tiempo + 2 segundos, se fijan en 10B. Además, la
base_tiempos_módulo para la P5, presentada entre el punto de
sincronización marcado por el código_tiempo + 2 segundos y el punto
de sincronización marcado por el código_tiempo + 3 segundos, se fija
en 110B.
Como la P5 es un P-VOP que se
presenta en primer lugar después de que se ha conmutado el primer
punto de sincronización de un GOV, al punto de sincronización
marcado por el código_tipo + 1 segundo, la base_tiempos_módulo para
la P5 se fija en 0B. La base_tiempos_módulo para la B6, que se
presenta después de la B5, se fija bajo la suposición de que un
punto de sincronización de referencia, utilizado para calcular el
tiempo de presentación de la P5, es decir, el punto de
sincronización marcado por el código_tiempo + 2 segundos en este
caso, es el primer punto de sincronización del GOV. Por tanto, la
base_tiempos_módulo para la B6 se fija en 0B.
De ahí en adelante, la base_tiempos_módulo para
la B7, presentada entre el punto de sincronización marcado por el
código_tiempo + 3 segundos y el punto de sincronización marcado por
el código_tiempo + 4 segundos, se fija en 10B. La
base_tiempos_módulo para la B8, presentada entre el punto de
sincronización marcado por el código_tiempo + 4 segundos y el punto
de sincronización marcado por el código_tiempo + 5 segundos, se fija
en 110B.
El proceso en el codificador (unidad 36 de VLC)
descrito en las figuras 32, 33 y 37 se realiza de manera que fija
la base_tiempos_módulo de la manera antes mencionada.
Además, en este caso, cuando se detecta el
primer I/P-VOP presentado tras la conmutación de
puntos de sincronización, en el descodificador (unidad 102 de IVLC)
hay la necesidad de sumar el número de segundos indicado por la
base_tiempos_módulo para el I/P-VOP, con el código
tiempo y calcular el tiempo de presentación. Por ejemplo, en el
caso ilustrado en la figura 39, los tiempos de presentación de I1 a
P5 se pueden calcular sumando el número de segundos
correspondientes a la base_tiempos_módulo de cada VOP y el
incremento_tiempo_VOP con el código_tiempo. Sin embargo, los
tiempos de presentación de B6 a B8, presentados tras P5, que se
presenta en primer lugar tras una conmutación de puntos de
sincronización, necesitan ser calculados sumando el número de
segundos correspondientes a la base_tiempos_módulo de cada VOP y el
incremento_tiempo_VOP con el código_tiempo y, además, sumando 2
segundos que es el número de segundos correspondiente a la
base_tiempos_módulo de P5. Por esta razón, el proceso descrito en
las figuras 34, 35 y 38, se efectúa para calcular el tiempo de
presentación de la manera antes mencionada.
A continuación, el codificador y descodificador
antes mencionados pueden también ser materializados por un hardware
específico o haciendo que un computador ejecute un programa que
realice el proceso antes mencionado.
La figura 40 muestra un ejemplo de constitución
de un modo de realización de un computador que funciona como el
codificador de la figura 3 o el descodificador de la figura 15.
Una memoria de sólo lectura (ROM) 201 almacena
un programa de arranque, etc. Una unidad central de proceso 202
efectúa diversos procesos ejecutando un programa almacenado en un
disco duro (HD) 206 en una memoria de acceso aleatorio (RAM) 203.
La RAM 203 almacena programas temporalmente que son ejecutados por
la CPU 202 o los datos necesarios para ser procesados por la CPU.
Una sección 204 de entrada está constituida por un teclado o un
ratón. La sección 204 de entrada se acciona cuando se introduce una
orden o unos datos necesarios. Una sección 205 de salida está
constituida, por ejemplo, por una pantalla y presenta unos datos de
acuerdo con el control de la CPU 202. El HD 206 almacena programas
que han de ejecutarse por la CPU 202, datos de imagen a codificar,
datos codificados (cadena de bits codificados), datos de imagen
descodificados, etc. Un interfaz (I/F) 207 de comunicaciones recibe
los datos de imagen de un objeto de codificación desde un equipo
externo, o transmite una cadena de bits codificados a equipos
externos, controlando la comunicación entre él y el equipo externo.
Además, el I/F 207 de comunicaciones recibe una cadena de bits
codificados desde una unidad externa o transmite datos codificados
de imagen descodificados a una unidad externa.
Al hacer que la CPU 202 del computador así
constituido, ejecute un programa que realiza el proceso antes
mencionado, este computador funciona como un codificador de la
figura 3 o el descodificador de la figura 15.
En el modo de realización de la presente
invención, aunque el incremento_tiempo_VOP representa el tiempo de
presentación de un VOP en la unidad de los milisegundos, el
incremento_tiempo_VOP puede hacerse también como sigue. Esto es, el
tiempo entre un punto de sincronización y el siguiente punto de
sincronización se divide en N puntos, y el incremento_tiempo_VOP
puede ser fijado en un valor que representa la posición enésima del
punto dividido correspondiente al tiempo de presentación de un VOP.
En el caso en que el incremento_tiempo_VOP se defina así, si N =
1000, representará el tiempo de presentación de un VOP en la unidad
de milisegundos. En este caso, aunque se requiere la información
sobre el número de puntos divididos entre puntos de sincronización
contiguos, el número de puntos divididos puede ser predeterminado o
el número de puntos divididos incluidos en una capa superior a la
capa GOV puede ser transmitido a un descodificador.
De acuerdo con el codificador de imágenes y con
el método de codificación de imágenes expuestos, se divide una o
más capas de cada secuencia de objetos que constituyen una imagen en
una pluralidad de grupos, y los grupos son codificados. Por tanto,
se hace posible tener un acceso aleatorio al resultado codificado en
una unidad de grupos.
De acuerdo con el descodificador de imágenes y
con el método de descodificación de imágenes expuestos, se
descodifica una cadena de bits codificados, obtenida al dividir una
o más capas de cada secuencia de objetos que constituyen la imagen
en una pluralidad de grupos, y también codificando los grupos. Por
tanto, se hace posible tener un acceso aleatorio a la cadena de
bits codificados en una unidad de grupos y descodificar la cadena de
bits.
De acuerdo con el medio de distribución
expuesto, se distribuye una cadena de bits codificados, obtenida al
dividir una o más capas de cada secuencia de objetos que constituyen
la imagen, en una pluralidad de grupos y también codificando los
grupos. Por tanto, se hace posible tener un acceso aleatorio a la
cadena de bits codificados en una unidad de grupos.
De acuerdo con el codificador de imágenes y con
el método de codificación expuestos, se genera la información de
tiempos con precisión de un segundo, que indica el tiempo con
precisión dentro de un segundo, y se genera la información
detallada de tiempos, que indica un periodo de tiempo entre la
información de tiempo con precisión de un segundo, directamente
antes del tiempo de presentación de I-VOP,
P-VOP o B-VOP y el tiempo de
presentación dentro de una precisión más fina que un segundo. Por
tanto, se hace posible reconocer los tiempos de presentación del
I-VOP, P-VOP y B-VOP
sobre la base de la información de tiempos con precisión de un
segundo y la información detallada de tiempos, y realizar un acceso
aleatorio sobre la base del resultado del reconocimiento.
De acuerdo con el descodificador de imágenes y
con el método de descodificación expuestos, los tiempos de
presentación del I-VOP, P-VOP y
B-VOP se calculan basándose en la información de
tiempos con precisión de un segundo y en la información detallada
de tiempos. Por tanto, se hace posible realizar un acceso aleatorio,
basándose en el tiempo de presentación.
De acuerdo con el medio de distribución
expuesto, se distribuye una cadena de bits codificados que se
obtiene generando información de tiempo con precisión de un
segundo, que indica el tiempo con precisión dentro de un segundo,
generando también información detallada del tiempo que indica un
periodo de tiempo entre la información de tiempo con precisión de
un segundo, directamente antes del tiempo de presentación de
I-VOP, P-VOP o B-VOP
y el tiempo de presentación con una precisión más fina que la
precisión de un segundo, y además sumando la información de tiempos
con precisión de un segundo y la información detallada de tiempos a
un correspondiente I-VOP, P-VOP o
B-VOP como información que indica el tiempo de
presentación de dicho I-VOP, P-VOP o
B-VOP. Por tanto, se hace posible reconocer los
tiempos de presentación del I-VOP,
P-VOP y B-VOP sobre la base de la
información de tiempos con precisión de un segundo y la información
detallada de tiempos, y realizar un acceso aleatorio sobre la base
del resultado del reconocimiento.
La presente invención puede ser utilizada en
unidades de grabación-regeneración de información de
imágenes, en las cuales se graban datos de imágenes dinámicas en
medios de almacenamiento, tales como un disco magneto-óptico, cinta
magnética, etc., y también los datos grabados se regeneran y se
presentan en una pantalla. La invención puede ser utilizada también
en sistemas de videoconferencia, sistemas de videófono, equipos de
radiodifusión y sistemas de recuperación de base de datos
multimedia, en los cuales los datos de imágenes dinámicas son
transmitidos desde un lado transmisor a un lado receptor a través de
un camino de transmisión y, en el lado receptor, los datos
dinámicos recibidos son presentados o editados y grabados.
Claims (3)
1. Un descodificador de imágenes para
descodificar una cadena de bits codificados, producida por la
codificación de una imagen formada por una secuencia de objetos,
siendo un objeto codificado por intra-codificación,
un plano de objeto intra-vídeo
(I-VOP), siendo un objeto codificado por
intra-codificación o bien por codificación de
predicción hacia delante, un VOP de predicción
(P-VOP), y siendo un objeto codificado por
intra-codificación, codificación de predicción
hacia delante, codificación de predicción hacia atrás o codificación
de predicción bidireccional, un VOP de predicción bidireccional
(B-VOP),
donde dichos VOP han sido agrupados en uno o más
grupos (GOV),
teniendo asociado cada grupo un orden de
presentación, de acuerdo con el cual se presenta una pluralidad de
VOP descodificados del correspondiente grupo al reproducir la
imagen,
y cada uno o más grupos comprende un código de
tiempo del grupo que representa el tiempo absoluto correspondiente
a un punto de sincronización asociado con un primer objeto en el
orden de presentación del correspondiente grupo (GOV),
comprendiendo el código de tiempo del grupo un valor de
horas_código_tiempo que representa una unidad horaria de tiempo, un
valor de minutos_código_tiempo que representa una unidad de tiempo
en minutos, y un valor de segundos_código_tiempo que representa una
unidad de tiempo en segundos del punto de sincronización,
y comprendiendo cada VOP del grupo una
información del tiempo con precisión de segundos
(base_tiempos_
módulo) indicativa de un valor del tiempo en unidades de un segundo, e información detallada del tiempo (incremento_tiempo_VOP) indicativa de un valor del tiempo en unidades con precisión más fina que un segundo, como información representativa de un tiempo de presentación de dicho VOP,
módulo) indicativa de un valor del tiempo en unidades de un segundo, e información detallada del tiempo (incremento_tiempo_VOP) indicativa de un valor del tiempo en unidades con precisión más fina que un segundo, como información representativa de un tiempo de presentación de dicho VOP,
comprendiendo el descodificador de imágenes:
medios receptores para recibir dicha cadena de
bits codificados;
un computador (36, 102) de tiempo de
presentación para calcular dicho tiempo de presentación de dichos
VOP, sumando dicha información de tiempo con precisión de un
segundo (base_tiempos_módulo) y una información detallada del
tiempo (incremento_tiempo_VOP) de cada VOP, con dicho código de
tiempo de grupo, del grupo correspondiente; y
medios para descodificar (72N) dichos VOP de
acuerdo con el tiempo de presentación correspondiente
calcula-
do.
do.
2. Un descodificador de imágenes como se
reivindica en la reivindicación 1, en el que dicho código de tiempo
del grupo corresponde a un tiempo absoluto cuando se inicia la
codificación de un grupo correspondiente de VOP.
3. Un método de descodificación de imágenes para
descodificar una imagen formada por una secuencia de objetos,
siendo un objeto codificado mediante
intra-codificación, un plano de objeto
intra-vídeo (I-VOP), siendo un
objeto codificado por intra-codificación o bien por
codificación de predicción hacia delante, un VOP de predicción
(P-VOP), y siendo un objeto codificado por
intra-codificación, codificación de predicción hacia
delante, codificación de predicción hacia atrás o codificación de
predicción bidireccional, un VOP de predicción bidireccional
(B-VOP),
donde dichos VOP han sido agrupados en uno o más
grupos (GOV),
teniendo asociado cada grupo un orden de
presentación, de acuerdo con el cual se presenta una pluralidad de
VOP descodificados del correspondiente grupo al reproducir la
imagen,
y cada uno o más grupos comprende un código de
tiempo del grupo que representa el tiempo absoluto correspondiente
a un punto de sincronización asociado con un primer objeto en el
orden de presentación del correspondiente grupo (GOV),
comprendiendo el código de tiempo del grupo un valor de
horas_código_tiempo que representa una unidad horaria de tiempo, un
valor de minutos_código_tiempo que representa una unidad de tiempo
en minutos, y un valor de segundos_código_tiempo que representa una
unidad de tiempo en segundos del punto de
sincroniza-
ción,
ción,
y comprendiendo cada VOP del grupo una
información del tiempo con precisión de segundos
(base_tiempos_
módulo) indicativa de un valor del tiempo en unidades de un segundo, e información detallada del tiempo (incremento_tiempo_VOP) indicativa de un valor del tiempo en unidades con precisión más fina que un segundo, como información representativa de un tiempo de presentación de dicho VOP,
módulo) indicativa de un valor del tiempo en unidades de un segundo, e información detallada del tiempo (incremento_tiempo_VOP) indicativa de un valor del tiempo en unidades con precisión más fina que un segundo, como información representativa de un tiempo de presentación de dicho VOP,
comprendiendo dicho método de descodificación
los pasos de:
recibir dicha cadena de bits codificados
calcular dicho tiempo de presentación de dichos
VOP en un computador (36, 102) de tiempo de presentación, sumando
dicha información de tiempo con precisión de un segundo
(base_tiempos_módulo) y una información detallada del tiempo
(incremento_tiempo_VOP) de cada VOP, con dicho código de tiempo de
grupo, del grupo correspondiente; y
descodificar (72N) dichos VOP de acuerdo con el
tiempo de presentación correspondiente calculado.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9968397 | 1997-04-01 | ||
JP9-99683 | 1997-04-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2323482T3 true ES2323482T3 (es) | 2009-07-16 |
Family
ID=14253845
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES98911112T Expired - Lifetime ES2323482T3 (es) | 1997-04-01 | 1998-03-31 | Dispositivo de codificacion de imagenes, metodo de codificacion de imagenes, dispositivo de descodificacion de imagenes, metodo de descodificacion de imagenes, y medio suministrador. |
ES01115561T Expired - Lifetime ES2323358T3 (es) | 1997-04-01 | 1998-03-31 | Codificador de imagenes, metodo de codificacion de imagenes, descodificador de imagenes, metodo de descodificacion de imagenes, y medio de distribucion. |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES01115561T Expired - Lifetime ES2323358T3 (es) | 1997-04-01 | 1998-03-31 | Codificador de imagenes, metodo de codificacion de imagenes, descodificador de imagenes, metodo de descodificacion de imagenes, y medio de distribucion. |
Country Status (14)
Country | Link |
---|---|
US (5) | US6414991B1 (es) |
EP (2) | EP0914007B9 (es) |
JP (1) | JP3380983B2 (es) |
KR (2) | KR100417932B1 (es) |
CN (3) | CN1186944C (es) |
AT (2) | ATE425637T1 (es) |
AU (1) | AU732452B2 (es) |
CA (1) | CA2255923C (es) |
ES (2) | ES2323482T3 (es) |
HK (3) | HK1043461B (es) |
ID (1) | ID20680A (es) |
IL (2) | IL127274A (es) |
TW (1) | TW398150B (es) |
WO (1) | WO1998044742A1 (es) |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1186944C (zh) * | 1997-04-01 | 2005-01-26 | 索尼公司 | 图像编码器及其编码方法、图像译码器及其译码方法 |
JP4261630B2 (ja) * | 1998-02-04 | 2009-04-30 | キヤノン株式会社 | 画像符号化装置及び方法、画像符号化プログラムが記録されたコンピュータ可読記録媒体 |
JP2000013790A (ja) | 1998-06-19 | 2000-01-14 | Sony Corp | 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、並びに提供媒体 |
US6637031B1 (en) * | 1998-12-04 | 2003-10-21 | Microsoft Corporation | Multimedia presentation latency minimization |
EP1018840A3 (en) * | 1998-12-08 | 2005-12-21 | Canon Kabushiki Kaisha | Digital receiving apparatus and method |
ID24586A (id) * | 1998-12-21 | 2000-07-27 | Matsushita Electric Ind Co Ltd | Perangkat dan metode penyelarasan waktu dengan menggunakan modul basis waktu dan resolusi peningkatan waktu |
US6499060B1 (en) * | 1999-03-12 | 2002-12-24 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
US7589789B2 (en) * | 1999-05-08 | 2009-09-15 | Lg Electronics Inc. | Video converting device and method for digital TV |
US6639943B1 (en) * | 1999-11-23 | 2003-10-28 | Koninklijke Philips Electronics N.V. | Hybrid temporal-SNR fine granular scalability video coding |
US7020195B1 (en) * | 1999-12-10 | 2006-03-28 | Microsoft Corporation | Layered coding and decoding of image data |
EP1243141B1 (en) * | 1999-12-14 | 2011-10-19 | Scientific-Atlanta, LLC | System and method for adaptive decoding of a video signal with coordinated resource allocation |
US6697426B1 (en) * | 2000-03-17 | 2004-02-24 | Koninklijke Philips Electronics N.V. | Reduction of layer-decoding complexity by reordering the transmission of enhancement layer frames |
JP4208398B2 (ja) * | 2000-10-05 | 2009-01-14 | 株式会社東芝 | 動画像復号再生装置、動画像復号再生方法及びマルチメディア情報受信装置 |
US6618445B1 (en) * | 2000-11-09 | 2003-09-09 | Koninklijke Philips Electronics N.V. | Scalable MPEG-2 video decoder |
JP2004515129A (ja) * | 2000-11-23 | 2004-05-20 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビデオ符号化方法及びこれに対応する符号器 |
US7397851B2 (en) * | 2001-05-10 | 2008-07-08 | Roman Kendyl A | Separate plane compression |
CN1253008C (zh) * | 2001-10-26 | 2006-04-19 | 皇家飞利浦电子股份有限公司 | 空间可分级压缩的方法和设备 |
JP2005513926A (ja) * | 2001-12-20 | 2005-05-12 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビデオの符号化及び復号の方法 |
US7274857B2 (en) * | 2001-12-31 | 2007-09-25 | Scientific-Atlanta, Inc. | Trick modes for compressed video streams |
US7483487B2 (en) * | 2002-04-11 | 2009-01-27 | Microsoft Corporation | Streaming methods and systems |
KR100865034B1 (ko) | 2002-07-18 | 2008-10-23 | 엘지전자 주식회사 | 모션 벡터 예측 방법 |
JP4007594B2 (ja) * | 2002-09-26 | 2007-11-14 | 株式会社東芝 | 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法 |
EP2239949B1 (en) | 2002-10-01 | 2015-02-25 | Panasonic Intellectual Property Corporation of America | Image encoding device, image decoding device and their methods |
US7738552B2 (en) * | 2002-12-06 | 2010-06-15 | Broadcom Company | Processing data streams |
KR20060105409A (ko) * | 2005-04-01 | 2006-10-11 | 엘지전자 주식회사 | 영상 신호의 스케일러블 인코딩 및 디코딩 방법 |
KR20060109247A (ko) * | 2005-04-13 | 2006-10-19 | 엘지전자 주식회사 | 베이스 레이어 픽처를 이용하는 영상신호의 엔코딩/디코딩방법 및 장치 |
US8761252B2 (en) | 2003-03-27 | 2014-06-24 | Lg Electronics Inc. | Method and apparatus for scalably encoding and decoding video signal |
WO2004093001A1 (en) * | 2003-04-11 | 2004-10-28 | Sumtotal Llc | Adaptive subtraction image compression |
US7577198B2 (en) | 2003-09-07 | 2009-08-18 | Microsoft Corporation | Number of reference fields for an interlaced forward-predicted field |
US8085844B2 (en) * | 2003-09-07 | 2011-12-27 | Microsoft Corporation | Signaling reference frame distances |
US7966642B2 (en) * | 2003-09-15 | 2011-06-21 | Nair Ajith N | Resource-adaptive management of video storage |
US20050100098A1 (en) * | 2003-10-23 | 2005-05-12 | Gong-Sheng Lin | Highly integrated mpeg-4 video decoding unit |
SE0303085D0 (sv) * | 2003-11-18 | 2003-11-18 | Scalado Ab | Method for creating a compressed digital image representation and image representation format |
US20050135478A1 (en) * | 2003-12-18 | 2005-06-23 | Van Der Schaar Mihaela | Reduction of layer-decoding complexity by reordering the transmission of enhancement layer frames |
US8600217B2 (en) * | 2004-07-14 | 2013-12-03 | Arturo A. Rodriguez | System and method for improving quality of displayed picture during trick modes |
EP1769640A1 (en) * | 2004-07-15 | 2007-04-04 | Samsung Electronics Co., Ltd. | Scalable motion information encoding/decoding apparatus and method and scalable video encoding/decoding apparatus and method using them |
US7792190B2 (en) * | 2004-09-09 | 2010-09-07 | Media Tek Singapore Pte Ltd. | Inserting a high resolution still image into a lower resolution video stream |
US20090080519A1 (en) * | 2004-10-18 | 2009-03-26 | Electronics And Telecommunications Research Institute | Method for encoding/decoding video sequence based on mctf using adaptively-adjusted gop structure |
US8184702B2 (en) * | 2004-11-01 | 2012-05-22 | Electronics And Telecommunications Research Institute | Method for encoding/decoding a video sequence based on hierarchical B-picture using adaptively-adjusted GOP structure |
US8634413B2 (en) | 2004-12-30 | 2014-01-21 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
US7961963B2 (en) | 2005-03-18 | 2011-06-14 | Sharp Laboratories Of America, Inc. | Methods and systems for extended spatial scalability with picture-level adaptation |
US8175168B2 (en) | 2005-03-18 | 2012-05-08 | Sharp Laboratories Of America, Inc. | Methods and systems for picture up-sampling |
US7725799B2 (en) * | 2005-03-31 | 2010-05-25 | Qualcomm Incorporated | Power savings in hierarchically coded modulation |
US8660180B2 (en) * | 2005-04-01 | 2014-02-25 | Lg Electronics Inc. | Method and apparatus for scalably encoding and decoding video signal |
WO2006109986A1 (en) * | 2005-04-13 | 2006-10-19 | Lg Electronics Inc. | Method and apparatus for encoding/decoding video signal using reference pictures |
US8619860B2 (en) * | 2005-05-03 | 2013-12-31 | Qualcomm Incorporated | System and method for scalable encoding and decoding of multimedia data using multiple layers |
US8842666B2 (en) * | 2005-05-13 | 2014-09-23 | Qualcomm Incorporated | Methods and apparatus for packetization of content for transmission over a network |
US20070014346A1 (en) * | 2005-07-13 | 2007-01-18 | Nokia Corporation | Coding dependency indication in scalable video coding |
US8755434B2 (en) * | 2005-07-22 | 2014-06-17 | Lg Electronics Inc. | Method and apparatus for scalably encoding and decoding video signal |
US20070031054A1 (en) * | 2005-08-08 | 2007-02-08 | Neomagic Israel Ltd. | Encoding DCT coordinates |
KR100891662B1 (ko) * | 2005-10-05 | 2009-04-02 | 엘지전자 주식회사 | 비디오 신호 디코딩 및 인코딩 방법 |
KR20070038396A (ko) * | 2005-10-05 | 2007-04-10 | 엘지전자 주식회사 | 영상 신호의 인코딩 및 디코딩 방법 |
FR2895172A1 (fr) * | 2005-12-20 | 2007-06-22 | Canon Kk | Procede et dispositif de codage d'un flux video code suivant un codage hierarchique, flux de donnees, procede et dispositif de decodage associes |
US20070230567A1 (en) * | 2006-03-28 | 2007-10-04 | Nokia Corporation | Slice groups and data partitioning in scalable video coding |
US20080043832A1 (en) * | 2006-08-16 | 2008-02-21 | Microsoft Corporation | Techniques for variable resolution encoding and decoding of digital video |
US8773494B2 (en) | 2006-08-29 | 2014-07-08 | Microsoft Corporation | Techniques for managing visual compositions for a multimedia conference call |
US20090033791A1 (en) * | 2007-07-31 | 2009-02-05 | Scientific-Atlanta, Inc. | Video processing systems and methods |
US20090167775A1 (en) | 2007-12-30 | 2009-07-02 | Ning Lu | Motion estimation compatible with multiple standards |
US8300696B2 (en) | 2008-07-25 | 2012-10-30 | Cisco Technology, Inc. | Transcoding for systems operating under plural video coding specifications |
KR101557504B1 (ko) * | 2009-04-13 | 2015-10-07 | 삼성전자주식회사 | 채널 적응형 비디오 전송 방법, 이를 이용한 장치 및 이를 제공하는 시스템 |
US9774882B2 (en) | 2009-07-04 | 2017-09-26 | Dolby Laboratories Licensing Corporation | Encoding and decoding architectures for format compatible 3D video delivery |
US8681858B2 (en) * | 2009-12-23 | 2014-03-25 | General Instrument Corporation | Rate control for two-pass encoder |
US8731152B2 (en) | 2010-06-18 | 2014-05-20 | Microsoft Corporation | Reducing use of periodic key frames in video conferencing |
US20130222539A1 (en) * | 2010-10-08 | 2013-08-29 | Dolby Laboratories Licensing Corporation | Scalable frame compatible multiview encoding and decoding methods |
US8553109B2 (en) * | 2011-07-20 | 2013-10-08 | Broadcom Corporation | Concurrent image processing for generating an output image |
PL3843396T3 (pl) | 2011-09-28 | 2023-05-15 | Sun Patent Trust | Sposób kodowania obrazów, sposób dekodowania obrazów, urządzenie do kodowania obrazów, urządzenie do dekodowania obrazów, i urządzenie do kodowania i dekodowania obrazów |
US9161060B2 (en) * | 2011-09-30 | 2015-10-13 | Broadcom Corporation | Multi-mode error concealment, recovery and resilience coding |
CN104641644A (zh) * | 2012-05-14 | 2015-05-20 | 卢卡·罗萨托 | 基于沿时间的样本序列的混合的编码和解码 |
CN104782129A (zh) * | 2012-10-09 | 2015-07-15 | 光云大学校产学协力团 | 用于多层视频的层间预测方法及其设备 |
KR20140087971A (ko) * | 2012-12-26 | 2014-07-09 | 한국전자통신연구원 | 계층적 비디오 부호화에서 다중참조계층을 적용한 화면간 부/복호화 방법 및 그 장치 |
US9998750B2 (en) | 2013-03-15 | 2018-06-12 | Cisco Technology, Inc. | Systems and methods for guided conversion of video from a first to a second compression format |
US9998765B2 (en) | 2014-07-16 | 2018-06-12 | Qualcomm Incorporated | Transport stream for carriage of video coding extensions |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5060285A (en) | 1989-05-19 | 1991-10-22 | Gte Laboratories Incorporated | Hierarchical variable block size address-vector quantization using inter-block correlation |
US5414469A (en) * | 1991-10-31 | 1995-05-09 | International Business Machines Corporation | Motion video compression system with multiresolution features |
GB9206860D0 (en) * | 1992-03-27 | 1992-05-13 | British Telecomm | Two-layer video coder |
BR9405508A (pt) * | 1993-07-12 | 1999-09-08 | Sony Corp | Processo e aparelho decodificador e codificador de imagem. |
CA2126467A1 (en) * | 1993-07-13 | 1995-01-14 | Barin Geoffry Haskell | Scalable encoding and decoding of high-resolution progressive video |
US5515377A (en) * | 1993-09-02 | 1996-05-07 | At&T Corp. | Adaptive video encoder for two-layer encoding of video signals on ATM (asynchronous transfer mode) networks |
KR960020018A (ko) | 1994-11-17 | 1996-06-17 | 배순훈 | 가변길이복호화장치 |
JPH08294127A (ja) * | 1995-04-24 | 1996-11-05 | Matsushita Electric Ind Co Ltd | 画像圧縮装置 |
US5828788A (en) * | 1995-06-29 | 1998-10-27 | Thomson Multimedia, S.A. | System for processing data in variable segments and with variable data resolution |
JP3788823B2 (ja) * | 1995-10-27 | 2006-06-21 | 株式会社東芝 | 動画像符号化装置および動画像復号化装置 |
US6055012A (en) * | 1995-12-29 | 2000-04-25 | Lucent Technologies Inc. | Digital multi-view video compression with complexity and compatibility constraints |
US6111596A (en) * | 1995-12-29 | 2000-08-29 | Lucent Technologies Inc. | Gain and offset correction for efficient stereoscopic coding and improved display |
KR100274434B1 (ko) * | 1996-07-05 | 2000-12-15 | 모리시타 요이찌 | 디스플레이 시간 스탬핑과 다중 비디오 오브젝트평면의 동기화방법 |
EP0818930B1 (en) * | 1996-07-08 | 2002-05-22 | Hyundai Curitel, Inc. | Video coding method |
US5886736A (en) * | 1996-10-24 | 1999-03-23 | General Instrument Corporation | Synchronization of a stereoscopic video sequence |
US6043846A (en) * | 1996-11-15 | 2000-03-28 | Matsushita Electric Industrial Co., Ltd. | Prediction apparatus and method for improving coding efficiency in scalable video coding |
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 |
CN1186944C (zh) * | 1997-04-01 | 2005-01-26 | 索尼公司 | 图像编码器及其编码方法、图像译码器及其译码方法 |
US6057884A (en) * | 1997-06-05 | 2000-05-02 | General Instrument Corporation | Temporal and spatial scaleable coding for video object planes |
US6233356B1 (en) * | 1997-07-08 | 2001-05-15 | At&T Corp. | Generalized scalability for video coder based on video objects |
WO1999021367A1 (fr) * | 1997-10-20 | 1999-04-29 | Mitsubishi Denki Kabushiki Kaisha | Codeur et decodeur d'image |
-
1998
- 1998-03-31 CN CNB988003767A patent/CN1186944C/zh not_active Expired - Fee Related
- 1998-03-31 TW TW87104835A patent/TW398150B/zh not_active IP Right Cessation
- 1998-03-31 EP EP98911112A patent/EP0914007B9/en not_active Expired - Lifetime
- 1998-03-31 ID ID980127D patent/ID20680A/id unknown
- 1998-03-31 CN CN200410102290A patent/CN100579230C/zh not_active Expired - Fee Related
- 1998-03-31 AU AU65202/98A patent/AU732452B2/en not_active Ceased
- 1998-03-31 IL IL127274A patent/IL127274A/en not_active IP Right Cessation
- 1998-03-31 WO PCT/JP1998/001453 patent/WO1998044742A1/ja active Application Filing
- 1998-03-31 KR KR10-2001-7007032A patent/KR100417932B1/ko not_active IP Right Cessation
- 1998-03-31 ES ES98911112T patent/ES2323482T3/es not_active Expired - Lifetime
- 1998-03-31 AT AT98911112T patent/ATE425637T1/de active
- 1998-03-31 AT AT01115561T patent/ATE425638T1/de active
- 1998-03-31 KR KR10-1998-0709790A patent/KR100418141B1/ko not_active IP Right Cessation
- 1998-03-31 EP EP20010115561 patent/EP1152622B9/en not_active Expired - Lifetime
- 1998-03-31 IL IL167288A patent/IL167288A/en not_active IP Right Cessation
- 1998-03-31 ES ES01115561T patent/ES2323358T3/es not_active Expired - Lifetime
- 1998-03-31 CA CA 2255923 patent/CA2255923C/en not_active Expired - Fee Related
- 1998-11-25 US US09/200,064 patent/US6414991B1/en not_active Expired - Lifetime
-
2000
- 2000-06-13 JP JP2000176666A patent/JP3380983B2/ja not_active Expired - Fee Related
-
2001
- 2001-04-02 CN CNB011123478A patent/CN1185876C/zh not_active Expired - Fee Related
-
2002
- 2002-03-08 HK HK02101793.5A patent/HK1043461B/zh not_active IP Right Cessation
- 2002-04-24 US US10/128,903 patent/US20020114391A1/en not_active Abandoned
- 2002-04-24 US US10/131,016 patent/US6535559B2/en not_active Expired - Lifetime
- 2002-04-24 US US10/128,904 patent/US6643328B2/en not_active Expired - Lifetime
- 2002-05-06 HK HK02103434A patent/HK1043707A1/xx not_active IP Right Cessation
- 2002-12-30 US US10/334,174 patent/US7302002B2/en not_active Expired - Fee Related
-
2005
- 2005-12-12 HK HK05111418A patent/HK1080650A1/xx not_active IP Right Cessation
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2323482T3 (es) | Dispositivo de codificacion de imagenes, metodo de codificacion de imagenes, dispositivo de descodificacion de imagenes, metodo de descodificacion de imagenes, y medio suministrador. | |
US6400768B1 (en) | Picture encoding apparatus, picture encoding method, picture decoding apparatus, picture decoding method and presentation medium | |
US6459812B2 (en) | Picture encoding and/or decoding apparatus and method for providing scalability of a video object whose position changes with time and a recording medium having the same recorded thereon | |
US6567427B1 (en) | Image signal multiplexing apparatus and methods, image signal demultiplexing apparatus and methods, and transmission media | |
US6031575A (en) | Method and apparatus for encoding an image signal, method and apparatus for decoding an image signal, and recording medium | |
JP3371191B2 (ja) | 画像信号の符号化方法及び復号方法、並びに、符号化装置及び復号装置 | |
JP3380980B2 (ja) | 画像符号化方法、並びに画像復号方法および画像復号装置 | |
CA2421090C (en) | Picture coding device, picture coding method, picture decoding device, picture decoding method, and providing medium | |
JP2001054120A (ja) | 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、並びに記録媒体 |