ES2349003T3 - Procedimiento de difusion de secuencias de datos de audio y video por un servidor. - Google Patents

Procedimiento de difusion de secuencias de datos de audio y video por un servidor. Download PDF

Info

Publication number
ES2349003T3
ES2349003T3 ES08775650T ES08775650T ES2349003T3 ES 2349003 T3 ES2349003 T3 ES 2349003T3 ES 08775650 T ES08775650 T ES 08775650T ES 08775650 T ES08775650 T ES 08775650T ES 2349003 T3 ES2349003 T3 ES 2349003T3
Authority
ES
Spain
Prior art keywords
server
client
audio
message
sequence
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
ES08775650T
Other languages
English (en)
Inventor
Jean Pierre Morard
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.)
Sagemcom Broadband SAS
Original Assignee
Sagem Communications SAS
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
Application filed by Sagem Communications SAS filed Critical Sagem Communications SAS
Application granted granted Critical
Publication of ES2349003T3 publication Critical patent/ES2349003T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Circuits Of Receivers In General (AREA)
  • Traffic Control Systems (AREA)

Abstract

Un procedimiento de difusión de secuencias de datos de audio y de video por un servidor (1) que entrega secuencias de datos de audio y de video, en el que - las secuencias (26) de datos de audio/video siendo de tipo definido secuen- cialmente punto por punto circulan a través de una red (2) entre el servidor (1) y un cliente (3), - las secuencias (26) de datos de audio/video recibidas por el cliente (3) son difundidas por el cliente (3) de manera interactiva, - un usuario del cliente (3) da una orden (24) de difusión de una secuencia (26) a través de una interfaz (5) de usuario del cliente (3), engendrando esta orden (24) la producción y la emisión de al menos un mensaje (13) de petición por el cliente (3) hacia el servidor (1), - el mensaje (13) de petición transmitido al servidor (1) por el cliente (3) es tra- tado por el servidor (1) en forma de una codificación de imágenes según un formato comprimido, caracterizado porque el tratamiento del mensaje (13) de petición por el servidor (1) incluye al menos las etapas siguientes: - una etapa durante la cual el servidor (1) busca en una memoria (7) si el tra- tamiento de esta petición ha tenido ya lugar y si datos comprimidos de esta secuencia (26) de datos están disponibles para ser entregados al cliente (3), - si el tratamiento de este mensaje no ha tenido ya lugar precedentemente: - el servidor (1) envía un mensaje (31) de respuesta rápida al cliente (3), este mensaje (31) de respuesta rápida incluye una secuencia (32) de audio/video que incluye la primera y la segunda imagen de la secuencia (26) de datos comprimidos, - el servidor (1) trata esta petición de manera completa y pone en me- moria (7) el resultado del tratamiento completo de esta petición, resul- tando así apto para entregar la respuesta ulteriormente, si el tratamiento de esta petición ha sido realizado precedentemente, el servidor (1) envía directamente los datos de la secuencia (26) contenida, en la memoria (7) al cliente (3).

Description

