BR112017000744B1 - CONTINUOUS TRANSMISSION DIRECT TO WIRELESS DISPLAY - Google Patents

CONTINUOUS TRANSMISSION DIRECT TO WIRELESS DISPLAY Download PDF

Info

Publication number
BR112017000744B1
BR112017000744B1 BR112017000744-4A BR112017000744A BR112017000744B1 BR 112017000744 B1 BR112017000744 B1 BR 112017000744B1 BR 112017000744 A BR112017000744 A BR 112017000744A BR 112017000744 B1 BR112017000744 B1 BR 112017000744B1
Authority
BR
Brazil
Prior art keywords
video data
frame
source device
display
video
Prior art date
Application number
BR112017000744-4A
Other languages
Portuguese (pt)
Other versions
BR112017000744A2 (en
Inventor
Sanal Kumar Karunakaran
Sanjay Kumar Agrawal
Sateesh Naidu Gorrepati
Devraj Gajraj Gupta
Original Assignee
Qualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/578,964 external-priority patent/US9665336B2/en
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112017000744A2 publication Critical patent/BR112017000744A2/en
Publication of BR112017000744B1 publication Critical patent/BR112017000744B1/en

Links

Abstract

Trata-se de um dispositivo-fonte que compreende uma memória para armazenar dados de vídeo e um ou mais processadores, em que o um ou mais processadores são configurados para obter dados de vídeo criptados para um quadro de dados de vídeo; emitir, por meio de uma interface de exibição para o dispositivo-fonte e para exibição em um dispositivo de exibição, um quadro predefinido para o quadro de dados de vídeo; e enviar, para um dispositivo coletor por meio de um canal de comunicação sem fio, os dados de vídeo criptados para exibição em um dispositivo de exibição associado ao dispositivo coletor.It is a source device comprising a memory for storing video data and one or more processors, wherein the one or more processors are configured to obtain encrypted video data for a video data frame; outputting, via a display interface to the source device and for display on a display device, a predefined frame for the video data frame; and sending, to a sink device via a wireless communication channel, the encrypted video data for display on a display device associated with the sink device.

Description

REIVINDICAÇÃO DE PRIORIDADEPRIORITY CLAIM

[0001] Este pedido reivindica o benefício do Pedido Provisório n° U.S. 62/030.410, depositado em 29 de julho de 2014, cujo conteúdo integral está incorporado ao presente documento a título de referência.[0001] This application claims the benefit of Provisional Application No. U.S. 62/030,410, filed on July 29, 2014, the full content of which is incorporated herein by reference.

CAMPO DA TÉCNICAFIELD OF TECHNIQUE

[0002] A revelação refere-se ao transporte e reprodução de dados de mídia e, mais particularmente, à transmissão contínua direta de conteúdo de mídia com o uso de um visor sem fio.[0002] Disclosure refers to the transport and reproduction of media data and, more particularly, the direct continuous transmission of media content using a wireless display.

ANTECEDENTESBACKGROUND

[0003] Exibição Wi-Fi (também conhecida como Miracast™) é um padrão para visores sem fio que são desenvolvidos pela Wi-Fi Alliance. O padrão se baseia em WiFi Direto. O padrão de Exibição Wi-Fi (WFD) fornece um mecanismo interoperável para constatar, parear, conectar e renderizar conteúdo multimídia com origem em uma Fonte de Exibição Wi-Fi em um Coletor de Exibição Wi-Fi. Informações adicionais a respeito do padrão de WFD atual podem ser encontradas na Especificação Técnica de Exibição Wi-Fi v1.0.0, e Wi-Fi Alliance, “Wi-Fi Display Specification draft version 1.31”, Comitê Técnico da Wi-Fi Alliance, Grupo de Tarefas de Exibição, que é incorporado ao presente documento em sua totalidade a título de referência.[0003] Wi-Fi Display (also known as Miracast™) is a standard for wireless displays that is developed by the Wi-Fi Alliance. The standard is based on WiFi Direct. The Wi-Fi Display standard (WFD) provides an interoperable mechanism for discovering, pairing, connecting, and rendering multimedia content originating from a Wi-Fi Display Source to a Wi-Fi Display Sink. Additional information regarding the Wi-Fi Display standard Current WFD can be found in Wi-Fi Display Technical Specification v1.0.0, and Wi-Fi Alliance, “Wi-Fi Display Specification draft version 1.31”, Wi-Fi Alliance Technical Committee, Display Task Group, which is incorporated into this document in its entirety by reference.

[0004] Sistemas de visor sem fio (WD) incluem um dispositivo-fonte de exibição sem fio (“dispositivo-fonte sem fio” ou simplesmente “dispositivo-fonte” no presente documento) e um ou mais dispositivos coletores de exibição sem fio (“dispositivos coletores sem fio” ou simplesmente “dispositivos coletores” no presente documento). Um dispositivo-fonte pode ser um dispositivo que tem capacidade para transmitir conteúdo de mídia dentro de uma rede de área local sem fio. Um dispositivo coletor pode ser um dispositivo que tem capacidade para receber e renderizar conteúdo de mídia. O dispositivo-fonte e os dispositivos coletores podem ser tanto dispositivos móveis quanto dispositivos com fio. Como dispositivos móveis, por exemplo, o dispositivo-fonte e os dispositivos coletores podem compreender telefones móveis, computadores portáteis com cartões de comunicação sem fio, assistentes pessoais digitais (PDAs), reprodutores de mídia portáteis, dispositivos de captura de imagem digital, tais como uma câmera ou filmadora, ou outros dispositivos de memória Flash com capacidades de comunicação sem fio, incluindo os assim denominados telefones “inteligentes” e computadores do tipo pad ou tablet “inteligentes”, ou outros tipos de dispositivos de comunicação sem fio. Os dispositivos com fio, por exemplo, o dispositivo-fonte e os dispositivos coletores podem compreender televisões, computadores do tipo desktop, monitores, projetores, impressoras, amplificadores de áudio, conversores de sinal, consoles de jogo, roteadores, visores de painel de veículo, e reprodutores de disco de vídeo digital (DVD) e servidores de mídia.[0004] Wireless display (WD) systems include a wireless display source device (“wireless source device” or simply “source device” herein) and one or more wireless display sink devices ( “wireless collection devices” or simply “collection devices” in this document). A source device can be a device that has the capability to stream media content within a wireless local area network. A sink device can be a device that has the ability to receive and render media content. The source device and sink devices can be either mobile devices or wired devices. As mobile devices, for example, the source device and sink devices may comprise mobile phones, portable computers with wireless communication cards, personal digital assistants (PDAs), portable media players, digital image capture devices, such as a camera or camcorder, or other Flash memory devices with wireless communication capabilities, including so-called “smart” phones and “smart” pad or tablet computers, or other types of wireless communication devices. Wired devices, e.g., source device and sink devices may comprise televisions, desktop computers, monitors, projectors, printers, audio amplifiers, signal converters, game consoles, routers, vehicle dashboard displays , and digital video disc (DVD) players and media servers.

[0005] Um dispositivo-fonte pode enviar dados de mídia, tais como dados de áudio vídeo (AV), para um ou mais dentre os dispositivos coletores que participam de uma sessão de compartilhamento de mídia particular. Os dados de mídia podem ser reproduzidos tanto em um visor local do dispositivo-fonte quanto em cada um dos visores dos dispositivos coletores. Mais especificamente, cada um dos dispositivos coletores participantes renderiza os dados de mídia recebidos para apresentação em sua tela e equipamento de áudio. Em alguns casos, um usuário de um dispositivo coletor pode aplicar entradas de usuário ao dispositivo coletor, tais como entradas de toque e entradas de controle remoto.[0005] A source device may send media data, such as audio video (AV) data, to one or more of the sink devices participating in a particular media sharing session. Media data can be played back either on a local display of the source device or on each of the displays of the sink devices. More specifically, each of the participating collector devices renders the received media data for presentation on its screen and audio equipment. In some cases, a user of a collector device may apply user inputs to the collector device, such as touch inputs and remote control inputs.

SUMÁRIOSUMMARY

[0006] Em geral, esta revelação se refere às técnicas para a transmissão contínua direta de dados de mídia a partir de um dispositivo-fonte de exibição sem fio para um dispositivo coletor de exibição sem fio. Em alguns exemplos, as técnicas incluem transmitir diretamente dados de vídeo de entrada codificados para o dispositivo coletor de exibição sem fio, isto é, sem o dispositivo-fonte de exibição sem fio decodificar os dados de vídeo de entrada codificados para emitir para um dispositivo de exibição do dispositivo-fonte de exibição sem fio. Em vez disso, o dispositivo-fonte de exibição sem fio pode emitir um quadro predefinido para o dispositivo de exibição do dispositivo-fonte de exibição sem fio enquanto transmite os dados de vídeo de entrada codificados para o dispositivo coletor de exibição sem fio. Como resultado, outros componentes do dispositivo-fonte de exibição sem fio, tais como aplicativos e reprodutores de mídia, podem operar normalmente para renderizar e exibir o quadro predefinido para o dispositivo de exibição. Além disso, visto que dados de vídeo de entrada codificados são transmitidos para o dispositivo coletor de exibição sem fio sem terem sido decodificados e exibidos no dispositivo de exibição (e sem serem subsequentemente criptados), o dispositivo-fonte de exibição sem fio pode evitar o uso de hardware de decodificação e criptação de vídeo para transmissão contínua direta, o que pode fornecer economias de energia para o dispositivo-fonte de exibição sem fio. Além disso, a qualidade de vídeo pode ser aprimorada no dispositivo coletor evitando-se a necessidade em decodificar e, então, criptar novamente os dados pelo lado de fonte para espelhamento no dispositivo coletor. Em particular, evitando-se o processo de nova criptação e enviando-se os dados não criptados originais do dispositivo-fonte para o dispositivo coletor, a qualidade de vídeo pode ser aprimorada no dispositivo coletor.[0006] In general, this disclosure relates to techniques for direct continuous transmission of media data from a wireless display source device to a wireless display sink device. In some examples, the techniques include directly transmitting encoded input video data to the wireless display sink device, that is, without the wireless display source device decoding the encoded input video data for output to a display device. wireless display source device display. Instead, the wireless display source device may output a predefined frame to the display device of the wireless display source device while transmitting the encoded input video data to the wireless display sink device. As a result, other components of the wireless display source device, such as applications and media players, can operate normally to render and display the predefined frame to the display device. Furthermore, because encoded input video data is transmitted to the wireless display sink device without having been decoded and displayed on the display device (and without being subsequently encrypted), the wireless display source device can avoid use of video decoding and encryption hardware for direct streaming, which can provide power savings for the wireless display source device. Additionally, video quality can be improved at the sink device by avoiding the need to decode and then re-encrypt data on the source side for mirroring at the sink device. In particular, by avoiding the re-encryption process and sending the original unencrypted data from the source device to the sink device, video quality can be improved at the sink device.

[0007] Para sincronizar os dados de áudio e dados de vídeo de dados de mídia de entrada para apresentação no dispositivo coletor de exibição sem fio, para um dado quadro de entrada codificado dos dados de vídeo, o dispositivo-fonte de exibição sem fio determina um tempo de renderização para o quadro predefinido emitir para o dispositivo de exibição para o quadro de entrada codificado. O tempo de renderização pode ser determinado capturando-se o tempo quando o quadro predefinido for consumido para renderização após a sincronização de áudio-vídeo ser realizada pelos módulos do dispositivo-fonte de exibição sem fio que recebem o quadro predefinido. Por exemplo, o tempo de apresentação pode ser determinado como um tempo que o armazenamento temporário armazena o quadro predeterminado é retornado após o consumo. Esse tempo de renderização representa um tempo de apresentação para o quadro de entrada codificado, e o dispositivo-fonte de exibição sem fio associa esse tempo de apresentação ao quadro de entrada codificado na corrente de transporte enviada para o dispositivo coletor de exibição sem fio. Mediante o recebimento do quadro de entrada codificado em associação com o tempo de apresentação por meio da corrente de transporte, o dispositivo coletor de exibição sem fio decodifica o quadro de entrada codificado e exibe o quadro de entrada de acordo com o tempo de apresentação. O dispositivo-fonte de exibição sem fio captura, para codificação e transporte, quadros de áudio de saída e decodificados da mídia de entrada à medida em que os quadros de áudio decodificados são apresentados ou emitidos pelo dispositivo-fonte de exibição sem fio. Os respectivos tempos de apresentação para os dados de áudio (decodificados) e o quadro predefinido para o quadro de entrada codificado correspondente são, dessa forma, sincronizados para dados de áudio/vídeo correspondentes. Obtendo-se e associando-se o tempo de apresentação para o quadro predefinido na corrente de transporte, o dispositivo-fonte de exibição sem fio pode, dessa forma, facilitar a sincronização de áudio/vídeo (“sincronização AV”) no dispositivo coletor de exibição sem fio. Além disso, as técnicas podem habilitar um dispositivo- fonte de exibição sem fio com capacidade limitada de criptação e decodificação a transmitir um vídeo de resolução e qualidade mais altas para processamento e emissão por um dispositivo coletor de exibição sem fio mais capaz.[0007] To synchronize the audio data and video data of input media data for presentation on the wireless display sink device, for a given encoded input frame of the video data, the wireless display source device determines a rendering time for the predefined frame to output to the display device for the encoded input frame. Rendering time can be determined by capturing the time when the preset frame is consumed for rendering after audio-video synchronization is performed by the wireless display source device modules receiving the preset frame. For example, the presentation time can be determined as a time that the temporary storage stores the predetermined frame is returned after consumption. This rendering time represents a presentation time for the encoded input frame, and the wireless display source device associates this presentation time with the encoded input frame in the transport stream sent to the wireless display sink device. Upon receiving the encoded input frame in association with the presentation time via the transport current, the wireless display collector device decodes the encoded input frame and displays the input frame in accordance with the presentation time. The wireless display source device captures, for encoding and transport, output and decoded audio frames from the input media as the decoded audio frames are presented or output by the wireless display source device. The respective presentation times for the (decoded) audio data and the preset frame for the corresponding encoded input frame are thus synchronized for corresponding audio/video data. By obtaining and associating the presentation time for the predefined frame in the transport stream, the wireless display source device can thereby facilitate audio/video synchronization (“AV synchronization”) at the input sink device. wireless display. Additionally, the techniques can enable a wireless display source device with limited encryption and decoding capabilities to transmit a higher resolution and quality video for processing and output by a more capable wireless display sink device.

[0008] Em um exemplo, um método para transmitir dados de vídeo a partir de um dispositivo-fonte de exibição sem fio para um dispositivo coletor de exibição sem fio, sendo que o método compreende obter dados de vídeo criptados para um quadro de dados de vídeo; emitir um quadro predefinido para o quadro de dados de vídeo; e enviar os dados de vídeo criptados para exibição em um dispositivo de exibição associado ao dispositivo coletor de exibição sem fio.[0008] In one example, a method for transmitting video data from a wireless display source device to a wireless display sink device, the method comprising obtaining encrypted video data for a video data frame. video; output a predefined frame to the video data frame; and sending the encrypted video data for display on a display device associated with the wireless display collector device.

[0009] Em um exemplo, um dispositivo-fonte compreende o meio para obter dados de vídeo criptados para um quadro de dados de vídeo; meio para emitir um quadro predefinido para o quadro de dados de vídeo; e meio para enviar, para um dispositivo coletor por meio de um canal de comunicação sem fio, os dados de vídeo criptados para exibição em um dispositivo de exibição associado ao dispositivo coletor.[0009] In one example, a source device comprises the means for obtaining encrypted video data for a video data frame; means for outputting a predefined frame to the video data frame; and means for sending, to a collector device via a wireless communication channel, the encrypted video data for display on a display device associated with the collector device.

[0010] Em um exemplo, um dispositivo-fonte compreende uma memória para armazenar dados de vídeo; e um ou mais processadores, em que o um ou mais processadores são configurados para obter dados de vídeo criptados para um quadro de dados de vídeo; emitir, por meio de uma interface de exibição do dispositivo-fonte e para exibição em um dispositivo de exibição, um quadro predefinido para o quadro de dados de vídeo; e enviar, para um dispositivo coletor por meio de um canal de comunicação sem fio, os dados de vídeo criptados para exibição em um dispositivo de exibição associado ao dispositivo coletor.[0010] In one example, a source device comprises a memory for storing video data; and one or more processors, wherein the one or more processors are configured to obtain encrypted video data for a video data frame; outputting, through a display interface of the source device and for display on a display device, a predefined frame for the video data frame; and sending, to a sink device via a wireless communication channel, the encrypted video data for display on a display device associated with the sink device.

[0011] Em um exemplo, um meio de armazenamento legível por computador compreende instruções armazenadas no mesmo que, quando executadas, configuram um ou mais processadores para: obter dados de vídeo criptados para um quadro de dados de vídeo; emitir um quadro predefinido para o quadro de dados de vídeo; e enviar os dados de vídeo criptados para exibição em um dispositivo de exibição associado a um dispositivo coletor de exibição sem fio.[0011] In one example, a computer-readable storage medium comprises instructions stored thereon that, when executed, configure one or more processors to: obtain encrypted video data for a video data frame; output a predefined frame to the video data frame; and sending the encrypted video data for display on a display device associated with a wireless display collector device.

[0012] Os detalhes de um ou mais exemplos da revelação são estabelecidos nos desenhos anexos e na descrição abaixo. Outros recursos, objetivos e vantagens serão evidentes a partir da descrição e dos desenhos, e a partir das reivindicações.[0012] Details of one or more examples of the disclosure are set forth in the accompanying drawings and in the description below. Other features, objectives and advantages will be apparent from the description and drawings, and from the claims.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[0013] A Figura 1 é um diagrama de blocos que ilustra um exemplo de um dispositivo-fonte de computação de exibição sem fio configurado para transmitir diretamente dados de vídeo criptados para um dispositivo coletor de computação de exibição sem fio de acordo com técnicas descritas nesta revelação.[0013] Figure 1 is a block diagram illustrating an example of a wireless display computing source device configured to directly transmit encrypted video data to a wireless display computing sink device in accordance with techniques described in this revelation.

[0014] A Figura 2 é um diagrama de blocos que ilustra um exemplo de uma pilha de protocolo ou modelo de comunicação de dados para um sistema de exibição sem fio.[0014] Figure 2 is a block diagram illustrating an example of a protocol stack or data communication model for a wireless display system.

[0015] A Figura 3 é um diagrama de blocos que ilustra um exemplo de um dispositivo-fonte de exibição sem fio de acordo com técnicas descritas nesta revelação.[0015] Figure 3 is a block diagram illustrating an example of a wireless display source device in accordance with techniques described in this disclosure.

[0016] A Figura 4 é um fluxograma que ilustra um modo exemplificativo de operação para um dispositivo- fonte de exibição sem fio de acordo com técnicas descritas nesta revelação.[0016] Figure 4 is a flowchart illustrating an exemplary mode of operation for a wireless display source device in accordance with techniques described in this disclosure.

[0017] A Figura 5 é um diagrama de blocos que ilustra um fluxo de dados exemplificativo para determinar tempos de apresentação de quadro de vídeo por uma fonte de exibição sem fio para sincronização de áudio/vídeo de acordo com técnicas descritas no presente documento.[0017] Figure 5 is a block diagram illustrating an exemplary data flow for determining video frame presentation times by a wireless display source for audio/video synchronization in accordance with techniques described herein.

[0018] A Figura 6 é um diagrama de blocos que ilustra componentes exemplificativos de um dispositivo-fonte de exibição sem fio configurado para transmitir diretamente dados de vídeo criptados para um dispositivo coletor de computação de exibição sem fio de acordo com técnicas descritas nesta revelação.[0018] Figure 6 is a block diagram illustrating exemplary components of a wireless display source device configured to directly transmit encrypted video data to a wireless display computing sink device in accordance with techniques described in this disclosure.

[0019] Caracteres de referência semelhantes denotam elementos semelhantes ao longo de todas as Figura e do texto.[0019] Similar reference characters denote similar elements throughout the Figure and text.

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

[0020] Um dispositivo-fonte e um dispositivo coletor podem implantar técnicas de comunicação de exibição sem fio (WD) que são compatíveis com padrões, tais como WirelessHD, Interface Digital Residencial Sem Fio (WHDI), WiGig, USB Sem Fio e o padrão de Exibição Wi-Fi (WFD) (também conhecido como Miracast). Informações adicionais sobre o padrão de WFD podem ser encontradas em Wi-Fi Alliance, “WiFi Display Specification draft version 1.31”, Comitê Técnico da Wi-Fi Alliance, Grupo de Tarefas de Exibição, que é incorporado ao presente documento em sua totalidade a título de referência (doravante, “Especificação de Exibição WiFi”). Um dispositivo-fonte compatível com WFD, conhecido de outra forma como Miracast, pode espelhar saída de áudio e vídeo através do dispositivo-fonte para um dispositivo coletor para emissão pelo dispositivo coletor. Dessa forma, por exemplo, um usuário de telefone inteligente pode espelhar a saída de áudio e vídeo através do telefone inteligente, computador do tipo tablet, ou outro dispositivo de computação do usuário para outro dispositivo, tal como uma televisão ou projetor, que pode fornecer exibição de resolução mais alta ou uma experiência de usuário aprimorada de outra forma. De acordo com a especificação de Exibição Wi-Fi, um dispositivo- fonte de WFD cripta saída de dados de vídeo e de áudio para dispositivos de interface de usuário do dispositivo-fonte de WFD (por exemplo, um visor e alto-falantes) para gerar dados de vídeo e de áudio criptados. O dispositivo-fonte de WFD, então, empacota e envia os dados de vídeo e de áudio criptados para um dispositivo coletor de WFD para saída espelhada através do dispositivo coletor de WFD. O dispositivo-fonte de WFD pode consumir energia de bateria frequentemente escassa tanto para decodificar quanto para exibir os dados de vídeo dos dados multimídia.[0020] A source device and a sink device may deploy wireless display (WD) communication techniques that are compatible with standards such as WirelessHD, Wireless Home Digital Interface (WHDI), WiGig, Wireless USB, and the standard Wi-Fi Display (WFD) (also known as Miracast). Additional information about the WFD standard can be found in Wi-Fi Alliance, “WiFi Display Specification draft version 1.31”, Wi-Fi Alliance Technical Committee, Display Task Group, which is incorporated herein in its entirety by title reference (hereinafter, “WiFi Display Specification”). A WFD-compatible source device, otherwise known as Miracast, can mirror audio and video output through the source device to a sink device for output by the sink device. In this way, for example, a smart phone user can mirror audio and video output through the user's smart phone, tablet computer, or other computing device to another device, such as a television or projector, which can provide higher resolution display or an otherwise improved user experience. According to the Wi-Fi Display specification, a WFD source device encrypts video and audio data output to the WFD source device's user interface devices (for example, a display and speakers) to generate encrypted video and audio data. The WFD source device then packages and sends the encrypted video and audio data to a WFD sink device for mirrored output through the WFD sink device. The WFD source device can consume often scarce battery power to both decode and display the video data of the multimedia data.

[0021] As técnicas desta revelação podem incluir a transmissão contínua direta de dados de vídeo a partir de um dispositivo-fonte de exibição sem fio para um dispositivo coletor de exibição sem fio. Em alguns exemplos, as técnicas incluem transmitir diretamente dados de vídeo de entrada codificados (que podem ser, por exemplo, um filme lido a partir de um dispositivo de armazenamento/memória ou recebido através de uma rede) para o dispositivo coletor de exibição sem fio, isto é, sem o dispositivo-fonte de exibição sem fio decodificar os dados de vídeo de entrada codificados para emissão para um dispositivo de exibição do dispositivo- fonte de exibição sem fio. Em vez disso, o dispositivo-fonte de exibição sem fio pode emitir um quadro predefinido para o dispositivo de exibição do dispositivo-fonte de exibição sem fio enquanto transmite os dados de vídeo de entrada codificados diretamente para o dispositivo coletor de exibição sem fio. Como resultado, outros componentes do dispositivo-fonte de exibição sem fio, tais como aplicativos e reprodutores de mídia, podem operar normalmente para renderizar e exibir o quadro predefinido para o dispositivo de exibição. Além disso, visto que dados de vídeo de entrada codificados são emitidos sem terem sido decodificados, o dispositivo-fonte de exibição sem fio pode evitar o uso de hardware de decodificação de vídeo para transmissão contínua direta, o que pode fornecer economias de energia para o dispositivo-fonte de exibição sem fio. Visto que os dados codificados são transmitidos diretamente a partir do dispositivo-fonte de exibição sem fio, a economia adicional de energia pode ser alcançada, evitando-se a captura de quadros renderizados para dispositivo de exibição e a criptação do quadro capturado. Além disso, a qualidade de vídeo pode ser aprimorada no dispositivo coletor evitando- se a necessidade em decodificar e, então, criptar novamente os dados pelo lado de fonte para espelhamento no dispositivo coletor. Em particular, evitando-se o processo de nova criptação e enviando-se os dados não criptados originais do dispositivo-fonte para o dispositivo coletor, a qualidade de vídeo pode ser aprimorada no dispositivo coletor.[0021] The techniques of this disclosure may include direct continuous transmission of video data from a wireless display source device to a wireless display sink device. In some examples, the techniques include directly transmitting encoded input video data (which may be, for example, a movie read from a storage/memory device or received over a network) to the wireless display sink device. , that is, without the wireless display source device decoding the encoded input video data for output to a display device from the wireless display source device. Instead, the wireless display source device may output a predefined frame to the display device of the wireless display source device while transmitting the encoded input video data directly to the wireless display sink device. As a result, other components of the wireless display source device, such as applications and media players, can operate normally to render and display the predefined frame to the display device. Furthermore, since encoded input video data is output without having been decoded, the wireless display source device can avoid using video decoding hardware for direct streaming, which can provide power savings for the wireless display source device. Since the encoded data is transmitted directly from the display source device wirelessly, additional power savings can be achieved by avoiding the capture of rendered frames to the display device and the encryption of the captured frame. Additionally, video quality can be improved at the sink device by avoiding the need to decode and then re-encrypt data on the source side for mirroring at the sink device. In particular, by avoiding the re-encryption process and sending the original unencrypted data from the source device to the sink device, video quality can be improved at the sink device.

[0022] Para sincronizar os dados de áudio e dados de vídeo de dados de mídia de entrada para apresentação no dispositivo coletor de exibição sem fio, para um dado quadro de entrada codificado dos dados de vídeo, o dispositivo-fonte de exibição sem fio determina um tempo de renderização para o quadro predefinido emitir para o dispositivo de exibição para o quadro de entrada codificado. O tempo de renderização pode ser determinado capturando-se o tempo quando o quadro predefinido for consumido para renderização após a sincronização de áudio-vídeo ser realizada pelos módulos do dispositivo-fonte de exibição sem fio que recebem o quadro predefinido. Por exemplo, o tempo de apresentação pode ser determinado como um tempo que o armazenamento temporário armazena o quadro predeterminado é retornado após o consumo. Esse tempo de renderização representa um tempo de apresentação para o quadro de entrada codificado, e o dispositivo-fonte de exibição sem fio associa esse tempo de apresentação ao quadro de entrada codificado na corrente de transporte enviada para o dispositivo coletor de exibição sem fio. Mediante o recebimento do quadro de entrada codificado em associação com o tempo de apresentação por meio da corrente de transporte, o dispositivo coletor de exibição sem fio decodifica o quadro de entrada codificado e exibe o quadro de entrada de acordo com o tempo de apresentação. O dispositivo-fonte de exibição sem fio captura, para codificação e transporte, quadros de áudio de saída e decodificados da mídia de entrada à medida que os quadros de áudio decodificados são apresentados/emitidos pelo dispositivo-fonte de exibição sem fio. Os respectivos tempos de apresentação para os dados de áudio (decodificados) e o quadro predefinido para o quadro de entrada codificado correspondente são, dessa forma, sincronizados para dados de áudio/vídeo correspondentes. Obtendo-se e associando-se o tempo de apresentação para o quadro predefinido na corrente de transporte, o dispositivo-fonte de exibição sem fio pode, dessa forma, facilitar a sincronização de áudio/vídeo no dispositivo coletor de exibição sem fio.[0022] To synchronize the audio data and video data of input media data for presentation on the wireless display sink device, for a given encoded input frame of the video data, the wireless display source device determines a rendering time for the predefined frame to output to the display device for the encoded input frame. Rendering time can be determined by capturing the time when the preset frame is consumed for rendering after audio-video synchronization is performed by the wireless display source device modules receiving the preset frame. For example, the presentation time can be determined as a time that the temporary storage stores the predetermined frame is returned after consumption. This rendering time represents a presentation time for the encoded input frame, and the wireless display source device associates this presentation time with the encoded input frame in the transport stream sent to the wireless display sink device. Upon receiving the encoded input frame in association with the presentation time via the transport current, the wireless display collector device decodes the encoded input frame and displays the input frame in accordance with the presentation time. The wireless display source device captures, for encoding and transport, output and decoded audio frames from the input media as the decoded audio frames are presented/output by the wireless display source device. The respective presentation times for the (decoded) audio data and the preset frame for the corresponding encoded input frame are thus synchronized for corresponding audio/video data. By obtaining and associating the presentation time for the predefined frame in the transport chain, the wireless display source device can thereby facilitate audio/video synchronization at the wireless display sink device.

[0023] A Figura 1 é um diagrama de blocos que ilustra um exemplo de um dispositivo-fonte de computação de exibição sem fio 110 (“dispositivo-fonte 110”) configurado para transmitir diretamente dados de vídeo criptados para um dispositivo coletor de computação de exibição sem fio 114 (“dispositivo coletor 114”) de acordo com técnicas descritas nesta revelação. O dispositivo-fonte 110 pode compreende qualquer dispositivo que inclua pelo menos uma interface de saída nativa configurada para emitir mídia, tal como mídia de áudio e/ou visual. Por exemplo, o dispositivo-fonte 110 retratado na Figura 1 compreende um telefone inteligente ou computador do tipo tablet que inclui uma primeira interface de saída que compreende uma tela de exibição 112, e uma segunda interface de saída que compreende um ou mais alto- falantes (não retratado na Figura 1) nativos para o dispositivo-fonte. Em outros exemplos, o dispositivo-fonte 110 pode compreender um computador do tipo laptop, um computador do tipo desktop, um controlador de jogos ou qualquer outro dispositivo que seja configurado para usar o visor sem fio para transmitir diretamente dados de vídeo criptados para um dispositivo coletor 114.[0023] Figure 1 is a block diagram illustrating an example of a wireless display computing source device 110 (“source device 110”) configured to directly transmit encrypted video data to a wireless display computing sink device. wireless display 114 (“collector device 114”) in accordance with techniques described in this disclosure. Source device 110 may comprise any device that includes at least one native output interface configured to output media, such as audio and/or visual media. For example, the source device 110 depicted in Figure 1 comprises a smart phone or tablet-type computer that includes a first output interface comprising a display screen 112, and a second output interface comprising one or more speakers. (not pictured in Figure 1) native to the source device. In other examples, the source device 110 may comprise a laptop-type computer, a desktop-type computer, a game controller, or any other device that is configured to use the wireless display to directly transmit encrypted video data to a device. collector 114.

[0024] Conforme mostrado no exemplo da Figura 1, a tela 112 de dispositivo-fonte 110 pode ser configurada para emitir saída gráfica nativa 130. A saída gráfica nativa 130 pode compreender, por exemplo, uma ou mais imagens estáticas ou de vídeo. Conforme também mostrado no exemplo da Figura 1, os alto-falantes de dispositivo-fonte 110 são configurados para fornecer saída de áudio nativa 131. A saída de áudio nativa 131 pode compreender um ou mais sons audíveis. Tal saída de áudio 131 pode ser associado à (por exemplo, configurada para ser emitida em conjunto com) saída gráfica 130. Por exemplo, quando a saída gráfica nativa 130 compreende conteúdo de vídeo ou de imagem, a saída de áudio 131 pode compreender sons audíveis associados ao vídeo ou imagem.[0024] As shown in the example of Figure 1, the screen 112 of source device 110 may be configured to output native graphical output 130. The native graphical output 130 may comprise, for example, one or more still or video images. As also shown in the example of Figure 1, source device speakers 110 are configured to provide native audio output 131. Native audio output 131 may comprise one or more audible sounds. Such audio output 131 may be associated with (e.g., configured to be output in conjunction with) graphics output 130. For example, when native graphics output 130 comprises video or image content, audio output 131 may comprise sounds audibles associated with the video or image.

[0025] Conforme mostrado na Figura 1, o dispositivo-fonte 110 é acoplado comunicativamente a pelo menos um dispositivo (ou dispositivos) coletor 114 (doravante, “dispositivo coletor 114”). O dispositivo coletor 114 pode ser usado pelo dispositivo-fonte 110 para operar um ou mais dispositivos de saída 120, 124 associados ao dispositivo coletor 114, para espelhar saída de mídia nativa do dispositivo-fonte 110. O termo “espelhar”, conforme descrito no presente documento, pode se referir ao controle, através do dispositivo-fonte 110, de pelo menos um dispositivo coletor 114 para emitir pelo menos uma porção de mídia nativa, tal como saída de mídia de áudio, vídeo e/ou imagem nativa do dispositivo-fonte 110.[0025] As shown in Figure 1, the source device 110 is communicatively coupled to at least one sink device (or devices) 114 (hereinafter, “sink device 114”). The sink device 114 may be used by the source device 110 to operate one or more output devices 120, 124 associated with the sink device 114, to mirror native media output from the source device 110. The term “mirroring” as described in present document, may refer to controlling, through the source device 110, at least one sink device 114 to output at least a portion of native media, such as output of native audio, video and/or image media from the source device. font 110.

[0026] O dispositivo-fonte 110 pode controlar o dispositivo coletor 114 com uma sessão de espelhamento ativa para espelhar a saída de mídia de dispositivo-fonte 110 por meio de um ou mais dispositivos de saída 120, 124 associados ao dispositivo coletor 114. Por exemplo, conforme mostrado na Figura 1, o dispositivo-fonte 110 pode controlar o dispositivo de exibição externo 120 para emitir a saída gráfica espelhada 132, que pode compreender saída gráfica substancialmente similar à saída gráfica nativa 130 de dispositivo-fonte 110. A saída gráfica espelhada 132 pode compreender a mesma uma ou mais imagens que a saída gráfica nativa 130, mas tais imagens podem ser processadas, dimensionadas, formatadas e/ou, de outra forma, modificadas para apresentação por meio de dispositivo de exibição externo 120.[0026] The source device 110 may control the sink device 114 with an active mirroring session to mirror the media output of source device 110 through one or more output devices 120, 124 associated with the sink device 114. By For example, as shown in Figure 1, the source device 110 may control the external display device 120 to output mirrored graphics output 132, which may comprise graphics output substantially similar to the native graphics output 130 of source device 110. The graphics output Mirror image 132 may comprise the same one or more images as native graphics output 130, but such images may be processed, scaled, formatted, and/or otherwise modified for presentation via external display device 120.

[0027] Conforme também mostrado na Figura 1, o dispositivo-fonte 110 pode controlar o dispositivo de áudio externo 124 para emitir saída de áudio espelhada 136, que pode compreender saída de áudio substancialmente similar à saída de áudio 131 retratada na Figura 1. A saída de áudio espelhada 136 pode compreender os mesmos sons audíveis que a saída gráfica nativa 130, mas processados, formatados e/ou, de outra forma, modificados para serem emitidos por meio de dispositivo de áudio externo 124. Em alguns exemplos, o dispositivo-fonte 110 pode controlar o dispositivo coletor 114 para emitir mídia que compreende a saída gráfica nativa 130 assim como a saída de áudio nativa 131 de dispositivo- fonte 110.[0027] As also shown in Figure 1, the source device 110 may control the external audio device 124 to output mirrored audio output 136, which may comprise audio output substantially similar to the audio output 131 depicted in Figure 1. mirrored audio output 136 may comprise the same audible sounds as the native graphics output 130, but processed, formatted, and/or otherwise modified to be output through an external audio device 124. In some examples, the mirrored audio output 136 may comprise the same audible sounds as the native graphics output 130. Source 110 may control sink device 114 to output media comprising native graphics output 130 as well as native audio output 131 of source device 110.

[0028] Em alguns exemplos, tal como mostrado na Figura 1, o dispositivo coletor 114 pode compreender um dispositivo que é acoplado a um ou mais dentre um dispositivo de exibição externo 120, tal como um visor de televisão, monitor de computador ou semelhantes, que inclui uma tela 122 configurada para apresentar imagens para um observador, e/ou um dispositivo de áudio externo 124, tal como alto- falantes ou um sistema estéreo. Por exemplo, o dispositivo coletor 114 pode compreender um conversor de sinal (por exemplo, GOOGLE TV, APPLE TV, ROKU), um console de jogos (por exemplo, NINTENDO WII, SONY PLAYSTATION 3, MICROSOFT XBOX), reprodutor de disco de vídeo digital (DVD), TV inteligente, dispositivo dongle de TV (por exemplo, Google Chromecast), Reprodutor de Blu-ray ou outra unidade separada acoplada a um dispositivo de exibição externo e/ou a um dispositivo de áudio externo, conforme mostrado no exemplo da Figura 1. Em outros exemplos não retratados na Figura 1, um ou mais dentre o dispositivo coletor 114, o dispositivo de exibição externo 120 e/ou o dispositivo de áudio externo 124 podem ser combinados como um dispositivo único. Por exemplo, um dispositivo de exibição, tal como uma televisão ou um monitor de computador, pode incluir tanto uma tela 122 quanto um ou mais alto-falantes. Em outros exemplos, os mesmos ou dispositivos coletores diferentes 114 podem controlar uma ou mais interfaces de saída de áudio ou de vídeo que são separadas do um ou mais dispositivos coletores 114. De acordo com ainda outros exemplos, a funcionalidade realizada pelo dispositivo coletor 114, conforme descrito no presente documento, pode ser realizada por um ou mais dentre um dispositivo de exibição externo e/ou um dispositivo de áudio externo. Por exemplo, um visor de televisão e/ou receptor estéreo podem incluir hardware e/ou software configurados para acoplar comunicativamente a televisão e/ou o estéreo ao dispositivo-fonte 110, de modo que a mídia nativa de dispositivo-fonte 110 possa ser espelhada no visor de televisão ou no receptor estéreo.[0028] In some examples, as shown in Figure 1, the collector device 114 may comprise a device that is coupled to one or more of an external display device 120, such as a television display, computer monitor, or the like. which includes a screen 122 configured to present images to a viewer, and/or an external audio device 124, such as speakers or a stereo system. For example, the collector device 114 may comprise a signal converter (e.g., GOOGLE TV, APPLE TV, ROKU), a game console (e.g., NINTENDO WII, SONY PLAYSTATION 3, MICROSOFT XBOX), video disc player digital (DVD), smart TV, TV dongle device (e.g. Google Chromecast), Blu-ray Player, or other separate drive coupled with an external display device and/or an external audio device as shown in the example of Figure 1. In other examples not depicted in Figure 1, one or more of the collector device 114, the external display device 120 and/or the external audio device 124 may be combined as a single device. For example, a display device, such as a television or computer monitor, may include both a screen 122 and one or more speakers. In other examples, the same or different sink devices 114 may control one or more audio or video output interfaces that are separate from the one or more sink devices 114. According to still other examples, the functionality performed by the sink device 114, as described herein, may be performed by one or more of an external display device and/or an external audio device. For example, a television display and/or stereo receiver may include hardware and/or software configured to communicatively couple the television and/or stereo to source device 110 such that native media of source device 110 may be mirrored. on the television display or stereo receiver.

[0029] O dispositivo-fonte 110 transmite dados multimídia para o dispositivo coletor 114 para espelhar a saída de mídia de dispositivo-fonte 110 por meio de canal de comunicação sem fio 150. O canal de comunicação 150 pode ser um canal de comunicação de alcance relativamente curto, e pode implantar uma estrutura de canal físico, tal como ou similar a Wi-Fi, Bluetooth ou semelhantes, tal como implantar estruturas de banda de frequência de 2,4 GHz, 3,6 GHz, 5 GHz, 60 GHz ou de Banda Ultra Larga (UWB) definidas. Entretanto, o canal de comunicação 150 não é necessariamente limitado a esse respeito, e pode compreender qualquer meio de comunicação sem fio ou com fio, tal como um espectro de radiofrequência (RF) ou uma ou mais linhas de transmissão físicas, ou qualquer combinação de mídia sem fio e com fio. Em outros exemplos, o canal de comunicação 150 pode até formar parte de uma rede com base em pacote, tal como uma rede de área local com fio ou sem fio, uma rede de área ampla ou uma rede global, tal como a Internet. Adicional ou alternativamente, o canal de comunicação 150 pode ser usado pelo dispositivo-fonte 110 e pelo dispositivo coletor 114 para criar um enlace ponto a ponto.[0029] Source device 110 transmits multimedia data to sink device 114 to mirror the media output of source device 110 via wireless communication channel 150. Communication channel 150 may be a range communication channel relatively short, and may deploy a physical channel structure such as or similar to Wi-Fi, Bluetooth or the like, such as deploying frequency band structures of 2.4 GHz, 3.6 GHz, 5 GHz, 60 GHz or Ultra Wideband (UWB) definitions. However, communication channel 150 is not necessarily limited in this regard, and may comprise any wireless or wired communication medium, such as a radio frequency (RF) spectrum or one or more physical transmission lines, or any combination of wireless and wired media. In other examples, the communication channel 150 may even form part of a packet-based network, such as a wired or wireless local area network, a wide area network, or a global network, such as the Internet. Additionally or alternatively, communication channel 150 may be used by source device 110 and sink device 114 to create a point-to-point link.

[0030] O dispositivo-fonte 110 e o dispositivo coletor 114 podem estabelecer uma sessão de comunicação de acordo com uma negociação de capacidade com o uso de, por exemplo, mensagens de controle de Protocolo de Transmissão Contínua em Tempo Real (RTSP). Em um exemplo, uma solicitação para estabelecer uma sessão de comunicação pode ser enviada pelo dispositivo-fonte 110 para o dispositivo coletor 114. Uma vez que a sessão de compartilhamento de mídia seja estabelecida, o dispositivo-fonte 110 transmite dados de mídia, por exemplo, dados de áudio vídeo (AV), para o dispositivo coletor 114 com o uso do protocolo de Transporte em Tempo Real (RTP). O dispositivo coletor 114 renderiza e emite os dados de mídia recebidos para o dispositivo de exibição 120 e o dispositivo de áudio 124 externos.[0030] The source device 110 and the sink device 114 may establish a communication session in accordance with a capacity negotiation using, for example, Real-Time Streaming Protocol (RTSP) control messages. In one example, a request to establish a communication session may be sent by the source device 110 to the sink device 114. Once the media sharing session is established, the source device 110 transmits media data, e.g. , audio video (AV) data, to the collector device 114 using the Real Time Transport protocol (RTP). The sink device 114 renders and outputs the received media data to the external display device 120 and audio device 124 .

[0031] O dispositivo-fonte 110 e o dispositivo coletor 114 podem, então, se comunicar por meio de canal de comunicação 150 com o uso de um protocolo de comunicações, tal como um padrão da família IEEE 802.11 de padrões. Em um exemplo, o canal de comunicação 150 pode ser um canal de comunicação de rede. Nesse exemplo, um provedor de serviço de comunicação pode operar centralmente e administrar a rede com o uso de uma estação-base como um concentrador de rede. O dispositivo-fonte 110 e o dispositivo coletor 114 podem, por exemplo, se comunicar de acordo com os padrões de Wi-Fi Direto e/ou Exibição Wi-Fi (WFD), de modo que o dispositivo- fonte 110 e o dispositivo coletor 114 se comuniquem diretamente um com o outro sem o uso de um intermediário, tal como pontos de acesso sem fio ou, os assim denominados, pontos quentes. O dispositivo-fonte 110 e o dispositivo coletor 114 também podem estabelecer uma configuração de enlace direto em túnel (TDLS) para evitar ou reduzir o congestionamento de rede. O Wi-Fi Direto e a TDLS se destinam a configurar sessões de comunicação de distância relativamente curta. A distância relativamente curta nesse contexto pode se referir, por exemplo, a menor do que aproximadamente 70 metros, embora, em um ambiente ruidoso ou obstruído, a distância entre dispositivos pode ser ainda mais curta, tal como menor do que aproximadamente 35 metros, ou menor do que aproximadamente 20 metros.[0031] The source device 110 and the sink device 114 may then communicate via communication channel 150 using a communications protocol, such as a standard from the IEEE 802.11 family of standards. In an example, communication channel 150 may be a network communication channel. In this example, a communications service provider can centrally operate and manage the network using a base station as a network hub. The source device 110 and the sink device 114 may, for example, communicate in accordance with Wi-Fi Direct and/or Wi-Fi Display (WFD) standards, such that the source device 110 and the sink device 114 communicate directly with each other without the use of an intermediary, such as wireless access points or so-called hot spots. The source device 110 and the sink device 114 may also establish a tunneled direct link (TDLS) configuration to avoid or reduce network congestion. Wi-Fi Direct and TDLS are intended for setting up relatively short-distance communication sessions. Relatively short distance in this context may refer, for example, to less than approximately 70 meters, although, in a noisy or obstructed environment, the distance between devices may be even shorter, such as less than approximately 35 meters, or less than approximately 20 meters.

[0032] As técnicas desta revelação podem, em alguns momentos, ser descritas em relação à WFD, mas contempla-se que os aspectos dessas técnicas também possam ser compatíveis com outros protocolos de comunicação. A título de exemplo e não de limitação, a comunicação sem fio entre o dispositivo-fonte 110 e o dispositivo coletor 114 pode utilizar técnicas de multiplexação por divisão de frequência ortogonal(OFDM). Uma ampla variedade de outras técnicas de comunicação sem fio também pode ser usada, incluindo, mas sem limitação, acesso múltiplo por divisão de tempo (TDMA), acesso múltiplo por divisão de frequência (FDMA), acesso múltiplo por divisão de código (CDMA) ou qualquer combinação de OFDM, FDMA, TDMA e/ou CDMA.[0032] The techniques of this disclosure may, at times, be described in relation to WFD, but it is contemplated that aspects of these techniques may also be compatible with other communication protocols. By way of example and not limitation, wireless communication between the source device 110 and the sink device 114 may utilize orthogonal frequency division multiplexing (OFDM) techniques. A wide variety of other wireless communication techniques may also be used, including but not limited to time division multiple access (TDMA), frequency division multiple access (FDMA), code division multiple access (CDMA) or any combination of OFDM, FDMA, TDMA and/or CDMA.

[0033] Conforme descrito acima, o dispositivo- fonte 110 pode ser configurado para espelhar a saída de mídia de dispositivo-fonte 110 por meio de dispositivo coletor 114. Por exemplo, o dispositivo-fonte 110 pode dotar um usuário com uma opção selecionável por usuário para ativar ou desativar um modo de espelhamento em que a mídia de áudio nativa, a mídia visual ou ambas são emitidas por meio de dispositivo coletor 114. Em um modo de operação padrão, o dispositivo-fonte 110 pode receber a mídia na forma de uma pluralidade de dados de mídia criptados por meio de um meio de comunicação (por exemplo, a Internet) ou a partir de um meio de armazenamento legível por computador, tal como disco rígido ou disco de vídeo digital (DVD), e controlar uma ou mais interfaces de saída nativas de dispositivo-fonte 110 para emitir uma mídia que compreende a pluralidade de dados de mídia criptados. Tais interfaces de saída nativas podem incluir uma tela 112 para emissão de saída gráfica nativa 130 e/ou um alto-falante para emissão de áudio nativo 131. Em tal modo de espelhamento, o dispositivo-fonte 110 pode controlar o dispositivo coletor 114 para fazer com que o dispositivo coletor 114 emita substancialmente a mesma mídia que a saída gráfica nativa 130 e/ou saída de áudio nativa 131 que o dispositivo-fonte 110 teria emitido com o uso de uma ou mais interfaces de saída nativas no modo de operação padrão.[0033] As described above, source device 110 may be configured to mirror the media output of source device 110 via sink device 114. For example, source device 110 may provide a user with a selectable option by user to enable or disable a mirroring mode in which native audio media, visual media, or both are output through sink device 114. In a standard mode of operation, source device 110 may receive the media in the form of a plurality of encrypted media data via a communications medium (e.g., the Internet) or from a computer-readable storage medium, such as a hard drive or digital video disc (DVD), and controlling one or plus source device native output interfaces 110 for outputting a media comprising the plurality of encrypted media data. Such native output interfaces may include a display 112 for outputting native graphics output 130 and/or a speaker for outputting native audio 131. In such a mirroring mode, the source device 110 may control the sink device 114 to make causing the sink device 114 to output substantially the same media as the native graphics output 130 and/or native audio output 131 that the source device 110 would have output using one or more native output interfaces in the standard mode of operation.

[0034] De acordo com as técnicas descritas nesta revelação, durante a operação para espelhar a saída gráfica nativa 130 para o dispositivo coletor 114, o dispositivo-fonte 110 pode interromper o espelhamento de saída gráfica nativa 130 para enviar dados de vídeo de dados de mídia recebidos para o dispositivo coletor 114 por meio de canal de comunicação 150 sem ter decodificado os dados de vídeo e sem interferir com aplicativos de reprodução ou de transmissão contínua de vídeo existentes. Em alguns exemplos, o dispositivo-fonte 110 não emite os dados de vídeo para exibição como uma saída gráfica nativa 130.[0034] In accordance with the techniques described in this disclosure, during the operation to mirror the native graphics output 130 to the sink device 114, the source device 110 may interrupt the mirroring of native graphics output 130 to send video data from media received to the collector device 114 via communication channel 150 without having decoded the video data and without interfering with existing video playback or streaming applications. In some examples, the source device 110 does not output the video data for display as a native graphics output 130.

[0035] Em alguns exemplos, em vez de decodificar os dados de vídeo criptados para obter e emitir a saída gráfica nativa 130 por meio de tela 112, o dispositivo-fonte 110 pode emitir um quadro de vídeo predefinido como a saída gráfica nativa 130 para exibição em tela 112 enquanto concomitantemente envia os dados de vídeo criptados para o dispositivo coletor 114. Por exemplo, um usuário pode solicitar um aplicativo executado por dispositivo-fonte 110 para reproduzir dados multimídia. O aplicativo pode obter os dados multimídia, criptados de acordo com um padrão de compactação, por meio de um canal de comunicação para um servidor ou a partir de um meio de armazenamento legível por computador do dispositivo-fonte 110, por exemplo. Ao operar em modo de espelhamento, em vez de quadros de dados de vídeo decodificados dos dados multimídia, o dispositivo-fonte 110 emite um quadro de vídeo predefinido para a tela 112 para exibição como a saída gráfica nativa 130. Concomitantemente, o dispositivo-fonte 110 envia dados de vídeo criptados dos dados multimídia criptados para o dispositivo coletor 114.[0035] In some examples, instead of decoding the encrypted video data to obtain and output the native graphics output 130 via screen 112, the source device 110 may output a predefined video frame as the native graphics output 130 to screen display 112 while simultaneously sending the encrypted video data to the sink device 114. For example, a user may request an application run by source device 110 to play multimedia data. The application may obtain the multimedia data, encrypted according to a compression standard, via a communication channel to a server or from a computer-readable storage medium of the source device 110, for example. When operating in mirroring mode, instead of video data frames decoded from the multimedia data, the source device 110 outputs a predefined video frame to the screen 112 for display as the native graphics output 130. Concomitantly, the source device 110 sends encrypted video data from the encrypted multimedia data to the collector device 114.

[0036] Em alguns exemplos, o dispositivo-fonte 110 facilita a saída sincronizada de dados de áudio e de vídeo dos dados multimídia em dispositivo coletor 114 associando-se um tempo de apresentação aos dados de vídeo enviados por meio de canal de comunicação 150. O dispositivo- fonte 110 pode obter o tempo de apresentação com base em uma apresentação de um quadro de vídeo predefinido emitido pelo dispositivo-fonte 110 como a saída gráfica nativa 130. Em outras palavras, ao operar em modo de espelhamento, o dispositivo-fonte 110 pode, em vez de um quadro de vídeo de dados de vídeo dos dados multimídia, emitir um quadro predefinido para a tela 112 como a saída gráfica nativa 130. O dispositivo-fonte 110 obtém um carimbo de data/hora com base no tempo de apresentação para a saída de quadro predefinido que corresponde ao quadro de vídeo e envia os dados de vídeo criptados para o quadro de vídeo em associação com o carimbo de data/hora. O dispositivo coletor 114 pode, então, decodificar os dados de vídeo criptados para obter o quadro de vídeo e emitir o quadro de vídeo para o dispositivo de exibição externo 120 como a saída gráfica espelhada 132 no tempo especificado pelo carimbo de data/hora. Em alguns exemplos, o dispositivo-fonte 110 espelha os dados de áudio de dados multimídia criptando-se dados de áudio renderizados e associando-se os dados de áudio criptados aos tempos de apresentação dos dados de áudio correspondentes. Também, através da obtenção e associação de um tempo de apresentação a um quadro de vídeo predefinido na corrente de transporte da maneira descrita acima, o dispositivo-fonte 110 facilita a saída sincronizada de áudio e vídeo no dispositivo coletor 114.[0036] In some examples, the source device 110 facilitates the synchronized output of audio and video data from the multimedia data to the collector device 114 by associating a presentation time with the video data sent via communication channel 150. The source device 110 may obtain the presentation time based on a presentation of a predefined video frame output by the source device 110 as the native graphics output 130. In other words, when operating in mirroring mode, the source device 110 110 may, instead of a video frame of video data of the multimedia data, output a predefined frame to the screen 112 as the native graphics output 130. The source device 110 obtains a timestamp based on the time of presentation to the predefined frame output that corresponds to the video frame and outputs the encrypted video data to the video frame in association with the timestamp. The sink device 114 may then decode the encrypted video data to obtain the video frame and output the video frame to the external display device 120 as the mirrored graphics output 132 at the time specified by the timestamp. In some examples, the source device 110 mirrors the audio data of multimedia data by encrypting rendered audio data and associating the encrypted audio data with the presentation times of the corresponding audio data. Also, by obtaining and associating a presentation time with a predefined video frame in the transport stream in the manner described above, the source device 110 facilitates the synchronized output of audio and video at the sink device 114.

[0037] Um quadro predefinido pode, em alguns exemplos, ser um quadro preto para minimizar o consumo de energia da tela 112 para apresentar o quadro preto. Em alguns exemplos, o quadro predefinido pode ser um logotipo, um alerta de usuário ou outra mensagem de usuário. O quadro predefinido pode ter uma resolução similar à de quadros de vídeo para os dados de vídeo de entrada criptados.[0037] A predefined frame may, in some examples, be a black frame to minimize the power consumption of screen 112 to present the black frame. In some examples, the predefined frame might be a logo, a user alert, or another user message. The predefined frame can have a resolution similar to that of video frames for the encrypted input video data.

[0038] Em alguns exemplos, o dispositivo-fonte 110 usa um decodificador de espelhamento para “decodificar” dados de vídeo enquanto opera em modo de espelhamento. O decodificador de espelhamento pode apresentar uma interface idêntica a outros decodificadores de vídeo para uma interface de decodificador decodificar o hardware de dispositivo-fonte 110. O decodificador de espelhamento pode fornecer adicionalmente um fluxo de armazenamento temporário de quadro de vídeo idêntico ao de outros decodificadores de vídeo para a interface de decodificador. Entretanto, em vez de decodificar dados de vídeo para emitir para a tela 112, o decodificador de espelhamento, em tais exemplos, consome armazenamentos temporários de entrada para a interface de decodificador, sendo que os armazenamentos temporários de entrada armazenam dados de vídeo criptados, e o dispositivo- fonte 110 envia os dados de vídeo criptados para o dispositivo coletor 114. Além disso, em vez de decodificar os dados de vídeo criptados para emissão por meio de armazenamentos temporários de saída para a interface de decodificador, o decodificador de espelhamento grava um quadro predefinido nos armazenamentos temporários de saída para a interface de decodificador. Como resultado, o dispositivo-fonte 110 pode emitir o quadro predefinido para a tela 112 como a saída gráfica nativa 130. Um tempo que um armazenamento temporário de saída é consumido pelo menos se aproxima de um tempo de apresentação para o quadro de vídeo armazenado no armazenamento temporário de saída. O decodificador de espelhamento pode receber um sinal ou outra notificação a partir de um aplicativo de espelhamento que o armazenamento temporário de saída é consumido, gerar um carimbo de data/hora mediante a recepção de sinal e associar o carimbo de data/hora aos dados de vídeo criptados correspondentes que teriam, de outra forma, sido decodificados e armazenados no armazenamento temporário de saída. O dispositivo-fonte 110 pode, então, enviar os dados de vídeo criptados em associação com o carimbo de data/hora (um tempo de apresentação) em uma corrente de transporte para o dispositivo coletor 114 para fazer com que o dispositivo coletor 114 decodifique o vídeo criptado para um quadro de vídeo e apresente o quadro de vídeo no tempo de apresentação associado.[0038] In some examples, source device 110 uses a mirroring decoder to “decode” video data while operating in mirroring mode. The mirroring decoder may present an interface identical to other video decoders for a decoder interface to decode source device hardware 110. The mirroring decoder may additionally provide a video frame buffer stream identical to that of other video decoders. video to the decoder interface. However, instead of decoding video data for output to screen 112, the mirroring decoder, in such examples, consumes input buffers for the decoder interface, the input buffers storing encrypted video data, and source device 110 sends the encrypted video data to the sink device 114. Furthermore, instead of decoding the encrypted video data for output via output buffers to the decoder interface, the mirroring decoder writes a predefined frame in the output temporary stores for the decoder interface. As a result, the source device 110 may output the predefined frame to the screen 112 as the native graphics output 130. A time that an output buffer is consumed at least approximates a presentation time for the video frame stored in the output temporary storage. The mirroring decoder may receive a signal or other notification from a mirroring application that output temporary storage is consumed, generate a timestamp upon reception of the signal, and associate the timestamp with the signal data. corresponding encrypted video that would otherwise have been decoded and stored in the output temporary storage. The source device 110 may then send the encrypted video data in association with the timestamp (a presentation time) in a transport stream to the sink device 114 to cause the sink device 114 to decode the encrypted video to a video frame and present the video frame at the associated presentation time.

[0039] A Figura 2 é um diagrama de blocos que ilustra um exemplo de uma pilha de protocolo ou modelo de comunicação de dados para um sistema de exibição sem fio (WD). O modelo de comunicação de dados 200 ilustra as interações entre dados e protocolos de controle usados para transmitir dados entre um dispositivo-fonte e um dispositivo coletor em um sistema de WD implantado. Em alguns exemplos, o dispositivo-fonte 110 da Figura 1 pode usar o modelo de comunicação de dados 200. O modelo de comunicação de dados 200 inclui camada física (PHY) 202, camada de controle de acesso de mídia (MAC) (204), protocolo de Internet (IP) 206, Protocolo de Datagrama de Usuário (UDP) 208, protocolo de transporte em tempo real (RTP) 210, corrente de transporte MPEG2 (MPEG2-TS) 212, proteção de conteúdo 214, empacotamento de corrente elementar empacotada (PES) 216, codec de vídeo 218 incluindo codec de espelho 218A, codec de áudio 220, protocolo de controle de transporte (TCP) 222, protocolo de transmissão contínua em tempo real (RTSP) 224, empacotamento de entrada de usuário 228, comandos de dispositivo de interface humana (HIDC) 230 e entradas de usuário genéricas 232. O empacotamento de entrada de usuário 228, os HIDC 230 e as entradas de usuário genéricas 232 podem constituir a Canal de Retorno de Entrada de Usuário (UIBC) 201.[0039] Figure 2 is a block diagram illustrating an example of a protocol stack or data communication model for a wireless display system (WD). Data communication model 200 illustrates interactions between data and control protocols used to transmit data between a source device and a sink device in a deployed WD system. In some examples, the source device 110 of Figure 1 may use the data communication model 200. The data communication model 200 includes physical layer (PHY) 202, media access control (MAC) layer (204) , Internet Protocol (IP) 206, User Datagram Protocol (UDP) 208, Real-Time Transport Protocol (RTP) 210, MPEG2 Transport Chain (MPEG2-TS) 212, Content Protection 214, Elementary Chain Packaging packetized (PES) 216, video codec 218 including mirror codec 218A, audio codec 220, transport control protocol (TCP) 222, real-time streaming protocol (RTSP) 224, user input packaging 228, human interface device commands (HIDC) 230 and generic user inputs 232. The user input packaging 228, the HIDC 230 and the generic user inputs 232 may constitute the User Input Return Channel (UIBC) 201.

[0040] A camada física 202 e a camada de MAC 204 podem definir a sinalização física, o endereçamento e o controle de acesso de canal usados para comunicações em um sistema de WD. A camada física 202 e a camada de MAC 204 podem definir a estrutura de banda de frequência usada para comunicação, por exemplo, bandas da Comissão Federal de Comunicações definidas em estruturas de banda de frequência de 2,4 GHz, 3,6 GHz, 5 GHz, 60 GHz ou Banda Ultra Larga (UWB). A camada física 202 e o MAC 204 também podem definir técnicas de modulação de dados, por exemplo, modulação de amplitude analógica e digital, modulação de frequência, técnicas de modulação de fase e combinações das mesmas. A camada física 202 e o MAC 204 também podem definir técnicas de multiplexação, por exemplo, acesso múltiplo por divisão de tempo (TDMA), acesso múltiplo por divisão de frequência (FDMA), acesso múltiplo por divisão de código (CDMA) ou qualquer combinação de OFDM, FDMA, TDMA e/ou CDMA. Em um exemplo, a camada física 202 e a camada de controle de acesso de mídia 204 podem ser definidas por um padrão Wi-Fi (por exemplo, IEEE 802.11-2007 e 802.11n-2009x), tal como o fornecido por WFD. Em outros exemplos, a camada física 202 e a camada de controle de acesso de mídia 204 podem ser definidas por qualquer um dentre: WirelessHD, Interface Digital Residencial Sem fio (WHDI), WiGig e USB Sem Fio.[0040] The physical layer 202 and the MAC layer 204 may define the physical signaling, addressing, and channel access control used for communications in a WD system. The physical layer 202 and the MAC layer 204 may define the frequency band structure used for communication, e.g., Federal Communications Commission bands defined in frequency band structures of 2.4 GHz, 3.6 GHz, 5 GHz, 60 GHz or Ultra Wideband (UWB). The physical layer 202 and the MAC 204 may also define data modulation techniques, e.g., analog and digital amplitude modulation, frequency modulation, phase modulation techniques, and combinations thereof. The physical layer 202 and MAC 204 may also define multiplexing techniques, e.g., time division multiple access (TDMA), frequency division multiple access (FDMA), code division multiple access (CDMA), or any combination of OFDM, FDMA, TDMA and/or CDMA. In one example, the physical layer 202 and the media access control layer 204 may be defined by a Wi-Fi standard (e.g., IEEE 802.11-2007 and 802.11n-2009x), such as that provided by WFD. In other examples, the physical layer 202 and the media access control layer 204 may be defined by any of: WirelessHD, Wireless Home Digital Interface (WHDI), WiGig, and Wireless USB.

[0041] O protocolo de Internet (IP) 206, o Protocolo de Datagrama de Usuário (UDP) 208, o protocolo de transporte em tempo real (RTP) 210, o protocolo de controle de transporte (TCP) 222 e o protocolo de transmissão contínua em tempo real (RTSP) 224 definem estruturas de pacote e encapsulamentos usados em um sistema de WD e podem ser definidos de acordo com os padrões mantidos pela Força Tarefa de Engenharia da Internet (IETF).[0041] The Internet Protocol (IP) 206, the User Datagram Protocol (UDP) 208, the Real-Time Transport Protocol (RTP) 210, the Transport Control Protocol (TCP) 222, and the Transmission Protocol real-time streaming (RTSP) 224 define packet structures and encapsulations used in a WD system and can be defined according to standards maintained by the Internet Engineering Task Force (IETF).

[0042] O RTSP 224 pode ser usado pelo dispositivo-fonte 110 e pelo dispositivo coletor 114, por exemplo, para negociar capacidades, estabelecer uma sessão e manutenção e gerenciamento de sessão. O dispositivo-fonte 110 e o dispositivo coletor 114 podem estabelecer o canal de retroalimentação com o uso de uma transação de mensagem de RTSP para negociar a capacidade de dispositivo-fonte 110 e de dispositivo coletor 114 em suportar o canal de retroalimentação e a categoria de entrada de retroalimentação no UIBC. O uso de negociação de RTSP para estabelecer um canal de retroalimentação pode ser similar ao uso do processo de negociação de RTSP para estabelecer uma sessão de compartilhamento de mídia e/ou o UIBC.[0042] The RTSP 224 may be used by the source device 110 and the sink device 114, for example, to negotiate capabilities, establish a session, and session maintenance and management. Source device 110 and sink device 114 may establish the feedback channel using an RTSP message transaction to negotiate the ability of source device 110 and sink device 114 to support the feedback channel and category of feedback input to UIBC. Using RTSP negotiation to establish a feedback channel can be similar to using the RTSP negotiation process to establish a media sharing session and/or the UIBC.

[0043] Um ou mais codecs de vídeo 218 podem definir as técnicas de codificação de dados de vídeo que podem ser usadas por um sistema de WD para compactar dados de vídeo para transporte por meio de um canal de comunicação de WD. Cada um dentre os codecs de vídeo 218 pode implantar qualquer quantidade de padrões de compactação de vídeo, tais como ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 ou ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual, ITU-T H.264 (também conhecido como ISO/IEC MPEG-4 AVC), VP8, VP9 e Codificação de Vídeo de Alta Eficiência (HEVC). Deve- se observar que em alguns exemplos, o sistema de WD pode compactar ou descompactar dados de vídeo. O codec (ou codecs) de vídeo 218 inclui, nesse exemplo, um codec de espelho 218A para transmissão contínua direta de dados de vídeo criptados para um dispositivo coletor de WD.[0043] One or more video codecs 218 may define video data encoding techniques that may be used by a WD system to compress video data for transport over a WD communication channel. Each of the 218 video codecs can implement any number of video compression standards, such as ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262, or ISO/IEC MPEG-2 Visual , ITU-T H.263, ISO/IEC MPEG-4 Visual, ITU-T H.264 (also known as ISO/IEC MPEG-4 AVC), VP8, VP9, and High Efficiency Video Coding (HEVC). It should be noted that in some examples, the WD system may compress or decompress video data. The video codec (or codecs) 218 includes, in this example, a mirror codec 218A for direct streaming of encrypted video data to a WD collector device.

[0044] O codec de áudio 220 pode definir as técnicas de codificação de dados de áudio que podem ser usadas por um sistema de WD. Os dados de áudio podem ser codificados com o uso de formatos de múltiplos canais, tais como os desenvolvidos pelos Sistema de Cinema Dolby e Digital. Os dados de áudio podem ser codificados com o uso de um formato compactado ou descompactado. Exemplos de formatos de áudio compactados incluem MPEG-1, 2 Camadas de Áudio II e III, AC-3, AAC e Vorbis. Um exemplo de um formato de áudio descompactado inclui formato de áudio de modulado de código por pulso (PCM).[0044] Audio codec 220 can define audio data coding techniques that can be used by a WD system. Audio data can be encoded using multi-channel formats, such as those developed by Dolby and Digital Cinema Systems. Audio data can be encoded using a compressed or uncompressed format. Examples of compressed audio formats include MPEG-1, 2 Audio Layers II and III, AC-3, AAC, and Vorbis. An example of an uncompressed audio format includes pulse code modulated (PCM) audio format.

[0045] O empacotamento de corrente elementar empacotada (PES) 216 e a corrente de transporte MPEG2 (MPEG2- TS) 212 podem definir como dados de áudio e de vídeo codificados são empacotados e transmitidos. O empacotamento de corrente elementar empacotada (PES) 216 e a MPEG-TS 212 podem ser definidos de acordo com MPEG-2 Parte 1. Em outros exemplos, os dados de áudio e de vídeo podem ser empacotados e transmitidos de acordo com outros protocolos de empacotamento e de corrente de transporte. A proteção de conteúdo 214 pode fornecer proteção contra cópias não autorizadas de dados de áudio ou de vídeo. Em um exemplo, a proteção de conteúdo 214 pode ser definida de acordo com especificação de Proteção de Conteúdo Digital de Alta largura de banda 2.0.[0045] Packed Elementary Stream Packaging (PES) 216 and MPEG2 Transport Stream (MPEG2-TS) 212 can define how encoded audio and video data is packaged and transmitted. Packed Elementary Current Packaging (PES) 216 and MPEG-TS 212 may be defined in accordance with MPEG-2 Part 1. In other examples, audio and video data may be packaged and transmitted in accordance with other packet protocols. packaging and transport chain. Content protection 214 can provide protection against unauthorized copying of audio or video data. In one example, content protection 214 may be defined in accordance with the High Bandwidth Digital Content Protection 2.0 specification.

[0046] O UIBC 201 inclui o empacotamento de entrada de usuário 228, que pode definir como a entrada de usuário é empacotada. Comandos de dispositivo de interface humana (HIDC) 230, entradas de usuário genéricas 232 podem definir como os tipos de entradas de usuário são formatados em elementos de informações. Por exemplo, os comandos de dispositivo de interface humana 230 e as entradas de usuário genéricas 232 podem categorizar entradas com base em tipo de interface de usuário (por exemplo, mouse, teclado, toque, múltiplos toques, voz, gesto, interface específica de fornecedor, etc.) e comandos (por exemplo, ampliação, de panorâmica, etc.) e determinar como as entradas de usuário devem ser formatadas em elementos de informações. A categorização como HIDC e entrada de usuário genérica afeta tipicamente como dados de mídia subsequentes são apresentados para o usuário no dispositivo coletor 114, (por exemplo, operações de ampliação e de panorâmica) e como o dispositivo-fonte 110 processa (por exemplo, cripta e/ou transmite) os dados de mídia para o dispositivo coletor 114.[0046] UIBC 201 includes user input packaging 228, which can define how user input is packaged. Human interface device commands (HIDC) 230, generic user inputs 232 may define how types of user inputs are formatted into information elements. For example, human interface device commands 230 and generic user inputs 232 may categorize inputs based on user interface type (e.g., mouse, keyboard, touch, multi-touch, voice, gesture, vendor-specific interface , etc.) and commands (e.g., zoom in, pan, etc.) and determine how user input should be formatted into information elements. Categorization as HIDC and generic user input typically affects how subsequent media data is presented to the user at the sink device 114, (e.g., zoom and pan operations) and how the source device 110 processes it (e.g., crypt and/or transmits) the media data to the collector device 114.

[0047] O codec de espelho 218A pode apresentar uma interface idêntica à de outro codec (ou codecs) de vídeo 218 para uma interface de decodificador decodificar o hardware de dispositivo-fonte 110. O codec de espelho 218A pode fornecer adicionalmente um fluxo de armazenamento temporário de quadro de vídeo idêntico ao de outros decodificadores de vídeo para a interface de decodificador. Entretanto, em vez de decodificar dados de vídeo recebidos no topo de modelo de comunicações de dados 200, o codec de espelho 218A consome os armazenamentos temporários de entrada para a interface de decodificador, os armazenamentos temporários de entrada que armazenam dados de vídeo criptados e apresenta os dados de vídeo criptados para empacotamento de PES 216. Além disso, o codec de espelho 218A grava um quadro predefinido nos armazenamentos temporários de saída para a interface de decodificador. Como resultado, um dispositivo que opera de acordo com modelo de comunicações de dados 200 pode emitir o quadro predefinido para exibição. Um tempo que um armazenamento temporário de saída é consumido pelo menos se aproxima de um tempo de apresentação para o quadro de vídeo armazenado no armazenamento temporário de saída pelo codec de espelho 218A. O codec de espelho 218A pode receber um sinal ou outra notificação (a partir de um aplicativo de espelhamento que emprega o modelo de comunicação de dados 200) que o armazenamento temporário de saída é consumido. O codec de espelho 218A pode gerar um carimbo de data/hora mediante a recepção de sinal, e associar ao carimbo de data/hora aos dados de vídeo criptados correspondentes que teriam, de outra forma, sido decodificados e armazenados no armazenamento temporário de saída. A camada MPEG2-TS 212 e o RTP 210 podem receber esse carimbo de data/hora e associar o carimbo de data/hora aos dados de vídeo criptados como um tempo de apresentação para dados de vídeo. Por exemplo, a camada MPEG2-TS 212 pode definir a apresentação carimbo de data/hora (PTS) na corrente de transporte para os dados de vídeo espelhados para o carimbo de data/hora de modo a sincronizar os dados de vídeo apresentação com a apresentação de dados de áudio.[0047] Mirror codec 218A may present an interface identical to that of another video codec (or codecs) 218 for a decoder interface to decode source device hardware 110. Mirror codec 218A may additionally provide a storage stream temporary video frame identical to that of other video decoders for the decoder interface. However, instead of decoding video data received on top of data communications model 200, the mirror codec 218A consumes the input buffers for the decoder interface, the input buffers that store encrypted video data and presents the encrypted video data for PES 216 packaging. Additionally, the mirror codec 218A writes a predefined frame to the output temporary stores for the decoder interface. As a result, a device operating in accordance with data communications model 200 may output the predefined frame for display. A time that an output buffer is consumed at least approximates a presentation time for the video frame stored in the output buffer by the mirror codec 218A. Mirror codec 218A may receive a signal or other notification (from a mirroring application employing data communication model 200) that output temporary storage is consumed. The mirror codec 218A may generate a timestamp upon signal reception, and associate the timestamp with corresponding encrypted video data that would otherwise have been decoded and stored in the output buffer. The MPEG2-TS layer 212 and the RTP 210 may receive such a timestamp and associate the timestamp with the encrypted video data as a presentation time for video data. For example, the MPEG2-TS layer 212 may define the presentation timestamp (PTS) in the transport stream for the video data mirrored to the timestamp so as to synchronize the presentation video data with the presentation of audio data.

[0048] Um aplicativo de espelhamento de um dispositivo-fonte de exibição sem fio pode empregar o modelo de comunicações de dados 200 para espelhar dados de áudio e de vídeo. O codec de espelho 218A de codec (ou codecs) de vídeo 218 pode habilitar o aplicativo de espelhamento a reduzir o consumo de energia no dispositivo-fonte de exibição sem fio com pouco ou nenhum impacto em aplicativos de reprodução ou de transmissão contínua de vídeo existentes. Visto que o codec de espelho 218A não cripta dados de vídeo renderizados de acordo com técnicas de exibição sem fio convencionais, o modelo de comunicação de dados 200 usa um protocolo de transporte de entrega garantida orientado por conexão (no presente contexto, TCP 222) em vez de UDP 208 para transmitir diretamente dados de vídeo criptados para compensar as perdas da capacidade de identificar e retransmitir quadros I perdidos.[0048] A wireless display source device mirroring application may employ data communications model 200 to mirror audio and video data. Mirror codec 218A of video codec (or codecs) 218 may enable the mirroring application to reduce power consumption on the wireless display source device with little or no impact on existing video streaming or playback applications . Since the mirror codec 218A does not encrypt video data rendered in accordance with conventional wireless display techniques, the data communication model 200 uses a connection-oriented guaranteed delivery transport protocol (in the present context, TCP 222) in instead of UDP 208 to directly transmit encrypted video data to compensate for losses in the ability to identify and retransmit lost I-frames.

[0049] Em alguns exemplos e de acordo com as técnicas descritas no presente documento, durante a negociação de sessão de RTSP 224, um dispositivo-fonte 110 que executa o modelo de comunicação de dados 200 pode anunciar o uso de todos os codecs suportados por RTSP 224 e perfis e níveis suportados correspondentes. O dispositivo- fonte 110 pode, então, começar o espelhamento com o uso do melhor codec suportado comum com a melhor resolução e perfil suportados tanto no dispositivo-fonte 110 quanto no dispositivo coletor 114.[0049] In some examples and in accordance with the techniques described herein, during RTSP session negotiation 224, a source device 110 running data communication model 200 may advertise the use of all codecs supported by RTSP 224 and corresponding supported profiles and levels. The source device 110 may then begin mirroring using the best common supported codec with the best supported resolution and profile on both the source device 110 and the sink device 114.

[0050] Mediante a reprodução de dados de vídeo, o dispositivo-fonte 110 pode carregar o codec de espelho 218A que determina, com base em informações de vídeo de sessão, se o formato dos dados de vídeo é suportado pelo dispositivo coletor 114. Caso o formato seja suportado, o codec de espelho 218A pode determinar se mais do que uma sessão de decodificação de vídeo está ativa, e em caso positivo, usar as técnicas de espelhamento descritas no presente documento.[0050] Upon playback of video data, source device 110 may load mirror codec 218A that determines, based on session video information, whether the video data format is supported by sink device 114. Case format is supported, the mirror codec 218A can determine whether more than one video decoding session is active, and if so, use the mirroring techniques described herein.

[0051] Entretanto, caso o formato seja suportado pelo dispositivo coletor 114 e somente uma sessão de decodificação de vídeo esteja ativa, o dispositivo-fonte 110 pode enviar uma mensagem para o dispositivo coletor 114 que indicar o novo formato de vídeo a ser usado para transmissão contínua dos dados de vídeo. O dispositivo-fonte 110, então, envia quadros de vídeo para o dispositivo coletor 114. O dispositivo coletor pode enviar os quadros de vídeo em associação com carimbos de data/hora obtidos em tempos quando o reprodutor renderiza um quadro predefinido para alcançar a sincronização com o áudio capturado a partir da saída de um misturador de áudio no dispositivo-fonte 110. Mediante a conclusão de reprodução de dados de vídeo, o dispositivo-fonte 110 notifica o dispositivo coletor 114 do formato de vídeo a ser usado para espelhamento, e a sessão de decodificação de vídeo pode continuar com o espelhamento.[0051] However, if the format is supported by the sink device 114 and only one video decoding session is active, the source device 110 may send a message to the sink device 114 that indicates the new video format to be used for continuous transmission of video data. The source device 110 then sends video frames to the sink device 114. The sink device may send the video frames in association with timestamps obtained at times when the player renders a predefined frame to achieve synchronization with audio captured from the output of an audio mixer on source device 110. Upon completion of video data playback, source device 110 notifies sink device 114 of the video format to be used for mirroring, and the video decoding session can continue with mirroring.

[0052] A Figura 3 é um diagrama de blocos que ilustra um exemplo de um dispositivo-fonte de exibição sem fio de acordo com técnicas descritas nesta revelação. Conforme mostrado na Figura 3, o dispositivo-fonte 310 inclui uma memória 341, um módulo de comunicações 342, um módulo de processamento de gráficos 343, um processador 344, uma interface de exibição 348 e uma interface de áudio 354. O processador 344 pode incluir um ou mais componentes de dispositivo 310 configurados para executar instruções. Por exemplo, o processador 344 pode compreender uma ou mais unidades de processamento central (CPU), circuitos integrados de aplicação específica (ASICs), matrizes de porta programável em campo (FPGAs), componentes de lógica discreta ou outro componente configurado para executar instruções que controlam a operação de dispositivo 310.[0052] Figure 3 is a block diagram illustrating an example of a wireless display source device in accordance with techniques described in this disclosure. As shown in Figure 3, the source device 310 includes a memory 341, a communications module 342, a graphics processing module 343, a processor 344, a display interface 348, and an audio interface 354. The processor 344 can include one or more device components 310 configured to execute instructions. For example, processor 344 may comprise one or more central processing units (CPU), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), discrete logic components, or other component configured to execute instructions that control the operation of device 310.

