MX2007008444A - Metodo y sistema para codificacion/decodificacion para un flujo de bits de video para una escalabilidad de granularidad fina. - Google Patents

Metodo y sistema para codificacion/decodificacion para un flujo de bits de video para una escalabilidad de granularidad fina.

Info

Publication number
MX2007008444A
MX2007008444A MX2007008444A MX2007008444A MX2007008444A MX 2007008444 A MX2007008444 A MX 2007008444A MX 2007008444 A MX2007008444 A MX 2007008444A MX 2007008444 A MX2007008444 A MX 2007008444A MX 2007008444 A MX2007008444 A MX 2007008444A
Authority
MX
Mexico
Prior art keywords
pass
component
decode
components
code
Prior art date
Application number
MX2007008444A
Other languages
English (en)
Inventor
Marta Karczewicz
Justin Ridge
Yiliang Bao
Xianglin Wang
Original Assignee
Nokia Corp
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 Nokia Corp filed Critical Nokia Corp
Publication of MX2007008444A publication Critical patent/MX2007008444A/es

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
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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)

Abstract

Se describen metodos, productos de codigos de computadora y dispositivos para codificar / decodificar datos de video en multiples pases, los datos de video tienen multiples componentes incluyendo cada componente multiples coeficientes. El metodo puede comenzar el siguiente pase del proceso de codificacion o de decodificacion inmediatamente despues del final de pase de codificacion o decodificacion actual para un componente dado independientemente de si otros componentes han terminado el pase de codificacion o decodificacion actual. Ademas, pueden usarse retrasos escalonados y amortiguamientos para regular mas estrechamente el proceso de codificacion o de decodificacion para asegurar que un componente no es codificado o decodificado muy rapidamente con respecto a otros componentes.

Description