El presente invento se refiere a un procedimiento de difusión de secuencias de datos de audio y video por un servidor. La multiplicidad de los medios en el propio seno de los hogares abre numerosas posibilidades. La presencia de una red ofrece las posibilidades de conectar entre ellos diferentes elementos de medios de un mismo hogar. Tal red se presenta en forma de un dispositivo servidor, o servidor, generalmente un ordenador, y de dispositivos clientes, o clientes, por ejemplo descodificadores de video, unidos entre sí por una red, ya sea en forma HD-MI, de WIFI, ethernet o ya sea por portador corriente.
Tal configuración permite crear una oficina. Tal oficina comprende una presentación sobre una pantalla, típicamente la del cliente, de un menú que permite a un usuario del cliente efectuar una orden o comando. Esta oficina es gestionada por el servidor pero dirigida a distancia por el cliente a través de la red. Esta configuración también permite la utilización de un centro de medios a distancia en estas mismas condiciones.
Un centro de medios es un dispositivo que comprende por una parte un órgano de mando y por otra parte un órgano de acción para tener en cuenta el mando o la orden. Típicamente el órgano de mando puede comprender una presentación sobre una pantalla, por ejemplo la de la oficina, de botones de control. Este órgano de mando incluye un dispositivo, por ejemplo un telemando o mando a distancia, para accionar los botones de control presentados. El órgano de acción del centro de medios gestiona las acciones engendradas por el accionamiento de los botones presentados, por ejemplo el hecho de montar el sonido o aún de pasar de una secuencia de video a otra.
Tal oficina o centro de medios puede, por ejemplo, ser presentado por el cliente sobre una pantalla de televisión de salón u otro medio de presentación que forma una interfaz de usuario. Un software de interfaz de usuario permite una presentación de datos. El usuario puede interactuar con los datos presentados con la ayuda de un dispositivo de mando tal como un telemando por ejemplo. Típicamente el órgano de mando de un centro de medios tal como el definido antes también forma parte de la interfaz de usuario.
La gestión del centro de medios por un usuario se hace al nivel del cliente. Una interfaz de usuario puede definirse como un árbol de mandos u órdenes posibles para el usuario. Así el usuario interactúa con esta interfaz de usuario dando órdenes de ejecución, con la ayuda de un telemando por ejemplo, entre elecciones posibles presentadas por la interfaz de usuario. Estas órdenes son recibidas por el cliente y entrañan la creación de interacciones de usuarios por el cliente.
Como consecuencia de la creación de una interacción de usuario, el cliente envía un mensaje de petición al servidor con el fin de tratar dicha interacción de usuario. Es el servidor el que, tratando el mensaje de petición enviado por el cliente, trata la orden del usuario. Una vez que este mensaje de petición es tratado, el servidor envía una respuesta a este mensaje de petición al cliente. La respuesta del servidor es producida por el tratamiento de la interacción de usuario y particularmente por una codificación de datos de video y de audio a difundir por el cliente como consecuencia de esta interacción de usuario. Esta respuesta es recibida y es descodificada por el cliente que presenta el resultado del tratamiento sobre la interfaz de usuario.
En tal sistema, el servidor codifica, es decir comprime, lo que difunde antes de enviarlo al cliente. Si el servidor tuviera que presentar sobre su propia pantalla las imágenes que difunde, no sería necesario comprimirlas. Los órganos de transferencia en el bus o línea de transmisión interna de la máquina de servidor soportan un caudal elevado. Para comprimir típicamente el servidor efectúa una captura de su propia presentación, la codifica y la envía a través de la red al cliente, por ejemplo a una dirección IP del cliente para una red ethernet. La codificación es por tanto efectuada a partir de una imagen definida secuencialmente punto por punto, en el formato llamado mapa de bits. Tal imagen definida secuencialmente punto por punto está bien adaptada a una presentación sobre un monitor.
La codificación efectuada por el servidor es del tipo espacio-temporal, es decir que los datos comprimidos incluyen datos de video, de audio y de señalizaciones con el fin de difundir estos datos correctamente. Tal codificación puede, por ejemplo, ser efectuada según la norma H264. Tal codificación por compresión permite transmitir datos a un elevado caudal sobre una unión simplificada, por ejemplo HDMI. El protocolo H264 permite codificar flujos de video con un caudal inferior a dos veces el obtenido por la norma MPEG2 para la misma calidad. La normal H264 dispone de un modo de compresión en pérdida. Durante la codificación, una imagen es recortada en macrobloques unitarios. Cada macrobloque está codificado.
En recepción, el cliente debe descodificar los datos de audio/video enviados por el servidor. La descodificación de estos datos por el cliente es generalmente efectuada por un circuito electrónico dedicado de una tarjeta gráfica/sonido del cliente. Una vez descodificados los datos, el cliente los difunde a través de sus medios de difusión sobre su propia pantalla.
Sin embargo la codificación de los datos por el servidor requiere una potencia importante o bien la codificación por el servidor requiere un tiempo de realización que no permite una codificación de los datos en tiempo real. En la práctica, la codificación requiere al servidor cinco veces más potencia de la que no requiere la codificación al cliente, los servidores clásicos, domésticos, no son capaces de la codificación en tiempo real.
Los centros de medios actuales contienen un gran número de animaciones. Estas animaciones son por ejemplo una animación sobre un botón o un icono, un fondo de pantalla en movimiento recurrente o aún el desarrollo de un menú desplegable. Estas animaciones son pequeñas secuencias de video. Para transmitirlas al cliente que las solicita el servidor debe codificarlas y transmitirlas con el fin de que sean difundidas a través de la interfaz de usuario. Tales secuencias de video están definidas por una sucesión de imágenes difundidas a una velocidad suficiente para obtener una buena fluidez del video. Un gran número de estas animaciones tiene lugar como consecuencia de interacciones de usuarios. Sin embargo, como consecuencia de tales interacciones de usuarios, sólo una parte de lo que es presentado sobre la pantalla del cliente sufre modificaciones. En efecto, por ejemplo para un menú desplegable como consecuencia de un clic de usuario sobre un botón del menú presentado, sólo la parte en la que el menú se despliega cambia, permaneciendo fijo el resto de la imagen.
Actualmente, los protocolos de audio/video no codifican más que imágenes enteras. Así, la codificación se hace sobre las partes de la imagen que han cambiado como consecuencia de la interacción del usuario así como sobre las partes de la imagen que no han cambiado. Esta codificación global ralentiza fuertemente el tiempo de codificación de los datos de audio/video a transferir.
Durante ensayos, concluyentes en cuanto a la función principal de presentación y de gestión a distancia, el tiempo de presentación de los datos de audio/video por el cliente se ha revelado excesivamente largo. Este tiempo de presentación era del orden de algunos segundos para una sola imagen. Estos tiempos de presentación no permiten por lo tanto la utilización de esta función en el estado.
El tiempo de presentación excesivamente largo se explica por dos factores. En primer lugar, el tiempo de transmisión sobre la unión IP y, en segundo lugar, la duración del tratamiento de los mensajes de petición. El invento pretende reducir los dos tiempos. La codificación y la descodificación de los datos de audio/video son tanto más largas cuanto más comprimidos y por tanto complejos son los datos. Actualmente, para hacer descodificación gráfica con este género de aplicaciones, el descodificador debe integrar una biblioteca gráfica que permita la descompresión de los datos de audio/video comprimidos.
Una solución conocida del experto en la técnica para resolver los problemas unidos al tiempo de transmisión de los datos a través de una red consiste en reducir el volumen de los datos que transitan por la red. Así comprimiendo lo más posible los datos según las normas de compresión conocidas, los datos de audio/video obtenidos son menos voluminosos. Estas informaciones comprimidas transitan por lo tanto más rápidamente a través de la red. Sin embargo tal solución hace la compresión de los datos de audio/video todavía más compleja. Esta complejidad aumenta el tiempo de codificación por el servidor. Esta complejidad aumenta también el tiempo necesario para que el cliente descodifique los datos recibidos. Además esta solución es dependiente de la integración de una biblioteca correspondiente en el formato de compresión utilizado en el cliente. Esta solución aporta por lo tanto la ventaja de reducir el tiempo de transferencia de los datos por la red pero aumenta considerablemente el tiempo de tratamiento de los datos de audio/video por el servidor y por el cliente.
Combinando la aplicación TightVNC con el protocolo H264 para una captura de pantalla, por ejemplo, puede resolverse el problema de una codificación completa de las imágenes enteras. Así todas las funciones de detección de movimiento, de cálculo de imágenes, etc., son calculadas por la biblioteca H264. Una imagen entera de la pantalla en el video es entonces enviada incluyendo únicamente los cambios. Esta imagen tiene una tasa de compresión elevada. Por otra parte la duración de la codificación de una imagen varía poco.
Sin embargo, con tal método, es necesario recuperar totalmente la arquitectura del código del servidor tightVNC. Por otra parte la duración de la codificación por el servidor corre el riesgo de ser relativamente larga. Con un servidor que tiene un procesador con dos núcleos de 2,8 GHz la codificación, con las opciones al mínimo, dura más de una décima de segundo por imagen en resolución de 352 por 288 para una tasa de bits (“bitrate”) de 30,0 GHZ de 150 kilo octetos por segundo. Tal método requeriría por tanto del orden de un segundo para codificar una imagen que tiene una resolución de 1280 por
720.
La patente norteamericana US-6.484.212 describe una memoria caché que almacena una secuencia codificada previamente transmitida a un cliente. La publicación WO2004104773 describe pestañas que representan un video que es telecargado si la pestaña es seleccionada. Finalmente, el documento US2006288392 describe la selección de tramas de un video con la ayuda de una representación gráfica de este video.
Ninguna de estas soluciones parece pues resolver eficazmente el problema de gestión de la transferencia de los datos de audio/video a una velocidad aceptable en una red.
Para resolver este problema el invento prevé reducir la carga de codificación del servidor de varias maneras. Por otra parte, el invento prevé conservar un nivel de compresión de los datos elevado. En un centro de medios o en una presentación de menú, las interacciones de usuarios son a menudo repetitivas. Las animaciones engendradas por estas interacciones de usuario tienen por lo tanto grandes posibilidades de producirse varias veces durante una utilización de un centro de medios o de un menú. Con el fin de reducir sensiblemente la tarea de codificación del servidor, el invento prevé utilizar la memoria del servidor con el fin de conservar las secuencias de audio/video que han sido ya codificadas previamente. Más particularmente, el invento prevé una etapa durante la cual el servidor busca si el mensaje de petición enviado por el cliente ha sido ya tratado precedentemente. Si el mensaje enviado por el cliente no ha sido tratado jamás en el pasado, el servidor envía una respuesta rápida al cliente y trata completamente el mensaje de petición en paralelo. Una vez que el mensaje de petición ha sido tratado completamente, el resultado de este tratamiento es salvaguardado en memoria por el servidor. Este tratamiento podrá ser reutilizado más tarde si el cliente envía otra vez el mismo mensaje de petición. Si el mensaje ha sido ya tratado por el servidor precedentemente, el servidor envía al cliente el resultado registrado en su memoria del tratamiento de este mensaje de petición.
El invento también prevé reducir el esfuerzo de codificación del servidor no efectuando la codificación más que sobre los datos de audio/video que hayan sufrido cambios como consecuencia de una interacción del usuario. Para ello, el invento calcula las partes fijas de la imagen y codifica únicamente los datos que representan animaciones o secuencias de video correspondientes a las interacciones de los usuarios.
Además, el invento trata los datos al nivel de las imágenes brutas, tales como han sido presentadas. El invento no es por tanto dependiente de un tipo de compresión definido. El invento puede por tanto hacer ganar tiempo al nivel de la codificación cualquiera que sea el tipo de codificación elegido para comprimir los datos de audio/video.
El invento tiene pues por objeto un procedimiento de difusión de secuencias de datos de audio y de video por un servidor que entrega secuencias de datos de audio y de video, en el que las secuencias de datos de audio/video siendo de tipo definido secuencialmente punto por punto circulan a través de una red entre el servidor y un cliente, las secuencias de datos de audio/video recibidas por el cliente son difundidas por el cliente de manera interactiva, un usuario del cliente da una orden de difusión de una secuencia a través de una interfaz de usuario del cliente, engendrando esta orden la producción y la emisión de al menos un mensaje de petición por el cliente hacia el servidor, el mensaje de petición transmitido al servidor por el cliente es tratado por el servidor en forma de una codificación de imágenes según un formato comprimido caracterizado porque el tratamiento del mensaje de petición por el servidor incluye al menos las etapas siguientes:
-una etapa durante la cual el servidor busca en una memoria si el tratamiento de esta petición ha tenido ya lugar y si datos comprimidos de esta secuencia de datos están disponibles para ser entregados al cliente, -si el tratamiento de este mensaje no ha tenido ya lugar precedentemente:
-el servidor envía un mensaje de respuesta rápida al cliente, este mensaje de respuesta rápida incluye una secuencia de audio/video que incluye la primera y la segunda imagen de la secuencia de datos comprimidos,-el servidor trata esta petición de manera completa y pone en memoria el resultado del tratamiento completo de esta petición, resultando así apto para entregar la respuesta ulteriormente,
-si el tratamiento de esta petición ha sido realizado precedentemente, el servidor envía directamente los datos de la secuencia contenida, en la memoria al cliente.
El invento será mejor comprendido con la lectura de la descripción que sigue y con
el examen de las figuras que la acompañan. Estas no son presentadas más que a título
indicativo y en ningún modo limitativo del invento. Las figuras muestran:
La fig. 1: Una instalación de un dispositivo de red según el invento.
La fig. 2: Un esquema de realización del procedimiento según el invento.
La fig. 1 representa una instalación de un dispositivo de red según el invento. Tal instalación incluye un servidor 1 unido a través de una red 2 a un cliente 3. La red 2 permite hacer circular entre el servidor 1, por ejemplo un ordenador 1, y el cliente 3, por ejemplo un descodificador, datos de audio/video. Un medio 4 de difusión de una interfaz 5 de usuario está unido al cliente 3. Tal medio 4 de difusión puede, por ejemplo, ser un televisor 4 de salón. El servidor 1 incluye su propio medio 6 de difusión, por ejemplo un monitor 6 de ordenador. Por otra parte, el servidor 1 incluye su propia memoria 7. El servidor 1 puede integrar un protocolo de codificación tal como el protocolo H264, y una aplicación del tipo servidor VNC. El usuario puede interactuar con la interfaz 5 de usuario por medio, por ejemplo, de un telemando 8. Estas interacciones 11 son recibidas por el cliente 3 que transmite al servidor 1 la orden engendrada por estas interacciones 11 de usuario y envía al cliente 3 los datos de audio/video correspondientes a la ejecución de la orden dada después de estas interacciones 11 de usuario.
Los datos de audio/video recibidos por el cliente 3 son restituidos por el cliente 3 según se producen los eventos. Es decir que el cliente 3 permite al usuario interactuar sobre los datos. Típicamente, una interfaz 5 de usuario permite al usuario navegar según un árbol de interacciones 11 posible. Por ejemplo, la interfaz 5 de usuario puede presentarse en forma de un menú 9 en el que el usuario navega accionando los botones 10 del menú 9 con la ayuda de un telemando 8. El accionamiento de tales botones 10 puede presentarse en forma de una pequeña animación correspondiente a una secuencia de video. Estas animaciones pueden estar, por ejemplo, presentes durante la activación de un botón 10, el paso sobre un botón 10, o aún sobre un fondo de pantalla animado. Tales animaciones son secuencias de video presentadas en función de las interacciones 11 de usuarios. Sin embargo, estas animaciones no modifican generalmente más que una pequeña parte de la imagen 12 presentada por la interfaz 5 de usuario, no sufriendo ninguna modificación el resto de la imagen 12.
La fig. 2 representa un esquema de realización del procedimiento según el invento. Las interacciones 11 de usuarios generan la creación de un mensaje 13 de petición al nivel del cliente 3. Una vez que el mensaje de petición ha sido creado por el cliente 3, el cliente 3 envía este mensaje de petición al servidor 1. Estos mensajes 13 de petición circulan a través de la red 2 entre el cliente 3 y el servidor 1. En el estado de la técnica, el servidor 1 analiza la petición del cliente 3 y codifica la respuesta 22 antes de enviar esta respuesta 22 al cliente 3. El cliente 3 descodifica entonces la respuesta 22 recibida antes de difundir los cambios engendrados por este mensaje de petición a través de la interfaz 5 de usuario.
Los mensajes 13 de petición enviados por el cliente 3 incluyen diferentes informaciones. Estas informaciones permiten al servidor 1 tratar los datos contenidos en este mensaje 13 y enviar un mensaje 22 de respuesta al cliente 3. Este mensaje 22 de respuesta permite una difusión, por dicho cliente 3 a través de la interfaz 5 de usuario, de los datos de audio/video correspondientes a la interacción 11 engendrada por el usuario. Un mensaje 13 de petición incluye por lo tanto la dirección 23 a la que debe responder el mensaje 13 de petición incluye por lo tanto la dirección 23 a la que debe responder el servidor 1, típicamente la dirección IP 23 del cliente 3, una orden 24 a ejecutar como consecuencia de una interacción 11 de usuario y un estado 25 correspondiente a la presentación actual difundida por el cliente 3 a través de la interfaz 5 de usuario. Este estado 25 actual permite al servidor 1 tratar la orden 24 dada en función de la presentación actual de la interfaz 5 de usuario, es decir codificar la secuencia de datos de audio/video a presentar a través de la interfaz 5 de usuario por el cliente 3 a partir de la presentación como consecuencia de dicha interacción 11 de usuario.
Según el invento, durante una interacción 11 de usuario que entraña una animación, el servidor 1 codifica separadamente la animación y la máscara. Se llama máscara al fondo de imagen que permanece fijo durante la animación. Combinando, por ejemplo, la aplicación TightVNC con el protocolo H264 al nivel de la función de envío, el servidor 1 envía únicamente las partes que han cambiado como consecuencia de una interacción 11 de usuario así como la posición donde es preciso colocar esta secuencia. Esta separación de la codificación permite no tener que codificar la totalidad de la imagen a presentar durante una animación. El servidor 1 no codifica entonces más que la animación sola sin volver a codificar, para cada imagen de una presentación que incluye una animación, la totalidad de la imagen de cada presentación.
Además, el invento prevé que el servidor 1 guarde en la memoria 7 las secuencias 26 de datos comprimidos de la secuencia de audio/video codificada correspondiente a dicha animación. Si la interacción 11 de usuario que ha entrañado esta animación a partir de la misma máscara viniera a reproducirse en consecuencia, el servidor 1 no codificaría de nuevo la animación sino que enviaría directamente la secuencia 26 de datos ya codificada correspondiente y ya puesta en la memoria 7. Tal utilización de la memoria 7 permite aligerar el trabajo del servidor 1 y ello sea cualquiera que sea el tipo de codificación elegido.
Sin embargo, es necesario, para recuperar la secuencia 26 de datos codificada correspondiente a una máscara y a una interacción 11 de usuario dada, poder ir a buscar la buena secuencia 26 de datos, para ello es necesario un sistema de indexación de las secuencias 26 de datos comprimidos. Según el invento, esta indexación 27 se hace sobre la primera imagen 28 de una secuencia 26 de audio/video. Tal indexación 27 que trabaja sobre una única imagen 28 no es dependiente de un tipo de compresión dado y puede por tanto ser aplicada con cualquier tipo de codificación de audio/video.
Para efectuar estas etapas, un mensaje 13 de petición incluye por tanto la orden 24 correspondiente a la interacción 11 de usuario, la máscara 29, un índice 30 de la máscara y las informaciones 23 relativas a la red 2. El tratamiento de los mensajes 13 de petición incluye una fase de búsqueda y, si es necesario, una fase de codificación de los datos de audio/video. Esta codificación puede por ejemplo ser realizada según la norma H264. Las secuencias 26 de datos de audio/video codificadas son las imágenes normalmente presentadas por el servidor 1, es decir que estas imágenes son capturas de pantalla del servidor 1. Estas imágenes son por tanto de tipo definido secuencialmente punto por punto.
Un estado 25 es definido como que incluye una máscara 29 y un índice 30 de la máscara. Según el invento, los estados 25 tienen un acceso directo por los índices 30 con el fin de saber rápidamente si, dada una imagen indexada, corresponde a un estado 25 ya conocido o no. Si el estado 25 ya es conocido, el servidor 1 busca si existe una transición a partir de la máscara 29 correspondiente a este estado 25. Una máscara 29 es un corte de la imagen que no incluye más que las partes fijas de la imagen. Típicamente, en una máscara 29 se encuentra la imagen presentada sin las partes animadas tales como los menús animados o botones animados de la imagen presentada.
Una transición comprende las interacciones 11 de usuarios así como las secuencias 26 de video correspondientes a esta interacción de usuario. Así, después de una interacción 11 de usuario que entraña el paso de un estado uno a un estado dos, se pasa por una transición que incluye una secuencia de audio/video que permite pasar del estado uno al estado dos. Las transiciones están indexadas por la primera imagen 28 de la secuencia 26 de datos de audio/video que incluyen. Esta indexación 27 permite tener un acceso directo a esta secuencia 26 si la interacción 11 de usuario y la máscara 29 correspondiente al estado 25 inicial ha tenido ya lugar, siendo las máscaras 29 y las transiciones complementarias para formar una imagen completa.
Durante la primera puesta en marcha, el servidor 1 efectúa varias etapas. Durante una primera etapa, el servidor 1 codifica la totalidad de la secuencia de puesta en marcha a presentar y envía directamente al cliente 3 esta secuencia de puesta en marcha. Durante una segunda etapa, el servidor 1 determina la primera máscara y el primer índice correspondiente al primer estado de puesta en marcha. Por fin, durante una tercera etapa, el servidor 1 asocia el estado que tiene este índice y la máscara correspondiente. Como consecuencia, durante un cambio de estado después de una interacción 11 de usuario, el mensaje de petición 13 contendrá el índice del estado asociado a la presentación actual de la interfaz 5 de usuario. Para ello el servidor 1 memoriza, por ejemplo en su memoria caché, el estado y su índice.
Después de la puesta en marcha de la instalación, el invento incluye varias etapas. El servidor 1 ha registrado ya en la memoria 7 uno o varios estados 25 que se han producido ya. Durante una interacción 11 de usuario que engendra un cambio de estado 25, el cliente 3 envía un mensaje 13 de petición tal como se ha descrito más arriba al servidor 1. El servidor 1 trata entonces inmediatamente este mensaje 13 de petición. En un primer instante 14, el servidor 1 busca en su memoria 7 si existe una transición indexada por la interacción 11 de usuario a partir del estado 25 indexado enviado por el cliente 3 en su mensaje 13 de petición.
En el caso 15 donde existe en la memoria 7 una transición tal indexada, el servidor 1 envía directamente la secuencia 26 de datos de audio/video que ha sido ya codificada correspondiente. La ausencia de obligación de codificación permite una ganancia de tiempo importante para el servidor 1. Al no tener el servidor 1 que codificar la secuencia 26 de datos de audio/video, el servidor 1 permanece disponible para efectuar otras tareas.
En el caso 16 donde no existe en la memoria 7 de transición indicada, el servidor 1 codifica 17 la secuencia de audio/video. El servidor 1 indexa a continuación esta secuencia de audio/video y la asocia a una transición. Sin embargo, para no bloquear el usuario durante el tiempo en el que el servidor 1 efectúa la codificación 17, el servidor 1 efectúa una tarea 18 suplementaria en paralelo de la codificación 17. Esta tarea 18 suplementaria consiste en el envío al cliente 3 de un mensaje 31 de respuesta rápida. Para hacer ganar tiempo al servidor 1 sin bloquear al usuario, el servidor 1 envía en respuesta al cliente 3 una secuencia 32 de audio/video que no incluye más que dos imágenes. Las dos imágenes de dicha secuencia 32 de audio/video son la primera y la segunda imagen de la secuencia 26 de datos de audio/video completa. La última imagen de una secuencia de datos de audio/video es normalmente la que es presentada directamente al nivel del servidor 1. Esta última imagen es por tanto directamente accesible para el envío de la respuesta 31 rápida. Una vez que la codificación 17 de la secuencia 26 de datos de audio/video completa ha acabado, el servidor 1 guarda en la memoria 7 la transición correspondiente a esta secuencia 26 de datos de audio/video y esta interacción 11 de usuario.
El envío de esta respuesta 31 rápida no permite la difusión de la secuencia 26 de datos de audio/video correspondiente a la interacción 11 de usuario durante la primera ocurrencia de dicha interacción 11 de usuario. Esta respuesta 31 rápida no permite presentar la primera y la última imagen de dicha secuencia de datos de audio/video. Sin embargo, esta respuesta 31 rápida del servidor 1 evita que el usuario permanezca bloqueado el tiempo durante el que el servidor 1 efectúa la codificación 17 de dicha secuencia 26 completa.
Una vez que la secuencia, en que la respuesta 31 rápida emitida por el servidor 1 según el caso, es enviada al cliente 3, el servidor 1 calcula la máscara 19 y el índice 20 de la imagen final obtenida. Permitiendo estos elementos crear el nuevo estado correspondiente a esta imagen final. En el caso en el que no existe ninguna transición indexada correspondiente a la interacción 11 de usuario a partir del primer estado 25, esta transición está indexada por su primera imagen 28 y es puesta en la memoria 7. En el caso en el que una transición indexada por la misma interacción 11 de usuario partiendo del primer estado 25 existe ya y en el que el estado final obtenido por la interacción 11 de usuario es diferente del que está en la memoria 7 obtenido por esta transición indexada, la transición ya en la memoria 7 es reemplazada 21 por la nueva transición codificada.
Típicamente, la máscara y los cambios son calculados cada vez. En cada interacción 11 de usuario, es calculada la diferencia entre la imagen presentada y la última imagen de la película guardada en la memoria 7. Si estas imágenes son diferentes, la transición es codificada de nuevo durante la presentación de la transición antigua. A continuación, la imagen correcta, es decir la imagen actual, es presentada después de la difusión de la secuencia antigua de audio/video. Una interacción 11 de usuario no puede engendrar más que una única secuencia 26 de video indexada para una imagen de comienzo de la secuencia de audio/video y una interacción 11 de usuario dadas.
Tal procedimiento presenta la ventaja de ganar en tiempo de ejecución con un centro de medios cualquiera, dado que este procedimiento no utiliza ningún tipo de codificación particular. Este procedimiento de difusión de secuencias de datos de audio y video por un servidor 1 está particularmente adaptado para las interfaces 5 de usuario tales como los menús que se pueden encontrar sobre los DVD o otros menús 9 que tienen para animaciones cambios precisos sobre los cuales los usuarios no pueden más que pasar de un botón 10 a otro teniendo desplazamientos de cursores predefinidos.

