(57)【要約】【課題】複数の演算部を直列に接続したパイプラインが構成された画像処理において、それぞれの演算部における処理の内容に応じて消費電力を低減することができる画像処理装置、画像処理方法、および撮像装置を提供する。【解決手段】パイプラインを構成するそれぞれの演算部に対応し、複数のクロック信号の中から対応する演算部に供給するクロック信号を選択して出力する複数のクロック選択部と、パイプライン上で、第１のクロック信号が入力される演算部と第２のクロック信号が入力される演算部との間に配置され、一方のクロック信号のタイミングで出力された演算処理後の画像データを、他方のクロック信号のタイミングで出力するデータ受け渡し部と、画像処理の動作モードに応じて、それぞれのクロック選択部によるクロック信号の選択と、パイプラインを構成する演算部およびデータ受け渡し部の組み合わせや順番を制御する制御部と、を備える。【選択図】図２
2015072583.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データに対して演算処理を行って出力する複数の演算部を有し、画像処理の動作モードの設定に応じて、パイプラインを構成する前記演算部の組み合わせと、該パイプライン上に配置するぞれぞれの前記演算部の順番との少なくとも一方を変更して、前記画像処理の動作モードの設定に応じた画像処理を実行する画像処理装置であって、
前記パイプラインを構成するそれぞれの前記演算部に対応し、入力された複数のクロック信号の中から、対応する前記演算部に供給するクロック信号を選択して出力する複数のクロック選択部と、
前記パイプライン上で、第１のクロック信号が入力される前記演算部と、前記第１のクロック信号と異なる周波数の第２のクロック信号が入力される前記演算部との間に配置され、一方のクロック信号のタイミングで出力された演算処理後の画像データを、他方のクロック信号のタイミングで出力するデータ受け渡し部と、
前記画像処理の動作モードに応じて、それぞれの前記クロック選択部による前記クロック信号の選択と、前記パイプラインを構成する前記演算部および前記データ受け渡し部の組み合わせと、該パイプライン上に配置する前記演算部および前記データ受け渡し部の順番とを制御する制御部と、
を備えることを特徴とする画像処理装置。
【請求項２】
当該画像処理装置は、さらに、
前記第１のクロック信号に基づいて前記第２のクロック信号を生成するクロック生成部、
を備え、
前記制御部は、さらに、
前記クロック生成部が生成する前記第２のクロック信号の周波数を制御する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御部は、
少なくとも、前記画像処理の動作モードの設定、当該画像処理装置が実行する画像処理の内容に応じた設定値、または当該画像処理装置が前記画像データに対して実行する画像処理の範囲のいずれか１つに基づいて、前記クロック生成部が生成する前記第２のクロック信号の周波数を制御する、
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記制御部は、
前記第１のクロック信号の周波数よりも低い周波数の前記第２のクロック信号を生成するように、前記クロック生成部を制御する、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記画像処理の動作モードは、
前記画像データによって構成される画像を縮小した縮小画像を生成する設定であり、
前記制御部は、
前記画像を縮小する際の縮小率の設定値に基づいて前記第２のクロック信号の周波数を決定し、
前記パイプライン上に配置された、縮小処理を行う前記演算部と、該縮小処理を行う前記演算部よりも前段の前記演算部に対応するそれぞれの前記クロック選択部に前記第１のクロック信号を選択させ、
前記パイプライン上に配置された、前記縮小処理を行う前記演算部よりも後段の前記演算部に対応するそれぞれの前記クロック選択部に前記第２のクロック信号を選択させる、
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記画像処理の動作モードは、
前記画像データによって構成される画像の一部を拡大した部分拡大画像を生成する設定であり、
前記制御部は、
前記画像を拡大する際の拡大率の設定値に基づいて前記第２のクロック信号の周波数を決定し、
前記パイプライン上に配置された、拡大処理を行う前記演算部と、該拡大処理を行う前記演算部よりも前段の前記演算部に対応するそれぞれの前記クロック選択部に前記第２のクロック信号を選択させ、
前記パイプライン上に配置された、前記拡大処理を行う前記演算部よりも後段の前記演算部に対応するそれぞれの前記クロック選択部に前記第１のクロック信号を選択させる、
ことを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記画像処理の動作モードは、
前記画像データによって構成される画像の歪みを補正した歪み補正画像を生成する設定であり、
前記制御部は、
前記画像の歪みを補正する際の歪み補正量の設定値に基づいて前記第２のクロック信号の周波数を決定し、
前記パイプライン上に配置された、歪み補正処理を行う前記演算部と、該歪み補正処理を行う前記演算部よりも前段の前記演算部に対応するそれぞれの前記クロック選択部に前記第１のクロック信号を選択させ、
前記パイプライン上に配置された、前記歪み補正処理を行う前記演算部よりも後段の前記演算部に対応するそれぞれの前記クロック選択部に前記第２のクロック信号を選択させる、
ことを特徴とする請求項４に記載の画像処理装置。
【請求項８】
入力された画像データに対して演算処理を行って出力する複数の演算部を有し、画像処理の動作モードの設定に応じて、パイプラインを構成する前記演算部の組み合わせと、該パイプライン上に配置するぞれぞれの前記演算部の順番との少なくとも一方を変更して、前記画像処理の動作モードの設定に応じた画像処理を実行する画像処理装置による画像処理方法であって、
前記パイプラインを構成するそれぞれの前記演算部に対応した複数のクロック選択部に、入力された複数のクロック信号の中から、対応する前記演算部に供給するクロック信号を選択して出力させるクロック選択手順と、
前記パイプライン上で、第１のクロック信号が入力される前記演算部と、前記第１のクロック信号と異なる周波数の第２のクロック信号が入力される前記演算部との間に配置されたデータ受け渡し部に、一方のクロック信号のタイミングで出力された演算処理後の画像データを、他方のクロック信号のタイミングで出力させるデータ受け渡し手順と、
制御部に、それぞれの前記クロック選択部による前記クロック信号の選択と、前記パイプラインを構成する前記演算部および前記データ受け渡し部の組み合わせと、該パイプライン上に配置する前記演算部および前記データ受け渡し部の順番とを、前記画像処理の動作モードに応じて制御させる制御手順と、
を含むことを特徴とする画像処理方法。
【請求項９】
複数の画素を有し、入射した被写体光に応じたそれぞれの前記画素の信号を光電変換した画素信号を出力する固体撮像装置と、
前記固体撮像装置が出力した画素信号に応じた画像データを記憶する記憶部と、
前記記憶部に記憶された前記画像データに対して、画像処理の動作モードの設定に応じた画像処理を実行する、請求項１から請求項７のいずれか１の項に記載の画像処理装置と、
を備えることを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、および撮像装置に関する。
【背景技術】
【０００２】
近年、デジタルスチルカメラやビデオカメラなどの撮像装置の高機能化に伴って、撮影した画像の画像データに対する画像処理が複雑化している。一般的な撮像装置における処理フローでは、まず、撮像処理部が、撮像素子が撮像した撮影画像の画素信号に対して撮像処理を行って、撮像処理後の画像データを一旦メモリに格納する。続いて、画像処理部が、メモリに格納された撮像処理後の画像データを読み出して高画質化処理などの様々な画像処理を行って、画像処理後の画像データを再びメモリに格納する。その後、例えば、画像処理後の画像データを表示デバイスに表示させる場合には、表示処理部が、メモリに格納された画像データを読み出して表示用の変換処理を行って、表示デバイスに表示させる。
【０００３】
このような撮像装置における一連の処理フローにおいては、画像処理部が撮像処理後の画像データに対して実行する画像処理の内容が、撮像装置の動作モードなどの設定によって異なってくる。例えば、撮影画像に対応した縮小画像、いわゆる、サムネイル画像を生成する画像処理では、オプティカルブラック（ＯＢ）／ホワイトバランス（ＷＢ）処理、三板化処理、ノイズ低減処理、ローパスフィルタ（ＬＰＦ）処理、縮小処理、色変換処理などの演算処理を順次行ってサムネイル画像を生成する。また、例えば、撮影画像の一部を拡大した部分拡大画像、いわゆる、デジタルズーム画像を生成する画像処理では、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理、エッジ強調処理などの演算処理を順次行ってデジタルズーム画像を生成する。
【０００４】
このように、撮像装置に備えた画像処理部では、実行するそれぞれの画像処理毎に、撮像処理後の画像データに対して行う画像処理、すなわち、演算処理の内容や演算処理を実行する順番が異なる。このため、画像処理部では、実行する演算処理の内容毎にブロック化されたそれぞれの演算部が準備し、複数の演算部を直列に接続したパイプラインを構成して一連の様々な画像処理を実現する処理形態が採用されている。このパイプラインの処理形態では、画素毎や画像を分割した領域毎に、前段の演算部が画像データに対する演算処理を実行し、演算処理が完了した画像データを順次、後段の演算部に受け渡していくことによって、それぞれの演算部が並列に演算処理を行う。
【０００５】
このような画像処理部では、パイプラインを構成する演算部や、パイプラインにおいて実行するそれぞれの演算処理の順番を入れ替えることによって、撮像装置の動作モードなどに応じて異なる様々な画像処理に対応する。このため、画像処理部は、実行する様々な画像処理に応じて、パイプラインを構成する演算部の組み合わせや、パイプライン上に配置する演算部の順番を自由に入れ替えることができる構成を備えている。このとき、画像処理部では、パイプラインを構成するそれぞれの演算部同士での画像データの受け渡しを同期させることが必要である。
【０００６】
例えば、特許文献１に開示された技術では、演算処理を実行する演算部に相当するそれぞれの処理ステージの間に、前段の処理ステージから出力された画像データを受け取って、受け取った画像データを後段の処理ステージに引き渡すためのバッファを配置した構成の画像処理装置が開示されている。特許文献１に開示された画像処理装置では、２個のバッファによってダブルバッファを構成し、制御装置が、ダブルバッファの切り替えと、それぞれの処理ステージによる画像データに対する処理の実行開始とを制御している。そして、特許文献１に開示された画像処理装置では、前段の処理ステージによって処理された画像データは、ダブルバッファを介して次段の処理ステージに渡され、次段の処理ステージによって処理された画像データは、ダブルバッファを介してさらに次段の処理ステージに渡されるというように、各処理ステージで処理された画像データが順次、ダブルバッファを介して受け渡されて、一連のパイプラインの処理を実現している。なお、特許文献１に開示された画像処理装置では、それぞれの処理ステージが画像データを順次出力することによって、各処理ステージが同時に、並列に動作している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−３３４２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、パイプラインが構成された一連の画像処理において、それぞれの演算部が演算処理を行う処理量は、演算対象の画像データのデータ量によって異なる。この演算対象の画像データのデータ量は、例えば、演算を実行する画像の大きさや、演算を実行する画像内の領域の大きさなどによって異なる。このため、例えば、処理量の少ない演算部では、実際に画像データに対する処理を実行していない、待ち時間、アイドル時間、スタンバイ時間、遊び時間などと呼ばれる未処理時間が存在している。
【０００９】
ところが、特許文献１に開示された画像処理装置では、それぞれの処理ステージにおける処理量が異なる場合でも、パイプライン内で処理量が最大の処理ステージが処理を実行している期間内中、全ての処理ステージが動作している。このため、特許文献１に開示された画像処理装置では、いずれかの処理ステージが処理を実行していない状態（未処理時間）であっても、全ての処理ステージを動作させるためのクロック信号を供給する必要があり、この未処理時間の間のクロック信号の供給によって、従来の画像処理装置が余分な電力を消費してしまう、という問題がある。
【００１０】
本発明は、上記の課題認識に基づいてなされたものであり、複数の演算部を直列に接続したパイプラインが構成された処理形態の画像処理において、それぞれの演算部における処理の内容に応じて消費電力を低減することができる画像処理装置、画像処理方法、および撮像装置を提供することを目的としている。
【課題を解決するための手段】
【００１１】
上記の課題を解決するため、本発明の画像処理装置は、入力された画像データに対して演算処理を行って出力する複数の演算部を有し、画像処理の動作モードの設定に応じて、パイプラインを構成する前記演算部の組み合わせと、該パイプライン上に配置するぞれぞれの前記演算部の順番との少なくとも一方を変更して、前記画像処理の動作モードの設定に応じた画像処理を実行する画像処理装置であって、前記パイプラインを構成するそれぞれの前記演算部に対応し、入力された複数のクロック信号の中から、対応する前記演算部に供給するクロック信号を選択して出力する複数のクロック選択部と、前記パイプライン上で、第１のクロック信号が入力される前記演算部と、前記第１のクロック信号と異なる周波数の第２のクロック信号が入力される前記演算部との間に配置され、一方のクロック信号のタイミングで出力された演算処理後の画像データを、他方のクロック信号のタイミングで出力するデータ受け渡し部と、前記画像処理の動作モードに応じて、それぞれの前記クロック選択部による前記クロック信号の選択と、前記パイプラインを構成する前記演算部および前記データ受け渡し部の組み合わせと、該パイプライン上に配置する前記演算部および前記データ受け渡し部の順番とを制御する制御部と、を備えることを特徴とする。
【００１２】
また、本発明の画像処理方法は、入力された画像データに対して演算処理を行って出力する複数の演算部を有し、画像処理の動作モードの設定に応じて、パイプラインを構成する前記演算部の組み合わせと、該パイプライン上に配置するぞれぞれの前記演算部の順番との少なくとも一方を変更して、前記画像処理の動作モードの設定に応じた画像処理を実行する画像処理装置による画像処理方法であって、前記パイプラインを構成するそれぞれの前記演算部に対応した複数のクロック選択部に、入力された複数のクロック信号の中から、対応する前記演算部に供給するクロック信号を選択して出力させるクロック選択手順と、前記パイプライン上で、第１のクロック信号が入力される前記演算部と、前記第１のクロック信号と異なる周波数の第２のクロック信号が入力される前記演算部との間に配置されたデータ受け渡し部に、一方のクロック信号のタイミングで出力された演算処理後の画像データを、他方のクロック信号のタイミングで出力させるデータ受け渡し手順と、制御部に、それぞれの前記クロック選択部による前記クロック信号の選択と、前記パイプラインを構成する前記演算部および前記データ受け渡し部の組み合わせと、該パイプライン上に配置する前記演算部および前記データ受け渡し部の順番とを、前記画像処理の動作モードに応じて制御させる制御手順と、を含むことを特徴とする。
【００１３】
また、本発明の撮像装置は、複数の画素を有し、入射した被写体光に応じたそれぞれの前記画素の信号を光電変換した画素信号を出力する固体撮像装置と、前記固体撮像装置が出力した画素信号に応じた画像データを記憶する記憶部と、前記記憶部に記憶された前記画像データに対して、画像処理の動作モードの設定に応じた画像処理を実行する、上記本発明の画像処理装置と、を備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、複数の演算部を直列に接続したパイプラインが構成された処理形態の画像処理において、それぞれの演算部における処理の内容に応じて消費電力を低減することができるという効果が得られる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態における撮像装置の概略構成を示したブロック図である。
【図２】本実施形態の撮像装置に備えた画像処理部の構成の一例を示したブロック図である。
【図３】本実施形態の撮像装置に備えた画像処理部内のクロック生成部の構成および動作の一例を説明する図である。
【図４】本実施形態の撮像装置に備えた画像処理部によって第１の画像処理を実行するときのパイプラインの構成を示した図である。
【図５】本実施形態の撮像装置に備えた画像処理部によって第２の画像処理を実行するときのパイプラインの構成を示した図である。
【図６】本実施形態の撮像装置に備えた画像処理部によって第３の画像処理を実行するときのパイプラインの構成を示した図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図面を参照して説明する。  図１は、本実施形態における撮像装置の概略構成を示したブロック図である。図１に示した撮像装置１０は、イメージセンサ１００と、撮像処理部２００と、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送部３１０と、画像処理部４００と、ＤＭＡ転送部３２０と、表示処理部５００と、表示デバイス５０１と、ＤＭＡ転送部３３０と、メモリ６００と、を備えている。
【００１７】
撮像装置１０内のＤＭＡ転送部３１０、ＤＭＡ転送部３２０、ＤＭＡ転送部３３０、およびメモリ６００は、データバス７００を介してそれぞれ接続され、ＤＭＡ転送によって、メモリ６００への画像データの格納（書き込み）、およびメモリ６００からの画像データの取得（読み出し）を行う。
【００１８】
イメージセンサ１００は、不図示のレンズによって結像された被写体の光学像を光電変換するＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｐｌｅｄ  Ｄｅｖｉｃｅ：電荷結合素子）イメージセンサや、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ−Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ：相補型金属酸化膜半導体）イメージセンサに代表される固体撮像装置である。イメージセンサ１００は、撮像した撮影画像の画素信号、すなわち、入射した被写体光に応じたそれぞれの画素の画素信号を撮像処理部２００に出力する。なお、以下の説明においては、イメージセンサ１００がベイヤー配列のカラーフィルタが撮像面に貼付されている固体撮像装置であり、ベイヤー配列の撮影画像の画素信号を撮像処理部２００に出力するものとして説明する。
【００１９】
撮像処理部２００は、イメージセンサ１００から入力されたベイヤー配列の撮影画像の画素信号に対して、例えば、Ａ／Ｄ（アナログ／デジタル）変換、画素欠陥補正、シェーディング補正、暗電流補正などの各種の処理を施し、撮像処理を施した後のベイヤー配列の画像データ（以下、「撮像処理データ」という）を生成する。そして、撮像処理部２００は、生成した撮像処理データを、ＤＭＡ転送部３１０に出力する。
【００２０】
ＤＭＡ転送部３１０は、撮像処理部２００から入力された撮像処理データを、ＤＭＡ転送によってメモリ６００に格納する（書き込む）。
ＤＭＡ転送部３２０は、ＤＭＡ転送部３１０によってメモリ６００に格納された撮像処理データを取得し（読み出し）、取得した撮像処理データを画像処理部４００に出力する。
【００２１】
画像処理部４００は、ＤＭＡ転送部３２０から入力されたベイヤー配列の撮像処理データに対して予め定められた種々の画像処理を施し、画像処理を施した後の画像データ（以下、「画像処理データ」という）を生成する。そして、画像処理部４００は、生成した画像処理データを、ＤＭＡ転送部３２０に出力する。
【００２２】
画像処理部４００が行う画像処理は、例えば、オプティカルブラック（ＯＢ）／ホワイトバランス（ＷＢ）処理、三板化処理（デモザイキング処理）、ノイズ低減処理、ローパスフィルタ（ＬＰＦ）処理、縮小処理、色変換処理、拡大処理、エッジ強調処理、歪み補正処理、高画質化処理など、様々な演算処理を組み合わせた処理である。
【００２３】
ＯＢ／ＷＢ処理は、撮影画像の黒レベル（ＯＢ）の補正やホワイトバランス（ＷＢ）などを補正する処理である。三板化処理は、ベイヤー配列の画像データを、ＹＣ変換処理によってＹ（輝度）データとＣｂ（色差：青）データおよびＣｒ（色差：赤）データとに変換したり、ＲＧＢ変換処理によって赤色（Ｒ）データと、緑色（Ｇ）データと、青色（Ｂ）データとに変換したりする処理である。ノイズ低減処理は、画像全体のノイズを低減する処理である。ＬＰＦ処理は、画像内の高周波成分の抑圧を行う処理である。縮小処理は、画像を縮小した縮小画像を生成する処理である。色変換処理は、画像全体の色味を変換する処理である。拡大処理は、画像の全体または一部を拡大した拡大画像を生成する処理である。エッジ強調処理は、画像内で輝度や色の変化が大きいエッジの位置を強調した画像を生成する処理である。歪み補正処理は、光学系の歪みを補正する処理である。高画質化処理は、画像を高画質化する処理である。なお、本実施形態においては、画像処理部４００において画像処理を実行する際のそれぞれの演算処理に関しては、何ら限定しない。
【００２４】
このため、画像処理部４００は、上述したそれぞれの演算処理を実行する複数の演算部を備え、撮像装置１０における画像処理の動作モードなどの設定に基づいて、画像処理を実行するために必要な演算部を直列に接続したパイプラインを構成することによって、一連の様々な画像処理を実行する。このとき、画像処理部４００は、撮像装置１０が撮像処理データに対して実行する画像処理の内容に応じて、パイプラインを構成するそれぞれの演算部の組み合わせや、パイプライン上に配置するそれぞれの演算部の順番、すなわち、演算処理を実行する順番を、自由に入れ替える。なお、パイプラインを構成するそれぞれの演算部の組み合わせや、パイプライン上に配置するそれぞれの演算部の順番を入れ替える構成としては、例えば、それぞれの演算処理を実行する演算部同士の物理的な接続を切り替えるクロスバスイッチを用いる構成などが考えられるが、本実施形態においては、画像処理部４００内にパイプラインを構成するための構成に関しては、何ら限定しない。なお、画像処理部４００のより詳細な構成に関しては、後述する。
【００２５】
ＤＭＡ転送部３２０は、画像処理部４００から入力された画像処理データを、ＤＭＡ転送によってメモリ６００に格納する（書き込む）。
ＤＭＡ転送部３３０は、ＤＭＡ転送部３２０によってメモリ６００に格納された画像処理データを取得し（読み出し）、取得した画像処理データを表示処理部５００に出力する。
【００２６】
表示処理部５００は、ＤＭＡ転送部３３０から入力された画像処理データの画像を表示デバイス５０１が表示することができる大きさの画像に縮小するリサイズ処理や、ＯＳＤ（Ｏｎ−Ｓｃｒｅｅｎ  Ｄｉｓｐｌａｙ）表示用のデータを重畳する重畳処理などの表示用の変換処理を施し、表示用の変換処理を施した後の画像処理データを、表示デバイス５０１に出力する。
【００２７】
表示デバイス５０１は、ＴＦＴ（Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ：薄膜トランジスター）−ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶ディスプレイ）や、有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどの表示装置であり、表示処理部５００から出力された表示処理後の画像処理データに応じた画像を表示する。
【００２８】
なお、表示デバイス５０１は、ＥＶＦ（Ｅｌｅｃｔｒｏｎｉｃ  Ｖｉｅｗ  Ｆｉｎｄｅｒ：電子ビューファインダ）などの表示デバイスや、テレビなどの外部ディスプレイであってもよい。また、図１においては、表示デバイス５０１も撮像装置１０の構成要素としているが、表示デバイス５０１は、撮像装置１０に着脱可能な構成であってもよい。
【００２９】
メモリ６００は、撮像装置１０に備えたそれぞれの構成要素からアクセスされるＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリである。メモリ６００は、撮像装置１０内のそれぞれの構成要素の処理過程における様々なデータを一時記録する。
【００３０】
なお、図１では、撮像装置１０内のＤＭＡ転送部３１０、ＤＭＡ転送部３２０、およびＤＭＡ転送部３３０のそれぞれがデータバス７００を介してメモリ６００にアクセスする構成を示しているが、例えば、不図示のメモリコントローラによってメモリ６００に対するアクセス制御がされる構成であってもよい。この場合には、撮像装置１０内のそれぞれのＤＭＡ転送部は、ＤＭＡ転送におけるメモリ６００へのアクセス要求をメモリコントローラに対して出力し、メモリコントローラが、それぞれのＤＭＡ転送部から入力されたＤＭＡ転送におけるメモリ６００へのアクセス要求に応じて、接続されているメモリ６００へのデータの格納（書き込み）、およびメモリ６００からのデータの取得（読み出し）の制御を行うことになる。
【００３１】
また、画像処理部４００によって画像処理が施され、ＤＭＡ転送部３２０によってメモリ６００に格納された画像処理データは、例えば、不図示の記録処理部に対応したＤＭＡ転送部によって取得され（読み出され）、不図示の記録処理部によって、撮像装置１０に着脱可能な不図示の記録媒体に記録される構成であってもよい。ここで、記録媒体としては、例えば、ＳＤメモリカード（ＳＤ  Ｍｅｍｏｒｙ  Ｃａｒｄ）やコンパクトフラッシュ（ＣｏｍｐａｃｔＦｌａｓｈ：ＣＦ（登録商標））などが考えられる。また、不図示の記録媒体に記録される画像処理データは、例えば、画像処理部４００に備えた演算部によって、ＪＰＥＧ圧縮処理などの画像処理が施させることが考えられる。
【００３２】
このような構成によって、撮像装置１０では、イメージセンサ１００によって撮影された被写体の画素信号に対して撮像処理部２００が撮像処理を施した撮像処理データを一旦メモリ６００に格納する。続いて、撮像装置１０では、メモリ６００に格納されている撮像処理データに対して画像処理部４００が画像処理を施した画像処理データを再びメモリ６００に格納する。その後、撮像装置１０では、メモリ６００に格納されている画像処理データに対して表示処理部５００が表示処理を施した画像処理データを、表示デバイス５０１に表示させる。なお、撮像装置１０内のそれぞれの構成要素は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの不図示の制御部によって制御される。
【００３３】
次に、撮像装置１０に備えた画像処理部４００について説明する。図２は、本実施形態の撮像装置１０に備えた画像処理部４００の構成の一例を示したブロック図である。図２には、それぞれの演算処理を実行する４つの演算部を備えた画像処理部４００の構成の一例を示している。また、図２には、ＤＭＡ転送部３２０、データバス７００、メモリ６００、および制御部８００など、画像処理部４００に関連する構成要素も併せて示している。なお、図２には、入力ＤＭＡ部３２１が、メモリ６００に記憶されている撮像処理データを取得して（読み出して）画像処理部４００に出力し、出力ＤＭＡ部３２２が、画像処理部４００が出力した画像処理データをメモリ６００に格納する（書き込む）ＤＭＡ転送部３２０の構成を示している。
【００３４】
図２に示した画像処理部４００は、４つの演算部４１１〜４１４と、クロック生成部４２０と、データ受け渡し部４５０と、７つのクロック選択部４３１〜４３４、４４１、４４２、および４５１と、を備えている。
【００３５】
演算部４１１〜４１４のそれぞれは、画像処理部４００が実行する画像処理における演算処理を実行するそれぞれの演算回路であり、入力された画像データに対して演算処理を施し、演算処理を施した後の画像データを出力する。演算部４１１〜４１４のそれぞれは、制御部８００による制御に応じて、画像処理部４００内でパイプラインを構成する際の演算部の組み合わせや、パイプライン上に配置する演算部の順番が変更される。
【００３６】
図２には、画像処理部４００内のパイプライン上に、演算部４１１、演算部４１２、演算部４１３、演算部４１４の順番で、演算部４１１〜４１４のそれぞれを配置した一例を示している。このパイプラインの配置では、ＤＭＡ転送部３２０内の入力ＤＭＡ部３２１がメモリ６００から取得して（読み出して）出力した撮像処理データを、パイプラインの初段に配置された演算部４１１が最初に演算処理を行い、演算部４１１が演算処理した画像データを、演算部４１２、演算部４１３、演算部４１４の順番で順次演算処理する。そして、パイプラインの最終段に配置された演算部４１４が処理した画像処理データを、ＤＭＡ転送部３２０内の出力ＤＭＡ部３２２がメモリ６００に格納する（書き込む）。
【００３７】
なお、演算部４１１〜４１４のそれぞれが実行する演算処理の内容は、従来の画像処理部に備えた演算部のそれぞれが実行する演算処理の内容と同様であるため、詳細な説明は省略する。
【００３８】
データ受け渡し部４５０は、当該データ受け渡し部４５０に接続された前段の演算部と後段の演算部との間で、画像データの受け渡しを行う、バッファである。データ受け渡し部４５０は、例えば、画像データの書き込みと読み出しとを異なるタイミングで行うことができるデュアルポート（２ポート）ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリで構成される。データ受け渡し部４５０は、前段の演算部が画像データを出力するタイミングで画像データを格納し、後段の演算部に画像データを入力するタイミングで、格納している画像データを出力することによって、前段の演算部が演算処理を施した演算処理後の画像データを、後段の演算部に引き渡す。
【００３９】
データ受け渡し部４５０は、演算部４１１〜４１４と同様に、パイプラインを構成する構成要素として、制御部８００による制御に応じて、画像処理部４００内で構成されるパイプライン上の配置、すなわち、いずれの演算部の間に配置されるかが変更される。図２には、画像処理部４００内のパイプライン上の演算部４１１と演算部４１２との間に、データ受け渡し部４５０を配置した一例を示している。より具体的には、画像処理部４００内のパイプライン上に、演算部４１１、データ受け渡し部４５０、演算部４１２、演算部４１３、演算部４１４の順番で、演算部４１１〜４１４およびデータ受け渡し部４５０のそれぞれを配置した一例を示している。
【００４０】
このパイプラインの配置では、前段の演算部４１１が画像データを出力するタイミングで、出力された画像データをデータ受け渡し部４５０内に格納し、後段の演算部４１２に画像データを入力するタイミングで、格納している画像データを出力することによって、演算部４１１と演算部４１２との間で、前段の演算部４１１が演算処理を施した演算処理後の画像データを、後段の演算部４１２に引き渡す。
【００４１】
なお、図２においては、演算部４１１と演算部４１２との間に、データ受け渡し部４５０を配置した場合の一例を示しているが、上述したように、制御部８００による制御に応じて、パイプライン上の配置が変更される。従って、データ受け渡し部４５０は、演算部４１２と演算部４１３との間や、演算部４１３と演算部４１４との間などに配置することもできる。
【００４２】
また、図２においては、画像処理部４００に１つのデータ受け渡し部４５０を備えた構成を示しているが、画像処理部４００内に備えるデータ受け渡し部４５０の数は１つに限定されるものではなく、複数のデータ受け渡し部４５０を備える構成であってもよい。この場合、パイプライン上の複数の箇所にデータ受け渡し部４５０を配置することができる。つまり、画像処理部４００に複数のデータ受け渡し部４５０を備えている場合には、図２に示した演算部４１１と演算部４１２との間の他に、演算部４１２と演算部４１３との間や、演算部４１３と演算部４１４との間などにも配置することができる。
【００４３】
クロック生成部４２０は、制御部８００による制御に応じて、画像処理部４００内に備えた演算部４１１〜４１４およびデータ受け渡し部４５０が動作するクロック信号を生成する。クロック生成部４２０は、生成したそれぞれのクロック信号を、クロック選択部４３１〜４３４、４４１、４４２、および４５１のそれぞれに出力する。図２には、画像処理部４００に入力された第１のクロックＣＬＫ１に基づいて生成した第２のクロックＣＬＫ２を出力するクロック生成部４２０の一例を示している。
【００４４】
ここで、クロック生成部４２０について説明する。図３は、本実施形態の撮像装置１０に備えた画像処理部４００内のクロック生成部４２０の構成および動作の一例を説明する図である。図３（ａ）には、クロック生成部４２０の構成の一例を示し、図３（ｂ）および図３（ｃ）には、クロック生成部４２０が第１のクロックＣＬＫ１に基づいて第２のクロックＣＬＫ２を生成する際のタイミングチャートの一例を示している。
【００４５】
まず、クロック生成部４２０の構成について説明する。図３（ａ）に示したクロック生成部４２０は、カウンタ４２１と、デコーダ４２２と、マスク処理部４２３と、を備えている。カウンタ４２１は、第１のクロックＣＬＫ１のタイミングで計数（カウント）するカウンタである。デコーダ４２２は、カウンタ４２１がカウントしたカウント値が制御部８００によって設定された値のときに、第１のクロックＣＬＫ１のクロックパルスの出力をマスクするための制御信号（以下、「マスク信号」という）を出力する。マスク処理部４２３は、デコーダ４２２から入力されたマスク信号に基づいて、第１のクロックＣＬＫ１のクロックパルスをマスクする。
【００４６】
続いて、クロック生成部４２０の動作について説明する。図３（ｂ）に示したタイミングチャートは、クロック生成部４２０が、第１のクロックＣＬＫ１の周波数の半分（１／２）の周波数である第２のクロックＣＬＫ２を生成して出力する場合のタイミングチャートである。図３（ｃ）に示したタイミングチャートは、クロック生成部４２０が、第１のクロックＣＬＫ１の周波数の３／４の周波数である第２のクロックＣＬＫ２を生成して出力する場合のタイミングチャートである。図３（ｂ）および図３（ｃ）のタイミングチャートのそれぞれには、第１のクロックＣＬＫ１、カウンタ４２１のカウント値、デコーダ４２２が出力するマスク信号、および第２のクロックＣＬＫ２のそれぞれのタイミングを示している。
【００４７】
第１のクロックＣＬＫ１の周波数の半分（１／２）の周波数である第２のクロックＣＬＫ２を生成する場合、制御部８００は、例えば、カウンタ値が奇数であるとき（例えば、カウンタ４２１の最下位ビットの値が“１”であるとき）に、第１のクロックＣＬＫ１のクロックパルスをマスクするように設定する。そして、図３（ｂ）に示したように、カウンタ４２１は、第１のクロックＣＬＫ１の立ち上がりのタイミングでカウントする。また、デコーダ４２２は、制御部８００による設定に応じて、カウンタ値が奇数であるときに、第１のクロックＣＬＫ１のクロックパルスをマスクすることを表す（図３（ｂ）においては“Ｈｉｇｈ”レベルのときにマスクすることを表す）マスク信号を出力する。また、マスク処理部４２３は、マスク信号に応じて第１のクロックＣＬＫ１のクロックパルスをマスクする。これにより、第１のクロックＣＬＫ１の“Ｈｉｇｈ”レベルのクロックパルスが半分マスクされた、すなわち、第１のクロックＣＬＫ１の周波数の１／２の周波数の第２のクロックＣＬＫ２が生成される。
【００４８】
また、第１のクロックＣＬＫ１の周波数の３／４の周波数である第２のクロックＣＬＫ２を生成する場合、制御部８００は、例えば、カウンタ値が“３”であるときに、第１のクロックＣＬＫ１のクロックパルスをマスクするように設定する。そして、図３（ｃ）に示したように、カウンタ４２１は、第１のクロックＣＬＫ１の立ち上がりのタイミングでカウントする。また、デコーダ４２２は、制御部８００による設定に応じて、カウンタ値が“３”であるときに、第１のクロックＣＬＫ１のクロックパルスをマスクすることを表す（図３（ｃ）においては“Ｈｉｇｈ”レベルのときにマスクすることを表す）マスク信号を出力する。また、マスク処理部４２３は、マスク信号に応じて第１のクロックＣＬＫ１のクロックパルスをマスクする。これにより、第１のクロックＣＬＫ１の“Ｈｉｇｈ”レベルのクロックパルスが１／４だけマスクされた、すなわち、第１のクロックＣＬＫ１の周波数の３／４の周波数の第２のクロックＣＬＫ２が生成される。
【００４９】
なお、カウンタ４２１が図３（ｂ）と同様にカウントし、制御部８００が、カウンタ４２１の下位から２ビット目の値が“１”であるときに、第１のクロックＣＬＫ１のクロックパルスをマスクするように設定することによって、図３（ｃ）と同様の第２のクロックＣＬＫ２を生成することもできる。
【００５０】
このように、クロック生成部４２０では、簡易的な方法で、第１のクロックＣＬＫ１と異なる周波数（第１のクロックＣＬＫ１よりも低い周波数）の第２のクロックＣＬＫ２を生成することができる。
【００５１】
なお、クロック生成部４２０における第２のクロックＣＬＫ２の生成方法は、上述した方法に限定されるものではない。例えば、クロック生成部４２０に分周回路を備え、入力された第１のクロックＣＬＫ１を分周することによって、第２のクロックＣＬＫ２を生成する構成にすることもできる。また、クロック生成部４２０が生成するクロック信号は、１つのクロック信号に限定されるのもではなく、複数のクロック信号を生成することもできる。例えば、図３（ｂ）に示した第１のクロックＣＬＫ１の周波数の１／２の周波数の第２のクロックＣＬＫ２と、３／４の周波数の第２のクロックＣＬＫ２とを同時に生成し、それぞれの第２のクロックＣＬＫ２を同時に出力する構成にすることもできる。
【００５２】
なお、クロック生成部４２０が生成する第２のクロックＣＬＫ２は、上述したように、第１のクロックＣＬＫ１よりも周波数が低いクロック信号に限定されるものではない。例えば、第１のクロックＣＬＫ１よりも周波数が高い第２のクロックＣＬＫ２を生成する構成にすることもできる。この場合、例えば、クロック生成部４２０内にＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）を備えることによって、第１のクロックＣＬＫ１よりも周波数が高い第２のクロックＣＬＫ２を生成する構成などが考えられる。
【００５３】
また、クロック生成部４２０内に第２のクロックＣＬＫ２を出力する発振器を備える構成にすることもできる。さらに、第１のクロックＣＬＫ１を出力する発振器を備える構成にしてもよい。
【００５４】
クロック選択部４３１〜４３４、４４１、４４２、および４５１は、制御部８００による制御に応じて、入力された複数のクロック信号から、対応する構成要素が動作するクロック信号を選択して出力する。図２には、画像処理部４００に入力された第１のクロックＣＬＫ１と、クロック生成部４２０が生成した第２のクロックＣＬＫ２とがクロック選択部４３１〜４３４、４４１、４４２、および４５１のそれぞれに入力され、選択したクロック信号を対応する構成要素に出力する一例を示している。
【００５５】
より具体的には、図２に示した画像処理部４００では、クロック選択部４３１が演算部４１１に、クロック選択部４３２が演算部４１２に、クロック選択部４３３が演算部４１３に、クロック選択部４３４が演算部４１４にそれぞれ対応している。そして、クロック選択部４３１〜４３４のそれぞれは、入力された第１のクロックＣＬＫ１または第２のクロックＣＬＫ２のいずれか一方のクロック信号を、対応する演算部が動作するクロック信号として選択して出力している。
【００５６】
また、図２に示した画像処理部４００では、クロック選択部４５１がデータ受け渡し部４５０に対応している。そして、クロック選択部４５１は、入力された第１のクロックＣＬＫ１または第２のクロックＣＬＫ２のいずれか一方のクロック信号を、データ受け渡し部４５０が画像データを格納する際のクロック信号として選択し、入力された第１のクロックＣＬＫ１または第２のクロックＣＬＫ２のいずれか他方のクロック信号を、データ受け渡し部４５０が画像データを出力する際のクロック信号として選択し、選択したそれぞれのクロック信号をデータ受け渡し部４５０に出力している。図２に示したパイプラインにおけるデータ受け渡し部４５０の配置では、クロック選択部４５１は、前段の演算部４１１が動作する１つのクロック信号と、後段の演算部４１２が動作する１つのクロック信号とをそれぞれ選択して、データ受け渡し部４５０に出力する。
【００５７】
また、図２に示した画像処理部４００では、クロック選択部４４１がＤＭＡ転送部３２０内の入力ＤＭＡ部３２１に、クロック選択部４４２がＤＭＡ転送部３２０内の出力ＤＭＡ部３２２にそれぞれ対応している。そして、クロック選択部４４１およびクロック選択部４４２は、入力された第１のクロックＣＬＫ１または第２のクロックＣＬＫ２のいずれか一方のクロック信号を、対応するＤＭＡ転送部がメモリ６００にアクセスするためのクロック信号として選択して出力している。
【００５８】
なお、クロック生成部４２０が複数の第２のクロックＣＬＫ２を生成して同時に出力する構成である場合には、クロック選択部４３１〜４３４、４４１、４４２、および４５１のそれぞれは、入力された第１のクロックＣＬＫ１と、複数の第２のクロックＣＬＫ２とから、対応する構成要素が必要な数のクロック信号を選択して出力する。
【００５９】
制御部８００は、撮像装置１０の構成要素、すなわち、撮像装置１０全体を制御する。また、制御部８００は、撮像装置１０における画像処理の動作モードなどの設定や、画像処理部４００が実行する画像処理の内容に応じた設定値（例えば、演算処理のパラメータなど）に応じて、画像処理部４００に関連する各構成要素の動作を制御する。
【００６０】
より具体的には、制御部８００は、撮像装置１０における画像処理の動作モードなどの設定に応じて、画像処理部４００内に構成するパイプラインにおける演算部４１１〜４１４およびデータ受け渡し部４５０の組み合わせや、パイプライン上に配置する演算部４１１〜４１４の順番や、パイプライン上に配置するデータ受け渡し部４５０の位置を変更する。
【００６１】
また、制御部８００は、撮像装置１０における画像処理の動作モードなどの設定や、画像処理部４００が実行する画像処理の内容に応じた演算処理のパラメータに応じて、クロック生成部４２０が生成する第２のクロックＣＬＫ２の周波数や、画像処理部４００に関連する各構成要素が動作するために必要なクロック信号を変更する。
【００６２】
より具体的には、制御部８００は、撮像装置１０における画像処理の動作モードなどの設定や、画像処理部４００に備えた演算部４１１〜４１４が実行する演算処理のパラメータに応じて、クロック生成部４２０が第２のクロックＣＬＫ２を生成する際の設定（例えば、第１のクロックＣＬＫ１のクロックパルスをマスクする際の設定）や、クロック選択部４３１〜４３４、４４１、４４２、および４５１が選択するクロック信号を変更する。
【００６３】
また、制御部８００は、画像処理部４００に備えた演算部４１１〜４１４が、画素毎や画像を分割した領域毎に演算処理を実行する場合、すなわち、演算部４１１〜４１４が予め定めた画像データの範囲毎に演算処理を実行する場合には、それぞれの画素や領域毎に演算処理を行うタイミングに応じて、クロック生成部４２０が生成する第２のクロックＣＬＫ２の周波数や、クロック選択部４３１〜４３４、４４１、４４２、および４５１が選択するクロック信号を、画素毎や領域毎に変更することもできる。
【００６４】
このように、撮像装置１０では、制御部８００が、画像処理部４００に関連する構成要素毎に選択するクロック信号を変更することによって、それぞれの構成要素が処理を実行するために適切なクロック信号を供給することができる。より具体的には、従来の画像処理装置では、画像データに対して実際に演算処理を実行していない状態（未処理時間）であっても、一様に同じクロック信号をそれぞれの構成要素に供給していたが、撮像装置１０では、例えば、演算処理を行う処理量が少ない構成要素には遅いクロック信号（周波数の低いクロック信号）を供給するなど、構成要素毎に供給するクロック信号を変更することができる。これにより、撮像装置１０では、画像処理部４００に備えた演算部４１１〜４１４のそれぞれが、画像データに対して実際に演算処理を実行していない未処理時間を削減することができ、この未処理時間の間のクロック信号の供給による画像処理部４００の余分な電力消費を削減することができる。
【００６５】
ここで、本実施形態の撮像装置１０における画像処理の動作モードに応じた画像処理部４００の動作の一例について説明する。
【００６６】
＜第１の画像処理動作＞
図４は、本実施形態の撮像装置１０に備えた画像処理部４００によって第１の画像処理を実行するときのパイプラインの構成を示した図である。第１の画像処理は、イメージセンサ１００が撮像した撮影画像に対応した縮小画像、いわゆる、サムネイル画像を生成する画像処理である。第１の画像処理では、オプティカルブラック（ＯＢ）／ホワイトバランス（ＷＢ）処理、三板化処理、ノイズ低減処理、ローパスフィルタ（ＬＰＦ）処理、縮小処理、色変換処理などの演算処理を順次行ってサムネイル画像を生成する。
【００６７】
図４に示したパイプラインの構成では、演算部４１１がＯＢ／ＷＢ処理を実行し、演算部４１２が三板化処理を実行し、演算部４１３がノイズ低減処理を実行し、演算部４１４がＬＰＦ処理を実行し、演算部４１５が縮小処理を実行し、演算部４１６が色変換処理を実行する。
【００６８】
第１の画像処理においては、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、ＬＰＦ処理、縮小処理までの演算処理は、イメージセンサ１００が撮像した撮影画像の全体の領域の画像データが演算処理を施す演算対象の画像データであるため、演算処理を行う処理量が多い。しかし、色変換処理は、縮小処理によって縮小された画像の全体の領域の画像データが演算処理を施す演算対象の画像データであるため、演算処理を行う処理量が少なくなる。このため、色変換処理を、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、ＬＰＦ処理、縮小処理までの演算処理と同じクロック信号のタイミングで実行すると、色変換処理の演算が先に完了し、実際に色変換処理の演算を実行していない未処理時間が発生してしまう。
【００６９】
例えば、演算部４１５による縮小処理において、ＶＧＡサイズの画像をＱＶＧＡサイズに縮小する場合には、演算処理を施す画像のサイズが１／４倍のサイズ、つまり、演算処理の処理量が１／４倍になる。このため、色変換処理を行う演算部４１６が動作するクロック信号の周波数を、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、ＬＰＦ処理、縮小処理までの演算処理を行う演算部４１１〜４１５が動作するクロック信号と同じ周波数にすると、演算部４１６が色変換処理を実行する期間の内、７５％に相当する期間が、実際に色変換処理を実行していない未処理時間となり、演算部４１６が余分な電力を消費していることになる。
【００７０】
そこで、制御部８００は、図４に示したように、第１の画像処理において縮小処理を行う演算部４１５と色変換処理を行う演算部４１６との間にデータ受け渡し部４５０を配置し、データ受け渡し部４５０が、演算部４１５が縮小処理を施した画像データを、演算部４１６に引き渡すようにパイプラインを構成する。そして、制御部８００は、演算部４１６による色変換処理を遅いクロック信号（周波数の低いクロック信号）で実行させることによって、演算部４１６の未処理時間を削減する。
【００７１】
より具体的には、制御部８００は、クロック生成部４２０に、第１のクロックＣＬＫ１よりも周波数が低い第２のクロックＣＬＫ２を生成させる。また、制御部８００は、図４に示したように、演算部４１１〜４１５までを第１のクロックＣＬＫ１で動作させ、演算部４１６を第２のクロックＣＬＫ２で動作させるように、演算部４１１〜４１６およびデータ受け渡し部４５０のそれぞれに対応するクロック選択部が選択するクロック信号を変更する。また、制御部８００は、入力ＤＭＡ部３２１を第１のクロックＣＬＫ１で動作させ、出力ＤＭＡ部３２２を第２のクロックＣＬＫ２で動作させるように、入力ＤＭＡ部３２１および出力ＤＭＡ部３２２のそれぞれに対応するクロック選択部が選択するクロック信号も変更する。
【００７２】
なお、クロック生成部４２０に生成させる第２のクロックＣＬＫ２の周波数は、画像処理部４００が実行する第１の画像処理の内容、すなわち、縮小画像の生成に関わる演算処理のパラメータ（例えば、縮小画像の縮小率を決定するパラメータ）に応じて決定する。
【００７３】
例えば、演算部４１５による縮小処理においてＶＧＡサイズの画像をＱＶＧＡサイズに縮小する場合には、上述したように、画像のサイズが１／４倍のサイズになる。すなわち、縮小画像の縮小率は１／４である。このため、制御部８００は、クロック生成部４２０に、第１のクロックＣＬＫ１の１／４の周波数の、第２のクロックＣＬＫ２の周波数を生成させ、演算部４１６に供給するように設定する。より具体的には、例えば、第１のクロックＣＬＫ１の周波数が２００ＭＨｚである場合には、２００ＭＨｚ／４＝５０Ｍｈｚの周波数の第２のクロックＣＬＫ２をクロック生成部４２０に生成させ、演算部４１６に供給させる。これにより、演算部４１６は、同じ期間で色変換処理を実行すると共に、消費電力を１／４に低減することができる。なお、このとき、データ受け渡し部４５０は、演算部４１５が縮小処理を施した画像データを２００ＭＨｚのタイミングで格納し、格納している画像データを、５０ＭＨｚのタイミングで演算部４１６に出力する。
【００７４】
このように、第１の画像処理動作では、図４に示したように、縮小処理を行う演算部４１５と色変換処理を行う演算部４１６との間で、クロック信号を切り替えることによって、第１の画像処理に要する期間を延長することなく、第１の画像処理における演算部４１６の消費電力を低減することができる。
【００７５】
＜第２の画像処理動作＞
図５は、本実施形態の撮像装置１０に備えた画像処理部４００によって第２の画像処理を実行するときのパイプラインの構成を示した図である。第２の画像処理は、イメージセンサ１００が撮像した撮影画像の一部を拡大した部分拡大画像、いわゆる、デジタルズーム画像を生成する画像処理である。第２の画像処理では、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理、エッジ強調処理などの演算処理を順次行ってデジタルズーム画像を生成する。
【００７６】
図５に示したパイプラインの構成では、演算部４１１がＯＢ／ＷＢ処理を実行し、演算部４１２が三板化処理を実行し、演算部４１３がノイズ低減処理を実行し、演算部４１４が拡大処理を実行し、演算部４１５がエッジ強調処理を実行する。
【００７７】
第２の画像処理においては、エッジ強調処理は、拡大処理によって拡大された画像の全体の領域の画像データが演算処理を施す演算対象の画像データであるため、演算処理を行う処理量が多い。しかし、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理は、イメージセンサ１００が撮像した撮影画像の一部の領域の画像データが演算処理を施す演算対象の画像データであるため、演算処理を行う処理量が少なくなる。このため、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を、エッジ強調処理と同じクロック信号のタイミングで実行すると、エッジ強調処理が完了するまで次のＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理の演算を開始することができない処理の待ち時間（未処理時間）が発生してしまう。つまり、実際にＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理の演算処理を実行していない未処理時間が発生してしまう。
【００７８】
例えば、演算部４１４による拡大処理において、ＱＶＧＡサイズの画像をＶＧＡサイズに拡大する場合には、エッジ強調処理を施す画像のサイズが４倍のサイズ、つまり、演算処理の処理量が４倍になる。このため、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を行う演算部４１１〜４１４が動作するクロック信号の周波数を、エッジ強調処理を行う演算部４１５が動作するクロック信号と同じ周波数にすると、演算部４１５がエッジ強調処理を実行する期間の２５％に相当する期間で、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を完了することになる。言い換えれば、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を４倍（４００％）の速度で実行することによって、エッジ強調処理の処理期間の７５％に相当する期間が、実際にＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を実行していない未処理時間となり、演算部４１１〜４１４が余分な電力を消費していることになる。
【００７９】
そこで、制御部８００は、図５に示したように、第２の画像処理において拡大処理を行う演算部４１４とエッジ強調処理を行う演算部４１５との間にデータ受け渡し部４５０を配置し、データ受け渡し部４５０が、演算部４１４が拡大処理を施した画像データを、演算部４１５に引き渡すようにパイプラインを構成する。そして、制御部８００は、演算部４１１〜４１４によるＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を遅いクロック信号（周波数の低いクロック信号）で実行させることによって、演算部４１１〜４１４の未処理時間を削減する。
【００８０】
より具体的には、制御部８００は、クロック生成部４２０に、第１のクロックＣＬＫ１よりも周波数が低い第２のクロックＣＬＫ２を生成させる。また、制御部８００は、図５に示したように、演算部４１１〜４１４までを第２のクロックＣＬＫ２で動作させ、演算部４１５を第１のクロックＣＬＫ１で動作させるように、演算部４１１〜４１５およびデータ受け渡し部４５０のそれぞれに対応するクロック選択部が選択するクロック信号を変更する。また、制御部８００は、入力ＤＭＡ部３２１を第２のクロックＣＬＫ２で動作させ、出力ＤＭＡ部３２２を第１のクロックＣＬＫ１で動作させるように、入力ＤＭＡ部３２１および出力ＤＭＡ部３２２のそれぞれに対応するクロック選択部が選択するクロック信号も変更する。
【００８１】
なお、クロック生成部４２０に生成させる第２のクロックＣＬＫ２の周波数は、画像処理部４００が実行する第２の画像処理の内容、すなわち、部分拡大画像の生成に関わる演算処理のパラメータ（例えば、部分拡大画像の拡大率を決定するパラメータ）に応じて決定する。
【００８２】
例えば、演算部４１４による拡大処理においてＱＶＧＡサイズの画像をＶＧＡサイズに拡大する場合には、上述したように、画像のサイズが４倍のサイズになる。すなわち、部分拡大画像の拡大率は４である。このため、制御部８００は、第１のクロックＣＬＫ１が４倍の周波数のクロック信号であると考え、クロック生成部４２０に逆に、第１のクロックＣＬＫ１の１／４の周波数の、第２のクロックＣＬＫ２の周波数を生成させ、演算部４１１〜４１４に供給するように設定する。より具体的には、例えば、第１のクロックＣＬＫ１の周波数が２００ＭＨｚである場合には、２００ＭＨｚ／４＝５０Ｍｈｚの周波数の第２のクロックＣＬＫ２をクロック生成部４２０に生成させ、演算部４１１〜４１４に供給させる。これにより、演算部４１１〜４１４は、演算部４１５がエッジ強調処理を実行する期間と同じ期間で、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を実行すると共に、消費電力を１／４に低減することができる。なお、このとき、データ受け渡し部４５０は、演算部４１４が拡大処理を施した画像データを５０ＭＨｚのタイミングで格納し、格納している画像データを、２００ＭＨｚのタイミングで演算部４１５に出力する。
【００８３】
このように、第２の画像処理動作では、図５に示したように、拡大処理を行う演算部４１４とエッジ強調処理を行う演算部４１５との間で、クロック信号を切り替えることによって、第２の画像処理に要する期間を延長することなく、第２の画像処理における演算部４１１〜４１４の消費電力を低減することができる。
【００８４】
なお、本第２の画像処理動作では、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を遅いクロック信号（周波数の低いクロック信号）で実行させる場合について説明した。しかし、演算部４１５が実行するエッジ強調処理を、演算部４１１〜４１４によるＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理よりも速いクロック信号（周波数の高いクロック信号）で実行させることによって、第２の画像処理の全体の処理時間を短縮する構成にすることもできる。
【００８５】
例えば、演算部４１４による拡大処理において、ＱＶＧＡサイズの画像をＶＧＡサイズに拡大する場合には、エッジ強調処理の処理量が４倍であるため、演算部４１５が動作するクロック信号を４倍にする。より具体的には、制御部８００は、クロック生成部４２０に、第１のクロックＣＬＫ１よりも周波数が４倍高い第２のクロックＣＬＫ２を生成させる。また、制御部８００は、演算部４１１〜４１４までを第１のクロックＣＬＫ１で動作させ、演算部４１５を第２のクロックＣＬＫ２で動作させるように、演算部４１１〜４１５、データ受け渡し部４５０、入力ＤＭＡ部３２１、および出力ＤＭＡ部３２２のそれぞれに対応するクロック選択部が選択するクロック信号を変更する。これにより、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理とエッジ強調処理との処理時間が同等になり、演算部４１１〜４１４が、エッジ強調処理が完了するまで次のＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、拡大処理の演算の開始を待つ時間（未処理時間）を削減することができ、第２の画像処理の全体の処理時間を短縮することができる。
【００８６】
＜第３の画像処理動作＞
図６は、本実施形態の撮像装置１０に備えた画像処理部４００によって第３の画像処理を実行するときのパイプラインの構成を示した図である。一般的にカメラの光学系、すなわち、撮像装置１０に備えたレンズにおいては、光学系の歪みが存在する。このため、イメージセンサ１００から入力されたベイヤー配列の撮影画像の画素信号に対して撮像処理部２００が撮像処理を施してメモリ６００に格納した（書き込んだ）撮像処理データは、レンズによる光学系の歪みを持った画像データになっている。第３の画像処理は、イメージセンサ１００が撮像した撮影画像に含まれる光学系の歪みを補正した歪み補正画像を生成する画像処理である。第３の画像処理では、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、歪み補正処理、高画質化処理、色変換処理などの演算処理を順次行って歪み補正画像を生成する。
【００８７】
図６に示したパイプラインの構成では、演算部４１１がＯＢ／ＷＢ処理を実行し、演算部４１２が三板化処理を実行し、演算部４１３がノイズ低減処理を実行し、演算部４１４が歪み補正処理を実行し、演算部４１５が高画質化処理を実行し、演算部４１６が色変換処理を実行する。
【００８８】
第３の画像処理においては、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、歪み補正処理までの演算処理は、撮像装置１０が表示デバイス５０１への表示や不図示の記録媒体への記録を行う画像の領域と、その周辺の領域との画像データが演算処理を施す演算対象の画像データである、すなわち、表示や記録を行う画像のサイズよりも大きいサイズの画像に対して演算処理を行うため、演算処理を行う処理量が多い。しかし、高画質化処理と色変換処理とは、歪み補正処理によって歪みが補正された画像の領域の画像データが演算処理を施す演算対象の画像データである、すなわち、表示や記録を行うサイズの画像に対して行う演算処理であるため、演算処理を行う処理量が少なくなる。このため、高画質化処理と色変換処理とを、ＯＢ／ＷＢ処理、三板化処理、ノイズ低減処理、歪み補正処理までの演算処理と同じクロック信号のタイミングで実行すると、高画質化処理と色変換処理との演算が先に完了し、実際に高画質化処理と色変換処理との演算を実行していない未処理時間が発生してしまう。これにより、高画質化処理を行う演算部４１５と、色変換処理を行う演算部４１６が余分な電力を消費してしまう。
【００８９】
そこで、制御部８００は、図６に示したように、第３の画像処理において歪み補正処理を行う演算部４１４と高画質化処理を行う演算部４１５との間にデータ受け渡し部４５０を配置し、データ受け渡し部４５０が、演算部４１４が歪み補正処理を施した画像データを、演算部４１５に引き渡すようにパイプラインを構成する。そして、制御部８００は、演算部４１５による高画質化処理と演算部４１６による色変換処理とを、遅いクロック信号（周波数の低いクロック信号）で実行させることによって、演算部４１５と演算部４１６との未処理時間を削減する。
【００９０】
より具体的には、制御部８００は、クロック生成部４２０に、第１のクロックＣＬＫ１よりも周波数が低い第２のクロックＣＬＫ２を生成させる。また、制御部８００は、図６に示したように、演算部４１１〜４１４までを第１のクロックＣＬＫ１で動作させ、演算部４１５と演算部４１６とを第２のクロックＣＬＫ２で動作させるように、演算部４１１〜４１６およびデータ受け渡し部４５０のそれぞれに対応するクロック選択部が選択するクロック信号を変更する。また、制御部８００は、入力ＤＭＡ部３２１を第１のクロックＣＬＫ１で動作させ、出力ＤＭＡ部３２２を第２のクロックＣＬＫ２で動作させるように、入力ＤＭＡ部３２１および出力ＤＭＡ部３２２のそれぞれに対応するクロック選択部が選択するクロック信号も変更する。
【００９１】
なお、クロック生成部４２０に生成させる第２のクロックＣＬＫ２の周波数は、画像処理部４００が実行する第３の画像処理の内容、すなわち、歪み補正画像の生成に関わる演算処理のパラメータ（例えば、光学系の歪み量に応じて決定した補正量、すなわち、歪み補正量のパラメータ）に応じて決定する。
【００９２】
このように、第３の画像処理動作では、図６に示したように、歪み補正処理を行う演算部４１４と高画質化処理を行う演算部４１５との間で、クロック信号を切り替えることによって、第３の画像処理に要する期間を短縮しつつ、第３の画像処理における演算部４１５と演算部４１６との消費電力を低減することができる。
【００９３】
なお、歪み補正処理では、表示や記録を行う画像の領域とその周辺の領域とを合わせた、イメージセンサ１００が撮像した撮影画像の全ての領域（表示や記録を行う画像の領域とその周辺の領域とを合わせた領域）を予め定めた複数の領域に分割し、分割した領域毎に補正が行われる。このとき、歪み補正量は、分割した領域毎にそれぞれ異なる。これは、樽型歪みのような光学系の歪み量は、レンズの光学中心付近の方が少なく、レンズの外周部になるほど多くなるからである。従って、歪み補正量も、画像の中心の方が少なく、周辺の方が多くなる。例えば、撮影画像の全ての領域を９分割した場合には、画像の４角の領域の歪み補正量が最も多く、４角の領域のそれぞれの間に位置する４つの領域の歪み補正量は４角の領域よりも少なくなり、画像の中心の１つの領域の歪み補正量が最も少なくなる。これにより、歪み補正処理では、画像の中心の領域よりも周辺の領域の方がより多くの画像データを用いて演算処理を実行することになり、演算部４１４が実行する歪み補正処理の処理量も、画像の中心の領域よりも周辺の領域の方が多くなる。このため、制御部８００は、歪み補正処理を行うそれぞれの領域毎に、クロック生成部４２０に生成させる第２のクロックＣＬＫ２の周波数を変更することが望ましい。これにより、画像の４角の領域の歪み補正量に合わせて画像全体の歪み補正処理を行うよりも、さらに第３の画像処理の全体の処理時間を短縮しつつ、第３の画像処理における演算部４１５と演算部４１６との消費電力を低減することができる。
【００９４】
上記に述べたとおり、本発明を実施するための形態によれば、撮像装置に備えた画像処理部が実行する画像処理の動作モードなどの設定や、画像処理の内容に応じた演算処理のパラメータなどの設定値に応じて、画像処理部内でパイプラインを構成するそれぞれの演算部を動作させるために供給するクロック信号を、演算部毎に適切な周波数のクロック信号に切り替える。より具体的には、例えば、演算処理を行う処理量が少ない演算部に遅いクロック信号（周波数の低いクロック信号）を供給するなど、演算部毎に供給するクロック信号を変更する。これにより、本発明を実施するための形態では、画像処理部内のそれぞれの演算部の処理内容に応じて実際に演算処理を実行していない状態となっている未処理時間を削減することができる。このことにより、本発明を実施するための形態では、未処理時間の間のクロック信号の供給によって演算処理を実行していない演算部が消費する余分な電力を削減し、画像処理部が画像処理を実行する際の消費電力を低減することができる。
【００９５】
なお、本実施形態においては、画像処理部４００内に１つのデータ受け渡し部４５０を備えた構成の場合について説明したが、画像処理部４００内に備えるデータ受け渡し部４５０の数は１つに限定されるものではなく、複数のデータ受け渡し部４５０を備える構成であってもよい。このとき、それぞれのデータ受け渡し部４５０に対応するクロック選択部４５１は、対応するデータ受け渡し部４５０の前後の演算部が動作するためのクロック信号を選択するため、それぞれのクロック選択部４５１は、異なる２つのクロック信号を選択してもよい。
【００９６】
また、本実施形態においては、制御部８００が画像処理部４００の外部の構成要素である場合について説明したが、制御部８００における第２のクロックＣＬＫ２の周波数や、それぞれの演算部に供給するクロック信号の選択を変更する機能を、画像処理部４００内に備える構成にすることもできる。
【００９７】
また、本実施形態においては、クロック生成部４２０が画像処理部４００の内部の構成要素である場合について説明したが、クロック生成部４２０を画像処理部４００の外部の構成要素とする構成にすることもできる。
【００９８】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【００９９】
１０・・・撮像装置
１００・・・イメージセンサ（固体撮像装置）
２００・・・撮像処理部
３１０，３２０，３３０・・・ＤＭＡ転送部（画像処理装置）
３２１・・・入力ＤＭＡ部（画像処理装置）
３２２・・・出力ＤＭＡ部（画像処理装置）
４００・・・画像処理部（画像処理装置）
４１１，４１２，４１３，４１４，４１５，４１６・・・演算部（画像処理装置，演算部）
４２０・・・クロック生成部（画像処理装置，クロック生成部）
４２１・・・カウンタ（クロック生成部）
４２２・・・デコーダ（クロック生成部）
４２３・・・マスク処理部（クロック生成部）
４３１，４３２，４３３，４３４，４４１，４４２，４５１・・・クロック選択部（画像処理装置，クロック選択部）
４５０・・・データ受け渡し部（画像処理装置，データ受け渡し部）
５００・・・表示処理部
５０１・・・表示デバイス
６００・・・メモリ（記憶部）
７００・・・データバス
８００・・・制御部（画像処理装置，制御部）
【図１】
2015072583.tif 000003
【図２】
2015072583.tif 000004
【図３】
2015072583.tif 000005
【図４】
2015072583.tif 000006
【図５】
2015072583.tif 000007
【図６】
2015072583.tif 000008