MXPA06009734A - Metodo y sistema de decodificacion digital de imagenes de video 3d estereoscopicas. - Google Patents

Metodo y sistema de decodificacion digital de imagenes de video 3d estereoscopicas.

Info

Publication number
MXPA06009734A
MXPA06009734A MXPA06009734A MXPA06009734A MXPA06009734A MX PA06009734 A MXPA06009734 A MX PA06009734A MX PA06009734 A MXPA06009734 A MX PA06009734A MX PA06009734 A MXPA06009734 A MX PA06009734A MX PA06009734 A MXPA06009734 A MX PA06009734A
Authority
MX
Mexico
Prior art keywords
video
sequence
image
tdvision
decoding
Prior art date
Application number
MXPA06009734A
Other languages
English (en)
Inventor
Manuel Rafael Gutierrez Novelo
Original Assignee
Td Vision Corp S A De C V
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
Priority claimed from PCT/MX2004/000012 external-priority patent/WO2005083637A1/es
Application filed by Td Vision Corp S A De C V filed Critical Td Vision Corp S A De C V
Priority to MXPA06009734A priority Critical patent/MXPA06009734A/es
Publication of MXPA06009734A publication Critical patent/MXPA06009734A/es

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Metodo y sistema de decodificacion digital de imagenes de video 3D estereoscopicas compatibles con el formato MPEG2, con su propio algoritmo de codificacion. Con la finalidad de obtener imagenes de 3D en un flujo de video digital se han realizado modificaciones a los decodificadores actuales en MPEG2 mediante cambios en el hardware y software, en diferentes partes del proceso de decodificacion. A saber, se modifican las estructuras y el video-sequence del flujo de video para incluir las banderas necesarias que identifican a nivel de bits el tipo de imagen de tecnologia TDVision(r); las modificaciones se realizan en los procesos de decodificacion como al decodificar la informacion via software y hardware, en donde se activa un doble buffer de salida, se activa un selector de decodificacion en paralelo y por diferencias, se realiza el proceso de descompresion, se despliega en el buffer de salida correspondiente; el decodificador se debera de programar via software para recibir y decodificar en forma simultanea dos flujos de programa independientes cada uno con identificador estereoscopico TDVision(r).

Description

