ES2675164T3 - Presentación en mosaico en la codificación y descodificación de vídeo - Google Patents

Presentación en mosaico en la codificación y descodificación de vídeo Download PDF

Info

Publication number
ES2675164T3
ES2675164T3 ES15153812.1T ES15153812T ES2675164T3 ES 2675164 T3 ES2675164 T3 ES 2675164T3 ES 15153812 T ES15153812 T ES 15153812T ES 2675164 T3 ES2675164 T3 ES 2675164T3
Authority
ES
Spain
Prior art keywords
view
image
video
information
multiple images
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
ES15153812.1T
Other languages
English (en)
Inventor
Bibhas Pandit Purvin
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=ES2675164(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 ES2675164T3 publication Critical patent/ES2675164T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/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/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/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/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 procedimiento, caracterizado por que comprende: - recibir un flujo de vídeo; - acceder a una imagen de vídeo que incluye múltiples imágenes combinadas en una única imagen (826), donde las múltiples imágenes incluyen una primera imagen de una primera vista de un vídeo de múltiples vistas y una segunda imagen de una segunda vista del vídeo de múltiples vistas, donde la imagen de vídeo forma parte del flujo de vídeo recibido; - acceder a información que indica cómo las múltiples imágenes de la imagen de vídeo accedida están combinadas, en el que la información accedida indica que al menos una de las múltiples imágenes está girada de manera individual en una o más de una dirección horizontal o una dirección vertical, y en el que la información accedida está comprendida en al menos uno de entre una cabecera de segmento, un conjunto de parámetros de secuencia, un conjunto de parámetros de imagen, una cabecera de unidad de capa de abstracción de red y un mensaje de información de mejora complementaria, donde la primera imagen de la primera vista no está girada y la segunda imagen de la segunda vista está girada, la primera imagen de la primera vista y la segunda imagen de la segunda vista están dispuestas lado a lado o una encima de otra; y - descodificar la imagen de vídeo para proporcionar una representación descodificada de las múltiples imágenes combinadas (824, 826), en el que la información accedida (824, 826) puede usarse para posprocesar la representación descodificada para girar de manera individual la al menos una de las múltiples imágenes.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Presentación en mosaico en la codificación y descodificación de vídeo Campo técnico
Los presentes principios se refieren, en general, a la codificación y/o descodificación de vídeo.
Antecedentes
Los fabricantes de dispositivos de visualización de vídeo pueden usar un marco de disposición o de presentación en mosaico de diferentes vistas en un único cuadro. Las vistas pueden extraerse después de sus respectivas ubicaciones y renderizarse.
El documento EP 1 581 003 A1 describe un sistema para supervisar una pluralidad de señales de vídeo en una red de vídeo interna, tal como un entorno de grabación de radiodifusión, o una red de cámaras de seguridad. El sistema comprende un monitor de imágenes que presenta una pantalla en la que se muestra una imagen de vídeo en mosaico que contiene las señales de vídeo de una pluralidad de cámaras o de otros dispositivos de vídeo. La selección de una señal de vídeo de la imagen en mosaico puede realizarse para mostrar una versión a pantalla completa de esa señal.
El documento de MEESSEN J ET AL: "Content browsing and semantic context viewing through JPEG 2000-based scalable video summaiy', IEE PROCEEDINGS: VISION, IMAGE AND SIGNAL PROCESSING, INSTITUTION OF ELECTRICAL ENGINEERS, GB, vol. 153, n.° 3, 8 de junio de 2006 (08/06/2006), páginas 274 a 283, describe un procedimiento y una plataforma de software para explorar de manera remota e interactiva un resumen de largas secuencias de vídeo, así como para revelar los enlaces semánticos entre tomas y escenas en su contexto temporal.
El documento US 5.915.091 describe un sistema de colaboración multimedia que integra diferentes redes en tiempo real y asíncronas (las primeras para audio y vídeo en tiempo real, y las segundas para señales de control y datos de texto, de gráficos y de otro tipo), de manera puede hacerse funcionar entre diferentes plataformas de sistemas operativos de ordenadores y redes y que se acerca en gran medida a la experiencia de una colaboración cara a cara, a la vez que se libera a los participantes de las limitaciones de tiempo y distancia.
El documento de EMIN MARTINIAN ET AL: "Extensions of H.264/AVC for Multiview Video Compression", IMAGE PROCESSING, 2006 IEEE INTERNATIONAL CONFERENCE ON, IEEE, PI, 1 de octubre de 2006 (01/10/2006), páginas 2981 a 2984, considera una compresión de vídeo con múltiples vistas: problema en chip de comprimir conjuntamente múltiples vistas de una escena grabada con diferentes cámaras. Para aprovechar la correlación en chip entre las vistas, Martinian et al. proponen usar una predicción de vistas y una síntesis de vistas compensadas en disparidad, y describen cómo estas características pueden implementarse ampliando la norma de compresión H.264/AVC.
Resumen
La presente invención se define mediante procedimientos según las reivindicaciones 1 y 7, mediante aparatos según las reivindicaciones 3 y 9, así como mediante medios legibles por ordenador según las reivindicaciones 5 y 11. Formas de realización preferidas se definen mediante las reivindicaciones dependientes.
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 están combinadas las múltiples imágenes en la imagen de vídeo accedida. La imagen de vídeo se descodifica para proporcionar una representación descodificada de las múltiples imágenes combinadas. La información accedida y la imagen de vídeo descodificada se proporcionan como salida.
Según otro aspecto general, se genera información que indica cómo múltiples imágenes incluidas en una imagen de vídeo se combinan en una única imagen. La imagen de vídeo se codifica para proporcionar una representación codificada de las múltiples imágenes combinadas. La información generada 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 múltiples imágenes incluidas en una única imagen de vídeo se combinan en la única imagen de vídeo. La señal o estructura de señal incluye además una representación codificada de las múltiples imágenes combinadas.
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 están combinadas las múltiples imágenes en la imagen de vídeo accedida. La imagen de vídeo se descodifica para proporcionar una representación descodificada de al menos
5
10
15
20
25
30
35
40
45
50
55
una de las múltiples imágenes. La información accedida y la representación descodificada 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 están combinadas las múltiples imágenes en la imagen de vídeo accedida. La imagen de vídeo se descodifica para proporcionar una representación descodificada de las múltiples imágenes combinadas. Se recibe una entrada de usuario que selecciona al menos una de las múltiples imágenes para su visualización. Se proporciona una salida descodificada de la al menos una imagen seleccionada, donde la salida descodificada se proporciona en función de la información accedida, la representación descodificada y la entrada de usuario.
Los detalles de una o más implementaciones se exponen en los dibujos adjuntos y en la siguiente descripción. Incluso si se describen de una manera particular, debe quedar claro que las implementaciones pueden configurarse o realizarse de varias maneras. Por ejemplo, una implementación puede realizarse como un procedimiento, o realizarse como un aparato configurado para realizar un conjunto de operaciones, o realizarse como un aparato que almacena instrucciones para realizar un conjunto de operaciones, o representarse como una señal. Otros aspectos y características resultarán evidentes a partir de la siguiente descripción detallada considerada junto 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 presentadas en mosaico en un único cuadro.
La FIG. 2 es un diagrama que muestra un ejemplo de cuatro vistas giradas y presentadas en mosaico en un único cuadro.
La FIG. 3 muestra un diagrama de bloques de un codificador de vídeo al que pueden aplicarse los presentes principios, según una forma de realización de los presentes principios.
La FIG. 4 muestra un diagrama de bloques de un descodificador de vídeo al que pueden aplicarse los presentes principios, según una forma de realización de los presentes principios.
La FIG. 5 es un diagrama de flujo de un procedimiento para codificar imágenes para una pluralidad de vistas usando la norma MPEG-4 AVC, según una forma de realización de los presentes principios.
La FIG. 6 es un diagrama de flujo de un procedimiento para descodificar imágenes para una pluralidad de vistas usando la norma MPEG-4 AVC, según una forma de realización de los presentes principios.
La FIG. 7 es un diagrama de flujo de un procedimiento para codificar imágenes para una pluralidad de vistas y profundidades usando la norma MPEG-4 aVc, según una forma de realización de los presentes principios.
La FIG. 8 es un diagrama de flujo de un procedimiento para descodificar imágenes para una pluralidad de vistas y profundidades usando la norma MPEG-4 AVC, según una forma de 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 forma de 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 un mosaico, según una forma de realización de los presentes principios.
La FIG. 11 es un diagrama que muestra un ejemplo de 5 vistas presentadas en mosaico en un único cuadro, según una forma de realización de los presentes principios.
La FIG. 12 es un diagrama de bloques de un codificador de codificación de vídeo de múltiples vistas (MVC) al que pueden aplicarse los presentes principios, según una forma de realización de los presentes principios.
La FIG. 13 es un diagrama de bloques de un descodificador de codificación de vídeo de múltiples vistas (MVC) al que pueden aplicarse los presentes principios, según una forma de realización de los presentes principios.
La FIG. 14 es un diagrama de flujo de un procedimiento para procesar imágenes para una pluralidad de vistas como preparación a la codificación de las imágenes usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC, según una forma de realización de los presentes principios.
La FIG. 15 es un diagrama de flujo de un procedimiento para codificar imágenes para una pluralidad de vistas usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC, según una forma de realización de los presentes principios.
La FIG. 16 es un diagrama de flujo de un procedimiento para procesar imágenes para una pluralidad de vistas como preparación a la descodificación de las imágenes usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC, según una forma de realización de los presentes principios.
5
10
15
20
25
30
35
40
45
50
55
60
La FIG. 17 es un diagrama de flujo de un procedimiento para descodificar imágenes para una pluralidad de vistas usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC, según una forma de realización de los presentes principios.
La FIG. 18 es un diagrama de flujo de un procedimiento para procesar imágenes para una pluralidad de vistas y profundidades como preparación a la codificación de las imágenes usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC, según una forma de realización de los presentes principios.
La FIG. 19 es un diagrama de flujo de un procedimiento para codificar imágenes para una pluralidad de vistas y profundidades usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC, según una forma de realización de los presentes principios.
La FIG. 20 es un diagrama de flujo de un procedimiento para procesar imágenes para una pluralidad de vistas y profundidades como preparación a la descodificación de las imágenes usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC, según una forma de realización de los presentes principios.
La FIG. 21 es un diagrama de flujo de un procedimiento para descodificar imágenes para una pluralidad de vistas y profundidades usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC, según una forma de realización de los presentes principios.
La FIG. 22 es un diagrama que muestra ejemplos de presentación en mosaico a nivel de píxel, según una forma de realización de los presentes principios.
La FIG. 23 muestra un diagrama de bloques de un dispositivo de procesamiento de vídeo al que pueden aplicarse los presentes principios, según una forma de realización de los presentes principios.
Descripción detallada
Varias implementaciones están dirigidas a procedimientos y aparatos para la presentación de vistas en mosaico en la codificación y la descodificación de vídeo. Por tanto, debe apreciarse que los expertos en la técnica podrán concebir varias disposiciones que, aunque no se describan o muestren de manera explícita en el presente documento, representan los presentes principios.
Todos los ejemplos y el lenguaje condicional incluidos en el presente documento tienen fines pedagógicos para ayudar al lector a entender los presentes principios y los conceptos aportados por el/los inventor(es) para mejorar la técnica, y no debe considerarse que están limitados a tales ejemplos y condiciones expuestos de manera específica.
Además, todas las afirmaciones del presente documento que enumeran principios, aspectos y formas de realización de los presentes principios, así como ejemplos específicos de los mismos, abarcan equivalencias estructurales y funcionales de los mismos. Además, tales equivalencias incluyen equivalencias actualmente conocidas, así como equivalencias desarrolladas en el futuro, es decir, cualquier elemento desarrollado que lleve a cabo la misma función, independientemente de la estructura.
Por tanto, por ejemplo, los expertos en la técnica apreciarán que los diagramas de bloques presentados en el presente documento representan vistas conceptuales de sistemas de circuitos ilustrativos que representan los presentes principios. Asimismo, debe apreciarse que cualquier organigrama, diagrama de flujo, diagrama de transición de estados, seudocódigo, etc., representan varios procesos que pueden representarse sustancialmente en medios legibles por ordenador y ejecutarse por tanto mediante un ordenador o procesador, independientemente de que tal ordenador o procesador se muestre explícitamente o no.
Las funciones de los diversos elementos mostrados en las figuras pueden proporcionarse mediante el uso de hardware dedicado así como hardware capaz de ejecutar software junto con software apropiado. Cuando se proporcionan por un procesador, las funciones pueden proporcionarse por un único procesador dedicado, por un único procesador compartido o por una pluralidad de procesadores individuales, algunos de los cuales pueden compartirse. Además, no debe considerarse que el uso explícito del término "procesador" o "controlador" se refiere exclusivamente a hardware capaz de ejecutar software, sino que puede incluir implícitamente, sin limitación, hardware de 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 puede incluirse otro hardware, convencional y/o personalizado. Asimismo, cualquier conmutador mostrado en las figuras es solamente conceptual. Su función puede llevarse a cabo mediante operaciones de lógica de programa, mediante lógica dedicada, mediante la interacción de control de programa y lógica dedicada, o incluso manualmente, donde la técnica particular más apropiada según el contexto puede ser seleccionada por el implementador.
En las reivindicaciones de la invención, cualquier elemento expresado como un medio para llevar a cabo una función especificada pretende abarcar cualquier manera de llevar a cabo esa función incluido, por ejemplo, a) una combinación de elementos de circuito que lleve a cabo esa función, o b) software de cualquier tipo, incluido, por
5
10
15
20
25
30
35
40
45
50
55
60
65
tanto, firmware, microcódigo, etc., en combinación con un sistema de circuitos apropiado para ejecutar ese software para llevar a cabo la función. Los presentes principios definidos por tales reivindicaciones se basan en el hecho de que las funcionalidades proporcionadas por los diversos medios enumerados se combinan y se utilizan de la manera indicada en las reivindicaciones. Por tanto, se considera que cualquier medio que pueda proporcionar estas funcionalidades es equivalente a los mostrados en el presente documento.
La referencia en la memoria descriptiva a "una forma de realización" (o "una implementación") de los presentes principios significa que una propiedad, estructura, característica, etc. particulares descritas en relación con la forma de realización está incluida en al menos una forma de realización de los presentes principios. Por tanto, no todas las veces que aparece la expresión "en una forma de realización" en diversos puntos de la memoria descriptiva se hace referencia necesariamente a la misma forma de realización.
Debe apreciarse 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 abarcar la selección de solo la primera opción enumerada (A), de solo la selección de la segunda opción enumerada (B) o la selección de ambas opciones (A y B). Como otro ejemplo, en los casos de "A, B y/o C" y de "al menos uno de A, B y C", tal expresión tiene como objetivo abarcar la selección de solo la primera opción enumerada (A), la selección de solo la segunda opción enumerada (B), la selección de solo la tercera opción enumerada (C), la selección de solo la primera y la segunda opción enumeradas (A y B), la selección de solo la primera y la tercera opción enumeradas (A y C), la selección de solo la segunda y la tercera opción enumeradas (B y C), o la selección de las tres opciones (A, B y C). Esto puede ampliarse con respecto al número total de elementos enumerados, como les resultará fácilmente evidente a los expertos en la técnica.
Además, debe apreciarse que aunque una o más formas de realización de los presentes principios se describen en el presente documento con respecto a la norma MPEG-4 AVC, los presentes principios no están limitados solamente a esta norma y, por tanto, pueden utilizarse con respecto a otras normas, recomendaciones y extensiones de la misma, en particular a normas, recomendaciones y extensiones de codificación de vídeo de la misma, incluidas extensiones de la norma MPEG-4 AVC.
Además, debe apreciarse que aunque otra u otras formas de realización de los presentes principios se describen en el presente documento con respecto a la extensión de codificación de vídeo de múltiples vistas de la norma MPEG-4 AVC, los presentes principios no están limitados solamente a esta extensión y/o a esta norma y, por tanto, pueden utilizarse con respecto a otras normas, recomendaciones y extensiones de codificación de vídeo de la misma relacionadas con la codificación de vídeo de múltiples vistas. La codificación de vídeo de múltiples vistas (MVC) es el marco de compresión para la codificación de secuencias de múltiples vistas. Una secuencia de codificación de vídeo de múltiples vistas (MVC) es un conjunto de dos o más secuencias de vídeo que capturan la misma escena desde un punto de vista diferente.
Además, debe apreciarse que aunque otra u otras formas de realización de los presentes principios descritas en el presente documento usan información de profundidad con respecto al contenido de vídeo, los presentes principios no están limitados a tales formas de realización y, por tanto, pueden implementarse otras formas de realización que no usan información de profundidad.
Además, como se usa en el presente documento, "sintaxis de alto nivel" se refiere a la sintaxis presente en el flujo de bits que reside de manera jerárquica encima de la capa de macrobloques. Por ejemplo, sintaxis de alto nivel, tal y como se usa en el presente documento, puede referirse a, pero no está limitado a, sintaxis a nivel de cabecera de segmento, nivel de información de mejora complementaria (SEI), nivel de conjunto de parámetros de imagen (PPS), nivel de conjunto de parámetros de secuencia (SPS), conjunto de parámetros de vista (VPS) y nivel de cabecera de unidad de capa de abstracción de red (NAL).
En la implementación actual de codificación de múltiples videos (MVC) basada en la recomendación H.264 de la Unión Internacional de Telecomunicaciones, Sector de Telecomunicaciones (ITU-T) / norma del Grupo 4 de Expertos en Imágenes en Movimiento (MPEG-4), parte 10 (codificación de vídeo avanzada (AVC)), de la Organización Internacional de Normalización/Comisión Electrotécnica Internacional (ISO/IEC) (lo que se denomina en lo sucesivo "norma MPEG-4 AVC), el software de referencia consigue una predicción de múltiples vistas codificando cada vista con un único codificador y teniendo en cuenta las referencias de vistas cruzadas. Cada vista es codificada como un flujo de bits diferente por el codificador en su resolución original y, después, todos los flujos de bits se combinan para formar un único flujo de bits que posteriormente se descodifica. Cada vista produce una salida descodificada YUV diferente.
Otro enfoque para la predicción de múltiples vistas implica agrupar un conjunto de vistas en seudovistas. En un ejemplo de este enfoque, las imágenes de cada N vistas de un total de M vistas (muestreadas al mismo tiempo) pueden presentarse en mosaico en un cuadro más grande o en supercuadro con un posible muestreado descendente u otras operaciones. Haciendo referencia a la FIG. 1, un ejemplo de cuatro vistas presentadas en mosaico en un único cuadro se indica de manera genérica mediante el número de referencia 100. Las cuatro vistas están en su orientación normal.
5
10
15
20
25
30
35
40
45
50
55
60
65
Haciendo referencia a la FIG. 2, un ejemplo de cuatro vistas giradas y presentadas en mosaico en un único cuadro se indica de manera genérica mediante el número de referencia 200. La vista superior izquierda está en su orientación normal. La vista superior derecha está girada en horizontal. La vista inferior izquierda está girada en vertical. La vista inferior derecha está girada en vertical y en horizontal. Por tanto, si hay cuatro vistas, entonces una imagen de cada vista está dispuesta en un supercuadro como un mosaico. Esto da como resultado una única secuencia de entrada no codificada con una gran resolución.
Como alternativa, puede muestrearse la imagen de manera descendente para producir una menor resolución. Por tanto, se crean múltiples secuencias, donde cada una incluye diferentes vistas que se presentan en mosaico conjuntamente. Cada secuencia de este tipo forma entonces una seudovista, donde cada seudovista incluye N vistas en mosaico diferentes. La FIG. 1 muestra una seudovista, y la FIG. 2 muestra otra seudovista. Estas seudovistas pueden codificarse después usando normas de codificación de vídeo existentes, tales como la norma ISO/IEC MPEG-2 y la norma MPEG-4 AVC.
Otro enfoque adicional para la predicción de múltiples vistas simplemente implica codificar las diferentes vistas de manera independiente usando una nueva norma y, después, descodificar y presentar en mosaico las vistas según requiera el reproductor.
Además, en otro enfoque, las vistas también pueden presentarse en mosaico de una manera basada en píxeles. Por ejemplo, en una supervista que está formada por cuatro vistas, el 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 dispositivos de visualización usan este marco de disposición o de presentación en mosaico de diferentes vistas en un único cuadro, y después extraen las vistas desde sus respectivas ubicaciones y las renderizan. En tales casos, no hay una manera estándar de determinar si el flujo de bits tiene tal propiedad. Por tanto, si un sistema usa el procedimiento de presentar en mosaico imágenes de diferentes vistas en un gran cuadro, entonces el procedimiento de extracción de las diferentes vistas es obligatorio.
Sin embargo, no hay una manera estándar de determinar si el flujo de bits tiene tal propiedad. Se propone una sintaxis de alto nivel para facilitar al renderizador o al reproductor que extraiga tal información con el fin de ayudar en la visualización o en otro procesamiento posterior. También es posible que las subimágenes tengan diferentes resoluciones y puede ser necesario cierto muestreo ascendente para renderizar finalmente la vista. El usuario puede desear que el procedimiento de muestreo ascendente también esté indicado en la sintaxis de alto nivel. Además, también pueden transmitirse parámetros para cambiar el foco de profundidad.
En una forma de realización se propone un nuevo mensaje de información de mejora complementaria (SEI) para señalizar información de múltiples vistas en un flujo de bits compatible con la norma MPEG-4 AVC, donde cada imagen incluye subimágenes que pertenecen a una vista diferente. La forma de realización tiene como objetivo, por ejemplo, visualizar de manera fácil y cómoda flujos de vídeo de múltiples vistas en monitores tridimensionales (3d) que pueden usar este marco. El concepto puede ampliarse a otras normas de codificación de vídeo y recomendaciones que señalizan tal información usando una sintaxis de alto nivel.
Además, en una forma de realización, se propone un procedimiento de señalización que indica cómo disponer vistas antes de que se envíen al codificador y/o al descodificador de vídeo de múltiples vistas. De manera ventajosa, la forma de realización puede dar lugar a una implementación simplificada de la codificación de múltiples vistas, y puede mejorar la eficacia de codificación. Ciertas vistas pueden juntarse y formar una seudovista o supervista y, después, la supervista presentada en mosaico se trata como una vista normal mediante un codificador y/o un descodificador de vídeo común de múltiples vistas, por ejemplo, en lo que respecta a la implementación de la codificación de vídeo de múltiples vistas basada en la norma MPEG-4 AVC actual. Se propone un nuevo indicador en la extensión del conjunto de parámetros de secuencia (SPS) de la codificación de vídeo de múltiples vistas para señalizar el uso de la técnica de seudovistas. La forma de realización tiene como objetivo visualizar de manera fácil y cómoda flujos de vídeo de múltiples vistas en monitores 3D que pueden usar este marco.
Codificación/descodificación usando una norma/recomendación de codificación/descodificación de vídeo de una sola vista
En la implementación actual de codificación de múltiples videos (MVC) basada en la recomendación H.264 de la Unión Internacional de Telecomunicaciones, Sector de Telecomunicaciones (ITU-T) / norma del Grupo 4 de Expertos en Imágenes en Movimiento (MPEG-4), parte 10 (codificación de vídeo avanzada (AVC)), de la Organización Internacional de Normalización/Comisión Electrotécnica Internacional (ISO/IEC) (lo que se denomina en lo sucesivo "norma MPEG-4 AVC), el software de referencia consigue una predicción de múltiples vistas codificando cada vista con un único codificador y teniendo en cuenta las referencias de vistas cruzadas. Cada vista es codificada como un flujo de bits diferente por el codificador en su resolución original y, después, todos los flujos de bits se combinan para formar un único flujo de bits que posteriormente se descodifica. Cada vista produce una salida descodificada YUV diferente.
5
10
15
20
25
30
35
40
45
50
55
60
65
Otro enfoque para una predicción de múltiples vistas implica presentar en mosaico las imágenes de cada vista (maestreadas al mismo tiempo) en un cuadro más grande o un supercuadro con una posible operación de muestreo descendente. Haciendo referencia a la FIG. 1, un ejemplo de cuatro vistas presentadas en mosaico en un único cuadro se indica de manera genérica mediante el número de referencia 100. Haciendo referencia a la FIG. 2, un ejemplo de cuatro vistas giradas y presentadas en mosaico en un único cuadro se indica de manera genérica mediante el número de referencia 200. Por tanto, si hay cuatro vistas, entonces una imagen de cada vista está dispuesta en un supercuadro como un mosaico. Esto da como resultado una única secuencia de entrada no codificada con una gran resolución. Esta señal puede codificarse después usando normas de codificación de vídeo existentes, tales como la norma ISO/IEC MPEG-2 y la norma MPEG-4 AVC.
Otro enfoque adicional para la predicción de múltiples vistas simplemente incluye codificar las diferentes vistas de manera independiente usando una nueva norma y, después, descodificar y presentar en mosaico las vistas según requiera el reproductor.
Muchos fabricantes de dispositivos de visualización usan este marco de disposición o de presentación en mosaico de diferentes vistas en un único cuadro, y después extraen las vistas desde sus respectivas ubicaciones y las renderizan. En tales casos, no hay una manera estándar de determinar si el flujo de bits tiene tal propiedad. Por tanto, si un sistema usa el procedimiento de presentar en mosaico imágenes de diferentes vistas en un gran cuadro, entonces el procedimiento de extracción de las diferentes vistas es obligatorio.
Haciendo referencia a la FIG. 3, un codificador de vídeo que puede realizar una codificación de vídeo según la norma MPEG-4 AVC se indica de manera genérica mediante el número de referencia 300.
El codificador de vídeo 300 incluye una memoria intermedia de ordenación de cuadros 310 que presenta una salida en comunicación de señales con una entrada sin inversión de un combinador 385. Una salida del combinador 385 está conectada en comunicación de señales a una primera entrada de un transformador y cuantificador 325. Una salida del transformador y cuantificador 325 está conectada en comunicación de señal a una primera entrada de un codificador de entropía 345 y a una primera entrada de un transformador inverso y cuantificador inverso 350. Una salida del codificador de entropía 345 está conectada en comunicación de señales a una primera entrada sin inversión de un combinador 390. Una salida del combinador 390 está conectada en comunicación de señales a una primera entrada de una memoria intermedia de salida 335.
Una primera salida de un controlador de codificador 305 está conectada en comunicación de señales a una segunda entrada de la memoria intermedia de ordenación de cuadros 310, a una segunda entrada del transformador inverso y cuantificador inverso 350, a una entrada de un módulo de decisión de tipo de imagen 315, a una entrada de un módulo de decisión de tipo de macrobloque (tipo MB) 320, a una segunda entrada de un módulo de intrapredicción 360, a una segunda entrada de un filtro de desbloqueo 365, a una primera entrada de un compensador de movimiento 370, a una primera entrada de un estimador de movimiento 375 y a una segunda entrada de una memoria intermedia de imágenes de referencia 380.
Una segunda salida del controlador de codificador 305 está conectada en comunicación de señales a una primera entrada de un insertador de información de mejora complementaria (SEI) 330, a una segunda entrada del transformador y cuantificador 325, a una segunda entrada del codificador de entropía 345, a una segunda entrada de la memoria intermedia de salida 335, y a una entrada del insertador de conjunto de parámetros de secuencia (SPS) y de conjunto de parámetros de imagen (PPS) 340.
Una primera salida del módulo de decisión de tipo de imagen 315 está conectada en comunicación de señales a una tercera entrada de una memoria intermedia de ordenación de cuadros 310. Una segunda salida del módulo de decisión de tipo de imagen 315 está conectada en comunicación de señales a una segunda entrada de un módulo de decisión de tipo de macrobloque 320.
Una salida del insertador de conjunto de parámetros de secuencia (SPS) y de conjunto de parámetros de imagen (PPS) 340 está conectado en comunicación de señales a una tercera entrada sin inversión del combinador 390. Una salida del insertador de SEI 330 está conectada en comunicación de señales a una segunda entrada sin inversión del combinador 390.
Una salida del cuantificador inverso y transformador inverso 350 está conectada en comunicación de señales a una primera entrada sin inversión de un combinador 319. Una salida del combinador 319 está conectada en comunicación de señales a una primera entrada del módulo de intrapredicción 360 y a una primera entrada del filtro de desbloqueo 365. Una salida del filtro de desbloqueo 365 está conectada en comunicación de señales a una primera entrada de una memoria intermedia de imágenes de referencia 380. Una salida de la memoria intermedia de imágenes de referencia 380 está conectada en comunicación de señales a una segunda entrada del estimador de movimiento 375 y a una primera entrada de un compensador de movimiento 370. Una primera salida del estimador de movimiento 375 está conectada en comunicación de señales a una segunda entrada del compensador de movimiento 370. Una segunda salida del estimador de movimiento 375 está conectada en comunicación de señales a una tercera entrada del codificador de entropía 345.
5
10
15
20
25
30
35
40
45
50
55
60
65
Una salida del compensador de movimiento 370 está conectada en comunicación de señales a una primera entrada de un conmutador 397. Una salida del módulo de intrapredicción 360 está conectada en comunicación de señales a una segunda entrada del conmutador 397. Una salida del módulo de decisión de tipo de macrobloque 320 está conectada en comunicación de señales a una tercera entrada del conmutador 397 para 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 unidad de control, es decir, la tercera entrada) va a proporcionarse o no por el compensador de movimiento 370 o el módulo de intrapredicción 360. La salida del conmutador 397 está conectada en comunicación de señales a una segunda entrada sin inversión del combinador 319 y a una entrada con inversión del combinador 385.
Entradas de la memoria intermedia de ordenación de cuadros 310 y del controlador de codificador 105 están disponibles como entradas del codificador 300 para recibir una imagen de entrada 301. Además, una entrada del insertador de información de mejora complementaria (SEI) 330 también está disponible como una entrada del codificador 300, para recibir metadatos. Una salida de la memoria intermedia de salida 335 está disponible como una salida del codificador 300, para proporcionar un flujo de bits.
Haciendo referencia a la FIG. 4, un descodificador de vídeo que puede realizar una descodificación de vídeo según la norma MPEG-4 AVC se indica de manera genérica mediante el número de referencia 400.
El descodificador de vídeo 400 incluye una memoria intermedia de entrada 410 que presenta una salida conectada en comunicación de señales a una primera entrada del descodificador de entropía 445. Una primera salida del descodificador de entropía 445 está conectada en comunicación de señales a una primera entrada de un transformador inverso y cuantificador inverso 450. Una salida del transformador inverso y cuantificador inverso 450 está conectada en comunicación de señales a una segunda entrada sin inversión de un combinador 425. Una salida del combinador 425 está conectada en comunicación de señales a una segunda entrada de un filtro de desbloqueo 465 y a una primera entrada de un módulo de intrapredicción 460. Una segunda salida del filtro de desbloqueo 465 está conectada en comunicación de señales a una primera entrada de una memoria intermedia de imágenes de referencia 480. Una salida de la memoria intermedia de imágenes de referencia 480 está conectada en comunicación de señales a una segunda entrada de un compensador de movimiento 470.
Una segunda salida del descodificador de entropía 445 está conectada en comunicación de señales a una tercera entrada del compensador de movimiento 470 y a una primera entrada del filtro de desbloqueo 465. Una tercera salida del descodificador de entropía 445 está conectada en comunicación de señales a una entrada de un controlador de descodificador 405. Una primera salida del controlador de descodificador 405 está conectada en comunicación de señales a una segunda entrada del descodificador de entropía 445. Una segunda salida del controlador de descodificador 405 está conectada en comunicación de señales a una segunda entrada del transformador inverso y cuantificador inverso 450. Una tercera salida del controlador de descodificador 405 está conectada en comunicación de señales a una tercera entrada del filtro de desbloqueo 465. Una cuarta salida del controlador de descodificador 405 está conectada en comunicación de señales a una segunda entrada del módulo de intrapredicción 460, a una primera entrada del compensador de movimiento 470 y a una segunda entrada de la memoria intermedia de imágenes de referencia 480.
Una salida del compensador de movimiento 470 está conectada en comunicación de señales a una primera entrada de un conmutador 497. Una salida del módulo de intrapredicción 460 está conectada en comunicación de señales a una segunda entrada del conmutador 497. Una salida del conmutador 497 está conectada en comunicación de señales a una primera entrada sin inversión del combinador 425.
Una entrada de la memoria intermedia de entrada 410 está disponible como una entrada del descodificador 400, para recibir un flujo de bits de entrada. Una primera salida del filtro de desbloqueo 465 está disponible como una salida del descodificador 400, para proporcionar una imagen de salida.
Haciendo referencia a la FIG. 5, un procedimiento a modo de ejemplo para codificar imágenes para una pluralidad de vistas usando la norma MPEG-4 AVC se indica de manera genérica mediante el número de referencia 500.
El procedimiento 500 incluye un bloque de inicio 502 que pasa el control a un bloque funcional 504. El bloque funcional 504 gestiona cada vista en una instancia de tiempo particular como una subimagen en formato de mosaico y pasa el control a un bloque funcional 506. El bloque funcional 506 fija un elemento sintáctico num_coded_views_minus1 y pasa el control a un bloque funcional 508. El bloque funcional 508 fija elementos sintácticos org_pic_width_in_mbs_minus1 y org_pic_height_in_mbs_minus1, y pasa el control a un bloque funcional 510. El bloque funcional 510 fija 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 inferior al número de vistas. Si es así, entonces el control se pasa a un bloque funcional 514. Si no, el control se pasa a un bloque funcional 524.
El bloque funcional 514 fija un elemento sintáctico view_id[i] y pasa el control a un bloque funcional 516. El bloque funcional 516 fija un elemento sintáctico num_parts[view_id[i]] y pasa el control a un bloque funcional 518. El bloque
5
10
15
20
25
30
35
40
45
50
55
60
65
funcional 518 fija 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 inferior al valor actual del elemento sintáctico num_parts[view_id[i]]. Si es así, entonces el control se pasa a un bloque funcional 522. Si no, el control se pasa a un bloque funcional 528.
El bloque funcional 522 fija los siguientes elementos sintácticos, incrementa la variable 'j' y después devuelve el 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 funcional 528 fija un elemento sintáctico 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 sintáctico upsample_view_flag[view_id[i]] es igual a uno. Si es así, entonces el control se pasa a un bloque funcional 532. Si no, el control se pasa a un bloque de decisión 534.
El bloque funcional 532 fija un elemento sintáctico 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 sintáctico upsample_filter[view_id[i]] es igual a tres. Si es así, entonces el control se pasa a un bloque funcional 536. Si no, el control se pasa a un bloque funcional 540.
El bloque funcional 536 fija los siguientes elementos sintácticos y pasa el control a un bloque funcional 538: vert_dim[view_id[i]]; hor_dim[view_id[i]]; y quantizer[view_id[i]].
El bloque funcional 538 fija los coeficientes de filtro para cada componente YUV y pasa el control al bloque funcional 540.
El bloque funcional 540 incrementa la variable 'i' y devuelve el control al bloque de decisión 512.
El bloque funcional 524 escribe estos elementos sintácticos en al menos uno de un conjunto de parámetros de secuencia (SPS), un conjunto de parámetros de imagen (PPS), un mensaje de información de mejora complementaria (SEI), una cabecera de unidad de capa de abstracción de red (NAL) y una cabecera de segmento, y pasa el control a un bloque funcional 526. El bloque funcional 526 codifica cada imagen usando la norma MPEG-4 AVC u otro códec de vista única, y pasa el control a un bloque final 599.
Haciendo referencia a la FIG. 6, un procedimiento a modo de ejemplo para descodificar imágenes para una pluralidad de vistas usando la norma MpEG-4 AVC se indica de manera genérica mediante el número de referencia 600.
El procedimiento 600 incluye un bloque de inicio 602 que pasa el control a un bloque funcional 604. El bloque funcional 604 analiza sintácticamente los siguientes elementos sintácticos de al menos uno de un conjunto de parámetros de secuencia (SPS), un conjunto de parámetros de imagen (PPS), un mensaje de información de mejora complementaria (SEI), una cabecera de unidad de capa de abstracción de red (NAL) y una cabecera de segmento, y pasa el control a un bloque funcional 606. El bloque funcional 606 analiza sintácticamente un elemento sintáctico num_coded_views_minus1 y pasa el control a un bloque funcional 608. El bloque funcional 608 analiza sintácticamente elementos sintácticos org_pic_width_in_mbs_minus1 y org_pic_height_in_mbs_minus1, y pasa el control a un bloque funcional 610. El bloque funcional 610 fija 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 inferior al número de vistas. Si es así, entonces el control se pasa a un bloque funcional 614. Si no, el control se pasa a un bloque funcional 624.
El bloque funcional 614 analiza sintácticamente un elemento sintáctico view_id[i] y pasa el control a un bloque funcional 616. El bloque funcional 616 analiza sintácticamente un elemento sintáctico num_parts_minus1[view_id[i]] y pasa el control a un bloque funcional 618. El bloque funcional 618 fija 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 inferior al valor actual del elemento sintáctico num_parts[view_id[i]]. Si es así, entonces el control se pasa a un bloque funcional 622. Si no, el control se pasa a un bloque funcional 628.
El bloque funcional 622 analiza sintácticamente los siguientes elementos sintácticos, incrementa la variable 'j' y después devuelve el 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]; 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 funcional 628 analiza sintácticamente un elemento sintáctico 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 sintáctico upsample_view_flag[view_id[i]] es igual a uno. Si es así, entonces el control se pasa a un bloque funcional 632. Si no, el control se pasa a un bloque de decisión 634.
5
10
15
20
25
30
35
40
45
50
55
60
65
El bloque funcional 632 analiza sintácticamente un elemento sintáctico 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 sintáctico upsample_filter[view_id[i]] es igual a tres. Si es así, entonces el control se pasa a un bloque funcional 636. Si no, el control se pasa a un bloque funcional 640.
El bloque funcional 636 analiza sintácticamente los siguientes elementos sintácticos y pasa el control a un bloque funcional 638: vert_dim[view_id[i]]; hor_dim[view_id[i]]; y quantizer[view_id[i]].
El bloque funcional 638 analiza sintácticamente los coeficientes de filtro para cada componente YUV y pasa el control al bloque funcional 640.
El bloque funcional 640 incrementa la variable 'i' y devuelve el control al bloque de decisión 612.
El bloque funcional 624 descodifica cada imagen usando la norma MPEG-4 AVC u otro códec de vista única, y pasa el control a un bloque funcional 626. El bloque funcional 626 separa cada vista de la imagen usando la sintaxis de alto nivel y pasa el control a un bloque final 699.
Haciendo referencia a la FIG. 7, un procedimiento a modo de ejemplo para codificar imágenes para una pluralidad de vistas y profundidades usando la norma MPEG-4 AVC se indica de manera genérica mediante el número de referencia 700.
El procedimiento 700 incluye un bloque de inicio 702 que pasa el control a un bloque funcional 704. El bloque funcional 704 dispone cada vista y profundidad correspondiente en una instancia de tiempo particular como una subimagen en formato de mosaico, y pasa el control a un bloque funcional 706. El bloque funcional 706 fija un elemento sintáctico num_coded_views_minus1 y pasa el control a un bloque funcional 708. El bloque funcional 708 fija elementos sintácticos org_pic_width_in_mbs_minus1 y org_pic_height_in_mbs_minus1, y pasa el control a un bloque funcional 710. El bloque funcional 710 fija 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 inferior al número de vistas. Si es así, entonces el control se pasa a un bloque funcional 714. Si no, el control se pasa a un bloque funcional 724.
El bloque funcional 714 fija un elemento sintáctico view_id[i] y pasa el control a un bloque funcional 716. El bloque funcional 716 fija un elemento sintáctico num_parts[view_id[i]] y pasa el control a un bloque funcional 718. El bloque funcional 718 fija 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 inferior al valor actual del elemento sintáctico num_parts[view_id[i]]. Si es así, entonces el control se pasa a un bloque funcional 722. Si no, el control se pasa a un bloque funcional 728.
El bloque funcional 722 fija los siguientes elementos sintácticos, incrementa la variable 'j' y después devuelve el 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 funcional 728 fija un elemento sintáctico 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 sintáctico upsample_view_flag[view_id[i]] es igual a uno. Si es así, entonces el control se pasa a un bloque funcional 732. Si no, el control se pasa a un bloque de decisión 734.
El bloque funcional 732 fija un elemento sintáctico 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 sintáctico upsample_filter[view_id[i]] es igual a tres. Si es así, entonces el control se pasa a un bloque funcional 736. Si no, el control se pasa a un bloque funcional 740.
El bloque funcional 736 fija los siguientes elementos sintácticos y pasa el control a un bloque funcional 738: vert_dim[view_id[i]]; hor_dim[view_id[i]]; y quantizer[view_id[i]].
El bloque funcional 738 fija los coeficientes de filtro para cada componente YUV y pasa el control al bloque funcional 740.
El bloque funcional 740 incrementa la variable 'i' y devuelve el control al bloque de decisión 712.
El bloque funcional 724 escribe estos elementos sintácticos en al menos uno de un conjunto de parámetros de secuencia (SPS), un conjunto de parámetros de imagen (PPS), un mensaje de información de mejora
5
10
15
20
25
30
35
40
45
50
55
60
65
complementaria (SEI), una cabecera de unidad de capa de abstracción de red (NAL) y una cabecera de segmento, y pasa el control a un bloque funcional 726. El bloque funcional 726 codifica cada imagen usando la norma MPEG-4 AVC u otro códec de vista única, y pasa el control a un bloque final 799.
Haciendo referencia a la FIG. 8, un procedimiento a modo de ejemplo para descodificar imágenes para una pluralidad de vistas y profundidades usando la norma MPEG-4 AVC se indica de manera genérica mediante el número de referencia 800.
El procedimiento 800 incluye un bloque de inicio 802 que pasa el control a un bloque funcional 804. El bloque funcional 804 analiza sintácticamente los siguientes elementos sintácticos de al menos uno de un conjunto de parámetros de secuencia (SPS), un conjunto de parámetros de imagen (PPS), un mensaje de información de mejora complementaria (SEI), una cabecera de unidad de capa de abstracción de red (NAL), y una cabecera de segmento, y pasa el control a un bloque funcional 806. El bloque funcional 806 analiza sintácticamente un elemento sintáctico num_coded_views_minus1 y pasa el control a un bloque funcional 808. El bloque funcional 808 analiza sintácticamente elementos sintácticos org_pic_width_in_mbs_minus1 y org_pic_height_in_mbs_minus1, y pasa el control a un bloque funcional 810. El bloque funcional 810 fija 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 inferior al número de vistas. Si es así, entonces el control se pasa a un bloque funcional 814. Si no, el control se pasa a un bloque funcional 824.
El bloque funcional 814 analiza sintácticamente un elemento sintáctico view_id[i] y pasa el control a un bloque funcional 816. El bloque funcional 816 analiza sintácticamente un elemento sintáctico num_parts_minus1[view_id[i]] y pasa el control a un bloque funcional 818. El bloque funcional 818 fija 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 inferior al valor actual del elemento sintáctico num_parts[view_id[i]]. Si es así, entonces el control se pasa a un bloque funcional 822. Si no, el control se pasa a un bloque funcional 828.
El bloque funcional 822 analiza sintácticamente los siguientes elementos sintácticos, incrementa la variable 'j' y después devuelve el 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 funcional 828 analiza sintácticamente un elemento sintáctico 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 sintáctico upsample_view_flag[view_id[i]] es igual a uno. Si es así, entonces el control se pasa a un bloque funcional 832. Si no, el control se pasa a un bloque de decisión 834.
El bloque funcional 832 analiza sintácticamente un elemento sintáctico 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 sintáctico upsample_filter[view_id[i]] es igual a tres. Si es así, entonces el control se pasa a un bloque funcional 836. Si no, el control se pasa a un bloque funcional 840.
El bloque funcional 836 analiza sintácticamente los siguientes elementos sintácticos y pasa el control a un bloque funcional 838: vert_dim[view_id[i]]; hor_dim[view_id[i]]; y quantizer[view_id[i]].
El bloque funcional 838 analiza sintácticamente los coeficientes de filtro para cada componente YUV y pasa el control al bloque funcional 840.
El bloque funcional 840 incrementa la variable 'i' y devuelve el control al bloque de decisión 812.
El bloque funcional 824 descodifica cada imagen usando la norma MPEG-4 AVC u otro códec de vista única, y pasa el control a un bloque funcional 826. El bloque funcional 826 separa cada vista y profundidad correspondiente de la imagen usando la sintaxis de alto nivel y pasa el control a un bloque funcional 827. El bloque funcional 827 lleva a cabo potencialmente una síntesis de vistas usando la vista extraída y las 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 la profundidad se proporciona como un valor de píxel para cada ubicación correspondiente de una imagen (no mostrada). Además, la FIG. 10 muestra un ejemplo de dos señales de profundidad incluidas en un mosaico 1000. La parte superior derecha del mosaico 1000 es una señal de profundidad que tiene valores de profundidad correspondientes a la imagen en la parte superior izquierda del mosaico 1000. La parte inferior derecha del mosaico 1000 es una señal de profundidad que tiene valores de profundidad correspondientes a la imagen en la parte inferior izquierda del mosaico 1000.
5
10
15
20
25
30
35
40
45
50
55
60
65
Haciendo referencia a la FIG. 11, un ejemplo de 5 vistas presentadas en mosaico en un único cuadro se indica de manera genérica mediante el número 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á dividida en dos partes a lo largo de la parte inferior del mosaico 1100. Una parte izquierda de la quinta vista muestra la "parte superior" de la quinta vista, y una parte derecha de la quinta vista muestra la "parte inferior" de la quinta vista.
Codificación/descodificación usando una norma/recomendación de codificación/descodificación de vídeo de múltiples vistas
Haciendo referencia a la FIG. 12, un codificador de codificación de vídeo de múltiples vistas (MVC) a modo de ejemplo se indica de manera genérica mediante el número de referencia 1200. El codificador 1200 incluye un combinador 1205 que presenta una salida conectada en comunicación de señales a una entrada de un transformador 1210. Una salida del transformador 1210 está conectada en comunicación de señales a una entrada de cuantificador 1215. Una salida del cuantificador 1215 está conectada en comunicación de señales a una entrada de un codificador de entropía 1220 y a una entrada de un cuantificador inverso 1225. Una salida del cuantificador inverso 1225 está conectada en comunicación de señales a una entrada de un transformador inverso 1230. Una salida del transformador inverso 1230 está conectada en comunicación de señales a una primera entrada sin inversión de un combinador 1235. Una salida del combinador 1235 está conectada en comunicación de señales a una entrada de una unidad de intrapredicción 1245 y a una entrada de un filtro de desbloqueo 1250. Una salida del filtro de desbloqueo 1250 está conectada en comunicación de señales a una entrada de un almacenamiento de imágenes de referencia 1255 (para la vista i). Una salida del almacenamiento de imágenes de referencia 1255 está conectada en comunicación de señales a una primera entrada de un compensador de movimiento 1275 y a una primera entrada de un estimador de movimiento 1280. Una salida del estimador de movimiento 1280 está conectada en comunicación de señales a una segunda entrada del compensador de movimiento 1275.
Una salida de un almacenamiento de imágenes de referencia 1260 (para otras vistas) está conectada en comunicación de señales a una primera entrada de un estimador de disparidad 1270 y a una primera entrada de un compensador de disparidad 1265. Una salida del estimador de disparidad 1270 está conectada en comunicación de señales a una segunda entrada del compensador de disparidad 1265.
Una salida del descodificador de entropía 1220 está disponible como una salida del codificador 1200. Una entrada sin inversión del combinador 1205 está disponible como una entrada del codificador 1200, y está conectada en comunicación de señales a una segunda entrada del estimador de disparidad 1270 y a una segunda entrada del estimador de movimiento 1280. Una salida de un conmutador 1285 está conectada en comunicación de señales a una segunda entrada sin inversión del combinador 1235 y a una entrada con inversión del combinador 1205. El conmutador 1285 incluye una primera entrada conectada en comunicación de señales a una salida del compensador de movimiento 1275, una segunda entrada conectada en comunicación de señales a una salida del compensador de disparidad 1265, y una tercera entrada conectada en comunicación de señales a una salida de la unidad de intrapredicción 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.
Haciendo referencia a la FIG. 13, un descodificador de codificación de vídeo de múltiples vistas (MVC) a modo de ejemplo se indica de manera genérica mediante el número de referencia 1300. El descodificador 1300 incluye un descodificador de entropía 1305 que presenta una salida conectada en comunicación de señales a una entrada de un cuantificador inverso 1310. Una salida del cuantificador inverso está conectada en comunicación de señales a una entrada de un transformador inverso 1315. Una salida del transformador inverso 1315 está conectada en comunicación de señales a una primera entrada sin inversión de un combinador 1320. Una salida del combinador 1320 está conectada en comunicación de señales a una entrada de un filtro de desbloqueo 1325 y a una entrada de una unidad de intrapredicción 1330. Una salida del filtro de desbloqueo 1325 está conectada en comunicación de señales a una entrada de un almacenamiento de imágenes de referencia 1340 (para la vista i). Una salida del almacenamiento de imágenes de referencia 1340 está conectada en comunicación de señales a una primera entrada de un compensador de movimiento 1335.
Una salida de un almacenamiento de imágenes de referencia 1345 (para otras vistas) está conectada en comunicación de señales a una primera entrada de un compensador de disparidad 1350.
Una entrada del codificador de entropía 1305 está disponible como una entrada al descodificador 1300, para recibir un flujo de bits residual. Además, una entrada de un módulo de modo 1360 también está disponible como una entrada al descodificador 1300 para recibir sintaxis de control para controlar qué entrada es seleccionada por el conmutador 1355. Además, una segunda entrada del compensador de movimiento 1335 está disponible como una entrada del descodificador 1300, para recibir vectores de movimiento. Además, una segunda entrada del compensador de disparidad 1350 está disponible como una entrada al descodificador 1300, para recibir vectores de disparidad.
5
10
15
20
25
30
35
40
45
50
55
60
65
Una salida de un conmutador 1355 está conectada en comunicación de señales a una segunda entrada sin inversión del combinador 1320. Una primera entrada del conmutador 1355 está conectada en comunicación de señales a una salida del compensador de disparidad 1350. Una segunda entrada del conmutador 1355 está conectada en comunicación de señales a una salida del compensador de movimiento 1335. Una tercera entrada del conmutador 1355 está conectada en comunicación de señales a una salida de la unidad de intrapredicción 1330. Una salida del módulo de modo 1360 está conectada en comunicación de señales al conmutador 1355 para controlar qué entrada es seleccionada por el conmutador 1355. Una salida del filtro de desbloqueo 1325 está disponible como una salida del descodificador 1300.
Haciendo referencia a la FIG. 14, un procedimiento a modo de ejemplo para procesar imágenes para una pluralidad de vistas como preparación a la codificación de las imágenes usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC se indica de manera genérica mediante el número de referencia 1400.
El procedimiento 1400 incluye un bloque de inicio 1405 que pasa el control a un bloque funcional 1410. El bloque funcional 1410 dispone cada N vistas, entre un total de M vistas, en una instancia de tiempo particular como una superimagen en formato de mosaico, y pasa el control a un bloque funcional 1415. El bloque funcional 1415 fija un elemento sintáctico num_coded_views_minus1 y pasa el control a un bloque funcional 1420. El bloque funcional 1420 fija un elemento sintáctico view_id[i] para todas las (num_coded_views_minus1 + 1) vistas y pasa el control a un bloque funcional 1425. El bloque funcional 1425 fija la información de dependencia de referencia entre vistas para imágenes de anclaje y pasa el control a un bloque funcional 1430. El bloque funcional 1430 fija la información de dependencia de referencia entre vistas para imágenes de no anclaje y pasa el control a un bloque funcional 1435. El bloque funcional 1435 fija un elemento sintáctico 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 sintáctico pseudo_view_present_flag es igual a verdadero. Si es así, entonces el control se pasa a un bloque funcional 1445. Si no, el control se pasa a un bloque final 1499.
El bloque funcional 1445 fija los siguientes elementos sintácticos y pasa el control a un bloque funcional 1450: tiling_mode; org_pic_width_in_mbs_minus1; y org_pic_height_in_mbs_minus1. El bloque funcional 1450 llama a un elemento sintáctico pseudo_view_info(view_id) para cada vista codificada y pasa el control al bloque final 1499.
Haciendo referencia a la FIG. 15, un procedimiento a modo de ejemplo para codificar imágenes para una pluralidad de vistas usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC se indica de manera genérica mediante el número de referencia 1500.
El procedimiento 1500 incluye un bloque de inicio 1502 que tiene un parámetro de entrada pseudo_view_id y pasa el control a un bloque funcional 1504. El bloque funcional 1504 fija un elemento sintáctico num_sub_views_minus1 y pasa el control a un bloque funcional 1506. El bloque funcional 1506 fija 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 inferior al número de subvistas. Si es así, entonces el control se pasa a un bloque funcional 1510. Si no, el control se pasa a un bloque funcional 1520.
El bloque funcional 1510 fija un elemento sintáctico sub_view_id[i] y pasa el control a un bloque funcional 1512. El bloque funcional 1512 fija un elemento sintáctico num_parts_minus1[sub_view_id[i]] y pasa el control a un bloque funcional 1514. El bloque funcional 1514 fija 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 inferior al elemento sintáctico num_parts_minus1[sub_view_id[i]]. Si es así, entonces el control se pasa a un bloque funcional 1518. Si no, el control se pasa a un bloque de decisión 1522.
El bloque funcional 1518 fija los siguientes elementos sintácticos, 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 funcional 1520 codifica la imagen actual para la vista actual usando una codificación de vídeo de múltiples vistas (MVC) y pasa el control a un bloque final 1599.
El bloque de decisión 1522 determina si un elemento sintáctico tiling_mode es igual a cero. Si es así, entonces el control se pasa a un bloque funcional 1524. Si no, el control se pasa a un bloque funcional 1538.
El bloque funcional 1524 fija un elemento sintáctico flip_dir[sub_view_id[i]] y un elemento sintáctico 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 sintáctico upsample_view_flag[sub_view_id[i]] es igual a uno. Si es así, entonces el control se pasa a un bloque funcional 1528. Si no, el control se pasa a un bloque de decisión 1530.
5
10
15
20
25
30
35
40
45
50
55
60
65
El bloque funcional 1528 fija un elemento sintáctico 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 sintáctico
upsample_filter[sub_view_id[i]] es igual a tres. Si es así, el control se pasa a un bloque funcional 1532. Si no, el control se pasa a un bloque funcional 1536.
El bloque funcional 1532 fija los siguientes elementos sintácticos y pasa el control a un bloque funcional 1534: vert_dim[sub_view_id[i]]; hor_dim[sub_view_id[i]]; y quantizer[sub_view_id[i]]. El bloque funcional 1534 fija los coeficientes de filtro para cada componente YUV y pasa el control al bloque funcional 1536.
El bloque funcional 1536 incrementa la variable 'i' y devuelve el control al bloque de decisión 1508.
El bloque funcional 1538 fija un elemento sintáctico pixel_dist_x[sub_view_id[i]] y un elemento sintáctico flip_dist_y[sub_view_id[i]] y pasa el control a un bloque funcional 1540. El bloque funcional 1540 fija 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 inferior al valor actual del elemento sintáctico num_parts[sub_view_id[i]]. Si es así, entonces el control se pasa a un bloque funcional 1544. Si no, el control se pasa al bloque funcional 1536.
El bloque funcional 1544 fija un elemento sintáctico num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]] y pasa el control a un bloque funcional 1546. El bloque funcional 1546 fija los coeficientes para todos los filtros de presentación en mosaico de píxeles y pasa el control al bloque funcional 1536.
Haciendo referencia a la FIG. 16, un procedimiento a modo de ejemplo para procesar imágenes para una pluralidad de vistas como preparación a la descodificación de las imágenes usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC se indica de manera genérica mediante el número de referencia 1600.
El procedimiento 1600 incluye un bloque de inicio 1605 que pasa el control a un bloque funcional 1615. El bloque funcional 1615 analiza sintácticamente un elemento sintáctico num_coded_views_minus1 y pasa el control a un bloque funcional 1620. El bloque funcional 1620 analiza sintácticamente un elemento sintáctico view_id[i] para todas las (num_coded_views_minus1 + 1) vistas y pasa el control a un bloque funcional 1625. El bloque funcional 1625 analiza sintácticamente la información de dependencia de referencia entre vistas para imágenes de anclaje y pasa el control a un bloque funcional 1630. El bloque funcional 1630 analiza sintácticamente la información de dependencia de referencia entre vistas para imágenes de no anclaje y pasa el control a un bloque funcional 1635. El bloque funcional 1635 analiza sintácticamente un elemento sintáctico 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 sintáctico pseudo_view_present_flag es igual a verdadero. Si es así, entonces el control se pasa a un bloque funcional 1645. Si no, el control se pasa a un bloque final 1699.
El bloque funcional 1645 analiza sintácticamente los siguientes elementos sintácticos y pasa el control a un bloque funcional 1650: tiling_mode; org_pic_width_in_mbs_minus1; y org_pic_height_in_mbs_minus1. El bloque funcional 1650 llama a un elemento sintáctico pseudo_view_info(view_id) para cada vista codificada y pasa el control al bloque final 1699.
Haciendo referencia a la FIG. 17, un procedimiento a modo de ejemplo para descodificar imágenes para una pluralidad de vistas usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC se indica de manera genérica mediante el número de referencia 1700.
El procedimiento 1700 incluye un bloque de inicio 1702 que empieza con un parámetro de entrada pseudo_view_id y pasa el control a un bloque funcional 1704. El bloque funcional 1704 analiza sintácticamente un elemento sintáctico num_sub_views_minus1 y pasa el control a un bloque funcional 1706. El bloque funcional 1706 fija 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 inferior al número de subvistas. Si es así, entonces el control se pasa a un bloque funcional 1710. Si no, el control se pasa a un bloque funcional 1720.
El bloque funcional 1710 analiza sintácticamente un elemento sintáctico sub_view_id[i] y pasa el control a un bloque funcional 1712. El bloque funcional 1712 analiza sintácticamente un elemento sintáctico
num_parts_minus1[sub_view_id[i]] y pasa el control a un bloque funcional 1714. El bloque funcional 1714 fija 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 inferior al elemento sintáctico num_parts_minus1[sub_view_id[i]]. Si es así, entonces el control se pasa a un bloque funcional 1718. Si no, el control se pasa a un bloque de decisión 1722.
El bloque funcional 1718 fija los siguientes elementos sintácticos, 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].
5
10
15
20
25
30
35
40
45
50
55
60
65
El bloque funcional 1720 descodifica la imagen actual para la vista actual usando una codificación de vídeo de múltiples vistas (MVC) y pasa el control a un bloque funcional 1721. El bloque funcional 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 descodificada se realiza usando la sintaxis de alto nivel indicada en el flujo de bits. Esta sintaxis de alto nivel puede indicar la ubicación exacta y la posible orientación de las vistas (y, posiblemente, la profundidad correspondiente) presente en la imagen.
El bloque de decisión 1722 determina si un el elemento sintáctico tiling_mode es igual a cero. Si es así, entonces el control se pasa a un bloque funcional 1724. Si no, el control se pasa a un bloque funcional 1738.
El bloque funcional 1724 analiza sintácticamente un elemento sintáctico flip_dir[sub_view_id[i]] y un elemento sintáctico 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 sintáctico upsample_view_flag[sub_view_id[i]] es igual a uno. Si es así, entonces el control se pasa a un bloque funcional 1728. Si no, el control se pasa a un bloque de decisión 1730.
El bloque funcional 1728 analiza sintácticamente un elemento sintáctico 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 sintáctico upsample_filter[sub_view_id[i]] es igual a tres. Si es así, el control se pasa a un bloque funcional 1732. Si no, el control se pasa a un bloque funcional 1736.
El bloque funcional 1732 analiza sintácticamente los siguientes elementos sintácticos y pasa el control a un bloque funcional 1734: vert_dim[sub_view_id[i]]; hor_dim[sub_view_id[i]]; y quantizer[sub_view_id[i]]. El bloque funcional 1734 analiza sintácticamente los coeficientes de filtro para cada componente YUV y pasa el control al bloque funcional 1736.
El bloque funcional 1736 incrementa la variable 'i' y devuelve el control al bloque de decisión 1708.
El bloque funcional 1738 analiza sintácticamente un elemento sintáctico pixel_dist_x[sub_view_id[i]] y el elemento sintáctico flip_dist_y[sub_view_id[i]], y pasa el control a un bloque funcional 1740. El bloque funcional 1740 fija 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 inferior al valor actual del elemento sintáctico num_parts[sub_view_id[i]]. Si es así, entonces el control se pasa a un bloque funcional 1744. Si no, el control se pasa al bloque funcional 1736.
El bloque funcional 1744 analiza sintácticamente un elemento sintáctico num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]] y pasa el control a un bloque funcional 1746. El bloque funcional 1776 analiza sintácticamente los coeficientes para todos los filtros de presentación en mosaico de píxeles y pasa el control al bloque funcional 1736.
Haciendo referencia a la FIG. 18, un procedimiento a modo de ejemplo para procesar imágenes para una pluralidad de vistas y profundidades como preparación a la codificación de las imágenes usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC se indica de manera genérica mediante el número de referencia 1800.
El procedimiento 1800 incluye un bloque de inicio 1805 que pasa el control a un bloque funcional 1810. El bloque funcional 1810 dispone cada N vistas y mapas de profundidad, entre un total de M vistas y mapas de profundidad, en una instancia de tiempo particular como una superimagen en formato de mosaico, y pasa el control a un bloque funcional 1815. El bloque funcional 1815 fija un elemento sintáctico num_coded_views_minus1 y pasa el control a un bloque funcional 1820. El bloque funcional 1820 fija un elemento sintáctico view_id[i] para todas las (num_coded_views_minus1 + 1) profundidades correspondientes a view_id[i] y pasa el control a un bloque funcional 1825. El bloque funcional 1825 fija la información de dependencia de referencia entre vistas para imágenes de profundidad de anclaje y pasa el control a un bloque funcional 1830. El bloque funcional 1830 fija la información de dependencia de referencia entre vistas para imágenes de profundidad de no anclaje y pasa el control a un bloque funcional 1835. El bloque funcional 1835 fija un elemento sintáctico 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 sintáctico pseudo_view_present_flag es igual a verdadero. Si es así, entonces el control se pasa a un bloque funcional 1845. Si no, el control se pasa a un bloque final 1899.
El bloque funcional 1845 fija los siguientes elementos sintácticos y pasa el control a un bloque funcional 1850: tiling_mode; org_pic_width_in_mbs_minus1; y org_pic_height_in_mbs_minus1. El bloque funcional 1850 llama a un elemento sintáctico pseudo_view_info(view_id) para cada vista codificada y pasa el control al bloque final 1899.
Haciendo referencia a la FIG. 19, un procedimiento a modo de ejemplo para codificar imágenes para una pluralidad de vistas y profundidades usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC se indica de manera genérica mediante el número de referencia 1900.
5
10
15
20
25
30
35
40
45
50
55
60
65
El procedimiento 1900 incluye un bloque de inicio 1902 que pasa el control a una bloque funcional 1904. El bloque funcional 1904 fija un elemento sintáctico num_sub_views_minus1 y pasa el control a un bloque funcional 1906. El bloque funcional 1906 fija 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 inferior al número de subvistas. Si es así, entonces el control se pasa a un bloque funcional 1910. Si no, el control se pasa a un bloque funcional 1920.
El bloque funcional 1910 fija un elemento sintáctico sub_view_id[i] y pasa el control a un bloque funcional 1912. El bloque funcional 1912 fija un elemento sintáctico num_parts_minus1[sub_view_id[i]] y pasa el control a un bloque funcional 1914. El bloque funcional 1914 fija 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 inferior al elemento sintáctico num_parts_minus1[sub_view_id[i]]. Si es así, entonces el control se pasa a un bloque funcional 1918. Si no, el control se pasa a un bloque de decisión 1922.
El bloque funcional 1918 fija los siguientes elementos sintácticos, 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 funcional 1920 codifica la profundidad actual para la vista actual usando una codificación de vídeo de múltiples vistas (MVC) y pasa el control a un bloque final 1999. La señal de profundidad puede codificarse de manera similar al modo en que se codifica su señal de vídeo correspondiente. Por ejemplo, la señal de profundidad para una vista puede incluirse en un mosaico que incluye solamente otras señales de profundidad, o solamente señales de vídeo, o señales tanto de profundidad como de vídeo. El mosaico (seudovista) se trata después como una única vista para MVC, y también hay presumiblemente otros mosaicos que se tratan como otras vistas para MVC.
El bloque de decisión 1922 determina si un el elemento sintáctico tiling_mode es igual a cero. Si es así, entonces el control se pasa a un bloque funcional 1924. Si no, el control se pasa a un bloque funcional 1938.
El bloque funcional 1924 fija un elemento sintáctico flip_dir[sub_view_id[i]] y un elemento sintáctico 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 sintáctico upsample_view_flag[sub_view_id[i]] es igual a uno. Si es así, entonces el control se pasa a un bloque funcional 1928. Si no, el control se pasa a un bloque de decisión 1930.
El bloque funcional 1928 fija un elemento sintáctico 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 sintáctico
upsample_filter[sub_view_id[i]] es igual a tres. Si es así, el control se pasa a un bloque funcional 1932. Si no, el control se pasa a un bloque funcional 1936.
El bloque funcional 1932 fija los siguientes elementos sintácticos y pasa el control a un bloque funcional 1934: vert_dim[sub_view_id[i]]; hor_dim[sub_view_id[i]]; y quantizer[sub_view_id[i]]. El bloque funcional 1934 fija los coeficientes de filtro para cada componente YUV y pasa el control al bloque funcional 1936.
El bloque funcional 1936 incrementa la variable 'i' y devuelve el control al bloque de decisión 1908.
El bloque funcional 1938 fija un elemento sintáctico pixel_dist_x[sub_view_id[i]] y el elemento sintáctico flip_dist_y[sub_view_id[i]] y pasa el control a un bloque funcional 1940. El bloque funcional 1940 fija 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 inferior al valor actual del elemento sintáctico num_parts[sub_view_id[i]]. Si es así, entonces el control se pasa a un bloque funcional 1944. Si no, el control se pasa al bloque funcional 1936.
El bloque funcional 1944 fija un elemento sintáctico num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]] y pasa el control a un bloque funcional 1946. El bloque funcional 1946 fija los coeficientes para todos los filtros de presentación en mosaico de píxeles y pasa el control al bloque funcional 1936.
Haciendo referencia a la FIG. 20, un procedimiento a modo de ejemplo para procesar imágenes para una pluralidad de vistas y profundidades como preparación a la descodificación de las imágenes usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC se indica de manera genérica mediante el número de referencia 2000.
El procedimiento 2000 incluye un bloque de inicio 2005 que pasa el control a un bloque funcional 2015. El bloque funcional 2015 analiza sintácticamente un elemento sintáctico num_coded_views_minus1 y pasa el control a un bloque funcional 2020. El bloque funcional 2020 analiza sintácticamente un elemento sintáctico view_id[i] para todas las (num_coded_views_minus1 + 1) profundidades correspondientes a view_id[i] y pasa el control a un bloque funcional 2025. El bloque funcional 2025 analiza sintácticamente la información de dependencia de referencia entre vistas para imágenes de profundidad de anclaje y pasa el control a un bloque funcional 2030. El bloque funcional
5
10
15
20
25
30
35
40
45
50
55
60
65
2030 analiza sintácticamente la información de dependencia de referencia entre vistas para imágenes de profundidad de no anclaje y pasa el control a un bloque funcional 2035. El bloque funcional 2035 analiza sintácticamente un elemento sintáctico 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 sintáctico pseudo_view_present_flag es igual a verdadero. Si es así, entonces el control se pasa a un bloque funcional 2045. Si no, el control se pasa a un bloque final 2099.
El bloque funcional 2045 analiza sintácticamente los siguientes elementos sintácticos y pasa el control a un bloque funcional 2050: tiling_mode; org_pic_width_in_mbs_minus1; y org_pic_height_in_mbs_minus1. El bloque funcional 2050 llama a un elemento sintáctico pseudo_view_info(view_id) para cada vista codificada y pasa el control al bloque final 2099.
Haciendo referencia a la FIG. 21, un procedimiento a modo de ejemplo para descodificar imágenes para una pluralidad de vistas y profundidades usando la extensión de codificación de vídeo de múltiples vistas (MVC) de la norma MPEG-4 AVC se indica de manera genérica mediante el número de referencia 2100.
El procedimiento 2100 incluye un bloque de inicio 2102 que empieza con un parámetro de entrada pseudo_view_id y pasa el control a un bloque funcional 2104. El bloque funcional 2104 analiza sintácticamente un elemento sintáctico num_sub_views_minus1 y pasa el control a un bloque funcional 2106. El bloque funcional 2106 fija 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 inferior al número de subvistas. Si es así, entonces el control se pasa a un bloque funcional 2110. Si no, el control se pasa a un bloque funcional 2120.
El bloque funcional 2110 analiza sintácticamente un elemento sintáctico sub_view_id[i] y pasa el control a un bloque funcional 2112. El bloque funcional 2112 analiza sintácticamente un elemento sintáctico
num_parts_minus1[sub_view_id[i]] y pasa el control a un bloque funcional 2114. El bloque funcional 2114 fija 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 inferior al elemento sintáctico num_parts_minus1[sub_view_id[i]]. Si es así, entonces el control se pasa a un bloque funcional 2118. Si no, el control se pasa a un bloque de decisión 2122.
El bloque funcional 2118 fija los siguientes elementos sintácticos, 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 funcional 2120 descodifica la imagen actual usando una codificación de vídeo de múltiples vistas (MVC) y pasa el control a un bloque funcional 2121. El bloque funcional 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 una sintaxis de alto nivel es como se ha descrito anteriormente.
El bloque de decisión 2122 determina si un el elemento sintáctico tiling_mode es igual a cero. Si es así, entonces el control se pasa a un bloque funcional 2124. Si no, el control se pasa a un bloque funcional 2138.
El bloque funcional 2124 analiza sintácticamente un elemento sintáctico flip_dir[sub_view_id[i]] y un elemento sintáctico 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 sintáctico upsample_view_flag[sub_view_id[i]] es igual a uno. Si es así, entonces el control se pasa a un bloque funcional 2128. Si no, el control se pasa a un bloque de decisión 2130.
El bloque funcional 2128 analiza sintácticamente un elemento sintáctico 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 sintáctico upsample_filter[sub_view_id[i]] es igual a tres. Si es así, el control se pasa a un bloque funcional 2132. Si no, el control se pasa a un bloque funcional 2136.
El bloque funcional 2132 analiza sintácticamente los siguientes elementos sintácticos y pasa el control a un bloque funcional 2134: vert_dim[sub_view_id[i]]; hor_dim[sub_view_id[i]]; y quantizer[sub_view_id[i]]. El bloque funcional 2134 analiza sintácticamente los coeficientes de filtro para cada componente YUV y pasa el control al bloque funcional 2136.
El bloque funcional 2136 incrementa la variable 'i' y devuelve el control al bloque de decisión 2108.
El bloque funcional 2138 analiza sintácticamente un elemento sintáctico pixel_dist_x[sub_view_id[i]] y el elemento sintáctico flip_dist_y[sub_view_id[i]] y pasa el control a un bloque funcional 2140. El bloque funcional 2140 fija 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 inferior al valor actual del elemento sintáctico num_parts[sub_view_id[i]]. Si es así, entonces el control se pasa a un bloque funcional 2144. Si no, el control se pasa al bloque funcional 2136.
5
10
15
20
25
30
35
40
El bloque funcional 2144 analiza sintácticamente un elemento sintáctico num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]] y pasa el control a un bloque funcional 2146. El bloque funcional 2146 analiza sintácticamente los coeficientes para todos los filtros de presentación en mosaico de píxeles y pasa el control al bloque funcional 2136.
Haciendo referencia a la FIG. 22, ejemplos de presentación en mosaico a nivel de píxel se indican de manera genérica mediante el número de referencia 2200. La FIG. 22 se describe posteriormente en detalle.
Presentación de vistas en mosaico usando MPEG-4 AVC o MVC
Una aplicación de codificación de vídeo de múltiples vistas es una TV de punto de vista libre (o FTV). Esta aplicación requiere que el usuario pueda moverse libremente entre dos o más vistas. Para conseguir esto, las vistas "virtuales" entre dos vistas tienen que interpolarse o sintetizarse. Existen varios procedimientos para realizar una interpolación de vistas. Uno de los procedimientos usa profundidad para la interpolación/síntesis de vistas.
Cada vista puede tener una señal de profundidad asociada. Por tanto, la profundidad puede considerarse otra forma de señal de vídeo. La FIG. 9 muestra un ejemplo de una señal de profundidad 900. Para permitir aplicaciones tales como la FTV, la señal de profundidad se transmite junto con la señal de vídeo. En el marco propuesto de presentación en mosaico, la señal de profundidad también puede añadirse como uno de los mosaicos. La FIG. 10 muestra un ejemplo de señales de profundidad añadidas como mosaicos. Las señales de profundidad/mosaicos se muestran en el lado derecho de la FIG. 10.
Una vez que la profundidad se codifica como un mosaico de todo el cuadro, la sintaxis de alto nivel debería indicar qué mosaico es la señal de profundidad, de manera que el renderizador pueda usar la señal de profundidad de manera apropiada.
En caso de que la secuencia de entrada (tal como la mostrada en la FIG. 1) se codifique usando un codificador basado en la norma MPEG-4 AVC (o un codificador correspondiente a una norma y/o una recomendación de codificación de vídeo diferente), la sintaxis de alto nivel propuesta puede estar presente en, por ejemplo, el conjunto de parámetros de secuencia (SPS), el conjunto de parámetros de imagen (PPS), una cabecera de segmento y/o un mensaje de información de mejora complementaria (SEI). Una forma de realización del procedimiento propuesto se muestra en la Tabla 1, donde la sintaxis está presente en un mensaje de información de mejora complementaria (SEI).
En caso de que las secuencias de entrada de las seudovistas (tal como la mostrada en la FIG. 1) se codifiquen usando la extensión de la codificación de vídeo de múltiples vistas (MVC) del codificador basado en la norma MPEG-4 AVC (o de un codificador correspondiente a una norma de codificación de vídeo de múltiples vistas con respecto a una norma y/o recomendación de codificación de vídeo diferente), la sintaxis de alto nivel propuesta puede estar presente en el SPS, el PPS, una cabecera de segmento, un mensaje de SEI o un perfil especificado. Una forma de realización del procedimiento propuesto se muestra en la Tabla 1. La Tabla 1 muestra elementos sintácticos presentes en la estructura de conjunto de parámetros de secuencia (SPS), incluidos elementos sintácticos propuestos según una forma de realización de los presentes principios.
Tabla 1
seq_parameter_set_mvc_extension() {
C Descriptor
num_views_minus_1
ue(v)
for(i = 0; i <= num_views_minus_1; i++)
view_id[i]
ue(v)
for(i = 0; i <= num_views_minus_1; i++) {
num_anchor_refs_l0[i]
ue(v)
for( j = 0; j < num_anchor_refs_l0[i]; j++ )
anchor_ref_l0[i][i]
ue(v)
num_anchor_refs_l1 [i]
ue(v)
for( j = 0; j < num_anchor_refs_l1 [i]; j++ )
anchor_ref_l1[i][j]
ue(v)
}
for(i = 0; i <= num_views_minus_1; i++) {
num_non_anchor_refs_l0[i]
ue(v)
seq_parameter_set_mvc_extension() {
C Descriptor
for(j = 0; j < num_non_anchor_refs_l0[i]; j++ )
non_anchor_ref_l0[i][j]
ue(v)
num_non_anchor_refs_l1 [i]
ue(v)
for( j = 0; j < num_non_anchor_refs_l1[i]; j++ )
non_anchor_ref_l1[i][j]
ue(v)
}
pseudo_view_present_flag
u(1)
if (pseudo_view_present_flag) {
tiling_mode
org_pic_width_in_mbs_minus1
org_pic_height_in_mbs_minus1
for(i = 0; i < num_views_minus_1; i++)
pseudo_view_info(i);
}
}
La Tabla 2 muestra elementos sintácticos para el elemento sintáctico pseudo_view_info de la Tabla 1, según una forma de realización de los presentes principios.
5 Tabla 2
pseudo_view_info (pseudo_view_id) {
C Descrip tor
num_sub_views_minus_1[pseudo_view_id]
5 ue(v)
if (num_sub_views_minus_1 != 0) {
for (i = 0; i < num_sub_views_minus_1[pseudo_view_id]; i++) {
sub_view_id[i]
5 ue(v)
num_parts_minus1[sub_view_id[i]]
5 ue(v)
for(j = 0; j <= num_parts_minus1[sub_view_id[i]]; j++) {
loc_left_offset[sub_view_id[i]] [j]
5 ue(v)
loc_top_offset[sub_view_id[i]] [j ]
5 ue(v)
frame_crop_left_offset[sub_view_id[i]] [j]
5 ue(v)
frame_crop_right_offset[sub_view_id[i]] [ j ]
5 ue(v)
frame_crop_top_offset[sub_view_id[i]] [j]
5 ue(v)
frame_crop_bottom_offset[sub_view_id[i]] [j ]
5 ue(v)
}
if (tiling_mode == 0) {
flip_dir[sub_view_id[i][j]
5 u(2)
upsample_view_flag[sub_view_id[i]]
5 u(1)
if(upsample_view_flag[sub_view_id[i]])
upsample_filter[sub_view_id[i]]
5 u(2)
if(upsample_fiter[sub_view_id[i]] == 3) {
vert_dim[sub_view_id[i]]
5 ue(v)
5
10
15
20
25
pseudo_view_info (pseudo_view_id) {
C Descrip tor
hor_dim[sub_view_id[i]]
5 ue(v)
quantizer[sub_view_id[i]]
5 ue(v)
for (yuv= 0; yuv< 3; yuv++) {
for (y = 0; y < vert_dim[sub_view_id[i]]-1; y ++) {
for (x = 0; x < hor_dim[sub_view_id[i]]-1; x ++)
filter_coeffs[sub_view_id[i]] [yuv][y][x]
5 se(v)
}
}
}
} // if(tiling_mode == 0)
else if (tiling_mode == 1) {
pixel_dist_x[sub_view_id[i]]
pixel_dist_y[sub_view_id[i]]
for(j = 0; j <= num_parts[sub_view_id[i]]; j++ ) {
num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]][j]
for (coeff_idx = 0; coeff_idx <= num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]][j]; j++)
pixel_tiling_filter_coeffs[sub_view_id[i]][j]
} // for (j = 0; j <= num_parts[sub_view_id[i]]; j++ )
} // else if (tiling_mode == 1)
} // for (i = 0; i < num_sub_views_minus_1; i++)
} // if (num_sub_views_minus_1 != 0)
}
Semántica de los elementos sintácticos presentados en la Tabla y la Tabla 2
pseudo_view_present_flag igual a verdadero indica que alguna vista es una supervista de múltiples subvistas.
tiling_mode igual a 0 indica que las subvistas están presentadas en mosaico a nivel de imagen. Un valor de 1 indica que la presentación en mosaico se realiza a nivel de píxel.
El nuevo mensaje de SEI puede usar un valor para el tipo datos útiles de SEI que no se ha usado en la norma MPEG-4 AVC o en una extensión de la norma MPEG-4 AVC. El nuevo mensaje de SEI incluye varios elementos sintácticos con la siguiente semántica.
num_coded_views_minus1 + 1 indica el número de vistas codificadas admitidas por el flujo de bits. El valor de num_coded_views_minus1 está dentro del intervalo comprendido entre 0 y 1023, ambos inclusive.
org_pic_width_in_mbs_minus1 + 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 obtiene de la siguiente manera: PicWidthlnMbs = org_pic_width_in_mbs_minus1 + 1
La variable para la anchura de imagen para la componente de brillo se obtiene de la siguiente manera:
PicWidthlnSamplesL = PicWidthlnMbs * 16
La variable para la anchura de imagen para la componente de color se obtiene de la siguiente manera:
PicWidthlnSamplesC - PicWidthlnMbs* MbWidthC
5
10
15
20
25
30
35
40
45
50
55
60
org_pic_height_in_mbs_minus1 + 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 obtiene de la siguiente manera:
PicHeightlnMbs - org_p¡c_height_in_mbs_minus1 + 1
La variable para la altura de imagen para la componente de brillo se obtiene de la siguiente manera:
PicHeightlnSamplesL = PicHeightlnMbs* 16
La variable para la altura de imagen para la componente de color se obtiene de la siguiente manera:
PIcHeightlnSamplesC - PicHeightlnMbs * MbHeightC
num_sub_views_minus1 + 1 indica el número de subvistas codificadas incluidas en la vista actual. El valor de num_coded_views_minus1 está dentro del intervalo comprendido entre 0 y 1023, ambos inclusive.
sub_view_id[i] especifica el sub_view_id de la subvista con un orden de descodificación indicado por i.
num_parts[sub_view_id[i]] especifica el número de partes en que está dividida 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 izquierdos y superiores, respectivamente, donde la parte actual j está ubicada en la imagen reconstruida final de la vista, donde sub_view_id es igual a sub_view_id[i].
view_id[i] especifica el view_id de la vista con un 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 la secuencia de vídeo codificada que son parte de num_part j y view_id i, en lo que respecta a una región rectangular especificada en coordenadas de cuadro para la salida.
Las variables CropUnitX y CropUnitY se obtienen de la siguiente manera:
• Si chroma_format_idc es igual a 0, CropUnitX y CropUnitY se obtienen de la siguiente manera:
CropUnitX = 1
CropUnitY = 2 - frame_mbs_only_flag
• En otro caso (chroma_format_idc es igual a 1, 2 o 3), CropUnitX y CropUnitY se obtienen de la siguiente manera:
CropUnitX = SubWidthC
CropUnitY = SubHeightC * (2 - frame_mbs_only_flag)
El rectángulo de recorte de cuadro incluye muestras de brillo con coordenadas de cuadro horizontales a partir de lo siguiente:
CropUnitX * frame_crop_left_offset hasta PicWidthInSamplesL - (CropUnitX * frame_crop_right_offset + 1) y coordenadas de cuadro verticales desde CropUnitY * frame_crop_top_offset hasta (16 * FrameHeightInMbs) - (CropUnitY * frame_crop_bottom_offset + 1), inclusive. El valor de frame_crop_left_offset estará dentro del intervalo comprendido entre 0 y (PicWidthInSamplesL / CropUnitX) - (frame_crop_right_offset + 1), inclusive; y el valor de frame_crop_top_offset estará dentro del intervalo comprendido entre 0 y (16 * FrameHeightInMbs / CropUnitY) - (frame_crop_bottom_offset + 1), inclusive.
Cuando chroma_format_idc no es igual a 0, las muestras especificadas correspondientes de los dos vectores cromáticos son las muestras que tienen coordenadas de cuadro (x / SubWidthC, y / SubHeightC), donde (x, y) son las coordenadas de cuadro de las muestras de brillo especificadas.
En lo que respecta a los campos descodificados, las muestras especificadas del campo descodificado son las muestras que están dentro del rectángulo especificado en coordenadas de cuadro.
num_parts[view_id[i]] especifica el número de partes en que está dividida la imagen de view_id[i].
depth_flag[view_id[i]] especifica si la parte actual es, o no, 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 a la vista identificada por view_id[i].
5
10
15
20
25
30
35
40
45
50
flip_dir[sub_view_id[i]][j] especifica la dirección de giro de la parte actual. flip_dir igual a 0 indica que no hay giro, flip_dir igual a 1 indica giro en una dirección horizontal, flip_dir igual a 2 indica giro en una dirección vertical, y flip_dir igual a 3 indica giro en una dirección tanto horizontal como vertical.
flip_dir[view-id[i]][j] especifica la dirección de giro de la parte actual. flip_dir igual a 0 indica que no hay giro, flip_dir igual a 1 indica giro en una dirección horizontal, flip_dir igual a 2 indica giro en una dirección vertical, y flip_dir igual a 3 indica giro en una dirección tanto horizontal como 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 está ubicada en la imagen reconstruida final de la vista, donde view_id es igual a view_id[i].
upsample_view_flag[view_id[i]] indica si la imagen que pertenece a la vista especificada por view_id[i] tiene que muestrearse de manera ascendente. upsample_view_flag[view_id[i]] igual a 0 especifica que la imagen con view_id igual a view_id[i] no se muestreará de manera ascendente. upsample_view_flag[view_id[i]] igual a 1 especifica que la imagen con view_id igual a view_id[i] se muestreará de manera ascendente.
upsample_filter[view_id[i]] indica el tipo de filtro que va a usarse para el muestreo ascendente. upsample_filter[view_id[¡]] igual a 0 indica que debe usarse un filtro AVC de 6 etapas, upsample_filter[view_d[i]] igual a 1 indica que debe usarse un filtro SVC de 4 etapas, upsample_filter[view_d[i]] igual a 2 indica que debe usarse un filtro bilineal, upsample_filter[view_id[i]] igual a 3 indica que se transmiten coeficientes de filtro personalizados. Cuando upsample_fiter[view_id[i]] no está presente está fijado a 0. En esta forma de realización se usa un filtro personalizado 2D. Puede extenderse fácilmente a un filtro 1D, y a 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 cuantificación para cada coeficiente de filtro.
filter_coeffs[view_id[i]] [yuv][y][x] especifica los coeficientes de filtro cuantificados. yuv indica 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 seudovista 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] + 1 indica el número de coeficientes de filtro cuando el modo de presentación en mosaico se fija igual a 1.
pixel_tiling_filter_coeffs[sub_view_id[i][j] señaliza los coeficientes de filtro que se requieren para representar un filtro que puede usarse para filtrar la imagen presentada en mosaico.
Ejemplos de presentación en mosaico a nivel de píxel
Haciendo referencia a la FIG. 22, dos ejemplos que muestran la composición de una seudovista presentando píxeles en mosaico de cuatro vistas se indican respectivamente mediante los números de referencia 2210 y 2220, respectivamente. Las cuatro vistas están indicadas conjuntamente mediante el número de referencia 2250. Los valores sintácticos del primer ejemplo en la FIG. 22 se proporcionan en la siguiente Tabla 3.
Tabla 3
pseudo_view_info (pseudo_view_id) {
Valor
num_sub_views_minus_1 [pseudo_view_id]
3
sub_view_id[0]
0
num_parts_minus1 [0]
0
loc_left_offset[0][0]
0
loc_top_offset[0][0]
0
pixel_dist_x[0][0]
0
pixel_dist_y[0][0]
0
sub_view_id[1]
0
5
10
15
20
25
30
35
pseudo_view_info (pseudo_view_id) {
Valor
num_parts_minus1[1]
0
loc_left_offset[1][0]
1
loc_top_offset[1][0]
0
pixel_dist_x[1][0]
0
pixel_dist_y[1][0]
0
sub_view_id[2]
0
num_parts_minus1[2]
0
loc_left_offset[2][0]
0
loc_top_offset[2][0]
1
pixel_dist_x[2][0]
0
pixel_dist_y[2][0]
0
sub_view_id[3]
0
num_parts_minus1[3]
0
loc_left_offset[3][0]
1
loc_top_offset[3][0]
1
pixel_dist_x[3][0]
0
pixel_dist_y[3][0]
0
Los valores sintácticos del segundo ejemplo en la FIG. 22 son todos idénticos excepto los dos elementos sintácticos siguientes: 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 deberían empezar en una determinada ubicación desplazada. Esto se muestra en la FIG. 22 (2220). Esto puede realizarse, por ejemplo, cuando dos vistas producen imágenes en las que objetos comunes aparecen desplazados de un vista a otra. Por ejemplo, si una primera y una segunda cámara (que representan una primera y una segunda vista) toman imágenes de un objeto, el objeto puede aparecer cinco píxeles desplazado a la derecha en la segunda vista en comparación con la primera vista. Esto significa que el píxel (i-5, j) en la primera vista corresponde al píxel (i, j) en la segunda vista. Si los píxeles de las dos vistas están simplemente presentados en mosaico píxel a píxel, entonces puede no haber una gran correlación entre píxeles vecinos en el mosaico, y las ganancias de codificación espacial pueden ser pequeñas. Por el contrario, desplazando el mosaico de manera que el píxel(i-5, j) de la vista uno se sitúe junto al píxel(i, j) de la vista dos, la correlación espacial puede aumentar y la ganancia de codificación espacial también puede aumentar. Esto se debe a que, por ejemplo, los píxeles correspondientes para el objeto en la primera y en la segunda vista se presentan en mosaico de manera próxima entre sí.
Por tanto, la presencia de loc_left_offset y loc_top_offset puede mejorar la eficacia de codificación. La información de desplazamiento puede obtenerse por medios externos. Por ejemplo, la información de posición de las cámaras o los vectores de disparidad global entre las vistas pueden usarse para determinar tal información de desplazamiento.
Como resultado del desplazamiento, algunos píxeles de la seudovista no tienen asignados valores de píxel de ninguna vista. Siguiendo con el ejemplo anterior, cuando se presenta en mosaico el píxel(i-5, j) de la vista uno junto al píxel(i, j) de la vista dos, para los valores de i=0... 4 no hay ningún píxel(i-5, j) de la vista uno que presentar en mosaico, de modo que esos píxeles están vacíos en el mosaico. Para aquellos píxeles en la seudovista (mosaico) que no tengan asignados valores de píxel de ninguna vista, al menos una implementación usa un procedimiento de interpretación similar al procedimiento de interpretación de subpíxeles en la compensación de movimiento en AVC. Es decir, los píxeles de mosaico vacíos pueden interpolarse a partir de píxeles vecinos. Tal interpolación puede dar como resultado una mayor correlación espacial en el mosaico y una mayor ganancia de codificación para el mosaico.
En la codificación de vídeo, puede elegirse un tipo de codificación diferente para cada imagen, tal como imágenes I, P y B. En la codificación de vídeo de múltiples vistas, se definen imágenes de anclaje y de no anclaje. En una forma de realización, se propone que la decisión de agrupación pueda tomarse según un tipo de imagen. Esta información de agrupación se señaliza en la sintaxis de alto nivel.
Haciendo referencia a la FIG. 11, un ejemplo de 5 vistas presentadas en mosaico en un único cuadro se indica de manera genérica mediante el número de referencia 1100. En particular, la secuencia de baile de salón se muestra
con 5 vistas presentadas en mosaico en un único cuadro. Además, puede observarse que la quinta vista está dividida en dos partes, de manera que puede disponerse en un cuadro rectangular. En este caso, cada vista tiene un tamaño QVGA, de manera que la dimensión de cuadro total es de 640x600. Puesto que 600 no es un múltiple de 16, debe aumentarse hasta 608.
5
En este ejemplo, el mensaje de SEI posible puede ser como el mostrado en la Tabla 4.
Tabla 4
multiview_display_info( payloadSize) {
Valor
num_coded_views_minus1
5
org_pic_width_in_mbs_minus1
40
org_pic_height_in_mbs_minus1
30
view_id[0]
0
num_parts[view_id[0]]
1
depth_flag[view_id[0]][0]
0
flip_dir[view_id[0]][0]
0
loc_left_offset[view_id[0]] [0]
0
loc_top_offset[view_id[0]] [0]
0
frame_crop_left_offset[view_id[0]] [0]
0
frame_crop_right_offset[view_id[0]] [0]
320
frame_crop_top_offset[view_id[0]] [0]
0
frame_crop_bottom_offset[view_id[0]] [0]
240
upsample_view_flag[view_id[0]]
1
if(upsample_view_flag[view_id[0]]) {
vert_dim[view_id[0]]
6
hor_dim[view_id[0]]
6
quantizer[view_id[0]]
32
for (yuv= 0; yuv< 3; yuv++) {
for (y = 0; y < vert_dim[view_id[i]] -1; y ++) {
for (x = 0; x < hor_dim[view_id[i]]-1; x ++)
filter_coeffs[view_id[i]][yuv][y][x]
XX
view_id[1]
1
num_parts[view_id[1]]
1
depth_flag[view_id[0]][0]
0
flip_dir[view_id[1]][0]
0
loc_left_offset[view_id[1]] [0]
0
multiview_display_info( payloadSize) {
Valor
loc_top_offset[view_id[1]] [0]
0
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
if(upsample_view_flag[view_id[1]]) {
vert_dim[view_id[1]]
6
hor_dim[view_id[1]]
6
quantizer[view_id[1]] for (yuv= 0; yuv< 3; yuv++) {
32
for (y = 0; y < vert_dim[view_id[i]] -1; y ++) {
for (x = 0; x < hor_dim[view_id[i]]-1; x ++)
filter_coeffs[view_id[i]] [yuv][y][x]
XX
... (de manera similar para las vistas 2 y 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] frame_crop_top_offset[view_id[4]] [1]
O o oo co
frame_crop_bottom_offset[view_id[4]] [1]
600
multiview_display_info( payloadSize) {
Valor
upsample_view_flag[view_id[4]]
1
if(upsample_view_flag[view_id[4]]) {
vert_dim[view_id[4]]
6
hor_dim[view_id[4]]
6
quantizer[view_id[4]]
32
for (yuv= 0; yuv< 3; yuv++) {
for (y = 0; y < vert_dim[view_id[i]] -1; y ++) {
for (x = 0; x < hor_dim[view_id[i]]-1; x ++)
filter_coeffs[view_id[i]] [yuv][y][x]
XX
La Tabla 5 muestra la estructura sintáctica general para transmitir información de múltiples vistas para el ejemplo mostrado en la Tabla 4.
5 Tabla 5
multiview_display_info( payloadSize) {
C Descriptor
num_coded_views_minus1
5 ue(v)
org_pic_width_in_mbs_minus1
5 ue(v)
org_pic_height_in_mbs_minus1
5 ue(v)
for(i = 0; i <= num_coded_views_minus1; i++) {
view_id[i]
5 ue(v)
num_parts[view_id[i]]
5 ue(v)
for(j = 0; j <= num_parts[i]; j++ ) {
depth_flag[view_id[i]][j]
flip_dir[view_id[i]][j]
5 u(2)
loc_left_offset[view_id[i]] [j ]
5 ue(v)
loc_top_offset[view_id[i]] [ j ]
5 ue(v)
frame_crop_left_offset[view_id[i]] [j ]
5 ue(v)
frame_crop_right_offset[view_id[i]] [j ]
5 ue(v)
frame_crop_top_offset[view_id[i]] [j ]
5 ue(v)
frame_crop_bottom_offset[view_id[i]] [j ]
5 ue(v)
}
upsample_view_flag[view_id[i]]
5 u(1)
if(upsample_view_flag[view_id[i]])
upsample_filter[view_id[i]]
5 u(2)
if(upsample_filter[view_id[i]]==3) {
vert_dim[view_id[i]]
5 ue(v)
hor_dim[view_id[i]]
5 ue(v)
quantizer[view_id[i]]
5 ue(v)
for (yuv= 0; yuv< 3; yuv++) {
for (y = 0; y < vert_dim[view_id[i]]-1; y ++) {
for (x = 0; x < hor_dim[view_id[i]]-1; x ++)
filter_coeffs[view_id[i]][yuv][y][x]
5 se(v)
5
10
15
20
25
30
35
40
45
50
55
multiview_display_info( payloadSize) {
C Descriptor
}
}
}
}
}
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 descodificador u otro dispositivo que reciba vídeo codificado y que proporcione, por ejemplo, vídeo descodificado para mostrarse a un usuario o para almacenarse. Por tanto, el dispositivo 2300 puede proporcionar su salida a una televisión, un monitor de ordenador, un ordenador u otro dispositivo de procesamiento.
El dispositivo 2300 incluye un descodificador 2310 que recibe una señal de datos 2320. La señal de datos 2320 puede incluir, por ejemplo, un flujo compatible con AVC o con MVC. El descodificador 2310 descodifica toda o parte de la señal recibida 2320 y proporciona como salida una señal de vídeo descodificada 2330 e información de presentación en mosaico 2340. El vídeo descodificado 2330 y la información de presentación en mosaico 2340 se proporcionan a un selector 2350. El dispositivo 2300 incluye además una interfaz de usuario 2360 que recibe una entrada de usuario 2370. La interfaz de usuario 2360 proporciona al selector 2350 una señal de selección de imagen 2380 basándose en la entrada de usuario 2370. La señal de selección de imagen 2380 y la entrada de usuario 2370 indican cuál de las múltiples imágenes desea ver un usuario. El selector 2350 proporciona la(s) imagen(es) seleccionada(s) como una salida 2390. El selector 2350 usa la información de selección de imagen 2380 para seleccionar la imagen del vídeo descodificado 2330 que va a proporcionarse como la salida 2390. El selector 2350 usa la información de presentación en mosaico 2340 para asignar la(s) imagen(es) seleccionada(s) del vídeo descodificado 2330.
En varias implementaciones, el selector 2350 incluye la interfaz de usuario 2360, mientras que en otras implementaciones no se necesita ninguna interfaz de usuario 2360 ya que el selector 2350 recibe la entrada de usuario 2370 directamente sin que se realice ninguna otra función de interfaz. El selector 2350 puede implementarse en software o como un circuito integrado, por ejemplo. El selector 2350 también puede incorporar el descodificador 2310.
En términos más generales, los descodificadores de varias implementaciones descritas en esta solicitud pueden proporcionar una salida descodificada que incluye un mosaico completo. Además, o como alternativa, los descodificadores pueden proporcionar una salida descodificada que incluye solamente una o más imágenes seleccionadas (imágenes o señales de profundidad, por ejemplo) del mosaico.
Como se ha indicado anteriormente, puede usarse una sintaxis de alto nivel para realizar la señalización según una o más formas de realización de los presentes principios. Por ejemplo, puede usarse la sintaxis de alto nivel, pero no está limitada a señalizar cualquiera de lo siguiente: el número de vistas codificadas presentes en el cuadro mayor; 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 que se divide el cuadro de una vista; para cada parte de la vista, la dirección de giro (que puede ser, por ejemplo, nula, solamente un giro horizontal, solamente un giro vertical o un giro horizontal y vertical); para cada parte de la vista, la posición izquierda en los píxeles o el número de macrobloques a los que pertenece la parte actual en el cuadro 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 a los que pertenece la parte actual en el cuadro final para la vista; para cada parte de la vista, la posición izquierda, en el gran cuadro
descodificado/codificado actual, 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 gran cuadro descodificado/codificado actual, 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 gran cuadro
descodificado/codificado actual, 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 gran cuadro descodificado/codificado actual, de la ventana de recorte en píxeles o número de macrobloques; para cada vista codificada, si la vista tiene que muestrearse de manera ascendente antes de proporcionarse (donde si es necesario realizar el muestreo ascendente, puede usarse una sintaxis de alto nivel para indicar el procedimiento de muestreo ascendente (que incluye, pero sin limitarse a, un filtro AVC de 6 etapas, un filtro SVC de 4 etapas, un filtro bilineal o un filtro lineal o no lineal 1d, 2D personalizado)).
Debe observarse que los términos "codificador" y "descodificador" connotan estructuras generales y no están limitados a ninguna función o característica particular. Por ejemplo, un descodificador puede recibir una portadora modulada que transporta un flujo de bits codificado, y desmodular el flujo de bits codificado, así como descodificar el flujo de bits.
5
10
15
20
25
30
35
40
45
50
55
60
65
Se han descrito varios procedimientos. Muchos de estos procedimientos se han descrito en detalle para ofrecer una divulgación concisa. Sin embargo, debe observarse que se contemplan variaciones que pueden variar una o muchas de las características específicas descritas para estos procedimientos. Además, muchas de las características enumeradas son conocidas en la técnica y, por consiguiente, no se describen en gran detalle.
Además, se ha hecho referencia al uso de una sintaxis de alto nivel para enviar cierta información en varias implementaciones. Sin embargo, debe entenderse que otras implementaciones usan una sintaxis de menor nivel o, de hecho, otros mecanismos diferentes (tales como, por ejemplo, enviar información como parte de los datos codificados) para proporcionar la misma información (o variaciones de esa información).
Varias implementaciones proporcionan una presentación en mosaico y una señalización apropiada para permitir que múltiples vistas (más en general, imágenes) se presenten en mosaico en una única imagen, se codifiquen como una única imagen y se envíen como una única imagen. La información de señalización puede permitir que un posprocesador fragmente las vistas/imágenes. Además, las múltiples imágenes que están presentadas en mosaico pueden ser vistas, pero al menos una de las imágenes puede ser información de profundidad. Estas implementaciones pueden proporcionar una o más ventajas. Por ejemplo, los usuarios pueden desear mostrar múltiples vistas en mosaico, y estas diversas implementaciones proporcionan una manera eficiente de codificar y transmitir o almacenar tales vistas disponiéndolas en mosaico antes de su codificación y transmisión/almacenamiento en mosaico.
Las implementaciones que presentan múltiples vistas en mosaico en el contexto de AVC y/o MVC también ofrecen ventajas adicionales. AVC solo se usa ostensiblemente para una única vista, por lo que no se espera ninguna vista adicional. Sin embargo, tales implementaciones basadas en AVC pueden proporcionar múltiples vistas en un entorno AVC, ya que las vistas presentadas en mosaico pueden disponerse de manera que, por ejemplo, un descodificador sepa que las imágenes presentadas en mosaico pertenecen a diferentes vistas (por ejemplo, la imagen superior izquierda en la seudovista es la vista 1, la imagen superior derecha es la vista 2, etc.).
Además, MVC ya incluye múltiples vistas, de manera que no se espera que múltiples vistas estén incluidas en una única seudovista. Además, MVC tiene un límite en lo que respecta al número de vistas que pueden admitirse, y tales implementaciones basadas en MVC aumentan de manera eficaz el número de vistas que pueden admitirse al permitir (como en las implementaciones basadas en AVC) que se presenten en mosaico vistas adicionales. Por ejemplo, cada seudovista puede corresponder a una de las vistas admitidas de MVC, y el descodificador puede saber que cada "vista admitida" incluye realmente cuatro vistas en un orden predispuesto de presentación en mosaico. Por tanto, en esta implementación, el número de posibles vistas es cuatro veces el número de "vistas admitidas".
Las implementaciones descritas en el presente documento pueden implementarse en, por ejemplo, un procedimiento o proceso, un aparato o un programa de software. Incluso si solo se describe en el contexto de una única forma de implementación (por ejemplo, solo se describe como un procedimiento), la implementación de las características descritas también puede implementarse de otras maneras (por ejemplo, un aparato o un programa). Un aparato puede implementarse, por ejemplo, en un hardware, software y firmware apropiado. Los procedimientos pueden implementarse, por ejemplo, en un aparato tal como, por ejemplo, un procesador, que hace referencia a dispositivos de procesamiento en general, incluidos, por ejemplo, un ordenador, un microprocesador, un circuito integrado o un dispositivo de lógica programable. Dispositivos de procesamiento incluyen además dispositivos de comunicación, tales como, por ejemplo, ordenadores, teléfonos celulares, asistentes digitales portátiles/personales (PDA), y otros dispositivos que faciliten la comunicación de información entre usuarios finales.
Implementaciones de los diversos procesos y características descritos en el presente documento pueden realizarse en varios equipos o aplicaciones diferentes, por ejemplo, de manera particular, en equipos o aplicaciones asociados a la codificación y descodificació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 celulares, PDA y otros dispositivos de comunicación. Como resultará evidente, los equipos pueden ser móviles e incluso estar instalados en un vehículo móvil.
Además, los procedimientos pueden implementarse mediante instrucciones realizadas por un procesador, y tales instrucciones pueden almacenarse 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 disquete compacto, una memoria de acceso aleatorio (RAM) o una memoria de solo lectura (ROM). Las instrucciones pueden formar un programa de aplicación guardado de manera tangible en un medio legible por procesador. Como resultará evidente, 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 pueden cargarse en y ejecutarse por una máquina que comprende cualquier arquitectura adecuada. Preferentemente, la máquina está implementada en una plataforma informática que cuenta con 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 el presente documento pueden ser parte del código de microinstrucciones o parte del programa de aplicación, o cualquier
5
10
15
20
25
30
combinación de los mismos, que pueda ejecutarse por una CPU. Además, otras diversas unidades periféricas pueden estar conectadas a la plataforma informática, tal como una unidad de almacenamiento de datos adicional y una unidad de impresión.
Como le resultará evidente a un experto en la técnica, las implementaciones también pueden producir una señal formateada para transportar información que, por ejemplo, puede almacenarse o transmitirse. La información puede incluir, por ejemplo, instrucciones para realizar un procedimiento, o datos producidos por una de las implementaciones descritas. Una señal de este tipo puede formatearse, por ejemplo, como una onda electromagnética (por ejemplo, usando una parte de radiofrecuencia del espectro) o como una señal de banda base. El formateo puede incluir, por ejemplo, codificar un flujo de datos, producir una sintaxis y modular una portadora con el flujo de datos codificado y la sintaxis. La información que la señal transporta puede ser, por ejemplo, información analógica o digital. La señal puede transmitirse a través de diversos enlaces alámbricos o inalámbricos diferentes, como se sabe.
Debe entenderse además que, puesto que algunos de los componentes de sistema constituyentes y de los procedimientos descritos en los dibujos adjuntos se implementan preferentemente en software, las conexiones reales entre los componentes de sistema o los bloques funcionales de proceso pueden diferir dependiendo de la manera en que estén programados los presentes principios. Dadas las enseñanzas del presente documento, un experto en la técnica podrá contemplar estas y otras implementaciones o configuraciones similares de los presentes principios.
Se han descrito diversas implementaciones. Sin embargo, debe entenderse que pueden realizarse varias modificaciones. Por ejemplo, elementos de diferentes implementaciones pueden combinarse, complementarse, modificarse o eliminarse para producir otras implementaciones. Además, un experto en la técnica entenderá que otras estructuras y procesos pueden sustituir a los descritos, y que las implementaciones resultantes llevarán a cabo, al menos sustancialmente, la(s) misma(s) función(es), en al menos sustancialmente la(s) misma(s) manera(s), para conseguir, al menos sustancialmente, el/los mismo(s) resultado(s) que las implementaciones dadas a conocer. En particular, aunque en el presente documento se han descrito formas de realización ilustrativas haciendo referencia a los dibujos adjuntos, debe entenderse que los presentes principios no están limitados a esas formas de realización precisas, y que un experto en la técnica puede realizar varios cambios y modificaciones en los mismos sin apartarse del alcance de los presentes principios definidos por las reivindicaciones. Por consiguiente, estas y otras implementaciones son contempladas por esta solicitud y están dentro del alcance de las siguientes reivindicaciones.

Claims (12)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    REIVINDICACIONES
    1. Un procedimiento, caracterizado porque comprende:
    - recibir un flujo de vídeo;
    - acceder a una imagen de vídeo que incluye múltiples imágenes combinadas en una única imagen (826), donde las múltiples imágenes incluyen una primera imagen de una primera vista de un vídeo de múltiples vistas y una segunda imagen de una segunda vista del vídeo de múltiples vistas, donde la imagen de vídeo forma parte del flujo de vídeo recibido;
    - acceder a información que indica cómo las múltiples imágenes de la imagen de vídeo accedida están combinadas, en el que la información accedida indica que al menos una de las múltiples imágenes está girada de manera individual en una o más de una dirección horizontal o una dirección vertical,
    y en el que la información accedida está comprendida en al menos uno de entre una cabecera de segmento, un conjunto de parámetros de secuencia, un conjunto de parámetros de imagen, una cabecera de unidad de capa de abstracción de red y un mensaje de información de mejora complementaria,
    donde la primera imagen de la primera vista no está girada y la segunda imagen de la segunda vista está girada, la primera imagen de la primera vista y la segunda imagen de la segunda vista están dispuestas lado a lado o una encima de otra; y
    - descodificar la imagen de vídeo para proporcionar una representación descodificada de las múltiples imágenes combinadas (824, 826),
    en el que la información accedida (824, 826) puede usarse para posprocesar la representación descodificada para girar de manera individual la al menos una de las múltiples imágenes.
  2. 2. El procedimiento según la reivindicación 1, en el que el acceso a la imagen de vídeo, el acceso a la información y la descodificación de la imagen de vídeo se realizan en un descodificador (1650).
  3. 3. Un aparato, caracterizado por que comprende:
    - medios para recibir un flujo de vídeo;
    - medios para acceder a una imagen de vídeo que incluye múltiples imágenes combinadas en una única imagen (826), donde las múltiples imágenes incluyen una primera imagen de una primera vista de un vídeo de múltiples vistas y una segunda imagen de una segunda vista del vídeo de múltiples vistas, donde la imagen de vídeo forma parte del flujo de vídeo recibido;
    - medios para acceder a información que indica cómo las múltiples imágenes de la imagen de vídeo accedida están combinadas, en el que la información accedida indica que al menos una de las múltiples imágenes está girada de manera individual en una o más de una dirección horizontal o una dirección vertical,
    y en el que la información accedida está comprendida en al menos uno de entre una cabecera de segmento, un conjunto de parámetros de secuencia, un conjunto de parámetros de imagen, una cabecera de unidad de capa de abstracción de red y un mensaje de información de mejora complementaria,
    donde la primera imagen de la primera vista no está girada y la segunda imagen de la segunda vista está girada, la primera imagen de la primera vista y la segunda imagen de la segunda vista están dispuestas lado a lado o una encima de otra; y
    - medios para descodificar la imagen de vídeo para proporcionar una representación descodificada de las múltiples imágenes combinadas (824, 826),
    en el que la información accedida (824, 826) puede usarse para posprocesar la representación descodificada para girar de manera individual la al menos una de las múltiples imágenes.
  4. 4. El aparato según la reivindicación 3, en el que los medios para acceder a la imagen de vídeo, acceder a la información y descodificar la imagen de vídeo están incluidos en un descodificador (1650).
  5. 5. Un medio legible por ordenador que presenta un código de programa legible por ordenador grabado en el mismo, donde el código de programa legible por ordenador comprende:
    - código de programa para acceder a una imagen de vídeo que incluye múltiples imágenes combinadas en una única imagen, donde la imagen forma parte de un flujo de vídeo recibido (826), las múltiples imágenes
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    incluyen una primera imagen de una primera vista de un vídeo de múltiples vistas y una segunda imagen de una segunda vista del vídeo de múltiples vistas;
    - código de programa para acceder a información que indica cómo las múltiples imágenes de la imagen de vídeo accedida están combinadas, en el que la información accedida indica que al menos una de las múltiples imágenes está girada de manera individual en una o más de una dirección horizontal o una dirección vertical,
    y en el que la información accedida está comprendida en al menos uno de entre una cabecera de segmento, un conjunto de parámetros de secuencia, un conjunto de parámetros de imagen, una cabecera de unidad de capa de abstracción de red y un mensaje de información de mejora complementaria;
    donde la primera imagen de la primera vista no está girada y la segunda imagen de la segunda vista está girada, la primera imagen de la primera vista y la segunda imagen de la segunda vista están dispuestas lado a lado o una encima de otra; y
    - código de programa para descodificar la imagen de vídeo para proporcionar una representación descodificada de las múltiples imágenes combinadas (824, 826),
    en el que la información accedida (824, 826) puede usarse para posprocesar la representación descodificada para girar de manera individual la al menos una de las múltiples imágenes.
  6. 6. El medio legible por ordenador según la reivindicación 5, en el que el acceso a la imagen de vídeo, el acceso a la información y la descodificación de la imagen de vídeo se realizan en un descodificador (1650).
  7. 7. Un procedimiento, caracterizado por que comprende:
    - generar una imagen de vídeo que incluye múltiples imágenes combinadas en una única imagen, donde las múltiples imágenes incluyen una primera imagen de una primera vista de un vídeo de múltiples vistas y una segunda imagen de una segunda vista del vídeo de múltiples vistas;
    - generar información que indica cómo las múltiples imágenes de la imagen de vídeo generada están combinadas, en el que la información generada indica que al menos una de las múltiples imágenes está girada de manera individual en una o más de una dirección horizontal o una dirección vertical,
    y en el que la información generada está comprendida en al menos uno de entre una cabecera de segmento, un conjunto de parámetros de secuencia, un conjunto de parámetros de imagen, una cabecera de unidad de capa de abstracción de red y un mensaje de información de mejora complementaria,
    donde la primera imagen de la primera vista no está girada y la segunda imagen de la segunda vista está girada, la primera imagen de la primera vista y la segunda imagen de la segunda vista están dispuestas lado a lado o una encima de otra;
    - codificar la imagen de vídeo generada y la información generada; y
    - proporcionar un flujo de vídeo que incluye la imagen de vídeo codificada y la información codificada.
  8. 8. El procedimiento según la reivindicación 7, en el que la generación de la imagen de vídeo, la generación de la información, la codificación y la provisión del flujo de vídeo se realizan en un codificador.
  9. 9. Un aparato, caracterizado por que comprende:
    - medios para generar una imagen de vídeo que incluye múltiples imágenes combinadas en una única imagen, donde las múltiples imágenes incluyen una primera imagen de una primera vista de un vídeo de múltiples vistas y una segunda imagen de una segunda vista del vídeo de múltiples vistas;
    - medios para generar información que indica cómo las múltiples imágenes de la imagen de vídeo generada están combinadas, en el que la información generada indica que al menos una de las múltiples imágenes está girada de manera individual en una o más de una dirección horizontal o una dirección vertical,
    y en el que la información generada está comprendida en al menos uno de entre una cabecera de segmento, un conjunto de parámetros de secuencia, un conjunto de parámetros de imagen, una cabecera de unidad de capa de abstracción de red y un mensaje de información de mejora complementaria,
    donde la primera imagen de la primera vista no está girada y la segunda imagen de la segunda vista está girada, la primera imagen de la primera vista y la segunda imagen de la segunda vista están dispuestas lado a lado o una encima de otra;
    - medios para codificar la imagen de vídeo generada y la información generada; y
    5
    10
    15
    20
    25
    - medios para proporcionar un flujo de vídeo que incluye la imagen de vídeo codificada y la información codificada.
  10. 10. El aparato según la reivindicación 9, en el que los medios para generar la imagen de vídeo, generar la información, codificar y proporcionar el flujo de vídeo están incluidos en un codificador.
  11. 11. Un medio legible por ordenador que presenta un código de programa legible por ordenador grabado en el mismo, donde el código de programa legible por ordenador comprende:
    - código de programa para generar una imagen de vídeo que incluye múltiples imágenes combinadas en una única imagen, donde las múltiples imágenes incluyen una primera imagen de una primera vista de un vídeo de múltiples vistas y una segunda imagen de una segunda vista del vídeo de múltiples vistas;
    - código de programa para generar información que indica cómo las múltiples imágenes de la imagen de vídeo generada están combinadas, en el que la información generada indica que al menos una de las múltiples imágenes está girada de manera individual en una o más de una dirección horizontal o una dirección vertical,
    y en el que la información generada está comprendida en al menos uno de entre una cabecera de segmento, un conjunto de parámetros de secuencia, un conjunto de parámetros de imagen, una cabecera de unidad de capa de abstracción de red y un mensaje de información de mejora complementaria,
    donde la primera imagen de la primera vista no está girada y la segunda imagen de la segunda vista está girada, la primera imagen de la primera vista y la segunda imagen de la segunda vista están dispuestas lado a lado o una encima de otra;
    - código de programa para codificar la imagen de vídeo generada y la información generada; y
    - código de programa para proporcionar un flujo de vídeo que incluye la imagen de vídeo codificada y la información codificada.
  12. 12. El medio legible por ordenador según la reivindicación 11, en el que la generación de la imagen de vídeo, la generación de la información, la codificación y la provisión del flujo de vídeo se realizan en un codificador.
ES15153812.1T 2007-04-12 2008-04-11 Presentación en mosaico en la codificación y descodificación de vídeo Active ES2675164T3 (es)

Applications Claiming Priority (4)

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

Publications (1)

Publication Number Publication Date
ES2675164T3 true ES2675164T3 (es) 2018-07-09

Family

ID=39810226

Family Applications (7)

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
ES20191874T Active ES2864544T3 (es) 2007-04-12 2008-04-11 Organización en mosaico en codificación y decodificación de vídeo
ES21180823T Active ES2941888T3 (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
ES20191672T Active ES2858578T3 (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 Before (6)

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
ES20191874T Active ES2864544T3 (es) 2007-04-12 2008-04-11 Organización en mosaico en codificación y decodificación de vídeo
ES21180823T Active ES2941888T3 (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
ES20191672T Active ES2858578T3 (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

Country Status (21)

Country Link
US (13) US8780998B2 (es)
EP (12) EP3836550B1 (es)
JP (10) JP5324563B2 (es)
KR (11) KR101766479B1 (es)
CN (1) CN101658037B (es)
AU (1) AU2008239653C1 (es)
BR (5) BR122018004906B1 (es)
DK (7) DK3399756T3 (es)
ES (7) ES2586406T3 (es)
FI (1) FI3920538T3 (es)
HK (1) HK1255617A1 (es)
HU (7) HUE053806T2 (es)
LT (1) LT2887671T (es)
MX (1) MX2009010973A (es)
PL (7) PL2887671T3 (es)
PT (7) PT3920538T (es)
RU (8) RU2521618C2 (es)
SI (6) SI3758381T1 (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
SI3758381T1 (sl) 2007-04-12 2021-07-30 Dolby International Ab Razpostavljanje pri kodiranju in dekodiranju videa
KR101479185B1 (ko) 2007-05-16 2015-01-06 톰슨 라이센싱 다중-뷰 비디오 코딩(mvc) 정보의 인코딩에 슬라이스 그룹들을 이용하기 위한 방법 및 장치
JP5235035B2 (ja) 2008-09-23 2013-07-10 ドルビー ラボラトリーズ ライセンシング コーポレイション チェッカーボード多重化したイメージデータのエンコーディング構造及びデコーディング構造
WO2010043773A1 (en) 2008-10-17 2010-04-22 Nokia Corporation Sharing of motion vector in 3d video coding
RU2689191C2 (ru) 2009-01-26 2019-05-24 Томсон Лайсенсинг Упаковка кадров для кодирования видео
CN105357510B (zh) 2009-01-29 2017-08-11 杜比实验室特许公司 视频编码方法、视频信号解码方法及视频装置
CA2749583C (en) * 2009-02-01 2016-01-12 Lg Electronics Inc. Broadcast receiver and 3d video data processing method
US9066075B2 (en) * 2009-02-13 2015-06-23 Thomson Licensing Depth map coding to reduce rendered distortion
CN105657404B (zh) * 2009-02-19 2018-06-08 汤姆逊许可证公司 视频编码和解码的装置
EP2422522A1 (en) 2009-04-20 2012-02-29 Dolby Laboratories Licensing Corporation Directed interpolation and data post-processing
EP2425624A2 (en) * 2009-05-01 2012-03-07 Thomson Licensing 3d video coding formats
US9124874B2 (en) 2009-06-05 2015-09-01 Qualcomm Incorporated Encoding of three-dimensional conversion information with two-dimensional video sequence
WO2011005624A1 (en) 2009-07-04 2011-01-13 Dolby Laboratories Licensing Corporation Encoding and decoding architectures for format compatible 3d video delivery
JP2011109397A (ja) * 2009-11-17 2011-06-02 Sony Corp 画像送信方法、画像受信方法、画像送信装置、画像受信装置、及び画像伝送システム
US9215445B2 (en) 2010-01-29 2015-12-15 Thomson Licensing Block-based interleaving
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
US8619852B2 (en) 2010-07-21 2013-12-31 Dolby Laboratories Licensing Corporation Systems and methods for multi-layered frame-compatible video delivery
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
EP2602999A1 (en) * 2010-08-06 2013-06-12 Panasonic Corporation Encoding method, display device, and decoding method
CN103039081B (zh) * 2010-08-09 2016-03-23 皇家飞利浦电子股份有限公司 编码器、解码器、比特流、编码和解码与多视角信号的两视角相对应的图像对的方法
KR20130139242A (ko) 2010-09-14 2013-12-20 톰슨 라이센싱 차폐 데이터의 압축 방법 및 장치
KR101867824B1 (ko) * 2010-10-28 2018-06-18 엘지전자 주식회사 모바일 환경에서 3차원 방송 신호를 수신하기 위한 수신 장치 및 방법
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
CN102972024A (zh) * 2011-05-11 2013-03-13 松下电器产业株式会社 动态图像发送装置以及动态图像发送方法
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
US20150063466A1 (en) 2012-04-06 2015-03-05 Sony Corporation Decoding device and decoding method, and encoding device and encoding method
TWI521940B (zh) 2012-06-14 2016-02-11 杜比實驗室特許公司 用於立體及自動立體顯示器之深度圖傳遞格式
US9584803B2 (en) * 2012-07-08 2017-02-28 Cisco Technology, Inc. Picture output management in video applications with fixed picture rate
US9426462B2 (en) 2012-09-21 2016-08-23 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
JP6968516B2 (ja) 2013-01-18 2021-11-17 キヤノン株式会社 生成装置、生成方法、提供装置、提供方法、及び、プログラム
TWI558166B (zh) 2013-04-04 2016-11-11 杜比國際公司 用於多視點裸視立體顯示器的深度地圖遞送格式
WO2014209352A1 (en) * 2013-06-28 2014-12-31 Thomson Licensing Highlighting an object displayed by a pico projector
WO2015001947A1 (ja) 2013-07-05 2015-01-08 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
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 엘지전자 주식회사 미디어 데이터 전송 장치, 미디어 데이터 수신 장치, 미디어 데이터 전송 방법, 및 미디어 데이터 수신 방법
US10170154B2 (en) 2015-11-16 2019-01-01 Virtual Dreamware, LLC Symmetrically mirrored video segment
JP6784767B2 (ja) 2016-02-09 2020-11-11 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 効率的削減または効率的ランダムアクセスを可能にする画像/ビデオデータストリームについての概念
CN115150630B (zh) 2016-05-27 2024-02-20 松下电器(美国)知识产权公司 编码装置及解码装置
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
KR20210011378A (ko) 2018-05-23 2021-02-01 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
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
KR20230136195A (ko) * 2021-02-28 2023-09-26 레이아 인코포레이티드 압축된 멀티뷰 동영상을 스트리밍하는 시스템 및 방법
EP4300963A4 (en) 2021-03-30 2024-05-08 Panasonic Intellectual Property Corporation of America IMAGE ENCODING METHOD, IMAGE DECODING METHOD, IMAGE PROCESSING METHOD, IMAGE ENCODING DEVICE, AND IMAGE DECODING DEVICE
EP4311237A1 (en) 2021-04-23 2024-01-24 Panasonic Intellectual Property Corporation of America Image encoding method, image decoding method, image processing method, image encoding device, and image decoding device
WO2022225025A1 (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
WO1997043883A1 (de) 1996-05-10 1997-11-20 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
US20030122925A1 (en) * 2001-08-17 2003-07-03 Byoungyi Yoon Method and system for providing the motion information of stereoscopic cameras
US7277121B2 (en) * 2001-08-29 2007-10-02 Sanyo Electric Co., Ltd. Stereoscopic image processing and display system
JP5020458B2 (ja) 2001-11-24 2012-09-05 フェニックス スリーディー インコーポレイテッド 二次元画像列からの立体画像列の生成
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
CN101977329B (zh) 2004-07-29 2012-10-03 微软公司 使用线光值和其它图像处理改进的图像处理
KR100714068B1 (ko) 2004-10-16 2007-05-02 한국전자통신연구원 계층적 깊이 영상을 이용한 다시점 동영상 부호화/복호화방법 및 장치
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
EP1843322A1 (en) * 2005-01-06 2007-10-10 Mitsubishi Electric Corporation Video display apparatus
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 삼성전자주식회사 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치
PL1897380T3 (pl) * 2005-06-23 2016-04-29 Koninklijke Philips Nv Połączona wymiana danych obrazu i związanych z nimi danych głębi
JP4637672B2 (ja) * 2005-07-22 2011-02-23 株式会社リコー 符号化処理装置及び方法
US7668366B2 (en) 2005-08-09 2010-02-23 Seiko Epson Corporation Mosaic image data processing
US20100158133A1 (en) 2005-10-12 2010-06-24 Peng Yin Method and Apparatus for Using High-Level Syntax in Scalable Video Encoding and Decoding
BRPI0616745A2 (pt) 2005-10-19 2011-06-28 Thomson Licensing codificação / decodificação de vìdeo com múltiplas visualizações usando codificação / decodificação de vìdeo escalonável
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
US7856148B2 (en) 2006-01-12 2010-12-21 Lg Electronics Inc. Processing multiview video
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 多視点画像符号化装置
KR101383735B1 (ko) 2006-03-29 2014-04-08 톰슨 라이센싱 멀티-뷰 비디오 코딩 시스템에서 사용하기 위한 방법 및 장치
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
CN101535868A (zh) 2006-11-07 2009-09-16 皇家飞利浦电子股份有限公司 用于散斑减少的方法和设备
CN101569197B (zh) 2006-12-21 2013-07-10 汤姆森许可贸易公司 针对多视点视频编码和解码使用高级语法进行改进信号通知的方法和装置
US8515194B2 (en) 2007-02-21 2013-08-20 Microsoft Corporation Signaling and uses of windowing information for images
CA2680724C (en) * 2007-03-16 2016-01-26 Thomson Licensing System and method for combining text with three-dimensional content
SI3758381T1 (sl) 2007-04-12 2021-07-30 Dolby International Ab Razpostavljanje pri kodiranju in dekodiranju videa
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 三菱電機株式会社 画像表示装置及び方法、並びに画像発生装置及び方法
US8373744B2 (en) 2007-06-07 2013-02-12 Reald Inc. Stereoplexing for video and film applications
KR100962696B1 (ko) 2007-06-07 2010-06-11 주식회사 이시티 부호화된 스테레오스코픽 영상 데이터 파일의 구성방법
EP2914000A1 (en) 2007-06-19 2015-09-02 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 광주과학기술원 참조영상을 이용한 깊이영상 생성방법 및 그 장치, 생성된깊이영상을 부호화/복호화하는 방법 및 이를 위한인코더/디코더, 그리고 상기 방법에 따라 생성되는 영상을기록하는 기록매체
BRPI0822032A2 (pt) 2007-12-20 2015-07-21 Koninkl Philips Electronics Nv Método de codificação de imagem que permite renderização estereoscópica, portador de dados, codificador de imagem, decodificador de imagem, e, produto de programa de computador
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차원 영상 컨텐츠 제공 방법, 재생 방법, 그 장치 및 그기록매체
WO2010011557A2 (en) 2008-07-20 2010-01-28 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
US9838705B2 (en) 2017-12-05
SI3836550T1 (sl) 2021-09-30
US9232235B2 (en) 2016-01-05
US9973771B2 (en) 2018-05-15
AU2008239653A1 (en) 2008-10-23
WO2008127676A9 (en) 2009-02-12
DK3920538T3 (da) 2023-03-27
JP5324563B2 (ja) 2013-10-23
JP5674873B2 (ja) 2015-02-25
WO2008127676A2 (en) 2008-10-23
KR20140098825A (ko) 2014-08-08
EP3399756A1 (en) 2018-11-07
US10298948B2 (en) 2019-05-21
EP2512136A1 (en) 2012-10-17
KR102123772B1 (ko) 2020-06-16
JP2017135756A (ja) 2017-08-03
PT3758380T (pt) 2021-03-09
EP3758381A1 (en) 2020-12-30
AU2008239653B2 (en) 2012-10-04
SI3399756T1 (sl) 2020-11-30
US20160080757A1 (en) 2016-03-17
BR122018004904B1 (pt) 2019-11-05
US20180152719A1 (en) 2018-05-31
KR20100016212A (ko) 2010-02-12
MX2009010973A (es) 2009-10-30
US20150281736A1 (en) 2015-10-01
RU2721941C1 (ru) 2020-05-25
BRPI0809510B1 (pt) 2019-10-08
PL3836550T3 (pl) 2021-12-13
RU2521618C2 (ru) 2014-07-10
EP3836550A1 (en) 2021-06-16
US20150341665A1 (en) 2015-11-26
US10129557B2 (en) 2018-11-13
EP2512135B1 (en) 2015-03-18
BRPI0809510A2 (pt) 2012-12-25
KR101766479B1 (ko) 2017-10-23
HUE053544T2 (hu) 2021-07-28
KR20170106987A (ko) 2017-09-22
EP2887671A1 (en) 2015-06-24
ES2586406T3 (es) 2016-10-14
DK3758381T3 (da) 2021-04-12
JP2023165827A (ja) 2023-11-17
US10764596B2 (en) 2020-09-01
ES2887248T3 (es) 2021-12-22
US9706217B2 (en) 2017-07-11
HUE038192T2 (hu) 2018-10-29
ZA201201942B (en) 2012-11-28
US20100046635A1 (en) 2010-02-25
ES2858578T3 (es) 2021-09-30
PT2512136T (pt) 2016-08-16
DK3758380T3 (da) 2021-03-08
KR20150046385A (ko) 2015-04-29
ES2825104T3 (es) 2021-05-14
EP3855743A1 (en) 2021-07-28
EP3836550B1 (en) 2021-07-21
SI3758380T1 (sl) 2021-04-30
KR101965781B1 (ko) 2019-04-05
EP3758381B1 (en) 2021-03-10
BR122018004903B1 (pt) 2019-10-29
US20190037230A1 (en) 2019-01-31
PL3920538T3 (pl) 2023-05-08
ES2864544T3 (es) 2021-10-14
JP2019201436A (ja) 2019-11-21
SI3758381T1 (sl) 2021-07-30
US9185384B2 (en) 2015-11-10
PT3920538T (pt) 2023-04-10
JP2020188517A (ja) 2020-11-19
US10432958B2 (en) 2019-10-01
BRPI0823512A2 (pt) 2013-11-26
US9986254B1 (en) 2018-05-29
KR102510010B1 (ko) 2023-03-15
EP4210330A1 (en) 2023-07-12
US20180048904A1 (en) 2018-02-15
US20190253727A1 (en) 2019-08-15
HUE055864T2 (hu) 2021-12-28
SI3920538T1 (sl) 2023-08-31
US20170257638A1 (en) 2017-09-07
EP3920538A1 (en) 2021-12-08
EP2137975A2 (en) 2009-12-30
KR20230038610A (ko) 2023-03-20
JP2015092715A (ja) 2015-05-14
HUE053806T2 (hu) 2021-07-28
KR20180089560A (ko) 2018-08-08
EP4383719A2 (en) 2024-06-12
EP2512135A1 (en) 2012-10-17
JP7357125B2 (ja) 2023-10-05
EP3758380A1 (en) 2020-12-30
HUE029776T2 (en) 2017-04-28
JP2022140599A (ja) 2022-09-26
KR20200069389A (ko) 2020-06-16
JP7116812B2 (ja) 2022-08-10
FI3920538T3 (fi) 2023-04-05
LT2887671T (lt) 2018-07-25
PT3399756T (pt) 2020-10-13
JP2010524398A (ja) 2010-07-15
RU2684184C1 (ru) 2019-04-04
KR102044130B1 (ko) 2019-11-12
KR20190038680A (ko) 2019-04-08
HK1255617A1 (zh) 2019-08-23
CN101658037A (zh) 2010-02-24
US20190379897A1 (en) 2019-12-12
RU2009141712A (ru) 2011-05-20
PL2512136T3 (pl) 2016-11-30
US8780998B2 (en) 2014-07-15
PL3758380T3 (pl) 2021-05-17
EP2887671B1 (en) 2018-05-16
JP6825155B2 (ja) 2021-02-03
TR201809177T4 (tr) 2018-07-23
AU2008239653C1 (en) 2015-05-07
RU2752572C1 (ru) 2021-07-29
ZA201006649B (en) 2012-09-26
EP3399756B1 (en) 2020-09-09
PL2887671T3 (pl) 2018-09-28
US20140301479A1 (en) 2014-10-09
DK3399756T3 (da) 2020-10-12
DK2887671T3 (en) 2018-07-23
US9445116B2 (en) 2016-09-13
EP2512136B1 (en) 2016-06-01
PL3399756T3 (pl) 2020-12-14
US20180213246A1 (en) 2018-07-26
RU2763966C1 (ru) 2022-01-12
HUE061663T2 (hu) 2023-08-28
RU2014116612A (ru) 2015-10-27
KR20190127999A (ko) 2019-11-13
PT2887671T (pt) 2018-07-09
PL3758381T3 (pl) 2021-07-05
KR20160121604A (ko) 2016-10-19
KR101646089B1 (ko) 2016-08-05
US20160360218A1 (en) 2016-12-08
RU2709671C1 (ru) 2019-12-19
HUE052116T2 (hu) 2021-04-28
RU2651227C2 (ru) 2018-04-18
EP3758380B1 (en) 2021-02-03
KR20210006026A (ko) 2021-01-15
JP2021052440A (ja) 2021-04-01
BR122018004906B1 (pt) 2019-11-12
JP2019201435A (ja) 2019-11-21
JP2013258716A (ja) 2013-12-26
CN101658037B (zh) 2013-07-10
RU2733273C1 (ru) 2020-10-01
DK2512136T3 (en) 2016-08-22
EP3920538B1 (en) 2023-02-22
ES2941888T3 (es) 2023-05-26
KR102204262B1 (ko) 2021-01-18
SI2887671T1 (sl) 2018-10-30
PT3836550T (pt) 2021-08-31
WO2008127676A3 (en) 2008-12-18
US9219923B2 (en) 2015-12-22
DK3836550T3 (da) 2021-08-23
KR101885790B1 (ko) 2018-08-06
KR101467601B1 (ko) 2014-12-02
PT3758381T (pt) 2021-04-13

Similar Documents

Publication Publication Date Title
ES2675164T3 (es) Presentación en mosaico en la codificación y descodificación de vídeo