Claims (9)

  1. REIVINDICACIONES
    1. Un procedimiento de difusión de secuencias de datos de audio y de video por un servidor (1) que entrega secuencias de datos de audio y de video, en el que
    -las secuencias (26) de datos de audio/video siendo de tipo definido secuencialmente punto por punto circulan a través de una red (2) entre el servidor (1) y un cliente (3), -las secuencias (26) de datos de audio/video recibidas por el cliente (3) son difundidas por el cliente (3) de manera interactiva, -un usuario del cliente (3) da una orden (24) de difusión de una secuencia
    (26) a través de una interfaz (5) de usuario del cliente (3), engendrando esta orden (24) la producción y la emisión de al menos un mensaje (13) de petición por el cliente (3) hacia el servidor (1), -el mensaje (13) de petición transmitido al servidor (1) por el cliente (3) es tratado por el servidor (1) en forma de una codificación de imágenes según un formato comprimido, caracterizado porque el tratamiento del mensaje (13) de petición por el servidor (1) incluye al menos las etapas siguientes: -una etapa durante la cual el servidor (1) busca en una memoria (7) si el tratamiento de esta petición ha tenido ya lugar y si datos comprimidos de esta secuencia (26) de datos están disponibles para ser entregados al cliente (3), -si el tratamiento de este mensaje no ha tenido ya lugar precedentemente:
    -el servidor (1) envía un mensaje (31) de respuesta rápida al cliente (3), este mensaje (31) de respuesta rápida incluye una secuencia (32) de audio/video que incluye la primera y la segunda imagen de la secuencia
    (26) de datos comprimidos, -el servidor (1) trata esta petición de manera completa y pone en memoria (7) el resultado del tratamiento completo de esta petición, resultando así apto para entregar la respuesta ulteriormente,
    si el tratamiento de esta petición ha sido realizado precedentemente, el servidor
    (1) envía directamente los datos de la secuencia (26) contenida, en la memoria (7)
    al cliente (3).
  2. 2.
    Un procedimiento según la reivindicación 1, caracterizado porque los datos de audio y/o de video son codificados por el servidor (1) según la norma H264.
  3. 3.
    Un procedimiento según una de las reivindicaciones 1 a 2, caracterizado porque si el tratamiento del mensaje (13) enviado por el cliente (3) al servidor (1) no ha tenido ya lugar precedentemente el servidor (1) envía el mensaje (31) de respuesta rápida y trata la petición de manera completa en paralelo.
  4. 4.
    Un procedimiento según una de las reivindicaciones 1 a 3, caracterizado porque el tratamiento de la petición incluye una etapa de indexación de las imágenes (28) codificadas al comienzo de secuencia (26) de datos.
  5. 5.
    Un procedimiento según una de las reivindicaciones 1 a 4, caracterizado porque el tratamiento del mensaje (13) de petición incluye una etapa de búsqueda por índice de secuencias (26) comprimidas contenidas en la memoria (7).
  6. 6.
    Un procedimiento según una de las reivindicaciones 1 a 5, caracterizado porque la codificación no se hace más que sobre zonas modificadas de las imágenes.
  7. 7.
    Un procedimiento según una de las reivindicaciones 1 a 6, caracterizado porque el tratamiento de los mensajes (13) de petición incluye:
    -una etapa de creación de una máscara (29) que representa la parte fija de una imagen, -una etapa de indexación de esta máscara, -una etapa de creación de una transición que representa una parte animada de la imagen, -una etapa de indexación de esta transición de los índices que son conocidos por el cliente 3 y que son enviados en el mensaje (13) de petición.
  8. 8.
    Un procedimiento según una de las reivindicaciones 1 a 7 caracterizado porque una interacción (11) de usuario engendra el envío de una secuencia (26) de video,
    -siendo ejercida esta interacción (11) por el usuario a partir de una imagen de comienzo presentada sobre el cliente (3), -esta secuencia de video es parametrizada por un estado de una base de datos de audio/video del servidor (1) o por el mensaje (13) de petición.
    5
  9. 9. Un procedimiento según la reivindicación 8, caracterizado porque
    -cuando el estado de la base de datos del servidor (1) cambia, el tratamiento de un mensaje (13) de petición incluye una etapa durante la cual toda se
    10 cuencia precedente correspondiente a esta interacción (11) del usuario es reemplazada por una nueva secuencia (26) correspondiente a un nuevo estado de la base de datos.
