JP4116997B2 - Image processing device - Google Patents

Image processing device Download PDF

Info

Publication number
JP4116997B2
JP4116997B2 JP2005090687A JP2005090687A JP4116997B2 JP 4116997 B2 JP4116997 B2 JP 4116997B2 JP 2005090687 A JP2005090687 A JP 2005090687A JP 2005090687 A JP2005090687 A JP 2005090687A JP 4116997 B2 JP4116997 B2 JP 4116997B2
Authority
JP
Japan
Prior art keywords
data
address
drawing area
image data
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005090687A
Other languages
Japanese (ja)
Other versions
JP2006279141A (en
Inventor
嘉浩 長田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2005090687A priority Critical patent/JP4116997B2/en
Publication of JP2006279141A publication Critical patent/JP2006279141A/en
Application granted granted Critical
Publication of JP4116997B2 publication Critical patent/JP4116997B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は,1ページ分の印字データがバンド分割された複数のバンド領域を中間言語データに変換し,該変換された各バンド領域ごとの中間言語データに応じた出力画像データを順次生成して出力する画像処理装置に関し,特に,中間言語データから生成された出力画像データをメインメモリなどの描画領域に格納する際の演算処理(即ち描画処理)を簡易化することで,総合的に画像処理の速度を向上させることが可能な画像処理装置に関するものである。   The present invention converts a plurality of band areas obtained by band-dividing print data for one page into intermediate language data, and sequentially generates output image data corresponding to the intermediate language data for each converted band area. In particular, the image processing apparatus for output is comprehensively simplified by simplifying arithmetic processing (ie, drawing processing) when storing output image data generated from intermediate language data in a drawing area such as a main memory. The present invention relates to an image processing apparatus capable of improving the speed of the image.

従来,プリンタ等の画像処理装置においては,ホストコンピュータ(以下「ホストPC」と称す)から転送された1ページ分のPDLデータ(PDL:ページ記述言語(Page Description Language))を受け取り,このPDLデータを中間言語に変換し,そして変換された中間言語を解釈しながらビットマップデータなどの出力画像データを生成して,画像形成制御部(エンジン制御部)に出力することにより画像形成(印刷)が行われる。このようなデータの処理方式は電子写真方式のプリンタ(レーザープリンタやLEDプリンタ等)などに採用されている。なお,かかるプリンタをページプリンタと総称する。
このようなページプリンタにおいては,PDLデータから生成される1ページ分のビットマップデータを記憶するだけの容量を有するメインメモリを最低条件として備えておく必要があるが,画像データの高解像度化に伴い上記メインメモリも大容量のものが必要となってきている。
2. Description of the Related Art Conventionally, an image processing apparatus such as a printer receives one page of PDL data (PDL: Page Description Language) transferred from a host computer (hereinafter referred to as “host PC”), and this PDL data Is converted into an intermediate language, and output image data such as bitmap data is generated while interpreting the converted intermediate language, and output to the image formation control unit (engine control unit), thereby enabling image formation (printing). Done. Such a data processing method is employed in electrophotographic printers (laser printers, LED printers, etc.). Such printers are collectively referred to as page printers.
In such a page printer, it is necessary to provide a main memory having a capacity enough to store bitmap data for one page generated from PDL data as a minimum condition. Accordingly, the main memory is required to have a large capacity.

一方,上記メインメモリの容量を低減する手法の一つにバンド分割方式がある(特許文献1の従来技術の欄を参照)。ここで,図6及び図7を参照しながら,ホストPCで作成された図6に示す1ページ分の画像データ40をプリンタに印字出力することを想定して,上記バンド分割方式を採用した場合の画像処理について簡単に説明する。ここに,図6に示される画像データ40は印字出力される画像データの一例であって,左上端に「AB」,「CD」の文字が縦方向(副走査方向)に並べて描かれた画像データである。また,図7はPDLデータがバンド分割された状態を説明するためのイメージ図である。なお,図6に示す画像データ40はA4縦サイズの画像データであるが,その下部を省略して表している。
上記画像データ40がホストPC側でPDLデータに変換されてプリンタに転送されると,プリンタ側では,転送されて来たPDLデータが中間言語に変換される。さらに,この変換された中間言語データが図7に示すように複数のバンド領域(帯状領域)B1,B2,…に分割される。そして,各バンド領域毎に順次ビットマップデータが生成されて,順次メインメモリの描画領域に描かれ(格納され),この描画領域に格納されたバンド単位のビットマップデータが順次読み出されて,印字出力される。
このように,上記バンド分割方式を用いた場合は,上記メインメモリの容量を少なくともバンド領域に相当する容量に低減することができる。
また,特許文献1には,上記バンド分割方式を改良して,バンド分割されたバンド領域を更にバンド分割してサブバンド領域を作成し,このサブバンド領域毎に順次処理を行う方式が開示されている。
特開2001−249774号公報
On the other hand, there is a band division method as one of the methods for reducing the capacity of the main memory (see the prior art column in Patent Document 1). Here, referring to FIGS. 6 and 7, assuming that the image data 40 for one page shown in FIG. 6 created by the host PC is printed out to the printer, the above band division method is adopted. The image processing will be briefly described. Here, the image data 40 shown in FIG. 6 is an example of image data to be printed out, and is an image in which characters “AB” and “CD” are arranged in the vertical direction (sub-scanning direction) at the upper left corner. It is data. FIG. 7 is an image diagram for explaining a state where the PDL data is divided into bands. The image data 40 shown in FIG. 6 is A4 vertical size image data, but the lower part thereof is omitted.
When the image data 40 is converted into PDL data on the host PC side and transferred to the printer, the transferred PDL data is converted into an intermediate language on the printer side. Further, the converted intermediate language data is divided into a plurality of band regions (band-like regions) B1, B2,... As shown in FIG. Then, bitmap data is sequentially generated for each band area, and is sequentially drawn (stored) in the drawing area of the main memory, and the bitmap data in band units stored in this drawing area is sequentially read, Printed out.
Thus, when the band division method is used, the capacity of the main memory can be reduced to at least the capacity corresponding to the band region.
Further, Patent Document 1 discloses a method of improving the above-described band division method, further subdividing a band region obtained by band division into subband regions, and sequentially performing processing for each subband region. ing.
JP 2001-249774 A

ところで,メインメモリに対してデータを読み書きする際には,データ処理の高速化を実現するため,一般に,メインメモリよりも高速アクセス可能なキャッシュメモリを用いて周知のキャッシュ処理が行われる。
しかしながら,上述のバンド分割方式を採用した場合,後述するように,メインメモリにビットマップデータを描画(格納)する際のキャッシュ処理の処理回数が多くなるため,描画処理速度の高速化が妨げられるという問題が生じていた。
By the way, when reading / writing data from / to the main memory, in order to realize high-speed data processing, generally known cache processing is performed using a cache memory that can be accessed at a higher speed than the main memory.
However, when the above band division method is adopted, as described later, since the number of times of cache processing when rendering (storing) bitmap data in the main memory increases, it is difficult to increase the rendering processing speed. There was a problem.

例えば,図8に示すメインメモリの描画領域70(アドレスA0〜A31の記憶領域)にバンド領域B1(図7参照)の中間言語データ101に基づき生成されるビットマップデータを描画する場合を想定する。ここで,描画領域70における一のアドレス(メモリ番地)の記憶領域は1ワード分の容量とする。即ち,上記描画領域70を32ワードの記憶領域と仮定する。また,キャッシュメモリを8ワード分の容量と仮定する。ここに,図8(a)はメインメモリの描画領域70を描画キャンバスと仮定した場合に該描画領域70に描かれたバンド領域B1に対応する画像のイメージ図,(b)はメインメモリにおける描画領域70のアドレス配列を示す図である。
通常,上記キャッシュ処理は,データの読み書きの際に一度アクセスしたアドレスの近くのアドレスに再度アクセスする可能性が高いという性質を利用している。例えば,アドレスA0にデータを書き込むために該アドレスA0にアクセスした場合は,そのアドレスA0以降の8ワード分(キャッシュメモリの容量分)の記憶領域A0〜A7を一単位としてキャッシュメモリに置き換え,その後,キャッシュメモリとの間でデータの書き込みが行われる。もちろん,読み出しも同じように行われる。
この場合,図8に示す例では,アドレスA0〜A2に描画すべきデータが存在するため,その分のデータがキャッシュメモリに書き込まれる。このとき,アドレスA3〜A7には書き込むべきデータは存在しない。したがって,キャッシュメモリにデータが書き込まれた3ワード分(A0〜A2)と,そのままの状態で何も書き込みが行われなかった5ワード分(A3〜A7)がメインメモリの描画領域に戻される。これにより,アドレスA3〜A7にのみ新たなビットマップデータが描画される。
続いて,次の8ワード分のアドレスA8〜A15がキャッシュメモリに置き換えられ,同じようにしてアドレスA8〜A10にビットマップデータが描画される。このような処理がアドレスA16〜A23,A24〜A31についても同様に行われることでバンド領域B1に応じたビットマップデータが描画される。このようにバンド領域B1(図7参照)の中間言語データ101に基づいてビットマップデータを描画領域70に描画する場合は,合計4回のキャッシュ処理が行われることになる。また,図6に示す画像データ40が例えばN個のバンド領域にバンド分割されている場合は,4×N回のキャッシュ処理が行われることになる。これは,メインメモリの画像領域のアドレスが主走査方向(図8(a)の水平方向)へ順次配列されていることに起因する。
しかしながら,本来,描画領域70にビットマップデータを描画する場合は,データの存在しないアドレス領域(A3〜A7,A11〜A15,A19〜A23,A27〜A31)には予め地肌色(例えば白地色)となるデータ(白色データ)が格納されるため,これらのアドレス領域にはアクセスする必要はなく,描画すべきデータの存在する領域(A0〜A2,A8〜A10,A16〜A18,A24〜A26)にのみアクセスしてデータを書き込めば足りるが,従来は,上記したように,主走査方向の一列分のデータ(8ワード分)を一単位としてキャッシュ処理していたため,CPUはアクセスする必要のないアドレスにもアクセスせざるを得ず,無駄に多くのキャッシュ処理,メモリへのアクセス処理が行われていた。
例えば,横書き文章が表された画像では,左隅から右へ向かって文章が作成されるため,画像の左端部分と右端部分とを較べると,右端部分よりも左端部分において文字が集約している確立が高いことは明白である。したがって,横書き文章の画像等の様に描画すべき画像が集約しているようなデータを縦方向にバンド分割した場合には,左端から主走査方向へ順に処理を行えば,キャッシュ処理の際に,アクセスする必要のない領域へのアクセスが多発することは自明である。
For example, a case is assumed where bitmap data generated based on the intermediate language data 101 of the band area B1 (see FIG. 7) is drawn in the drawing area 70 (storage area of addresses A0 to A31) of the main memory shown in FIG. . Here, the storage area of one address (memory address) in the drawing area 70 has a capacity of one word. That is, the drawing area 70 is assumed to be a 32-word storage area. Further, it is assumed that the cache memory has a capacity of 8 words. 8A is an image diagram of an image corresponding to the band area B1 drawn in the drawing area 70 when the drawing area 70 in the main memory is assumed to be a drawing canvas, and FIG. 8B is a drawing area in the main memory. It is a figure which shows the address arrangement | sequence of 70. FIG.
Normally, the cache process uses the property that there is a high possibility that an address near the address that has been accessed once will be accessed again when data is read or written. For example, when the address A0 is accessed in order to write data to the address A0, the storage areas A0 to A7 for 8 words (the capacity of the cache memory) after the address A0 are replaced with the cache memory as a unit, and thereafter , Data is written to and from the cache memory. Of course, reading is performed in the same manner.
In this case, in the example shown in FIG. 8, since there is data to be drawn at addresses A0 to A2, the corresponding data is written into the cache memory. At this time, there is no data to be written at addresses A3 to A7. Therefore, three words (A0 to A2) in which data is written in the cache memory and five words (A3 to A7) in which no data is written in the same state are returned to the drawing area of the main memory. As a result, new bitmap data is drawn only at addresses A3 to A7.
Subsequently, the addresses A8 to A15 for the next eight words are replaced with the cache memory, and the bitmap data is drawn at the addresses A8 to A10 in the same manner. Such processing is similarly performed for the addresses A16 to A23 and A24 to A31, so that bitmap data corresponding to the band area B1 is drawn. In this way, when bitmap data is drawn in the drawing area 70 based on the intermediate language data 101 of the band area B1 (see FIG. 7), a total of four cache processes are performed. Further, when the image data 40 shown in FIG. 6 is divided into, for example, N band areas, 4 × N cache processes are performed. This is because the addresses of the image areas of the main memory are sequentially arranged in the main scanning direction (horizontal direction in FIG. 8A).
However, when bitmap data is originally drawn in the drawing area 70, a background color (for example, a white background color) is previously stored in the address areas (A3 to A7, A11 to A15, A19 to A23, and A27 to A31) where no data exists. Since these data (white data) are stored, it is not necessary to access these address areas, and areas where data to be drawn exist (A0 to A2, A8 to A10, A16 to A18, A24 to A26). However, as described above, since data for one column (8 words) in the main scanning direction is cached as a unit as described above, the CPU does not need to access the data. There was no choice but to access the address, and a lot of useless cache processing and memory access processing were performed.
For example, in an image with horizontal writing, the text is created from the left corner to the right. Therefore, when the left and right edge portions of the image are compared, characters are gathered at the left edge portion rather than the right edge portion. It is clear that is high. Therefore, when data such as images of horizontal text that are to be drawn is aggregated in the vertical direction, if the processing is performed in order from the left end to the main scanning direction, the cache processing can be performed. It is obvious that there are many accesses to areas that do not need to be accessed.

そこで,本発明は上記事情に鑑みてなされたものであり,その目的とするところは,メインメモリなどの描画領域のアドレス配列を変更することによって,中間言語データから生成された出力画像データを上記描画領域に格納する際の演算処理(即ち描画処理)を簡易化することで,総合的に画像処理の速度を向上させることが可能な画像処理装置を提供することにある。   Accordingly, the present invention has been made in view of the above circumstances, and the object of the present invention is to change output image data generated from intermediate language data by changing the address array of a drawing area such as a main memory. An object of the present invention is to provide an image processing apparatus capable of comprehensively improving the speed of image processing by simplifying arithmetic processing (that is, drawing processing) when storing in a drawing area.

上記目的を達成するために本発明は,所定の言語で記述された1ページ分の印字データ(PDLデータ)を複数のバンド領域毎のバンド中間言語データに変換し,変換されたバンド中間言語データに基づいて生成されたビットマップデータ等の出力画像データを出力する画像処理装置に適用され,少なくとも一のバンド領域に応じた出力画像データが記憶される描画領域を有するデータ記憶手段を設け,上記描画領域のアドレスを所定の規則に基づいて振り替え,そして,上記バンド中間言語データに基づいて上記出力画像データを生成するとともに該生成された出力画像データをアドレスが振り替えられた上記描画領域に1ワード単位で順次格納するように構成される。
一般に,画像処理の際にはキャッシュ処理等の高速データ処理が行われる。そのため,上述の如くアドレスが振り替えられることによって,上記描画領域に出力画像データを格納(描画)する際の描画処理が簡素化される。具体的には,描画処理時に行われる上記高速データ処理の回数が減少する。これにより,上記描画処理が高速化し,総合的に画像処理の速度を高めることが可能となる。
この場合,出力画像データを1ワード単位で上記描画領域の副走査方向に順次並べて格納し得るように,上記描画領域の主走査方向のアドレス配列を副走査方向に振り替えるものであることが好ましい。具体的には,上記描画領域を描画キャンバスと擬制した場合に,描かれる画像の主走査方向へのアドレスの配列を副走査方向への配列に振り替える。上述の如く描画領域のアドレスを振り替えることにより,上記高速データ処理の回数が最小限に減少され,上記描画領域への描画処理がより高速化される。
ここで,上記データ記憶手段よりも記憶容量が小さく高速アクセスが可能なキャッシュメモリ等のデータ高速記憶手段を更に備えてなる場合は,生成された出力画像データを上記データ高速記憶手段の記憶容量分ずつ上記データ高速記憶手段に一時的に格納し,更に上記データ高速記憶手段に格納された出力画像データを上記描画領域に格納するよう構成することが考えられる。このような構成によってキャッシュ処理などの高速データ処理が実現される。その結果,上記描画処理の高速化,画像処理の高速化が具体的に実現される。
To achieve the above object, the present invention converts print data (PDL data) for one page described in a predetermined language into band intermediate language data for each of a plurality of band areas, and the converted band intermediate language data Applied to an image processing apparatus that outputs output image data such as bitmap data generated based on the above, and provided with data storage means having a drawing area in which output image data corresponding to at least one band area is stored, transfer based address of the drawing area to a predetermined rule, and, 1 to the drawing area address output image data the generated was replaced swing as to generate the output image data based on the band intermediate language data It is configured to store sequentially in units of words.
In general, high-speed data processing such as cache processing is performed during image processing. Therefore, the drawing process when the output image data is stored (drawn) in the drawing area is simplified by changing the address as described above. Specifically, the number of high-speed data processes performed during the drawing process is reduced. As a result, the drawing process can be speeded up, and the image processing speed can be increased overall.
In this case, it is preferable that the address array in the main scanning direction of the drawing area is changed in the sub-scanning direction so that the output image data can be sequentially arranged and stored in the sub-scanning direction of the drawing area in units of one word. Specifically, when the drawing area is assumed to be a drawing canvas, the array of addresses in the main scanning direction of the drawn image is changed to the array in the sub-scanning direction. By changing the address of the drawing area as described above, the number of high-speed data processes is reduced to the minimum, and the drawing process in the drawing area is further accelerated.
Here, in the case of further comprising a data high-speed storage means such as a cache memory having a storage capacity smaller than that of the data storage means and capable of high-speed access, the generated output image data is stored for the storage capacity of the data high-speed storage means. It is conceivable that the image data is stored temporarily in the high-speed data storage unit, and the output image data stored in the high-speed data storage unit is stored in the drawing area. With such a configuration, high-speed data processing such as cache processing is realized. As a result, speeding up of the drawing process and speeding up of image processing are specifically realized.

本発明によれば,描画領域のアドレスが振り替えられるため,描画処理の際に行われるキャッシュ処理等の高速データ処理の回数が減少するなどにより上記描画処理が簡素化される。その結果,上記描画処理が高速化し,総合的に画像処理の速度を高めることが可能となる。   According to the present invention, since the address of the drawing area is transferred, the drawing process is simplified by reducing the number of high-speed data processing such as cache processing performed during the drawing process. As a result, the drawing process can be speeded up, and the image processing speed can be increased overall.

以下添付図面を参照しながら,本発明の実施の形態及び実施例について説明し,本発明の理解に供する。尚,以下の実施の形態及び実施例は,本発明を具体化した一例であって,本発明の技術的範囲を限定する性格のものではない。
ここに,図1は本発明の画像処理装置の一実施形態を示すブロック図,図2は従来のアドレス配列及び本発明のアドレス配列を示すアドレス配列図,図3はメインメモリの描画領域に一のバンド領域B1に対応する画像が描かれたときのアドレス配列を示すイメージ図,図4は本発明の画像処理装置のメモリ制御部により実行される描画処理の手順の一例を説明するフローチャート,図5は本発明の画像処理装置の実施例を示すブロック図,
図6は印字出力される画像データの一例を示す図,図7はPDLデータがバンド分割された状態を説明するためのイメージ図,図8は従来法によってメインメモリの描画領域に一のバンド領域B1に対応する画像が描かれたときのアドレス配列を示すイメージ図である。
Hereinafter, embodiments and examples of the present invention will be described with reference to the accompanying drawings so that the present invention can be understood. It should be noted that the following embodiments and examples are examples embodying the present invention, and do not limit the technical scope of the present invention.
FIG. 1 is a block diagram showing an embodiment of an image processing apparatus of the present invention, FIG. 2 is an address array diagram showing a conventional address array and an address array of the present invention, and FIG. 3 is a drawing area in a main memory. FIG. 4 is an image diagram showing an address arrangement when an image corresponding to the band region B1 is drawn, FIG. 4 is a flowchart for explaining an example of a drawing process executed by the memory control unit of the image processing apparatus of the present invention, and FIG. Is a block diagram showing an embodiment of an image processing apparatus of the present invention,
FIG. 6 is a diagram showing an example of image data to be printed, FIG. 7 is an image diagram for explaining a state where PDL data is divided into bands, and FIG. 8 is a band area B1 in the drawing area of the main memory by the conventional method. It is an image figure which shows the address arrangement | sequence when the image corresponding to is drawn.

まず,図1のブロック図を用いて本実施形態に係る画像処理装置の概略構成について説明する。ここに,図1は上記画像処理装置の処理制御系のブロック図である。なお,本発明の画像処理装置としては,プリンタ或いはプリンタ機能を有する複合機(MFP)などが該当する。
本発明の画像処理装置は,所定の言語の一例であるPDL(ページ記述言語)で表現された1ページ分のPDLデータ(印字データに相当)を複数のバンド領域毎のバンド中間言語データに変換し,この変換されたバンド中間言語データに基づいて生成されたビットマップデータ(出力画像データ)を出力する処理を行うものである。
本画像処理装置は,図1に示すように,中間言語変換部1と,メモリ制御部2と,メインメモリ3(データ記憶手段の一例)と,出力バッファ5と,エンジン制御部6とを備えて概略構成される。なお,本実施形態では上記中間言語変換部1はハードロジックなどで構成されたASIC等のハードウェアとして説明するが,例えば,図示しない画像処理制御部(のCPU)により所定のプログラムに基づいた演算処理がなされることによって上記中間言語変換部1における処理が実現される形態であってもかまわない。
First, the schematic configuration of the image processing apparatus according to the present embodiment will be described with reference to the block diagram of FIG. FIG. 1 is a block diagram of the processing control system of the image processing apparatus. The image processing apparatus according to the present invention corresponds to a printer or a multifunction peripheral (MFP) having a printer function.
The image processing apparatus of the present invention converts one page of PDL data (corresponding to print data) expressed in PDL (page description language), which is an example of a predetermined language, into band intermediate language data for each of a plurality of band areas. Then, processing for outputting bitmap data (output image data) generated based on the converted band intermediate language data is performed.
As shown in FIG. 1, the image processing apparatus includes an intermediate language conversion unit 1, a memory control unit 2, a main memory 3 (an example of data storage means), an output buffer 5, and an engine control unit 6. It is roughly composed. In the present embodiment, the intermediate language conversion unit 1 is described as hardware such as an ASIC configured by hardware logic or the like. For example, an arithmetic operation based on a predetermined program is performed by an image processing control unit (CPU) (not shown). The processing in the intermediate language conversion unit 1 may be realized by the processing.

上記中間言語変換部1は,LAN等のネットワークに接続されたホストコンピュータ等から転送された1ページ分のPDLデータを受信して,これを複数のバンド領域に分割すると共に,分割された複数のバンド領域を上記PDLデータの先頭から順次中間言語データに変換する処理を行う。具体的には,転送入力された1ベージ分のPDLデータのすべてを一旦中間言語データに変換して該中間言語変換部1の図示しない内臓メモリに格納し,その後,変換された中間言語データを画像の先頭から順にバンド分割する処理が行われる。
ここで,図6に,左上端に「AB」,「CD」の文字のみが縦方向(副走査方向)に並べてA4縦サイズ内に描かれた画像データ40を示す。また,図7には図6の画像データ40のPDLデータがA4縦サイズの縦方向(副走査方向)に分割された複数のバンド領域B1,B2,…を示す。以下の実施形態の説明においては,図6に示す画像データ40のPDLデータが転送され,このPDLデータが図7に示すように分割された複数のバンド領域に対して描画処理を行う例を取り上げて説明する。もちろん,本発明がこのような処理例に限定されることはない。
The intermediate language conversion unit 1 receives one page of PDL data transferred from a host computer or the like connected to a network such as a LAN, and divides it into a plurality of band areas, A process of sequentially converting the band area into intermediate language data from the top of the PDL data is performed. Specifically, all of the transferred one page of PDL data is temporarily converted into intermediate language data and stored in an internal memory (not shown) of the intermediate language conversion unit 1, and then the converted intermediate language data is stored. A band division process is performed in order from the top of the image.
Here, FIG. 6 shows image data 40 in which only the characters “AB” and “CD” are arranged in the vertical direction (sub-scanning direction) at the upper left corner and drawn in the A4 vertical size. 7 shows a plurality of band regions B1, B2,... Obtained by dividing the PDL data of the image data 40 of FIG. 6 in the vertical direction (sub-scanning direction) of A4 vertical size. In the following description of the embodiment, an example will be taken in which the PDL data of the image data 40 shown in FIG. 6 is transferred, and the PDL data is subjected to drawing processing on a plurality of band regions divided as shown in FIG. I will explain. Of course, the present invention is not limited to such processing examples.

上記メインメモリ3は,読み書き可能なDRAM(Dynamic RAM)やSDRAM(Synchronous DRAM)等の記憶装置である。このメインメモリ3には,上記中間言語変換部1で変換された中間言語データに基づいて生成されるビットマップデータが格納される。したがって,上記メインメモリ3には,生成されたビットマップデータが格納(描画)される描画領域30(図2,図3参照)が確保されている。なお,ここではデータ記憶手段の一例としてメインメモリ3を例示するが,上記メインメモリ3に代えてHDDなどの大容量記憶媒体を用いてもよい。
この実施形態では,上記中間言語変換部1で分割された複数のバンド領域毎にビットマップデータが生成されて上記描画領域30に格納される。そのため,上記描画領域30は少なくとも一のバンド領域に応じたビットマップデータを格納し得る容量があれば足りる。本実施形態では,図2や図3(a)のイメージ図に示すように,上記描画領域30は主走査方向に8ワード,副走査方向に4ワード配列された計32ワードの容量とする。また,後述するキャッシュ20aは8ワードの容量とする。
ここに,図3(a)は,メインメモリ3の描画領域30を描画キャンバスと仮定した場合に該描画領域30に描かれた一のバンド領域B1に対応する画像のイメージ図であり,(b)はメインメモリ3における描画領域30のアドレス配列を示す図である。
The main memory 3 is a storage device such as a readable / writable DRAM (Dynamic RAM) or SDRAM (Synchronous DRAM). The main memory 3 stores bitmap data generated based on the intermediate language data converted by the intermediate language conversion unit 1. Accordingly, the main memory 3 has a drawing area 30 (see FIGS. 2 and 3) in which the generated bitmap data is stored (drawn). Here, the main memory 3 is illustrated as an example of the data storage means, but a large-capacity storage medium such as an HDD may be used instead of the main memory 3.
In this embodiment, bitmap data is generated for each of a plurality of band areas divided by the intermediate language conversion unit 1 and stored in the drawing area 30. Therefore, it is sufficient that the drawing area 30 has a capacity capable of storing bitmap data corresponding to at least one band area. In the present embodiment, as shown in the image diagrams of FIGS. 2 and 3A, the drawing area 30 has a capacity of a total of 32 words in which 8 words are arranged in the main scanning direction and 4 words are arranged in the sub-scanning direction. A cache 20a described later has a capacity of 8 words.
3A is an image diagram of an image corresponding to one band area B1 drawn in the drawing area 30 when the drawing area 30 in the main memory 3 is assumed to be a drawing canvas. FIG. FIG. 4 is a diagram showing an address array of a drawing area 30 in the main memory 3.

上記メモリ制御部2は,中間言語解釈部21と,アドレス振替部23(アドレス振替手段の一例)と,これらの各部を制御すると共に上記メインメモリ3へビットマップデータの書き込み(描画,格納)及び読みだしを実行するCPU20とを備えて構成される。なお,上記中間言語解釈部21及び上記CPU20が出力画像データ生成格納手段の一例である。
この実施形態では上記中間言語解釈部21及び上記アドレス振替部22はいずれもハードロジック等で構成された回路基板やICとして説明するが,上記各部における処理がCPU20によってプログラム処理される処理例であってもよい。
The memory control unit 2 controls the intermediate language interpretation unit 21, the address transfer unit 23 (an example of an address transfer unit), controls these units, and writes (draws and stores) bitmap data to the main memory 3. And a CPU 20 that executes reading. The intermediate language interpretation unit 21 and the CPU 20 are examples of output image data generation and storage means.
In this embodiment, the intermediate language interpretation unit 21 and the address transfer unit 22 are both described as circuit boards and ICs configured by hard logic or the like. However, the processing in each unit is a processing example in which the CPU 20 performs program processing. May be.

上記CPU20は,メインメモリ3にデータを読み書きする際の処理を高速化するべくキャッシュ処理を実行する。そのため,上記CPU20には,上記メインメモリ3よりも高速アクセス可能で,小容量(8ワード分の容量)のSRAM(Static RAM)等のキャッシュメモリ(以下「キャッシュ」と略す。データ高速記憶手段の一例)20aが設けられいる。上記キャッシュ20aは上記メインメモリ3よりも高速アクセス可能であればよく,したがって,上記メインメモリ3に代えてメモリよりもアクセス速度が遅いHDDを用いた場合は,HDDよりも高速なSRAMだけでなく,DRAM,SDRAM等をキャッシュメモリとして用いることも可能である。   The CPU 20 executes a cache process so as to speed up the process when reading / writing data from / to the main memory 3. Therefore, the CPU 20 can be accessed at a higher speed than the main memory 3 and is abbreviated as a cache memory (hereinafter referred to as “cache”) such as a small capacity (capacity of 8 words) SRAM (Static RAM). An example) 20a is provided. The cache 20a only needs to be accessible at a higher speed than the main memory 3. Therefore, when an HDD having an access speed slower than the memory is used instead of the main memory 3, not only the SRAM having a higher speed than the HDD but also the SRAM DRAM, SDRAM, etc. can be used as the cache memory.

