Dispositivo de codificación de imágenes en movimiento y dispositivo de decodificación de imágenes en movimiento.
Un aparato para la gestión del almacenamiento de datos de imágenes en una memoria,
utilizándose dicho aparato para la codificación o la decodificación de imágenes en movimiento, que comprende:
una memoria que tiene áreas de memoria (41) en cada una de las cuales se pueden almacenar los datos de imagen correspondientes a un cuadro;
una unidad de almacenamiento (52) operable para almacenar los datos de imágenes en la memoria; y
una unidad de gestión de memoria (53) operable para gestionar un estado (44) de cada área de memoria (41) mediante el establecimiento de una información de almacenamiento de "usado" o "no usado", siendo el estado un estado de prohibición de almacenamiento de datos o un estado de autorización de almacenamiento de datos, caracterizado por que
cuando unos primeros datos de campo se escriben en una primera área de memoria en el estado de autorización de almacenamiento de datos, dicha unidad de gestión de memoria es operable para prohibir que se escriban datos adicionales en la primera área de memoria, excepto cuando los segundos datos de campo emparejados con los primeros datos de campo se escriben en la primera área de memoria.
Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/JP2003/008954.
Solicitante: Panasonic Intellectual Property Corporation of America.
Nacionalidad solicitante: Estados Unidos de América.
Dirección: 20000 Mariner Avenue, Suite 200 Torrance, CA 90503 ESTADOS UNIDOS DE AMERICA.
Inventor/es: KADONO, SHINYA, SCHLOCKERMANN,MARTIN, SCHUUR,BERNHARD.
Fecha de Publicación: .
Clasificación Internacional de Patentes:
- H04N7/26
- H04N7/32
- H04N7/36
- H04N7/50
PDF original: ES-2536543_T3.pdf
Fragmento de la descripción:
Dispositivo de codificación de imágenes en movimiento y dispositivo de decodificación de imágenes en movimiento Campo de la Invención La presente invención se refiere al control de gestión de memoria de una memoria volátil de cuadros múltiples usada para almacenar datos de imágenes de referencia en codificación y decodificación de video, y particularmente a un método de gestión de memoria para datos de video entrelazados.
Antecedentes Las imágenes en movimiento se usan en un número cada vez más alto de aplicaciones en campos que varían de telefonía de video y conferencias de video a DVD y televisión digital. Para transmitir imágenes en movimiento, es necesario transmitir un enorme volumen de datos por medio de un canal de transmisión existente en el cual un ancho de banda de frecuencia efectivo es limitado. Cuando los datos digitales se transmiten dentro de una banda de transmisión limitada, existe una necesidad absoluta de comprimir o reducir el volumen de los datos que serán transmitidos.
Con el propósito de hacer posible una interoperabilidad entre datos de video en una pluralidad de sistemas dedicados a aplicaciones que fueron diseñadas por diferentes fabricantes, se han desarrollado normas de codificación de video para comprimir el volumen de datos de video en un método común. Estas normas de codificación de video incluyen H.261 y H.263 desarrolladas por ITU, y MPEG-1, MPEG-2 y MPEG-4 desarrolladas por ISO/IEC.
Un enfoque básico para la codificación tomado por muchas de las normas anteriores comprende las siguientes etapas principales:
1. dividir cada imagen en bloques formados de píxeles para hacer posible la realización de procesamiento a un nivel de bloques en imágenes que constituyan un video. Una imagen se refiere a un cuadro o campos;
2. reducir la redundancia espacial en una imagen al realizar la codificación por transformación, cuantificación y entropía en datos de video en un bloque y
3. codificar una diferencia entre cuadros consecutivos, utilizando la correlación entre las imágenes consecutivas.
Lo anterior se logra mediante el uso de una técnica de cálculo y compensación de movimiento. Para calcular, en una base de bloque a bloque, un vector de movimiento que indique datos de imagen predictivos que indiquen una fuerte correlación entre cuadros, un codificador realiza un cálculo de movimiento para buscar los cuadros codificados para una posición de datos de imagen que indique una fuerte correlación. Además, el codificador y el decodificador realizan la compensación de movimiento para extraer datos de imagen predictivos con respecto al vector de movimiento.
La figura 1 muestra una configuración ejemplar de un codificador de video (aparato de codificación de imágenes de movimiento) . El codificador de video ilustrado en el diagrama comprende: una unidad de transformación 13 operable para transformar datos de video espaciales en un dominio de frecuencia; una unidad de cuantificación 14 que funciona para cuantificar los coeficientes de transformación obtenidos por la unidad de transformación 13; una unidad de codificación de longitud variable 15 que funciona para realizar una codificación por entropía en los coeficientes de transformación cuantificados; una memoria volátil de video 17 para suministrar un canal de transmisión con datos de video comprimidos a una velocidad de bits variable dependiendo de una velocidad de transmisión; un decodificador 16 y una unidad de cálculo de movimiento 19.
Los datos de video 10 que provienen del codificador mostrado en la figura 1 son ingresados en una forma de valores de píxel usando modulación de códigos por impulso (PCM) . Un sustractor 11 calcula el valor diferencial entre los datos de video 10 y una imagen compensada en movimiento 12. La imagen compensada en movimiento 12 se obtiene como un resultado de decodificar una imagen ya codificada y realiza la compensación de movimiento en la imagen resultante ("una imagen decodificada actual") . Esto se realiza mediante un decodificador 16 en pares con el codificador de video. El decodificador 16 realiza el procedimiento de codificación en un orden inverso. Dicho de otra manera, el decodificador 16 comprende una unidad de cuantificación inversa (Q-1) , una unidad de transformación de coseno individual inversa (IDCT) y un adicionador para añadir una diferencia decodificada y una imagen compensada en movimiento para generar así una imagen precedente que sea equivalente a la obtenida en el lado del decodificador.
En la codificación compensada en movimiento, los datos compensados en movimiento en una imagen actual se generan, con base al cálculo de movimiento que ha sido realizado en esa imagen y una imagen decodificada, de datos de imagen derivados de la imagen decodificada correspondiente. Un valor predicho en movimiento es representado por un vector de movimiento bidimensional que indica un desplazamiento de píxeles entre la imagen decodificada y la imagen actual. Normalmente, el cálculo de movimiento se realiza en una base de bloque a bloque.
Dicho de otra manera, un bloque en la imagen decodificada que está más fuertemente correlacionado con un bloque en el cuadro actual se considera como una imagen compensada en movimiento. La unidad de cálculo de movimiento 19 que funciona para realizar este cálculo de movimiento y una unidad de compensación de movimiento MC que funciona para generar una imagen compensada en movimiento a partir de la imagen que ha sido decodificada correspondiendo al vector de movimiento se incorporan en el codificador.
El codificador de video ilustrado en la figura 1 funciona de la siguiente manera. La imagen de video de la señal de video 10 es dividida en un grupo de un cierto número de bloques pequeños generalmente llamado macrobloque. Por ejemplo, una imagen de video 20 mostrada en la figura 2 es dividida en una pluralidad de macrobloques 21. Generalmente, cada uno de los macrobloques tiene un tamaño de 16 x 16 píxeles.
Además, una imagen es dividida en cierto número de cortes 22. Cada corte está formado de una pluralidad de macrobloques y sirve como una unidad de recuperación de alineación en el momento de la pérdida de datos. Obsérvese que una disposición de macrobloques que constituyen un corte no necesariamente está formada de macrobloques en la misma fila como se muestra en la figura 2, y por lo tanto también es posible que un corte incluya macrobloques en una pluralidad de filas y hay un delimitador de otro corte en medio de la fila.
Cuando los datos de imagen en video son codificados solo al reducir el volumen de redundancia espacial en la imagen, la imagen resultante es llamada imagen I. Una imagen I se codifica con referencia solo a valores de píxel en la imagen. El tamaño de los datos de una imagen I codificada es grande porque la información temporal usada para reducir el volumen de los datos no se puede usar para una imagen I.
Con el propósito de realizar una compresión eficiente utilizando la redundancia temporal entre imágenes consecutivas, la codificación por predicción se realiza en las imágenes consecutivas sobre la base del cálculo de movimiento y la compensación de movimiento. Cuando una imagen de referencia seleccionada en el cálculo de movimiento es una imagen que ya ha sido codificada y decodificada, es llamada imagen P. Mientras tanto, cuando dos imágenes son imágenes de referencia (normalmente, imágenes hacia adelante y hacia atrás en orden de presentación visual con respecto a una imagen actual) , son llamadas imagen B.
De acuerdo con la norma H.26L en un método de codificación de imágenes en desarrollo, la compensación de movimiento para cada uno de los 16 x 16 macrobloques se puede realizar mediante el uso de un tamaño de bloque diferente. Cada vector de movimiento puede determinarse con respecto a un bloque con un tamaño de 4 x 4, 4 x 8, 8 x 4, 8 x 8, 8 x 16 o 16 x 16 píxeles. El efecto de usar un tamaño de bloque más pequeño para la compensación de movimiento es que se hace posible describir movimientos detallados.
Basándose en el resultado de la estimación de movimiento, la estimación se realiza en un vector de movimiento determinado como compensación de movimiento. Posteriormente, la información incluida en un bloque de error de predicción obtenido del bloque predicho se transforma en coeficientes de transformación en la unidad de transformación 13. Generalmente, se emplea la Transformación de Coseno Discreta (DCT) bidimensional. Estos coeficientes de transformación obtenidos se cuantifican, y la codificación de entropía (VLC) se realiza en el resultante mediante la unidad de codificación de entropía 15 en el extremo. Obsérvese que un vector de movimiento calculado por la unidad de cálculo de movimiento... [Seguir leyendo]
Reivindicaciones:
1. Un aparato para la gestión del almacenamiento de datos de imágenes en una memoria, utilizándose dicho aparato para la codificación o la decodificación de imágenes en movimiento, que comprende:
una memoria que tiene áreas de memoria (41) en cada una de las cuales se pueden almacenar los datos de imagen correspondientes a un cuadro; una unidad de almacenamiento (52) operable para almacenar los datos de imágenes en la memoria; y una unidad de gestión de memoria (53) operable para gestionar un estado (44) de cada área de memoria (41)
mediante el establecimiento de una información de almacenamiento de "usado" o "no usado", siendo el estado un estado de prohibición de almacenamiento de datos o un estado de autorización de almacenamiento de datos, caracterizado por que cuando unos primeros datos de campo se escriben en una primera área de memoria en el estado de autorización de almacenamiento de datos, dicha unidad de gestión de memoria es operable para prohibir que se escriban 15 datos adicionales en la primera área de memoria, excepto cuando los segundos datos de campo emparejados con los primeros datos de campo se escriben en la primera área de memoria.
2. Un método para la gestión del almacenamiento de datos de imágenes en una memoria para ser utilizado por un aparato para la codificación o decodificación de imágenes en movimiento, que comprende:
una etapa de almacenamiento (67) de almacenamiento de datos de imágenes en una memoria que tiene áreas de memoria (41) , en cada una de las cuales se pueden almacenar datos de imágenes correspondientes a un cuadro; y una etapa de gestión de memoria (62-66, 68) de gestión de un estado (44) de cada área de memoria (41) , mediante el establecimiento de una información de almacenamiento de "usado" o "no usado", siendo el estado un estado de prohibición de almacenamiento de datos o una estado de autorización de almacenamiento de datos, caracterizado por que en dicha etapa de gestión de memoria, cuando unos primeros datos de campo se escriben en una primera área de memoria en el estado de autorización de almacenamiento de datos, se prohíbe la escritura de datos adicionales en la primera área de memoria, excepto cuando los segundos datos de campo emparejados con los primeros datos de campo se escriben en la primera área de memoria.
Patentes similares o relacionadas:
Sistema y método para codificación y decodificación aritmética, del 29 de Abril de 2020, de NTT DOCOMO, INC.: Método de decodificación aritmética para convertir una secuencia de información compuesta por una secuencia de bits en una secuencia de eventos binarios compuesta […]
Filtro de desbloqueo condicionado por el brillo de los píxeles, del 25 de Marzo de 2020, de DOLBY INTERNATIONAL AB: Método para desbloquear datos de píxeles procesados con compresión de vídeo digital basado en bloque, incluyendo los pasos: - recibir […]
Método para codificar y descodificar imágenes B en modo directo, del 19 de Febrero de 2020, de Godo Kaisha IP Bridge 1: Un método para generar y descodificar una secuencia de bits de una imagen B objetivo, en donde generar la secuencia de bits de la imagen B objetivo incluye las siguientes […]
Interpolación mejorada de cuadros de compresión de vídeo, del 4 de Diciembre de 2019, de DOLBY LABORATORIES LICENSING CORPORATION: Un método de compresión de imágenes de video que comprende: proporcionar una secuencia de cuadros referenciables (I, P) y predichos bidireccionales […]
Interpolación mejorada de cuadros de compresión de vídeo, del 4 de Diciembre de 2019, de DOLBY LABORATORIES LICENSING CORPORATION: Un método para compresión de imágenes de video usando predicción en modo directo, que incluye: proporcionar una secuencia de cuadros predichos […]
Capa de sectores en códec de vídeo, del 27 de Noviembre de 2019, de Microsoft Technology Licensing, LLC: Un procedimiento de decodificación de vídeo e imágenes, que comprende: decodificar una imagen de un flujo de bits codificado que tiene una jerarquía […]
Transformación solapada condicional, del 20 de Noviembre de 2019, de Microsoft Technology Licensing, LLC: Un método para codificar un flujo de bits de vídeo utilizando una transformación solapada condicional, en donde el método comprende: la señalización de un modo de filtro […]
Técnica para una simulación del grano de película exacta de bits, del 4 de Septiembre de 2019, de InterDigital VC Holdings, Inc: Un procedimiento para simular un grano de película en un bloque de imagen que comprende: calcular el promedio de los valores de luminancia de píxeles dentro del bloque de […]