JP2007286863A - Drawing device and drawing process - Google Patents
Drawing device and drawing process Download PDFInfo
- Publication number
- JP2007286863A JP2007286863A JP2006112911A JP2006112911A JP2007286863A JP 2007286863 A JP2007286863 A JP 2007286863A JP 2006112911 A JP2006112911 A JP 2006112911A JP 2006112911 A JP2006112911 A JP 2006112911A JP 2007286863 A JP2007286863 A JP 2007286863A
- Authority
- JP
- Japan
- Prior art keywords
- request command
- read
- address
- read request
- issued
- 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.)
- Pending
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Image Input (AREA)
- Image Generation (AREA)
Abstract
Description
本発明は、メモリに対し描画処理を実行する描画装置に係り、特に、オンチップバスを介しアクセス可能なメモリに対し描画処理を効率的に実行する描画装置に関する。本発明は、例えばプリンタやデジタル複写機等に好適に適用可能である。 The present invention relates to a drawing apparatus that executes a drawing process on a memory, and more particularly, to a drawing apparatus that efficiently executes a drawing process on a memory accessible via an on-chip bus. The present invention can be suitably applied to, for example, a printer and a digital copying machine.
ページプリンタ等においては、高解像度化、高速化の要求にCPUの性能のみでは応えることが難しくなってきた。そこで近年のページプリンタ等においては、ネットワークから受け取ったPDL(ページ記述言語)を解析し、描画装置が実行可能な中間言語を生成する処理をCPUで実行し、ハードウェアの描画装置により中間言語を解析してバンドメモリへ階調処理後の画像を描画し、このバンド画像をハードウェアの符号化装置で2値画像の圧縮アルゴリズムにより符号化し、符号データをメモリに格納する。そして、プリントアウト時に、ハードウェアの復号装置により、各版ごとに遅延させてメモリから符号データを読み込んで前記圧縮アルゴリズムにより復号化し、復号した各版対応データをプリンタエンジンに転送してプリントさせるような構成がとられることが多い。 In page printers and the like, it has become difficult to meet the demand for higher resolution and higher speed only with the performance of the CPU. Therefore, in recent page printers and the like, a PDL (page description language) received from a network is analyzed, a process for generating an intermediate language that can be executed by the drawing apparatus is executed by the CPU, and the intermediate language is set by the hardware drawing apparatus. Analyzing and rendering an image after gradation processing in a band memory, the band image is encoded by a hardware encoding device using a binary image compression algorithm, and the code data is stored in the memory. Then, at the time of printout, the hardware decoding device delays each version, reads the code data from the memory, decodes it with the compression algorithm, and transfers the decoded version-corresponding data to the printer engine for printing. In many cases, a simple configuration is adopted.
上記圧縮方式としては、算術符号化を採用した2値画像符号化方式の国際標準JBIG(Joint Bi-level Image Experts Group)が知られている。 As the compression method, an international standard JBIG (Joint Bi-level Image Experts Group) of binary image coding method employing arithmetic coding is known.
なお、プリンタコントローラにおいて、メインメモリにフレームメモリを内蔵させる方式が知られている(例えば特許文献1参照)。また、メインメモリと独立させて専用のビットマップメモリを用意し、このビットマップメモリに対してハードウェアにより論理演算処理を高速に行う方式も知られている(例えば特許文献1,2参照)。
In the printer controller, a method of incorporating a frame memory in the main memory is known (see, for example, Patent Document 1). A method is also known in which a dedicated bitmap memory is prepared independently of the main memory, and logical operation processing is performed on the bitmap memory at high speed by hardware (see, for example,
ここで、ページプリンタ等の代表的なシステム構成について図26乃至図29を用いて説明する。これらの模式的ブロック図において、100はCPU、101はメインメモリ、102はメモリアービター、103はメモリコントローラ、104はプリンタエンジン、105はハードウェアの描画装置、106は描画装置専用に設けられたバンドメモリ、107はオンチップバスである。 Here, a typical system configuration such as a page printer will be described with reference to FIGS. In these schematic block diagrams, 100 is a CPU, 101 is a main memory, 102 is a memory arbiter, 103 is a memory controller, 104 is a printer engine, 105 is a hardware drawing device, and 106 is a band dedicated to the drawing device. A memory 107 is an on-chip bus.
図26は、初期のシステム構成を示している。このシステム構成の場合、マスタはCPU100のみであるため、CPU100がメインメモリ101を占有していた。
FIG. 26 shows an initial system configuration. In this system configuration, since the master is only the
図27は、特許文献1のようにCPU100の性能に頼ることなく、メインメモリ101から独立させたバンドメモリ106に対し、ハードウエアの描画装置105でバンド描画を行う構成であり、描画装置105とCPU100とのメモリ競合がない。
FIG. 27 shows a configuration in which band drawing is performed by a
図28は例えば特許文献3のように、メモリアービター102を介してCPU100と描画装置105がメインメモリ101を共有し、描画装置105がメインメモリ上のバンドメモリに対し描画処理(論理演算処理)を行う構成である。
In FIG. 28, for example, as in
図28の構成におけるメモリアービター102を介したメモリのリード処理のタイミングを図30(A)に示す。図30(A)に見られるように、CPUなどとのメモリアクセスが競合するため、一般的にリード要求コマンドが出されてからリードデータが得られるまでに所定の時間がかかってしまう。
FIG. 30A shows the timing of memory read processing via the
近年の半導体技術の進歩により、CPU等が含まれるLSIに、従来外部にあったシステムバスを内蔵させるようになっている。このようなシステムバス(オンチップバス)の標準プロトコールとしてOCP(Open Core Protocol)が最近注目を集めている。図30(B)に最新のオンチップバスでのリード処理のタイミングを示す。 Due to recent advances in semiconductor technology, LSIs that include a CPU or the like have been built with a system bus that has been conventionally external. OCP (Open Core Protocol) has recently attracted attention as a standard protocol for such a system bus (on-chip bus). FIG. 30B shows the timing of read processing on the latest on-chip bus.
図29は、このオンチップバスを用いる構成であり、同じLSI内でCPU100、描画装置105、メモリコントローラ107がオンチップバス107に接続される。
FIG. 29 shows a configuration using this on-chip bus. In the same LSI, the
図26のような構成は、もっぱらCPU性能に依存するため、プリンタの高解像度化、高速化への対応が難しい。 Since the configuration as shown in FIG. 26 depends solely on the CPU performance, it is difficult to cope with higher resolution and higher speed of the printer.
図27のような構成は、CPUと描画装置のメモリ競合がない利点がある。しかし、その反面、メインメモリとは別のメモリLSIをバンドメモリとして用いるとメモリコストが大きく、またメモリLSIの大容量化により、その未使用の容量が増加しメモリ利用効率が悪い等の弱点がある。なお、描画装置等を構成するLSIにバンドメモリを内蔵させるようなことも考えられるが、これはLSIのコスト増加を伴う。 The configuration as shown in FIG. 27 has an advantage that there is no memory contention between the CPU and the drawing apparatus. However, on the other hand, if a memory LSI different from the main memory is used as a band memory, the memory cost is high, and due to the increase in capacity of the memory LSI, the unused capacity increases and the memory utilization efficiency is poor. is there. Although it is conceivable to incorporate a band memory in the LSI constituting the drawing apparatus or the like, this involves an increase in the cost of the LSI.
図28のような構成では、メモリアクセスをメモリアービターによって調停するため、図30(A)のようなリードタイミングとなり、描画装置はリード要求してからリードデータが出力されるまで待ち状態となる。このため、描画装置による処理の高速実行が難しい。 In the configuration as shown in FIG. 28, since the memory access is arbitrated by the memory arbiter, the read timing is as shown in FIG. 30A, and the drawing apparatus waits until the read data is output after the read request is made. For this reason, high-speed execution of processing by the drawing apparatus is difficult.
図29のオンチップバスを使用した構成では、CPUと描画装置のメモリアクセスの調停をうまく行うことができ、リードタイミングは図30(B)のようになる。すなわち、描画装置はリード要求コマンドを、そのリード応答を待つことなく次々と連続的に発行することができるため、描画装置は効率よく描画処理を実行できる。しかしながら、バンドメモリ上の同じアドレスに対する”リード・モディファイ・ライト”(RMW)時に不適切な描画/論理演算処理となる場合があるという問題点がある。これについて図31乃至図34を用い説明する。 In the configuration using the on-chip bus of FIG. 29, the memory access between the CPU and the drawing apparatus can be well coordinated, and the read timing is as shown in FIG. In other words, the drawing apparatus can issue the read request command successively one after another without waiting for the read response, so that the drawing apparatus can efficiently execute the drawing process. However, there is a problem that improper drawing / logical operation processing may occur during “read-modify-write” (RMW) for the same address on the band memory. This will be described with reference to FIGS.
まず、図31(A)のように横長の四角形と縦長の四角形が描画されるべき場合に、図31(B)のように不正な描画となることがあり、これを図32により説明する。今、図32(A)のようにバンドメモリの各描画領域に番号を振り、不正な描画となる原因を図32(B)のタイミング図により説明する。 First, when a horizontally long rectangle and a vertically long rectangle are to be drawn as shown in FIG. 31A, the drawing may be incorrect as shown in FIG. 31B. This will be described with reference to FIG. Now, a number is assigned to each drawing area of the band memory as shown in FIG. 32A, and the cause of illegal drawing will be described with reference to the timing chart of FIG.
図31の”(1)四角形描画”を目的としたリード・モディファイ・ライト(RMW)のために、まず図32(A)の領域(1),(2),(3)に対しこの順にリード要求コマンドが発行される。つぎに図31の”(2)四角形描画”を目的としたリード・モディファイ・ライト(RMW)のために図32(A)の領域(4),(2),(5)に対しこの順にリード要求コマンドが発行される。このように領域(2)は順次にリードされるが、図32(B)に見られるように、図31の”(2)四角形描画”に必要な領域(2)は、図31の”(1)四角形描画”の領域(2)のライト前にリードされてしまうため、図31(B)のような不正な描画結果となってしまうのである。 For read-modify-write (RMW) for the purpose of “(1) Rectangle drawing” in FIG. 31, first read in this order with respect to areas (1), (2), and (3) in FIG. A request command is issued. Next, in order to read-modify-write (RMW) for the purpose of “(2) Rectangle drawing” in FIG. 31, the areas (4), (2), and (5) in FIG. 32A are read in this order. A request command is issued. Thus, the area (2) is sequentially read, but as shown in FIG. 32B, the area (2) necessary for “(2) quadrilateral drawing” in FIG. 1) Since it is read before writing in the area (2) of “rectangular drawing”, an incorrect drawing result as shown in FIG. 31B is obtained.
また、図33(A)のように描画すべき場合に図33(B)のような不正な描画結果となる場合がある。これについて図34(A)のタイミング図により説明する。 In addition, when drawing should be performed as shown in FIG. 33A, an incorrect drawing result as shown in FIG. 33B may be obtained. This will be described with reference to the timing chart of FIG.
図33(A)の”(1)領域”及び”(2)領域”の描画を目的としたリード・モディファイ・ライト(RMW)のために、メモリワード(1),(2)に対しこの順にリード要求コマンドが発行される。次に、図33(A)の”(3)領域”及び”(4)領域”の描画を目的としたリード・モディファイ・ライト(RMW)のために、メモリワード(2),(3)に対しこの順にリード要求コマンドが発行される。この場合、図34(A)から分かるように、”(2)領域”は順次リードされるが、図33(A)の”(2)領域”の描画のためのワード(2)のライト前に、図33(A)の”(3)領域”の描画のためにワード(2)がリードされてしまうため、図33(B)のような不正な描画結果となってしまうのである。 For read-modify-write (RMW) for the purpose of drawing “(1) area” and “(2) area” in FIG. 33 (A), the memory words (1) and (2) are in this order. A read request command is issued. Next, for read-modify-write (RMW) for the purpose of drawing “(3) region” and “(4) region” in FIG. On the other hand, read request commands are issued in this order. In this case, as can be seen from FIG. 34A, the “(2) region” is read sequentially, but before writing the word (2) for drawing the “(2) region” in FIG. In addition, since the word (2) is read for drawing the “(3) region” in FIG. 33A, an incorrect drawing result as shown in FIG. 33B is obtained.
本発明の主たる目的は、上に述べたようなオンチップバス方式におけるリード・モディファイ・ライト(RMW)に関連した問題点を解消し、効率的な処理により正しい描画結果を得られるようにすることにある。 The main object of the present invention is to eliminate the problems related to read-modify-write (RMW) in the on-chip bus system as described above, and to obtain a correct drawing result by efficient processing. It is in.
先に述べた図31(B)のような不正な描画結果となることを防止し、図31(A)の正しい描画結果を得るには、描画処理のためのリード・モディファイ・ライトのタイミングを図32(C)のように制御すればよい。同様に、図33(B)のような不正な描画結果となることを防止し、図33(A)のような正しい描画結果を得るには、描画処理のためのリード・モディファイ・ライト(RMW)のタイミングを図34(B)のように制御すればよい。 In order to prevent an incorrect drawing result as shown in FIG. 31B and obtain the correct drawing result of FIG. 31A, the timing of the read-modify-write for the drawing process is set. Control may be performed as shown in FIG. Similarly, in order to prevent an incorrect drawing result as shown in FIG. 33B and obtain a correct drawing result as shown in FIG. 33A, a read-modify-write (RMW) for drawing processing is performed. ) May be controlled as shown in FIG.
本発明は以上に鑑みたものであり、以下のような特徴を有するものである。 The present invention has been made in view of the above, and has the following characteristics.
すなわち、請求項1記載の発明は、オンチップバスを介しアクセス可能なメモリに対し描画処理を実行する描画装置であって、前記描画処理のために、前記メモリからデータを読み出すためのリード要求コマンドを、それに対するリード応答を待つことなく連続的に発行し、発行済みの各リード要求コマンドに対しリード応答が返った時に、そのリードデータに論理演算処理を施したライトデータを前記メモリの当該リード要求コマンドと同一のアドレスへ書き込むためのライト要求コマンドを発行する論理演算処理装置を有し、前記論理演算処理装置は、リード応答が未だ返されない発行済みリード要求コマンドと同じアドレス対する新たなリード要求コマンドの発行を抑止する手段を含むことを特徴とする描画装置である。
That is, the invention according to
請求項2記載の発明は、請求項1記載の発明に係る描画装置であって、前記論理演算処理装置は、発行済みの各リード要求コマンドのアドレスを、当該リード要求コマンドに対するリード応答が返されて当該アドレスに対するライト要求コマンドが発行されるまで記憶するFIFOを含み、前記抑止する手段は、発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記FIFOに記憶されている場合に当該新たなリード要求コマンドの発行を抑止し、その後に前記FIFOに最後に格納されたアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする描画装置である。 A second aspect of the present invention is the drawing apparatus according to the first aspect of the invention, wherein the logical operation processing device returns an address of each issued read request command and a read response to the read request command is returned. And a FIFO that stores until a write request command for the address is issued, and the means for suppressing the new address when the same address as the address of a new read request command to be issued is stored in the FIFO. The drawing is characterized in that the issuance of a new read request command is canceled when a write request command for the address last stored in the FIFO is issued thereafter. Device.
請求項3記載の発明は、請求項1記載の発明に係る描画装置であって、前記論理演算処理装置は、発行済みの各リード要求コマンドのアドレスを、当該リード要求コマンドに対するリード応答が返されて当該アドレスに対するライト要求コマンドが発行されるまで記憶するFIFOを含み、前記抑止する手段は、発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記FIFOに記憶されている場合に当該新たなリード要求の発行を抑止し、その後に前記FIFO内の当該新たなリード要求コマンドと同じアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする描画装置である。 A third aspect of the present invention is the drawing apparatus according to the first aspect of the invention, wherein the logical operation processing device returns an address of each issued read request command and a read response to the read request command is returned. And a FIFO that stores until a write request command for the address is issued, and the means for suppressing the new address when the same address as the address of a new read request command to be issued is stored in the FIFO. Issuance of a new read request command is canceled when a write request command for the same address as the new read request command in the FIFO is subsequently issued. Is a drawing apparatus.
請求項4記載の発明は、オンチップバスを介しアクセス可能なメモリに対し描画処理を実行する描画処理方法であって、前記描画処理のために、前記メモリからデータを読み出すためのリード要求コマンドを、それに対するリード応答を待つことなく連続的に発行し、発行済みの各リード要求コマンドに対しリード応答が返った時に、そのリードデータに論理演算処理を施したライトデータを前記メモリの当該リード要求コマンドと同一のアドレスへ書き込むためのライト要求コマンドを発行し、リード応答が未だ返されない発行済みリード要求コマンドと同じアドレス対する新たなリード要求コマンドの発行を抑止することを特徴とする描画処理方法である。 According to a fourth aspect of the present invention, there is provided a drawing processing method for executing drawing processing on a memory accessible via an on-chip bus, wherein a read request command for reading data from the memory is used for the drawing processing. When the read response is returned for each issued read request command without waiting for the read response to the read request, write data obtained by performing logical operation processing on the read data is sent to the read request in the memory. A drawing processing method characterized by issuing a write request command for writing to the same address as the command and suppressing issuing a new read request command for the same address as an issued read request command for which a read response has not yet been returned is there.
請求項5記載の発明は、請求項4記載の発明に係る描画処理方法であって、発行済みの各リード要求コマンドのアドレスを、当該リード要求コマンドに対するリード応答が返されて当該アドレスに対するライト要求コマンドが発行されるまでFIFOに記憶させ、発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記FIFOに記憶されている場合に当該新たなリード要求コマンドの発行を抑止し、その後に前記FIFOに最後に格納されたアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする描画処理方法である。 A fifth aspect of the present invention is the drawing processing method according to the fourth aspect of the invention, wherein the address of each issued read request command is the write request for the address when a read response to the read request command is returned. It is stored in the FIFO until a command is issued, and when the same address as the address of a new read request command to be issued is stored in the FIFO, the issue of the new read request command is suppressed, and then The drawing processing method is characterized in that when the write request command for the address stored last in the FIFO is issued, the suppression of the issue of the new read request command is released.
請求項6記載の発明は、請求項4記載の発明に係る描画処理方法であって、発行済みの各リード要求コマンドのアドレスを、当該リード要求コマンドに対するリード応答が返されて当該アドレスに対するライト要求コマンドが発行されるまでFIFOに記憶させ、発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記FIFOに記憶されている場合に当該新たなリード要求の発行を抑止し、その後に前記FIFO内の当該新たなリード要求コマンドと同じアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする描画処理方法である。 A sixth aspect of the present invention is the drawing processing method according to the fourth aspect of the present invention, wherein the address of each issued read request command is the write request for the address when a read response to the read request command is returned. It is stored in the FIFO until a command is issued, and when the same address as the address of a new read request command to be issued is stored in the FIFO, the issue of the new read request is suppressed, and then the FIFO A drawing processing method is characterized in that when the write request command for the same address as the new read request command is issued, the suppression of the issue of the new read request command is released.
請求項1乃至6記載の発明によれば、描画処理のためのリード要求コマンドを連続的に発行することによって描画処理を効率良く高速に実行できるとともに、図32(B)又は図34(A)に示したような不適切なリード・モディファイ・ライトのタイミングとなることを防止して描画処理を適正に実行することができる。また、請求項3,6記載の発明によれば、FIFOに記憶されている、新たなリード要求コマンドのアドレスと一致するアドレスに対するリード応答が返り、該アドレスに対するライト要求コマンドが発行された時点で、該新たなリード要求の発行の抑止が解除されるため、当該アドレスより後にFIFOに格納されたアドレスがある場合には、請求項2,5記載の発明に比べ、新たなリード要求の発行が抑止される時間を短縮することができ、このことは描画処理の高速化に有利である。
According to the first to sixth aspects of the present invention, the drawing process can be executed efficiently and at high speed by continuously issuing the read request command for the drawing process, and FIG. 32 (B) or FIG. 34 (A). Thus, it is possible to appropriately perform the drawing process by preventing the inappropriate read-modify-write timing as shown in FIG. According to the third and sixth aspects of the present invention, when a read response to an address that matches the address of a new read request command stored in the FIFO is returned and a write request command for the address is issued. Since the deterrence of the issuance of the new read request is released, if there is an address stored in the FIFO after the address, the new read request is issued compared to the inventions of
以下、図面を用い本発明の実施の形態について詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、本発明の一実施形態に係るプリンタの概略構成図である。このプリンタは、4色(Y,M,C,K)の画像をそれぞれ独立した作像系1Y、1M、1C、1Kで形成し、この4色の画像を重ね合わせてカラー画像を形成する4ドラム・タンデム型のプリンタエンジンを用いるものである。
FIG. 1 is a schematic configuration diagram of a printer according to an embodiment of the present invention. In this printer, four color (Y, M, C, K) images are formed by independent
各作像系1Y,1M,1C,1Kは、像担持体である感光体として、例えば小径のOPC(有機感光体)ドラム2Y,2M,2C,2Kを有し、それらを取り囲むように、作像の上流側から帯電手段としての帯電ローラ3Y,3M,3C,3Kと、OPCドラム2Y,2M,2C,2K上の静電潜像をそれぞれ現像剤で現像してY,M,C,K各色のトナー像とする現像装置4Y,4M,4C,4Kと、クリーニング装置5Y,5M,5C,5Kと、除電装置6Y,6M,6C,6Kなどが配置されている。各現像装置4Y,4M,4C,4Kの脇には、それらへY,M,C,K各色トナーを補給するトナーボトルユニット7Y,7M,7C,7Kが配置されている。
Each of the
また、各作像系1Y、1M、1C、1Kはそれぞれ独立した光書き込み装置8Y,8M,8C,8Kを備えている。これら光書き込み装置8Y,8M,8C,8Kは,レーザ光源としてのレーザダイオード(LD)9Y,9M,9C,9Kや、コリメートレンズ10Y,10M,10C,10K、fθレンズ11Y,11M,11C,11Kといった光学部品、レーザ光の偏向走査手段としてのポリゴンミラー12Y,12M,12C,12K、折り返しミラー13Y,13M,13C,13K,14Y,14M,14C,14Kなどから構成されている。
The
各作像系1Y,1M,1C,1Kは垂直に配列され、その右側に転写ベルトユニットが配置される。転写ベルトユニット15は、転写ベルト16がローラ17〜20に張架されて図示しない駆動源により回転駆動される構成である。プリンタ下部には転写材としての転写紙が収納された給紙トレイ21が配置され、プリンタ上部には定着装置22、排紙ローラ23及び排紙トレイ24が配設される。
Each
作像時には、各作像系1Y,1M,1C,1Kにおいて、OPCドラム2Y,2M,2C,2Kが図示しない駆動源により回転駆動され、帯電ローラ3Y,3M,3C,3KによりOPCドラム2Y,2M,2C,2Kが一様に帯電され、光書き込み装置8Y,8M,8C,8Kが各色の画像データに基づきOPCドラム2Y,2M,2C,2Kに光書込みを行うことによって、OPCドラム2Y,2M,2C,2K上に各色画像の静電潜像が形成される。
At the time of image formation, in each
OPCドラム2Y,2M,2C,2K上の静電潜像はそれぞれ現像装置4Y,4M,4C,4Kにより現像されてY,M,C,K各色のトナー像となる。一方、給紙トレイ21から給紙ローラ25により転写紙が水平方向に給紙され、この転写紙は転写ベルト16に静電的に吸着保持されて搬送され、図示しない転写バイアス印加手段により転写バイアスを印加されてOPCドラム2Y,2M,2C,2K上の各色のトナー像が転写紙に順次に重ねて転写されることでフルカラー画像が形成される。このフルカラー画像が形成された転写紙は、定着装置22によりフルカラー画像を定着された後、排紙ローラ23により排紙トレイ24へ排出される。
The electrostatic latent images on the OPC drums 2Y, 2M, 2C, and 2K are developed by the developing
また、このプリンタは電装・制御装置26を備え、ここに以上の作像動作のための制御や画像処理のための要素が集約されている。
In addition, the printer includes an electrical /
図2は、図1中の電装・制御装置26の機能的構成の一例を示すブロック図である。図中の破線の内部は1つのLSIとして実現された部分である。
FIG. 2 is a block diagram showing an example of a functional configuration of the electrical /
図2において、1001はCPUであり、1015はメインメモリである。メインメモリ1015の領域割り当て例を図3に示す。図3に示すように、メインメモリ1015には、PDL(ページ記述言語)により記述されたドキュメントのデータ(PDLデータ)を記憶するためのPDLメモリ領域、PDLの解析結果である中間言語を記憶するための中間言語メモリ領域、バンドデータを記憶するためのバンドメモリ領域、バンドデータの符号データを複数ページ分記憶するための符号ページメモリ領域、CPU1001のプログラムが記憶されるプログラム領域、処理の中間結果等の記憶のためのワーク領域等が割り当てられる。
In FIG. 2, 1001 is a CPU and 1015 is a main memory. An example of area allocation in the
図2に戻る。CPUインターフェース1002はCPU1001とメモリコントローラ1004の間のインターフェース処理を行う。オンチップバス1003はCPU1001、ローカルバス・インターフェース1011、復号装置1007,符号化装置1006、描画装置1005等とメモリコントローラ1004との間のデータ転送をコントロールする。メモリコントローラ1004は、オンチップバス1003と接続され、メインメモリ1015を制御する。描画装置1005はメインメモリ1015の中間言語メモリ領域より描画コマンドを受け取ってメインメモリ1015上のバンドメモリ領域にバンド画像を描画する処理を行う手段である。符号化装置1006は、メインメモリ1015上のバンドメモリ領域からバンドデータを読み込んで符号化し、その符号データをメインメモリ1015上の符号ページメモリ領域へ書き込む手段である。復号装置1007は、図1に関連して説明したプリンタエンジン1009に同期して、メインメモリ1015の符号ページメモリ領域より符号データを読み込んで復号し、復号データをエンジンコントローラ1008へ転送する手段である。エンジンコントローラ1008はプリンタエンジン1009を制御する手段である。通信コントローラ1010は、ネットワークに接続された外部のパソコン(PC)等との通信を制御する手段である。ローカルバス・インターフェース1011は、ROM1012、パネルコントローラ1013等とCPU1001、メインメモリ1015等とのインターフェース処理を行う。ROM1012は、文字等のフォント情報やCPU1001のプログラム等を格納している。パネルコントローラ1013はパネル1014を制御するものである。パネル1014はユーザーがプリンタへコマンド等を入力するために操作されるものである。
Returning to FIG. The
次に、PDLデータの入力から、そのプリントアウトまでの処理の流れを説明する。図4は、そのための処理概念図である。 Next, the flow of processing from the input of PDL data to its printout will be described. FIG. 4 is a conceptual diagram of processing for that purpose.
ネットワークを介し接続されたパソコン(PC)1020によりPDLデータが生成され、これがプリンタへ転送される。プリンタにおいて、通信コントローラ1010は、PC1020より転送されたPDLデータをメインメモリ1015のPDLメモリ領域へ格納する。CPU1001は、そのPDLデータを解析して描画装置1005で処理可能な描画コマンドである中間言語を生成し、これをメインメモリ1015の中間言語メモリ領域に書き込む。また、CPU1001は、描画装置1005に対し描画処理を行うべき中間言語のスタートアドレスを設定したり、描画処理の起動をかけたり、描画装置1005のステータスレジスタの値を読み込んで描画装置1005の状態を確認したり、プリンタ全体の制御を行う。
PDL data is generated by a personal computer (PC) 1020 connected via a network and transferred to a printer. In the printer, the
描画装置1005は、CPU1001からの起動命令により描画処理をスタートし、CPU1001より設定されたアドレスに従って中間言語メモリ領域から中間言語を読み込んで解析し、メインメモリ1015のバンドメモリ領域への描画を行う。この時に、描画装置1005は処理の状態をステータスレジスタでCPU1001へ知らせる。
The
符号化装置1006は、メインメモリ1015のバンドメモリ領域からバンドデータを読み込んで符号化し、その符号データをメインメモリ1015の符号ページメモリ領域へ書き込む。
The
復号装置1007は、プリンタエンジン1009に同期し、メインメモリ1015の符号ページメモリ領域から符号データを読み込んで復号し、復号した画像データをエンジンコントローラ1008へ出力する。エンジンコントローラ1008は、復号装置1007から入力した画像データをプリンタエンジン1009によりプリントさせる。
The
図5に、バンドメモリ領域上のバンドメモリのフォーマットと、それに対する描画例を示す。図5において、描画ワード幅は描画装置1005がバンドメモリをアクセスするワードの幅である。この描画例は、ラインYに対して水平ラインX始点から水平ラインX終点までの水平ラインを描画する例である。
FIG. 5 shows a format of the band memory on the band memory area and a drawing example for the format. In FIG. 5, the drawing word width is the width of a word for the
図6に描画処理される中間言語の例を示す。この中間言語から描画されるバンド画像の例を図7に示す。図8に、図6に示した各描画コマンドのフォーマット例を示す。 FIG. 6 shows an example of an intermediate language to be drawn. An example of a band image drawn from this intermediate language is shown in FIG. FIG. 8 shows a format example of each drawing command shown in FIG.
以下、本発明に係る描画装置1005について詳細に説明する。図9に描画装置1005のブロック図を示す。図示のように、描画装置1005は、オンチップバス1003とのインターフェース2001と、描画パターン生成装置2002と、論理演算処理装置2003と、コントローラ2004とから構成される。
Hereinafter, the
描画パターン生成装置2002は、図8に示したような描画コマンドを解析してバンドメモリ領域へ描画するための描画パターンを生成し、論理演算処理装置2003に対し、ワード単位の描画パターン、描画マスクパターン、描画アドレスなどを転送する。論理演算処理装置2003は、描画パターン生成装置2002から描画パターン、マスクパターン、アドレス、論理演算TYPEなどを受け取って、オンチップバス・インターフェース2001及びオンチップバス1003を介して、メインメモリ1015のバンドメモリ領域へバンド画像を描画する。この論理演算処理装置2003が本発明のポイントに関わる部分である。コントローラ2004は、描画装置1005の全体を制御する手段である。
The drawing
図10に描画パターン生成装置2002の概略ブロック図を示す。図示のように、描画パターン生成装置2002は、描画コマンド解析装置3001、水平ライン変換装置3002、水平ライン描画装置3003、パラメータ記憶装置3004を含む構成である。
FIG. 10 shows a schematic block diagram of the drawing
描画コマンド解析装置3001は、オンチップバス・インターフェース2001を介してメインメモリ1015の中間言語メモリ領域より中間言語を読み込んで解析し、パラメータの設定コマンドであればパラメータ記憶装置3004へパラメータ値を転送し、描画コマンドであれば水平ライン変換装置3002へ該描画コマンドを転送する。水平ライン変換装置3002は、描画コマンド解析装置3001より受け取った描画コマンドを水平ラインへ変換し、水平ラインデータ(水平ラインY値、水平ライン始点値、水平ライン終点値)を水平ライン描画装置3003へ転送する。水平ライン描画装置3003は、水平ライン変換装置3002からの水平ラインデータに基づき、水平ラインを描画するワード単位の描画パターンとマスクパターンとアドレス等を生成し、これを論理演算処理装置2003へ転送する。パラメータ記憶装置3004は、描画コマンド解析装置3004から転送されたパラメータ値を記憶するものであり、その記憶データは水平ライン変換装置3002及び水平ライン描画装置3004からアクセスされる。論理演算処理装置2003からの描画WAIT信号がONになると、描画パターン生成装置2002は処理を中止もしくは停止(WAIT)し、その時の状態を描画WAIT信号がOFFされるまで継続する。
The drawing
ここで、図8に示したコマンドとの関連を説明する。 Here, the relationship with the command shown in FIG. 8 will be described.
図8の(a)に示したバンド初期化コマンドは、バンドの先頭アドレスと、バンドの高さ及び幅を定義している。描画コマンド解析装置3001は、このバンド初期化コマンドを受け取った場合、バンドの先頭アドレス、バンドの高さ、バンドの幅をパラメータ記憶装置3004へ格納する。
The band initialization command shown in FIG. 8A defines the start address of the band and the height and width of the band. When receiving the band initialization command, the drawing
図8の(b)に示した四角形描画コマンドは、指定された四角形の左上の座標から右下の座標までの四角形を描画させるものである。描画コマンド解析装置3001は、このコマンドを受け取った場合、四角形の左上の座標及び右下の座標と四角形コマンド名を水平ライン変換装置3002へ転送し描画処理を行わせる。
The rectangle drawing command shown in FIG. 8B is for drawing a rectangle from the upper left coordinate to the lower right coordinate of the designated rectangle. When receiving this command, the drawing
図8の(c)に示した三角形描画コマンドは、指定された三角形の各端点座標から3角形を描画させるものである。描画コマンド解析装置3001は、このコマンドを受け取った場合、三角形の各端点座標と3角形コマンド名を水平ライン変換装置3002へ転送して描画処理を行わせる。
The triangle drawing command shown in FIG. 8C is for drawing a triangle from each end point coordinate of a designated triangle. When receiving this command, the drawing
図8の(e)に示すバンド終了コマンドは、定義したバンドの描画の終了を意味する。描画コマンド解析装置3001は、このバンド終了コマンドを受け取ると、当該バンドの描画処理を終了する。
The band end command shown in (e) of FIG. 8 means the end of drawing of the defined band. When receiving the band end command, the drawing
なお、他のコマンドに関して簡単に説明する。例えば中間調処理のためのハーフトーンしきい値アドレスと描画階調値を定義する描画階調定義コマンドがある。描画パターン生成装置2002にいては、この描画階調定義コマンドを受け取ると、描画階調値をパラメータ記憶装置3004に格納し、ハーフトーン生成装置(不図示)でハーフトーンしきい値アドレスにより指定されたハーフトーンしきい値記憶装置(不図示)からハーフトーンしきい値を読み込み、該描画階調値を該ハーフトーンしきい値で2値化してパターンをハーフトーンパターンメモリ(不図示)へ転送する。また、ハーフトーンパターンのX幅、Y幅と各画素ごとのしきい値テーブルのアドレスを定義する、しきい値テーブルセットコマンドがある。描画パターン生成装置2002において、このコマンドを受け取ると、ハーフトーンパターンのX幅、Y幅をパラメータ記憶装置3004に格納し、しきい値テーブルのアドレスの示すメインメモリのワーク領域のしきい値テーブルを読み込み、ハーフトーンしきい値記憶装置(不図示)へ転送する。
Other commands will be briefly described. For example, there is a drawing tone definition command for defining a halftone threshold address and a drawing tone value for halftone processing. When the drawing
図11に、論理演算処理装置2003のブロック図を示す。この論理演算処理装置2003が本発明の主要部である。図示のように、論理演算処理装置2003は、リードライト制御装置4001、RMW(リード・モディファイ・ライト)データFIFO装置4002、ROP処理装置4003、Read(リード)画像FIFO装置4004及びリード/ライト・インターフェース装置4005から構成される。
FIG. 11 is a block diagram of the logical
リードライト制御装置4001には、描画パターン生成装置2002(図9)から描画パターン、描画マスクパターン、描画アドレス、論理演算TYPE等が入力する。このリードライト制御装置4001の動作は図12のフローチャートに示す通りである。
The read /
描画パターン生成装置2002からのデータイネーブル信号がアクティブである時に(step100,Yes)、論理演算TYPEがリード要求を必要としないもので(step101,Yes)、かつ、描画マスクに隙間が無いとき(step102,Yes)、ライトのみの処理であると判断する。論理演算TYPEがリード要求を必要とするとき(step101,No)又は描画マスクに隙間があるとき(step102,No)、RMW処理であると判断する。
When the data enable signal from the drawing
ライトのみの処理と判断した場合には、RMWデータイネーブル信号をONして描画パターン生成装置2002より受け取った描画アドレスをRMWデータFIFO中4002へ転送し(step103)、RWMデータFIFO装置4002からOK信号が出されるかチェツクする(step104)。OK信号が出されたならば(step104,Yes)、描画パターン生成装置2002より入力した描画アドレスと描画パターンをリード/ライト・インターフェース装置4005へ転送してライト処理を要求し(step105)、したがってリード/ライト・インターフェース装置4005よりオンチップバス1003に対しライト要求のコマンドが出される。RMWデータFIFO装置4002からOK信号が出されるのは、リードライト制御装置4001より転送された描画アドレスと同じ描画アドレスがRMWデータFIFO装置4002に蓄積されていない場合である。このような制御を行うことにより、既に発行されたリード要求コマンドと同一描画アドレスに対する新たなライト要求コマンドの発行を、先行した当該描画アドレスに対するリード・モディファイ・ライト処理が終了するまで抑止する。
If it is determined that the process is only for writing, the RMW data enable signal is turned on to transfer the drawing address received from the drawing
一方、RMW処理と判断した場合(step101又は102,No)、描画パターン生成装置2002より入力した描画パターン、描画マスクパターン、描画アドレス、論理演算TYPEをRMWデータFIFO装置4002へ転送し(step106)、RMWデータFIFO装置4002からOK信号が出されるかチェツクする(step107)。OK信号が出されたことを確認したときにのみ(step107,Yes)、リード/ライト・インターフェース装置4005に対し、描画パターン生成装置2002から入力した描画アドレスを転送してリード処理を要求し(step108)、したがってリード/ライト・インターフェース装置4005よりオンチップバス1003に対しリード要求のコマンドが出される。このような制御を行うことにより、既に発行されたリード要求コマンドと同一描画アドレスに対する新たなリード要求コマンドの発行を、先行した当該描画アドレスに対するリード・モディファイ・ライト処理が終了するまで抑止する。
On the other hand, when the RMW process is determined (step 101 or 102, No), the drawing pattern, drawing mask pattern, drawing address, and logical operation TYPE input from the drawing
図13に、RMWデータFIFO装置4002の第1の実施例のブロック図を示す。図示のように、第1の実施例に係るRMWデータFIFO装置4002は、描画パターンFIFO5001、描画マスクFIFO5002、論理演算TYPEFIFO5003、描画アドレスFIFO5004、描画アドレス比較装置5005、FIFOカウンタ5006、FIFOコントローラ5007から構成される。
FIG. 13 shows a block diagram of a first embodiment of the RMW
描画パターンFIFO5001は、リードライト制御装置4001から入力した描画パターンを記憶し、FIFOカウンタ5006の値に基づきFIFO(先入れ先出し)方式で出力するための記憶手段である。描画マスクFIFO5002は、リードライト制御装置4001から入力した描画マスクデータを記憶し、FIFOカウンタ5006の値に基づきFIFO方式で出力するための記憶手段である。論理演算TYPEFIFO5003は、リードライト制御装置4001から入力した論理演算TYPRデータを記憶し、FIFOカウンタ5006の値に基づきFIFO方式で出力するための記憶手段である。描画アドレスFIFO5004は、リードライト制御装置4001から入力した描画アドレスデータを記憶し、FIFOカウンタ5006の値に基づきFIFO方式で出力するための記憶手段である。この描画アドレスFIFO5004に記憶されている描画アドレスデータは描画描画アドレス比較装置5005へ入力される。
The
描画アドレス比較装置5005は、リードライト制御装置4001より入力された描画アドレスが、描画アドレスFIFO5004に格納されている有効な描画アドレスのいずれかと一致するか否かの判定を行い、その判定結果(COMP)をFIFOコントローラ5007へ出力する。FIFOカウンタ5006は、リードライト制御装置4001からのデータを各FIFO5001〜5004に格納するたびにFIFOコントローラ5007からのUP信号によってカウントアップし、この時、各FIFO5001〜5004に格納可能なデータ量を超えた場合(FULL状態)にFULL信号をFIFOコントローラ5007へ出力する。また、ROP処理装置4003からのリードイネーブル信号がONした時にFIFOコントローラ5007からのDOWN信号によってFIFOカウンタ5006はカウントダウンする。FIFOコントローラ5007は、描画アドレス比較装置5005からのCOMP信号、FIFOカウンタ5006からのFULL信号及びそのカウント値、リードライト制御装置4001からのRMWデータイネーブル信号、ROP処理装置4003からのデータイネーブル信号に基づいて、FIFOカウンタ5006のカウントアップ/ダウンの制御や描画WAIT信号の制御等を行うもので、そのフローチャートを図15に示す。
The drawing
図14に、第1の実施例に係る描画アドレス比較装置5005のブロック図を示す。描画アドレス比較装置5005においては、リードライト制御装置4001から入力する、現在書き込もうとする描画アドレスと、描画アドレスFIFO5004内の0番目,1番目,2番目,...,N番目の描画アドレスとが比較器5101,5102,...,15104によって比較され、各比較結果は対応したANDロジック5106,5107,5108,...,5109へ入力される。有効BIT生成装置5105は、FIFOカウンタ5006の値に基づいて、描画アドレスFIFO5004内の有効な描画アドレスに対応したビットのみが”1”の有効BIT信号を生成する。この有効BIT信号が対応したANDロジック5106,5107,5108,...,5109に入力信号することにより、比較器5101〜5104の比較結果のうちの描画アドレスFIFO5004内の有効な描画アドレスに対応したものだけが、これらANDロジックを介してORロジック5110に入力されOR演算される。このORロジック5110の出力信号がCOMP信号としてFIFOコントローラ5007へ入力される。つまり、描画アドレスFIFO5004内の有効な描画アドレスのいずれかと、入力した描画アドレスとが一致した時に判定結果信号COMPが”1”となる。FIFOコントローラ5007は、COM信号が”0”の時、つまり描画アドレスが一致しなかった時に、それをリードライト制御装置4001へ知らせるためにOK信号を送出する。
FIG. 14 is a block diagram of a drawing
図16に、RMWデータFIFO装置4002の第2の実施例のブロック図を示す。図16において、図13中の対応した部分には同一の符号が付けられている。FIFOコントローラ5007は、描画アドレス比較装置5005よりNUM信号が入力される点が前記第1の実施例と異なる。このFIFOコントローラ5007のフローチャートを図18に示す。図18及び図15において、対応したステップに同一のステップ番号が付けられている。
FIG. 16 shows a block diagram of a second embodiment of the RMW
図17に、この第2の実施例に係る描画アドレス比較装置5005のブロック図を示す。図17を図14と対比すれば明らかなように、本実施例に係る描画アドレス比較装置はMAX数値生成装置5111が追加されている。このMAX数値生成装置5111は、ANDロジック5106〜5109より入力する、最も新しい有効な比較結果を数値化し、それをMUMとしてFIFOコントローラ5007へ出力する。図19に、MAX数値生成装置5111のフローチャートを示す。すなわち、入力した描画アドレスと一致する描画アドレスの描画FIFO5004内の格納位置がNUMとして出力される。
FIG. 17 shows a block diagram of a drawing
以上に述べた構成のRMWデータFIFO装置4002の全体的な動作を説明する。RMWデータFIFO装置4002は、リードライト制御装置4001からのデータイネーブル信号がアクティブになると、リードライト制御装置4001から描画パターン、描画マスクパターン、描画アドレス、論理演算TYPEを受け取り(ライト要求の場合は描画アドレスのみ受け取り)、受け取った描画アドレスが描画FIFO5004に格納されている有効な描画アドレスのいずれとも一致しなければ(step203,No)、OK信号を送出する(step202A)。そして、RMW処理の場合のみであるが(図15及び図18では省略されいるが、例えば有効な論理演算TYPEを受け取った等からRMW処理の場合であることを判定することができる)、各FIFO5001〜5004の空きがない状態でなければ、つまりFIFOカウンタ5006からのFULL信号がアクティブになっていなければ(step203,No)、受け取った描画アドレス、論理演算TYPE、描画マスク、描画パターンを対応したFIFO5001〜5004に格納し、FIFOカウンタ5006を1つカウントアップさせる(step204)。
The overall operation of the RMW
一方、これもRMW処理の場合のみであるが、受け取った描画アドレスが描画アドレスFIFO5004に格納されている有効な描画アドレスのいずれかと一致したときには(step202,Yes)、FIFOコントローラ5007内のALL_OUTフラグを”1”にセットし(step205)、次に描画WAIT信号をONにして描画パターン生成装置2002の処理を中止停止(WAIT)させる(step206)。step203で各FIFO5001〜5004が空きのない状態であると判定されたときも(step203,Yes)、同様に描画WAIT信号をONにする。なお、第2の実施例の場合には、step205において、描画アドレス比較装置5005より出力されたMUM値、すなわち、入力した描画アドレスと一致した描画アドレスの描画アドレスFIFO5004内の格納位置が、MAXADDRESSとしてFIFOコントローラ5007内に保持される。
On the other hand, this is also only in the case of RMW processing, but when the received drawing address matches one of the valid drawing addresses stored in the drawing address FIFO 5004 (step 202, Yes), the ALL_OUT flag in the
また、RMWデータFIFO装置4002は、ROP処理装置4003からのデータイネーブル信号がアクティブになると(step207,Yes)、各FIFO5001〜5004の先頭の(一番早く格納された)データをROP処理装置4003へ転送し、FIFOカウンタ5006を1つカウントダウンさせる(step208)。描画WAIT信号がアクティブの場合(step209,Yes)、ALL_OUTフラグが”1”ならば(step210,Yes)、すなわちstep202でアドレス一致と判定されて当該フラグが立てられているときには、各FIFO5001〜5004の全ての格納データが出力済みであるか、つまり描画アドレスFIFO5004に格納された全ての描画アドレスに対するリード・モディファイ・ライト処理が終了しているかチェツクする(step211)。ただし、前記第2の実施例の場合は、各FIFO5001〜5004内のMAXADDRESSで示される格納位置のデータまで出力済みであるかチェツクする。そして、step211の判定結果がYesならば、描画WAIT信号をOFFにして描画パターン生成装置200の処理停止を解除し、その処理を再開させるとともに、ALL_OUTフラグを”0”にリセットする(step213)。また、step210でALL_OUTフラグが”1”でないと判定した場合、つまり、各FIFO5001〜5004の空きがなくなったために描画WAIT信号がONにされている場合には、各FIFO5001〜5004に所定以上の空きが生じたならば(step212,Yes)、描画WAIT信号をOFFにするとともにALL_OUTフラグを”0”にリセットする(step213)。
Further, when the data enable signal from the
図20にROP処理装置4003のフローチャートを示す。このフローチャートに示すように、ROP処理装置4003は、Read画像FIFO装置4004からのデータイネーブル信号がアクティブとなったことを確認すると(step400,Yes)、RMWデータFIFO装置4002から出力される描画アドレス、描画パターン、描画マスク、論理演算TYPEを受け取り、また、Read画像FIFO装置4004からリードデータを受け取り、該描画パターンを該描画マスクによりマスク処理し(step401)、マスク処理後の描画パターン(WDATA)と該リードデータについて、論理演算TYPEに対応した論理演算(図21−1,図21−2参照)を行う(step401)。そして、リードライト・インターフェース装置4005へのデータイネーブル信号をONすることにより、論理演算後のデータ(ライトデータ)の描画アドレスへのライト要求をリードライト・インターフェース装置4005に行い(step402)、リード/ライト・インターフェース装置4005よりライト要求コマンドを発行させる。step402においては、図示されていないが、RMWデータFIFO装置4002の各FIFO5001〜5004内の次のデータの出力を許可するため、RMWデータFIFO装置4002へのデータイネーブル信号もONにする(図15,図15のstep207参照)。
FIG. 20 shows a flowchart of the
なお、図21−1と図21−2は論理演算処理を例示するものである。論理演算番号は前記論理演算TYPEに対応する。また、論理演算処理はVerilog表現である。 FIG. 21A and FIG. 21B exemplify logical operation processing. The logical operation number corresponds to the logical operation TYPE. Also, the logical operation processing is Verilog expression.
図22にROP処理装置4003の概略ブロック図を示す。ANDロジック6001は、RMWデータFIFO装置4002から受け取った描画パターンとマスクデータのAND演算により描画パターンをマスクデータでマスク処理し、処理後の描画パターンを論理演算部6003へ入力する。ANDロジック6002は、Read画像FIFO装置4004から入力するリードデータを、描画マスクデータを反転したデータによりマスク処理し、処理後のリードデータを論理演算部6003へ入力する。論理演算部6003は、入力した描画パターン及びリードデータについて論理演算TYPEに応じた論理演算処理を行い、その結果すなわちライトデータを出力する。
FIG. 22 shows a schematic block diagram of the
次にリード/ライト・インターフェース装置4005の動作を説明する。図23に、リード/ライト・インターフェース装置4005のフローチャートを示す。
Next, the operation of the read /
このフローチャートに示されるように、リード/ライト・インターフェース装置4005は、リードライト制御装置4001からのリード/ライトI/Fイネーブル信号がアクティブになると(step500,Yes)、リードライト制御装置4001からのR/W信号からリード要求かライト要求かを判断する(step501)。
As shown in this flowchart, when the read / write I / F enable signal from the read /
リードライト制御装置4001からのライト要求の場合(step501,No)、オンチップバス・インターフェース2001に対し、リードライト制御装置4001から受け取った描画パターンと描画アドレスをへ転送し、R/W信号によって該描画パターンの該描画アドレスへのライト要求を行う、つまりライト要求コマンドを出す(step502)。
In the case of a write request from the read / write control device 4001 (step 501, No), the drawing pattern and drawing address received from the read /
一方、リードライト制御装置4001からのリード要求の場合(step501,Yes)、オンチップバス・インターフェース2001に対し、リードライト制御装置4001から受け取った描画アドレスをへ転送し、R/W信号によって該描画アドレスのリード要求を行い、つまりリード要求コマンドを出し(step503)、オンチップバス・インターフェース2001からリードデータが戻ってくるのを待つ。オンチップバス1003からリード応答が返されリードデータが戻ってくると(step506,Yes)、Read画像FIFO装置4004へのリードデータイネーブル信号をONして該リードデータをRead画像FIFO装置4004へ転送する(step507)。この時、Read画像FIFO装置4004は、リード/ライト・インターフェース装置4005から受け取ったリードデータを内部のFIFOに格納し、ROP処理装置4003へのデータイネーブル信号をONして、格納したリードデータをROP処理装置4003へ転送する。
On the other hand, in the case of a read request from the read / write control device 4001 (step 501, Yes), the drawing address received from the read /
また、リード/ライト・インターフェース装置4005は、ROP処理装置4003からのデータイネーブル信号がアクティブになると(step504,Yes)、ROP処理装置4003から出力された描画アドレスとライトデータを受け取り、オンチップバス・インターフェース4001に対し該描画アドレスへの該ライトデータのライト要求のコマンドを出す(step505)。これで、ある描画アドレスに対するリード・モディファイ・ライト処理が行われたことになる。
When the data enable signal from the
描画装置1005についての以上の説明から明らかなように、例えば図32(B)に示したようなRMWタイミングとなるような場合に図32(C)のRMWタイミングに自動的に制御され、正しい描画処理が実行される。また、例えば図34(A)に示したようなRMWタイミングとなるような場合に図34(B)に示すRMWタイミングに自動的に制御され、正しい描画処理が実行される。また、具体例は提示しないが、RMWデータFIFO装置4002内の描画アドレスFIFO5004に格納されているRMW処理未了の描画アドレスに対して、リードライト制御装置4001からの新たなライト要求が抑止されるため、そのようなライト要求の発行による不正な描画処理を防止できる。
As is apparent from the above description of the
また、以上の説明から明らかなように、請求項1記載の発明に係る論理演算処理装置は論理演算処理装置2003に対応する。そして、請求項2記載の発明はRMWデータFIFO装置4002が前記第1の実施例の構成をとる場合に相当し、請求項3記載の発明はRMWデータFIFO装置4002が前記第2の実施例の構成をとる場合に相当することも明らかである。また、本実施形態に係る描画装置1005における処理内容は、請求項4乃至6記載の発明に係る描画処理方法の実施例に相当することも明らかである。よって、請求項4乃至6記載の発明に係る描画処理方法についての説明は繰り返さない。
Further, as apparent from the above description, the logical operation processing device according to the first aspect of the invention corresponds to the logical
図24に、符号化装置1006の概略ブロック図を示す。図24において、7001はオンチップバス1003とのインターフェースである。オンチップバス・インターフェース7001からのリード要求に対し、メインメモリ1015のバンドメモリ領域からリードされた画像データはオンチップバス・インターフェース7001を介し取り込まれ、バッファ7002に一時的に記憶される。このバッファ7002内の画像データは、JBIG符号化装置7003によってJBIG規格の符号化方式により符号化される。JBIG符号化装置7003より出力される符号データはバッファ7004に一時的に記憶される。オンチップバス・インターフェース7001からのライト要求によって、バッファ7004内の符号データはオンチップバス1003へ出力され、メインメモリ1015の符号ページメモリ領域へライトされる。リード要求時及びライト要求時のメモリアドレスはメモリアドレス生成装置7005により生成され、オンチップバス・インターフェース7001を介しオンチップバス1003へ出される。以上のような符号化装置1006の動作はコントローラ7006により制御される。
FIG. 24 shows a schematic block diagram of the
図25に、復号装置1007の概略ブロック図を示す。図25において、8001はオンチップバス1003とのインターフェースである。オンチップバス・インターフェース8001からのリード要求に対し、メインメモリ1015の符号ページメモリ領域からリードされた符号データはオンチップバス・インターフェース8001を介し取り込まれ、バッファ8002に一時的に記憶される。このバッファ8002内の符号データは、JBIG復号装置8003によってJBIG規格の復号方式により復号される。JBIG復号装置8003より出力される画像データはバッファ8004に一時的に記憶される。このバッファ8004内の画像データは、プリンタエンジン1009と同期してエンジンコントローラ1008へ転送される。リード要求時のメモリアドレスはメモリアドレス生成装置8005により生成され、オンチップバス・インターフェース8001を介しオンチップバス1003へ出される。以上のような復号装置1007の動作はコントローラ8006により制御される。
FIG. 25 shows a schematic block diagram of the
以上、本発明の実施形態について説明した。しかしながら、本発明は前記実施形態のみに限定されるものではなく様々な変形が可能である。また、本発明はプリンタに限らず、デジタル複写機や複合機(MFP;multi function printer)等の機器に広く適用し得るものである。 The embodiment of the present invention has been described above. However, the present invention is not limited to the above embodiment, and various modifications are possible. The present invention is not limited to a printer, and can be widely applied to devices such as a digital copying machine and a multi function printer (MFP).
1001 CPU
1003 オンチップバス
1005 描画装置
1015 メインメモリ
2001 オンチップバス・インターフェース
2002 描画パターン生成装置
2003 論理演算処理装置
4001 リードライト制御装置
4002 RMWデータFIFO装置
4003 ROP処理装置
4004 Read画像FIFO装置
4005 リード/ライト・インターフェース装置
5001 描画パターンFIFO
5002 描画マスクFIFO
5006 描画アドレスFIFO
5005 描画アドレス比較装置
5006 FIFOカウンタ
5007 FIFOコントローラ
1001 CPU
1003 On-
5002 Drawing mask FIFO
5006 Drawing address FIFO
5005 Draw
Claims (6)
前記描画処理のために、前記メモリからデータを読み出すためのリード要求コマンドを、それに対するリード応答を待つことなく連続的に発行し、発行済みの各リード要求コマンドに対しリード応答が返った時に、そのリードデータに論理演算処理を施したライトデータを前記メモリの当該リード要求コマンドと同一のアドレスへ書き込むためのライト要求コマンドを発行する論理演算処理装置を有し、
前記論理演算処理装置は、リード応答が未だ返されない発行済みリード要求コマンドと同じアドレス対する新たなリード要求コマンドの発行を抑止する手段を含むことを特徴とする描画装置。 A drawing device that performs drawing processing on a memory accessible via an on-chip bus,
For the drawing process, a read request command for reading data from the memory is continuously issued without waiting for a read response to the read request command, and when a read response is returned for each issued read request command, A logical operation processing device that issues a write request command for writing the write data that has undergone logical operation processing to the read data to the same address as the read request command of the memory;
The logical operation processing device includes a drawing device that includes means for suppressing issuance of a new read request command for the same address as an issued read request command for which a read response has not yet been returned.
前記抑止する手段は、発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記FIFOに記憶されている場合に当該新たなリード要求コマンドの発行を抑止し、その後に前記FIFOに最後に格納されたアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする請求項1記載の描画装置。 The logical operation processing device includes a FIFO for storing the address of each issued read request command until a read response to the read request command is returned and a write request command for the address is issued,
The means for inhibiting inhibits issuance of a new read request command when the same address as the address of a new read request command to be issued is stored in the FIFO, and then stores it last in the FIFO. 2. The drawing apparatus according to claim 1, wherein when the write request command for the designated address is issued, the suppression of the issue of the new read request command is canceled.
前記抑止する手段は、発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記FIFOに記憶されている場合に当該新たなリード要求の発行を抑止し、その後に前記FIFO内の当該新たなリード要求コマンドと同じアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする請求項1記載の描画装置。 The logical operation processing device includes a FIFO for storing the address of each issued read request command until a read response to the read request command is returned and a write request command for the address is issued,
The means for inhibiting inhibits the issuance of the new read request when the same address as the address of the new read request command to be issued is stored in the FIFO, and then the new address in the FIFO. 2. The drawing apparatus according to claim 1, wherein when the write request command for the same address as the read request command is issued, the suppression of the issue of the new read request command is canceled.
前記描画処理のために、前記メモリからデータを読み出すためのリード要求コマンドを、それに対するリード応答を待つことなく連続的に発行し、発行済みの各リード要求コマンドに対しリード応答が返った時に、そのリードデータに論理演算処理を施したライトデータを前記メモリの当該リード要求コマンドと同一のアドレスへ書き込むためのライト要求コマンドを発行し、
リード応答が未だ返されない発行済みリード要求コマンドと同じアドレス対する新たなリード要求コマンドの発行を抑止することを特徴とする描画処理方法。 A drawing processing method for executing drawing processing on a memory accessible via an on-chip bus,
For the drawing process, a read request command for reading data from the memory is continuously issued without waiting for a read response to the read request command, and when a read response is returned for each issued read request command, Issuing a write request command for writing the read data that has undergone logical operation processing to the same address as the read request command of the memory,
A drawing processing method, characterized in that issuance of a new read request command for the same address as an issued read request command for which a read response has not yet been returned is suppressed.
発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記FIFOに記憶されている場合に当該新たなリード要求コマンドの発行を抑止し、その後に前記FIFOに最後に格納されたアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする請求項4記載の描画処理方法。 The address of each issued read request command is stored in the FIFO until a read response to the read request command is returned and a write request command for the address is issued,
When the same address as the address of the new read request command to be issued is stored in the FIFO, the issue of the new read request command is suppressed, and then the write request for the address stored last in the FIFO 5. The drawing processing method according to claim 4, wherein the suppression of the issuance of the new read request command is canceled when the command is issued.
発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記FIFOに記憶されている場合に当該新たなリード要求の発行を抑止し、その後に前記FIFO内の当該新たなリード要求コマンドと同じアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする請求項4記載の描画処理方法。 The address of each issued read request command is stored in the FIFO until a read response to the read request command is returned and a write request command for the address is issued,
When the same address as the address of the new read request command to be issued is stored in the FIFO, the issue of the new read request is suppressed, and then the same address as the new read request command in the FIFO 5. The drawing processing method according to claim 4, wherein when the write request command is issued, the suppression of the issuance of the new read request command is released.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006112911A JP2007286863A (en) | 2006-04-17 | 2006-04-17 | Drawing device and drawing process |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006112911A JP2007286863A (en) | 2006-04-17 | 2006-04-17 | Drawing device and drawing process |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007286863A true JP2007286863A (en) | 2007-11-01 |
Family
ID=38758578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006112911A Pending JP2007286863A (en) | 2006-04-17 | 2006-04-17 | Drawing device and drawing process |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007286863A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013005351A (en) * | 2011-06-20 | 2013-01-07 | Ricoh Co Ltd | Image processing device, image processing method, and program |
JP2014060579A (en) * | 2012-09-18 | 2014-04-03 | Ricoh Co Ltd | Image processing apparatus and image processing method |
-
2006
- 2006-04-17 JP JP2006112911A patent/JP2007286863A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013005351A (en) * | 2011-06-20 | 2013-01-07 | Ricoh Co Ltd | Image processing device, image processing method, and program |
JP2014060579A (en) * | 2012-09-18 | 2014-04-03 | Ricoh Co Ltd | Image processing apparatus and image processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5333259B2 (en) | Image forming apparatus, program, and image forming method | |
JP2011040834A (en) | Image processing apparatus and image processing method | |
JP2005309865A (en) | Image processing apparatus and method, and computer readable recording medium for recording program for causing computer to implement this method | |
JP2013084224A (en) | Image forming apparatus | |
JP2007286863A (en) | Drawing device and drawing process | |
JP2006289642A (en) | Image forming apparatus, image forming method, and printer | |
JP2007087137A (en) | Printing controller, image forming method, and storage medium | |
JP4833770B2 (en) | Image processing system and image processing method | |
JP2011143576A (en) | Print data generator, image forming apparatus and program | |
JP2009169584A (en) | Image processing apparatus, image processing method and program | |
JP6337494B2 (en) | Image processing apparatus, image processing method, and program | |
JP4490783B2 (en) | Image processing apparatus, image processing method, and computer-readable recording medium storing a program for causing a computer to execute the image processing method | |
JP4103164B2 (en) | Print processing device | |
JP4418573B2 (en) | Image output control device, image output control method, and storage medium | |
JP2007208519A (en) | Image processor and image processing method, and computer-readable recording medium with program for making computer perform image processing method recorded | |
JP3640133B2 (en) | Print processing device | |
JP5201040B2 (en) | Image processing apparatus, image processing method, and program | |
JP4450651B2 (en) | Image processing apparatus, image processing method, and computer-readable recording medium storing a program for causing a computer to execute the image processing method | |
JP2001239717A (en) | Digital print controller and digital print system | |
JP5609189B2 (en) | Image processing apparatus, image forming system, and image processing program | |
JP2006334948A (en) | Image processing apparatus, image forming apparatus, image processing method, program for executing its method by computer, and storing medium for storing its program | |
JP6191106B2 (en) | Image processing apparatus and image processing method | |
JP2008044236A (en) | Image processor, image processing method, and program for being executed by computer | |
JP2003039743A (en) | Image processor, method of processing image, and memory medium | |
JPH01228263A (en) | Printing device |