MXPA99003335A - Control de velocidad adaptable para la compresionde video digital - Google Patents

Control de velocidad adaptable para la compresionde video digital

Info

Publication number
MXPA99003335A
MXPA99003335A MXPA/A/1999/003335A MX9903335A MXPA99003335A MX PA99003335 A MXPA99003335 A MX PA99003335A MX 9903335 A MX9903335 A MX 9903335A MX PA99003335 A MXPA99003335 A MX PA99003335A
Authority
MX
Mexico
Prior art keywords
quantization
bit rate
encoded
data
rate
Prior art date
Application number
MXPA/A/1999/003335A
Other languages
English (en)
Inventor
U Lee Chong
T Pian Donald
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of MXPA99003335A publication Critical patent/MXPA99003335A/es

Links

Abstract

Se presenta un sistema y un método para controlar en forma adaptable la velocidad de datos codificados en un sistema de compresión de datos. El sistema y el método establecen flujos de bits codificados alternativos para cada segmento de datos y selecciona la alternativa que produce la velocidad binaria más cercana a una velocidad binaria objetivopredeterminada para su transmisión. Cada segmento de la entrada de video se cuantifica mediante un conjunto de cuantificadores (20a-20c) para producir una pluralidad de segmento cuantificados. Cada segmento cuantificado se codifica a velocidad variable mediante un codificador de longitud variable (22a-22c) con base en uníndice de cuantificación para producir un flujo alternativo de bits codificados. Un conjunto de medidores de velocidad (24a-24c) miden la velocidad de datos que se requeriría para transmitir cada flujo alternativo de bits codificados y el comparador (30) compara las velocidades medias con una velocidad binaria objetivo predeterminada. El flujo de bits codificados que tiene una velocidad cercana a la velocidad binaria objetivo se suministra a un compensador de velocidad (34) durante la preparación para la transmisión. Habiendo procesado un segmento de datos, el sistema y el método actualizan entonces sus parámetros para procesar el siguiente segmento de datos. Un elemento (38) de actualización de velocidad binaria objetivo determina una velocidad binaria objetivo, actualizada, con base en la condición del compensador de velocidad. Además, un elemento (36) de actualización delíndice de cuantificación genera nuevosíndices de cuantificación para procesar al siguiente segmento de datos.

Description

