(57)【要約】【課題】単一の画像の画像データから分割された複数の画像データに基づいて画像を描画する場合の、処理速度の向上及び使用メモリ量の節減を実現する。【解決手段】端末装置から画像データを含むコマンドを受信する(50が肯定)毎に、バッファに記憶させ(52)、直前に受信したコマンドと隣接する画像を描画するコマンドかを判定し(56,58)、隣接の場合は保留リストに属性情報を登録する(60)。その後、画像が隣接すると判定した複数のコマンドの画像を、重複部分についての画像データの読み飛ばしを行いながら、１回の描画処理によって出力バッファに描画する(76〜90)。【選択図】図２
2012060390.tif 000002
【特許請求の範囲】
【請求項１】
順次バッファに記憶される描画対象の個々の画像データについて、当該画像データが表す画像を画像メモリ上に描画する際の描画領域の位置及びサイズを含む属性情報を各々取得する取得手段と、
前記描画対象の個々の画像データを前記バッファへの記憶順に判定対象として選択し、選択した判定対象の画像データの前記属性情報をそれ以前に前記バッファに記憶された画像データの前記属性情報と比較することで、前記判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接しているか否かを各々判定する判定手段と、
前記判定手段により、判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接していると判定されている間は待機し、前記判定手段により、判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接していないと判定された場合に、前記それ以前に前記バッファに記憶された画像データを前記バッファから読み出し、読み出した画像データの属性情報に基づき、読み出した画像データが表す画像を単一の画像として前記画像メモリ上に描画する描画手段と、
を含む画像処理装置。
【請求項２】
前記描画手段は、判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接していないと判定され、前記それ以前に前記バッファに記憶された画像データが複数存在している場合に、前記それ以前に前記バッファに記憶された複数の画像データの属性情報に基づき、前記複数の画像データが表す複数の画像の描画領域が重複しているか否か判定し、前記複数の画像の描画領域が重複していると判定した場合に、描画領域が重複している一対の画像のうちの一方の画像の重複部分を削除して合成した画像を前記画像メモリ上に描画する請求項１記載の画像処理装置。
【請求項３】
前記描画手段は、前記複数の画像の描画領域が重複していると判定した場合に、前記それ以前に前記バッファに記憶された複数の画像データを前記バッファから読み出す際に、描画領域の重複部分に相当する一対のデータの一方を読み出し対象から除外する読み飛ばしを行うことで、描画領域が重複している一対の画像のうちの一方の画像の重複部分を削除する請求項２記載の画像処理装置。
【請求項４】
前記取得手段は、前記属性情報として、描画する画像の拡大又は縮小を指示する拡縮指示情報を含む情報を取得し、
前記描画手段は、前記それ以前に前記バッファに記憶された画像データの属性情報に含まれている前記拡縮指示情報で描画する画像の拡大又は縮小が指示されている場合には、前記それ以前に前記バッファに記憶された画像データを前記バッファから読み出した後に、読み出した画像データが表す画像を単一かつ前記指示に応じて拡大又は縮小した画像として前記画像メモリ上に描画する請求項１〜請求項３の何れか１項記載の画像処理装置。
【請求項５】
描画対象の個々の画像データには描画命令が各々付加されており、
前記描画手段は、前記判定手段により、判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接していないと判定された場合に、前記それ以前に前記バッファに記憶された画像データの数に拘わらず、単一の描画命令に応じた処理として、前記それ以前に前記バッファに記憶された画像データを前記バッファから読み出し、読み出した画像データの属性情報に基づき、読み出した画像データが表す画像を単一の画像として前記画像メモリ上に描画する処理を行う請求項１〜請求項４の何れか１項記載の画像処理装置。
【請求項６】
コンピュータを、
順次バッファに記憶される描画対象の個々の画像データについて、当該画像データが表す画像を画像メモリ上に描画する際の描画領域の位置及びサイズを含む属性情報を各々取得する取得手段、
前記描画対象の個々の画像データを前記バッファへの記憶順に判定対象として選択し、選択した判定対象の画像データの前記属性情報をそれ以前に前記バッファに記憶された画像データの前記属性情報と比較することで、前記判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接しているか否かを各々判定する判定手段、
及び、前記判定手段により、判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接していると判定されている間は待機し、前記判定手段により、判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接していないと判定された場合に、前記それ以前に前記バッファに記憶された画像データを前記バッファから読み出し、読み出した画像データの属性情報に基づき、読み出した画像データが表す画像を単一の画像として前記画像メモリ上に描画する描画手段
として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、描画命令を受取ってプリンタに対する印刷データを生成するためのプリンタドライバにおいて、受け取った描画命令が他の描画命令との合成が可能か否かを合成条件に基づいて判断し、合成が可能と判断された場合に、受け取った描画命令を中間データにより保存し、合成が可能で無いと判断された場合に、既に保存されている描画命令の中間データを１つの印刷データに合成してプリンタに出力する技術が開示されている。
【０００３】
また特許文献２には、中間データメモリ７に蓄積された中間データを処理するに際し、直前の図形データを直前図形データメモリに保存しておき、処理対象の各中間データが直前図形データメモリに保存した直前図形データと重なりがあるかどうかを判定し、描画省略可能な重なり部分がある場合、直前図形データメモリに保存した直前図形データの座標データを変更して重なり部分を削除する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−０８７２６６号公報
【特許文献２】特開２００４−３１２５９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、単一の画像の画像データから分割されてバッファに順次記憶された複数の画像データに基づいて画像を描画する場合の、処理速度の向上及び使用メモリ量の節減を実現できる画像処理装置及び画像処理プログラムを得ることが目的である。
【課題を解決するための手段】
【０００６】
請求項１記載の発明に係る画像処理装置は、順次バッファに記憶される描画対象の個々の画像データについて、当該画像データが表す画像を画像メモリ上に描画する際の描画領域の位置及びサイズを含む属性情報を各々取得する取得手段と、前記描画対象の個々の画像データを前記バッファへの記憶順に判定対象として選択し、選択した判定対象の画像データの前記属性情報をそれ以前に前記バッファに記憶された画像データの前記属性情報と比較することで、前記判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接しているか否かを各々判定する判定手段と、前記判定手段により、判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接していると判定されている間は待機し、前記判定手段により、判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接していないと判定された場合に、前記それ以前に前記バッファに記憶された画像データを前記バッファから読み出し、読み出した画像データの属性情報に基づき、読み出した画像データが表す画像を単一の画像として前記画像メモリ上に描画する描画手段と、を含んで構成されている。
【０００７】
請求項２記載の発明は、請求項１記載の発明において、前記描画手段は、判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接していないと判定され、前記それ以前に前記バッファに記憶された画像データが複数存在している場合に、前記それ以前に前記バッファに記憶された複数の画像データの属性情報に基づき、前記複数の画像データが表す複数の画像の描画領域が重複しているか否か判定し、前記複数の画像の描画領域が重複していると判定した場合に、描画領域が重複している一対の画像のうちの一方の画像の重複部分を削除して合成した画像を前記画像メモリ上に描画する。
【０００８】
請求項３記載の発明は、請求項２記載の発明において、前記描画手段は、前記複数の画像の描画領域が重複していると判定した場合に、前記それ以前に前記バッファに記憶された複数の画像データを前記バッファから読み出す際に、描画領域の重複部分に相当する一対のデータの一方を読み出し対象から除外する読み飛ばしを行うことで、描画領域が重複している一対の画像のうちの一方の画像の重複部分を削除する。
【０００９】
請求項４記載の発明は、請求項１〜請求項３の何れかに記載の発明において、前記取得手段は、前記属性情報として、描画する画像の拡大又は縮小を指示する拡縮指示情報を含む情報を取得し、前記描画手段は、前記それ以前に前記バッファに記憶された画像データの属性情報に含まれている前記拡縮指示情報で描画する画像の拡大又は縮小が指示されている場合には、前記それ以前に前記バッファに記憶された画像データを前記バッファから読み出した後に、読み出した画像データが表す画像を単一かつ前記指示に応じて拡大又は縮小した画像として前記画像メモリ上に描画する。
【００１０】
請求項５記載の発明は、請求項１〜請求項４の何れかに記載の発明において、描画対象の個々の画像データには描画命令が各々付加されており、前記描画手段は、前記判定手段により、判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接していないと判定された場合に、前記それ以前に前記バッファに記憶された画像データの数に拘わらず、単一の描画命令に応じた処理として、前記それ以前に前記バッファに記憶された画像データを前記バッファから読み出し、読み出した画像データの属性情報に基づき、読み出した画像データが表す画像を単一の画像として前記画像メモリ上に描画する処理を行う。
【００１１】
請求項６記載の発明に係る画像処理プログラムは、コンピュータを、順次バッファに記憶される描画対象の個々の画像データについて、当該画像データが表す画像を画像メモリ上に描画する際の描画領域の位置及びサイズを含む属性情報を各々取得する取得手段、前記描画対象の個々の画像データを前記バッファへの記憶順に判定対象として選択し、選択した判定対象の画像データの前記属性情報をそれ以前に前記バッファに記憶された画像データの前記属性情報と比較することで、前記判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接しているか否かを各々判定する判定手段、及び、前記判定手段により、判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接していると判定されている間は待機し、前記判定手段により、判定対象の画像データが表す画像の描画領域がそれ以前に前記バッファに記憶された画像データが表す画像の描画領域と隣接していないと判定された場合に、前記それ以前に前記バッファに記憶された画像データを前記バッファから読み出し、読み出した画像データの属性情報に基づき、読み出した画像データが表す画像を単一の画像として前記画像メモリ上に描画する描画手段として機能させる。
【発明の効果】
【００１２】
請求項１,５,６記載の発明は、同一の画像の画像データから分割されて順次入力される複数の画像データに基づいて画像を描画する場合に、本構成を有していない場合と比較して処理速度の向上及び使用メモリ量の節減を実現できる、という効果を有する。
【００１３】
請求項２記載の発明は、複数の画像データが表す複数の画像の描画領域が重複している場合にも、画像の描画に際して重複部分が複数回描画されることを防止できる、という効果を有する。
【００１４】
請求項３記載の発明は、画像の描画に際して重複部分の複数回描画の防止を簡易な処理によって実現できる、という効果を有する。
【００１５】
請求項４記載の発明は、本構成を有しない場合と比較して、画像の拡大又は縮小が指示された場合の描画画像の画質低下を抑制できる、という効果を有する。
【図面の簡単な説明】
【００１６】
【図１】実施形態で説明した印刷システムの概略構成を示すブロック図である。
【図２】画像描画処理の内容を示すフローチャートである。
【図３】隣接判定処理の内容を示すフローチャートである。
【図４】保留リスト更新処理の内容を示すフローチャートである。
【図５】重複部分が無いコマンド(画像データ)が出力される場合の、(Ａ)は原画像、(Ｂ)は画像データを含む画像描画コマンド、(Ｃ)は保留リストの一例を示す概略図である。
【図６】重複部分が有るコマンド(画像データ)が出力される場合の、(Ａ)は原画像、(Ｂ)は画像データを含む画像描画コマンド、(Ｃ)は保留リストの一例を示す概略図である。
【図７】拡大が指示されたコマンド(画像データ)が入力された場合の画像の描画を説明するための概略図である。
【図８】重複部分が有るコマンド(画像データ)が入力された場合の画像の描画を説明するための概略図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図１には本実施形態に係る印刷システム１０が示されている。印刷システム１０は、印刷装置１２と複数台の端末装置２０が通信回線３０を介して互いに接続されて構成されている。
【００１８】
印刷装置１２は、マイクロコンピュータ等から成りＣＰＵ１４Ａ、メモリ１４Ｂ、ＨＤＤ(Hard Disk Drive)やフラッシュメモリ等から成る不揮発性の記憶部１４Ｃ及び通信Ｉ／Ｆ(インタフェース)部１４Ｄを内蔵した本体制御部１４を備えている。印刷装置１２は通信Ｉ／Ｆ部１４Ｄを介して通信回線３０に接続されている。本体制御部１４には、入力された印刷用画像データが表す画像を記録用紙に印刷する画像印刷部１６と、ＬＣＤ等から成る表示部１８Ａ及びテンキーやタッチパネル等から成る操作受付部１８Ｂが設けられた操作パネル１８と、が各々接続されている。
【００１９】
なお、画像印刷部１６は、例えば、印刷用画像データに基づき電子写真方式で画像を形成し形成した画像を記録用紙に転写・定着させる構成であってもよいし、印刷用画像データに基づきインクジェット方式により複数のノズルからインク滴を吐出させて記録用紙上に画像を記録する構成であってもよく、記録用紙上への画像の記録方式としては公知の各種方式の何れを適用することも可能である。また、本体制御部１４の記憶部１４Ｃには、印刷装置１２の本体制御部１４で後述する画像描画処理を行うための画像描画プログラムがインストールされている。上記の画像描画プログラムは請求項６に記載の画像処理プログラムの一例であり、印刷装置１２は、本体制御部１４のＣＰＵ１４Ａが画像描画プログラムを実行することで、本発明に係る画像処理装置の一例として機能する。また、メモリ１４Ｂの一部の領域が本発明に係るバッファ(入力バッファ)として用いられ、他の一部の領域が本発明に係る画像メモリ(出力バッファ)として用いられる。
【００２０】
一方、端末装置２０は、パーソナル・コンピュータ(ＰＣ：Personal Computer)等から成りＣＰＵ２２Ａ、メモリ２２Ｂ、ＨＤＤやフラッシュメモリ等から成る不揮発性の記憶部２２Ｃ、通信Ｉ／Ｆ部２２Ｄを内蔵した端末本体２２を備えており、端末本体２２は通信Ｉ／Ｆ部２２Ｄを介して通信回線３０に接続されている。また、端末装置２０の端末本体２２にはディスプレイ２４、キーボード２６及びマウス２８が各々接続されている。また、端末装置２０の端末本体２２の記憶部２２Ｃには、ＧＤＩ(Graphic Device Interface)のサブシステムを備えたオペレーティング・システムのプログラム(図１では「ＯＳ」と表記)と、印刷対象のファイルの印刷を印刷装置１２へ指示するためのアプリケーション・プログラム(図１では「ＡＰＬ」と表記)と、プリンタドライバのプログラムと、が各々インストールされている。
【００２１】
次に本実施形態の作用を説明する。任意の原稿(この原稿は、文字のみから成る原稿でもよいし、写真やＣＧ等の画像のみから成る原稿でもよいし、文字と画像が混在している原稿でもよい)の印刷を所望している場合、利用者は、前記原稿を表す印刷対象のファイルを取扱可能なアプリケーションを端末装置２０上で起動させ、起動させたアプリケーションによって印刷対象のファイルを読み込ませた後に、読み込ませたファイル(が表す原稿)の印刷条件を設定して印刷を指示する操作を順次行う。
【００２２】
利用者によって上記操作が行われると、印刷対象のファイルのデータはアプリケーションからオペレーティング・システムへ転送され、オペレーティング・システムのＧＤＩサブシステムへ引き渡される。ＧＤＩサブシステムは、従来は印刷装置１２が行っていた処理の一部を代行するためのシステムであり、具体的には、ＣＰＵ２２ＡによってＧＤＩサブシステムのプログラムが実行されることで、アプリケーションから転送されて引き渡された印刷対象のファイルのデータに基づいて、当該データが表す印刷対象の原稿を印刷するためのビットマップ形式の画像データをレンダリングによって生成する(この処理によって生成される画像データが表す原画像の一例を図５(Ａ)に示す)。
【００２３】
また、ＧＤＩサブシステム、若しくはアプリケーション、若しくはプリンタドライバでは、画像データを受信する印刷装置１２におけるメモリ使用量の抑制等を目的として、図５(Ａ)に破線で示すように、画像データを複数の画像ブロックに分割する場合がある。そして、図５(Ｂ)に示すように、個々の画像ブロックの画像データ本体に対し、必要に応じて圧縮(例えばランレングス形式への圧縮等のライン単位の圧縮)を行うと共に、画像として描画することを印刷装置１２へ指示する画像描画コマンドであることを表すコマンド情報及び各種の属性情報を付加し、画像描画コマンドとして順に出力する。ＧＤＩサブシステム、若しくはアプリケーション、若しくはプリンタドライバから順に出力された画像描画コマンドは印刷装置１２へ順に送信され、印刷装置１２の本体制御部１４によって順に受信され、メモリ１４Ｂのうち入力バッファとして用いている記憶領域に順に記憶される。
【００２４】
なお、個々の画像描画コマンドに含まれる属性情報には、例えば図５(Ｂ)に示すように、画像データ本体を画像メモリ(出力バッファ)上に画像として描画(展開)する際の描画開始位置のＸ方向(画像の幅方向)及びＹ方向(画像の高さ方向)の座標値である「Ｘ座標」及び「Ｙ座標」、画像データ本体を画像メモリ(出力バッファ)上に画像として描画(展開)する際の描画領域の「幅」及び「高さ」(この「幅」及び「高さ」は、画像データ本体がjpeg形式等の圧縮データであれば解凍後の描画領域のサイズを表す)、「変換行列」(画像に対する拡大又は縮小における拡大／縮小率や画像の回転における回転角度)、画像データ本体の圧縮に関する属性を表す「圧縮方式」(非圧縮／圧縮(圧縮形式等の圧縮に関する各種パラメータを含む))、重複部分についての「論理演算」(例えば上書き／ＡＮＤ／ＯＲ)等の情報が含まれている。なお、属性情報は一例として挙げた上記各種情報に限られるものではなく、本発明を逸脱しない範囲で改変してもよい。
【００２５】
また、アプリケーションの種類、印刷対象のファイルの種類や属性等によっては、例として図６(Ａ),(Ｂ)に示すように、個々の画像ブロックに他の画像ブロックと重複している重複部分(図６(Ｂ)にハッチングで示す部分)が生ずるように、個々の画像ブロックが分割されることがある。例えば図６の例では、原画像上で上下(高さ方向)に隣接する一対の画像ブロックのうち、上側に位置している画像ブロックは図６(Ａ)に示す一点鎖線の位置が下端となるように分割される一方、下側に位置している画像ブロックは図６(Ａ)に示す破線の位置が上端となるように分割されることで、個々の画像ブロックに高さαの重複部分が設けられている。
【００２６】
ところで、上記の画像描画コマンドを順に受信する印刷装置１２において、受信した画像描画コマンドに従って画像メモリ(出力バッファ)に画像を描画(展開)する際の処理方式としては、例えば受信した個々の画像描画コマンドに従い、分割された画像ブロック単位で画像の描画(展開)を行う処理方式が考えられる。しかしながら、受信したコマンドに応じた処理の実行を開始するにあたっては、メモリの確保やプログラムのロード等の初期化処理が行う必要があると共に、処理の実行が終了した際にも確保したメモリの解放等の終了処理を行う必要がある。このため、上記の処理方式では、個々の画像描画コマンド(個々の画像ブロック)を単位として初期化処理や終了処理を毎回行う必要があり、本体制御部１４で行われる処理に占めるオーバヘッドの比率が高くなることで、処理負荷の増大や処理遅延が発生する。
【００２７】
また、上記の処理方式では、画像の濃度や色の補正等の高画質化処理も個々の画像ブロックを単位として行われるが、この場合、高画質化処理の処理パラメータが個々の画像ブロックを単位として決定されることで、描画された画像の濃度レンジや色合いが画像ブロック単位で相違する等の画質低下も生ずる。更に、上記の処理方式では、画像の拡大や縮小も個々の画像ブロックを単位として行われるが、この場合、拡大率又は縮小率を画素数に置き換える整数化の誤差により、画素の欠落や濃度むら等の画質低下が生ずる可能性がある。
【００２８】
また、特許文献１に記載の技術は、入力バッファに保存された画像描画コマンドを取り出し、取り出した画像描画コマンドを、入力バッファとは独立した合成用のメモリへコピーすることを繰り返し、或る条件を満たすと合成用のメモリへコピーした複数の画像描画コマンドを単一の画像描画コマンドとして出力する方式である。このため、特許文献１に記載の方式を適用した場合は合成用のメモリが別途必要となるので、印刷装置１２の本体制御部１４等のようにメモリ容量が潤沢ではない環境ではメモリ不足等が生ずる可能性がある。
【００２９】
また、圧縮された画像データには末尾にデータの終了を表す終了コードが付加される。このため、個々の画像ブロックの画像データが圧縮されていた場合、これらを特許文献１に記載の方式に従って単一の画像描画コマンドとして出力したとしても、上記の終了コードが検出されると処理が停止する。従って、特許文献１に記載の技術は、個々の画像ブロックの画像データが圧縮されている場合には適用が困難、という制約もある。更に、特許文献１に記載の技術は、個々の画像ブロックに重複部分が設けられている場合にも適用できない。
【００３０】
更に、特許文献２に記載の技術は、複数の画像描画コマンドを合成する構成ではないため、前述のように処理負荷の増大や処理遅延が発生する。
【００３１】
このため、本実施形態に係る印刷装置１２の本体制御部１４では、ＣＰＵ１４Ａによって画像描画プログラムが実行されることで、図２に示す画像描画処理を行っている。この画像描画処理では、まずステップ５０において、端末装置２０から何らかのコマンドを受信したか否か判定し、判定が肯定される迄ステップ５０を繰り返す。端末装置２０から何らかのコマンドを受信すると、ステップ５０の判定が肯定されてステップ５２へ移行し、受信したコマンドの情報を入力バッファの末尾に記憶させる。次のステップ５４では、ステップ５２で入力バッファの末尾に記憶させたコマンドの情報に含まれるコマンド情報を参照し、今回受信したコマンドが画像描画コマンドか否か判定する。判定が肯定された場合はステップ５６で隣接判定処理を行う。
【００３２】
この隣接判定処理は、今回受信した画像描画コマンドによって描画が指示されている画像(画像ブロック)が、同一の端末装置２０から直前に受信した画像描画コマンドによって描画が指示されている画像(画像ブロック)と描画対象の画像上で隣接しているか否かを判定する処理であり、以下、図３を参照してその詳細を説明する。
【００３３】
隣接判定処理では、まずステップ９８で保留リストが生成済みか否か判定する。保留リストは、印刷装置１２が端末装置２０から受信した画像描画コマンドのうち、画像の描画を保留している画像描画コマンドの属性情報を登録するためのリストであり、端末装置２０から画像描画コマンドを受信した後に生成される。また、保留リストは全体リストと個別リストから構成されている。図５(Ｃ)及び図６(Ｃ)に示すように、全体リストには、描画を保留している画像描画コマンド全体の属性情報として、描画領域全体の描画開始位置のＸ座標値及びＹ座標値、有効幅、有効高、変換行列、圧縮方式及び論理演算の各情報が登録される。また、個別リストには、描画を保留している個々の画像描画コマンドの属性情報として、個々の画像描画コマンドに対応する描画領域の描画開始位置のＸ座標値及びＹ座標値、幅、高さ、有効幅、有効高、画像データ記憶領域のアドレスの各情報が登録される。
【００３４】
ステップ９８の判定が否定された場合、今回受信した画像描画コマンドは端末装置２０から最初に受信した画像描画コマンド(隣接判定を行う直前の画像描画コマンドが存在しない)と判断できるので、ステップ１１６へ移行し、判定結果に「非隣接」を設定する。また、ステップ９８の判定が肯定された場合はステップ１００へ移行し、今回受信した画像描画コマンドの情報に含まれる属性情報を、保留リストのうち個別リストの末尾に登録されている、直前に受信した画像描画コマンドの属性情報と比較する。
【００３５】
次のステップ１０２では、ステップ１００で属性情報を比較した結果に基づき、今回受信した画像描画コマンドの属性情報に含まれる描画開始位置のＸ座標値が、直前に受信した画像描画コマンドの属性情報に含まれる描画開始位置のＸ座標値と同一か否か判定する。ステップ１０２の判定が肯定された場合はステップ１０４へ移行し、今回受信した画像描画コマンドの属性情報に含まれる描画領域の幅が、直前に受信した画像描画コマンドの属性情報に含まれる描画領域の幅と同一か否か判定する。
【００３６】
また、ステップ１０４の判定も肯定された場合はステップ１０６へ移行する。ステップ１０６では、今回受信した画像描画コマンドの属性情報に含まれる描画開始位置のＹ座標値が、直前に受信した画像描画コマンドの属性情報に含まれる描画開始位置のＹ座標に描画領域の高さを加算した値以下か否か判定する。なお、上記判定において、今回受信した画像描画コマンドにおける描画開始位置のＹ座標値が、直前に受信した画像描画コマンドの属性情報に含まれる描画開始位置のＹ座標に描画領域の高さを加算した値と同一の場合は重複領域無しを意味する。また、今回受信した画像描画コマンドにおける描画開始位置のＹ座標値が、直前に受信した画像描画コマンドの属性情報に含まれる描画開始位置のＹ座標に描画領域の高さを加算した値よりも小さい場合は重複領域有りを意味する。
【００３７】
ステップ１０６の判定も肯定された場合はステップ１０８へ移行し、今回受信した画像描画コマンドの属性情報に含まれる「変換行列」が表す拡大率又は縮小率又は回転角度が、直前に受信した画像描画コマンドの属性情報に含まれる「変換行列」が表す拡大率又は縮小率又は回転角度と同一か否か判定する。ステップ１０８の判定も肯定された場合はステップ１１０へ移行し、今回受信した画像描画コマンドの属性情報に含まれる「圧縮方式」が、直前に受信した画像描画コマンドの属性情報に含まれる「圧縮方式」と同一か否かを判定する。
【００３８】
また、ステップ１１０の判定も肯定された場合はステップ１１２へ移行し、今回受信した画像描画コマンドの属性情報に含まれる「論理演算」が、直前に受信した画像描画コマンドの属性情報に含まれる「論理演算」と同じか否か判定する。上述したステップ１０２〜ステップ１１２の判定が何れも肯定された場合、今回受信した画像描画コマンドに対応する画像ブロックは、直前に受信した画像描画コマンドに対応する画像ブロックと隣接していると判断できる。このため、ステップ１１４で判定結果に「隣接」を設定して隣接判定処理を終了する。また、ステップ１０２〜ステップ１１２の何れかの判定が否定された場合、今回受信した画像描画コマンドに対応する画像ブロックは、直前に受信した画像描画コマンドに対応する画像ブロックと隣接していないと判断できるので、ステップ１１６で判定結果に「非隣接」を設定して隣接判定処理を終了する。
【００３９】
以上のようにして隣接判定処理が終了すると、図２のステップ５８では、ステップ５６の隣接判定処理における判定結果が「隣接」か否か判定する。今回受信した画像描画コマンドが端末装置２０から最初に受信した画像描画コマンドである場合は、判定が否定されてステップ６２へ移行して保留リストを生成し、生成した保留リストに今回受信した画像描画コマンドの属性情報を登録し、ステップ６４へ移行する。なお、保留リストへの属性情報の設定に際し、全体リスト及び個別リストに含まれる有効幅及び有効高としては、今回受信した画像描画コマンドの属性情報に含まれる描画領域の幅及び高さが初期値として各々設定される。また、ステップ５８の判定が肯定された場合はステップ６０へ移行し、生成済みの保留リストを更新する保留リスト更新処理を行う。
【００４０】
図４に示すように、この保留リスト更新処理では、まずステップ１２０において、今回受信した画像描画コマンドの属性情報を、保留リストのうち個別リストの末尾に登録されている、直前に受信した画像描画コマンドの属性情報と比較する。ステップ１２２では、ステップ１２０の比較結果に基づき、今回受信した画像描画コマンドの属性情報に含まれる描画開始位置のＹ座標値が、直前に受信した画像描画コマンドの属性情報に含まれる描画開始位置のＹ座標に描画領域の高さを加算した値よりも小さいか否か判定する。この判定は、直前に受信した画像描画コマンドに対応する描画領域の中に、今回受信した画像描画コマンドに対応する描画領域と重複している重複部分が存在しているか否かを判定している。
【００４１】
判定が否定された場合はステップ１２８へ移行する。また、ステップ１２２の判定が肯定された場合はステップ１２４へ移行し、今回受信した画像描画コマンドの属性情報に含まれる描画開始位置のＹ座標値と、直前に受信した画像描画コマンドの属性情報に含まれる描画開始位置のＹ座標との差を演算する。このＹ座標値の差は、前回受信した画像描画コマンドに対応する描画領域の高さから、今回受信した画像描画コマンドに対応する描画領域との重複部分の高さを減じた高さ、すなわち有効高に相当する。このため、次のステップ１２６では、保留リストの末尾に登録されている直前の画像描画コマンドの属性情報のうちの有効高に、ステップ１２４で演算したＹ座標の差を設定する(図６(Ｃ)も参照)。
【００４２】
ステップ１２８では、今回受信した画像描画コマンドの属性情報を保留リストのうち個別リストの末尾に登録することで、今回受信した画像描画コマンドによって指示された画像の描画を保留する。またステップ１３０では、個別リストに属性情報が登録されている全ての画像描画コマンドの有効高の合計値を演算し、演算した有効高の合計値を、保留リストのうち全体リストに含まれる有効高(描画領域全体の有効高)に設定し、保留リスト更新処理を終了する。
【００４３】
上述した保留リスト更新処理を終了すると図２のステップ５０に戻る。これにより、同一の端末装置２０から、隣接判定処理の判定結果が「隣接」となる画像描画コマンドを連続的に受信している間は、受信した画像描画コマンドによって指示された画像の描画が保留され、保留リストへの属性情報の登録のみが行われることになる。
【００４４】
また、端末装置２０から受信したコマンドが画像描画コマンド以外(例えば画像の描画終了を指示するコマンド等)であった場合は、ステップ５４の判定が否定されてステップ６４へ移行する。また、端末装置２０から受信した画像描画コマンドに対する隣接判定処理の判定結果が「非隣接」となった場合も、ステップ５８の判定が否定され、前述のステップ６２を経てステップ６４へ移行する。ステップ６４では、保留リストに属性情報が既に登録されている描画保留中の画像描画コマンド(直前にステップ６２の処理を行った場合、この処理で新規登録された画像描画コマンドは除く)が有るか否か判定する。
【００４５】
判定が否定された場合は、描画対象の画像データが入力バッファに記憶されていないのでステップ５０へ戻り、ステップ５０以降を繰り返す。また、ステップ５０の判定が肯定された場合はステップ６６へ移行し、保留リストに属性情報が既に登録されている描画保留中の画像描画コマンドに対応する画像の描画を連結して行うか否か判定する。この判定は、保留リストに属性情報が既登録の画像描画コマンドの数が予め設定された閾値以上の場合に肯定される。但し、ステップ６６の判定は、保留リストに属性情報が既登録の画像描画コマンドが、描画領域の中に重複部分が存在している画像描画コマンドである場合、全体リストに登録されている「論理演算」が上書きの場合にのみ肯定され、上書き以外の場合は否定される。
【００４６】
ステップ６６の判定が肯定された場合はステップ７６へ移行し、保留リストのうちの全体リストから全体属性情報(「変換行列」や「圧縮方式」等)を取得する。また、ステップ７８では画像描画コマンドに応じた描画処理用の初期化処理としてワークメモリの確保やプログラムのロード等の処理を行う。次のステップ８０では、入力バッファから次に読み出す画像データが、読出対象の画像データに対応する画像描画コマンドの属性情報に含まれる有効高の範囲内の画像データ(図７に示す読出範囲内の画像データ)か否か判定する。この判定は当初は否定されてステップ８２へ移行し、描画対象の画像データを入力バッファから１ライン分読み出す。次のステップ８４では、ステップ８２で読み出した画像データが、画像データの末尾を意味する"NULL"か否か判定する。
【００４７】
この判定も否定された場合はステップ８６へ移行し、まず先のステップ７６で取得した全体属性情報のうちの「圧縮方式」が非圧縮以外であれば、ステップ８２で取得した１ライン分の画像データに対して「圧縮方式」に設定された圧縮に関するパラメータに応じた解凍を行い、続いて「変換行列」で画像の拡大又は縮小又は回転が指定されている場合には、ワークメモリ上で画像データに対して拡大処理又は縮小処理又は回転処理を行う。そして次のステップ８８では、上記処理を経た画像データを出力バッファに画像として描画(展開)し、ステップ８０に戻る。これにより、ステップ８０の判定が否定されるか、又はステップ８４の判定が肯定される迄、ステップ８０〜ステップ８８が繰り返される。
【００４８】
描画対象の画像描画コマンドに対応する描画領域の中に重複部分が存在しない場合、描画対象の画像描画コマンドの画像データはステップ８０〜ステップ８８が繰り返されることで入力バッファから全て読み出される。そして、単一の画像描画コマンドの画像データが全て読み出されると、ステップ８４の判定が肯定されてステップ９０へ移行する。ステップ９０では、次の画像データ(描画対象の画像描画コマンド)が有るか否か判定する。判定が肯定された場合はステップ８０に戻る。これにより、例えば「変換行列」で画像の拡大が指定されている場合であっても、図７に示すように、入力バッファから読み出された画像データは、拡大処理が行われて出力バッファに直接描画されることになり、中間データを記憶するためのバッファ(メモリ)等が不要になる。
【００４９】
また、描画対象の画像描画コマンドに対応する描画領域の中に重複部分が存在している場合は、ステップ８０〜ステップ８８が繰り返され、入力バッファからの画像データの読出位置が図８に示す読出範囲の下端部に達するとステップ８０の判定が否定される。ステップ８０の判定が否定された場合も前述のステップ９０へ移行し、次の画像データ(描画対象の画像描画コマンド)が有ればステップ８０に戻る。これにより、描画領域の中に重複部分が存在している場合であっても、図８にハッチングで示す重複部分が入力バッファから読み出されない(読み飛ばされる)ことで、中間データを記憶するためのバッファ(メモリ)等を用いることなく、重複部分が多重に描画されることが防止される。
【００５０】
上記のステップ７６〜ステップ９０より、保留リストに属性情報が既に登録されている描画保留中の複数の画像描画コマンドに対応する画像の描画が連結される。この間、描画処理用の初期化処理の実行は１回のみであり、処理のオーバヘッドが削減される。なお、画像の描画が終了するとステップ９０の判定が否定され、ワークメモリの解放等の終了処理を行った後にステップ５０に戻る。
【００５１】
一方、ステップ６６の判定が否定された場合はステップ６８へ移行し、保留リストに属性情報が既に登録されている描画保留中の画像描画コマンドの情報を入力バッファから１つ取り出す。ステップ７０では、画像描画コマンドに応じた描画処理用の初期化処理としてワークメモリの確保やプログラムのロード等の処理を行い、次のステップ７２では、ステップ６８で入力バッファから情報を取り出した画像描画コマンドの情報に基づき、出力バッファに画像を描画する。また、画像の描画が終了するとワークメモリの解放等の終了処理を行う。次のステップ７４では、保留リストに属性情報が既に登録されている描画保留中の画像描画コマンドが残存しているか否か判定する。判定が否定された場合はステップ６８に戻り、ステップ７４の判定が肯定される迄、ステップ６８〜ステップ７４を繰り返す。そしてステップ７４の判定が肯定されるとステップ５０に戻る。
【００５２】
なお、以上の処理によって出力バッファに描画された画像(データ)は、本体制御部１６から画像印刷部１６へ出力され、画像印刷部１６による記録用紙への画像の印刷に用いられる。
【００５３】
なお、上記では描画領域が重複している一対の画像のうちの一方の画像の重複部分を削除した画像を描画することを、一対の画像データのうちの一方の画像データの重複部分に相当するデータを入力バッファから読み出さない(読み飛ばす)ことによって実現していたが、本発明はこれに限定されるものではなく、出力バッファ上で重複部分を上書きして描画することによって実現することも可能である。
【００５４】
また、上記では本発明に係る処理を印刷装置１２の本体制御部１４で行う態様を説明したが、本発明はこれに限定されるものではなく、端末装置２０(の例えばプリンタドライバ)で行うようにしてもよいし、通信回線３０に接続されたサーバ・コンピュータ等の他の情報処理装置で行うようにしてもよい。
【００５５】
また、出力バッファへ画像を描画する際に行う画像処理は、上記で一例として挙げた拡大処理や縮小処理、回転処理に限られるものではなく、例えば濃度補正処理や色補正処理等の公知の画像処理を適用可能であることは言うまでもない。
【００５６】
また、上記では本発明に係る画像処理プログラムの一例である画像描画プログラムが印刷装置１２の本体制御部１４の記憶部１４Ｃに予め記憶（インストール）されている態様を説明したが、本発明に係る画像処理プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。
【符号の説明】
【００５７】
１０  印刷システム
１２  印刷装置
１４  本体制御部
１６  画像印刷部
２０  端末装置
【図１】
2012060390.tif 000003
【図２】
2012060390.tif 000004
【図３】
2012060390.tif 000005
【図４】
2012060390.tif 000006
【図５】
2012060390.tif 000007
【図６】
2012060390.tif 000008
【図７】
2012060390.tif 000009
【図８】
2012060390.tif 000010