特許第6141249号(P6141249)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クゥアルコム・インコーポレイテッドの特許一覧

特許6141249対話型システムにおけるシステム遅延の軽減
<>
  • 特許6141249-対話型システムにおけるシステム遅延の軽減 図000002
  • 特許6141249-対話型システムにおけるシステム遅延の軽減 図000003
  • 特許6141249-対話型システムにおけるシステム遅延の軽減 図000004
  • 特許6141249-対話型システムにおけるシステム遅延の軽減 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6141249
(24)【登録日】2017年5月12日
(45)【発行日】2017年6月7日
(54)【発明の名称】対話型システムにおけるシステム遅延の軽減
(51)【国際特許分類】
   G06F 3/048 20130101AFI20170529BHJP
   G06F 3/01 20060101ALI20170529BHJP
   A63F 13/235 20140101ALI20170529BHJP
   A63F 13/40 20140101ALI20170529BHJP
【FI】
   G06F3/048
   G06F3/01 510
   A63F13/235
   A63F13/40
【請求項の数】28
【外国語出願】
【全頁数】15
(21)【出願番号】特願2014-217543(P2014-217543)
(22)【出願日】2014年10月24日
(62)【分割の表示】特願2012-535365(P2012-535365)の分割
【原出願日】2010年10月21日
(65)【公開番号】特開2015-57717(P2015-57717A)
(43)【公開日】2015年3月26日
【審査請求日】2014年11月19日
(31)【優先権主張番号】12/603,344
(32)【優先日】2009年10月21日
(33)【優先権主張国】US
【前置審査】
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(72)【発明者】
【氏名】クリシュナン・ラジャマニ
(72)【発明者】
【氏名】サミア・サリブ・ソリマン
(72)【発明者】
【氏名】ビジャヤラクシュミ・ラビーンドラン
(72)【発明者】
【氏名】ジュディット・マルティネス・バウザ
【審査官】 酒井 優一
(56)【参考文献】
【文献】 特開2008−125721(JP,A)
【文献】 特開2005−323205(JP,A)
【文献】 特開2002−026926(JP,A)
【文献】 特開2007−299706(JP,A)
【文献】 特開2009−119146(JP,A)
【文献】 特開2009−230585(JP,A)
【文献】 特開2008−272448(JP,A)
【文献】 特開2006−325018(JP,A)
【文献】 特開2001−175281(JP,A)
【文献】 特開2002−152699(JP,A)
【文献】 特開2001−166761(JP,A)
【文献】 特表2004−523326(JP,A)
【文献】 特開2003−005947(JP,A)
【文献】 特開2001−198363(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048
G06F 3/01
A63F 13/235
A63F 13/40
(57)【特許請求の範囲】
【請求項1】
ビジュアル情報に対する応答を電子システムの一部であるヒューマンインターフェイスデバイス(HID)から受け取ることであって、上記応答は第1の遅延を含む、応答を受け取ることと、
第2の遅延を示すデータについて上記電子システムに問い合わせることであって、上記第2の遅延は上記第1の遅延の一部であり且つ上記電子システムに起因し、上記第2の遅延は少なくともホスト処理遅延を備える総ディスプレイ遅延を備える、上記電子システムに問い合わせることと、及び、
ユーザとの対話中に、上記第1の遅延中の上記ユーザに起因する遅延の量を識別するために、上記第2の遅延を示すデータを使用することと、
を備える、方法。
【請求項2】
プロセッサベースのゲームコンソールによって実行される、請求項1の方法。
【請求項3】
上記第2の遅延は、
上記電子システムの一部であるワイヤレスディスプレイユニットに起因する待ち時間、
を備える、請求項1の方法。
【請求項4】
上記第2の遅延は、
上記HIDに起因する待ち時間を備え、上記HIDは上記応答を提供する、
請求項1の方法。
【請求項5】
上記電子システムは、ワイヤレスディスプレイを制御するワイヤレスホストを備え、及び、上記電子システムに問い合わせることは、
上記第2の遅延の一部である上記総ディスプレイ遅延を計算するため前記ワイヤレスホストに要求を送信するために、アプリケーションプログラミングインターフェイス(API)を使用すること、
を備える、請求項1の方法。
【請求項6】
上記総ディスプレイ遅延は、
ホスト処理遅延と、
ホストワイヤレス伝送遅延と、
クライアントワイヤレス処理遅延と、及び、
ディスプレイパネルレンダリング遅延と、
を備える、請求項5の方法。
【請求項7】
上記ホスト処理遅延は、符号化及び圧縮遅延を備え、上記クライアントワイヤレス処理遅延は、復号化及び解凍遅延を備える、請求項6の方法。
【請求項8】
上記電子システムは、ワイヤレスディスプレイを制御するワイヤレスホストを備え、上記ワイヤレスホスト及びワイヤレスディスプレイは、異なる製造業者からのデバイスを備え、上記電子システムに問い合わせることは、
上記第2の遅延の一部である上記総ディスプレイ遅延を計算するため上記ワイヤレスホストに要求を送信するために、アプリケーションプログラミングインターフェイス(API)を使用すること、
を備える、請求項1の方法。
【請求項9】
上記第2の遅延を示すデータは、上記ユーザに起因する遅延を計算するために使用される、請求項1の方法。
【請求項10】
請求項1記載の上記第2の遅延を示すデータを使用することは、
上記ユーザに起因しない上記第1の遅延の量を識別することと、及び、
上記ユーザに起因する遅延に基づいて、上記受け取られた応答のために上記ユーザにペナルティを与えるか報酬を与えるかを決定することと、
を備える、請求項1の方法。
【請求項11】
電子システムであって、
ヒューマンインターフェイスデバイス(HID)及びディスプレイサブシステムと通信しているユーザインターフェイスデバイス、
を備え、上記ユーザインターフェイスデバイスは、
ビジュアル刺激をレンダリングするために、上記ディスプレイサブシステムに信号を送信するビジュアル生成ユニットと、及び、
上記ビジュアル刺激に関連し、第1の遅延を含む応答を受け取り、上記電子システムの第2の遅延を示すデータについて上記電子システムの少なくとも一部に問い合わせを行い、且つ、上記第2の遅延を示すデータに応答して上記ビジュアル刺激に関連する応答におけるユーザに起因する遅延の量を識別する、ユーザ対話ユニットであって、ここにおいて、上記第2の遅延は前記第1の遅延の一部であり、上記第2の延は少なくともホスト処理遅延を備える総ディスプレイ遅延を備える、ユーザ対話ユニットと、
を備える、
電子システム。
【請求項12】
上記ディスプレイサブシステムは、上記ユーザインターフェイスデバイスと通信しているワイヤレスディスプレイホストと、ワイヤレスディスプレイクライアントと、を備える、請求項11の電子システム。
【請求項13】
上記電子システムの上記第2の遅延は、上記ワイヤレスディスプレイホストと上記ワイヤレスディスプレイクライアントとに起因する遅延を備える、請求項12の電子システム。
【請求項14】
ユーザと対話するための手段を備えるシステムであって、
上記対話するための手段は、
上記ユーザへのデータをレンダリングするためにデバイスを制御するための手段と、
上記レンダリングされたデータに対するユーザ応答を受け取るための手段であって、前記ユーザ応答は、第1の遅延を含む、受け取るための手段と、
少なくとも一つの電子サブシステムに起因する上記ユーザ応答における遅延の量を識別するための手段と、
上記ユーザに起因する遅延の量を識別するために、上記少なくとも一つの電子サブシステムに起因する上記ユーザ応答における第2の遅延を使用するための手段と、を備え、上記第2の遅延は前記第1の遅延の一部であり、上記第2の遅延は少なくともホスト処理遅延を備える総ディスプレイ遅延を備える、システム。
【請求項15】
上記遅延の量を識別するための手段は、
ディスプレイサブシステムから待ち時間情報を要求するためアプリケーションプログラミングインターフェイス(API)を使用するための手段、
を備える、請求項14のシステム。
【請求項16】
上記遅延の量を識別するための手段は、
ヒューマンインターフェイスデバイス(HID)から待ち時間情報を要求するためアプリケーションプログラミングインターフェイス(API)を使用するための手段、
を備える、請求項14のシステム。
【請求項17】
ディスプレイサブシステムと通信しているビデオゲームコンソールを備える、請求項14のシステム。
【請求項18】
コンピュータに、刺激に対するユーザ応答を受け取らせるコードと、
上記コンピュータに、電子システムに起因する上記ユーザ応答における第1の遅延の一部である第2の遅延を識別させるコードであって、上記第2の遅延は少なくともホスト処理遅延を備える総ディスプレイ遅延を備える、第1の遅延の一部である第2の遅延を識別させるコードと、及び、
上記コンピュータに、上記ユーザに起因する遅延の量を識別させるために、ユーザとの対話における上記電子システムに起因する前記ユーザ応答における前記第1の遅延の一部である前記第2の遅延を使用させるコードと、
を備える、コンピュータプログラム。
【請求項19】
上記コンピュータに、上記遅延の一部を識別させるコードは、
ディスプレイサブシステムに起因する待ち時間について上記電子システムに問い合わせを行うアプリケーションプログラミングインターフェイス(API)、
を備える、請求項18のコンピュータプログラム。
【請求項20】
ビデオゲームアプリケーションを備える、請求項18のコンピュータプログラム。
【請求項21】
上記コンピュータに、上記遅延の一部を識別させるコードは、
上記コンピュータに、ヒューマンインターフェイスデバイス(HID)に起因する待ち時間を識別させるコード、
を備える、請求項18のコンピュータプログラム。
【請求項22】
ヒューマンインターフェイスデバイス(HID)及びディスプレイシステムと通信しているビデオゲームシステムであって、該ビデオゲームシステムは、第1の遅延を含む、ビジュアル情報に対する応答を上記HIDから受け取り、上記HID及びディスプレイシステムそれぞれに起因する上記第1の遅延の一部である第2の遅延に関連する情報について上記HID及びディスプレイシステムに問い合わせを行い、且つ、人間ユーザとの対話における人間ユーザに起因する遅延の量を識別するために上記第2の遅延に関連する情報を使用し、ここにおいて、上記第2の遅延は少なくともホスト処理遅延を備える総ディスプレイ遅延を備える、ビデオゲームシステム、
を備える、システム。
【請求項23】
上記ビデオゲームシステムは、ワイヤレスディスプレイシステムと通信している、請求項22のシステム。
【請求項24】
上記ビデオゲームシステムは、ビデオゲームコンソールを備える、請求項22のシステム。
【請求項25】
上記ビデオゲームシステムは、アプリケーションプログラミングインターフェイス(API)を使用して、上記HID及びディスプレイシステムに問い合わせを行う、請求項22のシステム。
【請求項26】
ホストユニットと、及び、
ディスプレイパネルを有するクライアントユニットであって、上記ホストユニットは、要求ユニットからのアプリケーションプログラミングインターフェイス(API)と通信し、上記APIに応答して上記クライアントユニットに起因する待ち時間について上記クライアントユニットに問い合わせを行い、上記クライアントユニットに起因する上記待ち時間およびホスト処理遅延を使用して総計されたディスプレイサブシステム待ち時間を計算し、且つ、上記要求ユニットに上記総計されたディスプレイサブシステム待ち時間を示す情報を送信する、クライアントユニットと、
を含む、ディスプレイサブシステム、
を備える、システム。
【請求項27】
上記ホストユニットとクライアントユニットは、ワイヤレスで通信する、請求項26のシステム。
【請求項28】
上記ホストユニットは、双方向クライアント問い合わせメッセージングを使用して、上記クライアントユニットに問い合わせを行う、請求項26のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、対話型電子システムに関し、特に、対話型電子システムおけるシステム遅延の影響を軽減することに関する。
【背景技術】
【0002】
ゲームアプリケーションは、通常、ホストプラットフォームに有線で接続されたディスプレイ上にゲームの出力をレンダリングするホストコンソール/コンピュータ上で実行される。このように、ゲームアプリケーションが、表示されるべきフレームを提出した瞬間と、それがゲームプレーヤにビジブルになる瞬間と、の間のシステム遅延は、通常は人には知覚されず、このビジュアル刺激に対するジョイスティックまたはその他のヒューマンインターフェイスデバイス(HID)を介した応答における次の人間の遅延に関しても、通常は無視できる。典型的なゲームアプリケーションは、フレーム更新がオペレーティングシステム(OS)/グラフィックスサブシステムに提出された瞬間と、HID応答がゲームプレーヤから与えられる瞬間と、の間の遅延は、主にゲームプレーヤの遅延(ユーザの手と目の協調の関数)であると仮定する。この遅延は、プレーヤの反応を判断するために使用されることができ、ゲームアプリケーションによってなされる以降の決定に影響を与えることができる。この介在する遅延の大部分がフレームのレンダリングにおけるエンドツーエンドのシステム待ち時間によって引き起こされるならば、上記の仮定は有効ではなく、ゲームプレーヤが不当にペナルティを与える可能性がある。
【0003】
現在、ワイヤレスディスプレイ技術が開発され、実用化され始めている。典型的なワイヤレスディスプレイは、ワイヤレスホストと、該ワイヤレスホストからの信号を受信し、ディスプレイ上にビジュアル情報をレンダリングするワイヤレスクライアントと、を含む。従来のワイヤレスディスプレイシステムは、人が知覚できる量の遅延を導く。
【0004】
ワイヤレスディスプレイシステム遅延の影響を軽減する一つのアプローチは、できるだけ遅延を最小限に抑えることである。遅延を最小限に抑えるための一つの方法は、複数のアンテナを介して60GHzリンクなどの高帯域のワイヤレスリンクを使用することである。通常、圧縮と解凍が遅延させる要因であると予期されており、高帯域リンクの使用は、ディスプレイに伝送される前にフレームを圧縮する必要性を排除することができる。しかしながら、このような解法は、無線で非圧縮ビデオを出力することが不可能であり得る、または、多数のアンテナを実際にサポートすることが不可能であり得る、バッテリ駆動機器には適していないことがある。
【発明の概要】
【0005】
一実施形態によれば、方法は、ビジュアル情報に対するユーザ応答を受け取ることを備え、該ユーザ応答は、第1の遅延を含む。この方法はまた、第2の遅延を示すデータについて電子システムに問い合わせることを含み、上記第2の遅延は、上記第1の遅延の一部であり且つ上記電子システムに起因する。この方法はさらに、ユーザとの対話中に、電子システム遅延を補償するために、上記第2の遅延を示すデータを使用することを含む。
【0006】
別の実施形態によれば、電子システムは、ヒューマンインターフェイスデバイス(HID)及びディスプレイサブシステムと通信しているユーザインターフェイスデバイスを備える。上記ユーザインターフェイスデバイスは、ビジュアル刺激をレンダリングするために、上記ディスプレイサブシステムに信号を送信するビジュアル生成ユニットを備える。上記ユーザインターフェイスデバイスはまた、上記ビジュアル刺激に関連する応答を受け取り、上記電子システムの遅延を示すデータについて上記電子システムの少なくとも一部に問い合わせを行い、且つ、上記遅延を示すデータに応答してユーザとの対話を調整する、ユーザ対話ユニットを含む。
【0007】
別の実施形態では、システムは、ユーザと対話するための手段を備える。上記対話するための手段は、上記ユーザへのデータをレンダリングするためにデバイスを制御するための手段と、上記レンダリングされたデータに対するユーザ応答を受け取るための手段と、少なくとも一つの電子サブシステムに起因する上記ユーザ応答における遅延の量を識別するための手段と、及び、上記少なくとも一つの電子サブシステムに起因する上記遅延を補償するための手段と、を含む。
【0008】
さらに別の実施形態では、その上に記録されたコンピュータプログラムロジックを有するコンピュータ可読媒体を有形に具現化するコンピュータプログラム製品は、刺激に対するユーザ応答を受け取るコードを備える。上記ロジックはまた、電子システムに起因する上記ユーザ応答における遅延の一部を識別するコードと、及び、ユーザとの対話における上記電子システムに起因する上記遅延の影響を改善するコードと、を有する。
【0009】
別の実施形態では、システムは、ヒューマンインターフェイスデバイス(HID)及びディスプレイシステムと通信しているビデオゲームシステムを備える。上記ビデオゲームシステムは、上記HID及びディスプレイシステムそれぞれに起因する待ち時間に関連する情報について上記HID及びディスプレイシステムに問い合わせを行い、且つ、人間ユーザとの対話を調整するために待ち時間と関連する情報を使用する。
【0010】
別の実施形態では、システムは、ディスプレイサブシステムを備える。上記ディスプレイサブシステムは、ホストユニットと、及び、ディスプレイパネルを有するクライアントユニットと、を含む。上記ホストユニットは、要求ユニットからのアプリケーションプログラミングインターフェイス(API)と通信し、上記APIに応答して上記クライアントユニットに起因する待ち時間について上記クライアントユニットに問い合わせを行い、上記クライアントユニットに起因する上記待ち時間を使用して総計されたディスプレイサブシステム待ち時間を計算し、且つ、上記要求ユニットに上記総計されたディスプレイサブシステム待ち時間を示す情報を送信する。
【0011】
上記は、以下の詳細な説明が良く理解されるように、本開示の特徴と技術的な効果をかなり広く概説している。本開示の特許請求の範囲の主題を形成する追加の特徴及び効果は、以下に記述されるだろう。開示された概念及び特定の実施形態は、本開示の同じ目的を実施するための他の構造を変更するまたは設計するための基礎として容易に利用されることができることは、当業者によって理解されるべきである。また、そのような等価な構造は、添付の特許請求の範囲に示されたような本開示の技術から逸脱しないことは、当業者によって理解されるべきである。その構成と動作の方法との両方に関して、本開示の特徴であると考えられている新規な特徴は、さらなる目的及び効果と一緒に、添付図面と関連して考慮されたとき以下の説明からより理解されるであろう。しかしながら、図面のそれぞれは、単に例示及び説明の目的のためだけに提供されたものであり、本開示の制限の定義として意図されていないことは、明示的に理解されるべきである。
【図面の簡単な説明】
【0012】
図1図1は、本開示の一実施形態に従って適応された例示的システムの図である。
図2図2は、図1のシステムのようなシステム中に存在されることができる遅延の図である。
図3図3は、一実施形態に従って適応された例示的プロセスの図である。
図4図4は、一実施形態に従って適応された例示的プロセスの図である。
【発明を実施するための形態】
【0013】
図1は、本開示の一実施形態に従って適応された例示的システム100を示す図である。システム100は、ビデオゲームコンソールや他の対話型デバイスを含み得るものの一例である、ユーザ対話コンソール102を含む。ユーザは、キーパッドとして示されているが、ジョイスティックまたは任意の他の有線またはワイヤレスコントローラ含み得る、HID 101を使用して、ユーザ対話コンソール102と対話する。
【0014】
ユーザ対話コンソール102は、ディスプレイホスト103と制御信号を交換し、且つ、ディスプレイホスト103にメディア信号を送信する。例えば、ビデオゲームシステムの例では、ユーザ対話コンソール102は、ディスプレイ104上にレンダリングされるために、ディスプレイホスト103にサウンド信号及びビデオ信号を送信する。ビデオ信号は、ディスプレイ上にビジュアル情報をレンダリングする何れの技術も実施形態の範囲内ではあるが、通常は、フレームとしてレンダリングされる。
【0015】
ディスプレイホスト103は、ワイヤレスリンク110を使用してディスプレイクライアント104と通信する。実施形態で使用するために適合させることができるワイヤレスリンクの例としては、ホワイトスペースチャンネル、IEEE 802.11リンク、ウルトラワイドバンド(UWB)リンク、Bluetooth(登録商標)リンク、等々を含む。この例では、ディスプレイホスト103は、ユーザ対話型コンソール102からオーディオ信号及びビデオ信号を受信し、それらの信号を圧縮及び符号化し、ディスプレイクライアント104にそれらの信号を送信する。そして、ディスプレイクライアント104は、それらの信号を解凍及び復号化し、それらの信号を処理して、画面及びスピーカでオーディオ情報及びビデオ情報を提示する。
【0016】
図1においては、リンク110は、ワイヤレスリンクとして示されており、デバイス102と103との間のリンク及びデバイス102と101との間のリンクは、有線リンクとして示されている。しかしながら、所与のリンクが有線またはワイヤレスであることができることは、実施形態の範囲内である。更に、システム100の様々なコンポーネントが別々に示されているとはいえ、それは、一つまたは複数のそのようなコンポーネントが一つまたは複数のデバイスに統合されることができることは、実施形態の範囲内である。例えば、一実施形態は、独立したワイヤレスディスプレイサブシステムと通信しているビデオゲームコンソールを含む。別の実施形態では、コンピュータは、ユーザ対話コンソール102と、スタンドアロンのワイヤレスディスプレイと通信しているディスプレイホスト103と、を含む。
【0017】
ユーザ対話コンソール102、ディスプレイホスト103及びディスプレイクライアント104の機能は、以下に詳細に記載される。そのような機能は、ハードウェアまたはソフトウェアによって実行されることができ、多くの実施形態では、コンピュータ可読記憶媒体に保存されたコードを実行する一つまたは複数のコンピュータプロセッサによって提供される。いくつかの実施形態では、コンピュータプロセッサ及び上記機能を提供するコードを記憶したメモリは、様々なデバイスの何れかにインストールするためのチップセットに含まれる。システム100の機能は、ユーザ対話コンソール102、ディスプレイホスト103及びディスプレイクライアント104それぞれにインストールされたチップセット112、113、114によって提供される。さらに、ユーザ対話コンソール102の様々な機能は、ゲームカートリッジ、ユニバーサルシリアルバス(USB)フラッシュドライブ、デジタルビデオディスク(DVD)またはコンパクトディスク(CD)リードオンリーメモリ(ROM)、内部ランダムアクセスメモリ(RAM)及び/またはROM、等々のようなコンピュータ可読媒体に書き込まれたコンピュータ実行可能コード(例えば、ビデオゲームコード)によって提供されることができる。
【0018】
システム100は、ディスプレイホスト103及びディスプレイクライアント104による信号の処理のため、人が知覚可能な遅延を経験する。特に、システム100は、符号化/復号化、圧縮/解凍、及び信号の伝送に起因する幾らかの待ち時間を経験する。追加の待ち時間は、ワイヤレスディスプレイシステム待ち時間に比べれば無視し得るものではあるが、HID 101と、ユーザ対話型コンソール102によって実行される処理と、に起因する。
【0019】
図2は、図1のシステム100のようなシステムに存在することができる遅延の図である。タイムライン200を左から右に移動していくと、左端の時間201は、ユーザ対話コンソールがディスプレイ上にビジュアルデータをレンダリングするために信号を送信した時である。ディスプレイシステム遅延である、第1の経過時間Dがある。有線システムでは、ディスプレイシステム遅延Dは、通常、ワイヤレスディスプレイサブシステムのためのものよりも小さい。フレームがラスタ上にレンダリングされた時点からユーザが応答するまでである、ユーザ応答遅延Uもまたある。HIDシステム遅延Hは、ユーザがHIDを使用してボタンを押した時から、さもなければ対話した時から、ユーザ対話コンソールがユーザ応答を受け取る時までの遅延である。ユーザ対話型コンソールは、コンソール処理遅延Gを招くユーザ応答を処理し、時間202で、次のフレームをレンダリングする。次のフレームをレンダリングすることもまた、(第1のディスプレイシステム遅延Dと同じであるかもしれないし、同じではないかもしれない)次のディスプレイシステム遅延Dを招く。知覚されたユーザ応答遅延GUは、フレームがレンダリングされた時からユーザ応答がユーザ対話型コンソールによって知覚される時までの遅延である。知覚されたシステム応答遅延UGは、ユーザによって知覚されるようなシステム応答遅延である。
【0020】
完璧なシステムでは、HIDシステム遅延Hは、ゼロであり、ディスプレイシステム遅延Dは、ゼロであり、ユーザ対話型コンソール(または、遅延の無い対話型アプリケーション、例えば、ビデオゲームソフト)は、ユーザ応答遅延GUがUに等しいと仮定することができる。知覚されたユーザ応答遅延GUが非常に小さい幾つかの例では、知覚されたユーザ応答遅延GUがユーザ応答遅延Uに等しいと仮定することは許容される。しかしながら、ディスプレイシステム遅延DまたはHIDシステム遅延Hが大きい時には、知覚されたユーザ応答遅延GUは、特にテンポの速いビデオゲームでは、ユーザ応答遅延Uに等しいと仮定することは、一般的には許容可能ではない。様々な実施形態では、ユーザ対話型コンソールは、ユーザの応答を評価するために遅延のユーザ成分を正確に推定するために、知覚されたユーザ応答遅延GUから、ディスプレイシステム遅延D及びHIDシステム遅延Hを減算する。さらなる問題は、ユーザがHIDで対話する時に、ユーザは、しばしば、コンソールからの瞬時の応答を期待するということである。コンソールが迅速に反応する(またはしない)かどうかに関係なく、知覚されたシステム応答遅延UGが大きい場合には、ユーザは、ノロノロしているとコンソールを知覚することができる。しかしながら、このような問題は、本開示によっては対処されない。
【0021】
図3は、一実施形態に従って適応された例示的なプロセス300を示す図である。プロセス300は、例えば、図1のシステム100のようなシステムによって実施されることができる。プロセス300は、対話型アプリケーション301(例えば、ユーザ対話型コンソール上で走るソフトウェアアプリケーション(例えばゲーム))、OSディスプレイサブシステム302(例えば、ユーザ対話型コンソールやディスプレイサブシステムホストのOSのユニット)、ディスプレイホストのワイヤレスディスプレイホストドライバ303、ワイヤレスディスプレイクライアントレシーバ304、及びディスプレイパネル305などの様々な機能ユニットの間でのアクションを含む。ディスプレイ遅延を識別するための図3に示された概念が同様に有線ディスプレイを使用するシステムにも適用されることができるとはいえ、図3は、ワイヤレスディスプレイの使用を示している。
【0022】
対話型ユーザアプリケーション301は、知覚されたユーザ応答遅延GU計算の考慮外にするために、総ディスプレイシステム遅延Dについて問い合わせを行うために(アプリケーションプログラミングインターフェイス−APIを介して)インターフェイスコールを行う。OSディスプレイサブシステム302は、ワイヤレスディスプレイを使用するこの例では、ワイヤレスディスプレイと通信するワイヤレスサブシステムへのインターフェイスを含む。対話型ユーザアプリケーション301は、ローカルAPIを使用してOSディスプレイサブシステム302に問い合わせを行い、OSディスプレイサブシステム302は、総ディスプレイシステム遅延Dの値を返す。
【0023】
この例では、総ディスプレイシステム遅延Dが、ワイヤレスディスプレイホストドライバ303及びワイヤレスディスプレイクライアントレシーバ304からの遅延を含む総遅延であるので、OSディスプレイサブシステム302それ自体は、総ディスプレイシステム遅延Dの値を知らない。例えば:ワイヤレスディスプレイホストドライバ303自体は、幾つかの処理、例えば圧縮、を行い;ワイヤレス送信は、媒体アクセス遅延などの遅延を伴い;及び、ワイヤレスディスプレイクライアントレシーバ304は、遅延を伴う復号化を実行する。ディスプレイパネル305におけるラスタもまた、幾らかの遅延を持つ。様々なコンポーネントが一つのベンダからのものであるシナリオでは、異なる遅延が先験的に知られ得る可能性がある。対照的に、ディスプレイは一つのベンダからであり、且つ、ユーザ対話型コンソールは別のベンダからであるシステムでは、クライアントメッセージングは、図3に示すように、遅延の様々なコンポーネントを計算するために様々なコンポーネントに問い合わせを行うことができる。
【0024】
OSディスプレイサブシステム302は、この例では、ホスト処理遅延+伝送遅延+クライアント処理遅延とパネルレンダリング遅延(例えば、ラスタ遅延)とを含む、総ディスプレイシステム遅延Dに関する問い合わせを行うために、ワイヤレスディスプレイホストドライバ303にAPIを使用して問い合わせを送信する。クライアント処理遅延及びパネルレンダリング遅延は、ワイヤレスディスプレイクライアントレシーバ304及びディスプレイパネル305に起因するものである。ワイヤレスディスプレイホストドライバ303及びワイヤレスディスプレイクライアントレシーバ304は、ワイヤレスディスプレイホストドライバ303にレシーバ遅延情報を最終的に提供するために、双方向クライアントメッセージングを使用する。そして、ワイヤレスディスプレイホストドライバ303は、ホスト処理遅延と、伝送遅延と、ワイヤレスディスプレイクライアントレシーバ304及びディスプレイパネル305に起因する遅延との合計を計算する。そして、ワイヤレスディスプレイホストドライバ303は、対話型ユーザアプリケーション301に総ディスプレイシステム遅延Dを示す情報を渡すOSディスプレイサブシステム302に、その情報を渡す。
【0025】
プロセス300は、様々な実施形態で様々な時間の何れかで実行されることができる。例えば、プロセス300は、各フレームで、一ゲームセッションごとに一度、定期的に、等々で実行されることができる。総ディスプレイシステム遅延Dがフレームからフレームで大きく変化した場合、フレームごとに一度などの定期的な間隔でプロセス300を実行することが望ましいことができるが、変化が小さい場合には、プロセス300のあまり頻繁ではない実行は、オーバーヘッドを低減する。多くの場合、符号化遅延が大幅に変化しない時には、フレーム間の遅延の変化は軽微であると仮定されることができる。しかしながら、伝送に起因する遅延は、例えば、どのくらいのコンテンツが伝送されているかに応じて変わることができる。使用されるAPIは、(結果を通知されたコールバックまたはイベントと)同期または非同期であることができ、ディスプレイデータをレンダリングするためのコールと独立して呼び出されることができる。更にまたは代わりに、問い合わせは、ディスプレイデータをレンダリングするためのOSコールと組み合わされることができる。
【0026】
図4は、一実施形態に従って適応された例示的プロセス400を示す図である。プロセス400は、該プロセス400がHIDに起因するHIDシステム遅延Hとして図2で参照された遅延を計算する手法であることを除けば、プロセス300と同様である。幾つかの実施形態では、HIDは、大幅な起因遅延を有するワイヤレスデバイスである。これに対して、幾つかの実施形態では、HIDは、ほとんど起因遅延を持たないデバイスである。いずれの場合も、プロセス400は、HIDシステム遅延Hを識別するために対話型ユーザアプリケーション301によって実行されることができる、それにより、ユーザ起因遅延が計算されることができる。HID遅延を識別するための図4に示された概念が、有線HIDを使用するシステムにも同様に適用されることができるとはいえ、図4は、ワイヤレスHIDの使用を示している。
【0027】
対話型ユーザアプリケーション301は、HIDに起因する遅延についての情報を要求するOS HIDサブシステム402に問い合わせを送信する。そして、OS HIDサブシステム402は、ワイヤレスHIDホストドライバ403にAPIによって問い合わせを送信する。総HID遅延Hは、ホスト処理遅延と、周辺機器遅延と、を含む。周辺機器遅延は、ワイヤレスHID周辺機器404それ自体に起因するものであり、入力/出力遅延と伝送遅延とを含む。ワイヤレスHIDホストドライバ403及びワイヤレスHID周辺機器404は、ワイヤレスHIDホストドライバ403へワイヤレスHID周辺機器404に起因する遅延を示す情報を引き渡すために、双方向問い合わせメッセージを使用する。そして、ワイヤレスHIDホストドライバ403は、総HID遅延Hを計算し、対話型ユーザアプリケーション301に情報を渡すOS HIDサブシステム402に、HIDシステム遅延Hを示す情報を送信する。
【0028】
ユーザ対話型コンソールとHIDとが同じベンダからのものであるシステムでは、HID遅延は、先験的に知られ得る。これに対して、ユーザ対話型コンソールとHIDとが異なるベンダからのものである(さもなければ未知である)時には、プロセス400が実行されることができる。
【0029】
上記プロセス300と同様に、プロセス400は、起動時に、フレーム毎に、定期的に、等々で実行されることができる。実施形態は、システム構成の変更に、帯域の変更に、要求の計算に、及び遅延に影響を与える他の要因に、適応するように、上記方法300及び/または400を行うことができる。
【0030】
一旦、対話型ユーザアプリケーション301が、総ディスプレイシステム遅延DとHIDシステム遅延Hの両方を示す情報を有すれば、対話型ユーザアプリケーション301は、どの遅延がシステム遅延であり、どの遅延がユーザ遅延であるかを導き出すことができる。そして、そのような導き出された情報は、システム遅延の影響を軽減するために、ユーザ対話型コンソールによって使用されることができる。一例では、ユーザ対話型コンソールは、ユーザの応答を判断する時に、計算されたシステム遅延を無視することによって、ユーザとの対話を調整する。ビデオゲームのコンテキストでは、ユーザの応答の関数としてユーザに与えられた報酬やペナルティは、システム遅延のためにユーザに不利にならないように調整される。言い換えれば、そのような例示システムは、それ独自の遅延を補償する。
【0031】
上記の例の幾つかは、ビデオゲームコンテキストにあるとはいえ、すべての実施形態がそれに限定されるものではない。様々な実施形態は、ビデオゲームシステムで使用するために適合させられることができ、且つ、他の実施形態は、ユーザ遅延が対話に影響を与える他の様々なアプリケーションの何れかで使用するために適合させられることができる。例えば、実施形態は、ユーザのマウスの動きやキーストロークのコンテキストをより正確に計算するために、グラフィカルユーザインターフェイス(GUI)を利用するパーソナルコンピュータに実装されることができる。追加の例は、マルチタッチジェスチャを検出する時のシステム遅延を考慮するために、ワイヤレスタッチディスプレイキャリブレーションユニットでの実施例を実装することを含む。
【0032】
様々な実施形態は、他の技術に勝る効果を含む。例えば、様々な実施形態は、遅延を減らすために高帯域リンクを使用する、より電力集中型のシステムよりも、バッテリ駆動機器で使用するために、より良く適合させられることができる。さらに、問い合わせと応答とを有する閉ループ技術を使用する実施形態は、異なるホストプラットフォームで、伝送リンクの種類で、及びディスプレイプラットフォームの実装で、使用するために適応させられることができる。
【0033】
本開示及びその利点が詳細に記載されたが、添付の特許請求の範囲によって定義されるように、上記開示の技術から逸脱することなしに、様々な変更、置換、及び改変が、ここでなされることができることを理解されるべきである。さらに、本出願の範囲は、本明細書に記載された、プロセス、機械、製造、物質の組成、手段、方法、及び手順の特定の実施形態に限定されることを意図するものではない。当業者が上記開示から容易に理解できるだろうように、同一の機能を実質的に実行するまたは本明細書に記載された対応する実施形態と同様の結果を実質的に達成する、現存の若しくは将来開発される、プロセス、機械、製造、物質の組成、手段、方法、またはステップが、本開示に従って利用することができる。したがって、添付の特許請求の範囲は、そのようなプロセス、機械、製造、物質の組成、手段、方法、またはステップを、その範囲内に含むことを意図される。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1] ビジュアル情報に対する応答を受け取ることであって、上記応答は第1の遅延を含む、応答を受け取ることと、
第2の遅延を示すデータについて電子システムに問い合わせることであって、上記第2の遅延は上記第1の遅延の一部であり且つ上記電子システムに起因する、電子システムに問い合わせることと、及び、
ユーザとの対話中に、電子システム遅延を補償するために、上記第2の遅延を示すデータを使用することと、
を備える、方法。
[C2] プロセッサベースのゲームコンソールによって実行される、C1の方法。
[C3] 上記第2の遅延は、
前記電子システムの一部であるワイヤレスディスプレイユニットに起因する待ち時間、
を備える、C1の方法。
[C4] 上記第2の遅延は、
上記電子システムの一部であるヒューマンインターフェイスデバイス(HID)に起因する待ち時間を備え、上記HIDは上記応答を提供する、
C1の方法。
[C5] 上記電子システムは、ワイヤレスディスプレイを制御するワイヤレスホストを備え、及び、上記電子システムに問い合わせることは、
上記第2の遅延の一部である総ディスプレイ遅延を計算するため前記ワイヤレスホストに要求を送信するために、アプリケーションプログラミングインターフェイス(API)を使用すること、
を備える、C1の方法。
[C6] 上記総ディスプレイ遅延は、
ホスト処理遅延と、
ホストワイヤレス伝送遅延と、
クライアントワイヤレス処理遅延と、及び、
ディスプレイパネルレンダリング遅延と、
を備える、C5の方法。
[C7] 上記ホスト処理遅延は、符号化及び圧縮遅延を備え、上記クライアントワイヤレス処理遅延は、復号化及び解凍遅延を備える、C6の方法。
[C8] 上記電子システムは、ワイヤレスディスプレイを制御するワイヤレスホストを備え、上記ワイヤレスホスト及びワイヤレスディスプレイは、異なる製造業者からのデバイスを備え、上記電子システムに問い合わせることは、
上記第2の遅延の一部である総ディスプレイ遅延を計算するため上記ワイヤレスホストに要求を送信するために、アプリケーションプログラミングインターフェイス(API)を使用すること、
を備える、C1の方法。
[C9] 上記第2の遅延を示すデータは、上記ユーザに起因する遅延を計算するために使用される、C1の方法。
[C10] 上記第2の遅延を示すデータを使用することは、
上記ユーザに起因しない上記第1の遅延の量を識別することと、及び、
上記ユーザに起因する遅延に基づいて、上記受け取られた応答のために上記ユーザにペナルティを与えるか報酬を与えるかを決定することと、
を備える、C1の方法。
[C11] 電子システムであって、
ヒューマンインターフェイスデバイス(HID)及びディスプレイサブシステムと通信しているユーザインターフェイスデバイス、
を備え、上記ユーザインターフェイスデバイスは、
ビジュアル刺激をレンダリングするために、上記ディスプレイサブシステムに信号を送信するビジュアル生成ユニットと、及び、
上記ビジュアル刺激に関連する応答を受け取り、上記電子システムの遅延を示すデータについて上記電子システムの少なくとも一部に問い合わせを行い、且つ、上記遅延を示すデータに応答してユーザとの対話を調整する、ユーザ対話ユニットと、
を備える、
電子システム。
[C12] 上記ディスプレイサブシステムは、上記ユーザインターフェイスデバイスと通信しているワイヤレスディスプレイホストと、ワイヤレスディスプレイクライアントと、を備える、C11の電子システム。
[C13] 上記電子システムの上記遅延は、上記ワイヤレスディスプレイホストと上記ワイヤレスディスプレイクライアントとに起因する遅延を備える、C12の電子システム。
[C14] ユーザと対話するための手段を備えるシステムであって、
上記対話するための手段は、
上記ユーザへのデータをレンダリングするためにデバイスを制御するための手段と、
上記レンダリングされたデータに対するユーザ応答を受け取るための手段と、
少なくとも一つの電子サブシステムに起因する上記ユーザ応答における遅延の量を識別するための手段と、及び、
上記少なくとも一つの電子サブシステムに起因する上記遅延を補償するための手段と、
を備える、システム。
[C15] 上記遅延の量を識別するための手段は、
ディスプレイサブシステムから待ち時間情報を要求するためアプリケーションプログラミングインターフェイス(API)を使用するための手段、
を備える、C14のシステム。
[C16] 上記遅延の量を識別するための手段は、
ヒューマンインターフェイスデバイス(HID)から待ち時間情報を要求するためアプリケーションプログラミングインターフェイス(API)を使用するための手段、
を備える、C14のシステム。
[C17] ディスプレイサブシステムと通信しているビデオゲームコンソールを備える、C14のシステム。
[C18] その上に記録されたコンピュータプログラムロジックを有するコンピュータ可読媒体を有形に具現化するコンピュータプログラム製品であって、上記コンピュータプログラム製品は、
刺激に対するユーザ応答を受け取るコードと、
電子システムに起因する上記ユーザ応答における遅延の一部を識別するコードと、及び、
ユーザとの対話における上記電子システムに起因する上記遅延の影響を改善するコードと、
を備える、コンピュータプログラム製品。
[C19] 上記遅延の一部を識別するコードは、
ディスプレイサブシステムに起因する待ち時間について上記電子システムに問い合わせを行うアプリケーションプログラミングインターフェイス(API)、
を備える、C18のコンピュータプログラム製品。
[C20] ビデオゲームアプリケーションを備える、C18のコンピュータプログラム製品。
[C21] 上記遅延の一部を識別するコードは、
ヒューマンインターフェイスデバイス(HID)に起因する待ち時間を識別するコード、
を備える、C18のコンピュータプログラム製品。
[C22] ヒューマンインターフェイスデバイス(HID)及びディスプレイシステムと通信しているビデオゲームシステムであって、該ビデオゲームシステムは、上記HID及びディスプレイシステムそれぞれに起因する待ち時間に関連する情報について上記HID及びディスプレイシステムに問い合わせを行い、且つ、人間ユーザとの対話を調整するために待ち時間と関連する情報を使用する、ビデオゲームシステム、
を備える、システム。
[C23] 上記ビデオゲームシステムは、ワイヤレスディスプレイシステムと通信している、C22のシステム。
[C24] 上記ビデオゲームシステムは、ビデオゲームコンソールを備える、C22のシステム。
[C25] 上記ビデオゲームシステムは、アプリケーションプログラミングインターフェイス(API)を使用して、上記HID及びディスプレイシステムに問い合わせを行う、C22のシステム。
[C26] ホストユニットと、及び、
ディスプレイパネルを有するクライアントユニットであって、上記ホストユニットは、要求ユニットからのアプリケーションプログラミングインターフェイス(API)と通信し、上記APIに応答して上記クライアントユニットに起因する待ち時間について上記クライアントユニットに問い合わせを行い、上記クライアントユニットに起因する上記待ち時間を使用して総計されたディスプレイサブシステム待ち時間を計算し、且つ、上記要求ユニットに上記総計されたディスプレイサブシステム待ち時間を示す情報を送信する、クライアントユニットと、
を含む、ディスプレイサブシステム、
を備える、システム。
[C27] 上記ホストユニットとクライアントユニットは、ワイヤレスで通信する、C26のシステム。
[C28] 上記ホストユニットは、双方向クライアント問い合わせメッセージングを使用して、上記クライアントユニットに問い合わせを行う、C26のシステム。
図1
図2
図3
図4