(57)【要約】  サラウンドビューを単一表示スクリーン上に表示するための方法の説明する例において、或る特定の時間についての複数の画像フレーム（７１１〜７１４）が、対応する複数のカメラから受信され得る。事前定義された第１の仮想ビューポイントに対応するビューポイントワープマップが選択され得る（７０６）。ビューポイントワープマップは、表示スクリーンにおける各出力ピクセル位置について、複数の画像フレームにおけるソースピクセル位置を定義する。ワープマップは、オフラインで事前定義され（７０４）、後の使用のためにストアされている。ビューポイントワープマップに従って、複数の画像フレームからの出力画像の各ピクセルについてピクセルデータを選択することによって、表示スクリーンのための出力画像が合成される（７０７）。その後、合成された画像は、表示スクリーン上に表示される（７１０）。
2019503007.tif 000002
【特許請求の範囲】
【請求項１】
サラウンドビューを単一表示スクリーン上に表示するための方法であって、
対応する複数のカメラから特定時間についての複数の画像フレームを受信すること、
事前定義された第１の仮想ビューポイントに対応する第１のワープマップを選択することであって、前記ワープマップが、前記表示スクリーンにおける各出力ピクセル位置について、前記複数の画像フレームにおけるソースピクセル位置を定義し、前記第１のワープマップが、事前定義され、後の使用のためにストアされる、前記第１のワープマップを選択すること、
前記第１のワープマップに従って、前記複数の画像フレームからの前記出力画像の各ピクセルについてピクセルデータを選択することによって、前記表示スクリーンのための出力画像を合成すること、及び、
前記出力画像を前記表示スクリーン上に表示すること、
を含む、方法。
【請求項２】
請求項１に記載の方法であって、前記表示スクリーン上にビデオシーケンスを生成するために、複数の異なる事前定義された仮想ビューポイントに対応する複数の事前定義されたワープマップのうちの異なるマップを逐次的に選択することを更に含む、方法。
【請求項３】
請求項１に記載の方法であって、前記複数のカメラが車両上に搭載され、前記第１のワープマップが試験台における複数の試験カメラを用いて生成されたものである、方法。
【請求項４】
請求項３に記載の方法であって、オフラインセットアッププロセスの間に、前記複数のカメラと前記複数の試験カメラのうちの対応する試験カメラとの間の位置の差に対処するために、前記第１のワープマップがキャリブレーションパラメータと組み合わされる、方法。
【請求項５】
請求項３に記載の方法であって、前記第１のワープマップを形成するために前記車両上に搭載される処理モジュールを用いて、前記複数のカメラと前記複数の試験カメラのうちの対応する試験カメラとの間の位置の差に対処するために、第１のローワープマップをキャリブレーションパラメータと組み合わせることを更に含む、方法。
【請求項６】
請求項５に記載の方法であって、前記第１のワープマップが、前記車両上に配置される不揮発性メモリにストアされる、方法。
【請求項７】
請求項１に記載の方法であって、前記複数のカメラが車両上に搭載され、第１の車両画像を選択すること及びこれを前記出力画像上に重ねることを更に含み、前記第１の車両画像が、前記第１のビューポイントに対応するモデル車両から予め抽出されており、後の使用のためにストアされている、方法。
【請求項８】
請求項１に記載の方法であって、
前記出力画像を合成することが、前記第１のワープマップを用いてレンズ歪みを補正するために各画像フレームをワープすることによって前記複数のカメラの各々に対応する別個の仮想ビューをレンダリングし、
前記方法が更に、前記出力画像を形成するため、前記別個の仮想ビューのうちの２つ又はそれ以上をスティッチング及びブレンディングすることを含む、
方法。
【請求項９】
サラウンドビューを単一表示スクリーン上に表示するための方法であって、
３次元（３Ｄ）ビューを表すビュー表面を定義すること、
前記ビュー表面から画像を捕捉するために、複数の試験カメラを適所に位置決めすること、
第１の仮想ビューポイントについて第１のワープマップを発生させることであって、前記第１の仮想ビューポイントに対応する出力フレームにおける２次元（２Ｄ）ピクセル位置からの光線を、前記ビュー表面と交差するようにキャスティングすること、及び、その光線を、前記複数の試験カメラのうちの１つにおける対応するピクセル位置にマッピングすること、並びに、光線をキャスティングするステップ、及び、その光線を前記出力フレームの各２Ｄピクセル位置についてマッピングするステップを反復することを含む、前記第１のワープマップを発生させること、及び、
前記第１のワープマップを後の使用のためにストアすること、
を含む、方法。
【請求項１０】
請求項９に記載の方法であって、複数の仮想ビューポイントに対応する複数のワープマップを発生させること、及び、前記複数のワープマップを後の使用のためにストアすることを更に含む、方法。
【請求項１１】
請求項１０に記載の方法であって、前記複数のカメラが車両上に搭載するために位置決めされ、前記方法が、
前記複数の仮想ビューポイントからモデル車両の複数の車両画像を抽出すること、及び、
前記複数の車両画像を、前記複数のワープマップのうちの対応するワープマップと共に後の使用のためにストアすること、
を更に含む、方法。
【請求項１２】
請求項９に記載の方法であって、
前記複数のワープマップを、第１の車両上の処理システムにストアすること、
前記第１の車両上に搭載される複数のライブカメラについて、前記複数のライブカメラと前記複数の試験カメラのうちの対応する試験カメラとの間の位置の差に対処するために、カメラキャリブレーションパラメータのセットを決定すること、
複数のキャリブレーションされたワープマップを形成するために、カメラキャリブレーションパラメータの前記セットを用いて前記複数のワープマップを更新すること、及び、
キャリブレーションされたワープマップの前記セットを、後の使用のために前記車両の前記処理システムにストアすること、
を更に含む、方法。
【請求項１３】
３Ｄサラウンドビューシステムであって、
車両、
前記車両上に搭載される複数のカメラ、
前記車両のドライバーが見るための、前記車両上に搭載される表示スクリーン、及び
前記複数のカメラから特定時間の間、複数の画像フレームを受信するように結合され、前記表示スクリーンに出力画像を提供するように結合される出力を有する、画像処理システム、
を含み、
前記画像処理システムが、事前定義された第１の仮想ビューポイントに対応する第１のワープマップを選択するように構成され、前記第１のワープマップが、前記表示スクリーンにおける各出力ピクセル位置について、前記複数の画像フレームにおけるソースピクセル位置を定義し、前記第１のワープマップが、事前定義され、後の使用のためにストアされ、
前記画像処理システムはまた、各画像フレームに対応する別個の仮想ビューを形成するため、前記第１のワープマップを用いてレンズ歪みを補正するように各画像フレームをワープすることによって、前記表示スクリーンについて前記出力画像を合成するように構成される、
３Ｄサラウンドビューシステム。
【請求項１４】
請求項１３に記載のシステムであって、前記画像処理システムが更に、前記出力画像を形成するために、前記別個の仮想ビューのうちの２つ又はそれ以上をスティッチング及びブレンディングするように構成される、システム。
【請求項１５】
請求項１３に記載のシステムであって、前記画像処理システムが更に、前記表示スクリーン上にビデオシーケンスを生成するために、複数の異なる事前定義された仮想ビューポイントに対応する複数の事前定義されたワープマップのうちの異なるワープマップを逐次的に選択するように構成される、システム。
【請求項１６】
請求項１３に記載のシステムであって、前記第１のワープマップが、試験台における複数の試験カメラを用いて生成されたものである、システム。
【請求項１７】
請求項１６に記載のシステムであって、オフラインセットアッププロセスの間、前記複数のカメラと前記複数の試験カメラのうちの対応する試験カメラとの間の位置の差に対処するために、前記第１のワープマップがキャリブレーションパラメータと組み合わされている、システム。
【請求項１８】
請求項１６に記載のシステムであって、前記画像処理システムが更に、前記第１のワープマップを形成するため、前記車両上に搭載される処理モジュールを用いて、前記複数のカメラと前記複数の試験カメラのうちの対応する試験カメラとの間の位置の差に対処するために、第１のローワープマップをキャリブレーションパラメータと組み合わせるように構成される、システム。
【請求項１９】
請求項１８に記載のシステムであって、前記第１のワープマップが前記車両上に配置される不揮発性メモリにストアされる、システム。
【請求項２０】
請求項１３に記載のシステムであって、前記画像処理システムが更に、第１の車両画像を選択するように、及びこれを前記出力画像上に重ねるように構成され、前記第１の車両画像が、前記第１のビューポイントに対応するモデル車両から予め抽出されており、後の使用のためにストアされている、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、一般に、３次元（３Ｄ）サラウンドビュー（３Ｄ  ＳＲＶ）のための画像システムに関し、より具体的には、事前定義されたビューポイントルックアップテーブルを用いる３Ｄ  ＳＲＶのレンダリングに関する。
【背景技術】
【０００２】
人間の操作エラーを減らすために、先進運転支援システム（ＡＤＡＳ）と呼ばれる新しいクラスの埋め込み型安全システムが自動車に導入されてきている。こうしたシステムは、後方ビューカメラ、電子安定制御、及びビジョンベースの歩行者検出システムなどの機能を提供することができる。これらのシステムの多くは、コンピュータビジョン処理に依拠して、一つ又は複数のカメラの視野内のオブジェクトを検出する。例えば、２０１３年１０月の「Making Cars Safer Through Technology Innovation」を参照のこと。
【非特許文献１】“Making Cars Safer Through Technology Innovation” Oct. 2013
【０００３】
自動車のサラウンドビューカメラシステムは、ドライバーが車両の３６０度周囲の全体ビューを見ることができるようにすることによって、ドライバーが車両を安全に駐車することを支援する、新進の自動車ＡＤＡＳ技術である。こうしたシステムは通常、車両周囲に搭載され、各々が異なる方向を向いた、４台から６台の広角（魚眼レンズ）カメラを含む。これらのカメラ入力から、車両の周囲の複合ビューが合成され、駐車の間、リアルタイムでドライバーに表示される。
【発明の概要】
【０００４】
サラウンドビューを単一ディスプレイスクリーン上に表示するための方法の説明する例において、特定時間についての複数の画像フレームが、対応する複数のカメラから受信され得る。事前定義された第１の仮想ビューポイントに対応するビューポイントワープマップ（viewpoint warp map）が選択され得る。ビューポイントワープマップは、表示スクリーンの各出力ピクセル位置について、複数の画像フレームにおけるソースピクセル位置を定義する。ワープマップは、オフラインで事前定義され、後の使用のためにストアされる。ビューポイントワープマップに従って、複数の画像フレームからの出力画像の各ピクセルについてピクセルデータを選択することによって、表示スクリーンのための出力画像が合成される。その後、合成された画像は表示スクリーン上に表示される。
【図面の簡単な説明】
【０００５】
【図１】２次元サラウンドビューを生成するためのプロセスを図示する図形フローチャートである。
【０００６】
【図２】サラウンドビューシステムにおいて用いるための例示の３次元（３Ｄ）ボウルメッシュ（bowl mesh）の例示である。
【０００７】
【図３】図２の３Ｄボウルメッシュの上に重ねられた例示のシーンを図示する。
【０００８】
【図４】図２の３Ｄボウルメッシュを用いて仮想ビューポイントのために生成される３Ｄサラウンドビュー（ＳＲＶ）画像を図示する。
【０００９】
【図５】図４の３Ｄ  ＳＲＶ画像を形成するための光線追跡プロセスを図示する。
【００１０】
【図６】図５の光線追跡プロセスの一部がオフラインでどのように実施され得るかを図示する。
【００１１】
【図７】事前定義されたビューポイントルックアップテーブルを用いて３Ｄ  ＳＲＶを形成するためのプロセスを示す図形フローチャートである。
【００１２】
【図８】図７のプロセスをより詳細に示すフローチャートである。
【００１３】
【図９】３Ｄ  ＳＲＶシステムを備える例示の車両を示す図である。
【００１４】
【図１０】３Ｄ  ＳＲＶシステムの実施形態を示す例示のブロック図である。
【発明を実施するための形態】
【００１５】
様々な図における同様の要素は、整合性のために同様の参照番号によって示される。
【００１６】
ほとんどの視覚表示システムは２次元（２Ｄ）であるため、２Ｄディスプレイ上に投影することによる３次元（３Ｄ）ワールドの表現は、人間の可視化のためのレンダリンググラフィックスの重要な部分である。いくつかのアプリケーションは、様々な３Ｄグラフィックス能力のために設計された特殊なグラフィックコアであるグラフィックス処理ユニット（ＧＰＵ）の助けを借りて、２Ｄディスプレイ上に３Ｄをレンダリングする。多くのこうした新進アプリケーションのうちの１つが、車に搭載される広角魚眼レンズカメラを用いる３Ｄサラウンドビューである。サラウンドビューカメラソリューションは、車の周囲に搭載される複数の魚眼レンズカメラから、複合３Ｄサラウンドビュー画像を作成し得る。様々なビューポイントからのリアルタイムの３Ｄワールド表現は、通常、グラフィックスプロセッサによって成される。
【００１７】
事前定義されたビューポイントルックアップテーブルを備える２Ｄワープハードウェアアクセラレータを用いて２Ｄディスプレイ上に３Ｄ表現をレンダリングするための代替手法を本明細書において説明する。この代替手法は、表面が滑らかに変化する３Ｄワールド表現に適している。オートモーティブ３Ｄサラウンドビューは、ワールドが滑らかな表面によって表されるようなアプリケーションの１つである。後述するように、この方法の例示の実施形態は３Ｄサラウンドビューカメラソリューションに適用され得る。しかしながら、この技法は、医療用イメージング、複数のカメラを備えるセキュリティシステム、及び工業応用例など、複数のビューポイントからの滑らかな表面レンダリングを用い得る任意のアプリケーションに適用され得る。
【００１８】
図１は、２Ｄサラウンドビューを生成するためのプロセスを図示する図形フローチャートである。２Ｄサラウンドビューを生成するためのプロセスを、より複雑なプロセスを説明する又は３Ｄサラウンドビューを生成する前に、簡単に説明する。２Ｄサラウンドビューは、車両の真上に位置し、真下を見下ろしているようなビューポイントから、複合画像を生成する。実質的には、車両近辺の仮想上面図が提供される。
【００１９】
オートモーティブサラウンドビューは、「アラウンドビュー」又は「サラウンドビジョン監視システム」とも呼ばれ、車両を囲むエリアの３６０度ビューをドライバーに提供する新進のオートモーティブＡＤＡＳ技術である。サラウンドビューシステムは、通常、車両周囲に搭載される４台から６台の魚眼カメラを含む。例えば、カメラセット１００が、フロントバンパに１台、リヤバンパにもう一台、両側のミラーの下に１台ずつを備える。各カメラによって生成される画像は、各カメラからの画像データの一つ又は複数のフレームをストアするためのメモリ回路を含む、画像信号処理システム（ＩＳＰ）１０２に提供され得る。各カメラによって捕捉される魚眼画像１１１〜１１４は、概念的には、例えば、車両１１０の周囲に配置され得る。この例証において、スケールモデル車両（４台のカメラが搭載されている）が、駐車場を表すジオラマにおいて位置決めされる。
【００２０】
複数の魚眼レンズカメラからサラウンドビューを生成する一般的なプロセスは、例えば、２０１５年１０月のＶｉｋｒａｍ  Ａｐｐｉａ等による「ＴＩのＴＤＡｘ  ＳｏＣｓに対するＡＤＡＳのためのサラウンドビューカメラシステム」に記載されており、この文献は、参照により本明細書に組み込まれる。基本的なサラウンドビューカメラソリューションは、通常、幾何学的アライメント及び複合ビュー合成という、２つの主要アルゴリズム構成要素を含む。幾何学的アライメントは、入力ビデオフレームについて魚眼歪みを補正し、それらを一般的な鳥瞰透視投影（birds-eye perspective）に変換する。合成アルゴリズムは、幾何学的補正の後に複合サラウンドビューを生成する。シームレスにスティッチングされた（stitched）サラウンドビュー出力を生成するために、「測光アライメント」と呼ばれる別の主要アルゴリズムが必要となり得る。測光アライメントは、シームレスなスティッチングを達成するために、近接するビュー間の明るさ及び色のミスマッチを補正する。測光補正は、米国特許出願公開番号ＵＳ２０１５／０２５４８２５、発明の名称「サラウンドビューカメラソリューションによりディスプレイを処理するための方法、装置、及びシステム」に記載されており、これは、参照により本明細書に組み込まれる。
【非特許文献２】“Surround view camera system for ADAS on TI’s TDAx SoCs,” Vikram Appia et al., October 2015
【特許文献１】米国特許出願公開番号ＵＳ２０１５／０２５４８２５
【００２１】
カメラシステムキャリブレーションは、サラウンドビューカメラシステムの重要な構成要素である。このステップは、魚眼レンズ歪み補正（ＬＤＣ）及び透視投影変換（perspective transformation）の両方を含む。魚眼歪み補正の場合、放射状歪み関数の逆変換を適用することによって元の入力フレームから魚眼を除去するために、放射状歪みモデルが用いられ得る。ＬＤＣの後、すべての入力ビューが単一ワールド座標系において適切に記録されるように、４つの入力ＬＤＣ補正済みフレームを変換するために、各カメラに１つの、４つの外因性キャリブレーションマトリックスが推定され得る。チャートベースのキャリブレーション手法が用いられ得る。チャートのコンテンツは、アルゴリズムが正確且つ確実に特徴を見つけてマッチングすることを促進するように設計される。特定のチャート設計の一つが、１２６、１２７に示されている。２０１５年１０月３０日出願の米国仮特許出願番号ＵＳ６２／２４９，０３１、発明の名称「オンライン・サラウンドビュー・キャリブレーションのための特徴点検出」に記載されているような他のチャートも用いられ得、当該出願は、参照により本明細書に組み込まれる。３Ｄ  ＳＲＶキャリブレーションのこの例では、チャートは平坦な地面の上に置かれ得、これは、ほとんどの自動車に都合がよい。しかしながら、必要であれば、チャートは異なる方位で配置することも可能である。
【特許文献２】米国仮特許出願番号ＵＳ６２／２４９，０３１
【００２２】
サラウンドビューカメラのキャリブレーションの間、４つのキャリブレーションチャートが車両周囲に置かれ得る。各チャートは２つの近接するカメラの共通の視野（ＦＯＶ）内に置かれるべきであり、すなわち、隣接するカメラのどのペアも１つの共通チャートを「見る」はずである。（隣接するカメラにおいて１つの共通チャートを有することが理想的であるが、各カメラ画像における単一のチャートが最低要件である。）例えば、チャート画像１２７及び１２８は、２つの異なるカメラで撮られた同じチャートのビューである。その後、魚眼画像１１１〜１１４によって示されるように、各カメラからのフレームが同時に捕捉される。
【００２３】
異なるシーン照明、カメラ自動露光（ＡＥ）、及び自動ホワイトバランス（ＡＷＢ）に起因して、異なるカメラによって捕捉された同じオブジェクトの色及び明るさが全く異なる可能性がある。その結果、スティッチングされた複合画像は、２つの近接するビュー（すなわち、カメラ入力）間で顕著な測光差を有する可能性がある。サラウンドビューシステムのための測光アライメントの目標は、複合ビューが、あたかも車両の上方に置かれた単一カメラから撮影されたかのごとく見えるように、異なるビューの明るさ及び色全体を一致させることである。これを達成するため、各ビューについて全体的な色及び明るさ補正機能が、近接ビューの重複領域における不一致が最小化されるように設計される。
【００２４】
適切な幾何学的アライメントが既に入力フレームに適用されているものと想定すると、例えば、デジタル信号プロセッサ（ＤＳＰ）１３０を用いて複合サラウンドビュー１３２が生成され得る。複合サラウンドビューは、カメラ１００のセットからの４つの入力フレームすべてからのデータを用いる。重複領域は、同じ物理ワールドから生じるフレームの一部であるが、２つの近接カメラによって捕捉されており、すなわちＯ｛ｍ，ｎ｝であり、ここで、ｍ＝１、２、３、４、及びｎ＝（ｍ＋１）ｍｏｄ４である。Ｏ｛ｍ，ｎ｝は、ビューｍとビューｎとの間の重複領域を指し、ｎは、時計回り順にビューｍの隣のビューである。Ｏ｛ｍ，ｎ｝における各位置において、２つのピクセルが利用可能であり、この２つのピクセルは、ビューｍからの画像データと、ビューｎからのそれに空間的に対応するものである。
【００２５】
カメラシステムがキャリブレーションされた後、サラウンドビュー合成「Ｓｙｎｔｈｅｓｉｓ」機能が、４つの魚眼カメラ１００から入力ビデオストリームを受信し、複合２Ｄサラウンドビュー１３２を作成する。上述したように、ＬＤＣモジュール１２０は、４台の魚眼カメラ１００の各々からの画像フレームに対し、魚眼補正、遠近法ワープ（perspective warp）、アライメント、及びバイリニア／バイキュービック補間を実施し得る。ＬＤＣモジュール１２０は、例えば、ハードウェアアクセラレータ（ＨＷＡ）モジュールであり得る。ＨＷＡ  ＬＤＣの例が以下で説明される。ＤＳＰモジュール１３０は、スティッチングを実施し、最終的な複合出力画像１３２上に、車両画像１３４などの車両の画像をオーバーレイすることができる。
【００２６】
合成は、幾何学的ＬＵＴにおいて符号化されたマッピングを用いて、スティッチングされた出力画像を作成する。２つの近接する入力フレームからの画像データが必要とされる、出力フレームの重複領域において、各出力ピクセルが、２つの入力画像におけるピクセル位置にマッピングする。重複領域において、２つの近接画像からの画像データは、ブレンディングされ得るか、又は、２つの画像のうちの１つからのデータを用いるため二分決定が成され得る。この例では、標準的なアルファブレンディング技法を用いる結果が示されている。例えば、複合サラウンドビュー１３２において、チャート画像１３３は、２つの異なるカメラからのチャート画像１２７及び１２８のブレンディングされたバージョンである。
【００２７】
３Ｄ  ＳＲＶ機能の概要
図２は、サラウンドビューシステムにおいて用いるための、例示の３次元（３Ｄ）ボウルメッシュ２００の例示である。３Ｄ  ＳＲＶ画像の場合、車両周囲のワールドは、ボウルの形状で表され得る。シーンの完全な深さがないため、ボウルは車両周囲のワールドの形状についての妥当な想定である。このボウルは、任意の滑らかに変化する表面とし得る。この特定の表現において、車の近くの領域では平坦２０１であり、それぞれ、前方及び後方について２０２、２０３で示されるように車から離れると湾曲している、ボウル２００が用いられる。この例では、ボウルは、２０４で示されるように両側がほんのわずかに上方に湾曲し得る。他の実施形態において他のボウル形状が用いられ得る。
【００２８】
図３は、図２の３Ｄボウルメッシュ２００上にオーバーレイされる例示のシーンを示す。この例において、車両３２５の画像が、メッシュ２００上のシーンの上に重畳される。車両画像３２５は、例えば、カメラのセットが搭載された車両のポジションを表すために用いられ得る。この例では、４つのキャリブレーションフィールド（図示されているキャリブレーションフィールド３２６、３２７、及び３２８を含む）が、車両３２５の周囲に配置されている。
【００２９】
図４は、図２の３Ｄボウルメッシュ２００を用いて仮想ビューポイントについて生成される３Ｄサラウンドビュー画像を図示する。この例において、仮想ビューポイントは車両画像３２５上方のやや後方にあるが、車両画像３２５によって表されるスケールモデル車両は、図１に用いられる同じ駐車場ジオラマに位置する。この例では、画像の上部４０２はボウルメッシュ２００の隆起部分２０２から導出され、下部４０１はボウルメッシュ２００の平坦部分２０１から導出される。
【００３０】
後述するように、仮想ビューポイントのセットが、事前に定義され得、その後、車両画像３２５によって表される車両の周囲付近のビデオ画像をリアルタイムで生成するために、例えば、毎秒３０フレームの速度で順次呼び出され得る。仮想ビューポイントの選択は、ドライバーからの合図に対応し得る。例えば、フォワードからリバースへシフトすることによって、ビューポイントを車両の後方を見るように変更し得る。また、例えば、ハンドルを回転することで、ビューポイントの進行方向が、弧を描くように動き得る。ビューポイントは、例えば、低速では車両のより近くで弧を描くように動き得、高速になると車両からより遠くを弧を描くように動き得る。このようにして、例えば、車両を駐車させる際に助けるために、車両の周囲付近を表示するリアルタイムビデオ画像が車両のドライバーに提供され得る。
【００３１】
図５は、図４の３Ｄ  ＳＲＶ画像を形成するための光線追跡プロセスを図示する。この例は、ボウルメッシュ２００（図２）と同様のボウルメッシュの一部５００の断面図を表す。ボウルメッシュ５００は、平坦部分２０１及び隆起部分２０２（図２）と同様に、平坦部分５０１及び隆起部分５０２を含み得る。上述したように、魚眼レンズ５１２を備えるカメラ５１１が実際の車両の前方に搭載され得る。３Ｄ  ＳＲＶ出力画像のための画像面５２２を備える仮想ビューポイント５２１が、例えば、上述したように、実際の車両位置の上方にあるように定義され得る。
【００３２】
以前のシステムにおいて、グラフィックスプロセッサが提供され得、グラフィックスプロセッサは、ワールドの全体的な３Ｄ表現をストアし、５３１、５３２で示される例示の光線など、３Ｄポイントをディスプレイ上に投影することによって各ポイントを出力表示面５２２上にマッピングする。カメラの初期キャリブレーション５１３が、ワールドに対する魚眼カメラにおけるピクセルにワールド位置のマッピングを提供する。したがって、グラフィックスプロセッサは、表示スクリーン及び入力カメラに対する各ワールド位置のマッピングを有し、（出力表示におけるあらゆる位置についてこの情報を用いて）選ばれたビューポイントについて３Ｄサラウンドビュー出力をレンダリングする。
【００３３】
しかしながら、画像をリアルタイムでレンダリングするための光線追跡には、画像システムのコストを増大させ、大量の電力を消費する可能性のある強力なグラフィックスプロセッサが必要である。例示の実施形態において、或るプロセスが、光線追跡及び画像レンダリングのプロセスを、事前選択されたビューポイントのセットについての２つの別々の動作に分割する。これにより、計算を多用する光線追跡のタスクをオフラインで実施し、その結果をリアルタイム画像レンダリングの間に用いるためにストアすることが可能となる。
【００３４】
図６は、ビューポイントルックアップテーブル（ＬＵＴ）のセットを作成するために、図５の光線追跡プロセスの一部がオフラインでどのように実施され得るかを図示する。次いで、リアルタイム画像レンダリングの間、本明細書で説明する或るプロセスが、ＬＤＣ  １２０（図１）などのレンズ歪み補正（ＬＤＣ）処理モジュールを備えて含まれ得る、２Ｄワープハードウェアアクセラレータ（ＨＷＡ）を利用し得る。２Ｄワープアクセラレータは、事前定義されたビューポイントＬＵＴを利用することにより、出力画像におけるブロックを入力画像におけるブロックにマッピングすることによって、出力から入力へのマッピングを実施する。
【００３５】
この例は、ボウルメッシュ２００（図２）と同様のボウルメッシュの一部５００の断面図を表す。ボウルメッシュ５００は、平坦部分２０１及び隆起部分２０２（図２）と同様に、平坦部分５０１及び隆起部分５０２を含み得る。上述したように、魚眼レンズ５１２を備えるカメラ５１１が実際の車両の前方に搭載され得る。
【００３６】
３Ｄ  ＳＲＶ出力画像のための画像面６２２を備える仮想ビューポイント６２１が、上述したように、実際の車両位置の上方にあるように事前定義され得る。上述したように、ビューポイントのセットが、オフラインで事前定義及び準備され得る。
【００３７】
出力画像面６２２上の位置についてカメラ５１１によって提供される入力画像にマッピングすることは、出力画像面６２２における２Ｄ位置からの光線をオフラインキャスティングすること、及び、光線が３Ｄワールドと交差する位置を識別することに関与する。光線６３１、６３２は例示であり、例えば、光線６３１は３Ｄワールドの平坦部分５０１と交差し、光線６３２は３Ｄワールドの隆起部分５０２と交差する。オフライン光線キャスティング動作は、３Ｄワールド（ボウル）メッシュ５００のＸ、Ｙ、及びＺ座標を備える仮想ビュー面６２２上のあらゆる２Ｄポイントのマッピングを生成する。３Ｄワールドにおける位置が識別された後、自動キャリブレーション手順６４２において生成されるカメラキャリブレーションマトリックスは、カメラ５１１からの入力画像における２Ｄ位置に対する３Ｄ位置のマッピングに用いられ得る。この手法を用いるマッピングが、２Ｄ画像面６２２における各位置に対して実施される。ハードウェアアクセラレータに必要とされる２Ｄワープテーブルは、カメラ５１１からの入力画像への出力画像面６２２からのこうしたマッピングのサブサンプリングされたアレイである。
【００３８】
異なる仮想カメラビューポイントを備える一連のこうしたマッピングを介して反復すること、及び、ビデオフレームレートにおける各マッピングに対して２Ｄ出力を作成することによって３Ｄサラウンドビューが得られ得る。上述したように、各サラウンドビューは、例えば、４つの広角魚眼カメラからの４つの画像を組み合わせるスティッチングされた画像であり得る。
【００３９】
光線キャスティングのタスクはコストの掛かる動作であるため、６４１に示されるように、マッピングをオフラインで実施して、後の再使用のためにストアされ得るマッピングされたルックアップテーブル（ＬＵＴ）を生成し得る。ストアされたＬＵＴは、その後、６４３に示されるように、ランタイムの間に再使用され得る。搭載されるカメラの物理的位置が変化しない場合、キャリブレーションマトリックスも不変のままである。したがって、仮想カメラポジション遷移は事前定義され得、ＨＷＡ  ＬＵＴマッピングは、オフラインで作成され得、初期的にストアされ得る。
【００４０】
事前定義されたＬＵＴ生成は、２つの機能ブロックに更に分けられ得る。３Ｄワールド（ボウル）マッピングへの仮想２Ｄカメラ出力面のマッピングは、コンピュータなどのオフラインツールにおいて別々にストアされ得る。３Ｄワールド（ボウル）から入力カメラへのマッピングは、画像システムの一部であるプロセッサによってオンボードで成され得る。
【００４１】
これは、２つの理由でマッピング機能の効果的な区分である。３Ｄワールドマッピングに対する仮想ビューはカメラの向きとは無関係であるため、車両の製造の間、又は車両の寿命の間など、カメラが動くたびに各車両についてこのマッピングを再生成する必要はない。最もコストの掛かる光線キャスティング動作はオフラインで実施され得る。
【００４２】
これらの仮想カメラ遷移をカメラキャリブレーションから分離することによって、様々なカメラ構成に対して同じメッシュを再使用し得る。例えば、必ずしもサラウンドビュー用でなくてよい、異なる車種及び異なるマルチカメラレンダリングアプリケーションを、同じメッシュに適応させることができる。
【００４３】
所与のビューポイントからの、より複雑であるが静止しているジープ／車の画像のピクチャ画像もオフラインで生成され得る。各ビューポイントについて、同じ仮想カメラポジションから見た車の１つのこうした２Ｄピクチャが抽出され得る。関連付けられた車の画像を用いるこうしたマッピングのシーケンス全体は、オンラインキャリブレーション手順に移され得る。
【００４４】
図７は、事前定義されたビューポイントルックアップテーブルを用いて３Ｄ  ＳＲＶを形成するためのプロセスを示す図形フローチャートである。上述したように、事前定義された仮想ビューポイントのセットについてのマッピングテーブルは、オフラインで準備され得、後の使用のために車両上にストアされ得る。車両の動作の間、車両周辺の３Ｄ環境が、車両の周囲に搭載された魚眼カメラによって受信されるライブカメラフィードからレンダリングされ得る。様々な仮想ビューポイントからのシーンをレンダリングすることによって、ワールドの３Ｄ可視化が達成され得る。
【００４５】
上述したように、各々が仮想ビュー２Ｄ位置からワールドビューメッシュＸ、Ｙ、Ｚ位置への対応を含む、ビューポイントルックアップテーブル（ＬＵＴ）のセットは、オフラインで準備され、車両上にストアされ得る。車両の動作の間、例えば、ドライバーの入力に応答して特定のビューポイントが選択され得る。各選択された仮想ビューポイントについて、７００に示されるように、対応するビューポイントＬＵＴが選択され得る。カメラキャリブレーションパラメータ７０２は、上述したような車両の周囲の地上に置かれたキャリブレーションチャートを用いて、自動キャリブレーション手順によって発生し得る。これは、車両が組み立てられ、例えば、カメラセットアップが成されたときに一度、実施され得る。
【００４６】
選択されたビューポイントＬＵＴ７００及びカメラキャリブレーションパラメータは、その後、７０４に示されるように、デジタル信号プロセッサ（ＤＳＰ）などのプロセッサに送られ得る。ＤＳＰは、各選択されたビューポイントＬＵＴをカメラキャリブレーションパラメータと組み合わせて、４つの魚眼カメラの各々について、各仮想ビューについてのＨＷＡ  ＬＵＴに変換する。その後、これらのキャリブレーションされたビューポイントＬＵＴは、ワープＨＷＡ７０６によりアクセスされ得るメモリモジュールにストアされ、車両がライブモードで動作されるときに、スティッチング及びブレンディングのためにＤＳＰ７０７によって順次再使用される。
【００４７】
カメラが搭載された車両の動作の間、魚眼レンズを備える４台のカメラから３０ｆｐｓ（フレーム数毎秒）でのビデオの一定ストリームが受信され、４台のカメラは、車両の前方、後方、及び各サイドミラー上に搭載されている。１フレームに対応する４つの画像の例示のセットが、画像７１１〜７１４によって示されている。
【００４８】
各フレームを処理するため、ワープＨＷＡ  ７０６は、現在選択されている仮想ビューポイントに対応するストレージからのキャリブレーションされたビューポイントＬＵＴにアクセスし、キャリブレーションされたビューポイントＬＵＴを用いて、４つの仮想レンダリングビューを形成するために、４つの入力画像の各々に対してワープ動作を行なう。このプロセスは、この例示のシステムに対して、３０ｆｐｓの速さで各フレームについて反復される。
【００４９】
その後、２Ｄスティッチング及びブレンディングプロセスが、上述したように、車両のドライバーが見ることができる表示スクリーン上に表示され得る最終的な複合３Ｄ  ＳＲＶを形成するために、ＤＳＰプロセス７０７によって実施され得る。ＤＳＰプロセス７０７は、例えば、ＤＳＰプロセス７０４を実施する同じＤＳＰプロセッサによって、又は異なるＤＳＰによって、実施され得る。現在選択されている仮想ビューポイントに対応するモデル車両画像が、事前に処理された車両画像７０８のライブラリからも選択され得、７１０に示されている最終的な３Ｄ  ＳＲＶディスプレイ画像を形成するために複合３Ｄ  ＳＲＶ上にオーバーレイされ得る。
【００５０】
上述したように、車両の外側の仮想ビューポイントからの車両近辺の現実的な３０ｆｐｓビデオ３Ｄサラウンドビューを形成するために、選択された仮想ビューポイントは、車両の動きの方向及び速さなどのドライバーからの合図に応答し得る。
【００５１】
図８は、図７のプロセスをより詳細に示すフローチャートである。このデータフローは、捕捉及び処理８０１、キャリブレーション８０２、２Ｄ画像ワープ８０３、及び合成器８０４という、サブモジュールの下で分類され得る。次に、各サブモジュールをより詳細に説明する。
【００５２】
捕捉及び処理
捕捉及び処理ブロック８０１は、車両の周辺に配置され、捕捉ブロック８１５に結合されるカメラ８１１〜８１４などの複数のカメラからビデオを捕捉するためのモジュールを含む。捕捉ブロック８１５の出力は、本明細書全体を通して「マルチチャネルビデオ」と呼ばれる。ブロック８１７は、必要であれば、既知の又は後に開発される画像処理方法を用いて、色補正動作（ＢａｙｅｒフォーマットからＹＵＶ４２０フォーマットへの変換、色調マッピング、ノイズフィルタ、ガンマ補正など）を実施し得る。ブロック８１６は、既知の又は後に開発される技法を用いて、最適な画質を達成するために、ビデオセンサの自動露出制御、及びホワイトバランスを実施し得る。ブロック８１８は、センサから捕捉される各フレームが同じ時間期間にあることを保証するために、すべてのカメラ８１１〜８１４を合成する。
【００５３】
本明細書において説明する特定の実施では４つのカメラが用いられている。本明細書において説明する同じ原理は、他の実施形態におけるＮ台のカメラに拡張可能であり、Ｎは４より大きくても小さくてもよい。
【００５４】
キャリブレータ
キャリブレーションサブブロック８０２は、上述した自動キャリブレーション手順によって発生するカメラキャリブレーションマトリックス８２１を利用し、ワールドビューメッシュ８２２と組み合わせて、２ＤワープＨＷＡ  ＬＵＴを発生させる。上述したように、ワールドビューメッシュ８２２は、オフライン発生され得、キャリブレータ機能８２３による後の使用のためにストアされ得る。
【００５５】
各事前定義された仮想ビューポイントについて、キャリブレータモジュール８２３は、関連する３Ｄボウルメッシュテーブル８２２を読み取り、カメラキャリブレーションパラメータ８２１を考慮し、４つのチャネルの各々について２Ｄメッシュルックアップテーブルを発生させる。
【００５６】
これは、通常、ワンタイム動作であり、システムが開始されたとき、例えば、組み立てプロセスの間にシステムが車両内に配置されたとき、成される。このプロセスは、車両上に搭載されたカメラのうちの１つについてポジション変更が感知されるとき必ず反復され得る。いくつかの実施形態において、キャリブレーションプロセス８２３は、例えば、車両が始動されるたびに反復され得る。
【００５７】
画像ワープ
画像ワープモジュール８０３は、レンズ歪み補正（ＬＤＣ）ハードウェアアクセラレータ（ＨＷＡ）、及びキャリブレータ８２３によって生成される２Ｄメッシュルックアップテーブルを用いて、捕捉及び処理サブブロック８０１によって提供される入力ビデオフレームをワープさせ得る。画像をレンダリングするための２Ｄワープ動作は、画像をレンダリングするために以前のシステムにおいて用いられている３Ｄ光線キャスティングプロセスよりもずっと容易に成される。したがって、魚眼歪み補正及びビューポイントワープがどちらも、事前定義されたビューポイントＬＵＴを用いる単一動作において成され得る。
【００５８】
この例において、ワープＨＷＡ８０３は、画像ワープアルゴリズム又はルックアップテーブルに従って、データのパッチを１つのフレームバッファから別のフレームバッファに移動させるように構成される機能モジュールである。レンズ歪み補正モジュールの一般的な動作は知られている。例えば、２ＤワープＨＷＡが、テキサス  インスツルメンツ  インコーポレイテッド（ＴＩ）から入手可能なＴＤＡ３ｘ  ＳｏＣ内に含められる。ＴＤＡ３ｘ  ＳｏＣは、ＴＩのＤＳＰコアの固定小数点及び浮動小数点デュアルＴＭＳ３２０Ｃ６６ｘ世代、完全にプログラム可能なＶｉｓｉｏｎ  ＡｃｃｅｌｅｒａｔｉｏｎＰａｃ（ＥＶＥ）、及びデュアルＡＲＭ（登録商標）Ｃｏｒｔｅｘ（登録商標）−Ｍ４コア並びに画像信号プロセッサ（ＩＳＰ）を含む、異種のスケーラブルアーキテクチャに基づく。ＴＤＡ３ｘ  ＳｏＣは、ＬＶＤＳベースのサラウンドビューシステムのための、ディスプレイ、ＣＡＮ、及びマルチカメラインターフェース（パラレル及びシリアルの両方）を含む周辺装置のホストも組み込む。
【００５９】
画像ワープモジュール８０３は、すべてのビデオチャネル及びすべてのビューポイントについて２Ｄメッシュテーブルを受信してこれらをストアし、所与の仮想ビューポイントと、各チャネルについてのビデオフレームの出力サイズ、処理パラメータ（ブロックの幅／高さなど）などのメタデータ、及びその対応する仮想ビューポイントと併せて、２Ｄメッシュテーブルの関連付けられたセットとの間の関係を維持する。
【００６０】
画像ワープモジュール８０３は、新しいビューポイントを選択するためのコマンドを受信するたびに、選択されたビューポイントについてどのカメラチャネルが必要とされるかを決定し得る。これは、例えば、ビューポイントメッシュが発生するときにオフラインプロセスにおいて決定され得る。例えば、ＳＲＶ出力がヒッチビューにズームインするために車両の後部を見ている場合、前方カメラは必要でない可能性がある。
【００６１】
画像ワープモジュール８０３は、ビューポイントを選択するためのコマンドを受信するたびに、所与のビューポイントについて必要な２Ｄメッシュルックアップテーブルを取り出し、必要な処理パラメータを確立し、各チャネルについて適切なメッシュテーブルを関連付ける。受信した２Ｄメッシュテーブルは、車両が最初に始動したときに利用可能であるように、不揮発性メモリにストアされ得る。別の実施形態において、２Ｄメッシュテーブルは、揮発性メモリにストアされ得、そのため、システムがオンになるたびに再ローディングが必要になる。
【００６２】
ワープモジュール８０３は、各チャネルから１つのビデオフレームを順次処理する。各チャネルが処理される前に、ワープＨＷＡは、関連付けられた処理パラメータと共に構成される。各入力フレームはセットとして処理され、１セットは、合成される各チャネルから１つのフレームを含む。この結果、捕捉されたフレームレートでビューポイントを変更するとき、フリッカ／アーティファクト無しの遷移となる。
【００６３】
所与のビューポイントについて発生された出力は、合成器ブロック８０４に提供され得る。
【００６４】
システム始動（立ち上げ）時間を最小化するために、メッシュテーブルは１回発生され得、不揮発性メモリにストアされ得、後続の始動／立ち上げにはキャリブレーションプロセスがバイパスされ得る。次のシステム始動／立ち上げの際、メッシュテーブルは、上述したように処理される、不揮発性メモリ及びビデオフレームから読み取ることができる。
合成器
【００６５】
合成器モジュール８０４は、各ビデオチャネルから１つのフレームを含む複合ビデオフレームを発生させる責務を負う。仮想ビューポイントに応じて、複合パラメータは変化する可能性がある。このモジュールは、図１に関連して上述した合成ブロックと同様である。魚眼入力画像の代わりに、合成器ブロック８０４は、各カメラ画像についてワープＨＷＡ  ８０３修正出力を受信する。
【００６６】
合成ブロックは、上述したように、近接カメラに対応する画像をスティッチング及びブレンディングし得る。ブレンディングライン位置は仮想ビューの位置に基づいて変動し得、この情報はまた、ビューメッシュに対するオフライン発生されたワールドにおいて符号化される。合成ブロックは、ビデオフレームレート、すなわち３０ｆｐｓ、で呼び出され、スティッチングされた出力画像を３０ｆｐｓで発生させる。
【００６７】
表示サブシステム８０５が、合成器８０４からビデオストリーム出力を受信し得、車両のドライバーが見るための、接続されたＬＣＤ、モニタ、又はＴＶなどの表示ユニット上に、同じ内容を表示し得る。システムは、検出されるオブジェクト、歩行者、及び警告などのメタデータも表示するように構成され得る。
【００６８】
この例では、捕捉及び処理サブシステム８０１、ワープＨＷＡ８０３、及び表示システム８０５は、例えば、高性能ＲＩＳＣ（縮小命令セットコンピューティング）プロセッサ及び関連付けられたメモリであり得る、画像処理ユニット８３１によってホストされ得る。キャリブレータ８２３及び合成器８０４は、例えば、ＤＳＰ（デジタル信号プロセッサ）及び関連付けられたメモリによってホストされ得る。他の実施形態において、様々なサブシステムが、異なる構成のプロセッサによってホスト／制御され得る。
【００６９】
システム例
図９は、本明細書で説明するような３Ｄ  ＳＲＶシステムが装備される、例示の車両９００の例示である。この例は、前方カメラ９１１、同乗者サイドカメラ９１２、後方カメラ９１３、及びドライバーサイドカメラ９１４の、４台のカメラを有する。サイドカメラ９１２、９１４は、例えば、後方ビューミラー内に搭載され得る。車両９００は、本明細書で説明するように、ドライバー可視表示デバイス９２０上に３Ｄ  ＳＲＶを提供するためにカメラ９１１〜９１４を用いるＡＤＡＳを含む。
【００７０】
ＡＤＡＳは、車両９００内の制御システムに結合され得、制御システムは、例えば、エンジン、ステアリング、及び／又はブレーキシステムに結合され得る。制御システムは、様々なタイプのＡＤＡＳ機能を行なうために画像処理システム１３３０によって処理される画像データを用い得る。
【００７１】
ＡＤＡＳ技術の進化は、いくつかのイノベーション領域に関連する。２つの重要な関連傾向は、センサ、カメラ、及び電子機器などの個々の構成要素を縮小すること、並びに、専用機能をより包括的なシステムに統合することを含む。より大きなシステムを廉価で構築するためには、より小さくより安価な構成要素が必要であるため、これらの傾向は相補的である。例えば、車線維持支援のために働く同じ前方カメラが、車の前方のオブジェクトを検出し、道路標識を読み取り、又は衝突を回避するためにブレーキをかけるための情報も提供することが可能である。しかしながら、より複雑なＡＤＡＳ機能を実施するためには、より多くのカメラからの、及び、超音波、ＬＩＤＡＲ、及びレーダなどの他のセンサからの入力、並びに、それらの異なるセンサ要素からのデータの融合が必要である。融合はまた、個々のセンサソリューションの欠点も克服させ得、或るレベルの冗長性を提供し得る。
【００７２】
図１０は、図９を参照し、車両９００などの車両に含まれ得る３Ｄ  ＳＲＶシステム１０００の実施形態の例示のブロック図である。表示システム８０５は、車両９００内に設置されるか、又は遠隔であってよい。遠隔実装の場合、本明細書に示されるように、例えば、表示システムとＡＤＡＳとの間にワイヤレスリンクが確立され得る。
【００７３】
１０２２に示されるように、ＡＤＡＳ１０００は、本明細書で説明する技法の実施形態を含むように増強され得る、ＴＤＡ３ｘ及びＴＤＡ３ｘデバイスファミリーなど、テキサス  インスツルメンツ  インコーポレイテッド（ＴＩ）から入手可能なものなどのＳｏＣデバイスに基づき得る。ＴＩは、設計を簡略化し、空間を最小化して、図１０に示されるようなセンサ融合を容易にするために、周辺装置のセットをＴＤＡｘｘソリューション内に完全に組み込んでいる。特に、サラウンドビュー及びバックアップカメラのようなカメラベースシステムのための通信インターフェースは、ＳｅｒＤｅｓモジュール１０２１などの、ＴＩの最新世代ＦＰＤ−Ｌｉｎｋ  ＩＩＩ  ＳｅｒＤｅｓファミリーから利点を得ることができ、こういったファミリーは、単一同軸ケーブルを用いて遠隔ＡＤＡＳ衛星を中央処理モジュールに接続するための作業を減少させることを助ける。コネクタを小型化し構成要素を高度に統合させることに起因して、配線作業を減少させ、モジュールを小型化することによって、ＡＤＡＳのためのセンサモジュールの数が増加し続けることで新車に価格及び重量の上昇を負担させないことを確実にすることを助ける。例えば、２０１５年８月のＨａｎｎｅｓ  Ｅｓｔｌによる「先進運転支援システムを用いる自動運転の実現化」を参照のこと。
【非特許文献２】“Paving the way to self-driving cars with advanced driver assistance system” Hannes Estl, August, 2015
【００７４】
他の実施形態
本明細書において４台のカメラを備える車両が示されているが、他の実施形態はより多いか又はより少ないカメラを含み得る。
【００７５】
上記では３０ｆｐｓのビデオフレームレートを説明したが、他の実施形態は、より速いか又はより遅いフレームレートを用い得る。しかしながら、より速いフレームレートは、より高価な処理機能を必要とする可能性がある。
【００７６】
本明細書において、ＡＤＡＳを参照して例示の実施形態を説明してきたが、ＡＤＡＳ以外のコンピュータビジョン応用例が、自動車、工業用応用例、高性能コンピューティング、ロボット、及びドローンなどの例示の実施形態から利点を得ることができる。
【００７７】
本明細書において自動車９００が示されているが、他の実施形態を他のタイプの車両（トラック、列車、飛行機、及びドローンなど）に配置し得、車両の動作を支援するか又は完全に制御するために用いることができる。
【００７８】
本明細書においてドライバーが乗車する従来の車両について説明してきたが、「ドライバー」が車両から遠隔に居る、遠隔サイトから制御可能な自律走行車などの車両において、他の実施形態を実装し得る。
【００７９】
本明細書で用いられる場合、「車両」という用語は、リアルタイムで仮想ビューポイントを形成するために複数のカメラからの画像の低コストで低電力の処理が有益な、他のタイプのデバイス（ロボット、工業用デバイス、及び医療用デバイスなど）にも適用可能である。
【００８０】
本明細書において説明する技法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせにおいて実装され得る。ソフトウェアにおいて実装される場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又はデジタル信号プロセッサ（ＤＳＰ）などの一つ又は複数のプロセッサにおいて実行され得る。こういった技法を実行するソフトウェアは、初期的に、コンパクトディスク（ＣＤ）、ディスケット、テープ、ファイル、メモリ、又は任意の他のコンピュータ可読ストレージデバイスなどのコンピュータ可読媒体にストアされ、その後、プロセッサにおいてロード及び実行され得る。いくつかの場合において、ソフトウェアはまた、コンピュータ可読媒体、及びコンピュータ可読媒体のためのパッケージング材料を含む、コンピュータプログラム製品において販売され得る。いくつかの場合において、ソフトウェア命令は、取り外し可能コンピュータ可読媒体（例えば、フロッピーディスク、光ディスク、フラッシュメモリ、ＵＳＢキー）を介する、別のデジタルシステム上のコンピュータ可読媒体からの伝送経路を介する、などによって流通され得る。
【００８１】
デジタルシステムにおける構成要素は、説明された機能を逸脱することなく、異なる名前で称され得、及び／又は、本明細書に示されていない方法で組み合わされ得る。本明細書において、「結合する」という用語及びその派生語は、間接的、直接的、光学、及び／又はワイヤレス電気接続を意味する。したがって、第１のデバイスが第２のデバイスに結合する場合、その接続は、直接電気接続を介するもの、他のデバイス及び接続を介した間接的電気接続を介するもの、光電気接続を介するもの、及び／又は、ワイヤレス電気接続を介するものであってよい。
【００８２】
本明細書において、方法ステップが逐次的に提示及び説明され得るが、図示及び説明されるステップの一つ又は複数が、省かれ得、反復され得、同時に成され得、並びに／或いは、図に示される順及び／又は本明細書において説明される順とは異なる順で成され得る。したがって、例示の実施形態は、図示されるステップ及び／又は本明細書において説明されるステップの特定の順に限定されるものではない。
【００８３】
特許請求の範囲内で、説明した実施形態における改変が可能であり、他の実施形態が可能である。
【図１】
2019503007.tif 000003
【図２】
2019503007.tif 000004
【図３】
2019503007.tif 000005
【図４】
2019503007.tif 000006
【図５】
2019503007.tif 000007
【図６】
2019503007.tif 000008
【図７】
2019503007.tif 000009
【図８】
2019503007.tif 000010
【図９】
2019503007.tif 000011
【図１０】
2019503007.tif 000012
【国際調査報告】
2019503007.tif 000013