(57)【要約】【課題】長尺印刷等が可能で、かつ拡大縮小を含む編集画像を再印刷可能な画像形成装置を提供する。【解決手段】プロセス方向の長さが任意の画像を記録媒体上に形成する画像形成装置において、複数のブロックを有する１次記憶部と、１次記憶部の所定ブロックに書き込まれた画像データが格納される領域を有する２次記憶部と、未使用ブロックを抽出し、画像データが書き込まれたときに未使用ブロックからあふれる場合は、書き込まれた画像データを順次２次記憶部に格納し、２次記憶部に格納された後のブロックそれぞれにあふれた画像データを上書きする。【選択図】図１６
2006027055.tif 000002
【特許請求の範囲】
【請求項１】
画像データに所定の画像処理を施し、プロセス方向の長さが任意の画像を記録媒体上に形成する画像形成装置において、
前記画像処理を施す画像データが書き込まれる、所定サイズに区分された複数のブロックを有する１次記憶部と、
前記１次記憶部の所定ブロックに書き込まれた画像データが格納される領域を有する２次記憶部と、
記録媒体上への画像の形成要求を受けたとき、該形成要求に係る画像データを書き込む未使用ブロックを前記１次記憶部の前記複数のブロックから抽出する制御手段とを備え、
前記制御手段は、前記未使用ブロックに、前記形成要求に係る画像データが書き込まれたときに該未使用ブロックから該画像データがあふれる場合は、書き込まれた該画像データを順次前記２次記憶部の前記領域に格納し、該領域に格納された後のブロックそれぞれに、あふれた該画像データを上書きすることを特徴とする画像形成装置。
【請求項２】
前記制御手段は、前記１次記憶部の所定ブロックに画像データが書き込まれてから、次の画像データが上書きされるまでの間に、該所定ブロックに書き込まれた該画像データを前記２次記憶部の前記領域に格納することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記１次記憶部は、前記画像データを識別する画像識別子と、前記制御手段により抽出された未使用ブロックのうち連続領域を識別するデイスクリプタテーブル識別子と、前記複数のブロックそれぞれを識別するブロック識別子とが記述された管理テーブルを備え、
前記制御手段は、前記未使用ブロックを抽出するときは、前記デイスクリプタテーブル識別子を用いることにより前記連続領域の連鎖状態を表すデイスクリプタテーブルを形成することを特徴とする請求項１記載の画像形成装置。
【請求項４】
前記制御手段は、所定の指令を受けたとき、前記２次記憶部に格納されている前記画像データを前記１次記憶部に再転送することを特徴とする請求項１記載の画像形成装置。
【請求項５】
前記１次記憶部は、前記複数のブロックによりリングバッファを構成するものであることを特徴とする請求項１記載の画像形成装置。
【請求項６】
所定の画像データに対し帯域圧縮を施す圧縮伸張手段を備え、
前記制御手段は、前記所定ブロックに書き込まれた前記画像データに、前記圧縮伸張手段による帯域圧縮を施し、前記２次記憶部の前記領域に格納することを特徴とする請求項１又は２記載の画像形成装置。
【請求項７】
前記制御手段は、所定の指令を受けたとき、前記２次記憶部に格納されている前記画像データに対して前記圧縮伸張手段による帯域伸張を施し、前記１次記憶部に再転送することを特徴とする請求項６記載の画像形成装置。
【請求項８】
外部から入力された画像データ及び原稿から読み取られた画像データを蓄積する画像データ記憶部と、
所定の画像データに対し帯域圧縮を施す圧縮伸張手段とを備え、
前記制御手段は、前記画像データ記憶部に蓄積された画像データに基づく画像の形成要求を受けたとき、該形成要求を受けた該画像データのサイズが前記未使用ブロックのサイズよりも大きい場合には、該画像データに対し前記圧縮伸張手段による帯域圧縮を施し、該未使用ブロックに帯域圧縮した該画像データを書き込むことを特徴とする請求項１記載の画像形成装置。
【請求項９】
前記制御手段は、前記未使用ブロックに、前記帯域圧縮を施した前記画像データが書き込まれたとき、該未使用ブロックから該画像データがあふれる場合は、書き込まれた該画像データを前記２次記憶部の前記領域に格納し、該領域に格納された後のブロックそれぞれに、あふれた該画像データを上書きすることを特徴とする請求項８記載の画像形成装置。
【請求項１０】
前記制御手段は、前記２次記憶部の前記領域に格納する前に、前記書き込まれた前記画像データを前記圧縮伸張手段により帯域伸張させて前記画像処理を施し、該圧縮伸張手段により再び帯域圧縮させることを特徴とする請求項９記載の画像形成装置。
【請求項１１】
１次記憶部に書き込まれた画像データに基づいて、プロセス方向の長さが任意の画像を記録媒体上に形成する画像形成方法において、
画像の形成要求を受けたとき、該形成要求に係る画像データを書き込む１次記憶部の未使用ブロックを抽出する手順と、
抽出された前記未使用ブロックに該画像データを順次書き込み、前記形成要求に係る画像データが該未使用ブロックからあふれる場合は、書き込まれた該画像データを圧縮し、所定のタイミングで２次記憶部に格納する一方、該２次記憶部に格納された後のブロックそれぞれに、あふれた該画像データを上書きする手順とを有することを特徴とする画像形成方法。
【請求項１２】
前記１次記憶部の前記未使用ブロックに前記画像データが書き込まれたときから、次の画像データにより上書きされるまでの間に、書き込まれた該画像データを前記２次記憶部に格納することを特徴とする請求項１１記載の画像形成方法。
【請求項１３】
抽出された前記未使用ブロックのサイズと前記画像データのサイズとを比較する手順と、
比較の結果、前記画像データのサイズが大きいときは、前記未使用ブロックに該画像データを圧縮して順次書き込む手順とを更に有することを特徴とする請求項１１記載の画像形成方法。
【請求項１４】
圧縮して前記未使用ブロックに順次書き込まれた前記画像データを伸張して所定の処理を施す手順と、
前記所定処理が施された前記画像データを圧縮し、前記所定のタイミングで前記２次記憶部に格納する手順とを更に有することを特徴とする請求項１３記載の画像形成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセス方向の長さが任意の画像を記録媒体上に形成する画像形成方法及び画像形成装置に関する。
【背景技術】
【０００２】
従来、規格用紙の数倍から十数倍の用紙にポスターや垂れ幕などを印刷したい場合には、原稿を複数に分割するとともに、分割された原稿を拡大印刷し、それをつなぎ合わせる方法が用いられ、多大な手間と時間を要する一方、つなぎ目に不自然さが残るという難点があった。また、拡大する原稿の両端または周囲をダブらせて印刷し、印刷された用紙を、ダブらせた画像が重なるように貼り合わせる方法を用いるにしてもダブらせた画像がぴったり重なるように貼り合わせるのが難しく、貼り合わせた部分がずれるなどの難点があった。
【０００３】
そこで、印刷する際に用紙を２つ折りにし、両面に拡大した画像を印刷する方法が提案されている（特許文献１参照）。
【０００４】
しかしながら、この方法では２つ折り可能な用紙のサイズにより印刷可能な画像の大きさが限定されるので、パーソナルコンピュータ（以下「ＰＣ」という。）で作成された長尺印刷用データを、インク式のプリンタによりロール紙や転写紙に印刷する方法が多用されている。
【０００５】
ロール紙や転写紙を用いて長尺印刷する方法は、手差しトレイを使用するのが一般的であり、繰り出されたシートが折れたり、「しわ」が生じ易い。そこで、専用の給紙トレイを設ける方法（特許文献２参照）や、給紙トレイユニット全体を凹形状に拡張する方法（特許文献３参照）などが提案されている。また、手差しトレイにセットされた不定形な転写紙のサイズが画像形成装置により正確に認識されないとミス印刷やジャムが発生することから、画像を転写する前に転写紙のサイズを検出する方法（特許文献４）などが提案されている。
【０００６】
また、数メートル以上にわたる長尺印刷を行う場合には、イメージデータの容量が膨大になり、プリンタの１次記憶装置には収まりきらないという不都合が生じるので、長尺印刷を行う場合には、ＰＣから、イメージデータを複数回に分けて送る必要がある。その場合、ジャム発生時には、ジャム部分を含む部分印刷を行い、ジャム部分は除去して貼り合わる方法が考えられる。しかし、印刷済みのイメージデータは全く残っていないので、最初からすべて再送する必要があり、時間的ロスが大きいという問題がある。
【０００７】
そこで、ファストイン、ファストアウト方式で古いイメージデータを入れ替え、印刷中の個所から所定長手前のイメージデータは記憶装置に残しておく方法が提案されている（特許文献５）。
【特許文献１】特開２００３−１８９５号公報
【特許文献２】特開平６−１５６８０１号公報
【特許文献３】特開２００１−１６３４５４号公報
【特許文献４】特開２００４−５１３３１号公報
【特許文献５】特開２００１−１１３７６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献５に開示されているファストイン、ファストアウト方式で古いイメージデータを入れ替え、所定長手前のイメージデータを記憶装置に残す方法では、長尺用紙に印刷されたポスター画像を見たときに、その画像をさらに拡大・縮小したり、編集したりしたいと思ったときに、ＰＣ側から改めてイメージデータを送信し直す必要があり、時間的ロスが大きい。また、長尺印刷などの、画像データが大きい場合には処理に時間がかかるので、その画像処理が終了するまでは、リソースが占有されたままとなり、他の動作の生産性に大きく影響を及ぼすことになる。
【０００９】
本発明は、上記事情に鑑み、長尺印刷等の大きなサイズの画像データが入力される場合でも画像データを分割することなく、画像形成を行うことが可能であり、かつ一度印刷されたイメージデータにより、拡大縮小を含む編集画像の印刷が可能な画像形成方法及び画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成する本発明の画像形成装置は、画像データに所定の画像処理を施し、プロセス方向の長さが任意の画像を記録媒体上に形成する画像形成装置において、
上記画像処理を施す画像データが書き込まれる、所定サイズに区分された複数のブロックを有する１次記憶部と、
上記１次記憶部の所定ブロックに書き込まれた画像データが格納される領域を有する２次記憶部と、
記録媒体上への画像の形成要求を受けたとき、該形成要求に係る画像データを書き込む未使用ブロックを上記１次記憶部の上記複数のブロックから抽出する制御手段とを備え、
上記制御手段は、上記未使用ブロックに、上記形成要求に係る画像データが書き込まれたときに該未使用ブロックから該画像データがあふれる場合は、書き込まれた該画像データを順次上記２次記憶部の上記領域に格納し、該領域に格納された後のブロックそれぞれに、あふれた該画像データを上書きすることを特徴とする。
【００１１】
このように、制御手段が、１次記憶部から画像データがあふれる場合は、書き込まれた画像データから順次、２次記憶部の所定領域に格納し、２次記憶部に格納された後の空きブロックに、あふれた画像データを上書きするので、画像データのサイズが大きくても所望の長さの用紙に画像を形成することができる上、リカバリや再度の編集印刷が容易である。
【００１２】
上記の目的を達成する本発明の画像形成方法は、１次記憶部に書き込まれた画像データに基づいて、プロセス方向の長さが任意の画像を記録媒体上に形成する画像形成方法において、
画像の形成要求を受けたとき、該形成要求に係る画像データを書き込む１次記憶部の未使用ブロックを抽出する手順と、
抽出された上記未使用ブロックに該画像データを順次書き込み、上記形成要求に係る画像データが該未使用ブロックからあふれる場合は、書き込まれた該画像データを圧縮し、所定のタイミングで２次記憶部に格納する一方、該２次記憶部に格納された後のブロックそれぞれに、あふれた該画像データを上書きする手順とを有することを特徴とする。
【００１３】
このように、１次記憶部の未使用ブロックに画像データを順次書き込む一方、書き込まれた画像データを圧縮して、処理単位時間内に２次記憶部に格納し、あふれた画像データは２次記憶部に格納された後の空きブロックに上書きするので、プロセス方向の長さが長い画像の画像データを１次記憶部に書き込んでも、リカバリ自在に、長尺用紙に印刷することや、編集による再印刷にも対応できる。
【発明の効果】
【００１４】
本発明の画像形成方法及び画像形成装置によれば、画像データを分割することなく長尺印刷等を行うことが可能であり、かつ一度印刷されたイメージデータにより、拡大縮小を含む編集を行って再印刷を行うことが可能である。
【発明を実施するための最良の形態】
【００１５】
以下に、本発明の画像形成方法を用いる本発明の画像形成装置の実施形態について説明する。
（第１の実施形態）
図１は、本発明の画像形成装置の実施形態が適用される第１の実施形態の融合機を示す構成図である。
【００１６】
図１に示すように、融合機１は、ソフトウェア群２と、融合機起動部３と、ハードウェア資源４とにより構成されている。
融合機１は、ハードウェア資源４に、コピー、プリント、スキャナ、ファクシミリなどのジョブを実行するアプリケーション層５において共通に処理されるプラットフォーム６を一元化し、複数のジョブにわたる処理の迅速化、効率化を可能としたものであり、ソフトウェア群２とハードウェア資源４とをつなぐエンジンＩ／Ｆ５４や、ソフトウェア群２を構成するアプリケーション層５とプラットフォーム６とを、予め定義されている関数によりつなぐＡＰＩ５３を有する。なお、ソフトウェア群２を構成するアプリケーション層５およびプラットフォーム６における各ソフトウェアは、ＯＳにより並列実行される。
【００１７】
融合機起動部３は、融合機１の電源が投入された時に起動し、ソフトウェア群２のうちのアプリケーション層５およびプラットフォーム６を起動する。すなわち、融合機起動部３は、ハードディスク装置（以下、「ＨＤＤ」という。）などからアプリケーション層５およびプラットフォーム６の各プログラムを読み出し、読み出した各プログラムを、メモリ領域に転送して起動する。
【００１８】
ハードウェア資源４は、白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）１１と、カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）１２と、画像データの変換処理を行うＭＬＣ（Media Link Controller）、スキャナやファクシミリなどのハードウェアリソース１３とを含む。
【００１９】
また、ソフトウェア群２は、ＵＮＩＸ（登録商標）などのオペレーティングシステム（以下、「ＯＳ」という）上で起動されるアプリケーション層５と、プラットフォーム６とを含む。
【００２０】
アプリケーション層５は、プリンタ、コピー、ファックスおよびスキャナなどの画像形成にかかるユーザサービスにそれぞれ固有の処理を行うプログラム、すなわちプリンタ用のアプリケーションであるプリンタアプリ２１と、コピー用アプリケーションであるコピーアプリ２２と、ファックス用アプリケーションであるファックスアプリ２３と、スキャナ用アプリケーションであるスキャナアプリ２４とを含む。
【００２１】
また、プラットフォーム６は、アプリケーション層５からの処理要求を解釈してハードウェア資源４の獲得要求を発生するコントロールサービス層９と、１つ以上のハードウェア資源４の管理を行ってコントロールサービス層９からの獲得要求を調停するシステムリソースマネージャ（以下、「ＳＲＭ」という。）３９と、ＳＲＭ３９からの獲得要求に応じてハードウェア資源４の管理を行うハンドラ層１０とを含む。
【００２２】
コントロールサービス層９は、ネットワークコントロールサービス（以下、「ＮＣＳ」という。）３１と、デリバリーコントロールサービス（以下、「ＤＣＳ」という。）３２と、オペレーションパネルコントロールサービス（以下、「ＯＣＳ」という。）３３と、ファックスコントロールサービス（以下、「ＦＣＳ」という。）３４と、エンジンコントロールサービス（以下、「ＥＣＳ」という。）３５と、メモリコントロールサービス（以下、「ＭＣＳ」という。）３６と、ユーザインフォメーションコントロールサービス（以下、「ＵＣＳ」という。）３７と、システムコントロールサービス（以下、「ＳＣＳ」という。）３８など、一つ以上のサービスモジュールを含むように構成されている。
【００２３】
次に、各サービスモジュールについて説明する。
【００２４】
ＮＣＳ３１は、ネットワークとのデータのやりとりが必要なアプリケーション層５に対し、共通に利用可能なサービスを提供するものであり、ネットワーク側から各プロトコルによって受信されたデータを対応するアプリケーションに振り分けることや、各アプリケーションが処理したデータをネットワーク側に送信する。例えば、ネットワークを介して接続されるネットワーク機器とのデータ通信をｈｔｔｐｄ（Hyper  Text  Transfer Protocol  Daemon）により、ＨＴＴＰ（Hyper  Text  Transfer  Protocol）で制御する。
【００２５】
ＤＣＳ３２は、蓄積文書の配信などの制御を行う。
ＯＣＳ３３は、オペレータと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。
ＦＣＳ３４は、アプリケーション層５からＰＳＴＮまたはＩＳＤＮ網を利用したファックス送受信、バックアップ用のメモリで管理されている各種ファックスデータの登録・引用、ファックス読み取り、ファックス受信印刷などを行うためのＡＰＩを提供する。
【００２６】
ＥＣＳ３５は、白黒レーザプリンタ１１、カラーレーザプリンタ１２、ハードウェアリソース１３などのハード資源４の制御を行う。
ＭＣＳ３６は、メモリの取得および開放、ＨＤＤの利用などのメモリ制御を行う。
ＵＣＳ３７は、ユーザ情報の管理を行う。
【００２７】
ＳＣＳ３８は、アプリケーション管理、操作部制御、システム画面表示、ＬＥＤ表示、ハードウェア資源管理、割り込みアプリケーション制御などの処理を行う。
【００２８】
ＳＲＭ３９は、ＳＣＳ３８と共にシステムの制御およびハードウェア資源４の管理を行い、白黒レーザプリンタ１１やカラーレーザプリンタ１２などのハードウェア資源４を利用する上位層からの要求に従って実行を制御する。具体的には、要求されたハードウェア資源４が利用可能であるか、他の要求により利用されていないかを判定し、利用可能であれば要求されたハードウェア資源４が利用可能である旨を上位層に通知する。また、上位層からの要求に対しハードウェア資源４を割りつけるスケジューリングを行ない、細分化された要求内容（例えば、プリンタへの紙搬送や作像動作、メモリ確保、ファイル生成など）に従って実行を制御する。
【００２９】
また、ハンドラ層１０は、後述するファックスコントロールユニット（以下、ＦＣＵという）の管理を行うファックスコントロールユニットハンドラ（以下、「ＦＣＵＨ」という。）４０と、ジョブに対するメモリの割り振り及びジョブに割り振ったメモリの管理を行うイメージメモリハンドラ（以下、ＩＭＨという）４１とを含む。
ＳＲＭ３９およびＦＣＵＨ４０は、エンジンＩ／Ｆ５４を介してハードウェア資源４に対する処理要求を行う。
【００３０】
次に、融合機１のハードウェア構成について説明する。
【００３１】
図２は、本発明の画像形成装置の実施形態が適用される融合機のハードウェア構成の一例を示す図である。
図２に示す融合機１は、コントローラ６０と、オペレーションパネル７０と、ＦＣＵ８０と、ＵＳＢデバイス９０と、ＩＥＥＥ１３９４デバイス１００と、エンジン部１２０とを含む。
【００３２】
コントローラ６０は、ＣＰＵ６１と、システムメモリ（ＭＥＭ−Ｐ）６２と、ノースブリッジ（以下、ＮＢという）６３と、サウスブリッジ（以下、ＳＢという）６４と、ＡＳ
ＩＣ６６と、ローカルメモリ（ＭＥＭ−Ｃ）６７と、ＨＤＤ６８とを含む。
【００３３】
ここで、システムメモリ（ＭＥＭ−Ｐ）６２及びローカルメモリ（ＭＥＭ−Ｃ）６７は、本発明の１次記憶部に相当し、ＨＤＤ６８は、本発明の２次記憶部に相当する。
【００３４】
ＣＰＵ６１は、融合機１の全体制御を行うもので、ＮＣＳ３１、ＤＣＳ３２、ＯＣＳ３３、ＦＣＳ３４、ＥＣＳ３５、ＭＣＳ３６、ＵＣＳ３７、ＳＣＳ３８、ＳＲＭ３９、ＦＣＵＨ４０およびＩＭＨ４１をＯＳ上で起動し、実行させる一方、アプリケーション層５を形成するプリンタアプリ２１、コピーアプリ２２、ファックスアプリ２３、スキャナアプリ２４を起動し、それぞれのジョブを実行する。
【００３５】
ここで、ＣＰＵ６１及びプラットフォーム６は、本発明の制御手段に相当する。
【００３６】
ＮＢ６３は、ＣＰＵ６１、システムメモリ６２、ＳＢ６４およびＡＳＩＣ６６相互を接続するブリッジである。
【００３７】
システムメモリ６２は、融合機１の描画用メモリなどとして用いられるメモリである。ＳＢ６４は、ＮＢ６３とＲＯＭ、ＰＣＩバス、周辺デバイスとを接続するためのブリッジである。
【００３８】
ＡＳＩＣ６６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣであり、画像データに色変換、ガンマ補正、画像の拡大・縮小を含む編集処理を行う。
【００３９】
また、画像データに対し、例えばＪＰＥＧやＧＩＦ形式による帯域圧縮・伸張処理を施すことができ、本発明の圧縮伸張手段に相当する。
【００４０】
ローカルメモリ６７は、コピー用画像バッファ、符号バッファとして用いられるメモリである。
【００４１】
ＨＤＤ６８は、画像データの蓄積、文書データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積などを行うためのストレージである。
【００４２】
オペレーションパネル７０は、コントローラ６０のＡＳＩＣ６６に接続され、オペレータからの入力操作を受け付けると共に、オペレータに向けた表示を行う操作部である。
【００４３】
また、ＦＣＵ８０、ＵＳＢデバイス９０、ＩＥＥＥ１３９４デバイス１００およびエンジン部１２０は、ＰＣＩバスを介してコントローラ６０のＡＳＩＣ６６に接続されている。
【００４４】
コントローラ６０は、ローカルメモリ（ＭＥＭ−Ｃ）６７やＨＤＤ６８などがＡＳＩＣ６６に接続され、ＡＳＩＣ６６は、ＣＰＵチップセットのＮＢ６３を介してＣＰＵ６１に接続されている。
【００４５】
このようにＮＢ６３を介することによりＣＰＵ６１のインタフェースが公開されていない場合にも対応可能となり、さらに、ＰＣＩバスよりも高速のＡＧＰ（Accelerated Graphics Port）６５により接続されることにより、アプリケーション層５やプラットフォーム６によるタスクの実行制御を行なう際のパフォーマンス低下を防止している。
【００４６】
例えば、オペレーションパネル７０により、長尺印刷モードが選択され、エンジン部１２０のスキャナに原稿がセットされると、ＣＰＵ６１により、ローカルメモリ６７の未使用ブロックが抽出され、読み取られた画像データが書き込まれる。このとき、画像データには画像データＩＤが付される。一方、書き込まれた画像データは、ＡＳＩＣ６６により画像処理がなされ、エンジン部１２０に送られて、読み取られた画像データに基づく画像がロール紙上に形成される。
【００４７】
その場合、ローカルメモリ６７の未使用ブロックから読み取られた画像データがローカルメモリ６７からあふれるときは、先にローカルメモリ６７に書き込まれた画像データは、ＨＤＤ６８に転送され、処理単位時間（後述する）内に格納される。そして、ＨＤＤ６８に転送された後に、あふれた画像データが順次上書きされる。
【００４８】
次に、１次記憶部の未使用ブロックの取得、画像処理が終了した使用ブロックの解放を実行する管理テーブルと動作フローについて説明する。
【００４９】
１次記憶部は、外部から入力された画像データ及びスキャナで読み取られた画像データを格納する複数のブロックを有し、画像データそれぞれを識別する画像ＩＤ（本発明の画像識別子に相当する。）が記述された画像ＩＤテーブルと、画像データを新たに格納する未使用ブロックの連続領域毎に、使用に際して付されるデイスクリプタテーブルＩＤ（本発明のデイスクリプタ識別子に相当する。）が記述されたデイスクリプタテーブルと、画像データを格納する複数のブロックそれぞれの使用、未使用状態が記述されたブロックテーブルとからなる管理テーブルを備えており、この管理テーブルを用いて長尺印刷を含む各種ジョブを実行する。
【００５０】
図３は、画像ＩＤテーブルを説明する模式図である。
【００５１】
図３に示す画像ＩＤテーブル２００は、１つのテーブルに画像ＩＤ２０１と、同一の画像ＩＤが付されたデイスクリプタテーブルＩＤのうちの、最初に取得されたディスクリプタテーブルＩＤ、すなわち開始ディスクリプタテーブルＩＤ２１１が記述されている。
【００５２】
ここで、画像ＩＤ２０１は、１次記憶部と２次記憶部とにおいて共通に用いられるユニークなＩＤであり、異なる画像を表す画像データに同じ画像ＩＤが重複して付されることがないように管理され、「０」はＮＵＬＬ（初期状態）を表す。
画像ＩＤテーブル２００の初期状態は、画像ＩＤ２０１を「ＮＵＬＬ」に、開始ディスクリプタテーブルＩＤ２１１を「ＥＯＤ（Ｅｎｄ  Ｏｆ  Ｄｉｓｃｒｉｐｔｏｒ）」にする。
【００５３】
図４は、ディスクリプタテーブルを説明する模式図である。
【００５４】
図４に示すディスクリプタテーブル２１０は、１つのテーブルに、最初に取得されたブロックを表す開始ブロックＩＤ２２１と、連続するブロック数を表す使用ブロック数と、同じ画像ＩＤが付された画像データを次に格納する開始ブロックＩＤ２２１が記述された次のディスクリプタテーブルを表す次ディスクリプタテーブルＩＤ２１２とにより構成されている。
【００５５】
使用ブロック数は、開始ブロックから連続的に取得されたブロック数を意味する。また、次ディスクリプタテーブルＩＤ２１２は、画像データ全体を格納する記憶領域が連続的に取得できない場合に、非連続に取得された次の記憶領域を連鎖して、管理するために記述される。
【００５６】
開始ブロックＩＤ２２１に「ＥＯＢ（Ｅｎｄ  Ｏｆ  Ｂｌｏｃｋ）」が記述されている場合は、未使用のディスクリプタテーブルであることを意味し、次ディスクリプタテーブルＩＤ２１２に「ＥＯＴ（Ｅｎｄ  Ｏｆ  Ｔａｂｌｅ）」が記述されて場合は、連鎖したディスクリプタテーブルのうち、最後のものであることを意味する。
【００５７】
ディスクリプタテーブル２１０の初期状態は、開始ブロックＩＤ２２１に「ＥＯＢ」が記述され、使用ブロック数に「０」が既述され、次ディスクリプタテーブルＩＤ２１２に「ＥＯＴ」が既述される。
【００５８】
図５は、ブロックテーブルを説明する模式図である。
【００５９】
図５に示すブロックテーブルは、１次記憶部の記憶領域を固定長サイズのブロックに細分化し、１ブロック２２５は１ビットを表し、「０」は未使用ブロック、「１」は使用ブロックと定義し記憶領域の使用状態と未使用状態とを管理する。
ブロックテーブルの初期状態は、全て「０」にする。
【００６０】
したがって、最小の画像データは、１つの画像ＩＤ２０１と、１つのディスクリプタテーブル２１０と、１つのブロックとにより構成されるため、画像ＩＤテーブル２００及びディスクリプタテーブル２１０は、最大でブロック数と同じ数分確保する必要がある。
【００６１】
次に、画像の形成要求を受けたときに１次記憶部に所要ブロック数だけ取得する一般的な処理について説明する。
【００６２】
図６〜図８は、画像ＩＤ、ディスクリプタテーブルＩＤ、未使用ブロックそれぞれを取得するフローを示す図である。
【００６３】
図６に示すように、１次記憶部の取得要求が発生すると［４−１］、印刷ジョブの属性として入力された画像ＩＤと、取得するブロックの連続性を指示する連続ブロック数と、その連続ブロックを複数取得することを可能にするディスクリプタテーブルの個数とに異常がないか評価する［４−２］。入力された画像ＩＤ、連続ブロック数、ディスクリプタテーブル数に異常があれば入力パラメータ異常を返し［４−３］、処理を抜ける。
【００６４】
次に、画像ＩＤテーブルから画像ＩＤを取得する際に必要となるテーブルＩＤカウンタと取得済ディスクリプタテーブルカウンタとを初期化する［４−４］。
【００６５】
入力が正常であれば、まず始めに画像ＩＤテーブルから画像ＩＤを取得する［４−５］。画像ＩＤテーブルの先頭からテーブルＩＤカウンタをカウントしながら画像ＩＤが「ＮＵＬＬ」になっているテーブルをループ検索し、画像ＩＤを取得する。
【００６６】
画像ＩＤテーブルを検索し、画像ＩＤが「ＮＵＬＬ」になっているテーブルがない場合は［４−８］、テーブルＩＤカウンタを加算し［４−９］、この処理を繰り返す[４−６］。
【００６７】
そして、画像ＩＤが「ＮＵＬＬ」になっているテーブルが見つかった場合は、画像形成要求を受けた画像データにその画像ＩＤを設定し［４−１０］、テーブルＩＤカウンタの数値が最終値まで「ＮＵＬＬ」の画像ＩＤが見つからない場合は［４−６］、画像ＩＤが全て使用されているので取得不能と判定し、「画像ＩＤテーブルフル」を返し［４−７］、処理を抜ける。
【００６８】
図７に示すように、画像ＩＤが設定された後、ディスクリプタテーブルを取得する［４−１１］。
【００６９】
最初に、テーブルＩＤカウンタを「０」にし、ＩＤが設定されたディスクリプタテーブルＩＤの最後のものに「ＥＯＤ(最終記述)」を記述し、初期化する［４−１２］。
【００７０】
ディスクリプタテーブルの取得は、ディスクリプタテーブルの開始ブロックＩＤに「ＥＯＢ(最終ブロック)」が記述されているテーブルを、ディスクリプタテーブルの先頭からループ検索することにより行う。
【００７１】
ディスクリプタテーブルの開始ブロックに「ＥＯＢ(最終ブロック)」以外が記述されているときは［４−１５］、テーブルＩＤカウンタを1つ加算し［４−１６］、この検索を繰り返す。
【００７２】
テーブルＩＤカウンタがディスクリプタテーブルの最終値を表すときは［４−１３］、ディスクリプタテーブルが全て使用されているためディスクリプタテーブルの取得不能と判定し「ディスクリプタテーブルフル」を返し［４−１４］、処理を抜ける。
【００７３】
開始ブロックに「ＥＯＢ(最終ブロック)」が記述された未使用のディスクリプタテーブルＩＤを見つけた場合は、その手前のディスクリプタテーブルＩＤに「ＥＯＤ(最終記述)」が記述されているときは［４−１７］、その見つけたディスクリプタテーブルが最初のもの判定し、取得済の画像ＩＤテーブルの開始ディスクリプタテーブルＩＤとして、その見つけたディスクリプタテーブルＩＤを設定する[４−１８]。すなわち、テーブルＩＤカウンタのカウント値に１を加えた値を設定する。そして、ディスクリプタテーブルを取得できたことで手前のディスクリプタテーブルＩＤに取得したテーブルＩＤカウンタを設定し、取得済ディスクリプタテーブルカウンタを加算する［４−２０］。
【００７４】
なお、その手前のディスクリプタテーブルＩＤに「ＥＯＤ(最終記述)」が記述されていないときは［４−１７］、手前のディスクリプタテーブルＩＤの次のディスクリプタテーブルＩＤに検索したディスクリプタテーブルＩＤを設定する［４−１９］。すなわち、テーブルＩＤカウンタのカウント値を設定する。
【００７５】
図８に示すように、最後にブロックテーブルを取得する［４−２１］。
【００７６】
最初に、必要数のブロックを取得するために使用するブロックＩＤカウンタ、開始ブロックＩＤをカウントするカウンタ、及び連続領域として確保され、使用ブロック数をカウントする未使用ブロックカウンタをそれぞれ「０」にして、初期化する［４−２２］。
【００７７】
ブロックテーブルの取得は、ビットが「０」になっているブロックをテーブルの先頭からループ検索する。ブロックＩＤカウンタがブロックの最終値を表すときは［４−２３］、ブロックが全て使用状態であることからブロック取得不能と判定し「ブロックテーブルフル」を返し［４−２４］、処理を抜ける。
【００７８】
テーブルを検索した結果、ビットが「１」になっているときは［４−２５］、未使用ブロックカウンタをリセットし［４−２６］、ブロックＩＤカウンタを加算し［４−２７］、ループ検索を繰り返す［４−２３］。
【００７９】
未使用ブロックが存在するときは、未使用ブロックカウンタが初期化されているか否かを判定し［４−２８］し、初期化されているときは連続取得の開始ブロックと判断し、開始ブロックＩＤのカウンタをブロックＩＤカウンタ値にセットし［４−２９］、未使用ブロックカウンタを１つ加算する［４−３０］。
【００８０】
また、未使用ブロックカウンタが初期化されていないと判定されたときは［４−２８］、初期化されているときは連続取得の開始ブロックと判断し、未使用ブロックカウンタを１つ加算する［４−３０］。
【００８１】
未使用ブロックカウンタが、予め設定された連続ブロック数と比較し、要求されたブロック数が取得できたか否かを判定し［４−３１］、取得されていないときは、ブロックＩＤカウンタを加算し［４−２７］、ループ検索を繰り返す［４−２３］。
【００８２】
要求されたブロック数が取得できたときは、ディスクリプタテーブルの開始ブロックに開始ブロックＩＤを設定し、開始ブロックＩＤから取得された連続ブロック数分「１（使用中）」に設定する［４−３２］。
【００８３】
そして、入力パラメータ中のディスクリプタテーブル個数と取得済ディスクリプタテーブルカウンタのカウント値とを比較し［４−３３］、一致する場合は取得完了と判断し取得完了を返し［４−３４］処理を抜ける。
【００８４】
一方、一致しない場合は、連鎖するディスクリプタテーブルを取得するため、図７で説明した［４−１１］に戻る。
【００８５】
以上のフローにより１次記憶部における記憶領域の取得が可能となる。
【００８６】
次に、ＰＣから印刷ジョブとして受信した画像データ、又はファクシミリからネットワークを介して受信した画像データ、あるいは原稿を読み取ることにより取得された画像データに基づいて、画像形成要求を受けたときの画像データのサイズが１次記憶部に取得可能なサイズよりも大きい場合における、記憶領域の取得について説明する。
【００８７】
本実施形態の融合機は、用紙に画像をプリントする要求を受けたとき、その要求を受けた画像の画像データサイズと１次記憶部の未使用ブロックサイズとを比較し、画像データサイズの方が大きい場合には、その画像データの一部をその未使用ブロックに格納する一方、１次記憶部に格納された画像データのうち、ＡＳＩＣによる画像処理が施されたものは２次記憶部の所定領域に格納し、格納された画像データが格納されているブロックを解放し、１次記憶部に未格納の残余の画像データを、その解放されたブロックに格納するように構成されている。
【００８８】
ここで、画像データサイズの方が大きい場合とは、例えば長尺用紙にポスターや垂れ幕用の画像を印刷するときなどに生じる。
【００８９】
図９及び図１０は、残余の画像データを１次記憶部に格納するため、先に格納された画像データを解放するフローを示す図である。
【００９０】
図９に示すように、画像形成要求を受けた画像データサイズと１次記憶部の未使用ブロックサイズとを比較し、画像データサイズの方が大きいために、解放処理は解放要求が発生すると［５−１］、まず、例えば印刷ジョブに含まれる画像ＩＤに異常がないか評価する［５−２］。
【００９１】
入力値に異常があれば入力パラメータ異常を返し［５−３］、処理を抜ける。
【００９２】
次に画像ＩＤテーブルを検索するために必要なテーブルＩＤカウンタの初期化を行う［５−４］。
【００９３】
そして、入力値が正常であれば、まず画像ＩＤテーブルの検索を行う［５−５］。
【００９４】
検索は、画像ＩＤテーブルに記述された画像ＩＤと入力パラメータの画像ＩＤとが一致するまで、画像ＩＤテーブルの先頭からループ検索を行う。
【００９５】
画像ＩＤテーブルを検索し［５−８］、画像ＩＤが異なる場合にはテーブルＩＤカウンタを加算し［５−９］、テーブルＩＤカウンタが画像ＩＤテーブルの最終値になったときは［５−６］、該当する画像ＩＤがないと判定し、該当画像ＩＤなしを返し［５−７］、処理を抜ける。
【００９６】
画像ＩＤが見つかった場合は、ディスクリプタテーブル、及びブロックテーブルの解放処理に移行する［５−１０］。
【００９７】
図１０に示すように、ディスクリプタテーブルの解放は、画像ＩＤテーブルの該当画像ＩＤと共に記述された開始ディスクリプタテーブルＩＤに基づいて、その画像ＩＤにより使用されている最終ディスクリプタテーブルＩＤを検索することにより行う。
【００９８】
ディスクリプタテーブルは、各画像ＩＤに連鎖されているため、画像データの解放は、連鎖された最後のディスクリプタテーブルから行う必要があるためである。
【００９９】
最終ディスクリプタテーブルは、ディスクリプタテーブルＩＤの「次ディスクリプタテーブルＩＤ」に「ＥＯＴ」が記述されていることで判定する。
【０１００】
まず画像ＩＤテーブルに記述されている開始ディスクリプタテーブルＩＤをディスクリプタＩＤカウンタに設定すると共に、前ディスクリプタテーブルＩＤを「ＥＯＴ」に設定する［５−１１］。
【０１０１】
次に、ディスクリプタＩＤカウンタからディスクリプタテーブルをループ検索する。
【０１０２】
ディスクリプタテーブルを検索した結果［５−１４］、次ディスクリプタテーブルＩＤが「ＥＯＴ」でないときは、前ディスクリプタテーブルＩＤにテーブルＩＤカウンタ値を設定する一方、テーブルＩＤカウンタに、次ディスクリプタテーブルＩＤを再設定し［５−１５］し、ループ検索を行う［５−１２］。
【０１０３】
そして、テーブルＩＤカウンタがディスクリプタテーブルの最終値になった場合は［５−１２］、ディスクリプタテーブルが異常であると判定し、「ディスクリプタテーブル異常」を返し［５−１３］、処理を抜ける。
【０１０４】
次ディスクリプタテーブルＩＤが「ＥＯＴ」であるときは、前ディスクリプタテーブルＩＤに設定されているディスクリプタテーブルＩＤの次ディスクリプタテーブルＩＤを「ＥＯＴ」に設定する［５−１６］。
【０１０５】
解放対象のディスクリプタテーブルＩＤが決定すると、そのディスクリプタテーブルＩＤにおける使用ブロックの解放を行う。使用ブロックの解放はディスクリプタテーブルにおける開始ブロックから使用ブロック数分のビットを「０」に設定することにより行う［５−１７］。
【０１０６】
解放処理が完了すると前ディスクリプタテーブルＩＤを参照し、「ＥＯＴ」であるときは、ディスクリプタテーブルとブロックテーブル1の解放が完了したと判定し処理を抜ける［５−１８］。
【０１０７】
「ＥＯＴ」でないときは［５−１８］、テーブルＩＤカウンタに、前ディスクリプタテーブルＩＤを再設定し［５−１９］し、ループ検索を行う［５−１２］。
【０１０８】
次に２次記憶部に格納する所定領域の取得及び解放処理について説明する。
【０１０９】
２次記憶部における所定領域の取得及び解放処理は、図３〜図１０により説明した１次記憶部におけるブロックの取得、解放処理と構造が共通する。
【０１１０】
２次記憶部におけるブロックテーブルは、１次記憶部よりも記憶領域の容量が大きいため、固定長サイズにブロック化する際の単位を論理アドレス上連続的な複数のセクタの固まりとして管理されている。また、２次記憶部にはアクセス不可能な領域を保存するためにアクセス不可能ブロックテーブルが設けられている。
【０１１１】
ここで、２次記憶部には、例えばハードディスクドライブなどの大容量記憶装置が用いられる。ハードディスクドライブへのアクセスは物理アドレスでなく論理アドレス方式で行い、論理アドレスが指定されたセクタに不良が生じると、ハードディスクドライブは自動的に代替セクタ領域に割り当て直されるので、論理アドレス上では連続使用可能に制御される。しかしながら、不良セクタが代替セクタに割り当て直しがなされた結果、不良セクタのアドレス前後の物理アドレスは非連続となり、ヘッドシークが発生するのでデータ転送時間に微妙な影響が生じる。そこで、ハードディスクドライブの代替セクタ処理を抑制し不良セクタが発生したアドレスをアクセス禁止にするためアクセス不可能ブロックテーブルが設けられている。
【０１１２】
図１１は、２次記憶部のアクセス禁止セクタテーブルを示す図である。
【０１１３】
図１１に示すように、セクタテーブルは、初期状態は「０」にするが、「０」だとアクセス禁止セクタと誤検出するため、２次記憶部アクセス禁止テーブルに登録されているセクタ個数を示す登録カウンタも用意し、登録カウンタが「０」になっている場合はアクセス禁止セクタが登録されていないことを表すようにする。アクセス禁止テーブルと登録カウンタは２次記憶部に設けられ、電源投入時に２次記憶部から１次記憶部へ転送され、参照可能になっている。
【０１１４】
なお、アクセス禁止テーブルは、ブロック単位でなく、セクタ単位でアクセスを禁止することにより、ブロック化の際にセクタ数が変更になることや、２次記憶部のパーティション変更等により使用可能な先頭セクタアドレスが変更になることにより、先頭ブロックの開始セクタずれが生じ、登録された不良セクタとブロックとの整合性がとれなくなっても不具合が生じないようにされている。
【０１１５】
図１２は、不良セクタをアクセス禁止セクタにした場合のアクセス禁止テーブルへの登録のフローを示す図である。
【０１１６】
図１２に示すように、不良セクタは通常ハードディスクドライブの読み出し制御の際に検出されるため、読み出し動作においてアクセス禁止テーブルへの登録を行う。
【０１１７】
読み出し制御を行った際に読み出しセクタが不良セクタであるか否かを評価し［７−１］、不良セクタが発生していなければ処理を抜ける。不良セクタであるときは、登録カウンタを１つ加算し、「登録カウンタ−１」番目のテーブルへ不良セクタのアドレスを登録し［７−２］し、処理を抜ける。
【０１１８】
なお、登録カウンタを有限にし、登録カウンタがその数値を超えた場合は不良セクタ等によるアクセス禁止セクタが多発しているので、ハードディスクドライブの信頼性低下を理由に交換指示を促すことにしてもよい。
【０１１９】
図１３は、アクセス禁止セクタを２次記憶部のブロックテーブルに反映する動作フローを示す図である。
【０１２０】
図１３において、２次ブロックテーブルの初期化が終了後、内部ループ処理用のカウンタの初期化を行い［８−１］、ループカウンタの数値と登録カウンタに数値とを比較［８−２］し、数値が同じであれば処理を抜ける。
【０１２１】
数値が同じでないときは、アクセス禁止セクタが存在すると判断し、アクセス禁止セクタテーブルからセクタを取得し、ブロック変換すると共に、登録カウンタの数値を加算する［８−３］。そしてブロックテーブルにおける対象ブロックのビットを「１（使用状態）」にし、ループカウンタを加算する［８−４］。
【０１２２】
また、サイズの大きい画像データを圧縮伸長器によりデータ圧縮することによっても、１次記憶部や２次記憶部に任意の記憶領域を取得することが可能になる。なお、１次記憶部から２次記憶部に画像データを格納する場合は、１次記憶部は固定容量で確保し固定容量分のデータ変換（データ圧縮）が完了してから２次記憶部に転送する処理を繰り返すことで分割転送を行うことが可能になる。
【０１２３】
図１４は、１次記憶部から２次記憶部への１回のデータ転送により画像データ全体を格納する場合のフローを示す図である。
【０１２４】
図１４に示すように、まず、データ変換後の領域が全て確保できるだけの領域を確保する［９−１］。
【０１２５】
この領域は圧縮伸長器の特性により、データ圧縮前の容量を越えてしまう可能性がある時はその分も考慮して確保する必要がある。次に圧縮伸長器を用いデータ圧縮し［９−２］、圧縮された画像データを確保された１次記憶領域に保存する［９―３］。
【０１２６】
保存完了後、圧縮した画像データ領域に対し、２次記憶領部にデータ圧縮後の容量を確保する［９−４］。確保後、２次記憶領部に１次記憶領部に格納された圧縮された画像データを転送する［９−５］。転送終了後、１次記憶領域に確保した領域を解放する［９−６］。
【０１２７】
図１５〜図１８は、１次記憶部から２次記憶部に順次画像データを格納する方法を説明する模式図である。
【０１２８】
図１５に示すように１次記憶部には、１からｎまでのブロック２２５に区分された記憶領域があり、画像データは、１から順に書き込まれ、ｎまで書き込まれると、再び１に戻って上書きされ、以下ｎまで順に、繰り返される。
【０１２９】
図１６に示すように、１次記憶部に書き込まれた画像データは、ＡＳＩＣによる画像処理が施され、２次記憶部に転送される。
【０１３０】
例えばスキャナにより読み取られる画像データや外部入力される画像データの容量が大きい場合は、１次記憶部の未使用ブロックには全ての画像データが入りきれない。そこで、例えば読み取られた画像データを順次未使用ブロックに書き込み、書き込まれた画像データを順次読み出して画像処理、帯域圧縮処理を施し、２次記憶部に格納する。
【０１３１】
この場合、１次記憶部に書き込まれる速度は、スキャナ等からの入力速度に依存し、遅い上、スキャナ等からの入力は、一旦読み取りが開始されると最後まで止めずに行われるので、その間、１次記憶部は、いわば占有状態になる。
【０１３２】
それに較べ、２次記憶部への格納は充分早く、短時間に行われるので、２次記憶部において１次記憶部の画像データ以外の格納処理がなされても、１次記憶部における処理単位時間（ＰｒｏｃＴ；例えばリングバッファ期間）２３０以内に、例えばＡＳＩＣを経由して２次記憶部に格納処理がなされれば、１次記憶部における画像データの書き込みには支障が生じない。
【０１３３】
したがって、２次記憶部に、図のＡ〜Ｚまでの割り込み処理がなされても、１次記憶部の（１〜ｎ）ブロック２２５に書き込まれていた画像データは、それぞれ次のブロックに書き込まれた画像データに別の画像データが上書きされるまでには２次記憶部に格納されており、処理単位時間（ＰｒｏｃＴ）２３０の範囲内に充分収まっている。
【０１３４】
図１７にしめすように、１次記憶部からＡＳＩＣを経由して２次記憶部に格納されるまでの時間は、処理単位時間（ＰｒｏｃＴ）の範囲内に収まっていればようので、例えば１次記憶部の（１）ブロックに書き込まれていた画像データは、（１）に別の画像データが上書きされるまで、すなわち、（ｎ）ブロックに別の画像データが上書きされる間に読み出されればよい。したがって、２次記憶部に対する図の「Ｙ」の割り込み処理は許可せず、排除される。
【０１３５】
図１８は、１次記憶部から転送された画像データを格納する２次記憶部を示す模式図である。
【０１３６】
図１８に示すように、１次記憶部から転送された画像データは、デイスクリプタテーブルＩＤ毎の、連続記憶領域を形成する複数のブロックを単位として格納されている。したがって、図３〜図１０に示したように、必要なデイスクリプタテーブルＩＤを検索することは容易であり、例えばブロックＩＤ（１００〜１５０）２２０の５０ブロックに格納された画像データを抽出して１次記憶部に再転送することができる。
【０１３７】
このように、画像データのサイズが１次記憶部のサイズより大きくても、制御手段により、画像処理などが終了した画像データが順次２次記憶部に転送され、格納されるので、スキャナで読み取りながら印刷ジョブを実行することができる。
【０１３８】
また、印刷ジョブが終了した画像データも２次記憶部に格納されているので、ジャムが生じた場合であっても、必要な部分の画像データを２次記憶部から再度１次記憶部に転送し、少し手前から画像を形成することができる。
【０１３９】
さらに、印刷ジョブが終了した後で、印刷された画像を評価して、再度拡大又は縮小等の編集処理や、画像濃度を調整して再印刷することも容易にできる。
（第２の実施形態）
第２の実施形態は、第１の実施形態と較べて、画像形成要求を受けた画像データは、既に融合機の記憶装置（例えば本実施形態のＨＤＤ）に格納されているので、そのサイズが
既知である。したがって、制御手段は、１次記憶部の取得した未使用ブロックのサイズと画像データのサイズとを比較し、取得した未使用ブロックの繰り返し使用数や圧縮伸張手段の活用時期などを決定できる点は相違するが、それ以外の点は共通する。したがって、相違点について説明し、それ以外は省略する。
【０１４０】
図１９は、第２の実施形態の融合機において、データ変換（データ圧縮）された画像データを複数回に分割して１次記憶部に格納する場合のフローを示す図である。
【０１４１】
図１９に示すように、データ変換後の１次記憶部の記憶領域を固定容量で確保する［１０−１］。
【０１４２】
この記憶領域は固定容量であるためデータ圧縮後のサイズとは関連性がない。
【０１４３】
次に圧縮伸長器を用いてデータ圧縮し［１０−２］、圧縮された画像データを確保した１次記憶領域に保存する［１０−３］。
【０１４４】
このとき、確保した固定容量ではデータ圧縮が完了しない場合があるため、圧縮伸長器の終了応答により処理を変える必要がある。１次記憶部で確保した固定領域のうち、使用される容量分を２次記憶部にも領域確保し［１０−４］、１次記憶部から２次記憶領部に転送を開始する［１０−５］。
【０１４５】
転送が完了しても、データ圧縮が完了していない場合は[１０−６]、データ圧縮、１次記憶領域への保存などが継続される［１０−２〜５］。
【０１４６】
なお、データ圧縮処理が継続される場合における圧縮されたデータは、既に転送が完了した１次記憶部の固定領域に上書きされる。
【０１４７】
そして、データ圧縮が全て完了すると［１０−６］、１次領域に確保された固定容量の記憶領域は解放される［１０−７］。
【０１４８】
図２０は、画像データのサイズが１次記憶部における未使用ブロックのサイズよりも大きいため、取得した未使用ブロックを繰り返し使用する方法を示す模式図である。
【０１４９】
図２０（ａ）に示すように１次記憶部には、１からｎまでのブロック２２５に区分された記憶領域があり、画像データは、１から順に書き込まれ、ｎまで書き込まれると、再び１に戻り上書きされる処理が３回目まで繰り返される。
【０１５０】
図２０（ｂ）に示すように、取得した１次記憶部の未使用ブロックに収まりきらない、画像データのサイズが大きい画像を形成する場合は、ある単位長さ又はサイズの画像データの１次記憶部のブロック２２５への書き込みと２次記憶部への画像データの蓄積とを開始する。画像データの入力速度より、２次記憶部への画像の蓄積速度の方が一般的に速いので、２次記憶部へアクセスする際に使用されるリソースには時間的余裕が存在する。
【０１５１】
1次記憶部のブロック２２５には画像データがリングバッファ的に書き込まれるので、１次記憶領部の所定の記憶領域に書き込まれた画像データに上書きされるまでの間、そのリソースを開放しておくことにより、他の処理で必要とされるリソースを明け渡すことが可能となる。
【０１５２】
しかしながら、処理の内容によっては、他の処理が規定時間内に終了するか否かが明確になっていなければならない。また、他の処理が割り込める数、時間はシステムの性能に依存する。
【０１５３】
他の処理が割り込める数は、ある処理単位時間（ＰｒｏｃＴ）を基準にして、
１次データ中の割り込み数＝1次データリングバッファ時間／（ＰｒｏｃＴ）により算出できる。
【０１５４】
したがって、各処理に応じて、２次記憶部へのアクセス単位時間を割り出しておき、上記1次データ中の割り込み数内に収まれば、その実行を許可することができる。
【０１５５】
このようにして取得した１次記憶部の未使用ブロックに収まりきらない、例えば長尺印刷等の画像データのサイズが大きい画像に対しても、多少の１次記憶領域と２次記憶領域を使用することにより、画像データサイズの大きい画像に関しても画像を形成することが可能となる。またこの際、他の各処理の処理時間や優先度に応じた割り込み処理を入れることにより、パフォーマンスの維持や多重動作を行う際に影響を与えない画像形成方法を提供することができる。
【図面の簡単な説明】
【０１５６】
【図１】本発明の画像形成装置の実施形態が適用される第１の実施形態を示す融合機の構成図である。
【図２】本発明の画像形成装置の実施形態が適用される融合機のハードウェア構成の一例を示す図である。
【図３】画像ＩＤテーブルを説明する模式図である。
【図４】ディスクリプタテーブルを説明する模式図である。
【図５】ブロックテーブルを説明する模式図である。
【図６】画像ＩＤ、ディスクリプタテーブルＩＤ、未使用ブロックそれぞれを取得するフローを示す図である。
【図７】画像ＩＤ、ディスクリプタテーブルＩＤ、未使用ブロックそれぞれを取得するフローを示す図である。
【図８】画像ＩＤ、ディスクリプタテーブルＩＤ、未使用ブロックそれぞれを取得するフローを示す図である。
【図９】残余の画像データを１次記憶部に格納するため、先に格納された画像データを解放するフローを示す図である。
【図１０】残余の画像データを１次記憶部に格納するため、先に格納された画像データを解放するフローを示す図である。
【図１１】２次記憶部のアクセス禁止セクタテーブルを示す図である。
【図１２】不良セクタをアクセス禁止セクタにした場合のアクセス禁止テーブルへの登録のフローを示す図である。
【図１３】アクセス禁止セクタを２次記憶部のブロックテーブルに反映する動作フローを示す図である。
【図１４】１次記憶部から２次記憶部への１回のデータ転送により画像データ全体を格納する場合のフローを示す図である。
【図１５】１次記憶部から２次記憶部に順次画像データを格納する方法を説明する模式図である。
【図１６】１次記憶部から２次記憶部に順次画像データを格納する方法を説明する模式図である。
【図１７】１次記憶部から２次記憶部に順次画像データを格納する方法を説明する模式図である。
【図１８】１次記憶部から２次記憶部に順次画像データを格納する方法を説明する模式図である。
【図１９】第２の実施形態の融合機において、データ変換（データ圧縮）された画像データを複数回に分割して１次記憶部に格納する場合のフローを示す図である。
【図２０】画像データのサイズが１次記憶部における未使用ブロックのサイズよりも大きいため、取得した未使用ブロックを繰り返し使用する方法を示す模式図である。
【符号の説明】
【０１５７】
１  融合機
２  ソフトウエア群
３  融合機起動部
４  ハードウエア資源
５  アプリケーション層
６  プラットフォーム
９  コントロールサービス層
１０  ハンドラ層
１１  白黒レーザプリンタ
１２  カラーレーザプリンタ
１３  ハードウエアリソース
２１  プリンタアプリ
２２  コピーアプリ
２３  ファックスアプリ
２４  スキャナアプリ
３１  ＮＣＳ
３２  ＤＣＳ
３３  ＯＣＳ
３４  ＦＣＳ
３５  ＥＣＳ    
３６  ＭＣＳ
３７  ＵＣＳ
３８  ＳＣＳ
３９  ＳＲＭ
４０  ＦＣＵＨ
４１  ＩＭＨ
５３  ＡＰＩ
５４  エンジンＩ／Ｆ  
６０  コントローラ
６１  ＣＰＵ
６２  システムメモリ
６３  ＮＢ
６４  ＳＢ
６５  ＡＧＰ
６６  ＡＳＩＣ
６７  ローカルメモリ
６８  ＨＤＤ
７０  オペレーションパネル
８０  ＦＣＵ
９０  ＵＳＢ
１００  ＩＥＥＥ１３９４
１２０  エンジン部
２００  画像ＩＤテーブル
２０１  画像ＩＤ
２１０  デイスクリプタテーブル
２１１  開始デイスクリプタＩＤ                  
２１２  次デイスクリプタＩＤ
２２０  ブロックＩＤ
２２１  開始ブロックＩＤ
２２５  ブロック
２３０  処理単位時間
【図１】
2006027055.tif 000003
【図２】
2006027055.tif 000004
【図３】
2006027055.tif 000005
【図４】
2006027055.tif 000006
【図５】
2006027055.tif 000007
【図６】
2006027055.tif 000008
【図７】
2006027055.tif 000009
【図８】
2006027055.tif 000010
【図９】
2006027055.tif 000011
【図１０】
2006027055.tif 000012
【図１１】
2006027055.tif 000013
【図１２】
2006027055.tif 000014
【図１３】
2006027055.tif 000015
【図１４】
2006027055.tif 000016
【図１５】
2006027055.tif 000017
【図１６】
2006027055.tif 000018
【図１７】
2006027055.tif 000019
【図１８】
2006027055.tif 000020
【図１９】
2006027055.tif 000021
【図２０】
2006027055.tif 000022