(57)【要約】方法は、ディスプレイ上に情報をレンダリングするために信号を送信し、レンダリングされたビジュアル情報に対するユーザ応答を受け取る。ユーザ応答は、第１の遅延を含む。この方法はまた、第２の遅延を示すデータについて電子システムに問い合わせを行う。第２の遅延は、第１の遅延の一部であり、電子システムに起因する。この方法はさらに、ユーザとの対話中に、電子システム遅延を補償するために、第２の遅延を示すデータを使用する。
2013508091.tif 000002
【特許請求の範囲】
【請求項１】
ビジュアル情報に対する応答を受け取ることであって、上記応答は第１の遅延を含む、応答を受け取ることと、
第２の遅延を示すデータについて電子システムに問い合わせることであって、上記第２の遅延は上記第１の遅延の一部であり且つ上記電子システムに起因する、電子システムに問い合わせることと、及び、
ユーザとの対話中に、電子システム遅延を補償するために、上記第２の遅延を示すデータを使用することと、
を備える、方法。
【請求項２】
プロセッサベースのゲームコンソールによって実行される、請求項１の方法。
【請求項３】
上記第２の遅延は、
電子システムの一部であるワイヤレスディスプレイユニットに起因する待ち時間、
を備える、請求項１の方法。
【請求項４】
上記第２の遅延は、
上記電子システムの一部であるヒューマンインターフェイスデバイス（ＨＩＤ）に起因する待ち時間であり、上記ＨＩＤは上記応答を提供する、
請求項１の方法。
【請求項５】
上記電子システムは、ワイヤレスディスプレイを制御するワイヤレスホストを備え、及び、上記電子システムに問い合わせることは、
上記第２の遅延の一部である総ディスプレイ遅延を計算するためワイヤレスホストに要求を送信するために、アプリケーションプログラミングインターフェイス（ＡＰＩ）を使用すること、
を備える、請求項１の方法。
【請求項６】
上記総ディスプレイ遅延は、
ホスト処理遅延と、
ホストワイヤレス伝送遅延と、
クライアントワイヤレス処理遅延と、及び、
ディスプレイパネルレンダリング遅延と、
を備える、請求項５の方法。
【請求項７】
上記ホスト処理遅延は、符号化及び圧縮遅延を備え、上記クライアントワイヤレス処理遅延は、復号化及び解凍遅延を備える、請求項６の方法。
【請求項８】
上記電子システムは、ワイヤレスディスプレイを制御するワイヤレスホストを備え、上記ワイヤレスホスト及びワイヤレスディスプレイは、異なる製造業者からのデバイスを備え、上記電子システムに問い合わせることは、
上記第２の遅延の一部である総ディスプレイ遅延を計算するため上記ワイヤレスホストに要求を送信するために、アプリケーションプログラミングインターフェイス（ＡＰＩ）を使用すること、
を備える、請求項１の方法。
【請求項９】
上記第２の遅延を示すデータは、上記ユーザに起因する遅延を計算するために使用される、請求項１の方法。
【請求項１０】
上記第２の遅延を示すデータを使用することは、
上記ユーザに起因しない上記第１の遅延の量を識別することと、及び、
上記ユーザに起因する遅延に基づいて、上記受け取られた応答のために上記ユーザにペナルティを与えるか報酬を与えるかを決定することと、
を備える、請求項１の方法。
【請求項１１】
電子システムであって、
ヒューマンインターフェイスデバイス（ＨＩＤ）及びディスプレイサブシステムと通信しているユーザインターフェイスデバイス、
を備え、上記ユーザインターフェイスデバイスは、
ビジュアル刺激をレンダリングするために、上記ディスプレイサブシステムに信号を送信するビジュアル生成ユニットと、及び、
上記ビジュアル刺激に関連する応答を受け取り、上記電子システムの遅延を示すデータについて上記電子システムの少なくとも一部に問い合わせを行い、且つ、上記遅延を示すデータに応答してユーザとの対話を調整する、ユーザ対話ユニットと、
を備える、
電子システム。
【請求項１２】
上記ディスプレイサブシステムは、上記ユーザインターフェイスデバイスと通信しているワイヤレスディスプレイホストと、ワイヤレスディスプレイクライアントと、を備える、請求項１１の電子システム。
【請求項１３】
上記電子システムの上記遅延は、上記ワイヤレスディスプレイホストと上記ワイヤレスディスプレイクライアントとに起因する遅延を含む、請求項１２の電子システム。
【請求項１４】
ユーザと対話するための手段を備えるシステムであって、
上記対話するための手段は、
上記ユーザへのデータをレンダリングするためにデバイスを制御するための手段と、
上記レンダリングされたデータに対するユーザ応答を受け取るための手段と、
少なくとも一つの電子サブシステムに起因する上記ユーザ応答における遅延の量を識別するための手段と、及び、
上記少なくとも一つの電子サブシステムに起因する上記遅延を補償するための手段と、
を備える、システム。
【請求項１５】
上記遅延の量を識別するための手段は、
ディスプレイサブシステムから待ち時間情報を要求するためアプリケーションプログラミングインターフェイス（ＡＰＩ）を使用するための手段、
を備える、請求項１４のシステム。
【請求項１６】
上記遅延の量を識別するための手段は、
ヒューマンインターフェイスデバイス（ＨＩＤ）から待ち時間情報を要求するためアプリケーションプログラミングインターフェイス（ＡＰＩ）を使用するための手段、
を備える、請求項１４のシステム。
【請求項１７】
ディスプレイサブシステムと通信しているビデオゲームコンソールを備える、請求項１４のシステム。
【請求項１８】
その上に記録されたコンピュータプログラムロジックを有するコンピュータ可読媒体を有形に具現化するコンピュータプログラム製品であって、上記コンピュータプログラム製品は、
刺激に対するユーザ応答を受け取るコードと、
電子システムに起因する上記ユーザ応答における遅延の一部を識別するコードと、及び、
ユーザとの対話における上記電子システムに起因する上記遅延の影響を改善するコードと、
を備える、コンピュータプログラム製品。
【請求項１９】
上記遅延の一部を識別するコードは、
ディスプレイサブシステムに起因する待ち時間について上記電子システムに問い合わせを行うアプリケーションプログラミングインターフェイス（ＡＰＩ）、
を備える、請求項１８のコンピュータプログラム製品。
【請求項２０】
ビデオゲームアプリケーションを備える、請求項１８のコンピュータプログラム製品。
【請求項２１】
上記遅延の一部を識別するコードは、
ヒューマンインターフェイスデバイス（ＨＩＤ）に起因する待ち時間を識別するコード、
を備える、請求項１８のコンピュータプログラム製品。
【請求項２２】
ヒューマンインターフェイスデバイス（ＨＩＤ）及びディスプレイシステムと通信しているビデオゲームシステムであって、該ビデオゲームシステムは、上記ＨＩＤ及びディスプレイシステムそれぞれに起因する遅延時間に関連する情報について上記ＨＩＤ及びディスプレイシステムに問い合わせを行い、且つ、人間ユーザとの対話を調整するために待ち時間と関連する情報を使用する、ビデオゲームシステム、
を備える、システム。
【請求項２３】
上記ビデオゲームシステムは、ワイヤレスディスプレイシステムと通信している、請求項２２のシステム。
【請求項２４】
上記ビデオゲームシステムは、ビデオゲームコンソールを備える、請求項２２のシステム。
【請求項２５】
上記ビデオゲームシステムは、アプリケーションプログラミングインターフェイス（ＡＰＩ）を使用して、上記ＨＩＤ及びディスプレイシステムに問い合わせを行う、請求項２２のシステム。
【請求項２６】
ホストユニットと、及び、
ディスプレイパネルを有するクライアントユニットであって、上記ホストユニットは、要求ユニットからのアプリケーションプログラミングインターフェイス（ＡＰＩ）と通信し、上記ＡＰＩに応答して上記クライアントユニットに起因する待ち時間について上記クライアントユニットに問い合わせを行い、上記クライアントユニットに起因する上記待ち時間を使用して総計されたディスプレイサブシステム待ち時間を計算し、且つ、上記要求ユニットに上記総計されたディスプレイサブシステム待ち時間を示す情報を送信する、クライアントユニットと、
を含む、ディスプレイサブシステム、
を備える、システム。
【請求項２７】
上記ホストユニットとクライアントユニットは、ワイヤレスで通信する、請求項２６のシステム。
【請求項２８】
上記ホストユニットは、双方向クライアント問い合わせメッセージングを使用して、上記クライアントユニットに問い合わせを行う、請求項２６のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、対話型電子システムに関し、特に、対話型電子システムおけるシステム遅延の影響を軽減することに関する。
【背景技術】
【０００２】
ゲームアプリケーションは、通常、ホストプラットフォームに有線で接続されたディスプレイ上にゲームの出力をレンダリングするホストコンソール／コンピュータ上で実行される。このように、ゲームアプリケーションが表示されるべきフレームを提出した瞬間と、それがゲームプレーヤにビジブルになる瞬間と、の間のシステム遅延は、通常は人には知覚されず、このビジュアル刺激に対するジョイスティックまたはその他のヒューマンインターフェイスデバイス（ＨＩＤ）を介した応答における次の人間の遅延に関しても、通常は無視できる。典型的なゲームアプリケーションは、フレーム更新がオペレーティングシステム（ＯＳ）／グラフィックスサブシステムに提出された瞬間と、ＨＩＤ応答がゲームプレーヤから与えられる瞬間と、の間の遅延は、主にゲームプレーヤの遅延（ユーザの手と目の協調の関数）であると仮定する。この遅延は、プレーヤの反応を判断するために使用されることができ、ゲームアプリケーションによってなされる以降の決定に影響を与えることができる。この介在する遅延の大部分がフレームのレンダリングにおけるエンドツーエンドのシステム待ち時間によって引き起こされるならば、上記の仮定は有効ではなく、ゲームプレーヤが不当にペナルティを与える可能性がある。
【０００３】
現在、ワイヤレスディスプレイ技術が開発され、実用化され始めている。典型的なワイヤレスディスプレイは、ワイヤレスホストと、該ワイヤレスホストからの信号を受信し、ディスプレイ上にビジュアル情報をレンダリングするワイヤレスクライアントと、を含む。従来のワイヤレスディスプレイシステムは、人が知覚できる量の遅延を導く。
【０００４】
ワイヤレスディスプレイシステム遅延の影響を軽減する一つのアプローチは、できるだけ遅延を最小限に抑えることである。遅延を最小限に抑えるための一つの方法は、複数のアンテナを介して６０ＧＨｚリンクなどの高帯域のワイヤレスリンクを使用することである。通常、圧縮と解凍が遅延させる要因であると予期されており、高帯域リンクの使用は、ディスプレイに伝送される前にフレームを圧縮する必要性を排除することができる。しかしながら、このような解法は、無線で非圧縮ビデオを出力することが不可能であり得る、または、多数のアンテナを実際にサポートすることが不可能であり得る、バッテリ駆動機器には適していないことがある。
【発明の概要】
【０００５】
一実施形態によれば、方法は、ビジュアル情報に対するユーザ応答を受け取ることを備え、該ユーザ応答は、第１の遅延を含む。この方法はまた、第２の遅延を示すデータについて電子システムに問い合わせることを含み、上記第２の遅延は、上記第１の遅延の一部であり且つ上記電子システムに起因する。この方法はさらに、ユーザとの対話中に、電子システム遅延を補償するために、上記第２の遅延を示すデータを使用することを含む。
【０００６】
別の実施形態によれば、電子システムは、ヒューマンインターフェイスデバイス（ＨＩＤ）及びディスプレイサブシステムと通信しているユーザインターフェイスデバイスを備える。上記ユーザインターフェイスデバイスは、ビジュアル刺激をレンダリングするために、上記ディスプレイサブシステムに信号を送信するビジュアル生成ユニットを備える。上記ユーザインターフェイスデバイスはまた、上記ビジュアル刺激に関連する応答を受け取り、上記電子システムの遅延を示すデータについて上記電子システムの少なくとも一部に問い合わせを行い、且つ、上記遅延を示すデータに応答してユーザとの対話を調整する、ユーザ対話ユニットを含む。
【０００７】
別の実施形態では、システムは、ユーザと対話するための手段を備える。上記対話するための手段は、上記ユーザへのデータをレンダリングするためにデバイスを制御するための手段と、上記レンダリングされたデータに対するユーザ応答を受け取るための手段と、少なくとも一つの電子サブシステムに起因する上記ユーザ応答における遅延の量を識別するための手段と、及び、上記少なくとも一つの電子サブシステムに起因する上記遅延を補償するための手段と、を含む。
【０００８】
さらに別の実施形態では、その上に記録されたコンピュータプログラムロジックを有するコンピュータ可読媒体を有形に具現化するコンピュータプログラム製品は、刺激に対するユーザ応答を受け取るコードを備える。上記ロジックはまた、電子システムに起因する上記ユーザ応答における遅延の一部を識別するコードと、及び、ユーザとの対話における上記電子システムに起因する上記遅延の影響を改善するコードと、を備える。
【０００９】
別の実施形態では、システムは、ヒューマンインターフェイスデバイス（ＨＩＤ）及びディスプレイシステムと通信しているビデオゲームシステムを備える。上記ビデオゲームシステムは、上記ＨＩＤ及びディスプレイシステムそれぞれに起因する遅延時間に関連する情報について上記ＨＩＤ及びディスプレイシステムに問い合わせを行い、且つ、人間ユーザとの対話を調整するために待ち時間と関連する情報を使用する。
【００１０】
別の実施形態では、システムは、ディスプレイサブシステムを備える。上記ディスプレイサブシステムは、ホストユニットと、及び、ディスプレイパネルを有するクライアントユニットと、を含む。上記ホストユニットは、要求ユニットからのアプリケーションプログラミングインターフェイス（ＡＰＩ）と通信し、上記ＡＰＩに応答して上記クライアントユニットに起因する待ち時間について上記クライアントユニットに問い合わせを行い、上記クライアントユニットに起因する上記待ち時間を使用して総計されたディスプレイサブシステム待ち時間を計算し、且つ、上記要求ユニットに上記総計されたディスプレイサブシステム待ち時間を示す情報を送信する。
【００１１】
上記は、以下の詳細な説明が良く理解されるように、本開示の特徴と技術的な効果をかなり広く概説している。本開示の特許請求の範囲の主題を形成する追加の特徴及び効果は、以下に記述されるだろう。開示された概念及び特定の実施形態は、本開示の同じ目的を実施するための他の構造を変更する又は設計するための基礎として容易に利用されることができることは、当業者によって理解されるべきである。また、そのような等価な構造は、添付の特許請求の範囲に示されたような本開示の技術から逸脱しないことは、当業者によって理解されるべきである。その構成と動作の方法との両方に関して、本開示の特徴であると考えられている新規な特徴は、さらなる目的及び効果と一緒に、添付図面と関連して考慮されたとき以下の説明からより理解されるであろう。しかしながら、図面のそれぞれは、単に例示及び説明の目的のためだけに提供されたものであり、本開示の制限の定義として意図されていないことは、明示的に理解されるべきである。
【図面の簡単な説明】
【００１２】
【図１】図１は、本開示の一実施形態に従って適応された例示的システムの図である。
【図２】図２は、図１のシステムのようなシステム中に存在されることができる遅延の図である。
【図３】図３は、一実施形態に従って適応された例示的プロセスの図である。
【図４】図４は、一実施形態に従って適応された例示的プロセスの図である。
【発明を実施するための形態】
【００１３】
図１は、本開示の一実施形態に従って適応された例示的システム１００を示す図である。システム１００は、ビデオゲームコンソールや他の対話型デバイスを含み得るものの一例である、ユーザ対話コンソール１０２を含む。ユーザは、キーパッドとして示されているが、ジョイスティックまたは任意の他の有線またはワイヤレスコントローラ含み得る、ＨＩＤ  １０１を使用して、ユーザ対話コンソール１０２と対話する。
【００１４】
ユーザ対話コンソール１０２は、ディスプレイホスト１０３と制御信号を交換し、且つ、ディスプレイホスト１０３にメディア信号を送信する。例えば、ビデオゲームシステムの例では、ユーザ対話コンソール１０２は、ディスプレイ１０４上にレンダリングされるために、ディスプレイホスト１０３にサウンド信号及びビデオ信号を送信する。ビデオ信号は、ディスプレイ上にビジュアル情報をレンダリングする何れの技術も実施形態の範囲内ではあるが、通常は、フレームとしてレンダリングされる。
【００１５】
ディスプレイホスト１０３は、ワイヤレスリンク１１０を使用してディスプレイクライアント１０４と通信する。実施形態で使用するために適合させることができるワイヤレスリンクの例としては、ホワイトスペースチャンネル、ＩＥＥＥ  ８０２．１１リンク、ウルトラワイドバンド（ＵＷＢ）リンク、Ｂｌｕｅｔｏｏｔｈ（登録商標）リンク、等々を含む。この例では、ディスプレイホスト１０３は、ユーザ対話型コンソール１０２からオーディオ信号及びビデオ信号を受信し、それらの信号を圧縮符号化し、ディスプレイクライアント１０４にそれらの信号を送信する。そして、ディスプレイクライアント１０４は、それらの信号を解凍復号化し、それらの信号を処理して、画面及びスピーカでオーディオ情報及びビデオ情報を提示する。
【００１６】
図１においては、リンク１１０は、ワイヤレスリンクとして示されており、デバイス１０２と１０３との間のリンク及びデバイス１０２と１０１との間のリンクは、有線リンクとして示されている。しかしながら、所与のリンクが有線またはワイヤレスであることができることは、実施形態の範囲内である。更に、システム１００の様々なコンポーネントが別々に示されているとはいえ、それは、一つまたは複数のそのようなコンポーネントが一つまたは複数のデバイスに統合されることができることは、実施形態の範囲内である。例えば、一実施形態は、独立したワイヤレスディスプレイサブシステムと通信しているビデオゲームコンソールを含む。別の実施形態では、コンピュータは、ユーザ対話コンソール１０２と、スタンドアロンのワイヤレスディスプレイと通信しているディスプレイホスト１０３と、を含む。
【００１７】
ユーザ対話コンソール１０２、ディスプレイホスト１０３及びディスプレイクライアント１０４の機能は、以下に詳細に記載される。そのような機能は、ハードウェアまたはソフトウェアによって実行されることができ、多くの実施形態では、コンピュータ可読記憶媒体に保存されたコードを実行する一つまたは複数のコンピュータプロセッサによって提供される。いくつかの実施形態では、コンピュータプロセッサ及び上記機能を提供するコードを記憶したメモリは、様々なデバイスの何れかにインストールするためのチップセットに含まれる。システム１００の機能は、ユーザ対話コンソール１０２、ディスプレイホスト１０３及びディスプレイクライアント１０４それぞれにインストールされたチップセット１１２、１１３、１１４によって提供される。さらに、ユーザ対話コンソール１０２の様々な機能は、ゲームカートリッジ、ユニバーサルシリアルバス（ＵＳＢ）フラッシュドライブ、デジタルビデオディスク（ＤＶＤ）またはコンパクトディスク（ＣＤ）リードオンリーメモリ（ＲＯＭ）、内部ランダムアクセスメモリ（ＲＡＭ）及び／またはＲＯＭ、等々のようなコンピュータ可読媒体に書き込まれたコンピュータ実行可能コード（例えば、ビデオゲームコード）によって提供されることができる。
【００１８】
システム１００は、ディスプレイホスト１０３及びディスプレイクライアント１０４による信号の処理のため、人が知覚可能な遅延を経験する。特に、システム１００は、符号化／復号化、圧縮／解凍、及び信号の伝送に起因する幾らかの待ち時間を経験する。追加の待ち時間は、ワイヤレスディスプレイシステム待ち時間に比べれば無視し得るものではあるが、ＨＩＤ  １０１と、ユーザ対話型コンソール１０２によって実行される処理と、に起因する。
【００１９】
図２は、図１のシステム１００のようなシステムに存在することができる遅延の図である。タイムライン２００を左から右に移動していくと、左端の時間２０１は、ユーザ対話コンソールがディスプレイ上にビジュアルデータをレンダリングするために信号を送信した時である。ディスプレイシステム遅延である、第１の経過時間Ｄがある。有線システムでは、ディスプレイシステム遅延Ｄは、通常、ワイヤレスディスプレイサブシステムのためのものよりも小さい。フレームがラスタ上にレンダリングされた時点からユーザが応答するまでである、ユーザ応答遅延Ｕもまたある。ＨＩＤシステム遅延Ｈは、ユーザがＨＩＤを使用してボタンを押した時から、さもなければ対話した時から、ユーザ対話コンソールがユーザ応答を受け取る時までの遅延である。ユーザ対話型コンソールは、コンソール処理遅延Ｇを招くユーザ応答を処理し、時間２０２で、次のフレームをレンダリングする。次のフレームをレンダリングすることもまた、（第１のディスプレイシステム遅延Ｄと同じであるかもしれないし、同じではないかもしれない）次のディスプレイシステム遅延Ｄを招く。知覚されたユーザ応答遅延ＧＵは、フレームがレンダリングされた時からユーザ応答がユーザ対話型コンソールによって知覚される時までの遅延である。知覚されたシステム応答遅延ＵＧは、ユーザによって知覚されるようなシステム応答遅延である。
【００２０】
完璧なシステムでは、ＨＩＤシステム遅延Ｈは、ゼロであり、ディスプレイシステム遅延Ｄは、ゼロであり、ユーザ対話型コンソール（または、遅延の無い対話型アプリケーション、例えば、ビデオゲームソフト）は、ユーザ応答遅延ＧＵがＵに等しいと仮定することができる。知覚されたユーザ応答遅延ＧＵが非常に小さい幾つかの例では、知覚されたユーザ応答遅延ＧＵがユーザ応答遅延Ｕに等しいと仮定することは許容される。しかしながら、ディスプレイシステム遅延ＤまたはＨＩＤシステム遅延Ｈが大きい時には、知覚されたユーザ応答遅延ＧＵは、特にテンポの速いビデオゲームでは、ユーザ応答遅延Ｕに等しいと仮定することは、一般的には許容可能ではない。様々な実施形態では、ユーザ対話型コンソールは、ユーザの応答を評価するために遅延のユーザ成分を正確に推定するために、知覚されたユーザ応答遅延ＧＵから、ディスプレイシステム遅延Ｄ及びＨＩＤシステム遅延Ｈを減算する。さらなる問題は、ユーザがＨＩＤで対話する時に、ユーザは、しばしば、コンソールからの瞬時の応答を期待するということである。コンソールが迅速に反応する（またはしない）かどうかに関係なく、知覚されたシステム応答遅延ＵＧが大きい場合には、ユーザは、ノロノロしているとコンソールを知覚することができる。しかしながら、このような問題は、本開示によっては対処されない。
【００２１】
図３は、一実施形態に従って適応された例示的なプロセス３００を示す図である。プロセス３００は、例えば、図１のシステム１００のようなシステムによって実施されることができる。プロセス３００は、対話型アプリケーション３０１（例えば、ユーザ対話型コンソール上で走るソフトウェアアプリケーション（例えばゲーム））、ＯＳディスプレイサブシステム３０２（例えば、ユーザ対話型コンソールやディスプレイサブシステムホストのＯＳのユニット）、ディスプレイホストのワイヤレスディスプレイホストドライバ３０３、ワイヤレスディスプレイクライアントレシーバ３０４、及びディスプレイパネル３０５などの様々な機能ユニットの間でのアクションを含む。ディスプレイ遅延を識別するための図３に示された概念が同様に有線ディスプレイを使用するシステムにも適用されることができるとはいえ、図３は、ワイヤレスディスプレイの使用を示している。
【００２２】
対話型ユーザアプリケーション３０１は、知覚されたユーザ応答遅延ＧＵ計算の考慮外にするために、総ディスプレイシステム遅延Ｄについて問い合わせを行うために（アプリケーションプログラミングインターフェイス−ＡＰＩを介して）インターフェイスコールを行う。ＯＳディスプレイサブシステム３０２は、ワイヤレスディスプレイを使用するこの例では、ワイヤレスディスプレイと通信するワイヤレスサブシステムへのインターフェイスを含む。対話型ユーザアプリケーション３０１は、ローカルＡＰＩを使用してＯＳディスプレイサブシステム３０２に問い合わせを行い、ＯＳディスプレイサブシステム３０２は、総ディスプレイシステム遅延Ｄの値を返す。
【００２３】
この例では、総ディスプレイシステム遅延Ｄが、ワイヤレスディスプレイホストドライバ３０３及びワイヤレスディスプレイクライアントレシーバ３０４からの遅延を含む総遅延であるので、ＯＳディスプレイサブシステム３０２それ自体は、総ディスプレイシステム遅延Ｄの値を知らない。例えば：ワイヤレスディスプレイホストドライバ３０３自体は、幾つかの処理、例えば圧縮、を行い；ワイヤレス送信は、媒体アクセス遅延などの遅延を伴い；及び、ワイヤレスディスプレイクライアントレシーバ３０４は、遅延を伴う復号化を実行する。ディスプレイパネル３０５におけるラスタもまた、幾らかの遅延を持つ。様々なコンポーネントが一つのベンダからのものであるシナリオでは、異なる遅延が先験的に知られ得る可能性がある。対照的に、ディスプレイは一つのベンダからであり、且つ、ユーザ対話型コンソールは別のベンダからであるシステムでは、クライアントメッセージングは、図３に示すように、遅延の様々なコンポーネントを計算するために様々なコンポーネントに問い合わせを行うことができる。
【００２４】
ＯＳディスプレイサブシステム３０２は、この例では、ホスト処理遅延＋伝送遅延＋クライアント処理遅延とパネルレンダリング遅延（例えば、ラスタ遅延）とを含む、総ディスプレイシステム遅延Ｄに関する問い合わせを行うために、ワイヤレスディスプレイホストドライバ３０３にＡＰＩを使用して問い合わせを送信する。クライアント処理遅延及びパネルレンダリング遅延は、ワイヤレスディスプレイクライアントレシーバ３０４及びディスプレイパネル３０５に起因するものである。ワイヤレスディスプレイホストドライバ３０３及びワイヤレスディスプレイクライアントレシーバ３０４は、ワイヤレスディスプレイホストドライバ３０３にレシーバ遅延情報を最終的に提供するために、双方向クライアントメッセージングを使用する。そして、ワイヤレスディスプレイホストドライバ３０３は、ホスト処理遅延と、伝送遅延と、ワイヤレスディスプレイクライアントレシーバ３０４及びディスプレイパネル３０５に起因する遅延との合計を計算する。そして、ワイヤレスディスプレイホストドライバ３０３は、対話型ユーザアプリケーション３０１に総ディスプレイシステム遅延Ｄを示す情報を渡すＯＳディスプレイサブシステム３０２に、その情報を渡す。
【００２５】
プロセス３００は、様々な実施形態で様々な時間の何れかで実行されることができる。例えば、プロセス３００は、各フレームで、各ゲームセッションの時点で、定期的に、等々で実行されることができる。総ディスプレイシステム遅延Ｄがフレームからフレームで大きく変化した場合、フレームごと時点などの定期的な間隔でプロセス３００を実行することが望ましいことができるが、変化が小さい場合には、プロセス３００のあまり頻繁ではない実行は、オーバーヘッドを低減する。多くの場合、符号化遅延が大幅に変化しない時には、フレーム間の遅延の変化は軽微であると仮定されることができる。しかしながら、伝送に起因する遅延は、例えば、どのくらいのコンテンツが伝送されているかに応じて変わることができる。使用されるＡＰＩは、（結果を通知されたコールバックまたはイベントと）同期または非同期であることができ、ディスプレイデータをレンダリングするためのコールと独立して呼び出されることができる。更にまたは代わりに、問い合わせは、ディスプレイデータをレンダリングするためのＯＳコールと組み合わされることができる。
【００２６】
図４は、一実施形態に従って適応された例示的プロセス４００を示す図である。プロセス４００は、該プロセス４００がＨＩＤに起因するＨＩＤシステム遅延Ｈとして図２で参照された遅延を計算する手法であることを除けば、プロセス３００と同様である。幾つかの実施形態では、ＨＩＤは、大幅な起因遅延を有するワイヤレスデバイスである。これに対して、幾つかの実施形態では、ＨＩＤは、ほとんど起因遅延を持たないデバイスである。いずれの場合も、プロセス４００は、ＨＩＤシステム遅延Ｈを識別するために対話型ユーザアプリケーション３０１によって実行されることができる、それにより、ユーザ起因遅延が計算されることができる。ＨＩＤ遅延を識別するための図４に示された概念が、有線ＨＩＤを使用するシステムにも同様に適用されることができるとはいえ、図４は、ワイヤレスＨＩＤの使用を示している。
【００２７】
対話型ユーザアプリケーション３０１は、ＨＩＤに起因する遅延についての情報を要求するＯＳ  ＨＩＤサブシステム４０２に問い合わせを送信する。そして、ＯＳ  ＨＩＤサブシステム４０２は、ワイヤレスＨＩＤホストドライバ４０３にＡＰＩによって問い合わせを送信する。総ＨＩＤ遅延Ｈは、ホスト処理遅延と、周辺機器遅延と、を含む。周辺機器遅延は、ワイヤレスＨＩＤ周辺機器４０４それ自体に起因するものであり、入力／出力遅延と伝送遅延とを含む。ワイヤレスＨＩＤホストドライバ４０３及びワイヤレスＨＩＤ周辺機器４０４は、ワイヤレスＨＩＤホストドライバ４０３へワイヤレスＨＩＤ周辺機器４０４に起因する遅延を示す情報を引き渡すために、双方向問い合わせメッセージを使用する。そして、ワイヤレスＨＩＤホストドライバ４０３は、総ＨＩＤ遅延Ｈを計算し、対話型ユーザアプリケーション３０１に情報を渡すＯＳ  ＨＩＤサブシステム４０２に、ＨＩＤシステム遅延Ｈを示す情報を送信する。
【００２８】
ユーザ対話型コンソールとＨＩＤとが同じベンダからのものであるシステムでは、ＨＩＤ遅延は、先験的に知られ得る。これに対して、ユーザ対話型コンソールとＨＩＤとが異なるベンダからのものである（さもなければ未知である）時には、プロセス４００が実行されることができる。
【００２９】
上記プロセス３００と同様に、プロセス４００は、起動時に、フレーム毎に、定期的に、等々で実行されることができる。実施形態は、システム構成の変更に、帯域の変更に、要求の計算に、及び遅延に影響を与える他の要因に、適応するように、上記方法３００及び／または４００を行うことができる。
【００３０】
一旦、対話型ユーザアプリケーション３０１が、総ディスプレイシステム遅延ＤとＨＩＤシステム遅延Ｈの両方を示す情報を有すれば、対話型ユーザアプリケーション３０１は、どの遅延がシステム遅延であり、どの遅延がユーザ遅延であるかを導き出すことができる。そして、そのような導き出された情報は、システム遅延の影響を軽減するために、ユーザ対話型コンソールによって使用されることができる。一例では、ユーザ対話型コンソールは、ユーザの応答を判断する時に、計算されたシステム遅延を無視することによって、ユーザとの対話を調整する。ビデオゲームのコンテキストでは、ユーザの応答の関数としてユーザに与えられた報酬やペナルティは、システム遅延のためにユーザに不利にならないように調整される。言い換えれば、そのような例示システムは、それ独自の遅延を補償する。
【００３１】
上記の例の幾つかは、ビデオゲームコンテキストにあるとはいえ、すべての実施形態がそれに限定されるものではない。様々な実施形態は、ビデオゲームシステムで使用するために適合させられることができ、且つ、他の実施形態は、ユーザ遅延が対話に影響を与える他の様々なアプリケーションの何れかで使用するために適合させられることができる。例えば、実施形態は、ユーザのマウスの動きやキーストロークのコンテキストをより正確に計算するために、グラフィカルユーザインターフェイス（ＧＵＩ）を利用するパーソナルコンピュータに実装されることができる。追加の例は、マルチタッチジェスチャを検出する時のシステム遅延を考慮するために、ワイヤレスタッチディスプレイキャリブレーションユニットでの実施例を実装することを含む。
【００３２】
様々な実施形態は、他の技術上の効果を含む。例えば、様々な実施形態は、遅延を減らすために高帯域リンクを使用する、より電力集中型のシステムよりも、バッテリ駆動機器で使用するために、より良く適合させられることができる。さらに、問い合わせと応答とを有する閉ループ技術を使用する実施形態は、異なるホストプラットフォームで、伝送リンクの種類で、及びディスプレイプラットフォームの実装で、使用するために適応させられることができる。
【００３３】
本開示及びその利点が詳細に記載されたが、添付の特許請求の範囲によって定義されるように、上記開示の技術から逸脱することなしに、様々な変更、置換および改変が、ここでなされることができることを理解されるべきである。さらに、本出願の範囲は、本明細書に記載された、プロセス、機械、製造、物質の組成、手段、方法、および手順の特定の実施形態に限定されることを意図するものではない。当業者が上記開示から容易に理解できるだろうように、同一の機能を実質的に実行する又は本明細書に記載された対応する実施形態と同様の結果を実質的に達成する、現存の若しくは将来開発される、プロセス、機械、製造、物質の組成、手段、方法、またはステップが、本開示に従って利用することができる。したがって、添付の特許請求の範囲は、そのようなプロセス、機械、製造、物質の組成、手段、方法、またはステップを、その範囲内に含むことを意図される。
【図１】
2013508091.tif 000003
【図２】
2013508091.tif 000004
【図３】
2013508091.tif 000005
【図４】
2013508091.tif 000006
【手続補正書】
【提出日】平成24年9月7日(2012.9.7)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
さらに別の実施形態では、コンピュータプログラムは、コンピュータに、刺激に対するユーザ応答を受け取らせるコードを備える。上記コンピュータプログラムはまた、コンピュータに、電子システムに起因する上記ユーザ応答における遅延の一部を識別させるコードと、及び、コンピュータに、ユーザとの対話における上記電子システムに起因する上記遅延の影響を改善させるコードと、を備える。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１８
【補正方法】変更
【補正の内容】
【請求項１８】
コンピュータに、刺激に対するユーザ応答を受け取らせるコードと、
上記コンピュータに、電子システムに起因する上記ユーザ応答における遅延の一部を識別させるコードと、及び、
上記コンピュータに、ユーザとの対話における上記電子システムに起因する上記遅延の影響を改善させるコードと、
を備える、コンピュータプログラム。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１９
【補正方法】変更
【補正の内容】
【請求項１９】
上記コンピュータに、上記遅延の一部を識別させるコードは、
ディスプレイサブシステムに起因する待ち時間について上記電子システムに問い合わせを行うアプリケーションプログラミングインターフェイス（ＡＰＩ）、
を備える、請求項１８のコンピュータプログラム。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２０
【補正方法】変更
【補正の内容】
【請求項２０】
ビデオゲームアプリケーションを備える、請求項１８のコンピュータプログラム。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２１
【補正方法】変更
【補正の内容】
【請求項２１】
上記コンピュータに、上記遅延の一部を識別させるコードは、
上記コンピュータに、ヒューマンインターフェイスデバイス（ＨＩＤ）に起因する待ち時間を識別させるコード、
を備える、請求項１８のコンピュータプログラム。
【国際調査報告】
2013508091.tif 000007
2013508091.tif 000008
2013508091.tif 000009