本発明の実施形態は、大きくはユーザインタフェース技術に関し、より具体的には、拡張現実環境において、一定のレベルの情報を提供する方法や装置、コンピュータプログラムに関する。
背景
通信の新しい時代は、有線及び無線ネットワークの著しい拡張をもたらしている。コンピュータネットワークやテレビジョンネットワーク、電話ネットワークは、ユーザの要求に応えて、以前であれば予測できなかったような技術的発展を経験している。無線・移動ネットワーク技術は、ユーザの要求に応えつつも、より柔軟且つ即時的な情報伝達を可能としている。
現在の、また将来のネットワーク技術は、情報伝送の容易さやユーザの利便性を向上させることを続けていくだろう。最近の電子通信機器のユビキタス性のために、年代や教育レベルに関わらず、全ての人々が電子機器を利用して、他の人々や関係先と通信したり、サービスを受け取ったり、情報やメディア等のコンテンツを共有したりしている。情報伝送をますます容易にすることの要求が存在する領域の一つは、移動端末のユーザにサービスを配信する分野である。このようなサービスは、例えば、ユーザが所望の特定のメディアや通信アプリケーションの形態を有していることがあり、例えばミュージックプレイヤーやゲームプレイヤー、電子ブック、ショートメッセージ、電子メール、コンテンツ共有などである。上記のようなサービスはインタラクティブなアプリケーションの形態を有していることがあり、そのような場合、ユーザは、タスクを遂行したり目的を達成したりするために、ネットワークデバイスに応答する。
ある状況において、移動端末は、ユーザとそのユーザの環境との相互作用を拡張することがある。ユーザとユーザローカル環境との相互作用を拡張するために移動端末を利用するというコンセプトに関連して、非常に多くの開発例が存在する。例えばバーチャルツアーガイドや、現実にミックスすることを伴うアプリケーションである。現実にミックスすることは、現実世界とバーチャル世界とを融合することを伴う。ある事例では、現実にミックスすることは、現実世界のイメージデータにバーチャルなオブジェクトをミックスし、現実のオブジェクトとデジタルのオブジェクトが共に存在し(できればそれらが実時間で相互作用するような)環境を生成して視覚化する。現実にミックスする技術には、拡張現実(Augmented Reality;ARや強化現実とも呼ばれる)、すなわち現実のイメージを拡張したり現実のイメージに追加したりするためにデジタルのイメージを使用する技術や、バーチャルリアリティ、すなわちコンピュータシミュレーションを使って現実世界の環境を刺激する技術が含まれる。
拡張現実は急速に発展している分野である。拡張現実(AR)は、シンビアンTMやアンドロイド(登録商標)、iPhone(登録商標)、Windows MobileTMなど、多くのモバイルプラットフォームで利用可能になっている。拡張現実のコンセプトは、コミュニケーションデバイスのカメラで撮影した生のビデオストリームや静止画に、グラフィックや情報を重ね合わせることである。このグラフィックや情報は如何なるものであってもよい。拡張現実において、環境やオブジェクトについてのグラフィックや情報は、現実世界のビューの上の情報レイヤとして保存されたり呼び出されたりすることができる。
拡張現実技術について共通に用いられていることは、ビデオストリームや静止画の上に興味のあるポイント(Point Of Interest; POI)を重ね合わせることである。これらのPOIは、ランドマークのような静止した情報であることができ、また、座標を含むジオコードで符号化された情報でもよい。拡張現実の使用の一例が図1に描かれている。ここでは、Wikipedia(登録商標)で提供される情報やTwitter(登録商標)で提供されるツイートが、コミュニケーションデバイスのカメラの映像に重ね合わされている。
利用者が、例えばWikipediaのアイコンのいずれかを押すと、その選択されたアイコンに関連する記事についての多くの情報がユーザに提示される。例えば拡張現実は、ユーザがはじめての場所におり、彼らは見ているものについての情報を得ようとするときに利用される。観光アトラクションの前に立ち、それにカメラを向けると、ユーザは、そのアトラクションについての情報を得ることができる。
拡張現実アプリケーションに関する共通の課題は、ARアプリケーションが提供しうる情報があまりにも多く、ユーザにとって有益ではなくどちらかといえば面倒なものになりうるということである。その例が図2に示されており、この例では、カメラビューの中の情報が非常に多く、ユーザは情報を効果的に使用することができないであろう。
例えば、情報があまりにも多くカメラのビューが乱雑になりすぎると、ユーザは、カメラに映し出されている景色の現実世界のオブジェクトの像を見ることができなくなるかもしれない。情報が混雑すると、カメラのビューの現実世界のオブジェクトのうち情報アイコンに対応するものを特定することが非常に難しくなるかもしれない。また、カメラのビュー上のいくつかの情報は見ることができないかもしれない。というのも、それらは他の情報に隠されているかもしれないからである。カメラのビュー上の情報のうち隠されているものは、隠されていない他の情報よりも、実は、現実世界の環境においてユーザにより近いものであるかもしれない。
現在、拡張現実において混乱したディスプレイについての課題に対処するには、伝統的に二つのアプローチが存在する。第1のアプローチは、ユーザが見たいと欲する情報に基づいて、どの情報レイヤがディスプレイ上に可視化されるべきかをユーザが選択可能とする、というものである。このアプローチは、ユーザが情報レイヤを完全にオンまたはオフにすることができるが、その不利な点は、ユーザは、情報から選択を行うことができないかもしれない、という点である。例えば、ユーザがある情報レイヤを選択することができたとしても、その情報レイヤが依然として非常に多くの情報を提供しており、カメラのビューを混乱したものにしているかもしれない。なお情報レイヤとは、例えば、サービスプロバイダより提供される情報のセットであることができる。
第2のアプローチは、ユーザが情報(例えば拡張現実情報)を見たいと欲する固定的な範囲/距離を選択できるようにすることである。例えばユーザは、コミュニケーションデバイスを使って、現在位置から2km以内の距離にある全ての拡張現実情報を表示するという機能を選んでもよい。このアプローチには、拡張現実情報が少ない領域で、望ましくない結果を生じる可能性があるという欠点がある。例えばユーザが選択した範囲/距離が小さすぎて、有用な拡張現実情報がカメラのビューに表示されないという危険がある。例えば、現在位置において利用可能な全て又はほとんどの拡張現実情報が、ユーザが選択した範囲や距離の外にしか存在しないかもしれない。
これらの欠点に鑑みると、拡張現実環境において、コミュニケーションデバイスに提供される情報の乱雑さを減らす、新たなメカニズムを提供することが望ましいであろう。
摘要
そこで、拡張現実において、一定のレベルの情報を提供することを自動的に可能にするための方法,装置,コンピュータプログラム製品が提供される。例示的実施形態は、拡張現実において、情報(例えばバーチャル情報)を表示するディスプレイが多すぎる又は混乱しているという問題を緩和する。これに関連して、例示的実施形態は、コミュニケーションデバイスに表示する一つ又は複数のライブイメージ及び/又はライブビデオを撮影する、カメラなどのメディアキャプチャデバイスにおいて、視野範囲(view range)や視野距離(view distance)を自動的に調整してもよい。
視野範囲/視野距離を調整することは、現在位置の現実世界のオブジェクトに関連する興味点(Point Of Interest;POI)の密度を分析することにより行われてもよい。POIは、ユーザが興味を示しうる現実世界のオブジェクトの位置に対応する情報に関連してもよい。これに関連して、POIは地理的位置のデータ(例えば現実世界のオブジェクトの緯度や経度、高度の座標)や、その他のいかなるデータ(例えばテキストやイメージ、ビデオデータなど)に関連付けられてもよい。POIは、デディスプレイ上の現実世界のオブジェクトに対応するイメージの上に重ね合わせられてもよい。POIは、バーチャルオブジェクト(例えばアイコンのようなグラフィック要素)によって表されてもよいが、必ずしもそうでなくてもよい。
ある例示的実施形態において、ユーザがメディアキャプチャデバイスを、POIの密度が高い又はPOIの量が多い方向に向けたとき、ある例示的実施形態は、メディアキャプチャデバイスが多くの情報(例えば現実世界のオブジェクトのイメージ)をキャプチャすることができないように、視野距離を自動的に減少させてもよい。キャプチャされる情報が少なくなるように視野距離を減少させることにより、ディスプレイには対応する少ない数のPOIが供給されてもよい。さらに、ユーザがメディアキャプチャデバイスを、POIの密度が低い又はPOIの量が少ない方向に向けたとき、ある例示的実施形態は、メディアキャプチャデバイスが多くの情報(例えば現実世界のオブジェクトのイメージ)をキャプチャするように、視野距離を自動的に増加させてもよい。キャプチャされる情報が多くなるように視野距離を増加させることにより、ディスプレイには対応する多い数のPOIが供給されてもよい。
ここで、ある例示的実施形態は、視野距離を調節するため、どのくらいの量の情報が表示に利用可能であるかどうかを決定するべく、メディアキャプチャデバイスの視野の中で利用可能な情報の密度を分析してもよい。例えば、全てのPOIをディスプレイに表示する代わりに、例示的実施形態は、メディアキャプチャデバイスの視線角度において表示されているPOIの量を分析してもよい。このようにして、ある例示的実施形態は、表示されるPOIの量が、のレベルに維持されるように、メディアキャプチャデバイスの視野距離を設定してもよい。このような手法を用いることにより、ある例示的実施形態は、通信デバイスにより最初に検出されたPOIの密度の高低に関わらず、通信デバイスのディスプレイに同じ量のPOIを供給することを可能にしてもよい。
ある例示的実施形態では、拡張現実環境において、一定のレベルの情報を提供する方法が提供される。この方法は、現在表示されている現実世界オブジェクトの第1のセットに関連するPOIの第1の個数を決定することを含んでもよい。前記現実世界オブジェクトの第1のセットは、少なくとも一つの現在位置に関連してもよい。前記方法はさらに、前記第1の個数が所定の閾値を下回るかどうかを判断することを含んでもよい。前記方法はさらに、POIの個数を、前記第1の個数から、前記所定の閾値に対応した第2の個数へと増加させるために、現実世界オブジェクトの第2のセットを表示することを支援すべく、デバイスの視野範囲を増大させることを含んでもよい。前記第1の個数が所定の閾値を下回るという判断に基づいて、前記第1の個数は、前記所定の閾値に対応した第2の個数へと増加させられてもよい。前記視野範囲は、ある距離および角度に対応する前記デバイスの視野を含んでもよい。
別の例示的実施形態では、拡張現実環境において、一定のレベルの情報を提供する装置が提供される。この装置は、プロセッサと、コンピュータプログラムコードを格納するメモリとを備えてもよい。前記メモリ及び前記コンピュータプログラムコードは、前記プロセッサと共に、前記装置に、少なくとも、現在表示されている現実世界オブジェクトの第1のセットに関連するPOIの第1の個数を決定することを含む処理を遂行させるように構成されてもよい。前記現実世界オブジェクトの第1のセットは、少なくとも一つの現在位置に関連してもよい。前記メモリ及び前記コンピュータプログラムコードは、前記装置に、前記第1の個数が所定の閾値を下回るかどうかを判断させてもよい。前記メモリ及び前記コンピュータプログラムコードはさらに、前記装置に、POIの個数を、前記第1の個数から、前記所定の閾値に対応した第2の個数へと増加させるために、現実世界オブジェクトの第2のセットを表示することを支援すべく、デバイスの視野範囲を増大させてもよい。前記第1の個数が所定の閾値を下回るという判断に基づいて、前記第1の個数は、前記所定の閾値に対応した第2の個数へと増加させられてもよい。前記視野範囲は、ある距離および角度に対応する前記デバイスの視野を含んでもよい。
別の例示的実施形態では、拡張現実環境において、一定のレベルの情報を提供するコンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コンピュータ読み取り可能なプログラムコード部分を格納する、少なくとも一つのコンピュータ読み取り可能な記憶媒体を備える。前記コンピュータ読み取り可能なプログラムコード部分は、現在表示されている現実世界オブジェクトの第1のセットに関連するPOIの第1の個数を決定するプログラムコード命令を含んでもよい。前記現実世界オブジェクトの第1のセットは、少なくとも一つの現在位置に関連してもよい。前記プログラムコード命令はさらに、前記第1の個数が所定の閾値を下回るかどうかを判断してもよい。前記プログラムコード命令はさらに、POIの個数を、前記第1の個数から、前記所定の閾値に対応した第2の個数へと増加させるために、現実世界オブジェクトの第2のセットを表示することを支援すべく、デバイスの視野範囲を増大させてもよい。前記第1の個数が所定の閾値を下回るという判断に基づいて、前記第1の個数は、前記所定の閾値に対応した第2の個数へと増加させられてもよい。前記視野範囲は、ある距離および角度に対応する前記デバイスの視野を含んでもよい。
実施形態によっては、本発明は、デバイスの現在位置についてのバーチャル情報を得るために範囲や距離を変えることに時間を使う代わりに、現実世界のオブジェクトに重ね合わせられてもよいバーチャル情報に集中することができてもよいため、優れたユーザ体験を提供しうる。その結果、デバイスのユーザは、そのデバイスを通じてアクセス可能なサービスやアプリケーションに関して、改善された機能を楽しむことが可能になりうる。
本発明のいくつかの例示的実施形態を一般的な用語で説明してきたが、ここで添付の図面を参照する。これらの図面は正しいスケールで描かれているとは限らないことに注意されたい。
現在位置に対して拡張現実アプリケーションにより提供されるバーチャル情報の表示の例を示す。
現在位置の拡張現実においてバーチャル情報が多すぎる場合の表示の例を示す。
本発明のある例示的実施形態に従うシステムの概要を示すブロックダイヤグラムである。
本発明のある例示的実施形態に従う、拡張現実において一定のレベルの情報を提供する装置の概要を示すブロックダイヤグラムである。
本発明の例示的実施形態に従い、デバイスの視野距離と、現在位置において利用可能なバーチャル情報の距離との相互関係を例示した図である。
ある例示的実施形態に従うシステムの概要を示すブロックダイヤグラムである。
本発明のある例示的実施形態に従うネットワーク要素の概要を示すブロックダイヤグラムである。
本発明のある例示的実施形態に従い、拡張現実において一定のレベルの情報を提供するためのフローチャートを描く。
詳細な説明
以下、本発明のいくつかの実施形態を、添付図面を参照しつつ、より詳細に説明する。ただし、本発明の全ての実施形態が紹介されるわけではない。事実、本発明の様々な実施形態が、多くの異なる形態で実施されることが可能であり、本発明の実施形態がここで説明されるものに限定されると受け取られるべきではない。本明細書及び図面において、同じような符号は同様の要素を表す。本明細書において、"データ"や"コンテンツ"、"情報"のような用語は、本発明の実施形態に従って送信されたり受信されたり、または格納されたりすることができるデータを表すために、言い換え可能に使用されている場合がある。さらに、本明細書で使用される"例示的"との語句は、何らかの定性的評価を表現するために使用されているわけではなく、ただ例を示すことを表現するために使用されているにすぎない。したがって、これらいかなる用語の使用も、本発明の実施形態の思想や範囲を制限するものとして捉えられるべきではない。
さらに、本明細書において、"回路(circuitry)"との語句は、(a)ハードウェアのみにより実装された回路、例えばアナログ回路やデジタル回路による実装や、(b)回路とコンピュータプログラムとの組み合わせを表すことができる。このコンピュータプログラムは一つ又は複数のコンピュータ読み取り可能なメモリに格納されるソフトウェアやファームウェア命令を含み、それらは、本明細書で説明される一つ又は複数の機能を装置に実行させるために協働する。また本明細書における"回路(circuitry)"との語句は、(c)マイクロプロセッサやマイクロプロセッサの一部のような回路を表してもよい。これらマイクロプロセッサ等は、ソフトウェアやファームウェアが物理的に存在しなかったとしても、動作するためにはソフトウェアやファームウェアを必要とする要素である。さらなる例として、本明細書で使用される"回路(circuitry)"との語句は、一つ又は複数のプロセッサや一つ又は複数のプロセッサの部分、及び付随するソフトウェアファームウェアを含む実装を表してもよい。さらに別の例として、携帯電話のためのベースバンド集積回路やアプリケーションプロセッサ集積回路を表してもよく、また、サーバやセルラネットワークデバイス、その他のネットワークデバイス、その他のコンピューティング装置における同様の集積回路を表してもよい。
本明細書で定義される"コンピュータ読み取り可能な記憶媒体"は、非一時的で物理的又は触れることのできる記憶媒体であり、例えば揮発性又は非揮発性のメモリデバイスであり、電磁波信号を表す"コンピュータ読み取り可能な伝送媒体"の形態とは区別可能なものである。
また、本明細書で使用される"レイヤ","情報レイヤ","情報のレイヤ"は、ディスプレイに表示される情報のレイヤであることができる。情報のレイヤは、一つ又は複数のコンテンツプロバイダによって提供されてもよく、また、バーチャルオブジェクトなどのバーチャル情報のアイテムに対応していてもよい。ここで、情報のレイヤは、個々のグラフィック要素が情報を特定するバーチャルオブジェクトのレイヤであることができる(ただしそのようなレイヤに限られるわけではない)。バーチャルオブジェクトは、例えば、アイコンや絵文字などのグラフィック要素であってもよい。情報レイヤ情報は、例えば地理的座標やその他の適当なデータのような位置情報に関連付けられたものであってもよい。ここで地理的座標は、例えば緯度や経度、高度のような座標であってもよい。例えば、バーチャル情報のアイテムは、デバイスの現在位置またはデバイスに現在表示されている現実世界のオブジェクトの現在位置を特定する位置情報の受信に関係していてもよい。ある実施形態において、情報のレイヤは、重ね合わせられた同じものの部分として一緒に表示されるべきもののような形で関連付けられる情報であってもよい。異なるレイヤは異なるコンテンツプロバイダによって提供されてもよく、また、異なるバーチャルオブジェクトに対応していてもよい。
限定のためではなく例示の目的で、情報のレイヤは、コンテンツプロバイダによって提供される情報に関連付けられるアイコンのレイヤであってもよい。ここで例えば、コンテンツプロバイダはWikipediaのウェブサイトであり、情報はWikipediaの記事であり、アイコンはWikipediaのアイコンであることができる。例えば、情報レイヤ7は、例えば図1に描かれるWikipediaのようなコンテンツプロバイダによって提供されてもよい。情報レイヤ7は、本明細書において、"Wikipedia情報レイヤ7"と称されることがある。さらに図1は、Twitterのようなコンテンツプロバイダによって提供される情報レイヤ3を表示している。情報レイヤ3は、本明細書において、"Twitter情報レイヤ3"と称されることがある。情報レイヤ3,7は、地理的座標に対応する追加の情報に関連するバーチャルオブジェクト(例えばアイコンなど)に対応してもよい。ここで当該地理的座標は、図1の現実世界オブジェクト(例えば現実世界オブジェクト5)に対応する。
本明細書で"視野距離(view distance)"や"視野範囲(view range"との語句は、例えばカメラモジュール36などのデバイスが、ディスプレイ(例えばディスプレイのカメラビュー)に表示されうる情報(例えばバーチャル情報)を見る(view)ことができてもよい距離を表してもよい。限定のためではなく例示の目的のために、視野距離を500メートルに設定すると、ユーザの装置又はデバイスから520メートル離れたところに位置する情報(例えばバーチャル情報)は、ディスプレイに表示されないとされてもよい。これに対して、当該装置又はデバイスから490メートルの距離にある情報は、ディスプレイに表示されてもよい。
本明細書で"一定の情報レベル(constant information level)"や"一定のレベルの情報(constant level of information)"、または同様の語句は、ディスプレイに提供される情報要素や情報アイテム(例えばアイコン)、POIの数が一定であること、又は一定のレベルに維持されることを確保するようなやり方を表すために、言い換え可能に使用されても良い。例えば、任意の時間においてディスプレイに表示される情報要素の数の閾値を35とする、のようなやり方を表してもよい。ある例示的実施形態は、一定の情報レベルを、ある位置に対して表示される情報の数に部分的に基づいて視野距離を変えることによって、達成してもよい。ある例示的実施形態では、一定の情報レベルは範囲を有する。すなわち、POIの数がある所定の値に特に等しいかどうかに関わらず、POIの数がある範囲に収まることを意味する。別の例示的実施形態において、状況が許す数にPOIの数が近い場合、例えば現実世界環境の領域において十分なPOIが存在しない場合は、POIの数が技術的に閾値とは等しくなくとも、共通の情報レベルが到達されてもよい。
さらに、本明細書で使用される、"カメラの視線角度(view angle)"や"カメラビューフィールド"は、ディスプレイに表示されるカメラのアングルを表してもよい。"情報ポイント"や"興味のあるポイント(POI)"、"拡張現実(AR)情報のアイテム"、"AR情報"、"バーチャル情報"、"バーチャル情報のアイテム"は、何らかの情報を含むか何らかの情報に関連付けられる、空間の中のポイント表すものとして、互いに言い換え可能に使用される場合がある。ここで空間とは、例えば緯度や経度、高度のような座標であることができ、何らかの情報とは、例えばテキストやオーディオデータ、画像や写真、ビデオのようなメディアコンテンツであることができる。情報ポイントやPOI、AR情報のアイテム、AR情報、バーチャル情報、バーチャル情報のアイテムは、例えばアイコンや絵文字のようなバーチャルオブジェクト(例えばグラフィック要素)によって、ディスプレイ上でマークされてもよい。
ある例示的実施形態では、重ね合わせ、オブジェクトの仮想的な除去、またはあるオブジェクトの他のものへの置換によるコンテンツの追加は、例えばバーチャルオブジェクトなどのバーチャルコンテンツを、現実世界環境のライブのイメージでビデオに挿入することによって達成されてもよい。
図3は、例示的な通信環境の中に移動端末10のようなデバイスが示されている、一般的なシステムを説明するための図である。図3に描かれるように、本発明の例示的実施形態に従うシステムの実施例は、例えば移動端末10のような第1の通信デバイスと、第2の通信デバイス20とを有してもよく、これらはネットワーク30を介して互いに通信可能である。本発明の実施形態によっては、一つ又は複数のさらなる通信デバイスを含んでいてもよい。それらのうちの一つは第3の通信デバイス25として図3に描かれている。実施形態によっては、本発明の実施形態を用いる全てのシステムが、ここで図示される全てのデバイスを含んでいるわけではない。携帯端末10や、第2及び第3の通信デバイス20,25の実施形態が、本願において図示されまた説明されるが、それは例示目的のためであり、他のタイプの端末が、本発明の実施形態を容易に利用可能である。このようなタイプ端末とは、例えばPDA、ポケットベル、携帯テレビ、移動電話、ゲーム機、ラップトップコンピュータ、カメラ、ビデオレコーダ、オーディオ・ビデオプレーヤ、ラジオ、GPS(全地球測位システム)デバイス、Bluetooth(登録商標)ヘッドセット、USBデバイスであることができ、またこれらの組合せが、その他のタイプの音声及びテキストコミュニケーションシステムであってもよい。また、移動タイプではないデバイス、例えばサーバやパーソナルコンピュータも、本発明の実施形態を容易に利用可能である。
ネットワーク30は、対応する有線及び/又は無線インタフェースを介して互いに通信している、様々に異なるノードやデバイス、機能の集合である。ノードの一例は、第2及び第3の通信デバイス20,25である。このように、図3は、システムのある要素の大まかな見方の例であると理解されるべきものであって、システム又はネットワーク30の包括的又は詳細な図であるとは理解されるべきではない。実施形態によっては、ネットワーク30は、第1世代(1G)、第2世代(2G)、2.5G、第3世代(3G)、3.5G、3.9G,第4世代(4G)の移動通信プロトコル、ロング・ターム・エボリューション(LTE)、LET−Advanced(LTE−A)及び/又は同様のもののうちの一つ又は複数のものに従う通信をサポートする能力を有する。なお必ずそのような能力を有さなければならないと言うわけではない。実施形態によっては、ネットワーク30は、ポイント・ツー・ポイント(P2P)ネットワークである。
移動端末10や第2,第3の通信デバイス20,25のような、一つ又は複数の通信デバイスは、ネットワーク30を介して互いに通信し、それぞれ一つ又は複数のアンテナを、基地局との信号の送受信のために備えている。基地局は、例えば、一つ又は複数のセルラネットワークや移動ネットワークの一部をなすものであってもよい。基地局はまた、ローカルエリアネットワーク(LAN)や都市規模ネットワーク(MAN)、インターネットなどを広域ネットワーク(WAN)などのデータネットワークの一部をなすものであってもよい。同様に、パーソナルコンピュータやサーバコンピュータ、また同様のもののような処理要素のような他のデバイスが、ネットワーク30を介して、移動端末10や第2,第3の通信デバイス20,25に接続されていてもよい。移動端末10や第2,第3の通信デバイス20,25、また他のデバイスを、直接的又は間接的にネットワーク30に接続することにより、移動端末10や第2,第3の通信デバイス20,25は、互いに又は他のデバイスと通信することが可能になる。この通信は、様々な通信プロトコルに従って行うことができる。そのようなプロトコルには、ハイパーテキスト・トランスファー・プロトコル(HTTP)や同様のものがある。それによって、移動端末10や第2,第3の通信デバイス20,25との間で様々な通信や機能を実行することができる。
さらに、図3には描かれていないが、移動端末10や第2,第3の通信デバイス20,25は、例えばRFや近距離無線通信(NFC)、Bluetooth(BT)、赤外線(IR)などの、様々な有線又は無線通信技術によって通信してもよい。このような通信技術には、ローカルエリアネットワーク(LAN)や無線LAN(WLAN)、WiMAX、WiFi,ウルトラワイドバンド(UWB)、Wibree技術や、それらと同様のものが含まれる。このように、移動端末10や第2,第3の通信デバイス20,25は、非常に多くの様々なアクセス機構によって、ネットワーク30及び互いに対して通信可能に構成されうる。例えば、W−CDMAやCDMA2000、GSM、GPRSといったものや同様のものがサポートされることができ、また、WLANやWiMAXといったものや同様のもののような無線アクセス技術がサポートされてもよく、デジタル加入者回線(DSL)やケーブルモデム、イーサネットといったものや同様のもののような有線アクセス技術がサポートされてもよい。
ある政治的実施形態では、第1の通信デバイス(例えば移動端末10)は、移動通信デバイスであり、例えば、無線電話やその他のデバイス、例えば、PDAや移動コンピューティング装置、カメラ、ビデオレコーダ、オーディオ又はビデオプレーヤ、測位装置、ゲーム機、テレビ、ラジオといった、様々なデバイスであることができ、また、これらの組合せであることができる。第2の通信デバイス20や第3通信デバイス25は、移動通信デバイスや固定的な通信デバイスであることができる。一例では、第2の通信デバイス20や第3通信デバイス25は、サーバやリモートコンピュータ、端末などであり、例えば、パーソナルコンピュータ(PC)やラップトップコンピュータのようなものであってもよい。
ある実施形態において、ネットワーク30は、スマートスペースであるように構成されたアドホックネットワークや分散ネットワークであることができる。したがって、ネットワーク30に出入りするデバイスやネットワーク30デバイスは、その動作を、他のデバイスの出入りに基づいて調節する機能を有してもよく、それによって、デバイスやノードの増減やそれらの応答可能性を考慮するようにされてもよい。実施形態によっては、ネットワーク30と通信を行なう一つ又は複数のデバイスは、図4のCIL(Constant Information Level;一定の情報レベル)モジュール78のようなCILモジュールを採用してもよい。CILモジュールは、ディスプレイに一定のレベルでいくつかの情報要素を提供することを可能にしてもよい。CILモジュールは、位置に対して表示される情報の量に基づいてview distanceを変化させることに部分的に基づいて、情報要素を一定のレベルに維持してもよい。
実施形態によっては、移動端末10や第2・第3の通信デバイス20・25は、CILモジュールを有するように構成される。しかし、別の実施形態においては、移動端末10はCILモジュールを有するが、第2・第3の通信デバイス20・25はサーバ又は同様のネットワーク要素であり、互いに及び/又は移動端末10と通信するように構成される。例えば、ある例示的実施形態では、第2の通信デバイス20は特定の情報ソースやサービスに関連した専用のサーバ又はサーババンクであり、又は第2の通信デバイス20は、一つ又は複数の機能又はサーバに関連するバックエンドサーバであってもよい。ここで、上記のサービスは、例えば、ローカライズされた拡張現実/バーチャルリアリティサービスや、地図サービス、検索サービス、メディア提供サービスなどでありうる。このように、第2の通信デバイス20は、複数のことのサービスや情報のソースのためのホストである可能性があるものとして表されてもよい。実施形態によっては、第2の通信デバイス20の機能は、ハードウェア及び/又はソフトウェア要素によって提供され、これらは、通信デバイスのユーザで情報を提供するための既知の技術にしたがって動作するように構成される。しかし、第2の通信デバイス20によって提供される機能の少なくともいくつかは、本発明の例示的実施形態に従って提供される情報である。
実施形態によっては、第2の通信デバイス20は、ローカライズされた拡張現実/バーチャルリアリティサービスを提供する装置をホストしてもよい。及び/又は第2の通信デバイスは、本発明を実施するにあたって、情報(例えばテキストや画像、ビデオ、オーディオデータなど)をデバイス(例えば移動端末10)に提供する提供サービスをホストしてもよい。ローカライズされた拡張現実/バーチャルリアリティサービスは、デバイス(例えば移動端末10)のカメラビューに表示された環境や、環境の現実のオブジェクトについてのバーチャル情報のアイテムを提供してもよい。
第3通信デバイス25もまた、多くの機能や、様々な情報ソースやサービスへの接続を提供するサーバであってもよい。そのようなサービスには、例えば、ローカライズされたバーチャルリアリティ/拡張現実サービスや、地図サービス、検索サービス、メディア提供サービスなどがある。ここで第3の通信デバイス25は、バーチャルリアリティ/拡張現実情報を第2の通信デバイス20に提供する装置をホストしてもよい。それによって第2の通信デバイスは、本発明のある実施形態を実施するにあたって、デバイス(例えば移動端末10)に、バーチャルリアリティ/拡張現実情報を提供することができるようになってもよい。第3の通信デバイス25によって第2の通信デバイス20に提供されるバーチャルリアリティ/拡張現実情報は、デバイス(例えば移動端末10)のカメラビューに表示された環境や、環境の現実のオブジェクトについてのバーチャル情報のアイテムを提供してもよい。
実施形態によっては、携帯電話10が、それ自身で、例示的実施形態を実行する。実施形態によっては、第2・第3の通信デバイス20・25が、他のデバイス(例えば移動端末10)における例示的実施形態の実行を、例えば拡張現実情報/バーチャルリアリティ情報の提供などによって、手助けする。さらに別の実施形態では、第2・第3の通信デバイス20・25は全く含められなくともよい。
図4は、本発明の例示的実施形態に従い、拡張現実において一定のレベルの情報を提供する装置の概要を説明するブロックダイヤグラムである。以下、本発明のある例示的実施形態を、図4を参照して説明する。ここでは、装置50のある要素が示されている。図4の装置50は、例えば、移動端末10に利用されてもよい。及び/又は、第2の通信デバイス20や第3の通信デバイス25に利用されてもよい。又は、装置50は、ネットワーク30のネットワークデバイスとして具現化されてもよい。しかしながら装置50は、他の様々なデバイスとして具現化されてもよく、それは移動デバイスでも固定的なデバイスでもよく、例えば、本明細書の前の方で挙げられた如何なるデバイスとして具現化されてもよい。ある場合では、複数のデバイスの組み合わせにおいて、実施形態が用いられてもよい。このように、本発明の実施形態は、その全てが単一のデバイス(例えば移動端末10)において具現化されてもよく、また、複数のデバイスによる分散した形態で(例えばP2Pネットワークにおける一つ又は複数のデバイスの上で)具現化されてもよく、また、クライアントサーバの関係を有する複数のデバイスによって具現化されてもよい。さらに、以下に説明されるデバイスや要素は、必須的なものではない場合があり、実施形態によってはそれらは省略されてもよい。
図4を参照すると、装置50はプロセッサ70やユーザインタフェース67、通信インタフェース74、メモリデバイス76、ディスプレイ85、方位モジュール71.CIL(一定の情報レベル)モジュール78、測位センサ72、カメラモジュール36、ARリポジトリ84を備えてもよく、又はそうでなければ、これらの要素と通信してもない。メモリデバイス76は、例えば、揮発性又は非揮発性のメモリを含んでもよい。メモリ76は、例えばプロセッサ70等のコンピューティング装置のような機械によって呼び出されることが可能なデータ(例えばビット)を格納するように構成されるゲートを備える、電子的な記憶デバイス(例えばコンピュータ読み取り可能な記憶媒体)であってもよい。例示的実施形態によっては、メモリデバイス76は、触ることができるメモリデバイスであり、一時的なものではない。メモリデバイス76は、情報やデータ、ファイル、アプリケーション、命令といったものや同様のものを格納するように構成され、それによって、装置が、本発明の例示的実施形態に従う様々な機能を遂行しうるようにされている。メモリデバイス76は、例えば、プロセッサ70によって処理される入力データをバッファするように構成されることができる。さらに、又は代替的に、メモリデバイス76は、プロセッサ70によって実行される命令を格納するように構成されることができる。さらに別の代替例では、メモリデバイス76は、(例えば写真やビデオなどの)メディアコンテンツや情報を格納するデータベースのうちの一つであってもよい。
メモリデバイス76は、ジオコードによって符号化された情報であって、例えば緯度や経度、高度といった、現実世界のオブジェクトの座標に対応する位置情報に関連付けられる情報を格納してもよい。ジオコードにより符号化された情報は、プロセッサ70及び/又はCILモジュール78によって評価されてもよく、ジオコードにより符号化された情報に関連するデータが、ディスプレイのカメラビューに提供されてもよい。実施形態によっては、プロセッサ70及び/又はCILモジュール78は、ディスプレイのカメラビューに表示された現実世界のオブジェクトの位置が、ジオコードにより符号化された情報の位置情報に一致するという判断に応じて、ジオコードにより符号化された情報に関連する情報をディスプレイのカメラビューに提供してもよい。
プロセッサ70は、様々に異なる方法により具現化されることができる。例えばプロセッサ70は、次の様々な処理手段の一つ又は複数によって具現化されることができる。このような手段には、コプロセッサやマイクロプロセッサ、コントローラ、デジタルシグナルプロセッサ(DSP)、DSPを有する又は有さない処理回路、その他の処理デバイスが含まれる。その処理デバイスには、ASIC(特定用途向け集積回路)やFPGA、マイクロコントローラユニット(MCU)、ハードウェアアクセラレータ、特定用途向けコンピュータチップ、又は同様の集積回路が含まれる。歴史的な実施形態によっては、プロセッサ70は、メモリデバイス76又はプロセッサ70がアクセス可能なメモリデバイスに格納された命令を実行するように構成される。このように、ハードウェアにより構成されるかソフトウェア的な方法で構成されるか、又はこれらの組み合わせによって構成されるかに関わらず、プロセッサ70は、本発明の実施形態に従う処理を実行するように構成されることもでき、また、そのような処理を実行することが可能な要素(例えば回路に物理的に具現化された要素)を表してもよい。したがって、例えば、プロセッサ70が、ASICやFPGAのようなもので具現化されるとき、プロセッサ70は、本明細書で説明される処理を遂行するために特別に構成されたハードウェアでありうる。又は、別の実施例では、プロセッサ70がソフトウェア命令の実行要素として具現化される場合は、そのような命令は、実行されることによって本明細書で説明されるアルゴリズムや処理をプロセッサ70に遂行させるように特別に構成されてもよい。しかしながら、ある場合においては、プロセッサ70は、移動端末やネットワークデバイスなどの特定のデバイスのプロセッサであり、本明細書で説明されるアルゴリズムや処理を遂行するための命令によって構成することにより、本発明の実施形態を用いるように適合されたプロセッサであってもよい。プロセッサ70は、とりわけ、プロセッサ70の処理をサポートするように構成される、クロックや論理演算ユニット(ALU)、ロジックゲートを備える。
実施形態によっては、プロセッサ70は、ブラウザや拡張現実(AR)ブラウザ、ウェブブラウザや、同様のもののような接続プログラムを動作させるように構成されてもいる。ここで、接続プログラムは、装置50がウェブコンテンツを送受信することを可能にしてもよい。このようなウェブコンテンツには、例えば、位置ベースのコンテンツや他の適当なコンテンツであることができ、例えば、ワイヤレスアプリケーションプロトコル(WAP)に従うコンテンツであってもよい。ARブラウザは、物理的な現実世界環境のビューの中のオブジェクトを情報を用いて探索することを補助するユーザインタフェースであってもよいことは注意すべきである。そのような情報は、例えば、一つまたは複数の情報レイヤであってもよく、そのような情報レイヤは、周囲の現実世界のオブジェクトについてのデータを提供することにより、何らかの形で付加、拡張または変化させられた情報レイヤであってもよい。情報レイヤは、現実世界のビューの前面に表示されてもよい(必ずしもそうでなくともよい)。ARブラウザは、プロセッサ70によって、一つまたは複数の拡張現実アプリケーションを実行することを助けるために使用されてもよい。プロセッサ70は又、ディスプレイ85と通信してもよく、データやコンテンツ(例えばメディアコンテンツ)又は同様のもののような適当な情報を描くようにディスプレイに指示してもよいことは、述べておく必要があるだろう。
一方、通信インタフェース74は、装置50と通信している他のデバイスやネットワークとの間でデータを送受信しうるように構成されるハードウェアやコンピュータプログラム製品、またはハードウェアとソフトウェアの組み合わせとして具現化されるデバイスや回路のような、どのような手段であってもよい。ここで通信インタフェース74は、例えば、一つまたは複数のアンテナや、無線通信ネットワーク(例えばネットワーク30)との通信を可能とするようなサポートハードウェアやソフトウェアを備えてもよい。固定ネットワークの環境においては、通信インタフェース74は、代替的にまたは一緒に有線通信をサポートしてもよい。ここで通信インタフェース74は、通信モデムや、ケーブルによる通信をサポートするその他のハードウェアやソフトウェア、デジタル加入者回線(DSL)、USB、イーサネットまたは他の通信機構のいずれか一つ以上を含んでいてもよい。
ユーザインタフェース67は、ユーザインタフェース67でなされるユーザ入力を表す情報を受け取ったり、可聴的・視覚的・機械的・またはその他の出力をユーザに提供したりするために、プロセッサ70と通信する。ここでユーザインタフェース67は、例えば、キーボードやマウス、ジョイスティック、ディスプレイ、タッチスクリーン、マイクロホン、スピーカ、またはその他の入力/出力機構を含んでもよい。装置がサーバやその他のネットワークデバイスとして具現化される例示的実施形態によっては、ユーザインタフェース67は制限されたものであったり、離れたところに設けられていたり、取り除かれていたりしてもよい。プロセッサ70は、ユーザインタフェースの一つまたは複数の要素の少なくとも何らかの機能を制御するように構成されるユーザインタフェース回路を有していてもよい。そのような要素には、例えば、スピーカやリンガ、マイクロホン、ディスプレイ、及びそれらと同様のものの、一つ以上がある。プロセッサ70や、プロセッサ70有するユーザインタフェース回路は、プロセッサ70がアクセス可能なメモリ(例えばメモリデバイス706など)に格納されるコンピュータプログラム命令(例えばソフトウェアやファームウェア)を通じてユーザインタフェースの一つまたは複数の要素の一つまたは複数の機能を制御するように構成されてもよい。
装置50は、カメラモジュール36のようなメディアキャプチャ要素を含む。カメラモジュール36はプロセッサ70やディスプレイ85と通信するカメラモジュールやビデオモジュール、オーディオモジュールのいずれか一つ以上を含んでもよい。カメラモジュール36は、保存、表示、または送信するために、画像やビデオ、オーディオのいずれか一つ以上をキャプチャする、如何なる手段であってもよい。例えばカメラモジュールは、キャプチャしたイメージからデジタル画像ファイルを形成する能力を有するデジタルカメラを含んでもよい。ここでカメラモジュール36は、レンズやその他の光学部品のような全てのハードウェアと、キャプチャされたイメージからデジタル画像ファイルを形成するために必要なソフトウェアを含んでもよい。別の実施例では、カメラモジュール36は、イメージを見るために必要なハードウェアしか有しておらず、メモリデバイス76などの、装置50のメモリデバイスが、キャプチャされたイメージからデジタル画像ファイルを形成するために必要なソフトウェアの形態で、プロセッサに実行されるための命令を格納していてもよい。例示的実施形態によっては、カメラモジュール36は、プロセッサ70が画像データを処理することを補助するコプロセッサや、画像データを圧縮・伸長するためのエンコーダ及び/又はデコーダのような処理要素をさらに含んでいてもよい。エンコーダ及び/又はデコーダは、JPEG標準フォーマットやその他の同様のフォーマットに従ってエンコーダやデコードを行ってもよい。ある例では、カメラモジュール36はイメージデータをリアルタイムでディスプレイ85に提供してもよい。ここでカメラモジュール36は、リアルタイムのイメージデータや静止画像データ、動画データ、又は他の適当なデータを表示すべく、ディスプレイ85にカメラビューを実装したりその補助をしたりしてもよい。さらに、実施形態によっては、ディスプレイ85は装置のある側面に設けられてもよく、カメラモジュール36は、ディスプレイ85に関して装置50の反対側の側面に設けられるレンズを備えてもよい。それによって、装置50の一方の側のイメージをキャプチャすることができ、装置50の他方の側にいるユーザに、当該イメージの現在のビューを提示することができる。
さらに装置50、測位センサ72を備えていてもよい。測位センサ72は、例えば、全地球測位システム(GPS)センサやアシスト型GPSセンサ、Bluetooth(BT)−GPSモジュール、その他のGPS又は測位受信機や同様のものを含んでいてもよい。ある実施例においては、測位センサ72は歩数計又は慣性センサを備えていてもよい。ここで測位センサ72は、装置50の位置を決定する能力を有していてもよい。決定される位置は、例えば、装置50の経度や緯度の方向や、目的地や出発地のような基準値からの相対的な位置のようなものであってもよい。測位センサ72はまた、装置50の高度を決定する能力を有していてもよく、装置50の位置を決定するために高度情報を使用してもよい。測位センサ72からの情報は、装置50のメモリ又はその他のメモリデバイスに送信され、位置の履歴や位置情報として格納される。
実施形態によっては、装置50はさらに、方位モジュール71を備える(又はそれと通信する)。方位モジュール71は、装置50又は装置50のカメラモジュール36の視野の方位を決定するように構成される、ハードウェアやハードウェア及びソフトウェアの組み合わせとして具現化されるデバイスや回路などの如何なる手段であってもよい。
方位モジュール71は、ある基準に対する装置50の方位を決定するように構成されてもよい。ある例において、この基準は、北や他の基本方位などの特定の方角であってもよい。別の基準が用いられてもよい。ある実施例では、方位モジュール71は、装置50が向いている方角や、カメラモジュール36のレンズがポイントしている方向を決定するように構成される、コンパスやその他の方位センサを備えてもよい。方角や向きは、基準からオフセットした角度(例えば0から360度)の観点で決定されてもよい。ある例においては基準は固定されている。例えば固定された基準の方角がある。別の例では、基準は場合に応じた基準(reference of opportunity)であり、例えば、カメラモジュールでキャプチャされたイメージ中で最も目を引く特徴や、または単純に初めの方角などであることができる。
実施形態によっては、カメラモジュール36の視野の方位は、装置50の現在の方位を決定するために、基準と比較されてもよい。例えば、与えられた初めの画像について、特定の特徴が基準として選択されてもよい。その後、視野が変わるたび、方位モジュール71は、基準に対する速度や動きの量に基づいて、カメラモジュール36の視野の方位を決定するように構成されてもよい。ある実施形態では、一つの平面(例えば地球の水平面)に対してのみ方位が決定されてもよいが、別の実施形態では、仰角(elevation)や軸(axial)の観点からの方位決定を含んでもよい。このように、例えば、方位モジュール71は、装置50の傾斜角(pitch)及び/又はヨー(yaw)を決定するように構成されてもよい。なお、例えば、傾斜角(pitch)は仰角を表し、ヨーは軸の周りの回転を表してもよい。このように、例えば、方位モジュール71は、装置50(又はカメラモジュール36の視野)の方位を決定するデバイスやその他の手段を備えてもよい。この方位は、方位情報と称されることがある。実施形態によって、方位モジュール71は電子コンパスや水平センサ、重力センサ、加速度計、ジャイロスコープ、磁力計、及び/又は同様のものや、方位情報を決定するのに有用でありうる如何なるセンサを含んでもよい。
実施形態よっては、プロセッサ70は、CILモジュールとして具現化されてもよく、またはそれを含むように、またはそれを制御するように、具現化されてもよい。CILモジュール78は、本明細書で説明されるような、CILモジュール78の対応する機能をデバイスや回路に遂行させるように構成される、(ソフトウェアに従って制御される)デバイスや回路のような手段であってもよく、またはハードウェアやハードウェア及びソフトウェアの組み合わせとして具現化されてもよい。例えば、ソフトウェアの制御下で動作するプロセッサ70や、本明細書で説明される処理を実行するように特別に構成されたASICやFPGAなどとして構成されたプロセッサ70や、これらの組み合わせとして具現化されてもよい。ソフトウェアが用いられる実施例では、当該ソフトウェアを実行するデバイスまたは回路(その一例はプロセッサ70であるが)は、上記のような手段に関連する構成を形成する。
ある実施形態において、ユーザがカメラモジュール36を現実世界の光景に向け、ライブのイメージやビデオをキャプチャする時、CILモジュール78は、ディスプレイ85のカメラビューにおいてバーチャル情報が表示されうる距離や範囲を自動的に調整してもよい。CLIモジュールによって実行される距離/範囲の調整は、カメラモジュール36によってキャプチャされた現実世界のオブジェクトについての情報レイヤが提供するバーチャル情報(例えばバーチャルオブジェクト)の数や密度(例えば、Twitterなどの様々なサービスプロバイダにより提供されるバーチャルオブジェクト)を解析することにより行われてもよい。ここで、バーチャル情報の密度や量が所定の閾値(例えばPOIの数が30個)を超えるとCILモジュールが判断する方向に、装置50のユーザがカメラモジュール36を向けると、CILモジュール78は、自動的に、カメラモジュールの範囲や視野距離を減少させる。カメラモジュール36の視野距離を減少させることは、カメラモジュール36によりキャプチャされる現実世界のオブジェクトの範囲が小さくなるので、ディスプレイ85のカメラビューに表示されうるバーチャル情報の量を減少させうる。ある実施形態では、CILモジュール78は、カメラモジュール36に、カメラモジュールによってキャプチャされるイメージの角度範囲を調節させてもよい。この調節には、視野範囲の変更を伴ってもよいし伴わなくてもよい。例えば、ある地理的領域に存在するPOIの数が多すぎる場合、CILモジュール78は、POIの数の少なくするために、角度を小さくしてもよい。
実施形態によって、例えばPOIなどバーチャル情報アイテムの数について所定の閾値は、適当などのような数であってもよい。バーチャル情報の密度又は量が所定の閾値を超えたとCILモジュール78が判断する時、CILモジュール78は、カメラモジュール36によってキャプチャされる現実世界のオブジェクトに対応するバーチャル情報(例えばバーチャルオブジェクト)のアイテムの量が、所定の閾値(例えばPOIが30個)に等しくなりうるように、カメラモジュール36の視野距離を減少(例えば500メートルに)させてもよい。
一方、バーチャル情報の密度又は量が所定の閾値よりも低いとCILモジュール78が判断する方角に、装置50のユーザがカメラモジュール36を向ける場合、CILモジュール78は、カメラモジュール36の視野距離又は範囲を増大(例えば550メートルに)させてもよい。カメラモジュール36の視野距離を増加させることは、カメラモジュール36によってキャプチャされる現実世界のオブジェクトの範囲が増えるため、ディスプレイ85のカメラビューに表示されうるバーチャル情報の量を増加させるかもしれない。ある実施形態において、CILモジュール78が、バーチャル情報の密度又は量が所定の閾値を下回っていると判断する時、CILモジュール78は、カメラモジュール36によってキャプチャされる現実世界のオブジェクトに対応するバーチャル情報(例えばバーチャルオブジェクト)のアイテムの量が、所定の閾値(例えばPOIの数が30個)に等しくなりうるように、カメラモジュール36の視野距離を増加させてもよい。CILモジュール78は、カメラモジュール36の視野距離を調節することにより、ディスプレイ85に一定のレベルのバーチャル情報を提供する能力を有する。CILモジュール78は、バーチャル情報のアイテムの数がはじめは所定の閾値を超えているような場合も、又はそれに届かないような場合も、所定の閾値に等しいバーチャル情報のアイテムが提供されるようにする。この点につき、カメラモジュール36によって初めにキャプチャされた現実世界のオブジェクトに対応するバーチャル上のアイテムの数に関わらず、装置50がCILモジュール78によってディスプレイ85に提供される情報の量は、同じ(例えばPOIが30個)であってもよい。実施形態によっては、CILモジュール78に許される調節の範囲に下限や上限が設けられてもよい。なぜなら、そうしなければ、結果のイメージが、認識するには近すぎるが遠すぎてしまうかもしれないからである。さらに、ユーザが手動で視野範囲を調節する場合は(それは手動調節の設定などを選択することにより行われる)、その調節結果は、CILモジュールによる視野範囲の調節に優先するとしてもよい。
このように、カメラモジュール36によってキャプチャされた、現実世界の対応するオブジェクトに基づいて、バーチャル情報のアイテムの密度が高い(例えば所定の閾値を超える)とCILモジュール78が判断する時、CILモジュール78が、カメラモジュール36の視野距離を減少させてもよい。カメラモジュール36の視野距離を減少させることは、ユーザが、近い距離にある現実世界オブジェクトに関連するバーチャル情報に注意を向けることを可能にするだろう。反対に、カメラモジュール36によってキャプチャされた現実世界の対応するオブジェクトに基づいて、バーチャル情報のアイテムの密度が低い(例えば所定の閾値を下回る)とCILモジュール78が判断する時、CILモジュール78は、カメラモジュール36の視野距離を増大させてもよい。カメラモジュール36の視野距離を増大させてもよい。カメラモジュール36の視野距離を増大させることは、ユーザが、通り距離にある現実世界オブジェクトに関連するバーチャル情報に注意を向けることを可能にするだろう。
CILモジュール78が呼び出す、(本明細書においてAR情報とも呼ばれる)バーチャルリアリティ情報又は拡張現実情報は、現在位置及び方位情報の両方との関係を有するARリポジトリ84に格納されているものであってもよい。AR情報は、一つ又は複数のPOIに関連してもよい。AR情報は、例えば建物やランドマークなどの現実世界のオブジェクトの位置情報(例えば経度や緯度、及び/又は高度の座標)に対応する、ジオコードにより符号化された情報を含んでいてもよい。またAR情報は、一つ又は複数の情報のレイヤを含んでいてもよい。なおAR情報は、このような情報に限られるわけではない。現実世界オブジェクトは、ディスプレイ85又はカメラモジュール36のカメラビューに表示された装置50の現在位置にあるオブジェクトに関連付けられてもよい。AR情報が含んでもよい、ジオコードにより符号化された情報は、テキストやオーディオ、画像、絵、写真、ビデオのようなデータや、その他の好適な如何なるデータを含む(又はそれらに関連付けられる)。上記の情報レイヤは、一つ又は複数のバーチャルオブジェクトに関連付けられてもよい。このバーチャルオブジェクトは、例えばアイコンや絵文字、画像などのようなものであることができる。この情報レイヤは、一つ又は複数のコンテンツプロバイダ(例えばWikipediaやTwitterのようなサービスプロバイダ)により提供される、情報やコンテンツ、データなどのようなものに対応してもよい。ARリポジトリ84は、メモリデバイス76の一部分であってもよいし、外部のメモリやデータベースであってもよい。別様には、ARリポジトリ84は、CILモジュール78と一緒に配置されていてもよい。
ある実施形態では、CILモジュール78は、位置情報及び方位情報を受信した後に、ARリポジトリ84からAR情報を選択してもよい。別の実施形態では、いくつかのAR情報が、おそらく方位情報が知られる前に又は特定のAR情報が要求される前に、位置情報に基づいて、プリフェッチされてもよい。プリフェッチされたAR情報は、リモートのソースから受信されローカルに格納されてもよい。そのようにすれば、検索処理の間に取り扱わなければならないであろうAR情報のセットが小さくて済むため、AR情報を検索しなければならないとき、現在の位置や方位情報に適合する特定のAR情報を検索するのに必要な計算リソースの消費量が少なくてすむだろう。
図5は、カメラモジュールによってキャプチャされうる現実世界のオブジェクトに対応するPOIを、様々な視線角度に対して図示したものである。方位モジュール71は、上述のような方法でカメラモジュール36の視線角度を決定してもよいことは、述べておくべきであろう。図5の例示的実施形態において、POIは、例えばドット11のようなドットで表されてもよい。POI及び対応するデータは、CILモジュール78によって、ARリポジトリ84から呼び出されてもよい。図5に示されるように、ある視線角度では、POIに対応する多くのバーチャル情報が存在し、これらの全てをディスプレイ85に提供すると、ディスプレイが混乱してしまう可能性があり、ユーザも情報が多すぎて有用な情報を得ることができなくなるかもしれない。ディスプレイ85のカメラビューに全てのバーチャル情報を表示する代わりに、CILモジュール78は、カメラモジュール36が向いている角度に存在するデータの量を分析してもよい。ここでCILモジュール78は、カメラモジュール36の視野距離を自動的に設定又は調節し、ディスプレイ85に提供されるバーチャル情報の量が一定のレベルになるように、提供する量を調節してもよい。図5の例示的実施形態において、CILモジュールは、各角度において同定したPOIの密度又は量に基づいて、様々な角度において、カメラモジュール36の視野距離9を調節してもよい。ここで、CILモジュールは、カメラモジュール36がある視線角度(例えば60度)に向けられている時、視野距離内に存在する全てのPOIがディスプレイに供給されることを可能にしてもよい。一方、CILモジュール78は、カメラモジュール36の視野距離9の外側のPOIがディスプレイに供給されることを許さないこととしてもよい。カメラモジュール36がある視線角度に向けられている時、ユーザは、カメラモジュールの視野距離9の外側に存在するPOIを見ることができなくさせられてもよい。
例として、装置50が円17の中心に位置しているとしよう。装置50のユーザがカメラモジュール36を、視線角度60度に存在する現実世界オブジェクトに向けるとき、CILモジュール78は、現在の視野範囲において装置50の近くに存在するPOIの密度が、他の視野範囲のものより高いと判断してもよい。そこでCILモジュール78は、装置50に近接したPOIがディスプレイに供給されることを可能とすべく、視線角度60においてはカメラモジュール36の視野距離を減少させてもよい。それによってユーザは、ユーザに近接したPOIに注意を集中することができるかもしれない。この例において、CILモジュール78は、視線角度60において調節された視野距離9の外側のPOIがディスプレイに供給されることを許さないようにしてもよい。
一方、装置50のユーザがカメラモジュール36を、例えば視線角度300度に向けたとき、CILモジュール78は、現在の視野範囲における情報の密度は低いと判断し、視線角度300度におけるカメラモジュール36の視野距離を増大するように調節し、装置50から遠く離れたPOIもディスプレイに供給されるようにしてもよい。それによってユーザは、ユーザから遠く離れたPOIにも注意を向けることができるかもしれない。図5の例示的実施形態において、CILモジュール78は、カメラモジュールが視線角度300度の現実世界のオブジェクトに向けられたとき、調節された視野距離9に基づいて、視線角度300度に対応する事実上全てのPOIがディスプレイに供給されることを可能にしてもよい。CILモジュール78が、POIがディスプレイに供給されることを可能にする時、対応する現実世界オブジェクトに関連するバーチャル情報は、POIと現実世界オブジェクトとの間の地理的情報の対応に基づいて、それぞれの現実世界オブジェクトに重ね合わせられてもよい。
別の例示的実施形態において、CILモジュール78によるカメラモジュール36の視野距離の計算は、選択肢として、ディスプレイにおけるPOIが固定的な量であるように設定されなくともよい。その代わりに、CILモジュール78による視野距離の計算は、POIに関連する情報のサイズ(例えばバーチャルオブジェクトのサイズ)に応じて変化してもよい。例えば、CILモジュール78による視野距離の計算は、バーチャル情報の提供のためにイネーブルにされたかもしれない情報レイヤのサイズに応じて変化してもよい。
ここで、CILモジュール78が、ある情報レイヤ(例えば情報レイヤ3)のPOIが、ある閾値との比較に基づいて、描画サイズが大きいと判断したとしよう。このときCILモジュール78は、ディスプレイ85のカメラビューに提供されるPOIの数または量を減少させてもよい。一方、CILモジュール78が、ある情報レイヤ(例えば情報レイヤ7)のPOIが、別の閾値との比較に基づいて、描画サイズが小さいと判断したとしよう。このときCILモジュール78は、ディスプレイ85のカメラビューに提供されるPOIの数または量を増加させてもよい。この代替的例示的実施形態において、ディスプレイ85に一定のレベルのPOIが供給されることは、部分的に、ディスプレイ85に表示されうる個々のPOIの全サイズに関する要請を維持することに基づいてもよい。このように、CILモジュール78は、ディスプレイ85にPOIが供給されるようにする時、POIのサイズを勘案してもよい。
別の例示的実施形態において、CILモジュール78によるカメラモジュール36の視野距離の計算は、イネーブルにされた情報レイヤのタイプに部分的に基づいてもよい。例えば、CILモジュール78による視野距離の計算は、バーチャル情報の提供のためにイネーブルにされた情報レイヤのタイプに基づいて変化してもよい。この代替的例示的実施形態において、ある情報レイヤに対応する一つ又は複数のPOIのための表示の既定の閾値が、CILモジュール78によって、POIの表示を提供するために、分析されてもよい。限定の目的のためではなく例示の目的のために、例えば、百科事典のようなデータに対応する記事に関連するPOIを提供する、Wikipedia情報レイヤ7などの情報レイヤが、POIに関する既定の閾値(例えばPOIの数が20)に設定されてもよい、という例を考えるみることができる。さらに、例えば、ソーシャルネットワークメディアに関連するPOIを提供する、Twitter情報レイヤ3などの情報レイヤが、POIに関する別の既定の閾値(例えばPOIの数が15)に設定されてもよい、という例を考えてみることができる。百科事典データとソーシャルネットワークメディアの提供が有効にされている時、CILモジュール78は、百科事典データについての既定の閾値とソーシャルネットワークメディアについての既定の閾値に対応する全POI数の提供を可能にするために、カメラモジュール36の視野距離を変更又は調節してもよい。ここで、CILモジュール78は、イネーブルにされた各情報レイヤの既定の閾値に関連するPOIの数を結合し、ディスプレイ85のカメラビューへのこれらのPOIの表示を提供することを可能にしてもよい。
例えば、百科事典データの提供する情報レイヤの既定の閾値がPOI20個に設定され、ソーシャルネットワークメディアを提供する情報レイヤの既定の閾値がPOI15個に設定されたとき、モジュール78は、ディスプレイ85に全部で35個のPOIが提供されるように、カメラモジュールの視野距離を調節してもよい。この例において、百科事典データに対応するPOI20個と、ソーシャルネットワークメディアに対応するPOI15個が、ディスプレイ85のカメラビューに提供されてもよい。この例において注意しておくべきことは、CILモジュール78が、イネーブルにされた情報レイヤで利用可能なPOIの数(例えば10個)が、対応する既定の閾値(例えば20個)より少ないと判断した、という例において、CILモジュール78は、イネーブルにされた情報レイヤ(例えばWikipedia情報レイヤ7)で特定された最大数のPOI(例えば10個)がディスプレイに提供されることを可能にしてもよい、ということである。
情報レイヤは、例えばモジュール78によって提供される特徴や設定の選択に応じてCIL、装置50によってイネーブルにされてもよい。ここでユーザは、ユーザインタフェース67のポインティングデバイスのようなものを利用して、一つ又は複数の情報を選択し、情報レイヤをイネーブルにしてもよい。情報レイヤは、CILモジュール78によって提供されるプルダウンメニューやフォルダのようなものから選択されてもよい。さらに、ユーザは、設定又は特徴の選択に基づいて、情報レイヤによって提供されるPOIの数について、既定の閾値を選択してもよい。別様には、情報レイヤに関連するPOIの既定の閾値は、装置50に予め設定されてあり予めロードされてもよい。
この例示的実施形態において、それぞれPOIに関する既定の閾値に関連付けられる、複数のイネーブルにされたレイヤは、現在位置で表示に利用可能なPOIから、ユーザが見ることに興味を有さないであろうものをフィルタでカットしたりブロックしたり、除去したりするフィルタリング機構として作用してもよい。例えば、装置50の現在位置又はディスプレイのカメラビューに表示されている現実世界のオブジェクトの現在位置において、ソーシャルネットワークメディアに関連するPOIの数が100であるとしよう。ユーザはソーシャルネットワークメディアに興味を失うかもしれず、ソーシャルネットワークメディアがディスプレイ85に供給されないように、POIに関する既定の閾値に関連する情報レイヤをイネーブルにすることによって、ソーシャルネットワークメディアがCILモジュール78によってブロックされてもよい。情報レイヤをイネーブルにすることは、他の情報レイヤ(例えばソーシャルネットワークメディア情報レイヤ)をブロックすることを生じてもよい。というのも、他の情報レイヤはアクティブではないかもしれないからである。
さらに、現在位置において利用可能な全ての情報レイヤのPOIが、単一の閾値(例えばPOIの数が30個)に関連付けられているという実施形態において、ディスプレイ85に、ユーザにとって興味をあまり有さないか又は全く興味のない(例えばPOI(TwitterのPOIが30個)しか提供されないかもしれない。そこで、ユーザが情報を取得することを望む情報レイヤ(そしてそれぞれ閾値に関連付けられる情報レイヤ)を選択できるようにすることは、望まない情報が表示されることをフィルタでカットしたりブロックしたり、除去したりするために、有益であろう。
CILモジュール78は、オフラインモードでもオンラインモードでも動作可能であってもよいことは、述べておく必要があるだろう。オフラインモードでは、装置50は、例えばネットワークデバイスのようなリモートソースの、POI及び関連データにアクセスするためのネットワーク30との接続を有していないかも知れない。(上記のリモートソースは、例えば第2通信デバイス20のようなサーバであることができる。)この場合、CILモジュール78は、一つ又は複数のPOIに関連する情報を、ARリポジトリ84から得てもよい。情報レイヤやPOIに関連する情報は、メモリデバイス76のARリポジトリに予めロードされておいてもよい。加えて、一つ又は複数のPOIに関連する情報は、パーソナルコンピュータなどの他のデバイスを用いてネットワーク30介してダウンロードされ、例えばUSBメモリデバイスなどを使って装置50に転送され、メモリデバイス76に格納されてもよい。
オンラインモードでは、装置50は、ネットワーク30を介して一つ又は複数のデバイス(例えば第2・第3の通信デバイス20・25)と通信することができてもよく、一つ又は複数の情報レイヤやPOIに関する情報を取得することができてもよい。例えば、図6に描かれるように、装置50は、一つ又は複数の情報レイヤに関する情報や、対応するPOIを受信するために、指定されたネットワークデバイス108(例えば第2通信デバイス20のようなサーバ)と通信することができてもよい。ここで、CILモジュール78は、ネットワークデバイス10082クエリを送信し、一つ又は複数の情報レイヤに関する情報や、対応するPOIを要求してもよい。クエリは、装置50の現在位置や、ディスプレイ85のカメラビューに表示される現実世界のオブジェクトの位置を特定するために、測位センサ72から供給される位置情報を含んでもよい。
クエリの受信に応じて、ネットワークデバイス108は、そのメモリの一つ(例えば図7のメモリ96)を分析して、情報レイヤに関連する何らかの情報や、CILモジュール78から提供された位置情報に対応する、前記情報レイヤに対応するPOIを有しているか否かを判断してもよい。ネットワークデバイス108が、位置情報に関連する情報レイヤや対応するPOIに関係する情報を有していると判断したときは、ネットワークデバイス108は、CILモジュール78に、その情報を送信してもよい。この場合、CILモジュール78は、前述のような形態で、POIがディスプレイ85に提供されうるように、カメラモジュールの視野距離を調節する。
一方、ネットワークデバイス108が、クエリにより提供される位置情報に関連する情報を何も持っていないと判断した場合は、ネットワークデバイス108は、一つ又は複数の他のネットワークデバイス110,112(例えば第3の通信デバイス25)に、位置情報を含むクエリを送信してもよい。ネットワークデバイス108によって送信されたクエリは、CILモジュール78が所望している情報レイヤや対応するPOIに関連する情報のリクエストを含んでもよい。ネットワークデバイス110,112の一つ又は複数のものから、情報レイヤやPOIを受信することに応じて、ネットワークデバイス108は、受信した情報をCILモジュール78に送信してもよい。送信された情報は、CILモジュール78によって、前述のような形態で、POIがディスプレイ85に提供されうるように、カメラモジュールの視野距離を調節するために使用されてもよい。
一つ又は複数のネットワークデバイスから、情報レイヤや対応するPOIに関する情報を得ることの利点は、装置50と各ネットワークデバイスとの間で必要な情報のみが送信されればよいので、使用する帯域幅が最小限となりうることである。例えば、装置50がネットワークデバイス110,112と直接通信し、情報レイヤや対応するPOIに関連する情報を得ようとすると、装置は、ネットワークデバイス110,112へのクエリの全てを生成しなければならない可能性があるので、必要とされる帯域幅はかなり大きなものになりうる。また、クエリに対するネットワークデバイス110,112からの応答も、多くの場合、必要とされるものよりもかなり多い情報を含むことがあり、それらを装置50が選別し、カメラモジュールの視野距離を調節するには、全ての情報が装置50に送信される必要があるだろう。
図7は、例えば図6のネットワークデバイス108,110,112のような、ネットワーク要素の例示的実施形態のブロックダイヤグラムである。図7に示されるように、例えばサーバなどのネットワーク要素は、プロセッサ94とメモリ96とを有してもよい。メモリ96は揮発性及び/又は非揮発性のメモリを含んでもよく、コンテンツやデータ、及び/又は同様のものを格納してもよい。メモリ96は、クライアントアプリケーションや命令、及び/又は同様のものを格納してもよく、これらは、ネットワーク要素の様々な処理を実行するために、プロセッサ94により用いられる。メモリデバイス96は、触ることが可能で非一時的なデバイスである。
プロセッサ94は、通信インタフェース98や、コンテンツやデータ及び/又は同様のものを表示したり、送信及び/又は受信したりするためのその他の手段に接続されていてもよい。ユーザ入力インタフェース95は、ネットワーク要素がユーザからのデータを受信すること可能にするいくつもの数のデバイスを含んでいてもよい。例えば、キーパッドやタッチディスプレイ、ジョイスティック、その他の入力デバイスを含んでいてもよい。ここでプロセッサ94は、ユーザ入力インタフェースの一つ又は複数の要素の少なくともいずれかの機能を制御するように構成されるユーザインタフェース回路備えていてもよい。プロセッサ及び/又は当該プロセッサのユーザインタフェース回路は、プロセッサによりアクセス可能なメモリに格納されたコンピュータプログラム命令を通じて、ユーザインタフェースの一つ又は複数の要素の一つ又は複数の機能を制御するように構成されてもよい。このようなコンピュータプログラム命令は、例えばソフトウェア及び/又はファームウェアであることができる。当該メモリは、例えば、揮発性、非揮発性、及び/又は同様のものであることができる。
ネットワーク要素は、例えばある実施例の装置50やネットワークデバイス108のようなデバイスから、情報レイヤやPOIに対応する情報についての一つ又は複数のクエリを受信してもよい。このようなクエリは、装置50の現在位置を示す位置情報や、ディスプレイ85のカメラビューの中の現実世界オブジェクトに関連する位置情報を含んでもよい。メモリ96から関連する情報を検索し読み出すことに応じて、プロセッサ94は、読み出された情報を、ネットワークデバイス(その情報をさらに装置50に送信しうるネットワークデバイス)に送信することを行なえるようにする。別の例では、プロセッサ94は、読み出した情報を、装置50に直接送信することを助けてもよい。それによって、CILモジュール78は、ネットワーク要素から受信したPOIの密度または量に部分的に基づいてカメラモジュール36の視野距離を自動的に調節するために、当該情報を使用してもよい。ここでCILモジュールは、前述のような形態で、POIの少なくとも一部をディスプレイ85に提供することを可能にしてもよい。
拡張現実において一定のレベルの情報を提供するためのフローチャートの実施形態を、図8に示す。処理800において、装置50は、現在表示されている現在の位置の一つ又は複数の現実世界のオブジェクト(例えば現実世界のオブジェクトの第1のセット)に関連するPOIの密度又は第1の数を決定するための、CILモジュール78やプロセッサ70、及び/又は同様のもののような手段を備えてもよい。現在の位置は、装置50の位置か、現実世界の光景の現実世界のオブジェクトの位置に対応する位置であってもよい。現実世界のオブジェクトの一つ又は複数のイメージは、例えばカメラモジュール36などのデバイスによってキャプチャされ、ディスプレイ85などのディスプレイのカメラビューに表示されたものであってもよいPOIは、一つ又は複数の情報レイヤ(例えば情報レイヤ3)に関連付けられていてもよい。POIに関連付けられる、例えばバーチャルオブジェクトなどのバーチャル情報のアイテムは、装置50のCILモジュール78やプロセッサ70及び/又は同様のもののような上記手段によって、ディスプレイのカメラビューに提供される、対応する現実世界のオブジェクトの上に重ね合わせられてもよい。
処理805において、装置50は、POIの密度又は第1の数を所定の閾値(例えばPOIの個数が30個)と比較するための、CILモジュール78やプロセッサ70及び/又は同様のもののような手段を備えてもよい。処理810において、POIの第1の数が所定の閾値より低いという判断に応じて、装置50のCILモジュール78やプロセッサ70及び/又は同様のもののような上記手段は、一つ又は複数の追加の現実世界オブジェクト(例えば現実世界のオブジェクトの第2のセット)の表示を可能とするために、例えばカメラモジュール36などのメディアキャプチャデバイスの視野距離を(例えば500メートルに)増大させてもよい。これは、第1の個数のPOIから、所定の閾値(例えばPOIの個数が30個)に対応する第2の個数のPOIに増やすためである。CILモジュール78やプロセッサ70及び/又は同様のもののような上記手段は、一つ又は複数の現実世界オブジェクト(例えば現実世界オブジェクトの第1のセット)と追加の現実世界オブジェクト(例えば現実世界オブジェクトの第2のセット)に関連するPOIが、所定の閾値(例えばPOIが30個)に等しいことを判断してもよいような例において、CILモジュールは、POIの個数を第1の数から第2の数に増加させてもよい。
処理815において、POIの第1の数が所定の閾値を上回っているとの判断に応じて、装置50のCILモジュール78やプロセッサ70及び/又は同様のもののような上記手段は、一つ又は複数の現実世界オブジェクトをディスプレイから取り除くことを可能にすべく、例えばカメラモジュール36などのメディアキャプチャデバイスの視野距離を短く又は減少させてもよい。これは、POIの個数を、第1の数から、所定の閾値に対応する第2の個数に減少させるためである。装置50のCILモジュール78やプロセッサ70及び/又は同様のもののような手段が、現実世界オブジェクトの少なくとも一部を決定した後にディスプレイに残る現実世界オブジェクトに関連するPOIが、所定の閾値(例えばPOIの個数が30個)に等しいことを決定するような例において、装置50は、POIの個数を第1の数から第2の数に減じる、CILモジュール78やプロセッサ70及び/又は同様のもののような手段を備えてもよい。装置50は、ディスプレイから、現実世界オブジェクトの少なくとも一部を取り除く、CILモジュール78やプロセッサ70及び/又は同様のもののような手段を備えてもよいことは述べておくべきであろう。
図8は、本発明の例示的実施形態に従うシステムや方法、コンピュータプログラム製品のフローチャートであることは述べておく必要があるだろう。フローチャートの各ブロックや、フローチャートの複数のブロックが組み合せられたものは、例えばハードウェアやファームウェア、一つ又は複数のコンピュータプログラム命令を含むコンピュータプログラム製品など、様々な手段によって実装されうる。例えば上に説明された一つ又は複数の処理は、コンピュータプログラム命令にて具現化されてもよい。ここで、ある例示的実施形態では、上述の処理を具現化するコンピュータプログラム命令は、例えばメモリデバイス76,96などのメモリデバイスに格納され、プロセッサ70やCILモジュール78、プロセッサ94などに実行される。理解されうるように、これらいかなるコンピュータプログラム命令も、コンピュータ又はその他のプログラム可能な装置(例えばハードウェア)にロードされて機械を生成することができる。すなわち、コンピュータや他のプログラム可能な装置で実行される命令は、フローチャートに特定される機能が実装されるようにする。ある実施形態において、コンピュータプログラム命令は、コンピュータ読み取り可能なメモリに格納され、コンピュータ又はその他のプログラム可能な装置が特定の仕方で機能するように指示することができる。すなわち、コンピュータ読み取り可能なメモリに格納された命令は、フローチャートのブロックで特定される機能を実装する命令を含む製品を生成する。コンピュータプログラム命令はまた、コンピュータ又はその他のプログラム可能な装置にロードされて、処理のシリーズをこれらの装置上で実行されるようにし、それによって、コンピュータにより実装される処理が生成される。すなわち、コンピュータ又は他のプログラム可能な装置で実行される命令は、フローチャートブロックで特定される機能を実装する。
このように、フローチャートブロックは、特定の機能を実行する手段の組み合わせをサポートする。理解されうるように、一つ又は複数のフローチャートのブロックやこれらの組み合わせは、専用目的のためのハードウェアベースのコンピュータシステムによって実装されることもできる。そのようなシステムは、特定の機能を実行する。一つ又は複数のフローチャートのブロックやこれらの組み合わせは、専用目的のためのハードウェアとコンピュータ命令の組み合わせによって実装されることもできる。
ある例示的実施形態において、上述の図8の方法を実行する装置は、上述の処理800−815のそれぞれ又はいくつかを実行するように構成される処理装置を備えてもよい。そのような処理装置は、例えば、プロセッサ70、CILモジュール78、プロセッサ94であってもよい。処理装置は、例えば、ハードウェアにより実装された論理機能を実行することや、格納された命令を実行すること、又は、各処理を実行するためのアルゴリズムを実行することによって、処理800−815を実行するように構成されてもよい。別の形態では、装置は、上述の各処理を実行する手段を備えていてもよい。ここで、ある例示的実施形態に従うと、処理800−815を実行する手段の例は、例えば、CILモジュール78,プロセッサ94,及び/又は命令を実行する回路や装置、又は上述のような情報処理を行なうアルゴリズムを実行する回路や装置を含んでもよい。
上述の説明や添付の図面に示される教示から利益を受ける、これらの発明に関する当業者の頭には、本明細書で説明された発明についての様々な変形や他の実施形態が浮かぶであろう。したがって、本発明は、開示された特定の実施形態に限定されるものではなく、それらの変形や他の実施形態も、添付の請求項の範囲に含まれることが意図されていることを理解されたい。さらに、上述の説明や関連する図面は、例示的実施形態を、ある例示的な要素及び/又はこれらの組み合わせという文脈で説明しているが、これらの要素や機能の別の組み合わせも、添付の請求項の範囲を逸脱せずに、別の実施形態によって提供されることができることは理解されたい。ここで、例えば、上に例示的に説明されたものとは異なる、要素又は機能の組み合わせが、添付の請求項のいずれかに記載されうることがあることが想定されている。本明細書では具体的な用語が用いられているが、それらは一般的に説明するために用いられているおり、限定の目的のために用いられているわけではない。