(57)【要約】【課題】ノイズを軽減するとともに、鮮明な画像を取得すること。【解決手段】画像処理装置は、メモリ１３０と、メモリ１３０に接続されたプロセッサ１２０とを有する。プロセッサ１２０は、異なる２点から撮像された第１の画像及び第２の画像を取得し、取得された第１の画像の各画素に対応する第２の画像の画素を決定し、互いに対応すると決定された第１の画像及び第２の画像の画素と当該画素の周辺画素とに基づいて、第１の画像の画素に対応するフィルタ出力を求める。【選択図】図１
2014219795.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
前記メモリに接続されたプロセッサとを有し、
前記プロセッサは、
異なる２点から撮像された第１の画像及び第２の画像を取得し、
取得された前記第１の画像の各画素に対応する前記第２の画像の画素を決定し、
互いに対応すると決定された前記第１の画像及び前記第２の画像の画素と当該画素の周辺画素とに基づいて、前記第１の画像の画素に対応するフィルタ出力を求める
ことを特徴とする画像処理装置。
【請求項２】
前記プロセッサは、
過去に前記異なる２点から撮像された第３の画像及び第４の画像を取得し、
前記第１の画像の各画素に対応する前記第３の画像及び前記第４の画像の画素を決定し、
前記フィルタ出力を求める処理は、
互いに対応すると決定された前記第１の画像、前記第２の画像、前記第３の画像及び前記第４の画像の画素と当該画素の周辺画素とに基づいて、前記第１の画像の画素に対応するフィルタ出力を求める
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記フィルタ出力を求める処理は、
前記第１の画像及び前記第２の画像の画素に基づいて求められる前記第１の画像の画素の第１のフィルタ出力を取得し、
前記第１の画像及び前記第３の画像の画素に基づいて求められる前記第１の画像の画素の第２のフィルタ出力を取得し、
前記第１の画像と前記第２の画像の第１の類似度を算出し、
前記第１の画像と前記第３の画像の第２の類似度を算出し、
算出された前記第１の類似度及び前記第２の類似度に基づいて、前記第１のフィルタ出力の重み係数と、前記第２のフィルタ出力の重み係数とを決定し、
決定された重み係数によって前記第１のフィルタ出力及び前記第２のフィルタ出力を重み付けして合成する
ことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記プロセッサは、
前記第１の画像における画素値を変換することにより、前記第１の画像における画素値のヒストグラムと前記第２の画像における画素値のヒストグラムとを均一化し、
前記フィルタ出力を求める処理は、
画素値のヒストグラムが均一化された後の前記第１の画像及び前記第２の画像の画素に基づいて、前記第１の画像の画素に対応するフィルタ出力を求め、
求められたフィルタ出力に対して、前記均一化する処理における画素値の変換の逆変換を行う
ことを特徴とする請求項１〜３のいずれか一項に記載の画像処理装置。
【請求項５】
前記プロセッサは、
前記第１の画像における画素値の分散と、前記第２の画像における画素値の分散とを算出し、
前記フィルタ出力を求める処理は、
前記第１の画像及び前記第２の画像のうち、算出された画素値の分散が小さい方の画像の画素と当該画素の周辺画素とを重複して用いて前記第１の画像の画素に対応するフィルタ出力を求める
ことを特徴とする請求項１〜４のいずれか一項に記載の画像処理装置。
【請求項６】
前記フィルタ出力を求める処理は、
前記第１の画像の注目画素、当該注目画素の周辺画素、前記注目画素に対応する前記第２の画像の対応画素及び当該対応画素の周辺画素の画素値の中央値を前記注目画素のフィルタ出力とすることを特徴とする請求項１〜５のいずれか一項に記載の画像処理装置。
【請求項７】
前記フィルタ出力を求める処理は、
前記第１の画像の注目画素、当該注目画素の周辺画素、前記注目画素に対応する前記第２の画像の対応画素及び当該対応画素の周辺画素を前記注目画素及び前記対応画素からのユークリッド距離に応じて重み付けし、各画素の重み付けされた画素値の平均値を前記注目画素のフィルタ出力とすることを特徴とする請求項１〜５のいずれか一項に記載の画像処理装置。
【請求項８】
前記異なる２点から被写体までの距離を測定する第１のセンサと、
前記第１の画像及び前記第２の画像を撮像する撮像装置の撮像時における位置変動を検知する第２のセンサとをさらに有し、
前記プロセッサは、
前記第１のセンサ及び前記第２のセンサによるセンサ値に基づいて、前記第１の画像及び前記第２の画像の画素に基づいて前記第１の画像の画素に対応するフィルタ出力を算出するか、前記第１の画像及び前記第１の画像より前に撮像された画像の画素に基づいて前記第１の画像の画素に対応するフィルタ出力を算出するかを選択する
ことを特徴とする請求項１記載の画像処理装置。
【請求項９】
異なる２点から撮像された第１の画像及び第２の画像を取得する取得部と、
前記取得部によって取得された前記第１の画像の各画素に対応する前記第２の画像の画素を決定する決定部と、
前記決定部によって互いに対応すると決定された前記第１の画像及び前記第２の画像の画素と当該画素の周辺画素とに基づいて、前記第１の画像の画素に対応するフィルタ出力を求めるフィルタ処理部と
を有することを特徴とする画像処理回路。
【請求項１０】
異なる２点から撮像された第１の画像及び第２の画像を取得し、
取得された前記第１の画像の各画素に対応する前記第２の画像の画素を決定し、
互いに対応すると決定された前記第１の画像及び前記第２の画像の画素と当該画素の周辺画素とに基づいて、前記第１の画像の画素に対応するフィルタ出力を求める
ことを特徴とする画像処理方法。
【請求項１１】
コンピュータに、
異なる２点から撮像された第１の画像及び第２の画像を取得し、
取得された前記第１の画像の各画素に対応する前記第２の画像の画素を決定し、
互いに対応すると決定された前記第１の画像及び前記第２の画像の画素と当該画素の周辺画素とに基づいて、前記第１の画像の画素に対応するフィルタ出力を求める
処理を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理回路及び画像処理方法に関する。
【背景技術】
【０００２】
一般に、例えばデジタルカメラなどの撮像装置によって撮像する場合、暗所ではＩＳＯ感度が上がるため、撮像して得られた画像全体にノイズが現れることがある。これらのノイズは、被写体の照度が低く暗いほど大きくなる。また、ゲインを調節して被写体の明るさを補正すると、ノイズが強調されてしまう。このようなノイズは、例えば異なる２点から撮像された画像を用いて立体視可能なステレオ画像を作成する際の障害となり得るため、ノイズを適切に抑制する技術が求められている。
【０００３】
ノイズを抑制する技術としては、メディアンフィルタ及びガウシアンフィルタなどによるフィルタ処理が挙げられる。具体的には、例えば画像中の注目画素とその周辺画素との画素値の中央値や平均値などを注目画素のフィルタ出力とすることにより、特異な画素値を有する画素が消去されてノイズが抑制される。また、時系列でフレーム画像が撮像される動画像においては、直前のフレームと現在のフレームとの画質変化を利用した時間的フィルタなどが用いられることがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−３１８２５５号公報
【特許文献２】特開２００６−１７２２５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、個別の画像に対してフィルタ処理を施す場合には、注目画素のフィルタ出力を求める際に参照される周辺画素の数が十分ではなく、画像中の輪郭部分がぼやけてしまう。また、動画像において直前フレームと現在フレームとを用いたフィルタ処理を行う場合には、例えば直前フレームと現在フレームとで画像が大きく変化するシーンチェンジが発生していると、正確なフィルタ処理を行うことができない。結果として、このような時間的フィルタを用いる場合にも、画像中の輪郭部分がぼやけてしまうことがある。
【０００６】
このように、従来のフィルタ処理を用いた場合には、画像中のノイズを軽減することができるものの、フィルタ処理後の画像中の輪郭部分がぼやけてしまい、画像が不鮮明になってしまうという問題がある。
【０００７】
開示の技術は、かかる点に鑑みてなされたものであって、ノイズを軽減するとともに、鮮明な画像を取得することができる画像処理装置、画像処理回路及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願が開示する画像処理装置は、１つの態様において、メモリと、前記メモリに接続されたプロセッサとを有し、前記プロセッサは、異なる２点から撮像された第１の画像及び第２の画像を取得し、取得された前記第１の画像の各画素に対応する前記第２の画像の画素を決定し、互いに対応すると決定された前記第１の画像及び前記第２の画像の画素と当該画素の周辺画素とに基づいて、前記第１の画像の画素に対応するフィルタ出力を求める。
【発明の効果】
【０００９】
本願が開示する画像処理装置、画像処理回路及び画像処理方法の１つの態様によれば、ノイズを軽減するとともに、鮮明な画像を取得することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態１に係る画像処理装置の構成を示すブロック図である。
【図２】図２は、実施の形態１に係るプロセッサの機能を示すブロック図である。
【図３】図３は、実施の形態１に係る画像処理装置の動作を示すフロー図である。
【図４】図４は、実施の形態１に係るフィルタ処理の具体例を示す図である。
【図５】図５は、実施の形態１に係るフィルタ処理の他の具体例を示す図である。
【図６】図６は、実施の形態２に係るプロセッサの機能を示すブロック図である。
【図７】図７は、実施の形態２に係る画像処理装置の動作を示すフロー図である。
【図８】図８は、実施の形態２に係るフィルタ処理の具体例を示す図である。
【図９】図９は、実施の形態３に係るプロセッサの機能を示すブロック図である。
【図１０】図１０は、実施の形態３に係る重み係数の決定を説明する図である。
【図１１】図１１は、実施の形態３に係るフィルタ処理を示すフロー図である。
【図１２】図１２は、実施の形態４に係るプロセッサの機能を示すブロック図である。
【図１３】図１３は、実施の形態５に係るプロセッサの機能を示すブロック図である。
【図１４】図１４は、実施の形態５に係るフィルタ処理の具体例を示す図である。
【図１５】図１５は、実施の形態６に係る画像処理装置の構成を示すブロック図である。
【図１６】図１６は、実施の形態６に係るプロセッサの機能を示すブロック図である。
【図１７】図１７は、実施の形態６に係るフィルタ選択処理を示すフロー図である。
【発明を実施するための形態】
【００１１】
以下、本願が開示する画像処理装置、画像処理回路及び画像処理方法の実施の形態について、図面を参照して詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。
【００１２】
（実施の形態１）
図１は、実施の形態１に係る画像処理装置１００の構成を示すブロック図である。図１に示す画像処理装置１００は、左カメラ１１０Ｌ、右カメラ１１０Ｒ、プロセッサ１２０、メモリ１３０及びディスプレイ１４０を有する。
【００１３】
左カメラ１１０Ｌ及び右カメラ１１０Ｒは、それぞれ撮像素子を備え、同時に同一の方向に向かって撮像する。ここでは、便宜上、２つのカメラを左カメラ１１０Ｌ及び右カメラ１１０Ｒとしたが、これらのカメラは、要するに異なる位置に備えられた２つのカメラである。また、左カメラ１１０Ｌによって撮像されて得られた画像を以下では「左画像」といい、右カメラ１１０Ｒによって撮像されて得られた画像を以下では「右画像」という。
【００１４】
左カメラ１１０Ｌ及び右カメラ１１０Ｒは、互いに異なる位置に配置されているため、同時に同一の方向に向かって撮像した場合でも、左画像と右画像とでは同じ被写体の座標位置が異なっている。この座標位置の違いは、被写体に関する２つのカメラの視差量に対応しており、カメラから近い被写体ほど視差量が大きいため、画像上での座標位置の違いも大きい。
【００１５】
プロセッサ１２０は、プログラムを実行し、画像処理装置１００全体を制御する。具体的には、プロセッサ１２０は、左カメラ１１０Ｌ及び右カメラ１１０Ｒから左画像及び右画像を取得し、左画像及び右画像を用いたフィルタ処理を実行する。そして、プロセッサ１２０は、フィルタ処理後の左画像及び右画像から距離画像を生成し、生成された距離画像を用いて例えば着色などの所定の表示処理を実行し、得られた表示画像をディスプレイ１４０に表示させる。
【００１６】
ここで、距離画像とは、異なる２点からの視差量を画像化したものであり、距離画像の各画素には、輝度値の代わりに視差量が画素値として格納されている。距離画像を用いた表示処理により、立体視可能なステレオ画像を生成したり、様々な効果を有する画像を生成したりすることが可能となる。
【００１７】
なお、プロセッサ１２０の機能については、後に詳述する。また、プロセッサ１２０は、例えばＣＰＵ（Central  Processing  Unit）、ＤＳＰ（Digital  Signal  Processor）、ＦＰＧＡ（Field  Programmable  Gate  Array）又は画像処理回路などによって実現されても良い。
【００１８】
メモリ１３０は、例えばＲＡＭ（Random  Access  Memory）やＲＯＭ（Read  Only  Memory）を備え、プロセッサ１２０が実行するプログラム自体やプログラム実行時に使用されるデータなどを記憶する。
【００１９】
ディスプレイ１４０は、例えば液晶素子を備え、プロセッサ１２０から出力される表示画像を表示する。
【００２０】
図２は、実施の形態１に係るプロセッサ１２０の機能を示すブロック図である。図２に示すプロセッサ１２０は、撮像制御部１２１、左ブロックマッチング部１２２Ｌ、右ブロックマッチング部１２２Ｒ、フィルタ処理部１２３、距離画像生成部１２４及び表示制御部１２５を有する。
【００２１】
撮像制御部１２１は、左カメラ１１０Ｌ及び右カメラ１１０Ｒを制御し、それぞれ左画像及び右画像を取得させる。すなわち、撮像制御部１２１は、左カメラ１１０Ｌ及び右カメラ１１０Ｒに同時に撮像を実行させる。そして、撮像制御部１２１は、得られた左画像及び右画像を左カメラ１１０Ｌ及び右カメラ１１０Ｒから取得する。
【００２２】
左ブロックマッチング部１２２Ｌは、左画像を基準としたブロックマッチングを実行する。すなわち、左ブロックマッチング部１２２Ｌは、左画像の各画素に対応する画素をブロックマッチングにより右画像から探索する。具体的には、左ブロックマッチング部１２２Ｌは、例えば左画像の３×３画素のブロックをテンプレートに設定し、テンプレートを移動させながら右画像の３×３画素の各ブロックとの相関を算出する。そして、左ブロックマッチング部１２２Ｌは、テンプレートとの相関が最も高い右画像のブロックを検出すると、このブロックの中央の画素がテンプレートの中央の画素に対応する画素であると決定する。
【００２３】
左ブロックマッチング部１２２Ｌは、左画像の３×３画素のブロックを順次テンプレートに設定し、同様の処理を繰り返すことにより、左画像の各画素に対応する右画像の画素を決定する。そして、左ブロックマッチング部１２２Ｌは、左画像の各画素に対応する右画像の画素の情報をフィルタ処理部１２３へ出力する。
【００２４】
右ブロックマッチング部１２２Ｒは、右画像を基準としたブロックマッチングを実行する。すなわち、右ブロックマッチング部１２２Ｒは、右画像の各画素に対応する画素をブロックマッチングにより左画像から探索する。具体的には、右ブロックマッチング部１２２Ｒは、例えば右画像の３×３画素のブロックをテンプレートに設定し、テンプレートを移動させながら左画像の３×３画素の各ブロックとの相関を算出する。そして、右ブロックマッチング部１２２Ｒは、テンプレートとの相関が最も高い左画像のブロックを検出すると、このブロックの中央の画素がテンプレートの中央の画素に対応する画素であると決定する。
【００２５】
右ブロックマッチング部１２２Ｒは、右画像の３×３画素のブロックを順次テンプレートに設定し、同様の処理を繰り返すことにより、右画像の各画素に対応する左画像の画素を決定する。そして、右ブロックマッチング部１２２Ｒは、右画像の各画素に対応する左画像の画素の情報をフィルタ処理部１２３へ出力する。
【００２６】
なお、左ブロックマッチング部１２２Ｌ及び右ブロックマッチング部１２２Ｒは、必ずしも３×３画素のブロックを用いてブロックマッチングを実行する必要はない。すなわち、例えば５×５画素のブロックを用いてブロックマッチングを実行しても良い。このように、奇数×奇数画素のブロックを用いてブロックマッチングを実行することにより、ブロックの中央の画素同士を対応付けることができる。
【００２７】
フィルタ処理部１２３は、左画像の各画素に対応する右画像の画素の情報を用いて、左画像のフィルタ処理を実行する。すなわち、フィルタ処理部１２３は、左画像の各画素を順次注目画素とし、左画像における注目画素及びその周辺画素と右画像における注目画素に対応する画素及びその周辺画素とを使用して、注目画素のフィルタ出力を求める。このとき、フィルタ処理部１２３は、例えば使用される各画素の画素値の中央値や注目画素からのユークリッド距離に応じた重み付け平均値などを注目画素のフィルタ出力として求める。
【００２８】
また、フィルタ処理部１２３は、右画像の各画素に対応する左画像の画素の情報を用いて、右画像のフィルタ処理を実行する。すなわち、フィルタ処理部１２３は、右画像の各画素を順次注目画素とし、右画像における注目画素及びその周辺画素と左画像における注目画素に対応する画素及びその周辺画素とを使用して、注目画素のフィルタ出力を求める。そして、フィルタ処理部１２３は、フィルタ処理後の左画像及び右画像を距離画像生成部１２４へ出力する。
【００２９】
距離画像生成部１２４は、フィルタ処理部１２３から出力されたフィルタ処理後の左画像及び右画像を用いて距離画像を生成する。すなわち、距離画像生成部１２４は、フィルタ処理後の左画像及び右画像間でブロックマッチングを行い、対応するブロックの位置座標の差から視差量を求める。そして、距離画像生成部１２４は、各画像のブロック内の画素に視差量を画素値として格納することにより、距離画像を生成する。
【００３０】
表示制御部１２５は、距離画像生成部１２４によって生成された距離画像を用いて、例えば着色などの所定の表示処理を実行し、得られた表示画像をディスプレイ１４０へ出力する。
【００３１】
次いで、上記のように構成された画像処理装置１００の動作について、図３に示すフロー図を参照しながら説明する。
【００３２】
撮像制御部１２１によって左カメラ１１０Ｌ及び右カメラ１１０Ｒが制御され、同時に同方向に向かって撮像された左画像及び右画像が撮像制御部１２１によって取得される（ステップＳ１０１）。取得された左画像及び右画像は、左ブロックマッチング部１２２Ｌ及び右ブロックマッチング部１２２Ｒへ出力され、ブロックマッチングにより左右両画像の画素の対応関係が決定される。
【００３３】
具体的には、左ブロックマッチング部１２２Ｌによって、左画像のブロックをテンプレートとしたブロックマッチングが実行されることにより、左画像の各画素に対応する画素が右画像の中から決定される（ステップＳ１０２）。同様に、右ブロックマッチング部１２２Ｒによって、右画像のブロックをテンプレートとしたブロックマッチングが実行されることにより、右画像の各画素に対応する画素が左画像の中から決定される（ステップＳ１０３）。
【００３４】
こうして決定された左右両画像における対応画素の情報は、フィルタ処理部１２３へ出力される。そして、フィルタ処理部１２３によって、左画像及び右画像が用いられ、左画像のフィルタ処理が行われるとともに（ステップＳ１０４）、右画像のフィルタ処理が行われる（ステップＳ１０５）。
【００３５】
具体的には、フィルタ処理部１２３によって、左画像の各画素が順次注目画素に設定され、左画像における注目画素及びその周辺画素と右画像における注目画素に対応する画素及びその周辺画素とから、左画像の注目画素のフィルタ出力が求められる。同様に、フィルタ処理部１２３によって、右画像の各画素が順次注目画素に設定され、右画像における注目画素及びその周辺画素と左画像における注目画素に対応する画素及びその周辺画素とから、右画像の注目画素のフィルタ出力が求められる。
【００３６】
ここで、注目画素のフィルタ出力を求める方法には、例えばメディアンフィルタを用いる方法とガウシアンフィルタを用いる方法とがある。
【００３７】
図４は、メディアンフィルタを用いたフィルタ処理の具体例を示す図である。図４に示すように、注目画素とその周辺画素とからなる左画像のブロック１５１Ｌと、注目画素に対応する画素とその周辺画素とからなる右画像のブロック１５１Ｒとから注目画素のフィルタ出力を求める場合を考える。
【００３８】
図４上段に示すように、左画像のブロック１５１Ｌは、画素値が「１」である注目画素とその８近傍の画素とを有する。また、右画像のブロック１５１Ｒは、注目画素に対応し画素値が「１」である画素とその８近傍の画素とを有する。フィルタ処理部１２３は、図４中段に示すように、ブロック１５１Ｌ及びブロック１５１Ｒの画素の画素値を昇順で並べ替える。そして、フィルタ処理部１２３は、並べ替えた合計１８画素の画素値のうち中央値を注目画素のフィルタ出力とする。したがって、図４に示す例では、フィルタ処理部１２３は、図４下段に示すように、中央値である「２」を注目画素のフィルタ出力に決定する。
【００３９】
このように、左画像のブロック１５１Ｌ及び右画像のブロック１５１Ｒから画素値の中央値を求めて注目画素のフィルタ出力とすることにより、フィルタ処理に用いられる画素数が増加し、より確からしい画素値をフィルタ出力とすることができる。このため、フィルタ処理後の画像においても輪郭部分がぼやけることがなく、結果として、画像のノイズを軽減するとともに、鮮明な画像を取得することができる。
【００４０】
一方、図５は、ガウシアンフィルタを用いたフィルタ処理の具体例を示す図である。図５に示すように、注目画素とその周辺画素とからなる左画像のブロック１５２Ｌと、注目画素に対応する画素とその周辺画素とからなる右画像のブロック１５２Ｒとから注目画素のフィルタ出力を求める場合を考える。
【００４１】
図５上段に示すように、左画像のブロック１５２Ｌは、画素値が「１」である注目画素とその８近傍の画素とを有する。また、右画像のブロック１５２Ｒは、注目画素に対応し画素値が「１」である画素とその８近傍の画素とを有する。フィルタ処理部１２３は、図５中段に示すように、ブロック１５２Ｌ及びブロック１５２Ｒの画素の列を交互に並べる。すなわち、フィルタ処理部１２３は、左から順に、ブロック１５２Ｌの左列の画素、ブロック１５２Ｒの左列の画素、ブロック１５２Ｌの中央列の画素、ブロック１５２Ｒの中央列の画素、ブロック１５２Ｌの右列の画素、ブロック１５２Ｒの右列の画素の順で画素の列を並べる。そして、フィルタ処理部１２３は、並べた合計１８画素の中心に近い画素の画素値ほど大きい係数を乗じて算出された平均値を注目画素のフィルタ出力とする。したがって、図５に示す例では、フィルタ処理部１２３は、図５下段に示すように、重み付け平均値である「２」を注目画素のフィルタ出力に決定する。
【００４２】
このように、左画像のブロック１５２Ｌ及び右画像のブロック１５２Ｒから画素値の重み付け平均値を求めて注目画素のフィルタ出力とすることにより、フィルタ処理に用いられる画素数が増加し、より確からしい画素値をフィルタ出力とすることができる。このため、フィルタ処理後の画像においても輪郭部分がぼやけることがなく、結果として、画像のノイズを軽減するとともに、鮮明な画像を取得することができる。
【００４３】
なお、図４及び図５においては、３×３画素のブロックを用いたフィルタ処理を例示しているが、フィルタ処理に用いられるブロックのサイズは３×３画素に限定されず、例えば５×５画素や７×７画素などでも良い。また、ブロックは必ずしも正方形のブロックでなくても良く、例えば３×５画素や５×３画素の長方形のブロックを用いたフィルタ処理が行われても良い。
【００４４】
図３に戻り、フィルタ処理部１２３によってフィルタ処理された左画像及び右画像は、距離画像生成部１２４へ出力される。そして、距離画像生成部１２４によって、フィルタ処理後の左画像及び右画像から距離画像が生成される（ステップＳ１０６）。距離画像の生成に用いられる左画像及び右画像は、左右両画像を用いたフィルタ処理が施されているため、ノイズが抑制されるとともに輪郭部分が明瞭な画像となっている。結果として、距離画像生成部１２４によって生成される距離画像は、高精度な距離画像となる。
【００４５】
生成された距離画像は、表示制御部１２５へ出力され、表示制御部１２５によって、例えば着色などの所定の表示処理が実行されることにより、表示画像が生成される（ステップＳ１０７）。そして、生成された表示画像は、ディスプレイ１４０に表示される。
【００４６】
以上のように、本実施の形態によれば、左右両画像間で対応する画素が決定された後、左右両画像の対応する画素とその周辺画素とを含むブロックを用いたフィルタ処理が実行される。このため、個別の画像に対してフィルタ処理を実行するよりも参照される画素数が増えて情報量が増加し、フィルタ処理後の画像の輪郭部分がぼやけることがない。したがって、ノイズを軽減するとともに、鮮明な画像を取得することができる。
【００４７】
（実施の形態２）
実施の形態２では、時系列で連続するフレームそれぞれの画像からなる動画像のフィルタ処理が実行される場合に、現在のフレームの左右両画像に加えて過去のフレームの左右両画像を用いたフィルタ処理が実行される。
【００４８】
本実施の形態に係る画像処理装置の構成は、実施の形態１の画像処理装置（図１）と同様であるため、その説明を省略する。本実施の形態においては、プロセッサ１２０の機能が実施の形態１とは異なっている。
【００４９】
図６は、実施の形態２に係るプロセッサ１２０の機能を示すブロック図である。図６において、図２と同じ部分には同じ符号を付し、その説明を省略する。図６に示すプロセッサ１２０は、図２に示す左ブロックマッチング部１２２Ｌ、右ブロックマッチング部１２２Ｒ及びフィルタ処理部１２３に代えて、左ブロックマッチング部２０１Ｌ、右ブロックマッチング部２０１Ｒ及びフィルタ処理部２０２を有する。
【００５０】
左ブロックマッチング部２０１Ｌは、現在のフレームの左画像を基準としたブロックマッチングを実行する。すなわち、左ブロックマッチング部２０１Ｌは、現在のフレームの左画像の各画素に対応する画素をブロックマッチングにより現在のフレームの右画像から探索する。また、左ブロックマッチング部２０１Ｌは、現在のフレームの左画像の各画素に対応する画素をブロックマッチングにより過去のフレームの左右両画像から探索する。具体的には、左ブロックマッチング部２０１Ｌは、例えば現在のフレームの左画像の３×３画素のブロックをテンプレートに設定し、テンプレートを移動させながら現在のフレームの右画像及び過去のフレームの左右両画像の各ブロックとの相関を算出する。そして、左ブロックマッチング部２０１Ｌは、テンプレートとの相関が最も高い各画像のブロックを検出すると、これらのブロックの中央の画素がテンプレートの中央の画素に対応する画素であると決定する。
【００５１】
左ブロックマッチング部２０１Ｌは、現在のフレームの左画像の３×３画素のブロックを順次テンプレートに設定し、同様の処理を繰り返すことにより、現在のフレームの左画像の各画素に対応する画素を決定する。そして、左ブロックマッチング部２０１Ｌは、現在のフレームの左画像の各画素に対応する画素の情報をフィルタ処理部２０２へ出力する。
【００５２】
右ブロックマッチング部２０１Ｒは、現在のフレームの右画像を基準としたブロックマッチングを実行する。すなわち、右ブロックマッチング部２０１Ｒは、現在のフレームの右画像の各画素に対応する画素をブロックマッチングにより現在のフレームの左画像から探索する。また、右ブロックマッチング部２０１Ｒは、現在のフレームの右画像の各画素に対応する画素をブロックマッチングにより過去のフレームの左右両画像から探索する。具体的には、右ブロックマッチング部２０１Ｒは、例えば現在のフレームの右画像の３×３画素のブロックをテンプレートに設定し、テンプレートを移動させながら現在のフレームの左画像及び過去のフレームの左右両画像の各ブロックとの相関を算出する。そして、右ブロックマッチング部２０１Ｒは、テンプレートとの相関が最も高い各画像のブロックを検出すると、これらのブロックの中央の画素がテンプレートの中央の画素に対応する画素であると決定する。
【００５３】
右ブロックマッチング部２０１Ｒは、現在のフレームの右画像の３×３画素のブロックを順次テンプレートに設定し、同様の処理を繰り返すことにより、現在のフレームの右画像の各画素に対応する画素を決定する。そして、右ブロックマッチング部２０１Ｒは、現在のフレームの右画像の各画素に対応する画素の情報をフィルタ処理部２０２へ出力する。
【００５４】
なお、左ブロックマッチング部２０１Ｌ及び右ブロックマッチング部２０１Ｒには、メモリ１３０から過去のフレームの左右両画像が入力される。この過去のフレームとは、例えば現在のフレームの直前のフレームであり、現在のフレームの左右両画像が取得された時点よりも過去であって所定時間以内に取得された左右両画像が左ブロックマッチング部２０１Ｌ及び右ブロックマッチング部２０１Ｒに入力される。
【００５５】
フィルタ処理部２０２は、現在のフレームの左画像の各画素に対応する画素の情報を用いて、現在のフレームの左画像のフィルタ処理を実行する。すなわち、フィルタ処理部２０２は、現在のフレームの左画像の各画素を順次注目画素とし、注目画素及びその周辺画素と注目画素に対応する画素及びその周辺画素とを使用して、注目画素のフィルタ出力を求める。このとき、フィルタ処理部２０２は、例えば使用される各画素の画素値の中央値や注目画素からのユークリッド距離に応じた重み付け平均値などを注目画素のフィルタ出力として求める。
【００５６】
また、フィルタ処理部２０２は、現在のフレームの右画像の各画素に対応する画素の情報を用いて、現在のフレームの右画像のフィルタ処理を実行する。すなわち、フィルタ処理部２０２は、現在のフレームの右画像の各画素を順次注目画素とし、注目画素及びその周辺画素と注目画素に対応する画素及びその周辺画素とを使用して、注目画素のフィルタ出力を求める。そして、フィルタ処理部２０２は、フィルタ処理後の現在のフレームの左画像及び右画像を距離画像生成部１２４へ出力する。
【００５７】
次いで、上記のように構成された画像処理装置１００の動作について、図７に示すフロー図を参照しながら説明する。図７において、図３と同じ部分には同じ符号を付し、その詳しい説明を省略する。
【００５８】
撮像制御部１２１によって左カメラ１１０Ｌ及び右カメラ１１０Ｒが制御され、同時に同方向に向かって撮像された左画像及び右画像が撮像制御部１２１によって取得される（ステップＳ１０１）。取得された左画像及び右画像は、左ブロックマッチング部２０１Ｌ及び右ブロックマッチング部２０１Ｒへ出力され、ブロックマッチングにより左右両画像の画素の対応関係が決定される。
【００５９】
具体的には、左ブロックマッチング部２０１Ｌによって、左画像のブロックをテンプレートとしたブロックマッチングが実行されることにより、左画像の各画素に対応する画素が右画像及び過去のフレームの左右両画像の中から決定される（ステップＳ２０１）。同様に、右ブロックマッチング部２０１Ｒによって、右画像のブロックをテンプレートとしたブロックマッチングが実行されることにより、右画像の各画素に対応する画素が左画像及び過去のフレームの左右両画像の中から決定される（ステップＳ２０２）。
【００６０】
こうして決定された現在のフレーム及び過去のフレームの左右両画像における対応画素の情報は、フィルタ処理部２０２へ出力される。そして、フィルタ処理部２０２によって、現在のフレーム及び過去のフレームの左画像及び右画像が用いられ、現在のフレームの左画像のフィルタ処理が行われるとともに（ステップＳ２０３）、現在のフレームの右画像のフィルタ処理が行われる（ステップＳ２０４）。
【００６１】
具体的には、フィルタ処理部２０２によって、現在のフレームの左画像の各画素が順次注目画素に設定され、注目画素及びその周辺画素と注目画素に対応する他の画像中の画素及びその周辺画素とから、注目画素のフィルタ出力が求められる。同様に、フィルタ処理部２０２によって、現在のフレームの右画像の各画素が順次注目画素に設定され、注目画素及びその周辺画素と注目画素に対応する他の画像中の画素及びその周辺画素とから、注目画素のフィルタ出力が求められる。
【００６２】
ここで、注目画素のフィルタ出力を求める方法の具体例について、図８を参照して説明する。図８に示すように、現在のフレームの左画像のブロック２５１Ｌと、現在のフレームの右画像のブロック２５１Ｒと、過去のフレームの左画像のブロック２５２Ｌと、過去のフレームの右画像のブロック２５２Ｒとから注目画素のフィルタ出力を求める場合を考える。ここでは、現在のフレームの左画像のブロック２５１Ｌの中央の画素が注目画素であるものとする。
【００６３】
図８上段に示すように、現在のフレームの左画像のブロック２５１Ｌは、画素値が「１」である注目画素とその８近傍の画素とを有する。また、現在のフレームの右画像のブロック２５１Ｒは、注目画素に対応し画素値が「１」である画素とその８近傍の画素とを有する。同様に、過去のフレームのブロック２５２Ｌ及びブロック２５２Ｒは、注目画素に対応し画素値が「１」である画素とその８近傍の画素とを有する。フィルタ処理部２０２は、図８中段に示すように、ブロック２５１Ｌ、ブロック２５１Ｒ、ブロック２５２Ｌ及びブロック２５２Ｒの画素の画素値を昇順で並べ替える。そして、フィルタ処理部２０２は、並べ替えた合計３６画素の画素値のうち中央値を注目画素のフィルタ出力とする。したがって、図８に示す例では、フィルタ処理部２０２は、図８下段に示すように、中央値である「２」を注目画素のフィルタ出力に決定する。
【００６４】
このように、現在及び過去のフレームのブロック２５１Ｌ、２５１Ｒ、２５２Ｌ、２５２Ｒから画素値の中央値を求めて注目画素のフィルタ出力とすることにより、フィルタ処理に用いられる画素数が増加し、より確からしい画素値をフィルタ出力とすることができる。このため、フィルタ処理後の画像においても輪郭部分がぼやけることがなく、結果として、画像のノイズを軽減するとともに、鮮明な画像を取得することができる。
【００６５】
図７に戻り、フィルタ処理部２０２によってフィルタ処理された現在のフレームの左画像及び右画像は、距離画像生成部１２４へ出力される。そして、距離画像生成部１２４によって距離画像が生成され（ステップＳ１０６）、表示制御部１２５によって例えば着色などの所定の表示処理が実行されることにより、表示画像が生成される（ステップＳ１０７）。そして、生成された表示画像は、ディスプレイ１４０に表示される。
【００６６】
以上のように、本実施の形態によれば、現在及び過去のフレームの左右両画像間で対応する画素が決定された後、各画像の対応する画素とその周辺画素とを含むブロックを用いたフィルタ処理が実行される。このため、個別の画像に対してフィルタ処理を実行する場合や従来の時間的フィルタによるフィルタ処理を実行する場合よりも参照される画素数が増えて情報量が増加し、フィルタ処理後の画像の輪郭部分がぼやけることがない。したがって、動画像の各フレームの画像におけるノイズを軽減するとともに、各フレームにおいて鮮明な画像を取得することができる。
【００６７】
（実施の形態３）
実施の形態３では、左右両画像間の類似度と現在及び過去のフレームの画像間の類似度とに基づいて、空間的フィルタ及び時間的フィルタの重み係数が決定され、空間的フィルタの出力と時間的フィルタの出力とが合成される。
【００６８】
本実施の形態に係る画像処理装置の構成は、実施の形態１の画像処理装置（図１）と同様であるため、その説明を省略する。本実施の形態においては、プロセッサ１２０の機能が実施の形態１とは異なっている。
【００６９】
図９は、実施の形態３に係るプロセッサ１２０の機能を示すブロック図である。図９において、図２と同じ部分には同じ符号を付し、その説明を省略する。図９に示すプロセッサ１２０は、図２に示す左ブロックマッチング部１２２Ｌ、右ブロックマッチング部１２２Ｒ及びフィルタ処理部１２３に代えて、左ブロックマッチング部３０２Ｌ、右ブロックマッチング部３０２Ｒ及びフィルタ処理部３０４を有する。さらに、図９に示すプロセッサ１２０においては、図２に示すプロセッサ１２０に類似度算出部３０１及び重み係数決定部３０３が追加されている。
【００７０】
類似度算出部３０１は、現在のフレームの左画像と右画像の類似度を算出する。また、類似度算出部３０１は、現在のフレームの左画像と過去のフレームの左画像との類似度を算出し、現在のフレームの右画像と過去のフレームの右画像との類似度を算出する。具体的には、類似度算出部３０１は、例えば各画像間においてＳＡＤ（Sum  of  Absolute  Difference：差分絶対値和）を算出する。ＳＡＤは、対応する画素間の画素値の差分の絶対値を合計した値であるため、ＳＡＤが小さいほど２画像が類似していることになる。
【００７１】
左ブロックマッチング部３０２Ｌは、現在のフレームの左画像を基準としたブロックマッチングを実行する。すなわち、左ブロックマッチング部３０２Ｌは、現在のフレームの左画像の各画素に対応する画素をブロックマッチングにより現在のフレームの右画像から探索する。また、左ブロックマッチング部３０２Ｌは、現在のフレームの左画像の各画素に対応する画素をブロックマッチングにより過去のフレームの左画像から探索する。具体的には、左ブロックマッチング部３０２Ｌは、例えば現在のフレームの左画像の３×３画素のブロックをテンプレートに設定し、テンプレートを移動させながら現在のフレームの右画像及び過去のフレームの左画像の各ブロックとの相関を算出する。そして、左ブロックマッチング部３０２Ｌは、テンプレートとの相関が最も高い各画像のブロックを検出すると、これらのブロックの中央の画素がテンプレートの中央の画素に対応する画素であると決定する。
【００７２】
左ブロックマッチング部３０２Ｌは、現在のフレームの左画像の３×３画素のブロックを順次テンプレートに設定し、同様の処理を繰り返すことにより、現在のフレームの左画像の各画素に対応する画素を決定する。そして、左ブロックマッチング部３０２Ｌは、現在のフレームの左画像の各画素に対応する画素の情報をフィルタ処理部３０４へ出力する。
【００７３】
右ブロックマッチング部３０２Ｒは、現在のフレームの右画像を基準としたブロックマッチングを実行する。すなわち、右ブロックマッチング部３０２Ｒは、現在のフレームの右画像の各画素に対応する画素をブロックマッチングにより現在のフレームの左画像から探索する。また、右ブロックマッチング部３０２Ｒは、現在のフレームの右画像の各画素に対応する画素をブロックマッチングにより過去のフレームの右画像から探索する。具体的には、右ブロックマッチング部３０２Ｒは、例えば現在のフレームの右画像の３×３画素のブロックをテンプレートに設定し、テンプレートを移動させながら現在のフレームの左画像及び過去のフレームの右画像の各ブロックとの相関を算出する。そして、右ブロックマッチング部３０２Ｒは、テンプレートとの相関が最も高い各画像のブロックを検出すると、これらのブロックの中央の画素がテンプレートの中央の画素に対応する画素であると決定する。
【００７４】
右ブロックマッチング部３０２Ｒは、現在のフレームの右画像の３×３画素のブロックを順次テンプレートに設定し、同様の処理を繰り返すことにより、現在のフレームの右画像の各画素に対応する画素を決定する。そして、右ブロックマッチング部３０２Ｒは、現在のフレームの右画像の各画素に対応する画素の情報をフィルタ処理部３０４へ出力する。
【００７５】
重み係数決定部３０３は、類似度算出部３０１によって算出された各画像間の類似度に基づいて、空間的フィルタ及び時間的フィルタの重み係数を決定する。このとき、重み係数決定部３０３は、各画像間のＳＡＤに基づいて、左右両画像が類似していれば空間的フィルタの重み係数を大きくし、現在及び過去のフレームの画像が類似していれば時間的フィルタの重み係数を大きくする。
具体的には、重み係数決定部３０３は、以下の式（１）により、判別値Ｄを算出する。
Ｄ＝min｛SADT／THT,  1｝−min｛SADS／THS,  1｝  …（１）
【００７６】
式（１）において、min｛a,  b｝はａ及びｂのうち小さい方の値を示し、ＳＡＤTは現在及び過去のフレームの画像間のＳＡＤを示し、ＳＡＤSは現在のフレームの左右両画像間のＳＡＤを示す。また、ＴＨT及びＴＨSは、それぞれ画像が類似していないと判断可能な所定の閾値を示す。すなわち、例えばＳＡＤTがＴＨT以上であれば、現在及び過去のフレームの画像が類似していないと判断可能である。
【００７７】
判別値Ｄは、−１から＋１の間の値を取るが、例えば、現在及び過去のフレームの画像が類似しており、現在のフレームの左右両画像が類似していない場合には、−１に近い値を取る。反対に、判別値Ｄは、現在及び過去のフレームの画像が類似しておらず、現在のフレームの左右両画像が類似している場合には、＋１に近い値を取る。
【００７８】
重み係数決定部３０３は、判別値Ｄを算出した後、判別値Ｄについて単調減少する関数から、時間的フィルタの重み係数を決定する。具体的には、重み係数決定部３０３は、例えば図１０に示す判別値Ｄの関数に基づいて、判別値Ｄに対応する時間的フィルタの重み係数ＲTを決定する。そして、重み係数決定部３０３は、空間的フィルタの重み係数を（１−ＲT）に決定する。
【００７９】
このように重み係数を決定することにより、例えば現在及び過去のフレームの画像が完全に一致しており、現在のフレームの左右両画像が類似していない場合は、判別値Ｄが−１となり、重み係数ＲTが１となる。換言すれば、時間的フィルタの重み係数が１となり、空間的フィルタの重み係数が０となる。したがって、相関が低い画像を用いた空間的フィルタの重みが相対的に小さくなり、フィルタ処理の精度を向上することができる。
【００８０】
フィルタ処理部３０４は、現在のフレームの左画像の各画素に対応する画素の情報を用いて、現在のフレームの左画像の空間的フィルタ処理及び時間的フィルタ処理を実行する。すなわち、フィルタ処理部３０４は、現在のフレームの左画像の各画素を順次注目画素とし、注目画素及びその周辺画素と現在のフレームの右画像において注目画素に対応する画素及びその周辺画素とを使用して、空間的フィルタ処理を実行する。また、フィルタ処理部３０４は、現在のフレームの左画像の各画素を順次注目画素とし、注目画素及びその周辺画素と過去のフレームの左画像において注目画素に対応する画素及びその周辺画素とを使用して、時間的フィルタ処理を実行する。空間的フィルタ処理及び時間的フィルタ処理のいずれにおいても、フィルタ処理部３０４は、例えば使用される各画素の画素値の中央値や注目画素からのユークリッド距離に応じた重み付け平均値などを注目画素のフィルタ出力として求める。
【００８１】
また、フィルタ処理部３０４は、現在のフレームの右画像の各画素に対応する画素の情報を用いて、現在のフレームの右画像の空間的フィルタ処理及び時間的フィルタ処理を実行する。すなわち、フィルタ処理部３０４は、現在のフレームの右画像の各画素を順次注目画素とし、注目画素及びその周辺画素と現在のフレームの左画像において注目画素に対応する画素及びその周辺画素とを使用して、空間的フィルタ処理を実行する。また、フィルタ処理部３０４は、現在のフレームの右画像の各画素を順次注目画素とし、注目画素及びその周辺画素と過去のフレームの右画像において注目画素に対応する画素及びその周辺画素とを使用して、時間的フィルタ処理を実行する。
【００８２】
さらに、フィルタ処理部３０４は、重み係数決定部３０３によって決定された重み係数をそれぞれ空間的フィルタ出力及び時間的フィルタ出力に乗算して和を算出することにより、空間的フィルタ出力及び時間的フィルタ出力を合成する。すなわち、フィルタ処理部３０４は、重み係数ＲTを時間的フィルタ出力に乗算し、重み係数（１−ＲT）を空間的フィルタ出力に乗算し、それぞれの乗算結果を加算して最終的なフィルタ出力を得る。
【００８３】
次いで、上記のように構成された画像処理装置１００におけるフィルタ処理について、図１１に示すフロー図を参照しながら説明する。
【００８４】
現在のフレームの左画像及び右画像が撮像制御部１２１によって取得されると、これらの画像は、類似度算出部３０１へ入力される。また、メモリ１３０に記憶された過去のフレームの左画像及び右画像も類似度算出部３０１へ入力される。そして、類似度算出部３０１によって、現在のフレームの左右両画像間の類似度が算出される（ステップＳ３０１）。また、類似度算出部３０１によって、現在及び過去のフレームの左画像間の類似度及び右画像間の類似度が算出される（ステップＳ３０２）。すなわち、類似度算出部３０１によって、各画像の組み合わせにおけるＳＡＤが算出される。
【００８５】
算出されたＳＡＤは、重み係数決定部３０３へ出力される。そして、重み係数決定部３０３によって、各画像の組み合わせにおけるＳＡＤから空間的フィルタ及び時間的フィルタの重み係数が決定される（ステップＳ３０３）。具体的には、現在のフレームの左右両画像間のＳＡＤSと、現在及び過去のフレームの画像間のＳＡＤTとから、上記式（１）によって判別値Ｄが算出される。そして、判別値Ｄと時間的フィルタの重み係数ＲTとに関する関数が用いられることにより、判別値Ｄから時間的フィルタの重み係数ＲT及び空間的フィルタの重み係数（１−ＲT）が決定される。決定された重み係数は、フィルタ処理部３０４へ入力される。
【００８６】
一方、現在及び過去のフレームの左右両画像が左ブロックマッチング部３０２Ｌ及び右ブロックマッチング部３０２Ｒへ入力され、ブロックマッチングにより画像間の対応する画素が決定される。そして、フィルタ処理部３０４によって、現在のフレームの左右両画像を用いた空間的フィルタ処理が実行される（ステップＳ３０４）。また、空間的フィルタ処理と並行して、フィルタ処理部３０４によって、現在及び過去のフレームの左画像を用いた時間的フィルタ処理と、現在及び過去のフレームの右画像を用いた時間的フィルタ処理とが実行される（ステップＳ３０５）。
【００８７】
そして、現在のフレームの左画像を基準とした時間的フィルタ出力及び空間的フィルタ出力にそれぞれ重み係数ＲT及び重み係数（１−ＲT）が乗算され、乗算結果が加算されることにより、左画像に関する最終的なフィルタ出力が算出される。同様に、現在のフレームの右画像を基準とした時間的フィルタ出力及び空間的フィルタ出力にそれぞれ重み係数ＲT及び重み係数（１−ＲT）が乗算され、乗算結果が加算されることにより、右画像に関する最終的なフィルタ出力が算出される（ステップＳ３０６）。このようなフィルタ出力は、現在のフレームの左画像及び右画像の各画素について算出され、本実施の形態に係るフィルタ処理が施された現在のフレームの左画像及び右画像が得られる。
【００８８】
以上のように、本実施の形態によれば、現在のフレームの左右両画像を用いた空間的フィルタ出力と、現在及び過去のフレームの画像を用いた時間的フィルタ出力とが画像間の類似度に応じた重み係数が乗算された上で合成される。このため、フィルタ処理の際に参照される画素数を増やして情報量を増加させるとともに、類似度が高い画像から得られる情報の重みを大きくし、信頼度が高いフィルタ処理を実現することができる。
【００８９】
（実施の形態４）
実施の形態４では、撮像されて得られた左画像及び右画像それぞれにおける画素値のヒストグラムを均一化した上で、左右両画像を用いたフィルタ処理が実行される。
【００９０】
本実施の形態に係る画像処理装置の構成は、実施の形態１の画像処理装置（図１）と同様であるため、その説明を省略する。本実施の形態においては、プロセッサ１２０の機能が実施の形態１とは異なっている。
【００９１】
図１２は、実施の形態４に係るプロセッサ１２０の機能を示すブロック図である。図１２において、図２と同じ部分には同じ符号を付し、その説明を省略する。図１２に示すプロセッサ１２０においては、図２に示すプロセッサ１２０に均一化処理部４０１及び逆変換部４０２が追加されている。
【００９２】
均一化処理部４０１は、左画像の画素値のヒストグラムと右画像の画素値のヒストグラムとを均一化し、２つのヒストグラムにおける度数分布を揃える。すなわち、均一化処理部４０１は、ヒストグラムの形状を保ったまま各画像の画素値を変換して、左画像の画素値のヒストグラムと右画像の画素値のヒストグラムとのレンジなどを統一する。
【００９３】
具体的には、均一化処理部４０１は、例えば以下の式（２）により各画素値を変換する。
O(x)＝int（｛（ΣI(x)−IL）／S｝・（Id−１）／（１−IL／S））  …（２）
【００９４】
上記式（２）は、変換前の画素値ｘと変換後の画素値Ｏ(x)との関係を示している。式（２）において、int（a）は実数ａを四捨五入して得られる整数を示し、Ｉ(x)は画像内の画素値ｘの画素数を示し、ＩLは画像内の最小画素値の画素数を示す。したがって、ΣI(x)は、画素値が０からｘまでの画素数の合計を示している。また、Ｓは画像の全画素数を示し、Ｉdは画像の階調数を示す。したがって、例えば２５６階調の８００×６００画素の画像であれば、Ｓが４８００００となり、Ｉdが２５６となる。
【００９５】
式（２）によって画素値を変換することにより、変換後の画像の画素値の累積度数分布は、傾きが正の一次関数となる。このため、均一化処理部４０１は、式（２）を用いて左画像及び右画像の画素値を変換することにより、左画像及び右画像のヒストグラムを均一化することができる。
【００９６】
逆変換部４０２は、フィルタ処理部１２３によってフィルタ処理が施された左画像及び右画像に対し、均一化処理部４０１における画素値変換の逆変換を行う。すなわち、逆変換部４０２は、均一化処理部４０１によって均一化された左画像及び右画像のヒストグラムを元のヒストグラムに戻す変換を行う。
【００９７】
本実施の形態においては、左画像及び右画像のヒストグラムを均一化した上でフィルタ処理を実行する。すなわち、フィルタ処理の前処理として、画素値の変換により左画像及び右画像のヒストグラムを均一化し、フィルタ処理の後処理として、ヒストグラム均一化の際の画素値変換の逆変換をする。本実施の形態に係るフィルタ処理自体は、実施の形態１のフィルタ処理と同様である。
【００９８】
左画像及び右画像は、それぞれ左カメラ１１０Ｌ及び右カメラ１１０Ｒによって撮像されて得られるため、カメラの特性の違いによって、同程度の明るさの部分の画素の画素値が左画像と右画像では異なることがある。このため、左カメラ１１０Ｌ及び右カメラ１１０Ｒによって取得された左右両画像をそのまま用いてフィルタ処理を実行すると、フィルタ処理の精度が低いことが考えられる。そこで、本実施の形態においては、左画像及び右画像の画素のヒストグラムを均一化した上で、フィルタ処理を実行する。これにより、フィルタ処理の精度を向上することができる。また、フィルタ処理後は、均一化されたヒストグラムを元に戻す逆変換が行われるため、ヒストグラムの均一化が距離画像生成部１２４によって生成される距離画像に影響を与えることはない。
【００９９】
以上のように、本実施の形態によれば、左画像及び右画像の画素値のヒストグラムを均一化した上で左右両画像を用いたフィルタ処理が実行される。このため、フィルタ処理の精度を向上し、より正確に画像中のノイズを軽減することができる。
【０１００】
なお、本実施の形態に係る均一化処理部４０１は、上記式（２）によって画素値を変換することによりヒストグラムを均一化することとしたが、他の方法によってヒストグラムを均一化しても良い。例えば、均一化処理部４０１は、左画像及び右画像それぞれの画素値の平均値を算出し、平均値の差分をオフセットとして一方の画像の画素値に一律に加算又は減算しても良い。すなわち、均一化処理部４０１は、左画像及び右画像の画素値の平均値を一致させ、ヒストグラムを均一化しても良い。こうすることにより、簡易な処理でヒストグラムを均一化することができる。
【０１０１】
（実施の形態５）
実施の形態５では、左画像及び右画像それぞれの画素値の分散が求められ、分散が小さい画像の画素を重複して用いたフィルタ処理が実行される。
【０１０２】
本実施の形態に係る画像処理装置の構成は、実施の形態１の画像処理装置（図１）と同様であるため、その説明を省略する。本実施の形態においては、プロセッサ１２０の機能が実施の形態１とは異なっている。
【０１０３】
図１３は、実施の形態５に係るプロセッサ１２０の機能を示すブロック図である。図１３において、図２と同じ部分には同じ符号を付し、その説明を省略する。図１３に示すプロセッサ１２０においては、図２に示すプロセッサ１２０に分散算出部５０１が追加され、フィルタ処理部１２３がフィルタ処理部５０２に変更されている。
【０１０４】
分散算出部５０１は、左画像及び右画像それぞれの画素値の分散を算出する。そして、分散算出部５０１は、算出した左画像の分散と右画像の分散とを大小比較し、分散が小さい画像をフィルタ処理部５０２へ通知する。ここで、画素値の分散が小さければ、画像内に特異な画素値を有する画素が少ないと考えられるため、分散が小さい画像は、よりノイズが少ない画像と推測することができる。このため、分散算出部５０１は、左画像及び右画像のうち、よりノイズが少ない画像をフィルタ処理部５０２へ通知していることになる。
【０１０５】
フィルタ処理部５０２は、左右両画像の対応する画素の情報を用いて、左画像及び右画像のフィルタ処理を実行する。すなわち、フィルタ処理部５０２は、一方の画像の各画素を順次注目画素とし、注目画素及びその周辺画素と他方の画像における注目画素に対応する画素及びその周辺画素とを使用して、注目画素のフィルタ出力を求める。このとき、フィルタ処理部５０２は、分散算出部５０１から通知された画像の画素を重複して用いて注目画素のフィルタ出力を求める。
【０１０６】
具体的には、フィルタ処理部５０２は、例えば分散算出部５０１から右画像の画素値の分散が小さいことが通知された場合には、右画像のブロックを重複して用いて注目画素の画素値を求める。すなわち、例えば図１４に示すように、フィルタ処理部５０２は、左画像のブロック５５１Ｌと、右画像のブロック５５１Ｒ−１及びブロック５５１Ｒ−２とを用いたフィルタ処理を実行する。図１４上段において、右画像のブロック５５１Ｒ−１とブロック５５１Ｒ−２とは同一のブロックである。
【０１０７】
フィルタ処理部５０２は、図１４中段に示すように、ブロック５５１Ｌ、ブロック５５１Ｒ−１及びブロック５５１Ｒ−２の画素の画素値を昇順で並べ替える。そして、フィルタ処理部５０２は、並べ替えた合計２７画素の画素値のうち中央値を注目画素のフィルタ出力とする。したがって、図１４に示す例では、フィルタ処理部５０２は、図１４下段に示すように、中央値である「２」を注目画素のフィルタ出力に決定する。
【０１０８】
本実施の形態においては、左画像及び右画像の画素値の分散を算出し、分散が小さい方の画像の画素を重複して用いてフィルタ処理を実行する。すなわち、画素値の分散が小さくノイズが少ないと考えられる画像の重みを大きくしてフィルタ処理を実行する。左画像及び右画像のうち一方の画像の画素が重複して用いられる点を除けば、本実施の形態に係るフィルタ処理は、実施の形態１のフィルタ処理と同様である。
【０１０９】
以上のように、本実施の形態によれば、左画像及び右画像のうち画素値の分散が小さい画像の画素を重複して用いたフィルタ処理が実行される。このため、ノイズが少ない画像の重みを大きくしたフィルタ処理が可能となり、より高い精度で画像中のノイズを軽減することができる。
【０１１０】
（実施の形態６）
実施の形態６では、現在のフレームの左画像及び右画像を個別に用いた空間的フィルタと、現在のフレームの左右両画像を用いた空間的フィルタと、現在及び過去のフレームの画像を用いた時間的フィルタとが状況に応じて使い分けられる。以下の説明においては、現在のフレームの左画像及び右画像を個別に用いた空間的フィルタを「個別空間的フィルタ」といい、現在のフレームの左右両画像を用いた空間的フィルタを「合成空間的フィルタ」という。
【０１１１】
図１５は、実施の形態６に係る画像処理装置１００ａの構成を示すブロック図である。図１５において、図１と同じ部分には同じ符号を付し、その説明を省略する。図１５に示す画像処理装置１００ａは、図１に示す画像処理装置１００にセンサ６００を追加した構成を有する。
【０１１２】
センサ６００は、例えば左カメラ１１０Ｌ及び右カメラ１１０Ｒから被写体までの距離を測定する赤外線センサ、画像処理装置１００ａに加わる加速度を測定する加速度センサ、及び画像処理装置１００ａの姿勢を検知するジャイロセンサなどを有する。そして、センサ６００は、各センサによって得られるセンサ値をプロセッサ１２０へ出力する。
【０１１３】
図１６は、実施の形態６に係るプロセッサ１２０の機能を示すブロック図である。図１６において、図２及び図６と同じ部分には同じ符号を付し、その説明を省略する。図１６に示すプロセッサ１２０においては、図６に示すプロセッサ１２０にフィルタ選択部６０１が追加され、フィルタ処理部２０２がフィルタ処理部６０２に変更されている。
【０１１４】
フィルタ選択部６０１は、センサ６００から出力されるセンサ値を取得し、センサ値に基づいて、個別空間的フィルタ、合成空間的フィルタ及び時間的フィルタのいずれかを選択する。このとき、フィルタ選択部６０１は、現在及び過去のフレームの左画像及び右画像を取得し、画像間の相関演算や動きベクトル算出などを行い、これらの演算結果を考慮していずれかのフィルタを選択する。フィルタ選択部６０１は、フィルタの選択にあたって、現在のフレームの左右両画像が比較的大きく異なる場合には、時間的フィルタを選択する。また、フィルタ選択部６０１は、現在及び過去のフレームの画像が比較的大きく異なる場合には、合成空間的フィルタを選択する。さらに、フィルタ選択部６０１は、現在のフレームの左右両画像が比較的大きく異なり、かつ、現在及び過去のフレームの画像が比較的大きく異なる場合には、個別空間的フィルタを選択する。
【０１１５】
具体的には、フィルタ選択部６０１は、センサ６００から出力される赤外線センサのセンサ値に基づいて、左カメラ１１０Ｌ及び右カメラ１１０Ｒから被写体までの距離が所定の閾値未満であると判定した場合には、時間的フィルタを選択する。また、フィルタ選択部６０１は、現在のフレームの左右両画像のうち一方の画像には結像され他方の画像では死角となっているオクルージョン領域を検出し、オクルージョン領域の面積が所定の閾値以上であると判定した場合には、時間的フィルタを選択する。さらに、フィルタ選択部６０１は、現在のフレームにおける左右両画像間での動きベクトルと、過去のフレームにおける左右両画像間での動きベクトルとの相関が所定の閾値未満であると判定した場合には、時間的フィルタを選択する。また、フィルタ選択部６０１は、現在及び過去のフレームの画像間でのＳＡＤが所定の閾値未満であると判定した場合には、時間的フィルタを選択する。
【０１１６】
一方、フィルタ選択部６０１は、センサ６００から出力される加速度センサ又はジャイロセンサのセンサ値に基づいて、例えば撮影時の手ブレなどにより画像処理装置１００ａの位置変動が所定の閾値以上であると判定した場合には、合成空間的フィルタを選択する。また、フィルタ選択部６０１は、現在及び過去のフレームの画像間の相関演算を行ってシーンチェンジの有無を判定し、シーンチェンジがあると判定した場合には、合成空間的フィルタを選択する。さらに、フィルタ選択部６０１は、現在及び過去のフレームの画像間の動きベクトルを求め、動きベクトルの大きさが所定の閾値以上であると判定した場合には、合成空間的フィルタを選択する。また、フィルタ選択部６０１は、現在のフレームの左右両画像間でのＳＡＤが所定の閾値未満であると判定した場合には、合成空間的フィルタを選択する。
【０１１７】
そして、フィルタ選択部６０１は、上記の各場合に該当せず、現在及び過去のフレームの画像間でのＳＡＤ及び現在のフレームの左右両画像間でのＳＡＤがいずれも所定の閾値以上であると判定した場合には、個別空間的フィルタを選択する。
【０１１８】
フィルタ処理部６０２は、現在及び過去のフレームの左右両画像のうち、フィルタ選択部６０１によって選択されたフィルタに対応する画像を用いてフィルタ処理を実行する。すなわち、フィルタ処理部６０２は、時間的フィルタが選択された場合には、現在及び過去のフレームの左画像を用いて左画像のフィルタ処理を実行するとともに、現在及び過去のフレームの右画像を用いて右画像のフィルタ処理を実行する。また、フィルタ処理部６０２は、合成空間的フィルタが選択された場合には、現在のフレームの左右両画像を用いて左画像及び右画像のフィルタ処理を実行する。そして、フィルタ処理部６０２は、個別空間的フィルタが選択された場合には、現在のフレームの左画像を用いてこの左画像のフィルタ処理を実行するとともに、現在のフレームの右画像を用いてこの右画像のフィルタ処理を実行する。
【０１１９】
次いで、本実施の形態に係るフィルタ選択部６０１によるフィルタ選択処理について、図１７に示すフロー図を参照しながら説明する。
【０１２０】
まず、撮影時の赤外線センサのセンサ値から、被写体が近距離に存在するか否かが判定される（ステップＳ４０１）。すなわち、被写体までの距離が所定の閾値未満であるか否かが判定され、所定の閾値未満である場合には（ステップＳ４０１Ｙｅｓ）、時間的フィルタが選択される（ステップＳ４１１）。これは、被写体が近距離にある場合は、左カメラ１１０Ｌ及び右カメラ１１０Ｒの視差が大きく、左右両画像が比較的大きく異なるため、合成空間的フィルタの信頼度が低いからである。
【０１２１】
被写体までの距離が所定の閾値以上である場合には（ステップＳ４０１Ｎｏ）、撮影時の加速度センサ又はジャイロセンサなどのセンサ値から、撮影時にブレがあったか否かが判定される（ステップＳ４０２）。すなわち、撮影時の画像処理装置１００ａの位置変動が所定の閾値以上であったか否かが判定され、所定の閾値以上である場合には（ステップＳ４０２Ｙｅｓ）、合成空間的フィルタが選択される（ステップＳ４１０）。これは、撮影時の手ブレなどにより、左カメラ１１０Ｌ及び右カメラ１１０Ｒが動いた場合は、現在及び過去のフレームの画像が比較的大きく異なるため、時間的フィルタの信頼度が低いからである。
【０１２２】
画像処理装置１００ａの位置変動が所定の閾値未満であった場合には（ステップＳ４０２Ｎｏ）、過去のフレームから現在のフレームの間にシーンチェンジがあったか否かが判定される（ステップＳ４０３）。すなわち、現在及び過去のフレームの画像の相関が所定の閾値未満であるか否かが判定され、所定の閾値未満である場合には（ステップＳ４０３Ｙｅｓ）、合成空間的フィルタが選択される（ステップＳ４１０）。これは、現在のフレームと過去のフレームの間にシーンチェンジがある場合は、現在及び過去のフレームの画像が比較的大きく異なるため、時間的フィルタの信頼度が低いからである。
【０１２３】
現在及び過去のフレームの画像の相関が所定の閾値以上である場合には（ステップＳ４０３Ｎｏ）、現在のフレームの左右両画像にオクルージョン領域があるか否かが判定される（ステップＳ４０４）。すなわち、一方の画像には写っており他方の画像には写っていないオクルージョン領域の面積が所定の閾値以上であるか否かが判定され、所定の閾値以上である場合には（ステップＳ４０４Ｙｅｓ）、時間的フィルタが選択される（ステップＳ４１１）。これは、オクルージョン領域の面積が大きい場合は、左右両画像が比較的大きく異なるため、合成空間的フィルタの信頼度が低いからである。
【０１２４】
オクルージョン領域の面積が所定の閾値未満である場合には（ステップＳ４０４Ｎｏ）、現在及び過去のフレームの画像間における動きベクトルが大きいか否かが判定される（ステップＳ４０５）。すなわち、現在及び過去のフレームの画像間の動きベクトルの大きさが所定の閾値以上であるか否かが判定され、所定の閾値以上である場合には（ステップＳ４０５Ｙｅｓ）、合成空間的フィルタが選択される（ステップＳ４１０）。これは、現在及び過去のフレームの画像間の動きベクトルが大きい場合は、画像内に大きく移動した領域があるため、時間的フィルタの信頼度が低いからである。
【０１２５】
動きベクトルの大きさが所定の閾値未満である場合には（ステップＳ４０５Ｙｅｓ）、現在及び過去のフレームそれぞれにおける左右両画像間の動きベクトルの相関が小さいか否かが判定される（ステップＳ４０６）。すなわち、現在のフレームの左右両画像間の動きベクトルと過去のフレームの左右両画像間の動きベクトルとの相関が所定の閾値未満であるか否かが判定され、所定の閾値未満である場合には（ステップＳ４０６Ｙｅｓ）、時間的フィルタが選択される（ステップＳ４１１）。これは、左右両画像間の動きベクトルの相関が小さい場合には、例えば被写体の起伏が激しくマッチングの精度が低くなると考えられるため、合成空間的フィルタの信頼度が低いからである。
【０１２６】
左右両画像間の動きベクトルの相関が所定の閾値以上である場合には（ステップＳ４０６Ｎｏ）、時間方向のＳＡＤが大きいか否かが判定される（ステップＳ４０７）。すなわい、現在及び過去のフレームの画像間のＳＡＤが所定の閾値以上であるか否かが判定され、所定の閾値未満である場合には（ステップＳ４０７Ｎｏ）、時間的フィルタが選択される（ステップＳ４１１）。これは、現在及び過去のフレームの画像間のＳＡＤが小さい場合には、現在及び過去のフレームの画像が類似しているため、時間的フィルタの信頼度が高いからである。
【０１２７】
時間方向のＳＡＤが所定の閾値以上である場合には（ステップＳ４０７Ｙｅｓ）、現在のフレームの左右両画像間のＳＡＤが大きいか否かが判定される（ステップＳ４０８）。すなわち、現在のフレームの左右両画像間のＳＡＤが所定の閾値以上であるか否かが判定され、所定の閾値未満である場合には（ステップＳ４０８Ｎｏ）、合成空間的フィルタが選択される。これは、現在のフレームの左右両画像間のＳＡＤが小さい場合には、左右両画像が類似しているため、合成空間的フィルタの信頼度が高いからである。
【０１２８】
時間方向のＳＡＤ及び現在のフレームの左右両画像間のＳＡＤがいずれも所定の閾値以上である場合には（ステップＳ４０８Ｙｅｓ）、個別空間的フィルタが選択される（ステップＳ４０９）。これは、時間方向のＳＡＤ及び現在のフレームの左右両画像間のＳＡＤがいずれも大きい場合には、各画像が類似していないため、時間的フィルタ及び合成空間低フィルタ双方の信頼度が低いからである。
【０１２９】
以上のように、本実施の形態によれば、比較的類似した画像がフィルタ処理に用いられるように、センサのセンサ値などに基づいてフィルタが選択される。このため、様々な状況に応じて適切なフィルタ処理を実行することができ、より正確に画像中のノイズを軽減することができる。
【０１３０】
なお、上記実施の形態６においては、さらに、時間方向のＳＡＤ及び現在のフレームの左右両画像間のＳＡＤがいずれも小さい場合には、上記実施の形態３のフィルタ処理を実行するようにしても良い。すなわち、ＳＡＤが小さく画像が類似している場合には、合成空間的フィルタ出力と時間的フィルタ出力とを重み付けして合成しても良い。このとき、それぞれのＳＡＤは、画像が類似していないと判断可能な所定の閾値未満であるため、上述した判別値Ｄは、上記式（１）の代わりに以下の式（３）によって算出することが可能である。
Ｄ＝SADT／THT−SADS／THS  …（３）
【０１３１】
また、上記各実施の形態は、適宜組み合わせて実施することができる。すなわち、例えば、実施の形態２と実施の形態４を組み合わせ、現在及び過去のフレームの左右両画像における画素値のヒストグラムを均一化し、画素値のヒストグラムが均一化された４画像を用いたフィルタ処理を実行しても良い。
【０１３２】
上記各実施の形態に係る画像処理装置１００及び画像処理装置１００ａは、例えばスマートフォンなどの携帯端末装置や汎用サーバなどの情報処理装置に実装することが可能である。また、上記各実施の形態に係る画像処理装置１００及び画像処理装置１００ａは、必ずしも左カメラ１１０Ｌ及び右カメラ１１０Ｒを備える必要はなく、別体のカメラによって撮像された２画像を取得した上で、上記各実施の形態と同様の画像処理を行っても良い。
【０１３３】
さらに、上記各実施の形態において説明した画像処理装置１００及び画像処理装置１００ａの動作をコンピュータが実行可能なプログラムとして記述することも可能である。この場合、このプログラムをコンピュータが読み取り可能な記録媒体に格納し、コンピュータに導入することも可能である。コンピュータが読み取り可能な記録媒体としては、例えばＣＤ−ＲＯＭ、ＤＶＤディスク、ＵＳＢメモリなどの可搬型記録媒体や、例えばフラッシュメモリなどの半導体メモリが挙げられる。
【符号の説明】
【０１３４】
１１０Ｌ  左カメラ
１１０Ｒ  右カメラ
１２０  プロセッサ
１２１  撮像制御部
１２２Ｌ、２０１Ｌ、３０２Ｌ  左ブロックマッチング部
１２２Ｒ、２０１Ｒ、３０２Ｒ  右ブロックマッチング部
１２３、２０２、３０４、５０２、６０２  フィルタ処理部
１２４  距離画像生成部
１２５  表示制御部
１３０  メモリ
１４０  ディスプレイ
３０１  類似度算出部
３０３  係数決定部
４０１  均一化処理部
４０２  逆変換部
５０１  分散算出部
６００  センサ
６０１  フィルタ選択部
【図１】
2014219795.tif 000003
【図２】
2014219795.tif 000004
【図３】
2014219795.tif 000005
【図４】
2014219795.tif 000006
【図５】
2014219795.tif 000007
【図６】
2014219795.tif 000008
【図７】
2014219795.tif 000009
【図８】
2014219795.tif 000010
【図９】
2014219795.tif 000011
【図１０】
2014219795.tif 000012
【図１１】
2014219795.tif 000013
【図１２】
2014219795.tif 000014
【図１３】
2014219795.tif 000015
【図１４】
2014219795.tif 000016
【図１５】
2014219795.tif 000017
【図１６】
2014219795.tif 000018
【図１７】
2014219795.tif 000019