[go: up one dir, main page]

JP2009180920A - Image forming apparatus and data transfer method thereof - Google Patents

Image forming apparatus and data transfer method thereof Download PDF

Info

Publication number
JP2009180920A
JP2009180920A JP2008019585A JP2008019585A JP2009180920A JP 2009180920 A JP2009180920 A JP 2009180920A JP 2008019585 A JP2008019585 A JP 2008019585A JP 2008019585 A JP2008019585 A JP 2008019585A JP 2009180920 A JP2009180920 A JP 2009180920A
Authority
JP
Japan
Prior art keywords
line
image data
forming apparatus
image
image forming
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.)
Withdrawn
Application number
JP2008019585A
Other languages
Japanese (ja)
Inventor
Taketo Utsunomiya
健人 宇都宮
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 JP2008019585A priority Critical patent/JP2009180920A/en
Publication of JP2009180920A publication Critical patent/JP2009180920A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Dot-Matrix Printers And Others (AREA)
  • Record Information Processing For Printing (AREA)
  • Laser Beam Printer (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Color Electrophotography (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

【課題】ラインバッファを増大させることなく記録材に対する画像の位置ずれを補正する画像形成装置を提供する。
【解決手段】本画像形成装置は、偏向走査装置による走査線のずれに基づいて、装置内のメモリに格納された画像データを読み出して、当該偏向走査装置に転送することにより、画像形成を行う。具体的に、本画像形成装置は、1走査ラインの画像データの読み出し時に、走査線のずれが発生する位置の画像データに関しては他のラインの画像データも読み出す。読み出した他のラインの画像データは、対応する現在のラインの画像データに組み合わせられる。
【選択図】図3
An image forming apparatus that corrects a positional deviation of an image with respect to a recording material without increasing a line buffer.
The image forming apparatus performs image formation by reading out image data stored in a memory in the apparatus based on the deviation of the scanning line by the deflection scanning apparatus and transferring the read image data to the deflection scanning apparatus. . Specifically, when the image data of one scanning line is read, the image forming apparatus also reads the image data of other lines with respect to the image data at the position where the scanning line shift occurs. The read image data of the other lines are combined with the corresponding image data of the current line.
[Selection] Figure 3

Description

本発明は、像担持体に走査露光する露光部、露光部からの露光走査によって像担持体上に生成された静電潜像を記録材上に顕像化する現像部を用いて、画像データに基づいて画像形成を行う画像形成装置及びそのデータ転送方法に関するものである。   The present invention uses an exposure unit that scans and exposes an image carrier, and a developing unit that visualizes an electrostatic latent image generated on the image carrier by exposure scanning from the exposure unit on a recording material. The present invention relates to an image forming apparatus that performs image formation based on the above and a data transfer method thereof.

近年、電子写真方式の画像形成装置では、画像形成速度を高速化するために、色材の数と同数の現像器及び感光ドラムを備え、画像搬送ベルト上や記録材上に順次異なる色の画像を転写するタンデム方式が採用されている。このタンデム方式の画像形成装置においては、記録材に対する画像の位置ずれを生じさせる複数の要因が知られており、それぞれの要因に対して様々な対処法が提案されている。   In recent years, in order to increase the image forming speed, an electrophotographic image forming apparatus includes the same number of developing devices and photosensitive drums as the number of color materials, and sequentially images of different colors on an image conveying belt or a recording material. The tandem method is used to transfer the image. In this tandem-type image forming apparatus, a plurality of factors that cause image misregistration with respect to a recording material are known, and various countermeasures have been proposed for each factor.

例えば、これらの要因として、偏向走査装置のレンズの不均一性や取り付け位置ずれや、偏向走査装置の画像形成装置本体への組み付け位置ずれがある。この要因により、走査線に傾きや曲がりが生じ、その程度が色ごとに異なることで、記録材に対する画像の位置ずれを発生させていた。   For example, these factors include non-uniformity and attachment position deviation of the deflection scanning device lens, and assembly position displacement of the deflection scanning device to the image forming apparatus main body. Due to this factor, the scanning line is inclined or bent, and the degree of the change differs for each color, thereby causing a positional deviation of the image with respect to the recording material.

このような記録材に対する画像の位置ずれの対処方法として、特許文献1には、偏向走査装置の組立工程で、光学センサを用いて走査線の曲がりの大きさを測定し、レンズを機械的に回転させて走査線の曲がりを調整した後に、接着剤で固定する方法が提案されている。また、特許文献2には、偏向走査装置を画像形成装置本体へ組み付ける工程で、光学センサを用いて走査線の傾きの大きさを測定し、偏向走査装置を機械的に傾かせて走査線の傾きを調整した上で画像形成装置本体へ組み付ける方法が提案されている。   As a method for coping with such a positional deviation of an image with respect to a recording material, Japanese Patent Laid-Open No. 2004-133830 discloses that a lens is mechanically measured by measuring the amount of bending of a scanning line using an optical sensor in an assembly process of a deflection scanning device. There has been proposed a method in which the rotation of the scanning line is adjusted by rotating and then fixing with an adhesive. Further, in Patent Document 2, in the process of assembling the deflection scanning device into the image forming apparatus main body, the magnitude of the inclination of the scanning line is measured using an optical sensor, and the deflection scanning device is mechanically tilted to adjust the scanning line. A method of assembling the image forming apparatus main body after adjusting the inclination has been proposed.

さらに、特許文献3には、光学センサを用いて走査線の傾きと曲がりの大きさを測定し、それらを相殺するようにビットマップ画像データを補正し、その補正した画像を形成する方法が提案されている。この方法は、画像データを処理することで電気的に記録材に対する画像の位置ずれを補正する。
特開2002−116394号公報 特開2003−241131号公報 特開2004−170755号公報
Furthermore, Patent Document 3 proposes a method of measuring the inclination of a scanning line and the amount of bending using an optical sensor, correcting bitmap image data so as to cancel them, and forming the corrected image. Has been. This method electrically corrects the positional deviation of the image with respect to the recording material by processing the image data.
JP 2002-116394 A JP 2003-241131 A JP 2004-170755 A

しかしながら、従来技術には、以下に記載する問題がある。特許文献1及び特許文献2に記載の方法では、機械的な調整部材や組立時の調整工程が必要であり、煩雑な作業を伴うとともに、コストが増大してしまう。一方、特許文献3に記載の方法では、機械的な調整部材や組立時の調整工程が不要となる点で、特許文献1及び特許文献2に記載の方法と比較して、安価に記録材に対する画像の位置ずれを解消することができる。   However, the prior art has the following problems. In the methods described in Patent Document 1 and Patent Document 2, a mechanical adjustment member and an adjustment process at the time of assembly are necessary, which involves complicated operations and increases costs. On the other hand, the method described in Patent Document 3 eliminates the need for a mechanical adjustment member or an adjustment process during assembly, and thus is less expensive for recording materials than the methods described in Patent Document 1 and Patent Document 2. Image displacement can be eliminated.

しかし、特許文献3に記載のビットマップ画像データを補正する方法では、走査線の曲がり部分での上下ラインのブレンド処理を行うために、ラインバッファを設ける必要がある。ラインバッファの必要な容量は走査線の曲がり幅に依存する。例えば、走査線の曲がり幅がビットマップ画像データでNライン分であれば、Nラインを記憶できるラインバッファが必要となる。ここで、Nの値は画像形成装置ごとにばらつきがある。したがって、実際に実装されるラインバッファの容量はこのばらつきの最大値を超えるライン数に対応しなければならない。このため、ラインバッファの容量が増大し、ビットマップ画像データを補正するための回路規模が増大し、コストアップにつながってしまう。   However, in the method of correcting bitmap image data described in Patent Document 3, it is necessary to provide a line buffer in order to perform the blending process of the upper and lower lines at the bent portion of the scanning line. The required capacity of the line buffer depends on the bending width of the scanning line. For example, if the scan line bend width is N lines of bitmap image data, a line buffer capable of storing N lines is required. Here, the value of N varies among image forming apparatuses. Therefore, the capacity of the line buffer actually mounted must correspond to the number of lines exceeding the maximum value of this variation. For this reason, the capacity of the line buffer is increased, the circuit scale for correcting the bitmap image data is increased, and the cost is increased.

本発明は、上述の問題に鑑みて成されたものであり、ラインバッファを増大させることなく記録材に対する画像の位置ずれを補正する画像形成装置を提供することを目的とする。   SUMMARY An advantage of some aspects of the invention is that it provides an image forming apparatus that corrects a positional deviation of an image with respect to a recording material without increasing a line buffer.

本発明は、例えば、像担持体を露光する露光手段と、露光手段による走査線のずれ量を検出するずれ量検出手段とを備える画像形成装置として実現できる。本画像形成装置は、走査線のずれ量に基づいて、画像形成装置に格納された画像データのうち1走査ラインに用いる画像データと、1走査ラインの中で走査線のずれを解消するために他のラインの画像データに切り換える切換位置とを指定する指定手段と、指定された画像データ及び切換位置に従って当する画像データを読み出す読出手段と、読み出された画像データのうち、切換位置の近傍の画像データに他のラインの画像データを組み合わせて、露光手段に転送する組合せ手段とを備えることを特徴とする。   The present invention can be realized, for example, as an image forming apparatus including an exposure unit that exposes an image carrier and a shift amount detection unit that detects a shift amount of a scanning line by the exposure unit. The present image forming apparatus eliminates the deviation of the scanning line in the image data used for one scanning line from the image data stored in the image forming apparatus based on the amount of deviation of the scanning line. Designating means for designating a switching position for switching to image data of another line, reading means for reading out the image data corresponding to the designated image data and the switching position, and the vicinity of the switching position among the read image data A combination means for combining the image data of the other line with the image data of the other line and transferring it to the exposure means.

また、本発明は、例えば、像担持体を露光する露光手段と、露光手段による走査線のずれ量を検出するずれ量検出手段とを備える画像形成装置のデータ転送方法として実現できる。データ転送方法は、走査線のずれ量に基づいて、画像形成装置に格納された画像データのうち1走査ラインに用いる画像データと、1走査ラインの中で走査線のずれを解消するために他のラインの画像データに切り換える切換位置とを指定するステップと、指定された画像データ及び切換位置に従って当する画像データを読み出すステップと、読み出された画像データのうち、切換位置の近傍の画像データに他のラインの画像データを組み合わせて、露光手段に転送するステップとを実行することを特徴とする。   In addition, the present invention can be realized as a data transfer method of an image forming apparatus including, for example, an exposure unit that exposes an image carrier and a shift amount detection unit that detects a shift amount of a scanning line by the exposure unit. The data transfer method is based on the amount of deviation of the scanning line, in order to eliminate the deviation of the scanning line in one scanning line from the image data used for one scanning line among the image data stored in the image forming apparatus. A switching position for switching to the image data of the line, a step for reading the image data corresponding to the specified image data and the switching position, and image data in the vicinity of the switching position among the read image data And a step of combining the image data of other lines and transferring the image data to the exposure means.

本発明は、例えば、ラインバッファを増大させることなく記録材に対する画像の位置ずれを補正する画像形成装置を提供できる。   The present invention can provide, for example, an image forming apparatus that corrects a positional deviation of an image with respect to a recording material without increasing a line buffer.

以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。   An embodiment of the present invention is shown below. The individual embodiments described below will help to understand various concepts, such as superordinate concepts, intermediate concepts and subordinate concepts of the present invention. Further, the technical scope of the present invention is determined by the scope of the claims, and is not limited by the following individual embodiments.

以下、本発明の実施形態について図面を用いて詳細に説明する。まず、図1A乃至図5を参照して、本発明の各実施形態を実現する装置構成について説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. First, with reference to FIG. 1A thru | or FIG. 5, the apparatus structure which implement | achieves each embodiment of this invention is demonstrated.

[画像形成装置]
図1Aは、本実施形態に係る画像形成装置100の一例を示す断面図である。ここでは、本発明に関する主要な要素についてのみ説明を記載する。以下では、画像形成装置100の一適用例として電子写真方式のプリンタを用いて説明を行う。
[Image forming apparatus]
FIG. 1A is a cross-sectional view illustrating an example of an image forming apparatus 100 according to the present embodiment. Here, only the main elements related to the present invention will be described. Hereinafter, an electrophotographic printer will be described as an application example of the image forming apparatus 100.

画像形成装置100は、転写ベルト109に沿ってイエロー(Y)、マゼンタ(M)、シアン(Cy)、ブラック(Bk)の各色ごとに感光ドラム105を有するタンデム方式のカラープリンタである。ここでは4色のトナーを用いた例を説明するが、勿論6色等のカラープリンタを例に本実施形態を説明することもできる。画像形成装置100は、記録材カセット101、手差しトレイ102、偏向走査装置103、画像形成部104a、b、c、d、転写ベルト109、定着ユニット110及びレジストレーション検出センサ111を含む。   The image forming apparatus 100 is a tandem color printer having a photosensitive drum 105 for each color of yellow (Y), magenta (M), cyan (Cy), and black (Bk) along the transfer belt 109. Here, an example using four color toners will be described, but of course, the present embodiment can also be described using a color printer of six colors or the like as an example. The image forming apparatus 100 includes a recording material cassette 101, a manual feed tray 102, a deflection scanning device 103, image forming units 104 a, b, c and d, a transfer belt 109, a fixing unit 110, and a registration detection sensor 111.

記録材カセット101及び手差しトレイ102は、記録材が載置され、画像形成装置100内に載置された記録材を給送する。偏向走査装置103は、複数のレーザ光源を備え、各画像形成部104(104a〜104d)にそれぞれ含まれる感光ドラム105に露光して静電潜像を形成する。以下では、各画像形成部104が同様の構成であるため、画像形成部104aを一例に説明する。画像形成部104は、感光ドラム105、一次帯電器106、現像ユニット107及びクリーニングユニット108を含む。また、画像形成部104は、画像形成装置100に対して着脱可能な交換ユニットとして構成されてもよい。感光ドラム105は、像担持体として機能し、一次帯電器106により一様に帯電され、偏向走査装置103のレーザ出力によって静電潜像が形成される。感光ドラム105に形成された静電潜像は、現像ユニット107によって現像化される。現像ユニット107は、それぞれの画像形成部104で異なる色のトナーを有する。感光ドラム105に形成されたトナー像は、転写ベルト109上に搬送されてくる記録材に転写される。記録材に転写された後に、感光ドラム105に残留するトナーは、クリーニングユニット108に含まれるブレードによって掻き落とされて廃棄される。記録材には、画像形成部104aから画像形成部104dの順序でトナー像が重ねて転写される。その後、転写されたトナー像は、定着ユニット110によって記録材に定着される。   The recording material cassette 101 and the manual feed tray 102 are loaded with a recording material and feed the recording material placed in the image forming apparatus 100. The deflection scanning device 103 includes a plurality of laser light sources, and forms an electrostatic latent image by exposing the photosensitive drum 105 included in each of the image forming units 104 (104a to 104d). In the following, since each image forming unit 104 has the same configuration, the image forming unit 104a will be described as an example. The image forming unit 104 includes a photosensitive drum 105, a primary charger 106, a developing unit 107, and a cleaning unit 108. The image forming unit 104 may be configured as an exchange unit that can be attached to and detached from the image forming apparatus 100. The photosensitive drum 105 functions as an image carrier, is uniformly charged by the primary charger 106, and an electrostatic latent image is formed by the laser output of the deflection scanning device 103. The electrostatic latent image formed on the photosensitive drum 105 is developed by the developing unit 107. The developing unit 107 has different color toners in the respective image forming units 104. The toner image formed on the photosensitive drum 105 is transferred to a recording material conveyed on the transfer belt 109. The toner remaining on the photosensitive drum 105 after being transferred to the recording material is scraped off and discarded by a blade included in the cleaning unit 108. The toner images are transferred onto the recording material in the order of the image forming unit 104a to the image forming unit 104d. Thereafter, the transferred toner image is fixed on the recording material by the fixing unit 110.

レジストレーション検出センサ111は、ずれ量検出手段として機能し、記録材に転写された画像の位置ずれを検出する。具体的に、画像形成装置100は、画像の位置ずれを検出するためのパッチを形成し、レジストレーション検出センサ111によって当該パッチを検出する。さらに、画像形成装置100は、検出したパッチの情報と、正規のパッチの位置とを比較してずれ量を算出する。本実施形態に係る画像形成装置100は、このずれ量を用いて、画像形成時に偏向走査装置103へ送出される画像データを制御することで、偏向走査装置103の走査によって発生するずれ量を解消する。なお、画像形成装置100はレジストレーション検知センサ111を有するものとしたが、レジストレーション検知センサ111を有しない態様であっても良い。この場合、ずれ量はレジストレーション検出センサ111で検出するのではなく、画像形成装置100を工場にて生産する際に、レジストレーションの検知を専用の検出装置を用いて行っておけばよい。そして、専用の検出装置を用いて検知したずれ量を記憶部126に、後述するRegUpDown[i](i=0、1、2・・・)として記憶させておけばよい。また、このずれ量とは、レーザ光源から照射されるレーザ光により形成される走査線の、感光ドラム105の軸方向に直行する方向(円周方向)に対するずれ量をいう。つまり、理想的には、レーザ光の走査線の方向は、感光ドラム105の軸方向に平行なるべきであるが、レーザ光源の取付誤差や感光ドラム105の取付誤差により必ずしも理想的にはならない。そこで、レーザ光の走査方向と感光ドラム105の軸方向のずれ量を検出(あるいは予め記憶)し、記憶部126に記憶された画像データの読出しアドレスを調整することで、記録材に画像を記録したときにずれが相殺されるようにする。   The registration detection sensor 111 functions as a deviation amount detection unit, and detects a positional deviation of the image transferred to the recording material. Specifically, the image forming apparatus 100 forms a patch for detecting an image position shift, and the registration detection sensor 111 detects the patch. Further, the image forming apparatus 100 compares the detected patch information with the position of the regular patch to calculate the shift amount. The image forming apparatus 100 according to the present embodiment uses this deviation amount to control the image data sent to the deflection scanning device 103 during image formation, thereby eliminating the deviation amount caused by the scanning of the deflection scanning device 103. To do. Although the image forming apparatus 100 includes the registration detection sensor 111, the image forming apparatus 100 may be configured without the registration detection sensor 111. In this case, the amount of deviation is not detected by the registration detection sensor 111, but when the image forming apparatus 100 is produced in the factory, the detection of registration may be performed using a dedicated detection device. Then, the shift amount detected using the dedicated detection device may be stored in the storage unit 126 as RegUpDown [i] (i = 0, 1, 2,...) Described later. The shift amount is a shift amount of a scanning line formed by laser light emitted from a laser light source with respect to a direction (circumferential direction) perpendicular to the axial direction of the photosensitive drum 105. That is, ideally, the direction of the scanning line of the laser beam should be parallel to the axial direction of the photosensitive drum 105, but it is not necessarily ideal due to the mounting error of the laser light source or the mounting error of the photosensitive drum 105. Therefore, the amount of deviation between the scanning direction of the laser beam and the axial direction of the photosensitive drum 105 is detected (or stored in advance), and the read address of the image data stored in the storage unit 126 is adjusted to record the image on the recording material. So that the offset is offset.

図1Bは、本実施形態に係る画像形成装置100の構成例を示すブロック図である。画像形成装置100は、例えば、複数種類の機能を実現する複合機であるMFP(Multi Function Peripheral)で実現される。また、画像形成装置100は、ネットワークI/F128を介してネットワークに接続され、ネットワークを利用して画像データや装置情報を外部装置とやりとりすることができる。さらに、画像形成装置100は、データ処理部121、表示部122、操作部124、画像読取部125、記憶部126及び印刷部127を備える。   FIG. 1B is a block diagram illustrating a configuration example of the image forming apparatus 100 according to the present embodiment. The image forming apparatus 100 is realized by, for example, an MFP (Multi Function Peripheral) that is a multifunction machine that realizes a plurality of types of functions. The image forming apparatus 100 is connected to the network via the network I / F 128, and can exchange image data and apparatus information with an external apparatus using the network. Further, the image forming apparatus 100 includes a data processing unit 121, a display unit 122, an operation unit 124, an image reading unit 125, a storage unit 126, and a printing unit 127.

画像読取部125は、原稿台及びオートドキュメントフィーダ(ADF)を含み、束状の又は1枚の原稿を光源によって照射し、原稿反射像をレンズで固体撮像素子上に結像する。これにより、画像読取部125は、その固体撮像素子からラスタ状の画像読取信号を所定密度(例えば、600DPI)のラスタ画像として取得する。以下では、画像読取部125で読み取られる印刷物として、紙文書を例に挙げて説明するが、紙以外の記録材(例えば、OHPシート、フィルム等の透過原稿、布等)からなる印刷物を画像読取部125の読取対象としてもよい。   The image reading unit 125 includes a document table and an auto document feeder (ADF). The image reading unit 125 irradiates a bundle or one document with a light source, and forms a document reflection image on a solid-state image sensor with a lens. As a result, the image reading unit 125 acquires a raster-like image reading signal from the solid-state imaging device as a raster image having a predetermined density (for example, 600 DPI). Hereinafter, a paper document will be described as an example of a printed material read by the image reading unit 125. However, a printed material made of a recording material other than paper (for example, an OHP sheet, a transparent original such as a film, a cloth, or the like) is read as an image. It may be read by the unit 125.

印刷部127は、画像読取信号に対応する画像を記録材に印刷する。例えば、画像形成装置100は、1つの原稿画像を複写する場合に、この画像読取信号をデータ処理部121で画像処理して記録信号を生成し、生成した記録信号を印刷部127によって記録材上に印刷させる。一方、複数の原稿画像を複写する場合、画像形成装置100は、記憶部126に1つ分の記録信号を記憶させた後に、記憶させた記録信号を印刷部127に順次出力して記録材上に印刷させる。印刷部127を用いる各種印刷制御は、データ処理部121に含まれるプリンタコントローラ123によって制御される。   The printing unit 127 prints an image corresponding to the image reading signal on a recording material. For example, when copying one original image, the image forming apparatus 100 performs image processing on the image reading signal by the data processing unit 121 to generate a recording signal, and the generated recording signal is printed on the recording material by the printing unit 127. To print. On the other hand, when copying a plurality of document images, the image forming apparatus 100 stores one recording signal in the storage unit 126, and then sequentially outputs the stored recording signal to the printing unit 127. To print. Various printing controls using the printing unit 127 are controlled by a printer controller 123 included in the data processing unit 121.

操作部124は、画像形成装置100への操作者の指示を受け付け、これら一連の動作はデータ処理部121で制御される。また、表示部122は、操作入力の状態及び処理中の画像データを表示する。なお、画像形成装置100は、後述する各種処理を実行するための各種操作・表示をユーザに提供するユーザインタフェースを、表示部122及び操作部124によって実現する。   The operation unit 124 receives an operator instruction to the image forming apparatus 100, and a series of these operations is controlled by the data processing unit 121. The display unit 122 displays the state of operation input and the image data being processed. Note that the image forming apparatus 100 implements a user interface that provides a user with various operations and displays for executing various processes to be described later, using the display unit 122 and the operation unit 124.

[プリンタコントローラ]
次に、図2を参照して、プリンタコントローラ123の詳細な構成について説明する。図2は、本実施形態に係るプリンタコントローラ123の構成例を示すブロック図である。
[Printer controller]
Next, a detailed configuration of the printer controller 123 will be described with reference to FIG. FIG. 2 is a block diagram illustrating a configuration example of the printer controller 123 according to the present embodiment.

プリンタコントローラ123は、操作部I/F301、ホストI/F部302、画像データ発生部303、画像メモリ304、DMAコントローラ(ダイレクトメモリアクセスコントローラ)305、ブレンド処理部306及びエンジンI/F307を備える。さらに、プリンタコントローラ123は、CPU308、ROM309、RAM310及びシステムバス311を備える。   The printer controller 123 includes an operation unit I / F 301, a host I / F unit 302, an image data generation unit 303, an image memory 304, a DMA controller (direct memory access controller) 305, a blend processing unit 306, and an engine I / F 307. Further, the printer controller 123 includes a CPU 308, a ROM 309, a RAM 310, and a system bus 311.

ホストI/F部302には、データ処理部121から送出された印刷データや装置の動作を指示する設定を入力する入力バッファが設けられている。また、ホストI/F部302には、データ処理部121へ送出する信号や機器情報データを含む出力データを一時的に保持する出力バッファが設けられている。また、ホストI/F部302は、データ処理部121との間で送受信される信号や通信パケットの入出力部を構成するとともに、データ処理部121との間の通信制御を行う。   The host I / F unit 302 is provided with an input buffer for inputting print data sent from the data processing unit 121 and settings for instructing operation of the apparatus. In addition, the host I / F unit 302 is provided with an output buffer that temporarily holds output data including signals to be sent to the data processing unit 121 and device information data. The host I / F unit 302 constitutes an input / output unit for signals and communication packets transmitted / received to / from the data processing unit 121 and performs communication control with the data processing unit 121.

ホストI/F部302を介して入力された印刷データは、画像データ発生部303に与えられる。ここで、入力される印刷データは、例えば、PDL(ページ記述言語)データで構成される。画像データ発生部303は、予め定められている解析部に基づき入力された印刷データの解析(例えば、PDL解析処理)、その解析結果から中間言語を生成し、更に印刷部(プリンタエンジン)107が処理可能なビットマップデータを生成する。   The print data input via the host I / F unit 302 is given to the image data generation unit 303. Here, the input print data is composed of, for example, PDL (page description language) data. The image data generation unit 303 analyzes the print data input based on a predetermined analysis unit (for example, PDL analysis processing), generates an intermediate language from the analysis result, and further the printing unit (printer engine) 107 Generate processable bitmap data.

具体的に、画像データ発生部303は、印刷データの解析とその解析による中間言語情報の作成を行うとともに、その中間言語情報の作成と並行してラスタライズ処理を行う。このラスタライズ処理では、印刷データに含まれる表示色RGB(加法混色)から印刷部127が処理可能なYMCK(減法混色)への変換がある。また、印刷データに含まれる文字コードから予め格納されているビットパターン、アウトラインフォント等のフォントデータへの変換等の処理がある。その後、ラスタライズ処理では、ページ単位又はバンド単位でビットマップデータを作成し、このビットマップデータに対しディザパターンを用いる擬似階調処理を施し、印刷部127において印刷処理が可能なビットマップデータを生成する。   Specifically, the image data generation unit 303 analyzes the print data and creates intermediate language information by the analysis, and performs rasterization processing in parallel with the creation of the intermediate language information. In this rasterization process, there is a conversion from the display color RGB (additive color mixture) included in the print data to YMCK (subtractive color mixture) that can be processed by the printing unit 127. In addition, there is processing such as conversion from a character code included in print data into font data such as a pre-stored bit pattern and outline font. After that, in the rasterizing process, bitmap data is created in page units or band units, pseudo gradation processing using a dither pattern is performed on the bitmap data, and bitmap data that can be printed in the printing unit 127 is generated. To do.

この作成されたビットマップデータは、画像メモリ304に格納される。画像メモリ304に格納されているビットマップデータの読出は、DMAコントローラ305で制御される。このDMAコントローラ305による画像メモリ304からのビットマップデータの読出制御は、指定手段として機能するCPU308からの指示に基づいて行なわれる。   The created bitmap data is stored in the image memory 304. Reading of the bitmap data stored in the image memory 304 is controlled by the DMA controller 305. The reading control of the bitmap data from the image memory 304 by the DMA controller 305 is performed based on an instruction from the CPU 308 functioning as a designation unit.

画像メモリ304から読み出されたビットマップデータは、後述するブレンド処理を行うブレンド処理部(組合せ手段)306に与えられる。さらに、ブレンド処理部306でブレンド処理されたビットマップデータは、エンジンI/F部307を介してビデオ信号として印刷部127に転送される。ブレンド処理については、図4及び図5を参照して後述する。   The bitmap data read from the image memory 304 is given to a blend processing unit (combining means) 306 that performs a blend process described later. Further, the bitmap data blended by the blend processing unit 306 is transferred to the printing unit 127 as a video signal via the engine I / F unit 307. The blending process will be described later with reference to FIGS.

エンジンI/F部307には、印刷部127へ転送するビデオ信号を一時的に保持する出力バッファと、印刷部127から送出された信号を一時的に保持する入力バッファとが設けられる。また、エンジンI/F部307は、印刷部127との間で送受信される信号の入出力部を構成するとともに、印刷部127との間の通信制御を行う。   The engine I / F unit 307 is provided with an output buffer that temporarily holds a video signal to be transferred to the printing unit 127 and an input buffer that temporarily holds a signal sent from the printing unit 127. The engine I / F unit 307 constitutes an input / output unit for signals transmitted to and received from the printing unit 127 and performs communication control with the printing unit 127.

操作部124から操作入力によって出されたモード設定に関する指示等の各種指示は、操作部I/F部301を介してCPU308に入力される。即ち、操作部I/F部301は、操作部124とCPU308との間のインタフェースを構成する。   Various instructions such as an instruction regarding mode setting issued by an operation input from the operation unit 124 are input to the CPU 308 via the operation unit I / F unit 301. That is, the operation unit I / F unit 301 constitutes an interface between the operation unit 124 and the CPU 308.

CPU308は、操作部124又はデータ処理部121から指示されたモードに応じて、上述の各ブロックを統括的に制御する。これらの制御は、ROM309に格納されている制御プログラムに基づいて実行される。ROM309に格納されている制御プログラムは、システムクロックによってタスクと称されるロードモジュール単位に時分割制御を行うためのOS(オペレーティングシステム)を含む。また、制御プログラムには、OSによって機能単位に実行制御される複数のロードモジュールが含まれる。RAM310は、CPU308による演算処理の作業領域として使用される。また、上述した各ブロックは、システムバス311に接続されている。システムバス311は、アドレスバスとシステムバスとを備える。   The CPU 308 comprehensively controls each block described above according to the mode instructed from the operation unit 124 or the data processing unit 121. These controls are executed based on a control program stored in the ROM 309. The control program stored in the ROM 309 includes an OS (operating system) for performing time-sharing control in units of load modules called tasks according to the system clock. The control program includes a plurality of load modules that are executed and controlled in units of functions by the OS. The RAM 310 is used as a work area for arithmetic processing by the CPU 308. Each block described above is connected to the system bus 311. The system bus 311 includes an address bus and a system bus.

[DMAコントローラ]
次に、図3を参照して、DMAコントローラ305の詳細について説明する。図3は、本実施形態に係るプリンタコントローラ123に備えられるDMAコントローラ305の構成例を示すブロック図である。DMAコントローラ305は、読出手段として機能し、レジスタ部501、アドレス生成部502、バスインタフェース503、FIFO504及びブレンド処理部インタフェース505を備える。
[DMA controller]
Next, the details of the DMA controller 305 will be described with reference to FIG. FIG. 3 is a block diagram illustrating a configuration example of the DMA controller 305 provided in the printer controller 123 according to the present embodiment. The DMA controller 305 functions as a reading unit, and includes a register unit 501, an address generation unit 502, a bus interface 503, a FIFO 504, and a blend processing unit interface 505.

レジスタ部501は、複数のレジスタを含んで構成される。DMAコントローラ305に対するCPU308からの指示は、レジスタ部501の各レジスタに適切な値を書き込むことで行なわれる。   The register unit 501 includes a plurality of registers. An instruction from the CPU 308 to the DMA controller 305 is performed by writing an appropriate value to each register of the register unit 501.

アドレス生成部502は、画像メモリ304に記憶されるビットマップデータを読み出すためのアドレスをレジスタ部501の各レジスタの内容を参照して、生成する。アドレス生成部502は、アドレス信号(addr)と、当該アドレスからリードする長さを示すレングス信号(length)とをバスインタフェース503への要求信号(req)を用いて要求する。   The address generation unit 502 generates an address for reading bitmap data stored in the image memory 304 with reference to the contents of each register of the register unit 501. The address generation unit 502 requests an address signal (addr) and a length signal (length) indicating the length of reading from the address using a request signal (req) to the bus interface 503.

バスインタフェース503は、アドレス生成部502からのアドレス信号とレングス信号を受信し、バス311に対してリードトランザクションを発行する。例えば、バス311のデータバス幅が32ビットであれば、アドレス信号とレングス信号から複数の32ビットアクセスに分解し、リードトランザクションを発行する。バスインタフェース503は、1組のアドレス信号とレングス信号に対する処理が完了すれば、応答信号(ack)を用いて、処理完了をアドレス生成部502に伝える。応答信号を受けたアドレス生成部502は、次のアドレス信号とレングス信号をバスインタフェース503に要求できる。   The bus interface 503 receives the address signal and the length signal from the address generation unit 502 and issues a read transaction to the bus 311. For example, if the data bus width of the bus 311 is 32 bits, the address signal and the length signal are decomposed into a plurality of 32-bit accesses and a read transaction is issued. When the processing for one set of address signal and length signal is completed, the bus interface 503 notifies the address generation unit 502 of the completion of processing using a response signal (ack). Upon receiving the response signal, the address generation unit 502 can request the bus interface 503 for the next address signal and length signal.

画像メモリ304からリードされたビットマップデータは、一時的に、FIFO(First In First Outバッファ)504に記憶される。DMAコントローラ305は、ブレンド処理部306が一時的にデータを入力できない期間が発生した場合であっても、ビットマップデータをFIFO504に記憶する。これにより、ブレンド処理部306がデータ入力可能となったときに、即座にFIFO504からブレンド処理部306にビットマップデータを供給することができる。   The bitmap data read from the image memory 304 is temporarily stored in a FIFO (First In First Out buffer) 504. The DMA controller 305 stores the bitmap data in the FIFO 504 even when there is a period in which the blend processing unit 306 cannot temporarily input data. Thereby, when the blend processing unit 306 can input data, the bitmap data can be immediately supplied from the FIFO 504 to the blend processing unit 306.

バスインタフェース503は、FIFO504から出力される、FIFOにデータを書き込むべき空きがないことを示すFIFOフル信号(full)を監視する。FIFO504がフル状態の場合、バスインタフェース503は、リードトランザクションを発行せずに、フル状態が解除されるまで待機する。   The bus interface 503 monitors the FIFO full signal (full) output from the FIFO 504 and indicating that there is no space in the FIFO to write data. When the FIFO 504 is full, the bus interface 503 waits until the full state is released without issuing a read transaction.

ブレンド処理部インタフェース505は、FIFO504に蓄えられたビットマップデータをブレンド処理部306に送信する。ブレンド処理部インタフェース505は、FIFO504から出力される、FIFOに蓄えられたデータがないことを示すFIFOエンプティ信号(empty)を監視する。ブレンド処理部インタフェース505は、FIFO504がエンプティ状態でなく、かつ、ブレンド処理部306がデータを入力できる状態であれば、FIFO504からビットマップデータをリードし、当該データをブレンド処理部306へ送信する。   The blend processing unit interface 505 transmits the bitmap data stored in the FIFO 504 to the blend processing unit 306. The blend processing unit interface 505 monitors a FIFO empty signal (empty) output from the FIFO 504 and indicating that there is no data stored in the FIFO. If the FIFO 504 is not in an empty state and the blend processing unit 306 can input data, the blend processing unit interface 505 reads bitmap data from the FIFO 504 and transmits the data to the blend processing unit 306.

[レジストレーションずれ補正の原理]
次に、図4及び図5を参照して、記録材に対する画像の位置ずれ補正の原理について説明する。なお、以下では、記録材に対する画像の位置ずれをレジストレーションずれと称する。図4及び図5は、本実施形態に係るレジストレーションずれ補正の原理を説明するための図である。
[Principle of registration deviation correction]
Next, with reference to FIG. 4 and FIG. 5, the principle of image misregistration correction with respect to the recording material will be described. Hereinafter, the positional deviation of the image with respect to the recording material is referred to as registration deviation. 4 and 5 are diagrams for explaining the principle of registration deviation correction according to the present embodiment.

図4に示す401は、レジストレーションずれの原因となる、曲がりが生じた1走査ラインの走査線を示す。また、402は、401に示す走査線の曲がりに合わせて、ラインを切り換えながら、ビットマップデータを印刷部127へ送出する様子を示す。402では、黒い部分が1回の走査線の走査で印刷部127へ送出されるデータを示している。このように、走査線の曲がりに合わせて、ラインを切り換えながら、ビットマップデータを印刷部127へ送出すれば、曲がりが生じた露光走査によっても、像担持体上に生成された静電潜像は歪みのないものとなる。   Reference numeral 401 shown in FIG. 4 indicates a scanning line of one scanning line that is bent and causes registration deviation. Reference numeral 402 denotes a state in which bitmap data is sent to the printing unit 127 while switching the line in accordance with the curve of the scanning line 401. In 402, the black portion indicates data sent to the printing unit 127 by one scanning line scan. In this way, if the bitmap data is sent to the printing unit 127 while switching the line according to the bending of the scanning line, the electrostatic latent image generated on the image carrier can be obtained even by the exposure scanning in which the bending occurs. Is undistorted.

図5に示す501は、レジストレーションずれの原因となる、曲がりが生じた走査線の一部を拡大したものを示す。502は、501に示す走査線の曲がりに合わせて、ラインを切り換えながら、ビットマップデータを印刷部127へ送出する様子を示す。ただし、502に示すように、単にラインを切り換えて、ビットマップデータを印刷部127へ送ると、その切り換え部分に不自然な段差を生じてしまう。不自然な段差を解消し、画像の平滑化を図るためには、503のように、切り換え部分の前後で2ラインを組み合わせる必要がある。   501 shown in FIG. 5 is an enlarged view of a part of the scanning line in which the bending has occurred, which causes the registration shift. Reference numeral 502 denotes a state in which bitmap data is sent to the printing unit 127 while switching the line in accordance with the curve of the scanning line 501. However, as indicated by 502, if the lines are simply switched and the bitmap data is sent to the printing unit 127, an unnatural step occurs in the switching portion. In order to eliminate the unnatural step and smooth the image, it is necessary to combine two lines before and after the switching portion as in 503.

本発明のDMAコントローラ305は、ラインバッファを不要とするために、走査線の曲がりに合わせてラインを切り換えるように、アドレスを生成する。即ち、必要となるビットマップデータを的確に読み出すことによって、一時的にラインごとのビットマップデータを保存するラインバッファを省略する。具体的に、ブレンド処理に必要となるデータがラインを切り換える前後のみのデータであることに着目し、504の黒い部分に加えて、網掛けの部分のビットマップデータを印刷部127へ送出する。これにより、画像形成装置100は、必要なビットマップデータをメモリから読み出してブレンド処理部306に与えるため、ラインバッファを備えなくてよい。   The DMA controller 305 of the present invention generates an address so that the line is switched according to the bending of the scanning line in order to eliminate the need for a line buffer. That is, the line buffer for temporarily storing the bitmap data for each line is omitted by accurately reading out the necessary bitmap data. Specifically, paying attention to the fact that the data required for the blending process is the data before and after the line switching, in addition to the black portion 504, the bitmap data of the shaded portion is sent to the printing unit 127. As a result, the image forming apparatus 100 does not need to include a line buffer in order to read out necessary bitmap data from the memory and supply the data to the blend processing unit 306.

次に、図9を参照して、ビットマップデータを主走査方向や副走査方向に反転することなくブレンド処理部306に転送する際のDMAコントローラ305の動作について説明する。以下では、ビットマップデータの1ラインを等分に分割して考える。以下、この分割された1つのデータをセグメント(分割データ)と称する。   Next, the operation of the DMA controller 305 when transferring bitmap data to the blend processing unit 306 without being inverted in the main scanning direction or the sub-scanning direction will be described with reference to FIG. In the following, one line of bitmap data is considered divided equally. Hereinafter, this divided data is referred to as a segment (divided data).

DMA動作(ビットマップデータの読み出し動作)を実現するために、レジスタ部501には、予め複数のレジスタが用意されている。具体的に、レジスタ部501は、各セグメントの長さを指定するレジスタ(RegSegLen)を含む。また、レジスタ部501は、走査線の曲がりに合わせて、隣り合うセグメントでラインを切り換えないか、上(前)のラインに切り換えるか、又は下(次)のラインに切り換えるかを指定するレジスタ郡(RegUpDown[i])を必要な数だけ含む。このレジスタ群のとり得る値は3通りであるため、例えば、ラインを切り換えない場合は‘00’又は‘01’を、上のラインに切り換える場合は‘10’を、下のラインに切り換える場合は‘11’が割り当てられる。   In order to realize the DMA operation (bitmap data read operation), the register unit 501 is provided with a plurality of registers in advance. Specifically, the register unit 501 includes a register (RegSegLen) that specifies the length of each segment. In addition, the register unit 501 designates whether to switch lines between adjacent segments, switch to the upper (previous) line, or switch to the lower (next) line according to the curve of the scanning line. (RegUpDown [i]) is included as many times as necessary. Since there are three possible values for this register group, for example, “00” or “01” is set when the line is not switched, “10” is switched when the line is switched, and “10” is switched when the line is switched to the lower line. “11” is assigned.

また、レジスタ部501は、レジスタ(RegOverwrapLen)、レジスタ(RegStartAddr)、レジスタ(RegLineLen)、レジスタ(RegLineOffset)及びレジスタ(RegBeams)を備える。レジスタ(RegOverwrapLen)には、隣り合うセグメントでラインが切り換わる場合に、切換位置の前後をリードする長さ(切換位置の近傍のデータとなる。)が指定される。このレジスタ(RegOverwrapLen)は、主走査方向の組合せ数となる。レジスタ(RegStartAddr)には、画像メモリ304に記憶されるビットマップデータの先頭アドレスが指定される。レジスタ(RegLineLen)には、ビットマップデータのラインの長さが指定される。レジスタ(RegLineOffset)には、ビットマップデータの隣り合うラインのアドレスのオフセット値が指定される。レジスタ(RegBeams)には、ブレンド処理部306へ送るべきライン数が指定される。さらに、レジスタ部501は、CPU308が上述のレジスタの設定を完了した後に、DMA動作を開始させるための起動レジスタを含む。   The register unit 501 includes a register (RegOverwrapLen), a register (RegStartAddr), a register (RegLineLen), a register (RegLineOffset), and a register (RegBeams). In the register (RegOverwrapLen), when a line is switched between adjacent segments, a length for reading before and after the switching position (data in the vicinity of the switching position) is designated. This register (RegOverwrapLen) is the number of combinations in the main scanning direction. In the register (RegStartAddr), the top address of the bitmap data stored in the image memory 304 is designated. In the register (RegLineLen), the line length of the bitmap data is specified. In the register (RegLineOffset), an offset value of an address of an adjacent line of bitmap data is designated. The number of lines to be sent to the blend processing unit 306 is designated in the register (RegBeams). Furthermore, the register unit 501 includes an activation register for starting the DMA operation after the CPU 308 completes the register setting described above.

図9は、アドレス生成部502の動作を示すフローチャートである。ここでは、走査線の歪みを解消するために、好適にビットマップデータを読み出すDMA処理(データ転送方法)について説明する。   FIG. 9 is a flowchart showing the operation of the address generation unit 502. Here, a DMA process (data transfer method) for suitably reading out bitmap data in order to eliminate scanning line distortion will be described.

まず、ステップS900において、アドレス生成部502は、CPU308の指示によってDMA動作が開始されると、信号line_start_addr及び信号line_cntを初期化する。具体的に、アドレス生成部502は、各ラインの開始アドレスを記憶する信号line_start_addrをRegStartAddrの値で初期化する。また、アドレス生成部502は、ブレンド処理部306へ送ったライン数を示す信号line_cntをゼロで初期化する。   First, in step S900, when the DMA operation is started by an instruction from the CPU 308, the address generation unit 502 initializes the signal line_start_addr and the signal line_cnt. Specifically, the address generation unit 502 initializes a signal line_start_addr that stores the start address of each line with the value of RegStartAddr. In addition, the address generation unit 502 initializes a signal line_cnt indicating the number of lines sent to the blend processing unit 306 with zero.

ステップS901において、アドレス生成部502は、ライン毎の初期化を行う。具体的に、アドレス生成部502は、セグメントの開始アドレスを示す信号seg_addrをline_start_addrの値で初期化し、ライン中の処理した量をカウントする信号line_data_cntをゼロで初期化する。また、アドレス生成部502は、参照すべきレジスタ郡RegUpDown[i]のインデックスを示す信号indexを0で初期化する。   In step S901, the address generation unit 502 performs initialization for each line. Specifically, the address generation unit 502 initializes a signal seg_addr indicating the start address of the segment with the value of line_start_addr, and initializes a signal line_data_cnt that counts the processed amount in the line with zero. Further, the address generation unit 502 initializes a signal index indicating the index of the register group RegUpDown [i] to be referred to with 0.

ステップS902において、アドレス生成部502は、セグメント毎の初期化を行う。具体的に、アドレス生成部502は、バスインタフェース503へ要求すべきアドレスと長さを示す信号(addrとlength)をそれぞれ、セグメントの開始アドレスを示す信号seg_addrとレジスタRegSegLenの値で初期化する。   In step S902, the address generation unit 502 performs initialization for each segment. Specifically, the address generation unit 502 initializes signals (addr and length) indicating the address and length to be requested to the bus interface 503 with the signal seg_addr indicating the start address of the segment and the value of the register RegSegLen, respectively.

ステップS903において、アドレス生成部502は、信号addrとlengthでバスインタフェース503へリード要求を行う。なお、ステップS903におけるリード要求は、主走査方向のアドレスを減算しながらデータがリードされるような要求となる。   In step S903, the address generation unit 502 makes a read request to the bus interface 503 with the signals addr and length. Note that the read request in step S903 is a request to read data while subtracting the address in the main scanning direction.

ステップS904において、アドレス生成部502は、セグメントの開始アドレスを示す信号seg_addrを次のセグメントの開始アドレスに更新するために、現在のセグメントの後側(次のセグメント側)でライン切り換え信号RegUpDown[index]の値を判定する。セグメントの後側でラインの切り換えがない場合、即ち、ライン切り換え信号RegUpDown[index]の値が‘00’又は‘01’である場合に、アドレス生成部502は、処理をステップS907へ遷移させる。また、上のラインに切り換える場合、即ち、ライン切り換え信号RegUpDown[index]の値が‘10’である場合、アドレス生成部502は、処理をステップS105へ遷移させる。さらに、下のラインに切り換わる場合、即ち、ライン切り換え信号RegUpDown[index]の値が‘11’である場合、アドレス生成部502は、処理をステップS906へ遷移させる。   In step S904, the address generation unit 502 updates the signal seg_addr indicating the start address of the segment to the start address of the next segment, so that the line switching signal RegUpDown [index] is provided on the rear side (next segment side) of the current segment. ] Is determined. When there is no line switching at the rear side of the segment, that is, when the value of the line switching signal RegUpDown [index] is “00” or “01”, the address generation unit 502 shifts the processing to step S907. Further, when switching to the upper line, that is, when the value of the line switching signal RegUpDown [index] is “10”, the address generating unit 502 shifts the processing to step S105. Further, when the line is switched to the lower line, that is, when the value of the line switching signal RegUpDown [index] is “11”, the address generation unit 502 shifts the processing to step S906.

ステップS905において、アドレス生成部502は、セグメントの開始アドレスを上のラインに切り換えるために信号seg_addrにレジスタRegLineOffsetの値を加え、処理をS907へ遷移させる。次のセグメントの開始アドレスはこの値に、さらにRegSegLenを加える処理は、後述するステップS907で行われる。   In step S905, the address generation unit 502 adds the value of the register RegLineOffset to the signal seg_addr in order to switch the segment start address to the upper line, and causes the process to transition to S907. The process of adding RegSegLen to this value as the start address of the next segment is performed in step S907 described later.

ステップS906において、アドレス生成部502は、セグメントの開始アドレスを下のラインに切り換えるために信号seg_addrからレジスタRegLineOffsetの値を減じ、処理をS907へ遷移させる。次のセグメントの開始アドレスはこの値に、さらにRegSegLenを加える処理は、後述するステップS907で行われる。   In step S906, the address generation unit 502 subtracts the value of the register RegLineOffset from the signal seg_addr in order to switch the segment start address to the lower line, and causes the process to transition to S907. The process of adding RegSegLen to this value as the start address of the next segment is performed in step S907 described later.

ステップS907において、アドレス生成部502は、次のセグメントの処理のために各信号を更新する。具体的に、アドレス生成部502は、セグメントの開始アドレス信号seg_addrにレジスタRegSegLenの値を加える。また、アドレス生成部502は、ライン中の処理した量をカウントする信号line_data_cntにもレジスタRegSegLenの値を加える。さらに、アドレス生成部502は、参照するレジスタRegUpDown[i]を1つ進めるために、信号indexを1だけインクリメントする。   In step S907, the address generation unit 502 updates each signal for processing of the next segment. Specifically, the address generation unit 502 adds the value of the register RegSegLen to the segment start address signal seg_addr. The address generation unit 502 also adds the value of the register RegSegLen to the signal line_data_cnt that counts the processed amount in the line. Furthermore, the address generation unit 502 increments the signal index by 1 in order to advance the register RegUpDown [i] to be referred to by one.

ステップS908において、アドレス生成部502は、レジスタRegLineLenの値からline_data_cntの値を減じた値をRegSegLenの値と比較し、ラインの終了を判定する。その差がRegSegLenの値より大きければ、アドレス生成部502は、処理すべきセグメントが2個以上あるため、ステップS902に処理を戻し、セグメントの処理を繰り返す。一方、その差がRegSegLenの値以下であれば、アドレス生成部502は、ライン中の最後のセグメントの処理を行うためにステップS909の処理へ進む。   In step S908, the address generation unit 502 compares the value obtained by subtracting the value of line_data_cnt from the value of the register RegLineLen with the value of RegSegLen, and determines the end of the line. If the difference is larger than the value of RegSegLen, the address generation unit 502 has two or more segments to be processed. Therefore, the process returns to step S902, and the segment processing is repeated. On the other hand, if the difference is equal to or smaller than the value of RegSegLen, the address generation unit 502 proceeds to the process of step S909 in order to process the last segment in the line.

ステップS909において、アドレス生成部502は、次のラインの処理のために各信号を更新する。具体的に、アドレス生成部502は、各ラインの開始アドレスを記憶する信号line_start_addrにレジスタRegLineOffsetの値を加え、各ラインの開始アドレスが次のラインの先頭アドレスとなるように更新する。また、アドレス生成部502は、ブレンド処理部306へ送ったライン数を示す信号line_cntを1だけインクリメントする。   In step S909, the address generation unit 502 updates each signal for processing of the next line. Specifically, the address generation unit 502 adds the value of the register RegLineOffset to the signal line_start_addr that stores the start address of each line, and updates the start address of each line so that it becomes the start address of the next line. The address generation unit 502 increments the signal line_cnt indicating the number of lines sent to the blend processing unit 306 by one.

ステップS910において、アドレス生成部502は、信号line_cntとレジスタRegBeamsの値を比較し、ページの終了を判定する。具体的に、アドレス生成部502は、信号line_cntの値がレジスタRegBeamsの値未満であれば、処理すべきラインが存在するため、ステップS901に処理を戻し、ラインの処理を繰り返す。一方、信号line_cntの値がレジスタRegBeamsの値以上であれば、アドレス生成部502は、DMA動作を終了する。DMAコントローラ305はDMA動作が終了すると、割り込みをCPU308に送る。CPU308は、この割り込みを検出することで、DMA動作が終了したことを検知する。   In step S910, the address generation unit 502 compares the signal line_cnt with the value of the register RegBeams and determines the end of the page. Specifically, if the value of the signal line_cnt is less than the value of the register RegBeams, the address generation unit 502 returns to the processing in step S901 because the line to be processed exists, and repeats the processing of the line. On the other hand, if the value of the signal line_cnt is greater than or equal to the value of the register RegBeams, the address generation unit 502 ends the DMA operation. When the DMA operation is completed, the DMA controller 305 sends an interrupt to the CPU 308. The CPU 308 detects the end of the DMA operation by detecting this interrupt.

なお、上記の説明では本発明におけるデータ転送方法をDMAコントローラ305で実現した例を示したが、CPU308の処理時間に余裕があれば、CPU308で実現してもよい。また、CPU308以外の第2のCPU(中央処理装置)やDSP(デジタル信号プロセッサ)によって実現してもよい。   In the above description, the data transfer method according to the present invention is realized by the DMA controller 305. However, if the CPU 308 has a sufficient processing time, it may be realized by the CPU 308. Further, it may be realized by a second CPU (central processing unit) other than the CPU 308 or a DSP (digital signal processor).

さらに、画像形成装置で、現像部が複数色(CYMK)の各色に対応する現像部から構成される場合には、各色毎に本発明のデータ転送方法を実現することで、各色毎のレジストレーションずれによる色ずれを防ぐことができる。   Furthermore, in the image forming apparatus, when the developing unit is composed of developing units corresponding to each of a plurality of colors (CYMK), the data transfer method according to the present invention is realized for each color, thereby registering each color. Color shift due to shift can be prevented.

[第1の実施形態]
以下では、図6を参照して、第1の実施形態について説明する。本実施形態は、ビットマップデータを主走査方向に反転(鏡像)する主走査方向反転方式の場合のDMAコントローラ305の動作について説明する。本実施形態では、ビットマップデータの1ラインを等分に分割して考える。以下、この分割された1つのデータをセグメント(分割データ)と称する。
[First Embodiment]
Hereinafter, the first embodiment will be described with reference to FIG. In this embodiment, the operation of the DMA controller 305 in the main scanning direction inversion method in which the bitmap data is inverted (mirror image) in the main scanning direction will be described. In the present embodiment, one line of bitmap data is considered to be divided equally. Hereinafter, this divided data is referred to as a segment (divided data).

本実施形態に係るDMA動作(ビットマップデータの読み出し動作)を実現するために、レジスタ部501には、予め複数のレジスタが用意されている。具体的に、レジスタ部501は、各セグメントの長さを指定するレジスタ(RegSegLen)を含む。また、レジスタ部501は、走査線の曲がりに合わせて、隣り合うセグメントでラインを切り換えないか、上(前)のラインに切り換えるか、又は下(次)のラインに切り換えるかを指定するレジスタ郡(RegUpDown[i])を必要な数だけ含む。このレジスタ群のとり得る値は3通りであるため、例えば、ラインを切り換えない場合は‘00’又は‘01’を、上のラインに切り換える場合は‘10’を、下のラインに切り換える場合は‘11’が割り当てられる。   In order to realize the DMA operation (bitmap data read operation) according to the present embodiment, the register unit 501 includes a plurality of registers in advance. Specifically, the register unit 501 includes a register (RegSegLen) that specifies the length of each segment. In addition, the register unit 501 designates whether to switch lines between adjacent segments, switch to the upper (previous) line, or switch to the lower (next) line according to the curve of the scanning line. (RegUpDown [i]) is included as many times as necessary. Since there are three possible values for this register group, for example, “00” or “01” is set when the line is not switched, “10” is switched when the line is switched, and “10” is switched when the line is switched to the lower line. “11” is assigned.

また、レジスタ部501は、レジスタ(RegOverwrapLen)、レジスタ(RegStartAddr)、レジスタ(RegLineLen)、レジスタ(RegLineOffset)及びレジスタ(RegBeams)を備える。レジスタ(RegOverwrapLen)には、隣り合うセグメントでラインが切り換わる場合に、切換位置の前後をリードする長さ(切換位置の近傍のデータとなる。)が指定される。このレジスタ(RegOverwrapLen)は、主走査方向の組合せ数となる。レジスタ(RegStartAddr)には、画像メモリ304に記憶されるビットマップデータの先頭アドレスが指定される。レジスタ(RegLineLen)には、ビットマップデータのラインの長さが指定される。レジスタ(RegLineOffset)には、ビットマップデータの隣り合うラインのアドレスのオフセット値が指定される。レジスタ(RegBeams)には、ブレンド処理部306へ送るべきライン数が指定される。さらに、レジスタ部501は、CPU308が上述のレジスタの設定を完了した後に、DMA動作を開始させるための起動レジスタを含む。   The register unit 501 includes a register (RegOverwrapLen), a register (RegStartAddr), a register (RegLineLen), a register (RegLineOffset), and a register (RegBeams). In the register (RegOverwrapLen), when a line is switched between adjacent segments, a length for reading before and after the switching position (data in the vicinity of the switching position) is designated. This register (RegOverwrapLen) is the number of combinations in the main scanning direction. In the register (RegStartAddr), the top address of the bitmap data stored in the image memory 304 is designated. In the register (RegLineLen), the line length of the bitmap data is specified. In the register (RegLineOffset), an offset value of an address of an adjacent line of bitmap data is designated. The number of lines to be sent to the blend processing unit 306 is designated in the register (RegBeams). Furthermore, the register unit 501 includes an activation register for starting the DMA operation after the CPU 308 completes the register setting described above.

図6は、第1の実施形態に係るアドレス生成部502の動作を示すフローチャートである。ここでは、走査線の歪みを解消するために、好適にビットマップデータを読み出すDMA処理(データ転送方法)について説明する。   FIG. 6 is a flowchart showing the operation of the address generation unit 502 according to the first embodiment. Here, a DMA process (data transfer method) for suitably reading out bitmap data in order to eliminate scanning line distortion will be described.

まず、ステップS100において、アドレス生成部502は、CPU308の指示によってDMA動作が開始されると、信号line_start_addr及び信号line_cntを初期化する。具体的に、アドレス生成部502は、各ラインの開始アドレスを記憶する信号line_start_addrをRegStartAddr+(RegLineLen−1)の値で初期化する。また、アドレス生成部502は、ブレンド処理部306へ送ったライン数を示す信号line_cntをゼロで初期化する。   First, in step S100, when the DMA operation is started by an instruction from the CPU 308, the address generation unit 502 initializes the signal line_start_addr and the signal line_cnt. Specifically, the address generation unit 502 initializes a signal line_start_addr that stores the start address of each line with a value of RegStartAddr + (RegLineLen−1). In addition, the address generation unit 502 initializes a signal line_cnt indicating the number of lines sent to the blend processing unit 306 with zero.

ステップS101において、アドレス生成部502は、ライン毎の初期化を行う。具体的に、アドレス生成部502は、セグメントの開始アドレスを示す信号seg_addrをline_start_addrの値で初期化し、ライン中の処理した量をカウントする信号line_data_cntをゼロで初期化する。また、アドレス生成部502は、参照すべきレジスタ郡RegUpDown[i]のインデックスを示す信号indexを0で初期化する。   In step S101, the address generation unit 502 performs initialization for each line. Specifically, the address generation unit 502 initializes a signal seg_addr indicating the start address of the segment with the value of line_start_addr, and initializes a signal line_data_cnt that counts the processed amount in the line with zero. Further, the address generation unit 502 initializes a signal index indicating the index of the register group RegUpDown [i] to be referred to with 0.

ステップS102において、アドレス生成部502は、セグメント毎の初期化を行う。具体的に、アドレス生成部502は、バスインタフェース503へ要求すべきアドレスと長さを示す信号(addrとlength)をそれぞれ、セグメントの開始アドレスを示す信号seg_addrとレジスタRegSegLenの値で初期化する。   In step S102, the address generation unit 502 performs initialization for each segment. Specifically, the address generation unit 502 initializes signals (addr and length) indicating the address and length to be requested to the bus interface 503 with the signal seg_addr indicating the start address of the segment and the value of the register RegSegLen, respectively.

ステップS103において、アドレス生成部502は、信号addrとlengthでバスインタフェース503へリード要求を行う。なお、ステップS103におけるリード要求は、主走査方向のアドレスを減算しながらデータがリードされるような要求となる。   In step S103, the address generation unit 502 makes a read request to the bus interface 503 with the signals addr and length. The read request in step S103 is a request for reading data while subtracting the address in the main scanning direction.

ステップS104において、アドレス生成部502は、セグメントの開始アドレスを示す信号seg_addrを次のセグメントの開始アドレスに更新するために、現在のセグメントの後側(次のセグメント側)でライン切り換え信号RegUpDown[index]の値を判定する。セグメントの後側でラインの切り換えがない場合、即ち、ライン切り換え信号RegUpDown[index]の値が‘00’又は‘01’である場合に、アドレス生成部502は、処理をステップS107へ遷移させる。また、上のラインに切り換える場合、即ち、ライン切り換え信号RegUpDown[index]の値が‘10’である場合、アドレス生成部502は、処理をステップS105へ遷移させる。さらに、下のラインに切り換わる場合、即ち、ライン切り換え信号RegUpDown[index]の値が‘11’である場合、アドレス生成部502は、処理をステップS106へ遷移させる。   In step S104, the address generation unit 502 updates the signal seg_addr indicating the start address of the segment to the start address of the next segment, so that the line switching signal RegUpDown [index] is provided on the rear side (next segment side) of the current segment. ] Is determined. When there is no line switching on the rear side of the segment, that is, when the value of the line switching signal RegUpDown [index] is “00” or “01”, the address generation unit 502 shifts the processing to step S107. Further, when switching to the upper line, that is, when the value of the line switching signal RegUpDown [index] is “10”, the address generating unit 502 shifts the processing to step S105. Further, when the line is switched to the lower line, that is, when the value of the line switching signal RegUpDown [index] is “11”, the address generation unit 502 shifts the processing to step S106.