MÉTODO Y SISTEMA PARA CODIFICACION/DECODIFICACION PARA UN FLUJO DE BITS DE VIDEO PARA UNA ESCALABILIDAD DE GRANULARIDAD FINA Campo de la Invención La presente invención está dirigida al campo de la codificación de video y, más específicamente, a la codificación de video escalable. Antecedentes de la Invención En algunos escenarios, es deseable transmitir una secuencia de video digital codificado a cierta calidad mínima o de "base", y transmitir a la vez una señal de "mejoramiento" que pueda combinarse con la señal de calidad mínima con el fin de producir una secuencia de video decodificada de mayor calidad. Dicho arreglo permite al mismo tiempo cierta decodificación de la secuencia de video mediante dispositivos que soportan cierto conjunto de capacidades mínimas (a la calidad "base"), permitiendo al mismo tiempo que otros dispositivos con capacidad expandida decodifiquen versiones de mayor calidad de la misma secuencia, sin incurrir en mayores costos asociados con la transmisión de dos versiones codificadas independientemente de la misma secuencia. En algunas situaciones, pueden desearse más de dos niveles de calidad. En este caso, pueden transmitirse varias REF. s 184149 señales de "mejoramiento", cada una cimentada en la señal de calidad "base" más todas las señales de "mejoramiento" de menor calidad. A dichas señales "base" y de "mejoramiento" se les refiere como "capas" en el campo de codificación de video escalable, y el grado en el cual cada capa de mejoramiento mejora la calidad reconstruida de la señal se le denomina "granularidad". La escalabilidad de granularidad fina (FGS, por sus siglas en inglés) es un tipo de escalabilidad en la cual los incrementos en la calidad incremental proporcionada por cada capa son relativamente pequeños. Se conocen y se emplean varias técnicas de FGS. Por ejemplo, en el contexto de MPEG-21 SVC, se ha propuesto un esquema de FGS basado en bloques. En este esquema la decodificación de cada capa de FGS se divide en tres pases; el "pase significativo" , el "pase de refinamiento" y el "pase remanente" . El pase significativo identifica aquellos coeficientes que tenían valores reconstruidos de cero anteriores en el plano de bits anterior, y que tenían uno o más coeficientes vecinos con un valor reconstruido diferente de cero en el plano de bits anterior. Un dígito binario codificado sirve como un "bit significativo" que indica si el coeficiente cambia de cero a diferente de cero en el plano de bits actual. El pase de refinamiento identifica aquellos coeficientes que tenían valores diferentes de cero reconstruidos en el plano de bits anterior. Un dígito binario codificado refina la precisión de estos coeficientes en el plano de bits actual. El pase remanente codifica los coeficientes restantes (es decir, aquellos aún no identificados en el primer o segundo pases) . Un "bit significativo" es codificado para cada coeficiente, tal como en el pase significativo, sin embargo el cambio de cero a diferente de cero es estadísticamente menos probable que la ausencia de valores diferentes de cero vecinos, justificando por lo tanto un pase separado para esta categoría de coeficientes diferentes de cero. Si la secuencia de video incluye decodificar varios componentes en un pase (tales como luminancia y crominancia, escrito como YUV o CbCr) , el esquema propuesto requiere que, en cada pase, todos los componentes deben decodificarse completamente antes de seguir con el siguiente pase. Por ejemplo, el pase significativo debe completarse tanto para luminancia como crominancia antes de que pueda comenzar el pase de refinamiento para cada componente. En este esquema propuesto, los pases se disponen en sub-bandas. Por ejemplo, el pase significativo puede describirse usando el siguiente pseudocódigo : Para cada subbanda Para cada bloque Decodificar un coeficiente de luminancia Para cada bloque Decodificar un coeficiente de cada componente de crominancia Ir al pase de refinamiento Nótese que el algoritmo fija las posiciones de inicio relativas de los componentes de luminancia y crominancia, es decir la primera sub-banda de crominancia siempre ocurre entre la primera y segunda sub-bandas. Además, la "velocidad" a la cual se completa un pase es constante a través de los componentes de color. Por ejemplo, después de que el pase significativo se completa en 50%, tanto los componentes de luminancia como de crominancia estarán decodificadas en un 50%. Se ha propuesto un segundo esquema que busca resolver algunos de los problemas asociados con dicha estructura rígida. En este esquema, el número de coeficientes codificados de cada bloque no está fijo. El pseudocódigo para el pase significativo para este esquema puede escribirse como : Mientras quedan valores por decodificar Para cada bloque Decodificar un coeficiente de luminancia diferente de cero y ceros precedentes Decodificad un coeficiente de crominancia diferente de cero de cada componente y ceros precedentes Ir al pase de refinamiento Este esquema intercala mejor los valores de luminancia y crominancia, dado que el "periodo" entre los valores diferentes de cero de un componente dado es una unidad más pequeña (es decir, un bloque en lugar de una sub-banda) . Sin embargo, nuevamente la totalidad del pase significativo debe completarse para todos los componentes antes de seguir al pase remanente. Existen varios problemas en cada uno de estos enfoques. Por ejemplo, estos esquemas pueden padecer de problemas de ineficiencia de codificación y no proporcionar mucha flexibilidad o control sobre el proceso de codificación/decodificación. Como tal es una necesidad por un codificador de FGS mejorado que es más flexible que esquemas anteriores propuestos. También existe la necesidad por un esquema de codificación de FGS que proporcione un mejoramiento global en la eficiencia de codificación. Breve descripción de la Invención Modalidades de la presente invención describen métodos, productos de código de computadora, y dispositivos para codificar y/o decodificar datos de video. En varias modalidades de la invención los datos de video comprenden múltiples componentes, cada componente con múltiples coeficientes. Los datos de video pueden codificarse o decodificarse en pases múltiples.
De conformidad con modalidades de la invención, el proceso de codificación y de decodificación puede incluir determinar si existe un coeficiente diferente de cero para codificar o decodificar para un primer componente en un primer pase y si existe un coeficiente diferente de cero para codificar o decodificar para el primer componente en el primer pase, codificar o decodificar el coeficiente diferente de cero para el primer componente en el primer pase. Si no existe un coeficiente diferente de cero para codificar o decodificar para el primer componente en el primer pase, el proceso puede incluir determinar si existe un coeficiente diferente de cero para codificar o decodificar para el primer componente en un segundo pase y si existe un coeficiente diferente de cero para codificar o decodificar el primer componente en el segundo pase, codificar o decodificar el coeficiente diferente de cero para el primer componente en el segundo pase. El proceso puede continuar determinando si existe un coeficiente diferente de cero para codificar o decodificar para un segundo componente en el primer pase y si existe un coeficiente diferente de cero para decodificar para el segundo componente en el primer pase, codificar o decodificar el coeficiente diferente de cero para el segundo componente en el primer pase. Si no existe un coeficiente diferente de cero para codificar o decodificar para el segundo componente en el primer pase, determinar si existe un coeficiente diferente de cero para codificar o decodificar para el segundo componente en el segundo pase y si existe un coeficiente diferente de cero para codificar o decodificar para el segundo componente en el segundo pase, codificar o decodificar el coeficiente diferente de cero para el segundo componente en el segundo pase. Modalidades adicionales de la invención pueden incluir determinar un retraso escalonado para al menos uno de la pluralidad de componentes y retrasar la codificación o decodificación de al menos uno de la pluralidad de componentes mediante el retraso escalonado. Los retrasos escalonados pueden determinarse para más de un componente y los retrasos escalonados pueden ser diferentes para diferentes componentes. El retraso escalonado puede inferirse de una relación de bits previamente codificados en un flujo de bits o decodificados de éste, o su valor puede codificarse en un flujo de bits o decodificarse de éste. En otras modalidades, puede determinarse un valor de amortiguamiento para al menos uno de la pluralidad de componentes y el valor de amortiguamiento puede aplicarse para codificar o decodificar el por lo menos uno de la pluralidad de componentes en solo iteraciones selectas de un pase. El valor de amortiguamiento puede comprender una máscara de dígitos binarios que especifican en cuáles iteraciones selectas se codificará o decodificará el por lo menos uno de la pluralidad de componentes. Similar el retraso escalonado, el valor de amortiguamiento puede inferirse de una relación de bits previamente codificada o decodificada de un flujo de bits, o su valor puede codificarse o decodificarse de un flujo de bits. Otras características y ventajas de la presente invención serán evidentes para aquellos con experiencia en la técnica a partir de la siguiente descripción detallada. Deberá entenderse, sin embargo, que la descripción detallada y los ejemplos específicos, aunque indican modalidades preferidas de la presente invención, se dan a manera de ilustración y no de limitación. Pueden hacerse muchos cambios y modificaciones dentro del alcance de la presente invención sin alejarse del espíritu de la misma, y la invención incluye todas esas modificaciones. Breve descripción de las Figuras Las ventajas y características anteriores de la invención se harán evidentes al hacer referencia a la siguiente descripción detallada y a las figuras anexas, de las cuales : La figura 1 es una vista en perspectiva de una modalidad de un dispositivo de comunicación que puede usarse en la implementación de la presente invención; La figura 2 es un diagrama de bloques que ilustra una modalidad del dispositivo de comunicaciones de la figura 1.
Descripción detallada de la Invención Las modalidades de la presente invención presentan métodos, productos de códigos por computadora, y dispositivos para la codificación y decodificación eficiente de FGS. Las modalidades de la presente invención pueden usarse para resolver algunos de los problemas inherentes a soluciones existentes. Por ejemplo, las modalidades de la presente invención pueden usarse para mejorar la eficiencia de codificación global de un esquema de FGS, para proveer una característica de SNR más uniforme/regular, y para aumentar la flexibilidad del sistema para proporcionar control agregado, tal como controlando independientemente las distribuciones de bits de luminancia y crominancia. En esta sección, el término "capa de mejoramiento" se refiere a una capa que se codifica diferencialmente en comparación con cierta reconstrucción de menor calidad. El propósito de la capa de mejoramiento es que, cuando se agrega a la reconstrucción de menor calidad, la calidad de la señal deberá mejorar, o estar "realzada". En esta sección, el término "capa base" aplica tanto a una capa base no escalable codificada usando un algoritmo de codificación de video existente, y a una capa de mejoramiento reconstruida en relación con la cual se codifica una capa de mejoramiento subsiguiente . Como se indicó anteriormente, las modalidades dentro del alcance de la presente invención incluyen productos de programas que comprenden medios de lectura por computadora para portar o tener instrucciones ejecutables por computadora o estructuras de datos almacenadas en los mismos. Tales medios de lectura por computadora pueden ser cualquier medio disponible que puede ser accedidos por medio de una computadora de propósito general o de propósito especial . A manera de ejemplo, dicho medio de lectura por computadora puede comprender RAM, ROM, EPROM, EEPROM, CD-ROM u otro almacenamiento de disco óptico, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier medio que pueda usarse para portar o almacenar un código de programa deseado en forma de instrucciones ejecutables por computadora o estructuras de datos y pueden accederse por medio de un propósito general o computadora de propósito especial . Cuando se transfiere o proporciona información a través de una red u otra conexión de comunicaciones (ya sea alámbrica, inalámbrica, o una combinación alámbrica o inalámbrica) a una computadora, la computadora considera apropiadamente la conexión como un medio de lectura por computadora. Por lo tanto, cualesquiera de tales conexiones se denomina apropiadamente medio de lectura por computadora. Las combinaciones de lo anterior se incluirán también dentro del alcance de los medios de lectura por computadora. Las instrucciones ejecutables por computadora comprenden, por ejemplo, instrucciones y datos que hacen que una computadora de propósito general, computadora de propósito especial, o dispositivo de procesamiento de propósito especial realice cierta función o grupo de funciones. Puede usarse cualquier lenguaje de programación común, tal como C o C++, o lenguaje ensamblador para implementar la invención. Las figuras 1 y 2 muestran una implementación posible de la presente invención como parte de un dispositivo de comunicación (tal como un dispositivo de comunicación móvil como un teléfono celular, o un dispositivo de red como una estación base, ruteador, repetidor, etc.) Sin embarco, es importante notar que la presente invención no se limita a cualquier tipo de dispositivo electrónico y podría incorporarse en dispositivos tales como asistentes digitales personales, computadoras personales, teléfonos móviles, y otros dispositivos. Deberá entenderse que la presente invención podría incorporarse en una amplia variedad de dispositivos 12. El dispositivo 12 de las figuras 1 y 2 incluye un alojamiento 30, una pantalla 32, un teclado 34, un micrófono 36, un auricular 38, una batería 40, circuitos de interfaz de radio 52, circuitos de codee 54, un controlador 56 y una memoria 58. Los circuitos y elementos individuales son todos de un tipo bien conocido en la técnica, por ejemplo en la línea de Nokia de teléfonos móviles. La arquitectura exacta del dispositivo 12 no es importante. Pueden incorporarse componentes diferentes y adicionales del dispositivo 12 en el dispositivo 12. Las técnicas de codificación y decodificación de video escalable de la presente invención podrían efectuarse en la memoria 58 del controlador 56 del dispositivo 12. La invención se describe en el contexto general de etapas de método, que pueden implementarse en una modalidad por medio de un producto de programa incluyendo instrucciones ejecutables por computadora, tales como código de programa, ejecutado por computadoras en ambientes en red. Generalmente, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc. que efectúan tareas particulares o implementan tipos de datos abstractos particulares. Las instrucciones ejecutables por computadora, estructuras de datos asociados, y módulos de programas representan ejemplos de un código de programa para ejecutar etapas de los métodos descritos en el mismo. La secuencia particular de tales instrucciones ejecutables o estructuras de datos asociados representa ejemplos de actos de correspondencia para implementar las funciones descritas en tales etapas . El software y las implementaciones de la Web de la presente invención podrían lograrse con técnicas de programación estándar con lógica basada en reglas y otra lógica para lograr las varias etapas de búsqueda de base de datos, etapas de correlación, etapas de comparación y etapas de decisión. Deberá notarse también que las palabras "módulo" tal como aquí se emplean y en las reivindicaciones pretenden abarcar implementaciones usando una o más líneas de código de software, y/o implementaciones de hardware, y/o equipo para recibir entradas manuales. En general, la modalidad de la invención mejora en esquemas de FGS existentes removiendo la restricción de que un pase dado necesita completarse para todos los componentes antes de que comience el siguiente pase. En otras palabras, en un esquema de FGS de pases múltiples para video de componentes múltiples, el final de un pase de codificación o decodificación actual para un componente dado puede inmediatamente estar seguido por el comienzo de un siguiente pase independientemente de si otros componentes han terminado el pase de codificación o de decodificación actual. Adicionalmente, la modalidad de la invención prevé que el proceso de codificación o decodificación de FGS sea "escalonad" de acuerdo con el componente, e incluso dentro del componente de acuerdo con ciertos criterios, de tal manera que, por ejemplo, la codificación o decodificación de un componente del flujo de video puede comenzar por adelantado de otros componentes .
Esto da lugar a un mejoramiento de calidad más regular, es decir, los "platos" en una curva de SNR asociada con el movimiento de un pase al siguiente son menos pronunciados. Al remover la restricción de todos los componentes de color comienzan al mismo tiempo, el balance de bits entre los componentes de luminancia y crominancia pueden controlarse con más precisión. Además, se puede realizar un mejoramiento en la eficiencia de codificación usando modalidades de la invención. Con el fin de describir modalidades de la invención, en primer lugar consideramos la cuestión de "fronteras de pase independiente". Como se describió anteriormente, el pseudocódigo para el pase significativo en uno de los esquemas de decodificación de FGS propuestos se puede describir como: Mientras quedan valores por decodificar Para cada bloque Decodificar un coeficiente de luminancia diferente de cero y ceros precedentes Decodificar un coeficiente de crominancia diferente de cero de cada componente y ceros precedentes Ir al pase de refinamiento De conformidad con este esquema, el número de coeficientes a decodificar en cada iteración del ciclo externo puede variar. Por ejemplo, considérese el caso en el que hay un solo bloque de coeficientes, los coeficientes de luminancia que tienen valores de 3,1,0,1,0,0,1,0 y un solo componente de crominancia que tiene valores de 1,0,0,0,1,0,0,0. En cada iteración, se decodificarían los siguientes valores: TABLA 1 Puede observarse que el pase significativo para crominancia se completa en su totalidad después de tres iteraciones mientras se requieren cinco iteraciones para luminancia. Por lo tanto, para la cuarta y quinta iteraciones, no se decodifica nada para crominancia, de tal forma que la calidad (o SNR) permanece constante a pesar de que aumenta la velocidad. Esto da como resultado un "plato" en la curva de SNR. De conformidad con modalidades de la presente invención se puede permitir que el pase de refinamiento para crominancia comience mientras son completadas la cuarta y quinta iteraciones significativas para luminancia. En esta forma, puede lograrse una característica de SNR más uniforme. Por lo tanto el pseudocódigo que describe este aspecto de una modalidad de la invención puede escribirse de la siguiente manera : Mientras quedan valores por decodificar Para cada bloque Si el pase significativo NO se completa para luminancia Decodificar un coeficiente de luminancia diferente de cero y ceros precedentes Si no Decodificar información de refinamiento para el siguiente coeficiente de luminancia Si el pase significativo NO se completa para crominancia Decodificar un coeficiente de crominancia diferente de cero de cada componente y ceros precedentes Si no Decodificar información de refinamiento para los siguientes coeficientes de crominancia SIN PASE DE REFINAMIENTO SEPARADO Continuando con el ejemplo, la tabla se convertiría en: TABLA 2 Por lo tanto el "pase" que es ejecutado actualmente se convierten en una función de cada componente de color en lugar del común entre ellos. Las modalidades de este aspecto de la invención pueden extenderse para que apliquen cuando existen más de dos tipos de pases o cuando existen más de dos componentes. En algunos casos un gran plato en la curva de SNR a mayores velocidades puede ser el resultado de se esté decodificando muy rápidamente un componente de color. En otra modalidad de la invención, estas situaciones pueden superarse usando un mecanismo "escalonado" y un mecanismo de "amortiguamiento" en el esquema de FGS. Usando el ejemplo anterior, puede ser posible obtener un mejor desempeño si no se codifican valores de crominancia en la primera iteración, es decir, podría hacerse una revisión de la tabla de la siguiente manera: TABLA 3 Este retraso en la codificación de los valores de crominancia pueden ser una modalidad de un mecanismo de conformidad con la presente invención. En esta modalidad de la invención, el comienzo de la capa de FGS es escalonado de tal manera que la crominancia comienza una iteración (o "ciclo") detrás de la luminancia. El número óptimo de ciclos mediante los cuales se puede escalonar el comienzo de un componente (generalmente crominancia) depende de la secuencia de video individual, y puede ser cero. En una extensión adicional del concepto de escalonamiento de una modalidad de la invención, ciertas categorías de coeficientes en un componente de color pueden escalonarse de manera diferencial. Por ejemplo, los coeficientes de AC de crominancia pueden escalonarse en más ciclos que los coeficientes de DC de crominancia . En una modalidad, solo el dato de AC de crominancia está escalonado, pero no DC de luminancia o crominancia. Después de decodificar la DC de luminancia y crominancia, la cantidad de escalonamiento puede calcularse ya sea por medio de un algoritmo o una tabla de búsqueda. En una modalidad, las medidas de la tabla de búsqueda miden la relación de los bits gastados en la DC de luminancia y crominancia y determina el escalonamiento de AC de crominancia de la siguiente manera: TABLA 4 Cuando se decodifica, el valor de escalonamiento puede, o bien inferirse de la relación de bits decodificados o bien puede decodif icarse explícitamente del flujo de bits. En otra modalidad, la velocidad a la cual se codifican los componentes de color individuales puede "amortiguarse" usando el mecanismo de amortiguamiento descrito para evitar alcanzar muy pronto la calidad de "saturación". Continuando con el ejemplo anterior, puede decidirse que es benéfico codificar valores de crominancia solo en cada otra iteración, de tal manera que la tabla se convierte en: TABLA 5 El valor de amortiguamiento podría inferirse con base en relaciones de bits tal como puede hacerse con el valor de "escalonamiento" . En otra modalidad, el valor de amortiguamiento puede decodificarse del flujo de bits. El símbolo decodificado puede ser indicativo de una "máscara" de dígitos binarios que especifican qué iteraciones decodificará el componente, por ejemplo, la máscara de crominancia en la tabla anterior podría ser 01010. Aunque se han descrito modalidades de la invención en el contexto de decodificación de datos de video, los conceptos de la invención también pueden aplicarse a codificar datos de video. Por ejemplo, en los procesos y sistemas descritos anteriormente, el siguiente pase de un proceso de codificación puede comenzar inmediatamente después del final del actual pase de codificación para un componente dado independientemente de si otros componentes han terminado el pase de decodificación actual. Por lo tanto, puede apreciarse con facilidad de la descripción detallada de los procesos y sistemas de decodificación, que las modalidades de la invención pueden incluir codificadores y procesos de codificación. La descripción anterior de las modalidades de la presente invención se han presentado para propósitos de ilustración y descripción. No se pretende ser exhaustivo o limitar la presente invención a la forma precisa descrita, y son posibles modificaciones y variaciones en vista de las enseñanzas anteriores o pueden ser adquiridas de la práctica de la presente invención. Las modalidades se eligieron y se describieron con el fin de explicar los principios de la invención y su aplicación práctica para permitir que alguien con experiencia en la técnica utilice la presente invención en varias modalidades y con varias modificaciones según sean adecuadas para el uso particular contemplado. Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (38)

  1. REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones : 1. Un método de decodificación de datos de video en una pluralidad de pases, contando los datos de video con una pluralidad de componentes cada componente incluye una pluralidad de coeficientes, caracterizado porque comprende: determinar si existe un coeficiente diferente de cero para decodificar para un primer componente en un primer pase; si existe un coeficiente diferente de cero para decodificar para el primer componente en el primer pase, decodificar el coeficiente diferente de cero para el primer componente en el primer pase; si no existe un coeficiente diferente de cero para decodificar para el primer componente en el primer pase, determinar si existe un coeficiente diferente de cero para decodificar para el primer componente en un segundo pase; si existe un coeficiente diferente de cero para decodificar para el primer componente en el segundo pase, decodificar el coeficiente diferente de cero para el primer componente en el segundo pase; determinar si existe un coeficiente diferente de cero para decodificar para un segundo componente en el primer pase; si existe un coeficiente diferente de cero para decodificar para el segundo componente en el primer pase, decodificar el coeficiente diferente de cero para el segundo componente en el primer pase; si no existe un coeficiente diferente de cero para decodificar para el segundo componente en el primer pase, determinar si existe un coeficiente diferente de cero para decodificar para el segundo componente en el segundo pase; si existe un coeficiente diferente de cero para decodificar para el segundo componente en el segundo pase, decodificar el coeficiente diferente de cero para el segundo componente en el segundo pase.
  2. 2. El método de conformidad con la reivindicación 1, caracterizado porque adicionalmente comprende determinar un retraso escalonado para al menos uno de la pluralidad de componentes y retrasar la decodificación de al menos uno de la pluralidad de componentes mediante el retraso escalonado.
  3. 3. El método de conformidad con la reivindicación 2, caracterizado porque se determina un retraso escalonado para al menos dos de la pluralidad de componentes.
  4. 4. El método de conformidad con la reivindicación 3, caracterizado porque se determina un retraso escalonado diferente para al menos dos de la pluralidad de componentes.
  5. 5. El método de conformidad con la reivindicación 2, caracterizado porque el retraso escalonado se infiere de una relación de bits decodificados.
  6. 6. El método de conformidad con la reivindicación 2, caracterizado porque el retraso escalonado se decodifica de un flujo de bits.
  7. 7. El método de conformidad con la reivindicación 1, caracterizado porque adicionalmente comprende determinar un valor de amortiguamiento para al menos uno de la pluralidad de componentes y aplicar el valor de amortiguamiento para decodificar por lo menos uno de la pluralidad de componentes en solo iteraciones selectas de un pase.
  8. 8. El método de conformidad con la reivindicación 7, caracterizado porque el valor de amortiguamiento comprende una máscara de dígitos binarios que especifica en cuáles iteraciones selectas se decodificará por lo menos uno de la pluralidad de componentes.
  9. 9. El método de conformidad con la reivindicación 7, caracterizado porque el valor de amortiguamiento se infiere de una relación de bits decodificados.
  10. 10. El método de conformidad con la reivindicación 7, caracterizado porque el valor de amortiguamiento es decodificado de un flujo de bits.
  11. 11. El método de conformidad con la reivindicación 1, caracterizado porque el primer componente es luminancia y el segundo componente es crominancia.
  12. 12. Un producto de código de computadora para decodificar datos de video en una pluralidad de pases, contando los datos de video con una pluralidad de componentes que incluyen una pluralidad de coeficientes, caracterizado porque comprende : un código de computadora configurado para: determinar si existe un coeficiente diferente de cero para decodificar para un primer componente en un primer pase; si existe un coeficiente diferente de cero para decodificar para el primer componente en el primer pase, decodificar el coeficiente diferente de cero para el primer componente en el primer pase; si no existe un coeficiente diferente de cero para decodificar para el primer componente en el primer pase, determinar si existe un coeficiente diferente de cero para decodificar para el primer componente en un segundo pase; si existe un coeficiente diferente de cero para decodificar para el primer componente en el segundo pase, decodificar el coeficiente diferente de cero para el primer componente en el segundo pase; determinar si existe un coeficiente diferente de cero para decodificar para un segundo componente en el primer pase; si existe un coeficiente diferente de cero para decodificar para el segundo componente en el primer pase, decodificar el coeficiente diferente de cero para el segundo componente en el primer pase; si no existe un coeficiente diferente de cero para decodificar para el segundo componente en el primer pase, determinar si existe un coeficiente diferente de cero para decodificar para el segundo componente en el segundo pase; si existe un coeficiente diferente de cero para decodificar para el segundo componente en el segundo pase, decodificar el coeficiente diferente de cero para el segundo componente en el segundo pase.
  13. 13. El producto de código de computadora de conformidad con la reivindicación 12, caracterizado porque adicionalmente comprende un código de computadora configurado para determinar un retraso escalonado para al menos uno de la pluralidad de componentes y retrasar la decodificación del por lo menos uno de la pluralidad de componentes mediante el retraso escalonado.
  14. 14. El producto de código de computadora de conformidad con la reivindicación 12, caracterizado porque adicionalmente comprende un código de computadora configurado para determinar un valor de amortiguamiento para al menos uno de la pluralidad de componentes y aplicar el valor de amortiguamiento para decodificar el por lo menos uno de la pluralidad de componentes en solo iteraciones selectas de un pase .
  15. 15. El producto de código de computadora de conformidad con la reivindicación 14, caracterizado porque el valor de amortiguamiento comprende una máscara de dígitos binarios que especifican en cuáles iteraciones selectas se decodificará el por lo menos uno de la pluralidad de componentes.
  16. 16. Un dispositivo para decodificar datos de video en una pluralidad de pases, contando los datos de video con una pluralidad de componentes cada componente incluyendo una pluralidad de coeficientes, caracterizado porque comprende: un procesador configurado para ejecutar instrucciones; una memoria configurada para almacenar un programa de cómputo; y un programa de cómputo que comprende instrucciones configuradas para hacer que el procesador: determine si existe un coeficiente diferente de cero para decodificar para un primer componente en un primer pase; si existe un coeficiente diferente de cero para decodificar para el primer componente en el primer pase, decodificar el coeficiente diferente de cero para el primer componente en el primer pase; si no existe un coeficiente diferente de cero para decodificar para el primer componente en el primer pase, determinar si existe un coeficiente diferente de cero para decodificar para el primer componente en un segundo pase; si existe un coeficiente diferente de cero para decodificar para el primer componente en el segundo pase, decodificar el coeficiente diferente de cero para el primer componente en el segundo pase; determine si existe un coeficiente diferente de cero para decodificar para un segundo componente en el primer pase; si existe un coeficiente diferente de cero para decodificar para el segundo componente en el primer pase, decodificar el coeficiente diferente de cero para el segundo componente en el primer pase; si no existe un coeficiente diferente de cero para decodificar para el segundo componente en el primer pase, determinar si existe un coeficiente diferente de cero para decodificar para el segundo componente en el segundo pase; si existe un coeficiente diferente de cero para decodificar para el segundo componente en el segundo pase, decodificar el coeficiente diferente de cero para el segundo componente en el segundo pase.
  17. 17. El dispositivo de conformidad con la reivindicación 16, caracterizado porque el programa de cómputo adicionalmente comprende instrucciones configuradas para hacer que el procesador determine un retraso escalonado para al menos uno de la pluralidad de componentes y retrasar la decodificación del por lo menos uno de la pluralidad de componentes mediante el retraso escalonado.
  18. 18. El dispositivo de conformidad con la reivindicación 16, caracterizado porque el programa de cómputo adicionalmente comprende instrucciones configuradas para hacer que el procesador determine un valor de amortiguamiento para al menos uno de la pluralidad de componentes y aplicar el valor de amortiguamiento para decodificar el por lo menos uno de la pluralidad de componentes en solo iteraciones selectas de un pase.
  19. 19. El dispositivo de conformidad con la reivindicación 18, caracterizado porque el valor de amortiguamiento comprende una máscara de dígitos binarios que especifican en cuáles iteraciones selectas se decodificará por lo menos uno de la pluralidad de componentes.
  20. 20. Un método de codificación de datos de video en una pluralidad de pases, contando los datos de video con una pluralidad de componentes cada componente incluyendo una pluralidad de coeficientes, caracterizado porque comprende: determinar si existe un coeficiente diferente de cero para codificar para un primer componente en un primer pase; si existe un coeficiente diferente de cero para codificar para el primer componente en el primer pase, codificar el coeficiente diferente de cero para el primer componente en el primer pase; si no existe un coeficiente diferente de cero para codificar para el primer componente en el primer pase, determinar si existe un coeficiente diferente de cero para codificar para el primer componente en un segundo pase; si existe un coeficiente diferente de cero para codificar para el primer componente en el segundo pase, codificar el coeficiente diferente de cero para el primer componente en el segundo pase; determinar si existe un coeficiente diferente de cero para codificar para un segundo componente en el primer pase; si existe un coeficiente diferente de cero para codificar para el segundo componente en el primer pase, codificar el coeficiente diferente de cero para el segundo componente en el primer pase; si no existe un coeficiente diferente de cero para codificar para el segundo componente en el primer pase, determinar si existe un coeficiente diferente de cero para codificar para el segundo componente en el segundo pase; si existe un coeficiente diferente de cero para codificar para el segundo componente en el segundo pase, codificar el coeficiente diferente de cero para el segundo componente en el segundo pase.
  21. 21. El método de conformidad con la reivindicación 20, caracterizado porque adicionalmente comprende determinar un retraso escalonado para al menos uno de la pluralidad de componentes y retrasar la codificación de al menos uno de la pluralidad de componentes mediante el retraso escalonado.
  22. 22. El método de conformidad con la reivindicación 21, caracterizado porque se determina un retraso escalonado para al menos dos de la pluralidad de componentes.
  23. 23. El método de conformidad con la reivindicación 22, caracterizado porque se determina un retraso escalonado diferente para al menos dos de la pluralidad de componentes.
  24. 24. El método de conformidad con la reivindicación 21, caracterizado porque el retraso escalonado se infiere de una relación de bits decodificados.
  25. 25. El método de conformidad con la reivindicación 21, caracterizado porque el retraso escalonado se codifica en un flujo de bits.
  26. 26. El método de conformidad con la reivindicación 20, caracterizado porque adicionalmente comprende determinar un valor de amortiguamiento para al menos uno de la pluralidad de componentes y aplicar el valor de amortiguamiento para codificar por lo menos uno de la pluralidad de componentes en solo iteraciones selectas de un pase.
  27. 27. El método de conformidad con la reivindicación 26, caracterizado porque el valor de amortiguamiento comprende una máscara de dígitos binarios que especifica en cuáles iteraciones selectas se codificará por lo menos uno de la pluralidad de componentes.
  28. 28. El método de conformidad con la reivindicación 26, caracterizado porque el valor de amortiguamiento se infiere de una relación de bits decodificados.
  29. 29. El método de conformidad con la reivindicación 26, caracterizado porque el valor de amortiguamiento es codificado en un flujo de bits.
  30. 30. El método de conformidad con la reivindicación 20, caracterizado porque el primer componente es luminancia y el segundo componente es crominancia.
  31. 31. Un producto de código de computadora para codificar datos de video en una pluralidad de pases, contando los datos de video con una pluralidad de componentes cada componente incluye una pluralidad de coeficientes, caracterizado porque comprende : un código de computadora configurado para: determinar si existe un coeficiente diferente de cero para codificar para un primer componente en un primer pase; si existe un coeficiente diferente de cero para codificar para el primer componente en el primer pase, codificar el coeficiente diferente de cero para el primer componente en el primer pase; si no existe un coeficiente diferente de cero para codificar para el primer componente en el primer pase, determinar si existe un coeficiente diferente de cero para codificar para el primer componente en un segundo pase; si existe un coeficiente diferente de cero para codificar para el primer componente en el segundo pase, codificar el coeficiente diferente de cero para el primer componente en el segundo pase; determinar si existe un coeficiente diferente de cero para codificar para un segundo componente en el primer pase; si existe un coeficiente diferente de cero para codificar para el segundo componente en el primer pase, codificar el coeficiente diferente de cero para el segundo componente en el primer pase; si no existe un coeficiente diferente de cero para codificar para el segundo componente en el primer pase, determinar si existe un coeficiente diferente de cero para codificar para el segundo componente en el segundo pase; si existe un coeficiente diferente de cero para codificar para el segundo componente en el segundo pase, codificar el coeficiente diferente de cero para el segundo componente en el segundo pase.
  32. 32. El producto de código de computadora de conformidad con la reivindicación 31, caracterizado porque adicionalmente comprende un código de computadora configurado para determinar un retraso escalonado para al menos uno de la pluralidad de componentes y retrasar la codificación del por lo menos uno de la pluralidad de componentes mediante el retraso escalonado.
  33. 33. El producto de código de computadora de conformidad con la reivindicación 31, caracterizado porque adicionalmente comprende un código de computadora configurado para determinar un valor de amortiguamiento para al menos uno de la pluralidad de componentes y aplicar el valor de amortiguamiento para codificar por lo menos uno de la pluralidad de componentes en solo iteraciones selectas de un pase.
  34. 34. El producto de código de computadora de conformidad con la reivindicación 33, caracterizado porque el valor de amortiguamiento comprende una máscara de dígitos binarios que especifican en cuáles iteraciones selectas se codificará por lo menos uno de la pluralidad de componentes.
  35. 35. Un dispositivo para codificar datos de video en una pluralidad de pases, contando los datos de video con una pluralidad de componentes cada componente incluyendo una pluralidad de coeficientes, caracterizado porque comprende: un procesador configurado para ejecutar instrucciones; una memoria configurada para almacenar un programa de cómputo; y un programa de cómputo que comprende instrucciones configuradas para hacer que el procesador: determine si existe un coeficiente diferente de cero para codificar para un primer componente en un primer pase; si existe un coeficiente diferente de cero para codificar para el primer componente en el primer pase, codificar el coeficiente diferente de cero para el primer componente en el primer pase; si no existe un coeficiente diferente de cero para codificar para el primer componente en el primer pase, determinar si existe un coeficiente diferente de cero para codificar para el primer componente en un segundo pase; si existe un coeficiente diferente de cero para codificar para el primer componente en el segundo pase, codificar el coeficiente diferente de cero para el primer componente en el segundo pase; determine si existe un coeficiente diferente de cero para codificar para un segundo componente en el primer pase; si existe un coeficiente diferente de cero para codificar para el segundo componente en el primer pase, codificar el coeficiente diferente de cero para el segundo componente en el primer pase; si no existe un coeficiente diferente de cero para codificar para el segundo componente en el primer pase, determinar si existe un coeficiente diferente de cero para codificar para el segundo componente en el segundo pase; si existe un coeficiente diferente de cero para codificar para el segundo componente en el segundo pase, codificar el coeficiente diferente de cero para el segundo componente en el segundo pase.
  36. 36. El dispositivo de conformidad con la reivindicación 35, caracterizado porque el programa de cómputo adicionalmente comprende instrucciones configuradas para hacer que el procesador determine un retraso escalonado para al menos uno de la pluralidad de componentes y retrasar la codificación del por lo menos uno de la pluralidad de componentes mediante el retraso escalonado.
  37. 37. El dispositivo de conformidad con la reivindicación 35, caracterizado porque el programa de cómputo adicionalmente comprende instrucciones configuradas para hacer que el procesador determine un valor de amortiguamiento para al menos uno de la pluralidad de componentes y aplicar el valor de amortiguamiento para codificar por lo menos uno de la pluralidad de componentes en solo iteraciones selectas de un pase.
  38. 38. El dispositivo de conformidad con la reivindicación 37, caracterizado porque el valor de amortiguamiento comprende una máscara de dígitos binarios que especifican en cuáles iteraciones selectas se codificará por lo menos uno de la pluralidad de componentes.
