ES2858578T3 - Organización en mosaico en codificación y decodificación de vídeo - Google Patents

Organización en mosaico en codificación y decodificación de vídeo Download PDF

Info

Publication number
ES2858578T3
ES2858578T3 ES20191672T ES20191672T ES2858578T3 ES 2858578 T3 ES2858578 T3 ES 2858578T3 ES 20191672 T ES20191672 T ES 20191672T ES 20191672 T ES20191672 T ES 20191672T ES 2858578 T3 ES2858578 T3 ES 2858578T3
Authority
ES
Spain
Prior art keywords
view
function block
image
views
video
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.)
Active
Application number
ES20191672T
Other languages
English (en)
Inventor
Purvin Bibhas Pandit
Peng Yin
Dong Tian
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.)
Dolby International AB
Original Assignee
Dolby International AB
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=39810226&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2858578(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Dolby International AB filed Critical Dolby International AB
Application granted granted Critical
Publication of ES2858578T3 publication Critical patent/ES2858578T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/003Aspects relating to the "2D+depth" image format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Control Of El Displays (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un medio legible por ordenador que tiene código de programa legible por ordenador incorporado en el mismo, comprendiendo el código de programa legible por ordenador: - código de programa para acceder a una imagen de vídeo que incluye múltiples imágenes combinadas en una única imagen, siendo parte la imagen de vídeo de un flujo de vídeo recibido (826), incluyendo las múltiples imágenes una primera imagen de una primera vista de un vídeo multivista y una segunda imagen de una segunda vista del vídeo multivista, en donde contenido de la primera imagen se superpone a contenido de la segunda imagen; - código de programa para acceder a información que indica cómo se combinan las múltiples imágenes en la imagen de vídeo a la que se accede, en donde la información a la que se accede indica que al menos una de las múltiples imágenes se voltea individualmente en una o más de una dirección horizontal o una dirección vertical, y en donde la información a la que se accede está comprendida en al menos uno de un encabezado de segmento, un conjunto de parámetros de secuencia, un conjunto de parámetros de imagen, un encabezado de unidad de capa de abstracción de red, y un mensaje de información de mejora suplementaria: no volteándose la primera imagen de la primera vista y volteándose la segunda imagen de la segunda vista, disponiéndose la primera imagen de la primera vista y la segunda imagen de la segunda vista lado a lado o parte superior-parte inferior; y - código de programa para decodificar la imagen de vídeo para proporcionar una representación decodificada de las múltiples imágenes combinadas (824, 826), en donde la información a la que se accede (824, 826) se puede usar para procesar posteriormente la representación decodificada para voltear individualmente la al menos una de las múltiples imágenes.

Description

DESCRIPCIÓN
Organización en mosaico en codificación y decodificación de vídeo
Referencia cruzada a solicitud relacionada
Esta solicitud es una solicitud divisional europea de la solicitud de patente europea EP 18172263.8 (referencia: A16060EP05), para la que se presentó el formulario 1001 de la EPO el 15 de mayo de 2018.
Campo técnico
Los presentes principios están relacionados generalmente con codificación y/o decodificación de vídeo.
Antecedentes
Los fabricantes de pantallas de vídeo pueden usar una estructura para disponer u organizar en mosaico diferentes vistas en un único fotograma. Las vistas se pueden extraer luego de sus respectivas ubicaciones y ser representadas.
El documento EP 1581 003 A1 describe un sistema para monitorizar una pluralidad de señales de vídeo en una red de vídeo interna, tal como un entorno de grabación de difusión, o red de cámaras de seguridad. El sistema comprende un monitor de imagen que tiene una pantalla en la que se expone una ilustración de vídeo de mosaico que contiene las señales de vídeo desde una pluralidad de cámaras u otros dispositivos de vídeo. La selección de una señal de vídeo de la ilustración de mosaico se puede realizar para exponer una versión a pantalla completa de esa señal.
Compendio
La presente invención se define por el medio legible por ordenador de la reivindicación 1.
Según un ejemplo general, se accede a una imagen de vídeo que incluye múltiples imágenes combinadas en una única imagen. Se accede a información que indica cómo se combinan las múltiples imágenes en la imagen de vídeo a la que se accede. La imagen de vídeo se decodifica para proporcionar una representación decodificada de las múltiples imágenes combinadas. La información a la que se accede y la imagen de vídeo decodificada se proporcionan como salida.
Según otro ejemplo general, se accede a información que indica cómo se combinan en una única imagen múltiples imágenes incluidas en una imagen de vídeo. La imagen de vídeo se codifica para proporcionar una representación codificada de las múltiples imágenes combinadas. La información a la que se accede y la imagen de vídeo codificada se proporcionan como salida.
Según otro ejemplo general, una señal o estructura de señal incluye información que indica cómo se combinan en la única imagen de vídeo múltiples imágenes incluidas en una única imagen de vídeo. La señal o estructura de señal también incluye una representación codificada de las múltiples imágenes combinadas.
Según otro aspecto general, se accede a una imagen de vídeo que incluye múltiples imágenes combinadas en una única imagen. Se accede a información que indica cómo se combinan las múltiples imágenes en la imagen de vídeo a la que se accede. La imagen de vídeo se decodifica para proporcionar una representación decodificada de al menos una de las múltiples imágenes. La información a la que se accede y la representación decodificada se proporcionan como salida.
Según otro ejemplo general, se accede a una imagen de vídeo que incluye múltiples imágenes combinadas en una única imagen. Se accede a información que indica cómo se combinan las múltiples imágenes en la imagen de vídeo a la que se accede. La imagen de vídeo se decodifica para proporcionar una representación decodificada de las múltiples imágenes combinadas. Se recibe entrada de usuario que selecciona al menos una de las múltiples imágenes para exponer. Se proporciona una salida decodificada de la al menos una imagen seleccionada, la salida decodificada se proporciona sobre la base de la información a la que se accede, la representación decodificada, y la entrada de usuario.
Los detalles de una o más implementaciones se presentan en los dibujos adjuntos y la siguiente descripción. Incluso si se describe de manera particular, debe quedar claro que se pueden configurar o plasmar implementaciones de diversas maneras. Por ejemplo, una implementación se puede realizar como método, o plasmarse como aparato configurado para realizar un conjunto de operaciones, o plasmarse como aparato que almacena instrucciones para realizar un conjunto de operaciones, o plasmarse en una señal. Otros aspectos y rasgos se volverán evidentes a partir de la siguiente descripción detallada considerada conjuntamente con los dibujos adjuntos y las reivindicaciones.
Breve descripción de los dibujos
La FIG. 1 es un diagrama que muestra un ejemplo de cuatro vistas organizadas en mosaico en un único fotograma; la FIG. 2 es un diagrama que muestra un ejemplo de cuatro vistas volteadas y organizadas en mosaico en un único fotograma;
la FIG. 3 muestra un diagrama de bloques para un codificador de vídeo al que se pueden aplicar los presentes principios, según una realización de los presentes principios;
la FIG. 4 muestra un diagrama de bloques para un decodificador de vídeo al que se pueden aplicar los presentes principios, según una realización de los presentes principios;
la FIG. 5 es un diagrama de flujo para un método para codificar imágenes para una pluralidad de vistas usando el Estándar MPEG-4 AVC, según una realización de los presentes principios;
la FIG. 6 es un diagrama de flujo para un método para decodificar imágenes para una pluralidad de vistas usando el Estándar MPEG-4 AVC, según una realización de los presentes principios;
la FIG. 7 es un diagrama de flujo para un método para codificar imágenes para una pluralidad de vistas y profundidades usando el Estándar MPEG-4 AVC, según una realización de los presentes principios;
la FIG. 8 es un diagrama de flujo para un método para decodificar imágenes para una pluralidad de vistas y profundidades usando el Estándar MPEG-4 AVC, según una realización de los presentes principios;
la FIG. 9 es un diagrama que muestra un ejemplo de una señal de profundidad, según una realización de los presentes principios;
la FIG. 10 es un diagrama que muestra un ejemplo de una señal de profundidad añadida como pieza de mosaico, según una realización de los presentes principios;
la FIG. 11 es un diagrama que muestra un ejemplo de 5 vistas organizadas en mosaico en un único fotograma, según una realización de los presentes principios.
la FIG. 12 es un diagrama de bloques para un codificador ejemplar de Codificación de vídeo multivista (MVC) al que se pueden aplicar los presentes principios, según una realización de los presentes principios;
la FIG. 13 es un diagrama de bloques para un decodificador ejemplar de Codificación de vídeo multivista (MVC) al que se pueden aplicar los presentes principios, según una realización de los presentes principios;
la FIG. 14 es un diagrama de flujo para un método para procesar imágenes para una pluralidad de vistas en preparación para codificar las imágenes usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC, según una realización de los presentes principios;
la FIG. 15 es un diagrama de flujo para un método para codificar imágenes para una pluralidad de vistas usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC, según una realización de los presentes principios;
la FIG. 16 es un diagrama de flujo para un método para procesar imágenes para una pluralidad de vistas en preparación para decodificar las imágenes usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC, según una realización de los presentes principios;
la FIG. 17 es un diagrama de flujo para un método para decodificar imágenes para una pluralidad de vistas usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC, según una realización de los presentes principios;
la FIG. 18 es un diagrama de flujo para un método para procesar imágenes para una pluralidad de vistas y profundidades en preparación para codificar las imágenes usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC, según una realización de los presentes principios;
la FIG. 19 es un diagrama de flujo para un método para codificar imágenes para una pluralidad de vistas y profundidades usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC, según una realización de los presentes principios;
la FIG. 20 es un diagrama de flujo para un método para procesar imágenes para una pluralidad de vistas y profundidades en preparación para decodificar las imágenes usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC, según una realización de los presentes principios;
la FIG. 21 es un diagrama de flujo para un método para decodificar imágenes para una pluralidad de vistas y profundidades usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC, según una realización de los presentes principios;
la FIG. 22 es un diagrama que muestra ejemplos de organización en mosaico a nivel de píxel, según una realización de los presentes principios; y
la FIG. 23 muestra un diagrama de bloques para un dispositivo de procesamiento de vídeo al que se pueden aplicar los presentes principios, según una realización de los presentes principios;
Descripción detallada
Diversas implementaciones se dirigen a métodos y aparatos para organizar en mosaico vistas en codificación y decodificación de vídeo. Se apreciará que los expertos en la técnica podrán idear diversas disposiciones que, aunque no explícitamente descritas o mostradas en esta memoria, incorporan los presentes principios y están incluidas.
Todos los ejemplos y el lenguaje condicional mencionados en esta memoria están pensados para finalidades pedagógicas para ayudar al lector a entender los presentes principios y los conceptos a los que contribuyen el/los inventor(es) para impulsar la técnica, y se han de interpretar sin limitación a tales ejemplos y condiciones mencionados específicamente.
Además, todas las declaraciones en esta memoria que nombran principios, aspectos y realizaciones de los presentes principios, así como ejemplos específicos de los mismos, pretenden englobar ambos equivalentes estructurales y funcionales de los mismos. Adicionalmente, se pretende que tales equivalentes incluyan tanto equivalentes actualmente conocidos así como equivalentes desarrollados en la futuro, es decir, elementos desarrollados que realicen la misma función, independientemente de la estructura.
Así, por ejemplo, los expertos en la técnica apreciarán que los diagramas de bloques presentados en esta memoria representan vistas conceptuales de circuitería ilustrativa que incorpora los presentes principios. De manera similar, se apreciará que diagramas de flujo, diagramas de transición de estado, pseudocódigo, y similares representan diversos procesos que se pueden representar sustancialmente en medios legibles por ordenador y por tanto ser ejecutados por un ordenador o procesador, tanto si dicho ordenador o procesador se muestra explícitamente o no.
Las funciones de los diversos elementos mostrados en las figuras se pueden proporcionar mediante el uso de hardware dedicado así como hardware capaz de ejecutar software en asociación con software apropiado. Cuando son proporcionadas por un procesador, las funciones pueden ser proporcionadas por un único procesador dedicado, por un único procesador compartido, o por una pluralidad de procesadores individuales, algunos de los cuales pueden ser compartidos. Además, el uso explícito del término “procesador” o “controlador” no se debe interpretar para referirse exclusivamente a hardware capaz de ejecutar software, y puede incluir implícitamente, sin limitación, hardware procesador de señales digitales (“DSP”) , memoria de solo lectura (“ROM”) para almacenar software, memoria de acceso aleatorio (“RAM”), y almacenamiento no volátil.
También se puede incluir otro hardware, convencional y/o personalizado. De manera similar, conmutadores mostrados en las figuras son conceptuales únicamente. Su función puede ser llevada a cabo a través de la operación de lógica de programa, a través de lógica dedicada, a través de la interacción de control de programa y lógica dedicada, o incluso manualmente, la técnica particular es seleccionable por el implementador como se entenderá más específicamente a partir del contexto.
En las reivindicaciones de este documento, cualquier elemento expresado como medios para realizar una función especificada se pretende que englobe cualquier manera de realizar esa función, incluyendo, por ejemplo, a) una combinación de elementos de circuito que realizan esa función o b) software en cualquier forma, incluyendo, por lo tanto, firmware, microcódigo o algo semejante, combinado con circuitería apropiada para ejecutar ese software para realizar la función. Los presentes principios como son definidos por tales reivindicaciones residen en el hecho de que las funcionalidades proporcionadas por los diversos medios mencionados se combinan y juntan de la manera que reclaman las reivindicaciones. Así se considera que cualesquiera medios que puedan esas funcionalidades son equivalentes a los mostrados en esta memoria.
Referencia en la memoria descriptiva a “una realización” (o “una implementación”) o “una realización” (o “una implementación”) de los presentes principios significa que un rasgo, estructura, característica, etc. particulares descritos en conexión con la realización se incluyen en al menos una realización de los presentes principios. Así, las apariciones de la frase “en una realización” o “en una realización” que aparecen en diversos lugares por toda la memoria descriptiva no necesariamente hacen referencia todas a la misma realización.
Se tiene que apreciar que el uso de los términos “y/o” y “al menos uno de”, por ejemplo, en los casos de “A y/o B” y “al menos uno de A y B”, pretende para englobar la selección de la primera opción enumerada (A) únicamente, o la selección de la segunda opción enumerada (B) únicamente, o la selección de ambas opciones (A y B). Como ejemplo adicional, en los casos de “A, B, y/o C” y “al menos uno de A, B, y C”, tal frase pretende englobar la selección de la primera opción enumerada (A ) únicamente, o la selección de la segunda opción enumerada (B) únicamente, o la selección de la tercera opción enumerada (C) únicamente, o la selección de la primera y el segundo opciones enumeradas (A y B) únicamente, o la selección de la primera y tercera opciones enumeradas (A y C) únicamente, o la selección de la segunda y tercera opciones enumeradas (B y C) únicamente, o la selección de las tres opciones (A y B y C). Esto se puede extender, como es fácilmente evidente para un experto en esta técnica y relacionadas, para tantos elementos enumerados.
Además, se tiene que apreciar que si bien una o más realizaciones de los presentes principios se describen en esta memoria con respecto al Estándar MPEG-4 AVC, los presentes principios no se limitan a solamente este estándar y, así, se puede utilizar con respecto a otros estándares, recomendaciones y extensiones del mismo, particularmente estándares de codificación de vídeo, recomendaciones, y extensiones de los mismos, incluidas extensiones del Estándar MPEG-4 AVC.
Además, se tiene que apreciar que si bien una o más de otras realizaciones de los presentes principios se describen en esta memoria con respecto a la extensión de codificación de vídeo multivista del Estándar MPEG-4 AVC, los presentes principios no se limitan solamente a esta extensión y/o este estándar y, así, se puede utilizar con respecto a otros estándares de codificación de vídeo, recomendaciones, y extensiones de los mismos relativos a codificación de vídeo multivista. Codificación de vídeo multivista (MVC) es la estructura de compresión para la codificación de secuencias multivista. Una secuencia de Codificación de vídeo multivista (MVC) es un conjunto de dos o más secuencias de vídeo que capturan la misma escena desde un punto de vista diferente.
También, se tiene que apreciar que si bien una o más de otras realizaciones de los presentes principios se describen en esta memoria que usa información de profundidad con respecto a contenido de vídeo, los presentes principios no se limitan a tales realizaciones y, así, se pueden implementar otras realizaciones que no usan información de profundidad.
Adicionalmente, como se emplea en esta memoria, “sintaxis de alto nivel” se refiere a sintaxis presente en el flujo de bits que reside jerárquicamente por encima de la capa macrobloque. Por ejemplo, sintaxis de alto nivel, como se emplea en esta memoria, puede referirse a, aunque sin limitación a esto, sintaxis a nivel de encabezado de segmento, nivel de Información de Mejora Suplementaria (SEI, del inglés Supplemental Enhancement Information), nivel de conjunto de parámetros de imagen (PPS, del inglés Picture Parameter Set), nivel de conjunto de parámetros de secuencia (SPS, del inglés Sequence Parameter Set), el conjunto de Parámetros de Vista (VPS, del inglés View Parameter Set), y nivel de encabezado de unidad de Capa de Abstracción de Red (NAL, del inglés Network Abstraction Layer).
En la implementación actual de codificación multivídeo (MVC) basada en la Organización Internacional para Estandarización / Comisión Electrotécnica Internacional (ISO/IEC), estándar Moving Picture Experts Group-4 (MPEG-4) Codificación de Vídeo Avanzada (AVC) Parte 10 / Unión Internacional de Telecomunicaciones, Recomendación H.264 del Sector de Telecomunicaciones (ITU-T) (más adelante en esta memoria la “Estándar MPEG-4 AVC”), el software de referencia logra predicción multivista al codificar cada vista con un único codificador y teniendo en consideración las referencias de vista en cruz. Cada vista es codificada por el codificador como flujo de bits separado en su resolución original y más tarde todos los flujos de bits se combinan para formar un único flujo de bits que luego se decodifica. Cada vista produce una salida decodificada YUV separada.
Otro planteamiento para predicción multivista implica agrupar un conjunto de vistas en pseudovistas. En un ejemplo de este planteamiento, se pueden organizar en mosaico las imágenes de N vistas del total de M vistas (muestreadas al mismo tiempo) en un fotograma más grande o un superfotograma con posible submuestreo u otras operaciones. Cambiando a la FIG. 1, un ejemplo de cuatro vistas organizadas en mosaico en un único fotograma se indica generalmente con el numeral de referencia 100.
Las cuatro vistas están en su orientación normal.
Cambiando a la FIG. 2, un ejemplo de cuatro vistas volteadas y organizadas en mosaico en un único fotograma se indica generalmente con el numeral de referencia 200. La vista superior-izquierda está en su orientación normal. La vista superior-derecha está volteada horizontalmente. La vista inferior-izquierda está volteada verticalmente. La vista inferior-derecha está volteada tanto horizontal como verticalmente. Así, si hay cuatro vistas, entonces una imagen de cada vista se dispone en un superfotograma como una pieza de mosaico. Esto resulta en una única secuencia de entrada no codificada con gran resolución.
Como alternativa, se puede submuestrear la ilustración para producir una menor resolución. Así, se crean múltiples secuencias que incluyen cada una diferentes vistas que se organizan en mosaico juntas. Cada una de tal secuencia forma entonces una pseudovista, donde cada pseudovista incluye N vistas diferentes organizadas en mosaico. La FIG. 1 muestra una pseudovista, y la FIG. 2 muestra otra pseudovista. Estas pseudovistas se pueden codificar entonces usando estándares existentes de codificación de vídeo tales como el Estándar ISO/IEC MPEG-2 y el Estándar MPEG-4 AVC.
Incluso otro planteamiento para predicción multivista simplemente implica codificar las diferentes vistas independientemente usando un nuevo estándar y, tras decodificar, organizar en mosaico las vistas según requiera el reproductor.
Además, en otro planteamiento, las vistas también se pueden organizar en mosaico por píxeles. Por ejemplo, en una supervista que se compone de cuatro vistas, píxel (x, y) puede ser de la vista 0, mientras que el píxel (x+1, y) puede ser de la vista 1, el píxel (x, y+1) puede ser de la vista 2, y el píxel (x+1, y+1) puede ser de la vista 3.
Muchos fabricantes de pantallas usan este tipo de trabajo de fotogramas para disponer u organizar en mosaico diferentes vistas en un único fotograma y luego extraer las vistas de sus respectivas ubicaciones y representarlas. En tales casos, no hay manera estándar para determinar si el flujo de bits tiene este tipo de propiedad. Así, si un sistema usa el método de organizar en mosaico imágenes de diferentes vistas en un fotograma grande, entonces el método de extraer las diferentes vistas es en propiedad.
Sin embargo, no hay manera estándar para determinar si el flujo de bits tiene este tipo de propiedad. Nosotros proponemos sintaxis de alto nivel a fin de facilitar al solicitante o al reproductor extraer tal información a fin de ayudar a exponer u otro procesamiento posterior. También es posible que la subimágenes tengan diferentes resoluciones y puede ser necesario algo de supermuestreo para finalmente representar la vista. El usuario también puede querer tener el método de supermuestreo indicado en la sintaxis de alto nivel. Adicionalmente, también se pueden trasmitir parámetros para cambiar el enfoque de profundidad.
En una realización, se proponer un nuevo mensaje de Información de Mejora Suplementaria (SEI, del inglés SupplementalEnhancement Information) para señalización de información multivista en un flujo de bits compatible con Estándar MPEG-4 AVC donde cada imagen incluye subimágenes que pertenecen a una vista diferente. La realización está pensada, por ejemplo, para la exposición fácil y conveniente de flujos de vídeo multivista en monitores tridimensionales (3D) que pueden usar este tipo de estructura. El concepto se puede extender a otros estándares de codificación de vídeo y recomendaciones que señalan tal información usando sintaxis de alto nivel.
Además, en una realización, proponemos un método de señalización de cómo disponer vistas antes de que sean enviadas al codificador y/o decodificador de vídeo multivista. Ventajosamente, la realización puede llevar a una implementación simplificada de la codificación multivista, y puede beneficiar la eficiencia de codificación. Ciertas vistas se pueden poner juntas y formar una pseudovista o supervista y luego la supervista organizada en mosaico es tratada como vista normal por un codificador y/o decodificador común de vídeo multivista, por ejemplo, según la implementación basada en Estándar MPEG-4 AVC actual de codificación de vídeo multivista. Se propone una nueva bandera en la extensión de conjunto de parámetros de secuencia (SPS) de codificación de vídeo multivista para señalar el uso de la técnica de pseudovistas. La realización está pensada para la exposición fácil y conveniente de flujos de vídeo multivista en monitores 3D que pueden usar este tipo de estructura.
Codificar/decodificar usando un estándar/recomendación de codificación/decodificación de vídeo de única vista
En la implementación actual de codificación multivídeo (MVC) basada en la Organización Internacional para Estandarización / Comisión Electrotécnica Internacional (ISO/IEC), estándar Moving Picture Experts Group-4 (MPEG-4) Codificación de Vídeo Avanzada (AVC) Parte 10 / Unión Internacional de Telecomunicaciones, Recomendación H.264 del Sector de Telecomunicaciones (ITU-T) (más adelante en esta memoria la “Estándar MPEG-4 AVC”), el software de referencia logra predicción multivista al codificar cada vista con un único codificador y teniendo en consideración las referencias de vista en cruz. Cada vista es codificada por el codificador como flujo de bits separado en su resolución original y más tarde todos los flujos de bits se combinan para formar un único flujo de bits que luego se decodifica. Cada vista produce una salida decodificada YUV separada.
Otro planteamiento para la predicción multivista implica organizar en mosaico las imágenes de cada vista (muestreadas al mismo tiempo) en un fotograma más grande o un superfotograma con un posible operación de submuestreo. Cambiando a la FIG. 1, un ejemplo de cuatro vistas organizadas en mosaico en un único fotograma se indica generalmente con el numeral de referencia 100. Cambiando a la FIG. 2, un ejemplo de cuatro vistas volteadas y organizadas en mosaico en un único fotograma se indica generalmente con el numeral de referencia 200. Así, si hay cuatro vistas, entonces una imagen de cada vista se dispone en un superfotograma como una pieza de mosaico. Esto resulta en una única secuencia de entrada no codificada con gran resolución. Esta señal se puede codificar entonces usando estándares existentes de codificación de vídeo tales como el Estándar ISO/IEC MPEG-2 y el Estándar MPEG-4 AVC.
Incluso otro planteamiento para predicción multivista simplemente implica codificar las diferentes vistas independientemente usando un nuevo estándar y, tras decodificar, organizar en mosaico las vistas según requiera el reproductor.
Muchos fabricantes de pantallas usan este tipo de trabajo de fotogramas para disponer u organizar en mosaico diferentes vistas en un único fotograma y luego extraer las vistas de sus respectivas ubicaciones y representarlas. En tales casos, no hay manera estándar para determinar si el flujo de bits tiene este tipo de propiedad. Así, si un sistema usa el método de organizar en mosaico imágenes de diferentes vistas en un fotograma grande, entonces el método de extraer las diferentes vistas es en propiedad.
Cambiando a la FIG. 3, un codificador de vídeo capaz de realizar codificación de vídeo según el Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 300.
El codificador de vídeo 300 incluye un almacenamiento intermedio (búfer o buffer) de ordenación de fotogramas 310 que tiene una salida en comunicación de señal con una entrada no inversora de un combinador 385. Una salida del combinador 385 se conecta en comunicación de señal con una primera entrada de un transformador y cuantificador 325. Una salida del transformador y el cuantificador 325 se conecta en comunicación de señal con una primera entrada de un codificador de entropía 345 y una primera entrada de un transformador inverso y cuantificador inverso 350. Una salida del codificador de entropía 345 se conecta en comunicación de señal con una primera entrada no inversora de un combinador 390. Una salida del combinador 390 se conecta en comunicación de señal con una primera entrada de un almacenamiento intermedio de salida 335.
Una primera salida de un controlador de codificador 305 se conecta en comunicación de señal con una segunda entrada del almacenamiento intermedio de ordenación de fotogramas 310, una segunda entrada del transformador inverso y el cuantificador inverso 350, una entrada de un módulo de decisión de tipo imagen 315, una entrada de un módulo de decisión tipo macrobloque (MB-tipo) 320, una segunda entrada de un módulo intra predicción 360, una segunda entrada de un filtro de desbloqueo 365, una primera entrada de un compensador de movimiento 370, una primera entrada de un estimador de movimiento 375, y una segunda entrada de un almacenamiento intermedio de imagen de referencia 380.
Una segunda salida del controlador de codificador 305 se conecta en comunicación de señal con una primera entrada de un insertador de Información de Mejora Suplementaria (SEI) 330, una segunda entrada del transformador y cuantificador 325, una segunda entrada del codificador de entropía 345, una segunda entrada del almacenamiento intermedio de salida 335, y una entrada del insertador de conjunto de parámetros de secuencia (SPS) y conjunto de parámetros de imagen (PPS) 340.
Una primera salida del módulo de decisión de tipo imagen 315 se conecta en comunicación de señal con una tercera entrada de un almacenamiento intermedio de ordenación de fotogramas 310. Una segunda salida del módulo de decisión de tipo imagen 315 se conecta en comunicación de señal con una segunda entrada de un módulo de decisión de tipo macrobloque 320.
Una salida del insertador de conjunto de parámetros de secuencia (SPS) y conjunto de parámetros de imagen (PPS) 340 se conecta en comunicación de señal con una tercera entrada no inversora del combinador 390. Una salida del insertador SEI 330 se conecta en comunicación de señal con una segunda entrada no inversora del combinador 390.
Una salida del cuantificador inverso y el transformador inverso 350 se conecta en comunicación de señal con una primera entrada no inversora de un combinador 319. Una salida del combinador 319 se conecta en comunicación de señal con una primera entrada del módulo intra predicción 360 y una primera entrada del filtro de desbloqueo 365. Una salida del filtro de desbloqueo 365 se conecta en comunicación de señal con una primera entrada de un almacenamiento intermedio de imagen de referencia 380. Una salida del almacenamiento intermedio de imagen de referencia 380 se conecta en comunicación de señal con una segunda entrada del estimador de movimiento 375 y con una primera entrada de un compensador de movimiento 370. Una primera salida del estimador de movimiento 375 se conecta en comunicación de señal con una segunda entrada del compensador de movimiento 370. Una segunda salida del estimador de movimiento 375 se conecta en comunicación de señal con una tercera entrada del codificador de entropía 345.
Una salida del compensador de movimiento 370 se conecta en comunicación de señal con una primera entrada de un conmutador 397. Una salida del módulo intra predicción 360 se conecta en comunicación de señal con una segunda entrada del conmutador 397. Una salida del módulo de decisión de tipo macrobloque 320 se conecta en comunicación de señal con una tercera entrada del conmutador 397 a fin de proporcionar una entrada de control al conmutador 397. La tercera entrada del conmutador 397 determina si la entrada de “datos” del conmutador (en comparación con la entrada de control, es decir, la tercera entrada) va a ser proporcionada por el compensador de movimiento 370 o el módulo intra predicción 360. La salida del conmutador 397 se conecta en comunicación de señal con una segunda entrada no inversora del combinador 319 y con una entrada inversora del combinador 385.
Entradas del almacenamiento intermedio de ordenación de fotogramas 310 y el controlador de codificador 105 están disponibles como entrada del codificador 300, para recibir una imagen de entrada 301. Además, una entrada del insertador de Información de Mejora Suplementaria (SEI) 330 está disponible como entrada del codificador 300, para recibir metadatos. Una salida del almacenamiento intermedio de salida 335 está disponible como salida del codificador 300, para tener como salida un flujo de bits.
Cambiando a la FIG. 4, un decodificador de vídeo capaz de realizar decodificación de vídeo según el Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 400.
El decodificador de vídeo 400 incluye un almacenamiento intermedio de entrada 410 que tiene una salida conectada en comunicación de señal con una primera entrada del decodificador de entropía 445. Una primera salida del decodificador de entropía 445 se conecta en comunicación de señal con una primera entrada de un transformador inverso y el cuantificador inverso 450. Una salida del transformador inverso y el cuantificador inverso 450 se conecta en comunicación de señal con una segunda entrada no inversora de un combinador 425. Una salida del combinador 425 se conecta en comunicación de señal con una segunda entrada de un filtro de desbloqueo 465 y una primera entrada de un módulo intra predicción 460. Una segunda salida del filtro de desbloqueo 465 se conecta en comunicación de señal con una primera entrada de un almacenamiento intermedio de imagen de referencia 480. Una salida del almacenamiento intermedio de imagen de referencia 480 se conecta en comunicación de señal con una segunda entrada de un compensador de movimiento 470.
Una segunda salida del decodificador de entropía 445 se conecta en comunicación de señal con una tercera entrada del compensador de movimiento 470 y una primera entrada del filtro de desbloqueo 465. Una tercera salida del decodificador de entropía 445 se conecta en comunicación de señal con una entrada de un controlador de decodificador 405. Una primera salida del controlador de decodificador 405 se conecta en comunicación de señal con una segunda entrada del decodificador de entropía 445. Una segunda salida del controlador de decodificador 405 se conecta en comunicación de señal con una segunda entrada del transformador inverso y el cuantificador inverso 450. Una tercera salida del controlador de decodificador 405 se conecta en comunicación de señal con una tercera entrada del filtro de desbloqueo 465. Una cuarta salida del controlador de decodificador 405 se conecta en comunicación de señal con una segunda entrada del módulo intra predicción 460, con una primera entrada del compensador de movimiento 470, y con una segunda entrada del almacenamiento intermedio de imagen de referencia 480.
Una salida del compensador de movimiento 470 se conecta en comunicación de señal con una primera entrada de un conmutador 497. Una salida del módulo intra predicción 460 se conecta en comunicación de señal con una segunda entrada del conmutador 497. Una salida del conmutador 497 se conecta en comunicación de señal con una primera entrada no inversora del combinador 425.
Una entrada del almacenamiento intermedio de entrada 410 está disponible como entrada del decodificador 400, para recibir un flujo de bits de entrada. Una primera salida del filtro de desbloqueo 465 está disponible como salida del decodificador 400, para tener como salida una imagen de salida.
Cambiando a la FIG. 5, un método ejemplar para codificar imágenes para una pluralidad de vistas usando el Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 500.
El método 500 incluye un bloque de inicio 502 que pasa el control a un bloque de función 504. El bloque de función 504 dispone cada vista en un instante de tiempo particular como subimagen en formato mosaico, y pasa el control a un bloque de función 506. El bloque de función 506 establece un elemento de sintaxis num_coded_views_minus1, y pasa el control a un bloque de función 508. El bloque de función 508 establece elementos de sintaxis org_pic_width_in_mbs_minus1 y org_pic_height_in_mbs_minus1, y pasa el control a un bloque de función 510. El bloque de función 510 establece una variable i igual a cero, y pasa el control a un bloque de decisión 512. El bloque de decisión 512 determina si la variable i es menor que el número de vistas. Si es así, entonces se pasa el control a un bloque de función 514. De otro modo, se pasa el control a un bloque de función 524.
El bloque de función 514 establece un elemento de sintaxis view_id[i], y pasa el control a un bloque de función 516. El bloque de función 516 establece un elemento de sintaxis num_parts[view_id[i]], y pasa el control a un bloque de función 518. El bloque de función 518 establece una variable j igual a cero, y pasa el control a un bloque de decisión 520. El bloque de decisión 520 determina si el valor actual de la variable j es menor que el valor actual del elemento de sintaxis num_parts[view_id[i]]. Si es así, entonces se pasa el control a un bloque de función 522. De otro modo, se pasa el control a un bloque de función 528.
El bloque de función 522 establece los siguientes elementos de sintaxis, incrementa la variable j, y entonces devuelve control al bloque de decisión 520: depth_flag[view_id[i]][j]; flip_dir[view_id[i]][j]; loc_left_offset[view_id[i]][j]; loc_top_offset[view_id[i]][j]; frame_crop_left_offset[view_id[i]][j]; frame_crop_right_offset[view_id[i]][j]; frame_crop_top_offset[view_id[i]][j]; y frame_crop_bottom_offset[view_id[i]][j].
El bloque de función 528 establece un elemento de sintaxis upsample_view_flag[view_id[i]], y pasa el control a un bloque de decisión 530. El bloque de decisión 530 determina si el valor actual del elemento de sintaxis upsample_view_flag[view_id[i]] es igual a uno. Si es así, entonces se pasa el control a un bloque de función 532. De otro modo, se pasa el control a un bloque de decisión 534.
El bloque de función 532 establece un elemento de sintaxis upsample_filter[view_id[i]], y pasa el control al bloque de decisión 534.
El bloque de decisión 534 determina si el valor actual del elemento de sintaxis upsample_filter[view_id[i]] es igual a tres. Si es así, entonces se pasa el control a un bloque de función 536. De otro modo, se pasa el control a un bloque de función 540.
El bloque de función 536 establece los siguientes elementos de sintaxis y pasa el control a un bloque de función 538: vert_dim[view_id[i]]; hor_dim[view_id[i]]; y quantizer[view_id[i]].
El bloque de función 538 establece los coeficientes de filtro para cada componente YUV, y pasa el control al bloque de función 540.
El bloque de función 540 incrementa la variable i, y devuelve control al bloque de decisión 512.
El bloque de función 524 escribe estos elementos de sintaxis en al menos uno del conjunto de parámetros de secuencia (SPS), el conjunto de parámetros de imagen (PPS), el mensaje de Información de Mejora Suplementaria (SEI), el encabezado de unidad de Capa de Abstracción de Rede (NAL), y el encabezado de segmento, y pasa el control a un bloque de función 526.
El bloque de función 526 codifica cada imagen usando el Estándar MPEG-4 AVC u otro códec de única vista, y pasa el control a un bloque final 599.
Cambiando a la FIG. 6, un método ejemplar para decodificar imágenes para una pluralidad de vistas usando el Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 600.
El método 600 incluye un bloque de inicio 602 que pasa el control a un bloque de función 604. El bloque de función 604 analiza sintácticamente los siguientes elementos de sintaxis de al menos uno del conjunto de parámetros de secuencia (SPS), el conjunto de parámetros de imagen (PPS), el mensaje de Información de Mejora Suplementaria (SEI), el encabezado de unidad de Capa de Abstracción de Red (NAL), y el encabezado de segmento, y pasa el control a un bloque de función 606. El bloque de función 606 analiza sintácticamente un elemento de sintaxis num_coded_views_minus1, y pasa el control a un bloque de función 608. El bloque de función 608 analiza sintácticamente elementos de sintaxis org_pic_width_in_mbs_minus1 y org_pic_height_in_mbs_minus1, y pasa el control a un bloque de función 610. El bloque de función 610 establece una variable i igual a cero, y pasa el control a un bloque de decisión 612. El bloque de decisión 612 determina si la variable i es menor que el número de vistas. Si es así, entonces se pasa el control a un bloque de función 614. De otro modo, se pasa el control a un bloque de función 624.
El bloque de función 614 analiza sintácticamente un elemento de sintaxis view_id[i], y pasa el control a un bloque de función 616. El bloque de función 616 analiza sintácticamente un elemento de sintaxis num_parts_minus1 [view_id[i]], y pasa el control a un bloque de función 618. El bloque de función 618 establece una variable j igual a cero, y pasa el control a un bloque de decisión 620.
El bloque de decisión 620 determina si el valor actual de la variable j es menor que el valor actual del elemento de sintaxis num_parts[view_id[i]]. Si es así, entonces se pasa el control a un bloque de función 622. De otro modo, se pasa el control a un bloque de función 628.
El bloque de función 622 analiza sintácticamente los siguientes elementos de sintaxis, incrementa la variable j, y entonces devuelve control al bloque de decisión 620: depth_flag[view_id[i]][j]; flip_dir[view_id[i]][j]; loc_left_offset[view_id[i]][j]; loc_top_offset[view_id[i]][j]; f rame_crop_left_offset[view_id[i]][j]; frame_crop_right_offset[view_id[i]][j]; frame_crop_top_offset[view_id[i]][j]; y frame_crop_bottom_offset[view_id[i]][j].
El bloque de función 628 analiza sintácticamente un elemento de sintaxis upsample_view_flag[view_id[i]], y pasa el control a un bloque de decisión 630. El bloque de decisión 630 determina si el valor actual del elemento de sintaxis upsample_view_flag[view_id[i]] es igual a uno. Si es así, entonces se pasa el control a un bloque de función 632. De otro modo, se pasa el control a un bloque de decisión 634.
El bloque de función 632 analiza sintácticamente un elemento de sintaxis upsample_filter[view_id[i]], y pasa el control al bloque de decisión 634.
El bloque de decisión 634 determina si el valor actual del elemento de sintaxis upsample_filter[view_id[i]] es igual a tres. Si es así, entonces se pasa el control a un bloque de función 636. De otro modo, se pasa el control a un bloque de función 640.
El bloque de función 636 analiza sintácticamente los siguientes elementos de sintaxis y pasa el control a un bloque de función 638: vert_dim[view_id[i]]; hor_dim[view_id[i]]; y quantizedview_id[i]].
El bloque de función 638 analiza sintácticamente los coeficientes de filtro para cada componente YUV, y pasa el control al bloque de función 640.
El bloque de función 640 incrementa la variable i, y devuelve control al bloque de decisión 612.
El bloque de función 624 decodifica cada imagen usando el Estándar MPEG-4 AVC u otro códec de única vista, y pasa el control a un bloque de función 626. El bloque de función 626 separa cada vista de la imagen usando la sintaxis de alto nivel, y pasa el control a un bloque final 699.
Cambiando a la FIG. 7, un método ejemplar para codificar imágenes para una pluralidad de vistas y profundidades usando el Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 700.
El método 700 incluye un bloque de inicio 702 que pasa el control a un bloque de función 704. El bloque de función 704 dispone cada vista y correspondiente profundidad en un instante de tiempo particular como subimagen en formato mosaico, y pasa el control a un bloque de función 706. El bloque de función 706 establece un elemento de sintaxis num_coded_views_minus1, y pasa el control a un bloque de función 708. El bloque de función 708 establece elementos de sintaxis org_pic_width_in_mbs_minus1 y org_pic_height_in_mbs_minus1, y pasa el control a un bloque de función 710. El bloque de función 710 establece una variable i igual a cero, y pasa el control a un bloque de decisión 712.
El bloque de decisión 712 determina si la variable i es menor que el número de vistas. Si es así, entonces se pasa el control a un bloque de función 714. De otro modo, se pasa el control a un bloque de función 724.
El bloque de función 714 establece un elemento de sintaxis view_id[i], y pasa el control a un bloque de función 716. El bloque de función 716 establece un elemento de sintaxis num_parts[view_id[i]], y pasa el control a un bloque de función 718. El bloque de función 718 establece una variable j igual a cero, y pasa el control a un bloque de decisión 720. El bloque de decisión 720 determina si el valor actual de la variable j es menor que el valor actual del elemento de sintaxis num_parts[view_id[i]]. Si es así, entonces se pasa el control a un bloque de función 722. De otro modo, se pasa el control a un bloque de función 728.
El bloque de función 722 establece los siguientes elementos de sintaxis, incrementa la variable j, y entonces devuelve control al bloque de decisión 720: depth_flag[view_id[i]][j]; flip_dir[view_id[i]][j]; loc_left_offset[view_id[i]][j]; loc_top_offset[view_id[i]][j]; frame_crop_left_offset[view_id[i]][j]; frame_crop_right_offset[view_id[i]][j]; frame_crop_top_offset[view_id[i]][j]; y frame_crop_bottom_offset[view_id[i]][j].
El bloque de función 728 establece un elemento de sintaxis upsample_view_flag[view_id[i]], y pasa el control a un bloque de decisión 730. El bloque de decisión 730 determina si el valor actual del elemento de sintaxis upsample_view_flag[view_id[i]] es igual a uno. Si es así, entonces se pasa el control a un bloque de función 732. De otro modo, se pasa el control a un bloque de decisión 734.
El bloque de función 732 establece un elemento de sintaxis upsample_filter[view_id[i]], y pasa el control al bloque de decisión 734.
El bloque de decisión 734 determina si el valor actual del elemento de sintaxis upsample_filter[view_id[i]] es igual a tres. Si es así, entonces se pasa el control a un bloque de función 736. De otro modo, se pasa el control a un bloque de función 740.
El bloque de función 736 establece los siguientes elementos de sintaxis y pasa el control a un bloque de función 738: vert_dim[view_id[i]]; hor_dim[view_id[i]]; y quantizer[view_id[i]].
El bloque de función 738 establece los coeficientes de filtro para cada componente YUV, y pasa el control al bloque de función 740.
El bloque de función 740 incrementa la variable i, y devuelve control al bloque de decisión 712.
El bloque de función 724 escribe estos elementos de sintaxis en al menos uno del conjunto de parámetros de secuencia (SPS), el conjunto de parámetros de imagen (PPS), el mensaje de Información de Mejora Suplementaria (SEI), el encabezado de unidad de Capa de Abstracción de Rede (NAL), y el encabezado de segmento, y pasa el control a un bloque de función 726.
El bloque de función 726 codifica cada imagen usando el Estándar MPEG-4 AVC u otro códec de única vista, y pasa el control a un bloque final 799.
Cambiando a la FIG. 8, un método ejemplar para decodificar imágenes para una pluralidad de vistas y profundidades usando el Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 800.
El método 800 incluye un bloque de inicio 802 que pasa el control a un bloque de función 804. El bloque de función 804 analiza sintácticamente los siguientes elementos de sintaxis de al menos uno del conjunto de parámetros de secuencia (SPS), el conjunto de parámetros de imagen (PPS), el mensaje de Información de Mejora Suplementaria (SEI), el encabezado de unidad de Capa de Abstracción de Red (NAL), y el encabezado de segmento, y pasa el control a un bloque de función 806. El bloque de función 806 analiza sintácticamente un elemento de sintaxis num_coded_views_minus1, y pasa el control a un bloque de función 808. El bloque de función 808 analiza sintácticamente elementos de sintaxis org_pic_width_in_mbs_minus1 y org_pic_height_in_mbs_minus1, y pasa el control a un bloque de función 810. El bloque de función 810 establece una variable i igual a cero, y pasa el control a un bloque de decisión 812. El bloque de decisión 812 determina si la variable i es menor que el número de vistas. Si es así, entonces se pasa el control a un bloque de función 814. De otro modo, se pasa el control a un bloque de función 824.
El bloque de función 814 analiza sintácticamente un elemento de sintaxis view_id[i], y pasa el control a un bloque de función 816. El bloque de función 816 analiza sintácticamente un elemento de sintaxis num_parts_minus1 [view_id[i]], y pasa el control a un bloque de función 818. El bloque de función 818 establece una variable j igual a cero, y pasa el control a un bloque de decisión 820. El bloque de decisión 820 determina si el valor actual de la variable j es menor que el valor actual del elemento de sintaxis num_parts[view_id[i]]. Si es así, entonces se pasa el control a un bloque de función 822. De otro modo, se pasa el control a un bloque de función 828.
El bloque de función 822 analiza sintácticamente los siguientes elementos de sintaxis, incrementa la variable j, y entonces devuelve control al bloque de decisión 820: depth_flag[view_id[i]][j]; flip_dir[view_id[i]][j]; loc_left_offset[view_id[i]][j]; loc_top_offset[view_id[i]][j]; frame_crop_left_offset[view_id[i]][j]; frame_crop_right_offset[view_id[i]][j]; frame_crop_top_offset[view_id[i]][j]; y frame_crop_bottom_offset[view_id[i]][j].
El bloque de función 828 analiza sintácticamente un elemento de sintaxis upsample_view_flag[view_id[i]], y pasa el control a un bloque de decisión 830. El bloque de decisión 830 determina si el valor actual del elemento de sintaxis upsample_view_flag[view_id[i]] es igual a uno. Si es así, entonces se pasa el control a un bloque de función 832. De otro modo, se pasa el control a un bloque de decisión 834.
El bloque de función 832 analiza sintácticamente un elemento de sintaxis upsample_filter[view_id[i]], y pasa el control al bloque de decisión 834.
El bloque de decisión 834 determina si el valor actual del elemento de sintaxis upsample_filter[view_id[i]] es igual a tres. Si es así, entonces se pasa el control a un bloque de función 836. De otro modo, se pasa el control a un bloque de función 840.
El bloque de función 836 analiza sintácticamente los siguientes elementos de sintaxis y pasa el control a un bloque de función 838: vert_dim[view_id[i]]; hor_dim[view_id[i]]; y quantizedview_id[i]].
El bloque de función 838 analiza sintácticamente los coeficientes de filtro para cada componente YUV, y pasa el control al bloque de función 840.
El bloque de función 840 incrementa la variable i, y devuelve control al bloque de decisión 812.
El bloque de función 824 decodifica cada imagen usando el Estándar MPEG-4 AVC u otro códec de única vista, y pasa el control a un bloque de función 826. El bloque de función 826 separa cada vista y correspondiente profundidad de la imagen usando la sintaxis de alto nivel, y pasa el control a un bloque de función 827. El bloque de función 827 potencialmente realiza síntesis de vista usando la vista extraída y señales de profundidad, y pasa el control a un bloque final 899.
Con respecto a la profundidad usada en las FIG. 7 y 8, la FIG. 9 muestra un ejemplo de una señal de profundidad 900, donde profundidad se proporciona como valor de píxel para cada correspondiente ubicación de una ilustración (no se muestra). Además, la FIG. 10 muestra un ejemplo de dos señales de profundidad incluidas en una pieza de mosaico 1000. La zona superior-derecha de la pieza de mosaico 1000 es una señal de profundidad que tiene valores de profundidad correspondientes a la ilustración en la zona superior-izquierda de la pieza de mosaico 1000. La zona inferior-derecha de la pieza de mosaico 1000 es una señal de profundidad que tiene valores de profundidad correspondiente a la ilustración en la zona inferior-izquierda de la pieza de mosaico 1000.
Cambiando a la FIG. 11, un ejemplo de 5 vistas organizadas en mosaico en un único fotograma se indica generalmente con el numeral de referencia 1100. Las cuatro vistas superiores están en una orientación normal. La quinta vista también está en una orientación normal, pero está partida en dos zonas a lo largo de la zona inferior de la pieza de mosaico 1100. Una zona izquierda de la quinta vista muestra la "zona superior" de la quinta vista, y una zona derecha de la quinta vista muestra la "zona inferior" de la quinta vista.
Codificar/decodificar usando un estándar/recomendación de codificación/decodificación de vídeo multivista
Cambiando a la FIG. 12, un codificador ejemplar de Codificación de vídeo multivista (MVC) se indica generalmente con el numeral de referencia 1200. El codificador 1200 incluye un combinador 1205 que tiene una salida conectada en comunicación de señal con una entrada de un transformador 1210. Una salida del transformador 1210 se conecta en comunicación de señal con una entrada de cuantificador 1215. Una salida del cuantificador 1215 se conecta en comunicación de señal con una entrada de un codificador de entropía 1220 y una entrada de un cuantificador inverso 1225. Una salida del cuantificador inverso 1225 se conecta en comunicación de señal con una entrada de un transformador inverso 1230. Una salida del transformador inverso 1230 se conecta en comunicación de señal con una primera entrada no inversora de un combinador 1235. Una salida del combinador 1235 se conecta en comunicación de señal con una entrada de un intra predictor 1245 y una entrada de un filtro de desbloqueo 1250. Una salida del filtro de desbloqueo 1250 se conecta en comunicación de señal con una entrada de un almacén de imágenes de referencia 1255 (para la vista i). Una salida del almacén de imágenes de referencia 1255 se conecta en comunicación de señal con una primera entrada de un compensador de movimiento 1275 y una primera entrada de un estimador de movimiento 1280. Una salida del estimador de movimiento 1280 se conecta en comunicación de señal con una segunda entrada del compensador de movimiento 1275.
Una salida de un almacén de imágenes de referencia 1260 (para otras vistas) se conecta en comunicación de señal con una primera entrada de un estimador de disparidad 1270 y una primera entrada de un compensador de disparidad 1265. Una salida del estimador de disparidad 1270 se conecta en comunicación de señal con una segunda entrada del compensador de disparidad 1265.
Una salida del decodificador de entropía 1220 está disponible como salida del codificador 1200. Una entrada no inversora del combinador 1205 está disponible como entrada del codificador 1200, y se conecta en comunicación de señal con una segunda entrada del estimador de disparidad 1270, y una segunda entrada del estimador de movimiento 1280. Una salida de un conmutador 1285 se conecta en comunicación de señal con una segunda entrada no inversora del combinador 1235 y con una entrada inversora del combinador 1205. El conmutador 1285 incluye una primera entrada conectada en comunicación de señal con una salida del compensador de movimiento 1275, una segunda entrada conectada en comunicación de señal con una salida del compensador de disparidad 1265, y una tercera entrada conectada en comunicación de señal con una salida del intra predictor 1245.
Un módulo de decisión de modo 1240 tiene una salida conectada al conmutador 1285 para controlar qué entrada es seleccionada por el conmutador 1285.
Cambiando a la FIG. 13, un decodificador ejemplar de Codificación de vídeo multivista (MVC) se indica generalmente con el numeral de referencia 1300. El decodificador 1300 incluye un decodificador de entropía 1305 que tiene una salida conectada en comunicación de señal con una entrada de un cuantificador inverso 1310. Una salida del cuantificador inverso se conecta en comunicación de señal con una entrada de un transformador inverso 1315. Una salida del transformador inverso 1315 se conecta en comunicación de señal con una primera entrada no inversora de un combinador 1320. Una salida del combinador 1320 se conecta en comunicación de señal con una entrada de un filtro de desbloqueo 1325 y una entrada de un intra predictor 1330. Una salida del filtro de desbloqueo 1325 se conecta en comunicación de señal con una entrada de un almacén de imágenes de referencia 1340 (para la vista i). Una salida del almacén de imágenes de referencia 1340 se conecta en comunicación de señal con una primera entrada de un compensador de movimiento 1335.
Una salida de un almacén de imágenes de referencia 1345 (para otras vistas) se conecta en comunicación de señal con una primera entrada de un compensador de disparidad 1350.
Una entrada del codificador de entropía 1305 está disponible como entrada al decodificador 1300, para recibir un flujo de bits residual. Además, una entrada de un módulo de modo 1360 también está disponible como entrada al decodificador 1300, para recibir sintaxis de control para controlar cuya entrada es seleccionada por el conmutador 1355. Además, una segunda entrada del compensador de movimiento 1335 está disponible como entrada del decodificador 1300, para recibir vectores de movimiento. También, una segunda entrada del compensador de disparidad 1350 está disponible como entrada al decodificador 1300, para recibir vectores de disparidad.
Una salida de un conmutador 1355 se conecta en comunicación de señal con una segunda entrada no inversora del combinador 1320. Una primera entrada del conmutador 1355 se conecta en comunicación de señal con una salida del compensador de disparidad 1350. Una segunda entrada del conmutador 1355 se conecta en comunicación de señal con una salida del compensador de movimiento 1335. Una tercera entrada del conmutador 1355 se conecta en comunicación de señal con una salida del intra predictor 1330. Una salida del módulo de modo 1360 se conecta en comunicación de señal con el conmutador 1355 para controlar qué entrada es seleccionada por el conmutador 1355. Una salida del filtro de desbloqueo 1325 está disponible como salida del decodificador 1300.
Cambiando a la FIG. 14, un método ejemplar para procesar imágenes para una pluralidad de vistas en preparación para codificar las imágenes usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 1400.
El método 1400 incluye un bloque de inicio 1405 que pasa el control a un bloque de función 1410. El bloque de función 1410 dispone cada N vistas, entre un total de M vistas, en un instante de tiempo particular como superimagen en formato mosaico, y pasa el control a un bloque de función 1415. El bloque de función 1415 establece un elemento de sintaxis num_coded_views_minus1, y pasa el control a un bloque de función 1420. El bloque de función 1420 establece un elemento de sintaxis view_id[i] para todas vistas (num_coded_views_minus 1 1), y pasa el control a un bloque de función 1425. El bloque de función 1425 establece la información de dependencia de referencia intervista para imágenes de anclaje, y pasa el control a un bloque de función 1430. El bloque de función 1430 establece la información de dependencia de referencia intervista para imágenes no de anclaje, y pasa el control a un bloque de función 1435. El bloque de función 1435 establece un elemento de sintaxis pseudo_view_present_flag, y pasa el control a un bloque de decisión 1440. El bloque de decisión 1440 determina si el valor actual del elemento de sintaxis pseudo_view_present_flag es igual a verdadero. Si es así, entonces se pasa el control a un bloque de función 1445. De otro modo, se pasa el control a un bloque final 1499.
El bloque de función 1445 establece los siguientes elementos de sintaxis, y pasa el control a un bloque de función 1450: tiling_mode; org_pic_width_in_mbs_minus1; y org_pic_height_in_mbs_minus1. El bloque de función 1450 llama a un elemento de sintaxis pseudo_view_info(view_id) para cada vista codificada, y pasa el control al bloque final 1499.
Cambiando a la FIG. 15, un método ejemplar para codificar imágenes para una pluralidad de vistas usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 1500.
El método 1500 incluye un bloque de inicio 1502 que tiene un parámetro de entrada pseudo_view_id y pasa el control a un bloque de función 1504. El bloque de función 1504 establece un elemento de sintaxis num_sub_views_minus1, y pasa el control a un bloque de función 1506. El bloque de función 1506 establece una variable i igual a cero, y pasa el control a un bloque de decisión 1508. El bloque de decisión 1508 determina si la variable i es menor que el número de sub_views. Si es así, entonces se pasa el control a un bloque de función 1510. De otro modo, se pasa el control a un bloque de función 1520.
El bloque de función 1510 establece un elemento de sintaxis sub_view_id[¡], y pasa el control a un bloque de función 1512. El bloque de función 1512 establece un elemento de sintaxis num_parts_minus1 [sub_view_id[i]], y pasa el control a un bloque de función 1514.
El bloque de función 1514 establece una variable j igual a cero, y pasa el control a un bloque de decisión 1516. El bloque de decisión 1516 determina si la variable j es menor que el elemento de sintaxis num_parts_minus1 [sub_view_id[i]]. Si es así, entonces se pasa el control a un bloque de función 1518. De otro modo, se pasa el control a un bloque de decisión 1522.
El bloque de función 1518 establece los siguientes elementos de sintaxis, incrementa la variable j, y devuelve el control al bloque de decisión 1516: loc_left_offset[sub_view_id[i]][j]; loc_top_offset[sub_view_id[i]][j]; frame_crop_left_offset[sub_view_id[i]][j]; frame_crop_right_offset[sub_view_id[i]][j]; frame_crop_top_offset[sub_view_id[i]][j]; y frame_crop_bottom_offset[sub_view_id[i][j].
El bloque de función 1520 codifica la imagen actual para la vista actual usando codificación de vídeo multivista (MVC), y pasa el control a un bloque final 1599.
El bloque de decisión 1522 determina si un elemento de sintaxis tiling_mode es igual a cero. Si es así, entonces se pasa el control a un bloque de función 1524. De otro modo, se pasa el control a un bloque de función 1538.
El bloque de función 1524 establece un elemento de sintaxis flip_dir[sub_view_id[i]] y un elemento de sintaxis upsample_view_flag[sub_view_id[i]], y pasa el control a un bloque de decisión 1526. El bloque de decisión 1526 determina si el valor actual del elemento de sintaxis upsample_view_flag[sub_view_id[i]] es igual a uno. Si es así, entonces se pasa el control a un bloque de función 1528. De otro modo, se pasa el control a un bloque de decisión 1530.
El bloque de función 1528 establece un elemento de sintaxis upsample_filter[sub_view_id[i]], y pasa el control al bloque de decisión 1530. El bloque de decisión 1530 determina si un valor del elemento de sintaxis upsample_filter[sub_view_id[i]] es igual a tres. Si es así, el control se pasa a un bloque de función 1532. De otro modo, se pasa el control a un bloque de función 1536.
El bloque de función 1532 establece los siguientes elementos de sintaxis, y pasa el control a un bloque de función 1534: vert_dim[sub_view_id[i]]; hor_dim[sub_view_id[i]]; y quantizer[sub_view_id[i]]. El bloque de función 1534 establece los coeficientes de filtro para cada componente YUV, y pasa el control al bloque de función 1536.
El bloque de función 1536 incrementa la variable i, y devuelve control al bloque de decisión 1508.
El bloque de función 1538 establece un elemento de sintaxis pixel_dist_x[sub_view_id[i]] y el elemento de sintaxis flip_dist_y[sub_view_id[i]], y pasa el control a un bloque de función 1540. El bloque de función 1540 establece la variable j igual a cero, y pasa el control a un bloque de decisión 1542. El bloque de decisión 1542 determina si el valor actual de la variable j es menor que el valor actual del elemento de sintaxis num_parts[sub_view_id[i]]. Si es así, entonces se pasa el control a un bloque de función 1544. De otro modo, se pasa el control al bloque de función 1536.
El bloque de función 1544 establece un elemento de sintaxis num_pixel_tiling_filter_coeffs_minus1 [sub_view_id[i]], y pasa el control a un bloque de función 1546. El bloque de función 1546 establece los coeficientes para todos los filtros de organización en mosaico por píxeles, y pasa el control al bloque de función 1536.
Cambiando a la FIG. 16, un método ejemplar para procesar imágenes para una pluralidad de vistas en preparación para decodificar las imágenes usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 1600.
El método 1600 incluye un bloque de inicio 1605 que pasa el control a un bloque de función 1615. El bloque de función 1615 analiza sintácticamente un elemento de sintaxis num_coded_views_minus1, y pasa el control a un bloque de función 1620. El bloque de función 1620 analiza sintácticamente un elemento de sintaxis view_id[i] para todas vistas (num_coded_views_minus1 1), y pasa el control a un bloque de función 1625. El bloque de función 1625 analiza sintácticamente la información de dependencia de referencia intervista para imágenes de anclaje, y pasa el control a un bloque de función 1630. El bloque de función 1630 analiza sintácticamente la información de dependencia de referencia intervista para imágenes no de anclaje, y pasa el control a un bloque de función 1635. El bloque de función 1635 analiza sintácticamente un elemento de sintaxis pseudo_view_present_flag, y pasa el control a un bloque de decisión 1640. El bloque de decisión 1640 determina si el valor actual del elemento de sintaxis pseudo_view_present_flag es igual a verdadero. Si es así, entonces se pasa el control a un bloque de función 1645. De otro modo, se pasa el control a un bloque final 1699.
El bloque de función 1645 analiza sintácticamente los siguientes elementos de sintaxis, y pasa el control a un bloque de función 1650: tiling_mode; org_pic_width_in_mbs_minus1; y org_pic_height_in_mbs_minus1. El bloque de función 1650 llama a un elemento de sintaxis pseudo_view_info(view_id) para cada vista codificada, y pasa el control al bloque final 1699.
Cambiando a la FIG. 17, un método ejemplar para decodificar imágenes para una pluralidad de vistas usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 1700.
El método 1700 incluye un bloque de inicio 1702 que empieza con parámetro de entrada pseudo_view_id y pasa el control a un bloque de función 1704. El bloque de función 1704 analiza sintácticamente un elemento de sintaxis num_sub_views_minus1, y pasa el control a un bloque de función 1706. El bloque de función 1706 establece una variable i igual a cero, y pasa el control a un bloque de decisión 1708. El bloque de decisión 1708 determina si la variable i es menor que el número de sub_views. Si es así, entonces se pasa el control a un bloque de función 1710. De otro modo, se pasa el control a un bloque de función 1720.
El bloque de función 1710 analiza sintácticamente un elemento de sintaxis sub_view_id[i], y pasa el control a un bloque de función 1712. El bloque de función 1712 analiza sintácticamente un elemento de sintaxis num_parts_minus1[sub_view_id[i]], y pasa el control a un bloque de función 1714.
El bloque de función 1714 establece una variable j igual a cero, y pasa el control a un bloque de decisión 1716. El bloque de decisión 1716 determina si la variable j es menor que el elemento de sintaxis num_parts_minus1 [sub_view_id[i]]. Si es así, entonces se pasa el control a un bloque de función 1718. De otro modo, se pasa el control a un bloque de decisión 1722.
El bloque de función 1718 establece los siguientes elementos de sintaxis, incrementa la variable j, y devuelve el control al bloque de decisión 1716: loc_left_offset[sub_view_id[i]][j]; loc_top_offset[sub_view_id[i]][j]; frame_crop_left_offset[sub_view_id[i]][j]; frame_crop_right_offset[sub_view_id[i]][j]; frame_crop_top_offset[sub_view_id[i]][j]; y frame_crop_bottom_offset[sub_view_id[i][j].
El bloque de función 1720 decodifica la imagen actual para la vista actual usando codificación de vídeo multivista (MVC), y pasa el control a un bloque de función 1721. El bloque de función 1721 separa cada vista de la imagen usando la sintaxis de alto nivel, y pasa el control a un bloque final 1799.
La separación de cada vista de la imagen decodificada se hace usando la sintaxis de alto nivel indicada en el flujo de bits. Esta sintaxis de alto nivel puede indicar la ubicación exacta y posible orientación de las vistas (y posible correspondiente profundidad) presente en la imagen.
El bloque de decisión 1722 determina si un elemento de sintaxis tiling_mode es igual a cero. Si es así, entonces se pasa el control a un bloque de función 1724. De otro modo, se pasa el control a un bloque de función 1738.
El bloque de función 1724 analiza sintácticamente un elemento de sintaxis flip_dir[sub_view_id[i]] y un elemento de sintaxis upsample_view_flag[sub_view_id[i]], y pasa el control a un bloque de decisión 1726. El bloque de decisión 1726 determina si el valor actual del elemento de sintaxis upsample_view_flag[sub_view_id[i]] es igual a uno. Si es así, entonces se pasa el control a un bloque de función 1728. De otro modo, se pasa el control a un bloque de decisión 1730.
El bloque de función 1728 analiza sintácticamente un elemento de sintaxis upsample_filter[sub_view_id[i]], y pasa el control al bloque de decisión 1730. El bloque de decisión 1730 determina si un valor del elemento de sintaxis upsample_filter[sub_view_id[i]] es igual a tres. Si es así, el control se pasa a un bloque de función 1732. De otro modo, se pasa el control a un bloque de función 1736.
El bloque de función 1732 analiza sintácticamente los siguientes elementos de sintaxis, y pasa el control a un bloque de función 1734: vert_dim[sub_view_id[i]]; hor_dim[sub_view_id[i]]; y quantizer[sub_view_id[i]]. El bloque de función 1734 analiza sintácticamente los coeficientes de filtro para cada componente YUV, y pasa el control al bloque de función 1736.
El bloque de función 1736 incrementa la variable i, y devuelve control al bloque de decisión 1708.
El bloque de función 1738 analiza sintácticamente un elemento de sintaxis pixel_dist_x[sub_view_id[i]] y el elemento de sintaxis flip_dist_y[sub_view_id[i]], y pasa el control a un bloque de función 1740. El bloque de función 1740 establece la variable j igual a cero, y pasa el control a un bloque de decisión 1742. El bloque de decisión 1742 determina si el valor actual de la variable j es menor que el valor actual del elemento de sintaxis num_parts[sub_view_id[i]]. Si es así, entonces se pasa el control a un bloque de función 1744. De otro modo, se pasa el control al bloque de función 1736.
El bloque de función 1744 analiza sintácticamente un elemento de sintaxis num_pixel_tiling_filter_coeffs_minus1 [sub_view_id[i]], y pasa el control a un bloque de función 1746. El bloque de función 1776 analiza sintácticamente los coeficientes para todas los filtros de organización en mosaico por píxeles, y pasa el control al bloque de función 1736.
Cambiando a la FIG. 18, un método ejemplar para procesar imágenes para una pluralidad de vistas y profundidades en preparación para codificar las imágenes usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 1800.
El método 1800 incluye un bloque de inicio 1805 que pasa el control a un bloque de función 1810. El bloque de función 1810 dispone cada N vistas y mapas de profundidad, entre un total de M vistas y mapas de profundidad, en un instante de tiempo particular como superimagen en formato mosaico, y pasa el control a un bloque de función 1815. El bloque de función 1815 establece un elemento de sintaxis num_coded_views_minus1, y pasa el control a un bloque de función 1820. El bloque de función 1820 establece un elemento de sintaxis view_id[i] para todas profundidades (num_coded_views_minus1 1) correspondientes a view_id[i], y pasa el control a un bloque de función 1825. El bloque de función 1825 establece la información de dependencia de referencia intervista para imágenes de profundidad de anclaje, y pasa el control a un bloque de función 1830. El bloque de función 1830 establece la información de dependencia de referencia intervista para imágenes de profundidad no de anclaje, y pasa el control a un bloque de función 1835. El bloque de función 1835 establece un elemento de sintaxis pseudo_view_present_flag, y pasa el control a un bloque de decisión 1840. El bloque de decisión 1840 determina si el valor actual del elemento de sintaxis pseudo_view_present_flag es igual a verdadero. Si es así, entonces se pasa el control a un bloque de función 1845. De otro modo, se pasa el control a un bloque final 1899.
El bloque de función 1845 establece los siguientes elementos de sintaxis, y pasa el control a un bloque de función 1850: tiling_mode; org_pic_width_in_mbs_minus1; y org_pic_height_in_mbs_minus1. El bloque de función 1850 llama a un elemento de sintaxis pseudo_view_info(view_id) para cada vista codificada, y pasa el control al bloque final 1899.
Cambiando a la FIG. 19, un método ejemplar para codificar imágenes para una pluralidad de vistas y profundidades usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 1900.
El método 1900 incluye un bloque de inicio 1902 que pasa el control a un bloque de función 1904. El bloque de función 1904 establece un elemento de sintaxis num_sub_views_minus1, y pasa el control a un bloque de función 1906. El bloque de función 1906 establece una variable i igual a cero, y pasa el control a un bloque de decisión 1908. El bloque de decisión 1908 determina si la variable i es menor que el número de sub_views. Si es así, entonces se pasa el control a un bloque de función 1910. De otro modo, se pasa el control a un bloque de función 1920.
El bloque de función 1910 establece un elemento de sintaxis sub_view_id[i], y pasa el control a un bloque de función 1912. El bloque de función 1912 establece un elemento de sintaxis num_parts_minus1[sub_view_id[i]], y pasa el control a un bloque de función 1914.
El bloque de función 1914 establece una variable j igual a cero, y pasa el control a un bloque de decisión 1916. El bloque de decisión 1916 determina si la variable j es menor que el elemento de sintaxis num_parts_minus1 [sub_view_id[i]]. Si es así, entonces se pasa el control a un bloque de función 1918. De otro modo, se pasa el control a un bloque de decisión 1922.
El bloque de función 1918 establece los siguientes elementos de sintaxis, incrementa la variable j, y devuelve el control al bloque de decisión 1916: loc_left_offset[sub_view_id[i]][j]; loc_top_offset[sub_view_id[i]][j]; frame_crop_left_offset[sub_view_id[i]][j]; frame_crop_right_offset[sub_view_id[i]][j]; frame_crop_top_offset[sub_view_id[i]][j]; y frame_crop_bottom_offset[sub_view_id[i][j].
El bloque de función 1920 codifica la profundidad actual para la vista actual usando codificación de vídeo multivista (MVC), y pasa el control a un bloque final 1999. La señal de profundidad puede ser codificada de manera similar a la manera como se codifica su correspondiente señal de vídeo. Por ejemplo, la señal de profundidad para una vista se puede incluir en una pieza de mosaico que incluye únicamente otras señales de profundidad, o únicamente señales de vídeo, o señales tanto de profundidad como de vídeo. La pieza de mosaico (pseudovista) es tratada entonces como única vista para MVC, y también hay presumiblemente otras piezas de mosaico que se tratan como otras vistas para MVC.
El bloque de decisión 1922 determina si un elemento de sintaxis tiling_mode es igual a cero. Si es así, entonces se pasa el control a un bloque de función 1924. De otro modo, se pasa el control a un bloque de función 1938.
El bloque de función 1924 establece un elemento de sintaxis flip_dir[sub_view_id[i]] y un elemento de sintaxis upsample_view_flag[sub_view_id[i]], y pasa el control a un bloque de decisión 1926. El bloque de decisión 1926 determina si el valor actual del elemento de sintaxis upsample_view_flag[sub_view_id[i]] es igual a uno. Si es así, entonces se pasa el control a un bloque de función 1928. De otro modo, se pasa el control a un bloque de decisión 1930.
El bloque de función 1928 establece un elemento de sintaxis upsample_filter[sub_view_id[i]], y pasa el control al bloque de decisión 1930. El bloque de decisión 1930 determina si un valor del elemento de sintaxis upsample_filter[sub_view_id[i]] es igual a tres. Si es así, el control se pasa a un bloque de función 1932. De otro modo, se pasa el control a un bloque de función 1936.
El bloque de función 1932 establece los siguientes elementos de sintaxis, y pasa el control a un bloque de función 1934: vert_dim[sub_view_id[i]]; hor_dim[sub_view_id[i]]; y quantizer[sub_view_id[i]]. El bloque de función 1934 establece los coeficientes de filtro para cada componente YUV, y pasa el control al bloque de función 1936.
El bloque de función 1936 incrementa la variable i, y devuelve control al bloque de decisión 1908.
El bloque de función 1938 establece un elemento de sintaxis pixel_dist_x[sub_view_id[i]] y el elemento de sintaxis flip_dist_y[sub_view_id[i]], y pasa el control a un bloque de función 1940. El bloque de función 1940 establece la variable j igual a cero, y pasa el control a un bloque de decisión 1942. El bloque de decisión 1942 determina si el valor actual de la variable j es menor que el valor actual del elemento de sintaxis num_parts[sub_view_id[i]]. Si es así, entonces se pasa el control a un bloque de función 1944. De otro modo, se pasa el control al bloque de función 1936.
El bloque de función 1944 establece un elemento de sintaxis num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]], y pasa el control a un bloque de función 1946. El bloque de función 1946 establece los coeficientes para todos los filtros de organización en mosaico por píxeles, y pasa el control al bloque de función 1936.
Cambiando a la FIG. 20, un método ejemplar para procesar imágenes para una pluralidad de vistas y profundidades en preparación para decodificar las imágenes usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 2000.
El método 2000 incluye un bloque de inicio 2005 que pasa el control a un bloque de función 2015. El bloque de función 2015 analiza sintácticamente un elemento de sintaxis num_coded_views_minus1, y pasa el control a un bloque de función 2020. El bloque de función 2020 analiza sintácticamente un elemento de sintaxis view_id[i] para todas profundidades (num_coded_views_minus1 1) correspondientes a view_id[i], y pasa el control a un bloque de función 2025. El bloque de función 2025 analiza sintácticamente la información de dependencia de referencia intervista para imágenes de profundidad de anclaje, y pasa el control a un bloque de función 2030. El bloque de función 2030 analiza sintácticamente la información de dependencia de referencia intervista para imágenes de profundidad no de anclaje, y pasa el control a un bloque de función 2035. El bloque de función 2035 analiza sintácticamente un elemento de sintaxis pseudo_view_present_flag, y pasa el control a un bloque de decisión 2040. El bloque de decisión 2040 determina si el valor actual del elemento de sintaxis pseudo_view_present_flag es igual a verdadero. Si es así, entonces se pasa el control a un bloque de función 2045. De otro modo, se pasa el control a un bloque final 2099.
El bloque de función 2045 analiza sintácticamente los siguientes elementos de sintaxis, y pasa el control a un bloque de función 2050: tiling_mode; org_pic_width_in_mbs_minus1; y org_pic_height_in_mbs_minus1. El bloque de función 2050 llama a un elemento de sintaxis pseudo_view_info(view_id) para cada vista codificada, y pasa el control al bloque final 2099.
Cambiando a la FIG. 21, un método ejemplar para decodificar imágenes para una pluralidad de vistas y profundidades usando la extensión de codificación de vídeo multivista (MVC) del Estándar MPEG-4 AVC se indica generalmente con el numeral de referencia 2100.
El método 2100 incluye un bloque de inicio 2102 que empieza con parámetro de entrada pseudo_view_id y pasa el control a un bloque de función 2104. El bloque de función 2104 analiza sintácticamente un elemento de sintaxis num_sub_views_minus1, y pasa el control a un bloque de función 2106. El bloque de función 2106 establece una variable i igual a cero, y pasa el control a un bloque de decisión 2108. El bloque de decisión 2108 determina si la variable i es menor que el número de sub_views. Si es así, entonces se pasa el control a un bloque de función 2110. De otro modo, se pasa el control a un bloque de función 2120.
El bloque de función 2110 analiza sintácticamente un elemento de sintaxis sub_view_id[i], y pasa el control a un bloque de función 2112. El bloque de función 2112 analiza sintácticamente un elemento de sintaxis num_parts_minus1 [sub_view_id[i]], y pasa el control a un bloque de función 2114. El bloque de función 2114 establece una variable j igual a cero, y pasa el control a un bloque de decisión 2116. El bloque de decisión 2116 determina si la variable j es menor que el elemento de sintaxis num_parts_minus1 [sub_view_id[i]]. Si es así, entonces se pasa el control a un bloque de función 2118. De otro modo, se pasa el control a un bloque de decisión 2122.
El bloque de función 2118 establece los siguientes elementos de sintaxis, incrementa la variable j, y devuelve el control al bloque de decisión 2116: loc_left_offset[sub_view_id[i]][j]; loc_top_offset[sub_view_id[i]][j]; frame_crop_left_offset[sub_view_id[i]][j]; frame_crop_right_offset[sub_view_id[i]][j]; frame_crop_top_offset[sub_view_id[i]][j]; y frame_crop_bottom_offset[sub_view_id[i][j].
El bloque de función 2120 decodifica la imagen actual usando codificación de vídeo multivista (MVC), y pasa el control a un bloque de función 2121. El bloque de función 2121 separa cada vista de la imagen usando la sintaxis de alto nivel, y pasa el control a un bloque final 2199. La separación de cada vista usando sintaxis de alto nivel es como se ha descrito anteriormente.
El bloque de decisión 2122 determina si un elemento de sintaxis tiling_mode es igual a cero. Si es así, entonces se pasa el control a un bloque de función 2124. De otro modo, se pasa el control a un bloque de función 2138.
El bloque de función 2124 analiza sintácticamente un elemento de sintaxis flip_dir[sub_view_id[i]] y un elemento de sintaxis upsample_view_flag[sub_view_id[i]], y pasa el control a un bloque de decisión 2126. El bloque de decisión 2126 determina si el valor actual del elemento de sintaxis upsample_view_flag[sub_view_id[i]] es igual a uno. Si es así, entonces se pasa el control a un bloque de función 2128. De otro modo, se pasa el control a un bloque de decisión 2130.
El bloque de función 2128 analiza sintácticamente un elemento de sintaxis upsample_filter[sub_view_id[i]], y pasa el control al bloque de decisión 2130. El bloque de decisión 2130 determina si un valor del elemento de sintaxis upsample_filter[sub_view_id[i]] es igual a tres. Si es así, el control se pasa a un bloque de función 2132. De otro modo, se pasa el control a un bloque de función 2136.
El bloque de función 2132 analiza sintácticamente los siguientes elementos de sintaxis, y pasa el control a un bloque de función 2134: vert_dim[sub_view_id[i]]; hor_dim[sub_view_id[i]]; y quantizer[sub_view_id[i]]. El bloque de función 2134 analiza sintácticamente los coeficientes de filtro para cada componente YUV, y pasa el control al bloque de función 2136.
El bloque de función 2136 incrementa la variable i, y devuelve control al bloque de decisión 2108.
El bloque de función 2138 analiza sintácticamente un elemento de sintaxis pixel_dist_x[sub_view_id[i]] y el elemento de sintaxis flip_dist_y[sub_view_id[i]], y pasa el control a un bloque de función 2140. El bloque de función 2140 establece la variable j igual a cero, y pasa el control a un bloque de decisión 2142. El bloque de decisión 2142 determina si el valor actual de la variable j es menor que el valor actual del elemento de sintaxis num_parts[sub_view_id[i]]. Si es así, entonces se pasa el control a un bloque de función 2144. De otro modo, se pasa el control al bloque de función 2136.
El bloque de función 2144 analiza sintácticamente un elemento de sintaxis num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]], y pasa el control a un bloque de función 2146. El bloque de función 2146 analiza sintácticamente los coeficientes para todas los filtros de organización en mosaico por píxeles, y pasa el control al bloque de función 2136.
Cambiando a la FIG. 22, ejemplos de organización en mosaico a nivel de píxel se indican generalmente con el numeral de referencia 2200. La FIG. 22 se describe adicionalmente más adelante.
ORGANIZACIÓN DE MOSAICO DE VISTAS USANDO MPEG-4 AVC O MVC
Una aplicación de codificación de vídeo multivista es TV punto de vista libre (o FTV). Esta aplicación requiere que el usuario pueda moverse libremente entre dos o más vistas. A fin de conseguir esto, las vistas “virtuales” entre dos vistas tienen que ser interpoladas o sintetizadas. Hay varios métodos para realizar interpolación de vistas. Uno de los métodos usa profundidad para la interpolación/síntesis de vistas.
Cada vista puede tener una señal de profundidad asociada. Así, la profundidad se puede considerar que es otra forma de señal de vídeo. La FIG. 9 muestra un ejemplo de una señal de profundidad 900. A fin de permitir aplicaciones tales como FTV, la señal de profundidad se trasmite junto con la señal de vídeo. En la estructura propuesta de organización en mosaico, la señal de profundidad también se puede añadir como una de las piezas de mosaico. La FIG. 10 muestra un ejemplo de señales de profundidad añadidas como piezas de mosaico. Las señales de profundidad/piezas de mosaico se muestran en el lado derecho de la FIG. 10.
Una vez la profundidad se codifica como pieza de mosaico del fotograma entero, la sintaxis de alto nivel debe indicar qué pieza de mosaico es la señal de profundidad de modo que el solicitante pueda usar la señal de profundidad apropiadamente.
En el caso cuando la secuencia de entrada (tal como el mostrado en la FIG. 1) se codifica usando un codificador de Estándar MPEG-4 AVC (o un codificador correspondiente a un estándar y/o recomendación diferente de codificación de vídeo), la sintaxis propuesta de alto nivel puede estar presente en, por ejemplo, el conjunto de parámetros de secuencia (SPS), el conjunto de parámetros de imagen (PPS), un encabezado de segmento, y/o un mensaje de Información de Mejora Suplementaria (SEI). Una realización del método propuesto se muestra en la TABLA 1 donde la sintaxis está presente en un mensaje de Información de Mejora Suplementaria (SEI).
En el caso cuando la secuencia de entradas de las pseudovistas (tal como la mostrado en la FIG. 1) se codifica usando la extensión de codificación de vídeo multivista (MVC) del codificador de Estándar MPEG-4 AVC (o un codificador correspondiente a codificación de vídeo multivista estándar con respecto a un estándar y/o recomendación de codificación de vídeo diferente), la sintaxis propuesta de alto nivel puede estar presente en la SPS, la PPS, el encabezado de segmento, un mensaje SEI, o un perfil especificado. Una realización del método propuesto se muestra en la TABLA 1. La TABLA 1 muestra elementos de sintaxis presentes en la estructura de Conjunto de Parámetros de Secuencia (SPS), que incluye elementos de sintaxis propuestos según una realización de los presentes principios.
TABLA 1
Figure imgf000018_0001
La TABLA 2 muestra elementos de sintaxis para el elemento de sintaxis pseudo_view_info de la TABLA 1, según una realización de los presentes principios.
TABLA 2
Figure imgf000018_0002
Figure imgf000019_0001
Semántica de los elementos de sintaxis presentados en la TABLA 1 y la TABLA 2
pseudo_view_present_flag igual a verdadero indica que alguna vista es una supervista o múltiples subvistas. tiling_mode igual a 0 indica que las subvistas se organizan en mosaico a nivel de imagen. Un valor de 1 indica que la organización en mosaico se hace a nivel de píxel.
El nuevo mensaje SEI podría usar un valor para la tipo de carga útil SEI que no se ha usado en el Estándar MPEG- 4 AVC o una extensión del Estándar MPEG-4 AVC. El nuevo mensaje SEI incluye varios elementos de sintaxis con la siguiente semántica.
num_coded_views_minus1 más 1 indica el número de vistas codificadas soportadas por el flujo de bits. El valor de num_coded_views_minus1 está en el intervalo de 0 a 1023, inclusive.
org_pic_width_in_mbs_minus1 más 1 especifica la anchura de una imagen en cada vista en unidades de macrobloques.
La variable para la anchura de imagen en unidades de macrobloques se deriva de la siguiente manera:
PicWidthlnMbs = org_pic_width_in_mbs_minus 1 1
La variable para anchura de imagen para la componente luma se deriva de la siguiente manera:
PicWidthInSamplesL = PicWidthInMbs * 16
La variable para anchura de imagen para las componentes croma se deriva de la siguiente manera:
PicWidthInSamplesC = PicWidthInMbs * MbWidthC
org_pic_height_in_mbs_minus1 más 1 especifica la altura de una imagen en cada vista en unidades de macrobloques. La variable para la altura de imagen en unidades de macrobloques se deriva de la siguiente manera:
PicHeightInMbs = org_pic_height_in_mbs_minus 1 1
La variable para altura de imagen para la componente luma se deriva de la siguiente manera:
PicHeightInSamplesL = PicHeightInMbs * 16
La variable para altura de imagen para las componentes croma se deriva de la siguiente manera:
PicHeightInSamplesC = PicHeightInMbs * MbHeightC
num_sub_views_minus1 más 1 indica el número de subvistas codificadas incluidas en la vista actual. El valor de num_coded_views_minus1 está en el intervalo de 0 a 1023, inclusive.
sub_view_id[i] especifica el sub_view_id de la subvista con orden de decodificación indicado por i. num_parts[sub_view_id[i]] especifica el número de partes en la que se parte la imagen de sub_view_id[i]. loc_left_offset[sub_view_id[i]][j] y loc_top_offset[sub_view_id[i]][j] especifican las ubicaciones en desplazamientos de píxeles izquierdo y superior, respectivamente, donde la parte j actual se ubica en la imagen reconstruida final de la vista con sub_view_id igual a sub_view_id[i].
view_id[i] especifica la view_id de la vista con orden de codificación indicado por i. frame_crop_left_offset[view_id[i]][j], frame_crop_right_offset[view_id[i]][j], frame_crop_top_offset[view_id[i]][j], y frame_crop_bottom_offset[view_id[i]][j] especifican las muestras de las imágenes en las secuencia de vídeo codificada que son parte de num_part j y view_id i, en términos de una región rectangular especificada en coordenadas de fotograma para salida.
Las variables CropUnitX y CropUnitY se derivan de la siguiente manera:
Si chroma_format_idc es igual a 0, CropUnitX y CropUnitY se derivan de la siguiente manera:
CropUnitX = 1
CropUnitY = 2 - frame_mbs_only_flag
De lo contrario (chroma_format_idc es igual a 1,2 o 3), CropUnitX y CropUnitY se derivan de la siguiente manera: CropUnitX = SubWidthC
CropUnitY = SubHeightC * (2 - frame_mbs_only_flag)
El rectángulo de recorte de fotograma incluye muestras luma con coordenadas horizontales de fotograma de la siguiente:
CropUnitX * frame_crop_left_offset a PicWidthInSamplesL -(CropUnitX * frame_crop_right_offset 1) y coordenadas verticales de fotograma de CropUnitY * frame_crop_top_offset a (16 * FrameHeightInMbs) - (CropUnitY * frame_crop_bottom_offset 1), inclusive. El valor de frame_crop_left_offset debe estar en el intervalo de 0 a (PicWidthInSamplesL / CropUnitX) -(frame_crop_right_offset 1), inclusive; y el valor de frame_crop_top_offset debe estar en el intervalo de 0 a (16 * FrameHeightInMbs / CropUnitY) -(frame_crop_bottom_offset 1), inclusive.
Cuando chroma_format_idc no es igual a 0, las muestras especificadas correspondientes de las dos distribuciones croma son las muestras que tienen coordenadas de fotograma (x / SubWidthC, y / SubHeightC), donde (x, y) son las coordenadas de fotograma de las muestras luma especificadas.
Para campos decodificados, las muestras especificadas del campo decodificado son las muestras que caen dentro del rectángulo especificado en coordenadas de fotograma.
num_parts[view_id[i]] especifica el número de partes en las que se parte la imagen de view_id[i]. depth_flag[view_id[i]] especifica si la parte actual es una señal de profundidad. Si depth_flag es igual a 0, entonces la parte actual no es una señal de profundidad. Si depth_flag es igual a 1, entonces la parte actual es una señal de profundidad asociada con la vista identificada por view_id[i].
flip_dir[sub_view_id[i]][j] especifica la dirección de volteo para la parte actual. flip_dir igual a 0 indica no hay volteo, flip_dir igual a 1 indica volteo en una dirección horizontal, flip_dir igual a 2 indica volteo en una dirección vertical, y flip_dir igual a 3 indica volteo en direcciones horizontal y vertical.
flip_dir[view_id[i]][j] especifica la dirección de volteo para la parte actual. flip_dir igual a 0 indica no hay volteo, flip_dir igual a 1 indica volteo en una dirección horizontal, flip_dir igual a 2 indica volteo en una dirección vertical, y flip_dir igual a 3 indica volteo en direcciones horizontal y vertical.
loc_left_offset[view_id[i]][j], loc_top_offset[view_id[i]][j] especifica la ubicación en desplazamientos de píxeles, donde la parte actual j se ubica en la imagen reconstruida final de la vista con view_id igual a view_id[i] upsample_view_flag[view_id[i]] indica si la imagen perteneciente a la vista especificada por view_id[i] tiene que ser supermuestreada. upsample_view_flag[view_id[i]] igual a 0 indica que la imagen con view_id igual a view_id[i] no será supermuestreada. upsample_view_flag[view_id[i]] igual a 1 especifica que la imagen con view_id igual a view_id[i] será supermuestreada.
upsample_filter[view_id[i]] indica el tipo de filtro que se va a utilizar para supermuestreo. upsample_filter[view_id[i]] igual a 0 indica que se debe usar el filtro 6-tap AVC,
upsample_filter[view_id[i]] igual a 1 indica que se debe usar el filtro 4-tap SVC,
upsample_filter[view_id[i]] 2 indica que se debe usar filtro bilineal, upsample_filter[view_id[i]] igual a 3 indica que se trasmiten coeficientes de filtro personalizados. Cuando upsample_fiter[view_id[i]] no está presente se establece a 0. En esta realización, se usa filtro personalizado 2D. Se puede extender fácilmente a filtro 1D, y algún otro filtro no lineal. vert_dim[view_id[i]] especifica la dimensión vertical del filtro 2D personalizado.
hor_dim[view_id[i]] especifica la dimensión horizontal del filtro 2D personalizado.
quantizer[view_id[i]] especifica el factor de cuantización para cada coeficiente de filtro.
filter_coeffs[view_id[i]] [yuv][y][x] especifica los coeficientes de filtro cuantizados, yuv señala la componente para la que se aplican los coeficientes de filtro, yuv igual a 0 especifica la componente Y, yuv igual a 1 especifica la componente U, y yuv igual a 2 especifica la componente V.
pixel_dist_x[sub_view_id[i]] y pixel_dist_y[sub_view_id[i]] especifican respectivamente la distancia en la dirección horizontal y la dirección vertical en la pseudovista reconstruida final entre píxeles vecinos en la vista con sub_view_id igual a sub_view_id[i].
num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i][j] más uno indica el número de los coeficientes de filtro cuando el modo de organización en mosaico se establece igual a 1.
pixel_tiling_filter_coeffs[sub_view_id[i][j] señala los coeficientes de filtro que se requieren para representar un filtro que se puede usar para filtrar la imagen organizada en mosaico.
Ejemplos de organización en mosaico a nivel de píxel
Cambiando a la FIG. 22, dos ejemplos que muestran la composición de una pseudovista al organizar en mosaico píxeles de cuatro vistas se indican respectivamente con los numerales de referencia 2210 y 2220, respectivamente. Las cuatro vistas se indican colectivamente con el numeral de referencia 2250. Los valores de sintaxis para el primer ejemplo en la FIG. 22 se proporcionan en la TABLA 3 a continuación.
TABLA 3
Figure imgf000021_0001
Figure imgf000022_0001
Los valores de sintaxis para el segundo ejemplo en la FIG. 22 son todos los mismos excepto los siguientes dos elementos de sintaxis: loc_left_offset[3][0] igual a 5 y loc_top_offset[3][0] igual a 3.
El desplazamiento indica que los píxeles correspondientes a una vista deben comenzar en cierta ubicación desplazada. Esto se muestra en la FIG. 22 (2220). Esto se puede hacer, por ejemplo, cuando dos vistas producen imágenes en las que objetos comunes aparecen desplazados de una vista a otra. Por ejemplo, si cámaras primera y segunda (que representan vistas primera y segunda) toman imágenes de un objeto, el objeto puede parecer desplazado cinco píxeles a la derecha en la segunda vista en comparación con la primera vista. Esto significa que el pixel(i-5, j) en la primera vista corresponde al pixel(i, j) en la segunda vista. Si los píxeles de las dos vistas simplemente se organizan en mosaico píxel a píxel, entonces puede no haber mucha correlación entre píxeles vecinos en la pieza de mosaico, y las ganancias de codificación espacial pueden ser pequeñas. Por el contrario, al desplazar la organización en mosaico de modo que el pixel(i-5, j) de la vista uno se coloca a continuación del pixel(i, j) de la vista dos, la correlación espacial se puede aumentar y la ganancia de codificación espacial también se puede aumentar. Esto sigue porque, por ejemplo, los correspondientes píxeles para el objeto en las vistas primera y segunda están siendo organizados en mosaico uno junto a otro.
Así, la presencia de loc_left_offset y loc_top_offset puede beneficiar a la eficiencia de codificación. La información de desplazamiento puede ser obtenida por medios externos. Por ejemplo, la información de posición de las cámaras o los vectores de disparidad global entre las vistas se puede usar para determinar tal información de desplazamiento.
Como resultado del desplazamiento, a algunos píxeles en la pseudovista no se les asigna valores de píxel de ninguna vista. Continuando con el ejemplo anterior, cuando se organiza en mosaico el pixel(i-5, j) de la vista uno junto con el pixel(i, j) de la vista dos, para valores de i = 0,... 4 no hay pixel(i-5, j) de la vista uno para organizar en mosaico, de modo que aquellos píxeles están vacíos en el mosaico. Para aquellos píxeles en la pseudovista (pieza de mosaico) que no tienen asignados valores de píxel de ninguna vista, al menos una implementación usa un procedimiento de interpolación similar al procedimiento de interpolación subpíxel en compensación de movimiento en AVC. Esto es, los píxeles de mosaico vacíos se pueden interpolar de píxeles vecinos. Tal interpolación puede resultar en mayor correlación espacial en la pieza de mosaico y mayor ganancia de codificación para la pieza de mosaico.
En codificación de vídeo, se puede elegir un tipo de codificación diferente para cada imagen, tales como imágenes I, P y B.
Para codificación de vídeo multivista, adicionalmente, se definen imágenes de anclaje y no de anclaje. En una realización, proponemos que la decisión de agrupar se pueda hacer basada en el tipo de imagen. Esta información de agrupación se señala en sintaxis de alto nivel.
Cambiando a la FIG. 11, un ejemplo de 5 vistas organizadas en mosaico en un único fotograma se indica generalmente con el numeral de referencia 1100. En particular, la secuencia ballroom se muestra con 5 vistas organizadas en mosaico en un único fotograma. Adicionalmente, se puede ver que la quinta vista está partida en dos partes de modo que se puede disponer en un fotograma rectangular. Aquí, cada vista es de tamaño QVGA por lo que la dimensión total de fotograma es de 640x600. Puesto que 600 no es múltiplo de 16 debe ser extendido a 608.
Para este ejemplo, la mensaje SEI posible podría ser como se muestra en la TABLA 4.
TABLA 4
Figure imgf000023_0001
frame_crop_left_offset[view_id[ 1 ]][0] 320 frame_crop_right_offset[view_id[ 1 ]][0] 640 frame_crop_top_offset[view_id[ 1 ]][0] 0 frame_crop_bottom_offset[view_id[1]][0] 320
upsample_view_flag[view_id[1]] 1 si(upsample_view_flag[view_id[ 1 ]]){
vert_dim[view_id[1]] 6 hor_dim[view_id[1]] 6 quantizer[view_id[1 ]] 32 para (yuv= 0; yuv< 3; yuv++) {
para (v = 0; y < vert dim[view_id[i]] - 1; y +) {
para (x = 0; x < hor dim[view_id[i]] - 1; x +)
filter_coeffs[view_id[i]] [yuv] [y] [x] XX
nera similar para vista 2,3)
view_id[ 4] 4 num_parts[view_id[ 4]] 2
depth_flag[view_id[ 0]][0] 0 flip_dir[view_id[ 4]][0] 0 loc_left_offset[view_id[ 4]][0] 0 loc_top_offset[view_id[ 4]][0] 0 frame_crop_left_offset[view_id[ 4]][0] 0 frame_crop_right_offset[view_id[ 4]][0] 320 frame_crop_top_offset[view_id[ 4]][0] 480 frame_crop_bottom_offset[view_id[ 4]][0] 600
flip_dir[view_id[ 4]][1] 0 loc_left_offset[view_id[ 4]][1] 0 loc_top_offset[view_id[ 4]][1] 120 frame_crop_left_offset[view_id[ 4]][1] 320 frame_crop_right_offset[view_id[ 4]][1] 640 frame_crop_top_offset[view_id[ 4]][1] 480 frame_crop_bottom_offset[view_id[ 4]][1 ] 600
upsample_view_flag[view_id[ 4]] 1 si(upsample_view_flag[view_id[ 4]]) {
vert dim[view_id[4]] 6 hor dim[view_id[4]] 6
Figure imgf000025_0001
La TABLA 5 muestra la estructura de sintaxis general para transmitir información multivista para el ejemplo mostrado en la TABLA 4.
TABLA 5
Figure imgf000025_0002
Haciendo referencia a la FIG. 23, se muestra un dispositivo de procesamiento de vídeo 2300. El dispositivo de procesamiento de vídeo 2300 puede ser, por ejemplo, un aparato descodificador u otro dispositivo que recibe vídeo codificado y proporciona, por ejemplo, vídeo decodificado para exponer a un usuario o para almacenamiento. Así, el dispositivo 2300 puede proporcionar su salida a una televisión, monitor de ordenador, o un ordenador u otro dispositivo de procesamiento.
El dispositivo 2300 incluye un decodificador 2310 que recibir una señal de datos 2320. La señal de datos 2320 puede incluir, por ejemplo, un flujo compatible AVC o un MVC. El decodificador 2310 decodifica toda o parte de la señal recibida 2320 y proporciona como salida una señal de vídeo decodificada 2330 e información de organización en mosaico 2340. El vídeo decodificado 2330 y la información de organización en mosaico 2340 se proporcionan a un selector 2350. El dispositivo 2300 también incluye una interfaz de usuario 2360 que recibe una entrada de usuario 2370. La interfaz de usuario 2360 proporciona una señal de selección de imagen 2380, basada en la entrada de usuario 2370, al selector 2350. La señal de selección de imagen 2380 y la entrada de usuario 2370 indican cuál de múltiples imágenes un usuario desea tener expuesta. El selector 2350 proporciona la(s) imagen/imágenes seleccionada(s) como salida 2390. El selector 2350 usa la información de selección de imagen 2380 para seleccionar cuál de las imágenes en el vídeo decodificado 2330 proporcionar como salida 2390. El selector 2350 usa la información de organización en mosaico 2340 para ubicar la(s) imagen/imágenes seleccionada(s) en el vídeo decodificado 2330.
En diversas implementaciones, el selector 2350 incluye la interfaz de usuario 2360, y en otras implementaciones no se necesita interfaz de usuario 2360 porque el selector 2350 recibe la entrada de usuario 2370 directamente sin realizarse una función separada de función de interfaz. El selector 2350 se puede implementar en software o como circuito integrado, por ejemplo. El selector 2350 también puede incorporar el decodificador 2310.
Más generalmente, los descodificadores de diversas implementaciones descritas en esta solicitud pueden proporcionar una salida decodificada que incluye una pieza de mosaico entera. Adicionalmente o como alternativa, los descodificadores pueden proporcionar una salida decodificada que incluye únicamente una o más imágenes seleccionadas (ilustraciones o señales de profundidad, por ejemplo) de la pieza de mosaico.
Como se señala anteriormente, se puede usar sintaxis de alto nivel para realizar señalización según una o más realizaciones de los presentes principios. La sintaxis de alto nivel se puede usar, por ejemplo, aunque sin limitación a esto, señalando cualquiera de lo siguiente: el número de vistas codificadas presentes en el fotograma más grande; la anchura y altura originales de todas las vistas; para cada vista codificada, el identificador de vista correspondiente a la vista; para cada vista codificada, el número de partes en las que está partido el fotograma de una vista; para cada parte de la vista, la dirección de volteo (que puede ser, por ejemplo, no hay volteo, volteo horizontal únicamente, volteo vertical únicamente o volteo horizontal y vertical); para cada parte de la vista, la posición izquierda en píxeles o el número de macrobloques donde la parte actual pertenece en el fotograma final para la vista; para cada parte de la vista, la posición superior de la parte en píxeles o el número de macrobloques donde la parte actual pertenece en el fotograma final para la vista; para cada parte de la vista, la posición izquierda, en el fotograma grande actual decodificado/codificado, de la ventana de recorte en píxeles o número de macrobloques; para cada parte de la vista, la posición derecha, en el fotograma grande actual decodificado/codificado, de la ventana de recorte en píxeles o número de macrobloques; para cada parte de la vista, la posición superior, en el fotograma grande actual decodificado/codificado, de la ventana de recorte en píxeles o número de macrobloques; y para cada parte de la vista, la posición inferior, en el fotograma grande actual decodificado/codificado, de la ventana de recorte en píxeles o número de macrobloques; para cada vista codificada si la vista necesita ser supermuestreada antes de la salida (donde si se tiene que realizar el supermuestreo, se puede usar un sintaxis de alto nivel para indicar el método de supermuestreo (que incluye, pero sin limitación a esto, filtro AVC 6-tap, filtro SVC 4-tap, filtro bilineal o un filtro 1D personalizado, 2D lineal o no lineal).
Cabe señalar que los términos "codificador" y "decodificador" connotan estructuras generales y no se limitan a funciones o rasgos particulares. Por ejemplo, un decodificador puede recibir una portadora modulada que lleva un flujo de bits codificado, y demodular el flujo de bits codificado, así como decodificar el flujo de bits.
Se han descrito diversos métodos. Muchos de estos métodos se detallan para proporcionar abundante divulgación. Cabe señalar, sin embargo, que se contemplan variaciones que pueden variar uno o muchos de los rasgos específicos descritos para estos métodos. Además, muchos de los rasgos que se mencionan son conocidos en la técnica y, por consiguiente, no se describen en gran detalle.
Además, se ha hecho referencia al uso de sintaxis de alto nivel para enviar cierta información en varias implementaciones. Se tiene que entender, sin embargo, que otras implementaciones usan sintaxis de menor nivel, o ciertamente otros mecanismos completamente (tales como, por ejemplo, enviar información como parte de datos codificados) para proporcionar la misma información (o variaciones de esa información).
Diversas implementaciones proporcionan organización en mosaico y señalización apropiada para permitir que múltiples vistas (imágenes, más generalmente) sean organizadas en mosaico en una única imagen, codificadas como única imagen, y enviadas como única imagen. La información de señalización puede permitir a un procesador posterior separar las vistas/imágenes. También, las múltiples imágenes que se organizan en mosaico podrían ser vistas, pero al menos una de las imágenes podría ser información de profundidad. Estas implementaciones pueden proporcionar una o más ventajas. Por ejemplo, usuarios pueden desear exponer múltiples vistas a modo organizado en mosaico, y estas diversas implementaciones proporcionan una manera eficiente para codificar y trasmitir o almacenar tales vistas al organizarlas en mosaico antes de codificar y trasmitirlas/almacenarlas a modo organizado en mosaico.
Implementaciones que organizan en mosaico múltiples vistas en el contexto de AVC y/o MVC también proporcionan ventajas adicionales. AVC se usa ostensiblemente únicamente para una única vista, por tanto no se espera vista adicional. Sin embargo, tales implementaciones basadas en AVC pueden proporcionar múltiples vistas en un entorno AVC porque las vistas organizadas en mosaico se pueden disponer de modo que, por ejemplo, un decodificador sabe que esas imágenes organizadas en mosaico pertenecen a diferentes vistas (por ejemplo, la imagen superior izquierda en la pseudovista es la vista 1, la imagen superior derecha es la vista 2, etc.).
Adicionalmente, MVC ya incluye múltiples vistas, por lo que no se espera que se incluyan múltiples vistas en una única pseudovista. Además, MVC tiene un límite sobre el número de vistas que se pueden soportar, y tales implementaciones basadas en MVC aumentan eficazmente el número de vistas que se pueden soportar al permitir (como en las implementaciones basadas en AVC) organizar en mosaico vistas adicionales. Por ejemplo, cada pseudovista puede corresponder a una de las vistas soportadas de MVC, y el decodificador puede saber que cada "vista soportada" realmente incluye cuatro vistas en un orden predispuesto organizado en mosaico. Así, en este tipo de implementación, el número de vistas posibles es cuatro veces el número de "vistas soportadas".
Las implementaciones descritas en esta memoria pueden ser implementadas en, por ejemplo, un método o un proceso, un aparato, o un programa de software. Incluso si únicamente se trata en el contexto de una única forma de implementación (por ejemplo, tratada únicamente como método), la implementación de rasgos tratados también se puede implementar en otra forma (por ejemplo, un aparato o un programa). Un aparato se puede implementar en, por ejemplo, hardware, software y firmware apropiados. Los métodos se pueden implementar en, por ejemplo, un aparato tal como, por ejemplo, un procesador, que se refiere a dispositivos de procesamiento en general, incluido, por ejemplo, un ordenador, un microprocesador, un circuito integrado, o un dispositivo lógico programable. Dispositivos de procesamiento también incluyen dispositivos de comunicación, tales como, por ejemplo, ordenadores, teléfonos móviles, ayudantes portátiles/digitales personales ("PDA"), y otros dispositivos que facilitan la comunicación de información entre usuarios finales.
Implementaciones de los diversos procesos y rasgos descritos en esta memoria se pueden incorporar en una variedad de diferentes equipos o aplicaciones, particularmente, por ejemplo, equipos o aplicaciones asociados con codificación y decodificación de datos. Ejemplos de equipos incluyen codificadores de vídeo, descodificadores de vídeo, códecs de vídeo, servidores web, descodificadores, ordenadores portátiles, ordenadores personales, teléfonos móviles, PDA, y otros dispositivos de comunicación. Como debe quedar claro, los equipos pueden ser móviles e incluso instalados en un vehículo móvil.
Adicionalmente, los métodos pueden ser implementados por instrucciones que son realizadas por un procesador, y tales instrucciones se pueden almacenar en un medio legible por procesador tal como, por ejemplo, un circuito integrado, un portador de software u otro dispositivo de almacenamiento tal como, por ejemplo, un disco duro, un diskette compacto, una memoria de acceso aleatorio (“RAM”), o una memoria de solo lectura (“ROM”). Las instrucciones pueden formar un programa de aplicación incorporado tangiblemente en un medio legible por procesador. Como debe quedar claro, un procesador puede incluir un medio legible por procesador que tiene, por ejemplo, instrucciones para llevar a cabo un proceso. Tales programas de aplicación se pueden cargar en una máquina, y ser ejecutados por esta, que comprende cualquier arquitectura adecuada. Preferiblemente, la máquina se implementa en una plataforma informática que tiene hardware tal como una o más unidades de procesamiento central (“CPU”), una memoria de acceso aleatorio (“RAM”), e interfaces de entrada/salida (“E/S”) . La plataforma informática también puede incluir un sistema operativo y código de microinstrucciones. Los diversos procesos y funciones descritos en esta memoria pueden ser parte del código de microinstrucciones o parte del programa de aplicación, o cualquier combinación de los mismos, que puede ser ejecutado por una CPU. Adicionalmente, otras diversas unidades periféricas se pueden conectar a la plataforma informática tal como una unidad de almacenamiento de datos y una unidad de impresión adicionales.
Como debe ser evidente para el experto en la técnica, implementaciones también pueden producir una señal formateada para llevar información que puede ser, por ejemplo, almacenada o trasmitida. La información puede incluir, por ejemplo, instrucciones para realizar un método, o datos producidos por una de las implementaciones descritas. Este tipo de señal puede ser formateado, por ejemplo, como onda electromagnética (por ejemplo, usando una zona radiofrecuencia del espectro) o como señal de banda de base. El formateo puede incluir, por ejemplo, codificar un flujo de datos, producir sintaxis, y modular un portadora con el flujo de datos codificado y la sintaxis. La información que la señal lleva puede ser, por ejemplo, información analógica o digital. La señal puede ser trasmitida por una variedad de diferentes enlaces cableados o inalámbricos, como se conoce.
Además se tiene que entender que, debido a que algunos de los componentes constituyentes de sistema y métodos representados en los dibujos adjuntos se implementan preferiblemente en software, las conexiones reales entre los componentes de sistema o el bloque de funciones de proceso pueden diferir dependiendo de la manera en la que se programen los presentes principios. Dadas las enseñanzas en esta memoria, un experto en la técnica pertinente podrá contemplar estas implementaciones o configuraciones y similares de los presentes principios.
Se han descrito varias implementaciones. No obstante, se entenderá que se pueden hacer diversas modificaciones. Por ejemplo, elementos de diferentes implementaciones se pueden combinar, suplementar, modificar o retirar para producir otras implementaciones. Adicionalmente, un experto entenderá que otras estructuras y procesos pueden sustituir a los descritos y las implementaciones resultantes realizarán al menos sustancialmente la(s) misma(s) función/funciones, en al menos sustancialmente la(s) misma(s) manera(s), para lograr al menos sustancialmente el/los mismo(s) resultado(s) que las implementaciones descritas. En particular, aunque en esta memoria se han descrito realizaciones ilustrativas con referencia a los dibujos adjuntos, se tiene que entender que los presentes principios no se limitan a esas realizaciones precisas, y que un experto en la técnica pertinente puede efectuar diversos cambios y modificaciones en el mismo sin salir del alcance de los presentes principios definidos por la reivindicación anexa. Por consiguiente, estas y otras implementaciones son contempladas por esta solicitud y están dentro del alcance de la reivindicación anexa.

Claims (1)

REIVINDICACIONES
1. Un medio legible por ordenador que tiene código de programa legible por ordenador incorporado en el mismo, comprendiendo el código de programa legible por ordenador:
- código de programa para acceder a una imagen de vídeo que incluye múltiples imágenes combinadas en una única imagen, siendo parte la imagen de vídeo de un flujo de vídeo recibido (826), incluyendo las múltiples imágenes una primera imagen de una primera vista de un vídeo multivista y una segunda imagen de una segunda vista del vídeo multivista, en donde contenido de la primera imagen se superpone a contenido de la segunda imagen;
- código de programa para acceder a información que indica cómo se combinan las múltiples imágenes en la imagen de vídeo a la que se accede, en donde la información a la que se accede indica que al menos una de las múltiples imágenes se voltea individualmente en una o más de una dirección horizontal o una dirección vertical, y en donde la información a la que se accede está comprendida en al menos uno de un encabezado de segmento, un conjunto de parámetros de secuencia, un conjunto de parámetros de imagen, un encabezado de unidad de capa de abstracción de red, y un mensaje de información de mejora suplementaria:
no volteándose la primera imagen de la primera vista y volteándose la segunda imagen de la segunda vista, disponiéndose la primera imagen de la primera vista y la segunda imagen de la segunda vista lado a lado o parte superior-parte inferior; y
- código de programa para decodificar la imagen de vídeo para proporcionar una representación decodificada de las múltiples imágenes combinadas (824, 826),
en donde la información a la que se accede (824, 826) se puede usar para procesar posteriormente la representación decodificada para voltear individualmente la al menos una de las múltiples imágenes.
ES20191672T 2007-04-12 2008-04-11 Organización en mosaico en codificación y decodificación de vídeo Active ES2858578T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US92301407P 2007-04-12 2007-04-12
US92540007P 2007-04-20 2007-04-20

Publications (1)

Publication Number Publication Date
ES2858578T3 true ES2858578T3 (es) 2021-09-30

Family

ID=39810226

Family Applications (7)

Application Number Title Priority Date Filing Date
ES21180823T Active ES2941888T3 (es) 2007-04-12 2008-04-11 Organización en mosaico en codificación y decodificación de vídeo
ES20191874T Active ES2864544T3 (es) 2007-04-12 2008-04-11 Organización en mosaico en codificación y decodificación de vídeo
ES18172263T Active ES2825104T3 (es) 2007-04-12 2008-04-11 Organización en mosaico en codificación y decodificación de vídeo
ES21150513T Active ES2887248T3 (es) 2007-04-12 2008-04-11 Organización en mosaico en codificación y decodificación de vídeo
ES15153812.1T Active ES2675164T3 (es) 2007-04-12 2008-04-11 Presentación en mosaico en la codificación y descodificación de vídeo
ES20191672T Active ES2858578T3 (es) 2007-04-12 2008-04-11 Organización en mosaico en codificación y decodificación de vídeo
ES12159060.8T Active ES2586406T3 (es) 2007-04-12 2008-04-11 Enlosamiento en codificación y decodificación de vídeo

Family Applications Before (5)

Application Number Title Priority Date Filing Date
ES21180823T Active ES2941888T3 (es) 2007-04-12 2008-04-11 Organización en mosaico en codificación y decodificación de vídeo
ES20191874T Active ES2864544T3 (es) 2007-04-12 2008-04-11 Organización en mosaico en codificación y decodificación de vídeo
ES18172263T Active ES2825104T3 (es) 2007-04-12 2008-04-11 Organización en mosaico en codificación y decodificación de vídeo
ES21150513T Active ES2887248T3 (es) 2007-04-12 2008-04-11 Organización en mosaico en codificación y decodificación de vídeo
ES15153812.1T Active ES2675164T3 (es) 2007-04-12 2008-04-11 Presentación en mosaico en la codificación y descodificación de vídeo

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES12159060.8T Active ES2586406T3 (es) 2007-04-12 2008-04-11 Enlosamiento en codificación y decodificación de vídeo

Country Status (21)

Country Link
US (13) US8780998B2 (es)
EP (12) EP2512135B1 (es)
JP (10) JP5324563B2 (es)
KR (11) KR101885790B1 (es)
CN (1) CN101658037B (es)
AU (1) AU2008239653C1 (es)
BR (5) BRPI0809510B1 (es)
DK (7) DK3758380T3 (es)
ES (7) ES2941888T3 (es)
FI (1) FI3920538T3 (es)
HK (1) HK1255617A1 (es)
HU (7) HUE061663T2 (es)
LT (1) LT2887671T (es)
MX (1) MX2009010973A (es)
PL (7) PL3836550T3 (es)
PT (7) PT3399756T (es)
RU (8) RU2521618C2 (es)
SI (6) SI2887671T1 (es)
TR (1) TR201809177T4 (es)
WO (1) WO2008127676A2 (es)
ZA (2) ZA201006649B (es)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
ES2941888T3 (es) 2007-04-12 2023-05-26 Dolby Int Ab Organización en mosaico en codificación y decodificación de vídeo
CN105791864B (zh) 2007-05-16 2019-01-15 汤姆逊许可Dtv公司 编码及传送多视图视频编码信息中使用码片组的装置
WO2010039417A1 (en) 2008-09-23 2010-04-08 Dolby Laboratories Licensing Corporation Encoding and decoding architecture of checkerboard multiplexed image data
CN102257818B (zh) 2008-10-17 2014-10-29 诺基亚公司 3d视频编码中运动向量的共享
WO2010085361A2 (en) * 2009-01-26 2010-07-29 Thomson Licensing Frame packing for video coding
JP5406942B2 (ja) 2009-01-29 2014-02-05 ドルビー ラボラトリーズ ライセンシング コーポレイション 立体画像である複数の画像をサブサンプリング及びインタリーブする方法及び装置
KR101623020B1 (ko) * 2009-02-01 2016-05-20 엘지전자 주식회사 방송 수신기 및 3d 비디오 데이터 처리 방법
US20110292044A1 (en) * 2009-02-13 2011-12-01 Kim Woo-Shik Depth map coding using video information
KR101972962B1 (ko) * 2009-02-19 2019-04-26 톰슨 라이센싱 3d 비디오 포맷
US9729899B2 (en) 2009-04-20 2017-08-08 Dolby Laboratories Licensing Corporation Directed interpolation and data post-processing
JP5614901B2 (ja) 2009-05-01 2014-10-29 トムソン ライセンシングThomson Licensing 3dvの参照ピクチャ・リスト
US9124874B2 (en) * 2009-06-05 2015-09-01 Qualcomm Incorporated Encoding of three-dimensional conversion information with two-dimensional video sequence
US9774882B2 (en) 2009-07-04 2017-09-26 Dolby Laboratories Licensing Corporation Encoding and decoding architectures for format compatible 3D video delivery
JP2011109397A (ja) * 2009-11-17 2011-06-02 Sony Corp 画像送信方法、画像受信方法、画像送信装置、画像受信装置、及び画像伝送システム
BR112012018976A2 (pt) 2010-01-29 2018-03-27 Thomson Licensing intercalação baseada em blocos
US8555324B2 (en) 2010-02-02 2013-10-08 Microsoft Corporation Video download mechanism for transferring large data
IT1399417B1 (it) * 2010-04-12 2013-04-16 Sisvel Technology Srl Metodo per la generazione e ricostruzione di un flusso video stereoscopico compatibile e relativi dispositivi di codifica e decodifica.
US20110280311A1 (en) * 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video
IT1401731B1 (it) 2010-06-28 2013-08-02 Sisvel Technology Srl Metodo per la decodifica 2d-compatibile di flussi video stereoscopici
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
EP3923571B1 (en) 2010-07-21 2023-07-19 Dolby Laboratories Licensing Corporation Systems and methods for multi-layered frame-compatible video delivery
CN103098462A (zh) * 2010-08-06 2013-05-08 松下电器产业株式会社 编码方法、显示装置以及解码方法
EP2604041A1 (en) * 2010-08-09 2013-06-19 Koninklijke Philips Electronics N.V. Encoder, decoder, bit-stream, method of encoding, method of decoding an image pair corresponding with two views of a multi-view signal
WO2012036903A1 (en) 2010-09-14 2012-03-22 Thomson Licensing Compression methods and apparatus for occlusion data
CA2815955C (en) * 2010-10-28 2017-05-02 Lg Electronics Inc. Receiver apparatus and method for receiving a three-dimensional broadcast signal in a mobile environment
JP2012114575A (ja) * 2010-11-22 2012-06-14 Sony Corp 画像データ送信装置、画像データ送信方法、画像データ受信装置および画像データ受信方法
US9215473B2 (en) 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
JPWO2012153450A1 (ja) * 2011-05-11 2014-07-31 パナソニック株式会社 動画像送信装置および動画像送信方法
US11496760B2 (en) 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
US9521418B2 (en) * 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US9124895B2 (en) 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
US9077998B2 (en) * 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
US9332259B2 (en) 2012-01-18 2016-05-03 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
CN104247433B (zh) * 2012-04-06 2018-02-06 索尼公司 解码装置和解码方法以及编码装置和编码方法
TWI630815B (zh) 2012-06-14 2018-07-21 杜比實驗室特許公司 用於立體及自動立體顯示器之深度圖傳遞格式
US9584803B2 (en) * 2012-07-08 2017-02-28 Cisco Technology, Inc. Picture output management in video applications with fixed picture rate
US9554146B2 (en) * 2012-09-21 2017-01-24 Qualcomm Incorporated Indication and activation of parameter sets for video coding
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
US9661340B2 (en) 2012-10-22 2017-05-23 Microsoft Technology Licensing, Llc Band separation filtering / inverse filtering for frame packing / unpacking higher resolution chroma sampling formats
RU2654051C1 (ru) 2013-01-18 2018-05-16 Кэнон Кабусики Кайся Способ, устройство и компьютерная программа для инкапсуляции сегментированных синхронизированных мультимедийных данных
TWI558166B (zh) 2013-04-04 2016-11-11 杜比國際公司 用於多視點裸視立體顯示器的深度地圖遞送格式
EP3014869B1 (en) * 2013-06-28 2019-08-21 InterDigital CE Patent Holdings Highlighting an object displayed by a pico projector
BR112015032851B1 (pt) 2013-07-05 2023-03-07 Sony Corporation Dispositivos e métodos de transmissão e de recepção
US9749646B2 (en) 2015-01-16 2017-08-29 Microsoft Technology Licensing, Llc Encoding/decoding of high chroma resolution details
US9854201B2 (en) 2015-01-16 2017-12-26 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
CN104869457B (zh) * 2015-05-21 2019-04-26 京东方科技集团股份有限公司 显示器、显示装置、播放器、播放装置及播放显示系统
WO2016204481A1 (ko) * 2015-06-16 2016-12-22 엘지전자 주식회사 미디어 데이터 전송 장치, 미디어 데이터 수신 장치, 미디어 데이터 전송 방법, 및 미디어 데이터 수신 방법
WO2017087128A1 (en) 2015-11-16 2017-05-26 Virtual Dreamware, LLC Symmetrically mirrored video segmet
KR102433227B1 (ko) 2016-02-09 2022-08-18 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 효율적인 감소성 또는 효율적인 랜덤 액세스를 허용하는 픽처/비디오 데이터 스트림들에 대한 개념
CN115037939B (zh) * 2016-05-27 2024-02-13 松下电器(美国)知识产权公司 编码装置及解码装置
JP6185635B2 (ja) * 2016-09-02 2017-08-23 株式会社ユニバーサルエンターテインメント 遊技機
US10334277B2 (en) * 2016-09-02 2019-06-25 Qualcomm Incorporated Signaling target display parameters of color remapping information supplemental enhancement information messages
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
US10021976B1 (en) * 2016-11-01 2018-07-17 Scott Allen Furniture system
EP3468187A1 (en) 2017-10-03 2019-04-10 Axis AB Method and system for encoding video streams
BR112020019800A2 (pt) 2018-05-23 2021-01-05 Panasonic Intellectual Property Corporation Of America Codificador, decodificador, método de codificação e método de decodificação
KR102165334B1 (ko) 2019-06-03 2020-10-13 방지철 택배운반용 드론의 에어백 개스 주입장치
US11284113B2 (en) * 2019-09-25 2022-03-22 Tencent America LLC Method for signaling subpicture identifier
CN111510729A (zh) * 2020-03-25 2020-08-07 西安电子科技大学 一种基于视频编解码技术的rgbd数据压缩传输方法
US11221907B1 (en) * 2021-01-26 2022-01-11 Morgan Stanley Services Group Inc. Centralized software issue triage system
JP2024509787A (ja) * 2021-02-28 2024-03-05 レイア、インコーポレイテッド 圧縮されたマルチビュービデオをストリーミングするシステムおよび方法
WO2022210661A1 (ja) 2021-03-30 2022-10-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像符号化方法、画像復号方法、画像処理方法、画像符号化装置、及び画像復号装置
JPWO2022225025A1 (es) 2021-04-23 2022-10-27
WO2022224810A1 (ja) 2021-04-23 2022-10-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像符号化方法、画像復号方法、画像処理方法、画像符号化装置、及び画像復号装置
US20230097425A1 (en) * 2021-09-29 2023-03-30 Tencent America LLC Techniques for signaling multiview view positions in sei message

Family Cites Families (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193000A (en) * 1991-08-28 1993-03-09 Stereographics Corporation Multiplexing technique for stereoscopic video system
US5689641A (en) * 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
JPH0870475A (ja) * 1994-06-23 1996-03-12 Sanyo Electric Co Ltd 立体動画像の符号化・復号化方法及び装置
US5748786A (en) 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US6055012A (en) 1995-12-29 2000-04-25 Lucent Technologies Inc. Digital multi-view video compression with complexity and compatibility constraints
DE59700033D1 (de) 1996-05-10 1998-12-03 Melcher Ag Vorrichtung zur montage elektrischer bauteile auf leiterplatten
DE19619598A1 (de) * 1996-05-15 1997-11-20 Deutsche Telekom Ag Verfahren zur Speicherung oder Übertragung von stereoskopischen Videosignalen
CN1223772A (zh) * 1996-07-03 1999-07-21 松下电器产业株式会社 多个图像信息的编码方法、编码装置、译码及合成方法、译码及合成装置和记录上述方法的记录媒体
US6075905A (en) 1996-07-17 2000-06-13 Sarnoff Corporation Method and apparatus for mosaic image construction
US6721952B1 (en) * 1996-08-06 2004-04-13 Roxio, Inc. Method and system for encoding movies, panoramas and large images for on-line interactive viewing and gazing
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
US6173087B1 (en) * 1996-11-13 2001-01-09 Sarnoff Corporation Multi-view image registration with application to mosaicing and lens distortion correction
AU5720698A (en) * 1996-12-27 1998-07-31 Chequemate International Inc. System and method for synthesizing three-dimensional video from a two-dimensio nal video source
US6157396A (en) 1999-02-16 2000-12-05 Pixonics Llc System and method for using bitstream information to process images for use in digital display systems
US6390980B1 (en) 1998-12-07 2002-05-21 Atl Ultrasound, Inc. Spatial compounding with ultrasonic doppler signal information
US6223183B1 (en) * 1999-01-29 2001-04-24 International Business Machines Corporation System and method for describing views in space, time, frequency, and resolution
JP2000308089A (ja) 1999-04-16 2000-11-02 Nippon Hoso Kyokai <Nhk> 立体画像符号化装置および復号化装置
US7254265B2 (en) * 2000-04-01 2007-08-07 Newsight Corporation Methods and systems for 2D/3D image conversion and optimization
DE10016074B4 (de) * 2000-04-01 2004-09-30 Tdv Technologies Corp. Verfahren und Vorrichtung zur Erzeugung von 3D-Bildern
GB0013273D0 (en) 2000-06-01 2000-07-26 Philips Electronics Nv Video signal encoding and buffer management
WO2002025420A1 (en) 2000-09-18 2002-03-28 International Business Machines Corporation Method, system and computer program for managing views at a computer display
US20030004835A1 (en) * 2001-05-31 2003-01-02 International Business Machines Corporation Method, system, and product service for locating items satisfying a general requirement and ranking items according to utility
US20030107645A1 (en) * 2001-08-17 2003-06-12 Byoungyi Yoon Method and system for controlling the display location of stereoscopic images
US7277121B2 (en) * 2001-08-29 2007-10-02 Sanyo Electric Co., Ltd. Stereoscopic image processing and display system
CN1295655C (zh) * 2001-11-24 2007-01-17 Tdv技术公司 从2d图像序列生成立体图像序列
US7263240B2 (en) 2002-01-14 2007-08-28 Eastman Kodak Company Method, system, and software for improving signal quality using pyramidal decomposition
CA2380105A1 (en) * 2002-04-09 2003-10-09 Nicholas Routhier Process and system for encoding and playback of stereoscopic video sequences
US20030198290A1 (en) 2002-04-19 2003-10-23 Dynamic Digital Depth Pty.Ltd. Image encoding system
WO2003092305A1 (en) * 2002-04-25 2003-11-06 Sharp Kabushiki Kaisha Image encodder, image decoder, record medium, and image recorder
JP4154569B2 (ja) 2002-07-10 2008-09-24 日本電気株式会社 画像圧縮伸長装置
US20040012684A1 (en) * 2002-07-16 2004-01-22 Fairchild Imaging Image reconstruction techniques for charge coupled devices
JP2004120169A (ja) * 2002-09-25 2004-04-15 Sharp Corp 電子機器
JP4251864B2 (ja) * 2002-12-13 2009-04-08 シャープ株式会社 画像データ作成装置およびそのデータを再生する画像データ再生装置
US20050041736A1 (en) 2003-05-07 2005-02-24 Bernie Butler-Smith Stereoscopic television signal processing method, transmission system and viewer enhancements
US7489342B2 (en) 2004-12-17 2009-02-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for managing reference pictures in multiview videos
US20040260827A1 (en) * 2003-06-19 2004-12-23 Nokia Corporation Stream switching based on gradual decoder refresh
US7496234B2 (en) 2003-06-20 2009-02-24 Microsoft Corporation System and method for seamless multiplexing of embedded bitstreams
CN1571508B (zh) * 2003-07-19 2010-05-12 华为技术有限公司 一种实现多画面的方法
JP2005049665A (ja) 2003-07-30 2005-02-24 Nec Plasma Display Corp 映像信号処理回路、表示装置及びその映像信号処理方法
JP4355914B2 (ja) * 2003-10-01 2009-11-04 日本電気株式会社 多視点画像伝送システムと方法、多視点画像圧縮装置と方法、多視点画像伸長装置と方法およびプログラム
US7650036B2 (en) 2003-10-16 2010-01-19 Sharp Laboratories Of America, Inc. System and method for three-dimensional video coding
KR100519776B1 (ko) 2003-11-24 2005-10-07 삼성전자주식회사 영상 신호의 해상도 변환 방법 및 장치
KR100587952B1 (ko) 2003-12-05 2006-06-08 한국전자통신연구원 좌우영상의 비대칭적 크기로의 축소에 의한 보상을 수행하는 영상 부호화/복호화 장치 및 그 방법
GB2412519B (en) * 2004-03-23 2010-11-03 British Broadcasting Corp Monitoring system
JP4542447B2 (ja) * 2005-02-18 2010-09-15 株式会社日立製作所 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
JP4421940B2 (ja) * 2004-05-13 2010-02-24 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置および方法、並びに動画像復号化装置および方法
US20050259729A1 (en) * 2004-05-21 2005-11-24 Shijun Sun Video coding with quality scalability
KR100679740B1 (ko) * 2004-06-25 2007-02-07 학교법인연세대학교 시점 선택이 가능한 다시점 동영상 부호화/복호화 방법
US20060007200A1 (en) * 2004-07-08 2006-01-12 David Young Method and system for displaying a sequence of image frames
MX2007000369A (es) 2004-07-29 2007-03-12 Microsoft Corp Procesamiento de imagen utilizando valores ligeros y otras mejoras de procesamiento de imagen.
WO2006041261A1 (en) 2004-10-16 2006-04-20 Electronics And Telecommunications Research Institute Method and system for encoding/decoding multi-view video based on layered-depth image
EP1667448A1 (en) 2004-12-02 2006-06-07 Deutsche Thomson-Brandt Gmbh Method and apparatus for encoding and for decoding a main video signal and one or more auxiliary video signals
US7728878B2 (en) * 2004-12-17 2010-06-01 Mitsubishi Electric Research Labortories, Inc. Method and system for processing multiview videos for view synthesis using side information
WO2006072985A1 (ja) * 2005-01-06 2006-07-13 Mitsubishi Denki Kabushiki Kaisha 映像表示装置
JP2006191357A (ja) * 2005-01-06 2006-07-20 Victor Co Of Japan Ltd 再生装置および再生プログラム
US20060176318A1 (en) 2005-02-09 2006-08-10 Martin Virginia L Method for manipulating artwork to form decorative pieces
JP4849297B2 (ja) 2005-04-26 2012-01-11 ソニー株式会社 符号化装置および方法、復号装置および方法、並びにプログラム
US8228994B2 (en) * 2005-05-20 2012-07-24 Microsoft Corporation Multi-view video coding based on temporal and view decomposition
KR100716999B1 (ko) 2005-06-03 2007-05-10 삼성전자주식회사 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치
WO2006137006A2 (en) * 2005-06-23 2006-12-28 Koninklijke Philips Electronics N.V. Transmission of 3d image using 2d image and depth data
JP4637672B2 (ja) * 2005-07-22 2011-02-23 株式会社リコー 符号化処理装置及び方法
US7668366B2 (en) * 2005-08-09 2010-02-23 Seiko Epson Corporation Mosaic image data processing
WO2007046957A1 (en) 2005-10-12 2007-04-26 Thomson Licensing Method and apparatus for using high-level syntax in scalable video encoding and decoding
EP1946563A2 (en) 2005-10-19 2008-07-23 Thomson Licensing Multi-view video coding using scalable video coding
US7903737B2 (en) 2005-11-30 2011-03-08 Mitsubishi Electric Research Laboratories, Inc. Method and system for randomly accessing multiview videos with known prediction dependency
US8457219B2 (en) 2005-12-30 2013-06-04 Ikanos Communications, Inc. Self-protection against non-stationary disturbances
ZA200805337B (en) 2006-01-09 2009-11-25 Thomson Licensing Method and apparatus for providing reduced resolution update mode for multiview video coding
JP5199124B2 (ja) * 2006-01-12 2013-05-15 エルジー エレクトロニクス インコーポレイティド 多視点ビデオの処理
US20070205367A1 (en) 2006-03-01 2007-09-06 General Electric Company Apparatus and method for hybrid computed tomography imaging
KR101245251B1 (ko) * 2006-03-09 2013-03-19 삼성전자주식회사 균일한 화질을 제공하는 다시점 영상 부호화 및 복호화방법 및 장치
JP2008034892A (ja) 2006-03-28 2008-02-14 Victor Co Of Japan Ltd 多視点画像符号化装置
AU2007243933B2 (en) 2006-03-29 2012-09-13 Interdigital Madison Patent Holdings Multi-view video coding method and device
US7609906B2 (en) 2006-04-04 2009-10-27 Mitsubishi Electric Research Laboratories, Inc. Method and system for acquiring and displaying 3D light fields
US8139142B2 (en) * 2006-06-01 2012-03-20 Microsoft Corporation Video manipulation of red, green, blue, distance (RGB-Z) data including segmentation, up-sampling, and background substitution techniques
WO2008024345A1 (en) 2006-08-24 2008-02-28 Thomson Licensing Adaptive region-based flipping video coding
US20100110364A1 (en) 2006-11-07 2010-05-06 Koninklijke Philips Electronics N.V. Method and device for speckle reduction
DK2103136T3 (en) 2006-12-21 2017-12-04 Thomson Licensing METHODS AND APPARATUS FOR IMPROVED SIGNALING USING HIGH-LEVEL SYNTHOLOGY FOR MULTIVIEW VIDEO AND DECODING
US8515194B2 (en) 2007-02-21 2013-08-20 Microsoft Corporation Signaling and uses of windowing information for images
CN105263012A (zh) * 2007-03-16 2016-01-20 汤姆森许可贸易公司 用于将文本与三维内容相结合的系统和方法
ES2941888T3 (es) 2007-04-12 2023-05-26 Dolby Int Ab Organización en mosaico en codificación y decodificación de vídeo
WO2008140190A1 (en) 2007-05-14 2008-11-20 Samsung Electronics Co, . Ltd. Method and apparatus for encoding and decoding multi-view image
JP4418827B2 (ja) 2007-05-16 2010-02-24 三菱電機株式会社 画像表示装置及び方法、並びに画像発生装置及び方法
KR100962696B1 (ko) 2007-06-07 2010-06-11 주식회사 이시티 부호화된 스테레오스코픽 영상 데이터 파일의 구성방법
US8373744B2 (en) 2007-06-07 2013-02-12 Reald Inc. Stereoplexing for video and film applications
WO2008156318A2 (en) 2007-06-19 2008-12-24 Electronics And Telecommunications Research Institute Metadata structure for storing and playing stereoscopic data, and method for storing stereoscopic content file using this metadata
US8471893B2 (en) 2007-06-26 2013-06-25 Samsung Electronics Co., Ltd. Method and apparatus for generating stereoscopic image bitstream using block interleaved method
MY162861A (en) 2007-09-24 2017-07-31 Koninl Philips Electronics Nv Method and system for encoding a video data signal, encoded video data signal, method and system for decoding a video data signal
US8218855B2 (en) 2007-10-04 2012-07-10 Samsung Electronics Co., Ltd. Method and apparatus for receiving multiview camera parameters for stereoscopic image, and method and apparatus for transmitting multiview camera parameters for stereoscopic image
KR100918862B1 (ko) 2007-10-19 2009-09-28 광주과학기술원 참조영상을 이용한 깊이영상 생성방법 및 그 장치, 생성된깊이영상을 부호화/복호화하는 방법 및 이를 위한인코더/디코더, 그리고 상기 방법에 따라 생성되는 영상을기록하는 기록매체
KR101545009B1 (ko) 2007-12-20 2015-08-18 코닌클리케 필립스 엔.브이. 스트레오스코픽 렌더링을 위한 이미지 인코딩 방법
KR101506217B1 (ko) 2008-01-31 2015-03-26 삼성전자주식회사 스테레오스코픽 영상의 부분 데이터 구간 재생을 위한스테레오스코픽 영상 데이터스트림 생성 방법과 장치, 및스테레오스코픽 영상의 부분 데이터 구간 재생 방법과 장치
US20090219985A1 (en) 2008-02-28 2009-09-03 Vasanth Swaminathan Systems and Methods for Processing Multiple Projections of Video Data in a Single Video File
US8878836B2 (en) 2008-02-29 2014-11-04 Samsung Electronics Co., Ltd. Method and apparatus for encoding datastream including additional information on multiview image and method and apparatus for decoding datastream by using the same
KR101506219B1 (ko) 2008-03-25 2015-03-27 삼성전자주식회사 3차원 영상 컨텐츠 제공 방법, 재생 방법, 그 장치 및 그기록매체
US20110135005A1 (en) 2008-07-20 2011-06-09 Dolby Laboratories Licensing Corporation Encoder Optimization of Stereoscopic Video Delivery Systems
US8106924B2 (en) 2008-07-31 2012-01-31 Stmicroelectronics S.R.L. Method and system for video rendering, computer program product therefor
EP2197217A1 (en) 2008-12-15 2010-06-16 Koninklijke Philips Electronics N.V. Image based 3D video format

Also Published As

Publication number Publication date
KR20180089560A (ko) 2018-08-08
PT2512136T (pt) 2016-08-16
ES2586406T3 (es) 2016-10-14
HUE052116T2 (hu) 2021-04-28
HK1255617A1 (zh) 2019-08-23
BR122018004903B1 (pt) 2019-10-29
SI3920538T1 (sl) 2023-08-31
PL3836550T3 (pl) 2021-12-13
EP3758381B1 (en) 2021-03-10
JP2019201435A (ja) 2019-11-21
US20100046635A1 (en) 2010-02-25
EP3399756A1 (en) 2018-11-07
ES2675164T3 (es) 2018-07-09
JP2013258716A (ja) 2013-12-26
US20140301479A1 (en) 2014-10-09
KR101885790B1 (ko) 2018-08-06
US9232235B2 (en) 2016-01-05
US9973771B2 (en) 2018-05-15
JP2010524398A (ja) 2010-07-15
EP2887671B1 (en) 2018-05-16
ZA201006649B (en) 2012-09-26
PT3836550T (pt) 2021-08-31
US9838705B2 (en) 2017-12-05
RU2709671C1 (ru) 2019-12-19
EP2137975A2 (en) 2009-12-30
ES2864544T3 (es) 2021-10-14
PT3758381T (pt) 2021-04-13
SI2887671T1 (sl) 2018-10-30
AU2008239653B2 (en) 2012-10-04
EP2887671A1 (en) 2015-06-24
KR20230038610A (ko) 2023-03-20
DK2512136T3 (en) 2016-08-22
EP3758380B1 (en) 2021-02-03
KR20170106987A (ko) 2017-09-22
EP2512135B1 (en) 2015-03-18
ES2825104T3 (es) 2021-05-14
US9706217B2 (en) 2017-07-11
CN101658037B (zh) 2013-07-10
PT3920538T (pt) 2023-04-10
PL3399756T3 (pl) 2020-12-14
LT2887671T (lt) 2018-07-25
PT3399756T (pt) 2020-10-13
PL2887671T3 (pl) 2018-09-28
DK3399756T3 (da) 2020-10-12
RU2009141712A (ru) 2011-05-20
PL3758381T3 (pl) 2021-07-05
DK3836550T3 (da) 2021-08-23
JP2017135756A (ja) 2017-08-03
US9185384B2 (en) 2015-11-10
US20150341665A1 (en) 2015-11-26
US9219923B2 (en) 2015-12-22
HUE053806T2 (hu) 2021-07-28
EP3836550A1 (en) 2021-06-16
JP2023165827A (ja) 2023-11-17
SI3758381T1 (sl) 2021-07-30
TR201809177T4 (tr) 2018-07-23
US20180152719A1 (en) 2018-05-31
BR122018004906B1 (pt) 2019-11-12
JP2019201436A (ja) 2019-11-21
JP7357125B2 (ja) 2023-10-05
SI3758380T1 (sl) 2021-04-30
US20180213246A1 (en) 2018-07-26
US20160360218A1 (en) 2016-12-08
WO2008127676A9 (en) 2009-02-12
DK2887671T3 (en) 2018-07-23
JP5324563B2 (ja) 2013-10-23
EP2512136A1 (en) 2012-10-17
KR102204262B1 (ko) 2021-01-18
JP2015092715A (ja) 2015-05-14
KR102123772B1 (ko) 2020-06-16
KR20140098825A (ko) 2014-08-08
JP2020188517A (ja) 2020-11-19
KR101646089B1 (ko) 2016-08-05
SI3399756T1 (sl) 2020-11-30
HUE061663T2 (hu) 2023-08-28
AU2008239653C1 (en) 2015-05-07
BR122018004904B1 (pt) 2019-11-05
KR20100016212A (ko) 2010-02-12
RU2014116612A (ru) 2015-10-27
DK3758381T3 (da) 2021-04-12
JP2021052440A (ja) 2021-04-01
RU2684184C1 (ru) 2019-04-04
RU2733273C1 (ru) 2020-10-01
US10298948B2 (en) 2019-05-21
BRPI0809510B1 (pt) 2019-10-08
ZA201201942B (en) 2012-11-28
EP3758380A1 (en) 2020-12-30
EP2512136B1 (en) 2016-06-01
FI3920538T3 (fi) 2023-04-05
EP4210330A1 (en) 2023-07-12
JP6825155B2 (ja) 2021-02-03
US9445116B2 (en) 2016-09-13
KR20150046385A (ko) 2015-04-29
US10129557B2 (en) 2018-11-13
PT2887671T (pt) 2018-07-09
JP7116812B2 (ja) 2022-08-10
EP3758381A1 (en) 2020-12-30
JP2022140599A (ja) 2022-09-26
WO2008127676A2 (en) 2008-10-23
EP3920538B1 (en) 2023-02-22
KR101467601B1 (ko) 2014-12-02
KR20190038680A (ko) 2019-04-08
RU2651227C2 (ru) 2018-04-18
JP5674873B2 (ja) 2015-02-25
US8780998B2 (en) 2014-07-15
HUE038192T2 (hu) 2018-10-29
WO2008127676A3 (en) 2008-12-18
EP3836550B1 (en) 2021-07-21
HUE055864T2 (hu) 2021-12-28
PL3920538T3 (pl) 2023-05-08
DK3758380T3 (da) 2021-03-08
US20190253727A1 (en) 2019-08-15
US10764596B2 (en) 2020-09-01
US10432958B2 (en) 2019-10-01
CN101658037A (zh) 2010-02-24
HUE029776T2 (en) 2017-04-28
PT3758380T (pt) 2021-03-09
SI3836550T1 (sl) 2021-09-30
US20160080757A1 (en) 2016-03-17
EP2512135A1 (en) 2012-10-17
EP3855743A1 (en) 2021-07-28
PL2512136T3 (pl) 2016-11-30
RU2763966C1 (ru) 2022-01-12
KR101766479B1 (ko) 2017-10-23
ES2887248T3 (es) 2021-12-22
RU2521618C2 (ru) 2014-07-10
US9986254B1 (en) 2018-05-29
US20170257638A1 (en) 2017-09-07
US20190037230A1 (en) 2019-01-31
KR20190127999A (ko) 2019-11-13
RU2752572C1 (ru) 2021-07-29
KR20200069389A (ko) 2020-06-16
US20180048904A1 (en) 2018-02-15
KR102044130B1 (ko) 2019-11-12
AU2008239653A1 (en) 2008-10-23
KR20210006026A (ko) 2021-01-15
BRPI0823512A2 (pt) 2013-11-26
DK3920538T3 (da) 2023-03-27
EP3399756B1 (en) 2020-09-09
EP3920538A1 (en) 2021-12-08
KR20160121604A (ko) 2016-10-19
RU2721941C1 (ru) 2020-05-25
MX2009010973A (es) 2009-10-30
US20190379897A1 (en) 2019-12-12
US20150281736A1 (en) 2015-10-01
EP4383719A2 (en) 2024-06-12
KR101965781B1 (ko) 2019-04-05
PL3758380T3 (pl) 2021-05-17
ES2941888T3 (es) 2023-05-26
KR102510010B1 (ko) 2023-03-15
BRPI0809510A2 (pt) 2012-12-25
HUE053544T2 (hu) 2021-07-28

Similar Documents

Publication Publication Date Title
ES2858578T3 (es) Organización en mosaico en codificación y decodificación de vídeo