原稿のカラー画像データを読み取る従来のカラー画像処理装置では、通常、図9に示すように、R(Red)、G(Green)、B(Blue)の3つのラインセンサからなるカラーラインセンサ91によって、原稿のカラー画像データを主走査ライン毎に読み取っている。このようにカラーラインセンサ91によって主走査ライン毎に読み取られたR成分、G成分、B成分の各色分解信号からなるカラー画像データは、R、G、Bの順で各ライン毎に出力され、R、G、Bの順でページメモリ92に一旦格納される。
ページメモリ92に格納されたカラー画像データは、例えばJPEG(Joint Photographic Experts Group)エンコーダ93によってJPEG方式で圧縮符号化処理され画像メモリ94に格納される。このJPEGエンコーダ93の圧縮符号化処理は、R、G、Bの3成分からなるカラー画像データに対して各色成分毎に行なわれるため、JPEGエンコーダ93には各色成分毎にカラー画像データを入力する必要がある。そこで、アドレス空間をRGB各色成分毎に異なるメモリブロックに分割したメモリ95を設け、ページメモリ92から読み出したカラー画像データをRGB各色成分毎にそれぞれ対応するメモリブロックに一旦格納し、各メモリブロック毎に、例えば8ライン(主走査ライン)ずつ色分解信号をJPEGエンコーダ93に出力して圧縮符号化処理を行なっている。
ところで、カラーラインセンサ91から出力されたカラー画像データを格納するページメモリ92のアドレス空間は、図3に示すように所定領域サイズASの領域に分割されており、各色分解信号はそれぞれ異なる領域に個別に格納される。具体的には、最初の領域にR成分の1ライン目の色分解信号が格納され、2番目の領域にG成分の1ライン目の色分解信号が格納され、3番目の領域にB成分の1ライン目の色分解信号が格納される。なお、図中のデータサイズDSは、各領域に格納される1ライン分の色分解信号のデータサイズを示しており、カラーラインセンサ91によって読み取られた色分解信号の主走査方向の画素数によって変化する。そして、1ライン目のデータが格納された後、2ライン目以降のデータについても同様に各領域にそれぞれ格納されるようになっている。
このようにしてページメモリ92に格納されたカラー画像データをメモリ95にDMA(Direct Memory Access)転送する場合、図外のDMAC(Direct Memory Access Controller)は、まず最初の領域の先頭アドレスからR成分の1ライン目の色分解信号を読み出した後、この最初の領域のデータが格納されていない部分(図中の余白サイズMSに相当する部分)を余白として読み飛ばすことにより2番目の領域の先頭を次の先頭アドレスとして指定し、G成分の1ライン目の色分解信号を読み出し、2番目の領域と同様に3番目の領域の先頭アドレスを指定してB成分の1ライン目の色分解信号を読み出す。そして、これらの一連の処理を以降のデータについて順次行なうことによってカラー画像データを各ライン毎にDMA転送していた。
ところで、上記カラーラインセンサ91を構成する3つのラインセンサは、所定のラインギャップを隔てて並設されており、カラーラインセンサ91からはそのラインギャップにより、RGB各色成分間の読取ラインにずれのある状態のカラー画像データが出力される。そのため、色成分間の位置ずれ補正を行なう必要がある。この位置ずれ補正を行なう装置としては、例えば特許文献1に開示されているカラー画像処理装置がある。
特許文献1のカラー画像処理装置は、図10に示すように、カラーラインセンサ91により読み取られたRGB各色分解信号からなるカラー画像データを、RGB各色成分間の読取ラインが同一となるよう色補正部96に出力するために、アドレス空間をRGB各色成分毎に異なるメモリブロックに分割したメモリ97にカラーラインセンサ91から出力されたカラー画像データの各色分解信号をRGB各色成分毎にそれぞれ対応するメモリブロックに一旦格納する。そして、各メモリブロックから色分解信号を読み出し転送する際、同一ラインを読み取ったRGB各色分解信号が読み出されるようアドレス制御を行ない、色成分間の位置ずれ補正したRGB各色分解信号を色補正部96に転送している。
特許文献1に開示されているカラー画像処理装置が行なう位置ずれ補正を図9に基づいて説明した上記従来のカラー画像装置に適用すると、メモリ95の各メモリブロックに格納した色分解信号をJPEGエンコーダ93に転送する際、同一ラインを読み取ったRGBの各色分解信号がメモリブロックから読み出されるようアドレス制御を行ない、RGB各色分解信号を各色成分毎にJPEGエンコーダ93に転送することにより色成分間の位置ずれ補正を行なうことができる。
特開平11−41479号公報
しかしながら、上記従来のカラー画像処理装置では、ページメモリ92に格納されたカラー画像データを各色成分毎にJPEGエンコーダ93に入力するために、上記のようにページメモリ92から読み出した色分解信号を各色成分毎にそれぞれ対応するメモリブロックに一旦格納してから転送していたため、複雑なアドレス制御を行なう必要があるとともに、転送効率が悪く転送に時間がかかるという問題があった。また、RGB3成分全てについて圧縮符号化処理に必要なライン分のカラー画像データがメモリ95に格納されるまで、例えば、R成分のカラー画像データをJPEGエンコーダ93に入力することができないというように、転送先が次の処理を行なうまで時間がかかるという問題があった。
また、特許文献1に開示されているカラー画像処理装置が行なう位置ずれ補正を適用した上記従来のカラー画像処理装置では、色成分間の位置ずれ補正を行なうために、ページメモリ92に格納されたカラー画像データをJPEGエンコーダ93に入力するために、ページメモリ92から読み出した色分解信号を各色成分毎にそれぞれ対応するメモリブロックに転送し一旦格納してから転送していたため、複雑なアドレス制御を行なう必要があるとともに、転送効率が悪く転送に時間がかかるという問題があった。
本発明は、かかる問題を解決すべくなされたものであり、読み取った原稿のカラー画像データを線順次でページメモリに一旦格納した後、カラー画像データを各色成分毎に所定の転送先に効率良く転送するカラー画像処理装置を提供することを目的とする。さらに、本発明は、各色成分間のラインギャップによる位置ずれ補正を行ない、カラー画像データを各色成分毎に前記ページメモリから所定の転送先に効率良く転送するカラー画像処理装置を提供することを目的とする。
上記目的を達成するために、請求項1に記載のカラー画像処理装置は、原稿の画像を主走査ライン毎に読み取って複数の色分解信号からなるカラー画像データを線順次で出力するカラー画像読取手段と、該カラー画像読取手段から出力されたカラー画像データの各色分解信号を出力された順に所定領域サイズに分割された領域にそれぞれ個別に当該領域の先頭アドレスから格納する格納手段と、指定された領域の先頭アドレスから当該領域の色分解信号を所定の転送先に転送する転送処理と、該転送処理を行なった領域の先頭アドレスに全色成分の1ライン分の領域サイズを加えて次の先頭アドレスを指定するアドレス指定処理と、を交互に繰返し行なって、カラー画像データの1成分の色分解信号を前記格納手段から前記所定の転送先に転送する転送手段と、前記格納手段において、前記転送手段が最初の転送処理を開始すべき色分解信号が格納された領域の先頭アドレスを色成分毎に指定する転送開始アドレス指定手段と、を備えることを特徴としている。
請求項2に記載のカラー画像処理装置は、請求項1に記載のカラー画像処理装置において、前記所定の転送先が、前記カラー画像データの1成分の色分解信号を主走査方向及び副走査方向に所定画素数単位のブロックに分割して各ブロック毎に圧縮符号化する圧縮符号化手段であることを特徴としている。
請求項3に記載のカラー画像処理装置は、請求項1または2に記載のカラー画像処理装置において、前記転送開始アドレス指定手段は、前記カラー画像読取手段が全ての色成分について色分解信号の読み取りを行なったラインから転送が開始されるように、前記転送手段が最初の転送処理を開始すべき色分解信号が格納された領域の先頭アドレスを色成分毎に指定することを特徴としている。
請求項1に記載のカラー画像処理装置によれば、転送手段は、カラー画像データの1成分の色分解信号を、格納手段に格納された順に所定の出力先に繰り返し転送するので、色分解信号を1ラインの各色成分毎にメモリに一旦格納する上記従来のカラー画像処理装置に比べて、上記メモリを備える必要がないとともに、複雑なアドレス制御を行なうことなく、カラー画像データを各色成分毎に所定の転送先に効率良く転送することができる。
請求項2に記載のカラー画像処理装置によれば、カラー画像データの1成分のみの色分解信号を圧縮符号化手段に転送するので、全色成分のカラー画像データがメモリに一旦格納されるまでカラー画像データの1成分を圧縮符号化手段に出力することができない上記従来のカラー画像処理装置に比べて、圧縮符号化手段が次の処理を行なうまでの時間を短くすることができる。
請求項3に記載のカラー画像処理装置によれば、転送手段は、カラー画像読取手段が全ての色成分について色分解信号の読み取りを行なったラインから転送を開始するので、ラインギャップによる位置ずれ補正を行なう上記従来のカラー画像処理装置に比べて、上記メモリを備える必要がないとともに、複雑なアドレス制御を行なうことなく、カラー画像データを各色成分毎に所定の転送先に効率良く転送することができる。
本発明の実施の形態に係るカラー画像処理装置について図面に基づき説明する。このカラー画像処理装置1は、図1に示すように、制御部(CPU:Central Processing Unit)10、カラー画像読取部11、画像処理部12、ページメモリ13、JPEG(Joint Photographic Experts Group)エンコーダ14、画像メモリ15、記録部16、操作部17、表示部18、ROM(Read Only Memory)19、RAM(Random Access Memory)20、DMAC(Direct Memory Access Controller)21、を備えたものであって、各部10乃至21は、バス22によって通信可能に接続されている。
制御部10は、これら各部11〜21の動作を制御する。カラー画像読取部11は、制御部10からの制御信号に基づいて、原稿の画像を主走査ライン毎に読み取って複数の色分解信号からなるカラー画像データを線順次で出力する。具体的には、R(Red)、G(Green)、B(Blue)の3つのラインセンサから構成されたカラーラインセンサ31により、原稿の画像を主走査ライン毎に読み取ってRGB各色成分の色分解信号からなるRGB表色系のカラー画像データをR、G、Bの順に線順次で所定の出力先に出力する。
ところで、カラーラインセンサ31を構成する3つのラインセンサは、図示しないが所定間隔を隔てて並設されている。そのため、カラー画像読取部11からは、色成分間で副走査方向の読取ラインにずれのある状態でRGB各色成分の色分解信号が出力される。例えば、図2に示すように、カラーラインセンサ31から最初に出力される1ライン目の色分解信号は、R成分は読取ラインL0で、G成分は読取ラインL2で、B成分は読取ラインL4で、それぞれ原稿を読み取っており、RGB各色成分間で読み取りを行なった読取ラインが異なる。なお、図中、例えば「R(R1−L0)」は、カラーラインセンサ31が原稿を読取ラインL0で読み取って1ライン目に出力したR成分の色分解信号を表している。
これにより、カラーラインセンサ31が同一の読取ラインを読み取ったRGB各色成分の色分解信号は、出力順序間にずれ(ラインギャップ)が生じてカラーラインセンサ31から出力される。例えば、図2において、読取ラインL4を読み取った色分解信号のRGB各色成分は、R成分は5ライン目に、G成分は3ライン目に、B成分は1ライン目に、カラーラインセンサ31からそれぞれ出力される。ここで、B成分を基準とすれば、R成分とB成分とを読取ラインL4で読み取って出力された色分解信号の出力順序は4ライン分異なり、R成分のB成分に対するラインギャップGRBは4となる。同様に、G成分のB成分に対するラインギャップGGBは2となる。
画像処理部12は、カラー画像読取部11から出力されたカラー画像データに所定の画像処理を行なう。具体的には、A/D変換、ゲイン調整、シェーディング補正等の画像処理を行なう。ページメモリ13は、画像処理部12にて画像処理が行なわれたカラー画像データを格納する。ページメモリ13のアドレス空間は、図3に示すように、所定領域サイズASの領域に分割されている。ページメモリ13に入力されたカラー画像データの各色分解信号は、それぞれ異なる領域に個別に線順次で各領域の先頭アドレスから格納される。具体的には、最初の領域にR成分の1ライン目の色分解信号が格納され、2番目の領域にG成分の1ライン目の色分解信号が格納され、3番目の領域にB成分の1ライン目の色分解信号が格納される。そして、1ライン目のデータが格納された後、2ライン目以降のデータについても同様に各領域にそれぞれ格納される。なお、領域サイズASは、任意に設定することが可能であるが、ページメモリ13に格納される1ライン1成分当たりの色分解信号を領域に全て格納することが可能なサイズ、即ちカラーラインセンサ31の1つのラインセンサの総画素数に相当するサイズ以上とすることが好ましい。また、データサイズDSは、各領域に格納される1ライン分の色分解信号のデータサイズであり、読み取ったカラー画像データの主走査方向の画素数に相当するサイズであり、読み取った原稿の幅等により変化する。
JPEGエンコーダ14は、カラー画像データを圧縮符号化する。JPEGエンコーダ14は、ページメモリ13から出力されたカラー画像データの1成分の色分解信号毎に、カラー画像データを主走査方向及び副走査方向に所定画素数単位、例えば8画素×8画素単位のブロックに分割して各ブロック毎にJPEG方式で圧縮符号化する。なお、16画素×16画素単位のブロックに分割して各ブロック毎にJPEG2000方式で圧縮符号化してもよい。画像メモリ15は、JPEGエンコーダ14にて圧縮符号化したカラー画像データなど各種画像データを格納する。
記録部16は、画像メモリ15に格納されたカラー画像データを所定の記録紙に記録する。操作部17は、カラー画像読取部11に原稿の読取開始を指示するためのスタートキー、コピー部数等を入力するためのテンキー、各種設定を行なうためのカーソルキーなどの各種操作キーを備えている。表示部18は、各種の設定状態やカラー画像読取装置1の動作状態などを文字や図形などで表示する液晶表示装置(LCD:Liquid Crystal Display)や、点灯または消灯で表示するLEDランプなどを備えている。
ROM19は、制御部10によりカラー画像処理装置1を構成する各部の動作を制御するための各種プログラムを記憶している。RAM20は、カラー画像処理装置1の処理動作に用いる設定情報や動作情報等の各種データを読み出し及び書き込み可能な状態で格納するメモリである。
DMAC21は、ページメモリ13に格納されたカラー画像データを所定の出力先にDMA(Direct Memory Access)転送する。DMAC21は、DMA転送する際の設定を格納するレジスタ32を備え、制御部10からの転送命令によって、レジスタ32に格納された設定に従って、ページメモリ13から色分解信号を読み出し、JPEGエンコーダ14に出力することにより、ページメモリ13に格納されたカラー画像データをJPEGエンコーダ14にDMA転送する。レジスタ32には、具体的には、1ライン分領域サイズLAS、前記データサイズDS、転送開始アドレスTAが格納される。ここで、1ライン分領域サイズLASは、図4に示すように、RGB全色成分の1ライン分の領域サイズ、即ち((領域サイズAS)×(色成分数=3))である。また、転送開始アドレスTAは、DMAC21が最初の転送処理を開始すべき色分解信号が格納されているページメモリ13の領域の先頭アドレスである。DMAC21は、指定された転送開始アドレスTAを最初の領域の先頭アドレスとして、指定された領域の先頭アドレスから当該領域のデータサイズDSの色分解信号をJPEGエンコーダ14に出力する転送処理と、該転送処理を行なった領域の先頭アドレスに1ライン分領域サイズLASを加えて次の先頭アドレスを指定するアドレス指定処理と、を交互に繰返し行なってカラー画像データの1成分の色分解信号をページメモリ13からJPEGエンコーダ14にDMA転送する。
転送開始アドレスTAは、RGB各色成分毎に、R成分転送開始アドレスTAR、G成分転送開始アドレスTAG、B成分転送開始アドレスTABを備える。前述したように、カラーラインセンサ31が同一の読取ラインを読み取ったRGB各色成分の色分解信号は、ラインギャップが生じてカラーラインセンサ31から出力される。そのため、例えば、図2において、読取ラインL0から読取ラインL3を読み取った色分解信号は、RGB全色成分が揃っていない。そこで、カラーラインセンサ31がRGB全色成分について色分解信号の最初に読み取りを行なった読取ラインから転送が開始されるように、R成分転送開始アドレスTAR、G成分転送開始アドレスTAG、B成分転送開始アドレスTABを定める。例えば、図2において、カラーラインセンサ31がRGB全色成分について色分解信号の最初に読み取りを行なった読取ラインは読取ラインL4であり、図5及び図6に示すように、この読取ラインL4から転送が開始されるように、R成分転送開始アドレスTAR、G成分転送開始アドレスTAG、B成分転送開始アドレスTABを定める。即ち、読取ラインL4でR成分について読み取った色分解信号は5ライン目にカラーラインセンサ31から出力され、この5ライン目に出力されたR成分の色分解信号が格納された領域の先頭アドレスをR成分転送開始アドレスTARとする。R成分転送開始アドレスTARは、((1ライン目のR成分の先頭アドレス)+(1ライン分領域サイズLAS)×(R成分のB成分に対するラインギャップGRB=4))として算出される。また、読取ラインL4でG成分について読み取った色分解信号は3ライン目にカラーラインセンサ31から出力され、この3ライン目に出力されたG成分の色分解信号が格納された領域の先頭アドレスをG成分転送開始アドレスTAGとする。G成分転送開始アドレスTAGは、((1ライン目のR成分の先頭アドレス)+(領域サイズAS)+(1ライン分領域サイズLAS)×(R成分のB成分に対するラインギャップGGB=2))として算出される。また、読取ラインL4でB成分について読み取った色分解信号は1ライン目にカラーラインセンサ31から出力され、この1ライン目に出力されたB成分の色分解信号が格納された領域の先頭アドレスをB成分転送開始アドレスTABとする。B成分転送開始アドレスTABは、((1ライン目のR成分の先頭アドレス)+(領域サイズAS)×2)として算出される。
以下、本実施形態に係るカラー画像処理装置1において、操作部17から原稿のカラー画像データを読み取る指示が入力された場合のカラー画像処理装置1の各部の処理動作について、図7に基づいて説明する。なお、このカラー画像処理装置1の各部における処理動作は、制御部10の制御命令に従って行なわれるものである。
操作部17から原稿の画像データを読み取る指示が入力されると、まず、制御部10は、カラー画像読取部11に原稿のカラー画像データを読み取らせる。カラー画像読取部11は、カラーラインセンサ31が原稿の画像を主走査ライン毎に読み取ったRGB各色成分の色分解信号からなるカラー画像データを、線順次で画像処理部12に出力する。画像処理部12は、カラー画像読取部11から入力されたRGB各色成分の色分解信号に所定の画像処理を行ない出力する。
画像処理部12で処理されたカラー画像データは、カラー画像読取部11から出力されたカラー画像データと同じ順序で出力され、線順次でページメモリ13に入力される。ページメモリ13は、入力されたカラー画像データを格納する。具体的には、ページメモリ13に格納された色分解信号は、図3に示すように、最初の領域に1ライン目のR成分が、2番目の領域に1ライン目のG成分が、3番目の領域に1ライン目のB成分が、4番目の領域に2ライン目のR成分が、5番目の領域に2ライン目のG成分が、などの順に、各領域にそれぞれ個別に、当該領域の先頭アドレスから格納される。制御部10は、前記データサイズDSをDMAC21のレジスタ32に格納する。
次に、制御部10は、レジスタ32に予め格納されているR成分転送開始アドレスTARを転送開始アドレスTAとして指定し、DMAC21にカラー画像データのR成分の色分解信号をJPEGエンコーダ14にDMA転送する転送命令を出力する。DMAC21は、R成分転送開始アドレスTARを最初に指定された領域の先頭アドレスとして、指定された領域の先頭アドレスからデータサイズDSの色分解信号をJPEGエンコーダ14に転送する転送処理と、1ライン分領域サイズLASを加えて次の先頭アドレスを指定するアドレス指定処理とを、交互に繰返し行なって、カラー画像データのR成分の色分解信号をJPEGエンコーダ14に転送する。これにより、ページメモリ13に格納されたR成分の色分解信号は、図8に示すように、5ライン目から順に、R成分の色分解信号が格納された各領域の先頭からデータサイズDSずつ、JPEGエンコーダ14に1連なりに転送される。このとき、図4に示すように、((1ライン分領域サイズLAS)−(データサイズDS))である余白サイズMS´に相当する部分に格納されているG成分及びB成分の色分解信号は読み飛ばされる。JPEGエンコーダ14に転送されたR成分のカラー画像データは、JPEGエンコーダ14によりJPEG方式で8画素×8画素のブロック毎に圧縮符号化が行なわれた後、画像メモリ15に格納される。
次に、制御部10は、レジスタ32に予め格納されているG成分転送開始アドレスTAGを転送開始アドレスTAとして指定し、DMAC21にカラー画像データのG成分の色分解信号をJPEGエンコーダ14にDMA転送する転送命令を出力する。DMAC21は、G成分転送開始アドレスTAGを最初に指定された領域の先頭アドレスとして、指定された領域の先頭アドレスからデータサイズDSの色分解信号をJPEGエンコーダ14に転送する転送処理と、1ライン分領域サイズLASを加えて次の先頭アドレスを指定するアドレス指定処理とを、交互に繰返し行なって、カラー画像データのG成分の色分解信号をJPEGエンコーダ14に転送する。これにより、ページメモリ13に格納されたG成分の色分解信号は、図8に示すように、3ライン目から順に、G成分の色分解信号が格納された各領域の先頭からデータサイズDSずつ、JPEGエンコーダ14に1連なりに転送される。このとき、図4に示すように、((1ライン分領域サイズLAS)−(データサイズDS))である余白サイズMS´に相当する部分に格納されているR成分及びB成分の色分解信号は読み飛ばされる。JPEGエンコーダ14に転送されたG成分のカラー画像データは、JPEGエンコーダ14によりJPEG方式で8画素×8画素のブロック毎に圧縮符号化が行なわれた後、画像メモリ15に格納される。
次に、制御部10は、レジスタ32に予め格納されているB成分転送開始アドレスTABを転送開始アドレスTAとして指定し、DMAC21にカラー画像データのB成分の色分解信号をJPEGエンコーダ14にDMA転送する転送命令を出力する。DMAC21は、B成分転送開始アドレスTABをを最初に指定された領域の先頭アドレスとして、指定された領域の先頭アドレスからデータサイズDSの色分解信号をJPEGエンコーダ14に転送する転送処理と、1ライン分領域サイズLASを加えて次の先頭アドレスを指定するアドレス指定処理とを、交互に繰返し行なって、カラー画像データのB成分の色分解信号をJPEGエンコーダ14に転送する。これにより、ページメモリ13に格納されたB成分の色分解信号は、図8に示すように、1ライン目から順に、B成分の色分解信号が格納された各領域の先頭からデータサイズDSずつ、JPEGエンコーダ14に1連なりに転送される。このとき、図4に示すように、((1ライン分領域サイズLAS)−(データサイズDS))である余白サイズMS´に相当する部分に格納されているR成分及びG成分の色分解信号は読み飛ばされる。JPEGエンコーダ14に転送されたB成分のカラー画像データは、JPEGエンコーダ14によりJPEG方式で8画素×8画素のブロック毎に圧縮符号化が行なわれた後、画像メモリ15に格納される。このように、ページメモリ13に格納された原稿1枚分に相当するRGB各色成分の色分解信号からなる全てのカラー画像データは各色成分毎に、JPEGエンコーダ14を介して、画像メモリ15に格納される。
なお、本実施の形態においては、RGB表色系のカラー画像データを読み取って、画像処理部12にておいて所定の画像処理を行ない、ページメモリ13に一旦格納し、JPEGエンコーダ14にカラー画像データをRGB各色成分毎に入力する場合について説明した。しかしながら、例えば、読み取ったRGB表色系のカラー画像データを、L*a*b*表色系やYCrCb表色系など他の表色系へ変換する色空間変換を画像処理部12にて行ない、ページメモリ13に他の表色系のカラー画像データが一旦格納される場合には、これら表色系の各色成分毎にJPEGエンコーダ14にカラー画像データを入力してもよい。また、本実施の形態においては、ラインギャップGRB,GGBが一定である場合について説明した。しかし、ラインギャップGRB,GGBは、カラーラインセンサ31を構成する3つのラインセンサが並設される並設間隔と、カラーラインセンサ31が原稿の画像を読み取る読取間隔とにより定まる。並設間隔はカラー画像処理装置1に固有の値であるが、カラーラインセンサ31が原稿の画像を読み取る読取間隔は設定可能であってもよく、この場合には、前記各RGB色成分の転送開始アドレスTAR,TAG,TABを、ラインギャップGRB,GGBに基づいて算出すればよい。