CONTROL DE VELOCIDAD ADAPTABLE PARA LA COMPRESIÓN DE VIDEO DIGITAL ANTECEDENTES DE LA INVENCIÓN . Campo de la Invención La presente invención se relaciona con el procesamiento de imagen. Más particularmente, la presente invención se relaciona con un sistema y un método novedosos y mejorados para controlar en forma adaptable la velocidad binaria digitales de impresión en un codificador de video.
II . Descripción de la Técnica Relacionada En el campo de la transmisión y la recepción de señales de televisión se están realizando varias mejoras al sistema NTSC (National Televisión Systems Committee) . Los desarrollos en el campo de la televisión están dirigidos normalmente hacia los sistemas de televisión de definición normal o estándar (SDTV-Standard Definition Televisión) y los sistemas de televisión de alta definición (SDTV-High Definition Televisión) . Muchos de los sistemas de SDTV y HDTV propuestos hacen uso de técnicas de codificación digital. El video codificado en forma digital ofrece muchas ventajas por encima de la modulación analógica.
La codificación digital proporciona fortaleza al enlace PX248/99MX de comunicaciones contra el deterioro, como la multitrayectoria y la perturbación. Adicionalmente, las técnicas digitales facilitan la rapidez en el encriptado de la señal, necesario para aplicaciones militares y para muchas aplicaciones de difusión. Cuando se propuso por primera vez, la HDTV parecía impráctica debido a los excesivos requerimientos de la anchura de banda. Sin embargo, se ha concluido que la compresión de las señales de HDTV digitales pueden lograrse en un nivel que permite la transmisión a anchuras de banda comparables con las requeridas por los formatos NTSC analógicos. Estos niveles de compresión de la señal acoplados a la transmisión digital de la señal permitirán que un sistema HDTV transmita con menos energía y con una mayor inmunidad a los deterioros en el canal. Una técnica de compresión capaz de ofrecer una compresión significativa al tiempo que preserva la calidad de las señales de SDTV y HDTV utiliza bloques y sub-bloques dimensionados en forma adaptable de datos de coeficientes de la transformada de coseno discreto (DCT) codificada. La técnica se revela en la Patente de los Estados Unidos No. 5,021,891, titulada "ADAPTIVE BLOCK SlZE IMAGE COMPRESSION METHOD AND SYSTEM", cedida a la cesionaria de la presente invención e incorporada como referencia. Las técnicas de DCT también se revelan en la Patente de los Estados Unidos P1248/99MX No. 5,107,345, titulada "ADAPTIVE BLOCK SlZE IMAGE COMPRESSION METHOD AND SYSTEM" cedida a la cesionaria de la presente invención e incorporada como referencia. Además, la Patente de los Estados Unidos No. 5,4452,104 titulada, "ADAPTIVE BLOCK SlZE IMAGE COMPRESSION METHOD AND SYSTEM", también está cedida a la cesionaria de la presente invención e incorporada como referencia. Las técnicas que ofrecen importantes niveles de compresión frecuentemente hacen uso de esquemas de codificación de longitud variable. En la codificación de longitud variable, se cuantifican diferentes muestras de una señal, utilizando diferentes longitudes de palabras de código. El codificador generalmente se diseña con base en la estadística teórica o a estadísticas medidas de una imagen para reducir al minimo el error de reconstrucción global. Al explotar la distribución de probabilidad de las características de una imagen, se logran elevadas relaciones de compresión. Aunque la codificación de longitud variable puede proporcionar elevadas relaciones de compresión, también provoca la complicación de una velocidad de datos codificados no constante. La codificación de longitud variable generalmente produce palabras código largas para áreas de imagen con mucho detalle y palabras código cortas para áreas de imagen con poco detalle. Cuando se utiliza la codificación de longitud P1248/99MX variable para codificar video, pueden codificarse diferentes tramas del video con diferentes longitudes de palabras código. Estas palabras código necesitan transmitirse a través de un canal de comunicaciones a una velocidad binaria predeterminada. Además, en aplicaciones tales como los sistemas de SDTV y HDTV, las palabras código deben transmitirse al decodificador a una velocidad que permitirá la reconstrucción de tramas del video sin fluctuaciones en la velocidad de trama . Se utiliza un compensador de velocidad para mantener la velocidad de transmisión de los bits de datos codificados. Sin embargo, el uso del compensador por si mismo no resuelve el problema de las fluctuaciones en la velocidad de trama decodificada. Además, puede resultar el desbordamiento del compensador cuando se ha codificado una trama de video con palabras código largas, las cuales exceden la capacidad del compensador, lo que resulta en una pérdida de información. Consecuentemente, es necesario el control de velocidad para la compresión de video. Estos problemas y deficiencias son claramente recibidos en la técnica y serán resueltos por la presente invención en la forma descrita más adelante.
SUMARIO DE LA INVENCIÓN La presente invención es un sistema y un P1248/99MX método novedosos y mejorados para controlar la velocidad de datos codificados en un procedimiento de compresión de video. Cuando se comprime el video, pueden codificarse diferentes segmentos del video con diferentes longitudes de palabras código. Con el fin de transmitir las palabras código a través de un canal de comunicaciones a una velocidad constante al tiempo que se mantiene la confiabilidad del codificador, es necesario el control de la velocidad binaria codificada. El presente sistema y método logra el control de la velocidad al establecer flujos de bits codificados alternativas para cada segmento del video y al seleccionar la alternativa que producirla una velocidad binaria más cercana a una velocidad binaria objetivo predeterminada. La velocidad binaria objetivo se selecciona con base en el estado o condición del compensador de velocidad. De conformidad con la presente invención, se revela un controlador de velocidad de datos adaptable que comprende una pluralidad de cuantificadores . El controlador de velocidad recibe como entrada un bloque de datos de video y el mismo bloque de datos de video se presenta a cada uno de los cuantificadores . Cada cuantificador cuantifica las muestras de la entrada de conformidad con una función de mascarilla de ponderación diferente para producir un bloque de coeficientes cuantificados . Cada función de mascarilla P1248/99MX de ponderación está identificada por un Índice de cuantificación. Está diseñada una función de mascarilla de ponderación para enfatizar ciertas muestras de la entrada y para desenfatizar otras muestras al ponderar las muestras en forma diferente. De este modo, las correspondientes muestras cuantificadas de los diferentes bloques de coeficientes cuantificados pueden tener diferentes valores como resultado de haber sido ponderados en forma diferente. El controlador de velocidad adaptable también comprende una pluralidad de codificadores. Cada codificador recibe uno de los bloques de coeficientes cuantificados y produce un flujo de coeficientes codificados a longitud variable. Debido a que cada bloque de coeficientes cuantificados ha sido procesado por una diferente función de ponderación, las muestras de cada bloque pueden codificarse con diferentes longitudes de palabras código. Como resultado, cada flujo de coeficientes codificados a longitud variable puede tener una longitud de código distinta de las otras . Los flujos codificados a longitud variable se presentan a un selector, en tanto que las velocidades binarias totales requeridas para transmitir cada una de los flujos codificados a longitud variable se determinan y presentan a un comparador. Las velocidades binarias totales son P1248/99 X proporcionales a la suma de las longitudes de código de los flujos codificados. El comparador compara cada una de las velocidades binarias totales con una velocidad binaria objetivo predeterminada con el fin de determinar la velocidad más cercana al objetivo. El selector selecciona entonces el flujo codificado a longitud variable que producirla una velocidad binaria más cercana al objetivo predeterminado y presenta este flujo a un compensador de velocidad durante la preparación para la transmisión. Ahora que el bloque presente de señal de video ha sido procesado, el controlador de velocidad se prepara para procesar al siguiente bloque de señal de video al actualizar las funciones de mascarilla de ponderación. Un elemento de actualización del Índice de cuantificación selecciona un nuevo conjunto de índices de cuantificación a partir del cual se derivan las funciones de mascarilla de ponderación. Los nuevos índices de cuantificación se seleccionan con base en un modelo de velocidad contra índice de cuantificación y una velocidad binaria objetivo actualizada. Un elemento de modelo deriva el modelo de velocidad contra índice de cuantificación. El modelo se deriva de los datos de velocidad e índice de cuantificación del bloque de señal de video presente. De este modo, los índices de cuantificación utilizados para el bloque de video presente y las correspondientes P1248/99MX velocidades binarias se utilizan para derivar el modelo. La velocidad binaria objetivo actualizada se deriva mediante un elemento de actualización de velocidad binaria objetivo con base en el nivel de plenitud del compensador de velocidad después de procesar el bloque de entrada de video presente. La velocidad binaria objetivo actualizada se selecciona de modo que mantenga o conserve un flujo de datos constante a través del compensador de velocidad así como para evitar el desbordamiento del compensador de velocidad. Con base en el modelo y en la velocidad binaria objetivo actualizada, un nuevo índice de cuantificación es el índice que produciría la velocidad binaria objetivo actualizada según lo indica el modelo. Otros nuevos Índices de cuantificación generalmente serán funciones del nuevo Índice de cuantificación ya designado . Después que se han actualizado las funciones de mascarilla de ponderación, el controlador de velocidad adaptable de la presente invención comienza a procesar el siguiente bloque de entrada de video.
BREVE DESCRIPCIÓN DE LOS DIBUJOS Las particularidades, objetos y ventajas de la presente invención serán más evidentes a partir de la descripción detallada expuesta a continuación, cuando se considere junto con los dibujos, en los cuales, P12 8/99MX caracteres de referencia similares se identifican correspondientemente en toda la presente y, en donde: la Figura 1 es un diagrama de bloque que ilustra un sistema de codificación ejemplificativo en el que se utiliza un controlador de velocidad; la Figura 2 es un diagrama de bloques que ilustra un pre-procesador ejemplificativo que genera coeficientes para el codificador; la Figura 3 es un diagrama de bloques que ilustra los elementos de procesamiento del codificador y del controlador de velocidad; la Figura 4 es una gráfica que ilustra un modelo exponencial del índice de cuantificación contra la velocidad binaria; las Figuras 5A-5C son diagramas de bloques que ilustran los elementos de procesamiento que seleccionan los componentes de datos controlados por velocidad de una señal de color para la transmisión; la Figura 6 es un diagrama de bloques que ilustra los elementos de procesamiento que derivan los índices de cuantificación para que sean utilizados para cuantificar una señal de video recibida; y las Figuras 7 a-1 c son una serie de gráficas que ilustran modelos de índice de cuantificación contra velocidad binaria para cada uno de los componentes de color de una señal de color y la Figura 7d es una gráfica que ilustra un compuesto de índice de P1248/99MX cuantificación contra la velocidad binaria para todos los componentes de una señal de color.
DESCRIPCIÓN DETALLADA DE LAS MODALIDADES PREFERIDAS Un sistema de compresión de datos ejemplificativo que incorpora al controlador de velocidad de la presente invención se ilustra en la Figura 1. El sistema mostrado en la Figura 1 puede ser utilizado para comprimir una señal de video para la transmisión. Por ejemplo, el sistema de la Figura 1 puede ser utilizado para comprimir una señal de HDTV o de SDTV, aunque debe comprenderse que cualquier otro tipo de señal de video o, incluso de audio, puede beneficiarse de este sistema de compresión. Según se muestra en la Figura 1, una señal de video se presenta primero al pre-procesador 10 durante la preparación para la compresión. El pre-procesador 10 puede servir para una variedad de propósitos o, puede estar excluido del sistema. El pre-procesador 10 puede, por ejemplo dar formato o formatear la señal de video en componentes que son procesadas más fácilmente por el sistema de compresión. La salida del pre-procesador 10 se presenta al codificador 12. El codificador 12 cuantifica los datos que ha recibido y comprime entonces los coeficientes cuantificados . El esquema de cuantificación ejecutado depende de los parámetros de cuantificación de realimentación del P1248/99MX controlador de velocidad 14. El controlador de velocidad 14 utiliza las estadísticas que caracterizan al presente segmento de video codificado para ajustar o fijar en forma adaptable los parámetros de cuantificación para codificar al siguiente segmento de video. El controlador de velocidad 14 también presenta los datos codificados controlados por velocidad al formateador 16. El formateador 16, los datos controlados por velocidad y ensambla los datos en una flujo de bits formateada par ala formación a través de un canal de comunicaciones. En la Figura 2 se ilustra una posible implementación del pre-procesador 10. Según se muestra en la Figura 2, el pre-procesador 10 comprende un operador 18 de la Transformada del Coseno Discreto (DCT-Discrete Cosine Transform) bidimensional. Un segmento de una señal de video, generalmente un bloque de xN pixeles muestreados por tiempo, se presenta al operador de DCT 18 como una entrada. Del bloque de pixeles muestreados por tiempo, el operador de DCT 18 genera un bloque de coeficientes de DCT. El operador de DCT 18 es un método para convertir una señal muestreada por tiempo en una representación de frecuencia de la misma señal. Mediante la conversión en una representación de frecuencia, se ha mostrado que las técnicas de DCT permiten niveles de compresión muy elevados, ya que los P1248/99MX cuantificadores pueden ser diseñados para aprovechar las características de distribución de frecuencias de una imagen. Un sistema de compresión que utilizan las transformadas DCT se describe en las Patentes de los Estados Unidos Nos. 5,021,891, 5,107,345 y 5,452,104, antes mencionadas. El bloque de coeficientes de DCT se presenta al codificador 12 con la velocidad binaria codificada controlada por el controlador de velocidad 14. En una modalidad ej emplificativa, el codificador 12 y el controlador de velocidad 14 están implementados en un microprocesador o en un procesador de señal digital programado para proporcionar las funciones según se describió . Refiriéndonos ahora a la Figura 3, se muestran los detalles del codificador 12 y del controlador de velocidad 14. Con propósitos de ilustración, la Figura 3 se describe en términos de procesar una señal de video de luminancia. El procesamiento de una señal de video de color se describirá posteriormente. El codificador 12 comprende una pluralidad de cuantificadores 20a-20c y una correspondiente pluralidad de codificadores a longitud variable 22a-22c. Se muestran tres conjuntos de cuantificadores 20a-20c y de codificadores a longitud variable 22a-22c aunque debe comprenderse que en vez de éstos puede utilizarse un número diferente de elementos.
P12 8/99MX Cada uno de los tres cuantificadores 20a-20c recibe al mismo bloque de coeficientes de DCT designado F, como entrada. Cada cuantificador 20a-20c también recibe del controlador de velocidad 14 una señal de un índice de cuantificación de realimentación, designado mediante q?~ 3- En la Figura 3, los tres cuantificadores 20a-20c representan tres ajustes o posiciones de cuantificación o tres formas para cuantificar a la misma señal de entrada. Las salidas de los cuantificadores 20a-20c son bloques de coeficientes de DCT cuantificados, designados como QC1-QC3 en la Figura 3. En una modalidad preferida, el ajuste de cuantificación utilizado por cada cuantificador 20a-20c para cuantificar la señal de entrada es una función de mascarilla de ponderación, también conocida en la técnica como una matriz de cuantificación. Cada función de mascarilla de ponderación se deriva al multiplicar un tamaño de paso de cuantificación seleccionado (qss.¡_) por los coeficientes de una tabla de pesos o ponderaciones de frecuencia. El qss± es una función del índice de cuantificación q r de tal forma que : qss± = f (q±) • ( i : En una modalidad preferida, qsSi = 2^' (2; P1248/99MX SE utiliza una tabla de pesos o ponderaciones de frecuencia, de las mismas dimensiones que el bloque de coeficientes de DCT de entrada, para aplicar diferentes pesos o ponderaciones a los diferentes coeficientes de DCT. Las ponderaciones están diseñadas para enfatizar las muestras de entrada que tienen el contenido de frecuencia al que el sistema visual humano es más sensible y para desenfatizar muestras que tienen un contenido de frecuencia al que el sistema visual es menos sensible. Las ponderaciones se seleccionan con base en datos empíricos. Un método para diseñar las mascarillas de ponderación para coeficientes de DCT de 8x8 se revela en ISO/IEC ITC1 CD 10918, "Digital compression and encoding of continuous- tone still images - part 1: Requirements and - guidelines, " International Standards Organization, 1994, que está incorporada en la presente como referencia . De este modo, el índice de cuantificación q± es multiplicado por la tabla de mascarillas de ponderación de frecuencia para producir una primera función de mascarilla de ponderación. Los coeficientes de DCT son multiplicados por los correspondientes coeficientes de la primera función de mascarilla de ponderación para producir un primer bloque de coeficientes cuantificados, designado como QCl . Del P1248/99MX mismo modo, los índices de cuantificación q2 y q3 son multiplicados cada uno por la misma tabla de mascarillas de ponderación de frecuencia para producir las funciones de mascarilla de ponderación segunda y tercera, en los cuantificadores 20b y 20c respectivamente. Entonces, los coeficientes de DCT son multiplicados por los correspondientes coeficientes de la segunda función de mascarilla de ponderación para producir un segundo bloque de coeficientes cuantificados, designado como QC2. Los coeficientes de DCT también son multiplicados por los correspondientes coeficientes de la tercera función de mascarilla de ponderación para producir un tercer bloque de coeficientes cuantificados, designado como QC3. Al ser (k,l) para referirse a la posición de un coeficiente dentro de un bloque y FWM para referirse a la tabla de mascarillas de ponderación de frecuencia, las operaciones de los cuantificadores 20a-20c pueden ser descritas por las siguientes ecuaciones: QC1 (kA)=F(kA) xFWM ,!) qsSj: (3) QC2 (k A) =? (k A) x lÑlñ(kA) ?qss2: (4) QC3 (k,l) =F(k,l) F M (Jc,l)?qss3: (5) Las señales QC1-QC3 son introducidas a los codificadores de longitud variable 22a-22c, respectivamente. Los valores del coeficiente de DCT P12 8/99MX cuantificado son codificados cada uno utilizando codificadores de longitud variable con el fin de reducir al mínimo la velocidad de datos. Los tres codificadores de longitud variable 22a-22s, mostrados en la Figura 3, pueden implementar el mismo esquema de codificación a longitud variable o pueden implementar diferentes algoritmos de codificación a longitud variable. Las salidas de los codificadores de longitud variable 22a-22c son señales de flujos en serie de coeficientes codificados a longitud variable y están designadas como VC1-VC3. Una técnica para implementar codificadores de longitud variable 22a-22c hace uso de la codificación de ceros de longitud corrida después del barrido o exploración en zig-zag seguida por la codificación Huffman. Esta técnica se analiza con detalle en las antes mencionadas Patentes de los Estados Unidos Nos. 5,021,891, 5,107,345 y 5,452,104 y se resume en la presente. Un codificador de longitud de corrida tomaría las señales cuantificadas, en este caso QC1-QC3, y separaría los coeficientes cero de los que no son cero. Los valores de cero son referidos como valores de longitud de corrida y tienen una codificación Huffman. Los valores que no son cero se sometieron a codificación Huffman en forma separada. Los códigos Huffman están diseñados desde cualquiera de las estadísticas medidas o teóricas de P1248/99MX una imagen. Se ha observado que la mayoría de las imágenes naturales están constituidas de áreas blancas o de áreas que varian en forma relativamente lenta y áreas ocupadas, tales como limites de objeto y texturas de alto contraste. Los codificadores Huffman con transformadas de dominio de frecuencia, tales como la DCT aprovechan estas particularidades al asignar más bits a las áreas ocupadas y un menor número de bits a las áreas en blanco. Refiriéndonos todavía a la Figura 3 puede observarse que las señales VC1-VC3 son entradas para los correspondientes medidores de velocidad 24a-24c. Cada medidor de velocidad 24a-24c determina la velocidad binaria requerida para transmitir los respectivos coeficientes codificados a longitud variable de las señales VC1-VC3. La salida de cada medidor de velocidad 24a-24c es una señal de un solo valor indicadora de la velocidad binaria del bloque de coeficientes de DCT. La velocidad binaria es proporcionar al número de bits requeridos para codificar en longitud variable al bloque de coeficientes de DCT. Las señales que corresponden a las salidas de los medidores de velocidad 24a-24c están designadas como r1-r3, respectivamente. Dos conjuntos de señales son emitidos del codificador 12 hacia el controlador de velocidad 14. El controlador de velocidad 14 recibe las señales de P1248/99MX los coeficientes codificados a longitud variable VC1-VC3. Uno de los VC1-VC3, será seleccionado por el controlador de velocidad 14 para la transmisión. El controlador de velocidad 14 también recibe las señales rx-r3, representativas de las velocidades binarias de los coeficientes codificados a longitud variable VC1-VC3 la información de velocidad ayuda a la selección de los coeficientes codificados a longitud variable. También, al utilizar la información de velocidad, el controlador de velocidad 14 genera índices de cuantificación actualizados para que sean utilizados por los cuantificadores 20a-20c en la cuantificación del siguiente segmento de entrada de video. Los índices actualizados se establecen de modo que controlen la velocidad binaria del siguiente segmento de entrada de video. Según se muestra en la Figura 3, las señales indicadoras de los coeficientes codificados a longitud variable VC1-VC3 son introducidas al selector 28 del controlador de velocidad 14, mientras que las señales indicadoras de las velocidades rx-r3 son introducidas al comparador 30 y al elemento de modelo 32 del controlador de velocidad 14. El comparador 30 compara las tres velocidades rx-r3 con una velocidad binaria deseada con el fin de elegir la velocidad más cercana a la velocidad deseada. Con base en la velocidad elegida, el comparador 30 proporciona una señal al P12 8/99 X selector 28 que indica cuál de los flujos de coeficientes codificados a longitud variable VC1, VC2 o VC3 ha sido seleccionada para la transmisión. La función del elemento 32 se describirá posteriormente. Pueden utilizarse varios algoritmos de selección para seleccionar el flujo de coeficientes codificados a longitud variable para la transmisión. Una modalidad preferida selecciona el flujo que reduce al mínimo el error de velocidad codificado absoluto. Este método compara una velocidad binaria objetivo predeterminada con cada una de las velocidades rlf r2 y r3, de conformidad con la ecuación: min | T-r± (6) en donde T es la velocidad binaria objetivo y r± para i = 1, 2, 3 se refiere a las velocidades r^r^ respectivamente. En una modalidad alternativa, el selector 28 selecciona el flujo codificado a longitud variable que reduce al minimo el error de velocidad y que tiene una velocidad menor a la velocidad objetivo. En una segunda modalidad alternativa, el selector 28 selecciona el flujo que produce la mínima velocidad. El selector 28 proporciona la señal del flujo de coeficientes codificados a longitud variable que ha sido seleccionada para la transmisión hacia el compensador de velocidad 34 para aguardar la P1248/99MX transmisión a través del canal de comunicaciones. La señal seleccionada representa una señal de video controlada por velocidad. Entonces, refiriéndonos nuevamente a la Figura 1, la señal de datos controlada por velocidad se presenta al formateador 16, que le da formato a la señal de datos con las señales de control y de identificación durante la preparación para la transmisión. Las señales indicadoras del inicio del bloque, del inicio de la trama, del número de bloque, del número de trama y la información de cuantificación son algunas de las señales que se anexan a la señal de datos por parte del formateador 16. En este punto, el segmento presente de la entrada de video ha sido procesado para la transmisión. Ahora es necesario actualizar al sistema con el fin de codificar en forma controlable por velocidad al siguiente segmento de video y preparar al siguiente segmento para la transmisión. Conforme el controlador de velocidad 14 ajusta la velocidad binaria codificada al seleccionar entre tres flujos de coeficientes codificados para cada segmento de video, necesita derivarse un nuevo conjunto de tres Índices de cuantificación . Los nuevos índices de cuantificación son derivados por los elementos 36 de actualización del índice de cuantificación, mostrado en la Figura 3. El elemento 36 de actualización del índice de P1248/99MX cuantificación, deriva los índices con base en las señales de entrada del elemento de modelo 32 y del elemento 38 de actualización de la velocidad binaria objetivo. El elemento de modelo 32 deriva un modelo de velocidad binaria codificada contra índice de cuantificación. El elemento 38 de actualización de velocidad binaria objetivo deriva una velocidad binaria objetivo actualizada para el siguiente segmento de entrada de video. Con base en la velocidad binaria objetivo actualizada y al modelo de velocidad binaria codificada contra índice de cuantificación, se seleccionarán tres Índices de cuantificación actualizados para cuantificar al siguiente segmento de video. El elemento de modelo 32 deriva un modelo de índice de cuantificación contra velocidad binaria para el siguiente segmento de video con base en los datos de índices de cuantificación y velocidades del segmento presente de video. Refiriéndonos aún a la Figura 3, puede observarse que el elemento de modelo 32 recibe como entrada señales indicadoras de los tres índices de cuantificación q?- 3 que se utilizan para procesar al segmento de video presente. El elemento de modelo 32 también recibe como entrada señales de las tres velocidades r1-r3 correspondientes a las velocidades de los tres flujos presentes de coeficientes codificados a longitud variable VC1-VC3. De tres conjuntos de puntos P1248/99MX de datos (qx, rx) , (q2, r2) y (q3, r3), se deriva un modelo al ajustar una curva a través de los tres puntos de datos. En una modalidad preferida, se utiliza un modelo exponencial para el ajuste de la curva. El modelo exponencial está definido de conformidad con la ecuación: ratei = yi = bm ( 1 ) en donde x± denota el Índice de cuantificación, ajustado para variar de 0 a 31 en una modalidad preferida, aunque debe comprenderse que en vez de éste puede utilizarse un intervalo de índices de cuantificación diferente. La correspondiente velocidad codificada está denotada por ra te (y±) . Los parámetros b y m del modelo exponencial pueden determinarse al reconocer que: lnra tei = lny± = lnj + xYnm , (8) Entonces, al ser ? la denotación del conjunto de n (n=3) Índices de cuantificación utilizados para codificar la trama de datos presente, la solución por mínimos cuadrados al modelo puede definirse como: P12 8/99MX Una ilustración de un modelo exponencial ejemplificativo se muestra en • la Figura 4. El modelo exponencial mostrado en la Figura 4 se deriva de los tres pares de puntos de datos ( ql r rx) , (q2, r2) y (q3, r3) . Las señales de los parámetros b y m se introducen al elemento 36 de actualización del índice de cuantificación . Según se mencionó previamente, el elemento 36 de actualización del índice de cuantificación, también recibe como entrada señales de una velocidad binaria objetivo actualizada provenientes del elemento 38 de actualización de velocidad binaria objetivo. Refiriéndonos nuevamente a la Figura 3, la velocidad binaria objetivo actualizada se determina mediante el elemento 38 de actualización de velocidad binaria objetivo con base en estado del compensador de velocidad o del nivel de plenitud del compensador de velocidad, después del procesamiento del segmento de entrada de video presente. El indicador 40 del estado del compensador de velocidad, acoplado al compensador de velocidad 34, determina el estado del compensador de velocidad o el nivel de plenitud y envía una señal P1248/99MX indicativa del estado al elemento 38 de actualización de velocidad binaria objetivo. Permitamos que BF denote al estado del compensador de velocidad. El indicador 40 del estado del compensador de velocidad determina el estado del compensador de velocidad después del procesamiento del segmento de entrada de video (Bfk) presente, como sigue: BF = BF k, -l + A ~ 7 (11) en donde BFk_1 es el estado del compensador de velocidad antes del procesamiento del segmento presente, Rk es la velocidad binaria de datos del segmento presente y M es la velocidad binaria a transmisión fija. El elemento 38 de actualización de velocidad binaria objetivo determina entonces la velocidad objetivo actualizada, NTk, de conformidad con la siguiente : NTk = M - (BFk - ?BFmax) (12) en donde M es nuevamente la velocidad de transmisión fija, BFmax es el tamaño del compensador de velocidad, es una constante que determina que tan rápido converge el compensador de velocidad hacia el nivel de plenitud deseado del compensador de velocidad y ? (0.0 = ? = l.O) es el nivel de plenitud deseado del compensador de P1248/99 X velocidad. En una modalidad preferida, para hacer más lenta la respuesta del sistema de control de velocidad con el fin de evitar fluctuaciones en la velocidad binaria, una velocidad objetivo actualizada suavizada, SNTk , puede derivarse como sigue: SNTk = ßNTk + (l -ß) SNT k-l (13; SNTk puede utilizarse en vez de NTk en el proceso de selección. En una modalidad preferida, a se fija en 0.2 y ß se fija en 0.4. Una señal indicadora de la velocidad binaria objetivo actualizada NTk se presenta al comparador 30 para que sea utilizada para el procesamiento del siguiente segmento de entrada de video. Una señal indicadora de la velocidad objetivo actualizada Ntk se presenta también al elemento 38 de actualización del índice de cuantificación para ser utilizada para la selección de un conjunto de tres Índices de cuantificación actualizados (q?'-q3') para que sean utilizados por los cuantificadores 20a-20c para el procesamiento del siguiente segmento de entrada de video . Una vez que el elemento 36 de actualización del índice de cuantificación ha recibido las señales indicadoras de la velocidad binaria objetivo P1248/99MX actualizada Ntk y los parámetros b y m del modelo de velocidad contra índice de cuantificación, puede seleccionarse un conjunto actualizado de índices de cuantificación (q?'-q3') para cuantificar el siguiente segmento de entrada de video. El elemento 36 de actualización del índice de cuantificación puede utilizar varios métodos para seleccionar al conjunto actualizado de Índices de cuantificación q?'_q3'- Una modalidad preferida selecciona al índice de cuantificación q2 ' primero. Este se determina de conformidad con la ecuación: ]nNTk - \nb q2 ' = round (14; hxm en donde el valor NTk es la velocidad binaria objetivo actualizada y los valores de b y m son los parámetros del modelo exponencial antes descrito. Los otros dos índices de cuantificación, qx ' y q3 ' , pueden actualizarse de conformidad ya sea con el método de actualización de un ancla o con el de dos anclas. Estos métodos definen una dispersión que será la minima diferencia en los índices de cuantificación entre cualesquiera de los tres Índices de cuantificación qx ' , q2 ' y q3 ' . La dispersión generalmente se fija en 5 para una entrada de señal de HDTV de luminancia. La dispersión depende de la P1248/99MX separación entre los índices . El método de una ancla define un índice ancla como Al. También, define que qmax sea el índice de cuantificación máximo que es igual a 31. Suponiendo que 0 < dispersión < Al y 0 < dispersión < | qmax - Al | , el método de una ancla fija q3 ' igual a Al a menos que Al esté dentro de la dispersión de q2 ' . En ese caso, q3 ' se fija en un índice de dispersión en alejamiento de q2 ' . El algoritmo de actualización de una ancla se define como sigue: Si | q2 ' - Al | < dispersión, entonces qx ' = q2 ' - dispersión y q3 ' = qx ' + dispersión. Si q2' > Al + dispersión y q2 ' > qmax dispersión, entonces qx ' = q2 ' + dispersión y q3 ' = Al. Si q2 ' < Al - dispersión y q2 ' >_ dispersión, entonces qx ' = q2 ' - dispersión y q3 ' = Al . Si q2 ' ^> Al + dispersión q2 ' < qmax dispersión, entonces qx ' = q2 ' - dispersión y q3 ' = Al. Si q2 ' < Al dispersión y q2 ' < dispersión, entonces qx ' = q2 ' + dispersión y q3 ' = Al. Si q2 ' = Al y qmax - Al < dispersión, entonces qx ' = q2 ' - 2 * dispersión y q3 ' = q2 ' - dispersión. Si q2' < qmax - dispersión y qmax - Al < dispersión, entonces q1 1 = q2 ' - dispersión y q3 ' = q2 ' + dispersión. Si q2 ' = Al y Al < dispersión, entonces q± ' = q3 ' + dispersión y q3 ' = q2 ' + 2 * dispersión.
P1 8/99MX El método de dos anclas define dos anclas fijas Al y A2, en donde Al < A2. El método de dos anclas asegura que los valores que se disparan a lo alto y los valores que se disparan a lo bajo de la velocidad binaria se reducen a niveles aceptables.
Recordar que la dispersión es la mínima diferencia en los índices de cuantificación entre cualesquiera de los tres índices de cuantificación qx ' , q2 ' y q3 ' . Suponer que 2 * dispersión < A2 - Al, dispersión < Al y dispersión < I qmax - A2 | . El método de dos anclas fija a qj_ ' en Al y fija a q3 ' en A2, a menos que Al o A2 estén dentro de la dispersión de q2 ' . En estos casos, ya sea qx ' o q3 ' se fija en un índice de dispersión en alejamiento de q2 ' . El algoritmo de actualización de dos anclas se define como sigue: Si | q2 ' -Al | < dispersión y q2 ' >_ dispersión, entonces qx ' = q2 ' - dispersión y q3 ' = A2. Si | q2 ' - Al | < dispersión y q2 ' < dispersión, entonces q2 ' = q2 ' + dispersión y q3 ' = A2. Si I q2 ' - A2 | < dispersión y q2 ' < qmax dispersión, entonces qt ' = Al y q3 ' = q2 ' + dispersión. Si |q2' - A2 | < dispersión y q2 ' > qmax -dispersión, entonces qx ' = Al y q3 ' = q2 ' - dispersión. Si |q2' - Al | > dispersión y | q2 ' - A2 | > dispersión, entonces q1 ' = Al y q3 ' = A2. En una modalidad preferida, si el índice de cuantificación media q2 ' produce demasiados bits, P1248/99MX entonces se aumentan todos los índices de cuantificación para la siguiente trama, disminuyendo de esta manera la velocidad binaria para el siguiente bloque de datos. Si el índice de cuantificación media q2 ' produce muy pocos bits, entonces todos los índices de cuantificación se reducen para la trama siguiente, aumentando de esta manera la velocidad binaria del siguiente bloque de datos. Debe comprenderse que en vez de seleccionar tres índices de cuantificación para procesar cada bloque de entrada de datos, puede utilizarse en vez de esto un diferente número de índices. Según se mencionó previamente, el número de cuantificadores puede ser un número diferente de tres. En este caso, un correspondiente número de codificadores a longitud variable será necesario para codificar los coeficientes cuantificados que serán proporcionados al selector, el cual selecciona entonces la señal controlada por velocidad de entre todos los coeficientes codificados. También, un correspondiente número de medidores de velocidad, determinará las velocidades binarias de datos de los coeficientes codificados. Las velocidades se suministran al comparador, el cual compara todas las velocidades con la velocidad objetivo predeterminada para ayudar al proceso de seleccionar la señal controlada por velocidad. Las velocidades también se suministran al elemento de modelo el cual deriva el P1248/99MX modelo de índice de cuantificación contra velocidad binaria. El número de índices de cuantificación requerido puede seleccionarse a partir del modelo. De este modo, la deseada flujo de bits codificados puede seleccionarse de cualquiera de una pluralidad predeterminada de flujos de bits codificados. Aunque la presente invención de este modo ha sido descrita principalmente con respecto a señales de video de luminancia, puede apreciarse que la presente invención es igualmente aplicable a señales de color. Una técnica para procesar señales de color es convertir primero la señal de un espacio RGB en un espacio YC].^, en donde Y es el componente de luminancia o brillantez y Cx y C2 son la crominancia o componentes de color. Debido a que la baja sensibilidad espacial del ojo al color, la mayoría de los investigadores submuestrea los componentes C y C2 en un factor de cuatro en las direcciones horizontal y vertical. Dos posibles representaciones YC1C2 son la representación YIQ y la representación YUV, estas dos son bien conocidas en la técnica. Refiriéndonos a la Figura 1, tanto la conversión de RGB en YCj_C2 (no mostrada) como el submuestreo (no mostrado) puede ser realizado por el pre-procesador 10. En una modalidad preferida para el procesamiento de video en color, los cuatro componentes de luminancia (en lo sucesivo designados Y1-Y4) y los P1248/99MX dos componentes de crominancia (designados en lo sucesivo como Cx y C2) se utilizan para representar cada segmento de entrada de video. Existen cuatro componentes de luminancia para cada componente de crominancia, debido a que cada componente de crominancia está submuestrado por cuatro. Para cada uno de los seis componentes, se seleccionan tres índices de cuantificación, con el fin de producir tres bloques de coeficientes cuantificados para cada componente. Además, se generan tres flujos de coeficientes codificados a longitud variable de cada conjunto de tres bloques de coeficientes cuantificados . El controlador de velocidad 14 debe seleccionar uno de cada conjunto de tres flujos para la transmisión. Las Figuras 5a-5c ilustran los elementos del controlador de velocidad 14 que efectúa la selección de los flujos de coeficientes codificados a longitud variable de las entradas Y1-Y4, C? y C2. Al igual que en la anterior descripción para el procesamiento de una señal solamente de luminancia, las Figuras 5a-5c muestran que se utilizan tres señales codificadas alternativas para seleccionar cada señal controlada por velocidad. Sin embargo, debe comprenderse que la presente invención es igualmente aplicable a sistemas que generan un número diferente de señales codificadas alternativas de las cuales se selecciona la señal controlada por velocidad.
P1248/99MX En la modalidad ilustrada de las Figuras 5a-5c, cada una de las cuatro entradas de luminancia Y1-Y4 se ha cuantificado con base en los mismos índices de cuantificación (q?~q3) para producir q (Yl) -qx (Y4 ) , q2 (Yl) -q2 (Y4) y q3 (Yl) -q3 (Y4 ) . Debe entenderse sin embargo que los diferentes componentes de luminancia Y1-Y4 pueden cuantificarse con base en diferentes índices de cuantificación. La cuantificación se realiza mediante cuantificadores tales como los cuantificadores 20a-20c, mostrados en la Figura 3. Además, cada componente cuantificado se codifica utilizando codificación de longitud variable, que produce señales designadas en la Figura 5a como VC[q1(Yl)]-VC[q1(Y4)]r VC [q2 (Yl) ] -VC [q2 (Y4 ) ] y VC[q3(Yl) ]-VC[q3(Y4) ] . La codificación a longitud variable se realiza mediante codificadores de 'longitud variable tales como los codificadores de longitud variable 22a-22c de la Figura 3. Las entradas de crominancia Cx y C2 también se cuantifican y codifican a longitud variable. Los índices de cuantificación de los componentes Cx y C2 no son necesariamente los mismos pero pueden ser los mismos, tales como los utilizados para Y1-Y4. En las Figuras 5b y 5c, los componentes C1 y C2 codificados están designados como VCCq^C^], VC^ÍC- ] y VC[q3(C1)] y VC[qx(C2)], VC[q2(C2)] y VC[q3(C2)]. La codificación a longitud variable se realiza mediante codificadores de P1248/99 X longitud variable, tales como los codificadores de longitud variable 22a-22c de la Figura 3. Al igual que para los componentes de luminancia, la cuantificación de los componentes de crominancia se efectúa mediante cuantificadores tales como los cuantificadores 20a-20c de la Figura 3 y la codificación a longitud variable se realiza mediante elementos tales como los codificadores de longitud variable 22a-22c de la Figura 3. En el procesamiento de los componentes de luminancia, los componentes codificados a longitud variable que se han cuantificado con base en el mismo índice de cuantificación se introducen al mismo medidor de velocidad. Según se muestra en la Figura 5a, las señales VC [qx (Yl) ] -VC [qx (Y4 ) ] se introducen al medidor de velocidad 42a, las señales VC [q2 (Yl) ] -VC [q2 (Y4 ) ] se introducen al medidor de velocidad 42b y las señales VC [q3 (Yl) ] -VC [q3 (Y4) ] se introducen al medidor de velocidad 42c. De conformidad con lo anterior, se determina una velocidad total para todos los componentes de luminancia que corresponden a un índice de cuantificación particular. Las señales de velocidades determinadas por los medidores de velocidad 42a, 42b y 42c están designados respectivamente como rx(Y), r2 (Y) y r3(Y) y r? (Y) -r3 (Y) se introduce al comparador 44. El comparador 44 también recibe como entrada una señal de una velocidad binaria objetivo predeterminada. En una modalidad preferida, el P1248/99MX comparador 44 utiliza entonces el criterio de selección de error de velocidad absoluta mínimo según se describió en la Ecuación (6) anterior para comparar las velocidades rx (Y) , r2 (Y) y r3 (Y) con la velocidad binaria objetivo con el fin de elegir la velocidad más cercana a la velocidad binaria objetivo y una señal del índice de cuantificación correspondiente a la velocidad elegida se presenta al selector 46. El selector 46 también recibe como entrada los coeficientes codificados a longitud variable VC [qx (Y1-Y4 ) ] , VC[q2(Yl-Y4)] y VC[q3 (Y1-Y4) ] . El selector 46 selecciona entonces los cuatro componentes de la entrada de luminancia que se cuantificaron mediante el índice de cuantificación seleccionado y presenta estos cuatro componentes al compensador de velocidad 48 para la transmisión . Refiriéndonos a la Figura 5b, puede observarse que el componente de crominancia Cx se procesa en forma similar a los componentes de luminancia, con la excepción de cada uno de los medidores de velocidad 50a-50c que necesitan solamente determinar la velocidad de datos de un solo componente Cl r no de los cuatro componentes de luminancia. El medidor de velocidad 50a recibe como entrada los coeficientes codificados a longitud variable VCtq^C^] correspondientes al índice de cuantificación qx y genera la velocidad de datos r^C^ como salida. De manera similar, los medidores de P1248/99MX velocidad 50b y 50c reciben como entradas los coeficientes de longitud variable VC[q2(Cl)] y VC[q3(Cl)] que corresponden a los índices de cúantificación q2 y q3, respectivamente y generan velocidades de datos r2(Ct) y r3(C1) como salida. Las señales indicadoras de las velocidades x1 (C1) -r3 (C-¡_ ) se introducen al comparador 52. El comparador 52 puede utilizar nuevamente el criterio de selección de error de velocidad absoluta mínimo de la Ecuación (6) anterior para elegir la velocidad más cercana a la velocidad binaria objetivo y presentar al selector 54 una señal del Índice de cuantificación correspondiente a la velocidad seleccionada. El selector 54 selecciona entonces de los tres componentes Cl r VCtq^C^]-VC[q3(C1)], al componente Cx cuantificado por el índice de cuantificación seleccionado para presentarlo al compensador de velocidad 56 para la transmisión. Refiriéndonos ahora a la Figura 5c, puede observarse que el componente C2 también se procesa en forma similar al componente C¡-_ . Nuevamente, cada medidor de velocidad 58a-58s determina la velocidad de datos asociada a cada una de las tres flujos codificados a longitud variable VC[q1(C2)], VC[q2(C2)] y VC[q3(C2)]. Las velocidades, designadas rx (C2) -r3 (C2) , se introducen al comparador 60. En una modalidad preferida, el comparador 60 elige de las velocidades rx (C2) -r3 (C2) la velocidad más cercana a la velocidad P1248/99MX binaria objetivo con base en el criterio de selección de error de velocidad absoluto de la Ecuación (6) anterior y presenta al selector 62 una señal del Índice de cuantificación correspondiente a la velocidad elegida. El selector 62 selecciona los coeficientes codificados a longitud variable producidos de conformidad con el índice de cuantificación seleccionado y presenta la señal de los coeficientes seleccionados al compensador de velocidad 64 para la transmisión. Debe comprenderse que aunque las Figuras 5a-5c muestran comparadores 44, 52 y 60, como tres bloques separados, los tres bloques pueden combinarse de modo que un solo comparador recibe como entrada a las tres señales r?(Y)-r3(Y), rx (Cx) -r3 (Cx) y rx (C2) -r3 (C2) . El comparador único también recibe como entrada una velocidad binaria objetivo total. Del mismo modo, los selectores 46, 54 y 62 pueden combinarse como un solo selector que recibe como entrada al índice o índices seleccionados desde el comparador único y recibe como entrada todos los coeficientes de longitud variable VC[q1(Yl)]-VC[q1(Y4)] VC [qx (Cx) ] -VC [q3 (Cx) ] y VC[q?(C2)]-VC[q3(C2)]. Además, el selector único puede enviar todos los componentes seleccionados hacia un compensador de velocidad combinado en vez de a los tres compensadores de velocidad 48, 56 y 64. El comparador único y el selector único pueden P1248/99MX utilizar varias reglas de decisión para seleccionar los flujos de coeficientes de longitud variable para la transmisión. En una modalidad preferida, las 27 combinaciones posibles de la suma ri (Y) + rj(Cl) + rk(C2), (1 < i < 3, 1 < j < 3, 1 < k < 3) se comparan cada una con la velocidad binaria objetivo total. Se determina la suma que esté más cercana a la velocidad binaria objetivo total o aquella que reduzca al mínimo el error de velocidad codificada absoluto. Entonces, al selector único se suministra una señal indicadora de los tres índices de cuantificación correspondientes a la suma, el selector selecciona los componentes que se han cuantificado mediante los tres índices de cuantificación y presenta estos componentes al compensador de velocidad durante la preparación para la transmisión. Como un ejemplo, las velocidades r2(Y), r1(C1) y r1(C2), pueden sumarse hasta un valor que esté más cercano a la velocidad binaria objetivo total. El comparador único presenta entonces los índices de cuantificación q2 para los componentes Y, qx para el componente C± y q2 para el componente C2 al selector único. El selector único selecciona entonces las señales VC [q2 (Y1-Y4 ) ] , y VC[q1(C2)] y presenta estas señales al compensador de velocidad para la transmisión. Al igual que para el video de luminancia, un controlador de velocidad para procesar video a color P1248/99MX necesita actualizar los índices de cuantificación para procesar al siguiente segmento de video. Nuevamente, los índices actualizados están basados en un modelo de Índice de cuantificación contra velocidad derivada del índice de cuantificación y los datos de velocidad del segmento de video presente. Refiriéndonos ahora a la Figura 6, el elemento 66 de actualización del índice de cuantificación produce índices de cuantificación q?'-q3' para el siguiente segmento de video con base en dos entradas. Una entrada es una señal de la velocidad binaria objetivo actualizada. En una modalidad preferida, la velocidad binaria objetivo es una velocidad binaria objetivo total para todos los componentes de luminancia y crominancia, producidos por el elemento 68 de actualización de velocidad binaria total objetivo. Otra entrada es una señal de los parámetros (b y m) del modelo de velocidad contra índice de cuantificación derivado por el elemento de modelo 70. En la modalidad preferida, el elemento de modelo 70 deriva un modelo compuesto para todos los componentes sde luminancia y crominancia. La operación de la modalidad preferida del elemento de modelo 70 puede comprenderse mejor con referencia a las Figuras 7a-7d junto con la Figura 6. Según se muestra en la Figura 6, el elemento de modelo 70 comprende tres elementos de modelo componentes designados elemento de modelo Y 72, elemento de modelo P1248/99MX Cx 74 y elemento de modelo C2 76. Los tres elementos de componente derivan modelos de componente a partir de los cuales se deriva el modelo compuesto mediante el elemento de modelo compuesto 78. Cada elemento de modelo componente deriva un modelo exponencial de índice de cuantificación contra velocidad para el componente basado en los índices de cuantificación utilizados y sus correspondientes velocidades del segmento de entrada presente. El elemento de modelo Y 72, recibe como entrada tres conjuntos de puntos de datos (qx(Y), rx(Y)), (q2(Y), r2(Y)) Y (q3(Y)r r3(Y)), designados mediante (q.¡_(Y), r¿(Y)) en la Figura 6. Las velocidades de datos r¿(Y) se refieren a las velocidades totales de la codificación de todos los cuatro componentes de luminancia de un segmento de entrada de video de los tres índices de cuantificación. Los tres conjuntos de puntos de datos se utilizan para derivar al modelo exponencial del componente Y ilustrado en la Figura 7a, de conformidad con las anteriores Ecuaciones (7) -(10). El elemento de modelo Cx 74 recibe como entrada tres conjuntos de puntos de datos (q?(Cx), rj Ci)), (q2(C1), r^C- ) y (q^C , r3(Ci)), designados mediante (q^C- , ^(0^) en la Figura 6. Los puntos de datos son los índices de cuantificación utilizados para el componente Cx y las velocidades de datos que resultan del uso de los índices de cuantificación. Los tres P1248/99MX conjuntos de puntos de datos se utilizan para derivar al modelo exponencial de componente Cl r ilustrado en la Figura 7b, nuevamente de conformidad con las anteriores Ecuaciones (7) -(10). Entonces, con base en el modelo, se estiman las velocidades a los índices de cuantificación presentes para el componente Y. En la Figura 7b, q2(Cx) se ha fijado igual a q2 (Y) , de modo que r2(C]_) con base en q2 (Y) sigue siendo r2(C1) . Sin embargo, se derivan los estimados de r^C^ con base en q?(Y) y r3(C1) con base en q3 (Y) . De manera similar, el elemento de modelo C2 76 recibe como entrada tres conjuntos de puntos de datos (q?(C2), r?(C2)), (q2(C2), r2(C2)) y (q3 (C2) , r3(C2)), designados mediante (q?(C2), ri(C2)) en la Figura 6. Los puntos de datos son los índices de cuantificación utilizados para el componente C2 y resultan las velocidades de datos del uso de los índices de cuantificación. Estos tres conjuntos de puntos de datos se utilizan para derivar al modelo exponencial de componente C2 ilustrado en la Figura 7c, de conformidad con las anteriores Ecuaciones (7) -(10) . También, se estiman las velocidades a los Índices de cuantificación presentes para el componente Y con base en el modelo de componente C2. De este modo se estima rx(C2) con base en qx(Y), r2 (C2) con base en q2 (Y) y r3(C2) con base en q3(Y). En la Figura 7b, q2(C2) = q2 (Y) , de modo que r2(C2) con base en q2 (Y) sigue siendo r2(C2) .
P1248/99 X De los tres modelos de componente, se deriva un modelo compuesto. El modelo compuesto se basa en tres conjuntos de puntos de datos: (qx(Y), r1(total)), (q2(Y), r2 (total)) y (q3(Y), r3 (total)). Las velocidades totales se determinan de conformidad con las siguientes ecuaciones: r (total) = rx(Y) + r^C basada en q?(Y) + rx(C2) basada en q?(Y); (15) r2 (total) = r2(Y) + r2 ( C?) basada en q2(Y) + r2(C2) basada en q2(Y); (16) r3 (total) = r3(Y) + r^C^ basada en q3(Y) + r3(C2) basada en q3 (Y) ; (17) El modelo compuesto se ilustra en la Figura 7d.
Nuevamente, se utiliza un modelo exponencial de conformidad con las Ecuaciones (7) para derivar al modelo. Además, se utiliza la solución por mínimos cuadrados al modelo, según se define en las Ecuaciones (9) -(10), para derivar los parámetros del modelo b (total) y m(total) . Según se mencionó anteriormente, las señales de b (total) y m(total) se introducen al elemento 66 de actualización del índice de cuantificación . La otra entrada hacia el elemento 66 de actualización del índice de cuantificación, la velocidad binaria total objetivo actualizada, se deriva mediante el elemento 68 de actualización de velocidad binaria total objetivo con base en el estado del P1248/99MX compensador de velocidad después del procesamiento del segmento de señal de entrada presente. Refiriéndonos nuevamente a las Figuras 5a-5c, puede observarse que los componentes seleccionados Y, Cx y C2 se presentan a los compensadores de velocidad 48, 56 y 64 antes de la transmisión a través del canal de comunicaciones. Según se describió anteriormente, aunque los compensadores de velocidad 48, 56 y 64 se muestran como tres compensadores de velocidad separados, debe comprenderse que puede haber solamente un compensador de velocidad compartido entre todos los componentes. En la modalidad ilustrada en la Figura 6, un solo compensador de velocidad 80 recibe todos los componentes Y, Cx y C2 seleccionados. El indicador 82 del estado del compensador de velocidad determina entonces el estado del compensador de velocidad (BFk) después de procesar el segmento de entrada de video presente con base en la anterior ecuación (11) . El estado del compensador de velocidad BFk se suministra al elemento 68 de actualización de velocidad binaria total objetivo, que deriva la velocidad binaria objetivo actualizada NTk basada en la anterior ecuación (12). El elemento 68 de actualización de velocidad binaria total objetivo suministra entonces la velocidad binaria objetivo actualizada NTk al elemento 66 de actualización del índice de cuantificación. Habiéndose obtenido en entradas de b (total), P1248/99MX m(total) y de la velocidad binaria total objetivo actualizada, el elemento 66 de actualización del índice de cuantificación está listo ahora para seleccionar los índices de cuantificación actualizados para procesar al siguiente segmento de entrada de video. Se seleccionarán tres Índices de cuantificación para cada componente Y, Cx y C2. Para el componente y, los índices de cuantificación actualizados serán preferidos como q ' (Y)-q3' (Y), para el componente Cl r los índices de cuantificación actualizados serán referidos como q * (C1)-q3t (Cx) y para el componente C2, los índices de cuantificación actualizados serán referidos como q?* (C2)-q3' (C2) . En una modalidad preferida, el algoritmo de actualización selecciona al mismo índice de cuantificación medio para todos los componentes Y, C1 y C2. El índice de cuantificación q2 ' (Y) se selecciona de conformidad con la anterior Ecuación (14) . Los índices de cuantificación Cx y C2, medios para los componentes q2 ' (Cx) y q2 ' (C2) se fijan iguales a q2 ' (Y) . Entonces, el método de dos anclas antes descrito se utiliza para fijar qx ' (Y) y q3 ' (Y) para todos los componentes de luminancia. Los otros índices de cuantificación Cx y C2 se seleccionan de modo que sean diferentes y para que tengan una diferencia de dispersión absoluta de los índices de cuantificación q2 ' (C2) y q2 ' (C2) , respectivamente. Estos índices de cuantificación P1248/99MX actualizados se presentan entonces al codificador 12 (Figura 1) para ser utilizados para cuantificar al siguiente segmento de señal de entrada. La previa descripción de las modalidades preferidas se proporciona para permitir que cualquier persona experimentada en la técnica prepare o utilice la presente invención. Las diversas modificaciones a estas modalidades serán fácilmente evidentes para aquéllos experimentados en la técnica y los principios genéricos definidos en la presente pueden aplicarse a otras modalidades sin el uso de la facultad inventiva. De este modo, no se pretende que la presente invención esté limitada a las modalidades aquí mostradas sino que esté de conformidad con el alcance más amplio consistente con los principios y particularidades novedosas reveladas en la presente.
P1248/99MX