MX2007008444A 2005-01-11 2006-01-09 Metodo y sistema para codificacion/decodificacion para un flujo de bits de video para una escalabilidad de granularidad fina. MX2007008444A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/032,778 US7336837B2 (en) 2005-01-11 2005-01-11 Method and system for coding/decoding of a video bit stream for fine granularity scalability
PCT/IB2006/000024 WO2006075224A1 (en) 2005-01-11 2006-01-09 Method and system for coding/decoding fo a video bit stream for fine granularity scalability

Publications (1)

Publication Number Publication Date
MX2007008444A true MX2007008444A (es) 2007-08-06

Family

ID=36653312

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007008444A MX2007008444A (es) 2005-01-11 2006-01-09 Metodo y sistema para codificacion/decodificacion para un flujo de bits de video para una escalabilidad de granularidad fina.

Country Status (8)

Country Link
US (1) US7336837B2 (es)
EP (1) EP1836856A1 (es)
KR (1) KR20070102541A (es)
CN (1) CN101129073A (es)
MX (1) MX2007008444A (es)
TW (1) TW200633535A (es)
WO (1) WO2006075224A1 (es)
ZA (1) ZA200705646B (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664176B2 (en) * 2004-07-09 2010-02-16 Nokia Corporation Method and system for entropy decoding for scalable video bit stream
US20060008009A1 (en) * 2004-07-09 2006-01-12 Nokia Corporation Method and system for entropy coding for scalable video codec
US8315308B2 (en) * 2006-01-11 2012-11-20 Qualcomm Incorporated Video coding with fine granularity spatial scalability
WO2007107855A2 (en) * 2006-03-21 2007-09-27 Nokia Corporation Fine grained scalability ordering for scalable video coding
US8948247B2 (en) * 2009-04-14 2015-02-03 Futurewei Technologies, Inc. System and method for processing video files
US10873772B2 (en) * 2011-07-21 2020-12-22 V-Nova International Limited Transmission of reconstruction data in a tiered signal quality hierarchy
US20130083845A1 (en) 2011-09-30 2013-04-04 Research In Motion Limited Methods and devices for data compression using a non-uniform reconstruction space
EP2595382B1 (en) 2011-11-21 2019-01-09 BlackBerry Limited Methods and devices for encoding and decoding transform domain filters

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05268482A (ja) 1991-10-15 1993-10-15 Internatl Business Mach Corp <Ibm> 画像情報を圧縮解除する方法およびその装置
US6275531B1 (en) * 1998-07-23 2001-08-14 Optivision, Inc. Scalable video coding method and apparatus
US6788740B1 (en) * 1999-10-01 2004-09-07 Koninklijke Philips Electronics N.V. System and method for encoding and decoding enhancement layer data using base layer quantization data
CN1397140A (zh) * 2000-09-27 2003-02-12 皇家菲利浦电子有限公司 数据的解码
US7068850B2 (en) * 2001-06-29 2006-06-27 Equator Technologies, Inc. Decoding of predicted DC coefficient without division
US20060257000A1 (en) * 2003-06-25 2006-11-16 Boyce Jill M Decoding method an apparatus for detection of watermarks in a compressed video bitsream
US20060078049A1 (en) 2004-10-13 2006-04-13 Nokia Corporation Method and system for entropy coding/decoding of a video bit stream for fine granularity scalability

Also Published As

Publication number Publication date
KR20070102541A (ko) 2007-10-18
WO2006075224A1 (en) 2006-07-20
CN101129073A (zh) 2008-02-20
EP1836856A1 (en) 2007-09-26
ZA200705646B (en) 2008-05-28
TW200633535A (en) 2006-09-16
US7336837B2 (en) 2008-02-26
US20060153462A1 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
MX2007008444A (es) Metodo y sistema para codificacion/decodificacion para un flujo de bits de video para una escalabilidad de granularidad fina.
CN101010964B (zh) 在可分级视频编码中的使用帧速率上变换技术的方法与设备
CN102461040B (zh) 用于防止语音帧内的信息流失的系统与方法
RU2404535C1 (ru) Устройство и способ упрощенного поиска референсного кадра в видеокодировании
CN101611441B (zh) 音频信号编码
CN102144256B (zh) 用于针对矢量量化器的快速最近邻搜索的方法和设备
JP2010528492A (ja) スケーラブルビデオコーデックにおける効率的な重要係数のコーディング
US7610195B2 (en) Decoding of predictively coded data using buffer adaptation
US20090259477A1 (en) Method and Apparatus for Selective Signal Coding Based on Core Encoder Performance
CN103250206B (zh) 用于比特流域中的编码音频帧的强度估计的装置及方法
US8762141B2 (en) Reduced-complexity vector indexing and de-indexing
US20060233255A1 (en) Fine granularity scalability (FGS) coding efficiency enhancements
JP2005513928A (ja) ファイン・グレイン映像符号化に関する計算量スケーラビリティ(fgs)
JP4163680B2 (ja) コードワードインデックスに対してパラメータ値のマッピングを行うための適応型方法およびシステム
WO2021213128A1 (zh) 音频信号编码方法和装置
CN105374359A (zh) 语音数据的编码方法和系统
WO2021244417A1 (zh) 一种音频编码方法和音频编码装置
KR20230038777A (ko) 멀티-채널 오디오 신호 인코딩/디코딩 방법 및 장치
CN110692247B (zh) 复合运动补偿的预测
US20070223826A1 (en) Fine grained scalability ordering for scalable video coding
US20150201190A1 (en) Two pass quantization of video data
CN115460182A (zh) 编解码方法、装置、设备、存储介质及计算机程序
CN113259673A (zh) 伸缩性视频编码方法、装置、设备及存储介质
EP3413309A1 (en) Efficient storage of multiple structured codebooks
CN112352277A (zh) 编码装置及编码方法

Legal Events

Date Code Title Description
FA Abandonment or withdrawal