(57)【要約】      （修正有）【課題】ざらつきのない表面及び傾斜面など複雑な表面が含まれている場合でも、正しい奥行きを判定するシステム及び方法を提供する。【解決手段】第１画像は、撮像デバイスから受信された一対のステレオ画像の１つであり、一対のステレオ画像は、第１画像及び第２画像を含む第１画像の初期奥行マップを生成する工程３１０と、初期奥行マップ内の欠落領域の奥行値を仮定することにより初期奥行マップに基づいて推定奥行マップを生成する工程３１２と、推定奥行マップに基づいて第２画像をワーピングする工程３１６と、第１画像及びワーピングされた第２画像に基づいてワーピングされた奥行マップを生成する工程３１８と、ワーピングされた奥行マップ及び推定奥行マップに基づいて第２画像に対する第１画像用の新規奥行マップを生成する工程３２０と、を含む。【選択図】図３
2015149059.tif 000002
【特許請求の範囲】
【請求項１】
奥行マップを生成するコンピュータ実装方法であって、
第１画像の初期奥行マップを生成する工程であって、前記第１画像が撮像デバイスから受信された一対のステレオ画像の１つであり、該一対のステレオ画像が、前記第１画像及び第２画像を含む、工程と、
前記初期奥行マップ内の欠落領域の奥行値を仮定することにより、前記初期奥行マップに基づいて推定奥行マップを生成する工程と、
該推定奥行マップに基づいて前記第２画像をワーピングする工程と、
前記第１画像及び前記ワーピングされた第２画像に基づいてワーピングされた奥行マップを生成する工程と、
該ワーピングされた奥行マップ及び前記推定奥行マップに基づいて前記第２画像に対する前記第１画像の新規奥行マップを生成する工程と、を含む、方法。
【請求項２】
請求項１が繰り返し実行され、前記初期奥行マップが、各繰り返しにおける前記新規奥行マップと置き換えられる、請求項１に記載のコンピュータ実装方法。
【請求項３】
請求項１が一定の繰り返し回数で繰り返し実行される、請求項２に記載のコンピュータ実装方法。
【請求項４】
前記新規奥行マップと前記初期奥行マップとを比較する工程を含み、前記新規奥行マップと前記先の奥行マップとの間の対応する値が一定であると判断されるまで、請求項１が繰り返し実行される、請求項２に記載のコンピュータ実装方法。
【請求項５】
前記初期奥行マップ内の欠落領域の奥行値を仮定することにより、前記初期奥行マップに基づいて前記推定奥行マップを生成する工程が、水平直線補間により奥行値を仮定する工程を含む、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記初期奥行マップ内の欠落領域の奥行値を仮定することにより、前記初期奥行マップに基づいて前記推定奥行マップを生成する工程が、前記繰り返しに基づく多方向の補間により奥行値を仮定する工程を含む、請求項２に記載のコンピュータ実装方法。
【請求項７】
前記補間の方向が繰り返しごとに変化する、請求項６に記載のコンピュータ実装方法。
【請求項８】
前記推定奥行マップに基づいて前記第２画像をワーピングする工程が、前記推定奥行マップ内の対応する画素の強度に基づいて前記第２画像内の１つ以上の画素の強度を判定する工程を含む、請求項１に記載のコンピュータ実装方法。
【請求項９】
前記新規奥行マップを生成する工程が前記ワーピングされた奥行マップのワーピングを除去する工程を含む、請求項１に記載のコンピュータ実装方法。
【請求項１０】
前記ワーピングされた奥行マップのワーピングを除去する工程が、前記推定奥行マップ及び前記ワーピングされた第２画像における対応する画素間の視差を識別する工程と、前記ワーピングされた奥行マップに該視差を付加する工程を含む、請求項９に記載のコンピュータ実装方法。
【請求項１１】
プロセッサによって実行されるとき、奥行マップを生成する方法であって、
初期奥行マップを第１画像用に生成する工程であって、該第１画像が撮像デバイスから受信された画像シーンの一対のステレオ画像の１つであり、該一対のステレオ画像が前記第１画像及び第２画像を含む、工程と、
前記初期奥行マップ内の欠落領域の奥行値を仮定することによって、該初期奥行マップに基づいて推定奥行マップを生成する工程と、
該推定奥行マップに基づいて前記第２画像をワーピングする工程と、
前記第１画像及び前記ワーピングされた第２画像に基づいてワーピングされた奥行マップを生成する工程と、
前記ワーピングされた奥行マップ及び前記推定奥行マップに基づいて前記第２画像に対する前記第１画像の新規奥行マップを生成する工程と、を含む、方法を実行する命令を含む、非一時的なコンピュータで読み取り可能な媒体。
【請求項１２】
前記プロセッサが請求項１１を繰り返し実行し、各繰り返しにおいて前記初期奥行マップを前記新規奥行マップで書き換える、請求項１１に記載の非一時的なコンピュータで読み取り可能な媒体。
【請求項１３】
前記先の繰り返しからの前記奥行マップと比較したとき、前記新規奥行マップの値が一定に保たれていると前記プロセッサが判断するまで、前記プロセッサが請求項１１を繰り返し実行する、請求項１１に記載の非一時的なコンピュータで読み取り可能な媒体。
【請求項１４】
新規奥行マップを生成する工程が前記ワーピングされた奥行マップのワーピングを除去する工程を含む、請求項１１に記載の非一時的なコンピュータで読み取り可能な媒体。
【請求項１５】
前記ワーピングされた奥行マップのワーピングを除去する工程が、前記推定奥行マップ及び前記ワーピングされた第２画像における対応する画素間の視差を識別する工程と、前記ワーピングされた奥行マップへ視差を付加する工程と、を含む、請求項１４に記載の非一時的なコンピュータで読み取り可能な媒体。
【請求項１６】
奥行マップを生成するコンピュータシステムであって、
プロセッサと、
該プロセッサに第１画像用の初期奥行マップを生成させる推定奥行マップモジュールであって、前記第１画像が、撮像デバイスから受信された画像シーンの一対のステレオ画像の１つであり、該一対のステレオ画像が、前記第１画像及び第２画像を含み、前記初期奥行マップ内の欠落領域の奥行値を仮定することにより前記初期奥行マップに基づいて推定奥行マップを生成する、推定奥行マップモジュールと、
前記推定奥行マップに基づいて前記プロセッサに前記第２画像をワーピングさせる奥行マップ改良モジュールであって、前記第１画像及び前記ワーピングされた第２画像に基づいてワーピングされた奥行マップを生成し、該ワーピングされた奥行マップ及び前記推定奥行マップに基づいて前記第２画像に対する前記第１画像用の新規奥行マップを生成する、奥行マップ改良モジュールと、を含むコンピュータシステム。
【請求項１７】
前記プロセッサが、前記推定奥行マップモジュール及び前記奥行マップ改良モジュールを繰り返し実行し、前記初期奥行マップを前記奥行マップ改良モジュールによって出力された前記新規奥行マップで書き換える、請求項１６に記載のシステム。
【請求項１８】
前記プロセッサが、前記推定奥行マップモジュール及び前記奥行マップ改良モジュールを、初期奥行マップと前記新規奥行マップの対応する値が一定に保たれると判断されるまで繰り返し実行する、請求項１６に記載のシステム。
【請求項１９】
前記奥行マップ改良モジュールが、前記ワーピングされた奥行マップのワーピングを除去する、請求項１６に記載のシステム。
【請求項２０】
前記奥行マップのワーピングを除去する工程が、前記奥行マップ改良モジュールで前記推定奥行マップ及び前記ワーピングされた第２画像における対応する画素間の視差を識別する工程を含み、前記ワーピングされた奥行マップへ視差を付加する、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、本明細書に参考として明示的に組み込まれる、２０１４年２月８日に出願された米国特許仮出願第６１／９３７４９６号の優先権を主張するものである。
【背景技術】
【０００２】
コンピュータステレオビジョンシステムは、通常、同じ画像シーンの２つの異なる視覚を得るために２台のカメラを含む。２つの異なる視覚における物体及び表面は、画像シーンでのカメラの異なる視点のために、わずかに異なる位置に現れることがある。局所的ブロックマッチングステレオ法は、２つの異なる視覚から奥行を復元するために使用されることがある。しかしながら、例えば、ざらつきのない表面及び傾斜面など複雑な表面を見る場合には、物体及び表面の奥行を復元することが困難である場合がある。したがって、カメラ画像から奥行を復元する局所的ブロックマッチングステレオ法は、通常、数ある問題の中で特に、フロントパラレル仮定及び質感の不足のために、正しい奥行を判定できない。
【発明の概要】
【課題を解決するための手段】
【０００３】
一態様によると、奥行マップを生成するコンピュータ実装方法は、第１画像の初期奥行マップを生成する工程であって、第１画像は、撮像デバイスから受信された一対のステレオ画像の１つであり、一対のステレオ画像は、第１画像及び第２画像を含む工程と、初期奥行マップ内の欠落領域の奥行値を仮定することにより初期奥行マップに基づいて推定奥行マップを生成する工程と、推定奥行マップに基づいて第２画像をワーピングする工程と、を含む。この方法は、第１画像及びワーピングされた第２画像に基づいてワーピングされた奥行マップを生成する工程と、ワーピングされた奥行マップ及び推定奥行マップに基づいて第２画像に対する第１画像用の新規奥行マップを生成する工程と、を含む。
【０００４】
別の態様によると、非一時的なコンピュータで読み取り可能な媒体は、プロセッサによって実行されるとき、第１画像用の初期奥行マップを生成する工程であって、第１画像は、撮像デバイスから受信された画像シーンの一対のステレオ画像の１つであり、一対のステレオ画像は、第１画像及び第２画像を含む工程と、初期奥行マップ内の欠落領域の奥行値を仮定することにより初期奥行マップに基づいて推定奥行マップを生成する工程と、推定奥行マップに基づいて第２画像をワーピングする工程と、を含む、奥行マップを生成する方法を実行する命令を含む。第１画像及びワーピングされた第２画像に基づいてワーピングされた奥行マップを生成する工程と、ワーピングされた奥行マップ及び推定奥行マップに基づいて第２画像に対する第１画像用の新規奥行マップを生成する工程と、を含む方法。
【０００５】
更なる態様によると、奥行マップを生成するコンピュータシステムは、プロセッサ及びプロセッサに第１画像用の初期奥行マップを生成させる推定奥行マップモジュールを含み、第１画像は、撮像デバイスから受信された画像シーンの一対のステレオ画像の１つであり、一対のステレオ画像は、第１画像及び第２画像を含み、初期奥行マップ内の欠落領域の奥行値を仮定することにより初期奥行マップに基づいて推定奥行マップを生成する。このシステムは、推定奥行マップに基づきプロセッサに第２画像をワーピングさせる奥行マップ改良モジュールを含み、第１画像及びワーピングされた第２画像に基づきワーピングされた奥行マップを生成し、ワーピングされた奥行マップ及び推定奥行マップに基づいて第２画像に対する第１画像用の新規奥行マップを生成する。
【図面の簡単な説明】
【０００６】
この開示に特有であると考えられる新しい特徴は、添付の請求の範囲に記載されている。以下の記載において、類似の部分には、明細書及び図面の全体にわたって同じ符号がそれぞれ付けられる。図面は、必ずしも一定の比率で描かれるわけではなく、かつ特定の図面は明瞭さ及び簡潔さのために誇張されあるいは一般化された形態で示され得る。しかしながら、開示それ自体並びに好ましい使用のモード、更なる目標及びその進歩は、添付の図面と併せて読むときに例証となる実施形態の以下の詳細な説明を参照することにより最も良く理解されることになる。
【図１】本願の一態様に従った、繰り返し補間及びワーピングにより奥行マップを生成する例示のシステムの概略図である。
【図２ａ】本願の一態様に従った、若干傾斜した表面に対する標準の局所的ブロックマッチングの例示の実施例である。
【図２ｂ】本願の一態様に従った、繰り返し補間及びワーピングにより奥行マップを生成する例示の実施形態による、若干傾斜した表面に対する局所的ブロックマッチングの例示の実施例である。
【図３】本願の一態様に従った、繰り返し補間及びワーピングにより奥行マップを生成する例示の方法を示すフローチャートである。
【図４ａ】本願の一態様に従った、例示の水平直線補間に使用される例示の画素ブロックの概略図である。
【図４ｂ】本願の一態様に従った、多方向の直線補間に使用される例示の画素ブロックの概略図である。
【図５ａ】本願の一態様に従った、例示の左ステレオ画像である。
【図５ｂ】本願の一態様に従った、図５ａの左ステレオ画像の例示の視差マップである。
【図５ｃ】本願の一態様に従った、１回繰り返し後の図５ａの左ステレオ画像の例示の視差マップである。
【図５ｄ】本願の一態様に従った、８回繰り返し後の図５ａの左ステレオ画像の例示の視差マップである。
【発明を実施するための形態】
【０００７】
以下は、本願明細書において使用される選択された用語の定義を含む。この定義は、用語の範囲内に収まるとともに実施のために使用することができる、構成要素の様々な実施例及び／又は形態を含む。この実施例は、制限的なものであることを意図していない。更に、当業者は、本明細書で議論される構成要素は、組み合わされたり、省略されたり、又は他の構成要素と共に編成されたり若しくは異なるアーキテクチャに編成されたりしてよいことを認識するであろう。
【０００８】
本明細書で用いる「バス」は、コンピュータの内部のあるいはコンピュータの間の他のコンピュータ構成要素に動作可能に接続された、相互に連結されるアーキテクチャを指す。バスは、コンピュータ構成要素間でデータを転送することができる。結果的に、バスは、他のバスを使用して様々な装置、モジュール、論理、及び周辺機器と通信することができる。バスは、単一の内部バス相互連結アーキテクチャ及び／又は他のバス若しくはメッシュアーキテクチャであってよい（例えば外部）。バスは、とりわけ、メモリバス、メモリコントローラ、周辺バス、外部バス、クロスバースイッチ、及び／又はローカルバスであってよい。いくつかの実施形態では、バスは、とりわけ、コントローラエリアネットワーク（ＣＡＮ）、ローカル相互接続ネットワーク（ＬＩＮ）といったプロトコルを使用して、車両内の構成要素を相互接続する車両バスであってよい。
【０００９】
「コンピュータ通信」は、本明細書において使用される際、２つ以上のコンピューティングデバイス（例えば、コンピュータ、ポータブルデバイス、個人用デジタル補助装置、セルラ電話、ネットワークデバイス）間の通信を指し、例えば、ネットワーク転送、ファイル転送、アプレット転送、電子メール、ハイパーテキスト転送プロトコル（ＨＴＴＰ）転送などであってよい。コンピュータ通信は、例えば、とりわけ、無線システム（例えば、ＩＥＥＥ  ８０２．１１）、イーサネット（登録商標）システム（例えば、ＩＥＥＥ  ８０２．３）、トークンリングシステム（例えば、ＩＥＥＥ  ８０２．５）、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ポイントツーポイントシステム、回路交換システム、パケット交換システムにわたって行われてもよい。
【００１０】
「奥行マップ」は、本明細書において使用される際、通常、視点からのシーン物体の表面の距離に関する情報を含有する画像又は画像チャネルである。いくつかの実施形態では、奥行マップは、各奥行値がシーン内のそれぞれの位置に対応し、特定の基準位置から対応のシーン位置までの距離を示す、奥行値の２次元マトリックス（例えば、アレイ）を含む。いくつかの実施形態では、視差マップは、奥行情報が同じシーンのオフセット画像から導出される奥行マップである。視差マップは、所定のカメラ校正パラメータの変換によって得られる反転奥行マップ（inverse depth map）であってよい。
【００１１】
本明細書で用いる「ディスク」は、例えば、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、Ｚｉｐドライブ、フラッシュメモリカード及び／又はメモリスティックとすることができる。更にまた、ディスクは、ＣＤ−ＲＯＭ（コンパクトディスクＲＯＭ）、ＣＤレコーダブルドライブ（ＣＤ−Ｒドライブ）、ＣＤリライタブルドライブ（ＣＤ−ＲＷドライブ）、及び／又はデジタルビデオＲＯＭドライブ（ＤＶＤ  ＲＯＭ）とすることができる。このディスクは、コンピューティングデバイスのリソースを制御するか、割り当てるオペレーティングシステムを書き込むことができる。
【００１２】
本明細書で用いる「局所的ブロックマッチングステレオ法」は、画像間の視差を計算するための対応付けの方法である。通常、第１画像内の各画素に対し、第１ブロックをその周囲で抽出する。探索は、第１ブロックに最もよく対応する第２ブロック用の第２画像で実行される。この探索は、第１画像内の画素を中心とする周囲の所定の範囲内の画素で実行される。第１ブロック及び第２ブロックは比較されて、画素が最小マッチングコストにより選択される。利用されるコスト関数は、特に、累積絶対値誤差（ＳＡＤ）、ランク変換相関（ＮＣＣ）、及び累積正規化相互相関（ＳＮＣＣ）を含んでよい。
【００１３】
本明細書で用いる「メモリ」は、揮発性メモリ及び／又は不揮発性メモリを含んでよい。不揮発性メモリは、例えば、ＲＯＭ（読出し専用メモリ）、ＰＲＯＭ（プログラマブル読出し専用メモリ）、ＥＰＲＯＭ（消去可能なＰＲＯＭ）及びＥＥＰＲＯＭ（電気的消去可能ＰＲＯＭ）を含んでよい。揮発性メモリは、例えばＲＡＭ（ランダムアクセスメモリ）、シンクロナスＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲＳＤＲＡＭ）、ダイレクトＲＡＭバスＲＡＭ（ＤＲＲＡＭ（登録商標））を含んでよい。メモリは、コンピューティングデバイスのリソースを制御するか、割り当てるオペレーティングシステムを記憶することができる。
【００１４】
本明細書で用いる「入出力」機構は、特に、キーボード、マイクロホン、ポインティング及び選択デバイス、カメラ、撮像デバイス、ビデオカード、ディスプレイ、ディスク、ネットワークデバイスを含んでよい。入出力機構は、例えば、シリアルポート、パラレルポート、及びＵＳＢポートなどの入出力ポートを含んでよい。
【００１５】
本明細書で用いる「モジュール」は、命令を記憶する非一時的なコンピュータで読み取り可能な媒体、マシンで実行中の命令、ハードウェア、ファームウェア、マシンで実行中のソフトウェア、並びに／又は機能若しくはアクションを実行する、並びに／若しくは別のモジュール、方法、及び／若しくはシステムから機能若しくはアクションを起こすためのそれぞれの組み合わせを含むが、これらに限定されない。モジュールはまた、論理、ソフトウェア制御されたマイクロプロセッサ、離散論理回路、アナログ電子回路、デジタル回路、プログラムされた論理デバイス、実行命令を含有する記憶装置、論理ゲート、ゲートの組み合わせ、及び／又は他の回路構成要素を含んでよい。複数モジュールは、１つのモジュールに組み合わされてよく、単一のモジュールは、複数モジュールに分散されてよい。
【００１６】
「動作可能な接続」、又はエンティティが「動作可能に接続される」接続は、信号、物理的通信、及び／又は論理的通信を送信及び／又は受信することができるものである。動作可能な接続は、物理的なインターフェース、データインターフェース及び／又は電気的インターフェースを含んでよい。
【００１７】
本明細書で用いる「プロセッサ」は、信号を処理し、一般的な計算及び算術関数を実行する。プロセッサによって処理される信号は、デジタル信号、データ信号、コンピュータ命令、プロセッサ命令、メッセージ、ビット、ビットストリーム、又は受信、伝送、及び／若しくは検出することができる他の手段を含んでよい。一般に、プロセッサは、マルチ、シングル及びマルチコアのプロセッサ及びコプロセッサ、並びに他のマルチ、シングル及びマルチコアのプロセッサ及びコプロセッサのアーキテクチャを含む様々なプロセッサとすることができる。プロセッサは、種々の機能を実行するための種々のモジュールを含んでよい。
【００１８】
本明細書で用いる「車両」は、１人以上のヒト占有者を運ぶことが可能であり、かつ任意の形態のエネルギーを動力とする、任意の移動車両を指す。用語「車両」は車、トラック、バン、ミニバン、ＳＵＶ、オートバイ、スクータ、ボート、パーソナルウォータークラフト及び航空機を含むが、それらには限定されない。場合によっては、自動車は、１つ以上のエンジンを含む。更に、用語「車両」は、１人以上のヒト占有者を運ぶことが可能であり、かつ電気バッテリによって給電される１つ以上の電気モータを完全に又は部分的に動力とする、電気車両（ＥＶ）を指す。ＥＶは、バッテリ電気車両（ＢＥＶ）及びプラグインハイブリッド電気車両（ＰＨＥＶ）を含むことができる。加えて、用語「車両」は、任意の形態のエネルギーを動力とする、自律走行車両及び／又は自動運転車両を指すこともできる。自律走行車両は、１人以上のヒト占有者を運んでも、運ばなくてもよい。
【００１９】
本明細書で用いる「車両システム」は、車両、運転、及び／又は安全を改良するために使用され得る任意の自動又は手動システムを含んでよいが、それらに限定されない。代表的な車両システムには、これらに限定されるものではないが、特に、電子安定制御システムアンチロックブレーキシステム、ブレーキ補助システム、自動ブレーキプレフィルシステム、低速追従システム、クルーズ制御システム、衝突警報システム、衝突軽減ブレーキシステム、自動クルーズ制御システム、車線逸脱警報システム、ブラインドスポットインジケータシステム、車線維持支援システム、ナビゲーションシステム、伝送システム、ブレーキペダルシステム、電子パワーステアリングシステム、視覚装置（例えば、カメラシステム、近接センサシステム）、気象制御システム、電子プレテンショニングシステムが挙げられる。
【００２０】
ここで図面を参照すると、表示は１つ以上の例示の実施例を示す目的であり、それに限定する目的ではなく、図１は、繰り返し補間及びワーピングにより奥行マップを生成する例示のシステム１００の概略図を示している。システム１００の構成要素、並びに本明細書で議論される他のシステム、ハードウェアアーキテクチャ、及びソフトウェアアーキテクチャは、様々な実施形態で組み合わされ、除外され、又は異なるアーキテクチャに編成されてよい。更に、システム１００及び／又はシステム１００の１つ以上の構成要素は、いくつかの実施形態では、車両又は車両システム（例えば、インフォテインメントシステム、ナビゲーションシステム、車両ヘッドユニット）（図示なし）と共に実装されてよい。
【００２１】
図１の図示した実施形態では、システム１００は、システム１００の様々な構成要素と共に処理、通信、及び相互作用を行う装置を備えたコンピュータ１０２を含む。通常、コンピュータ１０２は、プロセッサ１０４、メモリ１０６、ディスク１０８、及び通信インターフェース１１０を含み、これらはバス１１２を介したコンピュータ通信のためにそれぞれ動作可能に接続される。コンピュータは、いくつかの実施形態において、例えば、特に、ＥＣＵ、車両ヘッドユニット、イメージングシステムなど、車両（図示なし）と一体化されているか又は関連付けられている。通信インターフェース１１２は、コンピュータ１０２と、本明細書に記載される、他の構成要素、ネットワーク、及びデータ源との間のデータ入力及び出力を容易にするように、ソフトウェア及びハードウェアを提供する。加えて、本明細書で議論されるシステム及び方法により詳細に説明するように、プロセッサ１０４は、推定奥行マップモジュール１１８及び奥行マップ改良モジュール１２０を含む。
【００２２】
コンピュータ１０２はまた、撮像デバイス１１４及び表示デバイス１１６とのコンピュータ通信のために動作可能に接続される。撮像デバイス１１４は、１台以上のカメラを含んでよい。撮像デバイス１１４は、視覚の一対の画像を得る。一対の画像は、視覚の第１画像及び第２画像であってよい。例えば、一対の画像は、視覚の左画像及び右画像であってよい。撮像デバイス１１４は、視覚に関する画像データの取得及び／又は取り込みを行う任意のタイプのデバイスであってよい。例えば、撮像デバイス１１４は、特に、１台以上の立体カメラ、３Ｄカメラ、２Ｄカメラ、移動奥行カメラ、ビデオカメラ、ＣＣＤカメラ、ＣＭＯＳカメラ、ポータブルデバイスカメラであってよい。車両内で、撮像デバイス１１４は、例えば前方監視カメラなど、車両の内側、又は車両の外側に位置してよい。他の実施形態では、撮像デバイス１１４は、１つ以上のポータブルデバイス（図示なし）からコンピュータ１０２へのコンピュータ通信のために動作可能に接続される１つ以上の撮像デバイスを含んでよい。更なる実施形態では、一対の画像は、ネットワーク（図示なし）、データベース（図示なし）、又は撮像デバイスから取得された一対の画像を記憶する他のデバイスから取得されてよい。
【００２３】
図１に示す実施形態では、表示デバイス１１６は、コンピュータ１０２からの情報を受信及び／又は表示する入力及び／又は出力デバイスを含んでよい。例えば、表示デバイス１１６は、特に、画像表示画面、タッチ表示画面、ポータブルデバイスのディスプレイ、車両内のディスプレイ、ヘッドアップ表示装置、ＬＣＤディスプレイであってよい。いくつかの実施形態では、本明細書で議論される方法及びシステムで処理された奥行マップ及び画像は、表示デバイス１１６上に表示されてよい。
【００２４】
図１の推定奥行マップモジュール１１８及び奥行マップ改良モジュール１２０は、例示の実施形態に従って奥行マップを精製する例示のシステムに関して、ここで詳細に議論される。推定奥行マップモジュールは、プロセッサに第１画像の初期奥行マップを生成させる。第１画像は、例えば撮像デバイス１１４など、撮像デバイスから受信された画像シーン（例えば、同じ画像シーン）の一対のステレオ画像の１つである。一対のステレオ画像は、画像シーンの第１画像及び第２画像を含む、いくつかの実施形態では、第１画像は左画像（例えば、画像シーンの左視点を示す画像）であり、第２画像は右画像（例えば、画像シーンの右透視点を示す画像）であり、あるいは逆もまた同様である。本明細書で議論される例示のシステム及び方法は、第１画像が左画像、第２画像が右画像であるとして記載されるものの、上述のように他の実装が想到される。更に、いくつかの実施形態で、第１画像及び第２画像はカラーステレオ画像であり、システム１００は、カラーステレオ画像をグレースケール（例えば、１チャネル画像）に変換できる、又はシステム１００は、ステレオ画像をカラーで処理することができることが理解される。
【００２５】
一対のステレオ画像は、図２ａ及び２ｂに関してここで議論される。図２ａは、若干傾斜した表面に対する標準の局所的ブロックマッチングの例示の実施例である。図２ａは、画像シーンの第１画像（例えば、左画像、Ｌ）２０２ａ及び画像シーンの第２画像（例えば、右画像、Ｒ）２０２ｂを含む。図２ａ及び２ｂで、画像シーンは、例えば、車両の前方監視カメラ（例えば、撮像デバイス１１４）による取り込みなどのストリートビューである。第１画像２０２ａ及び第２画像２０２ｂで、ストリート２０４ａ（例えば、画像シーン内の物体）は、両方のカメラ（例えば、視点）の像平面に対して傾斜している。図２ａに示すように、ブロック２０６ａは、第１画像２０２ａにおいて局所的ブロックマッチング法により計算され、そのブロック２０６ａは、ストリート２０４ａを含む。ブロック２０６ｂは、ブロック２０６ａに基づき、第２画像２０２ｂにおいて局所的ブロックマッチングにより計算される。図２ａで対応するブロック（即ち、ブロック２０６ａ及びブロック２０６ｂ）間の視差値は、第２画像２０２ｂ内のストリート２０４ａの大きく傾斜した表面のためもあって、大きく変化する。これは、対応するブロックの大きな相違につながり、この相違は、不正確な相関値、並びにブロック２０６ａ及びブロック２０６ｂに基づき生成された奥行マップ内の不正確な又は欠落した奥行の領域をもたらす場合がある。
【００２６】
図２ａと対照的に、図２ｂは、繰り返し補間及びワーピングにより奥行マップを生成する例示の実施形態による、若干傾斜した表面に対する局所的ブロックマッチングの例示の実施例である。図２ａと同様に、図２ｂは、画像シーンの第１画像（例えば、左画像、Ｌ）２１０ａ及び画像シーンの第２画像（例えば、右画像、Ｒ）２１０ｂを含む。第１画像２１０ａ及び第２画像２１０ｂで、ストリート２１２ａ（例えば、画像シーン内の物体）は、大きく傾斜している。ただし、ストリートが異なる視点から見える図２ａと異なり、推定奥行マップ（本明細書に記載されるような）を使用して、画像２１０ｂの視点を画像２１０ａの視点に対応するように変更する。これは、本明細書で議論される例示の方法及びシステムと共に記載されるように、画像２１０ｂを得るためワーピング画像２０２ｂによって実現される。図２ｂに示すように、ブロック２１４ａは、第１画像２１０ａの局所的ブロックマッチング法により計算され、ストリート２１２ａを含む。ブロック２１４ｂは、第２画像２１０ｂの局所的ブロックマッチング法により計算され、ブロック２１４ａに基づいてワーピングされる。図２ｂで対応するブロック（即ち、ブロック２１４ａ及びブロック２１４ｂ）間の視差値は、最小であり、第２画像２１０ｂがワーピングされることもあって、類似の対応するブロックをもたらす。結果的に、ブロック２１４ａ及びブロック２１３ｂに基づいて生成される奥行マップは、より正確になる。
【００２７】
図１を再び参照すると、推定奥行マップモジュール１１８は、初期奥行マップ内の欠落領域の奥行値を仮定することにより、初期奥行マップに基づいて推定奥行マップを生成する。欠落領域の奥行値は、例えば、水平直線補間及び／又は多方向の補間などの補間を使用して仮定（hypothosized）してもよく、そのことは、後で図３、４ａ、及び４ｂに関連して詳しく説明する。通常、初期奥行マップは、局所的ブロックマッチング法を使用した推定奥行マップモジュール１１８により生成され、推定奥行マップは、補間を用いて領域に欠落している奥行値を入れることによって推定奥行マップモジュール１１８により生成される。
【００２８】
例えば、図２ｂの第２画像２１０ｂにより示されるように、奥行マップ改良モジュール１２０により、推定奥行マップを使用して第２画像をワーピングすることができる。具体的には、奥行マップ改良モジュール１２０は、プロセッサ１０４に第２画像を推定奥行マップに基づいてワーピングさせる。奥行マップ改良モジュール１２０は、第１画像及びワーピングされた第２画像に基づきワーピングされた奥行マップを生成する。奥行マップ改良モジュール１２０は、ワーピングされた奥行マップ及び推定奥行マップに基づいて第２画像に対する第１画像の新規奥行マップを生成する。いくつかの実施形態では、奥行マップ改良モジュール１２０は、ワーピングされた奥行マップのワーピングを除去することによって新規奥行マップを生成する。奥行マップのワーピングの除去は、奥行マップ改良モジュール１２０が推定奥行マップ内の対応する画素とワーピングされた第２画像との間の視差を識別することを含む。視差は、次にワーピングされた奥行マップに付加され、それにより新規奥行マップを生成する。
【００２９】
一実施形態では、プロセッサ１０４は、推定奥行マップモジュール１１８及び奥行マップ改良モジュール１２０を繰り返し実行し、初期奥行マップを奥行マップ改良モジュール１２０によって出力された新規奥行マップで書き換える。更なる実施形態では、プロセッサ１０４は、推定奥行マップモジュール１１８及び奥行マップ改良モジュール１２０を、先の繰り返しからの奥行マップ（例えば、初期奥行マップであってもよい）と新規奥行マップの対応する値が一定に保たれると判断されるまで繰り返し実行する。繰り返し過程の詳細は、図３によって更に詳しく説明される。この繰り返し及びワーピングのアプローチは、奥行に誤りのある画素の割合を低く保ちながら、局所的方法用の有効な奥行の割合を増加させる。
【００３０】
前述の図１に図示されるシステム１００は、ここで図３の方法に関連して説明される。図１に前述のシステム及び構成要素は、図３の方法と同様に実装されてよいことが理解されよう。図３の方法は、繰り返し補間及びワーピングによって奥行マップを生成する例示の方法を図示する。前述のとおり、図３の方法は、第１画像が画像シーンの左画像（Ｌ）であり、第２画像が画像シーンの右画像（Ｒ）である状態で議論されるが、他の実施形態において第１画像が右画像となり第２画像が左画像となり得ることが理解される。
【００３１】
ここで図３を参照すると、ブロック３１０で、方法は第１画像（即ち、左画像、Ｌ）、本明細書でＤＬとして示される画像用の初期奥行マップの生成を含む。一実施形態では、図１の推定奥行マップモジュール１１８は、第１画像（即ち、左画像、Ｌ）用の初期奥行マップＤＬを生成することができる。具体的には、初期奥行マップＤＬは、第１画像用に生成され、この第１画像は撮像デバイスから受信された一対のステレオ画像の１つであり、一対のステレオ画像は第１画像及び第２画像を含む。図３で、左画像（即ち、第１画像）は、ブロック２１０で入力３０２として受信され、右画像（即ち、第２画像）はブロック３１０で入力３０４として受信される。左画像及び右画像は、例えば、図１の撮像デバイス１１４から取得される。
【００３２】
初期奥行マップＤＬは、ワーピングされていない左画像及びワーピングされていない右画像（例えば、元の画像、Ｌ、Ｒ）から生成される。いくつかの実施形態では、初期奥行マップＤＬは、局所的ブロックマッチング法を使用して生成される。加えて、例えば、左右確認及び／又は小さい視差領域の除去など、他の画像処理工程は、初期奥行マップＤＬの生成後に適用されることがあることが理解される。更に、ループの繰り返しを示すカウンタＩＴＥＲはまた、ブロック３１０で入力３０６として受信される。入力３０６に示されるように、最初の繰り返しで、ＩＴＥＲは０にセットされる。図１のプロセッサ１０４は、カウンタＩＴＥＲを保持することができる。図３に示される方法で、ブロック３１０は、最初の繰り返しで実行される（即ち、ＩＴＥＲ＝０）。
【００３３】
いくつかの状況では、後処理テクニックを用いても、初期奥行マップＤＬは、欠落した奥行（例えば、孔）のある領域を数多く有する。結果的に、図３を再び参照すると、ブロック３１２で、方法は、初期奥行マップ内の欠落領域の奥行値を仮定することによる、初期奥行マップに基づいて推定奥行マップを生成する工程を含む。推定奥行マップは、本明細書でＤＩとして示される。一実施形態では、図１の推定奥行マップモジュール１１８は、初期奥行マップに基づいて推定奥行マップを生成する。本明細書でより詳細に説明されるように、ＩＴＥＲ＞０である場合、推定奥行マップは新規奥行マップ
【００３４】
【数１】
2015149059.tif 000003
に基づいている。したがって、ＩＴＥＲ＞０である場合、
【００３５】
【数２】
2015149059.tif 000004
【００３６】
欠落領域の奥行値の仮定は、例えば、ブロック３１４での補間によってなど、様々な方法で行われてよい。ブロック３１４で、ＩＴＥＲカウンタは、１ずつ増分され、例えば、プロセッサ１０４は、ＩＴＥＲカウンタを保持してよく、このＩＴＥＲカウンタを１ずつ増分する。更にブロック３１４では、奥行マップＤＬは、推定奥行マップＤＩを得るために補間される。一実施形態では、初期奥行マップ内の欠落領域の奥行値を仮定することによって、初期奥行マップに基づいて推定奥行マップを生成する工程は、水平方向の補間によって奥行値を推定する工程を含む。水平方向の補間では、各段は水平方向に直線状に埋められ、第１の左及び右の画素の間の補間は有効な視差エントリを有する。一実施形態では、第１の左及び右の画素の間の補間は視差値が所定の（predetermine）しきい値内であると判定したときに完了される。例えば、所定のしきい値は、例えば４０ピクセルなどの画素数にセットすることができる。残りの画素は、近接する最小の視差で埋められる。
【００３７】
図４ａは、水平直線補間に使用される例示の画素ブロック４０２の概略図である。図４ａでは、画素ブロック４０２は、座標（１ａ，１ａ）を起点とし、座標（１００ａ，１００ａ）まで延在する１０×１０の画素ブロックである。図４ａに示される黒ドット（例えば、黒ドット４０４）は、値を有する画像の画素である。画素ブロック４０２を有する第１画像が、例えば、図１の表示デバイス１１６に補間なしで表示されたとすると、値を有さない画素がいくつか存在するため、欠落した画素及び領域が存在する。例えば、座標（１ａ，２ａ）の画素は、値を有さない。値を有さない画素ブロック４０２内の画素を補間することができ、図４ａに図示された実施例では、これらの画素は、矢印４０６によって示されるように水平直線補間を使用して補間される。結果的に、一実施形態では、プロセッサ１０４は、画素ブロック４０２から選択した画素を使用して値が欠落している画素の値を補間する。この実施形態では、例えば、座標（６ａ，５ａ）に位置する画素の値を、左側の画素（例えば（６ａ，４ａ））の有効な視差値及び右側の画素（例えば（６ａ，６ａ））の有効な視差値を使用して補間することができる。水平直線補間を、各段若しくは段の部分集合及び／又は画素に適用することができる。
【００３８】
別の実施形態では、初期奥行マップ内の欠落領域の奥行値を仮定することによって、初期奥行マップに基づいて推定奥行マップを生成する工程は、多方向の直線補間によって奥行値を推定する工程を含む。多方向の直線補間は、繰り返しに基づいてもよい（即ち、ＩＴＥＲ）。更に、一実施形態では、繰り返しの方向は、繰り返しのたびに変わる。例えば、繰り返しの方向は、繰り返しの回数によって１８０度の周りに分散される。例えば、２回繰り返しの場合、１回目の繰り返し（即ち、ＩＴＥＲ＝１）は０度の水平方向で、２回目の繰り返し（即ち、ＩＴＥＲ＝２）は９０度の垂直方向である。４回繰り返しの場合は、１回目の繰り返し（即ち、ＩＴＥＲ＝１）は０度の水平方向で、２回目の繰り返し（即ち、ＩＴＥＲ＝２）は９０度の垂直方向で、３回目の繰り返し（即ち、ＩＴＥＲ＝３）は４５度で、４回目の繰り返し（即ち、ＩＴＥＲ＝４）は１３５度である。残りの画素は、近接する最小の視差で埋められてよい。
【００３９】
図４ｂは、例示の多方向の直線補間によって使用される例示の画素ブロック４０８の概略図である。図４ｂでは、画素ブロック４０８は、座標（１ｂ，１ｂ）を起点とし、座標（１００ｂ，１００ｂ）まで延在する１０×１０の画素ブロックである。図４ｂに示される黒ドット（例えば、黒ドット４１０）は、値を有する画像の画素である。画素ブロック４０８を有する第１画像が、例えば、図１の表示デバイス１１６に補間なしで表示されたとすると、値を有さない画素がいくつか存在するため、欠落した画素及び領域が存在する。例えば、座標（１ｂ，２ｂ）の画素は、値を有さない。値を有さない画素ブロック４０８内の画素を補間してよく、図４ｂの実施例では、これらの画素は、繰り返しに基づく多方向の直線補間を使用して補間される。例えば、１回目の繰り返しｉ１（即ち、ＩＴＥＲ＝１）では、補間は０度の水平方向である。２回目の繰り返しｉ２（即ち、ＩＴＥＲ＝２）では、補間は９０度の垂直方向である。３回目の繰り返しｉ３即ち、（ＩＴＥＲ＝３）では、補間は４５度である。４回目の繰り返しｉ４（即ち、ＩＴＥＲ＝４）では、補間は１３５度である。多方向の直線補間が１つ以上の補間を含み、４回を超える繰り返しを含むことができることが理解される。多方向の直線補間を、各段若しくは段の部分集合及び／又は画素に適用することができる。
【００４０】
図３を再び参照すると、工程３１６で、方法は、推定奥行マップＤＩに基づいて第２画像をワーピングする工程を含む。一実施形態では、奥行マップ改良モジュール１２０は、推定奥行マップＤＩに基づいて第２画像をワーピングする。具体的には、一実施形態では、推定奥行マップＤＩを使用して、新規画像ＲＷを得るために右画像（Ｒ）をワーピングする。具体的には、推定奥行マップに基づいて第２画像をワーピングする工程は、推定奥行マップ内の対応する画素の強度に基づいて第２画像内の１つ以上の画素の強度を判定する工程を含む。言い換えれば、新画像ＲＷを生成するために、画素位置（ｘ，ｙ）（Ｒ（即ち、元の右画像）からのＲＷ内）の強度は、次のように計算される。
【００４１】
【数３】
2015149059.tif 000005
【００４２】
図３を再び参照すると、ブロック３１８で、方法は、第１画像及びワーピングされた第２画像に基づいてワーピングされた奥行マップを生成する工程を含む。ワーピングされた奥行マップは、本明細書でＤＷとして示される。一実施形態では、奥行マップ改良モジュール１２０は、第１画像及びワーピングされた第２画像に基づきワーピングされた奥行マップを生成する。図３に例示した実施形態では、ワーピングされた奥行マップは、左画像Ｌ及びワーピングされた右画像ＲＷに基づく。このように、第２画像（即ち、ＲＷ）のワーピング後、新規画像の一対（Ｌ，ＲＷ）の間の差は低減される。結果的に、新規画像の対は互いにより類似しているため、新規画像の対に基づく新規視差マップ（即ち、ＤＷ）は、視点による効果が発生しやすい。
【００４３】
左画像とワーピングされた右画像との間の対応を発見すると、正負の視差が探索される。特に、ＤＩにおける視差の推定は一部の画素の実際の視差より高くなることがあり、結果としてワーピングされた右画像内の画素は右側に多くシフトされ過ぎていた場合があるため、負の視差が探索される。このように、一実施形態では、視差探索範囲全体は、各繰り返しに対し変更されてよい。例えば、視差探索範囲は、次の繰り返しで縮小することができる。例示の実施例のように、元の探索範囲は、０〜１２８画素であってよく、それに対し、その後の繰り返しにおける探索範囲は、−８〜８画素と低くなってよい。加えて、例えば、左右確認及び小さい視差領域の除去など他の後処理工程をワーピングされた視差マップに適用することがあることが理解される。
【００４４】
ブロック３２０で、方法は、ワーピングされた奥行マップ及び推定奥行マップに基づく第２画像に対する第１画像の新規奥行マップを生成する工程を含む。新規奥行マップは、
【００４５】
【数４】
2015149059.tif 000006
として示される。一実施形態では、新規奥行マップを生成する工程は、ブロック３２２でワーピングされた奥行マップのワーピングを除去する工程を含む。図３に図示された実施形態では、ワーピングされた奥行マップＤＷは、左画像内の画素をワーピングされた右画像（即ち、ＲＷ）内の画素に関連付ける視差を含有する。したがって、ワーピングされた奥行マップは、元の右画像に対する奥行値を得て、その後新規奥行マップを生成するために「ワーピングされていない」必要がある。
【００４６】
一実施形態では、ワーピングされた奥行マップのワーピングを除去する工程は、推定奥行マップ及びワーピングされた第２画像における対応する画素間の視差を識別する工程と、ワーピングされた奥行マップへの視差を付加する工程と、を含む。具体的には、ワーピングされた右画像内の対応する画素がシフトされた視差は、ＤＷに付加され、ワーピングされた右画像は次のように補間された奥行マップを使用して取得されたので、ＤＩとした補間された奥行マップが使用される。
【００４７】
【数５】
2015149059.tif 000007
【００４８】
一実施形態では、新規奥行マップはまた、複数回の繰り返しにわたる誤差の蓄積を防ぐため、更にフィルター処理されてよい。具体的には、推定奥行マップ内の画素の値は、ブロック３２４で示すように推定奥行マップ内の画素の値がワーピングされた奥行マップ内の画素の値と整合するかどうかに基づいて、拒否されるか又は受け入れられる。一実施形態では、新規奥行マップを確認して、新規奥行マップがブロック３１４で局所的ブロックマッチングの元の探索範囲外に視差を有さないようにする。更に、最後の繰り返し（即ち、２回の後処理確認後）で正しい推定奥行値を有する画素は、それらの最後の値が再度割り当てられ、現在の繰り返しの１回目に計算された奥行値を有した画素は、それらが補間された（例えば、推定された）奥行値のしきい値内にある場合のみ、それらの奥行値を維持することができる。例えば、
【００４９】
【数６】
2015149059.tif 000008
は、次の場合にのみ受け入れられる。
【００５０】
【数７】
2015149059.tif 000009
式中ｔは、例えば、０．５ピクセルなど所定の値の画素である。結果的に、より古い視差が好ましく、補間された視差と整合しない視差は破棄される。
【００５１】
図３の方法を再度参照すると、図３のブロックは、繰り返し実行されてもよい。特に、次の繰り返しでは、奥行マップＤＬ（初期奥行マップであってもよい）は、ブロック３２０で生成された新規奥行マップ
【００５２】
【数８】
2015149059.tif 000010
と置き換えられる。一実施形態では、図３のブロックは、一定の繰り返し回数で繰り返し実行される。ブロック３２６で示されるように、ＩＴＥＲは、＜＝ＭＡＸ＿ＩＴＥＲであるかどうかが判定され、式中ＭＡＸ＿ＩＴＥＲは、所定の値である。ＹＥＳの場合、方法はブロック３１２に続き、推定奥行マップＤＩを生成する。ＮＯの場合、方法は終了し、一実施形態ではブロック３４０で、例えばディスプレイ１１６（図１）に新規奥行マップを出力する。いくつかの実施形態では、新規奥行マップを出力して、更に処理してもよい。
【００５３】
別の実施形態では、方法は、ブロック３２８で、新規奥行マップ
【００５４】
【数９】
2015149059.tif 000011
と先の繰り返しからの奥行マップＤＬと比較する工程を含む。方法は、新規奥行マップ
【００５５】
【数１０】
2015149059.tif 000012
と先の奥行マップＤＬとの間の対応する値が一定であると判断されるまで、繰り返し継続する。ブロック３２８で、新規奥行マップと初期奥行マップとの間の対応する値が、一定でない（ＮＯ）場合、方法は、ブロック３１２に続き、推定奥行マップＤＩを生成する。ブロック３２８で、新規奥行マップと先の奥行マップとの間の対応する値が一定である（ＹＥＳ）場合、方法は終了し、一実施形態ではブロック３２６で、例えばディスプレイ１１６に新規奥行マップを出力する。いくつかの実施形態では、新規奥行マップが出力であり、更に処理されてよい。この繰り返し及びワーピングのアプローチは、奥行に誤りのある画素の割合を低く保ちながら、局所的方法用の有効な奥行の割合を増加させる。
【００５６】
ここで図５ａ〜５ｄを参照すると、本明細書で議論されるシステム及び方法の例示の結果がこれから記述される。図５ａは、例示の左ステレオ画像である。例えば、図２ｂの第１画像２１０ａ及び／又は図３内の入力３０２として受信された左画像である。図５ａの左ステレオ画像は、例えば、車両の前方監視カメラから（例えば、撮像デバイス１１４から）取りこまれたストリートビューである。図５ａの左ステレオ画像は、グレースケールで再現された。図５ｂは、例えば、図２ａを用いて説明されるように、標準の局所的ブロックマッチング法を使用した図５ａの左ステレオ画像の例示の視差マップである。図５ｃは、本明細書で議論される繰り返し補間及びワーピングのシステム及び方法による１回繰り返し後の図５ａの左ステレオ画像の例示の視差マップである。図５ｃに示されるように、図５ｂの視差マップと比較して道路の奥行推定における著しい改善及び建物に対するいくつかの改善がある。いくつかの実施形態では、密度は１回の繰り返し後、平均７〜１３％だけ増加し得ることが発見された。図５ｄは、本明細書で議論される繰り返し補間及びワーピングのシステム及び方法による８回繰り返し後の図５ａの左ステレオ画像の例示の視差マップである。図５ｄに示されるように、画像の左側の道路、建物、及び茂みの奥行推定に著しい改善がある。結果的に、この繰り返し及びワーピングのアプローチは、奥行に誤りのある画素の割合を低く保ちながら、局所的方法用の有効な奥行の割合を増加させる。
【００５７】
本明細書で議論した実施形態は、コンピュータで実行可能な命令を格納する非一時的なコンピュータ読み取り可能な記憶媒体の文脈において記載しかつ実施することもできる。非一時的なコンピュータ読み取り可能な記憶媒体は、コンピュータ記憶媒体及び通信媒体を含む。例えば、フラッシュメモリドライブ、デジタル多用途ディスク（ＤＶＤ）、コンパクトディスク（ＣＤ）、フロッピー（登録商標）ディスク及びテープカセットである。非一時的なコンピュータ読み取り可能な記憶媒体には、コンピュータで読み取り可能な命令、データ構造、モジュール、又は他のデータといった、情報の記憶のための任意の方法又は技術において実装される、揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体を含んでよい。非一時的なコンピュータ読み取り可能な記憶媒体は、一時的なデータ信号及び伝播されたデータ信号を除外する。
【００５８】
上で開示される種々の実装例、並びに他の特性及び機能、又はその代替案若しくは変形は、多くの他の異なるシステム又は適用に望ましく組み合わせられ得ることが理解されよう。また、種々の現在予期されていない、若しくは予想されていない代替案、修正、変形、又は改善が、後に当業者によって行われてもよく、それらも、以下の特許請求の範囲によって包含されるよう意図される。
【図１】
2015149059.tif 000013
【図２ａ】
2015149059.tif 000014
【図２ｂ】
2015149059.tif 000015
【図３】
2015149059.tif 000016
【図４ａ】
2015149059.tif 000017
【図４ｂ】
2015149059.tif 000018
【図５ａ】
2015149059.tif 000019
【図５ｂ】
2015149059.tif 000020
【図５ｃ】
2015149059.tif 000021
【図５ｄ】
2015149059.tif 000022