ES08775650T 2007-02-27 2008-02-26 Procedimiento de difusion de secuencias de datos de audio y video por un servidor. Active ES2349003T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0753538 2007-02-27
FR0753538A FR2913164B1 (fr) 2007-02-27 2007-02-27 Procede de diffusion de sequences de donnees audio et video par un serveur

Publications (1)

Publication Number Publication Date
ES2349003T3 true ES2349003T3 (es) 2010-12-21

Family

ID=38596785

Family Applications (1)

Application Number Title Priority Date Filing Date
ES08775650T Active ES2349003T3 (es) 2007-02-27 2008-02-26 Procedimiento de difusion de secuencias de datos de audio y video por un servidor.

Country Status (10)

Country Link
US (1) US8127044B2 (es)
EP (1) EP2127384B1 (es)
CN (1) CN101622873B (es)
AT (1) ATE475264T1 (es)
BR (1) BRPI0808113B1 (es)
CO (1) CO6170398A2 (es)
DE (1) DE602008001884D1 (es)
ES (1) ES2349003T3 (es)
FR (1) FR2913164B1 (es)
WO (1) WO2008119902A2 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2482548A1 (en) * 2011-01-21 2012-08-01 Alcatel Lucent A method, a system, a server, a client, a computer program and a computer program product for determining a user guide in a computer network
US9596580B2 (en) * 2014-04-08 2017-03-14 Nexomni, Llc System and method for multi-frame message exchange between personal mobile devices
EP3050302B1 (en) 2014-09-25 2018-01-03 Huawei Technologies Co. Ltd. A server for providing a graphical user interface to a client and a client
CN115865909B (zh) * 2023-01-13 2023-06-02 中科方德软件有限公司 一种基于spice协议的数据传输方法、装置和可读存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3282260B2 (ja) * 1993-01-18 2002-05-13 ソニー株式会社 画像再生装置及び方法
US6484212B1 (en) * 1999-04-20 2002-11-19 At&T Corp. Proxy apparatus and method for streaming media information
US20030058248A1 (en) * 2001-09-21 2003-03-27 Hochmuth Roland M. System and method for communicating graphics over a network
US7171444B2 (en) * 2001-11-14 2007-01-30 Sharp Laboratories Of America, Inc. Remote desktop protocol compression system
US20040010622A1 (en) * 2002-07-11 2004-01-15 O'neill Thomas G. Method and system for buffering image updates in a remote application
US7606314B2 (en) * 2002-08-29 2009-10-20 Raritan America, Inc. Method and apparatus for caching, compressing and transmitting video signals
US7039247B2 (en) * 2003-01-31 2006-05-02 Sony Corporation Graphic codec for network transmission
JP4246528B2 (ja) * 2003-03-26 2009-04-02 富士通コンポーネント株式会社 切替器
EP1623301A2 (en) * 2003-05-15 2006-02-08 Comcast Cable Holdings LLC Method and system for playing video
US7603689B2 (en) * 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
US7627186B2 (en) * 2003-11-14 2009-12-01 Avocent California Corporation Compression systems and methods
US7430681B1 (en) * 2005-03-30 2008-09-30 Teradici Corporation Methods and apparatus for interfacing a drawing memory with a remote display controller
US20060282855A1 (en) * 2005-05-05 2006-12-14 Digital Display Innovations, Llc Multiple remote display system
AU2005202356B2 (en) * 2005-05-31 2008-01-10 Canon Kabushiki Kaisha Frame scattering for video scrubbing
US8112513B2 (en) * 2005-11-30 2012-02-07 Microsoft Corporation Multi-user display proxy server

