説明

カメラ画像のひずみ補正方法、ならびにカメラ画像のひずみ補正制御装置

【課題】本発明の課題は、ステレオビデオ画像のひずみ補正においてリアルタイム処理で必要とされる程度まで、記憶データ量および転送データ量を低減することである。
【解決手段】前記課題は、インタフェースを介して、ひずみが生じたカメラ画像(215,216)のひずみが生じた複数の画素を受信するステップと、前記ひずみが生じたカメラ画像をひずみ補正するための圧縮されたひずみ補正規則(617,618)を準備するステップと、前記ひずみ補正規則を復元するステップと、前記ひずみ補正規則を使用して、ひずみが生じた前記複数の画素から、ひずみ補正後のカメラ画像(223,224)のひずみ補正される複数の画素を求めるステップとを有することを特徴とする方法によって解決される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、請求項1記載のカメラ画像のひずみ補正方法と、請求項8記載のステレオカメラ画像のひずみ補正方法と、請求項9記載のルックアップテーブルの圧縮方法と、請求項10記載の制御装置とに関する。
【背景技術】
【0002】
ステレオビデオ画像処理は、走行支援システムにおいて行われる周辺検出、ロボット工学、オートメーション技術に属する別の用途において、重要な役割を果たす。ステレオビデオシステムによって、カメラ前方におけるオブジェクトの空間的位置を求めることができ、たとえば車両の走行支援システムにおいて、車両前方領域に存在する歩行者を検出することができる。このような画像処理のタスクにかかる要求は増加し続けている。この要求はとりわけ、幾何学的精度の上昇と、それに関連する処理速度の上昇とに関する要求である。
【0003】
DE10229336A1に、画像センサシステムを較正オブジェクトによって較正する方法が記載されている。
【0004】
US2008/0002879に、ピクセルクロックのひずみ補正のためのベクトルをそのつど、数学的に新たに計算する手法が記載されている。このような手法によってメモリが削減されるが、ひずみ補正規則を連続的に計算するために必要な計算パフォーマンスが増大する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】独国特許公開第10229336号明細書
【特許文献2】米国特許公開第2008/0002879号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の課題は、ステレオビデオ画像のひずみ補正においてリアルタイム処理で必要とされる程度まで、記憶データ量および転送データ量を低減することである。
【課題を解決するための手段】
【0007】
前記課題は、
インタフェースを介して、ひずみが生じたカメラ画像のひずみが生じた複数の画素を受信するステップと、
前記ひずみが生じたカメラ画像をひずみ補正するための圧縮されたひずみ補正規則を準備するステップと、
前記ひずみ補正規則を復元するステップと、
前記ひずみ補正規則を使用して、ひずみが生じた前記複数の画素から、ひずみ補正後のカメラ画像のひずみ補正される複数の画素を求めるステップ
とを有することを特徴とする方法によって解決される。
【図面の簡単な説明】
【0008】
【図1】3D三角測量のステレオ測定の原理を示す。
【図2】ステレオビデオ画像処理のデータフローを示す。
【図3】ルックアップテーブルを使用して行われる画像ひずみ補正の原理を示す。
【図4】前記ルックアップテーブル内のベクトル差の原理を示す。
【図5】差分ルックアップテーブルの長さ符号化の原理を示す。
【図6】本発明の実施例によるステレオビデオ画像処理のデータフローを示す。
【発明を実施するための形態】
【0009】
本発明の中心は、メモリ削減を実現するルックアップテーブル(Look-Up-Table、LUT)の圧縮方法と、ルックアップテーブルのリアルタイム復元方法とである。このルックアップテーブルは、たとえばステレオビデオシステムにおいて画像のレクティフィケーションを行うのに適したルックアップテーブルである。本発明により、3Dステレオ測定の一部として使用することができるレクティフィケーション方法ないしはリアルタイム画像ひずみ補正方法が実現される。このような方法は特に、FPGAベースまたはASICベースの計算ハードウェアとともに使用するのに適している。
【0010】
公知の手法と比較して本発明では、ルックアップテーブルの符号化により、リアルタイム処理で必要とされる程度まで、記憶データ量および転送データ量を低減することができる。このことにより、FPGAベースまたはASICベースのハードウェアにおいて、ルックアップテーブルを内部記憶するための高コストの記憶スペースを削減することができ、メモリアクセスに必要な帯域幅を大幅に縮小することができる。それに対して、付加的に復号化を実行しなければならなくなるが、本発明では、この復号化を非常に小さい計算手間で実施することができ、ステレオリアルタイム処理を低コストのハードウェアで実現することができる。
【0011】
本発明では、以下のステップを有するカメラ画像のひずみ補正方法を提供する:
インタフェースを介して、ひずみが生じたカメラ画像の複数のひずみ画素を受信するステップ。
インタフェースを介して、ひずみが生じたカメラ画像のひずみ補正を行うための圧縮されたひずみ補正規則を受信するステップ。
前記ひずみ補正規則を復元するステップ。
前記ひずみ補正規則を使用して、前記複数のひずみ画素から、ひずみ補正されるカメラ画像のひずみ補正される複数の画素を求めるステップ。
【0012】
カメラ画像は、光学的画像検出装置の撮像イメージを表現する画像とすることができ、たとえばビデオカメラの撮像イメージを表す画像とすることができる。したがって、このカメラ画像をビデオ画像とすることができる。カメラ画像は、複数の個々の画素から構成することができる。その際には、画素を所定のように配置し、たとえばマトリクス状に配置することにより、カメラ画像を構成することができる。カメラ画像のひずみは、内因的パラメータと外因的パラメータとによって生じる。これらのパラメータはたとえば、画像検出装置の較正時に検出して記憶することができる。ひずみが生じた画素から、ひずみ補正を行う画素を決定するために、ひずみ補正規則は、ひずみ補正を行う画素とひずみが生じた画素との対応関係を含むことができる。この対応付けは、内因的パラメータと外因的パラメータとに基づいて行うことができる。こうすることにより、ひずみカメラ画像をひずみ補正規則によってレクティフィケーションすることができる。たとえば、ひずみ補正規則はこうするために、画像をひずみ補正するための新たな位置をひずみ画素に割り当てる変位ベクトルを有する。圧縮されたひずみ補正規則は、該ひずみ補正規則に含まれる対応関係を符号化された形態で含むことができ、とりわけ圧縮された形態で含むことができる。圧縮されたひずみ補正規則は、圧縮された形態のルックアップテーブルとすることができ、ひずみはたとえば、バレル状またはピンクッション状のひずみである。本発明の方法は、たとえば制御装置等の適切な装置によって実施することができる。制御装置の1つまたは複数のインタフェースを介して、ひずみが生じたカメラ画像と圧縮されたひずみ補正規則とを受信することができる。ひずみが生じたカメラ画像と圧縮されたひずみ補正規則とを同時に、または時間的に連続して受信することができる。その際には、ひずみが生じたカメラ画像の各受信ステップごとに、圧縮されたひずみ補正規則の受信ステップを実施することができる。このことは、圧縮されたひずみ補正規則を制御装置に記憶する必要がないことを意味する。とりわけ、この方法をリアルタイムで実施することができ、圧縮されたひずみ補正規則の受信ステップと、復元ステップと、複数のひずみ補正される画素の決定ステップとを、ひずみが生じた1つのカメラ画像の受信時点とひずみが生じた次のカメラ画像の受信時点との間の時間以下の時間内に行うことができる。
【0013】
本発明では、復元後のひずみ補正規則は複数の変位ベクトルを有することができる。変位ベクトルは、複数のひずみ画素と複数のひずみ補正される画素との対応関係を定義することができる。変位ベクトルは、ひずみ補正画素を形成するために、ひずみが生じた画素をどのように変位すればよいかを定義することができる。したがって変位ベクトルは、ひずみが生じた画素のセットのうち相応の画素と、ひずみ補正される画素のセットのうち相応の画素とを対応付ける。このようにして、ひずみ補正される各画素ごとに、または択一的に、ひずみが生じた各画素ごとに、少なくとも1つの変位ベクトルを対応付けることができる。変位ベクトルは、ひずみ補正後のカメラ画像の構造またはひずみカメラ画像の構造に相応する構造を有するルックアップテーブル内に配置することができる。
【0014】
圧縮されたひずみ補正規則は、複数の変位ベクトルエントリを有することができる。圧縮されたひずみ補正規則の復元時には、複数の各ひずみ補正される画素に対し、複数の変位ベクトルエントリから変位ベクトルを求めることができる。変位ベクトルエントリは、変位ベクトルの圧縮された形態を表すことができる。圧縮および復元を行うために公知の圧縮手法を使用することができる。
【0015】
1つの実施形態では、次のひずみ補正される画素に対応付けられた次の変位ベクトルエントリと、先行のひずみ補正される画素に対応付けられた先行の変位ベクトルとから、次の変位ベクトルを求めることができる。このようにして、変位ベクトルを形成するための情報を複数の変位ベクトルエントリに分割することができる。次の変位ベクトルエントリと次の変位ベクトルとが対応付けられた次の画素と、先行の変位ベクトルエントリと先行の変位ベクトルとが対応付けられた先行の画素とを、予め決定された順序で配置することができる。たとえば、次の画素と先行の画素とが隣接する位置にあることも可能である。
【0016】
その際には、次の変位ベクトルエントリが、先行の変位ベクトルとの差分を定義することができる。圧縮されたひずみ補正規則は基本的に、個々の変位ベクトル間の変化分を含むだけで十分である。
【0017】
別の実施形態では、圧縮されたひずみ補正規則は複数の長さ(Lauflaenge)エントリと複数の差変化エントリとを有する。次のひずみ補正される画素に対応付けられた長さエントリが第1の値を有する場合、次のひずみ補正される画素の次の変位ベクトルは、先行のひずみ補正される画素の先行の変位ベクトルに相応することができる。さらに、次のひずみ補正される画素に対応付けられた長さエントリが第2の値を有する場合、次の変位ベクトルを、先行の変位ベクトルと、該次のひずみ補正される画素に対応付けられた差変化エントリとから求めることができる。たとえば、対応付けられた長さエントリの第1の値は論理0であり、第2の値は論理1であるか、または第1の値は論理1であり第2の値は論理0とすることができる。また長さエントリは、連続する不変の変位ベクトルの数に依存することができる。その際には、個々の変位ベクトルの順序を設定し、たとえばこの順序は、ひずみ補正される画像のひずみ補正される画素の配置に相応することができる。この所定の順序において変位ベクトルの値が変化した場合、相応の変化分の絶対値および正負を適切な差変化エントリによって定義することができる。このようにして、圧縮されたひずみ補正規則のサイズをさらに低減することができる。択一的に、データ圧縮を行うために別の公知の符号化手法を使用することができ、たとえば、D.A. HUFFMAN: A Method for the Construction of Minimum Redundancy Codes, Proceedings of the IRE, 40, 1098-1101 (1952) に記載されたハフマン符号や、US4558302に記載されたLZW手法を使用することができる。
【0018】
有利には、リアルタイム手法となるように各ステップを実施することができる。このような手法は、車両のドライブアシストシステムにおいて周辺検出を行うのに適している。
【0019】
本発明はさらに、以下のステップを有するステレオカメラ画像のひずみ補正方法も提供する。
【0020】
・インタフェースを介して、ひずみが生じた第1のひずみカメラ画像のひずみが生じた複数の第1のひずみ画素と、ひずみが生じた第2のカメラ画像のひずみが生じた複数の第2の画素とを受信するステップ。
・インタフェースを介して、前記第1のひずみカメラ画像をひずみ補正するための圧縮された第1のひずみ補正規則と、前記第2のひずみカメラ画像をひずみ補正するための圧縮された第2のひずみ補正規則とを受信するステップ。
・前記第1のひずみ補正規則と前記第2のひずみ補正規則とを復元するステップ。
・前記第1のひずみ補正規則を使用して、前記複数の第1のひずみ画素のうちひずみ補正される第1のカメラ画像の複数のひずみ補正される画素を決定し、前記第2のひずみ補正規則を使用して、前記第2のひずみ画素のうちひずみ補正される第2のカメラ画像のひずみ補正される複数の第2の画素を決定するステップ。
【0021】
その際には、第1のカメラ画像に対応するステップと第2のカメラ画像に対応するステップとを並行して実施することができる。ひずみ補正される2つのカメラ画像は、距離検出に使用することができ、非常に高い分解能のビデオカメラの場合には、リアルタイムのステレオビデオひずみ補正を行うことができる。本発明の方法は、WO02/078346A1やWO02/095681A1に記載されたようなステレオレクティフィケーション手法に基づいて実施することができる。
【0022】
本発明はさらに、以下のステップを有するカメラ画像のひずみ補正用のルックアップテーブルの圧縮方法も提供する。
【0023】
・インタフェースを介して、ひずみが生じたカメラ画像のひずみが生じた画素とひずみ補正されるカメラ画像のひずみ補正される画素との対応関係を定義する複数の変位ベクトルを受信するステップ。
・それぞれ前記複数の変位ベクトルのうち少なくとも2つの変位ベクトル間の変化を定義する複数の変位ベクトルエントリを決定するステップ。
・前記複数の変位ベクトルエントリを有する圧縮ルックアップテーブルを形成するステップ。前記変位ベクトルはたとえば、カメラ較正時に求めることができる。さらに圧縮するために、前記変位ベクトルエントリをたとえば長さ符号化によってさらに符号化することができる。
【0024】
本発明はさらに、以下のステップを有するカメラ画像のひずみ補正用の圧縮ルックアップテーブルの復元方法も提供する。
【0025】
・インタフェースを介して、それぞれ複数の変位ベクトルのうち少なくとも2つの変位ベクトル間の変化を定義する複数の変位ベクトルエントリを含む圧縮ルックアップテーブルを受信するステップ。
・ひずみカメラ画像のひずみが生じた画素とひずみ補正される画像のひずみ補正される画素との対応関係を定義する複数の変位ベクトルを、前記複数の変位ベクトルエントリから決定するステップ。
・前記複数の変位ベクトルエントリを供給するステップ。
【0026】
本発明はさらに、本発明の方法を実施ないしは変換するように構成された制御装置または計算ハードウェアも提供する。制御装置の構成の本発明のこの実施形態によっても、本発明の基礎となる課題を迅速かつ効率的に解決することができる。
【0027】
本願発明では制御装置とは、センサ信号を処理して該センサ信号に依存して制御信号を出力する電子的装置を指すことができる。この制御装置はインタフェースを有することができ、このインタフェースはハードウェアおよび/またはソフトウェアで構成することができる。ハードウェアで構成される場合には、インタフェースはたとえば、制御装置の種々の機能を含むいわゆるシステムASICの一部とすることができる。また、インタフェースを専用の集積回路とするか、または少なくとも部分的に離散回路素子から構成することもできる。ソフトウェアで構成される場合、インタフェースを、たとえばマイクロコントローラ上に別のソフトウェアモジュールと並列して設けられるソフトウェアモジュールとすることができる。
【0028】
また、たとえば半導体メモリ、ハードディスク記憶装置または光学的記憶装置等の機械読み取り可能な担体に記憶されプログラムコードを有するコンピュータプログラム製品であって、プログラムが制御装置上で実行される場合に上記の実施形態のうち1つの実施形態の方法を実施するために使用されるコンピュータプログラム製品も有利である。
【0029】
ひずみ補正を実際に具現化する際には、本発明の実施形態を種々異なって具現化することができ、レクティフィケーションハードウェア(たとえばFPGA+RAM)でビデオ画像データをシーケンシャル処理することができる。その際には、カメラ画像データ(輝度値)がピクセルクロック(Pixeltaxt)で入力される入力側と、ひずみ補正された画像データがピクセルクロックで出力される出力側とが設けられる。さらに、入力画像の制限された数のロウを格納するための入力バッファも設けることができる。したがって、画像全体がメモリに記憶されることはない。
【0030】
さらに、ひずみ補正出力画像を連続的に計算して出力信号を生成することもできる。すなわち、出力画像をひずみ補正ハードウェアに記憶しなくてもよい。
【0031】
FPGAで転用するためには、ひずみ補正のためのLUTをFPGA自体に格納するか、または外部RAMモジュールに格納することができる。比較的低コストの外部RAMに格納する際には、RAMとFPGAとの間のデータ転送速度は高くなり、このことは不利となる。完全なLUTをFPGAに格納する場合には、FPGAにおいて必要とされるメモリは多くなり、比較的高コストになる。
【0032】
これら2つの欠点は、LUTの圧縮によって回避される。LUTの圧縮は所期のように、制限された計算手間でピクセルクロックで順次復号化できるように行われる。したがってFPGAのメモリ内には、現時点で復号化されたベクトルであって現時点の出力ピクセルを計算するために必要とされるベクトルのみが存在する。復号化されたLUTすべてが、ハードウェアに完全に記憶されることはない。
【0033】
圧縮されたLUTはFPGA自体に記憶することができ、また、外部においてRAMに記憶することもできる。
【0034】
このようにしてシーケンシャル処理を行うことができる。このシーケンシャル処理は、LUTの復号化と画像のひずみ補正とに関する。したがって、画像およびLUTが常に、ハードウェア(FPGA)のメモリ内に完全に存在するわけではない。
【0035】
さらに、LUTを(FPGA/ASIC)自体に記憶することもできる。このことにより、LUTを何回も転送する必要がなくなる。
【実施例】
【0036】
本発明を以下で、添付図面に基づいて実施例によって詳細に説明する。
【0037】
本発明の有利な実施例を以下で説明するにあたり、異なる図中で示され同様の機能を有する要素には同一または同様の参照符号を使用しており、このような要素の説明を繰り返すことは省略する。
【0038】
図1に、実施例によるステレオ測定および3D三角測量の原理を示す。同図中、左側画像101および右側画像102を示している。これらの画像101,102はそれぞれカメラないしはステレオビデオシステムによって撮像され、複数の画素を有することができる。たとえば、画像101中に画素pが示されており、画像102中に画素pが示されている。画素pおよびpは共通の画像ロウ105に位置する。画像101中の画素pの位置は、x’‐y’座標系によって表すことができる。画像102中の画素pの位置は、x″‐y″座標系によって表すことができる。画素pおよびpは実際の点pを表す。点pの距離検出は、点pの位置と点pの位置とから三角測量によって求めることができる。
【0039】
ステレオビデオ画像データから幾何学的特徴の3D検出を高精度で行うためには、カメラ較正処理によって求められる内因的および外因的なパラメータを考慮しなければならない。内因的パラメータは結像モデルを基礎として、オブジェクトシーンにおける物理的表面を出発点とする画像ビームがカメラの対物レンズを通ってセンサ表面上で結像するまでの関係の関数を記述する。内因的パラメータはとりわけ、光学的焦点距離と光学的ひずみとを表す。それに対して外因的パラメータは、ステレオビデオシステムのカメラ相互間の幾何学的配置を表す。これは、カメラ相互間の相対位置および相対角度位置である。ステレオビデオシステムでは一般的には、一方のカメラの投影中心に対する他方のカメラの相対的な投影中心が表される。これは相対的方向とも称される。
【0040】
較正されるステレオビデオシステムを使用すると、相応の画素をまず検出した後に、順方向ステップで空間的に三角測量することにより、撮像されたオブジェクトシーンを測定することができる。図1に、2つの画像101,102によってステレオ測定を行う工程を概略的に示している。
【0041】
図2は、1実施例によるステレオビデオ画像処理のデータフローを示す。第1のカメラによって左側画像ストリーム211を受け取り、第2のカメラによって右側画像ストリーム212を受け取ることができる。左側画像ストリーム211は第1のひずみステレオ画像A1 215を供給し、右側画像ストリーム212は第2のひずみステレオ画像A2 216を供給する。さらに、第1のルックアップテーブルLUT1 217と第2のルックアップテーブルLUT2 218を設けることができる。第1のルックアップテーブル217は左側画像ストリーム211に関連づけ、第2のルックアップテーブル218は右側画像ストリーム212に関連づけることができる。これらのルックアップテーブル217,218は、各ステレオ画像215,216のひずみ補正用の情報を含むことができる。第1のひずみステレオ画像215と第1のルックアップテーブル217とから、第1のレクティフィケーション221によって第1のレクティフィケーション画像B1 223を求めることができる。第2のひずみステレオ画像216と第2のルックアップテーブル218とから、第2のレクティフィケーション222によって第2のレクティフィケーション画像B2 224を求めることができる。レクティフィケーションされたこれらの画像223,224に基づいてステレオ測定227を行うことができる。このステレオ測定結果に基づき、たとえば距離情報229を得ることができる。
【0042】
図2に、リアルタイムステレオ画像処理方法を概説する。左側カメラおよび右側カメラからのデータストリーム211,212は、まず計算ユニットによってレクティフィケーションされる221,222。次に、左右ステレオ画像対223,224の視差測定227を行う。この視差測定227によって、カメラ前方領域の特徴の3D計算を行うことができる。ここでは、レクティフィケーション方法を説明する。リアルタイム視差測定を行うためには、公知の手法を使用することができる。
【0043】
図2中では、この実施例にしたがって計算ソフトウェアで行うことができるステレオ測定の流れを示す。個々の処理ステップにおいて、較正によって求められた内因性パラメータおよび外因性パラメータを簡単に考慮し続けられるようにするためには、最適な処理を行うために画像データ215,216をまずはひずみ補正ないしはレクティフィケーションする221,222。その際には、幾何学的関係を簡単なピンホールカメラモデルによって記述することができる。ひずみ補正されたステレオ画像データ223,224がいわゆるステレオノーマルケースに相応する。次に、3D特徴の距離を検出するために視差測定227を行う。レクティフィケーション221,222によって、デジタル画像223,224の1つのロウで視差測定227を行うことができ、計算技術による変換が大幅に容易になる。
【0044】
さらに、リアルタイムでステレオビデオ画像のひずみ補正を行うためには、撮像イメージ215,216のクロックでひずみ補正221,222も処理しなければならない。というのも、このようなひずみ補正がリアルタイムアルゴリズムの基礎となるからであるが、このようにひずみ補正を行うことは困難である。計算ハードウェアで迅速なシーケンシャル処理を行うために、各画素ごとに該画素の実際位置(ひずみが生じた位置)と目標位置(ひずみ補正される位置)との間の変位ベクトルをルックアップテーブル(LUT)217,218の形態で予め計算し、メモリに格納することができる。ステレオカメラの場合、2つのLUT 217,218を予め計算しなければならない。LUT217,218はカメラ画像215,216のひずみ補正を行うための一般的な計算規則を記述し、差分成分のdxおよびdyを有する変位ベクトルを有する。
【0045】
図3に、たとえば図2に示したレクティフィケーションステップ221の基礎とすることができる画像レクティフィケーションの原理を示す。この画像レクティフィケーションでは、受信されたルックアップテーブルLUT 217を使用して、受信されたオリジナル画像215をひずみ補正画像223に変換することができる。この実施例では、ルックアップテーブル217は複数のエントリ331,332を有する。エントリ331,332をひずみ補正画像223の位置341,342に対応付けることができる。この実施例ではエントリ331は、画像がひずみ補正されるようにひずみ補正画像の位置341に配置される画素があるオリジナル画像215の位置を指す変位ベクトル351を有する。このことに相応してエントリ332は、画像がひずみ補正されるようにひずみ補正画像の位置342に配置される画素があるオリジナル画像215の位置を指す変位ベクトル352を有する。
【0046】
リアルタイムのステレオビデオひずみ補正を行う際には、処理を行うために2つの入力画像のデータストリームと2つのルックアップテーブルと2つの出力画像とを計算ユニットにおいて同時処理しなければならない。上記課題のリアルタイム処理で現在足枷となっているのは、入力画像とルックアップテーブルと出力画像とによって構成されるデータセットの転送である。640×480ピクセルの分解能を有するVGAステレオビデオ画像をピクセルあたり8ビットかつ25Hzで処理すると、画像データストリームは128Mbit/sとなる。レクティフィケーションのためのルックアップテーブルをメモリからたとえばFPGAベースの計算ユニットにパラレル読み出しするためには、同じようなデータレートが必要となる。このことにより、リアルタイム可能なステレオハードウェアが比較的高コストになる。
【0047】
これに対する択一的手段では、すなわちルックアップテーブルをたとえばFPGA計算ユニットに記憶すると、ルックアップテーブルのサイズに起因してFPGAにおけるメモリ使用量が大きくなり、より高コストのFPGAを使用しなければならなくなる。
【0048】
本発明はとりわけ、2つのルックアップテーブルのデータストリームを対象とする。画像データとは異なり、これらのルックアップテーブルの転送すべき内容は変わらず、データセットの大きな割合を占める。これらのルックアップテーブルの完全な転送を行う代わりに、ルックアップテーブルのデータ量を格段に縮小する符号化/復号化規則を使用する。ルックアップテーブルの符号化は、リアルタイム処理ではなく、予め1回行われる。それに対して復号化は、縮小されたデータ量のためにリアルタイムで行われる。
【0049】
ステレオレクティフィケーションは基本的に、入力画像のひずみおよび出力画像の生成である。ルックアップテーブルはひずみ発生の規則を含む。ステレオレクティフィケーションのルックアップテーブルは、レクティフィケーションされる画像の各ピクセル(x,y)ごとに変位ベクトル(dx,dy)を含む。この変位ベクトルは、入力画像のどのピクセル(x,y)から位置(x,y)のグレー値を取り出すべきかを決定する。
【0050】
この関係を表す式は以下の通りである:
=x+dx
=y+dy
【0051】
図4に、本発明の実施例による圧縮されたルックアップテーブルddx‐LUT 417を示す。この圧縮ルックアップテーブル417は複数のエントリ431,432を有する。この実施例では、左上のコーナに位置するエントリ431は、図3に示したルックアップテーブルに相応する原ベクトルを有する。しかし、エントリ432は原ベクトルを有さず、差分を有する。エントリ432に対応する現在のベクトルは、隣接位置の先行して計算されたベクトル431と、ddx‐LUTルックアップテーブル417中の現在のエントリ432とを加算して得られる。このようにして、複数のエントリ431,432から実際のベクトルを求めることにより、圧縮ルックアップテーブル417を復元することができる。実際のベクトルは、復元ルックアップテーブルに入力し、レクティフィケーションのために出力することができる。したがって、ルックアップテーブル417はエントリ432を除き、現在の変位ベクトルと、有利にはすでに求められた対応する隣接変位ベクトルとの差をそれぞれ定義する差分絶対値のみを有することができる。
【0052】
ルックアップテーブルは数学的には、変位ベクトル場を表現する。これは、通常は比較的平滑である。それゆえ本発明では、ルックアップテーブルのエントリを、隣接エントリとの相対的な差分として記述することができる。このようにして「差分LUT」417が得られる。以下では、このようなLUT 417を、dd‐LUT417と称する。図4に示しているように、実際の変位ベクトルは復号化によって、隣接位置のすでに先行して計算された変位ベクトルと、dd‐LUT 417の現在のエントリとを加算することによって算出される。その際には、以下の数式が適用される。
【0053】
dx(x,y)=dx(x−1,y)+ddx(x,y)
dy(x,y)=dy(x−1,y)+ddy(x,y)
dd‐LUT 417を形成することが符号化方法の最初のステップである。
【0054】
デジタル処理を行うためには、差分すなわちdd‐LUT 417中のエントリを離散化しなければならない。このような離散化により、差分すなわちエントリをさらに符号化することができる。すでに述べたように、変位ベクトル場の特性は比較的平滑であるから、dd‐LUT 417にはしばしばゼロエントリが現れることが多い。それゆえ、さらに圧縮するために長さ符号化が使用される。
【0055】
図5に、図4に一例として示したLUTのような差分LUT 417の長さ符号化の原理を示す。この実施例では、ルックアップテーブル417は最初の第1のエントリに、原ベクトルの値を有する。後続のエントリは、各エントリより先行するエントリとの差分を有する。したがって、第1のエントリ431の次のエントリ432は値"+1"を有する。この値は、この位置に対応する実際のベクトルが、先行する位置の実際のベクトル、ここでは左隣の位置の実際のベクトルに対して1だけ大きいことを意味する。次の2つのエントリの値は「0」である。この値は、これらの位置の実際のベクトルが、先行位置のベクトルと相違しないことを意味する。次のエントリの値は「−1」である。この値は、この位置に対応する実際のベクトルが、先行の実際のベクトルに対して1だけ小さいことを意味する。次の3つのエントリの値もまた「0」であり、さらに次のエントリの値は「+1」である。このような長さ(Lauflaenge)符号化を行うためには、長さ(Lauflaenge)エントリおよび差分変化エントリが使用され、第1の長さエントリの値は、最初の2つの「0」エントリに基づいて「2」となり、第2の長さエントリの値は、第2の3つの「0」エントリに基づいて「3」となるようにすることができる。したがって、このような符号化によって、「0」に等しくなくa=[2,3,・・・,・・・]となるエントリ間距離を有するベクトルが得られる。先行の実際のベクトルに対する実際のベクトルの絶対値変化分を示す差分変化エントリも同様に、1つのベクトルにまとめることができ、符号化によって、[+1,−1]によってb=[1,0,1・・・]となるベクトルbが得られる。この実施例では、符号化された相応のひずみ補正規則は、第1のエントリ431の変位ベクトルと、ベクトルaとベクトルbとを有する。これらの情報から、画像のひずみ補正を行うために相応のルックアップテーブルのすべてのエントリで変位ベクトルを求めることができる。
【0056】
図5に示した実施例では、ベクトルaに、0に等しくないdd‐LUTエントリの距離が記憶され、ベクトルbに、差分変化が正であるか負であるかの状態が記憶される。
【0057】
長さ符号化は、符号化方法の第2のステップである。
【0058】
復号化の計算規則は、符号化を逆に適用して実施される。
【0059】
図6に、本発明の実施例によるステレオビデオ画像処理の変化したデータフローを示す。最初の作業ステップでは、ルックアップテーブルを予め符号化することができる。符号化されてデータ量が縮小されたこのルックアップテーブルは、計算ソフトウェアへ転送される。本発明では、計算ハードウェアで実施可能なステレオ測定のフローに本発明の方法のステップを補足して拡張する。
【0060】
第1のカメラの較正に基づいて第1のルックアップテーブルLUT1 217を求め、第2のカメラの較正に基づいて第2のルックアップテーブルLUT2 218を求めることができる。これらのカメラは、ステレオビデオシステムの一部とすることができる。ルックアップテーブル217,218を符号化610することができ、これらのルックアップテーブル217,218を符号化610する際には、第1のルックアップテーブル217から第1の圧縮ルックアップテーブル617を符号化LUT1の形態で求めることができ、第2のルックアップテーブル218から第2の圧縮ルックアップテーブル618を符号化LUT2の形態で求めることができる。
【0061】
これらの圧縮ルックアップテーブルは、本発明の方法では第1のカメラ画像A1 215および第2のカメラ画像A2 216のレクティフィケーション、ひずみ補正に使用することができる。第1のカメラ画像215は左側画像ストリーム211によって受信され、第2のカメラ画像216は右側画像ストリーム212によって受信される。ステップ621において、第1の圧縮ルックアップテーブル617の復号化を行って第1の復号化ルックアップテーブルを形成することができる。この復号化ルックアップテーブルは第1のルックアップテーブル217に相応することができる。したがってこの復号化ルックアップテーブルは、画像215の複数のひずみ画素とひずみ補正画像223の複数のひずみ補正画素との対応関係を定義する複数の変位ベクトルを有する復元されたひずみ補正規則を有することができる。次に、復元された第1のルックアップテーブルを使用して第1のカメラ画像215のレクティフィケーションを行い、第1のひずみ補正画像B1 223を形成することができる。このことに相応して、ステップ622において第2の圧縮ルックアップテーブル618の復号化を行い、第2の復号化ルックアップテーブルを形成することができる。この第2の復号化ルックアップテーブルは第2のルックアップテーブル218に相応することができる。次に、復元された第2のルックアップテーブルを使用して第2のカメラ画像216のレクティフィケーションを行い、第2のひずみ補正画像B2 224を形成することができる。画像223,224に基づいてステレオ測定227を実施し、距離情報229を得ることができる。
【0062】
画像215,216に相応して後続の時点で受信される画像では、ルックアップテーブル617,618を受信するステップと、復号化およびレクティフィケーションを行うステップ621,622とを繰り返し実施して、後続のひずみ補正画像を形成することができる。このようにして連続的に各受信画像ごとに、対応するルックアップテーブルを受信することができる。
【0063】
図6に示した実施例では、カメラの較正とルックアップテーブル217,218の計算とが行われた後、まず最初に、該ルックアップテーブル217,218を計算ソフトウェアに効率的に記憶するために、ルックアップテーブル217,218の符号化610を行うことができる。このステップは、ステレオリアルタイム処理の前に行われる。
【0064】
リアルタイムで画像レクティフィケーションを行うためには、リアルタイムステレオビデオ処理中に画像レクティフィケーション621,622を行うことができ、この画像レクティフィケーション621,622では、圧縮ルックアップテーブルデータ617,618を連続的に復号化することができる。
【0065】
この実施例では、復号化を以下のように行うことができる。復号化は、ルックアップテーブルの符号化と同様に2つのステップで行うことができる。
【0066】
まず最初に、長さ符号化を復号化しなければならない。このことは、ハードウェアで論理回路によって非常に簡単に実施することができる。復号化された長さは、ベクトルからカウンタに蓄積される。
【0067】
第2のステップにおいて、ピクセル補正を行うための実際の変位ベクトルを計算する。その際には、ビデオクロックで長さを蓄積するためのカウンタを減分する。カウンタがゼロ位置に達した場合、この実際の変位ベクトルをベクトルbに入力されたビットエントリに相応して増分または減分する。次の長さエントリは、ベクトルaからカウンタに読み込まれる。
【0068】
論理回路とカウンタとメモリとを使用するこのような復号化方法をルックアップテーブルベクトルの実際値に転用することにより、上記の方法は特にFPGAまたはASICハードウェアに変換するのに適するようになる。
【0069】
択一的な実施例では、ルックアップテーブルの差分を符号化する代わりに、より高次の差分を符号化に使用することができる。2次の差分による符号化および復号化の計算規則は、以下の数式のようになる:
ddx(x,y)=2*dx(x,y)−dx(x−1,y)−dx(x+1,y)
ddy(x,y)=2*dy(x,y)−dy(x−1,y)−dy(x+1,y)
【0070】
別の実施例では、dd‐LUTの長さ符号化を省略するか、またはこの長さ符号化の代わりにデータ圧縮から公知の別の符号化手法を使用することができ、たとえばハフマン符号またはLZW手法を使用することができる。
【0071】
本発明の方法は、光学系の幾何学的ひずみのリアルタイム補正や単色ビデオシステムで使用することができ、たとえば監視カメラで使用することができる。
【0072】
図面に示し上述した実施例は、一例として選択しただけであり、種々の実施例を完全に、または個々の特徴ごとに相互に組み合わせることができる。また、1つの実施例に別の実施例の特徴を補足することもできる。また、本発明の方法のステップを繰り返して、かつ上記の順序と異なる順序で実施することもできる。
【符号の説明】
【0073】
101 左側画像
102 右側画像
pL,pR 画素
351,352 変位ベクトル
341,342 ひずみ補正された画素

