ES2341178T3 - Dispositivos y procedimientos de codificacion y decodificacion escalables de flujos de datos de imagenes, señal, programa informatico y modulo de adaptacion de calidad de imagen correspondientes. - Google Patents

Dispositivos y procedimientos de codificacion y decodificacion escalables de flujos de datos de imagenes, señal, programa informatico y modulo de adaptacion de calidad de imagen correspondientes. Download PDF

Info

Publication number
ES2341178T3
ES2341178T3 ES05826669T ES05826669T ES2341178T3 ES 2341178 T3 ES2341178 T3 ES 2341178T3 ES 05826669 T ES05826669 T ES 05826669T ES 05826669 T ES05826669 T ES 05826669T ES 2341178 T3 ES2341178 T3 ES 2341178T3
Authority
ES
Spain
Prior art keywords
level
data
images
layers
subflow
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
Application number
ES05826669T
Other languages
English (en)
Inventor
Isabelle Amonou
Nathalie Cammas
Stephane Pateux
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Application granted granted Critical
Publication of ES2341178T3 publication Critical patent/ES2341178T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/37Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability with arrangements for assigning different transmission priorities to video input data or to video coded data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

Procedimiento de codificación de una imagen o de una secuencia de imágenes, que genera un flujo de datos que presenta una estructura jerárquica de capas de datos anidadas de n niveles sucesivos, donde n es un número entero, correspondiéndose cada uno de dichos niveles n con una resolución predeterminada de dichas imágenes, comprendiendo dicho procedimiento una etapa de codificación de al menos una de dichas capas, de nivel n+1, por predicción al menos a partir de dicha capa de nivel n, permitiendo cada una de dichas capas de datos de nivel n reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad máxima predeterminada, caracterizado porque dicho procedimiento codifica también, para una al menos de dichas capas de datos de nivel n, al menos un subflujo, denominado subflujo singular, que permite reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad superior a dicha calidad máxima predeterminada y porque dicho subflujo singular de dicha capa de nivel n no se utiliza durante dicha etapa de codificación por predicción de dichas capas de nivel diferente de n.

Description

