(57)【特許請求の範囲】
【請求項１】
上位装置から送信されてくるキャラクタデータやビットイメージであるイメージデータからなる受信データを初めは受信バッファに格納し、該受信バッファ内の受信データを読み出して、イメージバッファへ格納して印刷処理を行う画像形成装置において、
上記上位装置から受信データを受信する受信回路部と、
上記受信回路部で受信データを受信すると割込み処理を発生し、該割込み処理により上記受信回路部から読み出した受信データを上記受信バッファに格納する受信割込み制御部と、
所定間隔で行われる受信データの検出により、受信したイメージデータを読み出し、上記イメージバッファへ格納するバックグラウンド制御部とを有し、
前記バックグラウンド制御部は、上記上位装置から通知されたデータ量のイメージデータの受信が終了していないときに、上記受信バッファ内にイメージデータが格納されている場合、上記受信バッファ内からイメージデータを読み出して上記イメージバッファへ格納し、
上記受信バッファ内にイメージデータが格納されていない場合、上記受信割込み制御部に対して割込み処理の発生を禁止すると共に、上記上位装置から通知されたデータ量のイメージデータの受信が終了するまで上記受信回路部から残りのイメージデータを読み出し上記受信バッファを通さずに上記イメージバッファへ格納し、上記上位装置から通知されたデータ量のイメージデータの受信が終了すると、上記受信割込み制御部に対して割込み処理の発生を再開させることを特徴とする画像形成装置。
【請求項２】
上位装置から送信されてくるキャラクタデータやビットイメージであるイメージデータからなる受信データを初めは受信バッファに格納し、該受信バッファ内の受信データを読み出して、イメージバッファへ格納して印刷処理を行う画像形成装置において、
上記上位装置から受信データを受信する受信回路部と、
上記受信回路部で受信データを受信すると割込み処理を発生し、該割込み処理により上記受信回路部から読み出した受信データを上記受信バッファに格納する受信割込み制御部と、
所定間隔で行われる受信データの検出により、受信したイメージデータを読み出し、上記イメージバッファへ格納するバックグラウンド制御部とを有し、
上記バックグラウンド制御部は、上記上位装置から通知されたデータ量のイメージデータの受信が終了していないときに、上記受信バッファに格納されているイメージデータのデータ量と、上記上位装置から通知されたイメージデータのデータ量とを比較し、上記受信バッファに格納されているイメージデータのデータ量が、上記上位装置から通知されたイメージデータのデータ量未満であれば、上記受信割込み制御部に対して割込み処理の発生を禁止して、上記受信バッファ内に格納されているイメージデータを読み出して上記イメージバッファへ格納したのち、上記上位装置から通知されたデータ量のイメージデータの受信が終了するまで上記受信回路部から残りのイメージデータを読み出し上記受信バッファを通さずに上記イメージバッファへ格納し、上記上位装置から通知されたデータ量のイメージデータの受信が終了すると、上記受信割込み制御部に対して割込み処理の発生を再開させ、
上記受信バッファに格納されているイメージデータのデータ量が、上記上位装置から通知されたイメージデータのデータ量以上であれば、上記受信バッファ内からイメージデータを読み出し上記イメージバッファへ格納することを特徴とする画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホストコンピュータ等の上位装置から送信されるイメージデータを受信するプリンタあるいはファクシミリ装置等の画像形成装置に関する。
【０００２】
【従来の技術】
従来のプリンタあるいはファクシミリ装置等の画像形成装置においては、上位装置であるホストコンピュータのデータ送信開放時間を早めるために受信バッファを備えているものがある。この受信バッファを備える画像形成装置のほとんどは受信割り込み機能を使用し、ホストコンピュータから受信したデータを受信バッファ内に取り込んでいる。そしてバックグラウンド側の処理として、受信バッファ内に格納されたデータを１バイト読み出して実際に印刷可能な形式に編集し、イメージバッファへ格納するといった展開処理を行っている。このようなホストコンピュータから受信したデータを受信バッファに格納し、その後受信バッファからデータを読み出して印刷可能な形式に編集する制御は、キャラクタデータ、イメージデータの区別なく行われている。
【０００３】
なお、受信バッファ制御では、受信バッファの取り込み位置の更新や読み出し位置の更新等のＲＡＭアクセス処理を行う必要がある。また受信割り込み処理では動作開始時や終了時毎に、レジスタの退避や復帰等を行う必要がある。
【０００４】
【特許文献１】
特開平５−５６１０６号公報
【０００５】
【発明が解決しようとする課題】
上記従来の画像形成装置においては、データの受信に関する一連の制御（展開処理）はキャラクタデータ、イメージデータの区別なく行われているが、すでに展開されたビットイメージであるイメージデータにて構成されている印字パターンにおいてはキャラクタデータのように文字イメージ生成や各種修飾処理を実施しなくてもよいため、受信バッファから読み出したデータをイメージバッファ上に直接格納するだけでよい。それ故、ホストコンピュータから受信したデータを受信バッファに一時的に格納する意味はなく、逆に受信バッファへの取り込みや読み出しの際の余分な処理により、受信処理時間が増加し、マイクロプロセッサへの負担が増大してしまっていた。
【０００６】
またホストコンピュータによっては、数十ｍｓ（ｍｉｌｌｉ  ｓｅｃｏｎｄ）の間隔をおいてデータ送信を行うものがあり、このようなホストコンピュータはデータ送信を行わない期間が発生するが、この間も格納処理は継続しているので、この間に受信バッファ内はすぐに空の状態となってしまう。このような状態においても、受信割り込み処理、及び受信バッファへの取り込みや読み出し処理を行わなければならず、非常に効率が悪い制御となっていた。
【０００７】
特に低速な処理能力のマイクロプロセッサを有した画像形成装置においては、イメージデータにて構成されている印字パターンを印字する場合、キャラクタデータに比べてデータ量が膨大であるので、上記に示すような受信処理の負荷の増大により、１行の受信処理時間が１行のメカ印字動作時間を上回る場合、行間で受信処理完了を待つ時間が発生し、トータルスループットが低下してしまっていた。
【０００８】
【課題を解決するための手段】
上記課題を解決するために本発明で設けた解決手段は、上位装置から送信されてくるキャラクタデータやビットイメージであるイメージデータからなる受信データを初めは受信バッファに格納し、該受信バッファ内の受信データを読み出して、イメージバッファへ格納して印刷処理を行う画像形成装置において、上記上位装置から受信データを受信する受信回路部と、上記受信回路部で受信データを受信すると割込み処理を発生し、該割込み処理により上記受信回路部から読み出した受信データを上記受信バッファに格納する受信割込み制御部と、所定間隔で行われる受信データの検出により、受信したイメージデータを読み出し、上記イメージバッファへ格納するバックグラウンド制御部とを有し、前記バックグラウンド制御部は、上記上位装置から通知されたデータ量のイメージデータの受信が終了していないときに、上記受信バッファ内にイメージデータが格納されている場合、上記受信バッファ内からイメージデータを読み出して上記イメージバッファへ格納し、上記受信バッファ内にイメージデータが格納されていない場合、上記受信割込み制御部に対して割込み処理の発生を禁止すると共に、上記上位装置から通知されたデータ量のイメージデータの受信が終了するまで上記受信回路部から残りのイメージデータを読み出し上記受信バッファを通さずに上記イメージバッファへ格納し、上記上位装置から通知されたデータ量のイメージデータの受信が終了すると、上記受信割込み制御部に対して割込み処理の発生を再開させるものである。
【０００９】
上記課題を解決するために本発明で設けた他の解決手段は、上位装置から送信されてくるキャラクタデータやビットイメージであるイメージデータからなる受信データを初めは受信バッファに格納し、該受信バッファ内の受信データを読み出して、イメージバッファへ格納して印刷処理を行う画像形成装置において、上記上位装置から受信データを受信する受信回路部と、上記受信回路部で受信データを受信すると割込み処理を発生し、該割込み処理により上記受信回路部から読み出した受信データを上記受信バッファに格納する受信割込み制御部と、所定間隔で行われる受信データの検出により、受信したイメージデータを読み出し、上記イメージバッファへ格納するバックグラウンド制御部とを有し、上記バックグラウンド制御部は、上記上位装置から通知されたデータ量のイメージデータの受信が終了していないときに、上記受信バッファに格納されているイメージデータのデータ量と、上記上位装置から通知されたイメージデータのデータ量とを比較し、上記受信バッファに格納されているイメージデータのデータ量が、上記上位装置から通知されたイメージデータのデータ量未満であれば、上記受信割込み制御部に対して割込み処理の発生を禁止して、上記受信バッファ内に格納されているイメージデータを読み出して上記イメージバッファへ格納したのち、上記上位装置から通知されたデータ量のイメージデータの受信が終了するまで上記受信回路部から残りのイメージデータを読み出し上記受信バッファを通さずに上記イメージバッファへ格納し、上記上位装置から通知されたデータ量のイメージデータの受信が終了すると、上記受信割込み制御部に対して割込み処理の発生を再開させ、上記受信バッファに格納されているイメージデータのデータ量が、上記上位装置から通知されたイメージデータのデータ量以上であれば、上記受信バッファ内からイメージデータを読み出し上記イメージバッファへ格納するものである。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態を図面に従って説明する。なお各図面に共通する要素には同一の符号を付す。
【００１１】
（第１の実施の形態）
プリンタあるいはファクシミリ装置等の画像形成装置の構成について説明する。図１は第
１の実施の形態の画像形成装置の制御系を示すブロック図である。
【００１２】
図１において、図示せぬ画像形成装置には、受信回路部１１と、受信割込み制御部１３と、バックグラウンド制御部１４と、ＲＡＭ１２とが設けられている。受信回路部１１は上位装置であるホストコンピュータ２３から送信されてきたデータをラッチし、また受信したタイミングで受信割込み機能を発生させる。なお、この受信割込み機能はバックグラウンド制御部１４の指示により割り込み機能の禁止、及び禁止解除が可能な回路構成となっている。
【００１３】
ＲＡＭ１２は受信回路部１１において受信したデータを一時的に格納しておく受信バッファ１５と、実際に印刷できる形式に編集された受信データを格納するイメージバッファ１６とから構成されている。
【００１４】
受信割込み制御部１３は受信バッファ生成部１７により構成され、ホストコンピュータから受信したデータをＲＡＭ１２の受信バッファ１５へ格納する。
【００１５】
バックグラウンド制御部１４は、イメージバッファ生成部２２と、受信バッファ読み出し部１８と、印刷データ解析部１９と、受信バッファ格納数解析部２０と、受信割込み選択部２１とから構成されている。
【００１６】
受信バッファ読み出し部１８はＲＡＭ１２の受信バッファ１５内のデータの読み出しを行い、印刷データ解析部１９が受信した印刷データがキャラクタデータであるか、あるいはイメージデータであるか判断する。受信バッファ格納数解析部２０は受信バッファ１５に格納されているデータの数を管理する。受信割込み選択部２１は受信割込み機能の禁止、及び禁止解除を選択し、受信回路部１１に指示する。イメージバッファ生成部２２は受信回路部１１を介してホストコンピュータ２３から受信したイメージデータ、あるいは受信バッファ１５から受信したイメージデータを、実際に印刷できる形式に編集することなく、イメージバッファ１６内に格納する。
【００１７】
このようなバックグラウンド制御部１４は受信バッファ読み出し部１８においてＲＡＭ１２の受信バッファ１５内のデータを１バイト読み出し、印刷データ解析部１９において読み出したデータがキャラクタデータであるか、あるいはイメージデータであるかを判断し、キャラクタデータであると判断した場合には、実際に印刷可能な形式に編集し、イメージバッファ１６へ格納し、イメージデータであると判断した場合には、そのままイメージバッファへ格納するといったイメージデータ展開処理を行う。
【００１８】
なお、上記受信割り込み制御部１３とバックグラウンド制御部１４とによりマイクロプロセッサが構成されている。
【００１９】
次に上記構成における画像形成装置のデータ受信時の動作について図１を参照し、図２、図３に示すフローチャートに従って説明する。図２は第１の実施の形態の受信割込み制御部の動作を示すフローチャート、図３は第１の実施の形態のバックグラウンド制御部のイメージデータ展開処理を示すフローチャートである。
【００２０】
図１において、受信回路部１１はホストコンピュータ２３からデータを受信すると、該データをラッチし、また受信したタイミングで受信割込みを発生させる。そして受信割込み制御部１３の受信バッファ生成部１７はこの受信割込みの発生により動作を開始する。以下、始めに受信バッファ生成部１７による動作について図２に示すフローチャートに従って説明する。
【００２１】
受信バッファ生成部１７は上記に示す受信割込みの発生により、ステップＳ１でレジスタ類の退避を行い、受信割込み処理起動の準備を行う。ステップＳ２で受信バッファ生成部１７は受信したデータを受信バッファ１５に取り込むために、受信バッファ取り込み位置を更新する。
【００２２】
ステップＳ３で受信バッファ生成部１７は受信したデータを受信バッファ１５に格納する。なお、受信バッファ１５へデータを格納する際には、受信バッファ１５のデータ格納数を管理するカウンタをインクリメントする。一方受信バッファ１５よりデータを読み出す際には、上記カウンタをデクリメントする。
【００２３】
ステップＳ３で受信バッファ生成部１７は受信したデータを受信バッファ１５に格納すると受信割り込み処理を終了し、バックグラウンド制御部１４の制御に戻るためにステップＳ４において退避したレジスタ類を復帰させる。
【００２４】
次にバックグラウンド制御部１４の動作について説明する。バックグラウンド制御部１４は画像形成装置がホストコンピュータ２３からデータを受信し、受信バッファ１５内にデータが格納されると、受信バッファ読み出し部１８においてＲＡＭ１２の受信バッファ１５内のデータを１バイト読み出し、印刷データ解析部１９において読み出したデータがキャラクタデータであるか、あるいはイメージデータであるかを判断し、キャラクタデータであると判断した場合には、イメージバッファ生成部２２で実際に印刷可能な形式に編集するためにイメージ展開処理を行い、イメージデータであると判断した場合には、そのままのデータをイメージバッファへ格納する。
【００２５】
以下、バックグラウンド制御部１４のイメージデータ展開処理について図１を参照し、図３に示すフローチャートに従って説明する。
【００２６】
ステップＳ１１でバックグラウンド制御部１４は、受信バッファ格納数解析部２０においてＲＡＭ１２の受信バッファ１５に格納されているイメージデータの数がゼロか否かを判断し、受信バッファ１５内にデータが格納されていると判断すると、ステップＳ１２に進み、一方格納数がゼロであると判断するとステップＳ１６に進む。なお、このとき受信バッファ１５には、上記図２に示すフローチャートの動作によりイメージデータが格納されているので、この図３に示すフローチャートが開始された時点では、必ずステップＳ１１からステップＳ１２に進む。
【００２７】
ステップＳ１２に進むとバックグラウンド制御部１４は受信バッファ１５内のイメージデータを読み出すために読み出し位置を更新し、ステップＳ１３でバックグラウンド制御部１４は受信バッファ読み出し部１８においてＲＡＭ１２の受信バッファ１５内のイメージデータを１バイト読み出す。またこのとき、受信バッファ１５のデータ格納数を管理するカウンタをデクリメントする。
【００２８】
次にステップＳ１４でバックグラウンド制御部１４は受信バッファ１５から読み出したイメージデータをイメージバッファ生成部２２により実際に印刷できる形式に編集することなく、ＲＡＭ１２のイメージバッファ１６に格納し、ステップＳ１５でバックグラウンド制御部１４はイメージデータの１データ長分全てイメージバッファ１６に格納できたか否かを判断する。そして格納が終了したと判断すると処理を終了とし、一方「否」の場合にはステップＳ１１からステップＳ１５の処理を繰り返す。
【００２９】
なお、ホストコンピュータ２３はイメージデータのデータ量であるバイト数を宣言してから受信回路部１１に送信を開始し、ステップＳ１５のデータ長とは、コマンドの最初に定義される（ホストコンピュータ２３から送信されてくる）イメージデータの全バイト数（イメージデータの全てのシーケンス）であり、ステップＳ１１からステップＳ１５までの処理を１回行っても、まだ１回の送信動作でホストコンピュータ２３から送信されてくることになっているイメージデータが残っていて、イメージバッファ１６への格納処理が終了していない（まだイメージバッファ１６への格納処理を行っていないイメージデータがある）場合には、更にイメージデータのイメージバッファ１６への格納処理を行う必要があるので、再びステップＳ１１へと戻る。
【００３０】
また、上記ステップＳ１１からステップＳ１５までの処理を行っている間に、次のイメージデータがホストコンピュータ２３から受信回路部１１に送信されてくる場合がある。この場合、ステップＳ１５からステップＳ１１に戻ったときに受信バッファ１５のイメージデータ格納数が１以上となっているので、再びステップＳ１２からステップＳ１５の処理を行う。
【００３１】
なお、ホストコンピュータ２３が数十ｍｓ（ｍｉｌｌｉ  ｓｅｃｏｎｄ）の間隔をおいてデータ送信を行うものである場合、ホストコンピュータ２３からイメージデータが送信されてこない期間に、受信バッファ１５内のデータのイメージバッファ１６への格納処理（ステップＳ１１からステップＳ１５の処理）が終了し、受信バッファ１５内にイメージデータが無くなる場合がある。このようにＳ１１からステップＳ１５までを繰り返している間に、まだデータ長は残っているが受信バッファ１５内のイメージデータが無くなった場合（ステップＳ１５からステップＳ１１に戻り、このとき受信バッファ１５のイメージデータ格納数がゼロだった場合）について説明する。
【００３２】
この場合、ステップＳ１１において受信バッファ格納数解析部２０が受信バッファ１５内のイメージデータがゼロであると判断するので、ステップＳ１６に進む。ステップＳ１６でバックグラウンド制御部１４は受信割込み機能、すなわち受信割込み制御部１３の動作を停止するために受信割込み禁止を設定する。この処理を説明すると、受信バッファ格納数解析部２０において受信バッファ１５内のデータの格納数がゼロであると判断した場合、受信割込み選択部２１が受信回路部１１に対して、受信割込み禁止を指示するものである。すると、受信回路部１１はこの指示により以降の受信割込みを発生させず、受信データのラッチのみ行うように動作する。すなわち、受信データは受信割込みで受けるのではなく、所定間隔で行われる受信データの検出により受信する。なお、受信割込み選択部２１が受信回路部１１に対して、受信割込み禁止解除を指示した場合、受信回路部１１がデータを受信することにより受信割込み発生が再開される。
【００３３】
上記の処理が実行され、ステップＳ１７に進むと、バックグラウンド制御部１４は受信回路部１１にラッチされている受信データがあるか否か判断し、まだイメージデータがラッチされていなければ、受信回路部１１がイメージデータを受信し、受信データがラッチされるのを待つ。一方受信回路部１１にイメージデータがラッチされていた場合、あるいは受信回路部１１に受信データがラッチされると、ステップＳ１８に進み、バックグラウンド制御部１４は受信回路部１１からラッチされているイメージデータを読み出す。そしてステップＳ１９でバックグラウンド制御部１４は受信回路部１１から読み出したイメージデータをイメージバッファ生成部２２により実際に印刷できる形式に編集することなく、ＲＡＭ１２のイメージバッファ１６に格納し、ステップＳ２０でバックグラウンド制御部１４はイメージデータのデータ長分全てイメージバッファ１６に格納できたか否かを判断する。なお、このデータ長は上記ステップＳ１５で説明したデータ長のことである。そして格納が終了したと判断するとステップＳ２１に進み、一方「否」場合にはステップＳ１７からステップＳ２０の処理を繰り返す。
【００３４】
ステップＳ２０からステップＳ２１に進むと、受信割り込み機能、すなわち受信割り込み制御部１３を再開させるために受信割込み選択部２１が受信回路部１１に対して、受信割込み禁止解除を指示する。これにより、受信回路部１１がデータを受信すると、受信割込みが発生する。
【００３５】
以上第１の実施の形態においては、ホストコンピュータ２３が数十ｍｓ（ｍｉｌｌｉ  ｓｅｃｏｎｄ）の間隔をおいてデータ送信を行うものである場合には、ホストコンピュータ２３からデータが送信されてこない期間に、受信バッファ１５内のイメージデータのイメージバッファ１６への格納が終了し、受信バッファ１５内にデータが無くなる場合がある。このような場合、本実施の形態においては、それ以降は受信割り込み制御部１３は動作せず、また受信バッファ１５へのデータの取り込み処理や、受信バッファ１５からのデータの読み出し処理を行わないので、イメージデータを受信する際のマイクロプロセッサへの負担が軽減し、スループットの低下を防止することができる。その結果、以降のイメージデータ受信の効率化を図ることができ、最大限のスループットを得ることが可能となる。
【００３６】
またキャラクタデータにおいては受信割り込み機能を使用して、受信したキャラクタデータを受信バッファにまとめて格納し、これを文字イメージ生成や各種修飾処理を行いながら印刷を行うことで、ホストコンピュータ２３のデータ送信開放時間を早め、画像形成装置に対しての送信負荷を軽減することができる。
【００３７】
（第２の実施の形態）
次に第２の実施の形態について説明する。なお、第２の実施の形態の画像形成装置においては、バックグラウンド制御部１４がイメージデータのイメージバッファ１６への格納開始前にホストコンピュータ２３から送信されてくる予定の、１データ長分のイメージデータが既に受信バッファ１５に格納されているか否かを判断し、まだ１データ長分のイメージデータの全てが受信バッファ１５に格納されてはいないと判断した場合には、それ以降の受信割込み機能、すなわち受信割込み制御部１３の動作を停止するために受信割込み禁止を設定する制御を行うようになっている。
【００３８】
すなわち本第２の実施の形態においては、イメージデータのイメージバッファ１６への格納処理に先立ち、イメージデータのイメージバッファ１６への格納処理中に受信バッファ１５内の格納データがなくなることが予め予想される場合に受信処理を高速化することを目的としている。
【００３９】
なお、その構成は上記第１の実施の形態と同様なので説明は省略する。
【００４０】
次に上記構成における画像形成装置のデータ受信時の動作について説明する。なお、本第２の実施の形態においては、受信割り込み制御部１３の動作は第１の実施の形態と同様であるので説明は省略し、バックグラウンド制御部１４の動作についてのみ説明する。
【００４１】
バックグラウンド制御部１４は画像形成装置がホストコンピュータ２３からデータを受信し、受信バッファ１５内に受信データが格納されると、受信バッファ読み出し部１８においてＲＡＭ１２の受信バッファ１５内のデータを１バイト読み出し、印刷データ解析部１９において読み出したデータがキャラクタデータであるか、あるいはイメージデータであるかを判断し、イメージデータであると判断した場合には、イメージバッファ生成部２２でイメージデータのイメージバッファ１６への格納処理を行う。
【００４２】
以下、バックグラウンド制御部１４のイメージデータのイメージバッファ１６への格納処理について図１を参照し、図４に示すフローチャートに従って説明する。図４は第２の実施の形態のバックグラウンド制御部のイメージデータのイメージバッファ１６への格納処理を示すフローチャートである。
【００４３】
ステップＳ３１でバックグラウンド制御部１４は、イメージデータのイメージバッファ１６への格納処理に先立ち、受信バッファ１５にすでに格納されているイメージデータのデータ量（バイト数）と、イメージデータがホストコンピュータ２３から送信されてくるに先立ってホストコンピュータ２３が宣言するイメージデータのデータ長（バイト数）とを比較する。ここで受信バッファ１５にすでに格納されているイメージデータのバイト数が、上記ホストコンピュータ２３が宣言したイメージデータのデータ長の全バイト数以上であれば（既に１データ長分のイメージデータが受信バッファ１５に格納されている場合であれば）ステップＳ３２に進み、一方「否」であれば（現在受信バッファ１５に格納されているイメージデータのバイト数が１データ長の全バイト数未満であれば）ステップＳ３６に進む。
【００４４】
ステップＳ３１の判断において、イメージデータのイメージバッファ１６への格納処理の開始前に既に受信バッファ１５に１データ長分のイメージデータが格納されていると判断され、ステップＳ３２に進んだ場合、バックグラウンド制御部１４は受信バッファ１５内のイメージデータを１バイト読み出すために読み出し位置を更新し、ステップＳ３３で受信バッファ読み出し部１８においてＲＡＭ１２の受信バッファ１５内のイメージデータを１バイト読み出す。またこのとき、受信バッファ１５のデータ格納数を管理するカウンタをデクリメントする。
【００４５】
次にステップＳ３４でバックグラウンド制御部１４は受信バッファ１５から読み出したイメージデータをイメージバッファ生成部２２により実際に印刷できる形式に編集することなく、ＲＡＭ１２のイメージバッファ１６に格納し、ステップＳ３５でバックグラウンド制御部１４はイメージデータの１データ長分全てイメージバッファ１６に格納できたか否かを判断する。そして格納が終了したと判断すると処理を終了とし、一方「否」の場合にはステップＳ３２からステップＳ３５の処理を繰り返す。
【００４６】
このようにステップＳ３１からステップＳ３２に進んだ場合には、イメージバッファ１６への格納処理の開始前に既に受信バッファ１５に１データ長分の全てのイメージデータが格納されているので、受信バッファ１５からイメージデータを１バイト読み出し、イメージバッファ１６への格納処理を行うといった動作を１データ長分繰り返す。
【００４７】
次にステップＳ３１からステップＳ３６に進んだ場合について説明する。ステップＳ３６でバックグラウンド制御部１４は受信割込み機能、すなわち受信割込み制御部１３の動作を停止するために受信割込み禁止を設定する。この処理を説明すると、バックグラウンド制御部１４の受信割込み選択部２１が受信回路部１１に対して、受信割込み禁止を指示するものである。すると、受信回路部１１はこの指示により以降の受信割込みを発生させず、受信データのラッチのみ行うように動作する。なお、受信割込み選択部２１が受信回路部１１に対して、受信割込み禁止解除を指示した場合、受信回路部１１がデータを受信することにより受信割込み発生が再開される。
【００４８】
次にステップＳ３７においてバックグラウンド制御部１４は、受信バッファ格納数解析部２０においてＲＡＭ１２の受信バッファ１５内のイメージデータ数がゼロか否かを判断し、受信バッファ１５内にイメージデータが格納されていると判断すると、ステップＳ３８に進み、一方格納数がゼロであると判断するとステップＳ４３に進む。なお、受信バッファ１５には、上記図２に示すフローチャートの動作によりイメージデータが格納されているので、このステップＳ３７の時点では、必ず受信バッファ１５にイメージデータが格納されている。従って、ステップＳ３７からステップＳ３８に進む。
【００４９】
ステップＳ３８に進むとバックグラウンド制御部１４は受信バッファ１５内のデータを読み出すために読み出し位置を更新し、ステップＳ３９でバックグラウンド制御部１４は受信バッファ読み出し部１９においてＲＡＭ１２の受信バッファ１５内のイメージデータを１バイト読み出す。またこのとき、受信バッファ１５のデータ格納数を管理するカウンタをデクリメントする。
【００５０】
次にステップＳ４０でバックグラウンド制御部１４は受信バッファ１５から読み出したイメージデータをイメージバッファ生成部２２により実際に印刷できる形式に編集することなく、ＲＡＭ１２のイメージバッファ１６に格納し、ステップＳ４１でバックグラウンド制御部１４はイメージデータの１データ長分全てイメージバッファ１６に格納できたか否かを判断する。そして格納が終了したと判断するとステップＳ４２に進み、一方「否」の場合にはステップＳ３７に戻る。そして受信バッファ１５内の全てのイメージデータのイメージバッファ１６への格納処理が終了するまで上記ステップＳ３７からステップＳ４１を繰り返す。
【００５１】
上記ステップＳ４１からステップＳ４２に進んだ場合、受信割り込み機能、すなわち受信割り込み制御部１３を再開させるために受信割込み選択部２１が受信回路部１１に対して、受信割込み禁止解除を指示する。これにより、受信回路部１１がデータを受信すると、受信割込みが発生する。
【００５２】
以上ステップＳ３８からステップＳ４１においては、受信割込み機能を禁止し、受信割込み制御部１３の動作を停止した後、これまで受信バッファ１５内に格納されている全てのイメージデータを読み出してイメージバッファ１６に格納するといった動作を行う。
【００５３】
なお、上記ステップＳ３７からステップＳ４１の処理を繰り返している間に、ホストコンピュータ２３からイメージデータが送信されてくる場合もあるが、その際はバックグラウンド制御部１４はホストコンピュータ２３からのイメージデータの受信を行わないように制御する。このようにすることでイメージデータのイメージバッファ１６への格納処理を優先して行うことにより、マイクロプロセッサの処理速度を早くすることができる。
【００５４】
次に、まだイメージデータの全てのデータ長分のイメージバッファ１６への格納処理が終了しないうちに受信バッファ１５内のデータがなくなったと判断される場合について説明する。これは上記ステップＳ３７からステップＳ４３に進んだ場合であり、ステップＳ４３に進むと、バックグラウンド制御部１４は受信回路部１１にラッチされている受信データがあるか否か判断し、受信データがラッチされていなければ、受信回路部１１がデータを受信し、該受信データがラッチされるのを待つ。一方受信回路部１１に受信データがラッチされると、ステップＳ４４に進み、バックグラウンド制御部１４は受信回路部１１からラッチされているデータを読み出す。
【００５５】
そしてステップＳ４５でバックグラウンド制御部１４は受信回路部１１から読み出したイメージデータをイメージバッファ生成部２２により実際に印刷できる形式に編集することなく、ＲＡＭ１２のイメージバッファ１６に格納し、ステップＳ４１でバックグラウンド制御部１４はイメージデータのデータ長分全てイメージバッファ１６に格納できたか否かを判断する。そして格納が終了したと判断するとステップＳ４２に進み、一方「否」の場合にはステップＳ３７、ステップＳ４３、ステップＳ４４、ステップＳ４５、ステップＳ４１の処理を繰り返す。
【００５６】
ステップＳ４１からステップＳ４２に進むと、受信割り込み機能、すなわち受信割り込み制御部１３を再開させるために受信割込み選択部２１が受信回路部１１に対して、受信割込み禁止解除を指示する。これにより、受信回路部１１がデータを受信すると、受信割込みが発生する。
【００５７】
以上第２の実施の形態においては、イメージデータのイメージバッファ１６への格納開始前に、受信バッファ１５にすでに格納されているイメージデータのデータ量（イメージデータ格納数）と、イメージデータがホストコンピュータ２３から送信されてくるに先立ってホストコンピュータ２３が宣言するイメージデータの全データ量（イメージデータデータ長）とを比較し、すでに受信バッファ１５に格納されているイメージデータのデータ量が１データ長の全てのデータ量未満であれば受信割り込み制御部１３を動作させず、また受信バッファ１５へのデータの取り込み処理や、受信バッファ１５からのデータの読み出し処理を行わないので、イメージデータを受信する際のマイクロプロセッサへの負担が軽減し、スループットの低下を防止することができる。その結果、イメージデータ受信の効率化を図ることができ、最大限のスループットを得ることが可能となる。
【００５８】
なお、上記第１の実施の形態においては、イメージデータの受信及びイメージバッファ１６への格納処理を行っている最中に高速な受信処理に切り替えるのに対して、第２の実施の形態においては、イメージデータのイメージバッファ１６への格納に先立ち、イメージデータのイメージバッファ１６への格納処理中に受信バッファ１５内に格納されているイメージデータが無くなることが予想される場合に、高速な受信処理に切り替えることができる。
【００５９】
また第２の実施の形態においてはホストコンピュータ２３が連続してデータ送信を行っている場合や、イメージデータのデータ長が大きい印字パターンの場合にイメージデータ受信の効率化を図ることができる。
【００６０】
またキャラクタデータにおいては受信割り込み機能を使用して、受信したキャラクタデータを受信バッファにまとめて格納し、これを文字イメージ生成や各種修飾処理を行いながら印刷を行うことで、ホストコンピュータ２３のデータ送信開放時間を早め、画像形成装置に対しての送信負荷を軽減することができる。
【００６１】
【発明の効果】
以上詳細に説明したように本発明によれば、印刷データのイメージバッファ１６への格納処理であって、受信バッファにイメージデータを格納する際に、上記受信バッファ内の全ての印刷データのイメージバッファ１６への格納処理が終了していて上記受信バッファ内に印刷データが格納されていない場合には、上位装置から送信されてくるイメージデータは上記受信バッファに格納せずにイメージバッファ１６への格納処理を行いイメージバッファへ直接格納することにより、最大限のスループットを得ることが可能となる。
【図面の簡単な説明】
【図１】第１の実施の形態の画像形成装置の制御系を示すブロック図である。
【図２】第１の実施の形態の受信割込み制御部の動作を示すフローチャートである。
【図３】第１の実施の形態のバックグラウンド制御部のイメージデータのイメージバッファ１６への格納処理を示すフローチャートである。
【図４】第２の実施の形態のバックグラウンド制御部のイメージデータのイメージバッファ１６への格納処理を示すフローチャートである。
【符号の説明】
１４  バックグラウンド制御部
１５  受信バッファ
１６  イメージバッファ
２３  ホストコンピュータ
【図１】
0004753532.tif 000002
【図２】
0004753532.tif 000003
【図３】
0004753532.tif 000004
【図４】
0004753532.tif 000005