(57)【要約】  【課題】  メインメモリなどの描画領域のアドレス配列を変更することによって，中間言語データから生成された出力画像データを上記描画領域に格納する際の演算処理（即ち描画処理）を簡易化することで，総合的に画像処理の速度を向上させることが可能な画像処理装置を提供すること。  【解決手段】  少なくとも一のバンド領域に応じた出力画像データが記憶される描画領域３０を有するメインメモリ３を備え，上記描画領域３０のアドレスの配列を所定の規則に基づいて振り替え，バンド中間言語データに基づいて出力画像データを生成するとともに該生成された出力画像データをアドレスが振り返られた上記描画領域３０に１ワード単位で順次格納するように構成する。【選択図】図１
2006279141.tif 000002
【特許請求の範囲】
【請求項１】
所定の言語で記述された１ページ分の印字データを複数のバンド領域毎のバンド中間言語データに変換し，変換されたバンド中間言語データに基づいて生成された出力画像データを出力する画像処理装置であって，
少なくとも一のバンド領域に応じた出力画像データが記憶される描画領域を有するデータ記憶手段と，
上記描画領域のアドレスを所定の規則に基づいて振り替えるアドレス振替手段と，
上記バンド中間言語データに基づいて上記出力画像データを生成するとともに該生成された出力画像データを上記アドレス振替手段によってアドレスが振り返られた上記描画領域に１ワード単位で順次格納する出力画像データ生成格納手段と，
を具備してなることを特徴とする画像処理装置。
【請求項２】
上記アドレス振替手段が，
上記出力画像データ生成格納手段によって出力画像データを１ワード単位で上記描画領域の副走査方向に順次並べて格納し得るように，上記描画領域の主走査方向のアドレス配列を副走査方向に振り替えるものである請求項１に記載の画像処理装置。
【請求項３】
上記データ記憶手段よりも記憶容量が小さく高速アクセスが可能なデータ高速記憶手段を更に備え，
上記出力画像データ生成格納手段が，生成された出力画像データを上記データ高速記憶手段の記憶容量分ずつ上記データ高速記憶手段に一時的に格納し，更に上記データ高速記憶手段に格納された出力画像データを上記描画領域に格納するものである請求項１又は２のいずれかに記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，１ページ分の印字データがバンド分割された複数のバンド領域を中間言語データに変換し，該変換された各バンド領域ごとの中間言語データに応じた出力画像データを順次生成して出力する画像処理装置に関し，特に，中間言語データから生成された出力画像データをメインメモリなどの描画領域に格納する際の演算処理（即ち描画処理）を簡易化することで，総合的に画像処理の速度を向上させることが可能な画像処理装置に関するものである。
【背景技術】
【０００２】
従来，プリンタ等の画像処理装置においては，ホストコンピュータ（以下「ホストＰＣ」と称す）から転送された１ページ分のＰＤＬデータ（ＰＤＬ：ページ記述言語（Page Description Language））を受け取り，このＰＤＬデータを中間言語に変換し，そして変換された中間言語を解釈しながらビットマップデータなどの出力画像データを生成して，画像形成制御部（エンジン制御部）に出力することにより画像形成（印刷）が行われる。このようなデータの処理方式は電子写真方式のプリンタ（レーザープリンタやＬＥＤプリンタ等）などに採用されている。なお，かかるプリンタをページプリンタと総称する。
このようなページプリンタにおいては，ＰＤＬデータから生成される１ページ分のビットマップデータを記憶するだけの容量を有するメインメモリを最低条件として備えておく必要があるが，画像データの高解像度化に伴い上記メインメモリも大容量のものが必要となってきている。
【０００３】
一方，上記メインメモリの容量を低減する手法の一つにバンド分割方式がある（特許文献１の従来技術の欄を参照）。ここで，図６及び図７を参照しながら，ホストＰＣで作成された図６に示す１ページ分の画像データ４０をプリンタに印字出力することを想定して，上記バンド分割方式を採用した場合の画像処理について簡単に説明する。ここに，図６に示される画像データ４０は印字出力される画像データの一例であって，左上端に「ＡＢ」，「ＣＤ」の文字が縦方向（副走査方向）に並べて描かれた画像データである。また，図７はＰＤＬデータがバンド分割された状態を説明するためのイメージ図である。なお，図６に示す画像データ４０はＡ４縦サイズの画像データであるが，その下部を省略して表している。
上記画像データ４０がホストＰＣ側でＰＤＬデータに変換されてプリンタに転送されると，プリンタ側では，転送されて来たＰＤＬデータが中間言語に変換される。さらに，この変換された中間言語データが図７に示すように複数のバンド領域（帯状領域）Ｂ１，Ｂ２，…に分割される。そして，各バンド領域毎に順次ビットマップデータが生成されて，順次メインメモリの描画領域に描かれ（格納され），この描画領域に格納されたバンド単位のビットマップデータが順次読み出されて，印字出力される。
このように，上記バンド分割方式を用いた場合は，上記メインメモリの容量を少なくともバンド領域に相当する容量に低減することができる。
また，特許文献１には，上記バンド分割方式を改良して，バンド分割されたバンド領域を更にバンド分割してサブバンド領域を作成し，このサブバンド領域毎に順次処理を行う方式が開示されている。
【特許文献１】特開２００１−２４９７７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで，メインメモリに対してデータを読み書きする際には，データ処理の高速化を実現するため，一般に，メインメモリよりも高速アクセス可能なキャッシュメモリを用いて周知のキャッシュ処理が行われる。
しかしながら，上述のバンド分割方式を採用した場合，後述するように，メインメモリにビットマップデータを描画（格納）する際のキャッシュ処理の処理回数が多くなるため，描画処理速度の高速化が妨げられるという問題が生じていた。
【０００５】
例えば，図８に示すメインメモリの描画領域７０（アドレスＡ０〜Ａ３１の記憶領域）にバンド領域Ｂ１（図７参照）の中間言語データ１０１に基づき生成されるビットマップデータを描画する場合を想定する。ここで，描画領域７０における一のアドレス（メモリ番地）の記憶領域は１ワード分の容量とする。即ち，上記描画領域７０を３２ワードの記憶領域と仮定する。また，キャッシュメモリを８ワード分の容量と仮定する。ここに，図８（ａ）はメインメモリの描画領域７０を描画キャンバスと仮定した場合に該描画領域７０に描かれたバンド領域Ｂ１に対応する画像のイメージ図，（ｂ）はメインメモリにおける描画領域７０のアドレス配列を示す図である。
通常，上記キャッシュ処理は，データの読み書きの際に一度アクセスしたアドレスの近くのアドレスに再度アクセスする可能性が高いという性質を利用している。例えば，アドレスＡ０にデータを書き込むために該アドレスＡ０にアクセスした場合は，そのアドレスＡ０以降の８ワード分（キャッシュメモリの容量分）の記憶領域Ａ０〜Ａ７を一単位としてキャッシュメモリに置き換え，その後，キャッシュメモリとの間でデータの書き込みが行われる。もちろん，読み出しも同じように行われる。
この場合，図８に示す例では，アドレスＡ０〜Ａ２に描画すべきデータが存在するため，その分のデータがキャッシュメモリに書き込まれる。このとき，アドレスＡ３〜Ａ７には書き込むべきデータは存在しない。したがって，キャッシュメモリにデータが書き込まれた３ワード分（Ａ０〜Ａ２）と，そのままの状態で何も書き込みが行われなかった５ワード分（Ａ３〜Ａ７）がメインメモリの描画領域に戻される。これにより，アドレスＡ３〜Ａ７にのみ新たなビットマップデータが描画される。
続いて，次の８ワード分のアドレスＡ８〜Ａ１５がキャッシュメモリに置き換えられ，同じようにしてアドレスＡ８〜Ａ１０にビットマップデータが描画される。このような処理がアドレスＡ１６〜Ａ２３，Ａ２４〜Ａ３１についても同様に行われることでバンド領域Ｂ１に応じたビットマップデータが描画される。このようにバンド領域Ｂ１（図７参照）の中間言語データ１０１に基づいてビットマップデータを描画領域７０に描画する場合は，合計４回のキャッシュ処理が行われることになる。また，図６に示す画像データ４０が例えばＮ個のバンド領域にバンド分割されている場合は，４×Ｎ回のキャッシュ処理が行われることになる。これは，メインメモリの画像領域のアドレスが主走査方向（図８（ａ）の水平方向）へ順次配列されていることに起因する。
しかしながら，本来，描画領域７０にビットマップデータを描画する場合は，データの存在しないアドレス領域（Ａ３〜Ａ７，Ａ１１〜Ａ１５，Ａ１９〜Ａ２３，Ａ２７〜Ａ３１）には予め地肌色（例えば白地色）となるデータ（白色データ）が格納されるため，これらのアドレス領域にはアクセスする必要はなく，描画すべきデータの存在する領域（Ａ０〜Ａ２，Ａ８〜Ａ１０，Ａ１６〜Ａ１８，Ａ２４〜Ａ２６）にのみアクセスしてデータを書き込めば足りるが，従来は，上記したように，主走査方向の一列分のデータ(８ワード分)を一単位としてキャッシュ処理していたため，ＣＰＵはアクセスする必要のないアドレスにもアクセスせざるを得ず，無駄に多くのキャッシュ処理，メモリへのアクセス処理が行われていた。
例えば，横書き文章が表された画像では，左隅から右へ向かって文章が作成されるため，画像の左端部分と右端部分とを較べると，右端部分よりも左端部分において文字が集約している確立が高いことは明白である。したがって，横書き文章の画像等の様に描画すべき画像が集約しているようなデータを縦方向にバンド分割した場合には，左端から主走査方向へ順に処理を行えば，キャッシュ処理の際に，アクセスする必要のない領域へのアクセスが多発することは自明である。
【０００６】
そこで，本発明は上記事情に鑑みてなされたものであり，その目的とするところは，メインメモリなどの描画領域のアドレス配列を変更することによって，中間言語データから生成された出力画像データを上記描画領域に格納する際の演算処理（即ち描画処理）を簡易化することで，総合的に画像処理の速度を向上させることが可能な画像処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明は，所定の言語で記述された１ページ分の印字データ（ＰＤＬデータ）を複数のバンド領域毎のバンド中間言語データに変換し，変換されたバンド中間言語データに基づいて生成されたビットマップデータ等の出力画像データを出力する画像処理装置に適用され，少なくとも一のバンド領域に応じた出力画像データが記憶される描画領域を有するデータ記憶手段を設け，上記描画領域のアドレスを所定の規則に基づいて振り替え，そして，上記バンド中間言語データに基づいて上記出力画像データを生成するとともに該生成された出力画像データをアドレスが振り返られた上記描画領域に１ワード単位で順次格納するように構成される。
一般に，画像処理の際にはキャッシュ処理等の高速データ処理が行われる。そのため，上述の如くアドレスが振り替えられることによって，上記描画領域に出力画像データを格納（描画）する際の描画処理が簡素化される。具体的には，描画処理時に行われる上記高速データ処理の回数が減少する。これにより，上記描画処理が高速化し，総合的に画像処理の速度を高めることが可能となる。
この場合，出力画像データを１ワード単位で上記描画領域の副走査方向に順次並べて格納し得るように，上記描画領域の主走査方向のアドレス配列を副走査方向に振り替えるものであることが好ましい。具体的には，上記描画領域を描画キャンバスと擬制した場合に，描かれる画像の主走査方向へのアドレスの配列を副走査方向への配列に振り替える。上述の如く描画領域のアドレスを振り替えることにより，上記高速データ処理の回数が最小限に減少され，上記描画領域への描画処理がより高速化される。
ここで，上記データ記憶手段よりも記憶容量が小さく高速アクセスが可能なキャッシュメモリ等のデータ高速記憶手段を更に備えてなる場合は，生成された出力画像データを上記データ高速記憶手段の記憶容量分ずつ上記データ高速記憶手段に一時的に格納し，更に上記データ高速記憶手段に格納された出力画像データを上記描画領域に格納するよう構成することが考えられる。このような構成によってキャッシュ処理などの高速データ処理が実現される。その結果，上記描画処理の高速化，画像処理の高速化が具体的に実現される。
【発明の効果】
【０００８】
本発明によれば，描画領域のアドレスが振り替えられるため，描画処理の際に行われるキャッシュ処理等の高速データ処理の回数が減少するなどにより上記描画処理が簡素化される。その結果，上記描画処理が高速化し，総合的に画像処理の速度を高めることが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下添付図面を参照しながら，本発明の実施の形態及び実施例について説明し，本発明の理解に供する。尚，以下の実施の形態及び実施例は，本発明を具体化した一例であって，本発明の技術的範囲を限定する性格のものではない。
ここに，図１は本発明の画像処理装置の一実施形態を示すブロック図，図２は従来のアドレス配列及び本発明のアドレス配列を示すアドレス配列図，図３はメインメモリの描画領域に一のバンド領域Ｂ１に対応する画像が描かれたときのアドレス配列を示すイメージ図，図４は本発明の画像処理装置のメモリ制御部により実行される描画処理の手順の一例を説明するフローチャート，図５は本発明の画像処理装置の実施例を示すブロック図，
図６は印字出力される画像データの一例を示す図，図７はＰＤＬデータがバンド分割された状態を説明するためのイメージ図，図８は従来法によってメインメモリの描画領域に一のバンド領域Ｂ１に対応する画像が描かれたときのアドレス配列を示すイメージ図である。
【００１０】
まず，図１のブロック図を用いて本実施形態に係る画像処理装置の概略構成について説明する。ここに，図１は上記画像処理装置の処理制御系のブロック図である。なお，本発明の画像処理装置としては，プリンタ或いはプリンタ機能を有する複合機（ＭＦＰ）などが該当する。
本発明の画像処理装置は，所定の言語の一例であるＰＤＬ（ページ記述言語）で表現された１ページ分のＰＤＬデータ（印字データに相当）を複数のバンド領域毎のバンド中間言語データに変換し，この変換されたバンド中間言語データに基づいて生成されたビットマップデータ（出力画像データ）を出力する処理を行うものである。
本画像処理装置は，図１に示すように，中間言語変換部１と，メモリ制御部２と，メインメモリ３（データ記憶手段の一例）と，出力バッファ５と，エンジン制御部６とを備えて概略構成される。なお，本実施形態では上記中間言語変換部１はハードロジックなどで構成されたＡＳＩＣ等のハードウェアとして説明するが，例えば，図示しない画像処理制御部（のＣＰＵ）により所定のプログラムに基づいた演算処理がなされることによって上記中間言語変換部１における処理が実現される形態であってもかまわない。
【００１１】
上記中間言語変換部１は，ＬＡＮ等のネットワークに接続されたホストコンピュータ等から転送された１ページ分のＰＤＬデータを受信して，これを複数のバンド領域に分割すると共に，分割された複数のバンド領域を上記ＰＤＬデータの先頭から順次中間言語データに変換する処理を行う。具体的には，転送入力された１ベージ分のＰＤＬデータのすべてを一旦中間言語データに変換して該中間言語変換部１の図示しない内臓メモリに格納し，その後，変換された中間言語データを画像の先頭から順にバンド分割する処理が行われる。
ここで，図６に，左上端に「ＡＢ」，「ＣＤ」の文字のみが縦方向（副走査方向）に並べてＡ４縦サイズ内に描かれた画像データ４０を示す。また，図７には図６の画像データ４０のＰＤＬデータがＡ４縦サイズの縦方向（副走査方向）に分割された複数のバンド領域Ｂ１，Ｂ２，…を示す。以下の実施形態の説明においては，図６に示す画像データ４０のＰＤＬデータが転送され，このＰＤＬデータが図７に示すように分割された複数のバンド領域に対して描画処理を行う例を取り上げて説明する。もちろん，本発明がこのような処理例に限定されることはない。
【００１２】
上記メインメモリ３は，読み書き可能なＤＲＡＭ（Dynamic RAM）やＳＤＲＡＭ（Synchronous DRAM）等の記憶装置である。このメインメモリ３には，上記中間言語変換部１で変換された中間言語データに基づいて生成されるビットマップデータが格納される。したがって，上記メインメモリ３には，生成されたビットマップデータが格納（描画）される描画領域３０（図２，図３参照）が確保されている。なお，ここではデータ記憶手段の一例としてメインメモリ３を例示するが，上記メインメモリ３に代えてＨＤＤなどの大容量記憶媒体を用いてもよい。
この実施形態では，上記中間言語変換部１で分割された複数のバンド領域毎にビットマップデータが生成されて上記描画領域３０に格納される。そのため，上記描画領域３０は少なくとも一のバンド領域に応じたビットマップデータを格納し得る容量があれば足りる。本実施形態では，図２や図３（ａ）のイメージ図に示すように，上記描画領域３０は主走査方向に８ワード，副走査方向に４ワード配列された計３２ワードの容量とする。また，後述するキャッシュ２０ａは８ワードの容量とする。
ここに，図３（ａ）は，メインメモリ３の描画領域３０を描画キャンバスと仮定した場合に該描画領域３０に描かれた一のバンド領域Ｂ１に対応する画像のイメージ図であり，（ｂ）はメインメモリ３における描画領域３０のアドレス配列を示す図である。
【００１３】
上記メモリ制御部２は，中間言語解釈部２１と，アドレス振替部２３（アドレス振替手段の一例）と，これらの各部を制御すると共に上記メインメモリ３へビットマップデータの書き込み（描画，格納）及び読みだしを実行するＣＰＵ２０とを備えて構成される。なお，上記中間言語解釈部２１及び上記ＣＰＵ２０が出力画像データ生成格納手段の一例である。
この実施形態では上記中間言語解釈部２１及び上記アドレス振替部２２はいずれもハードロジック等で構成された回路基板やＩＣとして説明するが，上記各部における処理がＣＰＵ２０によってプログラム処理される処理例であってもよい。
【００１４】
上記ＣＰＵ２０は，メインメモリ３にデータを読み書きする際の処理を高速化するべくキャッシュ処理を実行する。そのため，上記ＣＰＵ２０には，上記メインメモリ３よりも高速アクセス可能で，小容量（８ワード分の容量）のＳＲＡＭ（Static RAM）等のキャッシュメモリ（以下「キャッシュ」と略す。データ高速記憶手段の一例）２０ａが設けられいる。上記キャッシュ２０ａは上記メインメモリ３よりも高速アクセス可能であればよく，したがって，上記メインメモリ３に代えてメモリよりもアクセス速度が遅いＨＤＤを用いた場合は，ＨＤＤよりも高速なＳＲＡＭだけでなく，ＤＲＡＭ，ＳＤＲＡＭ等をキャッシュメモリとして用いることも可能である。
【００１５】
上記中間言語解釈部２１は，上記中間言語変換部１により変換されたバンド領域毎の中間言語データに基づいてビットマップデータを生成する。上記中間言語データがバンド領域Ｂ１（図７参照）のデータである場合は，その中間言語データには「ＡＢ」という画像情報と，バンド領域Ｂ１における上記「ＡＢ」の画像情報の位置情報と，上記「ＡＢ」の画像を除く他の領域である白地部分の情報とが少なくとも含まれているため，この場合は，上記中間言語解釈部２１では，これらの各情報が解釈（解読）されることによってビットマップデータが生成される。
【００１６】
上記アドレス振替部２２は，上記メインメモリ３の描画領域３０のアドレスを所定の規則に基づいて振り替えるアドレス振替処理を行う。このアドレス振替処理は，上記ＣＰＵ２０によりビットマップデータが描画領域３０に描画（格納）される前に実行される。
通常，メインメモリ３の描画領域３０のアドレス配列は，図２（ａ）に示すように，主走査方向（水平方向）へ順次配列されているが，本実施形態では，上記アドレス振替部２３によって，上記描画処理部２２により生成されたビットマップデータを１ワード単位で上記描画領域の副走査方向に順次並べて格納し得るように，上記描画領域３０の主走査方向のアドレス配列が副走査方向に振り替えられる。即ち，図２（ａ）に示すアドレス配列を図２（ｂ）に示すアドレス配列に振り替える処理が行われる。ここに，図２（ａ）は従来例のアドレス配列の描画領域３０を示し，（ｂ）は上記アドレス振替部２３によってアドレスが振り替えられた描画領域３０を示す。
【００１７】
上記アドレス振替部２２によるアドレスの振り替えは，例えば，図３（ｂ）に示すように，チェーンとポインタとを用いた周知のチェーンポインタ方式で行われる。このチェーンポインタ方式では，次にアクセスするアドレスや開始アドレスなどの情報が格納されたデスクリプタ領域をメインメモリ３などの記憶領域に予め用意しておき，このデスクリプタ領域にリンクするポインタを描画領域３０の各アドレスに付けておく。こうすることで，或るアドレスにアクセスした際に，該アクセスに付されたポインタとリンクするデスクリプタ領域の情報を参照することにより次にアクセスするアドレスを決定することができる。このようにしてアドレス間をリンク付けることを「チェーンを張る」という。
この方式を用いることで，例えば上記描画領域３０において，各アドレスに付されたポインタ間に，アドレスＡ０→Ａ４→Ａ８…をたどるようにルール化されたチェーンを張っておけば，ＣＰＵ２０が上記描画領域３０にデータを格納する際にアクセスしたときのアクセス順序は上記ポインタと上記チェーンとにより定められた順序となる。このように描画領域３０へのアクセス順序が変更されることにより，上記描画領域３０のアドレスが見かけの上では図２（ａ）から図２（ｂ），図３（ａ）に示すように振り替えられることになる。
【００１８】
また，上記チェーンポインタ方式に代えて，アクセスするアドレスを変換する下式（１）の関数を用いてもよい。
Ｆ（ｘ）＝Ｇa（ｘ）×ｂ＋Ｈa（ｘ）  …  （１）
ここに，上式（１）において，“Ｆ（ｘ）”はアドレス変換後のアドレス，“ｘ”はＣＰＵ２０が描画領域３０にデータを格納する際にアクセスしようとするアドレス，“ａ”は一のバンド領域に描画される画像データの主走査方向の単位データの配列数，“ｂ”は同副走査方向の単位データの配列数，“Ｇa（ｘ）”はｘをａで除算したときの剰余，“Ｈb（ｘ）”はｘをａで除算したときの商を表す。なお，本実施の形態では，上記単位データは１ワード分の容量のデータを指す。
上記アドレス振替部２２において，上記関数Ｆ（ｘ）が用いられることにより，ＣＰＵ２０が描画領域３０へのデータ格納時にアクセスしようとする際にアクセスしようとするアドレスを上記関数Ｆ（ｘ）で変換することで，アドレスの振り替えが実現する。
例えば，図２に示す４×８ワードの描画領域３０にアクセスする場合の上記関数Ｆ（ｘ）は，ａ＝８，ｂ＝４を代入して下式（２）のように表される。
Ｆ（ｘ）＝Ｇ8（ｘ）×４＋Ｈ8（ｘ）  …  （２）
この式（２）によれば，例えば，上記描画領域３０へアクセスしようとするアドレス（Ａ０〜Ａ３１）が下式（３）のように変換される。
【数１】
2006279141.tif 000003
なお，アドレスの振り替えは前記チェーンポインタ方式や上記関数Ｆ（ｘ）に限らず，他の種々の方式を採用することも可能である。
【００１９】
上記出力バッファ５はＦＩＦＯメモリ等を有し，上記描画領域３０から転送されて来たビットマップデータをその順にエンジン制御部６へ出力するものである。
また，エンジン制御部６は，出力バッファ５から出力されたビットマップデータに従った画像を形成するための制御を行う。
【００２０】
次に，図３，図６及び図７を参照しつつ，図４のフローチャートを用いて，上記メモリ制御部２により実行される描画処理の概略手順の一例について説明する。図中のＳ１０，Ｓ２０，…は処理手順番号（ステップ番号）を示す。処理はＳ１０から開始される。
上述したように，図６に示す画像データ４０のＰＤＬデータがホストＰＣなどから転送され，前記中間言語変換部１（図１参照）で複数のバンド領域Ｂ１，Ｂ２，…に分割されると，この中間言語変換部１は画像先頭のバンド領域Ｂ１から順次中間言語データをメモリ制御部２に出力する。
このようにして中間言語データが出力されると，上記メモリ制御部２では，上記中間言語変換部１からバンド領域Ｂ１の中間言語データ１０１（図７参照）が入力されたかどうかが上記ＣＰＵ２０により判断される（ステップＳ２０）。
そして，上記中間言語データ１０１の入力が確認されると，ＣＰＵ２は前記アドレス振替部２３に指示を与えて，メインメモリ３の描画領域３０のアドレス配列を図２（ｂ）に示すように振り替えさせる（ステップＳ２０）。
その後，入力された中間言語データ１０１が上記ＣＰＵ２０によって，前記中間言語解釈部２１に転送され，この中間言語解釈部２１において，上記中間言語データ１０１に基づいてビットマップデータが作成される（ステップＳ３０）。ここで作成されるビットマップデータは，例えばバンド領域Ｂ１の場合は，その地肌色（白色）の画像データと，「ＡＢ」の画像データである。
【００２１】
上記中間言語解釈部２１で作成されたビットマップデータは，描画領域３０のアドレスＡ０の記憶領域から順次上記ＣＰＵ２０によって描画（格納）する処理が行われる。
この描画処理は以下の手順で行われる。まず，描画領域３０の全アドレスに地肌色（白色）の画像データが格納される。
その後，「ＡＢ」の画像データを描画領域３０に格納するために，１回目のキャッシュ処理が行われる。具体的には，アドレスＡ０から前記キャッシュ２０ａの容量分（この実施形態では８ワード）のアドレスＡ０〜Ａ７がキャッシュ２０ａに一時的に読み込まれ（格納され），このキャッシュ２０ａとの間で画像データＤ１（図３（ａ）参照）の転送が行われる。
従来手法では，描画領域のアドレスは図２（ａ）に示すように主走査方向に配列されていたが，本実施形態では図３（ａ）に示すように副走査方向（縦方向）に配列されているため，キャッシュ２０ａに読み込まれたアドレスＡ０〜Ａ７の全てに対して書き込むべきデータが存在する。したがって，このときは，キャッシュ２０ａに読み込まれたアドレスＡ０〜Ａ７の全てにデータが転送される。なお，このときのキャッシュのヒット率は１００％である。
上記画像データＤ１の転送が終了すると，キャッシュ２０ａ内のデータが描画領域のアドレスＡ０〜Ａ７に戻される。これにより，まず，画像データＤ１が描画領域３０のアドレスＡ０〜Ａ７に描画される。
続いて，２回目のキャッシュ処理が行われる。即ち，次のアドレスＡ８から８ワード分のアドレスＡ８〜Ａ１５がキャッシュ２０ａに読み込まれ，上述と同じようにして，上記キャッシュ２０ａとの間で画像データＤ２（図３（ａ）参照）の転送が行われる。この場合は，アドレスＡ８〜Ａ１１にデータが転送される。なお，このときのキャッシュのヒット率は５０％である。このデータの転送が終了すると，キャッシュ２０ａのデータが描画領域３０のアドレスＡ８〜Ａ１５に戻される。これにより，画像データＤ２が描画領域３０のアドレスＡ８〜Ａ１１に描画される。アドレスＡ１２〜Ａ１５にはデータが転送されないままで戻されるため，当該アドレスには予め描画された白地色の画像データが格納されたままである。
このように，２回のキャッシュ処理によって描画すべき画像「ＡＢ」が描画されるため，ＣＰＵ２０は描画領域３０に対してそれ以上のアクセスをする必要はない。即ち，アドレスＡ１６〜Ａ３１に描画する画像は存在しないためこれらのアドレスに対してアクセスは行われない。したがって，３回目以降のキャッシュ処理は行われない。
このような描画処理がなされることにより，バンド領域Ｂ１に相当するビットマップデータが描画領域３０に描画される。このように，本実施形態では，アドレスが振り替えられた描画領域３０に対してヒット率の高いキャッシュ処理を伴う描画処理が行われるため，従来の様にヒット率の低いキャッシュ処理を多数回（前述した例では４回）行うことなくビットマップデータを描画領域３０に描画（格納）することが可能となる。したがって，その分，描画処理が高速化されることになる。
【００２２】
ステップＳ４０でバンド領域Ｂ１に対応するビットマップデータの描画処理が完了すると，続いて，該描画領域３０内のデータが出力バッファ５へ転送されたかどうかが判断され（Ｓ５０），転送された場合は，次のバンド領域の中間言語データが入力されたかどうかが判断される（Ｓ６０）。ここで次のバンド領域Ｂ２の中間言語データが入力されたと判断されると，ステップＳ２０からの処理が繰り返し行われて，描画すべき画像「ＣＤ」の描画処理が実行される。
このようにして，全てのバンド領域の中間言語データについて描画処理が完了し，中間言語データが入力されなくなると，その後，一連の処理が終了する。
なお，本実施形態で用いた図６の画像データ４０には，バンド領域Ｂ３以降には描画すべき画像が存在しないため，上記ステップＳ２０〜Ｓ４０の処理は省略される。即ち，次のバンド領域の中間言語データが入力された場合であっても，描画すべきデータが存在しないと判断された場合は，ステップＳ２０〜Ｓ４０の処理は行わずに，ステップＳ５０から処理が繰り返される。これにより，描画すべきデータが存在しない場合の無駄なアドレス振替処理等が省略されるため，描画処理速度を高めることができる。
【実施例１】
【００２３】
上述の実施の形態では，描画領域３０に描画（格納）されたビットマップデータの読出処理（出力バッファ５へのデータ出力処理）は，振り替えられたアドレスに従った順序で描画領域３０にアクセスして行われる。即ち，ビットマップデータの描画処理時だけでなく，ビットマップデータの読出処理時においても，振り替えられたアドレス順序で読み出し処理が実施される。
しかし，離れたアドレスにアクセスする処理は，次順又は隣接するアドレスにアクセスする処理よりも処理が複雑であるため，多くの処理時間が必要となる。
この場合は，図５に示すように，メインメモリ３から転送されるビットマップデータをマッピング化するマッピング処理部４を設け，前記ＣＰＵ２０によって上記描画領域３０に張られたチェーンやポインタなどを解除或いは無効化した上で，上記メインメモリ３のアドレスＡ０から順番にビットマップデータを読み出して上記マッピング処理部４へ転送するようにすることが好適である。
なお，上記アドレス振替部２２において，式（１）の関数Ｆ（ｘ）を用いてアドレス振替処理を行った場合は，上記描画領域３０からデータを読み出す際には通常通りアドレスＡ０から順番にビットマップデータを読み出して上記マッピング処理部４へ転送するようにすることが好ましい。
このように構成することにより，メインメモリ３の描画領域３０からの読出処理はチェーンなどに制限されずに先頭アドレスＡ０から順番（Ａ１，Ａ２，…）に読み出だされるため，その処理速度が低下することはない。
上記マッピング処理部４をマッピング回路や内部メモリを備えたＡＳＩＣなどのハードウェアで構成し，このマッピング処理部４に，Ａ０，Ａ１，Ａ２，…の順番で読み出されることによりばらばらにされた１ワード単位の画像片をマッピングさせるようにすれば，ＣＰＵ２０は上記マッピング処理部４にビットマップデータを転送するだけでマッピングがＣＰＵ２０の関与しないところで実行されることになる。したがって，マッピング処理中でもＣＰＵ２０はアドレス振替などの他の処理を行うことができる。そのため，ビットマップデータの読出処理の遅延が生じず，描画処理から読出処理に至る処理速度を高めることが可能となる。
【実施例２】
【００２４】
上述の実施の形態では，左上端に「ＡＢ」，「ＣＤ」の文字のみが縦方向（副走査方向）に並んで描かれた画像データ４０，即ち，左上端に描画すべき画像が集約された画像データ４０を例にとって説明したが，印字出力する画像は常に上記画像データ４０のようなものとは限らない。例えば，主走査方向に伸びる罫線などの横長の画像データが印字出力される場合もあり得る。このような画像データに対しても，アドレスを振り替えて上述のような処理を行うと却ってキャッシュのヒット率が低下する。
そこで，この実施例では，中間言語解釈部２１において入力されて来た中間言語データに含まれる種々の情報に基づいて，描画処理の対象となるバンド領域がどのような画像データであるかを判定し，この判定の結果，バンド領域の画像データが主走査方向に長い罫線のような横長の画像であると判定された場合，即ち，本発明のアドレス振替処理（図４のステップＳ４０参照）が行われると描画処理時のキャッシュ処理回数が多くなるような画像データであると判定された場合は，アドレス振替処理を行わずに従来手法で描画処理を行い，反対に，バンド領域の画像データがある程度集約しており，従来手法ではキャッシュ処理回数が多くなるような画像データであると判定された場合は，上述の実施の形態で説明したアドレス振替処理を行った後に描画処理を行う。
これにより，どのような画像データを描画する場合であっても，描画処理速度を高めることが可能となる。
【図面の簡単な説明】
【００２５】
【図１】本発明の画像処理装置の一実施形態を示すブロック図。
【図２】従来のアドレス配列及び本発明のアドレス配列を示すアドレス配列図。
【図３】メインメモリ３の描画領域３０に一のバンド領域Ｂ１に対応する画像が描かれたときのイメージ図，及びメインメモリ３における描画領域３０のアドレス配列を示す図。
【図４】本発明の画像処理装置のメモリ制御部により実行される描画処理の手順の一例を説明するフローチャート。
【図５】本発明の画像処理装置の実施例を示すブロック図。
【図６】印字出力される画像データの一例を示す図。
【図７】ＰＤＬデータがバンド分割された状態を説明するためのイメージ図。
【図８】従来法によってメインメモリの描画領域７０に一のバンド領域Ｂ１に対応する画像が描かれたときのイメージ図，及びメインメモリにおける描画領域７０のアドレス配列を示す図。
【符号の説明】
【００２６】
１…中間言語変換部
２…メモリ制御部
３…メインメモリ（データ記憶手段の一例）
４…マッピング処理部
５…出力バッファ
６…エンジン制御部
２０…ＣＰＵ
２０ａ…キャッシュメモリ（データ高速記憶手段の一例）
２１…中間言語解釈部
２２…描画処理部
２３…アドレス変換部
３０…描画領域
【図１】
2006279141.tif 000004
【図２】
2006279141.tif 000005
【図３】
2006279141.tif 000006
【図４】
2006279141.tif 000007
【図５】
2006279141.tif 000008
【図６】
2006279141.tif 000009
【図７】
2006279141.tif 000010
【図８】
2006279141.tif 000011