(57)【要約】  1つまたは複数のデバイスは、実世界のシーンをキャプチャし、実世界内の点に対する距離を含む、1つまたは複数の画像を処理する。距離は、実世界内の表面のセットを自動的に識別するのに使用される。1つまたは複数のデバイスは、セット内の表面が、シーン中に投影されるべき情報の要素を表示するのに適切であるか否かをチェックする。表面が適切であることを検出すると、伝達関数が自動的に識別され、その後、伝達関数が情報の要素に自動的に適用される。伝達関数を自動的に適用した結果として生じる、変形された要素が、プロジェクタに結合されているフレームバッファ内で、適性のチェック中に識別されたフレームバッファ内の特定の位置に記憶される。適切である表面がないとき、ユーザ入力が取得され、その後、ユーザ入力の通りに情報が投影される。
2014531787.tif 000002
【特許請求の範囲】
【請求項１】
実世界内のシーンの画像を受信するステップであって、前記画像は前記実世界内の点に対する複数の距離を備える、受信するステップと、
前記シーン内の表面のセットを識別するために、少なくとも前記複数の距離を使用するステップと、
前記表面のセットのうちの、情報の要素をその上に投影することができる表面を発見するステップと、
前記発見するステップが、前記情報の要素を前記表面上に投影することができることを示すとき、1つまたは複数のプロセッサが、前記表面を使用するための伝達関数を識別するステップと、
少なくとも前記情報の要素に、前記伝達関数を適用するステップと、
メモリ内のフレームバッファ内で、前記発見するステップの間に識別される特定の位置に、前記適用するステップから生じる変形された要素を記憶するステップと
を含む、方法。
【請求項２】
前記発見するステップは、前記表面に対応する前記画像の領域内の総ピクセル数を、前記情報の要素を表示するための長方形の面積と比較するステップを含む、請求項1に記載の方法。
【請求項３】
前記発見するステップは、前記情報の要素を投影するのに使用されるべき長方形内のすべてのピクセルが、前記表面に対応する前記画像の領域内に存在するか否かをテストするステップを含む、請求項1に記載の方法。
【請求項４】
前記発見するステップ内の前記テストするステップの間に、前記特定の位置が識別され、前記メモリ内に記憶される、請求項3に記載の方法。
【請求項５】
前記表面のセットのうちのサブセットを形成する複数の表面を、前記情報の要素と関連付け、それによって、前記情報の要素を前記複数の表面の各々の上に投影することができるように、前記テストするステップは繰り返し実行され、
前記方法は、前記情報の要素の投影を、前記サブセットから選択される前記表面に割り当てるステップをさらに含む、請求項3に記載の方法。
【請求項６】
プロジェクタを、前記フレームバッファ内の前記変形された要素を投影するように操作するステップと、
前記操作するステップの後に、ユーザ入力を受信するステップと、
前記ユーザ入力の受信に応答して、異なる表面について、前記伝達関数を前記識別するステップ、前記適用するステップ、および前記記憶するステップを反復するステップと
をさらに含む、請求項1に記載の方法。
【請求項７】
前記ユーザ入力が、前記異なる表面を識別する、請求項6に記載の方法。
【請求項８】
前記ユーザ入力が、別の画像内でハンドジェスチャとして識別される、請求項6に記載の方法。
【請求項９】
前記発見するステップが、前記情報の要素を前記表面のセットのうちのいかなる表面上にも投影することができないことを示すときに、異なる表面を識別するユーザ入力を受信するステップと、
前記異なる表面について、前記伝達関数を前記識別するステップ、前記適用するステップ、および前記記憶するステップを反復するステップと
をさらに含む、請求項1に記載の方法。
【請求項１０】
形状を識別するユーザ入力を受信するステップと、
前記情報の要素の一部をマスクアウトするために、前記伝達関数において前記形状を使用するステップと
をさらに含む、請求項1に記載の方法。
【請求項１１】
1つまたは複数の持続性コンピュータ可読記憶媒体であって、
実世界内のシーンの画像を受信するための命令であって、前記画像は前記シーン内の点に対する複数の距離を含む、受信するための命令と、
前記シーン内の表面のセットを識別するために、少なくとも前記画像内の前記複数の距離を使用するための命令と、
前記表面のセットのうちの、情報の要素をその上に投影することができる表面を発見するための命令と、
前記発見することが、前記情報の要素を前記表面上に投影することができることを示すとき、前記表面を使用するための伝達関数を識別するための、1つまたは複数のプロセッサに対する命令と、
少なくとも前記情報の要素に、前記伝達関数を適用するための命令と、
メモリ内のフレームバッファ内で、前記発見することの間に識別される特定の位置に、前記適用することから生じる変形された要素を記憶するための命令と
を備える、1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１２】
前記チェックするための命令は、前記表面に対応する前記画像の領域内の総ピクセル数を、前記情報の要素を表示するための長方形の面積と比較するための命令を含む、請求項11に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１３】
前記チェックするための命令は、前記情報の要素を表示するのに使用されるべき長方形内のすべてのピクセルが、前記表面に対応する前記画像の領域内に存在するか否かをテストするための命令を含む、請求項11に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１４】
前記特定の位置が、前記チェックするための命令の中の前記テストするための命令を実行することによって識別される、請求項13に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１５】
前記表面のセットのうちのサブセットを形成する複数の表面を、前記情報の要素と関連付け、それによって、前記情報の要素を前記複数の表面の各々の上に投影することができるように、前記テストするための命令は繰り返し実行されるように構成され、
前記1つまたは複数の持続性コンピュータ可読記憶媒体は、前記情報の要素の投影を、前記サブセットから選択される前記表面に割り当てるための命令をさらに含む、請求項13に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１６】
プロジェクタを、前記フレームバッファ内の前記変形された要素を投影するように操作するための命令と、
前記操作することに続いて、ユーザ入力を受信するための命令と、
異なる表面について、前記伝達関数を前記識別するための命令、前記適用するための命令、および前記記憶するための命令を実行するための命令と
をさらに備える、請求項11に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１７】
前記ユーザ入力は前記異なる表面を識別する、請求項16に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１８】
前記ユーザ入力は、少なくとも別の画像において識別される、請求項16に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１９】
前記チェックするための命令の実行が、前記情報の要素を前記表面のセットのうちのいかなる表面上にも投影することができないことを示すときに実行されるように構成されている、異なる表面を識別するユーザ入力を受信するための命令と、
前記異なる表面について、前記伝達関数を前記識別するための命令、前記適用するための命令、および前記記憶するための命令を反復するための命令と
をさらに備える、請求項11に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項２０】
形状を識別するユーザ入力を受信するための命令と、
前記情報の要素の一部をマスクアウトするために、前記伝達関数において前記形状を使用するための命令と
をさらに備える、請求項11に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項２１】
カメラと、
前記カメラに動作可能に結合されている1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに動作可能に結合されているメモリと、
前記メモリ内のフレームバッファからの情報を投影するために、前記メモリ内のフレームバッファに動作可能に結合されているプロジェクタと、
前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
前記カメラから、実世界内のシーンの画像を受信させ、ここで、前記画像は前記実世界内の点に対する複数の距離を備え、
前記シーン内の表面のセットを識別するために、少なくとも前記複数の距離を使用させ、
前記表面のセットのうちの、情報の要素をその上に投影することができる表面を発見させ、
前記発見することが、前記情報の要素を前記表面上に投影することができることを示すとき、前記表面を使用するための伝達関数を識別させ、
少なくとも前記情報の要素に、前記伝達関数を適用させ、
前記フレームバッファ内で、前記発見することの間に識別される特定の位置に、前記適用することから生じる変形された要素を記憶させる、
前記メモリ内に保持されているソフトウェアと
を備える、1つまたは複数のデバイス。
【請求項２２】
前記チェックするためのソフトウェアは、前記1つまたは複数のプロセッサに、前記情報の要素を表示するのに使用されるべき長方形内のすべてのピクセルが、前記表面に対応する前記画像の領域内に存在するか否かをテストさせる、請求項21に記載の1つまたは複数のデバイス。
【請求項２３】
前記表面のセットのうちのサブセットを形成する複数の表面を、前記情報の要素と関連付け、それによって、前記情報の要素を前記複数の表面の各々の上に投影することができるように、前記テストするためのソフトウェアは繰り返し実行され、
前記ソフトウェアは、さらに、前記情報の要素の投影を、最小数の関連付けられている要素を有する前記サブセットのうちの表面のいずれに対しても割り当てさせる、請求項22に記載の1つまたは複数のデバイス。
【請求項２４】
メモリおよびカメラに動作可能に結合されているプロセッサを備えるシステムであって、
実世界内のシーンの画像を受信するための手段であって、前記画像は前記実世界内の点に対する複数の距離を備える、受信するための手段と、
前記シーン内の表面のセットを識別するために、少なくとも前記複数の距離を使用するための手段と、
前記表面のセットのうちの、情報の要素をその上に投影することができる表面を発見するための手段と、
前記発見することが、前記情報の要素を前記表面上に投影することができることを示すとき、前記表面を使用するための伝達関数を識別するための手段と、
少なくとも前記情報の要素に、前記伝達関数を適用するための手段と、
前記メモリ内のフレームバッファ内で、前記発見するための手段によって識別された特定の位置に、前記適用するための手段によって出力される変形された要素を記憶するための手段と
を備える、システム。
【請求項２５】
前記発見するための手段は、
前記情報の要素を表示するのに使用されるべき長方形内のすべてのピクセルが、前記表面に対応する前記画像の領域内に存在するか否かをテストするための手段を含む、請求項24に記載のシステム。
【請求項２６】
前記表面のセットのうちのサブセットを形成する複数の表面を、前記情報の要素と関連付け、それによって、前記情報の要素を前記複数の表面の各々の上に投影することができるように、前記テストするための手段は繰り返し操作されるように構成されており、
前記情報の要素の投影が、最小数の関連付けられている要素を有する前記サブセットのうちの表面のいずれに対しても割り当てられる、請求項25に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
仮出願の相互参照
本出願は、本出願の譲受人に譲受され、参照によりその全体が本明細書に組み込まれる、2011年8月19日に出願された「Projection of Information Onto Real World Objects or Adjacent Thereto」と題する米国仮特許出願第61/525,628号の優先権を主張する。
【０００２】
特許出願の相互参照
本出願は、本出願の譲受人に譲受され、参照によりその全体が本明細書に組み込まれる、2012年7月13日に出願された「DYNAMIC SELECTION OF SURFACES IN REAL WORLD FOR PROJECTION OF INFORMATION THEREON」と題する米国特許出願第13/549,388号の優先権を主張する。
【０００３】
関連出願の相互参照
本出願は、本出願の譲受人に譲受され、参照によりその全体が本明細書に組み込まれる、2012年7月13日に出願された「Use Of Association Of An Object Detected In An Image To Obtain Information To Display To A User」と題する米国特許出願第13/549,339号、代理人整理番号Q111570U1osにも関連する。
【背景技術】
【０００４】
ユーザに表示するための情報を投影するためにプロジェクタを使用することが周知である。そのような従来技術の詳細については、参照によりその全体が本明細書に組み込まれる、Mistri, P.、Maes, P.、Chang, Lによる論文「WUW - Wear Ur World - A wearable Gestural Interface」と題する、CHI 2009、2009年4月4〜9日、米国マサチューセッツ州ボストン、全6頁を参照されたい。
【０００５】
上述のような情報の投影には照明条件のようないくつかの問題を提起する。いくつかのそのような問題は、たとえば、参照によりその全体が本明細書に組み込まれる、Andrew Greaves、Alina Hang、およびEnrico Rukzioによる論文「Picture Browsing and Map Interaction using a Projector Phone」、MobileHCI 2008、2008年9月2〜5日、オランダ国アムステルダム、全4頁に記載されているような、飛行時間式カメラを使用することによって対処されている。ハンドジェスチャを識別することに関するそのような背景に関する追加の情報については、MitraおよびAcharya、「Gesture Recognition: A Survey」、IEEE transactions on Systems, Man, and Cybernetics - Part C: Applications and Reviews、第37巻、第3号、2007年5月、全14頁を参照されたい。
【０００６】
従来技術において、たとえば、参照によりその全体が本明細書に組み込まれる、Shapiroによる米国特許第7,905,610号に記載されているように、三次元物体上に情報を投影することができる。具体的には、Shapiroは、第4欄第20〜26行において、「三次元情報、環境情報などに基づいて画像をあらかじめ歪ませておくことができる。動作310を参照されたい。一実施形態において、あらかじめ歪ませておくことは、投影されるべき画像を計算しながらの、三次元物体の逆モデルを含み得る。」と述べている。
【０００７】
Shapiroの方法を使用するには、たとえば、「さらに別のオプションとして、ユーザは、この時点においてプロジェクタおよび三次元物体を最適に位置決めしてもよい。これは、たとえば、後に投影されることに成る画像の中心を示すマーカ(たとえば、クロスヘアなど)を投影することによって達成することができる。この目的のために、マーカはプロジェクタおよび/または三次元物体を物理的に動かすことによって、三次元物体の中心に手動で位置合わせされ得る」と述べている第4欄第27〜34行において説明されているように、ユーザが関与することが必要になると思われる。
【０００８】
物理的に動かすとき、Shapiroのユーザは、画像が投影されるべき物体の表面を手動で選択し、その選択された表面をプロジェクタに手動で位置合わせしていると思われる。したがって、後述するように情報を投影するために、実世界のシーン内の表面を自動的に選択する方法が必要とされている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国特許第7,905,610号
【特許文献２】米国特許第4,731,860号
【特許文献３】米国特許出願公開第2004/0184013号
【非特許文献】
【００１０】
【非特許文献１】Mistri, P.、Maes, P.、Chang, Lによる論文「WUW - Wear Ur World - A wearable Gestural Interface」、CHI 2009、2009年4月4〜9日、米国マサチューセッツ州ボストン、全6頁
【非特許文献２】Andrew Greaves、Alina Hang、およびEnrico Rukzioによる論文「Picture Browsing and Map Interaction using a Projector Phone」、MobileHCI 2008、2008年9月2〜5日、オランダ国アムステルダム、全4頁
【非特許文献３】MitraおよびAcharyaによる論文、「Gesture Recognition: A Survey」、IEEE transactions on Systems, Man, and Cybernetics - Part C: Applications and Reviews、第37巻、第3号、2007年5月、全14頁
【非特許文献４】Hiroshi Kawasaki他による論文「Dynamic scene shape reconstruction using a single structured light pattern」、IEEE Conference on Computer Vision and Pattern Recognition、2008(CVPR 2008)、全8頁
【非特許文献５】Li Zhang他による論文「Rapid Shape Acquisition Using Color Structured Light and Multi-pass Dynamic Programming」、Proceedings of the 1st International Symposium on 3D Data Processing, Visualization, and Transmission(3DPVT)、イタリア国パドヴァ、2002年6月19〜21日、24〜36頁
【非特許文献６】F. Pece他による論文「Three Depth-Camera Technologies Compared」、BEAMING Workshop、バルセロナ、2011年、全2頁
【非特許文献７】Rautaray他による論文「A Vision based Hand Gesture Interface for Controlling VLC Media Player」、the International Journal of Computer Applications、第10巻、第7号、2010年11月、全6頁
【非特許文献８】Alan P. Manganによる論文「Partitioning 3D Surface Meshes Using Watershed Segmentation」、IEEE Transactions on Visualization and Computer Graphics、第5巻、第4号、1999年10〜12月、308〜321頁
【非特許文献９】Jean-Yves Bouguetによる記事「Camera Calibration Toolbox for Matlab」、全4頁、最終更新2010年7月9日
【非特許文献１０】N. Werghiによる論文「Robust 3D Object Registration Based on Pairwise Matching of Geometric Distributions」、全8頁、2009年刊行、International Journal of Computers and Applications、第31巻、第1号
【発明の概要】
【課題を解決するための手段】
【００１１】
1つまたは複数のデバイスは、実世界のシーンをキャプチャし、実世界内の点に対する複数の距離を含む、そのシーンの1つまたは複数の画像(深度画像とも称される)を処理する。距離は、深度画像内で撮像された、実世界内の表面のセットを自動的に識別するのに使用される。その後、1つまたは複数のデバイスは、セット内の表面が、投影されるべき情報の要素を表示するのに適切であるか否かをチェックする。表面が適切であることを検出するのに応答して、表面を使用するための伝達関数が自動的に識別され、その後、伝達関数が情報の要素に自動的に適用される。その後、伝達関数を自動的に適用した結果として生じる、変形された要素が、プロジェクタに結合されているフレームバッファ内で、チェック中に識別されたフレームバッファ内の特定の位置に記憶される。
【図面の簡単な説明】
【００１２】
【図１Ａ】は、情報を自動的に取得して実世界のシーン内に投影するための、いくつかの実施形態のプロセッサ100によって実行される動作を示す高レベルフローチャートである。
【図１Ｂ】図1Aの動作106を実行するための、いくつかの実施形態のプロセッサ100によって実行される動作を示す低レベルフローチャートである。
【図２Ａ】特定の実施形態における、実世界内の物体211に隣接して情報を投影するのに使用される、モバイルデバイス200のカメラ202によって撮像された、一例の実世界内のシーン214を示す図である。
【図２Ｂ】いくつかの実施形態のモバイルデバイス200内のメモリ203に結合されているプロセッサ100であって、メモリ203は、図2Aの例示的なシーン214からカメラ202によって生成されるビデオ231(入力ビデオとも称される)のフレーム231A〜231Nを記憶し、メモリ203は、投影によって表示されるべき情報の取り出しを求める要求232を記憶している、プロセッサ100を示す、高レベルブロック図である。
【図２Ｃ】要求232を使用することによって取得された情報233、ならびに、図2Aの例示的なシーン214内の表面に対応する、パッチ211A〜211B、212A〜212Cおよび213Sに分割されているフレーム231Aの画像を保存している格納先(storage location：保管場所)234を記憶しているメモリ203を示す、図2Bに類似の高レベルブロック図である。
【図２Ｄ】長方形299(情報の要素を投影するためのもの)が、図2Aの頁211Lの表面に対応する図2Cの不規則な形状のパッチ211A内に収まることができるか否かのチェックを示す図2Bに類似の高レベルブロック図である。
【図２Ｅ】いくつかの実施形態における、モバイルデバイス200のプロジェクタ205によって、ビデオ236の形態の情報が実世界の物体211上に投影されている、図2Aのシーン214を示す図である。
【図２Ｆ】ユーザ220が手221の親指210を伸ばして、プロセッサ100によって画像内で図1Aの動作107におけるユーザ入力として識別される承認ジェスチャを行っている、図2Eのシーン214を示す図である。
【図２Ｇ】ユーザ220が右手221の人差し指212を伸ばして、プロセッサ100によって画像内でユーザ入力として識別される、投影のために使用されるべきテーブル213の表面213Sを示す指差しジェスチャを行っている、図2Eのシーン214を示す図である。
【図２Ｈ】変形されたビデオ233が図2Gに示すユーザ入力に基づいて表面213S上に投影されている、図2Eのシーン214を示す図。
【図３Ａ】特定の実施形態における、実世界内の別の物体311に隣接して情報を投影するのに使用される、モバイルデバイス200のカメラ202によって撮像された、別の例の実世界内の別のシーン314を示す図である。
【図３Ｂ】メモリ203が、図3Aの例示的なシーンからカメラ202によって生成される入力ビデオ231のフレーム331Aを記憶している、図2Bに類似の高レベルブロック図である。
【図３Ｃ】メモリ203が表面241A〜241N、241S、および213Uを記憶している、図2Bに類似の高レベルブロック図である。
【図３Ｄ】メモリ203が表面241A〜241N、241S、および213U、ならびに、表面241Iの重なりを回避するために情報333Aおよび情報333Bの新規の位置を記憶している、図2Bに類似の高レベルブロック図である。
【図３Ｅ】いくつかの実施形態における、モバイルデバイス200のプロジェクタ205によって、文字列333Aおよび文字列333Bの形態の情報が、物体311上でかつ物体に隣接して投影されている、図3Aのシーン314を示す図である。
【図３Ｆ】いくつかの実施形態における、情報の要素342が新規の位置に投影されている、図3Aのシーン314を示す図である。
【図４】いくつかの実施形態のモバイルデバイス200を示す高レベルブロック図である。
【発明を実施するための形態】
【００１３】
説明される実施形態によれば、1つまたは複数のデバイスは、1つまたは複数のカメラ(および/またはプロジェクタのような他のデバイス)を使用して、実世界内のシーンからの情報(たとえば、画像)を受信して、受信情報をメモリ内に記憶する。いくつかのそのようなデバイスは、メモリ203内に記憶されているソフトウェア(すなわち、コンピュータ命令)を実行するために不揮発性メモリ203に結合されていると共に、カメラ202によってキャプチャされた情報を受信および処理するためのプロセッサ100(図1A)を含む。
【００１４】
プロセッサ100がメモリ203を介して、実世界内のシーン214の画像231A(図2A)の色値の二次元アレイ、および、オプションとして、カメラ202からの、実世界内の表面213S、211L上の点の距離を示す深度値(距離値とも称される)の別の二次元アレイを(図1Aの動作101が示すように)受信するように、少なくとも1つのカメラ202(図1A)が操作される。いくつかの実施形態において、カメラ202(図1A)は、2セットの値、すなわち色値および深度値を直接生成してプロセッサ100に供給する深度カメラ(距離カメラとも称される)である。しかしながら、深度値がプロセッサ100によって取得される特定の様式は、実施形態に応じて異なり得、次にいくつかの例示的な実施形態を説明する。
【００１５】
いくつかの実施形態において、深度値は、位置情報によって符号化された光(「構造光」とも称される、略称「SL」)でシーンを照明するようにプロジェクタ205(図4)を操作し、プロジェクタ205(図4)からの構造光で照明しながらシーン214の1つまたは複数の画像をキャプチャするようにカメラ202(図4)を操作することによって取得される。そのような実施形態において、色値および深度値の画像を受信するための動作101(図1A)は、たとえば、参照によりその全体が本明細書に組み込まれる、Hiroshi Kawasaki他による論文「Dynamic scene shape reconstruction using a single structured light pattern」、IEEE Conference on Computer Vision and Pattern Recognition、2008(CVPR 2008)、全8頁に記載されているように実行されてもよい。他の実施形態において、動作101は、たとえば、参照によりその全体が本明細書に組み込まれる、Li Zhang他による論文「Rapid Shape Acquisition Using Color Structured Light and Multi-pass Dynamic Programming」、Proceedings of the 1st International Symposium on 3D Data Processing, Visualization, and Transmission(3DPVT)の議事録、イタリア国パドヴァ、2002年6月19〜21日、24〜36頁に記載されているように実行されてもよい。
【００１６】
動作101の代替的な実施形態は、たとえば、参照によりその全体が本明細書に組み込まれる、F. Pece他による論文「Three Depth-Camera Technologies Compared」、BEAMING Workshop、バルセロナ、2011年、全2頁に記載されているような、深度を取得するための他の方法を使用してもよい。図2Aに示す特定の例において、画像231Aは、シーン214を撮像するカメラ202によって生成される入力ビデオ231の一連のフレーム内のいくつかの画像のうちの1つとしてカメラ202によってキャプチャされる。図2Aの例におけるシーン214は、テーブル213の表面213S上で開かれている本の形態の物体211を含む。シーン214において、ユーザ220は、ユーザの手221の人差し指212を使用することによって、本211の左頁211L上の一行のテキストを指差している。いくつかの実施形態において、一連の画像231A〜231Nが、カメラ202によって所定の速さ、たとえば、30フレーム/秒において作成され、たとえば、カメラ202がシーン214に対して動かされるときに深度値を取得するための飛行時間計算において使用するための、シーン214からキャプチャされたビデオとしてメモリ203(図1A)内に自動的に記憶される。
【００１７】
いくつかの実施形態において、動作102(図1A)において、プロセッサ100は、シーン214内に投影されるべきである情報233(図2C)を取得する。動作102において情報233が取得される特定の様式は、実施形態に応じて異なり得る。いくつかの実施形態において、情報233は、動作102において、たとえばマイクロホン(ユーザが話す「一次方程式(Linear Equations)」という言葉を伝える音響信号を供給することができる)から、またはキーボード(ユーザがタイプする「一次方程式」という言葉の文字列を形成する一連のキーストロークを供給することができる)から、ユーザインターフェース201(図1A)を介して受信される命令に基づいて取得される。
【００１８】
他の実施形態において、情報233は、別様に、たとえば、次のように、プロセッサ100が画像231Aの色値を使用して、情報233を自動的に取得することによって取得される。具体的には、いくつかの実施形態において、情報233は、動作102において、図2Aに示すように人差し指212が人間220の人の手221から差し伸ばされて物体211(本など)上に印刷されたテキスト218を指差すなどのハンドジェスチャを、プロセッサ100が画像231A(図2A)内で認識するのに基づいて取得される。
【００１９】
ハンドジェスチャは、たとえば、参照によりその全体が本明細書に組み込まれる、Rautaray他による論文「A Vision based Hand Gesture Interface for Controlling VLC Media Player」、the International Journal of Computer Applications、第10巻、第7号、2010年11月、全6頁に記載されているような、当業者には明らかな任意の様式でプロセッサ100が適切にプログラムされることによって認識されてもよい。プロセッサ100の他の実施形態は、たとえば、参照によりその全体が本明細書に組み込まれる、MitraおよびAcharyaによる論文「Gesture Recognition: A Survey」、IEEE transactions on Systems, Man, and Cybernetics - Part C: Applications and Reviews、第37巻、第3号、2007年5月、全14頁によって記載されているようにハンドジェスチャを識別してもよい。
【００２０】
したがって、図2Bに示す一例において、画像231A(図2B)内にキャプチャされた、左頁211L上に印刷されると共にユーザ220(図2A)によって指差されている文字列「一次方程式」を含むテキスト218の領域を識別するために、画像231Aの色値の二次元アレイ(図示せず)が、動作102(図1A)においてプロセッサ100によって自動的に処理される。
【００２１】
動作102において、情報233がそれを通じて識別されているユーザインターフェース201のタイプにかかわらず、プロセッサ100は、インターネット上で利用可能な「線形代数(Linear Algebra)」に関するビデオを求める要求232(図2B)を自動的に生成することによって、その識別に応答する。要求232はメモリ203内に記憶され、(いくつかの実施形態においてはユーザが承認した後に)メモリ203(図2C)内に記憶されて投影されるべき情報233として使用されるビデオ233(出力ビデオとも称される)を取得するのに使用される。動作102において情報233がどのように取得されるかの特定の例示的な実施形態が、参照によりその全体が本明細書に組み込まれる、2012年7月13日に出願された「Use Of Association Of An Object Detected In An Image To Obtain Information To Display To A User」と題する米国特許出願第13/549,339号、代理人整理番号Q111570U1osに記載されている。
【００２２】
いくつかの実施形態の動作102において取得される情報233は、上記においては、単一要素を構成する出力ビデオ233として記載されているが、他の実施形態においては、情報233は、互いから独立した、異なる表面上に投影することができる(たとえば、ウェブページ内の)複数の要素を含んでもよい。情報233のそのような複数の要素は、たとえば、情報233内のテキストおよび/またはグラフィックの異なるブロックを識別するために、タグ<table>を使用してHTMLで表現されたウェブページ内で定義されているテーブルおよび/またはセクションにおいて識別されてもよい。
【００２３】
図1Aを参照すると、プロセッサ100は、画像の深度値を使用して、実世界内のシーン214内の表面213S、211L(図2A)のセットを識別するための動作103を(上述した動作102の前、間または後の任意の時点において)実行するようにさらにプログラムされている。表面213S、211Lのセットは、動作103(図1A)において、情報233が投影されるとき、情報233が各領域内に良好に表示されるように、画像231Aを分割して一定の曲率を有する複数の領域にすることによって識別されてもよい。動作103において表面が識別される特定の様式は、実施形態によって異なり得る。
【００２４】
いくつかの実施形態において、動作103(図1A)は、たとえば、参照によりその全体が本明細書に組み込まれる、Alan P. Manganによる論文「Partitioning 3D Surface Meshes Using Watershed Segmentation」、IEEE Transactions on Visualization and Computer Graphics、第5巻、第4号、1999年10〜12月、308〜321頁に記載されているように、深度値を使用する。いくつかの実施形態において、カメラ202は上述の動作101を実行する前に、たとえば、参照によりその全体が本明細書に組み込まれる、Jean-Yves Bouguetによる「Camera Calibration Toolbox for Matlab」と題する記事、全4頁、最終更新2010年7月9日に記載されているように、較正される。この記事は、「http:%%www#vision#caltech#edu%bouguetj%calib_doc%」内の「%」を「/」に置き換え、「#」を「.」に置き換えることによって取得される文字列で識別されるウェブサイトにおいて利用可能である。
【００２５】
画像231Aは、異なる実施形態においては異なる技法を使用して分割されてもよい。いくつかの実施形態において、深度値は取得されず、シーン214内の表面は、たとえば、参照によりその全体が本明細書に組み込まれる、Wahlによる「Method for identifying three-dimensional objects using two-dimensional images」と題する米国特許第4,731,860号に記載されているように、ハフ変換を使用することによって一連の二次元画像から識別される。
【００２６】
したがって、いくつかの実施形態において、画像231Aは、動作103(図1A)においてプロセッサ100によって自動的に分割されて、表面のセットが識別される。図2Aおよび図2Bに示す例において、画像231Aの深度値のセットが、プロセッサ100によってメモリ203の格納先(storage location：保管場所)234(図2C)にコピーされ、その後、実世界(図2A)内の物体の211の表面を識別するために分割されると共に、それは、画像234(図2C)内の領域211A、211B、212A、212B、212Cおよび212Sに対応する。たとえば、図2A内の頁211Lの表面は、図2C内の画像234内の領域211Aに対応する。なお、便宜上、それぞれ図2Bおよび図2A内の画像231A内の領域およびシーン214内の対応する表面を指すために同じ参照符号が使用されている。
【００２７】
動作103の後、プロセッサ100の多くの実施形態は、動作102において取得された情報内の各要素について、その要素に適している表面(またはパッチP)を見つけるための動作106を実行する。いくつかの実施形態は、表面のサイズ、表面内の点の連続性、表面の曲率などのような要因の数に応じて適性をテストするが、動作106において実行される適性テストは、実施形態に応じて異なるものであり得る。表示されるべき情報の要素が表面の境界にまたがっていないとき、または、要素が不規則に巻いていないときに、いくつかの実施形態の動作106において、表面が適切であることを検出し得る。
【００２８】
図2A〜図2Cに示す例において、出力ビデオ233は、動作102において投影されるべき情報内の単一要素である。したがって、プロセッサ100は、出力ビデオ233を表示するための適性について、動作103において識別されたセットからのすべての表面211A、211B、212A、212B、212Cおよび212Sを評価する。そのような評価の間に、領域211C、211B、212Bおよび212Aの各々が、たとえばサイズに起因して出力ビデオ233を表示するのに適切でないことを検出する。この例では、動作106の完了時に、領域213Uおよび211Aが許容可能であることを検出し得る。
【００２９】
いくつかのそのような実施形態において、要素に適切である表面(またはパッチP)を検出すると、プロセッサは、さらに、要素が投影されるべき表面上の特定の位置を識別する。動作106において識別される特定の位置は、表面の形状(たとえば、長方形、円形)、および、選択された要素が表示されることになる長方形を表面が完全に包含することができる場所のような、いくつかの要因に応じて決まる。
【００３０】
動作106において、プロセッサ100がすべての要素に対する表面を見つけるのに成功した場合、プロセッサ100は、対応する表面のための1つまたは複数の伝達関数を識別するための動作108に進む。伝達関数は、動作108において、選択された表面上に情報を投影する影響を少なくとも部分的に無効にするために識別される。しかし、プロセッサ100が、動作106において、情報のいかなる要素に対しても適切な表面がないことを検出する場合、プロセッサ100はユーザ入力を受信するための動作107(後述)に進む。
【００３１】
たとえば、表面213Sが平坦であり、モバイルデバイス200内のプロジェクタ205の表面213Sに対する向きおよび位置(「姿勢(pose：ポーズ)」とも称される)を補償するのに使用するための対応する表面変形が、動作108においてプロセッサ100によって識別される。そのような表面変形は、たとえば、出力ビデオ233のフレーム233Aの高さを短くすることができ、それによって、投影上の変形されたフレームは、実世界のシーン214内の表面213S上に、具体的には表面213Sに対して90°ではない角度θにおいて入射すると(すなわち、ビデオ236が、図2Hに示されるように表面213Sに角度θで垂直ではなく傾斜して投影されると)、物理的に引き伸ばされたように適切にレンダリングされる。
【００３２】
いくつかの実施形態において、動作108において、伝達関数は、動作106において適切であることを検出した表面(または代替的に、動作107においてユーザ入力によって識別された表面)をモデル化する値を保持する二次元行列に対する行列反転を実行することによって識別される。値のモデルは動作108において、任意の様式で、たとえば、表面の深度値と三次元(3D)モデルのライブラリ522(図4)内の1つまたは複数のモデルとの比較に基づいて識別される。いくつかの実施形態において、モデルは動作108において、たとえば、参照によりその全体が本明細書に組み込まれる、N. Werghiによる論文「Robust 3D Object Registration Based on Pairwise Matching of Geometric Distributions」、全8頁、2009年刊行、International Journal of Computers and Applications、第31巻、第1号に記載されているように選択される。
【００３３】
次に、動作109において、プロセッサ100は、たとえば、伝達関数の行列と情報の要素の行列との間で行列乗算を実行することによって伝達関数を情報の要素に適用して、変形された(情報の)要素を取得する。その後、動作110において、プロセッサ100は、情報の変形された要素をメモリ203内に、具体的には、プロジェクタ205に動作可能に結合されているフレームバッファ530(図4)内に記憶する。
【００３４】
動作110の後、プロセッサ100は、プロジェクタ205を動作させるための動作112に進む。プロジェクタ205が動作すると、フレームバッファ530内の1つまたは複数の変形された要素がシーン214内に投影される。変形された要素の投影が選択された表面(たとえば、図2Eの表面211A)に入射すると、選択された表面211Aは変形された要素を変形して戻し、それによって、表面211A上でレンダリングされた情報は、人間220(図2E)には正常に見える。
【００３５】
情報の変形された要素の三次元表面上への投影(図2H内のビデオ236など)は、多くの実施形態において、たとえば、(1)Shapiroに特許付与されている米国特許第7,905,610号(上記で参照により組み込まれている)によって記載されている方法、および(2)参照によりその全体が本明細書に組み込まれる、Raskarによる「Projecting Warped Images Onto Curved Surfaces」と題する米国特許出願公開第2004/0184013号によって記載されている方法と同様または同一にして実行されてもよい。
【００３６】
動作112が完了すると、プロセッサ100は動作101に戻り、それによって、上述の動作がもう一度実行される。いくつかの実施形態において、プロセッサ100は動作112から、ユーザ入力を受信するための動作107に進む。この段階において、情報が投影されている間、動作107において受信されたユーザ入力は、たとえば、ユーザが「上出来だ(Good job)」と言うか、または、カメラ202の前で手221の親指210を伸ばすことによって図2Fに示すように承認の親指を立てるハンドジェスチャを行うことによって、投影の承認を示すことができる。ユーザ入力が選択された表面の承認を示すと、プロセッサ100は動作108(上述)に進んで、情報投影のために選択された表面を使用し続ける。
【００３７】
動作107において受信されるユーザ入力は、たとえば、ユーザが「良くない(Not Good)」と言うことによって(マイクロホン1112によって感知)、または、カメラ202の前で手221の人差し指212を差し伸ばすことによって図2Gに示すように別の表面213Sを指差すハンドジェスチャを行う(かつ、カメラ202がそれをキャプチャする)ことによって、投影の不承認を示してもよい。ユーザ入力が、図2E内の表面211Aのような選択された表面の不承認を示すと、プロセッサ100は、図2Hに示すような情報投影のために、今度は、図2Gに示すようなユーザ入力によって識別される異なる表面213Sを使用して、動作108〜110(上述)を再び実行する。ユーザ入力が異なる表面を識別せず、単に自動的に選択された表面211Aを不承認とするだけであるとき、プロセッサ100は、情報を表示するのに適切であることを検出した異なる表面(たとえば、図2Hに示す表面213S)を自動的に選択して使用しはじめる。
【００３８】
いくつかの実施形態において、動作107を実行する際に、プロセッサ100は形状を識別するユーザ入力を受信する。たとえば、ユーザは、ハンドジェスチャを行うことによって、円を示す入力を提供することができる。それに応答して、プロセッサ100は、伝達関数においてその形状を使用して、表示されるべき情報の要素の一部をマスクアウトする。たとえば、カメラ202によって感知されたハンドジェスチャが円である場合、プロセッサ100は、1の値が円の内側であり、0の値が円の外側である、二進値のマスクを形成する。今説明したマスクは、投影されるべき情報の要素を変形させるための動作109において、選択された表面の3Dモデルの行列とともに使用される。
【００３９】
プロセッサ100のいくつかの実施形態は、図1Bに示し後述するように、図1Aに示す動作106を実行する。具体的には、動作151において、プロセッサ100は、投影されるべき情報の要素Eを選択して、動作152に進む。動作152において、プロセッサ100は、選択された要素Eが表示されるべき長方形(図2Dの長方形272など)の高さHおよび幅Wを決定する。高さHおよび幅Wは、いくつかの実施形態のプロセッサ100によって、要素E内の画像の所定の解像度に基づいて決定さる。他の実施形態において、高さHおよび幅Wは、プロセッサ100によって、要素E内のテキストのフォントサイズに基づいて決定される。その後、プロセッサ100は動作153に進む。
【００４０】
動作153において、プロセッサ100は、選択された表面(またはその中のパッチP)に対応する画像の領域内の総ピクセル数Nと、要素を表示するのに使用されるべき高さHおよび幅Wの長方形の面積、すなわち、H*Wとを比較することによって、表面(または表面内のパッチP)を選択する。N≧H*Wである場合、表面(またはパッチP)が選択され、そうでない場合は選択されない。今説明した比較は、サイズが小さすぎて選択された要素Eを収容する(たとえば、完全に包含する)ことができない一切の表面を除外する。動作153の比較において、要素Eを投影するために十分に大きい表面がない場合、制御は動作164(後述)に移動する。少なくとも1つの表面が十分に大きいとき、表面は動作153において選択され、その後、後述するようなフレームバッファの列および行に関してループして(繰り返して)、選択された表面が選択された要素Eを投影するのに適切であるか否かをチェックする。
【００４１】
いくつかの実施形態において、プロセッサ100は、行Rを値0に初期化するための動作154を実行し、列Cを値0に初期化するための動作155を実行し、その後、動作156において、フレームバッファにおいて4つの角(R、C)、(R、C+W)、(R+H、C)および(R+H、C+W)によって識別される長方形において、選択された表面(またはパッチP)上に選択された要素Eを投影することの適性についてテストが行われ、上記のようにWは長方形の幅であり、Hは高さである。そのような実施形態において、4つの角が識別されるX-Y座標系が、図2Dに示すようなフレームバッファ530の底の左下の角に位置決めされる。したがって、たとえば、要素Eがビデオ233(図2C)であるとき、プロセッサ100によってその解像度を使用して上述の4つの角を識別することによって、長方形272が上述のようにメモリ203内のフレームバッファ530内で識別される。
【００４２】
したがって、動作156において、プロセッサ100は、1つまたは複数のテスト、たとえば、要素Eを投影するのに使用されるべきである今説明した長方形内のすべてのピクセルが、表面に対応する画像の領域内に存在する(たとえば、その中に含まれる)か否かのテストを実行する。ピクセル可用性に関する今説明したテストは、図2D(長方形272の角(R、C)が領域211A内に存在しない)に示すように、投影するのに適切でない場合がある不規則な形状の表面211Aに対する長方形272の位置を除外する。1つの例示的なテストを動作156において説明および例示したが、要素の投影に関する表面の適性の任意の他のそのようなテストが、本明細書を考慮すれば容易に明らかになるように、実施形態に応じて動作156において実行されてもよい。
【００４３】
動作156(図1B)における答えがno(いいえ)である場合、選択された表面上での上述の長方形内の投影は、任意のそのようなテストによって適切でないことを検出したので、プロセッサ100は動作157〜160を使用してループして(繰り返して)、選択された表面211Aが長方形272の投影のためにまだ適切であり得る、長方形272と選択された表面211Aとの間の別の相対位置があるか否かをチェックする。具体的にはプロセッサ100は、動作157(図1B)において、列C+Wがフレームバッファ530の幅未満であるか否かをチェックし、そうである場合は動作158に進んで列Cをインクリメントし(それによって、長方形272を正のX方向において図2Dにおける右に移動し)、その後、動作156(上述)に戻る。動作157における答えがno(いいえ)である場合、プロセッサ100は、動作159に進んで、行R+Hがフレームバッファの高さ未満であるか否かをチェックし、そうである場合は動作160に進んで行Rをインクリメントし(それによって、長方形272を正のY方向において図2Dにおける上向きに移動し)、その後、動作155(上述)に戻る。
【００４４】
動作154〜160を繰り返し実行することによって、プロセッサ100は、選択された表面211Aに対して、フレームバッファ530内に包含される長方形272のすべての可能な位置をテストし、動作156におけるテストによって適切である位置が検出されない場合、動作159における答えはno(いいえ)であり、プロセッサ100は動作161に進んで、すべての表面(またはパッチ)がテストされたか否かをチェックし、そうでない場合、動作153に戻って別の表面を選択する。動作161における答えがyes(はい)である場合、プロセッサ100は動作163に進んで、表示されるべき情報のすべての要素が処理されたか否かをチェックし、そうでない場合、動作151に戻って別の要素を選択するが、すべての要素が処理されている場合、プロセッサ100は動作164(後述)に進む。
【００４５】
動作156において、答えがyes(はい)である場合、プロセッサ100は動作162に進んで、表面(またはパッチP)上の場所(location：位置)の座標(R、C)を、要素Eが投影され得る特定の位置として識別し、メモリ内に、すなわちメモリ203内のリスト273(図2C)内の項目内に記憶する。なお、リスト273(図2C)内の各項目は、要素Eを投影するための候補であり、1つの特定の候補が後述する動作164において投影に使用するのに割り当てられる。
【００４６】
したがって、動作156における1つまたは複数のテストが成功すると、動作162において、プロセッサ100は選択された表面(またはパッチP)を要素Eと関連付け、その後、プロセッサ100は動作161に進む。動作161(上述のような)において、プロセッサ100は、すべての表面がテストされたかをチェックし、答えがno(いいえ)である場合、動作153に戻って、別の表面またはパッチPをテストする。動作161および153〜156および162を通ってループした(繰り返した)後、要素Eの寸法および(図1Aにおける動作103の通り)投影に利用可能なセット内の表面に応じて、動作161から「yes(はい)」の分岐がとられると、テストされて要素Eを投影するのに(動作156の通り)適切であると検出されたすべての表面が、要素Eに関する、メモリ203内に維持されているリスト内で識別される。
【００４７】
したがって、図2Cの例において、動作156のテストが繰り返し実行されて、対応する2つの表面213Uおよび211Aを識別する2つの項目を含むリスト273が、ビデオ233と関連付けられる。なお、表面213Uおよび211Aは、動作103において識別されたすべての表面211A、211B、212A、212B、212Cおよび212Sのセットのうちのサブセットを構成する。表面213Uおよび211Aの各々が動作162によってビデオ233のリスト273内のビデオ233と関連付けられ、対応する表面上でビデオ233を投影することができる場所を指示するために特定の位置がリストの各要素内で識別されている。図2Cの説明例において、メモリ203は、投影されるべき情報が1つの要素しか有しないときは1つのみのリスト273を保持し、たとえば、投影されるべき情報が複数の要素を含むとき、動作163における「no(いいえ)」の分岐から動作151へとループバックしている(戻っている)プロセッサ100によって複数のリストが生成される。
【００４８】
動作163においてすべての要素が処理されているとき、プロセッサ100によって動作164へと進む「yes(はい)」の分岐がとられる。動作164において、プロセッサ100は、各要素Eに対して動作162によってすべての候補表面が識別されたリストに基づいて、各要素Eを投影するための特定の表面を割り当てる。具体的には、動作164において、プロセッサ100は各表面(またはパッチP)に関してループして(繰り返して)、すべてのリストの中から、所与の表面が割り当てられているリストのサブセットを識別し、その後、そのサブセットから、最小数の表面を有する単一のリストを識別し、その後、その単一のリストに対応する要素を、所与の表面に割り当てる。たとえば、表面211Aに1つの要素233しか関連付けられていない場合、要素233は動作164において表面211Aに割り当てられ、この表面211Aはその後、すべてのリストから削除され、その後、同じプロセスを使用して別の表面が識別される。動作164が完了して、すべての表面が、情報の対応する要素の映像を受信するために割り当てられたとき、いくつかの実施形態においては、割り当てられていないままの任意の要素はフレームバッファ530内でレンダリングされず、投影されないが、代替の実施形態は、たとえば、音響メッセージを介してユーザに通知する。
【００４９】
図2A〜図2Hに示す例において、情報は、その全体が図2Eに示すような表面211A内に、または図2Hに示すような別の表面213S内に投影される出力ビデオ233であるが、他の実施形態において、投影されるべき情報は複数の要素(部分とも称される)を含み、その各々を別の部分(または要素)から独立して投影することができる。具体的には、図3Aに示す例において、テーブル213の表面213S上に位置する物体311(瓶のキャップ241など)が、動作101(図1A)の通りにモバイルデバイス200によって撮像され、結果としての画像が画像331A(図3B)としてメモリ203内に記憶される。画像331Aはその後、画像331A(図3C)内の領域213Sおよび311Sに対応するシーン314(図3A)内の表面213Sおよび311Sのような表面を識別するために、動作103(図1A)の通りに分割される。このように、数多くの追加の領域241A〜241N(図3C)が動作103によって識別される。
【００５０】
この例における投影されるべき情報は、ゲームソフトウェア309を実行することによって生成され、互いから独立して投影することができる2つの別個の要素(または部分)、すなわち、(1)ゲームのプレーヤのための第1のテキストライン(図3Cにおいては文字列「グループ2(Group 2)として示す」)、および(2)その同じプレーヤのスコアのための第2のテキストライン(図3Cにおいては別の文字列「スコア:0(Score: 0)として示す」)として、メモリ203の格納先309S内に記憶される。図1Aを参照して上述したタイプの方法を実行することによって、プロセッサ100は、動作153(図1B)において、各領域241A…241I…241Nを、小さすぎて第1の要素(すなわち、第1のテキストライン333A)を表示することができず、したがって除外されるものと決定する。
【００５１】
この例において、最初に、プロセッサ100は領域311Sを、第1の要素を表示するのに十分に大きいものとして識別し、動作156において適性を評価する。動作156において、プロセッサ100は、シーン314内の表面311S(画像331A内の領域311Sに対応する)に対して第1のテキストライン333Aを表示するための長方形の様々な位置をテストし、ある位置が適切であることを検出すると、動作162によって、表面311Sおよびその位置が、プロセッサ100によって、第1のテキストライン333Aのリスト内の第1の項目として追加される。この例において、次に、プロセッサ100は、領域213Sを同じく第1の要素を表示するのに十分に大きいものとして識別し、動作156を繰り返すことによって適性を評価する。動作156のこの反復において、プロセッサ100は、今回はシーン314内の表面213S(画像331A内の領域213Sに対応する)に対して、第1のテキストライン333Aを表示するための同じ長方形の様々な位置をテストし、ある位置が適切であることを検出すると、動作162によって、表面213Sおよびその位置が、プロセッサ100によって、第1のテキストラインの上述のリスト内の第2の項目として追加される。したがって、この段階において、第1のテキストラインのリストは2つの項目を有する。同様に、同じく2つの項目を有する第2のテキストラインの別のリストが、プロセッサ100によって生成される。最後に、動作164を実行することによって、プロセッサ100は、表面311Sに第1のテキストライン333Aを割り当て、表面213Sに第2のテキストライン333B(図3D)を割り当て、その後、プロジェクタ205を操作することによって投影を生成する。
【００５２】
いくつかの実施形態において、プロセッサ100は、たとえば、2つの要素を構成する2つのテキストライン333Aおよび333Bが図3Eに示すように可能な限り互いに近くに位置決めされるように、動作164において表面に割り当てられる各要素の位置を最適化するようにプログラムされる。なお、x座標およびy座標のインクリメントは上記ではいくつかの実施形態の動作158および160によって実行されるものとして示されているが、他の実施形態は、他の方法で、たとえば、回転によって、要素を投影するための形状(長方形または円)を移動してもよい。図3Fに示す例において、モバイルデバイス200によって表面311S上に表示される情報は、ウェブサイトwww.twitter.comにおいてコンピュータ(図示せず)から取得される。
【００５３】
図1、図2A〜図2H、図3A〜図3Fおよび図4を参照して上述したようなメモリ203内のソフトウェアを用いてプログラムされているプロセッサ100は、上記のようにモバイルデバイス200内に含まれてもよい。モバイルデバイス200は、プロジェクタ205および/またはカメラ202を含む任意のデバイスであってもよく、デバイス200は、任意のハンドヘルドデバイス内で通常使用される追加の部品、たとえば、上述の1つまたは複数の動作において、たとえば、物体311および/またはテーブル213に対するモバイルデバイス200の姿勢(pose)(位置および配向)を決定するのに使用されてもよい、加速度計、ジャイロスコープなどのような運動センサを含んでもよい。
【００５４】
モバイルデバイス200は、携帯電話もしくは他のワイヤレス通信デバイス、パーソナル通信システム(PCS)デバイス、パーソナルナビゲーションデバイス(PND)、個人情報マネージャ(PIM)、携帯情報端末(PDA)、ラップトップ、カメラ、または、シーン214の撮像および/またはシーン214への情報の投影が可能である他の適切なモバイルデバイスなどの、任意のポータブル電子デバイスであってもよいことを理解されたい。いくつかの実施形態において、単一のデバイス200が、カメラ202およびプロジェクタ205の両方を含み、一方で、他の実施形態においては、1つのそのようなデバイスがカメラ202を含み、別のそのようなデバイスがプロジェクタ205を含み、両方のデバイスが直接またはコンピュータ(図示せず)を介してのいずれかで互いと通信する。
【００５５】
上述のような、情報をシーンに投影するための図1Aの方法を実行するにあたっては、種々の対話メタファが使用され得る。カメラ202(図2A)によってキャプチャされる画像内のテキスト列から生成されるユーザ入力は、ユーザがモバイルデバイスと直接対話しなければならない非画像ベースの対話とは対照的に、ユーザが、シーン214内に到達し、実世界の物体211を直接操作することを可能にする。具体的には、画像ベースのユーザ対話が入力技法および出力技法として選択されるとき、図1Aおよび図1Bを参照して上述したタイプの方法は、ユーザがシーン214中に投影されている情報を変更する入力を供給しているとき、ユーザが、自身の手を、情報が実世界中に投影されているシーン214において使用することを可能にする。
【００５６】
上述したタイプのモバイルデバイス200は、「コンピュータビジョン」技法を使用する様々な物体認識方法を含んでもよい。モバイルデバイス200は、画像231Aを、シーン214内の異なる複数の3D表面(またはパッチ)に属する複数のデータ領域521(「表面データ」とも称される)に分割するために、上述した動作103のいくつかの実施形態において使用される流域アルゴリズムを実装するための3D表面分割ソフトウェア511(図4)をさらに含んでもよい。さらに、モバイルデバイス200は、たとえば、高さHおよび幅Wの長方形内で情報の要素をその上に投影することができる表面のセット521のうちの特定の表面を発見する表面ファインダ512をさらに含んでもよい。いくつかの実施形態において発見するための手段を実装する表面ファインダ512は、今説明した長方形内のすべてのピクセルが、特定の表面に対応する、画像231Aの領域内に存在するか否かをテストするための(たとえば、それによってテストするための手段を実装する)ソフトウェアをさらに含む。表面ファインダ512はまた、3Dモデルのライブラリ522から、(たとえば、図1Bの方法によって実施される)動作106を参照して上述したような長方形を表示するのに適した(表面データ521内で識別される表面の中の)単一の3D表面の単一のモデルを選択し、それによって、いくつかの実施形態における識別するための手段を実装する。したがって、いくつかの実施形態において、表面ファインダ512は、その出力として3Dモデルの識別子、およびまた、長方形を表示することができる位置の座標を供給する。
【００５７】
モバイルデバイス200は、上述した動作102の通りに投影されるべき1つまたは複数の要素を有する情報233を取り出すための情報検索ソフトウェア513をさらに含んでもよい。モバイルデバイス200内の情報変換器514は、伝達関数識別器および伝達関数適用器の2つのモジュールを含む。伝達関数識別器は、上述した動作108の通りに行列反転を実施し、伝達関数適用器は、動作108によって生成された反転行列を情報の要素に適用して、変形された要素525を取得し、変形された要素525は、その後プロジェクタ205に動作可能に結合されているメモリ203内のフレームバッファ530内に記憶され、プロジェクタ205を操作するとシーン214内に投影される。したがって、いくつかの実施形態の情報変換器514は記憶するための手段を実装する。
【００５８】
モバイルデバイス200には、IRもしくはRF送信機、または、インターネット、WiFi、セルラーワイヤレスネットワークもしくは他のネットワークのような1つもしくは複数のタイプのワイヤレス通信ネットワークを介して1つもしくは複数の信号を受信および/もしくは送信することを可能にされたワイヤレス送信機をさらに設けられてもよい。また、モバイルデバイス200は、グラフィックスエンジン1004、画像プロセッサ1005、IRカメラ1006(たとえば、外部プリント回路基板1130内の)、ならびに、ファームウェア、および/またはソフトウェア、および/または定数データを記憶するための読み出し専用メモリ(ROM)1007をさらに含んでもよい。モバイルデバイス200は、プロセッサ100によって実行されるソフトウェアを記憶するためのディスク(disk)1008(または1つもしくは複数の持続性コンピュータ可読記憶媒体)をさらに含んでもよい。モバイルデバイス200は、ワイヤレス送信機および受信機1010および/または任意の他の通信インターフェース1009、タッチスクリーン1001または他のスクリーン1002をさらに含んでもよい。
【００５９】
実施形態に応じて、モバイルデバイス200は、カメラ202と組み合わせてプロジェクタ205を使用するジェスチャ認識ソフトウェアを用いてプログラムされてもよい。プロジェクタ205は、携帯電話のディスプレイを、ユーザがハンドジェスチャを使用して対話することができる、壁のような、ありふれた表面上にレンダリングするために使用することができる。同じく実施形態に応じて、モバイルデバイス200は、専用IRレーザスタイラスまたはグローブを追跡し、IRリンク1131を介してユーザ入力を供給するIRカメラ1006を使用するように設計されてもよい。
【００６０】
モバイルデバイス200は、携帯電話もしくは他のワイヤレス通信デバイス、パーソナル通信システム(PCS)デバイス、パーソナルナビゲーションデバイス(PND)、個人情報マネージャ(PIM)、携帯情報端末(PDA)、ラップトップ、カメラ、スマートフォン、タブレット、または、拡張現実(AR)環境を作成することが可能である他の好適なモバイルデバイスなどの、任意のポータブル電子デバイスであってもよいことを理解されたい。
【００６１】
いくつかの記載の実施形態のモバイルデバイス200は、たとえば、IRもしくはRF送信機、または、インターネット、WiFi、セルラーワイヤレスネットワークもしくは他のネットワークのような1つもしくは複数のタイプのワイヤレス通信ネットワークを介して1つもしくは複数の信号を送信することを可能にされたワイヤレス送信機であってもよい、送受信機1010内の送信機を使用することによって、ユーザ入力に応答して、玩具であってもよい実世界の物体を遠隔制御するための手段をさらに含んでもよい。無論、モバイルデバイス200は、プロセッサ100が使用するためのファームウェアを記憶するのに使用されてもよい読み出し専用メモリ1007のような、他の要素を含んでもよい。
【００６２】
また、実施形態に応じて、本明細書に記載したタイプの様々な機能は、ソフトウェア(1つまたは複数のプロセッサまたはプロセッサコアによって実行される)内または専用ハードウェア回路内またはファームウェア内またはそれらの任意の組合せ内に実装されてもよい。したがって、実施形態に応じて、図4に示し上述した表面分割器511、表面ファインダ512、情報検索器513、および情報変換器514のうちのいずれか1つまたは複数は、必ずしもそうである必要はないが、1つまたは複数のマイクロプロセッサ、組込みプロセッサ、コントローラ、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)などを含むことができる。プロセッサという用語は、特定のハードウェアではなく、システムによって実施される機能を意図されている。さらに、本明細書で使用する際、「メモリ」という用語は、長期メモリ、短期メモリ、またはモバイルプラットフォームに関連する他のメモリを含む任意のタイプのコンピュータ記憶媒体を指し、いかなる特定のタイプのメモリ、もしくはメモリの数、またはメモリが記憶される媒体のタイプに限定されない。
【００６３】
したがって、本明細書で説明する方法は、用途に応じて様々な手段によって実現され得る。たとえば、これらの方法は、ROM1007(図4)内のファームウェアもしくはソフトウェア、もしくはハードウェアまたはそれらの任意の組合せ内で実装されてもよい。ハードウェアの実装形態の場合、処理ユニットは、本明細書で説明された機能を実行するように設計された、1つもしくは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号プロセッシングデバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、他の電子ユニット、またはそれらの組合せ内で実装されてもよい。ファームウェアおよび/またはソフトウェア実装形態の場合、これらの方法は、本明細書で説明する機能を実行するモジュール(たとえば、プロシージャ、関数など)によって実装されてもよい。
【００６４】
本明細書で説明する方法を実装する際に、コンピュータ命令を有形に具現化する任意の機械可読媒体が使用されてもよい。たとえば、ソフトウェア510(図4)は、メモリ203に記憶され、プロセッサ100によって実行されるプログラムコードを含んでもよい。メモリは、プロセッサ100の内部に実装されてもよく、または、プロセッサ100の外部に実装されてもよい。ファームウェアおよび/またはソフトウェアに実装する場合、機能は、コンピュータ可読媒体に1つまたは複数のコンピュータ命令またはコードとして記憶されてもよい。例としては、データ構造(一連の画像など)を符号化された持続性コンピュータ可読記憶媒体、および、コンピュータプログラム(図1A〜図1Bの方法を実行するために実行することができるソフトウェア510など)を符号化されたコンピュータ可読媒体が挙げられる。
【００６５】
コンピュータ可読媒体は、物理的なコンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の使用可能な媒体であってもよい。限定ではなく、例として、そのようなコンピュータ可読媒体は、RAM、ROM、フラッシュメモリ、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、またはプログラムコードをソフトウェア命令(「プロセッサ命令」または「コンピュータ命令」とも称される)またはデータ構造の形で記憶するのに使用することができ、かつコンピュータによってアクセスすることのできる任意の他の媒体を備えてよく、本明細書で使用する際、ディスク(diskおよびdisc)には、コンパクトディスク(disc)(CD)、レーザディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)が含まれ、ディスク(disk)は通常、データを磁気的に再生するが、ディスク(disc)はデータをレーザによって光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【００６６】
説明のために本発明を特定の実施形態に関連して示したが、本発明はそれらの実施形態に限定されない。したがって、いくつかの実施形態の図4に示すアイテム200はモバイルデバイスであるが、他の実施形態において、アイテム200は、異なるフォームファクタを使用することによって実装され、たとえば、特定の他の実施形態において、アイテム200はモバイルプラットフォーム(タブレット、たとえば、Apple, Inc.から市販されているiPadなど)であるが、さらに他の実施形態において、アイテム200は任意の電子デバイスまたはシステムである。そのような電子デバイスまたはシステム200の例示的な実施形態は、1つまたは複数のワイヤレスリンクを介して、手に保持されるのに十分に小さいハウジング内に包含されるセンサおよびユーザ入力回路と通信する、ラップトップコンピュータ、デスクトップコンピュータ、またはサーバコンピュータのような固定コンピュータの部分であるプロセッサおよびメモリのような、ワイヤレスに相互通信する複数の物理的な部品を含んでもよい。
【００６７】
説明のためにいくつかの態様を特定の実施形態に関連して示したが、本発明はそれらの実施形態に限定されない。記載されている実施形態の範囲から逸脱することなく様々な適合および改変がなされてもよい。したがって、添付の特許請求の範囲における趣旨および範囲は、上記の説明に限定されるべきではない。
【符号の説明】
【００６８】
100  プロセッサ
200  モバイルデバイス
201  ユーザインターフェース
202  カメラ
203  不揮発性メモリ
205  プロジェクタ
210  親指
211  物体
211A  表面
211C  領域
211L  左頁
212  指
213  テーブル
213S  領域
213U  領域
214  シーン
218  テキスト
220  人間
221  手
231  入力ビデオ
231A  画像
232  要求
233  情報の要素
233  出力ビデオ
233A  フレーム
234  格納先
236  ビデオ
241  キャップ
241A  領域
272  長方形
273  リスト
309  ゲームソフトウェア
309S  格納先
311  物体
311S  表面
314  シーン
331A  画像
333A  テキストライン
333B  テキストライン
510  ソフトウェア
511  3D表面分割ソフトウェア
512  表面ファインダ
513  情報検索ソフトウェア
514  情報変換器
521  データ領域
522  ライブラリ
525  要素
530  フレームバッファ
1001  タッチスクリーン
1002  スクリーン
1004  グラフィックスエンジン
1005  画像プロセッサ
1006  IRカメラ
1007  読み出し専用メモリ
1009  通信インターフェース
1010  送受信機
1112  マイクロホン
1130  外部プリント回路基板
1131  IRリンク
【図１Ａ】
2014531787.tif 000003
【図１Ｂ】
2014531787.tif 000004
【図２Ａ】
2014531787.tif 000005
【図２Ｂ】
2014531787.tif 000006
【図２Ｃ】
2014531787.tif 000007
【図２Ｄ】
2014531787.tif 000008
【図２Ｅ】
2014531787.tif 000009
【図２Ｆ】
2014531787.tif 000010
【図２Ｇ】
2014531787.tif 000011
【図２Ｈ】
2014531787.tif 000012
【図３Ａ】
2014531787.tif 000013
【図３Ｂ】
2014531787.tif 000014
【図３Ｃ】
2014531787.tif 000015
【図３Ｄ】
2014531787.tif 000016
【図３Ｅ】
2014531787.tif 000017
【図３Ｆ】
2014531787.tif 000018
【図４】
2014531787.tif 000019
【手続補正書】
【提出日】平成25年6月19日(2013.6.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
実世界内のシーンの画像を受信するステップであって、前記画像は前記実世界内の点に対する複数の距離を備える、受信するステップと、
少なくとも前記画像の分割によって前記シーン内の表面のセットを識別するために、少なくとも前記複数の距離を使用するステップと、
前記表面のセットのうちの、情報の要素をその上に投影することができる表面を発見するステップであって、前記表面は少なくともサイズに基づいて前記要素を表示するのに適切であることが検出される、発見するステップと、
前記発見するステップが、前記情報の要素を前記表面上に投影することができることを示すとき、1つまたは複数のプロセッサが、前記表面を使用するための伝達関数を識別するステップと、
少なくとも前記情報の要素に、前記伝達関数を適用するステップと、
メモリ内のフレームバッファ内で、前記発見するステップの間に識別される特定の位置に、前記適用するステップから生じる変形された要素を記憶するステップと
を含む、方法。
【請求項２】
前記発見するステップは、前記表面に対応する前記画像の領域内の総ピクセル数を、前記情報の要素を表示するための長方形の面積と比較するステップを含む、請求項1に記載の方法。
【請求項３】
前記発見するステップは、前記情報の要素を投影するのに使用されるべき長方形内のすべてのピクセルが、前記表面に対応する前記画像の領域内に存在するか否かをテストするステップを含む、請求項1に記載の方法。
【請求項４】
前記発見するステップの間に、別の特定の位置が前記表面上で識別され、前記メモリ内に記憶される、請求項1に記載の方法。
【請求項５】
前記表面のセットのうちのサブセットを形成する複数の表面を、前記情報の要素と関連付け、それによって、前記情報の要素を前記複数の表面の各々の上に投影することができるように、前記テストするステップは繰り返し実行され、
前記方法は、前記情報の要素の投影を、前記サブセットから選択される前記表面に割り当てるステップをさらに含む、請求項3に記載の方法。
【請求項６】
プロジェクタを、前記フレームバッファ内の前記変形された要素を投影するように操作するステップと、
前記操作するステップの後に、ユーザ入力を受信するステップと、
前記ユーザ入力の受信に応答して、異なる表面について、前記伝達関数を前記識別するステップ、前記適用するステップ、および前記記憶するステップを反復するステップと
をさらに含む、請求項1に記載の方法。
【請求項７】
前記ユーザ入力は前記異なる表面を識別する、請求項6に記載の方法。
【請求項８】
前記ユーザ入力は、別の画像内でハンドジェスチャとして識別される、請求項6に記載の方法。
【請求項９】
前記発見するステップが、前記情報の要素を前記表面のセットのうちのいかなる表面上にも投影することができないことを示すときに、異なる表面を識別するユーザ入力を受信するステップと、
前記異なる表面について、前記伝達関数を前記識別するステップ、前記適用するステップ、および前記記憶するステップを反復するステップと
をさらに含む、請求項1に記載の方法。
【請求項１０】
形状を識別するユーザ入力を受信するステップと、
前記情報の要素の一部をマスクアウトするために、前記伝達関数において前記形状を使用するステップと
をさらに含む、請求項1に記載の方法。
【請求項１１】
1つまたは複数の持続性コンピュータ可読記憶媒体であって、
実世界内のシーンの画像を受信するための命令であって、前記画像は前記シーン内の点に対する複数の距離を含む、受信するための命令と、
少なくとも前記画像の分割によって前記シーン内の表面のセットを識別するために、少なくとも前記画像内の前記複数の距離を使用するための命令と、
前記表面のセットのうちの、情報の要素をその上に投影することができる表面を発見するための命令であって、前記表面は少なくともサイズに基づいて前記要素を表示するのに適切であることが検出される、発見するための命令と、
前記発見することが、前記情報の要素を前記表面上に投影することができることを示すとき、前記表面を使用するための伝達関数を識別するための、1つまたは複数のプロセッサに対する命令と、
少なくとも前記情報の要素に、前記伝達関数を適用するための命令と、
メモリ内のフレームバッファ内で、前記発見することの間に識別される特定の位置に、前記適用することから生じる変形された要素を記憶するための命令と
を備える、1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１２】
前記発見するための命令は、前記表面に対応する前記画像の領域内の総ピクセル数を、前記情報の要素を表示するための長方形の面積と比較するための命令を含む、請求項11に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１３】
前記発見するための命令は、前記情報の要素を表示するのに使用されるべき長方形内のすべてのピクセルが、前記表面に対応する前記画像の領域内に存在するか否かをテストするための命令を含む、請求項11に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１４】
別の特定の位置が、前記発見するための命令を実行することによって前記表面上で識別される、請求項13に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１５】
前記表面のセットのうちのサブセットを形成する複数の表面を、前記情報の要素と関連付け、それによって、前記情報の要素を前記複数の表面の各々の上に投影することができるように、前記テストするための命令は繰り返し実行されるように構成され、
前記1つまたは複数の持続性コンピュータ可読記憶媒体は、前記情報の要素の投影を、前記サブセットから選択される前記表面に割り当てるための命令をさらに含む、請求項13に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１６】
プロジェクタを、前記フレームバッファ内の前記変形された要素を投影するように操作するための命令と、
前記操作することに続いて、ユーザ入力を受信するための命令と、
異なる表面について、前記伝達関数を前記識別するための命令、前記適用するための命令、および前記記憶するための命令を実行するための命令と
をさらに備える、請求項11に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１７】
前記ユーザ入力が、前記異なる表面を識別する、請求項16に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１８】
前記ユーザ入力が、少なくとも別の画像において識別される、請求項16に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項１９】
前記チェックするための命令の実行が、前記情報の要素を前記表面のセットのうちのいかなる表面上にも投影することができないことを示すときに実行されるように構成されている、異なる表面を識別するユーザ入力を受信するための命令と、
前記異なる表面について、前記伝達関数を前記識別するための命令、前記適用するための命令、および前記記憶するための命令を反復するための命令と
をさらに備える、請求項11に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項２０】
形状を識別するユーザ入力を受信するための命令と、
前記情報の要素の一部をマスクアウトするために、前記伝達関数において前記形状を使用するための命令と
をさらに備える、請求項11に記載の1つまたは複数の持続性コンピュータ可読記憶媒体。
【請求項２１】
カメラと、
前記カメラに動作可能に結合されている1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに動作可能に結合されているメモリと、
前記メモリ内のフレームバッファからの情報を投影するために、前記メモリ内のフレームバッファに動作可能に結合されているプロジェクタと、
前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
前記カメラから、実世界内のシーンの画像を受信させ、ここで、前記画像は前記実世界内の点に対する複数の距離を備え、
少なくとも前記画像の分割によって前記シーン内の表面のセットを識別するために、少なくとも前記複数の距離を使用させ、
前記表面のセットのうちの、情報の要素をその上に投影することができる表面を発見させ、ここで、前記表面は少なくともサイズに基づいて前記要素を表示するのに適切であることが検出され、
前記発見することが、前記情報の要素を前記表面上に投影することができることを示すとき、前記表面を使用するための伝達関数を識別させ、
少なくとも前記情報の要素に、前記伝達関数を適用させ、
前記フレームバッファ内で、前記発見することの間に識別される特定の位置に、前記適用することから生じる変形された要素を記憶させる、
前記メモリ内に保持されているソフトウェアと
を備える、1つまたは複数のデバイス。
【請求項２２】
前記チェックするためのソフトウェアは、前記1つまたは複数のプロセッサに、前記情報の要素を表示するのに使用されるべき長方形内のすべてのピクセルが、前記表面に対応する前記画像の領域内に存在するか否かをテストさせる、請求項21に記載の1つまたは複数のデバイス。
【請求項２３】
前記表面のセットのうちのサブセットを形成する複数の表面を、前記情報の要素と関連付け、それによって、前記情報の要素を前記複数の表面の各々の上に投影することができるように、前記テストするためのソフトウェアは繰り返し実行され、
前記ソフトウェアは、さらに、前記情報の要素の投影を、最小数の関連付けられている要素を有する前記サブセットのうちの表面のいずれに対しても割り当てさせる、請求項22に記載の1つまたは複数のデバイス。
【請求項２４】
メモリおよびカメラに動作可能に結合されているプロセッサを備えるシステムであって、
実世界内のシーンの画像を受信するための手段であって、前記画像は前記実世界内の点に対する複数の距離を備える、受信するための手段と、
少なくとも前記画像の分割によって前記シーン内の表面のセットを識別するために、少なくとも前記複数の距離を使用するための手段と、
前記表面のセットのうちの、情報の要素をその上に投影することができる表面を発見するための手段であって、前記表面は少なくともサイズに基づいて前記要素を表示するのに適切であることが検出される、発見するための手段と、
前記発見することが、前記情報の要素を前記表面上に投影することができることを示すとき、前記表面を使用するための伝達関数を識別するための手段と、
少なくとも前記情報の要素に、前記伝達関数を適用するための手段と、
前記メモリ内のフレームバッファ内で、前記発見するための手段によって識別された特定の位置に、前記適用するための手段によって出力される変形された要素を記憶するための手段と
を備える、システム。
【請求項２５】
前記発見するための手段は、
前記情報の要素を表示するのに使用されるべき長方形内のすべてのピクセルが、前記表面に対応する前記画像の領域内に存在するか否かをテストするための手段を含む、請求項24に記載のシステム。
【請求項２６】
前記表面のセットのうちのサブセットを形成する複数の表面を、前記情報の要素と関連付け、それによって、前記情報の要素を前記複数の表面の各々の上に投影することができるように、前記テストするための手段は繰り返し操作されるように構成されており、
前記情報の要素の投影が、最小数の関連付けられている要素を有する前記サブセットのうちの表面のいずれに対しても割り当てられる、請求項25に記載のシステム。
【国際調査報告】
2014531787.tif 000020
2014531787.tif 000021
2014531787.tif 000022