(58)【調査した分野】(Int.Cl.,DB名)
前記シンクデバイスの前記復号能力が前記圧縮コンテンツの復号をすることができるケースにおいて、前記圧縮コンテンツを前記シンクデバイスに送信するための前記ソースデバイスにおけるトランスコーディングプロセスを停止すること
をさらに備える、請求項1に記載の方法。
前記シンクデバイスの前記復号能力が前記圧縮コンテンツの復号をすることができるケースにおいて、前記圧縮コンテンツを前記シンクデバイスに送信するための前記ソースデバイスにおけるトランスコーディングプロセスを停止するための手段
をさらに備える、請求項7に記載の装置。
【発明を実施するための形態】
【0011】
[0018] 一般に、本開示は、ワイヤレスディスプレイ(WD)システムにおいてビデオデータを送信するときのソースデバイスにおけるリソース利用のための技法に関する。現在、ワイヤレスディスプレイプロトコル(例えば、Wi−Fiディスプレイまたは「WFD」)は、ソースデバイスのフレームバッファのコンテンツをキャプチャし、このコンテンツを符号化し、そしてその符号化されたコンテンツをリモートシンクデバイス(例えば、モニタ、ディスプレイ、テレビ、等)に送信することをワイヤレスディスプレイソースデバイス(例えば、モバイル電話、タブレットコンピュータ、ラップトップコンピュータ、等)に求める(require)。
【0012】
[0019] 多くの事例では、ユーザは、ソースデバイスとシンクデバイスの両方で同時に同じ圧縮ビデオまたは他の圧縮コンテンツを再生することを望み得る。このケースでは、ソースデバイスは、ローカルディスプレイのために、フレームバッファに圧縮コンテンツを復号し得る。加えて、ソースデバイスはまた、シンクデバイスへの送信のために、フレームバッファ内の復号されたコンテンツを再符号化し得る。このように、ソースデバイスは、シンクデバイスへの送信の前、圧縮コンテンツのトランスコーディングに携わる。トランスコーディングは、電力消費を含むシステムリソース消費の観点から高価である。
【0013】
[0020] 他のワイヤレスディスプレイ技法は、ソースデバイスに圧縮コンテンツを直接ストリーミングすることによってトランスコーディングを回避し得る。しかしながら、そのような技法は、ソースデバイスがストリーミングしているときに圧縮コンテンツを復号しないため、圧縮コンテンツのローカル再生またはディスプレイをすることができない。
【0014】
[0021] このように、ワイヤレスディスプレイのための従来の技法は、ローカル再生をすることができるようにするためのトランスコーディングに必要なリソースの望ましくない消費と、例えば、圧縮ビデオをストリーミングすることおよびローカル再生を不可にすることによって低減されたリソース消費の望ましさとの間でのトレードオフを必要とする。
【0015】
[0022] これら欠点に鑑みて、本開示は、多くの状況においてトランスコーディングを回避し、依然としてソースデバイス上でのローカル再生をすることができるワイヤレスディスプレイ技法を提案する。このように、本開示の技法は、CPU、メモリ、ハードウェア、および電力を消費する他の構成要素を含む、1つ以上のシステムリソースを使用する必要性を減らし得る。したがって、本技法は、バッテリ寿命を延長するのに有益であり得る。
【0016】
[0023]
図1は、ソースデバイスおよびシンクデバイスを含むワイヤレスディスプレイシステムを例示するブロック図である。ワイヤレスディスプレイ(WD)システム10は、ソースデバイス20およびシンクデバイス60を含み得る。ソースデバイス20は、オーディオ/ビジュアル(AV)データをシンクデバイス60にワイヤレスに送信する能力がある任意のタイプのデバイスであり得、それは、モバイル電話、タブレットコンピュータ、ラップトップコンピュータ、セットトップボックス、等を含む。シンクデバイス60は、ソースデバイス20からAVデータを受信およびディスプレイする能力がある任意のタイプのデバイスであり得、これは、セットトップボックス、ラップトップコンピュータ、モバイル電話、タブレットコンピュータ、デスクトップコンピュータ、モニタ、テレビ、等を含む。
【0017】
[0024]
図1に示されるように、ソースデバイス20は、AVストリームをシンクデバイス60に送信するように構成され得る。そのようなAVストリームは、シンクデバイス60によって復号可能なフォーマットである圧縮されたビデオデータおよび/または圧縮されたオーディオデータであり得る。一例として、AVストリームは、H.264ビデオ圧縮規格にしたがって圧縮され得る。しかしながら、任意の圧縮技法が使用され得る。AVストリームの送信は、制御情報を通じてサポートされ得る。ワイヤレスディスプレイの制御情報のための例となるプロトコルは、Wi−Fiディスプレイ(WFD)規格および/またはリアルタイムストリーミングプロトコル(RTSP)を含み得る。
【0018】
[0025]
図2は、WDシステム10の例をより詳細に例示するブロック図である。
図2とそれ以降の図は、説明の目的のために提供されており、本開示において広範に例示および説明されるような技法の限定とみなされるべきではない。
【0019】
[0026]
図2の例に示されるように、WDシステム10は、ソースデバイス20およびシンクデバイス60を含み得る。ソースデバイス20は、ワイヤレスチャネル50を介してシンクデバイス60と通信し得る。ソースデバイス20は、メモリ22、ディスプレイ24、スピーカ26、メディアエンコーダ28、メディア制御モジュール30、および送信機/受信機(TX/RX)ユニット32を含み得る。シンクデバイス60は、送信機/受信機ユニット(TX/RX)62、メディアデコーダ64、ディスプレイ66、スピーカ68、ユーザ入力(UI)デバイス70、およびユーザ入力処理モジュール(UIPM)72を含み得る。例示される構成要素は、WDシステム10のための1つの例となる構成を構成するにすぎない。他の構成は、例示されるものよりも少ない数の構成要素を含み得るか、または例示されるものに加えていくつかの構成要素を含み得る。
【0020】
[0027]
図2の例では、ソースデバイス20は、ディスプレイ24上にメディアデータのビデオ部分をディスプレイするように構成され得、スピーカ26を使用してメディアデータのオーディオ部分を出力することができる。メディアデータは、メモリ22にローカルに記憶され得るか、ファイルサーバ、ハードドライブ、外部メモリ、Blu−ray(登録商標)ディスク、DVD、または他の物理的記憶媒体のような外部記憶媒体からアクセスされ得るか、あるいはインターネットのようなネットワーク接続を介してソースデバイス20にストリーミングされ得る。いくつかの事例では、メディアデータは、ソースデバイス20のマイクロフォンおよびカメラを介してリアルタイムにキャプチャされ得る。メディアデータは、映画、テレビ番組、またはミュージックのようなマルチメディアコンテンツを含み得、ソースデバイス20によって生成されるリアルタイムコンテンツも含み得る。そのようなリアルタイムコンテンツは、例えば、ソースデバイス20上で実行しているアプリケーションによって生成されるか、または、例えば、ビデオ電話セッションの一環としてキャプチャされ得る。そのようなリアルタイムコンテンツは、いくつかの事例では、ユーザが選択するのに利用可能なユーザ入力オプションのピクチャを含み得る。いくつかの事例では、メディアデータは、異なるタイプのコンテンツの組み合わせであるピクチャ、例えば、ピクチャ上にユーザ入力オプションが重ね合わせられている映画またはTVプログラムのピクチャ、を含み得る。
【0021】
[0028] ディスプレイ24およびスピーカ26を介してローカルにメディアデータをレンダリングすることに加えて、ソースデバイス20のメディアエンコーダ28は、メディアデータを符号化することができ、TX/RXユニット32は、符号化されたメディアデータを、ワイヤレスチャネル50を通じてシンクデバイス60に送信することができる。いくつかの例では、メディアエンコーダ28は、すでに符号化されているメディアデータを再符号化し得る。換言すると、メディアエンコーダ28は、メディアデータをトランスコーディングし得る。シンクデバイス60のTX/RXユニット62は、符号化されたメディアデータを受信し得、メディアデコーダ64は、符号化されたメディアデータを復号し、ディスプレイ66およびスピーカ68上での提示のために、復号されたメディアデータを出力し得る。このように、ディスプレイ24およびスピーカ26によってレンダリングされているオーディオおよびビデオデータは、ディスプレイ66およびスピーカ68によって同時にレンダリングされ得る。オーディオデータおよびビデオデータはフレーム状に配列され得、オーディオフレームは、レンダリングされるときビデオフレーム(すなわち、ピクチャ)と時間同期され得る。
【0022】
[0029] メディアエンコーダ28およびメディアデコーダ64は、別名MPEG4,パート10,アドバンスドビデオコーディング(AVC)と呼ばれるITU−T H.264規格または新興の高効率ビデオコーディング(HEVC)規格のような様々なオーディオおよびビデオ圧縮規格を実装するエンコーダ/デコーダ(CODEC)ユニットを含み得る。多くの他のタイプの専有のまたは規格化された圧縮技法もまた使用され得る。一般的に言えば、メディアデコーダ64は、メディアエンコーダ28の相互コーディング動作を行うように構成される。
図2には示されていないが、いくつかの態様では、メディアエンコーダ28およびメディアデコーダ64は、各々、オーディオエンコーダおよびデコーダと統合され得、共通データストリームまたは別個のデータストリームにおけるオーディオおよびビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニットまたは他のハードウェアおよびソフトウェアを含み得る。
【0023】
[0030] メディアエンコーダ28はまた、上述されたようなビデオ圧縮規格を実装することに加えて他の符号化機能を行い得る。例えば、メディアエンコーダ28は、メディアデータがシンクデバイス60に送信される前に、様々なタイプのメタデータをメディアデータに加え得る。いくつかの事例では、メディアデータは、符号化された形式でソースデバイス20に記憶され得るか、あるいは受信されるため、メディアエンコーダ28によるさらなる圧縮を必要としないだろう。
【0024】
[0031]
図2は、ワイヤレスチャネル50がオーディオペイロードデータおよびビデオペイロードデータを別々に搬送するところを示すが、いくつかの事例では、ビデオペイロードデータおよびオーディオペイロードデータは、共通データストリームの一部であり得、互いに多重化され得るかそうでなければインターリブされ得る。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)のような他のプロトコルに従い得る。メディアエンコーダ28およびメディアデコーダ64は各々、1つ以上のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせとして実装され得る。1つ以上の態様がソフトウェアに実装される例では、根本的なハードウェア(例えば、プログラマブルプロセッサの形式の)が、そのソフトウェアを実行し得る。メディアエンコーダ28およびメディアデコーダ64の各々は、1つ以上のエンコーダまたはデコーダに含まれ得、それらのうちのどちらも、組み合わせられた(combined)エンコーダ/デコーダ(CODEC)の一部として統合され得る。ゆえに、ソースデバイス20およびシンクデバイス60の各々は、本開示の技法のうちの1つ以上を実行するように構成された専門の機械を備え得る。
【0025】
[0032] ディスプレイ24およびディスプレイ66は、ブラウン管(CRT)ディスプレイ、液晶ディスプレイ(LCD)、プラズマディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスのような、様々なビデオ出力デバイスのいずれも備え得る。これらのまたは他の例では、ディスプレイ24および66は各々、発光性(emissive)ディスプレイまたは透過型ディスプレイであり得る。ディスプレイ24およびディスプレイ66はまた、それらが入力デバイスであると同時にディスプレイデバイスであるようなタッチディスプレイであり得る。そのようなタッチディスプレイは、容量型、抵抗性、またはユーザがそれぞれのデバイスにユーザ入力を提供することを可能にした他のタイプのタッチパネルであり得る。
【0026】
[0033] スピーカ26およびスピーカ68は、ヘッドフォン、シングルスピーカシステム、マルチスピーカシステム、またはサラウンドサウンドシステムのような様々なオーディオ出力デバイスのいずれも備え得る。追加的に、ディスプレイ24およびスピーカ26は、ソースデバイス20の一部として示され、ディスプレイ66およびスピーカ68は、シンクデバイス60の一部として示されるが、ソースデバイス20およびシンクデバイス60は、実際、デバイスのシステムであり得る。一例として、ディスプレイ66はテレビであり得、スピーカ68はサラウンドサウンドシステムであり得、メディアデコーダ64は、ディスプレイ66およびスピーカ68にワイヤード(wired)にまたはワイヤレスに接続された外部ボックスの一部であり得る。他の事例では、シンクデバイス60は、タブレットコンピュータまたはスマートフォンのような単一のデバイスであり得る。さらに他のケースでは、ソースデバイス20およびシンクデバイス60は、類似したデバイスであり、例えば、両方ともスマートフォン、タブレットコンピュータ、等である。このケースでは、一方のデバイスはソースとして動作し得、他方はシンクとして動作し得る。これらの役割は、後続の通信セッションにおいて逆になり得る。さらに他のケースでは、ソースデバイス20は、スマートフォン、ラップトップ、またはタブレットコンピュータのようなモバイルデバイスを備え得、シンクデバイス60は、より固定されたデバイス(例えば、AC電源コードを有する)を備え得、そのケースでは、ソースデバイス20は、シンクデバイス60を介した1つ以上の視聴者への提示のために、オーディオおよびビデオデータを配信し得る。
【0027】
[0034] TX/RXユニット32およびTX/RXユニット62は各々、様々なミキサ、フィルタ、増幅器、および信号変調のために設計された他の構成要素に加え、1つ以上のアンテナおよびデータを送信および受信するために設計された他の構成要素を含み得る。ワイヤレスチャネル50は、一般に、ソースデバイス20とシンクデバイス60との間でメディアデータ、制御データ、およびフィードバックを送信するための任意の適切な通信媒体または異なる通信媒体の集合を表す。ワイヤレスチャネル50は、通常、比較的短距離の通信チャネルであり、定義された2.4GHz、3.6GHz、5GHz、60GHz、または超高帯域(UWB)周波数帯域構造を実装するような、Wi−Fi、Bluetooth(登録商標)、等、に類似した物理チャネル構造を実装し得る。しかしながら、ワイヤレスチャネル50は、この点において必ずしも限定されるわけではなく、無線周波数(RF)スペクトルまたは1つ以上の物理送信ラインのような任意のワイヤレス通信媒体、あるいはワイヤレスおよびワイヤード媒体の組み合わせを備え得る。他の例では、ワイヤレスチャネル50は、ワイヤードまたはワイヤレスなローカルエリアネットワーク、広域ネットワーク、またはインターネットのようなグローバルネットワークといった、パケットベースのネットワークの一部さえも形成し得る。追加的に、ワイヤレスチャネル50は、ピア・ツー・ピアリンクを作成するためにソースデバイス20およびシンクデバイス60によって使用され得る。
【0028】
[0035] ソースデバイス20およびシンクデバイス60は、例えば、リアルタイムストリーミングプロトコル(RTSP)、リアルタイムトランスポートプロトコル(RTP)、またはRTP制御プロトコル(RTCP)制御メッセージを使用して、能力ネゴシエーションにしたがって通信セッションを確立し得る。一例では、通信セッションを確立することを求める要求は、ソースデバイス20によってシンクデバイス60に送られ得る。通信セッションが確立された時点で、ソースデバイス20は、メディアデータ、例えば、オーディオビデオ(AV)データ、をシンクデバイス60に送信し得る。ソースデバイス20は、例えば、リアルタイムトランスポートプロトコル(RTP)を使用して、メディアデータをシンクデバイス60に送信し得る。シンクデバイス60は、受信されたメディアデータをディスプレイ66およびスピーカ68上にレンダリングし得る。
【0029】
[0036] ソースデバイス20およびシンクデバイス60は、IEEE802.11規格ファミリの規格のような通信プロトコルを使用して、ワイヤレスチャネル50を通して通信し得る。一例では、ワイヤレスチャネル50は、ネットワーク通信チャネルであり得る。この例では、通信サービスプロバイダが、基地局をネットワークハブとして使用して、ネットワークを中心的に動作させ、統括し得る。ソースデバイス20およびシンクデバイス60は、例えば、ソースデバイス20およびシンクデバイス60が、ワイヤレスアクセスポイントまたはいわゆるホットスポットのような仲介(intermediary)を使用することなく互いと直接通信し得るように、Wi−FiダイレクトまたはWi−Fiディスプレイ(WFD)規格にしたがって通信し得る。このコンテキストにおける比較的短距離とは、例えば、雑音のあるまたは妨害された環境では、デバイス間の距離が、略35メートル未満または略20メートル未満、等、さらに短い可能性があるが、略70メートル未満を指し得る。
【0030】
[0037] 本開示の技法は、時々、WFDおよび/またはRTSPに関係して説明され得るが、これらの技法の態様が他の通信プロトコルとも互換性がありうることが予期される。限定ではなく例として、ソースデバイス20とシンクデバイス60との間のワイヤレス通信は、直交周波数分割多重化(OFDM)技法を利用し得る。時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、符号分割多元接続(CDMA)、またはOFDM、FDMA、TDMA、および/またはCDMAの任意の組み合わせを含むがそれらに限定されない、幅広い種類の他のワイヤレス通信技法も使用され得る。
【0031】
[0038] ソースデバイス20から受信されたメディアデータを復号およびレンダリングすることに加えて、シンクデバイス60はまた、ユーザ入力デバイス70からユーザ入力を受信することができる。ユーザ入力デバイス70は、例えば、キーボード、マウス、電子ペン、トラックボールまたはトラックパッド、タッチスクリーン、ボイスコマンド認識モジュール、または任意の他のそのようなユーザ入力デバイスを含み得る。UIPM72は、ユーザ入力デバイス70によって受信されるユーザ入力コマンドを、ソースデバイス20が処理する能力のあるデータパケット構造へとフォーマットし得る。そのようなデータパケットは、ワイヤレスチャネル50を通してTX/RXユニット62によってソースデバイス20に送信され得る。
【0032】
[0039] TX/RXユニット32は、データパケットを受信し得、メディア制御モジュール30は、ユーザ入力デバイス70によって受信されたユーザ入力コマンドを解釈するためにデータパケットをパース(parse)し得る。データパケットにおいて受信されたユーザ入力コマンドに基づいて、メディア制御モジュール30は、符号化および送信されているメディアコンテンツを変更し得る。このように、シンクデバイス60のユーザは、リモートにおよびソースデバイス20と直接インタラクトすること(interacting)なく、ソースデバイス20によって送信されているメディアデータを制御することができる。
【0033】
[0040] 追加的に、シンクデバイス60のユーザは、ソースデバイス20上のアプリケーションを起動および制御することができ得る。例示として、シンクデバイス60のユーザは、ソースデバイス20に記憶されている写真編集アプリケーションを起動し、このアプリケーションを使用してソースデバイス20にローカルに記憶されている写真を編集することができ得る。シンクデバイス60は、実際写真がソースデバイス20上で編集されているときにこの写真がシンクデバイス60上でローカルに編集されているように見えるおよびそのように感じるユーザエクスペリエンスをユーザに提示し得る。そのような構成を使用して、ユーザは、1つのデバイスの能力を、いくつかのデバイスでの使用に活用することができ得る。例えば、ソースデバイス20は、大容量のメモリおよび高性能の処理能力を有するスマートフォンを備え得る。しかしながら、映画を鑑賞するとき、ユーザは、より大きなディスプレイスクリーンを有するデバイス上で映画を鑑賞することを望み得、このケースでは、シンクデバイス60は、タブレットコンピュータあるいはさらに大きいディスプレイデバイスまたはテレビであり得る。電子メールを送るかまたは電子メールに応答したいとき、ユーザは、物理的なキーボードを有するデバイスを使用することを望み得、このケースでは、シンクデバイス60はラップトップであり得る。両方の事例では、ユーザがシンクデバイス60とインタラクトしているにもかかわらず、大量の処理は、依然としてソースデバイス20によって行われ得る。ソースデバイス20およびシンクデバイス60は、ワイヤレスチャネル50を通して任意の所与のセッションにおいてデバイスの能力をネゴシエートおよび/または識別するために使用されるデータのような、制御データを送信することによって双方向インタラクションを容易にし得る。
【0034】
[0041] いくつかの構成では、メディア制御モジュール30は、ソースデバイス20の1つ以上のプロセッサによって実行されているオペレーティングシステムプロセスを備え得る。他の構成では、メディア制御モジュール30は、ソースデバイス20上で実行するアプリケーションのソフトウェアプロセスを備え得る。そのような構成では、ユーザ入力コマンドは、シンクデバイス60のユーザが、ソースデバイス20上で実行するオペレーティングシステムとは対照的に、ソースデバイス20上で実行するアプリケーションと直接インタラクトするように、ソフトウェアプロセスによって解釈され得る。オペレーティングシステムとは対照的にアプリケーションと直接インタラクトすることによって、シンクデバイス60のユーザは、ソースデバイス20のオペレーティングシステムに生来属していないコマンドのライブラリへのアクセスを有し得る。追加的に、アプリケーションと直接インタラクトすることは、コマンドが、異なるプラットフォーム上で動作するデバイスによってより容易に送信および処理されることを可能にし得る。
【0035】
[0042] シンクデバイス60において適用されるユーザ入力は、ワイヤレスチャネル50を通してソースデバイス20に送り返され得る。一例では、ユーザインターフェースバックチャネル(UIBS)とも呼ばれる、逆チャネルアーキテクチャは、シンクデバイス60が、シンクデバイス60において適用されるユーザ入力をソースデバイス20に送信することを可能にするために実装され得る。UIBCアーキテクチャは、ユーザ入力をトランスポートするための上位レイヤメッセージ、およびシンクデバイス60およびソースデバイス20においてユーザインタフェース能力をネゴシエートするための下位レイヤメッセージを含み得る。UIBCは、シンクデバイス60とソースデバイス20との間のインターネットプロトコル(IP)トランスポートレイヤよりも上に存在し得る。このように、UIBCは、オープンシステム相互接続(OSI)通信モデルにおいてトランスポートレイヤよりも上部にあり得る。ユーザ入力データを含むデータパケットの順序通りの配信および信頼性のある送信を促すために、UIBCは、送信制御プロトコル/インターネットプロトコル(TCP/IP)またはユーザデータグラムプロトコル(UDP)のような他のパケットベースの通信プロトコルの上で実行するように構成され得る。UDPおよびTCPは、OSIレイヤアーキテクチャと並行で動作し得る。TCP/IPは、パケット損失の場合に、シンクデバイス60およびソースデバイス20が再送技法を実装することを可能にし得る。
【0036】
[0043]
図3は、ソースデバイスにおけるトランスコーディングを示すブロック図である。上述したように、WFDのような従来のワイヤレスディスプレイ技法は、ソースデバイス20のフレームバッファ74のコンテンツをキャプチャする。フレームバッファ74は、
図2に示されるようにメモリ22の一部であり得る。フレームバッファ74は、ディスプレイ24においてディスプレイされる画素情報を記憶する。次いで、ソースデバイス20は、エンコーダ20を使用してフレームバッファ74のコンテンツを符号化し、そしてその符号化されたデータをシンクデバイス60に送信するだろう。
図3の例では、この送信は、WiFiモジュール76を使用することで達成される。WiFiモジュール76は、
図2に示されるTX/RXユニット32の一部であり得、WiFi技法を使用してデータを送信するように構成され得る。
【0037】
[0044] 上述したように、多くの状況では、フレームバッファ74のコンテンツが、ソースデバイス20によって以前に復号されているだろう。例えば、ソースデバイス20は、ソースデバイス20にローカルに記憶されたまたはストリーミングされた圧縮ビデオデータ(例えば、H.264ビデオデータ)を復号しているだろう。次いで、フレームバッファ74内のこの復号されたデータは、ワイヤレスディスプレイアプリケーションにおいて、シンクデバイス60への送信のために再符号化(すなわち、トランスコーディング)され得る。そのようなトランスコーディング動作は、システムリソースを消費し、ソースデバイス20における電力/バッテリ消費を増加させ得る。
【0038】
[0045]
図4は、従来のソースデバイスおよびトランスコーディングの例をより詳細に示すブロック図である。
図4の例では、ソースデバイス20は、デコーダ84、ディスプレイプロセッサ86、フレームバッファ74、エンコーダ20、ワイヤレスディスプレイコントローラ90、RTPカプセル化ユニット88、RTSPサーバ92、およびWi−Fiユニットを含む。ソースデバイス20は、1つ以上の処理ユニット(内部処理82で表される)上で1つ以上のアプリケーション(例えば、App_1 78およびApp_2 80)を実行するように構成され得る。
【0039】
[0046] ソースデバイス20のユーザは、1つ以上の処理ユニット(例えば、App_1 78およびApp_2 80)上でアプリケーション(App_1 78およびApp_2 80)を実行させ得る。そのようなアプリケーションは、画素が生成され、フレームバッファ74に記憶されることを引き起こすために、ディスプレイ86 78および内部処理82とインタラクトし得る。そのような画素は、ローカルディスプレイ94上にディスプレイされ得る。そのような画素コンテンツは、グラフィカルユーザインターフェース、ウィンドウ、レンダリングされたグラフィック、テキスト、画像、またはソースデバイス20の1つ以上の処理ユニット(例えば、中央処理ユニット、グラフィックス処理ユニット、デジタルシグナルプロセッサ、等)によって生成され得る任意の他のタイプの視覚材料を含み得る。
【0040】
[0047] 加えて、内部処理ユニット82は、ディスプレイプロセッサ86によって処理され、フレームバッファ74に記憶され得る圧縮コンテンツを復号することをデコーダ84に行わせ得る。一例では、圧縮コンテンツは、ビデオデータであり得る。ビデオのための圧縮方法の例には、H.263、H.264、H.264/AVC(アドバンスドビデオコーディング)、高効率ビデオコーディング(HEVC)、または他のビデオ圧縮規格が含まれ得る。圧縮されたビデオデータは、ソースデバイス20にローカルに記憶され得るか、またはネットワーク(例えば、インターネット)を通じてソースデバイス20にアクセス(例えば、ストリーミング)され得る。
【0041】
[0048] ワイヤレスディスプレイセッションがソースデバイス20上で開始されるケースにおいて、ワイヤレスディスプレイコントローラ90は、エンコーダ20、RTPカプセル化ユニット88、およびRTSPサーバユニット92と連携して(coordinate with)、シンクデバイスによって復号可能なフォーマットでデータを生成する。一例では、ワイヤレスディスプレイコントローラ90は、フレームバッファ74のコンテンツを取り出し、そのようなデータを符号化するようエンコーダ20に命令し得る。エンコーダ20は、シンクデバイスによって復号可能なフォーマットでデータを符号化する。WFD規格では、H.264コーデックが、フレームバッファのコンテンツを符号化するために使用されるが、任意の符号化スキームが使用され得る。典型的な例では、エンコーダ28は、適宜、2つの論理ストリームを符号化するように構成され得る。1つのストリームは、ビデオおよび/または画像コンテンツ用であり、1つのストリームは、オーディオコンテンツ用である。以上のように、デコーダ84を用いて圧縮コンテンツを復号することによってフレームバッファ74のコンテンツが生成された状況では、エンコーダ28によるフレームバッファコンテンツの再符号化は、トランスコーディングプロセスに等しい(amount to)。
【0042】
[0049] フレームバッファ74のコンテンツが符号化された時点で、ワイヤレスディスプレイは、さらに、RTPカプセル化ユニット88およびRTSPサーバ92と連携して、符号化されたコンテンツのパッケージングおよびタイミングを制御する。RTPカプセル化ユニット88は、ワイヤレス送信のために、符号化されたコンテンツをパッケージングする。例えば、RTPカプセル化ユニット88は、RTP規格にしたがって、符号化されたコンテンツをカプセル化するように構成され得る。RTSPサーバユニット92は、シンクデバイスとの進行中のセッションを制御するように構成される。例えば、RTSPサーバユニット92は、シンクデバイスとの進行中のワイヤレスディスプレイセッションを管理するために、TCP/IPプロトコルスタックおよび根本的なWiFiトランシーバ76を使用し得る。WiFiトランシーバ76は、IEEE802.11規格にしたがってデータを送信するように構成され得る。しかしながら、任意のタイプのワイヤレス送信技法が使用され得る。
【0043】
[0050]
図5は、本開示の技法を実装するように構成されたソースデバイスの例を示すブロック図である。具体的には、本開示は、トランスコーディングの使用なしの、ワイヤレスディスプレイ送信およびソースデバイスにおけるローカル再生のための技法を提供する。
図5は、
図4で説明されたソースデバイス20と比べて、追加のおよび改良されたモジュールを有するソースデバイス100を示す。
図4のものと同じ数値的識別子を有する
図5に示されるユニットは、上述された手法と同じ手法で動作する。ソースデバイス100の新しいおよび改良されたユニットが以下に説明されるだろう。
【0044】
[0051] 圧縮コンテンツのトランスコーディングを回避するために、ソースデバイス100は、セッションコントローラ102を含む。セッションコントローラ102は、ワイヤレスディスプレイセッションを動的に管理し、圧縮コンテンツのトランスコーディングを回避するように構成される。具体的には、セッションコントローラ102は、望ましいシンクデバイスが、圧縮コンテンツの復号に必要な能力を有することを知られている状況において、トランスコーディングを回避するために、ソースデバイスの様々な他のユニットを制御するように構成され得る。一例では、セッションコントローラ102は、シンクデバイスの復号能力を決定するように構成され得る。すなわち、セッションコントローラ102は、シンクデバイスがどの圧縮フォーマットを復号する能力があるのかを決定するように構成され得る。
【0045】
[0052] 一例では、そのような決定は、ソースデバイスに記憶されている復号可能なフォーマットのリストから行われ得る。ソースデバイスは、シンクデバイスとのワイヤレスディスプレイセッションセットアップ中に、このフォーマット情報を獲得している可能性がある。例えば、ソースデバイス100は、特定のワイヤレスディスプレイプロトコルと互換性のあるシンクデバイスによって復号可能な圧縮フォーマットのリストを記憶し得る。例えば、WFDプロトコルと互換性のあるシンクデバイスは、H.264規格にしたがって圧縮されたコンテンツを復号することができ得る。シンクデバイスは、高効率ビデオコーディング(HEVC)、H.261、H.262、H.263、MPEG−2、MPEG−4、MPEG−4/AVC、JPEG2000、VP8、VP9、等を含むがそれらに限定されない任意のビデオコーディング規格にしたがってビデオを復号する能力があり得る。
【0046】
[0053] 他の例では、セッションコントローラ102は、シンクデバイスの復号能力を決定するために、制御情報を即時(on-fly)(例えば、WiFiユニット76を通じて)交換するように構成され得る。すなわち、シンクデバイスは、どの圧縮フォーマットがシンクデバイスによって復号可能であるかを示す情報をソースデバイス100と交換し得る。
【0047】
[0054] いくつかの例では、セッションコントローラ102は、連続的にまたは間欠的に、シンクデバイスの復号能力を決定しようと試み得る。例えば、セッションコントローラ102は、ソースデバイス100のWiFiユニット76の範囲にある任意のシンクデバイスと復号能力情報を交換しようと試み得る。他の例では、セッションコントローラ102は、それに応答して、シンクデバイスの復号能力を決定しようとする試みを開始するために内部トリガをモニタリングし得る。内部トリガは、シンクデバイスとワイヤレスディスプレイ接続を確立することを求める要求(例えば、ソフトウェア要求またはユーザ要求)であり得る。具体的には、セッションコントローラ102は、ワイヤレスディスプレイセッションが圧縮コンテンツをディスプレイすることを含むとき、シンクデバイスの復号能力を決定しようと試み得る。
【0048】
[0055] シンクデバイスのコーディング能力を決定する方法に関わらず、セッションコントローラ102は、シンクデバイスの決定された復号能力が圧縮コンテンツの復号をすることができるケースにおいて、ソースデバイスからシンクデバイスへの直接的な(すなわち、トランスコーディングなしでの)圧縮コンテンツの送信を達成する(effect)ように構成される。
【0049】
[0056] シンクデバイスの復号能力の決定を受けて、セッションコントローラ102は、可能であれば、トランスコーディングなしで、符号化されたデータをシンクデバイスに送信するために、ワイヤレスディスプレイコントローラ104、ローカルプレーヤ96、ネットワークストリーミングクライアント98、およびエンコーダ128の動作をモニタリングおよび制御するように構成される。
【0050】
[0057] 第1に、ワイヤレスディスプレイセッションを開始するよう求める要求が、ローカルプレーヤアプリケーション96を通じて生成されたローカルに記憶されるコンテンツ112の送信およびディスプレイを伴う状況を考慮する。ローカルプレーヤ96は、ローカルに記憶されたコンテンツ112を復号するかまたはその復号を指示(direct)するように構成されたアプリケーションである。
図5の例では、ローカルコンテンツ112は、ローカルメモリ(例えば、
図2のメモリ22)に記憶された圧縮コンテンツである。ソースデバイス100でのローカル再生のために、ローカルプレーヤ96は、記憶されたコンテンツ112をパースするようパーサ(parser)110に命令するだろう。パーサ110は、記憶されたコンテンツを処理し、存在する(present)メタデータに基づいて、パースされたコンテンツの1つ以上のストリームを生成して、ビデオおよび/またはオーディオコンテンツを表す。次いで、パースされたコンテンツは、デコーダ108によって復号され、レンダラ106によってディスプレイプロセッサ86にレンダリングされるだろう。レンダラ106は、復号されたコンテンツと、復号されたコンテンツをレンダリングするための関連情報とをディスプレイプロセッサ86に提供する。次いで、ディスプレイプロセッサ86は、復号およびレンダリングされたコンテンツを用いて(take)、フレームバッファ74に記憶するための画素を生成する。
【0051】
[0058] シンクデバイスが、記憶されたコンテンツ112を復号する能力がないとセッションコントローラ102が決定すると、セッションコントローラ102は、フレームバッファ74のコンテンツを符号化および送信するよう、ワイヤレスディスプレイコントローラ104、RTSPサーバ92、およびエンコーダ128に命令し得る(すなわち、圧縮コンテンツはトランスコーディングされる)。エンコーダ128は、シンクデバイスによって復号可能なフォーマットでフレームバッファのコンテンツを符号化するように構成され得る。しかしながら、シンクデバイスが、記憶されたコンテンツ112を復号する能力があるとセッションコントローラ102が決定している場合、エンコーダ128を使用してフレームバッファ74のコンテンツを再符号化するというよりはむしろ、セッションコントローラ102は、パースされたコンテンツをシンクデバイスに直接ストリーミングするよう、ワイヤレスディスプレイコントローラ104およびRTSPサーバ92に命令し得る。すなわち、パースされたコンテンツは、復号されることなく、RTPカプセル化ユニット88に渡される。
図5に示されるように、記憶されたコンテンツ112は、パーサ110によってパースされた後、RTPカプセル化ユニット88に向けられる。これは、パースドパケットタップアウトモード(parsed packet tap out mode)と呼ばれ得る。他の例では、記憶されたコンテンツは、最初にパースされることなくRTPカプセル化ユニット88に向けられ得る。
【0052】
[0059] セッションコントローラ102はまた、コンテンツがシンクデバイスにどのようにルーティングされるかを変え得るトリガについてワイヤレスディスプレイセッションを継続的にモニタリングするように構成され得る。すなわち、セッションコントローラ102は、ローカルプレーヤ96および/またはワイヤレスディスプレイコントローラ104の状態および/またはアクションをモニタリングし得る。状態またはある特定のアクションの変化が生じた場合、セッションコントローラ102は、フレームバッファ(FB)モードに戻るようソースデバイス100に指示し得、これによって、エンコーダ128が、シンクデバイスへの送信のためにフレームバッファ74のコンテンツを符号化する。例えば、ユーザが、ローカルプレーヤ98による圧縮コンテンツの再生を停止し、代わりに、他のコンテンツ(例えば、非圧縮コンテンツ、またはシンクデバイスによって復号可能でないコンテンツ)のディスプレイを望む場合、セッションコントローラ102は、そのようなアクションを検出し、エンコーダ128によって符号化されたフレームバッファコンテンツを送信するようワイヤレスディスプレイコントローラ104およびRTSPサーバ102に命令し得る。
図5に示されるように、エンコーダ128の出力は、予備経路を示す点線で示される。すなわち、セッションコントローラ102は、好ましくは、トランスコーディングなしに、コンテンツをシンクデバイスに送信するように構成されるが、必要な場合には、FBモードでのトランスコーディングに切り替え得る。
【0053】
[0060] 同様に、ソースデバイス100が、FBモードでのワイヤレスディスプレイセッションに従事し、しかし、セッションコントローラ102が、シンクデバイスによって復号可能な圧縮コンテンツが送信およびディスプレイされる予定であることを検出した場合、セッションコントローラ102は、FBモードを切断し、代わりに、トランスコーディングなしで、そのようなコンテンツをカプセル化し、直接送信するようにワイヤレスディスプレイコントローラ104およびRTSPサーバ92に指示し得る。
【0054】
[0061] 上の技法はまた、ワイヤレスディスプレイセッションを通して共有されるべき圧縮コンテンツがローカルに記憶されておらず、むしろ、ネットワークソース(例えば、インターネット)からソースデバイス100において受信される(例えば、ストリーミングされる)ときに利用され得る。例えば、
図5に示されるように、ネットワークストリーミングクライアント98は、ネットワークインターフェース120を通じてソースデバイス100にストリーミングされる圧縮コンテンツを受信および再生するように構成され得る。ローカルプレーヤ96と同様に、ネットワークストリーミングクライアント98は、パースされたストリーム118を生成し、デコーダ116およびレンダラ114を使用して、圧縮コンテンツを復号し、そのような復号されたコンテンツを、ローカルディスプレイ94における最終的なディスプレイのためにディスプレイプロセッサ86に供給し得る。
【0055】
[0062] 上と同様に、最初に、ワイヤレスディスプレイセッションを開始することを求める要求が、まずネットワークインターフェース120を通じてソースデバイス100にストリーミングされ、ネットワークストリーミングクライアント98の指示で復号されるコンテンツの送信およびディスプレイを伴う状況を考慮する。ソースデバイス100でのローカルディスプレイの場合、ネットワークストリーミングクライアント98は、ネットワークインターフェース120から、パースされたストリームコンテンツを受信し、パースされたストリーム118を処理し得る。次いで、パースされたストリームは、デコーダ116によって復号され、レンダラ114によってディスプレイプロセッサ86にレンダリングされ得る。次いで、ディスプレイプロセッサ86は、復号およびレンダリングされたコンテンツを用いて、フレームバッファ74に記憶するための画素を生成し得る。
【0056】
[0063] シンクデバイスが、ネットワークストリーミングクライアント98によって受信された圧縮コンテンツを復号する能力がないとセッションコントローラ102が決定すると、セッションコントローラ102は、フレームバッファ74のコンテンツを符号化および送信するようワイヤレスディスプレイコントローラ104、RTSPサーバ92、およびエンコーダ128に命令し得る(すなわち、圧縮コンテンツはトランスコーディングされる)。しかしながら、シンクデバイスが、ネットワークストリームクライアント98を通じて受信されたコンテンツを復号する能力があるとセッションコントローラ102が決定すると、エンコーダ128使用してフレームバッファ74のコンテンツを再符号化するというよりはむしろ、セッションコントローラ102は、ネットワークインターフェース120において受信された圧縮コンテンツをシンクデバイスに直接ストリーミングするようワイヤレスディスプレイコントローラ104およびRTSPサーバ92に命令し得る。すなわち、ネットワークインターフェース120において受信された圧縮コンテンツは、復号されることなくRTPカプセル化ユニット88に向けられ得る。
図5に示されるように、パースされたストリーム118は、RTPカプセル化ユニット88に向けられる。この場合も同様に、それは、「パースドパケットタップアウト」モードと呼ばれ得る。他の例では、ネットワークインターフェース120において受信された圧縮コンテンツは、最初にパースされることなくRTPカプセル化ユニット88に向けられ得る。
【0057】
[0064] 上と同様に、セッションコントローラ102はまた、コンテンツがシンクデバイスにどのようにルーティングされるかを変え得るトリガについてワイヤレスディスプレイセッションを継続的にモニタリングするように構成され得る。すなわち、セッションコントローラ102は、ネットワークストリーミングクライアント98および/またはワイヤレスディスプレイコントローラ104の状態および/またはアクションをモニタリングし得る。状態またはある特定のアクションの変化が生じた場合、セッションコントローラ102は、フレームバッファ(FB)モードに戻るようソースデバイス100に指示し得、これによって、エンコーダ128が、シンクデバイスへの送信のためにフレームバッファ74のコンテンツを符号化する。例えば、ユーザが、ネットワークストリーミングクライアント98を通じて受信される圧縮コンテンツの再生を停止し、代わりに、他のコンテンツ(例えば、非圧縮コンテンツ、またはシンクデバイスによって復号可能でないコンテンツ)のディスプレイを望む場合、セッションコントローラ102は、そのようなアクションを検出し、エンコーダ128によって符号化されたフレームバッファコンテンツを送信するようワイヤレスディスプレイコントローラ104およびRTSPサーバ102に命令し得る。
【0058】
[0065] ワイヤレスディスプレイセッション中のトランスコーディングプロセスの開始/停止に使用されるトリガは、ソースデバイス内の複数のモジュール間に広がり得る。そのようなトリガは、ビデオ/オーディオデコーダ初期化、圧縮ファイルのローディング、ローディングまたはパーサモジュール、ディスプレイドライバのローディング、およびまたはディスプレイプロセッサの使用、の検出を含み得る。ソースデバイスは、単一のトリガおよび/または複数のトリガの組み合わせを使用し得る。
【0059】
[0066]
図6は、本開示の技法を実装するように構成されたソースデバイスの例を示すブロック図である。
図6の例では、ビデオキャプチャデバイス(例えば、カムコーダ)と機能するために本開示の技法を拡張するためのシステムが説明される。
図6に示されるように、ソースデバイス100は、カメラセンサ156、ビデオ処理エンジン(VPE)154、およびファイル記憶装置152を含み得るビデオキャプチャデバイスの動作を制御するように構成されたカムコーダアプリ150をさらに含み得る。カメラセンサ156は、ビデオを制作するための光(light)をキャプチャする能力がある任意のタイプのカメラセンサであり得る。VPE154は、カメラセンサ156からのそのキャプチャされた信号を変換して、非圧縮ビデオストリームを作成するプロセッサである。
【0060】
[0067] カムコーダを使用する現在のワイヤレスディスプレイ技法では、ユーザがカムコーダの使用を望む場合、ユーザは、ワイヤレスディスプレイセッションを停止しなければならない。ユーザは、ソースデバイスに1つのエンコーダしかない場合、カムコーダによってキャプチャされたライブビデオストリームをリモートディスプレイに送ることができない。このように、ユーザがワイヤレスディスプレイセッションを停止しなければならないか、または、複数のエンコーダが、ソースデバイスに含まれなければならないかのいずれかである。
【0061】
[0068] この欠点に対処するために、本開示は、セッションコントローラ102が、カムコーダアプリ150と連携した技法を提案する。ユーザがカムコーダアプリ100を用いてビデオレコーディングを開始すると、セッションコントローラ102は、フレームバッファ72からのコンテンツの符号化を停止するようWi−Dispコントローラ104に命令するだろう。代わりに、エンコーダ128は、カムコーダ処理に割り振られるだろう。このように、キャプチャされたビデオは、符号化され、ファイル記憶装置152に記憶されるだろう。一方で、Wi−Dispコントローラ104(または、同様のモジュール)は、エンコーダ128の出力をタップし、それをリモートディスプレイ(すなわち、シンクデバイス)に送り得る。一例では、セッションコントローラ102は、シンクデバイスもサポートする符号化フォーマット(例えば、H.264、等)を選択するようカムコーダアプリ150を制御するように構成され得る。ローカルディスプレイ経路は、通常のコースを辿り(take)得る。
【0062】
[0069] このアプローチは、多数のハードウェアおよび/またはソフトウェアコーデックがソースデバイスにおいて必要とされる必要性を減らし、ユーザがビデオキャプチャ(例えば、カムコーダ)アプリケーションを起動した場合にワイヤレスディスプレイセッションを強制的に停止する必要性(forceful need to stop)を回避するのに役立ち、バッテリ寿命含む処理リソースを節約する。
【0063】
[0070]
図7は、本開示の例となる方法を描写するフローチャートである。
図7の技法は、ソースデバイス100のセッションコントローラ102を含む、ソースデバイスの1つ以上のハードウェアおよび/またはソフトウェアユニットによって実行され得る。
【0064】
[0071] 本開示の一例では、ソースデバイス100は、シンクデバイスの復号能力を決定し(700)、ワイヤレスディスプレイセッション中にシンクデバイスにおいて圧縮コンテンツをディスプレイするよう求める要求を受信する(702)ように構成され得る。シンクデバイスの復号能力が、圧縮コンテンツの復号をすることができるケース(704)において、ソースデバイス100は、ソースデバイスからシンクデバイスに圧縮コンテンツを送信し(706)、これによって、ソースデバイスにおいて圧縮コンテンツをトランスコーディングすることが回避されるようにさらに構成される。すなわち、ワイヤレスディスプレイセッション中にトランスコーディングがすでに発生している場合、シンクデバイスの復号能力が圧縮コンテンツの復号をすることができるケースにおいて、ソースデバイス100は、圧縮コンテンツをシンクデバイスに送信するためのソースデバイスにおけるトランスコーディングプロセスを停止するように構成され得る。
【0065】
[0072] いくつかの例では、ソースデバイス100は、圧縮コンテンツをローカルに再生するようにさらに構成され得る。このケースでは、ソースデバイス100は、ソースデバイスにおいて圧縮コンテンツを復号して、復号されたコンテンツを作成し、この復号されたコンテンツをソースデバイスにおいて記憶し、シンクデバイスに送信された圧縮コンテンツのディスプレイとほぼ同時に、復号されたコンテンツをソースデバイスにおいてディスプレイするように構成され得る。
【0066】
[0073] シンクデバイスの復号能力が、圧縮コンテンツの復号をすることができないケース(704)において、ソースデバイス100は、シンクデバイスによって復号可能なフォーマットで、復号されたコンテンツを符号化して、トランスコーディングされたコンテンツを作成し(708)、トランスコーディングされたコンテンツをソースデバイスからシンクデバイスに送信する(710)ようにさらに構成され得る。
【0067】
[0074]
図8は、本開示の別の例となる方法を描写するフローチャートである。この場合も同様に、
図8の技法は、ソースデバイス100のセッションコントローラ102を含む、ソースデバイスの1つ以上のハードウェアおよび/またはソフトウェアユニットによって実行され得る。
【0068】
[0075] 一例では、ソースデバイス100は、ワイヤレスディスプレイセッションをモニタリングし(800)、ワイヤレスディスプレイセッションに関するトリガリングイベントを検出する(802)ように構成され得る。いくつかの例では、ソースデバイス100は、トリガリングイベントに応答して、コンテンツをシンクデバイスに送信するためのソースデバイスにおけるトランスコーディングプロセスを停止する(804)ように構成され得る。例えば、ディスプレイされることとなる圧縮コンテンツが、シンクデバイスによって復号可能である場合である。他の例では、ソースデバイス100は、トリガリングイベントに応答して、コンテンツをシンクデバイスに送信するためのソースデバイスにおけるトランスコーディングプロセスを開始する(804)ように構成され得る。例えば、ディスプレイされることとなる圧縮コンテンツが、シンクデバイスによって復号可能ではない場合である。
【0069】
[0076] いくつかの例では、ワイヤレスディスプレイセッションをモニタリングすることは、ローカル再生ステータスをモニタリングすること、ビデオデコーダステータスをモニタリングすること、シンクデバイスの復号能力をモニタリングすること、ワイヤレスディスプレイコントローラステータスをモニタリングすること、およびネットワークストリーミングクライアントステータスをモニタリングすること、のうち1つ以上を含む。トリガリングイベントは、ビデオ/オーディオデコーダ初期化、圧縮ファイルのローディング、ローディングまたはパーサモジュール、ディスプレイドライバのローディング、およびディスプレイプロセッサの使用、のうち1つ以上を含み得る。
【0070】
[0077] 1つ以上の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせで実装され得る。ソフトウェアで実装される場合、これら機能は、コンピュータ可読媒体において、1つ以上の命令またはコードとして、記憶または送信さ得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの移送を容易にする任意の媒体を含む通信媒体またはコンピュータデータ記憶媒体の両方を含み得る。いくつかの例では、コンピュータ可読媒体は、非一時的なコンピュータ可読媒体を備え得る。データ記憶媒体は、本開示で説明された技法を実装するための命令、コード、および/またはデータ構造を取り出すために、1つ以上のコンピュータまたは1つ以上のプロセッサによってアクセス可能な任意の利用可能な媒体であり得る。
【0071】
[0078] 限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、フラッシュメモリ、あるいはデータ構造または命令の形式で所望のプログラムコードを記憶または搬送するために使用されることができ、かつコンピュータによってアクセス可能な任意の他の媒体のような、非一時的な媒体を備え得る。また、任意の接続は厳密にはコンピュータ可読媒体と称され得る。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイディスクを含み、ここでディスク(disk)は通常磁気的にデータを再生し、ディスク(disc)は、レーザーを用いて光学的にデータを再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【0072】
[0079] コードは、1つ以上のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価的な集積回路またはディスクリートな論理回路のような1つ以上のプロセッサによって実行され得る。したがって、本明細書で使用される場合、「プロセッサ」という用語は、前述の構造、または本明細書で説明された技法の実装に適した任意の他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明された機能性は、符号化および復号のために構成された専用のハードウェアモジュールおよび/またはソフトウェアモジュールに設けられ得るか、または、組み合わせられたコーデックに組み込まれ得る。また、本技法は、1つ以上の回路または論理要素に完全に実装され得る。
【0073】
[0080] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(例えば、チップセット)を含む、幅広い種類のデバイスまたは装置において実装され得る。本開示では、開示された技法を行うように構成されたデバイスの機能的な態様を強調するために様々な構成要素、モジュール、またはユニットが説明されているが、必ずしも異なるハードウェアユニットによる実装を必要としているわけではない。むしろ、上述したように、様々なユニットは、コデックハードウェアユニットへと組み合わせられ得るか、または上述された1つ以上のプロセッサを含む、相互動作するハードウェアユニットの集合によって、適切なソフトウェアおよび/またはファームウェアと併せて提供され得る。
【0074】
[0081] 本発明の様々な実施形態が説明されている。これらの実施形態および他の実施形態は、以下の特許請求の範囲の範囲内である。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1]
圧縮コンテンツのワイヤレスディスプレイのための方法であって、
シンクデバイスの復号能力をソースデバイスが決定することと、
ワイヤレスディスプレイセッション中に前記シンクデバイスにおいて圧縮コンテンツをディスプレイするよう求める要求を前記ソースデバイスが受信することと、
前記シンクデバイスの前記復号能力が、前記圧縮コンテンツの復号をすることができるケースにおいて、前記ソースデバイスから前記シンクデバイスに前記圧縮コンテンツを送信し、これによって、前記ソースデバイスにおいて前記圧縮コンテンツをトランスコーディングすることが回避されることと、
を備える方法。
[C2]
復号されたコンテンツを作成するために前記ソースデバイスにおいて前記圧縮コンテンツを復号することと、
前記ソースデバイスにおいて前記復号されたコンテンツを記憶することと、
前記シンクデバイスに送信された前記圧縮コンテンツのディスプレイとほぼ同時に、前記ソースデバイスにおいて前記復号されたコンテンツをディスプレイすることと
をさらに備える、C1に記載の方法。
[C3]
前記シンクデバイスの前記復号能力が、前記圧縮コンテンツの復号をすることができないケースにおいて、前記方法は、
トランスコーディングされたコンテンツを作成するために、前記シンクデバイスによって復号可能なフォーマットで前記復号されたコンテンツを符号化することと、
前記トランスコーディングされたコンテンツを前記ソースデバイスからシンクデバイスに送信することと
をさらに備える、C2に記載の方法。
[C4]
前記シンクデバイスの前記復号能力が前記圧縮コンテンツの復号をすることができるケースにおいて、前記圧縮コンテンツを前記シンクデバイスに送信するための前記ソースデバイスにおけるトランスコーディングプロセスを停止すること
をさらに備える、C1に記載の方法。
[C5]
圧縮コンテンツのワイヤレスディスプレイのための方法であって、
ワイヤレスディスプレイセッションをモニタリングすることと、
前記ワイヤレスディスプレイセッションに関するトリガリングイベントを検出することと
を備える方法。
[C6]
前記トリガリングイベントに応答して、コンテンツをシンクデバイスに送信するためのソースデバイスにおけるトランスコーディングプロセスを停止すること
をさらに備える、C5に記載の方法。
[C7]
前記トリガリングイベントに応答して、コンテンツをシンクデバイスに送信するためのソースデバイスにおけるトランスコーディングプロセスを開始すること
をさらに備える、C5に記載の方法。
[C8]
前記ワイヤレスディスプレイセッションをモニタリングすることは、ローカル再生ステータスをモニタリングすること、ビデオデコーダステータスをモニタリングすること、前記シンクデバイスの復号能力をモニタリングすること、ワイヤレスディスプレイコントローラステータスをモニタリングすること、カムコーダアプリケーションステータスをモニタリングすること、およびネットワークストリーミングクライアントステータスをモニタリングすること、のうちの1つ以上を含む、C5に記載の方法。
[C9]
前記トリガリングイベントは、ビデオ/オーディオデコーダ初期化、圧縮ファイルのローディング、ローディングまたはパーサモジュール、ディスプレイドライバのローディング、およびディスプレイプロセッサの使用、のうちの1つ以上を含む、C5に記載の方法。
[C10]
圧縮コンテンツの前記ワイヤレスディスプレイのために構成された装置であって、
シンクデバイスの復号能力をソースデバイスによって決定するための手段と、
ワイヤレスディスプレイセッション中に前記シンクデバイスにおいて圧縮コンテンツをディスプレイするよう求める要求を前記ソースデバイスによって受信するための手段と、
前記シンクデバイスの前記復号能力が前記圧縮コンテンツの復号をすることができるケースにおいて、前記ソースデバイスから前記シンクデバイスに前記圧縮コンテンツを送信し、これによって、前記ソースデバイスにおいて前記圧縮コンテンツをトランスコーディングすることが回避されるための手段と
を備える装置。
[C11]
復号されたコンテンツを作成するために、前記ソースデバイスにおいて前記圧縮コンテンツを復号するための手段と、
前記ソースデバイスにおいて前記復号されたコンテンツを記憶するための手段と、
前記シンクデバイスに送信された前記圧縮コンテンツのディスプレイとほぼ同時に、前記ソースデバイスにおいて前記復号されたコンテンツをディスプレイするための手段と
をさらに備える、C10に記載の装置。
[C12]
前記シンクデバイスの前記復号能力が、前記圧縮コンテンツの復号をすることができないケースにおいて、前記装置は、
トランスコーディングされたコンテンツを作成するために、前記シンクデバイスが復号可能なフォーマットで前記復号されたコンテンツを符号化するための手段と、
前記トランスコーディングされたコンテンツを前記ソースデバイスからシンクデバイスに送信するための手段と
をさらに備える、C11に記載の装置。
[C13]
前記シンクデバイスの前記復号能力が前記圧縮コンテンツの復号をすることができるケースにおいて、前記圧縮コンテンツを前記シンクデバイスに送信するための前記ソースデバイスにおけるトランスコーディングプロセスを停止するための手段
をさらに備える、C10に記載の装置。
[C14]
圧縮コンテンツのワイヤレスディスプレイのための装置であって、
ワイヤレスディスプレイセッションをモニタリングするための手段と、
前記ワイヤレスディスプレイセッションに関するトリガリングイベントを検出するための手段と
を備える装置。
[C15]
前記トリガリングイベントに応答して、コンテンツをシンクデバイスに送信するためのソースデバイスにおけるトランスコーディングプロセスを停止するための手段
をさらに備える、C14に記載の装置。
[C16]
前記トリガリングイベントに応答して、コンテンツをシンクデバイスに送信するためのソースデバイスにおけるトランスコーディングプロセスを開始するための手段
をさらに備える、C14に記載の装置。
[C17]
前記ワイヤレスディスプレイセッションをモニタリングするための前記手段は、ローカル再生ステータスをモニタリングするための手段、ビデオデコーダステータスをモニタリングするための手段、前記シンクデバイスの復号能力をモニタリングするための手段、ワイヤレスディスプレイコントローラステータスをモニタリングするための手段、カムコーダアプリケーションステータスをモニタリングするための手段、およびネットワークストリーミングクライアントステータスをモニタリングするための手段、のうちの1つ以上を含む、C14に記載の装置。
[C18]
前記トリガリングイベントは、ビデオ/オーディオデコーダ初期化、圧縮ファイルのローディング、ローディングまたはパーサモジュール、ディスプレイドライバのローディング、およびディスプレイプロセッサの使用、のうちの1つ以上を含む、C14に記載の装置。
[C19]
圧縮コンテンツのワイヤレスディスプレイのために構成された装置であって、
1つ以上のプロセッサを備え、前記1つ以上のプロセッサは、
シンクデバイスの復号能力をソースデバイスによって決定することと、
ワイヤレスディスプレイセッション中に前記シンクデバイスにおいて圧縮コンテンツをディスプレイするよう求める要求を前記ソースデバイスによって受信することと、
前記シンクデバイスの前記復号能力が、前記圧縮コンテンツの復号をすることができるケースにおいて、前記ソースデバイスから前記シンクデバイスに前記圧縮コンテンツを送信し、これによって、前記ソースデバイスにおいて前記圧縮コンテンツをトランスコーディングすることが回避されること、と、
を行うように構成される、装置。
[C20]
前記1つ以上のプロセッサは、
復号されたコンテンツを作成するために、前記ソースデバイスにおいて前記圧縮コンテンツを復号することと、
前記ソースデバイスにおいて前記復号されたコンテンツを記憶することと、
前記シンクデバイスに送信された前記圧縮コンテンツのディスプレイとほぼ同時に、前記ソースデバイスにおいて前記復号されたコンテンツをディスプレイすることと
を行うようにさらに構成される、C19に記載の装置。
[C21]
前記シンクデバイスの前記復号能力が、前記圧縮コンテンツの復号をすることができないケースにおいて、前記1つ以上のプロセッサは、
トランスコーディングされたコンテンツを作成するために、前記シンクデバイスが復号可能なフォーマットで前記復号されたコンテンツを符号化することと、
前記トランスコーディングされたコンテンツを前記ソースデバイスからシンクデバイスに送信することと
を行うようにさらに構成される、C20に記載の装置。
[C22]
前記1つ以上のプロセッサは、
前記シンクデバイスの前記復号能力が前記圧縮コンテンツの復号をすることができるケースにおいて、前記圧縮コンテンツを前記シンクデバイスに送信するための前記ソースデバイスにおけるトランスコーディングプロセスを停止すること
を行うようにさらに構成される、C19に記載の装置。
[C23]
圧縮コンテンツのワイヤレスディスプレイのために構成された装置であって、
1つ以上のプロセッサを備え、前記1つ以上のプロセッサは、
ワイヤレスディスプレイセッションをモニタリングすることと、
前記ワイヤレスディスプレイセッションに関するトリガリングイベントを検出することと
を行うように構成される、装置。
[C24]
前記1つ以上のプロセッサは、
前記トリガリングイベントに応答して、コンテンツをシンクデバイスに送信するためのソースデバイスにおけるトランスコーディングプロセスを停止すること
を行うようにさらに構成される、C23に記載の装置。
[C25]
前記1つ以上のプロセッサは、
前記トリガリングイベントに応答して、コンテンツをシンクデバイスに送信するためのソースデバイスにおけるトランスコーディングプロセスを開始すること
を行うようにさらに構成される、C23に記載の装置。
[C26]
前記ワイヤレスディスプレイセッションをモニタリングすることは、ローカル再生ステータスをモニタリングすること、ビデオデコーダステータスをモニタリングすること、前記シンクデバイスの復号能力をモニタリングすること、ワイヤレスディスプレイコントローラステータスをモニタリングすること、カムコーダアプリケーションステータスをモニタリングすること、およびネットワークストリーミングクライアントステータスをモニタリングすること、のうちの1つ以上を含む、C23に記載の装置。
[C27]
前記トリガリングイベントは、ビデオ/オーディオデコーダ初期化、圧縮ファイルのローディング、ローディングまたはパーサモジュール、ディスプレイドライバのローディング、およびディスプレイプロセッサの使用、のうちの1つ以上を含む、C23に記載の装置。
[C28]
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されると、
シンクデバイスの復号能力をソースデバイスによって決定することと、
ワイヤレスディスプレイセッション中に前記シンクデバイスにおいて圧縮コンテンツをディスプレイするよう求める要求を前記ソースデバイスによって受信することと、
前記シンクデバイスの前記復号能力が、前記圧縮コンテンツの復号をすることができるケースにおいて、前記ソースデバイスから前記シンクデバイスに前記圧縮コンテンツを送信し、これによって、前記ソースデバイスにおいて前記圧縮コンテンツをトランスコーディングすることが回避されることと
を、圧縮コンテンツのワイヤレスディスプレイのために構成された1つ以上のプロセッサに行わせる、コンピュータ可読記憶媒体。
[C29]
前記命令は、さらに、
復号されたコンテンツを作成するために、前記ソースデバイスにおいて前記圧縮コンテンツを復号することと、
前記ソースデバイスにおいて前記復号されたコンテンツを記憶することと、
前記シンクデバイスに送信された前記圧縮コンテンツのディスプレイとほぼ同時に、前記ソースデバイスにおいて前記復号されたコンテンツをディスプレイすることと
を前記1つ以上のプロセッサに行わせる、C28に記載のコンピュータ可読記憶媒体。
[C30]
前記シンクデバイスの前記復号能力が、前記圧縮コンテンツの復号をすることができないケースにおいて、前記命令は、
トランスコーディングされたコンテンツを作成するために、前記シンクデバイスによって復号可能なフォーマットで前記復号されたコンテンツを符号化することと、
前記トランスコーディングされたコンテンツを前記ソースデバイスからシンクデバイスに送信することと
を前記1つ以上のプロセッサに行わせる、C29に記載のコンピュータ可読記憶媒体。
[C31]
前記命令は、さらに、
前記シンクデバイスの前記復号能力が前記圧縮コンテンツの復号をすることができるケースにおいて、前記圧縮コンテンツを前記シンクデバイスに送信するための前記ソースデバイスにおけるトランスコーディングプロセスを停止すること
を前記1つ以上のプロセッサに行わせる、C28に記載のコンピュータ可読記憶媒体。
[C32]
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されると、
ワイヤレスディスプレイセッションをモニタリングすることと、
前記ワイヤレスディスプレイセッションに関するトリガリングイベントを検出することと
を、圧縮コンテンツのワイヤレスディスプレイのために構成された1つ以上のプロセッサに行わせる、コンピュータ可読記憶媒体。
[C33]
前記命令は、さらに
前記トリガリングイベントに応答して、コンテンツをシンクデバイスに送信するためのソースデバイスにおけるトランスコーディングプロセスを停止すること
を、前記1つ以上のプロセッサに行わせる、C32に記載のコンピュータ可読記憶媒体。
[C34]
前記命令は、さらに、
前記トリガリングイベントに応答して、コンテンツをシンクデバイスに送信するためのソースデバイスにおけるトランスコーディングプロセスを開始すること
を、前記1つ以上のプロセッサに行わせる、C32に記載のコンピュータ可読記憶媒体。
[C35]
前記ワイヤレスディスプレイセッションをモニタリングすることは、ローカル再生ステータスをモニタリングすること、ビデオデコーダステータスをモニタリングすること、前記シンクデバイスの復号能力をモニタリングすること、ワイヤレスディスプレイコントローラステータスをモニタリングすること、カムコーダアプリケーションステータスをモニタリングすること、およびネットワークストリーミングクライアントステータスをモニタリングすること、のうちの1つ以上を含む、C32に記載のコンピュータ可読記憶媒体。
[C36]
前記トリガリングイベントは、ビデオ/オーディオデコーダ初期化、圧縮ファイルのローディング、ローディングまたはパーサモジュール、ディスプレイドライバのローディング、およびディスプレイプロセッサの使用、のうちの1つ以上を含む、C32に記載のコンピュータ可読記憶媒体。