JP4116997B2 - Image processing device - Google Patents
Image processing device Download PDFInfo
- 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
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Editing Of Facsimile Originals (AREA)
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には,上記バンド分割方式を改良して,バンド分割されたバンド領域を更にバンド分割してサブバンド領域を作成し,このサブバンド領域毎に順次処理を行う方式が開示されている。
When the
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.
ところで,メインメモリに対してデータを読み書きする際には,データ処理の高速化を実現するため,一般に,メインメモリよりも高速アクセス可能なキャッシュメモリを用いて周知のキャッシュ処理が行われる。
しかしながら,上述のバンド分割方式を採用した場合,後述するように,メインメモリにビットマップデータを描画(格納)する際のキャッシュ処理の処理回数が多くなるため,描画処理速度の高速化が妨げられるという問題が生じていた。
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
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
However, when bitmap data is originally drawn in the
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
上記中間言語変換部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
上記メインメモリ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
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
3A is an image diagram of an image corresponding to one band area B1 drawn in the
上記メモリ制御部2は,中間言語解釈部21と,アドレス振替部23(アドレス振替手段の一例)と,これらの各部を制御すると共に上記メインメモリ3へビットマップデータの書き込み(描画,格納)及び読みだしを実行するCPU20とを備えて構成される。なお,上記中間言語解釈部21及び上記CPU20が出力画像データ生成格納手段の一例である。
この実施形態では上記中間言語解釈部21及び上記アドレス振替部22はいずれもハードロジック等で構成された回路基板やICとして説明するが,上記各部における処理がCPU20によってプログラム処理される処理例であってもよい。
The memory control unit 2 controls the intermediate
In this embodiment, the intermediate
上記CPU20は,メインメモリ3にデータを読み書きする際の処理を高速化するべくキャッシュ処理を実行する。そのため,上記CPU20には,上記メインメモリ3よりも高速アクセス可能で,小容量(8ワード分の容量)のSRAM(Static RAM)等のキャッシュメモリ(以下「キャッシュ」と略す。データ高速記憶手段の一例)20aが設けられいる。上記キャッシュ20aは上記メインメモリ3よりも高速アクセス可能であればよく,したがって,上記メインメモリ3に代えてメモリよりもアクセス速度が遅いHDDを用いた場合は,HDDよりも高速なSRAMだけでなく,DRAM,SDRAM等をキャッシュメモリとして用いることも可能である。
The
上記中間言語解釈部21は,上記中間言語変換部1により変換されたバンド領域毎の中間言語データに基づいてビットマップデータを生成する。上記中間言語データがバンド領域B1(図7参照)のデータである場合は,その中間言語データには「AB」という画像情報と,バンド領域B1における上記「AB」の画像情報の位置情報と,上記「AB」の画像を除く他の領域である白地部分の情報とが少なくとも含まれているため,この場合は,上記中間言語解釈部21では,これらの各情報が解釈(解読)されることによってビットマップデータが生成される。
The intermediate
上記アドレス振替部22は,上記メインメモリ3の描画領域30のアドレスを所定の規則に基づいて振り替えるアドレス振替処理を行う。このアドレス振替処理は,上記CPU20によりビットマップデータが描画領域30に描画(格納)される前に実行される。
通常,メインメモリ3の描画領域30のアドレス配列は,図2(a)に示すように,主走査方向(水平方向)へ順次配列されているが,本実施形態では,上記アドレス振替部23によって,上記描画処理部22により生成されたビットマップデータを1ワード単位で上記描画領域の副走査方向に順次並べて格納し得るように,上記描画領域30の主走査方向のアドレス配列が副走査方向に振り替えられる。即ち,図2(a)に示すアドレス配列を図2(b)に示すアドレス配列に振り替える処理が行われる。ここに,図2(a)は従来例のアドレス配列の描画領域30を示し,(b)は上記アドレス振替部23によってアドレスが振り替えられた描画領域30を示す。
The
Normally, the address array of the
上記アドレス振替部22によるアドレスの振り替えは,例えば,図3(b)に示すように,チェーンとポインタとを用いた周知のチェーンポインタ方式で行われる。このチェーンポインタ方式では,次にアクセスするアドレスや開始アドレスなどの情報が格納されたデスクリプタ領域をメインメモリ3などの記憶領域に予め用意しておき,このデスクリプタ領域にリンクするポインタを描画領域30の各アドレスに付けておく。こうすることで,或るアドレスにアクセスした際に,該アクセスに付されたポインタとリンクするデスクリプタ領域の情報を参照することにより次にアクセスするアドレスを決定することができる。このようにしてアドレス間をリンク付けることを「チェーンを張る」という。
この方式を用いることで,例えば上記描画領域30において,各アドレスに付されたポインタ間に,アドレスA0→A4→A8…をたどるようにルール化されたチェーンを張っておけば,CPU20が上記描画領域30にデータを格納する際にアクセスしたときのアクセス順序は上記ポインタと上記チェーンとにより定められた順序となる。このように描画領域30へのアクセス順序が変更されることにより,上記描画領域30のアドレスが見かけの上では図2(a)から図2(b),図3(a)に示すように振り替えられることになる。
The address transfer by the
By using this method, for example, if a ruled chain is set between the pointers attached to each address in the
また,上記チェーンポインタ方式に代えて,アクセスするアドレスを変換する下式(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)のように変換される。
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
By using the function F (x) in the
For example, the function F (x) for accessing the
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
上記出力バッファ5はFIFOメモリ等を有し,上記描画領域30から転送されて来たビットマップデータをその順にエンジン制御部6へ出力するものである。
また,エンジン制御部6は,出力バッファ5から出力されたビットマップデータに従った画像を形成するための制御を行う。
The
The
次に,図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
When the intermediate language data is output in this way, in the memory control unit 2, the
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
Thereafter, the input intermediate language data 101 is transferred by the
上記中間言語解釈部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
This drawing process is performed according to the following procedure. First, background color (white) image data is stored at all addresses in the
Thereafter, in order to store the image data “AB” in the
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
When the transfer of the image data D1 is completed, the data in the
Subsequently, a second cache process is performed. That is, eight words of addresses A8 to A15 are read into the
Thus, since the image “AB” to be drawn is drawn by two cache processes, the
By performing such a drawing process, bitmap data corresponding to the band area B1 is drawn in the
ステップ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
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
上述の実施の形態では,描画領域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
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
When the
With this configuration, the reading process from the
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
上述の実施の形態では,左上端に「AB」,「CD」の文字のみが縦方向(副走査方向)に並んで描かれた画像データ40,即ち,左上端に描画すべき画像が集約された画像データ40を例にとって説明したが,印字出力する画像は常に上記画像データ40のようなものとは限らない。例えば,主走査方向に伸びる罫線などの横長の画像データが印字出力される場合もあり得る。このような画像データに対しても,アドレスを振り替えて上述のような処理を行うと却ってキャッシュのヒット率が低下する。
そこで,この実施例では,中間言語解釈部21において入力されて来た中間言語データに含まれる種々の情報に基づいて,描画処理の対象となるバンド領域がどのような画像データであるかを判定し,この判定の結果,バンド領域の画像データが主走査方向に長い罫線のような横長の画像であると判定された場合,即ち,本発明のアドレス振替処理(図4のステップS40参照)が行われると描画処理時のキャッシュ処理回数が多くなるような画像データであると判定された場合は,アドレス振替処理を行わずに従来手法で描画処理を行い,反対に,バンド領域の画像データがある程度集約しており,従来手法ではキャッシュ処理回数が多くなるような画像データであると判定された場合は,上述の実施の形態で説明したアドレス振替処理を行った後に描画処理を行う。
これにより,どのような画像データを描画する場合であっても,描画処理速度を高めることが可能となる。
In the embodiment described above, the
Therefore, in this embodiment, based on various information included in the intermediate language data input in the intermediate
Thereby, it is possible to increase the drawing processing speed regardless of what kind of image data is drawn.
1…中間言語変換部
2…メモリ制御部
3…メインメモリ(データ記憶手段の一例)
4…マッピング処理部
5…出力バッファ
6…エンジン制御部
20…CPU
20a…キャッシュメモリ(データ高速記憶手段の一例)
21…中間言語解釈部
22…描画処理部
23…アドレス変換部
30…描画領域
DESCRIPTION OF SYMBOLS 1 ... Intermediate language conversion part 2 ...
4 ...
20a ... Cache memory (an example of data high-speed storage means)
21 ... Intermediate
Claims (3)
少なくとも一のバンド領域に応じた出力画像データが記憶される描画領域を有するデータ記憶手段と,
上記描画領域のアドレスを所定の規則に基づいて振り替えるアドレス振替手段と,
上記バンド中間言語データに基づいて上記出力画像データを生成するとともに該生成された出力画像データを上記アドレス振替手段によってアドレスが振り替えられた上記描画領域に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.
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) |
-
2005
- 2005-03-28 JP JP2005090687A patent/JP4116997B2/en not_active Expired - Fee Related
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 | |
JP6171591B2 (en) | Image processing apparatus and image processing method | |
US20070240139A1 (en) | Image processing device and image processing method | |
JP5171211B2 (en) | Data format converter | |
JP6018398B2 (en) | Image processing apparatus and processing method thereof | |
JP2016085684A (en) | Memory access apparatus | |
JP4116997B2 (en) | Image processing device | |
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 | |
JP5966805B2 (en) | Control device for printing | |
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 | |
JP4257503B2 (en) | Image processing apparatus and image processing method | |
JPH1069428A (en) | Video display device | |
JP2005231374A (en) | Printer, method for managing memory of the printer and record medium recording program | |
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 | |
JP2006259875A (en) | Information processing device and method, and its program | |
JP2004276475A (en) | Image processing apparatus and image processing method | |
JP2006159458A (en) | Image output device |
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 |