(57)【要約】【課題】ＰＤＬを入力としてラスタ画像を生成する画像処理装置において、画像圧縮による視覚的劣化を最小限とした上で、中間データのサイズを小さくする。【解決手段】中間データ生成処理において、描画オブジェクトの重なり情報を参照し、中間データに含まれる画像に対する圧縮方法を選択する。重ね合わせがあるような視覚的効果の少ない画像に対しては、高圧縮となるように圧縮方法を選択することで中間データのサイズを削減する。【選択図】図２
2015198435.tif 000002
【特許請求の範囲】
【請求項１】
ＰＤＬデータからラスタ画像データを生成するための中間データを生成する画像処理装置であって、
ＰＤＬデータを解釈して中間データを生成する生成手段と、
前記中間データに含まれた画像オブジェクトを、当該中間データから生成されるラスタ画像データに対する寄与度に基づいて決定した符号化パラメータで符号化する符号化手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記符号化手段は、画像オブジェクトの前記寄与度を、当該画像オブジェクトの不透明度と、該画像オブジェクトの上に重複する他の画像オブジェクトの透明度とに基づいて決定し、決定した前記寄与度が大きいほど元の画像に対する劣化の程度が小さくなるような符号化パラメータで、当該画像オブジェクトを符号化することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記符号化手段は、画像オブジェクトが他の画像オブジェクトと重複した領域ごとに前記寄与度を求め、そのうち最も大きな寄与度を、当該画像オブジェクトの寄与度として決定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記符号化手段は、前記生成手段により生成された中間データのサイズが所定の閾値以下となるまで、画質の程度を下げつつ前記画像オブジェクトの符号化を繰り返すことを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
前記符号化手段は、前記画像オブジェクトの符号化を繰り返す際に、画像オブジェクトの拡大率に応じて、拡大率の大きな画像オブジェクトの画質をより劣化させないように、当該画像オブジェクトを符号化することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記符号化手段は、前記寄与度が所定の閾値より大きい場合には、当該画像オブジェクトを可逆符号化し、前記閾値以下の場合には、前記寄与度に応じて求まる符号化パラメータで非可逆符号化することを特徴とする請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項７】
前記符号化手段は、画像を分割したタイルごとに、画像オブジェクトを符号化することを特徴とする請求項１乃至６のいずれか一項に記載の画像処理装置。
【請求項８】
前記符号化手段により画像オブジェクトが符号化された中間データから、ラスタ画像データを生成するレンダリング手段を更に有することを特徴とする請求項１乃至７のいずれか一項に記載の画像処理装置。
【請求項９】
前記符号化手段により画像オブジェクトが符号化された中間データは、通信により前記レンダリング手段に送信されることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
コンピュータによりＰＤＬデータからラスタ画像データを生成するための中間データを生成させるためのプログラムであって、
ＰＤＬデータを解釈して中間データを生成する生成手段と、
前記中間データに含まれた画像オブジェクトを、当該中間データから生成されるラスタ画像データに対する寄与度に基づいて決定した符号化パラメータで符号化する符号化手段と
して前記コンピュータを機能させるためのプログラム。
【請求項１１】
画像処理装置により、ＰＤＬデータからラスタ画像データを生成するための中間データを生成する中間データ生成方法であって、
ＰＤＬデータを解釈して中間データを生成する生成工程と、
前記中間データに含まれた画像オブジェクトを、当該中間データから生成されるラスタ画像データに対する寄与度に基づいて決定した符号化パラメータで符号化する符号化工程と
を有することを特徴とする中間データ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置及び画像処理方法に関し、特に、生成した中間データを圧縮・伸長してからレンダリングする画像処理装置及び中間データ生成方法に関する。
【背景技術】
【０００２】
ページ記述言語（ＰＤＬ）で記述されたデータをネットワーク等の通信媒体を介して受信し、専用のＰＤＬインタプリタにより解釈してラスタ画像を形成するＲＩＰ処理を行い、電子写真またはインクジェット等のプリンタエンジンを用いて印字出力をするページプリンタが広く知られている。またＰＣ内のメモリに実行可能なプログラムとして格納されて、ＰＤＬを解釈して、ラスタ画像を生成するＲＩＰ処理を行いプリンタに画像を送信するプリンタドライバ等のホストアプリケーションがある。
【０００３】
ＰＤＬデータのラスタ画像生成処理においては、ＰＤＬインタプリタでＰＤＬデータを解析してオブジェクト単位の描画命令を中間データ生成部に渡し、いったん中間データを生成する。ハードウェアもしくはソフトウェアで実現されたレンダラは、バンド単位あるいはページ単位の中間データをビットマップ形式のラスタ画像データに変換する。
【０００４】
ＰＤＬデータにビットマップ画像データの画像オブジェクトが含まれる場合、生成される中間データには、そのビットマップ画像データが含まれる。このとき中間データに含まれたビットマップ画像データを圧縮することで中間データのデータサイズを小さくすることができる。例えば、中間データに含まれたビットマップ画像データをＪＰＥＧ圧縮したり、中間データ中のビットマップ画像データ及びベクタ情報を、可逆圧縮と非可逆圧縮とを組み合わせて圧縮したりする方法が用いられる。
【０００５】
圧縮率と圧縮された画像の画質はトレードオフの関係にあるため、画質を維持した上でのデータサイズを小さくする様々な方法が考えられている。
【０００６】
特許文献１では、画像をタイル単位に分割して、可逆圧縮、非可逆圧縮の双方での圧縮を実施する。さらに双方の圧縮後のサイズ比較を行い、データサイズの小さい圧縮方法をタイル単位で選択する。これにより、画像の特性に応じた、データサイズの削減と圧縮による視覚的劣化を最小限にする方法が提案されている。この画像圧縮方法の選択を中間データ中の画像への適用することで、ＲＩＰシステムにおける中間データサイズ削減と画質の維持を実現することができる。
【０００７】
また特許文献２では、画像の各画素に対して前景画素か背景画素かの判別を行い、それぞれに最適な圧縮方法を選択することで画質の維持を図っている。具体的には、文字画像と写真画像の混在において、文字画像に対して可逆圧縮を、写真画像に対して非可逆圧縮を選択する。このように画素の特性に着目して圧縮方法を選択することで、圧縮による画像データサイズの削減と視覚的劣化の抑制を実現している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−２０５２６１号公報
【特許文献２】特開２００８−３０６３９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１の発明は、ラスタ画像プロセッサ（ＲＩＰ）によるラスタ画像生成後には有効であるが、中間データに適用した場合に、複数の画像の存在やＲＩＰでの透過合成やラスタ演算（ＲＯＰ）等の重なり処理を実施する必要があるため、必ずしも効果的な圧縮ができるとは限らない。たとえば重ね合わせにより他の画像の下側となるなど視覚的影響の少ない画像に対しても一律に画質の維持を考慮した圧縮を実施することで、圧縮率が上がらないことがある。例えば半透明の画像の重ね合わせにより、重複部分の画質劣化が視認しにくくなるにも関わらず、可逆、もしくは高画質な係数（すなわち低圧縮率）で非可逆が選択されることがあり得る。
【００１０】
また特許文献２の発明も、ＲＩＰによるラスタ画像生成後の画像の圧縮には有効であるが、中間データに対して実施すると各画素の判別処理に時間がかかる。また写真画像が混在する場合は、画像全てが非可逆圧縮となり、視覚的な劣化が大きくなる。また、特許文献１と同様に、中間データに含まれた画像は、画像どうしあるいは他の種類のオブジェクトとの重複がしばしばあり、単一の画像を圧縮する圧縮技術を中間データに単純に適用したとしても、効果的に圧縮できるとは限らない。
【００１１】
本発明は上述の問題点に鑑みてなされたものであり、中間データに含まれる画像データの画質の維持と圧縮率の向上とを両立した画像処理装置及び画像処理方法の提供を目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明は以下の構成を有する。
【００１３】
ＰＤＬデータからラスタ画像データを生成するための中間データを生成する画像処理装置であって、
ＰＤＬデータを解釈して中間データを生成する生成手段と、
前記中間データに含まれた画像オブジェクトを、当該中間データから生成されるラスタ画像データに対する寄与度に基づいて決定した符号化パラメータで符号化する符号化手段と
を有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ページ記述言語等から作成される中間データに含まれるビットマップ画像データの画質の維持と圧縮率の向上とを両立したデータ圧縮を提供できる。
【図面の簡単な説明】
【００１５】
【図１】本発明のシステム構成の一例を示すシステム構成図
【図２】中間データ生成部の機能ブロック図
【図３】描画データ例の図
【図４】中間データ構成図
【図５】重なり判定処理に関するフローチャート
【図６】寄与成分値算出の例を示す図
【図７】圧縮方法選択に関するフローチャート
【図８】中間データサイズ削減処理フロー図
【図９】中間データ生成の機能ブロック図
【発明を実施するための形態】
【００１６】
［実施形態１］
以下、本発明を実施するための形態について、図面を参照して説明する。図１は、本発明の一実施の形態による画像処理装置の構成を示すブロック図である。図１（ａ）は単一の装置で構成されたシステムを、図１（ｂ）は複数の装置から構成されたシステムを示す。図１（ａ）において、本実施形態の画像処理装置１００は、ＰＤＬインタプリタ１０１、中間データ生成部１０２及びラスタ画像生成部１０４を含む。さらに中間データを格納する中間データ格納部を設けてもよい。図１（ｂ）においては、ラスタ画像生成部１０４が別の画像処理装置１０５に配置される形態である。画像処理装置間は例えば通信で接続されている。本実施形態にかかる画像処理装置は、図１（ａ）、図１（ｂ）双方の形態を取り得る。以下図１（ｂ）における実施の詳細について説明する。この場合には、画像処理装置１００は例えば文書処理アプリケーションなどのアプリケーションプログラムとプリンタドライバとがインストールされたコンピュータであり、画像処理装置１０５は例えばプリンタである。またたとえば、中間データ格納部が文書サーバに含まれ、端末からの指示により文書サーバから中間データ１０３がプリンタ等の画像処理装置１０５に送信される構成などであってもよい。
【００１７】
この構成において、ＰＤＬインタプリタ１０１がページ記述言語（ＰＤＬ）の形式で画像形成命令を受け取る。ＰＤＬの代表的なものとして、Ａｄｏｂｅ社のＰｏｓｔＳｃｒｉｐｔやＰＤＦ、Ｍｉｃｒｏｓｏｆｔ社のＸＰＳといったものがあるが、入力のＰＤＬとしてはこれに限っていない。ＰＤＬインタプリタ１０１は、入力されたＰＤＬデータ中の画像形成命令を解釈する。ＰＤＬインタプリタ１０１は解釈した画像形成命令を内部表現形式であるオブジェクト描画命令に変換して、中間データ生成部１０２に渡す。中間データ生成部１０２は、オブジェクト描画命令からページ単位もしくはページの一部である領域（本例ではバンドと呼ぶ）単位で中間データ１０３を生成する。中間データ１０３は直接、あるいは中間データ格納部にいったん格納してから、ネットワーク等の伝送路を通じて、ラスタ画像生成部１０４に渡される。ラスタ画像生成部１０４は中間データ内に記述されたオブジェクト描画命令等の情報を基にラスタ画像データ、すなわちビットマップ画像データを生成する。こうすることで、ＰＤＬデータを入力としてラスタ画像データを生成できる画像処理装置を実現する。なお、以下の説明ではビットマップ画像データを単に画像データと呼ぶことがある。
【００１８】
以下では、中間データ生成部１０２の処理の詳細について図を用いて説明する。図２は中間データ生成部１０２を詳細に記したブロック図であり、中間データの具体例を説明する為、図３にＰＤＬデータによる描画ページ例を示し、図４に、図３のＰＤＬデータから生成された中間データ１０３の例を示した。
【００１９】
図３のページ表現３００は、複数の画像形成命令からなり、以下の順番で画像形成命令が定義されている。画像形成命令３０１は、青色の円形のグラフィックス命令である。画像形成命令３０２は、赤色の矩形のグラフィックス命令であり、当該矩形の一部が、画像形成命令３０１に係る円と透明度（アルファ値）５０％で重なっている。画像形成命令３０３及び画像形成命令３０４は画像であり、画像形成命令３０３の画像上に、透明度３０％で画像形成命令３０４の画像が重なっている。
【００２０】
図２におけるＤＬ生成部２０１は、ＰＤＬインタプリタ１０１が解釈した画像形成命令をオブジェクト描画命令として受け取り、ＤｉｓｐｌａｙＬｉｓｔ２０２の形式で保持し、順次更新していく。例えばＤＬ生成部２０１が画像形成命令３０１に対するオブジェクト描画命令を受け取り、ＤｉｐｌａｙＬｉｓｔ２０２に当該オブジェクトの開始座標点、塗りの色、重ね合わせ情報を追加していく。以降、画像形成命令３０２から画像形成命令３０４に対するオブジェクトを順次ＤｉｓＰｌａｙＬｉｓｔ２０２に追加更新する。ここでＤｉｓｐｌａｙＬｉｓｔ２０２は、たとえばページの左上端を原点として、各オブジェクトの開始座標をＹ方向に整列させたリストとして表現できる。ＤｉｓｐｌａｙＬｉｓｔ２０２で表現された複数のオブジェクト描画命令は、中間データ形成処理部２０３で処理されて中間データ１０３が生成される。
【００２１】
＜中間データの構成例＞
図４に中間データの構成例を示した。中間データ１０３は、エッジ情報４０１、塗り情報４０２、画像情報４０３から構成され、それぞれ中間データ形成処理部２０３のエッジ生成処理部２０４、塗り情報作成部２０５及び画像圧縮処理部２０６で生成される。エッジ情報４０１は、オブジェクト描画命令の重なりを考慮して、領域毎に分割したものであり、エッジ情報の算出方法は、従来提案されている一般的な手法で構築できる。エッジ領域４０４は背景を表す領域であり、エッジ領域４０５は赤色の円系描画のみの重なりのない領域を指している。エッジ領域４０６は円形オブジェクトと矩形オブジェクトの重なり部分のみを表す領域であり、当該重なり部分を除いた矩形描画部分の領域がエッジ領域４０７に該当する。エッジ領域４０８は２つの画像が重なった領域であるが、一つのエッジ領域として表現される。エッジ情報４０１の各エッジ領域は、塗り情報４０２の各塗り情報要素に紐づけられる。
【００２２】
例えばエッジ領域４０５は、不透明な青色のＲＧＢ値＝（０，０，２５５）の塗りを示す塗り情報要素４０９に紐付いている。またエッジ領域４０６は、グラフィックスオブジェクト３０１とグラフィックスオブジェクト３０２の重ね合わせにより表現される。この塗り情報として、塗り情報要素４１１が指定される。塗り情報４１１は青色のＲＧＢ値＝（０，０，２５５）の上に赤色のＲＧＢ値＝（２５５，０，０）が透明度５０％で重ねられた塗りであることを示している。エッジ領域４０７は、不透明な赤色のＲＧＢ値＝（２５５，０，０）の塗りを示す塗り情報要素４１０に紐付いている。エッジ領域４０８は、画像オブジェクト３０３の上に画像オブジェクト３０４が透明度３０％で重なっているエッジ領域である。このエッジ領域４０８に対する塗り情報として塗り情報要素４１２が指定される。塗り情報要素４１２には、画像情報４０３に格納される各画像データへの紐づけである画像ＩＤが格納されている。画像ＩＤ＝０１として画像データ４１３、画像ＩＤ＝０２として画像データ４１４への紐づけがされている。塗り情報要素４１２は、画像ＩＤ＝０１の画像データ４１３の上に画像ＩＤ＝０２の画像データ４１４が透明度３０％で重なっていることを表している。各画像データは、画像情報４０３内に画像ＩＤと共に格納されるが、各画像データは重なり判定処理部２０７及び圧縮方法選択処理部２０８での処理結果に応じて決められた圧縮方法により、画像圧縮処理部２０６で圧縮（符号化）されて、中間データ１０３の一部として格納される。画像データの圧縮は、本例では、中間データの生成の後に、オブジェクト描画命令を参照して行われるが、遅くとも中間データ生成部１０２から出力される際に圧縮処理が完了していればよく、たとえばディスプレイリスト２０２を参照して、そこに含まれた画像データを対象として圧縮を行ってもよい。
【００２３】
＜画像データの重なり判定処理＞
重なり判定処理部２０７における、画像情報４０３に格納される各画像データに対する重なり判定に関して、図５のフローチャートに従って説明する。Ｓ５０１で画像情報４０３に存在する画像ＩＤを順次取得する。取得した画像ＩＤを着目画像ＩＤと呼ぶ。画像ＩＤが取得できるとＳ５０２で塗り情報４０２に当該画像ＩＤを参照する塗り情報要素を取得する。Ｓ５０１において、全ての画像ＩＤの取得が完了していると、画像情報４０３内の全ての画像ＩＤに対する処理が完了したとして、重なり判定処理を終了する。Ｓ５０２では当該画像ＩＤに対する寄与値を０で初期化する。画像ＩＤに対する寄与値は、当該エッジ情報で示される領域において、その画像ＩＤに対する画像データが出力（すなわち最終的なラスタ画像データ）に対する寄与度すなわちどれだけ影響するかを表す値であり、以降の説明での寄与成分値を元に決定する。
【００２４】
Ｓ５０３では、塗り情報４０２のうち、当該画像ＩＤを参照する全ての塗り情報要素が取得済みか判定する。Ｓ５０３で全ての塗り情報要素が取得済みでない場合、Ｓ５０４に移り、着目画像ＩＤを参照する塗り情報要素の取得を行う。取得した塗り情報要素を着目塗り情報要素と呼ぶ。Ｓ５０４で取得した着目塗り情報要素を参照してＳ５０５以降で重なり判定を行う。Ｓ５０５では、着目画像ＩＤに対する塗り情報が完全上書きか否かを判別する。ここで完全上書きとは、当該画像データが、重ね合わせにおいて不透明かつ最上位の描画要素であることを指す。このため完全な上書きとなる画像データの下側のオブジェクトは、生成される画像に何ら影響しない。Ｓ５０５で着目画像データが完全上書きと判定された場合は、Ｓ５１０の圧縮方法選択処理に移る。なおこの際には、当該着目画像データの寄与値を１としてもよい。Ｓ５０５で完全上書きでないと判定された場合は、Ｓ５０６で、着目塗り情報要素に含まれる色及び透明度等の重なり情報を取得する。Ｓ５０７においては、Ｓ５０６で取得した重なり情報から当該着目画像ＩＤの画像に対する寄与成分値Ｃｏｎｔを算出する。図４に示した中間データ例では以下のようになる。まず着目画像ＩＤ＝０１に対する塗り情報要素４１２を塗り情報４０２から取得する。着目塗り情報要素４１２には、画像ＩＤ＝０１の画像データ４１３と画像ＩＤ＝０２の画像データ４１４とが、画像４１４の透明度を３０％として合成されること、すなわち３：７で合成されることが示されている。ここから着目画像ＩＤ＝０１に対する寄与成分値Ｃｏｎｔを算出する。Ｃｏｎｔの算出については、いくつかの方法が考えられる。後述するが簡易算出法では重ねられる各画像の寄与成分値は要素数の逆数すなわちこの例では要素数の２を使い、寄与成分値Ｃｏｎt＝１／２となる。また実際の透明度から算出する場合には、着目画像データの不透明度に、その上に重ねられる全てのオブジェクトの透明度を乗じた値を寄与成分値Ｃｏｎtとする。図４の画像ＩＤ＝０１に対する寄与成分値Ｃｏｎｔは、着目画像ＩＤの画像４１３の不透明度が１．０であり、その上に合成される画像４１４の透明度が０．３なので、寄与成分値Ｃｏｎt＝１．０×０．３＝０．３となる。
【００２５】
寄与成分値Ｃｏｎｔの算出に関して、重ね合わせの多い場合の別例を図６に示す。図６（ａ）は塗り情報要素の一例であり、重ね合わせの順序は図の上方が上層であり、下方が下層となる。塗り情報６０３に紐付く画像ＩＤ＝３の画像データに対する寄与成分値Ｃｏｎｔ算出方法の例を図６（ｂ）及び図６（ｃ）で説明する。図６（ｂ）では、寄与成分値Ｃｏｎｔを塗り情報要素に含まれる要素数で表現する。ここで塗り情報６０２は不透過であり、塗り情報６０２に対して完全上書きとなるため、この領域に対する塗り情報要素６０１の寄与は消える。その為、簡易算出法では、重なり方向で塗り情報６０２以上の塗り情報要素数である４を元に、寄与成分値はその逆数、すなわちＣｏｎｔ＝１／４とする。これは計算コストを低減させる為の、簡易算出法である。
【００２６】
一方、図６（ｃ）では、各塗り情報の透明度の計算することで、画像ＩＤ値３に対する塗り情報６０３の寄与成分をＣｏｎｔ値＝０．３２と算出することができる。すなわち、画像ＩＤ＝３の画像データの塗り情報要素６０３から、その不透明度が０，８（＝１−透明度０．２）であり、その上の塗り情報要素６０４の透明度が０．８、さらにその上の塗り情報要素６０５の透明度が０．５であるから、寄与成分値は、それらを乗じた値（１−０．２）×０．８×０．５＝０．３２となる。このように、図６（ｃ）では、寄与成分値を透明度により算出しているが、ＲＯＰ等の重なり命令の種別により、寄与成分値を算出してもよい。例えばＲＯＰ３ではオペレータによりオブジェクトの寄与度が変化するが、それぞれのオペレータに対する寄与成分値を事前のテーブル値を参照して決めてもよい。またＲＯＰ４は、Ａｌｐｈａマスクの値によって寄与値が変わるが、この値を上述の透明度と同様の計算で寄与成分値を算出することができる。
【００２７】
Ｓ５０７で算出された寄与成分値は、Ｓ５０８で、メモリ上に格納している当該画像ＩＤに対する寄与値と比較される。Ｓ５０７で算出された寄与成分値がメモリ上の当該画像ＩＤに対する寄与値よりも大きいと判定された場合はＳ５０９で当該ＩＤに対する寄与値を上書きする。なお寄与値の初期値は０であるため、着目画像ＩＤの画像データに関して初めて計算された寄与成分値は必ず保存される。Ｓ５０８で、現在の寄与値より小さいと判定された場合は、Ｓ５０３に戻り当該着目画像ＩＤを参照する全ての塗り情報要素を取得済みかを判定する。Ｓ５０３で当該画像ＩＤを参照する全ての塗り情報要素の処理が終了した場合は、Ｓ５１０に処理を移す。Ｓ５１０の圧縮方法選択処理においては、算出寄与成分値Ｃｏｎｔに応じて、圧縮方法の画質が決定される。Ｓ５１０に圧縮方法選択処理が終了するとＳ５０１に処理を戻し、他の画像ＩＤに対する処理を実施する。全ての画像ＩＤに対する寄与値の算出が完了したなら重なり判定処理を終了する。この結果、例えばひとつの画像データが複数の領域で他の画像データと重複している場合、各領域の重複具合によって、各領域における当該画像データの寄与度が、寄与成分値として数値化される。そしてある画像データに対して複数の寄与成分値が与えられた場合には、そのうちの最大の寄与成分値が当該画像データの寄与値となる。
【００２８】
＜圧縮方法選択処理＞
圧縮方法選択処理部２０８における、図５のＳ５１２の圧縮方法選択処理については、図７のフローチャートを用いて詳細を説明する。図７の手順は、図５のステップＳ５１０の詳細であり、着目画像データに対して実行される。Ｓ７０１では着目画像ＩＤに対する寄与値をメモリ上から読み込む。ここで重なり判定部２０７で当該画像が完全上書きと判定されていた場合は、初期値０が格納されており、ここで寄与値を１で上書きする。なお、図５のＳ５０５で、完全上書きの画像データの寄与値を１としている場合には、その必要はない。
【００２９】
Ｓ７０２では、Ｓ７０１で読み込んだ寄与値と、可逆／非可逆圧縮選択の閾値（寄与閾値）とを比較する。Ｓ７０２で、着目画像データの寄与値が閾値より大きいと判定された場合は、当該画像データの圧縮方法として、Ｓ７０３で可逆圧縮方式（可逆符号化方式）を選択して処理を終了する。ここで可逆圧縮方式とは、ランレングス方式やフレート圧縮等の一般的な圧縮方法でよく、計算コスト等に応じて選択可能とする。Ｓ７０２での閾値として１以上の値を設定すると、寄与値の最大値は１であることから、可逆圧縮方式が選択されることはない。Ｓ７０２で寄与値が閾値以下の値と判定された場合には、Ｓ７０４で圧縮方式が非可逆圧縮方式に（非可逆符号化方式）設定される。ここで非可逆圧縮方式の例としては、ＪＰＥＧ等の一般的な圧縮方式を採用できる。Ｓ７０５では寄与値に応じて、Ｑ値（Ｑｕａｌｉｔｙ値）が決定される。このＱ値は圧縮画質を示す値であり、決定されたＱ値に応じて、非可逆圧縮方式による圧縮処理に用いられるパラメータ（圧縮パラメータあるいは符号化パラメータとも呼ぶ）が求まる。この圧縮パラメータは、例えばＪＰＥＧでは、元のビットマップ画像データを離散コサイン変換した後の量子化に用いられる量子化テーブルとして一般的である。Ｑ値は、式（１）で示すように、着目画像データの寄与値と画質係数Ｂとの積で算出される。
Ｑ値＝寄与値Ｃｏｎｔ×画質係数Ｂ×１００  ...  （１）
ただし、（１）式の値が所定の下限値Ｍｉｎを下回った場合には、Ｑ値＝下限値Ｍｉｎとする。下限値Ｍｉｎは許容できる画質の下限を示しており、例えばＱ値＝６０などに設定される。Ｑ値が大きいほど、元の画像の画質が保たれる。すなわち画質の劣化の程度が小さい。
【００３０】
画実係数Ｂは画質の程度を示す係数である。画質係数Ｂについては、求められる画質やデータサイズの許容に応じて、任意の値に設定することができる。画質係数Ｂは例えば、寄与値が１の画像データを基準として定めることができる。この場合、寄与値が１の画像データすなわち、他の画像と重複することのない領域を含む画像データのＱ値をいくつにしたいかによって、画質係数Ｂを定める。寄与値が１の画像データに対するＱ値をたとえば９５にしたいのであれば、画質係数Ｂは０．９５とすればよい。またＱ値の最小値を設定しておくことで、画像圧縮における最低画質を確保することができる。Ｓ７０５で画質が決定されると、圧縮方法選択処理部２０８における圧縮方法選択処理を終了する。
【００３１】
画像圧縮処理部２０６では、圧縮方法選択部２０８で図７の手順に従って画像データごとに決定された圧縮方式及び圧縮画質（Ｑ値）を読みこみ、読み込んだ圧縮方式に従って可逆圧縮もしくは非可逆圧縮を実施する。非可逆圧縮の場合に画像圧縮処理部２０６は、読み込んだ圧縮画質を示すＱ値に応じて圧縮パラメータを求め、その圧縮パラメータを用いて非可逆圧縮を実施する。非可逆圧縮の方式が例えばＪＰＥＧであれば、圧縮処理部２０６は、Ｑ値が大きいほどビットマップ画像データに含まれる高周波成分をより減らすような量子化テーブルを、Ｑ値に応じて求める。量子化テーブルを求める方法は、基準となる量子化テーブルに対してＱ値応じた係数を乗じる方法や、Ｑ値に応じて異なる量子化テーブルを参照するような参照テーブルを用いる方法などがある。
【００３２】
このようにして中間データ１０３は中間データ形成処理部２０３で生成されて、直接あるいは中間データ格納部を介してラスタ画像生成部１０４に渡される。ここで中間データ１０３中のエッジ情報４０１や塗り情報４０２は可逆圧縮を施すことで、中間データ１０３のサイズを削減することもできる。
【００３３】
ラスタ画像生成部１０４における中間データ１０３からのラスタ画像生成処理に関して処理のフローを説明する。中間データ１０３中のエッジ情報４０１をスキャンラインで展開していき、各エッジ領域に対応する塗り情報４０２の各要素の重ね合わせを実施して、色を決定する。このとき画像ＩＤが参照される場合は、画像情報４０３中の圧縮された当該画像ＩＤに対応する画像データを解凍（あるいは伸長または復号）した後に重ね合わせを実施する。重ね合わせによって得られた色で当該エッジ領域を順次塗っていくことでラスタ画像を得ることができる。
【００３４】
以上の構成及び手順により、ＰＤＬデータから生成した中間データに含まれる画像データ（画像オブジェクト）に特有の、オブジェクト間の重複による画像オブジェクトの寄与度に基づいて、トレードオフの関係にある画質と圧縮率とを両立させる圧縮方式及び復号後の画質を決定できる。このため、コンピュータやプリンタ等の画像処理装置に対する処理資源あるいは記憶資源の要求の程度を下げるとともに、画質を維持することができる。
【００３５】
［実施形態２］
次に第２の実施形態を説明する。なお本例では不可逆圧縮方式としてＪＰＥＧを用いることとする。中間データ生成部１０２は、中間データ生成処理に関して、固定した、もしくはオブジェクトの拡大率に応じた圧縮方法および圧縮率で画像圧縮処理部２０６において圧縮を実施し、中間データ生成処理を行う。例えば拡大率に応じた圧縮画質選定では、ＰＤＬデータ中の画像に対する、出力解像度へ対応させるための拡大処理の拡大率が大きいほど高画質となるように圧縮率を設定する。中間データ生成部１０２で生成した中間データ１０３は、生成された中間データのサイズを検証してサイズ削減が必要かの判断を行う。削減が必要であれば、データサイズが小さくなるように圧縮率を再設定し、圧縮を試みる。この圧縮率の再設定の際に、上述したように画像オブジェクトごとの拡大率を考慮して、圧縮率（すなわち画質係数）が決定される。中間データのサイズが許容範囲内であれば、生成された中間データを格納、あるいなラスタ画像生成部１０４に出力する。本実施形態の中間データ生成部１０２の構成例を図９に、フローチャートを図８に示す。図９の構成は図２に示した第１の実施形態の構成と比較して、サイズ削減判断処理部９０９が新たに加わっている。その他の構成要素９０１〜９０８は図２の構成要素２０１〜２０８と共通である。
【００３６】
図８において、Ｓ８０１で中間データ生成部１０２により、中間データ生成処理行う。この時の画像圧縮は重なり判定処理を行わない方法で行う。すなわち、予め定めておいた圧縮方法および、画質係数（あるいは圧縮率）が設定可能な圧縮方法であれば、所定の画質係数（あるいは圧縮率）で、中間データに含まれた画像データを圧縮しておく。この初期的な圧縮方法には、無圧縮という選択肢があってもよい。
【００３７】
次にサイズ削減判断部９０９はＳ８０２で中間データサイズ判断の閾値を取得する。当該閾値は、ネットワーク等の伝送路容量や、中間データからラスタ画像データを生成する画像処理装置１０５（たとえばプリンタ）のレンダリング性能等から経験的に定めてもよいし、ラスタ生成処理１０４の処理が行われる画像処理装置１０５の搭載メモリに応じて動的に定めてもよい。データサイズはたとえばアプリケーションデータの量、たとえばページ数によっても変化するので、ページ単位の閾値を定めておくことができる。またページの大きさによってもデータサイズは変動するので、ページのサイズごとに閾値を設定してもよい。その場合にはＳ８０３では、ページ単位でサイズを閾値と比較する。比較の単位はページに限らず、たとえば所定サイズのバンド単位で中間データを生成するのであれば、比較の単位のバンド単位となる。
【００３８】
サイズ削減判断部９０９は、生成した中間データ１０３のサイズが閾値よりも大きいとＳ８０３で判定した場合は、サイズ削減が必要と判断して、Ｓ８０４以降で重なり判定を実施し、Ｓ８０６で実際の画像圧縮実施を行う。Ｓ８０４の重なり判定処理の詳細は図５の手順であり、その中では図７に示した画像圧縮方法の選択処理も実行される。Ｓ８０７で再度中間データサイズと閾値との比較を行い、中間データ１０３のサイズが閾値よりも小さい場合は中間データ生成部１０２での中間データ生成処理を終了する。
【００３９】
Ｓ８０７で中間データ１０３のサイズが尚も閾値よりも大きいと判定した場合は、Ｓ８０８で画像圧縮選択処理部９０８が使用する寄与閾値及び画質係数を、圧縮率を向上させるように（すなわち画質が劣化するように）変更する。寄与閾値とは、Ｓ８０５の詳細である図７に示した手順のうち、Ｓ７０２で参照される閾値である。したがって寄与閾値を上げるほど圧縮率は高まる。そこでＳ８０８では寄与閾値を大きくし、実施形態１で説明した式（１）の画質係数Ｂを小さくする。これにより、圧縮率は上がる。なお寄与閾値が１であれば、図７の手順によれば全ての画像オブジェクトについて非可逆圧縮が適用される。寄与閾値は画像オブジェクトごとに変更してもよいが、一律に変更してもよい。また画質係数については、画像オブジェクトごとに変更するものとする。本例では不可逆圧縮方式としてＪＰＥＧを用いているが、その他の方式においても、画質係数Ｂに相当する値を変更すればよい。画質係数Ｂに応じて、たとえば実施形態１で説明した式（１）によりＪＰＥＧのＱ値が決まる。Ｓ８０４で実行する図５の手順においては、画質係数は画像オブジェクトごとに決定されているので、Ｓ８０８においても画質係数を画像オブジェクトごとに変更する。たとえば、各画像オブジェクトに対して決定されている画質係数に対して、画像オブジェクトの拡大率に応じた係数（ここでは拡大率係数と呼ぶ）を乗じて新たな画質係数を求める。その後変更した寄与閾値及び画質係数を使ってＳ８０５において圧縮方法選択処理を実施する。ここで拡大率係数とは、たとえば１ページ内の画像オブジェクトの最大の拡大率を決定し、その最大の拡大率が１となるように、当該ページ内の画像オブジェクトの拡大率を正規化する。この値を拡大率係数とする。そしてＳ８０８では、得られた拡大率係数を着目画像オブジェクトの現在の画質係数に乗じて、それを変更後の画質係数とする。このように構成することで、オブジェクトの拡大率を画質係数に反映し、ひいては圧縮率に反映することができる。圧縮率は本例では直接的には画質係数を変化させるパラメータではあるが、着目オブジェクトの寄与度を示すひとつのパラメータということもできる。
【００４０】
なお、図８のＳ８０５では、図７の手順を実行するが、Ｓ８０５においては、処理対象の中間データに含まれたすべての画像ＩＤを対象として実行する。
【００４１】
なおＳ８０８を通るループが二順目以降となった場合には、画質係数に対して、一定の係数（ただし１未満）を乗じることで新たな画質係数を決定しても良い。
【００４２】
以上の構成及び手順により画質がより低い方へ振られて、圧縮によるデータサイズ削減効果が高くなる。このようにして、中間データ１０３作成後に、データサイズを削減するか否かの判断を実施し、データサイズ削減が必要と判断された場合に、重なり判定によるサイズ削減を実施する描画処理装置を実現することができる。これにより本実施形態の手順では、中間データのサイズを閾値以下のサイズに抑えることができる。
【００４３】
さらにデータサイズを抑制する場合には、画像オブジェクトの拡大率に応じて、拡大率が大きいほど画質を維持できるよう画質係数を決定し、なおかつ圧縮率を上げることができる。
【００４４】
以上のようにして、生成した中間データのサイズをあらかじめ設定したサイズに収めることができる。さらに。画像の拡大率を画像データの寄与値に反映させることができ、符号化する画像の画質を、重複する画像の透明度のみならず、拡大率に応じて決定することができる。
【００４５】
［実施形態３］
実施形態１，２において、重なり判定処理部２０７及び圧縮方法選択処理部２０６での各処理は、画像オブジェクト単位で実施していた。しかし大きな画像では、領域毎に重なりの有無が異なる。そのため、圧縮方法選択の単位を画像オブジェクト毎ではなく、タイル単位で処理することも可能である。タイルは画像を一定の縦横サイズで区切ったものとして処理する。この場合の処理は図４及び図５の画像ＩＤを画像タイルＩＤに置き換えることで処理詳細が説明できる。
【００４６】
このようにすることで、大きな画像オブジェクトを含む中間データについては、よりきめ細かく画質を管理しつつ、データサイズを小さくすることが可能となる。
【００４７】
［その他の実施例］
前記実施形態では、重なり判定処理部２０７での判定を、着目画像の不透明度及び上に重なった画像の透明度に基づいて算出していたが、画像の特性に応じて寄与度を算出することもできる。この場合は、画像そのものにパターンマスクや透明度マスク等が付随するかの特性に応じて、それらの特性を数値化し、それをパラメータとして寄与成分値を変更する。例えばマスクの有無に応じて寄与成分値を減らしたり、透明マスクの各成分の平均値から寄与成分値を変化させる。これにより求めた寄与成分値に応じて圧縮方法選択処理部２０８での画質係数の調整により、最適な圧縮方法を選択することができる。
【００４８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００４９】
１００...画像処理装置、１０１...ＰＤＬインタプリタ、１０２...中間データ生成部、１０３...中間データ、１０４...ラスタ画像生成部
【図１】
2015198435.tif 000003
【図２】
2015198435.tif 000004
【図３】
2015198435.tif 000005
【図４】
2015198435.tif 000006
【図５】
2015198435.tif 000007
【図６】
2015198435.tif 000008
【図７】
2015198435.tif 000009
【図８】
2015198435.tif 000010
【図９】
2015198435.tif 000011