[go: up one dir, main page]

JP2010288145A - Image processing device - Google Patents

Image processing device Download PDF

Info

Publication number
JP2010288145A
JP2010288145A JP2009141359A JP2009141359A JP2010288145A JP 2010288145 A JP2010288145 A JP 2010288145A JP 2009141359 A JP2009141359 A JP 2009141359A JP 2009141359 A JP2009141359 A JP 2009141359A JP 2010288145 A JP2010288145 A JP 2010288145A
Authority
JP
Japan
Prior art keywords
image processing
state
image
rectangular block
data
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
Application number
JP2009141359A
Other languages
Japanese (ja)
Inventor
Minoru Kobegawa
実 神戸川
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2009141359A priority Critical patent/JP2010288145A/en
Publication of JP2010288145A publication Critical patent/JP2010288145A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To control a drawing process and an image processing process by using the smallest possible buffer memory in a system which draws an image in each tile using a plurality of drawing sections and performs image processing requiring reference pixels in each tile in the subsequent process. <P>SOLUTION: An image processor is configured to have state variables including at least a state representing an initial state, a state representing an already drawn state, and a state representing an already used state, for each tile. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明はメモリ上に矩形ブロック単位で展開された画像データに対して矩形ブロック単位で画像処理を施す画像処理装置に関するものである。   The present invention relates to an image processing apparatus that performs image processing in units of rectangular blocks on image data expanded in units of rectangular blocks on a memory.

従来、メモリバッファ上に格納された画像データに対して画像処理を実行するものとしては、矩形ブロック領域単位で画像処理を実行するものがあった。矩形ブロック処理単位で画像処理を行う画像処理部は、対象となる矩形ブロック領域に対して画像処理を実行するためにより大きな参照領域を必要とする(特許文献1図17参照)。   Conventionally, as image processing performed on image data stored on a memory buffer, there has been image processing performed on a rectangular block area basis. An image processing unit that performs image processing in units of rectangular block processing requires a larger reference area in order to perform image processing on the target rectangular block area (see FIG. 17 of Patent Document 1).

特開2004−220584号公報Japanese Patent Laid-Open No. 2004-220484

上述の従来の技術では、画像処理部が対象領域の画像処理を行うために対象領域より広い参照領域を画像データが展開されたメモリバッファから読み取る必要があった。つまりある一つの矩形ブロック領域の画像がメモリバッファに格納されたとき、その矩形ブロック領域の画像処理を行うことはできない。図2に示すように参照領域は周囲の9個の矩形ブロックの領域の一部に及ぶからである。従って上述の技術においては十分広い領域の例えば1ページに相当する多くの矩形ブロックからなる領域を一旦メモリバッファ上に格納してから次工程の画像処理工程へ移る必要があった。   In the conventional technique described above, the image processing unit needs to read a reference area wider than the target area from the memory buffer in which the image data is expanded in order to perform image processing of the target area. That is, when an image of a certain rectangular block area is stored in the memory buffer, image processing of that rectangular block area cannot be performed. This is because the reference area covers a part of the surrounding nine rectangular block areas as shown in FIG. Therefore, in the above-described technique, it is necessary to temporarily store an area composed of a large number of rectangular blocks corresponding to one page, for example, in a memory buffer, and then move to the next image processing process.

本発明が解決しようとしている課題はメモリバッファの大きさを削減することである。   The problem to be solved by the present invention is to reduce the size of the memory buffer.

上述した課題を解決するために、本発明は矩形ブロック単位で転送された画像データをメモリバッファに格納し、格納された画像データを元に画像処理を行い処理済データを出力する画像処理装置において以下の手段をとる。即ち、格納可能な状態を示す状態と格納済を示す状態と画像処理済を示す状態とを少なくとも有する状態変数をメモリバッファの各矩形ブロック単位ごとに保持する手段を有することを特徴とする。   In order to solve the above-described problem, the present invention stores an image data transferred in units of rectangular blocks in a memory buffer, performs image processing based on the stored image data, and outputs processed data. Take the following measures: That is, it has a means for holding a state variable having at least a state indicating a storable state, a state indicating a stored state, and a state indicating an image processed for each rectangular block unit of the memory buffer.

さらに前述の任意の矩形ブロック領域が画像処理可能状態になったときに画像処理要求命令を発生させる手段を有することを特徴とする。   Further, the image processing apparatus further comprises means for generating an image processing request command when the above-described arbitrary rectangular block area is ready for image processing.

さらに前述の画像処理装置において、前述の画像処理要求命令を保持する待ち行列手段を有することを特徴とする。   Further, the above-described image processing apparatus has a queuing means for holding the above-described image processing request command.

本発明の第一の効果は必要なバッファメモリの容量を削減することができることである。さらに大容量のメモリバッファへの格納の終了をまたずに次の画像処理工程へ移れるので最初の画像処理済データが得られるまでの時間は短縮される。   The first effect of the present invention is that the necessary capacity of the buffer memory can be reduced. Furthermore, since the process can proceed to the next image processing step without ending the storage in the large-capacity memory buffer, the time until the first image processed data is obtained is shortened.

