IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ コグネックス・コーポレイションの特許一覧

特許7421518歪みが低減された物体の3次元再構成を生成するための方法及び装置
<>
  • 特許-歪みが低減された物体の3次元再構成を生成するための方法及び装置 図1
  • 特許-歪みが低減された物体の3次元再構成を生成するための方法及び装置 図2
  • 特許-歪みが低減された物体の3次元再構成を生成するための方法及び装置 図3
  • 特許-歪みが低減された物体の3次元再構成を生成するための方法及び装置 図4
  • 特許-歪みが低減された物体の3次元再構成を生成するための方法及び装置 図5
  • 特許-歪みが低減された物体の3次元再構成を生成するための方法及び装置 図6
  • 特許-歪みが低減された物体の3次元再構成を生成するための方法及び装置 図7
  • 特許-歪みが低減された物体の3次元再構成を生成するための方法及び装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-16
(45)【発行日】2024-01-24
(54)【発明の名称】歪みが低減された物体の3次元再構成を生成するための方法及び装置
(51)【国際特許分類】
   G06T 7/521 20170101AFI20240117BHJP
【FI】
G06T7/521
【請求項の数】 15
【外国語出願】
(21)【出願番号】P 2021109735
(22)【出願日】2021-06-30
(62)【分割の表示】P 2019155090の分割
【原出願日】2019-08-27
(65)【公開番号】P2021182396
(43)【公開日】2021-11-25
【審査請求日】2021-08-27
(31)【優先権主張番号】62/725,082
(32)【優先日】2018-08-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504382671
【氏名又は名称】コグネックス・コーポレイション
(74)【代理人】
【識別番号】100119378
【弁理士】
【氏名又は名称】栗原 弘幸
(72)【発明者】
【氏名】シェイファー,マーティン
(72)【発明者】
【氏名】グロッセ,マーカス
【審査官】▲広▼島 明芳
(56)【参考文献】
【文献】特表2016-522889(JP,A)
【文献】特許第6160851(JP,B1)
【文献】特開2018-081048(JP,A)
【文献】特開2003-262510(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00 - 7/90
(57)【特許請求の範囲】
【請求項1】
歪みが低減された物体の3次元的再構成を生成するシステムであって、
それぞれ異なる視点から物体の1以上の画像を取得するように構成された少なくとも3個の画像センサと、
前記少なくとも3個の画像センサの動作と同期せずに、動く光学パターンで前記物体を照明するように構成されたプロジェクタであって、前記動く光学パターンは円形経路に沿って並進する、前記プロジェクタと、
プロセッサと、
を含み、
前記該プロセッサは、
前記少なくとも3個の画像センサの各々から、前記プロジェクタからの前記動く光学パターンで照明された前記物体の前記1以上の画像を受信する動作、及び
受信した前記1以上の画像から前記物体の3次元再構成を生成する動作、を実行するよう構成されており、
前記3次元再構成は、前記異なる視点からの前記少なくとも3個の画像センサによって生成された前記動く光学パターンで照明された前記物体の受信された前記1以上の画像によって歪みが低減されている、
上記システム。
【請求項2】
前記少なくとも3個の画像センサは、前記物体の前記1以上の画像を同時に取得するために時間同期されている、請求項1記載のシステム。
【請求項3】
前記少なくとも3個の画像センサは、複数の画像センサの少なくとも1つのサブセットの一部であり、かつ、前記少なくとも3個の画像センサは、前記物体の前記1以上の画像を同時に取得するために時間同期されている、請求項1又は2記載のシステム。
【請求項4】
前記少なくとも3個の画像センサは、
第1の時点で前記物体の第1の複数の画像を取得するために互いに時間同期された第1の画像センサ及び第2の画像センサと、
前記第1の時点とは異なる第2の時点で前記物体の第2の複数の画像を取得するために互いに時間同期された第3の画像センサ及び第4の画像センサと、
を含む、請求項1~3のいずれか1項記載のシステム。
【請求項5】
前記3個以上の画像センサのうち2個以上を含む第1のサブセットの画像センサは互いに時間同期されており、
前記3個以上の画像センサのうち前記第1のサブセットに属さない1個以上を含む第2のサブセットの画像センサは、互いに時間同期されているが第1のサブセットの画像センサとは時間同期されていない、請求項1~4のいずれか1項記載のシステム。
【請求項6】
前記動く光学パターンが前記物体上で回転するように水平及び/又は垂直方向に移動することにより、前記動く光学パターンが前記円形経路に沿って並進する、請求項記載のシステム。
【請求項7】
前記プロセッサが前記物体の3次元再構成を生成するよう構成されていることは:
受信された前記1以上の画像から、高い信頼値を有する1個以上の像点を選択するステップであり、前記信頼値は過飽和値、1個以上の他の像点との相関スコア、及び/又は変調値に基づいて決定されるものである、前記選択するステップと、
選択された前記像点に基づいて前記物体の3次元再構成を生成するステップと、
を含む、請求項1~のいずれか1項記載のシステム。
【請求項8】
歪みが低減された物体の3次元的再構成を生成するシステムであって、
それぞれ異なる視点から物体の1以上の画像を取得するように構成された少なくとも3個の画像センサと、
前記少なくとも3個の画像センサの動作と同期せずに、光学パターンで前記物体を照明するように構成されたプロジェクタと、
プロセッサと、
を含み、
前記該プロセッサは、
前記少なくとも3個の画像センサの各々から、前記プロジェクタからの前記光学パターンで照明された前記物体の前記1以上の画像を受信する動作、及び
受信した前記1以上の画像から前記物体の3次元再構成を生成する動作、を実行するよう構成されており、
前記3次元再構成は、前記異なる視点からの前記少なくとも3個の画像センサによって生成された光学パターンで照明された前記物体の受信された前記1以上の画像によって歪みが低減されていて、
前記プロセッサが前記物体の3次元再構成を生成するよう構成されていることは:
受信された前記1以上の画像から、高い信頼値を有する1個以上の像点を選択するステップであり、前記信頼値は過飽和値、1個以上の他の像点との相関スコア、及び/又は変調値に基づいて決定されるものである、前記選択するステップと、
選択された前記像点に基づいて前記物体の3次元再構成を生成するステップと、
を含み、
前記プロセッサは、前記1個以上の像点のうちの1つの像点の時間シーケンスにおける過飽和グレー値の数に基づいた前記過飽和値を比較するよう構成されている、
上記システム。
【請求項9】
前記プロセッサは、相関させる像点の対のピクセル値に基づく正規化された相互相関を用いて、1個以上の他の像点との前記相関スコアを算出するよう構成されている、請求項7又は8記載のシステム。
【請求項10】
前記プロセッサは、時間領域における前記1以上の像点のうちの像点グレー値の標準偏差に基づく前記変調値を算出するよう構成されている、請求項7~9のいずれか1項記載のシステム。
【請求項11】
前記プロセッサは、前記1以上の像点のうちの一つの像点及び対応のために関与させる別の像点の時間シーケンスの平均に基づく前記変調値を算出するよう構成されている、請求項7~10のいずれか1項記載のシステム。
【請求項12】
前記光学パターンは動く光学パターンを含む、請求項8記載のシステム
【請求項13】
前記動く光学パターンは円形経路に沿って並進する第1の光学パターンを含む、請求項12記載のシステム
【請求項14】
歪みが低減された物体の3次元再構成を生成するための方法であって、
当該方法は下記動作を行うよう構成されたプロセッサを使用することを含み、
上記動作は、少なくとも3個の画像センサの各々から、プロジェクタからの光学パターンで照明された物体の1以上の画像を受信する動作であって、前記画像センサの各々は前記物体の前記1以上の画像を異なる視点から取得し、前記プロジェクタは前記少なくとも3個の画像センサの動作と同期せず、かつ
上記動作は、さらに、受信した上記1以上の画像から、前記物体の3次元再構成を生成する動作であって、前記3次元再構成は、前記少なくとも3個の画像センサの各々によって前記異なる視点から生成された前記光学パターンで照明された前記物体の受信した上記1以上の画像によって歪みが低減されていて、
前記プロセッサが前記物体の3次元再構成を生成する動作を行うよう構成されていることは:
受信された前記1以上の画像から、高い信頼値を有する1個以上の像点を選択するステップであり、前記信頼値は過飽和値、1個以上の他の像点との相関スコア、及び/又は変調値に基づいて決定されるものである、前記選択するステップと、
選択された前記像点に基づいて前記物体の3次元再構成を生成するステップと、
を含み、
前記プロセッサはさらに、時間領域における前記1個以上の像点のうちの像点グレー値の標準偏差に基づく前記変調値を算出するよう構成されている
上記方法。
【請求項15】
プロセッサ実行可能命令を格納している少なくとも1つの非一時的なコンピュータ可読記憶媒体を有する装置であって、該命令は少なくとも1つのコンピュータハードウェアプロセッサによって実行されると下記動作を前記少なくとも1つのコンピュータハードウェアプロセッサに行わせるものであり、
上記動作は、少なくとも3個の画像センサの各々からプロジェクタから光学パターンで照明された物体の1個以上の画像を受信する動作であって、前記画像センサは各々異なる視点から前記物体の1個以上の画像を取得し、前記プロジェクタは前記少なくとも3個の画像センサの動作と同期されておらず、かつ
上記動作は、受信した前記1個以上の画像から、前記物体の3次元再構成を生成する動作であって、前記3次元再構成は、前記各々異なる視点から前記少なくとも3個の画像センサの各々によって生成された前記光学パターンで照明された前記物体の受信した前記1個以上の画像によって歪みが低減されていて、
前記コンピュータハードウェアプロセッサが前記物体の3次元再構成を生成する動作を行うことは:
受信された前記1以上の画像から、高い信頼値を有する1個以上の像点を選択するステップであり、前記信頼値は過飽和値、1個以上の他の像点との相関スコア、及び/又は変調値に基づいて決定されるものである、前記選択するステップと、
選択された前記像点に基づいて前記物体の3次元再構成を生成するステップと、
を含み、
前記コンピュータハードウェアプロセッサは、前記1個以上の像点のうちの一つの像点及び対応のために関与させる別の像点の時間シーケンスの平均に基づく前記変調値を算出するよう構成されている
上記装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に記載する技術は、一般的に物体の2次元画像からの3次元(3D)再構成に関し、特に歪みが低減された物体の3次元再構成を生成することに関する。
【背景技術】
【0002】
先進的なマシンビジョンシステムとそれらの基盤となるソフトウェアは、多様な製造及び品質管理プロセスにますます多く採用されている。マシンビジョンにより量産製品及びカスタム製品の両方の生産において、より速く、より正確で再現可能な結果を得ることができる。典型的なマシンビジョンシステムには、関心領域に向けられた1つ以上のカメラ、画像を取得して送信するフレームグラバー/画像処理要素、コンピュータ又はオンボード処理デバイス、マシンビジョンソフトウェアアプリケーションを実行して取得された画像を操作するためのユーザインタフェース、及び関心領域の適切な照明を含む。
【0003】
3Dビジョンシステムの1つの形式は、ベースライン上に1~数インチのカメラ間隔を置いて並置された少なくとも2台のカメラを採用するステレオカメラに基づいている。一般的なステレオビジョンベースのシステムは、エピポーラジオメトリと画像修正に基づいている。これらのシステムは、相関ベースの方法を使用し、又は2台以上のカメラからの修正画像における対応関係を見つける緩和技術と組み合わせることができる。しかしながら表面の粗さが小さく鏡面反射が大きい物体の画像は、取得された画像の過飽和につながる可能性がある。慣用的なステレオビジョンシステムは、そのような取得された画像から物体の正確な3次元再構成を生み出す能力は制限されている。
【発明の概要】
【0004】
開示された主題に従って、歪みが低減された物体の3次元再構成を生成するための装置、システム、及び方法が提供される。
【0005】
幾つかの態様では、歪みが低減された物体の3次元再構成を生成するためのシステム、方法、及び/又はコンピュータ可読記憶媒体を提供できる。システムは、少なくとも2個の画像センサを含んでもよい。各画像センサは、物体の1個以上の画像を取得するように構成できる。システムは、関連する光学パターンで物体を照明するように構成された少なくとも2台のプロジェクタを含んでもよい。各プロジェクタは、異なる視点から物体を照明することができる。システムは、少なくとも2台のプロジェクタの各プロジェクタについて、少なくとも2個の画像センサの各々から、関連する光学パターンで照明された物体の画像を受信する動作を実行するように構成されたプロセッサを含むことができる。プロセッサは、受信された画像から物体の3次元再構成を生成する動作を実行するように構成できる。この3次元再構成は、少なくとも2台のプロジェクタの各々が物体を異なる視点から関連する光学パターンで照明するときに生成される物体の受信した画像によって歪みが低減され得る。
【0006】
幾つかの実施形態では、少なくとも2台のプロジェクタのうち1台以上は、少なくとも2個の画像センサの動作と同期されていなくてもよい。
【0007】
幾つかの実施形態では、少なくとも2個の画像センサは、物体の画像を同時に取得するために時間同期されてよい。
【0008】
幾つかの実施形態では、少なくとも2個の画像センサは、複数の画像センサの少なくとも1つのサブセットの一部であり、及び少なくとも2個の画像センサは、物体の複数の画像を同時に取得するために時間同期されている。
【0009】
幾つかの実施形態では、少なくとも2個の画像センサは、第1の時点で物体の1個以上の画像を取得するために互いに時間同期された第1の画像センサ及び第2の画像センサと、第1の時間とは異なる第2の時点で物体の1個以上の画像を取得するために互いに時間同期された第3の画像センサ及び第4の画像センサとを含んでよい。
【0010】
幾つかの実施形態では、少なくとも2個の画像センサは、物体の1個以上の画像を同時に取り込むように時間同期された第1の画像センサ、第2の画像センサ、及び第3の画像センサを含んでよい。
【0011】
幾つかの実施形態では、少なくとも2台のプロジェクタは、第1のプロジェクタと第2のプロジェクタを含んでよい。プロセッサは、第1の画像センサから、第1の時点で第1のプロジェクタから光学パターンで照明された物体の第1の画像セットを受信する動作を実行するように構成されてよい。プロセッサは、第2の画像センサから、第1の時点で第1のプロジェクタから光学パターンで照明された物体の第2の画像セットを受信する動作を実行するように構成されてよい。プロセッサは、第1の画像センサから、第2の時点で第2のプロジェクタから光学パターンで照明された物体の画像の第3のセットを受信する動作を実行するように構成されてよい。プロセッサは、第2の画像センサから、第2の時点で第2のプロジェクタから光学パターンで照明された物体の画像の第4のセットを受信する動作を実行するように構成されてよい。
【0012】
幾つかの実施形態では、少なくとも2台のプロジェクタの異なる視点は、第1の視点と第2の視点を含んでよく、第1の視点と前記第2の視点の角度分離は、物体の表面の反射円錐の半角より大きくてよい。
【0013】
幾つかの実施形態では、光学パターンは、動く光学パターンを含んでよい。
【0014】
幾つかの実施形態では、動く光学パターンは、円形経路に沿って並進する光学パターンを含んでよい。
【0015】
幾つかの実施形態では、少なくとも2個の画像センサは3個以上の画像センサを含んでよい。これら3個以上の画像センサのうち2個以上を含む第1のサブセットの画像センサは互いに時間同期されてよい。第1のサブセットにない3個以上の画像センサのうち1個以上を含む第2のサブセットの画像センサは、互いに時間同期されてよいが、第1のサブセットの画像センサとは時間同期されなくてよい。
【0016】
幾つかの実施形態では、物体の3次元再構成を生成することは、生成プロセス中に歪みを特定し、少なくとも2台のプロジェクタの各々が物体を異なる視点で関連する光学パターンで照明するときに生成される複数の画像を使用して歪みを修正することを含んでよい。
【0017】
幾つかの実施形態では、歪みを特定することは、異なる視点のうち第1の視点の1個以上の画像における歪みを特定することを含んでよい。歪みを修正することは、異なる視点のうち第2の視点の1個以上の画像に基づいて歪みを修正することを含んでよい。
【0018】
幾つかの実施形態では、物体の3次元再構成を生成することは、受信した画像から高い信頼値を有する1個以上の像点を選択すること、及び選択された像点に基づいて物体の3次元再構成を生成することを含む。信頼値は過飽和値、1つ以上の他の像点との相関スコア、及び/又は変調値に基づいて決定されてよい。
【0019】
幾つかの実施形態では、プロセッサは、画像が取得される前に、少なくとも2台のプロジェクタのうち第1のプロジェクタが関連する光学パターンで物体を照明するように第1の命令を生成する動作を実行するように構成されてよい。プロセッサは、画像が受け取られた後に、少なくとも2台のプロジェクタのうち第1のプロジェクタが関連する光学パターンで物体を照明するのを停止するように第2の命令を生成する動作とを実行するように構成されてよい。
【0020】
幾つかの実施形態では、少なくとも2個の画像センサのうち少なくとも1つは、少なくとも2台のプロジェクタのスペクトル範囲外の環境光を遮断するようにプロジェクタに適合されたスペクトルフィルタを含む。
【0021】
幾つかの実施形態では、スペクトルフィルタは、異なる波長で動作する少なくとも2台のプロジェクタをサポートするために多重スペクトルバンドをサポートする。
【0022】
幾つかの態様では、歪みが低減された物体の3次元再構成を生成するためのシステム、方法、及び/又はコンピュータ可読記憶媒体が提供されてよい。システムは、少なくとも3個の画像センサを含んでよい。各画像センサは、異なる視点から物体の1個以上の画像を取得するように構成されてよい。システムは、物体を光学パターンで照明するように構成されたプロジェクタを含んでよい。プロジェクタは少なくとも3個の画像センサの動作と同期されなくてよい。システムは、少なくとも3個の画像センサの各々から、プロジェクタから光学パターンで照明された物体の1個以上の画像を受信する動作を実行するように構成されてよい。プロセッサは、受信した1個以上の画像から物体の3次元再構成を生成する動作を実行するように構成されてよい。3次元再構成は、異なる視点からの少なくとも3個の画像センサの各々によって生成された光学パターンで照明された物体の受信した1個以上の画像によって歪みが低減されてよい。
【0023】
幾つかの実施形態では、少なくとも3個の画像センサは、物体の1個以上の画像を同時に取得するために時間同期されてよい。
【0024】
幾つかの実施形態では、少なくとも3個の画像センサは、複数の画像センサの少なくとも1つのサブセットの一部であり、少なくとも3個の画像センサは、物体の複数の画像を同時に取得するために時間同期されている。
【0025】
以上、開示の主題の特徴をややおおまかに述べたのは、以下に続く詳細な説明においてそれらがより良く理解されるように、また本発明の技術への寄与がより適切に評価されるようにするためである。以下に説明する開示された主題の追加の特徴があり、それらが添付の特許請求の範囲の主題をなすことは言うまでもない。本明細書で用いられる表現及び用語は説明を目的としたものと理解すべきであり、限定するものと見なされてはならない。
【0026】
図面において、様々な図に示されている同一又はほぼ同一の各コンポーネントは同じ参照符号で表されている。見やすくするために、各図面ですべてのコンポーネントが表示されているわけではない。図面は必ずしも縮尺通りではなく、代わりに本明細書で説明される技術及び装置の種々の側面を示すことに重点が置かれている。
【図面の簡単な説明】
【0027】
図1】幾つかの実施形態による、示している例示的な実施形態の1台のプロジェクタと2台のカメラが、ステレオ画像の対応関係を生成するために整合的な方法で物体の画像を取得するように配置されている例示的な実施形態を示す。
【0028】
図2】幾つかの実施形態による、2台のプロジェクタと2台のカメラがステレオ画像の対応関係を生成するために整合的な方法で物体の画像を取り込むように配置されている例示的な実施形態を示す。
【0029】
図3】幾つかの実施形態による、1台のカメラと、第1の視点を有する第1のプロジェクタ及び第2の視点を有する第2のプロジェクタを使用して取得された物体の例示的な画像を示す。
【0030】
図4】幾つかの実施形態による、2台のカメラと、第1の視点を有する第1のプロジェクタ及び第2の視点を有する第2のプロジェクタを使用して取得された物体の例示的な画像を示す。
【0031】
図5】幾つかの実施形態による、物体の例示的な1対のステレオ画像を示す。
【0032】
図6】幾つかの実施形態による、第1の視点を有する第1のプロジェクタ及び第2の視点を有する第2のプロジェクタを使用する物体の例示的な3次元再構成を示す。
【0033】
図7】幾つかの実施形態による、歪みを低減した物体の3次元再構成を生成するための例示的なフローチャートを示す。
【0034】
図8】幾つかの実施形態による、光学パターンで照明された物体の1個以上の画像を受信するための例示的なフローチャートを示す。
【発明を実施するための形態】
【0035】
本明細書に記載する技法は、歪みが低減された物体の3次元再構成を生成するために使用できる。
【0036】
以下の説明では、開示された主題の完全な理解を提供するために、開示された主題のシステム及び方法、並びにそのようなシステム及び方法が動作し得る環境などに関して多くの特定の詳細が述べられる。加えて、以下に提供される例は例示であり、開示される主題の範囲内にある他のシステム及び方法が存在することが企図されることが理解されるであろう。
【0037】
発明者らは、製造などの特定の分野で多くの物体が機械加工されるので表面粗さが小さくなる可能性を認識した。そのような物体は表面粗さが小さいために鏡面反射の部分が多く、拡散反射の部分が少ないことがある。したがってそのような物体は取得された画像で光って見える。包装検査を伴う別の例示的な分野では、多くの物体がプラスチック又はホイルで包装されているか、透明な窓を持っているか、光沢添加剤塗料で着色されている。これらの物体も、取得された画像で光って見えることがある。その結果、そのような取得された画像は過飽和状態になり、取得された画像から物体の正確な3次元再構成を生み出すシステムの能力を疎外する可能性がある。例えば過飽和により、シーンが照明されると画像の一部が均一な色又はグレースケール値(例えば白)として現れる可能性がある。これは、例えば3D再構成に不利に影響する可能性があるので問題となり得る(例えばエリアが実際のシーンの詳細を表していない、均一な色がステレオ画像対の間の対応関係を決定するのを困難にする、ステレオ画像対の画像が異なる照明を把捉することがある、などのため)。
【0038】
幾つかの実施形態では、例えば物体の3D形状を推定するための物体の3次元再構成は、2台のカメラと単一のプロジェクタを備えたステレオ三角測量システムを使用して生み出すことができる。発明者は、カメラによって取得された画像内の特定の点が、プロジェクタからの照明などによって過飽和になる可能性を発見した。例えば物体の表面に当たる投影光の反射角がプロジェクタと第1のカメラ(反射光を受光するカメラ)との間の半角に等しい物体の任意の点について、カメラによって取得された物体の画像はその点で鏡面反射により過飽和になることがある。その結果、同じ点について、第2のカメラによって取得された物体の画像は、その点で不飽和に、例えば非常に暗くなる可能性がある。これが起こり得るのは、ほとんどの(又はすべての)光が、反射角度条件を満たす第1のカメラに反射されるためである。そのような点について、2台のカメラによって取得された画像間の飽和の極端な差により、点の3D推定を再構成するのは困難になることがある。そのような場合には、物体の3次元再構成データは、2つの取得された画像間の飽和の極端な差を有する点で情報を失っていることがある。この結果は、特に平らな物体、例えば直方体にとって不利になることがある。なぜなら、物体の大部分が反射角度条件を満たし、物体の3次元再構成データが複数の対応する点で情報を失っている可能性があるからである。
【0039】
幾つかの技術では、ステレオ三角測量システムは、カメラとプロジェクタの両方に見える物体点の3D点のみ作成できる。プロジェクタが遮られるか、又は画像の部分間に極端な差がある場合は、両方のカメラに見える点でも点を再構成できないことがある。幾つかの実施形態では、ステレオ三角測量システムは偏光を使用することにより、2つの取得された画像間の飽和の極端な差から生じる問題に対処できる。ただし、この方法は大量の光を必要とする場合があり、使用される光の75%以上を無駄にする可能性がある。さらにこの手法は、暗い又は黒い物体など光の不足を克服することは困難である場合に広い視野を伴う用途には適用できないことがある。
【0040】
過飽和は既知の点又は確定的な点(例えば物体の表面に当たる投影光の反射角度がプロジェクタとカメラとの間の半角に等しい場合)でのみ発生し得るので、発明者はDビジョンシステムに他の方向から光を出射する第2のプロジェクタを使用することができることを認識及び理解した。例えば第1のプロジェクタと比較して、第2のプロジェクタは取得された画像内の各物体点について光の反射角度を変更して、角度の均等性の問題を回避し、及び/又は過飽和を減らすことができる。第2のプロジェクタを有するステレオ三角測量システムを使用しても、第2のプロジェクタを使用して取得された画像内の鏡面反射及び過飽和をもたらすことがあるが、画像内のそのような点は第1のプロジェクタを使用して取得された画像内の点と異なることがある。したがって発明者は、第1のプロジェクタを使用して物体について1セットの3D点を取得し、第2のプロジェクタを使用して物体について別のセットの3D点を取得して、2セットの3D点を組み合わせると、全物体にわたり整合的で密な3D点データを得ることができることを認識及び理解した。さらに発明者は、本明細書でさらに説明するように、プロジェクタとカメラを同期させる必要のない技術を開発した。
【0041】
幾つかの実施形態では、ステレオ三角測量システムは、第1のプロジェクタによって投影されたパターンを有するシーンのN個の画像のセットを取得して、物体について3次元再構成データ3Dデータ1を生成できる。次に、システムは第2のプロジェクタによって投影されたパターンを有するシーンのN個の画像の別のセットを取得して、物体について3次元再構成データ3Dデータ2を生成できる。最後に、システムは3Dデータ1と3Dデータ2を組み合わせて、例えば鏡面反射による歪みを低減した物体の3Dデータを作成できる。このプロセスは、プロジェクタとカメラのハードウェア同期を必要とすることなく物体について整合的で密な3次元データを信頼性が高く堅牢な方法で得ることができるので有利であり得る。幾つかの実施形態では、第2のプロジェクタを追加することにより、第1のプロジェクタには見えない視野内の領域を照明するのを助けることができ、それゆえ物体について3D点の量を増やすことができる。
【0042】
図1は、1台のプロジェクタ104と2台のカメラ106が、ステレオ画像の対応関係を生成するように整合的な方法で物体102の画像を取得するように配置された例示的実施形態100を示す。幾つかの実施形態では、プロジェクタは物体に光又は光学パターンを投影し、各カメラは関連する光又は光学パターンを使用して照明された物体の画像を取得することができる。各画像は、画像を構成するピクセル又は像点のセットを含む。本明細書に記載のカメラ、例えばカメラ106の各々は、電荷結合素子(CCD)画像センサ、相補型金属酸化物半導体(CMOS)画像センサ、又は別の適切な画像センサを含むことができる。幾つかの実施形態では、カメラはローリングシャッタ、グローバルシャッタ、又は別の適切なシャッタタイプを有することができる。幾つかの実施形態では、カメラはGigEビジョンインターフェース、ユニバーサルシリアルバス(USB)インターフェース、同軸インターフェース、FIREWIRE(登録商標)インターフェース、又は別の適切なインターフェースを有することができる。幾つかの実施形態では、カメラは1つ以上のスマート機能を有することができる。幾つかの実施形態では、カメラはCマウントレンズ、Fマウントレンズ、Sマウントレンズ、又は別の適切なレンズタイプを有することができる。幾つかの実施形態では、カメラは1台以上のプロジェクタのスペクトル範囲外の環境光を遮断するためにプロジェクタに適合されたスペクトルフィルタを有することができる。幾つかの実施形態では、カメラのスペクトルフィルタは異なる波長で動作する複数のプロジェクタをサポートするために多重スペクトルバンドをサポートする。
【0043】
プロジェクタ104は、光を使用して、図4に関連してさらに論じられるパターンなどの光学パターンを投影することができる。幾つかの実施形態では、プロジェクタ104は、動く光学パターンを投影する。幾つかの実施形態では、動く光学パターンは、円形経路に沿って並進する光学パターンを含んでよい。幾つかの実施形態では、光学パターンは、パターンが物体上で回転するように水平及び/又は垂直方向に移動することにより円形経路に沿って並進してよい(例えばパターン自体が時計回り又は反時計回りに回転しない)。
【0044】
図2は、2台のプロジェクタ204A及び204B(まとめてプロジェクタ204と呼ぶ)と2台のカメラ206が、ステレオ画像対応を生成するための整合的な方法で配置されている物体202の画像を取得する例示的実施形態200を示す。プロジェクタ204は、カメラの動作と同期されなくてもよい。プロジェクタ204は同じパターン、類似のパターン、又は異なるパターンを投影できる。幾つかの実施形態では、プロジェクタ204の製造を容易にするために、各プロジェクタ204に対して同じパターンを提供することができる。幾つかの実施形態では、システムは各プロジェクタに対して開始命令及び/又は停止命令を出すことができる。例えば開始命令は、特定のプロジェクタ204Aによって照明された物体の画像がカメラによって取得される前に出すことができ、停止命令は、特定のプロジェクタ204Aによって照明された物体の画像がカメラによって取得された後で出すことができる。幾つかの実施形態では、鏡面反射を軽減するために図2に示された第1のプロジェクタ204Aと第2のプロジェクタ204Bとの角度分離θは、物体202の表面の反射円錐の半角より大きくてもよい。
【0045】
図3は、それぞれ1台のカメラと、第1の視点を有する第1のプロジェクタ及び第2の視点を有する第2のプロジェクタを使用して取得された物体の例示的な画像を示す。例えば第1のプロジェクタ(例えば図2のプロジェクタ204A)は、物体を光学パターンで照明でき、カメラは画像300を取得できる。この例では、画像300がカメラによって取得される前に第1のプロジェクタに対して開始命令を出すことができ、画像300がカメラによって取得された後で第1のプロジェクタに対して停止命令を出すことができる。この例で続けると、第2のプロジェクタ(例えば図2のプロジェクタ204B)は物体を光学パターン(例えば第1のプロジェクタと同じ又は異なる光学パターン)で照明でき、カメラは画像350を取得できる。この例では、画像350がカメラによって取得される前に第2のプロジェクタに対して開始命令を出すことができ、画像350がカメラによって取得された後に第2のプロジェクタに対して停止命令を出すことができる。
【0046】
図4は、第1の投影された光学パターンに対応するステレオ画像400及び450の第1の例示的対と、第2の投影された光学パターンに対応するステレオ画像402及び452の第2の例示的対を示す。例えば第1のプロジェクタ(例えば図2のプロジェクタ204A)は、物体上に光学パターンを投影でき、カメラ206はステレオ画像400及び450を取得できる。次に、第2のプロジェクタ(例えば図2のプロジェクタ204B)は、物体上に光学パターン(例えば第1のプロジェクタと同じ又は異なる光学パターン)を投影でき、カメラ(例えば図2のカメラ206)はステレオ画像402及び452を取得できる。幾つかの実施形態では、カメラは特定のプロジェクタによって照明された物体の画像を同時に取得するために時間同期されてよい。上述したように、光学パターンは動く光学パターンを含でよい(例えば水平及び/又は垂直方向で円形経路に沿って並進する)。カメラは、時間の経過と共に動く光学パターンのステレオ画像のシーケンスを取得して、パターンが時間と共にどのように変化するかを示す各ピクセルについての情報を作成できる。この情報を使用して画像のピクセル間の対応関係を探索し、画像間の対応関係を特定できる。
【0047】
図5は、例示的なステレオ画像500及び550(及び関連するピクセル又は像点)と、対応するピクセル502及び552を示しており、これらのピクセルは画像500及び550に投影されたパターンの同じ部分を表す。例えば上述のようにプロジェクタ204の1つは関連する光学パターンを物体上に投影でき、カメラ206はステレオ画像500及び550を取得できる。取得されたステレオ画像500及び550を使用して、2ピクセル間の対応関係を特定できる。幾つかの実施形態では、本明細書で論じられるように、時間と共に取得されたステレオ画像のシーケンスを使用して対応関係を特定することができる。幾つかの実施形態では、2台のカメラからのステレオ画像シーケンスから3次元データを再構成するために、ピクセル502及び552などの対応するピクセル対が各カメラからの画像間で見出される必要がある。
【0048】
図6は、第1の視点からシーンに光を投影する第1のプロジェクタと、第2の視点からシーンに光を投影する第2のプロジェクタを使用した物体の例示的な3次元再構成600及び602を示す。3次元再構成600及び602は、歪みの何らかの改善又は低減の前の物体の例示的な再構成である。
【0049】
再構成を改善して歪みを低減するために、物体の画像、例えば画像400及び450と画像402及び452は、各プロジェクタが異なる視点から関連する光学パターンで物体を照明するときに生成できる。幾つかの実施形態では、物体の3次元再構成を生成することは、生成プロセス中に歪みを特定し、各プロジェクタが異なる視点で関連する光学パターンで物体を照明するときに生成される物体の画像を使用して歪みを修正することを含んでよい。例えば歪みは第1の視点から取得された画像中に特定でき、改善された3次元再構成650を生成するために歪みを第2の視点から取得された画像に基づいて修正できる。幾つかの実施形態では、物体の3次元再構成を生成することは、受信した1個以上の画像から、高い信頼値を有する1個以上の像点を選択し、選択された像点に基づいて物体の3次元再構成を生成することを含んでよい。信頼値は、過飽和値、グレー値特性、1つ以上の他の像点との相関スコア、及び/又は変調値に基づいて決定できる。幾つかの実施形態では、相関スコアは相関される像点の対のピクセル値に基づく正規化された相互相関を使用して計算できる。幾つかの実施形態では、複数のカメラ及び/又は投影方向を使用することにより、特定の像点は複数の対応する像点を有することができる。幾つかの実施形態では、システムは対応する像点内でより高い最大値につながる投影方向から対応する像点を選択できる。幾つかの実施形態では、システムは最大化されている対応する点の最大値の合計につながる投影方向から対応する像点を選択できる。幾つかの実施形態では、システムは最も高い相関スコアを有する対応する像点を選択できる。幾つかの実施形態では、システムは最も高い変調値(例えば時間領域における対応する像点グレー値の標準偏差値(二乗平均平方根)及び/又は対応に関与する両時間シーケンスの平均)を有する対応する像点を選択することができる。幾つかの実施形態では、システムは過飽和の影響を受けなかったか、又は過飽和の影響を最小限しか受けなかった対応する像点(例えば像点の時間シーケンスにおけるより過飽和グレー値のより低い数値)を選択できる。
【0050】
図7は、幾つかの実施形態により、歪みを低減した物体の3次元再構成を生成するための例示的なフローチャート700を示す。方法700は、任意の適切なコンピューティングシステム(例えば汎用コンピューティングデバイス(CPU)、グラフィックス処理ユニット(GPU)、フィールドプログラマブルゲートアレイデバイス(FPGA)、特定用途向け集積回路デバイス(ASIC)、ARMベースのデバイス、又は他の適切なコンピューティングシステム)上で実行できる。なぜなら本明細書に記載する技術の態様は、この点に関して制限されないからである。
【0051】
動作702で、システムは光学パターンで照明された物体の1個以上の画像を受信できる。画像は、少なくとも2個の画像センサの各々から、少なくとも2台のプロジェクタの各プロジェクタについて受信できる。例えば第1のプロジェクタ(例えば図2のプロジェクタ204A)は光学パターンで物体を照明することができ、第1の画像センサと第2の画像センサは同期されたN個の画像を取得できる。次いで第2のプロジェクタ(例えば図中のプロジェクタ204B2)は、光学パターン(例えば第1のプロジェクタの光学パターンと同じか、又は異なる光学パターン)で物体を照明でき、第1の画像センサと第2の画像センサは同期されたN個の画像を取得できる。図8は、以下に記載する幾つかの実施形態による、動作702に対する例示的なコンピュータ化された方法を示す。
【0052】
本明細書で論じられるように、幾つかの実施形態ではプロジェクタは画像センサの動作と同期されなくてよい(例えばプロジェクタから投影される動くパターンが移動する速度は画像センサの動作と同期されなくてよい)。幾つかの実施形態では、画像センサが画像センサの各々が同時に物体の画像を取得するように時間同期されてよい。幾つかの実施形態では、システムは、どのプロジェクタが画像センサから取得された画像のシーンを照明するかを制御するように構成されてよい。例えばシステムは、プロジェクタの動作を制御するための開始命令及び/又は停止命令を出すように構成できる。開始命令は特定のプロジェクタについて、画像が画像センサによって取得される前にプロジェクタをオンにするために出すことができ、停止命令は画像が画像センサによって取得された後にプロジェクタをオフにするために出すことができる。システムは、プロジェクタを切り替えるために開始命令及び停止命令を使用してよい。
【0053】
幾つかの実施形態では、プロジェクタの異なる視点は、第1の視点と第2の視点を含んでよい。システムは第1の視点と第2の視点を提供するためにプロジェクタ間の一定の角度分離で構成することができる。例えば第1の視点と第2の視点の角度分離は、物体の表面の反射円錐の半角よりも大きくなるように設定できる。
【0054】
幾つかの実施形態では、画像は1台のプロジェクタについて2個の画像センサから受信できる。プロジェクタは、画像センサの動作と同期されなくてよい。
【0055】
動作704で、システムは、受信した画像から物体の3次元再構成を生成できる。本明細書で論じられるように、3次元再構成は異なる視点からの照明下で生成される物体の受信した画像を活用することにより(例えばプロジェクタが物体を異なる視点から関連して光学パターンで照明するときに)、歪みが低減されるという方法で生成することができる。
【0056】
幾つかの実施形態では、物体の3次元再構成を生成することは、生成プロセス中に歪みを特定して、各プロジェクタが異なる視点で関連する光学パターンで物体を照明するときに生成される物体の画像を使用して歪みを修正することを含んでよい。例えば歪みは、第1の視点から取得された画像で特定でき、歪みは(例えば照明の視点の角度分離により同じ歪みを持たない)第2の視点から取得された画像に基づいて修正できる。幾つかの実施形態では、物体の3次元再構成を生成することは、受信した1個以上の画像から、高い信頼値を有する1個以上の像点を選択し、選択された像点に基づいて物体の3次元再構成を生成することを含んでよい。信頼値は、像点が3次元生成プロセスに役立つ情報を含んでいるか判定するために使用できるメトリックを反映することができる。信頼値は、過飽和値、1個以上の他の像点との相関スコア、及び/又は変調値に基づいて決定されてよい。信頼値を満たさない点については、システムは異なる視点からの照明下で取得された画像を使用して、3次元モデルのこれらの部分を完成させることができる。幾つかの実施形態では、変調値は、例えば像点の時間的グレー値の二乗平均平方根であってよい。幾つかの実施形態では、信頼値は対応する像点の正規化された相互相関の結果であってよい。例えば第1の投影方向と第2の投影方向について対応する像点が見つかった場合、より高い相関値を生む投影方向からの像点を選択することができる。幾つかの実施形態では、過飽和に対処するために、対応する像点の1つが過飽和である場合に、その像点は無視できる。代わりに、別の投影方向からの別の対応する、過飽和ではない像点を選択できる。
【0057】
図8は、幾つかの実施形態により、図7の動作702の例示的なフローチャートを示す。方法800は、任意の適切なコンピューティングシステム(例えば汎用コンピューティングデバイス(CPU)、グラフィック処理ユニット(GPU)、フィールドプログラマブルゲートアレイ装置(FPGA)、特定用途向け集積回路装置(ASIC)、ARMベースのデバイス、又は他の適切なコンピューティングシステム)上で実行されてよい。なぜなら本明細書に記載する技術の態様は、この点に関して制限されないからである。
【0058】
動作802で、システムは第1の画像センサから、第1の時点で第1のプロジェクタから光学パターンで照明された物体の第1の画像セットを受信できる。第1の画像センサは、第1の時点で第1の画像セットを取得するために第2の画像センサと時間同期されてよい。
【0059】
動作804で、システムは第2の画像センサから、第1の時点で第1のプロジェクタから光学パターンで照明された物体の第2の画像セットを受信できる。第2の画像センサは、第1の時点で第2の画像セットを取得するために第1の画像センサと時間同期されてよい。
【0060】
動作806で、システムは第1の画像センサから、第2の時点で第2のプロジェクタから光学パターンで照明された物体の第3の画像セットを受信できる。第1の画像センサは、第2の時点で第3の画像セットを取得するために第2の画像センサと時間同期されてよい。
【0061】
動作808で、システムは第2の画像センサから、第2の時点で第2のプロジェクタから光学パターンで照明された物体の第4の画像セットを受信できる。第2の画像センサは、第2の時点で第3の画像セットを取得するために第1の画像センサと時間同期されてよい。
【0062】
幾つかの実施形態では、3個以上の画像センサを使用することができ、様々な視点でシーンの画像を取得するために画像センサをサブセット(例えば幾つかの対)にグループ化できる。例えばある対の画像センサは第1の時点で物体の画像セットを取得するために時間同期でき、別の対の画像センサは第2の時点で物体の別の画像セットを取得すために時間同期できる(例えば複数の対の画像センサが1個以上の同じ画像センサを使用する場合)。幾つかの実施形態では、3個の画像センサを使用する場合に、3個の画像センサのうち2個は同時に画像を取得するために時間同期されてよく、第3の画像センサはプロジェクタと時間同期されてよい(例えばそうでなければ単一のカメラは3次元再構成のために有用な情報を取得できない可能性があるからである)。幾つかの実施形態では、4個以上の画像センサがある場合に、画像センサは第1のサブセットと第2のサブセットに分割することができる。第1のサブセットの画像センサは1個の画像センサを含むことができ(例えばプロジェクタとハード同期されてよい)、又は2個以上の画像センサを互いに時間同期させることができる。第2のサブセットの画像センサは1個の画像センサを含むことができ(例えばプロジェクタとハード同期されてよい)、又は2個以上の画像センサを互いに時間同期させることができるが、第1のサブセットの画像センサとは時間同期させなくてよい。
【0063】
本明細書に記載された技術は、3台以上のプロジェクタを使用するように構成できる。例えばカメラは、本明細書で論じられる技術を使用して3つ(又はそれ以上)の視点からの照明下でシーンの画像セットを取得するように構成できる。3台以上のプロジェクタを使用すると、さらに詳細にシーンの情報を提供できる。例えばシステムが2つの異なる視点からの照明下で取得された画像を使用して3次元再構成の部分を決定できない場合、システムは第3(又は第n)の視点からの照明下で取得された画像を使用して3次元再構成を完了することができる。
【0064】
本明細書に記載された原理に従って動作する技術は、任意の適切な方法で実装できる。上記のフローチャートの処理及び決定ブロックは、これらの種々のプロセスを実行するアルゴリズムに含まれる可能性のあるステップと動作を表している。これらのプロセスから派生したアルゴリズムは、1つ以上の単一又は多目的プロセッサの動作と統合され、その動作を指示するソフトウェアとして実装でき、デジタル信号処理(DSP)回路又は特定用途向け集積回路(ASIC)などの機能的に等価な回路として実装でき、又は他の適切な方法で実装できる。本明細書に含まれるフローチャートは、何らかの特定の回路又は何らかの特定のプログラミング言語又はプログラミング言語の種類の構文や動作を示していないことを理解されたい。むしろ、フローチャートは、本明細書に記載するタイプの技術を実行する特定の装置の処理を行うための回路の製造、又はコンピュータソフトウェアアルゴリズムの実装に使用できる機能情報を例示するものである。本明細書で特に明記しない限り、各フローチャートに記載されたステップ及び/又は動作の特定のシーケンスは、実装可能なアルゴリズムの例示にすぎず、本明細書に記載された原理の実装及び実施形態は変化できることも理解されたい。
【0065】
したがって幾つかの実施形態では、本明細書に記載する技術は、アプリケーションソフトウェア、システムソフトウェア、ファームウェア、ミドルウェア、埋め込みコード、又は他の任意の適切なタイプのコンピュータコードを含むソフトウェアとして実装されるコンピュータ実行可能命令において具体化できる。そのようなコンピュータ実行可能命令は、幾つかの適切なプログラミング言語及び/又はプログラミング又はスクリプトツールのいずれかを使用して記述でき、フレームワーク又は仮想マシンで実行される実行可能マシン言語コード又は中間コードとしてコンパイルすることもできる。
【0066】
本明細書に記載された技術がコンピュータ実行可能命令として具体化されると、これらのコンピュータ実行可能命令は、多くの利便機能を含む任意の適当な方法で実装でき、それぞれこれらの技術に従って動作するアルゴリズムの実行を完了するための1以上の動作を提供する。しかしながらインスタンス化された「利便機能」はコンピュータシステムの構造的要素であり、それは1以上のコンピュータと統合されて実行されると1以上のコンピュータに特定の操作上の役割を実行させる。利便機能は、ソフトウェア要素の一部又は全体であることができる。例えば利便機能はプロセスの機能として、又は個別のプロセスとして、又は他の適当な処理単位として実装されてよい。本明細書に記載された技術が複数の利便機能として実装される場合、各利便機能は独自の方法で実装されてよく、すべて同じ方法で実装する必要はない。さらに、これらの利便機能は必要に応じてパラレル及び/又はシリアルに実行されてよく、及びそれらが実行されているコンピュータの共有メモリを使用して、メッセージ受け渡しプロトコルを用いるか又はその他の適当な方法で互いの間で情報を渡すことができる。
【0067】
一般に、利便機能は、特定のタスクを実行し、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、利便機能の機能性は、それらが動作するシステムにおいて所望されるように組み合わせたり配分したりできる。幾つかの実装形態では、本明細書の技術を実行する1以上の利便機能が一緒になって完全なソフトウェアパッケージを形成できる。これらの利便機能は、代替実施形態ではソフトウェアプログラムアプリケーションを実装するために、他の無関係な利便機能及び/又はプロセスと相互作用するように適合されてよい。
【0068】
本明細書では、1以上のタスクを実行するために幾つかの例示的な利便機能が説明された。しかしながら記載された利便機能及びタスクの分割は、本明細書で説明された例示的な技術を実装できる利便機能のタイプを例示するものにすぎず、実施形態は特定の数、分割又はタイプの利便機能に限定されないことを理解されたい。幾つかの実装においてすべての機能性が単一の利便機能で実装される場合がある。また、幾つかの実装では本明細書に記載された利便機能の一部を他の利便機能と一緒に又は別個に(すなわち単一ユニット又は別個のユニットとして)実装でき、あるいはこれらの利便機能の一部が実装されないことも可能である。
【0069】
本明細書に記載の技術を実装するコンピュータ実行可能命令(1以上の利便機能として又は他の方法で実装される場合)は、ある実施形態では1以上のコンピュータ可読媒体にエンコードされて媒体に機能性を提供する。コンピュータ可読媒体は、ハードディスクドライブなどの磁気媒体、コンパクトディスク(CD)やデジタル多用途ディスク(DVD)などの光学媒体、永続的又は非永続的なソリッドステートメモリ(フラッシュメモリ、磁気RAMなど)、又はその他の適当な記憶媒体を含む。そのようなコンピュータ可読媒体は任意の適当な方法で実装できる。本明細書で使用される「コンピュータ可読媒体」(「コンピュータ可読記憶媒体」とも呼ばれる)は、有形の記憶媒体を指す。有形の記憶媒体は非一時的であり、少なくとも1つの物理的・構造的要素を有する。本明細書で使用される「コンピュータ可読媒体」では、少なくとも1つの物理的・構造的要素は、情報が埋め込まれた媒体を作成するプロセス、その媒体に情報を記録するプロセス、又は情報を含んだ媒体をエンコードするプロセスの間に何らかの方法で変更できる少なくとも1つの物理的特性を有する。例えばコンピュータ可読媒体の物理的構造の一部の磁化状態が、記録プロセス中に変更されてよい。
【0070】
さらに上述した幾つかの技術は、これらの技術で使用するために特定の方法で情報(例えばデータ及び/又は命令)を保存する動作を含む。これらの技術の幾つかの実装(技術がコンピュータ実行可能な命令として実装される実装など)では、情報はコンピュータ可読記憶媒体にエンコードされる。本明細書で特定の構造がこの情報を保存するための有利なフォーマットとして説明されている場合、これらの構造を使用して記憶媒体上でエンコードされるきに情報の物理的編成を与えることができる。次にこれらの有利な構造は、情報と相互作用する1以上のプロセッサの動作に影響を与えることにより、例えばプロセッサによって実行されるコンピュータ操作の効率を上げることにより、記憶媒体に機能性を提供することができる。
【0071】
技術をコンピュータ実行可能命令として具体化できる幾つかの実装(すべての実装ではなく)では、これらの命令は任意の適当なコンピュータシステムで動作する1以上の適当なコンピューティングデバイスで実行でき、又は1以上のコンピューティングデバイス(又は1以上のコンピューティングデバイスの1以上のプロセッサ)はコンピュータ実行可能な命令を実行するようにプログラムできる。コンピューティングデバイス又はプロセッサは、命令がデータストアなどのコンピューティングデバイス又はプロセッサにアクセス可能な方法で命令が保存されたときに命令を実行するようにプログラムできる(例えばオンチップキャッシュ又は命令レジスタ、バスを介してアクセス可能なコンピュータ可読ストレージ、1以上のネットワークを介してアクセス可能なコンピュータ可読記憶媒体、及びデバイス/プロセッサなどによってアクセス可能な媒体)。これらのコンピュータ実行可能命令を含む利便機能は、単一の多目的プログラム可能なデジタルコンピューティングデバイス、処理能力を共有して本明細書に記載した技術を共同で実行する2以上の多目的コンピューティングデバイスの協調システム、本明細書に記載された技術を実行するためだけの単一のコンピューティングデバイス又はコンピューティングデバイスの協調システム(コロケーションもしくは地理的に分散)、本明細書に記載の技術を実行するための1以上のフィールドプログラマブルゲートアレイ(FPGA)、又は任意の他の適当なシステムと統合されてその動作を指示することができる。
【0072】
コンピューティングデバイスは、少なくとも1つのプロセッサ、ネットワークアダプタ、及びコンピュータ可読記憶媒体を含むことができる。コンピューティングデバイスは、例えばデスクトップ又はラップトップ・パーソナルコンピュータ、パーソナルデジタルアシスタント(PDA)、スマートフォン、携帯電話、サーバ、又は他の任意の適当なコンピューティングデバイスであってよい。ネットワークアダプタは、任意の適当なコンピューティング・ネットワークを介して他の任意の適当なコンピューティングデバイスと有線及び/又は無線で通信するために、コンピューティングデバイスを有効にする任意の適当なハードウェア及び/又はソフトウェアであってもよい。コンピューティング・ネットワークには、ワイヤレスアクセスポイント、スイッチ、ルータ、ゲートウェイ、及び/又はその他のネットワーク機器、及びインターネットを含め2以上のコンピュータ間でデータを交換するための適当な有線及び/又は無線通信媒体を含む。コンピュータ可読媒体は、処理されるデータ及び/又はプロセッサによって実行される命令を保存するように適合されてよい。プロセッサは、データの処理や命令の実行を可能にする。データ及び命令は、コンピュータ可読記憶媒体に保存されてよい。
【0073】
コンピューティングデバイスは、さらに入出力装置を含め1以上のコンポーネント及び周辺機器を有してよい。これらのデバイスは、特にユーザインタフェースを提供するために使用できる。ユーザインタフェースを提供するために使用できる出力デバイスの例は、出力を視覚的に表示するためのプリンタ又はディスプレイ画面、及び出力を聴覚的に表示するためのスピーカ又はその他の音声生成装置を含む。ユーザインタフェースに使用できる入力デバイスの例は、キーボード、マウスやタッチパッドなどのポインティングデバイス、及びデジタル化タブレットである。別の例として、コンピューティングデバイスは、音声認識又は他の可聴形式で入力情報を受け取ることがある。
【0074】
技術が回路及び/又はコンピュータ実行可能命令で実装される実施形態が説明された。幾つかの実施形態は、少なくとも1つの例が提供された方法の形態であってもよいことを理解されたい。メソッドの一部として実行される動作は、任意の適切な方法で注文できる。したがって、例示の実施形態では連続した動作として示されているが、幾つかの動作を同時に実行することも含め動作が図示とは異なる順序で実行されるように実施形態を構成できる。
【0075】
上述した実施形態の種々の特徴は、単独でも、組み合わせて、又は上述した実施形態で具体的に論じされていない様々な構成で使用することができ、それゆえその応用において上記の説明に記された又は図面に示された詳細及びコンポーネントの配置に限定されるものではない。例えば1実施形態に記載された特徴は、他の実施形態に記載される特徴と任意の方法で組み合わせることができる。
【0076】
特許請求の範囲でクレーム要素を修正するために「第1」、「第2」、「第3」などの序数詞を使用することは、それ自体はあるクレーム要素の別のクレーム要素に対する優先、優位又は順位、あるいは方法の動作が実行される時間的順序を意味するものではなく、単にクレーム要素を区別するために特定の名前を持つクレーム要素を(序数詞の使用を除いて)同じ名前を持つ別の要素と区別するためのラベルとしてのみ使用される。
【0077】
また、本明細書で使用される語法及び用語は説明を目的とするものであり、制限と見なされるべきではない。本明細書における「含む」、「有する」、「持つ」、「包含する」、「伴う」、及びそれらの変形の使用は、その後に列挙される項目、及びその同等物、並びに追加項目を網羅することを意味する。
【0078】
本明細書では、「例示的」という言葉は、例、事例又は例示としての役割を果たすことを意味するために使用される。それゆえ例示として本明細書に記載される実施形態、実装、プロセス、特徴などは、例示的な例として理解されるべきであり、特に明記しない限り選好される例もしくは有利な例として理解されるべきではない。
【0079】
少なくとも1つの実施形態の幾つかの態様を説明したが、当業者には様々な変更、修正及び改善が容易に思いつくことを理解されたい。そのような変更、修正及び改善は本開示の一部であることが意図されており、本明細書に記載れる原理の精神及び範囲内にあることが意図されている。したがって上記の説明及び図面は例示にすぎない。
【0080】
以下に特許請求の範囲を記載する。
図1
図2
図3
図4
図5
図6
図7
図8