上記中間言語解釈部21は,上記中間言語変換部1により変換されたバンド領域毎の中間言語データに基づいてビットマップデータを生成する。上記中間言語データがバンド領域B1(図7参照)のデータである場合は,その中間言語データには「AB」という画像情報と,バンド領域B1における上記「AB」の画像情報の位置情報と,上記「AB」の画像を除く他の領域である白地部分の情報とが少なくとも含まれているため,この場合は,上記中間言語解釈部21では,これらの各情報が解釈(解読)されることによってビットマップデータが生成される。   The intermediate language interpretation unit 21 generates bitmap data based on the intermediate language data for each band area converted by the intermediate language conversion unit 1. When the intermediate language data is data in the band area B1 (see FIG. 7), the intermediate language data includes image information “AB”, position information of the image information “AB” in the band area B1, In this case, the intermediate language interpretation unit 21 interprets (decodes) each of these pieces of information because at least the information on the white background portion other than the image “AB” is included. To generate bitmap data.

上記アドレス振替部22は,上記メインメモリ3の描画領域30のアドレスを所定の規則に基づいて振り替えるアドレス振替処理を行う。このアドレス振替処理は,上記CPU20によりビットマップデータが描画領域30に描画(格納)される前に実行される。
通常,メインメモリ3の描画領域30のアドレス配列は,図2(a)に示すように,主走査方向(水平方向)へ順次配列されているが,本実施形態では,上記アドレス振替部23によって,上記描画処理部22により生成されたビットマップデータを1ワード単位で上記描画領域の副走査方向に順次並べて格納し得るように,上記描画領域30の主走査方向のアドレス配列が副走査方向に振り替えられる。即ち,図2(a)に示すアドレス配列を図2(b)に示すアドレス配列に振り替える処理が行われる。ここに,図2(a)は従来例のアドレス配列の描画領域30を示し,(b)は上記アドレス振替部23によってアドレスが振り替えられた描画領域30を示す。
The address transfer unit 22 performs an address transfer process of transferring the address of the drawing area 30 of the main memory 3 based on a predetermined rule. This address transfer process is executed before the bitmap data is drawn (stored) in the drawing area 30 by the CPU 20.
Normally, the address array of the drawing area 30 in the main memory 3 is sequentially arranged in the main scanning direction (horizontal direction) as shown in FIG. 2A. The address array in the main scanning direction of the drawing area 30 is arranged in the sub-scanning direction so that the bitmap data generated by the drawing processing unit 22 can be sequentially stored in the sub-scanning direction of the drawing area in units of one word. Transferred. In other words, a process of changing the address array shown in FIG. 2A to the address array shown in FIG. 2B is performed. Here, FIG. 2A shows a drawing area 30 of a conventional address array, and FIG. 2B shows a drawing area 30 whose address is transferred by the address transfer unit 23.

