(57)【要約】  ワイヤレスソースと、ワイヤレスシンクデバイスとして機能するように構成された自動車ダッシュボードとが、互いに通信するように構成され、ダッシュボードシンクとの通信のためにソースデバイスを認証することと、ユーザがソースデバイスを制御し、ソースデバイスからダッシュボードシンクに送信されているコンテンツとインタラクトし、それを制御することを可能にするために、ダッシュボードシンクにおいて受信されたユーザ入力をワイヤレスソースデバイスに送信することと、ダッシュボードシンクが配置された自動車の動作状態に基づいてソースデバイスの動作状態を制御することと、ソースデバイスがデータの少なくとも一部を処理することを可能にするために、ダッシュボードシンクからソースデバイスに、自動車によって生成されたデータを送信することとを含む。【選択図】図１７
2015512171.tif 000002
【特許請求の範囲】
【請求項１】
ワイヤレスシンクデバイスとして機能するように構成された乗り物ダッシュボードからワイヤレスソースデバイスにユーザ入力データを送信する方法であって、前記方法は、
前記ダッシュボードのディスプレイデバイスにおいてユーザ入力データを取得することと、
データパケットヘッダを生成することと、ここで、前記データパケットヘッダは、前記ユーザ入力データの入力カテゴリーを識別するためのフィールドを備える、
前記データパケットヘッダとペイロードデータとを備えるデータパケットを生成することと、
前記データパケットを前記ワイヤレスソースデバイスに送信することと
を備える、方法。
【請求項２】
前記ダッシュボードが、前記ソースデバイスからヘッダとペイロードデータとを備えるデータパケットを受信することと、ここで、前記ペイロードデータは、符号化ビデオデータを備える、
前記ダッシュボードのビデオデコーダが、前記符号化ビデオデータを復号することと、
前記復号されたビデオデータに基づいて、前記ソースデバイス上に常駐する少なくとも１つのアプリケーションのグラフィカルユーザインターフェースをレンダリングすることと、
前記ダッシュボードの前記ディスプレイデバイスにおいて、前記グラフィカルユーザインターフェースを出力することと
をさらに備える、請求項１に記載の方法。
【請求項３】
前記ユーザ入力データは、前記ソースデバイス上に常駐する前記少なくとも１つのアプリケーションの前記グラフィカルユーザインターフェースとの前記ダッシュボードの前記ディスプレイデバイスにおけるユーザインタラクトを示すデータを備える、
請求項２に記載の方法。
【請求項４】
前記ユーザ入力データは、前記ソースデバイス上に常駐する１つまたは複数のアプリケーションとの前記ダッシュボードの前記ディスプレイデバイスにおけるユーザインタラクトを示すデータを備える、
請求項１に記載の方法。
【請求項５】
前記ダッシュボードが、前記ソースデバイスから認証キーを備えるデータを受信することと、
前記認証キーに基づいて前記ソースデバイスとの通信セッションを開くべきかどうかを判断することと、
前記ダッシュボードとの通信のために、前記ソースデバイスが認証されたことを示すメッセージを前記ソースデバイスに送信することと
をさらに備える、請求項１に記載の方法。
【請求項６】
前記ダッシュボードが、前記認証キーを備えるデータを受信することは、前記ダッシュボードが、前記ソースデバイスから前記認証キーを備える暗号化データを受信することを備え、前記データを解読することをさらに備える、
請求項５に記載の方法。
【請求項７】
チャレンジキーを備えるデータを前記ワイヤレスソースデバイスに送信することをさらに備え、前記認証キーが、前記チャレンジキーを備える前記データの少なくとも一部に関連付けられる、
請求項５に記載の方法。
【請求項８】
前記ダッシュボードが、前記ソースデバイスの動作状態が乗り物の動作状態に基づいて設定されるように前記ダッシュボードが配置された前記乗り物の前記動作状態を示すメッセージを、前記ソースデバイスに送信することをさらに備える、
請求項１に記載の方法。
【請求項９】
前記メッセージは、前記乗り物が移動していることを示し、前記ダッシュボードが、前記ソースデバイスに前記ソースデバイスの１つまたは複数の機能へのアクセスを制限させるように構成されたコマンドを、前記ソースデバイスに送信することをさらに備える、
請求項８に記載の方法。
【請求項１０】
前記コマンドは、前記ソースデバイスに電話発呼、テキストメッセージング、および電子メール機能のうちの少なくとも１つを備える１つまたは複数のユーザ機能へのアクセスを制限させるように構成される、
請求項９に記載の方法。
【請求項１１】
前記ダッシュボードが、前記ダッシュボードが配置された乗り物の前記動作に関係するデータを取得することと、
前記乗り物の前記動作に関係する前記データを前記ソースデバイスに送信することと
をさらに備える、請求項１に記載の方法。
【請求項１２】
前記乗り物の前記動作に関係する前記データは、乗り物速度、加速度、制動、ガスマイレージ、エラーコード、および診断データのうちの少なくとも１つを備える、
請求項１１に記載の方法。
【請求項１３】
前記乗り物は、自動車を備える、
請求項１に記載の方法。
【請求項１４】
ワイヤレスシンクデバイスとして機能し、ワイヤレスソースデバイスにユーザ入力データを送信するように構成された乗り物ダッシュボードであって、前記ダッシュボードは、
命令を記憶するメモリと、
ユーザ入力データを取得するように構成されたディスプレイデバイスと、
前記命令を実行するように構成された１つまたは複数のプロセッサと、ここで、前記命令の実行時に前記１つまたは複数のプロセッサが、
データパケットヘッダを生成することと、ここで、前記データパケットヘッダは、前記ユーザ入力データの入力カテゴリーを識別するためのフィールドを備える、
前記データパケットヘッダとペイロードデータとを備えるデータパケットを生成することと
を引き起こす、１つまたは複数のプロセッサと、
前記データパケットを前記ワイヤレスソースデバイスに送信するためのトランスポートユニットと
を備える、乗り物ダッシュボード。
【請求項１５】
ビデオデコーダをさらに備え、前記トランスポートユニットは、前記ソースデバイスからヘッダとペイロードデータとを備えるデータパケットを受信し、前記ペイロードデータが符号化ビデオデータを備え、前記ダッシュボードの前記ビデオデコーダが前記符号化ビデオデータを復号し、前記命令の実行時に前記１つまたは複数のプロセッサが、
前記復号されたビデオデータに基づいて、前記ソースデバイス上に常駐する少なくとも１つのアプリケーションのグラフィカルユーザインターフェースをレンダリングすることと、
前記ディスプレイデバイスにおいて前記グラフィカルユーザインターフェースを出力することと
を引き起こす、請求項１４に記載の乗り物ダッシュボード。
【請求項１６】
前記ユーザ入力データは、前記ソースデバイス上に常駐する前記少なくとも１つのアプリケーションの前記グラフィカルユーザインターフェースとの前記ダッシュボードの前記ディスプレイデバイスにおけるユーザインタラクトを示すデータを備える、
請求項１５に記載の乗り物ダッシュボード。
【請求項１７】
前記ユーザ入力データは、前記ソースデバイス上に常駐する１つまたは複数のアプリケーションとの前記ダッシュボードの前記ディスプレイデバイスにおけるユーザインタラクトを示すデータを備える、
請求項１４に記載の乗り物ダッシュボード。
【請求項１８】
前記トランスポートユニットが、前記ソースデバイスから認証キーを備えるデータを受信することと、
前記命令の実行時に前記１つまたは複数のプロセッサが、前記認証キーに基づいて前記ソースデバイスとの通信セッションを開くべきかどうかを判断することを引き起こすことと、
前記トランスポートユニットが、前記ダッシュボードとの通信のために、前記ソースデバイスが認証されたことを示すメッセージを、前記ソースデバイスに送信することと
をさらに備える、請求項１４に記載の乗り物ダッシュボード。
【請求項１９】
前記トランスポートユニットが、前記ソースデバイスから認証キーを備える暗号化データを受信することをさらに備え、前記命令の実行時に前記１つまたは複数のプロセッサが、前記データを解読することを引き起こす、
請求項１８に記載の乗り物ダッシュボード。
【請求項２０】
前記トランスポートユニットは、チャレンジキーを備えるデータを前記ワイヤレスソースデバイスに送信し、前記認証キーが、前記チャレンジキーを備える前記データの少なくとも一部に関連付けられる、
請求項１８に記載の乗り物ダッシュボード。
【請求項２１】
前記トランスポートユニットは、前記ソースデバイスの動作状態が乗り物の動作状態に基づいて設定されるように前記ダッシュボードが配置された前記乗り物の前記動作状態を示すメッセージを、前記ソースデバイスに送信することをさらに備える、請求項１４に記載の乗り物ダッシュボード。
【請求項２２】
前記メッセージは、前記乗り物が移動していることを示し、前記トランスポートユニットが、前記ソースデバイスに前記ソースデバイスの１つまたは複数の機能へのアクセスを制限させるように構成されたコマンドを前記ソースデバイスに送信することをさらに備える、
請求項２１に記載の乗り物ダッシュボード。
【請求項２３】
前記コマンドは、前記ソースデバイスに電話発呼、テキストメッセージング、および電子メール機能のうちの少なくとも１つを備える１つまたは複数のユーザ機能へのアクセスを制限させるように構成される、
請求項２２に記載の乗り物ダッシュボード。
【請求項２４】
前記命令の実行時に前記１つまたは複数のプロセッサが、前記ダッシュボードが配置された乗り物の前記動作に関係するデータを取得することを引き起こすことと、
前記トランスポートユニットが、前記乗り物の前記動作に関係する前記データを前記ソースデバイスに送信することと
をさらに備える、請求項１４に記載の乗り物ダッシュボード。
【請求項２５】
前記乗り物の前記動作に関係する前記データは、乗り物速度、加速度、制動、ガスマイレージ、エラーコード、および診断データのうちの少なくとも１つを備える、
請求項２４に記載の乗り物ダッシュボード。
【請求項２６】
前記乗り物は、自動車を備える、
請求項１に記載の乗り物ダッシュボード。
【請求項２７】
１つまたは複数のプロセッサによって実行されると、ワイヤレスシンクデバイスとして機能するように構成された乗り物ダッシュボードからワイヤレスソースデバイスにユーザ入力データを送信する方法を実行することを前記１つまたは複数のプロセッサに行わせる、命令を記憶するコンピュータ可読記憶媒体であって、前記方法は、
前記ダッシュボードのディスプレイデバイスにおいてユーザ入力データを取得することと、
データパケットヘッダを生成することと、ここで、前記データパケットヘッダは、前記ユーザ入力データの入力カテゴリーを識別するためのフィールドを備える、
前記データパケットヘッダとペイロードデータとを備えるデータパケットを生成することと、
前記データパケットを前記ワイヤレスソースデバイスに送信することと
を備える、コンピュータ可読記憶媒体。
【請求項２８】
ワイヤレスシンクデバイスとして機能し、ワイヤレスソースデバイスにユーザ入力データを送信するように構成された乗り物ダッシュボードであって、前記ワイヤレスシンクデバイスは、
前記ダッシュボードのディスプレイデバイスにおいてユーザ入力データを取得するための手段と、
データパケットヘッダを生成するための手段と、ここで、前記データパケットヘッダは、前記ユーザ入力データの入力カテゴリーを識別するためのフィールドを備える、
前記データパケットヘッダとペイロードデータとを備えるデータパケットを生成するための手段と、
前記データパケットを前記ワイヤレスソースデバイスに送信するための手段と
を備える、乗り物ダッシュボード。
【請求項２９】
ワイヤレスソースデバイスにおいて、ワイヤレスシンクデバイスとして機能するように構成された乗り物ダッシュボードからユーザ入力データを受信する方法であって、前記方法は、
前記ダッシュボードからデータパケットを受信することと、ここで、前記データパケットは、データパケットヘッダとペイロードデータとを備える、
前記ペイロードデータ中に含まれているユーザ入力データに関連付けられた入力カテゴリーを判断するために前記データパケットヘッダをパースすることと、
前記判断された入力カテゴリーに基づいて前記ペイロードデータを処理することと
を備える、方法。
【請求項３０】
前記ソースデバイスが、前記ソースデバイス上に常駐する少なくとも１つのアプリケーションのグラフィカルユーザインターフェースを備えるビデオデータをキャプチャすることと、
前記ソースデバイスのビデオエンコーダが前記ビデオデータを符号化することと、
ヘッダとペイロードデータとを備えるデータパケットを前記ダッシュボードに送信することと
をさらに備え、前記ペイロードデータは、前記符号化ビデオデータを備える、
請求項２９に記載の方法。
【請求項３１】
前記ユーザ入力データが、前記ソースデバイス上に常駐する前記少なくとも１つのアプリケーションの前記グラフィカルユーザインターフェースとの前記ダッシュボードのディスプレイデバイスにおけるユーザインタラクトを示すデータを備える、
請求項３０に記載の方法。
【請求項３２】
前記ユーザ入力データが、前記ソースデバイス上に常駐する１つまたは複数のアプリケーションとの前記ダッシュボードのディスプレイデバイスにおけるユーザインタラクトを示すデータを備える、
請求項２９に記載の方法。
【請求項３３】
前記ソースデバイスから前記ダッシュボードに認証キーを備えるデータを送信することと、ここで、前記ダッシュボードは、前記認証キーに基づいて前記ソースデバイスとの通信セッションを開くべきかどうかを判断するように構成される、
前記ソースデバイスが、前記ダッシュボードから、前記ダッシュボードとの通信のために、前記ソースデバイスが認証されたことを示すメッセージを受信することと
をさらに備える、請求項２９に記載の方法。
【請求項３４】
前記ソースデバイスが、前記認証キーを備える前記データを暗号化することをさらに備え、前記ダッシュボードは、前記データを解読するように構成される、
請求項３３に記載の方法。
【請求項３５】
前記ソースデバイスは、前記ダッシュボードからチャレンジキーを備えるデータを受信することをさらに備え、前記認証キーは、前記チャレンジキーを備える前記データの少なくとも一部に関連付けられる、
請求項３３に記載の方法。
【請求項３６】
前記ソースデバイスは、前記ダッシュボードから、前記ダッシュボードが配置された乗り物の動作状態を示すメッセージを受信することと、
前記乗り物の前記動作状態に基づいて前記ソースデバイスの動作状態を設定することと
をさらに備える、請求項２９に記載の方法。
【請求項３７】
前記メッセージは、前記乗り物が移動していることを示し、前記乗り物が移動している間、前記ソースデバイスの１つまたは複数の機能へのアクセスを制限することをさらに備える、
請求項３６に記載の方法。
【請求項３８】
前記ソースデバイスの１つまたは複数の機能へのアクセスを制限することは、電話発呼、テキストメッセージング、および電子メール機能のうちの少なくとも１つを備える１つまたは複数のユーザ機能へのアクセスを制限することを備える、
請求項３７に記載の方法。
【請求項３９】
前記ソースデバイスが、前記ダッシュボードからメッセージを受信することと、ここで、前記メッセージは、前記ダッシュボードが配置された前記乗り物の前記動作に関係するデータを備える、
前記ソースデバイスが、前記ダッシュボードによって送信された前記メッセージ中の前記データの少なくとも一部を処理することと
をさらに備える、請求項２９に記載の方法。
【請求項４０】
前記乗り物の前記動作に関係する前記データが、乗り物速度、加速度、制動、ガスマイレージ、エラーコード、および診断データのうちの少なくとも１つを備える、
請求項３９に記載の方法。
【請求項４１】
前記ソースデバイスが、前記データの少なくとも一部を処理することは、前記ソースデバイスが、乗り物ガスマイレージデータを乗り物速度、加速度、および制動データのうちの少なくとも１つに相関させることを備える、
請求項４０に記載の方法。
【請求項４２】
前記ソースデバイスが、前記データの少なくとも一部を処理することは、前記ソースデバイスが、前記ダッシュボードが配置された前記乗り物にサービスについての電子要求を自動的に送信することを備える、
請求項４０に記載の方法。
【請求項４３】
前記ソースデバイスが、前記データの少なくとも一部を処理することは、前記ソースデバイスが、前記ダッシュボードが配置された前記乗り物をサービスしてもらうための電子リマインダを自動的に生成することを備える、
請求項４０に記載の方法。
【請求項４４】
前記乗り物は、自動車を備える、
請求項２９に記載の方法。
【請求項４５】
ワイヤレスシンクデバイスとして機能するように構成された乗り物ダッシュボードからユーザ入力データを受信するように構成されたワイヤレスソースデバイスであって、前記ワイヤレスソースデバイスは、
前記ダッシュボードからデータパケットを受信するためのトランスポートユニットであって、前記データパケットがデータパケットヘッダとペイロードデータとを備える、トランスポートユニットと、
命令を記憶するメモリと、
前記命令を実行するように構成された１つまたは複数のプロセッサと
を備え、前記命令の実行時に前記１つまたは複数のプロセッサが、
前記ペイロードデータ中に含まれているユーザ入力データに関連付けられた入力カテゴリーを判断するために前記データパケットヘッダをパースすることと、
前記判断された入力カテゴリーに基づいて前記ペイロードデータを処理することと
を引き起こす、ワイヤレスソースデバイス。
【請求項４６】
ビデオエンコーダをさらに備え、前記命令の実行時に前記１つまたは複数のプロセッサが、前記ソースデバイス上に常駐する少なくとも１つのアプリケーションのグラフィカルユーザインターフェースを備えるビデオデータをキャプチャすることを引き起こし、前記ビデオエンコーダが前記ビデオデータを符号化し、前記トランスポートユニットがヘッダとペイロードデータとを備えるデータパケットを前記ダッシュボードに送信し、前記ペイロードデータが前記符号化ビデオデータを備える、
請求項４５に記載のソースデバイス。
【請求項４７】
前記ユーザ入力データは、前記ソースデバイス上に常駐する前記少なくとも１つのアプリケーションの前記グラフィカルユーザインターフェースとの前記ダッシュボードのディスプレイデバイスにおけるユーザインタラクトを示すデータを備える、
請求項４６に記載のソースデバイス。
【請求項４８】
前記ユーザ入力データは、前記ソースデバイス上に常駐する１つまたは複数のアプリケーションとの前記ダッシュボードのディスプレイデバイスにおけるユーザインタラクトを示すデータを備える、
請求項４５に記載のソースデバイス。
【請求項４９】
前記トランスポートユニットは、
前記ソースデバイスから前記ダッシュボードに認証キーを備えるデータを送信することと、ここで、前記ダッシュボードは、前記認証キーに基づいて前記ソースデバイスとの通信セッションを開くべきかどうかを判断するように構成される、
前記ダッシュボードから、前記ダッシュボードとの通信のために、前記ソースデバイスが認証されたことを示すメッセージを受信することと
を行う、請求項４５に記載のソースデバイス。
【請求項５０】
前記命令の実行時に前記１つまたは複数のプロセッサが、前記認証キーを備える前記データを暗号化することを引き起こすことをさらに備え、前記ダッシュボードは、前記データを解読するように構成される、
請求項４９に記載のソースデバイス。
【請求項５１】
前記トランスポートユニットが、前記ダッシュボードからチャレンジキーを備えるデータを受信することをさらに備え、前記認証キーが、前記チャレンジキーを備える前記データの少なくとも一部に関連付けられる、
請求項４９に記載のソースデバイス。
【請求項５２】
前記トランスポートユニットが、前記ダッシュボードから、前記ダッシュボードが配置された乗り物の動作状態を示すメッセージを受信することと、
前記命令の実行時に前記１つまたは複数のプロセッサが、前記乗り物の前記動作状態に基づいて前記ソースデバイスの動作状態を設定することを引き起こすことと
をさらに備える、請求項４５に記載のソースデバイス。
【請求項５３】
前記メッセージは、前記乗り物が移動していることを示し、前記命令の実行時に前記１つまたは複数のプロセッサが、前記乗り物が移動している間、前記ソースデバイスの１つまたは複数の機能へのアクセスを制限することを引き起こすことをさらに備える、
請求項５２に記載のソースデバイス。
【請求項５４】
前記命令の実行時に、前記１つまたは複数のプロセッサが、前記ソースデバイスの１つまたは複数の機能へのアクセスを制限させることは、電話発呼、テキストメッセージング、および電子メール機能のうちの少なくとも１つを備える１つまたは複数のユーザ機能へのアクセスを制限することを引き起こすことを備える、
請求項５３に記載のソースデバイス。
【請求項５５】
前記トランスポートユニットが、前記ダッシュボードからメッセージを受信することと、ここで、前記メッセージは、前記ダッシュボードが配置された前記乗り物の前記動作に関係するデータを備える、
前記命令の実行時に前記１つまたは複数のプロセッサが、前記ダッシュボードによって送信された前記メッセージ中の前記データの少なくとも一部を処理することを引き起こすことと
をさらに備える、請求項４５に記載のソースデバイス。
【請求項５６】
前記乗り物の前記動作に関係する前記データは、乗り物速度、加速度、制動、ガスマイレージ、エラーコード、および診断データのうちの少なくとも１つを備える、
請求項５５に記載のソースデバイス。
【請求項５７】
前記命令の実行時に前記１つまたは複数のプロセッサが前記データの少なくとも一部を処理することを引き起こすことは、前記ソースデバイスが乗り物ガスマイレージデータを乗り物速度、加速度、および制動データのうちの少なくとも１つに相関することを引き起こすことを備える、
請求項５６に記載のソースデバイス。
【請求項５８】
前記命令の実行時に前記１つまたは複数のプロセッサが前記データの少なくとも一部を処理することを引き起こすことは、前記トランスポートユニットに、サービスについての電子要求を前記ダッシュボードが配置された前記乗り物に送信することを行わせることを備える、
請求項５６に記載のソースデバイス。
【請求項５９】
前記命令の実行時に前記１つまたは複数のプロセッサが前記データの少なくとも一部を処理することを引き起こすことは、前記ダッシュボードが配置された前記乗り物をサービスしてもらうための電子リマインダを自動的に生成することを行わせることを備える、
請求項５６に記載のソースデバイス。
【請求項６０】
前記乗り物は、自動車を備える、
請求項４５に記載のソースデバイス。
【請求項６１】
１つまたは複数のプロセッサによって実行されると、ワイヤレスシンクデバイスとして機能するように構成された乗り物ダッシュボードからワイヤレスソースデバイスにおいてユーザ入力データを受信する方法を実行することを前記１つまたは複数のプロセッサに行わせる、命令を記憶するコンピュータ可読記憶媒体であって、前記方法は、
前記ダッシュボードからデータパケットを受信することと、ここで、前記データパケットがデータパケットヘッダとペイロードデータとを備える、
前記ペイロードデータ中に含まれているユーザ入力データに関連付けられた入力カテゴリーを判断するために前記データパケットヘッダをパースすることと、
前記判断された入力カテゴリーに基づいて前記ペイロードデータを処理することと
を備える、コンピュータ可読記憶媒体。
【請求項６２】
ワイヤレスシンクデバイスとして機能するように構成された乗り物ダッシュボードからユーザ入力データを受信するように構成されたワイヤレスソースデバイスであって、前記ワイヤレスソースデバイスは、
前記ダッシュボードからデータパケットを受信するための手段と、ここで、前記データパケットがデータパケットヘッダとペイロードデータとを備える、
前記ペイロードデータ中に含まれているユーザ入力データに関連付けられた入力カテゴリーを判断するために前記データパケットヘッダをパースするための手段と、
前記判断された入力カテゴリーに基づいて前記ペイロードデータを処理するための手段と
を備える、ワイヤレスソースデバイス。
【請求項６３】
ワイヤレスシンクデバイスとして機能するように構成された乗り物ダッシュボードとワイヤレスソースデバイスとの間で通信する方法であって、前記方法は、
前記ダッシュボードと通信するために前記ソースデバイスを認証することと、
前記ダッシュボードから前記ソースデバイスに、前記ダッシュボードが配置された乗り物の前記動作状態を示すデータを通信することと、
前記乗り物の前記動作状態に基づいて前記ソースデバイスの前記動作状態を設定することと、
ダッシュボードシンクから前記ソースデバイスにユーザ入力データと乗り物データとのうちの少なくとも１つを通信することと
を備える、方法。
【発明の詳細な説明】
【関連出願】
【０００１】
[0001]本出願は、その内容全体が参照により本明細書に組み込まれる、２０１２年１月６日に出願された米国仮出願第６１／５８３，７９８号の利益を主張する。
【技術分野】
【０００２】
[0002]本開示は、ワイヤレスソースデバイスとワイヤレスシンクデバイスとの間でデータを送信するための技法に関する。
【背景技術】
【０００３】
[0003]ワイヤレスディスプレイ（ＷＤ：wireless display）またはＷｉ−Ｆｉディスプレイ（ＷＦＤ：Wi-Fi Display）システムは、ワイヤレスソースデバイスと１つまたは複数のワイヤレスシンクデバイスとを含む。ソースデバイスとシンクデバイスの各々とは、ワイヤレス通信機能をもつモバイルデバイスまたはワイヤードデバイスのいずれかであり得る。ソースデバイスとシンクデバイスとのうちの１つまたは複数は、たとえば、携帯電話、ワイヤレス通信カード付きのポータブルコンピュータ、携帯情報端末（ＰＤＡ）、ポータブルメディアプレーヤ、あるいはいわゆる「スマート」フォンおよび「スマート」パッドもしくはタブレット、電子リーダー、または任意のタイプのワイヤレスディスプレイ、ビデオゲームデバイスを含む、ワイヤレス通信機能をもつ他のそのようなデバイス、あるいは他のタイプのワイヤレス通信デバイスを含み得る。ソースデバイスとシンクデバイスとのうちの１つまたは複数は、通信機能を含むテレビジョン、デスクトップコンピュータ、モニタ、プロジェクタなど、ワイヤードデバイスをも含み得る。
【０００４】
[0004]ソースデバイスは、特定のメディアシェアセッションに参加しているシンクデバイスのうちの１つまたは複数にオーディオビデオ（ＡＶ）データなどのメディアデータを送る。メディアデータは、ソースデバイスのローカルディスプレイとシンクデバイスのディスプレイの各々との両方において再生され得る。より詳細には、参加しているシンクデバイスの各々は、それのスクリーンおよびオーディオ機器上で、受信されたメディアデータをレンダリングする。
【発明の概要】
【０００５】
[0005]本開示では、概して、ワイヤレスソースデバイスがワイヤレスシンクデバイスと通信することができるシステムについて説明する。通信セッションの一部として、ワイヤレスソースデバイスが、ワイヤレスシンクデバイスにオーディオおよびビデオデータを送信することができ、ワイヤレスシンクデバイスは、ワイヤレスシンクデバイスにおいて受信されたユーザ入力をワイヤレスソースデバイスに送信することができる。このようにして、ワイヤレスシンクデバイスのユーザが、ワイヤレスソースデバイスを制御し、ワイヤレスソースデバイスからワイヤレスシンクデバイスに送信されているコンテンツを制御することができる。本開示による例は、シンクデバイスが乗り物中のダッシュボードの一部または全体を形成する場合、上記および他の技法を採用することに関する。本開示によるダッシュボードが配置された乗り物は、自動車、船舶、航空機、オールテラインビークル（ＡＴＶ：all-terrain vehicle）、または電子ディスプレイデバイスを含むダッシュボードを含む任意の他のタイプの乗り物を含み得る。
【０００６】
[0006]一例では、乗り物ダッシュボードが、ワイヤレスシンクデバイスとして機能し、ワイヤレスソースデバイスにユーザ入力データを送信するように構成される。本ダッシュボードは、命令を記憶するメモリと、ユーザ入力データを取得するように構成されたディスプレイデバイスと、命令を実行するように構成された１つまたは複数のプロセッサと、トランスポートユニットとを含む。命令の実行時に１つまたは複数のプロセッサが、データパケットヘッダを生成することと、ここで、データパケットヘッダが、ユーザ入力データの入力カテゴリーを識別するためのフィールドを備える、データパケットヘッダを生成することと、データパケットヘッダとペイロードデータとを備えるデータパケットを生成することとを引き起こす。トランスポートユニットは、データパケットをワイヤレスソースデバイスに送信するように構成される。
【０００７】
[0007]別の例では、ワイヤレスソースデバイスが、ワイヤレスシンクデバイスとして機能するように構成された乗り物ダッシュボードからユーザ入力データを受信するように構成される。本ワイヤレスソースデバイスは、トランスポートユニットと、命令を記憶するメモリと、命令を実行するように構成された１つまたは複数のプロセッサとを含む。トランスポートユニットは、ダッシュボードからデータパケットを受信するように構成される。データパケットは、データパケットヘッダとペイロードデータとを含む。命令の実行時に１つまたは複数のプロセッサが、ペイロードデータ中に含まれているユーザ入力データに関連付けられた入力カテゴリーを判断するためにデータパケットヘッダをパースすることと、判断された入力カテゴリーに基づいてペイロードデータを処理することとを行わせる。
【０００８】
[0008]別の例は、ワイヤレスシンクデバイスとして機能するように構成された乗り物ダッシュボードとワイヤレスソースデバイスとの間で通信する方法を含む。本方法は、ダッシュボードと通信するためにソースデバイスを認証することと、ダッシュボードからソースデバイスに、ダッシュボードが配置された乗り物の動作状態を示すデータを通信することと、乗り物の動作状態に基づいてソースデバイスの動作状態を設定することと、ダッシュボードシンクからソースデバイスにユーザ入力データと乗り物データとのうちの少なくとも１つを通信することとを含む。
【図面の簡単な説明】
【０００９】
【図１Ａ】[0009]本開示の技法を実装し得るソース／シンクシステムの一例を示すブロック図。
【図１Ｂ】[0010]２つのシンクデバイスをもつソース／シンクシステムの一例を示すブロック図。
【図２】[0011]本開示の技法を実装し得るソースデバイスの一例を示す図。
【図３】[0012]本開示の技法を実装し得るシンクデバイスの一例を示す図。
【図４】[0013]本開示の技法を実装し得る送信機システムと受信機システムとのブロック図。
【図５Ａ】[0014]本開示の技法に従って機能ネゴシエーションを実行するための例示的なメッセージ転送シーケンスを示す図。
【図５Ｂ】本開示の技法に従って機能ネゴシエーションを実行するための例示的なメッセージ転送シーケンスを示す図。
【図６】[0015]シンクデバイスにおいて取得されたユーザ入力データをソースデバイスに配信するために使用され得る例示的なデータパケットを示す図。
【図７Ａ】[0016]ソースデバイスとシンクデバイスとの間の機能ネゴシエーションのために使用され得る本開示の技法を示すフローチャート。
【図７Ｂ】ソースデバイスとシンクデバイスとの間の機能ネゴシエーションのために使用され得る本開示の技法を示すフローチャート。
【図８Ａ】[0017]ユーザ入力データをもつデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図８Ｂ】ユーザ入力データをもつデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図９Ａ】[0018]ユーザ入力データをもつデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図９Ｂ】ユーザ入力データをもつデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図１０Ａ】[0019]タイムスタンプ情報とユーザ入力データとをもつデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図１０Ｂ】タイムスタンプ情報とユーザ入力データとをもつデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図１１Ａ】[0020]タイムスタンプ情報とユーザ入力データとをもつデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図１１Ｂ】タイムスタンプ情報とユーザ入力データとをもつデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図１２Ａ】[0021]ボイスコマンドを含むデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図１２Ｂ】ボイスコマンドを含むデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図１３Ａ】[0022]マルチタッチユーザ入力コマンドをもつデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図１３Ｂ】マルチタッチユーザ入力コマンドをもつデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図１４Ａ】[0023]サードパーティデバイスからフォワーディングされたユーザ入力データをもつデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図１４Ｂ】サードパーティデバイスからフォワーディングされたユーザ入力データをもつデータパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図１５Ａ】[0024]データパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図１５Ｂ】データパケットを送信および受信するために使用され得る本開示の技法を示すフローチャート。
【図１６】[0025]本開示の技法を実装し得るソース／シンクシステムの例を示すブロック図。
【図１７】[0026]ソースデバイスと自動車ダッシュボードシンクデバイスとの間の通信に関する様々な技法を示すフローチャート。
【発明を実施するための形態】
【００１０】
[0027]本開示では、概して、（本明細書では、単に「ソースデバイス」と呼ぶことがある）ワイヤレスソースデバイスが（本明細書では、単に「シンクデバイス」と呼ぶことがある）ワイヤレスシンクデバイスと通信することができるシステムについて説明する。通信セッションの一部として、ソースデバイスが、シンクデバイスにオーディオおよびビデオデータを送信することができ、シンクデバイスは、シンクデバイスにおいて受信されたユーザ入力をソースデバイスに返信することができる。このようにして、ワイヤレスシンクデバイスのユーザが、ワイヤレスソースデバイスを制御し、ソースデバイスからワイヤレスシンクデバイスに送信されているコンテンツを制御することができる。
【００１１】
[0028]ワイヤレスソースデバイスとワイヤレスシンクデバイスとの間で通信し、ソースデバイスによって与えられたコンテンツに対してシテンクデバイスにおいてユーザ入力を与える上記の機能は、異なるタイプのシンクデバイスとソースデバイスとを含むいくつかの異なるコンテキストにおいて採用され得る。本開示による例は、シンクデバイスが自動車または他の原動機付き車両中のダッシュボードの一部または全体を形成する場合、そのような技法を採用することに関する。
【００１２】
[0029]一例では、ワイヤレスシンクデバイスのコア機能は、シンクデバイスにおいて受信されたユーザ入力をワイヤレスソースデバイスに返信することと、それにより、シンクデバイスのユーザがソースデバイスを制御し、ソースデバイスからシンクデバイスに送信され、シンクデバイスとして自動車ダッシュボードを含むシステムにおいて適用されるコンテンツとインタラクトし、それを制御することを可能にすることとを含む。そのような例では、ソースデバイスとして働くユーザデバイス上で利用可能なアプリケーションおよびデータが、自動車のダッシュボード上で閲覧され、アクセスされ、それとインタラクトされ得る。一例では、連絡先およびカレンダーアプリケーション、ナビゲーションアプリケーション、デジタル音楽プレーヤなどのような携帯電話アプリケーションが、自動車または他の乗り物ダッシュボード上で容易にシームレスに提示され、それらを介してインタラクトされ得る。
【００１３】
[0030]ワイヤレスソースデバイスとワイヤレスシンクデバイスとの間の通信のためのシステムおよび方法に関して上記で説明したように、ワイヤレスディスプレイ機能を採用することは、シンクデバイスが、たとえば、自動車のような原動機付き車両のダッシュボードであるとき、いくつかの特定の問題を含む。１つの問題は、自動車ダッシュボードとの通信のためにソースデバイスを認証することを含む。ダッシュボードシンクデバイスは自動車の動作に関係する機密情報へのアクセスを有し、および／またはそれを制御し得るので、ダッシュボードシンクデバイスとの通信のためにソースデバイスを認証する方法を必要とすることが望ましいことがある。
【００１４】
[0031]さらに、ソースとダッシュボードシンクとの間の通信は、自動車の製造業者に応じて大きく異なり得る。したがって、異なる製造業者は、それぞれの製造業者の自動車中に含まれるダッシュボードシンクと通信するために、同じタイプのソースデバイスの異なる機能を必要とし得る。
【００１５】
[0032]したがって、自動車ダッシュボードシンクと通信するソースのコンテキストにおいて、汎用ワイヤレスディスプレイ機能／アプリケーション、たとえば、ＷＦＤシステムのための１つまたは複数の規格において与えられた機能を採用するというよりむしろ、ソースデバイスは、（その２つが異なる会社によって製造される限り）自動車またはダッシュボードの製造業者によって認証され、特にその製造業者のダッシュボードシンクと通信するように構成されたアプリケーションを含み得る。ダッシュボードアプリケーションは、ソースデバイス、たとえば、携帯電話によって実行され得、ソースデバイスのユーザがソースデバイスとダッシュボードシンクデバイスとの間の通信を開始し、制御し、管理し得るユーザインターフェースを含むサードパーティユーザアプリケーションを含み得る。
【００１６】
[0033]そのような例では、ダッシュボード／自動車製造業者と、サードパーティ、たとえば携帯電話製造業者および／または携帯電話アプリケーション開発者との間の認証は、いくつかの異なる方法で達成され得る。携帯電話がワイヤレスソースデバイスとして働き、ダッシュボードシンクデバイスと通信する一例において、ダッシュボード製造業者は、携帯電話上で実行可能な、ダッシュボードと通信するように構成された１つまたは複数のアプリケーションを認証し得る。認証は、電話機ソースデバイスとダッシュボードシンクデバイスとの間の通信を確立するためのセキュリティの複数のレベルを含み得る。
【００１７】
[0034]一例では、認証は、電話機ソースデバイスとダッシュボードシンクデバイスとの間の通信を確立するためのセキュリティの２つのレベルを含む。最初に、ソースデバイスアプリケーション開発者が要求し得、製造業者は、アプリケーションを実行するソースデバイスと製造業者のダッシュボードシンクデバイスとの間の通信を協調および制御するために特定のアプリケーションの認証を許可し得る。たとえば、携帯電話の異なるオペレーティングシステム上で実行可能なアプリケーションを開発する携帯電話アプリケーション開発者は、製造業者によって生成された自動車中のダッシュボードシンクデバイスとの通信において、電話機がワイヤレスソースデバイスとして機能することを可能にするであろう、そのような電話機のためのアプリケーションを開発するために、特定の自動車製造業者からの許可を求め得る。そのような例では、自動車製造業者は、電話機ソースデバイスとダッシュボードシンクデバイスとの間の通信を開くためにダッシュボードシンクデバイスに通信され得るキーを、アプリケーション開発者に与えることによって、携帯電話アプリケーションを認証し得る。
【００１８】
[0035]ワイヤレス通信は、非セキュアであり得、したがって無許可のユーザおよび／またはデバイスから様々な攻撃を受けやすい。したがって、特定のダッシュボードシンクデバイスとの通信において電話機ソースデバイスとともに使用するための特定の携帯電話アプリケーションを認証するために使用される認証キーを与えることに加えて、本開示による例はまた、製造業者認証キーの通信を含む電話機ソースとダッシュボードシンクとの間の初期ハンドシェイクをセキュアにすることを含み得る。一例では、電話機ソースデバイスとダッシュボードシンクデバイスとの間の初期ハンドシェイクおよび認証キーの通信は、たとえば、暗号化／復号鍵方式を使用して暗号化され、暗号化／復号キー方式によって、携帯電話アプリケーションは、製造業者認証キーを含むデータを暗号化し、暗号化データを、次に、電話機からのデータを解読し、読み取るダッシュボードにワイヤレス送信する。ダッシュボードシンクデバイスとのＷＦＤに対して電話機が認証された後、将来の通信は暗号化を用いてまたは用いずに送信され得る。
【００１９】
[0036]ワイヤレスソースデバイスと自動車ダッシュボードシンクデバイスとの間の通信セッションを認証するための機能に加えて、ソースとダッシュボードシンクとの間のリンクは、自動車に関係するまたはそれに含まれるデータおよび／またはデバイス、たとえば、自動車またはスピーカーおよびマイクロホンのような自動車中の周辺デバイスの動作に関係するデータを通信し、分析し、記憶し、操作するなどのためのいくつかの機能を可能にする。いくつかの例では、ダッシュボードシンクデバイスが配置された自動車に搭載されたセンサーからのデータが、ダッシュボードからワイヤレスソースデバイスに通信され得る。たとえば、自動車のセンサーおよびエンジン制御ユニット（ＥＣＵ）によって追跡および記憶されたガスマイレージデータが、ダッシュボードシンクデバイスからワイヤレスソースデバイスに、たとえば、ユーザの携帯電話に通信され得る。携帯電話は、ユーザへの提示およびユーザによる解釈ために自動車からのデータを処理するための様々な機能を含み得る。
【００２０】
[0037]いくつかの例では、ダッシュボードシンクデバイスは、ソースと周辺機器との間の直接的なインタラクトのためにソースデバイスから周辺デバイス、たとえば自動車中のスピーカーおよび／またはマイクロホンへチャネルを開き得る。たとえば、ダッシュボードシンク上で実行されるエージェントは、携帯電話中に含まれるマイクロホンよりも高品質の自動車中のマイクロホンへのアクセスを携帯電話ソースに与えるために携帯電話ソースからのチャネルを開き得る。一例では、携帯電話ソースのユーザは、ユーザの自動車中で運転しながら電話機上の連絡先アプリケーション中で誰かを呼び出すことを望むことがあり、連絡先番号を取り出し、呼を開始する、より安全な手段として、ダッシュボードシンクを介してアクセスされる自動車のマイクロホンにおいて受信されるボイスコマンドを使用し得る。
【００２１】
[0038]自動車ダッシュボードシンクとの通信のためにワイヤレスソースデバイスをペアリングすることによって可能にされる別の機能は、自動車の状態、たとえば自動車が移動しているかまたは停止されているかに基づいて、ソースデバイスおよび／またはシンクデバイスの通信および動作を変える能力である。本開示による一例では、ワイヤレスソースデバイス、たとえば、携帯電話とペアリングされた自動車ダッシュボードシンクデバイスは、自動車の状態が変化したときに携帯電話ソースに示し、自動車の現在の状態に基づいて電話機との通信を変え、電話機の動作を制御するように構成され得る。たとえば、ダッシュボードシンクデバイスは、自動車の様々な構成要素、たとえば、センサーおよび／またはＥＣＵから、自動車が移動し始めるときに示す情報を受信するように構成され得る。ダッシュボードシンクデバイスが、自動車が移動していると判断する場合、ダッシュボードは、ソースに限られた機能動作モードに進ませるコマンドを電話機ソースに送り得る。たとえば、ダッシュボードシンクデバイスからのコマンドは、ユーザが車を運転しながら実行することが危険であり得る特定の機能、たとえばテキストメッセージングへのアクセスを電話機に制限させ得る。
【００２２】
[0039]ワイヤレスソースデバイスとワイヤレスシンクデバイスとして機能するように構成された乗り物ダッシュボードとの間で通信することに関係する上記の機能について、図１６および図１７を参照しながら以下でより詳細に説明する。ただし、ワイヤレスシンクデバイスにおいて受信されたユーザ入力をワイヤレスソースデバイスに返信することを含む、ソースデバイスとシンクデバイスとの間で通信するために構成された第１のシステムおよびその方法について、図１Ａ〜図１５を参照しながらより一般的に説明する。
【００２３】
[0040]図１Ａは、本開示の技法のうちの１つまたは複数を実装し得る例示的なソース／シンクシステム１００を示すブロック図である。図１Ａに示すように、システム１００は、通信チャネル１５０を介してシンクデバイス１６０と通信するソースデバイス１２０を含む。ソースデバイス１２０は、オーディオ／ビデオ（Ａ／Ｖ）データ１２１を記憶するメモリと、ディスプレイ１２２と、スピーカー１２３と、（エンコーダ１２４とも呼ばれる）オーディオ／ビデオエンコーダ１２４と、オーディオ／ビデオ制御モジュール１２５と、送信機／受信機（ＴＸ／ＲＸ）ユニット１２６とを含み得る。さらに、ソースデバイス１２０のメモリは、ソースデバイス１２０とシンクデバイス１６０との間の通信を開始および管理するために認証されているアプリケーションを記憶し得る。本開示による例では、シンクデバイス１６０は、自動車または他の原動機付き車両ダッシュボードの一部または全体を形成し、したがって、以下の例ではダッシュボードシンクデバイス１６０と呼ばれることがある。ダッシュボードシンクデバイス１６０は、ディスプレイ１６２と、スピーカー１６３と、（デコーダ１６４とも呼ばれる）オーディオ／ビデオデコーダ１６４と、送信機／受信機ユニット１６６と、ユーザ入力（ＵＩ）デバイス１６７と、ユーザ入力処理モジュール１６８とを含み得る。図示した構成要素は、ソース／シンクシステム１００のための１つの例示的な構成をなすにすぎない。他の構成は、図示した構成要素よりも少数の構成要素を含み得るか、または図示した構成要素以外の追加の構成要素を含み得る。
【００２４】
[0041]一例では、以下でより詳細に説明するように、ソースデバイス１２０のメモリは、自動車および／またはダッシュボードの製造業者によってソースデバイス１２０と自動車ダッシュボードシンクデバイス１６０との間の通信を開始および管理するために認証されているアプリケーションを記憶し得る。ソースデバイスアプリケーションは、たとえば、ソースデバイス上で自動車のダッシュボードのネイティブ機能をミラーリングすることと、シンクデバイス１６０から自動車データを受信し、受信した自動車データを処理することとを含む様々な機能を含み得る。
【００２５】
[0042]図１Ａの例では、ソースデバイス１２０は、オーディオ／ビデオデータ１２１のビデオ部分をディスプレイ１２２で表示することができ、オーディオ／ビデオデータ１２１のオーディオ部分をスピーカー１２３で出力することができる。オーディオ／ビデオデータ１２１は、ソースデバイス１２０にローカルに記憶され、ファイルサーバ、ハードドライブ、外部メモリ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、または他の物理記憶媒体などの外部記憶媒体からアクセスされ得るか、たとえば、インターネットを介することを含むネットワーク接続を介してソースデバイス１２０にストリーミングされ得る。いくつかの事例では、オーディオ／ビデオデータ１２１は、ソースデバイス１２０のカメラとマイクロホンとを介してリアルタイムでキャプチャされ得る。オーディオ／ビデオデータ１２１は、動画、テレビ番組、または音楽など、マルチメディアコンテンツを含み得るが、ソースデバイス１２０によって生成されたリアルタイムコンテンツをも含み得る。そのようなリアルタイムコンテンツは、たとえば、ソースデバイス１２０上で動作しているアプリケーションによって生成されるか、または、たとえば、ビデオテレフォニーセッションの一部として、キャプチャされたビデオデータであり得る。より詳細に説明するように、そのようなリアルタイムコンテンツは、いくつかの事例では、ユーザが選択するために利用可能なユーザ入力オプションのビデオフレームを含み得る。いくつかの事例では、オーディオ／ビデオデータ１２１は、ビデオのフレーム上にオーバーレイされたユーザ入力オプションを有する動画またはＴＶ番組のビデオフレームなど、異なるタイプのコンテンツの組合せであるビデオフレームを含み得る。
【００２６】
[0043]ディスプレイ１２２とスピーカー１２３とを介してオーディオ／ビデオデータ１２１をローカルでレンダリングすることに加えて、ソースデバイス１２０のオーディオ／ビデオエンコーダ１２４はオーディオ／ビデオデータ１２１を符号化することができ、送信機／受信機ユニット１２６は、符号化されたデータを通信チャネル１５０を介してシンクデバイス１６０に送信することができる。シンクデバイス１６０の送信機／受信機ユニット１６６は符号化されたデータを受信し、オーディオ／ビデオデコーダ１６４は、符号化されたデータを復号し、復号されたデータをディスプレイ１６２とスピーカー１６３とを介して出力する。このようにして、ディスプレイ１２２とスピーカー１２３とによってレンダリングされているオーディオおよびビデオデータは、ディスプレイ１６２とスピーカー１６３とによって同時にレンダリングされ得る。オーディオデータおよびビデオデータはフレームで構成され得、オーディオフレームは、レンダリングされるとき、ビデオフレームと時間同期され得る。本開示による例では、ダッシュボードシンクデバイス１６０上でソースデバイス１２０から受信され、ディスプレイ１６２によってレンダリングされたオーディオおよびビデオデータは、ソースデバイス１２０上に常駐するデータおよびアプリケーションの提示およびそれらとのインタラクトを可能にし得、ソースデバイス１２０は、たとえば、ナビゲーション、連絡先、カレンダー、電子メール、および他のアプリケーションをもつ携帯電話を含み得る。
【００２７】
[0044]オーディオ／ビデオエンコーダ１２４およびオーディオ／ビデオデコーダ１６４は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格、またはＨ．２６５規格と呼ばれることがある新生の高効率ビデオコーディング（ＨＥＶＣ：high efficiency video coding）規格など、任意の数のオーディオおよびビデオ圧縮規格を実装し得る。多くの他のタイプのプロプライエタリなまたは規格化された圧縮技法も使用され得る。概して、オーディオ／ビデオデコーダ１６４は、オーディオ／ビデオエンコーダ１２４の逆のコーディング演算を実行するように構成される。図１Ａには示されていないが、いくつかの態様では、Ａ／Ｖエンコーダ１２４およびＡ／Ｖデコーダ１６４は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。
【００２８】
[0045]以下でより詳細に説明するように、Ａ／Ｖエンコーダ１２４は、上記で説明したようにビデオ圧縮規格を実装することに加えて、他の符号化機能をも実行し得る。たとえば、Ａ／Ｖエンコーダ１２４は、Ａ／Ｖデータ１２１がシンクデバイス１６０に送信されるより前に、Ａ／Ｖデータ１２１に様々なタイプのメタデータを追加し得る。いくつかの事例では、Ａ／Ｖデータ１２１は、符号化された形態でソースデバイス１２０に記憶されるかまたはソースデバイス１２０において受信され、したがってＡ／Ｖエンコーダ１２４によるさらなる圧縮を必要としないことがある。
【００２９】
[0046]図１Ａは、通信チャネル１５０がオーディオペイロードデータとビデオペイロードデータとを別個に搬送することを示しているが、いくつかの事例では、ビデオペイロードデータとオーディオペイロードデータとが共通のデータストリームの一部であり得ることを理解されたい。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。オーディオ／ビデオエンコーダ１２４およびオーディオ／ビデオデコーダ１６４はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、あるいはそれらの任意の組合せとして実装され得る。オーディオ／ビデオエンコーダ１２４およびオーディオ／ビデオデコーダ１６４の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。したがって、ソースデバイス１２０およびシンクデバイス１６０の各々は、本開示の技法のうちの１つまたは複数を実行するように構成された専用の機械を備え得る。
【００３０】
[0047]ディスプレイ１２２およびディスプレイ１６２は、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なビデオ出力デバイスのいずれかを備え得る。これらまたは他の例では、ディスプレイ１２２および１６２は、それぞれ発光型ディスプレイ（emissive display）または透過型ディスプレイ（transmissive display）であり得る。ディスプレイ１２２およびディスプレイ１６２はまた、それらが同時に入力デバイスとディスプレイデバイスの両方であるような、タッチディスプレイであり得る。そのようなタッチディスプレイは、ユーザがそれぞれのデバイスにユーザ入力を与えることを可能にする、静電容量式、抵抗式、または他のタイプのタッチパネルであり得る。
【００３１】
[0048]スピーカー１２３は、ヘッドホン、シングルスピーカーシステム、マルチスピーカーシステム、またはサラウンドサウンドシステムなど、様々なオーディオ出力デバイスのいずれかを備え得る。さらに、ディスプレイ１２２およびスピーカー１２３はソースデバイス１２０の一部として示されており、ディスプレイ１６２およびスピーカー１６３はシンクデバイス１６０の一部として示されているが、ソースデバイス１２０およびシンクデバイス１６０は、実際は複数のデバイスのシステムであり得る。一例として、ダッシュボードシンクデバイス１６０のスピーカー１６３は、ダッシュボードシンクデバイスが配置された自動車のスピーカーを含み得る。さらに、図１Ａには示されていないが、ダッシュボードシンクデバイス１６０は、たとえば、マイクロホンまたはバックシートＤＶＤ／ディスプレイデバイスのような追加のディスプレイデバイスを含む、ダッシュボードシンクデバイス１６０が配置された自動車の他の周辺機器を含み、またはそれらへのアクセスを与え得る。場合によっては、ソースデバイスは、スマートフォン、ラップトップまたはタブレットコンピュータなど、モバイルデバイスを備え得るが、シンクデバイスは、より静止した（自動車の動作とは無関係な移動に関して静止した）自動車ダッシュボードを含む。
【００３２】
[0049]送信機／受信機ユニット１２６および送信機／受信機ユニット１６６は、それぞれ、様々なミキサ、フィルタ、増幅器、および信号変調のために設計された他の構成要素、ならびに、１つまたは複数のアンテナ、およびデータを送信し、受信するために設計された他の構成要素を含み得る。通信チャネル１５０は、概して、ソースデバイス１２０からシンクデバイス１６０にビデオデータを送信するのに適した任意の通信媒体、または様々な通信媒体の集合を表す。通信チャネル１５０は、通常、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）などと同様の比較的短距離の通信チャネルである。ただし、通信チャネル１５０は、この点において必ずしも限定されるとは限らず、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。他の例では、通信チャネル１５０は、ワイヤードまたはワイヤレスのローカルエリアネットワーク、ワイドエリアネットワーク、あるいはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成することさえある。さらに、通信チャネル１５０は、ピアツーピアリンクを作成するためにソースデバイス１２０とシンクデバイス１６０とによって使用され得る。ソースデバイス１２０およびシンクデバイス１６０は、ＩＥＥＥ８０２．１１規格ファミリーからの規格などの通信プロトコルを使用して通信チャネル１５０を介して通信し得る。ソースデバイス１２０およびシンクデバイス１６０は、たとえば、ソースデバイス１２０およびシンクデバイス１６０が、ワイヤレスアクセスポイントまたはいわゆるホットスポットなど、中間物を使用せずに互いと直接通信するように、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に従って通信し得る。ソースデバイス１２０およびシンクデバイス１６０はまた、ネットワーク輻輳を回避または低減するためにトンネルドダイレクトリンクセットアップ（ＴＬＤＳ：tunneled direct link setup）を確立し得る。本開示の技法について時々Ｗｉ−Ｆｉに関して説明することがあるが、これらの技法の態様は他の通信プロトコルにも適合し得ることが企図される。たとえば、ソースデバイス１２０とシンクデバイスとの間のワイヤレス通信は直交周波数分割多重化（ＯＦＤＭ）技法を利用し得る。時分割多元接続（ＴＤＭＡ）、周波数分割多元接続（ＦＤＭＡ）、符号分割多元接続（ＣＤＭＡ）、あるいはＯＦＤＭ、ＦＤＭＡ、ＴＤＭＡおよび／またはＣＤＭＡの任意の組合せを含む、多種多様な他のワイヤレス通信技法も使用され得る。ＷｉＦｉ  ＤｉｒｅｃｔおよびＴＤＬＳは、比較的短距離の通信セッションをセットアップすることを目的とする。このコンテキストでは、比較的短距離は、たとえば、７０メートル未満を指すことがあるが、雑音の多いまたは遮るもののある環境では、デバイス間の距離は、３５メートル未満など、さらに短いことがある。
【００３３】
[0050]ソースデバイス１２０から受信されたデータを復号し、レンダリングすることに加えて、シンクデバイス１６０は、ユーザ入力デバイス１６７からユーザ入力も受信することができる。ユーザ入力デバイス１６７は、たとえば、キーボード、マウス、トラックボールまたはトラックパッド、タッチスクリーン、ボイスコマンド認識モジュール、あるいは他のそのようなユーザ入力デバイスであり得る。ユーザ入力処理モジュール（ＵＩＰＭ）１６８は、ユーザ入力デバイス１６７によって受信されたユーザ入力コマンドを、ソースデバイス１２０が解釈することが可能であるデータパケット構造にフォーマットする。そのようなデータパケットは、送信機／受信機１６６によって、通信チャネル１５０を介してソースデバイス１２０に送信される。送信機／受信機ユニット１２６はデータパケットを受信し、Ａ／Ｖ制御モジュール１２５は、データパケットをパースして、ユーザ入力デバイス１６７によって受信されたユーザ入力コマンドを解釈する。データパケット中で受信されたコマンドに基づいて、Ａ／Ｖ制御モジュール１２５は、符号化され送信されているコンテンツを変更することができる。このようにして、シンクデバイス１６０のユーザが、リモートで、およびソースデバイス１２０と直接的にインタラクトすることなしに、ソースデバイス１２０によって送信されているオーディオペイロードデータとビデオペイロードデータとを制御することができる。
【００３４】
[0051]シンクデバイス１６０のユーザがソースデバイス１２０に送信し得るコマンドのタイプの例は、オーディオおよびビデオデータの巻戻し、早送り、一時停止、および再生を行うためのコマンド、ならびにズーム、回転、スクロールなどのためのコマンドを含む。また、ユーザは、たとえばオプションのメニューから、選択を行い、その選択をソースデバイス１２０に返信し得る。たとえば、ユーザは、ダッシュボードシンク１６０のユーザ入力デバイス１６７において、アプリケーション、たとえばソースデバイス１２０上に常駐する電子メール、カレンダーまたは連絡先アプリケーションのグラフィカルユーザインターフェース（ＧＵＩ）の一部として与えられる様々なタイプの入力制御の選択を行い得る。シンクデバイス１６０におけるソースデバイス１２０上のアプリケーションのＧＵＩとのそのようなインタラクトは、次いで、ＵＩＰＭ１６８によってフォーマットされ、送信機／受信機１６６によって通信チャネル１５０を介してソースデバイス１２０に送信され得る。
【００３５】
[0052]加えて、シンクデバイス１６０のユーザは、ソースデバイス１２０上の他のタイプのアプリケーションを起動し、制御することが可能であり得る。たとえば、シンクデバイス１６０のユーザは、ソースデバイス１２０に記憶された写真編集アプリケーションを起動し、そのアプリケーションを使用して、ソースデバイス１２０にローカルに記憶された写真を編集することが可能であり得る。シンクデバイス１６０は、その写真が実際はソースデバイス１２０上で編集されている間、その写真がシンクデバイス１６０上でローカルに編集されているように見え、感じられる、ユーザエクスペリエンスをユーザにもたらし得る。そのような構成を使用して、デバイスユーザは、いくつかのデバイスとともに使用する１つのデバイスの機能を活用することが可能であり得る。
【００３６】
[0053]たとえば、ソースデバイス１２０は、大量のメモリとハイエンド処理能力とをもつスマートフォンであり得る。ソースデバイス１２０のユーザは、そのスマートフォンを、スマートフォンが一般に使用されるすべての設定と状況とにおいて使用し得る。ただし、自動車中で座っており、および／または走行しているとき、ユーザは、たとえば、ダッシュボードシンクデバイス１６０のディスプレイ上でソースデバイス１２０上のナビゲーションアプリケーションを使用して、ダッシュボードシンクデバイス１６０上でスマートフォン上に常駐するアプリケーションを活用することを望むことがある。そのような場合、ユーザはダッシュボードシンクデバイスとインタラクトしているが、処理の大半は依然としてソースデバイス１２０（この例ではスマートフォン）によって実行され得る。この特定の動作コンテキストでは、処理の大半がソースデバイス１２０によって実行されるので、シンクデバイス１６０は、シンクデバイス１６０が、ソースデバイス１２０によって行われている処理を行うように依頼されている場合よりも、少数のリソースを用いた、より低コストのデバイスであり得る。いくつかの例では、ソースデバイスとシンクデバイスの両方が（タッチスクリーンコマンドなどの）ユーザ入力を受信することが可能であり得、本開示の技法は、所与のセッションにおいてそれらのデバイスの機能をネゴシエートおよび／または識別することによって、二方向インタラクトを可能にし得る。したがって、シンクデバイス１２０が自動車ダッシュボード中に含まれる本開示による例では、ユーザは、ダッシュボードシンクデバイス１６０においてソースデバイス１２０上で実行されるアプリケーションおよびソースデバイス１２０上に記憶されたデータとインタラクトし得、たとえば、ダッシュボードシンクデバイス１６０上のユーザ入力デバイス１６７を介して、ソースデバイス１２０上に記憶され、ソースデバイス１２０上で実行される連絡先、ナビゲーション、カレンダー、電子メール、および他のアプリケーションとインタラクトすることを含む。
【００３７】
[0054]いくつかの構成では、Ａ／Ｖ制御モジュール１２５は、ソースデバイス１２５のオペレーティングシステムによって実行されているオペレーティングシステムプロセスであり得る。しかしながら、他の構成では、Ａ／Ｖ制御モジュール１２５は、ソースデバイス１２０上で動作しているアプリケーションのソフトウェアプロセスであり得る。そのような構成では、ユーザ入力コマンドはソフトウェアプロセスによって解釈され得、その結果、シンクデバイス１６０のユーザは、ソースデバイス１２０上で動作しているオペレーティングシステムとは対照的に、ソースデバイス１２０上で動作しているアプリケーションと直接的にインタラクトしている。オペレーティングシステムとは対照的にアプリケーションと直接的にインタラクトすることによって、シンクデバイス１６０のユーザは、ソースデバイス１２０のオペレーティングシステムに対してネイティブでないコマンドのライブラリへのアクセスを有し得る。さらに、アプリケーションと直接的にインタラクトすることにより、コマンドは、異なるプラットフォーム上で動作しているデバイスによってより容易に送信され、処理されることが可能になり得る。
【００３８】
[0055]ソースデバイス１２０は、ワイヤレスシンクデバイス１６０において適用されるユーザ入力に応答することができる。そのようなインタラクト型アプリケーション設定では、ワイヤレスシンクデバイス１６０において適用されるユーザ入力は通信チャネル１５０を介してワイヤレスディスプレイソースに送られ得る。一例では、シンクデバイス１６０が、シンクデバイス１６０において適用されるユーザ入力をソースデバイス１２０に送信することを可能にするために、ユーザインターフェースバックチャネル（ＵＩＢＣ）とも呼ばれる逆方向チャネルアーキテクチャが実装され得る。逆方向チャネルアーキテクチャは、ユーザ入力をトランスポートするための上位レイヤメッセージと、シンクデバイス１６０およびソースデバイス１２０においてユーザインターフェース機能をネゴシエートするための下位レイヤフレームとを含み得る。ＵＩＢＣは、シンクデバイス１６０とソースデバイス１２０との間のインターネットプロトコル（ＩＰ）トランスポートレイヤの上に常駐し得る。このようにして、ＵＩＢＣは、開放型システム間相互接続（ＯＳＩ）通信モデルにおいてトランスポートレイヤより上にあり得る。一例では、ＯＳＩ通信は、７つのレイヤ（１−物理、２−データリンク、３−ネットワーク、４−トランスポート、５−セッション、６−プレゼンテーション、および７−アプリケーション）を含む。この例では、トランスポートレイヤより上にあることは、レイヤ５、６、および７を指す。ユーザ入力データを含んでいるデータパケットの信頼できる送信と順次配信とを促進するために、ＵＩＢＣは、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）またはユーザデータグラムプロトコル（ＵＤＰ）など、他のパケットベース通信プロトコルの上で動作するように構成され得る。ＵＤＰおよびＴＣＰは、ＯＳＩレイヤアーキテクチャにおいて並列に動作することができる。ＴＣＰ／ＩＰにより、シンクデバイス１６０およびソースデバイス１２０は、パケットロスの場合、再送信技法を実装することが可能になることがある。
【００３９】
[0056]場合によっては、ソースデバイス１２０に位置するユーザ入力インターフェースとシンクデバイス１６０に位置するユーザ入力インターフェースとの間の不一致があり得る。そのような不一致によってもたらされる潜在的な問題を解決し、そのような状況下での良好なユーザエクスペリエンスを促進するために、ユーザ入力インターフェース機能ネゴシエーションが、通信セッションを確立するより前に、または通信セッション全体にわたって様々な時間に、ソースデバイス１２０とシンクデバイス１６０との間で行われ得る。このネゴシエーションプロセスの一部として、ソースデバイス１２０とシンクデバイス１６０とは、ネゴシエートされたスクリーン解像度に関して同意することができる。シンクデバイス１６０が、ユーザ入力に関連付けられた座標データを送信するとき、シンクデバイス１６０は、ディスプレイ１６２から取得された座標データを、ネゴシエートされたスクリーン解像度に一致するようにスケーリングすることができる。一例では、シンクデバイス１６０が１２８０×７２０解像度を有し、ソースデバイス１２０が１６００×９００解像度を有する場合、それらのデバイスは、たとえば、それらのネゴシエートされた解像度として１２８０×７２０を使用し得る。ネゴシエートされた解像度はシンクデバイス１６０の解像度に基づいて選択され得るが、ソースデバイス１２０の解像度または何らかの他の解像度も使用され得る。１２８０×７２０のシンクデバイスが使用される例では、シンクデバイス１６０は、取得されたｘ座標をソースデバイス１２０に送信するより前に、その座標を１６００／１２８０の割合でスケーリングすることができ、同様に、シンクデバイス１６０は、取得されたｙ座標をソースデバイス１２０に送信するより前に、その座標を９００／７２０でスケーリングすることができる。他の構成では、ソースデバイス１２０は、取得された座標をネゴシエートされた解像度に合わせてスケーリングすることができる。そのスケーリングは、シンクデバイス１６０がソースデバイス１２０よりも高い解像度のディスプレイを使用するのか、またはその逆であるのかに基づいて、座標範囲を増加または減少させ得る。
【００４０】
[0057]さらに、いくつかの事例では、シンクデバイス１６０における解像度は、通信セッション中に変動し、潜在的にディスプレイ１２２とディスプレイ１６２との間の不一致をもたらし得る。ユーザエクスペリエンスを改善し、適切な機能を保証するために、ソース／シンクシステム１００は、スクリーン正規化のための技法を実装することによって、ユーザインタラクト不一致を低減するかまたは防ぐための技法を実装し得る。ソースデバイス１２０のディスプレイ１２２とシンクデバイス１６０のディスプレイ１６２とは、異なる解像度および／または異なるアスペクト比を有し得る。さらに、いくつかの設定では、シンクデバイス１６０のユーザは、ソースデバイス１２０から受信されたビデオデータが、シンクデバイス１６０のディスプレイ１６２の全部よりも小さい部分をカバーするウィンドウにおいてレンダリングされるように、ソースデバイス１２０から受信されたビデオデータのためのディスプレイウィンドウをサイズ変更する能力を有し得る。別の例示的な設定では、シンクデバイス１６０のユーザは、横長モードまたは縦長モードのいずれかでコンテンツを閲覧するオプションを有し得、それらのモードの各々は、一意の座標と異なるアスペクト比とを有する。そのような状況では、マウスクリックまたはタッチイベントがどこで行われるかについての座標など、シンクデバイス１６０において受信されたユーザ入力に関連付けられた座標は、その座標への修正なしにソースデバイス１２０によって処理されることが可能でないことがある。したがって、本開示の技法は、シンクデバイス１６０において受信されたユーザ入力の座標を、ソースデバイス１２０に関連付けられた座標にマッピングすることを含み得る。このマッピングは、本明細書では正規化とも呼ばれ、以下でさらに詳細に説明するように、このマッピングはシンクベースまたはソースベースのいずれかであり得る。
【００４１】
[0058]シンクデバイス１６０によって受信されるユーザ入力は、たとえばドライバレベルで、ＵＩモジュール１６７によって受信され、シンクデバイス１６０のオペレーティングシステムに渡され得る。シンクデバイス１６０上のオペレーティングシステムは、ディスプレイ領域上のどこでユーザ入力が行われたかに関連付けられた座標（ｘSINK，ｙSINK）を受信することができる。この例では、（ｘSINK，ｙSINK）は、マウスクリックまたはタッチイベントが行われたディスプレイ１６２の座標であり得る。ディスプレイ１６２上でレンダリングされているディスプレイウィンドウは、ディスプレイウィンドウのサイズを記述するｘ座標長さ（ＬDW）とｙ座標幅（ＷDW）とを有することがある。ディスプレイウィンドウは、ディスプレイウィンドウのロケーションを記述する左上隅座標（ａDW，ｂDW）をも有することがある。ＬDW、ＷDW、および左上座標（ａDW，ｂDW）に基づいて、ディスプレイウィンドウによってカバーされるディスプレイ１６２の部分が判断され得る。たとえば、ディスプレイウィンドウの右上隅は座標（ａDW＋ＬDW，ｂDW）に位置し得、ディスプレイウィンドウの左下隅は座標（ａDW，ｂDW＋ＷDW）に位置し得、ディスプレイウィンドウの右下隅は座標（ａDW＋ＬDW，ｂDW＋ＷDW）に位置し得る。シンクデバイス１６０は、入力がディスプレイウィンドウ内の座標において受信された場合、その入力をＵＩＢＣ入力として処理することができる。言い換えれば、関連付けられた座標（ｘSINK，ｙSINK）での入力は、以下の条件が満たされる場合、ＵＩＢＣ入力として処理され得る。
【数１】
2015512171.tif 000003
【００４２】
[0059]ユーザ入力がＵＩＢＣ入力であると判断した後に、その入力に関連付けられた座標は、ソースデバイス１２０に送信されるより前に、ＵＩＰＭ１６８によって正規化され得る。ディスプレイウィンドウ外にあると判断された入力は、非ＵＩＢＣ入力としてシンクデバイス１６０によってローカルで処理され得る。
【００４３】
[0060]上述のように、入力座標の正規化は、ソースベースまたはシンクベースのいずれかであり得る。シンクベースの正規化を実装するとき、ソースデバイス１２０は、ディスプレイ１２２のためのサポートされるディスプレイ解像度（ＬSRC，ＷSRC）を、ビデオデータとともにまたはビデオデータとは無関係に、シンクデバイス１６０に送ることができる。サポートされるディスプレイ解像度は、たとえば、機能ネゴシエーションセッションの一部として送信され得るか、または通信セッション中の別の時間に送信され得る。シンクデバイス１６０は、ディスプレイ１６２のためのディスプレイ解像度（ＬSINK，ＷSINK）と、ソースデバイス１２０から受信されたコンテンツを表示するウィンドウのためのディスプレイウィンドウ解像度（ＬDW，ＷDW）と、ディスプレイウィンドウのための左上隅座標（ａDW，ｂDW）とを判断することができる。上記で説明したように、ユーザ入力に対応する座標（ｘSINK，ｙSINK）がディスプレイウィンドウ内にあると判断されたとき、シンクデバイス１６０のオペレーティングシステムは、変換関数を使用して座標（ｘSINK，ｙSINK）をソース座標（ｘSRC，ｙSRC）にマッピングすることができる。（ｘSINK，ｙSINK）を（ｘSRC，ｙSRC）に変換するための例示的な変換関数は以下の通りであり得る。
【数２】
2015512171.tif 000004
【００４４】
[0061]したがって、受信されたユーザ入力に対応する座標を送信するとき、シンクデバイス１６０は、（ｘSINK，ｙSINK）において受信されたユーザ入力のための座標（ｘSRC，ｙSRC）を送信することができる。以下でより詳細に説明するように、座標（ｘSRC，ｙSRC）は、たとえば、シンクデバイス１６０において受信されたユーザ入力をＵＩＢＣを介してソースデバイス１２０に送信するために使用されるデータパケットの一部として送信され得る。入力座標がデータパケット中に含まれるものとして説明される、本開示の他の部分全体にわたって、それらの座標は、ソース／シンクシステム１００がシンクベースの正規化を実装する事例において上記で説明したように、ソース座標に変換され得る。
【００４５】
[0062]ソース／シンクシステム１００がソースベースの正規化を実装するとき、ローカル入力とは対照的にＵＩＢＣ入力である（すなわち、ディスプレイウィンドウ外とは対照的にディスプレイウィンドウ内にある）と判断されたユーザ入力について、上記の計算は、シンクデバイス１６０ではなくソースデバイス１２０において実行され得る。そのような計算を可能にするために、シンクデバイス１６０は、ＬDW，ＷDWについての値、ならびにディスプレイウィンドウについてのロケーション情報（たとえばａDW，ｂDW）、ならびに（ｘSINK，ｙSINK）についての座標をソースデバイス１２０に送信することができる。これらの送信された値を使用して、ソースデバイス１２０は、上記の式３および式４に従って（ｘSRC，ｙSRC）についての値を判断することができる。
【００４６】
[0063]シンクベースの正規化の他の実装形態では、シンクデバイス１６０は、ディスプレイ１６２上のどこでユーザ入力イベントが行われるかとは対照的に、ディスプレイウィンドウ内のどこでユーザ入力イベントが行われるかを記述する、ユーザ入力のための座標（ｘDW，ｙDW）を送信することができる。そのような実装形態では、座標（ｘDW，ｙDW）は、（ＬDW，ＷDW）についての値とともにソースデバイスに１２０送信され得る。これらの受信された値に基づいて、ソースデバイス１２０は、以下の変換関数に従って（ｘSRC，ｙSRC）を判断することができる。
【数３】
2015512171.tif 000005
【００４７】
シンクデバイス１６０は、以下の関数に基づいてｘDWとｙDWとを判断することができる。
【数４】
2015512171.tif 000006
【００４８】
[0064]本開示で、たとえばデータパケット中で、ユーザ入力に関連付けられた座標を送信することについて説明するとき、これらの座標の送信は、上記で説明したようにシンクベースまたはソースベースの正規化を含み得、および／あるいはシンクベースまたはソースベースの正規化を実行するのに必要な任意の追加情報を含み得る。
【００４９】
[0065]ＵＩＢＣは、クロスプラットフォームユーザ入力データを含む、様々なタイプのユーザ入力データをトランスポートするように設計され得る。たとえば、ソースデバイス１２０は、ｉＯＳ（登録商標）オペレーティングシステムを実行し得、一方シンクデバイス１６０は、Ａｎｄｒｏｉｄ（登録商標）またはＷｉｎｄｏｗｓ（登録商標）などの別のオペレーティングシステム、またはダッシュボードシンクデバイス１６０および／またはダッシュボードが配置された自動車の製造業者のプロプライエタリオペレーティングシステムを実行する。プラットフォームにかかわらず、ＵＩＰＭ１６８は、Ａ／Ｖ制御モジュール１２５にとって理解可能な形態で、受信されたユーザ入力をカプセル化することができる。多くの異なるタイプのソースデバイスおよびシンクデバイスが異なるプラットフォーム上で動作するかどうかにかかわらず、それらのソースデバイスおよびシンクデバイスがプロトコルを活用することを可能にするように、いくつかの異なるタイプのユーザ入力フォーマットがＵＩＢＣによってサポートされ得る。一般入力フォーマットが定義され得、プラットフォーム固有入力フォーマットが両方ともサポートされ得、したがって、ユーザ入力がＵＩＢＣによってソースデバイス１２０とシンクデバイス１６０との間で通信され得る方法のフレキシビリティが与えられる。
【００５０】
[0066]図１Ａの例では、ソースデバイス１２０は、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、Ｗｉ−Ｆｉ対応テレビジョン、またはオーディオおよびビデオデータを送信することが可能な他のデバイスを備え得る。本開示による例では、シンクデバイス１６０は、自動車または他のタイプの乗り物中のダッシュボードの一部または全体を形成する。いくつかの事例では、ダッシュボードシンクデバイス１６０は、ディスプレイ１６２、スピーカー１６３、ＵＩデバイス１６７、およびＡ／Ｖエンコーダ１６４が、すべて、ダッシュボードが配置された自動車中の別個であるが相互動作可能なデバイスの一部であるような、複数のデバイスのシステムを含み得る。ソースデバイス１２０は、同様に、単一のデバイスではなく、複数のデバイスのシステムであり得る。
【００５１】
[0067]図１Ｂは、本開示の技法を実装し得る例示的なソース／シンクシステム１０１を示すブロック図である。ソース／シンクシステム１０１はソースデバイス１２０とダッシュボードシンクデバイス１６０とを含み、それらの各々は、図１Ａについて上記で説明した方法で機能し、動作し得る。ソース／シンクシステム１０１はシンクデバイス１８０をさらに含む。上記で説明したダッシュボードシンクデバイス１６０と同様の方法で、シンクデバイス１８０は、ソースデバイス１２０からオーディオおよびビデオデータを受信し、確立されたＵＩＢＣを介してソースデバイス１２０にユーザコマンドを送信し得る。いくつかの構成では、ダッシュボードシンクデバイス１６０とシンクデバイス１８０とは、互いとは無関係に動作し得、ソースデバイス１２０において出力されるオーディオおよびビデオデータは、ダッシュボードシンクデバイス１６０とシンクデバイス１８０とにおいて同時に出力され得る。代替構成では、ダッシュボードシンクデバイス１６０は１次シンクデバイスであり得、シンクデバイス１８０は２次シンクデバイスであり得る。そのような例示的な構成では、ダッシュボードシンクデバイス１６０とシンクデバイス１８０とは結合され得、ダッシュボードシンクデバイス１６０はビデオデータを表示し得、シンクデバイス１８０は対応するオーディオデータを出力する。さらに、いくつかの構成では、ダッシュボードシンクデバイス１６０は送信されたビデオデータのみを出力し得、シンクデバイス１８０は送信されたオーディオデータのみを出力する。
【００５２】
[0068]図２は、ソースデバイス２２０の一例を示すブロック図である。ソースデバイス２２０は、図１Ａ中のソースデバイス１２０と同様のデバイスであり得、ソースデバイス１２０と同じ方法で動作し得る。ソースデバイス２２０は、ローカルディスプレイ２２２と、ローカルスピーカー２２３と、プロセッサ２３１と、メモリ２３２と、トランスポートユニット２３３と、ワイヤレスモデム２３４とを含む。図２に示すように、ソースデバイス２２０は、トランスポート、記憶、および表示のためにＡ／Ｖデータを符号化および／または復号する１つまたは複数のプロセッサ（すなわちプロセッサ２３１）を含み得る。Ａ／Ｖデータは、たとえばメモリ２３２において記憶され得る。メモリ２３２は、Ａ／Ｖファイル全体を記憶し得るか、または、たとえば、別のデバイスまたはソースからストリーミングされた、Ａ／Ｖファイルの一部分を記憶するにすぎない、より小さいバッファを備え得る。トランスポートユニット２３３は、符号化Ａ／Ｖデータをネットワークトランスポートのために処理し得る。たとえば、符号化Ａ／Ｖデータは、プロセッサ２３１によって処理され、ネットワーク上での通信のためにトランスポートユニット２３３によってネットワークアクセスレイヤ（ＮＡＬ：Network Access Layer）ユニットにカプセル化され得る。ＮＡＬユニットは、ワイヤレスモデム２３４によってネットワーク接続を介してワイヤレスシンクデバイスに送られ得る。ワイヤレスモデム２３４は、たとえば、ＩＥＥＥ８０２．１１規格ファミリーのうちの１つを実装するように構成されたＷｉ−Ｆｉモデムであり得る。
【００５３】
[0069]また、ソースデバイス２２０は、Ａ／Ｖデータをローカルで処理し、表示し得る。たとえば、ディスプレイプロセッサ２３５は、ローカルディスプレイ２２２上で表示されるようにビデオデータを処理し得、オーディオプロセッサ２３６は、スピーカー２２３上での出力のためにオーディオデータを処理し得る。
【００５４】
[0070]図１Ａのソースデバイス１２０に関して上記で説明したように、ソースデバイス２２０は、シンクデバイスからユーザ入力コマンドをも受信し得る。このようにして、ソースデバイス２２０のワイヤレスモデム２３４は、ＮＡＬユニットなどのカプセル化されたデータパケットを受信し、カプセル化されたデータユニットをカプセル化解除のためにトランスポートユニット２３３に送る。たとえば、トランスポートユニット２３３はＮＡＬユニットからデータパケットを抽出し得、プロセッサ２３１はユーザ入力コマンドを抽出するためにデータパケットをパースすることができる。ユーザ入力コマンドに基づいて、プロセッサ２３１は、ソースデバイス２２０によってシンクデバイスに送信されている符号化Ａ／Ｖデータを調整することができる。このようにして、図１ＡのＡ／Ｖ制御モジュール１２５に関して上記で説明した機能は、完全にまたは部分的に、プロセッサ２３１によって実装され得る。
【００５５】
[0071]図２のプロセッサ２３１は、概して、限定はしないが、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、他の等価な集積回路またはディスクリート論理回路を含む、多種多様なプロセッサのいずれか、あるいはそれらの何らかの組合せを表す。図２のメモリ２３２は、限定はしないが、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリなどを含む、多種多様な揮発性または不揮発性メモリのいずれかを備え得る。メモリ２３２は、オーディオ／ビデオデータならびに他の種類のデータを記憶するためのコンピュータ可読記憶媒体を備え得る。メモリ２３２は、本開示で説明する様々な技法を実行することの一部としてプロセッサ２３１によって実行される命令とプログラムコードとをさらに記憶し得る。
【００５６】
[0072]一例では、ソースデバイス２２０のメモリ２３２は、ソースデバイス２２０と自動車中のダッシュボードシンクデバイスとの間の通信を可能にするように構成されたプロセッサ２３１によって実行可能なアプリケーションを記憶し得る。そのようなソースデバイスダッシュボードアプリケーションは、ソースデバイス２２０と自動車ダッシュボードシンクデバイスとの間の通信を開始および管理するためにダッシュボード製造業者および／または自動車製造業者によって認証され得る。ソースデバイスアプリケーションは、様々な機能、たとえば、ソースデバイス上で自動車ダッシュボードのネイティブ機能をミラーリングすることと、自動車ダッシュボードシンクデバイスから自動車データを受信し、受信した自動車データを処理することとを含み得る。
【００５７】
[0073]本開示による一例では、ソースデバイス２２０は、相対的に大量の記憶容量を含むメモリ２３２と、相対的にハイエンド処理能力をもつプロセッサ２３１とをもつスマートフォンであり得る。ソースデバイス２２０のユーザは、そのスマートフォンを、スマートフォンが一般に使用されるすべての設定と状況とにおいて使用し得る。ただし、自動車中で座っており、および／または走行しているとき、ユーザは、たとえば、自動車中のダッシュボードシンクデバイスのディスプレイ上でソースデバイス２２０上に記憶されたナビゲーションアプリケーションを使用して、通信のためにソースデバイス２２０を認証したダッシュボードシンクデバイス上でスマートフォン上に常駐するアプリケーションを活用することを望むことがある。したがって、シンクデバイスが自動車ダッシュボードの一部または全部を形成する本開示による例では、ユーザは、ダッシュボードシンクデバイスにおいてソースデバイス２２０上で実行されるアプリケーションおよびソースデバイス２２０上に記憶されたデータとインタラクトし得、たとえば、ダッシュボードシンクデバイス上のユーザ入力デバイスを介して、ソースデバイス１２０上に記憶されソースデバイス１２０上で実行される連絡先、ナビゲーション、カレンダー、電子メール、および他のアプリケーションとインタラクトすることを含む。
【００５８】
[0074]図３に、自動車ダッシュボードシンクデバイス３６０の一例を示す。シンクデバイス３６０は、図１Ａ中のダッシュボードシンクデバイス１６０と同様のデバイスであり得、シンクデバイス１６０と同じ方法で動作し得る。シンクデバイス３６０は、１つまたは複数のプロセッサ（すなわち、プロセッサ３３１）と、メモリ３３２と、トランスポートユニット３３３と、ワイヤレスモデム３３４と、ディスプレイプロセッサ３３５と、ローカルディスプレイ３６２と、オーディオプロセッサ３３６と、スピーカー３６３と、ユーザ入力インターフェース３７６とを含む。シンクデバイス３６０は、ワイヤレスモデム３３４において、ソースデバイスから送られたカプセル化されたデータユニットを受信する。ワイヤレスモデム３３４は、たとえば、ＩＥＥＥ８０２．１１規格ファミリーからの１つまたは複数の規格を実装するように構成されたＷｉ−Ｆｉモデムであり得る。トランスポートユニット３３３は、カプセル化されたデータユニットをカプセル化解除することができる。たとえば、トランスポートユニット３３３は、カプセル化されたデータユニットから符号化ビデオデータを抽出し、符号化Ａ／Ｖデータを、出力のために復号され、レンダリングされるように、プロセッサ３３１に送り得る。ディスプレイプロセッサ３３５は、ローカルディスプレイ３６２で表示されるように復号ビデオデータを処理し得、オーディオプロセッサ３３６は、スピーカー３６３上での出力のために復号オーディオデータを処理し得る。
【００５９】
[0075]オーディオおよびビデオデータをレンダリングすることに加えて、ワイヤレスダッシュボードシンクデバイス３６０は、ユーザ入力インターフェース３７６を通してユーザ入力データをも受信することができる。ユーザ入力インターフェース３７６は、限定はしないが、タッチディスプレイインターフェース、キーボード、マウス、ボイスコマンドモジュール、（たとえば、カメラベースの入力キャプチャ機能をもつ）ジェスチャーキャプチャデバイスを含む、いくつかのユーザ入力デバイスのいずれか、またはいくつかのユーザ入力デバイスの他のユーザ入力デバイスを表すことができる。ユーザ入力インターフェース３７６を通じて受信されたユーザ入力は、プロセッサ３３１によって処理され得る。この処理は、本開示で説明する技法に従って、受信されたユーザ入力コマンドを含むデータパケットを生成することを含み得る。生成されると、トランスポートユニット３３３は、そのデータパケットを、ＵＩＢＣを介したワイヤレスソースデバイスへのネットワークトランスポートのために処理し得る。
【００６０】
[0076]図３のプロセッサ３３１は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、他の等価な集積回路またはディスクリート論理回路など、広範囲のプロセッサのうちの１つまたは複数、あるいはそれらの何らかの組合せを備え得る。図３のメモリ３３２は、限定はしないが、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリなどを含む、多種多様な揮発性または不揮発性メモリのいずれかを備え得る。メモリ２３２は、オーディオ／ビデオデータならびに他の種類のデータを記憶するためのコンピュータ可読記憶媒体を備え得る。メモリ３３２は、本開示で説明する様々な技法を実行することの一部としてプロセッサ３３１によって実行される命令とプログラムコードとをさらに記憶し得る。
【００６１】
[0077]一例では、シンクデバイス３６０のメモリ３３２は、ソースデバイス、たとえばソースデバイス２２０とダッシュボードシンクデバイス３６０との間の通信を可能にするように構成されたプロセッサ３３１によって実行可能なアプリケーションを記憶し得る。そのようなシンクデバイスダッシュボードアプリケーションは、ソースデバイスと自動車中のダッシュボードの部分または全体を形成するダッシュボードシンクデバイス３６０との間のペアリングとワイヤレス通信とを可能にするワイヤレスディスプレイ（ＷＩＤＩ）アプリケーションであり得る。一例では、シンクデバイスダッシュボードアプリケーションは、ＷＦＤシステムおよび通信セッションに関連付けられた１つまたは複数の規格に準拠し得る。別の例では、シンクデバイスダッシュボードアプリケーションは、たとえばダッシュボードおよび／または自動車製造業者の１つまたは複数のプロプライエタリプロトコルを介し、たとえば、ソースデバイスとダッシュボードシンクデバイスとの間の帯域外ＴＣＰ／ＩＰリンクを使用して、ＷＦＤ規格外のソースデバイスとダッシュボードシンクデバイス３６０との間の通信を可能にし得る。
【００６２】
[0078]メモリ３３２に記憶され、ダッシュボードシンクデバイス３６０のプロセッサ３３１によって実行されるシンクデバイスダッシュボードアプリケーションまたは別のアプリケーションはまた、シンクデバイス３６０が配置された自動車のシステムおよびデバイスと通信するエージェントを含み得る。たとえば、ダッシュボードシンクデバイス３６０が配置された自動車の様々なデバイス、たとえばＥＣＵおよび自動車の１つまたは複数のセンサーは、自動車の動作に関係するデータを生成し得る。メモリ３３２上に記憶され、ダッシュボードシンクデバイス３６０のプロセッサ３３１によって実行されるエージェントは、そのような自動車データとインターフェースし、それらを取り出しまたは受信するように構成され得、そのような自動車データは次いで、いくつかの例では、ソースデバイスに送信され、ソースデバイスによって様々な方法で処理され得る。たとえば、自動車のセンサーおよびエンジン制御ユニット（ＥＣＵ）によって追跡および記憶されたガスマイレージデータは、ダッシュボードシンクデバイス３６０上で実行されるエージェントによって取り出され得る。さらに、速度、加速度、制動のような自動車の他の関係する動作データと、運転習慣およびメトリックに関係する他のデータとが、エージェントによって自動車の１つまたは複数の構成要素から取り出され得る。この自動車データは、ダッシュボードシンクデバイス３６０によって、たとえば、自動車データをカプセル化するトランスポートユニット３３３と、ワイヤレスソースデバイスにデータを送信するＷｉ−Ｆｉモデム３３４とによって、たとえばユーザの携帯電話に送信され得る。携帯電話は、たとえば、ガスマイレージデータを経時的に追跡および編成し、場合によっては、ガスマイレージを運転習慣／メトリックに相関させるアプリケーションを含む、データを処理するための様々な機能を含み得る。
【００６３】
[0079]上記のガスマイレージ例以外の多種多様な自動車データおよびそのようなデータの処理が、本開示による例において企図される。たとえば、自動車のサービス、保守、および／または故障に関係する他の診断情報と同様に、自動車ＥＣＵからのエラーコードが、追跡され、記憶され、ダッシュボードシンクデバイス３６０から携帯電話のようなワイヤレスソースデバイスに通信され得る。ダッシュボードシンクデバイスが配置された自動車からのそのようなエラーまたは診断情報は、携帯電話のようなソースデバイス上で追跡および分析され得、たとえば、自動車に従事することを認定および／または許可された販売代理店またはサービスステーションにおけるサービス予約を自動的に要求するためにさえ使用され得る。別の例では、ダッシュボードシンクデバイスが配置された自動車からのエラーまたは診断情報は、携帯電話のようなソースデバイス上で追跡および分析され得、たとえば、自動車をサービスしてもらうためにカレンダーイベント、リマインダ、またはタスクを自動的に生成するためにさえ使用され得る。たとえば、通常サービスイベント、たとえばオイル交換あるいは他のマイレージまたは時間ベースの予防的なサービス検査に関して生成される自動車ＥＣＵからのコードは、追跡され、記憶され、ダッシュボードシンクデバイス３６０から携帯電話のようなワイヤレスソースデバイスに通信され得る。そのような場合、携帯電話ソースデバイスは、ダッシュボードシンクデバイス３６０から受信されたＥＣＵコードを分析し、たとえば、「オイル交換」または「１５，０００マイル検査」などと題されたリマインダを用いてまたは用いずにカレンダーイベントを自動的にスケジュールし得る。
【００６４】
[0080]本開示の多くの詳細について、自動車のコンテキストにおいて説明した。自動車固有のデータのいくつかの例について、このコンテキストにおいて説明した。しかしながら、本明細書で説明する技法は、多数の他のタイプの乗り物を用いた多種多様な適用例を見つけ得、そのような適用例の場合、乗り物データは異なり得る。ダッシュボードまたは何らかの等価な構造上にディスプレイデバイスを含むいかなる乗り物も、本明細書で説明する技法のうちの１つまたは複数を使用することができる。ダッシュボードとソースデバイスとの間で通信されるデータは、乗り物固有であり得、乗り物のタイプに応じて異なり得る。
【００６５】
[0081]本開示によるダッシュボードシンクデバイスを採用することができる例示的な乗り物としては、自動車、船舶、航空機、オールテラインビークル（ＡＴＶ）、タンクまたは他の軍用乗り物、セミトラックまたは他の輸送乗り物、およびブルドーザー、トラクター、または他の重機、および列車、ゴルフカート、および他のタイプの乗り物がある。多種多様な乗り物データおよびそのようなデータの処理が、本開示による例において企図される。
【００６６】
[0082]たとえば、ゴルフスコア、ハンディキャップ、バーディ、イーグルおよびボギーのようなパフォーマンスメトリックが、追跡され、記憶され、ゴルフカート中に含まれるダッシュボードシンクデバイスから携帯電話のようなワイヤレスソースデバイスに通信され得る。そのようなゴルフ統計値は、携帯電話のようなソースデバイス上で追跡および分析され得る。たとえば、ある時間期間にわたる様々なゴルフコースにおけるゴルフスコアが、ダッシュボードシンクデバイスから携帯電話ソースに通信され、携帯電話は、ゴルファーのハンディキャップを自動的に計算し、追跡し、更新するためにスコアを集め得る。
【００６７】
[0083]別の例では、農業に関係するパラメータが、トラクター上のダッシュボードシンクデバイスによって、追跡され、記憶され、携帯電話またはラップトップコンピュータのようなソースデバイスにワイヤレス通信され得る。たとえば、収穫量のような収穫データが、ダッシュボードシンクデバイスによって追跡され、携帯電話に通信され、携帯電話は、次いで、いくつかの異なる収穫にわたって収穫量を記憶および追跡し得る。
【００６８】
[0084]別の例では、任務データが、軍用乗り物のダッシュボードシンクデバイスによって追跡され、携帯電話またはラップトップコンピュータのようなソースデバイスにワイヤレス通信され得る。たとえば、タンク、飛行機、ヘリコプターまたは他の軍用乗り物を含む武装した軍用乗り物から発射された弾薬の量を示すデータが、軍用乗り物に搭載されたダッシュボードシンクデバイスによって追跡され、シンクデバイスにワイヤレス通信され得る。そのような例では、シンクデバイス、たとえば、ラップトップコンピュータは、弾薬データを司令部に自動的に通信し、分析または他の参照のためにデータをアーカイブするシステムを制御することができる。
【００６９】
[0085]図４に、通信チャネル１５０を介して通信するために図１Ａの送信機／受信機１２６と送信機／受信機１６６とによって使用され得る、例示的な送信機システム４１０と受信機システム４５０とのブロック図を示す。送信機システム４１０において、いくつかのデータストリームのトラフィックデータがデータソース４１２から送信（ＴＸ）データプロセッサ４１４に与えられる。各データストリームは、それぞれの送信アンテナを介して送信され得る。ＴＸデータプロセッサ４１４は、各データストリームのトラフィックデータを、そのデータストリーム用に選択された特定のコーディング方式に基づいてフォーマットし、コーディングし、インターリーブする。
【００７０】
[0086]各データストリームのコード化データは、直交周波数分割多重化（ＯＦＤＭ）技法を使用してパイロットデータと多重化され得る。限定はしないが、時分割多元接続（ＴＤＭＡ）、周波数分割多元接続（ＦＤＭＡ）、符号分割多元接続（ＣＤＭＡ）、あるいはＯＦＤＭ、ＦＤＭＡ、ＴＤＭＡおよび／またはＣＤＭＡの任意の組合せを含む、多種多様な他のワイヤレス通信技法も使用され得る。
【００７１】
[0087]図４に従って、パイロットデータは、典型的には、知られている方法で処理される既知のデータパターンであり、チャネル応答を推定するために受信機システムにおいて使用され得る。次いで、各データストリームの多重化されたパイロットおよびコード化データは、変調シンボルを与えるために、そのデータストリーム用に選択された特定の変調方式（たとえば、２位相シフトキーイング（ＢＰＳＫ）、４位相シフトキーイング（ＱＰＳＫ）、Ｍ−ＰＳＫ、またはＭ−ＱＡＭ（直交振幅変調）、ここでＭは２のべき乗であり得る）に基づいて変調（たとえば、シンボルマッピング）される。各データストリームのデータレート、コーディング、および変調は、メモリ４３２に結合され得るプロセッサ４３０によって実行される命令によって判断され得る。
【００７２】
[0088]次いで、データストリームの変調シンボルがＴＸ  ＭＩＭＯプロセッサ４２０に与えられ、ＴＸ  ＭＩＭＯプロセッサ４２０はさらに（たとえば、ＯＦＤＭ用に）その変調シンボルを処理し得る。次いで、ＴＸ  ＭＩＭＯプロセッサ４２０はＮT個の変調シンボルストリームをＮT個の送信機（ＴＭＴＲ）４２２ａ〜４２２ｔに与えることができる。いくつかの態様では、ＴＸ  ＭＩＭＯプロセッサ４２０は、データストリームのシンボルと、シンボルの送信元のアンテナとにビームフォーミング重みを適用する。
【００７３】
[0089]各送信機４２２は、それぞれのシンボルストリームを受信し、処理して、１つまたは複数のアナログ信号を与え、さらに、それらのアナログ信号を調整（たとえば、増幅、フィルタ処理、およびアップコンバート）して、ＭＩＭＯチャネルを介した送信に適した被変調信号を与え得る。次いで、送信機４２２ａ〜４２２ｔからのＮT個の被変調信号は、それぞれＮT個のアンテナ４２４ａ〜４２４ｔから送信される。
【００７４】
[0090]受信機システム４５０において、送信された被変調信号はＮR個のアンテナ４５２ａ〜４５２ｒによって受信され、各アンテナ４５２からの受信信号は、それぞれの受信機（ＲＣＶＲ）４５４ａ〜４５４ｒに与えられる。受信機４５４は、それぞれの受信信号を調整（たとえば、フィルタ処理、増幅、およびダウンコンバート）し、調整された信号をデジタル化して、サンプルを与え、さらにそれらのサンプルを処理して、対応する「受信」シンボルストリームを与える。
【００７５】
[0091]次いで、受信（ＲＸ）データプロセッサ４６０は、ＮR個の受信機４５４からＮR個の受信シンボルストリームを受信し、特定の受信機処理技法に基づいて処理して、ＮT個の「検出」シンボルストリームを与える。次いで、ＲＸデータプロセッサ４６０は、各検出シンボルストリームを復調し、デインターリーブし、復号して、データストリームのトラフィックデータを復元する。ＲＸデータプロセッサ４６０による処理は、送信機システム４１０におけるＴＸ  ＭＩＭＯプロセッサ４２０およびＴＸデータプロセッサ４１４によって実行される処理と相補的なものである。
【００７６】
[0092]メモリ４７２と結合され得るプロセッサ４７０は、どのプリコーディング行列を使用すべきかを周期的に判断する。逆方向リンクメッセージは、通信リンクおよび／または受信データストリームに関する様々なタイプの情報を備え得る。次いで、逆方向リンクメッセージは、データソース４３６からいくつかのデータストリームのトラフィックデータをも受信するＴＸデータプロセッサ４３８によって処理され、変調器４８０によって変調され、送信機４５４ａ〜４５４ｒによって調整され、送信機システム４１０に戻される。
【００７７】
[0093]送信機システム４１０において、受信機システム４５０からの被変調信号は、アンテナ４２４によって受信され、受信機４２２によって調整され、復調器４４０によって復調され、ＲＸデータプロセッサ４４２によって処理されて、受信機システム４５０によって送信された逆方向リンクメッセージが抽出される。次いで、プロセッサ４３０は、ビームフォーミング重みを判断するためにどのプリコーディング行列を使用すべきかを判断し、次いで、抽出されたメッセージを処理する。
【００７８】
[0094]図５Ａは、機能ネゴシエーションセッションの一部としてのソースデバイス５２０とシンクデバイス５６０との間の例示的なメッセージ転送シーケンスを示すブロック図である。機能ネゴシエーションは、ソースデバイス５２０とシンクデバイス５６０との間のより大きい通信セッション確立プロセスの一部として行われ得る。このセッションは、たとえば、基礎をなす接続性規格としてのＷｉ−Ｆｉ  ＤｉｒｅｃｔまたはＴＤＬＳで確立され得る。さらに、上述のように、ダッシュボードシンクデバイスと認証ワイヤレスソースデバイスとの間の通信を含む本開示による例では、通信セッションはＷＦＤ規格外で行われ得、たとえば、プロプライエタリプロトコルおよび／またはソースデバイスとダッシュボードシンクデバイスとの間の帯域外ＴＣＰ／ＩＰリンクのような他の通信手段を使用することを含む。Ｗｉ−Ｆｉ  ＤｉｒｅｃｔまたはＴＤＬＳセッションを確立した後に、シンクデバイス５６０は、ソースデバイス５２０とのＴＣＰ接続を開始することができる。ＴＣＰ接続を確立することの一部として、ソースデバイス５２０とシンクデバイス５６０との間の通信セッションを管理するために、リアルタイムストリーミングプロトコル（ＲＴＳＰ：real time streaming protocol）を実行する制御ポートが確立され得る。
【００７９】
[0095]ソースデバイス５２０は、概して、図１Ａのソースデバイス１２０について上記で説明したのと同じ方法で動作し得、シンクデバイス５６０は、概して、図１Ａのシンクデバイス１６０について上記で説明したのと同じ方法で動作し得る。ソースデバイス５２０とシンクデバイス５６０とが接続性を確立した後、ソースデバイス５２０とシンクデバイス５６０とは、機能ネゴシエーション交換の一部としてそれらのデバイスの後続の通信セッションのために使用されるべきパラメータのセットを判断し得る。
【００８０】
[0096]ソースデバイス５２０とシンクデバイス５６０とは、メッセージのシーケンスを通して機能をネゴシエートし得る。それらのメッセージは、たとえば、リアルタイムストリーミングプロトコル（ＲＴＳＰ）メッセージであり得る。そのネゴシエーションのいずれかの段階において、ＲＴＳＰ要求メッセージの受信側が、ＲＴＳＰ  ＯＫ以外のＲＴＳＰステータスコードを含むＲＴＳＰ応答で応答し得、その場合、メッセージ交換はパラメータの異なるセットを用いて再試行され得、または機能ネゴシエーションセッションは終了され得る。
【００８１】
[0097]ソースデバイス５２０は、シンクデバイス５６０がサポートするＲＴＳＰ方法のセットを判断するために、シンクデバイス５６０に第１のメッセージ（ＲＴＳＰ  ＯＰＴＩＯＮＳ要求メッセージ）を送ることができる。ソースデバイス５２０から第１のメッセージを受信すると、シンクデバイス５６０は、シンク５６０によってサポートされるＲＴＳＰ方法をリストする第２のメッセージ（ＲＴＳＰ  ＯＰＴＩＯＮＳ応答メッセージ）で応答することができる。また、第２のメッセージはＲＴＳＰ  ＯＫステータスコードを含み得る。
【００８２】
[0098]ソースデバイス５２０に第２のメッセージを送った後に、シンクデバイス５６０は、ソースデバイス５２０がサポートするＲＴＳＰ方法のセットを判断するために、第３のメッセージ（ＲＴＳＰ  ＯＰＴＩＯＮＳ要求メッセージ）を送ることができる。シンクデバイス５６０から第３のメッセージを受信すると、ソースデバイス５２０は、ソースデバイス５２０によってサポートされるＲＴＳＰ方法をリストする第４のメッセージ（ＲＴＳＰ  ＯＰＴＩＯＮＳ応答メッセージ）で応答することができる。また、第４のメッセージはＲＴＳＰ  ＯＫステータスコードを含むことができる。
【００８３】
[0099]第４のメッセージを送った後に、ソースデバイス５２０は、ソースデバイス５２０に関係のある機能のリストを指定するために、第５のメッセージ（ＲＴＳＰ  ＧＥＴ＿ＰＡＲＡＭＥＴＥＲ要求メッセージ）を送ることができる。シンクデバイス５６０は第６のメッセージ（ＲＴＳＰ  ＧＥＴ＿ＰＡＲＡＭＥＴＥＲ応答メッセージ）で応答することができる。第６のメッセージはＲＴＳＰステータスコードを含んでいることがある。ＲＴＳＰステータスコードがＯＫである場合、第６のメッセージは、シンクデバイス５６０によってサポートされる、第５のメッセージ中で指定されたパラメータに対する応答パラメータをも含むことができる。シンクデバイス５６０は、シンクデバイス５６０がサポートしない、第５のメッセージ中のパラメータを無視することができる。
【００８４】
[00100]第６のメッセージに基づいて、ソース５２０は、通信セッションのために使用されるべきパラメータの最適セットを判断することができ、シンクデバイス５６０に第７のメッセージ（ＲＴＳＰ  ＳＥＴ＿ＰＡＲＡＭＥＴＥＲ要求メッセージ）を送ることができる。第７のメッセージは、ソースデバイス５２０とシンクデバイス５６０との間の通信セッション中に使用されるべきパラメータセットを含んでいることがある。第７のメッセージは、通信セッションをセットアップするためにＲＴＳＰ  Ｓｅｔｕｐ要求中で使用されるべきユニバーサルリソース識別子（ＵＲＩ：Universal Resource Identifier）を記述するｗｆｄ−ｐｒｅｓｅｎｔａｔｉｏｎ−ｕｒｌを含むことができる。ＵＲＩは、ユニフォームリソースロケータ（ＵＲＬ）、ユニフォームリソースネーム（ＵＲＮ）などを含み得る。ｗｆｄ−ｐｒｅｓｅｎｔａｔｉｏｎ−ｕｒｌは、シンクデバイス５６０がセッション確立交換中に後のメッセージのために使用することができるＵＲＩを指定する。このパラメータ中で指定されたｗｆｄ−ｕｒｌ０値およびｗｆｄ−ｕｒｌ１値は、第７のメッセージ中のｗｆｄ−ｃｌｉｅｎｔ−ｒｔｐ−ｐｏｒｔｓ中のｒｔｐ−ｐｏｒｔ０値およびｒｔｐ−ｐｏｒｔ１値の値に対応することができる。この事例におけるＲＴＰは、概して、ＵＤＰの上で動作することができるリアルタイムプロトコルを指す。
【００８５】
[00101]第７のメッセージを受信すると、シンクデバイス５６０は、第７のメッセージ中で指定されたパラメータを設定することが成功していたかどうかを示すＲＴＳＰステータスコードをもつ第８のメッセージで応答することができる。上述のように、ソースデバイスとシンクデバイスとの役割は、異なるセッションでは逆になるかまたは変化し得る。通信セッションをセットアップするメッセージの順序は、場合によっては、ソースとして動作するデバイスを定義し、シンクとして動作するデバイスを定義し得る。
【００８６】
[00102]図５Ｂは、機能ネゴシエーションセッションの一部としてのソースデバイス５６０とシンクデバイス５２０との間の別の例示的なメッセージ転送シーケンスを示すブロック図である。図５Ｂのメッセージ転送シーケンスは、図５Ａについて上記で説明した転送シーケンスのより詳細な図を与えることを目的とする。図５Ｂでは、メッセージ「１ｂ．ＧＥＴ＿ＰＡＲＡＭＥＴＥＲ  ＲＥＳＰＯＮＳＥ」は、サポートされる入力カテゴリー（たとえば一般およびＨＩＤＣ）のリストとサポートされる入力タイプの複数のリストとを識別するメッセージの一例を示す。サポートされる入力カテゴリーのリストのサポートされる入力カテゴリーの各々は、サポートされるタイプの関連付けられたリスト（たとえばｇｅｎｅｒｉｃ＿ｃａｐ＿ｌｉｓｔおよびｈｉｄｃ＿ｃａｐ＿ｌｉｓｔ）を有する。
【００８７】
[00103]図５Ｂでは、メッセージ「２ａ．ＳＥＴ＿ＰＡＲＡＭＥＴＥＲ  ＲＥＳＰＯＮＳＥ」は、サポートされる入力カテゴリー（たとえば一般およびＨＩＤＣ）の第２のリストと、サポートされるタイプの複数の第２のリストとを識別する、第２のメッセージの一例である。サポートされる入力カテゴリーの第２のリストのサポートされる入力カテゴリーの各々は、サポートされるタイプの関連付けられた第２のリスト（たとえばｇｅｎｅｒｉｃ＿ｃａｐ＿ｌｉｓｔおよびｈｉｄｃ＿ｃａｐ＿ｌｉｓｔ）を有する。メッセージ「１ｂ．ＧＥＴ＿ＰＡＲＡＭＥＴＥＲ  ＲＥＳＰＯＮＳＥ」は、シンクデバイス５６０によってサポートされる入力カテゴリーと入力タイプとを識別する。メッセージ「２ａ．ＳＥＴ＿ＰＡＲＡＭＥＴＥＲ  ＲＥＱＥＳＴ」は、ソースデバイス５２０によってサポートされる入力カテゴリーと入力タイプとを識別するが、それは、ソースデバイス５２０によってサポートされるすべての入力カテゴリーと入力タイプとの包括的なリストでないことがある。代わりに、メッセージ「２ａ．ＳＥＴ＿ＰＡＲＡＭＥＴＥＲ  ＲＥＱＵＥＳＴ」は、シンクデバイス５６０によってサポートされるものとしてメッセージ「１ｂ．ＧＥＴ＿ＰＡＲＡＭＥＴＥＲ  ＲＥＳＰＯＮＳＥ」中で識別された入力カテゴリーと入力タイプとのみを識別し得る。このようにして、メッセージ「２ａ．ＳＥＴ＿ＰＡＲＡＭＥＴＥＲ  ＲＥＱＵＥＳＴ」中で識別される入力カテゴリーと入力タイプとは、メッセージ「１ｂ．ＧＥＴ＿ＰＡＲＡＭＥＴＥＲ  ＲＥＳＰＯＮＳＥ」中で識別された入力カテゴリーと入力タイプとのサブセットを構成し得る。
【００８８】
[00104]図６は、シンクデバイスによって生成され、ソースデバイスに送信され得る、データパケットの一例を示す概念図である。図１Ａを参照しながらデータパケット６００の態様について説明することになるが、説明する技法は追加のタイプのソース／シンクシステムに適用可能であり得る。データパケット６００はデータパケットヘッダ６１０を含み得、その後にペイロードデータ６５０が続く。ペイロードデータ６５０は、１つまたは複数のペイロードヘッダ（たとえばペイロードヘッダ６３０）をさらに含み得る。データパケット６００は、たとえば、シンクデバイス１６０のユーザが、ソースデバイス１２０によって送信されているオーディオ／ビデオデータを制御することができるように、図１Ａのシンクデバイス１６０からソースデバイス１２０に送信され得る。そのような場合、ペイロードデータ６５０は、シンクデバイス１６０において受信されたユーザ入力データを含み得る。ペイロードデータ６５０は、たとえば、１つまたは複数のユーザコマンドを識別し得る。シンクデバイス１６０は、１つまたは複数のユーザコマンドを受信することができ、受信されたコマンドに基づいて、データパケットヘッダ６１０とペイロードデータ６５０とを生成することができる。データパケット６００のデータパケットヘッダ６１０のコンテンツに基づいて、ソースデバイス１２０は、シンクデバイス１６０において受信されたユーザ入力データを識別するためにペイロードデータ６５０をパースすることができる。ペイロードデータ６５０中に含まれているユーザ入力データに基づいて、ソースデバイス１２０は、ソースデバイス１２０からシンクデバイス１６０に送信されているオーディオおよびビデオデータを何らかの方法で変更し得る。
【００８９】
[00105]本開示で使用する「パース（parse）」および「パーシング（parsing）」という用語は、概して、ビットストリームからデータを抽出するためにビットストリームを分析するプロセスを指す。抽出されると、データは、たとえば、ソースデバイス１２０によって処理され得る。データを抽出することは、たとえば、ビットストリーム中の情報がどのようにフォーマットされているかを識別することを含み得る。以下でより詳細に説明するように、データパケットヘッダ６１０は、ソースデバイス１２０とシンクデバイス１６０の両方にとって既知である規格化されたフォーマットを定義し得る。ただし、ペイロードデータ６５０は多くの可能な方法のうちの１つでフォーマットされ得る。データパケットヘッダ６１０をパースすることによって、ソースデバイス１２０は、ペイロードデータ６５０がどのようにフォーマットされているかを判断することができ、したがって、ソースデバイス１２０は、ペイロードデータ６５０から１つまたは複数のユーザ入力コマンドを抽出するためにペイロードデータ６５０をパースすることができる。これは、ソースシンク通信においてサポートされ得る異なるタイプのペイロードデータの観点からフレキシビリティを与えることができる。以下でより詳細に説明するように、ペイロードデータ６５０は、ペイロードヘッダ６３０などの１つまたは複数のペイロードヘッダをも含み得る。そのような場合、ソースデバイス１２０は、ペイロードヘッダ６３０についてのフォーマットを判断するためにデータパケットヘッダ６１０をパースし、次いで、ペイロードデータ６５０の残りについてのフォーマットを判断するためにペイロードヘッダ６３０をパースし得る。
【００９０】
[00106]図６２０は、データパケットヘッダ６１０がどのようにフォーマットされ得るかについての概念図である。行６１５における番号０〜１５は、データパケットヘッダ６１０内のビットロケーションを識別することを目的としており、データパケットヘッダ６１０内に含まれている情報を実際に表すことを目的としていない。データパケットヘッダ６１０は、バージョンフィールド６２１と、タイムスタンプフラグ６２２と、予約済みフィールド６２３と、入力カテゴリーフィールド６２４と、長さフィールド６２５と、随意のタイムスタンプフィールド６２６とを含む。
【００９１】
[00107]図６の例では、バージョンフィールド６２１は、シンクデバイス１６０によって実装されている特定の通信プロトコルのバージョンを示し得る３ビットフィールドである。バージョンフィールド６２１中の値は、データパケットヘッダ６１０の残りをどのようにパースすべきか、ならびにペイロードデータ６５０をどのようにパースすべきかを、ソースデバイス１２０に通知し得る。図６の例では、バージョンフィールド６２１は、８つの異なるバージョンについての一意の識別子を可能にするであろう３ビットフィールドである。他の例では、より多いまたはより少ないビットがバージョンフィールド６２１に専用であり得る。
【００９２】
[00108]図６の例では、タイムスタンプフラグ（Ｔ）６２２は、タイムスタンプフィールド６２６がデータパケットヘッダ６１０中に存在するか否かを示す１ビットフィールドである。タイムスタンプフィールド６２６は、ソースデバイス１２０によって生成され、シンクデバイス１６０に送信された、マルチメディアデータに基づくタイムスタンプを含んでいる、１６ビットフィールドである。タイムスタンプは、たとえば、ビデオのフレームがシンクデバイス１６０に送信されるより前に、ソースデバイス１２０によってそのフレームに割り当てられる、連続値であり得る。タイムスタンプフラグ６２２は、たとえば、タイムスタンプフィールド６２６が存在することを示すための「１」を含み得、タイムスタンプフィールド６２６が存在しないことを示すための「０」を含み得る。データパケットヘッダ６１０をパースし、タイムスタンプフィールド６２６が存在すると判断すると、ソースデバイス１２０は、タイムスタンプフィールド６２６中に含まれるタイムスタンプを処理することができる。データパケットヘッダ６１０をパースし、タイムスタンプフィールド６２６が存在しないと判断すると、ソースデバイス１２０は、タイムスタンプフィールドがデータパケットヘッダ６１０中に存在しないので、長さフィールド６２５をパースした後にペイロードデータ６５０をパースし始め得る。
【００９３】
[00109]存在する場合、タイムスタンプフィールド６２６は、ペイロードデータ６５０のユーザ入力データが取得されたときにワイヤレスシンクデバイス１６０において表示されていたビデオデータのフレームを識別するためのタイムスタンプを含むことができる。タイムスタンプは、たとえば、ソースデバイス１２０がシンクデバイス１６０にビデオのフレームを送信するより前に、ソースデバイス１２０によってビデオのフレームに追加されていることがある。したがって、ソースデバイス１２０は、ビデオのフレームを生成し、そのフレームのビデオデータ中に、たとえばメタデータとして、タイムスタンプを埋め込み得る。ソースデバイス１２０は、タイムスタンプとともに、ビデオフレームをシンクデバイス１６０に送信することができ、シンクデバイス１６０はビデオのフレームを表示することができる。ビデオのフレームがシンクデバイス１６０によって表示されている間、シンクデバイス１６０はユーザからユーザコマンドを受信することができる。シンクデバイス１６０がユーザコマンドをソースデバイス１２０に転送するためにデータパケットを生成するとき、シンクデバイス１６０は、ユーザコマンドが受信されたときにシンクデバイス１６０によって表示されていたフレームのタイムスタンプをタイムスタンプフィールド６２６中に含めることができる。
【００９４】
[00110]タイムスタンプフィールド６２６がヘッダ中に存在するデータパケット６００を受信すると、ワイヤレスソースデバイス１２０は、ペイロードデータ６５０のユーザ入力データが取得されたときにシンクデバイス１６０において表示されているビデオのフレームを識別し、タイムスタンプによって識別されるフレームのコンテンツに基づいてユーザ入力データを処理し得る。たとえば、ユーザ入力データが、タッチディスプレイに適用されたタッチコマンド、またはマウスポインタのクリックである場合、ソースデバイス１２０は、ユーザがディスプレイにタッチコマンドを適用したかまたはマウスをクリックしたときに表示されているフレームのコンテンツを判断することができる。いくつかの事例では、ペイロードデータを適切に処理するためにフレームのコンテンツが必要とされ得る。たとえば、ユーザタッチまたはマウスクリックに基づくユーザ入力は、タッチまたはクリックのときにディスプレイ上に何が示されていたかに依存することがある。タッチまたはクリックは、たとえば、アイコンまたはメニューオプションに対応し得る。ディスプレイのコンテンツが変化している事例では、タイムスタンプフィールド６２６中に存在するタイムスタンプは、タッチまたはクリックを正しいアイコンまたはメニューオプションに整合させるために、ソースデバイス１２０によって使用され得る。
【００９５】
[00111]ソースデバイス１２０は、追加または代替として、タイムスタンプフィールド６２６中のタイムスタンプを、ビデオの現在レンダリングされているフレームに適用されているタイムスタンプと比較し得る。タイムスタンプフィールド６２６のタイムスタンプを現在のタイムスタンプと比較することによって、ソースデバイス１２０はラウンドトリップ時間を判断することができる。ラウンドトリップ時間は、概して、フレームがソースデバイス１２０によって送信された時点から、そのフレームに基づくユーザ入力がシンクデバイス１６０からソースデバイス１２０に戻って受信された時点までに経過した、時間量に対応する。ラウンドトリップ時間は、ソースデバイス１２０にシステムレイテンシの指示を与えることができ、ラウンドトリップ時間がしきい値よりも大きい場合、ソースデバイス１２０は、入力コマンドが古いディスプレイフレームに適用されたという仮定の下で、ペイロードデータ６５０中に含まれているユーザ入力データを無視し得る。ラウンドトリップ時間がしきい値よりも小さいとき、ソースデバイス１２０は、ユーザ入力データを処理し、ユーザ入力データに応答して、送信されているオーディオ／ビデオコンテンツを調整し得る。しきい値はプログラマブルであり得、異なるタイプのデバイス（または異なるソースシンク組合せ）が、許容できるラウンドトリップ時間についての異なるしきい値を定義するように構成され得る。
【００９６】
[00112]図６の例では、予約済みフィールド６２３は、データパケットヘッダ６１０とペイロードデータ６５０とをパースする際にソース１２０によって使用される情報を含まない８ビットフィールドである。ただし、（バージョンフィールド６２１中で識別される）特定のプロトコルの将来のバージョンが予約済みフィールド６２３を利用し得、その場合、ソースデバイス１２０は、データパケットヘッダ６１０をパースするために、および／またはペイロードデータ６５０をパースするために、予約済みフィールド６２３中の情報を使用し得る。予約済みフィールド６２３は、バージョンフィールド６２１と併せて、すでに使用中のフォーマットと特徴とを基本的に変更することなしに、特徴を拡張し、特徴をデータパケットフォーマットに追加するための機能を潜在的に与える。
【００９７】
[00113]図６の例では、入力カテゴリーフィールド６２４は、ペイロードデータ６５０中に含まれているユーザ入力データについての入力カテゴリーを識別するための４ビットフィールドである。シンクデバイス１６０は、入力カテゴリーを判断するためにユーザ入力データをカテゴリー分類し得る。ユーザ入力データをカテゴリー分類することは、たとえば、コマンドがそこから受信されたデバイスに基づくか、またはコマンド自体の性質に基づき得る。入力カテゴリーフィールド６２４の値は、場合によってはデータパケットヘッダ６１０の他の情報と併せて、ペイロードデータ６５０がどのようにフォーマットされているかをソースデバイス１２０に対して識別する。このフォーマッティングに基づいて、ソースデバイス１２０は、シンクデバイス１６０において受信されたユーザ入力を判断するためにペイロードデータ６５０をパースすることができる。
【００９８】
[00114]図６の例では入力カテゴリー６２４が４ビットであるので、１６個の異なる入力カテゴリーが場合によっては識別され得る。１つのそのような入力カテゴリーは、ペイロードデータ６５０のユーザ入力データが、ソースデバイス１２０とシンクデバイス１６０の両方によって実行されているプロトコルにおいて定義されている一般情報要素を使用してフォーマットされていることを示すための、一般入力フォーマットであり得る。一般入力フォーマットは、以下でより詳細に説明するように、シンクデバイス１６０のユーザがアプリケーションレベルでソースデバイス１２０とインタラクトすることを可能にする、一般情報要素を利用し得る。
【００９９】
[00115]別のそのような入力カテゴリーは、ペイロードデータ６５０のユーザ入力データが、入力データを受信するために使用される入力デバイスのタイプに基づいてフォーマットされていることを示すための、ヒューマンインターフェースデバイスコマンド（ＨＩＤＣ：human interface device command）フォーマットであり得る。デバイスのタイプの例は、キーボード、マウス、タッチ入力デバイス、ジョイスティック、カメラ、（カメラベースの入力デバイスなどの）ジェスチャーキャプチャデバイス、および遠隔制御装置を含む。入力カテゴリーフィールド６２４中で識別され得る他のタイプの入力カテゴリーは、ペイロードデータ６５０中のユーザデータがシンクデバイス１６０において発信しなかったことを示すためのフォワーディング入力フォーマット、またはオペレーティングシステム固有フォーマット、およびペイロードデータ６５０がボイスコマンドを含むことを示すためのボイスコマンドフォーマットを含む。
【０１００】
[00116]長さフィールド６２５は、データパケット６００の長さを示すための１６ビットフィールドを備え得る。長さは、たとえば、８ビットの単位で示され得る。データパケット６００が１６ビットのワードでソースデバイス１２０によってパースされるとき、データパケット６００は１６ビットの整数までパディングされ得る。長さフィールド６２５中に含まれている長さに基づいて、ソースデバイス１２０は、ペイロードデータ６５０の終了（すなわちデータパケット６００の終了）と新しい後続のデータパケットの開始とを識別することができる。
【０１０１】
[00117]図６の例で与えられるフィールドの様々なサイズは単に説明用であるものとし、それらのフィールドは、図６に示すものとは異なる数のビットを使用して実装され得るものとする。さらに、データパケットヘッダ６１０は、上記で説明したすべてのフィールドよりも少数のフィールドを含み得るか、または上記で説明していない追加のフィールドを使用し得ることも企図される。実際、本開示の技法は、パケットの様々なデータフィールドのために使用される実際のフォーマットの観点から、フレキシブルであり得る。
【０１０２】
[00118]ペイロードデータ６５０のフォーマッティングを判断するためにデータパケットヘッダ６１０をパースした後に、ソースデバイス１２０は、ペイロードデータ６５０中に含まれているユーザ入力コマンドを判断するためにペイロードデータ６５０をパースすることができる。ペイロードデータ６５０は、ペイロードデータ６５０のコンテンツを示すそれ自体のペイロードヘッダ（ペイロードヘッダ６３０）を有し得る。このようにして、ソースデバイス１２０は、データパケットヘッダ６１０のパーシングに基づいてペイロードヘッダ６３０をパースし、次いで、ペイロードヘッダ６３０のパーシングに基づいて残りのペイロードデータ６５０をパースし得る。
【０１０３】
[00119]たとえば、データパケットヘッダ６１０の入力カテゴリーフィールド６２４が、一般入力がペイロードデータ６５０中に存在することを示す場合、ペイロードデータ６５０は一般入力フォーマットを有することがある。したがって、ソースデバイス１２０は、一般入力フォーマットに従ってペイロードデータ６５０をパースすることができる。一般入力フォーマットの一部として、ペイロードデータ６５０は、各入力イベントがそれ自体の入力イベントヘッダを有する、一連の１つまたは複数の入力イベントを含むことができる。以下の表１は、入力ヘッダ中に含まれ得るフィールドを識別する。
【表１】
2015512171.tif 000007
【０１０４】
[00120]一般入力イベント（ＩＥ：input event）識別情報（ＩＤ：identification）フィールドは、入力タイプを識別するための一般入力イベント識別情報を識別する。一般ＩＥ  ＩＤフィールドは、たとえば、長さが１オクテットであり得、以下の表２から選択された識別情報を含み得る。本例のように、一般ＩＥ  ＩＤフィールドが８ビットである場合、（０〜２５５と識別される）２５６個の異なるタイプの入力が識別可能であり得るが、すべての２５６個の識別情報が必ずしも関連付けられた入力タイプを必要とするとは限らない。上記２５６個の一部は、シンクデバイス１６０とソースデバイス１２０とによって実装されているいかなるプロトコルの将来のバージョンの将来の使用のためにも予約され得る。表２では、たとえば、一般ＩＥ  ＩＤ９〜２５５は、関連付けられた入力タイプを有しないが、将来、入力タイプを割り当てられ得る。
【０１０５】
[00121]入力イベントヘッダ中の長さフィールドは、記述フィールドの長さを識別し、記述フィールドは、ユーザ入力を記述する情報要素を含む。記述フィールドのフォーマッティングは、一般ＩＥ  ＩＤフィールド中で識別される入力のタイプに依存し得る。したがって、ソースデバイス１２０は、一般ＩＥ  ＩＤフィールド中で識別される入力タイプに基づいて記述フィールドのコンテンツをパースし得る。入力イベントヘッダの長さフィールドに基づいて、ソースデバイス１２０は、ペイロードデータ６５０中の１つの入力イベントの終了と新しい入力イベントの開始とを判断することができる。以下でより詳細に説明するように、１つのユーザコマンドはペイロードデータ６５０中で１つまたは複数の入力イベントとして記述され得る。
【０１０６】
[00122]表２は、それぞれ、入力タイプを識別するために使用され得る対応する一般ＩＥ  ＩＤを用いた、入力タイプの一例を与える。
【表２】
2015512171.tif 000008
【０１０７】
[00123]各入力タイプに関連付けられた記述フィールドは異なるフォーマットを有し得る。左マウスダウン／タッチダウンイベントと、左マウスアップ／タッチアップイベントと、マウス移動／タッチ移動イベントとの記述フィールドは、たとえば、以下の表３中で識別される情報要素を含み得るが、他の例では他のフォーマットも使用され得る。
【表３】
2015512171.tif 000009
【０１０８】
[00124]ポインタの数は、入力イベントに関連付けられたタッチまたはマウスクリックの数を識別し得る。各ポインタは一意のポインタＩＤを有し得る。たとえば、マルチタッチイベントが３本指タッチを含む場合、入力イベントは、それぞれ、一意のポインタＩＤを用いた、３つのポインタを有し得る。各ポインタ（すなわち各指タッチ）は、そのタッチがどこで行われたかに対応する、対応するｘ座標およびｙ座標を有し得る。
【０１０９】
[00125]単一のユーザコマンドが一連の入力イベントとして記述され得る。たとえば、３本指スワイプが、アプリケーションを閉じるためのコマンドである場合、３本指スワイプは、３つのポインタを用いたタッチダウンイベント、３つのポインタを用いたタッチ移動イベント、および３つのポインタを用いたタッチアップイベントとして、ペイロードデータ６５０中で記述され得る。タッチダウンイベントの３つのポインタは、タッチ移動イベントおよびタッチアップイベントの３つのポインタと同じポインタＩＤを有し得る。ソースデバイス１２０は、それらの３つの入力イベントの組合せを３本指スワイプとして解釈することができる。
【０１１０】
[00126]キーダウンイベントまたはキーアップイベントの記述フィールドは、たとえば、以下の表４中で識別される情報要素を含み得る。
【表４】
2015512171.tif 000010
【０１１１】
[00127]ズームイベントの記述フィールドは、たとえば、以下の表５中で識別される情報要素を含み得る。
【表５】
2015512171.tif 000011
【０１１２】
[00128]水平スクロールイベントまたは垂直スクロールイベントの記述フィールドは、たとえば、以下の表６中で識別される情報要素を含み得る。
【表６】
2015512171.tif 000012
【０１１３】
[00129]上記の例は、一般入力カテゴリーの場合にペイロードデータがフォーマットされ得るいくつかの例示的な方法を示している。データパケットヘッダ６１０の入力カテゴリーフィールド６２４が、フォワーディングされたユーザ入力など、異なる入力カテゴリーを示す場合、ペイロードデータ６５０は異なる入力フォーマットを有することがある。フォワーディングされたユーザ入力の場合、シンクデバイス１６０は、サードパーティデバイスからユーザ入力データを受信し、そのユーザ入力データを解釈することなしにその入力をソースデバイス１２０にフォワーディングし得る。したがって、ソースデバイス１２０は、フォワーディングされたユーザ入力フォーマットに従ってペイロードデータ６５０をパースすることができる。たとえば、ペイロードデータ６５０のペイロードヘッダ６３０は、ユーザ入力がそこから取得されたサードパーティデバイスを識別するためのフィールドを含み得る。そのフィールドは、たとえば、サードパーティデバイスのインターネットプロトコル（ＩＰ）アドレス、ＭＡＣアドレス、ドメインネーム、または何らかの他のそのような識別子を含み得る。ソースデバイス１２０は、サードパーティデバイスの識別子に基づいてペイロードデータの残りをパースすることができる。
【０１１４】
[00130]シンクデバイス１６０は、一連のメッセージを介してサードパーティデバイスと機能をネゴシエートすることができる。シンクデバイス１６０は、次いで、機能ネゴシエーションプロセスの一部としてソースデバイス１２０との通信セッションを確立することの一部としてソースデバイス１２０にサードパーティデバイスの一意の識別子を送信することができる。代替的に、シンクデバイス１６０は、サードパーティデバイスを記述する情報をソースデバイス１２０に送信し得、その情報に基づいて、ソースデバイス１２０はサードパーティデバイスについての一意の識別子を判断することができる。サードパーティデバイスを記述する情報は、たとえば、サードパーティデバイスを識別するための情報および／またはサードパーティデバイスの機能を識別するための情報を含み得る。一意の識別子がソースデバイス１２０によって判断されるのかシンクデバイス１６０によって判断されるのかにかかわらず、シンクデバイス１６０が、サードパーティデバイスから取得されたユーザ入力をもつデータパケットを送信するとき、シンクデバイス１６０は、ソースデバイス１２０がユーザ入力の起点を識別することができるように、一意の識別子をデータパケット中に、たとえばペイロードヘッダ中に含めることができる。
【０１１５】
[00131]データパケットヘッダ６１０の入力カテゴリーフィールド６２４が、ボイスコマンドなど、さらに異なる入力カテゴリーを示す場合、ペイロードデータ６５０は、さらに異なる入力フォーマットを有することがある。ボイスコマンドの場合、ペイロードデータ６５０はコード化オーディオを含み得る。ボイスコマンドのオーディオを符号化および復号するためのコーデックが、一連のメッセージを介してソースデバイス１２０とシンクデバイス１６０との間でネゴシエートされ得る。ボイスコマンドを送信するために、タイムスタンプフィールド６２６は音声サンプリング時間値を含み得る。そのような場合、タイムスタンプフラグ６２２は、タイムスタンプが存在することを示すように設定され得るが、上記で説明したタイムスタンプの代わりに、タイムスタンプフィールド６２６は、ペイロードデータ６５０の符号化オーディオについての音声サンプリング時間値を含み得る。
【０１１６】
[00132]いくつかの例では、ボイスコマンドが、上記で説明したように一般コマンドとして送信され得、その場合、入力カテゴリーフィールド６２４は、一般コマンドフォーマットを識別するように設定され得、予約済み一般ＩＥ  ＩＤのうちの１つがボイスコマンドに割り当てられ得る。ボイスコマンドが一般コマンドとして送信される場合、音声サンプリングレートは、データパケットヘッダ６１０のタイムスタンプフィールド６２６中に存在し得るか、またはペイロードデータ６５０中に存在し得る。
【０１１７】
[00133]キャプチャされたボイスコマンドデータの場合、ボイスデータは複数の方法でカプセル化され得る。たとえば、ボイスコマンドデータは、コーデックとタイムスタンプとを識別するためにペイロードタイプを与えることができるＲＴＰを使用してカプセル化され得、そのタイムスタンプは、サンプリングレートを識別するために使用される。ＲＴＰデータは、随意のタイムスタンプを用いてまたは用いずに、上記で説明した一般ユーザ入力フォーマットを使用してカプセル化され得る。シンクデバイス１６０は、ＴＰＣ／ＩＰを使用してソースデバイス１２０にボイスコマンドデータを搬送する一般入力データを送信することができる。
【０１１８】
[00134]前に説明したように、座標が、データパケット６００などのデータパケットの一部として、たとえばペイロードデータ６５０中に含まれるとき、その座標は、ネゴシエートされた解像度、ディスプレイウィンドウ座標、正規化座標、またはシンクディスプレイに関連付けられた座標、に基づいてスケーリングされた座標に対応し得る。いくつかの事例では、データパケット中で受信された座標を正規化するためにソースデバイスが使用するために、追加情報がデータパケット中に含まれるかまたは別個に送信され得る。
【０１１９】
[00135]特定のデータパケットについての入力カテゴリーにかかわらず、データパケットヘッダはアプリケーションレイヤパケットヘッダであり得、データパケットはＴＣＰ／ＩＰを介して送信され得る。ＴＣＰ／ＩＰにより、シンクデバイス１６０およびソースデバイス１２０は、パケットロスの場合、再送信技法を実行することが可能になることがある。データパケットは、ソースデバイス１２０のオーディオデータまたはビデオデータを制御するために、あるいはソースデバイス１２０上で動作しているアプリケーションを制御するためになどの他の目的で、シンクデバイス１６０からソースデバイス１２０に送られ得る。
【０１２０】
[00136]図７Ａは、シンクデバイスとソースデバイスとの間で機能をネゴシエートする例示的な方法のフローチャートである。図示した例示的な方法は、シンクデバイス１６０（図１Ａ）または３６０（図３）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ３３２）が、実行されたとき、本明細書で説明するフローチャートのうちの１つまたは複数中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ３３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１２１】
[00137]図７Ａの方法は、シンクデバイス１６０がソースデバイス１２０から第１のメッセージを受信する（７０１）ことを含む。そのメッセージは、たとえば、パラメータ入手要求（get parameter request）を備え得る。第１のメッセージに応答して、シンクデバイス１６０はソースデバイス１２０に第２のメッセージを送る（７０３）。第２のメッセージは、たとえば、サポートされる入力カテゴリーの第１のリストとサポートされるタイプの複数の第１のリストとを識別するパラメータ入手応答（get parameter response）を備え得、サポートされる入力カテゴリーの第１のリストのサポートされる入力カテゴリーの各々は、サポートされるタイプの関連付けられた第１のリストを有する。サポートされる入力カテゴリーは、たとえば、図６の入力カテゴリーフィールド６２４のために使用されるのと同じカテゴリーに対応し得る。上記の表２は、特定の入力カテゴリー（この例では一般入力）のためのサポートされるタイプの一例を表す。シンクデバイス１６０はソースデバイス１２０から第３のメッセージを受信する（７０５）。第３のメッセージは、たとえば、パラメータ設定要求（set parameter request）を備え得、パラメータ設定要求は、通信のためのポートと、サポートされる入力カテゴリーの第２のリストと、サポートされるタイプの複数の第２のリストとを識別し、サポートされる入力カテゴリーの第２のリストのサポートされる入力カテゴリーの各々は、サポートされるタイプの関連付けられた第２のリストを有し、第２のリストのサポートされるタイプの各々は、第１のリストのタイプのサブセットを含む。シンクデバイス１６０はソースデバイス１２０に第４のメッセージを送信する（７０７）。第４のメッセージは、たとえば、第２のリストのタイプが有効にされたことを確認するためのパラメータ設定応答（set parameter response）を備え得る。シンクデバイス１６０はソースデバイス１２０から第５のメッセージを受信する（７０９）。第５のメッセージは、たとえば、ソースデバイス１２０とシンクデバイス１６０との間の通信チャネルが有効にされたことを示す第２のパラメータ設定要求を備え得る。その通信チャネルは、たとえば、ユーザ入力バックチャネル（ＵＩＢＣ：user input back channel）を備え得る。シンクデバイス１６０はソースデバイス１２０に第６のメッセージを送信する（７１１）。第６のメッセージは、たとえば、シンクデバイス１６０による第２のパラメータ設定要求の受信を確認する第２のパラメータ設定応答を備え得る。
【０１２２】
[00138]図７Ｂは、シンクデバイスとソースデバイスとの間で機能をネゴシエートする例示的な方法のフローチャートである。図示した例示的な方法は、ソースデバイス１２０（図１Ａ）または２２０（図２）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ２３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ２３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１２３】
[00139]図７Ｂの方法は、ソースデバイス１２０がシンクデバイス１６０に第１のメッセージを送信する（７０２）ことを含む。第１のメッセージは、たとえば、パラメータ入手要求を備え得る。ソースデバイス１２０はシンクデバイス１６０から第２のメッセージを受信する（７０４）。第２のメッセージは、たとえば、サポートされる入力カテゴリーの第１のリストとサポートされるタイプの複数の第１のリストとを識別するパラメータ入手応答を備え得、サポートされる入力カテゴリーの第１のリストのサポートされる入力カテゴリーの各々は、サポートされるタイプの関連付けられた第１のリストを有する。ソースデバイス１２０はシンクデバイス１６０に第３のメッセージを送信する（７０６）。第３のメッセージは、たとえば、通信のためのポートと、サポートされる入力カテゴリーの第２のリストと、サポートされるタイプの複数の第２のリストとを識別するパラメータ設定要求を備え得、サポートされる入力カテゴリーの第２のリストのサポートされる入力カテゴリーの各々は、サポートされるタイプの関連付けられた第２のリストを有し、第２のリストのサポートされるタイプの各々は、第１のリストのタイプのサブセットを含む。ソースデバイス１２０はシンクデバイス１６０から第４のメッセージを受信する（７０８）。第４のメッセージは、たとえば、第２のリストのタイプが有効にされたことを確認するためのパラメータ設定応答を備え得る。ソースデバイス１２０はシンクデバイス１６０に第５のメッセージを送信する（７１０）。第５のメッセージは、たとえば、ソースデバイス１２０とシンクデバイス１６０との間の通信チャネルが有効にされたことを示す第２のパラメータ設定要求を備え得る。その通信チャネルは、たとえば、ユーザ入力バックチャネル（ＵＩＢＣ）を備え得る。ソースデバイス１２０はシンクデバイス１６０から第６のメッセージを受信する（７１２）。第６のメッセージは、たとえば、シンクデバイス１６０による第２のパラメータ設定要求の受信を確認する第２のパラメータ設定応答を備え得る。
【０１２４】
[00140]図８Ａは、本開示に従ってワイヤレスシンクデバイスからワイヤレスソースデバイスにユーザ入力データを送信する例示的な方法のフローチャートである。図示した例示的な方法は、シンクデバイス１６０（図１Ａ）または３６０（図３）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ３３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ３３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１２５】
[00141]図８Ａの方法は、ワイヤレスダッシュボードシンクデバイス１６０などのワイヤレスシンクデバイスにおいてユーザ入力データを取得する（８０１）ことを含む。ユーザ入力データは、たとえば、ワイヤレスシンクデバイス３６０に関して示したユーザ入力インターフェース３７６など、ダッシュボードシンクデバイス１６０のユーザ入力構成要素を通して取得され得る。さらに、シンクデバイス１６０は、ユーザ入力データを、たとえば、一般、フォワーディングされた、またはオペレーティングシステム固有として、カテゴリー分類し得る。シンクデバイス１６０は、次いでユーザ入力データに基づいてデータパケットヘッダを生成する（８０３）。データパケットヘッダはアプリケーションレイヤパケットヘッダであり得る。データパケットヘッダは、フィールドの中でも、ユーザ入力データに対応する入力カテゴリーを識別するためのフィールドを備え得る。入力カテゴリーは、たとえば、一般入力フォーマットまたはヒューマンインターフェースデバイスコマンドを備え得る。シンクデバイス１６０は、さらにデータパケットを生成し（８０５）、データパケットは、生成されたデータパケットヘッダとペイロードデータとを備える。一例では、ペイロードデータは、受信されたユーザ入力データを含み得、１つまたは複数のユーザコマンドを識別し得る。シンクデバイス１６０は、次いでワイヤレスソースデバイス（たとえば、図１Ａのソースデバイス１２０または図２のソースデバイス２２０）に生成されたデータパケットを送信する（８０７）。シンクデバイス１６０は、たとえば図３に示したようなトランスポートユニット３３３およびワイヤレスモデム３３４を含む、データパケットの転送を可能にする構成要素を備え得る。シンクデバイス１６０はＴＣＰ／ＩＰを介してデータパケットを転送し得る。
【０１２６】
[00142]図８Ｂは、本開示に従ってワイヤレスソースデバイスにおいてワイヤレスシンクデバイスからユーザ入力データを受信する例示的な方法のフローチャートである。図示した例示的な方法は、ソースデバイス１２０（図１Ａ）または２２０（図２）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ２３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ２３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１２７】
[00143]図８Ｂの方法は、データパケットを受信する（８０２）ことを含み、データパケットは、特に、データパケットヘッダとペイロードデータとを備え得る。ペイロードデータは、たとえば、ユーザ入力データを含み得る。ソースデバイス１２０は、たとえば図２に関して示したような、トランスポートユニット２３３およびワイヤレスモデム２３４を含む、データパケットの転送を可能にする通信構成要素を備え得る。ソースデバイス１２０は、次いで、ペイロードデータ中に含まれているユーザ入力データに関連付けられた入力カテゴリーを判断するために、データパケット中に含まれるデータパケットヘッダをパースする（８０４）。ソースデバイス１２０は、判断された入力カテゴリーに基づいてペイロードデータを処理する（８０６）。図８Ａおよび図８Ｂを参照しながら説明したデータパケットは、概して、図６を参照しながら説明したデータパケットの形態をとり得、ソースデバイスにおいてオーディオ／ビデオデータとアプリケーションとを制御するために使用され得る。
【０１２８】
[00144]図９Ａは、本開示に従ってワイヤレスシンクデバイスからワイヤレスソースデバイスにユーザ入力データを送信する例示的な方法のフローチャートである。図示した例示的な方法は、シンクデバイス１６０（図１Ａ）または３６０（図３）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ３３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ３３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１２９】
[00145]図９Ａの方法は、ワイヤレスシンクデバイス１６０などのワイヤレスシンクデバイスにおいてユーザ入力データを取得する（９０１）ことを含む。ユーザ入力データは、たとえば、図３に関して示したユーザ入力インターフェース３７６など、ワイヤレスシンクデバイス１６０のユーザ入力構成要素を通して取得され得る。シンクデバイス１６０は、次いでペイロードデータを生成し（９０３）、ペイロードデータはユーザ入力データを記述し得る。一例では、ペイロードデータは、受信されたユーザ入力データを含み得、１つまたは複数のユーザコマンドを識別し得る。シンクデバイス１６０は、さらにデータパケットを生成し（９０５）、データパケットは、データパケットヘッダと生成されたペイロードデータとを備える。シンクデバイス１６０は、次いでワイヤレスソースデバイス（たとえば、図１Ａのソースデバイス１２０または図２のソースデバイス２２０）に生成されたデータパケットを送信する（９０７）。シンクデバイス１６０は、たとえばトランスポートユニット３３３およびワイヤレスモデム３３４など、データパケットの転送を可能にする構成要素を備え得る。データパケットはＴＣＰ／ＩＰを介してワイヤレスソースデバイスに送信され得る。
【０１３０】
[00146]図９Ｂは、本開示に従ってワイヤレスソースデバイスにおいてワイヤレスシンクデバイスからユーザ入力データを受信する例示的な方法のフローチャートである。図示した例示的な方法は、ソースデバイス１２０（図１Ａ）または２２０（図２）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ２３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ２３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１３１】
[00147]図９Ｂの方法は、シンクデバイス３６０からデータパケットを受信する（９０２）ことを含み、データパケットは、特に、データパケットヘッダとペイロードデータとを備え得る。一例では、ペイロードデータは、たとえば、入力タイプ値などのユーザ入力の詳細を記述するデータを備え得る。ソースデバイス１２０は、たとえば図２に関して示したような、トランスポートユニット２３３およびワイヤレスモデム２３４を含む、データパケットの転送を可能にする通信構成要素を備え得る。ソースデバイス１２０は、次いで、ペイロードデータ中の入力タイプフィールド中の入力タイプ値を判断するためにデータパケットをパースする（９０４）。ソースデバイス１２０は、判断された入力タイプ値に基づいて、ユーザ入力の詳細を記述するデータを処理する（９０６）。図９Ａおよび図９Ｂを参照しながら説明したデータパケットは、概して、図６を参照しながら説明したデータパケットの形態をとり得る。
【０１３２】
[00148]図１０Ａは、本開示に従ってワイヤレスシンクデバイスからワイヤレスソースデバイスにユーザ入力データを送信する例示的な方法のフローチャートである。図示した例示的な方法は、シンクデバイス１６０（図１Ａ）または３６０（図３）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ３３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ３３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１３３】
[00149]図１０Ａの方法は、ワイヤレスシンクデバイス１６０などのワイヤレスシンクデバイスにおいてユーザ入力データを取得する（１００１）ことを含む。ユーザ入力データは、たとえば、図３に関して示したようなユーザ入力インターフェース３７６など、ワイヤレスシンクデバイス１６０のユーザ入力構成要素を通して取得され得る。シンクデバイス１６０は、次いでユーザ入力に基づいてデータパケットヘッダを生成する（１００３）。データパケットヘッダは、フィールドの中でも、タイムスタンプフィールドがデータパケットヘッダ中に存在するかどうかを示すためのタイムスタンプフラグ（たとえば、１ビットフィールド）を備え得る。タイムスタンプフラグは、たとえば、タイムスタンプフィールドが存在することを示すための「１」を含み得、タイムスタンプフィールドが存在しないことを示すための「０」を含み得る。タイムスタンプフィールドは、たとえば、ソースデバイス１２０によって生成されたタイムスタンプを含んでいる１６ビットフィールドであり、送信より前にビデオデータに追加され得る。シンクデバイス１６０は、さらにデータパケットを生成し（１００５）、データパケットは、生成されたデータパケットヘッダとペイロードデータとを備える。一例では、ペイロードデータは、受信されたユーザ入力データを含み得、１つまたは複数のユーザコマンドを識別し得る。シンクデバイス１６０は、次いでワイヤレスソースデバイス（たとえば、図１Ａのソースデバイス１２０または図２のソースデバイス２２０）に生成されたデータパケットを送信する（１００７）。シンクデバイス１６０は、たとえば図３に関して示したような、トランスポートユニット３３３およびワイヤレスモデム３３４を含む、データパケットの転送を可能にする構成要素を備え得る。データパケットはＴＣＰ／ＩＰを介してワイヤレスソースデバイスに送信され得る。
【０１３４】
[00150]図１０Ｂは、本開示に従ってワイヤレスソースデバイスにおいてワイヤレスシンクデバイスからユーザ入力データを受信する例示的な方法のフローチャートである。図示した例示的な方法は、ソースデバイス１２０（図１Ａ）または２２０（図２）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ２３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ２３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１３５】
[00151]図１０Ｂの方法は、ワイヤレスシンクデバイス１６０からデータパケットを受信する（１００２）ことを含み、データパケットは、特に、データパケットヘッダとペイロードデータとを備え得る。ペイロードデータは、たとえば、ユーザ入力データを含み得る。ソースデバイス１２０は、たとえば図２に関して示したような、トランスポートユニット２３３およびワイヤレスモデム２３４を含む、データパケットの転送を可能にする通信構成要素を備え得る。ソースデバイス１２０は、次いでデータパケット中に含まれるデータパケットヘッダをパースする（１００４）。ソースデバイス１２０は、タイムスタンプフィールドがデータパケットヘッダ中に存在するかどうかを判断する（１００６）。一例では、ソースデバイス１２０は、データパケットヘッダ中に含まれるタイムスタンプフラグ値に基づいて判断を行い得る。データパケットヘッダがタイムスタンプフィールドを含む場合、ソースデバイス１２０は、タイムスタンプフィールド中にあるタイムスタンプに基づいてペイロードデータを処理する（１００８）。図１０Ａおよび図１０Ｂを参照しながら説明したデータパケットは、概して、図６を参照しながら説明したデータパケットの形態をとり得、ソースデバイスにおいてオーディオ／ビデオデータを制御するために使用され得る。
【０１３６】
[00152]図１１Ａは、本開示に従ってワイヤレスシンクデバイスからワイヤレスソースデバイスにユーザ入力データを送信する例示的な方法のフローチャートである。図示した例示的な方法は、シンクデバイス１６０（図１Ａ）または３６０（図３）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ３３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ３３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１３７】
[00153]図１１Ａの方法は、ワイヤレスシンクデバイス１６０などのワイヤレスシンクデバイスにおいてユーザ入力データを取得する（１１０１）ことを含む。ユーザ入力データは、たとえば、図３に関して示したユーザ入力インターフェース３７６など、ワイヤレスシンクデバイス１６０のユーザ入力構成要素を通して取得され得る。シンクデバイス１６０は、次いでユーザ入力に基づいてデータパケットヘッダを生成する（１１０３）。データパケットヘッダは、フィールドの中でも、タイムスタンプフィールドを備え得る。タイムスタンプフィールドは、たとえば、ワイヤレスソースデバイス１２０によって生成され、ワイヤレスシンクデバイス１６０に送信された、マルチメディアデータに基づくタイムスタンプを含んでいる、１６ビットフィールドを備え得る。タイムスタンプは、ワイヤレスシンクデバイスに送信されるより前に、ワイヤレスソースデバイス１２０によってビデオデータのフレームに追加されていることがある。タイムスタンプフィールドは、たとえば、ユーザ入力データがキャプチャされたときにワイヤレスシンクデバイス１６０において表示されているビデオデータのフレームに関連付けられたタイムスタンプを識別し得る。シンクデバイス１６０は、さらにデータパケットを生成し（１１０５）、データパケットは、生成されたデータパケットヘッダとペイロードデータとを備える。一例では、ペイロードデータは、受信されたユーザ入力データを含み得、１つまたは複数のユーザコマンドを識別し得る。シンクデバイス１６０は、次いでワイヤレスソースデバイス（たとえば、図１Ａのソースデバイス１２０または図２のソースデバイス２２０）に生成されたデータパケットを送信する（１１０７）。シンクデバイス１６０は、たとえば図３に関して示したような、トランスポートユニット３３３およびワイヤレスモデム３３４を含む、データパケットの転送を可能にする構成要素を備え得る。データパケットはＴＣＰ／ＩＰを介してワイヤレスソースデバイスに送信され得る。
【０１３８】
[00154]図１１Ｂは、本開示に従ってワイヤレスソースデバイスにおいてワイヤレスシンクデバイスからユーザ入力データを受信する例示的な方法のフローチャートである。図示した例示的な方法は、ソースデバイス１２０（図１Ａ）または２２０（図２）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ２３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ２３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１３９】
[00155]図１１Ｂの方法は、ワイヤレスシンクデバイス１６０などのワイヤレスシンクデバイスからデータパケットを受信する（１１０２）ことを含み、データパケットは、特に、データパケットヘッダとペイロードデータとを備え得る。ペイロードデータは、たとえば、ユーザ入力データを含み得る。ソースデバイス１２０は、たとえば図２に関して示したような、トランスポートユニット２３３およびワイヤレスモデム２３４を含む、データパケットの転送を可能にする通信構成要素を備え得る。ソースデバイス１２０は、次いでデータパケットヘッダ中のタイムスタンプフィールドを識別する（１１０４）。ソースデバイス１２０は、タイムスタンプフィールド中にあるタイムスタンプに基づいてペイロードデータを処理する（１１０６）。上記タイムスタンプに基づいて、ペイロードデータを処理することの一部として、ソースデバイス１２０は、ユーザ入力データが取得されたときにワイヤレスシンクデバイスにおいて表示されているビデオデータのフレームを識別し、そのフレームのコンテンツに基づいてペイロードデータを解釈し得る。上記タイムスタンプに基づいてペイロードデータを処理することの一部として、ソースデバイス１２０は、上記タイムスタンプを、ソースデバイス１２０によって送信されているビデオの現在のフレームのための現在のタイムスタンプと比較し得、上記タイムスタンプと現在のタイムスタンプとの間の時間差がしきい値よりも小さいことに応答して、ペイロードデータ中で記述されたユーザ入力コマンドを実行するか、または上記タイムスタンプと現在のタイムスタンプとの間の時間差がしきい値よりも大きいことに応答して、ペイロードデータ中で記述されたユーザ入力コマンドを実行しないことがある。図１１Ａおよび図１１Ｂを参照しながら説明したデータパケットは、概して、図６を参照しながら説明したデータパケットの形態をとり得、ソースデバイスにおいてオーディオ／ビデオデータを制御するために使用され得る。
【０１４０】
[00156]図１２Ａは、本開示に従ってワイヤレスシンクデバイスからワイヤレスソースデバイスにユーザ入力データを送信する例示的な方法のフローチャートである。図示した例示的な方法は、シンクデバイス１６０（図１Ａ）または３６０（図３）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ３３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ３３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１４１】
[00157]図１２Ａの方法は、ワイヤレスシンクデバイス１６０などのワイヤレスシンクデバイスにおいてユーザ入力データを取得する（１２０１）ことを含む。一例では、ユーザ入力データはボイスコマンドデータであり得、ボイスコマンドデータは、たとえば、図３中のユーザ入力インターフェース３７６中に含まれるボイスコマンド認識モジュールなど、ワイヤレスシンクデバイス１６０のユーザ入力構成要素を通して取得され得る。本開示による例では、ユーザは、ユーザの車中で運転しながらソースデバイス１２０上の連絡先アプリケーション中で誰かを呼び出すことを望むことがあり、連絡先番号を取り出し、呼を開始する、より安全な手段として、ダッシュボードシンクデバイス１６０において受信されるボイスコマンドを使用し得る。シンクデバイス１６０は、ユーザ入力に基づいてデータパケットヘッダを生成する（１２０３）。シンクデバイス１６０は、ペイロードデータも生成し（１２０５）、ペイロードデータはボイスコマンドデータを備え得る。一例では、ペイロードデータはまた、受信されたユーザ入力データも含み得、１つまたは複数のユーザコマンドを識別し得る。シンクデバイス１６０は、さらにデータパケットを生成し（１２０７）、データパケットは、生成されたデータパケットヘッダとペイロードデータとを備える。シンクデバイス１６０は、次いでワイヤレスソースデバイス（たとえば、図１Ａのソースデバイス１２０または図２のソースデバイス２２０）に生成されたデータパケットを送信する（１２０９）。シンクデバイス１６０は、たとえば図３に関して示したような、トランスポートユニット３３３およびワイヤレスモデム３３４を含む、データパケットの転送を可能にする構成要素を備え得る。データパケットはＴＣＰ／ＩＰを介してワイヤレスソースデバイスに送信され得る。
【０１４２】
[00158]図１２Ｂは、本開示に従ってワイヤレスソースデバイスにおいてワイヤレスシンクデバイスからユーザ入力データを受信する例示的な方法のフローチャートである。図示した例示的な方法は、ソースデバイス１２０（図１Ａ）または２２０（図２）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ２３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ２３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１４３】
[00159]図１２Ｂの方法は、データパケットを受信する（１２０２）ことを含み、データパケットは、特に、データパケットヘッダとペイロードデータとを備え得る。ペイロードデータは、たとえば、ボイスコマンドデータなどのユーザ入力データを含み得る。ソースデバイス１２０は、たとえば図２に関して示したような、トランスポートユニット２３３およびワイヤレスモデム２３４を含む、データパケットの転送を可能にする通信構成要素を備え得る。ソースデバイス１２０は、次いで、ペイロードデータがボイスコマンドデータを備えるかどうかを判断するために、データパケット中に含まれるペイロードデータをパースする（１２０４）。図１２Ａおよび図１２Ｂを参照しながら説明したデータパケットは、概して、図６を参照しながら説明したデータパケットの形態をとり得、ソースデバイスにおいてオーディオ／ビデオデータを制御するために使用され得る。
【０１４４】
[00160]図１３Ａは、本開示に従ってワイヤレスシンクデバイスからワイヤレスソースデバイスにユーザ入力データを送信する例示的な方法のフローチャートである。図示した例示的な方法は、シンクデバイス１６０（図１Ａ）または３６０（図３）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ３３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ３３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１４５】
[00161]図１３Ａの方法は、ワイヤレスシンクデバイス１６０などのワイヤレスシンクデバイスにおいてユーザ入力データを取得する（１３０１）ことを含む。一例では、ユーザ入力データはマルチタッチジェスチャーであり得、マルチタッチジェスチャーは、たとえば、ＵＩ１６７または図３のユーザ入力インターフェース３７６など、ワイヤレスシンクデバイス１６０のユーザ入力構成要素を通して取得され得る。一例では、マルチタッチジェスチャーは、第１のタッチ入力と第２のタッチ入力とを備え得る。シンクデバイス１６０は、ユーザ入力に基づいてデータパケットヘッダを生成する（１３０３）。シンクデバイス１６０は、ペイロードデータをも生成し（１３０５）、ペイロードデータは、第１のタッチ入力イベントについてのユーザ入力データを第１のポインタ識別情報に関連付け、第２のタッチ入力イベントについてのユーザ入力データを第２のポインタ識別情報に関連付け得る。シンクデバイス１６０は、さらにデータパケットを生成し（１３０７）、データパケットは、生成されたデータパケットヘッダとペイロードデータとを備える。シンクデバイス１６０は、次いでワイヤレスソースデバイス（たとえば、図１Ａのソースデバイス１２０または図２のソースデバイス２２０）に生成されたデータパケットを送信する（１３０９）。シンクデバイス１６０は、たとえば図３に関して示したような、トランスポートユニット３３３およびワイヤレスモデム３３４を含む、データパケットの転送を可能にする構成要素を備え得る。データパケットはＴＣＰ／ＩＰを介してワイヤレスソースデバイスに送信され得る。
【０１４６】
[00162]図１３Ｂは、本開示に従ってワイヤレスソースデバイスにおいてワイヤレスシンクデバイスからユーザ入力データを受信する例示的な方法のフローチャートである。図示した例示的な方法は、ソースデバイス１２０（図１Ａ）または２２０（図２）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ２３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ２３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１４７】
[00163]図１３Ｂの方法は、データパケットを受信する（１３０２）ことを含み、データパケットは、特に、データパケットヘッダとペイロードデータとを備え得る。ペイロードデータは、たとえば、マルチタッチジェスチャーなどのユーザ入力データを含み得る。ソースデバイス１２０は、たとえば図２に示したような、トランスポートユニット２３３およびワイヤレスモデム２３４を含む、データパケットの転送を可能にする通信構成要素を備え得る。ソースデバイス１２０は、次いで、ペイロードデータ中に含まれるユーザ入力データを識別するために、データパケット中に含まれるペイロードデータをパースする（１３０４）。一例では、識別されたデータは、第１のポインタ識別情報を用いた第１のタッチ入力イベントについてのユーザ入力データと、第２のポインタ識別情報を用いた第２のタッチ入力イベントについてのユーザ入力データとを含み得る。ソースデバイス１２０は、次いで、第１のタッチ入力イベントについてのユーザ入力データと第２のタッチ入力イベントについてのユーザ入力データとをマルチタッチジェスチャーとして解釈する（１３０６）。図１３Ａおよび図１３Ｂを参照しながら説明したデータパケットは、概して、図６を参照しながら説明したデータパケットの形態をとり得、ソースデバイスにおいてオーディオ／ビデオデータを制御するために使用され得る。
【０１４８】
[00164]図１４Ａは、本開示に従ってワイヤレスシンクデバイスからワイヤレスソースデバイスにユーザ入力データを送信する例示的な方法のフローチャートである。図示した例示的な方法は、シンクデバイス１６０（図１Ａ）または３６０（図３）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ３３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ３３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１４９】
[00165]図１４Ａの方法は、外部デバイスからワイヤレスシンクデバイス３６０においてユーザ入力データを取得する（１４０１）ことを含む。一例では、外部デバイスは、シンクデバイスに接続されたサードパーティデバイスであり得る。シンクデバイス１６０は、ユーザ入力に基づいてデータパケットヘッダを生成する（１４０３）。一例では、データパケットヘッダは、ユーザ入力データをフォワーディングされたユーザ入力データとして識別し得る。シンクデバイス１６０は、ペイロードデータをも生成し（１４０５）、ペイロードデータはユーザ入力データを備え得る。シンクデバイス１６０は、さらにデータパケットを生成し（１４０７）、データパケットは、生成されたデータパケットヘッダとペイロードデータとを備え得る。シンクデバイス１６０は、次いでワイヤレスソースデバイス（たとえば、図１Ａのソースデバイス１２０または図２のソースデバイス２２０）に生成されたデータパケットを送信する（１４０９）。シンクデバイス１６０は、たとえば図３に関して示したような、トランスポートユニット３３３およびワイヤレスモデム３３４を含む、データパケットの転送を可能にする構成要素を備え得る。データパケットはＴＣＰ／ＩＰを介してワイヤレスソースデバイスに送信され得る。
【０１５０】
[00166]図１４Ｂは、本開示に従ってワイヤレスソースデバイスにおいてワイヤレスシンクデバイスからユーザ入力データを受信する例示的な方法のフローチャートである。図示した例示的な方法は、ソースデバイス１２０（図１Ａ）または２２０（図２）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ２３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ２３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１５１】
[00167]図１４Ｂの方法は、データパケットを受信する（１４０２）ことを含み、データパケットは、特に、データパケットヘッダとペイロードデータとを備え得る。ペイロードデータは、たとえば、ユーザ入力データがサードパーティデバイスからフォワーディングされたことを示すフォワーディングされたユーザ入力コマンドなどのユーザ入力データを含み得る。ソースデバイス１２０は、たとえば図２に関して示したような、トランスポートユニット２３３およびワイヤレスモデム２３４を含む、データパケットの転送を可能にする通信構成要素を備え得る。ソースデバイス１２０は、次いでデータパケットヘッダをパースし、ペイロードデータがフォワーディングされたユーザ入力コマンドを備えると判断する（１４０４）。ソースデバイス１２０は、次いで、フォワーディングされたユーザ入力コマンドに対応するサードパーティデバイスに関連付けられた識別情報を識別するために、データパケット中に含まれるペイロードデータをパースする（１４０６）。ソースデバイス１２０は、次いでサードパーティデバイスの識別された識別情報に基づいてペイロードデータを処理する（１４０８）。図１４Ａおよび図１４Ｂを参照しながら説明したデータパケットは、概して、図６を参照しながら説明したデータパケットの形態をとり得、ソースデバイスにおいてオーディオ／ビデオデータを制御するために使用され得る。
【０１５２】
[00168]図１５Ａは、本開示に従ってワイヤレスシンクデバイスからワイヤレスソースデバイスにユーザデータを送信する例示的な方法のフローチャートである。図示した例示的な方法は、シンクデバイス１６０（図１Ａ）または３６０（図３）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ３３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ３３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１５３】
[00169]図１５Ａの方法は、ワイヤレスシンクデバイスにおいてユーザ入力データを取得する（１５０１）ことを含む。ユーザ入力データは、関連付けられた座標データを有することがある。関連付けられた座標データは、たとえば、マウスクリックイベントのロケーションまたはタッチイベントのロケーションに対応し得る。シンクデバイス１６０は、次いで、正規化座標データを生成するために、関連付けられた座標データを正規化する（１５０３）。シンクデバイス１６０は、次いで正規化座標データを含むデータパケットを生成する（１５０５）。座標データを正規化することは、ディスプレイウィンドウの解像度と、ソースデバイス１２０のディスプレイ２２などのソースのディスプレイの解像度との比に基づいて、関連付けられた座標データをスケーリングすることを含むことができる。ディスプレイウィンドウの解像度はシンクデバイス１６０によって判断され得、ソースデバイスのディスプレイの解像度はソースデバイス１２０から受信され得る。シンクデバイス１６０は、次いでワイヤレスソースデバイス１２０に正規化座標をもつデータパケットを送信する（１５０７）。図１５Ａの方法の一部として、シンクデバイス１６０はまた、関連付けられた座標データが、ワイヤレスソースデバイスから受信されているコンテンツのためのディスプレイウィンドウ内にあるかどうかを判断し、たとえば、関連付けられた座標データがディスプレイウィンドウ外にある場合は、ユーザ入力をローカルで処理するか、またはさもなければ、その入力がディスプレイウィンドウ内にある場合は、説明したように座標を正規化し得る。
【０１５４】
[00170]図１５Ｂは、本開示に従ってワイヤレスソースデバイスにおいてワイヤレスシンクデバイスからユーザ入力データを受信する例示的な方法のフローチャートである。図示した例示的な方法は、ソースデバイス１２０（図１Ａ）または２２０（図２）によって実行され得る。いくつかの例では、コンピュータ可読記憶媒体（たとえば、メモリ２３２）が、実行されたとき、フローチャート中の図示したステップのうちの１つまたは複数を実行することを１つまたは複数のプロセッサ（たとえば、プロセッサ２３１）に行わせる、命令、モジュール、またはアルゴリズムを記憶し得る。
【０１５５】
[00171]図１５Ｂの方法は、ワイヤレスソースデバイスにおいてデータパケットを受信することを含み、データパケットは、関連付けられた座標データをもつユーザ入力データを備える（１５０２）。関連付けられた座標データは、たとえば、シンクデバイスにおけるマウスクリックイベントのロケーションまたはタッチイベントのロケーションに対応し得る。ソースデバイス１２０は、次いで、正規化座標データを生成するために、関連付けられた座標データを正規化する（１５０４）。ソースデバイス１２０は、ディスプレイウィンドウの解像度とソースのディスプレイの解像度との比に基づいて、関連付けられた座標データをスケーリングすることによって、座標データを正規化することができる。ソースデバイス１２０は、ソースデバイスのディスプレイの解像度を判断することができ、ワイヤレスシンクデバイスからディスプレイウィンドウの解像度を受信することができる。ソースデバイスは、次いで正規化座標データに基づいてデータパケットを処理する（１５０６）。図１５Ａおよび図１５Ｂを参照しながら説明したデータパケットは、概して、図６を参照しながら説明したデータパケットの形態をとり得、ソースデバイスにおいてオーディオ／ビデオデータを制御するために使用され得る。
【０１５６】
[00172]図１６は、携帯電話ソースデバイス１６００とダッシュボードシンクデバイス１６１０とを含む本開示による例示的なソース／シンクシステムを示すブロック図である。携帯電話ソース１６００およびダッシュボードシンク１６１０は、図１Ａ〜図６を参照しながら上記で詳細に説明したソースおよびシンクデバイスと同様に構成され、機能し得る。図１６の例では、電話機ソース１６００およびダッシュボードシンク１６１０は、通信チャネル１６３０を介して通信するように構成され、電話機ソース１６００からダッシュボードシンク１６１０にオーディオおよびビデオペイロードデータを通信し、ダッシュボードシンク１６１０において受信されたユーザ入力に基づいてユーザ入力データを、ＵＩＢＣを介してダッシュボードシンク１６１０から電話機ソース１６００に通信することを含む。携帯電話ソース１６００は、電話機ソース１６００とダッシュボードシンク１６１０との間の通信を可能にするように構成されたアプリケーションであり得、ダッシュボードシンク１６１０との通信のために自動車および／またはダッシュボードの製造業者によって認証された、ソースダッシュボードアプリケーション１６４０を含む。ダッシュボードシンク１６１０は、シンク１６１０と、たとえば、電話機ソースデバイス１６００を含む、様々なワイヤレスソースデバイスとの間の通信セッションのためのシンクダッシュボードアプリケーション１６５０を含む。ダッシュボードシンク１６１０はまた、図１６に全体的に自動車構成要素１６２０として示された、ダッシュボードシンク１６１０が配置された自動車の他のデバイスおよびシステムとインターフェースするための自動車エージェント１６６０を含む。
【０１５７】
[00173]同じく図１６の例に示されるように、携帯電話ソース１６００は、ネットワーク１６７０と通信するように構成される。ネットワーク１６７０は、様々なリモートデバイスおよびシステム、たとえばデータリポジトリおよびリモートサーバ１６８０を含むサーバに、携帯電話ソース１６００を通信可能に接続する手段を与えるために、相互接続された１つまたは複数の地上および／または衛星ネットワークを含み得る。たとえば、ネットワーク１６７０はプライベートまたはパブリックローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）であり得る。ネットワーク１６７０は、１つまたは複数の規格に従いおよび／または１つまたは複数のトランスポート媒体を介するワイヤード通信とワイヤレス通信の両方を含み得る。たとえば、ネットワーク１６７０は、８０２．１１仕様セットまたはＢｌｕｅｔｏｏｔｈ仕様セットのうちの１つ、または別の規格またはプロプライエタリワイヤレス通信プロトコルに従うワイヤレス通信を含み得る。ネットワーク１６７０はまた、たとえばＧＳＭ（（登録商標）グローバルシステムフォーモバイルコミュニケーション、ＣＤＭＡ（符号分割多元接続）、ＥＤＧＥ（エンハンスドデータフォーグローバルエボリューション）ネットワークを含む、地上セルラーネットワークを介した通信を含み得る。たとえば、携帯電話ソース１６００から、ネットワーク１６７０を介して送信されたデータは、多種多様な通信プロトコルに従ってフォーマットされていることがある。たとえば、ネットワーク１６７０の全部または一部は、電話機ソース１６００から伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）パケットでデータを通信する、パケットベースインターネットプロトコル（ＩＰ）ネットワークであり得る。
【０１５８】
[00174]図１６の例では、ネットワーク１６７０は、携帯電話ソース１６００をリモートサーバ１６８０に通信可能に接続する手段を与える、１つまたは複数の相互接続されたネットワークを含む。サーバ１６８０は、いくつかの理由で携帯電話ソース１６００と通信するように構成されたいくつかの異なるタイプのコンピューティングデバイスのいずれかであり得る。一例では、携帯電話ソース１６００は、リモートサーバ１６８０に、ダッシュボードシンク１６１０が配置された自動車の動作状態を示すデータを通信する。リモートサーバ１６８０は、自動車またはダッシュボードの製造業者によって所有され／操作され得る。一例では、動作状態データは、たとえば、動作状態データに関係するおよび／またはそれによって示される自動車のサービス問題または保守問題を診断することを含む処理するためのリモートサーバ１６８０に通信され得る。別の例では、携帯電話ソースおよびリモートサーバ１６８０は、たとえば、リモートサーバ１６８０がソースダッシュボードアプリケーション１６４０のためのソフトウェアアップデートを携帯電話ソース１６００に与えることを含む、他の理由のために通信し得る。
【０１５９】
[00175]ソースデバイスと自動車ダッシュボードシンクデバイスとの間の通信に関係する様々な技法を示すフローチャートである図１７に、本開示による例示的な方法および機能を示す。図１７に示された機能について、電話機ソース１６００とダッシュボードシンク１６１０とを含む図１６のシステムを参照しながら以下で説明する。ただし、他の例では、図１７の様々な機能中に示された機能は、たとえば、自動車中に配置されたダッシュボードシンクデバイス１６１０と通信する携帯電話以外のワイヤレスソースデバイスを含む、他のシステムおよびデバイスによって実行され得る。さらに、なお、図１７に、組み合わされたいくつかの個別機能を含む１つの方法を示す。他の例では、図１７の方法における機能のうちの１つまたは複数は、別々に実行され、互いに無関係であり得る。たとえば、自動車中のダッシュボードシンクデバイスとの通信のためにワイヤレスソースデバイスを認証する（１７００）機能は、ダッシュボードシンクからソースデバイスにユーザ入力データを通信する（１７３０）こととは別個に無関係に実行される。
【０１６０】
[00176]図１７の例示的な方法において示された機能は、どちらのデバイスが送信し、どちらのデバイスが受信しても機能のいくつかは汎用であるように、ソースデバイスとダッシュボードシンクデバイスとの間の通信に関係するようにフレーム化されている。ただし、機能のうちの１つまたは複数は、別個にソースデバイスおよび／またはダッシュボードシンクデバイスのうちの１つのみ、ならびにソースデバイスとダッシュボードシンクデバイスの両方を含むシステムの一部の観点から実装され得ることに留意されたい。
【０１６１】
[00177]図１７は、ワイヤレスソースデバイスと自動車ダッシュボードシンクデバイスとの間の通信セッションの例示的な方法を示すフローチャートである。図１７の例示的な方法は、ダッシュボードシンクデバイスと通信するためにワイヤレスソースデバイスを認証する（１７００）ことと、ダッシュボードシンクからソースデバイスに自動車の動作状態を示すデータを通信する（１７１０）ことと、自動車の動作状態に基づいてソースデバイスの動作状態を設定する（１７２０）ことと、ダッシュボードシンクからソースデバイスにユーザ入力データを通信する（１７３０）ことと、ダッシュボードシンクからソースデバイスに自動車データを通信する（１７４０）こととを含む。
【０１６２】
[00178]一例では、携帯電話ソース１６００がダッシュボードシンク１６１０と通信する前に、電話機ソース１６００はそのような通信セッションのために認証される。前述したように、ソースとダッシュボードシンクとの間の通信は、自動車および／または自動車中のダッシュボードの製造業者に応じて大きく異なり得る。したがって、異なる製造業者は、それぞれの製造業者の自動車中に含まれるダッシュボードシンクと通信するために、同じタイプのソースデバイスの異なる機能を必要とし得る。
【０１６３】
[00179]したがって、自動車ダッシュボードシンクと通信するソースのコンテキストにおいて、汎用ワイヤレスディスプレイ機能／アプリケーション、たとえば、ＷＦＤシステムのための１つまたは複数の規格において与えられた機能を採用するというよりむしろ、一例では、携帯電話ソース１６００は、（その２つが異なる会社によって製造される限り）自動車またはダッシュボードシンク１６１０の製造業者によって認証され、特にその製造業者のダッシュボードシンク１６１０と通信するように構成されたソースダッシュボードアプリケーション１６４０を含む。
【０１６４】
[00180]そのような例では、ダッシュボード／自動車製造業者と、サードパーティ、たとえば携帯電話製造業者および／または携帯電話アプリケーション開発者との間の認証は、いくつかの異なる方法で達成され得る。携帯電話１６００がワイヤレスソースデバイスとして働き、ダッシュボードシンク１６１０と通信する図１６に示した例では、ダッシュボード／自動車製造業者は、携帯電話ソース１６００のソースダッシュボードアプリケーション１６４０を認証し得る。認証は、電話機ソース１６００とダッシュボードシンク１６１０との間の通信を確立するためのセキュリティの複数のレベルを含み得る。
【０１６５】
[00181]一例では、ダッシュボードシンク１６１０との通信のための携帯電話ソース１６００の認証は、２つのレベルのセキュリティを含む。最初に、ソースダッシュボードアプリケーション１６４０のアプリケーション開発者が要求し得、製造業者は、アプリケーションを実行するソースデバイスと製造業者のダッシュボードシンクデバイスとの間の通信を協調および制御するために特定のアプリケーションの認証を許可し得る。ソースダッシュボードアプリケーション１６４０の開発者は、携帯電話ソース１６００を製造する同じ会社または電話機製造業者とは無関係の別の会社であり得ることに留意されたい。いずれの場合も、一例では、携帯電話の異なるオペレーティングシステム、たとえば、ＧｏｏｇｌｅのＡｎｄｒｏｉｄ上で実行可能なアプリケーションを開発するソースダッシュボードアプリケーション１６４０の開発者は、ＢＭＷ自動車中のダッシュボードシンク１６１０との通信において、電話機ソース１６００がワイヤレスソースデバイスとして機能することを可能にするであろう、携帯電話ソース１６００のためのアプリケーションを開発するために、特定の自動車製造業者、たとえば、ＢＭＷからの許可を求め得る。そのような例では、ＢＭＷは、電話機ソース１６００とダッシュボードシンク１６１０との間の通信を開くために、ダッシュボードシンク１６１０に通信され得るキーあるいは他の認証コードまたは認証機構を、アプリケーション開発者に与えることによって、携帯電話アプリケーションを認証し得る。
【０１６６】
[00182]ワイヤレス通信は、非セキュアであり得、したがって無許可のユーザおよび／またはデバイスから様々な攻撃を受けやすい。したがって、ダッシュボードシンク１６１０との通信において携帯電話ソース１６００とともに使用するためのソースダッシュボードアプリケーション１６４０を認証するために使用される認証キーを与えることに加えて、本開示による例は、製造業者認証キーの通信を含む電話機ソース１６００とダッシュボードシンク１６１０との間の初期ハンドシェイクをセキュアにすることをも含み得る。一例では、携帯電話ソース１６００とダッシュボードシンク１６１０との間の初期ハンドシェイクおよび認証キーの通信は、たとえば、暗号化／復号キー方式を使用して暗号化され、暗号化／復号キー方式によって、ソースダッシュボードアプリケーション１６４０は、製造業者認証キーを含むデータを暗号化し、暗号化データを、次に、電話機からのデータを解読し、読み取るダッシュボードシンク１６１０にワイヤレス送信する。ダッシュボードシンク１６１０との通信のために電話機ソース１６００が認証された後、将来の通信は暗号化を用いずに送信され得る。
【０１６７】
[00183]一例では、携帯電話ソース１６００とダッシュボードシンク１６１０との間の暗号化された認証セッションは、パブリックキーを使用しておよび／または非対称暗号化キー方法を用いて実装され得る。一例では、電話機ソース１６００とダッシュボードシンク１６１０との間の暗号化された認証セッションは、パブリックキーを使用する対称キー認証を含み得る。対称キー認証は、平文の暗号化と暗号文の解読の両方のために、自明に関係付けられた、しばしば同一の、暗号キーを使用する認証システムを指す。この場合、電話機ソース１６００とダッシュボードシンク１６１０の両方が、暗号化および解読のために同じパブリックキーを使用し得、そのパブリックキーは、ダッシュボードシンク１６１０および／またはダッシュボードが配置された自動車の製造業者によって与えられる。別の例では、電話機ソース１６００とダッシュボードシンク１６１０との間の暗号化された認証セッションは、パブリックキーを使用する非対称キー認証を含み得る。（パブリックキーと呼ばれることがある）非対称キー認証は、２つの別個のキー、平文をロックまたは暗号化するための１つと暗号文をアンロックまたは解読するための１つとを必要とするシステムを指すことがある。この場合、電話機ソース１６００とダッシュボードシンク１６１０との間の認証セッションのためのこれらキーの一方は、公開されまたはパブリックであり、他方は、プライベートに保たれる。
【０１６８】
[00184]一例では、ダッシュボードシンク１６１０は、ダッシュボードおよび／または自動車の製造業者に関連付けられた何らかの識別情報を含み得る、質問としてのキーを電話機ソース１６００に送信し得る。携帯電話ソース１６００は、ダッシュボードシンク１６１０からの質問への応答を構築し、その応答をダッシュボードシンク１６１０に返信するために、パブリックキーと、場合によっては、認証キーとを使用し得、その両方がダッシュボードシンク１６１０の製造業者によって与えられ得る。ダッシュボードシンク１６１０は、次いで、電話機ソース１６００からの応答を解読し、ソースデバイスを認証するためにプライベートキーを採用し、たとえば認証キーに基づいてデバイスを認証することを含む。
【０１６９】
[00185]一例では、ダッシュボードシンク１６１０との通信のために電話機ソース１６００が認証された後、２つのデバイスは、様々な目的のための多種多様なタイプの情報を交換し得る。たとえば、ダッシュボードシンク１６１０は、ダッシュボードシンク１６１０が配置された自動車の動作状態を示すデータを送信し、携帯電話ソース１６００はそれを受信し得る。本開示による一例では、携帯電話ソース１６００とペアリングされたダッシュボードシンク１６１０は、ダッシュボードシンク１６１０が配置された自動車の状態が変化したときに電話機ソース１６００に示し、自動車の現在の状態に基づいて電話機ソース１６００との通信を変え、電話機ソース１６００の動作を制御するように構成され得る。たとえば、ダッシュボードシンク１６１０は、自動車の様々な構成要素、たとえば、センサーおよび／またはＥＣＵから、自動車が停止されているか、または移動しているかを示す情報を受信するように構成され得る。一例では、ダッシュボードシンク１６１０は、自動車が移動していると判断し、自動車の動作状態、たとえば自動車が移動していることを示すメッセージを携帯電話ソース１６００に送信する。別の例では、ダッシュボードシンク１６１０は、自動車が停止されていると判断し、自動車の動作状態、たとえば自動車が停止されていることを示すメッセージを携帯電話ソース１６００に送信する。
【０１７０】
[00186]一例では、ソースダッシュボードアプリケーション１６４０は、自動車の動作状態に基づいて携帯電話ソース１６００の様々なユーザインターフェース機能を変更するように構成される。たとえば、ソースダッシュボードアプリケーション１６４０は、アプリケーションアイコンの異なるセットを含む携帯電話ソース１６００の異なるユーザインターフェース間をトグルすることができるので、ユーザは、たとえば、自動車が停止されているときは、すべての電話機アプリケーションへのフルアクセスを有し、たとえば、自動車が移動しているときは、あまり気を散らさないアプリケーションのサブセットへのアクセスを有し得る。
【０１７１】
[00187]図１７の例示的な方法に示すように、ダッシュボードシンク１６１０が配置された自動車の動作状態を示すデータを通信することに加えて、いくつかの例では、電話機ソース１６００の動作状態が、自動車の動作状態に基づいて設定され得る。たとえば、ダッシュボードシンク１６１０が、自動車が移動していると判断する場合、ダッシュボードシンク１６１０は、電話機ソース１６００に限られた機能動作モードに進ませるか、またはそれ自体に限られた機能動作モードに進ませるように電話機ソース１６００に促すように構成されたコマンドを携帯電話ソース１６００に送り得る。たとえば、ダッシュボードシンク１６１０からのコマンドは、ユーザが車を運転しながら実行することが危険であり得る特定の機能、たとえばテキストメッセージングへのアクセスを携帯電話ソース１６００に制限させ得る。
【０１７２】
[00188]一例では、ダッシュボードシンク１６１０は、ダッシュボードシンク１６１０において受信されたユーザ入力を携帯電話ソース１６００に返信し、したがって、ダッシュボードシンク１６１０のユーザが電話機ソース１６００を制御し、電話機ソース１６００からダッシュボードシンク１６１０に送信されているコンテンツとインタラクトし、それを制御することを可能にするように構成され得る。そのような例では、携帯電話ソース１６００のために利用可能なアプリケーションおよびデータは、ダッシュボードが配置された自動車中のダッシュボードシンク１６１０上で閲覧され、アクセスされ、インタラクトされ得る。一例では、連絡先およびカレンダーアプリケーション、ナビゲーションアプリケーション、デジタル音楽プレーヤなどのような携帯電話アプリケーションが、ダッシュボードシンク１６１０上で容易にシームレスに提示され、それらを介してインタラクトされ得る。
【０１７３】
[00189]たとえば、通信チャネル１６３０にわたってＵＩＢＣを介して、ダッシュボードシンク１６１０から携帯電話ソース１６００にユーザ入力を通信することは、図１Ａ〜図１５Ｂに関して上記で詳細により概括的に説明したそのような通信に一致する方法で実装され得る。
【０１７４】
[00190]自動車の動作状態を通信することに加えて、携帯電話ソース１６００とダッシュボードシンク１６１０との間のリンクは、自動車に関係するまたはそれに含まれるデータおよび／またはデバイスを通信し、分析し、記憶し、操作するなどのためのいくつかの機能を可能にする。そのようなデータは自動車の動作に関係し得、デバイスは、スピーカーおよびマイクロホンのような自動車中の周辺デバイスを含み得る。いくつかの例では、ダッシュボードシンク１６１０が配置された自動車に搭載されたセンサーおよび他のデバイスからのデータが、ダッシュボードシンク１６１０から携帯電話ソース１６００に通信され得る。
【０１７５】
[00191]たとえば、携帯電話ソース１６００は、たとえば、ダッシュボードシンク１６１０のメモリ上に記憶され、ダッシュボードシンク１６１０のプロセッサによって実行される、自動車エージェント１６６０を含む。自動車エージェント１６６０は、ダッシュボードシンク１６１０が配置された自動車のシステムおよびデバイスと通信するように構成され得る。たとえば、ダッシュボードシンク１６１０が配置された自動車の様々なデバイス、たとえばＥＣＵおよび自動車の１つまたは複数のセンサーは、自動車の動作に関係するデータを生成し得る。ダッシュボードシンク１６１０の自動車エージェント１６６０は、そのような自動車データとインターフェースし、それらを取り出しまたは受信するように構成され得、そのような自動車データは次いで、いくつかの例では、携帯電話ソース１６００に送信され、携帯電話ソース１６００によって様々な方法で処理され得る。
【０１７６】
[00192]たとえば、ダッシュボードシンク１６１０が配置された自動車のセンサーおよびＥＣＵによって追跡および記憶されたガスマイレージデータは、ダッシュボードシンク１６１０上で実行される自動車エージェント１６６０によって取り出され得る。さらに、速度、加速度、制動のような自動車の他の関係する動作データと、運転習慣およびメトリックに関係する他のデータとが、自動車エージェント１６６０によって自動車の１つまたは複数の構成要素から取り出され得る。この自動車データは、ダッシュボードシンク１６１０によって、たとえば、自動車データをカプセル化するシンク１６１０のトランスポートユニットと、電話機ソース１６００にデータを送信するＷｉ−Ｆｉモデムとによって、携帯電話ソース１６００に送信され得る。携帯電話ソース１６００は、たとえば、ガスマイレージデータを経時的に追跡および編成し、場合によっては、ガスマイレージを運転習慣／メトリックに相関させるアプリケーションを含む、データを処理するための様々な機能を含み得る。
【０１７７】
[00193]上記のガスマイレージ例以外の多種多様な自動車データおよびそのようなデータの処理が、本開示による例において企図される。たとえば、自動車のサービス、保守、および／または故障に関係する他の診断情報と同様に、自動車ＥＣＵからのエラーコードが、追跡され、記憶され、ダッシュボードシンク１６１０から携帯電話ソース１６００に通信され得る。ダッシュボードシンク１６１０が配置された自動車からのそのようなエラーまたは診断情報は、携帯電話ソース１６００上で追跡および分析され得、携帯電話ソース１６００は、次に、ネットワーク１６７０を介してリモートシステムおよびデバイスにデータを通信し得、たとえば、ダッシュボードシンク１６１０が配置された自動車に従事することを認定および／または許可された販売代理店またはサービスステーションにおけるサービス予約を自動的に要求するために、ネットワーク１６７０を介してエラーおよび／または診断情報を送信することを含む。多くの他の乗り物固有タイプのデータが、他のタイプの乗り物と同様のアプリケーションにおいて使用され得る。
【０１７８】
[00194]いくつかの例では、ダッシュボードシンク１６１０の自動車エージェント１６６０は、携帯電話ソース１６００と周辺機器との間の直接的なインタラクトのために携帯電話ソース１６００から周辺デバイス、たとえば自動車中のスピーカーおよび／またはマイクロホンへチャネルを開き得る。たとえば、ダッシュボードシンクデバイスは、携帯電話ソース１６００中に含まれるマイクロホンよりも高品質の自動車中のマイクロホンへのアクセスをワイヤレスソースデバイスに与え得る。一例では、携帯電話ソース１６００のユーザは、ユーザの自動車中で運転しながら電話機ソース１６００上の連絡先アプリケーション中で誰かを呼び出すことを望むことがあり、連絡先番号を取り出し、呼を開始する、より安全な手段として、自動車エージェント１６６０によってダッシュボードシンク１６１０にインターフェースされる自動車のマイクロホンにおいて受信されるボイスコマンドを使用し得る。
【０１７９】
[00195]説明を簡単にするために、図１Ａ〜図１７を参照しながら本開示の態様について別個に説明した。ただし、これらの様々な態様は、別個にだけでなく、互いに関連して組み合わせられ、使用され得ることが企図される。概して、本明細書で説明する機能および／またはモジュールは、ワイヤレスソースデバイスとワイヤレスシンクデバイスのいずれかまたは両方において実装され得る。このようにして、本例で説明した通信およびユーザインターフェース機能は、ワイヤレスソースデバイスとワイヤレスシンクデバイスとの間で互換的に使用され得る。
【０１８０】
[00196]付録１は、本開示で説明した技法のうちのいくつかに関するさらなる詳細を与える。図１Ａおよび図１Ｂのソースデバイス１２０およびシンクデバイス１６０、図２のソースデバイス２２０、図１のシンクデバイス３６０、図５Ａおよび図５Ｂのソースデバイス５２０およびシンクデバイス５６０はすべて、付録１において説明する技法を実行することができるデバイスおよびソース／シンクシステムの例である。
【０１８１】
[00197]本開示の多くの詳細について、自動車のコンテキストにおいて説明した。自動車固有のデータのいくつかの例について、このコンテキストにおいて説明した。上述したように、しかしながら、本明細書で説明した技法は多数の他のタイプの乗り物を用いた多種多様な適用例を見つけ得、そのような適用例の場合、乗り物データは異なり得る。ダッシュボードまたは何らかの等価な構造上にディスプレイデバイスを含むいかなる乗り物も、本明細書で説明した技法のうちの１つまたは複数を使用することができる。ダッシュボードシンクデバイスとソースデバイスとの間で通信されるデータは、乗り物固有であり得、乗り物のタイプに応じて異なり得る。
【０１８２】
[00198]本開示の技法は、ワイヤレスハンドセット、および集積回路（ＩＣ）またはＩＣのセット（すなわち、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。機能的態様を示すために任意の構成要素、モジュールまたはユニットについて説明したが、異なるハードウェアユニットによる実現を必ずしも必要とするとは限らない。
【０１８３】
[00199]したがって、本明細書で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ハードウェアで実装される場合、モジュール、ユニットまたは構成要素として説明した特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装される場合、これらの技法は、プロセッサで実行されたとき、上記で説明した方法のうちの１つまたは複数を実行する、命令を備えるコンピュータ可読媒体によって少なくとも部分的に実現され得る。コンピュータ可読媒体は、有形で非一時的なコンピュータ可読記憶媒体を備え得、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読記憶媒体は、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気または光学データ記憶媒体などを備え得る。本技法は、追加または代替として、命令またはデータ構造の形態でコードを搬送または通信し、コンピュータによってアクセスされ、読み取られ、および／または実行され得るコンピュータ可読通信媒体によって少なくとも部分的に実現され得る。
【０１８４】
[00200]コードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）など、１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供されるか、あるいは複合ビデオコーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１８５】
[00201]本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
【図１Ａ】
2015512171.tif 000013
【図１Ｂ】
2015512171.tif 000014
【図２】
2015512171.tif 000015
【図３】
2015512171.tif 000016
【図４】
2015512171.tif 000017
【図５Ａ】
2015512171.tif 000018
【図５Ｂ】
2015512171.tif 000019
【図６】
2015512171.tif 000020
【図７Ａ】
2015512171.tif 000021
【図７Ｂ】
2015512171.tif 000022
【図８Ａ】
2015512171.tif 000023
【図８Ｂ】
2015512171.tif 000024
【図９Ａ】
2015512171.tif 000025
【図９Ｂ】
2015512171.tif 000026
【図１０Ａ】
2015512171.tif 000027
【図１０Ｂ】
2015512171.tif 000028
【図１１Ａ】
2015512171.tif 000029
【図１１Ｂ】
2015512171.tif 000030
【図１２Ａ】
2015512171.tif 000031
【図１２Ｂ】
2015512171.tif 000032
【図１３Ａ】
2015512171.tif 000033
【図１３Ｂ】
2015512171.tif 000034
【図１４Ａ】
2015512171.tif 000035
【図１４Ｂ】
2015512171.tif 000036
【図１５Ａ】
2015512171.tif 000037
【図１５Ｂ】
2015512171.tif 000038
【図１６】
2015512171.tif 000039
【図１７】
2015512171.tif 000040
【国際調査報告】
2015512171.tif 000041
2015512171.tif 000042
2015512171.tif 000043
2015512171.tif 000044
2015512171.tif 000045