Claims (39)

  1. NOVEDAD DE LA INVENCIÓN Habiendo descrito el presente invento, se considera como una novedad y, por lo tanto, se reclama como propiedad lo contenido en las siguientes REIVINDICACIONES : 1. En un sistema de comprensión de imagen, un sub-sistema para controlar en forma adaptable la velocidad binaria codificada de una señal de video, que comprende : un medio de codificador para recibir un segmento de señal de video y generar una pluralidad de flujos codificados de bits de datos de conformidad con un conjunto predeterminado de ajustes de cuantificación; y un medio controlador de velocidad para recibir la pluralidad de flujos codificados y generar un flujo codificado seleccionado de conformidad con un algoritmo de selección predeterminado. 2. El sub-sistema según la reivindicación 1, en donde el medio codificador comprende: una pluralidad de cuantificadores, cada uno de los cuantificadores es para la recepción del segmento de entrada de datos y para la cuantificación del segmento de entrada de datos de conformidad con uno de los ajustes de cuantificación para generar un flujo de datos cuantificado; una pluralidad de codificadores de longitud
  2. P1248/99 X variable, cada uno para recibir a uno de los flujos cuantificados y para codificar el flujo cuantificado recibido de conformidad con un algoritmo de codificación de longitud variable para generar una de los flujos codificados de bits de datos.
  3. 3. El sub-sistema según la reivindicación 1, en donde el medio codificador comprende además un medio medidor de velocidad para recibir la pluralidad de flujos codificados y para determinar una velocidad binaria correspondiente a cada una de la pluralidad de flujos codificados, las velocidades binarias dependerán de los ajustes de cuantificación.
  4. 4. El sub-sistema según la reivindicación 1, en donde el medio controlador de velocidad comprende un medio de actualización para generar un conjunto actualizado de ajustes de cuantificación de conformidad con el estado del medio controlador de velocidad después de generar el flujo codificado seleccionado.
  5. 5. El sub-sistema según la reivindicación 3, en donde el medio controlador de velocidad comprende un medio selector para recibir la pluralidad de flujos codificados y las correspondientes velocidades binarias y para generar el flujo codificado seleccionado de conformidad con el criterio de selección predeterminado, el criterio de selección predeterminado estará basado en las velocidades binarias.
  6. 6. El sub-sistema según la reivindicación 5, P1248/99 X en donde el medio controlador de velocidad comprende además : un compensador para recibir el flujo codificado seleccionado durante la preparación para la transmisión, el compensador tiene un estado de compensador como resultado de haber recibido el flujo codificado seleccionado; y un medio de actualización para generar un conjunto actualizado de ajustes de cuantificación de conformidad con el estado del compensador.
  7. 7. El sub-sistema según la reivindicación 2, en donde el algoritmo de codificación de longitud variable comprende codificación Huffman.
  8. 8. El sub-sistema según la reivindicación 2, en donde el algoritmo de codificación de longitud variable comprende la codificación de longitud de corrida de ceros seguida por la codificación Huffman.
  9. 9. El sub-sistema según la reivindicación 6, en donde cada uno de los ajustes de cuantificación comprende una función de mascarilla de ponderación generada de conformidad con un índice de cuantificación .
  10. 10. El sub-sistema según la reivindicación 9, que comprende además un elemento de modelo parar recibir los índices de cuantificación y las velocidades binarias y para derivar un modelo de índice de cuantificación contra velocidad de conformidad con los P1248/99MX índices de cuantificación y las velocidades binarias; en donde el medio de actualización recibe además los parámetros del modelo y genera el conjunto actualizado de ajuste de cuantificación de conformidad con los parámetros del modelo.
  11. 11. El sub-sistema según la reivindicación 10, en donde el modelo es un modelo exponencial.
  12. 12. El sub-sistema según la reivindicación 5, en donde el criterio de selección predeterminado utilizado por el medio selector reduce al mínimo el error de velocidad codificada absoluto basado en una velocidad binaria objetivo predeterminada.
  13. 13. El sub-sistema según la reivindicación 1, que comprende además un pre-procesador para recibir un bloque de datos de pixel y para efectuar una operación de transformada de coseno discreto (DCT) en el bloque de datos de pixel para generar un bloque de valores de coeficientes de DCT que se presenta al codificador como el segmento de la señal de video.
  14. 14. El sub-sistema según la reivindicación 10, en donde el criterio de selección predeterminado utilizado por el medio selector reduce al mínimo un error de velocidad codificado absoluto con base en una velocidad binaria objetivo predeterminada; y en donde el medio de actualización genera P1248/99MX además una velocidad binaria objetivo actualizada de conformidad con el estado del compensador.
  15. 15. El sub-sistema según la reivindicación 14, en donde la velocidad de bis objetivo actualizado se genera además de conformidad con un nivel de plenitud del compensador objetivo.
  16. 16. El sub-sistema según la reivindicación 15, en donde el medio de actualización genera un conjunto actualizado de índices de cuantificación de conformidad con el modelo.
  17. 17. El sub-sistema según la reivindicación 16, en donde uno del conjunto actualizado de índices de cuantificación se genera al resolver el índice de cuantificación correspondiente a la velocidad binaria objetivo actualizada y los otros del conjunto actualizado de índices de cuantificación se generan con base en un método de una ancla.
  18. 18. El sub-sistema según la reivindicación 16, en donde uno del conjunto actualizado de índices de cuantificación se genera al resolver el índice de cuantificación correspondiente a la velocidad binaria objetivo actualizada y los otros del conjunto actualizado de índices de cuantificación se generan con base en un método de dos anclas .
  19. 19. El sub-sistema según la reivindicación 1, en donde la señal de video es una señal de video a color . P1248/99MX
  20. 20. El sub-sistema según la reivindicación 10, en donde el segmento de la señal de video es una señal de video a color con componentes de luminancia y crominancia; en donde cada uno de los componentes de luminancia y crominancia se cuantifica en forma separada mediante la pluralidad de cuantificadores correspondientes a los índices de cuantificación para generar flujos de datos cuantificados; en donde los codificadores de longitud variable generan la pluralidad de flujos codificados de bits de datos para cada uno de los componentes de luminancia y crominancia; en donde el medidor de velocidad determina las velocidades binarias para cada uno de los flujos codificados de cada uno de los componentes de luminancia y crominancia; en donde el elemento de modelo genera además un modelo de componente para cada uno de los componentes de luminancia y crominancia, con base en los índices de cuantificación y a las velocidades binarias para cada uno de los componentes; y en donde el modelo del índice de cuantificación contra velocidad es un compuesto de los modelos de componente.
  21. 21. El sub-sistema según la reivindicación P1248/99MX 20, en donde el medio selector recibe los flujos codificados y las velocidades binarias de los componentes de luminancia y crominancia y genera flujos codificados seleccionados para los componentes de luminancia y crominancia basados en la combinación de componentes de luminancia y crominancia cuyas velocidades reducen al mínimo el error de velocidad codificada absoluto con base en una velocidad binaria objetivo predeterminada.
  22. 22. El sub-sistema según la reivindicación 21, en donde el medio de actualización genera ajustes de cuantificación actualizados para cada uno de los componentes de luminancia y crominancia.
  23. 23. Un método para controlar en forma adaptable la velocidad de bis codificada de una entrada de video para la compresión de imagen, que comprende los pasos de: codificar un segmento de video de conformidad con un conjunto predeterminado de ajustes de cuantificación para generar una pluralidad de flujos codificados de bits de datos; y seleccionar un flujo codificado seleccionado de conformidad con un algoritmo de seleccionar predeterminado .
  24. 24. El método según la reivindicación 23, en donde el paso de codificar comprende los pasos de: cuantificar al segmento de señal de video para P1248/99MX generar una pluralidad de flujos cuantificados, cada una de la pluralidad de flujos cuantificados se cuantifica de conformidad con uno de los ajustes de cuantificación; y codificar a longitud variable cada una de la pluralidad de flujos cuantificados utilizando un algoritmo de codificación de longitud variable para generar una correspondiente pluralidad de flujos cuantificados .
  25. 25. El método según la reivindicación 23, que comprende además los pasos de: generar una señal de control con base en el flujo cuantificado seleccionado; y actualizar los ajustes de cuantificación de conformidad con la señal de control.
  26. 26. El método según la reivindicación 24, que comprende además los pasos de: determinar una velocidad binaria codificada para cada una de la pluralidad flujos cuantificados codificados; almacenar el flujo codificado seleccionado en un compensador durante la preparación para la transmisión; y en donde el criterio de selección predeterminado está basado en las velocidades binarias codificadas; y en donde la señal de control es una señal del P1248/99MX estado del compensador indicativa del estado del compensador después de recibir el flujo codificado seleccionado .
  27. 27. El método según la reivindicación 24, en donde el algoritmo de codificación de longitud variable comprende codificación Huffman.
  28. 28. El método según la reivindicación 24, en donde el algoritmo de codificación de longitud variable comprende la codificación de longitud de corrida de ceros seguida por la codificación Huffman.
  29. 29. El método según la reivindicación 26, en donde cada uno de los ajustes de cuantificación comprende una función de mascarilla de ponderación generada de conformidad con un índice de cuantificación.
  30. 30. El método según la reivindicación 28, que comprende además los pasos de: derivar un modelo de índice de cuantificación contra velocidad de conformidad con los índices de cuantificación y con las velocidades binarias codificadas; y actualizar los ajustes de cuantificación adicionalmente de conformidad con los parámetros del modelo .
  31. 31. El método según la reivindicación 30, en donde el modelo es un modelo exponencial.
  32. 32. El método según la reivindicación 24, que P1248/99MX comprende además el paso de recibir un bloque de datos de pixel y efectuar una operación de transformada de coseno discreto (DCT) en el segmento de datos de pixel para generar un bloque de coeficientes de DCT que es el segmento de la señal de video.
  33. 33. El método según la reivindicación 30, en donde el criterio de selección predeterminado para seleccionar el flujo codificado a longitud variable reduce al mínimo el error de velocidad codificada absoluto con base en una velocidad binaria objetivo predeterminada; y que comprende además el paso de actualizar el paso de actualizar la velocidad binaria objetivo de conformidad con el estado del compensador.
  34. 34. El método según la reivindicación 33, que comprende además el paso de generar un conjunto actualizado de índices de cuantificación al resolver el índice de cuantificación correspondiente a la velocidad binaria objetivo actualizada de conformidad con el modelo.
  35. 35. El método según la reivindicación 34, en donde uno del conjunto actualizado de índices de cuantificación se genera al resolver el índice de cuantificación -correspondiente a la velocidad binaria objetivo actualizada y los otros del conjunto actualizado de índices de cuantificación se generan con base en un método de una ancla. P1248/99 X
  36. 36. El método según la reivindicación 34, en donde uno del conjunto actualizado de índices de cuantificación se genera al resolver el índice de cuantificación correspondiente a la velocidad binaria objetivo actualizada y los otros del conjunto actualizado de índices de cuantificación se generan con base en un método de dos anclas.
  37. 37. El método según la reivindicación 30, en donde la entrada de video es una señal de color con componentes de luminancia y de crominancia; en donde el paso de cuantificar cuantifica en forma separada a los componentes de luminancia y de crominancia; en donde el paso de codificar a la longitud variable genera la pluralidad de flujos codificados para cada uno de los componentes de luminancia y de crominancia; en donde el paso de determinar velocidades binarias codificadas se realiza para cada uno de los componentes de luminancia y crominancia; y en donde el paso de derivar un modelo deriva un modelo de componente para cada uno de los componentes de luminancia y de crominancia, el modelo será un compuesto de los modelos de componente.
  38. 38. El método según la reivindicación '37, en donde el paso de seleccionar selecciona un flujo codificado de componente seleccionada para cada uno de P12 8/99MX los componentes de luminancia y de crominancia con base en la combinación de componentes de luminancia y de crominancia cuyas velocidades reducen al mínimo el error de velocidad codificada absoluto con base en una velocidad binaria objetivo predeterminada.
  39. 39. El método según la reivindicación 38, en donde el paso de actualizar los ajustes de cuantificación, ' genera los ajustes de cuantificación actualizados para cada uno de los componentes de luminancia y de crominancia. P12 8/99MX RESUMEN DE LA INVENCIÓN Se presenta un sistema y un método para controlar en forma adaptable la velocidad de datos codificados en un sistema de compresión de datos. El sistema y el método establecen flujos de bits codificados alternativas para cada segmento de datos y selecciona la alternativa que produce la velocidad binaria más cercana a una velocidad binaria objetivo predeterminada para su transmisión. Cada segmento de la entrada de video se cuantifica mediante un conjunto de cuantificadores (20a-20c) para producir una pluralidad de segmentos cuantificados . Cada segmento cuantificado se codifica a velocidad variable mediante un codificador de longitud variable (22a-22c) con base en un Índice de cuantificación para producir un flujo alternativo de bits codificados. Un conjunto de medidores de velocidad (24a-24c) miden la velocidad de datos que se requeriría para transmitir cada flujo alternativo de bits codificados y el comparador (30) compara las velocidades medidas con una velocidad binaria objetivo predeterminada. El flujo de bits codificados que tiene una velocidad cercana a la velocidad binaria objetivo se suministra a un compensador de velocidad (34) durante la preparación para la transmisión. Habiendo procesado un segmento de datos, el sistema y el método actualizan entonces sus parámetros para procesar el siguiente segmento de P1248/99MX datos. Un elemento (38) de actualización de velocidad binaria objetivo determina una velocidad binaria objetivo, actualizada, con base en la condición del compensador de velocidad. Además, un elemento (36) de actualización del índice de cuantificación genera nuevos índices de cuantificación para procesar al siguiente segmento de datos. P1248/99MX