【特許請求の範囲】
【請求項1】
カメラ画像をひずみ補正する方法において、
インタフェースを介して、ひずみが生じたカメラ画像(215,216)のひずみが生じた複数の画素を受信するステップと、
前記ひずみが生じたカメラ画像をひずみ補正するための圧縮されたひずみ補正規則(617,618)を準備するステップと、
前記ひずみ補正規則を復元するステップと、
前記ひずみ補正規則を使用して、ひずみが生じた前記複数の画素から、ひずみ補正後のカメラ画像(223,224)のひずみ補正される複数の画素を求めるステップ
とを有することを特徴とする方法。
【請求項2】
復元後の前記ひずみ補正規則は、ひずみが生じた前記複数の画素と前記ひずみ補正される画素(341,342)との対応関係を定義する変位ベクトル(351,352)を有する、請求項1記載の方法。
【請求項3】
圧縮された前記ひずみ補正規則(617,618)は複数の変位ベクトルエントリ(431,432)を有し、
前記ひずみ補正規則の復元時に、前記ひずみ補正される各画素(341,342)ごとに、前記複数の変位ベクトルエントリから前記変位ベクトル(351,352)を求める、請求項2記載の方法。
【請求項4】
次のひずみ補正される画素(342)に対応付けられた次の変位ベクトルエントリ(332)と、先行のひずみ補正される画素(341)に対応付けられた先行の変位ベクトル(351)とから、次の変位ベクトル(352)を求める、請求項3記載の方法。
【請求項5】
前記次の変位ベクトルエントリ(332)は、前記先行の変位ベクトル(351)との差分を定義する、請求項4記載の方法。
【請求項6】
圧縮された前記ひずみ補正規則は、複数の長さエントリ(a)と複数の差変化エントリ(b)とを有し、
次のひずみ補正される画素に割り当てられた長さエントリが第1の値を有する場合、該次のひずみ補正される画素の次の変位ベクトルは、先行のひずみ補正される画素の先行の変位ベクトルに相応し、
前記次のひずみ補正される画素に割り当てられた長さエントリが第2の値を有する場合、前記次の変位ベクトルを、前記先行の変位ベクトルと、該次のひずみ補正される画素に割り当てられた差変化エントリとから求める、請求項3記載の方法。
【請求項7】
リアルタイム方法となるように前記ステップを実施する、請求項1から6までのいずれか1項記載の方法。
【請求項8】
ステレオカメラ画像をひずみ補正する方法において、
・インタフェースを介して、ひずみが生じた第1のカメラ画像(215)のひずみが生じた複数の第1の画素と、ひずみが生じた第2のカメラ画像(216)のひずみが生じた複数の第2の画素とを受信するステップと、
・インタフェースを介して、前記第1のカメラ画像をひずみ補正するための圧縮された第1のひずみ補正規則(617)と、前記第2のカメラ画像をひずみ補正するための圧縮された第2のひずみ補正規則(618)とを設けるステップと、
・前記第1のひずみ補正規則と前記第2のひずみ補正規則とを復元するステップ(621,622)と、
・前記第1のひずみ補正規則を使用して、前記複数の第1の画素のうちひずみ補正される第1のカメラ画像(223)の複数の第1のひずみ補正される画素を決定し、前記第2のひずみ補正規則を使用して、前記第2の画素のうちひずみ補正される第2のカメラ画像(224)の複数の第2のひずみ補正される画素を決定するステップ
とを有することを特徴とする方法。
【請求項9】
カメラ画像をひずみ補正するためのルックアップテーブル(217,218)を圧縮する方法において、
・インタフェースを介して、ひずみが生じたカメラ画像(215)のひずみ画素とひずみ補正後のカメラ画像(223)のひずみ補正される画素との対応関係を定義する複数の変位ベクトル(351,352)を受信するステップと、
・前記複数の変位ベクトルのうち少なくとも2つの変位ベクトル間の変化をそれぞれ定義する複数の変位ベクトルエントリ(431,432)を決定するステップと、
・前記複数の変位ベクトルエントリを有する圧縮されたルックアップテーブル(617,618)を形成するステップ
とを有することを特徴とする方法。
【請求項10】
請求項1から9までのいずれか1項記載の方法のステップを実施するように構成されていることを特徴とする、制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−45059(P2011−45059A)
【公開日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願番号】特願2010−183109(P2010−183109)
【出願日】平成22年8月18日(2010.8.18)
【出願人】(390023711)ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング (2,908)
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
【Fターム(参考)】