MÉTODO Y SISTEMA DE DECOD1FICACION DIGITAL DE IMÁGENES DE VIDEO 3D ESTEREOSCÓPICAS CAMPO DE LA INVENCIÓN La presente invención se relaciona al despliegue de imágenes de video estereoscópicas en el dispositivo 3DVisor®, de manera más particular a un método para decodifícar imágenes de video por medio de un sistema de compresión de datos digital que permite almacenar ¡nformación tridimensional utilizando técnicas estandarizadas de compresión.
ANTECEDENTES DE LA INVENCIÓN En la actualidad se usan las técnicas de compresión de datos con el fin de reducir el consumo de bits en la representación de una imagen o serie de imágenes. Los trabajos de la estandarización fueron llevados a cabo por un grupo de expertos de la Organización de Estandarización Internacional (ISO). Los métodos se denominan de manera usual en la actualidad, JPEG (joint photographic expert group) y MPEG (moving picture expert group). Una característica común de estas técnicas es que los bloques de imágenes se procesan por medio de la aplicación de una transformación adecuada al bloque, llamada de manera usual, la Transformada Discreta de Coseno (DCT). Los bloques formados se someten a un proceso de cuantización, luego se codifican con un código de longitud variable.
El tipo de código de longitud variable es un proceso reversible, lo cual permite reconstruir de manera exacta lo que ha sido codificado con el código de longitud variable. Los despliegues de señales de video digital incluyen un número de cuadros de ¡magen (30 a 96 fps) que se despliegan o representan de manera sucesiva a frecuencias de entre 30 y 75 Hz. Cada cuadro de imagen en todavía una imagen formada de un arreglo de pixeles de acuerdo a la resolución de despliegue de un sistema en particular. Por ejemplo, el sistema VHS tiene una resolución de despliegue de 320 columnas, 480 líneas, el sistema NTSC tiene una resolución de despliegue de 720 columnas, 486 líneas; y el sistema de televisión de alta definición (HDTV) tiene una resolución de despliegue de 1360 columnas, 1020 líneas. Con referencia a una forma digitalizada de un formato VHS de baja resolución que tiene 320 columnas, 480 líneas, una película de dos horas de duración podría corresponder a 100 gígabytes de información de video digital. A manera de comparación, un disco óptico compacto convencional tiene capacidad de aproximadamente 0.6 gigabytes, un disco duro magnético tiene capacidad de 1-2 gigabytes, y los actuales discos ópticos compactos tienen capacidad de más de 8 gigabytes. Todas las imágenes que observamos en el cine como en una pantalla de televisión se basan en el principio de presentar imágenes completas (estáticas como fotografías) a gran velocidad, que al presentarse de manera rápida y secuencial (30 fps) con una velocidad de 30 cuadros por segundo se percibe la sensación de una imagen animada, debido a la retentiva del ojo del ser humano.
Para poder codificar las imágenes que se presentarán en forma secuencial y forman señales de video, es necesario dividir cada imagen en renglones, donde cada línea está dividida en elementos de ¡magen o pixeles, cada píxel tiene asociados dos valores, a saber , luma y croma. La luma representa la intensidad de luz de cada punto, croma representa el color en función de un espacio de color definido (RGB) que se puede representar por tres bytes. Las imágenes se despliegan en la pantalla en un barrido de forma horizontal-vertical, de arriba hacia abajo y de izquierda a derecha, así sucesivamente en forma cíclica. El número de líneas y frecuencia con que se despliega puede cambiar en función del formato que puede ser NTSC, PAL o SECAM. Las señales de video pueden ser digitalizadas para ser almacenadas en formato digital, después de ser transmitidas, recibidas y decodificadas para ser desplegadas en un dispositivo de despliegue como un televisor normal o el 3DVisor®, a este proceso se le denomina Codificación-Decodíficación de señales de video analógico a digital. Por definición, MPEG cuenta con dos métodos diferentes para entrelazar el audio y el video, en los flujos de sistema: El flujo de transporte, utilizado en sistemas con amplia posibilidad de error como es el caso de los sistemas vía satélite, los cuales son susceptibles de interferencias. Cada paquete cuenta con una longitud de 188 bytes, iniciando con un encabezado de identificación, que permite reconocer faltantes y reparar errores. Bajo el flujo de transporte se pueden transmitir diversos programas de audio y de video de manera simultánea en un solo flujo de transporte, ya que debido al encabezado podrán ser decodíficados e integrados a muchos programas de forma independiente e individual.
El flujo de programa se utiliza en sistemas que no tiene tanta posibilidad de error, como en la reproducción de un DVD. En este caso los paquetes son de longitud variable y sustancialmente más grandes que los paquetes utilizados en el flujo de transporte. Como característica principal el flujo de programa solo permite un solo contenido de programa. Aún cuando los flujos de transporte y de programa manejan los paquetes diferentes, el formato de video y de audio son decodificados de forma idéntica. A su vez, existen tipos de compresión que se aplican a los anteriores, por ejemplo: compresión por predicción de tiempo y compresión de espacio. La decodifícación está asociada a un proceso matemático muy tedioso, con el objeto de reducir el volumen de información se dividió la imagen completa de un cuadro completo en una unidad denominada macroblock, cada macroblock se compone de una matriz de 16 pixeles x 16 pixeles, y se ordena y denomina de arriba hacia abajo y de izquierda a derecha. Aún cuando se tiene un arreglo matricial en la pantalla el envío dentro del flujo de información sigue una secuencia especial secuencial, esto es: los macroblocks se ordenan en sentido ascendente, es decir, macroblockO, macroblockl , etc. Un conjunto de macroblocks (macrobloques) consecutivos representa una rebanada (slice), puede haber cualquier número de macroblocks en una rebanada, siempre y cuando los macroblocks pertenezcan a un solo renglón, de la misma manera que los macroblocks, las rebanadas se nominan de izquierda a derecha y de abajo hacia arriba. Las rebanadas tienen que cubrir toda la imagen, ya que esta es una forma en la que MPEG2 logra comprimir el video, una imagen codificada no necesariamente necesita muestras para cada píxel. Algunos perfiles de MPEG requieren que se maneje una estructura rígida de rebanadas, en la cual se debe cubrir por completo la imagen.
La patente USP No. 5,963,257, otorgada el 5 de octubre de 1999, a Katata y colaboradores, protege un dispositivo de decodificación de imágenes planas de video que tiene medios para separar los datos codificados por áreas de posición y forma de la imagen, código de capa inferior, código de capa superior de codificación predictiva, obteniéndose así una estructura jerárquica de los datos codificados; el decodifícador posee medios para separar los datos codificados en la estructura jerárquica con el fin de obtener una imagen de alta calidad. La patente USP No. 6,292,588, otorgada el 18 de septiembre de 2001 , a Shen y colaboradores, protege un aparato y método de codificar imágenes planas predíctivas que se reconstruyen y decodifican a partir de una pequeña región, de tal modo que los datos de la imagen plana reconstruida se genera con la suma de los datos de la imagen de la región pequeña y los datos de la predicción óptima de la misma. Dicho aparato de decodificación predictiva de un flujo de datos de imagen, incluye un código de longitud variable de coeficientes DCT unidimensionales. La USP No. 6,370,276, otorgada el 9 de abril de 2002, a'Boon, utiliza un método de decodificación similar al anterior. La USP No. 6,456,432, otorgada el 24 de septiembre de 2002, a Lazzaro y colaboradores, protege un sistema de despliegue de imágenes 3D estereoscópicas tomadas desde dos perspectivas, desplegadas desde un CRT, multiplexadas en una manera secuencial de campo y libres de parpadeo para ambos ojos del observador. La USP No. 6,658,056, otorgada el 2 de diciembre de 2003, a Duruoz y colaboradores, protege un decodificador de video digital que comprende una sección lógica de despliegue que responde a un comando del "campo próximo" para sacar un campo de video digital de ubicaciones designadas en una memoria de salida. El sistema de presentación de video digital está provisto con un decodificador de video MPEG2. Las imágenes son decodificadas como buffer de memoria, el buffer de memoria se optimiza al mantener tablas de variables de compensación y el acceso a tablas fijas de apuntadores de memoria que se despliegan como campos de datos. La USP No. 6,665,445, otorgada el 16 de diciembre de 2003, a Boon, protege una estructura de datos para la transmisión de imágenes, un método de codificación de imágenes planas y un método de decodificacíón de imágenes planas. El método de decodificación consta de dos partes, la primera es para decodificar el flujo de datos con información de la forma de la imagen, la segunda es un proceso de decodifícación del valor de los píxeles del flujo de datos de imagen, ambas partes se pueden conmutar de acuerdo a la codificación de la señal de la imagen plana. La USP No. 6,678,331 , otorgada el 13 de enero de 2004, a Moutin y colaboradores, protege un decodíficador MPEG que usa una memoria compartida, en efecto, el circuito incluye un microprocesador , un decodificador MPEG que decodifica una secuencia de imagen plana, y una memoria común para el microprocesador y decodificador. También incluye un circuito para evaluar el retraso en el decodificador, un circuito de control que determina la prioridad de memoria para el microprocesador o decodificador. La USP No. 6,678,424, otorgada el 13 de enero de 2004, a Ferguson, protege un modelo del comportamiento del sistema de visión humana en tiempo real, en efecto, procesa dos señales de imágenes en dos dimensiones, una de ellas derivada de la otra, en canales diferentes.
BREVE DESCRIPCIÓN DE LA INVENCIÓN Es un objeto de la presente invención proporcionar un método y sistema de decodificación digital de imágenes de video 3D estereoscópicas que consta de cambios en software y cambios en hardware. Es un objeto adicional de la presente ¡nvención proporcionar un método de decodificación en donde a los datos codificados de la imagen se hace el recorrido normal del video_sequence, es decir, variable_lenght_decod¡ng (VLD), ¡nverse_scan; inverse_quantization, ¡nverse_discrete_cos¡ne_transform (IDCT), motion_compensat¡on. Es también un objeto de la presente invención hacer cambios en la información del software para la decodificación en la identificación del formato de video, compatibilidad MPEG2 hacia atrás para imágenes en 2D, discriminar una ¡magen del tipo TDVision®, guardar buffer de última imagen, aplicar decodificación de información, aplicar corrección de errores, guardar el resultado en el buffer del canal respectivo. Es aún otro objeto de la presente invención proporcionar un método de decodificación con el recorrido del video_sequence en forma normal de tal forma que cuando se encuentra una imagen del tipo TDVisíon®, se guarda el buffer de la última imagen completa en el buffer del canal izquierdo o derecho. Es también otro objeto de la presente invención proporcionar un proceso de decodificación en el que se pueden mandar dentro del mismo video_sequence dos señales de vídeo que dependen una de otra (diferencia) en el que se aplica la decodificación de información y se almacena como cuadro tipo B.
Es todavía un objeto de la presente invención proporcionar un proceso de decodificación en el que se aplica la corrección de error a la última imagen obtenida al aplicar los vectores de movimiento y de corrección de color. Es también un objeto de la presente invención programar el decodificador vía software para recibir y decodificar en forma simultánea dos flujos de programa independientes. Es aún otro objeto de la presente invención proporcionar un sistema de decodificación que decodifica la información de imágenes 3D, vía hardware en el que se activa un doble buffer de salida. Es otro objeto de la presente invención proporcionar un sistema de decodificación de información de imágenes 3D, que activa un selector de decodifícación de imágenes en paralelo y por diferencias. Es también otro objeto de la presente ¡nvención proporcionar un sistema de decodifícación de información de imágenes 3D, que realiza el proceso de descompresión y despliega el buffer de salida correspondiente.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN La combinación de hardware y algoritmos de software permite que se lleve a cabo la compactación de información de imágenes 3D estereoscópicas, que se reciben como dos señales de video en forma independíente pero con el mismo time_code, correspondientes a la señal izquierda y señal derecha que provienen de una cámara 3Dvis¡on®, enviando dos programas simultáneos con identificadores de par estereoscópico, favoreciendo así el proceso de codificacíón-decodificación. También se pueden manejar dos señales de vídeo que dependen una de la otra, al hacer la diferencia entre ellas, la cual se almacena como cuadro de tipo "B" con identificador del tipo de imagen. Debido a que el proceso de codificación se dejó abierto para motivar el desarrollo tecnológico, sólo es necesario seguir el siguiente proceso de decodificación; a saber, a los datos codificados se les aplica una decodificación de longitud variable donde se obtiene una reducción sustancial, pero debe utilizar una tabla de búsqueda para llevar a cabo la decodifícación; un proceso de exploración inversa; un proceso de cuantización inversa en el que se multiplica cada dato por un escalar; se aplica la función inversa de transformación de cosenos; la etapa de corrección de errores o de compensación de movimiento y finalmente se obtiene la imagen decodificada. Las características novedosas de la presente invención, tanto en lo referente a su estructura y método de operación, se comprenderá mejor a partir de la descripción de los dibujos que la acompañan, que se toman en conjunto con la descripción anexa, en donde los caracteres de referencia similares se refieren a partes y pasos similares. La figura 1 , que representa el mapa de tecnología a la cual pertenece la materia objeto de la presente ¡nvención, en efecto, se refiere a un método y sistema de codificación y decodifícación de imágenes 3D estereoscópicas que proviene de una cámara estereoscópica (32), información que se compila en (31) y se despliega en cualquier sistema adecuado (30) o (33). La ¡nformación se codifica en (34) y de ahí se puede transmitir a un sistema que tenga una etapa previa de decodificación apropiada como (35), que puede ser sistema de cable (36), sistema satelital (37), sistema de televisión de alta definición (38) o a un sistema de visión estereoscópica como los 3DVisors® (39) de TDVision®. La figura 2, representa un diagrama de flujo en el que se resaltan los pasos del método del proceso que se lleva a cabo, cuya finalidad es obtener imágenes en tres dimensiones de un flujo de video digital, se deben hacer modificaciones a los decodificadores actuales de MPEG2, cambios en software (3) y cambios en hardware (4) en el proceso de decodificación (2), el decodificador (1) debe ser compatible con MPEG2-4. La figura 3, esquematiza las estructuras que se deberán modificar y el video_sequence del flujo de datos para identificar al nivel de bits el tipo de imagen de tecnología TDVision®. A continuación se detalla cada una de las etapas del proceso de decodificación (20): Los datos codificados (10) son bytes con información de bloques, macrobloques, campos, cuadros, imágenes de video en formato de MPEG2. Donde el VLC Variable_lenght_decoding (11) (Decodificador de Longitud Variable) es un algoritmo de compresión en el cual los patrones que ocurren con más frecuencia son reemplazados por códigos más cortos y los que ocurren con menor frecuencia por códigos más largos. La versión comprimida de esta información ocupa menos espacio y se puede transmitir de forma más rápida por medio de redes, sin embargo, no es un formato que sea fácil de editar y requiere de una descompresión que utiliza una tabla de búsqueda (lookup table). Por ejemplo la palabra BEETLE Letra Código ASCII VLC B 01000010 0000 0010 10 E 0110 0101 11 L 0110 1100 0001 01 T 0111 0100 0100 De modo que la palabra en código ASCII, resulta ser: 0100 0010 0110 0101 0110 0101 0111 01000 0110 1100 0110 0101 en VLC: 0000 0010 10 11 11 0100 00010 01 11. Se nota una reducción sustancial, sin embargo, para regresar de VLC a la palabra Beetle se necesita buscar en la tabla para decodificar el flujo de bits, esto se hace por comparación exacta de los bits que se leen. Exploración Inversa (Inverse Sean) (12), la ¡nformación debe estar agrupada por bloques, y lo que se obtiene al codificar la ¡nformación por el VLC es un flujo lineal. Los bloques son matrices de 8x8 datos, por lo que es necesario convertir la información lineal en una matriz cuadrada de 8x8. Se hace en una forma descendente en zigzag, de arriba hacia abajo y de izquierda a derecha en los dos tipos de secuencia, según se trate de una ¡magen progresiva o de una imagen entrelazada. Cuantización Inversa (13) (Inverse Quantization), es simplemente el multiplicar cada valor de datos por un factor. Al codificar, la mayoría de los datos de los bloques son cuantízados para quitar información que el ojo humano no es capaz de percibir, la cuantización permite que se pueda obtener una mayor conversión del flujo MPEG2, y se requiere también que se lleve a cabo el proceso inverso (Cuantización Inversa, lnverse_quantization) dentro del proceso de decodifícación. Transformación inversa de cosenos (14) (IDCT) (inverse_discrete_cosine_transform), los datos que se manejan dentro de cada bloque pertenecen al dominio de la frecuencia, esta transformación inversa de cosenos permite regresar a las muestras del dominio del espacio. Una vez transformados los datos en la I DCT ya se pueden obtener pixeles, colores y correcciones de color.
Compensación de Movimiento (15) (motion_compensation), permite corregir algunos errores generados hasta antes de la etapa de decodificacíón del formato MPEG, la compensación de movimiento toma como referencia un cuadro anterior y calcula un vector de movimiento relativo a los pixeles (puede calcular hasta cuatro vectores) y los utiliza para crear una nueva imagen. Esta compensación de movimiento se aplica para las imágenes de tipo P y de tipo B, donde se tiene ubicada la posición de la imagen en un tiempo "t" a partir de imágenes de referencia. Además de la compensación de movimiento también se tiene la corrección de errores, ya que no basta con predecir la posición de un píxel en particular, sino que también puede haber cambio en su color. De este modo, se tiene la imagen decodificada (16). Para decodifícar una imagen de tipo P o tipo B, se toma la imagen de referencia, se suman algebraicamente los vectores de movimiento para calcular la imagen siguiente, por último se aplican los datos de corrección de errores, generando así, la ¡magen decodificada en forma exitosa. En efecto, en el video_sequence, se tiene dos señales de video que dependen una de la otra "R-L= delta, la diferencia delta es la que se almacena como cuadro tipo B con identificador TDVisíon® de par estereoscópico y que se construye al momento de la decodifícación por diferencias a partir de la imagen. Esto es, R-delta= L y L-delta= R, la ¡magen izquierda se construye a partir de la diferencia con la ¡magen derecha, esta a su vez a partir de la diferencia con la imagen izquierda. El proceso anterior se esquematiza de una manera tal que se toma la señal izquierda o derecha, se almacenan ambas en un buffer temporal luego se calcula la diferencia de la señal izquierda con la señal derecha y se almacena la información que corresponde a la imagen correcta, luego se codifica como una imagen de tipo B que se almacena en el video_sequence para después ser decodificada por diferencias a partir de dicha imagen. En el proceso de decodificación de video se puede deducir que los datos que entran por la etapa del VLC son mucho menores que los datos que salen de la misma etapa. Estructura de la secuencia de video en MPEG, esta es la máxima estructura usada en el formato MPEG2 y tiene el siguiente formato: Secuencia de Video (Video__Sequence) Encabezado de Secuencia (SecuenceJHeader) Extensión de Secuencia (Sequence_Extension) Datos (0) del Usuario y Extensión (Extension_and_User_Data (0)) Encabezado del Grupo de Imágenes (Group_of_Pícture_Header) Datos (1) del Usuario y Extensión (Extension_and_User_Data (1)) Encabezado de Imagen (PíctureJHeader) Extensión de Imagen Codificada (Picture_CodingJ?xtension) Datos (2) del Usuario y Extensiones (Extension_and_User_Data (2)) Datos de Imagen (Picture_Data) Rebanada (Slíce) Macrobloque (Macroblock) Vectores de Movimiento (Motion_Vectors) Patrón de Bloques Codificados (Coded_Block_Pattern) Bloque (Block) Código Final de la Secuencia (Sequence_end_Code) La secuencia de video se compone de estas estructuras, una secuencia de video se aplica para formato MPEG, para distinguir cada versión se debe validar que inmediatamente después del encabezado de secuencia se presente la extensión de secuencia, de no preceder la extensión de secuencia al encabezado, entonces se trata de un flujo de video en formato MPEG1. Al inicio de una secuencia de video, en el video_sequence siempre aparece el sequence_header y el sequence_extension. Las repeticiones del sequence_extension deben ser idénticas a la primera y las "s" repeticiones del sequence_header varían poco respecto a la primera ocurrencia, sólo la porción que define las matrices de cuantízación debería cambiar. El tener repeticiones de secuencias permite un acceso aleatorio al flujo de video, esto es, si el decodificador quiere iniciar la reproducción a la mitad del flujo de vídeo, lo podrá hacer, sólo tiene que buscar el sequence_header y la sequence_extension anteriores a ese momento para poder decodificar las imágenes siguientes. Esto mismo sucede para flujos de video que pueden no iniciar desde el principio, como un decodificador de satélite que se enciende a la mitad del tiempo de transmisión del programa. El proceso completo de cod ificación-decod ¡ficación de señales de video consta de los pasos siguientes: Digitalización de las señales de video, que puede ser en formato (NTSC, PAL o SECAM). Almacenamiento de las señales de video en forma digital Transmisión de señales Grabación de flujo de vídeo digital en medio físico (DVD, VCD, MiníDV) Recepción de señales Reproducción de flujo de video digital Decodificación de señales Despliegue de señales Es imprescindible que se aumente la memoria al doble para ser manejada por el DSP adecuado y tener la posibilidad de disponer hasta de 8 buffer de salida que permitan la representación previa y simultánea de una imagen estereoscópica en un dispositivo como el 3DVisor® de TDVisíon®. En efecto, se deberán inicializar dos canales al llamar las API de programación del DSP, como por ejemplo, el caso ilustrativo el DSP de Texas Instruments TMS320C62X. MPEG2VDEC_create (const IMPEG2VDEC_fxns*fxns, const MEPG2VDEC_Params* params). Donde IMPEG2VDEC_fxns y MEPG2VDEC_Params son estructuras de apuntadores que definen los parámetros de operación de cada canal de video, por ejemplo: 3DLhandle = MPEG2VDEC_create(fxns3DLEFT,Params3DLEFT). 3DRhandle = MPEG2VDEC_create(fxns3DRIGHT,Params3DRIGHT). Habilitando de éste modo, dos canales de video a ser decodificados y obteniendo dos manejadores de video, uno para canal izquierdo-derecho estereoscópico. Se deberá contar con doble buffer de salida de presentación de video, y mediante software se definirá a cual de los dos buffers se debe presentar la salida haciendo un llamado a la función AP: A saber, MPEG2VDEC_APPLY(3DRhandle, inputRI, inputR2, inputR3, 3doutright_pb, 3doutright__fb). MPEG2VDEC_APPLY(3DLhandle, inputLI , ¡nputL2, inputL3, 3doutleft_pb, 3doutleft_fb). Este mismo procedimiento se podrá implementar para cualquier DSP, microprocesador o dispositivo electrónico con funciones similares.
Donde 3DLhandle es el apuntador al handle devuelto por la función del créate del DSP, el parámetro inputl es la dirección FUNC_DECODE_FRAME o FUNC_START_PARA, input2 es el apuntador a la dirección del buffer de entrada externo, input3 es el tamaño del buffer de entrada externo. 3doutleft_pb es la dirección del buffer de parámetros, 3doutleft_fb es el inicio del buffer de salida (output buffer) donde se almacenará la imagen decodificada. El timecode y el timestamp se utilizarán para dar salida al dispositivo final en forma secuencial sincronizada. Es imprescindible que se aumente la memoria al doble para ser manejada por el DSP y tener la posibilidad de hasta 8 buffer de salida que permitan la presentación previa y simultánea de una imagen estereoscópica en un dispositivo como el 3Dvísor® de TDVision® Corporation. La integración de procesos de software y hardware se lleva a cabo por dispositivos denominados DSP que realizan la mayor parte del proceso de hardware. Estos DSP se programan medíante un híbrido de lenguaje C y de Ensamblador proporcionados por el fabricante. Cada DSP cuenta con su propia API que consiste en una lista de funciones o llamadas a procedimientos que radican dentro del DSP que son llamados mediante software. Con esta información de referencia se elabora la presente solicitud para decodificación de imágenes en 3D que son compatibles con el formato MPEG2. En efecto, al inicio de una secuencia de video siempre aparece el encabezado de secuencia (sequence_header) y la extensión de secuencia. Las repeticiones de la extensión de secuencia deben ser idénticas a la primera, en contraste, las repeticiones del encabezado de secuencia varían poco con respecto a la primera ocurrencia, debería cambiar sólo la porción que define las matrices de cuantización. En la figura 4, se representa de manera esquemática el formato de software de compilación del método de decodíficación TDVisíon® (40), en donde se identifica primero el video_sequence (41) del flujo de vídeo digital de imagen estereoscópica que puede ser dependiente o independiente (imágenes paralelas), en el sequence_header (42) si la imagen es TDVisíon® entonces se activa el doble buffer y se identifican los cambios en el aspect_ratiojnformation; en el user_data (43) se lee la información correspondiente a la imagen que se puede encontrar aquí; el sequence_scalable_extension (44) identifica la información que contiene y las capas base y de mejora, el video_sequence se puede ubicar aquí, define el scalable node y el identifícador de capas; extra_bit_picture (45) identifica el picture_estructure, picturejpeader y el picture_coding_extensíon (46), lee las imágenes tipo "B" y si la imagen es del tipo TDVision® entonces decodifica el segundo bufffer; picture_temporal_scalable_extensíon () (47), en el caso de tener escalabilidad temporal se utiliza para decodificar imágenes de tipo B. A saber el encabezado de secuencia (sequence_header), provee un nivel más alto de información sobre el flujo de video, para propósitos de claridad se indica también el número de bits correspondientes a cada uno, los bits más significativos se encuentran dentro de la estructura extensión de la secuencia (SequenceJ?xtension), está formado por las siguientes estructuras: Sequense_Header Campo # bits Descripción Secuence_Header_Code 32 Inicio de SequenceJHeader 0x00001 B3 Horizontal Size Valué 12 12 bits menos significativos del ancho * Vertical Size Valué 12 12 bits menos significativos del alto* Aspect Ratio Information aspecto de la ¡magen 0000 prohibido 0001 n/a TDVision® 0010 4:3 TDVision® 0011 16:9 TDVision® 0100 2.21 :1 TDVision® 0111 se hará un "and" lógico para obtener la compatibilidad en retroceso con sistemas de 2D. 0101...1111 reservados Frame rate code 0000 prohibido 0001 24,000/1001 (23.976) en formato TDVision® 0010 24 en formato TDVision® 0011 25 en formato TDVisíon® 0100 30,000/1001 (29.97) " 0101 30 en formato TDVision® 0110 50 en formato TDVision® 0111 60,000/1001 (59.94) " (se hará un "and" lógico para obtener la compatibilidad en retroceso con sistemas de 2D.) 1000 60 1111 reservados Bit rate valué 18 Los 18 bits menos significativos del bit rate del video_stream (bit_rate= 400 x bit_rate_value + bit_rate_extension« 18) los bits más significativos se encuentran dentro de la estructura sequence_extension. Marker bit 1 Siempre es 1 (previene falla de start_code). Vbv buffer size valué 10 Los 10 bits menos significativos del vbv_buffer_síze, que determina el tamaño del video buffering verifier (VBV), una estructura utilizada para asegurar que un flujo de datos puede ser utilizado decodificando u n buffer de tamaño limitado sin que se exceda el buffer o quede demasiado grande. Constrained_parameters_flag 1 Siempre es 0, no se usa en MPEG2. Load_intra_quantizer_matr¡x 1 Indica si se cuenta con una matriz de cuantización intra-coded. Si (load_intra_quantizer_matrix) lntra_quantizer_matrix(64) 8x64 Si se indica matriz de cuantización entonces se debe especificar aquí, es una matriz de 8x64. Load_non_intra_quantizer_matrix 1 Si se cuenta con una matriz no- intra-cuantizada, entonces se debe activar esta bandera. Si load_non_intra_quantizer_matrix Non_intra_quantízer_matrix (64) 8x64 Si la bandera anterior está activada se colocan aquí los 8x64 datos que forman la matriz cuantizada.
* Los bits más significativos se encuentran dentro de la estructura sequence_extension.
Picture_coding_extens?on Campo # bits Descripción Extension_start_code 32 Siempre 0x000001 B5 Extension_start_code_identifier 4 Siempre 1000 F_code(0)(0) 4 Utilizados para decodifícar vectores de movimiento, cuando es una imagen de tipo I, este dato se llena con 1111. F_code(0)(1) 4 F_code(1)(0) 4 Decodíficar información hacia atrás en vectores de movimiento (B), cuando es una imagen de tipo (P) se debe poner en 1111 , porque no tienen movimiento hacia atrás.
F_code (1 )(1 ) Decodificar información hacia atrás en vectores de movimiento, cuando es una imagen de tipo P se debe poner en 1111 , porque no tienen movimiento hacia atrás, I ntra_dc_precision precisión utilizada en la cuantización inversa de los coeficientes de la transformada discreta de cosenos DC. 00 precisión de 8 bits 01 precisión de 9 bits 10 precisión de 10 bits 11 precisión de 11 bits Picture structure Especifica si la ¡magen está dividida en campos o en un cuadro completo 00 reservado (¡magen en formato TDVision®) 01 campo superior 10 campo inferior 11 ¡magen por cuadro Top_field_first 0= decodificar primero el campo ¡nferior 1= decodificar primero el campo superior Frame_pred_frame_dct Concealment_motion_vectors Q_scale_type lntra_vic_format Alternate_scan Repeat_first_field 0= desplegar un cuadro progresivo 1= desplegar dos cuadros progresivos idénticos Chroma_420_type Si el formato de chroma es 4:2:0 entonces debe ser igual a progressive_frame, de lo contrario debe ser igual a cero Progressive_frame 0= entrelazado 1 = progresivo Composite_display__flag avisa sobre la información codificada originalmente V_axis 1 Field_sequence Sub_carrier 1 Burst_amplitude 7 Sub_carrier_phase 8 Next_start_code() Picture_temporal_scalable_extension() p En caso de tener escalabílidad temporal, hay dos flujos de resolución espacial idénticos, la capa inferior proporciona una versión de menor índice de cuadros de video, mientras que la capa superior se puede utilizar para derivar una versión de mayor índice de cuadros del mismo video. La escalabilidad temporal puede ser utilizada por decodificadores de baja calidad, de bajo costo o totalmente gratis, mientras que el mayor índice de cuadros por segundo sería utilizado por un pago. Picture_temporal_scalable_extension() Campo # de bits Definición Extension_start_code_ídentifier 4 Siempre 1010 Reference_select_code 2 Se utiliza para señalar que ¡magen de referencia se utilizará para decodifícar imágenes intra_coded PARA IMÁGENES TIPO O 00 mejora en las imágenes más recientes 01 la capa del cuadro más baja y reciente en orden de despliegue 10 la próxima capa de bajo cuadro en orden de despliegue 11 prohibido. PARA IMÁGENES TIPO B 00 prohibido 01 imágenes decodificadas más recientemente en modo mejorado 10 imágenes decodíficadas más recientemente en modo mejorado 11 imagen más reciente en el la capa (layer) ¡nferior en orden de despliegue Forward_temporal_reference 10 Referencia temporal Marker bit 1 Backward_temporal_reference 10 Referencia temporal Next_star_code() Picture_spatial_scalable_extension() En caso de escalabilidad espacial de ¡magen, la capa de mejora contiene datos que permiten una mayor resolución de la capa base para que pueda ser reconstruida. Cuando se utiliza una capa de mejora en función de una capa base como referencia para compensación de movimiento, entonces la capa inferior debe ser escalada y desfasada para obtener la mayor resolución de la capa de mejora.
Picture_spatial_scalable_extension() Campo # de bits Definición Extension_start_code_identifier 4 Siempre 1001 Lower_layer_temporal_reference 10 Referencia a la imagen temporal de la capa inferior Marker_bit 1 1 Lower_layer_horizontal_offset 15 Compensación (Offset) horizontal Marker_bit 1 1 Lower_layer_veretical_offset 15 Compensación (Offset) vertical Spat¡al_temporal__weight__code_table_index 2 Detalles de predicción LowerJayer_progressive_frame 1 1 = progresiva 0= entrelazada Lower_layer_desínterlaced_fieId_select 1 0= se usa el campo superior 1= se usa el campo inferior Next_start_code() Copyríght_extension() Extension_start_code_jdentifier 4 Siempre 010 Copyright_fIag 1 si es igual a 1 entonces utiliza derechos de autor Si es cero (0) no requiere información adicional de copyright Copyrightjdentifier 8 1= original 0= copia Original_or_copy 1 Reserved 7 Marker_b¡t 1 Copyright_number_1 20 Número otorgado por instancia de copyright Marker_bit 1 Copyright_number_2 22 Número otorgado por instancia de copyright Marker_bít 1 Copyright_number_3 22 Número otorgado por instancia de copyright Next_start_code() Picture_data() Esta es una estructura simple, no cuenta con campos en sí misma.
Slice() Contiene información de uno o más macrobloques en la misma posición vertical. Slice_start_code 32 Slice_vertical_position_extension3 Prior¡ty_breakpoint 7 Quantizer_scale_code 5 lntra_slíce_flag 1 lntra_slice 1 Reserved_bits 7 Extra_bit_slice 1 Extra_information_slice 8 Extra_bit_slice 1 Macroblock() Macroblock_modes() Motion_vectors() Motion_vector() Coded_block_pattem() Block() EXTENSION_ANDJJSER_DATA(2) La ¡magen se pueda desplegar en: DVD (Digital Versatile Disks) DTV (Digital Televisión) HDTV (High Definition Televisión) CABLE (DVB Digital Video Broadcast) SATÉLITE (DSS Digital Satellite Systems); y es la integración de procesos de software y hardware. El formato de compilación de decodificación en la parte de hardware (50) de la figura 5, se duplica la memoria del input del DSP, al mismo tiempo, se permite la entrada simultánea de dos señales de video independientes o dependientes, que corresponden a la señal existente estereoscópica izquierda-derecha tomada por la cámara estereoscópica TDVision®. En el procedimiento se detecta el video_sequence (51) para alternar el cuadro izquierdo y derecho o enviarlos en paralelo, identificación del sequence_header (52), se identifica el tipo de imagen (53), pasa al flujo de vídeo normal (54), después se somete a un proceso de corrección de error (55), la información de la imagen de video se manda al buffer de salida (56) que a su vez comparte y distribuye la información hacia el canal izquierdo (57) y al canal derecho (58), en dichos canales se despliega la información del flujo de vídeo con ¡nformación en 3D o 2D. Consiste en almacenar ambos flujos de video L (izquierda) y R (derecha) en forma simultánea como dos flujos de video independientes; pero sincronizados con el mismo time_code, para que después puedan ser decodificados y reproducidos en paralelo en sendos bufffer de salida. También pueden ser dependientes y decodifícados por diferencias. En la parte de hardware, la mayor parte del proceso lo realizan los dispositivos denominados DSP (Digital Signal Processors) o procesador de señales digitales. A saber, se pueden usar como ejemplo, los modelos de Motorola y de Texas Instruments (TMS320C62X). Estos DSP se programan medíante un híbrido de Lenguaje C y de ensamblador, proporcionado por el fabricante en cuestión. Cada DSP cuenta con su propia API que consiste en una lista de funciones o llamadas a procedimientos que radican dentro del DSP para ser llamados mediante software. A partir de esta información de referencia se codifican las imágenes en 3D que son compatibles con el formato MPEG2 y también con su propio algoritmo de codificación. Al codificar la información el DSP se encarga de realizar los procesos de predicción, comparación, cuantización, aplicación de la función DCT para formar el flujo de video compactado MPEG2. Con la finalidad de obtener imágenes en 3 dimensiones de un flujo de video digital, se han realizado ciertas modificaciones a los decodificadores actuales de MPEG2, mediante cambios en el software y hardware, en diferentes partes del proceso de decodificación. Se deben modificar las estructuras y el video_sequence del flujo de datos de video para incluir las banderas necesarias que identifican a nivel de bits el tipo de imagen con la tecnología TDVision®. Las modificaciones se hacen en los siguientes pasos de decodificación.
Software: Identificación del formato de vídeo. Aplicación de un "and" lógico para compatibilidad MPEG2 hacía atrás en caso de no ser un video TDVisíon®. Decodificación de las imágenes en forma normal (técnica previa) recorriendo el video_sequence. En caso de una ¡magen del tipo TDVision®: _Discriminar si son señales de video dependientes o independientes _Guardar buffer de última imagen completa en buffer de canal izquierdo o derecho. _Aplicar la decodíficación de información de cuadro tipo B. _Aplicar corrección de errores a la última imagen obtenida al aplicar los vectores de movimiento y de corrección de color. _Guardar el resultado en el buffer del canal respectivo. _Seguir lectura de secuencia de video.
Hardware: Al decodificar la información vía hardware; _discrimina si la ¡magen es 2D o 3D _Se activa un doble buffer de salida (se incrementa la memoria). _Se activa selector de decodifícación por diferencias. _Se activa selector de decodificación en paralelo. _Se lleva a cabo el proceso de descompresión. _Se despliega la ¡magen en el buffer de salida correspondiente. Se utilizarán en forma específica las siguientes estructuras, sub-estructuras y secuencias que pertenecen a la estructura video_sequence para la implementación por hardware de la tecnología TDVision® compatible con MPEG2 hac a atrás. En efecto: Sequencejpeader Aspect_ratio_information 1001 n/a en TDVísion® 1010 4:3 en TDVision® 1011 16:9 en TDVisíon® 1100 2.21:1 en TDVision® Se hará un "and" lógico con 0111 para obtener la compatibilidad hacía atrás en sistemas de 2D, cuando esto sucede, se envía la instrucción al DSP de que el buffer del par estereoscópico (izquierdo o derecho) debe ser igual afluente, así que todas las imágenes que se decodifiquen se enviarán hacia ambos buffer de salida para permitir el despliegue de la imagen en cualquier dispositivo. Frame_rate_code 1001 24,000/101 (23.976) en formato TDVision®. 1010 24 en formato TDVision®. 1011 25 en formato TDVision®. 1100 30,000/1001 (29.97) en formato TDVision®. 1101 30 en formato TDVisíon®. 1110 50 en formato TDVision®. 1111 60,000/1001 (59.94) en formato TDVision®. Se hará un "and" lógico con 01111 para obtener la compatibilidad hacia atrás con sistemas de 2D. User_data() Sequence_scalable_extension Picture_header Extra_bit_picture 0 = TDVision® 1 = normal Picture_coding_extension Picture-structure 00= ¡magen en formato TDVision® Picture_temporal_scalable_extension() Al momento de codificar la ¡nformación se utiliza un DSP que se encarga de realizar los procesos de predicción, comparación, cuantización, aplica el DCT para formar el flujo de video compactado MPEG2, y que discrimine entre señales de ¡magen 2D o 3D. Se codifican dos señales de video en forma independiente pero con el mismo time_code, señales que corresponden a la señal izquierda y señal derecha que proviene de una cámara 3DVision®, enviando dos programas simultáneos con identificadores de par estereoscópico TDVision®. Este tipo de decodificación se denomina por imágenes en paralelo, que consiste en almacenar ambos flujos de video izquierdo y derecho (L y R) en forma simultánea como dos flujos de video independientes; pero sincronizados en el time_code. Después serán decodificados y reproducidos en paralelo. Sólo se deberá modificar el software en la decodificación, la codificación y el algoritmo de compactación de flujo de transporte será idéntico al actual. Modificación de software en el decodificador. En el decodificador se deberán programar de forma simultánea dos flujos de programa independientes, o bien dos señales de video que dependan una de la otra, esto es, se construyen a partir de la diferencia de ambas que se almacena como cuadro tipo B con identificador, siguiendo las API de programación como es el caso del ejemplo, en el uso del DSP de Texas Instrument de la familia TMS320C62X. Método y algoritmo de programación del DSP. _Crear dos canales de proceso al iniciar el DSP (buffers primario y secundario ó izquierdo y derecho al llamar la API). _Obtener los apuntadores de memoria Ram de cada canal (direcciones de Ram en el mapa de memoria) _AI obtener una secuencia de video tipo TDVision® se toma como tipo B se decodifica la imagen en tiempo real se aplica el cambio o diferencia al buffer complementario se guarda el resultado en el buffer secundario.
En lo referente al software en el flujo de datos de video video_sequence se implementan dos opciones: 1.- Una que modifica únicamente el software y utilizará la sección de user_data(), para almacenar la corrección de error que permita regenerar la señal estereoscópica. 2.- La otra que habilitará mediante hardware la función PICTURE_DATA3D() que resulta transparente para los lectores MPEG2 compatibles, y que podrá ser decodificada por un DSP con tecnología TDVision® compatible. Al momento en que el decodificador MPEG2 detecte un código de user_data() se buscará el identificador de 32 bits 3DVISION_STARTJDENTIFIER = 0X000ABCD que es un código extremadamente alto y difícil de reproducir o que no representa datos. Después se tendrá presente la longitud del bloque 3D a leer que será un dato "n" de 32 bits. Al detectar esta información dentro del USER_DATA() se hará una llamada a la función de decodíficación especial que compara el output bufffer y aplica a partir del offset de lectura actual del video_sequence, los n bytes como una corrección típica de cuadro tipo B. La salida de esta corrección se hará a otra dirección del output de salida, el cual estará directamente asociado a una salida de video adicional a la ya existente en el dispositivo de despliegue electrónico. De reconocer la estructura PICTURE_DATA3D(), entonces procede a leer directamente la información por el decodificador; pero escribiendo la información en un segundo buffer de salida, el cual estará también conectado a una salida de video adicional a la ya existente en el dispositivo de despliegue electrónico. En caso de flujo de programa se sincronizan, mediante el identifícador de time_code, dos señales (izquierda y derecha) que serán decodificadas en forma paralela por un DECODER de MPEG que tenga la capacidad de decodificación de múltiples canales de video en forma simultánea, o que puedan mandar dentro del mismo video_sequence dos señales de video que dependen una de la otra, por ejemplo, "R-L = delta", donde delta es la diferencia que se almacena como un cuadro tipo "B" con identificador TDVision® de par estereoscópico y que se debe reconstruir al momento de la decodíficacíón por diferencias a partir de la ¡magen, es decir, "R-delta = L" o bien "L-delta = R", como es el caso del DSP de Texas Instruments antes citado, el cual se toma como ejemplo ilustrativo más no limitativo. También se implementa un video que contenga una sola secuencia de video; pero alternando los cuadros izquierdo y derecho a 60 cuadros por segundo (30 cuadros por cada uno) y que al ser decodificados se colocará la ¡magen del videobuffer en el canal izquierdo o derecho respectivo. También se tendrá la capacidad de detectar mediante hardware si la señal es de tipo TDVision®, si es así, se identifica si es flujo de transporte, flujo de programa o multiplexión izquierda derecha a 60 cuadros por segundo.
En el caso de flujo de transporte se cuenta con el sistema de compatibilidad hacia atrás en los decodificadores actuales, teniendo la capacidad de presentar el mismo video, pero sin características 3D, sólo lo hace en 2D, en cuyo caso se habilita al DSP para que despliegue la imagen en cualquier dispositivo TDVisíon® o de la técnica previa. En el caso de flujo de programa se utilizan codificadores sin modificación alguna, utilizados actualmente en sistemas de transmisión vía satélite; pero el receptor y decodifícador cuentan con un sistema de identificación de la bandera TDVision® (flag TDVisíon®), habilitando de esta manera el segundo videobuffer para formar un par izquierdo-derecho. Por último, en el caso de video multiplexado, se habilita el decodíficador MPEG con dos videobuffers (izquierdo-derecho), identificando el frame adecuado y separando a 30 cuadros por segundo cada señal, esto proporciona una imagen sin parpadeos ya que el flujo de video es constante y debido a ola característica de retención del ojo humano no se aprecia el efecto de multíplexión. Se han ¡lustrado y descrito modalidades particulares de la presente invención, será obvio para aquellos expertos en la técnica que se pueden hacer varias modificaciones o cambios sin salir del alcance de la presente invención. Lo anterior se intenta cubrir con las reivindicaciones agregadas para que todos los cambios y modificaciones caigan dentro del alcance de la presente invención. Habiendo descrito la invención que antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones:

