(57)【要約】【課題】  入力画像処理および出力画像処理を高度化するために、より多くの属性情報を用意すれば、属性信号のビット数が増え、信号のデータサイズが大きくなる。そのため、属性信号を保持する記憶部で消費される記憶容量の増加、および、属性信号の生成、書き込み、読み出し速度の低下などが発生する危惧がある。【解決手段】  描画コマンドが含む属性領域を判定し(S802)、属性領域の種類の数をカウントし(S803)、属性領域の種類の数に基づき、属性情報のビット幅を決定して属性情報テーブルを作成し(S804)、属性情報を生成する(S805)。【選択図】  図10
2006341446.tif 000002
【特許請求の範囲】
【請求項１】
画像データの画素ごとに、当該画素が属する属性領域を判定する判定手段と、
前記属性領域の種類の数に応じて、前記画像データの各画素が属する属性領域を示す属性情報のビット幅を決定する決定手段と、
前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記属性情報を生成する生成手段とを有することを特徴する画像処理装置。
【請求項２】
画像データの画素ごとに、当該画素が属する属性領域を判定する判定手段と、
前記画像データに付加された処理モードを示す情報に応じて、前記画像データの各画素が属する属性領域を示す属性情報のビット幅を決定する決定手段と、
前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記属性情報を生成する生成手段とを有することを特徴する画像処理装置。
【請求項３】
画像データの画素ごとに、当該画素が属する属性領域を判定する判定手段と、
前記画像データに処理モードを示す情報が付加されている場合は前記処理モードに応じて、前記処理モードを示す情報が付加されていない場合は前記属性領域の種類の数に応じて、前記画像データの各画素が属する属性領域を示す属性情報のビット幅を決定する決定手段と、
前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記属性情報を生成する生成手段とを有することを特徴する画像処理装置。
【請求項４】
画像データの画素ごとに、当該画素が属する属性領域を判定する判定手段と、
前記画像データに付加された処理モードを示す情報に応じて、前記画像データの各画素が属する属性領域を示す属性情報のビット幅を決定する決定手段と、
前記属性領域の種類ごとに画素数を計算する計算手段と、
前記画素数が上位で、かつ、前記ビット幅に対応する数に入る上位の属性領域の種類について前記属性情報との対応を設定する設定手段と、
前記ビット幅に対応する数に入らない下位の属性領域の種類を、前記上位の属性領域の種類に丸め込むことで、前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記属性情報を生成する生成手段とを有することを特徴する画像処理装置。
【請求項５】
前記生成手段は、前記処理モードごとに予め設定されたデフォルトの属性情報のビットの優先度に基づき、前記下位の属性情報の種類を丸め込む前記上位の属性情報の種類を決定することを特徴する請求項4に記載された画像処理装置。
【請求項６】
画像データの画素ごとに、当該画素が属する属性領域を判定する判定手段と、
前記属性領域の種類ごとに出現率を計算する計算手段と、
有意の前記出現率をもつ前記属性領域の種類の属性情報を前記出現率に基づき設定する設定手段と、
前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記画像データの各画素が属する属性領域を示す前記属性情報を生成する生成手段とを有することを特徴する画像処理装置。
【請求項７】
さらに、前記属性情報に応じた画像処理を前記画像データに施す処理手段を有することを特徴とする請求項1から請求項6の何れかに記載された画像処理装置。
【請求項８】
画像データの画素ごとに、当該画素が属する属性領域を判定し、
前記属性領域の種類の数に応じて、前記画素が属する属性領域を示す属性情報のビット幅を決定し、
前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記属性情報を生成することを特徴する画像処理方法。
【請求項９】
画像データの画素ごとに、当該画素が属する属性領域を判定し、
前記画像データに付加された処理モードを示す情報に応じて、前記画素が属する属性領域を示す属性情報のビット幅を決定し、
前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記属性情報を生成することを特徴する画像処理方法。
【請求項１０】
画像データの画素ごとに、当該画素が属する属性領域を判定し、
前記画像データに処理モードを示す情報が付加されている場合は前記処理モードに応じて、前記処理モードを示す情報が付加されていない場合は前記属性領域の種類の数に応じて、前記画素が属する属性領域を示す属性情報のビット幅を決定し、
前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記属性情報を生成することを特徴する画像処理方法。
【請求項１１】
画像データの画素ごとに、当該画素が属する属性領域を判定し、
前記画像データに付加された処理モードを示す情報に応じて、前記画素が属する属性領域を示す属性情報のビット幅を決定し、
前記属性領域の種類ごとに画素数を計算し、
前記画素数が上位で、かつ、前記ビット幅に対応する数に入る上位の属性領域の種類について前記属性情報との対応を設定し、
前記ビット幅に対応する数に入らない下位の属性領域の種類を、前記上位の属性領域の種類に丸め込むことで、前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記属性情報を生成することを特徴する画像処理方法。
【請求項１２】
画像データの画素ごとに、当該画素が属する属性領域を判定し、
前記属性領域の種類ごとに出現率を計算し、
有意の前記出現率をもつ前記属性領域の種類の属性情報を前記出現率に基づき設定し、
前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記画像データの各画素が属する属性領域を示す前記属性情報を生成することを特徴する画像処理方法。
【請求項１３】
画像処理装置を制御して、請求項8から請求項12の何れかに記載された画像処理を実現することを特徴とするプログラム。
【請求項１４】
請求項13に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置およびその方法に関し、例えば、ビットマップ画像の各画素に属性情報を付加して印刷画質の向上を図る画像処理に関する。
【背景技術】
【０００２】
コンピュータの出力装置として、レーザビームプリンタなどの電子写真方式を用いた画像処理装置が広く使われている。これら画像処理装置は、ホストコンピュータ等から描画コマンドを受信し、解析してビットマップ画像の生成した後、紙面に出力処理を行う。また、画像処理装置は、スキャナやディジタルカメラといった画像入力装置が接続されている場合、それら画像入力装置から入力されるビットマップ画像に所定の画像処理を施した後、紙面に出力処理を行う機能も備えている。
【０００３】
図1は画像処理装置の機能構成を示すブロック図である。この図1を用いて、ホストコンピュータから描画コマンドを受信し、印刷を行う処理を説明する。
【０００４】
ホストコンピュータ101上ではアプリケーションソフトウェアが動作し、ホストコンピュータ101のユーザは、アプリケーションソフトウェアを用いて、ページレイアウト文書やワードプロセッサ文書、グラフィック文書などを作成する。アプリケーションソフトウェアによって作成されたディジタル文書データは、図示しないプリンタドライバに送信され、ディジタル文書データに基づく描画コマンドが生成される。プリンタドライバは、一般に、ページ記述言語(PDL)などのページ画像データを作成するため記述言語によって描画コマンドを記述する。描画コマンドには、通常、イメージやグラフィクス、テキストなどのデータの描画命令が含まれる。
【０００５】
プリンタドライバによって生成された描画コマンドは、ネットワークなどを介して、画像処理装置103に伝送される。画像処理装置103は、描画コマンド処理部105、入力画像処理部106、出力画像処理部107、記憶装置108などから構成される。
【０００６】
描画コマンド処理部105は、ホストコンピュータ101から受信した描画コマンドを解析して描画オブジェクトを生成し、さらに、描画オブジェクトをラスタライズしてビットマップ画像を生成する。
【０００７】
出力画像処理部107は、ビットマップ画像を画像出力装置104のプリンタエンジン111に転送可能な画像フォーマットに変換する。さらに、出力画像処理部107は、描画コマンド処理部105が生成したビットマップ画像が多階調RGB画像の場合、ルックアップテーブルなどを利用してRGB値をCMYK値に色変換する色変換処理や、ディザ法などを用いて多階調画像を低階調画像に変換する疑似中間調処理などの画像処理を行う。
【０００８】
画像出力装置104はプリンタエンジン111を有し、予め定められた画像フォーマットの画像データを画像処理装置103から受信し、紙面に印刷する。通常、プリンタエンジン111において安定した中間調表現を可能にするには二階調、四階調または16階調など、低階調の画像にする必要がある。また、一般に、プリンタエンジン111への入力は、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の四色など、記録剤に対応した色データにする。言い換えれば、プリンタエンジン111に入力する画像データは低階調（二階調〜16階調）のCMYK画像データである。
【０００９】
このように、画像処理装置103で生成した画像データを画像出力装置104のプリンタエンジン111に転送することで、紙面に画像が印刷され、ホストコンピュータ101から出力された描画コマンドに基づく印刷が完了する。
【００１０】
次に、スキャナ109やディジタルカメラ110などの画像入力装置102から入力されるビットマップ画像の印刷を説明する。
【００１１】
スキャナ109は、紙に印刷された画像やフィルムに印画された画像を光学的に走査し、その反射光や透過光の強度に応じた信号をアナログ-ディジタル変換することでビットマップ画像を読み取る。また、ディジタルカメラ110は、CCDなどのデバイスから出力される光の強さに応じた信号をアナログ-ディジタル変換することで被写体のビットマップ画像を獲得する。これら画像入力装置102が出力するビットマップ画像は一般にRGB画像である。
【００１２】
画像処理装置103は、入力画像処理部106および出力画像処理部107により、スキャナ109またはディジタルカメラ110から入力されるビットマップ画像を低階調のCMYK画像データに変換し、CMYK画像データを画像出力装置104のプリンタエンジン111に転送することで、紙面に画像を印刷する。以上で、画像入力装置102から出力されるビットマップ画像の印刷処理が完了する。
【００１３】
上記の画像データの処理過程において、印刷画質をより好ましいものにするために、画像データの各画素に、当該画素が存在する画像領域の特徴を示す属性情報を付加するケースがある。つまり、写真領域や文字領域といった画像領域の特徴を示す属性情報を画素ごとに付加して、その属性情報に基づき、画像処理装置103や画像出力装置104の画像処理を切り替え、各画像領域において最適な画質を提供する（例えば、特開2000-259819公報参照）。
【００１４】
例えば、描画コマンドに含まれるイメージやグラフィクス、テキストといったデータの種類ごとに疑似中間調処理の際に使用するディザマトリクスを切り替えたり、RGBからCMYKへの色変換時のルックアップテーブル(LUT)を切り替えるなどにより、画質の向上を図ることができる。具体例を挙れば、描画コマンド処理部105は、描画コマンドのラスタライズ時にビットマップ画像を生成すると同時に、ビットマップ画像の各画素が含まれる画像領域を示す属性信号を生成して記憶部108に格納する。出力画像処理部107は、記憶部108から属性信号を読み出して、ビットマップ画像を構成する各画素が含まれる画像領域を判別し、色変換処理や疑似中間調処理を切り替える。このように、描画コマンドに含まれるデータの種類ごとに画像処理を切り替えることが可能になる。
【００１５】
一方、スキャナ109から入力される画像に関しても、画像領域ごとに画像処理を切り替えることができる。この場合、入力画像処理部106は、入力されるビットマップ画像に例えばパターンマッチングを用いる像域判定を施し、写真領域または文字領域、有彩色領域または無彩色領域、網点領域などの画像領域と、当該領域を構成する画素を判定して、この判定結果に基づき属性信号が生成して記憶部108に格納する。
【００１６】
そして、入力画像処理部106は、記憶部108から属性信号を読み出して、文字領域の画素には画像の高周波成分を強調して文字の鮮鋭度を強調する処理を施したり、網点領域の画素には所謂ローパスフィルタ処理を行い、スキャン画像に特有のモアレ成分を除去する処理などを行う。
【００１７】
さらに、出力画像処理部107は、記憶部108から属性信号を読み出して、属性信号に基づき色変換処理や疑似中間調処理などの画像処理を行い、プリンタエンジン111に出力可能な画像フォーマットに変換することで、像域判定された画像領域ごとに画像処理を切り替える。
【００１８】
各画像領域に対応する、より高度な画像処理の適用を考えると、その画像特性に応じて画像領域をより細かく分類する必要がある。また、描画コマンドには、より詳細なレベルでデータの種類が記述されていることがある。このような画像領域の細分化を行った場合、より多くの属性信号が必要になる。
【００１９】
図2は文字、図形、イメージ、線という四種類の画像領域に対応する属性信号の例を示す図である。
【００２０】
図2において、属性信号のビット0はグラフィックス（図形）特性を示し、ビット1は文字特性を示す。従って、属性信号‘10’は文字領域を、‘01’は図形領域を、‘00’はイメージ領域をそれぞれ表し、文字かつグラフィックスを「線」と定義すれば‘11’は線領域を表すことができる。
【００２１】
図3は画像領域をより細かく分類する場合の属性信号の例を示す図である。
【００２２】
例えば、画素ごとに下色除去(UCR)の設定（例えば100%UCRを行うか否か）に関する属性を加える場合はグレイ特性を示すビット（図3のビット0）を加える。また、小文字や細線といった属性を加える場合は細/小特性を示すビット（図3のビット3）を加える。
【００２３】
入力画像処理および出力画像処理を高度化するために、より多くの属性情報を用意すれば、属性信号のビット数が増え、信号のデータサイズが大きくなる。そのため、属性信号を保持する記憶部108で消費される記憶容量の増加、および、属性信号の生成、書き込み、読み出し速度の低下などが発生する危惧がある。これを解消するために、例えば、ビットマップ画像を低解像度化する、もしくは、一部ビットの削除などが考えられるが、当然、印刷画質は低下する。
【００２４】
また、出願人は、接続された外部機器の情報を基に属性信号のフォーマットを決定することで上記問題を回避する方法を提案しているが、属性信号の限られたビット数では、細かな画像領域を表現できない問題がある。
【００２５】
【特許文献１】特開2000-259819公報
【発明の開示】
【発明が解決しようとする課題】
【００２６】
本発明は、画像データに応じて属性情報のビット幅を動的に制御することを目的とする。
【００２７】
また、画像データの処理モードに応じて属性情報のビット幅を動的に制御することを他の目的とする。
【課題を解決するための手段】
【００２８】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００２９】
本発明にかかる画像処理は、画像データの画素ごとに、当該画素が属する属性領域を判定し、前記属性領域の種類の数に応じて、前記画素が属する属性領域を示す属性情報のビット幅を決定し、前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記属性情報を生成することを特徴する。
【００３０】
また、画像データの画素ごとに、当該画素が属する属性領域を判定し、前記画像データに付加された処理モードを示す情報に応じて、前記画素が属する属性領域を示す属性情報のビット幅を決定し、前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記属性情報を生成することを特徴する。
【００３１】
また、画像データの画素ごとに、当該画素が属する属性領域を判定し、前記画像データに処理モードを示す情報が付加されている場合は前記処理モードに応じて、前記処理モードを示す情報が付加されていない場合は前記属性領域の種類の数に応じて、前記画素が属する属性領域を示す属性情報のビット幅を決定し、前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記属性情報を生成することを特徴する。
【００３２】
また、画像データの画素ごとに、当該画素が属する属性領域を判定し、前記画像データに付加された処理モードを示す情報に応じて、前記画素が属する属性領域を示す属性情報のビット幅を決定し、前記属性領域の種類ごとに画素数を計算し、前記画素数が上位で、かつ、前記ビット幅に対応する数に入る上位の属性領域の種類について前記属性情報との対応を設定し、前記ビット幅に対応する数に入らない下位の属性領域の種類を、前記上位の属性領域の種類に丸め込むことで、前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記属性情報を生成することを特徴する。
【００３３】
また、画像データの画素ごとに、当該画素が属する属性領域を判定し、前記属性領域の種類ごとに出現率を計算し、有意の前記出現率をもつ前記属性領域の種類の属性情報を前記出現率に基づき設定し、前記属性情報と前記属性領域の種類の対応を示すテーブルを作成し、前記画像データの各画素が属する属性領域を示す前記属性情報を生成することを特徴する。
【発明の効果】
【００３４】
本発明によれば、画像データに応じて属性情報のビット幅を動的に制御することができる。
【００３５】
また、画像データの処理モードに応じて属性情報のビット幅を動的に制御することができる。
【００３６】
従って、例えば、多くの属性情報を用意した場合でも、属性情報のビット数を画像データまたは処理モードに応じて制御するため、属性情報を保持する記憶容量の増加、および、属性情報の生成、書き込み、読み出し速度の低下などを抑えることができる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明にかかる一実施形態の画像処理装置を図面を参照して詳細に説明する。
【００３８】
なお、以下では、本発明をマルチファンクションペリフェラル(MFP)に適用する例を説明するが、本発明の適用はMFPに限られるものではなく、その主旨を逸脱しない範囲で、任意の画像処理装置に適用可能である。
【実施例１】
【００３９】
MFPは、画像読取機能、画像形成機能、画像通信機能などの複数の機能を備え、印刷媒体に画像を形成するプリントジョブ、原稿から画像を読み取るスキャンジョブ、外部装置との間で画像通信を行うファックスジョブ、原稿から読み取った画像を印刷媒体に形成するコピージョブなど、種々のジョブを実行処理する。
【００４０】
［MFPの構成］
図4はMFPの構成例を示すブロック図である。
【００４１】
図4において、CPU 301は、RAM 303をワークメモリとして、システムバス310を介してMFP全体を制御し、ROM 302に格納されたプログラムやデータに基づき後述する各種処理を行う。
【００４２】
ROM 302は、システム起動プログラム、プリンタエンジンの制御を行うプログラム、文字データや文字コード情報などを記憶する。RAM 303は、ダウンロードにより追加登録されるフォントデータを記憶したり、様々な処理ごとにプログラムやデータがロードされる。また、RAM 303は、外部から受信した画像データのデータ記憶領域としても利用される。ハードディスクなどの記憶部(HD) 304は、データのスプール、プログラムや各情報ファイル、画像データ、属性信号などを記憶し、CPU 301の作業領域にも利用される。
【００４３】
例えば液晶パネルなどで構成される表示部305は、MFPの設定状態や現在のMFP内部の処理、エラー状態などを表示する。キー、ボタン、タッチパネルなどで構成される操作部306は、ユーザによるMFPの設定、設定変更、リセットなどに使用される。表示部305および操作部306により、後述するように、出力時の処理モードを選択する操作画面などの表示も可能である。
【００４４】
エンジンインタフェイス(I/F) 307は、プリンタエンジンとの間で制御コマンドをステータスなどを送受信するインタフェイスである。ネットワークインタフェイス(I/F) 308は、MFPをローカルエリアネットワーク(LAN)などに接続するインタフェイスである。外部インタフェイス(I/F) 309は、例えばUSB (Universal Serial Bus)やIEEE1394などのシリアルバスインタフェイスで、例えばホストコンピュータとの間でデータの送受信を行う。
【００４５】
［描画コマンドの処理］
図5はMFPのコントローラソフトウェアによって実現される機能構成の概要を示すブロック図である。この図を用いて、ホストコンピュータから受信した描画コマンドをビットマップ画像データに変換して紙面に印刷する処理を説明する。
【００４６】
MFPがホストコンピュータから受信した描画コマンド401は、描画コマンド処理部105に入力される。描画コマンド処理部105の描画オブジェクト生成部402は、描画コマンド401を解析して、描画オブジェクト403を生成する。また、属性判定部405は、描画オブジェクト生成部402の解析処理に伴い、画像特性を判定して、描画コマンド401が含む属性領域を判定し、その種類をカウントする。
【００４７】
●描画コマンドの構成
図6は描画コマンドの構成例を示す図である。
【００４８】
図5は出力頁数がN頁の描画コマンドの構成を示し、ジョブヘッダ501、印刷データ部502、終了ヘッダ部503を有する。ジョブヘッダ501は、ジョブ開始情報510、ジョブID511、ジョブに適用する処理モード512などの情報を含む。印刷データ部502は、出力解像度513、出力記録紙サイズ514といった各頁に共通の情報とともに、各頁の開始命令515、文字データ516、イメージデータ517、図形データ518、改頁命令519などの命令・データを含む。また、終了ヘッダ503は、当該ジョブのジョブ終了情報504を含む。
【００４９】
イメージデータ517は、位置情報520、イメージサイズ521、圧縮形式522、色判定情報523、イメージコード524を有す。文字データ516は、位置情報525、文字ピッチおよびサイズ情報526、色判定情報527、文字コード528を有す。また、図形データ518は、位置情報529、描画形式530、線幅情報531、色判定情報532、図形コード533を有す。
【００５０】
属性判定部405は、まず、処理の際に用いる、全属性領域を記述したテーブルを作成する。なお、全属性領域は、画像処理装置に固有の情報として、予め設定されている。そして、属性判定部405は、描画オブジェクト生成部402による描画オブジェクト403の生成時に、描画コマンド401に含まれる属性領域の種類を判定し、描画コマンドに含まれる属性領域の種類をカウントする。
【００５１】
●属性判定テーブル
図7は属性判定部405が作成するテーブルの具体例を示す図である。
【００５２】
図7に示す属性列は、実施例のMFPに設定された全属性領域であり、各属性領域に対応して4ビットの属性信号が定義されている。属性判定部405は、描画オブジェクト403の生成時に、描画コマンドに含まれる属性領域の種類を判定する。
【００５３】
図7に示すデータ1の列に記載する描画コマンドの場合は、イメージデータ517が存在し、当該データの色判定情報523は「100%UCRしない」を示す場合、イメージ属性領域が存在すると判定する。なお、図7に示す記号○は「存在する」の判定結果を、記号×は「存在しない」の判定結果をで示す。
【００５４】
また、図形データ518が存在し、当該データの描画形式530が「線描画しない」で、色判定情報532が「100%UCRする」「100%UCRしない」の両方の場合、図形属性領域および図形・グレイ属性領域の両方が存在すると判定する。
【００５５】
また、文字データ516が存在し、当該データの文字サイズ情報526の予め定めたサイズ以上および以下を示し、かつ、どちらのサイズの文字も色判定情報527から「100%UCRする」が示される場合、文字・グレイ属性領域および小文字・グレイ属性領域が存在すると判定する。
【００５６】
また、図形データ518に、描画形式530が「線描画」を示し、線幅情報531が予め定めた線幅以上を示し、色判定情報532が「100%UCRする」を示すものが含まれる場合は、線・グレイ属性領域が存在すると判定する。
【００５７】
このようにして、描画コマンドのデータ1に関して、全属性領域の存在を判定することで、データ1が含む属性領域を判定し、その種類の数（図7に示す合計）をカウントする。なお、データ1の場合、六種類の属性領域が存在する。
【００５８】
描画コマンドによっては、属性領域を一つだけ含むケースもある。図7に示すデータ2はその例を示し、100%UCRしないイメージデータ517だけが存在する。従って、属性領域の種類のカウント値は「1」になる。
【００５９】
属性情報テーブル作成部406は、属性判定部405により描画コマンドに含まれる属性領域が判定された後、描画コマンドに含まれる属性領域に対応する属性情報テーブル407を作成し、属性信号を定義する。ここで、属性信号のビット数は、属性判定部405がカウントした属性領域の種類よって決定する。属性領域の種類をN、属性信号のビット数をMとする場合、以下の式がなり立つ。
2M-1 ＜ N ≦ 2M      …(1)
【００６０】
すなわち、属性信号は、属性領域が六種類と判定された場合は3ビットに、属性領域が一種類と判定された場合は1ビットになる。このように属性信号のビット数を決定した後、新規に属性信号を定義して属性情報テーブル407を作成する。
【００６１】
図8および図9は属性情報テーブル作成部406が作成するテーブルの具体例を示す図である。図8は、図7に示すデータ1に対して作成される属性情報テーブルを、図9はデータ2に対して作成される属性情報テーブルを示す。
【００６２】
データ1に含まれる属性領域は、図8の属性列に示す六種類であり、これら属性領域を3ビットの属性信号で新規に定義する。また、データ2に含まれる属性領域は、図9に示す一種類であり、これを1ビットの属性信号で新規に定義する。
【００６３】
図5に戻り、ラスタライズ処理部404は、描画オブジェクト403をラスタライズして、ビットマップ画像409、および、属性情報テーブル407を参照してビットマップ画像409の各画素の属性情報を示す属性信号410を生成し、RAM 303やHD 304で構成されるデータ記憶部408に格納する。なお、属性信号410は、属性情報テーブル作成部406が新規に定義した属性信号であることは言うまでもない。
【００６４】
次に、出力画像処理部411は、ビットマップ画像409に色変換処理や疑似中間調処理などの画像処理を施す。その際、出力画像処理部411は、属性情報テーブル408および属性信号410を参照して、注目画素を含む属性領域に応じて、色変換処理用のLUT、疑似中間調処理用のディザマトリクスを切り替える。すなわち、出力画像処理部411は、例えば、図8に示す属性情報テーブルを使用して3ビットの属性信号410を出力画像処理部411が使用する4ビットの属性信号に変換する。出力画像処理部411は、例えば、変換後の属性信号のビット0（図3に示すグレイビット）を参照することで、色変換処理において100%UCRするか否かを判定することができる。
【００６５】
画像出力部412は、属性信号410に応じた画像処理が施されたビットマップ画像を出力処理し、ホストコンピュータから受信した描画コマンドに基づく画像を記録紙413に印刷する。
【００６６】
［属性信号の生成および使用］
図10は属性信号の生成および使用に関する処理を示すフローチャートで、CPU 301が実行する処理である。
【００６７】
まず、画像処理装置に固有の情報から全属性領域を含むテーブル（図7）を作成し(S801)、描画オブジェクト作成時に、描画コマンドが含む属性領域を判定し(S802)、描画コマンドが含む属性領域の種類をカウントする(S803)。
【００６８】
次に、属性領域の種類の数に基づき、新規に定義する属性信号のビット数を決定（式(1)）して、属性信号（図7）と、描画コマンドが含む属性領域に対応する属性信号の対応関係を示す属性情報テーブル407（図8または図9）を作成する(S804)。
【００６９】
次に、描画オブジェクト403のレンダリングしてビットマップ画像409を生成する処理に平行して、属性情報テーブル407に基づき、画素ごとの属性信号410を生成し、データ記憶部408に格納する(S805)。なお、データ記憶部408が、例えばバイト単位のデータ格納を要求する場合は、複数の属性信号をまとめてバイト単位にデータを格納する。
【００７０】
次に、属性情報テーブル407を参照して、属性信号410を出力画像処理部411が使用する属性信号に変換し(S806)、変換した属性信号に基づき、出力画像処理を実施する(S807)。
【００７１】
このように、実施例1によれば、属性情報に基づき画像処理を切り替えて印刷画質の向上を図る画像処理装置において、処理対象の画像データが含む属性領域の種類の数に応じて属性信号410を定義する。従って、処理対象の画像データが含む属性領域の種類に応じたビット数の属性信号410にして、属性領域の種類の数に応じて、属性信号410を格納するデータ記憶部408にメモリ使用量を極力低減することができる。
【実施例２】
【００７２】
以下、本発明にかかる実施例2の画像処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００７３】
実施例1においては、描画コマンドが含む属性領域の種類をカウントして、その数に応じて属性信号を定義する例を説明したが、描画コマンドが含む属性領域の種類は描画コマンドの作成時に決定することが可能である。画像処理装置においては、一般に、印刷目的に応じた処理モードを選択する機能がある。実施例2では、印刷目的を反映する処理モードに応じて、使用する属性領域の種類を予め規定し、それに基づき属性信号を定義する。
【００７４】
図11は実施例2における、MFPのコントローラソフトウェアによって実現される機能構成の概要を示すブロック図である。
【００７５】
図11において、ホストコンピュータ101のユーザは、例えばプリンタドライバが提供する処理モード選択部902によって印刷目的を選択することができる。プリンタドライバは、選択された処理モードに応じて、規定された属性領域の描画オブジェクトを含む描画コマンド901を生成する。また、選択された処理モードを示す情報は、描画コマンド901のジョブヘッダ501内の処理モード512に保持される。このようにして作成された描画コマンド901は、描画コマンド処理部105に入力される。
【００７６】
属性判定部405は、まず、実施例1と同様に、処理の際に用いる、全属性領域を記述したテーブルを作成する。図12は属性判定部405が作成するテーブルの具体例を示す図である。
【００７７】
次に、属性判定部405は、描画コマンド901の処理モード512から選択された処理モードを読み出し、属性領域の種類を判定する。
【００７８】
図12に示す処理モード1の列に記載する描画コマンド（言い換えれば処理モード1が選択された場合の描画コマンド901）の場合は、イメージ属性領域、図形属性領域、文字属性領域および線・グレイ属性領域の四種類が存在する可能性がある。従って、属性領域の種類の数は「4」である。
【００７９】
また、処理モード2が選択された描画コマンド901には、イメージ属性領域、図形属性領域、図形・グレイ属性領域、文字・グレイ属性領域、線・グレイ属性領域、小文字・グレイ属性領域、細線・グレイ属性領域の七種類の属性領域が存在する可能性がある。
【００８０】
なお、属性領域の種類が多い処理モードは、詳細な画像処理の切り替えが可能なことから、通常、高画質を目的とする処理モードである。一方、属性領域の種類が少ない処理モードは、画像処理の細分化が少ない分、高速な処理が可能な場合が多く、通常、高速印刷を目的とする処理モードである。
【００８１】
属性情報テーブル作成部406は、属性判定部405により描画コマンドに含まれる属性領域が判定された後、描画コマンドに含まれる属性領域に対応する属性情報テーブル407を作成し、属性信号を定義する。なお、処理モード1において存在し得る属性領域は四種類であるから新規に定義する属性信号は2ビットになる。また、処理モード2において存在し得る属性領域は七種類であるから新規に定義する属性信号は3ビットになる。
【００８２】
このように、実施例2によれば、属性領域の種類をカウントすることなく、描画コマンドに含まれる処理モードから適切なビット数の属性信号を定義することができる。従って、実施例1よりも属性信号を定義する処理を簡易化して、CPU 301の処理負荷を低減することができる。
【実施例３】
【００８３】
以下、本発明にかかる実施例3の画像処理を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００８４】
実施例3では、上記の実施例1および2で説明した方法を組み合わせて属性信号を定義する。すなわち、実施例2で説明した、選択された処理モードに応じた属性領域により属性信号を定義する方法を採用するか否かを決定する。実施例2の方法を採用しない場合は、実施例1で説明した、描画コマンドが含む属性領域の種類の数をカウントして属性信号を定義する方法を採用する。
【００８５】
プリンタドライバは、描画コマンドを作成する際、処理モード選択部902において選択された処理モードに従う。ただし、実施例3においては、ある処理モードにおいては規定の属性領域だけを含む描画コマンドを生成するが、他の処理モードでは属性領域の種類を規定せずに描画コマンドを生成する。なお、選択された処理モードの情報、および、属性領域の規定を示す情報は、実施例2と同様に、描画コマンドのジョブヘッダ501内の処理モード512に保持される。このようにして作成された描画コマンド901は、描画コマンド処理部105に入力される。
【００８６】
属性判定部405は、まず、実施例1、2と同様に、処理の際に用いる、全属性領域を記述したテーブルを作成する。次に、描画コマンド901の処理モード512から選択された処理モード、および、属性領域の規定を示す情報を読み出す。そして、属性領域が規定されている場合は、実施例2と同様に属性信号を定義する。また、属性領域が規定されていない場合は、実施例1と同様に属性信号を規定する。
【００８７】
なお、属性領域が規定されない処理モードは、属性領域の種類に制限がないことから詳細な画像処理の切り替えが可能であり、通常、高画質を目的とする処理モードに対応する。一方、属性領域が規定される処理モードは、画像処理の細分化を制御可能なことから、高速に処理可能である場合が多く、通常、高速印刷を目的とする処理モードに対応する。
【００８８】
このように、実施例3によれば、属性領域が規定される処理モード、されない処理モードがある場合に対応することができる。
【実施例４】
【００８９】
以下、本発明にかかる実施例4の画像処理を説明する。なお、実施例4において、実施例1〜3と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００９０】
上記では、描画コマンドが含む属性領域の種類が処理モードの選択に応じて規定される例を説明したが、処理モードに対応して属性領域の種類は規定する一方、描画コマンドが含む属性領域の種類は規定せずに、描画コマンドを受信した画像処理装置が、規定された属性領域の種類に丸め込むこともできる。
【００９１】
つまり、プリンタドライバは、描画コマンドを作成する際、処理モード選択部902において選択された処理モードを参照するが、実施例4では、処理モードにかかわらず属性領域の種類を規定せずに描画コマンドを生成する。また、ある処理モードにおいては属性領域の種類の数が規定され（描画コマンドが含む属性領域の種類を規定するわけではない）、他の処理モードでは属性領域の種類の数も規定しない。なお、選択された処理モードの情報、および、属性領域の種類の数を規定する情報は、実施例2、3と同様に、描画コマンドのジョブヘッダ501内の処理モード512に保持される。このようにして作成された描画コマンド901は、描画コマンド処理部105に入力される。
【００９２】
属性判定部405は、まず、実施例1〜3と同様に、処理の際に用いる、全属性領域を記述したテーブルを作成する。次に、描画コマンド901の処理モード512から選択された処理モード、および、属性領域の種類の数の規定を示す情報を読み出す。そして、属性領域の種類の数が規定されていない場合は、実施例1と同様に属性信号を定義する。
【００９３】
また、属性領域の種類の数が規定されている場合、属性判定部405は、描画オブジェクト403の生成時に描画コマンド901が含む属性領域を判定し、属性領域の種類をカウントするとともに、さらに、ビットマップ画像にレンダリング後の各属性領域の種類に対応する画素数を計算する。そして、もし、描画コマンドが含む属性領域の種類の数が規定された数を超える場合は、計算した画素数に基づき属性領域の種類を丸め込む処理を行い、属性領域の種類の数を規定された数に収める。
【００９４】
属性判定部405が行う画素数の計算方法は次のとおりである。描画オブジェクトがイメージデータの場合は、図6に示すイメージサイズ521を基にレンダリング後の画素数を計算する。また、文字データの場合は、文字ピッチおよびサイズ情報526を基にレンダリング後の画素数を計算する。また、図形データについては図13を用いて説明する。
【００９５】
図13は図形コード533による描画内容の一例を示す図である。図13において白色の四角形で示す画素は描画されない画素を示し、黒色の四角形で示す画素は図形コード533によって描画される画素を示す。このような描画を行う際、図形コード533には各スキャンラインにおける描画開始位置のX, Y座標および描画終了位置のX, Y座標が記述されている。属性判定部405は、図形データの画素数を計算する際、図形コード533が含む描画開始位置および描画終了位置を示す座標値から画素数を算出する。
【００９６】
次に、属性領域の種類を丸め込む処理を説明する。
【００９７】
属性領域の種類の数が規定の数を超える場合、属性領域の種類を画素数の多い順に並べて、上位から規定の数に入る種類を選択する。規定の数から漏れた属性領域は、詳細は後述するが、属性信号のビットの優先順位に従い、規定の数に入った属性領域に丸め込む。
【００９８】
図14は実施例4の属性判定部405が作成するテーブルの具体例を示す図である。
【００９９】
図14に示す属性列は、実施例のMFPに設定された全属性領域であり、各属性領域に対応して4ビットの属性信号が定義されている。
【０１００】
図14において、処理モード1は属性領域の種類の数が規定されない処理モードであり、実施例1の方法で属性信号を定義する。また、処理モード2および3は属性領域の種類の数が規定される処理モードである。なお、処理モード2および3において規定される属性領域の種類の数はともに四種類（2ビット）とする。
【０１０１】
処理モード2および3においては、描画コマンドが含む属性領域の種類を判定するとともに、上記で説明した方法によって属性領域の種類に対応する画素数を計算する。図14の処理モード2および3列に示す数値は画素数である。例えば、処理モード2においてイメージ属性領域に39584画素が、処理モード3においてイメージ属性領域に256画素が存在する。なお、処理モード2、3において入力される描画コマンド901は異なることは言うまでもない。
【０１０２】
このように各処理モードに応じて、属性領域の種類が判定および画素数が計算される。図14に示す例では、処理モード1の描画コマンド901が含む属性領域は六種類、処理モード2および3の描画コマンド901が含む属性領域は七種類である。
【０１０３】
次に、属性領域の種類の数が規定されない処理モード1は、実施例1と同様に、図15に示すような属性情報テーブル407を作成する。なお、描画コマンド901が含む属性領域の種類が六種類であるから、新規に定義する属性信号は3ビットになる。
【０１０４】
一方、属性領域の種類の数が規定される処理モード2および3においては、まず、描画コマンド901が含む属性領域の種類の数と、規定の数を比較する。図14においては、どちらの処理モードも、描画コマンド901が含む属性領域の種類の数「7」が、規定の数「4」を超過している。従って、属性領域の種類の数を丸め込む処理を行う。
【０１０５】
図16は処理モード2における属性領域の種類の数を丸め込む処理を説明する図である。
【０１０６】
処理モード2では、丸め込む処理に用いる属性信号のビットの優先順位が図14に示すように予め決められている。この優先順位に応じて丸め込む処理を行う。
【０１０７】
まず、処理モード2の描画コマンドにおける、規定の数「4」に入る上位の（画素数が多い）属性領域の種類について、実施例1と同様に、属性情報テーブル407を作成する。なお、規定の数は「4」であるから、新規に定義する属性信号は2ビットである。
【０１０８】
図16に示すよう、まず、描画コマンドが含む属性領域の種類のうち画素数が多い上位四種類の属性領域（イメージ属性領域、図形・グレイ属性領域、文字・グレイ属性領域、線・グレイ属性領域）について、デフォルトの属性信号の定義（つまり出力画像処理部411が使用する属性信号の定義）と、新規に作成する属性信号の定義の対応を下記のように記述する。
イメージ属性領域：0000 → 00
図形・グレイ属性領域：0011 → 01
文字・グレイ属性領域：0101 → 10
線・グレイ属性領域：0111 → 11
【０１０９】
また、上位四種類以外の属性領域（図形属性領域、小文字・グレイ属性領域、細線・グレイ属性領域）については、図14に示す処理モード2における属性信号の優先順位に従い、属性領域の種類の数を丸め込む処理を行う。
【０１１０】
処理モード2における属性信号の優先順位は、最優先ビットはビット1（グラフィックスビット）、次にビット2（テキストビット）、ビット3（細/小ビット）、優先度が最小のビットはビット0（グレイビット）である。従って、図形属性領域のデフォルトの属性信号‘0010’のビット1〜3を参照すると‘001*’が得られる。上位四種類の属性領域において、‘001*’にマッチするデフォルトの属性信号をもつのは‘0011’の図形・グレイ属性領域である。そこで、図形属性領域は図形・グレイ属性領域に丸め込む。
【０１１１】
次に、小文字・グレイ属性領域は、デフォルトの属性信号‘1101’のビット1〜3を参照すると‘110*’が得られる。しかし、‘110*’にマッチするデフォルトの属性信号をもつ属性領域は存在しないので、ビット0に加えて次に優先度が低いビット3も除外してビット1、2を参照する。この場合は‘*10*’が得られるので、上位四種類の属性領域において、‘*10*’にマッチするデフォルトの属性信号をもつのは‘0101’の文字・グレイ属性領域である。そこで、小文字・グレイ属性領域は文字・グレイ属性領域に丸め込む。
【０１１２】
細線・グレイ属性領域もビット1〜3ではマッチする属性領域が得られないので、ビット1、2を参照して‘*11*’を得る。これにマッチするのは、‘0111’の線・グレイ属性領域である。そこで、細線・グレイ属性領域は線・グレイ属性領域に丸め込む。
【０１１３】
つまり、図形属性領域、小文字・グレイ属性領域、細線・グレイ属性領域に対して下記のように属性信号を定義する。
図形属性領域：01（図形・グレイ属性領域に丸め込む）
小文字・グレイ属性領域：10（文字・グレイ属性領域に丸め込む）
細線・グレイ属性領域：11（線・グレイ属性領域に丸め込む）
【０１１４】
丸め込む処理に使用する属性信号のビットの優先順位は、処理モードに応じて変更可能である。例えば、処理モード3の属性信号のビットの優先順位は、図14に示すように、最優先ビットがビット2（テキストビット）、次にビット3（細/小ビット）、ビット1（グラフィクスビット）、優先度が最小のビットはビット0（グレイビット）である。
【０１１５】
図17は処理モード3における属性領域の種類の数を丸め込む処理を説明する図である。
【０１１６】
まず、処理モード3の描画コマンドにおける、規定の数「4」に入る上位の（画素数が多い）属性領域の種類について、実施例1と同様に、属性情報テーブル407を作成する。なお、規定の数は「4」であるから、新規に定義する属性信号は2ビットである。
【０１１７】
図17に示すよう、まず、描画コマンドが含む属性領域の種類のうち画素数が多い上位四種類の属性領域（図形・グレイ属性領域、文字・グレイ属性領域、線・グレイ属性領域、細線・グレイ属性領域）について、デフォルトの属性信号の定義と、新規に作成する属性信号の定義の対応を下記のように記述する。
図形・グレイ属性領域：0011 → 00
文字・グレイ属性領域：0101 → 01
線・グレイ属性領域：0111 → 10
細線・グレイ属性領域：1111 → 11
【０１１８】
また、上位四種類以外の属性領域（イメージ属性領域、図形属性領域、小文字・グレイ属性領域）については、図14に示す処理モード3における属性信号の優先順位に従い、属性領域の種類の数を丸め込む処理を行う。
【０１１９】
処理モード3における属性信号の優先順位は、最優先ビットはビット2（テクストビット）、次にビット3（細/小ビット）、ビット1（グラフィックスビット）、優先度が最小のビットはビット0（グレイビット）である。従って、イメージ属性領域のデフォルトの属性信号‘0000’のビット1〜3を参照すると‘000*’が得られるがマッチする属性領域がないので、ビット2、3を参照する。‘00**’にマッチするデフォルトの属性信号をもつのは‘0011’の図形・グレイ属性領域である。そこで、イメージ属性領域は図形・グレイ属性領域に丸め込む。
【０１２０】
次に、図形属性領域は、デフォルトの属性信号‘0010’のビット1〜3を参照すると‘001*’が得られ、マッチするデフォルトの属性信号をもつのは‘0011’の図形・グレイ属性領域である。そこで、図形属性領域は文字・グレイ属性領域に丸め込む。
【０１２１】
小文字・グレイ属性領域もビット1〜3ではマッチする属性領域が得られないので、ビット2、3を参照して‘11**’を得る。これにマッチするのは、‘1111’の細線・グレイ属性領域である。そこで、小文字・グレイ属性領域は細線・グレイ属性領域に丸め込む。
【０１２２】
つまり、イメージ属性領域、図形属性領域、小文字・グレイ属性領域に対して下記のように属性信号を定義する。
イメージ属性領域：00（図形・グレイ属性領域に丸め込む）
図形属性領域：00（図形・グレイ属性領域に丸め込む）
小文字・グレイ属性領域：11（線・グレイ属性領域に丸め込む）
【０１２３】
丸め込まれた属性領域に関しては、入力時の属性領域の種類、つまり元の属性領域の種類には変換されることはなく画像処理が適用される。出力画像処理部411は、例えば図16に示す属性情報テーブル407を用いて、図形・グレイ属性領域の属性信号‘01’をデフォルトの属性信号‘0011’に変換する。従って、図形・グレイ属性領域は、図形・グレイ属性領域として画像処理される。一方、丸め込まれた図形属性領域の属性信号は、デフォルトの属性信号‘0010’に変換されることはない。従って、図形属性領域は、図形・グレイ属性領域として画像処理される。
【０１２４】
なお、上記のマッチングにおいて、優先順にビットを取り出した、丸め込む属性領域の属性信号は、複数の属性領域の属性信号とマッチする可能性はある。この場合、どの属性領域に丸め込むかは特に問題としない。例えば、マッチする属性信号をもつ属性領域の中で最も画素数が多い属性領域に丸め込むなどすればよい。
【０１２５】
また、処理モードによって属性領域の種類の数は規定する一方、描画コマンドに含まれる属性領域の種類の数を規定しない場合、処理モードの選択は、ホストコンピュータ101だけでなく、MFP側でも可能である。つまり、操作部306および表示部305を利用して、処理モードを選択し、受信した描画コマンドが含む属性領域の種類を、MFP側で選択した処理モードに応じた数に丸め込むことができる。
【０１２６】
図18は実施例4における属性信号の生成および使用に関する処理を示すフローチャートで、CPU 301が実行する処理である。
【０１２７】
まず、ジョブヘッダ501の処理モード512を取得し(S1301)、取得した処理モード512から属性領域の種類の数が規定されるか否かを判定する(S1302)。属性領域の種類の数が規定されない場合は、描画コマンドが含む属性領域の種類の数をカウントし(S1303)、属性領域の種類の数から属性信号のビット数を決定して属性情報テーブル407を作成する(S1309)。
【０１２８】
一方、属性領域の種類の数が規定されている場合は、属性領域の種類の数をカウントし、属性領域の種類ごとに画素数を計算する(S1304)。もし、属性領域の種類の数が規定数以下か否かを判定し(S1305)、属性領域の種類の数から属性信号のビット数を決定して属性情報テーブル407を作成する(S1309)。
【０１２９】
また、属性領域の種類の数が規定数を超える場合は、処理モードに対応する属性信号のビットの優先順位を取得し(S1306)、属性領域の種類を画素数順に並べて規定数に入る属性領域の種類について、規定数に対応するビット数の属性情報テーブル407を作成する(S1307)。続いて、画素数の少なく、規定数に入らなかった属性領域の種類について、属性信号のビットの優先順位に基づき、属性領域の種類を丸め込み、属性情報テーブル407を完成する(S1308)。
【０１３０】
そして、レンダリングを行い、属性信号410を生成する(S1310)。
【０１３１】
このように、実施例4によれば、処理モードに対応して属性領域の種類は規定する一方、描画コマンドが含む属性領域の種類は規定しない場合に対応することができる。
【実施例５】
【０１３２】
以下、本発明にかかる実施例5の画像処理を説明する。なお、実施例5において、実施例1〜4と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１３３】
実施例4において、レンダリングによって生成する属性信号410は、属性情報テーブル407に記述された固定長の信号になる。しかし、属性領域の種類ごとの画素数が判明している場合、属性信号を可変長にした方が属性信号のデータサイズが小さくなる。実施例5では、一般に用いられる符号化手法を用いて、属性信号を可変長の信号にする例を説明する。
【０１３４】
実施例5においては、属性判定部405は、描画オブジェクトの生成時に、実施例4と同様に、ビットマップ画像にレンダリングした後の、属性領域の種類ごとの画素数を計算する。なお、画素数の計算方法は実施例4と同じである。
【０１３５】
実施例5において、新規に定義する属性信号のビット数は、描画コマンドが含む属性領域の種類の数によって決めるのではなく、属性領域の種類の出現率によって決定する。
【０１３６】
図19から図21は、実施例5における、属性判定部405および属性情報テーブル作成部406による属性情報テーブル407の作成方法を説明する図である。
【０１３７】
図19に示すように、画素数の計算と同時に、属性領域の種類の出現率、つまり（属性領域の種類ごとの画素数）/（ビットマップ画像全体の画素数）を計算する。
【０１３８】
図20は、ハフマン符号を用いて、有意の出現率を有する各属性領域の種類の出現率に基づき属性信号を定義した結果を示す図である。つまり、出現率の大きい順に属性領域の種類を並べ、ハフマン符号化の結果、属性信号の符号を決定する。
【０１３９】
図21はハフマン符号化の結果得られる属性情報テーブル407を示す図である。描画コマンドが含むすべての属性領域の種類について、出力画像処理部411が使用するデフォルトの属性信号と、新規に作成した属性信号の対応が記述されている。
【０１４０】
なお、可変長の属性信号の生成は、レンダリングアルゴリズムによって適用を変更する必要がある。つまり、ペインタアルゴリズムのように、描画オブジェクトを奥から手前にソートしてレンダリングする場合は可変長の属性信号を適用することができない。一方、スキャンラインアルゴリズムのように、各画素でレンダリングする場合は、可変長の属性信号を使用して、属性信号のデータサイズを小さくすることができる。
【０１４１】
このように、実施例5によれば、属性領域の種類の出現率に応じて可変長の属性信号を定義することで、属性信号のデータサイズを低減することができる。
【実施例６】
【０１４２】
以下、本発明にかかる実施例6の画像処理を説明する。なお、実施例6において、実施例1〜5と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１４３】
実施例1〜5においては、ホストコンピュータ101から受信した描画コマンドに基づき印刷を行う際の処理を説明した。実施例6では、スキャナ109やディジタルカメラ110などの画像入力装置102から入力したビットマップ画像を印刷する際の処理を説明する。
【０１４４】
図22は実施例6のMFPのコントローラソフトウェアによって実現される機能構成の概要を示すブロック図である。
【０１４５】
画像入力装置102から入力されるビットマップ画像1501は、入力画像処理部106に入力される。入力画像処理部106の像域判定部1502は、ビットマップ画像1501の各画素が含まれる属性領域を判定する。具体的には、画素値のヒストグラムを生成し、パターンマッチングを行うことで写真または文字、有彩色または無彩色、網点といった属性領域に画素を分類する。
【０１４６】
属性判定部1503は、像域判定部1502の判定結果（像域情報）を入力して、ビットマップ画像1501が含む属性領域の種類をカウントする。属性情報テーブル作成部1504は、属性領域の種類の数に基づき属性情報テーブル1506を作成する。なお、属性情報テーブル1506の作成方法は、実施例1などで説明した方法と同じとする。また、属性情報テーブル作成部1504は、属性情報テーブル1506を参照して、像域判定部1502の判定結果（像域情報）から属性信号1505を生成する。
【０１４７】
一方、フィルタ処理部1507は、属性信号1505と属性情報テーブル1506を参照して、属性領域を示す情報を取得し、文字属性領域に対して画像の高周波成分を強調して文字の鮮鋭度を強調するフィルタ処理を、網点属性領域に対しては所謂ローパスフィルタ処理を行い、スキャンされたディジタル画像データに特有のモアレ成分を除去する。
【０１４８】
このように、入力画像処理部106は、入力したビットマップ画像1501を、属性信号1505に基づき属性領域ごとにフィルタ処理したビットマップ画像1509、および、属性信号1510をデータ格納部1508に格納する。
【０１４９】
ビットマップ画像1509、属性信号1510および属性情報テーブル1506を生成した後の、出力画像処理部411の処理は、実施例1などと同じため詳細な説明は省略する。
【０１５０】
上記では、属性信号を生成する際の処理モードについて言及しなかったが、実施例2、3と同様に、処理モードに応じて属性領域の種類の数を制御することは容易である。また、実施例4における属性領域の種類の丸め込みや、実施例5における可変長の属性信号の作成に際して必要になる画素数の計算も、像域判定部1502における像域情報の取得時に可能である。
【０１５１】
このように、実施例6によれば、スキャナ109やディジタルカメラ110などの画像入力装置102から入力したビットマップ画像を印刷する際にも対応することができる。
【０１５２】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１５３】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１５４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１５５】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１５６】
【図１】画像処理装置の機能構成を示すブロック図、
【図２】文字、図形、イメージ、線という四種類の画像領域に対応する属性信号の例を示す図、
【図３】画像領域をより細かく分類する場合の属性信号の例を示す図、
【図４】MFPの構成例を示すブロック図、
【図５】MFPのコントローラソフトウェアによって実現される機能構成の概要を示すブロック図、
【図６】描画コマンドの構成例を示す図、
【図７】属性判定部が作成するテーブルの具体例を示す図、
【図８】属性情報テーブル作成部が作成するテーブルの具体例を示す図、
【図９】属性情報テーブル作成部が作成するテーブルの具体例を示す図、
【図１０】属性信号の生成および使用に関する処理を示すフローチャート、
【図１１】実施例2のMFPのコントローラソフトウェアによって実現される機能構成の概要を示すブロック図、
【図１２】属性判定部が作成するテーブルの具体例を示す図、
【図１３】図形コードによる描画内容の一例を示す図、
【図１４】実施例4の属性判定部が作成するテーブルの具体例を示す図、
【図１５】属性情報テーブルの一例を示す図、
【図１６】処理モード2における属性領域の種類の数を丸め込む処理を説明する図、
【図１７】処理モード3における属性領域の種類の数を丸め込む処理を説明する図、
【図１８】属性信号の生成および使用に関する処理を示すフローチャート、
【図１９】実施例5における、属性判定部および属性情報テーブル作成部による属性情報テーブルの作成方法を説明する図、
【図２０】属性判定部および属性情報テーブル作成部による属性情報テーブルの作成方法を説明する図、
【図２１】属性判定部および属性情報テーブル作成部による属性情報テーブルの作成方法を説明する図、
【図２２】実施例6のMFPのコントローラソフトウェアによって実現される機能構成の概要を示すブロック図である。
【図１】
2006341446.tif 000003
【図２】
2006341446.tif 000004
【図３】
2006341446.tif 000005
【図４】
2006341446.tif 000006
【図５】
2006341446.tif 000007
【図６】
2006341446.tif 000008
【図７】
2006341446.tif 000009
【図８】
2006341446.tif 000010
【図９】
2006341446.tif 000011
【図１０】
2006341446.tif 000012
【図１１】
2006341446.tif 000013
【図１２】
2006341446.tif 000014
【図１３】
2006341446.tif 000015
【図１４】
2006341446.tif 000016
【図１５】
2006341446.tif 000017
【図１６】
2006341446.tif 000018
【図１７】
2006341446.tif 000019
【図１８】
2006341446.tif 000020
【図１９】
2006341446.tif 000021
【図２０】
2006341446.tif 000022
【図２１】
2006341446.tif 000023
【図２２】
2006341446.tif 000024