ステップS105において、アドレス生成部502は、セグメントの開始アドレスを上のラインに切り換えるために信号seg_addrにレジスタRegLineOffsetの値を加え、処理をS107へ遷移させる。次のセグメントの開始アドレスはこの値に、さらにRegSegLenを加える処理は、後述するステップS107で行われる。   In step S105, the address generation unit 502 adds the value of the register RegLineOffset to the signal seg_addr in order to switch the segment start address to the upper line, and causes the process to transition to S107. The process of adding RegSegLen to this value as the start address of the next segment is performed in step S107 described later.

ステップS106において、アドレス生成部502は、セグメントの開始アドレスを下のラインに切り換えるために信号seg_addrからレジスタRegLineOffsetの値を減じ、処理をS107へ遷移させる。次のセグメントの開始アドレスはこの値に、さらにRegSegLenを加える処理は、後述するステップS107で行われる。   In step S106, the address generation unit 502 subtracts the value of the register RegLineOffset from the signal seg_addr to switch the segment start address to the lower line, and shifts the process to S107. The process of adding RegSegLen to this value as the start address of the next segment is performed in step S107 described later.

ステップS107において、アドレス生成部502は、次のセグメントの処理のために各信号を更新する。具体的に、アドレス生成部502は、セグメントの開始アドレス信号seg_addrからレジスタRegSegLenの値を減じる。また、アドレス生成部502は、ライン中の処理した量をカウントする信号line_data_cntにもレジスタRegSegLenの値を加える。さらに、アドレス生成部502は、参照するレジスタRegUpDown[i]を1つ進めるために、信号indexを1だけインクリメントする。   In step S107, the address generation unit 502 updates each signal for processing of the next segment. Specifically, the address generation unit 502 subtracts the value of the register RegSegLen from the start address signal seg_addr of the segment. The address generation unit 502 also adds the value of the register RegSegLen to the signal line_data_cnt that counts the processed amount in the line. Furthermore, the address generation unit 502 increments the signal index by 1 in order to advance the register RegUpDown [i] to be referred to by one.

ステップS108において、アドレス生成部502は、レジスタRegLineLenの値からline_data_cntの値を減じた値をRegSegLenの値と比較し、ラインの終了を判定する。その差がRegSegLenの値より大きければ、アドレス生成部502は、処理すべきセグメントが2個以上あるため、ステップS102に処理を戻し、セグメントの処理を繰り返す。一方、その差がRegSegLenの値以下であれば、アドレス生成部502は、ライン中の最後のセグメントの処理を行うためにステップS109の処理へ進む。   In step S108, the address generation unit 502 compares the value obtained by subtracting the value of line_data_cnt from the value of the register RegLineLen with the value of RegSegLen, and determines the end of the line. If the difference is larger than the value of RegSegLen, the address generator 502 has two or more segments to be processed. Therefore, the process returns to step S102 and repeats the segment processing. On the other hand, if the difference is equal to or smaller than the value of RegSegLen, the address generation unit 502 proceeds to the process of step S109 in order to process the last segment in the line.

ステップS109において、アドレス生成部502は、次のラインの処理のために各信号を更新する。具体的に、アドレス生成部502は、各ラインの開始アドレスを記憶する信号line_start_addrにレジスタRegLineOffsetの値を加え、各ラインの開始アドレスが次のラインの先頭アドレスとなるように更新する。また、アドレス生成部502は、ブレンド処理部306へ送ったライン数を示す信号line_cntを1だけインクリメントする。   In step S109, the address generation unit 502 updates each signal for processing the next line. Specifically, the address generation unit 502 adds the value of the register RegLineOffset to the signal line_start_addr that stores the start address of each line, and updates the start address of each line so that it becomes the start address of the next line. The address generation unit 502 increments the signal line_cnt indicating the number of lines sent to the blend processing unit 306 by one.

