ES2883237T3 - Métodos y aparatos para producir y procesar representaciones de escenas multimedia - Google Patents
Métodos y aparatos para producir y procesar representaciones de escenas multimedia Download PDFInfo
- Publication number
- ES2883237T3 ES2883237T3 ES12722434T ES12722434T ES2883237T3 ES 2883237 T3 ES2883237 T3 ES 2883237T3 ES 12722434 T ES12722434 T ES 12722434T ES 12722434 T ES12722434 T ES 12722434T ES 2883237 T3 ES2883237 T3 ES 2883237T3
- Authority
- ES
- Spain
- Prior art keywords
- scene
- graph
- representation
- processing
- subgraph
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
- H04N19/25—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23412—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234318—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8543—Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Procedimiento de producción de una representación de una escena multimedia, comprendiendo este procedimiento una etapa de procesamiento de datos de dicha escena que hace posible producir un gráfico de escena que representa dicha escena, comprendiendo dicho gráfico de escena (GS) un conjunto de nodos (S) y relaciones (E) que asocian los nodos (S) entre sí, implicando estas relaciones (E) los parámetros (Π), comprendiendo este procedimiento:- - una etapa de identificar (S22) al menos un subgráfico de dicho gráfico de escena, estando dicho subgráfico destinado a ser sometido a un procedimiento de codificación posterior que puede variar en función de la configuración de uso del gráfico de escena, estando la configuración de uso del gráfico de escena definido por un conjunto de restricciones (ξ(t)) que comprende al menos un parámetro de uso seleccionado de entre el grupo que consiste en: al menos un parámetro que indica la capacidad de una estación destinada a restituir la escena, al menos un parámetro que indica una propiedad de una red de transmisión destinada a transmitir el gráfico de escena a dicha estación y al menos un parámetro de un perfil del usuario de dicha estación, - una etapa (S10) durante el cual se añaden, a dicho gráfico de escena, datos de identificación de dicho subgráfico unitario que sean capaces de indicar que dicho subgráfico unitario es susceptible de adaptación posterior y - una etapa (S20) durante la cual se añade a dicho gráfico, datos de estrategia que definen al menos una estrategia de codificación variable del subgráfico identificado por los datos de identificación, definiendo dicha al menos una estrategia cómo variará dicho procedimiento de codificación variable posterior en función de la configuración concreta de uso, caracterizado por que: la etapa de identificación (S22/S30) identifica un subgráfico definido en forma de una función φS S que identifica un subconjunto de S, la restricción de E a este subconjunto, así como un subconjunto de parámetros Π|(E|φ(S)),φ(S) del conjunto inicial Π y que, por lo tanto, es una representación unitaria y general, independiente de las diversas configuraciones concretas que puedan encontrarse al procesar la escena.
Description
DESCRIPCIÓN
Métodos y aparatos para producir y procesar representaciones de escenas multimedia
Sector de la técnica
La invención se refiere al campo del procesamiento de contenidos multimedia y más particularmente al procesamiento de escenas multimedia.
Estado de la técnica
En el contexto de la invención, se denomina escena multimedia a un conjunto de elementos que suelen ser heterogéneos, elegidos, por ejemplo, de entre el texto, gráficos vectoriales o no, secuencias de audio (naturales o sintéticas), imágenes, secuencias de vídeo, objetos 3D estáticos o animados. Una escena multimedia también puede contener cualquier otro tipo de información destinada a influir (modificar, interactuar con...) sus elementos o elementos del mundo exterior (temperatura, retroalimentación sensorial, háptica, olfativo...) o elementos vinculados al usuario, sus dispositivos y entornos.
La invención se refiere más particularmente a un procedimiento y un aparato para producir una representación de escenas multimedia, así como un procedimiento y aparato para procesar tales representaciones.
En varios contextos, desea transmitir una escena multimedia a un equipo remoto: proporcionar acceso a una página web, acceso a un universo virtual colaborativo (red social, ...), juego en línea, uso remoto de una aplicación informática, etc.
De manera clásica, el suministro de datos multimedia al equipo remoto consiste en transformar la escena multimedia en una secuencia de imágenes y sonidos asociados y en codificar estas imágenes y estos sonidos con miras a su transmisión mediante procedimientos desarrollados para la transmisión de dichos datos.
Se han propuesto diversos protocolos, formatos y lenguajes para permitir la producción de una representación de una escena multimedia, describiendo esta representación la posición espacial y temporal de los diferentes elementos de la escena, así como el comportamiento de estos elementos en diferentes circunstancias (por ejemplo, la gestión de cambios a raíz de la acción de un usuario, la gestión de entretenimiento, etc.).
De manera conocida, la escena multimedia puede ser reconstruida por el receptor a partir de su representación inicial y actualizada (sincrónica o no) al recibir datos adicionales o mediante la ejecución de procedimientos incluidos en la propia representación.
Cabe señalar que, aunque las representaciones de escenas se utilizan a menudo con el fin de transmitir escenas multimedia a equipos remotos, en particular a través de una red, se pueden utilizar para otros fines.
Una representación de escena consiste en un gráfico que tiene nodos (o vértices) y relaciones entre estos nodos, definiendo cada uno de estos nodos un aspecto de la escena multimedia (objeto de la escena, textura, comportamiento de un objeto durante un evento en particular, etc.). Este gráfico se denomina gráfico de escena.
Ciertos formatos y lenguajes proponen representar una escena multimedia en forma de gráfico jerárquico sin ciclo (árbol) comúnmente llamado indistintamente "árbol de escena" o "gráfico de escena".
Algunas de las tecnologías de representación de escenas ya conocidas son MPEG-4 BiFS (por "Binary Format for Scene" en inglés, es decir, "Formato Binario para Escenas") definido en la norma 14496-11 de la Comisión Electrotécnica Internacional (CEI o IEC en inglés) y de la Organización Internacional de Normalización (OIN o ISO en inglés), MPEG-4 LASeR (del inglés "Lightweight Application Scene Representation", es decir, "Representación Ligera de Escenas") definida en la norma 14496-20 de la CEI, VRML (del inglés "Virtual Reality Modeling Language" o bien "Virtual Reality Markup Language", es decir, "Lenguaje de Modelado del Universo Virtual") definido por el Consorcio de la Red Mundial (en inglés, World Wide Web Consortium), X3D (un formato que sucede a VRML) o bien SVG (del inglés "Scalable Vector Graphics"), un formato definido por el Consorcio de la Red Mundial.
Es habitual aplicar uno o más procesamientos (por ejemplo compresión, cifrado, enriquecimiento...) a una representación de la escena antes de su uso (almacenamiento, transmisión, visualización, etc.).
A menudo, a continuación, los datos de representación de la escena se convierten, en particular en forma binaria que permite la codificación en un número reducido de bytes. Según algunos sistemas, los datos de representación de la escena se agregan a flujos de datos de vídeo y/o audio, como por ejemplo según el protocolo SAF (del "Simple Aggregation Format", es decir, "Formato de Agregación Simple") que asocia flujos audiovisuales con una representación de escena LASeR. El transporte de datos se puede proporcionar de varias formas, según la aplicación prevista. Esto implica, por ejemplo, empaquetamiento apropiado de los datos para permitir, por ejemplo, (1) su
transporte, en forma de MPEG-2 u otro flujo de transporte y/o (2) el uso de protocolos de comunicación tales como RTP/RTSP, etc. La invención no está limitada por el procesamiento aplicado a la representación de la escena.
Además, se pueden utilizar varios mecanismos para entregar los datos de la representación de la escena al cliente, por ejemplo: descarga progresiva, el sistema indica "descargar y reproducir", transmisión continua ("streaming"), radiodifusión ("broadcast").
La invención tampoco está limitada con respecto al mecanismo de entrega.
La invención también se puede emplear para aplicaciones según las cuales la representación de la escena es producida y reconstruida por el mismo dispositivo, o para aplicaciones por las cuales los datos de representación no se transmiten a través de una red.
Algunas de las tecnologías de representación de la escena explotan la naturaleza del contenido heterogéneo incluido en la escena multimedia, con el fin de permitir, en particular, un procesamiento adaptado a la naturaleza o tipo de contenido de que se trate. En este sentido, cabe mencionar la norma BiFS que define diferentes procedimientos de codificación en función de la naturaleza de los contenidos que forman parte de la escena multimedia.
En el estado actual de la técnica, el esquema de codificación es predefinido y estático. La figura 1 es un gráfico que muestra un sistema de creación y difusión de gráficos de escena que emplea este esquema de codificación estático.
Este esquema de codificación de procesamiento estático y predefinido es perfectamente efectivo cuando la escena multimedia está destinada a ser procesada por equipos cuyas prestaciones en términos de material son conocidas e idénticas, al menos del mismo orden. Por tanto, es necesario tener en cuenta las capacidades del aparato receptor de los datos (el tamaño de la memoria, la velocidad del procesador, etc.) así como las propiedades del canal de transmisión de datos (velocidad de la red, etc.).
Por ejemplo, si el aparato que recibe los datos es un cliente ligero con hardware de capacidad modesta, por ejemplo un teléfono móvil, y/o si el canal de transmisión de estos datos tiene solo un ancho de banda limitado, es conveniente comprimir fuertemente los datos de representación de la escena y proporcionar un procedimiento de codificación que permita una descodificación relativamente sencilla a nivel del cliente.
Por el contrario, si el aparato que recibe los datos es un ordenador de oficina con un procesador de alto rendimiento y está conectado a la fuente de transmisión mediante una red de alta velocidad, es conveniente adaptar los datos de representación de la escena para permitir la reconstrucción de la escena de alta definición en el aparato receptor.
La necesidad de adaptar los datos de la representación de la escena a las capacidades del aparato receptor de los datos presenta problemas, en particular en el caso de un servidor de datos de representación de escenas para clientes heterogéneos a través de redes heterogéneas, este escenario se da en particular en el contexto del trabajo colaborativo.
El uso actual de la tecnología BiFS aborda este problema teniendo en cuenta todas las configuraciones posibles (que deben, por lo tanto, ser conocidas al crear la escena). Un primer enfoque consiste en producir diferentes versiones de la representación de la escena, destinadas respectivamente a terminales y redes de distintas capacidades. Por ejemplo, si la escena multimedia incluye una imagen de alta resolución, el uso actual del estándar BiFS prevé la creación de una primera representación de la escena con la imagen de alta definición, estando esta primera representación destinada a un terminal de alto rendimiento, y una segunda representación de la escena con la imagen a resolución reducida, estando esta segunda representación destinada a un equipo con capacidades limitadas.
Según este primer enfoque, o se transmite el conjunto de gráficos de escena y las distintas estaciones operan una selección del gráfico de escena que es conveniente procesar (véase la Figura 2(a)) o se proporciona un selector/interruptor en el codificador, o después del mismo, para dirigir su propio gráfico de escena a cada estación (véase la Figura 2(b)). Por supuesto, este primer enfoque multiplica las versiones del gráfico de escena que debe producir el creador del gráfico de escena y, según el ejemplo de la figura 2(a), aumenta la congestión de las redes de difusión.
La tesis "Escalabilidad de la escena multimedia" de Benoit Pellan prevé la creación de una representación de la escena multimedia mediante la cual se crea una versión básica de un objeto y se asocia con capas de enriquecimiento para permitir la posterior adaptación del objeto. La representación de la escena incluye tanto las capas de enriquecimiento como la versión básica del objeto y, durante la adaptación, las capas innecesarias no se explotan.
Se podría concebir un segundo enfoque según el cual, se usaría, por ejemplo, el nodo BiFS "switch" y su parámetro "whichChoice" se utilizan junto con los nodos "Conditional", e incluyen en la misma representación de escena la imagen de alta resolución (en un primer subgráfico) así como la imagen de resolución reducida (en un segundo subgráfico). El cliente recibirá la representación de la escena con sus dos subgráficos diferentes y elegirá, en función de un parámetro, mostrar la imagen de alta resolución o la imagen de resolución reducida. El nodo "switch" y su uso se
explican en el capítulo 4 del libro "The MPEG-4 Book", de J-C Dufourd et al, Prentice Hall, ISBN: 0-13-061621-4.
La figura 3(a) representa un sistema para crear y difundir escenas gráficas de acuerdo con este segundo enfoque. La figura 3(b) muestra un ejemplo de un nodo Switch de acuerdo con el segundo enfoque mencionado anteriormente e ilustra tres subgráficos, cada uno correspondiente a una versión diferente de la misma imagen. El gráfico de escena que comprende este nodo Switch se enviará a cada estación de usuario, lo que implica la transmisión a cada estación de las tres versiones de la imagen. Este enfoque aumenta innecesariamente el tamaño de la red y el tiempo de recepción del gráfico de escena.
Tales enfoques para hacer coincidir una escena con varios terminales/redes implican la creación de un gráfico de escena (o, al menos, de un subgráfico) para cada configuración considerada, lo cual es costoso en términos de tiempo y uso de CPU y memoria. Así, para transmitir una escena, por ejemplo, con vídeo de alta definición y contenido 3D de textura fina, en 3 terminales con diferentes recursos (por ejemplo, una estación de trabajo, un ordenador portátil, un teléfono móvil), es necesario crear tres representaciones de escena (o, al menos, diferentes subgráficos) para asegurar la misma funcionalidad en los tres terminales. Esta misma escena transmitida a dos estaciones de trabajo a través de una red de banda ancha y una red móvil de baja velocidad, debe estar nuevamente representada por dos gráficos de escena (o subgráficos) diferentes: aunque el terminal recibe la escena en su totalidad (es decir, con todos los gráficos/subgráficos posibles), solo se muestra la parte (gráfico o subgráfico) relativa a la configuración concreta.
Cabe destacar que esta solución, basada en la replicación/multiplicación de ciertos gráficos o subgráficos para cada configuración de terminal/red a priori posible, no es perfectamente satisfactoria cuando las propiedades de la red de transmisión son inestables y demasiado diferentes de las de la red original o cuando el número de estas diversas configuraciones es demasiado alto.
Un tercer enfoque posible sería crear un gráfico de escena personalizado, es decir, crear el gráfico de escena de acuerdo con las propiedades de la estación de destino y la red (véase la Figura 4). Ahora bien, cuando se desea transmitir la misma escena a varias estaciones de trabajo cuyas propiedades son diferentes y se planea distribuir los gráficos de escenas a través de diferentes redes, es necesario ordenar al creador de gráficos de escenas que cree tantos gráficos de escenas como combinaciones de estaciones/redes de destino. Además, si se desea adaptar el gráfico de escena a las propiedades del canal de transmisión, entonces se debe crear un nuevo gráfico de escena cada vez que cambian las propiedades de este canal de transmisión. De nuevo, esto equivale a aumentar la carga de trabajo del creador de gráficos de escena. Por otra parte, de acuerdo con este tercer enfoque, la latencia (tiempo de espera antes de suministrar el gráfico de escena) aumenta.
Por último, se presenta otro enfoque en el documento "Extending X3D for distributed multimedia processing and control" de Michael Repplinger et al, Web3D '09: Proceedings of the 14th International Conférence on 3D Web Technology, junio de 2009, páginas 61-69.
Los problemas analizados anteriormente también surgen cuando se utilizan tecnologías de representación de escenas distintas de BiFS, es decir LASeR, VRML, SVG y otras.
Objeto de la invención
La invención proporciona procedimientos y aparatos para producir y procesar una única representación de escena enriquecida, independientemente de sus parámetros individuales de uso, que evitan los inconvenientes mencionados anteriormente.
De manera más particular, la invención proporciona un procedimiento para producir una representación de escena multimedia enriquecida, como se desvela en la reivindicación 1.
Las estrategias especificadas en una representación de escena enriquecida según la invención son, durante la creación de la escena, independientes con respecto a las configuraciones concretas de uso, estas solo intervienen más tarde, por ejemplo, durante la codificación y la transmisión de la escena; además, tampoco estas estrategias conducen a la multiplicación de determinados subgráficos para poder ofrecer contenidos alternativos adicionales para cada configuración.
Se puede considerar que, según la invención, se crea un gráfico de escena genérico y que la función de adaptar este gráfico de escena genérico a una configuración actual (estación/red) se transfiere a un escenario posterior del creador del gráfico de escena.
La presente invención proporciona además un dispositivo para producir una representación de una escena multimedia que comprende una unidad de procesamiento de datos para dicha escena capaz de producir un gráfico de escena que representa dicha escena, como se desvela en la reivindicación 5.
Según la invención, un gráfico de escena se asocia con datos que identifican un subgráfico (que puede, en caso necesario, corresponder a todo el gráfico) capaces de sufrir al menos un procedimiento de codificación variable en
función de al menos un parámetro (como, por ejemplo, el ancho de banda de red efectivo o el dispositivo de visualización del usuario). Por lo tanto, una única representación de escena enriquecida se puede compartir de manera efectiva entre clientes con diferentes capacidades o bien a través de diferentes rutas de transmisión de recursos. Por ejemplo, en el caso de que se desee transmitir una escena multimedia a varios clientes cuyas capacidades en cuanto a material son diferentes, y que estén conectados a través de diferentes redes, la representación de la escena enriquecida identifica los elementos que podrían sufrir un procesamiento diferente (por ejemplo, para tener en cuenta las capacidades de los dispositivos receptores). No obstante, la invención se limita al segundo enfoque mencionado anteriormente por el hecho de que mantiene sustancialmente la misma estructura y complejidad para el gráfico de escena y no requiere la multiplicación de ciertos subgráficos para poder ofrecer la misma funcionalidad en configuraciones diferentes.
Ventajosamente, los datos de identificación que sirven para identificar dicho subgráfico y/o los datos que definen cada estrategia de codificación variable constituyen nodos respectivos del gráfico de escena. De esta manera, los datos de representación enriquecidos según la invención pueden procesarse incluso mediante dispositivos receptores convencionales.
Ventajosamente, la invención también se caracteriza por que el procedimiento de codificación variable susceptible de ser aplicado a dicho subgráfico consiste en un procesamiento dependiente de las propiedades de un canal de transmisión de datos y/o de un aparato de restitución de la escena multimedia y/o el perfil de su usuario.
Ventajosamente, la invención también se caracteriza por que la información necesaria para la implementación del procedimiento de codificación variable de dicho subgráfico está incrustada en el gráfico que representa la escena.
La invención proporciona además un procedimiento para procesar una representación de una escena multimedia representada por un gráfico de escena, como se desvela en la reivindicación 9.
La etapa de codificación no pretende ser una simple selección entre el conjunto finito de posibles elecciones preestablecidas durante la creación de la escena, sino que incluye una dimensión de cálculo, a través de la cual se solicita la representación general según la configuración concreta del trabajo.
La invención también se refiere a un dispositivo para procesar una representación de una escena multimedia representada por un gráfico de escena, como se desvela en la reivindicación 13.
El procedimiento y dispositivo de procesamiento mencionados anteriormente pueden implementar la representación de la escena multimedia de acuerdo con su representación de escena enriquecida.
Descripción de las figuras
Las ventajas y características indicadas anteriormente, así como otras, se evidenciarán más claramente al leer la descripción siguiente de ciertas realizaciones de la invención, dadas a modo de ejemplos ilustrativos pero de ninguna manera limitativos, e ilustrados con referencia a los dibujos adjuntos, en los que:
- la figura 1 representa un ejemplo de un sistema para crear y distribuir gráficos de escena usando un esquema de codificación estático;
- la figura 2 representa ejemplos de sistemas para crear y distribuir gráficos de escena según esquemas de codificación que tienen en cuenta todas las configuraciones posibles (estaciones/redes), en las que:
- la figura 2(a) representa un sistema según el cual cada estación cliente selecciona su propio gráfico de escena, y
- la figura 2(b) representa un sistema según el cual se selecciona el gráfico de escena apropiado para el cliente antes de la transmisión;
- la figura 3 representa un ejemplo de uso de un nodo Switch, según el segundo enfoque mencionado anteriormente, para permitir la adaptación de una escena a las capacidades de la estación que la recibe, en la que:
- la figura 3 (a) representa un sistema que usa el nodo Switch, y
- la figura 3(b) muestra un ejemplo del nodo Switch, este ejemplo se expresa en formato BT (un formato textual de BiFS);
- la figura 4 representa un ejemplo de un sistema para crear y distribuir gráficos de escena según un esquema de codificación según el tercer enfoque mencionado anteriormente;
- la figura 5 representa en forma de diagrama de flujo las principales etapas de un procedimiento conocido (por ejemplo, basado en el nodo "Switch") para producir datos de representación de escena adaptados a diversas restricciones impuestas por el entorno (por ejemplo, las propiedades del canal de transmisión);
- la figura 6 representa en forma de diagrama de flujo las etapas principales de un procedimiento de producción de una representación de una escena multimedia de acuerdo con una realización particular de la invención y las
etapas principales de un procedimiento de procesamiento de una representación de una escena multimedia de acuerdo con una realización particular de la invención;
- la figura 7 representa en forma de diagrama de flujo las principales etapas de los procedimientos de producción y procesamiento para la representación de escenas multimedia en una realización particular de la invención que constituye una extensión de la norma BiFS;
- la figura 8 es un gráfico utilizado para ilustrar un árbol de escenas compartido por dos dispositivos, antes y después de aplicar un procesamiento adaptativo al nodo 1 según la realización de la figura 7;
- la figura 9 representa un ejemplo de uso de la invención en el contexto de la realización de la figura 7, expresándose este ejemplo en formato BT y enfatiza el uso de nuevos tipos de nodos "AdaptivityControl" e "ImageCompressionStrategy";
- la figura 10 representa otro ejemplo del uso de la invención en el contexto de la realización de la figura 7, expresándose este ejemplo en formato SVG (véase la norma LASeR) y enfatiza el uso de un nuevo tipo de nodos "AdaptivityControl";
- la figura 11 representa una realización según la cual la condición de la comprobación de adaptabilidad cambia dinámicamente en función de un factor externo, tal como un administrador de red o el cliente; y
- la figura 12 representa esquemáticamente los componentes de un dispositivo para crear un gráfico de escena enriquecido de acuerdo con una realización de la invención.
Descripción detallada de la invención
Antes de describir determinadas realizaciones de la invención, conviene explicar las bases teóricas de la invención, en particular, explicando cómo las etapas de un procedimiento según la invención difieren de las etapas de un procedimiento conocido según el cual se producen datos de representación de escena para tener en cuenta un cierto número de restricciones.
En primer lugar, se explicarán las etapas de un procedimiento conocido en relación con el diagrama de flujo de la figura 5.
Etapa S11: se aplican técnicas conocidas para procesar una escena multimedia con el fin de producir un gráfico de escena (GS), que comprende un conjunto de nodos (S) y relaciones (E) que asocian los nodos entre sí, estas relaciones involucran ciertos parámetros (n).
Etapa S12: cuando se busca poder adaptar el procesamiento en función de las capacidades de un dispositivo que recibe los datos (o bien, más generalmente, en función de cualquier restricción del entorno o incluso de otros componentes de la escena), es conveniente considerar un espacio definido por el conjunto de todas las posibles restricciones que se aplicarán al gráfico de escena. Según con el primer y segundo enfoques mencionados anteriormente, el espacio de estas restricciones debe conocerse a priori. Aunque las restricciones procedentes del entorno se definen en forma de funciones dependientes del tiempo £(t), se encuentran desde la creación de la escena a través de sus ejemplificaciones concretas. En la aplicación real, estas restricciones pueden estar vinculadas a diferentes factores, como, por ejemplo, el ancho de banda de la red para asegurar la compresión adaptativa o el perfil del usuario al implementar un acompañante multimedia para personas discapacitadas.
Etapa S13: Para poder aplicar las restricciones al gráfico, los parámetros de la escena se fijan en el lado del dispositivo de producción de la escena de acuerdo con algunas estrategias. Continuando con los ejemplos anteriores, estas estrategias pueden hacer referencia a la selección de un determinado algoritmo de compresión (como png o jpg) o eliminar el componente de audio para personas con discapacidad auditiva. También se puede considerar en el presente documento el cifrado por claves únicas para cada usuario, el control parental, etc. Es conveniente considerar todos los valores posibles de las funciones Y(^(t)).
Etapa S14: Para estar preparado para cualquier configuración que pueda ocurrir, es conveniente crear tantas: escenas gráficas (o subgráficos) ((S1,E1), (S2,E2),...) como configuraciones posibles en el espacio de restricciones. La noción de espacio de restricciones cubre, según la aplicación, diferentes realidades. Por ejemplo, en una aplicación de compresión, este espacio está formado por todas las combinaciones posibles entre los anchos de banda de las redes a través de las cuales se puede transmitir el contenido, los terminales a los que se puede reproducir el contenido y los tipos de contenido a los que pueden acceder varios usuarios.
Etapa S15: Según las restricciones que se apliquen en la práctica (por ejemplo, el valor del ancho de banda del canal de transmisión utilizado para transmitir los datos de representación de la escena, una vez codificados, o las propiedades del dispositivo de restitución), se elige el gráfico de escena que mejor se corresponde con estas restricciones, esta elección se realiza a nivel de la estación del cliente (Fig. 2(a)) o antes de la transmisión de datos (Fig.2(b)). Esto corresponde a la medida del valor actual de £(t¡) y a la selección del par (Si, Ei) correspondiente.
Etapa S16: la escena es restaurada por el dispositivo de restitución del gráfico de escena adaptado recibido (Si, Ei).
A continuación, las etapas de los procedimientos de producción y procesamiento según la invención se explicarán en un ejemplo en relación con el diagrama de flujo de la figura 6.
Etapa S21: se aplican técnicas conocidas para procesar una escena multimedia con el fin de producir un gráfico de escena inicial (GSI), como en la etapa S11.
Etapa S22: se identifican los elementos de la escena que podrían ser sometidos a un procesamiento variable (por ejemplo por razones de adaptación a restricciones) y aquellos que deberían someterse a un procesamiento fijo. Por ejemplo, cuando se desee procesar una página www de tipo YouTube, a menudo se desea, sin tener en cuenta las propiedades del canal de transmisión y/o del dispositivo de destino de la escena, utilizar un solo tipo de codificación en relación con el texto que forma parte de una escena multimedia, mientras que un procesamiento variable en relación con las imágenes/vídeo en la escena permitirá obtener imágenes/vídeo de la mejor resolución posible en el momento de la reconstrucción. Todavía a modo de ejemplo, si ahora se considera reconstruir en un terminal ligero (teléfono móvil), las herramientas que permiten la navegación háptica se pueden desactivar mientras que su uso en un terminal inteligente aumenta significativamente la comodidad del usuario. Se selecciona el elemento (o bien los elementos) que se desea poder someter a un procesamiento variable. Esto corresponde a la selección de un subgráfico del gráfico de escena.
El subgráfico de escena se define en forma de una función 9 : S ° S que identifica un subconjunto de S, la restricción de E a este subconjunto, así como el subconjunto de parámetros n|(E|<p(S)) <p(s) del conjunto inicial n. Por tanto, es una representación unitaria y general, independiente de las diversas configuraciones concretas que puedan encontrarse al procesar la escena.
Cabe recordar que un subgráfico puede corresponder a todo el gráfico de escena inicial.
Etapa S23: Se considera el espacio de todas las restricciones posibles. Las restricciones se definen en forma de funciones ^(t) de tiempo. Según la invención, esta etapa no requiere, durante la creación de la escena, conocimiento de las condiciones concretas de procesamiento.
Etapas S24 y S25: Para aplicar las restricciones al subgráfico, ciertas funciones se utilizan para modificar los parámetros de la escena, estas funciones describen matemáticamente las estrategias de modificación. La realización de esta etapa de cálculo puede ser implementada por el equipo de producción de la escena, por el equipo transmisor de la escena, por el equipo receptor de la escena o por un equipo de red (más generalmente, en algún lugar entre la producción de la representación de la escena enriquecida y la interpretación de la misma), según la aplicación prevista. Se calculan las funciones 9 [^(t)], así como el correspondiente gráfico de escena adaptado.
Etapa S26: La escena multimedia se restaura a nivel del equipo receptor a partir del gráfico de escena adaptado.
A continuación se describe, en relación con las figuras 7, 8, 9 y 11, una realización de la invención según la cual se realiza una ampliación de BiFS con el fin de definir dos nuevos tipos de nodos que servirán para enriquecer la representación de la escena. Un nuevo tipo de nodo, que se designará "AdaptivityControl" (es decir "control de adaptabilidad"), permite identificar el subgráfico susceptible de ser sometido a un procesamiento variable (adaptación, dinámica). El segundo nuevo tipo de nodo, designado en el presente documento "StrategyNode" (es decir, "nodo de estrategia"), define los detalles del procesamiento (variable) a realizar. Cabe señalar que la adaptación de esta realización a protocolos/formatos/lenguajes distintos de BiFS entra dentro de la competencia de los expertos en la técnica, como muestra, por ejemplo, la adaptación al formato LASeR ilustrado en la figura 10.
Según la presente realización, un nodo del tipo "AdaptivityControl" es en sí mismo el padre del subgráfico elegido y contiene una lista ordenada de nodos que dan las estrategias del procesamiento de la variable.
La lista de estrategias se puede actualizar mediante modificación, adición o supresión, de forma dinámica utilizando actualizaciones de escenas clásicas. Cada estrategia tiene su propio nodo, cuyo tipo determina la lógica de la estrategia. Los campos de cada uno de estos nodos dan los parámetros del procesamiento de la variable.
Cuando un codificador procesa un nodo "AdaptivityControl", sus estrategias se aplican al subgráfico en cuestión de manera recurrente. Un descodificador de un terminal ligero puede tener en cuenta la existencia de un nodo "AdaptivityControl" para procesar el contenido de la escena de forma adaptativa.
Como ejemplo de una posible estrategia, se puede citar el procesamiento adaptativo que sirve para comprimir una imagen. El nodo correspondiente se denominará "ImageCompressionStrategy"; se utiliza para proporcionar una lista de tipos de compresión preferidos en relación con los parámetros de compresión específicos de cada uno de estos tipos. Se puede definir entre los tipos de compresión un tipo "auto" que se utiliza para codificar una imagen de forma adaptativa realizando una compresión adaptada para cada uno de los clientes. Se puede ampliar el grupo de tipos permitidos.
Es posible definir otras estrategias, por ejemplo, estrategias asociadas con tipos específicos de contenido (vídeo, 3D, sonido) o estrategias asociadas con procesamientos complejos. Además de los ejemplos ya mencionados (cifrado, control parental, control háptico y navegación, compañero multimedia para personas con discapacidad), también se
pueden mencionar en el presente documento las modificaciones inducidas en la escena de acuerdo con las diversas condiciones ambientales del terminal, como el brillo del medio, la temperatura o su orientación.
El uso de estos nuevos tipos de nodos para enriquecer una escena añade a la fase de procesamiento un grado de flexibilidad hasta ahora desconocido.
Debido a esta flexibilidad, se obtienen en términos de transmisión, de compartir y de reutilizar el contenido multimedia ventajas sobre las técnicas actuales, tales como:
- codificación adaptativa de un único árbol de escenas para diferentes clientes, según las capacidades (hardware/software) del cliente y/o según el perfil del cliente y/o según las propiedades del enlace utilizado para la transmisión de datos al cliente;
- una sola descompresión de datos (por ejemplo, imágenes) comprimidos es suficiente cuando se reutilizan en el lado del receptor;
- la gestión de escenas se simplifica ya que se evita la multiplicación de los nodos cuando se necesitan múltiples codificaciones;
- solo hay un punto de control para realizar la actualización de una escena compleja;
- los parámetros de procesamiento se pueden actualizar de forma dinámica; y
- esta mayor flexibilidad se obtiene sin aumentar la complejidad por parte del cliente.
El diagrama de flujo de la figura 7 comprende las siguientes etapas que muestran cómo se puede explotar la invención en relación con una escena;
S10: creación de un nuevo nodo "AdaptivityControl" y se coloca en el gráfico de escena;
S20: creación de al menos un nodo de estrategia, según el comportamiento que se desee obtener durante el procesamiento, especificándose este nodo como estrategia relativa al nodo "AdaptivityControl";
S30: creación del subgráfico que debe ser procesado según las estrategias y ubicación de este como hijo del nodo "AdaptivityControl";
S40: el subgráfico se procesa según una codificación adaptativa conforme a las estrategias que forman parte de la lista de estrategias. El procesamiento adaptativo puede codificar un solo nodo de manera adecuada en función de las capacidades del cliente, el estado actual de la red y/o en función de cualquier otra restricción de interés para la aplicación (tipo de suscripción, estado de consumo de batería, perfil del usuario, etc.);
S50: el contenido se somete a un procedimiento de descodificación complementario a la codificación aplicada y se produce el subgráfico correspondiente;
S60: se reconstruye el subgráfico y se realiza la visualización correspondiente en relación con la posible reproducción del audio apropiado.
En relación con la figura 8, se presenta un ejemplo de un procesamiento adaptativo de una escena según una estrategia. En este ejemplo, dos nodos se procesan de forma diferente. El procesamiento del Nodo1 (que corresponde, por ejemplo, a una imagen de alta resolución) depende de la estrategia definida en relación con el nodo "AdaptivityControl": en este ejemplo el Cliente 1 y el Cliente 2 recibirán datos codificados de manera diferente según sus capacidades. El procesamiento del Nodo2 (por ejemplo, un nodo que incluye texto) no se ve afectado por la estrategia y se somete a un procesamiento convencional.
Los nodos se describirán con más detalle a continuación. Las siguientes descripciones se ajustan a la especificación de la norma BiFS. La obtención de las descripciones correspondientes según otras tecnologías es inmediata para un experto en la materia.
AdaptivityControl
Este nodo se muestra en el anexo 1; corresponde a un ejemplo de una forma de especificar e identificar las partes de una escena (nodo, subgráfico, gráfico) que se pretende someter a procesamiento adaptativo así como una forma de señalizar las estrategias que se aplicarán para lograr el procesamiento de estas partes. La primera de estas funciones la proporciona el campo Node ("nodo") de tipo SFNode, mientras que la segunda la proporciona el campo Estrategias ("estrategias") de tipo MFNode.
El campo Node ("nodo") incluye el nodo superior del subgráfico que se procesará de forma adaptativa. El campo Estrategias "estrategias" contiene una lista de todos los nodos de estrategia que deben aplicarse al subgráfico. Los campos addStrategy ("añadir estrategia") y removeStrategy ("eliminar estrategia"), de tipo MFNode, se utilizan para añadir y eliminar nodos de la lista de políticas mediante procedimientos conocidos que se utilizan al agrupar nodos tal como Group u OrderedGroup.
ImageCompressionStrategy
Este tipo de nodo se representa en el anexo 2; describe los parámetros de un ejemplo específico de una estrategia utilizada para realizar procesamiento adaptativo (es decir, transmisión de imágenes comprimidas), y está destinado a
insertarse en una lista de estrategias de un nodo "AdaptivityControl" (u otro nodo similar).
Esta estrategia en particular modifica la forma en que se codifican las imágenes especificando una lista de posibles tipos de compresión así como sus parámetros asociados.
El campo "compressType" es una lista de cadenas de datos. Cada elemento es una posible estrategia de compresión que se podría utilizar para codificar el contenido (en términos de imagen) de una parte de la escena. El contenido predeterminado de esta lista es "auto": de esta manera, el codificador puede elegir un tipo de compresión apropiado de acuerdo con las restricciones medidas en un momento determinado.
En relación con cada tipo de compresión, se define un elemento de la lista "compressParams"; contiene la lista de posibles parámetros que se utilizarán en relación con este tipo particular de compresión. El tipo "auto" no necesita ningún parámetro.
Ejemplo de uso
Desde un punto de vista multimedia, la figura 9 representa una forma de integrar en BiFS los dos tipos de nodos para realizar una codificación adaptativa del contenido del tipo de imagen en un nodo PixelTexture particular.
Después de crear un nodo "AdaptivityControl", sigue una jerarquía clásica de nodos necesarios para colocar una imagen en el escenario (nodos "Shape", "Appearance", "Material2D", "PixelTexture"). Se crea un nuevo nodo "ImagecompressionStrategy" en la lista de estrategias del nodo "AdaptivityControl". El nodo "PixelTexture", como parte del subgráfico controlado por el nodo "AdaptivityControl", se ve afectado por la estrategia aplicada como procesamiento de compresión de datos de imagen.
Desde un punto de vista práctico, tres mecanismos logran una codificación dinámica adaptativa. En primer lugar, el mismo contenido de la escena debe ser visto por dos clientes diferentes que tienen diferentes recursos informáticos/de pantalla, procesándose el nodo de forma diferente/adaptativa en relación con cada usuario. En segundo lugar, los recursos informáticos/de pantalla del mismo usuario pueden variar con el tiempo (por ejemplo, se inicia una segunda aplicación en este cliente, reduciendo así los recursos disponibles del procesador). Por último, es probable que se produzcan cambios en las condiciones de la red a medida que el usuario vea el contenido. Estos tres mecanismos se convertirán en un conjunto de parámetros que controlan la adaptación.
Como puede verse en la figura 9, en comparación con la solución ilustrada en la figura 3(b), la invención permite hacer coincidir una escena con los distintos terminales/redes sin ningún cambio significativo en la estructura o la complejidad del gráfico de escena. Según este ejemplo se ve, en particular, que no es necesario enviar a cada cliente todas las diferentes versiones posibles de la imagen.
Aunque este ejemplo utiliza el tipo de nodo "PixelTexture" ya existente, la invención puede hacer referencia a cualquier otro nodo BiFS. Por otra parte, como se ha indicado anteriormente, la invención no ve su aplicación limitada a la norma BiFS, se puede aplicar en relación con otras normas, así como con enfoques no normalizados.
Todavía a título ilustrativo, la figura 10 muestra cómo parte de una imagen se puede comprimir dinámicamente de forma adaptativa en LASeR. Dentro del grupo identificado por el ID "ejemplo", se define el nodo "AdaptivityControl". Este nodo contiene una estrategia de "ImageCompression" dedicada a la codificación de imágenes. Son posibles tres tipos de codificación: "auto", "png", "jpg". Estos algoritmos de codificación se pueden aplicar con diferentes parámetros descritos por "png-level" o "jpeg-quality". La imagen objeto de este procesamiento es referenciada por el nodo de imagen ya existente en LASeR que especifica el id de la imagen (el campo xlink: href) así como las coordenadas en la escena (los campos "x", "y", "width" y "high") donde se debe reconstruir la imagen.
La reconstrucción del lado del cliente que permite ver (o interactuar con) las representaciones producidas según las realizaciones de la presente invención puede ser de varios tipos: por ejemplo, un complemento en un navegador, un software específico para procesar representaciones, un módulo que forma parte del sistema operativo, una adaptación especial a nivel de hardware ("hardware"). La invención no está limitada con respecto a la naturaleza de los medios de reconstrucción.
La figura 11 muestra esquemáticamente una realización de un sistema según la invención en el que un servidor proporciona a sus clientes, por medio de una red, datos que representan una escena. Según esta realización, en el lado del servidor, un generador de escenas 10 genera una representación de escena enriquecida de acuerdo con la invención y una unidad de control adaptativo 12 realiza el procesamiento variable que se requiere en función de la información recibida desde el dispositivo de reconstrucción 16 en el lado del cliente así como de un administrador 14 de la red. Por supuesto, como se ha indicado anteriormente, la invención no se limita al caso en el que la adaptación se realiza a nivel del servidor.
La figura 12 muestra esquemáticamente una realización del generador de escenas 10 de la figura 11.
Un módulo generador de gráficos de escenas 20 procesa los datos procedentes de una aplicación para definir un gráfico de escena inicial. Se utilizan varios procedimientos convencionales en la técnica para definir un gráfico de escena para representar datos procedentes de una aplicación y la invención no está particularmente limitada con respecto a los procedimientos que puede emplear el generador de gráficos de escenas 20. No obstante, a diferencia de los dispositivos generadores de gráficos de escena conocidos, el módulo 20 está configurado para detectar las partes del gráfico de escena que podrían, eventualmente, ser sometidas a diferentes procesamientos durante la codificación (por ejemplo, en función del perfil de un cliente).
Esta función de detección se basa en criterios que a menudo se definen de antemano y que dependen de, por ejemplo, las opciones del diseñador. Por ejemplo, cuando se desee permitir la codificación de datos de vídeo en un número variable de bits según el perfil de un cliente, entonces el módulo generador de gráficos de escenas 20 aplica una regla que sirve para detectar las partes del gráfico (por ejemplo, nodos) que corresponden a flujos de datos de vídeo. Otro ejemplo, relativo a la realización de una función de cifrado según la cual ciertos datos que forman parte de la escena se cifran según diferentes claves, implica la aplicación por parte del módulo generador de gráficos de escenas 20 de una regla que se utiliza para definir qué datos están relacionados con este cifrado variable.
Hay varias formas de informar al módulo generador de gráficos de escenas 20 de los criterios que es conveniente aplicar al implementar la función de detección mencionada anteriormente: por ejemplo, los datos que definen los criterios apropiados pueden almacenarse dentro de este módulo 20 o almacenarse en una memoria 60 que es externa a él (de ahí la flecha de puntos en la figura 12), o bien es posible proporcionar una configuración dinámica según la cual, cuando al crear el gráfico de escena inicial, el módulo generador de gráficos de escenas 20 obtiene los criterios necesarios para esta etapa de detección (por ejemplo, de la parte de un controlador humano o informático).
Por supuesto, un único gráfico de escena puede comprender varios elementos que pueden ser sometidos a procesamientos variables y que son identificados por el módulo generador de gráficos de escenas 20 aplicando diferentes criterios.
El módulo generador de gráficos de escenas 20 produce información h que sirve para identificar las partes del gráfico de escena inicial que pueden sufrir un procesamiento variable. Esta información h no solo indica los elementos del gráfico de escena inicial que pueden sufrir un procesamiento variable, sino que también identifica el procesamiento respectivo en cuestión (por ejemplo, utilizando identificadores predefinidos). El formato de la información h no está particularmente limitado: se puede proporcionar un único bloque de datos que incluya toda la información necesaria en relación con el gráfico de escena inicial, un bloque de datos respectivo para cada elemento de la escena que puede sufrir un procesamiento variable, o cualquier otro formato adecuado.
El módulo generador de gráficos de escenas 20 asocia la información h con el gráfico de escena inicial y se emiten los datos resultantes. En la salida del generador de gráficos de escenas 20, los elementos del gráfico de escena inicial que son candidatos a transformación son detectados por un módulo 30 a partir de la información h, para la introducción en un bloque 40 que efectúa la asociación con las estrategias que están predefinidas en relación con el procesamiento variable en cuestión (o también con los procesamientos variables en cuestión).
Hay varias formas de proporcionar al bloque 40 los detalles de las estrategias que se relacionan con los diversos procesamientos variables planificados: por ejemplo, estos detalles pueden almacenarse en la memoria 60 durante una fase preliminar de configuración del aparato 10 o bien es posible proporcionar una configuración dinámica según la cual el bloque 40 obtiene los detalles de las estrategias (por ejemplo, desde un controlador humano o informático) al asociar las estrategias con los elementos del gráfico de escena.
En función de estas estrategias, los nodos correspondientes del tipo "AdaptivityControl" son presentados por un bloque 50. De hecho, el bloque 50 realiza cálculos para implementar las decisiones tomadas por el bloque 40. La información necesaria para el funcionamiento de este bloque 50 se obtiene de la misma forma que la necesaria para el bloque 40. El gráfico enriquecido final se obtiene a la salida de un dispositivo de enriquecimiento de gráficos 75 que combina las instancias de "AdaptivityControl" y las estrategias seleccionadas con los elementos del gráfico de escena inicial que no se someterán al procesamiento variable. Esta integración se puede hacer reemplazando en el gráfico de escena inicial GSI (producido por el módulo 20) los elementos capaces de procesamiento variable por sus versiones adaptadas producidas a la salida del bloque 50. Este enfoque proporciona compatibilidad inversa con dispositivos de codificación y las estaciones del cliente conocidos.
La memoria 60 para controlar las operaciones de los bloques 30 a 50 (y, eventualmente, del bloque 20) recibe su información de los dispositivos de configuración (ya sean manuales o automatizados).
La configuración del generador de escenas 10 según el ejemplo descrito anteriormente corresponde a una de las diferentes formas posibles de distribuir las funciones destinadas a producir un gráfico de escena enriquecido según la invención. Los expertos en la técnica sabrán que las funciones indicadas pueden llevarse a cabo utilizando módulos de número y/o naturaleza diferente naturaleza a los de la figura 12. Por ejemplo, la función de detección de las partes de la escena que corresponden a elementos que pueden sufrir un procesamiento variable, producida por el módulo 20 de la figura 12, se puede lograr con el módulo 30. En este caso, este módulo debe disponer de información adicional,
proporcionada por la memoria 60 (véase la flecha de puntos).
Aunque anteriormente se han descrito realizaciones particulares de la presente invención, los expertos en la materia comprenderán que se pueden realizar diversas modificaciones y disposiciones sin apartarse del alcance de la presente invención definida por las reivindicaciones.
ANEXO 1
AdaptivityControl {
EventIn MFNode addStrategy
EventIn MFNode removeStrategy
ExposedField MFNode Strategies []
Field SFNode Node
}
ANEXO 2
ImageCompressionStrategy {
Field MFString compressionType["auto"
Field MFString compressionParams[""] }
Claims (16)
1. Procedimiento de producción de una representación de una escena multimedia, comprendiendo este procedimiento una etapa de procesamiento de datos de dicha escena que hace posible producir un gráfico de escena que representa dicha escena, comprendiendo dicho gráfico de escena (GS) un conjunto de nodos (S) y relaciones (E) que asocian los nodos (S) entre sí, implicando estas relaciones (E) los parámetros (n), comprendiendo este procedimiento:
- una etapa de identificar (S22) al menos un subgráfico de dicho gráfico de escena, estando dicho subgráfico destinado a ser sometido a un procedimiento de codificación posterior que puede variar en función de la configuración de uso del gráfico de escena, estando la configuración de uso del gráfico de escena definido por un conjunto de restricciones (£(t)) que comprende al menos un parámetro de uso seleccionado de entre el grupo que consiste en: al menos un parámetro que indica la capacidad de una estación destinada a restituir la escena, al menos un parámetro que indica una propiedad de una red de transmisión destinada a transmitir el gráfico de escena a dicha estación y al menos un parámetro de un perfil del usuario de dicha estación,
- una etapa (S10) durante el cual se añaden, a dicho gráfico de escena, datos de identificación de dicho subgráfico unitario que sean capaces de indicar que dicho subgráfico unitario es susceptible de adaptación posterior y - una etapa (S20) durante la cual se añade a dicho gráfico, datos de estrategia que definen al menos una estrategia de codificación variable del subgráfico identificado por los datos de identificación, definiendo dicha al menos una estrategia cómo variará dicho procedimiento de codificación variable posterior en función de la configuración concreta de uso,
caracterizado porque:
la etapa de identificación (S22/S30) identifica un subgráfico definido en forma de una función cpS'i— >S que identifica un subconjunto de S, la restricción de E a este subconjunto, así como un subconjunto de parámetros n|(E|<p(S)),<p(S) del conjunto inicial n y que, por lo tanto, es una representación unitaria y general, independiente de las diversas configuraciones concretas que puedan encontrarse al procesar la escena.
2. Procedimiento para producir una representación de escena según la reivindicación 1, caracterizado por que los datos de identificación del subgráfico constituyen un nodo del gráfico de escena o incluso un subgráfico.
3. Procedimiento para producir una representación de escena según las reivindicaciones 1 o 2, caracterizado por que dichos datos de estrategia constituyen un nodo del gráfico de escena.
4. Procedimiento para producir una representación de escena según una cualquiera de las reivindicaciones 1 a 3, caracterizado por que el código necesario para la implementación del procedimiento de codificación variable de dicho subgráfico está incrustado en dicho gráfico.
5. Dispositivo (10) para producir una representación de una escena multimedia que comprende una unidad de procesamiento de datos para dicha escena capaz de producir un gráfico de escena que representa dicha escena, comprendiendo dicho gráfico de escena (GS) un conjunto de nodos (S) y relaciones (E) que asocian los nodos (S) entre sí, implicando estas relaciones (E) los parámetros (n), incluyendo este dispositivo:
- un medio de identificación (30) apto para identificar al menos un subgráfico de dicho gráfico de escena, estando dicho subgráfico destinado a ser sometido a un procedimiento de codificación posterior que puede variar en función de la configuración de uso del gráfico de escena, definiendo la configuración de uso del gráfico de escena un conjunto de restricciones (£(t)) que comprende al menos un parámetro de uso seleccionado del grupo que consiste en: al menos un parámetro que indica la capacidad de una estación de destino para restituir la escena, al menos un parámetro que indica una propiedad de una red de transmisión destinada a transmitir el gráfico de escena a dicha estación y al menos un parámetro de un perfil del usuario de dicha estación,
- un medio de agrupación (50) apto para añadir a dicho gráfico, datos de identificación aptos para indicar que dicho subgráfico es susceptible de adaptación posterior y
- un segundo medio de agrupación (40) apto para añadir a dicho gráfico, datos de estrategia que definen al menos una estrategia de codificación variable de dicho subgráfico identificado por los datos de identificación, definiendo dicha al menos una estrategia cómo variará dicho procedimiento de codificación variable posterior en función de la configuración de uso concreta,
caracterizado por que el medio de identificación (30) está configurado para identificar un subgráfico definido como una función qiS^-S que identifica un subconjunto de S, la restricción de E a este subconjunto, así como un subconjunto de parámetros n|(E|<p(S)),<p(S) del conjunto inicial n y que, por lo tanto, es una representación unitaria y general que no comprende múltiples subgráficos correspondientes a las diversas configuraciones de uso que se pueden encontrar durante el procesamiento de la escena.
6. Dispositivo (10) para producir una representación de escena según la reivindicación 5, caracterizado por que dicho medio de agrupación (50) es apto para introducir en dicho gráfico un nodo que sirve para identificar dicho subgráfico.
7. Dispositivo (10) para producir una representación de la escena según la reivindicación 5 o 6, caracterizado por
que dicho segundo medio de agrupación (40) es apto para introducir en dicho gráfico un nodo representativo de dichos datos de al menos una estrategia.
8. Dispositivo (10) para producir una representación de la escena según una cualquiera de las reivindicaciones 5 a 7, caracterizado por que comprende un medio para incrustar, en dicha representación de la escena, un código que permite la implementación de dicho procedimiento de codificación variable.
9. Procedimiento para procesar una representación de una escena multimedia representada por un gráfico de escena, comprendiendo dicho gráfico de escena (GS) un conjunto de nodos (S) y relaciones (E) que asocian los nodos (S) entre sí, implicando estas relaciones (E) los parámetros (n), comprendiendo este procedimiento:
- una etapa de identificación de un subgráfico de dicho gráfico a partir de datos de identificación extraídos de dicha representación de escena, estando dicho subgráfico destinado a ser sometido a un procedimiento de codificación que puede variar en función de la configuración de uso del gráfico de escena, estando la configuración de uso del gráfico de escena definido por un conjunto de restricciones (£(t)) que comprende al menos un parámetro de uso seleccionado de entre el grupo que consiste en: al menos un parámetro que indica la capacidad de una estación destinada a restituir la escena, al menos un parámetro que indica una propiedad de una red de transmisión destinada a transmitir el gráfico de escena a dicha estación y al menos un parámetro de un perfil del usuario de dicha estación,
- una etapa de determinación de la configuración concreta de uso; y
- una etapa de codificación (S40) de dicho subgráfico aplicando al menos un procedimiento de codificación teniendo en cuenta la configuración concreta de uso,
caracterizado porque:
la etapa de identificación identifica un subgráfico definido en forma de función cp.S''— >S que identifica un subconjunto de S, la restricción de E a este subconjunto, así como un subconjunto de parámetros n|(E|<p(S)),<p(S) del conjunto inicial n y que, por lo tanto, es una representación unitaria y general que no comprende múltiples subgráficos correspondientes a las diversas configuraciones de uso que se pueden encontrar durante el procesamiento de la escena.
10. Procedimiento para procesar una representación de escena según la reivindicación 9, caracterizado por que la etapa que consiste en determinar la configuración concreta de uso consiste en establecer las propiedades de un canal de transmisión de dicho gráfico y/o las propiedades de un aparato destinado a restituir dicha escena multimedia y/o del perfil de su usuario.
11. Procedimiento para procesar una representación de escena según las reivindicaciones 9 o 10, caracterizado por que la etapa de codificación (S40) de dicho subgráfico comprende una etapa durante la cual se extrae de dicho gráfico, la información necesaria para la implementación de dicho procedimiento de codificación.
12. Procedimiento para procesar una representación de escena según una cualquiera de las reivindicaciones 9 a 11, caracterizado por que comprende una etapa de restitución (S60) de dicha escena multimedia a partir de dicho gráfico.
13. Dispositivo para procesar una representación de una escena multimedia representada por un gráfico de escena, comprendiendo dicho gráfico de escena (GS) un conjunto de nodos (S) y relaciones (E) que asocian los nodos (S) entre sí, implicando estas relaciones (E) los parámetros (n), comprendiendo este dispositivo de procesamiento:
- medios para identificar un subgráfico de dicho gráfico a partir de datos de identificación extraídos de dicha representación de escena, estando dicho subgráfico destinado a ser sometido a un procedimiento de codificación que puede variar en función de la configuración de uso del gráfico de escena, definiendo la configuración de uso del gráfico de escena un conjunto de restricciones (£(t)) que comprende al menos un parámetro de uso seleccionado del grupo que consiste en: al menos un parámetro que indica la capacidad de una estación de destino para restituir la escena, al menos un parámetro que indica una propiedad de una red de transmisión destinada a transmitir el gráfico de escena a dicha estación y al menos un parámetro de un perfil del usuario de dicha estación, - medios para determinar la configuración concreta de uso; y
- medios para codificar dicho subgráfico aplicando al menos un procedimiento de codificación teniendo en cuenta la configuración concreta de uso,
caracterizado porque los medios de identificación están configurados para identificar un subgráfico definido en forma de función cp\ S'i— >S que identifica un subconjunto de S, la restricción de E a este subconjunto, así como un subconjunto de parámetros n|(E|<p(S)),<p(S) del conjunto inicial n y que, por lo tanto, es una representación unitaria y general que no comprende múltiples subgráficos correspondientes a las diversas configuraciones de uso que se pueden encontrar durante el procesamiento de la escena.
14. Dispositivo para procesar una representación de escena según la reivindicación 13, caracterizado por que dichos medios para determinar el valor de dicho parámetro son aptos para establecer las propiedades de un canal de transmisión de dicho gráfico y/o las propiedades de un aparato para restituir dicha escena multimedia.
15. Dispositivo para procesar una representación de escena según las reivindicaciones 13 o 14, caracterizado por que dichos medios para codificar dicho subgráfico utilizan un código extraído de dicho gráfico.
16. Dispositivo para procesar una representación de escena, según una cualquiera de las reivindicaciones 13 a 15, caracterizado por que comprende un motor de reconstrucción apto para restituir dicha escena multimedia.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1153387A FR2974474B1 (fr) | 2011-04-19 | 2011-04-19 | Procedes et appareils de production et de traitement de representations de scenes multimedias |
| PCT/FR2012/050849 WO2012172212A1 (fr) | 2011-04-19 | 2012-04-18 | Procedes et appareils de production et de traitement de representations de scenes multimedias |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2883237T3 true ES2883237T3 (es) | 2021-12-07 |
Family
ID=44246449
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES12722434T Active ES2883237T3 (es) | 2011-04-19 | 2012-04-18 | Métodos y aparatos para producir y procesar representaciones de escenas multimedia |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US10262438B2 (es) |
| EP (1) | EP2700226B1 (es) |
| KR (1) | KR20140102598A (es) |
| ES (1) | ES2883237T3 (es) |
| FR (1) | FR2974474B1 (es) |
| WO (1) | WO2012172212A1 (es) |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10462499B2 (en) * | 2012-10-31 | 2019-10-29 | Outward, Inc. | Rendering a modeled scene |
| EP2915038A4 (en) | 2012-10-31 | 2016-06-29 | Outward Inc | DELIVERY OF VIRTUALIZED CONTENT |
| EP3995952A1 (en) * | 2013-04-19 | 2022-05-11 | Huawei Technologies Co., Ltd. | Method for displaying a 3d scene graph on a screen |
| US10977858B2 (en) | 2017-03-30 | 2021-04-13 | Magic Leap, Inc. | Centralized rendering |
| US11017592B2 (en) | 2017-03-30 | 2021-05-25 | Magic Leap, Inc. | Centralized rendering |
| US10565802B2 (en) * | 2017-08-31 | 2020-02-18 | Disney Enterprises, Inc. | Collaborative multi-modal mixed-reality system and methods leveraging reconfigurable tangible user interfaces for the production of immersive, cinematic, and interactive content |
| WO2020023419A1 (en) | 2018-07-24 | 2020-01-30 | Magic Leap, Inc. | Application sharing |
| JP7544048B2 (ja) * | 2019-06-25 | 2024-09-03 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、再生処理装置及び再生処理方法 |
| US11335070B2 (en) | 2020-02-10 | 2022-05-17 | Magic Leap, Inc. | Dynamic colocation of virtual content |
| WO2021163624A1 (en) | 2020-02-14 | 2021-08-19 | Magic Leap, Inc. | Tool bridge |
| CN115398316B (zh) | 2020-02-14 | 2025-08-26 | 奇跃公司 | 3d对象注释 |
| CN115698818B (zh) | 2020-02-14 | 2024-01-23 | 奇跃公司 | 会话管理器 |
| CN115623147B (zh) * | 2021-07-14 | 2025-06-27 | 腾讯科技(深圳)有限公司 | 视频制作模板的生成方法及相关装置 |
| US20230342118A1 (en) * | 2022-04-26 | 2023-10-26 | Mediatek Inc. | Multi-level graph programming interfaces for controlling image processing flow on ai processing unit |
| US12561580B2 (en) * | 2022-10-10 | 2026-02-24 | Adobe Inc. | Generating enriched scenes using scene graphs |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6734852B2 (en) * | 1999-09-24 | 2004-05-11 | Sun Microsystems, Inc. | Using rendering molecules to manage scene-based rendering |
| US6738967B1 (en) * | 2000-03-14 | 2004-05-18 | Microsoft Corporation | Compiling for multiple virtual machines targeting different processor architectures |
| KR100612829B1 (ko) * | 2001-07-07 | 2006-08-18 | 삼성전자주식회사 | 그래픽 애니메이션 데이터의 키 부호화 장치와 그 방법 |
| US6919891B2 (en) * | 2001-10-18 | 2005-07-19 | Microsoft Corporation | Generic parameterization for a scene graph |
| US7093001B2 (en) * | 2001-11-26 | 2006-08-15 | Microsoft Corporation | Methods and systems for adaptive delivery of multimedia contents |
| US7707317B2 (en) * | 2002-07-01 | 2010-04-27 | Prolifiq Software Inc. | Adaptive electronic messaging |
| GB2400287A (en) * | 2003-04-02 | 2004-10-06 | Autodesk Canada Inc | Three-Dimensional Image Compositing |
| US7299300B2 (en) * | 2004-02-10 | 2007-11-20 | Oracle International Corporation | System and method for dynamically selecting a level of compression for data to be transmitted |
| FR2902908B1 (fr) * | 2006-06-21 | 2012-12-07 | Streamezzo | Procede de creation et de restitution optimise du rendu d'une scene multimedia comprenant au moins un objet actif, sans modification prealable de la semantique et/ou du format de description de scene |
| FR2917880A1 (fr) * | 2007-06-20 | 2008-12-26 | France Telecom | Adaptation du format d'une scene multimedia pour l'affichage de cette scene sur un terminal |
| US9043360B2 (en) * | 2010-12-17 | 2015-05-26 | Yahoo! Inc. | Display entity relationship |
-
2011
- 2011-04-19 FR FR1153387A patent/FR2974474B1/fr not_active Expired - Fee Related
-
2012
- 2012-04-18 US US14/112,916 patent/US10262438B2/en active Active
- 2012-04-18 ES ES12722434T patent/ES2883237T3/es active Active
- 2012-04-18 KR KR1020137030693A patent/KR20140102598A/ko not_active Withdrawn
- 2012-04-18 WO PCT/FR2012/050849 patent/WO2012172212A1/fr not_active Ceased
- 2012-04-18 EP EP12722434.3A patent/EP2700226B1/fr active Active
Also Published As
| Publication number | Publication date |
|---|---|
| KR20140102598A (ko) | 2014-08-22 |
| EP2700226A1 (fr) | 2014-02-26 |
| FR2974474A1 (fr) | 2012-10-26 |
| WO2012172212A1 (fr) | 2012-12-20 |
| EP2700226B1 (fr) | 2021-06-02 |
| US20140168218A1 (en) | 2014-06-19 |
| FR2974474B1 (fr) | 2017-11-17 |
| US10262438B2 (en) | 2019-04-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2883237T3 (es) | Métodos y aparatos para producir y procesar representaciones de escenas multimedia | |
| CN115702563B (zh) | 使用具有多种扫描顺序的八叉树进行点云几何压缩的设备和介质 | |
| JP7392136B2 (ja) | ビデオコンテンツを表示するための方法、コンピュータシステム、およびコンピュータプログラム | |
| CN102860028B (zh) | 内容重放装置、控制信息提供服务器以及内容重放系统 | |
| KR102027410B1 (ko) | 계층화된 신호 품질 계층에서의 재구성 데이터의 송신 | |
| KR102261559B1 (ko) | 정보 처리 방법 및 장치 | |
| CN113330751B (zh) | 用于媒体片段大小和优先级排名的存储和信令的方法和装置 | |
| US12262070B2 (en) | Reference of neural network model for adaptation of 2D video for streaming to heterogeneous client end-points | |
| CN108156484A (zh) | 利用自适应速率分配优先处理基于图块的虚拟现实视频流 | |
| US10743004B1 (en) | Scalable video coding techniques | |
| US12413633B2 (en) | Reference of neural network model by immersive media for adaptation of media for streaming to heterogenous client end-points | |
| US10743003B1 (en) | Scalable video coding techniques | |
| KR102417055B1 (ko) | 비디오 스트림의 후속 프로세싱을 위한 방법 및 디바이스 | |
| US12155913B2 (en) | Systems and methods for light-weight networked volumetric asset control | |
| JP4040577B2 (ja) | スキーマ、構文解析法、およびスキーマに基づいてビットストリームを発生させる方法 | |
| KR102598603B1 (ko) | 이기종 클라이언트 종단점에 대한 스트리밍을 위한 2d 비디오의 적응 | |
| KR20200020913A (ko) | 미디어 정보를 처리하는 방법 및 장치 | |
| US20230007067A1 (en) | Bidirectional presentation datastream | |
| US11570227B2 (en) | Set up and distribution of immersive media to heterogenous client end-points | |
| WO2021100524A1 (ja) | データ処理装置およびその制御方法、プログラム | |
| US12132967B2 (en) | Bidirectional presentation datastream using control and data plane channels | |
| Salehi et al. | Multimedia cloud computing systems | |
| Borzov et al. | KolmoLD: Data Modeling for the Modern Internet |