Claims (10)

REIVINDICACIONES
1.- Método y sistema de decodificación digital de imágenes de video 3D estereoscópicas, en el que se modifican vía software, las estructuras del vídeo_sequence del flujo de datos de video para incluir las banderas necesarias a nivel de bits del tipo de imagen, caracterizado porque se modifica únicamente el software y utiliza la sección de user_data() para almacenar la corrección de error que permita regenerar la señal de video estereoscópica, en efecto, identifica el formato de video; se aplica un "and" lógico para compatibilidad MPEG2 hacia atrás en caso de no ser un video TDVision®; la decodificación se efectúa en forma común recorriendo el video_sequence; cuando se trata de una imagen TDVision®: a) guarda el buffer de última ¡magen completa en el bufffer del canal izquierdo o derecho, b) aplica la decodificación por diferencias o en paralelo de información de cuadro tipo B, c) aplica la corrección de errores a la última ¡magen obtenida al aplicar los vectores de movimiento y de corrección de color, d) guarda el resultado en el buffer del canal respectivo, e) prosigue con la lectura del video_sequence.
2.- Método y sistema de decodificación digital de imágenes de video 3D estereoscópicas, en el que se modifican vía software, las estructuras del video_sequence del flujo de datos de vídeo para incluir las banderas necesarias a nivel de bits del tipo de imagen de acuerdo con la reivindicación 1 , caracterizado además porque el formato de compilación del decodificador es el siguiente: a) lectura del video_sequence, b) discriminación en el sequencejpeader, sí se identifica una imagen TDVision® entonces se activa el doble buffer, c) en el user_data se lee la imagen como si estuviera contenida en dicha estructura, d) en el sequence_scalable_extension se agrega información al video_sequence MPEG que pudiera estar contenida dentro de dicha estructura, e) en el picture_header se encuentra el identificador de imagen TDVision® en el extra_bit__picture, f) en el picture_coding_extension se lee la imagen tipo "B" y si se trata de una imagen TDVisíon® entonces se decodifica el segundo buffer, g) si la imagen es escalable temporal se aplica "B" al decodificador.
3.- Método y sistema de decodificacíón digital de imágenes de video 3D estereoscópicas, en el que se modifican vía software, las estructuras y el video_sequence del flujo de datos de video para incluir las banderas necesarias a nivel de bits del tipo de ¡magen de acuerdo con la reivindicación 1 , caracterizado además porque al detectar el decodificador MPEG2 un código de user_data () se busca el identificador de 32 bits 3DVis¡on®_start_identif¡er = OxOOOABCD, en la detección de esta información se hace una llamada a la función de decodifícación especial que compara el output buffer y la aplica a partir del offset de lectura actual de video_sequence.
4.- Método y sistema de decodifícación digital de imágenes de video 3D estereoscópicas, en el que se modifican vía software, las estructuras y el video_sequence del flujo de datos de video para incluir las banderas necesarias a nivel de bits del tipo de imagen de acuerdo con la reivindicación 1 , caracterizado además porque el codificador deberá programarse vía software para recibir y decodificar en forma simultánea dos flujos de programa independientes.
5.- Método y sistema de decodificación digital de imágenes de video 3D estereoscópicas, en el que se modifican vía software, las estructuras y el vídeo_sequence del flujo de datos de video para incluir las banderas necesarias a nivel de bits del tipo de imagen de acuerdo con la reivindicación 1 , caracterizado además porque se pueden enviar dentro del mismo vedeo_sequence dos señales de video que dependen una de la otra y que provienen de una cámara 3DVision®, en términos de su suma algebraica (R-L= delta), cada una se almacena como cuadro tipo B y cuya decodificación es por diferencias a partir de una de ellas.
6.- Método y sistema de decodificación digital de imágenes de video 3D estereoscópicas, en el que se modifican vía software, las estructuras y el video_sequence del flujo de datos de video para incluir las banderas necesarias a nivel de bits del tipo de ¡magen de acuerdo con la reivindicación 1 , caracterizado además porque se almacenan dos flujos de video independientes L y R en forma simultánea; pero sincronizados con el mismo time_code, decodifícados y desplegados en paralelo.
7.- Método y sistema de decodificación digital de imágenes de video 3D estereoscópicas, en el que se modifican vía hardware, las estructuras del video_sequence del flujo de datos de video, caracterizado porque se utilizan en forma específica las estructuras, sub-estructuras y secuencias que pertenecen al video_sequence para que se ¡mplemente vía hardware la tecnología TDVision® compatible con MPEG2 hacia atrás, en efecto, discrimina si es una señal 2D o 3D; se activa un doble buffer de salida (más memoria); se activa un selector de decodificación en paralelo; se activa un selector de decodificación por diferencias; se realiza el proceso de descompresión de imágenes; se despliega la imagen en el buffer de salida correspondiente; se habilita la función PICTURE_DATA3D() que resulta transparente para los lectores de MPEG2 compatibles.
8.- Método y sistema de decodifícación digital de imágenes de video 3D estereoscópicas, en el que se modifican vía hardware, las estructuras del video_sequence del flujo de datos de video de acuerdo con la reivindicación 7, caracterizado porque se utilizan en forma específica las estructuras, subestructuras y secuencias que pertenecen al video_sequence para que se ¡mplemente vía hardware la tecnología TDVision® compatible con MPEG2 hacia atrás: a) sequence_header aspect_ratio_information 1001 n/a en TDVision® 1010 4:3 en TDVision® 1011 16:9 en TDVisíon® 1100 2.21:1 en TDVisíon® se hará un "and" lógico con 0111 para obtener la compatibilidad hacia atrás en sistemas de 2D, donde se envía una instrucción al DSP de que el buffer de par estereoscópico (izquierdo o derecho) deberá ser igual al fuente; b) frame_rate_code 1001 24,000/1001 (23.976) en formato TDVísion® 1010 24 en formato TDVision® 1011 25 en formato TDVision® 1100 30,000/1001 (2
9.97) en formato TDVision® 1101 30 en formato TDVision® 1110 50 en formato TDVísion® 1111 60,000/1001 (59.94) en formato TDVision® se hará un "and" lógico 0111 para obtener la compatibilidad hacia atrás con sistemas de 2D, donde se envía una instrucción al DSP de que el buffer de par estereoscópico (izquierdo o derecho) deberá ser igual al fuente; c) user_data() sequence_scalable_extensíon d) picture_header extra_bit_picture 0 = TDVision® 1 = normal e) picture_coding_extension picture_structure 00 = imagen en formato TDVision® f) picture_temporal_scalable_extension(). 9.- Método y sistema de decodificación digital de imágenes de video 3D estereoscópicas, en el que se modifican vía hardware, las estructuras del video_sequence del flujo de datos de video de acuerdo con la reivindicación 7, caracterizado porque al reconocer la estructura PICTURE_DATA3D(), procede a leer directamente la información por el decodíficador , pero escribe la ¡nformación en un segundo buffer de salida el cual esta conectado también a una salida de video adicional a la ya existente, en el dispositivo de despliegue electrónico.
10.- Método y sistema de decodificación digital de imágenes de video 3D estereoscópicas, en el que se modifican vía hardware, las estructuras del video_sequence del flujo de datos de video de acuerdo con la reivindicación 7, caracterizado porque si la señal es de tipo TDVision® se identifica si es flujo de transporte, flujo de programa o multiplexión izquierda o derecha a 60 cuadros por segundo; cuando es flujo de transporte tiene compatibilidad hacia atrás en los codificadores actuales 2D, donde se envía una instrucción al DSP de que el buffer de par estereoscópico (izquierdo o derecho) deberá ser igual al fuente, teniendo la capacidad de desplegar el video sin características 3D de TDVision®.
MXPA06009734A 2004-02-27 2006-08-25 Metodo y sistema de decodificacion digital de imagenes de video 3d estereoscopicas. MXPA06009734A (es)