ステップS110において、アドレス生成部502は、信号line_cntとレジスタRegBeamsの値を比較し、ページの終了を判定する。具体的に、アドレス生成部502は、信号line_cntの値がレジスタRegBeamsの値未満であれば、処理すべきラインが存在するため、ステップS101に処理を戻し、ラインの処理を繰り返す。一方、信号line_cntの値がレジスタRegBeamsの値以上であれば、アドレス生成部502は、DMA動作を終了する。DMAコントローラ305はDMA動作が終了すると、割り込みをCPU308に送る。CPU308は、この割り込みを検出することで、DMA動作が終了したことを検知する。   In step S110, the address generation unit 502 compares the signal line_cnt with the value of the register RegBeams and determines the end of the page. Specifically, if the value of the signal line_cnt is less than the value of the register RegBeams, the address generation unit 502 returns to the processing in step S101 because the line to be processed exists, and repeats the processing of the line. On the other hand, if the value of the signal line_cnt is greater than or equal to the value of the register RegBeams, the address generation unit 502 ends the DMA operation. When the DMA operation is completed, the DMA controller 305 sends an interrupt to the CPU 308. The CPU 308 detects the end of the DMA operation by detecting this interrupt.

なお、上記の説明では本発明におけるデータ転送方法をDMAコントローラ305で実現した例を示したが、CPU308の処理時間に余裕があれば、CPU308で実現してもよい。また、CPU308以外の第2のCPU(中央処理装置)やDSP(デジタル信号プロセッサ)によって実現してもよい。   In the above description, the data transfer method according to the present invention is realized by the DMA controller 305. However, if the CPU 308 has a sufficient processing time, it may be realized by the CPU 308. Further, it may be realized by a second CPU (central processing unit) other than the CPU 308 or a DSP (digital signal processor).