Also Published As

Publication number Publication date
CN101622873B (zh) 2012-11-07
EP2127384A2 (fr) 2009-12-02
FR2913164A1 (fr) 2008-08-29
CO6170398A2 (es) 2010-06-18
WO2008119902A2 (fr) 2008-10-09
DE602008001884D1 (de) 2010-09-02
BRPI0808113A2 (pt) 2014-07-08
WO2008119902A3 (fr) 2008-11-20
US8127044B2 (en) 2012-02-28
CN101622873A (zh) 2010-01-06
FR2913164B1 (fr) 2009-04-17
US20100115136A1 (en) 2010-05-06
BRPI0808113B1 (pt) 2020-11-17
EP2127384B1 (fr) 2010-07-21
ATE475264T1 (de) 2010-08-15

Similar Documents

Publication Publication Date Title
CN111131851B (zh) 游戏直播控制方法及装置、计算机存储介质、电子设备
JP7072649B2 (ja) 高品質のエクスペリエンスのためのオーディオメッセージの効率的な配信および使用のための方法および装置
CN111447487B (zh) 智慧屏反向投屏方法、系统、智慧屏和可读存储介质
CN107979763B (zh) 一种虚拟现实设备生成视频、播放方法、装置及系统
NZ595843A (en) System and method for multi-stream video compression using multiple encoding formats
WO2020238441A1 (zh) 多端投屏方法、计算机设备及存储介质
US11128739B2 (en) Network-edge-deployed transcoding methods and systems for just-in-time transcoding of media data
CN106330912B (zh) 视频直播与双向通话融合的系统及方法
ES2349003T3 (es) Procedimiento de difusion de secuencias de datos de audio y video por un servidor.
CN114554277B (zh) 多媒体的处理方法、装置、服务器及计算机可读存储介质
CN113992966B (zh) 重定向方法、装置、设备、存储介质及程序产品
CN111163330A (zh) 直播视频的渲染方法、装置、系统、设备及存储介质
CN108574877B (zh) 直播方法、主播端、观众端、设备、系统及存储介质
CN111131909A (zh) 一种分享终端桌面的方法、装置、设备及介质
CN113873316B (zh) 直播间视频播放方法及装置
CN110740386A (zh) 直播切换方法、装置及存储介质
CN116170607B (zh) 直播连麦中弹幕展示、发送方法及装置
CN105430527B (zh) 一种流媒体提醒方法及终端设备
CN117041613A (zh) 基于rtmp视频直播暂停方法、基于rtmp视频直播暂停装置及直播系统
CN110971860B (zh) 一种显示方法和装置
CN113784210B (zh) 预监视频播放方法及云导播台服务系统
ES2441198T3 (es) Procedimiento de difusión de secuencias de datos de vídeo mediante un servidor hacia un terminal cliente
CN116546231B (zh) 游戏直播互动方法、装置、设备、存储介质和程序产品
CN117834982A (zh) 视频播放处理方法、装置、电子设备及存储介质
CN119767081A (zh) 直播视频播放方法、装置、设备及存储介质