図1はこの発明のデジタル複写機の構成を示すブロック図である。このデジタル複写機の読取ユニット1は原稿に対して光を照射し、原稿からの反射光をミラー群とレンズを通して受光素子例えばCCDに集光し原稿の文字や画像を光学的に読み取る。センサ・ボード・ユニット2はCCDで電気信号に変換された画像信号をデジタル信号に変換して画像データ制御部3に出力する。画像データ制御部3は画像処理プロセッサ4やパラレルバス5や画像メモリアクセス制御部6間の画像データ転送を制御するとともに装置全体の動作を制御するシステムコントローラ7と画像データに対する各種プロセスを制御するプロセスコントローラ8間の通信を行う。この画像データ制御部3に入力した読取画像データは画像処理プロセッサ4に転送される。画像処理プロセッサ4は転送された読取画像データの光学系及びデジタル信号への量子化に伴う信号劣化を補正し、補正した画像データを画像データ制御部3へ再度出力する。画像データ制御部3は入力した補正画像データをパラレルバス5を経由して画像メモリアクセス制御部6に転送する。画像メモリアクセス制御部6はシステムコントローラ7の制御に基づき転送された補正画像データとメモリ9のアクセス制御を行なうとともに、外部パソコン(PC)10から送られるプリント用データの展開やメモリ9を有効に活用のための画像データの圧縮/伸張を行う。この画像メモリアクセス制御部6に転送された読取画像データはデータ圧縮後にメモリ9に蓄積される。メモリ9に蓄積された画像データを印刷出力するときは画像メモリアクセス制御部6により読み出され、読み出した画像データを伸張して、本来の画像データに戻しパラレルバス5を経由して画像データ制御部3へ転送される。
画像データ制御部3は画像メモリアクセス制御部6から画像データを受信すると、受信した画像データを出力画像データとして画像処理プロセッサ4に転送する。画像処理プロセッサ4は転送された出力画像データの画質処理を行いビデオデータ制御部11に送る。ビデオデータ制御部11は送られた出力画像データのパルス制御を行い、プリンタエンジンである作像ユニット12で転写紙上に再生画像を形成させる。
読み取った画像データをファクシミリ送信するときは、読取画像データを画像データ制御部3から画像処理プロセッサ4に送り画像処理を実施し、この画像データを画像データ制御部3からパラレルバス5を経由してファクシミリ制御ユニット13に転送する。ファクシミリ制御ユニット13は転送された画像データを通信網へ送信するためのデータ変換を行い、公衆回線14へファクシミリデータとして送信する。ファクシミリ受信は公衆回線14からの受信データをファクシミリ制御ユニット13で画像データへ変換し、変換した受信画像データをパラレルバス5と画像データ制御部3を経由して画像処理プロセッサ4へ転送する。画像処理プロセッサ4はこの場合、受信画像データの特別な画質処理は行わずビデオデータ制御部11に送る。ビデオデータ制御部11は送られた受信画像データのドット再配置及びパルス制御を行い作像ユニット12で転写紙上に再生画像を形成させる。
このようにコピー機能とファクシミリ送受信機能及びプリンタ出力機能の複数ジョブが並行に動作する状況において、システムコントローラ7とROM15及びRAM16でシステム全体を制御し、各リソースの起動を管理し、プロセスコントローラ8とROM17とRAM18で画像データの流れを制御する。この複数のジョブの各機能選択は操作部19において選択入力して設定する。また、システムコントローラ7とプロセスコントローラ8はパラレルバス5と画像データ制御部3及びシリアルバス20を介して相互に通信を行う。このとき画像データ制御部3でパラレルバス5とシリアルバス20とのデータインタフェースのためのデータフォーマット変換を行う。パラレルバス5の使用権の調停はバス制御部のバス調停部21で行なわれる。
このようにコピー機能とファクシミリ送受信機能及びプリンタ出力機能が並行に動作するデジタル複写機の画像データ制御部3と画像処理プロセッサ4と画像メモリアクセス制御部6とビデオデータ制御部11及びファクシミリ制御ユニット13の詳細を説明する。
画像データ制御部3には、図2のブロック図に示すように、画像データ入出力制御部30とコマンド制御部31と画像データ入力制御部32と画像データ出力制御部33とデータ圧縮部34とデータ伸長部35とデータ変換部36とパラレルデータインタフェース37及びシリアルデータインタフェース38,39を有する。センサボードユニット2からの読取画像データは画像データ入出力制御部30に入力し、画像データ入出力制御部30から画像処理プロセッサ4に出力する。画像処理プロセッサ4で補正された補正画像データは画像データ入力制御部32に入力し、画像データ入力制御部32に入力した補正画像データはデータ圧縮部34でパラレルバス5における転送効率を高めるためにデータ圧縮が行なわれデータ変換部36からパラレルデータインタフェース37を介してパラレルバス5へ送出される。パラレルデータバス37からパラレルデータインタフェース37を介して入力される画像データはデータ変換部36からデータ伸長部35に送られ、バス転送のために圧縮された画像データが伸長され、伸長された出力画像データは画像データ出力制御部33から画像処理プロセッサ4に転送される。データ変換部36はパラレルデータとシリアルデータの変換機能を併せ持ち、システムコントローラ7とプロセスコントローラ8間の通信のためにデータ変換を行う。2系統のシリアルデータインタフェース38,39はシリアルバス20と画像処理プロセッサ4との間で通信を制御する。
画像処理プロセッサ4は、図3のブロック図に示すように、入力インタフェース40とスキャナ画像処理部41と出力インタフェース42と入力インタフェース43と画質調質部44と出力インタフェース45及びコマンド制御部46を有する。画像データ制御部3から転送された読取画像データは入力インタフェース40に入力しスキャナ画像処理部41へ送られ、スキャナ画像処理部41でシェーディング補正とスキャナγ補正,MTF補正等の補正処理と、拡大/縮小の変倍処理が行なわれ、この処理後の補正画像データが出力インタフェース42から画像データ制御部3に転送される。また、画像データ制御部3から転送される出力画像データは入力インタフェース43に入力し画質調質部44へ送られ、画質調質部44で面積階調処理が行なわれ、画質処理後の出力画像データは出力インタフェース45からビデオデータ制御部11に送られる。この画質調質部44における面積階調処理は濃度変換とディザ処理,誤差拡散処理等が有り、階調情報の面積近似を主な処理とする。このスキャナ画像処理部41と画質調質部44の処理の切り替えと処理手順の変更等はコマンド制御部46で管理する。
このようにスキャナ画像処理部41で処理された補正画像データをメモリ9に蓄積しておき、印刷出力するときに画質調質部44で画質処理を変えることによりって種々の再生画像を形成することができる。例えば再生画像の濃度を振ってみたり、ディザマトリクスの線数を変更してみたりすることにより、再生画像の雰囲気を変更できる。このように処理を変更する度に画像データを読取ユニット1から読み込み直す必要はなく、メモリ9に格納した画像データを読み出せば、同一データに対し何度でも異なる処理を実施できる。
画像メモリアクセス制御部6は、図4のブロック図に示すように、パラレルデータインタフェース61とデータ変換部62とデータ圧縮部63とデータ伸長部64とメモリアクセス制御部65とシステムコントローラインタフェース66とラインバッファ67及びビデオ制御部68を有する。外部のPC10から入力されたコードデータはラインバッファ67においてローカル領域でのデータの格納を行う。ラインバッファ67に格納されたコードデータは、システムコントローラ7からシステムコントローラインタフェース66を介して入力された展開処理命令に基づきビデオ制御部66で画像データに展開される。このビデオ制御部66で展開された画像データ又は画像データ制御部3からパラレルバス5を介してパラレルデータインタフェース61に入力された画像データはメモリ9に格納される。この場合、データ変換部62において格納対象となる画像データを選択し、データ圧縮部63でメモリ使用効率を上げるためにデータ圧縮が行なわれ、メモリアクセス制御部65でメモリ9のアドレスを管理しながら圧縮された画像データをメモリ9に格納する。メモリ9に格納された画像データを読み出すときは、メモリアクセス制御部65で読出し先アドレスを制御し、読み出された画像データをデータ伸張部64で伸長し、伸長した画像データをデータ変換部62からパラレルデータインタフェース61を介してパラレルバス5にデータ転送する。
画像処理プロセッサ4から入力される出力画像データに対して作像ユニット12の特性に応じて、追加の処理を行うビデオデータ制御部11には、図5のブロック図に示すように、エッジ平滑処理部1101とパルス制御部1102とパラレルデータインタフェース1103とデータ変換部1104及びシリアルデータインタフェース1105を有する。画像処理プロセッサ4から入力された出力画像データはエッジ平滑処理部1101でドットの再配置処理が行なわれ、パルス制御部1102でドット形成のための画像信号のパルス制御を行い作像ユニット12に出力される。この出力画像データの変換とは別にパラレルデータインタ1103から入出力するパラレルデータとシリアルデータインタフェース1105から入出力するシリアルデータのフォーマット変換をデータ変換部1104で行い、ビデオデータ制御部11単体でもシステムコントローラ7とプロセスコントローラ8の通信に対応できる。
ファクシミリ制御ユニット13は、図6のブロック図に示すように、ファクシミリ送受信部1301と外部インタフェース1302を有する。ファクシミリ送受信部は1301はファクシミリ画像処理部1303と画像メモリ1304とメモリ制御部1305とファクシミリ制御部1306と画像圧縮伸長部1307とモデム1308及び網制御装置1309を有する。ファクシミリ制御ユニット13のファクシミリ画像処理部1303においては受信画像に対する2値スムージング処理は行わず、ビデオデータ制御部11のエッジ平滑処理部1101で行い、画像メモリ1304に関しても、出力バッファ機能に関しては画像メモリアクセス制御部6とメモリ9にその機能の一部を移行する。
このファクシミリ送受信部1301で外部インタフェース1302を介して入力し画像メモリ1304に蓄積している画像データを伝送するとき、ファクシミリ制御部1306がメモリ制御部1305に指令し、画像メモリ1304から蓄積している画像データを順次読み出させる。読み出された画像データはファクシミリ画像処理部1306によって元の信号に復元されるとともに、密度変換処理及び変倍処理がなされファクシミリ制御部1306に送られる。ファクシミリ制御部1306に送られた画像データは画像圧縮伸長部1307によって符号圧縮され、モデム1308によって変調された後、網制御装置1309を介して公衆回線14に送出される。この送信が完了した画像データは画像メモリ1304から削除される。受信時には、受信した画像データは画像メモリ1304に一旦蓄積され、その時に受信画像を印刷出力可能であれば、1枚分の画像データの受信を完了した時点で外部インタフェース1302からパラレルバス5に出力して印刷する。また、読取ユニット1で読み取った画像データを印刷しているときに発呼されて受信を開始した場合は、画像メモリ1304の使用率が所定値、例えば80%に達するまでは受信している画像データを画像メモリ1304に蓄積し、画像メモリ1304の使用率が80%に達した場合には、その時に実行している書込み動作を強制的に中断し、受信画像データを画像メモリ1304から読み出し印刷させる。このとき画像メモリ1304から読み出した受信画像データは画像メモリ1304から削除し、画像メモリ1304の使用率が所定値、例えば10%まで低下した時点で中断していた書込み動作を再開させ、その書込み動作を全て終了した時点で、残りの受信画像データを印刷させる。また、書込み動作を中断した後に、再開できるように中断時に於ける書込み動作のための各種パラメータを内部的に退避させ、再開時にパラメータを内部的に復帰させる。
上記のように構成したデジタル複写機においては、原稿の複写を実行しているときに、前述したように、読取りユニット1で読み取った画像データはセンサ・ボード・ユニット2と画像データ制御部3と画像処理プロセッサ4と画像データ制御部3とに順次転送され、画像データ制御部3からパラレルバス5と画像メモリアクセス制御部6を介してメモリ9に蓄積される。その後、メモリ9に蓄積された画像データは画像メモリアクセス制御部6とパラレルバス5を介して画像データ制御部3に送られ、画像データ制御部3から画像処理プロセッサ4とビデオデータ制御部11を介して作像ユニットに送られ転写画像を形成する。この画像データ制御部3と画像メモリアクセス制御部6とメモリ9との間で画像データを転送するときの様子を図7に示す。図7に示すように、画像データ制御部3から画像データを画像メモリアクセス制御部6に転送してメモリ9に格納する画像データの送信時には、画像データ制御部3の送信FIFO311から画像データを、パラレルデータインタフェース37を介してパラレルバス5へ送る。これは読み取った画像データをメモリ9に蓄積するパスなのでS2Mパスという。また、メモリ9に格納した画像データを画像データ制御部3で受信して印刷出力するとき、画像データ制御部3は画像メモリアクセス制御部6とパラレルバス5を介してパラレルデータインタフェース37で受信した画像データを受信FIFO312に蓄積する。これはメモリ9に格納された画像データを印刷して複写するパスなのでM2Pパスという。原稿を読み取って複写するときには、このS2MパスとM2Pパスの画像データ転送が並行して実行されることになる。このような画像データの転送においては、転送すべき画像データ量がかなり多いため、パラレルバス5上にてバースト転送が用いられる。例えばパソコン等でデータ転送に使われているPCIバスを引用すると、バースト転送ではアドレス及びデータの共用ピンにて、まず、送信時には送信先の先頭アドレスを出力し、受信時には受信データ取り出し先の先頭アドレスを出力し、その後、それまでアドレスが出力されていたピン上にて、そのアドレス以後のデータを連続して転送するもので、これを1トランザクションという。このようにアドレスとデータを時分割方式で転送することにより、データを転送するバスの本数の削減を行っている。例えば8バースト転送ではアドレスを出力してから8個のワードデータの送受信を行う。
パソコン等でデータ転送に使われているPCIバスのデータ転送をするときのバースト長を制御するカウンタブロックを画像データ制御部3のパラレルデータインタフェース37に設け、S2MパスとM2Pパスの画像データ転送が並行して実行される画像データの転送に適用すると、図8のブロック図に示す構成となる。図8に示すように、カウンタブロック91は送信画素数レジスタ72と送信画素数カウンタ73とコンパレータ74とマルチプレクサ75と送信バースト長カウンタ76を有し、画像データ制御部3からメモリ9へ画像データを送信する時のバースト長制御を行う。カウンタブロック92は受信画素数レジスタ82と受信画素数カウンタ83とコンパレータ84とマルチプレクサ85と受信バースト長カウンタ86を有し、画像データ制御部3でメモリ9から画像データを受信する時のバースト長制御を行う。送信用のカウンタブロック91と受信用のカウンタブロック92には共通のバースト長格納レジスタ93が接続されている。このバースト長格納レジスタ93にはシステムコントローラ7から画像データの送受信時のバースト長が格納される。
画像データ制御部3からメモリ9へ送信すべき画素数を送信画素数レジスタ72にセットする。この画像データを送信するときは、送信画素数レジスタ72から送信すべき画素数を送信画素数カウンタ72にロードする。送信画素数カウンタ73は、そのロード信号が「1」のときカウンタ値をロードし、デクリメント信号が「1」のときカウンタ値のデクリメントを実行する。コンパレータ74は送信画素数カウンタ73からロードされたカウンタ値Bとバースト長格納レジスタ93にあらかじめセットされたバースト長Aとを比較し、比較結果をマルチプレクサ75に送る。マルチプレクサ75はバースト長格納レジスタ93にセットされたバースト長Aがロードされたカウンタ値Bより小さいときは、バースト長格納レジスタ93にセットされたバースト長Aを送信バースト長として選択し、バースト長格納レジスタ93にセットされたバースト長Aがロードされたカウンタ値Bより大きいときはカウンタ値Bを送信バースト長として選択し、選択した送信バースト長を送信バースト長カウンタ76にロードする。送信バースト長カウンタ76は、そのロード信号「1」のときロードされた送信バースト長をロードし、デクリメント信号が「1」のときデクリメントが実行される。このように送信バースト長カウンタ76に送信バースト長がセットされた後、バースト送信が開始され、画像データ制御部3からパラレルバス5と画像メモリアクセス制御部6を介してメモリ9へ1ワード送信されるたびに送信バースト長カウンタ76及び送信画素数カウンタ72の値がデクリメントされる。そして送信バースト長カウンタ76の値が「0」になった時点でバースト送信が終了する。そのとき送信画素数カウンタ73の値が「0」になっていなければ、まだ送信すべき画像データが画像データ制御部3の送信FIFO311に残っていることになるので再度バースト送信が開始され、送信画素数カウンタ73の値が「0」になるまでバースト送信を繰り返す。
メモリ9に格納された画像データを画像データ制御部3で受信するときは、受信画素数レジスタ82から受信すべき画素数を受信画素数カウンタ83にロードする。受信画素数カウンタ83は、そのロード信号が「1」のときカウンタ値をロードし、デクリメント信号が「1」のときカウンタ値のデクリメントを実行する。コンパレータ84は受信画素数カウンタ83からロードされたカウンタ値Bとバースト長格納レジスタ93にあらかじめセットされたバースト長Aとを比較し、比較結果をマルチプレクサ85に送る。マルチプレクサ85はバースト長格納レジスタ93にセットされたバースト長Aがロードされたカウンタ値Bより小さいときは、バースト長格納レジスタ93にセットされたバースト長Aを受信バースト長として選択し、バースト長格納レジスタ93にセットされたバースト長Aがロードされたカウンタ値Bより大きいときはカウンタ値Bを受信バースト長として選択し、選択した受信バースト長を受信バースト長カウンタ86にロードする。受信バースト長カウンタ86は、そのロード信号「1」のときロードされた受信バースト長をロードし、デクリメント信号が「1」のときデクリメントが実行される。このように受信バースト長カウンタ86に受信バースト長がセットされた後、バースト受信が開始され、画像データ制御部3はメモリ9から画像メモリアクセス制御部6とパラレルバス5を介して1ワード受信するたびに受信バースト長カウンタ86及び送信画素数カウンタ82の値がデクリメントされる。そして受信バースト長カウンタ86の値が「0」になった時点でバースト送信が終了する。そのとき受信画素数カウンタ83の値が「0」になっていなければ、まだ受信すべき画像データがメモリ9に残っていることになるので再度バースト受信が開始され、受信画素数カウンタ83の値が「0」になるまでバースト受信を繰り返す。
このようにバースト長格納レジスタ93に格納されたバースト長により複写動作を実行ために、画像データ制御部3で画像データを送信するS2Mパスと画像データを受信するM2Pパスにおけるバースト送受信の様子を図9に示す。ここではパラレルバス5によって240画素の画像データの送受信が同時に開始され、送受信バースト長=8(8ワード)としている。パラレルバス5のバス幅は32ビットで1画素は8ビットデータと仮定すると、1ワードの32ビットで4画素分のデータを転送でき、バースト長=8で32画素分のデータを送受信できる。図9においてp0〜p239は送信する240画素分の画素データを示し、d0〜d239は受信する240画素分の画素データを示す。T1〜T8は8回の送信トランザクションを示し、R1〜R8は8回の受信トランザクションを示す。T1〜T7までは各32画素分のバースト送信を行い、8回目の送信トランザクションT8で残りの16画素(バースト長4)の送信を行っている。同様に、R1〜R7では各32画素分のバースト受信を行い、8回目の受信トランザクションR8で残りの16画素(バースト長4)の受信を行っている。
この複写動作を実行するときに、原稿の画像を200%に拡大して読み取り、読み取った画像データを画像データ制御部3でメモリ9に送信するS2Mパスとメモリ9から画像データを受信するM2Pパスにおけるバースト送受信の様子を図10(a)に示す。原稿の画像を200%に拡大して読み取っているから送信画素数が240画素(p0〜p239)から480画素(p0〜p479)に増加する。バースト長は送受信共に「8」であり、送信と受信が交互に実行されるため、時間t2付近で受信が終了し、その後送信のみが実行される。このとき、バースト受信よりもバースト送信の方が優先度が高く、送信を早くやらなければならない場合には送信終了が遅いため不具合が生じる。
これを解消するためには、バス調停部21で送信側に多くの使用許可を与える必要があるが、その優先度を細かく設定するには、バス調停部21の構成がかなり複雑になり、しかもバス調停に時間を要するようになる。このためパソコン等でデータ転送に使われているPCIバスのデータ転送をするときのバースト長を制御するカウンタブロックを画像データ制御部3のパラレルデータインタフェース37に設け、S2MパスとM2Pパスの画像データ転送が並行して実行される画像データの転送に適用した場合、バスの転送速度を速めたり、バスの使用効率を向上させることは困難である。
そこで画像データ制御部3のパラレルデータインタフェース37に、図11のブロック図に示すように、送信バースト長格納レジスタ71と送信画素数レジスタ72と送信画素数カウンタ73とコンパレータ74とマルチプレクサ75と送信バースト長カウンタ76を有する送信用カウンタブロック70と、受信バースト長格納レジスタ81と受信画素数レジスタ82と受信画素数カウンタ83とコンパレータ84とマルチプレクサ85と受信バースト長カウンタ86を有する送信用カウンタブロック80をそれぞれ独立して設け、S2Mパスのバースト長とM2Pパスのバースト長を別々に設定できるようにする。
そして画像データ制御部3からメモリ9へ画像データを送信するS2Mパスを実行するとき、操作パネル19で設定された変倍率や原稿サイズ等により定まる読取ユニット1で読み取る原稿の画像データ量に応じてシステムコントローラ7で送信バースト長を送信バースト長格納レジスタ71に格納し、送信すべき画素数を送信画素数レジスタ72にセットする。この画像データを送信するときは、送信画素数レジスタ72から送信すべき画素数を送信画素数カウンタ72にロードする。送信画素数カウンタ73は、そのロード信号が「1」のときカウンタ値をロードし、デクリメント信号が「1」のときカウンタ値のデクリメントを実行する。コンパレータ74は送信画素数カウンタ73からロードされたカウンタ値Bと送信バースト長格納レジスタ71にセットされたバースト長Aとを比較し、比較結果をマルチプレクサ75に送る。マルチプレクサ75は送信バースト長格納レジスタ71にセットされたバースト長Aがロードされたカウンタ値Bより小さいときは、送信バースト長格納レジスタ71にセットされたバースト長Aを送信バースト長として選択し、送信バースト長格納レジスタ71にセットされたバースト長Aがロードされたカウンタ値Bより大きいときは、カウンタ値Bを送信バースト長として選択し、選択した送信バースト長を送信バースト長カウンタ76にロードする。送信バースト長カウンタ76は、そのロード信号「1」のときロードされた送信バースト長をロードし、デクリメント信号が「1」のときデクリメントが実行される。このように送信バースト長カウンタ76に送信バースト長がセットされた後、バースト送信が開始され、画像データ制御部3からパラレルバス5と画像メモリアクセス制御部6を介してメモリ9へ1ワード送信されるたびに送信バースト長カウンタ76及び送信画素数カウンタ72の値がデクリメントされる。そして送信バースト長カウンタ76の値が「0」になった時点でバースト送信が終了する。そのとき送信画素数カウンタ73の値が「0」になっていなければ、まだ送信すべき画像データが画像データ制御部3の送信FIFO311に残っていることになるので再度バースト送信が開始され、送信画素数カウンタ73の値が「0」になるまでバースト送信を繰り返す。
メモリ9に格納された画像データを画像データ制御部3で受信するM2Pパスを実行するときは、受信する画像データのデータ量に応じてシステムコントローラ7で受信バースト長を受信バースト長格納レジスタ81に格納し、受信すべき画素数を受信画素数レジスタ82にセットする。そして受信画素数レジスタ82から受信すべき画素数を受信画素数カウンタ83にロードする。受信画素数カウンタ83は、そのロード信号が「1」のときカウンタ値をロードし、デクリメント信号が「1」のときカウンタ値のデクリメントを実行する。コンパレータ84は受信画素数カウンタ83からロードされたカウンタ値Bと受信バースト長格納レジスタ81にセットされたバースト長Aとを比較し、比較結果をマルチプレクサ85に送る。マルチプレクサ85は受信バースト長格納レジスタ81にセットされたバースト長Aがロードされたカウンタ値Bより小さいときは、受信バースト長格納レジスタ81にセットされたバースト長Aを受信バースト長として選択し、受信バースト長格納レジスタ81にセットされたバースト長Aがロードされたカウンタ値Bより大きいときはカウンタ値Bを受信バースト長として選択し、選択した受信バースト長を受信バースト長カウンタ86にロードする。受信バースト長カウンタ86は、そのロード信号「1」のときロードされた受信バースト長をロードし、デクリメント信号が「1」のときデクリメントが実行される。このように受信バースト長カウンタ86に受信バースト長がセットされた後、バースト受信が開始され、画像データ制御部3はメモリ9から画像メモリアクセス制御部6とパラレルバス5を介して1ワード受信するたびに受信バースト長カウンタ86及び送信画素数カウンタ82の値がデクリメントされる。そして受信バースト長カウンタ86の値が「0」になった時点でバースト送信が終了する。そのとき受信画素数カウンタ83の値が「0」になっていなければ、まだ受信すべき画像データがメモリ9に残っていることになるので再度バースト受信が開始され、受信画素数カウンタ83の値が「0」になるまでバースト受信を繰り返す。
このように画像データ制御部3からメモリ9へ画像データを送信するS2Mパスとメモリ9に格納された画像データを画像データ制御部3で受信するM2Pパスを実行するときに送信バースト長と受信バースト長を伝送する画像データのデータ量に応じて別々に設定して、原稿の画像を200%に拡大して読み取り、複写動作を実行するときのS2MパスとM2Pパスにおけるバースト送受信の様子の例を図10(b),(c)に示す。図10(b)は、受信バースト長を「8」に設定し、送信画素数が受信画素数の2倍になるから、送信バースト長を受信バースト長の2倍の「16」に設定した場合を示し、(c)は受信バースト長を「8」に設定し、送信バースト長を受信バースト長の4倍の「32」に設定した場合を示す。原稿の画像を200%に拡大して読み取り、S2MパスとM2Pパスでバースト送受信したときに、送信バースト長と受信バースト長が「8」と同じ場合には、図10(a)に示すようにトランザクション数はT1〜T15の15回になるが、送信バースト長を「16」、受信バースト長を「8」とした場合は、図10(b)に示すように、トランザクション数はT1〜T8の8回になり、さらに送信バースト長を「32」とした場合は、図10(c)に示すように、トランザクション数はT1〜T4の4回になる。また、送信バースト長を「16」と受信バースト長の2倍に設定した場合、送信と受信のバースト転送終了は、双方共にほぼ同じ時間t5になる。さらに、送信バースト長を受信バースト長の4倍の「32」にすることにより、送信のバースト転送終了は受信時よりもかなりはやく時間t7になる。例えば送信画像データの256画素目のデータp255がメモリ9に格納されるタイミングを見ると送信バースト長が「8」の場合は時間t2であったが、送信バースト長を「16」に設定することにより時間t4となり、さらに、送信バースト長を「32」に設定すると時間t6とかなり早くメモリ9に格納することができる。したがって複写動作のように画像データ制御部3における画像データの受信よりも画像データの送信の方が優先度が高く、送信を早くやらなければならない場合に、送信バースト長を受信バースト長より大きくすることにより、簡単なバス調停方式で優先度が高い画像データを迅速に転送することができる。
前述したように、複写動作を実行時にはS2MパスとM2Pパスの画像データ転送が並行して実行されることになる。この場合、パラレルバス5上ではバースト送信とバースト受信が交互に行われることになる。このようにバースト送信とバースト受信を行うとき、データ転送に使う制御シーケンサの状態遷移図の概要を図12に示す。図12において(a)はバースト送信とバースト受信を交互に行うためのステートマシンで構成した送受信シーケンサであり、(b)は送信シーケンサ、(c)は受信シーケンサである。図12(a)の送受信シーケンサで今ステートS0の状態のときに画像データ制御部3の送信FIFO311にメモリ9に蓄積すべき画像データが格納し終わり、信号IT_EXEにより画像送信が要求されると送受信シーケンサはステートS1に遷移し、送信シーケンサ起動信号IT_EXE2により(b)の送信シーケンサに起動をかけた後、ステートS2にて次の転送要求まで待機する。(b)の送信シーケンサは送信シーケンサ起動信号IT_EXE2の入力により起動がかかり、アイドル状態のステートS4からステートS5に移行することによってバースト送信が開始される。ステートS5はパラレルバス5の使用許可を要求するためにバス調停部21にリクエスト信号IT_REQを出力している状態である。バス調停部21からバス使用許可信号IT_GNTが入力されるとステートS5からステートS6に遷移し、ステートS6のバースト送信起動信号IT_STARTの出力よりバースト送信の起動をかけ、ステートS7でバースト送信が終了するまで、すなわち送信バースト長カウンタ76の値が「0」になるまで待機する。送信バースト長カウンタ76の値が「0」になり、バースト送信が終了すると、その旨を示す信号IT_ENDが入力され、ステートS7からアイドル状態のステートS4に戻る。
次に、送受信シーケンサのステートS2で画像受信要求信号IR_EXEが入力されると、ステートS2からステートS3へ遷移し、受信シーケンサ起動信号IR_EXE2により、(c)の受信シーケンサに起動をかけた後、ステートS0にて次の転送要求まで待機する。(c)の受信シーケンサは受信シーケンサ起動信号IR_EXE2の入力により起動がかかり、ステートS8からステートS9に移行することによってバースト受信が開始される。ステートS9はパラレルバス5の使用許可を要求するためにバス調停部21にリクエスト信号IR_REQを出力している状態である。バス調停部21よりバス使用許可信号IR_GNTが入力されるとステートS9からステートS10に遷移し、ステートS10のバースト受信起動信号IR_STARTの出力によりバースト受信の起動をかけ、ステートS11でバースト受信が終了するまで、すなわち受信バースト長カウンタ86の値が「0」になるまで待機する。受信バースト長カウンタ86の値が「0」になり、バースト受信が終了すると、その旨を示す信号IR_ENDが入力されるのでステートS11からアイドル状態のステートS8に戻る。
図12(a)の送受信シーケンサにおいて、ステートS0の状態にあるとき、送信要求信号IT_EXEと受信要求信号IR_EXEの双方の要求がきた場合には、状態遷移図に示すように送信要求に応え、ステートS0からステートS1への遷移によってバースト送信が実行される。一方、ステートS2の状態にあるとき、同様に送信要求信号IT_EXEと受信要求信号IR_EXEの双方の要求がきた場合には、今度は状態遷移図に示すように受信要求に応え、ステートS2からステートS3への遷移によってバースト受信が実行される。このようにしてバースト送信とバースト受信が交互に実行される。
前記説明ではパラレルバス5上ではバースト送信とバースト受信が交互に行なうとき、データ転送に使う制御シーケンサを送受信シーケンサと送信シーケンサ及び受信シーケンサの3つのシーケンサにより構成した場合について説明したが、送受信シーケンサと送信シーケンサ及び受信シーケンサを1つのシーケンサで実現することもできる。図13は画像データ制御部3でバースト送信とバースト受信を並列して実行するときの制御シーケンサを1つのシーケンサで構成した場合の状態遷移図の概要を示す。図13の状態遷移図においてはステートS0が送信アイドルステート、ステートS1〜S3がバースト送信シーケンス、ステートS4が受信アイドルステート、ステートS5〜S7がバースト受信シーケンスである。送信アイドルステートS0の状態のとき、画像送信要求信号IT_EXEにより画像送信が要求されるとステートS0からステートS1に遷移し、ステートS1でパラレルバス5の使用許可を要求するためにリクエスト信号IT_REQを出力し、バス調停部21よりバス使用許可信号IT_GNTが入力されるとステートS1からステートS2に遷移し、ステートS2でバースト送信起動IT_STARTをかけ、ステートS3でバースト送信が終了するまで、すなわち送信バースト長カウンタ76の値が「0」になるまで待機する。送信バースト長カウンタ76の値が「0」になり、バースト送信が終了すると、その旨を示す新語IT_ENDが入力され、ステートS3から受信のアイドルステートS4に遷移する。
ステートS4の状態で画像受信要求信号IR_EXEが入力されると、ステートS4からステートS5へ遷移し、ステートS5でパラレルバス5の使用許可を要求するためにバス調停部21にリクエスト信号IR_REQを出力し、バス調停部21よりバス使用許可信号IR_GNTが入力されるとステートS5からステートS6に遷移し、ステートS6でバースト受信の起動IR_STARTをかけ、ステートS7でバースト受信が終了するまで、すなわち受信バースト長カウンタ86の値が「0」になるまで待機する。受信バースト長カウンタ86の値が「0」になり、バースト受信が終了すると、その旨を示す信号IR_ENDが入力され、ステートS7から送信アイドル状態のステートS0に戻る。
また、送信アイドルステートS0にあるとき、送信要求信号IT_EXEと受信要求信号IR_EXEの双方の要求がきた場合には、送信要求に応えステートS0からステートS1へ遷移してバースト送信が実行される。また、受信アイドルステートS4にあるとき、同様に送信要求信号IT_EXEと受信要求信号IR_EXEの双方の要求がきた場合には、受信要求に応えステートS4からステートS5へ遷移してバースト受信が実行される。このようにして、バースト送信とバースト受信を交互に実行する。また、送信アイドルステートS0にあるときデータ送信要求がなくデータ受信要求があった時に受信アイドルステートS4に移行しデータ受信を実行し、受信アイドルステートS4の状態でデータ受信要求がなくデータ送信要求があったときに送信アイドルステートS0に移行しデータ送信を実行する
このように制御シーケンサを1つのシーケンサで構成することにより、制御シーケンサを送受信シーケンサと送信シーケンサ及び受信シーケンサの3つのシーケンサで構成する場合と比べてステート数も12ステートから8ステートに減らすことができるとともに、構成回路も少なくすることができ、複雑なシーケンサ等の制御回路を使用しないで画像データのバースト送信とバースト受信を並行して実行することができる。
前記説明ではデジタル複写機で複写動作を行なう時に読み取った画像データを画像データ制御部3からパラレルバス5を介してメモリ9に格納し、メモリ9に格納した画像データを画像データ制御部3で受信する場合について説明したが、図14のブロック図に示すように、複数のプロセッサ200a,200b〜200nが共有メモリ201を持つ多重プロセッサにおいても、各プロセッサ200a〜200nの転送するデータ量や優先度に応じて各プロセッサ200a〜200nのPCIバス202の使用権の占有時間やバースト長を別々に設定しても良い。このように各プロセッサ200a〜200nの転送するデータ量等により、使用権の占有時間やバースト長を別々に設定することにより、データの転送効率を高めることができるとともに、バス調停回路203の構成を簡略化することができる。
また、図15のブロック図に示すように、複数の端末装置204a〜204cから交換機205と伝送路206と交換機207を有するパケット交換網を介して端末装置208a,208bにデータを送信するとき、各端末装置204a〜204cの転送するデータ量に応じてパケット長を各端末装置204a〜204c毎に別々に設定することにより、データの転送効率を高めることができるとともに伝送路206を有効に活用することができる。