Dispositivos y procedimientos de codificación y decodificación escalables de flujos de datos de imágenes, señal, programa informático y módulo de adaptación de calidad de imagen correspondientes.
1. Ámbito de la invención
El ámbito de la presente invención es el de la codificación y de la decodificación de imágenes o de secuencias de imágenes de vídeo. Más precisamente, la invención se refiere a una técnica escalable de codificación y de decodificación de imágenes (en inglés "scalable"), es decir, con una calidad adaptable y resolución espacio-temporal variable.
2. Soluciones de la técnica anterior
Muchos sistemas de transmisión de datos son actualmente heterogéneos en el sentido de que comunican a una pluralidad de clientes que disponen de tipos de acceso a los datos muy diferentes. De esta manera, a la red mundial Internet, por ejemplo, se puede acceder tanto a partir de un terminal de tipo ordenador personal (PC) como de un radioteléfono. Más en general, la banda ancha para el acceso a la red, las capacidades de tratamiento de los terminales clientes, el tamaño de sus pantallas varían en gran medida de un usuario a otro. De esta manera, un primer cliente puede por ejemplo acceder a la red Internet desde un PC potente y disponer de una velocidad ADSL (en inglés "Asymmetric Digital Subscriber Line" para "Línea de abonado digital asimétrica") de 1.024 kbits/s mientras que un segundo cliente intenta acceder a los mismos datos y en el mismo momento desde un terminal de tipo PDA (en inglés "Personal Digital Assistant" para "Asistente digital personal") conectado a un módem de baja velocidad.
Por lo tanto, es necesario proponer a estos usuarios diferentes un flujo de datos que se adapte tanto en términos de velocidad como de resolución de las imágenes según sus diferentes necesidades. Esta necesidad se impone más ampliamente a todas las aplicaciones accesibles para clientes que disponen de capacidades de acceso y de tratamiento muy diferentes y, sobre todo, las aplicaciones de:
-
VOD (en inglés "Video On Demand" para "Vídeo a la carta"), accesibles a los terminales de radiocomunicación de tipo UMTS (en inglés "Universal Mobile Telecommunication Service" para "Sistema universal de telecomunicaciones móviles"), a los PC o a los terminales de televisión con acceso ADSL, etc.;
-
movilidad de sesión (por ejemplo retomar en una PDA una sesión de vídeo que ha comenzado en un televisor o retomar en un móvil UMTS una sesión que ha comenzado en un GRPS [en inglés "General Packet Radio Service" para "Servicio general de radiocomunicaciones por paquetes"]);
-
continuidad de sesión (en un contexto en el que se compara el ancho de banda con una nueva aplicación);
-
televisión de alta definición, en la que una única codificación de vídeo debe permitir dar servicio tanto a los clientes que disponen de una definición estándar SD como a los clientes que disponen de un terminal de alta definición HD;
-
videoconferencia, en la que una única codificación debe responder a las necesidades de clientes que disponen de un acceso UMTS y de un acceso Internet;
-
etc.
Para responder a estas diferentes necesidades, se han desarrollado algoritmos de codificación de imágenes escalables o "scalables" que permiten una calidad adaptable y una resolución espacio-temporal variable. El codificador genera un flujo comprimido que presenta una estructura jerárquica de capas, en la que cada una de las capas está anidada en una capa de nivel superior. Por ejemplo, una primera capa de datos transmite un flujo a 256 kbits/s que podrá decodificarse por medio de un terminal de tipo PDA y una segunda capa de datos complementaria transmite un flujo de resolución superior a 256 kbits/s que podrá decodificarse, de forma complementaria al primero, por medio de un terminal más potente de tipo PC. La velocidad necesaria para el transporte de estas dos capas anidadas es en este ejemplo de 512 kbits/s.
Algunos de estos algoritmos de codificación de vídeo escalables están pendientes actualmente de adoptarse por parte de la norma MPEG (en inglés "Moving Picture Expert Group" para "Grupo de expertos en imágenes en movimiento"), en el marco del grupo de trabajo MPEG-21.
En especial, el modelo que ha establecido el grupo de trabajo MPEG-21 SVC (en inglés "Scalable Video Coding" para "Codificación de vídeo escalable") se llama SVM (en inglés "Scalable Video Model" para "Modelo de vídeo escalable") y se basa en un codificador escalable basado en soluciones de tipo AVC (en inglés "Advanced Video Coding" para "Codificación de vídeo avanzada"). Este modelo se describe más detalladamente en el documento N6716 ISO/IEC JTC 1/SC 29/WG 11, titulado "Scalable Video Model 3.0", octubre de 2004, Palma de Mallorca, España. El grupo de trabajo MPEG-21 tiene por objeto proponer una norma de suministro de flujos escalables de grano medio en las dimensiones temporal, espacial y de calidad.
2.1 El codificador SVM MPEG-21 2.1.1 Principales características del codificador
La figura 1 ilustra la estructura de un codificador como este, que presenta una estructura piramidal. Los componentes de entrada de vídeo 10 sufren un submuestreo diádico (decimación 2D por 2 referenciada 11, decimación 2D por 4 con referencia 12). Cada uno de los flujos submuestreados sufre a continuación una descomposición temporal 13 de tipo MCTF (en inglés "Motion Compensated Temporal Filtering" para "Filtrado temporal compensado por movimiento"). Una versión de baja resolución de la secuencia de vídeo se codifica 14 hasta una velocidad dada R_r0_máx que se corresponde con la velocidad máxima decodificable para la resolución espacial baja r0 (este nivel de base es compatible con AVC).
Los niveles superiores se codifican a continuación 15, 16 por medio de la sustracción del nivel anterior reconstruido y submuestreado y codificación de los residuos en forma de:
-
un nivel de base;
-
eventualmente uno o varios niveles de realce obtenidos por medio de una codificación de múltiples pasadas de planos de bits (denominada de aquí en adelante FGS en inglés "Fine Grain Scalability" para "Escalabilidad de grano fino"). El residuo de predicción se codifica hasta una velocidad R_ri_máx que se corresponde con la velocidad máxima decodificable para la resolución ri.
Más precisamente, los bloques de filtrado MCTF 13 realizan un filtrado de ondas pequeñas temporal, es decir, que realinean las señales en el sentido del movimiento antes del filtrado de ondas pequeñas: emiten información 17 de movimiento que alimenta un bloque 14-16 de codificación de movimiento e información 18 de textura, que alimenta un módulo 19 de predicción. Los datos predichos a la salida del módulo 19 de predicción sirven para realizar una interpolación 20 desde el nivel inferior. También alimentan un bloque 21 de transformación espacial y de codificación entrópica, que trabaja en niveles de refinamiento de la señal. Un módulo 22 de multiplexación ordena a los diferentes subflujos generados en un flujo de datos comprimido global.
La figura 2 ilustra los resultados obtenidos por medio del codificador escalable de la figura 1, en forma de curvas velocidad-distorsión, representadas para resoluciones espaciales (CIF/QCIF, en inglés "Common Interface Format/Quarter Common Interface Format", donde CIF se corresponde con un medio formato de TV y QCIF con un cuarto de formato TV) o temporales (7,5-30 Hz, número de imágenes por segundo) diferentes. En el eje de ordenadas se ha representado el PSNR (en inglés "Peak Signal to Noise Ratio" para "Relación señal-ruido pico") y en el eje de abscisas, la velocidad expresada en kbits/s. De esta manera, la curva con referencia 23 se corresponde con una resolución espacial QCIF a una frecuencia temporal de 7,5 Hz, la curva con referencia 24 con una resolución QCIF a 15 Hz, la curva con referencia 25 con una resolución CIF a 15 Hz y la curva con referencia 26 con una resolución CIF a 30 Hz.
\vskip1.000000\baselineskip
2.1.2 Generación de las capas de información en el codificador
La figura 3 ilustra el mecanismo de predicción/extracción de información que lleva a cabo el codificador SVM. Se presenta a continuación más detalladamente la predicción llevada a cabo en la codificación, que consiste en codificar una capa de resolución espacial del nivel n dado por predicción a partir de los datos de capas de resolución espacial de niveles inferiores.
Más precisamente, la figura 3 presenta el ejemplo de la generación de dos capas sucesivas de resoluciones espaciales en el formato QCIF y CIF, asociadas respectivamente a las curvas de velocidad-distorsión con referencia 30 (formato QCIF) y 31 (formato CIF). Un experto en la técnica comprenderá sin dificultad este ejemplo en el caso más general de n>2 capas espaciales. Como anteriormente, se ha representado en el eje de abscisas la velocidad expresada en kbits/s y en el eje de ordenadas el PSNR en dB.
Para cada capa de resolución espacial, el codificador codifica la información en dos subflujos: un subflujo (o subcapa) de base (denominado BL [en inglés "Base Layer"]) y un subflujo (o subcapa) de realce progresivo (denominado EL [en inglés "Enhacement Layer"]).
El formato QCIF se codifica primero en todas las zonas de valores de frecuencias temporales y de velocidad. Se dispone de un nivel de base (BL) 301 y de dos niveles posibles de refinamiento (EL), señalados como FGS1 302 y FGS2 303 (FGS en inglés "Fine Grain Scalable"). La capa de realce EL comprende por lo tanto las dos pasadas FGS1 302 y FGS2 303. Se pueden obtener puntos de refinamiento en la decodificación por medio del recorte de los paquetes de datos entre FGS1 y FGS2.
El formato QCIF está codificado hasta un punto 304 de velocidad máxima que se utiliza a continuación como referencia para la predicción durante la codificación del formato CIF. Este punto debe ser el mejor que se pueda definir para un funcionamiento óptimo del sistema de manera global.
El formato CIF se codifica a continuación utilizando el punto más alto de la curva QCIF 304 (es decir, el punto de velocidad máxima de esta curva) como predictor. La información CIF también se codifica en dos subflujos: un subflujo de base (BL) y un subflujo de realce (EL), constituido por dos pasadas (FGS1 y FGS2).
En la figura 3, se comprueba que partiendo del punto de velocidad máxima QCIF 304 y añadiendo la capa de base (BL) 311 del nivel de resolución espacial CIF, se llega al punto de referencia CIF 312, que no es el punto de velocidad máxima 313 que se puede alcanzar en la decodificación. A partir de este punto de referencia 312, las capas de realce EL 314 (FGS1) y 315 (FGS2) permiten acceder a otros puntos de velocidad CIF superiores, hasta una velocidad máxima CIF 316.
La figura 4 resume el orden de tratamiento de la información tal y como se hace en el codificador para cualesquiera capas espaciales de nivel n-1 y n, donde n es un número entero. BL representa una subcapa de calidad de base y EL la subcapa de calidad de realce, de un nivel de resolución espacial. Se codifica por lo tanto en primer lugar el subflujo de base BL del nivel n-1 41, después el subflujo de realce EL del nivel n-1 42, antes de codificar el subflujo de base BL del nivel de resolución espacial n 43 y a continuación el subflujo de realce EL de este nivel n 44. Se procedería de igual modo de aquí en adelante para los niveles de resolución espacial superior.
2.2. El extractor de SVM MPEG-21
El extractor, denominado también de aquí en adelante módulo de adaptación de calidad, es la herramienta que extrae, para el decodificador, la parte del flujo global de datos generado en el codificador, correspondiente a un nivel de resolución espacio-temporal dado y para una velocidad dada.
2.2.1 Funcionamiento general de un extractor de flujo escalonable
Existen dos tipos de codificadores escalables o escalonables:
-
los codificadores "naturalmente escalables", no predictivos (basados por ejemplo en una transformación de ondas pequeñas), que no precisan relaciones particulares entre los puntos de decodificación, anidados unos dentro de los otros (es el caso por ejemplo de los codificadores de vídeo propuestos por la norma JPEG2000);
-
los codificadores de tipo SVM, predictivos, que necesitan construir caminos de anidamiento. Más precisamente, para realizar una extracción de flujo comprimido, el extractor del SVM sigue caminos predefinidos, anidados unos dentro de los otros, tal y como se representa en la figura 5.
En la figura 5, se ha representado en el eje de abscisas la resolución temporal, expresada en Hz, en el eje de coordenadas, la velocidad (alta H o baja L) y en el eje de las z, la resolución espacial (QCIF o CIF). El flujo global de datos 50 generado por el codificador está constituido por un conjunto de subflujos representados en forma de cubos, correspondientes cada uno de ellos a una resolución espacio-temporal y a una velocidad dadas. De esta manera, para extraer la velocidad más elevada del nivel de resolución espacial QCIF a 7,5 Hz, el extractor debe seguir el siguiente camino de extracción: CIF 30 H\rightarrowCIF 15 H\rightarrow QCIF 15 H\rightarrow QCIF 7,5 H (se observará que CIF 30 H designa por ejemplo el flujo en el formato de resolución espacial CIF, para una frecuencia temporal de 30 Hz, a un nivel de velocidad alta H).
Asimismo, para extraer la velocidad más baja del QCIF a 7,5 Hz, el extractor debe realizar el camino CIF 30 H\rightarrowCIF 15 H\rightarrow CIF 15 L\rightarrow QCIF 15 L\rightarrow QCIF 7,5 L.
2.2.2 Funcionamiento del extractor del SVM MPEG-21
El extractor del SVM MPEG-21 funciona de la siguiente manera. Para decodificar un flujo de vídeo a una velocidad dada Rt y con una resolución espacio-temporal St-Tt, se extrae un subflujo del subflujo global de la siguiente manera: las capas de calidad de base de todos los niveles de resolución espacial (del nivel de base al nivel de resolución espacial meta St) se extraen (BLn-1, BLn,...), para un coste de Rmin, correspondiente a la velocidad mínima decodificable para la resolución espacial St. Tras la extracción de los subflujos de calidad de base, la velocidad permitida es Rt = Rt-Rmin.
El extractor recorre a continuación las subbandas temporales de las resoluciones espaciales inferiores y extrae las diferentes capas de realce EL de cada subbanda. Este efectúa un bucle en las subbandas temporales de resolución espacial inferior, después un bucle en las capas de realce de cada subbanda temporal.
Sea Rf la velocidad necesaria para extraer una capa de calidad de una subbanda temporal. Si la velocidad permitida Rt>Rf, la capa de la subbanda considerada se extrae y la velocidad pasa a ser Rt = Rt-Rf. En el caso contrario, la capa de la subbanda considerada se trunca y termina la extracción.
Si todas las capas de subbandas temporales de las resoluciones espaciales inferiores se han podido extraer, el extractor examina entonces las subbandas del nivel de resolución espacial St. El extractor efectúa un bucle en las capas de calidad FGS, después en las subbandas temporales. Sea Rfs la velocidad necesaria para extraer una capa de calidad q para todas las subbandas temporales. Si la velocidad permitida Rt>Rfs, la capa de calidad q de todas las subbandas se extrae y la velocidad pasa a ser Rt = Rt-Rfs. En el caso contrario, la capa de calidad q de todas las subbandas se trunca y termina la extracción.
La figura 6 representa el orden de tratamiento de la información por parte del extractor o del módulo de adaptación de calidad. Para una extracción con una resolución espacial de nivel n, el extractor recorre primero todos los niveles de calidad de base BL de todos los niveles espaciales (QCIF, CIF, etc.) del nivel 0 hasta el nivel n, después las capas de calidad de realce EL de las resoluciones espaciales inferiores (EL 0) hasta n (EL n).
El mecanismo de extracción también se puede ilustrar por medio de la figura 3 descrita anteriormente en relación con el mecanismo de predicción, con la ayuda de las curvas velocidad/distorsión 30 y 31. En esta ocasión se considera el camino seguido por el extractor del SVM MPEG-21 a lo largo de estas curvas para generar diferentes puntos de velocidades en la codificación.
De esta manera, para generar un punto de velocidad en el formato QCIF, el extractor recupera en primer lugar la capa de base BL 301 del nivel QCIF. A partir del punto mínimo QCIF 305, es posible a continuación extraer cualquier punto de velocidad superior al punto mínimo QCIF 305 e inferior al punto 304 de velocidad máxima (que es el que se ha utilizado para la predicción de la capa de resolución espacial superior en el formato CIF). Para hacer esto, la capa, o subflujo, de realce (EL), constituida por las pasadas FGS1 302 y FGS2 303 se recorta según la velocidad
asignada.
Para generar un punto de velocidad en el formato CIF, son posibles dos soluciones según sea la velocidad solicitada superior a la velocidad del punto de referencia 312 o inferior a éste.
Si la velocidad meta es inferior a la velocidad del punto de referencia CIF312, el extractor recupera las capas de base BL 301 y 311 de los dos niveles espaciales QCIF y CIF, lo que conduce al punto de velocidad mínima CIF 313. Según la velocidad restante, el extractor trunca las capas de realce EL 302 y 303 del nivel de resolución espacial QCIF.
Si la velocidad solicitada es superior a la velocidad del punto de referencia CIF 312, el extractor recupera las capas de base BL 301 y 311 de los niveles CIF y QCIF, la capa de realce EL 302, 303 del nivel QCIF y corta la capa de realce CIF 314, 315 según la velocidad restante.
3. Inconvenientes de la técnica anterior
La técnica de codificación/decodificación del modelo SVM del grupo de trabajo MPEG-21 presenta diferentes inconvenientes. En efecto, el mecanismo de extracción asociado a esta técnica presenta varios defectos.
En primer lugar, se observa que con el orden de tratamiento de la información en el extractor (a saber todas las capas de base BL de niveles espaciales, después las capas de realce EL que van desde el nivel espacial de base hacia el nivel espacial solicitado), la extracción siempre sigue el mismo camino, cualquiera que sea el punto de velocidad solicitado en la decodificación. Ahora bien, este camino no siempre es el camino óptimo para cada punto de velocidad meta en la decodificación.
Además, para cada nivel de resolución espacial dada a partir del cual se ha realizado una predicción para la codificación de un nivel de resolución espacial superior, existe un punto de velocidad máxima que se corresponde con el punto de velocidad utilizado para la predicción. Ahora bien, este punto de velocidad máxima no siempre es el punto más alto que se desea alcanzar para este nivel de resolución espacial. En efecto, el punto de predicción se elige para minimizar el residuo de predicción durante la codificación del nivel espacial superior, pero no se corresponde con un punto de calidad muy alta para el nivel espacial actual. A menudo se desea o necesita disponer, sobre todo para las resoluciones espaciales bajas, de puntos que ofrezcan una calidad de reconstrucción de imagen superior a la dada por el punto de predicción.
Por último, un último inconveniente de la técnica de codificación del SVM MPEG-21 consiste en que, para una extracción a un nivel n de resolución espacial (en el formato CIF por ejemplo) de puntos de velocidad inferior a la velocidad del punto de referencia de este nivel (punto con referencia 312 por ejemplo en la figura 3, es decir, el punto obtenido por decodificación de las capas de base BL de los niveles espaciales 0 a n y de todas las capas de refinamiento EL de los niveles 0 a n-1), no se utiliza ninguna información de refinamiento del nivel n (es decir, ninguna información de las capas de realce EL 314 y 315 del nivel CIF por ejemplo).
4. Objetos de la invención
La invención tiene sobre todo por objeto reducir estos inconvenientes de la técnica anterior.
Más precisamente, un objeto de la invención consiste en proporcionar una técnica de codificación y decodificación de imágenes y/o de secuencias de vídeo escalable, que se basan en una organización del flujo de datos para capas, con predicción intercapas, que constituye una mejora de la técnica del modelo SVM propuesto por el grupo de trabajo MPEG-21 en el documento N6716 ISO/IEC JTC 1/SC 29/WG 11, titulado "Scalable Video Model 3.0", octubre de 2004, Palma de Mallorca, España.
Sobre todo, un objeto de la invención consiste en proporcionar una técnica como esta que permite, en la decodificación, la reconstrucción de imágenes con un nivel de resolución n dado de mejor calidad que la de la técnica anterior. Más precisamente, la invención tiene por objeto proporcionar una técnica como esta que permita alcanzar en la decodificación, para un nivel de resolución n-1 dado, una velocidad superior a la utilizada para la codificación por predicción del nivel de resolución n.
Otro objeto de la invención consiste en proponer una técnica como esta que permita definir, para cada punto de velocidad, un camino de extracción óptimo, es decir, el camino que ofrezca la mejor reconstrucción del punto en el sentido velocidad/distorsión.
La invención también tiene por objeto proporcionar una técnica como esta que sea sencilla de poner en práctica y poco cara en términos de recursos (ancho de banda, capacidades de tratamiento, etc.).
Otro objeto de la invención consiste en proponer una técnica como esta que permita una compresión eficaz de los datos, permitiendo al mismo tiempo una reconstrucción de buena calidad de las imágenes.
La invención también tiene por objeto proporcionar una técnica como esta que permita comunicar de forma satisfactoria una pluralidad de usuarios que disponen de modalidades de acceso al flujo de datos diferentes y de terminales de visualización de capacidades de tratamiento diferentes.
5. Características esenciales de la invención
Estos objetos, así como otros que aparecerán de aquí en adelante, se logran con la ayuda de un procedimiento de codificación y decodificación de una imagen o de una secuencia de imágenes, que genera un flujo de datos que presenta una estructura jerárquica de capas de datos anidadas de n niveles sucesivos, donde n es un número entero, correspondiéndose cada uno de dichos niveles n con una resolución predeterminada de dichas imágenes. Un procedimiento como este comprende una etapa de codificación de al menos una de dichas capas, de nivel n+1, por predicción al menos a partir de dicha capa de nivel n. Cada una de dichas capas de datos de nivel n permite reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad máxima predeterminada.
Según la invención, un procedimiento como este codifica también, para una al menos de dichas capas de datos de nivel n, al menos un subflujo suplementario, denominado subflujo singular (en inglés "dead substream"), que permite reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad superior a dicha calidad máxima predeterminada y dicho subflujo singular de dicha capa de nivel n no se utiliza durante dicha etapa de codificación por medio de la predicción de dichas capas de nivel diferente de n.
De esta manera, la invención se basa en una aproximación completamente nueva e inventiva de la codificación de flujos de imágenes o de flujos de vídeos escalables. En efecto, mientras que, según la técnica anterior (tal y como describe sobre todo el modelo SVM del grupo de trabajo MPEG-21), la totalidad de los datos de una capa de nivel de resolución n-1 se utilizaba para codificar por predicción la capa de nivel superior n, la invención propone actualmente codificar información suplementaria asociada al nivel de resolución n-1, que no se utilizará ni para la codificación por predicción del nivel n, ni para la reconstrucción de imágenes en el nivel de resolución n. Esta información suplementaria, codificada en un subflujo singular (o "dead substream"), solo se utilizará en la decodificación para la reconstrucción de imágenes en el nivel de resolución n-1.
En otras palabras, con el razonamiento a partir de las curvas velocidad-distorsión asociadas a cada una de las capas de datos anidadas del flujo codificado, la invención propone disociar el punto de velocidad máxima P_máx de la curva velocidad-distorsión de una capa de nivel de resolución n-1 dado, del punto de esta curva, denominado punto de predicción P_pred, utilizado para predecir la capa de datos de resolución de nivel n. El subflujo singular de la capa de nivel n permite, por lo tanto, cubrir el conjunto de las velocidades situadas entre la velocidad del punto de predicción P_pred y la velocidad del punto máximo P_máx.
Gracias a este subbflujo singular, se puede por lo tanto alcanzar, en la decodificación, una reconstrucción de la imagen o de la secuencia de vídeo en el nivel de resolución n de calidad superior a la de la técnica anterior, lo que es particularmente interesante para algunos terminales de visualización, para los que no es suficiente la calidad alcanzada por reconstrucción en el nivel n a partir del punto P_pred.
Ventajosamente, cada capa de datos de nivel n se codifica en forma de al menos un subflujo de base BL, que permite reconstruir una versión de calidad de base de las imágenes con la resolución de nivel n y, eventualmente, de al menos un subflujo de realce EL, que permite refinar la versión de calidad de base para obtener al menos una versión de calidad realzada de las imágenes. Dicha calidad máxima predeterminada es:
-
la calidad de base si dicho subflujo de realce no está codificado;
-
dicha al menos una calidad realzada si al menos un subflujo de realce está codificado.
En efecto, algunas capas de datos pueden codificarse solo en forma de un subflujo de base y otras pueden comprender también uno o varios subflujos de realce. El subflujo singular codificado según la invención permite reconstruir imágenes de calidad superior a la calidad máxima obtenida a partir del único subflujo de base o del subflujo de base y del o de los subflujos de realce si existe(n).
Según una característica ventajosa de la invención, un procedimiento como este comprende también una primera etapa de inserción en dicho flujo de datos de al menos una información que permita identificar dicho al menos un subflujo singular en el seno de dicho flujo de datos. En efecto, es necesario poder distinguir, en la decodificación, el punto de velocidad máxima asociado a un nivel n de resolución espacial, del punto de predicción utilizado para la codificación del nivel de resolución espacial superior n+1.
Según una característica preferida de la invención, un procedimiento como este de codificación también lleva a cabo, para al menos algunas de dichas imágenes, una segunda etapa de inserción en dicho flujo de datos de al menos una información de calidad de reconstrucción asociada a al menos algunos datos de al menos algunas de dichas capas, siendo dicha calidad de reconstrucción una función de al menos un parámetro velocidad/distorsión.
La inserción de esta información de calidad en el flujo permite una selección adaptada de la calidad en las diferentes capas de resolución de nivel n. De esta manera se define, para cada punto de velocidad destinado a la decodificación, un camino de extracción óptimo, es decir, el camino que permite la mejor reconstrucción de la imagen a esta velocidad en el sentido velocidad-distorsión.
La invención se refiere también a un dispositivo de codificación de una imagen o de una secuencia de imágenes, que comprende medios de generación de un flujo de datos que presenta una estructura jerárquica de capas de datos anidadas de n niveles sucesivos, donde n es un número entero, correspondiéndose cada uno de dichos niveles con una resolución predeterminada de dichas imágenes. Un dispositivo como este comprende medios de codificación de al menos una de dichas capas, de nivel n+1, por predicción al menos a partir de dicha capa de nivel n y cada una de dichas capas de datos de nivel n permite reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad máxima predeterminada.
Según la invención, un dispositivo como este comprende también medios de codificación, para una al menos de dichas capas de datos de nivel n, de al menos un subflujo, denominado subflujo singular, que permite reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad superior a dicha calidad máxima predeterminada y dicho subflujo singular de dicha capa de nivel n no se utiliza por parte de dichos medios de codificación por predicción de dichas capas de nivel diferente a n. Este subflujo singular se añade por lo tanto, para la capa de nivel n, al subflujo de base BL y eventualmente al (a los) subflujo(s) de realce EL que comprende.
Ventajosamente, un dispositivo de codificación como este comprende un módulo de extracción de puntos de predicción que permiten extraer, en el seno de dicha capa de nivel n, datos a tener en cuenta durante la codificación por predicción de dicha capa de nivel n+1. Este módulo de extracción de puntos de predicción permite determinar el punto, distinto del punto de velocidad máxima, que se debe utilizar para realizar la codificación de la capa de nivel superior.
La invención se refiere también a un procedimiento, y al dispositivo asociado, de codificación de un flujo de datos codificado según la técnica de codificación descrita anteriormente, que lleva a cabo, para la reconstrucción de una de dichas imágenes con dicha resolución de nivel n, etapas de:
-
decodificación de dichas capas de datos de nivel inferior a n;
-
en función de una velocidad de decodificación permitida, decodificación al menos parcial de dicha capa de nivel n,
no siendo decodificados dichos subflujos singulares de dichas capas de nivel inferior a n durante dicha reconstrucción.
Más precisamente, se decodifica en primer lugar los subflujos de las capas de nivel inferior o igual a n, después los subflujos de realce de las capas de nivel inferior a n cuando existen. Por último, en función de la velocidad de decodificación permitida, se decodifica al menos parcialmente el o los subflujos de realce de la capa de nivel n y eventualmente el subflujo singular de esta capa.
La invención también se refiere a una señal de transmisión de un flujo de datos codificado según la técnica descrita anteriormente. Una señal como esta está estructurada en entidades de información en el seno de las que se transmite dicho flujo de datos, comprendiendo cada una de dichas entidades de información un encabezamiento, que informan sobre un tipo de dicha entidad de información y un campo de datos útiles.
Según la invención, una señal como esta también transmite, para una al menos de dichas capas de datos de nivel n, al menos un subflujo, denominado subflujo singular, que permite reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad superior a dicha calidad máxima predeterminada, no utilizándose dicho subflujo singular de nivel n para reconstruir dichas imágenes con una resolución de nivel diferente a n.
En una primera variante de realización, una señal como esta transmite dicho subflujo singular en el seno de al menos una entidad de información de un primer tipo específico (por ejemplo el tipo 22 o 23 de las NAL, previsto por la sintaxis del modelo SVM), distinto del tipo de dichas entidades de información que transmiten dichos subflujos de base y dichos subflujos de realce.
En una segunda variante de realización, al menos uno de dichos subflujos singulares y al menos uno de dichos subflujos de realce se transmiten en el seno de una entidad de información (NAL) del mismo tipo y dicha señal transmite al menos una información de corte que permite identificar, en el seno de dicha NAL, dicho subflujo singular y dicho subflujo de realce.
Cuando se lleva a cabo, en la codificación, la variante presentada anteriormente de selección adaptada de la calidad, permitiendo la definición de caminos de extracción óptimos, la señal de la invención también debe transmitir la información de calidad de reconstrucción asociada, según esta variante, a varios datos. Para hacer esto, se han previsto dos soluciones.
Una primera variante de realización consiste en modificar la estructura de las entidades de información existentes, a saber las NAL, de forma que algunas de ellas también comprendan un seudoencabezamiento que comprende al menos un indicador hacia al menos algunos datos de dicho campo de datos útiles, informando dicho indicador sobre un nivel de calidad de reconstrucción asociado a dichos datos y en función de al menos un parámetro velocidad/distorsión.
Una segunda variante, que es preferida ya que no impone ninguna modificación de la estructura de las entidades de información existentes, consiste en introducir en la señal al menos una entidad de información de un tipo específico, que comprende al menos una información de calidad de reconstrucción asociada a al menos algunos datos de dicho flujo, siendo dicha calidad de reconstrucción en función de al menos un parámetro velocidad/distorsión.
Se introducen de esta manera NAL específicas, denominadas NAL de información, que contienen en su campo de datos útiles desfases que permiten identificar niveles de calidad en una NAL de transporte de datos (a saber una NAL que transporta un subflujo de realce por ejemplo).
Estas NAL de información también pueden transportar información de identificación de subflujo singular, cuando contienen información suplementaria que indica cuál es el nivel de calidad que corresponde al principio de un subflujo singular.
La invención se refiere también a programas informáticos que comprenden instrucciones de código de programa para la ejecución de las etapas del procedimiento de codificación de una imagen o de una secuencia de imágenes y para la ejecución de las etapas del procedimiento de decodificación de un flujo de datos representativo de una imagen o de una secuencia de imágenes descritos anteriormente cuando dichos programas se ejecutan en o por parte de un microprocesador.
La invención también se refiere a un módulo de adaptación de calidad de una imagen o de una secuencia de imágenes, alimentado por un flujo de datos origen representativo de una imagen o de una secuencia de imágenes, tal y como se ha descrito anteriormente.
Un módulo de adaptación como este lleva a cabo medios de generación de un flujo de datos modificado destinado a al menos un terminal de visualización de dichas imágenes, obteniéndose dicho flujo de datos modificado a partir de dicho flujo de datos origen, por extracción de dicho subflujo singular de nivel n si dicho al menos un terminal de visualización no reconstruye dichas imágenes con dicha resolución de nivel n.
Un módulo de adaptación como este, denominado también extractor, permite extraer del flujo los subflujos que no se utilizarán en la reconstrucción, debido a la naturaleza de los terminales comunicados por ejemplo. Puede encontrarse directamente a la salida del codificador, justo delante del decodificador (incluso integrado en el decodificador) o también estar situado en un punto cualquiera de la red de transmisión por el que acceden los terminales cliente al flujo.
Por último, la invención se refiere a un soporte de datos destinado a almacenar el flujo de datos citado anteriormente, que presenta una estructura de memorización jerárquica de capas de datos anidadas de este flujo. Un soporte de datos como este también comprende, para una al menos de dichas capas de datos de nivel n, al menos una zona de memorización de al menos un subflujo singular, que no se lee durante la reconstrucción de dichas imágenes con una resolución de nivel diferente a n.
6. Lista de figuras
Otras características y ventajas de la invención aparecerán más claramente con la lectura de la siguiente descripción de un modo de realización preferido, dado a título de ejemplo ilustrativo y no limitativo y de los dibujos anejos, entre los que:
- las figuras 1 a 6, ya descritas en relación a la técnica anterior, se refieren al modelo SVM del grupo de trabajo MPEG-21. Más precisamente:
la figura 1 presenta una sinóptica del codificador MPEG-21 SVC descrito en el documento N6716 citado anteriormente;
la figura 2 ilustra diferentes curvas velocidad/distorsión obtenidas a partir del codificador de la figura 1;
la figura 3 describe el mecanismo de predicción/extracción propuesto por le modelo SVM del grupo de trabajo MPEG-21, a partir de las curvas velocidad/distorsión del tipo de las de la figura 2;
la figura 4 ilustra el orden de tratamiento de las capas de datos por parte del codificador de la figura 1;
la figura 5 presenta un principio de caminos de extracción anidados previsto por la norma MPEG;
la figura 6 describe el orden de tratamiento de las capas de datos en la extracción anterior a la decodificación;
la figura 7 presenta el principio de inserción de un subflujo singular en el nivel de resolución n, en forma de curvas velocidad/distorsión;
la figura 8 presenta una sinóptica del codificador de la invención;
la figura 9 describe la organización de datos efectuada por el codificador de la figura 8 con la inserción de un subflujo singular;
las figuras 10 y 11 ilustran dos ejemplos de extracción en el formato CIF y QCIF;
las figuras 12 a 16 ilustran un modo de realización particular de la invención en el que, debajo de los subflujos singulares, se cortan las imágenes en niveles de calidad sucesivos, utilizados durante la reconstrucción:
la figura 12 ilustra la modificación del mecanismo de predicción/extracción de la figura 3 en esta variante;
la figura 13 presenta el principio de establecimiento de los puntos de truncamiento en los subflujos asociados a las imágenes;
las figuras 14 y 15 describen dos ejemplos de estructura de entidades de información, o NAL, que transmiten la información de calidad insertada en el flujo según esta variante;
la figura 16 presenta un ejemplo de estructura de imágenes en niveles de calidad sucesivos;
las figuras 17 a 19 presentan respectivamente esquemas simplificados de los dispositivos de codificación, módulo de adaptación de la calidad de las imágenes y dispositivo de decodificación según la invención.
\vskip1.000000\baselineskip
7. Descripción de un modo de realización de la invención
El principio general de la invención se basa en la codificación de un subflujo suplementario en algunos o todos los niveles de resolución del flujo, destinado a permitir la reconstrucción de una imagen de mejor calidad en este nivel de resolución. Este subflujo suplementario, denominado subflujo singular (en inglés "dead substream"), se utiliza en el único nivel de resolución para el que está codificado. En otras palabras, en la codificación, no se utiliza para la predicción de las capas de otros niveles de resolución y, en la decodificación, no se utiliza para la reconstrucción de las imágenes en otros niveles de resolución.
Teniendo en cuenta las curvas velocidad-distorsión asociadas a cada uno de los niveles de resolución codificadas en el flujo, la inserción de un subflujo singular como este llega a disociar el punto de velocidad máxima de un nivel de resolución del punto de este nivel utilizado para la predicción del nivel de resolución superior.
Se presenta, en relación con la figura 7, un modo de realización de la técnica de codificación de la invención, que se basa en la añadidura de un subflujo singular en una capa de datos de resolución espacial y/o temporal de nivel n dado.
Tal y como anteriormente (véase la figura 3), es interesante el caso particular de la codificación de las imágenes en dos formatos de resolución anidados QCIF y CIF. El experto en la técnica comprenderá sin dificultad esta enseñanza en el caso más general de n niveles de resolución sucesivos (por ejemplo QCIF, CIF, SD, HD, etc.). La figura 7 presenta las curvas velocidad-distorsión para estos dos formatos (curva con referencia 30 para el QCIF y la curva con referencia 31 para el CIF) con la velocidad en el eje de abscisas expresada en kbits/s y en el eje de ordenadas la distorsión expresada en forma de PSNR en dB. Se observará que las mismas referencias numéricas designan a los mismos elementos en las figuras 3 a 7.
El principio de la invención consiste, por lo tanto, en la codificación, en definir un punto de velocidad máxima para un nivel espacial n-1 (en este caso particular el punto P_máx con referencia 704 para la curva velocidad-distorsión del formato QCIF) diferente del punto utilizado para la predicción del nivel espacial n (a saber el punto P_pred 706 utilizado para la predicción del formato CIF).
Para hacer esto, se realizan las siguientes etapas de codificación:
-
codificación de una capa de datos de nivel espacial n-1 (QCIF) hasta un punto de velocidad máxima P_máx 704;
-
extracción de un punto de velocidad P_pred 706 del nivel n-1 (QCIF);
-
introducción en el flujo codificado global de un subflujo suplementario, denominado subflujo singular 707, para el nivel espacial n-1 (QCIF) que cubre las velocidades desde P_pred 706 a P_máx 704. Este flujo solo sirve para la reconstrucción de la secuencia de vídeo en algunos puntos de velocidades del nivel de resolución n-1 (QCIF) y no se utiliza para la reconstrucción de puntos de nivel espaciales superiores o inferiores;
-
introducción en el flujo global de información de identificación del subflujo singular, que permite, durante la decodificación o la extracción de datos del flujo, identificar la posición del punto de predicción P_pred 706 en la curva velocidad-distorsión QCIF con respecto al punto de velocidad máxima P_máx 704;
-
codificación de la capa de datos del nivel espacial n (CIF) utilizando una predicción del nivel espacial n-1 (QCIF) en el punto de velocidad P_pred 706.
Esta técnica de codificación conlleva por lo tanto la aparición de nuevos puntos en la curva velocidad-distorsión 30 asociada al formato de resolución espacial QCIF, que pertenecen a un subflujo singular 707 utilizado exclusivamente para la reconstrucción de imágenes en el formato QCIF.
Cuando un terminal desea decodificar el flujo global de datos codificado de esta manera, se extraen de este flujo los datos necesarios para la reconstrucción de la secuencia de vídeo, en función de la resolución espacio-temporal y de la velocidad deseadas por el terminal. Para una reconstrucción en un nivel de resolución n, se extrae un punto de velocidad de este nivel espacial n, vigilando que no se utilice ninguno de los subflujos singulares de los niveles espaciales diferentes a n (sobre todo de los niveles espaciales inferiores), pero utilizando eventualmente el subflujo singular del nivel espacial n si la velocidad deseada se hace posible esta utilización.
La figura 17 presenta la estructura simplificada de un dispositivo de codificación de la invención que comprende una memoria M 178, una unidad 176 de tratamiento, equipada por ejemplo con un microprocesador y dirigida por el programa informático Pg 177. Al iniciarlo, las instrucciones de código del programa informático 177 se cargan por ejemplo en una memoria RAM antes de ser ejecutadas por el procesador de la unidad 176 de tratamiento. La unidad 176 de tratamiento recibe en la entrada un contenido de vídeo que se debe codificar 10. El microprocesador \muP de la unidad 176 de tratamiento codifica la secuencia de vídeo 10 en forma de un flujo comprimido 83 que comprende una pluralidad de capas anidadas de n niveles de resolución espacial sucesivos, según las instrucciones del programa Pg 177. La unidad 176 de tratamiento libera en la salida un flujo de datos comprimido 83.
La figura 8 presenta más precisamente la estructura de un codificador, que permite la introducción de subflujos singulares en algunos o todos los niveles de resolución espacial. Como se observará, la estructura de un codificador como este solo se diferencia de la del codificador SVC MPEG-21 presentado anteriormente en relación con la figura 1 por la presencia de módulos de extracción de puntos de predicción 81 y 82. Las mismas referencias numéricas designan por lo tanto elementos idénticos en las figuras 1 y 8. En el ejemplo de la figura 8, hay que situarse en un contexto de codificación de vídeo escalable basado en una transformación de ondas pequeñas temporal con la compensación por movimiento y la representación por capas con predicción entre capas.
El codificador de la figura 8 funciona de la siguiente manera:
(i)
los datos de vídeo 10 recibidos en la entrada del codificador alimentan tres ramas del codificador que funciona en paralelo, una en la que los datos sufren una decimación por cuatro con referencia 12, una en la que los datos sufren una decimación por dos con referencia 11 y la última en la que los datos no se submuestrean y no sufren ninguna decimación;
(ii)
la secuencia de vídeo se codifica en primer lugar en el formato espacial de base (QCIF) con la ayuda de una transformada temporal compensada por movimiento (MCTF) 13_{1}, que permite generar información de textura en forma de coeficientes de ondas pequeñas (se observará que, para simplificar, no se han representado aquí los módulos de tratamiento de información de movimiento de la secuencia de vídeo). Los coeficientes transformados se codifican por predicción 19_{1} con respecto a otros coeficientes del mismo nivel espacial y a una codificación escalable entrópica 21_{1}. Se obtiene un subflujo escalable que representa el nivel de resolución espacial de base (sub-bistream0 con referencia 84), de velocidad total R_r0_máx donde r0 representa el nivel espacial y máx indica el punto de velocidad más alto de la curva velocidad-distorsión asociada.
El punto de velocidad P_pred que sirve para la predicción para la codificación del nivel espacial superior se extrae del subflujo escalable codificado por el módulo de extracción del punto de predicción con referencia 82 (denominado también en inglés "Prediction Point Extraction"). La velocidad del punto P_pred es inferior a la velocidad
R_r0_máx.
El subflujo extraído se decodifica e interpola 20_{1} para servir de predicción 19_{2} para el nivel de resolución espacial superior. El subflujo escalable 84 se envía al multiplexador 22 que se encarga de ordenar todos los subflujos de todos los niveles de resolución espacial con el fin de formar el flujo final 83.
(iii)
El vídeo se codifica a continuación con una resolución espacial superior (CIF) con la ayuda de una transformada temporal compensada por movimiento (MCTF) 13_{2}; los coeficientes transformados se predicen 19_{2} con la ayuda de los coeficientes de ondas pequeñas del mismo nivel espacial (CIF) o de coeficientes de la señal interpolada 20_{1} que vienen del nivel espacial inferior. A la predicción 19_{2} le sigue una codificación entrópica escalable 21_{2} y se obtiene un subflujo escalable 85 que representa el nivel de resolución espacial r1, de velocidad máxima R_r1_máx. Este subflujo 85 se envía al multiplexador 22. El punto de velocidad utilizado para la predicción del nivel espacial superior se extrae a continuación del subflujo codificado 85 por medio del módulo de extracción del punto de predicción 81 e interpolado 20_{2}.
Se procede la misma forma para los niveles espaciales superiores, excepto que no se extrae ningún punto de predicción para el último nivel espacial.
La figura 9 ilustra los datos generados por el codificador 8, en el ejemplo particular en el que solo se tienen en cuenta dos niveles de resolución espacial diferentes, a saber QCIF y CIF (en otras palabras, solo se tienen en cuenta los subflujos que resultan de las dos ramas inferiores del codificador de la figura 8 que proceden respectivamente a decimaciones por dos y por cuatro de los datos de vídeo 10 de entrada).
En cada capa de datos de un nivel de resolución espacial (QCIF y CIF), los datos se organizan en varias subcapas: una subcapa de base BL (Base Layer), seguida de una primera subcapa de realce (Enhacement Layer 1 o EL1) y de una segunda subcapa de realce (Enhacement Layer 2 o EL2). Las dos primeras subcapas (BL y EL1) se utilizan en la codificación para la predicción de un nivel espacial superior y en la decodificación para la reconstrucción de puntos del nivel espacial actual y de los niveles espaciales superiores.
La segunda subcapa de realce (EL2) se utiliza únicamente para la reconstrucción de puntos del nivel espacial actual. Esta segunda subcapa de realce representa el subflujo singular.
Se observará que la figura 9 ilustra un ejemplo particular de realización, en el que cada capa de datos comprende al menos un subflujo de realce EL1, además del subflujo suplementario EL2 propuesto por la invención. También es seguramente posible que algunas capas de datos de algunos niveles espaciales solo estén codificadas en forma de un subflujo de base BL, al que la invención añade un subflujo singular en una única subcapa de realce EL.
Cuando un subflujo singular se añade por medio del codificador a una capa de datos de nivel de resolución espacial n dado, es necesario señalarla por medio de la inserción de información específica en el flujo global de datos, con el fin de que este subflujo singular pueda ser explotado en la decodificación.
Se presenta a continuación un ejemplo de inserción de esta información específica relacionado con la presencia de un subflujo singular en el flujo global de datos. Se recuerda previamente la estructura del flujo de datos propuesta en el marco del SVM de MPEG-21.
En la instalación del SVM, el flujo está estructurado en entidades de información, denominadas NAL (en inglés "Network Adaptación Layer" o "Capa de adaptación a la red"). Una NAL es una unidad de transporte en el sentido de la norma H264 (ITU-T e ISO/IEC JTC1, "Advanced Video Coding Ford Genérica Audiovisual Services", ITU-T Recomendación H.264-ISO/IEC 14496-10 AVC, 2003). Es un paquete que comprende un encabezamiento y un número entero de bytes de datos (denominado también "payload").
El encabezamiento de una NAL comprende un byte del tipo que permite calificar el tipo de la NAL. El campo de datos útil, o "payload", sirve para transmitir un flujo correspondiente a la codificación de un nivel espacial, de un nivel temporal y de un nivel de calidad (nivel de base o nivel FGS) para una imagen de subbandas o una parte de imagen. En la sintaxis del SVM, una NAL puede tener varios tipos: sobre todo, los tipos 20 y 21 están reservados para describir una NAL cuyo contenido es un subflujo de realce de una imagen (interna o no interna).
La introducción de un subflujo singular en el flujo correspondiente a la introducción de un subflujo de realce suplementario, tal y como se ha explicado anteriormente en relación con la figura 9 (subcapa EL2), este subflujo singular se transmite por lo tanto en una NAL. Todo tipo de NAL cuya utilización no se haya impuesto aún por la sintaxis del SVM puede servir para designar una NAL que transmita un subflujo singular, como por ejemplo los tipos 22 y 23.
En otra variante de realización de la invención, también se puede prever transmitir en una misma NAL, el subflujo singular de una capa de nivel n y el subflujo de realce, si este último existe. En otras palabras, las subcapas EL1 y EL2 se reagrupan entonces en una misma NAL e información suplementaria indica dónde se sitúa el punto de recorte en la NAL entre los subflujos EL1 y EL2.
\newpage
Se intenta describir ahora, en relación con las figuras 10 y 11, el principio de funcionamiento de un módulo de adaptación de la calidad de las imágenes, denominado también extractor. Se recuerda que un extractor como este se pude situar directamente en la salida del codificador, justo antes del decodificador, o incluso en un punto cualquiera de la red de transmisión por el que accede un cliente al flujo de datos codificado. Permite extraer del flujo global algunos datos que no son útiles para los clientes finales que comunica. Más precisamente, el extractor del SVM estudia las características de cada NAL (nivel espacial, temporal, FGS) y guarda o trunca las NAL utilizadas para la decodificación a una velocidad y con un formato (o nivel de resolución espacio-temporal) dados.
Según la invención, la introducción de subflujos singulares modifica la lectura de los encabezamientos de las NAL por parte del extractor de la siguiente manera:
Sean nivEspacialDec el nivel de resolución espacial solicitado en la decodificación,
nivEspacialNAL, el nivel de resolución espacial de la NAL actual,
tipoNAL, el tipo de la NAL actual
Si ((tipoNAL == 22 || tipoNAL == 23) y nivEspacialDec == nivEspacialNAL) {Extracción de la NAL}
\vskip1.000000\baselineskip
En otras palabras, el funcionamiento del extractor se modifica para que este último extraiga también del flujo global de datos las NAL que transmiten los subflujos singulares del nivel de resolución espacial que se desea alcanzar en la codificación. Las figuras 10 y 11 presentan dos ejemplos de extracción, respectivamente para una reconstrucción de la secuencia de vídeo en el formato CIF y QCIF, en el caso de que se consideren dos únicos niveles de resolución espacial sucesivos.
Para una reconstrucción de las imágenes en el formato CIF, el decodificador utiliza los subflujos de base de los dos niveles espaciales (BL QCIF y BL CIF), las primeras capas de realce de los dos niveles espaciales (Enhancement Layer EL1 QCIF y Enhancement Layer EL1 CIF), así como la segunda capa de realce del nivel CIF (Enhancement Layer EL2 CIF). El extractor debe por lo tanto extraer del flujo global el conjunto de subcapas representadas en la figura 10 en este orden para insertarlas en un flujo modificado. En función de la velocidad utilizada para la reconstrucción del punto, se pueden truncar las diferentes subcapas, es decir, los subflujos correspondientes solo pueden decodificarse en parte (por ejemplo, decodificación parcial del subflujo de realce EK1 CIF y en este caso, el subflujo singular EL2 CIF no se utiliza, al no permitirlo la velocidad).
Para una reconstrucción en el formato QCIF, el decodificador utiliza el subflujo de base del nivel QCIF (Base Layer QCIF) y los dos subflujos de realce del nivel QCIF (Enhancement Layer EL1 QCIF y Enhancement Layer EL2 QCIF), tal y como se ilustra en la figura 11. De nuevo, las diferentes capas BL QCIF, EL1 QCIF y EL2 QCIF pueden truncarse, en función de la velocidad asignada para la reconstrucción de las imágenes en el formato
QCIF.
La figura 18 presenta la estructura simplificada de un extractor como este, o módulo de adaptación de la calidad de las imágenes, que comprende una memoria M 180, una unidad 181 de tratamiento, equipada por ejemplo con un microprocesador y dirigida por el programa informático Pg 182. Al iniciarlo, las instrucciones de código del programa informático 182 se cargan por ejemplo en una memoria RAM antes de ejecutarse por parte del procesador de la unidad 181 de tratamiento. La unidad 181 de tratamiento recibe en la entrada un flujo comprimido 83 de datos, organizado según una estructura jerárquica de capas anidadas de n niveles de resolución sucesivos. El microprocesador \muP de la unidad 181 de tratamiento extrae del flujo de datos 83 el conjunto de los subflujos que no se utilizarán en la codificación (en función de la naturaleza de los terminales meta por ejemplo o de la calidad deseada en reconstrucción), según las instrucciones del programa Pg 182. La unidad 181 de tratamiento libera a la salida un flujo de datos modificado 183, adaptado a las capacidades de tratamiento de los terminales cliente o a las tensiones de la red de
transmisión.
En la variante de realización de la invención, en la que los subflujos singulares se transmiten por medio de NAL de tipo 22 o 23, el decodificador propuesto en el marco del modelo SVM de MPEG-21 debe modificarse de manera que se decodifiquen las NAL de tipo 22 y 23:
Si (tipoNAL == 20 || tipoNAL == 21 || tipoNAL == 22 || tipoNAL == 23) {DecodificarNAL}
\vskip1.000000\baselineskip
Se presenta ahora, en relación con las figuras 12 a 16, una variante de realización de la invención, que lleva a cabo, además de la inserción de subflujos singulares, una selección adaptada de la calidad en las capas espaciales. La selección adaptada de la calidad de las capas de datos de n niveles sucesivos permite definir para cada punto de velocidad que se desea alcanzar en la codificación, un camino de extracción óptimo, es decir, el camino que ofrece la mejor reconstrucción del punto en el sentido velocidad/distorsión. Esta variante de la invención se basa en la definición y la inserción de células informativas en el flujo global.
\newpage
La utilización de caminos de extracción adaptados permite mejorar aún más la técnica de extracción de la invención, de la siguiente manera:
-
se calcula para varios puntos de velocidad de cada nivel de resolución espacio-temporal N (es decir, para cada curva velocidad-distorsión), un valor representativo de su calidad comprendida entre un mínimo CNmin y un máximo CNmáx. Este cálculo se puede efectuar:
-
o bien en el momento de la codificación de cada capa de resolución espacial;
-
o bien después de la codificación de todas las capas de los diferentes niveles espaciales.
-
se inserta a continuación en el flujo global información que permita volver a encontrar esta medida de calidad en la extracción que precede a la decodificación:
-
o bien insertando esta información en las propias entidades de datos del flujo codificado, es decir, en las NAL que transmiten los subflujos de base o de realce;
-
o bien insertando esta información en una entidad separada de las entidades de datos del flujo codifi- cado.
-
en el momento de la extracción de un punto de velocidad R correspondiente a una calidad C de un nivel espacial n, se extraen a continuación las entidades de datos correspondientes a esta calidad para todos los niveles espaciales inferiores o iguales a n, vigilando que ningún flujo singular de nivel inferior a n se utilice.
\vskip1.000000\baselineskip
Cada uno de estos subflujos se recorre para determinar, para cada imagen, el punto de truncamiento que permite obtener una calidad y/o una velocidad dada. El flujo final está compuesto por lo tanto de cierta cantidad de "niveles" de calidad.
La figura 12 presenta más precisamente la modificación del mecanismo de predicción/extracción inducida por esta variante de la invención basada en que se lleven a cabo caminos de extracción óptimos. De nuevo, hay que situarse en el contexto particular de dos niveles de resolución espacio-temporal sucesivos QCIF y CIF. Se consideran las curvas velocidad-distorsión asociadas a estos dos niveles, con la velocidad en el eje de abscisas expresado en kbits/s y en el eje de ordenadas el PSNR expresado en dB.
Se consideran cuatro puntos P1, P2, P3 y P4 disponibles en la curva de nivel N-1 (QCIF) con referencia 30. Estos cuatro puntos P1 a P4 se consideran como predictores posibles para la curva de nivel N (CIF).
De esta manera, el punto P1 permite obtener por predicción la curva C1, mientras que las curvas C2 y C3 son respectivamente el resultado de una predicción de los puntos P2 y P3. La curva con referencia 31 se corresponde con la curva obtenida por predicción a partir del punto de velocidad máxima P4 de nivel QCIF y representa por lo tanto la curva de nivel CIF obtenida a parir del codificador SVC MPEG-21 de la técnica anterior.
A partir de las diferentes curvas C1 a C3, se puede seleccionar el mejor punto de predicción de la curva QCIF 30 (en el sentido velocidad-distorsión) correspondiente a cada velocidad meta: de esta manera, la distorsión mínima a una velocidad de 128 kbits/s se alcanza en la curva C1, de manera que el punto de velocidad 128 kbits/s se predice en el mejor de los casos a partir del punto de predicción P1; asimismo, la distorsión mínima para el punto de velocidad 192 kbit/s se alcanza en la curva C3, de manera que este punto de velocidad se predice en el mejor de los casos a partir del punto de predicción P3.
Se obtienen de esta manera curvas de "calidad" formadas por un punto de la curva de nivel N (CIF) y por su predictor óptimo de la curva de nivel N-1 (QCIF) en el sentido del algoritmo (que puede ser diferente del utilizado en el codificador).
Los caminos de extracción óptimos están determinados por una etapa de tratamiento suplementario en el nivel del codificador. Tal y como se indica anteriormente, esta etapa puede llevarse a cabo durante la codificación o puede ser independiente del codificador ya que se realiza tras la codificación/compresión de los datos.
A continuación, se presenta más detalladamente, en relación con la figura 13, un ejemplo de cálculo de la calidad asociada a un punto de velocidad, llevado a cabo en el codificador o en un procesador posterior.
Se dispone de un conjunto de "imágenes" (residuales o no) que se recortan en uno o varios niveles de calidad (a saber un nivel de base y uno o varios niveles de realce o de mejora), repartidos en NAL. Se supone que las NAL N_{1} pueden truncarse en subpuntos n_{1} (lo que se aplica principalmente a los subflujos de realce) que generan una velocidad R^{n}_{i} para una distorsión D_{i}^{n}. Se supone también, por simplificación, que la medida de distorsión es acumula-
tiva.
\newpage
Se busca la forma óptima de cortar las NAL de una imagen en i puntos n^{\lambda}_{i}, de forma que se minimiza la distorsión, con como problema la velocidad máxima que se puede alcanzar para el nivel de resolución espacio-temporal considerado. Se busca por lo tanto minimizar en la imagen la cantidad:
D(\lambda) + \lambda R(\lambda) = \sum\limits_{i} (D^{n^{2}i}_{i} + \lambda R_{i}^{n^{2}i})
En la práctica, se define un cierto número de puntos de truncamiento posibles en cada NAL (por ejemplo k puntos, pero de manera no limitativa en el final de cada pasada del codificador antrópico).
Tal y como se ilustra en la figura 13, que presenta en el eje de abscisas la velocidad y en el eje de ordenadas la distorsión, se considera la nube de puntos con referencia 130 obtenida para el conjunto de la imagen a partir de un conjunto de entidades de información o NAL. Se determina en un primer momento los puntos de esta nube 130 que pertenecen a la curva velocidad-distorsión del nivel de resolución espacio-temporal considerado, según la técnica descrita sobre todo en el documento de David Taubman titulado "High Performance Scalable Image Compression with EBCOT" (en español "Compresión de imágenes escalable de alto rendimiento con EBCOT"), al que se podrá remitir para más detalles. Se busca por lo tanto la envoltura convexa 131 en la que se inscriben estos puntos de un nivel de resolución espacio-temporal dado.
Para un \lambda dado, es decir, para una calidad dada, el algoritmo es el siguiente:
Iniciar n^{\lambda}_{i} = 0
Para j = j_{1}, j_{2},... j_{k}
\DeltaR^{j}_{i} = R^{j}_{i} - R^{n^{\lambda}}_{i}; \DeltaD^{j}_{i} = D^{n^{2}}_{i} - D_{i}^{j}
Si \DeltaR^{j}_{i}/\DeltaD_{i}^{j} > \lambda entonces n^{\lambda}_{i} = j
Entonces se almacena, para cada punto identificado de la curva, el valor de velocidad \DeltaR^{j}_{i} y el valor de la pendiente en este punto S^{j}_{i} = \DeltaR^{j}_{i}/\DeltaD^{j}_{i}.
Para poder explotar en la codificación estos diferentes niveles de calidad, es decir, para poder realizar un truncamiento de una NAL en un punto concreto relacionado con el nivel de calidad que se desea alcanzar, es necesario inscribir en el flujo global de datos una segunda información específica que, además de la información de identificación de un subflujo singular, permite identificar estos niveles de calidad.
Para hacer esto, la invención propone dos modos de realización, uno en el que los pares (velocidad, calidad) asociados a los puntos establecidos durante el establecimiento de los puntos de truncamiento se almacenan directamente en NAL de datos (es decir, las NAL que transmiten los subflujos de base y de realce) y el otro en el los pares están inscritos en NAL específicas, denominadas NAL de información. La calidad C_{i} asociada a un punto se calcula en función de la pendiente S^{j}_{i} tal y como se define anteriormente (C_{i} = f(S^{j}_{i})).
En el primer modo de realización ilustrado en la figura 14, se inserta, entre el encabezamiento 141 y el campo útil 142 de datos (payload) de una NAL 140 de datos, un seudoencabezamiento 143 que contiene indicadores (por ejemplo en forma de valores de desfase u offset) en los diferentes niveles de calidad identificados durante la búsqueda de los puntos de truncamiento de la figura 13. Un indicador (offset) es equivalente a un valor de velocidad y se corresponde con un valor de calidad C_{1}, C_{2} a C_{4} y lo simboliza una flecha hacia el campo de datos útil en la figura 14.
En el segundo modo de realización ilustrado en la figura 15, se utiliza un tipo nuevo de NAL, denominado NAL de información 150, que permiten señalar los niveles de calidad en el interior de una NAL de datos 151 del flujo global. Tal y como una NAL de datos 151, una NAL de información 150 como esta comprende un encabezamiento 152 y un campo útil 153 de datos. Por ejemplo, cuando se desea proponer diez niveles de calidad distintos C_{1} a C_{10}, se construye una NAL de información que comprende en su "payload" 153 diez números enteros, que indican cada uno de ellos un desfase, u offset, en el campo de datos útiles 154 de la NAL de datos 151.
Cuando se desea reconstruir la secuencia de vídeo en un nivel de calidad C_{ext}, se extraen los datos necesarios del flujo comprimido global. Para ello, el extractor (o módulo de adaptación de calidad de imagen) busca en cada una de las NAL el nivel de calidad más cercano al nivel C_{ext} (es decir, el nivel de calidad inferior o igual a la de C_{ext}).
La figura 16 ilustra un ejemplo de estructura de imágenes en niveles de calidad sucesivos. Se consideran siete imágenes con referencias 161 a 167, de las que las tres primeras 161 a 163 están en el formato de resolución QCIF y las cuatro últimas 164 a 167 están en el formato CIF. Cada una de estas imágenes está codificada en forma de un subflujo de base BL 168, de un primer subflujo de realce EL1 169 y de un segundo subflujo de realce EL2 170, correspondiente a un subflujo singular. Se distinguen, en el seno de cada una de estas imágenes, cinco niveles de calidad sucesivos con referencias 171 a 175, que se corresponden con puntos de truncamiento de entidades de información, o NAL, que transmiten los datos de reconstrucción de las imágenes.
Tal y como se puede comprobar en la figura 16, el nivel 171 de calidad más bajo se corresponde con el subflujo de base BL 168. La decodificación del primer subflujo de realce EL1 permite alcanzar el nivel 173 de calidad intermedio con referencia y la decodificación del subflujo singular EL2 170, el nivel 175 de calidad máxima.
De esta manera, para una decodificación en CIF, si la calidad solicitada en el extractor es C_{ext} = 3, los tres niveles 171, 172 y 173 de calidad inferior se utilizarán enteros para cada imagen. Si, por el contrario, la calidad solicitada en el extractor es C_{ext} = 4, se decodificarán totalmente los tres niveles 171, 172 y 173 de calidad inferior para cada subbanda CIF y QCIF, así como el nivel de calidad con referencia 174 para las subbandas CIF solamente.
En esta variante de realización a base de niveles de calidad, el extractor, o módulo de adaptación de calidad de imagen, realiza el truncamiento de las entidades de información en el punto óptimo con respecto al nivel de calidad deseado en la reconstrucción (se observará que este truncamiento se puede adaptar por imagen o subbanda). El decodificador recibe por lo tanto NAL que se han truncado anteriormente en el "mejor" punto y que solo le queda decodificar para reconstruir la secuencia de vídeo.
La figura 19 presenta la estructura simplificada de un decodificador como este, que comprende una memoria M 190, una unidad 191 de tratamiento, equipada por ejemplo con un microprocesador y dirigida por el programa informático Pg 192. Al iniciarlo, las instrucciones de código del programa informático 192 se cargan por ejemplo en una memoria RAM antes de ejecutarse por parte del procesador de la unidad 191 de tratamiento. La unidad 191 de tratamiento recibe en la entrada un conjunto de paquetes de datos 183, o entidades de información para decodificar, por ejemplo un conjunto de NAL truncadas en el punto de velocidad óptima, en función de la calidad de reconstrucción que se desea alcanzar. El microprocesador \muP de la unidad 191 de tratamiento decodifica las entidades de información 183 recibidas, según las instrucciones del programa Pg 192. La unidad 191 de tratamiento libera en la salida una secuencia reconstruida 193de vídeo, adaptada a las capacidades de tratamiento del terminal de visualización del cliente.

