(57)【特許請求の範囲】
【請求項１】
画像データを２×２画素サイズのブロックに分割し、当該分割された各ブロックを順に処理対象にし、当該処理対象のブロックを構成する各画素の色データと属性データとに基づいて、当該処理対象のブロックに対する減色処理を行う減色手段と、
前記減色手段で減色処理を行った後の前記処理対象のブロック内の各画素の色データを比較することにより、当該処理対象のブロックに含まれる色データの配置パターンを示すパターンフラグを特定する特定手段と、
前記減色手段で減色処理を行った後の前記２×２画素サイズのブロックの予め定義された位置の画素に対応する色データを第１色の色データとして抽出し、更に、前記減色処理後のブロックに含まれる色数が２〜４のいずれかであると判断した場合は、前記特定されたパターンフラグに対して定義されている配置パターンに対応する第２〜４色の色データを抽出する抽出手段と、
前記特定手段で特定された各ブロックのパターンフラグと、前記抽出手段で抽出された各ブロックの前記第１色の色データと、前記抽出手段で抽出された各ブロックの第２〜４色の色データとを出力する出力手段と、
を有し、
前記減色手段は、前記処理対象のブロック内の各画素について求められる減色前後の色差に対して当該各画素の属性データに基づいて定められる重みを乗算し、当該ブロックに含まれる各画素について求めた乗算値の総和に基づいて、当該ブロックをいくつの色数に減色するか判定することを特徴とする画像処理装置。
【請求項２】
前記属性データが文字またはグラフィックである画素に対する前記重みが、前記属性データがイメージである画素に対する前記重みよりも大きいことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像データは、３２×３２画素サイズのタイル画像あるいは６４×６４画素サイズのタイル画像であることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記画像データは、ＰＤＬデータに基づいて生成される画像データであることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
減色手段が、画像データを２×２画素サイズのブロックに分割し、当該分割された各ブロックを順に処理対象にし、当該処理対象のブロックを構成する各画素の色データと属性データとに基づいて、当該処理対象のブロックに対する減色処理を行う減色工程と、
特定手段が、前記減色工程で減色処理を行った後の前記処理対象のブロック内の各画素の色データを比較することにより、当該処理対象のブロックに含まれる色データの配置パターンを示すパターンフラグを特定する特定工程と、
抽出手段が、前記減色工程で減色処理を行った後の前記２×２画素サイズのブロックの予め定義された位置の画素に対応する色データを第１色の色データとして抽出し、更に、前記減色処理後のブロックに含まれる色数が２〜４のいずれかであると判断した場合は、前記特定されたパターンフラグに対して定義されている配置パターンに対応する第２〜４色の色データを抽出する抽出工程と、
出力手段が、前記特定工程で特定された各ブロックのパターンフラグと、前記抽出工程で抽出された各ブロックの前記第１色の色データと、前記抽出工程で抽出された各ブロックの第２〜４色の色データとを出力する出力工程と、
を有し、
前記減色工程において、前記処理対象のブロック内の各画素について求められる減色前後の色差に対して当該各画素の属性データに基づいて定められる重みを乗算し、当該ブロックに含まれる各画素について求めた乗算値の総和に基づいて、当該ブロックをいくつの色数に減色するか判定することを特徴とする画像処理方法。
【請求項６】
コンピュータを請求項１乃至４の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項７】
画像データをＭ×Ｎ画素のサイズのブロックに分割し、当該分割された各ブロックを順に処理対象にし、当該処理対象のブロックを構成する各画素の色データと属性データとに基づいて、当該処理対象のブロックに対する減色処理を行う減色手段と、
前記減色手段で減色処理を行った後の前記処理対象のブロック内の各画素の色データを比較することにより、当該処理対象のブロックに含まれる色データの配置パターンを示すパターンフラグを特定する特定手段と、
前記減色手段で減色処理を行った後の前記Ｍ×Ｎ画素のサイズのブロックの予め定義された位置の画素に対応する色データを第１色の色データとして抽出し、更に、前記減色処理後のブロックに含まれる色数が２色以上であると判断した場合は、前記特定されたパターンフラグに対して定義されている配置パターンに基づき前記第１色の色データでない色データを抽出する抽出手段と、
前記特定手段で特定された各ブロックのパターンフラグと、前記抽出手段で抽出された各ブロックの前記第１色の色データと、前記抽出手段で抽出された各ブロックの前記第１色の色データでない色データとを出力する出力手段と、
を有し、
前記減色手段は、前記処理対象のブロック内の各画素について求められる減色前後の色差に対して当該各画素の属性データに基づいて定められる重みを乗算し、当該ブロックに含まれる各画素について求めた乗算値の総和に基づいて、当該ブロックをいくつの色数に減色するか判定することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成のための画像処理及びレンダリング処理における高速化及び高画質化に関する。
【背景技術】
【０００２】
従来の画像形成処理に係る処理を説明する。先ず、画像形成装置がＰＤＬ（ページ記述言語）データを受け取る。このＰＤＬデータは、一般にパーソナルコンピュータ（ＰＣ）などと呼ばれる情報処理装置で生成され、ネットワークや外部記憶媒体を介して画像形成装置に入力される。例えば、画像形成装置は、ネットワークインターフェースを介してＰＤＬデータを受信したり、ＰＤＬデータが保存されたＵＳＢメモリを画像形成装置のＵＳＢインターフェースに接続することにより、ＰＤＬデータを取得したりできる。
【０００３】
次に、画像形成装置は、画像形成装置内の汎用プロセッサが受け取ったＰＤＬデータを解釈する。ここで汎用プロセッサとは、ノイマン型コンピュータのアルゴリズムによって実装されたプロセッサである。すなわち、汎用プロセッサは与えられたデータに対して、与えられた命令に基づいた数々の演算を行うことが可能である。
【０００４】
ついで、この解釈の結果をもとに、画像形成装置内の汎用プロセッサ或いはRIP ASICでレンダリング処理を実行することにより、ラスターイメージデータを得る。このラスターイメージデータに画像形成装置内の画像処理ASIC又は汎用プロセッサが画像処理（例えば、当該装置の印刷エンジンで印刷するための画像処理など）を行い、当該画像処理が施されたラスターイメージデータを得る。そして、画像処理済みのラスターイメージデータを画像形成装置内の印刷エンジンに転送し、印刷エンジンがラスターイメージデータを用いて紙に代表される記録媒体上に画像形成を行う。
【０００５】
従来、上述したレンダリング処理及び画像処理では、メインメモリやその他記憶装置、媒体に保存したり読み込んだりする際のデータ量の節約や転送スピードを向上するために、画像圧縮処理が行われている。
【０００６】
この画像圧縮処理として、非可逆圧縮技術であるJPEG(Joint Photographic Experts Group)などが用いられている。しかし、JPEGでは、ＤＣＴ（離散逆コサイン変換）を伴うため、実装に必要なハードウェアやソフトウェアの規模が大きく且つ複雑になる、という問題がある。
【０００７】
一方、ＤＣＴ（離散逆コサイン変換）などを用いずにデータ量を減らす方法として、特許文献１のように、減色処理でデータ量を減らすことが考えられている。特許文献１では、画像データを２×２画素のブロックに分割し、当該分割されたブロック毎に２色以下に減色し、２色分の色データとその２色の配置に関する形状情報とを出力することでデータ量を圧縮している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開2008-271046号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＰＤＬ（ページ記述言語）を解釈してラスターイメージデータに展開する際に、各画素の属性（文字、グラフィック（線画）、イメージ（写真、絵柄等））が分かるが、特許文献１では、各画素の属性に関しては考慮せず、２色以下に減色していた。すなわち、１つのブロック内に異なる属性の画素が存在しているとき、属性を考慮せずに減色処理を行うと、異なる属性の画素同士が同じ色（同じ画素値）になってしまう可能性がある。したがって、輪郭情報が画質に大きく影響を及ぼすような部分（文字やグラフィックの輪郭部分）が、背景のイメージと同じ色になってしまうと、輪郭がぼやけて画質が低下する、という問題が発生する。
【００１０】
本発明は、処理コストを抑えつつ画像品位と圧縮率の向上を両立させた圧縮処理が可能な装置及び方法を提供する。
【課題を解決するための手段】
【００１１】
本発明の画像処理装置は、画像データを２×２画素サイズのブロックに分割し、当該分割された各ブロックを順に処理対象にし、当該処理対象のブロックを構成する各画素の色データと属性データとに基づいて、当該処理対象のブロックに対する減色処理を行う減色手段と、
前記減色手段で減色処理を行った後の前記処理対象のブロック内の各画素の色データを比較することにより、当該処理対象のブロックに含まれる色データの配置パターンを示すパターンフラグを特定する特定手段と、
前記減色手段で減色処理を行った後の前記２×２画素サイズのブロックの予め定義された位置の画素に対応する色データを第１色の色データとして抽出し、更に、前記減色処理後のブロックに含まれる色数が２〜４のいずれかであると判断した場合は、前記特定されたパターンフラグに対して定義されている配置パターンに対応する第２〜４色の色データを抽出する抽出手段と、
前記特定手段で特定された各ブロックのパターンフラグと、前記抽出手段で抽出された各ブロックの前記第１色の色データと、前記抽出手段で抽出された各ブロックの第２〜４色の色データとを出力する出力手段と、
を有し、
前記減色手段は、前記処理対象のブロック内の各画素について求められる減色前後の色差に対して当該各画素の属性データに基づいて定められる重みを乗算し、当該ブロックに含まれる各画素について求めた乗算値の総和に基づいて、当該ブロックをいくつの色数に減色するか判定することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、処理コストを抑えつつ画像品位と圧縮率の向上を両立させた圧縮処理を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】画像形成装置の概略構成と情報処理装置とを示す図。
【図２】ＰＤＬデータの構成を示す図。
【図３】画像形成に係る処理を示すフローチャート。
【図４】印刷データの構成を示す図。
【図５】画像形成処理部の構成を示すブロック図。
【図６】印刷データの生成処理を示すフローチャート。
【図７】中間データの構成を示す図。
【図８】媒体に複数種類の属性を持った画像が形成された状態を示す図。
【図９】分割された属性データの構成を示す図。
【図１０】分割された属性データのｂｉｔ構成を示す図。
【図１１】画像の圧縮処理を示すフローチャート。
【図１２】分割された２×２サイズの画素ブロックを示す図。
【図１３】圧縮されたラスターイメージデータのメモリ配置を示す図。
【図１４】画素ブロックに分割されるまでの概念を示す図。
【図１５】パターン情報が持つ色情報を統合する処理を示すフローチャート。
【図１６】属性データの重み値を示す図。
【図１７】画質設定のためのＵＩ画面を示す図。
【図１８】属性パターンと属性データの重み値を示す図。
【図１９】ブロッククラスターに分割されるまでの概念を示す図。
【図２０】変形例２における画像の圧縮処理を示すフローチャート。
【図２１】属性パターンとブロック形状を示す図。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。
【００１５】
［画像形成処理］
図１は、本発明に係る画像形成装置１０２の概略構成と、該画像形成装置１０２に接続された情報処理装置１０１とを示す図である。ここで情報処理装置１０１は、パーソナルコンピュータ（ＰＣ）やワークステーションなどであり、情報処理装置１０１上でＰＤＬ（ページ記述言語）データを生成することができる。また、情報処理装置１０１はネットワークやＵＳＢに代表されるインターフェースを介してＰＤＬデータを含む情報を外部の装置（この例では画像形成装置１０２）に転送することができる。
【００１６】
図２に示すように、ＰＤＬデータ２００は描画データ２０１と印刷制御データ２０２とを持つことができる。描画データ２０１は、後述する画像形成処理部１２３で解釈され、可視的な描画が可能なデータを持つことができる。
【００１７】
更に、描画データ２０１は、イメージデータ２１１、文字データ２１２、グラフィックデータ２１３を持つことができる。このイメージデータ２１１は、離散的にサンプリングされた可視画像を示すデータ（写真・絵柄など）である。また、文字データ２１２は、可視的な字形（letter form）として表現可能な情報を持つデータである。そして、グラフィックデータ２１３は、パス点列によって表現される図形（線画）や少なくとも離散的な実数解を持つ関数で表現される図形である。尚、グラフィックデータ２１３を表現するために、本実施形態では、以下の方法を用いることができる。
・複数の線分で指定された閉空間
・一つ以上の少なくとも離散的な実数解を持つ関数で表現される閉空間
・幅の情報と一つ以上の線分
・円及び楕円
尚、上記以外にも表現できる図形があっても本発明を実施できることは言うまでもない。また同様に、表現できる図形が上記のうち一つ以上あっても、本発明を実施できることは言うまでもない。
【００１８】
更に、上記実数解をもつ関数で表現する場合には、紙の上に写像することができる関数がＰＤＬデータ中に示される。例えば、本実施形態では、実数解をもつ三次ベジェ曲線を用いることができる。一般に、ベジェ曲線は以下の数式によって定義され、画像形成処理部１２３がこの数式に従って実数解を求めることで、ラスターイメージデータを生成するために必要な座標点列を求めることができる。
【００１９】
【数１】
0005643574.tif 000002
【００２０】
また、印刷制御データ２０２は、ＰＤＬデータ２００をどのような方法で画像形成すれば良いかを含む情報を持つことができる。例えば、この情報は、紙のサイズや紙の種類を指定する情報や、製本処理の方法などを含む画像形成を行った後の加工処理のための情報などを含む。更に、この印刷制御データ２０２は、画像形成処理にかかる色処理に関する設定情報、画像形成すべきページ範囲の設定情報、画像形成処理にかかる解像度の設定情報も持つことができる。もちろん、印刷制御データ２０２が持つことができる情報は、上述の情報群に対して過不足があったとしても本発明を実施できることは言うまでもない。
【００２１】
次に、図１に示す画像形成装置１０２の構成を説明する。画像形成装置１０２は、プリンタや複合機などであり、上述のＰＤＬデータ２００に代表される印刷データに基づいて紙に代表される媒体に可視像を形成する。
【００２２】
尚、もちろんプリンタや複合機と呼ばれるもの以外にも、何らかの媒体上に可視画像を形成することができる装置であれば、本発明を実施できることは言うまでもない。また、プリンタや複合機と呼ばれるもの以外にも、何らかの媒体上に可視画像を形成することができる装置と接続された装置であれば、本発明を実施できることは言うまでもない。
【００２３】
次に、画像形成装置１０２について、記録媒体に可視像を形成する画像形成に係る処理やそれらの処理を行う処理部を説明する。図３は、画像形成装置１０２が行う画像形成に係る処理を示すフローチャートである。先ずＳ３０１では、画像形成装置１０２はネットワークインターフェース（Ｉ／Ｆ）１２１を介して情報処理装置１０１から送られてきたＰＤＬデータ２００を受信する。
【００２４】
尚、ＵＳＢ（Universal Serial Bus）１２２を介して他装置や記憶媒体からＰＤＬデータ２００を含むデータを取得することも可能である。尚、その他のインターフェースを利用してＰＤＬデータを取得するようにしても構わない。
【００２５】
Ｓ３０２では、Ｓ３０１で取得されたＰＤＬデータ２００は画像形成処理部１２３へ送られ、画像形成処理部１２３がそのＰＤＬデータ２００に基づいて中間データを生成する。生成される中間データの詳細については、図７を用いて後述する。
【００２６】
更に、Ｓ３０３において、画像形成処理部１２３はその中間データに基づいて印刷データを生成する。生成される印刷データの詳細については、図４を用いて後述する。
【００２７】
Ｓ３０４において、画像形成処理部１２３は生成した印刷データを印刷エンジンへ送信する。そして、Ｓ３０５では、印刷エンジン１２４が画像形成処理部１２３で生成された印刷データに基づいて画像形成を行い、紙などに代表される記録媒体上に可視像を形成する。
【００２８】
以上、本実施形態における画像形成装置１０２が行う画像形成の概略を説明した。次に、上述したＳ３０２〜Ｓ３０３の処理を実行する画像形成処理部１２３の詳細について、図５を用いて説明する。
【００２９】
図５は、画像形成処理部１２３の構成を示すブロック図である。画像形成処理部１２３は、ＣＰＵに代表される汎用プロセッサ５０１を有する。この汎用プロセッサ５０１は、ローカルバス５０７を介して画像形成処理部１２３全体を制御する。
【００３０】
即ち、汎用プロセッサ５０１は、RIP ASIC５０２、画像処理ASIC５０３、メモリコントローラ５０４を制御する。また、汎用プロセッサ５０１は、メモリコントローラ５０４を制御することで、メインメモリ５０５、ＲＯＭ５０６を制御する。また、汎用プロセッサ５０１は、ＩＯコントローラ５０８を制御する。
【００３１】
汎用プロセッサ５０１は受信したＰＤＬデータから中間データを生成する。
【００３２】
RIP ASIC５０２は、汎用プロセッサ５０１の制御に基づき、中間データを受信し、当該受信した中間データから印刷データ４００を生成する。このとき、RIP ASIC５０２内の画像圧縮処理部５２１が前記受信した中間データに基づき生成されるラスターイメージデータを圧縮することにより、印刷データ４００を生成する。
【００３３】
画像処理ASIC５０３は、RIP ASIC５０２から印刷データ４００を受信し、この印刷データ４００に対して印刷エンジン１２４が画像形成を行うために必要な画像処理を行う。このとき、必要に応じて、画像処理ASIC５０３内の画像圧縮処理部５３１が前記受信した印刷データ４００に含まれる圧縮されたラスターイメージデータを伸長し、伸長されたラスターイメージに対して画像処理が行われた後、再度圧縮する。なお、この画像処理には、ハーフトーン処理、ＣＭＳ処理、色空間変換処理、画像圧縮処理、画像解凍処理、色空間判定処理が含まれる。尚、画像処理ASIC５０３が行うことができる処理がこれらに対して過不足があったとしても、本発明を実施できることは言うまでもない。
【００３４】
メモリコントローラ５０４は、メインメモリ５０５及びＲＯＭ５０６へのアクセス制御を行う。即ち、メモリコントローラ５０４は、ローカルバス５０７に接続された他の構成部分に対してメインメモリ５０５へのデータの読み込み及び書き込みを可能とする。また同様に、メモリコントローラ５０４は、ローカルバス５０７に接続された他の構成部分に対してＲＯＭ５０６へのデータの読み込みを可能とする。
【００３５】
ＩＯコントローラ５０８は、画像形成装置１０２内の他の部分（画像形成処理部１２３以外の部分）とのインターフェースである。即ち、ＩＯコントローラ５０８はローカルバス５０７に接続された画像形成処理部１２３内の構成部分が、画像形成装置１０２内の他の部分（画像形成処理部１２３以外の部分）とのデータの交換を可能にする。
【００３６】
ローカルバス５０７は、汎用プロセッサ５０１、RIP ASIC５０２、画像処理ASIC５０３、メモリコントローラ５０４及びＩＯコントローラ５０８を接続し、これら接続した部分間でデータの交換を可能とする。
【００３７】
次に、画像形成処理部１２３の汎用プロセッサ５０１とRIP ASIC５０２とにより、ＰＤＬデータ２００から中間データ７００を生成し、更に印刷データ４００を生成する処理について図６を用いてより詳細に説明する。
【００３８】
先ず、Ｓ６０１において、汎用プロセッサ５０１がＰＤＬデータ２００の解釈処理を行い、中間データ７００を生成する。尚、ＰＤＬデータ２００は複数種類があり、Adobe Systems, IncorporatedのPDFやPostScript(R)、Canon Inc.のLIPS(R)などが知られている。すなわち、汎用プロセッサ５０１は、これら様々なデータフォーマットが存在するＰＤＬデータ２００から、共通のデータ形式である中間データ７００を生成する。
【００３９】
ここで、この中間データ７００を、図７を用いて説明する。汎用プロセッサ５０１は、ＰＤＬデータ２００により記述されている１ページ分の画像データを所定サイズ（本実施形態では３２×３２画素とする）の画像データとなるように分割し、当該分割したデータごとの中間データを生成する。以下では３２×３２画素サイズの画像ブロックをタイルと呼ぶこととする。なお、タイルのサイズは３２×３２画素に限るものではない（例えば、６４×６４画素サイズであってもよい）。したがって、ＰＤＬデータから生成される中間データ７００は、分割された各タイルの中間データ７０１と印刷制御中間データ７０２とを持つ。ここで、分割された各タイルの中間データ７０１は、更に当該タイル内に描画される文字データ７１０、グラフィックデータ７１１、イメージデータ７１２、及び領域情報７１３を持つ。
【００４０】
印刷制御中間データ７０２は、少なくとも印刷制御データ２０２に基づいて生成されるデータである。印刷制御データ２０２としては、少なくとも画像形成すべき媒体の大きさ（例えば用紙サイズ）や製本処理の方法を示す情報などを持つことができる。
【００４１】
次に、Ｓ６０２において、RIP ASIC５０２がＳ６０１で生成された中間データ７００を受信し、当該受信した中間データ７００から印刷データ４００を生成する。図４を用いて印刷データ４００を説明する。RIP ASIC５０２は、受信した中間データ７００に含まれる各タイルの中間データ７０１をラスタライズすることにより、タイルごとのラスターイメージデータを生成する。そして、RIP ASIC５０２内の画像圧縮処理部５２１が、各タイルのラスターイメージデータを後述の圧縮処理で圧縮することにより、圧縮された各タイルのラスターイメージデータ４１１に変換する。また、中間データ７０１をラスタライズしてタイルごとのラスターイメージデータを生成する際に、各タイルに含まれる各画素の属性を示す属性データ４１２も生成される。すなわち、RIP ASIC５０２は、中間データ７００から、タイル毎に分割され且つ圧縮されたラスターイメージデータ４１１と、タイル毎に分割された属性データ４１２とを含む印刷データ４００を生成する。また、印刷エンジン制御データ４０２は、少なくとも印刷制御中間データ７０２に基づいて生成されるデータである。そして、RIP ASIC５０２は、生成した印刷データ４００をメインメモリ５０５に転送して保存する。本実施形態では、印刷データ４００は、RIP ASIC５０２からメインメモリ５０５を介して画像処理ＡＳＩＣ５０３へ送信される。
【００４２】
次に、Ｓ６０３において、画像処理ASIC５０３は、メインメモリ５０５から印刷データ４００を取得し、当該取得した印刷データ４００に基づいて画像処理を行う。ここで画像処理ASIC５０３は、印刷データ４００に含まれるタイル毎の圧縮されたラスターイメージデータ４１１を画像圧縮処理部５３１で伸長（圧縮データを展開）し、当該伸長したタイル毎のラスターイメージに対して画像処理を行う。更に、画像処理ASIC５０３は、当該画像処理を行った後のタイル毎のラスターイメージデータを画像圧縮処理部５３１で再度圧縮し、画像処理が行われた後の印刷データ４００を生成する。そして、画像処理が行われた後の印刷データはメインメモリ５０５に転送され保存される。
【００４３】
なお、後述するが、画像処理の種類が１画素入力１画素出力で完結する色処理である場合は、画像圧縮処理部５３１でラスタ画像に戻す必要はなく、図１３のように格納されている圧縮データを処理するようにしてもよい。
【００４４】
以上の処理により、画像形成処理部１２３は印刷データ４００を生成することができる。なお、前述したＳ３０４において、画像形成処理部１２３はメインメモリ５０５に保存した画像処理後の印刷データ４００を印刷エンジンへ送信する。
【００４５】
［属性データについて］
次に、上述したＳ６０２において生成される属性データ４１２の詳細について、図８〜図１０を用いて説明する。図８に示すように、紙などの記録媒体８００には、複数種類の属性を持った画像が形成される。例えば、１ページの画像には、イメージ属性の画像オブジェクト８０１、グラフィック属性の画像オブジェクト８０２、文字属性の画像オブジェクト８０３が含まれている。このとき、１ページの画像をタイルごとに分割した場合、各タイル画像に含まれる各画素は、複数の属性を有する。例えば、タイル８０４には文字属性の画素とグラフィック属性の画素が含まれ、タイル８０５には文字属性の画素とイメージ属性の画素が含まれる。したがって、図４に示す印刷データ４００のラスターイメージデータ４０１が有する各タイルに分割された属性データ４１２は、三種類の属性データの少なくともいずれかを含むことになる。ここで、三種類の属性データは、図９に示すように、イメージ属性９０１、グラフィック属性９０２、文字属性９０３である。このとき、各タイルの属性データ４１２は、３２×３２画素サイズの属性マップとなる。
【００４６】
なお、本実施形態において、各画素の属性データは、３ｂｉｔで表されるものとする。このとき、図１０に示すように、１ｂｉｔ目が１であれば、対応する画素がイメージ属性９０１であることを示し、また、２ｂｉｔ目が１であればグラフィック属性９０２であることを示し、３ｂｉｔ目が１であれば文字属性９０３であることを示す。
【００４７】
なお、本実施形態では、属性として、イメージ属性、グラフィック属性、文字属性を定義したが、この３種類に限るものではない。
【００４８】
［減色処理を伴う圧縮処理］
上述したように、本実施形態ではＳ６０３において、各タイルのラスターイメージデータに対して圧縮処理を行う。以下では、この圧縮処理について図１１〜図１５を用いてより詳細に説明する。
【００４９】
図１１は、画像圧縮処理部による画像の圧縮処理を示すフローチャートである。まず、画像圧縮処理部５２１は、各タイルのラスターイメージデータを画素ブロックに分割する（Ｓ１１０１）。ここで分割された画素ブロックは、図１２に示すように、所定のサイズ（この例では２×２サイズ）の画素ブロックである。もちろん、分割された画素ブロックのサイズが所定のサイズ以外のサイズ（Ｍ×Ｎ画素）であったとしても、本発明を実施できることは言うまでもない。
【００５０】
図１４は、１ページのラスターイメージと、各タイルのラスターイメージと、各画素ブロックとの関係を示す概念図である。本実施形態において、１ページの画像は３２×３２画素サイズのタイルごとに分割され、各タイルは更に２×２画素サイズのブロックに分割されるのに等しい。本実施形態では、タイル単位で圧縮処理が行われることになる。もちろん、上述したサイズや形状以外の分割方法を用いたとしても、本発明を実施できることは言うまでもない。
【００５１】
次に、画像圧縮処理部５２１は、各タイルの属性データ４１２も対応する画素ブロックに応じて分割する（Ｓ１１０２）。すなわち、属性データも、所定のサイズ（本実施形態では２×２サイズ）の画素ブロックごとに分割される。
【００５２】
次に、画像圧縮処理部５２１は、画素ブロックの１つを処理対象として、各画素の色データと対応する属性データとに基づいて減色処理を実行し、減色処理後の画素ブロックにおける色の配置パターンと、減色処理後の色データとを特定する（Ｓ１１０３）。ここでは、減色処理後の画素ブロックの各画素の色データを比較し、色データが一致した画素に基づいて色の配置が図１２のいずれのパターンに合致するか判定することにより、配置パターンを特定する。特定された配置パターンは、図１２に示したように、各配置パターンを示すパターンフラグ（０〜Ｅ）のいずれかとして符号化することができる。
【００５３】
また、図１２に示したパターンフラグに対してブロック内での各色の配置を示す各パターンが対応づけられているので、パターンフラグが分かれば各ブロックにおける色数と色データを特定することができる。なお、本実施形態では、全てのパターンにおいて、左上の画素の色（画素値）が第１色の色データ（１番目の色データ（代表色））となるように定義している。パターンフラグが０の場合は、色数１で、左上の画素の色（画素値）を第１色として抽出する。また、パターンフラグが１〜７の場合は、色数２で、左上の画素の色（画素値）を第１色として抽出し、更に、各パターンフラグに応じて定義されている第２色（２番目の色データ）が存在する位置の画素の色（画素値）を抽出する。例えば、パターンフラグが１の場合は、右上の画素の色を第２色として抽出する。また、パターンフラグが８〜Ｄの場合は、色数３で、左上の画素の色（画素値）を第１色として抽出し、更に各パターンフラグに応じて定義されている第２色（２番目の色データ）及び第３色（３番目の色データ）が存在する位置の画素の色（画素値）を抽出する。例えば、パターンフラグが８の場合は、右上の画素の色（画素値）を第２色として抽出し、右下の画素の色（画素値）を第３色として抽出する。また、パターンフラグがＥの場合は、左上の画素の色を第１色、右上の画素の色を第２色、左下の画素の色を第３色、右下の画素の色を第４色として抽出する。
【００５４】
このように、減色後の各画素ブロックに含まれる画素の比較結果に基づいて、減色後の画素ブロックの色数が特定され、それぞれに応じたパターンフラグと色データとを特定できる。なお、本実施形態では、２×２画素のブロックのうち、左上の画素の色を第１色として定義したが、画素の位置は左上に限るものではない（例えば、右下の画素の色が第１色となるように配置パターンを定義してもよい）。
【００５５】
次に、画像圧縮処理部５２１は、Ｓ１１０３で決定されたパターンフラグと、第１色の色データと、第２〜４色の色データとを、それぞれのメモリ格納領域に記憶する（Ｓ１１０４）。すなわち、図１３のように、各ブロックのパターンフラグはメモリ上のパターンフラグ格納部（パターンフラグを格納するためのメモリ領域）にまとめて格納されることになる。また、各ブロックの第１色（１色目）の色データは、メモリ上の第１色格納部（各ブロックの１色目の色データを格納するためのメモリ領域）にまとめて格納されることになる。更に、各ブロックの第２〜４色目の色データは、メモリ上の第２，３，４色格納部（各ブロックの２〜４色目の色データを格納するためのメモリ領域）にまとめて格納されることになる。なお、図１３では不図示であるが、当該画像に含まれる各画素の属性データもメモリに格納されるものとする。
【００５６】
これらの処理を最後の画素ブロックまで繰り返すことで（Ｓ１１０７）、画像圧縮処理部５２１は各タイルのラスターイメージデータを、圧縮されたラスターイメージデータ４１１に変換することができる。
【００５７】
なお、図１３において、第１色書き込み先頭アドレス以降のメモリ領域（第１色格納部、および第２〜４色格納部）に関しては、画素の色データがそのままのビット数で格納されている。すなわち、ＪＰＥＧ等の圧縮データとは異なり、圧縮データをデコードしてラスタ画像に戻さなくても、各画素の色（画素値）を特定することができる。したがって、１画素入力１画素出力で完結する色処理（例えばＬＵＴを用いた色変換やガンマ補正処理、行列演算を用いた色空間変換処理等）を行う場合は、ラスタ画像に戻す必要はなく、図１３のように格納されているデータに対して直接処理を行える。画像処理ＡＳＩＣ５０３で画素単位の画像処理を行う場合は、メモリ上の第１色書き込み先頭アドレス以降の画素データを読み込み、画素単位での処理を済ませた後に、メモリへ書き戻す。このとき、何らかの画素単位処理によって画素のビット数が変わらない場合には、メモリ上の同じ場所へ上書きすることでメモリの節約も可能である。
【００５８】
次に、上述したステップＳ１１０３で実行される減色処理の詳細について、図１５を用いて説明する。尚、入力される色情報は、この例ではＲＧＢ各色８ｂｉｔの２５６階調を持つものとする。また、これ以外の入力画素値をもってしても、本発明を実施できることは言うまでもない。なお、特許文献１では２×２ブロック内を常に２色以下に減色していたが、本実施形態では、更なる高画質化を行うために、２×２画素のブロックにおいて属性に基づき減色処理を行い、且つ、減色後の各ブロックの色数は最大４色まで許容する。
【００５９】
まず、画像圧縮処理部５２１は、２×２画素ブロックを入力すると（Ｓ１５００）、その画素ブロックにおける４画素のデータを１色へ減色する減色処理を行う（Ｓ１５０１）。ここでは、例えば４画素の平均画素値を算出することで１色へ減色する。
【００６０】
次に、画像圧縮処理部５２１は、その減色した画素値と入力の４画素の画素値との差分パラメータを算出する（Ｓ１５０２）。ここで「差分パラメータ」とは、以下のように求めることができる。
【００６１】
すなわち、画素ブロック内の色情報のパターンと属性データのパターンとに基づいて、以下のようにして数値化することで差分パラメータを求める。まず、減色処理前のブロックと１色に減色処理した後のブロックとの間で、各ブロックの４画素各々について、対応する位置にある画素間の色データの差（色差）をもとめる。すなわち、減色処理の前後で、各画素の色データの変化を色差として求める。ついで、各々の画素の属性データに基づいて重み値を求める。この属性データの重み値は図１６に例示されるようなあらかじめ定められたテーブルによって求めることができる。例えば注目画素の属性がグラフィックや文字である場合には属性データの重み値は２であり、注目画素の属性がイメージの場合は重み値は１であるとする。そして、画像圧縮処理部５２１は、各画素について減色前後の色差と属性データの重み値との乗算値を求め、更に、当該ブロックに含まれる各画素について求めた乗算値の総和を、当該ブロックにおける差分パラメータとする（Ｓ１５０２）。
【００６２】
また、画像圧縮処理部５２１は、上述の差分パラメータに基づいて減色することによる画質低下が大きいか小さいかを判定する（Ｓ１５０３）。色差パラメータが基準値より大きければ、画質低下が大きいと判定し、直前に行った減色処理（１色への減色）を断念し、Ｓ１５０６へ進む。逆に、差分パラメータが基準値より小さければ、画質低下が小さいと判断し、直前に行った減色処理（１色への減色）を採用し、減色後のパターンフラグ「０」を付与する（Ｓ１５０４）。そして、画像圧縮処理部５２１は、その減色した１色の画素値とパターンフラグ「０」とを出力する（Ｓ１５０５）。
【００６３】
尚、減色することによる画質低下が大きいか小さいかを判定するための基準値は、画像形成処理部１２３のメインメモリ５０５、ＲＯＭ５０６に保存された値を用いる。この例では、保存された基準値は、図１７に示すようなＵＩ（ユーザインターフェース）画面で設定の変更をすることができる。もちろん、他の方法にとって基準値を決定したとしても、本発明を実施できることは言うまでもない。
【００６４】
一方、上述のＳ１５０３で画質低下が大きいと判定された場合には、当該処理対象の２×２画素ブロックを２色へ減色する処理を試みる（Ｓ１５０６）。具体的には、画像圧縮処理部５２１が、当該画素ブロック内の４画素のうち、ＲＧＢ値の差が最も大きい２画素Ａ、Ｂを抽出し、次に、残りの２画素がＡ、Ｂどちらに近いかでクラスタリングし、各クラスタにおいて平均値を求めることで、２色化する。
【００６５】
次に、画像圧縮処理部５２１は、２色化前後の各画素の色データの差（色差）と、各画素の属性重み値とに基づいて、上述したＳ１５０２と同様に差分パラメータを求める（Ｓ１５０７）。すなわち、各画素について２色に減色する前後の色差と属性データの重み値との乗算値を求め、更に、当該ブロックに含まれる各画素について求めた乗算値の総和を、当該ブロックにおける差分パラメータとする。そして、画像圧縮処理部５２１は、Ｓ１５０３と同様に画質低下の大小を判定する（Ｓ１５０８）。ここで差が小さく画質低下が小さいと判定された場合には、２色のパターンを採用し、当該減色後の２色の配置パターンに合致するパターンフラグ（１〜７のいずれか）を付与する（Ｓ１５０９）。そして、その減色した２色の画素値とパターンフラグを出力する（Ｓ１５１０）。
【００６６】
一方、上述のＳ１５０８で画質低下が大きいと判定された場合には、３色への減色処理を試みる（Ｓ１５１１）。本実施形態では、画像圧縮処理部５２１が４画素のうち最もＲＧＢ値の差の小さい２画素を抽出し、その２画素の値を平均化し、その平均値とそれ以外の２画素の値とを用いて、ブロック内の４画素を３色へ減色する。
【００６７】
次に、画像圧縮処理部５２１は、この３色化した画素と入力された４画素との色データの差（色差）と、各画素の属性データの重み値とに基づいて、上述したＳ１５０２と同様に差分パラメータを計算する（Ｓ１５１２）。すなわち、各画素について３色に減色する前後の色差と属性データの重み値との乗算値を求め、更に、当該ブロックに含まれる各画素について求めた乗算値の総和を、当該ブロックにおける差分パラメータとする。そして、画像圧縮処理部５２１は、Ｓ１５０３と同様に画質低下の大小を判定する（Ｓ１５１３）。ここで差が小さく画質低下が小さいと判定された場合には、３色のパターンを採用し、当該減色後の３色の配置パターンに合致するパターンフラグ（８〜Ｄのいずれか）を付与する（Ｓ１５１４）。そして、その減色した３色の画素値とパターンフラグを出力する（Ｓ１５１５）。
【００６８】
一方、上述のＳ１５１３で画質低下が大きいと判定された場合には、４色全ての画素値とそれに対応するパターンフラグ「Ｅ」を付与する（Ｓ１５１６）。そして、入力された４画素すべての画素値とパターンフラグとを出力する（Ｓ１５１７）。この場合、当該画素ブロックに関しては、減色処理を行うと画質低下が著しいことを意味するため、画像圧縮処理部５２１は減色処理を行わずに４画素それぞれの画素値（色データ）とパターンフラグを出力する。
【００６９】
上述した実施形態によれば、ＰＤＬ画像のように、文字の境界やグラフィックの境界の情報が画質を大きく左右する画像において次のような効果がある。文字属性やグラフィック属性を有する画素については重みを大きくして差分パラメータを求めるので、文字やグラフィックの画素の色を他の色と統合して減色する場合が減り、画質低下を抑制することができる。
【００７０】
従って、より強く減色処理を行っても、ＰＤＬ画像のように文字の境界やグラフィックの境界の情報を保つことができる。また、上述の圧縮方法により、ローカルバス５０７を通じて通信されるデータ量を軽減することができ、低コストで高画質な画像形成が可能となる。
【００７１】
更に、ＤＣＴ処理を伴う圧縮より低コストな圧縮処理で、高画質な圧縮処理が可能となる。また、高圧縮処理を高画質に実現することで、メモリやバスのコストを抑えることができ、低コストな画像形成装置を提供することが可能となる。
【００７２】
［変形例１］
上述した実施形態では、減色処理を伴う圧縮処理は次のように実施されていた。画像圧縮処理部が差分パラメータを属性データの重み値と色差パラメータの乗算値の和で求める。この属性データの重み値は図１６に示すように、属性データによって一意に一つの値が定められるテーブルを用いて得ることができる。しかし、他の方法を用いても本発明を実施できる。以下、実施形態における減色処理を伴う圧縮処理のうち、変形例１に関係する処理を説明する。
【００７３】
まず、画像圧縮処理部５２１は、２×２画素ブロックを入力すると（Ｓ１５００）、その画素ブロックにおける４画素のデータを１色へ減色する減色処理を行う（Ｓ１５０１）。ここでは、例えば４画素の平均画素値を算出することで１色へ減色する。そして、画像圧縮処理部５２１は、その減色した画素値と入力の４画素の画素値との差分パラメータを算出する（Ｓ１５０２）。
【００７４】
変形例１では、差分パラメータを算出する際に使用される属性データの重み値を、図１６に示すテーブルを用いる代わりに、図１８に示す属性パターンにより定めるものである。ここでは、分割された属性データ４１２に含まれている画素に対応する属性データから、入力された４画素の属性を調べ、図１８に示す属性パターンの何れに対応するかを判定する。そして、一致した属性パターンに対応する属性データの重み値と色差の合計値とを掛け合わせて差分パラメータを求める。これ以降の処理は、上述した実施形態と同様であり、説明は省略する。尚、図１８に示す属性パターンと属性データの重み値は、予めテーブルとして備えられていても良い。
【００７５】
この構成を採用することで、上述した実施形態の効果に加えて、特定の属性パターンにおける減色処理が発生することを抑制することができる。また、上述した実施形態の効果に加えて、特定の属性パターン以外の減色処理を増やすことで、ラスターイメージデータの圧縮率を高くすることができる。より具体的には、この変形例１によれば、画像品位の低下を招きやすい小さい文字や細い文字における減色処理を抑制することができるため、画像品位を高めたまま減色処理を伴う画像圧縮処理が可能となる。
【００７６】
［変形例２］
上述した実施形態又は変形例１では、減色処理を伴う圧縮処理において、属性データの重み値を図１６に示すテーブル又は図１８に示す属性パターンを用いて定めていた。変形例２では、分割された２×２画素ブロックを図１９に示すブロッククラスターに更に分割し、ブロッククラスター毎に減色処理を伴う圧縮処理を行うものである。
【００７７】
図２０は、変形例２における画像の圧縮処理を示すフローチャートである。尚、図２０に示すＳ２００１、Ｓ２００２、Ｓ２００５〜Ｓ２００９の処理は、上述した実施形態の図１１の処理に相当する。ここでは、変形例２に関係する処理を説明する。
【００７８】
Ｓ２００３では、変形例１と同様に、属性データから、入力された４画素の属性を調べ、図２１に示す属性パターンの何れに対応するかを判定する。そして、Ｓ２００４で、一致した属性パターンに対応するブロック形状をブロッククラスターとして決定する。そして、これ以降のＳ２００５〜Ｓ２００８の処理では、このブロッククラスターに分割されたラスターイメージデータに対して上述した実施形態と同様に圧縮処理を実行する。
【００７９】
この構成を採用することで、上述した実施形態、変形例１の効果に加えて、特定の属性間で発生する減色処理を防ぐことができる。また、特定の属性パターン以外の減色処理を増やすことで、ラスターイメージデータの圧縮率を高くすることができる。より具体的には、この変形例２によれば、画像品位の低下を招きやすい文字のエッジ部分の減色処理を防ぐことができるため、画像品位を高めたまま減色処理を伴う画像圧縮処理が可能となる。
【００８０】
［変形例３］
上述した実施形態における画像形成処理は、RIP ASICや画像処理ASICなどを用いて処理していた。しかしながら、画像形成処理の一部又はすべてを汎用プロセッサで実行したとしても、本発明を実施できることは言うまでもない。
【００８１】
また、RIP ASICや画像処理ASICで行われている処理の一部又はすべてを汎用プロセッサ以外の処理装置で処理しても、本発明を実施できることは言うまでもない。例えば、DSP、FPGA、コンフィギュラブルプロセッサー、リコンフィギュラブルプロセッサーを用いて処理の一部又はすべてを実行しても、本発明を実施できる。
【００８２】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005643574.tif 000003
【図２】
0005643574.tif 000004
【図３】
0005643574.tif 000005
【図４】
0005643574.tif 000006
【図５】
0005643574.tif 000007
【図６】
0005643574.tif 000008
【図７】
0005643574.tif 000009
【図９】
0005643574.tif 000010
【図１０】
0005643574.tif 000011
【図１１】
0005643574.tif 000012
【図１２】
0005643574.tif 000013
【図１３】
0005643574.tif 000014
【図１４】
0005643574.tif 000015
【図１５】
0005643574.tif 000016
【図１６】
0005643574.tif 000017
【図１７】
0005643574.tif 000018
【図１８】
0005643574.tif 000019
【図１９】
0005643574.tif 000020
【図２０】
0005643574.tif 000021
【図２１】
0005643574.tif 000022
【図８】
0005643574.tif 000023