ES2835579T3 - Transmisión continua directa para visualización inalámbrica - Google Patents
Transmisión continua directa para visualización inalámbrica Download PDFInfo
- Publication number
- ES2835579T3 ES2835579T3 ES15748397T ES15748397T ES2835579T3 ES 2835579 T3 ES2835579 T3 ES 2835579T3 ES 15748397 T ES15748397 T ES 15748397T ES 15748397 T ES15748397 T ES 15748397T ES 2835579 T3 ES2835579 T3 ES 2835579T3
- Authority
- ES
- Spain
- Prior art keywords
- display
- video data
- source device
- frame
- video
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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/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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
- H04N21/43637—Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth®, RF or wireless LAN [IEEE 802.11]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Circuits Of Receivers In General (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Un procedimiento de transmisión de datos de vídeo desde un dispositivo de origen de visualización inalámbrica a un dispositivo colector de visualización inalámbrica, en el que el dispositivo de origen de visualización inalámbrica incluye un dispositivo de visualización local, comprendiendo el procedimiento: obtener, con el dispositivo de origen de visualización inalámbrica, datos de audio codificados y datos de vídeo codificados para una trama de datos de vídeo; proporcionar, en el dispositivo de visualización local del dispositivo de origen de visualización inalámbrica, una trama predefinida en lugar de la trama de datos de vídeo; y los datos de audio descodificados; caracterizado por que el procedimiento comprende además determinar un tiempo de presentación en base al tiempo en el que la trama predefinida se consume para su renderización en el dispositivo de visualización local en sincronización con los datos de audio para la trama de datos de vídeo después de que el dispositivo de origen de visualización inalámbrica realice la sincronización de audio y vídeo; determinar una marca de tiempo a partir del tiempo de presentación determinado; y enviar, desde el dispositivo de origen de visualización inalámbrica al dispositivo colector de visualización inalámbrica, los datos de vídeo codificados para su visualización en un dispositivo de visualización asociado al dispositivo colector de visualización inalámbrica en asociación con la marca de tiempo.
Description
DESCRIPCIÓN
Transmisión continua directa para visualización inalámbrica
REIVINDICACIÓN DE PRIORIDAD
CAMPO TÉCNICO
[0001] La divulgación se refiere al transporte y reproducción de datos de medios y, más en particular, a la transmisión continua y directa de contenido de medios mediante visualización inalámbrica.
ANTECEDENTES
[0002] Wi-Fi Display (también conocida como Miracast™) es una norma para dispositivos de visualización inalámbricos que está desarrollando Wi-Fi Alliance. La norma se basa en Wi-Fi Direct. La norma Wi-Fi Display (WFD) proporciona un mecanismo interoperable para descubrir, emparejar, conectar y renderizar contenido de medios procedente de una fuente de visualización Wi-Fi en un colector de visualización Wi-Fi. Se puede encontrar información adicional acerca de la norma WFD actual en la especificación técnica de Wi-Fi Display v1.0.0, y Wi-Fi Alliance, "Wi-Fi Display Specification draft versión 1.31", Comité técnico de Wi-Fi Alliance, Grupo de tareas de visualización.
[0003] Los sistemas de visualización inalámbrica (WD) incluyen un dispositivo de origen de visualización inalámbrica ("dispositivo de origen inalámbrico" o simplemente "dispositivo de origen" en el presente documento) y uno o más dispositivos colectores de visualización inalámbrica ("dispositivos colectores inalámbricos" o simplemente "dispositivos colectores" en el presente documento). El dispositivo de origen puede ser un dispositivo que sea capaz de transmitir contenido de medios dentro de una red inalámbrica de área local. Un dispositivo colector puede ser un dispositivo capaz de recibir y renderizar contenido de medios. El dispositivo de origen y los dispositivos colectores pueden ser dispositivos móviles o dispositivos cableados. Como dispositivos móviles, por ejemplo, el dispositivo de origen y los dispositivos colectores pueden comprender teléfonos móviles, ordenadores portátiles con tarjetas de comunicación inalámbricas, asistentes digitales personales (PDA), reproductores multimedia portátiles, dispositivos de captura de imágenes digitales, tales como cámaras o videocámaras, u otros dispositivos de memoria flash con capacidades de comunicación inalámbrica, incluidos los denominados teléfonos "inteligentes" y almohadillas o tabletas "inteligentes", u otros tipos de dispositivos de comunicación inalámbrica. Como dispositivos cableados, por ejemplo, el dispositivo de origen y los dispositivos colectores pueden comprender televisores, ordenadores de escritorio, monitores, proyectores, impresoras, amplificadores de audio, descodificadores, consolas de juegos, encaminadores, dispositivos de visualización del salpicadero de un vehículo, reproductores de discos de vídeo digital (DVD) y servidores de medios.
[0004] El dispositivo de origen puede enviar datos de medios, tales como datos de audio y vídeo (AV), a uno o más de los dispositivos colectores que participan en una sesión particular de uso compartido de medios. Los datos de medios se pueden reproducir tanto en un dispositivo de visualización local del dispositivo de origen como en cada uno de los dispositivos de visualización de los dispositivos colectores. Más específicamente, cada uno de los dispositivos colectores participantes renderiza los datos de medios recibidos para su presentación en su pantalla y equipo de audio. En algunos casos, un usuario de un dispositivo colector puede aplicar entradas de usuario al dispositivo colector, tales como entradas táctiles y entradas de control remoto.
[0005] El documento EP2632168 divulga una disposición en la que un primer dispositivo recibe un flujo de vídeo codificado y lo transmite a un segundo dispositivo electrónico si el flujo codificado es un flujo que puede ser descodificado por el segundo dispositivo. En este caso, la visualización del flujo de vídeo en el primer dispositivo se retarda de modo que se pueda visualizar al mismo tiempo que la visualización del flujo de vídeo reenviado al segundo dispositivo. El documento US 2014/112636 divulga el uso de un dispositivo de origen para controlar la reproducción de un archivo de vídeo en un dispositivo de visualización inalámbrica. Este documento sugiere que se puede proporcionar una salida diferente al dispositivo de visualización del dispositivo de origen y al dispositivo de visualización inalámbrica.
BREVE EXPLICACIÓN
[0006] En general, esta divulgación se refiere a técnicas para transmitir de forma continua y directa (“streaming”) datos de medios desde un dispositivo de origen de visualización inalámbrica a un dispositivo colector de visualización inalámbrica. En algunos ejemplos, las técnicas incluyen transmitir de forma continua y directa datos de vídeo de entrada codificados al dispositivo colector de visualización inalámbrica, es decir, sin que el dispositivo de origen de visualización inalámbrica descodifique los datos de vídeo de entrada codificados para enviarlos a un dispositivo de visualización del dispositivo de origen de visualización inalámbrica. En cambio, el dispositivo de origen de visualización inalámbrica puede enviar una trama predefinida al dispositivo de visualización del dispositivo de origen de visualización inalámbrica mientras transmite los datos de vídeo de entrada codificados al dispositivo colector de visualización inalámbrica. Como resultado, otros componentes del dispositivo de origen de
visualización inalámbrica, tales como aplicaciones y reproductores de medios, pueden funcionar con normalidad para renderizar y visualizar la trama predefinida en el dispositivo de visualización. Además, debido a que los datos de vídeo de entrada codificados se transmiten al dispositivo colector de visualización inalámbrica sin haber sido descodificados y mostrados en el dispositivo de visualización (y sin codificarse posteriormente), el dispositivo de origen de visualización inalámbrica puede evitar el uso de hardware de codificación y descodificación de vídeo para una transmisión continua directa, lo que puede proporcionar un ahorro de energía al dispositivo de origen de visualización inalámbrica. Además, la calidad de vídeo se puede mejorar en el dispositivo colector al evitarse la necesidad de descodificar y, a continuación, recodificar los datos en el lado de origen para duplicarlos en el dispositivo colector. En particular, al evitarse el proceso de recodificación y al enviarse los datos originales no codificados desde el dispositivo de origen al dispositivo colector, la calidad de vídeo puede mejorarse en el dispositivo colector.
[0007] Para sincronizar los datos de audio y los datos de vídeo de los datos de medios de entrada para su presentación en el dispositivo colector de visualización inalámbrica, para una trama de entrada codificada dada de los datos de vídeo, los datos de vídeo, el dispositivo de origen de visualización inalámbrica determina un tiempo de renderización para la trama predefinida proporcionada al dispositivo de visualización para la trama de entrada codificada. El tiempo de renderización se puede determinar capturando el momento en el que se consume la trama predefinida para su renderización después de que los módulos del dispositivo de origen de visualización inalámbrica que reciben la trama predefinida realicen la sincronización de audio y vídeo. Por ejemplo, el tiempo de presentación se puede determinar como el tiempo en que la memoria intermedia que almacena la trama predeterminada se devuelve tras su consumo. Este tiempo de renderización representa un tiempo de presentación para la trama de entrada codificada, y el dispositivo de origen de visualización inalámbrica asocia este tiempo de presentación a la trama de entrada codificada en el flujo de transporte enviado al dispositivo colector de visualización inalámbrica. Al recibir la trama de entrada codificada en asociación con el tiempo de presentación a través del flujo de transporte, el dispositivo colector de visualización inalámbrica descodifica la trama de entrada codificada y muestra la trama de entrada de acuerdo con el tiempo de presentación. El dispositivo de origen de visualización inalámbrica captura, para su codificación y transporte, tramas de audio descodificadas y de salida de los medios de entrada a medida que el dispositivo de origen de visualización inalámbrica presenta o proporciona las tramas de audio descodificadas. Los tiempos de presentación respectivos para los datos de audio (descodificados) y la trama predefinida para la trama de entrada codificada correspondiente se sincronizan de esta manera para los datos de audio/vídeo correspondientes. Al obtener y asociar el tiempo de presentación para la trama predefinida en el flujo de transporte, el dispositivo de origen de visualización inalámbrica puede facilitar de esta manera la sincronización de audio/vídeo ("Sinc AV") en el dispositivo colector de visualización inalámbrica. Además, las técnicas pueden permitir que un dispositivo de origen de visualización inalámbrica con capacidad limitada de codificación y descodificación transmita un vídeo de resolución y calidad superiores para su procesamiento y salida mediante un dispositivo colector de visualización inalámbrica más capacitado.
[0008] La invención se expone en el conjunto adjunto de reivindicaciones.
BREVE DESCRIPCIÓN DE LAS FIGURAS
[0009]
La FIG. 1 es un diagrama de bloques que ilustra un ejemplo de un dispositivo informático de origen de visualización inalámbrica configurado para transmitir de forma continua y directa datos de vídeo codificados a un dispositivo informático colector de visualización inalámbrica de acuerdo con técnicas descritas en esta divulgación.
La FIG. 2 es un diagrama de bloques que ilustra un ejemplo de un modelo o pila de protocolos de comunicación de datos para un sistema de visualización inalámbrica.
La FIG. 3 es un diagrama de bloques que ilustra un ejemplo de un dispositivo de origen de visualización inalámbrica de acuerdo con técnicas descritas en esta divulgación.
La FIG. 4 es un diagrama de flujo que ilustra un modo de funcionamiento de ejemplo para un dispositivo de origen de visualización inalámbrica de acuerdo con técnicas descritas en esta divulgación.
La FIG. 5 es un diagrama de bloques que ilustra un flujo de datos de ejemplo para determinar tiempos de presentación de tramas de vídeo mediante una fuente de visualización inalámbrica para la sincronización de audio/vídeo de acuerdo con técnicas descritas en el presente documento.
La FIG. 6 es un diagrama de bloques que ilustra componentes de ejemplo de un dispositivo de origen de visualización inalámbrica configurado para transmitir de forma continua y directa datos de vídeo codificados a un dispositivo informático colector de visualización inalámbrica de acuerdo con técnicas descritas en esta divulgación.
[0010] Números de referencia similares denotan elementos similares en las figuras y el texto.
DESCRIPCIÓN DETALLADA
[0011] Un dispositivo de origen y un dispositivo colector pueden implementar técnicas de comunicación de visualización inalámbrica (WD) que cumplan normas tales como WirelessHD, Wireless Home Digital Interface (WHDI) (interfaz digital doméstica inalámbrica), WiGig, Wireless USB y Wi-Fi Display (WFD) (también conocida como Miracast). Se puede encontrar información adicional acerca de la norma WFD en el documento de Wi-Fi Alliance "Wi-Fi Display Specification draft version 1.31", Comité técnico de Wi-Fi Alliance, Grupo de tareas de visualización (en lo sucesivo, "especificación Wi-Fi Display'). Un dispositivo de origen compatible con WFD, también conocido como Miracast, puede duplicar el audio y el vídeo proporcionados por el dispositivo de origen en un dispositivo colector para su emisión por el dispositivo colector. De esta manera, por ejemplo, un usuario de un teléfono inteligente puede duplicar el vídeo y el audio proporcionados por el teléfono inteligente, la tableta u otro dispositivo informático del usuario en otro dispositivo, tal como un televisor o proyector, que puede proporcionar una visualización de mayor resolución u otra mejora en la experiencia de usuario. De acuerdo con la especificación Wi-Fi Display, un dispositivo de origen WFD codifica datos de audio y vídeo proporcionados a dispositivos de interfaz de usuario del dispositivo de origen WFD (por ejemplo, un dispositivo de visualización y altavoces) para generar datos de audio y vídeo codificados. A continuación, el dispositivo de origen WFD empaqueta y envía los datos de audio y vídeo codificados a un dispositivo colector WFD para que el dispositivo colector WFD proporcione réplicas de los mismos. El dispositivo de origen WFD puede consumir energía de la batería, generalmente muy poca, para descodificar y mostrar los datos de vídeo de los datos de medios.
[0012] Las técnicas de esta divulgación pueden incluir la transmisión continua y directa de datos de vídeo desde un dispositivo de origen de visualización inalámbrica a un dispositivo colector de visualización inalámbrica. En algunos ejemplos, las técnicas incluyen transmitir de forma continua y directa datos de vídeo de entrada codificados (que pueden ser, por ejemplo, una película extraída de un dispositivo de almacenamiento/memoria o recibida a través de una red) al dispositivo colector de visualización inalámbrica, es decir, sin que el dispositivo de origen de visualización inalámbrica descodifique los datos de vídeo de entrada codificados para enviarlos a un dispositivo de visualización del dispositivo de origen de visualización inalámbrica. En cambio, el dispositivo de origen de visualización inalámbrica puede enviar una trama predefinida al dispositivo de visualización del dispositivo de origen de visualización inalámbrica mientras transmite los datos de vídeo de entrada codificados directamente al dispositivo colector de visualización inalámbrica. Como resultado, otros componentes del dispositivo de origen de visualización inalámbrica, tales como aplicaciones y reproductores de medios, pueden funcionar con normalidad para renderizar y visualizar la trama predefinida en el dispositivo de visualización. Además, debido a que los datos de vídeo de entrada codificados se proporcionan sin haber sido descodificados, el dispositivo de origen de visualización inalámbrica puede evitar el uso de hardware de descodificación de vídeo para la transmisión continua directa, lo que puede permitir un ahorro de energía en el dispositivo de origen de visualización inalámbrica. Debido a que los datos codificados se transmiten de forma continua y directa desde el dispositivo de origen de visualización inalámbrica, se puede lograr un mayor ahorro de energía, ya que se evita la captura de tramas renderizadas en el dispositivo de visualización y la codificación de la trama capturada. Además, la calidad de vídeo se puede mejorar en el dispositivo colector al evitarse la necesidad de descodificar y, a continuación, recodificar los datos en el lado de origen para duplicarlos en el dispositivo colector. En particular, al evitarse el proceso de recodificación y al enviarse los datos originales no codificados desde el dispositivo de origen al dispositivo colector, la calidad de vídeo puede mejorarse en el dispositivo colector.
[0013] Para sincronizar los datos de audio y los datos de vídeo de los datos de medios de entrada para su presentación en el dispositivo colector de visualización inalámbrica, para una trama de entrada codificada dada de los datos de vídeo, los datos de vídeo, el dispositivo de origen de visualización inalámbrica determina un tiempo de renderización para la trama predefinida proporcionada al dispositivo de visualización para la trama de entrada codificada. El tiempo de renderización se puede determinar capturando el momento en el que se consume la trama predefinida para su renderización después de que los módulos del dispositivo de origen de visualización inalámbrica que reciben la trama predefinida realicen la sincronización de audio y vídeo. Por ejemplo, el tiempo de presentación se puede determinar como el tiempo en que la memoria intermedia que almacena la trama predeterminada se devuelve tras su consumo. Este tiempo de renderización representa un tiempo de presentación para la trama de entrada codificada, y el dispositivo de origen de visualización inalámbrica asocia este tiempo de presentación a la trama de entrada codificada en el flujo de transporte enviado al dispositivo colector de visualización inalámbrica. Al recibir la trama de entrada codificada en asociación con el tiempo de presentación a través del flujo de transporte, el dispositivo colector de visualización inalámbrica descodifica la trama de entrada codificada y muestra la trama de entrada de acuerdo con el tiempo de presentación. El dispositivo de origen de visualización inalámbrica captura, para su codificación y transporte, tramas de audio descodificadas y de salida de los medios de entrada a medida que el dispositivo de origen de visualización inalámbrica presenta/proporciona las tramas de audio descodificadas. Los tiempos de presentación respectivos para los datos de audio (descodificados) y la trama predefinida para la trama de entrada codificada correspondiente se sincronizan de esta manera para los datos de audio/vídeo correspondientes. Al obtener y asociar el tiempo de presentación para la trama predefinida en el flujo de transporte, el dispositivo de origen de visualización inalámbrica puede facilitar de esta manera la sincronización de audio/vídeo en el dispositivo colector de visualización inalámbrica.
[0014] La FIG. 1 es un diagrama de bloques que ilustra un ejemplo de un dispositivo informático de origen de visualización inalámbrica 110 ("dispositivo de origen 110") configurado para transmitir de forma continua y directa datos de vídeo codificados a un dispositivo informático colector de visualización inalámbrica 114 ("dispositivo colector 114") de acuerdo con técnicas descritas en esta divulgación. El dispositivo de origen 110 puede comprender cualquier dispositivo que incluya al menos una interfaz de salida nativa configurada para proporcionar medios, tales como medios audio y/o visuales. Por ejemplo, el dispositivo de origen 110 representado en la FIG. 1 comprende un teléfono inteligente o una tableta electrónica que incluye una primera interfaz de salida que comprende una pantalla de visualización 112, y una segunda interfaz de salida que comprende uno o más altavoces (no ilustrados en la FIG. 1) nativos del dispositivo de origen. En otros ejemplos, el dispositivo de origen 110 puede comprender un ordenador portátil, un ordenador de escritorio, controlador de juegos o cualquier otro dispositivo que esté configurado para usar un dispositivo de visualización inalámbrica para transmitir de forma continua y directa datos de vídeo codificados a un dispositivo colector 114.
[0015] Como se muestra en el ejemplo de la FIG. 1, la pantalla 112 del dispositivo de origen 110 puede configurarse para proporcionar una salida gráfica nativa 130. La salida gráfica nativa 130 puede comprender, por ejemplo, una o más imágenes fijas o de vídeo. Como también se muestra en el ejemplo de la FIG. 1, los altavoces del dispositivo de origen 110 están configurados para proporcionar una salida de audio nativa 131. La salida de audio nativa 131 puede comprender uno o más sonidos audibles. Dicha salida de audio 131 puede estar asociada a (por ejemplo, configurada para ser proporcionada junto con) la salida gráfica 130. Por ejemplo, cuando la salida gráfica nativa 130 comprende contenido de imagen o vídeo, la salida de audio 131 puede comprender sonidos audibles asociados al vídeo o a la imagen.
[0016] Como se muestra en la FIG. 1, el dispositivo de origen 110 está acoplado de forma comunicativa a al menos uno o varios dispositivos colectores 114 (en lo sucesivo, "dispositivo colector 114"). El dispositivo colector 114 puede ser utilizado por el dispositivo de origen 110 para hacer funcionar uno o más dispositivos de salida 120, 124 asociados al dispositivo colector 114 para duplicar la salida de medios nativos del dispositivo de origen 110. El término "duplicar" como se describe en el presente documento puede referirse a controlar, mediante el dispositivo de origen 110, al menos un dispositivo colector 114 para que proporcione al menos una parte de los medios nativos, tales como la salida de medios nativos de audio, vídeo y/o imágenes del dispositivo de origen 110.
[0017] El dispositivo de origen 110 puede controlar el dispositivo colector 114 con una sesión de duplicación activa para duplicar la salida de medios del dispositivo de origen 110 a través de uno o más dispositivos de salida 120, 124 asociados al dispositivo colector 114. Por ejemplo, como se muestra en la FIG. 1, el dispositivo de origen 110 puede controlar un dispositivo de visualización externo 120 para generar una salida gráfica duplicada 132, que puede comprender una salida gráfica sustancialmente similar a la salida gráfica nativa 130 del dispositivo de origen 110. La salida gráfica duplicada 132 puede comprender la misma o más imágenes que la salida gráfica nativa 130, pero dichas imágenes pueden procesarse, dimensionarse, formatearse y/o modificarse de otro modo para su presentación por medio del dispositivo de visualización externo 120.
[0018] Como también se muestra en la FIG. 1, el dispositivo de origen 110 puede controlar un dispositivo de audio externo 124 para proporcionar una salida de audio duplicada 136, que puede comprender una salida de audio sustancialmente similar a la salida de audio 131 representada en la FIG. 1. La salida de audio duplicada 136 puede comprender los mismos sonidos audibles que la salida gráfica nativa 130, pero procesada, formateada y/o modificada de otro modo para proporcionarse por medio del dispositivo de audio externo 124. En algunos ejemplos, el dispositivo de origen 110 puede controlar el dispositivo colector 114 para proporcionar medios que comprenden la salida gráfica nativa 130 así como la salida de audio nativa 131 del dispositivo de origen 110.
[0019] En algunos ejemplos, tal como se muestra en la FIG. 1, el dispositivo colector 114 puede comprender un dispositivo que está acoplado a uno o más de un dispositivo de visualización externo 120, tal como una pantalla de televisión, un monitor de ordenador o similar, que incluye una pantalla 122 configurada para presentar imágenes para un espectador, y/o un dispositivo de audio externo 124, tal como altavoces o un sistema estéreo. Por ejemplo, el dispositivo colector 114 puede comprender un descodificador (por ejemplo, GOOGLE TV, APPLE TV, ROKU), una consola de juegos (por ejemplo, NINTENDO WII, SONY PLAYSTATION 3, MICROSOFT XBOX), un reproductor de discos de vídeo digital (DVD), una TV inteligente, un dispositivo dongle de TV (por ejemplo, Google Chromecast), un reproductor de Blu-ray u otra unidad individual acoplada a un dispositivo de visualización externo y/o un dispositivo de audio externo como se muestra en el ejemplo de la FIG. 1. En otros ejemplos no ilustrados en la FIG. 1, uno o más del dispositivo colector 114, el dispositivo de visualización externo 120 y/o el dispositivo de audio externo 124 pueden combinarse como un solo dispositivo. Por ejemplo, un dispositivo de visualización, tal como un televisor o un monitor de ordenador, puede incluir tanto una pantalla 122 como uno o más altavoces. En otros ejemplos, los mismos o diferentes dispositivos colectores 114 pueden controlar una o más interfaces de salida de audio o vídeo que están separadas del uno o más dispositivos colectores 114. De acuerdo con otros ejemplos más, la funcionalidad realizada por el dispositivo colector 114 como se describe en el presente documento puede ser realizada por uno o más de un dispositivo de visualización externo y/o un dispositivo de audio externo. Por ejemplo, una pantalla de televisión y/o un receptor estéreo puede incluir hardware y/o software configurados para acoplar de forma comunicativa la televisión y/o el receptor estéreo al dispositivo de origen 110, de manera
que los medios nativos del dispositivo de origen 110 puedan duplicarse en la pantalla de televisión o el receptor estéreo.
[0020] El dispositivo de origen 110 transmite de forma continua datos de medios al dispositivo colector 114 para duplicar la salida de medios del dispositivo de origen 110 por medio del canal de comunicación inalámbrica 150. El canal de comunicación 150 puede ser un canal de comunicación de alcance relativamente corto, y puede implementar una estructura de canal físico tal como, o similar a, Wi-Fi, Bluetooth o similar, por ejemplo implementando estructuras de banda de frecuencias definidas de 2,4, GHz, 3,6 GHz, 5 GHz, 60 GHz o banda ultraancha (UWB). Sin embargo, el canal de comunicación 150 no está necesariamente limitado en este aspecto, y puede comprender cualquier medio de comunicación inalámbrico o cableado, tal como un espectro de radiofrecuencia (RF) o una o más líneas de transmisión física, o cualquier combinación de medios inalámbricos y cableados. En otros ejemplos, el canal de comunicación 150 puede incluso formar parte de una red basada en paquetes, tal como una red de área local cableada o inalámbrica, una red de área extensa o una red global tal como Internet. De forma adicional o alternativa, el canal de comunicación 150 puede ser usado por el dispositivo de origen 110 y el dispositivo colector 114 para crear un enlace de igual a igual.
[0021] El dispositivo de origen 110 y el dispositivo colector 114 pueden establecer una sesión de comunicación de acuerdo con una negociación de capacidad usando, por ejemplo, mensajes de control del protocolo de transmisión continua en tiempo real (RTSP). En un ejemplo, una solicitud para establecer una sesión de comunicación puede ser enviada por el dispositivo de origen 110 al dispositivo colector 114. Una vez que se establece la sesión de uso compartido de medios, el dispositivo de origen 110 transmite datos de medios, por ejemplo, datos de audio y vídeo (AV), al dispositivo colector 114 usando el protocolo de transporte en tiempo real (RTP). El dispositivo colector 114 renderiza y proporciona los datos de medios recibidos al dispositivo de visualización externo 120 y al dispositivo de audio 124.
[0022] El dispositivo de origen 110 y el dispositivo colector 114 pueden comunicarse por medio del canal de comunicación 150 usando un protocolo de comunicaciones tal como una norma de la familia de normas IEEE 802.11. En un ejemplo, el canal de comunicación 150 puede ser un canal de comunicación de red. En este ejemplo, un proveedor de servicios de comunicación puede hacer funcionar y administrar la red de forma centralizada usando una estación base como un concentrador de red. El dispositivo de origen 110 y el dispositivo colector 114 pueden, por ejemplo, comunicarse de acuerdo con las normas Wi-Fi Directy/o Wi-Fi Display (WFD), de modo que el dispositivo de origen 110 y el dispositivo colector 114 se comunican directamente entre sí sin el uso de un intermediario, tal como puntos de acceso inalámbricos o las denominadas zonas activas. El dispositivo de origen 110 y el dispositivo colector 114 también pueden establecer una configuración de enlace directo tunelizado (TDLS) para evitar o reducir la congestión de la red. WiFi Direct y TDLS están concebidos para establecer sesiones de comunicación a distancias relativamente cortas. Una distancia relativamente corta en este contexto puede referirse, por ejemplo, a menos de aproximadamente 70 metros, aunque, en un entorno ruidoso u obstruido, la distancia entre dispositivos puede ser incluso menor, tal como menos de aproximadamente 35 metros o menos de aproximadamente 20 metros.
[0023] Las técnicas de esta divulgación pueden describirse, a veces, con respecto a WFD, pero se contempla que los aspectos de estas técnicas también puedan ser compatibles con otros protocolos de comunicación. A modo de ejemplo y no de limitación, la comunicación inalámbrica entre el dispositivo de origen 110 y el dispositivo colector 114 puede utilizar técnicas de multiplexación por división de frecuencia ortogonal (OFDM). También se puede usar una amplia variedad de otras técnicas de comunicación inalámbrica, que incluyen, pero sin limitarse a, el acceso múltiple por división del tiempo (TDMA), el acceso múltiple por división de frecuencia (FDMA), el acceso múltiple por división de código (CDm A) o cualquier combinación de OFDM, FDMA TDMA y/o CDMA.
[0024] Como se describió anteriormente, el dispositivo de origen 110 puede configurarse para duplicar la salida de medios del dispositivo de origen 110 por medio del dispositivo colector 114. Por ejemplo, el dispositivo de origen 110 puede proporcionar a un usuario una opción seleccionable por el usuario para activar o desactivar un modo de duplicación en el que los medios de audio nativos, los medios visuales nativos, o ambos, se proporcionan por medio del dispositivo colector 114. En un modo de funcionamiento estándar, el dispositivo de origen 110 puede recibir medios en forma de una pluralidad de datos de medios codificados a través de un medio de comunicación (por ejemplo, Internet) o de un medio de almacenamiento legible por ordenador, tal como un disco duro o un disco de vídeo digital (DVD), y controlar una o más interfaces de salida nativas del dispositivo de origen 110 para proporcionar medios que comprenden la pluralidad de datos de medios codificados. Dichas interfaces de salida nativas pueden incluir una pantalla 112 para proporcionar una salida gráfica nativa 130 y/o un altavoz para proporcionar audio nativo 131. En dicho modo de duplicación, el dispositivo de origen 110 puede controlar el dispositivo colector 114 para hacer que el dispositivo colector 114 proporcione sustancialmente los mismos medios que la salida gráfica nativa 130 y/o la salida de audio nativa 131 que el dispositivo de origen 110 hubiera proporcionado usando una o más interfaces de salida nativas en el modo de funcionamiento estándar.
[0025] De acuerdo con las técnicas descritas en esta divulgación, en un funcionamiento para duplicar la salida gráfica nativa 130 en el dispositivo colector 114, el dispositivo de origen 110 puede pausar la duplicación de la salida gráfica nativa 130 para enviar datos de vídeo de los datos de medios recibidos al dispositivo colector 114
por medio del canal de comunicación 150 sin haber descodificado los datos de vídeo y sin interferir con la reproducción de vídeo o las aplicaciones de transmisión continua existentes. En algunos ejemplos, el dispositivo de origen 110 no proporciona los datos de vídeo para su visualización como salida gráfica nativa 130.
[0026] En algunos ejemplos, en lugar de descodificar los datos de vídeo codificados para obtener y proporcionar la salida gráfica nativa 130 por medio de la pantalla 112, el dispositivo de origen 110 puede proporcionar una trama de vídeo predefinida como salida gráfica nativa 130 para su visualización en la pantalla 112 mientras envía simultáneamente los datos de vídeo codificados al dispositivo colector 114. Por ejemplo, un usuario puede solicitar una aplicación ejecutada por el dispositivo de origen 110 para reproducir datos multimedia. La aplicación puede obtener los datos multimedia, codificados de acuerdo con una norma de compresión, por medio de un canal de comunicación a un servidor o desde un medio de almacenamiento legible por ordenador del dispositivo de origen 110, por ejemplo. Cuando funciona en modo de duplicación, en lugar de tramas de datos de vídeo descodificados de los datos multimedia, el dispositivo de origen 110 proporciona una trama de vídeo predefinida a la pantalla 112 para su visualización como salida gráfica nativa 130. Al mismo tiempo, el dispositivo de origen 110 envía datos de vídeo codificados de los datos multimedia codificados al dispositivo colector 114.
[0027] En algunos ejemplos, el dispositivo de origen 110 facilita la salida sincronizada de datos de audio y vídeo de los datos multimedia en el dispositivo colector 114 asociando un tiempo de presentación a los datos de vídeo enviados por medio del canal de comunicación 150. El dispositivo de origen 110 puede obtener el tiempo de presentación basándose en una presentación de una trama de vídeo predefinida proporcionada por el dispositivo de origen 110 como salida gráfica nativa 130. En otras palabras, cuando funciona en modo de duplicación, el dispositivo de origen 110 puede proporcionar, en lugar de una trama de vídeo de datos de vídeo de los datos multimedia, una trama predefinida a la pantalla 112 como salida gráfica nativa 130. El dispositivo de origen 110 obtiene una marca de tiempo basada en el tiempo de presentación para la salida de trama predefinida correspondiente a la trama de vídeo y envía los datos de vídeo codificados para la trama de vídeo en asociación con la marca de tiempo. El dispositivo colector 114 puede entonces descodificar los datos de vídeo codificados para obtener la trama de vídeo y proporcionar la trama de vídeo al dispositivo de visualización externo 120 como salida gráfica duplicada 132 en el momento especificado por la marca de tiempo. En algunos ejemplos, el dispositivo de origen 110 duplica los datos de audio de los datos multimedia codificando datos de audio renderizados y asociando los datos de audio codificados a tiempos de presentación de los datos de audio correspondientes. Al obtener y asociar también un tiempo de presentación para una trama de vídeo predefinida en el flujo de transporte de la manera descrita anteriormente, el dispositivo de origen 110 facilita la salida sincronizada de audio y vídeo en el dispositivo colector 114.
[0028] Una trama predefinida puede ser, en algunos ejemplos, una trama en negro para minimizar el consumo de energía de la pantalla 112 para presentar la trama en negro. En algunos ejemplos, la trama predefinida puede ser un logotipo, una alerta de usuario u otro mensaje de usuario. La trama predefinida puede tener una resolución similar a la de las tramas de vídeo para los datos de vídeo de entrada codificados.
[0029] En algunos ejemplos, el dispositivo de origen 110 usa un descodificador de duplicación para ''descodificar'' datos de vídeo mientras funciona en modo de duplicación. El descodificador de duplicación puede presentar una interfaz idéntica a otros descodificadores de vídeo para que una interfaz de descodificador descodifique el hardware del dispositivo de origen 110. El descodificador de duplicación puede proporcionar además un flujo de memoria intermedia de tramas de vídeo idéntico al de otros descodificadores de vídeo para la interfaz de descodificador. Sin embargo, en lugar de descodificar datos de vídeo para proporcionarlos a la pantalla 112, el descodificador de duplicación en dichos ejemplos consume memorias intermedias de entrada para la interfaz de descodificador, donde las memorias intermedias de entrada almacenan datos de vídeo codificados, y el dispositivo de origen 110 envía los datos de vídeo codificados al dispositivo colector 114. Además, en lugar de descodificar los datos de vídeo codificados para su provisión por medio de memorias intermedias de salida para la interfaz de descodificador, el descodificador de duplicación escribe una trama predefinida en las memorias intermedias de salida para la interfaz de descodificador. Como resultado, el dispositivo de origen 110 puede proporcionar la trama predefinida a la pantalla 112 como salida gráfica nativa 130. El tiempo en que se consume una memoria intermedia de salida se aproxima al menos al tiempo de presentación de la trama de vídeo almacenada en la memoria intermedia de salida. El descodificador de duplicación puede recibir una señal u otra notificación desde una aplicación de duplicación que indica que se ha consumido la memoria intermedia de salida, generar una marca de tiempo al recibir la señal y asociar la marca de tiempo a datos de vídeo codificados correspondientes que de otro modo se habrían descodificado y almacenado en la memoria intermedia de salida. El dispositivo de origen 110 puede enviar entonces los datos de vídeo codificados en asociación con la marca de tiempo (un tiempo de presentación) en un flujo de transporte al dispositivo colector 114 para hacer que el dispositivo colector 114 descodifique el vídeo codificado en una trama de vídeo y presente la trama de vídeo en el tiempo de presentación asociado.
[0030] La FIG. 2 es un diagrama de bloques que ilustra un ejemplo de un modelo o pila de protocolos de comunicación de datos para un sistema de visualización inalámbrica (WD). El modelo de comunicación de datos 200 ilustra las interacciones entre los protocolos de datos y de control usados para transmitir datos entre un dispositivo de origen y un dispositivo colector en un sistema WD implementado. En algunos ejemplos, el dispositivo
de origen 110 de la FIG. 1 puede usar el modelo de comunicación de datos 200. El modelo de comunicación de datos 200 incluye una capa física (PHY) 202, una capa de control de acceso a medios (MAC) 204, el protocolo de Internet (IP) 206, el protocolo de datagramas de usuario (UDP) 208, el protocolo de transporte en tiempo real (RTP) 210, el flujo de transporte MPEG2 (MPEG2-TS) 212, protección de contenido 214, paquetización de flujo elemental empaquetado (PES) 216, un códec de vídeo 218 que incluye un códec de duplicación 218A, un códec de audio 220, el protocolo de control de transporte (TCP) 222, el protocolo de transmisión continua en tiempo real (RTSP) 224, paquetización de entrada de usuario 228, comandos de dispositivo de interfaz humana (HIDC) 230 y entradas de usuario genéricas 232. La paquetización de entrada de usuario 228, los HIDC 230 y las entradas de usuario genéricas 232 pueden constituir el canal de retorno de entradas de usuario (UIBC) 201.
[0031] La capa física 202 y la capa MAC 204 pueden definir la señalización física, el direccionamiento y el control de acceso a canal usados para las comunicaciones en un sistema WD. La capa física 202 y la capa MAC 204 pueden definir la estructura de banda de frecuencia usada para la comunicación, por ejemplo, las bandas de la Comisión Federal de Comunicaciones definidas en estructuras de banda de frecuencia de 2,4, GHz, 3,6 GHz, 5 GHz, 60 GHz o de banda ultraancha (UWB). La capa física 202 y MAC 204 también pueden definir técnicas de modulación de datos, por ejemplo técnicas de modulación de amplitud analógica y digital, de modulación de frecuencia, de modulación de fase y combinaciones de las mismas. La capa física 202 y MAC 204 también pueden definir técnicas de multiplexación, por ejemplo acceso múltiple por división del tiempo (TDMA), acceso múltiple por división de frecuencia (FDMA), acceso múltiple por división de código (CDMA) o cualquier combinación de OFDM, FDMA, TDMA y/o CDMA. En un ejemplo, la capa física 202 y la capa de control de acceso a medios 204 pueden definirse mediante una norma Wi-Fi (por ejemplo, IEEE 802.11-2007 y 802.11 n-2009x), como la proporcionada por WFD. En otros ejemplos, la capa física 202 y la capa de control de acceso a medios 204 pueden definirse mediante cualquiera de: WirelessHD, Wireless Home Digital Interface (WHDI) (interfaz digital doméstica inalámbrica), WiGig y Wireless USB.
[0032] El protocolo de Internet (IP) 206, el protocolo de datagramas de usuario (UDP) 208, el protocolo de transporte en tiempo real (RTP) 210, el protocolo de control de transporte (TCP) 222 y el protocolo de transmisión continua en tiempo real (RTSP) 224 definen estructuras y encapsulaciones de paquetes usadas en un sistema WD y pueden definirse de acuerdo con las normas mantenidas por el Grupo de trabajo de ingeniería de Internet (IETF).
[0033] El RTSP 224 se puede usar por el dispositivo de origen 110 y el dispositivo colector 114, por ejemplo, para negociar capacidades, establecer una sesión y mantener y gestionar la sesión. El dispositivo de origen 110 y el dispositivo colector 114 pueden establecer el canal de retroalimentación usando una transacción de mensajes RTSP para negociar una capacidad del dispositivo de origen 110 y del dispositivo colector 114 para admitir el canal de retroalimentación y la categoría de entrada de retroalimentación en el UIBC. El uso de la negociación RTSP para establecer un canal de retroalimentación puede ser similar al uso del proceso de negociación RTSP para establecer una sesión de uso compartido de medios y/o el UIBC.
[0034] Uno o más códec(s) de vídeo 218 puede(n) definir las técnicas de codificación de datos de vídeo que se pueden usar por un sistema WD para comprimir datos de vídeo para su transporte a través de un canal de comunicación WD. Cada uno de los códecs de vídeo 218 puede implementar cualquier número de normas de compresión de vídeo, tales como ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 o ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual, ITU-T H.264 (también conocida como ISO/IEC MPEG-4 AVC), VP8, VP9 y codificación de vídeo de alta eficacia (HEVC). Cabe destacar que, en algunos casos, el sistema WD puede comprimir o descomprimir datos de vídeo. El/los códec(s) de vídeo 218 incluye, en este ejemplo, un códec de duplicación 218A para transmitir de forma continua y directa datos de vídeo codificados a un dispositivo colector WD.
[0035] El códec de audio 220 puede definir las técnicas de codificación de datos de audio que puede usar un sistema WD. Los datos de audio pueden codificarse usando formatos multicanal tales como los desarrollados por Dolby y Digital Theater Systems. Los datos de audio se pueden codificar usando un formato comprimido o sin comprimir. Ejemplos de formatos de audio comprimidos incluyen MPEG-1, 2 Audio Layers II y III, AC-3, AAC y Vorbis. Un ejemplo de un formato de audio sin comprimir incluye el formato de audio de modulación por impulsos codificados (PCM).
[0036] La paquetización de flujos elementales empaquetados (PES) 216 y el flujo de transporte MPEG2 (MPEG2-TS) 212 pueden definir cómo se empaquetan y transmiten los datos codificados de audio y vídeo. La paquetización de flujos elementales empaquetados (PES) 216 y MPEG-TS 212 se pueden definir de acuerdo con MPEG-2 Parte 1. En otros ejemplos, los datos de audio y vídeo pueden empaquetarse y transmitirse de acuerdo con otros protocolos de flujo de transporte y paquetización. La protección de contenido 214 puede brindar protección contra la copia no autorizada de datos de audio o vídeo. En un ejemplo, la protección de contenido 214 puede definirse de acuerdo con la especificación de protección de contenido digital de alto ancho de banda 2.0.
[0037] El UIBC 201 incluye la paquetización de entradas de usuario 228, que puede definir cómo se empaqueta las entradas de usuario. Los comandos de dispositivo de interfaz humana (HIDC) 230 y las entradas de usuario genéricas 232 pueden definir cómo se formatean los tipos de entradas de usuario en elementos de información.
Por ejemplo, los comandos de dispositivo de interfaz humana 230 y las entradas de usuario genéricas 232 pueden categorizar las entradas basándose en el tipo de interfaz de usuario (por ejemplo, ratón, teclado, toque, múltiples toques, voz, gestos, interfaz específica del proveedor, etc.) y los comandos (por ejemplo, zum, visión panorámica, etc.) y determinar cómo se deben formatear las entradas del usuario en elementos de información. La categorización como HIDC y como entrada de usuario genérica afecta típicamente a la manera en que los datos de medios subsiguientes se presentan al usuario en el dispositivo colector 114 (por ejemplo, operaciones de zum y visión panorámica) y a la manera en que el dispositivo de origen 110 procesa (por ejemplo, codifica y/o transmite) los datos de medios al dispositivo colector 114.
[0038] El códec de duplicación 218A puede presentar una interfaz idéntica a otro(s) códec(s) de vídeo 218 para que una interfaz de descodificador descodifique el hardware del dispositivo de origen 110. El códec de duplicación 218A puede proporcionar además un flujo de memoria intermedia de tramas de vídeo idéntico al de otros descodificadores de vídeo para la interfaz de descodificador. Sin embargo, en lugar de descodificar los datos de vídeo recibidos en la parte superior del modelo de comunicaciones de datos 200, el códec de duplicación 218A consume memorias intermedias de entrada para la interfaz de descodificador, donde las memorias intermedias de entrada almacenan datos de vídeo codificados, y presenta los datos de vídeo codificados a la paquetización PES 216. Además, el códec de duplicación 218A escribe una trama predefinida en las memorias intermedias de salida para la interfaz de descodificador. Como resultado, un dispositivo que funciona de acuerdo con el modelo de comunicaciones de datos 200 puede proporcionar la trama predefinida para su visualización. El tiempo en que se consume una memoria intermedia de salida se aproxima al menos al tiempo de presentación de la trama de vídeo almacenada en la memoria intermedia de salida por el códec de duplicación 218A. El códec de duplicación 218A puede recibir una señal u otra notificación (desde una aplicación de duplicación que emplea el modelo de comunicación de datos 200) que indica que la memoria intermedia de salida se ha consumido. El códec de duplicación 218A puede generar una marca de tiempo al recibir la señal y asociar la marca de tiempo a datos de vídeo codificados correspondientes que de otro modo se habrían descodificado y almacenado en la memoria intermedia de salida. La capa MPEG2-TS 212 y el RTP 210 pueden recibir esta marca de tiempo y asociar la marca de tiempo a los datos de vídeo codificados como un tiempo de presentación para los datos de vídeo. Por ejemplo, la capa MPEG2-TS 212 puede establecer la marca de tiempo de presentación (PTS) en el flujo de transporte para los datos de vídeo duplicados en la marca de tiempo para sincronizar la presentación de datos de vídeo con la presentación de datos de audio.
[0039] Una aplicación de duplicación de un dispositivo de origen de visualización inalámbrica puede emplear el modelo de comunicaciones de datos 200 para duplicar datos de audio y vídeo. El códec de duplicación 218A del/de los códec(s) de vídeo 218 puede permitir que la aplicación de duplicación reduzca el consumo de energía en el dispositivo de origen de visualización inalámbrica con poco o ningún impacto en las aplicaciones de reproducción o transmisión continua de vídeo existentes. Debido a que el códec de duplicación 218A no codifica datos de vídeo renderizados de acuerdo con técnicas de visualización inalámbrica convencionales, el modelo de comunicación de datos 200 usa un protocolo de transporte de entrega garantizada y orientado a la conexión (en este caso, TCP 222) en lugar de UDP 208 para transmitir de forma continua y directa datos de vídeo codificados para compensar la pérdida de la capacidad de identificar y retransmitir tramas I perdidas.
[0040] En algunos ejemplos y de acuerdo con las técnicas descritas en el presente documento, durante la negociación de una sesión RTSP 224, un dispositivo de origen 110 que ejecuta el modelo de comunicación de datos 200 puede anunciar usando RTSP 224 todos los códecs admitidos y los perfiles y niveles correspondientes admitidos. El dispositivo de origen 110 puede entonces comenzar a duplicar usando el mejor códec compatible común con la mejor resolución y perfil admitidos tanto en el dispositivo de origen 110 como en el dispositivo colector 114.
[0041] Tras la reproducción de datos de vídeo, el dispositivo de origen 110 puede cargar el códec de duplicación 218A que determina, basándose en la información de vídeo de la sesión, si el formato de los datos de vídeo es compatible con el dispositivo colector 114. Si se admite el formato, el códec de duplicación 218A puede determinar si más de una sesión de descodificación de vídeo está activa y, de ser así, utilizar las técnicas de duplicación descritas en el presente documento.
[0042] Sin embargo, si el formato es admitido por el dispositivo colector 114 y sólo está activa una sesión de descodificación de vídeo, el dispositivo de origen 110 puede enviar un mensaje al dispositivo colector 114, que indica el nuevo formato de vídeo que se usará para transmitir los datos de vídeo de forma continua. A continuación, el dispositivo de origen 110 envía tramas de vídeo al dispositivo colector 114. El dispositivo colector puede enviar las tramas de vídeo en asociación con marcas de tiempo obtenidas en momentos en los que el reproductor está renderizando una trama predefinida para lograr la sincronización con el audio capturado desde la salida del mezclador de audio en el dispositivo de origen 110. Tras la finalización de la reproducción de datos de vídeo, el dispositivo de origen 110 notifica al dispositivo colector 114 el formato de vídeo que se usará para la duplicación, y la sesión de descodificación de vídeo puede seguir con la duplicación.
[0043] La FIG. 3 es un diagrama de bloques que ilustra un ejemplo de un dispositivo de origen de visualización inalámbrica de acuerdo con técnicas descritas en esta divulgación. Como se muestra en la FIG. 3, el dispositivo
de origen 310 incluye una memoria 341, un módulo de comunicaciones 342, un módulo de procesamiento de gráficos 343, un procesador 344, una interfaz de visualización 348 y una interfaz de audio 354. El procesador 344 puede incluir uno o más componentes del dispositivo 310 configurados para ejecutar instrucciones. Por ejemplo, el procesador 344 puede comprender una o más unidades de procesamiento central (CPU), circuitos integrados específicos de la aplicación (ASIC), matrices de puertas programables in situ (FPGA), componentes lógicos discretos u otro componente configurado para ejecutar instrucciones que controlan el funcionamiento del dispositivo 310.
[0044] La memoria 341 comprende uno o más componentes del dispositivo 310 configurados para almacenar datos y/o instrucciones, tales como uno o más componentes de almacenamiento magnético, componentes de almacenamiento óptico, componentes de almacenamiento de memoria de acceso aleatorio (RAM), componentes de almacenamiento de memoria FLASH o cualquier otro componente configurado para almacenar instrucciones y/o datos. Por ejemplo, la memoria 341 puede almacenar uno o más programas de software que hacen funcionar al dispositivo 310. De forma adicional o alternativa, la memoria 341 se puede configurar para almacenar datos que representan medios que pueden ser proporcionados por el dispositivo 310. Por ejemplo, la memoria 341 puede almacenar una o más representaciones digitales de sonidos audibles, imágenes fijas, vídeo u otros medios que pueden ser proporcionados por el dispositivo 310.
[0045] El módulo de comunicaciones 342 puede comprender uno o más componentes de hardware y/o software del dispositivo 310 configurados para permitir que el dispositivo 310 se comunique con otro u otros dispositivos. Por ejemplo, el módulo de comunicaciones 342 puede comprender uno o más componentes que permiten una o más comunicaciones inalámbricas (por ejemplo, WI-FI, Bluetooth, red celular (por ejemplo, red celular 3G, 4G) o comunicación por cable (por ejemplo, Ethernet)). En algunos ejemplos, el módulo de comunicaciones 342 puede ser utilizado por el dispositivo 310 para controlar otro dispositivo con respecto a otro dispositivo, tal como el dispositivo colector 114 representado en la FIG. 1, para duplicar la salida de medios del dispositivo 310. Por ejemplo, el dispositivo de origen 310 puede acoplarse al dispositivo colector a través del módulo de comunicaciones 342 de manera que el dispositivo de origen 310 puede comunicar datos y/o instrucciones que hacen que el dispositivo colector duplique los datos de acuerdo con las técnicas descritas en el presente documento.
[0046] El módulo de procesamiento de gráficos 343 puede comprender uno o más componentes de hardware y/o de software del dispositivo 310 configurados para procesar instrucciones de gráficos (por ejemplo, instrucciones de gráficos de nivel superior como, por ejemplo, una o más instrucciones de acuerdo con la norma OpenGL) y generar datos de imagen que se pueden usar para presentar imágenes por medio de la interfaz de visualización 348. Por ejemplo, el módulo de procesamiento de gráficos 343 puede comprender una unidad de procesamiento de gráficos (GPU) y/u otros componentes configurados para procesar gráficos. En algunos ejemplos, el módulo de gráficos 343 puede procesar gráficos basándose en instrucciones de gráficos recibidas desde una o aplicaciones de software que se ejecutan en el procesador 344. En otros ejemplos, el módulo de gráficos 343 puede procesar gráficos basándose en instrucciones de gráficos recibidas desde la memoria 341 y/o el módulo de comunicaciones 342.
[0047] Como se muestra en la FIG. 3, el dispositivo 310 también puede incluir un módulo de procesamiento de visualización 360 y un módulo de procesamiento de audio 350. El módulo de procesamiento de audio 350 puede procesar datos de imagen recibidos para controlar uno o más altavoces externos al dispositivo de origen 310. Por ejemplo, el módulo de procesamiento de audio 350 puede, por medio de la interfaz de audio 354, controlar al menos un altavoz. El módulo de procesamiento de audio 350 puede procesar datos de audio para enviarlos a una o más interfaces de audio externas para duplicar la salida de medios de audio nativos del dispositivo de origen 310. Por ejemplo, el módulo de procesamiento de audio 350 puede procesar los datos de audio modificando la velocidad de bits, el volumen, una técnica de codificación de audio u otra característica de los datos de audio para su provisión por medio de uno o más altavoces.
[0048] El módulo de procesamiento de visualización 360 se puede configurar para recibir, desde una o más fuentes tales como la memoria 341, el módulo de comunicaciones 342, el módulo de procesamiento de gráficos 343 y/o una o más aplicaciones de software que se ejecutan en el procesador 344, datos de imagen que representan uno o más elementos de medios que representan una o más imágenes que visualizar. El módulo de procesamiento de visualización 360 se puede configurar para procesar dichos datos recibidos para su presentación por medio de uno o más dispositivos de visualización. Por ejemplo, como se muestra en la FIG. 3, el módulo de procesamiento de visualización 360 puede procesar datos de imagen para controlar un dispositivo de visualización nativo del dispositivo de origen 310, tal como la pantalla 112, que es una pantalla nativa del dispositivo de origen 110 representado en la FIG. 1.
[0049] El módulo de procesamiento de visualización 360 incluye un módulo de visualización 362 y un módulo de duplicación de visualización 364 para dirigir y/o procesar los datos de imagen recibidos para controlar uno o más dispositivos de visualización. Por ejemplo, el módulo de visualización 362 puede realizar una funcionalidad de procesamiento de visualización para un modo sin duplicación del dispositivo de origen 310, donde el módulo de visualización 362 proporciona datos de vídeo, por medio de la interfaz de visualización 348, para controlar al menos un dispositivo de visualización asociado al dispositivo de origen 310 (por ejemplo, una pantalla 112 acoplada de
forma comunicativa al dispositivo de origen 110 representado en la FIG. 1). El módulo de procesamiento de visualización 360 puede ejecutar uno o más códecs de vídeo para descodificar o transmitir de forma continua y directa tramas de vídeo codificadas recibidas desde el reproductor de medios 314. Por ejemplo, el módulo de duplicación de visualización 364 puede ejecutar una instancia del códec de duplicación 218A de la FIG. 2 para transmitir de forma continua y directa tramas de vídeo codificadas a un dispositivo colector y proporcionar una trama predefinida 366 por medio de la interfaz de visualización 348, mientras que el módulo de visualización 362 puede descodificar tramas de vídeo codificadas para su visualización por medio de la interfaz de visualización 348. La trama predefinida 366 puede almacenarse en la memoria 341.
[0050] El módulo de duplicación de visualización 364 puede comprender cualquier combinación de componentes de hardware y/o de software que estén configurados para controlar si y cómo uno o más elementos de medios recibidos por el módulo de procesamiento de visualización 360 y/o el módulo de procesamiento de audio 350 se duplican en un dispositivo colector coherente con uno o más aspectos de esta divulgación. Por ejemplo, en respuesta a recibir un nuevo elemento de medios desde una o más fuentes (por ejemplo, la memoria 341, el módulo de comunicaciones 342, módulo de procesamiento de gráficos 343 y/o una o más aplicaciones de software que se ejecutan en el procesador 344), el módulo de duplicación de visualización 364 puede enviar el nuevo elemento de medios directamente a un dispositivo colector. El módulo de duplicación de visualización 364 almacena una trama predefinida 366 para su salida por medio de la interfaz de visualización 348. La trama predefinida 366 puede representar una trama YCbCr (o "YUV") para su visualización por medio de la interfaz de visualización 348. La trama predefinida 366 puede ser una trama en negro para ahorrar energía, por ejemplo, cuando se utiliza luz de fondo adaptativa, o puede mostrar un logotipo, imagen u otro mensaje en un dispositivo de visualización cuando se proporciona por medio de la interfaz de visualización 348.
[0051] El módulo de duplicación de visualización 364 puede almacenar una trama predefinida 366 en memorias intermedias de salida 324 para su visualización por medio de la interfaz de visualización 348. Cuando se consume una memoria intermedia de salida 324, el módulo de procesamiento de visualización 360 puede recibir una señal u otra indicación 326 de que la memoria intermedia de salida 324 se ha consumido. En respuesta, el módulo de procesamiento de visualización 360 puede asociar un tiempo de presentación 328 a datos de vídeo codificados correspondientes para su transporte a un dispositivo colector de visualización inalámbrica para sincronizar la presentación de los datos de vídeo con datos de audio. El tiempo de presentación 328 puede corresponder a un tiempo en el que la memoria intermedia de salida 324 se renderiza, se proporciona por medio de la interfaz de visualización 348 y/o se presenta de otro modo por el reproductor de medios 314.
[0052] En el ejemplo de la FIG. 3, el módulo de procesamiento de visualización 360, el módulo de procesamiento de audio 350 y el módulo de duplicación de visualización 364 se representan como componentes de hardware y/o de software funcionales individuales con el fin de describir las técnicas de esta divulgación. En otros ejemplos, la funcionalidad descrita en el presente documento con respecto al módulo de procesamiento de visualización 360, el módulo de procesamiento de audio 350 y/o el módulo de duplicación de visualización 364 puede realizarse mediante un componente unitario de hardware y/o software. En otros ejemplos, uno cualquiera del módulo de procesamiento de visualización 360, el módulo de procesamiento de audio 350 y/o el módulo de duplicación de visualización 364 puede comprender múltiples componentes de hardware y/o software que, en combinación, funcionan de acuerdo con la funcionalidad atribuida al módulo de procesamiento de visualización 360, al módulo de procesamiento de audio 350 y/o al módulo de duplicación 364 como se describe en el presente documento. Además, incluso si uno o más del módulo de procesamiento de visualización 360, módulo de procesamiento de audio 350 y/o módulo de duplicación de visualización 364 descritos en el presente documento se implementan en software, dichos módulos de software descritos en el presente documento pueden comprender hardware en el sentido de que funcionan de manera funcional ejecutándose en un componente de procesamiento de hardware.
[0053] Las aplicaciones ejecutadas por el dispositivo de origen 310, es decir, una o más aplicaciones de reproductor de medios 312, un reproductor de medios 314 y una aplicación de visualización inalámbrica 316 (por ejemplo, una aplicación Miracast) pueden determinar el funcionamiento del módulo de procesamiento de visualización 360, del módulo de procesamiento de audio 350 y/o del módulo de duplicación de visualización 364 durante el funcionamiento del dispositivo de origen 310. Las aplicaciones pueden responder a entradas de usuario para, por ejemplo, configurar e iniciar una sesión de visualización inalámbrica con un dispositivo colector, reproducir vídeo por medio de la sesión de visualización inalámbrica, controlar la sesión de visualización inalámbrica, etc.
[0054] La FIG. 4 es un diagrama de flujo que ilustra un modo de funcionamiento de ejemplo para un dispositivo de origen de visualización inalámbrica de acuerdo con técnicas descritas en esta divulgación. El dispositivo de origen 110 obtiene datos de vídeo codificados para una trama de vídeo de datos multimedia (402). En lugar de descodificar y renderizar los datos de vídeo codificados como la trama de vídeo, el dispositivo de origen 110 proporciona una trama de vídeo predefinida para la trama de vídeo (404). Además, el dispositivo de origen 110 obtiene un tiempo de presentación en el que el vídeo predefinido se muestra en un dispositivo de visualización asociado al dispositivo de origen 110 (406). El dispositivo de origen asocia el tiempo de presentación con los datos de vídeo codificados para la trama de vídeo y transmite de forma continua y directa los datos de vídeo codificados y el tiempo de presentación a un dispositivo colector de visualización inalámbrica para hacer que el dispositivo colector de visualización inalámbrica presente la trama de vídeo en el momento de la presentación (408).
[0055] La FIG. 5 es un diagrama de bloques que ilustra un flujo de datos de ejemplo para determinar tiempos de presentación de tramas de vídeo mediante una fuente de visualización inalámbrica para la sincronización de audio/vídeo de acuerdo con técnicas descritas en el presente documento. En este ejemplo, el reproductor de medios 314 obtiene y proporciona tramas de vídeo codificadas al módulo de duplicación de visualización 364 usando memorias intermedias 502A-502C. Como se describió anteriormente con respecto a la FIG. 3, el módulo de duplicación de visualización 364 funciona en parte ofreciendo una interfaz de descodificación al reproductor de medios 314 y, por tanto, como un "componente de descodificación", aunque el módulo de duplicación de visualización 364 puede no descodificar las tramas de vídeo codificadas. Por el contrario, el módulo de duplicación de visualización 364 consume, por ejemplo, lee, y devuelve las memorias intermedias 502A-502C al reproductor de medios 314 como memorias intermedias 502A'-502C' para su uso posterior. El módulo de duplicación de visualización 364 puede registrar un ejemplo de códec de duplicación 218A para su uso por el reproductor de medios 314 para "descodificar" tramas de vídeo codificadas. El códec de duplicación 218A puede tener una interfaz invocable por el reproductor de medios 314 e idéntica o al menos similar a la interfaz de los códecs de vídeo que realizan la descodificación de vídeo (es decir, los códecs de vídeo "reales" que realizan la descodificación de vídeo en lugar de, o además de, la transmisión continua directa de tramas de vídeo codificadas a un dispositivo colector).
[0056] En lugar de descodificar las tramas de vídeo codificadas recibidas en las memorias intermedias 502A-502C, el módulo de duplicación de visualización puede hacer pasar las tramas de vídeo codificadas directamente a través de la pila de visualización inalámbrica 501. La pila de visualización inalámbrica 501 puede representar un caso de ejemplo de un modelo de comunicación de datos 200 de la FIG. 2, excluyendo las capas de códec 218, 220. La pila de visualización inalámbrica 501 puede representar un caso de ejemplo de una pila Miracast.
[0057] En lugar de tramas de vídeo descodificadas para las tramas de vídeo codificadas, el módulo de duplicación de visualización 364 devuelve copias de la trama predefinida 366 al reproductor de medios 314 usando memorias intermedias 504A-504C. Es decir, cada una de las memorias intermedias 504A-504C incluye una copia de la trama predefinida 366 para consumo por el reproductor de medios 314, que puede incluir renderizar la copia de la trama predefinida 366 para su provisión por medio de una interfaz de visualización a un dispositivo de visualización (no mostrado en la FIG. 5). Los tiempos de presentación T1-T3 pueden por tanto referirse a un tiempo en el que el reproductor de medios 314 consume y libera memorias intermedias respectivas 504A-504C para ser reutilizadas por el descodificador intermediario de vídeo para el módulo de duplicación de visualización 364. Cada una de las memorias intermedias 502A-502C y 504A-504C puede representar un conjunto de elementos de almacenamiento en uno o más medios de almacenamiento legibles por ordenador (no mostrados). Las memorias intermedias 504A-504C pueden representar un caso de ejemplo de memorias intermedias de salida 324 de la FIG.
3. El módulo de duplicación de visualización 364 puede incluir, junto con el envío de una trama predefinida 366 al reproductor de medios 314, cualquier metadato e información de temporización para hacer que el reproductor de medios 314 reproduzca la trama predefinida como si fuera la trama de vídeo descodificada para una trama de vídeo codificada correspondiente recibida en memorias intermedias 502.
[0058] En tiempos de presentación respectivos ("TIEMPO DE PRESENTACIÓN"), el reproductor de medios 314 consume y devuelve las memorias intermedias 504A-504C como memorias intermedias 504A'-504C'. En el ejemplo ilustrado, el reproductor de medios 314 consume la memoria intermedia 504A en el tiempo de presentación T1, consume la memoria intermedia 504B en el tiempo de presentación T2 y consume la memoria intermedia 504C en el tiempo de presentación T3. El módulo de duplicación de visualización 364, en respuesta a la recepción de notificaciones respectivas desde el reproductor de medios 314 acerca del consumo de memorias intermedias 504A-504C, asocia los tiempos de presentación de las memorias intermedias a las tramas de vídeo codificadas salientes de las memorias intermedias 502A-502C, que el dispositivo de origen de visualización inalámbrica envía por medio de la pila de visualización inalámbrica 501. Por lo tanto, en el ejemplo ilustrado, el módulo de duplicación de visualización 364 asocia la trama de vídeo codificada almacenada en la memoria intermedia 502A al tiempo de presentación T1, asocia la trama de vídeo codificada almacenada en la memoria intermedia 502B al tiempo de presentación T2 y asocia la trama de vídeo codificada almacenada en la memoria intermedia 502A al tiempo de presentación T1.
[0059] Como una técnica de ejemplo para asociar un tiempo de presentación a una trama de vídeo codificada transmitida de forma continua y directa a un dispositivo colector de visualización inalámbrica usando, por ejemplo, Wi-Fi Display, el módulo de duplicación de visualización 364 puede hacer que la pila de visualización inalámbrica 501 asocie el tiempo de presentación a una unidad o paquete de capa de acceso a red (NAL). Por ejemplo, la pila de visualización inalámbrica 501 puede establecer una marca de tiempo de presentación (PTS) de una cabecera de flujo elemental empaquetado (PES) de un PES que transporta la trama de vídeo codificada con respecto al tiempo de presentación asociado a la trama de vídeo codificada según lo determinado por el módulo de duplicación de visualización 364. El PES puede combinarse con otros PES generados por la pila de visualización inalámbrica 501 de una manera similar, para formar un flujo de transporte (TS) o un flujo de programa (PS). De esta manera, un dispositivo colector de visualización inalámbrica puede determinar eliminar el vídeo descodificado para la trama de vídeo codificada y presentada en el tiempo de presentación asociado a la trama de vídeo codificada.
[0060] La FIG. 6 es un diagrama de bloques que ilustra componentes de ejemplo de un dispositivo de origen de
visualización inalámbrica configurado para transmitir de forma continua y directa datos de vídeo codificados a un dispositivo informático colector de visualización inalámbrica de acuerdo con técnicas descritas en esta divulgación. En este ejemplo, un dispositivo de origen de visualización inalámbrica 600 puede ejecutar una o más aplicaciones de reproductor de medios o "aplicaciones de reproductor" 312A-312N (conjuntamente, "aplicaciones de reproductor de medios 312"), cada una de las cuales usa el reproductor de medios 314. Las aplicaciones de reproductor de medios 312 pueden incluir, por ejemplo, aplicaciones que reciben datos de vídeo codificados por medio de una interfaz de red desde un servidor o aplicaciones que acceden a medios almacenados localmente. Las aplicaciones de reproductor de medios 312 reproducen datos de vídeo codificados usando el reproductor de medios 314.
[0061] Diversas plataformas, de las que el reproductor de medios 314 es un ejemplo, pueden tener interfaces de programación de aplicaciones (API) con las que realizar la reproducción de vídeo. Sin embargo, muchas de estas plataformas usan una interfaz de códec estándar 602 para acceder a los descodificadores de vídeo y la reproducción utilizará finalmente, por lo general, un descodificador de hardware. La interfaz de códec 602 puede representar una interfaz OpenMax, por ejemplo. Un descodificador de audio 606 está registrado como un descodificador de audio para la interfaz de códec 602 y descodifica datos de audio codificados para proporcionarlos por medio de la interfaz de audio 354 del dispositivo de origen de visualización inalámbrica 600.
[0062] El dispositivo de origen de visualización inalámbrica 600 también ejecuta la aplicación de visualización inalámbrica 316 que ejecuta la pila de visualización inalámbrica 501 para duplicar la salida de medios del dispositivo de origen de visualización inalámbrica 600 en un dispositivo colector de visualización inalámbrica (no mostrado en la Figura 6) por medio de un canal de comunicación inalámbrica. En una sesión de visualización inalámbrica, la aplicación de visualización inalámbrica 316 puede registrar el descodificador intermediario de vídeo 604 con la interfaz de códec 602 para hacer que el reproductor de medios 314 envíe tramas de vídeo codificadas incluidas en los datos de audio/visuales (A/V) codificados 610 al descodificador intermediario de vídeo 604. El descodificador intermediario de vídeo 604 puede representar un ejemplo de códec de duplicación 218A. En casos del dispositivo de origen de visualización inalámbrica 600 en los que la interfaz de códec 602 representa una interfaz OpenMax, la aplicación de visualización inalámbrica 316 puede registrar un descodificador intermediario de vídeo como un descodificador OpenMax para proporcionar la interfaz OpenMax común.
[0063] Sin embargo, en lugar de descodificar las tramas de vídeo codificadas, el descodificador intermediario de vídeo 604 transfiere las tramas de vídeo codificadas a la pila de visualización inalámbrica 501 para su transmisión continua y directa al dispositivo colector de visualización inalámbrica. De esta manera, la transmisión continua y directa puede mitigar las desventajas energéticas del procesamiento de vídeo y reduce el consumo general de energía en el dispositivo de origen. La transmisión continua de fragmentos puede funcionar en marcos de reproducción altamente fragmentados usados en diferentes plataformas de acuerdo con las técnicas descritas en el presente documento.
[0064] Además, para cada trama de vídeo codificada recibida, el descodificador intermediario de vídeo 604 envía una trama "ficticia" o predefinida 366 al reproductor de medios 314 como una suplantación de una trama descodificada de vídeo correspondiente a la trama de vídeo codificada recibida. Como resultado, el reproductor de medios 314 puede funcionar con normalidad y sin modificaciones en algunos casos.
[0065] En algunos casos del dispositivo de origen de visualización inalámbrica 600, para mantener la sincronización de audio/vídeo (AVSYNC), el descodificador intermediario de vídeo 604 facilita marcas de tiempo correctas de audio y vídeo. Por ejemplo, cuando el descodificador intermediario de vídeo 604 recibe una trama de vídeo codificada, el descodificador intermediario de vídeo 604 envía una trama predefinida y no codificada correspondiente 366 al reproductor de medios 314 por medio de una memoria intermedia. El descodificador intermediario de vídeo 604 obtiene una marca de tiempo para un tiempo en el que el reproductor de medios 314 devuelve la memoria intermedia para su reutilización, y el descodificador intermediario de vídeo 604 asocia esta marca de tiempo como el tiempo de reproducción real, o tiempo de presentación, para la trama de vídeo codificada. Esto puede reducir y, en algunos casos, eliminar la necesidad de un dispositivo de origen de visualización inalámbrica 600 para realizar cualquier técnica AVSYNC adicional. Además, esta técnica puede facilitar una búsqueda fluida y otras operaciones en modo truco.
[0066] La aplicación de visualización inalámbrica 316 puede capturar audio, de acuerdo con operaciones de transmisión continua de visualización inalámbrica, desde la salida de audio a la interfaz de audio 354 y transmitir de forma continua el audio capturado al dispositivo colector de visualización inalámbrica usando la pila de visualización inalámbrica 501. Las técnicas descritas anteriormente pueden incorporarse en muchas implementaciones de reproductores de medios diferentes en diversas plataformas sin alterar el marco existente para las plataformas. Debido a que las técnicas se pueden realizar, al menos en algunos casos, sin modificar el reproductor de medios 314, las aplicaciones de reproductores de medios de terceros y de otro tipo 312 se pueden usar sin modificar las técnicas. Además, el uso de transmisión continua y directa evita el uso de hardware de vídeo, que puede ahorrar energía y reducir la necesidad de procesadores de vídeo a menudo costosos. Además, la naturaleza viva del flujo de visualización inalámbrica puede mantenerse mediante el enfoque AVSYNC usado de la manera descrita anteriormente.
[0067] En uno o más ejemplos, las funciones descritas se pueden implementar en hardware, software, firmware o en cualquier combinación de los mismos. Si se implementan en software, las funciones se pueden almacenar en, o transmitir por, un medio legible por ordenador como una o más instrucciones o código. Los medios legibles por ordenador pueden incluir medios de almacenamiento de datos informáticos o medios de comunicación, incluyendo cualquier medio que facilite la transferencia de un programa informático desde un lugar a otro. En algunos ejemplos, los medios legibles por ordenador pueden comprender medios legibles por ordenador no transitorios. Los medios de almacenamiento de datos pueden ser cualquier medio disponible al que se pueda acceder desde uno o más ordenadores o uno o más procesadores para recuperar instrucciones, código y/o estructuras de datos para la implementación de las técnicas descritas en esta divulgación.
[0068] A modo de ejemplo, y no de limitación, dichos medios legibles por ordenador pueden comprender medios no transitorios tales como RAM, ROM, EEPROM, CD-ROM u otro almacenamiento de disco óptico, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, memoria flash o cualquier otro medio que se pueda usar para transportar o almacenar un código de programa deseado en forma de instrucciones o estructuras de datos y al que se pueda acceder mediante un ordenador. Asimismo, cualquier conexión recibe apropiadamente la denominación de medio legible por ordenador. Los discos, como se usan en el presente documento, incluyen el disco compacto (CD), el disco láser, el disco óptico, el disco versátil digital (DVD), el disco flexible y el disco Blu-ray, donde algunos discos reproducen normalmente datos magnéticamente y otros discos reproducen datos ópticamente con láseres. Las combinaciones de lo anterior también se deben incluir dentro del alcance de los medios legibles por ordenador.
[0069] El código se puede ejecutar por uno o más procesadores, tales como uno o más procesadores de señales digitales (DSP), microprocesadores de propósito general, circuitos integrados específicos de la aplicación (ASIC), matrices lógicas programables in situ (FPGA) u otros circuitos lógicos, integrados o discretos, equivalentes. Por consiguiente, el término "procesador", como se usa en el presente documento, se puede referir a cualquiera de las estructuras anteriores o a cualquier otra estructura adecuada para la implementación de las técnicas descritas en el presente documento. Además, en algunos aspectos, la funcionalidad descrita en el presente documento puede proporcionarse dentro de módulos de hardware y/o de software dedicados configurados para la codificación y la descodificación, o incorporarse en un códec combinado. Además, las técnicas se podrían implementar por completo en uno o más circuitos o elementos lógicos.
[0070] Las técnicas de esta divulgación se pueden implementar en una amplia variedad de dispositivos o aparatos, incluyendo un teléfono inalámbrico, un circuito integrado (IC) o un conjunto de IC (por ejemplo, un conjunto de chips). En esta divulgación se describen diversos componentes, módulos o unidades para destacar aspectos funcionales de dispositivos configurados para realizar las técnicas divulgadas, pero no se requiere necesariamente su realización mediante diferentes unidades de hardware. En cambio, como se describe anteriormente, diversas unidades se pueden combinar en una unidad de hardware de códec o proporcionar mediante un grupo de unidades de hardware interoperativas, que incluya uno o más procesadores como se describe anteriormente, junto con software y/o firmware adecuados.
[0071] Se han descrito diversos modos de realización de la invención. Estos y otros modos de realización están dentro del alcance de las siguientes reivindicaciones.
Claims (18)
1. Un procedimiento de transmisión de datos de vídeo desde un dispositivo de origen de visualización inalámbrica a un dispositivo colector de visualización inalámbrica, en el que el dispositivo de origen de visualización inalámbrica incluye un dispositivo de visualización local, comprendiendo el procedimiento:
obtener, con el dispositivo de origen de visualización inalámbrica, datos de audio codificados y datos de vídeo codificados para una trama de datos de vídeo;
proporcionar, en el dispositivo de visualización local del dispositivo de origen de visualización inalámbrica, una trama predefinida en lugar de la trama de datos de vídeo; y los datos de audio descodificados; caracterizado por que el procedimiento comprende además
determinar un tiempo de presentación en base al tiempo en el que la trama predefinida se consume para su renderización en el dispositivo de visualización local en sincronización con los datos de audio para la trama de datos de vídeo después de que el dispositivo de origen de visualización inalámbrica realice la sincronización de audio y vídeo;
determinar una marca de tiempo a partir del tiempo de presentación determinado; y
enviar, desde el dispositivo de origen de visualización inalámbrica al dispositivo colector de visualización inalámbrica, los datos de vídeo codificados para su visualización en un dispositivo de visualización asociado al dispositivo colector de visualización inalámbrica en asociación con la marca de tiempo.
2. El procedimiento de la reivindicación 1, en el que la trama predefinida se selecciona del grupo que consiste en una trama en negro y un mensaje de usuario.
3. El procedimiento de la reivindicación 1,
en el que el dispositivo de origen de visualización inalámbrica comprende un dispositivo de origen de Wi-Fi Display y el dispositivo colector de visualización inalámbrica comprende un dispositivo colector de Wi-Fi Display, y
en el que enviar los datos de vídeo codificados comprende enviar los datos de vídeo codificados por medio de una sesión de comunicación usando uno o más protocolos de comunicación en base a la norma Wi-Fi Display.
4. El procedimiento de la reivindicación 1, en el que enviar los datos de vídeo codificados comprende enviar los datos de vídeo codificados por medio de una sesión de comunicación que funciona de acuerdo con uno del protocolo Wi-Fi Directy el protocolo de configuración de enlace directo tunelizado (TDLS).
5. El procedimiento de la reivindicación 1, que comprende además:
recibir una indicación de una entrada de usuario;
en respuesta a recibir la indicación de la entrada del usuario, establecer una sesión de duplicación con el dispositivo colector de visualización inalámbrica,
en el que proporcionar la trama predefinida para la trama de datos de vídeo comprende proporcionar la trama predefinida para la trama de datos de vídeo sólo si el dispositivo de origen de visualización inalámbrica tiene una sesión de duplicación activa con el dispositivo colector de visualización inalámbrica.
6. El procedimiento de la reivindicación 1, que comprende además:
recibir, mediante un códec de vídeo, los datos de vídeo codificados desde un reproductor de medios del dispositivo de origen de visualización inalámbrica; y
almacenar, mediante el códec de vídeo, la trama predefinida en una memoria intermedia de salida para el reproductor de medios.
7. El procedimiento de la reivindicación 6, que comprende además:
recibir, mediante el códec de vídeo, una indicación de que el reproductor de medios ha consumido la memoria intermedia de salida;
almacenar, mediante el códec de vídeo en respuesta a la recepción de la indicación, la marca de tiempo
que representa el tiempo de presentación de la trama predefinida para la trama de datos de vídeo.
8. El procedimiento de la reivindicación 6, en el que el códec de vídeo se registra para su uso por el reproductor de medios y tiene una interfaz utilizable por el reproductor de medios para proporcionar tramas de vídeo codificadas al códec de vídeo, comprendiendo además el procedimiento:
cargar el códec de vídeo para que lo utilice el reproductor de medios en respuesta a la recepción de una indicación de una entrada de usuario que permite una sesión de duplicación con el dispositivo colector de visualización inalámbrica,
en el que recibir los datos de vídeo codificados desde el reproductor de medios comprende recibir, mediante el códec de vídeo, los datos de vídeo codificados por medio de una memoria intermedia de entrada, y en el que almacenar la trama predefinida en una memoria intermedia de salida para el reproductor de medios comprende almacenar la trama predefinida en la memoria intermedia de salida para el reproductor de medios en asociación con cualquiera de los metadatos e información de temporización necesaria para hacer que el reproductor de medios muestre la trama predefinida como si la trama predefinida fuera una trama de vídeo descodificada de los datos de vídeo codificados.
9. El procedimiento de la reivindicación 1, que comprende además:
determinar un tiempo de presentación para los datos de audio correspondientes a la trama de datos de vídeo; y,
enviar datos de audio codificados para los datos de audio correspondientes a la trama de datos de vídeo en asociación con el tiempo de presentación para los datos de audio correspondientes a la trama de datos de vídeo;
en el que enviar los datos de vídeo codificados comprende enviar los datos de vídeo codificados en asociación con el tiempo de presentación para la trama predefinida para la trama de datos de vídeo para sincronizar la presentación de los datos de audio correspondientes a la trama de datos de vídeo y la trama de datos de vídeo en el dispositivo colector de visualización inalámbrica.
10. Un dispositivo de origen, que comprende:
medios para obtener datos de audio codificados y datos de vídeo codificados para una trama de datos de vídeo;
medios para proporcionar una trama predefinida en lugar de la trama de datos de vídeo;
y los datos de audio descodificados;
caracterizado por que comprende además
medios para determinar un tiempo de presentación en base al tiempo en el que la trama predefinida se consume para su renderización en el dispositivo de visualización local en sincronización con los datos de audio para la trama de datos de vídeo después de que el dispositivo de origen de visualización inalámbrica realice la sincronización de audio y vídeo;
medios para determinar una marca de tiempo a partir del tiempo de presentación determinado; y medios para enviar, a un dispositivo colector por medio de un canal de comunicación inalámbrica, los datos de vídeo codificados para su visualización en un dispositivo de visualización asociado al dispositivo colector en asociación con la marca de tiempo.
11. El dispositivo de origen de la reivindicación 10, en el que la trama predefinida se selecciona del grupo que consiste en una trama en negro y un mensaje de usuario.
12. El dispositivo de origen de la reivindicación 10,
en el que el dispositivo de origen comprende un dispositivo de origen de Wi-Fi Display el dispositivo colector comprende un dispositivo colector de Wi-Fi Display, y
en el que los medios para enviar los datos de vídeo codificados comprenden medios para enviar, al dispositivo colector, los datos de vídeo codificados por medio de una sesión de comunicación usando uno o más protocolos de comunicación en base a la norma Wi-Fi Display.
13. El dispositivo de origen de la reivindicación 10, en el que los medios para enviar los datos de vídeo codificados comprenden medios para enviar, al dispositivo colector, los datos de vídeo codificados por medio de una sesión de comunicación que funciona de acuerdo con uno del protocolo Wi-Fi Direct y el protocolo de configuración de enlace directo tunelizado (TDLS).
14. El dispositivo de origen de la reivindicación 10, que comprende además:
medios para recibir una indicación de una entrada de usuario; y
medios para, en respuesta a recibir la indicación de la entrada de usuario, establecer una sesión de duplicación con el dispositivo colector,
en el que los medios para proporcionar la trama predefinida para la trama de datos de vídeo comprenden medios para proporcionar la trama predefinida para la trama de datos de vídeo sólo si el dispositivo de origen tiene una sesión de duplicación activa con el dispositivo colector.
15. El dispositivo de origen de la reivindicación 10, que comprende además:
medios para recibir, mediante un códec de vídeo del dispositivo de origen, los datos de vídeo codificados desde un reproductor de medios del dispositivo de origen; y
medios para almacenar, mediante el códec de vídeo, la trama predefinida en una memoria intermedia de salida para el reproductor de medios.
16. El dispositivo de origen de la reivindicación 15, que comprende además:
medios para recibir, mediante el códec de vídeo del dispositivo de origen, una indicación de que el reproductor multimedia ha consumido la memoria intermedia de salida; y
medios para almacenar, mediante el códec de vídeo en respuesta a la recepción de la indicación, la marca de tiempo que representa el tiempo de presentación para la trama de datos de vídeo.
17. El dispositivo de origen de la reivindicación 15, en el que el códec de vídeo se registra para su uso por el reproductor de medios y tiene una interfaz utilizable por el reproductor de medios para proporcionar tramas de vídeo codificadas al códec de vídeo, comprendiendo además el dispositivo de origen:
medios para cargar el códec de vídeo para que lo utilice el reproductor de medios en respuesta a la recepción de una indicación de una entrada de usuario que permite una sesión de duplicación con el dispositivo colector de visualización inalámbrica,
en el que los medios para recibir los datos de vídeo codificados desde el reproductor de medios comprenden medios para recibir, mediante el códec de vídeo, los datos de vídeo codificados por medio de una memoria intermedia de entrada, y
en el que los medios para almacenar la trama predefinida en una memoria intermedia de salida para el reproductor de medios comprenden medios para almacenar la trama predefinida en la memoria intermedia de salida para el reproductor de medios en asociación con cualquiera de los metadatos e información de temporización necesaria para hacer que el reproductor de medios muestre la trama predefinida como si la trama predefinida fuera una trama de vídeo descodificada de los datos de vídeo codificados.
18. Un medio de almacenamiento legible por ordenador que comprende instrucciones almacenadas en el mismo que, cuando se ejecutan, hacen que uno o más procesadores de un dispositivo de origen de visualización inalámbrica realicen el procedimiento de acuerdo con una cualquiera de las reivindicaciones 1 a 9.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201462030410P | 2014-07-29 | 2014-07-29 | |
| US14/578,964 US9665336B2 (en) | 2014-07-29 | 2014-12-22 | Direct streaming for wireless display |
| PCT/US2015/042499 WO2016018926A1 (en) | 2014-07-29 | 2015-07-28 | Direct streaming for wireless display |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2835579T3 true ES2835579T3 (es) | 2021-06-22 |
Family
ID=55180088
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES15748397T Active ES2835579T3 (es) | 2014-07-29 | 2015-07-28 | Transmisión continua directa para visualización inalámbrica |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US9665336B2 (es) |
| EP (1) | EP3195606B1 (es) |
| JP (1) | JP6211733B2 (es) |
| KR (1) | KR102305302B1 (es) |
| CN (1) | CN106664458B (es) |
| CA (1) | CA2952297A1 (es) |
| ES (1) | ES2835579T3 (es) |
| WO (1) | WO2016018926A1 (es) |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102374584B1 (ko) * | 2014-03-21 | 2022-03-16 | 삼성전자주식회사 | 영상을 디스플레이 하는 방법 및 디바이스 |
| JP6566616B2 (ja) | 2014-08-19 | 2019-08-28 | キヤノン株式会社 | 通信装置、その制御方法、およびプログラム |
| JP6467822B2 (ja) * | 2014-08-29 | 2019-02-13 | セイコーエプソン株式会社 | 表示システム、送信装置、及び、表示システムの制御方法 |
| US20160092152A1 (en) * | 2014-09-25 | 2016-03-31 | Oracle International Corporation | Extended screen experience |
| US11044386B1 (en) | 2014-12-18 | 2021-06-22 | The Directv Group, Inc. | Method and system for synchronizing playback of independent audio and video streams through a network |
| US10383055B2 (en) * | 2015-01-26 | 2019-08-13 | Hewlett Packard Enterprise Development Lp | Regulating a power consumption state of a cellular radio |
| KR102281341B1 (ko) * | 2015-01-26 | 2021-07-23 | 엘지전자 주식회사 | 싱크 디바이스 및 그 제어 방법 |
| US10299117B2 (en) * | 2015-02-25 | 2019-05-21 | Screenovate Technologies Ltd. | Method for authenticating a mobile device and establishing a direct mirroring connection between the authenticated mobile device and a target screen device |
| US20160308917A1 (en) * | 2015-04-20 | 2016-10-20 | Intel Corporation | Sensor input transmission and associated processes |
| US20180367836A1 (en) * | 2015-12-09 | 2018-12-20 | Smartron India Private Limited | A system and method for controlling miracast content with hand gestures and audio commands |
| KR102442527B1 (ko) | 2016-02-26 | 2022-09-13 | 엘지전자 주식회사 | 무선 디바이스 |
| US10575048B2 (en) * | 2016-12-09 | 2020-02-25 | Centurylink Intellectual Property Llc | Media player with integrated wireless video link capability and method and system for implementing video tuning and wireless video communication |
| US10306299B2 (en) * | 2017-05-24 | 2019-05-28 | Google Llc | Methods, systems, and media for transferring playback of media content |
| CN209118258U (zh) * | 2018-03-19 | 2019-07-16 | 广州视源电子科技股份有限公司 | 一种无线传屏器 |
| US11330029B2 (en) * | 2018-03-27 | 2022-05-10 | Lenovo (Singapore) Pte. Ltd. | Sharing content with a detected device |
| US10872470B2 (en) | 2018-04-05 | 2020-12-22 | Lenovo (Singapore) Pte. Ltd. | Presentation of content at headset display based on other display not being viewable |
| US10922862B2 (en) * | 2018-04-05 | 2021-02-16 | Lenovo (Singapore) Pte. Ltd. | Presentation of content on headset display based on one or more condition(s) |
| JP7118764B2 (ja) | 2018-06-20 | 2022-08-16 | キヤノン株式会社 | 通信装置、制御方法、およびプログラム |
| JP7154833B2 (ja) * | 2018-06-20 | 2022-10-18 | キヤノン株式会社 | 通信装置、通信方法、およびプログラム |
| CN108881844B (zh) * | 2018-07-06 | 2021-06-22 | 杭州涂鸦信息技术有限公司 | 一种局域网视频传输方法 |
| CN111654720B (zh) * | 2020-07-17 | 2023-08-25 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、设备及可读存储介质 |
| KR20220048245A (ko) * | 2020-10-12 | 2022-04-19 | 엘지전자 주식회사 | 무선 디바이스 및 무선 시스템 |
| CN115529489B (zh) * | 2021-06-24 | 2024-12-20 | 海信视像科技股份有限公司 | 显示设备、视频处理方法 |
| KR20250002395A (ko) | 2022-05-10 | 2025-01-07 | 구글 엘엘씨 | 외부 애플리케이션 스트리밍 |
| KR20240164045A (ko) | 2023-05-11 | 2024-11-19 | 삼성전자주식회사 | 게이트웨이 장치, 게이트웨이 장치의 제어 방법 및 핸드셰이킹 시스템 |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030220781A1 (en) | 2002-02-25 | 2003-11-27 | Oak Technology, Inc. | Communication architecture utilizing emulator interface |
| US8102836B2 (en) | 2007-05-23 | 2012-01-24 | Broadcom Corporation | Synchronization of a split audio, video, or other data stream with separate sinks |
| KR20100124909A (ko) * | 2009-05-20 | 2010-11-30 | 삼성전자주식회사 | 이동통신 단말기에서 영상과 음성의 동기화를 위한 장치 및 방법 |
| US20110283014A1 (en) | 2010-05-14 | 2011-11-17 | Rahul Malik | Distribution of Multimedia Content over a Network |
| US10108386B2 (en) | 2011-02-04 | 2018-10-23 | Qualcomm Incorporated | Content provisioning for wireless back channel |
| US9712573B2 (en) * | 2011-09-13 | 2017-07-18 | Qualcomm Incorporated | Synchronized wireless display devices |
| JP6031745B2 (ja) * | 2011-10-17 | 2016-11-24 | ソニー株式会社 | 送信装置、送信方法および受信装置 |
| US9398065B2 (en) | 2011-12-17 | 2016-07-19 | Intel Corporation | Audio/video streaming in a topology of devices with native WiGig sink |
| US9525998B2 (en) | 2012-01-06 | 2016-12-20 | Qualcomm Incorporated | Wireless display with multiscreen service |
| TWI464720B (zh) * | 2012-02-02 | 2014-12-11 | Novatek Microelectronics Corp | 液晶顯示驅動方法及顯示裝置 |
| US20130201915A1 (en) * | 2012-02-07 | 2013-08-08 | Htc Corporation | Apparatuses and methods for out-of-band information feedback |
| CN103248947A (zh) * | 2012-02-08 | 2013-08-14 | 海尔集团公司 | 一种视频多屏共享方法及实现该方法的系统 |
| KR101917174B1 (ko) | 2012-02-24 | 2018-11-09 | 삼성전자주식회사 | 전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치 |
| US9167296B2 (en) * | 2012-02-28 | 2015-10-20 | Qualcomm Incorporated | Customized playback at sink device in wireless display system |
| US20140112636A1 (en) | 2012-10-19 | 2014-04-24 | Arcsoft Hangzhou Co., Ltd. | Video Playback System and Related Method of Sharing Video from a Source Device on a Wireless Display |
| CN105325009B (zh) * | 2013-07-23 | 2019-04-16 | 英特尔公司 | 用于流式传输视频质量分析的改进技术 |
| JP6232870B2 (ja) * | 2013-09-11 | 2017-11-22 | 株式会社リコー | 無線通信システム、無線通信方法、プログラム、及び記録媒体 |
| US20150208079A1 (en) * | 2014-01-22 | 2015-07-23 | Nvidia Corporation | Adaptive frame type detection for real-time low-latency streaming servers |
| US9521432B2 (en) * | 2014-04-22 | 2016-12-13 | Cable Television Laboratories, Inc. | Correction of over-the-air signals |
| TWI616808B (zh) * | 2014-06-30 | 2018-03-01 | 緯創資通股份有限公司 | 分享顯示畫面的方法及裝置 |
-
2014
- 2014-12-22 US US14/578,964 patent/US9665336B2/en active Active
-
2015
- 2015-07-28 KR KR1020177002614A patent/KR102305302B1/ko active Active
- 2015-07-28 CA CA2952297A patent/CA2952297A1/en not_active Abandoned
- 2015-07-28 EP EP15748397.5A patent/EP3195606B1/en active Active
- 2015-07-28 ES ES15748397T patent/ES2835579T3/es active Active
- 2015-07-28 WO PCT/US2015/042499 patent/WO2016018926A1/en not_active Ceased
- 2015-07-28 JP JP2017503865A patent/JP6211733B2/ja active Active
- 2015-07-28 CN CN201580039784.1A patent/CN106664458B/zh active Active
Also Published As
| Publication number | Publication date |
|---|---|
| KR102305302B1 (ko) | 2021-09-24 |
| CN106664458B (zh) | 2019-12-20 |
| JP6211733B2 (ja) | 2017-10-11 |
| CN106664458A (zh) | 2017-05-10 |
| EP3195606A1 (en) | 2017-07-26 |
| KR20170040217A (ko) | 2017-04-12 |
| EP3195606B1 (en) | 2020-09-02 |
| US20160034245A1 (en) | 2016-02-04 |
| CA2952297A1 (en) | 2016-02-04 |
| WO2016018926A1 (en) | 2016-02-04 |
| US9665336B2 (en) | 2017-05-30 |
| JP2017528043A (ja) | 2017-09-21 |
| BR112017000744A2 (pt) | 2017-11-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102305302B1 (ko) | 무선 디스플레이를 위한 다이렉트 스트리밍 | |
| CN102572520B (zh) | 图像处理设备、图像再现设备以及图像再现系统 | |
| US8966131B2 (en) | System method for bi-directional tunneling via user input back channel (UIBC) for wireless displays | |
| CN105376628B (zh) | 音视频信号同步方法和装置 | |
| CN106464965B (zh) | 用于在无线通信系统中显示应用数据的方法和装置 | |
| JP6337114B2 (ja) | ワイヤレスディスプレイのためのソースデバイスにおけるリソース利用のための方法および装置 | |
| US20150350288A1 (en) | Media agnostic display for wi-fi display | |
| CN104837046A (zh) | 多媒体文件的处理方法和装置 | |
| JP5878295B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
| JP6332364B2 (ja) | 通信装置、通信方法およびプログラム | |
| BR112017000744B1 (pt) | Transmissão contínua direta para visor sem fio | |
| JP5999205B2 (ja) | 通信装置 | |
| CN105451089A (zh) | 多媒体处理装置与多媒体通信系统 | |
| TWI587696B (zh) | 資料同步播放的方法 | |
| CN104348781A (zh) | 一种多媒体业务传输方法及终端设备 | |
| US20150227339A1 (en) | Multi-media Extension Method and Related Multi-Media System |