(57)【特許請求の範囲】
【請求項１】
複数の入力画像を合成して合成画像を生成する画像処理装置であって、
入力画像を所定のサイズで分割して得られた、各ブロック領域に対してフィルタ処理を実行するフィルタ手段と、
前記フィルタ処理されたブロック領域の画像全体における位置とサイズとに応じて、前記合成画像の各画素の画素値を決定するために用いられる属性マップから、当該ブロック領域に対応する画素値を読み出して供給する供給手段と、
一の入力画像から得られる前記フィルタ処理されたブロック領域と、他の入力画像から得られる前記フィルタ処理されたブロック領域であって、画像全体における位置が対応するブロック領域とを、前記供給手段から供給される、当該ブロック領域に対応する画素値に基づいて合成する画像合成手段と、を備える
ことを特徴とする画像処理装置。
【請求項２】
前記供給手段は、
前記フィルタ処理された各ブロック領域のサイズを特定可能なフィルタ情報を保持し、
前記フィルタ情報は、
前記フィルタ手段が実行するフィルタ処理の手法に基づいて予め導出される情報である
請求項１に記載の画像処理装置。
【請求項３】
前記フィルタ手段は、
入力画像を分割して得られた各ブロック領域に対して、順に前記フィルタ処理を実行し、前記画像合成手段に供給し、
前記供給手段は、
前記属性マップから、前記フィルタ処理された各ブロック領域に対応する画素値を順に読み出して、前記画像合成手段に供給する
請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記供給手段は、
前記フィルタ手段が前記フィルタ処理を実行し終えたブロック領域の数をカウントし、
入力画像におけるブロック領域の縦方向の数および横方向の数と、前記カウントした値とから、前記フィルタ処理された各ブロック領域の画像全体における位置を特定する
請求項３に記載の画像処理装置。
【請求項５】
前記複数の入力画像が、時分割で入力される、長露光画像と短露光画像であり、
前記合成が、前記長露光画像と前記短露光画像とを合成するハイダイナミックレンジ合成である
請求項１から請求項４のうちのいずれか１項に記載の画像処理装置。
【請求項６】
前記属性マップとして、前記長露光画像と前記短露光画像とから生成される、各画素位置が動領域に属するか否かを示す動領域マップが用いられ、
前記画像合成手段は、
前記ハイダイナミックレンジ合成において、前記供給手段から供給される画素値に基づいて、動領域に属する画素位置においては、前記短露光画像の画素値を出力し、静止領域に属する画素位置においては、前記短露光画像の画素値と前記長露光画像の画素値とを所定の計算式に従って合成して出力する
請求項５に記載の画像処理装置。
【請求項７】
前記属性マップとして、前記動領域マップに加えて、入力画像の各画素位置の輝度を示す輝度マップが用いられ、
前記供給手段は、
前記動領域マップと前記輝度マップとからそれぞれ、前記フィルタ処理された各ブロック領域に対応する画素値を読み出して供給し、
前記画像合成手段は、
前記ハイダイナミックレンジ合成において、前記供給手段から供給される画素値に基づいて、各画素位置における前記短露光画像と前記長露光画像との合成比率を、各画素位置の輝度に応じた値に設定する
請求項６に記載の画像処理装置。
【請求項８】
入力画像を所定のサイズで分割して得られた、各ブロック領域に対してフィルタ処理を実行するフィルタ手段と、
前記フィルタ処理されたブロック領域の画像全体における位置とサイズとに応じて、入力画像の各画素の属性を示す属性マップから、当該ブロック領域に対応する画素値を読み出して供給する供給手段と、
前記フィルタ処理されたブロック領域に対して、前記供給手段から供給される、当該ブロック領域に対応する画素値に基づいて補正を行う画像補正手段と、を備える
ことを特徴とする画像処理装置。
【請求項９】
入力画像を所定のサイズで分割して得られた、各ブロック領域に対してフィルタ処理を実行するフィルタ手段と、
前記フィルタ処理されたブロック領域の画像全体における位置とサイズとに応じて、前記フィルタ処理される前の入力画像から、当該ブロック領域に対応する画素値を読み出して供給する供給手段と、
前記フィルタ処理されたブロック領域の画素値と、前記供給手段から供給される当該ブロック領域に対応する画素値とから、当該ブロック領域の新たな画素値を生成する画像合成手段と、を備える
ことを特徴とする画像処理装置。
【請求項１０】
入力画像を幾何変形パラメータに基づいて幾何変形する画像幾何変形手段と、
入力画像の各画素の属性を示す属性マップを生成する属性生成手段と、
前記幾何変形パラメータに基づいて前記属性マップを幾何変形する属性マップ幾何変形手段と、
前記幾何変形された入力画像に対して、前記幾何変形された前記属性マップに基づいて画像処理を実行する画像処理手段と、を備える
ことを特徴とする画像処理装置。
【請求項１１】
入力画像から動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトル検出手段が検出した前記動きベクトルから、カメラ姿勢変化に対応する動きパラメータを前記幾何変形パラメータとして算出するカメラ姿勢推定手段と、をさらに備え、
前記画像幾何変形手段は、入力画像を前記カメラ姿勢変化に対応する動きパラメータに基づいて幾何変形し、
前記属性生成手段は、前記動きベクトル検出手段が検出した前記動きベクトルから、カメラ姿勢変化に対応する動きベクトルを減算し、減算後の前記動きベクトルから、各画素位置が動領域に属するか否かを示す動領域マップを前記属性マップとして生成し、
前記属性マップ幾何変形手段は、前記カメラ姿勢変化に対応する動きパラメータと、前記カメラ姿勢変化に対応する動きベクトルとの差分に基づいて、前記動領域マップを幾何変形する
請求項１０に記載の画像処理装置。
【請求項１２】
前記動きベクトル検出手段が検出した各動きベクトルの中で、最も出現頻度が高い動きベクトルを、前記カメラ姿勢変化に対応する動きベクトルとする
請求項１１に記載の画像処理装置。
【請求項１３】
前記カメラ姿勢推定手段は、前記動領域マップの一部を補間演算によって生成する
請求項１１または請求項１２に記載の画像処理装置。
【請求項１４】
複数の入力画像を合成して合成画像を生成する画像処理方法であって、
入力画像を所定のサイズで分割して得られた、各ブロック領域に対してフィルタ処理を実行するステップと、
前記フィルタ処理されたブロック領域の画像全体における位置とサイズとに応じて、前記合成画像の各画素の画素値を決定するために用いられる属性マップから、当該ブロック領域に対応する画素値を読み出すステップと、
一の入力画像から得られる前記フィルタ処理されたブロック領域と、他の入力画像から得られる前記フィルタ処理されたブロック領域であって、画像全体における位置が対応するブロック領域とを、前記属性マップから読み出された、当該ブロック領域に対応する前記画素値に基づいて合成するステップと、を含む
ことを特徴とする画像処理方法。
【請求項１５】
入力画像を所定のサイズで分割して得られた、各ブロック領域に対してフィルタ処理を実行するステップと、
前記フィルタ処理されたブロック領域の画像全体における位置とサイズとに応じて、入力画像の各画素の属性を示す属性マップから、当該ブロック領域に対応する画素値を読み出すステップと、
前記フィルタ処理されたブロック領域に対して、前記属性マップから読み出された、当該ブロック領域に対応する前記画素値に基づいて、補正を行うステップと、を含む
ことを特徴とする画像処理方法。
【請求項１６】
入力画像を所定のサイズで分割して得られた、各ブロック領域に対してフィルタ処理を実行するステップと、
前記フィルタ処理されたブロック領域の画像全体における位置とサイズとに応じて、前記フィルタ処理される前の入力画像から、当該ブロック領域に対応する画素値を読み出すステップと、
前記フィルタ処理されたブロック領域の画素値と、前記フィルタ処理される前の入力画像から読み出される、当該ブロック領域に対応する画素値とから、当該ブロック領域の新たな画素値を生成するステップと、を含む
ことを特徴とする画像処理方法。
【請求項１７】
入力画像を幾何変形パラメータに基づいて幾何変形するステップと、
入力画像の各画素の属性を示す属性マップを生成するステップと、
前記幾何変形パラメータに基づいて前記属性マップを幾何変形するステップと、
前記幾何変形された入力画像に対して、前記幾何変形された前記属性マップに基づいて画像処理を実行するステップと、を含む
ことを特徴とする画像処理方法。
【請求項１８】
コンピュータを、請求項１から請求項１２のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、属性情報を参照して複数の画像を合成する画像処理装置に関するものである。
【背景技術】
【０００２】
画像合成などの画像処理において、画素の属性を表す属性マップを参照し、属性に応じて画素毎に、適用するアルゴリズムまたはパラメータを変更する方法が知られている。例えば特許文献１に記載された画像処理装置では、距離マップに基づいてボケの大きさを求め、領域毎に求められたボケの大きさとなるようにぼかし処理を行っている。また、画像合成などにおいて、コストを抑えるために、任意のサイズのブロック領域を処理単位とする場合がある。そのような場合、処理対象となる入力画像（以下、処理対象画像という）は、任意のサイズのブロック領域に分割されて、ブロック領域毎に処理される。また、そのような場合、属性マップからは、各ブロック領域に対応する画素値が参照される。さらに、画像合成などにおいて、前処理として、フィルタ処理を行う場合がある。例えば、画像の平滑化を目的として、注目画素を中心とする小矩形毎に画素値の平均を求め、求めた平均を当該注目画素の画素値として出力するフィルタ処理が行われる場合がある。このようなフィルタ処理を、処理対象画像を分割して得られた各ブロック領域に対して順に適用すると、フィルタサイズ（上記小矩形のサイズ）に依存して、隣接するブロック領域の画素を参照するまで、画素値が確定しない画素が生じる。それにより、フィルタ処理後における各ブロック領域のサイズが、当該各ブロック領域の処理対象画像内における位置に応じて変わってしまう場合がある。この場合、フィルタ処理後における各ブロック領域の画素と、属性マップにおいて参照される画素との対応が取れなくなる。そのため、画像合成などにおいて、適用するアルゴリズムまたはパラメータを正しく変更することができないという問題が生じる。
【０００３】
そこで、フィルタ処理後における各ブロック領域のサイズが変わらないように、以下のいずれかの方法がとられる。第一の方法は、フィルタ処理へ入力するブロック領域を大きくし、互いに隣接するブロック領域の間でオーバーラップさせる方法である。また、第二の方法は、フィルタ処理後の画素をバッファするために、複数ライン分のメモリを設ける方法である。しかし、オーバーラップしたブロック領域をフィルタ処理しようとすると、システムバスやメモリのアクセス単位と一致しない画素を大量に転送することになり、データ転送効率を低下させ、画像処理性能を低下させる可能性がある。また、フィルタ処理の後段にラインバッファを設けると、製品コストを増大させる可能性がある。このような問題は、高精細な画像を処理するシステムほど大きくなる。したがって、上記のような方法を採用することは好ましくない。
【０００４】
また、画像合成などにおいて、前処理として、ブロック分割やフィルタ処理を行わない場合であっても、処理対象画像に対して、カメラのブレなどの振動による歪を除去するための幾何変形を行った場合には、上記の問題が生じる。その理由は、幾何変形後における処理対象画像の画素と、属性マップとの画素との対応が取れなくなるためである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−４３４９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のように、属性マップに基づいて行われる画像合成などにおいて、前段で行われる処理により、処理対象画像と属性マップとの画素の対応が取れなくなる場合がある。そこで、本発明は、入力画像に対して属性マップに基づく画像処理を適用する場合において、当該画像処理の前段で行われる処理により入力画像と属性マップとの画素の対応が取れなくなったときでも、入力画像に対して属性マップに基づく画像処理を適切に適用することができる。
【課題を解決するための手段】
【０００７】
本発明による画像処理装置は、複数の入力画像を合成して合成画像を生成する画像処理装置であって、入力画像を所定のサイズで分割して得られた、各ブロック領域に対してフィルタ処理を実行するフィルタ手段と、フィルタ処理されたブロック領域の画像全体における位置とサイズとに応じて、合成画像の各画素の画素値を決定するために用いられる属性マップから、当該ブロック領域に対応する画素値を読み出して供給する供給手段と、一の入力画像から得られるフィルタ処理されたブロック領域と、他の入力画像から得られるフィルタ処理されたブロック領域であって、画像全体における位置が対応するブロック領域とを、供給手段から供給される、当該ブロック領域に対応する画素値に基づいて合成する画像合成手段と、を備えることを特徴とする。
【０００８】
また、本発明による画像処理装置は、入力画像を所定のサイズで分割して得られた、各ブロック領域に対してフィルタ処理を実行するフィルタ手段と、フィルタ処理されたブロック領域の画像全体における位置とサイズとに応じて、入力画像の各画素の属性を示す属性マップから、当該ブロック領域に対応する画素値を読み出して供給する供給手段と、フィルタ処理されたブロック領域に対して、供給手段から供給される、当該ブロック領域に対応する画素値に基づいて補正を行う画像補正手段と、を備えることを特徴とする。
【０００９】
また、本発明による画像処理装置は入力画像を所定のサイズで分割して得られた、各ブロック領域に対してフィルタ処理を実行するフィルタ手段と、フィルタ処理されたブロック領域の画像全体における位置とサイズとに応じて、フィルタ処理される前の入力画像から、当該ブロック領域に対応する画素値を読み出して供給する供給手段と、フィルタ処理されたブロック領域の画素値と、供給手段から供給される当該ブロック領域に対応する画素値とから、当該ブロック領域の新たな画素値を生成する画像合成手段と、を備えることを特徴とする。
【００１０】
また、本発明による画像処理装置は、入力画像を幾何変形パラメータに基づいて幾何変形する画像幾何変形手段と、入力画像の各画素の属性を示す属性マップを生成する属性生成手段と、幾何変形パラメータに基づいて属性マップを幾何変形する属性マップ幾何変形手段と、幾何変形された入力画像に対して、幾何変形された属性マップに基づいて画像処理を実行する画像処理手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、入力画像に対して属性マップに基づく画像処理を適用する場合において、当該画像処理の前段で行われる処理により入力画像と属性マップとの画素の対応が取れなくなったときでも、入力画像に対して属性マップに基づく画像処理を適切に適用することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施例に係る画像処理装置の構成を示すブロック図。
【図２】画像解析部および画像処理部の構成を示すブロック図。
【図３】任意のサイズの矩形領域に分割された処理対象画像を示す図。
【図４】フィルタ処理後の処理対象画像における各矩形領域を示す図。
【図５】矩形領域内の画素の処理順序を示す図。
【図６】画像を合成する際に供給される画素の順序を示す図。
【図７】属性データ供給部の構成を示すブロック図。
【図８】入力画像の順序を説明するための図。
【図９】属性マップから読み出される矩形領域と、画像合成部に供給される画素との関係を説明するための図。
【図１０】属性マップから読み出される矩形領域と、画像合成部に供給される画素との関係を説明するための図。
【図１１】属性マップから読み出される矩形領域と、画像合成部に供給される画素との関係を説明するための図。
【図１２】属性マップから読み出される矩形領域と、画像合成部に供給される画素との関係を説明するための図。
【図１３】属性マップから読み出される矩形領域と、画像合成部に供給される画素との関係を説明するための図。
【図１４】属性マップから読み出される矩形領域と、画像合成部に供給される画素との関係を説明するための図。
【図１５】属性マップから読み出される矩形領域と、画像合成部に供給される画素との関係を説明するための図。
【図１６】属性マップから読み出される矩形領域と、画像合成部に供給される画素との関係を説明するための図。
【図１７】属性マップから読み出される矩形領域と、画像合成部に供給される画素との関係を説明するための図。
【図１８】第４の実施例に係る画像処理装置の画像処理部の構成を示すブロック図。
【図１９】第５の実施例における画像解析部と画像処理部の構成を示すブロック図。
【図２０】第５の実施例における動領域属性生成部の動作を説明するための図。
【図２１】第５の実施例における属性データ供給部の動作を説明するための図。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明を実施する形態について説明する。なお、以下に示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１４】
［実施例１］
図１は、第１の実施例に係る画像処理装置の構成を示すブロック図である。ＣＰＵ１０１は、画像処理装置の制御を行う。ＲＡＭ１０２は、ＣＰＵ１０１のワークメモリや、処理対象の画像データを一時記憶するためのメモリとして利用される。ＲＯＭ１０３は、ＣＰＵ１０１で実行するプログラムを保持する。画像入力部１０４は、画像データを受信する通信インタフェースである。また、画像入力部１０４は、イメージセンサと接続され、イメージセンサからの信号を処理して画像データを生成する現像処理手段として機能する。画像入力部１０４は、生成した画像データをＲＡＭ１０２に転送する。画像解析部１０５は、画像入力部１０４が入力した画像データを解析して、当該画像データに対応する属性マップを生成する。画像処理部１０６は、画像解析部１０５によって生成された属性マップを参照して、画像入力部１０４が入力した画像データに所定の処理を行う。画像出力部１０７は、処理された画像を送信する通信インタフェースである。また、画像出力部１０７は、印刷媒体上に画像を形成する印刷エンジンを有する。また、画像出力部１０７は、ディスプレイ上に画像を表示するディスプレイエンジンを有する。システムバス１０８は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、画像入力部１０４、画像解析部１０５、画像処理部１０６、画像出力部１０７の間のデータ転送路である。
【００１５】
図２は、画像解析部１０５および画像処理部１０６の構成を示すブロック図である。各構成は、回路によって実現される。画像解析部１０５の画像データ読込部２０１は、画像入力部１０４によってＲＡＭ１０２に転送された画像データを読み出し、画像縮小部２０２に供給する。画像縮小部２０２は、画像データ読込部２０１から供給される画像データを縦方向と横方向において縮小し、縮小画像を縮小画像記憶部２０３に供給する。縮小画像記憶部２０３は、画像縮小部２０２から供給される画像データを複数記憶し、動領域属性生成部２０４に供給する。動領域属性生成部２０４は、縮小画像記憶部２０３が記憶する複数の画像データによって示される、複数枚の画像を比較して、輪郭が異なる画素を検出することにより属性マップを生成する。動領域属性生成部２０４は、生成した属性マップを属性データ供給部２０６に送出する。実際には、動領域属性生成部２０４は、生成した属性マップをＲＡＭ１０２に転送し、属性データ供給部２０６が、ＲＡＭ１０２に転送された属性マップを読み出す。
【００１６】
画像処理部１０６の画像データ読込部２０５は、画像入力部１０４によってＲＡＭ１０２に転送された複数の画像データを読み込む。画像データ読込部２０５は、読み込んだ画像データを幾何変形し、任意のサイズのブロック領域（本実施例では、矩形領域）に区切ってフィルタ部２０７に供給する。属性データ供給部２０６は、画像解析部１０５の動領域属性生成部２０４によってＲＡＭ１０２に転送された属性マップを読み出し、合成対象の画素に対応する属性データを画像合成部２０８に供給する。フィルタ部２０７は、注目画素を中心とする縦横５画素からなる小矩形毎に画素値の平均を求め、注目画素の画素値として出力する。画像合成部２０８は、属性データ供給部２０６から入力される属性データに基づいて、フィルタ部２０７から入力された複数画像を合成し、合成画像を生成する。より詳細には、画像合成部２０８は、画素単位の入力インタフェースを具備していて、合成する画像の枚数が設定されると、連続して入力された画素を、設定された枚数のそれぞれの合成対象画像に属する同一座標の画素とみなして、合成する。画像データ転送部２０９は、画像合成部２０８によって合成された画像をＲＡＭ１０２に転送する。
【００１７】
図３は、任意のサイズの矩形領域に分割された処理対象画像を示す図である。処理対象画像４０１は、縦４４８画素×横３２０画素の画像である。矩形領域４０２は、縦横それぞれ６４画素の領域である。矩形領域内の数字は、処理の順番を示す。以下、処理対象画像や属性マップにおいて、ｎ（ｎ＝０，１，２・・・）番目に処理される矩形領域を矩形＃ｎと記す。処理対象画像４０１の縦方向または横方向の画素数が６４の倍数でない場合は、処理対象画像４０１は、下端または右端に６４の倍数となるようにパディングされた後に矩形領域に分割される。
【００１８】
図４は、フィルタ処理後の処理対象画像における各矩形領域を示す図である。処理対象画像５０１は、フィルタ処理後の処理対象画像であり、処理対象画像４０１とサイズが一致する。矩形領域５０２は、フィルタ処理後の矩形領域である。矩形領域内の数字は処理の順番を示し、矩形領域４０２の数字と対応する。なお、図４には、注目画素を中心とする縦横５画素の画素値の平均を当該注目画素の画素値として出力するフィルタ処理が実行された後の、処理対象画像が示されている。このようなフィルタ処理を実行した場合、例えば、矩形領域＃０，＃５，＃１０，＃１５，＃２０，＃２５，＃３０内の右端の画素を注目画素とするフィルタ処理は、それぞれ隣接する矩形領域＃１，＃６，＃１１，＃１６，＃２１，＃２６，＃３１の左端から１番目および２番目の画素が確定するまでは実行することができない。そのため、フィルタ処理後の処理対象画像５０１における矩形領域５０２はそれぞれ、処理対象画像５０１の中で占める位置に応じて、異なったサイズで出力される。具体的にはフィルタ処理後の処理対象画像５０１では、図４に示されるように、左端の矩形領域の幅が６２となり、右端の矩形領域の幅が６６となり、その間の矩形領域の幅が６４となる。また、上端の矩形領域の高さが６２となり、下端の矩形領域の高さが６６となり、その間の矩形領域の高さが６４となる。なお、フィルタ部２０７は、左端の矩形領域（矩形領域＃０，＃５，＃１０，＃１５，＃２０，＃２５，＃３０）内の左端の画素を注目画素とする場合には、それぞれの矩形領域の左側に、隣接するように２列分のダミーの画素を補って、当該注目画素の画素値を求める。また、フィルタ部２０７は、上端の矩形領域（矩形領域＃０，＃１，＃２，＃３，＃４）内の上端の画素を注目画素とする場合には、それぞれの矩形領域の上側に、隣接するように２行分のダミーの画素を補って、当該注目画素の画素値を求める。
【００１９】
図５は、矩形領域内の画素の処理順序を示す図である。図５に示す矩形領域６０１は、図３に示す矩形領域の１つを表す。矩形領域６０１内の矢印は、矩形領域内の画素の処理順序を表す。すなわち、フィルタ部２０７は、図５に示す順序で、図３に示す各矩形領域の画素を処理する。このように、各矩形領域の画素は、上のラインから下のラインへ向かって処理され、各ラインにおいては、左の画素から右の画素に向かって処理される。フィルタ部２０７は、同様の順序で、図４に示すフィルタ処理後の各矩形領域の画素を画像合成部２０８に供給する。また、属性データ供給部２０６も、同様に図５に示す順序で、フィルタ処理後の各矩形領域の画素に対応する属性データを、画像合成部２０８に供給する。
【００２０】
図６は、２つの画像を合成する際に、フィルタ部２０７が画像合成部２０８に供給する画素の順序を示す図である。矩形領域７０１は、第一の合成対象画像の矩形領域である。矩形領域７０２は、第二の合成対象画像の矩形領域である。第一の合成対象画像と第二の合成対象画像とは、画像合成部２０８に供給されるフィルタ処理後の処理対象画像である。先ず、第一の合成対象画像の矩形領域７０１から一番目の画素が画像合成部２０８に供給され、次に、第二の合成対象画像の矩形領域７０２から一番目の画素が画像合成部２０８に供給される。続いて、第一の合成対象画像の矩形領域７０１から二番目の画素が画像合成部２０８に供給され、次に、第二の合成対象画像の矩形領域７０２から二番目の画素が画像合成部２０８に供給される。このようにして、第一の合成対象画像と第二の合成対象画像とから交互に対応する矩形領域の画素が供給される。この処理は、第一の合成対象画像と第二の合成対象画像それぞれの一番目の矩形領域（左上の矩形領域）から最後の矩形領域（右下の矩形領域）まで繰り返される。
【００２１】
属性データが画像合成部２０８に供給される順序も、図６に示す合成対象画像と同様である。例えば、一つの属性マップから属性データが供給される場合、まず、合成対象画像の矩形領域の一番目の画素が画像合成部２０８に供給され、次に、属性マップの一番目の画素が属性データとして画像合成部２０８に供給される。続いて、合成対象画像の矩形領域の二番目の画素が画像合成部２０８に供給され、次に、属性マップの二番目の画素が属性データとして画像合成部２０８に供給される。以降同様に、合成対象画像の矩形領域のｎ（ｎ＝１〜４０９６）番目の画素が画像合成部２０８に供給され、次に、属性マップのｎ番目の画素が属性データとして画像合成部２０８に供給される。
【００２２】
図７は、属性データ供給部２０６の構成を示すブロック図である。図７（ａ）に示すように、属性データ供給部２０６は、レジスタ８０１、矩形カウンタ８０２、画素カウンタ８０３、属性マップ読込部８０４、属性マップ幾何変形部８０５、および画素値供給部８０６を含む。
【００２３】
レジスタ８０１は、矩形カウンタ８０２、画素カウンタ８０３、属性マップ読込部８０４、属性マップ幾何変形部８０５の、動作を決定するパラメータを保持する。本実施例では、レジスタ８０１は、処理対象画像の情報として、横方向矩形数、縦方向矩形数を保持する。また、レジスタ８０１は、フィルタ情報として、左端矩形幅、中間矩形幅、右端矩形幅、上端矩形高、中間矩形高、下端矩形高を保持する。属性データ供給部２０６は、フィルタ情報から、各矩形領域のサイズを特定可能である。フィルタ情報は、例えば、フィルタ部２０７が実行するフィルタ処理の手法に基づいて予め導出される。また、レジスタ８０１は、属性情報として、属性マップ有効化、属性マップ幾何変形パラメータ、属性マップアドレスを保持する。なお、画像処理装置が複数の属性マップを用いて画像合成を行う場合には、レジスタ８０１は、各属性マップについて、属性マップ有効化、属性マップ幾何変形パラメータ、属性マップアドレスを保持してもよい。図７（ｂ）には、属性情報が２つある場合にレジスタ８０１に保持されるパラメータの例が示されている。この場合、レジスタ８０１は、属性情報として、第一属性マップ有効化、第一属性マップ幾何変形パラメータ、第一属性マップアドレス、第二属性マップ有効化、第二属性マップ幾何変形パラメータ、第二属性マップアドレスを保持する。レジスタ８０１が保持するパラメータは、ＣＰＵ１０１によってリード／ライト可能である。矩形カウンタ８０２は、処理し終えた矩形領域の数をカウントする。属性データ供給部２０６は、矩形カウンタ８０２の値とレジスタ８０１が保持するパラメータ（例えば、横方向矩形数、縦方向矩形数）とから、処理中である矩形領域の画像全体における横方向の位置と縦方向の位置とを特定可能である。また、属性データ供給部２０６は、特定した位置とレジスタ８０１が保持するパラメータ（例えば、フィルタ情報）とから、処理中である矩形領域のサイズ（幅及び高さ）を特定可能である。画素カウンタ８０３は、矩形領域において処理し終えた画素をカウントする。属性データ供給部２０６は、画素カウンタ８０３の値と矩形領域のサイズとから、処理中である画素の、矩形領域における画素位置を特定可能である。属性マップ読込部８０４は、ＲＡＭ１０２にアクセスして、画像解析部１０５によって生成された属性マップを読み出す。属性マップ幾何変形部８０５は、属性マップ読込部８０４を制御して属性マップを読み出し、属性マップ幾何変形パラメータに応じて属性マップを幾何変形して矩形領域を生成する。ここで、幾何変形として、代表的な線形変換であるアフィン変換が適用された場合の、属性マップ幾何変形パラメータを説明する。アフィン変換は、変換前の座標を（ｘ，ｙ）、変換後の座標を（Ｘ，Ｙ）として、四つの係数ａ、ｂ、ｃ、ｄを用いて、（Ｘ，Ｙ）＝（ａｘ＋ｂｙ，ｃｘ＋ｄｙ）と表される。従って、レジスタ８０１は、属性マップ幾何変形パラメータとして、ａ、ｂ、ｃ、ｄの係数を保持する。画素値供給部８０６は、属性マップから読み出した画素値（属性値）を、属性データとして画像合成部２０８に供給する。
【００２４】
以下に、属性マップとして動領域マップを用いた、ハイダイナミックレンジ合成（ＨＤＲ合成）処理について述べる。ただし、簡単のため、幾何変形を行わない例を挙げて説明する。
【００２５】
画像入力部１０４にはイメージセンサが接続されており、イメージセンサからは長露光画像と短露光画像とが時分割で入力される。ここで、露光時間が異なる二つの画像が撮影された場合に、当該二つの画像のうち、相対的に露光時間が長い画像を長露光画像とし、相対的に露光時間が短い画像を短露光画像とする。図８は、入力画像の順序を説明するための図である。図８に示す、画像９０１はｉ（ｉ＝１、２、３、…）番目の長露光画像である。画像９０２はｉ番目の短露光画像である。画像９０３はｉ＋１番目の長露光画像である。画像９０４はｉ＋１番目の短露光画像である。画像入力部１０４は、長露光画像と短露光画像とをそれぞれＲＡＭ１０２の所定のアドレスに転送する。
【００２６】
画像解析部１０５では、まず、画像データ読込部２０１が、ｉ番目の長露光画像とｉ番目の短露光画像とをＲＡＭ１０２から読み出す。次に、画像縮小部２０２が、ｉ番目の長露光画像とｉ番目の短露光画像とを縦横それぞれ１／４に縮小した後に、縮小画像記憶部２０３に格納する。次に、動領域属性生成部２０４が、縮小画像記憶部２０３に格納された、ｉ番目の長露光画像とｉ番目の短露光画像とを比較して、輪郭が異なる画素を検出することにより動領域マップを生成する。このとき生成される動領域マップのサイズは、縮小後の入力画像（長露光画像、短露光画像）のサイズに対応する。すなわち、縦横それぞれ１／４に縮小された動領域マップが生成される。動領域属性生成部２０４は、生成した動領域マップをＲＡＭ１０２の所定のアドレスに転送する。
【００２７】
画像処理部１０６では、画像データ読込部２０５が、ｉ番目の長露光画像とｉ番目の短露光画像とを、図３に示す矩形領域毎に交互にＲＡＭ１０２から読み出し、フィルタ部２０７に供給する。フィルタ部２０７は、ｉ番目の長露光画像の矩形領域にフィルタ処理を行い、続いてｉ番目の短露光画像の矩形領域にフィルタ処理を行う。上述したように、フィルタ処理後のｉ番目の長露光画像の各矩形領域、及び、フィルタ処理後のｉ番目の短露光画像の各矩形領域は、図４に示すように、位置に応じてサイズが異なる。従って、異なるサイズの矩形領域が順に、画像合成部２０８に供給される。また、各矩形領域内の画素の供給順序は、図６に示す通り、ｉ番目の長露光画像の矩形領域とｉ番目の短露光画像の矩形領域とから交互に対応する画素が供給される。
【００２８】
属性データ供給部２０６は、ＲＡＭ１０２から動領域マップを読み出し、拡大して、合成対象画像の画素に対応する動領域属性データを画像合成部２０８に供給する。ここで、縦４４８画素、横３２０画素の画像に対して、縦１１２画素、横８０画素の動領域マップが生成されているものとする。すると、属性データ供給部２０６のレジスタ８０１は、次のように設定される。横方向矩形数＝５、縦方向矩形数＝７、左端矩形幅＝６２、中間矩形幅＝６４、右端矩形幅＝６６、上端矩形高＝６２、中間矩形高＝６４、下端矩形高＝６６、属性マップ有効化＝０（０は無効を示す）。属性マップ幾何変形パラメータと属性マップアドレスは設定せず、任意の初期値が割り当てられる。属性データ供給部２０６は、以上のレジスタ設定値に基づいて、横方向、縦方向の矩形位置、矩形内の横方向、縦方向の画素位置をカウントしながら、下記のように属性データを画像合成部２０８に供給する。
【００２９】
画像合成部２０８が、図４に示す矩形＃０を合成する際には、属性データ供給部２０６は、動領域マップの画素（０，０）〜（１５，０）、（０，１）〜（１５，１）、・・・、（０，１５）〜（１５，１５）を読み出す。ここで、（）内の数字は、横方向の画素位置と縦方向の画素位置を示す。図９は、属性マップ（ここでは、動領域マップ）から読み出される矩形領域（矩形＃０に対応する矩形領域）と、画像合成部２０８に供給される画素との関係を説明するための図である。矩形領域１００１は、動領域マップから読み出される１６×１６画素の矩形領域である。矩形領域１００２は、矩形領域１００１を縮小率に対応し縦横共に４倍に拡大した矩形領域である。矩形領域１００３は、拡大された矩形領域１００２のうち画像合成部２０８に供給される６２×６２画素の矩形領域を示す。つまり、矩形領域１００３の画素値が、属性データ（ここでは、動領域属性データ）として画像合成部２０８に供給される。以下、属性データ供給部２０６が、動領域マップの矩形領域（矩形＃０に対応する矩形領域）から動領域属性データを供給する動作例を示す。
【００３０】
矩形＃０の１〜４ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（０，０）〜（１４，０）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給した後、画素（１５，０）の値を２回、画像合成部２０８に供給する。同様に、５〜８ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（０，１）〜（１４，１）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給した後、画素（１５，１）の値を２回、画像合成部２０８に供給する。以下同様に、９〜１２ライン目の合成については、動領域マップの画素（０，２）〜（１５，２）の値が供給される。１３〜１６ライン目の合成については、動領域マップの画素（０，３）〜（１５，３）の値が供給される。１７〜２０ライン目の合成については、動領域マップの画素（０，４）〜（１５，４）の値が供給される。２１〜２４ライン目の合成については、動領域マップの画素（０，５）〜（１５，５）の値が供給される。２５〜２８ライン目の合成については、動領域マップの画素（０，６）〜（１５，６）の値が供給される。２９〜３２ライン目の合成については、動領域マップの画素（０，７）〜（１５，７）の値が供給される。３３〜３６ライン目の合成については、動領域マップの画素（０，８）〜（１５，８）の値が供給される。３７〜４０ライン目の合成については、動領域マップの画素（０，９）〜（１５，９）の値が供給される。４１〜４４ライン目の合成については、動領域マップの画素（０，１０）〜（１５，１０）の値が供給される。４５〜４８ライン目の合成については、動領域マップの画素（０，１１）〜（１５，１１）の値が供給される。４９〜５２ライン目の合成については、動領域マップの画素（０，１２）〜（１５，１２）の値が供給される。５３〜５６ライン目の合成については動領域マップの画素（０，１３）〜（１５，１３）の値が供給される。５７〜６０ライン目の合成については、動領域マップの画素（０，１４）〜（１５，１４）の値が供給される。６１〜６２ライン目の合成については、動領域マップの画素（０，１５）〜（１５，１５）の値が供給される。
【００３１】
画像合成部２０８が、図４に示す矩形＃１を合成する際には、属性データ供給部２０６は、動領域マップの画素（１５，０）〜（３１，０）、（１５，１）〜（３１，１）、・・・、（１５，１５）〜（３１，１５）を読み出す。図１０は、動領域マップから読み出される矩形領域（矩形＃１に対応する矩形領域）と、画像合成部２０８に供給される画素との関係を説明するための図である。矩形領域１１０１は、動領域マップから読み出される１７×１６画素の矩形領域である。矩形領域１１０２は、矩形領域１１０１を縮小率に対応し縦横共に４倍に拡大した矩形領域である。矩形領域１１０３は、拡大した矩形領域１１０２のうち画像合成部２０８に供給する６４×６２画素の矩形領域を示す。つまり、矩形領域１１０３の画素値が、動領域属性データとして画像合成部２０８に供給される。以下、属性データ供給部２０６が、動領域マップの矩形領域（矩形＃１に対応する矩形領域）から動領域属性データを供給する動作例を示す。
【００３２】
矩形＃１の１〜４ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（１５，０）の値を２回繰り返して画像合成部２０８に供給し、画素（１６，０）〜（３０，０）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給し、さらに、画素（３１，０）の値を２回、画像合成部２０８に供給する。以下同様に、５〜８ライン目の合成については、動領域マップの画素（１５，１）〜（３１，１）の値が供給される。９〜１２ライン目の合成については、動領域マップの画素（１５，２）〜（３１，２）の値が供給される。１３〜１６ライン目の合成については、動領域マップの画素（１５，３）〜（３１，３）の値が供給される。１７〜２０ライン目の合成については、動領域マップの画素（１５，４）〜（３１，４）の値が供給される。２１〜２４ライン目の合成については、動領域マップの画素（１５，５）〜（３１，５）の値が供給される。２５〜２８ライン目の合成については、動領域マップの画素（１５，６）〜（３１，６）の値が供給される。２９〜３２ライン目の合成については、動領域マップの画素（１５，７）〜（３１，７）の値が供給される。３３〜３６ライン目の合成については、動領域マップの画素（１５，８）〜（３１，８）の値が供給される。３７〜４０ライン目の合成については、動領域マップの画素（１５，９）〜（３１，９）の値が供給される。４１〜４４ライン目の合成については、動領域マップの画素（１５，１０）〜（３１，１０）の値が供給される。４５〜４８ライン目の合成については、動領域マップの画素（１５，１１）〜（３１，１１）の値が供給される。４９〜５２ライン目の合成については、動領域マップの画素（１５，１２）〜（３１，１２）の値が供給される。５３〜５６ライン目の合成については、動領域マップの画素（１５，１３）〜（３１，１３）の値が供給される。５７〜６０ライン目の合成については、動領域マップの画素（１５，１４）〜（３１，１４）の値が供給される。６１〜６２ライン目の合成については、動領域マップの画素（１５，１５）〜（３１，１５）の値が供給される。矩形＃２、矩形＃３に対しても、矩形＃１と同様の処理となる。
【００３３】
画像合成部２０８が、図４に示す矩形＃４を合成する際には、属性データ供給部２０６は、動領域マップの画素（６３，０）〜（７９，０）、（６３，１）〜（７９，１）、・・・、（６３，１５）〜（７９，１５）を読み出す。図１１は、動領域マップから読み出される矩形領域（矩形＃４に対応する矩形領域）と、画像合成部２０８に供給される画素との関係を説明するための図である。矩形領域１２０１は、動領域マップから読み出される１７×１６画素の矩形領域である。矩形領域１２０２は、矩形領域１２０１を縮小率に対応し縦横共に４倍に拡大した矩形領域である。矩形領域１２０３は、拡大した矩形領域１２０２のうち画像合成部２０８に供給される６６×６２画素の矩形領域を示す。つまり、矩形領域１２０３の画素値が、動領域属性データとして画像合成部２０８に供給される。以下、属性データ供給部２０６が、動領域マップの矩形領域（矩形＃４に対応する矩形領域）から動領域属性データを供給する動作例を示す。
【００３４】
矩形＃４の１〜４ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（６３，０）の値を２回繰り返して画像合成部２０８に供給し、画素（６４，０）〜（７９，０）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給する。以下同様に５〜８ライン目の合成については、動領域マップの画素（６３，１）〜（７９，１）の値が供給される。９〜１２ライン目の合成については、動領域マップの画素（６３，２）〜（７９，２）の値が供給される。１３〜１６ライン目の合成については、動領域マップの画素（６３，３）〜（７９，３）の値が供給される。１７〜２０ライン目の合成については、動領域マップの画素（６３，４）〜（７９，４）の値が供給される。２１〜２４ライン目の合成については、動領域マップの画素（６３，５）〜（７９，５）の値が供給される。２５〜２８ライン目の合成については、動領域マップの画素（６３，６）〜（７９，６）の値が供給される。２９〜３２ライン目の合成については、動領域マップの画素（６３，７）〜（７９，７）の値が供給される。３３〜３６ライン目の合成については、動領域マップの画素（６３，８）〜（７９，８）の値が供給される。３７〜４０ライン目の合成については、動領域マップの画素（６３，９）〜（７９，９）の値が供給される。４１〜４４ライン目の合成については、動領域マップの画素（６３，１０）〜（７９，１０）の値が供給される。４５〜４８ライン目の合成については、動領域マップの画素（６３，１１）〜（７９，１１）の値が供給される。４９〜５２ライン目の合成については、動領域マップの画素（６３，１２）〜（７９，１２）の値が供給される。５３〜５６ライン目の合成については、動領域マップの画素（６３，１３）〜（７９，１３）の値が供給される。５７〜６０ライン目の合成については、動領域マップの画素（６３，１４）〜（７９，１４）の値が供給される。６１〜６２ライン目の合成については、動領域マップの画素（６３，１５）〜（７９，１５）の値が供給される。
【００３５】
画像合成部２０８が、図４に示す矩形＃５を合成する際には、属性データ供給部２０６は、動領域マップの画素（０，１５）〜（１５，１５）、（０，１６）〜（１５，１６）、・・・、（０，３１）〜（１５，３１）を読み出す。図１２は、動領域マップから読み出される矩形領域（矩形＃５に対応する矩形領域）と、画像合成部２０８に供給される画素との関係を説明するための図である。矩形領域１３０１は、動領域マップから読み出される１６×１７画素の矩形領域である。矩形領域１３０２は、矩形領域１３０１を縮小率に対応し縦横共に４倍に拡大した矩形領域である。矩形領域１３０３は、拡大した矩形領域１３０２のうち画像合成部２０８に供給される６２×６４画素の矩形領域を示す。つまり、矩形領域１３０３の画素値が、動領域属性データとして画像合成部２０８に供給される。以下、属性データ供給部２０６が、動領域マップを拡大した矩形領域（矩形＃５に対応する矩形領域）から動領域属性の画素を供給する動作例を示す。
【００３６】
矩形＃５の１〜２ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（０，１５）〜（１４，１５）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給した後、画素（１５，１５）の値を２回、画像合成部２０８に供給する。３〜６ライン目の合成に対しては、属性データ供給部２０６は、画素（０，１６）〜（１４，１６）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給した後、画素（１５，１６）の値を２回、画像合成部２０８する。以下同様に、７〜１０ライン目の合成については、動領域マップの画素（０，１７）〜（１５，１７）の値が供給される。１１〜１４ライン目の合成については、動領域マップの画素（０，１８）〜（１５，１８）の値が供給される。１５〜１８ライン目の合成については、動領域マップの画素（０，１９）〜（１５，１９）の値が供給される。１９〜２２ライン目の合成については、動領域マップの画素（０，２０）〜（１５，２０）の値が供給される。２３〜２６ライン目の合成については、動領域マップの画素（０，２１）〜（１５，２１）の値が供給される。２７〜３０ライン目の合成については、動領域マップの画素（０，２２）〜（１５，２２）の値が供給される。３１〜３４ライン目の合成については、動領域マップの画素（０，２３）〜（１５，２３）の値が供給される。３５〜３８ライン目の合成については、動領域マップの画素（０，２４）〜（１５，２４）の値が供給される。３９〜４２ライン目の合成については、動領域マップの画素（０，２５）〜（１５，２５）の値が供給される。４３〜４６ライン目の合成については、動領域マップの画素（０，２６）〜（１５，２６）の値が供給される。４７〜５０ライン目の合成については、動領域マップの画素（０，２７）〜（１５，２７）の値が供給される。５１〜５４ライン目の合成については、動領域マップの画素（０，２８）〜（１５，２８）の値が供給される。５５〜５８ライン目の合成については、動領域マップの画素（０，２９）〜（１５，２９）の値が供給される。５９〜６２ライン目の合成については、動領域マップの画素（０，３０）〜（１５，３０）の値が供給される。６３〜６４ライン目の合成については、動領域マップの画素（０，３１）〜（１５，３１）の値が供給される。
【００３７】
画像合成部２０８が、図４に示す矩形＃６を合成する際には、属性データ供給部２０６は、動領域マップの画素（１５，１５）〜（３１，１５）、（１５，１６）〜（３１，１６）、・・・、（１５，３１）〜（３１，３１)を読み出す。図１３は、動領域マップから読み出される矩形領域（矩形＃６に対応する矩形領域）と、画像合成部２０８に供給される画素との関係を説明するための図である。矩形領域１４０１は、動領域マップから読み出される１７×１７画素の矩形で領域ある。矩形領域１４０２は、矩形領域１４０１を縮小率に対応し縦横共に４倍に拡大した矩形領域である。矩形領域１４０３は、拡大した矩形領域１４０２のうち画像合成部２０８に供給される６４×６４画素の矩形領域を示す。つまり、矩形領域１４０３の画素値が、動領域属性データとして画像合成部２０８に供給される。以下、属性データ供給部２０６が、動領域マップの矩形領域（矩形＃６に対応する矩形領域）から動領域属性データを供給する動作例を示す。
【００３８】
矩形＃６の１〜２ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（１５，１５）の値を２回繰り返して画像合成部２０８に供給する。さらに、属性データ供給部２０６は、画素（１６，１５）〜（３０，１５）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給した後、画素（３１，１５）の値を２回、画像合成部２０８に供給する。３〜６ライン目の合成に対しては、属性データ供給部２０６は、画素（１５，１６）の値を２回繰り返して画像合成部２０８に供給する。さらに、画素（１６，１６）〜（３０，１６）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給した後、画素（３１，１６）の値を２回、画像合成部２０８に供給する。以下同様に、７〜１０ライン目の合成については、動領域マップの画素（１５，１７）〜（３１，１７）の値が供給される。１１〜１４ライン目の合成については、動領域マップの画素（１５，１８）〜（３１，１８）の値が供給される。１５〜１８ライン目の合成については、動領域マップの画素（１５，１９）〜（３１，１９）の値が供給される。１９〜２２ライン目の合成については、動領域マップの画素（１５，２０）〜（３１，２０）の値が供給される。２３〜２６ライン目の合成については、動領域マップの画素（１５，２１）〜（３１，２１）の値が供給される。２７〜３０ライン目の合成については、動領域マップの画素（１５，２２）〜（３１，２２）の値が供給される。３１〜３４ライン目の合成については、動領域マップの画素（１５，２３）〜（３１，２３）の値が供給される。３５〜３８ライン目の合成については、動領域マップの画素（１５，２４）〜（３１，２４）の値が供給される。３９〜４２ライン目の合成については、動領域マップの画素（１５，２５）〜（３１，２５）の値が供給される。４３〜４６ライン目の合成については、動領域マップの画素（１５，２６）〜（３１，２６）の値が供給される。４７〜５０ライン目の合成については、動領域マップの画素（１５，２７）〜（３１，２７）の値が供給される。５１〜５４ライン目の合成については、動領域マップの画素（１５，２８）〜（３１，２８）の値が供給される。５５〜５８ライン目の合成については、動領域マップの画素（１５，２９）〜（３１，２９）の値が供給される。５９〜６２ライン目の合成については、動領域マップの画素（１５，３０）〜（３１，３０）の値が供給される。６３〜６４ライン目の合成については、動領域マップの画素（１５，３１）〜（３１，３１）の値が供給される。矩形＃７、矩形＃８に対しても、矩形＃６と同様の処理となる。
【００３９】
画像合成部２０８が、図４に示す矩形＃９を合成する際には、属性データ供給部２０６は、動領域マップの画素（６３，１５）〜（７９，１５）、（６３，１６）〜（７９，１６）、・・・、（６３，３１）〜（７９，３１)を読み出す。図１４は、動領域マップから読み出される矩形領域（矩形＃９に対応する矩形領域）と、画像合成部２０８に供給される画素との関係を説明するための図である。矩形領域１５０１は、動領域マップから読み出す１７×１７画素の矩形領域である。矩形領域１５０２は、矩形領域１５０１を縮小率に対応し縦横共に４倍に拡大した矩形領域である。矩形領域１５０３は、拡大した矩形領域１５０２のうち画像合成部２０８に供給する６６×６４画素の矩形領域を示す。つまり、矩形領域１５０３の画素値が、動領域属性データとして画像合成部２０８に供給される。以下、属性データ供給部２０６が、動領域マップの矩形領域（矩形＃９に対応する矩形領域）から動領域属性データを供給する動作例を示す。
【００４０】
矩形＃９の１〜２ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（６３，１５）の値を２回繰り返して画像合成部２０８に供給し、画素（６４，１５）〜（７９，１５）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給する。３〜６ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（６３，１６）の値を２回繰り返して画像合成部２０８に供給し、画素（６４，１６）〜（７９，１６）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給する。以下同様に、７〜１０ライン目の合成については、動領域マップの画素（６３，１７）〜（７９，１７）の値を供給する。１１〜１４ライン目の合成については、動領域マップの画素（６３，１８）〜（７９，１８）の値を供給する。１５〜１８ライン目の合成については、動領域マップの画素（６３，１９）〜（７９，１９）の値を供給する。１９〜２２ライン目の合成については、動領域マップの画素（６３，２０）〜（７９，２０）の値を供給する。２３〜２６ライン目の合成については、動領域マップの画素（６３，２１）〜（７９，２１）の値を供給する。２７〜３０ライン目の合成については、動領域マップの画素（６３，２２）〜（７９，２２）の値を供給する。３１〜３４ライン目の合成については、動領域マップの画素（６３，２３）〜（７９，２３）の値を供給する。３５〜３８ライン目の合成については、動領域マップの画素（６３，２４）〜（７９，２４）の値を供給する。３９〜４２ライン目の合成については、動領域マップの画素（６３，２５）〜（７９，２５）の値を供給する。４３〜４６ライン目の合成については、動領域マップの画素（６３，２６）〜（７９，２６）の値を供給する。４７〜５０ライン目の合成については、動領域マップの画素（６３，２７）〜（７９，２７）の値を供給する。５１〜５４ライン目の合成については、動領域マップの画素（６３，２８）〜（７９，２８）の値を供給する。５５〜５８ライン目の合成については、動領域マップの画素（６３，２９）〜（７９，２９）の値を供給する。５９〜６２ライン目の合成については、動領域マップの画素（６３，３０）〜（７９，３０）の値を供給する。６３〜６４ライン目の合成については、動領域マップの画素（６３，３１）〜（７９，３１）の値を供給する。矩形＃１０〜矩形＃１４、矩形＃１５〜矩形＃１９、矩形＃２０〜矩形＃２４、矩形＃２５〜矩形＃２９の処理も、矩形＃５〜矩形＃９の処理と同様である。
【００４１】
画像合成部２０８が、図４に示す矩形＃３０を合成する際には、属性データ供給部２０６は、動領域マップの画素（０，９５）〜（１５，１１１）、（０，９５）〜（１５，１１１）、・・・、（０，９５）〜（１５，１１１)を読み出す。図１５は、動領域マップから読み出される矩形領域（矩形＃３０に対応する矩形領）と、画像合成部２０８に供給される画素との関係を説明するための図である。矩形領域１６０１は、動領域マップから読み出す１６×１７画素の矩形領域である。矩形領域１６０２は、矩形領域１６０１を縮小率に対応し縦横共に４倍に拡大した矩形領域である。矩形領域１６０３は、拡大した矩形領域１６０２のうち画像合成部２０８に供給する６２×６６画素の矩形領域を示す。つまり、矩形領域１６０３の画素値が、動領域属性データとして画像合成部２０８に供給される。以下、属性データ供給部２０６が、動領域マップの矩形領域（矩形＃３０に対応する矩形領域）から動領域属性データを供給する動作例を示す。
【００４２】
矩形＃３０の１〜２ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（０，９５）〜（１４，９５）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給した後、画素（１５，９５）の値を２回、画像合成部２０８に供給する。３〜６ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（０，９６）〜（１４，９６）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給した後、画素（１５，９６）の値を２回、画像合成部２０８する。以下同様に、７〜１０ライン目の合成については、動領域マップの画素（０，９７）〜（１５，９７）の値が供給される。１１〜１４ライン目の合成については、動領域マップの画素（０，９８）〜（１５，９８）の値が供給される。１５〜１８ライン目の合成については、動領域マップの画素（０，９９）〜（１５，９９）の値が供給される。１９〜２２ライン目の合成については、動領域マップの画素（０，１００）〜（１５，１００）の値が供給される。２３〜２６ライン目の合成については、動領域マップの画素（０，１０１）〜（１５，１０１）の値が供給される。２７〜３０ライン目の合成については、動領域マップの画素（０，１０２）〜（１５，１０２）の値が供給される。３１〜３４ライン目の合成については、動領域マップの画素（０，１０３）〜（１５，１０３）の値が供給される。３５〜３８ライン目の合成については、動領域マップの画素（０，１０４）〜（１５，１０４）の値が供給される。３９〜４２ライン目の合成については、動領域マップの画素（０，１０５）〜（１５，１０５）の値が供給される。４３〜４６ライン目の合成については、動領域マップの画素（０，１０６）〜（１５，１０６）の値が供給される。４７〜５０ライン目の合成については、動領域マップの画素（０，１０７）〜（１５，１０７）の値が供給される。５１〜５４ライン目の合成については、動領域マップの画素（０，１０８）〜（１５，１０８）の値が供給される。５５〜５８ライン目の合成については、動領域マップの画素（０，１０９）〜（１５，１０９）の値が供給される。５９〜６２ライン目の合成については、動領域マップの画素（０，１１０）〜（１５，１１０）の値が供給される。６３〜６６ライン目の合成については、動領域マップの画素（０，１１１）〜（１５，１１１）の値が供給される。
【００４３】
画像合成部２０８が、図４に示す矩形＃３１を合成する際には、属性データ供給部２０６は、動領域マップの画素（１５，９５）〜（３１，９５）、（１５，９６）〜（３１，９６）、・・・、（１５，１１１）〜（３１，１）１１）を読み出す。図１６は、動領域マップが読み出される矩形領域（矩形＃３１に対応する矩形領域）と、画像合成部２０８に供給される画素との関係を説明するための図である。矩形領域１７０１は、動領域マップから読み出される１７×１７画素の矩形領域である。矩形領域１７０２は、矩形領域１７０１を縮小率に対応し縦横共に４倍に拡大した矩形領域である。矩形領域１７０３は、拡大した矩形領域１７０２のうち画像合成部２０８に供給する６４×６６画素の矩形領域を示す。つまり、矩形領域１７０３の画素値が、動領域属性データとして画像合成部２０８に供給される。以下、属性データ供給部２０６が、動領域マップの矩形領域（矩形＃３１に対応する矩形領域）から動領域属性データを供給する動作例を示す。
【００４４】
矩形＃３１の１〜２ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（１５，９５）の値を２回繰り返して画像合成部２０８に供給する。さらに、属性データ供給部２０６は、画素（１６，９５）〜（３０，９５）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給した後、画素（３１，９５）の値を２回、画像合成部２０８に供給する。３〜６ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（１５，９６）の値を２回繰り返して画像合成部２０８に供給する。さらに、属性データ供給部２０６は、画素（１６，９６）〜（３０，９６）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給した後、画素（３１，９６）の値を２回、画像合成部２０８する。以下同様に、７〜１０ライン目の合成については、動領域マップの画素（１５，９７）〜（３１，９７）の値が供給される。１１〜１４ライン目の合成については、動領域マップの画素（１５，９８）〜（３１，９８）の値が供給される。１５〜１８ライン目の合成については、動領域マップの画素（１５，９９）〜（３１，９９）の値が供給される。１９〜２２ライン目の合成については、動領域マップの画素（１５，１００）〜（３１，１００）の値が供給される。２３〜２６ライン目の合成については、動領域マップの画素（１５，１０１）〜（３１，１０１）の値を供給する。２７〜３０ライン目の合成については、動領域マップの画素（１５，１０２）〜（３１，１０２）の値が供給される。３１〜３４ライン目の合成については、動領域マップの画素（１５，１０３）〜（３１，１０３）の値が供給される。３５〜３８ライン目の合成については、動領域マップの画素（１５，１０４）〜（３１，１０４）の値が供給される。３９〜４２ライン目の合成については、動領域マップの画素（１５，１０５）〜（３１，１０５）の値が供給される。４３〜４６ライン目の合成については、動領域マップの画素（１５，１０６）〜（３１，１０６）の値が供給される。４７〜５０ライン目の合成については、動領域マップの画素（１５，１０７）〜（３１，１０７）の値が供給される。５１〜５４ライン目の合成については、動領域マップの画素（１５，１０８）〜（３１，１０８）の値が供給される。５５〜５８ライン目の合成については、動領域マップの画素（１５，１０９）〜（３１，１０９）の値が供給される。５９〜６２ライン目の合成については、動領域マップの画素（１５，１１０）〜（３１，１１０）の値が供給される。６３〜６６ライン目の合成については、動領域マップの画素（１５，１１１）〜（３１，１１１）の値が供給される。矩形＃３２、矩形＃３３に対しても、矩形＃３１と同様の処理となる。
【００４５】
画像合成部２０８が、図４に示す矩形＃３４を合成する際には、属性データ供給部２０６は、動領域マップの画素（６３，９５）〜（７９，９５）、（６３，９６）〜（７９，９６）、・・・、（６３，１１１）〜（７９，１１１)を読み出す。図１７は、動領域マップから読み出される矩形領域（矩形＃３４に対応する矩形領域）と、画像合成部２０８に供給される画素との関係を説明するための図である。矩形領域１８０１は、動領域マップから読み出される１７×１７画素の矩形領域である。矩形領域１８０２は、矩形領域１８０１を縮小率に対応し縦横共に４倍に拡大した矩形領域である。矩形領域１８０３は拡大した矩形領域１８０２のうち画像合成部２０８に供給する６６×６６画素の矩形領域を示す。つまり、矩形領域１８０３の画素値が、動領域属性データとして画像合成部２０８に供給される。以下、属性データ供給部２０６が、動領域マップの矩形領域（矩形＃３４に対応する矩形領域）から動領域属性データを供給する動作例を示す。
【００４６】
矩形＃３４の１〜２ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（６３，９５）の値を２回繰り返して画像合成部２０８に供給し、画素（６４，９５）〜（７９，９５）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給する。３〜６ライン目の合成に対しては、属性データ供給部２０６は、動領域マップの画素（６３，９６）の値を２回繰り返して画像合成部２０８に供給し、画素（６４，９６）〜（７９，９６）の値をそれぞれの画素毎に４回繰り返して画像合成部２０８に供給する。以下同様に、７〜１０ライン目の合成については、動領域マップの画素（６３，９７）〜（７９，９７）の値が供給される。１１〜１４ライン目の合成については、動領域マップの画素（６３，９８）〜（７９，９８）の値が供給される。１５〜１８ライン目の合成については、動領域マップの画素（６３，９９）〜（７９，９９）の値が供給される。１９〜２２ライン目の合成については、動領域マップの画素（６３，１００）〜（７９，１００）の値が供給される。２３〜２６ライン目の合成については、動領域マップの画素（６３，１０１）〜（７９，１０１）の値が供給される。２７〜３０ライン目の合成については、動領域マップの画素（６３，１０２）〜（７９，１０２）の値が供給される。３１〜３４ライン目の合成については、動領域マップの画素（６３，１０３）〜（７９，１０３）の値が供給される。３５〜３８ライン目の合成については、動領域マップの画素（６３，１０４）〜（７９，１０４）の値が供給される。３９〜４２ライン目の合成については、動領域マップの画素（６３，１０５）〜（７９，１０５）の値が供給される。４３〜４６ライン目の合成については、動領域マップの画素（６３，１０６）〜（７９，１０６）の値が供給される。４７〜５０ライン目の合成については、動領域マップの画素（６３，１０７）〜（７９，１０７）の値が供給される。５１〜５４ライン目の合成については、動領域マップの画素（６３，１０８）〜（７９，１０８）の値が供給される。５５〜５８ライン目の合成については、動領域マップの画素（６３，１０９）〜（７９，１０９）の値が供給される。５９〜６２ライン目の合成については、動領域マップの画素（６３，１１０）〜（７９，１１０）の値が供給される。６３〜６６ライン目の合成については、動領域マップの画素（６３，１１１）〜（７９，１１１）の値が供給される。
【００４７】
以上のように、属性データ供給部２０６は、動領域マップを拡大して、フィルタ処理後の合成対象画像の各矩形領域に対応する動領域属性データを画像合成部２０８に供給する。
【００４８】
画像合成部２０８は、動領域属性データが動領域を示す画素においては、短露光画像の画素を合成結果として画像データ転送部２０９に出力する。また、画像合成部２０８は、動領域属性データが動領域以外を示す画素においては、所定の計算式に従って短露光画像の画素と長露光画像の画素とを処理した値を合成結果として画像データ転送部２０９に出力する。画像データ転送部２０９は、画像合成部２０８によって合成された画像データを、ＲＡＭ１０２の所定のアドレスに転送する。
【００４９】
画像出力部１０７には、ディスプレイドライバが接続されていて、さらにディスプレイドライバにはディスプレイが接続されている。画像出力部１０７は、ＲＡＭ１０２に格納された、画像処理部１０６によって合成された画像データを読み出し、ディスプレイドライバに転送する。ディスプレイドライバは転送された画像データを処理した後、処理後の画像データをディスプレイに出力する。これにより、短露光画像と長露光画像とを合成したＨＤＲ画像がディスプレイに表示される。
【００５０】
以上に説明したように、本実施例では、縮小された動領域マップを拡大する際に、フィルタ処理後の処理対象画像の各ブロック領域の画像全体における位置及びサイズに応じて、動領域マップの画素を画像合成部２０８に供給する。したがって、フィルタ処理により、処理対象画像の各ブロック領域のサイズが、画像全体における位置によって変わってしまった場合でも、処理対象画像の画素と属性マップの画素とを適切に対応させることができる。それにより、ブロック分割された処理対象画像に対してフィルタ処理を実行した場合でも、画像合成を適切に行うことが可能となる。またそれにより、隣接するブロック領域をオーバーラップさせたり、複数ライン分のメモリを設けたりする必要がなくなるので、製品コストを必要以上に増大させることがない。また、本実施例では、属性データ供給部２０６が、フィルタ部２０７が行うフィルタ処理の手法に応じたフィルタ情報を、レジスタ８０１に保持する。したがって、属性データ供給部２０６は、フィルタ処理の手法が変わった場合でも、レジスタ８０１に適切な値を設定することにより、処理対象画像の画素と属性マップの画素とを対応させることができる。
【００５１】
なお、露光時間が異なる三つ以上の画像を合成する場合も、属性データ供給部２０６を適用することができる。また、画像処理は合成に限らず、複数の画像を処理する任意の画像処理であってもよい。また、属性データ供給部２０６は、属性マップに限らずフィルタ処理をしていない任意の画像を供給するために用いてもよい。また、本実施例では、メモリ消費量を低減させるために、画像縮小部２０２を設けて、縦横それぞれ１／４に縮小された処理対象画像から動領域マップを生成しているが、画像処理装置は画像縮小部２０２を備えていなくてもよい。また、本実施例では、処理対象画像を矩形領域に区切ってフィルタ部２０７に供給する場合を例にしたが、処理対象画像を矩形以外のブロック領域に区切ってフィルタ部２０７に供給するようにしてもよい。また、本実施例では、説明の簡単のため、画像データ読込部２０５が処理対象画像に対して幾何変形を行わない例を挙げて説明したが、画像データ読込部２０５が、処理対象画像に対して幾何変形を行う場合には、レジスタ８０１の属性マップ幾何変形パラメータに、処理対象画像に対して行われる幾何変形に対応する値を設定すればよい。そして、属性データ供給部２０６が、画像合成部２０８に供給する属性データ（例えば、図９に示す矩形領域１００３の画素）に対して、上記属性マップ幾何変形パラメータに基づいて幾何変形を行うようにすればよい。
【００５２】
［実施例２］
本実施例では、画像合成部２０８が複数画像を合成する際に、特に高輝度領域、低輝度領域とそれ以外の領域とで、パラメータを変えて合成する例を示す。例えば、画像合成部２０８は、高輝度領域（例えば、輝度が所定の上限閾値を超える領域）においては、短露光画像の合成比率を大きくし、低輝度領域（例えば、輝度が所定の下限閾値を下回る領域）では長露光画像の合成比率を大きくする。
【００５３】
画像合成部２０８が高輝度領域と低輝度領域との処理を変更するためには、輝度マップが必要となる。従って、属性データ供給部２０６は、動領域マップと輝度マップとを画像合成部２０８に供給する。
【００５４】
ここで、縦４４８画素、横３２０画素の画像に対して、縦１１２画素、横８０画素の動領域マップと、縦１１２画素、横８０画素の輝度マップが生成されているものとする。このとき、属性データ供給部２０６のレジスタ８０１は、例えば、次のように設定される。横方向矩形数＝５、縦方向矩形数＝７、左端矩形幅６２、中間矩形幅＝６４、右端矩形幅＝６６、上端矩形高＝６２、中間矩形高＝６４、下端矩形高＝６６、第一属性マップ有効化＝１（１は有効を示す）、第一属性マップ幾何変形パラメータ＝（ａ：４，ｂ：０，ｃ：０，ｄ：４）、第一属性マップアドレス＝動領域マップの先頭アドレス、第二属性マップ有効化＝１（１は有効を示す）。第二属性マップ幾何変形パラメータ＝（ａ：４，ｂ：０，ｃ：０，ｄ：４）、第二属性マップアドレス＝輝度マップの先頭アドレス。属性データ供給部２０６は、以上のレジスタ設定値に基づいて、横方向、縦方向の矩形位置、矩形内の横方向、縦方向の画素位置をカウントしながら、第１の実施例と同様に、動領域属性データと輝度属性データとを画像合成部２０８に供給する。
【００５５】
なお、動領域マップの縮小率と輝度マップの縮小率は、それぞれ異なる値であってもよい。
【００５６】
［実施例３］
第１の実施例では、画像処理部１０６（具体的には画像合成部２０８）が長露光画像と短露光画像とを合成する例を示したが、画像処理部１０６は、その他の画像処理を行ってもよい。例えば、画像処理部１０６は、入力画像に対して画像補正を行ってもよい。そこで、本実施例では、画像処理部１０６が輝度マップを参照して暗部の画素値を補正する画像処理装置を例にする。
【００５７】
本実施例に係る画像処理装置の構成は、第１の実施例と同様である。ただし、画像解析部１０５が、動領域属性生成部２０４の代わりに、輝度マップ生成部（図示せず）を含む。また、画像処理部１０６が、画像合成部２０８の代わりに、画像補正部（図示せず）を含む。本実施例に係る画像処理装置では、属性データ供給部２０６が、動領域マップの代わりに、輝度マップ生成部から受け取った輝度マップを矩形領域毎に画像補正部に供給する。その際、属性データ供給部２０６は、動領域マップを供給する場合と同様に、フィルタ情報に基づいて矩形領域毎に輝度マップを画像補正部に供給する。画像補正部は、属性データ供給部２０６から供給される矩形領域毎の輝度マップを参照して、暗部の画素値を補正する。具体的には、画像補正部は、所定の閾値以下の輝度を有する領域の画素値を高輝度側に補正する。例えば、画像補正部は、所定の閾値以下の輝度を有する領域の輝度を、所定の閾値より大きい値に補正する。
【００５８】
［実施例４］
第１の実施例では、フィルタ処理された処理対象画像を、属性マップに基づいて処理する画像処理装置を例にした。しかし、本発明は、フィルタ処理された処理対象画像と、フィルタ処理される前の処理対象画像とを用いて、いずれの画像とも異なる画像を新たに生成する画像生成処理を行う画像処理装置にも適用可能である。そこで、本実施例では、画像処理部１０６が属性マップの代わりに、フィルタ処理前の処理対象画像を入力する画像処理装置を例にする。
【００５９】
図１８は、第４の実施例に係る画像処理装置の画像処理部の構成を示すブロック図である。本実施例では、図１８に示すように、画像処理部は、属性データ供給部２０６の代わりに、画像データ供給部２１０を含む。また、画像処理部は、画像合成部２０８の代わりに、差分画像生成部２１１を含む。なお、本実施例では画像処理部が属性データを入力しないので、本実施例に係る画像処理装置は、画像解析部１０５を備えていなくてもよい。画像データ供給部２１０は、画像データ読込部２０５と同様に、画像入力部１０４から画像データを読み込む。すなわち、画像データ供給部２１０が読み込む画像データと、画像データ読込部２０５が読み込む画像データとは、同じである。また、画像データ供給部２１０の構成は、属性データ供給部２０６と同様である。つまり、画像データ供給部２１０は、読み込むデータが画像データであることを除いて、属性データ供給部２０６と同様に動作する。差分画像生成部２１１は、フィルタ部２０７から供給されるフィルタ処理された画像と、画像データ供給部２１０から供給されるフィルタ処理されていない画像とを矩形単位で比較し、画素毎の差分画像を生成する。
【００６０】
なお、画像処理部１０６は、さらに、フィルタ制御部（図示せず）を備えていてもよい。そして、フィルタ制御部が、差分画像生成部２１１が生成した差分画像に基づいて、フィルタ係数を計算し、計算したフィルタ係数をフィルタ部２０７に設定するようにしてもよい。例えば、フィルタ制御部は、矩形単位に生成される差分画像を一画面分蓄積して、一画面分の差分画像から、次の画面を処理するためのフィルタ係数を計算し、次の画面を処理する前に計算したフィルタ係数をフィルタ部２０７に設定するようにしてもよい。
【００６１】
［実施例５］
第１の実施例では、画像合成の前処理としてブロック分割およびフィルタ処理を行う画像処理装置を例にした。これに対して、本実施例では、画像合成の前処理として幾何変形を行う画像処理装置を例にする。
【００６２】
本実施例における画像処理装置は、１フレーム（１／６０秒）毎に露光時間を変えて撮影して得られた短露光画像と長露光画像とを入力する。そして、画像処理装置は、時間的に差がある２つのフレームの画像を比較する。本実施例では、画像処理装置は、時間的に差がある２つのフレームの画像として、現在フレームの短露光画像と前フレームの短露光画像とを比較する。ここで、前フレームとは、現在フレームよりも１つ前のフレームである。そして、画像処理装置は、比較して得られた幾何変形パラメータに基づいて、現在フレームの短露光画像と長露光画像を幾何変形して、カメラのブレなどの振動による歪を除去する。そして、画像処理装置は、幾何変形を行った現在フレームの短露光画像と長露光画像を画像合成して、広いダイナミックレンジを有するＨＤＲ画像を生成する。そして、画像処理装置は、生成したＨＤＲ画像をディスプレイなどに出力する。
【００６３】
まず、本実施例の効果を説明する。ＨＤＲ合成を行う動画像処理では、カメラのブレなどの振動による歪を除去するために、入力画像（撮影画像）に対して幾何変形を行うことがある。撮影画像に対して幾何変形を行う場合、幾何変形後の撮影画像と動領域マップとの画素の対応関係が崩れないようにする必要がある。そこで、一般的に、画像処理装置は、まず、撮影画像から動きベクトル検出を行って、幾何変形パラメータを算出して、撮影画像を幾何変形する。次に、画像処理装置は、幾何変形された撮影画像を使って動きベクトル検出して、動領域マップを作成する。しかし、動きベクトル検出では、時間的に連続する画像フレームを比較する処理が行われるため、フレーム単位の処理遅延が発生する。画像幾何変形と動領域マップ作成のそれぞれで動きベクトル検出を行うと、動きベクトル検出を２回行うことになり、処理遅延が大きくなって好ましくない。これに対して、本実施例では、撮影画像から動きベクトル検出を行った結果を使って、画像幾何変形および動領域マップ作成を並列に行う。動領域マップ作成の他方で、画像は幾何変形されるため、そのままでは画像と動領域マップの対応位置関係は崩れてしまう。そこで、動領域マップ作成後に、幾何変形パラメータを使って動領域マップを撮影画像に合わせて幾何変形することで、画像と動領域マップとの画素を対応させる。これによって、動きベクトル検出を１回に削減することができ、処理遅延を短縮することができる。
【００６４】
本実施例における画像処理装置は、第１の実施例における画像解析部１０５の代わりに、画像解析部１１５を備える。また本実施例における画像処理装置は、第１の実施例における画像処理部１０６の代わりに、画像処理部１１６を備える。
【００６５】
図１９は、第５の実施例における画像解析部１１５および画像処理部１１６の構成を示すブロック図である。画像解析部１１５は、時間的に差がある２つのフレームの画像を読み込み、対応点探索を行う。上述したように、本実施例では、画像解析部１１５は、時間的に差がある２つのフレームの画像として、現在フレームの短露光画像と前フレームの短露光画像とを読み込み、対応点探索を行う。画像解析部１１５は対応点探索により、それらの画像の撮影間で生じたカメラ姿勢変化による幾何変形パラメータ、および移動被写体を示す属性マップを生成する。画像解析部１１５は、生成した幾何変形パラメータおよび属性マップを画像処理部１１６に出力する。画像処理部１１６は、画像解析部１１５から入力した幾何変形パラメータにしたがって、現在フレームの短露光画像と長露光画像を幾何変形して、カメラのブレによる歪を除去する。また、画像処理部１１６は、現在フレームの短露光画像と長露光画像を属性マップにしたがって合成処理して１つのＨＤＲ画像として出力する。
【００６６】
ここで、画像解析部１１５および画像処理部１１６の詳細を説明する。画像解析部１１５は、画像データ読込部１９０１、対応点探索部１９０２、カメラ姿勢推定部１９０３、および動領域属性生成部１９０５を含む。画像処理部１１６は、画像幾何変形部１９０４、属性データ供給部１９０６、画像合成部２０８、および画像データ転送部２０９を含む。
【００６７】
画像データ読込部１９０１は、時間的に差がある２つのフレームの画像をＲＡＭ１０２から読み出し、対応点探索部１９０２に供給する。
【００６８】
対応点探索部１９０２は、時間的に差がある２つのフレームの画像から特徴点を抽出し、それらの特徴点を画像間でマッチングして、特徴点の対応位置関係を動きベクトルとして出力する。
【００６９】
カメラ姿勢推定部１９０３は、対応点探索部１９０２で算出された複数の動きベクトルから、幾何変形パラメータを算出する。ここでは、幾何変形パラメータとして、時間的に差がある２つのフレームの画像の撮影間で生じたカメラ姿勢変化による動きパラメータ（ホモグラフィ行列）が算出される。ここで、動きベクトルには、カメラ姿勢変化による動きの他に、移動被写体の動きも含まれる。そのため、カメラ姿勢推定部１９０３は、ＲＡＮＳＡＣやＭ推定などのロバスト推定法を用いて、カメラ姿勢変化による動きのみを推定する。具体的には、カメラ姿勢推定部１９０３は、ホモグラフィ行列の算出に必要な４組の特徴点ペアをランダムに選択し、選択された特徴点の座標から連立方程式を解き、ホモグラフィ行列を算出する。カメラ姿勢推定部１９０３は、算出したホモグラフィ行列を他の特徴点の対応位置関係に当てはめ、誤差を算出する。カメラ姿勢推定部１９０３は、同じ手順で、特徴点ペアの選択、ホモグラフィ行列の算出、誤差算出を一定回数繰り返す。最終的に、カメラ姿勢推定部１９０３は、最も誤差が少ないホモグラフィ行列を出力する。
【００７０】
画像幾何変形部１９０４は、カメラ姿勢推定部１９０３で算出したホモグラフィ行列に基づいて、現在フレームの短露光画像と長露光画像を幾何変形して、画像合成部２０８に供給する。
【００７１】
動領域属性生成部１９０５は、対応点探索部１９０２で算出した複数の動きベクトルから動領域マップを作成する。動領域マップは、移動被写体領域を示す多値の属性マップである。ここで、動領域属性生成部１９０５の動作を説明する。
【００７２】
図２０は、第５の実施例における動領域属性生成部１９０５の動作を説明するための図である。図２０（ａ）は、対応点探索部１９０２が算出した動きベクトルが模式的に示されている。図２０（ａ）に示す矢印は、動きベクトルを表す。図２０（ａ）に示されるように、動きベクトルには、移動被写体、およびカメラ姿勢変化による動きが含まれる。図２０（ａ）に示す例では、移動被写体は、人物であり、画面下方向から上方向に移動している。また、カメラ姿勢変化によって、画面全体のオブジェクトが左方向から右方向に移動している。図２０（ｂ）には、移動被写体およびカメラ姿勢変化による動きを含む動きベクトル２００１から、移動被写体の動きベクトル２００３が検出される様子が示されている。動領域属性生成部１９０５は、動きベクトル２００１から、カメラ姿勢変化に相当する動きベクトル２００２を減算して、減算後の動きベクトルを移動被写体の動きベクトル２００３として検出する。ここでは、動きベクトル２００２は、図２０（ａ）に示される各動きベクトルの中で、最も出現頻度が高い動きベクトルである。本実施例では、動領域属性生成部１９０５は、動きベクトル２００２を、カメラ姿勢変化による動きであると仮定する。動領域属性生成部１９０５は、動きベクトル２００３の絶対値を動き量として、動領域マップにマッピングする。図２０（ｃ）には、図２０（ｂ）で検出した動きベクトル２００３から作成された動領域マップが模式的に示されている。
【００７３】
属性データ供給部１９０６は、第１の実施例の属性データ供給部２０６と同様の構成を有する。ただし、属性データ供給部１９０６は、属性マップ幾何変形部を用いて動領域マップの幾何変形を行う点で、属性データ供給部２０６と異なる。本実施では、属性データ供給部１９０６のレジスタは次のように設定される。属性マップ有効化＝１（１は有効を示す）。属性マップ幾何変形パラメータ＝カメラ姿勢推定部１９０３が算出したホモグラフィ行列。属性マップアドレス＝動領域マップの先頭アドレス。このようなレジスタ設定値に基づいて、属性データ供給部１９０６は、動領域属性生成部１９０５が作成した動領域マップを、カメラ姿勢推定部１９０３が算出した幾何変形パラメータ（ホモグラフィ行列）で高精度に幾何変形して、処理対象画像に対応させる。図２１は、第５の実施例における属性データ供給部１９０６の動作を説明するための図である。図２１（ａ）には、動領域属性生成部１９０５が作成した動領域マップが模式的に示されている。図２１（ｂ）には、動領域マップに対して行う幾何変形の幾何変形量が模式的に示されている。図２１（ｂ）に示す各矢印の長さは、幾何変形量を表す。幾何変形量は、カメラ姿勢推定部１９０３で算出した動きパラメータ（ホモグラフィ行列）で表わされる動き量と、動領域属性生成部１９０５においてカメラ姿勢変化と仮定した動きベクトル２００２との差分である。動領域属性生成部１９０５においてカメラ姿勢変化と仮定した動きベクトル２００２は粗い精度であるため、カメラ姿勢推定部１９０３で算出した動きパラメータとの差分だけ幾何変形して、動領域マップを高精度に画像と対応させる。図２１（ｃ）には、幾何変形後の動領域マップが模式的に示さている。
【００７４】
画像合成部２０８は、本実施例では、画像幾何変形部１９０４が幾何変形した、現在フレームの短露光画像と長露光画像を、ＨＤＲ合成する。ＨＤＲ合成は、属性データ供給部１９０６から供給される動領域マップ、すなわち幾何変形および位置合わせが施された動領域マップに従って行われる。画像合成部２０８は、動領域マップが動領域を示す画素においては、短露光画像を合成結果として画像データ転送部２０９に出力する。画像合成部２０８は、動領域マップが静止領域を示す画素においては、所定の計算式に従って短露光画像と長露光画像の画素とを処理した値を合成結果として画像データ転送部２０９に出力する。画像データ転送部２０９は、画像合成部２０８によって合成された画像データを、ＲＡＭ１０２の所定のアドレスに転送する。
【００７５】
以上のように、画像合成の前処理として幾何変形を行った場合でも、幾何変形後の処理対象画像の画素と、動領域マップの画素との対応を取ることができる。なお、上記の説明では、属性データ供給部１９０６において、動領域マップの拡大を行わず、幾何変形のみを行う例で説明したが、拡大と幾何変形との両方を行ってもよい。すなわち、画像解析部１１５は、第１の実施例と同様に、画像縮小部および縮小画像記憶部を備えていてもよい。また、上記の説明では、属性データ供給部１９０６は、動領域属性生成部１９０５が作成した動領域マップの全領域を幾何変形した後に、幾何変形した動領域マップを画像合成部２０８に供給する例を説明した。これに対して、属性データ供給部１９０６は、画像合成部２０８からの要求に応じて、撮影画像の画素に対応する動領域マップの一部を読み出して画像合成部２０８に供給するようにしてもよい。その場合、属性データ供給部１９０６は、画像合成部２０８が要求する領域を幾何変形パラメータによって逆変換し、必要な領域の属性マップを読み出して供給する。また、動領域属性生成部１９０５は、必要に応じて動領域マップの一部を補間演算によって求めてもよい。
【００７６】
また、上記の説明では、動領域属性生成部１９０５において、最も出現頻度の高い動きベクトルを、カメラ姿勢変化による動きであると仮定して、動領域マップを作成する例を説明した。これに対して、動領域属性生成部１９０５は、動きベクトルの平均値を、カメラ姿勢変化による動きであると仮定してもよい。その場合、動領域属性生成部１９０５は、対応点探索部１９０２が算出した各動きベクトルから、それらの動きベクトルの平均値を減算して、動領域マップを作成すればよい。
【００７７】
また、上記の説明では、画像解析部１１５が、現在フレームの短露光画像と前フレームの短露光画像とを比較して対応点探索を行う例を説明した。これに対して、画像解析部１１５は、現在フレームの長露光画像と前フレームの長露光画像とを比較して対応点探索を行うようにしてもよい。
【００７８】
また、上記の説明では、画像処理装置が、１フレーム毎に２つの画像（短露光画像と長露光画像）を入力する例を説明した。これに対して、画像処理装置は、１フレーム毎に、短露光画像と長露光画像とを交互に入力するようにしてもよい。その場合には、画像解析部１１５は、現在フレームの短露光画像と前フレームの長露光画像とを比較して（または、現在フレームの長露光画像と前フレームの短露光画像とを比較して）、対応点探索を行えばよい。そして、画像処理部１１６は、対応点探索により生成された幾何変形パラメータに基づいて、現在フレームの短露光画像（または、現在フレームの長露光画像）を幾何変形すればよい。そして、画像処理部１１６は、前フレームの長露光画像と、幾何変形を行った現在フレームの短露光画像とを画像合成して（または、前フレームの短露光画像と、幾何変形を行った現在フレームの長露光画像とを画像合成して）、ＨＤＲ画像を生成すればよい。
【００７９】
また、上記の説明では、画像解析部１１５が、時間的に差がある２つのフレームの画像として、現在フレームの画像と前フレームの画像とを比較して対応点探索を行う例を説明した。これに対して、画像解析部１１５は、時間的に差がある２つのフレームの画像として、現在フレームの画像と、前フレームよりも前のフレーム（例えば、前々フレームや前々々フレーム）の画像とを比較して、対応点探索を行うようにしてもよい。
【００８０】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８１】
２０５  画像データ読込手段
２０６  属性データ供給部
２０７  フィルタ部
２０８  画像合成部
【図１】
0006762737.tif 000002
【図２】
0006762737.tif 000003
【図３】
0006762737.tif 000004
【図４】
0006762737.tif 000005
【図５】
0006762737.tif 000006
【図６】
0006762737.tif 000007
【図７】
0006762737.tif 000008
【図８】
0006762737.tif 000009
【図９】
0006762737.tif 000010
【図１０】
0006762737.tif 000011
【図１１】
0006762737.tif 000012
【図１２】
0006762737.tif 000013
【図１３】
0006762737.tif 000014
【図１４】
0006762737.tif 000015
【図１５】
0006762737.tif 000016
【図１６】
0006762737.tif 000017
【図１７】
0006762737.tif 000018
【図１８】
0006762737.tif 000019
【図１９】
0006762737.tif 000020
【図２０】
0006762737.tif 000021
【図２１】
0006762737.tif 000022