(57)【要約】【課題】補正精度の低下を抑制しつつ、補正に用いるテーブルを格納するためのメモリの容量を低減するガンマ補正方法、ガンマ補正装置及び画像読み取りシステムを提供する。【解決手段】はじめに、全入力値のうちの少なくともｕ（ｋ）＝ａ・ｂ−ｋ　（ただし、ａ、ｂは定数、ｋ＝０，１，２…ｍ）で表される入力値：ｕ（ｋ）に対応するアドレスに変換値が格納された第一テーブルと線形補間とを用いて画像データを変換する。次に、全入力値のうち少なくともｖ（ｋ）＝ｃｋ＋ｄ（ただし、ｃ、ｄは定数、ｋ＝０，１，２…ｎ）で表される入力値：ｖ（ｋ）に対応するアドレスに、第一テーブルを用いて変換された画像データに応じて設定される変換値が格納された第二テーブルをメモリに格納する。次に、第一テーブルを用いて変換された画像データを、第二テーブルと線形補間とを用いて再変換する。【選択図】　図１
2004118432.tif 000002
【特許請求の範囲】
【請求項１】
全入力値のうちの少なくともｕ（ｋ）＝ａ・ｂ−ｋ　（ただし、ａ、ｂは定数、ｋ＝０，１，２…ｍ）で表される入力値：ｕ（ｋ）に対応するアドレスに変換値が格納された第一テーブルと線形補間とを用いて画像データを変換する第一変換段階と、
全入力値のうち少なくともｖ（ｋ）＝ｃｋ＋ｄ（ただし、ｃ、ｄは定数、ｋ＝０，１，２…ｎ）で表される入力値：ｖ（ｋ）に対応するアドレスに、前記第一変換段階で変換された画像データに応じて設定される変換値が格納された第二テーブルをメモリに格納する第二テーブル格納段階と、
前記第一変換段階で変換された画像データを、前記第二テーブルと線形補間とを用いて変換する第二変換段階と、
を含むことを特徴とするガンマ補正方法。
【請求項２】
全入力値のうち少なくともｕ（ｋ）＝ａ・ｂ−ｋ　（ただし、ａ、ｂは定数、ｋ＝０，１，２…ｍ）で表される入力値：ｕ（ｋ）に対応するアドレスに変換値が格納された第一テーブルを格納しているメモリと、
前記第一テーブルと線形補間とを用いて画像データを変換する第一変換手段と、
全入力値のうち少なくともｖ（ｋ）＝ｃｋ＋ｄ（ただし、ｃ、ｄは定数、ｋ＝０，１，２…ｑ）で表される入力値：ｖ（ｋ）に対し、前記第一変換手段により変換された画像データに応じて設定された変換値が格納された第二テーブルをメモリに格納する第二テーブル格納手段と、
前記第一変換手段により変換された画像データを、前記第二テーブルと線形補間とを用いて変換する第二変換手段と、
を備えることを特徴とするガンマ補正装置。
【請求項３】
光学像を走査し前記光学像を表す画像データを出力する走査部と、原稿の光学像を前記走査部に入力する光学系と、請求項２に記載のガンマ補正装置とを備えた画像読み取りシステムであって、
前記走査部に低解像度の画像データを出力させ、前記走査部に出力させた低解像度の画像データを前記第一変換手段に変換させ、前記第一変換手段に変換させた低解像度の画像データに応じて前記第二テーブルの変換値を設定する設定手段と、
前記走査部に高解像度の画像データを出力させ、前記走査部に出力させた高解像度の画像データを前記第一変換手段及び前記第二変換手段により変換させる変換手段と、
をさらに備えることを特徴とする画像読み取りシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ガンマ補正方法、ガンマ補正装置及び画像読み取りシステムに関する。
【０００２】
【従来の技術】
従来、スキャナ、ディジタルカメラ、プリンタ、ディスプレイなどの画像処理装置では、入力画像を出力画像として忠実に再現するため、画像入力から最終出力までの全体のγが１になるように各装置でガンマ補正が行われている。γは、入力値をｘとし、変換値をｙとすると次式で表されるものである。
【数１】
2004118432.tif 000003
【０００３】
例えばスキャナからパーソナルコンピュータ（ＰＣ）に画像を入力する画像読み取りシステムの場合、次のようなガンマ補正が行われている。
【０００４】
はじめに、スキャナにおいて低解像度で原稿を走査し、低解像度の画像データを入力する。低解像度の画像データは、スキャナのＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）に格納されたデフォルトのＬＵＴ（Ｌｏｏｋ　Ｕｐ　Ｔａｂｌｅ）を用いてＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ　Ｓｐｅｃｉｆｉｃ　Ｉｎｔｅｇｒａｔｅｄ　Ｃｉｒｃｕｉｔ）によりガンマ補正され、ＰＣに転送される。デフォルトのＬＵＴは、スキャナのＲＯＭから読み出されＡＳＩＣに外付けされたＳＲＡＭ等に書き込まれ、ＡＳＩＣによるガンマ補正に用いられる。デフォルトのＬＵＴは、画像の性質を特定する前に暫定的に用いるものである。
【０００５】
次に、ＰＣにおいて、スキャナから転送された低解像度の画像データに基づいて当該原稿に対してガンマ補正を最適化するためのＬＵＴをＴＷＡＩＮドライバで生成する。
【０００６】
次に、スキャナにおいて、ＴＷＡＩＮドライバで生成されたＬＵＴをＰＣから取得してメインメモリに書き込む。スキャナは、ファームウェアによって、デフォルトのＬＵＴとＴＷＡＩＮドライバで生成されたＬＵＴとを合成して新たなＬＵＴを作成し、新たに作成したＬＵＴをＡＳＩＣに外付けされたＳＲＡＭ等に書き込む。
【０００７】
次に、スキャナにおいて高解像度で原稿を走査し、高解像度の画像データを入力する。高解像度の画像データは、合成により作成された新たなＬＵＴを用いてＡＳＩＣによりガンマ補正され、ＰＣに転送される。この結果、原稿に応じた最適なガンマ補正が施された高解像度の画像データがＰＣに入力される。
【０００８】
一般に、ガンマ補正に用いるＬＵＴには、ガンマ補正前の画像データの階調に応じたメモリ容量が必要である。具体的には例えばガンマ補正前の画像データが１６ビット階調であるとすれば、６５５３６（＝２１６）語分のものメモリ容量が必要である。しかし、ＡＳＩＣのメモリとして一般に用いるＳＲＡＭ等の高速なランダムアクセスが可能なメモリは、容量当たりの単価が高く、ＡＳＩＣに内蔵できる容量にはチップサイズによる限界があり、ＡＳＩＣに外付けする場合には容量当たりの単価がさらに高くなる。
【０００９】
【発明が解決しようとする課題】
ところで、入力される画像データの階調数より少ない変換値を持つＬＵＴを用いた変換と、線形補間とを組み合わせてガンマ補正を行うことにより、ＬＵＴのデータサイズを小さくすることができる。
【００１０】
しかし、ＬＵＴの線形補間によるデータサイズの低減と補正精度とはトレードオフの関係にあるため、ＬＵＴのデータサイズをあまり小さくすることはできない。特にＬＵＴの入力値に対する変換値の変化の割合の変動が大きい区間では、線形補間による補正精度の低下が顕著になる。したがって、１６ビット階調で入力される画像データに対しては、デフォルトのＬＵＴとＴＷＡＩＮドライバで生成されたＬＵＴとを合成して例えば４０９６（＝２１２）語のＬＵＴを作成し、合成して得たＬＵＴによる変換と下位４ビット分の線形補間とを組み合わせてガンマ補正を行っており、ＬＵＴが必要とするメモリ容量は依然として大きい。
【００１１】
本発明は、このような問題に鑑みて創作されたものであって、補正精度の低下を抑制しつつ、補正に用いるテーブルを格納するためのメモリの容量を低減するガンマ補正方法、ガンマ補正装置及び画像読み取りシステムを提供することを目的とする。
【００１２】
【課題を解決するための手段】
請求項１に係るガンマ補正方法は、全入力値のうちの少なくともｕ（ｋ）＝ａ・ｂ−ｋ　（ただし、ａ、ｂは定数、ｋ＝０，１，２…ｍ）で表される入力値：ｕ（ｋ）に対応するアドレスに変換値が格納された第一テーブルと線形補間とを用いて画像データを変換する第一変換段階と、全入力値のうち少なくともｖ（ｋ）＝ｃｋ＋ｄ（ただし、ｃ、ｄは定数、ｋ＝０，１，２…ｎ）で表される入力値：ｖ（ｋ）に対応するアドレスに、前記第一変換段階で変換された画像データに応じて設定される変換値が格納された第二テーブルをメモリに格納する第二テーブル格納段階と、前記第一変換段階で変換された画像データを、前記第二テーブルと線形補間とを用いて変換する第二変換段階と、を含むことを特徴とする。
【００１３】
請求項２に係るガンマ補正装置は、全入力値のうち少なくともｕ（ｋ）＝ａ・ｂ−ｋ　（ただし、ａ、ｂは定数、ｋ＝０，１，２…ｍ）で表される入力値：ｕ（ｋ）に対応するアドレスに変換値が格納された第一テーブルを格納しているメモリと、前記第一テーブルと線形補間とを用いて画像データを変換する第一変換手段と、全入力値のうち少なくともｖ（ｋ）＝ｃｋ＋ｄ（ただし、ｃ、ｄは定数、ｋ＝０，１，２…ｑ）で表される入力値：ｖ（ｋ）に対し、前記第一変換手段により変換された画像データに応じて設定された変換値が格納された第二テーブルをメモリに格納する第二テーブル格納手段と、前記第一変換手段により変換された画像データを、前記第二テーブルと線形補間とを用いて変換する第二変換手段と、を備えることを特徴とする。
【００１４】
請求項１又は２に係る発明によると、第一テーブルは、入力値：ｘ（ｋ）＝ａ・ｂ−ｋ　に対する変換値を格納しているため、入力値が小さいほど相対的に小刻みに入力値に対する変換値を有し、入力値が大きいほど相対的に大刻みに入力値に対する変換値を有する。したがって、図２に示すように入力値が小さい範囲において入力値に対する変換値の変化の割合が大きく、入力値が大きい範囲において入力値に対する変換値の変化の割合が小さい変換特性でガンマ補正する場合、請求項１又は２に係る発明によると、第一テーブルの変換値の個数を小さくした場合の線形補間による補正誤差の増大を抑制できる。このため、第一テーブルの変換値の個数を小さくすることによる補正精度の低下を抑制しつつ、補正に用いる第一テーブルを格納するためのメモリの容量を低減することができる。
【００１５】
また、請求項１又は２に係る発明によると、第一テーブルを用いて変換した画像データを、第二テーブルを用いて再度変換する。したがって、第二テーブルの変換値を適宜設定することによって、第一テーブル及び第二テーブルで規定される変換特性を、図２に示す変換特性に限らず、所望の変換特性に設定できる。
【００１６】
さらに、第二テーブルは、入力値：ｖ（ｋ）＝ｃｋ＋ｄに対する変換値を格納しているため、第一テーブルを用いて変換した画像データを一様に変換することができる。したがって、第一テーブルの変換値の階調及び第二テーブルの変換値の個数を適宜設定することにより、２つのテーブルを用いた２段階の補正全体における補正精度の低下を抑制することができる。すなわち、請求項１又は２に係る発明によると、図２に示す変換特性に限らず、任意の変換特性で精度よくガンマ補正することができる。
【００１７】
さらに、請求項１又は２に係る発明によると、第一テーブルと第二テーブルを合成せずに各テーブルを都度参照して変換するため、第一テーブルと第二テーブルとを合成する処理に要する分の補正処理時間を短縮することができる。
【００１８】
また、請求項１又は２に係る発明によると、第一テーブルと第二テーブルを合成せずに各テーブルを都度参照して変換するため、ガンマ補正に用いるＬＵＴに必要とされるメモリ容量は、第一テーブルの容量と第二テーブルの容量の和になる。したがって、第一テーブルの容量と第二テーブルの容量をそれぞれ小さくすることにより、ガンマ補正に用いるＬＵＴに必要とされるメモリ容量が小さくなる。請求項１又は２に係る発明によると、第一テーブルの容量を小さくすることができるため、ガンマ補正に用いるＬＵＴに必要とされるメモリ容量を小さくすることができる。
【００１９】
請求項３に係る画像読み取りシステムは、光学像を走査し前記光学像を表す画像データを出力する走査部と、原稿の光学像を前記走査部に入力する光学系と、請求項２に記載のガンマ補正装置とを備えた画像読み取りシステムであって、前記走査部に低解像度の画像データを出力させ、前記走査部に出力させた低解像度の画像データを前記第一変換手段に変換させ、前記第一変換手段に変換させた低解像度の画像データに応じて前記第二テーブルの変換値を設定する設定手段と、前記走査部に高解像度の画像データを出力させ、前記走査部に出力させた高解像度の画像データを前記第一変換手段及び前記第二変換手段により変換させる変換手段と、をさらに備えることを特徴とする。
【００２０】
請求項３に係る画像読み取りシステムによると、低解像度の画像データに応じて第二テーブルを設定し、高解像度の画像データを第一テーブルと第二テーブルとを用いてガンマ補正するため、原稿に応じた適切な変換特性のガンマ補正が施された高解像度の画像データを出力することができる。
【００２１】
【発明の実施の形態】
以下、図面に基づいて本発明の実施の形態を示す実施例について説明する。
図３は、本発明の一実施例による画像読み取りシステムを示すブロック図である。本実施例による画像読み取りシステムは、互いにＵＳＢ（Ｕｎｉｖｅｒｓａｌ　ＳｅｒｉａｌＢｕｓ）等のインタフェース３４で接続されたスキャナ１０及びＰＣ３６で構成されている。
【００２２】
はじめにＰＣ３６の構成について説明する。
ＣＰＵ４０は、ＲＯＭ３８及びハードディスク装置４４に格納されたプログラムを実行し、ＰＣ３６の各部を制御する他、ハードディスク装置４４に格納されたＴＷＡＩＮドライバを実行してスキャナ１０を制御する。ＴＷＡＩＮドライバは、ＰＣ３６を設定手段及び変換手段の一部として機能させる。ＲＯＭ３８は、ＣＰＵ４０が動作するために最低限必要なプログラムやデータを予め格納しているメモリである。ＲＡＭ４２は、各種プログラムや各種データを一時的に格納するメモリである。ハードディスク装置４４には、オペレーティングシステム、ＴＷＡＩＮドライバ等の各種のプログラムやデータが予め記憶されている。操作部４８は、マウス等のポインティングデバイスやキーボード等を備え、ユーザが画像の読み取りを指示するためのものである。表示部４６は、ドットマトリクス表示のディスプレイ、制御回路、ＶＲＡＭ（Ｖｉｄｅｏ　ＲＡＭ）などで構成され、スキャナ１０から入力された画像を表示する。
【００２３】
次にスキャナ１０の構成について説明する。
光源１２は、蛍光管ランプ等の管照明装置から構成され、原稿を照射する。光学系１４は、ミラー及びレンズで構成されている。光学系１４は、光源１２に照射された原稿の反射光像をイメージセンサ１６に縮小して結像させる。光源１２及び光学系１４は請求項に記載の光学系に相当する。
【００２４】
イメージセンサ１６及びＡＦＥ部１８は、請求項に記載の走査部に相当する。イメージセンサ１６は、光学系１４により結像される走査線上の光学像を走査し、その光学像の濃淡に相関する電気信号を出力する。イメージセンサ１６は、可視光、赤外光、紫外光等、所定の波長領域の光を光電変換して得られる電荷をフォトダイオード等の受光素子に一定時間蓄積し、受光素子ごとの受光量に応じた電気信号をＣＣＤ（Ｃｈａｒｇｅ　Ｃｏｕｐｌｅｄ　Ｄｅｖｉｃｅ）、ＭＯＳトランジスタスイッチ等を用いて出力する。
【００２５】
ＡＦＥ（Ａｎａｌｏｇ　Ｆｒｏｎｔ　Ｅｎｄ）部１８は、アナログ信号処理部、Ａ／Ｄ変換器等から構成される。アナログ信号処理部は、イメージセンサ１６から出力された電気信号に対して増幅、雑音低減処理等のアナログ信号処理を施して出力する。Ａ／Ｄ変換器は、アナログ信号処理部から出力された電気信号を１６ビットのディジタル表現の信号に量子化して出力する。
【００２６】
設定手段及び制御手段として機能する制御部３２は、ＲＯＭ３０、ＣＰＵ２８、ＲＡＭ２６等を備え、スキャナ１０の各部を制御する。ＲＯＭ３０は、ＣＰＵ２８で実行されるファームウェアやデータを予め格納しているメモリである。ファームウェアは制御部３２を設定手段及び変換手段の一部として機能させる。後述する第一テーブル５４はＲＯＭ３０に予め格納されている。ＲＡＭ２６は、各種プログラムや各種データを一時的に格納するメモリである。
【００２７】
ディジタル画像処理部２０は、ガンマ補正装置としてのガンマ補正部２２、シェーディング補正部２４等を備えるＡＳＩＣである。ディジタル画像処理部２０は、ＡＦＥ部１８から出力される信号に対し、ガンマ補正、画素補間法による欠陥画素の補間、シェーディング補正、画像信号の鮮鋭化等の処理を行って画像データを作成する。尚、ディジタル画像処理部２０で施す上記各種の処理は、制御部３２で実行するコンピュータプログラムによる処理に置き換えてもよい。
【００２８】
図４は、ガンマ補正部２２を示すブロック図である。図１は、ガンマ補正部２２の処理内容を示す説明図である。
第一変換部５０は、ＡＦＥ部１８から出力される１６ビット階調のデータ：ｘを、ＳＲＡＭ５２に格納された第一テーブル５４と線形補間とを用いて所定の特性で変換し、１６ビット階調の第一変換データ：Ｆ（ｘ）を生成する。尚、第一テーブル５４は、制御部３２のＲＯＭ３０に格納されているデータを起動時にＳＲＡＭ５２の所定のアドレス空間に格納したものである。また、カラー入力の場合、ＲＧＢ各色毎に異なる第一テーブル５４が必要になる。また、ＳＲＡＭ５２は、ガンマ補正部２２を構成するＡＳＩＣと同一基板上に形成されていてもよいし、そのＡＳＩＣに外付けされていてもよい。
【００２９】
第一テーブル５４には、２ｓ・ｂ−ｋ（ただし、ｓは入力値のビット数とし、ｋ＝０，１，２…ｍとし、ｍ＋１は第一テーブルの語数とする。）で表される入力値：ｘに対応する１２８個のアドレスに１６ビット階調の変換値が格納されている。尚、変換値の階調及び個数はこれらの数に限られるものではなく、ＡＦＥ部１８の出力階調、要求される補正精度等に応じて適宜設定できるものであり、例えば変換値の個数は６４個、２０８個、２５６個などに設定でき、変換値の階調は８ビット、１２ビットなどに設定できる。第一テーブル５４の変換値の個数を１２８とし、変換値の階調を１６ビットとすると、１２８個の変換値には、２０４８ビット（１２８×１６＝２１１）のＳＲＡＭ５２の容量が割り当てられる。第一テーブル５４には、前述の入力値：ｘに対応する１２８個のアドレスに、入力値：ｘとの間に前述の（数１）の相関を有する１６ビット階調の変換値ｆ（ｘ）が格納されている。γは、図２に示すように入力値が小さい範囲において入力値に対する変換値の変化の割合が大きく、入力値が大きい範囲において入力値に対する変換値の変化の割合が小さい変換特性になるものが望ましく、具体的には例えばγ≒１．８であることが望ましい。図１（Ａ）では、入力値Ａ〜Ｆに対応するアドレスにｆ（Ａ）〜ｆ（Ｆ）の変換値が格納されていることを示している。
【００３０】
第一変換部５０は、次式（数２）で表すＦ（ｘ）を次のように求める。
【数２】
2004118432.tif 000004
（ただし、ｓは入力値のビット数とし、ｂは２ｓ・ｂ−ｔ＝１を満たす定数とし、ｔ＋１は第一テーブルの変換値の個数とする。）
【００３１】
はじめに、ＡＦＥ部１８から出力される１６ビット階調のデータに基づいて、第一テーブル５４の連続する２つのアドレスを求める。すなわち、ＡＦＥ部１８から出力されるデータをｘとすると、次式を満たすｋに予め対応付けられたアドレスと、その次のアドレスを求める。
２ｓｂ−ｋ　≧ｘ＞２ｓｂ−（ｋ＋１）　
【００３２】
ここでｋに対応付けられているアドレスは、第一テーブル５４のアドレスに予め対応付けられている入力値のうち実際の入力値ｘを越える最も小さな入力値（図１（Ａ）ではＦに相当する。）に対応付けられているものである。また、ｋ＋１に対応付けられているアドレスは、第一テーブル５４のアドレスに予め対応付けられている入力値のうち実際の入力値ｘを越えない最も大きな入力値（図１（Ａ）ではＥに相当する。）に対応付けられているものである。図５は、入力値と第一テーブルのアドレスの対応付けを示す表である。尚、図５には１６ビット階調の入力値と２０８個の変換値が格納される第一テーブルとの対応付けを表している。
【００３３】
次に、先に求めた２つのアドレスを指定して第一テーブル５４から２つの変換値ｆ（２ｓｂ−ｋ　）（図１（Ａ）ではｆ（Ｆ）に相当する。）及びｆ（２ｓｂ−（ｋ＋１）　）（図１（Ａ）ではｆ（Ｅ）に相当する。）を演算用のレジスタに格納し、（数２）を満たすＦ（ｘ）を求めることによって、第一テーブル５４を線形補間する。これにより、入力値ｘに対応する１６ビット階調の第一変換データ：Ｆ（ｘ）が第一変換部５０から出力される。次式（数３）は、上記（数２）に図１（Ａ）に示した各値を代入した式である。
【数３】
2004118432.tif 000005
【００３４】
第二変換部５８は、第一変換部から出力される１６ビット階調のデータを、ＳＲＡＭ５２に格納された第二テーブル５６と線形補間とを用いて所定の特性で変換し、１６ビット階調の第二変換データを生成する。
【００３５】
第二テーブル５６は、スキャナ１０を制御するＰＣ３６で実行されるドライバプログラムによって求められる８ビット階調の最適化テーブルに基づいて、スキャナ１０の制御部３２がファームウェアを実行して生成しＳＲＡＭ５２に格納するものである。最適化テーブルは、ＴＷＡＩＮに準拠したドライバプログラムが低解像度の画像データに基づいて生成し、ＰＣ３６からスキャナ１０にダウンロードされるテーブルに相当する。また、カラー入力の場合、ＲＧＢ各色毎に異なる最適化テーブルが必要になる。最適化テーブルには、ｘ＝ｋ（ただし、ｋ＝０，１，２，・・・，２５５）に対応するアドレスに８ビット階調の変換値が格納されている。尚、最適化テーブルの変換値の個数及び階調はこれらに限定されるものではない。制御部３２は、ファームウェアを実行し、ＲＡＭ２６にロードされた８ビット変換値を１６ビットに変換し、１６ビット階調の変換値ｇ（ｘ）が格納された第二テーブル５６を生成する。この変換は、例えば最適化テーブルの変換値を２５７倍することによって行う。尚、第二テーブル５６の変換値の階調は１６ビットに限らず、スキャナ１０の基本解像度等に応じて適宜設定すればよい。第二テーブル５６の変換値の階調を１６ビットとし、変換値の個数を２５６個とすると、第二テーブル５６の変換値には、４０９６ビット（２５６×１６＝２１２）のＳＲＡＭ５２の容量が割り当てられる。
【００３６】
第二変換部５８は、次式（数４）で表すＧ（ｘ）を次のように求める。
【数４】
2004118432.tif 000006
（ただし、Ｆ（ｘ）は入力値（第一変換部の出力値）とし、ｕは入力値のビット数とし、２ｎ　は第二テーブルの変換値の個数とする。）
【００３７】
図１（Ｂ）及び図６は、第二変換部５８の処理内容を示す説明図である。
はじめに、第一変換部５０の出力結果が格納されるレジスタ６２の上位ｎビット（図１（Ｂ）及び図６ではｎ＝８）に基づいて第二テーブル５６の連続する２つのアドレスを求める。すなわち、レジスタ６２に格納されるデータをｘとすると、次式を満たすｋに予め対応付けられたアドレスと、その次のアドレスを求める（図１（Ｂ）及び図６ではｕ＝１６）。
２ｕ−ｎ　（ｋ＋１）≧ｘ＞２ｕ−ｎ　ｋ
【００３８】
次に、先に求めた２つのアドレスを指定して第二テーブル５６から２つの変換値ｇ（２ｕ−ｎ　ｋ）（図１（Ｂ）ではｇ（Ｅ）に相当する。）、ｇ（２ｕ−ｎ　（ｋ＋１））（図１（Ｂ）ではｇ（Ｆ）に相当する。）を演算用のレジスタに格納し、（数４）を満たすＧ（ｘ）を求めることによって第二テーブル５６を線形補間する。これにより、入力値ｘに対応する１６ビット階調の第二変換データ：Ｇ（ｘ）が第二変換部から出力される。次式（数５）は、上記（数４）に図１（Ｂ）に示した各値を代入した式である。
【数５】
2004118432.tif 000007
【００３９】
セレクタ６０は、第一変換部５０から出力される第一変換データ、又は、第二変換部５８から出力される第二変換データのいずれか一方をガンマ補正部２２の出力として選択する。具体的にはセレクタ６０は、低解像度で画像を入力するプレスキャン時には第一変換データをガンマ補正部２２の出力として選択し、プレスキャンに続いて高解像度で画像を入力する時には第二変換データをガンマ補正部２２の出力として選択する。
【００４０】
図７は、本実施例による画像読み取りシステムで画像を入力する処理の流れを示すシーケンスチャートである。
ＰＣ３６から所定のパラメータがスキャナ１０に送出され、原稿の読み取りが指示されると、スキャナ１０の制御部３２は、光源１２、イメージセンサ１６、ＡＦＥ部１８等を制御し、ディジタル画像処理部２０に低解像度の画像データを入力する（Ｓ１００）。
【００４１】
次に、スキャナ１０の制御部３２は、ディジタル画像処理部２０を制御し、低解像度の画像データ及び第一テーブル５４に基づいて生成した第一変換データ：Ｆ（ｘ）を第一変換部５０から出力させ、セレクタ６０に第一変換データ：Ｆ（ｘ）を選択させる。この結果、低解像度の画像データを変換して生成された第一変換データがガンマ補正部２２から出力される（Ｓ１０５）。
【００４２】
次に、スキャナ１０の制御部３２は、ディジタル画像処理部２０を制御し、第一変換データに対してシェーディング補正等を行わせ、その結果得られた低解像度画像データをインタフェース３４を通じてＰＣ３６に送出させる（Ｓ１１０）。
【００４３】
ＰＣ３６は、インタフェース３４を通じて入力された低解像度画像データをＲＡＭ４２に格納し、ＴＷＡＩＮに準拠したドライバプログラムの実行により、低解像度画像データに応じた最適化テーブル、すなわち、原稿に応じた最適化テーブルを生成する（Ｓ１１５）。ＴＷＡＩＮに準拠したドライバプログラムの場合、最適化テーブルには、２５６語のアドレス空間に８ビットの変換値が格納される。最終的にＰＣ３６に入力しようとする解像度より低い解像度の画像データに基づいて最適化テーブルを生成することにより、最適化テーブルを生成するために必要なデータ処理量を低減することができる。
【００４４】
次に、ＰＣ３６からインタフェースを通じて最適化テーブルがスキャナ１０に送出される（Ｓ１２０）。
【００４５】
スキャナ１０は、インタフェース３４を通じて入力された最適化テーブルを制御部３２のＲＡＭ２６に格納し、ファームウェアの実行により最適化テーブルの変換値を１６ビットに変換し、変換の結果得られる第二テーブルをディジタル画像処理部２０のＳＲＡＭ５２に格納する（Ｓ１２５）。
【００４６】
次に、スキャナ１０の制御部３２は、光源１２、イメージセンサ１６、ＡＦＥ部１８等を制御し、ディジタル画像処理部２０に高解像度の画像データを入力させる（Ｓ１３０）。
【００４７】
次に、スキャナ１０の制御部３２は、ディジタル画像処理部２０を制御し、高解像度の画像データ及び第一テーブル５４に基づいて第一変換データ：Ｆ（ｘ）を第一変換部５０から出力させ、さらに、第一変換データ及び第二テーブル５６に基づいて第二変換データ：Ｇ（ｘ）を第二変換部５８から出力させ、セレクタ６０に第二変換データ：Ｇ（ｘ）を選択させる。この結果、高解像度の画像データを変換して生成された第二変換データがガンマ補正部２２から出力される（Ｓ１３５）。
【００４８】
次に、スキャナ１０の制御部３２は、ディジタル画像処理部２０を制御し、第二変換データに対してシェーディング補正等を行わせ、その結果得られた高解像度画像データをインタフェース３４を通じてＰＣ３６に送出させる（Ｓ１４０）。
【００４９】
以下、上述の実施例について、ガンマ補正における理論補正値と実際の補正値との誤差を比較検証した結果について説明する。図８は、比較例として１６ビット階調の変換値を４０９６個格納したテーブルと線形補間とを用いて１６ビット階調の入力値を１６ビット階調の変換値にガンマ補正したときの補正値と理論補正値との誤差を示すグラフである。図９は、図８の一部を拡大表示したグラフである。図１０は、１６ビット階調の変換値を１２８個有する第一テーブル５４と、１６ビット階調の変換値を２５６個有する第二テーブル５６とを用いた本発明の一実施例により、１６ビット階調の入力値を１６ビット階調の変換値にガンマ補正したときの補正値と理論補正値との誤差を示すグラフである。図１１は、図１０の一部を拡大表示したグラフである。
【００５０】
図８〜図１１に示すように、本実施例における理論補正値と実際の補正値との誤差は、比較例と比べた場合、入力値が相対的に小さい範囲では誤差がかなり小さく、入力値が相対的に大きい範囲では誤差がやや大きく、全体としての誤差の増分はマイナスか或いは実質的に無視できる程度のプラスである。
【００５１】
一方、比較例と本実施例について、ガンマ補正に用いるテーブルのメモリ容量を比較すると、比較例では、６５５３６（＝１６×４０９６）ビットのメモリ容量を必要とするのに対し、本実施例では、６１４４（＝（１２８＋２５６）×１６）ビットのメモリ容量しか必要としない。
【００５２】
すなわち、本実施例によると、比較例に比べてガンマ補正の精度を実質的に同程度に維持しつつ、ガンマ補正に用いるテーブルのメモリ容量を１０分の１程度にまで低減することができる。
【００５３】
また、本実施例によると、第一テーブルと第二テーブルとを合成して新たなテーブルを作成しないため、その分だけガンマ補正に関するデータ処理量を低減することができる。
【００５４】
また、本実施例によると、第一テーブルを用いて変換した後に第二テーブルを用いた変換を実施するため、全体としての変換特性は第一テーブルの変換特性に縛られることなく、任意に設定することができる。
【００５５】
上述の実施例では、スキャナとＰＣを組み合わせた画像読み取りシステムに本発明を適用した例を説明したが、本発明は、複写機などの他の画像処理システムにも適用することができる。
【図面の簡単な説明】
【図１】本発明の一実施例に係るガンマ補正部の処理内容を示す説明図である。
【図２】（Ａ）はガンマ補正の変換特性の一例を示すグラフであり、（Ｂ）はその部分拡大図である。
【図３】本発明の一実施例による画像読み取りシステムを示すブロック図である。
【図４】本発明の一実施例に係るガンマ補正部を示すブロック図である。
【図５】本発明の一実施例に係る第一変換テーブルのアドレスと入力値との対応付けを示す表である。
【図６】本発明の一実施例に係る第二変換部の処理内容を示す説明図である。
【図７】本発明の一実施例による画像読み取りシステムで画像を入力する処理の流れを示すシーケンスチャートである。
【図８】１６ビット階調の変換値を４０９６個格納したテーブルと線形補間とを用いて１６ビット階調の入力値を１６ビット階調の変換値にガンマ補正したときの補正値と理論補正値との誤差を示すグラフである。
【図９】図８の一部を拡大表示したグラフである。
【図１０】１６ビット階調の変換値を１２８個有する第一テーブルと、１６ビット階調の変換値を２５６個有する第二テーブルとを用いた本発明の一実施例により、１６ビット階調の入力値を１６ビット階調の変換値にガンマ補正したときの補正値と理論補正値との誤差を示すグラフである。
【図１１】図１０の一部を拡大表示したグラフである。
【符号の説明】
１０　スキャナ
１２　光源（光学系）
１４　光学系（光学系）
１６　イメージセンサ（走査部）
１８　ＡＦＥ部（走査部）
２０　ディジタル画像処理部
２２　ガンマ補正部（ガンマ補正装置）
３２　制御部（設定手段、変換手段）
３６　ＰＣ（設定手段、変換手段）
５０　第一変換部
５２　ＳＲＡＭ
５４　第一テーブル
５６　第二テーブル
５８　第二変換部
６０　セレクタ
６２　レジスタ
【図１】
2004118432.tif 000008
【図２】
2004118432.tif 000009
【図３】
2004118432.tif 000010
【図４】
2004118432.tif 000011
【図５】
2004118432.tif 000012
【図６】
2004118432.tif 000013
【図７】
2004118432.tif 000014
【図８】
2004118432.tif 000015
【図９】
2004118432.tif 000016
【図１０】
2004118432.tif 000017
【図１１】
2004118432.tif 000018