(57)【要約】【課題】メモリ容量の増大を抑制することのできる画像処理装置を提供する。【解決手段】センサリニアリティ補正部３２は、入力される複数のラインデータに含まれる１２ビットの画素データＳＢを、各ラインデータに１つの色成分の画素データのみが配列されるように並べ替える並べ替え回路４１を有する。センサリニアリティ補正部３２は、各ラインデータ毎に設けられ、上記並べ替え後の画素データＳＢ１〜ＳＢ４の上位９ビットのデータをアドレス値として、ＬＵＴが格納されたメモリ６２から複数の出力値を出力するＬＵＴ部４２Ａ〜４２Ｄを有する。センサリニアリティ補正部３２は、各ＬＵＴ部４２Ａ〜４２Ｄに対応して設けられ、複数の出力値を個別に保持し、画素データＳＢ１〜ＳＢ４の下位３ビットのデータに基づいて、複数の出力値のうち１つの出力値を出力するキャッシュメモリ４３Ａ〜４３Ｄを有する。【選択図】図４
2015216454.tif 000002
【特許請求の範囲】
【請求項１】
画像データに含まれる複数のラインデータが並列に入力され、前記複数のラインデータのうち少なくとも１つのラインデータに１つの色成分の画素データのみが配列されるように、前記各ラインデータに含まれるＡビット（Ａは２以上の整数）の画素データを並べ替える第１並べ替え回路と、
前記各ラインデータ毎に設けられ、前記並べ替え後の画素データを、ルックアップテーブルを用いて補正するＬＵＴ補正回路と、
前記第１並べ替え回路により並べ替えられた画素データの並び順を元に戻すように、前記補正後の画素データを並べ替える第２並べ替え回路と、を有し、
前記各ＬＵＴ補正回路は、
前記第１並べ替え回路による並べ替え後の画素データの上位Ｂビット（ＢはＡよりも小さい整数）のデータをアドレス値として、前記ルックアップテーブルが格納されたメモリから複数の出力値を出力するＬＵＴ部と、
前記複数の出力値を個別に保持する複数のフリップフロップ回路を有し、前記第１並べ替え回路による並べ替え後の画素データの下位（Ａ−Ｂ）ビットのデータに基づいて、前記複数のフリップフロップ回路のうち１つのフリップフロップ回路に保持された出力値を出力するキャッシュメモリと、
を有することを特徴とする画像処理装置。
【請求項２】
前記ＬＵＴ部に連続して入力される２つの画素データの前記上位Ｂビットのデータが同一である場合には、前記メモリからの前記出力値の出力を停止させる制御部を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記メモリには、前記Ａビットの画素データにより選択可能な個数の出力値が格納され、前記メモリは、前記上位Ｂビットのデータにより選択可能な個数のアドレスを有し、前記メモリの各アドレスには、前記下位（Ａ−Ｂ）ビットのデータにより選択可能な個数の出力値が格納されていることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記画像データの奇数番目のラインデータは、第１色成分の画素データと、第２色成分の画素データとが交互に配列され、前記画像データの偶数番目のラインデータは、前記第２色成分の画素データと、第３色成分の画素データとが交互に配列され、
前記第１並べ替え回路には、前記奇数番目の第１ラインデータと前記偶数番目の第２ラインデータとが並列に入力され、
前記第１並べ替え回路は、前記第１ラインデータに含まれる画素データと、前記第２ラインデータに含まれる画素データとの双方が入力される第１選択回路及び第２選択回路を含む第１並べ替え部を有し、
前記第１選択回路及び前記第２選択回路は、互いに異なる画素データを選択し、且つ、前記第１ラインデータに含まれる画素データと前記第２ラインデータに含まれる画素データとを交互に選択して出力することを特徴とする請求項１〜３のいずれか一項に記載の画像処理装置。
【請求項５】
前記第１並べ替え回路には、前記第１ラインデータと、前記第２ラインデータと、前記奇数番目の第３ラインデータと、前記偶数番目の第４ラインデータとが並列に入力され、
前記第１並べ替え部は、
前記第３ラインデータに含まれる画素データと、前記第４ラインデータに含まれる画素データとの双方が入力され、互いに異なる画素データを選択し、且つ、前記第３ラインデータに含まれる画素データと前記第４ラインデータに含まれる画素データとを交互に選択して出力する第３選択回路及び第４選択回路を有し、
前記第１選択回路及び前記第４選択回路は、前記第２色成分の画素データのみが配列されたラインデータを出力し、
前記第２選択回路は、前記第１色成分の画素データと前記第３色成分の画素データとが交互に配列された第５ラインデータを出力し、
前記第３選択回路は、前記第１色成分の画素データと前記第３色成分の画素データとが交互に配列された第６ラインデータを出力することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記第１並べ替え回路は、前記第５ラインデータと前記第６ラインデータとが並列に入力され、前記第５ラインデータのＮ列目（Ｎは偶数又は奇数）の前記第３色成分の画素データと、前記第６ラインデータの（Ｎ−１）列目の前記第１色成分の画素データとを入れ替える第２並べ替え部を有することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記第１並べ替え回路は、前記第１色成分の画素データと前記第３色成分の画素データとが交互に配列された第７ラインデータを前記第１選択回路から入力する第２並べ替え部を有し、
前記第２並べ替え部は、前記第７ラインデータに含まれる画素データを、前記第１色成分の画素データが複数個連続して配列され、且つ、前記第３色成分の画素データが複数個連続して配列されるように並べ替えることを特徴とする請求項４に記載の画像処理装置。
【請求項８】
前記ＬＵＴ補正回路は、前記第１並べ替え回路による並べ替え後の画素データに対して、センサリニアリティ補正処理又は圧縮伸長処理を実行する補正回路であることを特徴とする請求項１〜７のいずれか一項に記載の画像処理装置。
【請求項９】
画像データに含まれる複数のラインデータを並列に入力し、
前記複数のラインデータのうち少なくとも１つのラインデータに１つの色成分の画素データのみが配列されるように、前記各ラインデータに含まれるＡビット（Ａは２以上の整数）の画素データを並べ替え、
前記並べ替え後の画素データの上位Ｂビット（ＢはＡよりも小さい整数）のデータをアドレス値として、ルックアップテーブルが格納されたメモリから複数の出力値を読み出し、
前記読み出した複数の出力値を個別に保持し、
前記並べ替え後の画素データの下位（Ａ−Ｂ）ビットのデータに基づいて、前記保持した複数の出力値のうち１つの出力値を補正後の画素データとして出力することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関するものである。
【背景技術】
【０００２】
従来、撮像した画像のデジタルデータを記録可能なデジタルスチルカメラ等の電子機器が広く普及している。このような電子機器は、撮像した画像のデジタルデータを所要に変換処理する画像処理装置を有している。この画像処理装置が実施する画像処理としては、例えばセンサリニアリティ補正処理などが知られている。このようなセンサリニアリティ補正処理は、例えば、ルックアップテーブル（ＬＵＴ）を用いた補正処理（ＬＵＴ補正処理）により実行される。ここで、ＬＵＴとは、特定の間隔で区切られた入力値に対応した出力値（補正後のデータ）を示すテーブルである。このＬＵＴを用いることにより、例えば、演算式では表現が困難な非線形の特性を表現することができる。そして、ＬＵＴ補正処理では、例えば、入力値をＬＵＴが格納されたＲＡＭのアドレス値として入力し、そのアドレス値に対応した出力値を補正後のデータとして出力することによって、入力値に対するＬＵＴ補正（センサリニアリティ補正）が実行される。
【０００３】
図２０は、ＣＣＤやＣＭＯＳ等のイメージセンサから出力されるベイヤ配列の画像データに対してセンサリニアリティ補正処理を施すＬＵＴ補正部２００の一例を示している。
ＬＵＴ補正部２００には、イメージセンサの処理の高速化に伴って、画像データの複数ライン（図示の例では、４ライン）のラインデータにそれぞれ含まれる画素データＳＢが並列に入力される。ＬＵＴ補正部２００は、各ライン毎にＬＵＴ部２０２Ａ〜２０２Ｄを設け、ライン毎に画素データＳＢに対してセンサリニアリティ補正処理（ＬＵＴ補正処理）を施し、補正後の画素データＳＧを出力する。ＬＵＴ部２０２Ａ〜２０２Ｄは、センサリニアリティ補正用の補正カーブが格納されたＲＡＭを有している。補正カーブは、入力値に対応する出力値（センサリニアリティ補正後の画素値）の特性を示すものであり、色成分毎に専用の補正カーブが用意されている。すなわち、補正カーブには、図２１に示すように、赤色（Ｒ）成分の画素データ（Ｒ画素）用の補正カーブと、緑色（Ｇ）成分の画素データ（Ｇ画素）用の補正カーブと、青色（Ｂ）成分の画素データ（Ｂ画素）用の補正カーブとが用意されている。ここで、ベイヤ配列の画像データでは、例えば、１ライン目及び３ライン目のラインデータにはＲ画素とＧ画素とが交互に配置され、２ライン目及び４ライン目のラインデータにはＧ画素とＢ画素とが交互に配置されている。このため、１ライン目及び３ライン目のラインデータが入力されるＬＵＴ部２０２Ａ，２０２Ｃには、Ｒ画素用の補正カーブが格納されたＲＡＭ２０５Ａ，２０５Ｃと、Ｇ画素用の補正カーブが格納されたＲＡＭ２０６Ａ，２０６Ｃとが設けられている。また、２ライン目及び４ライン目のラインデータが入力されるＬＵＴ部２０２Ｂ，２０２Ｄには、Ｂ画素用の補正カーブが格納されたＲＡＭ２０５Ｂ，２０５Ｄと、Ｇ画素用の補正カーブが格納されたＲＡＭ２０６Ｂ，２０６Ｄとが設けられている。
【０００４】
各ＬＵＴ部２０２Ａ〜２０２Ｄでは、例えば、画素データＳＢがＲＡＭ２０５Ａ〜２０５Ｄ，２０６Ａ〜２０６Ｄのアドレス値として入力され、そのアドレス値に対応した出力値が選択回路２０７に出力される。そして、ＬＵＴ部２０２Ａ〜２０２Ｄでは、ＲＡＭ２０５Ａ〜２０５Ｄの出力値及びＲＡＭ２０６Ａ〜２０６Ｄの出力値のいずれか一方が選択回路２０７で選択され、その選択された出力値がセンサリニアリティ補正後の画素データＳＧとして出力される。
【０００５】
なお、上記従来技術に関連する先行技術として、特許文献１，２が知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−７０１６５号公報
【特許文献２】特開２００７−２９３８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところが、ＬＵＴ補正部２００では、各ＬＵＴ部２０２Ａ〜２０２Ｄに２つ以上のＲＡＭを設ける必要がある。このため、イメージセンサの高速化に伴って、ＬＵＴ補正部２００に並列に入力されるライン数が増加するほど、ＬＵＴ補正部２００におけるメモリの総容量が増大するという問題がある。
【課題を解決するための手段】
【０００８】
本発明の一観点によれば、画像データに含まれる複数のラインデータが並列に入力され、前記複数のラインデータのうち少なくとも１つのラインデータに１つの色成分の画素データのみが配列されるように、前記各ラインデータに含まれるＡビット（Ａは２以上の整数）の画素データを並べ替える第１並べ替え回路と、前記各ラインデータ毎に設けられ、前記並べ替え後の画素データを、ルックアップテーブルを用いて補正するＬＵＴ補正回路と、前記第１並べ替え回路により並べ替えられた画素データの並び順を元に戻すように、前記補正後の画素データを並べ替える第２並べ替え回路と、を有し、前記各ＬＵＴ補正回路は、前記第１並べ替え回路による並べ替え後の画素データの上位Ｂビット（ＢはＡよりも小さい整数）のデータをアドレス値として、前記ルックアップテーブルが格納されたメモリから複数の出力値を出力するＬＵＴ部と、前記複数の出力値を個別に保持する複数のフリップフロップ回路を有し、前記第１並べ替え回路による並べ替え後の画素データの下位（Ａ−Ｂ）ビットのデータに基づいて、前記複数のフリップフロップ回路のうち１つのフリップフロップ回路に保持された出力値を出力するキャッシュメモリと、を有する。
【発明の効果】
【０００９】
本発明の一観点によれば、メモリ容量の増大を抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態の電子機器を示すブロック図。
【図２】センサＩ／Ｆの内部構成例を示すブロック図。
【図３】（ａ）、（ｂ）は、撮像データのデータ構造を示す説明図。
【図４】第１実施形態のセンサリニアリティ補正部の内部構成例を示すブロック図。
【図５】第１実施形態の並べ替え回路の内部構成例を示すブロック図。
【図６】（ａ）〜（ｃ）は、第１実施形態の並べ替え回路の動作を示す説明図。
【図７】ＬＵＴ部及びキャッシュメモリの内部構成例を示すブロック図。
【図８】メモリのデータ構造を示す説明図。
【図９】（ａ）〜（ｃ）は、第１実施形態の並べ替え回路の動作を示す説明図。
【図１０】第１実施形態の圧縮伸長処理部の内部構成例を示すブロック図。
【図１１】（ａ）は、Ｋｎｅｅ補正カーブを示す特性図、（ｂ）は、Ｄｅｋｎｅｅ補正カーブを示す特性図。
【図１２】（ａ）、（ｂ）は、第１実施形態のセンサリニアリティ補正部の作用を示す説明図。
【図１３】第２実施形態のセンサリニアリティ補正部の内部構成例を示すブロック図。
【図１４】第２実施形態の並べ替え回路の内部構成例を示すブロック図。
【図１５】（ａ）〜（ｃ）は、第２実施形態の並べ替え回路の動作を示す説明図。
【図１６】第２実施形態の圧縮伸長処理部の内部構成例を示すブロック図。
【図１７】従来のＬＵＴ補正部の内部構成例を示すブロック図。
【図１８】変形例の並べ替え回路の内部構成例を示すブロック図。
【図１９】（ａ）〜（ｃ）は、変形例の並べ替え回路の動作を示す説明図。
【図２０】従来のＬＵＴ補正部の内部構成例を示すブロック図。
【図２１】センサリニアリティ補正用の補正カーブを示す特性図。
【発明を実施するための形態】
【００１１】
（第１実施形態）
以下、図１〜図１２に従って第１実施形態を説明する。
図１に示す電子機器１０は、例えば、デジタルスチルカメラである。電子機器１０は、撮像装置１１と、画像処理プロセッサ（ＩＳＰ：Image Signal Processor）１２と、入力装置１３と、メモリ１４と、記録媒体１５と、表示装置１６とを有している。
【００１２】
撮像装置１１は、ベイヤ（Bayer）配列のカラーフィルタと撮像素子１１Ａとを有している。撮像素子１１Ａとしては、例えば、ＣＣＤ（Charge Coupled Device）イメージセンサ、ＣＭＯＳ（Complementary MOS）イメージセンサを用いることができる。撮像素子１１Ａは、カラーフィルタを介して入射する光の量に応じた撮像信号（アナログ信号）を出力する。撮像装置１１は、撮像素子１１Ａから出力されるアナログの撮像信号をデジタルの撮像データＳＡに変換する。そして、撮像装置１１は、同期信号に従って変換後の撮像データＳＡを出力する。この撮像装置１１から出力される撮像データＳＡは、撮像素子１１Ａにて撮像された１画面分の画像データ（１フレームのフレーム画像）である。なお、上記同期信号は、１つのフィールド（フレーム）の区切りを示す垂直同期信号と、１ラインの区切りを示す水平同期信号を含む信号であり、例えば、画像処理プロセッサ１２から供給される信号である。
【００１３】
画像処理プロセッサ１２は、例えば、入力装置１３からの入力信号に基づいて、撮像装置１１から出力される撮像データＳＡ（例えば、ＲＧＢ形式の画像データ（ベイヤデータ））に対して各種画像処理を施す。また、画像処理プロセッサ１２は、所定の処理段階で画像データをメモリ１４に一時的に格納する。すなわち、メモリ１４は作業メモリとして機能する。このメモリ１４は、例えば、同期式半導体メモリ（ＳＤＲＡＭ：Synchronous Dynamic Random Access Memory）などの書き換え可能なメモリである。また、画像処理プロセッサ１２は、入力装置１３からの入力信号に基づいて、メモリ１４に格納された各種画像処理後の画像データを記録媒体１５に格納したり、表示装置１６に表示したりする。
【００１４】
入力装置１３は、ユーザにより操作されるシャッタボタン、メニューボタンやタッチパネル等の各種スイッチを有している。この各種スイッチは、例えば、写真撮影、撮影条件の設定や表示方式の設定を行うために使用される。
【００１５】
記録媒体１５としては、例えば、コンパクトフラッシュ（登録商標）やＳＤメモリカード（登録商標）などの携帯型メモリカードを用いることができる。
表示装置１６としては、例えば、液晶表示装置（ＬＣＤ：Liquid Crystal Display）や有機ＥＬ（Electronic Luminescence）を用いることができる。また、表示装置１６としては、例えば、電子ビューファインダ（ＥＶＦ：Electronic View Finder）や、外部接続のためのインタフェース（例えば、ＨＤＭＩ（登録商標）：High-Definition Multimedia Interface）を用いることもできる。
【００１６】
次に、画像処理プロセッサ１２の内部構成例について説明する。
画像処理プロセッサ１２は、ＣＰＵ（Central Processing Unit）２０と、センサインタフェース（Ｉ／Ｆ）２１と、画像信号処理部２２と、メモリＩ／Ｆ２３と、コーデック部２４と、記録媒体Ｉ／Ｆ２５と、表示装置Ｉ／Ｆ２６とを有している。これらＣＰＵ２０、センサＩ／Ｆ２１、画像信号処理部２２、メモリＩ／Ｆ２３、コーデック部２４、記録媒体Ｉ／Ｆ２５、及び表示装置Ｉ／Ｆ２６は、バス２７を介して互いに電気的に接続されている。
【００１７】
ＣＰＵ２０は、画像処理プロセッサ１２全体を統括制御する。ＣＰＵ２０は、例えば、処理に必要な情報の各処理部への設定及びデータの書き込み／読み出し制御等を行う。ＣＰＵ２０は、入力装置１３の操作に応じて動作モードや各処理に必要な情報（パラメータ）を設定する。
【００１８】
センサＩ／Ｆ２１は、撮像装置１１から出力される撮像データＳＡ（ＲＧＢ形式の画像データ）を受け取り、その撮像データＳＡに対して所定の補正処理を施す。そして、センサＩ／Ｆ２１は、補正処理後の画像データを、メモリＩ／Ｆ２３を介してメモリ１４に格納する。なお、撮像データＳＡに対する補正処理には、例えば、センサリニアリティ補正処理、ノイズ除去処理や圧縮伸長処理が含まれる。
【００１９】
画像信号処理部２２は、メモリ１４に格納された画像データを読み出し、その画像データに対して、所定の画像処理を施す。そして、画像信号処理部２２は、画像処理後の画像データを、メモリＩ／Ｆ２３を介してメモリ１４に格納する。なお、画像信号処理部２２における画像処理には、例えば、ＲＧＢ形式の画像データをＹＣｂＣｒ形式の画像データに変換する色空間変換処理、画像データの画素数を増減する解像度変換処理、画像の輪郭（エッジ）を強調するエッジ強調処理等が含まれる。
【００２０】
コーデック部２４は、メモリ１４に格納された画像処理後の画像データを読み出し、その画像データを所定の方式（例えば、ＪＰＥＧ（Joint Photographic Experts Group）方式）により符号化する。そして、コーデック部２４は、符号化後の画像データ（符号化データ）を、メモリＩ／Ｆ２３を介してメモリ１４に格納する。
【００２１】
記録媒体Ｉ／Ｆ２５は、電子機器１０に装着される記録媒体１５と接続される。記録媒体Ｉ／Ｆ２５は、メモリ１４に格納されたデータ（例えば、符号化データ）を記録媒体１５に格納する。
【００２２】
表示装置Ｉ／Ｆ２６には、当該電子機器１０に設けられた表示装置１６が接続されている。表示装置１６は、電子機器１０の駆動源であるバッテリの残量、撮影モード、撮影フレーム、記憶された画像データの表示等に用いられる。例えば、表示装置Ｉ／Ｆ２６は、メモリ１４に格納されたデータを読み出し、そのデータに基づいて生成した表示データを表示装置１６に出力する。
【００２３】
次に、センサＩ／Ｆ２１の内部構成例について説明する。
図２に示すように、センサＩ／Ｆ２１は、撮像装置接続Ｉ／Ｆ３１と、センサリニアリティ補正部３２と、ノイズ除去処理部３３と、圧縮伸長処理部３４と、バスＩ／Ｆ３５とを有している。
【００２４】
撮像装置接続Ｉ／Ｆ３１は、撮像装置１１から出力される撮像データＳＡを受信し、その撮像データＳＡをセンサリニアリティ補正部３２に出力する。ここで、撮像装置接続Ｉ／Ｆ３１から出力される撮像データＳＡのデータ構造について説明する。
【００２５】
図３（ａ）に示すように、１つのフレーム（１画面）の撮像データＳＡは、複数の画素データＳＢを有している。図３（ａ）において左右方向に配列された画素データＳＢは、撮像素子１１Ａの第１方向（例えば、水平方向）に配列された複数の受光部に対応し、図３（ａ）において上下方向に配列された画素データＳＢは、撮像素子１１Ａの第１方向と直交する第２方向（例えば、垂直方向）に配列された複数の受光部に対応する。各画素データＳＢは、対応する受光部がそれぞれ受ける光の量に応じた値（画素値）を含む。ここで、撮像素子１１Ａの受光部は、所定配列（例えば、ベイヤ配列）のカラーフィルタを透過した光を受光する。したがって、各画素データＳＢに含まれる画素値は、対応するカラーフィルタの配列及び色に応じた色情報を含む。例えば、ベイヤ配列のカラーフィルタは、赤色（Ｒ）のフィルタと、緑色（Ｇ）のフィルタと、青色（Ｂ）のフィルタを含む。このため、撮像データＳＡは、複数の画素データＳＢを含み、各画素データＳＢは、それぞれ対応する１つの色の色情報（赤色（Ｒ）成分、緑色（Ｇ）成分、青色（Ｂ）成分）を含む。
【００２６】
図３（ｂ）は、各画素データＳＢに含まれる色情報と画素データＳＢの配列位置を示す。以下では、図３（ｂ）に示した撮像データＳＡを用いて各種処理を説明する。
図３（ｂ）に示した撮像データＳＡは、８つのラインデータＬ１〜Ｌ８を有している。各ラインデータＬ１〜Ｌ８は、８つの画素データＳＢを有している。図３（ｂ）では、画素データＳＢが、赤色（Ｒ）成分の色情報を含む場合には「Ｒ」、緑色（Ｇ）成分の色情報を含む場合には「Ｇ」、青色（Ｂ）成分の色情報を含む場合には「Ｂ」と示している。さらに、図３（ｂ）では、左右方向に並ぶ画素データの行（ラインデータ）の位置をＸ（Ｘ＝１〜８）、縦方向に並ぶ画素データの列の位置をＹ（Ｙ＝１〜８）としたときに、各画素データＳＢを「色情報（Ｒ成分、Ｇ成分、Ｂ成分）ＸＹ」として示している。例えば、撮像データＳＡの１行１列目の画素データＳＢは、Ｒ成分の画素データであるため、「Ｒ１１」と表記されている。同様に、１行２列目の画素データＳＢはＧ成分の画素データであるため「Ｇ１２」と表記され、２行１列目の画素データＳＢはＧ成分の画素データであるため「Ｇ２１」と表記され、２行２列目の画素データＳＢはＢ成分の画素データであるため「Ｂ２２」と表記されている。なお、以下の説明において、各画素データＳＢを、色情報（色成分）を用いて説明する場合には、図３（ｂ）に示した符号（色情報（Ｒ成分、Ｇ成分、Ｂ成分）ＸＹ）を用いて説明する。例えば、１行１列目の画素データＳＢを、画素データＲ１１として説明することがある。また、以下の説明では、Ｒ成分の画素データを総称してＲ画素、Ｇ成分の画素データを総称してＧ画素、Ｂ成分の画素データを総称してＢ画素と称する場合もある。
【００２７】
図２に示すように、センサリニアリティ補正部３２は、撮像装置接続Ｉ／Ｆ３１から撮像データＳＡを受信する。センサリニアリティ補正部３２は、受信した撮像データＳＡに対してセンサリニアリティ補正処理を施し、その補正処理後の画像データＳＡ１をノイズ除去処理部３３に出力する。ここで、センサリニアリティ補正処理は、例えば、ルックアップテーブル（ＬＵＴ）を用いた補正処理（ＬＵＴ補正処理）により実行される。このＬＵＴは、入力値（入力する画素データＳＢの画素値）に対応した出力値（センサリニアリティ補正後の画素値）を示すテーブルである。このＬＵＴの入力値に対応する出力値の特性を示す特性曲線が、センサリニアリティ補正用の補正カーブ（図２１参照）になる。センサリニアリティ補正用の補正カーブは、図２１に示すように、色情報（色成分）毎の専用の補正カーブ、つまりＲ画素用の補正カーブ、Ｇ画素用の補正カーブ及びＢ画素用の補正カーブが用意されている。
【００２８】
センサリニアリティ補正部３２によるＬＵＴ補正処理では、撮像データＳＡに含まれる各画素データＳＢの画素値（入力値）を上記ＬＵＴが格納されたＲＡＭのアドレス値として入力する。そして、ＬＵＴ補正処理では、上記アドレス値に対応したＲＡＭの出力値をセンサリニアリティ補正後の画素データとして出力することによって、入力値に対するＬＵＴ補正（センサリニアリティ補正）が実現される。
【００２９】
ノイズ除去処理部３３は、例えば、センサリニアリティ補正後の画像データＳＡ１に対して、その画像データＳＡ１に含まれるノイズを除去するノイズ除去処理を実施する。そして、ノイズ除去処理部３３は、ノイズ除去後の画像データＳＡ２を圧縮伸長処理部３４に出力する。
【００３０】
圧縮伸長処理部３４は、例えば、メモリ１４への書き込み・読み出し時における帯域削減のために、ノイズ除去処理部３３から入力した画像データＳＡ２を圧縮（Ｋｎｅｅ処理）し、その後伸長（Ｄｅｋｎｅｅ処理）する。そして、圧縮伸長処理部３４は、圧縮伸長処理後の画像データＳＡ３をバスＩ／Ｆ３５に出力する。ここで、圧縮処理（Ｋｎｅｅ処理）は、例えば、ＬＵＴを用いたＬＵＴ補正処理により実行される。このＬＵＴは、入力値（例えば、画像データＳＡ２）に対応した出力値（圧縮処理後の画像データ）を示すテーブルである。このＬＵＴの入力値に対応する出力値の特性を示す特性曲線が、図１１（ａ）に示すようなＫｎｅｅ補正カーブになる。また、伸長処理（Ｄｅｋｎｅｅ処理）は、例えば、ＬＵＴを用いたＬＵＴ補正処理により実行される。このＬＵＴは、入力値（例えば、圧縮処理後の画像データ）に対応した出力値（伸長処理後の画像データ）を示すテーブルである。このＬＵＴの入力値に対応する出力値の特性を示す特性曲線が、図１１（ｂ）に示すようなＤｅｋｎｅｅ補正カーブになる。
【００３１】
圧縮伸長処理部３４によるＬＵＴ補正処理では、画像データＳＡ２（入力値）を上記ＬＵＴ（Ｋｎｅｅ補正カーブ又はＤｅｋｎｅｅ補正カーブ）が格納されたＲＡＭのアドレス値として入力する。そして、ＬＵＴ補正処理では、上記アドレス値に対応したＲＡＭの出力値を圧縮処理後又は伸長処理後の画素データとして出力することによって、入力値に対するＬＵＴ補正（圧縮伸長処理）が実現される。
【００３２】
バスＩ／Ｆ３５は、バス２７と接続されている。バスＩ／Ｆ３５は、圧縮伸長処理後の画像データを、バス２７を通じてメモリ１４（図１参照）に格納する。
次に、センサリニアリティ補正部３２の内部構成例及び動作について説明する。
【００３３】
図４に示すように、センサリニアリティ補正部３２は、並べ替え回路４１と、複数（ここでは、４つ）のＬＵＴ部４２Ａ〜４２Ｄと、各ＬＵＴ部４２Ａ〜４２Ｄに対応して設けられたキャッシュメモリ４３Ａ〜４３Ｄと、並べ替え回路４４とを有している。
【００３４】
センサリニアリティ補正部３２（並べ替え回路４１）には、撮像データＳＡの複数ライン（ここでは、４ライン分）の画素データＳＢが並列に入力される。例えば、センサリニアリティ補正部３２（並べ替え回路４１）には、ラインデータＬ１〜Ｌ４に含まれる画素データＳＢが並列に入力され、その後、ラインデータＬ５〜Ｌ８に含まれる画素データＳＢが並列に入力される。なお、ラインデータＬ１〜Ｌ４に対する処理と、ラインデータＬ５〜Ｌ８に対する処理とは同様の処理であるため、以下では、説明の簡略化のため、ラインデータＬ１〜Ｌ４に関する処理のみに着目して説明を行う。
【００３５】
詳述すると、並べ替え回路４１は、複数（ここでは、４つ）の入力端子Ｐ１〜Ｐ４を有している。図６（ａ）に示すように、入力端子Ｐ１〜Ｐ４には、ラインデータＬ１〜Ｌ４に含まれる画素データＳＢが並列（同時）に入力される。例えば、入力端子Ｐ１〜Ｐ４には、ラインデータＬ１〜Ｌ４の１列目の画素データＲ１１，Ｇ２１，Ｒ３１，Ｇ４１が並列（同時）に入力され、続いて、２列目の画素データＧ１２，Ｂ２２，Ｇ３２，Ｂ４２が並列（同時）に入力される。その後も同様に、入力端子Ｐ１〜Ｐ４には、ラインデータＬ１〜Ｌ４の同じ列の４つの画素データが順次並列に入力される。ここで、入力端子Ｐ１，Ｐ３には、Ｒ画素とＧ画素とが交互に入力され、入力端子Ｐ２，Ｐ４には、Ｇ画素とＢ画素とが交互に入力される。
【００３６】
並べ替え回路４１は、まず、入力端子Ｐ１〜Ｐ４にそれぞれ入力されるラインデータＬ１〜Ｌ４の画素データＳＢを、図６（ａ）に矢印で示したように入れ替える。すなわち、ラインデータＬ１のＲ画素とラインデータＬ２のＧ画素とを入れ替え、ラインデータＬ３のＧ画素とラインデータＬ４のＢ画素とを入れ替える。これにより、図６（ｂ）に示すように、並べ替え後のラインデータＬ１Ａ，Ｌ４ＡにはＧ画素のみが配列され、ラインデータＬ２Ａ（第５ラインデータ）にはＲ画素とＢ画素とが交互に配列され、ラインデータＬ３Ａ（第６ラインデータ）にはＲ画素とＢ画素とが交互に配列される。さらに、並べ替え回路４１は、上記並べ替え後のラインデータＬ１Ａ〜Ｌ４Ａの画素データＳＣ１〜ＳＣ４を、図６（ｂ）に矢印で示したように入れ替える。すなわち、ラインデータＬ２ＡのＢ画素とラインデータＬ３ＡのＲ画素とを入れ替える。これにより、図６（ｃ）に示すように、２回目の並べ替え後のラインデータＬ２ＢにはＲ画素のみが配置され、ラインデータＬ３ＢにはＢ画素のみが配置される。すなわち、ラインデータＬ１Ｂに含まれる画素データＳＢ１は全てＧ画素、ラインデータＬ２Ｂに含まれる画素データＳＢ２は全てＲ画素、ラインデータＬ３Ｂに含まれる画素データＳＢ３は全てＢ画素、ラインデータＬ４Ｂに含まれる画素データＳＢ４は全てＧ画素となる。このように、並べ替え回路４１では、入力端子Ｐ１〜Ｐ４に入力される画素データＳＢを、１つのラインデータＬ１Ｂ〜Ｌ４Ｂに１つの色成分の画素データのみが配置（配列）されるように並べ替える。
【００３７】
図４に示すように、並べ替え回路４１は、画素データＳＢ１をＬＵＴ部４２Ａに出力し、画素データＳＢ２をＬＵＴ部４２Ｂに出力し、画素データＳＢ３をＬＵＴ部４２Ｃに出力し、画素データＳＢ４をＬＵＴ部４２Ｄに出力する。このため、ＬＵＴ部４２Ａ，４２ＤにはＧ画素のみが入力され、ＬＵＴ部４２ＢにはＲ画素のみが入力され、ＬＵＴ部４２ＣにはＢ画素のみが入力される。
【００３８】
次に、以上説明した並べ替えを実施する並べ替え回路４１の内部構成の一例について説明する。
図５に示すように、並べ替え回路４１は、並べ替え部５０と、並べ替え部５５とを有している。並べ替え部５０は、４つの選択回路５１〜５４を有している。並べ替え部５５は、２つの選択回路５６，５７と、２つのフリップフロップ回路（ＦＦ回路）５８，５９とを有している。
【００３９】
選択回路５１及び選択回路５２の双方には、入力端子Ｐ１と及び入力端子Ｐ２の２つの入力端子が接続されている。このため、選択回路５１，５２には、例えば、ラインデータＬ１の画素データＳＢと、ラインデータＬ２の画素データＳＢとの２つの画素データが同時に入力される。選択回路５１，５２は、例えば同期信号（図示略）に基づいて、ラインデータＬ１の画素データＳＢと、ラインデータＬ２の画素データＳＢとを交互に選択し、選択した画素データＳＢを画素データＳＣ１，ＳＣ２としてそれぞれ出力する。選択回路５１と選択回路５２とは互いに異なるラインデータの画素データＳＢを選択する。例えば、図６（ａ）及び図６（ｂ）に示すように、選択回路５２においてラインデータＬ１の奇数列の画素データＳＢ（画素データＲ１１，Ｒ１３，Ｒ１５，Ｒ１７、つまりＲ画素）が選択されるとき、選択回路５１ではラインデータＬ２の奇数列の画素データＳＢ（画素データＧ２１，Ｇ２３，Ｇ２５，Ｇ２７、つまりＧ画素）が選択される。また、選択回路５１においてラインデータＬ１の偶数列の画素データＳＢ（画素データＧ１２，Ｇ１４，Ｇ１６，Ｇ１８、つまりＧ画素）が選択されるとき、選択回路５２ではラインデータＬ２の偶数列の画素データＳＢ（画素データＢ２２，Ｂ２４，Ｂ２６．Ｂ２８、つまりＢ画素）が選択される。これら選択回路５１，５２により、ラインデータＬ１，Ｌ２において図６（ａ）に矢印で示した並び替えが行われる。
【００４０】
図５に示すように、選択回路５３及び選択回路５４の双方には、入力端子Ｐ３及び入力端子Ｐ４の２つの入力端子が接続される。このため、選択回路５３，５４には、例えば、ラインデータＬ３の画素データＳＢと、ラインデータＬ４の画素データＳＢとの２つの画素データが同時に入力される。選択回路５３，５４は、例えば、同期信号（図示略）に基づいて、ラインデータＬ３の画素データＳＢと、ラインデータＬ４の画素データＳＢとを交互に選択し、選択した画素データＳＢを画素データＳＣ３，ＳＣ４としてそれぞれ出力する。選択回路５３と選択回路５４とは互いに異なるラインデータの画素データを選択する。例えば、図６（ａ）及び図６（ｂ）に示すように、選択回路５３においてラインデータＬ３の奇数列の画素データＳＢ（画素データＲ３１，Ｒ３３，Ｒ３５，Ｒ３７、つまりＲ画素）が選択されるとき、選択回路５４ではラインデータＬ４の奇数列の画素データＳＢ（画素データＧ４１，Ｇ４３，Ｇ４５，Ｇ４７、つまりＧ画素）が選択される。また、選択回路５４においてラインデータＬ３の偶数列の画素データＳＢ（画素データＧ３２，Ｇ３４，Ｇ３６，Ｇ３８、つまりＧ画素）が選択されるとき、選択回路５３ではラインデータＬ４の偶数列の画素データＳＢ（画素データＢ４２，Ｂ４４，Ｂ４６．Ｂ４８、つまりＢ画素）が選択される。これら選択回路５３，５４により、ラインデータＬ３，Ｌ４において図６（ａ）に矢印で示した並び替えが行われる。
【００４１】
以上説明した選択回路５１〜５４からは、ラインデータＬ１Ａ〜Ｌ４Ａがそれぞれ出力される。なお、ラインデータＬ１Ａ〜Ｌ４Ａには、並べ替え部５０による並べ替え後の画素データＳＣ１〜ＳＣ４がそれぞれ含まれる。
【００４２】
画素データＳＣ１は、ＦＦ回路５１Ａに供給される。ＦＦ回路５１Ａは、例えば、画素データＳＣ１を同期信号（図示略）の１クロック分だけ遅延させ、その遅延させた信号を画素データＳＢ１として出力する。例えば、ＦＦ回路５１Ａは、同期信号の立ち上がりエッジに応答して画素データＳＣ１をラッチし、次の同期信号の立ち上がりエッジに応答して上記ラッチレベルと等しいレベルの信号を画素データＳＢ１として出力する。
【００４３】
画素データＳＣ４は、ＦＦ回路５４Ａに供給される。ＦＦ回路５４Ａは、例えば、画素データＳＣ４を同期信号（図示略）の１クロック分だけ遅延させ、その遅延させた信号を画素データＳＢ４として出力する。
【００４４】
画素データＳＣ２（図６（ｂ）に示したラインデータＬ２Ａ）は、並べ替え部５５内の選択回路５６，５７に供給される。画素データＳＣ３（図６（ｂ）に示したラインデータＬ３Ａ）は、ＦＦ回路５８に供給される。ＦＦ回路５８は、例えば、画素データＳＣ２を同期信号（図示略）の１クロック分だけ遅延させ、その遅延させた出力信号を選択回路５６，５７に出力する。
【００４５】
選択回路５６，５７には、画素データＳＣ２とＦＦ回路５８の出力信号とが入力される。例えば、選択回路５６，５７には、図６（ｂ）に示すように、ラインデータＬ２Ａの２列目の画素データＢ２２と併せて、その画素データＢ２２よりも１クロック前（１列前）の画素データＲ３１、つまりラインデータＬ３Ａの１列目の画素データＲ３１が入力される。選択回路５６は、例えば、同期信号（図示略）に基づいて、画素データＳＣ２とＦＦ回路５８の出力信号とを交互に選択し、選択した画素データをＦＦ回路５９に出力する。また、選択回路５７は、例えば、同期信号（図示略）に基づいて、画素データＳＣ２とＦＦ回路５８の出力信号とを交互に選択し、選択した画素データを画素データＳＢ３として出力する。選択回路５６と選択回路５７とは互いに異なる画素データＳＣ２，ＳＣ３を選択する。例えば、図６（ｂ）及び図６（ｃ）に示すように、選択回路５７においてラインデータＬ２Ａの偶数列の画素データＳＣ２（Ｂ画素）が選択されるとき、選択回路５６ではラインデータＬ３Ａの奇数列の画素データＳＣ３（Ｒ画素）が選択される。また、選択回路５６においてラインデータＬ２Ａの奇数列の画素データＳＣ２（Ｒ画素）が選択されるとき、選択回路５７ではラインデータＬ３Ａの偶数列の画素データＳＣ３（Ｂ画素）が選択される。
【００４６】
ＦＦ回路５９は、例えば、選択回路５６の出力信号を同期信号（図示略）の１クロック分だけ遅延させ、遅延させた信号を画素データＳＢ２として出力する。
以上説明した並べ替え部５５（選択回路５６，５７及びＦＦ回路５８，５９）により、ラインデータＬ２Ａ，Ｌ３Ａにおいて図６（ｂ）に矢印で示した並び替えが行われる。そして、並べ替え回路４１からは複数の画素データＳＢ１〜ＳＢ４が並列に出力される。
【００４７】
図４に示すように、画素データＳＢ１は、ＬＵＴ部４２Ａに供給され、ＬＵＴ部４２Ａ及びキャッシュメモリ４３ＡによりＬＵＴ補正（ここでは、センサリニアリティ補正）される。画素データＳＢ２は、ＬＵＴ部４２Ｂに供給され、ＬＵＴ部４２Ｂ及びキャッシュメモリ４３Ｂによりセンサリニアリティ補正される。画素データＳＢ３は、ＬＵＴ部４２Ｃに供給され、ＬＵＴ部４２Ｃ及びキャッシュメモリ４３Ｃによりセンサリニアリティ補正される。画素データＳＢ４は、ＬＵＴ部４２Ｄに供給され、ＬＵＴ部４２Ｄ及びキャッシュメモリ４３Ｄによりセンサリニアリティ補正される。
【００４８】
次に、図７及び図８に従って、ＬＵＴ部４２Ａ及びキャッシュメモリ４３Ａの内部構成例について説明する。
図７に示すように、ＬＵＴ部４２Ａは、ＦＦ回路６１と、メモリ６２と、アドレス保持部６３と、比較部６４と、リード制御部６５とを有している。
【００４９】
ここで、画素データＳＢ１は、複数ビット（ここでは、１２ビット）のデータである。この１２ビットの画素データＳＢ１［１１：０］は、上位９ビットの上位ビットデータＳＢ１［１１：３］と、下位３ビットの下位ビットデータＳＢ１［２：０］とに分割されてＬＵＴ部４２Ａに入力される。具体的には、下位ビットデータＳＢ１［２：０］がＦＦ回路６１に供給され、上位ビットデータＳＢ１［１１：３］がメモリ６２、アドレス保持部６３及び比較部６４に供給される。
【００５０】
ＦＦ回路６１は、例えば、下位ビットデータＳＢ１［２：０］を同期信号（図示略）の１クロック分だけ遅延させ、遅延させた信号をキャッシュメモリ４３Ａ内のＦＦ回路６６に出力する。
【００５１】
メモリ６２は、例えば、ＲＡＭ（Random Access Memory）である。メモリ６２には、上述したセンサリニアリティ補正用の補正カーブ（図２１参照）、つまり入力値（画素データＳＢ１の画素値）と出力値（センサリニアリティ補正後の画素値）との対応関係を示すテーブルが格納されている。詳述すると、ＬＵＴ部４２ＡにはＧ画素のみが供給されるため、そのＬＵＴ部４２Ａが有するメモリ６２にはＧ画素用の補正カーブが格納されている。
【００５２】
ここで、従来のＬＵＴ部２０２Ａ〜２０２Ｄのメモリ（例えば、ＲＡＭ２０５Ａ〜２０５Ｄ，２０６Ａ〜２０６Ｄ）では、１つの入力値によって指定される１つのアドレスには、１つの出力値（ＬＵＴデータ、つまり補正後データ）が格納されている。
【００５３】
これに対し、図８に示すように、本例のメモリ６２では、１つのアドレスに８個の出力値（補正後データ）が格納されている。詳述すると、メモリ６２には、１２ビットの画素データＳＢ１によって選択（指定）可能な「０」〜「４０９５」の４０９６個の出力値が格納されている。但し、メモリ６２は、４０９６個のアドレスは有しておらず、９ビットの上位ビットデータＳＢ１［１１：３］によって選択可能な「０」〜「５１１」の５１２個のアドレスのみを有している。そして、メモリ６２の各アドレスには、３ビットの下位ビットデータＳＢ１［２：０］によって選択可能な８個の出力値が格納されている。ここで、各出力値は、画素データＳＢ１と同じ１２ビットデータである。このため、メモリ６２の各アドレスには９６ビットのデータが格納されている。
【００５４】
例えば、メモリ６２のアドレス０には、「０」〜「７」の入力値（画素データＳＢ１）に対応する「０」〜「７」の８個の出力値が格納され、メモリ６２のアドレス１には、「８」〜「１５」の入力値（画素データＳＢ１）に対応する「８」〜「１５」の８個の出力値が格納されている。以後も同様に、メモリ６２の１つのアドレスに出力値が８個ずつ格納され、メモリ６２の最後のアドレス５１１には「４０８８」〜「４０９５」の入力値に対応する「４０８８」〜「４０９５」の８個の出力値が格納されている。
【００５５】
図７に示すように、メモリ６２からは、上位ビットデータＳＢ１［１１：３］によって指定されるアドレスに格納された８個の出力値がキャッシュメモリ４３Ａに出力される。すなわち、メモリ６２からは９６ビットのデータが出力される。
【００５６】
一方、アドレス保持部６３は、メモリ６２のアドレス値となる上位ビットデータＳＢ１［１１：３］を保持する。例えば、アドレス保持部６３は、上位ビットデータＳＢ１［１１：３］を同期信号の１クロック分だけ保持し、保持した上位ビットデータＳＢ１［１１：３］を前回のアドレス値として比較部６４に出力する。
【００５７】
比較部６４は、上位ビットデータＳＢ１［１１：３］と、アドレス保持部６３からのアドレス値とを比較する。すなわち、比較部６４は、今回入力された現時点のアドレス値（上位ビットデータＳＢ１［１１：３］）と前回入力されたアドレス値とを比較し、その比較結果をリード制御部６５に出力する。
【００５８】
リード制御部６５は、現時点のアドレス値と前回入力されたアドレス値とが一致する場合には、メモリ６２におけるリード動作（つまり、出力値の読み出し動作）を停止させる。すなわち、ＬＵＴ部４２Ａに連続して入力される２つの画素データＳＢ１の上位ビットデータＳＢ１［１１：３］が同一である場合には、メモリ６２におけるリード動作を停止させる。この場合には、メモリ６２から出力値が出力されない。一方、リード制御部６５は、現時点のアドレス値と前回入力されたアドレス値とが一致しない場合には、メモリ６２におけるリード動作を実行させる。この場合には、メモリ６２から８個の出力値がキャッシュメモリ４３Ａに出力される。
【００５９】
キャッシュメモリ４３Ａは、ＦＦ回路６６と、複数（ここでは、８個）のＦＦ回路６７Ａ〜６７Ｈと、ＦＦ回路６７Ａ〜６７Ｈに接続された選択回路６８とを有している。
ＦＦ回路６６は、例えば、ＦＦ回路６１の出力信号を同期信号（図示略）の１クロック分だけ遅延させ、遅延させた信号を選択信号として選択回路６８に出力する。すなわち、下位ビットデータＳＢ１［２：０］がＦＦ回路６１，６６により同期信号の２クロック分だけ遅延されて選択回路６８に供給される。
【００６０】
８個のＦＦ回路６７Ａ〜６７Ｈには、メモリ６２から読み出された８個の出力値が個別に保持される。すなわち、メモリ６２から読み出された８個の出力値はそれぞれ異なるＦＦ回路６７Ａ〜６７Ｈに保持される。例えば、メモリ６２から「０」〜「７」の出力値が読み出される場合には、「０」の出力値がＦＦ回路６７Ａ、「１」の出力値がＦＦ回路６７Ｂ、「２」の出力値がＦＦ回路６７Ｃ、「３」の出力値がＦＦ回路６７Ｄにそれぞれ保持される。また、この場合には、「４」の出力値がＦＦ回路６７Ｅ、「５」の出力値がＦＦ回路６７Ｆ、「６」の出力値がＦＦ回路６７Ｇ、「７」の出力値がＦＦ回路６７Ｈにそれぞれ保持される。そして、各ＦＦ回路６７Ａ〜６７Ｈは、保持した出力値を選択回路６８に出力する。
【００６１】
選択回路６８は、ＦＦ回路６６の出力信号に基づいて、ＦＦ回路６７Ａ〜６７Ｈから入力する８個の出力値の中から１つの出力値を選択する。すなわち、選択回路６８は、３ビットの下位ビットデータＳＢ１［２：０］に基づいて、メモリ６２の１つのアドレスから読み出された８個の出力値の中から１つの出力値を選択する。そして、選択回路６８は、選択した出力値を画素データＳＤ１として出力する。このとき、画素データＳＤ１は、入力値である画素データＳＢ１に対してＬＵＴ補正処理（ここでは、センサリニアリティ補正処理）を施した後のデータになる。すなわち、キャッシュメモリ４３Ａ（選択回路６８）からは、センサリニアリティ補正後の画素データＳＤ１（Ｇ画素）が出力される。
【００６２】
例えば、ＬＵＴ部４２Ａに入力される画素データＳＢ１が「４」である場合には、メモリ６２のアドレス０が選択され、「０」〜「７」の８個の出力値がメモリ６２から出力される。これら「０」〜「７」の出力値が個別に対応するＦＦ回路６７Ａ〜６７Ｈに格納される。このとき、下位ビットデータＳＢ１［２：０］が「４」となるため、「４」の出力値が画素データＳＤ１として選択回路６８から出力される。続いて、「４」の画素データＳＢ１の後に入力される画素データＳＢ１が「０」〜「７」のいずれかである場合には、上位ビットデータＳＢ１［１１：３］の値（アドレス値）が前回の「４」の場合と同じ「０」となる。このため、この場合には、リード制御部６５によってメモリ６２のリード動作が停止され、８個のＦＦ回路６７Ａ〜６７Ｈに保持された出力値（ここでは、「０」〜「７」の出力値）が継続して選択回路６８に入力される。このとき、下位ビットデータＳＢ１［２：０］が「３」である場合には、「３」の出力値が画素データＳＤ１として選択回路６８から出力される。
【００６３】
図４に示したＬＵＴ部４２Ｂ〜４２Ｄは図７に示したＬＵＴ部４２Ａの構成と略同様であり、図４に示したキャッシュメモリ４３Ｂ〜４３Ｄは図７に示したキャッシュメモリ４３Ａの構成と略同様であるため、ここでは詳細な説明を省略する。但し、ＬＵＴ部４２ＢにはＲ画素のみが供給されるため、そのＬＵＴ部４２Ｂが有するメモリ６２にはＲ画素用の補正カーブ（図２１参照）が格納されている。同様に、ＬＵＴ部４２Ｃが有するメモリ６２にはＢ画素用の補正カーブ（図２１参照）が格納され、ＬＵＴ部４２Ｄが有するメモリ６２にはＧ画素用の補正カーブ（図２１参照）が格納されている。
【００６４】
そして、キャッシュメモリ４３Ｂからは、画素データＳＢ２をＬＵＴ補正（センサリニアリティ補正）した後の画素データＳＤ２が出力される。同様に、キャッシュメモリ４３Ｃからは、画素データＳＢ３をセンサリニアリティ補正した後の画素データＳＤ３が出力され、キャッシュメモリ４３Ｄからは、画素データＳＢ４をセンサリニアリティ補正した後の画素データＳＤ４が出力される。
【００６５】
並べ替え回路４４には、キャッシュメモリ４３Ａ〜４３Ｄから４つの画素データＳＤ１〜ＳＤ４が並列に入力される。並べ替え回路４４は、並べ替え回路４１で並べ替えられた画素データの並び順（配置）を元に戻すように、画素データＳＤ１〜ＳＤ４を並べ替える。
【００６６】
詳述すると、並べ替え回路４４は、複数（ここでは、４つ）の入力端子Ｑ１〜Ｑ４を有している。図９（ａ）に示すように、入力端子Ｑ１〜Ｑ４には、ラインデータＬ１Ｂ〜Ｌ４Ｂに含まれる画素データＳＤ１〜ＳＤ４が並列に入力される。例えば、入力端子Ｑ１〜Ｑ４には、ラインデータＬ１Ｂ〜Ｌ４Ｂの１列目の画素データＧ２１，Ｒ１１，Ｂ２２，Ｇ４１が並列（同時）に入力され、続いて、２列目の画素データＧ１２，Ｒ３１，Ｂ４２，Ｇ３２が並列（同時）に入力される。その後も同様に、並べ替え回路４４には、ラインデータＬ１Ｂ〜Ｌ４Ｂの同じ列の４つの画素データが順次並列に入力される。ここで、入力端子Ｑ１，Ｑ４には、Ｇ画素のみが入力され、入力端子Ｑ２にはＲ画素のみが入力され、入力端子Ｑ３にはＢ画素のみが入力される。
【００６７】
並べ替え回路４４は、まず、入力端子Ｑ１〜Ｑ４にそれぞれ入力されるラインデータＬ１Ｂ〜Ｌ４Ｂの画素データＳＤ１〜ＳＤ４を、図９（ａ）に矢印で示したように入れ替える。すなわち、ラインデータＬ２ＢのＮ列目（Ｎは偶数）の画素データＳＤ２と、ラインデータＬ３Ｂの（Ｎ−１）列目の画素データＳＤ３とを入れ替える。これにより、並べ替え後のラインデータＬ２Ｃ，Ｌ３ＣにはＲ画素とＢ画素とが交互に配置される。さらに、並べ替え回路４４は、上記並べ替え後のラインデータＬ１Ｃ〜Ｌ４Ｃの画素データＳＤ１〜ＳＤ４を、図９（ｂ）に矢印で示したように入れ替える。すなわち、ラインデータＬ１ＣのＭ列目（Ｍは奇数）の画素データＳＤ１とラインデータＬ２ＣのＲ画素とを入れ替え、ラインデータＬ３ＣのＢ画素とラインデータＬ４ＣのＮ列目の画素データＳＤ４とを入れ替える。これにより、図９（ｃ）に示すように、並べ替え後のラインデータＬ１Ｄ，Ｌ３Ｄでは、Ｒ画素とＧ画素とが交互に配置（配列）され、並べ替え後のラインデータＬ２Ｄ，Ｌ４Ｄでは、Ｇ画素とＢ画素とが交互に配置（配列）される。すなわち、ラインデータＬ１Ｄ〜Ｌ４Ｄでは、センサリニアリティ補正後の画素データＳＤがセンサリニアリティ補正部３２に入力されるラインデータＬ１〜Ｌ４（図６（ａ）参照）と同じように並べられる（配列される）。
【００６８】
そして、並べ替え回路４４は、ラインデータＬ１Ｄ〜Ｌ４Ｄを含む画像データＳＡ１、つまりセンサリニアリティ補正後の画像データＳＡ１を、図２に示したノイズ除去処理部３３に出力する。なお、並べ替え回路４４は、並べ替え回路４１の並べ替え部５０，５５（図５参照）と同様の回路を利用することにより実現することができるため、ここでは内部構成の図示を省略し、その説明も省略する。
【００６９】
次に、圧縮伸長処理部３４の内部構成例及び動作について説明する。
図１０に示すように、圧縮伸長処理部３４は、並べ替え回路７１と、複数（ここでは、４つ）のＬＵＴ部７２Ａ〜７２Ｄと、各ＬＵＴ部７２Ａ〜７２Ｄに対応して設けられたキャッシュメモリ７３Ａ〜７３Ｄと、並べ替え回路７４とを有している。圧縮伸長処理部３４は、図４に示したセンサリニアリティ補正部３２と略同様の回路である。すなわち、並べ替え回路７１、ＬＵＴ部７２Ａ〜７２Ｄ、キャッシュメモリ７３Ａ〜７３Ｄ及び並べ替え回路７４はそれぞれ、図４に示した並べ替え回路４１、ＬＵＴ部４２Ａ〜４２Ｄ、キャッシュメモリ４３Ａ〜４３Ｄ及び並べ替え回路４４と同様の回路である。このため、圧縮伸長処理部３４における各回路の詳細な説明を省略する。
【００７０】
並べ替え回路７１には、ノイズ除去処理後の画像データＳＡ２の複数ライン（ここでは、４ライン分）の画素データＳＥが並列に入力される。並べ替え回路７１は、入力した画素データＳＥを、後段のＬＵＴ部７２Ａ，７２Ｂ，７２Ｃ，７２Ｄの各々に１つの色成分の画素データＳＥのみが入力されるように並べ替える。すなわち、並べ替え回路７１は、ＬＵＴ部７２Ａ，７２ＤにＧ画素のみが入力され、ＬＵＴ部７２ＢにＲ画素のみが入力され、ＬＵＴ部７２ＣにＢ画素のみが入力されるように、入力した画素データＳＥを並べ替える。
【００７１】
並べ替え後の画素データは、ＬＵＴ部７２Ａ〜７２Ｄ及びキャッシュメモリ７３Ａ〜７３Ｄにより圧縮又は伸長（ＬＵＴ補正）され、並べ替え回路７４に供給される。なお、ＬＵＴ部７２Ａ〜７２Ｄは、図４に示したＬＵＴ部４２Ａ〜４２Ｄと略同様の回路であるが、メモリ７５に格納されたデータのみが異なる。すなわち、メモリ７５には、上述したＫｎｅｅ補正カーブ（図１１（ａ）参照）、つまり入力値と出力値（圧縮処理後の値）との対応関係を示すテーブルや、Ｄｅｋｎｅｅ補正カーブ（図１１（ｂ）参照）、つまり入力値と出力値（伸長処理後の値）との対応関係を示すテーブルが格納されている。
【００７２】
並べ替え回路７４は、ＬＵＴ部７２Ａ〜７２Ｄ及びキャッシュメモリ７３Ａ〜７３ＤによるＬＵＴ補正後の画素データを、並べ替え回路７１で並べ替えられた画素データの並び順（配置）を元に戻すように並べ替える。そして、並べ替え回路７４は、並べ替え後の画素データ、つまり圧縮伸長処理後の画素データＳＦを含む画像データＳＡ３を、図２に示したバスＩ／Ｆ３５に出力する。
【００７３】
次に、センサＩ／Ｆ２１（特に、センサリニアリティ補正部３２及び圧縮伸長処理部３４）の作用について説明する。
センサリニアリティ補正部３２の並べ替え回路４１では、入力した画素データＳＢを、後段のＬＵＴ部４２Ａ〜４２Ｄの各々に１つの色成分の画素データのみが入力されるように並べ替えるようにした。これにより、１つのＬＵＴ部４２Ａ〜４２Ｄに、複数の色成分用の補正カーブを用意する必要がなくなる。このため、１つのＬＵＴ部４２Ａ〜４２Ｄに設けられるメモリ６２を１つにすることができる。したがって、センサリニアリティ補正部３２に並列に入力されるライン数が増加する場合であっても、センサリニアリティ補正部３２におけるメモリ容量の増大を抑制することができ、回路面積の増大を抑制することができる。
【００７４】
さらに、センサリニアリティ補正部３２のＬＵＴ部４２Ａ〜４２Ｄには、並べ替え回路４１により並べ替えられた後の１２ビット（Ａビット）の画素データＳＢ１〜ＳＢ４が並列に入力される。また、各画素データＳＢ１〜ＳＢ４の上位９ビット（Ｂビット）で指定されるメモリ６２のアドレスから複数の出力値を出力し、それら複数の出力値を個別にキャッシュメモリ４３Ａ〜４３Ｄ内のＦＦ回路６７Ａ〜６７Ｈに保持するようにした。そして、各画素データＳＢ１〜ＳＢ４の下位３ビット（Ａ−Ｂビット）に基づいて、ＦＦ回路６７Ａ〜６７Ｈに保持された複数の出力値のうち１つの出力値をＬＵＴ補正後のデータとして出力するようにした。これにより、次に入力する画素データの上位９ビットが前回入力した上位９ビットと同じである場合には、上記次に入力する画素データに対応する出力値がＦＦ回路６７Ａ〜６７Ｈのいずれかに保持されているため、メモリ６２から出力値を読み出す必要がなくなる。すなわち、キャッシュヒットが発生した場合には、メモリ６２から出力値を読み出す必要がなくなる。このため、メモリ６２に対するアクセスを減らすことが可能となり、センサリニアリティ補正部３２における消費電力を低減することができる。以下に、センサリニアリティ補正部３２において消費電力を低減できる理由を説明する。
【００７５】
例えば、撮像装置１１により撮影された被写体の中に、「青い空」などのように同じような色が連続して続くものが含まれる場合を考える。ここでは、「青い空」におけるＲ画素の画素値が「１０」付近の値、Ｂ画素の画素値が「２００」付近の値、Ｇ画素の画素値が「６０」付近の値であると仮定する。すると、図１２（ａ）に示すように、並べ替え回路４１による並べ替え前のラインデータＬ１，Ｌ３では、「１０」付近の画素データＳＢ（Ｒ画素）と「６０」付近の画素データＳＢ（Ｇ画素）とが交互に配列される。また、並べ替え前のラインデータＬ２，Ｌ４では、「６０」付近の画素データＳＢ（Ｇ画素）と「２００」付近の画素データＳＢ（Ｂ画素）とが交互に配列される。このため、仮に並べ替え回路４１を省略した場合には、画素データＳＢが入力される度に画素値が大きく変動するラインデータＬ１〜Ｌ４がＬＵＴ部４２Ａ〜４２Ｄに入力されることになる。この場合には、画素データＳＢが入力される度にアドレス値が大きく変動するため、画素データＳＢが入力される度にメモリ６２から８個の出力値を読み出すリード動作が必要になる。したがって、並べ替え回路４１を省略した場合には、ＬＵＴ部４２Ａ〜４２Ｄの後段にキャッシュメモリ４３Ａ〜４３Ｄを設けたとしても、メモリ６２に対するアクセスをほとんど減らすことができない。換言すると、キャッシュメモリ４３Ａ〜４３Ｄを単に従来のＬＵＴ部２０２Ａ〜２０２Ｄの後段に設けたとしても、ＬＵＴ部２０２Ａ〜２０２Ｄ内のメモリに対するアクセスをほとんど減らすことができない。
【００７６】
これに対し、本実施形態のセンサリニアリティ補正部３２では、キャッシュメモリ４３Ａ〜４３Ｄと併せて、ＬＵＴ部４２Ａ〜４２Ｄの各々に１つの色成分の画素データのみが入力されるように画素データＳＢを並べ替える並べ替え回路４１を設けるようにした。この並べ替え回路４１で並べ替えられたラインデータＬ１Ｂ，Ｌ４Ｂでは、図１２（ｂ）に示すように、「６０」付近の画素データＳＢ１，ＳＢ４（Ｇ画素）が連続して配置（配列）される。また、並べ替え後のラインデータＬ２Ｂでは、「１０」付近の画素データＳＢ２が連続して配置され、並べ替え後のラインデータＬ３Ｂでは、「２００」付近の画素データＳＢ３（Ｂ画素）が連続して配置される。このため、並べ替え回路４１を設けたことにより、ＬＵＴ部４２Ａ〜４２Ｄには、画素値（アドレス値）の近い画素データが連続して入力される。これにより、キャッシュメモリ４３Ａ〜４３Ｄへのヒット率を高めることができる。したがって、メモリ６２に対するアクセスを好適に減らすことができ、センサリニアリティ補正部３２における消費電力を低減することができる。
【００７７】
なお、圧縮伸長処理部３４は、センサリニアリティ補正部３２と同様に、並べ替え回路７１、ＬＵＴ部７２Ａ〜７２Ｄ及びキャッシュメモリ７３Ａ〜７３Ｄを有するため、キャッシュメモリ７３Ａ〜７３Ｄへのヒット率を高めることができる。これにより、ＬＵＴ部７２Ａ〜７２Ｄ内のメモリ７５に対するアクセスを好適に減らすことができ、圧縮伸長処理部３４における消費電力を低減することができる。
【００７８】
以上説明した本実施形態によれば、以下の効果を奏することができる。
（１）入力した画素データＳＢを、後段のＬＵＴ部４２Ａ〜４２Ｄの各々に１つの色成分の画素データのみが入力されるように並べ替える並べ替え回路４１を設けるようにした。これにより、１つのＬＵＴ部４２Ａ〜４２Ｄに設けられるメモリ６２を１つにすることができるため、センサリニアリティ補正部３２おけるメモリ容量及び回路面積の増大を抑制することができる。
【００７９】
（２）並べ替え回路４１と併せて、ＬＵＴ部４２Ａ〜４２Ｄの後段にキャッシュメモリ４３Ａ〜４３Ｄを設けるようにした。また、並べ替え回路７１と併せて、ＬＵＴ部７２Ａ〜７２Ｄの後段にキャッシュメモリ７３Ａ〜７３Ｄを設けるようにした。これら並べ替え回路４１，７１とキャッシュメモリ４３Ａ〜４３Ｄ，７３Ａ〜７３Ｄとの組み合わせにより、キャッシュメモリ４３Ａ〜４３Ｄ，７３Ａ〜７３Ｄへのヒット率を高めることができる。
【００８０】
（３）ＬＵＴ部４２Ａ〜４２Ｄ，７２Ａ〜７２Ｄでは、今回入力したアドレス値（上位ビットデータＳＢ１［１１：３］）と前回入力したアドレス値とが一致する場合に、メモリ６２，７５からの出力値の読み出しを停止するようにした。これにより、キャッシュヒットの場合には、メモリ６２，７５へのアクセスを無くすことができる。したがって、メモリ６２，７５に対するアクセスを好適に減らすことができ、センサリニアリティ補正部３２及び圧縮伸長処理部３４における消費電力を低減することができる。
【００８１】
（４）並べ替え回路４１，７１では、１ライン目のＲ画素と２ライン目のＧ画素とを入れ替え、３ライン目のラインデータのＧ画素と４ライン目のＢ画素とを入れ替えるようにした。さらに、並べ替え回路４１，７１では、上記並べ替え後の２ライン目のＢ画素と、上記並べ替え後の３ライン目のＲ画素とを入れ替えるようにした。この方法により、並べ替え回路４１，７１では、入力する画素データＳＢをリアルタイム（即時）に並べ替えることができる。例えば、本例の場合では、入力した画素データＳＢを並べ替え、その並べ替え後の画素データを出力するまでの間に、同期信号の１クロック分の遅延しか発生しない。
【００８２】
（５）また、並べ替え回路４１，７１を、図５に示すような簡便で回路面積の小さい回路によって実現することができる。このため、センサリニアリティ補正部３２及び圧縮伸長処理部３４における回路面積の増大を好適に抑制することができる。
【００８３】
（第２実施形態）
以下、図１３〜図１６に従って第２実施形態を説明する。この実施形態の電子機器１０は、センサリニアリティ補正部及び圧縮伸長処理部の内部構成が上記第１実施形態と異なっている。以下、第１実施形態との相違点を中心に説明する。なお、先の図１〜図１２に示した部材と同一の部材にはそれぞれ同一の符号を付して示し、それら各要素についての詳細な説明は省略する。
【００８４】
まず、図１３〜図１５に従って、センサリニアリティ補正部３２Ａの内部構成例及び動作について説明する。なお、上記第１実施形態では、センサリニアリティ補正部３２に４ライン分の画素データＳＢを並列に入力するようにしたが、本例のセンサリニアリティ補正部３２Ａには２ライン分の画素データＳＢを並列に入力するようにした。
【００８５】
図１３に示すように、センサリニアリティ補正部３２Ａは、並べ替え回路８１と、複数（ここでは、２つ）のＬＵＴ部８２Ａ，８２Ｂと、各ＬＵＴ部８２Ａ，８２Ｂに対応して設けられたキャッシュメモリ８３Ａ，８３Ｂと、並べ替え回路８４とを有している。
【００８６】
センサリニアリティ補正部３２Ａ（並べ替え回路８１）には、撮像データＳＡの２ライン分の画素データＳＢが並列に入力される。例えば、センサリニアリティ補正部３２Ａ（並べ替え回路８１）には、ラインデータＬ１，Ｌ２に含まれる画素データＳＢが並列に入力される。ここでは、ラインデータＬ１，Ｌ２に関する処理のみに着目して説明を行う。
【００８７】
詳述すると、並べ替え回路８１は、２つの入力端子Ｐ１，Ｐ２を有している。図１５（ａ）に示すように、入力端子Ｐ１，Ｐ２には、ラインデータＬ１，Ｌ２に含まれる画素データＳＢが並列（同時）に入力される。例えば、入力端子Ｐ１，Ｐ２には、ラインデータＬ１，Ｌ２の１列目の画素データＲ１１，Ｇ２１が並列（同時）に入力され、続いて、２列目の画素データＧ１２，Ｂ２２が並列（同時）に入力される。その後も同様に、入力端子Ｐ１，Ｐ２には、ラインデータＬ１，Ｌ２の同じ列の２つの画素データＳＢが順次並列に入力される。
【００８８】
並べ替え回路８１は、まず、入力端子Ｐ１，Ｐ２にそれぞれ入力されるラインデータＬ１，Ｌ２の画素データＳＢを、図１５（ａ）に矢印で示したように入れ替える。すなわち、ラインデータＬ１のＧ画素とラインデータＬ２のＢ画素とを入れ替える。これにより、図１５（ｂ）に示すように、並べ替え後のラインデータＬ１Ａ（第７ラインデータ）にはＲ画素とＢ画素とが交互に配置され、ラインデータＬ２ＡにはＧ画素のみが配置される。さらに、並べ替え回路８１は、上記並べ替え後のラインデータＬ１Ａの画素データＳＣ１を、図１５（ｂ）に矢印で示したように入れ替える。すなわち、図１５（ｃ）に示すように、３つの連続したＢ画素と、３つの連続したＲ画素とが交互に配置されるようにラインデータＬ１Ａの画素データＳＣ１を並べ替える。
【００８９】
次に、以上説明した並べ替えを実施する並べ替え回路８１の内部構成の一例について説明する。
図１４に示すように、並べ替え回路８１は、並べ替え部９０と、並べ替え部９３とを有している。並べ替え部９０は、２つの選択回路９１，９２を有している。並べ替え部９３は、２つのＦＦ回路９４，９５と、選択回路９９とを有している。
【００９０】
選択回路９１及び選択回路９２の双方には、入力端子Ｐ１と及び入力端子Ｐ２の２つの入力端子が接続されている。このため、選択回路９１，９２には、例えば、ラインデータＬ１の画素データＳＢと、ラインデータＬ２の画素データＳＢとの２つの画素データＳＢが同時に入力される。選択回路９１，９２は、例えば、同期信号（図示略）に基づいて、ラインデータＬ１の画素データＳＢと、ラインデータＬ２の画素データＳＢとを交互に選択し、選択した画素データＳＢを画素データＳＣ１，ＳＣ２としてそれぞれ出力する。選択回路９１と選択回路９２とは互いに異なるラインデータの画素データＳＢを選択する。これら選択回路９１，９２により、ラインデータＬ１，Ｌ２において図１５（ａ）に矢印で示した並び替えが行われる。
【００９１】
画素データＳＣ２は、ＦＦ回路９２Ａに供給される。ＦＦ回路９２Ａは、例えば、画素データＳＣ２を同期信号（図示略）の１クロック分だけ遅延させ、その遅延させた信号を画素データＳＢ２として出力する。
【００９２】
画素データＳＣ１は、並べ替え部９３内のＦＦ回路９４及び選択回路９９に供給される。ＦＦ回路９４は、例えば、画素データＳＣ１を同期信号（図示略）の１クロック分だけ遅延させ、その遅延させた出力信号をＦＦ回路９５及び選択回路９９に出力する。ＦＦ回路９５は、例えば、ＦＦ回路９４の出力信号を同期信号（図示略）の１クロック分だけ遅延させ、その遅延させた出力信号を選択回路９９に出力する。
【００９３】
選択回路９９には、今回入力された現時点の画素データＳＣ１と、ＦＦ回路９４の出力信号（１クロック前に入力された画素データＳＣ１）と、ＦＦ回路９５の出力信号（２クロック前に入力された画素データＳＣ１）とが入力される。選択回路９９は、入力された３つの画素データＳＣ１の中から１つを選択し、選択した画素データを画素データＳＢ１として出力する。
【００９４】
以上説明した並べ替え部９３（ＦＦ回路９４，９５及び選択回路９９）により、ラインデータＬ１Ａにおいて図１５（ｂ）に矢印で示した並び替えが行われる。そして、並べ替え回路８１からは複数の画素データＳＢ１，ＳＢ２が並列に出力される。
【００９５】
図１３に示すように、画素データＳＢ１は、ＬＵＴ部８２Ａに供給され、ＬＵＴ部８２Ａ及びキャッシュメモリ８３ＡによりＬＵＴ補正（センサリニアリティ補正）される。ここで、上述したように画素データＳＢ１はＲ画素とＢ画素とを含む。このため、ＬＵＴ部８２Ａには、Ｒ画素用の補正カーブ（図２１参照）が格納されたメモリ８５と、Ｂ画素用の補正カーブが格納されたメモリ８６とが設けられており、この点が図４に示したＬＵＴ部４２Ａ〜４２Ｄと異なる。また、ＬＵＴ部８２Ａには、メモリ８５から出力される出力値及びメモリ８６から出力される出力値のいずれか一方を選択し、選択した出力値をキャッシュメモリ８３Ａに出力する選択回路８８が設けられている。すなわち、ＬＵＴ部８２Ａは、図４及び図７に示したＬＵＴ部４２Ａのメモリ６２がメモリ８５，８６及び選択回路８８に置換された点でＬＵＴ部４２Ａと異なる。なお、メモリ６２と同様に、メモリ８５，８６からはそれぞれ複数（ここでは、８個）の出力値が出力される。
【００９６】
画素データＳＢ２は、ＬＵＴ部８２Ｂに供給され、ＬＵＴ部８２Ｂ及びキャッシュメモリ８３Ｂによりセンサリニアリティ補正される。ここで、画素データＳＢ２は、Ｇ画素のみを含む。このため、ＬＵＴ部８２Ｂ内のメモリ８７には、Ｇ画素用の補正カーブ（図２１参照）が格納されている。
【００９７】
キャッシュメモリ８３Ａからは、画素データＳＢ１をセンサリニアリティ補正した後の画素データＳＤ１が出力される。キャッシュメモリ８３Ｂからは、画素データＳＢ２をセンサリニアリティ補正した後の画素データＳＤ２が出力される。
【００９８】
並べ替え回路８４には、キャッシュメモリ８３Ａ，８３Ｂから２つの画素データＳＤ１，ＳＤ２が並列に入力される。並べ替え回路８４は、並べ替え回路８１で並べ替えられた画素データの並び順（配置）を元に戻すように、画素データＳＤ１，ＳＤ２を並べ替える。
【００９９】
次に、図１６に従って、圧縮伸長処理部３４Ａの内部構成例及び動作について説明する。
圧縮伸長処理部３４Ａは、並べ替え回路１０１と、複数（ここでは、４つ）のＬＵＴ部１０２Ａ，１０２Ｂと、各ＬＵＴ部１０２Ａ，１０２Ｂに対応して設けられたキャッシュメモリ１０３Ａ，１０３Ｂと、並べ替え回路１０４とを有している。圧縮伸長処理部３４Ａは、図１３に示したセンサリニアリティ補正部３２Ａと略同様の回路である。すなわち、並べ替え回路１０１、ＬＵＴ部１０２Ａ，１０２Ｂ、キャッシュメモリ１０３Ａ，１０３Ｂ及び並べ替え回路１０４はそれぞれ、図１３に示した並べ替え回路８１、ＬＵＴ部８２Ａ，８２Ｂ、キャッシュメモリ８３Ａ，８３Ｂ及び並べ替え回路８４と同様の回路である。このため、圧縮伸長処理部３４Ａにおける各回路の詳細な説明を省略する。
【０１００】
並べ替え回路１０１には、ノイズ除去処理後の画像データＳＡ２の２ライン分の画素データＳＥが並列に入力される。並べ替え回路１０１は、入力した画素データＳＥを、後段のＬＵＴ部１０２Ａ，１０２ＢのうちＬＵＴ部１０２Ｂに１つの色成分の画素データＳＥ（ここでは、Ｇ画素）のみが入力されるように並べ替える。また、並べ替え回路１０１は、ＬＵＴ部１０２Ａに、３つの連続したＢ画素と、３つの連続したＲ画素とが交互に入力されるように画素データＳＥを並べ替える。
【０１０１】
並べ替え後の画素データは、ＬＵＴ部１０２Ａ，１０２Ｂ及びキャッシュメモリ１０３Ａ，１０３Ｂにより圧縮又は伸長（ＬＵＴ補正）され、並べ替え回路１０４に供給される。なお、ＬＵＴ部１０２Ａ，１０２Ｂは、図１０に示したＬＵＴ部７２Ａ，７２Ｂと略同様の回路であり、Ｋｎｅｅ補正カーブやＤｅｋｎｅｅ補正カーブ（図１１参照）が格納されたメモリ７５を有している。
【０１０２】
並べ替え回路１０４は、ＬＵＴ部１０２Ａ，１０２Ｂ及びキャッシュメモリ１０３Ａ，１０３ＢによるＬＵＴ補正後の画素データを、並べ替え回路１０１で並べ替えられた画素データの並び順（配置）を元に戻すように並べ替える。そして、並べ替え回路１０４は、並べ替え後の画素データ、つまり圧縮伸長処理後の画素データＳＦを含む画像データＳＡ３を、図２に示したバスＩ／Ｆ３５に出力する。
【０１０３】
以上説明した実施形態によれば、以下の効果を奏することができる。
（１）センサリニアリティ補正部３２Ａの並べ替え回路８１では、入力した画素データＳＢを、後段のＬＵＴ部８２Ａ，８２Ｂの少なくとも１つのＬＵＴ部（ここでは、ＬＵＴ部８２Ｂ）に１つの色成分の画素データ（ここでは、Ｇ画素）のみが入力されるように並べ替えるようにした。これにより、ＬＵＴ部８２Ｂに、複数の色成分用の補正カーブを用意する必要がなくなる。このため、ＬＵＴ部８２Ｂに設けられるメモリを１つにすることができる。
【０１０４】
なお、図１７に示すように、並べ替え回路８１を有さない従来のＬＵＴ補正部２００Ａでは、各ＬＵＴ部２０２Ａ，２０２Ｂに、２つの色成分用の補正カーブが色成分毎に格納されたＲＡＭ、つまり２つのＲＡＭ２０５Ａ，２０５ＢとＲＡＭ２０６Ａ，２０６Ｂが設けられている。したがって、本実施形態のセンサリニアリティ補正部３２Ａは、従来のＬＵＴ補正部２００よりもメモリ容量を小さくすることができる。
【０１０５】
（２）並べ替え回路８１，１０１とキャッシュメモリ８３Ａ，８３Ｂ，１０３Ａ，１０３Ｂとの組み合わせにより、キャッシュメモリ８３Ａ，８３Ｂ，１０３Ａ，１０３Ｂへのヒット率を高めることができる。ここでは、並べ替え回路８１とキャッシュメモリ８３Ａとの組み合わせによる効果について詳述する。
【０１０６】
並べ替え回路８１では、３つの連続したＢ画素と、３つの連続したＲ画素とが交互にＬＵＴ部８２Ａに入力されるように画素データＳＢが並べ替えられる。その並べ替え後の画素データがＬＵＴ部８２Ａ及びキャッシュメモリ８３ＡでＬＵＴ補正される。このため、例えば、撮像装置１１により撮影された被写体の中に、「青い空」などのように同じような色が連続して続くものが含まれる場合には、画素値の近い画素データが３つ連続してＬＵＴ部８２Ａに入力される。したがって、１つのＲ画素と１つのＧ画素とが交互にＬＵＴ部８２Ａに入力される場合に比べて、キャッシュメモリ８３Ａへのヒット率を高めることができる。
【０１０７】
（３）ＬＵＴ部８２Ａ，８２Ｂ，１０２Ａ，１０２Ｂでは、今回入力したアドレス値と前回入力したアドレス値とが一致する場合に、メモリ８５〜８７，７５からの出力値の読み出しを停止するようにした。これにより、キャッシュヒットの場合には、メモリ８５〜８７，７５へのアクセスを無くすことができる。したがって、メモリ８５〜８７，７５に対するアクセスを好適に減らすことができ、センサリニアリティ補正部３２Ａ及び圧縮伸長処理部３４Ａにおける消費電力を低減することができる。
【０１０８】
（４）並べ替え回路８１，１０１では、１ライン目のＧ画素と２ライン目のＢ画素とを入れ替え、さらに、並べ替え後の１ライン目のＢ画素とＲ画素との配置を適宜入れ替えるようにした。この方法により、並べ替え回路８１，１０１では、入力する画素データＳＢをリアルタイム（即時）に並べ替えることができる。例えば、本例の場合では、入力した画素データＳＢを並べ替え、その並べ替え後の画素データを出力するまでの間に、同期信号の１クロック分の遅延しか発生しない。
【０１０９】
（５）ところで、入力した２ライン分の画素データを、Ｒ画素のみが並ぶラインデータと、Ｂ画素のみが並ぶラインデータと、Ｇ画素のみが並ぶラインデータという３つのラインデータに分けることもできる。但し、この場合には、上記並べ替え後の１ライン目の全ての画素データを一旦バッファに格納した後に、Ｒ画素のみが並ぶラインデータと、Ｂ画素のみが並ぶラインデータとに並び替えられる。このような方法の場合には、１ライン分のメモリ容量が余分に増大するという問題がある。また、１ライン目の画素データに対して、Ｒ画素用のキャッシュメモリと、Ｂ画素用のキャッシュメモリという２つのキャッシュメモリが必要となり、回路面積及び消費電力が増大するという問題がある。さらに、１ライン目の全ての画素データを一旦バッファに格納するため、リアルタイム性が損なわれる。
【０１１０】
これに対し、並べ替え回路８１，１０１では、図１４に示すような簡便で回路面積の小さい回路によってリアルタイムに画素データの並べ替えを行うことができる。さらに、１ライン目の画素データに対するＬＵＴ補正を、１つのＬＵＴ部８２Ａ（ＬＵＴ部１０２Ａ）及び１つのキャッシュメモリ８３Ａ（キャッシュメモリ１０３Ａ）により実現することができるため、センサリニアリティ補正部３２Ａ及び圧縮伸長処理部３４Ａにおける回路面積及び消費電力の増大を好適に抑制することができる。
【０１１１】
（他の実施形態）
なお、上記各実施形態は、これを適宜変更した以下の態様にて実施することもできる。
・上記第２実施形態の並べ替え回路８１，１０１では、３つの連続したＢ画素と、３つの連続したＲ画素とが交互にＬＵＴ部８２Ａ，１０２Ａに入力されるように画素データを並べ替えるようにした。これに限らず、例えば、並べ替え回路８１，１０１において、４つ以上の連続したＢ画素と、４つ以上の連続したＲ画素とが交互にＬＵＴ部８２Ａ，１０２Ａに入力されるように画素データを並べ替えるようにしてもよい。ここでは、図１９に示すように、並べ替え部９０による並べ替え後の画素データＳＣ１（図１９（ａ）及び図１９（ｂ）参照）を、４つの連続したＢ画素と、４つの連続したＲ画素とが交互に配置（配列）されるように並べ替える回路について説明する。
【０１１２】
図１８は、図１４に示した並べ替え回路８１に、並べ替え部９３の代わりに設けられる並べ替え部９３Ａの内部構成例を示している。
並べ替え部９３Ａは、５つのＦＦ回路９４〜９８と、選択回路９９とを有している。図１４に示した並べ替え部９０から出力される画素データＳＣ１は、ＦＦ回路９４及び選択回路９９に供給される。ＦＦ回路９４は、例えば、画素データＳＣ１を同期信号（図示略）の１クロック分だけ遅延させ、その遅延させた出力信号をＦＦ回路９５及び選択回路９９に出力する。ＦＦ回路９５は、例えば、ＦＦ回路９４の出力信号を同期信号（図示略）の１クロック分だけ遅延させ、その遅延させた出力信号をＦＦ回路９６及び選択回路９９に出力する。ＦＦ回路９６は、例えば、ＦＦ回路９５の出力信号を同期信号（図示略）の１クロック分だけ遅延させ、その遅延させた出力信号をＦＦ回路９７及び選択回路９９に出力する。ＦＦ回路９７は、例えば、ＦＦ回路９６の出力信号を同期信号（図示略）の１クロック分だけ遅延させ、その遅延させた出力信号をＦＦ回路９８及び選択回路９９に出力する。ＦＦ回路９８は、例えば、ＦＦ回路９７の出力信号を同期信号（図示略）の１クロック分だけ遅延させ、その遅延させた出力信号を選択回路９９に出力する。
【０１１３】
選択回路９９には、今回入力された現時点の画素データＳＣ１と、ＦＦ回路９４〜９８の出力信号、つまり１クロック前、２クロック前、３クロック前、４クロック前、５クロック前にそれぞれ入力された画素データＳＣ１とが入力される。選択回路９９は、入力された６つの画素データＳＣ１の中から１つを選択し、選択した画素データを画素データＳＢ１として出力する。このとき、選択回路９９では、図１９（ｂ）及び図１９（ｃ）に示すように、ラインデータＬ１Ｂにおいて４つの連続したＢ画素と４つの連続したＲ画素とが交互に配置されるように画素データの選択が行われる。なお、図１９（ａ）及び図１９（ｂ）に示した並べ替えは、図１４に示した並べ替え部９０により実現される。
【０１１４】
このような構成に変更した場合であっても、上記第２実施形態と同様の効果を奏することができる。
・上記第１実施形態における並べ替え回路４１の並べ替え部５５を省略してもよい。この場合には、図６（ｂ）に示したラインデータＬ１Ａ〜Ｌ４ＡがＬＵＴ部４２Ａ〜４２Ｄに並列に入力される。このとき、ラインデータＬ１Ａ，Ｌ４ＡはＧ画素のみが配列されているため、ＬＵＴ部４２Ａ，４２ＤにはＧ画素のみが入力される。このため、ＬＵＴ部４２Ａ，４２Ｄに設けるメモリ６２を１つとすることができる。さらに、並べ替え部５０とキャッシュメモリ４３Ａ，４３Ｄとの組み合わせにより、キャッシュメモリ４３Ａ，４３Ｄへのヒット率を高めることができる。
【０１１５】
・上記第２実施形態における並べ替え回路８１の並べ替え部９３，９３Ａを省略してもよい。この場合には、図１５（ｂ）に示したラインデータＬ１Ａ，Ｌ２ＡがＬＵＴ部８２Ａ，８２Ｂに並列に入力される。
【０１１６】
・上記第１実施形態の並べ替え部５５では、ラインデータＬ２ＡのＢ画素とラインデータＬ３ＡのＲ画素とを入れ替えるようにした。これに限らず、例えば、並べ替え部５５において、ラインデータＬ２ＡのＲ画素とラインデータＬ３ＡのＢ画素とを入れ替えるようにしてもよい。
【０１１７】
・上記第１実施形態の並べ替え部５０では、ラインデータＬ１のＲ画素とラインデータＬ２のＧ画素とを入れ替え、ラインデータＬ３のＧ画素とラインデータＬ４のＢ画素とを入れ替えるようにした。これに限らず、例えば、並べ替え部５０において、ラインデータＬ１のＧ画素とラインデータＬ２のＢ画素とを入れ替え、ラインデータＬ３のＲ画素とラインデータＬ４のＧ画素とを入れ替えるようにしてもよい。この場合には、並べ替え部５０による並べ替え後のラインデータＬ１，Ｌ４が並べ替え部５５に入力される。
【０１１８】
・上記第２実施形態の並べ替え部９０では、ラインデータＬ１のＧ画素とラインデータＬ２のＢ画素とを入れ替えるようにした。これに限らず、例えば、並べ替え部９０において、ラインデータＬ１のＲ画素とラインデータＬ２のＧ画素とを入れ替えるようにしてもよい。この場合には、並べ替え後のラインデータＬ２が並べ替え部９３に入力される。
【０１１９】
・上記第２実施形態の並べ替え回路８１，１０１において、入力する２ライン分の画素データＳＢを、Ｒ画素のみが並ぶラインデータと、Ｂ画素のみが並ぶラインデータと、Ｇ画素のみが並ぶラインデータとの３つのラインデータに並べ替えるようにしてもよい。
【０１２０】
・上記各実施形態では、補正カーブの格納されたメモリのアドレス値として使用される上位ビットを９ビットとし、キャッシュメモリに供給される下位ビットを３ビットとしたが、これら上位ビット及び下位ビットのビット数は特に制限されない。例えば、上位ビットを８ビットとし、下位ビットを４ビットとしてもよい。この場合には、例えば、メモリ６２から１６個の出力値がキャッシュメモリ４３Ａに出力され、１６個の出力値が個別にキャッシュメモリ４３Ａ内の１６個のＦＦ回路に保持される。
【０１２１】
・上記各実施形態における画素データＳＢのビット数は特に制限されない。
・上記第１実施形態の並べ替え回路４１，７１に並列に入力されるライン数は特に限定されない。
【０１２２】
・上記各実施形態では、ＬＵＴ補正部としてセンサリニアリティ補正部３２，３２Ａ及び圧縮伸長処理部３４，３４Ａに具体化した。これに限らず、例えば、センサリニアリティ補正や圧縮伸長処理以外の補正処理や画像処理に適用してもよい。
【符号の説明】
【０１２３】
ＳＡ  撮像データ（画像データ）
Ｌ１，Ｌ５  ラインデータ（第１ラインデータ）
Ｌ２，Ｌ６  ラインデータ（第２ラインデータ）
Ｌ３，Ｌ７  ラインデータ（第３ラインデータ）
Ｌ４，Ｌ８  ラインデータ（第４ラインデータ）
Ｌ１Ａ〜Ｌ４Ａ  ラインデータ
Ｌ１Ｂ〜Ｌ４Ｂ  ラインデータ
ＳＢ  画素データ
ＳＢ１〜ＳＢ４  画素データ（並べ替え後の画素データ）
ＳＢ１［１１：３］  上位ビットデータ（上位Ｂビットのデータ）
ＳＢ１［２：０］  下位ビットデータ（下位（Ａ−Ｂ）ビットのデータ）
ＳＣ１〜ＳＣ４  画素データ
１０  電子機器
１２  画像処理プロセッサ（画像処理装置）
３２，３２Ａ  センサリニアリティ補正部（ＬＵＴ補正部）
３４，３４Ａ  圧縮伸長処理部（ＬＵＴ補正部）
４１，７１  並べ替え回路（第１並べ替え回路）
４２Ａ〜４２Ｄ，７２Ａ〜７２Ｄ  ＬＵＴ部（ＬＵＴ補正回路）
４３Ａ〜４３Ｄ，７３Ａ〜７３Ｄ  キャッシュメモリ（ＬＵＴ補正回路）
４４，７４  並べ替え回路（第２並べ替え回路）
５０，９０  並べ替え部（第１並べ替え部）
５１，９１  選択回路（第１選択回路）
５２，９２  選択回路（第２選択回路）
５３  選択回路（第３選択回路）
５４  選択回路（第４選択回路）
５５，９３，９３Ａ  並べ替え部（第２並べ替え部）
６２，７５，８５〜８７  メモリ
６７Ａ〜６７Ｈ  フリップフロップ回路
８１，１０１  並べ替え回路（第１並べ替え回路）
８２Ａ，８２Ｂ，１０２Ａ，１０２Ｂ  ＬＵＴ部（ＬＵＴ補正回路）
８３Ａ，８３Ｂ，１０３Ａ，１０３Ｂ  キャッシュメモリ（ＬＵＴ補正回路）
８４，１０４  並べ替え回路（第２並べ替え回路）
【図１】
2015216454.tif 000003
【図２】
2015216454.tif 000004
【図３】
2015216454.tif 000005
【図４】
2015216454.tif 000006
【図５】
2015216454.tif 000007
【図６】
2015216454.tif 000008
【図７】
2015216454.tif 000009
【図８】
2015216454.tif 000010
【図９】
2015216454.tif 000011
【図１０】
2015216454.tif 000012
【図１１】
2015216454.tif 000013
【図１２】
2015216454.tif 000014
【図１３】
2015216454.tif 000015
【図１４】
2015216454.tif 000016
【図１５】
2015216454.tif 000017
【図１６】
2015216454.tif 000018
【図１７】
2015216454.tif 000019
【図１８】
2015216454.tif 000020
【図１９】
2015216454.tif 000021
【図２０】
2015216454.tif 000022
【図２１】
2015216454.tif 000023