(57)【特許請求の範囲】
【請求項１】
原稿画像を読み込む読取装置と、
読み込んだ原稿画像データを所定のブロックに分割してブロック単位で圧縮し、第１のメモリに格納する圧縮手段と、
上記第１のメモリからブロック単位でデータを読み出して伸長し、第２のメモリに格納する伸長手段と、
上記第２のメモリから画像データを読み出して画像出力を行うプリント手段と、
画像サイズと伸長速度とに基づいて未伸長データの伸長時間を演算する演算手段と、
上記演算手段によって演算された未伸長データの伸長時間と上記第２のメモリから画像データを読み出して画像出力を行う出力速度とから画像データの出力が未伸長データの伸長を追い越さない遅延時間を設定する設定手段と、
伸長手段による伸長開始後、上記設定手段により設定された遅延時間が経過してから、上記第２のメモリからのデータの読み出しを開始する制御手段と
を備ることを特徴とする画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像を読み取り、圧縮して記憶し、プリント時に伸長して出力する画像形成装置に関する。
【０００２】
【従来の技術】
デジタル複写機などの画像形成装置は、原稿をデジタル画像として読み取り、用紙に記録する。読みとった画像データは一且メモリに記憶される。１頁分の画像が読み取られると、画像データはメモリから読み出され、プリント装置に出力される。読み取った画像をメモリに記憶しておくことにより種々の画像処理も可能になる。
画像の読み取りに際しては、読み取られたデータは、圧縮してメモリに記憶しておく。これにより、メモリに記憶するデータ量を少なくする。プリント時に、メモリのデータを伸長して、画像を用紙に印字する。
【０００３】
【発明が解決しようとする課題】
複写機では、原稿を早くプリントするために、原稿を全て読み取った状態で、プリンタ装置が用紙を先出しする。このように、次々に給紙を行うことにより、画像を用紙に形成する際に、用紙供給の遅れによるスループットの低下は防止できる。
しかし、プリントのための画像データの出力については、伸長の時間も考慮しなければならない。従来は、１ページの画像が全て伸長し終わるまでは、画像出力を行っていなかった。このため、原稿画像の圧縮率が低い場合や、１ページに複数の原稿画像を形成する節約コピーモード等では、伸長に要する時間が長くなり、タイミングローラ前で用紙が待機する時間が長くなる場合がある。したがって、用紙の先出し供給がなされてもスループットの低下を招いていた。スループットを低下させないためには、原稿画像の圧縮率や節約コピーモードによらず、常にプリンタ装置の用紙間隔内で次の画像出力を開始できることが望ましい。
【０００４】
本発明の目的は、原稿画像の圧縮率や節約コピーモードによらず、プリンタ装置の用紙間隔内で次の画像出力を開始できるデジタル複写機を提供することである。
【０００５】
【課題を解決するための手段】
本発明に係る画像形成装置では、圧縮手段は、読取手段により読み込んだ原稿画像データを所定のブロックに分割してブロック単位で圧縮し、第１のメモリに格納する。伸長手段は、第１のメモリからブロック単位でデータを読み出して伸長し、第２のメモリに格納する。プリント手段は、上記の第２のメモリから画像データを読み出して画像出力を行う。ここで、演算手段は、画像サイズと伸長速度に基づいて未伸長データの伸長時間を演算し、また、設定手段は、上記演算手段によって演算された未伸長データの伸長時間と上記第２メモリから画像データを読み出して画像出力を行う出力速度とから画像データの出力が未伸長データの伸長を追い越さない遅延時間を設定し、制御手段は、伸長手段による伸長開始後、上記設定手段により設定された遅延時間が経過してから、上記第２メモリからのデータの読み出しを開始する。こうして、プリントが伸長を追い越さないように画像出力開始タイミングを推定できるので、１ページ分の全ての画像の伸長完了を待たずに画像出力を開始でき、プリントのスループットを向上する。
【０００７】
【発明の実施の形態】
以下、本発明の画像形成装置の１実施形態であるデジタル複写機を添付の図面を参照して説明する。
（１）複写機の構成
図１は、デジタル複写機１の全体の構成を図式的に示す。このデジタル複写機１は、読取装置２００、プリンタ装置３００、原稿搬送部５００および再搬送ユニット６００からなる。
原稿搬送部５００は、原稿給紙トレー５１０上にセットされた原稿を自動的に原稿ガラス１８上に搬送し、読取装置２００が原稿を読み取った後に原稿を排出トレイ５１１へ排出する。原稿のサイズは、センサ５５１と５５２により検出される。
読取装置２００は、走査系１０、画像信号処理部２０などからなる。走査系１０は、原稿台ガラス１８上の原稿を読み取って画像信号に変換する。走査系１０では、原稿は、原稿台ガラス１８の下方を移動するスキャナ１９に組み付けられた露光ランプ１１により照射される。原稿からの反射光は、第１ミラー１２と固定ミラー１３a,１３bと集光用のレンズ１４を経て、ＣＣＤアレイなどを用いた光電変換素子１６に入射される。光電変換素子１６は、原稿の画像の反射光を電気信号に変換し、画像信号処理部２０に出力する。画像信号処理部２０は、入力される電気信号を処理し、メモリユニット部３０に対して画像データを出力する。メモリユニット部３０は、入力される画像データをそのままプリンタ装置に出力するかまたはメモリに圧縮して記憶する。
【０００８】
プリンタ装置３００は、印字処理部４０、光学系６０、作像系などから構成される。印字処理部４０は、読取装置２００から入力される画像データに基づいて光学系６０の半導体レーザ６１を駆動する。光学系６０では、半導体レーザ６１の出射するビームは、ポリゴンミラー６５により偏向され、主レンズ６６と反射ミラー６７、６８、６９をへて、感光体ドラム７１上の露光位置に導かれる。これにより、感光体ドラム７１上に原稿画像の潜像が形成される。
【０００９】
画像形成は、作像系で電子写真方式で行われ、感光体ドラム７１上に形成された潜像を現像し、用紙上に転写かつ定着して用紙上に画像を形成する。現像転写系では、図１の反時計方向に回転駆動される感光体ドラム７１が帯電チャージャ７２により一様に帯電され、露光後に現像器７３により現像される。現像されたトナー像は、転写チャージャ７４により用紙に転写される。用紙は、分離チャージャ７５により分離される。搬送系では、用紙がカセット８０a,８０bから供給される。なお、サイズ検出センサ９１、９２は、用紙を収納するカセット８０a、８０bの用紙のサイズを検出する。用紙は、用紙ガイド８１とタイミングローラ８２をへて感光体ドラム７１へ導かれ、上述の転写の後に、搬送ベルト８３により定着ローラ８４へ搬送される。定着系では、定着ローラ８４が像を用紙に熱で定着し、その後、排出ローラ８５が、用紙を排出する。
【００１０】
再給紙ユニット６００は、両面コピーなどにおいて用いられる付加装置であり、複写機本体から排出された用紙を一旦収納し、感光体まで戻す。すなわち、排出ローラ８５から排出された用紙について、切換爪６０１は、排紙トレー７２１への排出と再給紙とを切り換える。再給紙の場合、用紙は、再給紙ユニット６００に一旦収納する。再搬送系では、再給紙ユニット６００から搬送された用紙は、水平搬送ローラ８６a〜８６cで搬送される。そして、再度の画像形成のために、用紙は、両面モードのときに表裏を反転して、合成モードのときには表裏反転を行わずに、プリンタ装置３００へ搬送される。プリンタ装置３００の再搬送系では、再給紙ユニット６００から搬送された用紙は、水平搬送ローラ８６a〜８６cを介してタイミングローラ８２に搬送される。
【００１１】
（２）複写機の制御系
次に、制御部１００について説明する。図２と図３は、複写機１の制御部１００の構成を示すブロック図である。制御部１００は、８個のＣＰＵ１０１〜１０８を中心に構成され、これら各ＣＰＵ１０１〜１０８には、それぞれプログラムを格納したＲＯＭ１１１〜１１８およびプログラム実行のワークエリアとなるＲＡＭ１２１〜１２８が設けられている。なお、ＣＰＵ１０６は、メモリユニット３０内に備えられる（図４参照）。
【００１２】
ＣＰＵ１０１は、操作パネル（図示しない）の各種操作キーからの信号の入力および表示を制御する。図示しないが、操作パネルには、コピーのスタートキー、モード選択キーなどの各種キーや表示装置が備えられる。
ＣＰＵ１０２は、画像信号処理部２０の各部の制御を行なう。
ＣＰＵ１０３は、走査系１０の駆動制御を行なう。
ＣＰＵ１０４は、印字処理部４０、光学系６０および作像系７０の制御を行なう。ここで、ＣＰＵ１０４は、カセット検出センサ２１１、２１２からの信号に基づき、用紙カセット８０ａ、８０ｂに収納された複写用紙のサイズを得る。
ＣＰＵ１０５は、制御部１００の全体的なタイミング調整や動作モードの設定のための処理を行なう。
ＣＰＵ１０６は、メモリユニット部３０を制御することによって読取った画像データを圧縮し符号メモリ３０３に一旦格納し、次にこれを読出して印字処理部４０へ出力する。これにより、読取装置２００とプリンタ装置３００とを独立して制御し、コピー速度の向上を図る。
ＣＰＵ１０７は、原稿搬送部５００の制御を行なう。
ＣＰＵ１０８は、再給紙部６００の制御を行なう。
これらＣＰＵ１０１〜１０８の間では、割込みによるシリアル通信が行なわれ、コマンド、レポート、その他のデータが授受される。
【００１３】
（３）画像メモリを用いた画像データの圧縮および伸長
次に、画像データの処理について説明する。本実施形態では、１頁の画像データは複数のブロックに分割して処理される。原稿から読み取ったデータは、画像信号処理部２０においてデジタル画像データに変換される。画像データは、メモリユニット３０においてブロック単位で圧縮されてブロック単位で符号メモリに格納される。画像再生の際には符号メモリの圧縮データがブロック単位で伸長されて読み出される。
まず、画像信号処理部２０について説明すると、画像信号処理部２０は、Ａ／Ｄ変換器、シェーディング補正部などからなる。画像信号処理部２０によって、光電変換素子１６からの入力信号が、画素ごとに８ビットの画像データに量子化され、種々の処理が施された後に画像データＤ２としてメモリユニット３０に送られる。
【００１４】
次に、メモリユニット３０について図４に示すブロック図を参照して説明する。画像が読み込まれたときは、画像信号処理部２０からの画像データＤ２が、まず入力ページメモリ３０１に転送される。入力ページメモリ３０１に転送された画像は、次に圧縮器３０２によってブロック単位で圧縮される。圧縮されたデータは、符号メモリ３０３へ転送され記憶される。符号メモリ３０３は、たとえば、４００dpiでＡ４サイズの５０頁分の容量を有したマルチポートのメモリである。
圧縮器３０２による圧縮速度は、読み込んだ画像のデータに依存する。文字の多い原稿では圧縮速度は速く、写真のようなイメージの多い画像で圧縮速度は遅くなる。圧縮器３０２では最高の圧縮速度と最低の圧縮速度が規定されている。
【００１５】
プリント時には、符号メモリ３０３内の圧縮された画像データは、伸長器３０４によって伸長される。また画像回転が必要な場合は、伸長時にブロック単位で回転器３０５で回転処理を行い、回転処理と伸長処理を同時に行う。伸長された画像データは、出力ページメモリ３０６に転送される。ここで、１ページに複数の原稿画像を形成する節約コピーモードでは、たとえば、２枚分の原稿を１枚の用紙に再現するように伸長を行なう。
また、メモリユニット部３０は、ＲＯＭ１１６に格納されているプログラムに従いＣＰＵ１０６により制御される。最悪伸長速度Ｖminや出力速度（プリント速度）Ｖpは、ＲＯＭ１１６に記憶されている。また、プログラムを動作させる時に必要なパラメータ(ブロックごとの圧縮時間ｔc)などはシステムＲＡＭ１２６に格納される。
このメモリユニット３０においては、伸長器３０４の伸長速度は、圧縮器３０２での圧縮速度と同一である。そこで、あらかじめ圧縮時に、ある画像内のブロックごとの圧縮速度を求めておくことにより、伸長速度を予測できる。伸長によって出力ページメモリ３０６に１頁分の画像データＤ３が生成されると、その画像データＤ３が、出力ページメモリ３０６から印字処理部へ転送される。図中の太い矢印で示すデータ転送は、コピー速度の向上のために互いに独立して且つ平行におこなうことができる。画像データは、それぞれ、図示しないＤＭＡコントローラによりＤＭＡ転送されるようになっている。
【００１６】
原稿画像の一時的な記憶に際しては、符号メモリ３０３は、ＲＡＭ１２６内に設けられた符号管理テーブルによって管理される。図５は、符号管理テーブルおよびその符号メモリ３０３内のブロック単位の圧縮データとの対応をしめす。画像データの圧縮においては、入力ページメモリ３０１に格納された画像データをブロック単位に圧縮するため、符号メモリ３０３には、図の右側に示すように、１ページ分の画像データがブロック単位に分割されて記憶される。そこで、符号管理テーブルは、原稿中の１画像単位の情報を記憶する画像単位情報テーブルＴ１と、分割されたブロック単位の情報を記憶するブロック管理情報テーブルＴ２とからなる。画像単位情報テーブルＴ１は、圧縮する前の１ページ単位での画像サイズや、圧縮サイズ、ブロック単位情報はどこに記憶しているかといった情報を記憶している。ブロック管理情報テーブルＴ２は、分割された画像データがどこにあるか、さらに、ブロック単位の圧縮サイズ、測定された圧縮時間等を記憶している。
【００１７】
次に、読み取り及びプリントにおける複写機１の動作シーケンスについて、ＣＰＵ１０１〜１０６の間でやりとりされる要求コマンド(Ｑ)、レポート(Ａ)またはデータの流れを中心に説明する。
図６は原稿読み込み動作の概略のシーケンスを示す。ここでは自動画像搬送装置５００を使用する場合のシーケンスについて説明する。まず、全体のシーケンスを管理しているＣＰＵ１０５が、原稿搬送装置を制御するＣＰＵ１０７に対して原稿交換を要求する。これを受けて、ＣＰＵ１０７は原稿搬送を開始し、原稿サイズ検出結果をパラメータとして原稿セットレポートを返す。
ＣＰＵ１０５は、サイズが確定した時点で、ＣＰＵ１０６に対して読み取りと圧縮の要求を同時に発行する。ＣＰＵ１０５は、さらに、画像処理を制御するＣＰＵ１０２に対しても読み取り要求を行う。すると、ＣＰＵ１０２が画像読み取り装置を制御するＣＰＵ１０３に対してスキャンを要求する。
ＣＰＵ１０３により原稿のスキャンが開始され、スキャナ１９が画像領域に達すると、ＣＰＵ１０２により設定された画像処理モードに応じて、読み取りデータ(画像データＤ２)が画像信号処理部２０からメモリユニット部３０に転送される。
メモリユニット３０を制御するＣＰＵ１０６は、入力ページメモリ３０１をあらかじめ原稿サイズに応じて所定のブロックに分割しておく。ＣＰＵ１０６は、画像入力の進行状況をチェックし、所定のタイミングでブロック単位で圧縮器３０２や符号メモリ３０３のアドレスなどを設定し、各部の起動を行う。これによって圧縮器３０２による圧縮処理が行われ、符号データが符号メモリ３０３に格納される。この時、各ブロックの圧縮開始から終了までの時間ｔｃを計測し、符号管理テーブル内のブロック管理情報テーブルＴ２内に結果を記憶しておく。
１ブロック目の圧縮処理が完了すると、ＣＰＵ１０６からＣＰＵ１０５に１ブロックの圧縮完了を通知する（図９参照）。さらに、ＣＰＵ１０６は、読み込みサイズに応じた最悪の圧縮時間と画像出力に要するプリント時間とから、プリントが伸長を追い越さない画像出力開始タイミングを計算しておく（図１１参照）。そして、そのタイミングに達したら、ＣＰＵ１０６は、ＣＰＵ１０５に画像出力許可のレポートを通知する。
さらに、全てのブロックの圧縮処理が完了すると、ＣＰＵ１０６は、ＣＰＵ１０５に圧縮の完了を通知する。
【００１８】
図７はプリント動作の概略のシーケンスを示す。プリント動作では、出力ページメモリ３０６から読み出された画像データＤ３に基づいて用紙に複写画像がプリントされる。本図は、次に説明されるように、図６と密接に関連する。ＣＰＵ１０５は、図６に示した原稿セットレポートを受けると、原稿サイズが確定するので、どの用紙カセット８０ａ、８０ｂから給紙するかを判断し、用紙カセットをパラメータとしてＣＰＵ１０４に対して給紙を要求する。なお、用紙カセットの選択において、原稿がＴ(縦方向)かＹ(横方向)かをも判断する。もし用紙カセット８０a,８０bに原稿と同一のサイズの用紙が縦（Ｔ）と横（Ｙ）の両方向に存在する場合は、画像出力開始タイミングを早めるために、画像回転なしで伸長できる用紙、すなわち原稿と同一方向の用紙を選択する。
ＣＰＵ１０４は、給紙を開始すると、給紙レポートをＣＰＵ１０５に返す。ＣＰＵ１０４は、給紙した用紙がタイミングローラ８２に達して、画像出力の準備が完了すれば、ＣＰＵ１０５に画像出力要求レポートを送信する。
ＣＰＵ１０５は、図６に示した１ブロック圧縮完了レポートを受け取ると、ＣＰＵ１０６にデータ伸長を要求する。
ＣＰＵ１０６は、ＲＡＭ１２６内の符号管理テーブル（図５）を参照することにより、ブロック単位で符号メモリ３０３からの読み出しアドレス、データ量等を設定して各部の起動を行う。これによって伸長処理が開始され、１ブロック分の画像データが出力ページメモリ３０５に書き込まれる。
【００１９】
伸長処理の起動の後に、図６に示した画像出力許可レポートをＣＰＵ１０６から受け取っていれば、画像出力開始コマンドをＣＰＵ１０６とＣＰＵ１０４とに対して要求する。これを受けて、ＣＰＵ１０６は、内部ハードウェアに対して、出力ページメモリ３０４から印字処理部４０へ画像データＤ３を出力するためのバス接続状態の設定を行う。また、ＣＰＵ１０４は、画像先端を画像出力開始タイミングに一致させるようタイミングローラ８２からの用紙搬送を起動する。これにより、入力ページメモリ３０４から読み出された画像データＤ３が印字処理部４０に出力され、プリントが行われる。
プリントが終了すると、ＣＰＵ１０６とＣＰＵ１０４がＣＰＵ１０５に対してプリント完了レポート及びイジェクト完了レポートを送る。これらのレポートを受け取ったＣＰＵ１０５は、必要に応じてＣＰＵ１０６に対してメモリクリア要求を与える。
【００２０】
先に述べたように、メモリユニット３０において、ＣＰＵ１０６は、読み込みサイズに応じた最悪の圧縮時間と画像出力に要するプリント時間とから、プリントが伸長を追い越さない画像出力開始タイミングを計算する。すなわち、画像を複数のブロックに分け、画像出力（プリント）が伸長を追い越さない画像出力開始タイミングをブロックごとに計算する。そして、１頁分のすべての画像の伸長の完了を待たずに、その画像出力開始タイミングに達したら、ＣＰＵ１０５に画像出力許可のレポートを通知する。出力ページメモリ３０６から画像出力を開始する。これによりスループットを向上させる。
プリントが伸長を追い越さない画像出力開始タイミングの計算の考え方は次の通りである。伸長が開始されてから、出力ページメモリ３０６から画像データの出力を開始する画像出力開始タイミングまでの時間を、未伸長データの伸長時間を推定することにより、プリントが伸長を追い越さないように設定する。
ここで、伸長時間の推定は、ブロック単位に行い、全ブロックについての推定伸長時間と画像データの出力時間とに基づいて、画像出力開始タイミングを設定する。画像出力開始タイミングは、画像のブロックごとの圧縮時間の実測値とプリントに要する時間から計算される。この計算において、各ブロックのドット数、最悪の圧縮速度、最悪の伸長速度、画像出力速度（プリント速度Ｖp）などを考慮する。ブロックの数は、検出された原稿サイズと１ブロックのサイズから決定される。
【００２１】
伸長時間の推定方法はブロックにより異なる。たとえば、伸長して出力ページメモリ３０６に書き込む処理と、出力ページメモリ３０６から読み出す処理が同時に行われる１ブロック目において、最悪の伸長時間Ｖmin（既知）を用いて、画像出力開始タイミングを、１ブロック目の伸長が終了した時点でプリントが伸長を追い越さないように推定する。
圧縮器による圧縮時間と伸長器による伸長時間とが同じである場合、伸長時間は、圧縮時間の測定値に等しい。本実施形態はこの場合にあたり、メモリユニット３０において、圧縮器３０２の圧縮時間と伸長器３０４の伸長時間は同じである。伸長時間が圧縮時間から推定できるので、圧縮時間の実測値に基づいて伸長時間を推定できる。１ブロック目に関しては、最悪の圧縮速度から画像出力開始タイミングtx1を計算する。２ブロック目以降に関しては、１つ前の圧縮時間実測値から最悪の伸長速度で計算してもプリントが伸長を追い越さないという条件のもとで全ブロックについて伸長開始時刻(tx1,tx2,…)を計算していく。そして、得られた時刻(tx1,tx2,…)の中から最も遅い伸長開始時刻を画像出力開始タイミングとする。
【００２２】
以上では、各ブロックごとの圧縮時間の実測値により伸長時間を推定する方法に関して説明した。しかし、伸長時間の推定方法はこれに限られない。別の実施形態として、各ブロックにおける読み込み画像サイズＢdotと圧縮サイズとから圧縮率を計算し、これと圧縮器／伸長器の動作速度に応じて各ブロックにおける伸長時間を推定することも容易に実現できる。
【００２３】
以下、図８に示す例を参照しつつ、プリントが伸長を追い越さない画像出力開始タイミングを計算するアルゴリズムについて説明する。圧縮器３０２と伸長器３０５とが同じ構成からなり、圧縮と伸長は同じ速度で行われるとする。 また、図８においては、説明が分かりやすいように、１頁の画像が４ブロックに分割され、かつ、圧縮速度の実測値は全ブロックで等しいものとして、平均伸長速度を示している。第１から第４の各ブロックの伸長ドット数はそれぞれＢdot1、Ｂdot2、Ｂdot3、Ｂdot4である。ここで、Ｂdot1、Ｂdot2およびＢdot3は同じであるが、Ｂdot4は他より少ない。また、伸長開始時刻をt＝０、最悪の圧縮速度(伸長速度)をＶmin(bps)、プリント速度をＶp(bps)とする。
まず、１ブロック目の計算について説明する。１ブロック目（ドット数Ｂdot1）の伸長が終了した時点でプリントが伸長を追い越さないようにするための画像出力開始可能時刻をtx1とする。実測された圧縮時間は１ブロック目の開始から終了までの全体の時間を示すものであり、伸長速度に置き換えるとブロック内の平均伸長速度となる。しかし、ブロック内での圧縮速度は一律ではないので、圧縮速度は、部分的には最高の圧縮速度であったかもしれないし、また、最悪の圧縮速度であったかもしれない。したがって、１ブロック目は最悪の圧縮(伸長)速度Ｖminで計算する必要がある。最悪の伸長速度Ｖminで要する伸長時間は、Ｂdot1／Ｖminであり、１ブロック目の最悪の伸長時間を考慮したプリント起動時間(画像出力開始可能時刻)をtx1とすると、
(Ｂdot1／Ｖmin−tx1)＊Ｖp＝Ｂdot1
上式より、プリント起動時間tx1は、次のようになる。
tx1＝Ｂdot1(１／Ｖmin−１／Ｖp)                            (１)
この時間tx1でプリントを起動しても、 １ブロック目の伸長を終了した時点でプリントが伸長を追い越すことはない。
【００２４】
次に、２ブロック目の計算について説明する。 ２ブロック目(ドット数Ｂdot1＋Ｂdot2)の伸長を終了した時点でプリントが伸長を追い越さないようにするための画像出力開始可能時刻をtx2とする。２ブロック目の圧縮時間は実測されているが、前述の１ブロック目と同様の扱いで、最悪の圧縮(伸長)速度で計算する必要がある。しかし、１ブロック目に関しては圧縮時間の実測値tc1が適用できるので、
((tc1＋Ｂdot2／Ｖmin)−tx2)＊Ｖp＝Ｂdot1＋Ｂdot2
上式よりtx2を求めると、２ブロック目の最悪の伸長時間を考慮したプリント起動時間tx2は次のようになる。
tx2＝tc1＋(Ｂdot2／Ｖmin−(Ｂdot1＋Ｂdot2)／Ｖp)          (２)
【００２５】
次に、Ｎブロック目の計算について説明する。Ｎブロック目のドット数をＢdotNとし、Ｎブロック目の伸長が終了した時点でプリントが伸長を追い越さないようにするための画像出力開始可能時刻をtxNとする。Ｎブロック目の伸長については、圧縮時間が実測されているが、前述と同様の扱いで、最悪の圧縮(伸長)速度で計算する必要がある。しかし、１ブロック目からＮ−１ブロック目までに関しては圧縮時間の実測値tcm[m＝１,２,３,…,Ｎ−１]が適用できるので、
((tcm[m＝１,２,３,…,Ｎ−１]の合計＋ＢdotN／Ｖmin)−txN)＊Ｖp
＝Ｂdotm[m＝１,２,３,…,Ｎ]の合計
上式より、Ｎブロック目の最悪の伸長時間を考慮したプリント起動時間txNは次のようになる。
0003707170.tif 000002
なお、図８においては、tx3とtx4が一致するが、これは偶然であって、一般には両者は異なる。
【００２６】
従って、各ブロックの圧縮時間実測値tcmにより画像出力開始タイミングtcを求める場合は、圧縮時間が各ブロックにおける平均の速度として求められるので、たとえ平均速度が最悪の圧縮速度より大きくてもブロック内では一時的に最悪の圧縮速度になる場合があることを考慮して、上記の計算のように１ブロック目に関しては、最悪の圧縮速度から画像出力開始タイミングtx1を計算し、２ブロック目以降に関しては１つ前の圧縮時間実測値から最悪の伸長速度で計算してもプリントが伸長を追い越さないという条件のもとで全ブロックの(tx1,tx2,…,txn)を計算していく。そして、各ブロックにおける伸長開始時刻の最も遅い時刻ｔを画像出力開始タイミングとする。このようにあらかじめ伸長時間を見積もって早めにプリントを開始することによりスループットが改善される。
【００２７】
図９〜図１１は、 それぞれ、メモリユニット３０を制御するＣＰＵ１０６による圧縮処理、伸長処理、出力処理を示すフローチャートである。
図９に示す圧縮処理において、まずステップＳ１０で原稿を何ブロックに分割するかを計算する。すなわち、原稿サイズ(Ｓ)と１ブロック当たりの処理するサイズ(Ｂ)とから、ブロック数Ｎを求める。
次にステップＳ１２でmを０に初期化し、ステップＳ１４でデータの入力を開始する。ステップＳ１６では、入力されたデータの圧縮を行い、ステップＳ１８で、１ブロック分の圧縮が終了したかどうかを判断する。圧縮が終了すれば、ステップＳ２０で符号メモリ３０３に格納するとともに、ステップＳ２２で、１ブロック目の圧縮の場合は、１ブロック圧縮完了レポートを出力する。次に、ステップＳ２４で、この１ブロック分の圧縮処理に要した実測時間tcmを管理テーブルのブロック管理情報Ｔ２（図５）に格納する。そして、ステップＳ２６で、mを１つインクリメントし、次のm番目のブロックの処理のためステップＳ１４に戻る。他方、ステップＳ２８でＮブロック分すなわち全ブロックの圧縮が終了したと判断されると、ステップＳ３０でＣＰＵ１０５に圧縮完了を通知し、圧縮処理を終える。
【００２８】
図１０に示す伸長処理においては、まずステップＳ４０において、伸長開始タイミングかどうかを判断する。すなわち、少なくとも１ブロック分の圧縮が終了していれば伸長は可能となるので、ここでは１ブロック分の圧縮が終了していることを条件に伸長開始タイミングかどうかを判断する。
伸長開始タイミングであれば、次にステップＳ４２で、伸長されたブロックを示すカウンタndを０にリセットし、ステップＳ４４で符号メモリ３０３からデータを読み出す。ステップＳ４６で、読み出されたデータの伸長を行い、ステップＳ４８で、伸長が終了したかどうかを判断する。伸長が終了していれば、ステップＳ４８で出力ページメモリ３０６に格納し、ステップＳ５０でカウンタを１つインクリメントし、次のブロックを処理するためステップＳ４４に戻る。しかし、ステップＳ５２で、全ブロックの伸長が終了したと判断されると、伸長処理を終了する。
【００２９】
図１１に示す出力処理においては、１ブロック目の伸長が開始するまで（ステップＳ６２でＮＯ）、ステップＳ６０で、伸長が開始されてから出力ページメモリ３０６からデータを読み出すまでの時間を各ブロックの圧縮時間、ドット数、最悪伸長時間、読み出し時間を基に求める（式(１)、(２)、(３)参照）。そして、各ブロックにおける伸長開始時刻の最も遅い時間ｔを画像出力開始タイミングとする。
次に、１ブロック目の伸長が開始すると（ステップＳ６２でＹＥＳ）、ステップＳ６４で、時間ｔを設定し、タイマーのカウントを開始する。ステップＳ６６で、時間tが経過したと判断されると、ステップＳ６８で、ＣＰＵ１０５に画像出力許可のレポートを出力し、ＣＰＵ１０５から画像出力開始要求を受けると、出力ページメモリ３０６からデータの読み出しを開始させる。そして、データ出力が終了すると、ステップＳ７０でＣＰＵ１０５にプリント完了を通知する。
このように、各ブロックの伸長に要する時間tを推定して出力ページメモリ３０６からの読み出しを開始するので、読み出しが伸長を追い越すことはない。さらに、１ページの伸長終了を待たずに読み出しを開始することができるので、生産性を高めることができる。
【００３０】
【発明の効果】
原稿のプリントにおいて、１ページ当たりの全ての画像の伸長完了を待たずに画像データを出力できるので、プリントが早く開始でき、 スループットの向上を図ることができる。
【図面の簡単な説明】
【図１】  本発明に係る複写機の全体構成を示す断面正面図である。
【図２】  複写機の制御部の構成を示すブロック図である。
【図３】  複写機の制御部の構成を示すブロック図である。
【図４】  メモリユニット部の構成を示すブロック図である。
【図５】  画像情報と符号メモリとの関係を示す図である。
【図６】  原稿読み込み動作の概略シーケンスを示す図である。
【図７】  プリント動作の概略シーケンスを示す図である。
【図８】  伸長とプリントの関係を示す図である。
【図９】  圧縮処理のフローチャートである。
【図１０】   伸長処理のフローチャートである。
【図１１】   出力処理のフローチャートである。
【符号の説明】
３０  メモリユニット部、
１０５  全体制御用ＣＰＵ、
１０６  メモリ用ＣＰＵ、
３０１  入力ページメモリ、
３０２  圧縮器、
３０３  符号メモリ、
３０４  伸長器、
３０６  出力ページメモリ。
【図１】
0003707170.tif 000003
【図２】
0003707170.tif 000004
【図３】
0003707170.tif 000005
【図４】
0003707170.tif 000006
【図５】
0003707170.tif 000007
【図６】
0003707170.tif 000008
【図７】
0003707170.tif 000009
【図８】
0003707170.tif 000010
【図９】
0003707170.tif 000011
【図１０】
0003707170.tif 000012
【図１１】
0003707170.tif 000013