(57)【要約】【課題】アプリケーションによる複雑なラスターオペレーション演算を出力サイズ、描画品質の両面で最適化し、それをサポートしないページ記述言語解釈系においても正常に描画することを可能とする。【解決手段】情報処理装置であって、アプリケーションから受付けた描画命令が論理描画命令であるか否かを判定し、論理描画命令を受付けた判定された場合に、受付けた描画命令を保持すると共に参照テーブルのエントリと比較して一致するエントリの有無をさらに判定して、一致するエントリがあれば、対応する描画命令と置換される置換描画命令を出力して、ページ記述言語を生成することを特徴とする。【選択図】図３
2004303077.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションからの描画命令に基づいてページ記述言語を生成するページ記述言語生成方法であって、
前記描画命令を受付ける描画命令受付け工程と、
前記受付けた描画命令が論理描画命令であるか否かを判定する判定工程と、
前記判定工程において前記受付けた描画命令が論理描画命令と判定された場合に、前記受付けた描画命令を保持する保持工程と、
前記保持された描画命令を、前記描画命令の置換条件を登録する参照テーブルのエントリと比較する比較工程と、
前記比較工程において一致するエントリがあると判定された場合に、前記一致するエントリに対応する描画命令と置換される置換描画命令を出力して、ページ記述言語を生成する工程と
を備えることを特徴とするページ記述言語生成方法。
【請求項２】
前記比較工程において一致するエントリが無いと判定された場合に、前記保持工程において保持された描画命令を、前記描画命令受付け工程において受付けたシーケンスに従って出力し、ページ記述言語を生成する工程をさらに備えることを特徴とする請求項１に記載のページ記述言語生成方法。
【請求項３】
前記比較工程は、前記参照テーブルのエントリとの一致の可能性を判定する一致可能性判定工程を備え、
前記一致可能性判定工程において前記一致の可能性があると判定された場合には、前記受付けた描画命令をの保持を継続し、前記描画命令受付け工程において新たな描画命令を受付けることを特徴とする請求項１又は請求項２に記載のページ記述言語生成方法。
【請求項４】
前記参照テーブルのエントリには、描画命令の種別、描画命令を受付けた順序、及び描画命令についての条件が前記置換条件として含まれることを特徴とする請求項１乃至請求項３のいずれか１項に記載のページ記述言語生成方法。
【請求項５】
前記比較工程では、前記参照テーブルにおける前記描画命令の種別、前記描画命令の受付けた順序、及び描画命令についての条件が、前記保持された描画命令について一致するか否かにおいて、エントリとの一致を判定することを特徴とする請求項４に記載のページ記述言語生成方法。
【請求項６】
前記一致可能性判定工程では、前記参照テーブルにおける前記描画命令の種別及び前記描画命令の受付けた順序において、前記保持された描画命令と一致する部分があるか否かにおいて、前記一致の可能性を判定することを特徴とする請求項４又は請求項５に記載のページ記述言語生成方法。
【請求項７】
前記判定工程において前記受付けた描画命令が論理描画命令ではない判定された場合には、前記受付けた描画命令を置換することなく出力し、ページ言語を生成することを特徴とする請求項１乃至請求項６のいずれか１項に記載のページ記述言語生成方法。
【請求項８】
請求項１乃至請求項７のいずれか１項に記載のページ記述言語生成方法をコンピュータに実行させるためのページ記述言語生成プログラム。
【請求項９】
請求項８に記載のページ記述言語生成プログラムを格納するコンピュータで読取り可能な記憶媒体。
【請求項１０】
アプリケーションからの描画命令に基づいてページ記述言語を生成するページ記述言語生成部を備える情報処理装置であって、前記ページ記述言語生成部は、
前記描画命令を受付ける描画命令受付け手段と、
前記受付けた描画命令が論理描画命令であるか否かを判定する判定手段と、
前記判定手段において前記受付けた描画命令が論理描画命令と判定された場合に、前記受付けた描画命令を保持する保持手段と、
前記保持された描画命令を、前記描画命令の置換条件を登録する参照テーブルのエントリと比較する比較手段と、
前記比較手段において一致するエントリがあると判定された場合に、前記一致するエントリに対応する描画命令と置換される置換描画命令を出力して、ページ記述言語を生成する手段と
を備えることを特徴とする情報処理装置。
【請求項１１】
前記ページ記述言語生成部において、
前記比較手段において一致するエントリが無いと判定された場合に、前記保持手段において保持された描画命令を、前記描画命令受付け手段において受付けたシーケンスに従い出力し、ページ記述言語を生成する手段をさらに備えることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記ページ記述言語生成部において、
前記比較手段は、前記参照テーブルのエントリとの一致の可能性を判定する一致可能性判定手段を備え、
前記一致可能性判定手段において前記一致の可能性があると判定された場合には、前記受付けた描画命令をの保持を継続し、前記描画命令受付け手段において新たな描画命令を受付けることを特徴とする請求項１０又は請求項１１に記載の情報処理装置。
【請求項１３】
前記ページ記述言語生成部において、
前記参照テーブルのエントリには、描画命令の種別、描画命令を受付けた順序、及び描画命令についての条件が前記置換条件として含まれることを特徴とする請求項１０乃至請求項２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記ページ記述言語生成部において、
前記比較手段では、前記参照テーブルにおける前記描画命令の種別、前記描画命令の受付けた順序、及び描画命令についての条件が、前記保持された描画命令について一致するか否かにおいて、エントリとの一致を判定することを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記ページ記述言語生成部において、
前記一致可能性判定手段では、前記参照テーブルにおける前記描画命令の種別及び前記描画命令の受付けた順序において、前記保持された描画命令と一致する部分があるか否かにおいて、前記一致の可能性を判定することを特徴とする請求項１３又は請求項１４に記載の情報処理装置。
【請求項１６】
前記ページ記述言語生成部において、
前記判定手段において前記受付けた描画命令が論理描画命令ではない判定された場合には、前記受付けた描画命令を置換することなく出力し、ページ言語を生成することを特徴とする請求項１０乃至請求項１５のいずれか１項に記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置上でのページ記述言語の生成に関し、特にパーソナルコンピュータ等の情報処理装置とプリンタ機器からなるシステムにおける、画像演算最適化法に関するものである。
【０００２】
【従来の技術】
一般的に、情報処理装置で動作するオペレーティングシステム（ＯＳ）上の印刷システムにおいて、アプリケーションプログラムからの印刷データは論理描画命令として、印刷プログラムへと送信される。印刷プログラムは論理描画命令を解釈し、ページ記述言語を生成する。
【０００３】
この際、アプリケーションは画像論理演算（ラスターオペレーション：以下ＲＯＰ演算）を駆使して複雑な図形表現を行うことが可能である。しかし、ページ記述言語によってはこの複雑なＲＯＰ演算をサポートできないものが存在し（通常、サポートしていない場合はすべて上書きとなる）、また、サポートしていたとしても逐次演算要素を出力することは冗長な描画命令を発行することになり、パフォーマンスの観点から問題となっている。
【０００４】
【発明が解決しようとする課題】
このように、論理描画命令をサポートしないページ記述言語においては論理描画命令を実行した場合と同等の出力を得ることができなかった。また、画像論理演算に対応するページ記述言語であっても、冗長な描画命令の発行によるパフォーマンスの低下が避けられないものとなっている。
【０００５】
そこで、本発明は、論理描画命令をサポートしないページ記述言語においても論理描画命令を実行した場合と同等の出力を得ることを可能とするとともに、冗長な描画命令を排して、出力を得るために必要な描画命令の数を低減することを目的とする。
【０００６】
【課題を解決するための手段】
上記課題を解決するための本発明は、アプリケーションからの描画命令に基づいてページ記述言語を生成するページ記述言語生成方法であって、前記描画命令を受付ける描画命令受付け工程と、前記受付けた描画命令が論理描画命令であるか否かを判定する判定工程と、前記判定工程において前記受付けた描画命令が論理描画命令と判定された場合に、前記受付けた描画命令を保持する保持工程と、前記保持された描画命令を、前記描画命令の置換条件を登録する参照テーブルのエントリと比較する比較工程と、前記比較工程において一致するエントリがあると判定された場合に、前記一致するエントリに対応する描画命令と置換される置換描画命令を出力して、ページ記述言語を生成する工程とを備える。
【０００７】
【発明の実施の形態】
以下、本発明を適用するのに好適である実施形態について説明を行う。
【０００８】
図１は本発明の実施形態を示す印刷システムの構成を説明する概念図である。１０１は本発明にかかるページ記述言語を生成する印刷プログラムを含むページ記述言語生成部であり、１０２は印刷プログラムが生成したページ記述言語を解釈する解釈部である。解釈部はページ記述言語を解釈し、印刷を実現したり、あるいはページ記述言語の表示を行う単位である。
【０００９】
図１の印刷システムを代表する構成としては図２に示すようなプリンタ印刷系がある。図２において、情報処理装置２０１がプリンタ機器２０２にネットワーク２０３を介して接続されている。情報処理装置上の印刷プログラムがページ記述言語生成部であり、ページ記述言語を解釈し、物理用紙に出力するプリンタ機器がページ記述言語解釈部となる。
【００１０】
本実施形態においては図２に示すシステム構成に関して説明を行うが、１０２に示すページ記述言語解釈部がページ記述言語表示アプリケーションとして１０１と同じ情報処理装置上にある場合、また別の情報処理装置上にある場合においても、本発明を適用できることはいうまでもない。
【００１１】
図３は図２を示すブロック図であり、３０００は情報処理装置で、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１に記憶された文書処理アプリケーション等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、システムデバイス４に接続される各デバイスをＣＰＵ１が総括的に制御する。
【００１２】
また、このＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等を記憶し、ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１には上記文書処理等を行う際に使用する各種データを記憶する。２はＲＡＭで、ＣＰＵ１の主メモリ、ワークエリア等として機能する。
【００１３】
５はキーボードコントローラ（ＫＢＣ）で、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はＶｉｄｅｏコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）や液晶ディスプレイ等の表示装置１０の表示を制御する。
【００１４】
７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、本発明にかかる印刷プログラム等を記憶するハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。
【００１５】
８はプリンタコントローラ（ＰＲＴＣ）で、所定の双方向性インターフェース（インターフェース）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。
【００１６】
なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、本発明にかかる印刷プログラムに対する印刷処理方法の設定を行える。
【００１７】
プリンタ機器１５００において、１２はプリンタＣＰＵで、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１４に記憶されたページ記述言語を解釈する制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。
【００１８】
また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等を記憶する。ＲＯＭ１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ＲＯＭ１３のデータ用ＲＯＭにはハードディスク等の外部メモリ１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。
【００１９】
ＣＰＵ１２は入力部１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知可能に構成されている。１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００２０】
なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００２１】
また、前述した外部メモリは１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、本発明にかかるページ記述言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。
【００２２】
図４は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されている情報処理装置における典型的な印刷処理部の構成図である。アプリケーション４０１、グラフィックエンジン４０２、ページ記述言語生成部としての印刷プログラム４０３、およびシステムスプーラ４０４等のモジュールで構成され、外部メモリ１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされ実行されるプログラムである。
【００２３】
また、アプリケーション４０１および印刷プログラム４０３は、外部メモリ１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部ディスク１１のＨＤに追加することが可能となっている。外部メモリ１１に保存されているアプリケーション４０１はＲＡＭ２にロードされて実行されるが、このアプリケーション４０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力を行う。
【００２４】
グラフィックエンジン４０２は印刷プログラム４０３と同様に外部メモリ１１からＲＡＭ２にロードされ、アプリケーション４０１が描画する論理描画（例えば、Ｗｉｎ３２ＡＰＩ）を印刷プログラム４０３が受け取る論理描画命令（ＤＤＩ）に変換する。印刷プログラム４０３により生成されたページ記述言語はＯＳによってＲＡＭ２にロードされたシステムスプーラ４０４を経てインターフェース２１経由でプリンタ１５００へ出力される仕組みとなっている。
【００２５】
図５ａ乃至図５ｃは本実施形態におけるアプリケーションからの印刷要求の一例を示している。ここでは縦３ピクセル×横３ピクセルの矩形で説明しているが、サイズやピクセルの深さ及び、画像やパスやテキスト等の描画属性を問わない。なお、各ピクセル中の表現は黒（”０”を意味する）、白（”１”を意味する）で示している。
【００２６】
図５ａにおいて、５０１はアプリケーションからの描画要求の列を示しており、始めにアプリケーション印刷開始命令を行う。その後、描画命令１、描画命令２、描画命令３、描画命令４、最後に印刷終了命令を行うことを示している。なお、描画命令１においては５０２の画像を出力するという命令、描画命令２においては先に出力した画像と画像５０３の排他的論理和演算（ＸＯＲ）を行い、出力するという命令、描画命令３は先に出力した画像と画像５０４の論理積演算（ＡＮＤ）を行い出力するという命令、描画命令４は先に出力した画像と５０５の画像の排他的論理和（ＸＯＲ）を行い出力するという命令である。５０６、５０７、５０８は各描画命令により出力されるべき画像である。
【００２７】
したがって一連の描画要求に対して、アプリケーションにより求められる出力は５０９のようになる。５１０は本実施形態に対応して置き換え描画命令となるところの画像である。
【００２８】
図５ｂにおいては、５１１はアプリケーションからの描画要求の列を示しており、始めにアプリケーション印刷開始命令を行う。その後、描画命令１、描画命令２、描画命令３、最後に印刷終了命令を行うことを示している。なお、描画命令１においては５１２の画像を出力するという命令、描画命令２においては先に出力した画像５１５と画像５１３の論理積演算（ＡＮＤ）を行い、出力するという命令、描画命令３は先に出力した画像５１６と画像５１４の論理和演算（ＯＲ１）を行い出力するという命令である。
【００２９】
したがって一連の描画要求に対して、アプリケーションにより求められる出力は５１７のようになる。５１８は本実施形態に対応して置き換え描画命令となるところの画像である。
【００３０】
図５ｃにおいては、５２１はアプリケーションからの描画要求の列を示しており、始めにアプリケーション印刷開始命令を行う。その後、描画命令１、描画命令２、最後に印刷終了命令を行うことを示している。なお、描画命令１においては５２２の画像を出力するという命令、描画命令２においては先に出力した画像５２４と画像５２３の論理和演算（ＯＲ２）を行い、出力するという命令である。
【００３１】
したがって一連の描画要求に対して、アプリケーションにより求められる出力は５２５のようになる。５２６は本実施形態に対応して置き換え描画命令となるところの画像である。
【００３２】
このように、本実施形態に対応する本発明は、アプリケーションによる複雑なラスターオペレーション演算を出力サイズ、描画品質の両面で最適化し、それをサポートしないページ記述言語解釈系においても正常に描画することを可能とする。
【００３３】
図６は本発明にかかる印刷プログラム４０３が静的に保持するＲＯＰリファレンステーブルである。ＲＯＰリファレンステーブルは複数のエントリをもち描画命令の置換条件を登録する。ここで６０１は各エントリを識別するアドレス領域、６０２はＲＯＰ構造体が入る領域でこのＲＯＰ構造体は任意の個数並ぶことが可能である。６０２におけるＲＯＰ構造体の並び順は、印刷プログラム４０３において受付ける描画命令の受付け順序に対応するものである。また、条件式６０３は各ＲＯＰ構造体の列が出力命令６０４で置き換えられるための条件を記述する領域である。
【００３４】
図７はＲＯＰリファレンステーブルに記述されるＲＯＰ構造体の構造を示している。７０１はＲＯＰの種類を記述する領域、７０２はテキストやグラフィック、イメージ等の描画種を格納する領域、７０３は描画を行っているアプリケーション名を格納する領域、７０４は描画のバウンディングサイズを格納する領域である。また、これらのエントリには７０５で示すような数々の属性を格納することが可能であるが、本実施形態においては省略する。
【００３５】
図８は実際のＲＯＰの描画要求を格納するＲＯＰシーケンステーブルである。各要素は実際に描画が行われた順番のＲＯＰ構造体（図７）が格納される。
【００３６】
本実施形態において、アプリケーションは図５ａから図５ｃに示すような論理描画命令を印刷プログラムに対して行うものとする。
【００３７】
本発明における一般的な処理の流れを図９を参照して説明する。図９は、印刷プログラム４０３において実現されるページ記述言語生成処理の一例を記載したフローチャートである。
【００３８】
まず始めにアプリケーション４０１からの印刷要求を受け付ける（Ｓ９０１）。ここでは、アプリケーション４０１からの印刷要求受付と記載しているが、印刷プログラム４０３側から見れば、グラフィックエンジン４０２からの論理描画命令をうけつけることとなる。なお、アプリケーション４０１からの印刷要求は、以後印刷ジョブ終了要求を受け取るまで処理は繰り返し実行される。
【００３９】
印刷プログラム４０３では印刷要求が印刷ジョブ開始要求かどうかの判定を行い（Ｓ９０２）、ジョブ開始要求であった場合にはＲＡＭ２の空きメモリ上にＲＯＰシーケンステーブル（Ｓ９０３）、ＲＯＰリファレンステーブルを構築し（Ｓ９０４）、Ｓ９０１に戻る。Ｓ９０１における印刷要求が印刷ジョブ開始要求でなかった場合には、続いて、ＲＯＰ関連要求かどうかの判別を行う（Ｓ９０５）。
【００４０】
通常、ＲＯＰ関連要求はアプリケーション４０１から行われ、ＲＯＰ関連要求かどうかの判別は、印刷プログラム４０３において行われる。Ｓ９０５にてＲＯＰ関連描画要求と判定された場合にはＳ９０６へ進み、ＲＯＰシーケンステーブルに追記する形でＲＯＰ構造体を格納する。
【００４１】
次にＳ９０７にてリファレンステーブルの参照を行う。ＲＯＰシーケンステーブルのＲＯＰ構造体のエントリ列とＲＯＰリファレンステーブルのエントリ列を比較し、一致するエントリが存在し（Ｓ９０８）、且つ条件式６０３を満たせば（Ｓ９１１）、エントリに含まれる描画命令を６０４の置き換え描画命令で置き換えて出力する（Ｓ９１２）。この出力は、例えば、ＰＤＦファイル中のＰＤＦコマンドとして出力することができる。
【００４２】
もし、Ｓ９０８で一致するエントリがない場合には、Ｓ９０９において今後シーケンステーブルの内容がリファレンステーブルに一致する可能性があるか否かを判定し、一致可能性があると判定された場合にはＳ９０１に戻ってアプリケーション４０１からの次の描画要求を受け付ける。一致可能性の判定については後述する。
【００４３】
一方、Ｓ９０９において今後エントリが一致する可能性がないと判定された場合はシーケンステーブルの内容を順番に、例えば、ＰＤＦファイル中のＰＤＦコマンドとして出力し（Ｓ９１０）、シーケンステーブルをクリアして（Ｓ９１３）、Ｓ９０１へと戻る。
【００４４】
Ｓ９０５にて、描画要求はＲＯＰ関連要求でなければＳ９１４にて印刷終了命令かどうかを判断する。印刷終了命令でなければ描画命令を例えば、ＰＤＦファイル中のＰＤＦコマンドとして出力し（Ｓ９１５）、Ｓ９０１へ戻る。Ｓ９１４においてアプリケーションからの印刷終了命令であったとき印刷処理を終了する。
【００４５】
次に図９のフローチャートと対応して、アプリケーション４０１からの描画要求が図５の時の処理について詳細に説明する。アプリケーション４０１からの印刷要求において（Ｓ９０１）、アプリケーション４０１からの印刷要求は、以後、印刷終了命令を受け取るまで処理は繰り返し実行される。最初は印刷開始命令であるため、（Ｓ９０２）、ＲＡＭの空きメモリ上にＲＯＰシーケンステーブルを構築（Ｓ９０３）、及びＲＯＰリファレンステーブルを構築し（Ｓ９０４）、Ｓ９０１に戻る。
【００４６】
図１０はジョブ開始時に静的に印刷プログラムが構築するＲＯＰリファレンステーブルである。ここでは３通りのエントリを示しているが、これらはあくまで一例であって、ＲＯＰリファレンステーブルに登録されるエントリはこれらに限られるものではない。１００１はテーブルのアドレスを示す値、１００２は各エントリである。なお、個別のエントリは図１１で示すように属性値を含んでいるものとするが、他の属性値を含んでいてもかまわない。
【００４７】
また１００３は条件式で、すべてのＲＯＰ構造体の属性が一致したときに描画命令の置き換えを行うことを示している。また、１００４は置き換えられる描画命令を示しており、アドレス０の場合、ＸＯＲ２の画像要素がＡＮＤ１の黒部分によりマスク処理（黒の部分の背景を透かせる）する描画命令を示している。より具体的には、図５ａにおける画像５１０を描画する命令である。
【００４８】
同様にして、アドレス１については、ＯＲ１のビット列をＡＮＤ２の黒部分でマスク処理する描画命令を示している。より具体的には図５ｂの画像５１８を描画する命令である。さらに、アドレス２においては、ＯＲ２の白部分を描画する命令を示している。より具体的には、図５ｃの画像５２６を描画する命令である。
【００４９】
Ｓ９０１に描画要求１を受け、印刷プログラム４０３はＲＯＰ実現要求かの判別を行う。描画要求１は「ＣＯＰＹ」であるのではＲＯＰ描画関連要求ではないと判定され、（Ｓ９０５）、Ｓ９１５でそのまま出力される。
【００５０】
次にＳ９０１にて描画命令２を受ける。Ｓ９０５にて本描画命令はＲＯＰ関連要求と判断され、Ｓ９０６にて、ＲＯＰシーケンステーブルへの登録を行う。このときのＲＯＰシーケンステーブルの内容は図１２（ａ）に示してある。次にＳ９０７にてＲＯＰリファレンステーブルの参照を行う。リファレンステーブルの中にはＲＯＰシーケンステーブルと一致するものはないためＳ９０９へ進む。
【００５１】
Ｓ９０９では、一致の可能性を判定するが、ここでＲＯＰシーケンステーブルはＲＯＰリファレンステーブルのサブセットとなっており、将来の一致可能性があるため、一致可能性があると判定して（Ｓ９０９でＹＥＳ）Ｓ９０１へと戻って次の描画要求を受ける。即ち一致可能性は、ＲＯＰリファレンステーブルにおける描画命令としてのＲＯＰ構造体の種別及び描画命令としてのＲＯＰ構造体を受付けた順序において、ＲＯＰシーケンステーブルに登録された描画命令と一致する部分があるか否かにおいて判定されるものである。
【００５２】
Ｓ９０１では更に描画要求３を受付け、Ｓ９０５にてＲＯＰ関連要求と判断されるとＳ９０６において、ＲＯＰシーケンステーブルへの登録が行われる。このときのＲＯＰシーケンステーブルの内容は図１２（ｂ）に示してある。
【００５３】
次にＳ９０７にてＲＯＰリファレンステーブルの参照を行う。リファレンステーブルの中にはＲＯＰシーケンステーブルと一致するものはないためＳ９０９へ進む。ここでＲＯＰシーケンステーブルはＲＯＰリファレンステーブルのサブセットであるため、将来の一致可能性があり、Ｓ９０１へともどり、次の描画要求を受ける。次にＳ９０１にて描画命令４を受け取り、Ｓ９０５にてＲＯＰ関連要求と判断される。
【００５４】
９０６にて、ＲＯＰシーケンステーブルへの登録を行う。このときのＲＯＰシーケンステーブルの内容は図１２（ｃ）に示してある。次にＳ９０７にてＲＯＰリファレンステーブルの参照を行う。ここでＲＯＰシーケンステーブルとＲＯＰリファレンステーブルのアドレス０のエントリが完全に一致するため（Ｓ９０８）、且つ、ＲＯＰ構造体のすべてが同じであり、条件式も満足するため（Ｓ９１１）、Ｓ９１２へ進み、描画命令２から描画命令４までを置き換える描画命令を出力する。このとき出力する描画命令はＸＯＲ２の画像５０５をＡＮＤ１の画像５０４の黒の部分でマスクした画像の描画命令であり、より具体的には５１０に示す画像の描画命令である。描画命令１にて先に出力されている画像５０６に、画像５１０を上書きすれば図５の画像５０９と一致することが分かる。
【００５５】
置き換え描画命令を出力した後は、Ｓ９１３にてＲＯＰシーケンステーブルをクリアし、Ｓ９０１にて更なる描画要求を受ける。描画命令ではなく印刷終了要求を受付けた場合には（Ｓ９１４においてＹＥＳ）、印刷処理を終了する。
【００５６】
以上のように、本実施形態に対応する発明によれば、仕様上論理演算ができないページ記述言語（例えば、ＰＤＦやＰＳ等）であっても、上書きのみを実行することにより論理演算と同等の出力結果を得ることが可能となる。
【００５７】
即ち、本実施形態に対応する本発明では図５ａに示すような描画命令について、最初の描画命令１をそのまま”上書き”で例えば、ＰＤＦファイル中のＰＤＦコマンドとして出力し、論理描画命令２、３、４は出力せずにキャッシュしておき、論理描画命令４まで受付けた時点で、複数の論理描画命令を単一の描画命令で置き換えて出力することにより、上書きのみに対応し論理描画ができない言語仕様でも同様な描画ができる。
【００５８】
【第２の実施形態】
上記第１の実施形態では、ＲＯＰ構造体属性について”画像”に特化して説明したが、ＲＯＰが適用可能な描画対象は画像に限られることなく、例えばパスやテキストにも適用可能である。これは、ビットのＯＮ／ＯＦＦを制御するのはデバイスの座標でも同じことだからである。
【００５９】
例えば、上記実施形態の図５ａにおいてＲＯＰ描画がパス点を描画するグラフィックのシーケンスになる場合を考える。この場合、図５ａのＡＮＤ１の画像５０４に対応するパス描画の黒部分で、ＸＯＲ２に対応するパス描画をマスクしたパス描画の命令により、描画命令２から描画命令４までを置換することにより、第１の実施形態と同様にしてパスであっても本発明を提供することができる。
【００６０】
［その他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００６１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６３】
【発明の効果】
以上に説明したように、本発明に拠れば、論理描画命令をサポートしないページ記述言語においても論理描画命令を実行した場合と同等の出力を得ることを可能とするとともに、出力を得るために必要な描画命令の数を低減することできる。
【図面の簡単な説明】
【図１】本発明の実施形態に対応するにおけるシステム構成の一例を示す概念図である。
【図２】図１のシステムの一般的な例を示す図である。
【図３】本発明の実施形態に対応するシステムの詳細な構成の一例を示すブロック図である。
【図４】本発明の実施形態に対応する情報処理装置上の一般的な印刷処理部の一例を示す図である。
【図５ａ】本発明の実施形態に対応するアプリケーション４０１からの描画命令の一例である。
【図５ｂ】本発明の実施形態に対応するアプリケーション４０１からの描画命令の一例である。
【図５ｃ】本発明の実施形態に対応するアプリケーション４０１からの描画命令の一例である。
【図６】本発明の実施形態に対応するＲＯＰリファレンステーブルの構成例を示す図である。
【図７】本発明の実施形態に対応するＲＯＰ構造体の構成例を示す図である。
【図８】本発明の実施形態に対応するＲＯＰシーケンステーブルの構成例を示す図である。
【図９】本発明の実施形態に対応する処理の一例のフローチャートである。
【図１０】本発明の実施形態におけるＲＯＰリファレンステーブルの一例である。
【図１１】本発明の実施形態におけるＲＯＰ構造体の一例である。
【図１２】本発明の実施形態におけるＲＯＰシーケンステーブルの一例である。
【図１】
2004303077.tif 000003
【図２】
2004303077.tif 000004
【図３】
2004303077.tif 000005
【図４】
2004303077.tif 000006
【図５ａ】
2004303077.tif 000007
【図５ｂ】
2004303077.tif 000008
【図５ｃ】
2004303077.tif 000009
【図６】
2004303077.tif 000010
【図７】
2004303077.tif 000011
【図８】
2004303077.tif 000012
【図９】
2004303077.tif 000013
【図１０】
2004303077.tif 000014
【図１１】
2004303077.tif 000015
【図１２】
2004303077.tif 000016