(57)【要約】【課題】ガンマ補正の処理速度を速めることが可能な画像処理装置を提供する。【解決手段】入力データを取得するデータ取得部と、入力データの値を２つの変換値を用いて補間して第１変換データを生成する第１のガンマ補正と、この第１変換データを２つの変換値を用いて補間して第２変換データを生成する第２のガンマ補正とを行う演算部と、第１のガンマ補正に使用される変換値の内、偶数番目の変換値を記憶する第１のテーブルを格納する第１のメモリと、第１のガンマ補正に使用される変換値の内、奇数番目の変換値を記憶する第２のテーブルを格納する第２のメモリと、第２のガンマ補正に使用される変換値の内、偶数番目の変換値を記憶する第３のテーブルを格納する第３のメモリと、第２のガンマ補正に使用される変換値の内、奇数番目の変換値を記憶する第４のテーブルを格納する第４のメモリとを有する。【選択図】図２
2010063042.tif 000002
【特許請求の範囲】
【請求項１】
入力データに対してガンマ補正処理を行なう画像処理装置であって、
入力データを取得するデータ取得部と、
前記入力データの値を２つの変換値を用いて補間して第１変換データを生成する第１のガンマ補正と、この第１変換データを２つの変換値を用いて補間して第２変換データを生成する第２のガンマ補正とを行う演算部と、
前記第１のガンマ補正に使用される変換値の内、偶数番目の変換値を記憶する第１のテーブルを格納する第１のメモリと、
前記第１のガンマ補正に使用される変換値の内、奇数番目の変換値を記憶する第２のテーブルを格納する第２のメモリと、
前記第２のガンマ補正に使用される変換値の内、偶数番目の変換値を記憶する第３のテーブルを格納する第３のメモリと、
前記第２のガンマ補正に使用される変換値の内、奇数番目の変換値を記憶する第４のテーブルを格納する第４のメモリと、を有し、
前記演算部は、前記第１及び第２のテーブルを一度に参照して第１のガンマ補正を行い、又、前記第３及び第４のテーブルを一度に参照して第２のガンマ補正を行うことを特徴とする画像処理装置。
【請求項２】
前記演算部は、２つの変換値を用いて線形補間を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記演算部は、第１のガンマ補正を行う第１演算部と、第２のガンマ補正を行う第２演算部とで構成されることを特徴とする請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記データ取得部は、光学像を走査し前記光学像を表す入力データを出力する走査部と、原稿の光学像を前記走査部に入力する光学系とで構成されることを特徴とする請求項１〜請求項３のいずれか一項に記載の画像処理装置。
【請求項５】
前記データ読取部は、ＲＧＢ各色に対応する入力データを前記演算部にパラレルで供給し、
前記第１〜第４のテーブルには、テーブルごとにＲＧＢ各色の変換値が共通化して記憶されており、
前記演算部は、前記ＲＧＢ各色の変換値を遅延させて読み取ることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記入力データは、原稿画像に対して表面と裏面に対応したデータであって、
前記第１〜第４のメモリには、裏面と表面に対応する変換値が共通化されたテーブルが格納されていることを特徴とする請求項４に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に入力データに対して２回のガンマ補正を行う画像処理装置に関する。
【背景技術】
【０００２】
従来、スキャナ、ディジタルカメラ、プリンタ等の画像処理装置では、入力データと出力データの相関関係を調整するためにガンマ補正が行われる。このようなガンマ補正において、入力データから容易に補正値を参照することができるよう、ルックアップテーブルが用いられる。このルックアップテーブルは、入力データの各値に応じた補正値を対応付けて記憶することで、演算部が補正後の入力データの値を素早く出力できるようにするものである。
【０００３】
また、ルックアップテーブルに記憶される変換値の数を低減するために、補間演算を組み合わせたガンマ補正が知られている。つまり、低解像度で生成した入力データに対して第１のテーブルを用いて第１のガンマ補正を行い、補正後のデータを用いて第２のテーブルを生成する。その後、上記した第１及び第２のテーブルを用いて、高解像度で生成した入力データに対して補間演算を伴う（例えば、特許文献１参照）。
【特許文献１】特開２００４−１１８４３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
補間演算を組み合わせたガンマ補正を行う場合、補正対象の入力データに対してつど、２つの変換値を参照する必要が生じる。そのため、ガンマ補正の処理時間が長くなることがあった。
【０００５】
本発明は、上記課題にかんがみてなされたもので、入力データに対して補間演算を用いて二回のガンマ補正処理を行う画像処理装置において、ガンマ補正の処理速度を速めることが可能な画像処理装置の提供を目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明では、入力データに対してガンマ補正処理を行なう画像処理装置であって、入力データを取得するデータ取得部と、前記入力データの値を２つの変換値を用いて補間演算して第１変換データを生成する第１のガンマ補正と、この第１変換データを２つの変換値を用いて補間演算して第２変換データを生成する第２のガンマ補正とを行う演算部と、前記第１のガンマ補正に使用される変換値の内、偶数番目の変換値を記憶する第１のテーブルを格納する第１のメモリと、前記第１のガンマ補正に使用される変換値の内、奇数番目の変換値を記憶する第２のテーブルを格納する第２のメモリと、前記第２のガンマ補正に使用される変換値の内、偶数番目の変換値を記憶する第３のテーブルを格納する第３のメモリと、前記第２のガンマ補正に使用される変換値の内、奇数番目の変換値を記憶する第４のテーブルを格納する第４のメモリと、を有し、前記演算部は、前記第１及び第２のテーブルを一度に参照して第１のガンマ補正を行い、また、前記第３及び第４のテーブルを一度に参照して第２のガンマ補正を行う構成としてある。
【０００７】
上記のように構成された発明では、画像処理装置は、第１のガンマ補正に使用される変換値の内、偶数番目の変換値を記憶する第１のテーブルを格納する第１のメモリと、第１のガンマ補正に使用される変換値の内、奇数番目の変換値を記憶する第２のテーブルを格納する第２のメモリと、第２のガンマ補正に使用される変換値の内、偶数番目の変換値を記憶する第３のテーブルを格納する第３のメモリと、第２のガンマ補正に使用される変換値の内、奇数番目の変換値を記憶する第４のテーブルを格納する第４のメモリとを有し、演算部は、第１及び第２のガンマ補正を実行する際に、使用される２つの変換値を一度に参照してガンマ補正を行う。
そのため、第１及び第２のガンマ補正において、各２個の変換値を１回のクロックに同期させて読み取ることができる。その結果、２度の補間演算を用いてガンマ補正を行う画像処理装置に関し、ガンマ補正の処理速度を向上させることができる。
【０００８】
好ましくは、前記演算部は、２つの変換値を用いて線形補間を行う。
上記のように構成された発明では、２つの変換値を用いて線形補間を実行するガンマ補正において、本発明を適応することができる。
【０００９】
好ましくは、前記演算部は、第１のガンマ補正を行う第１演算部と、第２のガンマ補正を行う第２演算部とで構成される。
上記のように構成された発明では、２度の補間演算を２つの演算部により実行するため、各処理を独立して処理することができ、ガンマ補正の処理速度を向上させることができる。
【００１０】
好ましくは、前記データ取得部は、光学像を走査し前記光学像を表す入力データを出力する走査部と、原稿の光学像を前記走査部に入力する光学系とで構成される。
上記のように構成された発明では、入力データがスキャナデータである場合でも応用することができる。
【００１１】
好ましくは、前記データ読取部は、ＲＧＢ各色に対応する入力データを前記演算部にパラレルで供給し、前記第１〜第４のテーブルには、テーブルごとにＲＧＢ各色の変換値が共通化して記憶されており、前記演算部は、前記ＲＧＢ各色の変換値を遅延させて読み取る。
上記のように構成された発明では、入力データがＲＧＢ各色ごとにパラレルで演算部に入力される場合であっても、２回のガンマ補正を高速に行うことができる。
【００１２】
好ましくは、前記入力データは、原稿画像に対して表面と裏面に対応したデータであって、前記第１〜第４のメモリには、裏面と表面に対応する変換値が共通化されたテーブルが格納されている。
上記のように構成された発明では、表面と裏面に対応する変換値を記憶したテーブルを共通化することで、メモリ数を増やすことなく表面と裏面に対応する入力データに対してガンマ補正を実行することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図を参照しつつ下記の順序に従って本発明の実施形態を説明する。
１．第１の実施形態：
（１）スキャナの構成；
（２）第１〜第４テーブルのアドレスの求め方について：
（３）ガンマ補正について：
２．第２の実施形態：
３．第３の実施形態：
４．第４の実施形態：
５．第５の実施形態：
６．その他の実施形態：
【００１４】
１．第１の実施形態：
（１）スキャナの構成：
図１は、本発明の一実施例による画像処理装置を説明するブロック図である。この図では、画像処理装置としてのスキャナ１００を例に説明を行う。スキャナ１００は、インタフェース３００を通じてＰＣ２００と接続されている。また、ＰＣ２００は、ＲＯＭ及びハードディスク装置に格納されたプログラムを実行し、ＰＣ２００の各部を制御する他、ハードディスク装置に格納されたＴＷＡＩＮドライバを実行してスキャナ１００を制御する。
【００１５】
スキャナ１００は、ＳＲＡＭに記憶されたテーブルを用いて、入力データに２回のガンマ補正（第１のガンマ補正、第２のガンマ補正）を実行する。第１及び第２のガンマ補正は、各テーブルに記憶された各２個の変換値を用いて、入力データに対して補間演算を行うことで実行される。
【００１６】
スキャナ１００の要部は、光学系９９と、イメージセンサ９８と、ＡＦＥ部８０と、制御部７０と、ディジタル画像処理部６０とで構成されている。
光学系９９は、光源に照射された原稿の反射光像をレンズ郡を通じてイメージセンサ９８に縮小して結像させる。イメージセンサ９８は、光学系９９により結像される走査線上の光学像を走査し、その光学像の濃淡に相関する電気信号を出力する。
【００１７】
ＡＦＥ（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ）部８０は、アナログ信号処理部、Ａ／Ｄ変換器等から構成される。アナログ信号処理部は、イメージセンサ９８から出力された電気信号に対して増幅、雑音低減処理等のアナログ信号処理を施して出力する。Ａ／Ｄ変換器は、アナログ信号処理部から出力された電気信号を１６ビットのディジタル表現の入力データに量子化して出力する。なお、本発明に係る走査部は、イメージセンサ９８とＡＦＥ部８０により実現される。
【００１８】
制御部７０は、ＲＯＭ７１、ＣＰＵ７２、ＲＡＭ７３等を備え、スキャナ１００の各部を制御する。ＲＯＭ７１は、ＣＰＵ７２で実行されるファームウェアやデータを予め格納しているメモリである。ＲＡＭ７１は、各種プログラムや各種データを一時的に格納するメモリである。
【００１９】
ディジタル画像処理部６０の要部は、入力データに対してガンマ補正を施すガンマ補正部５０、入力データに対してシェーディング補正を施すシェーディング補正部４０、入力データに対するガンマ補正時に、ガンマ補正部５０が変換値を参照するための第１〜第４のテーブルが格納される第１〜第４ＳＲＡＭ（第１〜第４のメモリ）３０〜３３とで構成されている。ディジタル画像処理部２０は、ＡＦＥ部８０から出力される入力データに対し、ガンマ補正、画素補間法による欠陥画素の補間、シェーディング補正、画像信号の鮮鋭化等の処理を行って出力データを作成する。なお、ディジタル画像処理部６０で施す上記各種の処理は、制御部７０で実行するコンピュータプログラムによる処理に置き換えてもよい。
【００２０】
本発明に係るガンマ補正部５０は、階調データに対して２度のガンマ補正を施す。具体的には、ディジタル画像処理部２０は、第１及び第２ＳＲＡＭ３０，３１に格納された第１及び第２のテーブルから連続する変換値を読み出し、この変換値を用いて入力データに対して第１のガンマ補正を施す。次に、ガンマ補正部５０は、第３及び第４ＳＲＡＭ３２，３３に格納された第３及び第４テーブルから連続する変換値を読み出し、変換後のデータに対して第２のガンマ補正を施す。以下に、本発明に係るガンマ補正部５０をより詳細に説明する。
【００２１】
図２は、ガンマ補正部、及び第１〜第４ＳＲＡＭを示すブロック図である。図３は、ガンマ補正部の処理内容を示す説明図である。ガンマ補正部５０の要部は、入力データに対して第１のガンマ補正を施す第１演算部５１と、第１演算部５１により補正されたデータに対して第２のガンマ補正を施す第２演算部５２と、入出力を切替えるセレクタ５３とで構成されている。なお、第１の実施形態では、ＡＦＥ部８０からＲＧＢの各入力データがシリアルに入力されるものとする。
【００２２】
第１演算部５１は、ＡＦＥ部８０から出力される１６ビット階調データを有する入力データ：ｘを、第１ＳＲＡＭ３０に格納された第１テーブル、第２ＳＲＡＭ３１に格納された第２テーブル、及び線形補間とを用いて所定の特性で変換し、１６ビット階調の第１変換データ：Ｆ（ｘ）を生成する。第１及び第２テーブルは、制御部７０のＲＯＭ７１に格納されているデータを起動時に第１及び第２ＳＲＡＭ３０，３１の所定のアドレス空間に格納したものである。
【００２３】
第１及び第２テーブルには、ＲＧＢの色毎に、２ｓ・ｂ−ｋ（ただし、ｓは入力値のビット数とし、ｋ＝０，１，２…ｍとし、ｍ＋１は変換値の数とする。）で表される入力値：ｘに対応する１２８個のアドレスに１６ビット階調の変換値が格納されている。そのうち、第１のテーブルには、ＲＧＢ各色の偶数番目のアドレスに対応する変換値が記憶されている。また、第２のテーブルには、ＲＧＢ各色の奇数番目のアドレスに対応する変換値が記憶されている。なお、変換値の階調及び個数はこれらの数に限られるものではなく、ＡＦＥ部８０の出力階調、要求される補正精度等に応じて適宜設定できるものである。第１及び第２テーブルには、前述の入力値：ｘに対応するアドレスに、入力値：ｘとの間に２ｓ・ｂ−ｋの相関を有する１６ビット階調の変換値ｆ（ｘ）が格納されている。図３では、入力値Ａ〜Ｆに対応するアドレスにｆ（Ａ）〜ｆ（Ｆ）の変換値が格納されていることを示している。
【００２４】
第１演算部５１は、次式（式１）で表すＦ（ｘ）を次のように求める。
【数１】
2010063042.tif 000003
…（式１）
（ただし、ｓは入力値のビット数とし、ｂは２ｓ・ｂ−ｋ＝１を満たす定数とし、ｔ＋１はＲＧＢ各色の変換値の個数とする。）
【００２５】
はじめに、ＡＦＥ部８０から出力される１６ビット入力データに基づいて、この入力データを補間するための変換値ｆ（２ｓ・ｂ−ｋ）、ｆ（２ｓ・ｂ−（ｋ＋１））が記憶された第１テーブルと第２テーブルの２つのアドレスを求める。すなわち、ＡＦＥ部８０から出力されるデータをｘとすると、次式（式２）を満たす仮アドレスｋを求め、この仮アドレスｋから偶数番目のアドレスに記憶される変換値が記憶された第１テーブルのアドレス、及び奇数番目のアドレスに記憶された変換値が記憶された第２テーブルの２つのアドレスを求める。
２ｓ・ｂ−ｋ  ≧ｘ＞２ｓ・ｂ−（ｋ+１）        …（式２）
【００２６】
ここで仮アドレスｋから求められた第１テーブルのアドレスは、第１テーブルのアドレスに予め対応付けられている入力値のうち実際の入力値ｘを越えない最も大きな入力値（図３ではＥに相当する偶数アドレス。）に対応付けられているものである。また、仮アドレスｋから求められた第２テーブルのアドレスは、第２テーブルのアドレスに予め対応付けられている入力値のうち実際の入力値ｘを越える最も小さな入力値（図３ではＦに相当する奇数アドレス。）に対応付けられているものである。
【００２７】
次に、先に求めた２つのアドレスを指定して第１及び第２テーブルから２つの変換値ｆ（２ｓ・ｂ−ｋ）（図３ではｆ（Ｆ）に相当する。）及びｆ（２ｓ・ｂ−（ｋ+1））（図３ではｆ（Ｅ）に相当する。）を第１演算部５１の演算用のレジスタに格納し、（式１）を満たすＦ（ｘ）を求めることによって、入力値ｘを線形補間する。これにより、入力値ｘに対応する１６ビット階調の第１変換データ：Ｆ（ｘ）が第１演算部５１から出力される。
【００２８】
図４は、ガンマ補正部の処理内容を示す説明図である。第２演算部５２は、第１演算部５１から出力される１６ビット階調を有する入力データを、第３ＳＲＡＭ３２に格納された第３テーブル、第４ＳＲＡＭ３３に格納された第４テーブル、及び線形補間とを用いて所定の特性で変換し、１６ビット階調の第２変換データを生成する。
【００２９】
なお、本実施の形態では、第３及び第４テーブルは、スキャナ１００を制御するＰＣ２００で実行されるドライバプログラムによって求められる８ビット階調の最適化テーブルに基づいて、スキャナ１０の制御部がファームウェアを実行して生成し第３及び第４ＳＲＡＭ３２，３３に格納するものである。
【００３０】
最適化テーブルには、ｘ＝ｋ（ただし、ｋ＝０，１，２，・・・，２５５）に対応するアドレスに８ビット階調の変換値が格納されている。なお、最適化テーブルの変換値の個数及び階調はこれらに限定されるものではない。制御部７０は、ファームウェアを実行し、ＲＡＭ７３にロードされた８ビット変換値を１６ビットに変換し、１６ビット階調の変換値ｇ（ｘ）が格納された第３及び第４テーブルを生成する。そのうち、第３テーブルには、ＲＧＢの色毎の偶数番目のアドレスに対応する変換値が記憶されている。また、第４テーブルには、ＲＧＢの色毎の奇数番目のアドレスに対応する変換値が記憶されている。
第２演算部５２は、次式（式３）で表すＧ（ｘ）を次のように求める。
【数２】
2010063042.tif 000004
…（式３）
（ただし、Ｆ（ｘ）は入力値（第１演算部の出力値）とし、ｕは入力値のビット数とし、２ｎ  はＲＧＢ各色の変換値の個数とする。）
【００３１】
第２演算部５２は、第１演算部５１の出力結果が格納されるレジスタの上位ｎビットに基づいて仮アドレスｋを求め、この仮アドレスｋから第３及び第４テーブルの２つのアドレスを求める。すなわち、レジスタに格納されるデータをｘとすると、次式（式４）を満たす仮アドレスｋを求め、この仮アドレスｋから第３及び第４テーブルのアドレスを求める。
２ｕ−ｎ（ｋ＋１）≧ｘ＞２ｕ−ｎｋ…（式４）
【００３２】
次に、先に求めた２つのアドレスを指定して第３及び第４テーブルから２つの変換値ｇ（２ｕ−ｎｋ）（図４ではｇ（Ｅ）に相当する。）、ｇ（２ｕ−ｎ（ｋ＋１））（図４ではｇ（Ｆ）に相当する。）を演算用のレジスタに格納し、（式３）を満たすＧ（ｘ）を求めることによって第２テーブルを線形補間する。これにより、入力値：ｘに対応する１６ビット階調の第２変換データ：Ｇ（ｘ）が第２演算部から出力される。
【００３３】
セレクタ５３は、第１演算部５１から出力される第１変換データ、又は、第２演算部５２から出力される第２変換データのいずれか一方をガンマ補正部５０の出力として選択する。具体的にはセレクタ５３は、第２テーブルを生成するために低解像度で画像を入力するプレスキャン時には第１変換データをガンマ補正部５０の出力として選択し、高解像度で画像を入力する時には第２変換データをガンマ補正部５０の出力として選択する。
【００３４】
（２）第１〜第４テーブルのアドレスの求め方について：
図５は、仮アドレスｋとこの仮アドレスから求められる各テーブルのアドレスとの関係を説明する図である。図６は、一例としての、第１及び第２テーブルに記憶される変換値を説明する図である。なお、図５では、入力データのＲＧＢの各色の内、Ｒにおける仮アドレスｋと、第１テーブルに指定するアドレスの関係を示している。また、図６では、便宜上、第１ＳＲＡＭ３０に指定されるアドレスを中間アドレスにより示している。また、各変換値は連続するアドレスに格納されるものとする。なお、第２〜第４のテーブルについても同じ関係を有するものとする。
【００３５】
仮アドレスｋが偶数である場合は、仮アドレスｋと中間アドレスとはｋ／２の関係を満たす（なお、小数点以下を切り捨てるものとする。）。第１〜第４テーブルの各テーブルにＲＧＢの各色の入力データを変換する変換値が記憶されている場合、中間アドレスはＲの入力データを変換する変換値における偶数又は奇数番目のアドレスを意味するため、この中間アドレスに対応した真のアドレスを求めることとなる。
【００３６】
仮アドレスｋが奇数である場合は、第１演算部５１は、仮アドレスｋと第１ＳＲＡＭ３０に指定するアドレスに対応した中間アドレスとは、ｋ／２＋１の関係を満たす。また、仮アドレスｋと第２ＳＲＡＭ３１に指定するアドレスに対応した中間アドレスとは、ｋ／２の関係を満たす。そのため、この中間アドレスから第１〜第４テーブルに対応する真のアドレスを求めることとなる。なお、上述した、仮アドレス、中間アドレス、及び真のアドレスの関係は、第１演算部５１が参照するアドレス変換テーブルとしていずれかのＲＡＭに格納されている。
【００３７】
図６より、仮アドレスｋ＝０（偶数）の場合は、Rの入力データにおける０番目と１番目の変換値が必要となるため、第１ＳＲＡＭ３０に指定するアドレス：００ｈ、第２ＳＲＡＭ３１に指定するアドレス：００ｈである。同様に、仮アドレスｋ＝２（偶数）の場合は、２番目と３番目の変換値が必要となるため、第１ＳＲＡＭ３０に指定するアドレス：０１ｈ、第２ＳＲＡＭに指定するアドレス：０１ｈである。
一方、仮アドレスｋ：１（奇数）の場合は、Rの入力データにおける１番目と２番目の変換値が必要となるため、第１ＳＲＡＭに指定するアドレス：０１ｈ、第２ＳＲＡＭに指定するアドレス：００ｈである。同様に、仮アドレスｋ＝３（奇数）の場合は、３番目と４番目のアドレスが必要となるため、第１ＳＲＡＭに指定するアドレス：０２ｈ、第２ＳＲＡＭに指定するアドレス：０１ｈである。
【００３８】
（３）ガンマ補正について：
図７は、演算部が実行するガンマ補正を表す流れ図である。また、図８は、各演算部が実行するガンマ補正におけるタイミングチャートである。ＡＦＥ部８０から第１演算部５１へ１６ビットの入力データ（ＤＩＮ）が入力され、かつ、入力データを取り込むためのＡＤＣＫ信号が入力されると、セレクタ５３は、入力データに対して第１のガンマ補正を施すよう入力を切替える（ステップＳ１１０）。第１演算部５１は、ＡＤＣＫ信号から生成した取り込み信号（ＳＴＲＢ）に同期して、この入力データを取り込む。そして、第１演算部５１は、（式２）を用いて取り込んだ階調データから仮アドレスｋを算出する（ステップＳ１２０）。
【００３９】
第１演算部５１は、算出された仮アドレスｋが偶数であるか奇数であるかを判断する（ステップＳ１３０）。
【００４０】
仮アドレスｋが偶数である場合は、第１演算部５１は、中間アドレス（ｋ／２）から、第１及び第２のＳＲＡＭ３０，３１に指定するアドレス（ＳＲＡＤＲ０＿０，ＳＲＡＤＲ０＿１）の値を算出し、算出されたアドレスを２つのチップセレクト信号（ＳＲＣＳ＿０、ＳＲＣＳ＿１）に同期させて第１及び第２ＳＲＡＭ３０，３１に指定する（ステップＳ１４０）。ここで、同一タイミングで出力される２つのチップセレクト信号により、第１及び第２のＳＲＡＭのいずれかに所定のアドレスが指定される。そのため、第１及び第２ＳＲＡＭ３０，３１からは、指定されたアドレスに記憶された２つの変換値（ＳＲＤＡＴＡ０＿０，ＳＲＤＡＴＡ０＿１）が第１演算部５１に出力される。
【００４１】
仮アドレスｋが奇数である場合は、第１演算部５１は、中間アドレス（ｋ／２＋１，ｋ／２）から第１及び第２のＳＲＡＭ３０，３１に指定するアドレス（ＳＲＡＤＲ０＿０，ＳＲＡＤＲ０＿１）の値を算出し、算出されたアドレスをチップセレクト信号（ＳＲＣＳ＿０、ＳＲＣＳ＿１）に同期させて第１及び第２ＳＲＡＭ３０，３１に指定する（ステップＳ１５０）。そのため、第１及び第２ＳＲＡＭ３０，３１からは、指定されたアドレスに記憶された２つの変換値が第１演算部５１に出力される。
【００４２】
第１演算部５１は、入力データを第１変換データＦ（ｘ）（ｄ１ａｄｒ）に変換する（ステップＳ１６０）。具体的には、第１演算部５１は、読取信号（ｓｒａｃｋ０）に同期させて２つの変換値を取り込む。ここで、第１及び第２ＳＲＡＭ３０，３１に記憶された偶数番目の変換値と奇数番目の変換値は、１度のクロックにより第１演算部５１に取り込まれる。また、第１演算部５１は、読み込んだ２つの変換値から、(式１）を用いて、第１変換データＦ（ｘ）を演算する。
【００４３】
セレクタ５３は、第１変換データ：Ｆ（ｘ）に対して、第２のガンマ補正を施すよう入力を切替える（ステップＳ１７０）。そのため、第１変換データＦ（ｘ）は、読取信号（ｓｒａｃｋ０）と同一タイミングで出力された取り込み信号（ｌａｔｃｈ０）に同期して、第２演算部５２のレジスタに記憶される。
【００４４】
第１変換データＦ（ｘ）が第２演算部５２に取り込まれると、第２演算部５２はこの第１変換データＦ（ｘ）と、(式４）を用いて仮アドレスｋを求める（ステップＳ１８０）。
【００４５】
第２演算部５２は、算出された仮アドレスｋが偶数であるか奇数であるかを判断する（ステップＳ１９０）。
【００４６】
仮アドレスｋが偶数である場合は、第２演算部５２は、中間アドレス（ｋ／２）から第３及び第４ＳＲＡＭ３２，３３に指定するアドレス（ＳＲＡＤＲ１＿０、ＳＲＡＤＲ１＿１）を算出し、算出したアドレスを２つのチップセレクト信号（ＳＲＣＳ１＿０，ＳＲＣＳ１＿１）に同期させて第３及び第４ＳＲＡＭ３２，３３に指定する（ステップＳ２００）。そのため、第３及び第４ＳＲＡＭ３２，３３からは、指定されたアドレスに記憶された２つの変換値（ＳＲＤＡＴＡ１＿０，ＳＲＤＡＴＡ１＿１）が第２演算部５２に出力される。
【００４７】
仮アドレスｋが奇数である場合は、第２演算部５２は、中間アドレス（ｋ／２＋１、ｋ／２）から第１及び第２のＳＲＡＭに指定するアドレスを算出し、算出されたアドレスをチップセレクト信号に同期させて第３及び第４ＳＲＡＭ３２，３３に指定する（ステップＳ２１０）。以上により、第１変換データを変換するための２つの変換値は、１度のクロック信号により読み出されることとなる。
【００４８】
第２演算部５２は、第１及び第２ＳＲＡＭ３２，３３から出力された２つの変換値を、読取信号（ｓｒａｃｋ１）に同期させて取り込むそして、第２演算部５２は、取り込まれた２つの変換値と、（式３）を用いて、第１変換データＦ（ｘ）を第２変換データ：Ｇ（ｘ）（ｄ２）に変換する（ステップＳ２２０）。変換された第２変換データ：Ｇ（ｘ）は、読取信号（ｓｒａｃｋ１）と同一タイミングで生成された取り込み信号（ｌａｔｃｈ１）により第２演算部５２のレジスタに記憶される。その後、第２演算部５２は、レジスタに記憶した第２変換データをシェーディング補正部４０に出力する。この一連の流れにより、ガンマ補正部５０による２度のガンマ補正が完了する。
【００４９】
以上説明したように、ガンマ補正部５０は、偶数番目と奇数番目の変換値を記憶するテーブルをそれぞれ別々ＳＲＡＭに記憶するため、一回のクロック信号に同期させて偶数番目と奇数番目の変換値を読み込むことができる。そのため、入力データを取り込むためのＡＤＣＫのクロック周期を伸ばすことなく、ガンマ補正の処理速度を向上させることが可能となる。
【００５０】
２．第２の実施形態：
スキャナ１００が原稿画像の表面と裏面とを一度に取り込む場合、表面に対応した入力データと、裏面に対応した入力データに対して個別の変換値が必要となる。そのため、第２の実施形態に係るスキャナ１００では、本発明を応用することにより、表面及び裏面に対応した入力データを変換する変換値が記憶されたテーブルを共通化することができる。
【００５１】
図９は、原稿画像の両面が同時に読み込まれることで生成された入力データをガンマ補正する場合のタイミングチャートである。第１演算部５１に原稿画像の表面に対応した入力データ（ＤＩＮ＿Ａ）及び原稿画像の裏面に対応した入力データ（ＤＩＮ＿Ｂ）が入力すると、第１演算部５１は、入力データ（ＤＩＮ＿Ａ，ＤＩＮ＿Ｂ）に対応するアドレス（ＳＲＡＤＲ０＿０、ＳＲＡＤＲ０＿１）を生成する。次に、第１演算部５１は、生成した表面及び裏面に対応するアドレスを、チップセレクト信号（ＳＲＣＳ０＿０／１）に同期して順次第１及び第２ＳＲＡＭ３０，３１に出力する。ここで、チップセレクト信号は、メインクロックの２クロック分に相当しており、最初のクロック周期で表面に対応するアドレスを第１ＳＲＡＭ３０に出力し、次のクロック周期で裏面に対応するアドレスを第１ＳＲＡＭ３０に出力する。無論、表面と裏面の読取方法はこれに限定されない。
【００５２】
次に、第１ＳＲＡＭ３０から第１演算部５１へ、２つの変換値（ＳＲＤＡＴＡ０＿０，ＳＲＤＡＴＡ０＿１）が入力される。第１演算部５１へは、表面に対応する変換値と裏面に対応する変換値とがメインクロック同期して順次入力される。第１演算部５１は、２つの変換値を用いて表面と裏面に対応する第１変換データを演算していく。
【００５３】
第２演算部５２は、表面と裏面に対応する第１変換データをラッチ信号（ｌａｔｃｈ０）に同期させて順次ラッチしていく。このラッチ信号もメインクロックの２クロック分に相当しており、最初のクロック周期で表面に対応した第１変換データを第２演算部５２のレジスタにラッチさせ、次のクロック周期で裏面に対応した第１変換データを第２演算部５２のレジスタにラッチさせる。第２演算部５２は、ラッチした表面と裏面に対応する第１変換データから表面と裏面に対応した変換値が格納されたアドレス（ＳＲＡＤＲ１＿０，ＳＲＡＤＲ１＿１）を生成し、このアドレスをチップセレクト信号（ＳＲＣＳ１＿０／１）に同期させて、第３及び第４ＳＲＡＭ３２，３３に指定する。
【００５４】
第３及び第４ＳＲＡＭ３２，３３は、第２演算部５２へ、変換値（ＳＲＤＡＴＡ１＿０／１）を出力する。第２演算部５２には、メインクロックに同期して表面と裏面に対応する変換値が順次入力される。第２演算部５２は、入力された２つの変換値を用いて第１変換データを第２変換データに変換する。ここで、表面と裏面に対応した各変換値はクロック信号に同期して第２演算部５２に順次入力されるため、第２演算部５２からは裏面に対応した第２変換データが表面に対応した変換データに対して１クロック分遅れて出力されることとなる。以上、第２の実施形態を説明した。
【００５５】
３．第３の実施形態：
ＡＦＥ部８０から出力される入力データがＲＧＢの色毎にパラレルで入力される場合でも、本発明を適応することで、ガンマ補正の処理速度を速くすることができる。図１０は、第３の実施形態に係るディジタル画像処理部を示すブロック図である。また、図１１は、第３の実施形態に係るガンマ補正処理のタイミングチャートである。第３の実施形態に係るディジタル画像処理部６０は、RGB各色に対応する入力データがパラレルで入力するようＡＦＥ部８０と接続されている。
【００５６】
ＡＦＥ部８０からＲＧＢの入力データ（ＲＤＩＮ，ＧＤＩＮ，ＢＤＩＮ）がガンマ補正部５０にパラレルで入力されると、第１演算部５１は、パラレルで入力した各入力データから順次第１ＳＲＡＭ３０，第２ＳＲＡＭ３１に指定するアドレス（ＳＲＡＤＲ０＿０，ＳＲＡＤＲ０＿１）を生成する。第１演算部５１は、ＲＧＢ各色の入力データを変換するための変換値が格納されたアドレス（ａｄｒ*ｒ，ａｄｒ*ｇ，ａｄｒ*ｂ，）をメインクロックに同期してＲＧＢの順序で第１及び第２ＳＲＡＭ３０，３１に順次出力する。
【００５７】
第１及び第２ＳＲＡＭ３０，３１は、RGBの順序で入力されたアドレスに記憶された２つの変換値（ＳＲＤＡＴＡ０＿０，ＳＲＤＡＴＡ０＿１）をRGBの順序で第１演算部５１に出力する。第１演算部５１は、入力されたＲＧＢ各色の変換値と（式１）を使用して、RGB各色の第１変換データ（SRDATA０＿０，SRDATA０＿１）を演算する。第１演算部５１から出力される第１変換データは、メインクロックに同期してRGBの各色に対応した第１変換データが順次出力される。
【００５８】
第２演算部５２は、第１演算データをレジスタに記憶する。第２演算部５２は、第１変換データから、第３及び第４ＳＲＡＭ３２，３３に指定するアドレス（ＳＲＡＤＲ１＿０，ＳＲＡＤＲ１＿１）を生成する。このため、第２演算部５２からは、ＲＧＢ各色の入力データを変換するための変換値が格納されたアドレス（ａｄｒ*ｒ，ａｄｒ*ｇ，ａｄｒ*ｂ，）がメインクロックに同期してＲＧＢの順序で第３及び第４ＳＲＡＭ３２，３３に出力される。
【００５９】
第３及び第４ＳＲＡＭ３２，３３は、入力されたアドレスに記憶されたRGB各色の変換値（ＳＲＤＡＴＡ１＿０，ＳＲＤＡＴＡ１＿１）をメインクロックに同期して順次第２演算部５２に出力する。第２演算部５２は、入力されたＲＧＢ各色の変換値と（式２）を使用して、第２変換データを演算し、レジスタに記憶する。その後、第２演算部５２は、メインクロックに同期させてＲＧＢ色毎の第２変換データ（ｄ２＿ｒ，ｄ２＿ｇ，ｄ２＿ｂ）をメインクロックに同期して別々の出力ラインから順次出力していく。
【００６０】
４．第４の実施形態：
ＡＦＥ部８０からＲＧＢ各色の入力データがパラレルで入力される場合に、ＲＧＢの色毎にテーブルを分割して使用するものであってもよい。つまり、ガンマ補正部５０は、第１のガンマ補正で使用される変換値が記憶されたテーブルを２個使用し、第２のガンマ補正で使用される変換値が記憶されたテーブルを２個使用するため、ＲＧＢ各色で１２（４×３）のテーブルを使用するものであってもよい。この場合、各テーブルを格納するための個別のＳＲＡＭが必要となることは言うまでもない。
また、各テーブルをＲＧＢ各色に分けて使用することにより、スキャナ１００が原稿画像の表面と裏面とを同時で読み取る場合でも、表面と裏面に対応する変換値が記憶されたテーブルを共通化して同じＳＲＡＭ上に記憶することが可能となる。
【００６１】
５．第５の実施形態：
ガンマ補正部は、１つの演算部により第１のガンマ補正と第２のガンマ補正を行うものであってもよい。ガンマ補正部５０では、第１のガンマ補正により生成された第１変換データを用いて第２のガンマ補正を実行するため、１つの演算部により２回のガンマ補正を行う場合、第１のガンマ補正により出力された第１変換データを第２のガンマ補正を実行するためにラッチさせる必要が生じる。そのため、１クロック余分に処理時間が必要となる。しかしながら、スキャナ１００が入力データを高速でガンマ補正する必要がない場合は、第１変換データのラッチを省略して、第２のガンマ補正を行うことで、演算部を２個使用する場合と同等の処理速度とすることも可能である。
【００６２】
６．その他の実施形態：
画像処理装置は、スキャナに限定されない。つまり、入力データに対して２回のガンマ補正を行う装置であれば、画像処理装置は、印刷装置や、スキャナと印刷装置から成る複合機であってもよい。
【００６３】
第２のガンマ補正で使用される第３及び第４のテーブルは、PC２００が生成したものに限定されない。つまり、予めスキャナ１００のROM７１に記憶されたものであってもよい。
【００６４】
なお、本発明は上記実施例に限られるものでないことは言うまでもない。実施例の中で開示した相互に置換可能な部材および構成等を適宜その組み合わせを変更して適用すること、実施例の中で開示されていないが、公知技術であって実施例の中で開示した部材および構成等と相互に置換可能な部材および構成等を適宜置換し、またその組み合わせを変更して適用すること、実施例の中で開示されていないが、公知技術等に基づいて当業者が実施例の中で開示した部材および構成等の代用として想定し得る部材および構成等と適宜置換し、またその組み合わせを変更して適用すること、は本発明の一実施例として開示されるものである。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施例による画像処理装置を説明するブロック図である。
【図２】ディジタル画像処理部を示すブロック図である。
【図３】ガンマ補正部の処理内容を示す説明図である。
【図４】ガンマ補正部の処理内容を示す説明図である。
【図５】仮アドレスｋとこの仮アドレスから求められる各テーブルのアドレスとの関係を説明する図である。
【図６】一例としての、第１及び第２テーブルに記憶される変換値を説明する図である。
【図７】演算部が実行するガンマ補正を表す流れ図である。
【図８】演算部が実行するガンマ補正のタイミングチャートである。
【図９】原稿画像の両面が同時に読み込まれることで生成された入力データをガンマ補正する場合のタイミングチャートである。
【図１０】第３の実施形態に係るディジタル画像処理部４０を示すブロック図である。
【図１１】第３の実施形態に係るガンマ補正処理のタイミングチャートである。
【符号の説明】
【００６６】
４０…シェーディング補正部、５０…ガンマ補正部、５１…第１演算部、５２…第２演算部、５３…セレクタ、６０…ディジタル画像処理部、７０…制御部、７１…ＲＯＭ、７２…ＣＰＵ、７３…ＲＡＭ、８０…ＡＦＥ部、９８…イメージセンサ、９９…光学系、１００…スキャナ、２００…ＰＣ、３００…インタフェース、３０…第１ＳＲＡＭ、３１…第２ＳＲＡＭ、３２…第３ＳＲＡＭ、３３…第４ＳＲＡＭ
【図１】
2010063042.tif 000005
【図２】
2010063042.tif 000006
【図３】
2010063042.tif 000007
【図４】
2010063042.tif 000008
【図５】
2010063042.tif 000009
【図６】
2010063042.tif 000010
【図７】
2010063042.tif 000011
【図８】
2010063042.tif 000012
【図９】
2010063042.tif 000013
【図１０】
2010063042.tif 000014
【図１１】
2010063042.tif 000015