(57)【特許請求の範囲】
【請求項１】
画像のピクセルデータをマルチビームラスタ出力スキャナに供給するラスタ出力スキャナ用データ制御装置において、
前記マルチビームラスタ出力スキャナにおける１走査ライン分のピクセルデータであるピクセルデータブロックを前記走査ラインの順で記憶する画像メモリと、
前記画像メモリから読み出された複数のピクセルデータブロックを記憶する複数のファーストイン・ファーストアウト形式のＦＩＦＯメモリと、
このＦＩＦＯメモリから、ＦＩＦＯメモリのアクセス単位であるワード毎に読み出されたパラレルのピクセルデータを、１つのピクセルデータのビット数に対応した複数のシリアルのビットストリームに変換する変換手段と、
この変換手段からの複数のビットストリームを前記マルチビームラスタ出力スキャナに供給する出力手段と、
を有することを特徴とするデータ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像形成装置および方法に関し、特にマルチビームラスタ出力スキャナのデータを制御し出力するための装置および方法に関するものである。
【０００２】
【従来の技術】
図１に示すように、従来のマルチビームラスタ出力スキャナ（ＲＯＳ）１００は、中心軸５０の周りに回転する多面多角形（ポリゴン）ミラー２４を有する。多角形ミラー２４は、マルチビームレーザ源７４からの輝度変調されたビーム１２、１４を、感光記録媒体３０上に反復走査する。感光記録媒体３０は軸６２のまわりに回転する。ビーム１２、１４は、ライン走査方向（高速走査方向）に移動し、記録媒体はこれと直交する処理方向（低速走査方向）に移動し、これによってビームは記録媒体上をラスタ走査パターンに従って走査する。ディジタル印刷は、ピクセルデータストリームに従ってビーム１２、１４の各々をシリアルに輝度変調することにより実行される。こうして感光記録媒体３０が露光され、ピクセルデータで表わされる画像を形成する。複数のビームを同時に走査するプリンタは、マルチビームプリンタと呼ばれる。
【０００３】
画像のピクセルデータは、順次画像メモリに記憶される。まず第１ラインの第１ピクセルデータが記憶され、次に第１ラインの第２ピクセルデータが記憶され、第１ラインの全ピクセルデータが記憶されるまでこの処理を繰り返す。第１ラインの最後のピクセルデータが記憶されると、第２ラインの第１ピクセルデータに移り、第２ラインの全てのピクセルデータが記憶されるまで処理を繰り返す。このプロセスは、ページの全てのラインのピクセルデータが画像メモリに記憶されるまで続けられる。
【０００４】
印刷時には、まず第１ラインの第１ピクセルデータを読み取り、次に第１ラインの第２ピクセルデータを読み取るというように、第１ラインの全てのピクセルデータを順次読み取る。同様に、第２ラインの全てのピクセルデータ、第３ラインの全てのピクセルデータを読み取り、ページの最終ラインの全ピクセルデータを読み終わるまで画像メモリの読み取りを繰り返す。
【０００５】
プリンタで走査に複数のビームを用いる場合は、各ビームごとに、それぞれ対応の画像のラインのセットを走査する。複数のビームを使用するため、１度のライン走査で各ビームが走査するラインのピクセルデータストリーム（画素データの並び）が、その走査処理の間有効である必要性がある。この必要に応じるため、小容量のメモリをＦＩＦＯ記憶装置の形で設け、各走査ラインごとのデータをそれぞれ対応のＦＩＦＯに記憶する。ＦＩＦＯによって、複数のピクセルデータストリームを同時に生成して複数のビームによる同時走査をサポートすることができる。
【０００６】
通常、マルチビームプリンタでｎ本のビームを用いる場合、各ビームは連続した（隣りあった）ラインを走査するわけではないので、ｎより多い数のＦＩＦＯが必要となる。レーザーダイオードの製造上の制約により、ビームが隣接するラインを走査することができない。さらに、ビームが互いに接近し過ぎると、好ましくないビームの相互作用が起こる。従って、ビームは通常、複数の走査ラインによって分離されている（複数走査ライン離れている）。あるビームが走査するラインと次のビームが走査するラインの間のラインの数は、インタレース（飛び越し）係数と呼ばれる。デュアルスキャナ（ two beam scanner ）では、たとえば第１のビームが奇数ライン（１、３、５、・・・）を走査し、第２のビームが偶数ライン（２、４、６、・・・）を走査する。またインタレース係数が２のスキャナにおいては、第１ビームがライン１を走査し、第２ビームがライン４を走査する。従って、ライン１およびライン４に対応するデータを、第１の走査実行前に画像メモリから読み取る必要がある。しかし、画像のラインのピクセルデータは画像メモリから順番に読みだされるので、ライン４のピクセルデータを読み取るためには、ライン１〜３のピクセルデータも読み出すことになる。即ち、ライン１および４のピクセルデータのみが要求されているにもかかわらず、４本のライン全てのピクセルデータを記憶するために４つのＦＩＦＯが必要となる。
【０００７】
通常、図１に示すデュアルＲＯＳ１００においては、全奇数ラインのピクセルデータを第１ＦＩＦＯに入れ、全偶数ラインのピクセルデータを第２ＦＩＦＯに入れ、各ＦＩＦＯのサイズを２倍にすることによって、ＦＩＦＯの必要数を低減している。このようにすると、ライン１および３に対応するピクセルデータが、第１のＦＩＦＯ内で隣接し、ライン２および４に対応するピクセルデータが第２のＦＩＦＯ内で隣接することになる。ビームは常にライン走査方向に走査するので、各ＦＩＦＯのピクセルデータも常に順番に読み出される。またビーム１２および１４のライン読み取り順序は、ライン走査と直交する副走査方向に進むので、第１ラインに対応するピクセルデータは第３ラインに対応するピクセルデータより先に、第２ラインに対応するピクセルデータは第４ラインに対応するピクセルデータより先に、それぞれ読み出される。従って、デュアルＲＯＳ１００の場合は、２つのＦＩＦＯで十分でなのある。
【０００８】
ピクセルデータ要素は、ひとつのピクセルの２進表示である。従って、ピクセルデータ要素が１ビットの場合、そのピクセルは黒ドットまたは白ドットのどちらかになる。１ビットのピクセルデータ要素を用いて印刷した画像は、ページ上で白と黒のピクセル（ドット）から構成される。ピクセルデータが２ビットの場合は、ピクセルはブラックドット、ダークグレイドット、ライトグレイドット、ホワイトドットのいずれかである。すなわち、２ビットピクセルデータは４つのグレイレベルを持ち、２ビットピクセルデータで印刷した画像は４つのグレイレベルのドットでページを構成する。
【０００９】
画像メモリは、通常はバイトあるいは８ビットのブロックに分けて構成される。各画像ピクセルのピクセルデータ要素が１つのビットで構成される場合、１バイトは８つの画像ピクセルに対応するピクセルデータ要素を含む。しかし、走査ビームは画像をライン走査方向に第１ピクセル位置から最終ピクセル位置まで順に走査するので、ピクセルデータ要素は１度に１ピクセルずつ走査順にビームに提供されることになる。従って、第１、第２ＦＩＦＯとデュアルＲＯＳ１００の間でパラレル／シリアル変換を行う必要がある。
【００１０】
従来は、この変換を行うのにＦＩＦＯをもう１組用い（第２のＦＩＦＯセット）、ピクセルデータ要素を、第１、第２ＦＩＦＯが出力するパラレルバイトフォーマットから、マルチビームＲＯＳ１００で使用可能なシルアルのピクセルビットデータフォーマットに変換する。デュアルＲＯＳ１００の場合は、２つの追加ＦＩＦＯを用いる。追加ＦＩＦＯの各々は、各画像ピクセルのピクセルデータ要素のビット数に等しい幅を有する。第１のＦＩＦＯ対からピクセルデータが読まれ、個々の画像ピクセルに対応する単一のピクセルデータ要素に変換されて、第２ＦＩＦＯセットに書き込まれる。各画像ピクセルのピクセルデータ要素が１ビットから成る場合は、各バイトは８つの画像ピクセルのピクセルデータ要素を持つことになる。各ピクセルのピクセルデータ要素は、第２のＦＩＦＯ対のいずれかの固有のアドレスに順に配置される。ビームが走査を開始すると、印刷されるピクセルのピクセルデータ要素が第２ＦＩＦＯ対から順に読み出され、それによって生じるシルアルのピクセルデータストリームが、対応の画像ラインの走査で要求されるとおりの順で各ビームに供給される。
【００１１】
【発明が解決しようとする課題】
従来の走査システムでは、上述のように２つのＦＩＦＯセットが必要とされる。第２のＦＩＦＯセットは、通常約４０〜５０ＭＨｚのビーム走査速度で機能しなければならない。また、第２のＦＩＦＯセットは、各画像ピクセルのピクセルデータのビット数に応じた非標準フォーマットを有することを要求される。従って、第２ＦＩＦＯセットを設けることにより、走査システムに追加コストがかかる上に、上記のような特別要件のために、第２ＦＩＦＯセットのコストが一層増加することになる。
【００１２】
【課題を解決するための手段】
上記の問題を解決するため、本発明では第２のＦＩＦＯセットを設ける必要性を完全になくす。これは、第１のＦＩＦＯセットからピクセルデータを読むと直ちにパラレル／シリアル変換して、ラスタ出力スキャナに出力される出力ピクセルデータストリームを生成することによって実現される。これを達成するために、本発明のラスタ出力スキャナ用データ制御装置は、(a) 複数のピクセルデータブロックを記憶し、各ピクセルデータブロックが複数の画像メモリ語を含み、各画像メモリ語（ワード）が少なくとも１つのピクセルデータ要素を有する画像メモリと、(b) それぞれが前記画像メモリから読み出された複数のピクセルデータブロックを記憶する複数のファーストイン・ファーストアウト（ＦＩＦＯ）メモリと、(c) 前記画像メモリと前記複数のＦＩＦＯメモリを制御して、前記画像メモリから複数のピクセルデータブロックを複数のＦＩＦＯメモリに転送し、各ＦＩＦＯメモリから読み出されたメモリ語を、マルチビームラスタ出力スキャナに直接出力できる少なくとも１つのシリアルのピクセルデータビットストリームに変換する画像データ制御システム、とを備える。
【００１３】
画像メモリは印刷されるピクセルデータを記憶する。デュアルＲＯＳ１００の場合は、第１のＦＩＦＯが画像メモリから奇数ラインに対応するピクセルデータを受けとり、第２のＦＩＦＯは偶数ラインに対応するピクセルデータを受けとる。画像メモリからのピクセルデータは画像メモリコントローラによってＦＩＦＯに転送される。一方イメージコントローラで、ＦＩＦＯから読み出したピクセルデータをマルチビームプリントシステムでそのまま使用できるシリアルのピクセルデータストリームに変換する。
【００１４】
本発明の第１の例では、画像メモリコントローラが画像メモリからのピクセルデータを第１のＦＩＦＯセットに転送し、イメージコントローラが第１のＦＩＦＯセットからピクセルデータを読み出し、そのピクセルデータをシルアルのピクセルデータストリームに変換し、それをＲＯＳへ出力する。
【００１５】
本発明の第２の例では、イメージコントローラが、画像メモリからのピクセルデータを第１のＦＩＦＯセットへ転送し、さらに第１のＦＩＦＯセットからピクセルデータを読み出してそれを複数のシルアルのピクセルデータストリームに変換し、ＲＯＳに出力する。
【００１６】
本発明のデータ制御では、画像メモリに走査順に複数のピクセルデータブロックを記憶し、画像メモリからピクセルデータブロックを順次読み出し、読み出したピクセルデータブロックを複数のＦＩＦＯに書き込み、ＦＩＦＯからピクセルデータブロックを読み出し、それを複数のピクセルデータビットストリームに変換して、ＲＯＳに出力する。
【００１７】
本発明のその他の目的、効果は、以下の詳細な説明から明白となる。
【００１８】
【発明の実施の形態】
図２は、図１のＲＯＳ１００のマルチビームレーザ源７４を制御するための、本発明の第１実施形態にかかるＲＯＳデータ出力制御装置３００を示す。第１実施形態では、ＲＯＳ１００は２本のビーム１２、１４を用い、インタレース係数を２とする。ＲＯＳデータ出力制御装置３００は、画像メモリコントローラ３０２、イメージコントローラ３０４、画像メモリ３０６、第１のＦＩＦＯ３０８、第２のＦＩＦＯ３１０を備える。画像メモリ３０６は制御信号ライン３１６を介して画像メモリコントローラ３０２に接続され、これによって制御される。第１ＦＩＦＯ３０８及び第２ＦＩＦＯ３１０は、ピクセルデータを８ビットのデータ信号ライン３１２を介して画像メモリ３０６から受信する。画像メモリコントローラ３０２が第１ＩＦＯ３０８および第２ＦＩＦＯ３１０への書き込み信号を書き込み信号ライン３２８、３３４上に生成すると、ピクセルデータは画像メモリ３０６によって信号ライン３１２に送られ、第１および第２のＦＩＦＯ３０８、３１０にそれぞれ書き込まれる。イメージコントローラ３０４は、読み取り信号を信号ライン３３０、３３６を介して第１、第２のＦＩＦＯ３０８、３１０に送る。第１、第２のＦＩＦＯ３０８、３１０は、イメージコントローラ３０４が信号ライン３３０および３３６に出力した読み取り信号に呼応して、それぞれ信号ライン３２６、３３２に次のピクセルデータを出力する。イメージコントローラ３０４は、ＲＯＳ１００からのライン同期信号を信号ライン３４６を介して受信する。イメージコントローラ３０４はまた、第１、第２のＩＦＯ３０８、３１０からのピクセルデータを読み取り、ビーム１２の変調に必要なシリアルピクセルデータストリームを信号ライン３３８、３４０上に出力し、ビーム１４の変調に必要なシリアルピクセルデータストリームを信号ライン３４０、３４１に出力する。
【００１９】
図３は、感光記録媒体３０に入射する２本のビーム１２および１４の拡大側面図である。感光記録媒体３０は矢印６２の方向に回転し、ビーム１２、１４はそれぞれ、感光記録媒体３０の２本の走査ライン８０7 、８０10を（図において、底面に垂直な方向）水平に走査する。ビーム１２、１４の回転する感光記録媒体３０上への走査は、多角形ミラー２４の回転により行われる。図３でのインタレース係数は、ビーム１２、１４間の走査ラインの数によって決定され、したがってインタレース係数は２となる。図４は、ビーム１２、１４によって連続走査サイクルｍ、ｍ＋１、ｍ＋２で走査される走査ライン８０を示す。各走査サイクルｍでライン同期信号を発生し、感光記録媒体３０に沿ったビーム１２、１４の横方向の位置を定める。ビーム１２、１４が感光記録媒体３０の物理的位置を走査するたびに、ＲＯＳ１００が新たなライン同期信号を発生する。従って、ＲＯＳ１００の走査サイクルが始まるたびに、ＲＯＳ１００が信号ライン３４６にライン同期信号を出力する。
【００２０】
図４に示すように、ｍ番目の走査周期においてビーム１２はライン８０n-3 を走査し、ビーム１４はライン８０n を走査する。インタレース係数２のデュアルビームＲＯＳ１００においては、ｎはｍの２倍（ｎ＝２ｍ）となる。即ち、第１走査周期では、ｍ＝１なのでｎ＝２となる。ビーム１４が第２の走査ライン８０2 を走査する間、ビーム１２の走査すべき走査ライン８０-1が実際には存在しないので走査せずオフとなる。
【００２１】
ｍ＋１番目の走査周期では、ビーム１２が走査ライン８０n-1 を走査し、ビーム１４が走査ライン８０n+2 を走査する。第２走査周期ではｍ＝２なので、ビーム１４が４番目の走査ライン８０4 を走査し、ビーム１２が最初の走査ライン８０1 を走査する。
【００２２】
次のｍ＋２番目の走査周期では、ビーム１２が走査ライン８０n+1 を走査し、ビーム１４が走査ライン８０n+4 を走査する。ＲＯＳ１００が異なるビーム数と異なるインタレース係数を用いる場合は、当然各走査周期で走査される走査ライン番号の順が変わる。
【００２３】
図２に示す画像メモリ３０６は、完全に１ページ分のピクセルデータを記憶する。図５に示すように、１ライン分のピクセルデータが、画像メモリ内で対応のピクセルデータブロック１０２に記憶される。連続するライン８０のピクセルデータブロック１０２は順次画像メモリ３０６に記憶される。ライン８０1 に対応するピクセルデータブロック１０２1 は画像メモリ３０６の初頭に記憶し、ライン８０2 に対応するピクセルデータブロック１０２2 を、ピクセルデータ１０２1 の次に記憶する。ページの最終ライン８０P に対応するピクセルデータブロック１０２P を画像メモリ３０６のピクセルデータブロック１０２の最後のブロックに記憶するまで、この操作を繰り返す。本発明の範囲内で、画像メモリ３０６に複数のページまたは部分的ページを記憶できることはいうまでもない。
【００２４】
図１に示すデュアルビームＲＯＳ１００では、通常、画像メモリコントローラ３０２が、奇数走査ラインに対応するピクセルデータブロック１０２(2n-1)を第１のＦＩＦＯ３０８に書き込み、偶数走査ラインに対応するピクセルデータブロック１０２(2n)を第２のＦＩＦＯ３１０に書き込む。ビーム１２は、第１のＦＩＦＯ３０８からのみピクセルデータを受信し、ビーム１４は、第２のＦＩＦＯ３１０からのみピクセルデータを受信する。ＲＯＳ１００に任意の（ｎ本の）ビームを用いる場合、ＲＯＳデータ出力制御装置３００にｎ個のＦＩＦＯを使用しなければならない。この場合、各ＦＩＦＯが、ｎラインごとの走査ラインを受信する。
【００２５】
画像メモリ３０６からのデータ読取り速度は、ビーム１２、１４をサポートするために必要なシリアルビット率と、画像メモリの１バイトにパックできるピクセルデータ要素の数によって決まる。例えばビーム１２、１４を４０ＭＨｚ（毎秒４千万ピクセルの書き込み）のピクセルクロック速度で変調するとすると、ＦＩＦＯを４０ＭＨｚ／ｄの速度で読み取らなければならない。ここでｄは、ＦＩＦＯ３０８またはＦＩＦＯ３１０の各バイトにパックされた画像ピクセルデータ要素に対応するピクセルデータ要素の数である。たとえば各ピクセルのピクセルデータが２ビット幅であるとすると、ｄ＝８ビット/ バイト÷２ビット/ ピクセル＝４ピクセル／バイトとなる。同様にして、ピクセルのビット数が１、４、８の場合は、バイトあたりのピクセルデータ要素数はそれぞれ８、２、１となる。上記の例でピクセルデータ要素が２ビットの場合、ＦＩＦＯの読み取り速度は、４０ＭＨｚ／４＝１０ＭＨｚとなる。
【００２６】
このデュアルビームＲＯＳ１００では、それぞれが１０ＭＨｚの速度で読み取られる２つのＦＩＦＯ３０８、３１０を設け、双方のＦＩＦＯが同一の画像メモリ３０６からデータを受信するので、画像メモリ３０６からのデータ読み取り速度は最低２０ＭＨｚとなる。つまり、ピクセルデータがＦＩＦＯ３０８、３１０からそれぞれ１０ＭＨｚの速度でパラレルに読み取られるので、ＦＩＦＯ３０８、３１０からの総データ出力が毎秒２０メガバイトとなる。このＦＩＦＯデータ出力速度に遅れないためには、データ入力速度も最低でも毎秒２０メガバイトでなければならない。また、ＦＩＦＯ３０８、３１０に書き込まれるピクセルデータは画像メモリ３０６からシリアルに読み取られるので、画像メモリ３０６の読み取り速度も最低２０ＭＨｚでなければならない。
【００２７】
ＦＩＦＯ３０８、３１０からデータが読み取られる時だけ、ＦＩＦＯ３０８、３１０へのデータ書き込みが行われるとすると、画像メモリ３０６における２０ＭＨｚの読み取り速度はデータ出力についていくために必要な最低読み取り速度といえる。しかし、ＦＩＦＯ３０８、３１０からのデータ読取り時間は、一走査ラインを走査するのに必要な全時間のほんの一部にすぎない。走査時間のほとんどは感光記録媒体３０を次のラインに動かす機械的な動作等に費やされる。場合によっては、全走査時間の４割が実際の画像走査以外の動作に使われ、ビーム１２、１４が実際に画像を走査する時間は全走査時間の６割にすぎないことすらある。
【００２８】
トータルの走査時間を通してデータを画像メモリ３０６から読み出せれば、画像メモリ３０６の読み取り速度は大幅に低減できる。上記の例では、画像メモリ３０６からの２０ＭＨｚの読取り速度がビーム１２、１４に要求され、ビーム１２、１４が各走査ラインのトータル走査時間の６割の時間で感光記録媒体３０を走査する。一走査ラインを走査するのにかかる全走査時間を画像メモリ３０６のデータの読み取りに利用できれば、画像メモリ３０６の読み取り速度を１２ＭＨｚ（０．６×２０ＭＨｚ）に削減できる。
【００２９】
第１のＦＩＦＯ３０８は、書き込みポインタと読み取りポインタ（read pointer）を有する。第１ＦＩＦＯ３０８が信号ライン３２８から書き込み信号を受信すると、入力信号ライン３１２にある画像メモリ語を書き込みポインタが示すアドレス位置に書き込む。書き込み動作が終わると、書き込みポインタを１だけインクリメントし、次に有効な書き込み位置を示し、第１ＦＩＦＯ３０８が次の書き込み動作をする用意をする。第１ＦＩＦＯ３０８が読み取りライン３３０にある読み取り信号を受信すると、読み取りポインタが指すアドレスのメモリ語（ワード）を読み取り、出力信号ライン３２６に送る。そして読み取りポインタを、１だけインクリメントし、第１ＦＩＦＯが次の読み取り動作にかかる用意をする。書き込みポインタと読み取りポインタのいずれかが第１ＦＩＦＯ３０８の最後の有効アドレスを指すと、書き込みまたは読み取り信号が、対応のポインタを１だけインクリメントして、書き込みまたは読み取りポインタが第１のＦＩＦＯの記憶容量を越えたアドレスを指すようにする。これによって、ポインタは第１ＦＩＦＯ３０８の最初の位置にリセットされる。書き込みポインタがインクリメントされて読み取りポインタと同じ値になると、第１ＦＩＦＯ３０８はＦＵＬＬフラグを出して、第１ＦＩＦＯ３０８がいっぱいであり、このＦＩＦＯ３０８から次のワードを読み取ってフルの状態を解除しないかぎり新データの受信はできないことを表示する。読み取りポインタがインクリメントされて書き込みポインタと同じ値になると、第１ＦＩＦＯ３０８が空になる。第２ＦＩＦＯ３１０は第１ＦＩＦＯ３０８と同様に動作する。
【００３０】
第１ＦＩＦＯ３０８と第２ＦＩＦＯ３１０のどちらかが空になり、対応の信号ライン３３０か３３６が新規の読み取り信号を受信すると、エラー状態となる。このエラー状態は、従来のエラー回復ルーチンで解決できる。この方法は当業者にとって周知であり、本発明の範囲外なので、ここでは触れないことにする。
【００３１】
画像メモリコントローラ３０２は、書き込みライン３２８、３３４を制御して、第１ＦＩＦＯ３０８、第２ＦＩＦＯ３１０にそれぞれピクセルデータを書き込む。信号ライン３１２が画像メモリ３０６からの信号を受信する用意ができると、画像メモリコントローラ３０２が書き込み信号を書き込みライン３２８または３３４に出力し、画像メモリ３０６からのデータを対応のＦＩＦＯ３０８または３１０に書き込む。
【００３２】
イメージコントローラ３０４は、第１、第２のＦＩＦＯ３０８、３１０からのデータを、それぞれ信号ライン３３０、３３６を介して読み取る。ＲＯＳ１００に出力するためにピクセルデータが必要な場合には、イメージコントローラ３０４が、信号ライン３３０または３３６に読み取り信号を送信し、ＦＩＦＯ３０８または３１０からのさらなるピクセルデータを読み取る。
【００３３】
画像メモリコントローラ３０２は、画像メモリ３０６から第１、第２のＦＩＦＯ３０８、３１０へのデータの転送を制御する。ＲＯＳコントローラ（図示せず）が画像メモリコントローラ３０２を始動させると、画像メモリコントローラ３０２はまず第１ピクセルデータブロック１０２1 を画像メモリ３０６から第１ＦＩＦＯ３０８に転送する。次に画像メモリコントローラ３０２は、第２ピクセルデータブロック１０２2 を画像メモリ３０６から第２のＦＩＦＯ３１０に転送する。ピクセルデータブロック１０２2 を第２ＦＩＦＯ３１０に転送し終えると、第３ピクセルデータブロック１０２3 を第１のＦＩＦＯ３０８に転送し、第４ピクセルデータブロック１０２4 を第２のＦＩＦＯ３１０に転送する。このようにして、画像メモリコントローラ３０２は、ピクセルデータブロック１０２のピクセルが全てなくなるまで、連続するピクセルデータブロック１０２を画像メモリ３０６から交互に第１、第２のＦＩＦＯ３０８、３１０に転送する。
【００３４】
画像コントローラ３０２は、第１ＦＩＦＯ３０８のＦＵＬＬフラグがセットされるまで、現在のピクセルデータブロック１０２のピクセルデータを第１ＦＩＦＯ３０８に転送し続ける。フラグがセットされると、画像メモリコントローラ３０２は、第１ＦＩＦＯ３０８がＦＵＬＬフラグを解除するまで待機する。第１ＦＩＦＯ３０８のＦＵＬＬフラグが解除されると、画像メモリコントローラ３０２は、現在のピクセルデータブロック１０２のデータ転送を再開し、そのデータがなくなるまで第１ＦＩＦＯ３０８に転送する。次に、画像メモリコントローラ３０２は、次のピクセルデータブロック１０２を現在のピクセルデータブロック１０２として第２のＦＩＦＯ３１０に転送を開始する。第２ＦＩＦＯ３１０のＦＵＬＬフラグがセットされると、画像メモリコントローラ３０２は、第２ＦＩＦＯ３１０がＦＵＬＬフラグを解除するまで待機する。第２ＦＩＦＯのＦＵＬＬフラグが解除されると、画像メモリコントローラ３０２は現在のピクセルデータブロック１０２のデータ転送を再開し、そのデータがなくなるまで第２ＦＩＦＯ３１０に転送する。画像メモリコントローラ３０２は、ピクセルデータブロック１０２にあるピクセルデータの数をＲＯＳコントローラから信号ライン３４４を通して受信する。ＲＯＳコントローラが画像メモリコントローラ３０２をスタートさせると、画像メモリコントローラ３０２は、それが第１ピクセルデータブロック１０２1 からの第１ピクセルデータとみなし、第１ピクセルデータを第１ＦＩＦＯに転送する。画像メモリコントローラ３０２は転送されたデータの数を数え、転送されたデータ数が、ピクセルデータブロック１０２のピクセルデータ数と一致するとピクセルデータ数をリセットし、次のピクセルデータを、現在のピクセルデータブロック１０２の第１ピクセルデータとして第２のＦＩＦＯ３１０に転送する。
【００３５】
この第１実施形態では、画像メモリコントローラ３０２とイメージコントローラ３０４が互いに完全に独立し、非同期で作動する。ＲＯＳ１００がビーム１２、１４の走査を始める前に、ＲＯＳコントローラは画像メモリコントローラ３０２に制御信号を送り、ピクセルデータブロック１０２を第１、第２ＦＩＦＯ３０８、３１０にロードするように制御する。画像メモリコントローラ３０２は、その信号に応答し、図６に示すように、画像メモリ３０６からピクセルデータを第１、第２のＦＩＦＯ３０８、３１０に転送する。
【００３６】
図６において、ステップＳ４０００でＲＯＳコントローラが画像メモリコントローラ３０２をスタートさせる。ステップＳ４０１０で、画像メモリコントローラ３０２がピクセルデータを記憶する画像メモリ３０６からの次のピクセルデータを現在のピクセルデータブロック１０２のピクセルデータとして読み取る。ステップＳ４０２０で、画像メモリコントローラ３０２は現在のピクセルデータを第１のＦＩＦＯ３０８に書き込む。
【００３７】
ステップＳ４０３０に進み、画像メモリコントローラ３０２は、第１ＦＩＦＯ３０８のＦＵＬＬフラグがセットされているかどうかを検出する。第１ＦＩＦＯ３０８のＦＵＬＬフラグがセットされていると、画像メモリコントローラ３０２は、そのＦＵＬＬフラグが解除されるまでステップＳ４０３０を繰り返す。
【００３８】
第１ＦＩＦＯ３０８のＦＵＬＬフラグが解除されると、画像メモリコントローラ３０２はステップＳ４０４０に進み、現在のピクセルデータブロック１０２の転送が完了したかどうかを検出する。現在のピクセルデータブロックの転送が完了していない場合はステップＳ４０１０に戻り、現在のピクセルデータブロック１０２のピクセルデータを第１ＦＩＦＯ３０８に転送し続ける。一方、現行ピクセルデータブロックの転送が完了している場合は、ステップＳ４０５０に進む。
【００３９】
ステップＳ４０５０で、画像メモリコントローラ３０２は画像メモリ３０６のピクセルデータが全て第１、第２ＦＩＦＯ３０８、３１０に転送されたかを調べる。全てのピクセルデータが転送されている場合、画像メモリ３０６が空になっており、ステップＳ４１１０に飛んで処理を終了する。一方、画像メモリ３０６が空でない場合は、ステップＳ４０６０に進む。
【００４０】
ステップＳ４０６０で、画像メモリコントローラ３０２は画像メモリ３０６の次のピクセルデータを現在のピクセルデータブロック１０２のピクセルデータとして読み取る。ステップＳ４０７０で、現在のピクセルデータを第２のＦＩＦＯ３１０に書き込む。
【００４１】
さらにステップＳ４０８０に進み、第２ＦＩＦＯ３１０の  ＦＵＬＬフラグがセットされているかを調べる。第２ＦＩＦＯ３１０のＦＵＬＬフラグが設定されていると、画像メモリコントローラ３０２は、そのＦＵＬＬフラグが解除されるまでステップＳ４０８０を繰り返す。
【００４２】
第２ＦＩＦＯ３１０のＦＵＬＬフラグが解除されると、画像メモリコントローラ３０２はステップＳ４０９０に進み、現在のピクセルデータブロック１０２の転送が終了したかを調べる。現在のピクセルデータブロックの転送が完了していない場合、ステップＳ４０６０にジャンプし、現在のピクセルデータブロック１０２のピクセルデータを第２ＦＩＦＯ３１０に転送し続ける。一方、現在のピクセルデータブロックの転送が完了している場合は、画像メモリコントローラ３０２はステップＳ４１００に進む。
【００４３】
ステップＳ４１００で、画像メモリコントローラ３０２は再び画像メモリ３０６のピクセルデータが全て第１、第２ＦＩＦＯ３０８、３１０に転送されたかどうか調べる。全てのピクセルデータが転送されている場合、画像メモリ３０６が空になっており、ステップＳ４１１０にジャンプして処理を終了する。一方画像メモリ３０６が空でなければ、画像メモリコントローラ３０２はステップＳ４０１０に戻り、ピクセルデータ転送処理を続ける。
【００４４】
イメージコントローラ３０４は、第１、第２のＦＩＦＯ３０８、３１０からピクセルデータブロック１０２を読み取る。第１、第２ＦＩＦＯ３０８、３１０から読み取られたピクセルデータブロック１０２は、１バイトにつき複数のピクセルデータ要素を有するようにパックされている。第１、第２ＦＩＦＯ３０８、３１０は、画像メモリ３０６と同じワード幅なので、画像メモリ３０６から読み取られたワードを１つずつ、対応するＦＩＦＯ３０８又は３１０へ、そのまま記憶する。ここで各ピクセルデータ要素が２ビットで（すなわちｄ＝２）、画像メモリのバイト幅が１バイトであるとすると、イメージコントローラ３０４は、１バイトあたり４つのピクセルデータ要素にパックされたピクセルデータをバイト毎に、連続した２ビットピクセルデータ要素のシリアルストリームに変換し、その２ビットピクセルデータストリームをＲＯＳ１００に出力する。
【００４５】
イメージコントローラ３０４は、第１、第２ＦＩＦＯ３０８、３１０から読み取られたピクセルデータブロック１０２を前述のピクセルデータストリームにして、ＲＯＳ１００に出力する。イメージコントローラ３０４が動作を始める前に、ＲＯＳコントローラが、信号ライン３４４を通して、イメージコントローラ３０４に制御情報をロードする。制御情報を受信すると、イメージコントローラ３０４は、第１ＦＩＦＯ３０８からの現在のピクセルデータブロック１０２に対応するピクセルデータを読み取り、この第１の現在のピクセルデータブロック１０２を第１のシリアルピクセルデータストリームに変換し、第１のシリアルピクセルデータストリームをＲＯＳ１００に出力してビーム１２を変調する。イメージコントローラ３０４はこれと同時に、第２の現在のピクセルデータブロック１０２に対応するピクセルデータを読み取り、第２の現在のピクセルデータブロック１０２を第２のシリアルピクセルデータストリームに変換し、第２のシリアルピクセルデータストリームをＲＯＳ１００に出力してビーム１４を変調する。
【００４６】
ＲＯＳ１００は、信号ライン３４６のライン同期信号によって、イメージコントローラ３０４が出力する第１、第２のシリアルピクセルデータストリームをビーム１２、１４の実際の走査位置に同期する。図７に示すように、イメージコントローラ３０４は、ＲＯＳ１００からのライン同期信号を待ち、それを受信してから、第１、第２シリアルピクセルデータストリームをＲＯＳ１００に出力する。
【００４７】
ステップＳ５０００で、ＲＯＳコントローラがイメージコントローラ３０４を始動する。ステップＳ５０１０で、イメージコントローラ３０４がＲＯＳ１００からのライン同期信号を待つ。ライン同期信号が着信しない場合は、イメージコントローラ３０４はステップＳ５０４０にジャンプし、ＲＯＳコントローラがプリンタを停止したかを調べる。プリンタが停止していれば、イメージコントローラがＳ５０５０にジャンプし、処理を終了する。プリンタが停止していない場合は、イメージコントローラ３０４はステップＳ５０１０に戻り、再びライン同期信号を待つ。イメージコントローラ３０４がライン同期信号を受信すると、イメージコントローラ３０４はステップＳ５０２０に進む。図では、ステップＳ５０２０とステップＳ５０３０を前後して実行するように描いてあるが、この第１実施形態では実際は同時に実行している。ステップＳ５０２０で、イメージコントローラ３０４は第１ＦＩＦＯ３０８からの第１の現在のピクセルデータブロック１０２をＲＯＳ１００に出力する。同時にステップＳ５０３０で、イメージコントローラ３０４は第２の現在のピクセルデータブロック１０２をＲＯＳ１００に出力する。そしてイメージコントローラ３０４はステップＳ５０１０に戻る。
【００４８】
図８は、図７の第１ＦＩＦＯ３０８データ出力ステップ（ステップＳ５０２０）をさらに詳しく説明している。ステップＳ１３００で、イメージコントローラ３０４は、まず受信したライン同期信号が第１ライン同期信号であるかを調べる。受信したライン同期信号が第１ライン同期信号の場合、イメージコントローラ３０４はまったく動作しない。これはビーム１２がページの最初の走査時に常にオフになっているからである。イメージコントローラ３０４は、第２ライン同期信号を受信するまでビーム１２の処理を無視する。従って、イメージコントローラ３０４は、ステップＳ１３００からステップＳ１３５０に直接ジャンプし、ステップＳ５０３０に戻る。
【００４９】
一方、受信したライン同期信号が第１ライン同期信号でない場合は、イメージコントローラ３０４はステップＳ１３１０に進み、第１ＦＩＦＯ３０８からのワードを第１の現在のピクセルデータブロック１０２の次のメモリ語（ワード）として読み、ＲＯＳ１００に出力する。ステップＳ１３２０で、イメージコントローラ３０４は第１ＦＩＦＯ３０８から読み取ったワードをシリアルピクセルデータストリームに変換し、ステップＳ１３３０で、このシリアルピクセルデータストリームをＲＯＳ１００に出力する。ステップＳ１３４０で、第１の現在のピクセルデータブロック１０２を全て読み、変換し、ＲＯＳ１００に出力したかを調べる。第１の現在のピクセルデータブロック１０２を全て読み終えていない場合は、イメージコントローラ３０４はステップＳ１３１０に戻り、第１ＦＩＦＯ３０８からの次のメモリ語を読み取る。全て読み終わっている場合はステップＳ１３５０にジャンプし、呼び出しステップのあとにこのステップＳ５０３０に戻る。
【００５０】
図９は、図７における第２ＦＩＦＯ３１０データ出力ステップ（ステップＳ５０３０）をさらに詳しく説明している。ステップＳ１４００で、イメージコントローラ３０４は、第２の現在のピクセルデータブロック１０２の次のメモリ語を読み、第２ＦＩＦＯ３１０からＲＯＳ１００に出力する。ステップＳ１４１０でワードをシリアルピクセルストリームに変換し、ステップＳ１４２０で、このシリアルピクセルストリームをＲＯＳ１００に出力する。ステップＳ１４３０で、第２の現在のピクセルデータブロック１０２が全て読み取られたかを調べる。現在のピクセルデータブロック１０２を全て読み終えていない場合、イメージコントローラ３０４はステップＳ１４００に戻り、第２ＦＩＦＯ３１０からの次のメモリ語を読み取る。すべて読み終えている場合は、イメージコントローラ３０４は呼び出しステップＳ５０４０に戻る。
【００５１】
第１および第２のＦＩＦＯ３０８、３１０は、それぞれ少なくとも２つの画像データブロック１０２を記憶しなければならない。各ＦＩＦＯが記憶すべき画像データブロック１０２の数は、画像データブロック１０２を第１、第２のＦＩＦＯ３０８、３１０への書き込み（からの読み取り）の方式によって決まる。
【００５２】
画像メモリコントローラ３０２は、第１または第２ＦＩＦＯのＦＵＬＬフラグがセットされるまで、第１ＦＩＦＯ３０８または第２ＦＩＦＯ３１０にそれぞれ書き込みを続ける。フラグがセットされると、画像メモリコントローラ３０２はＦＵＬＬフラグが解除されるまでピクセルデータの転送を中断する。画像メモリ３０６のピクセルデータを順番にしか読めないので、画像メモリコントローラ３０２は、次の画像データブロック１０２を転送する前に、現在のピクセルデータブロック１０２の全ピクセルデータを転送しなければならない。従って、画像メモリコントローラ３０２は、第２ＦＩＦＯのＦＵＬＬフラグが既に解除された場合でも、第１ＦＩＦＯ３０８のＦＵＬＬフラグが解除されるまで待機する。画像メモリコントローラ３０２は、現在のピクセルデータブロック１０２を完全に第１のＦＩＦＯ３０８に転送し終えるまで、ピクセルデータを第２のＦＩＦＯ３１０に転送し始めることができない。
【００５３】
画像メモリコントローラ３０２は、ＲＯＳコントローラが画像メモリコントローラ３０２を起動した後、第１ライン同期信号が発生されるまで、ピクセルデータブロック１０２1 〜１０２4 を第１および第２のＦＩＦＯ３０８、ＦＩＦＯ３１０に転送できる。これらのピクセルデータブロックを転送し終えると、第１、第２のＦＩＦＯ３０８、３１０の双方がフルになり、画像メモリコントローラ３０２は、第１ＦＩＦＯ３０８のＦＵＬＬフラグが解除されるまで第１ＦＩＦＯ３０８に次のピクセルデータブロック１０２5 を転送できなくなる。
【００５４】
図４において、走査周期ｍ＝１の場合、ビーム１４は走査ライン２を走査するがビーム１２はどのラインも走査しない。従って、第１走査周期ｍ＝１の後、ピクセルデータブロック１０２2 を第２ＦＩＦＯ３１０から読み取り、第２ＦＩＦＯのＦＵＬＬフラグを解除する。しかし、第１ＦＩＦＯ３０８は依然としてフルである。
【００５５】
第２走査周期ｍ＝２では、ビーム１２が走査ライン１を走査し、ビーム１４が走査ライン４を走査する。従って、ピクセルデータブロック１０２1 および１０２4 が、それぞれ第１ＦＩＦＯ３０８と第２ＦＩＦＯ３１０から読み取られる。ここで、画像メモリコントローラ３０２はピクセルデータブロック１０２5 を第１ＦＩＦＯ３０８へ転送できるようになる。さらに、ピクセルデータブロック１０２5 の転送が完全に終わった時点で、画像メモリコントローラ３０２は、ピクセルデータブロック１０２6 を第２ＦＩＦＯ３１０へ転送できる。
【００５６】
第３走査周期ｍ＝３では、ビーム１２が走査ライン３を走査し、ビーム１４が走査ライン６を走査する。走査ライン６は、ピクセルデータブロック１０２6 がビーム１４を変調することを要求するので、ビーム１４が走査ライン６の走査を完了する前に、画像メモリコントローラ３０２がピクセルデータブロック１０２6 の転送を完了しなければならない。画像メモリコントローラ３０２が、第２走査周期ｍ＝２中にピクセルデータブロック１０２5 と１０２6 の転送を終了していれば、第２ＦＩＦＯ３１０は、第３画像データブロック１０２を記憶する必要がなくなる。第１ＦＩＦＯ３０８が常に最初にＦＵＬＬフラグを解除するので、第１ＦＩＦＯ３０８も、第２ＦＩＦＯ３１０も画像データブロック１０２を３つ以上記憶する必要がない。
【００５７】
この第１実施形態を３本以上のビームを用いる場合に拡大して適用することは容易である。図１０は、インタレース係数が３のスリービームのスキャナを示している。ビーム１２、１４、１６は、３本の連続する走査ライン８０によって隔てられている。上述のデュアルビームと同様の理由から、各ビームにＦＩＦＯが割り当てられている。すなわち、第１ＦＩＦＯがビーム１２用にピクセルデータブロック１０２3m-2を有し、第２ＦＩＦＯがビーム１４用にピクセルデータブロック１０２3m-1を有し、第３ＦＩＦＯがビーム１６用にピクセルデータブロック１０２3mを有する。第１ライン同期信号（ｍ＝１）に応え、ビーム１６が走査ライン８０3 を走査し、ビーム１２、１４はオフとなる。第２ライン同期信号に応え、ビーム１４、１６が、それぞれ走査ライン８０2 、８０6 を走査し、ビーム１２はオフの状態を続ける。第３ライン同期信号（ｍ＝３）になって、始めてビーム１２は走査ライン８０1 を走査する。上記デュアルビームの場合と同様な理由から、すべてのＦＩＦＯが少なくとも３つの画像データブロック１０２を有することが要求される。
【００５８】
上記の方法は、容易に任意のビーム数に拡大適用される。また、インタレース係数についても、任意のインタレース係数を用いることができる。しかしながら、インタレース係数の選択をよく考慮せずに行うと、走査が複雑になり、ＦＩＦＯのサイズが必要以上に大きくなる可能性が出てくる。
【００５９】
イメージコントローラ３０４は、第１、第２のＦＩＦＯ３０８、３１０から読み取った、パックピクセルデータ要素をシリアルのピクセルデータストリームに変換し、ＲＯＳ１００に出力する。デュアルビーム（２ビーム）の実施形態で、第１、第２のＦＩＦＯ３０８、ＦＩＦＯ３１０のワード長を１バイト、ピクセルデータ要素幅を２ビットとすると、イメージコントローラ３０４は、１バイトあたり４つパックされたピクセルデータ要素を１つのシリアルピクセルデータストリームに変換しなければならない。この変換は、パックされたピクセルデータ要素を第１および第２のＦＩＦＯ３０８、３１０から読み取った直後に実行されなければならない。
【００６０】
ビーム１２、１４が感光記録媒体３０を直列に（順次）走査するので、ＲＯＳ１００はピクセルデータがシリアルストリームであることを必要とする。ビーム１２、１４に対応するピクセルデータ要素は、それぞれ２ビット幅なので、ＲＯＳ１００は、各２ビットのピクセルデータ要素が並列に設けられ、その後ろに次の２ビットピクセルデータ要素を配置する。すなわち、ＲＯＳ１００は、ビーム１２、１４のそれぞれのために２つのシリアルピクセルデータビットストリームを必要とする。ここで各シリアルピクセルデータビットストリームからの２つの対応するビットが１つのピクセルデータ要素に対応する。
【００６１】
図１１は、イメージコントローラ３０４の２つのパラレル／シリアル変換器３５０を示す。この変換器３５０は、１バイトにつき４つパックされたピクセルデータ要素を、ビーム１２および１４のための２つのシリアルピクセルデータビットストリームに変換する。パックされたピクセルデータ要素を、それぞれ第１、第２のＦＩＦＯ３０８、３１０から信号ライン３２６、３３２を通して、イメージコントローラ３０４に入力する。シリアルピクセルデータビットストリームはＲＯＳ１００に向けて出力され、このデータが、信号ライン３３８、３３９を介してビーム１２に、信号ライン３４０、３４１を介してビーム１４に入力される。
【００６２】
図１２は、信号ライン３２６、３３８、３３９に接続されたパラレル／シリアル変換器３５０のひとつを示す。８ライン並列信号ライン３２６から送られてくる１バイトあたり４つにパック（２ビットずつの４つ）されたピクセルデータ要素をビデオバススプライサ（接続具）３５４に入力する。ビデオバススプライサ３５４からの出力を、それぞれ４ライン並列信号ライン３４６、３４８を介してそれぞれ第１、第２のシフトレジスタ３６０、３６２に入力する。第１、第２のシフトレジスタ３６０、３６２は、信号ライン３５６のロードクロック信号に基づいて信号ライン３４６、３４８からのデータをそれぞれロードし、信号ライン３５８のシフトクロック信号に基づいて信号ライン３３８、３３９からシリアルビットストリームを出力する。
【００６３】
イメージコントローラ３０４は、図１３に示すフローチャートに基づいて、１バイトあたり４つにパックされた画像データ要素を、２つのシリアルピクセルデータビットストリームに変換する。ステップＳ２１００で、ビデオバススプライサが、バイトの奇数ビットと偶数ビットに分けることによって、各ピクセルデータ要素を２ビットを分割する。第１ＦＩＦＯ３０８から読み取ったメモリ語にパックされた４つの画像データ要素の奇数ビットの全てを信号ライン３４６を介して第１シフトレジスタ３６０に出力する。偶数ビットを、信号ライン３４８を介して第２シフトレジスタ３６２に出力する。ステップＳ２１１０、Ｓ２１２０で、第１シフトレジスタ３６０と第２シフトレジスタ３６２はロードクロック信号３５６に応え、それぞれ同時に４つのピクセルデータ要素の奇数および偶数ビットをロードする。
【００６４】
ステップＳ２１３０で、シフトレジスタ３６０、３６２は、信号ライン３５８からのシフトクロックに基づき、ロードされたビットを一度に１ビットずつ信号ライン３３８、３３９にシリアルに出力する。  シフトクロック３５８ごとに、同一のピクセルデータ要素に対応する奇数、偶数ビットを、信号ライン３３８、３３９に出力し、２つのシリアルピクセルデータビットストリームを生成する。シフトクロック３５８をＲＯＳ１００と同期させ、ピクセルデータビット値を、ビーム１２を変調するのに必要な正確な時間と順序でＲＯＳ１００に供給する。ビーム１４を変調、走査するために、同様のパラレル／シリアル変換処理を信号ライン３３２の入力信号と信号ライン３４０、３４１に出力するシリアルピクセルデータビットストリームにも行う。
【００６５】
図１４は、ＲＯＳ１００のマルチビームレーザ源７４を制御するＲＯＳデータ出力制御装置３００の第２実施形態である。第２実施形態でＲＯＳ１００は、２本のビーム１２、１４と、インタレース係数２を用いる。ＲＯＳデータ出力制御装置３００は、画像メモリコントローラ３０２、イメージコントローラ３０４、画像メモリ３０６、第１ＦＩＦＯ３０８、第２ＦＩＦＯ３１０を含む。画像メモリ３０６は画像メモリコントローラ３０２に接続され、制御信号ライン３１６を介してこの画像メモリコントローラ３０２から制御される。第１、第２のＦＩＦＯ３０８、３１０は、データ信号ライン３１２を介して画像メモリコントローラ３０２からピクセルデータを受信する。第１、第２のＦＩＦＯ３０８、ＦＩＦＯ３１０が、それぞれ書き込み信号ライン３２８、３３４を介して書き込み信号を受信すると、画像メモリコントローラ３０２によって信号ライン３１２に出力されたピクセルデータが、対応する第１、第２のＦＩＦＯ３０８、３１０のいずれかに書き込まれる。第１実施形態と異なり、第２実施形態では、イメージコントローラ３０４が画像メモリコントローラ３０２、第１ＦＩＦＯ３０８、第２ＦＩＦＯ３１０の動作と共同し、ＲＯＳ１００のビーム１２、１４を変調するのに必要なシリアルピクセルデータストリームを生成する。
【００６６】
図１４に示すように、画像メモリコントローラ３０２は信号ライン３１６を使って画像メモリ３０６からのピクセルデータを読み取る。画像メモリコントローラ３０２が受信する画像メモリ３０６からのピクセルデータを、信号ライン３１２により、第１ＦＩＦＯ３０８又は第２ＦＩＦＯ３１０のいずれか一方に転送する。画像メモリコントローラ３０２は、信号ライン３１８に画像要求リターンクロックを出力し、第１、第２のＦＩＦＯ３０８、３１０が、画像メモリ３０６からのピクセルデータを受信する用意ができていることをイメージコントローラ３０４に知らせる。
【００６７】
イメージコントローラ３０４は、書き込みライン３２８及び読み取りライン３３０により第１ＦＩＦＯ３０８を制御し、書き込みライン３３４及び読み取りライン３３６により第２ＦＩＦＯ３１０を制御する。信号ライン３１２で、画像メモリコントローラ３０２がデータを受信する用意ができると、イメージコントローラ３０４が第１、第２のＦＩＦＯ書き込みライン３２８、３３４の適切な方に書き込み信号を出力し、画像メモリコントローラ３０２からのデータをＦＩＦＯ３０８または３１０に書き込む。ＲＯＳ１００にピクセルデータが必要になると、イメージコントローラ３０４が、第１、第２ＦＩＦＯ読み取り３３０、３３６の適切な方に読み取り信号を出力し、ＦＩＦＯ３０８または３１０からのピクセルデータをさらに読み取る。
【００６８】
走査プロセスは、ＲＯＳコントローラが信号ライン３４４を介してイメージコントローラ３０４に制御信号を送ることにより開始される。ＲＯＳコントローラに応じて、イメージコントローラ３０４がピクセルデータブロック１０２1 、１０２2 を、画像メモリ３０６から第１、第２のＦＩＦＯ３０８、ＦＩＦＯ３１０にそれぞれ転送する。第２の（しかし最初に走査される）走査ライン８０2 に対応するピクセルデータは、ＲＯＳ１００に出力される最初のピクセルデータブロック１０２2 である。ビーム１４が、第２走査ライン８０2 を走査する用意ができると、ＲＯＳ１００は、第１ライン同期信号を信号ライン３４６に送る。第１ライン同期信号に基づき、イメージコントローラ３０４が、ビーム１４を変調するため、ＲＯＳ１００に同期したシリアルピクセルデータストリームを出力する。
【００６９】
第１ライン同期信号（ｍ＝１）より、ビーム１４が第２走査ライン８０2 を走査する。従って、走査のためには、第２走査ライン８０2 に対応するピクセルデータブロック１０２2 を、第１ライン同期信号に先立って用意しなければならない。画像メモリ３０６はピクセルデータ１０２を走査ライン番号に基づいて順に記憶するので、第１、第２スキャナ８０1 、８０2 にそれぞれ対応する第１、第２ピクセルデータブロック１０２1 、１０２2 の双方を画像メモリ３０６から読み取らなければならない。同一のライン同期信号中に、画像メモリ３０６からピクセルデータブロック１０２2 を読み取り、第２ＦＩＦＯ３１０にピクセルデータブロック１０２2 書き込み、第２ＦＩＦＯ３１０からピクセルデータブロック１０２2 を読み取り、ピクセルデータ要素をピクセルデータストリームに変換し、ＲＯＳ１００に出力することは可能である。しかしながら、第２実施形態ではピクセルデータブロック１０２1 、１０２2 を第１ライン同期信号の前に読み取って、競合状態が発生する可能性を避ける。即ち、ＲＯＳコントローラが第１ライン同期信号を発信する前に、ピクセルデータブロック１０２1 及び１０２2 が転送される。
【００７０】
図１５および１６は、第１、第２のＦＩＦＯ３０８、３１０にデータをロードし、データを読み取るプロセスを示す。図１６は図１５から引き続く処理の流れである。図１５のステップＳ１０００において、ＲＯＳコントローラがＲＯＳ１００およびイメージコントローラ３０４を起動し、画像のプリントを開始する。
【００７１】
ステップＳ１０２０で、イメージコントローラ３０４が信号ライン３２４から高速走査イメージ長の値を読み取る。ステップＳ１０３０で、高速走査イメージ長の値に基づいて、各ピクセルデータブロック１０２の画像メモリ語（ワード）のワード数を判別する。各ピクセルデータブロック１０２のワード数に基づいて、今度は書き込み信号と読み取り信号の数を検出する。これらの信号はＦＩＦＯ３０８、３１０に出力されて、１つのピクセルデータブロック１０２を受信あるいは抽出するはずである。
【００７２】
ステップＳ１０４０で、画像の第１走査ライン８０1 に対応する第１ピクセルデータブロック１０２1 を画像メモリ３０６から第１ＦＩＦＯ３０８に転送する。ステップＳ１０５０で、第２走査ライン８０2 に対応する第２ピクセルデータブロック１０２2 を画像メモリ３０６から第１ＦＩＦＯ３０８に転送する。この全工程を、第１ライン同期信号が生成される以前に完了する。
【００７３】
次にステップＳ１０６０で、イメージコントローラ３０４が信号ライン３４６のライン同期信号を確認する。ライン同期信号が受信されていればステップＳ１１００にジャンプし、ライン同期信号が受信されていなければステップＳ１０７０に進む。ステップＳ１０７０でイメージコントローラ３０４は、プリント処理が完了したかを調べる。プリント処理が完了していればステップＳ１０８０に進み、プログラムを終了する。プリント処理が完了していなければステップＳ１０６０に戻る。
【００７４】
しかし、ステップＳ１０６０でライン同期信号が受信されていれば、イメージコントローラ３０４はステップＳ１０６０からステップＳ１１００へジャンプする。図１６に示すように、ステップＳ１１００とステップＳ１１１０は連続して行われる。また、ステップＳ１１２０とステップＳ１１３０は前後して実行されるように描かれているが、イメージコントローラ３０４の第２実施形態では、Ｓ１１２０とＳ１１３０は、ステップＳ１１００および／またはステップＳ１１１０と同時に実行される。
【００７５】
まず、ステップＳ１１００で、イメージコントローラ３０４が画像メモリ３０６から次のピクセルデータブロック１０２2n-1を第１ＦＩＦＯ３０８に転送し、ステップＳ１１１０で、次のピクセルデータブロック１０２2nを画像メモリ３０６から第２ＦＩＦＯ３１０に転送する。そしてステップＳ１１００、Ｓ１１１０と同時に実行されるステップＳ１１２０で、イメージコントローラ３０４はピクセルデータブロック１０２2n-5のデータを、第１ＦＩＦＯ３０８からＲＯＳ１００に出力する。イメージコントローラ３０４が第１ＦＩＦＯ３０８からのピクセルデータブロック１０２2n-5を読み取り、各バイト（ワード幅が１バイトの時）にパックされているピクセルデータ要素を、第１のシリアルピクセルデータストリームに変換し、この第１シリアルピクセルデータストリームをＲＯＳ１００に出力してビーム１２を変調する。ステップＳ１１００、Ｓ１１１０、Ｓ１１２０と同時に、ステップ１１３０ではイメージコントローラ３０４が第２ＦＩＦＯ３１０からのデータをＲＯＳ１００に出力する。イメージコントローラ３０４は第２ＦＩＦＯ３１０からのピクセルデータブロック１０２2n-2を読み取り、各バイトにパックされているピクセルデータ要素を第２のシリアルピクセルデータストリームに変換し、第２のシリアルピクセルデータストリームをＲＯＳ１００に出力してビーム１４を変調する。
【００７６】
イメージコントローラ３０４は画像メモリコントローラ３０２と交信して、ピクセルデータブロック１０２2n-1と１０２2nを画像メモリ３０６から第１ＦＩＦＯ３０８および第２ＦＩＦＯ３１０に転送する。図１７に示すプロセスにより、画像メモリコントローラ３０２はイメージコントローラ要求ライン同期信号に応じて、画像メモリ３０６からの次の画像メモリ語を読み取る。
【００７７】
図１７のステップＳ３０００で、ＲＯＳコントローラが画像メモリコントローラ３０２を起動し、画像メモリコントローラ３０２がステップＳ３０１０に進む。ステップＳ３０１０で画像メモリコントローラ３０２は、イメージコントローラ３０４が信号ライン３２４に高速走査イメージ長の値の読み取り要求信号を出力したかどうかを検出する。読み取り要求を受信していれば、画像メモリコントローラ３０２はステップＳ３０４０にジャンプし、高速走査イメージ長の値をイメージコントローラ３０４に出力する。受信していなければ画像メモリコントローラ３０２は、ステップＳ３０２０に進みプリント処理が完了したかを調べる。プリント処理が完了していれば画像メモリコントローラ３０２はステップＳ３０３０に進み、プログラムを終了する。完了していなければステップＳ３０１０に戻る。
【００７８】
ステップＳ３０４０で高速走査イメージ長の値を出力した後、画像メモリコントローラ３０２はステップＳ３０５０に進み、イメージコントローラ３０４が信号ライン３２２に画像要求ライン同期信号を出力したかどうかを検出する。画像要求ライン同期信号を受信していなければ画像メモリコントローラ３０２はＳ３０５０にとどまり、画像要求ライン同期信号を受信するまで待機する。画像メモリコントローラ３０２が画像要求ライン同期信号を受信すると、ステップＳ３０６０に進み、画像メモリコントローラ３０２は画像メモリ３０６が次の画像データブロック１０２を読み取れるように準備する。
【００７９】
ステップＳ３０７０で、イメージコントローラ３０４が信号ライン３２０に画像要求クロック信号を発信したかを調べる。画像要求クロック信号を受信していなければ画像メモリコントローラ３０２はＳ３０７０にとどまり、イメージコントローラ３０４が画像要求クロック信号を信号ライン３２０に出力するまで待機する。画像メモリコントローラ３０２が画像要求クロック信号を受信するとステップＳ３０８０に進み、画像メモリコントローラ３０２は画像メモリ３０６から次の画像メモリ語を読み取る。ステップＳ３０９０で、画像メモリコントローラ３０２は、第１ＦＩＦＯ３０８又は第２ＦＩＦＯ３１０が画像メモリ３０６から読み取った画像メモリ語を受信する用意ができているかどうかを検出する。画像メモリ３０６から読み取った次の画像メモリ語が対応の第１または第２のＦＩＦＯ３０８、３１０で受信できるようになるまで、ステップＳ３０９０で待機する。画像メモリ３０６が、次の画像メモリ語の受信準備ができたことを示すと、画像メモリコントローラ３０２はステップＳ３１００に進み、画像要求リターンクロック信号を信号ライン３１８に出力する。画像メモリコントローラ３０２はステップＳ３１１０に進み、画像メモリ３０６の全ピクセルデータが読み取られて空になったかどうかを検出する。画像メモリ３０６が空なら、ステップＳ３０３０にジャンプしてプログラムを終了する。空でない場合はステップＳ３０７０に戻り、ステップＳ３０７０〜Ｓ３１００を繰り返す。
【００８０】
図１８は、ステップＳ１０４０、Ｓ１０５０、Ｓ１１００、Ｓ１１１０におけるピクセルデータブロック１０２の転送をより詳しく説明している。図１７に示すように、ステップＳ２０００でイメージコントローラ３０４が信号ライン３２２に画像要求ライン同期信号を出力し、画像メモリコントローラ３０２にピクセルデータブロック１０２の転送が開始したことを知らせ、画像メモリ３０６の次のでピクセルデータブロック１０２が現在のピクセルデータブロック１０２となる。ステップＳ２０１０で、イメージコントローラ３０４が、対応の第１あるいは第２のＦＩＦＯ３０８、３１０が信号ライン３１２からの次の画像メモリ語を受信する用意ができているかを検出する。対応の第１または第２のＦＩＦＯ３０８、３１０が画像メモリコントローラ３０２からの次の画像メモリ語を受信する用意ができていない場合、イメージコントローラ３０４は、ステップＳ２０１０にとどまり、ＦＩＦＯ３０８または３１０の用意ができるまで待機する。対応する第１または第２のＦＩＦＯ３０８、３１０が現在のピクセルデータブロック１０２の次の画像メモリ語を受信する準備を完了すると、ステップＳ２０２０で、イメージコントローラ３０４が信号ライン３２０を介して画像メモリコントローラ３０２に画像要求クロック信号を出力する。ステップＳ２０３０で、イメージコントローラ３０４は、画像メモリコントローラ３０２が画像要求返信クロック信号を出力するまで待機する。画像メモリコントローラ３０２が画像要求リターンクロック信号を発信していなければ、イメージコントローラ３０４はステップ２０３０に止る。イメージコントローラ３０４は、画像要求リターンクロック信号を受信すると直ちにステップ２０４０に進み、信号ライン３２８又は３３４を介して第１ＦＩＦＯ３０８又は第２ＦＩＦＯ３１０に書き込み信号を送り、信号ライン３１２のワードを対応の第１または第２のＦＩＦＯ３０８、３１０の次のロケーションに書き込む。
【００８１】
ステップＳ２０４０で、現在のピクセルデータブロック１０２の次のワードを対応の第１または第２のＦＩＦＯ３０８、３１０に書き込んだ後、ステップＳ２０５０でイメージコントローラ３０４は、現在のピクセルデータブロック１０２に読み取るべきワードがまだ残っているかどうかを調べる。読み取るべきワードが残っていると判断されると、イメージコントローラ３０４はステップＳ２０１０に戻り、現在のピクセルデータブロック１０２のワードが全て第１ＦＩＦＯ３０８又は第２ＦＩＦＯ３１０の対応する方に転送されるまで処理を繰り返す。現在のピクセルデータブロック１０２のワードを全て第ＦＩＦＯ１３０８又は第２ＦＩＦＯ３１０の対応する方に転送し終ると、イメージコントローラ３０４はステップＳ２０５０からＳ２０６０に進み、呼び出しステップの後にこのステップに戻る。
【００８２】
図８は、ステップＳ１１２０で実行される、第１ＦＩＦＯ３０８からＲＯＳ１００への画像データブロック１０２の出力をより詳しく説明している。第２実施形態のステップＳ１１２０は、第１実施形態のステップＳ５０２０と同一である。図９は、第２ＦＩＦＯ３１０からＲＯＳ１００への画像データブロック１０２の出力（ステップＳ１１３０で実行）をより詳しく説明している。第２実施形態のステップＳ１１３０は、第１実施形態のステップＳ５０３０と同一である。
【００８３】
第２実施形態において、イメージコントローラ３０４は、ピクセルデータブロック１０２をＦＩＦＯ３０８および３１０から読み取るのと同じ速度で、ピクセルデータブロック１０２をＦＩＦＯ３０８又は３１０に転送する。従って、ＦＩＦＯ３０８及び３１０のサイズは、ピクセルデータブロック１０２がＦＩＦＯ３０８、３１０に書き込まれ、ここから読み出される順序によって決定される。第１ライン同期信号に先立ち、ステップＳ１０４０およびＳ１０５０で、イメージコントローラ３０４が、それぞれ第１、第２走査ライン８０1 、８０2 に対応する第１、第２ピクセルデータブロック１０２1 、１０２2 を、第１、第２のＦＩＦＯ３０８、３１０に転送する。第１ライン同期信号に応え、イメージコントローラ３０４は、図１６のステップＳ１１００、Ｓ１１１０で、それぞれ第３、第４走査ライン８０3 、８０4 に対応する第３、第４ピクセルデータブロック１０２3 、１０２4 を、画像メモリ３０６から第１、第２のＦＩＦＯ３０８、３１０に転送する。第３、第４ピクセルデータブロック１０２3 、１０２4 を転送している間に、イメージコントローラ３０４は、第２ＦＩＦＯ３１０から第２走査ライン８０2 に対応する第２ピクセルデータブロック１０２2 を読み取る。このようにして、イメージコントローラ３０４は、各ライン同期信号ｍに応え、２つの現在の転送ピクセルデータブロック１０２2m+1及び１０２2m+2を第１、第２のＦＩＦＯ３０８、３１０にそれぞれ書き込むと同時に、直前に転送した２つのピクセルデータブロック１０２2m-3及び１０２2mをそれぞれ第１ＦＩＦＯ３０８および第２ＦＩＦＯ３１０から読み取る。２つのピクセルデータブロック１０２2m+3と１０２2mをＲＯＳ１００に出力してしまうと、これら直前のピクセルデータブロック１０２2m-3と１０２2mが占めていたＦＩＦＯ３０８と３１０内のスペースに、次の２つのピクセルデータブロック１０２2m+3と１０２2m+4を上書きすることができる。
【００８４】
従って、第２ＦＩＦＯ３１０は、少なくとも２つの画像データブロック１０２を記憶可能でなければならない。第２ライン同期信号に始まり、第２ＦＩＦＯ３１０は、ＲＯＳ１００に出力される第２ピクセルデータブロック１０２2 を含む一方、第４ピクセルデータブロック１０２4 が第２ＦＩＦＯ３１０に書き込まれる。この時点で第２ＦＩＦＯ３１０に存在するピクセルデータブロックは１０２2 と１０２4 の２つだけである。第３ライン同期信号からは、第２ピクセルデータブロック１０２2 を廃棄することができる。なぜなら、第２ピクセルデータブロック１０２2 上の情報はすでにビーム１４の変調に使用され、再度使用されることがないからである。従って、第３ライン同期信号以降第２ＦＩＦＯ３１０に転送される第６ピクセルデータブロック１０２6 を第２ピクセルデータブロック１０２2 に上書きすることができる。同様に、第４ライン同期信号以降、第８ピクセルデータブロック１０２8 を第４ピクセルデータブロック１０２4 に上書きすることができる。
【００８５】
一方、第１ＦＩＦＯ３０８は少なくとも３つの画像データブロック１０２を記憶可能でなければならない。第１ピクセルデータブロック１０２1 が読み取られる前に、第１ライン同期信号に応え、第３ピクセルデータブロック１０２3 が、第１ＦＩＦＯ３０８に書き込まれる。第２ライン同期信号に応え、イメージコントローラ３０４が第１ＦＩＦＯ３０８から第１ピクセルデータブロック１０２1 を読み取り、ビーム１２を変調し、その間に第５ピクセルデータブロック１０２5 を第１ＦＩＦＯ３０８に書き込む。第３ライン同期信号以降は、第１ピクセルデータブロック１０２1 が不要となるので、廃棄してもよい。第３ライン同期信号に応え、イメージコントローラ３０４は、第１ピクセルデータブロック１０２1 が記憶されていたアドレスに、第７ピクセルデータブロック１０２7 を書き込む。第７ピクセルデータブロック１０２7 を第１ＦＩＦＯ３０８に書き込んでいる間、第３ピクセルデータブロック１０２3 を読み取ってビーム１２を変調する。その間、第５ピクセルデータブロック１０２5 は第１ＦＩＦＯ３０８にとどまっている。従って、第１ＦＩＦＯ３０８が記憶しなければならないピクセルデータブロック１０２の最低数は３となる。
【００８６】
第１実施形態と同様、第２実施形態も図１０に示すようにビームが３本以上の場合に容易に拡張適用できることは明らかである。２ビームを用いた場合と同様の理由から、各ビームごとにＦＩＦＯを割り当てる。すなわち、第１ＦＩＦＯ３０８がビーム１２用のピクセルデータブロック１０２を有し、第２ＦＩＦＯ３１０がビーム１４用のピクセルデータブロック１０２を有し、第３ＦＩＦＯがビーム１６用のピクセルデータブロック１０２を有する。上述のデュアルビームの場合と同じく、第１ＦＩＦＯ３０８が最低４つのピクセルデータブロック１０２を持ち、第２ＦＩＦＯ３１０が最低３つのピクセルデータブロック１０２を持ち、第３ＦＩＦＯ（図示せず）が最低２つのピクセルデータブロック１０２を持たなければならない。
【００８７】
第２実施形態の方法は任意の数のビームに適用できる。ここでは説明に適したインタレース係数を用いたが、任意のインタレース係数を用いることができる。しかし、インタレース係数の選択を軽率に行うと走査が複雑になり、ＦＩＦＯのサイズが必要以上に大きくなる。
【００８８】
第１実施形態および第２実施形態のＲＯＳデータ出力制御装置は、様々な方法で導入できる。例えば、イメージコントローラ３０４、第１ＦＩＦＯ３０８、第２ＦＩＦＯ３１０、画像メモリ３０６を、専用ハードウェアコンポーネントによって設置してもよいし、他のプリンタハードウェアと互換性を持つ周辺接続機器等、適切なソフトウェア・ファームウェアのＣＰＵ複合体を用いてもよい。
【００８９】
本発明の意図や範囲内で、多くの実施様態が可能である。従って本発明は、追加の請求項以外の特定の実施様態によって限定されるものではない。
【００９０】
【発明の効果】
本発明は、ラスタ走査スキャナへ直接出力できるシリアルの出力ピクセルデータストリームを生成するために、第１のＦＩＦＯセットからピクセルデータを読み、直ちにパラレル／シリアル変換を行なってＲＯＳに出力することにより、第２のＦＩＦＯセットを設ける必要性をなくし、コストの削減を実現できる。
【図面の簡単な説明】
【図１】  デュアルビームＲＯＳの概略図である。
【図２】  本発明の第１実施形態にかかるラスタ出力スキャナ出力コントローラのブロック図である。
【図３】  図１のシステムで用いるデュアルビームによって感光記録媒体上に走査されるラインの側面図である。
【図４】  ３つの連続するライン同期信号に応じて２本のビームが走査する走査ラインの位置関係を示す図である。
【図５】  画像メモリに順次記憶されたピクセルデータブロックの図である。
【図６】  第１実施形態のシステムにおいて、画像メモリからＦＩＦＯへのデータ転送を示すフローチャートである。
【図７】  第１実施形態のシステムにおいて、ＦＩＦＯからＲＯＳへのデータ出力を示すフローチャートである。
【図８】  図７の現在の第１ピクセルデータブロックを出力するステップを詳細に示すフローチャートである。
【図９】  図７の現在の第２ピクセルデータブロックを出力するステップを詳細に示すフローチャートである。
【図１０】  ５つの連続するラインの同期信号に応じて、３本のビームが走査する走査ラインの位置関係を示す図である。
【図１１】  ２つのパラレル／シリアル変換回路を有するイメージコントローラのブロック図である。
【図１２】  図１１のパラレル／シリアル変換回路の回路図である。
【図１３】  本発明の実施形態に基づいた、ピクセルデータブロックのシリアルピクセルデータストリームへの変換を示すフローチャートである。
【図１４】  本発明の第２の実施形態にかかるラスタ出力スキャナ用データコントローラのブロック図である。
【図１５】  本発明の第２実施形態のシステムにおけるＦＩＦＯの操作を示すフローチャートである。
【図１６】  図１５と同様のＦＩＦＯの操作を示すフローチャートであり、図１５の操作の続き示す図である。
【図１７】  第２実施形態のシステムにおいて、イメージコントローラの画像メモリからのデータ読み取りを示すフローチャートである。
【図１８】  第２実施形態のシステムにおいて、ＦＩＦＯへのピクセルデータブロックの転送を示すフローチャートである。
【符号の説明】
１２，１４  ビーム、２４  多角形、７４  マルチビームレーザ源、３００  ＲＯＳデータ出力制御装置、３０２  画像メモリコントローラ、３０４  イメージコントローラ、３０６  画像メモリ、３０８  第１のＦＩＦＯ、３１０  第２のＦＩＦＯ、１００  ＲＯＳ。
【図１】
0003836529.tif 000002
【図２】
0003836529.tif 000003
【図３】
0003836529.tif 000004
【図４】
0003836529.tif 000005
【図５】
0003836529.tif 000006
【図６】
0003836529.tif 000007
【図７】
0003836529.tif 000008
【図８】
0003836529.tif 000009
【図９】
0003836529.tif 000010
【図１０】
0003836529.tif 000011
【図１１】
0003836529.tif 000012
【図１２】
0003836529.tif 000013
【図１３】
0003836529.tif 000014
【図１４】
0003836529.tif 000015
【図１５】
0003836529.tif 000016
【図１６】
0003836529.tif 000017
【図１７】
0003836529.tif 000018
【図１８】
0003836529.tif 000019