ES2389718T3 - Descodificación de un bloque de coeficientes de transformada cuantificados, en donde una paridad par de la suma de los coeficientes de transformada cuantificados inversamente es ajustada a una paridad impar - Google Patents

Descodificación de un bloque de coeficientes de transformada cuantificados, en donde una paridad par de la suma de los coeficientes de transformada cuantificados inversamente es ajustada a una paridad impar Download PDF

Info

Publication number
ES2389718T3
ES2389718T3 ES10011642T ES10011642T ES2389718T3 ES 2389718 T3 ES2389718 T3 ES 2389718T3 ES 10011642 T ES10011642 T ES 10011642T ES 10011642 T ES10011642 T ES 10011642T ES 2389718 T3 ES2389718 T3 ES 2389718T3
Authority
ES
Spain
Prior art keywords
block
discrete cosine
cosine transform
parity
transform coefficients
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES10011642T
Other languages
English (en)
Inventor
Teruhiko Suzuki
Yoichi Yagasaki
Tatsuya Sudo
Toru Okazaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26379647&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2389718(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sony Corp filed Critical Sony Corp
Application granted granted Critical
Publication of ES2389718T3 publication Critical patent/ES2389718T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/18Methods 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 set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Discrete Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Television Signal Processing For Recording (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Complex Calculations (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Detection And Correction Of Errors (AREA)
  • Image Processing (AREA)
  • Color Television Image Signal Generators (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Tone Control, Compression And Expansion, Limiting Amplitude (AREA)

Abstract

Un método para descodificar un bloque de coeficientes de transformada cuantificados, que comprende:cuantificar inversamente el bloque de coeficientes de transformada cuantificados, a fin de proporcionar unbloque de coeficientes de transformada;juzgar o determinar la paridad de una suma de los coeficientes de transformada; ycambiar, cuando se determina que la paridad es par, la paridad de al menos uno de los coeficientes detransformada, con el fin de convertir en impar la paridad de la suma de los coeficientes de transformada; yen el cual, cuando la paridad del al menos un coeficiente de transformada es impar, su paridad se cambiasumándole 1.

Description

Descodificación de un bloque de coeficientes de transformada cuantificados, en donde una paridad par de la suma de los coeficientes de transformada cuantificados inversamente es ajustada a una paridad impar.
Las transformadas ortogonales se utilizan en diversas aplicaciones en muchos sistemas de tratamiento digital de señal. Las transformadas ortogonales permiten la realización del tratamiento de señal en el dominio de la frecuencia. La transformada rápida de Fourier (FFT –“Fast Fourier Transform”) y la transformada de coseno discreta (DCT“discrete cosine transform”), etc, son tipos muy conocidos de transformadas ortogonales. Una transformada ortogonal analiza, por ejemplo, un fragmento de una señal en el dominio del tiempo para obtener componentes de frecuencia (que varían dependiendo de la función de transformada ortogonal aplicada) e indican el espectro (es decir, la distribución de energía en función de la frecuencia) del fragmento de señal original en el dominio del tiempo. Tratando de diversos modos las componentes de frecuencia (denominadas usualmente coeficientes de transformada) que resultan de la transformación ortogonal del fragmento de señal, puede reducirse la redundancia del fragmento de señal original. En otras palabras, mediante la transformación ortogonal del fragmento de señal original y el tratamiento de los coeficientes de transformada resultantes, el fragmento de señal original puede representarse con menos bits de los que se han utilizado para representar el fragmento de señal original. Además, realizando la transformada ortogonal inversa de los coeficientes de transformada, puede recuperarse el fragmento de señal original en el dominio del tiempo.
Los aparatos para comprimir una señal de imagen en movimiento y para expandir una señal de imagen en movimiento comprimida, son ejemplos comunes de sistemas de tratamiento de señal digital que utilizan tratamiento de transformada ortogonal.
Es conocido que la potencia de señal de señales que tienen una alta correlación se concentra en las frecuencias más bajas en el dominio de la frecuencia. A medida que aumenta la concentración de potencia de señal en un eje de coordenadas específico (por ejemplo, el eje de frecuencias), puede reducirse progresivamente la redundancia de la señal, y la señal puede comprimirse más eficientemente.
Puesto que una señal de imagen con movimiento está en general altamente correlacionada, tanto espacialmente como en el tiempo, puede aplicarse tratamiento de transformada ortogonal para concentrar la potencia de señal en un eje de coordenadas específico, y la señal de imagen con movimiento puede comprimirse con una alta eficiencia.
Hasta ahora, se ha requerido una cantidad extremadamente grande de información para representar imágenes con movimiento, utilizando, por ejemplo, una señal de video según la norma NTSC. Debido a esto, el registro de una señal de imagen con movimiento ha requerido un medio de registro con una capacidad de almacenamiento muy alta si se desea que el medio proporcione un medio de registro aceptablemente largo. Adicionalmente, la frecuencia de muestreo de información a la cual se registra y se reproduce de tal medio la señal de imagen con movimiento ha sido muy alta. Se han requerido hasta ahora cintas magnéticas o discos ópticos de dimensiones físicas grandes para almacenar señales de imagen con movimiento.
Si se desea registrar una señal de imagen con movimiento sobre un medio de registro más compacto con un tiempo de registro aceptablemente largo, debe aplicarse compresión de señal a la señal de imagen con movimiento para reducir la cantidad de información que es necesario almacenar. Adicionalmente, debe disponerse de un aparato que sea capaz de expandir la señal de imagen con movimiento comprimida reproducida del medio de registro compacto.
Para cumplir los requerimientos que se acaban de describir, han sido propuestos diversos sistemas de compresión de señal de imagen con movimiento que explotan la correlación entre y dentro de las porciones de la señal de imagen con movimiento que representan las imágenes que constituyen la señal de imagen con movimiento. Por ejemplo, los sistemas de compresión de señal de imagen con movimiento propuestos por el Moving Picture Experts Group (MPEG) son ampliamente conocidos. Puesto que el sistema MPEG ha sido descrito ampliamente en diversas publicaciones impresas, no se repetirá en la presente memoria una explicación detallada de dicho sistema.
La siguiente descripción se referirá frecuentemente a una "imagen". Puesto que las técnicas de tratamiento de señal descritas en la presente memoria se refieren al tratamiento de una señal de imagen con movimiento que representa una imagen en movimiento, ha de entenderse que la palabra "imagen", en el sentido en que se utiliza en general en la presente memoria, se refiere a una porción de una señal de imagen con movimiento que representa una imagen de la imagen en movimiento. Además, una señal de imagen con movimiento puede representar una imagen de la imagen en movimiento en la forma de un cuadro o un campo. Salvo indicación en otro sentido, una "imagen" significa un campo o un cuadro.
El sistema MPEG determina primero las diferencias entre las imágenes que constituyen la señal de imagen con movimiento para reducir la redundancia de la señal de imagen con movimiento en el dominio del tiempo. A continuación, el sistema MPEG reduce la redundancia de la señal de imagen con movimiento en el dominio espacial aplicando tratamiento por transformada ortogonal a bloques de diferencias entre imágenes en el dominio del espacio. El sistema MPEG aplica tratamiento por transformada de coseno discreta (DCT –“discrete cosine transform”) como tratamiento de transformada ortogonal. Reduciendo la redundancia tanto en el dominio del tiempo como en el dominio del espacio, la imagen con movimiento es comprimida con una eficiencia extremadamente alta. La señal de imagen con movimiento comprimida resultante del proceso de compresión que se acaba de describir, puede registrarse a continuación sobre un medio de registro, o transmitirse a través de un medio de transmisión adecuado.
Cuando la señal de imagen con movimiento es reproducida del medio de registro, o es recibida del medio de transmisión, se extraen de la señal de imagen con movimiento comprimida los bloques de coeficientes de transformada resultantes de la transformada de coseno discreta. Los coeficientes de transformada son tratados utilizando una transformada ortogonal inversa (una transformada de coseno discreta inversa (IDCT –“inverse discrete cosine transform”) en el sistema MPEG) para recuperar bloques de diferencias entre imágenes en el curso de la reconstrucción de las imágenes en la señal de imagen con movimiento original.
En la figura 1 se muestra un ejemplo del diseño constructivo de un aparato compresor de señal de imagen con movimiento basado en el sistema MPEG. En el compresor ilustrado en la figura 1, se aplica una señal de imagen con movimiento digital al circuito 101 formateador de bloques, donde es convertida de un formato de video normalizado, por ejemplo, un formato de señal de video según la norma NTSC, a un formato de bloques para proporcionar una señal de imagen con movimiento en bloques. En esta técnica, cada imagen de la señal de imagen con movimiento es dividida en el dominio del espacio, es decir horizontal y verticalmente, en macrobloques de, por ejemplo, 16 x 16 elementos de imagen. Los macrobloques son también subdivididos en bloques de 8 x 8 elementos de imagen.
El aparato representado en la figura 1 comprime cada imagen de la señal de imagen con movimiento bloque por bloque hasta que han sido tratados todos los bloques que constituyen la imagen. El aparato trata a continuación otra imagen de la señal de imagen con movimiento, que puede ser o no la siguiente imagen de la secuencia de imágenes que constituyen la imagen en movimiento. En la siguiente descripción del aparato ilustrado en la figura 1, se describirá la compresión de un bloque de elementos de imagen en una imagen. El bloque de elementos de imagen que se está comprimiendo es el bloque de imagen en curso, que es un bloque de la imagen en curso. La señal de imagen con movimiento organizada en bloques se aplica al predictor 102 de movimiento. El predictor 102 de movimiento aplica la imagen en curso, que incluye el bloque S1 de imagen en curso, bloque por bloque al circuito 103 de cálculo de bloques de diferencia.
Cuando el circuito 103 de cálculo de bloques de diferencia recibe el bloque de imagen en curso del predictor 102 de movimiento, recibe también el bloque S2 de adaptación correspondiente al bloque de imagen en curso procedente del predictor 102 de movimiento. El bloque S2 de adaptación se deduce de las imágenes reconstruidas almacenadas en el bloque 112 de memoria de imagen por el predictor 113. El circuito 103 de cálculo de bloques de diferencia determina la diferencia elemento de imagen por elemento de imagen entre el bloque S1 de imagen en curso y su bloque S2 de adaptación correspondiente. El bloque de diferencias resultante, el bloque S3 de diferencias, se aplica al circuito 104 de transformada ortogonal.
El circuito 104 de transformada ortogonal, que es normalmente un circuito de transformada de coseno discreta (DCT), aplica tratamiento de transformada ortogonal al bloque S3 de diferencias, e introduce el bloque resultante de coeficientes de transformada en el cuantificador 105. El cuantificador 105 cuantifica el bloque de coeficientes de transformada para generar un bloque de coeficientes de transformada cuantificados. El codificador 106 de longitud variable somete al bloque de coeficientes de transformada cuantificados generados por el cuantificador 105, a codificación de longitud variable, tal como codificación de Huffman, codificación de longitud de ventana móvil, etc. El bloque resultante de coeficientes de transformada codificados se introduce a continuación, por ejemplo, en una vía de transmisión digital, a través de la memoria intermedia 107 de salida.
Una señal de control que indica el número de bits almacenados en la memoria intermedia 107 de salida, se realimenta al cuantificador 105. El cuantificador 105 ajusta el tamaño de incremento de cuantificación en respuesta a la señal de control para evitar el desbordamiento de la memoria intermedia 107 de salida. Un aumento o disminución de la magnitud del incremento de cuantificación disminuye o aumenta, respectivamente, el número de bits introducidos en la memoria intermedia 107 de salida.
El bloque de coeficientes de transformada cuantificados se transfiere también desde el cuantificador 105 hasta el cuantificador inverso 108, que forma parte del decodificador local utilizado en el compresor para deducir de los coeficientes de transformada cuantificados las imágenes reconstruidas utilizadas en la codificación predictiva. El cuantificador inverso 108 cuantifica inversamente el bloque de coeficientes de transformada cuantificados realizando un tratamiento complementario del tratamiento de cuantificación realizado por el cuantificador 105. El bloque resultante de coeficientes de transformada se suministra al circuito 109 de transformada ortogonal inversa, donde es sometido a transformada ortogonal inversa por tratamiento complementario del tratamiento de transformada ortogonal realizado por el circuito 104 de transformada ortogonal. El bloque S4 de diferencias restaurado resultante es suministrado al sumador 110.
El sumador 110 recibe también el bloque S2 de adaptación correspondiente al bloque S1 de imagen en curso de una de las memorias de imagen del grupo 112 de memorias de imagen seleccionado por el predictor 113. El sumador 110 realiza la suma elemento de imagen por elemento de imagen entre el bloque S4 de diferencias restaurado, generado por el circuito 109 de transformada ortogonal inversa, y el bloque S2 de adaptación procedente del grupo 112 de memorias de imagen para obtener el bloque S5 de imagen reconstruido. El bloque S5 de imagen reconstruido es suministrado a una de las memorias 112A a 112D seleccionada por el selector 111, donde se almacena.
El bloque S5 de imagen reconstruido es almacenado en la memoria de imagen seleccionada, donde forma un bloque (correspondiente al bloque en curso) de la imagen que se está reconstruyendo, bloque por bloque, a partir de los bloques de imagen reconstruida almacenados en la memoria de imagen seleccionada. Cuando está completa, la imagen reconstruida será utilizada para obtener bloques de adaptación para realizar la codificación predictiva para comprimir otras imágenes de la señal de imagen con movimiento.
El predictor 102 de movimiento determina, para cada macrobloque de la imagen en curso, un vector de movimiento entre el macrobloque de las imágenes en curso y diferentes macrobloques de las otras imágenes de la señal de imagen con movimiento almacenados. El predictor 102 de movimiento genera también una suma de los valores absolutos de las diferencias (la "suma de valores absolutos de diferencias") entre los elementos de imagen de cada macrobloque de la imagen en curso y los diferentes macrobloques de las otras imágenes. Cada suma de valores absolutos de diferencias indica el grado de concordancia entre cada macrobloque de la imagen en curso y los macrobloques de las otras imágenes. El predictor 102 de movimiento introduce cada vector de movimiento y su correspondiente suma de valores absolutos de diferencias en el circuito 115 de determinación de modo de predicción.
El circuito 115 de determinación de modo de predicción utiliza los datos recibidos del predictor 102 de movimiento para determinar el modo de predicción que será utilizado para la codificación predictiva de la imagen en curso con relación a una o más de otras imágenes reconstruidas. La imagen en curso puede ser codificada predictivamente utilizando cualquiera de los siguientes modos de predicción:
(1)
Modo intra imágenes, en el cual la imagen se comprime por sí misma, sin referencia a otras imágenes cualesquiera. Una imagen codificada de este modo se denomina imagen I.
(2)
Modo de predicción de avance, en el cual la predicción se realiza con referencia a una imagen reconstruida que se produce anteriormente en la imagen en movimiento. Una imagen codificada de este modo se denomina imagen P.
(3)
Modo de predicción bidireccional, en el cual la predicción bloque por bloque se realiza con respecto a un bloque de referencia deducido de una imagen reconstruida que aparece anteriormente en la imagen en movimiento y una imagen reconstruida que aparece posteriormente en la imagen en movimiento, o realizando una operación lineal elemento de imagen por elemento de imagen (por ejemplo, un cálculo de valor medio) entre una imagen reconstruida anterior y una imagen reconstruida posterior. Una imagen codificada de este modo se denomina imagen B.
En otras palabras, una imagen I es una imagen en la cual se ha completado la codificación intra imágenes dentro de la imagen. Una imagen P se obtiene por predicción a partir de una imagen I o una imagen P que aparecen anteriormente en la imagen en movimiento. Una imagen B se obtiene por predicción bloque por bloque utilizando una imagen I o una imagen P anteriores o posteriores o utilizando un bloque obtenido realizando una operación lineal utilizando una imagen I reconstruida o una imagen P reconstruida que aparecen anteriormente en la imagen en movimiento, y a partir de una imagen I reconstruida o una imagen P reconstruida que aparecen posteriormente en la imagen en movimiento.
El circuito 115 de determinación de modo de predicción proporciona el modo de predicción y el correspondiente vector de movimiento al predictor 113 y al generador 114 de direcciones de lectura. El generador 114 de direcciones de lectura proporciona direcciones de lectura al grupo 112 de memorias de imagen en respuesta al vector de movimiento, cuyas direcciones sirven para hacer que sea leído un bloque de la imagen reconstruida almacenado en cada memoria 112A a 112D de imagen. La posición del bloque de lectura en la imagen reconstruida está designada por el vector de movimiento. El predictor 113 selecciona uno de los bloques de lectura de las memorias 112A a 112D de imagen en respuesta a la señal PM de modo de predicción recibida del circuito 115 de determinación de modo de predicción. El bloque de lectura seleccionado proporciona el bloque S2 de adaptación para el bloque S1 de imagen en curso. Cuando el bloque de imagen en curso forma parte de una imagen B, el predictor realiza también operaciones lineales sobre los bloques de lectura de las memorias 112A a 112D de imagen para proporcionar el bloque de adaptación requerido. El predictor suministra el bloque S2 de adaptación al circuito 103 de cálculo de bloques de diferencia y al sumador 110.
En la figura 2 se muestra un ejemplo del diseño constructivo de un aparato expansor de señal de imagen con movimiento comprimida, basado en el sistema MPEG. En este aparato, la señal de imagen con movimiento comprimida obtenida directamente del compresor o por reproducción de la misma de un medio de registro, es suministrada como cadena de bits a la memoria intermedia 121 de entrada, donde se almacena transitoriamente. La señal digital comprimida incluye bloques de coeficientes de transformada codificados (incluyendo un bloque de coeficientes de transformada codificados que representa el bloque en curso), e información de modo de predicción, información de magnitud de incremento de cuantificación, y un vector de movimiento para cada bloque.
La señal de imagen con movimiento comprimida es leída de la memoria intermedia 121 de entrada por imágenes individuales y es suministrada a un codificador inverso 122 de longitud variable (IVLC –“inverse variable-length coder”). El codificador inverso 122 de longitud variable aplica un tratamiento de codificación inversa de longitud variable a la señal de imagen con movimiento comprimida, y separa la señal de imagen con movimiento comprimida en sus componentes, que incluyen bloques de coeficientes de transformada cuantificados e información de modo de predicción, información de magnitud de incremento de cuantificación, y un vector de movimiento para cada bloque.
Cada bloque de coeficientes de transformada codificados se introduce en el cuantificador inverso 123, que utiliza la información de magnitud de incremento de cuantificación para el bloque para cuantificar inversamente el bloque de coeficientes de transformada cuantificados para proporcionar un bloque de coeficientes de transformada. El circuito 124 de transformada ortogonal inversa aplica un tratamiento de transformada ortogonal inversa, normalmente un tratamiento de transformada de coseno discreta inversa, al bloque de coeficientes de transformada para obtener un bloque de diferencias restaurado. El cuantificador inverso 123 y el circuito 124 de transformada ortogonal inversa aplican, respectivamente, un tratamiento complementario del aplicado por el cuantificador 105 y por el circuito 104 de transformada ortogonal en el compresor representado en la figura 1.
El generador 130 de direcciones de lectura proporciona una dirección de lectura a las memorias 128A a 128D de imagen en respuesta al vector de movimiento correspondiente al bloque en curso recibido del codificador inverso 122 de longitud variable. En respuesta a la dirección de lectura, cada una de las memorias 128A a 128D de imagen lee un bloque de la imagen reconstruida almacenada en las mismas. El predictor 129 selecciona uno de los bloques de lectura de las memorias 128A a 128D de imagen en respuesta a la señal PM de modo de predicción, recibida también del codificador inverso 122 de longitud variable. El bloque de lectura seleccionado proporciona el bloque de adaptación para reconstruir el bloque en curso. Cuando el bloque en curso forma parte de una imagen codificada como imagen B, el predictor realiza también operaciones lineales sobre los bloques de lectura de las memorias 112A a 112D de imagen para obtener el bloque de adaptación. El predictor 129 suministra el bloque de adaptación al sumador 125.
El sumador 125 realiza una suma elemento de imagen por elemento de imagen entre el bloque de diferencias restaurado generado por el circuito 124 de transformada ortogonal inversa, y el bloque de adaptación generado por el predictor 129 para reconstruir el bloque de imagen en curso de la imagen en curso. El selector 126 suministra el bloque de imagen en curso reconstruido para almacenamiento en la memoria de las memorias 128A a 128D de imagen en la cual se está reconstruyendo la imagen en curso. El bloque de imagen en curso reconstruido se almacena en la memoria de imagen seleccionada en la posición del bloque de imagen en curso en la imagen en curso reconstruida. Cuando todos los bloques reconstruidos de la imagen en curso han sido almacenados en la memorias 128A a 128D de imagen seleccionada, la imagen en curso reconstruida está preparada para lectura, y también para ser utilizada como imagen de referencia para reconstruir otras imágenes que aparecen anterior o posteriormente en la imagen en movimiento.
Las imágenes reconstruidas almacenadas en las memorias 128A a 128D de imagen son leídas como señal de imagen con movimiento de salida a través del selector 126 en respuesta a direcciones de lectura generadas por el generador 127 de direcciones de visualización. Un convertidor de exploración (no representado) convierte la señal de imagen con movimiento de salida, leída de las memorias 128A a 128D de imagen, al formato de trama del formato de señal de video deseado, por ejemplo el formato NTSC. La señal de imagen con movimiento de salida resultante puede ser visualizada entonces en un dispositivo de visualización adecuado, por ejemplo un CRT o tubo de rayos catódicos (“cathodic ray tube”), etc. En este ejemplo, el generador 131 de señal de sincronismo está sincronizado con una fuente de sincronismo externa, y genera periódicamente una señal de sincronismo de cuadro para ser aplicada al generador 127 de direcciones de visualización. El generador 127 de direcciones de visualización genera direcciones de lectura en sincronismo con la señal de sincronismo de cuadro.
Los circuitos de transformada ortogonal, por ejemplo los circuitos de transformada de coseno discreta y de transformada de coseno discreta inversa utilizados en el compresor y en el expansor descritos anteriormente, respectivamente, realizan operaciones aritméticas sobre valores de elemento de imagen y coeficientes de transformada representados por números enteros que tienen un número finito de bits. De este modo, las operaciones de transformación ortogonal realizadas por los circuitos de transformada ortogonal pueden truncar el número de bits. Por esta razón, una diferencia en la precisión de la operación de transformada ortogonal utilizando números reales, o una diferencia en la configuración del circuito utilizado para realizar la operación de transformada ortogonal, pueden cambiar el resultado de la operación de transformada ortogonal. Esto puede dar lugar a una desadaptación entre el compresor y el expansor, y a desadaptaciones entre expansores que expanden una señal comprimida común.
Por ejemplo, en el compresor, el bloque de diferencias deducido de la señal de imagen con movimiento es transformado ortogonalmente, y se aplica un tratamiento predeterminado para cuantificar los coeficientes de transformada resultantes en el curso de la generación de la señal de imagen con movimiento comprimida. A continuación, en el expansor, si la precisión de las operaciones con números reales o la configuración del circuito de transformada ortogonal inversa no corresponden a las del compresor, es posible entonces que la salida del expansor difiera de la entrada al compresor. Por tanto, la salida del expansor puede depender de la precisión y de la configuración del aparato utilizado para el expansor.
La precisión operacional o la configuración de una transformada ortogonal inversa pueden variar dependiendo del aparato utilizado para realizar la transformada ortogonal inversa. Por ejemplo, la transformación inversa de un bloque de coeficientes de transformada utilizando dos disposiciones constructivas diferentes del mismo tipo de circuito de transformada ortogonal inversa, puede producir resultados diferentes. Tal diferencia en los resultados se denomina error de desadaptación de transformada ortogonal inversa ("error de desadaptación").
El sistema MPEG define la precisión operacional con la cual han de realizarse la transformada de coseno discreta y la transformada de coseno discreta inversa, pero no define el método operacional ni la configuración. Esto se debe a que los circuitos y métodos para la realización de transformadas de coseno discretas y transformadas de coseno discretas inversas fueron desarrollados antes de establecerse las normas MPEG.
En el sistema MPEG, como se ha descrito anteriormente, el compresor implementa, por ejemplo, la codificación predictiva entre imágenes con compensación de movimiento para obtener la señal de imagen con movimiento. En esta técnica, la señal de imagen con movimiento es dividida en bloques, se obtiene un bloque de diferencias del bloque de imagen en curso, y se obtiene un bloque de adaptación aplicando compensación de movimiento a una imagen reconstruida, el bloque de diferencias es transformado ortogonalmente utilizando el tratamiento de transformada de coseno discreta, los coeficientes de transformada resultantes son cuantificados, los coeficientes de transformada cuantificados son sometidos a codificación de longitud variable, y los coeficientes de transformada codificados son ensamblados con información de modo de predicción, información de magnitud de incremento de cuantificación y vectores de movimiento, para proporcionar la señal de imagen con movimiento comprimida.
El expansor aplica codificación de longitud variable inversa a los coeficientes de transformada codificados, cuantificación inversa a los coeficientes de transformada cuantificados resultantes de la codificación de longitud variable inversa, y tratamiento de transformada de coseno discreta inversa a los coeficientes de transformada resultantes de la cuantificación inversa. El bloque de diferencias restaurado resultante se añade a un bloque de adaptación obtenido aplicando compensación de movimiento a la imagen reconstruida en respuesta al vector de movimiento. El bloque de imagen reconstruido resultante se almacena como bloque de una imagen reconstruida, que proporciona una imagen de la señal de imagen con movimiento de salida, y también está disponible para ser utilizada como imagen de referencia.
El compresor incluye un decodificador local que deduce, de los coeficientes de transformada cuantificados, imágenes reconstruidas para ser utilizadas en la realización de la codificación predictiva. El decodificador local incluye un cuantificador inverso y un circuito de transformada ortogonal inversa.
Si la configuración del circuito de transformada de coseno discreta inversa en el decodificador local es diferente de la del circuito de transformada de coseno discreta inversa utilizado en el expansor, existen casos en los cuales las imágenes reconstruidas generadas por el decodificador local en el compresor son diferentes de las imágenes reconstruidas generadas por el expansor. La dependencia del tratamiento de transformada de coseno discreta inversa de la implementación puede originar problemas cuando la señal de imagen con movimiento comprimida generada por un compresor que cumple la norma MPEG es registrada en un medio de registro, tal como un disco óptico, etc, para distribución al público. Cuando la señal de imagen con movimiento comprimida reproducida del disco óptico es expandida por expansores fabricados y comercializados por diferentes fabricantes, la imagen reconstruida puede ser diferente de la imagen original. Adicionalmente, las diferencias pueden depender del expansor real utilizado. Pueden producirse incompatibilidades similares entre expansores diferentes cuando la señal de imagen con movimiento comprimida es distribuida por un sistema de distribución, tal como un sistema de difusión terrestre o por satélite, un sistema telefónico, un sistema ISDN (Red Digital de Servicios Integrados –“Integrated Services Digital Network”), un sistema de distribución por cable o por fibra óptica, etc.
Los errores de desadaptación son particularmente problemáticos cuando se realiza una codificación predictiva inter imágenes. La codificación predictiva inter imágenes puede ser una codificación inter campos o una codificación inter cuadros. La codificación predictiva inter imágenes puede hacer que los errores de desadaptación se acumulen hasta un punto que produzcan defectos fatales en las imágenes reconstruidas.
En la compresión de señal de imagen con movimiento realizada por el sistema MPEG, cada secuencia de video se divide en Grupos de Imágenes (GOPs –“Groups of Pictures”) de, por ejemplo, ocho o doce imágenes. Cada imagen se clasifica como imagen I, imagen P o imagen B, como se ha descrito anteriormente.
Una imagen B no se utiliza como imagen de referencia para realizar la predicción de movimiento. Por tanto, un error de desadaptación que se produzca en una imagen B no origina errores en otras imágenes.
Cuando se produce un error de desadaptación en una imagen P, la imagen que contiene el error de desadaptación se almacena en la memoria de imagen para ser utilizada en la codificación predictiva. Consiguientemente, cuando se realiza la codificación predictiva inter imágenes, el error contenido en la imagen P almacenada en la memoria de imagen se distribuye gradualmente hacia las imágenes P y las imágenes B deducidas de la misma por la codificación predictiva. El error se acumula hasta que la imagen es sustituida por una imagen I o por una imagen P que no contienen tal error.
Similarmente, cuando se produce un error de desadaptación en una imagen I, la imagen reconstruida que contiene el error de desadaptación se almacena en la memoria de imagen para ser utilizada en la codificación predictiva. Consiguientemente, cuando se realiza la codificación predictiva inter imágenes, el error contenido en la imagen I almacenada en la memoria de imagen se distribuye hacia las imágenes P e imágenes B deducidas de la misma por la codificación predictiva. El error se acumula hasta que la imagen es sustituida por una nueva imagen I que carece de tal error.
La acumulación de error se ilustra en la figura 3. En la figura 3, si el error de desadaptación en la decodificación de una imagen I es EI, y el error de desadaptación en la decodificación de la imagen P P1 es EP1, el valor del error en la imagen P reconstruida P1 es EI + EP1. Adicionalmente, cuando el error de desadaptación en la decodificación de la imagen P P2 es EP2, el valor del error en la imagen P reconstruida P2 es EI + EP1 + EP2. Incluso si los errores de desadaptación individuales son pequeños, la acumulación gradual de estos errores dará lugar a un gran error.
Los errores de desadaptación producidos por el tratamiento de transformada de coseno discreta inversa utilizado en los decodificadores MPEG tanto en el compresor como en el expansor, pueden ser clasificados en dos tipos diferentes:
Tipo (1): Errores resultantes de una precisión de cálculo insuficiente.
Tipo (2): Errores resultantes de diferencias sistemáticas en el redondeo.
La norma MPEG establece un requerimiento para la precisión de las operaciones. Sin embargo, este requerimiento no es tan riguroso que pueda garantizar que no se produzca un error de desadaptación. Por consiguiente, puede producirse un error de desadaptación de tipo (1) entre dispositivos de transformada de coseno discreta inversa cuya precisión de cálculo satisfaga el requerimiento de la norma MPEG.
Las salidas del tratamiento de transformada de coseno discreta inversa son números enteros. Por tanto, después de realizarse el tratamiento de transformada de coseno discreta inversa utilizando números reales, los resultados del tratamiento deben redondearse. En general, los resultados del tratamiento se redondean al número entero más próximo. Sin embargo, se produce un problema cuando el resultado del tratamiento matemático es de la forma *.5, donde * es un número entero. La norma MPEG no define como deberá redondearse un resultado de tratamiento de la forma *.5. Algunos dispositivos de transformada de coseno discreta inversa redondean *.5 hacia arriba, y otros dispositivos de transformada de coseno discreta inversa redondean *.5 hacia abajo. Adicionalmente, existen casos en los cuales el redondeo hacia arriba o el redondeo hacia abajo dependen del signo del resultado del tratamiento. Los errores de desadaptación resultantes de los errores de redondeo sistemáticos que se acaban de describir son errores de desadaptación del tipo (2).
Los errores de desadaptación del tipo (1) difieren de los errores de desadaptación del tipo (2) en que los errores del tipo (1) se producen aleatoriamente, mientras que los errores del tipo (2) son sistemáticos. Debido a que los errores de tipo (1) son aleatorios, los errores positivos y negativos se producen aproximadamente con la misma probabilidad. Por tanto, cuando se realiza la codificación predictiva durante un tiempo largo, puede suponerse que se cancelan los errores de desadaptación de tipo (1).
Por otra parte, puesto que los errores de desadaptación de tipo (2) son sistemáticos y son inherentes al propio tratamiento de transformada de coseno discreta inversa, tales errores tienen coherentemente la misma polaridad. Consiguientemente, cuando se realiza la codificación predictiva durante un tiempo largo, los errores de desadaptación serán acumulativos en una dirección. Aunque cada error de desadaptación de tipo (2) es solamente +1 o -1, si se acumulan muchos errores de desadaptación en una dirección, el error de desadaptación acumulativo será grande.
Puesto que los errores de desadaptación de tipo (1), aunque se generan incidentalmente, se cancelan con el tiempo, dichos errores no presentan relativamente problemas. Por otra parte, puesto que los errores de desadaptación de tipo (2) se acumulan en una dirección, los errores de desadaptación de tipo (2) son problemáticos. Debido a esto, es deseable evitar que se produzcan errores de desadaptación acumulativos del tipo (2).
Ha sido propuesto en el sistema MPEG1 realizar el tratamiento antes de los cálculos de transformada de coseno discreta inversa para evitar que se produzcan errores de desadaptación de tipo (2). El tratamiento ajusta los coeficientes de transformada de todas las componentes a un valor impar, excepto para el coeficiente de transformada de la componente (0,0) de un macrobloque de una imagen codificada según el sistema intra imágenes (un "macrobloque intra"). En un macrobloque intra, la componente (0,0) es la componente continua. Como se muestra en la figura 4, por ejemplo, los coeficientes de transformada de las componentes (0,1), (7,1), (2,3), (5,3), (1,5), (6,5), (3,7) y (4,7) son todos inicialmente iguales a 568. Puesto que este es un número par, el pretratamiento fija los valores de esos coeficientes a un valor impar, por ejemplo 567. Cuando se aplica tratamiento de transformada de coseno discreta inversa a los coeficientes de transformada pretratados, nunca se producen resultados fraccionarios.
Puesto que la componente continua del macrobloque intra es muy importante para el aspecto de la imagen obtenida de la señal de imagen con movimiento comprimida, su precisión está limitada solamente a ocho bits. Dicha magnitud no se somete a conversión a un valor impar, puesto que esto degradaría la precisión de esta componente importante. Por otra parte, todos los coeficientes de transformada resultantes de transformar un macrobloque de una
5 imagen codificada utilizando codificación inter imágenes (un "macrobloque no intra"), se someten a un tratamiento similar al de los coeficientes de transformada de las componentes, que no correspondan a la componente continua, de un macrobloque intra para restringir los coeficientes de transformada solamente a valores impares.
El tratamiento según el cual los valores de los coeficientes de transformada sometidos a tratamiento de transformada de coseno discreta inversa se fijan todos en un valor impar, se denomina tratamiento de conversión a valor
10 impar.
Mediante la aplicación del tratamiento de conversión a valor impar, el tratamiento de transformada de coseno discreta inversa tanto en el compresor como en el expansor realizará el redondeo de acuerdo con una regla común. Esto hará posible mantener una calidad de imagen coherente entre expansores diferentes.
Sin embargo, a pesar del tratamiento de conversión a valor impar descrito anteriormente, los errores de desadapta
15 ción de tipo (2) acumulativos descritos anteriormente se producirán aun en procesadores MPEG, porque el tratamiento de transformada de coseno discreta inversa puede producir aun resultados del tipo *.5, donde * indica un número entero. Las circunstancias que conducen a un resultado de *.5 se describirán a continuación utilizando como ejemplo la transformada de coseno discreta inversa bidimensional de 8 x 8 utilizada en el sistema MPEG.
La transformada de coseno discreta inversa bidimensional de 8 x 8 se expresa mediante la siguiente ecuación:
1 [(2x +1)uxJ][(2y +1)vyJ]f(x, y)= ±7 ±7 C(u)C(v)F(u,v)cos cos
4 16 16
u=0 v=0
u,v,x, y = 0,1,...,7 ... (1)
C(u),C(v)= (u,v=0)
25 = 1(u,v -0)
En la ecuación anterior, F(u, v) indica los coeficientes de la transformada de coseno discreta sometidos a la transformada de coseno discreta inversa bidimensional. En la ecuación (1), cada valor de salida de la transformada de coseno discreta inversa es un número real, es decir un número racional o un número irracional. Debido a que *.5 es
30 un número racional, haciendo que el valor de salida de la transformada de coseno discreta inversa sea un número irracional, se evitará la generación de un error de desadaptación acumulativo. Por otra parte, cuando el valor de salida es un número racional, es posible que el valor de salida sea *.5.
Los coeficientes F(0,0), F(0,4), F(4,0), F(4,4) de la transformada de coseno discreta son coeficientes de transformada de coseno discreta especiales. Cuando cualquiera de estos coeficientes de transformada de coseno discreta
35 tiene un valor no nulo, el valor de salida de la transformada de coseno discreta inversa es un número racional. Los valores de salida de la transformada de coseno discreta inversa en este caso están expresados por la ecuación (2).
f(x,y)= F(0,0)
4 1 2y+1
f(x, y)= F(0,4)cos J
42 4 1 2x+1
40 f(x,y)= F(0,4)cos J
42 4 1 2x+1 2y+1
f(x,y)= F(4,4)cos J cos J
4 44
2x+1 1
... (2)
donde cos J =+_
De este modo, cuando solamente tiene un valor no nulo uno de los coeficientes especiales F(0,0), F(0,4), F(4,0), F(4,4) de transformada de coseno discreta que es múltiplo de 4, pero no múltiplo de 8, el valor de salida es de la 5 forma *.5.
Cuando los cuatro coeficientes especiales de transformada de coseno discreta son los únicos coeficientes con un valor no nulo, el valor de salida de la transformada de coseno discreta inversa está expresado por la ecuación (3).
1 1 2y+1 1 2x+1
F(x,y)= F(0,0)+ F(0,4)cos J + F(4,0)cos J
4 42 442 2
1 2x+1 2y+1
+ F(4,4)cos J cos J ... (3)
4 44
Con diferentes combinaciones de x e y, la función f(x,y) de la ecuación (3) puede tener los siguientes valores:
1 [F(0,0)+ F(0,4)+ F(4,0)+ F(4,4)]8
1 [F(0,0)+F(0,4)-F(4,0)-F(4,4)]8
[F(0,0)-F(0,4)+F(4,0)-F(4,4)] ... (4)8
1 [F(0,0)-F(0,4)-F(4,0)+F(4,4)]8
De este modo, cuando los valores de los cuatro coeficientes especiales son tales que cualquiera de las expresiones establecidas en la ecuación (4) es múltiplo de 4 pero no es múltiplo de 8, se producirá un resultado de la forma *.5.
Así, cuando los cuatro coeficientes especiales tienen valores no nulos, existe una alta probabilidad de que el valor de salida de la transformada de coseno discreta inversa sea de la forma *.5.
20 También, diversos pares simétricos de coeficientes de transformada de coseno discreta con valores no nulos, diferentes de los cuatro coeficientes especiales que se acaban de comentar, pueden producir un valor de salida de la forma *.5:
(1) cuando el par de coeficientes X(2n+1, 2m+1), X(2m+1, 2n+1) tienen los mismos valores no nulos y el valor es múltiplo de 4 pero no múltiplo de 8, o
25 (2) cuando el par de coeficientes X(2n+1, 2n+1), X(8-2n-1, 8-2n-1) tienen los mismos valores no nulos, y el valor es múltiplo de 4 pero no múltiplo de 8.
En las anteriores expresiones, X(i, j) es el coeficiente de transformada de una componente de una transformada de coseno discreta bidimensional de 8 x 8.
Cuando es comprimida una señal de imagen con movimiento real por el compresor de acuerdo con el sistema MPEG, se generan frecuentemente coeficientes de transformada de coseno discreta no nulos en las configuraciones que se acaban de mencionar, que pueden producir un valor de salida de transformada de coseno discreta inversa de la forma *.5. Además, los valores de los cuatro coeficientes especiales son no nulos la mayor parte del tiempo.
Puesto que la causa más común de un resultado *.5 es la combinación de coeficientes de transformada de coseno discreta en la cual los valores de los cuatro coeficientes especiales no son nulos, el hecho de evitar que se produzca un error de desadaptación en respuesta a los cuatro coeficientes especiales reducirá sustancialmente la probabilidad de que aparezca un error de desadaptación.
En la figura 5 se muestra el método de tratamiento mediante el cual se cuantifican inversamente según la norma MPEG1 un macro bloque intra y un macro bloque no intra. En la figura 5, QAC(i, j) es el coeficiente de transformada de coseno discreta de orden (i, j), Wi(i, j) es el elemento de orden (i, j) de una matriz de ponderación, mquant es el coeficiente de cuantificación, y rec(i, j) es el coeficiente de transformada de coseno discreta cuantificado inversamente de orden (i, j). El método de tratamiento está escrito en la sintaxis del lenguaje de programación C. La sintaxis de este lenguaje está expuesta en la divulgación de Herbert Schildt: “Using Turbo C” (Uso del Turbo C), Osborne McGraw Hill (1988), especialmente en las páginas 83-87.
Los coeficientes de transformada de coseno discreta cuantificados son cuantificados inversamente, y los coeficientes de transformada de coseno discreta resultantes son sometidos a continuación a tratamiento de transformada de coseno discreta inversa. Sin embargo, en el sistema MPEG1, a los coeficientes de transformada de coseno discreta que tienen un valor par se les suma +1 o -1 para asegurar que los coeficientes de transformada de coseno discreta sometidos a tratamiento de transformada de coseno discreta inversa tienen todos valores impares. Como resultado de esta operación, por ejemplo, cuando solamente el primero de los cuatro coeficientes especiales F(0,0) tiene un valor no nulo, porque se produce un error de desadaptación cuando F(0,0) es múltiplo de cuatro pero no múltiplo de ocho, si los coeficientes de transformada de coseno discreta se tratan de modo que tengan todos un valor impar, el resultado, cuando el coeficiente de transformada de coseno discreta se somete a tratamiento de transformada de coseno discreta inversa, no puede ser de la forma *.5. Similarmente, cuando solamente uno de los otros cuatro coeficientes especiales F(0,4), F(4,0), F(4,4) tiene un valor no nulo, se producirá un error de desadaptación. Sin embargo, cuando varios de los cuatro coeficientes especiales tienen un valor no nulo, como puede verse por la figura 4, o cuando aparecen pares de coeficientes dispuestos simétricamente, como en los casos
(1) y (2) mencionados anteriormente, el hecho de hacer que todos los coeficientes de transformada de coseno discreta tengan un valor impar no impedirá que se produzca un error de desadaptación.
Por tanto, el proceso de conversión a valor impar del sistema MPEG1 no evitará que se produzca un error de desadaptación acumulativo cuando dos o más de los coeficientes de transformada de coseno discreta tienen un valor no nulo. Además, el tratamiento de conversión a valor impar del sistema MPEG1 reduce en un factor de 2 la resolución de los coeficientes de transformada cuantificados, puesto que no se admiten coeficientes de transformada con valores pares. Esto degrada la calidad de la imagen. Si se requiere una alta calidad de imagen, esto es problemático. Es claramente deseable un modo de evitar error de desadaptación acumulativos mejor que el propuesto en la norma MPEG1.
Es un propósito de esta invención proporcionar un método y un aparato de descodificación para una señal de imagen en movimiento comprimida, en el que se eliminen los errores de desadaptación y las medidas para evitar el error de desadaptación provoquen tan poco deterioro de la calidad de imagen como sea posible.
El propósito de esta invención contempla de manera efectiva y sencilla la evitación de los errores de desadaptación que no podrían ser evitados por la solución convencional.
La invención proporciona un método para descodificar un bloque de coeficientes de transformada cuantificados, el cual comprende: cuantificar inversamente el bloque de coeficientes de transformada cuantificados con el fin de proporcionar un bloque de coeficientes de transformada, juzgar o determinar la paridad de una suma de los coeficientes de transformada; y, cuando se determina que la paridad es par, cambiar la paridad de al menos uno de los coeficientes de transmisión para así convertir a un valor impar la paridad de la suma de los coeficientes de transformada, y en el cual, cuando la paridad del al menos un coeficiente de transformada es par, su paridad se cambia sumándole 1.
La invención proporciona, de manera adicional, un aparato para descodificar un bloque de coeficientes de transformada cuantificados, que comprende: un cuantificador inverso para cuantificar inversamente el bloque de coeficientes de transformada cuantificados, a fin de proporcionar un bloque de coeficientes de transformada; un circuito de determinación de la paridad, destinado a juzgar o determinar la paridad de una suma de los coeficientes de transmisión; y un inversor de la paridad, destinado a cambiar la paridad de al menos uno de los coeficientes de transformada si la paridad determinada por el circuito de determinación de paridad (21) es par, de fin de convertir a un valor impar la paridad de la suma de los coeficientes de transformada, de tal manera que el inversor de paridad se ha configurado para cambiar la paridad del al menos un coeficiente de transformada al sumarle 1 cuando la paridad del coeficiente de transformada es par.
Se describirá ahora el modo en que el invento evita los errores de desadaptación acumulativos. Un examen de la ecuación (4) muestra que se produce desadaptación cuando las expresiones de la ecuación generan un resultado de (2n + 1)/2, donde n es un número entero cualquiera.
La ecuación (4) puede resumirse como:
f(x, y) = 1/8 ACC
donde ACC es la suma de todos los coeficientes.
La configuración de desadaptación más frecuente es:
f(x, y) = 1/8 ACC = (2n +1)/2 = 1/8 (4*(2n +1))
De esta expresión puede deducirse que, si ACC se convierte en un número impar, nunca se producirá un error de desadaptación.
Consiguientemente, este invento utiliza un esquema para cuantificar inversamente los coeficientes de transformada de coseno discreta, y, a continuación, antes del tratamiento de transformada de coseno discreta inversa, para calcular la suma de los coeficientes de transformada de coseno discreta. Si la suma de coeficientes de transformada de coseno discreta tienen valor par (es decir, la paridad de la suma es par), la paridad de uno de los coeficientes de transformada de coseno discreta se cambia para hacer impar la suma de los coeficientes de transformada de coseno discreta (es decir, para hacer impar la paridad de la suma). Es suficiente cambiar solamente la paridad de uno de los coeficientes de transformada de coseno discreta para hacer impar la suma de los coeficientes de transformada de coseno discreta. Además, se cambia la paridad del coeficiente que tiene la menor influencia en el valor de salida de la transformada de coseno discreta inversa. En otras palabras, este invento, al comprobar la paridad de la suma de los coeficientes de transformada de coseno discreta antes del tratamiento de transformada de coseno discreta inversa y, si la paridad de la suma es par, al cambiar la paridad de uno de los coeficientes de transformada de coseno discreta para hacer impar la suma de los coeficientes de transformada de coseno discreta, evita eficazmente la aparición de errores de desadaptación.
Debe hacerse énfasis en que, de acuerdo con el invento, es suficiente cambiar la paridad de solamente uno de los coeficientes de transformada de coseno discreta para hacer impar la suma de los coeficientes de transformada de coseno discreta. El sistema MPEG1 hace impares todos los coeficientes de transformada de coseno discreta, lo cual reduce la resolución de los coeficientes de transformada de coseno discreta sometidos a tratamiento de transformada de coseno discreta inversa en un factor de dos. El procedimiento de evitación de errores de desadaptación de acuerdo con el invento, por otra parte, hace impar la suma de los coeficientes de transformada de coseno discreta de un modo tal que no disminuyen sustancialmente las precisiones de los valores de entrada y salida de la transformada de coseno discreta inversa. Cuando se aplica el método de acuerdo con el invento a un compresor de señal de imagen con movimiento, a un expansor de señal de imagen con movimiento comprimida, o a un aparato para transmitir una señal de imagen con movimiento comprimida, se hace mínima la degradación de la calidad de imagen.
Adicionalmente, cuando se aplica el invento al sistema MPEG, el incremento de cuantificación mínimo puede ser igual a 1, en contraste con el método de la técnica anterior en el cual el incremento mínimo de cuantificación era igual a 2.
Se describirá adicionalmente el invento en lo que sigue de la presente memoria con referencia a la siguiente exposición de realizaciones a modo de ejemplo y a los dibujos que se acompañan, en los cuales:
La figura 1 es un diagrama de bloques que muestra la configuración de un aparato compresor convencional de señal de imagen con movimiento de acuerdo con el sistema MPEG.
La figura 2 es un diagrama de bloques que muestra la configuración de un aparato expansor convencional de señal de imagen con movimiento de acuerdo con el sistema MPEG.
La figura 3 ilustra la secuencia según la cual es comprimida una señal de imagen con movimiento en el sistema MPEG.
La figura 4 muestra ejemplos reales de los valores de coeficientes de transformada de coseno discreta (DCT –“discrete cosine transform”).
La figura 5 ilustra las operaciones de tratamiento utilizadas para cuantificar inversamente tanto macro bloques intra como macro bloques no intra en el sistema MPEG1 convencional.
La figura 6 es un diagrama de bloques que muestra la configuración de una primera realización de un aparato compresor de señal de imagen con movimiento de acuerdo con el invento.
La figura 7 ilustra como se lee un bloque de coeficientes de transformada de coseno discreta utilizando exploración en zigzag.
La figura 8 es un diagrama de bloques de una primera realización práctica del circuito 14 de conversión a valor impar de la suma representado en la figura 6.
La figura 9 es un diagrama de flujo que ilustra el funcionamiento del circuito 14 de conversión a valor impar de la suma representado en la figura 8.
La figura 10A es un diagrama de bloques de una segunda realización del circuito de conversión a valor impar de la suma representado en la figura 6.
La figura 10B muestra una variante de la segunda realización del circuito de conversión a valor impar de la suma representado en la figura 6.
La figura 11 es un diagrama de bloques que muestra una primera realización del inversor de paridad representado en la figura 8.
La figura 12 es un diagrama de bloques de una tercera realización del circuito de conversión a valor impar de la suma representado en la figura 6.
La figura 13 es un diagrama que muestra la configuración de la primera realización de un aparato descompresor de señal de imagen con movimiento comprimida de acuerdo con el invento.
La figura 14 es un diagrama de bloques de un cuantificador inverso y convertidor de suma en número impar incluido en el aparato descompresor de señal de imagen con movimiento comprimida representado en la figura 13.
La figura 15 es un diagrama de temporización que explica el funcionamiento del cuantificador inverso y convertidor de suma en número impar mencionado anteriormente.
La figura 16 es un diagrama de bloques que muestra la configuración de una segunda realización del aparato compresor de señal de imagen con movimiento de acuerdo con el invento.
La figura 17 es un diagrama de bloques que muestra una primera realización del circuito convertidor de suma en número impar correspondiente a la segunda realización del aparato compresor de señal de imagen con movimiento ilustrado en la figura 16.
La figura 18 es un diagrama de bloques que muestra un segundo ejemplo del circuito convertidor de suma en número impar correspondiente a la segunda realización del aparato compresor de señal de imagen con movimiento ilustrado en la figura 16.
La figura 19 es un diagrama de bloques que muestra un tercer ejemplo del circuito convertidor de suma en número impar correspondiente a la segunda realización del aparato compresor de señal de imagen con movimiento representado en la figura 16.
La figura 20 es un diagrama de bloques que representa una realización del inversor de paridad incluido en los circuitos de conversión a valor impar de la suma ilustrados en las figuras 17-19.
La figura 21 es un diagrama de bloques que muestra la configuración de un segundo expansor de señal de imagen con movimiento comprimida a modo de ejemplo de acuerdo con el invento.
Se describirán ahora con referencia a los dibujos ejemplos de un método de transformada de coseno discreta inversa, un aparato de transformada de coseno discreta inversa, un aparato compresor de señal de imagen con movimiento, un aparato descompresor de señal de imagen con movimiento comprimida, y un aparato de transmisión.
El invento se aplica a un sistema de codificación híbrido en el cual se combina la codificación predictiva con compensación de movimiento con el tratamiento de transformada de coseno discreta (DCT –“discrete cosine transform”). El sistema de codificación híbrido se describe en la norma ISO-IEC/JTC1/SC2/WG11 (popularmente denominada MPEG), al que se aplicará el invento definido en las reivindicaciones anexas. La configuración básica del sistema híbrido de codificación MPEG es bien conocida. El informe de la norma VG11 incluye un glosario de términos útil utilizado en la presente memoria.
La codificación predictiva con compensación de movimiento es un método para reducir la redundancia de una señal de imagen con movimiento, explotando la correlación de la señal de imagen con movimiento en el dominio del tiempo. La predicción para compensación de movimiento de la imagen en curso (es decir, la imagen que se está codificando en cada momento) se realiza utilizando otra imagen, ya decodificada, de la señal de imagen con movimiento como imagen de referencia. Los errores resultantes de predicción con compensación de movimiento se incluyen en la señal comprimida junto con un vector de movimiento y un modo de predicción, etc. Esto reduce notablemente la cantidad de información en la señal de imagen con movimiento comprimida que se requiere para representar la imagen en curso.
La señal de error de predicción con compensación de movimiento es comprimida utilizando un compresor de señal que explota la correlación espacial de cada imagen que constituye la imagen en movimiento. El compresor de señal de diferencia incluye típicamente un circuito de transformada ortogonal, tal como un circuito de cálculo de la transformada de coseno discreta, y un cuantificador. La transformada de coseno discreta es una forma de transformada ortogonal que concentra la potencia de la señal en componentes de frecuencia específicas como resultado de la correlación bidimensional intra imágenes (cuadro o campo) de la imagen. De este modo, solamente están incluidos en la señal comprimida, bien sea directamente o después de compresión adicional, los coeficientes concentrados y distribuidos. Esto reduce adicionalmente la cantidad de información en la señal de imagen con movimiento comprimida que se requiere para representar la imagen en curso.
La codificación predictiva con compensación de movimiento inter imágenes puede realizarse entre cuadros de la señal de imagen con movimiento. Alternativamente, si la señal de imagen con movimiento es una señal entrelazada, la codificación predictiva con compensación de movimiento puede realizarse entre campos. Adicionalmente, la codificación predictiva con compensación de movimiento inter imágenes puede conmutarse adaptativamente entre codificación inter cuadros y codificación inter campos, dependiendo de las propiedades de la señal de imagen con movimiento.
1. Primera Realización
En la figura 6 se muestra la configuración práctica del aparato compresor de señal de imagen con movimiento al cual se aplica el invento como se define en las reivindicaciones anexas. En el aparato representado en la figura 6, la señal de imagen con movimiento se divide en imágenes, y es comprimida imagen por imagen. Cada imagen se divide en bloques de imagen, y la imagen se comprime bloque por bloque. El bloque de imagen que se está comprimiendo en cada momento se denominará bloque de imagen en curso. El bloque de imagen en curso es un bloque de una imagen denominada imagen en curso.
La señal de imagen con movimiento, normalmente una señal de video, se suministra al primer grupo 2 de memorias de imagen, en el que se almacenan transitoriamente varias imágenes de la señal de imagen con movimiento. El controlador 3 de memoria controla la lectura de imágenes del primer grupo 2 de memorias de imagen y del segundo grupo 4 de memorias de imagen. El controlador 3 de memoria suministra también la señal SS de iniciación de línea de bloques y la señal BS de iniciación de macrobloque al contador 5 de líneas matriciales/macrobloques. El controlador de memoria suministra estas señales, respectivamente, en sincronismo con cada línea de bloques y cada macrobloque de cada imagen (por ejemplo, la imagen en curso) leída del primer grupo 2 de memorias de imagen para compresión. Una línea de bloques es una fila horizontal de bloques que cubre el ancho de la imagen.
El predictor 6 de movimiento efectúa la predicción de movimiento realizando la adaptación de bloques entre el bloque de imagen en curso y varios bloques de las imágenes anterior y siguiente almacenadas en el primer grupo 2 de memorias de imagen. La adaptación de bloques se realiza utilizando bloques de, por ejemplo, 16 x 16 elementos de imagen. La señal de indicación de imagen de referencia con predicción de movimiento generada por el controlador 3 de memoria, selecciona los bloques de las imágenes anterior y siguiente almacenadas en el primer grupo 2 de memorias de imagen para comprobar su adaptación con el bloque en curso. El predictor 6 de movimiento suministra a un compensador 7 de movimiento, como vector MV de movimiento, la posición de un bloque en una de las imágenes anterior o siguiente almacenadas en el primer grupo 2 de memorias de imagen, para la cual son mínimas las diferencias entre el bloque y el bloque de imagen en curso, es decir los errores de predicción de movimiento.
En respuesta al vector MV de movimiento, el compensador 7 de movimiento hace que sea leído un bloque de cada una de las imágenes reconstruidas almacenadas en el segundo grupo 4 de memorias de imagen como bloque de adaptación potencial. La posición en las imágenes reconstruidas de la que se leen los bloques de adaptación potenciales está especificada por el vector MV de movimiento. La señal de indicación de imagen de referencia con compensación de movimiento generada por el controlador 3 de memoria selecciona entonces uno de los bloques de adaptación potenciales leídos del segundo grupo 4 de memorias de imagen, como bloque de adaptación para el bloque en curso. Las imágenes reconstruidas almacenadas en el segundo grupo 4 de memorias de imagen son imágenes que han sido reconstruidas decodificando localmente los coeficientes de transformada de coseno discreta cuantificados generados por el codificador 9 de bloques de diferencias, que se describirá posteriormente.
La imagen reconstruida, de la cual es seleccionado el bloque de adaptación por la señal de indicación de imagen de referencia con compensación de movimiento, depende del modo de predicción de la imagen en curso. En el modo de predicción de avance, el bloque de adaptación se selecciona de una imagen reconstruida anterior. En el modo de predicción bidireccional, el bloque de adaptación se selecciona de una imagen reconstruida anterior y una imagen reconstruida futura, o bien puede generarse realizando una operación lineal (por ejemplo, cálculo del valor medio) sobre bloques de una imagen reconstruida anterior y una imagen reconstruida futura. Finalmente, cuando la imagen en curso es codificada en el modo de codificación intra imágenes, es decir la imagen es codificada sin predicción, se utiliza un bloque nulo, en el cual todos los valores de elementos de imagen están puestos a cero, como bloque de adaptación. Los bloques de adaptación leídos del segundo grupo 4 de memorias de imagen son modificados adaptativamente de tal modo que se selecciona para cada bloque de la señal de imagen con movimiento un bloque de adaptación que se adapta óptimamente.
El compensador 7 de movimiento selecciona el modo de predicción para cada imagen calculando primero la suma de los valores absolutos de las diferencias elemento de imagen por elemento de imagen entre el bloque de imagen en curso y los bloques de adaptación potenciales generados en los diferentes modos de predicción. A continuación, el compensador 7 de movimiento selecciona el modo de predicción para el cual esta suma es mínima. El compensador 7 de movimiento suministra la señal MM de modo de predicción, que indica el modo de predicción seleccionado, al codificador 17 de longitud variable (que se describirá posteriormente). El compensador 7 de movimiento hace también que el segundo grupo 4 de memorias de imagen suministre al circuito 8 generador de diferencias el bloque S2 de adaptación correspondiente al modo de predicción seleccionado.
El circuito 8 generador de diferencias recibe también el bloque S1 de imagen en curso de la señal de imagen con movimiento leída del primer grupo 2 de memorias de imagen, y calcula las diferencias elemento de imagen por elemento de imagen entre el bloque S1 de imagen en curso y el bloque S2 de adaptación. El circuito 8 generador de diferencias suministra al codificador 9 de bloques de diferencias el bloque S3 de diferencias resultante. El codificador 9 de bloques de diferencias comprime el bloque S3 de diferencias para formar el bloque SC de coeficientes de transformada cuantificados. El bloque SC de coeficientes de transformada cuantificados es suministrado al decodificador local 10, en el que es expandido para proporcionar el bloque S4 de diferencias recuperado. El decodificador local 10 del aparato compresor de señal de imagen con movimiento tiene una configuración similar a la del aparato expansor de señal de imagen con movimiento comprimida, que se describirá posteriormente, pero difiere en los detalles.
Se describirán ahora el codificador 9 de bloques de diferencias y el decodificador local 10.
El codificador 9 de bloques de diferencias comprende el circuito 11 de transformación de coseno discreta y el cuantificador 12, como se muestra en la figura 6. El circuito 11 de transformación de coseno discreta utiliza tratamiento de transformada de coseno discreta para transformar ortogonalmente el bloque S3 de diferencias proporcionado por el circuito 8 generador de diferencias. El circuito 11 de transformación de coseno discreta suministra el bloque resultante de coeficientes de transformada de coseno discreta al cuantificador 12. El cuantificador 12 cuantifica el bloque de coeficientes de transformada de coseno discreta para proporcionar el bloque SC de coeficientes de transformada cuantificados.
El decodificador local 10 comprende el cuantificador inverso 13, el circuito 14 de conversión a valor impar de suma y el circuito 15 de transformada de coseno discreta inversa, como se muestra en la figura 6. El cuantificador inverso 13 utiliza una tabla de cuantificación para cuantificar inversamente el bloque SC de coeficientes de transformada cuantificados generado por el cuantificador 12. El circuito 14 de conversión a valor impar de suma realiza una operación de inversión de paridad sobre el bloque resultante de coeficientes de transformada de coseno discreta cuando la suma de los mismos no es un número impar. Esto evita que se produzca un error de desadaptación cuando el bloque de coeficientes de transformada de coseno discreta cuya suma se ha convertido en un valor impar es sometido a transformada ortogonal inversa. El circuito 15 de transformada de coseno discreta inversa (IDCT – “inverse discrete cosine transform”) realiza un tratamiento de transformada de coseno discreta inversa sobre el bloque de coeficientes de transformada de coseno discreta cuya suma ha sido convertida en un valor impar y que son generados por el circuito 14 de conversión a valor impar de suma, para proporcionar un bloque de diferencias recuperado.
Se describirá ahora la cuantificación realizada por el cuantificador 12. Cada bloque de coeficientes de transformada de coseno discreta de 8 x 8 es cuantificado. Cada bloque de una imagen comprimida en el modo de codificación intra imágenes (una imagen I) se denomina macrobloque intra. Cada bloque comprimido en un modo de codificación inter imágenes se denomina macrobloque no intra. Cuando es transformado ortogonalmente un macrobloque intra, el coeficiente de transformada de coseno discreta de la componente (0,0) es el coeficiente de continua. El coeficiente de continua es cuantificado dividiendo por 8 dicho coeficiente, con redondeo, cuando se cuantifica con una precisión de ocho bits, por 4 cuando se cuantifica con una precisión de nueve bits, por 2 cuando se cuantifica con una precisión de diez bits, y por 1 cuando se cuantifica con una precisión de once bits. La componente continua de un macro bloque intra se cuantifica de acuerdo con las siguientes ecuaciones, que están escritas en la sintaxis del lenguaje de programación C:
QDC = dc // 8 (8 bits)
QDC = dc // 4 (9 bits)
QDC = dc // 2 (10 bits) ... (5)
QDC = dc // 1 (11 bits) donde dc es el coeficiente de continua y QDC es el coeficiente de continua cuantificado. Los coeficientes de transformada de coseno discreta, diferentes del coeficiente de continua, resultantes de transformar ortogonalmente un macrobloque intra (las "componentes de alterna"), son cuantificados determinando los factores de cuantificación ac-(i,j) por ponderación de los coeficientes ac(i, j) de transformada de coseno discreta por la matriz Wi de ponderación, de acuerdo con la siguiente ecuación:
ac-(i,j) = (16 * ac(i,j)) // Wi(i,j) ... (6) Los coeficientes de la matriz Wi de ponderación son los siguientes:
Wi = 8 16 19 22 26 27 29 34
16 16 22 24 27 29 34 37
19 22 26 27 29 34 34 38
22 22 26 27 29 34 37 40
22 26 27 29 32 35 40 48 ... (7)
26 27 29 32 35 40 48 58
26 27 29 34 38 46 56 69 A continuación, utilizando la ecuación siguiente, se cuantifican los factores ac-(i,j) de cuantificación para determinar los niveles QAC(i, j) de cuantificación de los respectivos coeficientes de alterna.
ac (i,j)+sign(ac (i,j))*((p*mquant)//q)
QAC(i, j)= --... (8)
(2* mquant)
En la ecuación anterior, p y q son números enteros fijos arbitrarios, por ejemplo p = 3 y q = 4, y mquant es el coeficiente de cuantificación.
Los coeficientes de transformada de coseno discreta resultantes de transformar ortogonalmente un macrobloque de codificación inter imágenes (un "macrobloque no intra") son cuantificados determinando los factores ac-(i,j) de cuantificación mediante la ponderación de todos los coeficientes de transformada de coseno discreta obtenidos por transformación del macrobloque no intra, por la matriz Wn de ponderación de acuerdo con la ecuación siguiente:
ac -(i,j) = (16 * ac(i,j)) // Wn(i,j)
... (9)
Los coeficientes de la matriz Wn de ponderación son los siguientes:
Wn = 16 17 18 19 20 21 22 23
17 18 19 20 21 22 23 24
18 19 20 21 22 23 24 25
19 20 21 22 23 24 26 27
20 21 22 23 25 26 27 28
... (10)
21 22 23 24 26 27 28 30
22 23 24 26 27 28 30 31
23 24 25 27 28 30 31 33
A continuación, utilizando la ecuación siguiente, se cuantifican los factores ac-(i,j) de cuantificación para determinar los niveles QAC(i, j) de cuantificación de los coeficientes de alterna.
QAC(i,j) = ac-(i,j) / (2*mquant)
if (mquant==odd)
= (ac-(i,j)+1 / (2*mquant)
if (mquant==even AND ac-<0) ... (11)
= (ac-(i,j)-1 / (2*mquant)
if (mquant==even AND ac->0)
Los niveles QAC(i, j) de cuantificación resultantes se suministran al codificador 17 de longitud variable y al decodificador local 10 como el bloque anteriormente descrito de coeficientes SC de transformada de coseno discreta cuantificados.
El codificador 17 de longitud variable aplica codificación de longitud variable al bloque de coeficientes de transformada de coseno discreta cuantificados obtenidos cuantificando el bloque de coeficientes de transformada de coseno discreta. El codificador 17 de longitud variable determina diferencias entre los coeficientes de transformada cuantificados en los cuatro bloques de luminancia que constituyen cada macrobloque y el coeficiente de continua del respectivo macrobloque intra. El codificador de longitud variable utiliza a continuación una tabla de codificación de longitud variable para aplicar codificación de longitud variable a los valores de diferencia resultantes. Esta técnica aprovecha la alta correlación existente entre los cuatro bloques de luminancia adyacentes, lo cual significa que los coeficientes de continua tienen sustancialmente el mismo valor. El codificador 17 de longitud variable determina también las diferencias entre los coeficientes cuantificados de dos bloques de diferencia de color, y utiliza la tabla de codificación de longitud variable para aplicar codificación de longitud variable a los valores de diferencia resultantes. La tabla de codificación de longitud variable para los coeficientes de luminancia y la correspondiente a las diferencias de color son diferentes entre sí.
El codificador 17 de longitud variable aplica codificación de longitud variable al bloque de coeficientes de transformada de coseno discreta cuantificados leyendo el bloque de coeficientes de transformada de coseno discreta cuantificados en orden de exploración en zigzag, comenzando con el coeficiente de transformada de coseno discreta de la componente (0,0), como se muestra en la figura 7. El bloque de coeficientes de transformada de coseno discreta cuantificados se lee en zigzag porque los coeficientes de transformada de coseno discreta no nulos resultantes del tratamiento de transformada de coseno discreta están concentrados en general en la proximidad de la componente (0,0). De este modo, la lectura de los coeficientes de transformada de coseno discreta en zigzag aumenta la eficiencia de la codificación de longitud variable aumentando el campo de coeficientes de transformada de coseno discreta nulos consecutivos leídos entre cada uno de los coeficientes de transformada de coseno discreta no nulos.
El codificador 17 de longitud variable lee los coeficientes de transformada de coseno discreta en zigzag y determina el valor (en otras palabras, el nivel) de cada coeficiente de transformada de coseno discreta no nulo, y el número (en otras palabras, el campo de cobertura) de los coeficientes de transformada de coseno discreta nulos que le preceden. Este procedimiento realiza la codificación de longitud variable bidimensional del bloque de coeficientes de transformada de coseno discreta. Después de la codificación, los coeficientes del bloque se expresan mediante el número del campo de cobertura y pares de niveles. El codificador 17 de longitud variable añade también un código de dos bits (EOB) que indica el coeficiente de transformada de coseno discreta no nulo que es el último coeficiente de transformada de coseno discreta no nulo. El codificador 17 de longitud variable suministra a un convertidor de direcciones (no representado) la dirección del último coeficiente no nulo en orden de exploración en zigzag. El convertidor de direcciones convierte la dirección en orden de exploración en zigzag en una dirección, EOB_adrs, en orden de exploración de trama. El codificador 17 de longitud variable suministra la dirección EOB_adrs al circuito 14 de conversión a valor impar de suma.
El circuito 14 de conversión a valor impar de suma almacena la dirección EOB_adrs en orden de exploración de trama en el registro 25 representado, por ejemplo, en la figura 8, que se describirá posteriormente.
Se describirá ahora el cuantificador inverso 13. El cuantificador inverso 13 recibe el bloque SC de coeficientes de transformada de coseno discreta cuantificados procedente del codificador 10 de bloque de diferencias, y cuantifica inversamente el bloque de coeficientes de transformada de coseno discreta cuantificados para proporcionar un bloque de coeficientes de transformada de coseno discreta. En la práctica, el cuantificador inverso 13 cuantifica inversamente los coeficientes de continua cuantificados resultantes de transformar ortogonalmente un macrobloque intra utilizando el tratamiento definido por la ecuación (12) para proporcionar coeficientes de continua respectivos. El cuantificador inverso 13 cuantifica también inversamente los coeficientes de alterna resultantes de transformar ortogonalmente un macrobloque intra utilizando el tratamiento definido en la ecuación (13). Finalmente, el cuantificador inverso 13 cuantifica inversamente todos los coeficientes cuantificados resultantes de transformar ortogonalmente un macrobloque no intra utilizando el tratamiento definido en la ecuación (14).
rec(0, 0) = 8 * QDC rec(0, 0) = 4 * QDC (9 bits)
rec(0, 0) = 2 * QDC (10 bits) ... (12)
rec(0, 0) = 1 * QDC (11 bits)
rec(i, j) = (mquant * 2 * QAC(i, j) * Wi(i, j)) / 16
if(QAC(i, j) == 0)
rec(i, j) = 0 ... (13)
if(QAC(i,j) > 0)
rec(i,j) = ((2*QAC(i,j)+1) mquant*Wn(i,j))/16
if(QAC(i,j) < 0)
rec(i,j) = ((2*QAC(i,j)-1) mquant*Wn(i,j))/16
if(QAC(i, j) == 0) ... (14)
rec(i,j) = 0
El bloque resultante de coeficientes de transformada de coseno discreta es transferido desde el cuantificador inverso 13 hasta el circuito 14 de conversión a valor impar de suma, de cuya transferencia se ilustra un ejemplo práctico en la figura 8.
El circuito 14 de conversión a valor impar de suma comprende el acumulador 23A, el circuito 21 de determinación de paridad y el inversor 28 de paridad. El acumulador 23A determina la suma de los coeficientes de transformada de coseno discreta en el bloque de coeficientes de transformada de coseno discreta recibido del cuantificador inverso
13. El circuito 21 de determinación de paridad juzga si la suma de coeficientes de transformada de coseno discreta determinada por el acumulador 23A es un número impar o un número par, es decir si la paridad de la suma de los coeficientes de transformada de coseno discreta es impar o par. Solamente cuando el circuito 21 de determinación de paridad juzga que la paridad de la suma de los coeficientes de transformada de coseno discreta es par, el inversor 28 de paridad cambia la paridad de al menos uno de los coeficientes de transformada de coseno discreta del bloque para hacer impar la paridad de la suma de dichos coeficientes, es decir se hace impar la paridad de la suma. Esto evita que se produzca un error de desadaptación cuando el bloque de coeficientes de transformada de coseno discreta cuya paridad de suma ha sido convertida en impar, procedente del circuito 14 de conversión a valor impar de suma, es sometido a transformada ortogonal inversa por el circuito 15 de transformada de coseno discreta inversa.
El contador 20 cuenta el número de coeficientes de transformada de coseno discreta recibidos del cuantificador inverso 13, y suministra el cómputo coeff_adrs al circuito 21 de determinación de paridad y al selector 22 de memoria.
El acumulador 23A comprende el sumador 23 y el registro 24. El sumador 23 suma cada coeficiente de transformada de coseno discreta en un bloque de coeficientes de transformada de coseno discreta recibido del cuantificador inverso 13, a la suma de los coeficientes de transformada de coseno discreta ya recibidos en el bloque almacenado en el registro 24. El registro 24 es repuesto después de haber sido determinada la suma para cada bloque de coeficientes de transformada de coseno discreta. La suma resultante de dichos coeficientes es transferida desde el sumador 23 hasta el registro 24, y hasta el circuito 21 de determinación de paridad. El acumulador 23A necesita solamente sumar los bits menos significativos de los coeficientes de transformada de coseno discreta del bloque para proporcionar un resultado adecuado para que el circuito 21 de determinación de paridad juzgue si la paridad de la suma de los coeficientes de transformada de coseno discreta es impar o par.
El circuito 21 de determinación de paridad juzga si la paridad de la suma de los coeficientes de transformada de coseno discreta incluidos en el bloque es impar o par en respuesta al valor de cómputo coeff_adrs recibido del contador 20. Cuando todos los coeficientes de transformada de coseno discreta del bloque han sido suministrados al acumulador 23A, el valor de cómputo coeff_adrs indica que el acumulador 23A ha determinado la suma de todos los coeficientes de transformada de coseno discreta del bloque. En respuesta al valor coeff_adrs de cómputo, el circuito 21 de determinación de paridad juzga si la paridad de la suma de los coeficientes de transformada de coseno discreta procedente del acumulador 23A es impar o par. Por ejemplo, en el caso de una transformada de transformada de coseno discreta bidimensional de 8 x 8, el circuito 21 de determinación de paridad juzga si la paridad de la suma de los coeficientes de transformada de coseno discreta procedente del acumulador 23A es impar
o par cuando el valor coeff_adrs de cómputo indica que los sesenta y cuatro coeficientes de transformada de coseno discreta del bloque han sido transferidos al acumulador 23A.
En la práctica, por ejemplo, cuando cada coeficiente de transformada de coseno discreta está representado por un número binario, el circuito 21 de determinación de paridad examina el bit menos significativo (LSB –“least-significant bit”) de la suma de los coeficientes de transformada de coseno discreta recibidos del acumulador 23A. Un bit menos significativo nulo indica que la paridad de la suma es par. En este caso, el circuito 21 de determinación de paridad suministra la señal REQ1 de solicitud de tratamiento al inversor 28 de paridad para hacer que este circuito realice una operación de inversión de paridad. En respuesta a la señal REQ1 de solicitud de tratamiento, el inversor 28 de paridad cambia la paridad de al menos uno (es decir, un número impar) de los coeficientes de transformada de coseno discreta para hacer impar la paridad de la suma de dichos coeficientes. Por otra parte, un bit menos significativo igual a 1 indica que la paridad de la suma es impar. En este caso, el circuito 21 de determinación de paridad no genera la señal REQ1 de solicitud de tratamiento, y el inversor 28 de paridad no modifica la paridad de todos los coeficientes de transformada de coseno discreta del bloque.
En el circuito práctico ilustrado, los coeficientes de transformada de coseno discreta procedentes del cuantificador inverso 13 son almacenados en la primera memoria 26 o en la segunda memoria 27 a través del selector 22 de memoria. El selector 22 de memoria funciona en respuesta al valor coeff_adrs de cómputo recibido del contador 20. Así, por ejemplo, cuando el selector 22 de memoria determina que todos los coeficientes de transformada de coseno discreta del bloque han sido almacenados en la primera memoria 26, el selector 22 de memoria especifica la segunda memoria, de modo que los coeficientes de transformada de coseno discreta del bloque siguiente son almacenados en la segunda memoria 27. De este modo, los bloques consecutivos de coeficientes de transformada de coseno discreta se almacenan alternativamente en la primera memoria 26 y en la segunda memoria 27. Cuando todos los coeficientes de transformada de coseno discreta del bloque han sido almacenados en la primera memoria 26 o en la segunda memoria 27, la memoria en la cual están almacenados todos los coeficientes de transformada de coseno discreta del bloque aplica la señal FULL1 o FULL2 de memoria llena al inversor 28 de paridad.
Cuando el inversor 28 de paridad recibe la señal FULL1 de memoria llena o la señal FULL2 de memoria llena, aplica la señal RD_EN1 de habilitación de lectura o la señal RD_EN2 de habilitación de lectura a la memoria que ha generado la señal de memoria llena. Esto hace que el bloque de coeficientes de transformada de coseno discreta sea transferido desde la memoria que ha generado la señal de memoria llena hasta el inversor 28 de paridad. El inversor 28 de paridad opera sobre el bloque de coeficientes de transformada de coseno discreta leído de la memoria en uno de dos modos, dependiendo de si el circuito 21 de determinación de paridad ha generado la señal REQ1 de solicitud de tratamiento. Cuando el inversor 28 de paridad recibe la señal REQ1 de solicitud de tratamiento, invierte el bit menos significativo de uno de los coeficientes de transformada de coseno discreta del bloque, por ejemplo el último coeficiente no nulo, en orden de exploración en zigzag. El inversor 28 de paridad identifica el coeficiente de transformada de coseno discreta cuya paridad puede ser invertida utilizando la dirección de los coeficientes de transformada de coseno discreta cuya paridad puede ser invertida almacenados en el registro
25. Por ejemplo, la figura 8 muestra la dirección del último coeficiente no nulo (dirección EOB_adrs), aplicada al comparador 62. Por tanto, en este ejemplo, el coeficiente de transformada de coseno discreta cuya paridad puede ser invertida es el último coeficiente no nulo. Cuando el inversor 28 de paridad invierte la paridad del coeficiente de transformada de coseno discreta cuya paridad puede invertirse, la paridad de la suma de coeficientes no nulos en el bloque, desde el primero hasta el último, se hace impar. El inversor 28 de paridad suministra todos los coeficientes de transformada de coseno discreta, diferentes del coeficiente con su bit menos significativo invertido, al circuito 15 de transformada de coseno discreta inversa, con el estado de sus bits menos significativos inalterado. El inversor 28 de paridad suministra también al circuito 15 de transformada de coseno discreta inversa el coeficiente de transformada de coseno discreta cuya paridad puede invertirse con el estado de su bit menos significativo, dependiendo de si el inversor de paridad ha recibido la señal REQ1 de solicitud de tratamiento.
El inversor 28 de paridad puede implementarse utilizando un computador o procesador de señal digital que funciona, por ejemplo, de acuerdo con el diagrama de flujo ilustrado en la figura 9. En este ejemplo, el coeficiente de transformada de coseno discreta cuya paridad puede invertirse es el último coeficiente no nulo. En la etapa S1, el inversor 28 de paridad juzga, en base a la dirección EOB_adrs, si el coeficiente de transformada de coseno discreta que está siendo tratado es o no el coeficiente cuya paridad puede invertirse invirtiendo su bit menos significativo. Si el resultado de la etapa S1 es afirmativo, la secuencia de ejecución prosigue hasta la etapa S2. En otro caso, la ejecución prosigue hasta la etapa S5, que se describirá posteriormente.
En la etapa S2, el inversor 28 de paridad determina si ha sido recibida la señal REQ1 de solicitud de tratamiento. Si el resultado de la etapa S2 es afirmativo, indicando que ha sido recibida la señal REQ1 de solicitud de tratamiento, la secuencia de ejecución prosigue hasta la etapa S3. En caso contrario, no se ha recibido ninguna solicitud de tratamiento y la ejecución continúa hasta la etapa S5.
En la etapa S3, el inversor 28 de paridad invierte el bit menos significativo del coeficiente de transformada de coseno discreta cuya paridad puede invertirse para invertir su paridad, y por tanto para cambiar la paridad de la suma de los coeficientes de transformada de coseno discreta. La secuencia de ejecución pasa a la etapa S4, en la que el coeficiente de transformada de coseno discreta de paridad invertida se suministra al circuito 15 de transformada de coseno discreta inversa (figura 10A). A continuación, la secuencia de ejecución retorna a la etapa S1, en la que se trata el siguiente coeficiente de transformada de coseno discreta.
La secuencia de ejecución pasa a la etapa S5 cuando el coeficiente de transformada de coseno discreta que se está tratando no es el coeficiente cuya paridad puede invertirse, o cuando el coeficiente de transformada de coseno discreta cuya paridad ha de invertirse no va a tener invertida su paridad, es decir, cuando no ha sido recibida la señal REQ1 de solicitud de tratamiento. En la etapa S5, el coeficiente de transformada de coseno discreta se aplica al circuito 15 de transformada de coseno discreta inversa sin modificación. A continuación, la secuencia de ejecución retorna a la etapa S1, donde se trata el siguiente coeficiente de transformada de coseno discreta.
Cuando los coeficientes de transformada de coseno discreta están representados por una representación de complemento a 2, el bit menos significativo mencionado anteriormente es el bit menos significativo de la representación de complemento a 2. Por otra parte, cuando los coeficientes de transformada de coseno discreta están representados por un signo y un valor absoluto, el bit menos significativo mencionado anteriormente es el bit menos significativo del valor absoluto.
La configuración del circuito 14 de conversión a valor impar de suma no está limitada a la ilustrada en la figura 8. Por ejemplo, en el circuito de conversión a valor impar de la suma representado en la figura 10A, se ha añadido el detector 29 de bit menos significativo, y el sumador 23 se ha sustituido por la puerta 30 "O" exclusiva en el circuito de conversión a valor impar de la suma representado en la figura 8. Los elementos que figuran en el circuito representado en la figura 10A correspondientes a los del circuito ilustrado en la figura 8, están indicados por las mismas cifras de referencia y no se describirán nuevamente.
En la figura 10A, el detector 29 de bit menos significativo detecta el bit menos significativo de cada coeficiente de transformada de coseno discreta en el bloque de coeficientes de transformada de coseno discreta. La puerta 30 "O" exclusiva realiza una operación lógica "O" exclusiva entre cada coeficiente de transformada de coseno discreta del bloque y la suma lógica exclusiva, almacenada en el registro 24, de los bits menos significativos de los coeficientes de transformada de coseno discreta del bloque que han sido ya tratados. De este modo, la puerta 30 "O" exclusiva y el registro 24 obtienen la suma lógica exclusiva de los bits menos significativos de los coeficientes de transformada de coseno discreta en cada bloque. La combinación de la puerta 30 "O" exclusiva y el registro 24 puede considerarse también como disposición de cómputo de los coeficientes de transformada de coseno discreta que tienen un bit menos significativo igual a 1. Entonces, cuando han sido recibidos todos los coeficientes de transformada de coseno discreta del bloque, el estado de la salida de la puerta 30 "O" exclusiva indica si el cómputo de coeficientes de transformada de coseno discreta que tienen un bit menos significativo igual a 1 es impar o par. El circuito 21 de determinación de paridad emite a continuación la señal REQ1 de solicitud de tratamiento cuando es par el cómputo de los coeficientes de transformada de coseno discreta que tienen un bit menos significativo igual a
1.
La figura 10B muestra una configuración alternativa que puede utilizarse en sustitución de la puerta 30 "O" exclusiva y el registro 24. En esta disposición, los bits menos significativos de cada coeficiente de transformada de coseno discreta recibido del cuantificador inverso 13 son transferidos desde el detector 29 de bit menos significativo hasta la puerta "Y" 88. La puerta "Y" 88 deja pasar al contador 89 solamente los bits menos significativos que tienen el valor
1. El contador 89 se repone al comienzo de cada bloque de coeficientes de transformada de coseno discreta y cuenta cada bit menos significativo de valor 1 que recibe. El bit menos significativo del cómputo COUNT del contador 89 se transfiere al circuito 21 de determinación de paridad. Al final de cada bloque, el circuito 21 de determinación de paridad determina la paridad del bit menos significativo del cómputo COUNT del contador 89. Si la paridad del cómputo COUNT es impar (es decir, el bit menos significativo del cómputo COUNT es un 1), esto indica que existe un número impar de coeficientes de transformada de coseno discreta con un bit menos significativo igual a 1 en el bloque, y que la paridad de la suma de dichos coeficientes del bloque es impar. Por otra parte, si la paridad del cómputo COUNT es par (es decir, el bit menos significativo del cómputo COUNT es un 0), esto indica que existe un número par de coeficientes de transformada de coseno discreta con un bit menos significativo igual a 1 en el bloque, y que la paridad de la suma de dichos coeficientes del bloque es par.
Se describirá ahora con referencia a la figura 11 una configuración práctica de una primera realización del inversor 28 de paridad incluido en los circuitos de conversión a valor impar de la suma ilustrados en las figuras 8 y 10A. El inversor 28 de paridad comprende el contador 61 de lectura, el comparador 62 de direcciones, el inversor 63 de bit menos significativo, las puertas "Y" 64, 65, 67 y 68, las puertas "O" 66 y 69, y las puertas inversoras 71 y 72.
El inversor 28 de paridad funciona del modo siguiente. Cuando el contador 61 de lectura recibe la señal FULL de memoria llena de la primera memoria 26 o de la segunda memoria 27, suministra la señal RD_EN de habilitación de lectura a la primera memoria 26 o a la segunda memoria 27. La señal de habilitación de lectura hace que la respectiva memoria transfiera secuencialmente los coeficientes de transformada de coseno discreta del bloque de coeficientes de transformada de coseno discreta almacenados en la misma a la primera puerta "Y" 67 a través de la vía de datos indicada como RDATA.
La señal FULL de memoria llena hace también que el contador 61 de lectura comience a contar los coeficientes de transformada de coseno discreta recibidos y proporcione al comparador 62 de direcciones un valor de cómputo que indica el número de coeficientes de transformada de coseno discreta recibidos. El comparador 62 de direcciones compara el valor de cómputo con la dirección recibida del registro 25 y determina si el coeficiente de transformada de coseno discreta recibido por la primera puerta "Y" 67 es el coeficiente cuya paridad puede invertirse, es decir el coeficiente de transformada de coseno discreta cuyo bit menos significativo puede invertirse. En el ejemplo ilustrado en la figura 11, el coeficiente de transformada de coseno discreta cuya paridad puede invertirse es el último coeficiente no nulo, identificado por la dirección EOB_adrs almacenada en el comparador 62 de direcciones. Cuando el valor de cómputo es igual a la dirección del coeficiente de transformada de coseno discreta cuya paridad puede invertirse, en este ejemplo la dirección EOB_adrs, el comparador 62 de direcciones determina que el coeficiente de transformada de coseno discreta es el coeficiente cuya paridad puede invertirse, y cambia el estado de su salida de 0 a 1.
La salida del comparador 62 de direcciones se aplica directamente a la segunda puerta "Y" 68 y, a través de la puerta inversora 72, a la primera puerta "Y" 67. De este modo, cuando el valor de cómputo no es igual a la dirección EOB_adrs, la primera puerta "Y" 67 se abre y la segunda puerta "Y" 68 se cierra. Por tanto, los coeficientes de transformada de coseno discreta pasan inalterados, a través de la primera puerta "Y" 67 y la puerta "O" 69, al circuito 15 de transformada de coseno discreta inversa.
Por otra parte, cuando el coeficiente de transformada de coseno discreta suministrado al inversor 28 de paridad es el coeficiente cuya paridad puede invertirse, y el valor de cómputo es igual a la dirección del coeficiente cuya paridad puede invertirse, en este ejemplo la dirección EOB_adrs, la salida del comparador 62 de direcciones cambia de estado como se ha descrito anteriormente. Este cambio cierra la primera puerta "Y" 67 y abre la segunda puerta "Y"
68. Como resultado, el coeficiente de transformada de coseno discreta con su bit menos significativo invertido, recibido a través de la puerta "O" 66, es suministrado al circuito 15 de transformada de coseno discreta inversa a través de la segunda puerta "Y" 68 y la puerta "O" 69.
El coeficiente de transformada de coseno discreta con su bit menos significativo invertido es suministrado selectivamente al circuito 15 de transformada de coseno discreta inversa en respuesta a la señal REQ1 de solicitud de tratamiento transfiriendo los coeficientes de transformada de coseno discreta, recibidos a través de la vía RDATA de datos, a la tercera puerta "Y" 64 y al inversor 63 de bit menos significativo. La señal REQ1 de solicitud de tratamiento es suministrada desde el circuito 21 de determinación de paridad directamente a la cuarta puerta "Y" 65 y, a través de la puerta inversora 71, a la tercera puerta "Y" 64. El inversor 63 de bit menos significativo invierte el bit menos significativo de cada coeficiente de transformada de coseno discreta recibido a través de la vía RDATA de datos y suministra el coeficiente de transformada de coseno discreta resultante con su bit menos significativo invertido a la cuarta puerta "Y" 65.
La ausencia de la señal REQ1 de solicitud de tratamiento, es decir cuando la señal de solicitud de tratamiento está en su estado 0, indica que el coeficiente de transformada de coseno discreta cuya paridad puede invertirse ha de suministrarse al circuito de transformada de coseno discreta inversa sin su bit menos significativo invertido. La señal REQ1 de solicitud de tratamiento en su estado 0 abre la tercera puerta "Y" 64 y cierra la cuarta puerta "Y" 65. En base a esta combinación, el coeficiente de transformada de coseno discreta cuya paridad puede invertirse, con su bit menos significativo no modificado, se transfiere desde la vía RDATA de datos hasta el circuito 15 de transformada de coseno discreta inversa a través de la tercera puerta "Y" 64, la puerta "O" 66, la segunda puerta "Y" 68 y la puerta "O" 69.
Por otra parte, la presencia de la señal REQ1 de solicitud de tratamiento, es decir la señal REQ1 de solicitud de tratamiento en su estado "1", indica que el coeficiente de transformada de coseno discreta cuya paridad puede invertirse ha de suministrarse al circuito de transformada de coseno discreta inversa con su bit menos significativo invertido para cambiar la paridad de la suma de los coeficientes de transformada de coseno discreta. La señal REQ1 de solicitud de tratamiento en su estado "1" cierra la tercera puerta "Y" 64 y abre la cuarta puerta "Y" 65. Esto transfiere el coeficiente de transformada de coseno discreta cuya paridad puede invertirse, con su bit menos significativo invertido, desde el inversor 63 de bit menos significativo hasta el circuito 15 de transformada de coseno discreta inversa a través de la cuarta puerta "Y" 65, la puerta "O" 66, la segunda puerta "Y" 68 y la puerta "O" 69.
El inversor 28 de paridad representado en la Figura 11 y el funcionamiento descrito de acuerdo con el diagrama de flujo ilustrado en la figura 9, se modifican para hacer impar la paridad de la suma de los coeficientes de transformada de coseno discreta cambiando la paridad de un coeficiente de transformada de coseno discreta diferente del último coeficiente no nulo leído en el orden de exploración en zigzag. Por ejemplo, en una transformada de coseno discreta bidimensional de 8 x 8, puede cambiarse la paridad de uno de los coeficientes de transformada de coseno discreta, bien sea el correspondiente a la componente continua, el coeficiente de transformada de coseno discreta de la componente (7,7), es decir el correspondiente a la componente de frecuencia más alta, el coeficiente de la componente (7,0) en la esquina superior derecha, o el coeficiente de la componente (0,7) en la esquina inferior izquierda. Puesto que, en particular, el coeficiente de transformada de coseno discreta de la componente (7,7), que es la componente de frecuencia más alta, tiene una influencia pequeña sobre la calidad de la imagen, esta componente es particularmente adecuada para ser la que corresponde al coeficiente cuya paridad puede invertirse.
En el inversor de paridad representado en la figura 11, pueden seleccionarse coeficientes de transformada de coseno discreta alternativos como coeficiente de transformada de coseno discreta cuya paridad puede invertirse, sustituyendo la dirección EOB_adrs aplicada al comparador 62 de direcciones por la dirección del coeficiente de transformada de coseno discreta. Alternativamente, si ha de cambiarse la paridad del coeficiente de transformada de coseno discreta de la componente de frecuencia más alta, el contador 61 de lectura y el comparador 62 de direcciones pueden omitirse, y puede utilizarse la señal FULL de memoria llena para identificar el coeficiente de transformada de coseno discreta de la componente de frecuencia más alta como coeficiente cuya paridad puede cambiarse.
En una versión alternativa adicional, los circuitos 14 de conversión a valor impar de suma representados en las figuras 6, 8 y 10 pueden determinar la suma de coeficientes de transformada de coseno discreta específicos, por ejemplo los coeficientes de la componente (0,0), la componente (4,0), la componente (0,4) y la componente (4,4). A continuación, el circuito de conversión a impar de la paridad de la suma realizaría una operación de inversión de paridad para convertir en un número impar la suma de los coeficientes de transformada de coseno discreta específicos. La figura 12 muestra una variante del circuito 14 de conversión a valor impar de suma representado en la figura 8. En esta variante, se determina la suma de los coeficientes de transformada de coseno discreta específicos para determinar si es necesaria la inversión de paridad. Los elementos del circuito representado en la figura 18 que corresponden a los del circuito representado en la figura 8 están indicados por las mismas cifras de referencia, y no se describirán nuevamente en este caso.
En el circuito de conversión a impar del valor de la suma representado en la figura 12, el selector 51 interrumpe la línea entre el cuantificador inverso 13 y el acumulador 23A. El selector 51 recibe también del contador 20 el valor coeff_adrs de cómputo, que indica el número de coeficientes de transformada de coseno discreta del bloque que han sido recibidos del cuantificador inverso 13.
En respuesta al valor coeff_adrs de cómputo recibido del contador 20, el selector 51 determina si cada coeficiente de transformada de coseno discreta recibido del cuantificador inverso 13 es o no uno de los coeficientes específicos, y ha de incluirse, por consiguiente, en la suma determinada por el acumulador 23A. De ese modo, por ejemplo, el selector 51 determina si el valor coeff_adrs de cómputo es un valor correspondiente a la componente (0,0), a la componente (4,0), a la componente (0,4) o a la componente (4,4). Cuando el selector 51 determina que el coeficiente de transformada de coseno discreta es uno de los coeficientes específicos, transfiere dicho coeficiente al acumulador 23A. Consiguientemente, el circuito de conversión a impar del valor de la suma representado en la figura 12 determina la suma de coeficientes de transformada de coseno discreta específicos en el bloque y, si la paridad de la suma es par, cambia la paridad de al menos uno de los coeficientes de transformada de coseno discreta para hacer la suma impar. El circuito de conversión a valor impar de la suma representado en la figura 12 transfiere entonces al circuito 15 de transformada de coseno discreta inversa el bloque de coeficientes de transformada de coseno discreta de paridad ajustada.
El circuito representado en la figura 12 puede ser modificado de un modo similar al ilustrado en la figura 10A para hacer posible que el circuito determine la suma lógica exclusiva de los bits menos significativos de los coeficientes de transformada de coseno discreta específicos. El circuito de la figura 12 se modifica sustituyendo el sumador 23 por el detector 29 de bit menos significativo y por la puerta 30 "O" exclusiva representada en la figura 10A.
Volviendo ahora a la figura 6, los coeficientes de transformada de coseno discreta en el bloque de coeficientes son transferidos desde el circuito 14 de conversión a valor impar de suma hasta el circuito 15 de transformada de coseno discreta inversa, descrito anteriormente. La suma de los coeficientes de transformada de coseno discreta generada por el circuito de conversión a valor impar de la suma es un número impar. Si la suma de los coeficientes de transformada de coseno discreta proporcionada por el cuantificador inverso fue un número par, el circuito 14 de conversión a valor impar de suma cambió la paridad de al menos uno de los coeficientes de transformada de coseno discreta para hacer impar la suma de los coeficientes de transformada de coseno discreta transferidos al circuito 15 de transformada de coseno discreta inversa. El circuito 15 de transformada de coseno discreta inversa aplica tratamiento de transformada de coseno discreta inversa a los coeficientes de transformada de coseno discreta del bloque para obtener el bloque S4 de diferencias recuperado. El bloque de diferencias recuperado se transfiere al sumador 16.
El sumador 16 realiza una suma elemento de imagen por elemento de imagen entre el bloque S4 de diferencias recuperado y el bloque S2 de adaptación recibido del segundo grupo 4 de memorias de imagen. El bloque S5 de imagen reconstruido resultante es proporcionado al segundo grupo 4 de memorias de imagen, donde constituye un bloque de la imagen reconstruida almacenada en una de las memorias de imagen especificada por el controlador 3 de memoria.
El codificador 17 de longitud variable aplica codificación de longitud variable, tal como codificación de Huffman, etc, a cada bloque SC de coeficientes de transformada cuantificados procedentes del codificador 9 de bloques de diferencias, junto con su vector de movimiento, la señal MM de compensación de movimiento, datos de tabla de cuantificación, etc. El codificador 17 de longitud variable ensambla también los datos codificados con longitud variable con los códigos de arranque e información de cabecera de las respectivas capas de la norma MPEG para formar la señal de imagen con movimiento comprimida.
El contador 5 de líneas matriciales/macrobloques cuenta las señales SS de iniciación de línea matricial de bloques y las señales BS de iniciación de macrobloque generadas por el controlador 3 de memoria en sincronismo con el comienzo de cada línea matricial de bloques y cada macrobloque de las imágenes leídas del primer grupo 2 de memorias de imagen para tratamiento. Cuando su valor de cómputo alcanza un valor predeterminado, el contador 5 de líneas matriciales/macrobloques genera la señal S0 de arranque, que se aplica al codificador 17 de longitud variable.
En respuesta a la señal S0 de arranque, el codificador 17 de longitud variable transfiere la señal de imagen con movimiento comprimida a la memoria intermedia 19 de salida, donde se almacena transitoriamente. A continuación, la señal de imagen con movimiento comprimida se lee de la memoria intermedia 19 de salida como cadena de bits con una frecuencia de transferencia de bits predeterminada. La cadena de bits de la señal de imagen con movimiento comprimida se transfiere a un expansor complementario a través de una vía de transmisión, o bien se registra la cadena de bits de la señal de imagen con movimiento comprimida sobre un medio de registro adecuado, tal como un disco óptico.
El medio de registro es un medio de registro sobre el cual se registra la señal de imagen con movimiento comprimida obtenida de la señal de imagen con movimiento por codificación predictiva y tratamiento de transformada de coseno discreta. Cada bloque de cada imagen reconstruida utilizada como imagen de referencia en la codificación predictiva es reconstruido cuantificando inversamente un bloque de los coeficientes de transformada de coseno discreta cuantificados incluidos en la señal de imagen con movimiento comprimida, convirtiendo a un valor impar la suma de los coeficientes de transformada de coseno discreta del bloque resultante de coeficientes, y sometiendo a transformación ortogonal inversa el bloque de coeficientes de transformada de coseno discreta con la suma modificada.
Un aparato de transmisión de acuerdo con el invento puede incluir un compresor de acuerdo con el invento, como se ha descrito anteriormente.
Puede pensarse que sería mejor realizar la operación de conversión a impar del valor de la suma en el codificador 9 de bloques de diferencias del compresor. La operación de conversión a impar del valor de la suma haría que la suma de los coeficientes de transformada de coseno discreta en cada bloque de coeficientes cuantificados incluido en la señal de imagen con movimiento comprimida fuese un número impar. Podría pensarse que el tratamiento de la señal de imagen con movimiento comprimida de este modo haría innecesaria la conversión a valor impar de la suma de los coeficientes de transformada de coseno discreta en el expansor. Sin embargo, con tal disposición, después de haber sido cuantificados en el compresor los coeficientes de transformada de coseno discreta y haber sido cuantificados inversamente en el expansor, la suma de los coeficientes de transformada de coseno discreta que se introduce en el circuito de transformada de coseno discreta inversa en el expansor puede no ser ya un número impar. Por tanto, la operación de conversión a valor impar de la suma debe realizarse antes del tratamiento de transformada de coseno discreta inversa en el expansor para asegurar que no se produzca un error de desadaptación.
Se describirá ahora con referencia a la figura 19 un expansor de señal de imagen con movimiento comprimida al cual se aplica este invento, como se define en las reivindicaciones anexas. En la figura 19, la señal de imagen con movimiento comprimida es recibida como una cadena de bits a través de una línea de transmisión que procede del compresor, o bien reproduciendo la señal de imagen con movimiento comprimida de un medio de registro adecuado, tal como un disco óptico. La cadena de bits se transfiere a la memoria intermedia 31 de entrada, donde se almacena transitoriamente, y de la que se lee, imagen por imagen, en el codificador inverso de longitud variable (el “IVLC” – “inverse variable-length coder”) 32. El codificador inverso 32 de longitud variable extrae de la señal de imagen con movimiento comprimida la información de cabecera de capas respectivas de la codificación MPEG, y extrae de dicha información de cabecera la información PH de control de decodificación de imagen, que transfiere al controlador 33 de memoria.
El codificador inverso 32 de longitud variable aplica codificación inversa de longitud variable a los bloques de coeficientes de transformada de coseno discreta codificados con longitud variable para proporcionar bloques de coeficientes cuantificados, que incluyen el bloque Cb en curso de coeficientes de transformada de coseno discreta cuantificados. El bloque Cb en curso de coeficientes de transformada de coseno discreta cuantificados es suministrado al decodificador 34 de bloque de diferencias. El decodificador 34 de bloque de diferencias decodifica el bloque Cb de coeficientes de transformada de coseno discreta cuantificados para proporcionar el bloque BS de diferencias restaurado, y suministra este último bloque al sumador 39.
El codificador inverso 32 de longitud variable extrae de la señal de imagen con movimiento comprimida el vector MV de movimiento y la señal MM de modo de compensación de movimiento para el bloque Cb de coeficientes de transformada de coseno discreta cuantificados, y transfiere esta información al compensador 37 de movimiento. El compensador 37 de movimiento hace que se lea del grupo 38 de memorias de imagen un bloque de adaptación para el bloque BS de diferencias restaurado.
El bloque de memorias de imagen incluye varias memorias de imagen, cada una de las cuales almacena una imagen ya reconstruida. El bloque BS de adaptación es un bloque de la imagen reconstruida almacenada en una de las memorias de imagen en una dirección especificada por el vector MV de movimiento. La memoria de imagen del grupo 38 de memorias de imagen que almacena la imagen reconstruida de la cual se lee el bloque de adaptación, está especificada por el controlador 33 de memoria.
Como se ha mencionado anteriormente, una imagen puede codificarse por predicción a partir de una imagen reconstruida anterior, por predicción a partir de una imagen reconstruida siguiente, y por predicción a partir de un bloque obtenido realizando una operación lineal elemento de imagen por elemento de imagen sobre la imagen reconstruida, y a partir de una imagen reconstruida siguiente. Finalmente, una imagen puede codificarse sin utilizar ninguna técnica de predicción. En este caso, el bloque de adaptación proporcionado por el grupo 38 de memorias de imagen es un bloque nulo, es decir un bloque en el cual todos los valores de los elementos de imagen están puestos a cero. Los bloques de adaptación con movimiento compensado proporcionados por el grupo 38 de memorias de imagen son modificados adaptativamente, y se selecciona para cada bloque la combinación óptima. Este proceso se realiza utilizando un bloque que tiene un tamaño de bloque de 16 x 16 elementos de imagen.
Cada bloque de adaptación proporcionado por el grupo 38 de memorias de imagen se transfiere al sumador 39. El sumador 39 realiza una suma elemento de imagen por elemento de imagen entre el bloque BS de diferencias restaurado recibido del decodificador 34 de bloque de diferencias y el bloque de adaptación proporcionado por el grupo 38 de memorias de imagen. El resultado de esta suma es un bloque de imagen reconstruido, que se almacena en una de las memorias de imagen del grupo 38 de memorias de imagen especificada por el controlador 33 de memoria. Los bloques de imagen reconstruidos generados por el sumador 39 son almacenados uno por uno en la memoria de imagen seleccionada sobreinscribiendo sobre la imagen reconstruida almacenada anteriormente en la memoria de imagen, para formar una nueva imagen reconstruida.
Las imágenes reconstruidas almacenadas en el grupo 38 de memorias de imagen se leen en una secuencia controlada por una señal de indicación de imagen de salida generada por el controlador 33 de memoria. Las imágenes leídas se transfieren, como señal de imagen con movimiento reproducida, a un dispositivo de presentación de imagen adecuado, por ejemplo un monitor de video. El dispositivo de visualización presenta una imagen en movimiento en respuesta a la señal de imagen con movimiento reproducida.
Se describirá ahora con referencia a la figura 13 el decodificador 34 de bloque de diferencias. El decodificador 34 de bloque de diferencias comprende el cuantificador inverso 40, el circuito 35 de conversión de suma a un valor impar, y el circuito 36 de transformada de coseno discreta inversa. El cuantificador inverso 40 utiliza una tabla de cuantificación para cuantificar inversamente el bloque Cb de coeficientes de transformada de coseno discreta cuantificados recibido del codificador inverso 32 de longitud variable. El circuito 35 de conversión de suma a un valor impar recibe el bloque resultante de coeficientes de transformada de coseno discreta del cuantificador inverso 40, y evita que se produzcan errores de desadaptación en el tratamiento de transformada de coseno discreta inversa realizado por el circuito 36 de transformada de coseno discreta inversa. El circuito 36 de transformada de coseno discreta inversa aplica tratamiento de transformada de coseno discreta inversa al bloque de coeficientes de transformada de coseno discreta con la suma modificada generado por el circuito 35 de conversión de suma a un valor impar.
La figura 14 muestra un ejemplo de la construcción del cuantificador inverso 40. Los componentes principales del cuantificador inverso 40 son el decodificador 41 de cobertura/nivel, el contador 47 de direcciones, el convertidor 48 de direcciones, la primera memoria 42 de bloques, la segunda memoria 43 de bloques, y el circuito 46 de cuantificación inversa.
El decodificador 41 de cobertura/nivel recibe el bloque Cb de coeficientes de transformada de coseno discreta cuantificados del codificador inverso 32 de longitud variable. El decodificador 41 de cobertura/nivel decodifica la codificación de cobertura/nivel que fue aplicada a los coeficientes de transformada de coseno discreta cuantificados en el codificador de longitud variable del compresor. El bloque resultante de coeficientes de transformada de coseno discreta cuantificados se transfiere a la primera memoria 42 de bloques o a la segunda memoria 43 de bloques en orden de exploración en zigzag. La primera memoria 42 de bloques y la segunda memoria 43 de bloques almacenan cada una un bloque de coeficientes de transformada de coseno discreta cuantificados.
El contador 47 de direcciones y el convertidor 48 de direcciones generan, respectivamente, direcciones de inscripción y direcciones de lectura para la primera memoria 42 de bloques y la segunda memoria 43 de bloques. Se inscriben bloques de coeficientes de transformada de coseno discreta cuantificados y se leen alternativamente de la primera memoria 42 de bloques y de la segunda memoria 43 de bloques. Cada bloque de coeficientes de transformada de coseno discreta cuantificados se inscribe en una de las memorias de bloques en orden de exploración en zigzag en respuesta a la dirección proporcionada por el contador 47 de direcciones, y se lee de la memoria de bloques en orden de exploración de trama en respuesta a las direcciones proporcionadas por el convertidor 48 de direcciones. El orden diferente de direcciones entre la inscripción y la lectura convierte el orden de los coeficientes de transformada de coseno discreta cuantificados del bloque de un orden de exploración en zigzag a un orden de exploración de trama.
El contador 47 de direcciones genera las direcciones de inscripción en orden de exploración en zigzag. El convertidor 48 de direcciones recibe las direcciones en orden de exploración en zigzag del contador 47 de direcciones y utiliza una tabla de conversión de direcciones para convertir las direcciones en direcciones en orden de exploración de trama. Las direcciones generadas por el contador 47 de direcciones y por el convertidor 48 de direcciones son seleccionadas por el selector 49 para su aplicación a la primera memoria 42 de bloques y a la segunda memoria 43 de bloques como direcciones adrs1 y adrs2. Cuando un bloque de coeficientes de transformada de coseno discreta cuantificados procedente del decodificador 41 de cobertura/nivel se inscribe en la primera memoria 42 de bloques o en la segunda memoria 43 de bloques, las respectivas direcciones adrs1 y adrs2 son proporcionadas por el contador 47 de direcciones a través del selector 49 en orden de exploración en zigzag. Cuando el bloque de coeficientes de transformada de coseno discreta cuantificados es leído de la primera memoria 42 de bloques o de la segunda memoria 43 de bloques para el circuito 46 de cuantificación inversa, las respectivas direcciones adrs1 y adrs2 son proporcionadas por el convertidor 48 de direcciones a través del selector 49 en orden de exploración de trama.
Cuando todos los coeficientes de transformada de coseno discreta cuantificados han sido almacenados en la primera memoria 42 de bloques o en la segunda memoria 43 de bloques, el bloque de coeficientes de transformada de coseno discreta se lee en orden de exploración de trama para el circuito 46 de cuantificación inversa. El circuito 46 de cuantificación inversa cuantifica inversamente los coeficientes de transformada de coseno discreta cuantificados del bloque, y transfiere el bloque resultante de coeficientes de transformada de coseno discreta al circuito 35 de conversión de suma a un valor impar. La cuantificación inversa realizada por el circuito 46 de cuantificación inversa es idéntica a la cuantificación inversa realizada por el cuantificador inverso 13 en el decodificador local del compresor de señal de imagen con movimiento representado en la figura 6.
Cuando el circuito 35 de conversión de suma a un valor impar determina que es par la paridad de la suma de los coeficientes de transformada de coseno discreta en el bloque de coeficientes de transformada de coseno discreta procedente del cuantificador inverso 40, opera sobre al menos uno de los coeficientes de transformada de coseno discreta del bloque para convertir en un número impar la suma de los coeficientes de transformada de coseno discreta del bloque. El circuito 35 de conversión de suma a un valor impar suministra el bloque de coeficientes de transformada de coseno discreta con la suma modificada al circuito 36 de transformada de coseno discreta inversa. La operación de conversión a impar del valor de la suma realizada por el circuito 35 de conversión de suma a un valor impar es idéntica a la operación de conversión a impar del valor de la suma realizada por el circuito 14 de conversión a valor impar de suma en el decodificador local del compresor de señal de imagen con movimiento representado en la figura 6.
El circuito 36 de transformada de coseno discreta inversa realiza el tratamiento de transformada de coseno discreta inversa sobre el bloque de coeficientes de transformada de coseno discreta con la suma convertida a un valor impar, para proporcionar el bloque BS de diferencias restaurado, que se suministra al sumador 39.
El funcionamiento práctico del cuantificador inverso 40 representado en la figura 14 se ilustra mediante el diagrama de temporización representado en las figuras 15A a 15I. El codificador inverso 32 de longitud variable extrae el bloque Cb de coeficientes de transformada de coseno discreta cuantificados de la señal de imagen con movimiento comprimida. El codificador inverso 32 de longitud variable genera una señal EV_EN de habilitación de evento, ilustrada en la figura 15A, que instruye al decodificador 41 de cobertura/nivel para leer el bloque de coeficientes de transformada de coseno discreta. Los coeficientes de transformada de coseno discreta cuantificados contenidos en bloque Cb de coeficientes de transformada de coseno discreta cuantificados están codificados por cobertura/nivel.
El codificador inverso 32 de longitud variable proporciona también la señal EVENT_NO de número de eventos al decodificador 41 de cobertura/nivel, como se muestra en la figura 15B. La señal EVENT_NO de número de eventos indica el número de pares de cobertura/nivel en el bloque Cb de coeficientes de transformada de coseno discreta cuantificados, es decir el número de pares de datos que indican cobertura y nivel.
Cuando el decodificador 41 de cobertura/nivel recibe la señal EVENT_NO de número de eventos, aplica una señal RE_REQ de solicitud de lectura para cada par de datos de cobertura/nivel al codificador inverso 32 de longitud variable, como se muestra en la figura 15C. Cada vez que recibe la señal RE_REQ de solicitud de lectura, el codificador inverso 32 de longitud variable transfiere un par de datos de cobertura/nivel al decodificador 41 de cobertura/nivel, como se muestra en las figuras 15D y 15E. De este modo, el codificador inverso 32 de longitud variable aplica al decodificador 41 de cobertura/nivel el número de pares de datos de cobertura/nivel correspondientes al número de señales de solicitud de lectura que recibe.
El decodificador 41 de cobertura/nivel decodifica la codificación de cobertura/nivel de los coeficientes de transformada de coseno discreta cuantificados y codificados por cobertura/nivel, para suministrar un bloque de coeficientes de transformada de coseno discreta cuantificados en orden de exploración en zigzag como WDATA a la primera memoria 42 de bloques, como se muestra en la figura 15G. Al mismo tiempo, como se muestra en la figura 15F, el contador 47 de direcciones cuenta los coeficientes de transformada de coseno discreta cuantificados procedentes del decodificador 41 de cobertura/nivel y transfiere la señal adrs1 de dirección en orden de exploración en zigzag, que indica la dirección de inscripción de cada coeficiente de transformada de coseno discreta cuantificado, a la primera memoria 42 de bloques a través del selector 49.
Cuando el decodificador 41 de cobertura/nivel recibe el código EOB del codificador inverso 32 de longitud variable, indicando que ha recibido el último coeficiente de transformada de coseno discreta no nulo, el decodificador 41 de cobertura/nivel ajusta el coeficiente de transformada de coseno discreta cuantificado al código EOB, y todos los siguientes coeficientes de transformada de coseno discreta cuantificados a cero, y transfiere estos coeficientes puestos a cero a la primera memoria 42 de bloques.
También cuando recibe el código EOB, el decodificador 41 de cobertura/nivel transfiere la señal EOB_EN a los registros 44 y 45 de posición, como se muestra en la figura 21H. La señal EOB_EN indica a los registros de posición que se ha recibido el código EOB. Los registros de posición reciben también, del contador 47 de direcciones a través del convertidor 48 de direcciones, la dirección de cada coeficiente de transformada de coseno discreta cuantificado introducida en la primera y segunda memorias 42 y 43 de bloques. Cuando el decodificador 41 de cobertura/nivel recibe el código EOB, la dirección generada por el contador 47 de direcciones es la dirección del último coeficiente no nulo. La señal EOB_EN hace que la dirección EOB_POS del último coeficiente no nulo, convertida en una dirección de exploración por trama por el convertidor 48 de direcciones, sea inscrita en el registro de posición de la memoria de bloque en la cual se está inscribiendo el bloque de coeficientes de transformada de coseno discreta cuantificados. Uno de los registros 44 y 45 de posición almacena así la dirección del último coeficiente no nulo del bloque de coeficientes de transformada de coseno discreta cuantificados.
Cuando el decodificador 41 de cobertura/nivel ha transferido el bloque completo de coeficientes de transformada de coseno discreta cuantificados a la primera memoria 42 de bloques o a la segunda memoria 43 de bloques, el contador 47 de direcciones aplica la señal BANK de conmutación de banco de memoria a la primera memoria 42 de bloques y a la segunda memoria 43 de bloques. La señal BANK de conmutación de banco de memoria conmuta el modo de las memorias de bloques, de modo que la primera memoria 42 de bloques, que estaba inicialmente en el modo de inscripción, se conmuta al modo de lectura, y la segunda memoria 43 de bloques se conmuta al modo de inscripción. De este modo, cuando el decodificador 41 de cobertura/nivel decodifica el bloque siguiente de coeficientes de transformada de coseno discreta cuantificados, los coeficientes resultantes serán inscritos en la segunda memoria 43 de bloques. La señal BANK conmuta también el selector 49, de modo que las direcciones aplicadas a la memoria de bloques en el modo de inscripción son las direcciones en orden de exploración en zigzag generadas por el contador 47 de direcciones, y las direcciones aplicadas a la memoria de bloques en el modo de lectura son las direcciones correspondientes al orden de exploración de trama generadas por el convertidor 48 de direcciones.
También, cuando el decodificador 41 de cobertura/nivel ha transferido el bloque completo de coeficientes de transformada de coseno discreta cuantificados a la primera memoria 42 de bloques, la primera memoria 42 de bloques aplica la señal FULL1 de memoria llena al circuito 46 de cuantificación inversa. La señal FULL1 de memoria llena indica que todos los coeficientes de transformada de coseno discreta cuantificados del bloque han sido almacenados. Cuando el circuito 46 de cuantificación inversa recibe la señal FULL1 de memoria llena, envía la señal RD_EN de solicitud de lectura a la primera memoria 42 de bloques. La señal de solicitud de lectura hace que la primera memoria de bloques lea los coeficientes de transformada de coseno discreta cuantificados almacenados en ella en respuesta a las direcciones adrs1 proporcionadas en orden de exploración de trama por el convertidor 48 de direcciones a través del selector 49. En consecuencia, los coeficientes de transformada de coseno discreta cuantificados del bloque son leídos de la primera memoria 42 de bloques. Los coeficientes de transformada de coseno discreta leídos en respuesta a cada dirección se transfieren al circuito 46 de cuantificación inversa.
Al mismo tiempo que los coeficientes de transformada de coseno discreta cuantificados del bloque son leídos de la primera memoria 42 de bloques, los coeficientes de transformada de coseno discreta cuantificados del bloque siguiente se inscriben en orden de exploración en zigzag en la segunda memoria 43 de bloques en respuesta a direcciones procedentes del contador 47 de direcciones.
El circuito 46 de cuantificación inversa cuantifica inversamente los coeficientes de transformada de coseno discreta cuantificados del bloque de coeficientes, de un modo similar al cuantificador inverso 13 incluido en el compresor de señal de imagen con movimiento descrito anteriormente con referencia a la figura 6. El bloque resultante de coeficientes de transformada de coseno discreta es transferido al circuito 35 de conversión de suma a un valor impar.
Cuando la paridad de la suma de coeficientes de transformada de coseno discreta del bloque corresponde a un número par, el circuito 35 de conversión de suma a un valor impar opera sobre al menos uno de los coeficientes de transformada de coseno discreta del bloque para hacer impar la suma de los coeficientes de transformada de coseno discreta del bloque, de un modo similar al circuito 14 de conversión a valor impar de suma incluido en el compresor de señal de imagen con movimiento descrito anteriormente. El bloque resultante de coeficientes de transformada de coseno discreta cuya suma se ha convertido en un número impar se transfiere al circuito 36 de transformada de coseno discreta inversa.
Por ejemplo, el circuito 35 de conversión de suma a un valor impar puede tomar como referencia los registros 44 y 45 de posición para determinar si el coeficiente de transformada de coseno discreta en curso es o no el último coeficiente no nulo en orden de exploración en zigzag, de modo que el circuito 35 de conversión de suma a un valor impar puede cambiar la paridad del último coeficiente no nulo para hacer impar la suma de los coeficientes de transformada de coseno discreta del bloque. Alternativamente, los circuitos 35 de conversión de suma a un valor impar pueden operar sobre el coeficiente de transformada de coseno discreta de la componente de frecuencia más alta para hacer impar la suma de los coeficientes de transformada de coseno discreta. Puede ser preferible invertir la paridad del coeficiente de transformada de coseno discreta de la componente de frecuencia más alta, porque la componente de frecuencia más alta tiene una influencia pequeña sobre la calidad de la imagen y no es necesario determinar cual de los coeficientes de transformada de coseno discreta es el último coeficiente no nulo. Esto es cierto también en el caso en que el orden de exploración es diferente del orden de exploración en zigzag.
Debe enfatizarse que, para evitar errores de desadaptación, las operaciones de conversión de la suma a un valor impar realizadas en el compresor de señal de imagen con movimiento y en el expansor de señal de imagen con movimiento comprimida deben ser idénticas entre sí.
2. Segunda Realización
En la figura 16 se muestra la configuración de una segunda realización de un compresor de señal de imagen con movimiento. La segunda realización es la realización preferida del invento. En la figura 17 se muestra la configuración del circuito convertidor 50 de suma en número impar del compresor de señal de imagen con movimiento representado en la figura 16. Los elementos de la segunda realización del compresor de señal de imagen con movimiento correspondientes a los de la primera realización del compresor de señal de imagen con movimiento ilustrado en la figura 6 están indicados por los mismos números de referencia, y no se describirán nuevamente en este caso. La segunda realización difiere de la primera realización en la configuración del circuito convertidor 50 de suma en número impar.
En el circuito 50 de conversión de suma a un valor impar representado con detalle en la figura 17, el contador 20 cuenta el número de coeficientes de transformada de coseno discreta recibidos del cuantificador inverso 13, y transfiere el valor coeff_adrs de cómputo resultante al circuito 21 de determinación de paridad.
El acumulador 23A comprende el sumador 23 y el registro 24. El sumador 23 suma cada coeficiente de transformada de coseno discreta en un bloque de coeficientes recibido del cuantificador inverso 13, con la suma de los coeficientes de transformada de coseno discreta ya recibidos en el bloque almacenado en el registro 24. El registro 24 se repone después de haber sido determinada la suma para cada bloque de coeficientes de transformada de coseno discreta. La suma resultante de los coeficientes de transformada se transfiere desde el sumador 23 hasta el registro 24 y hasta el circuito 21 de determinación de paridad. El acumulador 23A necesita solamente sumar los bits menos significativos de los coeficientes de transformada de coseno discreta del bloque para proporcionar un resultado adecuado para que el circuito 21 de determinación de paridad juzgue si la paridad de la suma de los coeficientes de transformada de coseno discreta es impar o par.
El circuito 21 de determinación de paridad funciona en respuesta al valor coeff_adrs de cómputo recibido del contador 20, del modo siguiente. Cuando el valor de cómputo indica que han sido sumados por el acumulador 23A todos los coeficientes de transformada de coseno discreta del bloque, el circuito 21 de determinación de paridad determina si es impar o par la paridad de la suma de los coeficientes de transformada de coseno discreta recibida del acumulador 23A. Por ejemplo, en el caso de una transformada de coseno discreta bidimensional de 8 x 8, cuando el valor de cómputo indica que ha sido determinada la suma de los 64 coeficientes de transformada de coseno discreta, el circuito 21 de determinación de paridad determina si es impar o par la paridad de la suma de los coeficientes de transformada de coseno discreta recibida del acumulador 23A.
En la práctica, cuando los coeficientes de transformada de coseno discreta están representados por números binarios, el circuito 21 de determinación de paridad examina el bit menos significativo de la suma de los coeficientes de transformada de coseno discreta recibida del acumulador 23A. Un bit menos significativo igual a cero indica que la paridad de la suma es par. En este caso, el circuito 21 de determinación de paridad aplica la señal REQ1 de solicitud de tratamiento al inversor 53 de paridad para hacer que dicho inversor realice una operación de inversión de paridad. En respuesta a la señal REQ1 de solicitud de tratamiento, el inversor 53 de paridad cambia la polaridad de al menos uno (es decir, un número impar) de los coeficientes de transformada de coseno discreta del bloque para hacer impar la suma de dichos coeficientes. Por otra parte, un bit menos significativo igual a 1 indica que la paridad de la suma es impar. En este caso, el inversor 53 de paridad no genera la señal REQ1 de solicitud de tratamiento, y el inversor 53 de paridad no modifica la paridad de todos los coeficientes de transformada de coseno discreta del bloque, porque la paridad de la suma de los coeficientes de transformada de coseno discreta es ya impar.
El bloque de coeficientes de transformada de coseno discreta se transfiere desde el cuantificador inverso 13 no solamente al acumulador 23A, sino también al inversor 53 de paridad a través del circuito 52 de retardo. El circuito 52 de retardo retarda los coeficientes de transformada de coseno discreta del bloque un tiempo correspondiente a los tiempos de tratamiento del acumulador 23A y el circuito 21 de determinación de paridad, de tal modo que el último coeficiente de transformada de coseno discreta, es decir el coeficiente de la componente de frecuencia más alta (por ejemplo, el coeficiente de transformada de coseno discreta de la componente (7,7) en una transformada de coseno discreta de 8 x 8), llega al inversor 53 de paridad al mismo tiempo que la señal REQ1 de solicitud de tratamiento.
De este modo, el inversor 53 de paridad transfiere al circuito 15 de transformada de coseno discreta inversa sin modificar todos los coeficientes de transformada de coseno discreta, excepto el coeficiente correspondiente a la componente de frecuencia más alta. Cuando el circuito 21 de determinación de paridad no ha generado la señal REQ1 de solicitud de tratamiento, el inversor 53 de paridad transfiere también el coeficiente de transformada de coseno discreta de la componente de frecuencia más alta al circuito de transformada de coseno discreta inversa sin modificación. Solamente cuando el circuito 21 de determinación de paridad ha generado la señal REQ1 de solicitud de tratamiento, el inversor 53 de paridad invierte el bit menos significativo del coeficiente de transformada de la componente de frecuencia más alta, y transfiere al circuito 15 de transformada de coseno discreta inversa el coeficiente de paridad invertida de la componente de frecuencia más alta.
De este modo, cuando el circuito 21 de determinación de paridad indica que es par la paridad de la suma de los coeficientes de transformada de coseno discreta del bloque, el inversor 53 de paridad opera sobre el coeficiente de frecuencia más alta (por ejemplo, el coeficiente de transformada de coseno discreta de la componente (7,7) en una transformada de coseno discreta de 8 x 8) en el bloque. El inversor de paridad invierte la paridad de la componente de transformada de coseno discreta de frecuencia más alta, y por tanto hace impar la suma de los coeficientes de transformada de coseno discreta del bloque de coeficientes transferido al circuito 15 de transformada de coseno discreta inversa. De este modo, es siempre impar la paridad de la suma de los coeficientes de transformada de coseno discreta del bloque de coeficientes. El coeficiente de transformada de coseno discreta de la componente (7,7) es el coeficiente que tiene la menor influencia sobre los valores de salida de la transformada de coseno discreta inversa.
Se describirán ahora ejemplos prácticos adicionales del circuito 50 de conversión de suma a un valor impar de la realización preferida del invento.
La figura 18 ilustra un ejemplo en el cual el sumador 23 de la figura 17 ha sido sustituido por el detector 29 de bit menos significativo y la puerta 30 "O" exclusiva. Los elementos del circuito representado en la figura 18 correspondientes a los del circuito ilustrado en la figura 17 están indicados por las mismas cifras de referencia, y no se describirán nuevamente en este caso. El detector 29 de bit menos significativo detecta el bit menos significativo de cada coeficiente de transformada de coseno discreta del bloque, y la puerta 30 "O" exclusiva y el registro 24 determinan conjuntamente la suma lógica exclusiva de los bits menos significativos de los coeficientes de transformada de coseno discreta del bloque. La paridad de la suma lógica exclusiva es determinada por el circuito 21 de determinación de paridad, como se ha descrito anteriormente con referencia a las figuras 10A y 17.
Alternativamente, pueden utilizarse la puerta "Y" 88 y el contador 89 de la figura 10B en sustitución de la puerta 30 "O" exclusiva y el registro 24 representados en la figura 18.
En la figura 19 se muestra otro ejemplo. En este caso, está insertado el selector 51 entre el cuantificador inverso 13 y el acumulador 23A en el circuito 50 de conversión de suma a un valor impar ilustrado en la figura 17. Los elementos del circuito representado en la figura 19 correspondientes a los del circuito ilustrado en la figura 17 están indicados por las mismas cifras de referencia, y no se describirán nuevamente en este caso. El circuito representado en la figura 19 determina solamente la suma de coeficientes específicos, por ejemplo los correspondientes a la componente (0,0), la componente (4,0), la componente (0,4) y la componente (4,4), para determinar si se requiere conversión a impar del valor de la suma. El selector 51 recibe el valor coeff_adrs de cómputo del contador 20 para determinar si cada coeficiente de transformada de coseno discreta recibido del cuantificador inverso 13 es o no uno de los coeficientes específicos, y consiguientemente ha de ser sumado. Cuando el selector 51 determina que el coeficiente de transformada de coseno discreta es uno de los coeficientes específicos y ha de ser sumado, es decir el valor coeff_adrs de cómputo tiene un valor correspondiente, por ejemplo, a la componente (0,0), la componente (4,0), la componente (0,4) o la componente (4,4), el selector 51 suministra el coeficiente de transformada de coseno discreta al acumulador 23A. El selector 51 hace que el circuito de conversión a valor impar de la suma representado en la figura 19 determine la suma de coeficientes específicos. El inversor 53 de paridad opera a continuación sobre al menos uno de los coeficientes específicos de transformada de coseno discreta para convertir en un número impar la suma de los coeficientes específicos. El bloque de coeficientes de transformada de coseno discreta de paridad impar de la suma se transfiere a continuación al circuito 15 de transformada de coseno discreta inversa.
En otra solución alternativa, el selector 51 representado en la figura 19 puede estar insertado en la línea de conexión entre el cuantificador inverso 13 y el detector 29 de bit menos significativo en el circuito ilustrado en la figura 18. El circuito representado en la figura 18, modificado de este modo, determinaría la suma lógica exclusiva de los bits menos significativos de los coeficientes de transformada de coseno discreta específicos seleccionados por el selector 51.
En una realización alternativa adicional del circuito 50 de conversión de suma a un valor impar, cuando el último coeficiente de transformada de coseno discreta recibido del cuantificador inverso 13 es el coeficiente de la componente continua, es decir cuando el orden de la exploración de trama es opuesto al de las realizaciones descritas anteriormente, el coeficiente de transformada de coseno discreta al cual se aplicó la operación de inversión de paridad no es el correspondiente a la componente de frecuencia más alta, sino el coeficiente de la componente continua.
Se describirá ahora con referencia a la figura 20 un ejemplo de la configuración de circuito práctica del inversor 53 de paridad. El inversor 53 de paridad es una versión simplificada del inversor 28 de paridad descrito anteriormente e ilustrado en la figura 11. El inversor 53 de paridad incluye el inversor 63 de bit menos significativo, la tercera y cuarta puertas "Y" 64 y 65, la puerta "O" 66 y la puerta inversora 71.
En el inversor 53 de paridad, el inversor 63 de bit menos significativo invierte el bit menos significativo de cada coeficiente de transformada de coseno discreta en el bloque de coeficientes recibido del cuantificador inverso 13. Este inversor de paridad invierte la paridad de cada coeficiente de transformada de coseno discreta. Normalmente, la señal REQ1 de solicitud de tratamiento está ausente, de modo que el inversor de paridad transfiere cada coeficiente de transformada de coseno discreta recibido al circuito 15 de transformada de coseno discreta inversa (figura 17) a través de la tercera puerta "Y" 64 y la puerta "O" 69.
Cuando es recibido el coeficiente de transformada de coseno discreta de la componente de frecuencia más alta por el circuito 50 de conversión de suma a un valor impar (figura 17), el valor coeff_adrs de cómputo generado por el contador 20 indica al circuito 21 de determinación de paridad que el valor recibido por el circuito 21 de determinación de paridad es la suma de todos los coeficientes de transformada de coseno discreta incluidos en el bloque. En respuesta, el circuito 21 de determinación de paridad determina si es impar o par la paridad de la suma de los coeficientes de transformada de coseno discreta.
Cuando el circuito 21 de determinación de paridad determina que es par la paridad de la suma de los coeficientes de transformada de coseno discreta del bloque, transfiere la señal REQ1 de solicitud de tratamiento al inversor 53 de paridad. La señal REQ1 de solicitud de tratamiento llega al inversor 53 de paridad a través del circuito 52 de retardo al mismo tiempo que el coeficiente de transformada de coseno discreta de la componente de frecuencia más alta. La señal REQ1 de solicitud de tratamiento cambia los estados de la tercera y cuarta puertas "Y" 64 y 65. Esto hace que se transfiere el coeficiente de transformada de coseno discreta de frecuencia más alta con el bit menos significativo invertido desde el inversor 63 de bit menos significativo hasta el circuito 15 de transformada de coseno discreta inversa, a través de la cuarta puerta "Y" 65 y la puerta "O" 69. El coeficiente de transformada de coseno discreta de la frecuencia más alta con el bit menos significativo invertido es transferido al circuito de transformada de coseno discreta inversa, en lugar del coeficiente normal de la componente de frecuencia más alta, para hacer impar la paridad.
Por otra parte, cuando el circuito 21 de determinación de paridad determina que es impar la paridad de la suma de los coeficientes de transformada de coseno discreta del bloque, no genera la señal REQ1 de solicitud de tratamiento. El inversor 53 de paridad transfiere el coeficiente de transformada de coseno discreta normal de la frecuencia más alta al circuito 15 de transformada de coseno discreta inversa a través de la tercera puerta "Y" 64 y la puerta "O" 69, puesto que no se requiere hacer impar la paridad de la suma del bloque de coeficientes de transformada de coseno discreta.
Se describirá ahora una segunda realización del descompresor de señal de imagen con movimiento comprimida. En la segunda realización del descompresor de señal de imagen con movimiento comprimida, el circuito convertidor 50 de suma en número impar se utiliza en sustitución del circuito convertidor 35 de suma en número impar de la primera realización del decodificador de señal de imagen con movimiento comprimida, ilustrado y descrito anteriormente con referencia a la figura 13. El circuito representado en la figura 13 se utiliza por lo demás sin modificaciones. En la segunda realización del descompresor de señal de imagen con movimiento comprimida, el tratamiento para convertir en un número impar la suma de los coeficientes de transformada de coseno discreta se realiza de un modo similar al tratamiento realizado por el circuito convertidor de suma en número impar en la segunda realización del compresor de señal de imagen con movimiento, ilustrado y descrito con referencia a la figura 16. De este modo, en la segunda realización del descompresor de señal de imagen con movimiento comprimida, es innecesario transferir la dirección EOB_adrs desde el codificador inverso 32 de longitud variable hasta el circuito convertidor 50 de suma en número impar.
El invento descrito anteriormente hace posible aplicar un método de transformada de coseno discreta inversa y realizar un aparato de transformada de coseno discreta, un compresor de señal de imagen con movimiento, un expansor de señal de imagen con movimiento comprimida, y un aparato transmisor para una señal de imagen con movimiento comprimida en el cual la probabilidad de que se produzca un error de desadaptación en el curso del tratamiento de transformada de coseno discreta inversa se reduce hasta un punto en que no se producen en la práctica errores de desadaptación. Adicionalmente, el invento hace posible realizar un medio de registro en el cual no se produce ningún error de desadaptación cuando es reproducida del medio una señal de imagen con movimiento comprimida y es expandida mediante un tratamiento que incluye una transformación ortogonal inversa.
Cuando se utiliza una transformada de coseno discreta en la compresión de la señal de imagen con movimiento y una transformada de coseno discreta inversa en la expansión de la señal de imagen con movimiento comprimida, el invento hace posible evitar que se produzcan errores de desadaptación en la transformada de coseno discreta inversa. Esto evita el deterioro de la calidad de imagen. Consiguientemente, en un compresor de señal de imagen con movimiento y en un expansor de señal de imagen con movimiento comprimida a los cuales se aplica este invento, no existe posibilidad de que las imágenes decodificadas localmente en el compresor y las imágenes reconstruidas por el expansor sean diferentes entre sí. Se proporciona así una alta calidad de imagen.

Claims (6)

  1. REIVINDICACIONES
    1.-Un método para descodificar un bloque de coeficientes de transformada cuantificados, que comprende:
    cuantificar inversamente el bloque de coeficientes de transformada cuantificados, a fin de proporcionar un bloque de coeficientes de transformada;
    juzgar o determinar la paridad de una suma de los coeficientes de transformada; y
    cambiar, cuando se determina que la paridad es par, la paridad de al menos uno de los coeficientes de transformada, con el fin de convertir en impar la paridad de la suma de los coeficientes de transformada; y
    en el cual, cuando la paridad del al menos un coeficiente de transformada es impar, su paridad se cambia sumándole 1.
  2. 2.-El método de acuerdo con la reivindicación 1, en el cual la paridad del coeficiente de transformada de la componente (7, 7) del bloque de coeficientes se cambia.
  3. 3.-Un método para descodificar un bloque de coeficientes de transformada codificados de longitud variable, que comprende:
    aplicar codificación de longitud variable inversa al bloque de coeficientes de transformada codificados de longitud variable, para proporcionar un bloque de coeficientes de transformada cuantificados; y
    descodificar el bloque de coeficientes de transformada cuantificados, utilizando el método de acuerdo con cualquiera de las reivindicaciones 1 y 2.
  4. 4.-Un aparato (10) para descodificar un bloque de coeficientes de transformada cuantificados, que comprende:
    un cuantificador inverso (13) para cuantificar inversamente el bloque de coeficientes de transformada cuantificados, a fin de proporcionar un bloque de coeficientes de transformada;
    un circuito (21) de determinación de paridad, destinado a juzgar o determinar la paridad de una suma de los coeficientes de transformada; y
    un inversor (28) de paridad, destinado a cambiar la paridad de al menos uno de los coeficientes de transformada si la paridad determinada por el circuito (21) de determinación de paridad es par, con el fin de convertir a impar la paridad de la suma de los coeficientes de transformada,
    en el cual el inversor (28) de paridad está configurado para cambiar la paridad del al menos un coeficiente de transformada al sumarle 1 cuando la paridad del coeficiente de transformada es par.
  5. 5.-El aparato de acuerdo con la reivindicación 4, en el cual el inversor (28) de paridad está configurado para cambiar la paridad del coeficiente de transformada de la componente (7, 7) del bloque de coeficientes.
  6. 6.-Un aparato para descodificar un bloque de coeficientes de transformada codificados de longitud variable, que comprende:
    un codificador de longitud variable inverso (32) para aplicar una codificación de longitud variable inversa al bloque de coeficientes de transformada codificados de longitud variable, a fin de proporcionar un bloque de coeficientes de transformada cuantificados; y
    el aparato de acuerdo con cualquiera de las reivindicaciones 4 y 5 para descodificar el bloque de coeficientes de transformada cuantificados.
ES10011642T 1993-03-01 1994-03-01 Descodificación de un bloque de coeficientes de transformada cuantificados, en donde una paridad par de la suma de los coeficientes de transformada cuantificados inversamente es ajustada a una paridad impar Expired - Lifetime ES2389718T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP4020393 1993-03-01
JP4020393 1993-03-01
JP5990993 1993-03-19
JP5990993 1993-03-19

Publications (1)

Publication Number Publication Date
ES2389718T3 true ES2389718T3 (es) 2012-10-30

Family

ID=26379647

Family Applications (5)

Application Number Title Priority Date Filing Date
ES94907708T Expired - Lifetime ES2137358T3 (es) 1993-03-01 1994-03-01 Metodos para evitar errores de redondeo cuando los coeficientes de transformacion que representan una señal de imagen en movimiento se transforman inversamente.
ES10011642T Expired - Lifetime ES2389718T3 (es) 1993-03-01 1994-03-01 Descodificación de un bloque de coeficientes de transformada cuantificados, en donde una paridad par de la suma de los coeficientes de transformada cuantificados inversamente es ajustada a una paridad impar
ES10011843T Expired - Lifetime ES2389766T3 (es) 1993-03-01 1994-03-01 Descodificación de un bloque de coeficientes de transformada cuantificados, en donde una paridad par de la suma de los coeficientes de transformada cuantificados inversamente es ajustada a una paridad impar
ES98119828T Expired - Lifetime ES2209032T3 (es) 1993-03-01 1994-03-01 Aparato para evitar errores de redondeo cuando los coeficientes de transformada que representan una señal de imagen en movimiento se transforman inversamente.
ES99113786T Expired - Lifetime ES2389797T3 (es) 1993-03-01 1994-03-01 Aparato para evitar errores de redondeo en la transformación inversa de coeficientes de transformada de una señal de imagen en movimiento

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES94907708T Expired - Lifetime ES2137358T3 (es) 1993-03-01 1994-03-01 Metodos para evitar errores de redondeo cuando los coeficientes de transformacion que representan una señal de imagen en movimiento se transforman inversamente.

Family Applications After (3)

Application Number Title Priority Date Filing Date
ES10011843T Expired - Lifetime ES2389766T3 (es) 1993-03-01 1994-03-01 Descodificación de un bloque de coeficientes de transformada cuantificados, en donde una paridad par de la suma de los coeficientes de transformada cuantificados inversamente es ajustada a una paridad impar
ES98119828T Expired - Lifetime ES2209032T3 (es) 1993-03-01 1994-03-01 Aparato para evitar errores de redondeo cuando los coeficientes de transformada que representan una señal de imagen en movimiento se transforman inversamente.
ES99113786T Expired - Lifetime ES2389797T3 (es) 1993-03-01 1994-03-01 Aparato para evitar errores de redondeo en la transformación inversa de coeficientes de transformada de una señal de imagen en movimiento

Country Status (29)

Country Link
US (2) US5481553A (es)
EP (5) EP0903944B1 (es)
JP (2) JP3610578B2 (es)
KR (1) KR100287490B1 (es)
CN (1) CN1076935C (es)
AT (2) ATE185663T1 (es)
AU (1) AU673244B2 (es)
BR (1) BR9404321A (es)
CA (1) CA2134444C (es)
DE (2) DE69433272T2 (es)
DK (5) DK0638218T3 (es)
EG (1) EG20330A (es)
ES (5) ES2137358T3 (es)
FI (1) FI112579B (es)
GR (1) GR3032133T3 (es)
HK (2) HK1013575A1 (es)
HU (1) HU217744B (es)
IL (1) IL108787A (es)
MY (1) MY110794A (es)
NO (2) NO314709B1 (es)
NZ (1) NZ261907A (es)
OA (1) OA10108A (es)
PL (1) PL173287B1 (es)
PT (4) PT954182E (es)
RO (1) RO115926B1 (es)
RU (1) RU2119727C1 (es)
TR (1) TR28436A (es)
TW (1) TW224553B (es)
WO (1) WO1994021083A1 (es)

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5515388A (en) * 1993-03-19 1996-05-07 Sony Corporation Apparatus and method for preventing repetitive random errors in transform coefficients representing a motion picture signal
EP0671816B1 (en) * 1993-09-28 2000-03-29 Sony Corporation Encoding/decoding device with all odd or all even value rounding
US5796438A (en) * 1994-07-05 1998-08-18 Sony Corporation Methods and apparatus for interpolating picture information
JP3794502B2 (ja) 1994-11-29 2006-07-05 ソニー株式会社 画像領域抽出方法及び画像領域抽出装置
US5623423A (en) * 1994-12-12 1997-04-22 Univ. Of Texas Apparatus and method for video decoding
US5675666A (en) * 1995-03-02 1997-10-07 Sony Corportion Image data compression method and apparatus with pre-processing to compensate for the blocky effect
JP3855286B2 (ja) * 1995-10-26 2006-12-06 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体
JPH09128529A (ja) * 1995-10-30 1997-05-16 Sony Corp ディジタル画像の雑音の投影に基づく除去方法
KR100355375B1 (ko) * 1995-11-01 2002-12-26 삼성전자 주식회사 영상부호화장치에있어서양자화간격결정방법및회로
JP3994445B2 (ja) * 1995-12-05 2007-10-17 ソニー株式会社 動きベクトル検出装置及び動きベクトル検出方法
US6256349B1 (en) * 1995-12-28 2001-07-03 Sony Corporation Picture signal encoding method and apparatus, picture signal transmitting method, picture signal decoding method and apparatus and recording medium
US6057893A (en) * 1995-12-28 2000-05-02 Sony Corporation Picture encoding method, picture encoding apparatus, picture transmitting method and picture recording medium
US5822005A (en) * 1996-01-11 1998-10-13 Tektronix, Inc. Pre-oddification
US5710732A (en) * 1996-04-22 1998-01-20 Samsung Electronics Co., Ltd. Calculating the average of four integer numbers rounded away from zero in a single instruction cycle
US5751617A (en) * 1996-04-22 1998-05-12 Samsung Electronics Co., Ltd. Calculating the average of two integer numbers rounded away from zero in a single instruction cycle
TW357327B (en) * 1996-08-02 1999-05-01 Sony Corp Methods, apparatus and program storage device for removing scratch or wire noise, and recording media therefor
US5930159A (en) * 1996-10-17 1999-07-27 Samsung Electronics Co., Ltd Right-shifting an integer operand and rounding a fractional intermediate result to obtain a rounded integer result
EP1689194A3 (en) * 1996-11-07 2008-12-10 Panasonic Corporation Image encoder and image decoder
US5917739A (en) * 1996-11-14 1999-06-29 Samsung Electronics Co., Ltd. Calculating the average of four integer numbers rounded towards zero in a single instruction cycle
US6007232A (en) * 1996-11-14 1999-12-28 Samsung Electronics Co., Ltd. Calculating the average of two integer numbers rounded towards zero in a single instruction cycle
EP0786907A3 (en) * 1997-01-24 2001-06-13 Texas Instruments Incorporated Video encoder
CN1217852A (zh) * 1997-02-13 1999-05-26 三菱电机株式会社 动态图象预测方式
JP4346114B2 (ja) * 1997-03-12 2009-10-21 パナソニック株式会社 複数の標準的な出力信号を提供するmpegデコーダ
US6078616A (en) 1997-03-13 2000-06-20 Sony Corporation Methods and apparatus for error concealment utilizing temporal domain motion vector estimation
US6128340A (en) * 1997-03-14 2000-10-03 Sony Corporation Decoder system with 2.53 frame display buffer
AU1941797A (en) * 1997-03-17 1998-10-12 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
US5903311A (en) * 1997-05-30 1999-05-11 Sony Corporation Run level pair buffering for fast variable length decoder circuit
US7801380B2 (en) * 1997-06-09 2010-09-21 Hitachi, Ltd. Recording medium having recorded thereon coded information using plus and/or minus rounding of images
US6574371B2 (en) 1997-06-09 2003-06-03 Hitachi, Ltd. Image decoding method
EP1237376B1 (en) 1997-06-09 2015-08-05 Hitachi, Ltd. Image information recording medium
SE512171C2 (sv) * 1997-07-02 2000-02-07 Forskarpatent I Linkoeping Ab Videoöverföring
US6351563B1 (en) * 1997-07-09 2002-02-26 Hyundai Electronics Ind. Co., Ltd. Apparatus and method for coding/decoding scalable shape binary image using mode of lower and current layers
WO1999010719A1 (en) 1997-08-29 1999-03-04 The Regents Of The University Of California Method and apparatus for hybrid coding of speech at 4kbps
AU728938B2 (en) * 1997-09-29 2001-01-18 Canon Kabushiki Kaisha A method for data compression
US6937659B1 (en) 1997-11-14 2005-08-30 Ac Capital Management, Inc. Apparatus and method for compressing video information
US6222832B1 (en) * 1998-06-01 2001-04-24 Tantivy Communications, Inc. Fast Acquisition of traffic channels for a highly variable data rate reverse link of a CDMA wireless communication system
US6137844A (en) * 1998-02-02 2000-10-24 Oki Telecom, Inc. Digital filter for noise and error removal in transmitted analog signals
EP0936743A1 (fr) * 1998-02-17 1999-08-18 Koninklijke Philips Electronics N.V. Décodage itératif pour codes binaires en bloc
GB2335815B (en) * 1998-03-25 2002-02-27 Sony Uk Ltd Data compression
US6393155B1 (en) * 1998-11-04 2002-05-21 International Business Machines Corporation Error reduction in transformed digital data
US6256422B1 (en) * 1998-11-04 2001-07-03 International Business Machines Corporation Transform-domain correction of real-domain errors
US6567557B1 (en) 1999-12-10 2003-05-20 Stmicroelectronics, Inc. Method for preventing dual-step half-pixel motion compensation accumulation errors in prediction-rich MPEG-2 sequences
GB2363279B (en) * 1999-04-01 2003-10-22 Ravisent Technologies Inc Method for preventing dual-step half-pixel motion compensation accumulation errors in prediction-rich MPEG-2 sequences
GB2352905B (en) * 1999-07-30 2003-10-29 Sony Uk Ltd Data compression
US6735249B1 (en) * 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
US6377627B1 (en) 1999-08-31 2002-04-23 Sony Corporation Method and apparatus for decoding MPEG video data
US6456663B1 (en) * 2000-03-29 2002-09-24 Matsushita Electric Industrial Co., Ltd. DCT domain down conversion system that compensates for IDCT mismatch
GB2364459B (en) * 2000-06-30 2004-03-31 Nokia Mobile Phones Ltd Video error resilience
US7168069B1 (en) 2000-07-12 2007-01-23 Stmicroelectronics, Inc. Dynamic generation of multimedia code for image processing
US6819715B2 (en) * 2000-07-25 2004-11-16 Matsushita Electric Industrial Co., Ltd. Image decoding method, image decoding apparatus, and data storage medium
FR2815748B1 (fr) * 2000-10-20 2003-01-24 Canon Kk Procede et dispositif de traitement et de decodage d'un signal numerique code
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
EP2271111B1 (en) * 2001-11-06 2016-08-10 Panasonic Intellectual Property Corporation of America Moving picture coding method and moving picture decoding method
KR100434740B1 (ko) * 2001-11-09 2004-06-10 주식회사 휴맥스 디지털 방송 프로그램에서의 저배속 재생방법
CN1266947C (zh) * 2001-12-25 2006-07-26 松下电器产业株式会社 活动图象压缩编码装置及运动矢量检测方法
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
ES2334934T3 (es) * 2002-09-04 2010-03-17 Microsoft Corporation Codificacion de entropia por adaptacion de codificacion entre modalidades de nivel y de longitud de sucesion y nivel.
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
KR20050086449A (ko) * 2002-11-12 2005-08-30 코닌클리케 필립스 일렉트로닉스 엔.브이. 변환-영역 샘플 단위의 결정 피드백 등화기
US7292867B2 (en) * 2003-01-16 2007-11-06 Bones In Motion, Inc. Location-aware fitness training device, methods, and program products that support real-time interactive communication and automated route generation
US7403561B2 (en) * 2003-04-04 2008-07-22 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7782954B2 (en) * 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
DE10345995B4 (de) 2003-10-02 2005-07-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verarbeiten eines Signals mit einer Sequenz von diskreten Werten
US7801383B2 (en) * 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US8331445B2 (en) * 2004-06-01 2012-12-11 Qualcomm Incorporated Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques
KR20070085310A (ko) * 2004-11-16 2007-08-27 코닌클리케 필립스 일렉트로닉스 엔.브이. 송신기측 채널 적응 비디오 전송
KR100669634B1 (ko) * 2004-12-06 2007-01-15 엘지전자 주식회사 동영상 압축 및 복원 방법
US8311119B2 (en) * 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
JP4270161B2 (ja) * 2005-04-15 2009-05-27 ソニー株式会社 情報記録再生システム、情報記録再生装置及び情報記録再生方法
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7684981B2 (en) * 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US7693709B2 (en) 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US7565018B2 (en) * 2005-08-12 2009-07-21 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US7974340B2 (en) * 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8503536B2 (en) * 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8711925B2 (en) * 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8571340B2 (en) 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
US8606023B2 (en) 2006-06-26 2013-12-10 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8275045B2 (en) 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
US20080036864A1 (en) * 2006-08-09 2008-02-14 Mccubbrey David System and method for capturing and transmitting image data streams
US9319700B2 (en) 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8599926B2 (en) 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
US8325819B2 (en) 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
DE102006049232B4 (de) * 2006-10-18 2010-02-04 Ods Technology Gmbh Verfahren und Vorrichtung zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation
US8300698B2 (en) 2006-10-23 2012-10-30 Qualcomm Incorporated Signalling of maximum dynamic range of inverse discrete cosine transform
US8238424B2 (en) * 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8184710B2 (en) * 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
US8498335B2 (en) * 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
RU2479937C2 (ru) * 2007-03-30 2013-04-20 Сони Корпорейшн Устройство и способ обработки информации
KR101370286B1 (ko) 2007-04-06 2014-03-06 삼성전자주식회사 레지듀얼 블록의 변형을 이용한 영상 부호화, 복호화 방법및 장치
US8442337B2 (en) * 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US7774205B2 (en) * 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
US8428133B2 (en) 2007-06-15 2013-04-23 Qualcomm Incorporated Adaptive coding of video block prediction mode
KR101401967B1 (ko) * 2007-12-04 2014-06-27 삼성전자주식회사 암호화된 데이터 스트림의 트릭 플레이 방법 및 장치
US8189933B2 (en) * 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8179974B2 (en) * 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8897359B2 (en) * 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
RU2479942C2 (ru) * 2008-06-27 2013-04-20 Сони Корпорейшн Устройство обработки изображения и способ обработки изображения
CN101779468B (zh) * 2008-06-27 2012-07-04 索尼公司 图像处理装置和图像处理方法
RU2479935C2 (ru) * 2008-06-27 2013-04-20 Сони Корпорейшн Устройство для обработки изображения и способ обработки изображения
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
US8798152B2 (en) * 2008-09-11 2014-08-05 General Instrument Corporation Method and apparatus for fast motion estimation
KR101834825B1 (ko) * 2009-01-27 2018-03-06 톰슨 라이센싱 비디오 인코딩 및 디코딩에서 변환 선택을 위한 방법 및 장치
EP2222086A1 (de) * 2009-02-18 2010-08-25 EcoDisc Technology AG Verfahren und Vorrichtung zur Vermeidung von Rundungsfehlern nach Durchführung einer inversen diskreten orthogonalen Transformation
US8457425B2 (en) * 2009-06-09 2013-06-04 Sony Corporation Embedded graphics coding for images with sparse histograms
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
JP5530198B2 (ja) 2009-11-20 2014-06-25 パナソニック株式会社 画像符号化方法、復号化方法、装置
JP5546329B2 (ja) * 2010-04-14 2014-07-09 キヤノン株式会社 データ変換装置
KR101690253B1 (ko) * 2010-05-06 2016-12-27 삼성전자주식회사 영상 처리 장치 및 그 방법
GB2483282B (en) * 2010-09-03 2017-09-13 Advanced Risc Mach Ltd Data compression and decompression using relative and absolute delta values
RU2599959C2 (ru) * 2011-12-21 2016-10-20 Интел Корпорейшн Схема сжатия dram для снижения потребления энергии при компенсации движения и обновления отображения
US9008184B2 (en) * 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
EP2675159B1 (en) * 2012-06-15 2018-08-08 BlackBerry Limited Multi-bit information hiding using overlapping subsets
JPWO2014002896A1 (ja) * 2012-06-29 2016-05-30 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法
US20140133574A1 (en) * 2012-11-13 2014-05-15 Mediatek Inc. Method and Apparatus for Sign Data Hiding of Video and Image Data
KR101757341B1 (ko) 2013-01-29 2017-07-14 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에.베. 저-복잡도 음조-적응 오디오 신호 양자화
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
KR20180107153A (ko) 2016-02-16 2018-10-01 삼성전자주식회사 영상 부호화 방법 및 장치와 영상 복호화 방법 및 장치
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
US10225562B1 (en) * 2017-08-21 2019-03-05 Google Llc Embedding information about EOB positions
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
US11962757B2 (en) 2019-03-23 2024-04-16 Lg Electronics Inc. Residual signal encoding/decoding method and apparatus employing intra sub-partitions (ISP), and method for transmitting bitstream
JP7170886B2 (ja) 2019-08-23 2022-11-14 三菱電機株式会社 画像送信装置、画像受信装置、画像送信プログラム及び画像受信プログラム
KR20210156985A (ko) 2020-06-19 2021-12-28 삼성전자주식회사 일 함수 층들을 갖는 반도체 소자들
KR20210158615A (ko) 2020-06-24 2021-12-31 삼성전자주식회사 게이트 라인을 포함하는 집적회로 소자
KR20210158607A (ko) 2020-06-24 2021-12-31 삼성전자주식회사 캡핑층을 포함하는 반도체 소자

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3138816A1 (de) * 1981-09-30 1983-04-14 Philips Patentverwaltung Gmbh, 2000 Hamburg Anordnung zum speichern oder uebertragen und zum rueckgewinnen von bildsignalen
EP0232417B1 (de) * 1985-10-02 1991-11-06 Deutsche Thomson-Brandt GmbH Verfahren zur korrektur von übertragungsfehlern
DE3779345D1 (de) * 1986-03-20 1992-07-02 American Telephone & Telegraph Datenkompression mit listensformation.
US5218650A (en) * 1991-01-02 1993-06-08 Ricoh Corporation Quantization method for use in image compression
JP2909239B2 (ja) * 1991-03-27 1999-06-23 株式会社東芝 高能率符号化記録再生装置

Also Published As

Publication number Publication date
PT2276259E (pt) 2012-09-20
JP3610578B2 (ja) 2005-01-12
EP0638218B1 (en) 1999-10-13
CA2134444A1 (en) 1994-09-15
GR3032133T3 (en) 2000-04-27
TW224553B (en) 1994-06-01
FI945106A (fi) 1994-12-30
RO115926B1 (ro) 2000-07-28
HU9403127D0 (en) 1995-02-28
CN1106988A (zh) 1995-08-16
EP0954182A1 (en) 1999-11-03
KR950701486A (ko) 1995-03-23
DE69433272T2 (de) 2004-08-12
DE69421135D1 (de) 1999-11-18
EP2276259B1 (en) 2012-08-22
JP3593988B2 (ja) 2004-11-24
AU6116194A (en) 1994-09-26
EG20330A (en) 1998-10-31
NO944138D0 (no) 1994-10-31
EP0903944B1 (en) 2003-10-22
NO314709B1 (no) 2003-05-05
JPH07506954A (ja) 1995-07-27
ES2389797T3 (es) 2012-10-31
NO944138L (no) 1994-12-23
AU673244B2 (en) 1996-10-31
FI945106A0 (fi) 1994-10-31
OA10108A (en) 1996-12-18
DE69433272D1 (de) 2003-11-27
MY110794A (en) 1999-04-30
EP0638218A1 (en) 1995-02-15
KR100287490B1 (ko) 2001-04-16
NO20010762D0 (no) 2001-02-15
PT2276258E (pt) 2012-09-20
EP2276258A3 (en) 2012-03-07
US5590139A (en) 1996-12-31
NO20010762L (no) 1994-12-23
BR9404321A (pt) 1999-07-27
PT954182E (pt) 2012-09-03
EP0903944A3 (en) 2000-04-05
ATE185663T1 (de) 1999-10-15
US5481553A (en) 1996-01-02
DK2276259T3 (da) 2012-09-17
WO1994021083A1 (en) 1994-09-15
ATE252806T1 (de) 2003-11-15
EP2276258B1 (en) 2012-09-05
TR28436A (tr) 1996-06-24
DK0903944T3 (da) 2004-03-01
PL306007A1 (en) 1995-02-20
CN1076935C (zh) 2001-12-26
IL108787A (en) 1997-07-13
DK0954182T3 (da) 2012-09-24
CA2134444C (en) 2003-10-14
NO314710B1 (no) 2003-05-05
ES2389766T3 (es) 2012-10-31
HK1013575A1 (en) 1999-08-27
EP2276259A2 (en) 2011-01-19
NZ261907A (en) 1996-09-25
PT903944E (pt) 2004-03-31
EP0903944A2 (en) 1999-03-24
DE69421135T2 (de) 2000-05-25
HUT76452A (en) 1997-09-29
HK1025448A1 (en) 2000-11-10
DK2276258T3 (da) 2012-09-17
PL173287B1 (pl) 1998-02-27
JP2001292451A (ja) 2001-10-19
EP2276258A2 (en) 2011-01-19
HU217744B (hu) 2000-04-28
RU2119727C1 (ru) 1998-09-27
EP0954182B1 (en) 2012-07-11
DK0638218T3 (da) 2000-01-31
ES2137358T3 (es) 1999-12-16
ES2209032T3 (es) 2004-06-16
FI112579B (fi) 2003-12-15
EP2276259A3 (en) 2012-03-07

Similar Documents

Publication Publication Date Title
ES2389718T3 (es) Descodificación de un bloque de coeficientes de transformada cuantificados, en donde una paridad par de la suma de los coeficientes de transformada cuantificados inversamente es ajustada a una paridad impar
ES2755882T3 (es) Procedimiento de codificación de imágenes en movimiento, procedimiento de descodificación de imágenes en movimiento y aparatos de los mismos
US7061410B1 (en) Method and/or apparatus for transcoding between H.264 CABAC and CAVLC entropy coding modes
US5515388A (en) Apparatus and method for preventing repetitive random errors in transform coefficients representing a motion picture signal
US7346111B2 (en) Co-located motion vector storage
JP2009260977A (ja) 不可逆圧縮及び可逆圧縮を組み合わせて用いたビデオデータ圧縮
JP4260894B2 (ja) 画像処理システム内のメモリ効率のよい圧縮装置
JP2003230148A (ja) 画像データ符号化装置
US6778706B1 (en) Image compression method for video decoding based on motion compensation
KR100209357B1 (ko) Mpeg-1 및 mpeg-2 비디오 역양자기 회로
US20050025247A1 (en) Apparatus for parallel calculation of prediction bits in a spatially predicted coded block pattern and method thereof
JP2007104155A (ja) 画像復号装置
KR19980030712A (ko) 영상부호화기의 데이터 포맷팅 회로
JPH08126011A (ja) 画像復号方法および画像復号装置
Wittig Parallelism in the decoding of MPEG digital video
JPH06237453A (ja) 動画像信号復号化装置
JP2699703C (es)
JPH04130862A (ja) 画像符号化方式