また本発明によれば、各矩形ブロック領域を順番通り処理せず処理順が前後しても可能な矩形ブロック領域から効果的に次段の矩形ブロック単位の画像処理を行うことができる。このことは画像処理装置の内部構成の柔軟性を高める効果がある。例えばメモリバッファから見て上流の画像転送手段は複数個に拡張してパフォーマンスを向上させることが容易となる。同様にメモリバッファから見て下流の画像処理手段は複数個に拡張してパフォーマンスを向上させることが容易となる。   Further, according to the present invention, it is possible to effectively perform image processing for each subsequent rectangular block from a rectangular block area that is possible even if the processing order is changed without processing each rectangular block area in order. This has the effect of increasing the flexibility of the internal configuration of the image processing apparatus. For example, the upstream image transfer means as viewed from the memory buffer can be easily expanded to improve performance. Similarly, it is easy to improve the performance by expanding the image processing means downstream from the memory buffer to a plurality.

本発明の画像処理装置を説明するブロック図である。It is a block diagram explaining the image processing apparatus of this invention. 矩形ブロック領域と参照領域の関係を説明する図である。It is a figure explaining the relationship between a rectangular block area | region and a reference area. 画像処理装置が処理するページとバッファメモリ101との関係を示す図である。2 is a diagram illustrating a relationship between a page processed by the image processing apparatus and a buffer memory 101. FIG. メモリバッファとフラグテーブルの対応を説明する図である。It is a figure explaining a response | compatibility with a memory buffer and a flag table. 状態遷移を説明する図である。It is a figure explaining a state transition. フラグテーブルの更新を説明する図である。It is a figure explaining update of a flag table. 一つの矩形ブロックがバッファメモリにライトされたときに制御部が行う動作を説明する図である。It is a figure explaining the operation | movement which a control part performs when one rectangular block is written in the buffer memory. 一つの矩形ブロックの画像処理が完了したときに制御部が行う動作を説明する図である。It is a figure explaining the operation | movement which a control part performs when the image processing of one rectangular block is completed. 画像処理部1、画像処理部2、画像処理部3のそれぞれに実装されるスムージング回路の構成図である。2 is a configuration diagram of a smoothing circuit mounted in each of an image processing unit 1, an image processing unit 2, and an image processing unit 3. FIG. 画像処理部1、画像処理部2、画像処理部3の詳細構成を示すブロツク図である。2 is a block diagram showing detailed configurations of an image processing unit 1, an image processing unit 2, and an image processing unit 3. FIG. 3ステートバッファ24の構成を示す図である。3 is a diagram showing a configuration of a 3-state buffer 24. FIG. 図10のSRAM周辺回路の動作を示すタイムチャートである。11 is a time chart illustrating an operation of the SRAM peripheral circuit of FIG. 10. 7×7のウィンドウを示す図である。It is a figure which shows a 7 * 7 window. 図10の論理回路41にて行われるスムージング処理の1例を示す図である。It is a figure which shows one example of the smoothing process performed in the logic circuit 41 of FIG. 図10の論理回路41にて行われるスムージング処理の1例を示す図である。It is a figure which shows one example of the smoothing process performed in the logic circuit 41 of FIG. 図10の論理回路41にて行われるスムージング処理の1例を示す図である。It is a figure which shows one example of the smoothing process performed in the logic circuit 41 of FIG. スムージングによって得られる画像の例を示す図である。It is a figure which shows the example of the image obtained by smoothing.

(実施例1)
図1は、本発明を実施した画像処理装置の構成を説明するブロック図である。
Example 1
FIG. 1 is a block diagram illustrating the configuration of an image processing apparatus embodying the present invention.

図において、103はスプールメモリであり図示しない上流装置から送られた矩形ブロック領域ごとの描画のための中間データをスプールする。描画部1、描画部2、描画部3は描画部であり、それぞれスプールメモリ103にスプールされた矩形ブロック領域毎の中間データから画像データを生成する。   In the figure, reference numeral 103 denotes a spool memory which spools intermediate data for drawing for each rectangular block area sent from an upstream device (not shown). The drawing unit 1, the drawing unit 2, and the drawing unit 3 are drawing units that generate image data from intermediate data for each rectangular block area spooled in the spool memory 103.

3つの描画部が処理する矩形ブロックはページを縦3列に等分するなどして予め定めておいても良い。また、ページの左上の矩形ブロックから主走査方向へ順番に描画部1、描画部2、描画部3と振っても良い。また、予め定めずに処理が可能な描画部が未処理の矩形ブロックを動的に選択する方法でも良い。   The rectangular blocks processed by the three drawing units may be determined in advance by equally dividing the page into three vertical columns. Alternatively, the drawing unit 1, the drawing unit 2, and the drawing unit 3 may be swung in order from the upper left rectangular block of the page in the main scanning direction. Alternatively, a method may be used in which a rendering unit that can perform processing without predetermined processing dynamically selects an unprocessed rectangular block.

描画部1、描画部2、描画部3はそれぞれ生成された矩形ブロック領域の画像データをメモリバッファ101へライトする前にREQ信号を後述の制御部102へ発行する。それに対するACK信号が返されるまでメモリバッファ101へのライトは延期される。REQ信号は矩形ブロック領域を特定する情報を含んでいる。また、それぞれの描画部はその描画した画像をバッファメモリ101へライトし終えたならばWriteDONEを出力する。REQ、ACK、WriteDONEの通信は矩形ブロック領域の単位で行われる。また、REQ、ACK、WriteDONE信号は3つの描画部ごとに独立して存在する。   The drawing unit 1, the drawing unit 2, and the drawing unit 3 issue a REQ signal to the control unit 102 described later before writing the generated image data of the rectangular block area to the memory buffer 101. Writing to the memory buffer 101 is postponed until an ACK signal is returned. The REQ signal includes information for specifying a rectangular block area. Each drawing unit outputs WriteDONE when the drawing image has been written to the buffer memory 101. Communication of REQ, ACK, and WriteDONE is performed in units of rectangular block areas. Further, the REQ, ACK, and WriteDONE signals exist independently for each of the three drawing units.

