JP2007299304A - Data transfer control method and device, and image forming apparatus - Google Patents

Data transfer control method and device, and image forming apparatus Download PDF

Info

Publication number
JP2007299304A
JP2007299304A JP2006128229A JP2006128229A JP2007299304A JP 2007299304 A JP2007299304 A JP 2007299304A JP 2006128229 A JP2006128229 A JP 2006128229A JP 2006128229 A JP2006128229 A JP 2006128229A JP 2007299304 A JP2007299304 A JP 2007299304A
Authority
JP
Japan
Prior art keywords
data
band
transfer
transferred
descriptor
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.)
Granted
Application number
JP2006128229A
Other languages
Japanese (ja)
Other versions
JP5004322B2 (en
Inventor
Taiji Hagita
田 泰 治 萩
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2006128229A priority Critical patent/JP5004322B2/en
Publication of JP2007299304A publication Critical patent/JP2007299304A/en
Application granted granted Critical
Publication of JP5004322B2 publication Critical patent/JP5004322B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To reduce delay of data transfer when an communication error occurs. <P>SOLUTION: When transferring all data of an amount transferable in a required time X within an allocated time Y, image data of one plane is divided and the data is transferred to a band equal to or below a data amount transferable within a timing margin determined from X, Y and overhead time Z required for communication restarting during a communication error, and when a communication error occurs, a band being transferred during the communication error or the preceding band is started to be transferred. When a communication error occurrence allowable set value is defined as N, the data is divided into bands equal to or below a data amount transferable within a timing margin A/N to be transferred. The image data of one plane is divided by the image data amount in which a code data amount is equal to or below a data amount transferable within a timing margin A and is subjected to compressive coding for each band and transferred to an HDD. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、データ転送制御に関し、例えばSATA(Serial AT Attachment)など、シリアル通信データをDMA(Direct Memory Access)でメモリに転送するデータ転送制御方法,装置および画像形成装置に関する。本発明は例えば、複写機,プリンタ,PC(Personal Computer:パソコン),ハードディスクレコーダ、及び、その他のSATAを利用するデバイス、に使用できる。   The present invention relates to data transfer control, and more particularly to a data transfer control method, apparatus, and image forming apparatus for transferring serial communication data to a memory by DMA (Direct Memory Access) such as SATA (Serial AT Attachment). The present invention can be used for, for example, a copying machine, a printer, a PC (Personal Computer), a hard disk recorder, and other devices using SATA.

特開2000−298640号公報。JP 2000-298640 A.

引用文献1には、DMAC(Direct Memory Access Controller)の基本的な構成および動作に関する記載がある。複数バンドに分かれた画像データをDMACでチェーンしながら転送する方法は、特許文献1およびその他の特許文献などにより周知である。さらに特許文献1では、バンド毎の転送完了時に継続割り込みを発生して次バンドの転送を開始する方法を記載している。   Cited Document 1 describes a basic configuration and operation of a direct memory access controller (DMAC). A method of transferring image data divided into a plurality of bands while being chained by DMAC is well known from Patent Document 1 and other patent documents. Further, Patent Document 1 describes a method of generating a continuation interrupt when transfer for each band is completed and starting transfer of the next band.

ところで、シリアルデータ通信は、パラレルデータ通信と比較して伝送速度を高速化することができる反面、伝送路における通信エラーが発生しやすいため、エラー発生時の再送制御が必須となる。特にシリアルATA(Serial AT Attachment:SATA)では、通信エラーが発生した際には、データのみの再送ではなくコマンドの再発行が必要であるため、一般にソフトが介在して再送制御を行う。   By the way, the serial data communication can increase the transmission speed as compared with the parallel data communication, but a communication error in the transmission path is likely to occur. Therefore, retransmission control when an error occurs is essential. In particular, in serial ATA (Serial AT Attachment: SATA), when a communication error occurs, it is necessary to reissue a command instead of retransmitting only data, so that retransmission control is generally performed through software.

図15に、図1に示す複合機能カラー複写システムでの印刷時の、従来の画像データ転送パスを示す。ここで「符号」とは、画像データを圧縮符号化した圧縮データである。ホストであるパソコンPCから送られる印刷データをプリンタ14でプリントアウトする場合の、データ転送を次に示す:
1.ネットワークI/F109,ASIC(Application Specific IC)102およびCPU101が、ホストPCが入力した印刷データ(PDL:Page Description Language)を、メモリ105に格納する;
2.CPU101が、ASIC102を用いて印刷データを画像ピクセルデータ(画像データ)に変換(イメージ変換)してメモリ105に書込む;
3.コントローラASIC102内のDMACで、メモリ105の画像データを圧縮(符号化)してHDD111に格納する。カラー画像の場合は、各プレーン(各色)毎にHDDに格納する;
4.HDDに格納した圧縮データ(符号)は、ASIC102内のDMACにより符号のままメモリ105に転送する。転送は、プレーン毎に順次行なう;
5a.全てのプレーンをメモリ105に転送した後、ASIC102内のDMACにより伸長(圧縮データの、画像データへの復号化)しつつプリンタ14に出力する。低速機の場合は、上記の手順を踏むため安全性に問題は無い。しかし、高速機では機器の生産性すなわち画像処理速度(頁/分)を上げるため、
5b.各プレーンがメモリ105に転送された時点で、各プレーン毎にDMACにより符号を画像データに伸長しつつプリンタに出力する制御を行う場合がある。この制御を行うことで、ファーストコピーやマルチページの場合の紙間(用紙搬送ピッチ)を詰めることができる。反面、HDD111のシリアル通信エラー発生時の再送で、出力画像が異常になる恐れがある。図16にその動作を示す。図16を参照する。
FIG. 15 shows a conventional image data transfer path during printing in the multi-function color copying system shown in FIG. Here, “code” is compressed data obtained by compression-coding image data. Data transfer when printing data sent from the personal computer PC as the host is printed out by the printer 14 is as follows:
1. Network I / F 109, ASIC (Application Specific IC) 102 and CPU 101 store print data (PDL: Page Description Language) input by the host PC in memory 105;
2. The CPU 101 converts the print data into image pixel data (image data) using the ASIC 102 (image conversion) and writes the image data in the memory 105;
3. The DMAC in the controller ASIC 102 compresses (encodes) the image data in the memory 105 and stores it in the HDD 111. In the case of a color image, each plane (each color) is stored in the HDD;
4). The compressed data (code) stored in the HDD is transferred to the memory 105 without change by the DMAC in the ASIC 102. The transfer is done sequentially for each plane;
5a. After all the planes are transferred to the memory 105, they are output to the printer 14 while being decompressed (decoded compressed data into image data) by the DMAC in the ASIC 102. In the case of a low-speed aircraft, there is no problem in safety because the above procedure is followed. However, in order to increase the productivity of the equipment, that is, the image processing speed (pages / minute) in the high speed machine,
5b. When each plane is transferred to the memory 105, there is a case where control is performed for each plane to decompress the code into image data by DMAC and output it to the printer. By performing this control, it is possible to reduce the sheet interval (paper conveyance pitch) in the case of first copy and multi-page. On the other hand, there is a possibility that the output image becomes abnormal due to retransmission when a serial communication error of the HDD 111 occurs. FIG. 16 shows the operation. Refer to FIG.

−正常時(シリアル通信エラーが発生しなかった時):図16の(a)−
1.印字要求があると、ASIC102内のDMACを用いて各プレーンのデータをHDD111からメモリ105に転送する;
2.各プレーンの転送完了毎に、ビデオ出力(符号を画像データに伸張しつつ、VOUT,プリンタ14へ出力)を起動する。図16の(a)では、C色(シアン),M色(マゼンダ),Y色(イエロー),K色(ブラック)を順次メモリに転送し、メモリへの転送が完了すると直ちにそのプレーンのビデオ出力を起動している。
-Normal (when no serial communication error occurs): (a) in FIG.
1. When there is a print request, the data of each plane is transferred from the HDD 111 to the memory 105 using the DMAC in the ASIC 102;
2. Each time the transfer of each plane is completed, video output (VOUT and output to the printer 14 while expanding the code into image data) is started. In FIG. 16A, C color (cyan), M color (magenta), Y color (yellow), and K color (black) are sequentially transferred to the memory, and immediately after the transfer to the memory is completed, the video of the plane is displayed. Starting output.

−異常時(シリアル通信エラーが発生した時):図16の(b)−
1.印字要求があると、ASIC102内のDMACを用いて各プレーンのデータをHDD111からメモリ105に転送する;
2.C色の、上記1.の転送が完了した時点でC色のビデオ出力を起動する;
3.例として、M色転送中にHDD111のシリアル通信エラーが発生したとすると;
4.M色の転送を中断し、M色の先頭から再送(再転送)を行なう;
5.プリンタ14は、C色のデータを引き取り印刷を開始し始めているが、M色のデータが来ないので異常画像となる。システムによってはエラーによる印刷中止になる。
-Abnormal (when a serial communication error occurs): (b) of FIG.
1. When there is a print request, the data of each plane is transferred from the HDD 111 to the memory 105 using the DMAC in the ASIC 102;
2. C color as described above. Trigger C-color video output when transfer is complete;
3. As an example, if a serial communication error of the HDD 111 occurs during M color transfer;
4). Interrupt the transfer of M color and retransmit (re-transfer) from the beginning of M color;
5). The printer 14 starts taking out the C color data and starting printing, but the M color data does not come, so an abnormal image is obtained. Depending on the system, printing will be canceled due to an error.

これまでの説明は、以下を前提としている:
・プリンタ14側には各プレーンの画像を格納するだけのメモリを持たない;
・HDD111からメモリ105へDMA転送するのは、1プレーン単位。これは、従来のパラレルATAを用いるHDD111では通信エラーを想定していないためである。
The explanation so far assumes the following:
-The printer 14 does not have enough memory to store the image of each plane;
DMA transfer from the HDD 111 to the memory 105 is in units of one plane. This is because a communication error is not assumed in the HDD 111 using the conventional parallel ATA.

従来の複写機またはプリンタのSATAによるデータ転送制御では、SATA−メモリ間のデータ転送をDMAで行う際、1ページ分の画像データを一つの連続した符号として扱っているため、再送が発生する最悪のケースでは、1ページ転送するのに2ページ分の時間を要すことになり、機器の生産性が低下する。また、例えばカラー画像の場合は、図15に示したように、1ページあたり4プレーン(4色)のデータを所定の時間内に転送する必要がある。機器の生産性を上げるため、4プレーン分のデータをメモリに転送し終えるのを待たずに、先行して画像をプリンタに出力し始める制御を行う場合、再送が発生して後続のプレーンのメモリ転送が遅れると、所定の時間内にプリンタへの転送が終了せず異常画像を引き起す。そこで、再送が発生しても安全にかつ高生産性を期待できるシステムが必要である。   In conventional data transfer control by SATA of a copier or printer, when data transfer between SATA and memory is performed by DMA, image data for one page is handled as one continuous code. In this case, it takes two pages to transfer one page, and the productivity of the device is lowered. Further, for example, in the case of a color image, as shown in FIG. 15, it is necessary to transfer data of 4 planes (4 colors) per page within a predetermined time. In order to increase the productivity of the device, when control is performed to start outputting the image to the printer in advance without waiting for the transfer of the data for 4 planes to the memory, the memory of the subsequent plane is generated due to retransmission. If the transfer is delayed, the transfer to the printer is not completed within a predetermined time, and an abnormal image is caused. Therefore, there is a need for a system that can be expected safely and with high productivity even if retransmission occurs.

本発明は、通信エラーが発生した場合のデータ転送の遅れを低減することを目的とする。   An object of the present invention is to reduce a delay in data transfer when a communication error occurs.

(1)割当て時間(Y)内に所要時間(X)で転送できる量の全データをDMACにより転送する場合に、
前記割当て時間(Y),所要時間(X)および通信エラーのときの通信再開に要するオーバヘッド時間(z)から定まるタイミングマージン(A)以内で転送し得るデータ量以下のバンドに区切ってデータを転送し、通信エラーが発生するとそのとき転送中のバンド又はその直前のバンドから転送を再開する、ことを特徴とするデータ転送制御方法。
(1) When all the data that can be transferred in the required time (X) within the allocated time (Y) is transferred by the DMAC,
Transfer data by dividing it into bands that are less than or equal to the amount of data that can be transferred within the timing margin (A) determined from the allocated time (Y), required time (X), and overhead time (z) required for communication restart in case of communication error Then, when a communication error occurs, the data transfer control method is characterized in that the transfer is resumed from the band being transferred at that time or the band immediately before the band.

なお、理解を容易にするために括弧内には、図面に示し後述する実施例の対応要素又は対応事項の符号を、例示として参考までに付記した。以下も同様である。   In addition, in order to make an understanding easy, the code | symbol of the corresponding element or the corresponding matter of the Example which is shown in drawing and mentions later in a parenthesis was added as an example for reference. The same applies to the following.

バンド分割することで、バンド毎の再送となり、また通信エラー発生時に転送中、又はその直前のバンドから転送を開始するので、再送時の時間ロスが低減する。   By dividing the band, retransmission is performed for each band, and transfer is started when a communication error occurs or starts from the band immediately before the transmission error, so that time loss during retransmission is reduced.

(2)前記全データ転送の通信エラー発生回数の許容設定値をNとすると、前記タイミングマージン(A)/N以内で転送し得るデータ量以下のバンドに区切ってデータを転送し、通信エラーが発生するとそのとき転送中のバンド又はその直前のバンドから転送を再開する、上記(1)に記載のデータ転送制御方法。   (2) If the allowable setting value for the number of occurrences of communication errors in all data transfer is N, the data is transferred in a band less than the amount of data that can be transferred within the timing margin (A) / N. The data transfer control method according to (1), wherein when it occurs, the transfer is restarted from the band that is being transferred at that time or the band immediately before that.

分割された何れかのデータの再送がN回だけ発生した場合でも、トータルの転送時間がY以下となるため、生産性/リアルタイム性を維持することができる。   Even when any of the divided data is retransmitted N times, the total transfer time is Y or less, so that productivity / real-time performance can be maintained.

(3)前記全データは1プレーンの画像データであり、前記DMACによる転送は、シリアルATAを用いる通信である、上記(1)または(2)に記載のデータ転送制御方法。   (3) The data transfer control method according to (1) or (2), wherein the all data is one plane image data, and the transfer by the DMAC is communication using serial ATA.

(4)1プレーンの画像データを圧縮符号化した、割当て時間(Y)内に所要時間(X)で転送できる量の全符号データをDMACにより転送する場合に、
符号データ量が、前記割当て時間(Y),所要時間(X)および通信エラーのときの通信再開に要するオーバヘッド時間(z)から定まるタイミングマージン(A)以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化し、これによって生成した符号データのバンドを転送し、通信エラーが発生するとそのとき転送中の符号データのバンド又はその直前のバンドから転送を再開する、ことを特徴とするデータ転送制御方法。
(4) When transferring all the encoded data of the amount that can be transferred in the required time (X) within the allocated time (Y) by compressing and encoding the image data of one plane by DMAC,
An image in which the amount of code data is less than or equal to the amount of data that can be transferred within the timing margin (A) determined from the allocation time (Y), the required time (X), and the overhead time (z) required for restarting communication in the event of a communication error By the amount of data, one plane of image data is divided into bands, compressed and encoded into code data for each band, the code data band generated thereby is transferred, and when a communication error occurs, the band of the code data being transferred at that time Alternatively, the data transfer control method is characterized in that the transfer is resumed from the band immediately before.

(5)前記全符号データ転送の通信エラー発生回数の許容設定値をNとすると、前記タイミングマージン(A)/N以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化し、これによって生成した符号データのバンドを転送し、通信エラーが発生するとそのとき転送中の符号データのバンド又はその直前のバンドから転送を再開する、上記(4)に記載のデータ転送制御方法。   (5) If the allowable setting value of the number of occurrences of communication errors in all code data transfer is N, the image data amount of one plane is less than the data amount that can be transferred within the timing margin (A) / N. The data is compressed and encoded into code data for each band, and the generated code data band is transferred. When a communication error occurs, transfer is resumed from the code data band being transferred at that time or the band immediately preceding it. The data transfer control method according to (4) above.

(6)前記DMACによる転送は、シリアルATAを用いる通信である、上記(4)または(5)に記載のデータ転送制御方法。   (6) The data transfer control method according to (4) or (5), wherein the transfer by the DMAC is communication using serial ATA.

(7)データの転送先又は転送元は、HDDである、上記(1)乃至(6)のいずれか1つに記載のデータ転送制御方法。   (7) The data transfer control method according to any one of (1) to (6), wherein the data transfer destination or transfer source is an HDD.

(8)再送を開始するバンドは、通信エラーを検出したバンドの一つ前のバンドである、上記(1)乃至(7)のいずれか1つに記載のデータ転送制御方法。これによれば、HDDをリードするDMACは次のディスクリプタをリードし始めているが、メモリをライトするDMACはメモリが混雑していてまだ前のバンドを転送中というようなクリティカルな場合でも、安全に再送を行える。   (8) The data transfer control method according to any one of (1) to (7), wherein the band from which retransmission is started is a band immediately before a band in which a communication error is detected. According to this, the DMAC that reads the HDD has started to read the next descriptor, but the DMAC that writes the memory is safe even if the memory is congested and the previous band is still being transferred. You can resend.

(9)転送対象データ群に関する割当て時間(Y),所要時間(X)および通信エラーのときの通信再開に要するオーバヘッド時間(z)、から定まるタイミングマージン(A)以内で転送し得るデータ量以下のバンドに、前記転送対象データ群を区切るためのディスクリプタチェーンをメモリ上に構成する管理情報生成手段(101);および、
前記ディスクリプタチェーンにもとづいて前記バンドの区分ごとに転送対象データ群を転送し、該転送の間に通信エラーを生じると、そのとき転送中のバンド又はその直前のバンドからの転送を再開するDMAC;
を備えるデータ転送制御装置。
(9) Less than the amount of data that can be transferred within the timing margin (A) determined from the allocated time (Y), required time (X), and overhead time (z) required for restarting communication in the event of a communication error Management information generating means (101) for configuring a descriptor chain on the memory for delimiting the transfer target data group in
A DMAC that transfers a transfer target data group for each of the band sections based on the descriptor chain, and resumes transfer from the band that is being transferred at that time or the band immediately before it when a communication error occurs during the transfer;
A data transfer control device comprising:

(10)前記管理情報生成手段(101)は、前記転送対象データ群転送の通信エラー発生回数の許容設定値をNとすると、前記タイミングマージン(A)/N以内で転送し得るデータ量以下のバンドに、前記転送対象データ群を区切るためのディスクリプタチェーンをメモリ上に構成する、上記(9)に記載のデータ転送制御装置。   (10) The management information generating means (101) is less than or equal to the amount of data that can be transferred within the timing margin (A) / N, where N is the allowable setting value of the number of occurrences of communication errors in the transfer target data group transfer. The data transfer control device according to (9), wherein a descriptor chain for dividing the transfer target data group is configured on a memory in a band.

(11)前記転送対象データ群は1プレーンの画像データであり、前記DMACは、シリアルATAを用いて転送する、上記(9)または(10)に記載のデータ転送制御装置。   (11) The data transfer control device according to (9) or (10), wherein the transfer target data group is image data of one plane, and the DMAC transfers using serial ATA.

(12)符号データ量が、前記割当て時間(Y),所要時間(X)および通信エラーのときの通信再開に要するオーバヘッド時間(z)から定まるタイミングマージン(A)以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化する手段;
前記符号データのバンドを転送するためのディスクリプタチェーンをメモリ上に構成する管理情報生成手段(101);および、
前記ディスクリプタチェーンにもとづいて前記符号データのバンドを転送し、該転送の間に通信エラーを生じると、そのとき転送中のバンド又はその直前のバンドからの転送を再開するDMAC;
を備えるデータ転送制御装置。
(12) The amount of code data is less than the amount of data that can be transferred within the timing margin (A) determined from the allocation time (Y), the required time (X), and the overhead time (z) required for restarting communication when a communication error occurs. Means for dividing one plane of image data into bands and compressing and coding into code data for each band with an image data amount of
Management information generating means (101) for configuring on the memory a descriptor chain for transferring the band of the code data; and
DMAC which transfers the band of the code data based on the descriptor chain and resumes transfer from the band being transferred at that time or the band immediately before it when a communication error occurs during the transfer;
A data transfer control device comprising:

(13)前記1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化する手段は、全バンドの前記転送の完了の間の通信エラー発生回数の許容設定値をNとすると、前記符号データのバンドがタイミングマージン(A)/N以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化する、上記(12)に記載のデータ転送制御装置。   (13) The unit that compresses and encodes the image data of one plane into bands and compresses the encoded data into code data for each band, where N is an allowable setting value of the number of occurrences of communication errors during the completion of the transfer of all bands. The code data band is compressed and encoded into code data for each band by dividing the image data of one plane into bands with an image data amount that is equal to or less than a data amount that can be transferred within a timing margin (A) / N. The data transfer control device according to (12).

(14)前記DMACは、シリアルATAを用いる通信で転送する、上記(12)または(13)に記載のデータ転送制御装置。   (14) The data transfer control device according to (12) or (13), wherein the DMAC transfers data by communication using serial ATA.

(15)前記DMACが再送を開始するバンドは、通信エラーを検出したバンドの一つ前のバンドである、上記(9)乃至(14)のいずれか1つに記載のデータ転送制御装置。   (15) The data transfer control device according to any one of (9) to (14), wherein a band from which the DMAC starts retransmission is a band immediately before a band in which a communication error is detected.

(16)前記DMACは、転送中のディスクリプタより1つ前のディスクリプタの情報を保持するレジスタを持ち、通信エラーが発生したときは、前記管理情報生成手段(101)の再転送指示に応答して、該1つ前のディスクリプタに基づいてバンドの転送を再開する、上記(9)乃至(15)のいずれか1つに記載のデータ転送制御装置。   (16) The DMAC has a register for holding information on the descriptor immediately preceding the descriptor being transferred. When a communication error occurs, the DMAC responds to a retransfer instruction from the management information generating means (101). The data transfer control device according to any one of (9) to (15), wherein band transfer is resumed based on the previous descriptor.

これによれば、エラー発生時、転送に必要なバンド毎の管理情報を再度メモリから読み出す時間が不要となるため、再送時間ロスを最低限に抑えることができる。エラー発生時、転送に必要なバンド毎の管理情報を再度メモリから読み出す時間が不要となるため、再送時間ロスを最低限に抑えることができる。   According to this, when an error occurs, it is not necessary to read out the management information for each band necessary for the transfer from the memory again, so that the retransmission time loss can be minimized. When an error occurs, it is not necessary to read out the management information for each band necessary for transfer from the memory again, so that a retransmission time loss can be minimized.

(17)前記DMACは、転送中のディスクリプタより1つ前のディスクリプタの情報を保持するレジスタを持ち、通信エラーが発生したときは、自起動で該1つ前のディスクリプタに基づいてバンドの転送を再開する、上記(9)乃至(15)のいずれか1つに記載のデータ転送制御装置。   (17) The DMAC has a register for holding information on the descriptor immediately preceding the descriptor being transferred. When a communication error occurs, the DMAC automatically transfers a band based on the preceding descriptor. The data transfer control device according to any one of (9) to (15), wherein the data transfer control device is resumed.

これによれば、再送の時間効率が良く、且つ、利便性が高まる。ハードウェアで自動再送することで、再送の時間効率が良く、且つ、利便性が高まる。   According to this, retransmission time efficiency is good and convenience is enhanced. Automatic retransmission by hardware improves the time efficiency of retransmission and increases convenience.

(18)1以上のプレーンの画像データを格納できる一次記憶手段(105);
1以上のプレーンの画像データを格納できる二次記憶手段(111);
画像出力手段(14);
前記一次記憶手段(105)の画像データを前記二次記憶手段(111)に転送する、請求項9乃至11のいずれか1つに記載のデータ転送制御装置;および、
前記二次記憶手段(111)に転送したバンド区分の画像データを前記一次記憶手段(105)を介して前記画像出力手段(14)に転送する手段(101,102);
を備える画像形成装置。
(18) Primary storage means (105) capable of storing image data of one or more planes;
Secondary storage means (111) capable of storing image data of one or more planes;
Image output means (14);
The data transfer control device according to any one of claims 9 to 11, wherein the image data of the primary storage means (105) is transferred to the secondary storage means (111);
Means (101, 102) for transferring the image data of the band section transferred to the secondary storage means (111) to the image output means (14) via the primary storage means (105);
An image forming apparatus comprising:

(19)1以上のプレーンの画像データを格納できる一次記憶手段(105);
1以上のプレーンの画像データの符号データを格納できる二次記憶手段(111);
前記一次記憶手段(105)の画像データをバンド区分で符号化して前記二次記憶手段(111)に格納する、請求項12乃至14のいずれか1つに記載のデータ転送制御装置;および、
前記二次記憶手段(111)に転送したバンド区分の符号データを前記一次記憶手段(105)に転送し、該一次記憶手段(105)から読み出して画像データに復号化して前記画像出力手段(14)に転送する手段(101,102);
を備える画像形成装置。
(19) Primary storage means (105) capable of storing image data of one or more planes;
Secondary storage means (111) capable of storing code data of image data of one or more planes;
The data transfer control device according to any one of claims 12 to 14, wherein the image data of the primary storage means (105) is encoded by band division and stored in the secondary storage means (111);
The band division code data transferred to the secondary storage means (111) is transferred to the primary storage means (105), read out from the primary storage means (105), decoded into image data, and the image output means (14). ) Means for forwarding to (101,102);
An image forming apparatus comprising:

(20)前記二次記憶手段はHDD(111)である、上記(18)又は(19)に記載の画像形成装置。   (20) The image forming apparatus according to (18) or (19), wherein the secondary storage unit is an HDD (111).

本発明の他の目的および特徴は、図面を参照した以下の実施例の説明より明らかになろう。   Other objects and features of the present invention will become apparent from the following description of embodiments with reference to the drawings.

図1に、本発明の一実施例のデジタルカラー複写機の画像処理系統のシステム構成を示す。プリンタコントローラ100は、メインCPU(Central Processing Unit)101,ASIC102,I/CカードI/F103,ROM(Read Only Memory)104およびRAM(Random Access Memory)105等を備え、ROM104内には、複写機のシステムプログラムおよび画像情報管理プログラム等の各種プログラムが格納されているとともに、これらのプログラムを実行するに必要な各種データおよびシステムデータ等が格納されている。メインCPU101は、ROM104内のプログラムに基づいて、RAM105をワークメモリとして利用して、複写機の各部を制御して、画像読み取り,画像蓄積,PC(パソコン)との書画の送受信,ファクシミリ送受信,複写,印刷(プリンタとしてのプリントアウト),蓄積情報の管理,使用管理等を行う。RAM105は、画像や圧縮後の符号を格納するための一次記憶装置でもある。   FIG. 1 shows a system configuration of an image processing system of a digital color copying machine according to an embodiment of the present invention. The printer controller 100 includes a main CPU (Central Processing Unit) 101, an ASIC 102, an I / C card I / F 103, a ROM (Read Only Memory) 104, a RAM (Random Access Memory) 105, and the like. And various programs such as an image information management program and various data necessary for executing these programs, system data, and the like are stored. Based on the program in the ROM 104, the main CPU 101 uses the RAM 105 as a work memory to control each part of the copying machine, read an image, store an image, send / receive a document with a PC (personal computer), send / receive a facsimile, and copy. , Printing (printout as a printer), management of stored information, usage management, etc. The RAM 105 is also a primary storage device for storing images and codes after compression.

操作表示ボード20は、テンキー,スタートキー,ストップキーおよびファンクションキー等の各種操作キーを備えると共に、ディスプレイ(液晶ディスプレイ)を備えており、各操作キーによりユーザ指示を入力しディスプレイに表示することができる。ディスプレイにはまた、複写機の状態、および、PCやファクシミリからの通知が表示される。   The operation display board 20 includes various operation keys such as a numeric keypad, a start key, a stop key, and a function key, and also includes a display (liquid crystal display). A user instruction can be input by each operation key and displayed on the display. it can. The display also displays the status of the copier and notifications from the PC or facsimile.

ファクシミリ制御ユニットFCUには、電話回線PNが接続され、相手ファクシミリ装置との間でファクシミリ制御信号を交換して、ファクシミリ通信手順を実行するとともに、網制御部やモデム等を備え、その網制御部により、自動発・着呼処理を行い、また、そのモデムにより、送・受信信号の変・復調処理を行う。ファクシミリ制御ユニットFCUは、上述のように、ファクシミリ通信時、相手ファクシミリ装置との間で、ファクシミリ制御信号を交換して、ファクシミリ通信手順を実行するが、特に、受信時に自機の機能を相手先(送信側ファクシミリ装置)に通知するファクシミリ制御信号に、プリンタ14,符号化・復号化等の、各種機能を備えている旨を付加して、相手先に送信する。ネットワークインターフェイス(ネットワーク I/F)109には、LAN(Local Area Network)を介してPC(Personal Computer)等の情報処理装置が接続され、ネットワーク I/F 109は、PC等との間で書画情報の授受を行って、特に、HDD111に蓄積されている書画情報をPCに転送して、PCでの画情報の利用を可能としている。PCは、図1に示す複写機に対して、印字命令出力,スキャナデータの引き取りを行う。HDD111は、画像や圧縮後の符号を格納するための二次記憶装置である。   The facsimile control unit FCU is connected to a telephone line PN, exchanges facsimile control signals with a partner facsimile machine, executes a facsimile communication procedure, and includes a network control unit, a modem, and the like. Thus, automatic outgoing / incoming call processing is performed, and transmission / reception signal modulation / demodulation processing is performed by the modem. As described above, the facsimile control unit FCU performs facsimile communication procedures by exchanging facsimile control signals with the other facsimile apparatus during facsimile communication. The fact that the printer 14 is provided with various functions such as encoding and decoding is added to the facsimile control signal notified to the (transmission side facsimile apparatus) and transmitted to the other party. An information processing apparatus such as a PC (Personal Computer) is connected to the network interface (network I / F) 109 via a LAN (Local Area Network), and the network I / F 109 communicates with the PC etc. In particular, the document information stored in the HDD 111 is transferred to the PC so that the PC can use the image information. The PC outputs a print command and takes scanner data to the copying machine shown in FIG. The HDD 111 is a secondary storage device for storing images and codes after compression.

ASIC102は、HDD111に対するデータの読み書きを行うものであり、圧縮伸張器およびDMACを内蔵し、CPU転送、DMA転送を制御する。   The ASIC 102 reads / writes data from / to the HDD 111, and includes a compression / decompression unit and a DMAC, and controls CPU transfer and DMA transfer.

図2に、ASIC102に構成された機能要素の概要を示す。このASIC102は、RAM105に格納された画像データを圧縮伸張器123で圧縮(符号化)してHDD111に蓄積、及び、HDD111に蓄積された符号(圧縮データ)を圧縮伸張器で画像データに伸張してRAM105に展開することが可能な構成にしたものである。なお、HDD111には、圧縮された符号のみならず、非圧縮の画像データそのものを格納することもでき、ASIC102は、圧縮伸張器123の圧縮,伸張をバイパスして画像データのままRAM105/HDD111間ならびにエンジン(スキャナ10,プリンタ14)/HDD111間のデータ転送を行うこともできる。   FIG. 2 shows an outline of functional elements configured in the ASIC 102. The ASIC 102 compresses (encodes) the image data stored in the RAM 105 by the compression / decompression unit 123 and stores it in the HDD 111, and decompresses the code (compressed data) stored in the HDD 111 into image data by the compression / decompression unit. Thus, it can be expanded in the RAM 105. The HDD 111 can store not only the compressed code but also the uncompressed image data itself, and the ASIC 102 bypasses the compression / decompression of the compression / decompression unit 123 and keeps the image data between the RAM 105 and the HDD 111. Data transfer between the engine (scanner 10 and printer 14) / HDD 111 can also be performed.

システム制御部120は、メインCPU101からの、ASIC内部の各モジュール(121〜127)およびASIC102外部のRAM105,HDD111へのアクセスを制御するメモリコントローラを含む。システム制御部120が、メインCPU101のコマンドをデコードして、該コマンドを実行する制御信号および制御データをASIC内部の各モジュール(121〜127)およびASIC102外部のRAM105,HDD111に与える。HDD111への画像データの格納のときには、画像データDMAC124がRAM I/F125を介してRAM105にアクセスしてRAM105の画像データを読み出して、DMA転送でI/F回路127を介して圧縮伸張器123に転送する。圧縮伸張器123は受けた画像データを圧縮し、符号データDMAC122が圧縮データをHDD I/F121に転送しI/F121を介してHDD111に格納する。画像データDMAC124は、画像転送用のDMAコントローラであり、画像を2次元として扱い、主走査単位で転送を行う。HDD111からの圧縮データの読み出しのときには、符号データDMAC122がHDD I/F121を介してHDD111にアクセスしてHDD111の圧縮データを読み出して、DMA転送で圧縮伸張器123に転送する。圧縮伸張器123は受けた圧縮データを画像データに伸張して、I/F回路127を介して画像DMAC124に転送し、画像DMAC124がRAM I/F125を介してRAM105にアクセスしてRAM105に書込む。   The system control unit 120 includes a memory controller that controls access from the main CPU 101 to the modules (121 to 127) inside the ASIC, the RAM 105 outside the ASIC 102, and the HDD 111. The system control unit 120 decodes the command of the main CPU 101 and supplies a control signal and control data for executing the command to the modules (121 to 127) in the ASIC and the RAM 105 and HDD 111 outside the ASIC 102. When storing image data in the HDD 111, the image data DMAC 124 accesses the RAM 105 via the RAM I / F 125, reads the image data in the RAM 105, and transfers it to the compression / decompression unit 123 via the I / F circuit 127 by DMA transfer. Forward. The compression / decompression unit 123 compresses the received image data, and the code data DMAC 122 transfers the compressed data to the HDD I / F 121 and stores it in the HDD 111 via the I / F 121. The image data DMAC 124 is a DMA controller for image transfer, handles an image as a two-dimensional image, and transfers the image in main scanning units. When reading compressed data from the HDD 111, the code data DMAC 122 accesses the HDD 111 via the HDD I / F 121, reads the compressed data of the HDD 111, and transfers it to the compression / decompression unit 123 by DMA transfer. The compression / decompression unit 123 decompresses the received compressed data into image data, transfers it to the image DMAC 124 via the I / F circuit 127, and the image DMAC 124 accesses the RAM 105 via the RAM I / F 125 and writes it to the RAM 105. .

圧縮伸張器123内にも、上述のデータ転送を圧縮伸張器123で行うDMACがある(図8)。また、圧縮伸張器123には、ラインメモリ126が接続されている。一般に、ラインメモリは1ライン又は数ライン分の画像データを蓄積するために使用される。ラインメモリを使用するケースとしては、以下のような理由がある:
1)圧縮伸張の方式が、前ラインを参照する2次元圧縮方式であるとき,
2)圧縮伸張器が、1ラインの画像をスキャンして最適な圧縮方式、または内部パラメータを選択するとき,
3)外部I/Fとの速度的なボトルネックの解消など。
There is also a DMAC in the compression / decompression unit 123 that performs the above-described data transfer by the compression / decompression unit 123 (FIG. 8). A line memory 126 is connected to the compression / decompression unit 123. Generally, a line memory is used to store image data for one line or several lines. There are several reasons for using line memory:
1) When the compression / decompression method is a two-dimensional compression method referring to the previous line,
2) When the compression / decompression device scans one line of image and selects the optimal compression method or internal parameters,
3) Eliminate speed bottlenecks with external I / F.

DMAを行う前に、CPU101がRAM105に、各DMAC宛てのディスクリプタを用意する。図3に、RAM105上にDMAC31宛ての2つのディスクリプタ610,620を生成した態様を示す。図3に示すようにディスクリプタを2つ生成したとすると、第1のディスクリプタ610のネクストディスクリプタポインタレジスタ611(メモリの1領域:1つのレジスタ)には、第2のディスクリプタ620の先頭アドレスが格納されている。   Before performing the DMA, the CPU 101 prepares a descriptor destined for each DMAC in the RAM 105. FIG. 3 shows a mode in which two descriptors 610 and 620 addressed to the DMAC 31 are generated on the RAM 105. If two descriptors are generated as shown in FIG. 3, the next descriptor pointer register 611 (one area of the memory: one register) of the first descriptor 610 stores the start address of the second descriptor 620. ing.

第2のディスクリプタ620の転送元アドレスレジスタ612のデ−タは、バッファメモリ630の先頭のアドレスを示す。バッファメモリ630には転送すべきデータが格納されている。第1のディスクリプタ610の転送バイト数レジスタ613には、バッファメモリ630に格納されたデータのうち、転送すべきバイト数が格納されている。第1のディスクリプタ610のモードワードレジスタ614の、最下位ビットすなわちビットNo.0には、この第1のディスクリプタ610で示される転送が終了したら、割り込みを発生するかどうかをきめるフラグデ−タCONTが存在し、これが「1」のとき、DMAC31が割り込み信号を発生する。   The data in the transfer source address register 612 of the second descriptor 620 indicates the head address of the buffer memory 630. The buffer memory 630 stores data to be transferred. The transfer byte count register 613 of the first descriptor 610 stores the number of bytes to be transferred among the data stored in the buffer memory 630. In the mode word register 614 of the first descriptor 610, the least significant bit, that is, the bit No. At 0, when the transfer indicated by the first descriptor 610 is completed, there is flag data CONT for determining whether or not to generate an interrupt. When this is “1”, the DMAC 31 generates an interrupt signal.

同様に、第2のディスクリプタ620に示されるネクストディスクリプタポインタレジスタ621には、もし、あれば第3のディスクリプタの先頭アドレスが格納されるが、図示例では、第2のディスクリプタ620は最後のディスクリプタなので、終了であることをDMAC31に教えるために、「0」が格納される。第2のディスクリプタ620の転送元アドレスレジスタ622はバッファメモリ640の先頭アドレスを示し、バッファメモリ640には転送すべきデータが格納されている。第2のディスクリプタ620の転送バイト数レジスタ623にはバッファメモリ640に格納されたデータのうち、転送すべきバイト数が格納されている。第2のディスクリプタ620のモードワードレジスタ624には、何も設定されていない。   Similarly, the next descriptor pointer register 621 shown in the second descriptor 620 stores the start address of the third descriptor, if any, but in the illustrated example, the second descriptor 620 is the last descriptor. In order to tell the DMAC 31 that it is the end, “0” is stored. A transfer source address register 622 of the second descriptor 620 indicates the head address of the buffer memory 640, and data to be transferred is stored in the buffer memory 640. The transfer byte count register 623 of the second descriptor 620 stores the number of bytes to be transferred among the data stored in the buffer memory 640. Nothing is set in the mode word register 624 of the second descriptor 620.

最終ディスクリプタの前のディスクリプタ610内に割り込みイネーブルビット「CONT」があり、これを用いてディスクリプタ単位で割り込みを発生させることができる。ディスクリプタのサイズは何ワードでも問題はない。ネクストディスクリプタアドレスレジスタ611は、ディスクリプスタ610,620をチェーン構造にしてリンクしていけるように、次に実行すべきディスクリプスタ620のアドレスを格納する。転送元アドレスレジスタ612のデ−タは、このディスクリプタ610がバッファメモリ630からI/Oデバイス500への転送を行うものとして、RAMメモリ600上に確保された転送データ(630)の先頭アドレスを示す。転送バイト数レジスタ613のデ−タは転送すべき長さ(バイト数)を示す。モードワードレジスタ614は、ディスクリプタ単位での動作モードを設定するためのワードを格納する。モードワードレジスタ614は、この実施例の場合32bitの長さをもつ。その最下位ビットであるビットNo.0のデ−タCONTは、「0」と「1」の2つの状態を取ることができ、このbitデ−タCONTは割り込みイネーブルビットとして機能する。割り込みイネーブルビットとは、このビットが「1」に設定されているディスクリプタの示す転送が完了したら、割り込みを発生することを許可することを示す。   There is an interrupt enable bit “CONT” in the descriptor 610 before the final descriptor, and an interrupt can be generated in units of descriptors using this bit. Descriptor size can be any number of words. The next descriptor address register 611 stores the address of the descriptor 620 to be executed next so that the descriptors 610 and 620 can be linked in a chain structure. The data in the transfer source address register 612 indicates the head address of transfer data (630) secured on the RAM memory 600, assuming that the descriptor 610 transfers data from the buffer memory 630 to the I / O device 500. . Data in the transfer byte number register 613 indicates the length (number of bytes) to be transferred. The mode word register 614 stores a word for setting an operation mode in units of descriptors. The mode word register 614 has a length of 32 bits in this embodiment. The least significant bit, bit No. The data CONT of 0 can take two states “0” and “1”, and this bit data CONT functions as an interrupt enable bit. The interrupt enable bit indicates that it is permitted to generate an interrupt when the transfer indicated by the descriptor whose bit is set to “1” is completed.

図4の(a)に、DMAC31の構成を示す。ディスクリプタポインタレジスタ401は、RAMメモリ600上に格納されたディスクリプタ(610/620)の先頭アドレスを格納するためのレジスタである。コントロールレジスタ402は、CPU101からDMA動作開始の指示をうけるためのレジスタである。アドレスレジスタ403は、ディスクリプタが保持する転送元アドレスを格納するものであり、転送カウンタ409は実際の転送バイト数をカウントするカウンタである。転送バイト数レジスタ410はディスクリプタで示される転送バイト数を格納するためのレジスタである。   FIG. 4A shows the configuration of the DMAC 31. The descriptor pointer register 401 is a register for storing the head address of the descriptor (610/620) stored on the RAM memory 600. The control register 402 is a register for receiving an instruction to start DMA operation from the CPU 101. The address register 403 stores the transfer source address held by the descriptor, and the transfer counter 409 is a counter that counts the actual number of transfer bytes. The transfer byte number register 410 is a register for storing the transfer byte number indicated by the descriptor.

DMA転送制御回路404は、アドレスレジスタ403の転送元アドレスと転送カウンタ409のカウント値(転送済バイト数)の和で示されるアドレスのメモリをアクセスし、実際の転送を行う回路である。モードレジスタ406はディスクリプタのモードワードレジスタ614,624のデ−タを格納するためのレジスタである。ディスクリプタ制御回路405は、ディスクリプタ610,620の読み込みを行う回路である。割込みイネーブル信号ライン407を介して、モ−ドレジスタ406の割込み指示ビットCONTのデ−タ(「1」又は「0」)がDMA転送制御回路404に与える。これが転送完了時に割り込みを発生させるかどうかを知らせる信号である。ディスクリプタで示される転送が完了したときに、DMA転送制御回路404(DMAC31)は、割込み信号ライン408を介してCPU101に対して割込みを知らせる信号を与える。   The DMA transfer control circuit 404 is a circuit that accesses the memory at the address indicated by the sum of the transfer source address of the address register 403 and the count value (number of transferred bytes) of the transfer counter 409 and performs the actual transfer. The mode register 406 is a register for storing data of the mode word registers 614 and 624 of the descriptor. The descriptor control circuit 405 is a circuit that reads the descriptors 610 and 620. The data (“1” or “0”) of the interrupt instruction bit CONT of the mode register 406 is supplied to the DMA transfer control circuit 404 via the interrupt enable signal line 407. This is a signal notifying whether or not to generate an interrupt when the transfer is completed. When the transfer indicated by the descriptor is completed, the DMA transfer control circuit 404 (DMAC 31) gives a signal notifying the CPU 101 of the interrupt via the interrupt signal line 408.

CPU101が、RAM105上に転送デ−タおよびディスクリプタを設定し、そしてDMAC31のディスクリプタポィンタレジスタ401に第1ディスクリプタの先端アドレスを書込み、コントロールレジスタ402の、図4の(c)に示すビットEXECに、「1」を書くと、これに応答してDMAC31が転送動作を開始し、DMAC31はまずディスクリプタ読み出し702に進む。すなわちメモリ上のディスクリプタを読み出しに行く。具体的には、DMAC31は、ディスクリプタポインタレジスタ401のデ−タが示すアドレス(ディスクリプタ610)の内容を4ワード読み出して、最初のワード(ネクスディスクリプタアドレス)を図4の(a)に示すネクストディスクリプタポインタレジスタ411へ格納し、2番目のワード(転送元アドレス)はアドレスレジスタ403へ格納し、3番目のワード(転送バイト数)は転送バイト数レジスタ410へ格納し、4番目のワード(モ−ドワ−ド)はモードレジスタ406およびコントロ−ルレジスタ402へ格納する。   The CPU 101 sets the transfer data and descriptor on the RAM 105, writes the leading address of the first descriptor in the descriptor pointer register 401 of the DMAC 31, and writes it to the bit EXEC shown in FIG. 4C in the control register 402. , “1” is written, the DMAC 31 starts a transfer operation in response to this, and the DMAC 31 first proceeds to read descriptor 702. That is, the descriptor on the memory is read. Specifically, the DMAC 31 reads the contents of the address (descriptor 610) indicated by the data in the descriptor pointer register 401, and the first word (next descriptor address) is the next descriptor shown in FIG. Stored in the pointer register 411, the second word (transfer source address) is stored in the address register 403, the third word (transfer byte number) is stored in the transfer byte number register 410, and the fourth word (mode) Is stored in the mode register 406 and the control register 402.

次にDMAC31は、各レジスタ411,403,410,406のデ−タが規定するDMA転送を開始し、1つのディスクリプタ(第1ディスクリプタ610)で指定されたブロックの転送が完了したかどうかチェックする。ブロックの転送が完了していなければ、次の転送のためにアドレスを更新する。ブロックの転送が完了するまで、転送を繰り返す。ブロックの転送が完了すると、DMAC31は、ディスクリプタそのもののチェーンが完了した、すなわち全体の転送が完了した、かどうかをチェックする。   Next, the DMAC 31 starts the DMA transfer specified by the data in the registers 411, 403, 410, and 406, and checks whether the transfer of the block designated by one descriptor (first descriptor 610) is completed. . If the block transfer is not complete, the address is updated for the next transfer. Repeat the transfer until the block transfer is complete. When the block transfer is completed, the DMAC 31 checks whether the chain of the descriptor itself is completed, that is, whether the entire transfer is completed.

先に述べたが図示例では、第2のディスクリプタ620が最後のディスクリプタなので、終了であることをDMAC31に教えるために、「0」がネクストディスクリプタポインタ621に書込まれており、今転送を実行したディスクリプタが、仮に最後のディスクリプタ(第2ディスクリプタ620)であるとすると、DMAC31のネクストディスクリプタポインタレジスタ411にはデ−タ「0」が書込まれているので、このデ−タに基づいて、全体の転送が完了した、と判定する。   As described above, in the illustrated example, since the second descriptor 620 is the last descriptor, “0” is written in the next descriptor pointer 621 in order to inform the DMAC 31 that it is the end, and the transfer is now executed. Assuming that this descriptor is the last descriptor (second descriptor 620), data “0” is written in the next descriptor pointer register 411 of the DMAC 31. Based on this data, It is determined that the entire transfer has been completed.

しかし、今終えた転送が第1ディスクリプタ610のデ−タに基づくものであると、ネクストディスクリプタポインタレジスタ411には第1ディスクリプタ610のネクストディスクリプタポインタ611のデ−タ(第2ディスクリプタ620の先頭アドレス)があるので、DMAC31は、次のディスクリプタ(620)が有効であるので、モ−ドレジスタ406に格納している、元はモードワードレジスタ614にあったビットCONTをライン407経由で読んで、それが「1」であるので、コントロ−ルレジスタ402に書込んでいるタイマ変数(元はモードワードレジスタ614にあったデ−タ)を計時タイマに設定して計時を開始し、タイマ変数が表わす時間が経過すると、継続の割込みを発生する。すなわち、DMAC31は、コントロ−ルレジスタ402のビットEXECを「0」にクリアして、CPU101への割込要求ライン408に割込み信号を与える。そして、CPU101がこれに応答してコントロールレジスタ402のビットEXECを「1」にするのを待つ。そして、「1」になると、第2ディスクリプタ620のデ−タを読込んでレジスタ各レジスタ411,403,410,406,402に書込み、転送を行なう。CONTに「1」が設定されていないときには、該継続の割込み処理は行なわないで、第2ディスクリプタ620のデ−タを読込んでレジスタ各レジスタ411,403,410,406,402に書込み、転送を行なう。   However, if the transfer that has just been completed is based on the data of the first descriptor 610, the data of the next descriptor pointer 611 of the first descriptor 610 (the start address of the second descriptor 620) is stored in the next descriptor pointer register 411. Since the next descriptor (620) is valid, the DMAC 31 reads the bit CONT stored in the mode register 406, which was originally in the mode word register 614, via the line 407. Is set to “1”, the timer variable (data originally stored in the mode word register 614) written in the control register 402 is set as the time timer, and time measurement is started. When elapses, a continuation interrupt is generated. That is, the DMAC 31 clears the bit EXEC of the control register 402 to “0” and gives an interrupt signal to the interrupt request line 408 to the CPU 101. In response to this, the CPU 101 waits for the bit EXEC of the control register 402 to be set to “1”. When “1” is set, the data of the second descriptor 620 is read and written to the registers 411, 403, 410, 406, 402 and transferred. When “1” is not set in CONT, the continuous interrupt processing is not performed, the data of the second descriptor 620 is read, written to the registers 411, 403, 410, 406, 402 and transferred. Do.

第2ディスクリプタ620のデ−タに基づいた転送を完了すると、ネクストディスクリプタポインタレジスタ411のデ−タが「0」になっているので、DMAC31は、完了割込み信号を発生して、全処理を完了する。継続割込みは、DMAC31のコントロールレジスタのCONTビットが「1」(第1ディスクリプタ610)のとき、有効となるが「0」(第2ディスクリプタ620)のときは、継続割込みは発生しない。最終ディスクリプタ(620)中のモードワード(624)にもCONTビット相当のビットは存在するが、それは「0」とされ、コントロールレジスタ402のCONTビットが「0」になるので、DMAC31は、継続割込みは発生せず、完了割込み信号を発生する。   When the transfer based on the data of the second descriptor 620 is completed, since the data of the next descriptor pointer register 411 is “0”, the DMAC 31 generates a completion interrupt signal and completes the entire processing. To do. The continuous interrupt is valid when the CONT bit of the control register of the DMAC 31 is “1” (first descriptor 610), but does not occur when it is “0” (second descriptor 620). The bit corresponding to the CONT bit also exists in the mode word (624) in the final descriptor (620), but it is set to “0”, and the CONT bit of the control register 402 is set to “0”. Does not occur, but generates a completion interrupt signal.

上述の例では、図4の(b)に示すように、ディスクリプタのモードワードレジスタ614内にタイマ変数を用意して、1ブロックの転送完了後タイマ変数で指定した時間待ってから、継続割込みを発生する。このタイマ変数にて、1ブロック転送完了から継続割込み発生までの時間を設定することができる。最終ディスクリプタ(620)のモードワードレジスタ(624)にもタイマ変数を含めて、最終ブロックの転送完了からその時間分の遅延の後に完了割込み信号を発生するようにすることによって、完了割込みのタイミングも設定可能になる。   In the above example, as shown in FIG. 4B, a timer variable is prepared in the mode word register 614 of the descriptor, and after waiting for the time specified by the timer variable after completion of one block transfer, a continuation interrupt is issued. appear. With this timer variable, the time from the completion of one block transfer to the occurrence of a continuous interrupt can be set. A timer variable is also included in the mode word register (624) of the final descriptor (620) so that a completion interrupt signal is generated after a delay corresponding to the time from the completion of the transfer of the final block. It becomes possible to set.

図4の(c)に示すように、ディスクリプタのモードワードレジスタ614内に、ディスクリプタによる転送制御には無関係の「未使用」ビットを用意し、DMAC31がこれを使わないようにすることで、ソフトウェアによる該「未使用」ビットへの読み書きが可能であり、ソフトウェアによるディスクリプタの管理に使用することができる。   As shown in FIG. 4C, the “unused” bit irrelevant to the transfer control by the descriptor is prepared in the mode word register 614 of the descriptor so that the DMAC 31 does not use it. Can read from and write to the “unused” bit, and can be used to manage descriptors by software.

ASIC102のその他のDMACの構成及び機能も、DMAC31の上述の構成および機能と同様である。   The other DMAC configurations and functions of the ASIC 102 are the same as the above-described configuration and functions of the DMAC 31.

図5に、パソコンPCの印刷データをプリンタ14でプリントアウトする場合の、CPU101のデータ転送制御の概要を示す。CPU101は、ネットワークLAN経由でパソコンPCから送られてきたPDLをRAM105に格納する(ステップ1)。以下では、括弧内には、ステップという語を省略して、ステップNo.数字又は記号のみを記す。ネットワークI/F109(又はNIC)からRAM105への転送は、DMACを用いるDMA転送又はCPU I/O転送である。   FIG. 5 shows an overview of data transfer control of the CPU 101 when print data of the personal computer PC is printed out by the printer 14. The CPU 101 stores the PDL sent from the personal computer PC via the network LAN in the RAM 105 (step 1). In the following, the word “step” is omitted in parentheses, and step no. Write only numbers or symbols. The transfer from the network I / F 109 (or NIC) to the RAM 105 is a DMA transfer using a DMAC or a CPU I / O transfer.

CPU101は、ROM104のフォント変換データ(フォントROM)を用いて、PDLをイメージデータ(描画データ:画像データ)に変換する。すなわちRAM104にページ画像を展開(描画)して(2)、フルカラー画像記録となる場合は、各色(C,M,Y,K)の画像(プレーン)を生成して、プレーンごとにHDD111に転送する(3)。単色記録(例えば白黒(モノクロ)記録)となる場合には、単色の画像(1プレーンのみ)を生成して、HDD111に転送する(3)。   The CPU 101 converts the PDL into image data (drawing data: image data) using font conversion data (font ROM) in the ROM 104. That is, when a page image is developed (drawn) in the RAM 104 (2) and full-color image recording is performed, an image (plane) of each color (C, M, Y, K) is generated and transferred to the HDD 111 for each plane. (3). In the case of monochrome recording (for example, monochrome recording), a monochrome image (only one plane) is generated and transferred to the HDD 111 (3).

なお、ファクシミリ受信データの場合は、RAM105に受け入れてから画像データに伸張してRAM105に展開してから、HDD111に転送する(3)。複写の場合には、原稿読み取りの画像データをASIC102でプリンタ14で印刷するための画像データに変換してRAM105に読込み、そしてHDD111に転送する(3)。HDD111への転送(3)以下の処理は、印刷,ファクシミリ受信出力および複写のいずれの画像形成モードでも、共通である。以下では、フルカラー画像記録となる場合を例に、HDD111への転送(3)以下の処理を説明する。   In the case of facsimile reception data, the data is received by the RAM 105, decompressed to image data, expanded into the RAM 105, and then transferred to the HDD 111 (3). In the case of copying, the original read image data is converted by the ASIC 102 into image data to be printed by the printer 14, read into the RAM 105, and transferred to the HDD 111 (3). Transfer to HDD 111 (3) The following processing is common to all image forming modes of printing, facsimile reception output, and copying. In the following, the process after transfer (3) to the HDD 111 will be described by taking the case of full color image recording as an example.

この転送においてCPU101はまず、バンド分割情報を生成する(4)。すなわち、各プレーンの画像データのバンド区分情報を生成する。ここで、バンド分割について説明する。図6を参照されたい。   In this transfer, the CPU 101 first generates band division information (4). That is, band division information of image data of each plane is generated. Here, band division will be described. See FIG.

−正常時の転送:図6の(a)−
1プレーンをHDD111からメモリ105に転送するための時間を、図6の(a)に、矢印の長さで表している。その時間をXとする。ここで言う1プレーンのデータ量は、圧縮して符号化された圧縮データを、圧縮データのままメモリ105に転送する場合には、圧縮率により変動するので、説明を簡単にするため非圧縮の画像データをHDD111に格納し、そしてHDD111から読み出してメモリ105に転送する場合について説明する。
-Normal transfer: (a) in FIG.
The time for transferring one plane from the HDD 111 to the memory 105 is indicated by the length of the arrow in FIG. Let X be the time. The amount of data of one plane referred to here varies depending on the compression rate when compressed data that has been compressed and encoded is transferred to the memory 105 as compressed data. A case where image data is stored in the HDD 111, read from the HDD 111, and transferred to the memory 105 will be described.

−従来方法で再送が発生した場合の転送:図6の(b)−
1プレーンの転送の最後尾近くで転送エラーが発生し再送をした場合、2プレーン分の転送が必要になる。さらに、エラー割り込みの処理や、DMACによる再送の場合はDMACのディスクリプタ情報の再読み込みなどのオーバーヘッド(無駄時間又はエラー対処処理時間)が発生する。そのオーバーヘッドすなわちオーバヘッド時間をZとする。割り込み制御に掛かる時間は変動幅が大きいため、ある程度のワーストケースを考慮して、長めにZを決める必要がある。
-Transfer when retransmission occurs in the conventional method: (b) of Fig. 6-
When a transfer error occurs near the end of transfer of one plane and retransmission is performed, transfer of two planes is required. Furthermore, in the case of error interrupt processing or retransmission by DMAC, overhead (dead time or error handling processing time) such as reloading of the descriptor information of DMAC occurs. Let Z be the overhead or overhead time. Since the time required for interrupt control has a large fluctuation range, it is necessary to determine Z longer in consideration of a certain worst case.

−本実施例でエラー対応の再送が発生した場合の転送:図6の(c),(d)−
実際に転送にかけてよい時間すなわち割当て時間をYとする。実際の転送時間すなわち所要時間Xと比較してYが長い。また、再送する際には上記オーバヘッド時間Zの時間が必要なので、(Y−X−Z)が実際のタイミングマージンとなる。その時間をAとする。「バンド分割情報の生成」(4)は、次のように行う:
1.「Y−X−Z=A(s)」を計算,
2.A(s)で転送できるデータ量 「HDD転送速度(bps)×A(s)」を算出,
3.該転送できるデータ量以下で、RAM105上のデータを分割する区分情報を生成する。この区分情報によって区分される画像データ群(区分単位)を「バンド」という。
-Transfer when error-adaptive retransmission occurs in this embodiment: (c), (d) in FIG.
Let Y be the time that can actually be transferred, that is, the allocated time. Y is longer than the actual transfer time, that is, the required time X. In addition, since the overhead time Z is required when retransmitting, (YX-Z) is an actual timing margin. Let A be the time. “Generation of band division information” (4) is performed as follows:
1. Calculate “Y−X−Z = A (s)”,
2. Amount of data that can be transferred in A (s) Calculate “HDD transfer speed (bps) × A (s)”
3. The division information for dividing the data on the RAM 105 is generated below the amount of data that can be transferred. A group of image data (unit of division) divided by the division information is called “band”.

タイミングマージンAのとり方により、バンド分割の方法はことなるが、上記方法は、1プレーン転送する間に只1度しか再送が発生しないと仮定した場合の分割方法である。シリアル通信エラーの発生頻度が低い(SATA規格では、1/1012以下のビットエラーレート)ことを根拠とする。この分割は、各プレーンに適応する。先のプレーンで再送が発生しないと、後続のプレーンのタイミングマージンは実際には増えるが、バンド分割する段階では分からないので、各プレーン毎に1回の再送があることを想定してバンド分割する。 The band division method differs depending on the timing margin A, but the above method is a division method when it is assumed that retransmission occurs only once during one plane transfer. This is based on the fact that the frequency of occurrence of serial communication errors is low (in the SATA standard, the bit error rate is 1/10 12 or less). This division is adapted to each plane. If retransmission does not occur in the previous plane, the timing margin of the subsequent plane actually increases, but it is not known at the stage of band division, so band division is performed assuming that there is one retransmission for each plane. .

次にCPU101は生成した、バンド分割情報に基づいたプレーン分割によって生ずる各バンドを、RAM105から読み出してSATAに送出するDMAのための、リードDMAC31宛ての各ディスクリプタのチェーン、ならびに、SATAに送出された各バンドをHDD111に書込みするDMAのための、ライトDMAC34宛ての各ディスクリプタのチェーン、をRAM105に生成する(5)。すなわち、前述の図3に示す態様のディスクリプタを生成する。なお、本実施例では、各ディスクリプタのCONTは「0」とする。すなわち、1ブロック(バンド)転送完了毎の継続割り込みは発生させない。   Next, the CPU 101 reads out each band generated by the plane division based on the band division information generated from the RAM 105 and sends it to the SATA for each DMA chain to be sent to the SATA, and to the SATA. A chain of descriptors addressed to the write DMAC 34 for DMA for writing each band to the HDD 111 is generated in the RAM 105 (5). That is, the descriptor having the mode shown in FIG. 3 is generated. In this embodiment, the CONT of each descriptor is “0”. That is, a continuous interrupt is not generated every time one block (band) transfer is completed.

次にCPU101は、DMAC31および34の各種レジスタ(図4)に転送制御データを書き込み(6)、DMAC31および34のコントロールレジスタのEXECに1を書込む(7)。これによりDMAC31および34が起動し、RAM105からHDD111に、画像データが転送され、HDD111書き込まれる。複数のディスクリプタがチェーンしながら転送し、これにより、RAM105上の各プレーンの画像データは、ディスクリプタごとにバンドに区分される(8)。転送が完了すると、COMPLETE割り込みがCPU101に入り(9)、これに応答してCPU101は転送終了処理をする(10)。   Next, the CPU 101 writes the transfer control data in the various registers (FIG. 4) of the DMACs 31 and 34 (6), and writes 1 in the EXEC of the control registers of the DMACs 31 and 34 (7). As a result, the DMACs 31 and 34 are activated, and image data is transferred from the RAM 105 to the HDD 111 and written to the HDD 111. A plurality of descriptors are transferred while being chained, whereby the image data of each plane on the RAM 105 is divided into bands for each descriptor (8). When the transfer is completed, a COMPLETE interrupt enters the CPU 101 (9), and in response to this, the CPU 101 performs a transfer end process (10).

次にCPU101は、HDD111に格納した各プレーンの各バンドをRAM105に転送し、かつRAM105に転送した各プレーンの各バンドをプリンタ14に転送するための、各DMAC用のディスクリプタチェーンであって、図7に示すように、HDD111から各バンドをRAM105の異なった2記憶領域に交互に書き込み、その間、書込みを行っていない方の記憶領域からバンドを読み出してプリンタ14に転送する、RAM105に対してトグル読み書きのバンド転送をするディスクリプタチェーンを、RAM105上に生成して、それに基づいて、HDD111の各プレーンの各画像データを、RAM105経由でプリンタ14に転送する(11,12)。   Next, the CPU 101 is a descriptor chain for each DMAC for transferring each band of each plane stored in the HDD 111 to the RAM 105 and transferring each band of each plane transferred to the RAM 105 to the printer 14. As shown in FIG. 7, each band is alternately written from the HDD 111 to two different storage areas of the RAM 105, and during that time, the band is read from the storage area where writing has not been performed and transferred to the printer 14. A descriptor chain for performing read / write band transfer is generated on the RAM 105, and based on the descriptor chain, each image data of each plane of the HDD 111 is transferred to the printer 14 via the RAM 105 (11, 12).

図7に、上記転送(11,12)における転送パスを示す。図7では、C色を8群に分けて格納している例を示している。分けられた圧縮データの各群を、「バンド」と呼ぶ。図7では、C色のみについて記述しているが、M色、Y色、K色についても同様である。   FIG. 7 shows a transfer path in the transfer (11, 12). FIG. 7 shows an example in which the C color is divided into 8 groups and stored. Each group of divided compressed data is called a “band”. In FIG. 7, only the C color is described, but the same applies to the M, Y, and K colors.

上記HDD111からRAM105にバンド単位で画像データSdrを転送しているときに、データ受信側でCRCエラー,プロトコル違反などを検出することによる、シリアル通信エラーが発生した場合の制御を次に示す:
1.エラーが発生し、DMAC(又はハードディスクコントローラHDC他)からのエラー割り込みがCPU101に発生する;
2.DMACはエラー発生で自動停止。ディスクリプタ情報は保持し、転送量カウンタを停止させる;
3.CPU101は、DMAC(及びハードディスクコントローラHDC)のレジスタを読み、どのバンドの転送で停止したか確認する;
4.転送中のバンドの一つ前のバンドから転送するよう、再送すべきバンドのスタートアドレスをDMACにセットしてDMACを再度起動する;
5.DMACは設定されたバンドのディスクリプタを再度読み、その情報に従ってデータ転送を再開する。転送中のバンドから再送しても良いが、安全のため一つ前のバンドから再送する。HDD111をリードするDMAC33は次のディスクリプタをリードし初めているが、RAM105をライトするDMAC32は、RAM105が混雑していてまだ前のバンドを転送中というような混乱を回避するためである。
The control when a serial communication error occurs by detecting a CRC error, protocol violation, etc. on the data receiving side while transferring the image data Sdr in band units from the HDD 111 to the RAM 105 is as follows:
1. An error occurs and an error interrupt from the DMAC (or hard disk controller HDC, etc.) is generated in the CPU 101;
2. DMAC automatically stops when an error occurs. Descriptor information is retained and the transfer amount counter is stopped;
3. The CPU 101 reads the register of the DMAC (and the hard disk controller HDC) and confirms in which band the transfer is stopped;
4). Set the start address of the band to be retransmitted in the DMAC so as to transfer from the band immediately before the band being transferred;
5). The DMAC reads the set band descriptor again and resumes data transfer according to the information. Although it may be retransmitted from the band being transferred, it is retransmitted from the previous band for safety. The DMAC 33 that reads the HDD 111 starts reading the next descriptor, but the DMAC 32 that writes the RAM 105 is to avoid the confusion that the RAM 105 is congested and the previous band is still being transferred.

例えば図8に示すように、第3ディスクリプタに基づいて第3バンドの画像データSdrをRAM105に転送しているときに通信エラーによる割り込みが発生すると、CPU101は、通信エラー割り込み処理により、第3ディスクリプタの一つ前の第2ディスクリプタを転送する制御情報をDMAC33,32に再設定して、第2ディスクリプタからの転送を再開する。   For example, as illustrated in FIG. 8, when an interrupt due to a communication error occurs while transferring the third band image data Sdr to the RAM 105 based on the third descriptor, the CPU 101 performs the third descriptor by performing a communication error interrupt process. The control information for transferring the immediately preceding second descriptor is reset in the DMACs 33 and 32, and the transfer from the second descriptor is resumed.

なお、図5に示すRAM105からHDD111への、バンド区分の画像データの転送においても、通信エラーが発生すると、上述と同様に、通信エラー割り込み処理により、通信エラーを生じたときにDMACに保持するディスクリプタの一つ前のディスクリプタ(先行ディスクリプタ)を転送する制御情報をDMAC31,34に再設定して、先行ディスクリプタからの転送を再開する。   In the transfer of band-segment image data from the RAM 105 to the HDD 111 shown in FIG. 5, if a communication error occurs, the communication error interruption process holds the communication error in the DMAC as described above. The control information for transferring the descriptor immediately preceding the descriptor (preceding descriptor) is reset in the DMACs 31 and 34, and the transfer from the preceding descriptor is resumed.

上記第1実施例によれば、分割された何れかのデータ(バンド)の、通信エラーによる再送が一度だけ発生した場合、トータルの転送時間が割当て時間Y以下となるため、生産性/リアルタイム性を維持できる。SATAの規格エラー率すなわちビットエラーレートは、1/1012なので、近接するデータ転送で複数回エラーが発生することはない、すなわち、上記全データの転送の間に、2回以上の通信エラーが発生することはない、と考えられる。従って、バンド分割数を最小限に抑えることが出来る。分割数が多いとソフト上のデータ管理が煩雑となる他、DMACのディスクリプタの数も増えメモリが無駄となる。 According to the first embodiment, when any one of the divided data (bands) is retransmitted only once due to a communication error, the total transfer time is equal to or less than the allocated time Y, so that the productivity / real-time property is achieved. Can be maintained. SATA standard error rate or bit error rate, 1/10 12 So multiple error never occurs in the data transfer to be close, i.e., during transfers of the entire data, more than once a communication error It is thought that it does not occur. Therefore, the number of band divisions can be minimized. When the number of divisions is large, software data management becomes complicated, and the number of DMAC descriptors increases and memory is wasted.

第2実施例のハードウェアは、上述の第1実施例のものと同じであるが、第2実施例では、HDD111に対しては、画像データを圧縮伸張器123で圧縮符号化した圧縮データを格納する。   The hardware of the second embodiment is the same as that of the first embodiment described above. However, in the second embodiment, compressed data obtained by compressing and encoding image data by the compression / decompression unit 123 is stored in the HDD 111. Store.

図9に、パソコンPCの印刷データをプリンタ14でプリントアウトする場合の、CPU101のデータ転送制御の概要を示す。CPU101は、ネットワークLAN経由でパソコンPCから送られてきたPDLをRAM105に格納する(1)。CPU101は、ROM104のフォント変換データ(フォントROM)を用いて、RAM104にページ画像を展開(描画)して、フルカラー画像記録となる場合は、RAM104上に各色(C,M,Y,K)の画像(プレーン)を生成する(2)。そして圧縮符号化する(21)。   FIG. 9 shows an outline of data transfer control of the CPU 101 when print data of the personal computer PC is printed out by the printer 14. The CPU 101 stores the PDL sent from the personal computer PC via the network LAN in the RAM 105 (1). The CPU 101 develops (draws) a page image in the RAM 104 using the font conversion data (font ROM) of the ROM 104, and in the case of full color image recording, each color (C, M, Y, K) is stored on the RAM 104. An image (plane) is generated (2). Then, compression encoding is performed (21).

なお、ファクシミリ受信データの場合は、RAM105に受け入れてから画像データに伸張してRAM105に展開してから、圧縮符号化する(21)。複写の場合には、原稿読み取りの画像データをASIC102でプリンタ14で印刷するための画像データに変換してRAM105に読込み、そして圧縮符号化する(21)。圧縮符号化(21)以下の処理は、印刷,ファクシミリ受信出力および複写のいずれの画像形成モードでも、共通である。以下では、フルカラー画像記録となる場合を例に、圧縮符号化する(21)以下の処理を示す。図10には、圧縮符号化(21)でのデータの流れを、実線矢印で示す。   In the case of facsimile reception data, the data is received by the RAM 105, decompressed to image data, expanded into the RAM 105, and then compressed and encoded (21). In the case of copying, the original read image data is converted by the ASIC 102 into image data to be printed by the printer 14, read into the RAM 105, and compressed and encoded (21). The processing after compression encoding (21) is common to all image forming modes of printing, facsimile reception output and copying. In the following, the processing after compression encoding (21) will be described by taking the case of full color image recording as an example. In FIG. 10, the flow of data in compression encoding (21) is indicated by solid arrows.

この圧縮符号化(21)においてCPU101はまず、バンド分割情報を生成する(22)。すなわち、各プレーンの画像データのバンド区分情報を生成する。ここでは、符号データ量が、前記割当て時間Y,所要時間Xおよび通信エラーのときの通信再開に要するオーバヘッド時間Zから定まるタイミングマージンA以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切るためのバンド分割情報を生成する。   In this compression encoding (21), the CPU 101 first generates band division information (22). That is, band division information of image data of each plane is generated. Here, the code data amount is an image data amount that is equal to or less than the data amount that can be transferred within the timing margin A determined from the allocation time Y, the required time X, and the overhead time Z required for resuming communication at the time of a communication error. Band division information for dividing plane image data into bands is generated.

次にCPU101は、生成したバンド分割情報に基づいたプレーン分割によって生ずる各バンドを、RAM105から読み出して圧縮伸張器123に転送し、圧縮伸張器123が圧縮符号化した符号データをRAM105に転送するための、画像DMAC124内および圧縮伸張器123の、各リードDMACおよび各ライトDMAC宛てのディスクリプタチェーンをRAM105に生成する(23)。   Next, the CPU 101 reads out each band generated by plane division based on the generated band division information from the RAM 105 and transfers it to the compression / decompression unit 123, and transfers the code data compression-encoded by the compression / decompression unit 123 to the RAM 105. The descriptor chain for each read DMAC and each write DMAC in the image DMAC 124 and in the compression / decompression unit 123 is generated in the RAM 105 (23).

次にCPU101は、各DMACの各種レジスタに転送制御データを書き込み(24)、各DMACのコントロールレジスタのEXECに1を書込む(25)。これにより各DMACが起動し、RAM105から圧縮伸張器123に画像データがバンド単位で転送され、バンド単位で符号データに変換されて、符号データバンドがRAM105に書き込まれる(26)。複数のディスクリプタがチェーンしながら転送し、これにより、RAM105上の各プレーンの画像データは、ディスクリプタごとにバンドに区分され符号化されてRAM105に書き込まれる。転送が完了すると、COMPLETE割り込みがCPU101に入り(27)、これに応答してCPU101は転送終了処理をする(28)。   Next, the CPU 101 writes transfer control data in various registers of each DMAC (24), and writes 1 in the EXEC of the control register of each DMAC (25). As a result, each DMAC is activated, image data is transferred from the RAM 105 to the compression / decompression unit 123 in band units, converted into code data in band units, and a code data band is written in the RAM 105 (26). A plurality of descriptors are transferred while being chained, whereby the image data of each plane on the RAM 105 is divided into bands for each descriptor, encoded, and written into the RAM 105. When the transfer is completed, a COMPLETE interrupt enters the CPU 101 (27), and in response to this, the CPU 101 performs a transfer end process (28).

つぎにCPU101は、RAM105上のバンド区分の符号化データをHDD111に転送する(3B)。この内容は、図5に示すHDD111への転送(3)の中のステップ5〜10の転送制御と同様である。ただし、転送データは符号化データのバンドである。図10には、RAM105からHDD111への符号化データの流れを、点線矢印で示す。   Next, the CPU 101 transfers the band segment encoded data on the RAM 105 to the HDD 111 (3B). This content is the same as the transfer control in steps 5 to 10 in the transfer (3) to the HDD 111 shown in FIG. However, the transfer data is a band of encoded data. In FIG. 10, the flow of encoded data from the RAM 105 to the HDD 111 is indicated by dotted arrows.

上記RAM105からHDD111にバンド単位で符号化データSdwを転送しているときに、データ受信側でCRCエラー,プロトコル違反などを検出することによる、シリアル通信エラーが発生した場合、前述と同様に、CPU101は、DMAC(及びハードディスクコントローラHDC)のレジスタを読み、どのバンドの転送で停止したか確認して、転送中のバンドの一つ前のバンドから転送するように、再送すべきバンドのスタートアドレスをDMACにセットしてDMACを再起動する。DMACは設定されたバンドのディスクリプタを再度読み、その情報に従ってデータ転送を再開する。例えば図11に示すように、第3ディスクリプタに基づいて第3バンドの符号化データをHDD111に転送しているときに通信エラーによる割り込みが発生すると、CPU101は、通信エラー割り込み処理により、第3ディスクリプタの一つ前の第2ディスクリプタを転送する制御情報をDMACに再設定して、第2ディスクリプタからの転送を再開する。   When a serial communication error occurs due to detection of a CRC error, protocol violation, or the like on the data receiving side when the encoded data Sdw is being transferred from the RAM 105 to the HDD 111 in band units, the CPU 101 Reads the register of the DMAC (and the hard disk controller HDC), confirms which band has been stopped, and sets the start address of the band to be retransmitted so as to transfer from the previous band. Set to DMAC and restart DMAC. The DMAC reads the set band descriptor again and resumes data transfer according to the information. For example, as illustrated in FIG. 11, when an interrupt due to a communication error occurs when the encoded data of the third band is transferred to the HDD 111 based on the third descriptor, the CPU 101 performs the third descriptor by performing a communication error interrupt process. The control information for transferring the immediately preceding second descriptor is reset in the DMAC, and the transfer from the second descriptor is resumed.

なお、図10に矢印で示すように、RAM105から圧縮伸張器123に画像データを転送して圧縮符号化し、符号化データをRAM105に書き込んでから、RAM105からHDD111に転送する転送処理に代えて、図12に示すように、RAM105から圧縮伸張器123に画像データSdwを転送して圧縮符号化し、符号化データを圧縮伸張器123からHDD111に転送する転送処理を採用することもできる。   As indicated by arrows in FIG. 10, instead of transfer processing in which image data is transferred from the RAM 105 to the compression / decompression unit 123 and compressed and encoded, the encoded data is written in the RAM 105, and then transferred from the RAM 105 to the HDD 111. As shown in FIG. 12, it is also possible to employ a transfer process in which the image data Sdw is transferred from the RAM 105 to the compression / decompression unit 123 and compressed and encoded, and the encoded data is transferred from the compression / decompression unit 123 to the HDD 111.

再度図9を参照する。符号化データをHDD111に転送すると、CPU101は、HDD111のバンドの符号データSdrをRAM105に転送し(31)、そしてRAM105から圧縮伸張器123に転送しそこで画像データに復号化してビデオ出力VOUTを介してプリンタ14に出力する(12B)。この転送過程のデータの流れを、図13に示す。   Refer to FIG. 9 again. When the encoded data is transferred to the HDD 111, the CPU 101 transfers the code data Sdr of the band of the HDD 111 to the RAM 105 (31), and then transferred from the RAM 105 to the compression / decompressor 123, where it is decoded into image data and is decoded via the video output VOUT. To the printer 14 (12B). The flow of data in this transfer process is shown in FIG.

この転送過程のデータの流れを、図13に示す。HDD111に格納された圧縮データは、ASIC102内のDMACにより圧縮データのままRAM105に転送する(図13上の点線矢印)。この転送は、プレーン毎に順次行なう。各プレーンの転送はバンド毎に順次行う。各プレーンをRAM105に転送した時点で、各プレーン毎にASIC102内のDMACにより画像データに伸長しつつプリンタ14に出力する(図13上の実線矢印)。この転送態様は、高速機への適用を想定している。各プレーン毎にプリンタ14に出力し始めても、もしシリアル通信エラーが発生してもバンド毎に再送できるためタイミング的にプリンタ14を待たせないシステムを構築することが出来る。また、RAM105の読み書きは、RAM105の第1領域に第1バンドの画像データを書き込み、次に第1領域から第1バンドの画像データを読み出してプリンタ14に出力するのと並行してRAM105の第2領域には第2バンドの画像データを書き込み、そして次には第2領域から第2バンドの画像データを読み出してプリンタ14に出力するのと並行してRAM105の第1領域には第3バンドの画像データを書き込む、という具合に、RAM105の第1領域と第2領域の読み出しと書き込みを交互に切り換えて、RAM105の少領域を効率よく使用する、トグル方式の読み書き制御である。しかし、RAM105を、全てのデータが入る大容量メモリにして、各バンドをRAM105の異なる領域に順次に書き込むとともに、それと並行して、先に書き込んだバンドから順次にプロッタに読み出す態様にしてもよい。   The flow of data in this transfer process is shown in FIG. The compressed data stored in the HDD 111 is transferred as it is to the RAM 105 by the DMAC in the ASIC 102 (dotted line arrow in FIG. 13). This transfer is performed sequentially for each plane. Transfer of each plane is performed sequentially for each band. When each plane is transferred to the RAM 105, each plane is output to the printer 14 while being decompressed into image data by the DMAC in the ASIC 102 (solid arrow in FIG. 13). This transfer mode is assumed to be applied to a high-speed machine. Even if it starts to output to the printer 14 for each plane, even if a serial communication error occurs, it can be retransmitted for each band, so that a system that does not wait for the printer 14 at a timing can be constructed. In addition, the RAM 105 reads and writes the first band image data in the first area of the RAM 105, and then reads out the first band image data from the first area and outputs it to the printer 14 in parallel. The second band image data is written in the second area, and then the second band image data is read from the second area and output to the printer 14 in parallel with the third band in the first area of the RAM 105. This is toggle-type read / write control in which the first area and the second area of the RAM 105 are alternately switched between reading and writing and the small area of the RAM 105 is used efficiently. However, the RAM 105 may be a large-capacity memory in which all data is stored, and each band may be sequentially written in different areas of the RAM 105, and at the same time, the band written earlier may be sequentially read out to the plotter. .

上記HDD111からRAM105にバンド単位で符号化データを転送しているときに、データ受信側でCRCエラー,プロトコル違反などを検出することによる、シリアル通信エラーが発生した場合、前述と同様に、CPU101は、DMAC(及びハードディスクコントローラHDC)のレジスタを読み、どのバンドの転送で停止したか確認して、転送中のバンドの一つ前のバンドから転送するように、再送すべきバンドのスタートアドレスをDMACにセットしてDMACを再起動する。DMACは設定されたバンドのディスクリプタを再度読み、その情報に従ってデータ転送を再開する。例えば図14に示すように、第3ディスクリプタに基づいて第3バンドの符号化データをHDD111に転送しているときに通信エラーによる割り込みが発生すると、CPU101は、通信エラー割り込み処理により、第3ディスクリプタの一つ前の第2ディスクリプタを転送する制御情報をDMACに再設定して、第2ディスクリプタからの転送を再開する。   When a serial communication error occurs due to detection of a CRC error, protocol violation, etc. on the data receiving side while transferring encoded data in units of bands from the HDD 111 to the RAM 105, the CPU 101 The DMAC (and the hard disk controller HDC) register is read to confirm which band has been transferred, and the start address of the band to be retransmitted is set to DMAC so that transfer is performed from the band immediately before the band being transferred. To restart the DMAC. The DMAC reads the set band descriptor again and resumes data transfer according to the information. For example, as illustrated in FIG. 14, when an interrupt due to a communication error occurs when encoded data of the third band is transferred to the HDD 111 based on the third descriptor, the CPU 101 performs the third descriptor by performing a communication error interrupt process. The control information for transferring the immediately preceding second descriptor is reset in the DMAC, and the transfer from the second descriptor is resumed.

なお、図13に実線矢印で示すようにRAM105から圧縮伸張器123に符号データバンドを転送して画像データに復号化し画像データをビデオ出力VOUTを介してプリンタ14に出力する転送処理に代えて、圧縮伸張器123が復号化した画像データをRAM105に転送してから、RAM105からビデオ出力VOUTを介してプリンタ14に出力する転送処理を採用することもできる。   Instead of the transfer process of transferring the code data band from the RAM 105 to the compression / decompression unit 123 as shown by the solid line arrow in FIG. 13 and decoding it into image data, and outputting the image data to the printer 14 via the video output VOUT, A transfer process in which the image data decoded by the compression / decompression unit 123 is transferred to the RAM 105 and then output from the RAM 105 to the printer 14 via the video output VOUT may be employed.

第2実施例のその他の構成及び機能は、上述の第1実施例と同様である。   Other configurations and functions of the second embodiment are the same as those of the first embodiment.

第3実施例のハードウェアは第1実施例と大要では同様ではあるが、ASIC102内の、ASATA転送を行うDMAC内に、直前のレジスタ設定値を保存するバックアップレジスタと、エラー発生に応答してバックアップレジスタの保存データ(直前のレジスタ設定値)を、転送開始(再開)のレジスタに設定する機構を備える。第3実施例のCPU101とASIC102によるデータ転送形式の態様は、第2実施例と同様に、HDD111には画像データを圧縮符号化した符号データ(圧縮データ)を格納するものである。ここでも第2実施例と同様に、符号データ量が、前記割当て時間Y,所要時間Xおよび通信エラーのときの通信再開に要するオーバヘッド時間Zから定まるタイミングマージンAを用いる。   The hardware of the third embodiment is similar to that of the first embodiment, but in the DMAC that performs ASATA transfer in the ASIC 102, a backup register that stores the previous register setting value, and responds to an error occurrence. A mechanism for setting the data stored in the backup register (the previous register setting value) in the register for starting (resuming) the transfer. The data transfer format by the CPU 101 and the ASIC 102 in the third embodiment stores code data (compressed data) obtained by compressing and encoding image data in the HDD 111 as in the second embodiment. Again, as in the second embodiment, the code data amount uses the timing margin A determined from the allocation time Y, the required time X, and the overhead time Z required for restarting communication when a communication error occurs.

そして第3実施例のCPU101は、1プレーンをバンドに分割してディスクリプタチェーンに基づいてSATA転送するにおいて、N回のエラー対応の再送があっても、データ処理又は画像処理に障害を及ぼさないようにするために、つぎのように各プレーンをバンドに分割する:
1.「(Y−X−Z)/N=B(s)」を計算〔(Y−X−Z)=A〕,
2.B(s)で転送できるデータ量「HDD転送速度(bps)×B(s)」を算出,
3.該転送できるデータ量以下でRAM105の1プレーンの画像データをバンド分割してRAM105から読み出して、各バンドの画像データを圧縮符号化して、符号データを該バンドの区分で、HDD111に格納する。
In the third embodiment, the CPU 101 divides one plane into bands and performs SATA transfer based on the descriptor chain, so that even if there are N times of retransmission corresponding to an error, data processing or image processing is not hindered. To divide each plane into bands:
1. Calculate “(Y−X−Z) / N = B (s)” [(Y−X−Z) = A],
2. Calculate the amount of data that can be transferred in B (s) “HDD transfer rate (bps) × B (s)”.
3. The image data of one plane of the RAM 105 is divided into bands and read from the RAM 105 with less than the transferable data amount, the image data of each band is compressed and encoded, and the code data is stored in the HDD 111 in the band division.

尚、上記バンド分割の考え方において、DMACがバンド毎にディスクリプタをRAM105からリードする時間が発生するが、その時間が省略されている。これは、上述のように、DMACに直前のレジスタ設定値を保存するレジスタ機構により、メモリアクセスが発生しないことを想定しているためである。レジスタ設定値の保存機構が無い実施態様では、(N−1)回の、RAM105からのディスクリプタのリード時間Cを考慮し、「(Y−X−Z−C)/N=B(s)」とする。   In the above band division concept, a time for the DMAC to read the descriptor from the RAM 105 is generated for each band, but this time is omitted. This is because, as described above, it is assumed that no memory access occurs due to the register mechanism that stores the previous register setting value in the DMAC. In an embodiment without a register setting value saving mechanism, “(Y−X−Z−C) / N = B (s)” in consideration of the descriptor read time C from the RAM 105 (N−1) times. And

第3実施例のASIC102のSATA転送を行うDMACは、一つ前のディスクリプタをレジスタに保持しておき、またあるレジスタ(例えばコントロールレジスタ402)に「リトライビット」を設けており、つぎのように動作する:
1.CPU101に通信エラー割り込みが通知される。DMACは自動停止する;
2.CPU101は本来の「起動ビット」EXECの代わりに「リトライビット」に1を書く;
3.直前のディスクリプタ情報が保存されている場合は、その情報を動作用のレジスタ401にロードしDMACが起動する。直前のディスクリプタ情報が保存されていない場合(例えばエラー発生時以外であった場合)は、エラー割り込みをCPU101に発行する;
4.以降は、通常の動作と同じ。第3実施例のその他の構成及び機能は、上述の第2実施例と同様である。
The DMAC that performs the SATA transfer of the ASIC 102 of the third embodiment holds the previous descriptor in a register, and provides a “retry bit” in a certain register (for example, the control register 402). Operate:
1. The CPU 101 is notified of a communication error interrupt. DMAC automatically stops;
2. The CPU 101 writes 1 in the “retry bit” instead of the original “activation bit” EXEC;
3. If the previous descriptor information is stored, the information is loaded into the operation register 401 and the DMAC is activated. If the previous descriptor information is not stored (for example, when an error has not occurred), an error interrupt is issued to the CPU 101;
4). After that, it is the same as normal operation. Other configurations and functions of the third embodiment are the same as those of the second embodiment.

第3実施例のASIC102のSATA転送を制御するDMACは、図4に示すディスクリプタポインタレジスタ401およびネクストディスクリプタポインタ411に加えて、ディスクリプタポインタレジスタ401が表わすディスクリプタの前のディスクリプタを表わすデータを格納するアヘッドディスクリプタポインタ(412:図示せず)を備えて、通信エラーで転送を停止すると、ディスクリプタ制御回路405が、ディスクリプタポインタレジスタ401のデータをネクストディスクリプタポインタ411に書き込み、アヘッドディスクリプタポインタ412のデータをディスクリプタポインタレジスタ401に書いて、アヘッド使用レジスタに「1」を書き込んで、CPU101がEXECを1にすると、転送を起動するものである。ディスクリプタ制御回路405この転送を正常に終えるとディスクリプタ制御回路405はアヘッド使用レジスタをクリアするが、また通信エラーが発生し、アヘッド使用レジスタに「1」がある場合には、ディスクリプタポインタレジスタ401,411のデータは更新せず、CPU101がEXECを1にすると、転送を起動する。すなわち、通信エラーを生じたときのディスクリプタに基づいて、再度同一バンドの転送を再開する。   The DMAC that controls the SATA transfer of the ASIC 102 according to the third embodiment stores the data representing the descriptor preceding the descriptor represented by the descriptor pointer register 401 in addition to the descriptor pointer register 401 and the next descriptor pointer 411 shown in FIG. When the descriptor control circuit 405 has a descriptor pointer (412: not shown) and stops the transfer due to a communication error, the descriptor control circuit 405 writes the data of the descriptor pointer register 401 to the next descriptor pointer 411 and the data of the ahead descriptor pointer 412 to the descriptor pointer. Write to the register 401, write "1" to the ahead use register, and when the CPU 101 sets EXEC to 1, the transfer is started A. Descriptor control circuit 405 When this transfer ends normally, the descriptor control circuit 405 clears the ahead use register, but if a communication error occurs and the ahead use register has “1”, the descriptor pointer registers 401 and 411 When the CPU 101 sets EXEC to 1, the transfer is started. That is, the transfer of the same band is resumed again based on the descriptor when the communication error occurs.

第4実施例のその他の構成及び機能は、上述の第2実施例と同様である。   Other configurations and functions of the fourth embodiment are the same as those of the second embodiment.

第4実施例と同様に、第5実施例のASIC102のSATA転送を制御するDMACは、アヘッドディスクリプタポインタ(412:図示せず)を備えて、通信エラーで転送を停止すると、ディスクリプタ制御回路405が、ディスクリプタポインタレジスタ401のデータをネクストディスクリプタポインタ411に書き込み、アヘッドディスクリプタポインタ412のデータをディスクリプタポインタレジスタ401に書いて、エラー回数レジスタに10進数の1を書き込む。そして第5実施例では、ディスクリプタ制御回路405が、通信エラーに応答して上述のデータ更新を行うと、自動的にDMACの転送を起動する。ディスクリプタ制御回路405は、この転送を正常に終えるとディスクリプタ制御回路405はエラー回数レジスタをクリアするが、また通信エラーが発生し、エラー回数レジスタの値が1以上である場合には、ディスクリプタポインタレジスタ401,411のデータは更新せず、転送を自動起動する。すなわち、通信エラーを生じたときのディスクリプタに基づいて、再度同一バンドの転送を再開する。1プレーンの転送を完了すると、エラー回数レジスタのデータをCPU101に送出して、エラー回数レジスタを初期化する。   As in the fourth embodiment, the DMAC that controls the SATA transfer of the ASIC 102 of the fifth embodiment includes an ahead descriptor pointer (412: not shown). When the transfer is stopped due to a communication error, the descriptor control circuit 405 The data of the descriptor pointer register 401 is written to the next descriptor pointer 411, the data of the ahead descriptor pointer 412 is written to the descriptor pointer register 401, and the decimal number 1 is written to the error count register. In the fifth embodiment, when the descriptor control circuit 405 updates the data in response to a communication error, the DMAC transfer is automatically started. When the descriptor control circuit 405 normally completes this transfer, the descriptor control circuit 405 clears the error number register. However, when a communication error occurs and the value of the error number register is 1 or more, the descriptor pointer register The data 401 and 411 are not updated, and the transfer is automatically started. That is, the transfer of the same band is resumed again based on the descriptor when the communication error occurs. When the transfer for one plane is completed, the error count register data is sent to the CPU 101 to initialize the error count register.

このように第5実施例では、通信エラー割り込みはCPU101では無くDMAC自身が解釈し、以降の再送手順を自動的に行う。転送終了後、CPUにエラー発生を伝えるため、レジスタにエラー数を累積表示することが望ましい。第5実施例のその他の構成および機能は、第4実施例と同様である。   As described above, in the fifth embodiment, the communication error interrupt is interpreted not by the CPU 101 but by the DMAC itself, and the subsequent retransmission procedure is automatically performed. After the transfer is completed, it is desirable to cumulatively display the number of errors in the register in order to notify the CPU of the occurrence of the error. Other configurations and functions of the fifth embodiment are the same as those of the fourth embodiment.

本発明の第1実施例の複合機能デジタルカラー複写機の、電気系統のシステム構成を示すブロック図である。1 is a block diagram showing a system configuration of an electrical system of a multifunction digital color copier according to a first embodiment of the present invention. 図1に示すASIC102の、主に画像データ転送に関わる機能構成を示すブロック図である。FIG. 2 is a block diagram showing a functional configuration mainly relating to image data transfer of the ASIC shown in FIG. 1. 図2に示すCPU101がRAM105上に生成するDMAC用のディスクリプタチェーンを示すブロック図である。FIG. 3 is a block diagram showing a descriptor chain for DMAC generated on a RAM 105 by a CPU 101 shown in FIG. 2. (a)は、図2に示すリードDMAC31の機能構成の概要を示すブロック図、(b)および(c)は、(a)に示すレジスタ401に格納するデータ名を示すブロック図である。(A) is a block diagram showing an outline of a functional configuration of the read DMAC 31 shown in FIG. 2, and (b) and (c) are block diagrams showing data names stored in a register 401 shown in (a). 図2に示すCPU101がASIC102を用いて行う、「印刷」時の画像データ転送制御の概要を示すフローチャートである。3 is a flowchart showing an outline of image data transfer control at the time of “printing” performed by the CPU 101 shown in FIG. 図2に示すCPU101がバンド分割に用いる時間パラメータX,Y,ZおよびZの長さを模式的に示すタイムチャートであり、横軸が時間軸である。2 is a time chart schematically showing the lengths of time parameters X, Y, Z and Z used by the CPU 101 for band division, and the horizontal axis is the time axis. 図5に示す「RAM105に転送」(11)と「プリンタ14への転送」(12)によってプリンタ14に転送される画像データの流れ(実線矢印)を示すブロック図である。FIG. 6 is a block diagram showing a flow (solid arrow) of image data transferred to the printer 14 by “transfer to RAM 105” (11) and “transfer to printer 14” (12) shown in FIG. 5; 図7に示す転送で、第3バンド転送中に通信エラーが発生した場合に、第2バンド用のディスクリプタを用いて再転送を開始する過程を示すブロック図である。FIG. 8 is a block diagram illustrating a process of starting retransfer using a second band descriptor when a communication error occurs during the third band transfer in the transfer illustrated in FIG. 7. 第2実施例のCPU101が第2実施例のASIC102を用いて行う、「印刷」時の画像データ転送制御の概要を示すフローチャートである。12 is a flowchart showing an outline of image data transfer control during “printing” performed by the CPU 101 of the second embodiment using the ASIC 102 of the second embodiment. 図9に示す「符号化」(21)および「HDD111に転送」(3B)による転送データの流れを示すブロック図である。FIG. 10 is a block diagram showing a flow of transfer data by “encoding” (21) and “transfer to HDD 111” (3B) shown in FIG. 9; 図10に示す転送で、第3バンド転送中に通信エラーが発生した場合に、第2バンド用のディスクリプタを用いて再転送を開始する過程を示すブロック図である。FIG. 11 is a block diagram illustrating a process of starting retransfer using a second band descriptor when a communication error occurs during the third band transfer in the transfer illustrated in FIG. 10. 図10に示す転送の1変形態様を示すブロック図である。FIG. 11 is a block diagram showing a variation of the transfer shown in FIG. 10. 図9に示す「RAM105に転送」(31)および「復号化とプリンタ14への転送」(12B)による転送データの流れを示すブロック図である。FIG. 10 is a block diagram showing a flow of transfer data by “transfer to RAM 105” (31) and “decryption and transfer to printer 14” (12B) shown in FIG. 9; 図13に示す転送で、第3バンド転送中に通信エラーが発生した場合に、第2バンド用のディスクリプタを用いて再転送を開始する過程を示すブロック図である。FIG. 14 is a block diagram illustrating a process of starting retransfer using a second band descriptor when a communication error occurs during the third band transfer in the transfer illustrated in FIG. 13. 従来のフルカラー各プレーンの符号データをHDDから読み出してRAM105経由で、プレーン単位で、圧縮伸張器CEPに転送してそこで画像データに復号化してから、プリンタ14に出力するデータ転送の流れを示すブロック図である。A block showing a flow of data transfer for reading the code data of each conventional full-color plane from the HDD, transferring it to the compression / decompression unit CEP via the RAM 105 in units of planes, decoding the image data there, and then outputting to the printer 14 FIG. 図15に示すデータ転送において、1プレーンMの転送中に通信エラーを生じ、これに応じて再度1プレーンMから転送を再開する場合の、各プレーン転送時間を示すタイムチャートであり、横軸が時間軸である。In the data transfer shown in FIG. 15, a communication error occurs during transfer of one plane M, and when the transfer is restarted from one plane M in response to this, the time chart showing each plane transfer time is shown. It is a time axis.

符号の説明Explanation of symbols

10:スキャナ
14:プリンタ
20:操作ボード
101:CPU
102:コントローラASIC
103:ICカードI/F
104:ROM
105:RAM
106:HDDI/F
107:操作部I/F
108:エンジンI/F
109:ネットワークI/F
110:ICカード
111:HDD
FCU:ファクシミリコントロールユニット
PN:電話回線
PC:ホスト(パソコン)
10: Scanner 14: Printer 20: Operation board 101: CPU
102: Controller ASIC
103: IC card I / F
104: ROM
105: RAM
106: HDD I / F
107: Operation unit I / F
108: Engine I / F
109: Network I / F
110: IC card 111: HDD
FCU: Facsimile control unit PN: Telephone line PC: Host (PC)

Claims (20)

割当て時間内に所要時間で転送できる量の全データをDMACにより転送する場合に、
前記割当て時間,所要時間および通信エラーのときの通信再開に要するオーバヘッド時間から定まるタイミングマージン以内で転送し得るデータ量以下のバンドに区切ってデータを転送し、通信エラーが発生するとそのとき転送中のバンド又はその直前のバンドから転送を再開する、ことを特徴とするデータ転送制御方法。
When all the data that can be transferred in the required time within the allocated time is transferred by DMAC,
Data is transferred divided into bands that are less than or equal to the amount of data that can be transferred within the timing margin determined from the allocation time, the required time, and the overhead time required for resuming communication at the time of communication error. A data transfer control method, wherein transfer is resumed from a band or a band immediately before.
前記全データ転送の通信エラー発生回数の許容設定値をNとすると、前記タイミングマージン/N以内で転送し得るデータ量以下のバンドに区切ってデータを転送し、通信エラーが発生するとそのとき転送中のバンド又はその直前のバンドから転送を再開する、請求項1に記載のデータ転送制御方法。   If the allowable setting value of the number of occurrences of communication errors in all data transfer is N, data is transferred in a band equal to or less than the amount of data that can be transferred within the timing margin / N, and if a communication error occurs, transfer is in progress The data transfer control method according to claim 1, wherein the transfer is resumed from the previous band or the band immediately preceding it. 前記全データは1プレーンの画像データであり、前記DMACによる転送は、シリアルATAを用いる通信である、請求項1または2に記載のデータ転送制御方法。   3. The data transfer control method according to claim 1, wherein the all data is image data of one plane, and the transfer by the DMAC is communication using serial ATA. 1プレーンの画像データを圧縮符号化した、割当て時間内に所要時間で転送できる量の全符号データをDMACにより転送する場合に、
符号データ量が、前記割当て時間,所要時間および通信エラーのときの通信再開に要するオーバヘッド時間から定まるタイミングマージン以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化し、これによって生成した符号データのバンドを転送し、通信エラーが発生するとそのとき転送中の符号データのバンド又はその直前のバンドから転送を再開する、ことを特徴とするデータ転送制御方法。
When transferring all the encoded data in an amount that can be transferred in the required time within the allocated time, by compressing and encoding the image data of one plane,
The amount of code data is the amount of image data that is less than or equal to the amount of data that can be transferred within the timing margin determined from the allocation time, the required time, and the overhead time required for restarting communication in the event of a communication error. Decode and compress and encode into code data for each band, transfer the band of code data generated by this, and when a communication error occurs, restart the transfer from the band of code data being transferred at that time or the band immediately preceding it A data transfer control method characterized by the above.
前記全符号データ転送の通信エラー発生回数の許容設定値をNとすると、前記タイミングマージン/N以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化し、これによって生成した符号データのバンドを転送し、通信エラーが発生するとそのとき転送中の符号データのバンド又はその直前のバンドから転送を再開する、請求項4に記載のデータ転送制御方法。   When the allowable setting value of the number of occurrences of communication errors in all code data transfer is N, the image data amount of one plane is divided into bands with an image data amount equal to or less than the data amount that can be transferred within the timing margin / N. The code data is compressed and encoded each time, and the band of the code data generated thereby is transferred. When a communication error occurs, the transfer is restarted from the band of the code data currently being transferred or the band immediately preceding it. The data transfer control method described. 前記DMACによる転送は、シリアルATAを用いる通信である、請求項4または5に記載のデータ転送制御方法。   6. The data transfer control method according to claim 4, wherein the transfer by the DMAC is communication using serial ATA. データの転送先又は転送元は、HDDである、請求項1乃至6のいずれか1つに記載のデータ転送制御方法。   The data transfer control method according to claim 1, wherein a data transfer destination or transfer source is an HDD. 再送を開始するバンドは、通信エラーを検出したバンドの一つ前のバンドである、請求項1乃至7のいずれか1つに記載のデータ転送制御方法。   The data transfer control method according to any one of claims 1 to 7, wherein a band from which retransmission is started is a band immediately before a band in which a communication error is detected. 転送対象データ群に関する割当て時間,所要時間および通信エラーのときの通信再開に要するオーバヘッド時間、から定まるタイミングマージン以内で転送し得るデータ量以下のバンドに、前記転送対象データ群を区切るためのディスクリプタチェーンをメモリ上に構成する管理情報生成手段;および、
前記ディスクリプタチェーンにもとづいて前記バンドの区分ごとに転送対象データ群を転送し、該転送の間に通信エラーを生じると、そのとき転送中のバンド又はその直前のバンドからの転送を再開するDMAC;
を備えるデータ転送制御装置。
Descriptor chain for dividing the transfer target data group into a band that is less than or equal to the amount of data that can be transferred within a timing margin determined from the allocated time, required time for the transfer target data group, and the overhead time required for restarting communication in the event of a communication error Management information generating means for configuring the memory on the memory; and
A DMAC that transfers a transfer target data group for each of the band sections based on the descriptor chain, and resumes transfer from the band that is being transferred at that time or the band immediately before it when a communication error occurs during the transfer;
A data transfer control device comprising:
前記管理情報生成手段は、前記転送対象データ群転送の通信エラー発生回数の許容設定値をNとすると、前記タイミングマージン/N以内で転送し得るデータ量以下のバンドに、前記転送対象データ群を区切るためのディスクリプタチェーンをメモリ上に構成する、請求項9に記載のデータ転送制御装置。   The management information generation means assigns the transfer target data group to a band that is less than or equal to the amount of data that can be transferred within the timing margin / N, where N is the allowable setting value of the number of occurrences of communication errors in the transfer target data group transfer. The data transfer control device according to claim 9, wherein a descriptor chain for delimiting is configured on a memory. 前記転送対象データ群は1プレーンの画像データであり、前記DMACは、シリアルATAを用いて転送する、請求項9または10に記載のデータ転送制御装置。   The data transfer control device according to claim 9 or 10, wherein the transfer target data group is image data of one plane, and the DMAC transfers using serial ATA. 符号データ量が、前記割当て時間,所要時間および通信エラーのときの通信再開に要するオーバヘッド時間から定まるタイミングマージン以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化する手段;
前記符号データのバンドを転送するためのディスクリプタチェーンをメモリ上に構成する管理情報生成手段;および、
前記ディスクリプタチェーンにもとづいて前記符号データのバンドを転送し、該転送の間に通信エラーを生じると、そのとき転送中のバンド又はその直前のバンドからの転送を再開するDMAC;
を備えるデータ転送制御装置。
The amount of code data is the amount of image data that is less than or equal to the amount of data that can be transferred within the timing margin determined from the allocation time, the required time, and the overhead time required for restarting communication in the event of a communication error. Means for compressing and coding into code data for each band by dividing;
Management information generating means for configuring a descriptor chain on the memory for transferring the band of code data; and
DMAC which transfers the band of the code data based on the descriptor chain and resumes transfer from the band being transferred at that time or the band immediately before it when a communication error occurs during the transfer;
A data transfer control device comprising:
前記1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化する手段は、全バンドの前記転送の完了の間の通信エラー発生回数の許容設定値をNとすると、前記符号データのバンドがタイミングマージン/N以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化する、請求項12に記載のデータ転送制御装置。   The means for compressing and encoding the one-plane image data into bands and compressing the encoded data into code data for each band, where N is the allowable setting value for the number of occurrences of communication errors during the completion of the transfer for all bands, The data according to claim 12, wherein one band of image data is compressed into encoded data for each band by dividing the image data of one plane into bands with an image data amount equal to or less than a data amount that can be transferred within a timing margin / N. Transfer control device. 前記DMACは、シリアルATAを用いる通信で転送する、請求項12または13に記載のデータ転送制御装置。   The data transfer control device according to claim 12 or 13, wherein the DMAC transfers data by communication using serial ATA. 前記DMACが再送を開始するバンドは、通信エラーを検出したバンドの一つ前のバンドである、請求項9乃至14のいずれか1つに記載のデータ転送制御装置。   The data transfer control device according to any one of claims 9 to 14, wherein a band from which the DMAC starts retransmission is a band immediately before a band in which a communication error is detected. 前記DMACは、転送中のディスクリプタより1つ前のディスクリプタの情報を保持するレジスタを持ち、通信エラーが発生したときは、前記管理情報生成手段の再転送指示に応答して、該1つ前のディスクリプタに基づいてバンドの転送を再開する、請求項9乃至15のいずれか1つに記載のデータ転送制御装置。   The DMAC has a register for holding information on a descriptor immediately preceding the descriptor being transferred. When a communication error occurs, the DMAC responds to a retransfer instruction from the management information generation means in response to the previous transfer instruction. The data transfer control device according to any one of claims 9 to 15, wherein the transfer of the band is resumed based on the descriptor. 前記DMACは、転送中のディスクリプタより1つ前のディスクリプタの情報を保持するレジスタを持ち、通信エラーが発生したときは、自起動で該1つ前のディスクリプタに基づいてバンドの転送を再開する、請求項9乃至15のいずれか1つに記載のデータ転送制御装置。   The DMAC has a register for holding information on a descriptor immediately before the descriptor being transferred. When a communication error occurs, the DMAC restarts band transfer based on the previous descriptor by self-activation. The data transfer control device according to any one of claims 9 to 15. 1以上のプレーンの画像データを格納できる一次記憶手段;
1以上のプレーンの画像データを格納できる二次記憶手段;
画像出力手段;
前記一次記憶手段の画像データを前記二次記憶手段に転送する、請求項9乃至11のいずれか1つに記載のデータ転送制御装置;および、
前記二次記憶手段に転送したバンド区分の画像データを前記一次記憶手段を介して前記画像出力手段に転送する手段;
を備える画像形成装置。
Primary storage means capable of storing image data of one or more planes;
Secondary storage means capable of storing image data of one or more planes;
Image output means;
The data transfer control device according to any one of claims 9 to 11, wherein the image data of the primary storage means is transferred to the secondary storage means; and
Means for transferring the image data of the band section transferred to the secondary storage means to the image output means via the primary storage means;
An image forming apparatus comprising:
1以上のプレーンの画像データを格納できる一次記憶手段;
1以上のプレーンの画像データの符号データを格納できる二次記憶手段;
前記一次記憶手段の画像データをバンド区分で符号化して前記二次記憶手段に格納する、請求項12乃至14のいずれか1つに記載のデータ転送制御装置;および、
前記二次記憶手段に転送したバンド区分の符号データを前記一次記憶手段に転送し、該一次記憶手段から読み出して画像データに復号化して前記画像出力手段に転送する手段;
を備える画像形成装置。
Primary storage means capable of storing image data of one or more planes;
Secondary storage means capable of storing code data of image data of one or more planes;
The data transfer control device according to any one of claims 12 to 14, wherein the image data of the primary storage means is encoded by band division and stored in the secondary storage means;
Means for transferring the code data of the band section transferred to the secondary storage means to the primary storage means, reading out from the primary storage means, decoding it into image data, and transferring it to the image output means;
An image forming apparatus comprising:
前記二次記憶手段はHDDである、請求項18または19に記載の画像形成装置。
The image forming apparatus according to claim 18, wherein the secondary storage unit is an HDD.
JP2006128229A 2006-05-02 2006-05-02 Data transfer control method, apparatus, and image forming apparatus Expired - Fee Related JP5004322B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006128229A JP5004322B2 (en) 2006-05-02 2006-05-02 Data transfer control method, apparatus, and image forming apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006128229A JP5004322B2 (en) 2006-05-02 2006-05-02 Data transfer control method, apparatus, and image forming apparatus

Publications (2)

Publication Number Publication Date
JP2007299304A true JP2007299304A (en) 2007-11-15
JP5004322B2 JP5004322B2 (en) 2012-08-22

Family

ID=38768729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006128229A Expired - Fee Related JP5004322B2 (en) 2006-05-02 2006-05-02 Data transfer control method, apparatus, and image forming apparatus

Country Status (1)

Country Link
JP (1) JP5004322B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015046050A (en) * 2013-08-28 2015-03-12 京セラドキュメントソリューションズ株式会社 Communication device and communication method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09186739A (en) * 1995-12-28 1997-07-15 Toshiba Corp Packet communication system and packet communication control method
JPH10260800A (en) * 1997-03-18 1998-09-29 Fuji Xerox Co Ltd Image processor
JP2003110565A (en) * 2001-10-01 2003-04-11 Minolta Co Ltd Communication system, transmitter, communication method, communication program, and computer readable recording medium recording the same program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09186739A (en) * 1995-12-28 1997-07-15 Toshiba Corp Packet communication system and packet communication control method
JPH10260800A (en) * 1997-03-18 1998-09-29 Fuji Xerox Co Ltd Image processor
JP2003110565A (en) * 2001-10-01 2003-04-11 Minolta Co Ltd Communication system, transmitter, communication method, communication program, and computer readable recording medium recording the same program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015046050A (en) * 2013-08-28 2015-03-12 京セラドキュメントソリューションズ株式会社 Communication device and communication method

Also Published As

Publication number Publication date
JP5004322B2 (en) 2012-08-22

Similar Documents

Publication Publication Date Title
JP4035173B2 (en) Control apparatus and control method
US7130072B2 (en) Multifunction system, image processing method, computer program and memory medium
US7145681B2 (en) Apparatus and method for processing divided image data
US6785424B1 (en) Encoding method and apparatus for compressing a data structure having two or more dimensions, decoding method, and storage medium
US9134785B2 (en) Information processing apparatus with power saving mode, and control method and communication apparatus therefor
JP4928497B2 (en) Image processing apparatus, image processing method, image processing program, and storage medium
US7814251B2 (en) DMA transfer control system that performs data decode and data transfer and that generates a no operation (NOP) interrupt signal to end the DMA transfer processing in response to a NOP designation
JP5004322B2 (en) Data transfer control method, apparatus, and image forming apparatus
JP6833491B2 (en) Information processing device
JP2002314763A (en) Controller for color copying machine
JP6439399B2 (en) Image processing apparatus, data processing method, and computer program
JP2012070304A (en) Image processor, data processing method for image processor, and program
JP2004357154A (en) Data processing unit
JP2009006570A (en) Printer
JP2005197960A (en) Image processor and image processing program
JP2005107818A (en) Arbitration device and image forming device using it
JP4896051B2 (en) Image forming apparatus, image forming method, and program
JP3279736B2 (en) Image communication device
JP4046008B2 (en) Data processing device
JP2003234910A (en) Multifunction system
JPH11341241A (en) Picture processor
JP2006056170A (en) Image forming device
JP2007008078A (en) Printer system
JP2006229306A (en) Image processing apparatus
JP2005191856A (en) Image processor and image data transferring method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111124

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120521

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120521

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

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5004322

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees