(57)【要約】  ソースデバイスは、ビデオデータを記憶するためのメモリと、1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサは、ビデオデータのフレームに対する符号化されたビデオデータを取得し、ソースデバイスに対するディスプレイインターフェースを介して、またディスプレイデバイスにおいて表示するために、ビデオデータのフレームに対する事前定義フレームを出力し、シンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために、符号化されたビデオデータをワイヤレス通信チャネルを介してシンクデバイスへと送るように構成される。
2017528043.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを、ワイヤレスディスプレイソースデバイスからワイヤレスディスプレイシンクデバイスに送信する方法であって、
ビデオデータのフレームに対する符号化されたビデオデータを取得するステップと、
ビデオデータの前記フレームに対する事前定義フレームを出力するステップと、
前記符号化されたビデオデータを、前記ワイヤレスディスプレイシンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために送るステップと
を含む方法。
【請求項２】
ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を決定するステップをさらに含み、
前記符号化されたビデオデータを送るステップは、前記提示時間に関連して前記符号化されたビデオデータを送るステップを含む、請求項1に記載の方法。
【請求項３】
前記事前定義フレームは、黒フレームおよびユーザメッセージからなる群から選択される、請求項1に記載の方法。
【請求項４】
前記ワイヤレスディスプレイソースデバイスは、Wi-Fiディスプレイソースデバイスを含み、前記ワイヤレスディスプレイシンクデバイスは、Wi-Fiディスプレイシンクデバイスを含み、
前記符号化されたビデオデータを送るステップは、前記符号化されたビデオデータを、Wi-Fiディスプレイ規格に基づく1つまたは複数の通信プロトコルを用いる通信セッションにより送るステップを含む、請求項1に記載の方法。
【請求項５】
前記符号化されたビデオデータを送るステップは、前記符号化されたビデオデータを、Wi-Fiダイレクトおよびトンネルダイレクトリンク設定(TDLS)プロトコルの一方に従って動作する通信セッションにより送るステップを含む、請求項1に記載の方法。
【請求項６】
ユーザ入力の指示を受け取るステップと、
前記ユーザ入力の前記指示を受け取ったことに応じて、前記ワイヤレスディスプレイシンクデバイスとのミラーリングセッションを確立するステップとをさらに含み、
ビデオデータの前記フレームに対する前記事前定義フレームを出力するステップは、前記ワイヤレスディスプレイソースデバイスが、前記ワイヤレスディスプレイシンクデバイスとのアクティブなミラーリングセッションを有する場合に限って、ビデオデータの前記フレームに対する前記事前定義フレームを出力するステップを含む、請求項1に記載の方法。
【請求項７】
ビデオコーデックにより、前記ワイヤレスディスプレイソースデバイスのメディアプレーヤから前記符号化されたビデオデータを受け取るステップと、
前記ビデオコーデックにより、前記メディアプレーヤに対する出力バッファに前記事前定義フレームを記憶するステップとをさらに含む、請求項1に記載の方法。
【請求項８】
前記メディアプレーヤにより前記出力バッファが消費されたという指示を、前記ビデオコーデックにより受け取るステップと、
前記指示を受け取ることに応じて、前記ビデオコーデックにより、ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を表すタイムスタンプを記憶するステップとをさらに含み、
前記符号化されたビデオデータを送るステップは、前記タイムスタンプに関連して、前記符号化されたビデオデータを送るステップを含む、請求項7に記載の方法。
【請求項９】
前記ビデオコーデックは、前記メディアプレーヤにより使用するために登録され、符号化されたビデオフレームを前記ビデオコーデックに提供するために前記メディアプレーヤにより使用可能なインターフェースを有し、前記方法が、
前記ワイヤレスディスプレイシンクデバイスとのミラーリングセッションを可能にするユーザ入力の指示を受け取ったことに応じて、前記メディアプレーヤにより使用される前記ビデオコーデックをロードするステップをさらに含み、
前記メディアプレーヤから前記符号化されたビデオデータを受け取るステップは、前記ビデオコーデックにより、入力バッファを介して、前記符号化されたビデオデータを受け取るステップを含み、
前記メディアプレーヤに対する出力バッファに前記事前定義フレームを記憶するステップは、前記事前定義フレームが前記符号化されたビデオデータの復号されたビデオフレームであるかのように、前記メディアプレーヤに前記事前定義フレームを表示させるのに必要なメタデータおよびタイミング情報のいずれかに関連して、前記メディアプレーヤに対する前記出力バッファに前記事前定義フレームを記憶するステップを含む、請求項7に記載の方法。
【請求項１０】
ビデオデータの前記フレームに対応するオーディオデータに対する提示時間を決定するステップと、
ビデオデータの前記フレームに対応する前記オーディオデータに対する前記提示時間に関連して、ビデオデータの前記フレームに対応する前記オーディオデータに対する符号化されたオーディオデータを送るステップと、
ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を決定するステップとをさらに含み、
前記符号化されたビデオデータを送るステップは、前記ワイヤレスディスプレイシンクデバイスにおいて、ビデオデータの前記フレームに対応する前記オーディオデータの提示とビデオデータの前記フレームの提示とを同期させるように、ビデオデータの前記フレームに対する前記事前定義フレームのための前記提示時間に関連して、前記符号化されたビデオデータを送るステップを含む、請求項1に記載の方法。
【請求項１１】
ソースデバイスであって、
ビデオデータを記憶するためのメモリと、
1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
ビデオデータのフレームに対する符号化されたビデオデータを取得し、
前記ソースデバイスのディスプレイインターフェースを介して、ディスプレイデバイスにおいて表示するために、ビデオデータの前記フレームに対する事前定義フレームを出力し、
前記符号化されたビデオデータを、シンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために、ワイヤレス通信チャネルを介して前記シンクデバイスに送るように構成される、ソースデバイス。
【請求項１２】
前記1つまたは複数のプロセッサが、
ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を決定するようにさらに構成され、
前記符号化されたビデオデータを送るために、前記1つまたは複数のプロセッサは、前記符号化されたビデオデータを、前記提示時間に関連して、前記シンクデバイスに送るようにさらに構成される、請求項11に記載のソースデバイス。
【請求項１３】
前記事前定義フレームは、黒フレームおよびユーザメッセージからなる群から選択される、請求項11に記載のソースデバイス。
【請求項１４】
前記ソースデバイスは、Wi-Fiソースデバイスを含み、前記シンクデバイスは、Wi-Fiディスプレイシンクデバイスを含み、
前記符号化されたビデオデータを送るために、前記1つまたは複数のプロセッサは、Wi-Fiディスプレイ規格に基づく1つまたは複数の通信プロトコルを用いる通信セッションを介して、前記符号化されたビデオデータを前記シンクデバイスに送るようにさらに構成される、請求項11に記載のソースデバイス。
【請求項１５】
前記符号化されたビデオデータを送るために、前記1つまたは複数のプロセッサは、Wi-Fiダイレクトおよびトンネルダイレクトリンク設定(TDLS)プロトコルの一方に従って動作する通信セッションを介して、前記符号化されたビデオデータを、前記シンクデバイスに送るようにさらに構成される、請求項11に記載のソースデバイス。
【請求項１６】
前記1つまたは複数のプロセッサは、
前記ソースデバイスによって、ユーザ入力の指示を受け取り、
前記ユーザ入力の前記指示を受け取ったことに応じて、前記シンクデバイスとのミラーリングセッションを確立するようにさらに構成され、
ビデオデータの前記フレームに対する前記事前定義フレームを出力するために、前記1つまたは複数のプロセッサは、前記ソースデバイスが前記シンクデバイスとのアクティブなミラーリングセッションを有する場合に限って、ビデオデータの前記フレームに対する前記事前定義フレームを出力するようにさらに構成される、請求項11に記載のソースデバイス。
【請求項１７】
前記1つまたは複数のプロセッサは、
前記ソースデバイスのビデオコーデックにより、前記ソースデバイスのメディアプレーヤから、前記符号化されたビデオデータを受け取り、
前記ビデオコーデックにより、前記事前定義フレームを、前記メディアプレーヤに対する出力バッファに記憶するようにさらに構成される、請求項11に記載のソースデバイス。
【請求項１８】
前記1つまたは複数のプロセッサは、
前記メディアプレーヤにより前記出力バッファが消費されたという指示を、前記ビデオコーデックにより受け取り、
前記指示を受け取ったことに応じて、前記ビデオコーデックにより、ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を表すタイムスタンプを記憶するようにさらに構成され、
前記符号化されたビデオデータを送るために、前記1つまたは複数のプロセッサは、前記タイムスタンプに関連して、前記符号化されたビデオデータを前記シンクデバイスに送るようにさらに構成される、請求項17に記載のソースデバイス。
【請求項１９】
前記ビデオコーデックは、前記メディアプレーヤにより使用するために登録され、符号化されたビデオフレームを前記ビデオコーデックに提供するために前記メディアプレーヤにより使用可能なインターフェースを有し、
前記1つまたは複数のプロセッサは、前記シンクデバイスとのミラーリングセッションを可能にするユーザ入力の指示を受け取ったことに応じて、前記メディアプレーヤにより使用される前記ビデオコーデックをロードするようにさらに構成され、
前記メディアプレーヤから前記符号化されたビデオデータを受け取るために、前記1つまたは複数のプロセッサは、前記ビデオコーデックにより、入力バッファを介して前記符号化されたビデオデータを受け取るようにさらに構成され、また
前記事前定義フレームを、前記メディアプレーヤに対する出力バッファに記憶するために、前記1つまたは複数のプロセッサは、前記事前定義フレームが前記符号化されたビデオデータの復号されたビデオフレームであるかのように、前記メディアプレーヤに前記事前定義フレームを表示させるのに必要なメタデータおよびタイミングデータのいずれかに関連して、前記メディアプレーヤに対する出力バッファに前記事前定義フレームを記憶するようにさらに構成される、請求項17に記載のソースデバイス。
【請求項２０】
前記1つまたは複数のプロセッサは、
ビデオデータの前記フレームに対応するオーディオデータに対する提示時間を決定し、
ビデオデータの前記フレームに対応する前記オーディオデータに対する前記提示時間に関連して、ビデオデータの前記フレームに対応する前記オーディオデータに対する符号化されたオーディオデータを前記シンクデバイスに送り、
ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を決定するようにさらに構成され、
前記符号化されたビデオデータを送るために、前記1つまたは複数のプロセッサは、前記シンクデバイスにおいて、ビデオデータの前記フレームに対応する前記オーディオデータの提示とビデオデータの前記フレームの提示とを同期させるように、ビデオデータの前記フレームに対する前記事前定義フレームのための前記提示時間に関連して、前記符号化されたビデオデータを前記シンクデバイスに送るようにさらに構成される、請求項11に記載のソースデバイス。
【請求項２１】
ビデオデータのフレームに対する符号化されたビデオデータを取得するための手段と、
ビデオデータの前記フレームに対する事前定義フレームを出力するための手段と、
前記符号化されたビデオデータを、シンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために、ワイヤレス通信チャネルを介して前記シンクデバイスに送るための手段とを備えるソースデバイス。
【請求項２２】
ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を決定するための手段をさらに備え、
前記符号化されたビデオデータを送るための前記手段は、前記提示時間に関連して前記符号化されたビデオデータを前記シンクデバイスに送るための手段を含む、請求項21に記載のソースデバイス。
【請求項２３】
前記事前定義フレームは、黒フレームおよびユーザメッセージからなる群から選択される、請求項21に記載のソースデバイス。
【請求項２４】
前記ソースデバイスは、Wi-Fiディスプレイソースデバイスを含み、前記シンクデバイスは、Wi-Fiディスプレイシンクデバイスを含み、
前記符号化されたビデオデータを送るための前記手段は、前記符号化されたビデオデータを、Wi-Fiディスプレイ規格に基づく1つまたは複数の通信プロトコルを用いる通信セッションにより前記シンクデバイスに送るための手段を含む、請求項21に記載のソースデバイス。
【請求項２５】
前記符号化されたビデオデータを送るための前記手段は、前記符号化されたビデオデータを、Wi-Fiダイレクトおよびトンネルダイレクトリンク設定(TDLS)プロトコルの一方に従って動作する通信セッションにより、前記シンクデバイスに送るための手段を含む、請求項21に記載のソースデバイス。
【請求項２６】
ユーザ入力の指示を受け取るための手段と、
前記ユーザ入力の前記指示を受け取ったことに応じて、前記シンクデバイスとのミラーリングセッションを確立するための手段とをさらに備え、
ビデオデータの前記フレームに対する前記事前定義フレームを出力するための前記手段は、前記ソースデバイスが前記シンクデバイスとのアクティブなミラーリングセッションを有する場合に限って、ビデオデータの前記フレームに対する前記事前定義フレームを出力するための手段を含む、請求項21に記載のソースデバイス。
【請求項２７】
前記ソースデバイスのビデオコーデックにより、前記ソースデバイスのメディアプレーヤから、前記符号化されたビデオデータを受け取るための手段と、
前記ビデオコーデックにより、前記メディアプレーヤに対する出力バッファに前記事前定義フレームを記憶するための手段と
をさらに備える、請求項21に記載のソースデバイス。
【請求項２８】
前記メディアプレーヤにより前記出力バッファが消費されたという指示を、前記ソースデバイスの前記ビデオコーデックより受け取るための手段と、
前記指示を受け取ったことに応じて前記ビデオコーデックにより、ビデオデータの前記フレームに対する提示時間を表すタイムスタンプを記憶するための手段とをさらに備え、
前記符号化されたビデオデータを送るための前記手段は、前記タイムスタンプに関連して、前記符号化されたビデオデータを前記シンクデバイスに送るための手段を含む、請求項27に記載のソースデバイス。
【請求項２９】
前記ビデオコーデックは、前記メディアプレーヤにより使用するために登録され、符号化されたビデオフレームを前記ビデオコーデックに提供するために前記メディアプレーヤにより使用可能なインターフェースを有し、前記ソースデバイスが、
ワイヤレスディスプレイシンクデバイスとのミラーリングセッションを可能にするユーザ入力の指示の受け取ったことに応じて、前記メディアプレーヤにより使用される前記ビデオコーデックをロードするための手段をさらに備え、
前記メディアプレーヤから前記符号化されたビデオデータを受け取るための前記手段は、前記ビデオコーデックにより、入力バッファを介して前記符号化されたビデオデータを受け取るための手段を含み、
前記メディアプレーヤに対する出力バッファに前記事前定義フレームを記憶するための前記手段は、前記事前定義フレームが前記符号化されたビデオデータの復号されたビデオフレームであるかのように、前記メディアプレーヤに前記事前定義フレームを表示させるのに必要なメタデータおよびタイミング情報のいずれかに関連して、前記メディアプレーヤに対する前記出力バッファに前記事前定義フレームを記憶するための手段を含む、請求項27に記載のソースデバイス。
【請求項３０】
実行されたとき、ワイヤレスディスプレイソースデバイスの1つまたは複数のプロセッサを、
ビデオデータのフレームに対する符号化されたビデオデータを取得し、
ビデオデータの前記フレームに対する事前定義フレームを出力し、
ワイヤレスディスプレイシンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために前記符号化されたビデオデータを送る
ように構成する命令を記憶するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張
本出願は、その内容全体が参照により本明細書に組み込まれる、2014年7月29日に出願された米国仮出願第62/030,410号の利益を主張するものである。
【０００２】
本開示は、メディアデータの移送および再生に関し、より詳細には、ワイヤレスディスプレイを用いてメディアコンテンツを直接ストリーミングすることに関する。
【背景技術】
【０００３】
Wi-Fiディスプレイ(Miracast(商標)としても知られている)は、Wi-Fiアライアンスにより開発されたワイヤレスディスプレイの規格である。その規格は、Wi-Fiダイレクトに基づいている。Wi-Fiディスプレイ(WFD)規格は、Wi-Fiディスプレイシンクにおいて、Wi-Fiディスプレイソースから供給されたマルチメディアコンテンツを発見し、ペア組みし、接続し、レンダリングするための相互運用可能な機構を提供する。現在のWFD規格に関するさらなる情報は、Wi-Fiディスプレイ技術仕様バージョン1.0.0、およびWi-Fiアライアンスの「Wi-Fi Display Specification draft version 1.31」、Wi-Fi Alliance Technical Committee, Display Task Groupにおいて見出すことができ、その全体を参照により本明細書に組み込む。
【０００４】
ワイヤレスディスプレイ(WD)システムは、ワイヤレスディスプレイソースデバイス(本明細書では「ワイヤレスソースデバイス」または簡単に「ソースデバイス」)と、1つまたは複数のワイヤレスディスプレイシンクデバイス(本明細書では「ワイヤレスシンクデバイス」または簡単に「シンクデバイス」)とを含む。ソースデバイスは、ワイヤレスローカルエリアネットワーク内で、メディアコンテンツを送信できるデバイスとすることができる。シンクデバイスは、メディアコンテンツを受信し、レンダリングできるデバイスとすることができる。ソースデバイスおよびシンクデバイスは、モバイルデバイス、または有線デバイスのいずれかとすることができる。たとえば、モバイルデバイスとして、ソースデバイスおよびシンクデバイスは、モバイル電話、ワイヤレス通信カードを備える可搬型コンピュータ、携帯情報端末(PDA)、可搬型メディアプレーヤ、カメラもしくはカムコーダなどのデジタル画像取込みデバイス、またはいわゆる「スマート」フォンおよび「スマート」パッドもしくはタブレットを含むワイヤレス通信機能を備えた他のフラッシュメモリデバイス、あるいは他のタイプのワイヤレス通信デバイスを含むことができる。たとえば、有線デバイスとして、ソースデバイスおよびシンクデバイスは、テレビ受像機、デスクトップコンピュータ、モニタ、プロジェクタ、プリンタ、オーディオ増幅器、セットトップボックス、ゲーム機、ルータ、車両ダッシュボードディスプレイ、およびデジタルビデオディスク(DVD)プレーヤ、ならびにメディアサーバを含むことができる。
【０００５】
ソースデバイスは、特定のメディア共有セッションに参加するシンクデバイスのうちの1つまたは複数のものに、オーディオビデオ(AV)データなどのメディアデータを送ることができる。メディアデータは、ソースデバイスのローカルディスプレイと、シンクデバイスのディスプレイの各々において再生することができる。より具体的には、参加しているシンクデバイスの各々は、その画面およびオーディオ機器上に提示するために、受信したメディアデータをレンダリングする。いくつかの場合では、シンクデバイスのユーザは、タッチ入力および遠隔制御入力など、ユーザ入力をシンクデバイスに適用することができる。
【発明の概要】
【課題を解決するための手段】
【０００６】
一般に、本開示は、メディアデータを、ワイヤレスディスプレイソースデバイスから、ワイヤレスディスプレイシンクデバイスに直接ストリーミングするための技法に関する。いくつかの例では、本技法は、コーディングされた入力ビデオデータを、ワイヤレスディスプレイシンクデバイスに直接送信する、すなわち、ワイヤレスディスプレイソースデバイスが、ワイヤレスディスプレイソースデバイスのディスプレイデバイスに出力するために、コーディングされた入力ビデオデータを復号することなく、直接送信することを含む。そうではなくて、ワイヤレスディスプレイソースデバイスは、コーディングされた入力ビデオデータをワイヤレスディスプレイシンクデバイスに送信しながら、ワイヤレスディスプレイソースデバイスのディスプレイデバイスに事前定義フレームを出力することができる。その結果、メディアアプリケーションおよびプレーヤなどの、ワイヤレスディスプレイソースデバイスの他の構成要素は正常に動作して、事前定義フレームをレンダリングし、かつディスプレイデバイスに表示することができる。さらに、コーディングされた入力ビデオデータは、復号されかつディスプレイデバイス上に表示されることなく(かつその後に符号化されることなく)、ワイヤレスディスプレイシンクデバイスに送信されるので、ワイヤレスディスプレイソースデバイスは、直接ストリーミングするために、ビデオ復号および符号化ハードウェアの使用を回避することができ、それは、ワイヤレスディスプレイソースデバイスに対して省電力を提供することができる。さらに、シンクデバイス上でミラーリングするために、ソース側でデータを復号し、次いで、再度符号化する必要性を回避することにより、シンクデバイスにおけるビデオ品質を向上させることができる。特に、再符号化プロセスを回避し、かつ元の符号化されていないデータをソースデバイスからシンクデバイスに送ることにより、ビデオ品質は、シンクデバイス上で改善され得る。
【０００７】
ワイヤレスディスプレイシンクデバイスにて提示するように、入力されたメディアデータのオーディオデータとビデオデータを同期化するために、ビデオデータの所与のコーディングされた入力フレームに対して、ワイヤレスディスプレイソースデバイスは、コーディングされた入力フレームに対してディスプレイデバイスに出力される事前定義フレームのためのレンダリング時間を決定する。レンダリング時間は、オーディオ/ビデオ同期化が、事前定義フレームを受け取るワイヤレスディスプレイソースデバイスのモジュールにより実施された後、事前定義フレームがレンダリングのために消費されたときの時間を取り込むことによって決定することができる。たとえば、提示の時間は、所定のフレームを記憶するバッファが、消費された後に返される時間として決めることができる。このレンダリング時間は、コーディングされた入力フレームに対する提示時間を表しており、またワイヤレスディスプレイソースデバイスは、この提示時間を、ワイヤレスディスプレイシンクデバイスへと送られるトランスポートストリームにおけるコーディングされたフレームと関連付ける。トランスポートストリームを介して、提示時間に関連付けられたコーディングされた入力フレームを受信すると、ワイヤレスディスプレイシンクデバイスは、コーディングされた入力フレームを復号し、かつ提示時間に従って入力フレームを表示する。ワイヤレスディスプレイソースデバイスは、復号されたオーディオフレームが、ワイヤレスディスプレイソースデバイスにより提示され、または出力されているとき、コーディングおよび移送のために、入力メディアの復号され、出力されたオーディオフレームを取り込む。オーディオデータ(符号化された)に対するそれぞれの提示時間と、対応するコーディングされた入力フレームに対する事前定義フレームとは、このように、対応するオーディオ/ビデオデータに対して同期化される。トランスポートストリームにおいて、事前定義フレームに対する提示時間を取得し、かつ関連付けることによって、ワイヤレスディスプレイソースデバイスは、このように、ワイヤレスディスプレイシンクデバイスにおけるオーディオ/ビデオ同期化(「AV Sync」)を容易にすることができる。さらに本技法は、限定された符号化および復号機能を備えたワイヤレスディスプレイソースデバイスに、より能力のあるワイヤレスディスプレイシンクデバイスによって処理および出力を行うために、高解像度および高品質のビデオを送信できるようにする。
【０００８】
一例では、ワイヤレスディスプレイソースデバイスからワイヤレスディスプレイシンクデバイスにビデオデータを送信する方法であって、方法は、ビデオデータのフレームに対する符号化されたビデオデータを取得するステップと、ビデオデータのフレームに対する事前定義フレームを出力するステップと、ワイヤレスディスプレイシンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために、符号化されたビデオデータを送るステップとを含む。
【０００９】
一例では、ソースデバイスは、ビデオデータのフレームに対する符号化されたビデオデータを取得するための手段と、ビデオデータのフレームに対する事前定義フレームを出力するための手段と、符号化されたビデオデータを、シンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために、ワイヤレス通信チャネルを介してシンクデバイスに送るための手段とを備える。
【００１０】
一例では、ソースデバイスは、ビデオデータを記憶するためのメモリと、1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサは、ビデオデータのフレームに対する符号化されたビデオデータを取得し、ソースデバイスのディスプレイインターフェースを介して、かつディスプレイデバイスにおいて表示するために、ビデオデータのフレームに対する事前定義フレームを出力し、符号化されたビデオデータを、シンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために、ワイヤレス通信チャネルを介してシンクデバイスに送るように構成される。
【００１１】
一例では、コンピュータ可読記憶媒体は、実行されたとき、1つまたは複数のプロセッサを、ビデオデータのフレームに対する符号化されたビデオデータを取得し、ビデオデータのフレームに対する事前定義フレームを出力し、ワイヤレスディスプレイシンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために、符号化されたビデオデータを送るように構成する命令を記憶する。
【００１２】
本開示の1つまたは複数の例の細部は、添付の図面および以下の記述で述べられる。他の特徴、目的、および利点は、その記述および図面から、また特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１３】
【図１】本開示で述べられる技法に従って、符号化されたビデオデータをワイヤレスディスプレイシンクコンピューティングデバイスに直接ストリーミングするように構成されたワイヤレスディスプレイソースコンピューティングデバイスの一例を示すブロック図である。
【図２】ワイヤレスディスプレイシステムのためのデータ通信モデルまたはプロトコルスタックの例を示すブロック図である。
【図３】本開示において述べられる技法によるワイヤレスディスプレイソースデバイスの例を示すブロック図である。
【図４】本開示で述べられる技法によるワイヤレスディスプレイソースデバイスに対する例示的な動作モードを示す流れ図である。
【図５】本明細書で述べられる技法によるオーディオ/ビデオ同期化を行うために、ワイヤレスディスプレイソースによりビデオフレーム提示時間を決定するための例示的なデータの流れを示すブロック図である。
【図６】本開示で述べられる技法に従って、ワイヤレスディスプレイシンクコンピューティングデバイスに、符号化されたビデオデータを直接ストリーミングするように構成されたワイヤレスディスプレイソースデバイスの例示的な構成要素を示すブロック図である。
【発明を実施するための形態】
【００１４】
同様の参照記号は、図およびテキストの全体を通して同様の要素を示している。
【００１５】
ソースデバイスおよびシンクデバイスは、ワイヤレスHD、ワイヤレスホームデジタルインターフェース(WHDI)、WiGig、ワイヤレスUSB、およびWi-Fiディスプレイ(WFD)(Miracastとしても知られている)規格などの規格に準拠しているワイヤレスディスプレイ(WD)通信技法を実施することができる。WFD規格に関するさらなる情報は、Wi-Fiアライアンスの「Wi-Fi Display Specification draft version 1.31」、Wi-Fi Alliance Technical Committee, Display Task Groupで見出すことができ、その全体を参照により本明細書に組み込む(以下では、「Wi-Fiディスプレイ仕様」とする)。Miracastとしても知られているWFDと互換性のあるソースデバイスは、シンクデバイスにより出力するために、ソースデバイスによるオーディオおよびビデオ出力を、シンクデバイスへとミラーリングすることができる。この方法では、たとえば、スマートフォンユーザは、テレビ受像機またはプロジェクタなどの別のデバイスに、ユーザのスマートフォン、タブレット、または他のコンピューティングデバイスによるビデオおよびオーディオ出力をミラーリングすることができ、それは、高解像度表示を、またはその他の形で向上させたユーザ体験を提供することができる。Wi-Fiディスプレイ仕様によれば、WFDソースデバイスは、WFDソースデバイスのユーザインターフェースデバイス(たとえば、ディスプレイおよびスピーカなど)に出力されるビデオおよびオーディオデータを符号化して、符号化されたビデオおよびオーディオデータを生成する。WFDソースデバイスは、次いで、符号化されたビデオおよびオーディオデータをパケット化し、WFDシンクデバイスによるミラーリング出力のためにWFDシンクデバイスに送る。WFDソースデバイスは、マルチメディアデータのビデオデータの復号と表示の両方を行うために、しばしば供給不足となる電池電力を消費する可能性がある。
【００１６】
本開示の技法は、ビデオデータを、ワイヤレスディスプレイソースデバイスから、ワイヤレスディスプレイシンクデバイスに直接ストリーミングすることを含むことができる。いくつかの例では、本技法は、コーディングされた入力ビデオデータ(それは、たとえば、記憶/メモリデバイスから読み取られた、またはネットワークを介して受信された映画とすることができる)をワイヤレスディスプレイシンクデバイスに直接送信すること、すなわち、ワイヤレスディスプレイソースデバイスが、ワイヤレスディスプレイソースデバイスのディスプレイデバイスに出力するために、コーディングされた入力ビデオデータを復号することなく、直接送信することを含む。というよりは、ワイヤレスディスプレイソースデバイスは、コーディングされた入力ビデオデータを、ワイヤレスディスプレイシンクデバイスに直接送信しながら、ワイヤレスディスプレイソースデバイスのディスプレイデバイスに事前定義フレームを出力することができる。その結果、メディアアプリケーションおよびプレーヤなど、ワイヤレスディスプレイソースデバイスの他の構成要素は、事前定義フレームをレンダリングし、ディスプレイデバイスに表示するように正常に動作することができる。さらに、コーディングされたビデオデータは、復号されることなく出力されるので、ワイヤレスディスプレイソースデバイスは、直接ストリーミングを行うためにビデオ復号ハードウェアを使用することを回避することができ、それにより、ワイヤレスディスプレイソースデバイスに対して省電力を提供することができる。コーディングされたデータは、ワイヤレスディスプレイソースデバイスから直接ストリーミングされるので、ディスプレイデバイスに対してレンダリングされたフレームを取り込み、かつ取り込まれたフレームを符号化することが回避されるため、さらなる電力の節約が達成され得る。さらに、シンクデバイス上でミラーリングするために、ソース側でデータを復号し、次いで再符号化する必要性を回避することによって、シンクデバイスにおけるビデオ品質を向上させることができる。特に、再符号化プロセスを回避し、かつ元の符号化されないデータをソースデバイスからシンクデバイスに送ることによって、シンクデバイス上のビデオ品質を向上させることができる。
【００１７】
ワイヤレスディスプレイシンクデバイスにて提示するように、入力メディアデータのオーディオデータとビデオデータを同期化するために、ビデオデータの所与のコーディングされた入力フレームに対して、ワイヤレスディスプレイソースデバイスは、コーディングされた入力フレームに対してディスプレイデバイスに出力される事前定義フレームに対するレンダリング時間を決定する。レンダリング時間は、事前定義フレームを受け取るワイヤレスディスプレイソースデバイスのモジュールにより、オーディオ/ビデオ同期化が行われた後、事前定義フレームがレンダリングのために消費されたとき、時間を取り込むことにより決定され得る。たとえば、提示する時間は、所定のフレームを記憶するバッファが、消費された後、返された時間として決定することができる。このレンダリング時間は、コーディングされた入力フレームに対する提示時間を表し、またワイヤレスディスプレイソースデバイスは、この提示時間を、ワイヤレスディスプレイシンクデバイスに送られるトランスポートストリームにおけるコーディングされた入力フレームと関連付ける。トランスポートストリームを介して提示時間に関連付けられたコーディングされた入力フレームを受け取ると、ワイヤレスディスプレイシンクデバイスは、コーディングされた入力フレームを復号し、かつ提示時間に従って、入力フレームを表示する。ワイヤレスディスプレイソースデバイスは、コーディングおよび移送のために、入力メディアの復号され、かつ出力されたオーディオフレームを取り込み、復号されたオーディオフレームが、ワイヤレスディスプレイソースデバイスにより表示され/出力される。対応するコーディングされた入力フレームに対するオーディオデータ(復号された)、および事前定義フレームに対するそれぞれの提示時間は、このように、対応するオーディオ/ビデオデータに関して同期化される。トランスポートストリームにおける事前定義フレームに対する提示時間を取得し、かつ関連付けることによって、ワイヤレスディスプレイソースデバイスは、このように、ワイヤレスディスプレイシンクデバイスにおけるオーディオ/ビデオ同期化を容易にすることができる。
【００１８】
図1は、本開示で述べられる技法に従って、符号化されたビデオデータを、ワイヤレスディスプレイシンクコンピューティングデバイス114(「シンクデバイス114」)に直接ストリーミングするように構成されたワイヤレスディスプレイソースコンピューティングデバイス110(「ソースデバイス110」)の一例を示すブロック図である。ソースデバイス110は、オーディオおよび/または視覚的なメディアなど、メディアを出力するように構成された少なくとも1つの固有の(native)出力インターフェースを含む任意のデバイスを備えることができる。たとえば、図1で示されるソースデバイス110は、表示画面112を備える第1の出力インターフェース、およびソースデバイスに固有の1つまたは複数のスピーカ(図1には示されていない)を備える第2の出力インターフェースを含むスマートフォンまたはタブレットコンピュータを含む。他の例では、ソースデバイス110は、ラップトップコンピュータ、デスクトップコンピュータ、ゲームコントローラ、または符号化されたビデオデータをシンクデバイス114へと直接ストリーミングするために、ワイヤレスディスプレイを使用するように構成された任意の他のデバイスを含むことができる。
【００１９】
図1の例で示すように、ソースデバイス110の画面112は、固有のグラフィカル出力130を出力するように構成することができる。固有のグラフィカル出力130は、たとえば、1つまたは複数の静止画またはビデオ画像を含むことができる。図1の例でさらに示されるように、ソースデバイス110のスピーカが、固有のオーディオ出力131を提供するように構成される。固有のオーディオ出力131は、1つまたは複数の可聴音を含むことができる。このようなオーディオ出力131は、グラフィカル出力130に関連付けることができる(たとえば、グラフィカル出力130と共に出力されるように構成され得る)。たとえば、固有のグラフィカル出力130が、ビデオまたは画像コンテンツを備える場合、オーディオ出力131は、ビデオまたは画像に関連付けられた可聴音を含むことができる。
【００２０】
図1で示すように、ソースデバイス110は、少なくとも1つのシンクデバイス114(以下では「シンクデバイス114」)と通信可能に結合される。シンクデバイス114は、ソースデバイス110の固有のメディア出力をミラーリングするために、シンクデバイス114に関連付けられた1つまたは複数の出力デバイス120、124を動作させるように、ソースデバイス110によって使用することができる。本明細書で述べられる場合「ミラーリング」という用語は、ソースデバイス110の固有のオーディオ、ビデオ、および/または画像メディア出力など、固有メディアの少なくとも一部を出力するように、ソースデバイス110によって、少なくとも1つのシンクデバイス114を制御することを指すことができる。
【００２１】
ソースデバイス110は、シンクデバイス114に関連付けられた1つまたは複数の出力デバイス120，124を介して、ソースデバイス110のメディア出力をミラーリングするアクティブなミラーリングセッションを用いてシンクデバイス114を制御することができる。たとえば、図1で示すように、ソースデバイス110は、ミラーリングされたグラフィカル出力132を出力するように外部のディスプレイデバイス120を制御することができ、グラフィカル出力132は、ソースデバイス110の固有のグラフィカル出力130と実質的に同様のグラフィカル出力を含むことができる。ミラーリングされたグラフィカル出力132は、固有のグラフィカル出力130と同じ1つまたは複数の画像を含むことができるが、このような画像は、外部のディスプレイデバイス120を介して提示するように処理される、サイズが変更される、フォーマットされる、かつ/またはその他の形で変更され得る。
【００２２】
図1でさらに示されるように、ソースデバイス110は、ミラーリングされたオーディオ出力136を出力するために外部のオーディオデバイス124を制御することができ、オーディオ出力136は、図1で示されたオーディオ出力131と実質的に同様なオーディオ出力を含むことができる。ミラーリングされたオーディオ出力136は、固有のグラフィカル出力130と同じ可聴音を含むことができるが、外部のオーディオデバイス124を介して出力されるように、処理され、フォーマットされ、かつ/またはその他の形で変更され得る。いくつかの例では、ソースデバイス110は、ソースデバイス110の固有のグラフィカル出力130、ならびに固有のオーディオ出力131を含むメディアを出力するために、シンクデバイス114を制御することができる。
【００２３】
図1で示されるものなど、いくつかの例では、シンクデバイス114は、閲覧者に画像を提示するように構成された画面122を含むテレビ受像機ディスプレイ、コンピュータモニタ、もしくは同様のものなどの外部のディスプレイデバイス120、および/またはスピーカもしくはステレオシステムなどの外部のオーディオデバイス124の1つまたは複数のものに結合されたデバイスを含むことができる。たとえば、シンクデバイス114は、セットトップボックス(たとえば、GOOGLE TV、APPLE TV、ROKU)、ゲーム機(たとえば、任天堂Wii、ソニーのプレイステーション3、MICROSOFT XBOX)、デジタルビデオディスク(DVD)プレーヤ、スマートTV、TVドングルデバイス(たとえば、Google Chromecast)、Blu-ray(登録商標)プレーヤ、または図1の例で示された外部のディスプレイデバイス、および/または外部のオーディオデバイスに結合された他の別個のユニットを含むことができる。図1で示されていない他の例では、シンクデバイス114、外部のディスプレイデバイス120、および/または外部のオーディオデバイス124のうちの1つまたは複数のものを組み合わせて、単一のデバイスとすることもできる。たとえば、テレビ受像機もしくはコンピュータモニタなどのディスプレイデバイスは、画面122と1つまたは複数のスピーカの両方を含むことができる。他の例では、同じ、または異なるシンクデバイス114が、1つまたは複数のシンクデバイス114とは別の1つまたは複数のオーディオまたはビデオ出力インターフェースを制御することができる。さらに他の例によれば、本明細書で述べられるシンクデバイス114により実施される機能は、外部のディスプレイデバイス、および/または外部のオーディオデバイスのうちの1つまたは複数のものにより実施され得る。たとえば、テレビ受像機ディスプレイおよび/またはステレオ受信機は、ソースデバイス110の固有のメディアが、テレビ受像機ディスプレイまたはステレオ受信機にミラーリングされ得るように、テレビ受像機および/またはステレオをソースデバイス110と通信可能に結合するように構成されたハードウェアおよび/またはソフトウェアを含むことができる。
【００２４】
ソースデバイス110は、ワイヤレス通信チャネル150を介してソースデバイス110のメディア出力をミラーリングするために、マルチメディアデータをシンクデバイス114へとストリーミングする。通信チャネル150は、比較的短距離の通信チャネルとすることができ、またWi-Fi、Bluetooth(登録商標)など、もしくは同様のもの、または定義された2.4GHz、3.6GHz、5GHz、60GHz、もしくは超広帯域(UWB)周波数帯構造を実施するものなど、物理的なチャネル構造を実施することができる。しかし、通信チャネル150は、必ずしもこれに限定される必要はなく、高周波(RF)スペクトル、もしくは1つまたは複数の物理的な送信線、またはワイヤレスおよび有線媒体の任意の組合せなど、任意のワイヤレスもしくは有線通信媒体を含むことができる。他の例では、通信チャネル150は、有線もしくはワイヤレスのローカルエリアネットワーク、広域ネットワーク、またはインターネットなどの大域ネットワークなどのパケットベースのネットワークの一部を形成することもできる。さらに、または代替的に、通信チャネル150は、ソースデバイス110およびシンクデバイス114により使用されて、ピアツーピアリンクを生成することができる。
【００２５】
ソースデバイス110およびシンクデバイス114は、たとえば、リアルタイムストリーミングプロトコル(RTSP)制御メッセージを用いて、機能ネゴシエーションにより通信セッションを確立することができる。一例では、通信セッションを確立するための要求は、ソースデバイス110によってシンクデバイス114に送ることができる。メディア共有セッションが確立されると、ソースデバイス110は、たとえば、オーディオビデオ(AV)データなどのメディアデータを、リアルタイムトランスポートプロトコル(RTP)を用いて、シンクデバイス114に送信する。シンクデバイス114は、受信したメディアデータをレンダリングし、かつ外部のディスプレイデバイス120およびオーディオデバイス124に出力する。
【００２６】
ソースデバイス110およびシンクデバイス114は、次いで、IEEE802.11規格ファミリからの規格など、通信プロトコルを用いる通信チャネル150を介して通信することができる。一例では、通信チャネル150は、ネットワーク通信チャネルとすることができる。この例では、通信サービスプロバイダは、ネットワークハブとして基地局を用いてネットワークを中心的に運用し、かつ管理することができる。ソースデバイス110およびシンクデバイス114は、たとえば、Wi-Fiダイレクトおよび/またはWi-Fiディスプレイ(WFD)規格に従って通信することができ、したがって、ソースデバイス110およびシンクデバイス114は、ワイヤレスアクセスポイントまたはいわゆるホットスポットなどの介在物を使用せずに、互いに直接通信する。ソースデバイス110およびシンクデバイス114はまた、ネットワーク輻輳を回避または低減するためにトンネルダイレクトリンク設定(TDLS)を確立することができる。Wi-FiダイレクトおよびTDLSは、比較的短距離の通信セッションを設定するように意図されている。この文脈では、比較的短距離とは、たとえば、約70メートル未満を指すことができるが、雑音の多いまたは遮るものがある環境では、デバイス間の距離は、約35メートル未満、または約20メートル未満など、さらに短くなり得る。
【００２７】
本開示の技法は、時にはWFDに関して述べることもあるが、これらの技法の諸態様はまた、他の通信プロトコルと互換性があり得ることが企図されている。例としてであって、限定するものではないが、ソースデバイス110とシンクデバイス114の間のワイヤレス通信は、直交周波数分割多重(OFDM)技法を利用することができる。これだけに限らないが、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、符号分割多元接続(CDMA)、またはOFDM、FDMA、TDMA、および/またはCDMAの任意の組合せを含む広範囲な他のワイヤレス通信技法をまた使用することができる。
【００２８】
上記で述べたように、ソースデバイス110は、ソースデバイス110のメディア出力を、シンクデバイス114を介してミラーリングするように構成することができる。たとえば、ソースデバイス110は、固有のオーディオメディア、視覚的なメディア、またはその両方が、シンクデバイス114を介して出力されるミラーリングモードをアクティブにする、または非アクティブにするための、ユーザが選択可能な選択肢をユーザに提供することができる。標準の動作モードにおいて、ソースデバイス110は、通信媒体(たとえば、インターネット)を介して、またはハードドライブもしくはデジタルビデオディスク(DVD)などのコンピュータ可読記憶媒体から、複数の符号化されたメディアデータの形のメディアを受け取り、ソースデバイス110の1つまたは複数の固有の出力インターフェースを制御して、複数の符号化されたメディアデータを含むメディアを出力することができる。このような固有の出力インターフェースは、固有のグラフィカル出力130を出力するための画面112、および/または固有のオーディオ131を出力するためのスピーカを含むことができる。このようなミラーリングモードでは、ソースデバイス110は、シンクデバイス114を制御して、標準の動作モードであればソースデバイス110が1つまたは複数の固有の出力インターフェースを用いて出力しているはずの固有のグラフィカル出力130および/または固有のオーディオ出力131と実質的に同じメディアを、シンクデバイス114に出力させることができる。
【００２９】
本開示で述べられる技法によれば、固有のグラフィカル出力130を、シンクデバイス114にミラーリングするように動作しているとき、ソースデバイス110は、ビデオデータを復号することなく、かつ既存のビデオ再生もしくはストリーミングアプリケーションと干渉することなく、受信したメディアデータのビデオデータを通信チャネル150を介してシンクデバイス114に送るために、固有のグラフィカル出力130のミラーリングを休止することができる。いくつかの例では、ソースデバイス110は、ビデオデータを固有のグラフィカル出力130として表示するために出力することはない。
【００３０】
いくつかの例では、画面112を介して固有のグラフィカル出力130を取得し、かつ出力するために、符号化されたビデオデータを復号するのではなく、ソースデバイス110は、符号化されたビデオデータをシンクデバイス114に同時に送りながら画面112で表示するために固有のグラフィカル出力130として、事前定義ビデオフレームを出力することができる。たとえば、ユーザは、ソースデバイス110によって実行されるアプリケーションに、マルチメディアデータを再生することを要求することができる。アプリケーションは、たとえば、サーバへの通信チャネルを介して、またはソースデバイス110のコンピュータ可読記憶媒体から、圧縮規格に従って符号化されたマルチメディアデータを取得することができる。ミラーリングモードで動作しているとき、マルチメディアデータの復号されたビデオデータのフレームの代わりに、ソースデバイス110は、固有のグラフィカル出力130として表示するように、事前定義ビデオフレームを画面112に出力する。同時に、ソースデバイス110は、符号化されたマルチメディアデータの符号化されたビデオデータをシンクデバイス114に送る。
【００３１】
いくつかの例では、ソースデバイス110は、提示時間を、通信チャネル150を介して送られるビデオデータと関連付けることにより、シンクデバイス114におけるマルチメディアデータのオーディオおよびビデオデータの同期化された出力を容易にする。ソースデバイス110は、固有のグラフィカル出力130としてソースデバイス110により出力された事前定義ビデオフレームの提示に基づいて、提示時間を取得することができる。言い換えると、ミラーリングモードで動作しているとき、ソースデバイス110は、マルチメディアデータのビデオデータのビデオフレームに代えて、固有のグラフィカル出力130として、事前定義フレームを画面112に出力する。ソースデバイス110は、ビデオフレームに対応する事前定義フレーム出力に対する提示時間に基づいてタイムスタンプを取得し、かつタイムスタンプに関連して、ビデオフレームに対する符号化されたビデオデータを送る。シンクデバイス114は、次いで、ビデオフレームを取得するために、符号化されたビデオデータを復号し、かつビデオフレームを、タイムスタンプによって指定された時間に、ミラーリングされたグラフィカル出力132として外部のディスプレイデバイス120に出力することができる。いくつかの例では、ソースデバイス110は、レンダリングされたオーディオデータを符号化し、符号化されたオーディオデータを、対応するオーディオデータの提示時間に関連付けることによって、マルチメディアデータのオーディオデータをミラーリングする。上記で述べた方法で、トランスポートストリームにおいて、事前定義ビデオフレームに対する提示時間をさらに取得し、かつ関連付けることによって、ソースデバイス110は、シンクデバイス114におけるオーディオおよびビデオの同期化された出力を容易にする。
【００３２】
事前定義フレームは、いくつかの例では、黒フレームとすることができ、画面112の電力消費量を最小化して黒フレームを提示する。いくつかの例では、事前定義フレームは、ロゴ、ユーザ警告、または他のユーザメッセージとすることができる。事前定義フレームは、符号化された入力ビデオデータに対するビデオフレームのものと同様の解像度を有することができる。
【００３３】
いくつかの例では、ソースデバイス110は、ミラーリングモードで動作しながら、ビデオデータを「復号する」ためにミラーリング復号器を使用する。ミラーリング復号器は、復号器インターフェースに対する他のビデオ復号器と同一のインターフェースを、ソースデバイス110の復号ハードウェアに提示することができる。ミラーリング復号器は、復号器インターフェースに対する他のビデオ復号器のものと同一のビデオフレームバッファフローをさらに提供することができる。しかし、画面112への出力のためにビデオデータを復号するのではなく、このような例におけるミラーリング復号器は、復号器インターフェースに対して、符号化されたビデオデータを記憶する入力バッファを消費し、またソースデバイス110は、符号化されたビデオデータをシンクデバイス114に送る。さらに、復号器インターフェースに対して、出力バッファを介して出力するために、符号化されたビデオデータを復号するのではなく、ミラーリング復号器が、復号器インターフェースに対する出力バッファに、事前定義フレームを書き込む。その結果、ソースデバイス110は、固有のグラフィカル出力130として、画面112に事前定義フレームを出力することができる。出力バッファが消費される時間は、少なくとも出力バッファに記憶されたビデオフレームに対する提示時間にほぼ等しい。ミラーリング復号器は、出力バッファが消費されるミラーリングアプリケーションからの信号または他の通知を受け取り、信号が受信されると、タイムスタンプを生成し、そのタイムスタンプを、普通であれば、復号され、出力バッファに記憶されるはずの対応する符号化されたビデオデータに関連付けることができる。ソースデバイス110は、次いで、符号化されたビデオデータをトランスポートストリームにてタイムスタンプ(提示時間)に関連してシンクデバイス114に送り、シンクデバイス114に、符号化されたビデオデータをビデオフレームへと復号させて、関連付けられた提示時間にビデオフレームを表示することができる。
【００３４】
図2は、ワイヤレスディスプレイ(WD)システムのためのデータ通信モデルまたはプロトコルスタックの例を示すブロック図である。データ通信モデル200は、データと、実装されたWDシステムにおけるソースデバイスとシンクデバイスとの間でデータを送信するために使用される制御プロトコルとの間の対話を示している。いくつかの例では、図1のソースデバイス110は、データ通信モデル200を使用することができる。データ通信モデル200は、物理(PHY)層202、メディアアクセス制御(MAC)層(204)、インターネットプロトコル(IP)206、ユーザデータグラムプロトコル(UDP)208、リアルタイムトランスポートプロトコル(RTP)210、MPEG2トランスポートストリーム(MPEG2-TS)212、コンテンツ保護214、パケット化エレメンタリストリーム(PES)パケット化216、ミラーコーデック218Aを含むビデオコーデック218、オーディオコーデック220、トランスポート制御プロトコル(TCP)222、リアルタイムストリーミングプロトコル(RTSP)224、ユーザ入力パケット化228、ヒューマンインターフェースデバイスコマンド(HIDC)230、および汎用ユーザ入力232を含む。ユーザ入力パケット化228、HIDC230、および汎用ユーザ入力232は、ユーザ入力バックチャネル(UIBC)201を構成することができる。
【００３５】
物理層202およびMAC層204は、WDシステムにおける通信に使用される物理的なシグナリング、アドレス指定、およびチャネルアクセス制御を規定することができる。物理層202およびMAC層204は、たとえば、2.4GHz、3.6GHz、5GHz、60GHzで規定される連邦通信委員会帯域などの通信で使用される周波数帯構造、または超広帯域(UWB)周波数帯構造を規定することができる。物理層202およびMAC層204はまた、たとえば、アナログおよびデジタル振幅変調、周波数変調、位相変調技法、ならびにそれらの組合せなど、データ変調技法を規定することができる。物理層202およびMAC層204はまた、たとえば、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、符号分割多元接続(CDMA)、またはOFDM、FDMA、TDMA、および/またはCDMAの任意の組合せなど、多重化技法を規定することができる。一例では、物理層202およびメディアアクセス制御層204は、WFDにより提供されるものなど、Wi-Fi(たとえば、IEEE802.11-2007および802.11n-2009x)規格により規定することができる。他の例では、物理層202およびメディアアクセス制御層204は、以下のいずれかにより規定され得る。すなわち、ワイヤレスHD、ワイヤレスホームデジタルインターフェース(WHDI)、WiGig、およびワイヤレスUSBである。
【００３６】
インターネットプロトコル(IP)206、ユーザデータグラムプロトコル(UDP)208、リアルタイムトランスポートプロトコル(RTP)210、トランスポート制御プロトコル(TCP)222、およびリアルタイムストリーミングプロトコル(RTSP)224は、WDシステムで使用されるパケット構造およびカプセル化を規定し、かつインターネット技術タスクフォース(IETF)により維持される規格に従って規定され得る。
【００３７】
RTSP224は、たとえば、機能をネゴシエートし、セッションを確立し、かつセッション維持および管理を行うために、ソースデバイス110およびシンクデバイス114によって使用することができる。ソースデバイス110およびシンクデバイス114は、RTSPメッセージトランザクションを用いてフィードバックチャネルを確立することができ、ソースデバイス110およびシンクデバイス114の機能をネゴシエートし、UIBC上でフィードバックチャネルおよびフィードバック入力カテゴリをサポートする。フィードバックチャネルを確立するためにRTSPネゴシエーションを使用することは、メディア共有セッションおよび/またはUIBCを確立するためにRTSPネゴシエーションプロセスを使用することと同様に行うことができる。
【００３８】
1つまたは複数のビデオコーデック218は、ビデオデータを圧縮してWD通信チャネルを介して移送するために、WDシステムにより使用され得るビデオデータコーディング技法を規定することができる。ビデオコーデック218の各々は、ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262もしくはISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、ITU-T H.264(ISO/IEC MPEG-4 AVCとしても知られている)、VP8、VP9、および高効率ビデオコーディング(HEVC)など、任意の数のビデオ圧縮規格を実施することができる。いくつかの例では、WDシステムは、圧縮されたビデオデータ、または非圧縮ビデオデータのいずれでもあり得ることに留意されたい。ビデオコーデック218は、この例では、符号化されたビデオデータをWDシンクデバイスに直接ストリーミングするためのミラーコーデック218Aを含む。
【００３９】
オーディオコーデック220は、WDシステムによって使用され得るオーディオデータコーディング技法を規定することができる。オーディオデータは、ドルビーデジタルシアターシステムにより開発されたものなど、マルチチャネルフォーマットを用いてコーディングされ得る。オーディオデータは、圧縮または非圧縮フォーマットを用いてコーディングすることができる。圧縮されるオーディオフォーマットの例は、MPEG-1、2オーディオレイヤIIおよびIII、AC-3、AAC、およびVorbisを含む。非圧縮オーディオフォーマットの例は、パルス符号変調(PCM)オーディオフォーマットを含む。
【００４０】
パケット化エレメンタリストリーム(PES)パケット化216、およびMPEG2トランスポートストリーム(MPEG2-TS)212は、コーディングされたオーディオおよびビデオデータを、どのようにパケット化し、送信するかを規定することができる。パケット化エレメンタリストリーム(PES)パケット化216、およびMPEG-TS212は、MPEG-2 Part 1に従って規定することができる。他の例では、オーディオおよびビデオデータは、他のパケット化およびトランスポートストリームプロトコルに従ってパケット化し、送信することができる。コンテンツ保護214は、オーディオまたはビデオデータの無許可の複製に対して保護を提供することができる。一例では、コンテンツ保護214は、高帯域幅デジタルコンテンツ保護2.0仕様に従って規定することができる。
【００４１】
UIBC201は、ユーザ入力をどのようにしてパケット化するかを規定できるユーザ入力パケット化228を含む。ヒューマンインターフェースデバイスコマンド(HIDC)230、汎用ユーザ入力232は、ユーザ入力タイプを、どのようにして情報要素へとフォーマットするかを規定することができる。たとえば、ヒューマンインターフェースデバイスコマンド230および汎用ユーザ入力232は、ユーザインターフェースタイプ(たとえば、マウス、キーボード、タッチ、マルチタッチ、音声、ジェスチャ、ベンダ特有のインターフェースなど)、およびコマンド(たとえば、ズーム、パンなど)に基づいて入力を分類し、かつユーザ入力を情報要素へとどのようにフォーマットすべきかを決定することができる。HIDCおよび汎用ユーザ入力として分類することは、通常、シンクデバイス114で、その後のメディアデータがどのようにユーザに提示されるか(たとえば、ズームおよびパン操作など)、またソースデバイス110が、シンクデバイス114に対してメディアデータをどのように処理するか(たとえば、符号化および/または送信するなど)に影響を与える。
【００４２】
ミラーコーデック218Aは、復号器インターフェースに対する他のビデオコーデック218と同一のインターフェースを、ソースデバイス110の復号ハードウェアに提示することができる。ミラーコーデック218Aは、復号器インターフェースに対する他のビデオ復号器のものと同一のビデオフレームバッファフローをさらに提供することができる。しかしデータ通信モデル200の上部で受信されたビデオデータを復号するのではなく、ミラーコーデック218Aは、符号化されたビデオデータを記憶する、復号器インターフェースに対する入力バッファを消費し、符号化されたビデオデータをPESパケット化216に提示する。さらに、ミラーコーデック218Aは、復号器インターフェースに対する出力バッファに事前定義フレームを書き込む。その結果、データ通信モデル200に従って動作するデバイスは、表示するために事前定義フレームを出力することができる。出力バッファが消費される時間は、ミラーコーデック218Aにより出力バッファに記憶されたビデオフレームに対する提示時間に少なくともほぼ等しい。ミラーコーデック218Aは、出力バッファが消費される信号または他の通知を(データ通信モデル200を使用するミラーアプリケーションから)受け取ることができる。ミラーコーデック218Aは、信号を受け取ると、タイムスタンプを生成し、かつタイムスタンプを、普通であれば復号されて出力バッファに記憶されるはずの対応する符号化されたビデオデータに関連付けることができる。MPEG2-TS層212およびRTP210は、このタイムスタンプを受け取り、タイムスタンプを、ビデオデータに対する提示時間として符号化されたビデオデータに関連付けることができる。たとえば、MPEG2-TS層212は、ビデオデータ提示をオーディオデータ提示に同期させるために、ミラーリングされたビデオデータのためのトランスポートストリームにおける提示タイムスタンプ(PTS)を、そのタイムスタンプに設定することができる。
【００４３】
ワイヤレスディスプレイソースデバイスのミラーリングアプリケーションは、オーディオおよびビデオデータをミラーリングするために、データ通信モデル200を使用することができる。ビデオコーデック218のミラーコーデック218Aは、既存のビデオ再生もしくはストリーミングアプリケーションに対してほとんど影響を与えることなく、または全く影響を与えずに、ミラーリングアプリケーションが、ワイヤレスディスプレイソースデバイスにおける電力消費量を低減できるようにする。ミラーコーデック218Aは、従来のワイヤレスディスプレイ技法に従ってレンダリングされたビデオデータを符号化しないので、データ通信モデル200は、失われたIフレームを識別し、かつ再送信する能力の喪失を補うように、符号化されたビデオデータを直接ストリーミングするために、UDP208ではなく、接続指向の、配信が保証されたトランスポートプロトコル(ここでは、TCP222)を使用する。
【００４４】
いくつかの例では、また本明細書で述べる技法に従って、RTSP224セッションネゴシエーション中に、データ通信モデル200を実行するソースデバイス110は、RTSP224を用いて、すべてのサポートされるコーデックおよび対応するサポートされるプロファイルおよびレベルをアドバタイズすることができる。ソースデバイス110は、次いで、ソースデバイス110とシンクデバイス114の両方で、最も良くサポートされる解像度およびプロファイルを備えた最も一般的にサポートされるコーデックを用いてミラーリングを開始することができる。
【００４５】
ビデオデータを再生するとき、ソースデバイス110は、セッションビデオ情報に基づいて、ビデオデータのフォーマットがシンクデバイス114によってサポートされているかどうかを判定するミラーコーデック218Aをロードすることができる。フォーマットがサポートされている場合、ミラーコーデック218Aは、複数のビデオ復号セッションがアクティブであるかどうかを判定し、そうである場合、本明細書で述べられるミラーリング技法を使用することができる。
【００４６】
しかし、フォーマットが、シンクデバイス114によってサポートされており、1つだけのビデオ復号セッションがアクティブである場合、ソースデバイス110は、シンクデバイス114にメッセージを送り、ビデオデータをストリーミングするために使用すべき新しいビデオフォーマットを示すことができる。ソースデバイス110は、次いで、ビデオフレームをシンクデバイス114に送る。シンクデバイスは、ソースデバイス110におけるオーディオミキサの出力から取り込まれたオーディオとの同期化を達成するために、再生装置が事前定義フレームをレンダリングしているときに取得されたタイムスタンプに関連して、ビデオフレームを送ることができる。ビデオデータ再生が終了すると、ソースデバイス110は、シンクデバイス114にミラーリングで使用されるビデオフォーマットを通知し、ビデオ復号セッションは、ミラーリングを続けることができる。
【００４７】
図3は、本開示において述べられる技法によるワイヤレスディスプレイソースデバイスの例を示すブロック図である。図3で示すように、ソースデバイス310は、メモリ341、通信モジュール342、グラフィックス処理モジュール343、プロセッサ344、ディスプレイインターフェース348、およびオーディオインターフェース354を含む。プロセッサ344は、命令を実行するように構成されたデバイス310の1つまたは複数の構成要素を含むことができる。たとえば、プロセッサ344は、1つまたは複数の中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理構成要素、またはデバイス310の動作を制御する命令を実行するように構成された他の構成要素を備えることができる。
【００４８】
メモリ341は、1つまたは複数の磁気記憶構成要素、光記憶構成要素、ランダムアクセスメモリ(RAM)記憶構成要素、FLASHメモリ記憶構成要素、または命令および/もしくはデータを記憶するように構成された任意の他の構成要素など、データおよび/または命令を記憶するように構成された、デバイス310の1つまたは複数の構成要素を含む。たとえば、メモリ341は、デバイス310を動作させる1つまたは複数のソフトウェアプログラムを記憶することができる。メモリ341はさらに、もしくはそれに代えて、デバイス310により出力できるメディアを表すデータを記憶するように構成することもできる。たとえば、メモリ341は、可聴音、静止画、ビデオ、またはデバイス310によって出力され得る他のメディアの1つまたは複数のデジタル表現を記憶することができる。
【００４９】
通信モジュール342は、デバイス310が、1つまたは複数の他のデバイスと通信できるように構成された、デバイス310の1つまたは複数のハードウェアおよび/またはソフトウェア構成要素を備えることができる。たとえば、通信モジュール342は、ワイヤレス通信、たとえば、Wi-Fi、Bluetooth(登録商標)、セルラーネットワーク(たとえば、3G、4Gセルラーネットワーク)、または有線通信(たとえば、イーサネット(登録商標))の1つまたは複数を使用可能にする1つまたは複数の構成要素を備えることができる。いくつかの例では、通信モジュール342は、デバイス310により使用されて、デバイス310のメディア出力をミラーリングするために、図1で示されたシンクデバイス114など、別のデバイスから別のデバイスへと制御することができる。たとえば、ソースデバイス310は、通信モジュール342を介してシンクデバイスに結合することができ、したがって、ソースデバイス310は、データ、および/または本明細書で述べられる技法に従って、シンクデバイスに、データをミラーリングさせる命令を伝達することができる。
【００５０】
グラフィックス処理モジュール343は、グラフィックス命令(たとえば、OpenGL規格による1つまたは複数の命令などの高水準グラフィックス命令)を処理し、かつ画像をディスプレイインターフェース348を介して提示するために使用され得る画像データを生成するように構成されたデバイス310の1つまたは複数のハードウェアおよび/またはソフトウェア構成要素を備えることができる。たとえば、グラフィックス処理モジュール343は、グラフィックス処理ユニット(GPU)および/またはグラフィックスを処理するように構成された他の構成要素を備えることができる。いくつかの例では、グラフィックスモジュール343は、プロセッサ344上で実行される1つまたは複数のソフトウェアアプリケーションから受け取ったグラフィックス命令に基づいてグラフィックスを処理することができる。他の例では、グラフィックスモジュール343は、メモリ341および/または通信モジュール342から受け取ったグラフィックス命令に基づいて、グラフィックスを処理することができる。
【００５１】
図3で示すように、デバイス310はまた、ディスプレイ処理モジュール360およびオーディオ処理モジュール350を含むことができる。オーディオ処理モジュール350は、受信した画像データを処理して、ソースデバイス310の外部の1つまたは複数のスピーカを制御することができる。たとえば、オーディオ処理モジュール350は、オーディオインターフェース354を介して、少なくとも1つのスピーカを制御することができる。オーディオ処理モジュール350は、ソースデバイス310の固有のオーディオメディア出力をミラーリングするために、1つまたは複数の外部のオーディオインターフェースに送られるオーディオデータを処理することができる。たとえば、オーディオ処理モジュール350は、1つまたは複数のスピーカを介して出力するために、ビットレート、音量、オーディオ符号化技法、またはオーディオデータの他の特性を変更することにより、オーディオデータを処理することができる。
【００５２】
ディスプレイ処理モジュール360は、メモリ341、通信モジュール342、グラフィックス処理モジュール343などの1つまたは複数のソースから、かつ/またはプロセッサ344で実行される1つまたは複数のソフトウェアアプリケーションから、表示用に1つまたは複数の画像を表す1つまたは複数のメディア要素を表す画像データを受け取るように構成することができる。ディスプレイ処理モジュール360は、1つまたは複数のディスプレイにより提示するために、このように受信したデータを処理するように構成され得る。たとえば、図3で示されるように、ディスプレイ処理モジュール360は、画像データを処理して、図1で示されたソースデバイス110の固有のディスプレイである画面112など、ソースデバイス310の固有のディスプレイを制御することができる。
【００５３】
ディスプレイ処理モジュール360は、1つまたは複数のディスプレイを制御するように、受信された画像データを管理し、かつ/または処理するためのディスプレイモジュール362およびディスプレイミラーリングモジュール364を含む。たとえば、ディスプレイモジュール362は、ソースデバイス310の非ミラーリングモードに対するディスプレイ処理機能を実施することができ、その場合、ディスプレイモジュール362は、ディスプレイインターフェース348を介して、ビデオデータを出力し、ソースデバイス310に関連付けられた少なくとも1つのディスプレイ(たとえば、図1で示されたソースデバイス110に通信可能に結合された画面112など)を制御する。ディスプレイ処理モジュール360は、メディアプレーヤ314から受信した符号化されたビデオフレームを復号する、または直接ストリーミングするために、1つまたは複数のビデオコーデックを実行することができる。たとえば、ディスプレイミラーリングモジュール364は、図2のミラーコーデック218Aのインスタンスを実行して、符号化されたビデオフレームをシンクデバイスに直接ストリーミングし、またディスプレイインターフェース348を介して事前定義フレーム366を出力することができるが、ディスプレイモジュール362は、ディスプレイインターフェース348を介して表示するために、符号化されたビデオフレームを復号することができる。事前定義フレーム366は、メモリ341に記憶することができる。
【００５４】
ディスプレイミラーリングモジュール364は、ディスプレイ処理モジュール360、および/またはオーディオ処理モジュール350により受信された1つまたは複数のメディア要素を、本開示の1つまたは複数の態様と一致するシンクデバイスへとミラーリングするかどうか、およびどのようにして行うかを制御するように構成されたハードウェアおよび/またはソフトウェア構成要素の任意の組合せを含むことができる。たとえば、1つまたは複数のソース(たとえば、メモリ341、通信モジュール342、グラフィックス処理モジュール343、および/またはプロセッサ344で実行される1つまたは複数のソフトウェアアプリケーションなど)から、新しいメディア要素を受け取ることに応じて、ディスプレイミラーリングモジュール364は、新しいメディア要素をシンクデバイスに直接送ることができる。ディスプレイミラーリングモジュール364は、ディスプレイインターフェース348を介して出力するための事前定義フレーム366を記憶する。事前定義フレーム366は、ディスプレイインターフェース348を介して表示するためのYCbCr(または「YUV」)フレームを表すことができる。事前定義フレーム366は、たとえば、適応可能なバックライトが使用されているとき、電力を節約するために黒フレームとすることができるが、あるいはディスプレイインターフェース348を介して出力されるとき、ディスプレイデバイスに、ロゴ、画像、または他のメッセージを表示することができる。
【００５５】
ディスプレイミラーリングモジュール364は、ディスプレイインターフェース348を介して表示するために、事前定義フレーム366を出力バッファ324に記憶することができる。出力バッファ324が消費されているとき、ディスプレイ処理モジュール360は、出力バッファ324が消費されているという信号または他の指示326を受け取ることができる。それに応じて、ディスプレイ処理モジュール360は、ワイヤレスディスプレイシンクデバイスに移送するために、提示時間328を対応する符号化されたビデオデータに関連付けて、ビデオデータの提示をオーディオデータと同期させることができる。提示時間328は、出力バッファ324がレンダリングされ、ディスプレイインターフェース348を介して出力され、かつ/または普通であればメディアプレーヤ314によって提示される時間に対応することができる。
【００５６】
図3の例では、ディスプレイ処理モジュール360、オーディオ処理モジュール350、およびディスプレイミラーリングモジュール364が、本開示の技法を記述すために、別々の機能的なハードウェアおよび/またはソフトウェア構成要素として示されている。他の例では、ディスプレイ処理モジュール360、オーディオ処理モジュール350、および/またはディスプレイミラーリングモジュール364に関して本明細書で述べられる機能は、単一のハードウェアおよび/またはソフトウェア構成要素により実施することができる。他の例では、ディスプレイ処理モジュール360、オーディオ処理モジュール350、および/またはディスプレイミラーリングモジュール364のうちの任意の1つが、組み合わされて、本明細書で述べるディスプレイ処理モジュール360、オーディオ処理モジュール350、および/またはミラーリングモジュール364に属する機能に従って動作する複数のハードウェアおよび/またはソフトウェア構成要素を備えることができる。さらに、本明細書で述べる1つまたは複数のディスプレイ処理モジュール360、オーディオ処理モジュール350、および/またはディスプレイミラーリングモジュール364が、ソフトウェアで実施される場合であっても、本明細書で述べられるこのようなソフトウェアモジュールは、ハードウェア処理構成要素上で実行されることによって機能的に動作する点で、ハードウェアを備えることができる。
【００５７】
ソースデバイス310により実行されるアプリケーション、すなわち、1つまたは複数のメディアプレーヤアプリケーション312、メディアプレーヤ314、およびワイヤレスディスプレイアプリケーション316(たとえば、Miracastアプリケーション)は、ソースデバイス310の動作中におけるディスプレイ処理モジュール360、オーディオ処理モジュール350、および/またはディスプレイミラーリングモジュール364の動作を決定することができる。アプリケーションは、ユーザ入力に応じて、たとえば、シンクデバイスとのワイヤレスディスプレイセッションを構成かつ開始する、ワイヤレスディスプレイセッションによりビデオを再生する、ワイヤレスディスプレイセッションを制御する、などを行うことができる。
【００５８】
図4は、本開示で述べられる技法によるワイヤレスディスプレイソースデバイスに対する例示的な動作モードを示す流れ図である。ソースデバイス110は、マルチメディアデータのビデオフレームに対する符号化されたビデオデータを取得する(402)。符号化されたビデオデータをビデオフレームとして復号し、かつレンダリングするのではなく、ソースデバイス110は、ビデオフレームに対する事前定義ビデオフレームを出力する(404)。さらに、ソースデバイス110は、ソースデバイス110に関連付けられたディスプレイに事前定義のビデオが表示される提示時間を取得する(406)。ソースデバイスは、提示時間をビデオフレームに対する符号化されたビデオデータに関連付けて、符号化されたビデオデータおよび提示時間を、ワイヤレスディスプレイシンクデバイスへと直接ストリーミングし、ワイヤレスディスプレイシンクデバイスに、ビデオフレームを提示時間に提示させる(408)。
【００５９】
図5は、本明細書で述べられる技法によるオーディオ/ビデオ同期化を行うために、ワイヤレスディスプレイソースによって、ビデオフレーム提示時間を決定するための例示的なデータの流れを示すブロック図である。この例では、メディアプレーヤ314は、符号化されたビデオフレームを取得し、かつバッファ502A〜502Cを用いて、ディスプレイミラーリングモジュール364に提供する。図3に関して上記で述べたように、ディスプレイミラーリングモジュール364は、一部には、メディアプレーヤ314に復号インターフェースを提供し、したがって、「復号構成要素」として動作するが、ディスプレイミラーリングモジュール364は、符号化されたビデオフレームを復号しないこともあり得る。そうではなくて、ディスプレイミラーリングモジュール364は、たとえば、バッファ502A〜502Cを読み取り、かつその後で使用するために、バッファ502A'〜502C'としてメディアプレーヤ314に返すように消費する。ディスプレイミラーリングモジュール364は、符号化されたビデオフレームを「復号する」ために、メディアプレーヤ314により使用されるミラーコーデック218Aの例を登録することができる。ミラーコーデック218Aは、メディアプレーヤ314により呼び出し可能な、かつビデオ復号を実施するビデオコーデックのインターフェースと同一もしくは少なくとも同様のインターフェースを有することができる(すなわち、符号化されたビデオフレームをシンクデバイスに直接ストリーミングすることに代えて、またはそれに加えて、ビデオ復号を実施する「実際の」ビデオコーデック)。
【００６０】
バッファ502A〜502Cで受け取られた、符号化されたビデオフレームを復号するのに代えて、ディスプレイミラーリングモジュールは、符号化されたビデオフレームを、ワイヤレスディスプレイスタック501に直接渡すことができる。ワイヤレスディスプレイスタック501は、コーデック層218、220を除き、図2のデータ通信モデル200の例示的なインスタンスを表すことができる。ワイヤレスディスプレイスタック501は、Miracastスタックの例示的なインスタンスを表すことができる。
【００６１】
符号化されたビデオフレームに対する復号されたビデオフレームの代わりに、ディスプレイミラーリングモジュール364は、バッファ504A〜504Cを使用して、事前定義フレーム366のコピーをメディアプレーヤ314に返す。すなわち、バッファ504A〜504Cの各々は、メディアプレーヤ314により消費される事前定義フレーム366のコピーを含み、メディアプレーヤ314は、ディスプレイインターフェースを介してディスプレイ(図5には示されていない)に出力するための事前定義フレーム366のコピーをレンダリングすることを含むことができる。したがって、提示時間T1〜T3は、メディアプレーヤ314が消費し、かつディスプレイミラーリングモジュール364に対するビデオ通過復号器により再使用するために、それぞれのバッファ504A〜504Cを解放する時間を指すことができる。バッファ502A〜502C、および504A〜504Cはそれぞれ、1つまたは複数のコンピュータ可読記憶媒体(図示せず)における1組の記憶要素を表すことができる。バッファ504A〜504Cは、図3の出力バッファ324の例示的なインスタンスを表すことができる。ディスプレイミラーリングモジュール364は、メディアプレーヤ314に事前定義フレーム366を送ることと併せて、それが、バッファ502で受け取られた、対応する符号化されたビデオフレームに対する復号されたビデオフレームであるかのように、事前定義フレームをメディアプレーヤ314に再生させる任意のメタデータおよびタイミング情報を含むことができる。
【００６２】
それぞれの提示時間(「提示時間」)に、メディアプレーヤ314は、バッファ504A〜504Cを消費し、バッファ504A'〜504C'として返す。示された例では、メディアプレーヤ314は、バッファ504Aを提示時間T1に消費し、バッファ504Bを提示時間T2に消費し、またバッファ504Cを提示時間T3に消費する。ディスプレイミラーリングモジュール364は、メディアプレーヤ314からの、バッファ504A〜504Cの消費に関するそれぞれの通知を受け取ったことに応じて、バッファに対する提示時間を、バッファ502A〜502Cにおける出力される符号化されたビデオフレームに関連付けて、それを、ワイヤレスディスプレイソースデバイスが、ワイヤレスディスプレイスタック501を介して送る。示された例では、したがって、ディスプレイミラーリングモジュール364は、バッファ502Aに記憶された符号化されたビデオフレームを提示時間T1に関連付け、バッファ502Bに記憶された符号化されたビデオフレームを提示時間T2に関連付け、バッファ502Cに記憶された符号化されたビデオフレームを提示時間T3に関連付ける。
【００６３】
たとえば、Wi-Fiディスプレイを用いて、提示時間を、ワイヤレスディスプレイシンクデバイスへと直接ストリーミングされる符号化されたビデオフレームに関連付ける例示的な一技法として、ディスプレイミラーリングモジュール364は、ワイヤレスディスプレイスタック501に、提示時間をネットワークアクセス層(NAL)ユニットもしくはパケットに関連付けさせることができる。たとえば、ワイヤレスディスプレイスタック501は、符号化されたビデオフレーム移送するPESのパケット化エレメンタリストリーム(PES)ヘッダの提示タイムスタンプ(PTS)を、ディスプレイミラーリングモジュール364により決定された、符号化されたビデオフレームに関連付けられた提示時間に設定することができる。PESは、トランスポートストリーム(TS)またはプログラムストリーム(PS)を形成するために、同様な方法で、ワイヤレスディスプレイスタック501により生成された他のPESと組み合わせることができる。このように、ワイヤレスディスプレイシンクデバイスは、符号化されたビデオフレームに対する復号されたビデオを除外して、符号化されたビデオフレームに関連付けられた提示時間に提示すると決定することができる。
【００６４】
図6は、本開示で述べられる技法に従って、ワイヤレスディスプレイシンクコンピューティングデバイスに、符号化されたビデオデータを直接ストリーミングするように構成されたワイヤレスディスプレイソースデバイスの例示的な構成要素を示すブロック図である。この例では、ワイヤレスディスプレイソースデバイス600は、それぞれがメディアプレーヤ314を使用する1つまたは複数のメディアプレーヤアプリケーション、または「プレーヤアプリケーション」312A〜312N(総称的に「メディアプレーヤアプリケーション312」)を実行することができる。メディアプレーヤアプリケーション312は、たとえば、サーバから、ネットワークインターフェースを介して符号化されたビデオデータを受信するアプリケーション、またはローカルに記憶されたメディアにアクセスするアプリケーションを含むことができる。メディアプレーヤアプリケーション312は、メディアプレーヤ314を用いて、符号化されたビデオデータを再生する。
【００６５】
メディアプレーヤ314がその一例である様々なプラットフォームは、ビデオ再生を実施するための公開されたアプリケーションプログラミンインターフェース(API)を有することができる。しかし、このような多くのプラットフォームは、ビデオ復号器にアクセスするために標準のコーデックインターフェース602を使用し、通常、再生は、最終的にハードウェア復号器を使用することになる。コーデックインターフェース602は、たとえば、OpenMaxインターフェースを表すことができる。オーディオ復号器606は、コーデックインターフェース602に対するオーディオ復号器として登録され、ワイヤレスディスプレイソースデバイス600のオーディオインターフェース354を介して出力するために、符号化されたオーディオデータを復号する。
【００６６】
ワイヤレスディスプレイソースデバイス600はまた、ワイヤレスディスプレイスタック501を実行するワイヤレスディスプレイアプリケーション316を実行して、ワイヤレスディスプレイソースデバイス600のメディア出力を、ワイヤレス通信チャネルを介してワイヤレスディスプレイシンクデバイス(図6に示されていない)へとミラーリングする。ワイヤレスディスプレイセッションの場合、ワイヤレスディスプレイアプリケーション316は、ビデオ通過復号器604を、コーデックインターフェース602に登録して、メディアプレーヤ314に、符号化されたオーディオ/ビジュアル(A/V)データ610に含まれた、符号化されたビデオフレームを、ビデオ通過復号器604に送ることができる。ビデオ通過復号器604は、ミラーコーデック218Aの例を表すことができる。コーデックインターフェース602がOpenMaxインターフェースを表しているワイヤレスディスプレイソースデバイス600の例では、ワイヤレスディスプレイアプリケーション316は、ビデオ通過復号器を、一般的なOpenMaxインターフェースを提供するOpenMax復号器として登録することができる。
【００６７】
しかし、符号化されたビデオフレームを復号することに代えて、ビデオ通過復号器604は、ワイヤレスディスプレイシンクデバイスへの直接ストリーミングを行うために、符号化されたビデオフレームをワイヤレスディスプレイスタック501に渡す。このような直接ストリーミングは、ビデオを処理する電力負荷を低減することができ、かつソースデバイスにおける全体的な電力消費量を低下させる。クリップをストリーミングすることは、本明細書で述べられた技法に従って、様々なプラットフォームにおいて使用される非常に断片化された再生フレームワークで行うことができる。
【００６８】
さらに、受信した各符号化されたビデオフレームに対して、ビデオ通過復号器604は、受信した符号化されたビデオフレームに対応するビデオ復号フレームのスプーフ(spoof)として「ダミー」または事前定義フレーム366をメディアプレーヤ314に送る。その結果、メディアプレーヤ314は、正常に、かついくつかの場合に変更することなく動作することができる。
【００６９】
ワイヤレスディスプレイソースデバイス600のいくつかの例では、オーディオ/ビデオ同期化(AVSYNC)を維持するために、ビデオ通過復号器604は、正しいオーディオおよびビデオタイムスタンプを容易に行う。たとえば、ビデオ通過復号器604が、符号化されたビデオフレームを受け取ったとき、ビデオ通過復号器604は、対応する事前に定義された、非符号化フレーム366を、バッファを介してメディアプレーヤ314に送る。ビデオ通過復号器604は、メディアプレーヤ314が、再使用のためにバッファを返す時間に対するタイムスタンプを取得し、またビデオ通過復号器604は、このタイムスタンプを、符号化されたビデオフレームに対する実際の再生時間、もしくは提示時間として関連付ける。こうすることは、ワイヤレスディスプレイソースデバイス600が何らかのさらなるAVSYNC技法を実施する必要性を低減する、またいくつかの場合には、その必要性をなくすことができる。さらにこの技法は、シームレスなシークおよび他のトリックモード動作を容易にすることができる。
【００７０】
ワイヤレスディスプレイアプリケーション316は、ワイヤレスディスプレイストリーミング動作に従って、オーディオインターフェース354へのオーディオ出力からのオーディオを取り込み、かつ取り込まれたオーディオを、ワイヤレスディスプレイスタック501を使用してワイヤレスディスプレイシンクデバイスへとストリーミングすることができる。上記で述べた技法は、プラットフォームに対する既存のフレームワークを乱すことなく、様々なプラットフォームにおける多くの様々なメディアプレーヤ実装形態に組み込むことができる。本技法は、少なくともいくつかの場合、メディアプレーヤ314に対して変更を行うことなく実施できるので、サードパーティおよび他のメディアプレーヤアプリケーション312を、本技法を用いて変更を行うことなく使用することができる。さらに、直接ストリーミングを使用することは、ビデオハードウェアの使用を回避し、それにより、電力が節約され、かつ費用のかかることの多いビデオプロセッサに対する必要性を低減することができる。さらに、ワイヤレスディスプレイストリームのライブ性は、上記で述べた方法で使用されるAVSYNC手法により維持され得る。
【００７１】
1つまたは複数の例では、上記で述べた機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施することができる。ソフトウェアで実施される場合、機能は、1つもしくは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信することができる。コンピュータ可読媒体は、コンピュータデータ記憶媒体、またはコンピュータプログラムを、1つの場所から別の場所に転送することを容易にする任意の媒体を含む通信媒体を含むことができる。いくつかの例では,コンピュータ可読媒体は、非一時的なコンピュータ可読媒体を含むことができる。データ記憶媒体は、本開示において述べられた技法を実施するための命令、コード、および/またはデータ構造を取得するために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによりアクセスできる任意の利用可能な媒体とすることができる。
【００７２】
例としてであって限定するものではないが、このようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、もしくは他の光ディスク記憶装置、磁気ディスク記憶装置、もしくは他の磁気記憶デバイス、フラッシュメモリ、あるいは命令もしくはデータ構造の形態で、望ましいプログラムコードを搬送もしくは記憶するために使用することができ、かつコンピュータによってアクセスされ得る任意の他の媒体などの非一時的な媒体を含むことができる。さらに、任意の接続が、適正にコンピュータ可読媒体と称される。本明細書で使用される場合、ディスク(「disk」および「disc」)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)を含み、ここで、ディスク(disk)は通常、データを磁気的に再生するが、ディスク(disc)は、レーザを用いてデータを光学的に再生する。上記の組合せもまた、コンピュータ可読媒体の範囲に含まれるべきである。
【００７３】
コードは、1つもしくは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の均等な集積論理回路もしくはディスクリート論理回路などの1つまたは複数のプロセッサによって実行され得る。したがって、「プロセッサ」という用語は、本明細書で使用される場合、前述の構造のいずれかのもの、または本明細書で述べられた技法を実施するのに適した任意の他の構造を指すことができる。さらに、いくつかの態様では、本明細書で述べられた機能は、専用のハードウェア内で、かつ/または符号化および復号を行うように構成された、もしくは組み合わされたコーデックに組み込まれたソフトウェアモジュール内で提供することができる。さらに本技法は、1つまたは複数の回路または論理要素において完全に実施することもできる。
【００７４】
本開示の技法は、ワイヤレス送受話器、集積回路(IC)、また1組のIC(たとえば、チップセット)を含む、様々なデバイスもしくは装置において実施することができる。本開示では、開示する技法を実施するように構成されたデバイスの機能的側面を強調するために、様々な構成要素、モジュール、またはユニットが述べられているが、それらは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。そうではなくて、上記で述べたように、様々なユニットは、コーデックハードウェアユニットにおいて組み合わせることができる、または適切なソフトウェアおよび/またはファームウェアと併せて、上記で述べたように1つまたは複数のプロセッサを含む、相互運用するハードウェアユニットの集合体により提供することができる。
【００７５】
本発明の様々な実施形態が述べられてきた。これらのおよび他の実施形態は、添付の特許請求の範囲に含まれる。
【符号の説明】
【００７６】
110  ワイヤレスディスプレイソースデバイス
112  画面
114  ワイヤレスディスプレイシンクデバイス
120  外部のディスプレイデバイス
122  画面
124  外部のオーディオデバイス
130  固有のグラフィカル出力
131  固有のオーディオ出力
132  ミラーリングされたグラフィカル出力
136  ミラーリングされたオーディオ出力
150  通信チャネル
200  データ通信モデル
201  ユーザ入力バックチャネル(UIBC)
202  物理(PHY)層
204  メディアアクセス制御(MAC)層
206  インターネットプロトコル(IP)
208  ユーザデータグラムプロトコル(UDP)
210  リアルタイムトランスポートプロトコル(RTP)
212  MPEGトランスポートストリーム(MPEG2-TS)
214  コンテンツ保護
216  パケット化エレメンタリストリーム(PES)パケット化
218  ビデオコーデック
218A  ミラーコーデック
220  オーディオコーデック
222  トランスポート制御プロトコル(TCP)
224  リアルタイムストリーミングプロトコル(RTSP)
228  ユーザ入力パケット化
230  ヒューマンインターネットデバイスコマンド(HIDC)
232  汎用ユーザ入力
310  ソースデバイス
312  メディアプレーヤアプリケーション
314  メディアプレーヤ
316  ワイヤレスディスプレイアプリケーション
322  トランスポートモジュール
324  出力バッファ
326  信号または他の指示
328  提示時間
341  メモリ
342  通信モジュール
343  グラフィックス処理モジュール
344  プロセッサ
348  ディスプレイインターフェース
350  オーディオ処理モジュール
354  オーディオインターフェース
360  ディスプレイ処理モジュール
362  ディスプレイモジュール
364  ディスプレイミラーリングモジュール
366  事前定義フレーム
501  ワイヤレスディスプレイスタック
502A  バッファ
502B  バッファ
502C  バッファ
502A'  バッファ
502B'  バッファ
502C'  バッファ
504A  バッファ
504B  バッファ
504C  バッファ
504A'  バッファ
504B'  バッファ
504C'  バッファ
600  ワイヤレスディスプレイソースデバイス
602  コーデックインターフェース
604  ビデオ通過復号器
606  オーディオ復号器
610  符号化されたオーディオビジュアル(A/V)データ
T1  提示時間
T2  提示時間
T3  提示時間
【図１】
2017528043.tif 000003
【図２】
2017528043.tif 000004
【図３】
2017528043.tif 000005
【図４】
2017528043.tif 000006
【図５】
2017528043.tif 000007
【図６】
2017528043.tif 000008
【手続補正書】
【提出日】平成29年1月31日(2017.1.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを、ワイヤレスディスプレイソースデバイスからワイヤレスディスプレイシンクデバイスに送信する方法であって、前記ワイヤレスディスプレイソースデバイスはローカルディスプレイを含み、前記方法は、
前記ワイヤレスディスプレイソースデバイスを用いて、ビデオデータのフレームに対する符号化されたビデオデータを取得するステップと、
前記ワイヤレスディスプレイソースデバイスの前記ローカルディスプレイにおいて、ビデオデータの前記フレームではなく事前定義フレームを出力するステップと、
前記ローカルディスプレイ上の前記事前定義フレームの提示に基づいて、提示時間を決定するステップと、
前記提示時間から、ビデオデータの前記フレームに対する前記事前定義フレームのためのタイムスタンプを決定するステップと、
前記タイムスタンプに関連して、前記ワイヤレスディスプレイシンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために前記符号化されたビデオデータを前記ワイヤレスディスプレイソースデバイスから前記ワイヤレスディスプレイシンクデバイスに送るステップと
を含む方法。
【請求項２】
前記事前定義フレームは、黒フレームおよびユーザメッセージからなる群から選択される、請求項1に記載の方法。
【請求項３】
前記ワイヤレスディスプレイソースデバイスは、Wi-Fiディスプレイソースデバイスを含み、前記ワイヤレスディスプレイシンクデバイスは、Wi-Fiディスプレイシンクデバイスを含み、
前記符号化されたビデオデータを送るステップは、前記符号化されたビデオデータを、Wi-Fiディスプレイ規格に基づく1つまたは複数の通信プロトコルを用いる通信セッションにより送るステップを含む、請求項1に記載の方法。
【請求項４】
前記符号化されたビデオデータを送るステップは、前記符号化されたビデオデータを、Wi-Fiダイレクトおよびトンネルダイレクトリンク設定(TDLS)プロトコルの一方に従って動作する通信セッションにより送るステップを含む、請求項1に記載の方法。
【請求項５】
ユーザ入力の指示を受け取るステップと、
前記ユーザ入力の前記指示を受け取ったことに応じて、前記ワイヤレスディスプレイシンクデバイスとのミラーリングセッションを確立するステップとをさらに含み、
ビデオデータの前記フレームに対する前記事前定義フレームを出力するステップは、前記ワイヤレスディスプレイソースデバイスが、前記ワイヤレスディスプレイシンクデバイスとのアクティブなミラーリングセッションを有する場合に限って、ビデオデータの前記フレームに対する前記事前定義フレームを出力するステップを含む、請求項1に記載の方法。
【請求項６】
ビデオコーデックにより、前記ワイヤレスディスプレイソースデバイスのメディアプレーヤから前記符号化されたビデオデータを受け取るステップと、
前記ビデオコーデックにより、前記メディアプレーヤに対する出力バッファに前記事前定義フレームを記憶するステップとをさらに含む、請求項1に記載の方法。
【請求項７】
前記メディアプレーヤにより前記出力バッファが消費されたという指示を、前記ビデオコーデックにより受け取るステップと、
前記指示を受け取ることに応じて、前記ビデオコーデックにより、ビデオデータの前記フレームに対する前記事前定義フレームのための前記提示時間を表す前記タイムスタンプを記憶するステップとをさらに含む、請求項6に記載の方法。
【請求項８】
前記ビデオコーデックは、前記メディアプレーヤにより使用するために登録され、符号化されたビデオフレームを前記ビデオコーデックに提供するために前記メディアプレーヤにより使用可能なインターフェースを有し、前記方法が、
前記ワイヤレスディスプレイシンクデバイスとのミラーリングセッションを可能にするユーザ入力の指示を受け取ったことに応じて、前記メディアプレーヤにより使用される前記ビデオコーデックをロードするステップをさらに含み、
前記メディアプレーヤから前記符号化されたビデオデータを受け取るステップは、前記ビデオコーデックにより、入力バッファを介して、前記符号化されたビデオデータを受け取るステップを含み、
前記メディアプレーヤに対する出力バッファに前記事前定義フレームを記憶するステップは、前記事前定義フレームが前記符号化されたビデオデータの復号されたビデオフレームであるかのように、前記メディアプレーヤに前記事前定義フレームを表示させるのに必要なメタデータおよびタイミング情報のいずれかに関連して、前記メディアプレーヤに対する前記出力バッファに前記事前定義フレームを記憶するステップを含む、請求項6に記載の方法。
【請求項９】
ビデオデータの前記フレームに対応するオーディオデータに対する提示時間を決定するステップと、
ビデオデータの前記フレームに対応する前記オーディオデータに対する前記提示時間に関連して、ビデオデータの前記フレームに対応する前記オーディオデータに対する符号化されたオーディオデータを送るステップとをさらに含み、
前記符号化されたビデオデータを送るステップは、前記ワイヤレスディスプレイシンクデバイスにおいて、ビデオデータの前記フレームに対応する前記オーディオデータの提示とビデオデータの前記フレームの提示とを同期させるように、ビデオデータの前記フレームに対する前記事前定義フレームのための前記提示時間に関連して、前記符号化されたビデオデータを送るステップを含む、請求項1に記載の方法。
【請求項１０】
ソースデバイスであって、
ビデオデータを記憶するためのメモリと、
1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
ビデオデータのフレームに対する符号化されたビデオデータを取得し、
前記ソースデバイスのディスプレイインターフェースを介して、ディスプレイデバイスにおいて表示するために、ビデオデータの前記フレームではなく事前定義フレームを出力し、
ローカルディスプレイ上で、前記事前定義フレームの提示に基づいて提示時間を決定し、
前記提示時間から、ビデオデータの前記フレームに対する前記事前定義フレームのためのタイムスタンプを決定し、
前記タイムスタンプに関連して、シンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために前記符号化されたビデオデータをワイヤレス通信チャネルを介して前記シンクデバイスに送るように構成される、ソースデバイス。
【請求項１１】
前記事前定義フレームは、黒フレームおよびユーザメッセージからなる群から選択される、請求項10に記載のソースデバイス。
【請求項１２】
前記ソースデバイスは、Wi-Fiソースデバイスを含み、前記シンクデバイスは、Wi-Fiディスプレイシンクデバイスを含み、
前記符号化されたビデオデータを送るために、前記1つまたは複数のプロセッサは、Wi-Fiディスプレイ規格に基づく1つまたは複数の通信プロトコルを用いる通信セッションを介して、前記符号化されたビデオデータを前記シンクデバイスに送るようにさらに構成される、請求項10に記載のソースデバイス。
【請求項１３】
前記符号化されたビデオデータを送るために、前記1つまたは複数のプロセッサは、Wi-Fiダイレクトおよびトンネルダイレクトリンク設定(TDLS)プロトコルの一方に従って動作する通信セッションを介して、前記符号化されたビデオデータを、前記シンクデバイスに送るようにさらに構成される、請求項10に記載のソースデバイス。
【請求項１４】
前記1つまたは複数のプロセッサは、
前記ソースデバイスによって、ユーザ入力の指示を受け取り、
前記ユーザ入力の前記指示を受け取ったことに応じて、前記シンクデバイスとのミラーリングセッションを確立するようにさらに構成され、
ビデオデータの前記フレームに対する前記事前定義フレームを出力するために、前記1つまたは複数のプロセッサは、前記ソースデバイスが前記シンクデバイスとのアクティブなミラーリングセッションを有する場合に限って、ビデオデータの前記フレームに対する前記事前定義フレームを出力するようにさらに構成される、請求項10に記載のソースデバイス。
【請求項１５】
前記1つまたは複数のプロセッサは、
前記ソースデバイスのビデオコーデックにより、前記ソースデバイスのメディアプレーヤから、前記符号化されたビデオデータを受け取り、
前記ビデオコーデックにより、前記事前定義フレームを、前記メディアプレーヤに対する出力バッファに記憶するようにさらに構成される、請求項10に記載のソースデバイス。
【請求項１６】
前記1つまたは複数のプロセッサは、
前記メディアプレーヤにより前記出力バッファが消費されたという指示を、前記ビデオコーデックにより受け取り、
前記指示を受け取ったことに応じて、前記ビデオコーデックにより、ビデオデータの前記フレームに対する前記事前定義フレームのための前記提示時間を表す前記タイムスタンプを記憶するようにさらに構成される、請求項15に記載のソースデバイス。
【請求項１７】
前記ビデオコーデックは、前記メディアプレーヤにより使用するために登録され、符号化されたビデオフレームを前記ビデオコーデックに提供するために前記メディアプレーヤにより使用可能なインターフェースを有し、
前記1つまたは複数のプロセッサは、前記シンクデバイスとのミラーリングセッションを可能にするユーザ入力の指示を受け取ったことに応じて、前記メディアプレーヤにより使用される前記ビデオコーデックをロードするようにさらに構成され、
前記メディアプレーヤから前記符号化されたビデオデータを受け取るために、前記1つまたは複数のプロセッサは、前記ビデオコーデックにより、入力バッファを介して前記符号化されたビデオデータを受け取るようにさらに構成され、また
前記事前定義フレームを、前記メディアプレーヤに対する出力バッファに記憶するために、前記1つまたは複数のプロセッサは、前記事前定義フレームが前記符号化されたビデオデータの復号されたビデオフレームであるかのように、前記メディアプレーヤに前記事前定義フレームを表示させるのに必要なメタデータおよびタイミングデータのいずれかに関連して、前記メディアプレーヤに対する出力バッファに前記事前定義フレームを記憶するようにさらに構成される、請求項15に記載のソースデバイス。
【請求項１８】
前記1つまたは複数のプロセッサは、
ビデオデータの前記フレームに対応するオーディオデータに対する提示時間を決定し、
ビデオデータの前記フレームに対応する前記オーディオデータに対する前記提示時間に関連して、ビデオデータの前記フレームに対応する前記オーディオデータに対する符号化されたオーディオデータを前記シンクデバイスに送るようにさらに構成され、
前記符号化されたビデオデータを送るために、前記1つまたは複数のプロセッサは、前記シンクデバイスにおいて、ビデオデータの前記フレームに対応する前記オーディオデータの提示とビデオデータの前記フレームの提示とを同期させるように、ビデオデータの前記フレームに対する前記事前定義フレームのための前記提示時間に関連して、前記符号化されたビデオデータを前記シンクデバイスに送るようにさらに構成される、請求項10に記載のソースデバイス。
【請求項１９】
ビデオデータのフレームに対する符号化されたビデオデータを取得するための手段と、
ビデオデータの前記フレームではなく、事前定義フレームを出力するための手段と、
ローカルディスプレイ上で、前記事前定義フレームの提示に基づいて提示時間を決定するための手段と、
前記提示時間から、ビデオデータの前記フレームに対する前記事前定義フレームのためのタイムスタンプを決定するための手段と、
前記タイムスタンプに関連して、シンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために前記符号化されたビデオデータをワイヤレス通信チャネルを介して前記シンクデバイスに送るための手段と
を備えるソースデバイス。
【請求項２０】
前記事前定義フレームは、黒フレームおよびユーザメッセージからなる群から選択される、請求項19に記載のソースデバイス。
【請求項２１】
前記ソースデバイスは、Wi-Fiディスプレイソースデバイスを含み、前記シンクデバイスは、Wi-Fiディスプレイシンクデバイスを含み、
前記符号化されたビデオデータを送るための前記手段は、前記符号化されたビデオデータを、Wi-Fiディスプレイ規格に基づく1つまたは複数の通信プロトコルを用いる通信セッションにより前記シンクデバイスに送るための手段を含む、請求項19に記載のソースデバイス。
【請求項２２】
前記符号化されたビデオデータを送るための前記手段は、前記符号化されたビデオデータを、Wi-Fiダイレクトおよびトンネルダイレクトリンク設定(TDLS)プロトコルの一方に従って動作する通信セッションにより、前記シンクデバイスに送るための手段を含む、請求項19に記載のソースデバイス。
【請求項２３】
ユーザ入力の指示を受け取るための手段と、
前記ユーザ入力の前記指示を受け取ったことに応じて、前記シンクデバイスとのミラーリングセッションを確立するための手段とをさらに備え、
ビデオデータの前記フレームに対する前記事前定義フレームを出力するための前記手段は、前記ソースデバイスが前記シンクデバイスとのアクティブなミラーリングセッションを有する場合に限って、ビデオデータの前記フレームに対する前記事前定義フレームを出力するための手段を含む、請求項19に記載のソースデバイス。
【請求項２４】
前記ソースデバイスのビデオコーデックにより、前記ソースデバイスのメディアプレーヤから、前記符号化されたビデオデータを受け取るための手段と、
前記ビデオコーデックにより、前記メディアプレーヤに対する出力バッファに前記事前定義フレームを記憶するための手段と
をさらに備える、請求項19に記載のソースデバイス。
【請求項２５】
前記メディアプレーヤにより前記出力バッファが消費されたという指示を、前記ソースデバイスの前記ビデオコーデックより受け取るための手段と、
前記指示を受け取ったことに応じて前記ビデオコーデックにより、ビデオデータの前記フレームに対する前記提示時間を表す前記タイムスタンプを記憶するための手段とをさらに備える、請求項24に記載のソースデバイス。
【請求項２６】
前記ビデオコーデックは、前記メディアプレーヤにより使用するために登録され、符号化されたビデオフレームを前記ビデオコーデックに提供するために前記メディアプレーヤにより使用可能なインターフェースを有し、前記ソースデバイスが、
ワイヤレスディスプレイシンクデバイスとのミラーリングセッションを可能にするユーザ入力の指示の受け取ったことに応じて、前記メディアプレーヤにより使用される前記ビデオコーデックをロードするための手段をさらに備え、
前記メディアプレーヤから前記符号化されたビデオデータを受け取るための前記手段は、前記ビデオコーデックにより、入力バッファを介して前記符号化されたビデオデータを受け取るための手段を含み、
前記メディアプレーヤに対する出力バッファに前記事前定義フレームを記憶するための前記手段は、前記事前定義フレームが前記符号化されたビデオデータの復号されたビデオフレームであるかのように、前記メディアプレーヤに前記事前定義フレームを表示させるのに必要なメタデータおよびタイミング情報のいずれかに関連して、前記メディアプレーヤに対する前記出力バッファに前記事前定義フレームを記憶するための手段を含む、請求項24に記載のソースデバイス。
【請求項２７】
実行されたとき、ワイヤレスディスプレイソースデバイスの1つまたは複数のプロセッサを、
ビデオデータのフレームに対する符号化されたビデオデータを取得し、
ビデオデータの前記フレームではなく事前定義フレームを、前記ワイヤレスディスプレイソースデバイスのローカルディスプレイにて出力し、
前記ローカルディスプレイ上の前記事前定義フレームの提示に基づいて提示時間を決定し、
前記提示時間から、ビデオデータの前記フレームに対する前記事前定義フレームのためのタイムスタンプを決定し、
前記タイムスタンプに関連して、ワイヤレスディスプレイシンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために前記符号化されたビデオデータを送る
ように構成する命令を記憶するコンピュータ可読記憶媒体。
【手続補正書】
【提出日】平成29年7月4日(2017.7.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを、ワイヤレスディスプレイソースデバイスからワイヤレスディスプレイシンクデバイスに送信する方法であって、
ビデオデータのフレームに対する符号化されたビデオデータを取得するステップと、
ビデオコーデックにより、前記ワイヤレスディスプレイソースデバイスのメディアプレーヤから前記符号化されたビデオデータを受け取るステップと、
前記ビデオコーデックにより、前記メディアプレーヤに対する出力バッファに事前定義フレームを記憶するステップと、
ビデオデータの前記フレームに対する事前定義フレームを出力するステップと、
前記メディアプレーヤにより前記出力バッファが消費されたという指示を、前記ビデオコーデックにより受け取るステップと、
前記指示を受け取ることに応じて、前記ビデオコーデックにより、ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を表すタイムスタンプを記憶するステップと、
前記タイムスタンプに関連して、前記符号化されたビデオデータを、前記ワイヤレスディスプレイシンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために送るステップと
を含む方法。
【請求項２】
ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を決定するステップをさらに含み、
前記符号化されたビデオデータを送るステップは、前記提示時間に関連して前記符号化されたビデオデータを送るステップを含む、請求項1に記載の方法。
【請求項３】
前記事前定義フレームは、黒フレームおよびユーザメッセージからなる群から選択される、請求項1に記載の方法。
【請求項４】
前記ワイヤレスディスプレイソースデバイスは、Wi-Fiディスプレイソースデバイスを含み、前記ワイヤレスディスプレイシンクデバイスは、Wi-Fiディスプレイシンクデバイスを含み、
前記符号化されたビデオデータを送るステップは、前記符号化されたビデオデータを、Wi-Fiディスプレイ規格に基づく1つまたは複数の通信プロトコルを用いる通信セッションにより送るステップを含む、請求項1に記載の方法。
【請求項５】
前記符号化されたビデオデータを送るステップは、前記符号化されたビデオデータを、Wi-Fiダイレクトおよびトンネルダイレクトリンク設定(TDLS)プロトコルの一方に従って動作する通信セッションにより送るステップを含む、請求項1に記載の方法。
【請求項６】
ユーザ入力の指示を受け取るステップと、
前記ユーザ入力の前記指示を受け取ったことに応じて、前記ワイヤレスディスプレイシンクデバイスとのミラーリングセッションを確立するステップとをさらに含み、
ビデオデータの前記フレームに対する前記事前定義フレームを出力するステップは、前記ワイヤレスディスプレイソースデバイスが、前記ワイヤレスディスプレイシンクデバイスとのアクティブなミラーリングセッションを有する場合に限って、ビデオデータの前記フレームに対する前記事前定義フレームを出力するステップを含む、請求項1に記載の方法。
【請求項７】
前記ビデオコーデックは、前記メディアプレーヤにより使用するために登録され、符号化されたビデオフレームを前記ビデオコーデックに提供するために前記メディアプレーヤにより使用可能なインターフェースを有し、前記方法が、
前記ワイヤレスディスプレイシンクデバイスとのミラーリングセッションを可能にするユーザ入力の指示を受け取ったことに応じて、前記メディアプレーヤにより使用される前記ビデオコーデックをロードするステップをさらに含み、
前記メディアプレーヤから前記符号化されたビデオデータを受け取るステップは、前記ビデオコーデックにより、入力バッファを介して、前記符号化されたビデオデータを受け取るステップを含み、
前記メディアプレーヤに対する出力バッファに前記事前定義フレームを記憶するステップは、前記事前定義フレームが前記符号化されたビデオデータの復号されたビデオフレームであるかのように、前記メディアプレーヤに前記事前定義フレームを表示させるのに必要なメタデータおよびタイミング情報のいずれかに関連して、前記メディアプレーヤに対する前記出力バッファに前記事前定義フレームを記憶するステップを含む、請求項1に記載の方法。
【請求項８】
ビデオデータの前記フレームに対応するオーディオデータに対する提示時間を決定するステップと、
ビデオデータの前記フレームに対応する前記オーディオデータに対する前記提示時間に関連して、ビデオデータの前記フレームに対応する前記オーディオデータに対する符号化されたオーディオデータを送るステップと、
ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を決定するステップとをさらに含み、
前記符号化されたビデオデータを送るステップは、前記ワイヤレスディスプレイシンクデバイスにおいて、ビデオデータの前記フレームに対応する前記オーディオデータの提示とビデオデータの前記フレームの提示とを同期させるように、ビデオデータの前記フレームに対する前記事前定義フレームのための前記提示時間に関連して、前記符号化されたビデオデータを送るステップを含む、請求項1に記載の方法。
【請求項９】
前記メディアプレーヤにより前記出力バッファが消費されたという前記指示が、オーディオ/ビデオ同期化およびレンダリングが前記メディアプレーヤにより実行されたという指示を含む、請求項1に記載の方法。
【請求項１０】
ソースデバイスであって、
ビデオデータを記憶するためのメモリと、
1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
ビデオデータのフレームに対する符号化されたビデオデータを取得し、
前記ソースデバイスのディスプレイインターフェースを介して、ディスプレイデバイスにおいて表示するために、ビデオデータの前記フレームに対する事前定義フレームを出力し、
ワイヤレスディスプレイシンクデバイスとのミラーリングセッションを可能にするユーザ入力の指示を受け取ったことに応じて、メディアプレーヤにより使用されるビデオコーデックをロードし、前記ビデオコーデックは、前記メディアプレーヤにより使用するために登録され、符号化されたビデオフレームを前記ビデオコーデックに提供するために前記メディアプレーヤにより使用可能なインターフェースを有し、
前記ソースデバイスのビデオコーデックにより、入力バッファを介して、前記ソースデバイスのメディアプレーヤから、前記符号化されたビデオデータを受け取り、
前記ビデオコーデックにより、前記事前定義フレームが前記符号化されたビデオデータの復号されたビデオフレームであるかのように、前記メディアプレーヤに前記事前定義フレームを表示させるのに必要なメタデータおよびタイミング情報のいずれかに関連して、前記メディアプレーヤに対する出力バッファに前記事前定義フレームを記憶し、
前記符号化されたビデオデータを、シンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために、ワイヤレス通信チャネルを介して前記シンクデバイスに送るように構成される、ソースデバイス。
【請求項１１】
前記1つまたは複数のプロセッサが、
ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を決定するようにさらに構成され、
前記符号化されたビデオデータを送るために、前記1つまたは複数のプロセッサは、前記符号化されたビデオデータを、前記提示時間に関連して、前記シンクデバイスに送るようにさらに構成される、請求項10に記載のソースデバイス。
【請求項１２】
前記事前定義フレームは、黒フレームおよびユーザメッセージからなる群から選択される、請求項10に記載のソースデバイス。
【請求項１３】
前記ソースデバイスは、Wi-Fiソースデバイスを含み、前記シンクデバイスは、Wi-Fiディスプレイシンクデバイスを含み、
前記符号化されたビデオデータを送るために、前記1つまたは複数のプロセッサは、Wi-Fiディスプレイ規格に基づく1つまたは複数の通信プロトコルを用いる通信セッションを介して、前記符号化されたビデオデータを前記シンクデバイスに送るようにさらに構成される、請求項10に記載のソースデバイス。
【請求項１４】
前記符号化されたビデオデータを送るために、前記1つまたは複数のプロセッサは、Wi-Fiダイレクトおよびトンネルダイレクトリンク設定(TDLS)プロトコルの一方に従って動作する通信セッションを介して、前記符号化されたビデオデータを、前記シンクデバイスに送るようにさらに構成される、請求項10に記載のソースデバイス。
【請求項１５】
前記1つまたは複数のプロセッサは、
前記ソースデバイスによって、ユーザ入力の指示を受け取り、
前記ユーザ入力の前記指示を受け取ったことに応じて、前記シンクデバイスとのミラーリングセッションを確立するようにさらに構成され、
ビデオデータの前記フレームに対する前記事前定義フレームを出力するために、前記1つまたは複数のプロセッサは、前記ソースデバイスが前記シンクデバイスとのアクティブなミラーリングセッションを有する場合に限って、ビデオデータの前記フレームに対する前記事前定義フレームを出力するようにさらに構成される、請求項10に記載のソースデバイス。
【請求項１６】
前記1つまたは複数のプロセッサは、
前記メディアプレーヤにより前記出力バッファが消費されたという指示を、前記ビデオコーデックにより受け取り、
前記指示を受け取ったことに応じて、前記ビデオコーデックにより、ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を表すタイムスタンプを記憶するようにさらに構成され、
前記符号化されたビデオデータを送るために、前記1つまたは複数のプロセッサは、前記タイムスタンプに関連して、前記符号化されたビデオデータを前記シンクデバイスに送るようにさらに構成される、請求項10に記載のソースデバイス。
【請求項１７】
前記1つまたは複数のプロセッサは、
ビデオデータの前記フレームに対応するオーディオデータに対する提示時間を決定し、
ビデオデータの前記フレームに対応する前記オーディオデータに対する前記提示時間に関連して、ビデオデータの前記フレームに対応する前記オーディオデータに対する符号化されたオーディオデータを前記シンクデバイスに送り、
ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を決定するようにさらに構成され、
前記符号化されたビデオデータを送るために、前記1つまたは複数のプロセッサは、前記シンクデバイスにおいて、ビデオデータの前記フレームに対応する前記オーディオデータの提示とビデオデータの前記フレームの提示とを同期させるように、ビデオデータの前記フレームに対する前記事前定義フレームのための前記提示時間に関連して、前記符号化されたビデオデータを前記シンクデバイスに送るようにさらに構成される、請求項10に記載のソースデバイス。
【請求項１８】
ビデオデータのフレームに対する符号化されたビデオデータを取得するための手段と、
ビデオデータの前記フレームに対する事前定義フレームを出力するための手段と、
ワイヤレスディスプレイシンクデバイスとのミラーリングセッションを可能にするユーザ入力の指示の受け取ったことに応じて、メディアプレーヤにより使用されるビデオコーデックをロードするための手段と、
前記メディアプレーヤにより使用するために登録され、入力バッファを介して符号化されたビデオフレームを前記ビデオコーデックに提供するために前記メディアプレーヤにより使用可能なインターフェースを有するビデオコーデックにより、ワイヤレスディスプレイソースデバイスのメディアプレーヤから、前記符号化されたビデオデータを受け取るための手段と、
前記事前定義フレームが前記符号化されたビデオデータの復号されたビデオフレームであるかのように、前記メディアプレーヤに前記事前定義フレームを表示させるのに必要なメタデータおよびタイミング情報のいずれかに関連して、前記メディアプレーヤに対する出力バッファに前記事前定義フレームを記憶するための手段と、
前記符号化されたビデオデータを、シンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために、ワイヤレス通信チャネルを介して前記シンクデバイスに送るための手段とを備えるソースデバイス。
【請求項１９】
ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を決定するための手段をさらに備え、
前記符号化されたビデオデータを送るための前記手段は、前記提示時間に関連して前記符号化されたビデオデータを前記シンクデバイスに送るための手段を含む、請求項18に記載のソースデバイス。
【請求項２０】
前記事前定義フレームは、黒フレームおよびユーザメッセージからなる群から選択される、請求項18に記載のソースデバイス。
【請求項２１】
前記ソースデバイスは、Wi-Fiディスプレイソースデバイスを含み、前記シンクデバイスは、Wi-Fiディスプレイシンクデバイスを含み、
前記符号化されたビデオデータを送るための前記手段は、前記符号化されたビデオデータを、Wi-Fiディスプレイ規格に基づく1つまたは複数の通信プロトコルを用いる通信セッションにより前記シンクデバイスに送るための手段を含む、請求項18に記載のソースデバイス。
【請求項２２】
前記符号化されたビデオデータを送るための前記手段は、前記符号化されたビデオデータを、Wi-Fiダイレクトおよびトンネルダイレクトリンク設定(TDLS)プロトコルの一方に従って動作する通信セッションにより、前記シンクデバイスに送るための手段を含む、請求項18に記載のソースデバイス。
【請求項２３】
ユーザ入力の指示を受け取るための手段と、
前記ユーザ入力の前記指示を受け取ったことに応じて、前記シンクデバイスとのミラーリングセッションを確立するための手段とをさらに備え、
ビデオデータの前記フレームに対する前記事前定義フレームを出力するための前記手段は、前記ソースデバイスが前記シンクデバイスとのアクティブなミラーリングセッションを有する場合に限って、ビデオデータの前記フレームに対する前記事前定義フレームを出力するための手段を含む、請求項18に記載のソースデバイス。
【請求項２４】
前記メディアプレーヤにより前記出力バッファが消費されたという指示を、前記ソースデバイスの前記ビデオコーデックより受け取るための手段と、
前記指示を受け取ったことに応じて前記ビデオコーデックにより、ビデオデータの前記フレームに対する提示時間を表すタイムスタンプを記憶するための手段とをさらに備え、
前記符号化されたビデオデータを送るための前記手段は、前記タイムスタンプに関連して、前記符号化されたビデオデータを前記シンクデバイスに送るための手段を含む、請求項18に記載のソースデバイス。
【請求項２５】
実行されたとき、ワイヤレスディスプレイソースデバイスの1つまたは複数のプロセッサを、
ビデオデータのフレームに対する符号化されたビデオデータを取得し、
ビデオコーデックにより、前記ワイヤレスディスプレイソースデバイスのメディアプレーヤから前記符号化されたビデオデータを受け取り、
前記ビデオコーデックにより、前記メディアプレーヤに対する出力バッファに事前定義フレームを記憶し、
ビデオデータの前記フレームに対する事前定義フレームを出力し、
前記メディアプレーヤにより前記出力バッファが消費されたという指示を、前記ビデオコーデックにより受け取り、
前記指示を受け取ることに応じて、前記ビデオコーデックにより、ビデオデータの前記フレームに対する前記事前定義フレームのための提示時間を表すタイムスタンプを記憶し、
前記タイムスタンプに関連して、ワイヤレスディスプレイシンクデバイスに関連付けられたディスプレイデバイスにおいて表示するために前記符号化されたビデオデータを送る
ように構成する命令を記憶するコンピュータ可読記憶媒体。
【請求項２６】
前記メディアプレーヤにより前記出力バッファが消費されたという前記指示が、オーディオ/ビデオ同期化およびレンダリングが前記メディアプレーヤにより実行されたという指示を含む、請求項25に記載のコンピュータ可読記憶媒体。
【国際調査報告】
2017528043.tif 000009
2017528043.tif 000010