フラグテーブル106はバッファメモリ101が有する矩形ブロック領域の全てに対応する状態を有するものであり、後述の制御部102により管理される。   The flag table 106 has a state corresponding to all the rectangular block areas of the buffer memory 101 and is managed by the control unit 102 described later.

制御部102はWriteDONE信号、DONE信号の入力に応じてフラグテーブル106を更新する。またその状態を参照し各描画部からの描画要求された矩形ブロックを含む9個の矩形ブロックが全てIまたはWのとき描画を許可する。これはの後述する条件Bの判断を可能にするためである。   The control unit 102 updates the flag table 106 in accordance with the input of the WriteDONE signal and the DONE signal. Further, referring to the state, drawing is permitted when all nine rectangular blocks including the rectangular block requested to be drawn from each drawing unit are I or W. This is for enabling determination of condition B described later.

また制御部102はフラグテーブル106の後述する条件Aが成立すると画像処理要求命令をキュー104へ送信する。画像処理要求命令は矩形ブロック領域一つの描画の単位で発行される。画像処理要求命令は矩形ブロック流域を特定する情報を含む。   Further, the control unit 102 transmits an image processing request command to the queue 104 when a condition A described later in the flag table 106 is satisfied. The image processing request command is issued in units of drawing one rectangular block area. The image processing request command includes information specifying a rectangular block basin.

キュー104は待ち行列バッファであり画像処理要求命令を画像処理部1、画像処理部2、画像処理部3のいずれも受け付けられないとき命令を消失しないように保持する。   The queue 104 is a queue buffer, and holds an image processing request command so that the command is not lost when none of the image processing unit 1, the image processing unit 2, and the image processing unit 3 is accepted.

画像処理部1、画像処理部2、画像処理部3の内画像処理動作中ではないいずれかのものがキュー104から画像処理要求命令を受信して指定された矩形ブロック領域の画像処理を行う。また、画像処理が終了するとDONE信号を制御部102へ返す。   Any one of the image processing unit 1, the image processing unit 2, and the image processing unit 3 that is not performing the image processing operation receives the image processing request command from the queue 104 and performs image processing on the designated rectangular block region. When the image processing is completed, a DONE signal is returned to the control unit 102.

画像処理部1、画像処理部2、画像処理部3によって画像処理された画像データは後段のバッファ105に転送される。   The image data that has been subjected to image processing by the image processing unit 1, the image processing unit 2, and the image processing unit 3 is transferred to the subsequent buffer 105.

図3は画像処理装置が処理するページとバッファメモリ101との関係を示す図である。本実施例において1ページは主走査方向が矩形ブロック12個、副走査方向が矩形ブロック15個分のサイズを持っている。バッファメモリ101のサイズは主走査方向が矩形ブロック12個、副走査方向が矩形ブロック5個分である。   FIG. 3 is a diagram showing the relationship between the page processed by the image processing apparatus and the buffer memory 101. In this embodiment, one page has a size corresponding to 12 rectangular blocks in the main scanning direction and 15 rectangular blocks in the sub-scanning direction. The size of the buffer memory 101 is 12 rectangular blocks in the main scanning direction and 5 rectangular blocks in the sub-scanning direction.

図4はバッファメモリ101とフラグテーブル106との対応関係を説明する図である。本実施例では主走査方向に12ブロック、副走査方向に5ブロック分の矩形ブロック領域をもつバッファメモリであり、フラグメモリも同様の構成をもち各矩形ブロックごとに状態値を保持する。   FIG. 4 is a diagram for explaining the correspondence between the buffer memory 101 and the flag table 106. In this embodiment, the buffer memory has a rectangular block area of 12 blocks in the main scanning direction and 5 blocks in the sub-scanning direction, and the flag memory has the same configuration and holds a state value for each rectangular block.

各矩形ブロックの状態値の遷移を図5を用いて説明する。   The transition of the state value of each rectangular block will be described with reference to FIG.

最初は全ブロックについて初期状態でありまた、描画可能な状態である。その状態をI(Initial)と表す。描画部のライトが終了しWriteDONEが発行されたならばライトされた状態であるW(Written)の状態に遷移させる。続いて対応するブロックが画像処理に用いられたならばU(Used)の状態に遷移する。さらに後述する条件Bが成立し画像を保持する必要性が無くなったならば、最初のIの状態へ遷移する。   Initially, all blocks are in an initial state and are in a drawable state. This state is represented as I (Initial). When the writing of the drawing unit is completed and WriteDONE is issued, the state is changed to a W (Writeten) state that is a written state. Subsequently, if the corresponding block is used for image processing, the state transits to the U (Used) state. Further, when the condition B described later is satisfied and the necessity of holding the image is eliminated, the state transitions to the first I state.

図6はフラグテーブル106の更新のされ方を説明するずである。   FIG. 6 does not explain how the flag table 106 is updated.

