(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-05
(45)【発行日】2023-12-13
(54)【発明の名称】事前定義されたビューポイントルックアップテーブルを用いるサラウンドビューのための3次元レンダリング
(51)【国際特許分類】
G06T 5/50 20060101AFI20231206BHJP
G06T 3/00 20060101ALI20231206BHJP
H04N 7/18 20060101ALI20231206BHJP
H04N 23/60 20230101ALI20231206BHJP
H04N 23/90 20230101ALI20231206BHJP
【FI】
G06T5/50
G06T3/00 710
H04N7/18 J
H04N23/60 300
H04N23/60 500
H04N23/90
(21)【出願番号】P 2022080086
(22)【出願日】2022-05-16
(62)【分割の表示】P 2018535294の分割
【原出願日】2017-01-06
【審査請求日】2022-05-20
(32)【優先日】2016-10-19
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2016-01-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507107291
【氏名又は名称】テキサス インスツルメンツ インコーポレイテッド
(74)【代理人】
【識別番号】230129078
【氏名又は名称】佐藤 仁
(72)【発明者】
【氏名】ヴィクラム ヴィジャヤンバブ アッピア
(72)【発明者】
【氏名】スジス シヴァリンガッパ
(72)【発明者】
【氏名】ブリジェシュ ラメシュブハル ジャダブ
(72)【発明者】
【氏名】ヘマント ハリヤニ
(72)【発明者】
【氏名】シャシャンク ダブラル
(72)【発明者】
【氏名】マヤンク マングラ
【審査官】▲徳▼田 賢二
(56)【参考文献】
【文献】特開2015-015527(JP,A)
【文献】特開2012-138660(JP,A)
【文献】特開2008-141643(JP,A)
【文献】国際公開第2012/017560(WO,A1)
【文献】特開2013-207637(JP,A)
【文献】国際公開第2013/018173(WO,A1)
【文献】特開2002-083285(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 5/50
G06T 3/00
H04N 7/18
H04N 23/60
H04N 23/90
(57)【特許請求の範囲】
【請求項1】
サラウンドビューを単一表示スクリーン上に表示する方法であって、
3次元(3D)ビューを表すビュー表面を定義することと、
複数の仮想カメラを用いて前記ビュー表面から画像を捕捉することと、
前記複数の仮想カメラの各々に対して、第1の仮想ビューポイントについて第1のワープマップを発生することであって、前記第1の仮想ビューポイントに対応する出力フレームにおける2次元(2D)ピクセル位置からの光線を前記ビュー表面と交差するようにキャスティングすることと、その光線を前記複数の
仮想カメラのうちの1つにおける対応するピクセル位置にマッピングすることと、前記光線をキャスティングすることと前記光線を前記出力フレームの各2Dピクセル位置についてマッピングすることとを反復することとを含む、前記第1のワープマップを発生することと、
前記第1のワープマップを記憶することであって、セットアッププロセスの間に複数のカメラと前記複数の
仮想カメラのうちの対応する
仮想カメラとの間の位置の差に対処するために前記第1のワープマップが較正パラメータと組み合わされる、前記記憶することと、
を含む、方法。
【請求項2】
請求項1に記載の方法であって、
複数の仮想ビューポイントに対応する複数のワープマップを発生させて前記複数のワープマップを後の使用のために記憶することを更に含む、方法。
【請求項3】
請求項2に記載の方法であって、
前記複数のカメラが車両上に搭載するために位置決めされ、
前記方法が、
前記複数の仮想ビューポイントからモデル車両の複数の車両画像を抽出することと、
前記複数の車両画像を、前記複数のワープマップのうちの対応するワープマップと共に後の使用のために記憶することと、
を更に含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、一般に、3次元(3D)サラウンドビュー(3D SRV)のための画像システムに関し、より具体的には、事前定義されたビューポイントルックアップテーブルを用いる3D SRVのレンダリングに関する。
【背景技術】
【0002】
人間の操作エラーを減らすために、先進運転支援システム(ADAS)と呼ばれる新しいクラスの埋め込み型安全システムが自動車に導入されてきている。こうしたシステムは、後方ビューカメラ、電子安定制御、及びビジョンベースの歩行者検出システムなどの機能を提供することができる。これらのシステムの多くは、コンピュータビジョン処理に依拠して、一つ又は複数のカメラの視野内のオブジェクトを検出する。例えば、2013年10月の「Making Cars Safer Through Technology Innovation」を参照のこと。
【文献】“Making Cars Safer Through Technology Innovation” Oct. 2013
【0003】
自動車のサラウンドビューカメラシステムは、ドライバーが車両の360度周囲の全体ビューを見ることができるようにすることによって、ドライバーが車両を安全に駐車することを支援する、新進の自動車ADAS技術である。こうしたシステムは通常、車両周囲に搭載され、各々が異なる方向を向いた、4台から6台の広角(魚眼レンズ)カメラを含む。これらのカメラ入力から、車両の周囲の複合ビューが合成され、駐車の間、リアルタイムでドライバーに表示される。
【発明の概要】
【0004】
サラウンドビューを単一ディスプレイスクリーン上に表示するための方法の説明する例において、特定時間についての複数の画像フレームが、対応する複数のカメラから受信され得る。事前定義された第1の仮想ビューポイントに対応するビューポイントワープマップ(viewpoint warp map)が選択され得る。ビューポイントワープマップは、表示スクリーンの各出力ピクセル位置について、複数の画像フレームにおけるソースピクセル位置を定義する。ワープマップは、オフラインで事前定義され、後の使用のためにストアされる。ビューポイントワープマップに従って、複数の画像フレームからの出力画像の各ピクセルについてピクセルデータを選択することによって、表示スクリーンのための出力画像が合成される。その後、合成された画像は表示スクリーン上に表示される。
【図面の簡単な説明】
【0005】
【
図1】2次元サラウンドビューを生成するためのプロセスを図示する図形フローチャートである。
【0006】
【
図2】サラウンドビューシステムにおいて用いるための例示の3次元(3D)ボウルメッシュ(bowl mesh)の例示である。
【0007】
【
図3】
図2の3Dボウルメッシュの上に重ねられた例示のシーンを図示する。
【0008】
【
図4】
図2の3Dボウルメッシュを用いて仮想ビューポイントのために生成される3Dサラウンドビュー(SRV)画像を図示する。
【0009】
【
図5】
図4の3D SRV画像を形成するための光線追跡プロセスを図示する。
【0010】
【
図6】
図5の光線追跡プロセスの一部がオフラインでどのように実施され得るかを図示する。
【0011】
【
図7】事前定義されたビューポイントルックアップテーブルを用いて3D SRVを形成するためのプロセスを示す図形フローチャートである。
【0012】
【
図8】
図7のプロセスをより詳細に示すフローチャートである。
【0013】
【
図9】3D SRVシステムを備える例示の車両を示す図である。
【0014】
【
図10】3D SRVシステムの実施形態を示す例示のブロック図である。
【発明を実施するための形態】
【0015】
様々な図における同様の要素は、整合性のために同様の参照番号によって示される。
【0016】
ほとんどの視覚表示システムは2次元(2D)であるため、2Dディスプレイ上に投影することによる3次元(3D)ワールドの表現は、人間の可視化のためのレンダリンググラフィックスの重要な部分である。いくつかのアプリケーションは、様々な3Dグラフィックス能力のために設計された特殊なグラフィックコアであるグラフィックス処理ユニット(GPU)の助けを借りて、2Dディスプレイ上に3Dをレンダリングする。多くのこうした新進アプリケーションのうちの1つが、車に搭載される広角魚眼レンズカメラを用いる3Dサラウンドビューである。サラウンドビューカメラソリューションは、車の周囲に搭載される複数の魚眼レンズカメラから、複合3Dサラウンドビュー画像を作成し得る。様々なビューポイントからのリアルタイムの3Dワールド表現は、通常、グラフィックスプロセッサによって成される。
【0017】
事前定義されたビューポイントルックアップテーブルを備える2Dワープハードウェアアクセラレータを用いて2Dディスプレイ上に3D表現をレンダリングするための代替手法を本明細書において説明する。この代替手法は、表面が滑らかに変化する3Dワールド表現に適している。オートモーティブ3Dサラウンドビューは、ワールドが滑らかな表面によって表されるようなアプリケーションの1つである。後述するように、この方法の例示の実施形態は3Dサラウンドビューカメラソリューションに適用され得る。しかしながら、この技法は、医療用イメージング、複数のカメラを備えるセキュリティシステム、及び工業応用例など、複数のビューポイントからの滑らかな表面レンダリングを用い得る任意のアプリケーションに適用され得る。
【0018】
図1は、2Dサラウンドビューを生成するためのプロセスを図示する図形フローチャートである。2Dサラウンドビューを生成するためのプロセスを、より複雑なプロセスを説明する又は3Dサラウンドビューを生成する前に、簡単に説明する。2Dサラウンドビューは、車両の真上に位置し、真下を見下ろしているようなビューポイントから、複合画像を生成する。実質的には、車両近辺の仮想上面図が提供される。
【0019】
オートモーティブサラウンドビューは、「アラウンドビュー」又は「サラウンドビジョン監視システム」とも呼ばれ、車両を囲むエリアの360度ビューをドライバーに提供する新進のオートモーティブADAS技術である。サラウンドビューシステムは、通常、車両周囲に搭載される4台から6台の魚眼カメラを含む。例えば、カメラセット100が、フロントバンパに1台、リヤバンパにもう一台、両側のミラーの下に1台ずつを備える。各カメラによって生成される画像は、各カメラからの画像データの一つ又は複数のフレームをストアするためのメモリ回路を含む、画像信号処理システム(ISP)102に提供され得る。各カメラによって捕捉される魚眼画像111~114は、概念的には、例えば、車両110の周囲に配置され得る。この例証において、スケールモデル車両(4台のカメラが搭載されている)が、駐車場を表すジオラマにおいて位置決めされる。
【0020】
複数の魚眼レンズカメラからサラウンドビューを生成する一般的なプロセスは、例えば、2015年10月のVikram Appia等による「TIのTDAx SoCsに対するADASのためのサラウンドビューカメラシステム」に記載されており、この文献は、参照により本明細書に組み込まれる。基本的なサラウンドビューカメラソリューションは、通常、幾何学的アライメント及び複合ビュー合成という、2つの主要アルゴリズム構成要素を含む。幾何学的アライメントは、入力ビデオフレームについて魚眼歪みを補正し、それらを一般的な鳥瞰透視投影(birds-eye perspective)に変換する。合成アルゴリズムは、幾何学的補正の後に複合サラウンドビューを生成する。シームレスにスティッチングされた(stitched)サラウンドビュー出力を生成するために、「測光アライメント」と呼ばれる別の主要アルゴリズムが必要となり得る。測光アライメントは、シームレスなスティッチングを達成するために、近接するビュー間の明るさ及び色のミスマッチを補正する。測光補正は、米国特許出願公開番号US2015/0254825、発明の名称「サラウンドビューカメラソリューションによりディスプレイを処理するための方法、装置、及びシステム」に記載されており、これは、参照により本明細書に組み込まれる。
【文献】“Surround view camera system for ADAS on TI’s TDAx SoCs” Vikram Appia et al., October 2015
【文献】米国特許出願公開番号US2015/0254825
【0021】
カメラシステムキャリブレーションは、サラウンドビューカメラシステムの重要な構成要素である。このステップは、魚眼レンズ歪み補正(LDC)及び透視投影変換(perspective transformation)の両方を含む。魚眼歪み補正の場合、放射状歪み関数の逆変換を適用することによって元の入力フレームから魚眼を除去するために、放射状歪みモデルが用いられ得る。LDCの後、すべての入力ビューが単一ワールド座標系において適切に記録されるように、4つの入力LDC補正済みフレームを変換するために、各カメラに1つの、4つの外因性キャリブレーションマトリックスが推定され得る。チャートベースのキャリブレーション手法が用いられ得る。チャートのコンテンツは、アルゴリズムが正確且つ確実に特徴を見つけてマッチングすることを促進するように設計される。特定のチャート設計の一つが、126、127に示されている。2015年10月30日出願の米国仮特許出願番号US62/249,031、発明の名称「オンライン・サラウンドビュー・キャリブレーションのための特徴点検出」に記載されているような他のチャートも用いられ得、当該出願は、参照により本明細書に組み込まれる。3D SRVキャリブレーションのこの例では、チャートは平坦な地面の上に置かれ得、これは、ほとんどの自動車に都合がよい。しかしながら、必要であれば、チャートは異なる方位で配置することも可能である。
【文献】米国仮特許出願番号US62/249,031
【0022】
サラウンドビューカメラのキャリブレーションの間、4つのキャリブレーションチャートが車両周囲に置かれ得る。各チャートは2つの近接するカメラの共通の視野(FOV)内に置かれるべきであり、すなわち、隣接するカメラのどのペアも1つの共通チャートを「見る」はずである。(隣接するカメラにおいて1つの共通チャートを有することが理想的であるが、各カメラ画像における単一のチャートが最低要件である。)例えば、チャート画像127及び128は、2つの異なるカメラで撮られた同じチャートのビューである。その後、魚眼画像111~114によって示されるように、各カメラからのフレームが同時に捕捉される。
【0023】
異なるシーン照明、カメラ自動露光(AE)、及び自動ホワイトバランス(AWB)に起因して、異なるカメラによって捕捉された同じオブジェクトの色及び明るさが全く異なる可能性がある。その結果、スティッチングされた複合画像は、2つの近接するビュー(すなわち、カメラ入力)間で顕著な測光差を有する可能性がある。サラウンドビューシステムのための測光アライメントの目標は、複合ビューが、あたかも車両の上方に置かれた単一カメラから撮影されたかのごとく見えるように、異なるビューの明るさ及び色全体を一致させることである。これを達成するため、各ビューについて全体的な色及び明るさ補正機能が、近接ビューの重複領域における不一致が最小化されるように設計される。
【0024】
適切な幾何学的アライメントが既に入力フレームに適用されているものと想定すると、例えば、デジタル信号プロセッサ(DSP)130を用いて複合サラウンドビュー132が生成され得る。複合サラウンドビューは、カメラ100のセットからの4つの入力フレームすべてからのデータを用いる。重複領域は、同じ物理ワールドから生じるフレームの一部であるが、2つの近接カメラによって捕捉されており、すなわちO{m,n}であり、ここで、m=1、2、3、4、及びn=(m+1)mod4である。O{m,n}は、ビューmとビューnとの間の重複領域を指し、nは、時計回り順にビューmの隣のビューである。O{m,n}における各位置において、2つのピクセルが利用可能であり、この2つのピクセルは、ビューmからの画像データと、ビューnからのそれに空間的に対応するものである。
【0025】
カメラシステムがキャリブレーションされた後、サラウンドビュー合成「Synthesis」機能が、4つの魚眼カメラ100から入力ビデオストリームを受信し、複合2Dサラウンドビュー132を作成する。上述したように、LDCモジュール120は、4台の魚眼カメラ100の各々からの画像フレームに対し、魚眼補正、遠近法ワープ(perspective warp)、アライメント、及びバイリニア/バイキュービック補間を実施し得る。LDCモジュール120は、例えば、ハードウェアアクセラレータ(HWA)モジュールであり得る。HWA LDCの例が以下で説明される。DSPモジュール130は、スティッチングを実施し、最終的な複合出力画像132上に、車両画像134などの車両の画像をオーバーレイすることができる。
【0026】
合成は、幾何学的LUTにおいて符号化されたマッピングを用いて、スティッチングされた出力画像を作成する。2つの近接する入力フレームからの画像データが必要とされる、出力フレームの重複領域において、各出力ピクセルが、2つの入力画像におけるピクセル位置にマッピングする。重複領域において、2つの近接画像からの画像データは、ブレンディングされ得るか、又は、2つの画像のうちの1つからのデータを用いるため二分決定が成され得る。この例では、標準的なアルファブレンディング技法を用いる結果が示されている。例えば、複合サラウンドビュー132において、チャート画像133は、2つの異なるカメラからのチャート画像127及び128のブレンディングされたバージョンである。
【0027】
3D SRV機能の概要
図2は、サラウンドビューシステムにおいて用いるための、例示の3次元(3D)ボウルメッシュ200の例示である。3D SRV画像の場合、車両周囲のワールドは、ボウルの形状で表され得る。シーンの完全な深さがないため、ボウルは車両周囲のワールドの形状についての妥当な想定である。このボウルは、任意の滑らかに変化する表面とし得る。この特定の表現において、車の近くの領域では平坦201であり、それぞれ、前方及び後方について202、203で示されるように車から離れると湾曲している、ボウル200が用いられる。この例では、ボウルは、204で示されるように両側がほんのわずかに上方に湾曲し得る。他の実施形態において他のボウル形状が用いられ得る。
【0028】
図3は、
図2の3Dボウルメッシュ200上にオーバーレイされる例示のシーンを示す。この例において、車両325の画像が、メッシュ200上のシーンの上に重畳される。車両画像325は、例えば、カメラのセットが搭載された車両のポジションを表すために用いられ得る。この例では、4つのキャリブレーションフィールド(図示されているキャリブレーションフィールド326、327、及び328を含む)が、車両325の周囲に配置されている。
【0029】
図4は、
図2の3Dボウルメッシュ200を用いて仮想ビューポイントについて生成される3Dサラウンドビュー画像を図示する。この例において、仮想ビューポイントは車両画像325上方のやや後方にあるが、車両画像325によって表されるスケールモデル車両は、
図1に用いられる同じ駐車場ジオラマに位置する。この例では、画像の上部402はボウルメッシュ200の隆起部分202から導出され、下部401はボウルメッシュ200の平坦部分201から導出される。
【0030】
後述するように、仮想ビューポイントのセットが、事前に定義され得、その後、車両画像325によって表される車両の周囲付近のビデオ画像をリアルタイムで生成するために、例えば、毎秒30フレームの速度で順次呼び出され得る。仮想ビューポイントの選択は、ドライバーからの合図に対応し得る。例えば、フォワードからリバースへシフトすることによって、ビューポイントを車両の後方を見るように変更し得る。また、例えば、ハンドルを回転することで、ビューポイントの進行方向が、弧を描くように動き得る。ビューポイントは、例えば、低速では車両のより近くで弧を描くように動き得、高速になると車両からより遠くを弧を描くように動き得る。このようにして、例えば、車両を駐車させる際に助けるために、車両の周囲付近を表示するリアルタイムビデオ画像が車両のドライバーに提供され得る。
【0031】
図5は、
図4の3D SRV画像を形成するための光線追跡プロセスを図示する。この例は、ボウルメッシュ200(
図2)と同様のボウルメッシュの一部500の断面図を表す。ボウルメッシュ500は、平坦部分201及び隆起部分202(
図2)と同様に、平坦部分501及び隆起部分502を含み得る。上述したように、魚眼レンズ512を備えるカメラ511が実際の車両の前方に搭載され得る。3D SRV出力画像のための画像面522を備える仮想ビューポイント521が、例えば、上述したように、実際の車両位置の上方にあるように定義され得る。
【0032】
以前のシステムにおいて、グラフィックスプロセッサが提供され得、グラフィックスプロセッサは、ワールドの全体的な3D表現をストアし、531、532で示される例示の光線など、3Dポイントをディスプレイ上に投影することによって各ポイントを出力表示面522上にマッピングする。カメラの初期キャリブレーション513が、ワールドに対する魚眼カメラにおけるピクセルにワールド位置のマッピングを提供する。したがって、グラフィックスプロセッサは、表示スクリーン及び入力カメラに対する各ワールド位置のマッピングを有し、(出力表示におけるあらゆる位置についてこの情報を用いて)選ばれたビューポイントについて3Dサラウンドビュー出力をレンダリングする。
【0033】
しかしながら、画像をリアルタイムでレンダリングするための光線追跡には、画像システムのコストを増大させ、大量の電力を消費する可能性のある強力なグラフィックスプロセッサが必要である。例示の実施形態において、或るプロセスが、光線追跡及び画像レンダリングのプロセスを、事前選択されたビューポイントのセットについての2つの別々の動作に分割する。これにより、計算を多用する光線追跡のタスクをオフラインで実施し、その結果をリアルタイム画像レンダリングの間に用いるためにストアすることが可能となる。
【0034】
図6は、ビューポイントルックアップテーブル(LUT)のセットを作成するために、
図5の光線追跡プロセスの一部がオフラインでどのように実施され得るかを図示する。次いで、リアルタイム画像レンダリングの間、本明細書で説明する或るプロセスが、LDC 120(
図1)などのレンズ歪み補正(LDC)処理モジュールを備えて含まれ得る、2Dワープハードウェアアクセラレータ(HWA)を利用し得る。2Dワープアクセラレータは、事前定義されたビューポイントLUTを利用することにより、出力画像におけるブロックを入力画像におけるブロックにマッピングすることによって、出力から入力へのマッピングを実施する。
【0035】
この例は、ボウルメッシュ200(
図2)と同様のボウルメッシュの一部500の断面図を表す。ボウルメッシュ500は、平坦部分201及び隆起部分202(
図2)と同様に、平坦部分501及び隆起部分502を含み得る。上述したように、魚眼レンズ512を備えるカメラ511が実際の車両の前方に搭載され得る。
【0036】
3D SRV出力画像のための画像面622を備える仮想ビューポイント621が、上述したように、実際の車両位置の上方にあるように事前定義され得る。上述したように、ビューポイントのセットが、オフラインで事前定義及び準備され得る。
【0037】
出力画像面622上の位置についてカメラ511によって提供される入力画像にマッピングすることは、出力画像面622における2D位置からの光線をオフラインキャスティングすること、及び、光線が3Dワールドと交差する位置を識別することに関与する。光線631、632は例示であり、例えば、光線631は3Dワールドの平坦部分501と交差し、光線632は3Dワールドの隆起部分502と交差する。オフライン光線キャスティング動作は、3Dワールド(ボウル)メッシュ500のX、Y、及びZ座標を備える仮想ビュー面622上のあらゆる2Dポイントのマッピングを生成する。3Dワールドにおける位置が識別された後、自動キャリブレーション手順642において生成されるカメラキャリブレーションマトリックスは、カメラ511からの入力画像における2D位置に対する3D位置のマッピングに用いられ得る。この手法を用いるマッピングが、2D画像面622における各位置に対して実施される。ハードウェアアクセラレータに必要とされる2Dワープテーブルは、カメラ511からの入力画像への出力画像面622からのこうしたマッピングのサブサンプリングされたアレイである。
【0038】
異なる仮想カメラビューポイントを備える一連のこうしたマッピングを介して反復すること、及び、ビデオフレームレートにおける各マッピングに対して2D出力を作成することによって3Dサラウンドビューが得られ得る。上述したように、各サラウンドビューは、例えば、4つの広角魚眼カメラからの4つの画像を組み合わせるスティッチングされた画像であり得る。
【0039】
光線キャスティングのタスクはコストの掛かる動作であるため、641に示されるように、マッピングをオフラインで実施して、後の再使用のためにストアされ得るマッピングされたルックアップテーブル(LUT)を生成し得る。ストアされたLUTは、その後、643に示されるように、ランタイムの間に再使用され得る。搭載されるカメラの物理的位置が変化しない場合、キャリブレーションマトリックスも不変のままである。したがって、仮想カメラポジション遷移は事前定義され得、HWA LUTマッピングは、オフラインで作成され得、初期的にストアされ得る。
【0040】
事前定義されたLUT生成は、2つの機能ブロックに更に分けられ得る。3Dワールド(ボウル)マッピングへの仮想2Dカメラ出力面のマッピングは、コンピュータなどのオフラインツールにおいて別々にストアされ得る。3Dワールド(ボウル)から入力カメラへのマッピングは、画像システムの一部であるプロセッサによってオンボードで成され得る。
【0041】
これは、2つの理由でマッピング機能の効果的な区分である。3Dワールドマッピングに対する仮想ビューはカメラの向きとは無関係であるため、車両の製造の間、又は車両の寿命の間など、カメラが動くたびに各車両についてこのマッピングを再生成する必要はない。最もコストの掛かる光線キャスティング動作はオフラインで実施され得る。
【0042】
これらの仮想カメラ遷移をカメラキャリブレーションから分離することによって、様々なカメラ構成に対して同じメッシュを再使用し得る。例えば、必ずしもサラウンドビュー用でなくてよい、異なる車種及び異なるマルチカメラレンダリングアプリケーションを、同じメッシュに適応させることができる。
【0043】
所与のビューポイントからの、より複雑であるが静止しているジープ/車の画像のピクチャ画像もオフラインで生成され得る。各ビューポイントについて、同じ仮想カメラポジションから見た車の1つのこうした2Dピクチャが抽出され得る。関連付けられた車の画像を用いるこうしたマッピングのシーケンス全体は、オンラインキャリブレーション手順に移され得る。
【0044】
図7は、事前定義されたビューポイントルックアップテーブルを用いて3D SRVを形成するためのプロセスを示す図形フローチャートである。上述したように、事前定義された仮想ビューポイントのセットについてのマッピングテーブルは、オフラインで準備され得、後の使用のために車両上にストアされ得る。車両の動作の間、車両周辺の3D環境が、車両の周囲に搭載された魚眼カメラによって受信されるライブカメラフィードからレンダリングされ得る。様々な仮想ビューポイントからのシーンをレンダリングすることによって、ワールドの3D可視化が達成され得る。
【0045】
上述したように、各々が仮想ビュー2D位置からワールドビューメッシュX、Y、Z位置への対応を含む、ビューポイントルックアップテーブル(LUT)のセットは、オフラインで準備され、車両上にストアされ得る。車両の動作の間、例えば、ドライバーの入力に応答して特定のビューポイントが選択され得る。各選択された仮想ビューポイントについて、700に示されるように、対応するビューポイントLUTが選択され得る。カメラキャリブレーションパラメータ702は、上述したような車両の周囲の地上に置かれたキャリブレーションチャートを用いて、自動キャリブレーション手順によって発生し得る。これは、車両が組み立てられ、例えば、カメラセットアップが成されたときに一度、実施され得る。
【0046】
選択されたビューポイントLUT700及びカメラキャリブレーションパラメータは、その後、704に示されるように、デジタル信号プロセッサ(DSP)などのプロセッサに送られ得る。DSPは、各選択されたビューポイントLUTをカメラキャリブレーションパラメータと組み合わせて、4つの魚眼カメラの各々について、各仮想ビューについてのHWA LUTに変換する。その後、これらのキャリブレーションされたビューポイントLUTは、ワープHWA706によりアクセスされ得るメモリモジュールにストアされ、車両がライブモードで動作されるときに、スティッチング及びブレンディングのためにDSP707によって順次再使用される。
【0047】
カメラが搭載された車両の動作の間、魚眼レンズを備える4台のカメラから30fps(フレーム数毎秒)でのビデオの一定ストリームが受信され、4台のカメラは、車両の前方、後方、及び各サイドミラー上に搭載されている。1フレームに対応する4つの画像の例示のセットが、画像711~714によって示されている。
【0048】
各フレームを処理するため、ワープHWA 706は、現在選択されている仮想ビューポイントに対応するストレージからのキャリブレーションされたビューポイントLUTにアクセスし、キャリブレーションされたビューポイントLUTを用いて、4つの仮想レンダリングビューを形成するために、4つの入力画像の各々に対してワープ動作を行なう。このプロセスは、この例示のシステムに対して、30fpsの速さで各フレームについて反復される。
【0049】
その後、2Dスティッチング及びブレンディングプロセスが、上述したように、車両のドライバーが見ることができる表示スクリーン上に表示され得る最終的な複合3D SRVを形成するために、DSPプロセス707によって実施され得る。DSPプロセス707は、例えば、DSPプロセス704を実施する同じDSPプロセッサによって、又は異なるDSPによって、実施され得る。現在選択されている仮想ビューポイントに対応するモデル車両画像が、事前に処理された車両画像708のライブラリからも選択され得、710に示されている最終的な3D SRVディスプレイ画像を形成するために複合3D SRV上にオーバーレイされ得る。
【0050】
上述したように、車両の外側の仮想ビューポイントからの車両近辺の現実的な30fpsビデオ3Dサラウンドビューを形成するために、選択された仮想ビューポイントは、車両の動きの方向及び速さなどのドライバーからの合図に応答し得る。
【0051】
図8は、
図7のプロセスをより詳細に示すフローチャートである。このデータフローは、捕捉及び処理801、キャリブレーション802、2D画像ワープ803、及び合成器804という、サブモジュールの下で分類され得る。次に、各サブモジュールをより詳細に説明する。
【0052】
捕捉及び処理
捕捉及び処理ブロック801は、車両の周辺に配置され、捕捉ブロック815に結合されるカメラ811~814などの複数のカメラからビデオを捕捉するためのモジュールを含む。捕捉ブロック815の出力は、本明細書全体を通して「マルチチャネルビデオ」と呼ばれる。ブロック817は、必要であれば、既知の又は後に開発される画像処理方法を用いて、色補正動作(BayerフォーマットからYUV420フォーマットへの変換、色調マッピング、ノイズフィルタ、ガンマ補正など)を実施し得る。ブロック816は、既知の又は後に開発される技法を用いて、最適な画質を達成するために、ビデオセンサの自動露出制御、及びホワイトバランスを実施し得る。ブロック818は、センサから捕捉される各フレームが同じ時間期間にあることを保証するために、すべてのカメラ811~814を合成する。
【0053】
本明細書において説明する特定の実施では4つのカメラが用いられている。本明細書において説明する同じ原理は、他の実施形態におけるN台のカメラに拡張可能であり、Nは4より大きくても小さくてもよい。
【0054】
キャリブレータ
キャリブレーションサブブロック802は、上述した自動キャリブレーション手順によって発生するカメラキャリブレーションマトリックス821を利用し、ワールドビューメッシュ822と組み合わせて、2DワープHWA LUTを発生させる。上述したように、ワールドビューメッシュ822は、オフライン発生され得、キャリブレータ機能823による後の使用のためにストアされ得る。
【0055】
各事前定義された仮想ビューポイントについて、キャリブレータモジュール823は、関連する3Dボウルメッシュテーブル822を読み取り、カメラキャリブレーションパラメータ821を考慮し、4つのチャネルの各々について2Dメッシュルックアップテーブルを発生させる。
【0056】
これは、通常、ワンタイム動作であり、システムが開始されたとき、例えば、組み立てプロセスの間にシステムが車両内に配置されたとき、成される。このプロセスは、車両上に搭載されたカメラのうちの1つについてポジション変更が感知されるとき必ず反復され得る。いくつかの実施形態において、キャリブレーションプロセス823は、例えば、車両が始動されるたびに反復され得る。
【0057】
画像ワープ
画像ワープモジュール803は、レンズ歪み補正(LDC)ハードウェアアクセラレータ(HWA)、及びキャリブレータ823によって生成される2Dメッシュルックアップテーブルを用いて、捕捉及び処理サブブロック801によって提供される入力ビデオフレームをワープさせ得る。画像をレンダリングするための2Dワープ動作は、画像をレンダリングするために以前のシステムにおいて用いられている3D光線キャスティングプロセスよりもずっと容易に成される。したがって、魚眼歪み補正及びビューポイントワープがどちらも、事前定義されたビューポイントLUTを用いる単一動作において成され得る。
【0058】
この例において、ワープHWA803は、画像ワープアルゴリズム又はルックアップテーブルに従って、データのパッチを1つのフレームバッファから別のフレームバッファに移動させるように構成される機能モジュールである。レンズ歪み補正モジュールの一般的な動作は知られている。例えば、2DワープHWAが、テキサス インスツルメンツ インコーポレイテッド(TI)から入手可能なTDA3x SoC内に含められる。TDA3x SoCは、TIのDSPコアの固定小数点及び浮動小数点デュアルTMS320C66x世代、完全にプログラム可能なVision AccelerationPac(EVE)、及びデュアルARM(登録商標)Cortex(登録商標)-M4コア並びに画像信号プロセッサ(ISP)を含む、異種のスケーラブルアーキテクチャに基づく。TDA3x SoCは、LVDSベースのサラウンドビューシステムのための、ディスプレイ、CAN、及びマルチカメラインターフェース(パラレル及びシリアルの両方)を含む周辺装置のホストも組み込む。
【0059】
画像ワープモジュール803は、すべてのビデオチャネル及びすべてのビューポイントについて2Dメッシュテーブルを受信してこれらをストアし、所与の仮想ビューポイントと、各チャネルについてのビデオフレームの出力サイズ、処理パラメータ(ブロックの幅/高さなど)などのメタデータ、及びその対応する仮想ビューポイントと併せて、2Dメッシュテーブルの関連付けられたセットとの間の関係を維持する。
【0060】
画像ワープモジュール803は、新しいビューポイントを選択するためのコマンドを受信するたびに、選択されたビューポイントについてどのカメラチャネルが必要とされるかを決定し得る。これは、例えば、ビューポイントメッシュが発生するときにオフラインプロセスにおいて決定され得る。例えば、SRV出力がヒッチビューにズームインするために車両の後部を見ている場合、前方カメラは必要でない可能性がある。
【0061】
画像ワープモジュール803は、ビューポイントを選択するためのコマンドを受信するたびに、所与のビューポイントについて必要な2Dメッシュルックアップテーブルを取り出し、必要な処理パラメータを確立し、各チャネルについて適切なメッシュテーブルを関連付ける。受信した2Dメッシュテーブルは、車両が最初に始動したときに利用可能であるように、不揮発性メモリにストアされ得る。別の実施形態において、2Dメッシュテーブルは、揮発性メモリにストアされ得、そのため、システムがオンになるたびに再ローディングが必要になる。
【0062】
ワープモジュール803は、各チャネルから1つのビデオフレームを順次処理する。各チャネルが処理される前に、ワープHWAは、関連付けられた処理パラメータと共に構成される。各入力フレームはセットとして処理され、1セットは、合成される各チャネルから1つのフレームを含む。この結果、捕捉されたフレームレートでビューポイントを変更するとき、フリッカ/アーティファクト無しの遷移となる。
【0063】
所与のビューポイントについて発生された出力は、合成器ブロック804に提供され得る。
【0064】
システム始動(立ち上げ)時間を最小化するために、メッシュテーブルは1回発生され得、不揮発性メモリにストアされ得、後続の始動/立ち上げにはキャリブレーションプロセスがバイパスされ得る。次のシステム始動/立ち上げの際、メッシュテーブルは、上述したように処理される、不揮発性メモリ及びビデオフレームから読み取ることができる。
合成器
【0065】
合成器モジュール804は、各ビデオチャネルから1つのフレームを含む複合ビデオフレームを発生させる責務を負う。仮想ビューポイントに応じて、複合パラメータは変化する可能性がある。このモジュールは、
図1に関連して上述した合成ブロックと同様である。魚眼入力画像の代わりに、合成器ブロック804は、各カメラ画像についてワープHWA 803修正出力を受信する。
【0066】
合成ブロックは、上述したように、近接カメラに対応する画像をスティッチング及びブレンディングし得る。ブレンディングライン位置は仮想ビューの位置に基づいて変動し得、この情報はまた、ビューメッシュに対するオフライン発生されたワールドにおいて符号化される。合成ブロックは、ビデオフレームレート、すなわち30fps、で呼び出され、スティッチングされた出力画像を30fpsで発生させる。
【0067】
表示サブシステム805が、合成器804からビデオストリーム出力を受信し得、車両のドライバーが見るための、接続されたLCD、モニタ、又はTVなどの表示ユニット上に、同じ内容を表示し得る。システムは、検出されるオブジェクト、歩行者、及び警告などのメタデータも表示するように構成され得る。
【0068】
この例では、捕捉及び処理サブシステム801、ワープHWA803、及び表示システム805は、例えば、高性能RISC(縮小命令セットコンピューティング)プロセッサ及び関連付けられたメモリであり得る、画像処理ユニット831によってホストされ得る。キャリブレータ823及び合成器804は、例えば、DSP(デジタル信号プロセッサ)及び関連付けられたメモリによってホストされ得る。他の実施形態において、様々なサブシステムが、異なる構成のプロセッサによってホスト/制御され得る。
【0069】
システム例
図9は、本明細書で説明するような3D SRVシステムが装備される、例示の車両900の例示である。この例は、前方カメラ911、同乗者サイドカメラ912、後方カメラ913、及びドライバーサイドカメラ914の、4台のカメラを有する。サイドカメラ912、914は、例えば、後方ビューミラー内に搭載され得る。車両900は、本明細書で説明するように、ドライバー可視表示デバイス920上に3D SRVを提供するためにカメラ911~914を用いるADASを含む。
【0070】
ADASは、車両900内の制御システムに結合され得、制御システムは、例えば、エンジン、ステアリング、及び/又はブレーキシステムに結合され得る。制御システムは、様々なタイプのADAS機能を行なうために画像処理システム1330によって処理される画像データを用い得る。
【0071】
ADAS技術の進化は、いくつかのイノベーション領域に関連する。2つの重要な関連傾向は、センサ、カメラ、及び電子機器などの個々の構成要素を縮小すること、並びに、専用機能をより包括的なシステムに統合することを含む。より大きなシステムを廉価で構築するためには、より小さくより安価な構成要素が必要であるため、これらの傾向は相補的である。例えば、車線維持支援のために働く同じ前方カメラが、車の前方のオブジェクトを検出し、道路標識を読み取り、又は衝突を回避するためにブレーキをかけるための情報も提供することが可能である。しかしながら、より複雑なADAS機能を実施するためには、より多くのカメラからの、及び、超音波、LIDAR、及びレーダなどの他のセンサからの入力、並びに、それらの異なるセンサ要素からのデータの融合が必要である。融合はまた、個々のセンサソリューションの欠点も克服させ得、或るレベルの冗長性を提供し得る。
【0072】
図10は、
図9を参照し、車両900などの車両に含まれ得る3D SRVシステム1000の実施形態の例示のブロック図である。表示システム805は、車両900内に設置されるか、又は遠隔であってよい。遠隔実装の場合、本明細書に示されるように、例えば、表示システムとADASとの間にワイヤレスリンクが確立され得る。
【0073】
1022に示されるように、ADAS1000は、本明細書で説明する技法の実施形態を含むように増強され得る、TDA3x及びTDA3xデバイスファミリーなど、テキサス インスツルメンツ インコーポレイテッド(TI)から入手可能なものなどのSoCデバイスに基づき得る。TIは、設計を簡略化し、空間を最小化して、
図10に示されるようなセンサ融合を容易にするために、周辺装置のセットをTDAxxソリューション内に完全に組み込んでいる。特に、サラウンドビュー及びバックアップカメラのようなカメラベースシステムのための通信インターフェースは、SerDesモジュール1021などの、TIの最新世代FPD-Link III SerDesファミリーから利点を得ることができ、こういったファミリーは、単一同軸ケーブルを用いて遠隔ADAS衛星を中央処理モジュールに接続するための作業を減少させることを助ける。コネクタを小型化し構成要素を高度に統合させることに起因して、配線作業を減少させ、モジュールを小型化することによって、ADASのためのセンサモジュールの数が増加し続けることで新車に価格及び重量の上昇を負担させないことを確実にすることを助ける。例えば、2015年8月のHannes Estlによる「先進運転支援システムを用いる自動運転の実現化」を参照のこと。
【文献】“Paving the way to self-driving cars with advanced driver assistance system” Hannes Estl, August 2015
【0074】
他の実施形態
本明細書において4台のカメラを備える車両が示されているが、他の実施形態はより多いか又はより少ないカメラを含み得る。
【0075】
上記では30fpsのビデオフレームレートを説明したが、他の実施形態は、より速いか又はより遅いフレームレートを用い得る。しかしながら、より速いフレームレートは、より高価な処理機能を必要とする可能性がある。
【0076】
本明細書において、ADASを参照して例示の実施形態を説明してきたが、ADAS以外のコンピュータビジョン応用例が、自動車、工業用応用例、高性能コンピューティング、ロボット、及びドローンなどの例示の実施形態から利点を得ることができる。
【0077】
本明細書において自動車900が示されているが、他の実施形態を他のタイプの車両(トラック、列車、飛行機、及びドローンなど)に配置し得、車両の動作を支援するか又は完全に制御するために用いることができる。
【0078】
本明細書においてドライバーが乗車する従来の車両について説明してきたが、「ドライバー」が車両から遠隔に居る、遠隔サイトから制御可能な自律走行車などの車両において、他の実施形態を実装し得る。
【0079】
本明細書で用いられる場合、「車両」という用語は、リアルタイムで仮想ビューポイントを形成するために複数のカメラからの画像の低コストで低電力の処理が有益な、他のタイプのデバイス(ロボット、工業用デバイス、及び医療用デバイスなど)にも適用可能である。
【0080】
本明細書において説明する技法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせにおいて実装され得る。ソフトウェアにおいて実装される場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又はデジタル信号プロセッサ(DSP)などの一つ又は複数のプロセッサにおいて実行され得る。こういった技法を実行するソフトウェアは、初期的に、コンパクトディスク(CD)、ディスケット、テープ、ファイル、メモリ、又は任意の他のコンピュータ可読ストレージデバイスなどのコンピュータ可読媒体にストアされ、その後、プロセッサにおいてロード及び実行され得る。いくつかの場合において、ソフトウェアはまた、コンピュータ可読媒体、及びコンピュータ可読媒体のためのパッケージング材料を含む、コンピュータプログラム製品において販売され得る。いくつかの場合において、ソフトウェア命令は、取り外し可能コンピュータ可読媒体(例えば、フロッピーディスク、光ディスク、フラッシュメモリ、USBキー)を介する、別のデジタルシステム上のコンピュータ可読媒体からの伝送経路を介する、などによって流通され得る。
【0081】
デジタルシステムにおける構成要素は、説明された機能を逸脱することなく、異なる名前で称され得、及び/又は、本明細書に示されていない方法で組み合わされ得る。本明細書において、「結合する」という用語及びその派生語は、間接的、直接的、光学、及び/又はワイヤレス電気接続を意味する。したがって、第1のデバイスが第2のデバイスに結合する場合、その接続は、直接電気接続を介するもの、他のデバイス及び接続を介した間接的電気接続を介するもの、光電気接続を介するもの、及び/又は、ワイヤレス電気接続を介するものであってよい。
【0082】
本明細書において、方法ステップが逐次的に提示及び説明され得るが、図示及び説明されるステップの一つ又は複数が、省かれ得、反復され得、同時に成され得、並びに/或いは、図に示される順及び/又は本明細書において説明される順とは異なる順で成され得る。したがって、例示の実施形態は、図示されるステップ及び/又は本明細書において説明されるステップの特定の順に限定されるものではない。
【0083】
特許請求の範囲内で、説明した実施形態における改変が可能であり、他の実施形態が可能である。