上記アドレス振替部22によるアドレスの振り替えは,例えば,図3(b)に示すように,チェーンとポインタとを用いた周知のチェーンポインタ方式で行われる。このチェーンポインタ方式では,次にアクセスするアドレスや開始アドレスなどの情報が格納されたデスクリプタ領域をメインメモリ3などの記憶領域に予め用意しておき,このデスクリプタ領域にリンクするポインタを描画領域30の各アドレスに付けておく。こうすることで,或るアドレスにアクセスした際に,該アクセスに付されたポインタとリンクするデスクリプタ領域の情報を参照することにより次にアクセスするアドレスを決定することができる。このようにしてアドレス間をリンク付けることを「チェーンを張る」という。
この方式を用いることで,例えば上記描画領域30において,各アドレスに付されたポインタ間に,アドレスA0→A4→A8…をたどるようにルール化されたチェーンを張っておけば,CPU20が上記描画領域30にデータを格納する際にアクセスしたときのアクセス順序は上記ポインタと上記チェーンとにより定められた順序となる。このように描画領域30へのアクセス順序が変更されることにより,上記描画領域30のアドレスが見かけの上では図2(a)から図2(b),図3(a)に示すように振り替えられることになる。
The address transfer by the address transfer unit 22 is performed by, for example, a known chain pointer method using a chain and a pointer as shown in FIG. In this chain pointer method, a descriptor area storing information such as an address to be accessed next and a start address is prepared in advance in a storage area such as the main memory 3, and a pointer linked to the descriptor area is set in the drawing area 30. It is attached to each address. In this way, when an address is accessed, the address to be accessed next can be determined by referring to the information in the descriptor area linked to the pointer attached to the access. Linking addresses in this way is called “stretching a chain”.
By using this method, for example, if a ruled chain is set between the pointers attached to each address in the drawing area 30 so as to follow addresses A0 → A4 → A8. The access order when accessing data in the area 30 is the order determined by the pointer and the chain. By changing the access order to the drawing area 30 in this way, the address of the drawing area 30 is apparently transferred from FIG. 2A to FIG. 2B and FIG. 3A. Will be.