説明のため主走査方向の位置がx、副走査方向の位置がyの矩形ブロックを(x、y)とする。   For the sake of explanation, a rectangular block whose position in the main scanning direction is x and whose position in the sub-scanning direction is y is (x, y).

図6(a)は既に3ブロックのライトがされている。先に述べたように制御部102は各描画部からの描画要求された矩形ブロックを含む9個の矩形ブロックが全てIまたはWのとき描画を許可する。例えば描画部1、2、3のいずれかにより(4,0)の矩形のライトのREQ信号が発生されたとする。(a)の時点で左右の2ブロック、下方向の2ブロックともにIまたはWなので要求は許可される。本来上方のブロックとして(3、4)、(4、4)、(5、4)もチェックされるべきであるが、ページの先頭なのでドントケアとして良い。   In FIG. 6A, three blocks have already been written. As described above, the control unit 102 permits drawing when all nine rectangular blocks including the rectangular block requested to be drawn from each drawing unit are I or W. For example, it is assumed that a REQ signal of a rectangular light (4, 0) is generated by any of the drawing units 1, 2, and 3. At time (a), the request is permitted because both the left and right blocks and the two downward blocks are I or W. Originally, (3, 4), (4, 4), (5, 4) should be checked as the upper block.

同図の(b)は処理が進行し、(6、0)の矩形ブロックの後述の条件Aが成立し(6、0)の画像処理要求命令が発生した状態を示す。条件Aとは対象となる矩形ブロックの周囲9つの矩形ブロックが全てWまたはUの状態になることである。(b)のときのバッファメモリはページの上端に相当するので上方向のブロックは必要条件からはずれ条件Aが成立となる。   FIG. 5B shows a state in which the process has progressed and a condition A (described later) for the rectangular block (6, 0) is satisfied and an image processing request command (6, 0) has been generated. Condition A is that all nine rectangular blocks around the target rectangular block are in the W or U state. Since the buffer memory at (b) corresponds to the upper end of the page, the upper block is out of the necessary condition and the condition A is satisfied.

バッファメモリ101がページメモリの2バンド目以降に相当するとき即ちフラグテーブルの状態が2巡以上したときは上方向のブロックとして(5、4)、(6、4)、(7、4)を参照する必要がある。   When the buffer memory 101 corresponds to the second and subsequent bands of the page memory, that is, when the flag table status is two or more rounds, (5, 4), (6, 4), (7, 4) are set as upward blocks. Need to refer.

画像処理要求命令を画像処理部1、2、3のいずれかが受け画像処理を終えたたならばそれはDONE信号によって通知され、該当する矩形ブロックの状態はUへ遷移する。   When any of the image processing units 1, 2, and 3 receives an image processing request command and completes the image processing, it is notified by the DONE signal, and the state of the corresponding rectangular block transits to U.

図6(c)はUの状態が増加している状態を示す図である。(c)の状態において(3、0)の矩形ブロックの後述の条件Bが成立し図6(d)において(3、0)がIへ遷移している。条件Bとは対象となる矩形ブロックの周囲9つの矩形ブロックが全てUまたはIの状態になることである。(c)のときのバッファメモリはページの上端に相当するので上方向のブロックは必要条件からはずれ条件Aが成立となる。   FIG. 6C shows a state where the state of U is increasing. In the state of (c), a later-described condition B of the rectangular block of (3, 0) is satisfied, and (3, 0) transitions to I in FIG. Condition B is that all nine rectangular blocks around the target rectangular block are in the U or I state. Since the buffer memory at (c) corresponds to the upper end of the page, the upper block is out of the necessary condition and the condition A is satisfied.

バッファメモリ101がページメモリの2バンド目以降に相当するとき即ちフラグテーブルの状態が2巡以上したときは上方向のブロックとして(2、4)、(3、4)、(4、4)を参照する必要がある。   When the buffer memory 101 corresponds to the second and subsequent bands of the page memory, that is, when the flag table state is two or more rounds, (2, 4), (3, 4), (4, 4) are set as upward blocks. Need to refer.

図7と図8は制御部102が行う処理のフローを説明する図である。   7 and 8 are diagrams for explaining the flow of processing performed by the control unit 102.

図7は描画部1、2、3のいずれかが矩形ブロックの画像データのバッファメモリへのライトを終了したときに制御部102で発生する処理フローである。同図の602においてまず制御部102は該当する矩形ブロックの状態をIからWへ変更する。次に上記の変更によって影響を受ける可能性のある9個の矩形ブロックのそれぞれについて状態変化があるかを603から607にかけてチェックする。   FIG. 7 is a processing flow generated in the control unit 102 when any of the drawing units 1, 2, and 3 finishes writing the image data of the rectangular block to the buffer memory. In 602 of the figure, the control unit 102 first changes the state of the corresponding rectangular block from I to W. Next, it is checked from 603 to 607 whether there is a state change for each of the nine rectangular blocks that may be affected by the above change.

