(57)【特許請求の範囲】
【請求項１】
入力する画像データの輝度ヒストグラム演算とガンマ補正処理とを実行する画像処理装置であって、
前記ガンマ補正処理の時に、前記画像データの画素データをアドレス・データとし、該アドレス・データで指定される記憶データを当該画素データの輝度値に対応するガンマ変換値として出力するルック・アップ・テーブル用メモリを備え、
前記輝度ヒストグラム演算の時に、前記ルック・アップ・テーブル用メモリに前記画素データが入力する度に、該ルック・アップ・テーブル用メモリに予め書き込まれた初期値を起点として該ルック・アップ・テーブル用メモリからの出力値をインクリメントして得られる積算値を該ルック・アップ・テーブル用メモリに出力する増分回路と、
前記輝度ヒストグラム演算の時に、前記ルック・アップ・テーブル用メモリの記憶領域に格納されている前記出力値を前記積算値に書き換えるように制御する制御部と、
前記ルック・アップ・テーブル用メモリを使用して行われる前記ガンマ補正処理よりも簡易な別のガンマ補正処理を、入力する前記画像データの前記画素データに対して実行する簡易ガンマ補正回路と、
前記ガンマ補正処理時には前記ルック・アップ・テーブル用メモリの出力である前記ガンマ変換値を補正データとして選択して出力する一方、前記輝度ヒストグラム演算の実行時には前記簡易ガンマ補正回路の出力を前記補正データとして選択して出力するセレクタとを更に備えることを特徴とする、
画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記ルック・アップ・テーブル用メモリは、
複数の前記画素データが前記アドレス・データとして並列に入力する複数個のアドレス入力ポートと、
前記各アドレス・データで指定される複数の記憶領域と、
前記各記憶領域から読み出された複数の前記出力値を並列に出力する複数個のデータ出力ポートと、
前記各記憶領域に書き込まれるデータが並列に入力する複数個のデータ入力ポートと、を備え、
前記増分回路は、前記各データ出力ポートから出力された前記出力値のビット列を結合した前記積算値に対してインクリメントを実行した後、該積算値を元のビット列に分解して前記各データ入力ポートに出力する、
画像処理装置。
【請求項３】
請求項２記載の画像処理装置であって、前記ルック・アップ・テーブル用メモリに入力する前記画素データのビット長をＮ（Ｎ：自然数）、前記出力値のビット長をＭ（Ｍ：自然数）、および結合される前記出力値のビット列の個数をＬ（Ｌ：自然数）で表すとき、前記ルック・アップ・テーブル用メモリは前記画素データの各々に対して２N／Ｌレベルの前記出力値を格納し、前記積算値はＭ×Ｌビットのデータである、画像処理装置。
【請求項４】
請求項１〜３の何れか１項に記載の画像処理装置であって、
前記ルック・アップ・テーブル用メモリの前記記憶領域は、前記アドレス入力ポートに各色成分毎に並列に入力する画素データに対応して複数に分割されている、画像処理装置。
【請求項５】
請求項１〜４の何れか１項に記載の画像処理装置と、画素データをＤＭＡ（ダイレクト・メモリ・アクセス）転送するＤＭＡコントローラとを備え、
前記ＤＭＡコントローラは、単板式の色フィルタ・アレイを有する撮像センサで撮像されバッファに格納された画素データを同色成分毎にアドレス指定して読出し、前記画像処理装置に転送することを特徴とする画像処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データの輝度ヒストグラムを算出する画像処理装置に関する。
【０００２】
【従来の技術】
従来から、デジタル・スチル・カメラやデジタル・ビデオ・カメラなどの撮像デバイスは、撮像した画像データをＡ／Ｄ変換した後、画素補間、ガンマ補正、色空間変換や色抑圧などの様々なデジタル処理を行う画像処理回路を搭載している。その種の画像処理回路は、装置の小型化や低廉化、消費電力の低減のために、チップ（集積回路）の形態で撮像デバイスに搭載されていることが多い。また、多くの撮像デバイスは、画質向上のために、撮像した画像データ中の輝度値の発生回数を示す輝度ヒストグラムを求め、この輝度ヒストグラムに基づいて画像データのホワイト・バランスなどの輝度調整やフィルタリング処理、画像加工などを行う機能を備えている。輝度ヒストグラム演算は、撮像デバイスに搭載されるＣＰＵのソフトウェア処理で行うことも可能ではあるが、短時間で演算を行い且つＣＰＵの処理負荷や消費電力を小さくする観点から、撮像デバイスは画素補間やガンマ補正などを行う画像処理回路とは別に、輝度ヒストグラム演算を行う専用の積算回路を搭載しているのが一般的である。
【０００３】
【発明が解決しようとする課題】
しかしながら、撮像デバイスが高階調の画像データを扱うのに伴い、その画像データの画像サイズや画素データのビット長は極端に大きくなり、輝度ヒストグラム演算用の積算回路に搭載するレジスタ数やメモリ容量も増大するため、消費電力の増大、実装面積の拡大および製作コストの増大が生じるという問題があった。例えば、４８０×６４０画素サイズで８ビット階調の画像データに対して輝度ヒストグラム演算を行う場合、上記積算回路に搭載するレジスタ数は最大で２8個すなわち２５６個必要であり、輝度値の度数は最大で３０７，２００（＝４８０×６４０）回になり得るため１９ビット長の記憶領域を用意する必要がある。また、２メガ（＝２×１０２４2）の画素サイズで１２ビット階調の画像データに対して輝度ヒストグラム演算を行う場合は、上記積算回路に搭載するレジスタ数は最大で２12個すなわち４０９６個必要であり、輝度値の度数は最大で２，０９７，１５２（＝２メガ）になり得て２１ビット長もの記憶素子が必要となる。
【０００４】
以上の問題に鑑みて本発明が解決しようとするところは、専用の積算回路およびメモリを必要とせずに輝度ヒストグラム演算を実行し得る画像処理装置を提供する点にある。
【０００５】
【課題を解決するための手段】
上記課題を解決するため、請求項１に係る発明は、入力する画像データの輝度ヒストグラム演算とガンマ補正処理とを実行する画像処理装置であって、前記ガンマ補正処理の時に、前記画像データの画素データをアドレス・データとし、該アドレス・データで指定される記憶データを当該画素データの輝度値に対応するガンマ変換値として出力するルック・アップ・テーブル用メモリを備え、前記輝度ヒストグラム演算の時に、前記ルック・アップ・テーブル用メモリに前記画素データが入力する度に、該ルック・アップ・テーブル用メモリに予め書き込まれた初期値を起点として該ルック・アップ・テーブル用メモリからの出力値をインクリメントして得られる積算値を該ルック・アップ・テーブル用メモリに出力する増分回路と、前記輝度ヒストグラム演算の時に、前記ルック・アップ・テーブル用メモリの記憶領域に格納されている前記出力値を前記積算値に書き換えるように制御する制御部と、前記ルック・アップ・テーブル用メモリを使用して行われる前記ガンマ補正処理よりも簡易な別のガンマ補正処理を、入力する前記画像データの前記画素データに対して実行する簡易ガンマ補正回路と、前記ガンマ補正処理時には前記ルック・アップ・テーブル用メモリの出力である前記ガンマ変換値を補正データとして選択して出力する一方、前記輝度ヒストグラム演算の実行時には前記簡易ガンマ補正回路の出力を前記補正データとして選択して出力するセレクタとを更に備えることを特徴とする。
【０００６】
請求項２に係る発明は、請求項１記載の画像処理装置であって、前記ルック・アップ・テーブル用メモリは、複数の前記画素データが前記アドレス・データとして並列に入力する複数個のアドレス入力ポートと、前記各アドレス・データで指定される複数の記憶領域と、前記各記憶領域から読み出された複数の前記出力値を並列に出力する複数個のデータ出力ポートと、前記各記憶領域に書き込まれるデータが並列に入力する複数個のデータ入力ポートと、を備え、前記増分回路は、前記各データ出力ポートから出力された前記出力値のビット列を結合した前記積算値に対してインクリメントを実行した後、該積算値を元のビット列に分解して前記各データ入力ポートに出力するものである。
【０００７】
請求項３に係る発明は、請求項２記載の画像処理装置であって、前記ルック・アップ・テーブル用メモリに入力する前記画素データのビット長をＮ（Ｎ：自然数）、前記出力値のビット長をＭ（Ｍ：自然数）、および結合される前記出力値のビット列の個数をＬ（Ｌ：自然数）で表すとき、前記ルック・アップ・テーブル用メモリは前記画素データの各々に対して２N／Ｌレベルの前記出力値を格納し、前記積算値はＭ×Ｌビットのデータである。
【０００８】
請求項４に係る発明は、請求項１〜３の何れか１項に記載の画像処理装置であって、前記ルック・アップ・テーブル用メモリの前記記憶領域は、前記アドレス入力ポートに各色成分毎に並列に入力する画素データに対応して複数に分割されているものである。
【００１０】
請求項５に係る発明は、請求項１〜４の何れか１項に記載の画像処理装置と、画素データをＤＭＡ（ダイレクト・メモリ・アクセス）転送するＤＭＡコントローラとを備え、前記ＤＭＡコントローラは、単板式の色フィルタ・アレイを有する撮像センサで撮像されバッファに格納された画素データを同色成分毎にアドレス指定して読出し、前記画像処理装置に転送することを特徴とするものである。
【００１１】
【発明の実施の形態】
図１は、本発明の実施の形態に係る画像処理装置１を示す機能ブロック図である。この画像処理装置１は集積回路化されており、単一画素処理部４、画素補間部５、ガンマ補正処理部６、色空間変換・色抑圧処理部７、空間フィルタリング・コアリング処理部８および解像度変換部９を備えており、デジタル・スチル・カメラなどの撮像デバイスに組み込まれている。
【００１２】
図２は、撮像デバイスにおける画像処理装置１とその周辺回路とを示す機能ブロック図である。レンズ群などの光学系を透過した光は、ＣＣＤやＣＭＯＳなどの撮像センサ１６の感光部で光電変換されアナログ信号処理を施された後に、Ａ／Ｄ変換器１７に出力される。Ａ／Ｄ変換器１７は、撮像センサ１６から入力するアナログ画像信号をＡ／Ｄ変換した原画像データ（Raw Image Data）をデータ・バス（図示せず）を介して主メモリ１８の原画像データバッファ１８ａに出力する。次いで、ＤＭＡ（ダイレクト・メモリ・アクセス）コントローラ２７は、原画像データバッファ１８ａに格納された原画像データの画素データを順次読み出し、図１に示したデータ・バス２を介して単一画素処理部４に転送させ入力させる。各処理ブロック４〜９は、入力する画素データをシリアル（逐次的）に画像処理し、最後に解像度変換部９からデータ・バス２に出力する。出力されたその処理データは、ＤＭＡコントローラ２７の制御により主メモリ１８の処理データバッファ１８ｂに転送され記憶された後、ＬＣＤ（液晶表示器）などのディスプレイ装置１９に転送され画像表示される。尚、図１に示すように、単一画素処理部４、画素補間部５、空間フィルタリング・コアリング処理部８および解像度変換部９はそれぞれ、データ・バス２と個別に接続されており、独立して画像処理を行うことができる。例えば、単一画素処理部４から処理データを渡された画素補間部５が、当該処理データに対して画素補間を施した後にガンマ補正処理部６に渡さずに、データ・バス２を介して主メモリ１８に転送させ記憶させるという処理が可能である。
【００１３】
上記単一画素処理部４は、入力する原画像データを単一画素単位で処理する機能を有し、その原画像データを複数フレームもしくは複数フィールドに亘り平均化する経時的平均化処理やシェーディング処理などを実行する。例えば、経時的平均化処理では、被写体の露光量が不足している場合、撮像センサ１６から通常周期で読み出した複数フレームまたは複数フィールドに亘る画素データを累積することで露出量を増大させる処理が行われる。また、シェーディング処理では、画像の全体が平均的に一様な明るさになるように、各画素の輝度値をゲイン調整することで実行される。尚、シェーディングとは、光学系の透過光が当該光学系の中心部に対して周辺部で減光したり、撮像センサ１６の受光感度が不均一になったりすることに起因し、被写体画像の本来の輝度分布と映像信号との間に生ずる変換特性の不整合を意味している。
【００１４】
また上記画素補間部５は、５×５画素程度の局所領域の画素データを記憶する空間レジスタ（図示せず）を備えており、当該局所領域内の画素データを選択的に取り出して同一の色成分同士の平均値を算出する機能などを有している。例えば、上記撮像センサ１６が単板式の色フィルタ・アレイを搭載している場合、撮像センサ１６から出力される画像データは各画素に対して単色成分しかもたないため、各画素が３色成分もしくは４色成分をもつように不足の色成分を画素補間する必要がある。３色成分としては「Ｒ（赤色）」，「Ｇ（緑色）」，「Ｂ（青色）」などの３原色成分、４色成分としては「Ｙ（イエロー色）」，「Ｍ（マゼンダ色）」，「Ｃ（シアン色）」，「Ｇ（緑色）」などの補色系色成分が挙げられる。画素補間部５は、このような画素補間処理を実行できる。
【００１５】
また上記ガンマ補正処理部６は、図１に示すように、人間の視覚特性や内部の画像処理に適合するように、入力する画像データのガンマ特性を補正するガンマ補正機能を有する。このためガンマ補正処理部６は、ＳＲＡＭ（Static Random Access Memory）などのルック・アップ・テーブル（以下、ＬＵＴと略す。）用メモリ１１を有するＬＵＴ演算回路１０を備えている。ＬＵＴ用メモリ１１は、例えば数千階調の各輝度値に対応するＬＵＴ変換値を保持している。ＬＵＴ演算回路１０は、入力する画素データの輝度値（入力値）をアドレス・データとしてＬＵＴ用メモリ１１に出力し、ＬＵＴ用メモリ１１は当該アドレス・データで指定されるＬＵＴ変換値（出力値）を選択（ＬＵＴ変換）して出力するものである。ＬＵＴ用メモリ１１の記憶データはＣＰＵ３の制御により書き換えることができるから、特定範囲の輝度値を強調もしくは低減し、低輝度領域に現れるノイズの除去や特定階調の反転などを実現するＬＵＴ変換値をＣＰＵ３の制御で自在に設定できる。尚、図１で明示していないが、ＣＰＵ３はデータ・バス２経由でＬＵＴ用メモリ１１にアクセスする。
【００１６】
またガンマ補正処理部６は、３〜５段階で画素データの輝度値を簡易的にガンマ変換する簡易ガンマ補正回路１２をも備えている。またＣＰＵ３は、第１セレクタ１４および第２セレクタ１５に対して「０」側端子と「１」側端子との何れかを選択させる制御信号ＨENをレジスタ１３に転送し保持させる。そのレジスタ１３から伝達する前記制御信号ＨENのレベルがＬ（Low）レベルのとき、第１セレクタ１４は画素補間部５から「０」側端子に入力する画素データをＬＵＴ演算回路１０に出力し、第２セレクタ１５はＬＵＴ演算回路１０から「０」側端子に入力するガンマ補正データを色空間変換・色抑圧処理部７に出力する。他方、レジスタ１３から伝達する制御信号ＨENのレベルがＨ（High）レベルのときは、第１セレクタ１４は単一画素処理部４から「１」側端子に入力する画素データをＬＵＴ演算回路１０に出力し、第２セレクタ１５は簡易ガンマ補正回路１２から「１」側端子に入力するガンマ補正データを色空間変換・色抑圧処理部７に出力する。このとき、ＬＵＴ演算回路１０は後に詳述するように輝度ヒストグラム演算を行う回路として機能する。
【００１７】
また、上記色空間変換・色抑圧処理部７は、例えば３原色のＲＧＢ信号からＹＣｂＣｒ信号（Ｙ：輝度信号／Ｃｂ，Ｃｒ：色差信号）へ色空間を変換する色空間変換機能と、画像中の明部と暗部の色抑圧（クロマサプレス；偽色防止）を行う色抑圧機能とを備えている。色空間変換機能で変換先の色空間としては、ＹＣｂＣｒ色空間の他に、ＮＴＳＣ（National Television System Committee）方式などで規定されているＹＩＱ色空間などを採用しても構わない。また色抑圧機能は、画像に現れる高輝度の明部および低輝度の暗部の発色を抑制することで自然な画質を実現するものである。一般に、画像に現れる暗部は様々なノイズの影響を受け易い部分であり、明部は撮像素子やその他の種々のハードウェアの特性に応じて変調の影響を受けやすくホワイト・バランスが狂いやすい部分であるため、明部と暗部では共に発色を抑制することが自然な画質に繋がる。
【００１８】
また、上記空間フィルタリング・コアリング処理部８は、５×５画素程度の局所領域に対応する５×５個の係数値をもつ空間フィルタを適用し、当該空間フィルタの各係数値を対応する画素データに重み付け（乗算）し加算するという積和演算を実行する空間フィルタリング機能と、空間フィルタリング処理を施した画像データに対して一般的な非線形処理（コアリング）を施すコアリング機能とを有している。空間フィルタリング機能とコアリング機能とにより、例えば低周波数成分のみを出力したり、画像に含まれるノイズ成分を除去したり、線およびエッジ部分を強調（輪郭強調）したりすることができる。
【００１９】
そして、上記解像度変換部９は、前記空間フィルタリング・コアリング処理部８から出力される画像データのサイズを、バイリニア法（線形補間法）などに基づいて縮小または拡大する機能を有している。
【００２０】
次に、上記ガンマ補正処理部６の回路構成例およびその動作について以下に詳説する。図３はこのガンマ補正処理部６の概略構成を示す回路図である。このガンマ補正処理部６には、上記単一画素処理部４および画素補間部５から出力された処理データが入力する。単一画素処理部４は、原画像データバッファ１８ａからＤＭＡ転送された１２ビット長の画素データを単一画素単位で処理して同ビット長の処理データを出力し、画素補間部５は、単一画素処理部４から入力する画素データを画素補間処理して４色成分の補間データ（Color0, Color1, Color2, Color3）すなわち合計４８（＝４×１２）ビット長の補間データを出力する。本実施の形態では、Ａ／Ｄ変換器１７はアナログ画像信号を１０ビット階調の原画像データにＡ／Ｄ変換し出力する。原画像データバッファ１８ａに格納される原画像データは、Ａ／Ｄ変換器１７から出力される１０ビット・データに上位２ビットを追加した１２ビット・データである。
【００２１】
またＬＵＴ用メモリ１１は、アドレス入力ポート（Adr0, Adr1, Adr2, Adr3）にそれぞれ入力する１２ビット長のアドレス・データに対して、データ出力ポート（Dout0, Dout1, Dout2, Dout3）からそれぞれ８ビット長のＬＵＴ変換値を出力する。このためＬＵＴ用メモリ１１は合計４０９６×８ビットの記憶領域を備えている。また入力する１２ビット・データの有効ビットは下位１０ビットであり、その記憶領域は、１０２４（＝２10）レベルの８ビット長のＬＵＴ変換値を各色成分毎に格納するために各色成分毎に４つの記憶領域に分割されている。またＬＵＴ用メモリ１１は、アドレス入力ポート（Adr0, Adr1, Adr2, Adr3）に入力するアドレス・データで指定される記憶領域に、データ入力ポート（Din0, Din1, Din2, Din3）に入力するデータを書込み、ＬＵＴ変換値を書き換えることが可能である。
【００２２】
このようなガンマ補正処理部６は、ガンマ補正機能と輝度ヒストグラム演算機能とを有している。ガンマ補正処理部６がガンマ補正モードにあるとき、ＣＰＵ３はレジスタ１３にＬレベルの制御信号ＨENを転送し保持させる。第１セレクタ１４および第２セレクタ１５はそれぞれ、レジスタ１３から伝達する制御信号ＨENにより「０」側端子を選択する。
【００２３】
また、ＣＰＵ３はＬＵＴ用メモリ１１にガンマ変換用のＬＵＴ変換値を書き込むように制御する。すなわち、先ず、ＣＰＵ３はレジスタ２２，２３にそれぞれＨレベルの制御信号ＣACS，ＣDを転送し保持させる。これにより、セレクタ２０Ａ，２０Ｂはそれぞれ、レジスタ２２から伝達するアクセス制御信号ＣACSにより「１」側端子を選択し、セレクタ２１Ａ，２１Ｂ，２１Ｃ，２１Ｄはそれぞれ、レジスタ２３から伝達するデータ切換制御信号ＣDにより「１」側端子を選択する。そしてＣＰＵ３は、自己の出力端子（Adr）から１０ビット長のアドレス・データを出力し、ビット幅拡張器２４は伝達したそのアドレス・データを４本の１０ビット・データに拡張してセレクタ２０Ａを介してＬＵＴ用メモリ１１に出力する。セレクタ２０Ａから出力された４本のアドレス・データは、それぞれ、セレクタ２１Ａ、２１Ｂ，２１Ｃ，２１Ｄから出力された上位２ビットの「０ｘ０」，「０ｘ１」，「０ｘ２」，「０ｘ３」（０ｘ：１６進数表記を示す接頭記号）と結合され、１２ビット長のデータとして各アドレス入力ポート（Adr0〜Adr3）に入力する。ここで、「０ｘ０」〜「０ｘ３」の値はそれぞれ各色成分に対応するＬＵＴ用メモリ１１の記憶領域を指定するものである。また、ＣＰＵ３は、ＷＥ（ライト・イネーブル）信号（図示せず）をＬＵＴ用メモリ１１に供給した状態で、自己の出力端子（Dout）から、４本の８ビット長のガンマ変換値をそれぞれセレクタ２０Ｂを介してＬＵＴ用メモリ１１の各データ入力ポート（Din0〜Din3）に伝達させる。そして、ＬＵＴ用メモリ１１は入力するガンマ変換値を当該アドレス・データで指定された記憶素子に書き込む。
【００２４】
上記ガンマ変換値の書込みが終了した後、ＣＰＵ３はＬレベルの制御信号ＣACSをレジスタ２２に転送し保持させる。これにより、セレクタ２０Ａ，２０Ｂはそれぞれレジスタ２２から伝達する制御信号ＣACSにより「０」側端子を選択し、セレクタ２１Ａ〜２１Ｄはレジスタ２３から伝達するＨレベルの制御信号ＣDにより「１」側端子を選択する。その後、単一画素処理部４にＤＭＡ転送された画素データは逐次的に処理され、画素補間部５から、各色成分（Color0〜Color3）毎に４本の１２ビット長の画素データとなってガンマ補正処理部６に入力する。その４本の画素データは、各色成分毎に上位２ビット・データと下位１０ビット・データとに分離され、上位２ビット・データはそれぞれ、セレクタ２１Ａ〜２１Ｄの「０」側端子に入力する。他方、４本の下位１０ビット・データは第１セレクタ１４およびセレクタ２０Ａを介して伝達し、それぞれが、セレクタ２１Ａ〜２１Ｄから出力される「０ｘ０」，「０ｘ１」，「０ｘ２」，「０ｘ３」の上位２ビット・データと結合され、１２ビット・データとなってＬＵＴ用メモリ１１の各アドレス入力ポート（Adr0〜Adr3）に入力する。ＬＵＴ用メモリ１１は、ＲＥ（リード・イネーブル）信号を供給された状態で、各アドレス入力ポートに入力する各画素データの輝度値をアドレス・データとして８ビット長のガンマ変換値（ＬＵＴ変換値）を選択し、各データ出力ポート（Dout0〜Dout3）から出力する。そのガンマ変換値（補正データ）は、第２セレクタ１５を介して色空間変換・色抑圧処理部７に出力される。
【００２５】
尚、上述した通り、本実施の形態ではＡ／Ｄ変換器１７は１０ビット・データを出力し、単一画素処理部４に入力する１２ビット・データの有効ビットは下位１０ビットである。この代わりに、上記Ａ／Ｄ変換器１７がアナログ画像信号を１２ビット階調のデータにＡ／Ｄ変換して出力し、単一画素処理部４がその１２ビット階調のデータを処理できる場合は、ＬＵＴ用メモリ１１を４０９６（＝２12）レベルのＬＵＴ変換値を格納するメモリとして使用してもよい。かかる場合、ＣＰＵ３はレジスタ２３にＬレベルの制御信号ＣDを転送し保持させる。これにより、セレクタ２１Ａ〜２１Ｄはそれぞれ「０」側端子を選択する。このとき、ガンマ補正処理部６に入力する４本の１２ビット長の画素データは、各色成分毎に上位２ビット・データと下位１０ビット・データに分離され、上位２ビット・データはセレクタ２１Ａ〜２１Ｄの「０」側端子に入力する。他方、４本の下位１０ビット・データはそれぞれ、セレクタ１４，２０Ａを介して伝達し、それぞれが、セレクタ２１Ａ〜２１Ｄから出力される上位２ビット・データと結合され、１２ビット・データとなってＬＵＴ用メモリ１１に入力する。次いで、ＬＵＴ用メモリ１１は、色成分に関係無く、１２ビット入力の画素データに対して８ビット長のガンマ変換値を出力する。従って、本実施の形態に係るガンマ補正処理部６は、画素補間部５から入力する画素データの有効ビットが１０ビット、１２ビットの何れの場合でも対処することができる。
【００２６】
また、Ａ／Ｄ変換器１７がアナログ画像信号を１２ビット階調のデータにＡ／Ｄ変換して出力し、単一画素処理部４がその１２ビット・データを処理できる場合、その１２ビット・データの上位１０ビットを有効ビットにしてもよい。このとき、上記画素補間部５は４本の１２ビット長の画素データの上位１０ビット・データを第１セレクタ１４の「１」側端子に出力する。また画素補間部５はその下位２ビット・データを各色成分（Color0〜Color3）毎にセレクタ２１Ａ〜２１Ｄの「０」側端子に出力する。そして、セレクタ２１Ａ〜２１Ｄは、それぞれ、制御信号ＣDの制御により「１」側端子を選択し、「０ｘ０」，「０ｘ１」，「０ｘ２」，「０ｘ３」のデータを出力する。これら「０ｘ０」，「０ｘ１」，「０ｘ２」，「０ｘ３」の各２ビット・データと、第１セレクタ１４とセレクタ２０Ａとを介して伝達する各１０ビット・データとは各色成分毎に結合し１２ビット・データとなってＬＵＴ用メモリ１１の各アドレス入力ポート（Adr0〜Adr3）に入力する。以上の構成により、ＬＵＴ用メモリ１１は、画素補間部５から出力された４本の１２ビット長の画素データの上位１０ビット入力に対するＬＵＴ変換値を各データ出力ポート（Dout0〜Dout3）から出力することができる。
【００２７】
次に、上記ガンマ補正処理部６が輝度ヒストグラム演算を行うモードのとき、ＣＰＵ３はレジスタ１３にＨレベルの制御信号ＨENを転送し保持させる。これにより、第１セレクタ１４および第２セレクタ１５はそれぞれ、レジスタ１３から伝達する制御信号ＨENにより「１」側端子を選択する。
【００２８】
また、ＬＵＴ用メモリ１１は、輝度ヒストグラム演算の積算値（度数；画像データの各輝度値の発生回数）の記憶領域として利用される。よって、先ず、ＣＰＵ３は、ＬＵＴ用メモリ１１に前記積算値の初期値（零）を書き込むように制御する。すなわち、ＣＰＵ３はレジスタ２２，２３にそれぞれＨレベルの制御信号ＣACS，ＣDを転送し保持させる。これにより、セレクタ２０Ａ，セレクタ２０Ｂはそれぞれレジスタ２２から伝達するアクセス制御信号ＣACSにより「１」側端子を選択し、セレクタ２１Ａ〜２１Ｄはそれぞれ、レジスタ２３から伝達するデータ切換制御信号ＣDにより「１」側端子を選択する。そして、ＣＰＵ３は、出力端子（Adr）から１０ビット長のアドレス・データを出力し、ビット幅拡張器２４は伝達したそのアドレス・データを４本の１０ビット長のデータに拡張してセレクタ２０Ａを介してＬＵＴ用メモリ１１に出力する。次いで、セレクタ２０Ａから出力された４本のアドレス・データは、それぞれ、セレクタ２１Ａ〜２１Ｄから出力された上位２ビットの「０ｘ０」，「０ｘ１」，「０ｘ２」，「０ｘ３」の値と結合され、１２ビット・データとなって各アドレス入力ポート（Adr0〜Adr3）に入力する。また、ＣＰＵ３は、ＷＥ信号をＬＵＴ用メモリ１１に供給した状態で、自己の出力端子（Dout）から、４本の８ビット長の初期値をそれぞれセレクタ２０Ｂを介してＬＵＴ用メモリ１１の各データ入力ポート（Din0〜Din3）に伝達させる。そして、ＬＵＴ用メモリ１１は入力する初期値（零）を当該アドレス・データで指定された記憶素子に書き込む。
【００２９】
次に上記初期値の書込みが終了した後、ＣＰＵ３はレジスタ２２にＬレベルの制御信号ＣACSを転送し保持させる。これにより、セレクタ２０Ａ，２０Ｂはそれぞれ「０」側端子を選択する。その後、単一画素処理部４にＤＭＡ転送された画素データは単一画素単位で処理を施された後にビット幅拡張器２５に出力される。ビット幅拡張器２５は、入力する１２ビット・データの有効ビットが下位１０ビットの場合、その下位１０ビット・データを４本の１０ビット・データに拡張し、第１セレクタ１４を介してセレクタ２０Ａの「０」側端子に出力する。尚、上記のようにＡ／Ｄ変換器１７が１２ビット階調のデータを出力するためその１２ビット・データの上位１０ビットが有効ビットとされる場合は、ビット幅拡張器２５は、その上位１０ビットを４本のビット・データに拡張し、第１セレクタ１４を介してセレクタ２０Ａの「０」側端子に出力する。
【００３０】
セレクタ２０Ａから出力された４本の１０ビット・データはそれぞれ、セレクタ２１Ａ〜２１Ｄから出力された上位２ビットの「０ｘ０」，「０ｘ１」，「０ｘ２」，「０ｘ３」の値と結合され、１２ビット・データとなってＬＵＴ用メモリ１１のアドレス入力ポート（Adr0〜Adr3）に入力する。この時、ＬＵＴ用メモリ１１は、ＣＰＵ３からＲＥ信号を供給された状態で、入力する４本の１２ビット・データでアドレス指定される８ビット長の変換値を読み出し、これらをデータ出力ポート（Dout0〜Dout3）から増分回路２６に出力する。増分回路２６は、入力する４本の変換値のビット列を結合した３２ビット長のデータを積算値として扱い、当該積算値に「１」の値をインクリメントする。その後、増分回路２６はその積算値を元のビット列に分解してセレクタ２０Ｂに出力する。増分回路２６から出力された４本の８ビット・データはそれぞれ、セレクタ２０Ｂを介してＬＵＴ用メモリ１１の各データ入力ポート（Din0〜Din3）に伝達される。この時、ＬＵＴ用メモリ１１はＣＰＵ３からＷＥ信号を供給され、前記データ入力ポートに入力する各８ビット・データで前記各変換値を書き換える。尚、上記ＲＥ信号およびＷＥ信号は、ＣＰＵ３の代わりに、専用のタイミング生成回路で生成されてもよい。
【００３１】
図４は、上記積算値３０のデータ構成を示す模式図である。図４中、符号３０ａ，３０ｂ，３０ｃ，３０ｄはそれぞれ、各データ出力ポート（Dout0〜Dout3）から出力される８ビット長のＬＵＴ変換値を示している。上記増分回路２６は、入力する４本の８ビット・データ３０ａ〜３０ｄを結合したデータを３２ビット長の積算値３０として扱うため、ＬＵＴ用メモリ１１は３２ビット長の積算空間として利用される。すなわち、ＬＵＴ用メモリ１１は、４（＝２2）色成分の各々に対応する記憶領域を備え、各記憶領域に、１２ビット入力に対応する１０２４（＝２12／４）個の８ビット長のＬＵＴ変換値を格納している。
【００３２】
また本実施の形態では、ＬＵＴ用メモリ１１の記憶領域は４色成分の各々のために４つの記憶領域に分割されているが、これに限らず、ＬＵＴ用メモリ１１の全記憶領域を全ての色成分に対して共通にしてもよい。上述したように上記Ａ／Ｄ変換器１７が１２ビット階調のデータを出力し、単一画素処理部４から処理され出力された１２ビット・データの有効ビットを１２ビットとする場合は、ＬＵＴ用メモリ１１は、各色成分の１２ビット入力に対応する４０９６（＝２12）レベルの８ビット長のＬＵＴ変換値を出力できる。
【００３３】
今、ＬＵＴ用メモリが、Ｎビット入力（Ｎ：自然数）に対してＭビット長（Ｍ：自然数）のＬＵＴ変換値を出力するものとし、色成分の個数に基づいて分割されるＬＵＴ用メモリの記憶領域の個数をＬ（Ｌ：自然数）で表すとすれば、ＬＵＴ用メモリは、各色成分の入力ビットに対応する２N／Ｌレベルの前記変換値を格納でき、Ｍ×Ｌビットの積算空間を有することが可能となる。
【００３４】
以上のように単一画素処理部４から、１フレームもしくは１フレーム内の特定領域の画素データを輝度ヒストグラム演算モードにあるガンマ補正処理部６に出力することで、ＬＵＴ用メモリ１１に各画素データの輝度値の積算値（度数）を格納できる。従って、従来のように輝度ヒストグラム演算用の積算回路や大容量メモリを専用で設ける必要は無くなるため、消費電力の低減、回路構成の小規模化および装置の低廉化が可能となる。
【００３５】
尚、上記ＬＵＴ用メモリ１１が、上記ＲＥ信号とＷＥ信号とが独立に入力する２ポートを有する２ポート・メモリである場合は、１画素クロック周期（１画素データを処理するための基準クロック周期）の間に、ＬＵＴ用メモリ１１からの積算値の読出しと、当該積算値をインクリメントした値のＬＵＴ用メモリ１１への格納とが当該１画素クロック周期内で実行される。他方、上記ＬＵＴ用メモリ１１が上記ＲＥ信号とＷＥ信号とを共通ポートで入力する１ポート・メモリである場合は、１画素クロック周期の前半で前記積算値の読出しを行い、その後半で読出した積算値をインクリメントした値のＬＵＴ用メモリ１１への格納を行うのが望ましい。
【００３６】
以上の輝度ヒストグラム演算が終了した後は、ＣＰＵ３はレジスタ２２にＨレベルの制御信号ＣACSを転送し保持させる。これによりセレクタ２０Ａ，２０Ｂは、レジスタ２２から伝達する制御信号ＣACSにより「１」側端子を選択する。次いで、ＣＰＵ３は、ＬＵＴ用メモリ１１にＲＥ信号を供給した状態で、上述した通りにアドレス入力ポート（Adr0〜Adr3）にアドレス・データを出力し、ＬＵＴ用メモリ１１のデータ出力ポート（Dout0〜Dout3）から、各輝度値に対応する積算値（ヒストグラム・データ）を読出し、当該ＣＰＵ３の入力端子（Din）に取り込むように制御する。ＣＰＵ３は、取り込んだヒストグラム・データに基づいて撮像センサ１６で撮像した画像データの画像特性を解析し、ホワイト・バランスの微調整などを制御できる。
【００３７】
ところで、上記ガンマ補正処理部６が輝度ヒストグラム演算を実行する間、画素補間部５から出力される画素データは、簡易ガンマ補正回路１２に伝達され簡易的なガンマ変換を受けた後に第２セレクタ１５を介して色空間変換・色抑圧処理部７に出力される。これにより、輝度ヒストグラム演算とガンマ補正処理とを並行して実行できる。例えば、デジタル・スチル・カメラなどの撮像デバイスにおいて上記ディスプレイ装置１９などで被写体をファインダー表示する間は、輝度ヒストグラム演算と並行して簡易ガンマ補正回路１２を動作させ、本撮影時にはガンマ補正処理部６をガンマ補正処理のモードに切り換えるという利用法が可能となる。
【００３８】
また、上記した動作例では、上記撮像センサ１６は単板式の色フィルタ・アレイを備えるため、単一画素処理部４からガンマ補正処理部６に入力する画素データは各画素に対して単色成分しかもたない。図５に示すように、各画素に対して「Ｘ１」，「Ｘ２」，「Ｘ３」，「Ｘ４」の単色成分をもつ原画像データ３１が図２に示す主メモリ１８の原画像データバッファ１８ａに格納されている場合、ＤＭＡコントローラ２７は、Ｘ１，Ｘ２，Ｘ１，Ｘ２，…，Ｘ３，Ｘ４，Ｘ３，Ｘ４，…のように点順次でアドレス指定して画素データを読み出し、単一画素処理部４に転送できる。かかる場合、ガンマ補正処理部６における輝度ヒストグラム演算は色成分の区別無く実行される。他方で、ＤＭＡコントローラ２７は、図５の矢印に示すように、Ｘ１，Ｘ１，Ｘ１，…のように同色成分のみを選択的にアドレス指定して画素データを読出し、単一画素処理部４に転送してもよい。かかる場合、ガンマ補正処理部６における輝度ヒストグラム演算は、同色成分毎に行うことが可能となる。
【００３９】
【発明の効果】
以上の如く、本発明の請求項１に係る画像処理装置によれば、画像処理装置に組み込まれているガンマ補正用のルック・アップ・テーブル用メモリを、輝度ヒストグラム演算時に算出される積算値を格納する記憶領域として使用できる。このため、輝度ヒストグラム演算のためだけの積算回路や大規模なメモリをもつ必要無しに、ハードウェア処理で輝度ヒストグラムを迅速に算出でき、低い消費電力で小型且つ低廉な画像処理装置を実現できる。
【００４０】
請求項２によれば、上記積算値のビット長を大幅に拡張することができる。従って、輝度ヒストグラム演算を極めて高精度に行うことが可能となる。
【００４１】
請求項３によれば、例えば、上記ルック・アップ・テーブル用メモリが４本の１２ビット長の画素データの入力に対して４本の８ビット長の出力値を出力する場合、各出力値のビット列を結合することで、３２（＝８×４）ビットの拡張した積算空間を得ることが可能となる。
【００４２】
請求項４によれば、複数色成分のガンマ変換を行うルック・アップ・テーブル用メモリの記憶領域を輝度ヒストグラム演算に使用できるため、高精度な輝度ヒストグラム演算が可能となる。
【００４３】
請求項１によれば、輝度ヒストグラム演算がＬＵＴ用メモリを占有しても、輝度ヒストグラム演算と画像処理とを並行して行うことが可能となる。
【００４４】
請求項５に係る画像処理システムによれば、輝度ヒストグラム演算を同色成分毎に行えるため、信頼性の高い輝度ヒストグラムを得ることが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る画像処理装置を示す機能ブロック図である。
【図２】実施の形態に係る画像処理装置と周辺回路とを示す機能ブロック図である。
【図３】実施の形態に係るガンマ補正処理部の概略構成を示す回路図である。
【図４】輝度ヒストグラム演算で算出される積算値のデータ構成を示す模式図である。
【図５】原画像データの色成分配列を示す模式図である。
【符号の説明】
１  画像処理装置
２  データ・バス
３  ＣＰＵ
４  単一画素処理部
５  画素補間部
６  ガンマ補正処理部
１０  ＬＵＴ演算回路
１１  ＬＵＴ用メモリ
１２  簡易ガンマ補正回路
１４，１５  セレクタ
１６  撮像センサ
１７  Ａ／Ｄ変換器
１８  主メモリ
【図１】
0003753954.tif 000002
【図２】
0003753954.tif 000003
【図３】
0003753954.tif 000004
【図４】
0003753954.tif 000005
【図５】
0003753954.tif 000006