しかしながら、特許文献1では、画像データの解像度が考慮されておらず、設定された圧縮パラメータ(量子化係数)によっては、画像データの高周波成分が除去される場合がある。高周波成分が除去された場合、画像中の細かな模様及び小さな文字などの情報が欠落してしまい、過度な画質劣化を引き起こすことになる。図9は、解像度と周波数成分との関係について説明するための模式図であり、(a)は原稿、(b)は600dpiの解像度で読み取った画像データ、(c)は300dpiの解像度で読み取った画像データである。なお(b)と(c)は画素の大きさを統一して現している。原稿は、副走査方向に平行な複数のラインパターンである。この原稿をスキャナ等で読み取った場合、600dpiより300dpiで読み取った場合の方が、ラインパターンの周期(画素の間隔)が狭く、周波数成分が高くなっている。即ち、解像度が低くなるにつれて画像データの周波数特性は高周波数側に移行していく。そのため、低い解像度で読み取られた画像データを圧縮する際、高周波成分を過度に除去する圧縮パラメータ(量子化係数)を用いてしまうと、画像の情報自体が失われ、極端な画質劣化を引き起こすことになる。たとえば(c)であれば、ラインパターンがぼやけて消え去ってしまうといった劣化が起こる。また同様に、写真などの細かな模様や、文字の細部、小さな文字、などにおいても、読み取られる解像度が低くなればなるほど、圧縮時の情報欠落が激しくなり、過度な画質劣化を引き起こす。
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、画像の解像度に応じて適切な量子化係数を設定することにより、画像データの画質を劣化させず、画像データを圧縮して容量を小さくすることができる画像処理装置、画像読取装置、画像形成装置、画像処理装置を実現するコンピュータプログラム、コンピュータプログラムを記録した記録媒体、及び画像処理方法を提供することにある。
本発明に係る画像処理装置は、画像データを構成する各画素に所定の周波数変換を行って画素値を周波数係数に変換し、変換した周波数係数を量子化係数に基づいて量子化し、量子化して得られる量子化データを符号化することで、前記画像データを圧縮する画像処理装置において、画像データの解像度を、互いに略直交する二方向夫々について取得する取得手段と、該取得手段が取得した夫々の解像度の内、低い方の解像度に応じて量子化係数を設定する設定手段と、該設定手段が設定した量子化係数を用いて、前記画像データを圧縮する圧縮手段とを特徴とする。
本発明に係る画像処理装置は、異なる複数の量子化係数を解像度に対応付けて記憶する量子化係数記憶手段をさらに備え、前記設定手段は、前記取得手段が取得した解像度に基づいて、前記量子化係数記憶手段から抽出した量子化係数を設定するようにしてあることを特徴とする。
本発明に係る画像処理装置は、前記設定手段は、所定の演算式を用いて量子化係数を設定するようにしてあることを特徴とする。
本発明に係る画像処理装置は、前記設定手段は、解像度の高,低に対応して量子化係数を大,小に設定するようにしてあることを特徴とする。
本発明に係る画像処理装置は、前記設定手段は、前記取得手段が取得した解像度が所定値より低い場合、量子化係数を1に設定するようにしてあることを特徴とする。
本発明に係る画像読取装置は、原稿を走査して読み取り画像データを生成する読取手段と、本発明の画像処理装置とを備えることを特徴とする。
本発明に係る画像読取装置は、前記読取手段は、走査する速度を変更可能に構成してあることを特徴とする。
本発明に係る画像形成装置は、本発明の画像処理装置と、前記圧縮手段が圧縮した画像データを記憶する画像データ記憶手段と、該画像データ記憶手段に記憶された画像データを伸張する伸張手段と、前記伸張手段が伸張した画像データを出力する出力手段とを備えることを特徴とする。
本発明に係る画像形成装置は、原稿を走査して読み取り画像データを生成する読取手段を備え、前記読取手段は、走査する速度を変更可能に構成してあることを特徴とする。
本発明に係るコンピュータプログラムは、コンピュータに、画像データを構成する各画素に所定の周波数変換を行って画素値を周波数係数に変換させ、変換させた周波数係数を量子化係数に基づいて量子化し、量子化して得られる量子化データを符号化させることで、前記画像データを圧縮させるコンピュータプログラムにおいて、前記コンピュータを、画像データの解像度を、互いに略直交する二方向夫々について取得する取得手段と、取得した夫々の解像度の内、低い方の解像度に応じて量子化係数を設定する設定手段、及び、該設定手段が設定した量子化係数を用いて、前記画像データを圧縮する圧縮手段として機能させることを特徴とする。
本発明に係る記録媒体は、本発明に係るコンピュータプログラムが記録されていることを特徴とする。
本発明に係る画像処理方法は、画像データを構成する各画素に所定の周波数変換を行って画素値を周波数係数に変換し、変換した周波数係数を量子化係数に基づいて量子化し、量子化して得られる量子化データを符号化することで、前記画像データを圧縮する画像処理方法において、画像データの解像度を、互いに略直交する二方向夫々について取得するステップと、取得した夫々の解像度の内、低い方の解像度に応じて量子化係数を設定するステップと、設定した量子化係数を用いて、前記画像データを圧縮するステップとを備えることを特徴とする。
本発明によれば、画像データを圧縮する際、画像データの解像度に応じた量子化係数を用いて圧縮を行う。そのため、どのような解像度の画像データに対しても、良好な画質の維持とデータ量の削減とのバランスを最適に保ちながら圧縮することが可能な画像処理装置を提供することができる。特に、画像データにおける文字の判読性や細かな模様の視認性などといった画質の維持と、データ量の削減(すなわち圧縮率の維持)との両立を図ることが可能となる。
また本発明では、画像データの互いに略直交する二方向夫々の解像度を取得し、低い方の解像度に基づいて量子化係数を設定する。そのため、両方向の解像度が異なる場合であっても、低い方の解像度に合わせた最適な設定で画像データを圧縮することができ、小さな文字や細かな模様などの情報が欠落するといった画質劣化を的確に防ぐことが可能な画像処理装置を提供することができる。
また本発明によれば、異なる複数の量子化係数を解像度に対応付けて記憶しておき、画像データの解像度に基づいてそれに対応した量子化係数を抽出して設定する。そのため、さまざまな解像度の画像データに対してそれぞれ最適な画質が得られるよう調整された量子化係数を予め保持しておくことができ、それを用いて画像データを圧縮することにより、常に良好な画質を得ることが可能な画像処理装置を提供することができる。
また本発明によれば、演算式を用いて量子化係数を設定する。そのため、予め複数の量子化係数を準備し保持しておく必要がなく、画像データの解像度に応じて自動的に最適な量子化係数を算出して設定することが可能な画像処理装置を提供することができる。またこれにより、画像データの解像度に応じて滑らかに量子化係数を変化させることができるため、解像度の少しの違いにより量子化係数が大きく切り替わって画質が急激に変化してしまうといった好ましくない現象を防ぐことができる。
また本発明によれば、解像度が低く(又は高く)なるにつれ、量子化係数を小さく(又は大きく)設定する。そのため、解像度が低い画像データに対しては、細かく量子化を行うことで画像データの画質を維持するような圧縮を行い、解像度が高い画像データに対しては、粗く量子化を行うことで画像データのデータ量を大幅に削減するような圧縮を行うことが可能な画像処理装置を提供することができる。またこれにより、画像データにおける文字の判読性や細かな模様の視認性などの画質の維持と、データ量の削減(すなわち圧縮率の維持)との両立を図ることができる。
また本発明によれば、解像度が所定値よりも低い場合、量子化係数を1に設定する。そのため、解像度が極端に低い画像データに対して、小さな文字や細かな模様などの情報の欠落を最大限に防ぎ、良好な画質の維持を図ることが可能な画像処理装置を提供することができる。
また本発明によれば、原稿を走査して読み取った画像データに対して、画像データの解像度に応じた適切な量子化係数を設定し、それを用いて画像データを圧縮することができる。そのため、良好な画質で、かつ、データ量の小さい画像データを得ることが可能な画像読取装置を提供することができる。
また本発明によれば、原稿を走査する速度が可変である。そのため、原稿の走査速度に応じて読み取られる画像データの解像度(特に副走査方向の解像度)が変わる場合であっても、常に適切な量子化係数を用いて画像データを圧縮することが可能な画像読取装置を提供することができる。
また本発明によれば、画像データの解像度に応じて適切な量子化係数を設定し、それを用いて画像データを圧縮したのち記憶し、さらに、記憶された画像データを伸張して出力する。そのため、どのような解像度の画像データに対しても、良好な画質を保ったままデータ量を削減して記憶することが可能で、さらに、圧縮による画質劣化の少ない良好な出力画像を得ることが可能な画像形成装置を提供することができる。またこれにより、データ量の大きな画像データに代わって、適切な画質で圧縮された画像データを記憶しておくことができるため、画像データの記憶に必要な容量が削減でき、さらに、画像データの書込みや読出しなどに必要な伝送時間を短縮することができる。
また本発明によれば、原稿を走査して読み取った画像データに対して、常に適切な量子化係数を設定し、それを用いて画像データを圧縮したのち記憶し、さらに、記憶された画像データを伸張して出力する。そのため、原稿を走査することによってさまざまな解像度で読み取られた画像データに対しても、常に良好な画質を維持したままデータ量を削減して記憶することが可能で、さらに、圧縮による画質の劣化が少ない良好な出力画像を得ることが可能な画像形成装置を提供することができる。
また本発明によれば、コンピュータによって前記画像処理装置を実現することができる。
また本発明によれば、パーソナルコンピュータなどの汎用のコンピュータにCD−ROM(Compact Disc−Read Only Memory)などの記録媒体を介して、あるいはネットワークからのダウンロードによりプログラムを読み込ませて、画像データに対し解像度に応じた適切な圧縮を施すことが可能となる。また、DSP(Digital Signal Processor)などでソフト処理を行うデジタル複写機や複合機に対しても同様に、フラッシュメモリや書き換え可能な記録媒体にプログラムを読み込ませて、画像データに対し解像度に応じた適切な圧縮処理を施すことが可能となる。
以下、本発明を好適な実施形態を示す図面に基づいて詳述する。
(実施形態1)
図1は、本発明に係る画像処理装置である圧縮装置とそれを備える画像読取装置との構成を示すブロック図である。本実施形態に係る画像読取装置は、画像入力装置1、圧縮装置2、インターフェース3を備えており、本実施形態に係る圧縮装置2は、画像入力装置1及びインターフェース3の間に配設され、それぞれに接続されている。なお、画像読取装置の動作については、CPUなどのコントローラー(不図示)が使用者の指示に則り制御するものとする。
画像入力装置1は、読取素子を一方向(以下、主走査方向と言う)に並べたCCDラインセンサ(読取手段)1aを備えるスキャナ(又はデジタルカメラ)であって、画像入力装置1にセットされた原稿から画像データを読み取る。例えば、画像入力装置1は、図示しない光源から画像入力装置1にセットされた原稿に対して光を照射し、主走査方向に直交する方向(以下、副走査方向と言う)に相対移動させたCCDラインセンサ1aにより原稿から反射した反射光を受光し、反射光を赤(R)、緑(G)、青(B)に色分解された電気信号(以下、RGBアナログ信号と言う)に変換する。画像入力装置1は、電気信号を圧縮装置2に出力する。
この場合、主走査方向の解像度は、CCDラインセンサ1aの受光素子の数によって決まり、例えば1インチあたり600個の受光素子が配置されていれば、主走査方向の解像度は600dpiとなる。一方、副走査方向の解像度は、CCDラインセンサ1aの移動速度によって決まる。例えば、一定の基準速度で移動しながら1ライン毎に0.0423mmの間隔で読み取るようタイミング調整されていれば、副走査方向の解像度は600dpiとなる。これに対して、基準速度の2倍の速さで移動させれば、1ライン毎の読み取り間隔は2倍の長さ(0.0846mm)になるため、副走査方向の解像度は300dpiとなる。逆に、基準速度の1/2倍の速さで移動させれば、1ライン毎の読み取り間隔は1/2倍の長さ(0.0212mm)になるため、副走査方向の解像度は1200dpiとなる。このように、一般的なスキャナでは、CCDラインセンサの移動速度を速くすると副走査方向の解像度は低く(読み取り間隔は粗く)なり、遅くすると解像度は高く(読み取り間隔は細かく)なる。なお、移動速度は前記コントローラーが制御するものとし、コントローラーは、使用者に指示された解像度に応じて移動速度を変更する。たとえば、使用者は画像入力装置1の原稿設置台(不図示)に原稿を置き、操作ボタン(不図示)を操作することで、原稿を読み取る動作を指示し、さらにどのような解像度(または基準解像度に対する変倍率であってもよい)で読み取るのかを指示する。そしてコントローラーは、使用者が指示した解像度に応じてCCDラインセンサの移動速度を決定し、決定した移動速度で原稿の読み取りを行うよう画像入力装置1を動作させる。
インターフェース3は、例えばI/Oポートであって図示しないパーソナルコンピュータ(以下、パソコンと言う)等が接続されている。インターフェース3は、圧縮装置2においてJPEG圧縮処理が行われた画像データを、接続されたパソコンへ転送する。パソコンは、ディスプレイ又はプリンタ等の出力装置を有しており、圧縮装置2でJPEG圧縮された画像データは、出力装置から出力される。
圧縮装置2は、A/D変換部20、シェーディング補正部21、入力処理部22、JPEG圧縮部(圧縮手段)23、解像度取得部(取得手段)24、及びパラメータ設定部(設定手段)25等を備える。また、圧縮装置2は、フラッシュメモリ及びEPROM(Erasable Programmable ROM)の記憶部(量子化係数記憶手段)27を備え、記憶部27に複数の量子化テーブルを有する量子化テーブルデータベース(以下、量子化テーブルDBと言う)26が予め格納されている。
A/D変換部20は、画像入力装置1から入力されたRGBアナログ信号をデジタル信号(以下、RGB信号と言う)に変換する。シェーディング補正部21は、A/D変換部20において変換されたRGB信号から歪みを取り除く。RGB信号に含まれる歪みとは、例えば、画像データを読み取る際に原稿に照射する光により発生する照明ムラである。入力処理部22は、シェーディング補正部21において歪みが除去されたRGB信号のそれぞれに対してガンマ補正を行う。ガンマ補正とは、出力画像が所望の階調となるよう、画像データに対して階調の補正を行う処理である。
解像度取得部24は、前記コントローラー(不図示)から、原稿を読み取った際の主走査方向、及び副走査方向の解像度の情報を取得し、取得した解像度をパラメータ設定部25へ出力する。
ここでは、圧縮装置2に入力する画像データとして、CCDラインセンサ1aを有したスキャナで読み取った画像データを取り上げているが、それ以外の例として、デジタルカメラで読み取った画像データを入力してもよいし、さらに別の例として、ネットワークを介してダウンロードした画像データを入力してもよい。デジタルカメラから画像データを取り込む場合、カメラの有効画素数(1024×768画素、800×600画素等)の情報を用いて、有効画素数を解像度とみなして取り扱う。例えば、1024×768dpi、800×600dpiのように、有効画素数をそのまま解像度の単位に置き換えてもよいし、所定の演算を行って解像度の単位に置き換えてもよい。また、ダウンロードした画像データを取り込む場合は、画像データのヘッダ等に書き込まれた解像度の情報を用いる。例えば、TIFF(Tagged Image File Format)形式の画像データの場合、ヘッダに主走査方向及び副走査方向の解像度がそれぞれ書き込まれてあるので、その解像度の情報をそのまま利用することが可能である。また、TIFF形式の画像データをビットマップ形式に変換した後、圧縮装置2に入力すればよい。なお、これらの例に関しても、装置全体の動作の制御はコントローラー(不図示)が行うものとし、解像度取得部24は、解像度の情報をコントローラーから取得するものとする。
パラメータ設定部25は、解像度取得部24が取得した解像度に応じて最適な量子化テーブルを、量子化テーブルDB26から抽出する。なお、パラメータ設定部25は、副走査方向の解像度、又は、主走査方向及び副走査方向の解像度のうち粗い(低い)方の解像度に応じた量子化テーブルを、後述の設定テーブルを用いて抽出する。上述のようにCCDラインセンサ1aによる走査速度を変更することで、副走査方向の解像度を変更することができ、主走査方向の解像度が一定であるような場合、副走査方向の解像度を基準に量子化テーブルを抽出することで、入力解像度の変更に応じた適切な量子化テーブルを設定することができる。また、主走査方向と副走査方向の解像度のうち、低いほうの解像度を基準に量子化テーブルを抽出すれば、小さな文字や写真の中の細かな模様などの情報が欠落するといった画質劣化を、より的確に防ぐ量子化テーブルを設定することができる。この結果、良好な画質の維持と圧縮率の向上とを両立することができる。パラメータ設定部25は、量子化テーブルDB26から抽出した量子化テーブルをJPEG圧縮部23に設定する。
JPEG圧縮部23は、パラメータ設定部25により設定された量子化テーブルを用いて、RGB信号を符号化する。
図2は、JPEG圧縮部23の構成を示すブロック図である。JPEG圧縮部23は、色空間変換部231、サンプリング部232、DCT変換部233、量子化部234、ハフマン符号化部235、及び、ヘッダ情報生成部236等を有している。
色空間変換部231は、RGB信号をYCbCr信号(Y:輝度信号、Cb:青方向の色相信号、Cr:赤方向の色相信号)に変換する。サンプリング部232は、色空間変換部231が変換したYCbCr信号のうち色相信号に対して所定のサンプリング比(例えば、4(Y):4(Cb):4(Cr))に応じて画素を間引く処理を行う。さらに、YCbCr信号それぞれについて、水平方向に8要素、垂直方向に8要素の8行8列の画素から構成されるブロックに分割する。
DCT変換部233は、サンプリング部232が分割したブロック単位にDCT変換を行い、各ブロックを周波数成分の係数である周波数係数に変換する。なお、8行8列の整数値において、1行1列目のデータが基準データとなるDC成分(直流成分)、その他のデータがAC成分(交流成分)を示している。量子化部234は、DCT変換部233で得られた8行8列の周波数係数の各要素を、パラメータ設定部25により設定された量子化テーブルを用いて量子化する処理を行う。後に詳述するが、量子化テーブルは、輝度信号用と色相信号用との2種類のテーブルを有しており、各テーブルは8行8列の計64個の整数値(以下、量子化係数と言う)で表される。量子化部234は、DCT後の8行8列の周波数係数の各要素を量子化テーブルの対応する各要素で除算することで量子化する。
ハフマン符号化部235は、量子化部234において量子化されたYCbCr信号(量子化データ)を、一列に並べ直し、所定のハフマン符号テーブルに基づいて符号化処理を行い、符号データを生成する。ハフマン符号テーブルの値は、特に制限するものではなく、一般的に広く用いられている値を用いるものとする。ヘッダ情報生成部236は、ハフマン符号化部235で符号化された符号データの先頭に、画像データ単位(原稿1ページ単位)に生成したヘッダ情報を付加する。これにより、画像データの規格に準拠した形式のJPEGコードが出力される。なお、ヘッダ情報には画像データの幅及び高さ、圧縮時に用いた量子化テーブル、ハフマン符号化テーブル、並びにサンプリング比等の情報が規定のマーカー記号で区分けされ記述される。ヘッダ情報生成部236が出力したJPEGコードは、インターフェース3に接続されたパソコン等へ転送される。
図3及び図4は、量子化テーブルを模式的に示す図である。
量子化テーブルは、輝度信号用と色相信号用との2種類のテーブルを有しており、各テーブルは8行8列の計64個の量子化係数で表される。量子化テーブルは、8行8列の左上(1行1列目)をDC成分の周波数係数に対する量子化係数、右下に向かって水平方向及び垂直方向共に高周波成分の周波数係数に対する量子化係数を有する。量子化テーブルは、複数で量子化テーブルDB26を構成し、記憶部27に予め複数種類記憶されている。そして、量子化テーブルDB26から解像度に応じた量子化テーブルが抽出される。本実施形態では、量子化テーブルDB26には、各周波数係数に対応する量子化係数が異なるセットAからセットEまでの量子化テーブル、及び、量子化係数が全て「1」の量子化テーブルが記憶されている。なお、セットAからセットEまでの量子化テーブルは、それぞれ所定の解像度の画像データを圧縮した際に最適な画質と圧縮率が得られるよう予め調整されたものである。このように、さまざまな解像度の画像データに対してそれぞれ最適な画質が得られるよう調整された量子化係数を予め保持しておき、それを用いて画像データを圧縮することにより、常に良好な画質を得ることができる。
図5は、量子化テーブルを設定する際に用いられる設定テーブルを模式的に示す図である。
図5に示す設定テーブルは、解像度R[dpi]と、量子化テーブルとが対応付けられている。例えば、解像度が400[dpi]の場合、セットBの量子化テーブルが設定される。また、解像度が300[dpi]より小さい場合、全て「1」の量子化係数をもつ量子化テーブルが設定される。図5の設定テーブルでは、解像度が粗く(低く)なるにつれ、量子化係数が小さい量子化テーブルが設定されるようになっている。そのため、解像度が低い画像データに対しては、細かく量子化を行うことで画像データの画質を維持するような圧縮を行い、解像度が高い画像データに対しては、粗く量子化を行うことで画像データのデータ量を大幅に削減するような圧縮を行うことができる。またこれにより、画像データにおける文字の判読性や細かな模様の視認性などの画質の維持と、データ量の削減(すなわち圧縮率の維持)との両立を図ることができる。また、解像度が所定値(300[dpi])より小さい場合には、全て「1」の量子化係数をもつ量子化テーブルが設定される。そのため、解像度が極端に低い画像データを圧縮する場合であっても、高周波成分の情報の欠落を最大限に防ぐことができ、小さな文字や細かな模様などの再現性を十分に維持した良好な画質を得ることができる。例えば、原稿に小さい文字を含んでいる場合、低い解像度で読み取ると鮮明な画像データが得られず、さらにそのような画像データに対して、高周波成分の情報を大幅に欠落させるような量子化テーブル(すなわち量子化係数が大きい量子化テーブル)を用いて圧縮を行うと、出力画像の文字の判読性が極端に失われてしまう。文字に限らず、原稿に細かな模様がある写真などを含んでいる場合も、模様の視認性が極端に失われてしまう。そのため、解像度が低い場合は、量子化係数が小さい量子化テーブルを設定することにより、高周波成分の情報の欠落を抑制することができ、出力画像の文字の判読性や模様の視認性といった画質を維持することができる。また、解像度が極端に低い場合は、最も情報の欠落が少ない量子化テーブル(すなわち量子化係数がすべて1の量子化テーブル)を設定することにより、出力画像の文字の判読性や模様の視認性が失われるといった画質劣化を最大限に抑制することができる。なお、量子化係数が1の量子化テーブルを設定する解像度、及び各量子化テーブルを設定する解像度は、例えば、細かな文字の判読性が保てる限界(文字が読めるか否か)を見極めて決定することができる。一方、高い解像度で読み取る場合は、鮮明な画像データが得られるため、高周波成分の情報を欠落させるような圧縮を行っても、文字の判読性や模様の視認性はほとんど失われない。そのため、量子化係数が大きい量子化テーブルを設定することにより、圧縮率の向上を実現することができる。
なお、本実施形態では、予め設定された量子化テーブルを、フラッシュメモリ及びEPROM等の記憶部27に記憶しているが、取得した解像度と所定の演算式とを用いて量子化テーブルを設定するようにしてもよい。量子化テーブルは、量子化テーブル(i、j)=デフォルト量子化テーブル(i、j)×(R’×α+β)の演算式により計算することができる。(i、j)は、量子化テーブルの(行、列)の位置を表している。R’は、R/100(ただし、100dpi≦解像度R≦1200dpi)である。デフォルト量子化テーブルは、基準となる所定の量子化テーブルである。デフォルト量子化テーブル、係数α(例えば「9/110」)、β(例えば「1/55」)は、例えば、さまざまな解像度の画像を用いて画質と圧縮率とを評価しながら所望の値を設定する。画質の基準としては、さまざまな大きさの文字の判読性、又は写真の中の模様、細部の再現性を見ればよい。この場合、解像度に応じて自動的に最適な量子化係数を算出して設定することができるため、予め複数の量子化テーブルを準備して記憶部27に保持しておく必要がなく、記憶部27の記憶容量を大幅に削減することができる。また、画像データの解像度に応じて滑らかに量子化係数を変化させることができるため、解像度の少しの違いにより量子化係数が大きく切り替わって画質が急激に変化してしまうといった好ましくない現象を防ぐことができる。
次に、以上のように構成される圧縮装置2が行う画像データの圧縮処理について説明する。図6は、圧縮装置2の動作を示すフローチャートである。
圧縮装置2は、まず、処理の対象となる画像データの主走査方向、及び副走査方向の解像度を取得する(S1)。解像度の情報は、装置全体の動作を制御しているコントローラーから取得する。次に、圧縮装置2は、副走査方向の解像度が主走査方向の解像度よりも低いか否かを判断する(S2)。
副走査方向の解像度のほうが低い場合(S2:YES)、圧縮装置2は、副走査方向の解像度を画像データの解像度Rとし(S3)、処理をS5に移す。一方、主走査方向の解像度のほうが高い場合、若しくは解像度が等しい場合(S2:NO)、圧縮装置2は、主走査方向の解像度を画像データの解像度Rとし(S4)、処理をS5に移す。圧縮装置2は、図5に示す設定テーブルに基づいて量子化テーブルを設定するため、解像度Rが300[dpi]未満であるか否かを判定する(S5)。解像度が300[dpi]未満である場合(S5:YES)、圧縮装置2は、量子化係数が全て「1」の量子化テーブルを量子化テーブルDB26から抽出する(S6)。その後、圧縮装置2は、処理をS8に移す。
解像度が300[dpi]未満でない場合(S5:NO)、圧縮装置2は、図5の設定テーブルに基づいて、解像度に応じた量子化テーブルを量子化テーブルDB26から抽出する(S7)。例えば、解像度が400[dpi]の場合、圧縮装置2は、セットBの量子化テーブルを量子化テーブルDB26から抽出する。その後、圧縮装置2は、処理をS8に移す。なお、解像度が300[dpi]未満の場合の量子化テーブルを予め量子化テーブルDB26に記憶しているが、量子化テーブルを用意しておかず、解像度が300[dpi]未満の場合に、量子化係数を1に設定するプログラムとしてもよい。
S8では、圧縮装置2は、抽出した量子化テーブルを用いて、画像データに対してJPEG圧縮処理を施す。JPEG圧縮処理は一般的な規格に準拠した処理とし、その中で行われる量子化処理において、前記抽出した量子化テーブルを用いて量子化を行うことにより、画像データの解像度に応じた最適な圧縮処理を施すことができる。
なお、画像データを取得する画像入力装置1と、画像データを圧縮する圧縮装置2とを別々に構成しているが、一つの装置としてもよい。例えば、圧縮装置2が、CCDラインセンサを備える構成であってもよい。
(実施形態2)
次に、実施形態1で説明した画像データを圧縮する圧縮装置2を備える画像形成装置について説明する。
図7は、画像形成装置の構成を示すブロック図である。本実施形態の画像形成装置は、圧縮装置2と、圧縮装置2から出力されたJPEGコードを記憶するハードディスク(画像データ記憶手段)4と、JPEGコードを復号したのち画像データを良好に再現するための処理を施す伸張装置5とを備えている。ハードディスク4は、圧縮装置2が圧縮した画像データを記憶する。以下、伸張装置5の機能について説明する。なお、以下に説明する機能は、圧縮装置2が備えていてもよい。圧縮装置2は、実施形態1と同様であるため説明は省略する。
伸張装置5は、JPEG伸張部51、色補正部52、黒生成/下色除去部53、空間フィルタ部54、中間調生成部55、及び領域分離部56等を備える。
JPEG伸張部51は、JPEGコードを復号し、RGB信号の画像データに伸張する。具体的には、JPEGコードからヘッダ情報を抜き出し、ハフマン符号化テーブル、量子化テーブル、サンプリング比などの値を取り出す。取り出したハフマン符号化テーブルを用いて、JPEGコードに含まれる符号データを、YCbCr信号の周波数係数のデータに復号する。その際、8行8列のブロック単位のデータに整列し、ブロック毎の各要素に、取り出した量子化テーブルを乗算することで逆量子化の処理を行う。その後、ブロック毎に逆DCT変換を行うことでYCbCr信号の周波数係数のデータを画像データに戻す。さらに、取り出したサンプリング比に応じて間引いた画素を補間したのち、YCbCr信号からRGB信号に色空間を変換する処理を行い、最終的にRGB信号の画像データを出力する。
色補正部52では、RGB信号をRGB信号の補色であるCMY(C:シアン・M:マゼンタ・Y:イエロー)の濃度信号に変換し、かつ出力装置(出力手段)6において忠実な色再現ができるよう、CMYの濃度信号に色補正処理を施す。
黒生成/下色除去部53は、色補正部52から入力された濃度信号を構成するCMYの色信号に基づいて、黒(K)の色信号を生成する黒生成処理を行う。また、黒生成/下色除去部53は、CMYの色信号に対して下色除去処理を施す。下色除去処理は、CMYの色信号から黒生成処理で生成された黒の色信号を差し引いて新たなCMYの色信号を得る処理である。これらの処理の結果、CMYの濃度信号は、CMYKの色信号からなる画像データに変換される。
空間フィルタ部54は、黒生成/下色除去部53で得られたCMYKの画像データに対して、デジタルフィルタを用いた空間フィルタ処理を施す。画像データを適切に先鋭化もしくは平滑化することにより、出力装置6が出力する画像にぼやけ、または粒状性劣化を生じることを防止することができる。
領域分離部56は、JPEG伸張部51から入力されたRGB信号に対し、画像データの各画素がどのような種類の領域に属するか、例えば黒文字/色文字/網点等いずれの領域に属する画素であるのかを判定する。領域分離部56は、分離結果を黒生成/下色除去部53、空間フィルタ部54、及び中間調生成部55へ出力する。分離結果を受けた各部においては、領域に応じた適切な処理の切り替えが行われる。
中間調生成部55は、CMYKの画像データに対して、階調補正処理及び中間調生成処理を施す。中間調生成処理は、画像を複数の画素に分割して階調を再現できるようにする処理であり、2値又は多値のディザ法・誤差拡散法等を用いることができる。また、中間調生成部55は、画像データの濃度値を、出力装置6の特性値である網点面積率に変換する処理を行ってもよい。中間調生成部55は、処理されたCMYKの画像データを伸張装置5に接続された出力装置6へ出力する。そして、出力装置6では、CMYK信号に基づいて、最終的な出力画像が形成される。なお、出力装置6は、電子写真方式プリンタ又はインクジェット方式プリンタ等の画像を再現する装置であり、液晶ディスプレイ等の画像表示装置であっても構わない。
この構成によれば、画像データの解像度に応じてJPEG圧縮用パラメータが適切に切替えられるため、出力装置6から最終的に出力される画像についてもJPEG圧縮による画質劣化の少ない良好な画質を実現できる。また、どのような解像度の画像データであっても画質を極端に劣化させることなく圧縮して保存することができるため、画像データそのものを保存しておく必要がなく、ハードディスク4のデータ容量が削減され、さらに外部へのデータ送信時間の短縮、及びハードディスク4へのデータ書込み及び読出しなど装置内部のデータ伝送時間をも短縮することが可能となる。
以上説明したように、上述の実施形態の圧縮装置2は、画像データの解像度に基づいて、量子化テーブルを量子化テーブルDB26から抽出し、設定する。これにより、画像データの解像度に応じた適切な量子化係数が設定でき、画像データの画質を劣化させず、画像データを圧縮し、データ量を小さくすることができる。
本発明の別の適用例として、コンピュータに実行させるためのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)を記録したコンピュータ読み取り可能な記録媒体に、本画像処理方法(圧縮処理方法)を記録する構成とすることもできる。これによると、本画像処理を行うプログラムコードを記録した記録媒体を持ち運び自在に提供することができる。
図8は、本発明の別の適用例を示す概略図である。パソコン11は、記録媒体からプログラムコードを実行し、スキャナ10により読み取った画像データの圧縮処理を行い、記憶する。また、パソコン11は、記憶した画像データを復号し、プリンタ12から出力する。このように、複合機のように固定された場所でなくても、プログラムコードを記録した記録媒体を読み取ることができるパソコン11があれば、場所に関係なく、本画像処理を行うことができる。
なお、この記録媒体としては、マイクロコンピュータで処理が行われるために図示していないメモリ、例えばROMのようなものそのものがプログラムメディアであってもよいし、また、図示していないが外部記憶装置としてプログラム読み取り装置が設けられ、そこに記録媒体を挿入することで読み取り可能なプログラムメディアであってもよい。いずれの場合においても、格納されているプログラムコードはマイクロプロセッサがアクセスして実行させる構成であってもよいし、あるいは、いずれの場合もプログラムコードを読み出し、読み出されたプログラムコードは、マイクロコンピュータの図示されていないプログラム記憶エリアにダウンロードされて、そのプログラムコードが実行される方式であってもよい。このダウンロード用のプログラムは予め本体装置に格納されているものとする。
上記プログラムメディアは、本体と分離可能に構成される記録媒体であり、磁気テープ又はカセットテープ等のテープ系、フロッピー(登録商標)ディスク又はハードディスク等の磁気ディスク、CD−ROM/MO(Magneto-Optical Disc)/MD/DVD等の光ディスクのディスク系、IC(Integrated Circuit)カード(メモリカードを含む)/光カード等のカード系、もしくは、マスクROM、EPROM、EEPROM(Electrically Erasable Programmable ROM)、フラッシュROM等による半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
また、インターネットを含む通信ネットワークを接続可能なシステム構成を持つことで、通信ネットワークからプログラムコードをダウンロードするように流動的にプログラムコードを担持する媒体であってもよい。なお、このように通信ネットワークからプログラムコードをダウンロードする場合には、そのダウンロード用のプログラムは予め本体装置に格納しておくか、あるいは別な記録媒体からインストールされるものであってもよい。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
上記記録媒体は、デジタルカラー画像形成装置又はコンピュータシステムに備えられるプログラム読み取り装置により読み取られることで上述した画像処理方法が実行される。特に、後者の場合、本画像処理方法をユーザの好みに応じて用いることが可能となる。コンピュータシステムは、フラットベッドスキャナ、フィルムスキャナ、又はデジタルカメラ等の画像入力装置、所定のプログラムがロードされることにより上記画像処理方法など様々な処理が行われるコンピュータ、コンピュータの処理結果を表示するCRT(Cathode Ray Tube)ディスプレイ又は液晶ディスプレイ等の画像表示装置、及びコンピュータの処理結果を紙媒体等に出力するプリンタより構成される。さらには、ネットワークを介してサーバーなどに接続するための通信手段としてのモデム等が備えられる。