まず603において602で状態が変更されたブロックを中心に含む9ブロックの一つを注目ブロックに設定する。604において注目矩形ブロックを含む周囲9矩形ブロックは全てWまたはUであるかを検査する。これは前述した条件Aである。Yesであれば606において画像処理要求命令を発生する。Noであれば605で最後と判断されない限り注目矩形を607で次のものに変更し604の条件チェックを繰り返す。以上条件Aのチェックを9回繰り返して終了する。   First, at 603, one of nine blocks including the block whose state has been changed at 602 is set as a target block. In 604, it is checked whether all the surrounding nine rectangular blocks including the target rectangular block are W or U. This is condition A described above. If Yes, an image processing request command is generated at 606. If No, the target rectangle is changed to the next one in 607 unless the end is determined in 605 and the condition check in 604 is repeated. The condition A check is repeated 9 times and the process is completed.

図8は画像処理部1、2、3のいずれかが矩形ブロックの画像処理を終了したときに制御部102で発生する処理フローである。同図の702においてまず制御部102は該当する矩形ブロックの状態をWからUへ変更する。次に上記の変更によって影響を受ける可能性のある9個の矩形ブロックのそれぞれについて状態変化があるかを703から707にかけてチェックする。   FIG. 8 is a processing flow generated in the control unit 102 when any one of the image processing units 1, 2, and 3 finishes the rectangular block image processing. In 702 of the figure, the control unit 102 first changes the state of the corresponding rectangular block from W to U. Next, it is checked from 703 to 707 whether there is a state change for each of the nine rectangular blocks that may be affected by the above change.

まず703において702で状態が変更されたブロックを中心に含む9ブロックの一つを注目ブロックに設定する。704において注目矩形ブロックを含む周囲9矩形ブロックは全てUまたはIであるかを検査する。これは前述した条件Bである。Yesであれば705において注目画素を発生する。Noであれば707で最後と判断されない限り注目矩形を706で次のものに変更し704の条件チェックを繰り返す。以上条件Bのチェックを9回繰り返して終了する。   First, in 703, one of nine blocks including the block whose state has been changed in 702 is set as a target block. In 704, it is checked whether all the surrounding nine rectangular blocks including the target rectangular block are U or I. This is condition B described above. If Yes, the target pixel is generated at 705. If the result is No, the target rectangle is changed to the next one in 706 unless the end is determined in 707, and the condition check in 704 is repeated. The condition B check is repeated 9 times and the process ends.

図9は画像処理部1、2,3のそれぞれに実装されるものの例を示すものであり、ここではそれぞれスムージング機能を有するものである。3つの画像処理部を並列に動作させることにより全体の処理のパフォーマンスを向上することが可能である。   FIG. 9 shows an example of what is implemented in each of the image processing units 1, 2, and 3. Here, each has a smoothing function. It is possible to improve the overall processing performance by operating the three image processing units in parallel.

図9に示した画像処理部では、インターフェース部10が必要な画像データ、つまり矩形ブロック部の周囲の重複部を含むエリアの画像データを主メモリ102から読み取る。さらに内部で処理した後に矩形ブロック部のエリアのみの画像データを出力部103へ書き戻すものである。同図においてインターフェース部10は受信したデータをシリアルデータに変換して記憶部17へVCLKに同期させて転送する。記憶部17はインターフェース部10より送られてくる画像信号を受け、記憶部17が主走査7ラインを記憶し、スムージング部18がそれをウインドウ状に主走査7ドツトに展開してスムージング処理を行ない、それをプリンタエンジン200に送出する。   In the image processing unit illustrated in FIG. 9, the interface unit 10 reads necessary image data, that is, image data of an area including an overlapping portion around the rectangular block portion from the main memory 102. Further, the image data of only the area of the rectangular block portion is written back to the output portion 103 after being internally processed. In the figure, the interface unit 10 converts received data into serial data and transfers it to the storage unit 17 in synchronization with VCLK. The storage unit 17 receives the image signal sent from the interface unit 10, the storage unit 17 stores the main scanning 7 lines, and the smoothing unit 18 develops the main scanning 7 dots in a window shape and performs a smoothing process. , It is sent to the printer engine 200.

ここで画像処理部107と画像処理部108がエッジ強調などのフィルタリングを行う画像処理であった場合においても周辺画素を参照する点で同様な回路構成になることに注意されたい。つまり画像データバスとのインターフェイスと周辺画素を保持するための記憶部17、周辺画素から注目画素のデータを決定する論理決定部である。論理決定部は図9においてはスムージング部に相当する。   Note that even when the image processing unit 107 and the image processing unit 108 perform image processing that performs filtering such as edge enhancement, the circuit configuration is similar in that it refers to peripheral pixels. That is, the storage unit 17 for holding the interface with the image data bus and the peripheral pixels, and the logic determination unit for determining the data of the target pixel from the peripheral pixels. The logic determination unit corresponds to the smoothing unit in FIG.

図10は、図9に示した画像処理部20の詳細構成を示すブロツク図である。同図に示した画像処理部には、図9のインターフェース部10から画像転送クロックVCLKと画像クロックVCLKと同位相で8倍の周波数のシステムクロックSCLK、そして画像クロックVCLKに同期してシリアル画像信号が送られてくる。   FIG. 10 is a block diagram showing a detailed configuration of the image processing unit 20 shown in FIG. The image processing unit shown in FIG. 9 receives the serial image signal from the interface unit 10 of FIG. 9 in synchronization with the image transfer clock VCLK, the system clock SCLK having the same phase as the image clock VCLK and the frequency eight times, and the image clock VCLK. Will be sent.

シリアル画像信号は、3ステートラッチバッファ24の入力端の1つであるD0端子に入力され、D0に対応する3ステートラッチバッファ24の出力Q0 は、シフトレジスタ29に入力されるとともに、SRAM21のデータ端子であるI/O1にも入力される。また、SRAMのアドレスAD0〜AD6は、アドレスカウンタ22より供給される7本のアドレスラインと接続されている。尚、これら7本のアドレスラインにて展開されるアドレス長は、矩形ブロックの1ラインと周辺の画像データを記憶するのに十分である。   The serial image signal is input to the D0 terminal which is one of the input terminals of the three-state latch buffer 24, and the output Q0 of the three-state latch buffer 24 corresponding to D0 is input to the shift register 29 and the data of the SRAM 21. It is also input to the terminal I / O1. The SRAM addresses AD0 to AD6 are connected to seven address lines supplied from the address counter 22. The address length developed by these seven address lines is sufficient to store one line of the rectangular block and peripheral image data.

また、SRAMへの読み出し信号OE、書き込み信号WE、3ステートバッファ24のラッチ信号CLK、出力イネーブル信号OC、及びアドレスカウンタ22のクリア信号RESETは、制御回路23にて生成されるが、それらの動作については後述する。制御回路23は、画像クロックVCLKの1周期間にシステムクロックSCLKにより複数のステートを作り出している。よって、上述の如く、SCLKはVCLKの8倍の周波数なので、ここでは画像クロックVLCKの1周期の間に最大8つのステツプを実行することができる。尚、3ステートラッチバッファ24の各バッファは、図11に示すようにラッチ回路24aとバッファ回路24bとから構成されている。   Further, the read signal OE to the SRAM, the write signal WE, the latch signal CLK of the three-state buffer 24, the output enable signal OC, and the clear signal RESET of the address counter 22 are generated by the control circuit 23. Will be described later. The control circuit 23 creates a plurality of states by the system clock SCLK during one cycle of the image clock VCLK. Therefore, as described above, since SCLK is eight times the frequency of VCLK, a maximum of eight steps can be executed during one cycle of the image clock VLCK. Each buffer of the three-state latch buffer 24 includes a latch circuit 24a and a buffer circuit 24b as shown in FIG.

次に、図12に示すタイムチヤートを参照して、図10のSRAM周辺回路の動作を説明する。尚、以下の説明では第n番目の画素のデータをdata(n)、そのデータが格納されるアドレスをadr(n)と記す。図12において、画像クロックVLCK(2)が論理ローレベルになつてから第1番目のクロックが入る(時刻t1)。そのとき、3ステートラッチバッファ24の出力イネーブル信号OC(9)がFALSE状態になり、3ステートラッチバッファ24内部のバッファ回路はハイインピーダンス状態となる。すると、今まで出力されていたデータdata(n−1)((10)バッファ出力参照)の出力が止まり、SRAM21のデータバスには何も入力されない状態となる。   Next, the operation of the SRAM peripheral circuit of FIG. 10 will be described with reference to the time chart shown in FIG. In the following description, the data of the nth pixel is indicated as data (n), and the address where the data is stored is indicated as adr (n). In FIG. 12, the first clock is input after the image clock VLCK (2) reaches the logic low level (time t1). At that time, the output enable signal OC (9) of the 3-state latch buffer 24 is in the FALSE state, and the buffer circuit in the 3-state latch buffer 24 is in the high impedance state. Then, the output of the data data (n−1) (see (10) buffer output) that has been output so far is stopped, and nothing is input to the data bus of the SRAM 21.

第2番目のクロックが入ると(時刻t2)、OE信号(5)がTRUE状態となる。同時にSRAM21はリード状態となつて((12)メモリ状態参照)、アドレスadr(n)に格納されていたデータdata(n)がデータバス上に出力される((6)メモリ出力データ参照)。第3番目のクロックにて(時刻t3)、ラッチクロック(7)が立ち上がるので、データバス上に出力されていたデータdata(n)が3ステートラッチバッファ24の内部でラッチされる。しかし、このときは、出力イネーブル信号OC(9)がFALSE状態のままなので、データは3ステートラッチバッファ24の外部には出力されない。そのため、バスの衝突は起こらない。   When the second clock is input (time t2), the OE signal (5) becomes TRUE. At the same time, the SRAM 21 enters the read state (see (12) memory state), and the data data (n) stored at the address adr (n) is output onto the data bus (see (6) memory output data). Since the latch clock (7) rises at the third clock (time t3), the data data (n) output on the data bus is latched inside the three-state latch buffer 24. However, at this time, since the output enable signal OC (9) remains in the FALSE state, data is not output to the outside of the 3-state latch buffer 24. Therefore, bus collision does not occur.

第4番目のクロックが入ると(時刻t4)、SRAM21の出力イネーブル信号OE(5)がFALSE状態になり、SRAM21はフローテイング状態となる。そして、第5番目のクロックが入ると(時刻t5)、3ステートラッチバッファ24の出力イネーブル信号OC(9)がTRUE状態に変化し、ラッチされていたデータdata(n)が出力されてSRAM21に送られる。しかし、SRAM21は、ライトイネーブル信号WE(11)がFALSE状態であるため、書き込みは行なわれない。   When the fourth clock is input (time t4), the output enable signal OE (5) of the SRAM 21 is in the FALSE state, and the SRAM 21 is in the floating state. When the fifth clock is input (time t5), the output enable signal OC (9) of the three-state latch buffer 24 changes to the TRUE state, and the latched data data (n) is output to the SRAM 21. Sent. However, since the write enable signal WE (11) is in the FALSE state, the SRAM 21 is not written.