さらに、画像形成装置で、現像部が複数色(CYMK)の各色に対応する現像部から構成される場合には、各色毎に本発明のデータ転送方法を実現することで、各色毎のレジストレーションずれによる色ずれを防ぐことができる。   Furthermore, in the image forming apparatus, when the developing unit is composed of developing units corresponding to each of a plurality of colors (CYMK), the data transfer method according to the present invention is realized for each color, thereby registering each color. Color shift due to shift can be prevented.

以上説明したように、本実施形態に係る画像形成装置は、偏向走査装置103による走査線のずれに基づいて、装置内のメモリに格納された画像データを読み出して、当該偏向走査装置103に転送することにより、画像形成を行う。具体的に、本画像形成装置は、1走査ラインの画像データの読み出し時に、走査線のずれが発生する位置の画像データに関しては他のラインの画像データも読み出す。読み出した他のラインの画像データは、対応する現在のラインの画像データに組み合わせられる。このように、本画像形成装置は、上述の画像データを組み合わせるブレンド処理部306に対して、必要な画像データのみを与えることができる。したがって、本画像形成装置は、従来のように複数のラインバッファを用意する必要がなく、コストを削減するとともに、回路規模を縮小することができる。なお、このように、走査線にずれが生じる位置で、ラインを切り換えるだけでなく、複数の画像データを組み合わせることによって、形成した画像に不自然な段差が発生することを抑制しうる。   As described above, the image forming apparatus according to the present embodiment reads the image data stored in the memory in the apparatus based on the deviation of the scanning line by the deflection scanning apparatus 103 and transfers it to the deflection scanning apparatus 103. By doing so, image formation is performed. Specifically, when the image data of one scanning line is read, the image forming apparatus also reads the image data of other lines with respect to the image data at the position where the scanning line shift occurs. The read image data of the other lines are combined with the corresponding image data of the current line. As described above, the image forming apparatus can provide only necessary image data to the blend processing unit 306 that combines the above-described image data. Therefore, this image forming apparatus does not need to prepare a plurality of line buffers as in the prior art, and can reduce cost and circuit scale. As described above, it is possible not only to switch the lines at the position where the scanning line is displaced, but also to combine the plurality of image data to suppress the occurrence of an unnatural step in the formed image.

なお、本発明は、上述の実施形態に限らず様々な変形が可能である。例えば、本画像形成装置は、上述の他のラインの画像データを指定する際に、他のラインのライン数と、主走査方向の組合せ数とを指定してもよい。これにより、本画像形成装置は、さらに精度良くブレンド処理部306に対して必要な画像データのみを与えることができる。また、主走査方向の組合せ数は、1ラインの走査中に他のラインに切り換える切換位置から前後への画素数(ドット数)を示す情報であってもよい。   The present invention is not limited to the above-described embodiment, and various modifications can be made. For example, the image forming apparatus may specify the number of other lines and the number of combinations in the main scanning direction when specifying the image data of the other lines. Thus, the image forming apparatus can provide only necessary image data to the blend processing unit 306 with higher accuracy. The number of combinations in the main scanning direction may be information indicating the number of pixels (number of dots) before and after the switching position at which switching to another line is performed during scanning of one line.

また、本画像形成装置は、上述の他のラインが現在のラインに対して、前のラインか又は次のラインかをさらに指定して画像データを読み出してもよい。これにより、本画像形成装置は、走査線のずれの傾きによって、組み合わせるラインを変更することができ、より精度の良い画像を形成することができる。また、本画像形成装置は、1走査ラインの画像データを等分に分割し、当該分割した分割データごとに、前のラインに切り換えるか、次のラインに切り換えるか、又は、切り換え無しかを指定して画像データを読み出してもよい。   In addition, the image forming apparatus may read image data by further specifying whether the other line is the previous line or the next line with respect to the current line. As a result, the image forming apparatus can change the combined line according to the inclination of the shift of the scanning line, and can form a more accurate image. In addition, the image forming apparatus divides the image data of one scanning line into equal parts, and specifies whether to switch to the previous line, to the next line, or no switching for each divided data. Then, the image data may be read out.

さらに、上述の読み出し制御は、1ラインずつ行われることが望ましい。これにより、必要となる画像データを順に読み出すことができ、従来のように複数のラインバッファを用意する必要が無くなる。   Furthermore, it is desirable that the above-described read control is performed line by line. As a result, necessary image data can be sequentially read out, and there is no need to prepare a plurality of line buffers as in the prior art.

[第2の実施形態]
次に、図7を参照して、第2の実施形態について説明する。本実施形態は、第1の実施形態とは異なり、ビットマップ画像データを副走査方向に反転(鏡像)する副走査方向反転方式の場合のDMAコントローラ305の動作について説明する。本実施形態では、ビットマップデータの1ラインを等分に分割して考える。以下、この分割された1つのデータをセグメントと称する。
[Second Embodiment]
Next, a second embodiment will be described with reference to FIG. In the present embodiment, unlike the first embodiment, the operation of the DMA controller 305 in the case of a sub-scanning direction inversion method in which bitmap image data is inverted (mirror image) in the sub-scanning direction will be described. In the present embodiment, one line of bitmap data is considered to be divided equally. Hereinafter, this divided data is referred to as a segment.

本実施形態に係るDMA動作を実現するために、レジスタ部501には、予め複数のレジスタが用意されている。具体的に、レジスタ部501は、各セグメントの長さを指定するレジスタ(RegSegLen)を含む。また、レジスタ部501は、走査線の曲がりに合わせて、隣り合うセグメントでラインを切り換えないか、上のラインに切り換えるか、又は下のラインに切り換えるかを指定するレジスタ郡(RegUpDown[i])を必要な数だけ含む。このレジスタ群のとり得る値は3通りであるため、例えば、ラインを切り換えない場合は‘00’又は‘01’を、上のラインに切り換える場合は‘10’を、下のラインに切り換える場合は‘11’が割り当てられる。   In order to realize the DMA operation according to the present embodiment, the register unit 501 is provided with a plurality of registers in advance. Specifically, the register unit 501 includes a register (RegSegLen) that specifies the length of each segment. The register unit 501 also registers (RegUpDown [i]) that specifies whether the line is not switched between adjacent segments, the upper line, or the lower line in accordance with the curve of the scanning line. Is included as many times as necessary. Since there are three possible values for this register group, for example, “00” or “01” is set when the line is not switched, “10” is switched when the line is switched, and “10” is switched when the line is switched to the lower line. “11” is assigned.

また、レジスタ部501は、レジスタ(RegOverwrapLen)、レジスタ(RegStartAddr)、レジスタ(RegLineLen)、レジスタ(RegLineOffset)及びレジスタ(RegBeams)を備える。レジスタ(RegOverwrapLen)には、隣り合うセグメントでラインが切り換わる場合に、切換位置の前後をリードする長さが指定される。このレジスタ(RegOverwrapLen)は、主走査方向の組合せ数となる。レジスタ(RegStartAddr)には、画像メモリ304に記憶されるビットマップデータの先頭アドレスが指定される。レジスタ(RegLineLen)には、ビットマップデータのラインの長さが指定される。レジスタ(RegLineOffset)には、ビットマップデータの隣り合うラインのアドレスのオフセット値が指定される。レジスタ(RegBeams)には、ブレンド処理部306へ送るべきライン数が指定される。さらに、レジスタ部501は、CPU308が上述のレジスタの設定を完了した後に、DMA動作を開始させるための起動レジスタを含む。   The register unit 501 includes a register (RegOverwrapLen), a register (RegStartAddr), a register (RegLineLen), a register (RegLineOffset), and a register (RegBeams). The register (RegOverwrapLen) is designated with a length that leads before and after the switching position when a line is switched between adjacent segments. This register (RegOverwrapLen) is the number of combinations in the main scanning direction. In the register (RegStartAddr), the top address of the bitmap data stored in the image memory 304 is designated. In the register (RegLineLen), the line length of the bitmap data is specified. In the register (RegLineOffset), an offset value of an address of an adjacent line of bitmap data is designated. The number of lines to be sent to the blend processing unit 306 is designated in the register (RegBeams). Furthermore, the register unit 501 includes an activation register for starting the DMA operation after the CPU 308 completes the register setting described above.

図7は、第2の実施形態に係るアドレス生成部502の動作を示すフローチャートである。ここでは、走査線の歪みを解消するために、好適にビットマップデータを読み出すDMA処理(データ転送方法)について説明する。   FIG. 7 is a flowchart showing the operation of the address generation unit 502 according to the second embodiment. Here, a DMA process (data transfer method) for suitably reading out bitmap data in order to eliminate scanning line distortion will be described.

まず、ステップS200において、アドレス生成部502は、CPU308の指示によってDMA動作が開始されると、信号line_start_addr及び信号line_cntを初期化する。具体的に、アドレス生成部502は、各ラインの開始アドレスを記憶する信号line_start_addrをRegStartAddr+RegLineOffset*(RegBeams−1)の値で初期化する。また、アドレス生成部502は、ブレンド処理部306へ送ったライン数を示す信号line_cntをゼロで初期化する。   First, in step S200, when the DMA operation is started by an instruction from the CPU 308, the address generation unit 502 initializes the signal line_start_addr and the signal line_cnt. Specifically, the address generation unit 502 initializes a signal line_start_addr that stores the start address of each line with a value of RegStartAddr + RegLineOffset * (RegBeams−1). In addition, the address generation unit 502 initializes a signal line_cnt indicating the number of lines sent to the blend processing unit 306 with zero.

ステップS201において、アドレス生成部502は、ライン毎の初期化を行う。具体的に、アドレス生成部502は、セグメントの開始アドレスを示す信号seg_addrをline_start_addrの値で初期化し、ライン中の処理した量をカウントする信号line_data_cntをゼロで初期化する。また、アドレス生成部502は、参照すべきレジスタ郡RegUpDown[i]のインデックスを示す信号indexを0で初期化する。   In step S201, the address generation unit 502 performs initialization for each line. Specifically, the address generation unit 502 initializes a signal seg_addr indicating the start address of the segment with the value of line_start_addr, and initializes a signal line_data_cnt that counts the processed amount in the line with zero. Further, the address generation unit 502 initializes a signal index indicating the index of the register group RegUpDown [i] to be referred to with 0.

ステップS202において、アドレス生成部502は、セグメント毎の初期化を行う。具体的に、アドレス生成部502は、バスインタフェース503へ要求すべきアドレスと長さを示す信号(addrとlength)をそれぞれ、セグメントの開始アドレスを示す信号seg_addrとレジスタRegSegLenの値で初期化する。   In step S202, the address generation unit 502 performs initialization for each segment. Specifically, the address generation unit 502 initializes signals (addr and length) indicating the address and length to be requested to the bus interface 503 with the signal seg_addr indicating the start address of the segment and the value of the register RegSegLen, respectively.

ステップS203において、アドレス生成部502は、信号addrとlengthでバスインタフェース503へリード要求を行う。   In step S203, the address generation unit 502 makes a read request to the bus interface 503 with the signals addr and length.

ステップS204において、アドレス生成部502は、セグメントの開始アドレスを示す信号seg_addrを次のセグメントの開始アドレスに更新するために、現在のセグメントの後側でライン切り換え信号RegUpDown[index]の値を判定する。セグメントの後側でラインの切り換えがない場合、即ち、ライン切り換え信号RegUpDown[index]の値が‘00’又は‘01’である場合に、アドレス生成部502は、処理をステップS207へ遷移させる。また、上のラインに切り換える場合、即ち、ライン切り換え信号RegUpDown[index]の値が‘10’である場合、アドレス生成部502は、処理をステップS205へ遷移させる。さらに、下のラインに切り換わる場合、即ち、ライン切り換え信号RegUpDown[index]の値が‘11’である場合、アドレス生成部502は、処理をステップS206へ遷移させる。   In step S204, the address generation unit 502 determines the value of the line switching signal RegUpDown [index] behind the current segment in order to update the signal seg_addr indicating the start address of the segment to the start address of the next segment. . When there is no line switching on the rear side of the segment, that is, when the value of the line switching signal RegUpDown [index] is “00” or “01”, the address generation unit 502 shifts the processing to step S207. Further, when switching to the upper line, that is, when the value of the line switching signal RegUpDown [index] is “10”, the address generation unit 502 shifts the process to step S205. Further, when the line is switched to the lower line, that is, when the value of the line switching signal RegUpDown [index] is “11”, the address generation unit 502 shifts the processing to step S206.

ステップS205において、アドレス生成部502は、セグメントの開始アドレスを上のラインに切り換えるために信号seg_addrにレジスタRegLineOffsetの値を加え、処理をS207へ遷移させる。次のセグメントの開始アドレスはこの値に、さらにRegSegLenを加える処理は、後述するステップS207で行われる。   In step S205, the address generation unit 502 adds the value of the register RegLineOffset to the signal seg_addr to switch the segment start address to the upper line, and causes the process to transition to S207. The process of adding RegSegLen to this value for the start address of the next segment is performed in step S207 described later.

ステップS206において、アドレス生成部502は、セグメントの開始アドレスを下のラインに切り換えるために信号seg_addrからレジスタRegLineOffsetの値を減じ、処理をS207へ遷移させる。次のセグメントの開始アドレスはこの値に、さらにRegSegLenを加える処理は、後述するステップS207で行われる。   In step S206, the address generation unit 502 subtracts the value of the register RegLineOffset from the signal seg_addr to switch the segment start address to the lower line, and shifts the process to S207. The process of adding RegSegLen to this value for the start address of the next segment is performed in step S207 described later.

ステップS207において、アドレス生成部502は、次のセグメントの処理のために各信号を更新する。具体的に、アドレス生成部502は、セグメントの開始アドレス信号seg_addrにレジスタRegSegLenの値を加える。また、アドレス生成部502は、ライン中の処理した量をカウントする信号line_data_cntにもレジスタRegSegLenの値を加える。さらに、アドレス生成部502は、参照するレジスタRegUpDown[i]を1つ進めるために、信号indexを1だけインクリメントする。   In step S207, the address generation unit 502 updates each signal for processing of the next segment. Specifically, the address generation unit 502 adds the value of the register RegSegLen to the segment start address signal seg_addr. The address generation unit 502 also adds the value of the register RegSegLen to the signal line_data_cnt that counts the processed amount in the line. Furthermore, the address generation unit 502 increments the signal index by 1 in order to advance the register RegUpDown [i] to be referred to by one.

ステップS208において、アドレス生成部502は、レジスタRegLineLenの値からline_data_cntの値を減じた値をRegSegLenの値と比較し、ラインの終了を判定する。その差がRegSegLenの値より大きければ、アドレス生成部502は、処理すべきセグメントが2個以上あるため、ステップS202に処理を戻し、セグメントの処理を繰り返す。一方、その差がRegSegLenの値以下であれば、アドレス生成部502は、ライン中の最後のセグメントの処理を行うためにステップS209の処理へ進む。   In step S208, the address generation unit 502 compares the value obtained by subtracting the value of line_data_cnt from the value of the register RegLineLen with the value of RegSegLen, and determines the end of the line. If the difference is larger than the value of RegSegLen, the address generator 502 has two or more segments to be processed. Therefore, the process returns to step S202, and the segment processing is repeated. On the other hand, if the difference is equal to or less than the value of RegSegLen, the address generation unit 502 proceeds to the process of step S209 in order to process the last segment in the line.

ステップS209において、アドレス生成部502は、次のラインの処理のために各信号を更新する。具体的に、アドレス生成部502は、各ラインの開始アドレスを記憶する信号line_start_addrからレジスタRegLineOffsetの値を減じ、各ラインの開始アドレスが次のラインの先頭アドレスとなるように更新する。また、アドレス生成部502は、ブレンド処理部306へ送ったライン数を示す信号line_cntを1だけインクリメントする。   In step S209, the address generation unit 502 updates each signal for processing of the next line. Specifically, the address generation unit 502 subtracts the value of the register RegLineOffset from the signal line_start_addr that stores the start address of each line, and updates it so that the start address of each line becomes the start address of the next line. The address generation unit 502 increments the signal line_cnt indicating the number of lines sent to the blend processing unit 306 by one.

ステップS210において、アドレス生成部502は、信号line_cntとレジスタRegBeamsの値を比較し、ページの終了を判定する。具体的に、アドレス生成部502は、信号line_cntの値がレジスタRegBeamsの値未満であれば、処理すべきラインが存在するため、ステップS201に処理を戻し、ラインの処理を繰り返す。一方、信号line_cntの値がレジスタRegBeamsの値以上であれば、アドレス生成部502は、DMA動作を終了する。DMAコントローラ305はDMA動作が終了すると、割り込みをCPU308に送る。CPU308は、この割り込みを検出することで、DMA動作が終了したことを検知する。   In step S210, the address generation unit 502 compares the signal line_cnt with the value of the register RegBeams and determines the end of the page. Specifically, if the value of the signal line_cnt is less than the value of the register RegBeams, the address generation unit 502 returns the process to step S201 because the line to be processed exists, and repeats the process of the line. On the other hand, if the value of the signal line_cnt is greater than or equal to the value of the register RegBeams, the address generation unit 502 ends the DMA operation. When the DMA operation is completed, the DMA controller 305 sends an interrupt to the CPU 308. The CPU 308 detects the end of the DMA operation by detecting this interrupt.

なお、上記の説明では本発明におけるデータ転送方法をDMAコントローラ305で実現した例を示したが、CPU308の処理時間に余裕があれば、CPU308で実現してもよい。また、CPU308以外の第2のCPUやDSP(デジタルシグナルプロセッサ)によって実現してもよい。   In the above description, the data transfer method according to the present invention is realized by the DMA controller 305. However, if the CPU 308 has a sufficient processing time, it may be realized by the CPU 308. Further, it may be realized by a second CPU other than the CPU 308 or a DSP (digital signal processor).

さらに、カラー画像形成装置で、現像部が複数色(CYMK)の各色に対応する現像部から構成される場合には、各色毎に本発明のデータ転送方法を実現することで、各色毎のレジストレーションずれによる色ずれを防ぐことができる。   Further, in the color image forming apparatus, when the developing unit is composed of developing units corresponding to each color of a plurality of colors (CYMK), the data transfer method of the present invention is realized for each color, thereby registering each color. Color misregistration due to misregistration can be prevented.

以上説明したように、本実施形態に係る画像形成装置は、副走査方向反転方式による転送方法においても、第1の実施形態と同様の制御を実現することができ、同様の効果を得ることができる。   As described above, the image forming apparatus according to the present embodiment can realize the same control as the first embodiment and obtain the same effect even in the transfer method using the sub-scanning direction inversion method. it can.

[第3の実施形態]
以下では、図8を参照して、第3の実施形態について説明する。本実施形態は、ビットマップ画像データを180度回転する180度回転方式の場合のDMAコントローラ305の動作について説明する。本実施形態では、ビットマップデータの1ラインを等分に分割して考える。以下、この分割された1つのデータをセグメントと称する。
[Third Embodiment]
Hereinafter, a third embodiment will be described with reference to FIG. In the present embodiment, the operation of the DMA controller 305 in the case of a 180-degree rotation method that rotates bitmap image data by 180 degrees will be described. In the present embodiment, one line of bitmap data is considered to be divided equally. Hereinafter, this divided data is referred to as a segment.

本実施形態に係るDMA動作(ビットマップデータの読み出し動作)を実現するために、レジスタ部501には、予め複数のレジスタが用意されている。具体的に、レジスタ部501は、各セグメントの長さを指定するレジスタ(RegSegLen)を含む。また、レジスタ部501は、走査線の曲がりに合わせて、隣り合うセグメントでラインを切り換えないか、上のラインに切り換えるか、又は下のラインに切り換えるかを指定するレジスタ郡(RegUpDown[i])を必要な数だけ含む。このレジスタ群のとり得る値は3通りであるため、例えば、ラインを切り換えない場合は‘00’又は‘01’を、上のラインに切り換える場合は‘10’を、下のラインに切り換える場合は‘11’が割り当てられる。   In order to realize the DMA operation (bitmap data read operation) according to the present embodiment, the register unit 501 includes a plurality of registers in advance. Specifically, the register unit 501 includes a register (RegSegLen) that specifies the length of each segment. In addition, the register unit 501 registers (RegUpDown [i]) that specifies whether to switch the line between adjacent segments, switch to the upper line, or switch to the lower line in accordance with the curve of the scanning line. Is included as many times as necessary. Since there are three possible values for this register group, for example, “00” or “01” is set when the line is not switched, “10” is switched when the line is switched, and “10” is switched when the line is switched to the lower line. “11” is assigned.

また、レジスタ部501は、レジスタ(RegOverwrapLen)、レジスタ(RegStartAddr)、レジスタ(RegLineLen)、レジスタ(RegLineOffset)及びレジスタ(RegBeams)を備える。レジスタ(RegOverwrapLen)には、隣り合うセグメントでラインが切り換わる場合に、切換位置の前後をリードする長さが指定される。このレジスタ(RegOverwrapLen)は、主走査方向の組合せ数となる。レジスタ(RegStartAddr)には、画像メモリ304に記憶されるビットマップデータの先頭アドレスが指定される。レジスタ(RegLineLen)には、ビットマップデータのラインの長さが指定される。レジスタ(RegLineOffset)には、ビットマップデータの隣り合うラインのアドレスのオフセット値が指定される。レジスタ(RegBeams)には、ブレンド処理部306へ送るべきライン数が指定される。さらに、レジスタ部501は、CPU308が上述のレジスタの設定を完了した後に、DMA動作を開始させるための起動レジスタを含む。   The register unit 501 includes a register (RegOverwrapLen), a register (RegStartAddr), a register (RegLineLen), a register (RegLineOffset), and a register (RegBeams). The register (RegOverwrapLen) is designated with a length that leads before and after the switching position when a line is switched between adjacent segments. This register (RegOverwrapLen) is the number of combinations in the main scanning direction. In the register (RegStartAddr), the top address of the bitmap data stored in the image memory 304 is designated. In the register (RegLineLen), the line length of the bitmap data is specified. In the register (RegLineOffset), an offset value of an address of an adjacent line of bitmap data is designated. The number of lines to be sent to the blend processing unit 306 is designated in the register (RegBeams). Furthermore, the register unit 501 includes an activation register for starting the DMA operation after the CPU 308 completes the register setting described above.

図8は、第3の実施形態に係るアドレス生成部502の動作を示すフローチャートである。ここでは、走査線の歪みを解消するために、好適にビットマップデータを読み出すDMA処理(データ転送方法)について説明する。   FIG. 8 is a flowchart showing the operation of the address generation unit 502 according to the third embodiment. Here, a DMA process (data transfer method) for suitably reading out bitmap data in order to eliminate scanning line distortion will be described.

まず、ステップS300において、アドレス生成部502は、CPU308の指示によってDMA動作が開始されると、信号line_start_addr及び信号line_cntを初期化する。具体的に、アドレス生成部502は、各ラインの開始アドレスを記憶する信号line_start_addrをRegStartAddr+(RegLineLen−1)+RegLineOffset*(RegBeams−1)の値で初期化する。また、アドレス生成部502は、ブレンド処理部306へ送ったライン数を示す信号line_cntをゼロで初期化する。   First, in step S300, when the DMA operation is started by an instruction from the CPU 308, the address generation unit 502 initializes the signal line_start_addr and the signal line_cnt. Specifically, the address generation unit 502 initializes a signal line_start_addr that stores the start address of each line with a value of RegStartAddr + (RegLineLen−1) + RegLineOffset * (RegBeams−1). In addition, the address generation unit 502 initializes a signal line_cnt indicating the number of lines sent to the blend processing unit 306 with zero.

ステップS301において、アドレス生成部502は、ライン毎の初期化を行う。具体的に、アドレス生成部502は、セグメントの開始アドレスを示す信号seg_addrをline_start_addrの値で初期化し、ライン中の処理した量をカウントする信号line_data_cntをゼロで初期化する。また、アドレス生成部502は、参照すべきレジスタ郡RegUpDown[i]のインデックスを示す信号indexを0で初期化する。   In step S301, the address generation unit 502 performs initialization for each line. Specifically, the address generation unit 502 initializes a signal seg_addr indicating the start address of the segment with the value of line_start_addr, and initializes a signal line_data_cnt that counts the processed amount in the line with zero. Further, the address generation unit 502 initializes a signal index indicating the index of the register group RegUpDown [i] to be referred to with 0.

ステップS302において、アドレス生成部502は、セグメント毎の初期化を行う。具体的に、アドレス生成部502は、バスインタフェース503へ要求すべきアドレスと長さを示す信号(addrとlength)をそれぞれ、セグメントの開始アドレスを示す信号seg_addrとレジスタRegSegLenの値で初期化する。   In step S302, the address generation unit 502 performs initialization for each segment. Specifically, the address generation unit 502 initializes signals (addr and length) indicating the address and length to be requested to the bus interface 503 with the signal seg_addr indicating the start address of the segment and the value of the register RegSegLen, respectively.

ステップS303において、アドレス生成部502は、信号addrとlengthでバスインタフェース503へリード要求を行う。なお、ステップS303におけるリード要求は、主走査方向のアドレスを減算しながらデータがリードされるような要求となる。   In step S303, the address generation unit 502 makes a read request to the bus interface 503 with the signals addr and length. Note that the read request in step S303 is a request to read data while subtracting the address in the main scanning direction.

ステップS304において、アドレス生成部502は、セグメントの開始アドレスを示す信号seg_addrを次のセグメントの開始アドレスに更新するために、現在のセグメントの後側でライン切り換え信号RegUpDown[index]の値を判定する。セグメントの後側でラインの切り換えがない場合、即ち、ライン切り換え信号RegUpDown[index]の値が‘00’又は‘01’である場合に、アドレス生成部502は、処理をステップS307へ遷移させる。また、上のラインに切り換える場合、即ち、ライン切り換え信号RegUpDown[index]の値が‘10’である場合、アドレス生成部502は、処理をステップS305へ遷移させる。さらに、下のラインに切り換わる場合、即ち、ライン切り換え信号RegUpDown[index]の値が‘11’である場合、アドレス生成部502は、処理をステップS306へ遷移させる。   In step S304, the address generation unit 502 determines the value of the line switching signal RegUpDown [index] behind the current segment in order to update the signal seg_addr indicating the start address of the segment to the start address of the next segment. . When there is no line switching at the rear side of the segment, that is, when the value of the line switching signal RegUpDown [index] is “00” or “01”, the address generation unit 502 shifts the processing to step S307. Further, when switching to the upper line, that is, when the value of the line switching signal RegUpDown [index] is “10”, the address generation unit 502 shifts the processing to step S305. Furthermore, when the line is switched to the lower line, that is, when the value of the line switching signal RegUpDown [index] is “11”, the address generation unit 502 shifts the processing to step S306.

ステップS305において、アドレス生成部502は、セグメントの開始アドレスを上のラインに切り換えるために信号seg_addrにレジスタRegLineOffsetの値を加え、処理をS307へ遷移させる。次のセグメントの開始アドレスはこの値に、さらにRegSegLenを加える処理は、後述するステップS307で行われる。   In step S305, the address generation unit 502 adds the value of the register RegLineOffset to the signal seg_addr to switch the segment start address to the upper line, and causes the process to transition to S307. The process of adding RegSegLen to this value as the start address of the next segment is performed in step S307 described later.

ステップS306において、アドレス生成部502は、セグメントの開始アドレスを下のラインに切り換えるために信号seg_addrからレジスタRegLineOffsetの値を減じ、処理をS307へ遷移させる。次のセグメントの開始アドレスはこの値に、さらにRegSegLenを加える処理は、後述するステップS307で行われる。   In step S306, the address generation unit 502 subtracts the value of the register RegLineOffset from the signal seg_addr to switch the segment start address to the lower line, and causes the process to transition to S307. The process of adding RegSegLen to this value as the start address of the next segment is performed in step S307 described later.

ステップS307において、アドレス生成部502は、次のセグメントの処理のために各信号を更新する。具体的に、アドレス生成部502は、セグメントの開始アドレス信号seg_addrからレジスタRegSegLenの値を減じる。また、アドレス生成部502は、ライン中の処理した量をカウントする信号line_data_cntにもレジスタRegSegLenの値を加える。さらに、アドレス生成部502は、参照するレジスタRegUpDown[i]を1つ進めるために、信号indexを1だけインクリメントする。   In step S307, the address generation unit 502 updates each signal for processing the next segment. Specifically, the address generation unit 502 subtracts the value of the register RegSegLen from the start address signal seg_addr of the segment. The address generation unit 502 also adds the value of the register RegSegLen to the signal line_data_cnt that counts the processed amount in the line. Furthermore, the address generation unit 502 increments the signal index by 1 in order to advance the register RegUpDown [i] to be referred to by one.

ステップS308において、アドレス生成部502は、レジスタRegLineLenの値からline_data_cntの値を減じた値をRegSegLenの値と比較し、ラインの終了を判定する。その差がRegSegLenの値より大きければ、アドレス生成部502は、処理すべきセグメントが2個以上あるため、ステップS102に処理を戻し、セグメントの処理を繰り返す。一方、その差がRegSegLenの値以下であれば、アドレス生成部502は、ライン中の最後のセグメントの処理を行うためにステップS309の処理へ進む。   In step S308, the address generation unit 502 compares the value obtained by subtracting the value of line_data_cnt from the value of the register RegLineLen with the value of RegSegLen, and determines the end of the line. If the difference is larger than the value of RegSegLen, the address generator 502 has two or more segments to be processed. Therefore, the process returns to step S102 and repeats the segment processing. On the other hand, if the difference is equal to or smaller than the value of RegSegLen, the address generation unit 502 proceeds to the process of step S309 in order to process the last segment in the line.

ステップS309において、アドレス生成部502は、次のラインの処理のために各信号を更新する。具体的に、アドレス生成部502は、各ラインの開始アドレスを記憶する信号line_start_addrからレジスタRegLineOffsetの値を減じ、各ラインの開始アドレスが次のラインの先頭アドレスになるように更新する。また、アドレス生成部502は、ブレンド処理部306へ送ったライン数を示す信号line_cntを1だけインクリメントする。   In step S309, the address generation unit 502 updates each signal for processing of the next line. Specifically, the address generation unit 502 subtracts the value of the register RegLineOffset from the signal line_start_addr that stores the start address of each line, and updates it so that the start address of each line becomes the start address of the next line. The address generation unit 502 increments the signal line_cnt indicating the number of lines sent to the blend processing unit 306 by one.

ステップS310において、アドレス生成部502は、信号line_cntとレジスタRegBeamsの値を比較し、ページの終了を判定する。具体的に、アドレス生成部502は、信号line_cntの値がレジスタRegBeamsの値未満であれば、処理すべきラインが存在するため、ステップS301に処理を戻し、ラインの処理を繰り返す。一方、信号line_cntの値がレジスタRegBeamsの値以上であれば、アドレス生成部502は、DMA動作を終了する。DMAコントローラ305はDMA動作が終了すると、割り込みをCPU308に送る。CPU308は、この割り込みを検出することで、DMA動作が終了したことを検知する。   In step S310, the address generation unit 502 compares the signal line_cnt with the value of the register RegBeams and determines the end of the page. Specifically, if the value of the signal line_cnt is less than the value of the register RegBeams, the address generation unit 502 returns to the process in step S301 because the line to be processed exists, and repeats the process of the line. On the other hand, if the value of the signal line_cnt is greater than or equal to the value of the register RegBeams, the address generation unit 502 ends the DMA operation. When the DMA operation is completed, the DMA controller 305 sends an interrupt to the CPU 308. The CPU 308 detects the end of the DMA operation by detecting this interrupt.

なお、上記の説明では本発明におけるデータ転送方法をDMAコントローラ305で実現した例を示したが、CPU308の処理時間に余裕があれば、CPU308で実現してもよい。また、CPU308以外の第2のCPUやDSP(デジタルシグナルプロセッサ)によって実現してもよい。   In the above description, the data transfer method according to the present invention is realized by the DMA controller 305. However, if the CPU 308 has a sufficient processing time, it may be realized by the CPU 308. Further, it may be realized by a second CPU other than the CPU 308 or a DSP (digital signal processor).

さらに、カラー画像形成装置で、現像部が複数色(CYMK)の各色に対応する現像部から構成される場合には、各色毎に本発明のデータ転送方法を実現することで、各色毎のレジストレーションずれによる色ずれを防ぐことができる。   Further, in the color image forming apparatus, when the developing unit is composed of developing units corresponding to each color of a plurality of colors (CYMK), the data transfer method of the present invention is realized for each color, thereby registering each color. Color misregistration due to misregistration can be prevented.

以上説明したように、本実施形態に係る画像形成装置は、180度回転方式による転送方法においても、第1の実施形態と同様の制御を実現することができ、同様の効果を得ることができる。   As described above, the image forming apparatus according to the present embodiment can realize the same control as in the first embodiment even in the transfer method using the 180-degree rotation method, and can obtain the same effect. .

本実施形態に係る画像形成装置100の一例を示す断面図である。1 is a cross-sectional view illustrating an example of an image forming apparatus 100 according to an embodiment. 本実施形態に係る画像形成装置100の構成例を示すブロック図である。1 is a block diagram illustrating a configuration example of an image forming apparatus 100 according to an embodiment. 本実施形態に係るプリンタコントローラ123の構成例を示すブロック図である。3 is a block diagram illustrating a configuration example of a printer controller 123 according to the present embodiment. FIG. 本実施形態に係るプリンタコントローラ123に備えられるDMAコントローラ305の構成例を示すブロック図である。3 is a block diagram illustrating a configuration example of a DMA controller 305 provided in the printer controller 123 according to the present embodiment. FIG. 本実施形態に係るレジストレーションずれ補正の原理を説明するための図である。It is a figure for demonstrating the principle of the registration deviation correction which concerns on this embodiment. 本実施形態に係るレジストレーションずれ補正の原理を説明するための図である。It is a figure for demonstrating the principle of the registration deviation correction which concerns on this embodiment. 第1の実施形態に係るアドレス生成部502の動作を示すフローチャートである。6 is a flowchart illustrating an operation of an address generation unit 502 according to the first embodiment. 第2の実施形態に係るアドレス生成部502の動作を示すフローチャートである。10 is a flowchart illustrating an operation of an address generation unit 502 according to the second embodiment. 第3の実施形態に係るアドレス生成部502の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the address generation part 502 which concerns on 3rd Embodiment. アドレス生成部502の動作を示すフローチャートである。5 is a flowchart showing an operation of an address generation unit 502.

符号の説明Explanation of symbols

100:画像形成装置
121:データ処理部
122:表示部
123:プリンタコントローラ
124:操作部
125:画像読取部
126:記憶部
127:印刷部
128:ネットワークI/F
301:操作部I/F部
302:ホストI/F部
303:画像データ発生部
304:画像メモリ
305:DMAコントローラ
306:ブレンド処理部
307:エンジンI/F部
308:CPU
309:ROM
310:RAM
501:レジスタ部
502:アドレス生成部
503:バスインタフェース
504:FIFO
505:ブレンド処理部インタフェース
100: image forming apparatus 121: data processing unit 122: display unit 123: printer controller 124: operation unit 125: image reading unit 126: storage unit 127: printing unit 128: network I / F
301: Operation unit I / F unit 302: Host I / F unit 303: Image data generation unit 304: Image memory 305: DMA controller 306: Blend processing unit 307: Engine I / F unit 308: CPU
309: ROM
310: RAM
501: Register unit 502: Address generation unit 503: Bus interface 504: FIFO
505: Blend processing unit interface

Claims (8)

像担持体を露光する露光手段と、
前記露光手段による露光により形成される走査線の前記像担持体に対するずれ量に基づいて、前記画像形成装置に格納された画像データのうち1走査ラインに用いる画像データと、該1走査ラインの中で前記走査線のずれを解消するために他のラインの画像データに切り換える切換位置とを指定する指定手段と、
指定された前記画像データ及び前記切換位置に従って該当する画像データを読み出す読出手段と、
読み出された画像データのうち、前記切換位置の近傍の画像データに他のラインの画像データを組み合わせて、前記露光手段に転送する組合せ手段とを有し、
前記指定手段は、
前記画像形成装置に格納された画像データを読み出して前記露光手段に転送する方法として、主走査方向反転方式、副走査方向反転方式、又は180度回転方式の何れかの転送方法をさらに指定し、
前記読み出し手段は、前記転送方法に従った順に画像データを読み出すことを特徴とする画像形成装置。
Exposure means for exposing the image carrier;
Of the image data stored in the image forming apparatus, the image data used for one scan line based on the amount of deviation of the scan line formed by exposure by the exposure means with respect to the image carrier, Designating means for designating a switching position for switching to image data of another line in order to eliminate the deviation of the scanning line,
Reading means for reading out the corresponding image data according to the designated image data and the switching position;
Among the read image data, the image data in the vicinity of the switching position is combined with the image data of another line, the combination means for transferring to the exposure means,
The designation means is:
As a method for reading out image data stored in the image forming apparatus and transferring it to the exposure means, further designate any one of a transfer method of a main scanning direction inversion method, a sub-scanning direction inversion method, or a 180 degree rotation method,
The image forming apparatus, wherein the reading unit reads image data in the order according to the transfer method.
前記指定手段は、
前記組合せ手段によって組み合わせられる前記他のラインのライン数と、主走査方向の組合せ数とをさらに指定し、
前記読出手段は、
前記1走査ラインの画像データとともに、前記ライン数及び前記主走査方向の組合せ数に該当する他のラインの画像データを読み出すことを特徴とする請求項1に記載の画像形成装置。
The designation means is:
Further specifying the number of other lines combined by the combination means and the number of combinations in the main scanning direction;
The reading means includes
The image forming apparatus according to claim 1, wherein image data of another line corresponding to the number of lines and the number of combinations in the main scanning direction is read together with the image data of the one scanning line.
前記主走査方向の組合せ数とは、前記切換位置から前後への画素数を示す情報であることを特徴とする請求項2に記載の画像形成装置。   The image forming apparatus according to claim 2, wherein the number of combinations in the main scanning direction is information indicating the number of pixels from the switching position to the front and rear. 前記指定手段は、
前記他のラインが現在のラインに対して、前のラインか又は次のラインかをさらに指定することを特徴とする請求項2又は3に記載の画像形成装置。
The designation means is:
The image forming apparatus according to claim 2, further specifying whether the other line is a previous line or a next line with respect to a current line.
前記指定手段は、
前記1走査ラインの画像データを等分に分割し、該分割した分割データごとに、前のラインに切り換えるか、次のラインに切り換えるか、又は、切り換え無しかを指定することにより、前記切換位置を指定することを特徴とする請求項2又は3に記載の画像形成装置。
The designation means is:
The switching position is divided by equally dividing the image data of the one scanning line, and for each of the divided divided data, switching to the previous line, switching to the next line, or no switching is performed. The image forming apparatus according to claim 2, wherein the image forming apparatus is designated.
前記読出手段は、
前記1走査ラインの読み出しが終了すると、次のラインの読み出しを開始することを特徴とする請求項1乃至5の何れか1項に記載の画像形成装置。
The reading means includes
6. The image forming apparatus according to claim 1, wherein reading of the next line is started when reading of the one scanning line is completed.
前記指定手段は、前記画像形成装置に備えられる中央処理装置、又はデジタル信号プロセッサであり、
前記読出手段は、ダイレクトメモリアクセスコントローラであることを特徴とする請求項1乃至6の何れか1項に記載の画像形成装置。
The designation means is a central processing unit provided in the image forming apparatus, or a digital signal processor,
The image forming apparatus according to claim 1, wherein the reading unit is a direct memory access controller.
像担持体を露光する露光手段を備える画像形成装置のデータ転送方法であって、
前記露光手段による露光により形成される走査線の前記像担持体に対するずれ量に基づいて、前記画像形成装置に格納された画像データのうち1走査ラインに用いる画像データと、該1走査ラインの中で前記走査線のずれを解消するために他のラインの画像データに切り換える切換位置とを指定するステップと、
指定された前記画像データ及び前記切換位置に従って該当する画像データを読み出すステップと、
読み出された画像データのうち、前記切換位置の近傍の画像データに他のラインの画像データを組み合わせて、前記露光手段に転送するステップとを有し、
前記指定するステップは、
前記画像形成装置に格納された画像データを読み出して前記露光手段に転送する方法として、主走査方向反転方式、副走査方向反転方式、又は180度回転方式の何れかの転送方法をさらに指定し、
前記読み出すステップは、前記転送方法に従った順に画像データを読み出すことを特徴とするデータ転送方法。
A data transfer method for an image forming apparatus comprising an exposure means for exposing an image carrier,
Of the image data stored in the image forming apparatus, the image data used for one scan line based on the amount of deviation of the scan line formed by exposure by the exposure means with respect to the image carrier, And a switching position for switching to image data of another line in order to eliminate the shift of the scanning line,
Reading out the corresponding image data according to the designated image data and the switching position;
A step of combining image data of another line with image data in the vicinity of the switching position among the read image data, and transferring the image data to the exposure unit;
The specifying step includes:
As a method for reading out image data stored in the image forming apparatus and transferring it to the exposure means, further designate any one of a transfer method of a main scanning direction inversion method, a sub-scanning direction inversion method, or a 180 degree rotation method,
The data reading method characterized in that the reading step reads image data in the order according to the transfer method.
JP2008019585A 2008-01-30 2008-01-30 Image forming apparatus and data transfer method thereof Withdrawn JP2009180920A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008019585A JP2009180920A (en) 2008-01-30 2008-01-30 Image forming apparatus and data transfer method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008019585A JP2009180920A (en) 2008-01-30 2008-01-30 Image forming apparatus and data transfer method thereof

Publications (1)

Publication Number Publication Date
JP2009180920A true JP2009180920A (en) 2009-08-13

Family

ID=41034945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008019585A Withdrawn JP2009180920A (en) 2008-01-30 2008-01-30 Image forming apparatus and data transfer method thereof

Country Status (1)

Country Link
JP (1) JP2009180920A (en)

Similar Documents

Publication Publication Date Title
US7859720B2 (en) Image forming apparatus and method thereof
JP5812669B2 (en) Image processing apparatus, image processing method, and computer program.
KR101232515B1 (en) Calibration method executed in image forming apparatus
JP2011068127A (en) Optical writing device, image forming apparatus and control program of optical writing device
US8610981B2 (en) Device, method, and computer-readable storage medium for correcting tone in an image
US20100097623A1 (en) Image forming apparatus, image forming method, and image forming program
JP5339824B2 (en) Image forming apparatus and control method thereof
US8049927B2 (en) Image processing apparatus and control method thereof
JP6201557B2 (en) Image forming apparatus
JP4891273B2 (en) Image forming apparatus and control method thereof
JP2008033318A (en) Image forming apparatus and image forming method
JP2010005825A (en) Image forming apparatus and image forming method
JP5754972B2 (en) Image processing apparatus and image processing method
JP2009018456A (en) Image forming apparatus
JP2024088440A (en) Color image forming device
US8537430B2 (en) Image forming apparatus and control method thereof
JP2009180920A (en) Image forming apparatus and data transfer method thereof
JP2010011429A (en) Image processing apparatus and method of controlling the same
JP6994949B2 (en) Image forming device and position correction method
JP2007144740A (en) Image forming apparatus, control method therefor, and program
JP2004262234A (en) Optical writing device, image forming apparatus, optical writing correction method, computer program, and recording medium
JP2023088116A (en) Image forming apparatus and method for controlling the same, and program
JP6986890B2 (en) Image forming device
US8310688B2 (en) Image forming apparatus, image forming method, and image forming program storage medium
JP2010050767A (en) Image reader

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110405