(57)【要約】【課題】描画処理を高速化し、高画質を保持できる画像処理装置および画像処理方法を提供する。【解決手段】Ｉｎｄｅｘ値による描画と、必要な画素または領域のみにする描画情報の色値を用いた描画を、Ｉｎｄｅｘ値（Ｉｎｄｅｘ番号または属性情報）に応じて一方または両方行うことにより、描画処理を高速化し、かつ、高画質を保持する。特に、Ｉｎｄｅｘテーブルのキーとして用いるＩｎｄｅｘ番号の衝突が起きる場合や、写真画像の描画を行う場合には、Ｉｎｄｅｘ値による描画と描画情報の色値を用いた描画とを行う。【選択図】図３
2010220044.tif 000002
【特許請求の範囲】
【請求項１】
入力情報を解析し、色情報を含む描画情報を生成する描画情報生成手段と、
生成された前記描画情報の色情報からハッシュ関数を用いてＩｎｄｅｘ番号を生成するＩｎｄｅｘ番号生成手段と、
前記Ｉｎｄｅｘ番号生成手段により生成されたＩｎｄｅｘ番号が、未使用で有るか判定するＩｎｄｅｘ未使用判定手段と、
前記Ｉｎｄｅｘ未使用判定手段により、前記Ｉｎｄｅｘ番号が未使用と判定された場合に、Ｉｎｄｅｘテーブルとして前記Ｉｎｄｅｘ番号および前記色情報の組が格納されるＩｎｄｅｘテーブル記憶手段と、
前記Ｉｎｄｅｘ未使用判定手段により、前記Ｉｎｄｅｘ番号が使用済みであると判定された場合に、前記Ｉｎｄｅｘテーブル記憶手段に格納されたＩｎｄｅｘ番号に対応する色情報を取得し、該色情報が、前記描画情報の色情報と同一であるか判断するＩｎｄｅｘ色判断手段と、
前記Ｉｎｄｅｘ色判断手段により、前記２つの色情報が同一であると判定された場合に、Ｉｎｄｅｘ番号を描画するＩｎｄｅｘ番号描画手段と、
前記Ｉｎｄｅｘ番号描画手段により描画されるＩｎｄｅｘページのＩｎｄｅｘ値を記憶するＩｎｄｅｘデータ記憶手段と、
前記Ｉｎｄｅｘ色判断手段により、前記２つの色情報が異なると判定された場合に、Ｉｎｄｅｘ番号として使用しない値であって描画する画像の属性を示す値を前記Ｉｎｄｅｘページに描画する属性情報描画手段と、
前記Ｉｎｄｅｘ色判断手段により、前記２つの色情報が異なると判定された場合に、前記描画情報の色情報が示す色値を描画する描画手段と、
前記描画手段により描画されるページからなる画像データを記憶する画像データ記憶手段と、
前記Ｉｎｄｅｘデータ記憶手段に記憶されたＩｎｄｅｘ値と前記画像データ記憶手段に記憶された色情報とを画素毎に読み込み、読み込んだＩｎｄｅｘ値に基づいて、Ｉｎｄｅｘ番号に対しては前記ＩｎｄｅｘテーブルをアクセスすることによりＩｎｄｅｘ番号を色情報へ変換した変換後の色情報を用い、描画する画像の属性を示す値のＩｎｄｅｘ値に対しては前記画像データ記憶手段に記憶された色情報を用いて、該色情報からなる画像データを出力するＩｎｄｅｘ値変換手段と、
前記Ｉｎｄｅｘ値変換手段からの画像データに画像処理を行う画像処理手段と
を有することを特徴とする画像処理装置。
【請求項２】
入力情報を解析し、色情報を含む描画情報を生成する描画情報生成手段と、
生成された前記描画情報の色情報からハッシュ関数を用いてＩｎｄｅｘ番号を生成するＩｎｄｅｘ番号生成手段と、
前記Ｉｎｄｅｘ番号生成手段により生成されたＩｎｄｅｘ番号が、未使用で有るか判定するＩｎｄｅｘ未使用判定手段と、
前記Ｉｎｄｅｘ未使用判定手段により、前記Ｉｎｄｅｘ番号が未使用と判定された場合に、Ｉｎｄｅｘテーブルとして前記Ｉｎｄｅｘ番号と描画する画像の属性情報を含めた前記色情報とからなる組が格納されるＩｎｄｅｘテーブル記憶手段と、
前記Ｉｎｄｅｘ未使用判定手段により、前記Ｉｎｄｅｘ番号が使用済みであると判定された場合に、前記Ｉｎｄｅｘテーブル記憶手段に格納されたＩｎｄｅｘ番号に対応する色情報を取得し、該色情報の示す色が、前記描画情報の色情報の示す色と同一であるか判断するＩｎｄｅｘ色判断手段と、
前記描画情報から、描画するオブジェクトが少ない色数で描画されるか否か判断し、描画する画素の属性を決定する描画属性判断手段と、
前記描画属性判断手段により、描画するオブジェクトが少ない色数で描画されるものであると判定され、かつ、前記Ｉｎｄｅｘ色判断手段により、前記２つの色情報の示す色が同一であると判定された場合に、Ｉｎｄｅｘ番号を描画するＩｎｄｅｘ番号描画手段と、
前記Ｉｎｄｅｘ番号描画手段により描画されるＩｎｄｅｘページのＩｎｄｅｘ値を記憶するＩｎｄｅｘデータ記憶手段と、
前記Ｉｎｄｅｘ色判断手段により、前記２つの色情報が異なると判定された場合に、Ｉｎｄｅｘ番号として使用しない値であって描画する画像の属性を示す値を前記Ｉｎｄｅｘページに描画する属性情報描画手段と、
前記Ｉｎｄｅｘ色判断手段により、前記２つの色情報が異なると判定された場合に、前記描画情報の色情報が示す色値を描画する描画手段と、
前記描画手段により描画されるページからなる画像データを記憶する画像データ記憶手段と、
前記Ｉｎｄｅｘデータ記憶手段に記憶されたＩｎｄｅｘ値と前記画像データ記憶手段に記憶された色情報とを画素毎に読み込み、読み込んだＩｎｄｅｘ値に基づいて、Ｉｎｄｅｘ番号に対しては前記ＩｎｄｅｘテーブルをアクセスすることによりＩｎｄｅｘ番号を色情報へ変換した変換後の色情報を用い、描画する画像の属性を示す値のＩｎｄｅｘ値に対しては前記画像データ記憶手段に記憶された色情報を用いて、これらの色情報を用いた画像データと、前記描画属性判断手段により決定された属性情報とを出力するＩｎｄｅｘ値変換手段と、
前記Ｉｎｄｅｘ値変換手段からの画像データと属性情報を用いて、該属性情報に基づき前記画像データに画像処理を行う画像処理手段と
を有することを特徴とする画像処理装置。
【請求項３】
前記描画属性判断手段は、描画するオブジェクトがグラフィックス画像または文字画像である場合に、描画するオブジェクトが少ない色数で描画されると判断することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記描画属性判断手段は、描画するオブジェクトが写真画像でない場合に、描画するオブジェクトが少ない色数で描画されると判断することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
画像処理装置における画像処理方法であって、
入力情報を解析し、色情報を含む描画情報を生成する描画情報生成工程と、
生成された前記描画情報の色情報からハッシュ関数を用いてＩｎｄｅｘ番号を生成するＩｎｄｅｘ番号生成工程と、
前記Ｉｎｄｅｘ番号生成工程により生成されたＩｎｄｅｘ番号が、未使用で有るか判定するＩｎｄｅｘ未使用判定工程と、
前記Ｉｎｄｅｘ未使用判定工程により、前記Ｉｎｄｅｘ番号が未使用と判定された場合に、Ｉｎｄｅｘテーブルとして前記Ｉｎｄｅｘ番号および前記色情報の組が格納されるＩｎｄｅｘテーブル記憶手段に、該Ｉｎｄｅｘ番号および前記色情報の組を格納するＩｎｄｅｘテーブル記憶工程と、
前記Ｉｎｄｅｘ未使用判定工程により、前記Ｉｎｄｅｘ番号が使用済みであると判定された場合に、前記Ｉｎｄｅｘテーブル記憶手段に格納されたＩｎｄｅｘ番号に対応する色情報を取得し、該色情報が、前記描画情報の色情報と同一であるか判断するＩｎｄｅｘ色判断工程と、
前記Ｉｎｄｅｘ色判断工程により、前記２つの色情報が同一であると判定された場合に、Ｉｎｄｅｘ番号を描画するＩｎｄｅｘ番号描画工程と、
前記Ｉｎｄｅｘ番号描画工程により描画されるＩｎｄｅｘページのＩｎｄｅｘ値を記憶するＩｎｄｅｘデータ記憶手段に、該ＩｎｄｅｘページのＩｎｄｅｘ値を記憶するＩｎｄｅｘデータ記憶工程と、
前記Ｉｎｄｅｘ色判断工程により、前記２つの色情報が異なると判定された場合に、Ｉｎｄｅｘ番号として使用しない値であって描画する画像の属性を示す値を前記Ｉｎｄｅｘページに描画する属性情報描画工程と、
前記Ｉｎｄｅｘ色判断工程により、前記２つの色情報が異なると判定された場合に、前記描画情報の色情報が示す色値を描画する描画工程と、
前記描画工程により描画されるページからなる画像データを記憶する画像データ記憶手段に、該画像データを記憶する画像データ記憶工程と、
前記Ｉｎｄｅｘデータ記憶手段に記憶されたＩｎｄｅｘ値と前記画像データ記憶手段に記憶された色情報とを画素毎に読み込み、読み込んだＩｎｄｅｘ値に基づいて、Ｉｎｄｅｘ番号に対しては前記ＩｎｄｅｘテーブルをアクセスすることによりＩｎｄｅｘ番号を色情報へ変換した変換後の色情報を用い、描画する画像の属性を示す値のＩｎｄｅｘ値に対しては前記画像データ記憶手段に記憶された色情報を用いて、該色情報からなる画像データを出力するＩｎｄｅｘ値変換工程と、
前記Ｉｎｄｅｘ値変換工程からの画像データに画像処理を行う画像処理工程と
を含むことを特徴とする画像処理方法。
【請求項６】
画像処理装置における画像処理方法であって、
入力情報を解析し、色情報を含む描画情報を生成する描画情報生成工程と、
生成された前記描画情報の色情報からハッシュ関数を用いてＩｎｄｅｘ番号を生成するＩｎｄｅｘ番号生成工程と、
前記Ｉｎｄｅｘ番号生成工程により生成されたＩｎｄｅｘ番号が、未使用で有るか判定するＩｎｄｅｘ未使用判定工程と、
前記Ｉｎｄｅｘ未使用判定工程により、前記Ｉｎｄｅｘ番号が未使用と判定された場合に、Ｉｎｄｅｘテーブルとして前記Ｉｎｄｅｘ番号と描画する画像の属性情報を含めた前記色情報とからなる組が格納されるＩｎｄｅｘテーブル記憶手段に、該Ｉｎｄｅｘ番号と描画する画像の属性情報を含めた前記色情報とからなる組を格納するＩｎｄｅｘテーブル記憶工程と、
前記Ｉｎｄｅｘ未使用判定工程により、前記Ｉｎｄｅｘ番号が使用済みであると判定された場合に、前記Ｉｎｄｅｘテーブル記憶手段に格納されたＩｎｄｅｘ番号に対応する色情報を取得し、該色情報の示す色が、前記描画情報の色情報の示す色と同一であるか判断するＩｎｄｅｘ色判断工程と、
前記描画情報から、描画するオブジェクトが少ない色数で描画されるか否か判断し、描画する画素の属性を決定する描画属性判断工程と、
前記描画属性判断工程により、描画するオブジェクトが少ない色数で描画されるものであると判定され、かつ、前記Ｉｎｄｅｘ色判断工程により、前記２つの色情報の示す色が同一であると判定された場合に、Ｉｎｄｅｘ番号を描画するＩｎｄｅｘ番号描画工程と、
前記Ｉｎｄｅｘ番号描画工程により描画されるＩｎｄｅｘページのＩｎｄｅｘ値を記憶するＩｎｄｅｘデータ記憶工程と、
前記Ｉｎｄｅｘ色判断工程により、前記２つの色情報が異なると判定された場合に、Ｉｎｄｅｘ番号として使用しない値であって描画する画像の属性を示す値を前記Ｉｎｄｅｘページに描画する属性情報描画工程と、
前記Ｉｎｄｅｘ色判断工程により、前記２つの色情報が異なると判定された場合に、前記描画情報の色情報が示す色値を描画する描画工程と、
前記描画工程により描画されるページからなる画像データを記憶する画像データ記憶手段に、該画像データを記憶する画像データ記憶工程と、
前記Ｉｎｄｅｘデータ記憶手段に記憶されたＩｎｄｅｘ値と前記画像データ記憶手段に記憶された色情報とを画素毎に読み込み、読み込んだＩｎｄｅｘ値に基づいて、Ｉｎｄｅｘ番号に対しては前記ＩｎｄｅｘテーブルをアクセスすることによりＩｎｄｅｘ番号を色情報へ変換した変換後の色情報を用い、描画する画像の属性を示す値のＩｎｄｅｘ値に対しては前記画像データ記憶手段に記憶された色情報を用いて、これらの色情報を用いた画像データと、前記描画属性判断工程により決定された属性情報とを出力するＩｎｄｅｘ値変換工程と、
前記Ｉｎｄｅｘ値変換工程からの画像データと属性情報を用いて、該属性情報に基づき前記画像データに画像処理を行う画像処理工程と
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
従来、プリンタは、ネットワークから受け取ったＰＤＬデータをバンド単位に階調処理した後のＣＭＹＫデータを用いて描画している。また、後でプリントアウトするため、ＪＢＩＧなどの圧縮アルゴリズムにより画像データ（ＣＭＹＫデータ）を符号化し、符号化後のデータをメモリに格納するものもある。近年では高画質化が求められ、高画質化に対応するため、ＲＯＰ処理（論理演算処理）や半透明処理をＲＧＢデータを用いて行うプリンタもある。
【０００３】
特許文献１では、ＲＧＢ−＞ＣＭＹＫの色変換処理において、色変換ごとに、変換前の色と変換後の色をハッシュ関数値でワークメモリ上に登録し、色変換前に変換前の色をハッシュ関数値でワークメモリに登録されているか検索し、登録されていれば、その変換後の色値を使用することにより、色変換処理を高速化する技術が開示されている。
【０００４】
また、特許文献２では描画処理前にバンド単位に描画する色数をカウントし、バンド全体の色数が２色以下である場合、１ｂｉｔのカラーパレットでバンドを描画し、バンド全体の色数が４色以下である場合、２ｂｉｔのカラーパレットでバンドを描画するなど、バンドで使用する色数に応じてカラーパレットのＢＩＴ数を変更し、描画することにより、描画処理時間の軽減と、バンドメモリ量の軽減を行っている。
【０００５】
また、特許文献３では、画像の属性に応じた適切なデータ処理を実現するため、多値のカラー描画された結果を格納する画像用メモリとその画素単位に対応する属性メモリを有して、属性メモリには複数ＢＩＴを使用し、属性値（文字／写真／図形など）を保持する形態と、多値のカラー描画された結果を格納する画像用メモリのみを有し、ＲＧＢ値のＢｌｕｅの８ｂｉｔの下位３ｂｉｔを属性値（文字／写真／図形など）用に使用することにより、メモリ容量を削減する形態が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献２に開示された技術のようにバンド単位にカラーパレットのフォーマットを変更する場合、文字のみの文章では、確かに高速化可能であるが、グラフィックス画像や、写真画像が少しでも含まれるとそのバンドはサイズの大きなフォーマットになり、白地の部分もサイズの大きなフォーマットで描画する必要があり、圧縮率は悪くなり低速化する。また、カラーパレットを生成する時に描画する色とカラーパレットの色（２５６色）を順次比較しているが、このように、描画する度に毎回、２５６個のカラーパレットの比較を行うと処理スピードが遅くなる。
【０００７】
これは特許文献１の技術のようにハッシュ関数を使用し、求めたキー値のアドレスのカラーパレットと比較すれば、問題は解決するが、ハッシュ関数は、カラーパレットとＲＧＢ全ての色とを１対１に対応させることはできないので、キーの衝突を起こしてしまう。特許文献１の色変換装置では、キーの衝突を起こした場合、再度その色は演算し直しているが、描画処理を考えた場合、特許文献２のようにカラーパレットのみのフォーマットでは、その部分だけをＲＧＢ値で描画するといったことはできない。また、特許文献２では、バンド内部に１つでもＲＯＰ演算処理が含まれる場合は、そのバンドを全てＲＧＢの２４ｂｉｔで描画する必要があり、処理速度を低下させる。
【０００８】
また、特許文献３の技術のように、画像の属性に応じた適切なデータ処理を実現するために、属性メモリを別途用意するのはコストアップにつながり、また、メモリ容量を削減するため、画像用メモリのみを有し、ＲＧＢ値のＢｌｕｅの８ｂｉｔの下位３ｂｉｔを属性値（文字／写真／図形など）用に使用するのでは、画質の低下へとつながり、高画質を保持できない。
【０００９】
本発明は、上記に鑑みてなされたものであって、描画処理を高速化し、高画質を保持できる画像処理装置および画像処理方法を提供するものである。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明の画像処理装置は、入力情報を解析し、色情報を含む描画情報を生成する描画情報生成手段（３０２）と、生成された前記描画情報の色情報からハッシュ関数を用いてＩｎｄｅｘ番号を生成するＩｎｄｅｘ番号生成手段（３０５）と、前記Ｉｎｄｅｘ番号生成手段により生成されたＩｎｄｅｘ番号が、未使用で有るか判定するＩｎｄｅｘ未使用判定手段（３０５）と、前記Ｉｎｄｅｘ未使用判定手段により、前記Ｉｎｄｅｘ番号が未使用と判定された場合に、Ｉｎｄｅｘテーブルとして前記Ｉｎｄｅｘ番号および前記色情報の組が格納されるＩｎｄｅｘテーブル記憶手段（３０６）と、前記Ｉｎｄｅｘ未使用判定手段により、前記Ｉｎｄｅｘ番号が使用済みであると判定された場合に、前記Ｉｎｄｅｘテーブル記憶手段に格納されたＩｎｄｅｘ番号に対応する色情報を取得し、該色情報が、前記描画情報の色情報と同一であるか判断するＩｎｄｅｘ色判断手段（３０７）と、前記Ｉｎｄｅｘ色判断手段により、前記２つの色情報が同一であると判定された場合に、Ｉｎｄｅｘ番号を描画するＩｎｄｅｘ番号描画手段（３０９）と、前記Ｉｎｄｅｘ番号描画手段により描画されるＩｎｄｅｘページのＩｎｄｅｘ値を記憶するＩｎｄｅｘデータ記憶手段（３１１）と、前記Ｉｎｄｅｘ色判断手段により、前記２つの色情報が異なると判定された場合に、Ｉｎｄｅｘ番号として使用しない値であって描画する画像の属性を示す値を前記Ｉｎｄｅｘページに描画する属性情報描画手段（３０９）と、前記Ｉｎｄｅｘ色判断手段により、前記２つの色情報が異なると判定された場合に、前記描画情報の色情報が示す色値を描画する描画手段（３０８）と、前記描画手段により描画されるページからなる画像データを記憶する画像データ記憶手段（３１０）と、前記Ｉｎｄｅｘデータ記憶手段に記憶されたＩｎｄｅｘ値と前記画像データ記憶手段に記憶された色情報とを画素毎に読み込み、読み込んだＩｎｄｅｘ値に基づいて、Ｉｎｄｅｘ番号に対しては前記ＩｎｄｅｘテーブルをアクセスすることによりＩｎｄｅｘ番号を色情報へ変換した変換後の色情報を用い、描画する画像の属性を示す値のＩｎｄｅｘ値に対しては前記画像データ記憶手段に記憶された色情報を用いて、該色情報からなる画像データを出力するＩｎｄｅｘ値変換手段（３１２，３１３）と、前記Ｉｎｄｅｘ値変換手段からの画像データに画像処理を行う画像処理手段（３１４）とを有することを特徴とする。
【００１１】
また、本発明の画像処理装置は、入力情報を解析し、色情報を含む描画情報を生成する描画情報生成手段と、生成された前記描画情報の色情報からハッシュ関数を用いてＩｎｄｅｘ番号を生成するＩｎｄｅｘ番号生成手段と、前記Ｉｎｄｅｘ番号生成手段により生成されたＩｎｄｅｘ番号が、未使用で有るか判定するＩｎｄｅｘ未使用判定手段と、前記Ｉｎｄｅｘ未使用判定手段により、前記Ｉｎｄｅｘ番号が未使用と判定された場合に、Ｉｎｄｅｘテーブルとして前記Ｉｎｄｅｘ番号と描画する画像の属性情報を含めた前記色情報とからなる組が格納されるＩｎｄｅｘテーブル記憶手段と、前記Ｉｎｄｅｘ未使用判定手段により、前記Ｉｎｄｅｘ番号が使用済みであると判定された場合に、前記Ｉｎｄｅｘテーブル記憶手段に格納されたＩｎｄｅｘ番号に対応する色情報を取得し、該色情報の示す色が、前記描画情報の色情報の示す色と同一であるか判断するＩｎｄｅｘ色判断手段と、前記描画情報から、描画するオブジェクトが少ない色数で描画されるか否か判断し、描画する画素の属性を決定する描画属性判断手段（３０４）と、前記描画属性判断手段により、描画するオブジェクトが少ない色数で描画されるものであると判定され、かつ、前記Ｉｎｄｅｘ色判断手段により、前記２つの色情報の示す色が同一であると判定された場合に、Ｉｎｄｅｘ番号を描画するＩｎｄｅｘ番号描画手段と、前記Ｉｎｄｅｘ番号描画手段により描画されるＩｎｄｅｘページのＩｎｄｅｘ値を記憶するＩｎｄｅｘデータ記憶手段と、前記Ｉｎｄｅｘ色判断手段により、前記２つの色情報が異なると判定された場合に、Ｉｎｄｅｘ番号として使用しない値であって描画する画像の属性を示す値を前記Ｉｎｄｅｘページに描画する属性情報描画手段と、前記Ｉｎｄｅｘ色判断手段により、前記２つの色情報が異なると判定された場合に、前記描画情報の色情報が示す色値を描画する描画手段と、前記描画手段により描画されるページからなる画像データを記憶する画像データ記憶手段と、前記Ｉｎｄｅｘデータ記憶手段に記憶されたＩｎｄｅｘ値と前記画像データ記憶手段に記憶された色情報とを画素毎に読み込み、読み込んだＩｎｄｅｘ値に基づいて、Ｉｎｄｅｘ番号に対しては前記ＩｎｄｅｘテーブルをアクセスすることによりＩｎｄｅｘ番号を色情報へ変換した変換後の色情報を用い、描画する画像の属性を示す値のＩｎｄｅｘ値に対しては前記画像データ記憶手段に記憶された色情報を用いて、これらの色情報を用いた画像データと、前記描画属性判断手段により決定された属性情報とを出力するＩｎｄｅｘ値変換手段（１６１２）と、前記Ｉｎｄｅｘ値変換手段からの画像データと属性情報を用いて、該属性情報に基づき前記画像データに画像処理を行う画像処理手段とを有することを特徴とする。
【００１２】
また、本発明は、画像処理装置における画像処理方法であって、入力情報を解析し、色情報を含む描画情報を生成する描画情報生成工程と、生成された前記描画情報の色情報からハッシュ関数を用いてＩｎｄｅｘ番号を生成するＩｎｄｅｘ番号生成工程と、前記Ｉｎｄｅｘ番号生成工程により生成されたＩｎｄｅｘ番号が、未使用で有るか判定するＩｎｄｅｘ未使用判定工程と、前記Ｉｎｄｅｘ未使用判定工程により、前記Ｉｎｄｅｘ番号が未使用と判定された場合に、Ｉｎｄｅｘテーブルとして前記Ｉｎｄｅｘ番号および前記色情報の組が格納されるＩｎｄｅｘテーブル記憶手段に、該Ｉｎｄｅｘ番号および前記色情報の組を格納するＩｎｄｅｘテーブル記憶工程と、前記Ｉｎｄｅｘ未使用判定工程により、前記Ｉｎｄｅｘ番号が使用済みであると判定された場合に、前記Ｉｎｄｅｘテーブル記憶手段に格納されたＩｎｄｅｘ番号に対応する色情報を取得し、該色情報が、前記描画情報の色情報と同一であるか判断するＩｎｄｅｘ色判断工程と、前記Ｉｎｄｅｘ色判断工程により、前記２つの色情報が同一であると判定された場合に、Ｉｎｄｅｘ番号を描画するＩｎｄｅｘ番号描画工程と、前記Ｉｎｄｅｘ番号描画工程により描画されるＩｎｄｅｘページのＩｎｄｅｘ値を記憶するＩｎｄｅｘデータ記憶手段に、該ＩｎｄｅｘページのＩｎｄｅｘ値を記憶するＩｎｄｅｘデータ記憶工程と、前記Ｉｎｄｅｘ色判断工程により、前記２つの色情報が異なると判定された場合に、Ｉｎｄｅｘ番号として使用しない値であって描画する画像の属性を示す値を前記Ｉｎｄｅｘページに描画する属性情報描画工程と、前記Ｉｎｄｅｘ色判断工程により、前記２つの色情報が異なると判定された場合に、前記描画情報の色情報が示す色値を描画する描画工程と、前記描画工程により描画されるページからなる画像データを記憶する画像データ記憶手段に、該画像データを記憶する画像データ記憶工程と、前記Ｉｎｄｅｘデータ記憶手段に記憶されたＩｎｄｅｘ値と前記画像データ記憶手段に記憶された色情報とを画素毎に読み込み、読み込んだＩｎｄｅｘ値に基づいて、Ｉｎｄｅｘ番号に対しては前記ＩｎｄｅｘテーブルをアクセスすることによりＩｎｄｅｘ番号を色情報へ変換した変換後の色情報を用い、描画する画像の属性を示す値のＩｎｄｅｘ値に対しては前記画像データ記憶手段に記憶された色情報を用いて、該色情報からなる画像データを出力するＩｎｄｅｘ値変換工程と、前記Ｉｎｄｅｘ値変換工程からの画像データに画像処理を行う画像処理工程とを含むことを特徴とする。
【００１３】
また、本発明は、画像処理装置における画像処理方法であって、入力情報を解析し、色情報を含む描画情報を生成する描画情報生成工程と、生成された前記描画情報の色情報からハッシュ関数を用いてＩｎｄｅｘ番号を生成するＩｎｄｅｘ番号生成工程と、前記Ｉｎｄｅｘ番号生成工程により生成されたＩｎｄｅｘ番号が、未使用で有るか判定するＩｎｄｅｘ未使用判定工程と、前記Ｉｎｄｅｘ未使用判定工程により、前記Ｉｎｄｅｘ番号が未使用と判定された場合に、Ｉｎｄｅｘテーブルとして前記Ｉｎｄｅｘ番号と描画する画像の属性情報を含めた前記色情報とからなる組が格納されるＩｎｄｅｘテーブル記憶手段に、該Ｉｎｄｅｘ番号と描画する画像の属性情報を含めた前記色情報とからなる組を格納するＩｎｄｅｘテーブル記憶工程と、前記Ｉｎｄｅｘ未使用判定工程により、前記Ｉｎｄｅｘ番号が使用済みであると判定された場合に、前記Ｉｎｄｅｘテーブル記憶手段に格納されたＩｎｄｅｘ番号に対応する色情報を取得し、該色情報の示す色が、前記描画情報の色情報の示す色と同一であるか判断するＩｎｄｅｘ色判断工程と、前記描画情報から、描画するオブジェクトが少ない色数で描画されるか否か判断し、描画する画素の属性を決定する描画属性判断工程と、前記描画属性判断工程により、描画するオブジェクトが少ない色数で描画されるものであると判定され、かつ、前記Ｉｎｄｅｘ色判断工程により、前記２つの色情報の示す色が同一であると判定された場合に、Ｉｎｄｅｘ番号を描画するＩｎｄｅｘ番号描画工程と、前記Ｉｎｄｅｘ番号描画工程により描画されるＩｎｄｅｘページのＩｎｄｅｘ値を記憶するＩｎｄｅｘデータ記憶工程と、前記Ｉｎｄｅｘ色判断工程により、前記２つの色情報が異なると判定された場合に、Ｉｎｄｅｘ番号として使用しない値であって描画する画像の属性を示す値を前記Ｉｎｄｅｘページに描画する属性情報描画工程と、前記Ｉｎｄｅｘ色判断工程により、前記２つの色情報が異なると判定された場合に、前記描画情報の色情報が示す色値を描画する描画工程と、前記描画工程により描画されるページからなる画像データを記憶する画像データ記憶手段に、該画像データを記憶する画像データ記憶工程と、前記Ｉｎｄｅｘデータ記憶手段に記憶されたＩｎｄｅｘ値と前記画像データ記憶手段に記憶された色情報とを画素毎に読み込み、読み込んだＩｎｄｅｘ値に基づいて、Ｉｎｄｅｘ番号に対しては前記ＩｎｄｅｘテーブルをアクセスすることによりＩｎｄｅｘ番号を色情報へ変換した変換後の色情報を用い、描画する画像の属性を示す値のＩｎｄｅｘ値に対しては前記画像データ記憶手段に記憶された色情報を用いて、これらの色情報を用いた画像データと、前記描画属性判断工程により決定された属性情報とを出力するＩｎｄｅｘ値変換工程と、前記Ｉｎｄｅｘ値変換工程からの画像データと属性情報を用いて、該属性情報に基づき前記画像データに画像処理を行う画像処理工程とを含むことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、Ｉｎｄｅｘ値による描画と、必要な画素または領域のみにする描画情報の色情報を用いた描画を、Ｉｎｄｅｘ値（Ｉｎｄｅｘ番号または属性を表わす値）に応じて一方または両方行うことにより、描画処理を高速化し、かつ、高画質を保持できるという効果が得られる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明を実施した多色画像形成装置の機構部の構成例を示す図である。
【図２】図２は、図１の画像形成装置における電装・制御装置の構成を示すブロック図である。
【図３】図３は、本発明の実施の形態にかかる画像処理の流れを示すブロック図である。
【図４】図４は、本実施形態におけるＩｎｄｅｘテーブルの一例を示す図である。
【図５】図５は、本実施形態におけるメインメモリのメモリ空間の構成を示す図である。
【図６】図６は、本実施形態におけるＩｎｄｅｘページのメインメモリにおけるデータ格納形式（Ｉｎｄｅｘフォーマット）を示す図である。
【図７】図７は、本実施形態におけるＣＭＹＫページのメインメモリにおけるデータ格納形式（ＣＭＹＫフォーマット）を示す図である。
【図８】図８は、本実施形態における処理を説明するためのフローチャートである。
【図９】図９は、図８の描画前処理のフローチャートである。
【図１０】図１０は、図８の描画処理のフローチャートである。
【図１１】図１１は、図１０のＩｎｄｅｘ描画処理のフローチャートである。
【図１２】図１２は、図１０のＩｎｄｅｘ＆ＣＭＹＫ描画処理のフローチャートである。
【図１３】図１３は、本実施形態における描画例（最終出力）を示す図である。
【図１４】図１４は、本実施形態におけるメインメモリにおけるＩｎｄｅｘ値とＣＭＹＫ値の描画例を示す図である。
【図１５】図１５は、図１の画像形成装置における電装・制御装置の第２の構成を示すブロック図である。
【図１６】図１６は、図１５の画像処理部のハードウェア構成を示す図である。
【図１７】図１７は、図１６のＩｎｄｅｘ値変換部における処理フローを示す図である。
【図１８】図１８は、属性情報をｂｉｔ単位に割り当てたＩｎｄｅｘフォーマットの例を示す図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照して、この発明にかかる画像処理装置および画像処理方法の最良な実施の形態を詳細に説明する。
【００１７】
（実施の形態）
以下、図面を参照して本発明の形態を説明する。図１は、本発明を実施した多色画像形成装置の機構部の構成例を示す図である。この多色画像形成装置（以降、画像形成装置と略す）において、符号１は像担持体であるベルト状の感光体であり、その感光体１は回転ローラ２、３により回動可能に支持され、その各回転ローラ２、３の駆動により矢印Ａ方向に回動される。感光体１の外周部には、帯電手段である帯電装置４、除電ランプＬ、感光体１用のクリーニングブレード１５Ａが配置されている。帯電装置４の下流位置には、光書込手段であるレーザ書き込みユニット５より発せられるレーザ光が照射される光書き込み部がある。
【００１８】
光書き込み部より下流位置には、複数の現像ユニット（現像手段）が切り換え自在に支持された多色現像装置６が配置されている。多色現像装置６は、収容するトナーの色毎に、イエロー現像ユニット、マゼンタ現像ユニット、シアン現像ユニットを備えている。多色現像装置６の上部には、黒色トナーを収容したブラック現像ユニット７が備えられている。
【００１９】
これらの各現像ユニットのいずれか１つが対応する色の現像タイミングに同期し、現像可能な位置に移動する。多色現像装置６は、円周上１２０度の回転によっていずれかの現像ユニットを選択する機能を有している。そして、これらの現像ユニットが稼動するときには、ブラック現像ユニット７は感光体１より離間した位置に移動する。その移動は、カム４５の回転により行なわれる。
【００２０】
レーザ書き込みユニット５は、図示しないレーザ光源から複数色の画像形成信号（書き込み情報）に応じたレーザ光を順次発生させ、ポリゴンモータ５Ａによって回転されるポリゴンミラー５Ｂを用いてそのレーザ光を周期的に偏向させ、ｆθレンズ５Ｃおよびミラー５Ｄなどを経て、帯電された感光体１の表面を走査してその表面に静電潜像を形成させる。
【００２１】
感光体１の表面に形成される静電潜像は、対応する現像ユニットからのトナーによって現像され、トナー画像が形成・保持される。中間転写ベルト１０は、感光体１に隣接しており、回転ローラ１１、１２により矢印Ｂ方向に回動可能に支持されている。感光体１上のトナー画像は、中間転写ベルト１０の裏側にある転写ブラシ（第１の転写手段）１３により、その中間転写ベルト１０の表面に転写される。
【００２２】
感光体１の表面は１色毎にクリーニングブレード１５Ａによりクリーニングされ、その表面に所定色のトナー画像が形成される。そして、その都度中間転写ベルト１０の１回動毎にその表面の同じ位置に感光体１上のトナー画像が転写されて、中間転写ベルト１０上に複数色のトナー画像が重ね合わせられて保持される。その後、そのトナー画像は用紙やプラスチック等の記録媒体に転写される。
【００２３】
用紙への転写に際しては、給紙装置（給紙カセット）１７に収納されている用紙が給紙ローラ１８によって繰り出されて搬送ローラ１９により搬送され、レジストローラ対２０に付き当てられた状態で一旦停止された後、トナー画像の転写位置が正規のものとなるようにタイミングがとられて中間転写ベルト１０と転写ローラ（第２の転写手段）１４のニップに再搬送される。そして、その用紙は転写ローラ１４の作用により中間転写ベルト１０上の複数色のトナー画像が一括転写された後、定着装置５０に送られ、そこでトナー像が定着された後、排紙ローラ対５１により本体フレーム９の上部の排紙スタック部５２に排出される。
【００２４】
中間転写ベルト１０には、回転ローラ１１の部位に中間転写ベルト１０用のクリーニング装置１６が設けられ、クリーニングブレード１６Ａがクリーニングブレード接離用アーム１６Ｃを介して接離自在の構成となっている。このクリーニングブレード１６Ａは、感光体１からトナー画像を受け取る工程では、中間転写ベルト１０から離れ、中間転写ベルト１０より用紙にトナー画像が転写された後に接触するようになっていて、用紙にトナー画像が転写された後の残留トナーをかきとる。クリーニングブレード１６Ａは、すでに記したように、感光体１用と中間転写ベルト１０用がある。これらブレードがかきとった廃トナーは、回収容器１５に収納する。その回収容器１５は適宜交換される。中間転写ベルト１０用のクリーニング装置１６の内部に設けられたオーガ１６Ｂが、クリーニングブレード１６Ａでかきとられた廃トナーを搬送し、図示しない搬送手段で回収容器１５に送るようになっている。
【００２５】
符号３１はユニット化されたプロセスカートリッジで、感光体１、帯電装置４、中間転写ベルト１０、クリーニング装置１６、用紙搬送路を形成する搬送ガイド３０などを一体に組み込み、寿命到来時に交換できるように構成されている。プロセスカートリッジ３１の交換のほかに、多色現像装置６、ブラック現像ユニット７なども寿命到来時に交換するが、その交換性やジャム紙の処理を容易にするため、本体の一部の前フレーム８は支軸９Ａを中心に開閉可能に回動できる構造にしてある。
【００２６】
図１の左側には、電装・制御装置６０が収納されている。その上方には、ファン５８が備えられており、機内の温度過昇防止のために排風する。図の右側には、比較的小規模な別の給紙装置５９が備えられている。なお、この実施形態では、中間転写体として中間転写ベルト１０を使用したが、中間転写ドラムを使用することもできる。
【００２７】
次に、以上のように構成された画像形成装置の詳細な構成および動作について説明する。図２は、図１の画像形成装置１００における電装・制御装置の構成を示すブロック図である。
【００２８】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１は、画像形成装置１００全体の制御を行う他、画像処理や、Ｉｎｄｅｘテーブルの生成などを行う。ＣＰＵ  Ｉ／Ｆ２０２は、メモリアービター（メモリＡＲＢ）２０３に接続され、ＣＰＵ２０１とメモリアービター２０３間のＩ／Ｆを処理する。また、メモリアービター２０３は、ＣＰＵ２０１や、下記の通信制御部２０９およびＤＭＡ制御部２０６などとメインメモリ２０５とのアクセスを制御する。メモリコントローラ２０４は、メインメモリ２０５を制御し、データの読み出し／書き込みを行う。メインメモリ２０５は、ＣＰＵ２０１のプログラムやＩｎｄｅｘテーブルや、Ｉｎｄｅｘページデータ、ＣＭＹＫページデータや、階調処理後ＣＭＹＫページのデータなどの各種データなどを格納する。
【００２９】
ＤＭＡ制御部２０６は、画像形成を実施するプリンタエンジン２０８に同期して、メインメモリ２０５に格納された階調処理後のＣＭＹＫページの画像データを受け取り、エンジンコントローラ２０７へ転送する。エンジンコントローラ２０７は、画像形成のためプリンタエンジン２０８を制御する。また、通信制御部２０９は、ネットワークを介して接続されるＰＣ（パーソナルコンピュータ）２１０からのＰＤＬデータを受け取りメインメモリ２０５へ転送する。ＣＰＵ２０１は、このＰＤＬデータを解析し、得られた描画情報（描画コマンド）に従って、ＡＳＩＣ２００を制御する。
【００３０】
次に、本発明の実施の形態にかかる画像処理の流れについて、図３を参照し説明する。  図３は、本発明の実施の形態にかかる画像処理の流れを示すブロック図である。
【００３１】
（１）メインメモリ２０５のＰＤＬデータ格納領域であるＰＤＬ記憶部３０１は、通信制御部２０９から送られたＰＤＬデータを記憶する。
【００３２】
（２）図３のＰＤＬ解析処理部３０２としてのＣＰＵ２０１は、上記ＰＤＬ記憶部３０１からＰＤＬデータを読み込み、それを解析して色情報（ＣＭＹＫ値；なお、ＣＭＹＫはカラー値である。）を含む描画コマンドを生成する。
【００３３】
（３）そして、生成した描画コマンドをメインメモリ２０５の描画コマンド格納領域である描画コマンド記憶部３０３に記憶する。
【００３４】
（４）ＣＰＵ２０１の描画部は描画コマンド記憶部３０３から描画コマンドを受け取り、後述の図８に示すフローのように、描画前処理部３０４による処理と描画処理部３０７による処理を実行し、ＣＭＹＫページとＩｎｄｅｘページを生成する。
【００３５】
（５）ＣＰＵ２０１の描画前処理部３０４は、描画コマンド記憶部３０３から描画コマンドを受け取り、Ｉｎｄｅｘ番号とＩｎｄｅｘテーブルを生成し、描画処理部３０７へＩｎｄｅｘ番号を転送する。具体的には、ＣＰＵ２０１のＩｎｄｅｘテーブル生成処理部３０５が、描画コマンド記憶部３０３から描画コマンドを受け取り、後述の図９に示すフローようにＩｎｄｅｘ番号を生成し、ＣＭＹＫ描画処理部３０８とＩｎｄｅｘ描画処理部３０９へ転送する。
【００３６】
（６）Ｉｎｄｅｘテーブル記憶部３０６としてのメインメモリ２０５は、Ｉｎｄｅｘテーブル生成処理部３０５から転送されてきたＩｎｄｅｘテーブルを記憶する。このＩｎｄｅｘテーブルは、図４に示すように、Ｉｎｄｅｘ値とこのＩｎｄｅｘ値に対応する色情報（色値であるＣＭＹＫ値と、本実施形態では属性情報Ａをさらに含める）を対応付けるテーブルである。Ｉｎｄｅｘ値としては、図６のＩｎｄｅｘフォーマットのように、Ｉｎｄｅｘ番号（０〜２５０）として使用しないＩｎｄｅｘ値の残りの値を、属性値として割り当てている。このようにすることで、使用できるＩｎｄｅｘ番号の数が少なくなってしまうといった問題を解決できる。
【００３７】
（７）ＣＰＵ２０１の描画処理部３０７は、描画コマンド記憶部３０３から描画コマンドを受け取り、描画前処理部３０４からＩｎｄｅｘ値を受け取り、後述する図６のＩｎｄｅｘフォーマットでＩｎｄｅｘページ画像記憶部３１１へ描画する。また、Ｉｎｄｅｘ値がＩｎｄｅｘ番号（Ｉｎｄｅｘテーブル番号）ではなく属性値であれば、後述する図７のＣＭＹＫフォーマットでＣＭＹＫページ画像記憶部３１０へ描画する。この描画処理を詳述する前に、メインメモリ２０５内のメモリ空間の構成と、ＩｎｄｅｘページとＣＭＹＫページのメインメモリ２０５におけるデータ格納形式について図５〜７を用いて説明する。図５は、メインメモリ２０５におけるメモリ空間の構成を示している。
【００３８】
図５において、プログラム領域５００は、ＣＰＵ２０１が実行するプログラムを格納する。ＰＤＬデータ格納領域５０１は、ＰＣから送られたＰＤＬデータを格納する領域である。Ｉｎｄｅｘテーブル格納領域５０２は、図３のＩｎｄｅｘテーブル記憶部３０６に相当し、Ｉｎｄｅｘテーブル生成処理部３０５で生成されたＩｎｄｅｘテーブルを記憶する領域である。Ｉｎｄｅｘページ格納領域（Ｉｎｄｅｘメモリ）５０３は、図６に例示したデータ格納形式に基づき、ページのＩｎｄｅｘ値を格納する領域である。ＣＭＹＫページ格納領域（ＣＭＹＫメモリ）５０４は、図７に例示したデータ格納形式に基づき、カラー値（ＣＭＹＫ）のデータを格納する領域である。階調処理後ＣＭＹＫページ格納領域５０５は、階調処理後のＣＭＹＫデータを格納する領域である。
【００３９】
図６は、Ｉｎｄｅｘページのメインメモリ２０５におけるデータ格納形式（Ｉｎｄｅｘフォーマット）を示している。このデータ格納形式では、８ｂｉｔのＩｎｄｅｘ値を持ち、２５１を法としたＭＯＤ演算により、０〜２５０の値（Ｉｎｄｅｘ番号）を有する。また、“２５５”、“２５４”、“２５３”という値は、Ｉｎｄｅｘ番号としては使用せず属性情報として用いるものであり、その画素が、“２５５”の場合ＣＭＹＫの写真画像であることを、“２５４”の場合ＣＭＹＫの文字画像であることを、“２５３”の場合ＣＭＹＫのグラフィックス画像であることを示すために使用している。
【００４０】
図７は、ＣＭＹＫページのメインメモリ２０５におけるデータ格納形式（ＣＭＹＫフォーマット）を示している。同図に示すようにＣ、Ｍ、Ｙ、Ｋそれぞれ８ｂｉｔからなる３２ｂｉｔのＣＭＹＫ値が格納される形式となっている。なお、データの並びは任意に設計することができる。
【００４１】
ここから、ＣＰＵ２０１の描画処理部３０７による描画処理について、図８〜１２のフローチャートを参照し説明する。
【００４２】
はじめに、図８を用いて説明する。まず、Ｉｎｄｅｘテーブルの色情報、ダイレクト描画数および全体描画数を“０”に初期化する（ステップＳ８０１）。なお、Ｉｎｄｅｘテーブルの色情報の初期値としては、色情報として使用されない数値を用いてもよい。
【００４３】
続いて、ステップＳ８０２〜Ｓ８０４までのループ処理により、下記の描画前処理（ステップＳ８０２）および描画処理（ステップＳ８０３）を、全ての描画コマンドについて実行する。
【００４４】
（描画前処理）
上記ステップＳ８０２の描画前処理のフローを図９に示している。
【００４５】
はじめに、図３の描画コマンド記憶部３０３の描画コマンドを読み込む（ステップＳ９０１）。
【００４６】
ステップＳ９０２の判断にて、描画コマンドが写真画像描画コマンドであると判定された場合、ステップＳ９１１へ移行し、Ｉｎｄｅｘ番号を、前述のＣＭＹＫの写真画像であることを示す“２５５”にセットする。
【００４７】
一方、ステップＳ９０２の判断にて、描画コマンドが写真画像描画コマンドでないと判定された場合、図３の描画コマンド記憶部３０３から描画コマンドの色情報を読み込む（ステップＳ９０３）。
【００４８】
次に、ハッシュ関数によりＩｎｄｅｘ番号を求める。具体的には、ステップＳ９０３で読み込んだ色情報を、Ｉｎｄｅｘフォーマットで用いる８ｂｉｔの最大値である２５５に近い素数“２５１”を法としたＭＯＤ演算（剰余演算）を行い、その剰余値をＩｎｄｅｘ値とする（ステップＳ９０４）。ここでの剰余演算は、（Ｒ＊２２４＋Ｇ＊２１６＋Ｂ＊８＋Ａ）％２５１として行う。ただし、“＊”は乗算の演算子、“％”は剰余（除算の余り）を求める演算子である。一般的にＭＯＤ演算（剰余演算）は複雑であるが、上記“２５１”の逆数を予め準備し、それをカラー情報値（Ｒ＊２２４＋Ｇ＊２１６＋Ｂ＊８＋Ａ）に乗算しさらに整数化した値に、“２５１”を乗算し、その値とカラー情報値との差分を得ることで、剰余値が得られる。
【００４９】
次に、ステップＳ９０５の判断で、求めたＩｎｄｅｘ番号がＩｎｄｅｘテーブルのＩｎｄｅｘ番号欄に値が入っているかチェックする。Ｉｎｄｅｘ番号が入っていないとの判断は、前述のステップＳ８０１（図８）で初期化された“０”値（もしくは色情報として使用されない数値）が入っているか（すなわち初期状態のままであるか）で行う。
【００５０】
ステップＳ９０５の判断で、ステップＳ９０４で求めたＩｎｄｅｘ番号が、Ｉｎｄｅｘテーブルで使用されていないと判定された場合、ステップＳ９０６へ移行し、ＩｎｄｅｘテーブルにＳ９０３で読み込んだ色情報をセットする。
【００５１】
ステップＳ９０５の判断で、ステップＳ９０４で求めたＩｎｄｅｘ番号が、Ｉｎｄｅｘテーブルで使用されていると判定された場合、ステップＳ９０７へ移行し、ステップＳ９０４で求めたＩｎｄｅｘ番号に対応するＩｎｄｅｘテーブルの色情報が、描画コマンドで描画する色と同じか判断する。
【００５２】
これらの色情報が同一であれば、この描画前処理を終了する。一方、これらの色情報が異なれば、ステップＳ９０８へ移行し、描画コマンドが文字の描画を指示するものか否か判断する。ここで描画コマンドが文字の描画を指示するコマンドであれば（ステップＳ９０８でＹｅｓ）、Ｉｎｄｅｘ番号を“２５４”にセットし（ステップＳ９０９）、そうでなければ（ステップＳ９０８でＮｏ）、Ｉｎｄｅｘ番号を“２５３”にセットし（ステップＳ９１０）、本描画前処理を終了する。なお、前述のように、“２５５”、“２５４”、“２５３”という値は、本来のＩｎｄｅｘ番号としては使用せず属性情報として用いるものであり、描画する画素または描画するオブジェクトが、“２５５”の場合ＣＭＹＫの写真画像であることを、“２５４”の場合ＣＭＹＫの文字画像であることを、“２５３”の場合ＣＭＹＫのグラフィックス画像であることを示す。
【００５３】
（描画処理）
上記ステップＳ８０３の描画処理のフローを図１０に示している。
【００５４】
本描画処理は、Ｉｎｄｅｘ番号が“２５１”未満であるか否かで、異なる処理を行っている。具体的には、図１０に示すように、Ｉｎｄｅｘ番号が“２５１”未満である場合（ステップＳ１００１でＹｅｓ）は、下記の描画処理（ステップＳ１００２）を行い、Ｉｎｄｅｘ番号が“２５１”以上である場合（ステップＳ１００１でＮｏ）は、下記のＩｎｄｅｘ＆ＣＭＹＫ描画処理（ステップＳ１００３）を行う。
【００５５】
（Ｉｎｄｅｘ描画処理）
上記ステップＳ１００２のＩｎｄｅｘ描画処理のフローを図１１に示している。
【００５６】
図１１に示すように、図５に示すＩｎｄｅｘページ格納領域５０３に、すべての画素について、指定された描画コマンドでＩｎｄｅｘ値を書き込む（ステップＳ１１０１〜Ｓ１１０２）。
【００５７】
（Ｉｎｄｅｘ＆ＣＭＹＫ描画処理）
上記ステップＳ１００３のＩｎｄｅｘ＆ＣＭＹＫ描画処理のフローを図１２に示している。
【００５８】
図１２に示すように、図５に示すＩｎｄｅｘページ格納領域５０３に、指定された描画コマンドでＩｎｄｅｘ値（描画コマンドに応じて、前述の２５５，２５４，２５３のいずれか）を書き込み、ＣＭＹＫページ格納領域５０４に、指定された描画コマンドで色情報のＣＭＹＫ値を書き込むことを、すべての画素について行う（ステップＳ１２０１〜Ｓ１２０３）。
【００５９】
（８）ここで図３に戻る。上記におけるＩｎｄｅｘ値の描画処理は、図３のＩｎｄｅｘ描画処理部３０９としてのＣＰＵ２０１が実行する。Ｉｎｄｅｘ描画処理部３０９は、描画コマンド記憶部３０３から描画コマンドを受け取り、図５のＩｎｄｅｘページ格納領域５０３に、描画前処理部３０４によりセットされたＩｎｄｅｘ値を図６のＩｎｄｅｘフォーマットで描画する。
【００６０】
（９）のＣＰＵ２０１のＣＭＹＫ描画処理部３０８は、図１２に示し上述したＩｎｄｅｘ＆ＣＭＹＫ描画処理を実行する。描画コマンド記憶部３０３から写真描画コマンドと写真画像のソース画像（色情報（ＣＭＹＫ値））を受け取り、ＣＭＹＫページ格納領域５０４に、図１３、１４の例のように、写真画像を描画する。なお、写真画像は基本的に多くの色が存在するため、Ｉｎｄｅｘテーブルの生成処理は行われない。
【００６１】
（１０）ＣＭＹＫページ画像記憶部３１０としてのメインメモリ２０５のＣＭＹＫページ格納領域５０４は、ＣＭＹＫ描画処理部３０８により描画されたＣＭＹＫページ画像を記憶する。
【００６２】
（１１）Ｉｎｄｅｘページ画像記憶部３１１としてのメインメモリ２０５のＩｎｄｅｘページ格納領域５０３は、Ｉｎｄｅｘ描画処理部３０９により描画されたＩｎｄｅｘページ画像を記憶する。
【００６３】
（１２）Ｉｎｄｅｘテーブル変換処理部３１２としてのＣＰＵ２０１は、Ｉｎｄｅｘページ画像記憶部３１１からＩｎｄｅｘページ画像を画素単位に読み込み、Ｉｎｄｅｘ値を、図７のフォーマットでＣＭＹＫ値へ変換し、切替処理部３１３へ転送する。
【００６４】
（１３）切替処理部３１３としてのＣＰＵ２０１は、Ｉｎｄｅｘテーブル変換処理部３１２からのＣＭＹＫ値とＣＭＹＫページ画像記憶部３１０から画素単位に読み込まれるＣＭＹＫ値とを、上記（１１）のＩｎｄｅｘページ画像の内容で切り替える。この切替処理部３１３は、具体的には、ＩｎｄｅｘページのＩｎｄｅｘ値が、０〜２５０のＩｎｄｅｘ番号の場合は、Ｉｎｄｅｘテーブル変換処理部３１２からの入力を出力し、Ｉｎｄｅｘ値が“２５５”または“２５４”または“２５３”の場合は、ＣＭＹＫページ画像記憶部３１０からの入力を出力する。
【００６５】
（１４）階調処理部３１４としてのＣＰＵ２０１は、切替処理部３１３からのデータに対し階調処理を行い、階調処理後ＣＭＹＫページ画像記憶部３１５へ転送する。
【００６６】
（１５）階調処理後ＣＭＹＫページ画像記憶部３１５としてのメインメモリ２０５の階調処理後ＣＭＹＫページ格納領域５０５は、画像処理部にて上記（１２）〜（１４）の処理が施された階調処理後ＣＭＹＫページ画像を記憶する。
【００６７】
（１６）ＤＭＡ処理部３１６としての図２のＤＭＡ制御部２０６は、階調処理後ＣＭＹＫページ画像記憶部３１５から、階調処理後ＣＭＹＫページ画像データを読み込み、プリンタエンジン３１７（図２の２０８）へ転送する。
【００６８】
（１７）プリンタエンジン３１７で、階調処理後ＣＭＹＫページ画像データに基づきプリントアウトする。
【００６９】
ここで、図１３、図１４に描画例を示す。図１３は、プリントアウトの結果である。図１４に示すように、写真画像は基本的に色数が多いので、図７のＣＭＹＫフォーマットのカラー値でメインメモリ２０５のＣＭＹＫページ格納領域５０４に描画し、文字／グラフィックス部分は色数が少ないので、図６のＩｎｄｅｘフォーマットでＩｎｄｅｘページ格納領域５０３に描画している。また、描画コマンドの色情報が示す色とＩｎｄｅｘテーブルに登録されている色情報の示す色が同一の場合、文字／グラフィックス部分をＩｎｄｅｘ値でのみ描画するので、描画するデータ量が小さく、描画処理の高速化をはかることができる。
【００７０】
（画像形成装置１００における電装・制御装置の第２の構成）
次に、図１の画像形成装置１００における電装・制御装置の第２の構成について図１５、１６を用いて説明する。図１５は、図１の画像形成装置１００における電装・制御装置の第２の構成を示すブロック図である。前述の第１の構成では、図３に示した画像処理部の機能をＣＰＵ２０１で実現していたが、本第２の構成では、ＡＳＩＣ２１１に、図３の画像処理部の機能を実現する画像処理部２１２を、ＤＭＡ制御部２０６に代えて設けた点が異なっている。その他の構成要素は、図２に示したものと同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
【００７１】
図１６に、図１５に示すＡＳＩＣ２１１に追加された画像処理部２１２のハードウェア構成を示している。以下では、この図を参照し、この画像処理部２１２の構成について、図１６を用いて説明する。
【００７２】
メモリアービターＩ／Ｆ１６０１は、画像処理パラメータ読み込み部１６０２とＩｎｄｅｘ／ＣＭＹＫ画像読み込み部１６０８のメモリアービター（メモリＡＲＢ）への要求の調停を行う。
【００７３】
画像処理パラメータ読み込み部１６０２は、メモリアービターＩ／Ｆ１６０１を介して、図１５に示すメインメモリ２０５の画像処理パラメータ領域から各種のパラメータを読み込み、後述する符号１６０６、１６０７の各画像処理パラメータ記憶部へ転送する。パラメータアドレス生成部１６０３は、図１５のメインメモリ２０５の画像処理パラメータ領域から各種のパラメータを読み込むためのアドレスを生成する。
【００７４】
ＤＭＡパラメータ記憶部１６０４は、画像処理パラメータ読み込み部１６０２から受け取った、バンド幅、バンド高さ、バンドスタートアドレス、階調処理後ＣＭＹＫバンド幅、階調処理後ＣＭＹＫバンド高さ、Ｃ、Ｍ、Ｙ、Ｋバンドスタートアドレスなどを格納する。Ｉｎｄｅｘテーブル記憶部１６０５は、図３のＩｎｄｅｘテーブル生成処理部３０５で生成された、Ｉｎｄｅｘ値変換部１６１２に必要な図４に示すようなＩｎｄｅｘテーブルを格納する。
【００７５】
ハーフトンパラメータ記憶部１６０６は、画像処理パラメータ読み込み部１６０２から受け取った階調処理部１６１３に必要なハーフトンパラメータなどを格納する。しきい値マトリックス記憶部１６０７は、画像処理パラメータ読み込み部１６０２から受け取った、階調処理部１６１３に必要なしきい値マトリックスなどを格納する。
【００７６】
Ｉｎｄｅｘ／ＣＭＹＫ画像読み込み部１６０８は、メモリアービターＩ／Ｆ１６０１を介して、図１５のメインメモリ２０５のＩｎｄｅｘページ格納領域からＩｎｄｅｘページのデータを読み込み、Ｉｎｄｅｘバッファー部１６０９へ転送する。さらに、メインメモリ２０５のＣＭＹＫページ格納領域からＣＭＹＫページのデータを読み込み、ＣＭＹＫバッファー部１６１０へ転送する。これは、ＣＭＹＫページデータが必要である場合と不必要である場合があるが、その場合に応じて、ＩｎｄｅｘページデータとＣＭＹＫ画像を順次読み込むのは効率が悪いので、ＩｎｄｅｘページデータとＣＭＹＫページデータの両方を同時に読み込み各バッファーへ格納している。
【００７７】
Ｉｎｄｅｘバッファー部１６０９は、Ｉｎｄｅｘページデータを複数画素ごとに格納している。ＣＭＹＫバッファー部１６１０は、ＣＭＹＫページデータを複数画素ごとに格納している。Ｉｎｄｅｘ／ＣＭＹＫ画像アドレス生成部１６１１は、ＤＭＡパラメータ記憶部１６０４に格納されたパラメータを基に、図１５のメインメモリ２０５のＩｎｄｅｘページ格納領域とＣＭＹＫページ格納領域からＩｎｄｅｘページデータとＣＭＹＫページデータを読み込むためのアドレスを生成する。Ｉｎｄｅｘ値変換部１６１２は、Ｉｎｄｅｘバッファー部１６０９からＩｎｄｅｘページデータを読み込み、さらにＣＭＹＫバッファー部１６１０からＣＭＹＫページデータを読み込む。そして、下記に示すように、Ｉｎｄｅｘページデータに基づきＣＭＹＫ値へ変換し階調処理部１６１３へ転送する。
【００７８】
ここで、図１７に図１６のＩｎｄｅｘ値変換部１６１２における処理フローを示し、その説明をする。
【００７９】
Ｉｎｄｅｘバッファー部１６０９とＣＭＹＫバッファー部１６１０からそれぞれＩｎｄｅｘページデータとＣＭＹＫページデータを画素ごとに読み込む（ステップＳ１７０１）。
【００８０】
次に、画素単位に読み込まれたＩｎｄｅｘ値が“２５１”未満である場合（ステップＳ１７０２でＹｅｓ）、ステップＳ１７０３へ移行し、そのＩｎｄｅｘ値でＩｎｄｅｘテーブルをアクセスし、対応するＣＭＹＫ値と属性情報Ａを求め、階調処理部１６１３へ転送する。
【００８１】
画素単位に読み込まれたＩｎｄｅｘ値が、“２５４”である場合（ステップＳ１７０２でＮｏかつステップＳ１７０４でＹｅｓ）、ステップＳ１７０５へ移行し、ステップＳ１７０１で読み込んだその画素に対応するＣＭＹＫ値を、その画素の色として、かつＡ＝文字属性として使用し、文字属性とＣＭＹＫ値を階調処理部１６１３へする。
【００８２】
画素単位に読み込まれたＩｎｄｅｘ値が、“２５３”である場合（ステップＳ１７０４でＮｏかつステップＳ１７０６でＹｅｓ）、ステップＳ１７０７へ移行し、ステップＳ１７０１で読み込んだその画素に対応するＣＭＹＫ値を、その画素の色として、かつＡ＝グラフィック属性として使用し、グラフィック属性とＣＭＹＫ値を階調処理部１６１３へ転送する。
【００８３】
画素単位に読み込まれたＩｎｄｅｘ値が、“２５５”である場合（ステップＳ１７０６でＮｏ）、ステップＳ１７０８へ移行し、ステップＳ１７０１で読み込んだその画素に対応するＣＭＹＫ値を、その画素の色として、かつＡ＝写真属性として使用し、写真属性とＣＭＹＫ値を階調処理部１６１３へ転送する。
【００８４】
次に、全ての画素を処理したか判定し（ステップＳ１７０９）、未だ処理していない画素が存在する場合はステップＳ１７０１へ戻り、全ての画素が処理されるまで上記一連の処理を繰り返す。以上のように、Ｉｎｄｅｘ値変換部１６１２による処理がなされる。
【００８５】
ここで、図１６に戻り、その説明を続ける。階調処理部１６１３は、しきい値マトリックス記憶部１６０７からしきい値マトリックスを読み込み、Ｉｎｄｅｘ値変換部１６１２からＣＭＹＫデータと属性情報（属性値）を受け取ることにより、階調処理（ハーフトーン処理）を実行し、メモリのワード単位に画像処理後画像バッファー部１６１４へ階調処理後のデータを転送する。画像処理後画像バッファー部１６１４は、階調処理部１６１３で処理された画像データを、複数の効率の良いバースト転送をするために複数のワードデータを一時格納する。そして、画像処理後画像バッファー部１６１４から、図１５に示すエンジンコントローラ２０７に画像データを転送する。
【００８６】
以上で説明した例では、写真画像描画と文字／グラフィックス画像描画を分け、写真画像描画は無条件でＣＭＹＫフォーマットのカラー画像として扱ったが、写真画像においても、色数が少ないと判断できる場合は、グラフィックス画像描画で行ったＩｎｄｅｘテーブルへの変換処理を行うようにしてもよい。また、ここでは、色情報として、ＣＭＹＫについて記述しているが、ＣＭＹ、ＲＧＢ、Ｌａｂ色でも同様に考えることができる。
【００８７】
本実施形態では、画素のフォーマットを図６、７のように８ｂｉｔのＩｎｄｅｘフォーマットと３２ｂｉｔのＣＭＹＫフォーマットで表現している。描画領域は８ｂｉｔごとのプレーンで構成され、Ｉｎｄｅｘフォーマットによる描画では、８ｂｉｔ／ＰＩＸＥＬで１つのプレーンのみ描画している、つまり、画像全体について３２ｂｉｔのＣＭＹＫ値で描画するのではないので、処理スピードを速くすることが可能である。また、減色処理を必要としないので、高画質を保つことが可能である。
【００８８】
また、特許文献２のように、Ｉｎｄｅｘテーブルを作成時にＩｎｄｅｘテーブルの値を順次、比較するのでは無く、ハッシュ関数を使用し、そのキーの値でＩｎｄｅｘテーブルを作成するのでＩｎｄｅｘテーブルの生成が高速である。また、描画する時に描画する色のキー（Ｉｎｄｅｘ値）でＩｎｄｅｘテーブルをアクセスし、Ｉｎｄｅｘテーブルの色と描画する色が異なるキーの衝突が起きた場合、その色は３２ｂｉｔのカラー値（ＣＭＹＫ）で描画するので、キーの衝突が起きても、正しく描画することが可能であり、また、そのことは大きなスピードの低下にはつながらない。
【００８９】
また、図１８に属性情報をｂｉｔ単位に割り当てたＩｎｄｅｘフォーマットの例を示すが、属性情報用に２ｂｉｔを割り当てた場合、このようにＩｎｄｅｘテーブルが６４個しか使用することができなくなってしまう。この場合、Ｉｎｄｅｘテーブルが小さいために、ハッシュ関数を使用したキーの生成において、衝突が多く発生する。キーの衝突が起きた場合、その色は３２ｂｉｔのカラー値で描画することになるので、処理スピードの低下を起こしてしまう。
【００９０】
そこで、本発明の上記各実施形態では、属性値（属性情報）をｂｉｔ単位で割り当てるのではなく、図６のＩｎｄｅｘフォーマットのように、Ｉｎｄｅｘ番号（Ｉｎｄｅｘテーブル番号）として使用しない値を属性値として割り当てることにより、８ｂｉｔ値に多くのＩｎｄｅｘテーブル番号を割り当てることができるようにしている。これにより、従来に比べ、ハッシュ関数のキーの衝突を少なくし、また、Ｉｎｄｅｘフォーマットのみでの描画を多くすることができ高速化を計ることができる。
【００９１】
また、図４のＩｎｄｅｘテーブルのように、Ｉｎｄｅｘテーブルに、色値（ＣＭＹＫ値）のみでなく属性値（Ａ）も登録し、色情報ＣＭＹＫＡとしてＩｎｄｅｘテーブルに登録することで、Ｉｎｄｅｘ値変換部１６１２により変換時に、Ｉｎｄｅｘテーブルから得られる属性値を階調処理部１６１３に与えることで、Ｉｎｄｅｘフォーマットにより描画された部分についても、属性値を用いて適切な階調処理を行うことができる。
【００９２】
なお、本実施形態の画像形成装置で実行される前述の処理フローを実現するプログラムは、ＲＯＭ等に予め組み込んで提供するように構成されるが、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、各種メモリカード等のコンピュータで読み取り可能な記録媒体に記録して提供することもできる。
【００９３】
また、本実施形態の画像形成装置で実行される上記プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
【００９４】
本実施の形態の画像形成装置で実行されるプログラムは、上述した各部（描画コマンド生成部、描画部、画像処理部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、描画コマンド生成部、描画部、画像処理部が主記憶装置であるメインメモリ上に生成されるようになっている。
【００９５】
なお、上記実施の形態では、本発明の画像形成装置を、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも２つの機能を有する複合機に適用した例を挙げて説明するが、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像形成装置であればいずれにも適用することができる。
【符号の説明】
【００９６】
１００  画像形成装置
２００，２１１  ＡＳＩＣ
２０１  ＣＰＵ
２０２  ＣＰＵ  Ｉ／Ｆ
２０３  メモリＡＲＢ
２０４  メモリコントローラ
２０５  メインメモリ
２０６  ＤＭＡ制御部
２０７  エンジンコントローラ
２０８  プリンタエンジン
２０９  通信制御部
２１０  ＰＣ
２１２  画像処理部
３０１  ＰＤＬ記憶部
３０２  ＰＤＬ解析処理部
３０３  描画コマンド記憶部
３０４  描画前処理部
３０５  Ｉｎｄｅｘテーブル生成処理部
３０６  Ｉｎｄｅｘテーブル記憶部
３０７  描画処理部
３０８  ＣＭＹＫ描画処理部
３０９  Ｉｎｄｅｘ描画処理部
３１０  ＣＭＹＫページ画像記憶部
３１１  Ｉｎｄｅｘページ画像記憶部
３１２  Ｉｎｄｅｘテーブル変換処理部
３１３  切替処理部
３１４  階調処理部
３１５  階調処理後ＣＭＹＫページ画像記憶部
３１６  ＤＭＡ処理部
３１７  プリンタエンジン
【先行技術文献】
【特許文献】
【００９７】
【特許文献１】特開２００８−７８８２０号公報
【特許文献２】特開２００７−２１６６７５号公報
【特許文献３】特開２０００−１４８９７３号公報
【図１】
2010220044.tif 000003
【図２】
2010220044.tif 000004
【図３】
2010220044.tif 000005
【図４】
2010220044.tif 000006
【図５】
2010220044.tif 000007
【図６】
2010220044.tif 000008
【図７】
2010220044.tif 000009
【図８】
2010220044.tif 000010
【図９】
2010220044.tif 000011
【図１０】
2010220044.tif 000012
【図１１】
2010220044.tif 000013
【図１２】
2010220044.tif 000014
【図１３】
2010220044.tif 000015
【図１４】
2010220044.tif 000016
【図１５】
2010220044.tif 000017
【図１６】
2010220044.tif 000018
【図１７】
2010220044.tif 000019
【図１８】
2010220044.tif 000020