MXPA/A/1999/003335A 1996-10-11 1999-04-09 Control de velocidad adaptable para la compresionde video digital MXPA99003335A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08731229 1996-10-11

Publications (1)

Publication Number Publication Date
MXPA99003335A true MXPA99003335A (es) 1999-09-01

Family

ID=

Similar Documents

Publication Publication Date Title
CA2268408C (en) Adaptive rate control for digital video compression
US5473377A (en) Method for quantizing intra-block DC transform coefficients using the human visual characteristics
EP0526201B1 (en) Video signal transmission apparatus and method
US6026190A (en) Image signal encoding with variable low-pass filter
AU766868B2 (en) Apparatus, method and computer program product for transcoding a coded moving picture sequence
KR100304103B1 (ko) 비트율이급변되는재양자화계단크기선택방법및그를이용한비트율제어방법
US5892548A (en) Adaptive quantizer with modification of high frequency coefficients
KR100610520B1 (ko) 비디오 데이터 부호화 장치, 비디오 데이터 부호화 방법, 비디오데이터 전송 장치 및 비디오 데이터 기록 매체
EP0804036B1 (en) Image encoding apparatus
JPH0775106A (ja) 適応量子化コーディング装置及びその方法
JP2001512651A (ja) 量子化マトリクスのフレーム毎の計算方法
US20040228538A1 (en) Image information compression device
JPH0879748A (ja) 神経網を用いた量子化ステップサイズ制御装置
JPH09200758A (ja) 画像符号化装置
US5155592A (en) Image processing system
MXPA99003335A (es) Control de velocidad adaptable para la compresionde video digital
KR101069254B1 (ko) H.264를 위한 프레임 단위 비트율 제어 방법
KR100286108B1 (ko) 실시간 처리를 위한 비디오 신호에 대한 비트수 추정방법과왜곡추정방법 및 이것들을 이용한 부호화방법과 그 장치
KR0148150B1 (ko) 영상데이타의 복잡도에 따른 적응양자화스텝사이즈 결정방법 및 그 장치
CA2105209A1 (en) Bit rate control for hybrid dpcm/dct video codec
EP1013095A2 (en) Image signal processing method and apparatus
JPH0583560A (ja) 画像データ符号化装置
JP2001111997A (ja) 映像信号圧縮符号化装置