[0053] A memória 341 compreende um ou mais componentes de dispositivo 310 configurados para armazenar dados e/ou instruções, tais como um ou mais componentes de armazenamento magnético, componentes de armazenamento óptico, componentes de armazenamento de memória de acesso aleatório (RAM), componentes de armazenamento de memória Flash ou qualquer outro componente configurado para armazenar instruções e/ou dados. Por exemplo, a memória 341 pode armazenar um ou mais programas de software que operam o dispositivo 310. A memória 341 também pode, ou em vez disso, ser configurada para armazenar dados que representam a mídia que pode ser emitida pelo dispositivo 310. Por exemplo, a memória 341 pode armazenar uma ou mais representações digitais de sons audíveis, imagens estáticas, vídeo ou outra mídia que possa ser emitida pelo dispositivo 310.[0053] Memory 341 comprises one or more device components 310 configured to store data and/or instructions, such as one or more magnetic storage components, optical storage components, random access memory (RAM) storage components, Flash memory storage components or any other component configured to store instructions and/or data. For example, memory 341 may store one or more software programs that operate device 310. Memory 341 may also, or instead, be configured to store data representing media that may be emitted by device 310. For example , memory 341 may store one or more digital representations of audible sounds, still images, video, or other media that may be output by device 310.

[0054] O módulo de comunicações 342 pode compreender um ou mais componentes de hardware e/ou software de dispositivo 310 configurados para habilitar o dispositivo 310 a se comunicar com um ou mais outros dispositivos. Por exemplo, o módulo de comunicações 342 pode compreender um ou mais componentes que habilitam um ou mais dentre a comunicação sem fio (por exemplo, Wi-Fi, Bluetooth, rede de celular (por exemplo, rede de celular 3G, 4G) ou a comunicação com fio (por exemplo, Ethernet). Em alguns exemplos, o módulo de comunicações 342 pode ser usado pelo dispositivo 310 para controlar outro dispositivo em relação a outro dispositivo, tal como o dispositivo coletor 114 retratado na Figura 1, para espelhar a saída de mídia de dispositivo 310. Por exemplo, o dispositivo-fonte 310 pode ser acoplado ao dispositivo coletor por meio de módulo de comunicações 342 de modo que o dispositivo-fonte 310 possa comunicar dados e/ou instruções que fazem com que o dispositivo coletor espelhe dados de acordo com as técnicas descritas no presente documento.[0054] Communications module 342 may comprise one or more hardware and/or software components of device 310 configured to enable device 310 to communicate with one or more other devices. For example, the communications module 342 may comprise one or more components that enable one or more of wireless communications (e.g., Wi-Fi, Bluetooth, cellular network (e.g., 3G, 4G cellular network) or the wired communication (e.g., Ethernet). In some examples, communications module 342 may be used by device 310 to control another device relative to another device, such as sink device 114 depicted in Figure 1, to mirror the output of device media 310. For example, the source device 310 may be coupled to the sink device via communications module 342 so that the source device 310 can communicate data and/or instructions that cause the sink device to mirror data in accordance with the techniques described in this document.

[0055] O módulo de processamento de gráficos 343 pode compreender um ou mais componentes de hardware e/ou software de dispositivo 310 configurados para processar instruções gráficas (por exemplo, instruções gráficas de nível mais alto, tais como, por exemplo, uma ou mais instruções de acordo com o padrão OpenGL) e gerar dados de imagem que podem ser usados para apresentar imagens por meio de interface de exibição 348. Por exemplo, o módulo de processamento de gráficos 343 pode compreender uma unidade de processamento de gráficos (GPU) e/ou outros componentes configurados para processar gráficos. Em alguns exemplos, o módulo de gráficos 343 pode processar gráficos com base em instruções gráficas recebidas a partir de um ou mais aplicativos de software que executam no processador 344. Em outros exemplos, o módulo de gráficos 343 pode processar gráficos com base em instruções gráficas recebidas a partir da memória 341 e/ou do módulo de comunicações 342.[0055] The graphics processing module 343 may comprise one or more hardware and/or device software components 310 configured to process graphics instructions (e.g., higher-level graphics instructions, such as, e.g., one or more instructions according to the OpenGL standard) and generate image data that can be used to present images via display interface 348. For example, graphics processing module 343 may comprise a graphics processing unit (GPU) and /or other components configured to process graphics. In some examples, the graphics module 343 may process graphics based on graphics instructions received from one or more software applications running on processor 344. In other examples, the graphics module 343 may process graphics based on graphics instructions. received from memory 341 and/or communications module 342.

[0056] Conforme ilustrado na Figura 3, o dispositivo 310 também pode incluir um módulo de processamento de exibição 360 e um módulo de processamento de áudio 350. O módulo de processamento de áudio 350 pode processar dados de imagem recebidos para controlar um ou mais alto-falantes externos ao dispositivo-fonte 310. Por exemplo, o módulo de processamento de áudio 350 pode, por meio de interface de áudio 354, controlar pelo menos um alto- falante. O módulo de processamento de áudio 350 pode processar dados de áudio a serem enviados para uma ou mais interfaces de áudio externas para espelhar a saída de mídia de áudio nativa de dispositivo-fonte 310. Por exemplo, o módulo de processamento de áudio 350 pode processar os dados de áudio modificando-se uma taxa de bits, um volume, uma técnica de criptação de áudio ou outra característica de dados de áudio para emissão por meio de um ou mais alto- falantes.[0056] As illustrated in Figure 3, device 310 may also include a display processing module 360 and an audio processing module 350. The audio processing module 350 may process received image data to control one or more loud -speakers external to source device 310. For example, audio processing module 350 may, via audio interface 354, control at least one speaker. The audio processing module 350 may process audio data to be sent to one or more external audio interfaces to mirror the native audio media output of source device 310. For example, the audio processing module 350 may process audio data by modifying a bit rate, volume, audio encryption technique, or other characteristic of audio data for output through one or more speakers.

[0057] O módulo de processamento de exibição 360 pode ser configurado para receber, a partir de uma ou mais fontes, tais como memória 341, módulo de comunicações 342, módulo de processamento de gráficos 343 e/ou um ou mais aplicativos de software que executam no processador 344, dados de imagem que representam um ou mais elementos de mídia que representam uma ou mais imagens para exibição. O módulo de processamento de exibição 360 pode ser configurado para processar tais dados recebidos para apresentação por meio de um ou mais visores. Por exemplo, conforme retratado na Figura 3, o módulo de processamento de exibição 360 pode processar dados de imagem para controlar uma exibição nativa de dispositivo-fonte 310, tal como uma tela 112 que é uma exibição nativa do dispositivo-fonte 110 retratado na Figura 1.[0057] The display processing module 360 may be configured to receive, from one or more sources, such as memory 341, communications module 342, graphics processing module 343, and/or one or more software applications that execute on processor 344, image data representing one or more media elements representing one or more images for display. The 360 display processing module may be configured to process such received data for presentation through one or more displays. For example, as depicted in Figure 3, the display processing module 360 may process image data to control a native display of source device 310, such as a screen 112 that is a native display of the source device 110 depicted in Figure 1.

[0058] O módulo de processamento de exibição 360 inclui o módulo de exibição 362 e o módulo de espelhamento de exibição 364 para direcionar e/ou processar dados de imagem recebidos para controlar uma ou mais exibições. Por exemplo, o módulo de exibição 362 pode realizar a funcionalidade de processamento de exibição para um modo de não espelhamento de dispositivo-fonte 310, em que o módulo de exibição 362 emite dados de vídeo, por meio de interface de exibição 348, para controlar pelo menos um visor associado ao dispositivo-fonte 310 (por exemplo, tela 112 acoplada comunicativamente ao dispositivo-fonte 110 retratado na Figura 1). O módulo de processamento de exibição 360 pode executar um ou mais codecs de vídeo para decodificar ou transmitir diretamente os quadros de vídeo criptados recebidos a partir de reprodutor de mídia 314. Por exemplo, o módulo de espelhamento de exibição 364 pode executar uma instância de codec de espelho 218A da Figura 2 para transmitir diretamente os quadros de vídeo criptados para um dispositivo coletor e emitir um quadro predefinido 366 por meio de interface de exibição 348, enquanto o módulo de exibição 362 pode decodificar os quadros de vídeo criptados para exibição por meio de interface de exibição 348. O quadro predefinido 366 pode ser armazenado pela memória 341.[0058] Display processing module 360 includes display module 362 and display mirroring module 364 for directing and/or processing received image data to control one or more displays. For example, display module 362 may perform display processing functionality for a source device non-mirroring mode 310, wherein display module 362 outputs video data, via display interface 348, to control at least one display associated with the source device 310 (e.g., screen 112 communicatively coupled to the source device 110 depicted in Figure 1). The 360 display processing module may execute one or more video codecs to decode or directly transmit the encrypted video frames received from the media player 314. For example, the 364 display mirroring module may execute a codec instance. 2 to directly transmit the encrypted video frames to a sink device and output a predefined frame 366 via display interface 348, while the display module 362 may decode the encrypted video frames for display via display interface 348. Preset frame 366 may be stored by memory 341.

[0059] O módulo de espelhamento de exibição 364 pode compreender qualquer combinação de componentes de hardware e/ou software que seja configurada para controlar se e como um ou mais elementos de mídia recebidos pelo módulo de processamento de exibição 360 e/ou módulo de processamento de áudio 350 são espelhados para um dispositivo coletor consistente com um ou mais aspectos desta revelação. Por exemplo, em resposta ao recebimento de um novo elemento de mídia a partir de uma ou mais fontes (por exemplo, memória 341, módulo de comunicações 342, módulo de processamento de gráficos 343 e/ou um ou mais aplicativos de software que executam no processador 344), o módulo de espelhamento de exibição 364 pode enviar o novo elemento de mídia diretamente para um dispositivo coletor. O módulo de espelhamento de exibição 364 armazena um quadro predefinido 366 para emissão por meio de interface de exibição 348. O quadro predefinido 366 pode representar um quadro YCbCr (ou “YUV”) para exibição por meio de interface de exibição 348. O quadro predefinido 366 pode ser um quadro preto para economizar energia, por exemplo, quando luz de fundo adaptativa estiver em uso, ou pode exibir um logotipo, uma imagem ou outra mensagem para um dispositivo de exibição quando emitir por meio de interface de exibição 348.[0059] The display mirroring module 364 may comprise any combination of hardware and/or software components that is configured to control whether and how one or more media elements are received by the display processing module 360 and/or processing module audio files 350 are mirrored to a collector device consistent with one or more aspects of this disclosure. For example, in response to receiving a new media element from one or more sources (e.g., memory 341, communications module 342, graphics processing module 343, and/or one or more software applications running on the processor 344), the display mirroring module 364 may send the new media element directly to a sink device. The display mirroring module 364 stores a predefined frame 366 for output via display interface 348. The predefined frame 366 may represent a YCbCr (or “YUV”) frame for display via display interface 348. The predefined frame 366 may be a black frame to save power, for example, when adaptive backlighting is in use, or may display a logo, image, or other message to a display device when outputting via display interface 348.

[0060] O módulo de espelhamento de exibição 364 pode armazenar o quadro predefinido 366 em armazenamentos temporários de saída 324 para exibição por meio de interface de exibição 348. Quando um armazenamento temporário de saída 324 for consumido, o módulo de processamento de exibição 360 pode receber um sinal ou outra indicação 326 de que o armazenamento temporário de saída 324 está consumido. Em resposta, o módulo de processamento de exibição 360 pode associar um tempo de apresentação 328 aos dados de vídeo criptados correspondentes para transporte para um dispositivo coletor de exibição sem fio para sincronizar a apresentação dos dados de vídeo com os dados de áudio. O tempo de apresentação 328 pode corresponder a um tempo no qual o armazenamento temporário de saída 324 é renderizado, emitido por meio de interface de exibição 348 e/ou, de outra forma, apresentado pelo reprodutor de mídia 314.[0060] The display mirroring module 364 may store the predefined frame 366 in output buffers 324 for display via display interface 348. When an output buffer 324 is consumed, the display processing module 360 may receiving a signal or other indication 326 that the output buffer 324 is consumed. In response, the display processing module 360 may associate a presentation time 328 with corresponding encrypted video data for transport to a wireless display collector device to synchronize the presentation of the video data with the audio data. Presentation time 328 may correspond to a time at which output buffer 324 is rendered, output via display interface 348, and/or otherwise presented by media player 314.

[0061] No exemplo da Figura 3, o módulo de processamento de exibição 360, o módulo de processamento de áudio 350 e o módulo de espelhamento de exibição 364 são retratados como componentes funcionais separados de hardware e/ou software para propósitos de descrição das técnicas desta revelação. Em outros exemplos, a funcionalidade descrita no presente documento em relação ao módulo de processamento de exibição 360, ao módulo de processamento de áudio 350 e/ou ao módulo de espelhamento de exibição 364 pode ser realizada por um componente de hardware e/ou software único. Em outros exemplos, qualquer um dentre o módulo de processamento de exibição 360, o módulo de processamento de áudio 350 e/ou o módulo de espelhamento de exibição 364 pode compreender múltiplos componentes de hardware e/ou software que, em combinação, operam de acordo com a funcionalidade atribuída ao módulo de processamento de exibição 360, ao módulo de processamento de áudio 350 e/ou ao módulo de espelhamento 364as descritos no presente documento. Além disso, mesmo se um ou mais dentre o módulo de processamento de exibição 360, o módulo de processamento de áudio 350 e/ou o módulo de espelhamento de exibição 364 descritos no presente documento forem implantados em software, tais módulos de software, conforme descritos no presente documento, podem compreender o hardware em que operam funcionalmente executando-se em um componente de processamento de hardware.[0061] In the example of Figure 3, the display processing module 360, the audio processing module 350, and the display mirroring module 364 are depicted as separate functional hardware and/or software components for purposes of describing the techniques. of this revelation. In other examples, the functionality described herein with respect to the display processing module 360, the audio processing module 350, and/or the display mirroring module 364 may be performed by a single hardware and/or software component. . In other examples, any one of the display processing module 360, the audio processing module 350, and/or the display mirroring module 364 may comprise multiple hardware and/or software components that, in combination, operate in accordance with with functionality assigned to the display processing module 360, the audio processing module 350 and/or the mirroring module 364as described herein. Furthermore, even if one or more of the display processing module 360, the audio processing module 350 and/or the display mirroring module 364 described herein are implemented in software, such software modules as described herein may comprise the hardware on which they operate functionally running on a hardware processing component.

[0062] Os aplicativos executados pelo dispositivo-fonte 310, isto é, um ou mais aplicativos de reprodutor de mídia 312, um reprodutor de mídia 314 e um aplicativo de exibição sem fio 316 (por exemplo, um aplicativo Miracast) podem determinar a operação de módulo de processamento de exibição 360, módulo de processamento de áudio 350 e/ou módulo de espelhamento de exibição 364 durante a operação de dispositivo-fonte 310. Os aplicativos podem responder à entrada de usuário para, por exemplo, configurar e iniciar uma sessão de exibição sem fio com um dispositivo coletor, reproduzir o vídeo por meio da sessão de exibição sem fio, controlar a sessão de exibição sem fio, e assim por diante.[0062] Applications executed by the source device 310, i.e., one or more media player applications 312, a media player 314, and a wireless display application 316 (e.g., a Miracast application) may determine the operation of display processing module 360, audio processing module 350, and/or display mirroring module 364 during operation of source device 310. Applications may respond to user input to, for example, configure and start a session wireless display session with a collector device, playing the video via the wireless display session, controlling the wireless display session, and so on.

[0063] A Figura 4 é um fluxograma que ilustra um modo exemplificativo de operação para um dispositivo- fonte de exibição sem fio de acordo com técnicas descritas nesta revelação. O dispositivo-fonte 110 obtém dados de vídeo criptados para um quadro de vídeo de dados multimídia (402). Em vez de decodificar e renderizar os dados de vídeo criptados como o quadro de vídeo, o dispositivo-fonte 110 emite um quadro de vídeo predefinido para o quadro de vídeo (404). Além disso, o dispositivo-fonte 110 obtém um tempo de apresentação no qual o vídeo predefinido exibe para um visor associado ao dispositivo-fonte 110 (406). O dispositivo- fonte associa o tempo de apresentação aos dados de vídeo criptados para o quadro de vídeo e transmite diretamente os dados de vídeo criptados e o tempo de apresentação para um dispositivo coletor de exibição sem fio para fazer com que o dispositivo coletor de exibição sem fio apresente o quadro de vídeo no tempo de apresentação (408).[0063] Figure 4 is a flowchart illustrating an exemplary mode of operation for a wireless display source device in accordance with techniques described in this disclosure. Source device 110 obtains encrypted video data for a multimedia data video frame (402). Instead of decoding and rendering the encrypted video data as the video frame, the source device 110 outputs a predefined video frame to the video frame (404). Additionally, source device 110 obtains a presentation time at which predefined video displays to a display associated with source device 110 (406). The source device associates the presentation time with the encrypted video data for the video frame and directly transmits the encrypted video data and the presentation time to a wireless display sink device to cause the wireless display sink device to wire presents the video frame at the presentation time (408).

[0064] A Figura 5 é um diagrama de blocos que ilustra um fluxo de dados exemplificativo para determinar tempos de apresentação de quadro de vídeo por uma fonte de exibição sem fio para sincronização de áudio/vídeo de acordo com técnicas descritas no presente documento. Nesse exemplo, o reprodutor de mídia 314 obtém e fornece quadros de vídeo criptados para o módulo de espelhamento de exibição 364 com o uso de armazenamentos temporários 502A a 502C. Conforme descrito acima em relação à Figura 3, o módulo de espelhamento de exibição 364 opera, em parte, como oferecendo uma interface de decodificação para o reprodutor de mídia 314 e, assim, como um “componente de decodificação”, embora o módulo de espelhamento de exibição 364 possa não decodificar os quadros de vídeo criptados. Em vez disso, o módulo de espelhamento de exibição 364 consome, por exemplo, lê e retorna os armazenamentos temporários 502A a 502C para o reprodutor de mídia 314 como armazenamentos temporários 502A’ a 502C’ para uso subsequente. O módulo de espelhamento de exibição 364 PODE registrar um exemplo de codec de espelho 218A para uso pelo reprodutor de mídia 314 para “decodificar” quadros de vídeo criptados. O codec de espelho 218A pode ter uma interface invocável pelo reprodutor de mídia 314 e idêntica ou pelo menos similar à interface de codecs de vídeo que realizam a decodificação de vídeo (isto é, codecs de vídeo “reais” que realizam a decodificação de vídeo em vez de, ou além de, transmissão contínua direta de quadros de vídeo criptados para um dispositivo coletor).[0064] Figure 5 is a block diagram illustrating an exemplary data flow for determining video frame presentation times by a wireless display source for audio/video synchronization in accordance with techniques described herein. In this example, media player 314 obtains and provides encrypted video frames to display mirroring module 364 using temporary stores 502A to 502C. As described above in connection with Figure 3, the display mirroring module 364 operates, in part, as providing a decoding interface to the media player 314 and thus as a “decoding component,” although the mirroring module 364 display may not decode the encrypted video frames. Instead, the display mirroring module 364 consumes, for example, reads and returns temporary stores 502A to 502C to the media player 314 as temporary stores 502A' to 502C' for subsequent use. The display mirroring module 364 MAY register an example mirror codec 218A for use by the media player 314 to “decode” encrypted video frames. Mirror codec 218A may have an interface invokeable by media player 314 and identical or at least similar to the interface of video codecs that perform video decoding (i.e., “real” video codecs that perform video decoding in instead of, or in addition to, direct streaming of encrypted video frames to a sink device).

[0065] Em vez de decodificar os quadros de vídeo criptados recebidos em armazenamentos temporários 502A a 502C, o módulo de espelhamento de exibição pode passar os quadros de vídeo criptados diretamente através da pilha de exibição sem fio 501. A pilha de exibição sem fio 501 pode representar uma instância exemplificativa de um modelo de comunicação de dados 200 da Figura 2, excluindo as camadas de codec 218, 220. A pilha de exibição sem fio 501 pode representar uma instância exemplificativa de uma pilha Miracast.[0065] Instead of decoding the encrypted video frames received in temporary stores 502A to 502C, the display mirroring module can pass the encrypted video frames directly through the wireless display stack 501. The wireless display stack 501 may represent an exemplary instance of a data communication model 200 of Figure 2, excluding codec layers 218, 220. Wireless display stack 501 may represent an exemplary instance of a Miracast stack.

[0066] Em vez de decodificar quadros de vídeo para os quadros de vídeo criptados, o módulo de espelhamento de exibição 364 retorna cópias do quadro predefinido 366 para o reprodutor de mídia 314 com o uso de armazenamentos temporários 504A a 504C. Isto é, cada um dentre os armazenamentos temporários 504A a 504C inclui uma cópia de quadro predefinido 366 para consumo pelo reprodutor de mídia 314, que pode incluir renderizar a cópia do quadro predefinido 366 para emissão por meio de uma interface de exibição para um visor (não mostrado na Figura 5). Os tempos de apresentação T1 a T3 podem, assim, se referirem a um tempo no qual o reprodutor de mídia 314 consome e libera os respectivos armazenamentos temporários 504A a 504C para reutilização pelo decodificados de passagem de vídeo para o módulo de espelhamento de exibição 364. Os armazenamentos temporários 502A a 502C e 504A a 504C podem, cada um, representar um conjunto de elementos de armazenamento em uma ou mais mídias de armazenamento legíveis por computador (não mostradas). Os armazenamentos temporários 504A a 504C podem representa uma instância exemplificativa de armazenamentos temporários de saída 324 da Figura 3. O módulo de espelhamento de exibição 364 pode incluir, em conjunto com o envio de quadro predefinido 366 para o reprodutor de mídia 314, quaisquer informações de metadados e de temporização para fazer com que o reprodutor de mídia 314 reproduza o quadro predefinido como se fosse o quadro de vídeo decodificado para um quadro de vídeo criptado correspondente recebido em armazenamentos temporários 502.[0066] Instead of decoding video frames to the encrypted video frames, the display mirroring module 364 returns copies of the predefined frame 366 to the media player 314 using temporary stores 504A to 504C. That is, each of temporary stores 504A to 504C includes a copy of preset frame 366 for consumption by media player 314, which may include rendering the copy of preset frame 366 for output via a display interface to a display ( not shown in Figure 5). Presentation times T1 to T3 may thus refer to a time in which the media player 314 consumes and releases respective temporary stores 504A to 504C for reuse by the video pass decoders to the display mirroring module 364. Temporary stores 502A to 502C and 504A to 504C may each represent a set of storage elements on one or more computer-readable storage media (not shown). Temporary stores 504A to 504C may represent an exemplary instance of output temporary stores 324 of Figure 3. Display mirroring module 364 may include, in conjunction with sending predefined frame 366 to media player 314, any metadata and timing to cause the media player 314 to play the predefined frame as if it were the decoded video frame for a corresponding encrypted video frame received in temporary stores 502.

[0067] Em respectivos tempos de apresentação (“TEMPO DE APRESENTAÇÃO”), o reprodutor de mídia 314 consome e retorna armazenamentos temporários 504A a 504C como armazenamentos temporários 504A’ a 504C’. No exemplo ilustrado, o reprodutor de mídia 314 consome o armazenamento temporário 504A no tempo de apresentação T1, consome o armazenamento temporário 504B no tempo de apresentação T2 e consome o armazenamento temporário 504C no tempo de apresentação T3. O módulo de espelhamento de exibição 364, em resposta ao recebimento de respectivas notificações a partir do reprodutor de mídia 314 do consumo de armazenamentos temporários 504A a 504C, associa os tempos de apresentação para os armazenamentos temporários aos quadros de vídeo criptados de partida em armazenamentos temporários 502A a 502C, que o dispositivo-fonte de exibição sem fio envia por meio de pilha de exibição sem fio 501. Portanto, no exemplo ilustrado, o módulo de espelhamento de exibição 364 associa o quadro de vídeo criptado armazenado no armazenamento temporário 502A ao tempo de apresentação T1, associa o quadro de vídeo criptado armazenado no armazenamento temporário 502B ao tempo de apresentação T2 e associa o quadro de vídeo criptado armazenado no armazenamento temporário 502A ao tempo de apresentação T1.[0067] At respective presentation times (“PRESENTATION TIME”), the media player 314 consumes and returns temporary stores 504A to 504C as temporary stores 504A' to 504C'. In the illustrated example, media player 314 consumes temporary storage 504A at presentation time T1, consumes temporary storage 504B at presentation time T2, and consumes temporary storage 504C at presentation time T3. The display mirroring module 364, in response to receiving respective notifications from the media player 314 of the consumption of temporary stores 504A to 504C, associates the presentation times for the temporary stores with the starting encrypted video frames in temporary stores. 502A to 502C, which the wireless display source device sends via wireless display stack 501. Therefore, in the illustrated example, display mirroring module 364 associates the encrypted video frame stored in temporary storage 502A at the time presentation time T1, associates the encrypted video frame stored in temporary storage 502B with presentation time T2, and associates the encrypted video frame stored in temporary storage 502A with presentation time T1.

[0068] Como um exemplo, as técnicas para associar um tempo de apresentação a um quadro de vídeo criptado transmitido diretamente para um dispositivo coletor de exibição sem fio com o uso de, por exemplo, Exibição WiFi, o módulo de espelhamento de exibição 364 pode fazer com que a pilha de exibição sem fio 501 associe o tempo de apresentação a uma unidade ou pacote de camada de acesso de rede (NAL). Por exemplo, a pilha de exibição sem fio 501 pode definir um carimbo de data/hora de apresentação (PTS) de um cabeçalho de corrente elementar empacotada (PES) de uma PES que transporta o quadro de vídeo criptado para o tempo de apresentação associado ao quadro de vídeo criptado, conforme determinado pelo módulo de espelhamento de exibição 364. A PES pode ser combinada com outras PESes geradas pela pilha de exibição sem fio 501 de uma maneira similar, de modo a formar uma corrente de transporte (TS) ou corrente de programa (PS). Dessa forma, um dispositivo coletor de exibição sem fio pode determinar remover o vídeo decodificado para o quadro de vídeo criptado e apresentado no tempo de apresentação associado ao quadro de vídeo criptado.[0068] As an example, techniques for associating a presentation time with an encrypted video frame transmitted directly to a wireless display collector device using, for example, WiFi Display, the 364 display mirroring module may causing the wireless display stack 501 to associate the presentation time with a network access layer (NAL) unit or packet. For example, the wireless display stack 501 may define a presentation timestamp (PTS) of a packed elementary current (PES) header of a PES that carries the encrypted video frame for the presentation time associated with the encrypted video frame, as determined by the display mirroring module 364. The PES may be combined with other PESes generated by the wireless display stack 501 in a similar manner, so as to form a transport current (TS) or transmission current. program (PS). In this way, a wireless display collector device may determine to remove the video decoded for the encrypted video frame and presented at the presentation time associated with the encrypted video frame.

[0069] A Figura 6 é um diagrama de blocos que ilustra componentes exemplificativos de um dispositivo-fonte de exibição sem fio configurado para transmitir diretamente dados de vídeo criptados para um dispositivo coletor de computação de exibição sem fio de acordo com técnicas descritas nesta revelação. Nesse exemplo, o dispositivo- fonte de exibição sem fio 600 pode executar um ou mais aplicativos de reprodutor de mídia ou “aplicativos de reprodutor” 312A a 312N (coletivamente, “aplicativos de reprodutor de mídia 312”), em que cada um usa o reprodutor de mídia 314. Os aplicativos de reprodutor de mídia 312 podem incluir, por exemplo, aplicativos que recebem dados de vídeo criptados por meio de uma interface de rede a partir de um servidor ou aplicativos que acessam localmente a mídia armazenada. Os aplicativos de reprodutor de mídia 312 reproduzem dados de vídeo criptados como uso de reprodutor de mídia 314.[0069] Figure 6 is a block diagram illustrating exemplary components of a wireless display source device configured to directly transmit encrypted video data to a wireless display computing sink device in accordance with techniques described in this disclosure. In this example, the wireless display source device 600 may run one or more media player applications or “player applications” 312A to 312N (collectively, “media player applications 312”), each of which uses the media player 314. Media player applications 312 may include, for example, applications that receive encrypted video data via a network interface from a server or applications that locally access stored media. Media player applications 312 play encrypted video data using media player 314.

[0070] Várias plataformas, das quais o reprodutor de mídia 314 é um exemplo, podem ter Interfaces de Programação de Aplicativo (APIs) expostas com as quais realizam reprodução de vídeo. Entretanto, muitas tais plataformas usam uma interface de codec padrão 602 para acessar decodificadores de vídeo e a reprodução usará de modo tipicamente eventual um decodificador de hardware. A interface de codec 602 pode representa uma interface OpenMax, por exemplo. O decodificador de áudio 606 é registrado como um decodificador de áudio para interface de codec 602 e decodifica dados de áudio criptados para emissão por meio de interface de áudio 354 do dispositivo-fonte de exibição sem fio 600.[0070] Various platforms, of which media player 314 is an example, may have exposed Application Programming Interfaces (APIs) with which to perform video playback. However, many such platforms use a standard 602 codec interface to access video decoders and playback will typically use a hardware decoder. Codec interface 602 may represent an OpenMax interface, for example. Audio decoder 606 is registered as an audio decoder for codec interface 602 and decodes encrypted audio data for output via audio interface 354 of wireless display source device 600.

[0071] O dispositivo-fonte de exibição sem fio 600 também executa o aplicativo de exibição sem fio 316 que executa a pilha de exibição sem fio 501 para espelhar a saída de mídia de dispositivo-fonte de exibição sem fio 600 para um dispositivo coletor de exibição sem fio (não mostrado na Figura 6) por meio de um canal de comunicação sem fio. Para uma sessão de exibição sem fio, o aplicativo de exibição sem fio 316 pode registrar o decodificador de passagem de vídeo 604 com a interface de codec 602 para fazer com que o reprodutor de mídia 314 envie quadros de vídeo criptados incluídos em dados de áudio/vídeo (A/V) criptados 610 para o decodificador de passagem de vídeo 604. O decodificador de passagem de vídeo 604 pode representar um exemplo de codec de espelho 218A. Em instâncias de dispositivo-fonte de exibição sem fio 600 nas quais a interface de codec 602 representa uma interface OpenMax, o aplicativo de exibição sem fio 316 pode registrar o decodificador de passagem de vídeo como um decodificador OpenMax para fornecer a interface OpenMax comum.[0071] Wireless display source device 600 also runs wireless display application 316 which runs wireless display stack 501 to mirror media output from wireless display source device 600 to a sink device. wireless display (not shown in Figure 6) via a wireless communication channel. For a wireless viewing session, the wireless display application 316 may register the video pass-through decoder 604 with the codec interface 602 to cause the media player 314 to send encrypted video frames included in audio/video data. encrypted video (A/V) files 610 to the video pass-through decoder 604. The video pass-through decoder 604 may represent an example of a mirror codec 218A. In instances of wireless display source device 600 in which the codec interface 602 represents an OpenMax interface, the wireless display application 316 may register the video pass-through decoder as an OpenMax decoder to provide the common OpenMax interface.

[0072] Em vez de decodificar os quadros de vídeo criptados, entretanto, o decodificador de passagem de vídeo 604 passa os quadros de vídeo criptados para a pilha de exibição sem fio 501 para transmissão contínua direta para o dispositivo coletor de exibição sem fio. A transmissão contínua, dessa forma, pode reduzir sobrecargas de energia de processamento de vídeo e reduz o consumo de energia total no dispositivo-fonte. A transmissão contínua do clip pode trabalhar em estruturas de reprodução altamente fragmentadas usadas em plataformas diferentes de acordo com as técnicas descritas no presente documento.[0072] Instead of decoding the encrypted video frames, however, the video pass-through decoder 604 passes the encrypted video frames to the wireless display stack 501 for direct continuous transmission to the wireless display collector device. Continuous streaming in this way can reduce video processing power overheads and reduces the total power consumption on the source device. Clip streaming can work on highly fragmented playback structures used on different platforms according to the techniques described in this document.

[0073] Além disso, para cada quadro de vídeo criptado recebido, o decodificador de passagem de vídeo 604 envia um quadro “fictício” ou predefinido 366 para o reprodutor de mídia 314 como uma imitação de um quadro decodificado de vídeo que corresponde ao quadro de vídeo criptado recebido. Como resultado, o reprodutor de mídia 314 pode operar normalmente e sem modificação em algumas instâncias.[0073] Additionally, for each encrypted video frame received, the video pass-through decoder 604 sends a “dummy” or predefined frame 366 to the media player 314 as an imitation of a decoded frame of video that corresponds to the frame of encrypted video received. As a result, the media player 314 may operate normally and without modification in some instances.

[0074] Em algumas instâncias do dispositivo- fonte de exibição sem fio 600, para manter a sincronização de áudio/vídeo (AVSYNC), o decodificador de passagem de vídeo 604 facilita a correção de carimbos de data/hora de áudio e vídeo. Por exemplo, quando o decodificador de passagem de vídeo 604 recebe um quadro de vídeo criptado, o decodificador de passagem de vídeo 604 envia um quadro predefinido e não criptado correspondente 366 para o reprodutor de mídia 314 por meio de um armazenamento temporário. O decodificador de passagem de vídeo 604 obtém um carimbo de data/hora para um tempo no qual o reprodutor de mídia 314 retorna o armazenamento temporário para reutilização, e o decodificador de passagem de vídeo 604 associa esse carimbo de data/hora como o tempo de reprodução real, ou o tempo de apresentação, para o quadro de vídeo criptado. Isso pode reduzir e, em alguns casos, eliminar a necessidade do dispositivo-fonte de exibição sem fio 600 realizar quaisquer técnicas de AVSYNC adicionais. Além disso, essa técnica pode facilitar a busca contínua e outras operações de modo de artifício.[0074] In some instances of the wireless display source device 600, to maintain audio/video synchronization (AVSYNC), the video pass-through decoder 604 facilitates the correction of audio and video timestamps. For example, when the video pass-through decoder 604 receives an encrypted video frame, the video pass-through decoder 604 sends a corresponding predefined, unencrypted frame 366 to the media player 314 via temporary storage. The video pass-through decoder 604 obtains a timestamp for a time at which the media player 314 returns temporary storage for reuse, and the video pass-through decoder 604 associates this timestamp as the time of actual playback, or presentation time, for the encrypted video frame. This may reduce and, in some cases, eliminate the need for the wireless display source device 600 to perform any additional AVSYNC techniques. Furthermore, this technique can facilitate continuous search and other gimmick mode operations.

[0075] O aplicativo de exibição sem fio 316 pode capturar áudio, de acordo operações de transmissão contínua de exibição sem fio, a partir da saída de áudio para a interface de áudio 354 e transmitir o áudio capturado para o dispositivo coletor de exibição sem fio com o uso de pilha de exibição sem fio 501. As técnicas descritas acima podem ser incorporadas em muitas implantações de reprodutor de mídia diferentes em várias plataformas sem perturbar as estruturas existentes para as plataformas. Visto que as técnicas podem ser realizadas, pelo menos em alguns casos, sem modificação no reprodutor de mídia 314, um terceiro participante e outros aplicativos de reprodutor de mídia 312 podem ser usados sem modificação nas técnicas. Além disso, o uso de transmissão direta evita o uso de hardware de vídeo, o que pode economizar energia e reduzir uma necessidade de processadores de vídeo frequentemente custosos. Além disso, a natureza viva da corrente de exibição sem fio pode ser mantida pela abordagem de AVSYNC usada da maneira descrita acima.[0075] The wireless display application 316 may capture audio, in accordance with wireless display streaming operations, from the audio output to the audio interface 354 and transmit the captured audio to the wireless display collector device using the 501 wireless display stack. The techniques described above can be incorporated into many different media player deployments across multiple platforms without disrupting the existing frameworks for the platforms. Since the techniques can be performed, at least in some cases, without modification to the media player 314, a third party participant and other media player applications 312 can be used without modification to the techniques. Additionally, using direct streaming avoids the use of video hardware, which can save energy and reduce the need for often expensive video processors. Furthermore, the lively nature of the wireless display chain can be maintained by the AVSYNC approach used in the manner described above.

[0076] Em um ou mais exemplos, as funções descritas podem ser implantadas em hardware, software, firmware ou qualquer combinação dos mesmos. Caso implantadas em software, as funções podem ser armazenadas ou transmitidas como uma ou mais instruções ou código em um meio legível por computador. A mídia legível por computador pode incluir a mídia de armazenamento de dados de computador ou o meio de comunicação, incluindo qualquer meio que facilite a transferência de um programa de computador de um local para outro. Em alguns exemplos, a mídia legível por computador pode compreender a mídia legível por computador não transitória. A mídia de armazenamento de dados pode ser qualquer mídia disponível que possa ser acessada por um ou mais computadores ou um ou mais processadores para recuperar instruções, estruturas de código e/ou dados para a implantação das técnicas descritas nesta revelação.[0076] In one or more examples, the described functions can be implemented in hardware, software, firmware or any combination thereof. If implemented in software, functions can be stored or transmitted as one or more instructions or code in a computer-readable medium. Computer-readable media may include computer data storage media or communication medium, including any medium that facilitates the transfer of a computer program from one location to another. In some examples, the computer-readable media may comprise non-transitory computer-readable media. Data storage media can be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code structures and/or data for implementing the techniques described in this disclosure.

[0077] A título de exemplo, e não de limitação, tal mídia legível por computador pode compreender mídia não transitória, tal como RAM, ROM, EEPROM, CD-ROM ou outro armazenamento de disco óptico, armazenamento de disco magnético ou outros dispositivos de armazenamento magnético, memória flash ou qualquer outro meio que possa ser usado para portar ou armazenar o código de programa desejado na forma de instruções ou estruturas de dados e que possa ser acessado por um computador. Além disso, qualquer conexão pode ser denominada adequadamente de um meio legível por computador. Disco magnético e disco óptico, conforme usado no presente documento, incluem disco compacto (CD), disco laser, disco óptico, disco versátil digital (DVD), disquete e disco Blu-ray, em que os discos magnéticos normalmente reproduzem com frequência dados de modo magnético, enquanto os discos ópticos reproduzem os dados de modo óptico com lasers. As combinações do supracitado também devem ser abrangidas pelo escopo de mídia legível por computador.[0077] By way of example, and not limitation, such computer-readable media may comprise non-transitory media, such as RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other storage devices. magnetic storage, flash memory, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Furthermore, any connection can properly be called a computer-readable medium. Magnetic disc and optical disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc, where magnetic discs typically reproduce data from magnetic mode, while optical discs reproduce data optically with lasers. Combinations of the foregoing shall also fall within the scope of computer-readable media.

[0078] O código pode ser executado por um ou mais processadores, tais como um ou mais processadores de sinal digital (DSPs), microprocessadores de propósito geral, circuitos integrados de aplicação específica (ASICs), matrizes de lógica programável em campo (FPGAs) ou outro conjunto de circuitos lógico discreto ou integrado equivalente. Consequentemente, o termo “processador”, conforme usado no presente documento, pode se referir a qualquer uma das estruturas supracitadas ou qualquer outra estrutura adequada para a implantação das técnicas descritas no presente documento. Adicionalmente, em alguns aspectos, a funcionalidade descrita no presente documento pode ser fornecida dentro de módulos dedicados de hardware e/ou software configurados para criptar e decodificar, ou incorporados em um codec combinado. Além disso, as técnicas podem ser totalmente implantadas em um ou mais circuitos ou elementos lógicos.[0078] The code may be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs) or other equivalent discrete or integrated logic circuitry. Consequently, the term “processor”, as used herein, may refer to any of the aforementioned structures or any other structure suitable for implementing the techniques described herein. Additionally, in some aspects, the functionality described herein may be provided within dedicated hardware and/or software modules configured to encrypt and decode, or incorporated into a combined codec. Furthermore, the techniques can be fully implemented in one or more circuits or logic elements.

[0079] As técnicas desta revelação podem ser implantadas em uma ampla variedade de dispositivos ou aparelhos, incluindo um aparelho de telefone sem fio, um circuito integrado (IC) ou um conjunto de ICs (por exemplo, um conjunto de chips). Vários componentes, módulos ou unidades são descritos nesta revelação para enfatizar os aspectos funcionais de dispositivos configurados para realizar as técnicas reveladas, mas não exigem, necessariamente, a realização por diferentes unidades de hardware. Em vez disso, conforme descrito acima, várias unidades podem ser combinadas em uma unidade de hardware de codec ou fornecidas por uma coleção de unidades de hardware interoperativas, incluindo um ou mais processadores, conforme descrito acima, em conjunto com software e/ou firmware adequados.[0079] The techniques of this disclosure can be implemented in a wide variety of devices or apparatus, including a wireless telephone handset, an integrated circuit (IC), or a set of ICs (e.g., a chip set). Various components, modules or units are described in this disclosure to emphasize the functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require performance by different hardware units. Instead, as described above, multiple units may be combined into a codec hardware unit or provided by a collection of interoperating hardware units, including one or more processors, as described above, in conjunction with suitable software and/or firmware. .

[0080] Várias modalidades da invenção foram descritas. Essas e outras modalidades estão dentro do escopo das reivindicações a seguir.[0080] Various embodiments of the invention have been described. These and other embodiments are within the scope of the following claims.

Claims (18)

1. Método para transmitir dados de vídeo a partir de um dispositivo-fonte de exibição sem fio para um dispositivo coletor de exibição sem fio, em que o dispositivo-fonte de exibição sem fio inclui um visor local, sendo que o método compreende: obter, com o dispositivo-fonte de exibição sem fio, dados de vídeo codificados e dados de vídeo codificados para um quadro de dados de vídeo; emitir, no visor local do dispositivo-fonte de exibição sem fio, um quadro predefinido em vez do quadro de dados de vídeo e dados de áudio decodificados; caracterizado pelo fato de que o método compreende adicionalmente determinar um tempo de apresentação baseado no tempo quando o quadro predefinido é consumido para renderização no visor local sincronizado com os dados de vídeo para o quadro de dados de vídeo após a sincronização de áudio-vídeo ser executada pelo dispositivo-fonte de exibição sem fio ; determinar um carimbo de data/hora partir do tempo de apresentação determinado; e enviar, a partir do dispositivo-fonte de exibição sem fio para o dispositivo coletor de exibição sem fio, os dados de vídeo codificados para exibição em um dispositivo de exibição associado ao dispositivo coletor de exibição sem fio em associação ao carimbo de data/hora.1. Method for transmitting video data from a wireless display source device to a wireless display sink device, wherein the wireless display source device includes a local display, the method comprising: obtaining , with the wireless display source device, encoded video data and encoded video data to a video data frame; outputting, on the local display of the wireless display source device, a predefined frame instead of the frame of decoded video data and audio data; characterized by the fact that the method further comprises determining a presentation time based on the time when the predefined frame is consumed for rendering on the local display synchronized with the video data for the video data frame after the audio-video synchronization is performed by the wireless display source device; determine a timestamp from the given presentation time; and sending, from the wireless display source device to the wireless display sink device, video data encoded for display on a display device associated with the wireless display sink device in association with the timestamp . 2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o quadro predefinido é selecionado a partir do grupo que consiste em um quadro preto e uma mensagem de usuário.2. The method of claim 1, wherein the predefined frame is selected from the group consisting of a black frame and a user message. 3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de o dispositivo-fonte de exibição sem fio compreende um dispositivo-fonte de Exibição Wi-Fi e o dispositivo coletor de exibição sem fio compreende um dispositivo coletor de Exibição Wi-Fi e em que enviar os dados de vídeo codificados compreende enviar os dados de vídeo codificados por meio de uma sessão de comunicação com o uso de um ou mais protocolos de comunicações com base no padrão de Exibição Wi-Fi.3. The method of claim 1, wherein the wireless display source device comprises a Wi-Fi Display source device and the wireless display sink device comprises a Wi-Fi Display sink device and wherein sending the encoded video data comprises sending the encoded video data via a communication session using one or more communications protocols based on the Wi-Fi Display standard. 4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que enviar os dados de vídeo codificados compreende enviar os dados de vídeo codificados por meio de uma sessão de comunicação que opera de acordo com um dentre os protocolos de Wi-Fi Direto e de configuração de enlace direto em túnel (TDLS).4. The method of claim 1, wherein sending the encoded video data comprises sending the encoded video data via a communication session operating in accordance with one of the Wi-Fi Direct protocols and tunnel direct link (TDLS) configuration. 5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: receber uma indicação de uma entrada de usuário; em resposta ao recebimento da indicação da entrada de usuário, estabelecer uma sessão de espelhamento com o dispositivo coletor de exibição sem fio, em que emitir o quadro predefinido para o quadro de dados de vídeo compreende emitir o quadro predefinido para o quadro de dados de vídeo somente se o dispositivo- fonte de exibição sem fio tiver uma sessão de espelhamento ativa com o dispositivo coletor de exibição sem fio.5. Method according to claim 1, characterized by the fact that it further comprises: receiving an indication of a user input; in response to receiving the user input indication, establishing a mirroring session with the wireless display sink device, wherein outputting the preset frame to the video data frame comprises outputting the preset frame to the video data frame only if the wireless display source device has an active mirroring session with the wireless display sink device. 6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: receber, através de um codec de vídeo, os dados de vídeo codificados a partir de um reprodutor de mídia do dispositivo-fonte de exibição sem fio; e armazenar, através do codec de vídeo, o quadro predefinido em um armazenamento temporário de saída para o reprodutor de mídia.6. The method of claim 1, further comprising: receiving, via a video codec, encoded video data from a media player of the wireless display source device; and storing, via the video codec, the predefined frame in temporary output storage for the media player. 7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que compreende adicionalmente: receber, através do codec de vídeo, uma indicação de que o armazenamento temporário de saída foi consumido pelo reprodutor de mídia; armazenar, através do codec de vídeo, em resposta ao recebimento da indicação, o carimbo de data/hora que representa o tempo de apresentação para o quadro predefinido para o quadro de dados de vídeo.7. The method of claim 6, further comprising: receiving, via the video codec, an indication that the output temporary storage has been consumed by the media player; storing, via the video codec, in response to receiving the indication, the timestamp representing the presentation time for the predefined frame for the video data frame. 8. Método, de acordo com a reivindicação 6, caracterizado pelo fato de em que o codec de vídeo é registrado para uso pelo reprodutor de mídia e tem uma interface utilizável pelo reprodutor de mídia para fornecer quadros de vídeo codificados para o codec de vídeo, sendo que o método compreende adicionalmente: carregar o codec de vídeo para uso pelo reprodutor de mídia em resposta ao recebimento de uma indicação de uma entrada de usuário que habilita uma sessão de espelhamento com o dispositivo coletor de exibição sem fio, em que receber os dados de vídeo codificados a partir do reprodutor de mídia compreende receber, através do codec de vídeo, os dados de vídeo codificados por meio de um armazenamento temporário de entrada e em que armazenar o quadro predefinido em um armazenamento temporário de saída para o reprodutor de mídia compreende armazenar o quadro predefinido no armazenamento temporário de saída para o reprodutor de mídia em associação a qualquer uma dentre informações de metadados e de temporização necessárias para fazer com que o reprodutor de mídia exiba o quadro predefinido como se o quadro predefinido fosse um quadro de vídeo decodificado dos dados de vídeo codificados.8. The method of claim 6, wherein the video codec is registered for use by the media player and has an interface usable by the media player to provide encoded video frames to the video codec, wherein the method further comprises: loading the video codec for use by the media player in response to receiving an indication of a user input that enables a mirroring session with the wireless display collector device, wherein receiving the data encoded video data from the media player comprises receiving, via the video codec, the encoded video data via an input buffer and wherein storing the predefined frame in an output buffer to the media player comprises store the preset frame in output temporary storage for the media player in association with any of the metadata and timing information necessary to cause the media player to display the preset frame as if the preset frame were a decoded video frame of the encoded video data. 9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: determinar um tempo de apresentação para dados de áudio que corresponde ao quadro de dados de vídeo; e enviar dados de áudio codificados para os dados de áudio que correspondem ao quadro de dados de vídeo em associação ao tempo de apresentação para os dados de áudio que corresponde ao quadro de dados de vídeo; em que enviar os dados de vídeo codificados compreende enviar os dados de vídeo codificados em associação ao tempo de apresentação para o quadro predefinido para o quadro de dados de vídeo para sincronizar a apresentação dos dados de áudio que correspondem ao quadro de dados de vídeo e ao quadro de dados de vídeo no dispositivo coletor de exibição sem fio.9. The method of claim 1, further comprising: determining a presentation time for audio data that corresponds to the video data frame; and sending encoded audio data for the audio data corresponding to the video data frame in association with the presentation time for the audio data corresponding to the video data frame; wherein sending the encoded video data comprises sending the encoded video data in association with the presentation time for the predefined frame for the video data frame to synchronize the presentation of the audio data corresponding to the video data frame and the video data frame on the wireless display sink device. 10. Dispositivo-fonte que compreende: meios para obter dados de vídeo codificados e dados de vídeo codificados para um quadro de dados de vídeo; meios para emitir um quadro predefinido em vez do quadro de dados de vídeo; caracterizado pelo fato de que compreende adicionalmente meios para determinar um tempo de apresentação com base no tempo quando o quadro predefinindo é consumido para renderização no visor local sincronizado com os dados de vídeo para o quadro de dados de vídeo após a sincronização de áudio-vídeo ser executada pelo dispositivo-fonte de exibição sem fio; meios para determinar um carimbo de data/hora a partir do tempo de apresentação determinado; e meios para enviar, para um dispositivo coletor por meio de um canal de comunicação sem fio, os dados de vídeo codificados para exibição em um dispositivo de exibição associado ao dispositivo coletor em associação ao carimbo de data/hora.10. A source device comprising: means for obtaining encoded video data and encoded video data for a video data frame; means for outputting a predefined frame instead of the video data frame; characterized by the fact that it further comprises means for determining a presentation time based on the time when the predefining frame is consumed for rendering on the local display synchronized with the video data for the video data frame after the audio-video synchronization is performed by the wireless display source device; means for determining a timestamp from the given presentation time; and means for sending, to a collector device via a wireless communication channel, the encoded video data for display on a display device associated with the collector device in association with the timestamp. 11. Dispositivo-fonte, de acordo com a reivindicação 10, caracterizado pelo fato de que o quadro predefinido é selecionado a partir do grupo que consiste em um quadro preto e uma mensagem de usuário.11. The source device of claim 10, wherein the predefined frame is selected from the group consisting of a black frame and a user message. 12. Dispositivo-fonte, de acordo com a reivindicação 10, caracterizado pelo fato de que o dispositivo-fonte compreende um dispositivo- fonte de Exibição Wi-Fi e o dispositivo coletor compreende um dispositivo coletor de Exibição Wi-Fi e em que os meios para enviar os dados de vídeo codificados compreendem meios para enviar, para o dispositivo coletor, os dados de vídeo codificados por meio de uma sessão de comunicação com o uso de um ou mais protocolos de comunicações com base no padrão de Exibição Wi-Fi.12. The source device of claim 10, wherein the source device comprises a Wi-Fi Display source device and the sink device comprises a Wi-Fi Display sink device and wherein the means for sending the encoded video data comprise means for sending, to the collecting device, the encoded video data through a communication session using one or more communications protocols based on the Wi-Fi Display standard. 13. Dispositivo-fonte, de acordo com a reivindicação 10, caracterizado pelo fato de que os meios para enviar os dados de vídeo codificados compreendem meios para enviar, para o dispositivo coletor, os dados de vídeo codificados por meio de uma sessão de comunicação que opera de acordo com um dentre os protocolos de Wi-Fi Direto e de configuração de enlace direto em túnel (TDLS).13. The source device of claim 10, wherein the means for sending the encoded video data comprises means for sending, to the sink device, the encoded video data via a communication session that operates under one of the Wi-Fi Direct and Tunneled Direct Link Configuration (TDLS) protocols. 14. Dispositivo-fonte, de acordo com a reivindicação 10, caracterizado pelo fato de que compreende adicionalmente: meios para receber uma indicação de uma entrada de usuário; e meios para, em resposta ao recebimento da indicação da entrada de usuário, estabelecer uma sessão de espelhamento com o dispositivo coletor, em que os meios para emitir o quadro predefinido para o quadro de dados de vídeo compreendem meios para emitir o quadro predefinido para o quadro de dados de vídeo somente se o dispositivo-fonte tiver uma sessão de espelhamento ativa com o dispositivo coletor.14. Source device according to claim 10, characterized by the fact that it further comprises: means for receiving an indication of a user input; and means for, in response to receiving indication of user input, establishing a mirroring session with the collector device, wherein the means for outputting the predefined frame to the video data frame comprises means for outputting the predefined frame to the video data frame only if the source device has an active mirroring session with the sink device. 15. Dispositivo-fonte, de acordo com a reivindicação 10, caracterizado pelo fato de que compreende adicionalmente: meios para receber, através de um codec de vídeo do dispositivo-fonte, os dados de vídeo codificados a partir de um reprodutor de mídia do dispositivo-fonte; e meios para armazenar, através do codec de vídeo, o quadro predefinido em um armazenamento temporário de saída para o reprodutor de mídia.15. The source device of claim 10, further comprising: means for receiving, via a video codec of the source device, encoded video data from a media player of the device -source; and means for storing, via the video codec, the predefined frame in temporary output storage for the media player. 16. Dispositivo-fonte, de acordo com a reivindicação 15, caracterizado pelo fato de que compreende adicionalmente: meios para receber, através do codec de vídeo, uma indicação de que o armazenamento temporário de saída foi consumido pelo reprodutor de mídia; e meios para armazenar, através do codec de vídeo em resposta ao recebimento da indicação, o carimbo de data/hora que representa o tempo de apresentação para o quadro predefinido para o quadro de dados de vídeo.16. The source device of claim 15, further comprising: means for receiving, via the video codec, an indication that the output buffer has been consumed by the media player; and means for storing, via the video codec in response to receipt of the indication, the timestamp representing the presentation time for the predefined frame for the video data frame. 17. Dispositivo-fonte, de acordo com a reivindicação 15, caracterizado pelo fato de que o codec de vídeo é registrado para uso pelo reprodutor de mídia e tem uma interface utilizável pelo reprodutor de mídia para fornecer quadros de vídeo codificados para o codec de vídeo, em que o dispositivo-fonte compreende adicionalmente: meios para carregar o codec de vídeo para uso pelo reprodutor de mídia em resposta ao recebimento de uma indicação de uma entrada de usuário que habilita uma sessão de espelhamento com o dispositivo coletor de exibição sem fio, em que os meios para receber os dados de vídeo codificados a partir do reprodutor de mídia compreendem meios para receber, através do codec de vídeo, os dados de vídeo codificados por meio de um armazenamento temporário de entrada e em que os meios para armazenar o quadro predefinido em um armazenamento temporário de saída para o reprodutor de mídia compreendem meios para armazenar o quadro predefinido no armazenamento temporário de saída para o reprodutor de mídia em associação a qualquer uma dentre informações de metadados e de temporização necessárias para fazer com que o reprodutor de mídia exiba o quadro predefinido como se o quadro predefinido fosse um quadro de vídeo decodificado dos dados de vídeo codificados.17. The source device of claim 15, wherein the video codec is registered for use by the media player and has an interface usable by the media player to provide video frames encoded to the video codec , wherein the source device further comprises: means for loading the video codec for use by the media player in response to receiving an indication of a user input that enables a mirroring session with the wireless display sink device, wherein the means for receiving the encoded video data from the media player comprises means for receiving, via the video codec, the encoded video data via an input buffer and wherein the means for storing the frame predefined frame in an output temporary store for the media player comprise means for storing the predefined frame in the output temporary store for the media player in association with any of metadata and timing information necessary to cause the media player to display the preset frame as if the preset frame were a video frame decoded from the encoded video data. 18. Memória legível por computador, caracterizada pelo fato de que possui instruções armazenadas na mesma que, quando executadas, configuram um ou mais processadores de um dispositivo-fonte de exibição sem fio para realizar o método, conforme definido em qualquer uma das reivindicações 1 a 9.18. Computer-readable memory, characterized by the fact that it has instructions stored therein that, when executed, configure one or more processors of a wireless display source device to perform the method, as defined in any one of claims 1 to 9.
BR112017000744-4A 2014-07-29 2015-07-28 CONTINUOUS TRANSMISSION DIRECT TO WIRELESS DISPLAY BR112017000744B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462030410P 2014-07-29 2014-07-29
US62/030,410 2014-07-29
US14/578,964 2014-12-22
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 (2)

Publication Number Publication Date
BR112017000744A2 BR112017000744A2 (en) 2017-11-14
BR112017000744B1 true BR112017000744B1 (en) 2023-07-11

Family

ID=

Similar Documents

Publication Publication Date Title
EP3195606B1 (en) Direct streaming for wireless display
US10009646B2 (en) Image processing device, image reproduction device, and image reproduction system
US8966131B2 (en) System method for bi-directional tunneling via user input back channel (UIBC) for wireless displays
KR102284721B1 (en) Method and apparatus for displaying application data in wireless communication system
US20130195119A1 (en) Feedback channel for wireless display devices
JP6337114B2 (en) Method and apparatus for resource utilization in a source device for wireless display
US20150350288A1 (en) Media agnostic display for wi-fi display
WO2020199627A1 (en) Device and system for streaming media interaction
BR112017000744B1 (en) CONTINUOUS TRANSMISSION DIRECT TO WIRELESS DISPLAY
JP6332364B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP5999205B2 (en) Communication device