グラフィックイメージをレンダリングする方法
【課題】 携帯機器においてグラフィック・レンダリングの複雑度及び優先順位を定義する方法を提供する。
【解決手段】 位置、ポインティング方向及び振動率などの携帯機器によって測定され、感知されるものを含む携帯システムに対する様々な物理的状態及び係数に基づいて、携帯機器におけるグラフィック・レンダリングの複雑度及び優先順位を定義する方法が開示され記載される。特に、イメージ・タイプのユーザーインターフェースを有するハンドヘルド計算システムは、示されたイメージ及びシステムの全体速度の値を改善するために、そのハンドヘルド装置の瞬間的位置及び方向に応答して生成されるグラフィックイメージを含む。
【解決手段】 位置、ポインティング方向及び振動率などの携帯機器によって測定され、感知されるものを含む携帯システムに対する様々な物理的状態及び係数に基づいて、携帯機器におけるグラフィック・レンダリングの複雑度及び優先順位を定義する方法が開示され記載される。特に、イメージ・タイプのユーザーインターフェースを有するハンドヘルド計算システムは、示されたイメージ及びシステムの全体速度の値を改善するために、そのハンドヘルド装置の瞬間的位置及び方向に応答して生成されるグラフィックイメージを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、以前出願された仮出願に依存しない新規の出願である。本出願は、2008年11月21日にカリフォルニア州、サンフランシスコのイギリス人発明者Thomas Ellenbyによって出願されたシリアル番号61/199,922号を有する米国仮出願からの利益及び優先権を主張する。
【0002】
以下における発明の開示は、一般的に、結合型携帯機器の物理的状態に頼ってレンダリングされるコンピュータ・グラフィックイメージに関する。
【背景技術】
【0003】
現代のコンピュータ・システムは、しばしば、ユーザーのリクエストに応答し極めて動的なイメージを生成するのに使用される。コンピュータ化された機器のユーザーは、対象のパラメータを、例えば、対話型ユーザーインターフェースの方法で特定し、より多くの情報に対する希望を示すか、あるいは具体的により多くの一定の種類の情報に対する希望を示す。ユーザーのビューアーによってかなり特定されたパラメータに応答してイメージ(写真とコンピュータ生成とが混合した)を与える「Google Earth」として知られるすばらしいコンピュータ・アプリケーションは、多くの人々によく知られている。例では、あるユーザーがスキューバダイビングの好適な場所について知りたいならば、そのユーザーは、適切なユーザーインターフェースのチェックボックスをクリックするだけで、マップを再描写させるようにし、そのマップの詳細レベルは、以前記録された好適なスキューバダイビングの場所に関連するマーカーを含むように調整される。マップのタイプのグラフィカル・イメージの詳細レベルが、ユーザーの様々なパラメータの特定に応答すると言われている。
【0004】
軍事システムは、注視される検出領域内において望ましいターゲットに応答するように、長い間供給されて来ている。General Dynamicsによって開発されたPhalanxミサイル迎撃システムなどのある一定のレーダー・システムは、物標方位における変化などの要因を考慮に入れることによって入って来るターゲットを分類する。一定の方位及び閉鎖範囲を持つターゲットは、その結果、それらの範囲及びアプローチの速度に関して分類される。船に最も早く到達できるターゲットは、「最も重要」として分類され、優先して対処される。
【0005】
当然のことながら、これらの技術のほぼ全ては、グラフィック・レンダリングに関する新しいトリック及び技術を用いて、他の全分野をリードする傾向のあるコンピュータゲームの世界において最初に出現する。ある1つの重要な発明において、「リアルタイム形状」の方法は、カリフォルニア州CarpenteriaのMetaTools Inc.のDr. Alexander Migdalによって開発された。リアルタイム形状は、グラフィックオブジェクトの詳細を、そのイメージのビューアーからの見かけの距離に応じて修正する。例えば、コンピュータゲームにおけるレースカーは、合成イメージの前景のゲームプレーヤーに向かって轟音を立てて進むとほぼ生きているような詳細を増すが、それが似たシーンの背景の中にさらに戻って行くにつれて解像度を失う。
【0006】
しかし、これらのシステムの各々は、それの周囲の環境の瞬間的状態及びそのシーンに関連する装置の状態の視点においてイメージをレンダリングする能力に限られる。当該技術の装置は、それらのイメージ・レンダリング方式において携帯機器の動的パラメータを考慮に入れない。しかし、コンピュータで生成されたグラフィックイメージを、例えば、イメージが表示されている携帯機器などの、レンダリングされているシーンに関連するシステムの物理的状態に関して動的さを与えることは、かなり価値があるだろう。特に、その携帯機器の位置及び方向は、レンダリングされたイメージの詳細のレベルが位置と姿勢(方向)に対応する特定の値によって影響を受けるイメージ・レンダリング・システムに好みを提案してもよい。
【0007】
該技術のシステム及び発明は、特定のゴール及び目的を達成するように設計されており、それらのいくつかは優れている一方、該技術のこれらの発明は、それにもかかわらず、現在可能な新しい方法で使用することを防ぐ限度を含む。該技術の発明は、使用されておらず、ここで以下に示される教示の利点及び目的を実現するように使用することができない。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】米国特許第5,815,411号明細書
【発明の概要】
【発明が解決しようとする課題】
【0009】
ここで、Thomas Ellenbyは、グラフィックイメージの詳細を、表示されている環境に関連する携帯機器の物理的状態に応じて優先順位を付ける方法を含む、グラフィックイメージのレンダリングの方法の発明をもたらした。
【0010】
本発明の主な目的は、関連する機器の物理的状態に応じてグラフィックをレンダリングする方法を提供することである。
【0011】
本発明の目的は、該機器の形状の特質に反応する携帯・システムを提供することである。
【0012】
さらなる目的は、選択的及び可変性の詳細を用いたコンピュータ・グラフィック・レンダリングを供給することである。
【0013】
さらなる理解は、望ましい実施形態の詳細な記載及び添付の図表を参照して得ることができる。示される実施形態は、本発明の実現するための特定の方法であり、全ての可能な方法は含んでいない。従って、添付の請求項によって説明されるように本開示の要旨及び範囲から外れない実施形態が存在してもよいが、ここでは具体的な例としては現れない。多数の代替的な型が可能であることも理解されるだろう。
【課題を解決するための手段】
【0014】
本文献において記載されるグラフィック・レンダリングを制御するために使用されるような「重要度」又は「優先度」の概念は、例えば、携帯・システムの位置及びポイントする方向又は姿勢などの、グラフィックイメージによって表示されているシーンに関連する携帯機器のその機器のサブシステムによって決定される感知状態が、各オブジェクトの重要度の分類において考慮に入れられる点において、従来技術に共通するシステムとは異なる。さらに、選択されたグラフィック要素の重要度係数を修正するために使用される、ある特定のユーザーの習慣及び希望に基づいた使用プロフィールを生成する方法が、開示される。さらに、機器の感知状態に基づいて生成されるべきグラフィックオブジェクトの複雑度に関する限度(例えば、レンダリングされているシーンに関連する携帯・システムの位置及び/又はポイント方向)が開示される。
【0015】
グラフィックの複雑度及びグラフィック・レンダリング又は生成の優先順位を、増大された現実性及び既知のパフォーマンス特性を持つ他の携帯機器によって定めて制御する方法は、携帯装置及び他の入力の様々な感知状態に基づいている。これらの方法は、航空、海路及び陸路ナビゲーション、ゲーミング及び観光(増大された現実性及びその他)、ローカルな検索、スポーツ・ビューイング、及びその他の分野において、とりわけ実用性がある。携帯機器は、GPS、コンパス、及び加速計などのセンサーを、マップ表示及びゲーム・プレイなどの様々な使用のためにさらに組み入れている。位置、ポイント方向、位置変化の速度、スルー速度(slew velocity)、振動速度、その他などの機器の感知される物理的状態を使用することによって、本発明の方法は、携帯機器が最も重要なグラフィックを最初に表示し、又は生成において優先権を与えることを可能にし、その携帯機器がグラフィックを、それらの感知状態に適切な複雑度のレベルで表示することもまた可能にする。
【図面の簡単な説明】
【0016】
【図1】関連するサブシステム及びセンサーを持つビジョン・システムを示す本発明の望ましい実施形態のブロック概略図である。
【図2】記載されたシステムの一般的な操作を示すフローチャートである。
【図3】ユニット動作によるグラフィック限度サブシステムの操作を示すフローチャート、パート1である。
【図4】ユニット動作によるグラフィック限度サブシステムの操作を示すフローチャート、パート2である。
【図5】使用プロフィール・サブシステムの操作を示すフローチャート、パート1である。
【図6】使用プロフィール・サブシステムの操作を示すフローチャート、パート2Aである。
【図7】使用プロフィール・サブシステムの操作を示すフローチャート、パート2Bである。
【図8】使用プロフィール・サブシステムの操作を示すフローチャート、パート2Cである。
【図9】使用プロフィール・サブシステムの操作を示すフローチャート、パート2Dである。
【図10】使用プロフィール・サブシステムの操作を示すフローチャート、パート2Eである。
【図11】使用プロフィール・サブシステムの操作を示すフローチャート、パート2Fである。
【図12】グラフィック・コントローラ・サブシステムの操作を示すフローチャート、パート1である。
【図13】グラフィック・コントローラ・サブシステム、Graphics Hierarchyの操作を示すフローチャート、パート2である。
【図14】ディスプレイ使用サブシステムの操作を示すフローチャートである。
【図15】スリープ・サブシステムの操作を示すフローチャートである。
【図16】対象エリアの生成を描く概略図である。
【図17】対象エリア及び携帯機器の視野/アドレスを描く概略図である。
【図18】スナップ・モードの操作を示すフローチャート、パート1である。
【図19】スナップ・モードの操作を示すフローチャート、パート2である。
【発明を実施するための形態】
【0017】
特別用語の解説
本開示全体において、一般の辞書において本文献で定義される通りに定義されていないいくつかの用語について述べる。より正確な開示を提供するために、以下の用語定義が、真の広さ及び範囲がより簡単に理解されるように明確化する視点で示される。正確且つ綿密にするためのあらゆる試みがされているが、各用語に関連する全ての意味が完全に説明され得ないことが必要条件である。従って、各用語は、関連技術内の一般的な使用又は辞書の意味によって導かれ得る共通の意味もまた含むことを目的としている。示される定義は、辞書又は技術定義と矛盾する箇所においては、当業者は、使用の状況を考慮し、意図される意味を理解するように十二分な裁量を提供しなければいけない。当業者は、本教示の全体の深さを完全に理解し、全ての意図された変化形を理解するために、使用されている用語により広い意味を付けることにおけるエラーに関しては思慮があるだろう。
携帯機器
「携帯機器」は、例えばハンドヘルド計算機などの、変化し得る又はユーザーによって変更され得る位置、場所及び方向を持つ任意の機器を意味する。
重要度
「重要度」又は「重要度係数」は、様々なグラフィック要素に関連する値のことを呼ぶ。重要度係数は、レンダリングされるべきグラフィックの順位及び詳細レベルを制御する。
グラフィックオブジェクト
「グラフィックオブジェクト」又は「グラフィック」は、複数の要素を含みうるイメージ・システム全部の任意の部分サブセットを呼ぶのに使用される。
本発明の望ましい実施形態
コンピュータグラフィックスをレンダリングするためには、レンダリングされているグラフィック要素の複雑度によって一定の処理電力が必要とされる。現実の世界において、ある一定のオブジェクトを表わすために非常にシンプルな形状及び色が使用されてもよい。ホワイトハウスは、非常にシンプルな描写(グラフィック・オブジェクト)におけるシンプルな白い多角形として表わされてもよい。代わりに、160万色及び複雑なシェーディング及び照明効果を持つかなり詳しいイメージが、ホワイトハウスを表わすグラフィックオブジェクトとして使用されてもよい。
【0018】
ここで説明されるシステムは、複雑度係数又は「複雑度数」を実際のオブジェクトを表わすためにレンダリングされ得るグラフィックに関連付ける。複雑度数がどのように生成されてよいかに関するいくつかの考察は、以下のリストに記載されるものを含む。
複雑度数(CN)
携帯機器によって生成されるグラフィックの複雑度、及び、従ってそれに関連する複雑度数(CN)は、様々な状況に基づいたシステムによって修正されてもよく、該状況は;
● そのグラフィックの地理位置に対する機器の位置(すなわち、該機器からグラフィックの位置までの範囲)。
【0019】
● 地理位置の方位に対するグラフィックの機器から機器への方位。
【0020】
● その機器のスルーレート。
【0021】
● その機器の振動
● その機器の位置の変化率
● グラフィックに関連するオブジェクトの方位の、機器に対する変化率。
【0022】
● グラフィックに関連するオブジェクトのスレッド・レベル(すなわち、高圧ケーブルの詳しいイメージを生成しないで、代わりに、実際のオブジェクトよりも10倍幅広い、きらきらと輝く、明るい赤のエリアのグラフィックを生成する。)
● オブジェクトのクラスの全て又はいくつかに対するユーザーによって定められるグラフィックの限度。
【0023】
● オブジェクトの全て又はいくつかに対する、ソフトウェア/アプリケーションによって定められるグラフィックの限度。
【0024】
● 電力消費を低減するためにグラフィック複雑度を限定する(例えば、機器の電力が低いため、処理時間を節約し、従って電力消費を節約するためにより低い解像度のグラフィックを生成する)。
【0025】
● ワイヤレスのリンクの場合、データ送信速度又はスループットが低い場合、ダウンロードされるべきグラフィック複雑度を制限する。
【0026】
● オブジェクトのクラスに対する、ユーザーによって定められたグラフィック・レベル(例えば、サンフランシスコ・ジャイアンツをロサンジェルス・ドジャーズよりも高い複雑度レベルで示す)。そのユーザーは、オブジェクトのクラスに対して最大又は最小のCNを定めることが出来ることに注目されたい。
【0027】
● 対象のエリア。オブジェクトが事前に定められた対象のエリアにある場合、CNは変更される。そのCNの変更はプラス又はマイナスであってもよい。
【0028】
● ワイヤレス又は他のデータリンク又は媒体のポータブル(portable)又は実際の待ち時間。
【0029】
● 位置づけエラー(例えば、GPSが+/−100mのエラーがあると決定した場合、例えばナビゲーション・マーカーなどの特定のクラスのグラフィックを最も低いCNに設定し、グラフィックのサイズを定められた割合によって増加される。
【0030】
如何なる所定のイメージにおいても、様々なグラフィック要素が、一定の他の要素よりも重要であってもよい。各グラフィック要素において、重要度係数又は重要度数が関連している。
重要度数(IN)
さらに、機器によって生成されるべきである特定のグラフィックの生成に対する優先度は(すなわち、「重要度」のレベル及び、従ってそれに関連する重要度数(IN));
● ソフトウェア/アプリケーションで定義される重要度。
【0031】
● ユーザーで定義される重要度の順位(例えば、サンフランシスコ・ジャイアンツをドジャーズよりも高いレベルの複雑度で示す)。
【0032】
● グラフィックに関連するオブジェクトのタイプ。海運ナビゲーションの状態では、水中の障害物が、地上のレストランよりも「重要」であるだろう。このタイプの順位付けは、機器のユーザーによって修正されてもよい。
【0033】
● グラフィック又はそのグラフィックに関連するオブジェクトの地理位置に対する該機器の位置(すなわち、該機器からオブジェクトの位置までの範囲)。
【0034】
● グラフィックに関連するオブジェクトの該機器に対する危険レベル又は緊急レベル(例えば、一定の方位で範囲を狭めて近づいてくる貨物船)
● グラフィックに関連するオブジェクトの速度。
【0035】
● 機器に対するグラフィックに関連するオブジェクトの速度。
【0036】
● グラフィックに関連するオブジェクトの該機器に対する動作の方向。
【0037】
● 環境条件(例えば、温度、潮位、風速、海流、波の高さ、霧及び/又は雨によって減少した視界)。オブジェクト自体であり得るスコールなど、エリアにおける荒れ模様の天候のエリアに対してINを増加させる。
【0038】
● 日時(例えば、夜間ではナビゲーション・マーカーは、ナビゲータにとって重要度が増える)。
【0039】
● 照らされていないオブジェクトが最初。夜間では、水面下の又はマークが付けられていない岩などの点灯していない障害物は、ナビゲーション・マーカーなどの通常照明で照らされた障害物よりも高いINを有する。
【0040】
● 対象のエリア。オブジェクトが事前に定められた対象のエリアにある場合、INは変更される。そのINの変更はプラス又はマイナスであってもよい。
【0041】
などの様々な状況に基づいたシステムによって修正されてもよい。
作動中のグラフィック制御システムの一般的な説明:
1)グラフィック・コントローラ(GC)は、アプリケーション及び/又はユーザーの相互作用によって定められるように、全ての基本グラフィック要素をリコール(recall)する。その基本グラフィック要素の地理位置は、影響エリア内にあり、その影響エリアは、ユニット位置に対して定められている。グラフィック・コントローラは、次に、どのグラフィック要素が、ユニット姿勢に基づいたユニット視野/アドレス及び姿勢データにあるか決定する。GCは、また、将来のユニット視野/アドレスが何であり得るかも決定する。
【0042】
2)各グラフィック要素は、アプリケーションによって定義されたベースであり、GCによって割り当てられる「重要度数」(IN)を有する。例えば、そのアプリケーションは、Whale Rockの1マイル内におけるエリアを非常に重要として定義してもよく、従って、比較的高いINを割り当ててもよい。あるいは、ユーザーは、一式の中間地点で構成されたルートを選択してもよい。これらの中間地点が影響エリアの中に来ると、それらには、比較的高いINが割り当てられる。なぜならば、その場合においてユニットは、ナビゲーション・マーカーに優先権を与えるからである。アプリケーション/ユーザーによって非常に重要又は主な対象として定義される危険エリアなどのグラフィック要素には、非常に高いINが割り当てられる。
【0043】
3)ユーザー・プロフィール(UP)がアクティブな場合、GCは、対象として定義されたグラフィックのINをUPによって、例えば100%など、アプリケーションで定義された割合によって増加させる。その増加は、対象のオブジェクト/エリアのタイプによって異なってもよい。
【0044】
4)システムは、任意のグラフィック位置がUPで定義された対象のエリア内にあるかどうかを突き止め、ユーザー又はシステムのいずれか一方で定義されたINは、アプリケーションで定義された割合によって増加される。
【0045】
5)アプリケーションによって定義された一式のIN低減しきい値は、そのアプリケーションによって2D又は3Dであり、ユニット位置に中心が置かれており、グラフィック要素がそのユニット位置からさらに遠くなると、INを減少させる。例えば、
0‐500m範囲=100%IN
501‐1000m範囲=80%IN
1001‐2000m範囲=60%INなどである。
【0046】
6)アプリケーションによって定義された一式のIN低減しきい値は、そのアプリケーションによって2D又は3Dであり、ユニット視線からの方位に基づいてグラフィックのINを減少させる。例えば、
ユニット視線から0°‐15°=100%IN
16°‐30°=80%INなどである。
【0047】
7)GCは、最も高いINから最も低いINまで順番付けされたグラフィック階層(GH)を生成する。
【0048】
8)ユニット振動によるグラフィック複雑度の減少の場合、スルーレート又は位置の変化率は、ユニット動作によるグラフィック限度サブシステムによって示され、GCは、示されているレベル数によってグラフィック複雑度を減少させる。
【0049】
9)アクティブであるUPが、代替のデフォルト設定又は複雑度レベルの低減など、任意の基本グラフィック要素の修正を示す場合、GCは示されるようにその基本要素を修正する。
【0050】
10)GCは、全てのグラフィック複雑度数を計算する。
【0051】
11)CN合計が割り当てられたシステム・リソースが実行できるアプリケーションよりも大きい場合、最も低いINを持ち、最も低い複雑度レベルにないグラフィック要素のグラフィック複雑度は1レベル低減される(アプリケーションは、非常に速いグラフィック要素の生成を必要とし、イメージ生成に対して利用可能なシステム・リソースの割合を限定し、例えばデータリコールのための割合を残す)。
【0052】
12)CN合計がシステム・リソースのリミットよりも少なくなるまで(ステップ17に進む)、又は全てのグラフィック要素が最も低い複雑度レベルまで減少するまで、GCは、ステップ11及び12を繰り返す。
【0053】
13)GCは、全てのグラフィックCNの合計を計算する。
【0054】
14)全てのグラフィック要素が最も基本的な複雑度レベルまで低減され、CN合計がいまだにシステム・リソースの限度を越えている場合、ユニットは最も低いINを持つグラフィックをGHから除外し、CN合計を再度計算する。
【0055】
15)GCは、CN合計がシステム・リソース限度より低くなるまで(ステップ17へ進む)、又は全てのグラフィックがGHから削除されるまでステップ14及び15を繰り返す。
【0056】
16)GCは、リクエストされたグラフィック要素はどれもリアルタイム・モードで表示することができないことをユーザーに伝え、スナップショット・モードに切り替える。
【0057】
17)GCは、選択された基本グラフィック要素、及び関連する複雑度レベルを機器のレンダリング・エンジンへと伝送する。
【0058】
機器の起動におけるオプションは、ユーザーがすぐに見ることができるように、定められたINしきい値内で最初に最も低いCNでオブジェクトを即時に生成することであり、次に上記で説明したような反復プロセスを経て、表示されるべきグラフィックを改良することであってもよい。
操作におけるグラフィック・コントローラ・システムの望ましい実施形態:
本開示において説明されている方法を描くためにビジョン・システムが使用される。このビジョン・システムは、傾向ディスプレイなどの伝統的な光学結合器のタイプの装置であってもよく、あるいは望ましくは、「Electro-Optic Vision Systems Which Exploit Position and Attitude」と題して発行された米国特許第5,815,411号(特許文献1)において開示されたタイプのビション・システムであってもよく、該特許は、内部位置づけ(GPS)、姿勢検知(機首磁方位センサー)及び振動(加速計)装置を含む。このビジョン・システムの開示は、本文献に参考として取り入れられる。重要度数(IN)システム及び/又はグラフィック複雑度(GC)システムは、それ自体で専用のセンサーを持つ全体的に独立した単体のシステムであることに注目すべきである。この開示は、また、ユーザー特有の使用プロフィールの開発、検出されたユニット動作によるグラフィック複雑度の現象、基本グラフィック要素のリコール及び制御、及びシステム・リソースの割り当てに関する概念を特に説明するために使用される。
ユニット動作によるグラフィック限度サブシステム108;
機器の動作、特に振動率及びスルーレートが、生成されるべき複雑度の修正を説明するために、この望ましい実施形態において使用されている一方、上記の「複雑度数(CN)」と題するセクションにおいて記載したように、他の係数が記載されている方法と同じ方法で他の実施形態において使用されても良い。
【0059】
図3及び4は、ユニット動作によるグラフィック限度サブシステム108の作動を示す。ユニット動作は、a)加速計106によって検出された振動、b)姿勢センサー105(通常は機首磁方位センサー及び/又は加速計106)によって検出されるスルーレート(ピッチ、ロール(roll)及びヨー(yaw))、c)位置センサー104(通常はGPS)によって検出される位置の変化率、のうち1つ又はそれ以上を含み得る。生成されるべきグラフィックの複雑度レベルをユニット動作に基づいて修正する方法は、それらの3つのセンサーの各々に対して非常に似ており、振動率及びスルーレートは、ここでは模範として使用される。図3は、ユニット動作によるグラフィック限度サブシステム108が、検出されたビジョン・システム107に対してどのように作動するかを示すフローチャート300である。ステップ301において、システムは、アプリケーション特有の振動限度Hを定義する。この限度は、ビジョン・システムが全てのグラフィックの複雑度を減少させ始める振動のレベルである。ステップ302において、そのシステムは、加速計106からの動作信号及びクロック101からの時間信号を受け取り、振動率を計算する。加速計は、また、ビジョン・システムの変形可能なプリズム・イメージ安定化システムに通常関連している。ステップ303において、システムは、計算された振動率がHを超えるかどうかを確認する。もしその計算された振動率がHを超えない場合は、フローチャートにおいて、図4のステップ401に進む。その計算された振動率がHを超える場合、フローチャートにおいてステップ304に進む。ステップ304において、システムは、その計算された振動率が、イメージを安定化するためのビジョン・システム安定化システムの能力を超えるかどうかを確認する。もしその計算された振動率が、イメージを安定化するためのビジョン・システム安定化システムの能力を超えない場合、フローチャートをステップ306に進む。その計算された振動率が、イメージを安定化するためのビジョン・システム安定化システムの能力を超える場合、フローチャートにおいてステップ306へ進む。ステップ306において、システムは、全てのグラフィックの複雑度レベルを1レベル分減少させる。これは、ビジョン・システム安定化システムが検出された振動に対応することができるにもかかわらず、ユーザーもほぼ確実に振動/動作しているためである。ステップ305において、システムは、全てのグラフィックの複雑度レベルを2レベル又はそれ以上のレベル分減らし、その量は、アプリケーション特有の複雑度低減振動しきい値によって定められる。次にフローチャートにおける、ステップ305及び306の両ステップから図4のステップ401に進む。図4は、ユニット動作によるグラフィック限度サブシステム108が、検出されたビジョン・システム107スルーレートに対してどのように作動するかを示すフローチャート400である。ステップ401において、システムは、アプリケーション特有のスルーレートJを定義する。このリミットは、システムが全グラフィックの複雑度を減らし始めるスルーレートである。ステップ402において、システムは、姿勢検知装置105及び/又は加速計106及びクロック101から信号を受け取り、スルーレートKを計算する。ステップ403において、システムは、計算されたスルーレートKがJを超えるかどうかを確認する。もしKがJを超えない場合、フローチャートにおいて、図5のステップ501に進み、使用プロフィール・サブシステム10をチェックする。もし、KがJを超える場合、フローチャートにおいて、ステップ404へ進む。ステップ404において、システムは、全グラフィックの複雑度レベルを1つ又はそれ以上のレベル分低減し、その量は、アプリケーション特有の複雑度低減スルーレートしきい値によって定義される。次にフローチャートにおける、図5のステップ501に進み、使用プロフィール・サブシステム109をチェックする。
使用プロフィール・サブシステム109;
図5は、使用プロフィール・サブシステム109の基本的な作動を示すフローチャート500である。ステップ501において、システムは、使用プロフィール(UP)がアクティブであるかどうかを確認する。もし、UPがアクティブである場合、フローチャートにおいてステップ502へ進む。もしUPがアクティブでない場合、フローチャートにおいてステップ503へ進む。ステップ502において、システムは、ユーザーが異なるUPに変更したかどうかを確認する。もしそのユーザーがUPを変更していない場合、フローチャートにおいてステップ508へ進む。もしそのユーザーがUPを変更した場合、フローチャートにおいてステップ503へ進む。ステップ503において、システムは、そのユーザーが既存のUPを選択したかどうかを確認する。もしそのユーザーが既存のUPをリコールした場合、フローチャートにおいて、使用プロフィール・サブシステム109が選択されたUPをロードするステップ507へ進み、次にステップ508へ進む。もしそのユーザーが既存のUPを選択していない場合、フローチャートにおいて、システムがユーザーにその新しく作成される「バージン(virgin)」UPを保存する希望に関する問い合わせをするステップ504へ進む。もしそのユーザーが新しく作成されるUPを保存する希望を示す場合、フローチャートにおいて、システムがユーザーにその新しいUPの名前をつけるように促し、その名前で保存する(ユーザーがUPに名前を付けない場合、システムはデフォルト名を割り当てる)ステップ505へ進み、次にステップ508へ進む。デフォルトUPは、基本的なパラメータのセットを含むようにアプリケーションによって事前に定義されているか、又は空白であってもよい。もしユーザーが、新しく作成されるUPを保存することを希望しない場合、フローチャートにおいて、グラフィック・コントローラ・サブシステム・フローチャート1200の始まりである図12のステップ1201へと進む。ステップ508において、システムは、システム使用を監視し、アクティブなUPをそれに応じて更新する。ステップ508は、図6‐11において拡張されている。
【0060】
図6‐11は、フローチャート500のステップ508の作動を示すフローチャート、600、700、800、900、1000、及び1100である。ステップ601において、システムは、ユーザーが2D又は3Dの対象エリアをシステム位置に対して定義しているかどうかを確認する。言いかえれば、ユーザーが対象のユニットに対して常に同じ位置にあるエリアを定義しているかどうかである。そのようなエリアの例は、システムが中央にある警報区域リングである。ユーザーがユニットに対して2D又は3Dの対象のエリアを定義した場合、フローチャートにおいて、システムがこの対象エリアにアクティブなUPを加えるステップ602へ進み、次にステップ603へと進む。ユーザーが、そのユニットに対して2D又は3Dの対象エリアを定義していない場合、フローチャートにおいてステップ603へ進む。ステップ603において、システムは、ユーザーが対象のポイントを定義したかどうかを確認する。このポイントは、実世界での位置を有し、ユニット位置に対して固定されていない。ユーザーが、対象のポイントを定義していない場合、フローチャートにおいてステップ701へ進む。ユーザーが対象のポイントを示した場合、フローチャートにおいて、システムがそのユーザーがその対象ポイントに対する関連のしきい値を定義したかどうかを確認するステップ604へ進む。このしきい値は、対象でもあるポイントに対してエリアを定義する。ある一例は、Whale Rockを対象として定義し、しきい値の500mをWhale Rockに関連付けることで、ユーザーは、Whale Rock及びその500m以内における全てのオブジェクトを対象にすることを示す。そのユーザーが、関連するしきい値を定義していない場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ605へ進み、次にステップ701へと進む。そのユーザーが、関連するしきい値を定義している場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ605へ進み、次にステップ701へと進む。
【0061】
ステップ701において、システムは、ユーザーが対象とする進路などのライン/ルートを定義したかどうかを確認する。ラインは、直線又は曲線であってもよく、ルートは、端と端が接続されたいくつかのライン・セグメントで構成されるものとして定義される。ユーザーが、対象のライン/ルートを定義していない場合、フローチャートにおいてステップ704へ進む。ユーザーがライン/ルートを定義している場合、フローチャートにおいて、システムがそのユーザーが関連するしきい値をその対象のライン/ルートに対して定義しているかどうかを確認するステップ702へ進む。このしきい値は、対象でもあるライン/ルートに対するエリアを定義する。一例は、ニュージーランドのオークランドからベイオブアイランズまでのルートを対象と定義すること及び関連するしきい値を200mと定義することによって、ユーザーは、定義されたルートの200m以内において静止している及び動作している全てのオブジェクトを対象にすることを示す。ユーザーが、関連するしきい値を定義していない場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ703へ進み、次にステップ704へと進む。ユーザーが、関連するしきい値を定義している場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ703へ進み、次にステップ704へと進む。ステップ704において、システムは、ユーザーが対象の2D又は3Dエリアを定義しているかどうかを確認する。もしユーザーが対象の2D又は3Dエリアを定義していない場合、フローチャートにおいて、ステップ801へ進む。もしユーザーが対象の2D又は3Dエリアを定義していない場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ706へ進み、次にステップ801へと進む。もしユーザーが対象の2D又は3Dエリアを定義している場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ706へ進み、次にステップ801へと進む。
【0062】
ステップ801において、システムは、ユーザーがグラフィックオブジェクトの特定のタイプを対象として定義しているかどうかを確認する。ユーザーが特定のタイプのグラフィックを対象として定義している場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ802へ進み、次にステップ803へと進む。ユーザーが、特定のタイプのグラフィックを対象として定義していない場合、フローチャートにおいて、ステップ803へ進む。ステップ803において、システムは、グラフィック・ユーザー・インターフェース(GUI)のタイプに対して新しいデフォルト設定を特定しているかどうかを確認する。これは、そのユーザーがGUIのタイプのデフォルト設定を変更し、その設定がそのユーザーのUPの一部になることを可能にする。将来、その設定は、そのユーザーに対するGUIのタイプに対するデフォルト設定として使用される。言いかえれば、そのユーザーは、そのGUIを一度修正し、新しいデフォルトとして保存し、システムは、そのタイプの全てのGUIを自動的にその設定に持ち出す。ユーザーがGUIのデフォルト設定をお変更している場合、フローチャートにおいて、UPがそれに応じて更新されるステップ804へ進み、次にステップ805へと進む。そのユーザーがGUIのタイプのデフォルト設定を経能していない場合、フローチャートにおいてステップ805へ進む。ステップ805において、システムは、ユーザーが特定のタイプのグラフィックの複雑度レベルを1つ又はそれ以上のレベルの分によって低減し、この低減を好みとして示したかどうかを確認する。もしそのユーザーが、特定のタイプのグラフィックの複雑度レベルを低減し、これを好みとして示した場合、フローチャートにおいて、そのシステムが該アクティブなUPをそれに応じて更新するステップ806へ進み、次にステップ901へと進む。そのユーザーが、特定のタイプのグラフィックの複雑度レベルを低減し、これを好みとして示していない場合、フローチャートにおいてステップ901へ進む。
【0063】
図9は、システムが、そのシステムの姿勢読み込みを監視することによってユニットに対する対象のエリアをどのように生成するかを示すフローチャート900である。これらのエリアは、ユーザーによって定義されない。ステップ901において、使用プロフィール・サブシステム109は、姿勢検知装置105から姿勢読み込みを受け取る。ステップ902において、システムは、そのシステムの姿勢が、アプリケーションによって定義された時間において、アプリケーションによって定義された許容範囲内において静止しているか(すなわち、変化していないか)どうかを確認する。そのシステム姿勢が静止していない場合、フローチャートにおいてステップ1001へ進む。そのシステム姿勢が静止している場合、フローチャートにおいて、システムがビジョン・システム107の視野を計算するステップ903へ進み、次にステップ904へと進む。ステップ904において、システムは、計算された視野及び関連する姿勢を読み込み、そのようなデータのリストの一番上に保存する。このリストにおけるエントリー数は、アプリケーションによって定義される。そのリストが満杯である場合、最も底のエントリーがそのリストから除外され、後で、より高い容量、該装置の外部にあり得るディスク又はフラッシュなどのより低い速度のメモリでの使用のために保存されてもよい。次に、フローチャートにおいて、システムが、そのリストにおいて2つよりも多くのエントリーが存在するかどうか確認するステップ905へ進む。そのリストに2つよりも多くのエントリーがない場合、フローチャートにおいてステップ1001へ進む。そのリストに2つより多くのエントリーが存在する場合、フローチャートにおいて、システムが、そのリストのエントリーの姿勢読み込みを比較するステップ906へ進み、次にステップ907へと進む。ステップ907において、システムは、エントリーの姿勢読み込みのいずれかが、アプリケーションで定義された許容範囲内に一致するかどうかを確認する。それらの姿勢読み込みのいくつか又は全てがそのシステムに一致しない場合、ステップ1001へ進む。それらの姿勢読み込みのいくつか又は全てがそのシステムに一致する場合、ステップ908へ進む。ステップ908において、システムは、一致する姿勢読み込みの平均値を計算し、その平均姿勢読み込みに中心が置かれた視野(FOV)を計算する。その視野は、平均姿勢読み込みに関連する全ての視野にわたる。システムは次に、平均姿勢読み込み及び関連するFOVをそのようなデータのリストから除去する。フローチャートは次に、システムが、ユニットに関して新しく計算された対象のFOVをアクティブなUPに追加する。次にフローチャートをステップ1001へ進む。
【0064】
図10は、システムがユニットに関していない対象エリアをシステムの姿勢及び位置読み込みを監視することによってどのように生成するかを示すフローチャート1000である。これらのエリアは、静止した実世界の位置を有し、ユーザーによって定義されない。ステップ1001において、使用プロフィール・サブシステム109は、姿勢検知装置105からの姿勢読み込み及び位置検知装置304からの位置読み込みを受け取る。ステップ1002において、システムは、そのシステムが、アプリケーションで定義された期間の間、アプリケーションで定義された許容範囲内において静止しているか(すなわち、変化していないか)どうかを確認する。そのシステムが静止していない場合、フローチャートにおいてステップ1101へ進む。そのシステムが静止している場合、フローチャートにおいて、システムがビジョン・システム107の視野(FOV)を計算するステップ1003へ進み、次にフローチャートにおけるステップ1004へと進む。ステップ1004において、システムは、計算されたFOV及び関連する位置及び姿勢読み込みをそのようなデータのリストの一番上に保存する。このリストにおけるエントリーの数は、アプリケーションによって定義される。そのリストが満杯である場合、一番底のエントリーがリストから除去され、より高い容量、該機器の外部であり得るディスク又はフラッシュなどのより低いスピード・メモリーにおいて後に使用するために保存されてもよい。次に、フローチャートにおいて、システムがそのリストに2つよりも多くのエントリーが存在するかどうかを確認するステップ1005へ進む。そのリストに2つよりも多くのエントリーが無い場合、フローチャートにおいてステップ1101へ進む。そのリストに2つよりも多くのエントリーがある場合、フローチャートにおいて、システムがそのリスト上のFOVの交差を計算するステップ1006へと進み、次にステップ1007へと進む。ステップ1007において、システムは、アプリケーションで定義された数のFOVが共通の3Dエリアにおいて交差する。図16は、それぞれ異なる位置1601、1602、1603からの3つの視野1604、1605、1606の交差点1607を平面において示す。影が付けられたエリアは、共通の交差するエリアである。ステップ1007では1つよりも多くの共通の交差エリアがあってもよいことに注目されたい。そのシステムが、十分な記載されたFOVが共通のエリアにおいて交差しないことを確認する場合、フローチャートにおいてステップ1101へ進む。もしそのシステムが、十分な記載されたFOVが共通エリアにおいて交差する場合、フローチャートにおいて、共通交差のエリアの境界線がそのユニットによって計算されるステップ1008へ進み、次に、計算された共通交差のエリアがアクティブなUPに対象の3Dエリアとして追加されるステップ1009へと進む。フローチャートは、次に、ステップ1101へと分岐する。
【0065】
図11は、そのシステムが、図9及び10において示されるような、システムで生成された対象のエリア又はシステムで生成された関連の対象FOVを、どのようにアクティブなUPから除外するかを示すフローチャート1100である。ステップ1100において、システムは、ビジョン・システム107の視野が、システムで定義された全ての対象エリア及びシステムで定義された全ての対象FOVをアプリケーションで定義された期間内に交差しているかを確認する。もし全てのそのようなエリアがビジョン・システム107によってアプリケーションで定義された期間内に交差されている場合、フローチャートにおいて、グラフィック・コントローラ・サブシステム・フローチャート1200の始まりであるステップ1201へ進む。もし全てのそのようなエリアが、該定義された期間内にビジョン・システム107によって交差されていない場合、フローチャートにおいて、その交差されていないエリア又はFOVがアクティブなUPから除外されるステップ1102へ進み、次に、グラフィック・コントローラ・サブシステム・フローチャート1200の始まりであるステップ1201へと進む。
グラフィック・コントローラ・サブシステム110;
グラフィック・コントローラ・サブシステム110は、システムがどのように基本グラフィック要素をリコールするか、及び各グラフィックがどの複雑度レベルで生成されるかを制御する。各基本グラフィック要素は、1)そのグラフィックの場所を任意の基準座標システムに対して定義した位置、2)そのグラフィックの方向を任意の基準座標システムに対して定義した姿勢、及び3)各グラフィック複雑度レベルに対するモデル及び複雑度数(CN)、で構成される。そのモデルは、そのグラフィックの形状、スケール及び内容を定義するには十分である。そのグラフィックは、そのモデルによって定義されるように、2D又は3Dであってもよく、動画でさえあってもよいことに注目されたい。各グラフィックは、それに関連する多くのグラフィック複雑度レベルを有する。これらは、例えばより複雑な、本格的なラスター・イメージから、そのグラフィックの意味を分け与えるのに最小限必要な複雑度、例えば、対象のオブジェクトのタイプに関連するシンプルなベクトル・イメージ又はアイコンにまで及ぶ。いくつかのイメージは、たった1つの複雑度レベルを持ってもよい一方、その他のイメージは多くの複雑度レベルを持つ。各グラフィック複雑度レベルに関連する複雑度数は、そのレベルでグラフィックを生成するのに必要な計算の数を定義する。これらの異なる複雑度レベルは、以下に記載されるように、システム・リソースをグラフィック生成のために割り当てるときに、グラフィック・コントローラ・サブシステム110によって使用される。
【0066】
各グラフィックには、重要度数(IN)が割り当てられ、そのINは、アプリケーションで定義される。例えば、海運ナビゲーション・アプリケーションにおいて、ナビゲーション・マーカーに関連するグラフィックは、比較的高いINを有するが、同じエリアをカバーする観光アプリケーションにおいては、それらのナビゲーション・マーカーは、より低い重要度を持ち、従って、それらに関連するグラフィックは、より低いINを有する。アプリケーションによって割り当てられるINは、アプリケーションが1つの作動モードから他のモードへ切り替えると、変化し得る。上記の例を使用して、そのアプリケーションは、その領域に対して2つの作動モード、ナビゲーション・モード及び観光モードを持つものであってもよい。そのINは、グラフィック・コントローラ・サブシステム110によって、以下に記載されるようにグラフィック生成のためにシステム・リソースを割り当てるときに使用される。
【0067】
ユニット位置又は実世界の位置を有する影響エリアは、ソフトウェア/アプリケーション/マイクロ・コード/ユーザーによって定義されてもよい。この影響エリアは、2次元又は3次元形状、例えば円形又は球状であってもよい。影響エリアは、例えば、見える水平線であってもよい。その影響エリアは、基本グラフィック要素の位置が、グラフィック・コントローラ・サブシステム110によってリコールされなければいけないエリアを定義する。
【0068】
図12は、グラフィック・コントローラ(GC)サブシステム110の作動を示すフローチャート1200である。ステップ1201において、システムは、ビジョン・システムが以前生成されたグラフィックを有するかどうかを確認する。もしグラフィックが生成されているいる場合、フローチャートにおいて、そのシステムが、ビジョン・システムの位置又は姿勢が、グラフィックが生成されて以来変化しているかどうかを確認するステップ1202へ進む。もし、その位置又は姿勢が変化している場合、フローチャートにおいてステップ1204へ進む。もし、その位置又は姿勢が変化していない場合、フローチャートにおいて、そのシステムが、ユーザー又はビジョン・システム自体がそのグラフィックを追加又は修正したかどうかを確認するステップ1203へ進む。そのグラフィックが修正又は追加されていない場合、フローチャートにおいて、以前生成されたグラフィックがビジョン・システム107のディスプレイへと伝送されるステップ1214へ進み、次に図14のステップ1401へと進み、ディスプレイ使用サブシステム111をチェックする。そのグラフィックが修正又は追加された場合、フローチャートにおいてステップ1204へ進む。ステップ1204において、GCは、図13に示されるようにグラフィック階層(GH)を生成し、フローチャートは、次に、ステップ1205へ分岐する。ステップ1205において、GCは、ユニット動作によるグラフィック限度サブシステム108が、全体としてグラフィック複雑度における減少を示したかどうかを確認する。そのような減少が示された場合、フローチャートにおいて、GCがGHをそれに応じて修正するステップ1206へ進み、次に、ステップ1207へと進む。そのような減少が示されていない場合、フローチャートにおいてステップ1207へ進む。ステップ1207において、GCは、アクティブなUPが、GHにおける任意の基本グラフィック要素の代替的なデフォルト設定又は複雑度レベルの低減などの修正を示しているかどうかを確認する。そのような修正が示されている場合、フローチャートにおいて、GCがGHをそれに応じて修正するステップ1208へ進み、次にステップ1209へと進む。そのような修正が示されていない場合、フローチャートにおいて、ステップ1209へ進む。ステップ1209において、GCは、GHにおける基本グラフィック要素に対する全ての複雑度数の合計を、それらの現在の複雑度数で計算し、フローチャートにおいて、システムが、CN合計がゼロであるかどうかをチェックするステップ1216へ進む。CN合計がゼロに等しい場合、すなわち全ての基本グラフィック要素が、例えば過度な動作によってそのグラフィック階層から除外されている場合、フローチャートにおいて、システムがユーザーに、スナップショット・モードに切り替えることを伝え、静止イメージを捕らえ、その静止イメージを捕らえる時間にシステム位置及び姿勢を捕らえるステップ1217へ進み、次に、図13のステップ1301へと進み、新しいGHを生成する。もし、CN合計がゼロに等しくない場合、フローチャートにおいて、システムが、GHにおける全てのグラフィックをそれらの現在の複雑度レベルで生成するのに必要なリソースが、利用可能なシステム・リソースを超えていないかどうかを確認するステップ1210へ進む。グラフィック生成に利用可能なリソースは、プロセッサ速度、利用可能なメモリ、バッテリー状態/利用可能な電力、電力使用量、データ伝送速度、事前に定義されたグラフィック及び事前にロードされたアイコン一式などであってもよい。もし、必要なリソースが割り当てられたシステム・リソースを超える場合、フローチャートにおいてステップ1211へ進む。もし、必要なリソースが、割り当てられたシステム・リソースを超えない場合、フローチャートにおいて、GCがグラフィックを生成するステップ1215へ進み、次に、図14のステップ1401へと進み、ディスプレイ使用サブシステム111をチェックする。ステップ1211において、GCは、GHにおける全ての基本グラフィック要素がそれらの最も低い複雑度レベル設定にあるかどうかを確認する。GHにおける全ての基本グラフィック要素が、それらの最も低い複雑度レベルにない場合、フローチャートにおいて、GCが複雑度レベルを低減することによってGH、及び、従って最も低いINを持つ基本要素のうち1レベル分最も低い複雑度レベルにない基本要素のCNを修正するステップ1212へ進み、次に、ステップ1209へと進みCN合計をもう一度計算する。GHにおける全ての基本グラフィック要素がそれらの最も低い複雑度レベルにある場合、フローチャートにおいて、GCが最も低いINを持つ基本要素をGHから消去するステップ1213へ進み、次にステップ1209へと進み、CN合計をもう一度計算する。
【0069】
図13は、GCがグラフィック階層(GH)をどのように生成するかを示すフローチャートである。ステップ1201において、GCは、全ての基本グラフィック要素を、アプリケーション及びユーザー対話によって定義されるようにリコールし、それらの位置は、影響エリア内にあり、その影響エリアは、アプリケーション又はユーザーでシステム位置に対して定義されており、次に、どのグラフィックが、システム姿勢及び視野データに基づいて、ビジョン・システム107の視野内にあるかを決定する。図17は、ビジョン・システム107の場所1701の平面ビュー、定義された影響エリア1702の限度、基本グラフィック要素の位置1703、視線1704及び視野/アドレス1705を示す。もし機器が、ビジョン・システムでなく、例えば携帯電話である場合、その機器はビジョン・システムの視野に似たアドレス・フィールドを持っても良い。このアドレスのフィールドは、例えばその携帯電話の最も長い寸法の軸を持つ30°で広がる円錐形であってもよい。図17はまた、つい最近視野1705から出た、又はもうすぐその視野に入る基本グラフィック要素が追跡される「ディスプレイ・バッファ」領域1706を示す。フローチャートは、次に、各グラフィックが、GCによって割り当てられるアプリケーションで定義された基本「重要度数」(IN)を有するステップ1302へ進む。例えば、そのアプリケーションは、Whale Rockの1マイル内のエリアを非常に重要として定義してもよく、従って、それに比較的高いINを割り当ててもよい。あるいは、ユーザーは、一式の中間点で構成されるルートを選択しても良い。これらの中間点は、影響エリアに入ってくると、それらには、比較的高いINが割り当てられる。なぜならば、ユニットがナビゲーション・マーカーに優先権を与えるからである。危険エリアなどの、アプリケーション/ユーザーによって非常に重要又は主な対象として定義されるグラフィックには、非常に高いINが割り当てられる。フローチャートは、次に、GCがリコールされたグラフィックのいずれかが、アクティブなUPによって対象として定義されているかどうかを確認するステップ1303へと進む。もしグラフィックが対象として定義されている場合、フローチャートにおいて、それらのグラフィックのINがアプリケーションで定義された割合によって増加されるステップ1304へ進み、次に、ステップ1305へと進む。グラフィックが対象として定義されていない場合、フローチャートにおいてステップ1305へ進む。ステップ1305において、GCは、グラフィックの位置のいずれかが、ユーザー又はシステムのいずれか一方で定義された対象エリア内にあるかどうかを確認する。グラフィックの位置のいずれかが、対象エリア内にある場合、フローチャートにおいて、GCが対象エリアのグラフィックのIN をアプリケーションで定義された割合によって増加させるステップ1306へ進み、次にステップ1307へと進む。ステップ1307において、GCは、任意のグラフィックの位置までの範囲が第1範囲IN低減しきい値を超えるかどうかを確認する。そのようなしきい値システムの例は、0‐500m=100%IN、501‐1000m=80%IN、1001m‐1500m=60%INなどであってもよい。いずれかのグラフィックの位置までの範囲が第1範囲IN低減しきい値を超える場合、フローチャートにおいて、それらのグラフィックのINがアプリケーションで設定された範囲IN低減しきい値に従って低減されるステップ1308へ進み、次にステップ1309へと進む。いずれかのグラフィックの位置までの範囲が第1範囲IN低減しきい値を超えない場合、フローチャートにおいてステップ1309へ進む。ステップ1309において、GCは、ビジョン・システム107視線からいずれかのグラフィックの位置への方位が、第1範囲IN低減しきい値を超えるかどうかを確認する。いずれかのグラフィックの位置への方位が、第1範囲IN低減しきい値を超えない場合、フローチャートにおいてステップ1311へ進む。ステップ1311において、GCは、最も高いINから最も低いINまで優先の順番で記載されている基本グラフィック要素で構成されるグラフィック階層(GH)を生成する。次に、フローチャートはステップ1312へ進む。ステップ1312において、システムは、スナップショット・モードがアクティブであるかどうかを確認する。スナップショット・モードがアクティブである場合、フローチャートにおいて、図18のステップ1801へ進む。スナップショット・モードがアクティブでない場合、フローチャートにおいて図12のステップ1205へ進む。
スナップショット・モード
スナップショット・モードは、システムが、過度な機器の動作などの状況の場合にもユーザーに情報を表示することを可能にし、イメージのリアルタイムの生成を可能にしない。これは、静止イメージ及び関連する位置及び姿勢を捕らえ、グラフィック階層を生成し、そのGHにおける最も低い基本要素のセットの割合の複雑度レベルを低減し、合成イメージを生成することによってなされる。合成イメージの生成は、リアルタイム操作においてイメージ生成するのに通常可能な時間よりも多くの時間を取ってもよい。このモードは、通常、図12のステップ1216及び1217に示されるように自動的にアクティブにされてもよいが、リクエストに応じてユーザーによってもアクティブにされてもよい。
【0070】
図18は、スナップショット・モードにおけるビジョン・システム107の作動の一部を示すフローチャート1800である。ステップ1801において、システムは、GHのより低い割合にある基本要素のグラフィック複雑度を最も低いレベルに低減する。例えば80%のこの割合は、アプリケーションによって定義される。これは、合成イメージの生成を、GHによって最も重要なグラフィックだけを生成することによって速くするためになされ、それらの最大の複雑度レベルで生成される。フローチャートは、次に、システムが、最も時間を必要とする合成イメージをレンダリングする。それは、「リアルタイム」の時間枠において、その枠は必要でないからである。次に、図14のステップ1401へ進み、ディスプレイ使用サブシステム111をチェックする。
【0071】
図19は、スナップショット・モードにおけるビジョン・システム107の追加の作動を示すフローチャート1900である。ステップ1901において、システムは、ユーザーが監視モードをアクティブにしたかどうかを確認する。監視モードがアクティブにされた場合、フローチャートにおいて図7のステップ702に進み、タイム・トリガー206の監視を開始する。監視モードがアクティブにされていない場合、フローチャートにおいて、システムが、ビジョン・システム107が全体としてオフになっているかどうかを確認するステップ1302へ進む。ビジョン・システム107がオフになっている場合、フローチャートにおいて、全てのシステムが非アクティブにされビジョン・システム107がシャットダウンするステップ1903へ進む。ビジョン・システムがオフになっていない場合、フローチャートにおいて、システムが、ユーザーがスナップショット・モードをアクティブにしたかどうかを確認するステップ1904へ進む。スナップショット・モードが非アクティブになっている場合、フローチャートにおいて図7のステップ702へ進み、ユニット動作によるグラフィック限度サブシステム108をチェックする。スナップショット・モードが非アクティブになっていない場合、フローチャートにおいて、システムが、ユーザーが新しい静止イメージを捕らえると示したかどうかを確認するステップ1905へ進む。新しいイメージが示された場合、フローチャートにおいて、システムが、その新しい静止イメージを捕らえ、そのイメージを捉えた時間でのシステムの位置及び姿勢を捕らえるステップ1906へ進み、次に図13のステップ1301へ進み新しいGHを生成する。新しいイメージが示されていない場合、フローチャートにおいて、図14のステップ1401へ進み、ディスプレイ使用サブシステム111をチェックする。
ディスプレイ使用サブシステム111;
図14は、ディスプレイ使用サブシステム111の作動を示すフローチャート1400である。このサブシステムは、ユーザーが実際にビジョン・システムのディスプレイを見ているのかを検出し、それに応じてディスプレイをアクティブ又は非アクティブにするように動作することが可能である。スクリーンの背面照明をウォームアップするなどの活動のいくつかは、全く非アクティブになることは無く、その代わりにビジョン・システムが全体としてアクティブでいる間アクティブのままでいることに注目されたい。ステップ1401において、システムは、1つ/複数のディスプレイがアクティブであるかどうかを確認する。その/それらのディスプレイがアクティブである場合、フローチャートにおいてステップ1402へ進み。その/それらのディスプレイがアクティブでない場合、フローチャートにおいて、ステップ1403へ進む。ステップ1402において、システムは、オブジェクトがアプリケーション/ユーザーで定義されたディスプレイ起動範囲しきい値内にあるかどうかを確認する。これは、低電力ソニック、発光レーザー又は他の似た範囲の装置の使用によってなされる。ユーザーは、例えば矯正レンズ又はサングラスの着用者がそのサブシステムを使用できるようにし、且つディスプレイをアクティブにすることができるように、この起動しきい値を修正してもよい。これは、望ましいディスプレイ起動範囲しきい値がユーザー使用プロぎールの一部であることにおいて、もう一歩さらに踏み込んでもよい。オブジェクトがディスプレイ起動範囲しきい値内で検出された場合、フローチャートにおいて、ディスプレイがアクティブのままでいるステップ1405へ進み、次に1407へと進む。オブジェクトがディスプレイ起動範囲しきい値内で検出されない場合、フローチャートにおいて、ディスプレイが非アクティブにされるステップ1404へ進み、次にステップ1407へと進む。ステップ1403において、システムは、オブジェクトがアプリケーション/ユーザーで定義されたディスプレイ起動範囲しきい値内にあるかどうかを確認する。オブジェクトが、ディスプレイ起動範囲敷地内に検出される場合、フローチャートにおいて、ディスプレイがアクティブにされるステップ1406へ進み、次にステップ1407へと進む。オブジェクトがディスプレイ起動範囲しきい値内に検出されない場合、フローチャートにおいてステップ1407へ進む。スナップショット・モードがアクティブである場合、フローチャートにおいて図19のステップ1901へ進む。スナップショット・モードがアクティブでない場合、フローチャートは、図15のステップ1501へ進み、スリープ・サブシステム112をチェックする。
スリープ・サブシステム112;
図15は、スリープ・サブシステム112の作動を示すフローチャート1500である。このサブシステムは、ビジョン・システムの位置又は姿勢がユーザー又はアプリケーションで定義された期間において変化しない場合、システムを監視モードに戻すために使用可能にされる。
【0072】
また、初期のグラフィック複雑度低減は、CPU又はアプリケーション・プロセッサによって、例えば加速計などのセンサーからの高い振動率を示す読み込みに基づいて実施されてもよい。例えば、各クラスのオブジェクトに対する所定の振動率におけるCN低減の表が、GCシステムが計算を開始する前にCNを限定するためにCPUによって使用されてもよく、そうすることによって時間及び電力が節約される。
【0073】
検出された機器の加速は、また、ビジョン・システムなどの装置のボアサイト(bore-site)の決定された方向を、装置の加速を直角の面において監視し、場所、アプリケーション、ユーザーなどによって定義される事前に設定されたルールのセットに基づいて補うことによって、改良するためにも使用されてよい。一例は、脇道にある車において使用されるビジョン・システムである。通常の車両懸架装置の作動を仮定すると、自動車の上方向の直角の加速は、下方向の加速よりもずっと突然であり、従って、システムは、平均がとられ、安定化された装置のボアサイトを決定する場合に上方向の動作の割合でのみ読み込むだろう。
【0074】
上記の例は、これらの発明の装置及び方法の望ましい型を説明する具体的な実施形態に向けられる。完全性のために、装置及びそれが有する要素並びに方法及びそれが含むステップのより一般的な説明が、以下に示されている。
【0075】
当業者は、グラフィック・システムがどのように形成され、合成イメージのグラフィック要素が、生成されるイメージの関連するハンドヘルド・システムの瞬間的状態の視点におけるグラフィックの重要度及び複雑度に関する好みで生成されるかを完全に理解するであろう。本発明は、明確且つ簡潔な言語で、発明者が期待する最適のモードを含む、ある望ましい型を参照して、かなり詳しく説明されているが、他の型も可能である。従って、本発明の要旨及び範囲は、それらの含まれる望ましい型の記載によって限定されるべきではなく、むしろここに添付された請求項によって限定されるべきである。
【符号の説明】
【0076】
101…クロック
104…位置センサー
105…姿勢センサー
106…加速計
107…ビジョン・システム
108…ユニット動作によるグラフィック限度サブシステム
1601…位置
1602…位置
1603…位置
1604…視野
1605…視野
1606…視野
1607…3つの視野の交差点
1701…場所
1702…影響エリア
1703…基本グラフィック要素の位置
1704…視線
1705…視野/アドレス・フィールド
1706…「ディスプレイ・バッファ」区域
【技術分野】
【0001】
本出願は、以前出願された仮出願に依存しない新規の出願である。本出願は、2008年11月21日にカリフォルニア州、サンフランシスコのイギリス人発明者Thomas Ellenbyによって出願されたシリアル番号61/199,922号を有する米国仮出願からの利益及び優先権を主張する。
【0002】
以下における発明の開示は、一般的に、結合型携帯機器の物理的状態に頼ってレンダリングされるコンピュータ・グラフィックイメージに関する。
【背景技術】
【0003】
現代のコンピュータ・システムは、しばしば、ユーザーのリクエストに応答し極めて動的なイメージを生成するのに使用される。コンピュータ化された機器のユーザーは、対象のパラメータを、例えば、対話型ユーザーインターフェースの方法で特定し、より多くの情報に対する希望を示すか、あるいは具体的により多くの一定の種類の情報に対する希望を示す。ユーザーのビューアーによってかなり特定されたパラメータに応答してイメージ(写真とコンピュータ生成とが混合した)を与える「Google Earth」として知られるすばらしいコンピュータ・アプリケーションは、多くの人々によく知られている。例では、あるユーザーがスキューバダイビングの好適な場所について知りたいならば、そのユーザーは、適切なユーザーインターフェースのチェックボックスをクリックするだけで、マップを再描写させるようにし、そのマップの詳細レベルは、以前記録された好適なスキューバダイビングの場所に関連するマーカーを含むように調整される。マップのタイプのグラフィカル・イメージの詳細レベルが、ユーザーの様々なパラメータの特定に応答すると言われている。
【0004】
軍事システムは、注視される検出領域内において望ましいターゲットに応答するように、長い間供給されて来ている。General Dynamicsによって開発されたPhalanxミサイル迎撃システムなどのある一定のレーダー・システムは、物標方位における変化などの要因を考慮に入れることによって入って来るターゲットを分類する。一定の方位及び閉鎖範囲を持つターゲットは、その結果、それらの範囲及びアプローチの速度に関して分類される。船に最も早く到達できるターゲットは、「最も重要」として分類され、優先して対処される。
【0005】
当然のことながら、これらの技術のほぼ全ては、グラフィック・レンダリングに関する新しいトリック及び技術を用いて、他の全分野をリードする傾向のあるコンピュータゲームの世界において最初に出現する。ある1つの重要な発明において、「リアルタイム形状」の方法は、カリフォルニア州CarpenteriaのMetaTools Inc.のDr. Alexander Migdalによって開発された。リアルタイム形状は、グラフィックオブジェクトの詳細を、そのイメージのビューアーからの見かけの距離に応じて修正する。例えば、コンピュータゲームにおけるレースカーは、合成イメージの前景のゲームプレーヤーに向かって轟音を立てて進むとほぼ生きているような詳細を増すが、それが似たシーンの背景の中にさらに戻って行くにつれて解像度を失う。
【0006】
しかし、これらのシステムの各々は、それの周囲の環境の瞬間的状態及びそのシーンに関連する装置の状態の視点においてイメージをレンダリングする能力に限られる。当該技術の装置は、それらのイメージ・レンダリング方式において携帯機器の動的パラメータを考慮に入れない。しかし、コンピュータで生成されたグラフィックイメージを、例えば、イメージが表示されている携帯機器などの、レンダリングされているシーンに関連するシステムの物理的状態に関して動的さを与えることは、かなり価値があるだろう。特に、その携帯機器の位置及び方向は、レンダリングされたイメージの詳細のレベルが位置と姿勢(方向)に対応する特定の値によって影響を受けるイメージ・レンダリング・システムに好みを提案してもよい。
【0007】
該技術のシステム及び発明は、特定のゴール及び目的を達成するように設計されており、それらのいくつかは優れている一方、該技術のこれらの発明は、それにもかかわらず、現在可能な新しい方法で使用することを防ぐ限度を含む。該技術の発明は、使用されておらず、ここで以下に示される教示の利点及び目的を実現するように使用することができない。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】米国特許第5,815,411号明細書
【発明の概要】
【発明が解決しようとする課題】
【0009】
ここで、Thomas Ellenbyは、グラフィックイメージの詳細を、表示されている環境に関連する携帯機器の物理的状態に応じて優先順位を付ける方法を含む、グラフィックイメージのレンダリングの方法の発明をもたらした。
【0010】
本発明の主な目的は、関連する機器の物理的状態に応じてグラフィックをレンダリングする方法を提供することである。
【0011】
本発明の目的は、該機器の形状の特質に反応する携帯・システムを提供することである。
【0012】
さらなる目的は、選択的及び可変性の詳細を用いたコンピュータ・グラフィック・レンダリングを供給することである。
【0013】
さらなる理解は、望ましい実施形態の詳細な記載及び添付の図表を参照して得ることができる。示される実施形態は、本発明の実現するための特定の方法であり、全ての可能な方法は含んでいない。従って、添付の請求項によって説明されるように本開示の要旨及び範囲から外れない実施形態が存在してもよいが、ここでは具体的な例としては現れない。多数の代替的な型が可能であることも理解されるだろう。
【課題を解決するための手段】
【0014】
本文献において記載されるグラフィック・レンダリングを制御するために使用されるような「重要度」又は「優先度」の概念は、例えば、携帯・システムの位置及びポイントする方向又は姿勢などの、グラフィックイメージによって表示されているシーンに関連する携帯機器のその機器のサブシステムによって決定される感知状態が、各オブジェクトの重要度の分類において考慮に入れられる点において、従来技術に共通するシステムとは異なる。さらに、選択されたグラフィック要素の重要度係数を修正するために使用される、ある特定のユーザーの習慣及び希望に基づいた使用プロフィールを生成する方法が、開示される。さらに、機器の感知状態に基づいて生成されるべきグラフィックオブジェクトの複雑度に関する限度(例えば、レンダリングされているシーンに関連する携帯・システムの位置及び/又はポイント方向)が開示される。
【0015】
グラフィックの複雑度及びグラフィック・レンダリング又は生成の優先順位を、増大された現実性及び既知のパフォーマンス特性を持つ他の携帯機器によって定めて制御する方法は、携帯装置及び他の入力の様々な感知状態に基づいている。これらの方法は、航空、海路及び陸路ナビゲーション、ゲーミング及び観光(増大された現実性及びその他)、ローカルな検索、スポーツ・ビューイング、及びその他の分野において、とりわけ実用性がある。携帯機器は、GPS、コンパス、及び加速計などのセンサーを、マップ表示及びゲーム・プレイなどの様々な使用のためにさらに組み入れている。位置、ポイント方向、位置変化の速度、スルー速度(slew velocity)、振動速度、その他などの機器の感知される物理的状態を使用することによって、本発明の方法は、携帯機器が最も重要なグラフィックを最初に表示し、又は生成において優先権を与えることを可能にし、その携帯機器がグラフィックを、それらの感知状態に適切な複雑度のレベルで表示することもまた可能にする。
【図面の簡単な説明】
【0016】
【図1】関連するサブシステム及びセンサーを持つビジョン・システムを示す本発明の望ましい実施形態のブロック概略図である。
【図2】記載されたシステムの一般的な操作を示すフローチャートである。
【図3】ユニット動作によるグラフィック限度サブシステムの操作を示すフローチャート、パート1である。
【図4】ユニット動作によるグラフィック限度サブシステムの操作を示すフローチャート、パート2である。
【図5】使用プロフィール・サブシステムの操作を示すフローチャート、パート1である。
【図6】使用プロフィール・サブシステムの操作を示すフローチャート、パート2Aである。
【図7】使用プロフィール・サブシステムの操作を示すフローチャート、パート2Bである。
【図8】使用プロフィール・サブシステムの操作を示すフローチャート、パート2Cである。
【図9】使用プロフィール・サブシステムの操作を示すフローチャート、パート2Dである。
【図10】使用プロフィール・サブシステムの操作を示すフローチャート、パート2Eである。
【図11】使用プロフィール・サブシステムの操作を示すフローチャート、パート2Fである。
【図12】グラフィック・コントローラ・サブシステムの操作を示すフローチャート、パート1である。
【図13】グラフィック・コントローラ・サブシステム、Graphics Hierarchyの操作を示すフローチャート、パート2である。
【図14】ディスプレイ使用サブシステムの操作を示すフローチャートである。
【図15】スリープ・サブシステムの操作を示すフローチャートである。
【図16】対象エリアの生成を描く概略図である。
【図17】対象エリア及び携帯機器の視野/アドレスを描く概略図である。
【図18】スナップ・モードの操作を示すフローチャート、パート1である。
【図19】スナップ・モードの操作を示すフローチャート、パート2である。
【発明を実施するための形態】
【0017】
特別用語の解説
本開示全体において、一般の辞書において本文献で定義される通りに定義されていないいくつかの用語について述べる。より正確な開示を提供するために、以下の用語定義が、真の広さ及び範囲がより簡単に理解されるように明確化する視点で示される。正確且つ綿密にするためのあらゆる試みがされているが、各用語に関連する全ての意味が完全に説明され得ないことが必要条件である。従って、各用語は、関連技術内の一般的な使用又は辞書の意味によって導かれ得る共通の意味もまた含むことを目的としている。示される定義は、辞書又は技術定義と矛盾する箇所においては、当業者は、使用の状況を考慮し、意図される意味を理解するように十二分な裁量を提供しなければいけない。当業者は、本教示の全体の深さを完全に理解し、全ての意図された変化形を理解するために、使用されている用語により広い意味を付けることにおけるエラーに関しては思慮があるだろう。
携帯機器
「携帯機器」は、例えばハンドヘルド計算機などの、変化し得る又はユーザーによって変更され得る位置、場所及び方向を持つ任意の機器を意味する。
重要度
「重要度」又は「重要度係数」は、様々なグラフィック要素に関連する値のことを呼ぶ。重要度係数は、レンダリングされるべきグラフィックの順位及び詳細レベルを制御する。
グラフィックオブジェクト
「グラフィックオブジェクト」又は「グラフィック」は、複数の要素を含みうるイメージ・システム全部の任意の部分サブセットを呼ぶのに使用される。
本発明の望ましい実施形態
コンピュータグラフィックスをレンダリングするためには、レンダリングされているグラフィック要素の複雑度によって一定の処理電力が必要とされる。現実の世界において、ある一定のオブジェクトを表わすために非常にシンプルな形状及び色が使用されてもよい。ホワイトハウスは、非常にシンプルな描写(グラフィック・オブジェクト)におけるシンプルな白い多角形として表わされてもよい。代わりに、160万色及び複雑なシェーディング及び照明効果を持つかなり詳しいイメージが、ホワイトハウスを表わすグラフィックオブジェクトとして使用されてもよい。
【0018】
ここで説明されるシステムは、複雑度係数又は「複雑度数」を実際のオブジェクトを表わすためにレンダリングされ得るグラフィックに関連付ける。複雑度数がどのように生成されてよいかに関するいくつかの考察は、以下のリストに記載されるものを含む。
複雑度数(CN)
携帯機器によって生成されるグラフィックの複雑度、及び、従ってそれに関連する複雑度数(CN)は、様々な状況に基づいたシステムによって修正されてもよく、該状況は;
● そのグラフィックの地理位置に対する機器の位置(すなわち、該機器からグラフィックの位置までの範囲)。
【0019】
● 地理位置の方位に対するグラフィックの機器から機器への方位。
【0020】
● その機器のスルーレート。
【0021】
● その機器の振動
● その機器の位置の変化率
● グラフィックに関連するオブジェクトの方位の、機器に対する変化率。
【0022】
● グラフィックに関連するオブジェクトのスレッド・レベル(すなわち、高圧ケーブルの詳しいイメージを生成しないで、代わりに、実際のオブジェクトよりも10倍幅広い、きらきらと輝く、明るい赤のエリアのグラフィックを生成する。)
● オブジェクトのクラスの全て又はいくつかに対するユーザーによって定められるグラフィックの限度。
【0023】
● オブジェクトの全て又はいくつかに対する、ソフトウェア/アプリケーションによって定められるグラフィックの限度。
【0024】
● 電力消費を低減するためにグラフィック複雑度を限定する(例えば、機器の電力が低いため、処理時間を節約し、従って電力消費を節約するためにより低い解像度のグラフィックを生成する)。
【0025】
● ワイヤレスのリンクの場合、データ送信速度又はスループットが低い場合、ダウンロードされるべきグラフィック複雑度を制限する。
【0026】
● オブジェクトのクラスに対する、ユーザーによって定められたグラフィック・レベル(例えば、サンフランシスコ・ジャイアンツをロサンジェルス・ドジャーズよりも高い複雑度レベルで示す)。そのユーザーは、オブジェクトのクラスに対して最大又は最小のCNを定めることが出来ることに注目されたい。
【0027】
● 対象のエリア。オブジェクトが事前に定められた対象のエリアにある場合、CNは変更される。そのCNの変更はプラス又はマイナスであってもよい。
【0028】
● ワイヤレス又は他のデータリンク又は媒体のポータブル(portable)又は実際の待ち時間。
【0029】
● 位置づけエラー(例えば、GPSが+/−100mのエラーがあると決定した場合、例えばナビゲーション・マーカーなどの特定のクラスのグラフィックを最も低いCNに設定し、グラフィックのサイズを定められた割合によって増加される。
【0030】
如何なる所定のイメージにおいても、様々なグラフィック要素が、一定の他の要素よりも重要であってもよい。各グラフィック要素において、重要度係数又は重要度数が関連している。
重要度数(IN)
さらに、機器によって生成されるべきである特定のグラフィックの生成に対する優先度は(すなわち、「重要度」のレベル及び、従ってそれに関連する重要度数(IN));
● ソフトウェア/アプリケーションで定義される重要度。
【0031】
● ユーザーで定義される重要度の順位(例えば、サンフランシスコ・ジャイアンツをドジャーズよりも高いレベルの複雑度で示す)。
【0032】
● グラフィックに関連するオブジェクトのタイプ。海運ナビゲーションの状態では、水中の障害物が、地上のレストランよりも「重要」であるだろう。このタイプの順位付けは、機器のユーザーによって修正されてもよい。
【0033】
● グラフィック又はそのグラフィックに関連するオブジェクトの地理位置に対する該機器の位置(すなわち、該機器からオブジェクトの位置までの範囲)。
【0034】
● グラフィックに関連するオブジェクトの該機器に対する危険レベル又は緊急レベル(例えば、一定の方位で範囲を狭めて近づいてくる貨物船)
● グラフィックに関連するオブジェクトの速度。
【0035】
● 機器に対するグラフィックに関連するオブジェクトの速度。
【0036】
● グラフィックに関連するオブジェクトの該機器に対する動作の方向。
【0037】
● 環境条件(例えば、温度、潮位、風速、海流、波の高さ、霧及び/又は雨によって減少した視界)。オブジェクト自体であり得るスコールなど、エリアにおける荒れ模様の天候のエリアに対してINを増加させる。
【0038】
● 日時(例えば、夜間ではナビゲーション・マーカーは、ナビゲータにとって重要度が増える)。
【0039】
● 照らされていないオブジェクトが最初。夜間では、水面下の又はマークが付けられていない岩などの点灯していない障害物は、ナビゲーション・マーカーなどの通常照明で照らされた障害物よりも高いINを有する。
【0040】
● 対象のエリア。オブジェクトが事前に定められた対象のエリアにある場合、INは変更される。そのINの変更はプラス又はマイナスであってもよい。
【0041】
などの様々な状況に基づいたシステムによって修正されてもよい。
作動中のグラフィック制御システムの一般的な説明:
1)グラフィック・コントローラ(GC)は、アプリケーション及び/又はユーザーの相互作用によって定められるように、全ての基本グラフィック要素をリコール(recall)する。その基本グラフィック要素の地理位置は、影響エリア内にあり、その影響エリアは、ユニット位置に対して定められている。グラフィック・コントローラは、次に、どのグラフィック要素が、ユニット姿勢に基づいたユニット視野/アドレス及び姿勢データにあるか決定する。GCは、また、将来のユニット視野/アドレスが何であり得るかも決定する。
【0042】
2)各グラフィック要素は、アプリケーションによって定義されたベースであり、GCによって割り当てられる「重要度数」(IN)を有する。例えば、そのアプリケーションは、Whale Rockの1マイル内におけるエリアを非常に重要として定義してもよく、従って、比較的高いINを割り当ててもよい。あるいは、ユーザーは、一式の中間地点で構成されたルートを選択してもよい。これらの中間地点が影響エリアの中に来ると、それらには、比較的高いINが割り当てられる。なぜならば、その場合においてユニットは、ナビゲーション・マーカーに優先権を与えるからである。アプリケーション/ユーザーによって非常に重要又は主な対象として定義される危険エリアなどのグラフィック要素には、非常に高いINが割り当てられる。
【0043】
3)ユーザー・プロフィール(UP)がアクティブな場合、GCは、対象として定義されたグラフィックのINをUPによって、例えば100%など、アプリケーションで定義された割合によって増加させる。その増加は、対象のオブジェクト/エリアのタイプによって異なってもよい。
【0044】
4)システムは、任意のグラフィック位置がUPで定義された対象のエリア内にあるかどうかを突き止め、ユーザー又はシステムのいずれか一方で定義されたINは、アプリケーションで定義された割合によって増加される。
【0045】
5)アプリケーションによって定義された一式のIN低減しきい値は、そのアプリケーションによって2D又は3Dであり、ユニット位置に中心が置かれており、グラフィック要素がそのユニット位置からさらに遠くなると、INを減少させる。例えば、
0‐500m範囲=100%IN
501‐1000m範囲=80%IN
1001‐2000m範囲=60%INなどである。
【0046】
6)アプリケーションによって定義された一式のIN低減しきい値は、そのアプリケーションによって2D又は3Dであり、ユニット視線からの方位に基づいてグラフィックのINを減少させる。例えば、
ユニット視線から0°‐15°=100%IN
16°‐30°=80%INなどである。
【0047】
7)GCは、最も高いINから最も低いINまで順番付けされたグラフィック階層(GH)を生成する。
【0048】
8)ユニット振動によるグラフィック複雑度の減少の場合、スルーレート又は位置の変化率は、ユニット動作によるグラフィック限度サブシステムによって示され、GCは、示されているレベル数によってグラフィック複雑度を減少させる。
【0049】
9)アクティブであるUPが、代替のデフォルト設定又は複雑度レベルの低減など、任意の基本グラフィック要素の修正を示す場合、GCは示されるようにその基本要素を修正する。
【0050】
10)GCは、全てのグラフィック複雑度数を計算する。
【0051】
11)CN合計が割り当てられたシステム・リソースが実行できるアプリケーションよりも大きい場合、最も低いINを持ち、最も低い複雑度レベルにないグラフィック要素のグラフィック複雑度は1レベル低減される(アプリケーションは、非常に速いグラフィック要素の生成を必要とし、イメージ生成に対して利用可能なシステム・リソースの割合を限定し、例えばデータリコールのための割合を残す)。
【0052】
12)CN合計がシステム・リソースのリミットよりも少なくなるまで(ステップ17に進む)、又は全てのグラフィック要素が最も低い複雑度レベルまで減少するまで、GCは、ステップ11及び12を繰り返す。
【0053】
13)GCは、全てのグラフィックCNの合計を計算する。
【0054】
14)全てのグラフィック要素が最も基本的な複雑度レベルまで低減され、CN合計がいまだにシステム・リソースの限度を越えている場合、ユニットは最も低いINを持つグラフィックをGHから除外し、CN合計を再度計算する。
【0055】
15)GCは、CN合計がシステム・リソース限度より低くなるまで(ステップ17へ進む)、又は全てのグラフィックがGHから削除されるまでステップ14及び15を繰り返す。
【0056】
16)GCは、リクエストされたグラフィック要素はどれもリアルタイム・モードで表示することができないことをユーザーに伝え、スナップショット・モードに切り替える。
【0057】
17)GCは、選択された基本グラフィック要素、及び関連する複雑度レベルを機器のレンダリング・エンジンへと伝送する。
【0058】
機器の起動におけるオプションは、ユーザーがすぐに見ることができるように、定められたINしきい値内で最初に最も低いCNでオブジェクトを即時に生成することであり、次に上記で説明したような反復プロセスを経て、表示されるべきグラフィックを改良することであってもよい。
操作におけるグラフィック・コントローラ・システムの望ましい実施形態:
本開示において説明されている方法を描くためにビジョン・システムが使用される。このビジョン・システムは、傾向ディスプレイなどの伝統的な光学結合器のタイプの装置であってもよく、あるいは望ましくは、「Electro-Optic Vision Systems Which Exploit Position and Attitude」と題して発行された米国特許第5,815,411号(特許文献1)において開示されたタイプのビション・システムであってもよく、該特許は、内部位置づけ(GPS)、姿勢検知(機首磁方位センサー)及び振動(加速計)装置を含む。このビジョン・システムの開示は、本文献に参考として取り入れられる。重要度数(IN)システム及び/又はグラフィック複雑度(GC)システムは、それ自体で専用のセンサーを持つ全体的に独立した単体のシステムであることに注目すべきである。この開示は、また、ユーザー特有の使用プロフィールの開発、検出されたユニット動作によるグラフィック複雑度の現象、基本グラフィック要素のリコール及び制御、及びシステム・リソースの割り当てに関する概念を特に説明するために使用される。
ユニット動作によるグラフィック限度サブシステム108;
機器の動作、特に振動率及びスルーレートが、生成されるべき複雑度の修正を説明するために、この望ましい実施形態において使用されている一方、上記の「複雑度数(CN)」と題するセクションにおいて記載したように、他の係数が記載されている方法と同じ方法で他の実施形態において使用されても良い。
【0059】
図3及び4は、ユニット動作によるグラフィック限度サブシステム108の作動を示す。ユニット動作は、a)加速計106によって検出された振動、b)姿勢センサー105(通常は機首磁方位センサー及び/又は加速計106)によって検出されるスルーレート(ピッチ、ロール(roll)及びヨー(yaw))、c)位置センサー104(通常はGPS)によって検出される位置の変化率、のうち1つ又はそれ以上を含み得る。生成されるべきグラフィックの複雑度レベルをユニット動作に基づいて修正する方法は、それらの3つのセンサーの各々に対して非常に似ており、振動率及びスルーレートは、ここでは模範として使用される。図3は、ユニット動作によるグラフィック限度サブシステム108が、検出されたビジョン・システム107に対してどのように作動するかを示すフローチャート300である。ステップ301において、システムは、アプリケーション特有の振動限度Hを定義する。この限度は、ビジョン・システムが全てのグラフィックの複雑度を減少させ始める振動のレベルである。ステップ302において、そのシステムは、加速計106からの動作信号及びクロック101からの時間信号を受け取り、振動率を計算する。加速計は、また、ビジョン・システムの変形可能なプリズム・イメージ安定化システムに通常関連している。ステップ303において、システムは、計算された振動率がHを超えるかどうかを確認する。もしその計算された振動率がHを超えない場合は、フローチャートにおいて、図4のステップ401に進む。その計算された振動率がHを超える場合、フローチャートにおいてステップ304に進む。ステップ304において、システムは、その計算された振動率が、イメージを安定化するためのビジョン・システム安定化システムの能力を超えるかどうかを確認する。もしその計算された振動率が、イメージを安定化するためのビジョン・システム安定化システムの能力を超えない場合、フローチャートをステップ306に進む。その計算された振動率が、イメージを安定化するためのビジョン・システム安定化システムの能力を超える場合、フローチャートにおいてステップ306へ進む。ステップ306において、システムは、全てのグラフィックの複雑度レベルを1レベル分減少させる。これは、ビジョン・システム安定化システムが検出された振動に対応することができるにもかかわらず、ユーザーもほぼ確実に振動/動作しているためである。ステップ305において、システムは、全てのグラフィックの複雑度レベルを2レベル又はそれ以上のレベル分減らし、その量は、アプリケーション特有の複雑度低減振動しきい値によって定められる。次にフローチャートにおける、ステップ305及び306の両ステップから図4のステップ401に進む。図4は、ユニット動作によるグラフィック限度サブシステム108が、検出されたビジョン・システム107スルーレートに対してどのように作動するかを示すフローチャート400である。ステップ401において、システムは、アプリケーション特有のスルーレートJを定義する。このリミットは、システムが全グラフィックの複雑度を減らし始めるスルーレートである。ステップ402において、システムは、姿勢検知装置105及び/又は加速計106及びクロック101から信号を受け取り、スルーレートKを計算する。ステップ403において、システムは、計算されたスルーレートKがJを超えるかどうかを確認する。もしKがJを超えない場合、フローチャートにおいて、図5のステップ501に進み、使用プロフィール・サブシステム10をチェックする。もし、KがJを超える場合、フローチャートにおいて、ステップ404へ進む。ステップ404において、システムは、全グラフィックの複雑度レベルを1つ又はそれ以上のレベル分低減し、その量は、アプリケーション特有の複雑度低減スルーレートしきい値によって定義される。次にフローチャートにおける、図5のステップ501に進み、使用プロフィール・サブシステム109をチェックする。
使用プロフィール・サブシステム109;
図5は、使用プロフィール・サブシステム109の基本的な作動を示すフローチャート500である。ステップ501において、システムは、使用プロフィール(UP)がアクティブであるかどうかを確認する。もし、UPがアクティブである場合、フローチャートにおいてステップ502へ進む。もしUPがアクティブでない場合、フローチャートにおいてステップ503へ進む。ステップ502において、システムは、ユーザーが異なるUPに変更したかどうかを確認する。もしそのユーザーがUPを変更していない場合、フローチャートにおいてステップ508へ進む。もしそのユーザーがUPを変更した場合、フローチャートにおいてステップ503へ進む。ステップ503において、システムは、そのユーザーが既存のUPを選択したかどうかを確認する。もしそのユーザーが既存のUPをリコールした場合、フローチャートにおいて、使用プロフィール・サブシステム109が選択されたUPをロードするステップ507へ進み、次にステップ508へ進む。もしそのユーザーが既存のUPを選択していない場合、フローチャートにおいて、システムがユーザーにその新しく作成される「バージン(virgin)」UPを保存する希望に関する問い合わせをするステップ504へ進む。もしそのユーザーが新しく作成されるUPを保存する希望を示す場合、フローチャートにおいて、システムがユーザーにその新しいUPの名前をつけるように促し、その名前で保存する(ユーザーがUPに名前を付けない場合、システムはデフォルト名を割り当てる)ステップ505へ進み、次にステップ508へ進む。デフォルトUPは、基本的なパラメータのセットを含むようにアプリケーションによって事前に定義されているか、又は空白であってもよい。もしユーザーが、新しく作成されるUPを保存することを希望しない場合、フローチャートにおいて、グラフィック・コントローラ・サブシステム・フローチャート1200の始まりである図12のステップ1201へと進む。ステップ508において、システムは、システム使用を監視し、アクティブなUPをそれに応じて更新する。ステップ508は、図6‐11において拡張されている。
【0060】
図6‐11は、フローチャート500のステップ508の作動を示すフローチャート、600、700、800、900、1000、及び1100である。ステップ601において、システムは、ユーザーが2D又は3Dの対象エリアをシステム位置に対して定義しているかどうかを確認する。言いかえれば、ユーザーが対象のユニットに対して常に同じ位置にあるエリアを定義しているかどうかである。そのようなエリアの例は、システムが中央にある警報区域リングである。ユーザーがユニットに対して2D又は3Dの対象のエリアを定義した場合、フローチャートにおいて、システムがこの対象エリアにアクティブなUPを加えるステップ602へ進み、次にステップ603へと進む。ユーザーが、そのユニットに対して2D又は3Dの対象エリアを定義していない場合、フローチャートにおいてステップ603へ進む。ステップ603において、システムは、ユーザーが対象のポイントを定義したかどうかを確認する。このポイントは、実世界での位置を有し、ユニット位置に対して固定されていない。ユーザーが、対象のポイントを定義していない場合、フローチャートにおいてステップ701へ進む。ユーザーが対象のポイントを示した場合、フローチャートにおいて、システムがそのユーザーがその対象ポイントに対する関連のしきい値を定義したかどうかを確認するステップ604へ進む。このしきい値は、対象でもあるポイントに対してエリアを定義する。ある一例は、Whale Rockを対象として定義し、しきい値の500mをWhale Rockに関連付けることで、ユーザーは、Whale Rock及びその500m以内における全てのオブジェクトを対象にすることを示す。そのユーザーが、関連するしきい値を定義していない場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ605へ進み、次にステップ701へと進む。そのユーザーが、関連するしきい値を定義している場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ605へ進み、次にステップ701へと進む。
【0061】
ステップ701において、システムは、ユーザーが対象とする進路などのライン/ルートを定義したかどうかを確認する。ラインは、直線又は曲線であってもよく、ルートは、端と端が接続されたいくつかのライン・セグメントで構成されるものとして定義される。ユーザーが、対象のライン/ルートを定義していない場合、フローチャートにおいてステップ704へ進む。ユーザーがライン/ルートを定義している場合、フローチャートにおいて、システムがそのユーザーが関連するしきい値をその対象のライン/ルートに対して定義しているかどうかを確認するステップ702へ進む。このしきい値は、対象でもあるライン/ルートに対するエリアを定義する。一例は、ニュージーランドのオークランドからベイオブアイランズまでのルートを対象と定義すること及び関連するしきい値を200mと定義することによって、ユーザーは、定義されたルートの200m以内において静止している及び動作している全てのオブジェクトを対象にすることを示す。ユーザーが、関連するしきい値を定義していない場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ703へ進み、次にステップ704へと進む。ユーザーが、関連するしきい値を定義している場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ703へ進み、次にステップ704へと進む。ステップ704において、システムは、ユーザーが対象の2D又は3Dエリアを定義しているかどうかを確認する。もしユーザーが対象の2D又は3Dエリアを定義していない場合、フローチャートにおいて、ステップ801へ進む。もしユーザーが対象の2D又は3Dエリアを定義していない場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ706へ進み、次にステップ801へと進む。もしユーザーが対象の2D又は3Dエリアを定義している場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ706へ進み、次にステップ801へと進む。
【0062】
ステップ801において、システムは、ユーザーがグラフィックオブジェクトの特定のタイプを対象として定義しているかどうかを確認する。ユーザーが特定のタイプのグラフィックを対象として定義している場合、フローチャートにおいて、システムがアクティブなUPをそれに応じて更新するステップ802へ進み、次にステップ803へと進む。ユーザーが、特定のタイプのグラフィックを対象として定義していない場合、フローチャートにおいて、ステップ803へ進む。ステップ803において、システムは、グラフィック・ユーザー・インターフェース(GUI)のタイプに対して新しいデフォルト設定を特定しているかどうかを確認する。これは、そのユーザーがGUIのタイプのデフォルト設定を変更し、その設定がそのユーザーのUPの一部になることを可能にする。将来、その設定は、そのユーザーに対するGUIのタイプに対するデフォルト設定として使用される。言いかえれば、そのユーザーは、そのGUIを一度修正し、新しいデフォルトとして保存し、システムは、そのタイプの全てのGUIを自動的にその設定に持ち出す。ユーザーがGUIのデフォルト設定をお変更している場合、フローチャートにおいて、UPがそれに応じて更新されるステップ804へ進み、次にステップ805へと進む。そのユーザーがGUIのタイプのデフォルト設定を経能していない場合、フローチャートにおいてステップ805へ進む。ステップ805において、システムは、ユーザーが特定のタイプのグラフィックの複雑度レベルを1つ又はそれ以上のレベルの分によって低減し、この低減を好みとして示したかどうかを確認する。もしそのユーザーが、特定のタイプのグラフィックの複雑度レベルを低減し、これを好みとして示した場合、フローチャートにおいて、そのシステムが該アクティブなUPをそれに応じて更新するステップ806へ進み、次にステップ901へと進む。そのユーザーが、特定のタイプのグラフィックの複雑度レベルを低減し、これを好みとして示していない場合、フローチャートにおいてステップ901へ進む。
【0063】
図9は、システムが、そのシステムの姿勢読み込みを監視することによってユニットに対する対象のエリアをどのように生成するかを示すフローチャート900である。これらのエリアは、ユーザーによって定義されない。ステップ901において、使用プロフィール・サブシステム109は、姿勢検知装置105から姿勢読み込みを受け取る。ステップ902において、システムは、そのシステムの姿勢が、アプリケーションによって定義された時間において、アプリケーションによって定義された許容範囲内において静止しているか(すなわち、変化していないか)どうかを確認する。そのシステム姿勢が静止していない場合、フローチャートにおいてステップ1001へ進む。そのシステム姿勢が静止している場合、フローチャートにおいて、システムがビジョン・システム107の視野を計算するステップ903へ進み、次にステップ904へと進む。ステップ904において、システムは、計算された視野及び関連する姿勢を読み込み、そのようなデータのリストの一番上に保存する。このリストにおけるエントリー数は、アプリケーションによって定義される。そのリストが満杯である場合、最も底のエントリーがそのリストから除外され、後で、より高い容量、該装置の外部にあり得るディスク又はフラッシュなどのより低い速度のメモリでの使用のために保存されてもよい。次に、フローチャートにおいて、システムが、そのリストにおいて2つよりも多くのエントリーが存在するかどうか確認するステップ905へ進む。そのリストに2つよりも多くのエントリーがない場合、フローチャートにおいてステップ1001へ進む。そのリストに2つより多くのエントリーが存在する場合、フローチャートにおいて、システムが、そのリストのエントリーの姿勢読み込みを比較するステップ906へ進み、次にステップ907へと進む。ステップ907において、システムは、エントリーの姿勢読み込みのいずれかが、アプリケーションで定義された許容範囲内に一致するかどうかを確認する。それらの姿勢読み込みのいくつか又は全てがそのシステムに一致しない場合、ステップ1001へ進む。それらの姿勢読み込みのいくつか又は全てがそのシステムに一致する場合、ステップ908へ進む。ステップ908において、システムは、一致する姿勢読み込みの平均値を計算し、その平均姿勢読み込みに中心が置かれた視野(FOV)を計算する。その視野は、平均姿勢読み込みに関連する全ての視野にわたる。システムは次に、平均姿勢読み込み及び関連するFOVをそのようなデータのリストから除去する。フローチャートは次に、システムが、ユニットに関して新しく計算された対象のFOVをアクティブなUPに追加する。次にフローチャートをステップ1001へ進む。
【0064】
図10は、システムがユニットに関していない対象エリアをシステムの姿勢及び位置読み込みを監視することによってどのように生成するかを示すフローチャート1000である。これらのエリアは、静止した実世界の位置を有し、ユーザーによって定義されない。ステップ1001において、使用プロフィール・サブシステム109は、姿勢検知装置105からの姿勢読み込み及び位置検知装置304からの位置読み込みを受け取る。ステップ1002において、システムは、そのシステムが、アプリケーションで定義された期間の間、アプリケーションで定義された許容範囲内において静止しているか(すなわち、変化していないか)どうかを確認する。そのシステムが静止していない場合、フローチャートにおいてステップ1101へ進む。そのシステムが静止している場合、フローチャートにおいて、システムがビジョン・システム107の視野(FOV)を計算するステップ1003へ進み、次にフローチャートにおけるステップ1004へと進む。ステップ1004において、システムは、計算されたFOV及び関連する位置及び姿勢読み込みをそのようなデータのリストの一番上に保存する。このリストにおけるエントリーの数は、アプリケーションによって定義される。そのリストが満杯である場合、一番底のエントリーがリストから除去され、より高い容量、該機器の外部であり得るディスク又はフラッシュなどのより低いスピード・メモリーにおいて後に使用するために保存されてもよい。次に、フローチャートにおいて、システムがそのリストに2つよりも多くのエントリーが存在するかどうかを確認するステップ1005へ進む。そのリストに2つよりも多くのエントリーが無い場合、フローチャートにおいてステップ1101へ進む。そのリストに2つよりも多くのエントリーがある場合、フローチャートにおいて、システムがそのリスト上のFOVの交差を計算するステップ1006へと進み、次にステップ1007へと進む。ステップ1007において、システムは、アプリケーションで定義された数のFOVが共通の3Dエリアにおいて交差する。図16は、それぞれ異なる位置1601、1602、1603からの3つの視野1604、1605、1606の交差点1607を平面において示す。影が付けられたエリアは、共通の交差するエリアである。ステップ1007では1つよりも多くの共通の交差エリアがあってもよいことに注目されたい。そのシステムが、十分な記載されたFOVが共通のエリアにおいて交差しないことを確認する場合、フローチャートにおいてステップ1101へ進む。もしそのシステムが、十分な記載されたFOVが共通エリアにおいて交差する場合、フローチャートにおいて、共通交差のエリアの境界線がそのユニットによって計算されるステップ1008へ進み、次に、計算された共通交差のエリアがアクティブなUPに対象の3Dエリアとして追加されるステップ1009へと進む。フローチャートは、次に、ステップ1101へと分岐する。
【0065】
図11は、そのシステムが、図9及び10において示されるような、システムで生成された対象のエリア又はシステムで生成された関連の対象FOVを、どのようにアクティブなUPから除外するかを示すフローチャート1100である。ステップ1100において、システムは、ビジョン・システム107の視野が、システムで定義された全ての対象エリア及びシステムで定義された全ての対象FOVをアプリケーションで定義された期間内に交差しているかを確認する。もし全てのそのようなエリアがビジョン・システム107によってアプリケーションで定義された期間内に交差されている場合、フローチャートにおいて、グラフィック・コントローラ・サブシステム・フローチャート1200の始まりであるステップ1201へ進む。もし全てのそのようなエリアが、該定義された期間内にビジョン・システム107によって交差されていない場合、フローチャートにおいて、その交差されていないエリア又はFOVがアクティブなUPから除外されるステップ1102へ進み、次に、グラフィック・コントローラ・サブシステム・フローチャート1200の始まりであるステップ1201へと進む。
グラフィック・コントローラ・サブシステム110;
グラフィック・コントローラ・サブシステム110は、システムがどのように基本グラフィック要素をリコールするか、及び各グラフィックがどの複雑度レベルで生成されるかを制御する。各基本グラフィック要素は、1)そのグラフィックの場所を任意の基準座標システムに対して定義した位置、2)そのグラフィックの方向を任意の基準座標システムに対して定義した姿勢、及び3)各グラフィック複雑度レベルに対するモデル及び複雑度数(CN)、で構成される。そのモデルは、そのグラフィックの形状、スケール及び内容を定義するには十分である。そのグラフィックは、そのモデルによって定義されるように、2D又は3Dであってもよく、動画でさえあってもよいことに注目されたい。各グラフィックは、それに関連する多くのグラフィック複雑度レベルを有する。これらは、例えばより複雑な、本格的なラスター・イメージから、そのグラフィックの意味を分け与えるのに最小限必要な複雑度、例えば、対象のオブジェクトのタイプに関連するシンプルなベクトル・イメージ又はアイコンにまで及ぶ。いくつかのイメージは、たった1つの複雑度レベルを持ってもよい一方、その他のイメージは多くの複雑度レベルを持つ。各グラフィック複雑度レベルに関連する複雑度数は、そのレベルでグラフィックを生成するのに必要な計算の数を定義する。これらの異なる複雑度レベルは、以下に記載されるように、システム・リソースをグラフィック生成のために割り当てるときに、グラフィック・コントローラ・サブシステム110によって使用される。
【0066】
各グラフィックには、重要度数(IN)が割り当てられ、そのINは、アプリケーションで定義される。例えば、海運ナビゲーション・アプリケーションにおいて、ナビゲーション・マーカーに関連するグラフィックは、比較的高いINを有するが、同じエリアをカバーする観光アプリケーションにおいては、それらのナビゲーション・マーカーは、より低い重要度を持ち、従って、それらに関連するグラフィックは、より低いINを有する。アプリケーションによって割り当てられるINは、アプリケーションが1つの作動モードから他のモードへ切り替えると、変化し得る。上記の例を使用して、そのアプリケーションは、その領域に対して2つの作動モード、ナビゲーション・モード及び観光モードを持つものであってもよい。そのINは、グラフィック・コントローラ・サブシステム110によって、以下に記載されるようにグラフィック生成のためにシステム・リソースを割り当てるときに使用される。
【0067】
ユニット位置又は実世界の位置を有する影響エリアは、ソフトウェア/アプリケーション/マイクロ・コード/ユーザーによって定義されてもよい。この影響エリアは、2次元又は3次元形状、例えば円形又は球状であってもよい。影響エリアは、例えば、見える水平線であってもよい。その影響エリアは、基本グラフィック要素の位置が、グラフィック・コントローラ・サブシステム110によってリコールされなければいけないエリアを定義する。
【0068】
図12は、グラフィック・コントローラ(GC)サブシステム110の作動を示すフローチャート1200である。ステップ1201において、システムは、ビジョン・システムが以前生成されたグラフィックを有するかどうかを確認する。もしグラフィックが生成されているいる場合、フローチャートにおいて、そのシステムが、ビジョン・システムの位置又は姿勢が、グラフィックが生成されて以来変化しているかどうかを確認するステップ1202へ進む。もし、その位置又は姿勢が変化している場合、フローチャートにおいてステップ1204へ進む。もし、その位置又は姿勢が変化していない場合、フローチャートにおいて、そのシステムが、ユーザー又はビジョン・システム自体がそのグラフィックを追加又は修正したかどうかを確認するステップ1203へ進む。そのグラフィックが修正又は追加されていない場合、フローチャートにおいて、以前生成されたグラフィックがビジョン・システム107のディスプレイへと伝送されるステップ1214へ進み、次に図14のステップ1401へと進み、ディスプレイ使用サブシステム111をチェックする。そのグラフィックが修正又は追加された場合、フローチャートにおいてステップ1204へ進む。ステップ1204において、GCは、図13に示されるようにグラフィック階層(GH)を生成し、フローチャートは、次に、ステップ1205へ分岐する。ステップ1205において、GCは、ユニット動作によるグラフィック限度サブシステム108が、全体としてグラフィック複雑度における減少を示したかどうかを確認する。そのような減少が示された場合、フローチャートにおいて、GCがGHをそれに応じて修正するステップ1206へ進み、次に、ステップ1207へと進む。そのような減少が示されていない場合、フローチャートにおいてステップ1207へ進む。ステップ1207において、GCは、アクティブなUPが、GHにおける任意の基本グラフィック要素の代替的なデフォルト設定又は複雑度レベルの低減などの修正を示しているかどうかを確認する。そのような修正が示されている場合、フローチャートにおいて、GCがGHをそれに応じて修正するステップ1208へ進み、次にステップ1209へと進む。そのような修正が示されていない場合、フローチャートにおいて、ステップ1209へ進む。ステップ1209において、GCは、GHにおける基本グラフィック要素に対する全ての複雑度数の合計を、それらの現在の複雑度数で計算し、フローチャートにおいて、システムが、CN合計がゼロであるかどうかをチェックするステップ1216へ進む。CN合計がゼロに等しい場合、すなわち全ての基本グラフィック要素が、例えば過度な動作によってそのグラフィック階層から除外されている場合、フローチャートにおいて、システムがユーザーに、スナップショット・モードに切り替えることを伝え、静止イメージを捕らえ、その静止イメージを捕らえる時間にシステム位置及び姿勢を捕らえるステップ1217へ進み、次に、図13のステップ1301へと進み、新しいGHを生成する。もし、CN合計がゼロに等しくない場合、フローチャートにおいて、システムが、GHにおける全てのグラフィックをそれらの現在の複雑度レベルで生成するのに必要なリソースが、利用可能なシステム・リソースを超えていないかどうかを確認するステップ1210へ進む。グラフィック生成に利用可能なリソースは、プロセッサ速度、利用可能なメモリ、バッテリー状態/利用可能な電力、電力使用量、データ伝送速度、事前に定義されたグラフィック及び事前にロードされたアイコン一式などであってもよい。もし、必要なリソースが割り当てられたシステム・リソースを超える場合、フローチャートにおいてステップ1211へ進む。もし、必要なリソースが、割り当てられたシステム・リソースを超えない場合、フローチャートにおいて、GCがグラフィックを生成するステップ1215へ進み、次に、図14のステップ1401へと進み、ディスプレイ使用サブシステム111をチェックする。ステップ1211において、GCは、GHにおける全ての基本グラフィック要素がそれらの最も低い複雑度レベル設定にあるかどうかを確認する。GHにおける全ての基本グラフィック要素が、それらの最も低い複雑度レベルにない場合、フローチャートにおいて、GCが複雑度レベルを低減することによってGH、及び、従って最も低いINを持つ基本要素のうち1レベル分最も低い複雑度レベルにない基本要素のCNを修正するステップ1212へ進み、次に、ステップ1209へと進みCN合計をもう一度計算する。GHにおける全ての基本グラフィック要素がそれらの最も低い複雑度レベルにある場合、フローチャートにおいて、GCが最も低いINを持つ基本要素をGHから消去するステップ1213へ進み、次にステップ1209へと進み、CN合計をもう一度計算する。
【0069】
図13は、GCがグラフィック階層(GH)をどのように生成するかを示すフローチャートである。ステップ1201において、GCは、全ての基本グラフィック要素を、アプリケーション及びユーザー対話によって定義されるようにリコールし、それらの位置は、影響エリア内にあり、その影響エリアは、アプリケーション又はユーザーでシステム位置に対して定義されており、次に、どのグラフィックが、システム姿勢及び視野データに基づいて、ビジョン・システム107の視野内にあるかを決定する。図17は、ビジョン・システム107の場所1701の平面ビュー、定義された影響エリア1702の限度、基本グラフィック要素の位置1703、視線1704及び視野/アドレス1705を示す。もし機器が、ビジョン・システムでなく、例えば携帯電話である場合、その機器はビジョン・システムの視野に似たアドレス・フィールドを持っても良い。このアドレスのフィールドは、例えばその携帯電話の最も長い寸法の軸を持つ30°で広がる円錐形であってもよい。図17はまた、つい最近視野1705から出た、又はもうすぐその視野に入る基本グラフィック要素が追跡される「ディスプレイ・バッファ」領域1706を示す。フローチャートは、次に、各グラフィックが、GCによって割り当てられるアプリケーションで定義された基本「重要度数」(IN)を有するステップ1302へ進む。例えば、そのアプリケーションは、Whale Rockの1マイル内のエリアを非常に重要として定義してもよく、従って、それに比較的高いINを割り当ててもよい。あるいは、ユーザーは、一式の中間点で構成されるルートを選択しても良い。これらの中間点は、影響エリアに入ってくると、それらには、比較的高いINが割り当てられる。なぜならば、ユニットがナビゲーション・マーカーに優先権を与えるからである。危険エリアなどの、アプリケーション/ユーザーによって非常に重要又は主な対象として定義されるグラフィックには、非常に高いINが割り当てられる。フローチャートは、次に、GCがリコールされたグラフィックのいずれかが、アクティブなUPによって対象として定義されているかどうかを確認するステップ1303へと進む。もしグラフィックが対象として定義されている場合、フローチャートにおいて、それらのグラフィックのINがアプリケーションで定義された割合によって増加されるステップ1304へ進み、次に、ステップ1305へと進む。グラフィックが対象として定義されていない場合、フローチャートにおいてステップ1305へ進む。ステップ1305において、GCは、グラフィックの位置のいずれかが、ユーザー又はシステムのいずれか一方で定義された対象エリア内にあるかどうかを確認する。グラフィックの位置のいずれかが、対象エリア内にある場合、フローチャートにおいて、GCが対象エリアのグラフィックのIN をアプリケーションで定義された割合によって増加させるステップ1306へ進み、次にステップ1307へと進む。ステップ1307において、GCは、任意のグラフィックの位置までの範囲が第1範囲IN低減しきい値を超えるかどうかを確認する。そのようなしきい値システムの例は、0‐500m=100%IN、501‐1000m=80%IN、1001m‐1500m=60%INなどであってもよい。いずれかのグラフィックの位置までの範囲が第1範囲IN低減しきい値を超える場合、フローチャートにおいて、それらのグラフィックのINがアプリケーションで設定された範囲IN低減しきい値に従って低減されるステップ1308へ進み、次にステップ1309へと進む。いずれかのグラフィックの位置までの範囲が第1範囲IN低減しきい値を超えない場合、フローチャートにおいてステップ1309へ進む。ステップ1309において、GCは、ビジョン・システム107視線からいずれかのグラフィックの位置への方位が、第1範囲IN低減しきい値を超えるかどうかを確認する。いずれかのグラフィックの位置への方位が、第1範囲IN低減しきい値を超えない場合、フローチャートにおいてステップ1311へ進む。ステップ1311において、GCは、最も高いINから最も低いINまで優先の順番で記載されている基本グラフィック要素で構成されるグラフィック階層(GH)を生成する。次に、フローチャートはステップ1312へ進む。ステップ1312において、システムは、スナップショット・モードがアクティブであるかどうかを確認する。スナップショット・モードがアクティブである場合、フローチャートにおいて、図18のステップ1801へ進む。スナップショット・モードがアクティブでない場合、フローチャートにおいて図12のステップ1205へ進む。
スナップショット・モード
スナップショット・モードは、システムが、過度な機器の動作などの状況の場合にもユーザーに情報を表示することを可能にし、イメージのリアルタイムの生成を可能にしない。これは、静止イメージ及び関連する位置及び姿勢を捕らえ、グラフィック階層を生成し、そのGHにおける最も低い基本要素のセットの割合の複雑度レベルを低減し、合成イメージを生成することによってなされる。合成イメージの生成は、リアルタイム操作においてイメージ生成するのに通常可能な時間よりも多くの時間を取ってもよい。このモードは、通常、図12のステップ1216及び1217に示されるように自動的にアクティブにされてもよいが、リクエストに応じてユーザーによってもアクティブにされてもよい。
【0070】
図18は、スナップショット・モードにおけるビジョン・システム107の作動の一部を示すフローチャート1800である。ステップ1801において、システムは、GHのより低い割合にある基本要素のグラフィック複雑度を最も低いレベルに低減する。例えば80%のこの割合は、アプリケーションによって定義される。これは、合成イメージの生成を、GHによって最も重要なグラフィックだけを生成することによって速くするためになされ、それらの最大の複雑度レベルで生成される。フローチャートは、次に、システムが、最も時間を必要とする合成イメージをレンダリングする。それは、「リアルタイム」の時間枠において、その枠は必要でないからである。次に、図14のステップ1401へ進み、ディスプレイ使用サブシステム111をチェックする。
【0071】
図19は、スナップショット・モードにおけるビジョン・システム107の追加の作動を示すフローチャート1900である。ステップ1901において、システムは、ユーザーが監視モードをアクティブにしたかどうかを確認する。監視モードがアクティブにされた場合、フローチャートにおいて図7のステップ702に進み、タイム・トリガー206の監視を開始する。監視モードがアクティブにされていない場合、フローチャートにおいて、システムが、ビジョン・システム107が全体としてオフになっているかどうかを確認するステップ1302へ進む。ビジョン・システム107がオフになっている場合、フローチャートにおいて、全てのシステムが非アクティブにされビジョン・システム107がシャットダウンするステップ1903へ進む。ビジョン・システムがオフになっていない場合、フローチャートにおいて、システムが、ユーザーがスナップショット・モードをアクティブにしたかどうかを確認するステップ1904へ進む。スナップショット・モードが非アクティブになっている場合、フローチャートにおいて図7のステップ702へ進み、ユニット動作によるグラフィック限度サブシステム108をチェックする。スナップショット・モードが非アクティブになっていない場合、フローチャートにおいて、システムが、ユーザーが新しい静止イメージを捕らえると示したかどうかを確認するステップ1905へ進む。新しいイメージが示された場合、フローチャートにおいて、システムが、その新しい静止イメージを捕らえ、そのイメージを捉えた時間でのシステムの位置及び姿勢を捕らえるステップ1906へ進み、次に図13のステップ1301へ進み新しいGHを生成する。新しいイメージが示されていない場合、フローチャートにおいて、図14のステップ1401へ進み、ディスプレイ使用サブシステム111をチェックする。
ディスプレイ使用サブシステム111;
図14は、ディスプレイ使用サブシステム111の作動を示すフローチャート1400である。このサブシステムは、ユーザーが実際にビジョン・システムのディスプレイを見ているのかを検出し、それに応じてディスプレイをアクティブ又は非アクティブにするように動作することが可能である。スクリーンの背面照明をウォームアップするなどの活動のいくつかは、全く非アクティブになることは無く、その代わりにビジョン・システムが全体としてアクティブでいる間アクティブのままでいることに注目されたい。ステップ1401において、システムは、1つ/複数のディスプレイがアクティブであるかどうかを確認する。その/それらのディスプレイがアクティブである場合、フローチャートにおいてステップ1402へ進み。その/それらのディスプレイがアクティブでない場合、フローチャートにおいて、ステップ1403へ進む。ステップ1402において、システムは、オブジェクトがアプリケーション/ユーザーで定義されたディスプレイ起動範囲しきい値内にあるかどうかを確認する。これは、低電力ソニック、発光レーザー又は他の似た範囲の装置の使用によってなされる。ユーザーは、例えば矯正レンズ又はサングラスの着用者がそのサブシステムを使用できるようにし、且つディスプレイをアクティブにすることができるように、この起動しきい値を修正してもよい。これは、望ましいディスプレイ起動範囲しきい値がユーザー使用プロぎールの一部であることにおいて、もう一歩さらに踏み込んでもよい。オブジェクトがディスプレイ起動範囲しきい値内で検出された場合、フローチャートにおいて、ディスプレイがアクティブのままでいるステップ1405へ進み、次に1407へと進む。オブジェクトがディスプレイ起動範囲しきい値内で検出されない場合、フローチャートにおいて、ディスプレイが非アクティブにされるステップ1404へ進み、次にステップ1407へと進む。ステップ1403において、システムは、オブジェクトがアプリケーション/ユーザーで定義されたディスプレイ起動範囲しきい値内にあるかどうかを確認する。オブジェクトが、ディスプレイ起動範囲敷地内に検出される場合、フローチャートにおいて、ディスプレイがアクティブにされるステップ1406へ進み、次にステップ1407へと進む。オブジェクトがディスプレイ起動範囲しきい値内に検出されない場合、フローチャートにおいてステップ1407へ進む。スナップショット・モードがアクティブである場合、フローチャートにおいて図19のステップ1901へ進む。スナップショット・モードがアクティブでない場合、フローチャートは、図15のステップ1501へ進み、スリープ・サブシステム112をチェックする。
スリープ・サブシステム112;
図15は、スリープ・サブシステム112の作動を示すフローチャート1500である。このサブシステムは、ビジョン・システムの位置又は姿勢がユーザー又はアプリケーションで定義された期間において変化しない場合、システムを監視モードに戻すために使用可能にされる。
【0072】
また、初期のグラフィック複雑度低減は、CPU又はアプリケーション・プロセッサによって、例えば加速計などのセンサーからの高い振動率を示す読み込みに基づいて実施されてもよい。例えば、各クラスのオブジェクトに対する所定の振動率におけるCN低減の表が、GCシステムが計算を開始する前にCNを限定するためにCPUによって使用されてもよく、そうすることによって時間及び電力が節約される。
【0073】
検出された機器の加速は、また、ビジョン・システムなどの装置のボアサイト(bore-site)の決定された方向を、装置の加速を直角の面において監視し、場所、アプリケーション、ユーザーなどによって定義される事前に設定されたルールのセットに基づいて補うことによって、改良するためにも使用されてよい。一例は、脇道にある車において使用されるビジョン・システムである。通常の車両懸架装置の作動を仮定すると、自動車の上方向の直角の加速は、下方向の加速よりもずっと突然であり、従って、システムは、平均がとられ、安定化された装置のボアサイトを決定する場合に上方向の動作の割合でのみ読み込むだろう。
【0074】
上記の例は、これらの発明の装置及び方法の望ましい型を説明する具体的な実施形態に向けられる。完全性のために、装置及びそれが有する要素並びに方法及びそれが含むステップのより一般的な説明が、以下に示されている。
【0075】
当業者は、グラフィック・システムがどのように形成され、合成イメージのグラフィック要素が、生成されるイメージの関連するハンドヘルド・システムの瞬間的状態の視点におけるグラフィックの重要度及び複雑度に関する好みで生成されるかを完全に理解するであろう。本発明は、明確且つ簡潔な言語で、発明者が期待する最適のモードを含む、ある望ましい型を参照して、かなり詳しく説明されているが、他の型も可能である。従って、本発明の要旨及び範囲は、それらの含まれる望ましい型の記載によって限定されるべきではなく、むしろここに添付された請求項によって限定されるべきである。
【符号の説明】
【0076】
101…クロック
104…位置センサー
105…姿勢センサー
106…加速計
107…ビジョン・システム
108…ユニット動作によるグラフィック限度サブシステム
1601…位置
1602…位置
1603…位置
1604…視野
1605…視野
1606…視野
1607…3つの視野の交差点
1701…場所
1702…影響エリア
1703…基本グラフィック要素の位置
1704…視線
1705…視野/アドレス・フィールド
1706…「ディスプレイ・バッファ」区域
【特許請求の範囲】
【請求項1】
グラフィックイメージをレンダリングする方法であり、慣性測定装置によって決定されるものを含む自由に動作可能な携帯ユニットの物理的状態に応答する、方法。
【請求項2】
前記自由に動作可能な携帯ユニットの位置及びポインティング方向に応答する、請求項1に記載の方法。
【請求項3】
請求項1に記載の方法であり:
携帯機器の位置を決定するステップ、
携帯機器のポインティング姿勢を決定するステップ、
複数のグラフィック要素を含むイメージを生成し、該グラフィック要素の順番及び詳細は、位置及び姿勢として測定される値によってレンダリングされる、ステップ、
をさらに含む方法。
【請求項1】
グラフィックイメージをレンダリングする方法であり、慣性測定装置によって決定されるものを含む自由に動作可能な携帯ユニットの物理的状態に応答する、方法。
【請求項2】
前記自由に動作可能な携帯ユニットの位置及びポインティング方向に応答する、請求項1に記載の方法。
【請求項3】
請求項1に記載の方法であり:
携帯機器の位置を決定するステップ、
携帯機器のポインティング姿勢を決定するステップ、
複数のグラフィック要素を含むイメージを生成し、該グラフィック要素の順番及び詳細は、位置及び姿勢として測定される値によってレンダリングされる、ステップ、
をさらに含む方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2011−113561(P2011−113561A)
【公開日】平成23年6月9日(2011.6.9)
【国際特許分類】
【出願番号】特願2010−231775(P2010−231775)
【出願日】平成22年10月14日(2010.10.14)
【出願人】(500387559)ジオベクター コーポレーション (5)
【Fターム(参考)】
【公開日】平成23年6月9日(2011.6.9)
【国際特許分類】
【出願日】平成22年10月14日(2010.10.14)
【出願人】(500387559)ジオベクター コーポレーション (5)
【Fターム(参考)】
[ Back to top ]