Claims (14)

1. Procedimiento de codificación de una imagen o de una secuencia de imágenes, que genera un flujo de datos que presenta una estructura jerárquica de capas de datos anidadas de n niveles sucesivos, donde n es un número entero, correspondiéndose cada uno de dichos niveles n con una resolución predeterminada de dichas imágenes, comprendiendo dicho procedimiento una etapa de codificación de al menos una de dichas capas, de nivel n+1, por predicción al menos a partir de dicha capa de nivel n, permitiendo cada una de dichas capas de datos de nivel n reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad máxima predeterminada, caracterizado porque dicho procedimiento codifica también, para una al menos de dichas capas de datos de nivel n, al menos un subflujo, denominado subflujo singular, que permite reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad superior a dicha calidad máxima predeterminada y porque dicho subflujo singular de dicha capa de nivel n no se utiliza durante dicha etapa de codificación por predicción de dichas capas de nivel diferente de n.
2. Procedimiento de codificación según la reivindicación 1, caracterizado porque codifica dichas capas de datos de nivel n en forma de al menos un subflujo de base, que permite reconstruir una versión de calidad de base de las imágenes con dicha resolución de nivel n y para una al menos de dichas capas de datos de nivel n, de al menos un subflujo de realce, que permite refinar dicha versión de calidad de base para obtener al menos una versión de calidad realzada de dichas imágenes y porque dicha calidad máxima predeterminada es:
-
dicha calidad de base si dicho subflujo de realce no está codificado;
-
dicha al menos una calidad realzada si al menos un subflujo de realce está codificado.
3. Procedimiento de codificación según cualquiera de las reivindicaciones 1 y 2, caracterizado porque comprende también una primera etapa de inserción en dicho flujo de datos de al menos una información que permita identificar dicho al menos un subflujo singular en el seno de dicho flujo de datos.
4. Procedimiento de codificación según cualquiera de las reivindicaciones 1 a 3, caracterizado porque también lleva a cabo, para al menos algunas de dichas imágenes, una segunda etapa de inserción en dicho flujo de datos de al menos una información de calidad de reconstrucción asociada a al menos algunos datos de al menos algunas de dichas capas, siendo dicha calidad de reconstrucción una función de al menos un parámetro velocidad/distorsión.
5. Dispositivo de codificación de una imagen o de una secuencia de imágenes, que comprende medios de generación de un flujo de datos que presenta una estructura jerárquica de capas de datos anidadas de n niveles sucesivos, donde n es un número entero, correspondiéndose cada uno de dichos niveles con una resolución predeterminada de dichas imágenes, dicho dispositivo comprende medios de codificación de al menos una de dichas capas, de nivel n+1, por predicción al menos a partir de dicha capa de nivel n, permitiendo cada una de dichas capas de datos de nivel n reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad máxima predeterminada, caracterizado porque dicho dispositivo comprende también medios de codificación, para una al menos de dichas capas de datos de nivel n, de al menos un subflujo, denominado subflujo singular, que permite reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad superior a dicha calidad máxima predeterminada y porque dicho subflujo singular de dicha capa de nivel n no se utiliza por parte de dichos medios de codificación por predicción de dichas capas de nivel diferente a n.
6. Dispositivo de codificación según la reivindicación 5, caracterizado porque comprende un módulo de extracción de puntos de predicción que permiten extraer, en el seno de dicha capa de nivel n, datos a tener en cuenta durante la codificación por predicción de dicha capa de nivel n+1.
7. Procedimiento de decodificación de un flujo de datos representativo de una imagen o de una secuencia de imágenes, que presenta una estructura jerárquica de capas de datos anidadas de n niveles sucesivos, donde n es un número entero, correspondiéndose cada uno de dichos niveles n con una resolución predeterminada de dichas imágenes, permitiendo cada una de dichas capas de datos de nivel n de dicho flujo reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad máxima predeterminada, estando codificada una al menos de dichas capas, de nivel n+1 por predicción al menos a partir de dicha capa de nivel n, caracterizado porque comprendiendo dicho flujo de datos, para una al menos de dichas capas de datos de nivel n, al menos un subflujo, denominado subflujo singular, que permite reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad superior a dicha calidad máxima predeterminada y porque dicho procedimiento lleva a cabo, para la reconstrucción de una de dichas imágenes con dicha resolución de nivel n, etapas de:
-
decodificación de dichas capas de datos de nivel inferior a n;
-
en función de una velocidad de decodificación permitida, decodificación al menos parcial de dicha capa de nivel n,
no siendo decodificados dichos subflujos singulares de dichas capas de nivel inferior a n durante dicha reconstrucción.
8. Dispositivo de decodificación de un flujo de datos representativo de una imagen o de una secuencia de imágenes, presentando dicho flujo de datos una estructura jerárquica de capas de datos anidadas de n niveles sucesivos, donde n es un número entero, correspondiéndose cada uno de dichos niveles n con una resolución predeterminada de dichas imágenes, permitiendo cada una de dichas capas de datos de nivel n de dicho flujo reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad máxima predeterminada, habiéndose codificado una al menos de dichas capas, de nivel n+1 por predicción al menos a partir de dicha capa de nivel n, caracterizado porque dicho flujo de datos comprende, para una al menos de dichas capas de datos de nivel n, al menos un subflujo, denominado subflujo singular, que permite reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad superior a dicha calidad máxima predeterminada; dicho dispositivo prevé, para la reconstrucción de una de dichas imágenes con dicha resolución de nivel n:
-
medios de decodificación de dichas capas de nivel inferior a n;
-
en función de una velocidad de decodificación permitida, medios de decodificación al menos parcial de dicha capa de nivel n y eventualmente de dicho subflujo singular de dicha capa de nivel n,
no siendo decodificados dichos subflujos singulares de dichas capas de nivel inferior a n durante dicha reconstrucción.
9. Señal de transmisión de un flujo de datos representativa de una imagen o de una secuencia de imágenes, presentando dicho flujo de datos una estructura jerárquica de capas de datos anidadas de n niveles sucesivos, donde n es un número entero, correspondiéndose cada uno de dichos niveles n con una resolución predeterminada de dichas imágenes, habiéndose codificado una al menos de dichas capas, de nivel n+1 por predicción al menos a partir de dicha capa de nivel n, permitiendo reconstruir cada una de dichas capas de datos de nivel n de dicho flujo una versión de dichas imágenes con dicha resolución de nivel n de calidad máxima predeterminadas, estando estructurada dicha señal en entidades de información en el seno de las que se transmite dicho flujo de datos, comprendiendo cada una de dichas entidades de información un encabezamiento, que informa sobre un tipo de dicha entidad de información y un campo de datos útiles, caracterizada porque dicha señal también transmite, para una al menos una de dichas capas de datos de nivel n, al menos un subflujo, denominado subflujo singular, que permite reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad superior a dicha calidad máxima predeterminada, no utilizándose dicho subflujo singular de nivel n para reconstruir dichas imágenes con una resolución de nivel diferente
a n.
10. Señal según la reivindicación 9, caracterizada porque comprende también al menos una entidad de información de un tipo específico, que comprende al menos una información de calidad de reconstrucción asociada a al menos algunos datos de dicho flujo, siendo dicha calidad de reconstrucción una función de al menos un parámetro velocidad/distorsión.
11. Programa informático que comprende instrucciones de código de programa para la ejecución de las etapas del procedimiento de codificación de una imagen o de una secuencia de imágenes según una cualquiera de las reivindicaciones 1 a 4 cuando dicho programa se ejecuta en o por parte de un microprocesador.
12. Programa informático que comprende instrucciones de código de programa para la ejecución de las etapas del procedimiento de decodificación de un flujo de datos representativo de una imagen o de una secuencia de imágenes según la reivindicación 7 cuando dicho programa se ejecuta por parte de un microprocesador.
13. Módulo de adaptación de calidad de una imagen o de una secuencia de imágenes, estando alimentado por un flujo de datos origen representativo de una imagen o de una secuencia de imágenes, presentando dicho flujo de datos origen una estructura jerárquica de capas de datos anidadas de n niveles sucesivos, donde n es un número entero, correspondiéndose cada uno de dichos n niveles con una resolución predeterminada de dichas imágenes, permitiendo cada una de dichas capas de datos de nivel n de dicho flujo reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad máxima predeterminada, habiéndose codificado una al menos de dichas capas, de nivel n+1, por predicción al menos a partir de dicha capa de nivel n, caracterizado porque, comprendiendo dicho flujo de datos origen, para una al menos de dichas capas de datos de nivel n, al menos un subflujo, denominado subflujo singular, que permite reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad superior a dicha calidad máxima predeterminada, dicho módulo de adaptación lleva a cabo medios de generación de un flujo de datos modificado destinado a al menos un terminal de visualización de dichas imágenes, obteniéndose dicho flujo de datos modificado a partir de dicho flujo de datos origen, por extracción de dicho subflujo singular de nivel n si dicho al menos un terminal de visualización no reconstruye dichas imágenes con dicha resolución de
nivel n.
14. Soporte de datos que comprende al menos un flujo de datos representativo de una imagen o de una secuencia de imágenes, presentando dicho soporte una estructura de memorización jerárquica de capas de datos anidadas de n niveles sucesivos de dicho flujo de datos, donde n es un número entero, correspondiéndose cada uno de dichos n niveles con una resolución predeterminada de dichas imágenes, habiéndose codificado una al menos de dichas capas, de nivel n+1, por predicción al menos a partir de dicha capa de nivel n, permitiendo reconstruir cada una de dichas capas de datos de nivel n de dicho flujo reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad máxima predeterminada, caracterizado porque dicho soporte también comprende, para una al menos de dichas capas de datos de nivel n, al menos una zona de memorización de al menos un subflujo, denominado subflujo singular, que permite reconstruir una versión de dichas imágenes con dicha resolución de nivel n de calidad superior a dicha calidad máxima predeterminada, no leyéndose dicha zona de memorización de dicho subflujo singular de nivel n durante la reconstrucción de dichas imágenes con una resolución de nivel diferente a n.
ES05826669T 2005-01-12 2005-12-20 Dispositivos y procedimientos de codificacion y decodificacion escalables de flujos de datos de imagenes, señal, programa informatico y modulo de adaptacion de calidad de imagen correspondientes. Expired - Lifetime ES2341178T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0500331 2005-01-12
FR0500331A FR2880743A1 (fr) 2005-01-12 2005-01-12 Dispositif et procedes de codage et de decodage echelonnables de flux de donnees d'images, signal, programme d'ordinateur et module d'adaptation de qualite d'image correspondants

