JP5004322B2 - データ転送制御方法,装置および画像形成装置 - Google Patents

データ転送制御方法,装置および画像形成装置 Download PDF

Info

Publication number
JP5004322B2
JP5004322B2 JP2006128229A JP2006128229A JP5004322B2 JP 5004322 B2 JP5004322 B2 JP 5004322B2 JP 2006128229 A JP2006128229 A JP 2006128229A JP 2006128229 A JP2006128229 A JP 2006128229A JP 5004322 B2 JP5004322 B2 JP 5004322B2
Authority
JP
Japan
Prior art keywords
data
transfer
transferred
band
image data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006128229A
Other languages
English (en)
Other versions
JP2007299304A (ja
Inventor
田 泰 治 萩
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/ja
Publication of JP2007299304A publication Critical patent/JP2007299304A/ja
Application granted granted Critical
Publication of JP5004322B2 publication Critical patent/JP5004322B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、データ転送制御に関し、例えばSATA(Serial AT Attachment)など、シリアル通信データをDMA(Direct Memory Access)でメモリに転送するデータ転送制御方法,装置および画像形成装置に関する。本発明は例えば、複写機,プリンタ,PC(Personal Computer:パソコン),ハードディスクレコーダ、及び、その他のSATAを利用するデバイス、に使用できる。
特開2000−298640号公報。
特許文献1には、DMAC(Direct Memory Access Controller)の基本的な構成および動作に関する記載がある。複数バンドに分かれた画像データをDMACでチェーンしながら転送する方法は、特許文献1およびその他の特許文献などにより周知である。さらに特許文献1では、バンド毎の転送完了時に継続割り込みを発生して次バンドの転送を開始する方法を記載している。
ところで、シリアルデータ通信は、パラレルデータ通信と比較して伝送速度を高速化することができる反面、伝送路における通信エラーが発生しやすいため、エラー発生時の再送制御が必須となる。特にシリアルATA(Serial AT Attachment:SATA)では、通信エラーが発生した際には、データのみの再送ではなくコマンドの再発行が必要であるため、一般にソフトが介在して再送制御を行う。
図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を参照する。
−正常時(シリアル通信エラーが発生しなかった時):図16の(a)−
1.印字要求があると、ASIC102内のDMACを用いて各プレーンのデータをHDD111からメモリ105に転送する;
2.各プレーンの転送完了毎に、ビデオ出力(符号を画像データに伸張しつつ、VOUT,プリンタ14へ出力)を起動する。図16の(a)では、C色(シアン),M色(マゼンダ),Y色(イエロー),K色(ブラック)を順次メモリに転送し、メモリへの転送が完了すると直ちにそのプレーンのビデオ出力を起動している。
−異常時(シリアル通信エラーが発生した時):図16の(b)−
1.印字要求があると、ASIC102内のDMACを用いて各プレーンのデータをHDD111からメモリ105に転送する;
2.C色の、上記1.の転送が完了した時点でC色のビデオ出力を起動する;
3.例として、M色転送中にHDD111のシリアル通信エラーが発生したとすると;
4.M色の転送を中断し、M色の先頭から再送(再転送)を行なう;
5.プリンタ14は、C色のデータを引き取り印刷を開始し始めているが、M色のデータが来ないので異常画像となる。システムによってはエラーによる印刷中止になる。
これまでの説明は、以下を前提としている:
・プリンタ14側には各プレーンの画像を格納するだけのメモリを持たない;
・HDD111からメモリ105へDMA転送するのは、1プレーン単位。これは、従来のパラレルATAを用いるHDD111では通信エラーを想定していないためである。
従来の複写機またはプリンタのSATAによるデータ転送制御では、SATA−メモリ間のデータ転送をDMAで行う際、1ページ分の画像データを一つの連続した符号として扱っているため、再送が発生する最悪のケースでは、1ページ転送するのに2ページ分の時間を要すことになり、機器の生産性が低下する。また、例えばカラー画像の場合は、図15に示したように、1ページあたり4プレーン(4色)のデータを所定の時間内に転送する必要がある。機器の生産性を上げるため、4プレーン分のデータをメモリに転送し終えるのを待たずに、先行して画像をプリンタに出力し始める制御を行う場合、再送が発生して後続のプレーンのメモリ転送が遅れると、所定の時間内にプリンタへの転送が終了せず異常画像を引き起す。そこで、再送が発生しても安全にかつ高生産性を期待できるシステムが必要である。
本発明は、通信エラーが発生した場合のデータ転送の遅れを低減することを目的とする。
(1)割当て時間(Y)内に所要時間(X)で転送できる量の全データをDMAコントローラにより転送する場合に、
前記割当て時間(Y),所要時間(X)および通信エラーのときの通信再開に要するオーバヘッド時間(z)から定まるタイミングマージン(A)以内で転送し得るデータ量以下のバンドに区切ってデータを転送し、通信エラーが発生するとそのとき転送中のバンドから転送を再開する、ことを特徴とするデータ転送制御方法。
なお、理解を容易にするために括弧内には、図面に示し後述する実施例の対応要素又は対応事項の符号を、例示として参考までに付記した。以下も同様である。
バンド分割することで、バンド毎の再送となり、また通信エラー発生時に転送中のバンドから転送を開始するので、再送時の時間ロスが低減する。
(2)前記全データ転送の通信エラー発生回数の許容設定値をNとすると、前記タイミングマージン(A)/N以内で転送し得るデータ量以下のバンドに区切ってデータを転送し、通信エラーが発生するとそのとき転送中のバンドから転送を再開する、上記(1)に記載のデータ転送制御方法。
分割された何れかのデータの再送がN回だけ発生した場合でも、トータルの転送時間がY以下となるため、生産性/リアルタイム性を維持することができる。
(3)前記全データは1プレーンの画像データであり、前記DMAコントローラによる転送は、シリアルATAを用いる通信である、上記(1)または(2)に記載のデータ転送制御方法。
(4)1プレーンの画像データを圧縮符号化した、割当て時間(Y)内に所要時間(X)で転送できる量の全符号データをDMAコントローラにより転送する場合に、
符号データ量が、前記割当て時間(Y),所要時間(X)および通信エラーのときの通信再開に要するオーバヘッド時間(z)から定まるタイミングマージン(A)以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化し、これによって生成した符号データのバンドを転送し、通信エラーが発生するとそのとき転送中の符号データのバンドから転送を再開する、ことを特徴とするデータ転送制御方法。
(5)前記全符号データ転送の通信エラー発生回数の許容設定値をNとすると、前記タイミングマージン(A)/N以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化し、これによって生成した符号データのバンドを転送し、通信エラーが発生するとそのとき転送中の符号データのバンドから転送を再開する、上記(4)に記載のデータ転送制御方法。
(6)前記DMAコントローラによる転送は、シリアルATAを用いる通信である、上記(4)または(5)に記載のデータ転送制御方法。
(7)データの転送先又は転送元は、HDDである、上記(1)乃至(6)のいずれか1つに記載のデータ転送制御方法。
)転送対象データ群に関する割当て時間(Y),所要時間(X)および通信エラーのときの通信再開に要するオーバヘッド時間(z)、から定まるタイミングマージン(A)以内で転送し得るデータ量以下のバンドに、前記転送対象データ群を区切るためのディスクリプタチェーンをメモリ上に構成する管理情報生成手段(101);および、
前記ディスクリプタチェーンにもとづいて前記バンドの区分ごとに転送対象データ群を転送し、該転送の間に通信エラーを生じると、そのとき転送中のバンドからの転送を再開するDMAコントローラ
を備えるデータ転送制御装置。
)前記管理情報生成手段(101)は、前記転送対象データ群転送の通信エラー発生回数の許容設定値をNとすると、前記タイミングマージン(A)/N以内で転送し得るデータ量以下のバンドに、前記転送対象データ群を区切るためのディスクリプタチェーンをメモリ上に構成する、上記()に記載のデータ転送制御装置。
10)前記転送対象データ群は1プレーンの画像データであり、前記DMAコントローラは、シリアルATAを用いて転送する、上記()または()に記載のデータ転送制御装置。
11)符号データ量が、前記割当て時間(Y),所要時間(X)および通信エラーのときの通信再開に要するオーバヘッド時間(z)から定まるタイミングマージン(A)以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化する手段;
前記符号データのバンドを転送するためのディスクリプタチェーンをメモリ上に構成する管理情報生成手段(101);および、
前記ディスクリプタチェーンにもとづいて前記符号データのバンドを転送し、該転送の間に通信エラーを生じると、そのとき転送中のバンドからの転送を再開するDMAコントローラ
を備えるデータ転送制御装置。
12)前記1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化する手段は、全バンドの前記転送の完了の間の通信エラー発生回数の許容設定値をNとすると、前記符号データのバンドがタイミングマージン(A)/N以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化する、上記(11)に記載のデータ転送制御装置。
13)前記DMAコントローラは、シリアルATAを用いる通信で転送する、上記(11)または(12)に記載のデータ転送制御装置。
14)1以上のプレーンの画像データを格納できる一次記憶手段(105);
1以上のプレーンの画像データを格納できる二次記憶手段(111);
画像出力手段(14);
前記一次記憶手段(105)の画像データを前記二次記憶手段(111)に転送する、上記(8)乃至(10)のいずれか1つに記載のデータ転送制御装置;および、
前記二次記憶手段(111)に転送したバンド区分の画像データを前記一次記憶手段(105)を介して前記画像出力手段(14)に転送する手段(101,102);
を備える画像形成装置。
15)1以上のプレーンの画像データを格納できる一次記憶手段(105);
1以上のプレーンの画像データの符号データを格納できる二次記憶手段(111);
画像出力手段(14);
前記一次記憶手段(105)の画像データをバンド区分で符号化して前記二次記憶手段(111)に格納する、上記(11)乃至(13)のいずれか1つに記載のデータ転送制御装置;および、
前記二次記憶手段(111)に転送したバンド区分の符号データを前記一次記憶手段(105)に転送し、該一次記憶手段(105)から読み出して画像データに復号化して前記画像出力手段(14)に転送する手段(101,102);
を備える画像形成装置。
16)前記二次記憶手段はHDD(111)である、上記(14)又は(15)に記載の画像形成装置。
本発明の他の目的および特徴は、図面を参照した以下の実施例の説明より明らかになろう。
図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は、画像や圧縮後の符号を格納するための一次記憶装置でもある。
操作表示ボード20は、テンキー,スタートキー,ストップキーおよびファンクションキー等の各種操作キーを備えると共に、ディスプレイ(液晶ディスプレイ)を備えており、各操作キーによりユーザ指示を入力しディスプレイに表示することができる。ディスプレイにはまた、複写機の状態、および、PCやファクシミリからの通知が表示される。
ファクシミリ制御ユニットFCUには、電話回線PNが接続され、相手ファクシミリ装置との間でファクシミリ制御信号を交換して、ファクシミリ通信手順を実行するとともに、網制御部やモデム等を備え、その網制御部により、自動発・着呼処理を行い、また、そのモデムにより、送・受信信号の変・復調処理を行う。ファクシミリ制御ユニットFCUは、上述のように、ファクシミリ通信時、相手ファクシミリ装置との間で、ファクシミリ制御信号を交換して、ファクシミリ通信手順を実行するが、特に、受信時に自機の機能を相手先(送信側ファクシミリ装置)に通知するファクシミリ制御信号に、プリンタ14,符号化・復号化等の、各種機能を備えている旨を付加して、相手先に送信する。ネットワークインターフェイス(ネットワーク I/F)109には、LAN(Local Area Network)を介してPC(Personal Computer)等の情報処理装置が接続され、ネットワーク I/F 109は、PC等との間で書画情報の授受を行って、特に、HDD111に蓄積されている書画情報をPCに転送して、PCでの画情報の利用を可能としている。PCは、図1に示す複写機に対して、印字命令出力,スキャナデータの引き取りを行う。HDD111は、画像や圧縮後の符号を格納するための二次記憶装置である。
ASIC102は、HDD111に対するデータの読み書きを行うものであり、圧縮伸張器およびDMACを内蔵し、CPU転送、DMA転送を制御する。
図2に、ASIC102に構成された機能要素の概要を示す。このASIC102は、RAM105に格納された画像データを圧縮伸張器123で圧縮(符号化)してHDD111に蓄積、及び、HDD111に蓄積された符号(圧縮データ)を圧縮伸張器で画像データに伸張してRAM105に展開することが可能な構成にしたものである。なお、HDD111には、圧縮された符号のみならず、非圧縮の画像データそのものを格納することもでき、ASIC102は、圧縮伸張器123の圧縮,伸張をバイパスして画像データのままRAM105/HDD111間ならびにエンジン(スキャナ10,プリンタ14)/HDD111間のデータ転送を行うこともできる。
システム制御部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に書込む。
圧縮伸張器123内にも、上述のデータ転送を圧縮伸張器123で行うDMACがある(図8)。また、圧縮伸張器123には、ラインメモリ126が接続されている。一般に、ラインメモリは1ライン又は数ライン分の画像データを蓄積するために使用される。ラインメモリを使用するケースとしては、以下のような理由がある:
1)圧縮伸張の方式が、前ラインを参照する2次元圧縮方式であるとき,
2)圧縮伸張器が、1ラインの画像をスキャンして最適な圧縮方式、または内部パラメータを選択するとき,
3)外部I/Fとの速度的なボトルネックの解消など。
DMAを行う前に、CPU101がRAM105に、各DMAC宛てのディスクリプタを用意する。図3に、RAM105上にDMAC31宛ての2つのディスクリプタ610,620を生成した態様を示す。図3に示すようにディスクリプタを2つ生成したとすると、第1のディスクリプタ610のネクストディスクリプタポインタレジスタ611(メモリの1領域:1つのレジスタ)には、第2のディスクリプタ620の先頭アドレスが格納されている。
第2のディスクリプタ620の転送元アドレスレジスタ612のデ−タは、バッファメモリ630の先頭のアドレスを示す。バッファメモリ630には転送すべきデータが格納されている。第1のディスクリプタ610の転送バイト数レジスタ613には、バッファメモリ630に格納されたデータのうち、転送すべきバイト数が格納されている。第1のディスクリプタ610のモードワードレジスタ614の、最下位ビットすなわちビットNo.0には、この第1のディスクリプタ610で示される転送が終了したら、割り込みを発生するかどうかをきめるフラグデ−タCONTが存在し、これが「1」のとき、DMAC31が割り込み信号を発生する。
同様に、第2のディスクリプタ620に示されるネクストディスクリプタポインタレジスタ621には、もし、あれば第3のディスクリプタの先頭アドレスが格納されるが、図示例では、第2のディスクリプタ620は最後のディスクリプタなので、終了であることをDMAC31に教えるために、「0」が格納される。第2のディスクリプタ620の転送元アドレスレジスタ622はバッファメモリ640の先頭アドレスを示し、バッファメモリ640には転送すべきデータが格納されている。第2のディスクリプタ620の転送バイト数レジスタ623にはバッファメモリ640に格納されたデータのうち、転送すべきバイト数が格納されている。第2のディスクリプタ620のモードワードレジスタ624には、何も設定されていない。
最終ディスクリプタの前のディスクリプタ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」に設定されているディスクリプタの示す転送が完了したら、割り込みを発生することを許可することを示す。
図4の(a)に、DMAC31の構成を示す。ディスクリプタポインタレジスタ401は、RAMメモリ600上に格納されたディスクリプタ(610/620)の先頭アドレスを格納するためのレジスタである。コントロールレジスタ402は、CPU101からDMA動作開始の指示をうけるためのレジスタである。アドレスレジスタ403は、ディスクリプタが保持する転送元アドレスを格納するものであり、転送カウンタ409は実際の転送バイト数をカウントするカウンタである。転送バイト数レジスタ410はディスクリプタで示される転送バイト数を格納するためのレジスタである。
DMA転送制御回路404は、アドレスレジスタ403の転送元アドレスと転送カウンタ409のカウント値(転送済バイト数)の和で示されるアドレスのメモリをアクセスし、実際の転送を行う回路である。モードレジスタ406はディスクリプタのモードワードレジスタ614,624のデ−タを格納するためのレジスタである。ディスクリプタ制御回路405は、ディスクリプタ610,620の読み込みを行う回路である。割込みイネーブル信号ライン407を介して、モ−ドレジスタ406の割込み指示ビットCONTのデ−タ(「1」又は「0」)がDMA転送制御回路404に与える。これが転送完了時に割り込みを発生させるかどうかを知らせる信号である。ディスクリプタで示される転送が完了したときに、DMA転送制御回路404(DMAC31)は、割込み信号ライン408を介してCPU101に対して割込みを知らせる信号を与える。
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へ格納する。
次にDMAC31は、各レジスタ411,403,410,406のデ−タが規定するDMA転送を開始し、1つのディスクリプタ(第1ディスクリプタ610)で指定されたブロックの転送が完了したかどうかチェックする。ブロックの転送が完了していなければ、次の転送のためにアドレスを更新する。ブロックの転送が完了するまで、転送を繰り返す。ブロックの転送が完了すると、DMAC31は、ディスクリプタそのもののチェーンが完了した、すなわち全体の転送が完了した、かどうかをチェックする。
先に述べたが図示例では、第2のディスクリプタ620が最後のディスクリプタなので、終了であることをDMAC31に教えるために、「0」がネクストディスクリプタポインタ621に書込まれており、今転送を実行したディスクリプタが、仮に最後のディスクリプタ(第2ディスクリプタ620)であるとすると、DMAC31のネクストディスクリプタポインタレジスタ411にはデ−タ「0」が書込まれているので、このデ−タに基づいて、全体の転送が完了した、と判定する。
しかし、今終えた転送が第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に書込み、転送を行なう。
第2ディスクリプタ620のデ−タに基づいた転送を完了すると、ネクストディスクリプタポインタレジスタ411のデ−タが「0」になっているので、DMAC31は、完了割込み信号を発生して、全処理を完了する。継続割込みは、DMAC31のコントロールレジスタのCONTビットが「1」(第1ディスクリプタ610)のとき、有効となるが「0」(第2ディスクリプタ620)のときは、継続割込みは発生しない。最終ディスクリプタ(620)中のモードワード(624)にもCONTビット相当のビットは存在するが、それは「0」とされ、コントロールレジスタ402のCONTビットが「0」になるので、DMAC31は、継続割込みは発生せず、完了割込み信号を発生する。
上述の例では、図4の(b)に示すように、ディスクリプタのモードワードレジスタ614内にタイマ変数を用意して、1ブロックの転送完了後タイマ変数で指定した時間待ってから、継続割込みを発生する。このタイマ変数にて、1ブロック転送完了から継続割込み発生までの時間を設定することができる。最終ディスクリプタ(620)のモードワードレジスタ(624)にもタイマ変数を含めて、最終ブロックの転送完了からその時間分の遅延の後に完了割込み信号を発生するようにすることによって、完了割込みのタイミングも設定可能になる。
図4の(c)に示すように、ディスクリプタのモードワードレジスタ614内に、ディスクリプタによる転送制御には無関係の「未使用」ビットを用意し、DMAC31がこれを使わないようにすることで、ソフトウェアによる該「未使用」ビットへの読み書きが可能であり、ソフトウェアによるディスクリプタの管理に使用することができる。
ASIC102のその他のDMACの構成及び機能も、DMAC31の上述の構成および機能と同様である。
図5に、パソコンPCの印刷データをプリンタ14でプリントアウトする場合の、CPU101のデータ転送制御の概要を示す。CPU101は、ネットワークLAN経由でパソコンPCから送られてきたPDLをRAM105に格納する(ステップ1)。以下では、括弧内には、ステップという語を省略して、ステップNo.数字又は記号のみを記す。ネットワークI/F109(又はNIC)からRAM105への転送は、DMACを用いるDMA転送又はCPU I/O転送である。
CPU101は、ROM104のフォント変換データ(フォントROM)を用いて、PDLをイメージデータ(描画データ:画像データ)に変換する。すなわちRAM104にページ画像を展開(描画)して(2)、フルカラー画像記録となる場合は、各色(C,M,Y,K)の画像(プレーン)を生成して、プレーンごとにHDD111に転送する(3)。単色記録(例えば白黒(モノクロ)記録)となる場合には、単色の画像(1プレーンのみ)を生成して、HDD111に転送する(3)。
なお、ファクシミリ受信データの場合は、RAM105に受け入れてから画像データに伸張してRAM105に展開してから、HDD111に転送する(3)。複写の場合には、原稿読み取りの画像データをASIC102でプリンタ14で印刷するための画像データに変換してRAM105に読込み、そしてHDD111に転送する(3)。HDD111への転送(3)以下の処理は、印刷,ファクシミリ受信出力および複写のいずれの画像形成モードでも、共通である。以下では、フルカラー画像記録となる場合を例に、HDD111への転送(3)以下の処理を説明する。
この転送においてCPU101はまず、バンド分割情報を生成する(4)。すなわち、各プレーンの画像データのバンド区分情報を生成する。ここで、バンド分割について説明する。図6を参照されたい。
−正常時の転送:図6の(a)−
1プレーンをHDD111からメモリ105に転送するための時間を、図6の(a)に、矢印の長さで表している。その時間をXとする。ここで言う1プレーンのデータ量は、圧縮して符号化された圧縮データを、圧縮データのままメモリ105に転送する場合には、圧縮率により変動するので、説明を簡単にするため非圧縮の画像データをHDD111に格納し、そしてHDD111から読み出してメモリ105に転送する場合について説明する。
−従来方法で再送が発生した場合の転送:図6の(b)−
1プレーンの転送の最後尾近くで転送エラーが発生し再送をした場合、2プレーン分の転送が必要になる。さらに、エラー割り込みの処理や、DMACによる再送の場合はDMACのディスクリプタ情報の再読み込みなどのオーバーヘッド(無駄時間又はエラー対処処理時間)が発生する。そのオーバーヘッドすなわちオーバヘッド時間をZとする。割り込み制御に掛かる時間は変動幅が大きいため、ある程度のワーストケースを考慮して、長めにZを決める必要がある。
−本実施例でエラー対応の再送が発生した場合の転送:図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上のデータを分割する区分情報を生成する。この区分情報によって区分される画像データ群(区分単位)を「バンド」という。
タイミングマージンAのとり方により、バンド分割の方法はことなるが、上記方法は、1プレーン転送する間に只1度しか再送が発生しないと仮定した場合の分割方法である。シリアル通信エラーの発生頻度が低い(SATA規格では、1/1012以下のビットエラーレート)ことを根拠とする。この分割は、各プレーンに適応する。先のプレーンで再送が発生しないと、後続のプレーンのタイミングマージンは実際には増えるが、バンド分割する段階では分からないので、各プレーン毎に1回の再送があることを想定してバンド分割する。
次にCPU101は生成した、バンド分割情報に基づいたプレーン分割によって生ずる各バンドを、RAM105から読み出してSATAに送出するDMAのための、リードDMAC31宛ての各ディスクリプタのチェーン、ならびに、SATAに送出された各バンドをHDD111に書込みするDMAのための、ライトDMAC34宛ての各ディスクリプタのチェーン、をRAM105に生成する(5)。すなわち、前述の図3に示す態様のディスクリプタを生成する。なお、本実施例では、各ディスクリプタのCONTは「0」とする。すなわち、1ブロック(バンド)転送完了毎の継続割り込みは発生させない。
次にCPU101は、DMAC31および34の各種レジスタ(図4)に転送制御データを書き込み(6)、DMAC31および34のコントロールレジスタのEXECに1を書込む(7)。これによりDMAC31および34が起動し、RAM105からHDD111に、画像データが転送され、HDD111書き込まれる。複数のディスクリプタがチェーンしながら転送し、これにより、RAM105上の各プレーンの画像データは、ディスクリプタごとにバンドに区分される(8)。転送が完了すると、COMPLETE割り込みがCPU101に入り(9)、これに応答してCPU101は転送終了処理をする(10)。
次にCPU101は、HDD111に格納した各プレーンの各バンドをRAM105に転送し、かつRAM105に転送した各プレーンの各バンドをプリンタ14に転送するための、各DMAC用のディスクリプタチェーンであって、図7に示すように、HDD111から各バンドをRAM105の異なった2記憶領域に交互に書き込み、その間、書込みを行っていない方の記憶領域からバンドを読み出してプリンタ14に転送する、RAM105に対してトグル読み書きのバンド転送をするディスクリプタチェーンを、RAM105上に生成して、それに基づいて、HDD111の各プレーンの各画像データを、RAM105経由でプリンタ14に転送する(11,12)。
図7に、上記転送(11,12)における転送パスを示す。図7では、C色を8群に分けて格納している例を示している。分けられた圧縮データの各群を、「バンド」と呼ぶ。図7では、C色のみについて記述しているが、M色、Y色、K色についても同様である。
上記HDD111からRAM105にバンド単位で画像データSdrを転送しているときに、データ受信側でCRCエラー,プロトコル違反などを検出することによる、シリアル通信エラーが発生した場合の制御を次に示す:
1.エラーが発生し、DMAC(又はハードディスクコントローラHDC他)からのエラー割り込みがCPU101に発生する;
2.DMACはエラー発生で自動停止。ディスクリプタ情報は保持し、転送量カウンタを停止させる;
3.CPU101は、DMAC(及びハードディスクコントローラHDC)のレジスタを読み、どのバンドの転送で停止したか確認する;
4.転送中のバンドの一つ前のバンドから転送するよう、再送すべきバンドのスタートアドレスをDMACにセットしてDMACを再度起動する;
5.DMACは設定されたバンドのディスクリプタを再度読み、その情報に従ってデータ転送を再開する。転送中のバンドから再送しても良いが、安全のため一つ前のバンドから再送する。HDD111をリードするDMAC33は次のディスクリプタをリードし初めているが、RAM105をライトするDMAC32は、RAM105が混雑していてまだ前のバンドを転送中というような混乱を回避するためである。
例えば図8に示すように、第3ディスクリプタに基づいて第3バンドの画像データSdrをRAM105に転送しているときに通信エラーによる割り込みが発生すると、CPU101は、通信エラー割り込み処理により、第3ディスクリプタの一つ前の第2ディスクリプタを転送する制御情報をDMAC33,32に再設定して、第2ディスクリプタからの転送を再開する。
なお、図5に示すRAM105からHDD111への、バンド区分の画像データの転送においても、通信エラーが発生すると、上述と同様に、通信エラー割り込み処理により、通信エラーを生じたときにDMACに保持するディスクリプタの一つ前のディスクリプタ(先行ディスクリプタ)を転送する制御情報をDMAC31,34に再設定して、先行ディスクリプタからの転送を再開する。
上記第1実施例によれば、分割された何れかのデータ(バンド)の、通信エラーによる再送が一度だけ発生した場合、トータルの転送時間が割当て時間Y以下となるため、生産性/リアルタイム性を維持できる。SATAの規格エラー率すなわちビットエラーレートは、1/1012なので、近接するデータ転送で複数回エラーが発生することはない、すなわち、上記全データの転送の間に、2回以上の通信エラーが発生することはない、と考えられる。従って、バンド分割数を最小限に抑えることが出来る。分割数が多いとソフト上のデータ管理が煩雑となる他、DMACのディスクリプタの数も増えメモリが無駄となる。
第2実施例のハードウェアは、上述の第1実施例のものと同じであるが、第2実施例では、HDD111に対しては、画像データを圧縮伸張器123で圧縮符号化した圧縮データを格納する。
図9に、パソコンPCの印刷データをプリンタ14でプリントアウトする場合の、CPU101のデータ転送制御の概要を示す。CPU101は、ネットワークLAN経由でパソコンPCから送られてきたPDLをRAM105に格納する(1)。CPU101は、ROM104のフォント変換データ(フォントROM)を用いて、RAM104にページ画像を展開(描画)して、フルカラー画像記録となる場合は、RAM104上に各色(C,M,Y,K)の画像(プレーン)を生成する(2)。そして圧縮符号化する(21)。
なお、ファクシミリ受信データの場合は、RAM105に受け入れてから画像データに伸張してRAM105に展開してから、圧縮符号化する(21)。複写の場合には、原稿読み取りの画像データをASIC102でプリンタ14で印刷するための画像データに変換してRAM105に読込み、そして圧縮符号化する(21)。圧縮符号化(21)以下の処理は、印刷,ファクシミリ受信出力および複写のいずれの画像形成モードでも、共通である。以下では、フルカラー画像記録となる場合を例に、圧縮符号化する(21)以下の処理を示す。図10には、圧縮符号化(21)でのデータの流れを、実線矢印で示す。
この圧縮符号化(21)においてCPU101はまず、バンド分割情報を生成する(22)。すなわち、各プレーンの画像データのバンド区分情報を生成する。ここでは、符号データ量が、前記割当て時間Y,所要時間Xおよび通信エラーのときの通信再開に要するオーバヘッド時間Zから定まるタイミングマージンA以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切るためのバンド分割情報を生成する。
次にCPU101は、生成したバンド分割情報に基づいたプレーン分割によって生ずる各バンドを、RAM105から読み出して圧縮伸張器123に転送し、圧縮伸張器123が圧縮符号化した符号データをRAM105に転送するための、画像DMAC124内および圧縮伸張器123の、各リードDMACおよび各ライトDMAC宛てのディスクリプタチェーンをRAM105に生成する(23)。
次にCPU101は、各DMACの各種レジスタに転送制御データを書き込み(24)、各DMACのコントロールレジスタのEXECに1を書込む(25)。これにより各DMACが起動し、RAM105から圧縮伸張器123に画像データがバンド単位で転送され、バンド単位で符号データに変換されて、符号データバンドがRAM105に書き込まれる(26)。複数のディスクリプタがチェーンしながら転送し、これにより、RAM105上の各プレーンの画像データは、ディスクリプタごとにバンドに区分され符号化されてRAM105に書き込まれる。転送が完了すると、COMPLETE割り込みがCPU101に入り(27)、これに応答してCPU101は転送終了処理をする(28)。
つぎにCPU101は、RAM105上のバンド区分の符号化データをHDD111に転送する(3B)。この内容は、図5に示すHDD111への転送(3)の中のステップ5〜10の転送制御と同様である。ただし、転送データは符号化データのバンドである。図10には、RAM105からHDD111への符号化データの流れを、点線矢印で示す。
上記RAM105からHDD111にバンド単位で符号化データSdwを転送しているときに、データ受信側でCRCエラー,プロトコル違反などを検出することによる、シリアル通信エラーが発生した場合、前述と同様に、CPU101は、DMAC(及びハードディスクコントローラHDC)のレジスタを読み、どのバンドの転送で停止したか確認して、転送中のバンドの一つ前のバンドから転送するように、再送すべきバンドのスタートアドレスをDMACにセットしてDMACを再起動する。DMACは設定されたバンドのディスクリプタを再度読み、その情報に従ってデータ転送を再開する。例えば図11に示すように、第3ディスクリプタに基づいて第3バンドの符号化データをHDD111に転送しているときに通信エラーによる割り込みが発生すると、CPU101は、通信エラー割り込み処理により、第3ディスクリプタの一つ前の第2ディスクリプタを転送する制御情報をDMACに再設定して、第2ディスクリプタからの転送を再開する。
なお、図10に矢印で示すように、RAM105から圧縮伸張器123に画像データを転送して圧縮符号化し、符号化データをRAM105に書き込んでから、RAM105からHDD111に転送する転送処理に代えて、図12に示すように、RAM105から圧縮伸張器123に画像データSdwを転送して圧縮符号化し、符号化データを圧縮伸張器123からHDD111に転送する転送処理を採用することもできる。
再度図9を参照する。符号化データをHDD111に転送すると、CPU101は、HDD111のバンドの符号データSdrをRAM105に転送し(31)、そしてRAM105から圧縮伸張器123に転送しそこで画像データに復号化してビデオ出力VOUTを介してプリンタ14に出力する(12B)。この転送過程のデータの流れを、図13に示す。
この転送過程のデータの流れを、図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の異なる領域に順次に書き込むとともに、それと並行して、先に書き込んだバンドから順次にプロッタに読み出す態様にしてもよい。
上記HDD111からRAM105にバンド単位で符号化データを転送しているときに、データ受信側でCRCエラー,プロトコル違反などを検出することによる、シリアル通信エラーが発生した場合、前述と同様に、CPU101は、DMAC(及びハードディスクコントローラHDC)のレジスタを読み、どのバンドの転送で停止したか確認して、転送中のバンドの一つ前のバンドから転送するように、再送すべきバンドのスタートアドレスをDMACにセットしてDMACを再起動する。DMACは設定されたバンドのディスクリプタを再度読み、その情報に従ってデータ転送を再開する。例えば図14に示すように、第3ディスクリプタに基づいて第3バンドの符号化データをHDD111に転送しているときに通信エラーによる割り込みが発生すると、CPU101は、通信エラー割り込み処理により、第3ディスクリプタの一つ前の第2ディスクリプタを転送する制御情報をDMACに再設定して、第2ディスクリプタからの転送を再開する。
なお、図13に実線矢印で示すようにRAM105から圧縮伸張器123に符号データバンドを転送して画像データに復号化し画像データをビデオ出力VOUTを介してプリンタ14に出力する転送処理に代えて、圧縮伸張器123が復号化した画像データをRAM105に転送してから、RAM105からビデオ出力VOUTを介してプリンタ14に出力する転送処理を採用することもできる。
第2実施例のその他の構成及び機能は、上述の第1実施例と同様である。
第3実施例のハードウェアは第1実施例と大要では同様ではあるが、ASIC102内の、ASATA転送を行うDMAC内に、直前のレジスタ設定値を保存するバックアップレジスタと、エラー発生に応答してバックアップレジスタの保存データ(直前のレジスタ設定値)を、転送開始(再開)のレジスタに設定する機構を備える。第3実施例のCPU101とASIC102によるデータ転送形式の態様は、第2実施例と同様に、HDD111には画像データを圧縮符号化した符号データ(圧縮データ)を格納するものである。ここでも第2実施例と同様に、符号データ量が、前記割当て時間Y,所要時間Xおよび通信エラーのときの通信再開に要するオーバヘッド時間Zから定まるタイミングマージンAを用いる。
そして第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に格納する。
尚、上記バンド分割の考え方において、DMACがバンド毎にディスクリプタをRAM105からリードする時間が発生するが、その時間が省略されている。これは、上述のように、DMACに直前のレジスタ設定値を保存するレジスタ機構により、メモリアクセスが発生しないことを想定しているためである。レジスタ設定値の保存機構が無い実施態様では、(N−1)回の、RAM105からのディスクリプタのリード時間Cを考慮し、「(Y−X−Z−C)/N=B(s)」とする。
第3実施例のASIC102のSATA転送を行うDMACは、一つ前のディスクリプタをレジスタに保持しておき、またあるレジスタ(例えばコントロールレジスタ402)に「リトライビット」を設けており、つぎのように動作する:
1.CPU101に通信エラー割り込みが通知される。DMACは自動停止する;
2.CPU101は本来の「起動ビット」EXECの代わりに「リトライビット」に1を書く;
3.直前のディスクリプタ情報が保存されている場合は、その情報を動作用のレジスタ401にロードしDMACが起動する。直前のディスクリプタ情報が保存されていない場合(例えばエラー発生時以外であった場合)は、エラー割り込みをCPU101に発行する;
4.以降は、通常の動作と同じ。第3実施例のその他の構成及び機能は、上述の第2実施例と同様である。
第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にすると、転送を起動する。すなわち、通信エラーを生じたときのディスクリプタに基づいて、再度同一バンドの転送を再開する。
第4実施例のその他の構成及び機能は、上述の第2実施例と同様である。
第4実施例と同様に、第5実施例のASIC102のSATA転送を制御するDMACは、アヘッドディスクリプタポインタ(412:図示せず)を備えて、通信エラーで転送を停止すると、ディスクリプタ制御回路405が、ディスクリプタポインタレジスタ401のデータをネクストディスクリプタポインタ411に書き込み、アヘッドディスクリプタポインタ412のデータをディスクリプタポインタレジスタ401に書いて、エラー回数レジスタに10進数の1を書き込む。そして第5実施例では、ディスクリプタ制御回路405が、通信エラーに応答して上述のデータ更新を行うと、自動的にDMACの転送を起動する。ディスクリプタ制御回路405は、この転送を正常に終えるとディスクリプタ制御回路405はエラー回数レジスタをクリアするが、また通信エラーが発生し、エラー回数レジスタの値が1以上である場合には、ディスクリプタポインタレジスタ401,411のデータは更新せず、転送を自動起動する。すなわち、通信エラーを生じたときのディスクリプタに基づいて、再度同一バンドの転送を再開する。1プレーンの転送を完了すると、エラー回数レジスタのデータをCPU101に送出して、エラー回数レジスタを初期化する。
このように第5実施例では、通信エラー割り込みはCPU101では無くDMAC自身が解釈し、以降の再送手順を自動的に行う。転送終了後、CPUにエラー発生を伝えるため、レジスタにエラー数を累積表示することが望ましい。第5実施例のその他の構成および機能は、第4実施例と同様である。
本発明の第1実施例の複合機能デジタルカラー複写機の、電気系統のシステム構成を示すブロック図である。 図1に示すASIC102の、主に画像データ転送に関わる機能構成を示すブロック図である。 図2に示すCPU101がRAM105上に生成するDMAC用のディスクリプタチェーンを示すブロック図である。 (a)は、図2に示すリードDMAC31の機能構成の概要を示すブロック図、(b)および(c)は、(a)に示すレジスタ401に格納するデータ名を示すブロック図である。 図2に示すCPU101がASIC102を用いて行う、「印刷」時の画像データ転送制御の概要を示すフローチャートである。 図2に示すCPU101がバンド分割に用いる時間パラメータX,Y,ZおよびZの長さを模式的に示すタイムチャートであり、横軸が時間軸である。 図5に示す「RAM105に転送」(11)と「プリンタ14への転送」(12)によってプリンタ14に転送される画像データの流れ(実線矢印)を示すブロック図である。 図7に示す転送で、第3バンド転送中に通信エラーが発生した場合に、第2バンド用のディスクリプタを用いて再転送を開始する過程を示すブロック図である。 第2実施例のCPU101が第2実施例のASIC102を用いて行う、「印刷」時の画像データ転送制御の概要を示すフローチャートである。 図9に示す「符号化」(21)および「HDD111に転送」(3B)による転送データの流れを示すブロック図である。 図10に示す転送で、第3バンド転送中に通信エラーが発生した場合に、第2バンド用のディスクリプタを用いて再転送を開始する過程を示すブロック図である。 図10に示す転送の1変形態様を示すブロック図である。 図9に示す「RAM105に転送」(31)および「復号化とプリンタ14への転送」(12B)による転送データの流れを示すブロック図である。 図13に示す転送で、第3バンド転送中に通信エラーが発生した場合に、第2バンド用のディスクリプタを用いて再転送を開始する過程を示すブロック図である。 従来のフルカラー各プレーンの符号データをHDDから読み出してRAM105経由で、プレーン単位で、圧縮伸張器CEPに転送してそこで画像データに復号化してから、プリンタ14に出力するデータ転送の流れを示すブロック図である。 図15に示すデータ転送において、1プレーンMの転送中に通信エラーを生じ、これに応じて再度1プレーンMから転送を再開する場合の、各プレーン転送時間を示すタイムチャートであり、横軸が時間軸である。
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:ホスト(パソコン)

Claims (16)

  1. 割当て時間内に所要時間で転送できる量の全データをDMAコントローラにより転送する場合に、
    前記割当て時間,所要時間および通信エラーのときの通信再開に要するオーバヘッド時間から定まるタイミングマージン以内で転送し得るデータ量以下のバンドに区切ってデータを転送し、通信エラーが発生するとそのとき転送中のバンドから転送を再開する、ことを特徴とするデータ転送制御方法。
  2. 前記全データ転送の通信エラー発生回数の許容設定値をNとすると、前記タイミングマージン/N以内で転送し得るデータ量以下のバンドに区切ってデータを転送し、通信エラーが発生するとそのとき転送中のバンドから転送を再開する、請求項1に記載のデータ転送制御方法。
  3. 前記全データは1プレーンの画像データであり、前記DMAコントローラによる転送は、シリアルATAを用いる通信である、請求項1または2に記載のデータ転送制御方法。
  4. 1プレーンの画像データを圧縮符号化した、割当て時間内に所要時間で転送できる量の全符号データをDMAコントローラにより転送する場合に、
    符号データ量が、前記割当て時間,所要時間および通信エラーのときの通信再開に要するオーバヘッド時間から定まるタイミングマージン以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化し、これによって生成した符号データのバンドを転送し、通信エラーが発生するとそのとき転送中の符号データのバンドから転送を再開する、ことを特徴とするデータ転送制御方法。
  5. 前記全符号データ転送の通信エラー発生回数の許容設定値をNとすると、前記タイミングマージン/N以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化し、これによって生成した符号データのバンドを転送し、通信エラーが発生するとそのとき転送中の符号データのバンドから転送を再開する、請求項4に記載のデータ転送制御方法。
  6. 前記DMAコントローラによる転送は、シリアルATAを用いる通信である、請求項4または5に記載のデータ転送制御方法。
  7. データの転送先又は転送元は、HDDである、請求項1乃至6のいずれか1つに記載のデータ転送制御方法。
  8. 転送対象データ群に関する割当て時間,所要時間および通信エラーのときの通信再開に要するオーバヘッド時間、から定まるタイミングマージン以内で転送し得るデータ量以下のバンドに、前記転送対象データ群を区切るためのディスクリプタチェーンをメモリ上に構成する管理情報生成手段;および、
    前記ディスクリプタチェーンにもとづいて前記バンドの区分ごとに転送対象データ群を転送し、該転送の間に通信エラーを生じると、そのとき転送中のバンドからの転送を再開するDMAコントローラ
    を備えるデータ転送制御装置。
  9. 前記管理情報生成手段は、前記転送対象データ群転送の通信エラー発生回数の許容設定値をNとすると、前記タイミングマージン/N以内で転送し得るデータ量以下のバンドに、前記転送対象データ群を区切るためのディスクリプタチェーンをメモリ上に構成する、請求項に記載のデータ転送制御装置。
  10. 前記転送対象データ群は1プレーンの画像データであり、前記DMAコントローラは、シリアルATAを用いて転送する、請求項またはに記載のデータ転送制御装置。
  11. 符号データ量が、前記割当て時間,所要時間および通信エラーのときの通信再開に要するオーバヘッド時間から定まるタイミングマージン以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化する手段;
    前記符号データのバンドを転送するためのディスクリプタチェーンをメモリ上に構成する管理情報生成手段;および、
    前記ディスクリプタチェーンにもとづいて前記符号データのバンドを転送し、該転送の間に通信エラーを生じると、そのとき転送中のバンドからの転送を再開するDMAコントローラ
    を備えるデータ転送制御装置。
  12. 前記1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化する手段は、全バンドの前記転送の完了の間の通信エラー発生回数の許容設定値をNとすると、前記符号データのバンドがタイミングマージン/N以内で転送し得るデータ量以下となる画像データ量で、1プレーンの画像データをバンドに区切ってバンド毎に符号データに圧縮符号化する、請求項11に記載のデータ転送制御装置。
  13. 前記DMAコントローラは、シリアルATAを用いる通信で転送する、請求項11または12に記載のデータ転送制御装置。
  14. 1以上のプレーンの画像データを格納できる一次記憶手段;
    1以上のプレーンの画像データを格納できる二次記憶手段;
    画像出力手段;
    前記一次記憶手段の画像データを前記二次記憶手段に転送する、請求項乃至10のいずれか1つに記載のデータ転送制御装置;および、
    前記二次記憶手段に転送したバンド区分の画像データを前記一次記憶手段を介して前記画像出力手段に転送する手段;
    を備える画像形成装置。
  15. 1以上のプレーンの画像データを格納できる一次記憶手段;
    1以上のプレーンの画像データの符号データを格納できる二次記憶手段;
    画像出力手段;
    前記一次記憶手段の画像データをバンド区分で符号化して前記二次記憶手段に格納する、請求項11乃至13のいずれか1つに記載のデータ転送制御装置;および、
    前記二次記憶手段に転送したバンド区分の符号データを前記一次記憶手段に転送し、該一次記憶手段から読み出して画像データに復号化して前記画像出力手段に転送する手段;
    を備える画像形成装置。
  16. 前記二次記憶手段はHDDである、請求項14または15に記載の画像形成装置。
JP2006128229A 2006-05-02 2006-05-02 データ転送制御方法,装置および画像形成装置 Expired - Fee Related JP5004322B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006128229A JP5004322B2 (ja) 2006-05-02 2006-05-02 データ転送制御方法,装置および画像形成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006128229A JP5004322B2 (ja) 2006-05-02 2006-05-02 データ転送制御方法,装置および画像形成装置

Publications (2)

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

Family

ID=38768729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006128229A Expired - Fee Related JP5004322B2 (ja) 2006-05-02 2006-05-02 データ転送制御方法,装置および画像形成装置

Country Status (1)

Country Link
JP (1) JP5004322B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5919234B2 (ja) * 2013-08-28 2016-05-18 京セラドキュメントソリューションズ株式会社 通信装置、及び通信方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3476985B2 (ja) * 1995-12-28 2003-12-10 株式会社東芝 パケット通信システムおよびパケット通信制御方法
JPH10260800A (ja) * 1997-03-18 1998-09-29 Fuji Xerox Co Ltd 画像処理装置
JP2003110565A (ja) * 2001-10-01 2003-04-11 Minolta Co Ltd 通信システム、送信装置、通信方法、通信プログラム、および通信プログラムを記録したコンピュータ読取可能な記録媒体

Also Published As

Publication number Publication date
JP2007299304A (ja) 2007-11-15

Similar Documents

Publication Publication Date Title
JP4035173B2 (ja) 制御装置および制御方法
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
US20030016390A1 (en) Image processing apparatus and method
US9134785B2 (en) Information processing apparatus with power saving mode, and control method and communication apparatus therefor
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
JP4928497B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体
JP5004322B2 (ja) データ転送制御方法,装置および画像形成装置
JP2000172456A (ja) プリントシステム
JP2010146138A (ja) 印刷システム、印刷方法、印刷装置およびホスト装置
JP6833491B2 (ja) 情報処理装置
JP2002314763A (ja) カラー複写機制御装置
JP2018118477A (ja) 画像処理装置とその制御方法、及びプログラム
JP2004357154A (ja) データ処理装置
JP2000168174A (ja) プリンタ
JP2008065719A (ja) シリアルデータ受信方法,装置および画像形成装置
JP4896051B2 (ja) 画像形成装置、画像形成方法及びプログラム
JP2005107818A (ja) 調停装置およびそれを用いる画像形成装置
JP2005197960A (ja) 画像処理装置及び画像処理プログラム
JP4413041B2 (ja) データ転送システム及び画像形成装置
JP4046008B2 (ja) データ処理装置
JP3279736B2 (ja) 画像通信装置
JP2012155532A (ja) 情報処理装置、その制御方法、および制御プログラム
JP2007021809A (ja) カラー4d印刷装置における印刷画像データ制御方法

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