Priority Applications (1)

Application Number Priority Date Filing Date Title
MXPA06009734A MXPA06009734A (es) 2004-02-27 2006-08-25 Metodo y sistema de decodificacion digital de imagenes de video 3d estereoscopicas.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/MX2004/000012 WO2005083637A1 (es) 2004-02-27 2004-02-27 Método y sistema de decodificación digital de imágenes de video 3d estereoscópicas
MXPA06009734A MXPA06009734A (es) 2004-02-27 2006-08-25 Metodo y sistema de decodificacion digital de imagenes de video 3d estereoscopicas.

Publications (1)

Publication Number Publication Date
MXPA06009734A true MXPA06009734A (es) 2007-03-15

Family

ID=40259071

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06009734A MXPA06009734A (es) 2004-02-27 2006-08-25 Metodo y sistema de decodificacion digital de imagenes de video 3d estereoscopicas.

Country Status (1)

Country Link
MX (1) MXPA06009734A (es)

Similar Documents

Publication Publication Date Title
KR101177663B1 (ko) 입체적 3d-비디오 이미지 디지털 디코딩 시스템 및 방법
US20190058865A1 (en) System and method for encoding 3d stereoscopic digital video
US5568200A (en) Method and apparatus for improved video display of progressively refreshed coded video
US6330280B1 (en) Method and apparatus for decoding enhancement and base layer image signals using a predicted image signal
US5633682A (en) Stereoscopic coding system
US5623308A (en) Multiple resolution, multi-stream video system using a single standard coder
US5694173A (en) Video data arranging method and video data encoding/decoding apparatus
KR100260475B1 (ko) 화상 데이타 부호화 방법 및 장치, 화상 데이타 복호화 방법 및 장치 및 화상 기록 매체
JPH09200695A (ja) 高速再生のためのビデオデータの復号化方法及びその装置
US20040141654A1 (en) Texture encoding procedure
Teixeira et al. Video compression: The mpeg standards
Baron et al. MPEG overview
MXPA06009734A (es) Metodo y sistema de decodificacion digital de imagenes de video 3d estereoscopicas.
JP5228077B2 (ja) 立体3dビデオイメージディジタルデコーディングのシステムおよび方法
MXPA06009733A (es) Metodo y sistema de codificacion digital de imagenes de video 3d estereoscopicas.
JP5227439B2 (ja) 立体3dビデオイメージディジタルコーディングのシステムおよび方法
LGGGGGG C ZIT źd d': http:% pic. gc. ca-Ottawa-Hull KlA 0C9-http://cipo. gc. ca () PI
JPH05130585A (ja) 符号化装置
KR20070011341A (ko) 입체적 3d-비디오 이미지 디지털 디코딩 시스템 및 방법
CN101917616A (zh) 用于数字编码3d立体视频图像的方法和系统
KR20070011340A (ko) 입체적 3d-비디오 이미지 디지털 코딩 시스템 및 방법
IP STEREOSCOPIC VIDEO CODING
CN101917617A (zh) 立体3d视频图像的解码系统和方法

Legal Events

Date Code Title Description
FG Grant or registration