(57)【要約】【課題】  キャッシュメモリからメインメモリへのスムーズなデータ転送を行うことができる画像処理装置を提供する。【解決手段】  描画命令に基づく描画処理によってビットマップ画像を生成する描画部（２１）と、描画部によって生成されたビットマップ画像を格納するキャッシュメモリ（２２）と、描画命令に含まれるオブジェクトの位置情報を用いて、キャッシュメモリに格納されたビットマップ画像を分割した複数の分割領域（Ｍ１１〜Ｍ１４）のうち、オブジェクトを含む分割領域（Ｍ１２，Ｍ１４）を抽出する抽出部と、キャッシュメモリ上で抽出されたオブジェクトを含む分割領域を、外部デバイスとの通信が可能なメインメモリ（４）に転送する転送部と、を有する。【選択図】  図５
2010006066.tif 000002
【特許請求の範囲】
【請求項１】
描画命令に基づく描画処理によってビットマップ画像を生成する描画部と、
前記描画部によって生成されたビットマップ画像を格納するキャッシュメモリと、
前記キャッシュメモリ内のビットマップ画像を分割した複数の分割領域のうち、オブジェクトを含む分割領域を、ビットマップ画像内のオブジェクトの位置情報に基づいて抽出する抽出部と、
前記キャッシュメモリ上で抽出されたオブジェクトを含む分割領域のデータを、外部デバイスとの通信が可能なメインメモリに転送する転送部と、
を有することを特徴とする画像処理装置。
【請求項２】
描画命令に含まれるオブジェクトの位置情報を用いて、前記描画命令によって生成されるビットマップ画像を分割した複数の分割領域のうち、オブジェクトを含む分割領域を描画処理によって生成する描画部と、
前記描画部によって生成されたオブジェクトを含む分割領域を格納するキャッシュメモリと、
前記キャッシュメモリに格納されたオブジェクトを含む分割領域のデータを、外部デバイスとの通信が可能なメインメモリに転送する転送部と、
を有することを特徴とする画像処理装置。
【請求項３】
前記メインメモリに格納されたオブジェクトを含む分割領域と、前記オブジェクトの位置情報とに基づいて、前記描画命令によって特定されるビットマップ画像を生成する生成部を有することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記メインメモリは、前記複数の分割領域のうち、オブジェクトを含まない分割領域に対応したデータを格納しており、
前記生成部は、前記メインメモリから、オブジェクトを含む分割領域のデータおよびオブジェクトを含まない分割領域のデータを読み出して圧縮処理を行うことにより、前記描画命令によって特定されるビットマップ画像を圧縮形式で生成することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記生成部は、前記メインメモリからオブジェクトを含む分割領域のデータを読み出して圧縮処理を行うとともに、オブジェクトを含まない分割領域に対応した圧縮データを生成することにより、前記描画命令によって特定されるビットマップ画像を圧縮形式で生成することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記描画命令によって特定されるビットマップ画像は、１ページのビットマップ画像を複数のバンドに分割したときの各バンドの画像であることを特徴とする請求項１から５のいずれか１つに記載の画像処理装置。
【請求項７】
描画命令に基づいてビットマップ画像を生成し、
生成されたビットマップ画像をキャッシュメモリに格納し、
前記キャッシュメモリ内のビットマップ画像を分割した複数の分割領域のうち、オブジェクトを含む分割領域を、ビットマップ画像内のオブジェクトの位置情報に基づいて抽出し、
前記キャッシュメモリ上で抽出されたオブジェクトを含む分割領域のデータを、外部デバイスとの通信が可能なメインメモリに転送する、
ことを特徴とする画像処理方法。
【請求項８】
描画命令に含まれるオブジェクトの位置情報を用いて、前記描画命令によって生成されるビットマップ画像を分割した複数の分割領域のうち、オブジェクトを含む分割領域を描画処理によって生成し、
生成されたオブジェクトを含む分割領域をキャッシュメモリに格納し、
前記キャッシュメモリに格納されたオブジェクトを含む分割領域のデータを、外部デバイスとの通信が可能なメインメモリに転送する、
ことを特徴とする画像処理方法。
【請求項９】
前記メインメモリに格納されたオブジェクトを含む分割領域と、前記オブジェクトの位置情報とに基づいて、前記描画命令によって特定されるビットマップ画像を生成することを特徴とする請求項７又は８に記載の画像処理方法。
【請求項１０】
前記メインメモリは、前記複数の分割領域のうち、オブジェクトを含まない分割領域に対応したデータを格納しており、
前記メインメモリから、オブジェクトを含む分割領域のデータおよびオブジェクトを含まない分割領域のデータを読み出して圧縮処理を行うことにより、前記描画命令によって特定されるビットマップ画像を圧縮形式で生成することを特徴とする請求項９に記載の画像処理方法。
【請求項１１】
前記メインメモリからオブジェクトを含む分割領域のデータを読み出して圧縮処理を行うとともに、オブジェクトを含まない分割領域に対応した圧縮データを生成することにより、前記描画命令によって特定されるビットマップ画像を圧縮形式で生成することを特徴とする請求項９に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画命令に基づく描画処理によってビットマップ画像を生成する画像処理装置に関するものである。
【背景技術】
【０００２】
プリンタ装置が印字命令を受信すると、プリンタ装置内のＣＰＵが印字命令に応じた描画処理を実行することにより、１ページ分のビットマップ画像を生成する。ここで、描画処理の高速化を図るために、ＣＰＵ内部のキャッシュメモリを用いて描画処理を行っている。
【０００３】
描画処理によってキャッシュメモリに格納されたビットマップ画像は、ＣＰＵの外部から直接アクセスすることができないため、キャッシュメモリ上のビットマップ画像をＣＰＵの外部に配置されたメモリ（外部メモリ）に転送させる必要がある。例えば、ビットマップ画像の圧縮処理を行うためには、キャッシュメモリから外部メモリにビットマップ画像を転送しておく必要がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１５０７３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
キャッシュメモリから外部メモリに転送されるビットマップ画像には、描画オブジェクト（実際に印字される部分）を含まない領域も含まれていることがある。また、描画処理によって生成されるビットマップ画像のデータサイズが大きくなるほど、キャッシュメモリから外部メモリへの転送性能がボトルネックとなり、スムーズなデータ転送を妨げてしまうことがある。
【課題を解決するための手段】
【０００６】
上述した課題を解決するため、本発明の一態様である画像処理装置は、描画命令に基づく描画処理によってビットマップ画像を生成する描画部と、描画部によって生成されたビットマップ画像を格納するキャッシュメモリと、キャッシュメモリ内のビットマップ画像を分割した複数の分割領域のうち、オブジェクトを含む分割領域を、ビットマップ画像内のオブジェクトの位置情報に基づいて抽出する抽出部と、キャッシュメモリ上で抽出されたオブジェクトを含む分割領域のデータを、外部デバイスとの通信が可能なメインメモリに転送する転送部と、を有する。
【０００７】
本発明の別の態様である画像処理装置は、描画命令に含まれるオブジェクトの位置情報を用いて、描画命令によって生成されるビットマップ画像を分割した複数の分割領域のうち、オブジェクトを含む分割領域を描画処理によって生成する描画部と、描画部によって生成されたオブジェクトを含む分割領域を格納するキャッシュメモリと、キャッシュメモリに格納されたオブジェクトを含む分割領域のデータを、外部デバイスとの通信が可能なメインメモリに転送する転送部と、を有する。
【０００８】
本発明の別の態様である画像処理方法は、描画命令に基づいてビットマップ画像を生成し、生成されたビットマップ画像をキャッシュメモリに格納し、前記キャッシュメモリ内のビットマップ画像を分割した複数の分割領域のうち、オブジェクトを含む分割領域を、ビットマップ画像内のオブジェクトの位置情報に基づいて抽出し、前記キャッシュメモリ上で抽出されたオブジェクトを含む分割領域のデータを、外部デバイスとの通信が可能なメインメモリに転送する。
【０００９】
本発明の別の態様である画像処理方法は、描画命令に含まれるオブジェクトの位置情報を用いて、前記描画命令によって生成されるビットマップ画像を分割した複数の分割領域のうち、オブジェクトを含む分割領域を描画処理によって生成し、生成されたオブジェクトを含む分割領域をキャッシュメモリに格納し、前記キャッシュメモリに格納されたオブジェクトを含む分割領域のデータを、外部デバイスとの通信が可能なメインメモリに転送する。
【発明の効果】
【００１０】
本発明では、キャッシュメモリ上に格納されたビットマップ画像をメインメモリに転送する場合において、ビットマップ画像を分割した複数の分割領域のうち、オブジェクトを含む分割領域のデータだけを、キャッシュメモリからメインメモリに転送するようにしている。すなわち、印字処理に必要なデータだけをキャッシュメモリからメインメモリに転送するようにしている。これにより、キャッシュメモリおよびメインメモリの間におけるデータの転送量を低減でき、スムーズなデータ転送を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態におけるプリンタ装置の全体構成を示す図である。
【図２】ＣＰＵの内部および外部におけるデータ転送性能の概念を示す図である。
【図３】第１の実施形態における描画命令の生成処理を示すフローチャートである。
【図４】第１の実施形態における描画処理を示すフローチャートである。
【図５】第１の実施形態において、外部メモリへの画像データの転送処理と、外部メモリにおける画像データの再構成処理を説明するための概略図である。
【図６】第１の実施形態において、描画処理からＨＤＤへの格納処理までの処理を説明するための概略図である。
【図７】本発明の第２の実施形態における描画命令の生成処理を示すフローチャートである。
【図８】第２の実施形態における描画処理を示すフローチャートである。
【図９】本発明の第３の実施形態において、描画処理から圧縮画像データの再構成処理までの処理を説明するための概略図である。
【図１０】本発明の第４の実施形態において、描画処理から圧縮画像データの再構成処理までの処理を説明するための概略図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００１３】
（第１の実施形態）
本発明の第１の実施形態であるプリンタ装置について、図１を用いて説明する。ここで、図１は、本実施形態であるプリンタ装置１におけるシステム全体の構成を示す図である。
【００１４】
ＣＰＵ２は、ＣＰＵコア２１およびキャッシュメモリ２２を有しており、プリンタ装置１の動作を制御する。チップセット３は、複数のインターフェースおよびコントローラを有している。本実施形態では、インターフェースとして、Ｌｏｃａｌ＿Ｂｕｓ＿Ｉ／Ｆ３１、ＵＳＢ＿Ｉ／Ｆ３２、ＬＡＮ＿Ｉ／Ｆ３３、ＨＤＤ＿Ｉ／Ｆ３４、ＣＰＵ＿Ｉ／Ｆ３５が設けられている。また、コントローラとして、外部メモリコントローラ３６、ＤＭＡ（Direct Memory Access）コントローラ３７、ＰＣＩ−Ｅｘｐｒｅｓｓコントローラ３８が設けられている。
【００１５】
外部メモリ（メインメモリ）４は、ＣＰＵ２の外部に配置されたメモリであり、外部メモリ４としては、例えば、ＤＲＡＭ（Dynamic Random Access Memory）を用いることができる。ＦＲＯＭ（Flash Read Only Memory）５は、書き換え可能なメモリである。表示パネル６は、プリンタ装置１の動作に関する情報を表示する。この情報としては、例えば、画像が印字される用紙のサイズや、印字画像の濃度といったものが含まれる。表示パネル６をタッチパネル式の構成とすれば、表示パネル６の操作によって、特定の情報を入力することができる。例えば、表示パネル６の操作によって、画像が印字される用紙のサイズを選択したり、印字画像の濃度を選択したりすることができる。
【００１６】
画像圧縮部７は、画像データの符号化を行うことにより、データサイズを縮小する。画像読取部８は、所定位置に載置された紙原稿に対して検出光を照射することにより、紙原稿上の画像をデータとして読み取る。画像入出力コントローラ９は、画像読取部８からの画像データを印字部１０に出力したり、画像圧縮部７で圧縮処理された画像データに対して伸長処理を行ってから印字部１０に出力したりする。
【００１７】
印字部１０は、画像入出力コントローラ９からの画像データに基づいて、用紙といった記録媒体に画像を印字する。具体的には、印字部１０は、インクやトナーを用いて記録媒体上に画像を形成する。ここで、記録媒体上に画像を形成する方式は、適宜選択することができる。なお、プリンタ装置１には、ＬＡＮ１０１を介してコンピュータ（ＰＣ）１００が接続されている。
【００１８】
次に、本実施形態におけるプリンタ装置１の動作（一例）について説明する。
【００１９】
ＰＣ１００から印字命令が出力されると、印字命令は、ＬＡＮ１０１を介して、チップセット３のＬＡＮ＿Ｉ／Ｆ３３に入力される。ＣＰＵ２は、受信した印字命令に対応したビットマップ画像を生成し、この画像データは、外部メモリ４に格納される。外部メモリ４に格納された画像データは、画像圧縮部７による圧縮処理が施された後に、ＨＤＤ（Hard Disk Drive）１１に格納される。ＨＤＤ１１に格納された圧縮画像データは、画像入出力コントローラ９によって元のサイズの画像データに伸長された後、印字部１０に供給される。印字部１０は、画像入出力コントローラ９から供給された画像データに基づいて、記録媒体への印字（画像形成）を行う。
【００２０】
上述した画像データを生成する処理において、ＣＰＵコア２１は、キャッシュメモリ２２を用いることにより、高速の描画処理を行う。そして、描画処理で生成された画像データは、キャッシュメモリ２２から外部メモリ４のＤＭＡ（Direct Memory Access）転送領域に転送される。
【００２１】
図２には、ＣＰＵ２内におけるＣＰＵコア２１およびキャッシュメモリ２２の接続状態と、ＣＰＵ２および外部メモリ４の接続状態を示している。ＣＰＵ２内のキャッシュメモリ２２は、小容量であるが、高速処理が可能なメモリであり、ＣＰＵ２の内部でＣＰＵコア２１と接続されることにより、ＣＰＵコア２１との間でデータの授受を素早く行うことができる。一方、外部メモリ４は、大容量のメモリであるが、ＣＰＵ２の外部でＣＰＵ２と接続されているため、ＣＰＵ２および外部メモリ４の間におけるデータ転送速度は、ＣＰＵコア２１およびキャッシュメモリ２２の間におけるデータ転送速度よりも低くなる。
【００２２】
ここで、キャッシュメモリ２２および外部メモリ４を階層的に利用してＣＰＵ２の処理を行わせることにより、プリンタ装置１のシステム全体における処理性能を向上させることができる。具体的には、外部デバイスからアクセス可能なデータを外部メモリ４に格納しておくとともに、アクセス頻度の高いプログラムや局所的なデータの処理をキャッシュメモリ２２上で高速に行わせることができる。
【００２３】
次に、ＣＰＵ２が印字命令を受けてから画像データを生成するまでの処理について説明する。
【００２４】
まず、描画処理を行わせるための描画命令の生成処理について、図３に示すフローチャートに沿って説明する。図３に示す処理は、メモリに格納されたプログラムをＣＰＵ２に実行させることによって行うことができる。なお、本実施形態および他の実施形態で説明する他の処理についても、メモリに格納されたプログラムに基づいてＣＰＵ２に実行させることができる。
【００２５】
ＣＰＵ２は、印字命令としてのページ記述言語（ＰＤＬ：Page Description Language）を受信すると、描画命令の生成処理を開始し（ＡＣＴ３００）、ＰＤＬの解析を行う（ＡＣＴ３０１）。そして、ＣＰＵ２は、ＰＤＬの解析結果に基づいて、各バンドに対する描画命令をメモリに登録する（ＡＣＴ３０２）。登録された描画命令は、バンド毎のビットマップ画像を生成するために用いられる。
【００２６】
ここで、バンドとは、１ページの画像を複数の短冊状の領域に分割したときの各領域を示し、複数のバンドが所定の順序で一方向に並んで配置されることにより、１ページの画像が形成される。また、描画命令とは、１ページのビットマップ画像を生成するための命令であり、各バンドに対して描画命令が生成される。複数のバンドに対する描画命令は、ディスプレイリストとして構成される。
【００２７】
次に、ＣＰＵ２は、バンド毎に登録された描画命令に基づいて、各バンド内のうちオブジェクトが形成される領域（オブジェクト対象領域）を抽出する（ＡＣＴ３０３）。オブジェクト対象領域とは、描画処理によってオブジェクトが形成される領域を示し、１つのバンドを分割した複数の分割領域のうち、描画されるオブジェクトを含む分割領域である。
【００２８】
次に、ＣＰＵ２は、抽出されたオブジェクト対象領域の位置情報をメモリに登録する（ＡＣＴ３０４）。オブジェクト対象領域の位置情報とは、バンド内におけるオブジェクトの位置を特定するための情報であり、具体的には、バンドを分割した複数の分割領域のうち、オブジェクトを含む分割領域を特定するための情報である。
【００２９】
ＣＰＵ２は、１ページのビットマップ画像を構成するすべてのバンドに対して、描画命令の登録と、オブジェクト対象領域の位置情報の登録とが行われたか否かを判別する（ＡＣＴ３０５）。ここで、一部のバンドに対して描画命令の登録等が行われていなければ（ＡＣＴ３０５、Ｎｏ）、上述した処理ＡＣＴ３０１〜ＡＣＴ３０４を行う。また、すべてのバンドに対して描画命令の登録等が行われていれば（ＡＣＴ３０５、ＹＥＳ）、本処理を終了する。図３に示す描画命令の生成処理が終了すると、１ページの印字画像を構成する各バンドに関して、描画命令およびオブジェクト対象領域の位置情報がメモリに登録されることになる。
【００３０】
次に、ＣＰＵ２による描画処理について、図４に示すフローチャートに沿って説明する。図３に示す描画命令の生成処理が終了した後は、描画処理が開始される（ＡＣＴ４００）。この描画処理は、キャッシュメモリ２２上の所定領域を用いて行われる。
【００３１】
ＣＰＵ２は、描画処理を行うバンドにおけるオブジェクト対象領域の位置情報をメモリから読み出し（ＡＣＴ４０１）、キャッシュメモリ２２のうち、オブジェクト対象領域に対応するメモリ領域に含まれる画像データを初期化する（ＡＣＴ４０２）。本実施形態では、図３に示す処理（ＡＣＴ３０４）でオブジェクト対象領域の位置情報が得られているため、キャッシュメモリ２２のうち、オブジェクト対象領域に対応したメモリ領域に対してのみ初期化処理を行うようにしている。
【００３２】
次に、ＣＰＵ２は、描画処理を行うバンドに対応した描画命令をディスプレイリストから読み出し（ＡＣＴ４０３）、読み出した描画命令に基づいて描画処理を行う（ＡＣＴ４０４）。ここでの描画処理は、上述した処理ＡＣＴ４０２において初期化されたメモリ領域に対して行われ、キャッシュメモリ２２上には、バンドのうち、オブジェクトを含む一部の領域（ビットマップ画像）だけが格納される。
【００３３】
図５（ａ）には、特定のバンドに関して、描画処理を行った場合におけるキャッシュメモリ２２上の画像を示している。
【００３４】
図５（ａ）に示す例において、キャッシュメモリ２２には、１つのバンドを格納するためのメモリ領域が設けられており、このメモリ領域は、同一サイズの４つの分割領域Ｍ１１〜Ｍ１４に仕切られている。各分割領域Ｍ１２，Ｍ１４には、描画処理によって生成されたオブジェクトを含むビットマップ画像が格納されている。ここで、オブジェクトを含むビットマップ画像の領域を、オブジェクト領域という。
【００３５】
図５（ａ）に示す例では、分割領域Ｍ１２，Ｍ１４に予め格納されている画像データを初期化した後に、分割領域Ｍ１２，Ｍ１４に対して描画処理を行う。これにより、分割領域Ｍ１２には、文字「ＡＢＣ」のオブジェクトを含むビットマップ画像が生成され、分割領域Ｍ１４には、台形のオブジェクトを含むビットマップ画像が生成される。
【００３６】
一方、分割領域Ｍ１１，Ｍ１３は、オブジェクトが含まれていない領域、言い換えれば、印字部１０による印字処理が行われない領域である。分割領域Ｍ１１，Ｍ１３は、画像データが初期化された状態であってもよいし、初期化されていない状態（前回の画像データが含まれた状態）であってもよい。ここで、本実施形態（図４の処理ＡＣＴ４０２）のように、分割領域Ｍ１２，Ｍ１４の画像データだけを初期化すれば、キャッシュメモリ２２上のすべての分割領域Ｍ１１〜Ｍ１４に対して初期化動作を行う場合に比べて、初期化動作の時間を短縮することができる。
【００３７】
図４において、ＣＰＵ２は、１つのバンドに対する描画処理が終了したか否かを判別し（ＡＣＴ４０５）、描画処理が終了していなければ、上述した処理ＡＣＴ４０３，４０４を行う。一方、１つのバンドに対する描画処理が終了していれば、ＣＰＵ２は、オブジェクト領域のビットマップ画像だけをキャッシュメモリ２２から外部メモリ４に転送する（ＡＣＴ４０６）。
【００３８】
図５に示す例では、キャッシュメモリ２２における分割領域Ｍ１２，Ｍ１４のビットマップ画像だけが外部メモリ４に転送される。このとき、分割領域Ｍ１１，Ｍ１３におけるデータの転送は禁止される。キャッシュメモリ２２から転送されたビットマップ画像は、外部メモリ４におけるＤＭＡ転送領域に格納される。
【００３９】
分割領域Ｍ１２，Ｍ１４のデータを転送する方法としては、例えば、キャッシュメモリ２２上で実際にオブジェクトが形成された領域（分割領域Ｍ１２，Ｍ１４）に対して、キャッシュフラッシュ命令を発効することができる。ここで、キャッシュフラッシュ命令とは、キャッシュメモリ２２に格納されたデータを外部メモリ４に明示的に転送させる命令をいう。一方、ＰＩＯ（Ｐｒｏｇｒａｍ  Ｉ／Ｏ）により、キャッシュメモリ２２における分割領域Ｍ１２，Ｍ１４のデータを外部メモリ４にコピー（転送）することもできる。
【００４０】
外部メモリ４には、１つのバンドに相当する画像データを格納する領域が設けられており、この格納領域は、図５（ｃ）に示すように、複数の分割領域Ｍ２１〜Ｍ２４に仕切られている。そして、外部メモリ４上の各分割領域Ｍ２１〜Ｍ２４は、キャッシュメモリ２２上の各分割領域Ｍ１１〜Ｍ１４と同一の位置関係にある。これにより、キャッシュメモリ２２における各分割領域Ｍ１２，Ｍ１４の画像データは、外部メモリ４における分割領域Ｍ２２，Ｍ２４に格納される。
【００４１】
ここで、オブジェクト対象領域の位置情報を用いることにより、外部メモリ４のうち、オブジェクトを含むビットマップ画像が格納されるメモリ領域（アドレス）を特定することができる。これにより、キャッシュメモリ２２から転送された画像データを、外部メモリ４上の所定位置（分割領域Ｍ１２，Ｍ１４に対応した分割領域Ｍ２２，Ｍ２４）に正確に格納することができる。
【００４２】
また、キャッシュメモリ２２から外部メモリ４に画像データを転送する前に、外部メモリ４に他の画像データが予め格納されているときには、外部メモリ４に予め格納された画像データを初期化する。具体的には、１つのバンドの画像データが格納される分割領域Ｍ２１〜Ｍ２４に対して、初期化処理が行われる。この初期化処理は、例えば、ＰＩＯ方式による転送やＤＭＡ（Direct Memory Access）方式によって行うことができる。そして、初期化された分割領域Ｍ２１，Ｍ２３の画像（空白画像）と、分割領域Ｍ２２，Ｍ２４の画像とを組み合わせることにより、１つのバンドの画像が構成される。
【００４３】
なお、外部メモリ４のうち、キャッシュメモリ２２から転送された画像データが格納されない分割領域Ｍ２１，Ｍ２３のデータだけを初期化することもできる。すなわち、キャッシュメモリ２２上の分割領域Ｍ１１，Ｍ１３に対応した外部メモリ４の分割領域Ｍ２１，Ｍ２３に対してのみ、初期化処理を行うことができる。ここで、初期化処理を行う分割領域Ｍ２１，Ｍ２３は、上述したオブジェクト対象領域の位置情報を用いて特定することができる。また、初期化処理されていない分割領域Ｍ２２，Ｍ２４については、予め格納されているデータが、キャッシュメモリ２２から転送された画像データに置き換わることになる。
【００４４】
図４において、ＣＰＵ２は、１ページの画像に含まれるすべてのバンドに対して、描画処理が終了したか否かを判別する（ＡＣＴ４０７）。すべてのバンドに対する描画処理が終了していれば、本処理を終了し、そうでなければ、ＡＣＴ４０１〜ＡＣＴ４０６の処理を行う。これにより、１ページのビットマップ画像が生成され、この画像データを外部メモリ４に格納することができる。
【００４５】
外部メモリ４のＤＭＡ転送領域に格納された画像データは、図６に示すように、画像圧縮部７に転送されて、圧縮処理が施される。圧縮された画像データは、外部メモリ４のＤＭＡ転送領域に転送された後、ＨＤＤ＿Ｉ／Ｆ３４を介してＨＤＤ１１に格納される。ＨＤＤ１１に格納された圧縮画像データは、上述したように、画像入出力コントローラ９を介して印字部１０に転送されることにより、記録媒体への印字が行われる。
【００４６】
本実施形態によれば、オブジェクトが含まれる領域（オブジェクト対象領域）のビットマップデータだけをキャッシュメモリ２２から外部メモリ４に転送させることにより、キャッシュメモリ２２から外部メモリ４へのデータ転送量を低減して、データ転送をスムーズに行うことができる。そして、キャッシュメモリ２２から外部メモリ４にデータを転送する際のボトルネックを緩和することができるとともに、１ページの画像データを生成する際のスループットを向上させることができる。ここで、１つのバンドに含まれるオブジェクト領域の数が少ないほど、キャッシュメモリ２２から外部メモリ４へのデータ転送性能を向上させることができる。
【００４７】
（第２の実施形態）
次に、本発明の第２の実施形態であるプリンタ装置について説明する。ここで、第１の実施形態で説明したブロック等については、同一符号を用いている。以下、第１の実施形態と異なる点について、主に説明する。
【００４８】
第１の実施形態（図３に示す処理）では、描画命令の生成処理においてオブジェクト対象領域を抽出するようにしているが、本実施形態では、描画命令に基づく描画処理を行うときに、オブジェクト対象領域を抽出するようにしている。
【００４９】
まず、本実施形態における描画命令の生成処理について、図７に示すフローチャートに沿って説明する。
【００５０】
プリンタ装置１がＰＣ１００からのＰＤＬを受信すると、ＣＰＵ２は、描画命令の生成処理を開始し（ＡＣＴ７００）、ＰＤＬの解析を行う（ＡＣＴ７０１）。そして、ＣＰＵ２は、ＰＤＬの解析結果に基づいて、各バンドに対する描画命令をメモリに登録する（ＡＣＴ７０２）。
【００５１】
ＣＰＵ２は、１ページの印字画像を構成するすべてのバンドに対して、描画命令が登録されたか否かを判別する（ＡＣＴ７０３）。ここで、一部のバンドに関して、描画命令が登録されていなければ、上述した処理ＡＣＴ７０１，７０２を行う。また、すべてのバンドに関して、描画命令が登録されていれば、本処理を終了する。図７に示す描画命令の生成処理が完了すると、１ページの印字画像を構成する複数のバンドに対する描画命令が、ディスプレイリストとして構成される。
【００５２】
次に、本実施形態における描画処理について、図８に示すフローチャートに沿って説明する。
【００５３】
ＣＰＵ２は、キャッシュメモリ２２のうち、１つのバンドの描画処理が行われる全領域に対して、データの初期化を行う（ＡＣＴ８０１）。次に、ＣＰＵ２は、描画処理を行うバンドに対応した描画命令をディスプレイリストから読み出し（ＡＣＴ８０２）、バンド毎の描画命令に基づいて、各バンド内におけるオブジェクト対象領域を抽出する（ＡＣＴ８０３）。
【００５４】
ＣＰＵ２は、上記処理ＡＣＴ８０３で抽出されたオブジェクト対象領域の位置情報をメモリに登録する（ＡＣＴ８０４）。オブジェクト対象領域の位置情報は、第１の実施形態で説明したように、外部メモリ４において、１つのバンドのビットマップ画像を再構成するときに用いられる。次に、ＣＰＵ２は、処理ＡＣＴ８０２で読み出した描画命令に基づいて、描画処理を行い（ＡＣＴ８０５）、１バンドの描画処理が終了した場合（ＡＣＴ８０６、ＹＥＳ）には、１バンド内における描画オブジェクトの位置情報を取得する（ＡＣＴ８０７）。ここでの位置情報は、描画処理によって実際に生成されたオブジェクトの位置に関する情報である。
【００５５】
そして、ＣＰＵ２は、処理ＡＣＴ８０７で取得した描画オブジェクトの位置情報に基づいて、描画オブジェクトを含む領域だけを、キャッシュメモリ２２から外部メモリ４に転送する（ＡＣＴ８０８）。具体的には、図５に示す場合と同様に、１つのバンドのビットマップ画像を複数の領域に分割しておき、複数の分割領域のうち、描画オブジェクトを含む分割領域だけをキャッシュメモリ２２から外部メモリ４に転送する。
【００５６】
ＣＰＵ２は、１ページのビットマップ画像に含まれるすべてのバンドに対して、描画処理が終了したか否かを判別する（ＡＣＴ８０９）。すべてのバンドに対する描画処理が終了していれば、本処理を終了し、そうでなければ、ＡＣＴ８０１〜ＡＣＴ８０８の処理を行う。これにより、１ページのビットマップ画像が生成され、このビットマップ画像を外部メモリ４に格納することができる。
【００５７】
本実施形態においても、描画処理によって生成された画像データだけをキャッシュメモリ２２から外部メモリ４に転送しているため、データ転送をスムーズに行うことができる。
【００５８】
（第３の実施形態）
次に、本発明における第３の実施形態について説明する。ここで、上述した実施形態で説明したものについては、同一符号を用いる。本実施形態では、キャッシュメモリ２２から転送された画像データを用いて、１つのバンドの画像データを生成しつつ、１つのバンドの画像データに対して圧縮処理を行うようにしている。この処理について、図９を用いながら説明する。ここで、図９に示す処理は、ＣＰＵ２によって実行される。
【００５９】
本実施形態でも、第１の実施形態と同様に、キャッシュメモリ２２から外部メモリ４には、分割領域Ｍ１２，Ｍ１４の画像データ（印字画像データという）だけが転送される。図９に示す例では、分割領域Ｍ１２，Ｍ１４の画像データが、外部メモリ４における所定アドレス（＊ａ，＊ｂ）に格納される。また、外部メモリ４の所定アドレス（＊ｎｕｌｌ）には、予め用意された空白画像を示すデータ（空白画像データという）が格納されている。空白画像とは、印字部１０による印字処理が行われない領域を示す画像である。このように、外部メモリ４には、２種類の画像データ（印字画像データおよび空白画像データ）が格納されることになる。
【００６０】
外部デバイスとしての画像圧縮部７は、外部メモリ４に格納された２種類の画像データを所定の順序で読み出して、２種類の画像データに対して圧縮処理を行いながら、印字画像データおよび空白画像データを所定の順序で並べることにより、１つのバンドの画像を生成する。生成されたバンド画像は、圧縮処理された状態で外部メモリ４に格納される。
【００６１】
本実施形態では、外部メモリ４に格納された２種類の画像データのアドレスと、読み出し順序との関係を示すテーブルに基づいて、２種類の画像データを外部メモリ４から順次読み出している。図９に示す読み出しテーブルでは、読み出しの順番（１〜４）と、２種類の画像データが格納されている外部メモリ４のアドレス（＊ｎｕｌｌ，＊ａ，＊ｂ）とが対応付けられている。画像圧縮部７は、読み出しテーブルを参照することにより、外部メモリ４における所定のアドレスから所定の画像データを読み出す。このテーブルは、第１の実施形態で説明したオブジェクト対象領域の位置情報に基づいて、作成することができる。
【００６２】
図９に示す例では、まず、空白画像データを読み出した後に、キャッシュメモリ２２の分割領域Ｍ１２で生成された印字画像データ（文字ＡＢＣを示す画像）を読み出す。次に、空白画像データを読み出した後に、キャッシュメモリ２２の分割領域Ｍ１４で生成された印字画像データ（台形を示す画像）を読み出す。
【００６３】
画像圧縮部７は、外部メモリ４から読み出した２種類の画像データに対して圧縮処理を行うとともに、読み出した順番で画像データを一方向に並べて配置する。これにより、１つのバンドにおける圧縮処理された画像が得られる。
【００６４】
本実施形態では、外部メモリ４に空白画像データが予め格納されており、読み出しテーブルの内容によっては、外部メモリ４から空白画像データが複数回、読み出される。すなわち、１つのバンドの画像を生成する際に、１つの空白画像データが繰り返して利用される。このため、外部メモリ４の初期化処理を行うときには、１つの空白画像データが格納された領域に対して初期化処理を行うだけでよい。
【００６５】
（第４の実施形態）
次に、本発明における第４の実施形態について説明する。ここで、上述した実施形態で説明したものについては、同一符号を用いる。本実施形態でも、第３の実施形態と同様に、キャッシュメモリ２２から転送された画像データを用いて、１つのバンドの画像データを生成しつつ、１つのバンドの画像データに対して圧縮処理を行うようにしている。この処理について、図１０を用いながら説明する。
【００６６】
本実施形態でも、第１の実施形態と同様に、キャッシュメモリ２２から外部メモリ４に対して、分割領域Ｍ１２，Ｍ１４の画像データだけが転送される。そして、キャッシュメモリ２２から転送された画像データは、外部メモリ４における所定のアドレスに格納される。図１０に示す例では、各分割領域Ｍ１２，Ｍ１４で生成された画像データが外部メモリ４における所定アドレス（＊ａ，＊ｂ）に格納される。ここで、外部メモリ４には、空白画像データが格納されていない。
【００６７】
外部デバイスとしての画像圧縮部７は、第３の実施形態で説明したテーブルに基づいて、外部メモリ４から印字画像データを読み出す。第３の実施形態では、空白画像データを外部メモリ４から読み出してから、空白画像データの圧縮処理を行っているが、本実施形態では、空白画像データを外部メモリ４に格納せずに、画像圧縮部７が空白画像データの圧縮符号を直接生成するようにしている。
【００６８】
図１０に示す例において、画像圧縮部７は、まず、空白画像データの圧縮符号を生成して、外部メモリ４の所定アドレスに格納する。次に、画像圧縮部７は、外部メモリ４のアドレス（＊ａ）から印字画像データ（文字ＡＢＣの画像）を読み出して、圧縮処理を行う。圧縮処理された印字画像データは、外部メモリ４の所定アドレスに格納される。次に、画像圧縮部７は、空白画像データの圧縮符号を生成して、外部メモリ４の所定アドレスに格納する。そして、画像圧縮部７は、外部メモリ４のアドレス（＊ｂ）から印字画像データ（台形の画像）を読み出して、圧縮処理を行う。圧縮処理された印字画像データは、外部メモリ４の所定アドレスに格納される。上述した処理により、外部メモリ４には、圧縮処理された１つのバンドの画像データが格納されることになる。
【００６９】
本実施形態では、空白画像データを外部メモリ４から画像圧縮部７に転送する必要が無くなるため、外部メモリ４から画像圧縮部７にデータを転送する際の時間を短縮することができる。
【００７０】
なお、上述した実施形態では、本発明を実施する機能を実現するためのプログラムが、装置内部に設けられた記憶領域に予め記録されている場合を例示したが、これに限らず同様のプログラムをネットワークから装置にダウンロードしても良いし、同様のプログラムをコンピュータ読取可能な記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。具体的に、記録媒体としては、例えば、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、回線上の伝送媒体などが挙げられる。またこのように予めインストールやダウンロードにより得る機能は装置内部のＯＳ（オペレーティング・システム）等と共働してその機能を実現させるものであってもよい。
【符号の説明】
【００７１】
１：プリンタ装置、  ２：ＣＰＵ、  ２１：ＣＰＵコア（処理部）、
２２：キャッシュメモリ、  ３：チップセット、  ４：外部メモリ（メインメモリ）、
５：ＦＲＯＭ、  ６：表示パネル、  ７：画像圧縮部、  ８：画像読取部、
９：画像入出力コントローラ、  １０：印字部、  １１：ＨＤＤ、  １００：ＰＣ、
１０１：ＬＡＮ
【図１】
2010006066.tif 000003
【図２】
2010006066.tif 000004
【図３】
2010006066.tif 000005
【図４】
2010006066.tif 000006
【図５】
2010006066.tif 000007
【図６】
2010006066.tif 000008
【図７】
2010006066.tif 000009
【図８】
2010006066.tif 000010
【図９】
2010006066.tif 000011
【図１０】
2010006066.tif 000012