Publications (1)

Publication Number Publication Date
ES2341178T3 true ES2341178T3 (es) 2010-06-16

Family

ID=34952769

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05826669T Expired - Lifetime ES2341178T3 (es) 2005-01-12 2005-12-20 Dispositivos y procedimientos de codificacion y decodificacion escalables de flujos de datos de imagenes, señal, programa informatico y modulo de adaptacion de calidad de imagen correspondientes.

Country Status (12)

Country Link
US (1) US8315315B2 (es)
EP (1) EP1839442B1 (es)
JP (1) JP5042856B2 (es)
KR (1) KR101291555B1 (es)
CN (2) CN101120591B (es)
AT (1) ATE458355T1 (es)
BR (1) BRPI0519842B1 (es)
DE (1) DE602005019473D1 (es)
ES (1) ES2341178T3 (es)
FR (1) FR2880743A1 (es)
PL (1) PL1839442T3 (es)
WO (1) WO2006074855A1 (es)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070230567A1 (en) * 2006-03-28 2007-10-04 Nokia Corporation Slice groups and data partitioning in scalable video coding
FR2903556B1 (fr) * 2006-07-04 2008-10-03 Canon Kk Procedes et des dispositifs de codage et de decodage d'images, un systeme de telecommunications comportant de tels dispositifs et des programmes d'ordinateur mettant en oeuvre de tels procedes
WO2008132414A1 (fr) * 2007-03-30 2008-11-06 France Telecom Procede de gestion d'une pluralite de sessions audiovisuelles dans un reseau ip et systeme de commande associe
JP5176175B2 (ja) 2007-11-02 2013-04-03 エコール・ドゥ・テクノロジー・スュペリュール 品質制御パラメータの変更及びスケーリングによって変換される画像のファイルサイズを予想するシステム、方法及びプログラム
US8295624B2 (en) * 2007-12-03 2012-10-23 Ecole De Technologie Superieure Method and system for generating a quality prediction table for quality-aware transcoding of digital images
CN101686383B (zh) * 2008-09-23 2013-05-01 Utc消防和保安美国有限公司 通过网络传输媒体的方法及系统
US8300961B2 (en) * 2008-12-12 2012-10-30 Ecole De Technologie Superieure Method and system for low complexity transcoding of images with near optimal quality
US9485299B2 (en) * 2009-03-09 2016-11-01 Arris Canada, Inc. Progressive download gateway
US9197677B2 (en) * 2009-03-09 2015-11-24 Arris Canada, Inc. Multi-tiered scalable media streaming systems and methods
US8514931B2 (en) * 2009-03-20 2013-08-20 Ecole Polytechnique Federale De Lausanne (Epfl) Method of providing scalable video coding (SVC) video content with added media content
CA2711311C (en) 2009-08-10 2016-08-23 Seawell Networks Inc. Methods and systems for scalable video chunking
US20110149753A1 (en) * 2009-12-21 2011-06-23 Qualcomm Incorporated Switching between media broadcast streams having varying levels of quality
US8190677B2 (en) 2010-07-23 2012-05-29 Seawell Networks Inc. Methods and systems for scalable video delivery
CN101977305A (zh) * 2010-10-27 2011-02-16 北京中星微电子有限公司 一种视频处理方法及装置和系统
WO2012069879A1 (en) * 2010-11-25 2012-05-31 Freescale Semiconductor, Inc. Method for bit rate control within a scalable video coding system and system therefor
US9712887B2 (en) 2012-04-12 2017-07-18 Arris Canada, Inc. Methods and systems for real-time transmuxing of streaming media content
EP4593395A3 (en) * 2012-10-01 2025-10-01 GE Video Compression, LLC Scalable video coding using inter-layer prediction contribution to enhancement layer prediction
US10085017B2 (en) * 2012-11-29 2018-09-25 Advanced Micro Devices, Inc. Bandwidth saving architecture for scalable video coding spatial mode
US9589533B2 (en) 2013-02-28 2017-03-07 Robert Bosch Gmbh Mobile electronic device integration with in-vehicle information systems
US11146803B2 (en) 2013-03-11 2021-10-12 Dolby Laboratories Licensing Corporation Distribution of multi-format high dynamic range video using layered coding
US10609405B2 (en) 2013-03-18 2020-03-31 Ecole De Technologie Superieure Optimal signal encoding based on experimental data
US9338450B2 (en) 2013-03-18 2016-05-10 Ecole De Technologie Superieure Method and apparatus for signal encoding producing encoded signals of high fidelity at minimal sizes
US9661331B2 (en) 2013-03-18 2017-05-23 Vantrix Corporation Method and apparatus for signal encoding realizing optimal fidelity
US9484044B1 (en) * 2013-07-17 2016-11-01 Knuedge Incorporated Voice enhancement and/or speech features extraction on noisy audio signals using successively refined transforms
US9530434B1 (en) 2013-07-18 2016-12-27 Knuedge Incorporated Reducing octave errors during pitch determination for noisy audio signals
KR102349788B1 (ko) 2015-01-13 2022-01-11 인텔렉추얼디스커버리 주식회사 영상의 부호화/복호화 방법 및 장치
JP6231046B2 (ja) * 2015-06-24 2017-11-15 株式会社ドワンゴ 動画データ配信管理装置、動画データ配信管理方法、プログラム
CN105959731B (zh) * 2016-04-28 2019-02-05 西安交通大学 一种数字电视的统计复用编码方法
GB2553086B (en) * 2016-07-20 2022-03-02 V Nova Int Ltd Decoder devices, methods and computer programs
EP3451672A1 (en) * 2017-08-29 2019-03-06 Nokia Solutions and Networks Oy Method and device for video content encoding optimisation in adaptive streaming systems
US11077617B2 (en) 2017-08-31 2021-08-03 General Electric Company Encoding volumetric data to support trusted transaction delivery
GB201817784D0 (en) * 2018-10-31 2018-12-19 V Nova Int Ltd Methods,apparatuses, computer programs and computer-readable media
CN115968545A (zh) * 2021-08-12 2023-04-14 华为技术有限公司 图像编解码方法和装置
CN115733987A (zh) * 2021-08-30 2023-03-03 华为技术有限公司 编解码方法、编码器、解码器及电子设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233017B1 (en) * 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
US6480541B1 (en) * 1996-11-27 2002-11-12 Realnetworks, Inc. Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts
US6728775B1 (en) * 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams
US6731811B1 (en) * 1997-12-19 2004-05-04 Voicecraft, Inc. Scalable predictive coding method and apparatus
US6275531B1 (en) * 1998-07-23 2001-08-14 Optivision, Inc. Scalable video coding method and apparatus
US6639943B1 (en) * 1999-11-23 2003-10-28 Koninklijke Philips Electronics N.V. Hybrid temporal-SNR fine granular scalability video coding
US6614936B1 (en) * 1999-12-03 2003-09-02 Microsoft Corporation System and method for robust video coding using progressive fine-granularity scalable (PFGS) coding
US6816194B2 (en) * 2000-07-11 2004-11-09 Microsoft Corporation Systems and methods with error resilience in enhancement layer bitstream of scalable video coding
FI109393B (fi) * 2000-07-14 2002-07-15 Nokia Corp Menetelmä mediavirran enkoodaamiseksi skaalautuvasti, skaalautuva enkooderi ja päätelaite
JP2004509574A (ja) * 2000-09-22 2004-03-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ファイングラニュラスケーラビリティに関する好適な伝送/ストリーミング順序
US7463683B2 (en) * 2000-10-11 2008-12-09 Koninklijke Philips Electronics N.V. Method and apparatus for decoding spatially scaled fine granular encoded video signals
US6907070B2 (en) * 2000-12-15 2005-06-14 Microsoft Corporation Drifting reduction and macroblock-based control in progressive fine granularity scalable video coding
US20020118742A1 (en) * 2001-02-26 2002-08-29 Philips Electronics North America Corporation. Prediction structures for enhancement layer in fine granular scalability video coding
US6917713B2 (en) * 2002-05-29 2005-07-12 Koninklijke Philips Electronics N.V. System and method for enhancing videos from drift-free scalable bitstream
US7844992B2 (en) * 2003-09-10 2010-11-30 Thomson Licensing Video on demand server system and method
US20060012719A1 (en) * 2004-07-12 2006-01-19 Nokia Corporation System and method for motion prediction in scalable video coding
US7616824B2 (en) * 2004-12-08 2009-11-10 Ecole Polytechnique Fédérale de Lausanne (EPFL) CM - Ecublens Method for spatially scalable video coding

Also Published As

Publication number Publication date
JP2008527870A (ja) 2008-07-24
US8315315B2 (en) 2012-11-20
EP1839442A1 (fr) 2007-10-03
BRPI0519842A2 (pt) 2009-03-17
JP5042856B2 (ja) 2012-10-03
FR2880743A1 (fr) 2006-07-14
KR20070102547A (ko) 2007-10-18
KR101291555B1 (ko) 2013-08-08
DE602005019473D1 (de) 2010-04-01
EP1839442B1 (fr) 2010-02-17
PL1839442T3 (pl) 2010-07-30
CN101120591A (zh) 2008-02-06
ATE458355T1 (de) 2010-03-15
US20090016434A1 (en) 2009-01-15
CN102065295A (zh) 2011-05-18
CN101120591B (zh) 2011-01-19
BRPI0519842B1 (pt) 2018-12-04
CN102065295B (zh) 2012-09-26
WO2006074855A1 (fr) 2006-07-20

Similar Documents

Publication Publication Date Title
ES2341178T3 (es) Dispositivos y procedimientos de codificacion y decodificacion escalables de flujos de datos de imagenes, señal, programa informatico y modulo de adaptacion de calidad de imagen correspondientes.
ES2812473T3 (es) Vector de movimiento combinado y predicción de índice de referencia para la codificación de vídeo
US9288486B2 (en) Method and apparatus for scalably encoding and decoding video signal
US8532187B2 (en) Method and apparatus for scalably encoding/decoding video signal
CN107770545B (zh) 解码图像的方法和使用其的装置
US8660180B2 (en) Method and apparatus for scalably encoding and decoding video signal
US20100272188A1 (en) Method for scalably encoding and decoding video signal
US8755434B2 (en) Method and apparatus for scalably encoding and decoding video signal
KR20040091686A (ko) 더 높은 질의 참조 프레임을 사용하는 fgst 코딩 방법
US10827197B2 (en) Method and apparatus for encoding multilayer video and method and apparatus for decoding multilayer video
US9172958B2 (en) Apparatus and method for coding picture data
US20060120454A1 (en) Method and apparatus for encoding/decoding video signal using motion vectors of pictures in base layer
EP1878249B1 (en) Method for scalably decoding a video signal
EP1878248A1 (en) Method for scalably encoding and decoding video signal
US20060159176A1 (en) Method and apparatus for deriving motion vectors of macroblocks from motion vectors of pictures of base layer when encoding/decoding video signal
US20060133499A1 (en) Method and apparatus for encoding video signal using previous picture already converted into H picture as reference picture of current picture and method and apparatus for decoding such encoded video signal
HK1119892B (en) Method for scalably encoding and decoding video signal
HK1119891A (en) Method for scalably encoding and decoding video signal