(57)【要約】【課題】出力すべき画像データを符号のままハンドリングして印刷処理効率を向上させる画像形成装置、画像データ転送方法、及びプログラムを提供することを課題とする。【解決手段】本発明に係る画像形成装置は、画像データが圧縮された圧縮データを記憶する記憶手段を有する画像形成装置であって、画像データを出力するとき、圧縮データを出力用画像メモリへ転送制御する転送制御手段と、転送された出力すべき圧縮データを展開する出力用画像メモリと、展開された圧縮データを伸張する伸張手段とを有し、前記転送制御手段は、出力用画像メモリの展開領域容量と、出力すべき圧縮データの容量とに基づいて、前記出力用画像メモリへ転送する圧縮データを決定し、出力すべき圧縮データは、前記伸張手段により伸張されプリントエンジンに出力されることを特徴とする。【選択図】図９
2010124236.tif 000002
【特許請求の範囲】
【請求項１】
画像データが圧縮された圧縮データを記憶する記憶手段を有する画像形成装置であって、
前記画像データを出力するとき、前記記憶手段に記憶された圧縮データを出力用画像メモリへ転送制御する転送制御手段と、
前記転送制御手段より転送された出力すべき圧縮データを展開する出力用画像メモリと、
前記出力用画像メモリに展開された圧縮データを伸張する伸張手段とを有し、
前記転送制御手段は、前記出力用画像メモリの展開領域容量と、前記記憶手段に記憶された出力すべき圧縮データの容量とに基づいて、前記出力用画像メモリへ転送する圧縮データを決定し、
出力すべき圧縮データは、前記伸張手段により伸張されプリントエンジンに出力されること、
を特徴とする画像形成装置。
【請求項２】
前記転送制御手段は、前記記憶手段に記憶された出力すべき圧縮データが前記出力用画像メモリの展開領域容量より大きいときは、当該圧縮データの圧縮符号を複数回に分けて前記出力用画像メモリへ転送し、当該転送開始前に、全転送回数、回数毎の転送すべき圧縮符号、及び当該圧縮符号を展開すべき前記出力用画像メモリのアドレスを決定すること、
を特徴とする請求項1に記載の画像形成装置。
【請求項３】
複数の前記出力用画像メモリと、
複数の前記出力用画像メモリに展開された圧縮データの出力処理の進捗を管理する進捗管理手段とを有し、
前記転送制御手段は、前記進捗管理手段に管理される前記圧縮データの出力処理の進捗に応じて、複数の前記出力用画像メモリへ転送制御すること、
を特徴とする請求項1又は２に記載の画像形成装置。
【請求項４】
前記転送制御手段は、さらに転送時間に応じて、複数の前記出力用画像メモリへ転送制御すること、
を特徴とする請求項３に記載の画像形成装置。
【請求項５】
画像データが圧縮された圧縮データを記憶する記憶手段と、出力すべき圧縮データを展開する出力用画像メモリとを有する画像形成装置における画像データ転送方法であって、
コンピュータが、
前記画像データを出力するとき、前記記憶手段に記憶された圧縮データを前記出力用画像メモリへ転送制御する転送制御手順と、
前記出力用画像メモリに展開された圧縮データを伸張する伸張手順とを有し、
前記転送制御手順は、前記出力用画像メモリの展開領域容量と、前記記憶手段に記憶された出力すべき圧縮データの容量とに基づいて、前記出力用画像メモリへ転送する圧縮データを決定し、
出力すべき圧縮データは、前記伸張手段により伸張されプリントエンジンに出力されること、
を特徴とする画像データ転送方法。
【請求項６】
前記転送制御手順は、前記記憶手段に記憶された出力すべき圧縮データが前記出力用画像メモリの展開領域容量より大きいときは、当該圧縮データの圧縮符号を複数回に分けて前記出力用画像メモリへ転送し、当該転送開始前に、全転送回数、回数毎の転送すべき圧縮符号、及び当該圧縮符号を展開すべき前記出力用画像メモリのアドレスを決定すること、
を特徴とする請求項５に記載の画像データ転送方法。
【請求項７】
請求項５又は６に記載の画像データ転送方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像データ転送方法、及びプログラムの分野に関する。
【背景技術】
【０００２】
現在のデジタル複合機（MFP：Multi-Function Peripheral）は、ＣＰＵ（Central Processing Unit）の性能向上、メモリの大容量化、通信技術の高速化及びデジタル画像技術の高度化等、ＭＦＰ（以下、画像形成装置という）に関連する技術の進化に伴い、単にデジタル複写機としての機能だけでなく、ファクシミリ、プリンタ及びスキャナ機能等の様々な機能を搭載し、利用者の環境において様々な場面で利用されている。
【０００３】
このような画像形成装置において、原稿を印刷する場合、画像データのサイズが大きく画像形成装置の搭載メモリ（主記憶上のメモリ等）に収まらないことがある。そこで、画像を分割し、蓄積用領域（HDDやSD/外部ストレージ等）を利用することで、原稿の印刷を可能とする方法が知られている（例えば、特許文献１参照）。具体的には、画像データを所定のサイズ毎に分割して入力用メモリへ作像し、その画像データを圧縮して、蓄積用メモリに退避し、印刷時には、蓄積用メモリから出力用メモリに伸張しながら、画像を出力する。
【特許文献１】特開２００６−１２９２７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の原稿を印刷する方法においては、印刷時、蓄積用メモリから出力用メモリに伸張し、プリントエンジンに画像データを出力するので、有限である出力用メモリの制約を受けるという問題がある。即ち、出力用メモリには伸張された画像データが展開されるので、画像データ容量が大きい場合、処理速度向上やメモリの利用効率の観点から必ずしも最適とはいえなかった。
【０００５】
そこで本発明では上記のような問題に鑑みて、出力すべき画像データを符号のままハンドリングして印刷処理効率を向上させる画像形成装置、画像データ転送方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係る画像形成装置は、画像データが圧縮された圧縮データを記憶する記憶手段を有する画像形成装置であって、前記画像データを出力するとき、前記記憶手段に記憶された圧縮データを出力用画像メモリへ転送制御する転送制御手段と、前記転送制御手段より転送された出力すべき圧縮データを展開する出力用画像メモリと、前記出力用画像メモリに展開された圧縮データを伸張する伸張手段とを有し、前記転送制御手段は、前記出力用画像メモリの展開領域容量と、前記記憶手段に記憶された出力すべき圧縮データの容量とに基づいて、前記出力用画像メモリへ転送する圧縮データを決定し、出力すべき圧縮データは、前記伸張手段により伸張されプリントエンジンに出力されることを特徴とする。
【０００７】
また上記課題を解決するため、本発明に係る画像形成装置において、前記転送制御手段は、前記記憶手段に記憶された出力すべき圧縮データが前記出力用画像メモリの展開領域容量より大きいときは、当該圧縮データの圧縮符号を複数回に分けて前記出力用画像メモリへ転送し、当該転送開始前に、全転送回数、回数毎の転送すべき圧縮符号、及び当該圧縮符号を展開すべき前記出力用画像メモリのアドレスを決定することを特徴とする。
【０００８】
また上記課題を解決するため、本発明に係る画像形成装置において、複数の前記出力用画像メモリと、複数の前記出力用画像メモリに展開された圧縮データの出力処理の進捗を管理する進捗管理手段とを有し、前記転送制御手段は、前記進捗管理手段に管理される前記圧縮データの出力処理の進捗に応じて、複数の前記出力用画像メモリへ転送制御することを特徴とする。
【０００９】
また上記課題を解決するため、本発明に係る画像形成装置において、前記転送制御手段は、さらに転送時間に応じて、複数の前記出力用画像メモリへ転送制御することを特徴とする。
【００１０】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、出力すべき画像データを符号のままハンドリングして印刷処理効率を向上させる画像形成装置、画像データ転送方法、及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を実施するための最良の形態を各実施形態において図面を用いて説明する。以下、画像形成装置（融合機）１に本発明を適用した実施形態を示す。
【００１３】
＜システム構成＞
（全体構成）
図１は、本発明による融合機の一実施形態の構成図を示す。融合機１は、ソフトウェア群２と、融合機起動部３と、ハードウェア資源４とを含むように構成される。
【００１４】
融合機起動部３は融合機１の電源投入時に最初に実行され、アプリケーション層５およびプラットフォーム６を起動する。例えば融合機起動部３は、アプリケーション層５およびプラットフォーム６のプログラムを、外部記憶手段に対応するハードディスク装置（以下、ＨＤＤという）などから読み出し、読み出した各プログラムをメモリ領域に転送して起動する。
【００１５】
ハードウェア資源４は、白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）１１と、カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）１２と、スキャナやファクシミリなどのハードウェアリソース１３とを含む。
【００１６】
また、ソフトウェア群２は、ＵＮＩＸ（登録商標）などのオペレーティングシステム（以下、ＯＳという）上に起動されているアプリケーション層５とプラットフォーム６とを含む。アプリケーション層５は、プリンタ、コピー、ファックスおよびスキャナなどの画像形成にかかるユーザサービスにそれぞれ固有の処理を行うプログラムを含む。
【００１７】
アプリケーション層５は、プリンタ用のアプリケーションであるプリンタアプリ２１と、コピー用アプリケーションであるコピーアプリ２２と、ファックス用アプリケーションであるファックスアプリ２３と、スキャナ用アプリケーションであるスキャナアプリ２４とを含む。
【００１８】
また、プラットフォーム６は、アプリケーション層５からの処理要求を解釈してハードウェア資源４の獲得要求を発生するコントロールサービス層９と、１つ以上のハードウェア資源４の管理を行ってコントロールサービス層９からの獲得要求を調停するシステムリソースマネージャ（以下、ＳＲＭという）３９と、ＳＲＭ３９からの獲得要求に応じてハードウェア資源４の管理を行うハンドラ層１０とを含む。
【００１９】
コントロールサービス層９は、ネットワークコントロールサービス（以下、ＮＣＳという）３１、デリバリーコントロールサービス（以下、ＤＣＳという）３２、オペレーションパネルコントロールサービス（以下、ＯＣＳという）３３、ファックスコントロールサービス（以下、ＦＣＳという）３４、エンジンコントロールサービス（以下、ＥＣＳという）３５、メモリコントロールサービス（以下、ＭＣＳという）３６、ユーザインフォメーションコントロールサービス（以下、ＵＣＳという）３７、システムコントロールサービス（以下、ＳＣＳという）３８など、一つ以上のサービスモジュールを含むように構成されている。
【００２０】
なお、プラットフォーム６は予め定義されている関数により、アプリケーション層５からの処理要求を受信可能とするＡＰＩ５３を有するように構成されている。ＯＳは、アプリケーション層５およびプラットフォーム６の各ソフトウェアをプロセスとして並列実行する。
【００２１】
ＮＣＳ３１のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
【００２２】
例えばＮＣＳ３１は、ネットワークを介して接続されるネットワーク機器とのデータ通信をｈｔｔｐｄ（HyperText Transfer Protocol Daemon）により、ＨＴＴＰ（HyperText Transfer Protocol）で制御する。
【００２３】
ＤＣＳ３２のプロセスは、蓄積文書の配信などの制御を行う。ＯＣＳ３３のプロセスは、オペレータと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。ＦＣＳ３４のプロセスは、アプリケーション層５からＰＳＴＮまたはＩＳＤＮ網を利用したファックス送受信、バックアップ用のメモリで管理されている各種ファックスデータの登録／引用、ファックス読み取り、ファックス受信印刷などを行うためのＡＰＩを提供する。
【００２４】
ＥＣＳ３５のプロセスは、白黒レーザプリンタ１１、カラーレーザプリンタ１２、ハードウェアリソース１３などのエンジン部の制御を行う。ＭＣＳ３６のプロセスは、メモリの取得および開放、ＨＤＤの利用などのメモリ制御を行う。ＵＣＳ３７は、ユーザ情報の管理を行うものである。
【００２５】
ＳＣＳ３８のプロセスは、アプリケーション管理、操作部制御、システム画面表示、ＬＥＤ表示、ハードウェア資源管理、割り込みアプリケーション制御などの処理を行う。
【００２６】
ＳＲＭ３９のプロセスは、ＳＣＳ３８と共にシステムの制御およびハードウェア資源４の管理を行うものである。例えばＳＲＭ３９のプロセスは、白黒レーザプリンタ１１やカラーレーザプリンタ１２などのハードウェア資源４を利用する上位層からの獲得要求に従って調停を行い、実行制御する。
【００２７】
具体的に、ＳＲＭ３９のプロセスは獲得要求されたハードウェア資源４が利用可能であるか（他の獲得要求により利用されていないかどうか）を判定し、利用可能であれば獲得要求されたハードウェア資源４が利用可能である旨を上位層に通知する。また、ＳＲＭ３９のプロセスは上位層からの獲得要求に対してハードウェア資源４を利用するためのスケジューリングを行い、要求内容（例えば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００２８】
また、ハンドラ層１０は後述するファックスコントロールユニット（以下、ＦＣＵという）の管理を行うファックスコントロールユニットハンドラ（以下、ＦＣＵＨという）４０と、プロセスに対するメモリの割り振り及びプロセスに割り振ったメモリの管理を行うイメージメモリハンドラ（以下、ＩＭＨという）４１とを含む。ＳＲＭ３９およびＦＣＵＨ４０は、予め定義されている関数によりハードウェア資源４に対する処理要求を送信可能とするエンジンＩ／Ｆ５４を利用して、ハードウェア資源４に対する処理要求を行う。
【００２９】
融合機１は、各アプリケーションで共通的に必要な処理をプラットフォーム６で一元的に処理することができる。
【００３０】
（ハードウェア）
図２は、本発明による融合機の一実施形態のハードウェア構成図を示す。融合機１は、コントローラ６０と、オペレーションパネル７０と、ＦＣＵ８０と、MLC１１０と、エンジン部１２０とを含む。
【００３１】
また、コントローラ６０は、ＣＰＵ６１と、システムメモリ（ＭＥＭ−Ｐ）６２と、ノースブリッジ（以下、ＮＢという）６３と、サウスブリッジ（以下、ＳＢという）６４と、ＡＳＩＣ６６と、ローカルメモリ（ＭＥＭ−Ｃ）６７と、MAC６９と、ＨＤＤ６８とを含む。
【００３２】
オペレーションパネル７０は、コントローラ６０のＡＳＩＣ６６に接続されている。また、エンジン部（スキャナ/プロッタエンジンを含む）１２０は、コントローラ６０のＡＳＩＣ６６にＰＣＩバスで接続されている。
【００３３】
コントローラ６０は、ＡＳＩＣ６６にローカルメモリ６７、ＨＤＤ６８などが接続されると共に、ＣＰＵ６１とＡＳＩＣ６６とがＣＰＵチップセットのＮＢ６３を介して接続されている。このように、ＮＢ６３を介してＣＰＵ６１とＡＳＩＣ６６とを接続すれば、ＣＰＵ６１のインタフェースが公開されていない場合に対応できる。
【００３４】
なお、ＡＳＩＣ６６とＮＢ６３とはＰＣＩバスを介して接続されているのでなく、ＡＧＰ（Accelerated Graphics Port）６５を介して接続されている。このように、図１のアプリケーション層５やプラットフォーム６を形成する一つ以上のプロセスを実行制御するため、ＡＳＩＣ６６とＮＢ６３とを低速のＰＣＩバスでなくＡＧＰ６５を介して接続し、パフォーマンスの低下を防いでいる。
【００３５】
ＣＰＵ６１は、融合機１の全体制御を行うものである。ＣＰＵ６１は、ＮＣＳ３１、ＤＣＳ３２、ＯＣＳ３３、ＦＣＳ３４、ＥＣＳ３５、ＭＣＳ３６、ＵＣＳ３７、ＳＣＳ３８、ＳＲＭ３９、ＦＣＵＨ４０およびＩＭＨ４１をＯＳ上にそれぞれプロセスとして起動して実行させると共に、アプリケーション層５を形成するプリンタアプリ２１、コピーアプリ２２、ファックスアプリ２３、スキャナアプリ２４を起動して実行させる。
【００３６】
ＮＢ６３は、ＣＰＵ６１、システムメモリ６２、ＳＢ６４およびＡＳＩＣ６６を接続するためのブリッジである。システムメモリ６２は、融合機１の描画用メモリなどとして用いるメモリである。ＳＢ６４は、ＮＢ６３とＲＯＭ、ＰＣＩバス、周辺デバイスとを接続するためのブリッジである。また、ローカルメモリ（ＭＥＭ−Ｃ）６７はコピー用画像バッファ、符号バッファとして用いるメモリである。
【００３７】
MAC６９は周辺デバイスの１つでイーサーネット通信を制御する。
【００３８】
＜動作＞
（全体動作）
図３は、画像データ入出力時のデータフローを説明する図である。まず全体的なデータフローを説明した上で各処理ステップについて詳細に説明を行う。
【００３９】
ステップＳ３０１において、入力された画像データは、ＭＡＣ６９、ＮＢ６３、ＣＰＵ６１を経由してＭＥＭ−Ｐ６２に作像される。書き込みには本体の作像やスキャナからの画像書き込みに対し処理速度の差を吸収できるようＭＥＭ−Ｐ６２に一旦記憶され処理される。なお、ＭＥＭ−Ｐ６２は描画用メモリ（入力用画像メモリ）として、またＭＥＭ−Ｃ６７はコピー用画像バッファ（出力用画像メモリ）、符号バッファとして用いられるメモリである。
【００４０】
ステップＳ３０２で、作像された画像データは、ＡＳＩＣ６６により圧縮され、圧縮された圧縮データがＭＥＭ−Ｐ６２に格納される。ここで画像圧縮する理由は画像圧縮を行う事で限られた画像メモリを有効に利用できるからである。ＭＥＭ−Ｐ６２の画像はＣＰＵ６１からアクセス可能な構成となっている。このためＭＥＭ−Ｐ６２の内容を加工することが可能であり、例えば、画像の圧縮処理、間引き処理、切り出し処理等が行える。加工には、メモリコントローラ６０のレジスタにデータを書き込む事でＭＥＭ−Ｐ６２の処理を行う事ができる。加工された画像は再度ＭＥＭ−Ｐ６２に保持される。
【００４１】
ステップＳ３０３で、ＭＥＭ−Ｐ６２に格納された圧縮データは、蓄積領域であるＨＤＤ６８に転送され格納される。このようにＭＥＭ−Ｐ６２は、多くの画像データを収納するためハードディスクを別に設けることもある。ハードディスクを用いる事により、外部電源が不用で永久的に画像を保持でき、またハードディスクに蓄積された画像データ（圧縮データ）はリモートメンテナンスの為の情報収集等に利用されることもある。
【００４２】
再び図３に戻りステップＳ３０４で、出力時、ＨＤＤ６８に格納された圧縮データは、ＭＥＭ−Ｃ６７に転送され格納される。
【００４３】
ステップＳ３０５で、ＭＥＭ−Ｃ６７に格納された圧縮データは、ＡＳＩＣ６６を経由し圧縮データから画像データに伸張した後で（プリント）エンジン１２０に出力される。
【００４４】
このように本発明に係る画像形成装置１は、圧縮データを蓄積領域から出力用画像メモリに転送する際に伸張せずに、出力用画像メモリからプリントエンジンに出力する際に伸張を行う。印刷処理にあたって、画像データを符号のままハンドリングすることにより、処理すべきデータ量は少なく済むので限られた出力用画像メモリ容量を効率的に利用できる。即ち、画像が符号のままなのでデータ量が少なく、規定時間内に多くの画像の範囲を出力用画像メモリに用意でき、またリソースを取得する回数を減らすことができる。
【００４５】
また、処理すべきデータ量が少ないとシステムリソースの消費を削減できひいては他の動作に対するリソースのバッティングの影響を少なくしシステムとしてのパフォーマンスを向上させることができる。また、他に必要とされるリソースのバッティングや占有時間を短縮でき、ＭＡ動作（マルチアプリ動作）時においても他の処理への影響を軽減できるという効果も期待できる。
【００４６】
（圧縮伸張動作）
図４は、ＡＳＩＣ６６を説明する図である。前述のステップＳ３０２及びステップＳ３０５において、画像データの圧縮及び圧縮データの伸張はＡＳＩＣ６６により行なわれる。
【００４７】
ＡＳＩＣ６６は、画像データの圧縮、圧縮データの伸張に使用する「圧縮・伸張器」、圧縮データの伸張に使用可能な「印刷用伸張器」、エンジンに画像データを転送するための出力口として使用する「画像出力器」を含んで構成される。ＡＳＩＣ６６には、印刷用伸張器が４個、圧縮・伸張器が２個搭載されている。４個ある印刷用伸張器は、圧縮データを出力用画像メモリからエンジン１２０に出力する際に利用し、一方、２個ある圧縮・伸張器は、圧縮データを蓄積領域からメモリに転送する際に利用する。ＣＭＹＫ４色を同時に走らせるためには、２個しかない圧縮・伸張器を使用するのではなく、４個ある印刷用伸張器を使用する必要があるからである。
【００４８】
（各動作詳細）
次に、前述の各動作（ステップ）毎に詳細に説明を行う。
【００４９】
図５は、ステップＳ３０２、Ｓ３０３に関して、画像データを圧縮し蓄積領域（ＨＤＤ６８）に格納するまでを説明する図である。作像された画像データはＭＥＭ−Ｐ６２に展開され、所定のサイズ毎にＡＳＩＣ６６の圧縮・伸張器により圧縮される。圧縮データはMEM-P６２に展開され、ＨＤＤ６８に転送、格納される様子が示されている。
【００５０】
図６は、ステップＳ３０４に関して、蓄積領域（ＨＤＤ６８）に格納された圧縮データが出力用画像メモリ（ＭＥＭ−Ｃ６７）に展開されるまでを説明する図である。例えば、カラー原稿で長尺であると膨大なデータ量になるので（例えば、原稿のサイズが914.4 mm×15000mmの場合2.4ギガバイト）、圧縮した場合でもメモリ上に乗り切らない場合がある。そのため圧縮データ（符号）を特定サイズ毎にメモリ上に分けて持ってくる必要がある。圧縮データは、ＭＥＭ−Ｃ６７の空きエリアや読み取りが完了したエリアに順次転送（展開）される。なお、この転送すべき圧縮データ（容量）は、ＭＥＭ−Ｃ６７のエリアが空いたタイミングで空きエリアサイズから次の圧縮データ（符号）を転送できるかどうかの判断を行なうことも可能である。しかしながら本発明に係る画像形成装置１においては、予め圧縮データのサイズが分かっているので転送時の最初の設定で転送すべき圧縮データの決定を行なう構成とする。これにより、例えば印刷動作中に次の圧縮データを持ってくるかどうかの判断を行なう必要がなくなり、処理中の負担を軽減できる。具体的には、その際転送する圧縮データの数が空きエリアのサイズと圧縮データのサイズとから算出される。圧縮データ（符合）は可変長のサイズであるのでその数を計算する必要があるからである。これについて以下説明する。
【００５１】
図７は、出力用画像メモリへ転送すべき圧縮データの転送数を求めるフローチャートである。これにより、出力用画像メモリ（ＭＥＭ−Ｃ６７）へ転送すべき圧縮データが決定され、出力用画像メモリへの転送制御が行なわれる（転送制御手段）。このフローチャートは、圧縮データをＨＤＤ６８からＭＥＭ−Ｃ６７に転送される際にＩＭＨ４１により実行される。ＩＭＨ４１はプロセスに対するメモリの割り振り及びプロセスに割り振ったメモリの管理を行うイメージメモリハンドラである。この点、また後述する。
【００５２】
ステップＳ７０１において、出力用画像メモリ（ＭＥＭ−Ｃ６７）に転送する圧縮データの「転送数」を変数ａとして、これを「０」に初期化する。
【００５３】
ステップＳ７０２で、出力用画像メモリ（ＭＥＭ−Ｃ６７）に転送可能な圧縮データの「転送データサイズ」を変数ｂとして、これを「０」に初期化する。
【００５４】
ステップＳ７０３で、「展開エリアサイズ」を定数ｃとして、これを取得する。「展開エリアサイズ」は、出力用画像メモリ（ＭＥＭ−Ｃ６７）における展開可能な展開領域容量である。なお、展開エリアのサイズは事前に固定で設定されておりこれを取得する。
【００５５】
ステップＳ７０４で、圧縮データ全体からまず（最初の）１の符号の「圧縮データサイズ」をｘとして、これを取得する。なお、「圧縮データサイズ」は画像データを圧縮したときにＡＳＩＣ６６の圧縮・伸張器からサイズは取得され、そして、ＨＤＤ６８に圧縮データを蓄積する際にサイズもＨＤＤ６８にファイルシステム情報として登録される。従って、圧縮データのサイズを取得する場合そのファイルシステム情報として登録されたサイズを使用すればよい。
【００５６】
ステップＳ７０５で、「転送データサイズ」に前ステップ取得の「圧縮データ」を加算する（ｂ＋ｘ）。
【００５７】
ステップＳ７０６で、「展開エリアサイズ」は「転送データサイズ」より大きいか否かを判定する（ｃ＞ｂ？）。この判定処理はいくつの圧縮データを１度に転送可能であるかを判定するもので、「転送データサイズ」が「展開エリアサイズ」を超えない限りさらなる圧縮データを追加して転送可能であるので、この場合ステップＳ７０７に進む。
【００５８】
ステップＳ７０７に進むと、「転送数」に１加算する（ａ＋１）。
【００５９】
再びステップＳ７０４に戻り、次なる１の符号の「圧縮データサイズ」をｘとして、これを取得する。そしてステップＳ７０５で、「転送データサイズ」に前ステップ取得の「圧縮データ」を加算する（ｂ＋ｘ）し、再度ステップＳ７０６で、「展開エリアサイズ」は「転送データサイズ」より大きいか否かを判定する。ここで、「転送データサイズ」が「展開エリアサイズ」を超える場合は、これ以上圧縮データを追加できないので、この場合ステップＳ７０８に進む。
【００６０】
ステップＳ７０８で、「転送数」に１減算する（ａ―１）。超えた圧縮データ分を取消すためである。
【００６１】
ステップＳ７０９で、「転送数」は「０」より大きいか否か判定する（ａ＞０？）。転送数がない場合転送できないからである。
【００６２】
ステップＳ７１０で、「転送数」分の圧縮データを転送回数と対応付ける。例えば、「転送数」（ａ＝３）の場合、１回目に出力用画像メモリ（ＭＥＭ−Ｃ６７）に転送可能な圧縮データの転送数は「３」とする。
【００６３】
ステップＳ７１１で、圧縮データの残（未処理）はあるかどうかの判定を行なう。ある場合には再度ステップＳ７０１に戻り処理を繰り返す。なお、ステップＳ７０３は既に取得済みであるので省略できる。そして再びステップＳ７１０に進んだ場合、例えば、「転送数」（ａ＝４）の場合、２回目に出力用画像メモリ（ＭＥＭ−Ｃ６７）に転送可能な圧縮データの転送数は「４」とする。
【００６４】
図８は、転送する圧縮データが決定された様子を示す図である。この例では、圧縮データは１１符合を有し、前述のフローチャート、１回目で転送数３、２回目で転送数３、３回目で転送数３、４回目で転送数２として、転送回数とそのときの符号の転送数が決定されたことが示されている。また図９は、符号が順次処理される様子を示す図の一例である。ＨＤＤ６８に格納された圧縮データ（符号）は各符号のサイズが確定しているため、読み出す回数毎に同一メモリ（出力用画像メモリ）に展開する場所（アドレス）を事前に設定することができるようになる。なお、ここは符号順から転送数と表現したが、符号順からの転送数から、転送回数と対応する符号番号（符号を識別するもの）を特定することもできる。
【００６５】
以上、このようにして本発明に係る画像形成装置１においては、転送時の最初の設定で転送すべき圧縮データの決定を行なう。
【００６６】
そして、１回目の圧縮データの転送を行い、次の２回目の転送を行なうタイミングは、色々に設定可能であるが一例として、１回目の圧縮データがＡＳＩＣ６６の印刷用伸張器に送られて展開エリアが空いたタイミングである。圧縮データを展開エリアに転送する毎に展開エリアサイズ（定数ｃ）から転送したデータのサイズを減算しておき、圧縮データをＡＳＩＣ６６の画像出力器から１つ出力し終わる度にＩＭＨ４１になされる割込通知が発生した時に、出力済みの圧縮データのサイズも通知されるため、定数ｃからそのサイズを加算する。２回目以降はその増減した定数ｃ値を転送を行なうタイミングに使用すればよい。
【００６７】
図１０は、圧縮データの読み出しからプリントエンジンに出力までを説明する図である。「開始」の位置から圧縮データの集合の読み取りを開始し、矢印方向に圧縮データを読み出す。読み出した圧縮データは、ＡＳＩＣ６６の印刷用伸張器（圧縮・伸張器）を使用して伸張された後、画像出力器に出力される。圧縮データの集合の最後まで読み出しが完了した時は、圧縮データ補充された後、再度「開始」から読み取りを開始する。
【００６８】
（処理の進捗管理）
図１１は、ＩＭＨの出力処理の進捗管理を説明する図である。前述したように、ＩＭＨ４１はプロセスに対するメモリの割り振り及びプロセスに割り振ったメモリの管理を行うイメージメモリハンドラである。ＡＳＩＣ６６は、圧縮データをＡＳＩＣ６６の画像出力器から１つ出力し終わる度にＩＭＨ４１に割込通知するので、ＩＭＨ４１はこれを受けて蓄積領域（ＨＤＤ６８）から出力用画像メモリ（ＭＥＭ−Ｃ６７）への転送制御を行なう。この転送制御において転送（補充）タイミングが問題となるが、例えば、１回目の圧縮データの転送を行った後、次の２回目の転送を行なうタイミングは１回目の圧縮データがＡＳＩＣ６６の印刷用伸張器に送られて展開エリアが空いたタイミングである。前述したように、圧縮データを展開エリアに展開する毎に展開エリアサイズ（定数ｃ）から展開したデータのサイズを減算しておき、圧縮データをＡＳＩＣ６６画像出力器から１つ出力し終わる度にＩＭＨ４１になされる割込通知が発生した時に、出力済みの圧縮データのサイズも通知されるため、定数ｃからそのサイズを加算する。２回目以降はその増減した定数ｃ値を転送を行なうタイミングに使用すればよい。
【００６９】
図１２は、ＩＭＨの出力処理の進捗管理（変形例１）を説明する図である。図に示されるように、出力用画像メモリ（ＭＥＭ−Ｃ６７）は２つ用意されており、処理中にもう一方のメモリに補充を行なうようにすることで処理をより高速、効率的に行うことができる。
【００７０】
図１３は、ＩＭＨの出力処理の進捗管理（変形例２）を説明する図である。図に示されるように、ＩＭＨ４１は処理時間に応じて蓄積領域（ＨＤＤ６８）から出力用画像メモリ（ＭＥＭ−Ｃ６７）への転送制御を行なうこともできる。具体的には、例えば符号の処理速度を５０ＭＢ／ｓｅｃ、ＨＤＤ６８の転送速度を１００ＭＢ／ｓｅｃとした場合、ＨＤＤ６８の転送速度を５０ＭＢ／ｓｅｃ分の余裕があるのでその分を他の処理に割り振りができる。また、図１３の場合（複数の出力用画像メモリを有する構成）において、転送時間に応じて複数の出力用画像メモリに対して転送（補充）タイミングを決定するとよい。
【００７１】
このように本発明に係る画像形成装置１は、圧縮データを蓄積領域から出力用画像メモリに転送する際に伸張せずに、出力用画像メモリからプリントエンジンに出力する際に伸張を行う。印刷処理にあたって、画像データを符号のままハンドリングすることにより、処理すべきデータ量は少なく済むので限られた出力用画像メモリ容量を効率的に利用できる。即ち、画像が符号のままなのでデータ量が少なく、規定時間内に多くの画像の範囲を出力用画像メモリに用意でき、またリソースを取得する回数を減らすことができる。
【００７２】
従って、出力すべき画像データを符号のままハンドリングして印刷処理効率を向上させる画像形成装置、画像データ転送方法、及びプログラムを提供することが可能となる。なお、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００７３】
【図１】本発明による融合機の一実施形態の構成図を示す。
【図２】本発明による融合機の一実施形態のハードウェア構成図を示す。
【図３】画像データ入出力時のデータフローを説明する図である。
【図４】ＡＳＩＣ６６を説明する図である。
【図５】画像データを圧縮し蓄積領域に格納するまでを説明する図である。
【図６】蓄積領域に格納された圧縮データが出力用画像メモリに展開されるまでを説明する図である。
【図７】出力用画像メモリへ転送すべき圧縮データの転送数を求めるフローチャートである。
【図８】転送する圧縮データが決定された様子を示す図である。
【図９】符号が順次処理される様子を示す図の一例である。
【図１０】Ｉ圧縮データの読み出しからプリントエンジンに出力までを説明する図である。
【図１１】ＩＭＨの出力処理の進捗管理を説明する図である。
【図１２】ＩＭＨの出力処理の進捗管理（変形例１）を説明する図である。
【図１３】ＩＭＨの出力処理の進捗管理（変形例２）を説明する図である。
【符号の説明】
【００７４】
１        画像形成装置
４１        ＩＭＨ
６２        ＭＥＭ−Ｐ
６６        ＡＳＩＣ
６７        ＭＥＭ−Ｃ
６８        ＨＤＤ
１２０    エンジン
【図１】
2010124236.tif 000003
【図２】
2010124236.tif 000004
【図３】
2010124236.tif 000005
【図４】
2010124236.tif 000006
【図５】
2010124236.tif 000007
【図６】
2010124236.tif 000008
【図７】
2010124236.tif 000009
【図８】
2010124236.tif 000010
【図９】
2010124236.tif 000011
【図１０】
2010124236.tif 000012
【図１１】
2010124236.tif 000013
【図１２】
2010124236.tif 000014
【図１３】
2010124236.tif 000015