また,上記チェーンポインタ方式に代えて,アクセスするアドレスを変換する下式(1)の関数を用いてもよい。
F(x)=Ga(x)×b+Ha(x) … (1)
ここに,上式(1)において,“F(x)”はアドレス変換後のアドレス,“x”はCPU20が描画領域30にデータを格納する際にアクセスしようとするアドレス,“a”は一のバンド領域に描画される画像データの主走査方向の単位データの配列数,“b”は同副走査方向の単位データの配列数,“Ga(x)”はxをaで除算したときの剰余,“Hb(x)”はxをaで除算したときの商を表す。なお,本実施の形態では,上記単位データは1ワード分の容量のデータを指す。
上記アドレス振替部22において,上記関数F(x)が用いられることにより,CPU20が描画領域30へのデータ格納時にアクセスしようとする際にアクセスしようとするアドレスを上記関数F(x)で変換することで,アドレスの振り替えが実現する。
例えば,図2に示す4×8ワードの描画領域30にアクセスする場合の上記関数F(x)は,a=8,b=4を代入して下式(2)のように表される。
F(x)=G8(x)×4+H8(x) … (2)
この式(2)によれば,例えば,上記描画領域30へアクセスしようとするアドレス(A0〜A31)が下式(3)のように変換される。

Figure 0004116997
なお,アドレスの振り替えは前記チェーンポインタ方式や上記関数F(x)に限らず,他の種々の方式を採用することも可能である。 Further, instead of the chain pointer method, a function of the following expression (1) for converting an address to be accessed may be used.
F (x) = G a (x) × b + H a (x) (1)
Here, in the above equation (1), “F (x)” is an address after address conversion, “x” is an address to be accessed when the CPU 20 stores data in the drawing area 30, and “a” is one. The number of arrangements of unit data in the main scanning direction of the image data drawn in the band area of “1”, “b” is the number of arrangements of unit data in the same sub-scanning direction, and “G a (x)” is when x is divided by a “H b (x)” represents the quotient when x is divided by a. In the present embodiment, the unit data refers to data having a capacity for one word.
By using the function F (x) in the address transfer unit 22, the address to be accessed when the CPU 20 tries to access when storing data in the drawing area 30 is converted by the function F (x). In this way, address transfer is realized.
For example, the function F (x) for accessing the drawing area 30 of 4 × 8 words shown in FIG. 2 is expressed as the following expression (2) by substituting a = 8 and b = 4.
F (x) = G 8 (x) × 4 + H 8 (x) (2)
According to the equation (2), for example, the address (A0 to A31) to be accessed to the drawing area 30 is converted as the following equation (3).
Figure 0004116997
Note that the address transfer is not limited to the chain pointer method and the function F (x), and various other methods can be employed.

上記出力バッファ5はFIFOメモリ等を有し,上記描画領域30から転送されて来たビットマップデータをその順にエンジン制御部6へ出力するものである。
また,エンジン制御部6は,出力バッファ5から出力されたビットマップデータに従った画像を形成するための制御を行う。
The output buffer 5 has a FIFO memory or the like, and outputs the bitmap data transferred from the drawing area 30 to the engine control unit 6 in that order.
The engine control unit 6 performs control for forming an image according to the bitmap data output from the output buffer 5.

次に,図3,図6及び図7を参照しつつ,図4のフローチャートを用いて,上記メモリ制御部2により実行される描画処理の概略手順の一例について説明する。図中のS10,S20,…は処理手順番号(ステップ番号)を示す。処理はS10から開始される。
上述したように,図6に示す画像データ40のPDLデータがホストPCなどから転送され,前記中間言語変換部1(図1参照)で複数のバンド領域B1,B2,…に分割されると,この中間言語変換部1は画像先頭のバンド領域B1から順次中間言語データをメモリ制御部2に出力する。
このようにして中間言語データが出力されると,上記メモリ制御部2では,上記中間言語変換部1からバンド領域B1の中間言語データ101(図7参照)が入力されたかどうかが上記CPU20により判断される(ステップS20)。
そして,上記中間言語データ101の入力が確認されると,CPU2は前記アドレス振替部23に指示を与えて,メインメモリ3の描画領域30のアドレス配列を図2(b)に示すように振り替えさせる(ステップS20)。
その後,入力された中間言語データ101が上記CPU20によって,前記中間言語解釈部21に転送され,この中間言語解釈部21において,上記中間言語データ101に基づいてビットマップデータが作成される(ステップS30)。ここで作成されるビットマップデータは,例えばバンド領域B1の場合は,その地肌色(白色)の画像データと,「AB」の画像データである。
Next, an example of a schematic procedure of the drawing process executed by the memory control unit 2 will be described using the flowchart of FIG. 4 with reference to FIGS. In the figure, S10, S20,... Indicate processing procedure numbers (step numbers). The process starts from S10.
As described above, when the PDL data of the image data 40 shown in FIG. 6 is transferred from a host PC or the like and divided into a plurality of band regions B1, B2,... By the intermediate language conversion unit 1 (see FIG. 1), The intermediate language conversion unit 1 sequentially outputs intermediate language data to the memory control unit 2 from the band region B1 at the head of the image.
When the intermediate language data is output in this way, in the memory control unit 2, the CPU 20 determines whether or not the intermediate language data 101 (see FIG. 7) of the band area B1 is input from the intermediate language conversion unit 1. (Step S20).
When the input of the intermediate language data 101 is confirmed, the CPU 2 instructs the address transfer unit 23 to change the address array of the drawing area 30 of the main memory 3 as shown in FIG. (Step S20).
Thereafter, the input intermediate language data 101 is transferred by the CPU 20 to the intermediate language interpretation unit 21, and the intermediate language interpretation unit 21 creates bitmap data based on the intermediate language data 101 (step S30). ). For example, in the case of the band region B1, the bitmap data created here is the background color (white) image data and the image data “AB”.

上記中間言語解釈部21で作成されたビットマップデータは,描画領域30のアドレスA0の記憶領域から順次上記CPU20によって描画(格納)する処理が行われる。
この描画処理は以下の手順で行われる。まず,描画領域30の全アドレスに地肌色(白色)の画像データが格納される。
その後,「AB」の画像データを描画領域30に格納するために,1回目のキャッシュ処理が行われる。具体的には,アドレスA0から前記キャッシュ20aの容量分(この実施形態では8ワード)のアドレスA0〜A7がキャッシュ20aに一時的に読み込まれ(格納され),このキャッシュ20aとの間で画像データD1(図3(a)参照)の転送が行われる。
従来手法では,描画領域のアドレスは図2(a)に示すように主走査方向に配列されていたが,本実施形態では図3(a)に示すように副走査方向(縦方向)に配列されているため,キャッシュ20aに読み込まれたアドレスA0〜A7の全てに対して書き込むべきデータが存在する。したがって,このときは,キャッシュ20aに読み込まれたアドレスA0〜A7の全てにデータが転送される。なお,このときのキャッシュのヒット率は100%である。
上記画像データD1の転送が終了すると,キャッシュ20a内のデータが描画領域のアドレスA0〜A7に戻される。これにより,まず,画像データD1が描画領域30のアドレスA0〜A7に描画される。
続いて,2回目のキャッシュ処理が行われる。即ち,次のアドレスA8から8ワード分のアドレスA8〜A15がキャッシュ20aに読み込まれ,上述と同じようにして,上記キャッシュ20aとの間で画像データD2(図3(a)参照)の転送が行われる。この場合は,アドレスA8〜A11にデータが転送される。なお,このときのキャッシュのヒット率は50%である。このデータの転送が終了すると,キャッシュ20aのデータが描画領域30のアドレスA8〜A15に戻される。これにより,画像データD2が描画領域30のアドレスA8〜A11に描画される。アドレスA12〜A15にはデータが転送されないままで戻されるため,当該アドレスには予め描画された白地色の画像データが格納されたままである。
このように,2回のキャッシュ処理によって描画すべき画像「AB」が描画されるため,CPU20は描画領域30に対してそれ以上のアクセスをする必要はない。即ち,アドレスA16〜A31に描画する画像は存在しないためこれらのアドレスに対してアクセスは行われない。したがって,3回目以降のキャッシュ処理は行われない。
このような描画処理がなされることにより,バンド領域B1に相当するビットマップデータが描画領域30に描画される。このように,本実施形態では,アドレスが振り替えられた描画領域30に対してヒット率の高いキャッシュ処理を伴う描画処理が行われるため,従来の様にヒット率の低いキャッシュ処理を多数回(前述した例では4回)行うことなくビットマップデータを描画領域30に描画(格納)することが可能となる。したがって,その分,描画処理が高速化されることになる。
The bitmap data created by the intermediate language interpreter 21 is sequentially drawn (stored) by the CPU 20 from the storage area at the address A0 in the drawing area 30.
This drawing process is performed according to the following procedure. First, background color (white) image data is stored at all addresses in the drawing area 30.
Thereafter, in order to store the image data “AB” in the drawing area 30, the first cache processing is performed. Specifically, addresses A0 to A7 corresponding to the capacity of the cache 20a from the address A0 (8 words in this embodiment) are temporarily read (stored) in the cache 20a, and image data is transferred to and from the cache 20a. Transfer of D1 (see FIG. 3A) is performed.
In the conventional method, the addresses of the drawing areas are arranged in the main scanning direction as shown in FIG. 2A, but in this embodiment, the addresses are arranged in the sub-scanning direction (vertical direction) as shown in FIG. Therefore, there is data to be written to all of the addresses A0 to A7 read into the cache 20a. Therefore, at this time, data is transferred to all of the addresses A0 to A7 read into the cache 20a. The cache hit rate at this time is 100%.
When the transfer of the image data D1 is completed, the data in the cache 20a is returned to the drawing area addresses A0 to A7. Thus, first, the image data D1 is drawn at addresses A0 to A7 of the drawing area 30.
Subsequently, a second cache process is performed. That is, eight words of addresses A8 to A15 are read into the cache 20a from the next address A8, and the image data D2 (see FIG. 3A) is transferred to the cache 20a in the same manner as described above. Done. In this case, data is transferred to addresses A8 to A11. The cache hit rate at this time is 50%. When this data transfer is completed, the data in the cache 20a is returned to the addresses A8 to A15 in the drawing area 30. As a result, the image data D2 is drawn at addresses A8 to A11 of the drawing area 30. Since the data is returned to the addresses A12 to A15 without being transferred, the white color image data drawn in advance is still stored in the address.
Thus, since the image “AB” to be drawn is drawn by two cache processes, the CPU 20 does not need to access the drawing area 30 any more. That is, since there is no image to be drawn at the addresses A16 to A31, these addresses are not accessed. Therefore, the third and subsequent cache processing is not performed.
By performing such a drawing process, bitmap data corresponding to the band area B1 is drawn in the drawing area 30. As described above, in the present embodiment, since the drawing process accompanied by the cache process with a high hit rate is performed on the drawing area 30 to which the address has been transferred, the cache process with a low hit rate is performed many times (as described above). In this example, the bitmap data can be drawn (stored) in the drawing area 30 without performing it four times. Therefore, the drawing process is accelerated accordingly.

ステップS40でバンド領域B1に対応するビットマップデータの描画処理が完了すると,続いて,該描画領域30内のデータが出力バッファ5へ転送されたかどうかが判断され(S50),転送された場合は,次のバンド領域の中間言語データが入力されたかどうかが判断される(S60)。ここで次のバンド領域B2の中間言語データが入力されたと判断されると,ステップS20からの処理が繰り返し行われて,描画すべき画像「CD」の描画処理が実行される。
このようにして,全てのバンド領域の中間言語データについて描画処理が完了し,中間言語データが入力されなくなると,その後,一連の処理が終了する。
なお,本実施形態で用いた図6の画像データ40には,バンド領域B3以降には描画すべき画像が存在しないため,上記ステップS20〜S40の処理は省略される。即ち,次のバンド領域の中間言語データが入力された場合であっても,描画すべきデータが存在しないと判断された場合は,ステップS20〜S40の処理は行わずに,ステップS50から処理が繰り返される。これにより,描画すべきデータが存在しない場合の無駄なアドレス振替処理等が省略されるため,描画処理速度を高めることができる。
When the drawing processing of the bitmap data corresponding to the band area B1 is completed in step S40, it is subsequently determined whether the data in the drawing area 30 has been transferred to the output buffer 5 (S50). It is then determined whether intermediate language data for the next band area has been input (S60). If it is determined that the intermediate language data of the next band area B2 has been input, the process from step S20 is repeated, and the drawing process of the image “CD” to be drawn is executed.
In this way, when the drawing process is completed for the intermediate language data in all the band areas and no intermediate language data is input, a series of processes is thereafter terminated.
In the image data 40 of FIG. 6 used in the present embodiment, since there is no image to be drawn after the band region B3, the processes of steps S20 to S40 are omitted. That is, even if intermediate language data of the next band area is input, if it is determined that there is no data to be rendered, the processing from step S50 is performed without performing the processing of steps S20 to S40. Repeated. As a result, useless address transfer processing or the like when there is no data to be drawn is omitted, so that the drawing processing speed can be increased.

上述の実施の形態では,描画領域30に描画(格納)されたビットマップデータの読出処理(出力バッファ5へのデータ出力処理)は,振り替えられたアドレスに従った順序で描画領域30にアクセスして行われる。即ち,ビットマップデータの描画処理時だけでなく,ビットマップデータの読出処理時においても,振り替えられたアドレス順序で読み出し処理が実施される。
しかし,離れたアドレスにアクセスする処理は,次順又は隣接するアドレスにアクセスする処理よりも処理が複雑であるため,多くの処理時間が必要となる。
この場合は,図5に示すように,メインメモリ3から転送されるビットマップデータをマッピング化するマッピング処理部4を設け,前記CPU20によって上記描画領域30に張られたチェーンやポインタなどを解除或いは無効化した上で,上記メインメモリ3のアドレスA0から順番にビットマップデータを読み出して上記マッピング処理部4へ転送するようにすることが好適である。
なお,上記アドレス振替部22において,式(1)の関数F(x)を用いてアドレス振替処理を行った場合は,上記描画領域30からデータを読み出す際には通常通りアドレスA0から順番にビットマップデータを読み出して上記マッピング処理部4へ転送するようにすることが好ましい。
このように構成することにより,メインメモリ3の描画領域30からの読出処理はチェーンなどに制限されずに先頭アドレスA0から順番(A1,A2,…)に読み出だされるため,その処理速度が低下することはない。
上記マッピング処理部4をマッピング回路や内部メモリを備えたASICなどのハードウェアで構成し,このマッピング処理部4に,A0,A1,A2,…の順番で読み出されることによりばらばらにされた1ワード単位の画像片をマッピングさせるようにすれば,CPU20は上記マッピング処理部4にビットマップデータを転送するだけでマッピングがCPU20の関与しないところで実行されることになる。したがって,マッピング処理中でもCPU20はアドレス振替などの他の処理を行うことができる。そのため,ビットマップデータの読出処理の遅延が生じず,描画処理から読出処理に至る処理速度を高めることが可能となる。
In the above-described embodiment, the bitmap data read processing (data output processing to the output buffer 5) drawn (stored) in the drawing region 30 is performed by accessing the drawing region 30 in the order according to the transferred address. Done. In other words, not only during the bitmap data rendering process but also during the bitmap data readout process, the readout process is performed in the order of the transferred addresses.
However, the process of accessing a distant address is more complicated than the process of accessing the next address or an adjacent address, and requires a lot of processing time.
In this case, as shown in FIG. 5, a mapping processing unit 4 for mapping the bitmap data transferred from the main memory 3 is provided, and the CPU 20 cancels the chain, the pointer, etc. stretched on the drawing area 30 or It is preferable that the bitmap data is read out in order from the address A0 of the main memory 3 and transferred to the mapping processor 4 after being invalidated.
When the address transfer unit 22 performs the address transfer process using the function F (x) of the equation (1), when reading data from the drawing area 30, the bits are sequentially written from the address A0. It is preferable that the map data is read out and transferred to the mapping processing unit 4.
With this configuration, the reading process from the drawing area 30 of the main memory 3 is not limited to a chain or the like, but is read in order (A1, A2,...) From the head address A0. Will not drop.
The mapping processing unit 4 is configured by hardware such as an ASIC including a mapping circuit and an internal memory, and the mapping processing unit 4 reads out one word in the order of A0, A1, A2,. If the image pieces of the unit are mapped, the CPU 20 simply transfers the bitmap data to the mapping processing unit 4 and the mapping is executed without the CPU 20 being involved. Therefore, the CPU 20 can perform other processes such as address transfer even during the mapping process. Therefore, there is no delay in the reading process of bitmap data, and the processing speed from the drawing process to the reading process can be increased.

上述の実施の形態では,左上端に「AB」,「CD」の文字のみが縦方向(副走査方向)に並んで描かれた画像データ40,即ち,左上端に描画すべき画像が集約された画像データ40を例にとって説明したが,印字出力する画像は常に上記画像データ40のようなものとは限らない。例えば,主走査方向に伸びる罫線などの横長の画像データが印字出力される場合もあり得る。このような画像データに対しても,アドレスを振り替えて上述のような処理を行うと却ってキャッシュのヒット率が低下する。
そこで,この実施例では,中間言語解釈部21において入力されて来た中間言語データに含まれる種々の情報に基づいて,描画処理の対象となるバンド領域がどのような画像データであるかを判定し,この判定の結果,バンド領域の画像データが主走査方向に長い罫線のような横長の画像であると判定された場合,即ち,本発明のアドレス振替処理(図4のステップS40参照)が行われると描画処理時のキャッシュ処理回数が多くなるような画像データであると判定された場合は,アドレス振替処理を行わずに従来手法で描画処理を行い,反対に,バンド領域の画像データがある程度集約しており,従来手法ではキャッシュ処理回数が多くなるような画像データであると判定された場合は,上述の実施の形態で説明したアドレス振替処理を行った後に描画処理を行う。
これにより,どのような画像データを描画する場合であっても,描画処理速度を高めることが可能となる。
In the embodiment described above, the image data 40 in which only the characters “AB” and “CD” are drawn in the vertical direction (sub-scanning direction) at the upper left corner, that is, the image to be drawn at the upper left corner is collected. Although the image data 40 has been described as an example, the image to be printed out is not always the image data 40 described above. For example, horizontally long image data such as ruled lines extending in the main scanning direction may be printed out. Even for such image data, if the above-described processing is performed by changing the address, the cache hit rate decreases.
Therefore, in this embodiment, based on various information included in the intermediate language data input in the intermediate language interpretation unit 21, it is determined what kind of image data the band area to be rendered is. As a result of the determination, if it is determined that the image data in the band area is a horizontally long image such as a ruled line that is long in the main scanning direction, that is, the address transfer process of the present invention (see step S40 in FIG. 4). If it is determined that the image data is such that the number of cache processing times during rendering processing is increased, the rendering processing is performed by the conventional method without performing the address transfer processing. If it is determined that the image data has been aggregated to some extent and the conventional method increases the number of cache processes, the address transfer process described in the above embodiment is performed. Perform a drawing process after Tsu.
Thereby, it is possible to increase the drawing processing speed regardless of what kind of image data is drawn.

本発明の画像処理装置の一実施形態を示すブロック図。1 is a block diagram showing an embodiment of an image processing apparatus of the present invention. 従来のアドレス配列及び本発明のアドレス配列を示すアドレス配列図。The address arrangement | sequence figure which shows the conventional address arrangement | sequence and the address arrangement | sequence of this invention. メインメモリ3の描画領域30に一のバンド領域B1に対応する画像が描かれたときのイメージ図,及びメインメモリ3における描画領域30のアドレス配列を示す図。FIG. 3 is an image diagram when an image corresponding to one band area B1 is drawn in the drawing area 30 of the main memory 3, and a diagram showing an address arrangement of the drawing area 30 in the main memory 3. 本発明の画像処理装置のメモリ制御部により実行される描画処理の手順の一例を説明するフローチャート。6 is a flowchart for explaining an example of a drawing processing procedure executed by a memory control unit of the image processing apparatus according to the invention. 本発明の画像処理装置の実施例を示すブロック図。1 is a block diagram showing an embodiment of an image processing apparatus of the present invention. 印字出力される画像データの一例を示す図。The figure which shows an example of the image data printed out. PDLデータがバンド分割された状態を説明するためのイメージ図。The image figure for demonstrating the state by which PDL data was divided into bands. 従来法によってメインメモリの描画領域70に一のバンド領域B1に対応する画像が描かれたときのイメージ図,及びメインメモリにおける描画領域70のアドレス配列を示す図。The image figure when the image corresponding to one band area | region B1 is drawn on the drawing area 70 of the main memory by the conventional method, and the figure which shows the address arrangement | sequence of the drawing area 70 in the main memory.

符号の説明Explanation of symbols

1…中間言語変換部
2…メモリ制御部
3…メインメモリ(データ記憶手段の一例)
4…マッピング処理部
5…出力バッファ
6…エンジン制御部
20…CPU
20a…キャッシュメモリ(データ高速記憶手段の一例)
21…中間言語解釈部
22…描画処理部
23…アドレス変換部
30…描画領域
DESCRIPTION OF SYMBOLS 1 ... Intermediate language conversion part 2 ... Memory control part 3 ... Main memory (an example of a data storage means)
4 ... Mapping processing unit 5 ... Output buffer 6 ... Engine control unit 20 ... CPU
20a ... Cache memory (an example of data high-speed storage means)
21 ... Intermediate language interpretation unit 22 ... Drawing processing unit 23 ... Address conversion unit 30 ... Drawing area

Claims (3)

所定の言語で記述された1ページ分の印字データを複数のバンド領域毎のバンド中間言語データに変換し,変換されたバンド中間言語データに基づいて生成された出力画像データを出力する画像処理装置であって,
少なくとも一のバンド領域に応じた出力画像データが記憶される描画領域を有するデータ記憶手段と,
上記描画領域のアドレスを所定の規則に基づいて振り替えるアドレス振替手段と,
上記バンド中間言語データに基づいて上記出力画像データを生成するとともに該生成された出力画像データを上記アドレス振替手段によってアドレスが振り替えられた上記描画領域に1ワード単位で順次格納する出力画像データ生成格納手段と,
を具備してなることを特徴とする画像処理装置。
An image processing apparatus that converts print data for one page described in a predetermined language into band intermediate language data for each of a plurality of band areas, and outputs output image data generated based on the converted band intermediate language data Because
Data storage means having a drawing area for storing output image data corresponding to at least one band area;
Address transfer means for transferring the address of the drawing area based on a predetermined rule;
Output image data generated for sequentially storing the output image data said generated in units of one word in the drawing area address has been changed swing by the address transfer means and generates the output image data based on the band intermediate language data Storage means;
An image processing apparatus comprising:
上記アドレス振替手段が,
上記出力画像データ生成格納手段によって出力画像データを1ワード単位で上記描画領域の副走査方向に順次並べて格納し得るように,上記描画領域の主走査方向のアドレス配列を副走査方向に振り替えるものである請求項1に記載の画像処理装置。
The address transfer means is
The address array in the main scanning direction of the drawing area is rearranged in the sub-scanning direction so that the output image data generating and storing means can sequentially store the output image data in the sub-scanning direction of the drawing area in units of one word. The image processing apparatus according to claim 1.
上記データ記憶手段よりも記憶容量が小さく高速アクセスが可能なデータ高速記憶手段を更に備え,
上記出力画像データ生成格納手段が,生成された出力画像データを上記データ高速記憶手段の記憶容量分ずつ上記データ高速記憶手段に一時的に格納し,更に上記データ高速記憶手段に格納された出力画像データを上記描画領域に格納するものである請求項1又は2のいずれかに記載の画像処理装置。
A data high-speed storage means having a smaller storage capacity than the data storage means and capable of high-speed access;
The output image data generation / storage means temporarily stores the generated output image data in the data high speed storage means by the storage capacity of the data high speed storage means, and further stores the output image data stored in the data high speed storage means. The image processing apparatus according to claim 1, wherein data is stored in the drawing area.
JP2005090687A 2005-03-28 2005-03-28 Image processing device Expired - Fee Related JP4116997B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005090687A JP4116997B2 (en) 2005-03-28 2005-03-28 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005090687A JP4116997B2 (en) 2005-03-28 2005-03-28 Image processing device

Publications (2)

Publication Number Publication Date
JP2006279141A JP2006279141A (en) 2006-10-12
JP4116997B2 true JP4116997B2 (en) 2008-07-09

Family

ID=37213482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005090687A Expired - Fee Related JP4116997B2 (en) 2005-03-28 2005-03-28 Image processing device

Country Status (1)

Country Link
JP (1) JP4116997B2 (en)

Also Published As

Publication number Publication date
JP2006279141A (en) 2006-10-12

Similar Documents

Publication Publication Date Title
JP4905604B1 (en) Print data processing system and program
US8502830B2 (en) Image processing apparatus, image processing method, and storage medium
JP2014239304A (en) Image processing device and image processing method
US20070240139A1 (en) Image processing device and image processing method
JP6018398B2 (en) Image processing apparatus and processing method thereof
JP2016085684A (en) Memory access apparatus
JP4116997B2 (en) Image processing device
JP2009116395A (en) Data format conversion device, data format conversion program and data format conversion method
JP6432438B2 (en) Data processing apparatus and program
JP4848866B2 (en) Image processing apparatus and program
JPH01290448A (en) Character generator
JP4419524B2 (en) Image processing apparatus and program
JP6283980B2 (en) Image processing apparatus and image processing method
JP4470453B2 (en) Image processing apparatus, image forming apparatus, and program
JP2007306445A (en) Image data conversion device
JP4617210B2 (en) Drawing apparatus and exposure apparatus equipped with the same
JP5268283B2 (en) Image forming apparatus
JP4257503B2 (en) Image processing apparatus and image processing method
JP2005231374A (en) Printer, method for managing memory of the printer and record medium recording program
JP5040307B2 (en) Printing device
JP2014061648A (en) Control device for printing
JP2004009416A (en) Laser beam type output apparatus and output method
JP2000222140A (en) Printer, memory managing method for printer, and recording medium where program is recorded
JPH1069428A (en) Video display device
JP2006259875A (en) Information processing device and method, and its program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080415

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080418

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120425

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 5

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140425

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees