(57)【特許請求の範囲】
【請求項１】
複数のワードを連続して出力するバースト伝送でデータを送信する送信部と、
データを受信する受信部と、
前記送信部からバースト伝送されたデータを受け前記受信部に転送するバッファ部と、を有し、
前記バッファ部は、
前記送信部から送信されたデータの受信、書込、及び、前記受信部へのデータの引渡を制御するコントローラと、
少なくとも１ワード分の容量を有する記憶ブロックを、少なくとも１回のバースト伝送に含まれるワード数分含むバッファメモリと、
少なくとも現在のバースト伝送での各ワードの前記記憶ブロックへの書込順及び読出順と、次回のバースト伝送での各ワードの各前記記憶ブロックへの書込順及び読出順を示すインデックステーブルを記憶するインデックスメモリと、を含み
前記インデックメモリは、前記バッファメモリから前記受信部へのワードの読出順指示を前記送信部及び／又は前記受信部から受け、前記読出順指示にあわせ、予め定められたインデックステーブルをセットし、
前記コントローラは、前記インデックステーブルに定められた順番に基づき、前記送信部からバースト伝送された各ワードの各前記記憶ブロックへの書込と、前記受信部への出力のため各前記記憶ブロックに書き込まれた各ワードの読出と、を前記バッファメモリに並行して行わせることを特徴とするデータ伝送装置。
【請求項２】
前記インデックステーブルは、複数行を有し、各行に書込及び読出を行う前記記憶ブロックが記され、
前記コントローラは、
ワードの読出に関しては、前記記憶ブロックからのワードの読出を完了すると、次行を参照し、次行に記された前記記憶ブロックからワードを読出して前記受信部に出力し、最終行に至ると前記インデックステーブルの先頭行に戻って参照して読出を行い、かつ、前記インデックステーブルで書込で参照される行よりも先行する行を参照して読出を行い、
ワードの書込に関しては、前記記憶ブロックへのワードの書込を完了すると、次行を参照し、次行に記された前記記憶ブロックに到着したワードを書き込み、最終行に至ると、前記インデックステーブルの先頭行に戻って参照し、
前記記憶ブロックへのワードの書き込みが行われると、前記読出順指示に合うように、次のバースト伝送で参照される前記インデックステーブルの行の値を変更することを特徴とする請求項１記載のデータ伝送装置。
【請求項３】
前記コントローラは、書込のため前記インデックステーブルで参照している行に対し、予め定められた命令値を加えた行で示されている前記記憶ブロックの値を、前記インデックステーブルで現在参照している行よりも１バースト伝送後に参照される行の前記記憶ブロックの値として、前記インデックステーブルを変更することを特徴とする請求項２記載のデータ通信装置。
【請求項４】
前記バッファ部は、前記記憶ブロックにワードが書き込まれているか否かの状態を示すフラグとしての状態ビットを各前記記憶ブロックについて記憶し、
前記コントローラは、前記インデックステーブルの行を参照して書込を行う場合、書込先の前記記憶ブロックの前記状態ビットが未書込を示す状態となるまで、前記記憶ブロックへのワードの書込を待機するとともに、前記送信部に次のワードの送信を待機させ、ワードが前記受信部に出力された場合、読み出されたワードが記憶されていた前記記憶ブロックの前記状態ビットを未書込の状態に更新することを特徴とする請求項１乃至３のいずれか１項に記載のデータ伝送装置。
【請求項５】
前記バッファ部は、バースト伝送で前記送信部から受信したワードの順序を、前記読出順指示に基づき、逆転させて前記受信部に出力することを特徴とする請求項１乃至４のいずれか１項に記載のデータ伝送装置。
【請求項６】
複数種の前記送信部と複数種の前記受信部の間にバスが設けられ、
前記バッファ部は、前記バスに接続されることを特徴とする請求項１乃至５のいずれか１項に記載のデータ伝送装置。
【請求項７】
前記送信部は、画像データを出力し、
前記受信部は、画像データに対し画像処理を行う画像処理部及び／又は、読出された画像データを記憶するＲＡＭであることを特徴とする請求項１乃至６のいずれか１項に記載のデータ伝送装置。
【請求項８】
請求項１乃至７のいずれか１項に記載のデータ伝送装置を有することを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ある場所（送信部）からある場所（受信部）へのデータの伝送を行うデータ伝送装置、及び、このデータ伝送装置を有する複合機、複写機、ファクシミリ、プリンタ等の画像形成装置に関する。
【背景技術】
【０００２】
例えば、複合機等の画像形成装置等の各種電子・電気機器は、ＣＰＵや、複数種の記憶装置や、データの処理（例えば、画像処理）を行う処理部等を含む。そして、記憶装置同士の間や、記憶装置と処理部間のように、装置内部で設定データやプログラム等の各種データの伝送が行われる。例えば、画像データの伝送などで回転処理を行う場合など、必ずしも、画像データの先頭から順に（先頭アドレスから順に）伝送するとはかぎらず、伝送順序を変更したい場合がある。
【０００３】
例えば、特許文献１には、第１のメモリに（ｘ画素×ｙ画素）のラスター画像状に保持された画像データのｎ×ｎ画素（ｎ≦ｘ，ｙ）を１単位とする画像ブロックを回転角度に応じたブロック順に読出、第２のメモリに転送する第１のブロック転送手段と、第２のメモリ上の少なくとも１つのｎ×ｎ画素の画像ブロックがｎ×ｎ個のアドレスに振り分け、ブロックの書き込みアドレス順と読出アドレス順を回転角度に応じて変更可能に構成し、第２のメモリへ書き込む前の画像データと第２のメモリから読み出される画像データをブロック単位で回転するブロック回転手段と、第２のメモリから、ブロック回転手段で回転処理された画像ブロックを少なくとも（ｘ画素とｙ画素の大きい画素×ｎ画素）の画素ブロックを有する第３のメモリに転送する第２のブロック転送手段と、第３のメモリからラスター状に画像データを順次読み出す読出手段と、を備える画像処理装置が記載されている。この構成により、回転画像を形成するうえで、１ページ分のページメモリを設けず、例えば１ブロックライン分のメモリで抑えた、比較的安価で回転処理が可能な画像処理装置を提供しようとする（特許文献１：請求項１、段落［００１０］等参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１０９８５６
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、画像形成装置内では、画像データが複数の部分に伝送され、印刷がなされる。例えば、画像データは、原稿を読み取った画像読取部からメモリに出力される。そして、メモリからＣＰＵや画像処理部等に出力される。更に、画像処理済みの画像データは、画像処理部等から、再度、メモリや画像データに基づき画像形成を行う画像形成部に引き渡される。言い換えると、様々なデータの送信部と受信部としてのデバイスがある。
【０００６】
そして、一般に、ひとかたまりのデータは（例えば、画像データでいえば、１ページ分の画像データ）、アドレス順に伝送される。しかし、回転処理等を行う場合などは、ひとかたまりのデータ内で配列の変更を要する。従って、画像データを単にアドレス順に送信すると処理効率が悪くなることがある。例えば、回転処理の場合、受信先で、画素の位置の入れ替え作業（配列の変更作業）が必要となる。そのため、例えば、ページメモリ等の専用のメモリが設けられる場合もある。
【０００７】
又、例えば、インターリーブ順、アドレス順、ライン順等、受信部側の構成、仕様によって、受信部は、送信部に対して、データの伝送順序を指定し、送信元は指定された順序でデータを伝送する場合もある。しかし、必ずしも、ハードウェア構成や仕様上、送信部は、受信部側が所望するデータの伝送順序でデータを送信できるとは限らない。
【０００８】
そのため、処理効率の向上や、受信部側が所望するデータの伝送順序でデータを受信できるように、伝送経路上に、画像データの伝送順序を変更する順序変更部（例えば、バッファ）が設けられる場合がある。
【０００９】
しかし、従来、データの伝送順序を変更するためのバッファは、例えば、送信部や受信部の一部や付属するものとして設けられ、送信部や受信部ごとに設けられていた。ここでバッファの必要な容量を考える。例えば、複数ワードを連続的に伝送するバースト伝送でデータ伝送が行われる場合、バッファが、１回のバースト伝送分しか容量を有さないと、ワードの伝送順序の並び替えや受信先への出力中は、次のバースト伝送を受け入れることができない。従って、データ伝送速度を落とす必要がある。特に、ワードの伝送順序を逆転させる場合、データ伝送速度が低下することになる。従って、ワードの伝送順序を並び替えつつ、次に来るバースト伝送を受け入れて、データ伝送速度を落とさないようにするには、バッファは、最低２回のバースト伝送分の容量が必要となる。
【００１０】
ところが、近年、１回のバースト伝送でのデータ量が増加しつつある。そうすると、バッファに求められる容量も増加し、製造コストが増大するという問題がある。特に、画像形成装置のように、送信部と受信部となるデバイスが多数搭載される場合、必要な地点ごとにバッファを設けると、各バッファの容量の増加が必要となり、総合的にみて、製造コスト増大や設置スペース等の面で大きな問題となる。
【００１１】
ここで、特許文献１記載の画像処理装置は、回転処理のみについて対応したもので、ワードの順序を並び替えに対応したものではない。又、ワードの順序を並び替えに関する言及はない。又、特許文献１記載の発明では、回転角度に応じた順序でブロック単位で画像データを第１のメモリから第２のメモリに格納し、第２のメモリで回転処理を行う。ここで、第２のメモリは、２ライン分の容量を有する形態が示されている（特許文献１、段落［００１９］、図２等参照）。即ち、データ伝送速度の低下を防ぐため、バースト伝送２回分のメモリが設けられる。尚、少なくとも、１ラインブロックを設ければよいと特許文献１に記載されているが（特許文献１、段落［００１９］参照）、１ラインブロックの場合、２ラインブロック分の容量とする場合に比べて、データの出力が終わるまで、次のラインを書き込めないので、データ伝送速度は半分の速度となる。
【００１２】
本発明は、上記問題点を鑑み、データの伝送順序の変更に要するバッファの容量を、バースト転送１回分のデータサイズに抑え、伝送速度の低下を防ぎつつ、任意の伝送順序に変更してデータを伝送することを課題とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために請求項１に係るデータ伝送装置は、複数のワードを連続して出力するバースト伝送でデータを送信する送信部と、データを受信する受信部と、前記送信部からバースト伝送されたデータを受け前記受信部に転送するバッファ部と、を有し、前記バッファ部は、前記送信部から送信されたデータの受信、書込、及び、前記受信部へのデータの引渡を制御するコントローラと、少なくとも１ワード分の容量を有する記憶ブロックを、少なくとも１回のバースト伝送に含まれるワード数分含むバッファメモリと、少なくとも現在のバースト伝送での各ワードの前記記憶ブロックへの書込順及び読出順と、次回のバースト伝送での各ワードの各前記記憶ブロックへの書込順及び読出順を示すインデックステーブルを記憶するインデックスメモリと、を含み、前記インデックメモリは、前記バッファメモリから前記受信部へのワードの読出順指示を前記送信部及び／又は前記受信部から受け、前記読出順指示にあわせ、予め定められたインデックステーブルをセットし、前記コントローラは、前記インデックステーブルに定められた順番に基づき、前記送信部からバースト伝送された各ワードの各前記記憶ブロックへの書込と、前記受信部への出力のため各前記記憶ブロックに書き込まれた各ワードの読出と、を前記バッファメモリに並行して行わせることとした。
【００１４】
この構成によれば、バッファメモリは、インデックステーブルに定められた順番に基づき、送信部からバースト伝送された各ワードの各記憶ブロックへの書き込みと、インデックステーブルに定められた順番に基づき、各記憶ブロックに書き込まれている各ワードを読出て受信部への出力が並行して行われる。これにより、読出順指示にあわせて随時更新されるインデックステーブルに定められたバッファメモリの各記憶ブロックに、各ワードの書込が行われていく。従って、バッファの容量が１回のバースト伝送分のデータサイズでも、滞りなく、データの伝送順序の変更が行われつつ、送信部から受信部にデータを伝送することができる。
【００１５】
尚、「ワード」とは、データ量の単位であり、複数のビット（例えば、３２ビットや６４ビット）からなる。又、またデータ自体を表す言葉でもある。又、「バースト伝送」とは、例えば、アドレスの指定などの手順を一部省略して、連続してワードを伝送して高速化をはかる伝送方法である。
【００１６】
又、請求項２に係る発明は、請求項１の発明において、前記インデックステーブルは、複数行を有し、各行に書込及び読出を行う前記記憶ブロックが記され、前記コントローラは、ワードの読出に関しては、前記記憶ブロックからのワードの読出を完了すると、次行を参照し、次行に記された前記記憶ブロックからワードを読出して前記受信部に出力し、最終行に至ると前記インデックステーブルの先頭行に戻って参照して読出を行い、かつ、前記インデックステーブルで書込で参照される行よりも先行する行を参照して読出を行い、ワードの書込に関しては、前記記憶ブロックへのワードの書込を完了すると、次行を参照し、次行に記された前記記憶ブロックに到着したワードを書き込み、最終行に至ると、前記インデックステーブルの先頭行に戻って参照し、前記記憶ブロックへのワードの書き込みが行われると、前記読出順指示に合うように、次のバースト伝送で参照される前記インデックステーブルの行の値を変更することとした。
【００１７】
この構成によれば、コントローラは、次のバースト伝送で参照されるインデックステーブルの行の値を変更する。これにより、読出で参照される行が書込で参照される行よりも先行し、かつ、次のバースト伝送に備えてインデックステーブルが変更されるので、次のバースト伝送では、読み出しが終わった記憶ブロックに、随時書込が行われるインデックステーブルを生成することができる。
【００１８】
又、請求項３に係る発明は、請求項２の発明において、前記コントローラは、書込のため前記インデックステーブルで参照している行に対し、予め定められた命令値を加えた行で示されている前記記憶ブロックの値を、前記インデックステーブルで現在参照している行よりも１バースト伝送後に参照される行の前記記憶ブロックの値として、前記インデックステーブルを変更することとした。
【００１９】
この構成によれば、所望する順番にワード（データ）の伝送順序の変更するために、予め定められた命令値を用いて、インデックステーブルの書き換えが行われる。これにより、命令値を切り替えるだけで、様々な伝送順序に切り替えることができる。
【００２０】
又、請求項４に係る発明は、請求項１乃至３の発明において、前記バッファ部は、前記記憶ブロックにワードが書き込まれているか否かの状態を示すフラグとしての状態ビットを各前記記憶ブロックについて記憶し、前記コントローラは、前記インデックステーブルの行を参照して書込を行う場合、書込先の前記記憶ブロックの前記状態ビットが未書込を示す状態となるまで、前記記憶ブロックへのワードの書込を待機するとともに、前記送信部に次のワードの送信を待機させ、ワードが前記受信部に出力された場合、読み出されたワードが記憶されていた前記記憶ブロックの前記状態ビットを未書込の状態に更新することとした。
【００２１】
この構成によれば、インデックステーブルの行を参照して書込を行う場合、書込先の記憶ブロックの状態ビットが未書込を示す状態となるまで、記憶ブロックへのワードの書込は待機されるとともに、送信部に次のワードの送信を待機させ、ワードが受信部に出力された場合、読み出されたワードが記憶されていた記憶ブロックの状態ビットは、未書込の状態に更新される。これにより、書込対象の記憶ブロックが空き次第、ワードが書き込まれ、又、読出をしていない限り、記憶ブロックが上書きされることもない。
【００２２】
又、請求項５に係る発明は、請求項１乃至４の発明において、前記バッファ部は、バースト伝送で前記送信部から受信したワードの順序を、前記読出順指示に基づき、逆転させて前記受信部に出力することとした。
【００２３】
この構成によれば、バースト伝送で送信部から受信したワードの順序は、読出順指示に基づき、逆転されて受信部に出力される。これにより、両面印刷の場合の裏面用の画像データ等、逆方向に画像データを伝送する場合でも大容量のバッファを設けることなく、スムーズにデータの伝送を行うことができる。
【００２４】
又、請求項６に係る発明は、請求項１乃至５の発明において、複数種の前記送信部と複数種の前記受信部の間にバスが設けられ、前記バッファ部は、前記バスに接続されることとした。
【００２５】
この構成によれば、バッファ部は、バスに接続される。これにより、どのような送信部と受信部の組み合わせでのデータ伝送であっても、１回のバースト伝送のデータサイズの容量を有するバッファメモリを有するバッファ部を１つ設けておくだけで、伝送速度を落とすことなく、ワードの伝送順序の変換を行いつつデータの伝送を行うことができる。
【００２６】
又、請求項７に係る発明は、請求項１乃至６の発明において、前記送信部は、画像データを出力し、前記受信部は、画像データに対し画像処理を行う画像処理部及び／又は、読出された画像データを記憶するＲＡＭであることとした。
【００２７】
この構成によれば、送信部は、画像データを出力し、受信部は、画像データに対し画像処理を行う画像処理部及び／又は、読出された画像データを記憶するＲＡＭとする。これにより、回転処理等のため、画像データの伝送において、ワードの伝送順序の変更が必要な場合でも、大容量のバッファメモリを設けることなく、スムーズにワードの伝送順序の変更を行いつつ、データの伝送を行うことができる。従って、バッファメモリの増設を行うことなく、最低限の容量のバッファメモリで、画像データの処理速度の低下を防ぐことができる。
【００２８】
又、請求項８に係る画像形成装置は、請求項１乃至請求項７のいずれか１項に記載のデータ伝送装置を含むこととした。
【００２９】
この構成によれば、送信部と受信部のデータの伝送において、バッファメモリの容量が、１回のバースト伝送分のデータサイズしかなくても、滞ることなく、任意にバースト伝送でのワードの伝送順序を変更しつつ、データの伝送を行うことができる。従って、ワードの伝送順序の変更に要するバッファメモリを大きく減らすことができ、製造コスト削減を図ることができる。又、各送信部と各受信部での規格や仕様上のデータの伝送順序にとらわれずに、デバイスを採用することができ、画像形成装置の設計、開発の自由度を高めることができる。
【発明の効果】
【００３０】
本発明によれば、バッファの容量が１回のバースト伝送分のデータサイズでも、滞りなく、データの伝送順序の変更が行われつつ、送信部から受信部にデータが伝送される。
【図面の簡単な説明】
【００３１】
【図１】実施形態に係る複合機の一例を示す模型的正面断面図である。
【図２】実施形態に係る複合機のハードウェア構成の一例を示すブロック図である。
【図３】実施形態に係るデータ伝送装置の構成の一例を示すブロック図である。
【図４】実施形態に係るデータ伝送装置でのインデックステーブルの一例を示す説明図である。
【図５】実施形態に係るデータ伝送装置での伝送順序の変更の概要を記す説明図であり、（ａ）は、バースト伝送の一例を示し、（ｂ）は、画像データの一例を示す。
【図６】データ伝送の流れの一例を示す説明図である。
【図７】データ伝送の流れの一例を示す説明図である。
【図８】データ伝送の流れの一例を示す説明図である。
【図９】データ伝送の流れの一例を示す説明図である。
【図１０】データ伝送の流れの一例を示す説明図である。
【発明を実施するための形態】
【００３２】
以下、本発明の実施形態を図１〜図１０に基づき、データ伝送装置１を含む複合機１００（画像形成装置に相当）を例に挙げ説明する。但し、本実施形態に記載されている構成、配置等の各要素は、発明の範囲を限定せず単なる説明例にすぎない。
【００３３】
（複合機１００の概略）
まず、図１に基づき、本発明の実施形態に係る複合機１００の概略を説明する。図１は実施形態に係る複合機１００の一例を示す模型的正面断面図である。
【００３４】
まず、図１に示すように、複合機１００の正面前方には、複合機１００の各種設定や入力を行うための操作パネル１０１が設けられる（破線で図示）。そして、上部に画像読取部２と原稿搬送装置１０２が設けられる。又、複合機１００は、本体内部に給紙部３Ａ、搬送路３Ｂ、画像形成部４Ａ、定着部４Ｂ等を備える。
【００３５】
まず、図１に破線で示すように、操作パネル１０１は、複合機１００の正面上方に設けられる。そして、操作パネル１０１は、複合機１００の状態や各種メッセージの表示や、機能の選択、設定や文字入力を受け付ける。
【００３６】
原稿搬送装置１０２は、読み取る原稿を載置する原稿トレイ１０２Ａを有する。そして、原稿搬送装置１０２は、原稿トレイ１０２Ａから原稿を１枚ずつ、自動的に連続して読取位置（送り読取用コンタクトガラス２１）に搬送する。又、原稿搬送装置１０２は、図１の紙面奥側を支点として画像読取部２に対して上下方向に開閉自在に取り付けられ、画像読取部２のコンタクトガラス（送り読取用コンタクトガラス２１及び載置読取用コンタクトガラス２２）を上方から押さえるカバーとして機能する。
【００３７】
画像読取部２は、図１に示すように、上面に送り読取用コンタクトガラス２１と書籍等の原稿を１枚ずつ読み取る際、原稿が載置される載置読取用コンタクトガラス２２を含む。画像読取部２は、内部にランプ、ミラー、レンズ、イメージセンサ等（不図示）を有する。イメージセンサは、送り読取用コンタクトガラス２１を通過する原稿、あるいは、載置読取用コンタクトガラス２２に載置された原稿の反射光を元に、原稿を読み取る。そして、イメージセンサは原稿からの反射光を画像濃度に応じたアナログの電気信号に変換し、その後、量子化を行い、その結果、原稿の画像データが得られる。複合機１００は、読み取りにより得られた画像データに基づき印刷を行うことができる（コピー機能）。尚、本実施形態の画像読取部２は、カラーでも、白黒でも読み取り可能である。
【００３８】
給紙部３Ａは、複数の用紙（例えば、コピー用紙、普通紙、再生紙、厚紙、ＯＨＰシート等の各種シート）を収容し、１枚ずつ搬送路３Ｂに送り込む。給紙部３Ａには、収納用紙が載置されるカセット３１を複数含ませることができる（図１ではカセット３１を一個のみ図示し他は省略）。又、カセット３１から搬送路３Ｂに送り出すため回転駆動する給紙ローラ３２が設けられる。例えば、印刷時に、いずれかの給紙ローラ３２が回転駆動し、用紙が１枚ずつ搬送路３Ｂに送り出される。
【００３９】
搬送路３Ｂは、給紙部３Ａから送り出された用紙を搬送する通路である。尚、用紙搬送経路に沿って画像形成部４Ａ、定着部４Ｂ等が配される。そして、搬送路３Ｂには、給紙された用紙を画像形成部４Ａの手前で待機させ、画像形成部４Ａにおけるトナー像形成とタイミングを合わせて用紙を送り出すレジストローラ対３３等が設けられる。又、搬送路３Ｂには、回転し、排出トレイ３４に印刷済み用紙を排出する、あるいは、片面印刷済み用紙を両面搬送路３Ｃに送り込む排出ローラ対３５が設けられる。
【００４０】
画像形成部４Ａは、画像データに基づきトナー像を形成し、搬送される用紙にトナー像を転写する。そのため、画像形成部４Ａは、図１に矢印で示す方向に回転駆動する感光体ドラム４１、及び、感光体ドラム４１の周囲に配設された帯電装置４２、露光装置４３、現像装置４４、転写ローラ４５、クリーニング装置４６等を備える。
【００４１】
トナー像形成及び転写プロセスを説明すると、画像形成部４Ａの略中心に設けられた感光体ドラム４１は、図２において、感光体ドラム４１の右斜め上方に設けられる帯電装置４２により、所定電位に帯電される。図４において、露光装置４３は、帯電装置４２の右側方に設けられ、画像データに基づき、レーザ光を出力し、感光体ドラム４１表面を走査露光して画像データに応じた静電潜像を形成する。尚、画像形成に用い得る画像データとしては、画像読取部２で得られた画像データや、他にネットワーク等により接続される外部のコンピュータ２００や相手方ＦＡＸ装置３００（図２参照）から送信された画像データ等がある。
【００４２】
そして、図１において、感光体ドラム４１の右斜め下方に設けられる現像装置４４は、感光体ドラム４１に形成された静電潜像にトナーを供給して現像する。感光体ドラム４１の左方に設けられる転写ローラ４５は感光体ドラム４１に圧接し、ニップが形成される。そして、トナー像の形成にあわせタイミングを図られつつ、用紙はニップに進入する。用紙進入時、転写ローラ４５には所定の電圧が印加され、用紙に感光体ドラム４１上のトナー像が転写される。クリーニング装置４６は、転写後に感光体ドラム４１に残留するトナーを除去する。
【００４３】
定着部４Ｂは、用紙に転写されたトナー像を定着させる。本実施形態における定着部４Ｂは主として発熱体を内蔵する加熱ローラ４７と加圧ローラ４８で構成される。加熱ローラ４７と加圧ローラ４８は圧接しニップを形成する。そして、用紙が、このニップを通過することで、用紙表面のトナーが溶融・加熱され、トナー像が用紙に定着する。トナー定着後の用紙は、排出ローラ対３５によって排出トレイ３４に排出される。このようにして、コピー機能、プリンタ機能の使用時、画像形成（印刷）が行われる。
【００４４】
定着部４Ｂから排出ローラ対３５までの搬送路３Ｂにつながる両面搬送路３Ｃは、両面印刷の際、片面印刷済み用紙をレジストローラ対３３の手前に搬送する搬送路である。両面印刷を行う場合、排出ローラ対３５は、片面印刷済みの用紙をひとまず排出トレイ３４方向に向けて排出する。そして、排出ローラ対３５を用紙が通過しきる前に、排出ローラ対３５は、逆回転し、片面印刷済み用紙のスイッチバックを行う。これにより、片面印刷済み用紙の後端は両面搬送路３Ｃに送り込まれる。そして、両面搬送路３Ｃは、複数の搬送ローラ対３６〜３８を有し、搬送ローラ対３６〜３８は、片面印刷済みの用紙をレジストローラ対３３の手前まで搬送し、搬送路３Ｂに合流させる。そして、レジストローラ対３３から片面印刷済み用紙が送り出され、未印刷面にトナー像が転写される。
【００４５】
又、排出ローラ対３５は、回転し、定着部４Ｂを通過した両面印刷をしない場合の印刷済用紙や、両面印刷済用紙を排出トレイ３４に排出する。これにより、１枚の用紙への印刷が完了する。
【００４６】
（複合機１００のハードウェア構成）
次に、図２に基づき、本発明の実施形態に係る複合機１００のハードウェア構成を説明する。図２は、本発明の実施形態に係る複合機１００のハードウェア構成の一例を示すブロック図である。
【００４７】
図２に示すように、本実施形態に係る複合機１００は、内部の制御基板上に制御部５を有する。制御部５は、装置全体の動作を統括し、複合機１００の各部の制御を司る。そして、制御部５には、例えば、ＣＰＵ５０が含まれる。
【００４８】
ＣＰＵ５０は、演算回路、レジスタ、カウンタ等、演算、制御等の処理のための部分を含む。ＣＰＵ５０は、後述のＲＡＭ６（ランダム  アクセス  メモリ）やＲＯＭ６１内のデータ、プログラム等を読み込むことができる。そして、ＲＯＭ６１、ＲＡＭ６は、制御部５とバス等により通信可能に接続される。ＲＯＭ６１は、電源がオフしても記憶内容が保持される不揮発性メモリである。ＲＯＭ６１は、ＣＰＵ５０が制御のため実行するプログラムや、起動時プログラムや、装置固有の各種パラメータなどの各種制御用の固定データを記憶する。
【００４９】
ＲＡＭ６は、ＣＰＵ５０が制御の際に実行するプログラムや、画像データや、各種データを一時的に記憶する。又、ＲＡＭ６は、複合機１００に入力された画像データをＨＤＤ６２に記憶させる際、画像データを一時的に記憶する。例えば、ＲＡＭ６に記憶される画像データは、ラスタデータ（例えば、ビットマップデータ）である。又、ＲＡＭ６は、ＨＤＤ６２に記憶される画像データ等の各種データやプログラム等の読出先となる。
【００５０】
又、制御部５には、用紙搬送や印刷を実際に制御するエンジン制御部４０が通信可能に接続される。制御部５は、エンジン制御部４０に指示を与える。この指示を受けて、エンジン制御部４０は、用紙搬送や画像形成で用いる各種回転体（各搬送ローラ対や感光体ドラム４１等）を回転させる等、給紙部３Ａ、搬送路３Ｂ、画像形成部４Ａ、定着部４Ｂ、両面搬送路３Ｃを制御する。
【００５１】
又、複合機１００には、外部との通信インターフェイスとしての通信部５１（データ入力部に相当）を含む。通信部５１は、例えば、外部のコンピュータ２００と、ネットワークやケーブルで接続して通信を行うためのデータ通信部５２を含む。データ通信部５２は例えば、ネットワーク接続用や直接的に複合機１００とコンピュータ２００を接続するためのコネクタや、通信制御用のコントローラ等のチップを含む。このデータ通信部５２により、複合機１００は、コンピュータ２００等から画像データや印刷の設定データを含む印刷用データを受け、印刷を行うことができる（プリンタ機能）。又、通信部５１には、ＦＡＸ通信部５３を含むことができる。ＦＡＸ通信部５３は、ファクシミリとしての機能を果たすための部分であり、モデムや、画像データのファクシミリに対応した形式への変換や、受信データの伸張のための回路、チップ等を含む。このＦＡＸ通信部５３によって、画像データの送信や受信が行われる（ＦＡＸ機能）。
【００５２】
又、制御部５は、バス等により操作パネル１０１とも通信可能に接続される。そして、操作パネル１０１になされた設定内容を示すデータは、制御部５に送られ、制御部５は、複合機１００を使用者の設定どおりに動作するように制御する。
【００５３】
又、複合機１００には、画像データに対して圧縮や、圧縮された画像データの伸長処理や、濃度変換や拡大縮小等の画像処理を行う画像処理部７が設けられる。又、複合機１００に設けられる画像処理部７は、例えば、画像処理専用の回路としてのＡＳＩＣや画像処理用メモリ（ワークメモリ）等を含む。そして、画像処理部７は、例えば、濃度変更や拡大縮小等の各種画像処理を画像データに施す。尚、画像処理部７が行える画像処理は多岐にわたるので、公知の複合機１００に関する画像処理を行えるものとして、実行可能な画像処理の詳細の説明は省略する。
【００５４】
又、複合機１００には、大容量記憶装置（ストレージ）として、ハードディスクドライブ（Hard Disk Drive；ＨＤＤ６２）が搭載される。ＨＤＤ６２は、画像データの記憶やプログラム、各種管理データの記憶に利用される。尚、ＨＤＤ６２の変わりに、フラッシュＲＯＭ等で構成される半導体記憶装置によるストレージを用いてもよい。このように、ＨＤＤ６２へのデータの書き込み（記憶）や、ＨＤＤ６２内のデータ読出では、データは、一旦、ＲＡＭ６を経由する。
【００５５】
（データ伝送装置１）
次に、図３に基づき、本発明の実施形態に係るデータ伝送装置１の一例を説明する。図３は、本発明の実施形態に係るデータ伝送装置１の構成の一例を示すブロック図である。
【００５６】
本実施形態の複合機１００では、例えば、画像読取部２や通信部５１が、複合機１００への画像データの入力部として機能する。そして、入力された画像データは、画像読取部２や通信部５１から、ＲＡＭ６へと送られる。そして、例えば、ＲＡＭ６から画像処理部７に向けて画像データが送信され、画像処理後の画像データは、画像処理部７からＲＡＭ６に返送される。尚、画像処理部７では複数回、同じ画像データに対し画像処理が施される場合もある。例えば、画像処理部７は、圧縮された画像データを伸張処理し、伸張処理後の画像データをいったんＲＡＭ６に格納し、その後、再度、伸張された画像データが画像処理部７に与えられ、画像処理部７が画像処理を施す場合がある、この場合、ＲＡＭ６と画像処理部７間の画像データの送信と返信は、複数回行われる。又、例えば、画像処理後の画像データは、記憶するためにＨＤＤ６２に送信され、あるいは、印刷のため、画像形成部４Ａの露光装置４３に送信される。
【００５７】
このように、本実施形態の複合機１００では、例えば、画像データのやりとりが、画像読取部２、通信部５１、ＲＡＭ６、画像処理部７、ＨＤＤ６２、露光装置４３間で行われる。言い換えると、画像読取部２、通信部５１、ＲＡＭ６、画像処理部７、ＨＤＤ６２、露光装置４３は、データの送信部であるし、データの受信部でもある。
【００５８】
ここで、伝送速度を確保するため、データの伝送は、バースト伝送で行われることもある。このバースト伝送では、送信部は、例えば、アドレス順でバースト伝送を行うが、受信側のハードウェアの仕様や、処理の便宜上、バースト伝送内のデータの順番を入れ替えたい場合がある。
【００５９】
そこで、本実施形態の複合機１００では、バッファ部８が設けられる。例えば、送信部から送信された画像データは、いったんバッファ部８に記憶され、その後、受信部に引き渡される。そこで、図３に、バッファ部８を仲介させる送信部、又は、受信部として、画像読取部２、通信部５１、ＲＡＭ６、画像処理部７、ＨＤＤ６２、露光装置４３を示す。即ち、送信部は、画像データを出力し、受信部の一例は、画像データに対し画像処理を行う画像処理部７及び／又は、読出された画像データを記憶するＲＡＭ６である。
【００６０】
ここで、本実施形態での複合機１００では、画像データ等のデータは、ＲＡＭ６を必ず経由する。そこで、図３に示すように、例えば、伝送路としてのバス８４と画像読取部２、通信部５１、画像処理部７、ＨＤＤ６２、露光装置４３を接続し、バス８４とＲＡＭ６の間にバッファ部８を設けてもよい。即ち、複数種の送信部（画像読取部２、通信部５１、ＲＡＭ６、ＨＤＤ６２、画像処理部７等）と複数種の受信部（ＲＡＭ６、ＨＤＤ６２、画像処理部７、露光装置４３等）の間にバスが設けられ、バッファ部８は、バスに接続される。
【００６１】
尚、本説明での「ワード」とは、伝送路の仕様によって定まり、例えば、１クロックで送信されるビット数を１とした単位である。例えば、６４ビットの帯域を有する伝送路（バス）では、１ワードは６４ビットである。そして、「バースト伝送」とは、アドレスの指定などの手順を一部省略して、複数のワードを連続して送信することをいう。又、「バースト長」とは、１回のバースト伝送で送られるワード数である。
【００６２】
そこで、図３に基づき、バッファ部８の構成の一例を説明する。まず、図３に示すように、バッファ部８は、送信部から送信された画像データ等のデータのバッファ部８での受信、書込や、バッファ部８から受信部に画像データ等のデータの引き渡しを制御するコントローラ８０を有する。図３の例ではバッファ部８にコントローラ８０を設ける例を示しているが、バッファ部８の制御を、例えば、ＲＡＭ６のコントローラが行ってもよく、バッファ部８以外に設けられたコントローラ８０が、バッファ部８の制御を行ってもよい。
【００６３】
尚、前提として、送信部は、バッファ部８に対し、データの受け取りと、指定する受信部への転送を指示する。あるいは、受信部は、バッファ部８に対し、指定する送信部からのデータの受け取りと、自己への転送を指示する。これにより、バッファ部８のコントローラ８０は、画像データ等のデータの送信元と受信先を認識する。
【００６４】
そして、図３に示すように、バッファ部８には、送信部から送信された画像データ等のデータを記憶するバッファメモリ８１が設けられる。バッファメモリ８１は、少なくとも１回のバースト伝送で伝送されるデータの大きさ分の容量を有する。
【００６５】
例えば、１回のバースト伝送で、６４ビット（８バイト）のワードが４回送信される場合（バースト長４の場合）、少なくとも、バッファメモリ８１の容量は、８×４＝３２バイトとされる。又、例えば、８バイトのワードが３２回送信される場合（バースト長３２の場合）、バッファメモリ８１の容量は、少なくとも、８×３２＝２５６バイトとされる。尚、送信側と受信側のハードウェアの仕様によって、１ワードあたりの大きさや、１回のバースト伝送で送信されるデータのサイズには差異があり得るので、複合機１００における送信部と受信部の組み合わせの内、１回のバースト伝送でのデータのサイズが最も大きいバースト伝送を基準として、バッファメモリ８１の容量を定めればよい。
【００６６】
そして、バッファメモリ８１は、複数の記憶ブロック９を含む。図３の例では、第０記憶ブロック９０、第１記憶ブロック９１、第２記憶ブロック９２、第３記憶ブロック９３の４つの記憶ブロック９を含む例を図示している。記憶ブロック９の数は、１回のバースト伝送に含まれるワードの数だけ用意される。例えば、１回のバースト伝送のバースト長が３２の場合（ワードの数が３２の場合）、バッファメモリ８１内には、３２の記憶ブロック９が用意される。言い換えると、記憶ブロック９は、１回のバースト伝送のバースト長（１回のバースト伝送におけるワード数）分だけ用意される。又、記憶ブロック９の１つあたりの容量は、少なくとも、バースト伝送における１バースト分（１ワード分）の容量を有する。例えば、ワードが８バイトの場合、記憶ブロック９の１つあたりの容量は、８バイトとされる。
【００６７】
尚、送信側と受信側のハードウェアの仕様によって、１ワードあたりの大きさや、１回のバースト伝送で送信されるデータのサイズには差異があり得るので、複合機１００における送信部と受信部の組み合わせの内、１ワードあたりのビット数や、１回のバースト伝送で最も長いバースト長を基準として、１つの記憶ブロック９あたりの容量や、記憶ブロック９の数を定めればよい。
【００６８】
又、バッファ部８は、インデックステーブルＴを記憶するインデックスメモリ８２を含む。インデックステーブルＴは、バッファ部８（各記憶ブロック９）への書込順（格納順）を示すテーブルでもあり、各記憶ブロック９からの読出順を示すテーブルでもある（詳細は後述）。このインデックステーブルＴの内容を更新することで、滞ることなく、任意にバースト伝送でのワードの伝送順序を変更しつつデータの伝送を行うことができる。
【００６９】
又、バッファ部８は、バッファメモリ８１の各記憶ブロック９がワードを記憶しているか、すでに読み出されたかの状態を示すフラグを記憶するフラグメモリ８３を有する。例えば、フラグメモリ８３は、「１（Ｈｉｇｈ）」か「０（Ｌｏｗ）」で、記憶ブロック９がまだ読み出されていないデータを記憶しているか、記憶ブロック９からすでに読み出されているかを１ビットで示す。言い換えると、各記憶ブロック９に対応したフラグメモリ８３は、データを書き込んでよいか否かを現すビットを記憶する。例えば、記憶ブロック９が４つの場合、フラグメモリ８３は、４ビット分の容量ですむ。
【００７０】
（インデックステーブルＴの概要）
次に、図４に基づき、本発明の実施形態に係るデータ伝送装置１でのインデックステーブルＴの一例を説明する。図４は、実施形態に係るデータ伝送装置１でのインデックステーブルＴの一例を示す説明図である。
【００７１】
まず、以下の説明では、バースト伝送におけるバースト長が４である例（４つのワードが１回のバースト伝送で連続して送信される例）を説明する。
【００７２】
インデックステーブルＴは、送信部からバッファ部８が受信したバースト伝送に含まれる各ワードの書込先（格納先）の記憶ブロック９を値として記憶する。又、バッファ部８が受信した各ワードの読出順（受信部への出力順）を示すテーブルでもある。
【００７３】
又、インデックステーブルＴは、少なくともバースト長の２倍の行を有する。本説明ではバースト長は４であるので、インデックステーブルＴの行数は８である。尚、本説明では、先頭位置の行を第０行と定め、最後尾の行を第７行（計８行）とする。そして、インデックステーブルＴの各行の欄内には、書込先となる記憶ブロック９及び読み出す記憶ブロック９が示されている。
【００７４】
そして、本実施形態では、記憶ブロック９への書込と、記憶ブロック９からの読出が別個に並行して行われる。まず、書込に関しては、コントローラ８０は、バースト伝送されてきたワードを第０行目から順番にインデックステーブルＴを参照して、バッファメモリ８１の各記憶ブロック９に記憶させていく。例えば、第０行目を参照した場合、コントローラ８０は、バースト伝送されてきたワードを第０記憶ブロック９０に記憶させる。その結果、送信部は、ワードをインデックステーブルＴに指示された記憶ブロック９に書き込むことになる。
【００７５】
そして、第０行目を参照し、インデックステーブルＴに指示された記憶ブロック９への記憶が完了すると、コントローラ８０は、第１行目を参照する。そして、行の順番にインデックステーブルＴを参照して、バースト伝送された各ワードの記憶ブロック９への記憶がなされる。尚、最後尾の第７行目までいくと、第０行目に戻る。言い換えると、コントローラ８０は、先頭行から順にインデックステーブルＴを参照し、最終行を参照し、ワードの記憶が完了すると、再びインデックステーブルＴの先頭行を参照する。
【００７６】
又、読出に関しては、コントローラ８０は、バッファメモリ８１内の各記憶ブロック９に記憶されたワードを、例えば第４行目から順番にインデックステーブルＴを参照して、読み出して、受信部に送信させる。尚、本説明におけるインデックステーブルＴの参照では、読出で参照される行（読出のポインタ）は、書込で参照される行（書込のポインタ）よりも先行する。例えば、図４に示すインデックステーブルＴの第４行目を参照した場合、コントローラ８０は、第０記憶ブロック９０に記憶されたワードを受信部に向けてバッファメモリ８１から送信させる。その結果、受信部は、ワードをインデックステーブルＴに指示された記憶ブロック９の順に（インデックステーブルＴの行順に）、ワードを読み出すことになる。
【００７７】
そして、第４行目を参照し、インデックステーブルＴに指示された記憶ブロック９への読出が完了すると、コントローラ８０は、第５行目を参照する。そして、行の順番にインデックステーブルＴを参照して、バースト伝送された各ワードの読出がなされる。尚、第７行目までいくと、第０行目に戻る。言い換えると、コントローラ８０は、先頭行から順にインデックステーブルＴを参照し、最終行を参照し、読出が完了すると、再びインデックステーブルＴの先頭行を参照する。
【００７８】
（データ伝送装置１での伝送順序の変更）
次に、図５を用いて、本発明の実施形態に係るデータ伝送装置１での伝送順序の変更の一例を説明する。図５は、本発明の実施形態に係るデータ伝送装置１での伝送順序の変更の概要を記す説明図であり、（ａ）は、バースト伝送の一例を示し、（ｂ）は、画像データの一例を示す。
【００７９】
例えば、本実施形態の複合機１００では、データの伝送が行われるが、バースト伝送により送信されたワードの伝送順序を途中で変えたい場合がある。例えば、送信部は、一定の順序で画像データ等のデータを送信するが、送信部が送信したワードの順序のままでは受信部が処理を行えない場合がある。言い換えると、送信部や受信部におけるデータ伝送の仕様により、バースト伝送により送信されたワードの伝送順序を変えなくてはならない場合がある。
【００８０】
図５（ａ）は、バースト伝送でのワードの伝送順序を逆にする例を示している。例えば、送信部が、４つのワードを連続して送信するバースト伝送を行うとする。便宜上、送信部がバースト伝送する上で、１番目のワードをワードＷ０とし、２番目のワードをワードＷ１とし、３番目のワードをワードＷ２とし、４番目のワードをワードＷ３として、以下の説明を行う。
【００８１】
ワードＷ０→ワードＷ１→ワードＷ２→ワードＷ３の順でバースト伝送されたデータをそのまま受け取っても、受信部は処理できない場合、受信部にデータを与える際、各ワードの順序を変えた上で渡さなくてはならない。例えば、図５（ａ）に示すように、場合により、各ワードの伝送順序を逆転させなければならない場合がある。
【００８２】
又、両面印刷では、用紙のスイッチバックが行われ、用紙の表裏だけでなく先頭と末尾の位置の入れ替えも行われる。一方で、画像形成部４Ａは、画像データの上端部分から画像の形成を行う。そのため、図５（ｂ）に示すように、両面印刷では、表面側（第１面側）に対し、両面印刷における裏面側（第２面側）の画像データを反転させる必要がある。尚、一般に、ＲＡＭ６等は、画像データの左隅上端の画素から記憶し、右下隅の画素を最後として、各画素を予め定められた順番に、アドレス順に記憶する。
【００８３】
両面印刷のような画像データの回転を行う場合でも、各ワードの伝送順序を逆転させた方が、好ましい場合がある。言い換えると、伝送経路で各ワードの伝送順序が逆転されていれば、受信部としての画像処理部７やＲＡＭ６等は、並び替えを行わなくてすむ場合がある。
【００８４】
このようなワードの伝送順序の並び替えを行う場合、一般に、画像処理部７のような受信部内にバッファを設け、バッファがいったん送信部からのデータを受信し、バッファが受信部の所望するワードの順序に並び替える。従来、バースト伝送に含まれる各ワードは、バッファ内の決められた位置（アドレス）に記憶される。そのため、ワードのデータ伝送順序を逆転させる場合、バッファが１バースト伝送分の容量しか持たないと、１バースト分のデータを受信した後、格納したデータ（ワード）を全て送信終えるまで、次のバースト伝送のデータを受け付けできない。各ワードの伝送順序を逆転（反転）させる場合、バースト伝送での最後のワードが到達して初めて読み出せる。従って、例えば、ワードのデータ伝送順序を逆転させる場合、逆転させない場合に比べ、データの伝送速度は、１／２程度となる。
【００８５】
そこで、データの伝送速度を落とさないようにするため、従来、バッファの容量は、少なくとも、２回のバースト伝送されるデータのサイズ分とされる（１回のバースト伝送のデータのサイズの２倍の容量）。このように構成することで、１回のバースト伝送分の容量を用いてデータを受信しつつ、残りの１回のバースト伝送分の容量でデータの読出を行う。これにより、データの伝送速度を落とさずに、所望の順番でデータを読み出せる。
【００８６】
しかし、近年、１回のバースト伝送に含まれるワード数の増加や、１ワードのサイズの大型化によって、バッファの容量も増加する傾向にある。又、受信部が受信したうえで、伝送速度を落とさずに、受信部内のバッファを利用して伝送順序を変えようとすると、受信部が備えるべきバッファの容量が増大する。これは、複合機１００の製造コスト増大につながる。
【００８７】
そこで、本発明のバッファ部８は、１回のバースト伝送分の容量で有りながら、データの伝送速度を落とさずに伝送順序を変更する。しかも、各受信部にバッファを内蔵させずに、例えば、バス８４にバッファ部８を接続すればよく、理想的にバッファ部８は、１カ所設ければすむ。
【００８８】
（データ伝送の例）
次に、図６乃至及び図１０を用いて、本発明の実施形態に係るデータ伝送装置１でのデータ伝送の流れの一例を説明する。図６乃至図１０は、一連であり、本発明の実施形態に係るデータ伝送装置１でのデータ伝送の流れの一例を示す説明図である。
【００８９】
尚、本説明では、送信部から送信されたバースト伝送でのワードを、逆転（反転）させた上で受信部に読み出させる例を説明する。即ち、バッファ部８は、バースト伝送で送信部（画像読取部２、通信部５１、ＲＡＭ６、ＨＤＤ６２、画像処理部７等）から受信したワードの順序を、読出順指示に基づき、逆転させて受信部（ＲＡＭ６、ＨＤＤ６２、画像処理部７、露光装置４３等）に出力する。
【００９０】
まず、図６〜図１０において、左端に位置するのは、インデックステーブルＴである。そして、各インデックステーブルＴの右側には、バッファメモリ８１を示している。各記憶ブロック９の「ｉｎｖａｌｉｄ（無効）」、「ｖａｌｉｄ（有効）」は、フラグメモリ８３が記憶する。「ｉｎｖａｌｉｄ（無効）」は、記憶ブロック９が、ワードの読出等によって格納しているデータがなく、データを書き込める状態であることを示す。又、「ｖａｌｉｄ（有効）」は、記憶ブロック９は未読出の格納しているデータを有し、データを上書きしてはならないことを示す。
【００９１】
即ち、バッファ部８は、記憶ブロック９にワードが書き込まれているか否かの状態を示すフラグとしての状態ビットを各記憶ブロック９について記憶し、コントローラ８０は、インデックステーブルの行を参照して書込を行う場合、書込先の記憶ブロック９の状態ビットが未書込を示す状態（ｉｎｖａｌｉｄ（無効））となるまで、記憶ブロック９へのワードの書込を待機させるとともに、送信部（画像読取部２、通信部５１、ＲＡＭ６、ＨＤＤ６２、画像処理部７等）に次のワードの送信を待機させ、ワードが受信部（ＲＡＭ６、ＨＤＤ６２、画像処理部７、露光装置４３等）に出力された場合、読み出されたワードが記憶されていた記憶ブロック９の状態ビットを未書込の状態（ｉｎｖａｌｉｄ（無効））に更新する。
【００９２】
例えば、データ伝送が行われる場合、最初に、受信部が受信可能な状態にあるかを確認するため、送信部と受信部間で通信が行われる。このとき、例えば、受信部は、自己が所望するワードの伝送順序を送信部やバッファ部８に伝える。これにより、バッファ部８のコントローラ８０は、受信部が所望するデータの伝送順序（読出順指示）を把握する。
【００９３】
あるいは、データ伝送が行われる場合、送信部は、バースト伝送を開始する前に、データを受信する受信部をバッファ部８に通知してもよい。送信部と受信部の組み合わせは、有限であるから、コントローラ８０は、送信部と受信部の組み合わせにあわせ、伝送順序を記憶しておいてもよい。このようにしても、コントローラ８０は、受信部が所望するデータの伝送順序（読出順指示）を把握できる。
【００９４】
そして、例えば、コントローラ８０は、バースト伝送によるデータの伝送が開始される前に、インデックステーブルＴの各行に、記憶先となる記憶ブロック９、即ち、インデックステーブルＴの値を書き込んでセットする。尚、コントローラ８０は、データ伝送開始時のインデックステーブルＴを送信部と受信部の組み合わせに応じて、記憶しておいてもよい。
【００９５】
具体的に、バッファ部８における書込では、コントローラ８０は、以下に示すような書込アルゴリズム（プログラム）に基づいて書込制御を行う。
L1:  wait until v(p(wpp+0))==invalid;
L2:  dat(p(wpp+0))=INPUT DATA;
L3:  v(p(wpp+0))=valid
L4:  p(wpp+4)= p(wpp+new order())
L5:  wpp= wpp+1
【００９６】
まず、この書込アルゴリズムの概要を説明する。プログラムでのwppは、書込のポインタの位置を示し、インデックステーブルＴで現在参照している行を示す（図６〜図１０では、Ｗ→で示している）。例えば、データの伝送開始時は、書込のポインタは、インデックステーブルＴの第０行の位置にセットされる。又、書込アルゴリズムのp(wpp+x)は、インデックステーブルＴの各行に書き込まれている具体的な値（書込先を示す記憶ブロック９）のことである、本例では、p(wpp+x)は、第０記憶ブロック〜第３記憶ブロックのいずれかの値をとる。又、書込アルゴリズムのv(p(wpp+x))は、フラグメモリ８３が記憶する各記憶ブロック９の「ｉｎｖａｌｉｄ（無効）」、「ｖａｌｉｄ（有効）」の値のことである。
【００９７】
次に、書込アルゴリズムを具体的に説明する。
まず、「L1:  wait until v(p(wpp+0))==invalid;」は、インデックステーブルＴで現在の参照行で書込先として示される記憶ブロック９（書込先）のフラグが、invalidとなるまで書込を待つという命令である。従って、コントローラ８０は、記憶ブロック９のフラグが、invalidとなるまでバッファメモリ８１の書込を待つ。言い換えると、L1の状態が続く。又、コントローラ８０は、送信部に送信を待機させる。
【００９８】
記憶ブロック９のフラグが、invalidとなると、「L2:  dat(p(wpp+0))=INPUT DATA;」が実行される。「L2:  dat(p(wpp+0))=INPUT DATA;」は、バッファ部８が送信部から受信したデータを、インデックステーブルＴの現在の参照行で書込先として示される記憶ブロック９に格納（コピー）するという命令である。これにより、コントローラ８０は、インデックステーブルＴに基づき、いずれかの記憶ブロック９（９０〜９３）にデータを格納する。
【００９９】
L2が実行されると、L3「v(p(wpp+0))=valid」の命令が実行される。L3「v(p(wpp+0))=valid」は、インデックステーブルＴで現在参照している行で、データを格納した記憶ブロック９のフラグを「valid」とするという命令である。これにより、コントローラ８０はL2でデータを格納した記憶ブロック９に対応するフラグメモリ８３の値をvalidに変更する。
【０１００】
L3が実行されると、L4「p(wpp+4)= p(wpp+new order())」の命令が実行される。L4「p(wpp+4)= p(wpp+new order())」は、インデックステーブルＴで現在参照している行に対しnew orderに示される値（命令値）を加えた行で示されている記憶ブロック９の値を、インデックステーブルＴで現在参照している行の４行後の行（次のバースト伝送で参照される行）の記憶先として、インデックステーブルＴを変更するという命令である。
【０１０１】
まず、L4につき、「new order」の値について説明する。本例のように、ワードの順序を逆転させてから受信部に与える場合、「new order」の値の組み合わせは、｛＋３、＋１、−１、−３｝となる。尚、＋３の値はインデックステーブルＴの第０行と第４行を参照しているときの値であり、＋１の値はインデックステーブルＴの第１行と第５行を参照しているときの値であり、−１の値はインデックステーブルＴの第２行と第６行を参照しているときの値であり、−３の値はインデックステーブルＴの第３行と第７行を参照しているときの値である。ワードの順序を逆転させる場合の「new order」の値を、インデックステーブルの行順に並べると、｛＋３、＋１、−１、−３、＋３、＋１、−１、−３｝となる。
【０１０２】
そして、「new order」の値の組み合わせは、予め用意され、例えば、コントローラ８０が記憶している。又、「new order」の値の組み合わせは、データの伝送順序の並び替え方によって異なるので、例えば、コントローラ８０は、データの伝送順序の並び替え方にあわせて必要な「new order」の値の組み合わせ記憶しておく。
【０１０３】
例えば、インデックステーブルＴで第０行目が参照され、バッファメモリ８１への書込が行われたとすると、L4「p(wpp+4)= p(wpp+new order())」の命令は、第０行からnew orderに示される値＋３を加えた（進んだ）行である第３行において記憶先として示される記憶ブロック９を、現在参照している第０行の４行後の行である第４行の記憶先として、インデックステーブルＴを変更するという命令となる。
【０１０４】
尚、上記のアルゴリズムでは、現在参照している行に対して３行先や４行先が参照されることがあるが、参照される行の値が、最終行の第７行よりも大きくなる桁上がりが生じた場合、桁上がりは無視され、先頭行に戻る（以下、読出の場合を含め、インデックステーブルの参照において同様）。例えば、現在参照している行がインデックステーブルＴの第６行であり、この第６行に対する４行先は、６＋４−８＝第２行となる（８は、インデックステーブルの全行数）。
【０１０５】
L4が実行されると、L5「wpp= wpp+1」の命令が実行される。これにより、インデックステーブルＴで参照される行が次行に移る（例えば、第０行→第１行）。尚、最終行を参照していた場合は、先頭行に戻る（第７行→第０行）。
【０１０６】
次に、バッファ部８における読出を説明する。読み出しでは、コントローラ８０は、以下に示すような書込アルゴリズム（プログラム）に基づいて読出制御を行う。
L1:  wait until v(p(rpp))==valid;
L2:  OUTPUT DATA = dat(p(rpp));
L3:  v(p(rpp))=invalid
L4:  wpp= wpp+1
【０１０７】
まず、この読出アルゴリズムの概要を説明する。プログラムでのrppは、読出のポインタの位置を示し、インデックステーブルＴで現在参照している行を示す（図６〜図１０では、Ｒ→で示している）。データの伝送開始時、読出のポインタは、インデックステーブルＴの第４行の位置にセットされる。言い換えると、読出のポインタの位置は、書込の参照行から１バースト伝送分離れた位置にセットされる。又、読出アルゴリズムのp(rpp)は、インデックステーブルＴの各行に書き込まれている具体的な値（読出元を示す記憶ブロック９）のことである、本例では、p(rpp)は、第０記憶ブロック〜第３記憶ブロックのいずれかの値をとる。又、読出アルゴリズムのv(p(rpp))は、フラグメモリ８３が記憶する各記憶ブロック９の「ｉｎｖａｌｉｄ（無効）」、「ｖａｌｉｄ（有効）」の値のことである。
【０１０８】
次に、読出アルゴリズムを具体的に説明する。
まず、「L1:  wait until v(p(rpp))==valid;」は、インデックステーブルＴで現在参照している行で示されている記憶ブロック９（読出元）のフラグが、validとなるまで読出を待つという命令である。従って、コントローラ８０は参照行で読出元として示される記憶ブロック９のフラグが、validとなるまでバッファメモリ８１からの読出を待つ。
【０１０９】
記憶ブロック９のフラグがvalidとなると、「L2:  OUTPUT DATA = dat(p(rpp));」が実行される。「L2:  OUTPUT DATA = dat(p(rpp));」は、インデックステーブルＴの現在の参照行で読出元として示される記憶ブロック９から受信部に向けてワード（データ）を出力するという命令である。これにより、コントローラ８０は、インデックステーブルＴに基づき、いずれかの記憶ブロック９（９０〜９３）からデータ（ワード）を出力させる。
【０１１０】
L2が実行されると、L3「v(p(rpp))=invalid」の命令が実行される。L3「v(p(rpp))=invalid」は、データを読み出した記憶ブロック９に対応するフラグの値を「invalid」とするという命令である。これにより、コントローラ８０は、L2でデータを読み出した記憶ブロック９に対応するフラグメモリ８３の値をinvalidに変更する。
【０１１１】
L3が実行されると、L4「rpp = rpp +1」の命令が実行される。これにより、読出処理で参照されるインデックステーブルＴの行が次行に移る（例えば、第０行→第１行）。尚、最終行を参照していた場合は、先頭行に戻る（第７行→第０行）。
【０１１２】
次に、図６〜図１０を用いて、ワードＷの伝送順序を逆順にするときの、書込、読出アルゴリズに基づく具体的なバッファ部８での動作を説明する。具体的には、Ｗ０→Ｗ１→Ｗ２→Ｗ３の伝送順をＷ３→Ｗ２→Ｗ１→Ｗ０とする。
【０１１３】
まず、図６の（１）等に示すように、コントローラ８０は、書込のポインタ（図６〜図１０において「Ｗ→」で図示）をインデックステーブルＴの第０行に、読出のポインタ（図６〜図１０において「Ｒ→」で図示）をインデックステーブルＴの第４行にセットする。言い換えると、コントローラ８０は、インデックステーブルＴの読出行を、書き出し行よりも１回のバースト伝送分の行数を空けて、データ伝送を開始する。
【０１１４】
そして、図６の（１）に示すように、コントローラ８０は、バースト伝送によるデータの伝送が開始される前に、インデックステーブルＴの各行に、記憶先としての記憶ブロック９をセットする。書込のポインタは、第０行にされるので、例えば、図６（１）に示すように、コントローラ８０は、第０行〜第３行について、インデックステーブルＴの行順と各記憶ブロック９の順番とが逆となるように書込での記憶先をインデックステーブルＴに書き込む。尚、コントローラ８０は、データ伝送開始時のインデックステーブルＴを送信部と受信部の組み合わせに応じて、記憶しておいてもよい。
【０１１５】
インデックステーブルＴの第４行〜第７行については、インデックステーブルＴの更新動作をわかりやすくするため、説明の便宜上、ひとまず空欄のままとして説明する。尚、第４行〜第７行については、所望する受信部への伝送順（読出順）と一致するように、バースト伝送によるデータの伝送が開始される前に、読出元をインデックステーブルＴに書き込むようにしてもよい（セットするようにしてもよい）。
【０１１６】
そして、図６の（２）に示すように、１ワード目到達と、コントローラ８０による書込のアルゴリズムでのL1〜L3が実行される。これにより、第３記憶ブロック９３に、Ｗ０が書き込まれる（格納される）。そして、図６の（３）に示すように、コントローラ８０は、書込のアルゴリズムでのL4を実行する。
【０１１７】
図６の（３）に示す場合の書込アルゴリズムのL4は、コントローラ８０は、第０行から＋３行目の第３行に示される記憶ブロック９の値（この場合、第０記憶ブロック９０）を、インデックステーブルＴの第０行から＋４行目に書き込む（この場合、第４行目に第０記憶ブロックが値９０として書き込まれる）。そして、図６の（４）で、書込のポインタの改行が行われる。
【０１１８】
そして、同様にバッファ部８へのワードの書込が継続される。そして、本説明では、例えば、図６の（１）〜（４）や図７の（５）〜（８）に示すように、送信部からバースト伝送された各ワードは、インデックステーブルＴに示される順番で、第３記憶ブロック９３→第２記憶ブロック９２→第１記憶ブロック９１→第０記憶ブロック９０の順に格納される。そして、バッファ部８での書込が進むと、例えば、図７の（８）で示すように、第０記憶ブロック９０がワードＷ３を、第１記憶ブロック９１がワードＷ２を、第２記憶ブロック９２がワードＷ１を、第３記憶ブロック９０がワードＷ０を記憶する状態となる。
【０１１９】
図６〜図１０での（２）、（４）、（６）、（８）、（１１）、（１３）、（１５）、（１７）で、破線矢印で示すように、コントローラ８０は、インデックステーブルＴでの参照行（書込のポインタ）で指示される書込先が「ｉｎｖａｌｉｄ」の状態であると、記憶ブロック９にワードの書込が行われる。尚、図６〜１０の各図で、２回目のバースト伝送でのワードには「’」を付して区別している。
【０１２０】
又、書込が行われると、図６〜図１０での（３）、（５）、（７）、（９）、（１２）、（１４）、（１６）、（１８）に示すように、コントローラ８０は、インデックステーブルＴの更新を行う。そして、予めコントローラ８０が記憶するnew orderの値で定まる値が、書込のポインタのある行から４行先（１バースト伝送後）に書き込まれる。即ち、コントローラ８０は、書込のためインデックステーブルＴで参照している行に対し、予め定められた命令値（new orderの値）を加えた行で示されている記憶ブロック９の値を、インデックステーブルＴで現在参照している行よりも１バースト伝送後に参照される行の記憶ブロック９の値として、インデックステーブルＴを変更する。
【０１２１】
このインデックステーブルＴの更新は、１バースト伝送分後の行（即ち、本実施形態では、バースト長が４なので４行後）について行う。言い換えると、書込の際に参照した行＋４の行（２回のバースト伝送分の行数を超えた場合は、桁上がりを省く）のインデックステーブルＴでの記憶先を更新する。
【０１２２】
尚、図８〜図１０に示す場合は、インデックステーブルＴの行数は、バースト伝送のワード数の２倍なので、ある程度ワードの書込が行われると、インデックステーブルＴの各行の値は一定となる状態となる。しかし、インデックステーブルＴの行数は、行われるバースト伝送の種類により、バースト伝送のワード数の２倍や整数倍になるとは限らない（例えば、全部で１０行等）。しかし、書込に伴ってインデックステーブルＴの更新を行うので、インデックステーブルＴが何行であっても、滞りなく送信部から受信部へのデータの引渡を行うことができる。
【０１２３】
即ち、インデックステーブルＴは、複数行を有し、各行に書込及び読出を行う記憶ブロック９が記され、コントローラ８０は、ワードの読出に関しては、記憶ブロック９からのワードの読出を完了すると、次行を参照し、次行に記された記憶ブロック９からワードを読出して受信部（ＲＡＭ６、ＨＤＤ６２、画像処理部７、露光装置４３等）に出力し、最終行に至るとインデックステーブルＴの先頭行に戻って参照して読出を行い、かつ、インデックステーブルＴで書込で参照される行よりも先行する行を参照して読出を行い、ワードの書込に関しては、記憶ブロック９へのワードの書込を完了すると、次行を参照し、次行に記された記憶ブロック９に到着したワードを書き込み、最終行に至ると、インデックステーブルＴの先頭行に戻って参照し、記憶ブロック９へのワードの書き込みが行われると、読出順指示に合うように、次のバースト伝送で参照されるインデックステーブルＴの行の値を変更する。
【０１２４】
次に、読出に関して説明する。コントローラ８０は、インデックステーブルＴで参照している行に示された記憶ブロック９が「ｖａｌｉｄ」であれば、バッファメモリ８１からのワードの読出を行い、受信部に送信させる。具体的には、図６〜図１０での（１０）、（１１）、（１３）、（１５）で各ワードの記憶ブロック９からの読み出しが行われる。
【０１２５】
ここで、データの伝送順序を逆転する場合、バースト伝送で最後に到達したワード（本説明ではワードＷ３）から、受信部に送信する。そのため、読出では、バースト伝送で最後に到達するワード（本説明ではワードＷ３）の書込がなされるまで、コントローラ８０は読み出しを待たなくてはならない状態となる場合もある（図６〜図７の（１）〜（８）や、図１０の（１７）の状態）。例えば、図６〜図７の（１）〜（８）に示すように、読出のポインタが参照する第０記憶ブロック９０は、バースト伝送での最後のワードＷ３が書き込まれるまで、「ｖａｌｉｄ」とはならない。そして、書込のポインタは、やがて、読出のポインタに追いつく（例えば、図８の（１０）を参照）。
【０１２６】
そのため、バッファメモリ８１の全ての記憶ブロック９がワードで満たされる状態となる場合がある。しかし、同じ記憶ブロック９で読出と書込は同時には行えない。この場合、コントローラ８０は、書込を１ステップ待たせる（図８の（１０）や図１０の（１９）の状態）。言い換えると、読出を優先させる。このため、書込のポインタは、読出のポインタを追随し、追い抜くことはない。
【０１２７】
このように、本実施形態に示すデータ伝送装置１によれば、バースト伝送されるデータの順序を逆転させる場合であって、バッファメモリ８１の容量が１回のバースト伝送分のサイズしかなくても、破綻なく書込と読出を並行させることができる。そして、バッファ部８は、このようなインデックステーブルＴの更新を伴ったデータの格納と読出を、例えば、１ページ分の画像データの送信を終えるまで続ける。
【０１２８】
即ち、データ伝送装置１を含む画像形成装置（複合機１００）は、複数のワードを連続して出力するバースト伝送でデータを送信する送信部（画像読取部２、通信部５１、ＲＡＭ６、ＨＤＤ６２、画像処理部７等）と、データを受信する受信部（ＲＡＭ６、ＨＤＤ６２、画像処理部７、露光装置４３等）と、送信部からバースト伝送されたデータを受け受信部に転送するバッファ部８と、を有し、バッファ部８は、送信部から送信されたデータの受信、書込や、受信部へのデータの引渡を制御するコントローラ８０と、少なくとも１ワード分の容量を有する記憶ブロック９を、少なくとも１回のバースト伝送に含まれるワード数分含むバッファメモリ８１と、少なくとも現在のバースト伝送での各ワードの記憶ブロック９への書込順及び読出順と、次回のバースト伝送での各ワードの各記憶ブロック９への書込順及び読出順を示すインデックステーブルＴを記憶するインデックスメモリ８２と、を含み、インデックスメモリ８２は、バッファメモリ８１から受信部へのワードの読出順指示を送信部及び／又は受信部から受け、読出順指示にあわせ、予め定められたインデックステーブルＴをセットし、コントローラ８０は、インデックステーブルＴに定められた順番に基づき、送信部からバースト伝送された各ワードの各記憶ブロック９への書込と、受信部への出力のため各記憶ブロック９に書き込まれた各ワードの読出と、をバッファメモリ８１に並行して行わせる。
【０１２９】
尚、バッファ部８が送信部から受信したデータを、ワードの伝送順序を変えないで受信部に送信する場合、インデックステーブルＴは、例えば、図４に示すようなインデックステーブルＴでよい。言い換えると、現在のバースト伝送と次回のバースト伝送では、同じ順番で、到達したワードを各記憶ブロック９に格納し、読み出していけばよい。即ち、上半分のバースト長分の行（本説明では、第１行から第４行）の値の並びと、下半分のバースト長分の行（本説明では、第５行から第８行）の値の並びを同じにする。
【０１３０】
このようにして、本実施形態の構成によれば、バッファメモリ８１は、インデックステーブルＴに定められた順番に基づき、送信部（画像読取部２、通信部５１、ＲＡＭ６、ＨＤＤ６２、画像処理部７等）からバースト伝送された各ワードの各記憶ブロック９への書き込みと、インデックステーブルＴに定められた順番に基づき、各記憶ブロック９に書き込まれている各ワードを読出て受信部（ＲＡＭ６、ＨＤＤ６２、画像処理部７、露光装置４３等）への出力が並行して行われる。これにより、読出順指示にあわせて随時更新されるインデックステーブルＴに定められたバッファメモリ８１の各記憶ブロック９に、各ワードの書込が行われていく。従って、バッファの容量が１回のバースト伝送分のデータサイズでも、滞りなく、データの伝送順序の変更が行われつつ、送信部から受信部にデータを伝送することができる。
【０１３１】
又、コントローラ８０は、読出順指示に合うように、インデックステーブルＴでの書込で現在参照している行に対し、１回のバースト伝送分のワード書込後に参照される行（次回のバースト伝送で同じ順番のワードの書込の際に参照される行）の値を変更する。これにより、読出で参照される行が書込で参照される行よりも先行し、かつ、次のバースト伝送に備えてインデックステーブルＴが変更されるので、次のバースト伝送では、読み出しが終わった記憶ブロック９に、随時書込が行われるインデックステーブルＴを生成することができる。又、所望する順番にワード（データ）の伝送順序の変更するために、予め定められた命令値を用いて、インデックステーブルＴの書き換えが行われる。これにより、命令値を切り替えるだけで、様々な伝送順序に切り替えることができる。
【０１３２】
又、インデックステーブルＴの行を参照して書込を行う場合、書込先の記憶ブロック９の状態ビットが未書込を示す状態となるまで、記憶ブロック９へのワードの書込は待機されるとともに、送信部（画像読取部２、通信部５１、ＲＡＭ６、ＨＤＤ６２、画像処理部７等）に次のワードの送信を待機させ、ワードが受信部（ＲＡＭ６、ＨＤＤ６２、画像処理部７、露光装置４３等）に出力された場合、読み出されたワードが記憶されていた記憶ブロック９の状態ビットは未書込の状態に更新される。これにより、書込対象の記憶ブロック９が空き次第、ワードが書き込まれ、又、読出をしていない限り、記憶ブロック９が上書きされることもない。
【０１３３】
又、バースト伝送で送信部（画像読取部２、通信部５１、ＲＡＭ６、ＨＤＤ６２、画像処理部７等）から受信したワードの順序は、読出順指示に基づき、逆転されて受信部（ＲＡＭ６、ＨＤＤ６２、画像処理部７、露光装置４３等）に出力される。これにより、両面印刷の場合の裏面用の画像データ等、逆方向に画像データを伝送する場合でも大容量のバッファを設けることなく、スムーズにデータの伝送を行うことができる。
【０１３４】
又、バッファ部８は、バスに接続される。これにより、どのような送信部（画像読取部２、通信部５１、ＲＡＭ６、ＨＤＤ６２、画像処理部７等）と受信部（ＲＡＭ６、ＨＤＤ６２、画像処理部７、露光装置４３等）の組み合わせでのデータ伝送であっても、１回のバースト伝送のデータサイズの容量を有するバッファメモリ８１を有するバッファ部８を１つ設けておくだけで、伝送速度を落とすことなく、ワードの伝送順序の変換を行いつつデータの伝送を行うことができる。
【０１３５】
又、送信部（画像読取部２、通信部５１、ＲＡＭ６、ＨＤＤ６２、画像処理部７等）は、画像データを出力し、受信部（ＲＡＭ６、ＨＤＤ６２、画像処理部７、露光装置４３等）は、画像データに対し画像処理を行う画像処理部７及び／又は、読出された画像データを記憶するＲＡＭ６とする。これにより、回転処理等のため、画像データの伝送において、ワードの伝送順序の変更が必要な場合でも、大容量のバッファメモリ８１を設けることなく、スムーズにワードの伝送順序の変更を行いつつ、データの伝送を行うことができる。従って、バッファメモリ８１の増設を行うことなく、最低限の容量のバッファメモリ８１で、画像データの処理速度を工事用させることができる。
【０１３６】
又、画像形成装置（例えば、複合機１００）は、本発明のデータ伝送装置１を含むので、送信部（画像読取部２、通信部５１、ＲＡＭ６、ＨＤＤ６２、画像処理部７等）と受信部（ＲＡＭ６、ＨＤＤ６２、画像処理部７、露光装置４３等）のデータの伝送において、バッファメモリ８１の容量が、１回のバースト伝送分のデータサイズしかなくても、滞ることなく、任意にバースト伝送でのワードの伝送順序を変更しつつ、データの伝送を行うことができる。従って、ワードの伝送順序の変更に要するバッファメモリ８１を大きく減らすことができ、製造コスト削減を図ることができる。又、各送信部と各受信部での規格や仕様上のデータの伝送順序にとらわれずに、デバイスを採用することができ、画像形成装置の設計、開発の自由度を高めることができる。
【０１３７】
次に、他の実施形態について説明しておく。上記の例では、バースト長が４である場合を説明したが、上記の説明は、バースト長が４以上であっても適用できる。例えば、バースト長が３２の場合、インデックステーブルＴは、６４行であり、バッファメモリ８１に含まれる記憶ブロック９は、３２個とし、コントローラ８０は、書込順、読出順を示すインデックステーブルＴを必要に応じて更新すればよい。
【０１３８】
以上、本発明の実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。
【産業上の利用可能性】
【０１３９】
本発明は、バースト伝送でデータの伝送を行い、バッファ部を含むデータ伝送装置や画像形成装置に利用可能である。
【符号の説明】
【０１４０】
１      データ伝送装置                ２      画像読取部（送信部）
４３    露光装置（受信部）            ５１    通信部（送信部）
６      ＲＡＭ（送信部、受信部）      ６２    ＨＤＤ（送信部、受信部）
７      画像処理部（送信部、受信部）  ８      バッファ部
８１    バッファメモリ                ８２    インデックスメモリ
８３    フラグメモリ                  ８４    データバス（バス）
９      記憶ブロック                  ９０    第０記憶ブロック
９１    第１記憶ブロック              ９２    第２記憶ブロック
９３    第３記憶ブロック              １００  複合機（画像形成装置）
Ｔ      インデックステーブル          Ｗ０、Ｗ１、Ｗ２、Ｗ３  ワード
【図１】
0005422499.tif 000002
【図２】
0005422499.tif 000003
【図３】
0005422499.tif 000004
【図４】
0005422499.tif 000005
【図５】
0005422499.tif 000006
【図６】
0005422499.tif 000007
【図７】
0005422499.tif 000008
【図８】
0005422499.tif 000009
【図９】
0005422499.tif 000010
【図１０】
0005422499.tif 000011