(57)【要約】【課題】  ラスタライズ処理を高速に行う。【解決手段】  ラスタライズ部１５は、描画領域情報が入力されると、描画領域情報の画素数と等しく、かつアドレスが連続した記憶領域を初期化する。続いてラスタライズ部１５は、この連続した記憶領域に描画領域情報を書き込むために、描画領域情報に指定されているアドレスを上述の記憶領域に応じた連続するアドレスに変換する。その後、ラスタライズ部１５は、描画領域情報にこの連続したアドレスで描画領域情報を書き込む。【選択図】        図１
2005141293.tif 000002
【特許請求の範囲】
【請求項１】
ラスタ画像データと、該ラスタ画像データによって表される画像のうちの描画される領域を示す描画領域情報とが入力される入力手段と、
前記入力手段に入力された前記描画領域情報によって示される領域をビットパターンにて記憶する記憶手段と、
前記描画領域情報によって示される領域に含まれる画素数を特定して、前記記憶手段において該画素数と等しいビット数で、かつ、アドレスが連続した記憶領域を初期化するメモリ初期化手段と、
前記描画領域情報によって示される領域に含まれる画素に割り当てられているアドレスを、前記メモリ初期化手段によって初期化される記憶領域に記憶するための連続したアドレスに変換するアドレス変換手段と、
前記メモリ初期化手段により初期化された前記記憶領域に対し、前記アドレス変換手段により変換された前記連続したアドレスを指定して前記描画領域情報を書き込む書込手段と、
前記書込手段により書き込まれた前記描画領域情報と、前記ラスタ画像データとに基づいて描画データを生成して出力する出力手段と
を備えた画像処理装置。
【請求項２】
前記記憶手段におけるデータの書き込みまたは読み出しがバーストモードで行われる請求項１記載の画像処理装置。
【請求項３】
前記入力手段に入力されるラスタ画像データ及び描画領域情報がページ記述言語により記述されている請求項１ないし２記載の画像処理装置。
【請求項４】
請求項１ないし３記載のいずれかの画像処理装置と、
前記出力手段によって出力された描画データに基づき画像を形成する画像形成手段とを備えた画像形成装置。
【請求項５】
コンピュータを、
ラスタ画像データと、該ラスタ画像データによって表される画像のうちの描画される領域を示す描画領域情報とが入力される入力手段と、
前記入力手段に入力された前記描画領域情報によって示される領域をビットパターンにて記憶部に記憶させる記憶手段と、
前記描画領域情報によって示される領域に含まれる画素数を特定して、前記記憶部において該画素数と等しいビット数で、かつ、アドレスが連続した記憶領域を初期化するメモリ初期化手段と、
前記描画領域情報によって示される領域に含まれる画素に割り当てられているアドレスを、前記メモリ初期化手段によって初期化される記憶領域に記憶するための連続したアドレスに変換するアドレス変換手段と、
前記メモリ初期化手段により初期化された前記記憶領域に対し、前記アドレス変換手段により変換された前記連続したアドレスを指定して前記描画領域情報を書き込む書込手段と、
前記書込手段により書き込まれた前記描画領域情報と、前記ラスタ画像データとに基づいて描画データを生成して出力する出力手段と
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ記述言語で記述された印刷データをより高速にラスタライズ処理して出力する画像処理装置に関する。
【背景技術】
【０００２】
高速かつ高画質なデジタル印刷を行うために、ページ記述言語（Page Description Language，以下「ＰＤＬ」と称す）を用いるページプリンタ等の画像形成装置が、電子写真方式等の種々の記録方式において普及している。ＰＤＬで記述された印刷データは、ページ内の画像、図形、文字を表すデータと、ページ上におけるそれらの位置を指定するデータとを有する。このようなＰＤＬで記述された印刷データに基づいて印刷を行うためには、印刷データをビットマップデータに変換するラスタライズという処理が必要となる。
【０００３】
このラスタライズを行う際には、既にラスタ化されたイメージ画像の特定領域をクリッピング（切り抜き）して、この部分のみを表示させたい場合がある。特許文献１にはこのような技術について記載されており、同文献においては、ラスタライズのための画像メモリとクリッピングのためのクリッピング用メモリとを設けて、これらのメモリのアドレスを対応づけて同時に制御するようにしている（以下、これを「従来技術」と称する）。
【０００４】
ところで、画像形成装置には今まで以上に高速化・高画質化が求められており、電子写真方式のページプリンタにおいては、Ｃ（Cyan），Ｍ（Magenta），Ｙ（Yellow），ＢＫ（Black）の４色、或いはそれ以上の色のトナーに対応するラスタデータが必要とされている。ゆえに、画像の１画素当たりを表現するのに要するビット情報も多くなり、いきおい大容量の画像メモリが必要とされている。この要請に応えるために、画像メモリとしてＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）が用いられている。しかし、ＳＤＲＡＭを画像メモリとして用いた場合には、以下のような２つの問題が生じる。
【０００５】
まず第一に、ＳＤＲＡＭはその構造上、蓄積された電荷が徐々にリークしてしまうため、電荷を復帰させるために電圧を印加するリフレッシュという処理を定期的に行う必要がある。リフレッシュ中のメモリに対してはアクセスができず、またメモリの容量が異なればリフレッシュのサイクルも異なる。そのため、メモリとしてＳＤＲＡＭを用いた場合には、メモリ数に応じてアクセス管理やリフレッシュ制御が必要とされ、従来技術のように複数のメモリを同時に制御することが困難となる。
【０００６】
第二に、ＳＤＲＡＭは基本的にバーストモードによるデータ転送（バースト転送）を行っているので、連続していないランダムなアドレスにアクセスする場合には、アクセスによる負荷が高まって転送効率が下がってしまう。このため、書き込みや読み出しを行うデータは、アドレスが連続していることが望ましい。しかし、例えば上述の従来技術に記載されたクリッピング用メモリのように、メモリ上にクリッピング領域を１画素が１ビットに対応するビットパターンで指定するような場合には、クリッピング領域を示すデータのアドレスは隣接する行のアドレスどうしが不連続であり、バースト転送をおこなうことによるメリットは少ない。
これを図１０に示す例を用いて説明する。図１０は、データＡ（８ビット）とデータＢ（８ビット）という２つのデータがメモリに記憶されている場合を示している。このメモリにおいては、実線に示すように１行単位でデータが読み出される。したがって、１回に８個のメモリセル（つまり８ビット）のデータをバースト転送する場合、１行に連続して記憶されているデータＡについては、読み出し開始がアドレスＡ1を選択すると１回で転送が終了にするのに対して、複数行に分割されて記憶されているデータＢは、４つの読み出しアドレスＢ1，アドレスＢ2，アドレスＢ3，アドレスＢ4を選択して４回の転送を行わなければならない。上述のクリッピング領域を示すデータは一般に、ページ上のクリッピング領域にそのまま対応するべく、このデータＢのように複数の行をなしてクリッピングメモリ上に記憶されているので、バーストモードによるデータ転送において非効率的となることは明らかである。
【０００７】
【特許文献１】特開平７−１４７６３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明はこのような背景の下になされたものであり、その目的は、大量のデータに基づいてラスタライズを行う場合であっても、そのラスタライズ処理を高速に行うことが可能な画像形成装置を提供することにある。
【課題を解決するための手段】
【０００９】
上述の課題を解決するために、本発明に係る画像処理装置は、ラスタ画像データと、該ラスタ画像データによって表される画像のうちの描画される領域を示す描画領域情報とが入力される入力手段と、前記入力手段に入力された前記描画領域情報によって示される領域をビットパターンにて記憶する記憶手段と、前記描画領域情報によって示される領域に含まれる画素数を特定して、前記記憶手段において該画素数と等しいビット数で、かつ、アドレスが連続した記憶領域を初期化するメモリ初期化手段と、前記描画領域情報によって示される領域に含まれる画素に割り当てられているアドレスを、前記メモリ初期化手段によって初期化される記憶領域に記憶するための連続したアドレスに変換するアドレス変換手段と、前記メモリ初期化手段により初期化された前記記憶領域に対し、前記アドレス変換手段により変換された前記連続したアドレスを指定して前記描画領域情報を書き込む書込手段と前記書込手段により書き込まれた前記描画領域情報と、前記ラスタ画像データとに基づいて描画データを生成して出力する出力手段とを備える。
また、本発明に係る画像処理装置は、より好ましい態様においては、前記記憶手段におけるデータの書き込みまたは読み出しがバーストモードで行われる。
或いは、本発明に係る画像処理装置は、より好ましい態様においては、前記入力手段に入力されるラスタ画像データ及び描画領域情報がページ記述言語により記述されている。
これにより、画像処理装置はラスタライズ処理を高速に行うことが可能となる。
【００１０】
また、本発明は、上述の画像処理装置と、画像形成装置の出力手段によって出力された描画データに基づき画像を形成する画像形成手段とを備えた画像形成装置として提供することも可能である。
【００１１】
また、本発明は、コンピュータを、ラスタ画像データと、該ラスタ画像データによって表される画像のうちの描画される領域を示す描画領域情報とが入力される入力手段と、前記入力手段に入力された前記描画領域情報によって示される領域をビットパターンにて記憶部に記憶させる記憶手段と、前記描画領域情報によって示される領域に含まれる画素数を特定して、前記記憶部において該画素数と等しいビット数で、かつ、アドレスが連続した記憶領域を初期化するメモリ初期化手段と、前記描画領域情報によって示される領域に含まれる画素に割り当てられているアドレスを、前記メモリ初期化手段によって初期化される記憶領域に記憶するための連続したアドレスに変換するアドレス変換手段と、前記メモリ初期化手段により初期化された前記記憶領域に対し、前記アドレス変換手段により変換された前記連続したアドレスを指定して前記描画領域情報を書き込む書込手段と前記書込手段により書き込まれた前記描画領域情報と、前記ラスタ画像データとに基づいて描画データを生成して出力する出力手段ととして機能させるためのプログラムとして提供することも可能である。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しながら、本発明の一実施形態について詳細に説明する。
（１）構成
図１は、本実施形態に係る画像形成装置１の構成を示したブロック図である。同図に示されているように、画像形成装置１は画像処理装置１０と印刷装置２０とを備える。
印刷装置２０は例えば電子写真方式の印刷装置であり、図示せぬ感光体、帯電装置、露光装置、現像装置、及び転写装置等を備え、画像処理装置１０より出力されたデータに基づいて記録紙等の記録媒体上にＣ，Ｍ，Ｙ，ＢＫの４色のトナーからなる画像を形成する。
【００１３】
画像処理装置１０は、入力ＩＦ（インタフェース）１１と、ＣＰＵ（Central Processing Unit）１２と、ＲＡＭ（Random Access Memoy）１３と、ＲＯＭ（Read Only Memory）１４と、ラスタライズ部１５と、描画メモリ１６と、描画領域情報格納メモリ１７と、出力ＩＦ１８とを備える。
入力ＩＦ１１は外部のコンピュータ等に接続されており、例えばＰｏｓｔＳｃｒｉｐｔ（登録商標）等のＰＤＬで記述された印刷データの入力を受け付ける。ＣＰＵ１２は各種の演算を実行し、画像処理装置１０の各部を制御する。また、ＣＰＵ１２はＰＤＬを解釈し、上述の印刷データから中間コードを生成する。
【００１４】
中間コードには、図形や文字を配置するための情報である描画情報と、配置される画像そのものを示すデータであるラスタ画像データが含まれる。また、描画情報には、上述のラスタ画像データの表示領域を指示する描画領域情報が含まれる。ラスタ画像データは、対応する描画領域情報に記述された内容に従ってクリッピングされる。この、描画領域情報に従ってクリッピングされたラスタ画像データ、すなわち記録紙上に形成される画像そのものを表すラスタ画像データのことを、以下では「描画データ」と称する。
【００１５】
ＲＡＭ１３はＣＰＵ１２の主記憶部であり、ＣＰＵ１２のワーキングエリアとして利用される。上述の中間コードはこのＲＡＭ１３に一時記憶される。ＲＯＭ１４は画像処理装置１０が動作するためのアプリケーションプログラムや各種のデータが記憶されている。ラスタライズ部１５はいわゆるＲＩＰ（Raster Image Processor）の機能を有しており、ＲＡＭ１３とＤＭＡ（Direct Memory Access）転送を行うことによって受け取った中間コードを解釈し、ラスタライズを行う。ラスタライズにおいては、描画領域情報は描画領域情報格納メモリ１７に記憶され、描画データは描画メモリ１６に記憶される。なお、描画領域情報格納メモリ１７にはＳＤＲＡＭが用いられている。また、このＳＤＲＡＭが１回のバースト転送で転送するデータ量は、３２ビットである。
描画領域情報格納メモリ１７に描画領域情報が書き込まれるときには、メモリの初期化が行われる。具体的には、描画領域情報格納メモリ１７のメモリ領域のうち、描画領域情報を書き込む部分のメモリセルの電荷を解放して、当該領域のデータをすべて「０」にする。この動作のことを、以下では便宜的に「データ『０』を書き込む」という表現を用いる。
ラスタライズ部１５においてラスタライズされることにより得られる描画データは、出力ＩＦ１８を介して印刷装置２０に出力される。印刷装置２０はこの描画データに基づいて記録紙上に画像を形成する。
【００１６】
（２）動作例
以上に示された構成のもとで行われる、本実施形態の画像処理装置１０の動作例を説明する。
まず、本動作例の説明に用いられるラスタ画像データと描画領域情報、及びこれらのデータが記憶される描画メモリ１６と描画領域情報格納メモリ１７について、図面を参照しつつ説明する。
【００１７】
図２は、本動作例におけるラスタ画像データと描画領域情報とを示した模式図である。なお、説明の便宜上、本図の縦横の比率は異ならせて示している。
同図において、ラスタ画像データＲは主走査方向（図中横方向）に５０画素、副走査方向（図中縦方向）に４画素、すなわち合計２００画素の画像データである。ラスタ画像データＲの各画素は印刷装置２０で印刷されるための色情報を有しており、この色情報は１画素当たり３２ビットで記述されている。
また、このラスタ画像データＲの描画領域を示す描画領域情報ＣRは、主走査方向及び副走査方向に対してラスタ画像データＲと等しい画素数で示されたデータである。描画領域情報ＣRは１画素当たり１ビットで記述されており、その値が「０」の場合には当該画素のラスタ画像データは出力されず、その値が「１」の場合には当該画素のラスタ画像データは出力されることを意味している。同図においては、領域ＣR0を前者、ＣR1を後者として示している。すなわち本動作例においては、ラスタ画像データＲのうち領域ＣR1に対応した領域のみが印刷されることを意味しており、これが上述した描画データに相当する（以下、描画データＤRと称す）。
なお、以下の説明においては、これらのデータについて、主走査方向に連続した画素の一群を「画素列」と称し、副走査方向に対して順に第１行〜第４行の画素列と称することとする。
【００１８】
図３は、描画メモリ１６に描画データが記憶されている様子を示した模式図である。同図において、描画メモリ１６のメモリ領域は、印刷される記録紙の印刷領域に対応している。すなわち、描画メモリ１６上の任意の位置に記憶された描画データは、記録紙上の対応する位置に対応するサイズで印刷される。
既に述べたように、図２のラスタ画像データＲと描画領域情報ＣRから得られた描画データＤRは、図３に示されるようにクリッピングされて描画領域のみのラスタ画像データとなっている。同図において、描画データＤRの左右に点線で示されている領域が、クリッピングされたことにより印刷されない領域（すなわち図２におけるＣR0）を示している。
【００１９】
図４は、描画領域情報格納メモリ１７を示した模式図である。同図に示されているように、本実施例においては、描画領域情報格納メモリ１７は、横方向、すなわち画像領域情報の主走査方向に２５６個のメモリセルが配置され、同数のメモリセルが縦方向、すなわち画像領域情報の副走査方向に１０行並んでいるメモリである。また、それぞれのメモリセルは１ビットの情報量を有し、これが描画領域情報の「０」または「１」の値に対応する。
また、それぞれのメモリセルのアドレスは、「0x0000」〜「0x09ff」で示される（アドレス「0x0000」の「0x」は、このアドレスが１６進数で表記されていることを示している）。このアドレスは、上位２バイト（上位アドレス）がメモリセルの行方向の位置を示し、下位２バイト（下位アドレス）が列方向の位置を示している。すなわち、同図に示されたメモリの左上端を原点Ｏとしたとき、左上端（第０行第０列）のメモリセルのアドレスが「0x0000」であり、第０行第２５５列のメモリセルのアドレスは「0x00ff」であり、以下同様に、第１行第０列なら「0x0100」、第２行第１列なら「0x0201」というように定められている。
【００２０】
続いて、上述したようなラスタ画像データＲと描画領域情報ＣRとが入力されたときに画像処理装置１０が行う処理について、図面を参照しつつ説明する。
図５は、画像処理装置１０が印刷データを受信し、これを描画データとして印刷装置２０に出力するまでの処理を示したフローチャートである。以下、このフローチャートをもとに、本処理を説明する。
【００２１】
まず、画像処理装置１０には、ＰＤＬで記述された印刷データが入力される。画像処理装置１０内部では、ＣＰＵ１２がこの印刷データを解釈し、描画情報を含む中間コードを生成する（ステップＳ０１）。生成された中間コードはＲＡＭ１３に記憶される。
中間コードがＲＡＭ１３に記憶されると、ラスタライズ部１５がこの中間コードの解釈を行う（ステップＳ０２）。そしてラスタライズ部１５は、中間コード中に記述されている描画情報がラスタ画像データの描画情報であるかどうかを判断する（ステップＳ０３）。ここで、ラスタ画像データの描画情報とは、あるラスタ画像を所定の位置に配置する命令が記述されている情報であり、ラスタ画像データ以外の描画情報とは、例えばある矩形領域を指定してその領域を所定の色で描画させるように、ラスタ画像が含まれない描画についての命令が記述されている情報である。
【００２２】
いま、このステップＳ０３において判断される描画情報が、上述の描画領域情報ＣRであるとする。ラスタライズ部１５はこの描画領域情報ＣRを読み取ると、それがラスタ画像データの描画情報であることを判断して（ステップＳ０３；ＹＥＳ）、描画領域情報格納メモリ１７の初期化を行う（ステップＳ０４）。この初期化の手順は、具体的には以下の通りである。
【００２３】
図６は、描画領域情報格納メモリ１７の初期化の手順を示したフローチャートである。同図に示されているように、まず、ラスタライズ部１５は、描画領域情報ＣRのサイズを特定する（ステップＳ０４１）。上述したように、ラスタ画像データＲは主走査方向に５０画素、副走査方向に４画素の合計２００画素の画像データであるから、描画領域情報ＣRも同様のサイズである。つまり、この描画領域情報ＣRを格納するのに必要な描画領域情報格納メモリ１７のメモリ領域は、２００画素分に相当する２００ビットである。ラスタライズ部１５は描画領域情報格納メモリ１７のうち、アドレスの連続した２００ビットのメモリ領域をこの描画領域情報ＣRを格納するために確保する（ステップＳ０４２）。具体的には、アドレス「0x0000」からアドレス「0x00c7」の２００ビットのメモリ領域である。そして、ラスタライズ部１５は、このようにして確保したアドレス「0x0000」からアドレス「0x00c7」の２００ビットのメモリ領域に「０」のデータを書き込むことで初期化を行う（ステップＳ０４３）。
このように、連続するメモリ領域に対してアクセスを行うことにより、上述の描画領域情報ＣRそのままの形状のビットパターンに従ってアクセスを行う場合よりも高速に処理を完了させることができる。この２つの場合について、連続する３２ビット（１回のバースト転送におけるデータ転送量）のメモリ領域に「０」のデータを書き込む動作を行う回数を比較した場合、連続する２００ビットのメモリ領域に対してであれば、２００÷３２＝６．２５であるから７回の書き込み動作で処理が完了するが、描画領域情報ＣRそのままの形状のビットパターンのメモリ領域に対してであれば、各行に対しては５０÷３２＝１．５６２５であるから２回、これを４行について行えば２×４＝８なので、つまり合計８回の書き込み動作を行わなければ処理が完了しない。
以上のように、連続するメモリ領域に「０」のデータを書き込む初期化を行うことにより、上述の描画領域情報ＣRそのままの形状のビットパターンに従って「０」のデータを書き込む初期化を行う場合に比べ、より高速に初期化を行うことが可能となる。
【００２４】
このように描画領域情報格納メモリ１７の初期化を行ったら、続いてラスタライズ部１５は、描画領域情報格納メモリ１７上の初期化の行われた領域に描画領域情報ＣRを書き込むために、描画領域情報ＣRに対してアドレスシフト演算処理を実行する（ステップＳ０５）。
図７は、ラスタライズ部１５が行うアドレスシフト演算処理を説明するための図である。同図に示されているように、ラスタ画像データＲは原点Ｏから主走査方向に８画素分、副走査方向に１画素分移動した点Ｐから描画されるデータである。描画領域情報ＣRの位置情報はラスタ画像データＲと等しい。そのため、描画領域情報ＣRは、この点Ｐを始点とした５０画素の画素列が副走査方向に４行並んでいる状態となっている。これを便宜的に描画領域情報格納メモリ１７のアドレスで示せば、第１行の画素列はアドレス「0x0107」からアドレス「0x0138」のメモリ領域を占めており、同様に、第２行、第３行、第４行はそれぞれアドレス「0x0207」からアドレス「0x0238」、アドレス「0x0307」からアドレス「0x0338」、アドレス「0x0407」からアドレス「0x0438」のメモリ領域を占めている。
【００２５】
この描画領域情報ＣRのうち、実際に描画領域情報格納メモリ１７にデータが書き込まれるのは領域ＣR1に該当する領域である。上述のステップＳ０４において描画領域情報格納メモリ１７の連続した２００ビット分のメモリ領域には既に「０」が書き込まれているから、あとはこの領域ＣR1に該当する領域に「１」を書き込むことにより、描画領域情報格納メモリ１７上に描画領域情報ＣRを表現することができることになる。そこでラスタライズ部１５は、描画領域情報格納メモリ１７の連続した２００ビット分のメモリ領域のうちの領域ＣR1に該当する領域のデータを書き込むために、以下のような演算を行う。
ラスタライズ部１５は、領域ＣR1に該当するアドレス「0x0109」からの連続した３０ビットの領域のデータに対し、第１行の画素列が描画領域情報格納メモリ１７の先頭に記憶されるようなアドレスシフト演算処理を行う。すなわち、これは第１行第０列のメモリ領域のアドレスが「0x0107」から「0x0000」に変換されるような処理であるから、領域ＣR1に該当するアドレス「0x0109」，「0x010a」，「0x010b」，…，「0x0126」のデータは、それぞれのアドレスに対して0x0107との差分を取る要領で、アドレス「0x0102」，「0x0103」，「0x0104」，…，「0x011f」というように変換される。このときラスタライズ部１５は、変換前の画素列の先頭に当たるアドレス「0x0107」と、画素列全体が占めるメモリ上のサイズ（５０ビット）とを記憶する。
【００２６】
上述のアドレスシフト演算処理が終了したら、ラスタライズ部１５は、このアドレスシフト演算処理が終了したデータ（第１行の画素列に相当する描画領域情報）を描画領域情報格納メモリ１７に書き込む（ステップＳ０６）。具体的には、ラスタライズ部１５は、上述の第１行の画素列に相当する描画領域情報のうち、領域ＣR1に対応する部分のメモリ領域に「１」を書き込む。ここにおいて、アドレス「0x0000」からアドレス「0x0031」の５０ビットのメモリ領域には、第１行の画素列に相当する描画領域情報によって示される「０」または「１」のデータが書き込まれる。
【００２７】
その後、ラスタライズ部１５は、次の描画領域情報があるかどうかを判断する（ステップＳ０７）。上述の第１行の画素列に相当する分の描画領域情報を書き込んだ後であれば、その次には第２行の画素列に相当する分の描画領域情報があるため、この判断は肯定的となる（ステップＳ０７；ＹＥＳ）。この場合、上述のステップＳ０５とステップＳ０６の処理を繰り返す。なお、第２行の画素列は、第１行の画素列と連続するように記憶されるため、ラスタライズ部１５はこの画素列の左端が第１行の画素列の右端に隣接するようなアドレスシフト演算処理を行う。すなわちラスタライズ部１５は、第２行第０列のメモリ領域のアドレスが「0x0207」から「0x0032」に変換されるような処理を領域ＣR1に該当する領域のアドレスに対して実行する。そしてラスタライズ部１５は、シフト後のメモリ領域に第２行の画素列に相当する描画領域情報によって示される「０」または「１」のデータを書き込む。
【００２８】
ラスタライズ部１５は、このようなアドレスシフト演算とメモリへの書き込みを、読み込むべき描画領域情報がなくなるまで繰り返す。すなわち描画領域情報ＣRを例とすれば、ラスタライズ部１５は第４行の画素列に相当する描画領域情報をすべて描画領域情報格納メモリ１７に書き込むまで、ステップＳ０５とステップＳ０６の処理を繰り返す。
【００２９】
そして、書き込むべき描画領域情報がなくなったら（ステップＳ０７；ＮＯ）、続いてラスタライズ部１５は、描画メモリ１６に描画データを書き込むために、まずラスタ画像データを読み出し（ステップＳ０８）、続いて描画領域情報格納メモリ１７に書き込まれている、読み出したラスタ画像データに対応する描画領域情報を行単位で読み出す（ステップＳ０９）。このとき、上述のステップＳ０５においてアドレスシフト演算処理を行った描画領域情報をラスタ画像データと対応させるために、ラスタライズ部１５は上述のアドレスシフト演算処理と逆の処理を行う。すなわちこの処理は、ステップＳ０４で初期化を行ったメモリ領域に記憶されている描画領域情報のアドレスを、もとのアドレス、つまりラスタ画像データの位置に応じたアドレスに復元する処理である。以下、これを描画領域情報ＣRを例に説明する。
【００３０】
ラスタライズ部１５は、ＣＰＵ１２から描画領域情報ＣRの読み出し要求を受け付ける。この読み出し要求における描画領域情報のアドレスは、ラスタ画像データＲを描画メモリ１６に書き込むためのアドレス、すなわちアドレスを変換する前の描画領域情報ＣRのアドレス（図７の「処理前」に相当）である。ラスタライズ部１５はそのままのアドレスによって描画領域情報格納メモリ１７の内容を読み出すことはできないから、これを描画領域情報格納メモリ１７に記憶された内容に対応づけられるような処理を行う。具体的には、ＣＰＵ１２から要求されたアドレスとステップＳ０５において記憶した画素列の先頭のアドレス（0x0107）との差分を取る。このように算出された差分の値は、描画領域情報格納メモリ１７に定義されたアドレスと一致する。例えば、ＣＰＵ１２から要求されたアドレスが画素列の先頭のアドレス「0x0107」であれば、この値とステップＳ０５で記憶された「0x0107」の差分は当然「0x0000」であり、この値は描画領域情報格納メモリ１７における画素列の先頭のアドレス「0x0000」と一致する。
ラスタライズ部１５は、このような処理を各行の５０ビットの画素列に対してそれぞれ実行することにより、描画領域情報ＣRを読み出す。
【００３１】
なお、このとき、データはバースト転送により読み出されるべく、１回に３２ビットずつ読み出される。各行の画素列に相当する描画領域情報は５０ビットであるから、単純にそれぞれの行の描画領域情報を読み出そうとすれば各行２回ずつ、すなわち４行なら８回のデータ転送が必要である。しかし、前述したように、各行の描画領域情報のアドレスが連続していることから、ラスタライズ部１５は各行の描画領域情報を読み出す際に、次の行の描画領域情報の一部をあらかじめ読み出しておくことができ、これによりデータの転送回数を減らすことが可能である。これを図を用いて説明する。
図８はラスタライズ部１５による描画領域情報ＣRの読み出し動作を説明するための図である。同図に示されているように、第１行の描画領域情報を読み出す際には、２回のバースト転送を行う必要がある。しかし、第１行の描画領域情報が５０ビットであるのに対して１回のデータ転送量が３２ビットであることから、２回目のデータ転送時には３６ビット分の余裕があることになる。この部分を用いて、ラスタライズ部１５は第２行の画素領域情報の先頭から３６ビット分をあらかじめ読み出しておき、これを一時記憶しておく。このような処理を順次繰り返すことにより、合計７回の転送回数で描画領域情報ＣRの全体を読み出すことができ、データの転送効率を上げることが可能となる。
【００３２】
このようにアドレスシフト演算処理実行前の描画領域情報が得られたら、ラスタライズ部１５はこれらのラスタ画像データと描画領域情報とに基づいて、描画メモリ１６に描画データを書き込む（ステップＳ１０）。
図９はラスタライズ部１５による描画メモリ１６への書き込み処理を説明するためのフローチャートである。同図に示されているように、まず、ラスタライズ部１５は、描画領域情報を１ビットずつ読み出していき、対応するメモリ領域に「１」が書き込まれている画素、すなわち表示すべき画素であるかどうかを判断する（ステップＳ１０１）。そして、値が「１」であれば（ステップＳ１０１；ＹＥＳ）、ラスタライズ部１５はラスタ画像データの該当する画素のデータを描画メモリ１６に書き込み（ステップＳ１０２）、「０」であれば（ステップＳ１０１；ＮＯ）、該当する画素部分には何も書き込まない。ラスタライズ部１５は、データ末尾、すなわち各行の末尾の描画領域情報を走査するまでこの動作を繰り返し（ステップＳ１０３；ＮＯ）、データ末尾に達したら（ステップＳ１０３；ＹＥＳ）、本処理を終了して図５のフローチャートのステップＳ１１へと進む。
【００３３】
続いて、ラスタライズ部１５は次に読み出すべき描画領域情報が存在するかどうかを判断する（ステップＳ１１）。描画領域情報ＣRを例に説明すると、第１行〜第３行の描画領域情報を読み出した後でのステップＳ１１の判断においては、次に読み出すべき行の描画領域情報が存在するので（ステップＳ１１；ＹＥＳ）、ラスタライズ部１５はステップＳ０８以降の処理を繰り返すことによって描画領域情報の描画メモリ１６への書き込みを行う。一方、第４行の描画領域情報を読み出した後でのステップＳ１１の判断においては、描画メモリ１６には描画データＤR全体が書き込まれたので、次に読み出すべき行の描画領域情報が存在しない（ステップＳ１１；ＮＯ）。そのため、ラスタ画像データＲに対する処理はここで終了し、続いてラスタライズ部１５は次の描画情報があるかどうかを判断し（ステップＳ１２）、次の描画情報が存在すれば（ステップＳ１２；ＹＥＳ）、その描画情報に対してもステップＳ０２以降の処理を繰り返す。
【００３４】
なお、上述の説明は、ステップＳ０３において中間コード中に記述されている描画情報がラスタ画像データの描画情報であった場合について述べているが、中間コード中に記述されている描画情報がラスタ画像データ以外の描画情報であった場合には、ラスタ画像データとの対応付けが不要であるので、ラスタライズ部１５はその描画情報に応じたデータを描画メモリ１６に書き込む（ステップＳ１４）。
【００３５】
このような処理を繰り返し、中間コード中に記述された全ての描画情報を描画メモリ１６に書き込んだら（ステップＳ１２；ＮＯ）、ラスタライズ部１５は、描画メモリ１６に記憶されている描画データを出力ＩＦ１８を介して印刷装置２０へと出力し（ステップＳ１３）、本処理を終了する。
【００３６】
以上に示されたように動作することで、本実施形態の画像処理装置１０は、描画領域情報格納メモリ１７にＳＤＲＡＭを用いた場合に高速なラスタライズ処理を行うことが可能となる。また、上述の説明から明らかなように、本実施形態のように画像処理装置１０を動作させれば２つのメモリを同時制御させる必要もなくなるから、前述した従来技術においてＳＤＲＡＭを用いた場合に懸念される問題も解消する。
【００３７】
（３）変形例
なお、本発明は上述の実施形態に限定されず、以下に示されるような種々の変形が可能である。
まず、上述の実施形態は、本発明の理解を容易ならしめるためにラスタ画像データＲと描画領域情報ＣRを用いて説明したが、ラスタ画像データと描画領域情報とが上述の例に限定されないのは言うまでもない。例えば、ラスタ画像データは上述のような矩形の画像に限定されず、同様に描画領域情報もさまざまな形状のクリッピング領域に対応することが可能である。
【００３８】
また、装置構成についても、勿論上述の実施形態に限定されることはない。例えば、上述の実施形態においては画像処理装置１０が画像形成装置１の内部に備わっている構成としたが、この他にも、外部のコンピュータに画像処理装置２０と同等の機能を有する装置を備え、コンピュータが画像形成装置に描画データを出力することで画像形成を行うような構成においても、本発明を適用することは可能である。
【００３９】
さらには、上述の動作例についても、種々の変形が可能である。例えば、画像処理装置１０に描画データを圧縮する圧縮手段を設け、描画データを圧縮してから印刷装置２０に出力しても良い。このような態様は、特に画像処理装置１０と印刷装置２０との間のデータ転送速度が低い場合に効果的である。
また、上述の動作例においては、画像処理装置１０が描画メモリ１６にページ全体の画像イメージを構成してから印刷装置１０に出力する態様にて説明したが、本発明の実施はこのような態様に限定されるものではない。例えば、ページ全体の描画データをある所定の矩形領域に分割し、この領域をひとつの単位として画像イメージを構成して画像形成を行う、いわゆるバンディング技術を用いた画像形成においても本発明を適用することが可能である。
【００４０】
また、本発明は、図１に示されるハードウェア構成にて実行されるものとして説明したが、ラスタライズ部１５が実行する諸機能は、ＣＰＵ１２がＲＯＭ１４等に記憶されたプログラムを実行することによって実現されることも可能である。
【図面の簡単な説明】
【００４１】
【図１】本実施形態に係る画像形成装置の構成を示したブロック図である。
【図２】同実施形態の一動作例におけるラスタ画像データと描画領域情報とを示した模式図である。
【図３】同実施形態における描画メモリを示した模式図である。
【図４】同実施形態における描画領域情報格納メモリを示した模式図である。
【図５】同実施形態において画像処理装置が印刷データを受信し、これを描画データとして印刷装置に出力するまでの処理を示したフローチャートである。
【図６】同実施形態における描画領域情報格納メモリの初期化の手順を示したフローチャートである。
【図７】同実施形態においてラスタライズ部が行うアドレスシフト演算処理を説明するための図である。
【図８】同実施形態におけるラスタライズ部による描画領域情報の読み出し動作を説明するための図である。
【図９】同実施形態におけるラスタライズ部による描画メモリへの書き込み処理を説明するためのフローチャートである。
【図１０】バーストモードによるデータ転送を説明するための図である。
【符号の説明】
【００４２】
１…画像形成装置、１０…画像処理装置、２０…印刷装置、１１…入力ＩＦ、１２…ＣＰＵ、１３…ＲＡＭ、１４…ＲＯＭ、１５…ラスタライズ部、１６…描画メモリ、１７…描画領域情報格納メモリ、１８…出力ＩＦ。
【図１】
2005141293.tif 000003
【図２】
2005141293.tif 000004
【図３】
2005141293.tif 000005
【図４】
2005141293.tif 000006
【図５】
2005141293.tif 000007
【図６】
2005141293.tif 000008
【図７】
2005141293.tif 000009
【図８】
2005141293.tif 000010
【図９】
2005141293.tif 000011
【図１０】
2005141293.tif 000012