第6番目のクロックにて(時刻t6)、SRAM21のライトイネーブル信号WE(11)がTRUE状態となり、SRAM21にdata(n)が書き込まれる。そして、第7番目のクロックが入力されると(時刻t7)、ライトイネーブル信号WEがFALSE状態となつて書き込み動作が完了する。第8番目のクロックが入力されると(時刻t8)、アドレスがadr(n)からadr(n+1)に更新され、一画素のデータに関しての一連の動作が完了する。   At the sixth clock (time t6), the write enable signal WE (11) of the SRAM 21 is set to TRUE state, and data (n) is written to the SRAM 21. When the seventh clock is input (time t7), the write operation is completed when the write enable signal WE is in the FALSE state. When the eighth clock is input (time t8), the address is updated from adr (n) to adr (n + 1), and a series of operations regarding data of one pixel is completed.

以上の動作が3ステートラッチバッファ24、及びSRAM21にて行なわれることで、画像クロックVCLKの1サイクルの間にSRAM21の端子から出力されたデータが同じアドレスの別端子に入力される。さらに、順次データが送られることによって、常に7ラインの画像データが記憶される。同時にシフトレジスタ29〜35に対しても画像データが供給される。   By performing the above operation in the three-state latch buffer 24 and the SRAM 21, data output from the terminal of the SRAM 21 during one cycle of the image clock VCLK is input to another terminal having the same address. Furthermore, by sequentially sending data, image data of 7 lines is always stored. At the same time, image data is supplied to the shift registers 29 to 35.

シフトレジスタ29〜35は、それぞれ7ビツトのビツト長を有する。それらは、3ステートラッチバッファ24から送られてくる7ラインの画像データに対して直列−並列変換を施すことで主走査方向7ドツトずつに展開して、論理回路41に対しては、計49ドツトの画像データを送出する。論理回路41では、送出された49ビツトの画像データを、図13に示すような7×7のウインドにあてはめ、以下に説明する定められた論理に従つて注目画素D4を主走査方向に1/4の大きさの4ドツトa,b,c,dに分割する。さらに、レーザ光量の大小を指定する信号LPを決定する。尚、ここでは、レーザ光量指定信号Pは、画像クロックVCLK単位に変化するものとする。   Each of the shift registers 29 to 35 has a bit length of 7 bits. They are developed in units of 7 dots in the main scanning direction by subjecting the 7 lines of image data sent from the 3-state latch buffer 24 to serial-parallel conversion. Send the image data of the dot. In the logic circuit 41, the transmitted 49-bit image data is applied to a 7 × 7 window as shown in FIG. 13, and the pixel of interest D4 is 1 / in the main scanning direction according to the predetermined logic described below. Divide into 4 dots a, b, c, d of size 4. Further, a signal LP for designating the magnitude of the laser light quantity is determined. Here, it is assumed that the laser light quantity designation signal P changes in units of the image clock VCLK.

この論理回路41はANDロジツク回路にて構成され、シフトレジスタ29〜35からの計49個のデータの論理積をとり、その結果に応じて、1画素を4分割したa,b,c,d区画の印字、非印字を表わすVDO信号とレーザ光量指定信号LPを出力する。このレーザ光量指定信号LPは、1ドツト単位で変化し、VDO信号は、1/4ドツト単位に変化する。   This logic circuit 41 is composed of an AND logic circuit, takes a logical product of a total of 49 data from the shift registers 29 to 35, and a, b, c, d obtained by dividing one pixel into four according to the result. A VDO signal indicating printing or non-printing of the section and a laser light quantity designation signal LP are output. The laser light quantity designation signal LP changes in units of 1 dot, and the VDO signal changes in units of 1/4 dots.

図14〜図16は、水平に近い線のスムージング処理を例を示すものである。図14において、図の右上に示す論理が成立する。つまり、3C,3D,3E,3F,3G,4A,4B,4Cが0(白)、4D,4E,4F,4G,5A,5B,5C,5D,5E,5F,5Gが1(黒)の場合は、注目画素4DのVDOをa=0,b=1,c=1,d=0とする。同様に、図15の場合、注目画素4DのVDOをa=0,b=1,c=1,d=0とする。また、図16の場合、注目画素4DのVDOをa=0,b=0,c=1,d=0とする。   FIG. 14 to FIG. 16 show examples of smoothing processing for lines close to the horizontal. In FIG. 14, the logic shown in the upper right of the figure is established. That is, 3C, 3D, 3E, 3F, 3G, 4A, 4B, and 4C are 0 (white), 4D, 4E, 4F, 4G, 5A, 5B, 5C, 5D, 5E, 5F, and 5G are 1 (black). In this case, the VDO of the target pixel 4D is set to a = 0, b = 1, c = 1, and d = 0. Similarly, in the case of FIG. 15, the VDO of the target pixel 4D is set to a = 0, b = 1, c = 1, and d = 0. In the case of FIG. 16, it is assumed that the VDO of the pixel of interest 4D is a = 0, b = 0, c = 1, and d = 0.

これらの処理による印字結果を、図17に示す。本図は画像処理が出力する矩形ブロックの単位を64×64であるときの例を示している。画像処理部としては重複部を含む70×70の画像領域を処理する。   FIG. 17 shows the printing results obtained by these processes. This figure shows an example when the unit of the rectangular block output by the image processing is 64 × 64. As an image processing unit, a 70 × 70 image region including an overlapping portion is processed.

上述のように、1画素を1/4分割し、各区画を印字、または非印字にすることで、エッジや文字の輪郭を滑らかにすることができる。これは、この処理にて感光ドラム上の潜像電位を滑らかにすることができるためであり、電子写真特有の現象である。尚、ここでは、水平に近いラインのスムージング処理について説明したが、垂直に近いライン、斜め線、文字の輪郭という部分も、49画素の論理のデータの論理積をとることで検出できる。いずれの場合も感光ドラム上の潜像電位を滑らかにつなぎ、印字結果を滑らかにするよう注目画素の印字面積、及びレーザ光量を決定する。   As described above, by dividing one pixel into quarters and printing or not printing each section, it is possible to smooth the edges and the outline of the characters. This is because the latent image potential on the photosensitive drum can be smoothed by this processing, and is a phenomenon peculiar to electrophotography. Although the smoothing process for lines close to horizontal has been described here, lines such as lines close to vertical, diagonal lines, and character outlines can also be detected by taking the logical product of logical data of 49 pixels. In either case, the latent image potential on the photosensitive drum is smoothly connected, and the printing area of the target pixel and the laser light quantity are determined so as to smooth the printing result.

また、論理回路41の出力であるa,b,c,dは、バスインターフェイス回路10にてデータバスのプロトコルに変換され出力される。   The outputs a, b, c, and d of the logic circuit 41 are converted into a data bus protocol by the bus interface circuit 10 and output.

101 画像バッファメモリ
102 制御部
103 スプールメモリ
104 待ち行列バッファ
105 バッファ
101 Image buffer memory 102 Control unit 103 Spool memory 104 Queue buffer 105 Buffer

Claims (3)

矩形ブロック単位で画像データを転送する画像転送手段と、
上記画像転送手段により転送された画像データを記憶するメモリと、
上記メモリに記憶された画像データを元に画像処理を行い処理済データを出力する画像処理部と、
格納可能な状態を示す状態と格納済を示す状態と画像処理済を示す状態とを少なくとも有する状態変数を各矩形ブロック単位ごとに有する状態テーブルを有する画像処理装置。
Image transfer means for transferring image data in units of rectangular blocks;
A memory for storing image data transferred by the image transfer means;
An image processing unit that performs image processing based on the image data stored in the memory and outputs processed data;
An image processing apparatus having a state table having a state variable having at least a state indicating a storable state, a state indicating a stored state, and a state indicating an image processed for each rectangular block unit.
請求項1に記載の画像処理装置において、
任意の矩形ブロック領域が画像処理可能状態になったときに画像処理要求命令を発生させる手段とを有する画像処理装置。
The image processing apparatus according to claim 1.
An image processing apparatus comprising: means for generating an image processing request command when an arbitrary rectangular block region is ready for image processing.
請求項2に記載の画像処理装置において、
画像処理要求命令を保持する待ち行列を有する画像処理装置。
The image processing apparatus according to claim 2,
An image processing apparatus having a queue for holding an image processing request command.
JP2009141359A 2009-06-12 2009-06-12 Image processing device Pending JP2010288145A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009141359A JP2010288145A (en) 2009-06-12 2009-06-12 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009141359A JP2010288145A (en) 2009-06-12 2009-06-12 Image processing device

Publications (1)

Publication Number Publication Date
JP2010288145A true JP2010288145A (en) 2010-12-24

Family

ID=43543518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009141359A Pending JP2010288145A (en) 2009-06-12 2009-06-12 Image processing device

Country Status (1)

Country Link
JP (1) JP2010288145A (en)

Similar Documents

Publication Publication Date Title
JP2004048372A (en) Image processing device, image input / output device, scaling process method, and memory control method
US20180082160A1 (en) Image processing apparatus and image processing method
JPWO2017163441A1 (en) Image processing apparatus, image processing method, and image processing program
JP5300317B2 (en) Image processing apparatus and control method thereof
JPH10124268A (en) Printing control device
US8368708B2 (en) Image processing apparatus, image processing method, and storage medium storing control program therefor
JP2016071545A (en) Image processing apparatus, image processing method, and program
US8041903B2 (en) Processor and method for controlling memory
JP2010288145A (en) Image processing device
JP3554237B2 (en) Image processing apparatus and method
JPH10129048A (en) Image processing apparatus, image processing method, and storage medium storing computer-readable program
JP2001154910A (en) Memory access system
JP4313527B2 (en) Image drawing device
CN102682419B (en) Method and device for generating dynamic line segment comparison table for vector graphics
JP4424313B2 (en) Image processing apparatus and image forming apparatus
JP4316476B2 (en) Image processing apparatus and image forming apparatus
JPH11191055A (en) Printing system, data processing method of printing system, and storage medium storing computer readable program
JP6379757B2 (en) Image processing apparatus and image forming apparatus
JPH1093813A (en) Recording device
US10387757B2 (en) Multicore printer definition language processing
JP2001325085A (en) Printing system
JP4116997B2 (en) Image processing device
JP3365068B2 (en) Image processing device
JP6115435B2 (en) Image processing apparatus and program
JP2005141293A (en) Image processor, image forming apparatus and its program