(57)【特許請求の範囲】
【請求項１】
画像データに画像処理を施す複数のアプリケーションプログラムが動作する上で必要な領域であり、前記アプリケーションプログラムの動作状態に関わらず常に設けられるワーク領域と、前記アプリケーションプログラムにより処理された処理画像データを一時的に記憶する描画メモリ領域と、が設けられる記憶手段と、
前記記憶手段内において前記描画メモリ領域として使用可能な記憶容量を検出する検出手段と、
前記検出された記憶容量に基づいて、全ての前記アプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保することができるか否かを判断する判断手段と、
前記全てのアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域が確保できないと判断された場合、前記全てのアプリケーションプログラムのうち、少なくとも、他の前記アプリケーションプログラムに優先して動作する前記アプリケーションプログラムである動作アプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保する第１確保手段と、
前記検出された記憶容量から前記動作アプリケーションプログラムの予め定められた記憶容量を差し引いた値に応じて、前記他のアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保する第２確保手段と、を備え、
前記第１確保手段は、前記画像処理装置の起動時に、前記全てのアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域が確保できないと判断された場合、前記検出された記憶容量の全ての領域を、前記画像処理装置の起動に伴い優先的に起動する前記動作アプリケーションプログラムの前記描画メモリ領域として確保する、
ことを特徴とする画像処理装置。
【請求項２】
前記第１確保手段は、前記動作アプリケーションプログラムの切り替えが行われた場合、切り替え前の前記動作アプリケーションプログラムに確保されていた前記描画メモリ領域を、切り替え後の前記動作アプリケーションプログラムの前記描画メモリ領域として確保することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２確保手段は、前記他のアプリケーションプログラムのうち、予め定められた記憶容量が小さい前記アプリケーションプログラムから順に前記描画メモリ領域を確保することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記第２確保手段は、前記他のアプリケーションプログラムのうち、起動回数が多い前記アプリケーションプログラムから順に前記描画メモリ領域を確保することを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
前記第２確保手段は、前記他のアプリケーションプログラムのうち、前記描画メモリ領域を既に確保した前記アプリケーションプログラムと同時に動作することが好ましい前記アプリケーションプログラムの前記描画メモリ領域を確保することを特徴とする請求項１から４のいずれか一に記載の画像処理装置。
【請求項６】
画像データに画像処理を施す複数のアプリケーションプログラムが動作する上で必要な領域であり、前記アプリケーションプログラムの動作状態に関わらず常に設けられるワーク領域と、前記アプリケーションプログラムにより処理された処理画像データを一時的に記憶する描画メモリ領域と、が設けられる記憶手段を備えた画像処理装置を制御するコンピュータを、
前記記憶手段内において前記描画メモリ領域として使用可能な記憶容量を検出する検出手段と、
前記検出された記憶容量に基づいて、全ての前記アプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保することができるか否かを判断する判断手段と、
前記全てのアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域が確保できないと判断された場合、前記全てのアプリケーションプログラムのうち、少なくとも、他の前記アプリケーションプログラムに優先して動作する前記アプリケーションプログラムである動作アプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保する第１確保手段と、
前記検出された記憶容量から前記動作アプリケーションプログラムの予め定められた記憶容量を差し引いた値に応じて、前記他のアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保する第２確保手段と、として機能させ、
前記第１確保手段は、前記画像処理装置の起動時に、前記全てのアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域が確保できないと判断された場合、前記検出された記憶容量の全ての領域を、前記画像処理装置の起動に伴い優先的に起動する前記動作アプリケーションプログラムの前記描画メモリ領域として確保するプログラム。
【請求項７】
前記第１確保手段は、前記動作アプリケーションプログラムの切り替えが行われた場合、切り替え前の前記動作アプリケーションプログラムに確保されていた前記描画メモリ領域を、切り替え後の前記動作アプリケーションプログラムの前記描画メモリ領域として確保する請求項６に記載のプログラム。
【請求項８】
前記第２確保手段は、前記他のアプリケーションプログラムのうち、予め定められた記憶容量が小さい前記アプリケーションプログラムから順に前記描画メモリ領域を確保する請求項６または７に記載のプログラム。
【請求項９】
前記第２確保手段は、前記他のアプリケーションプログラムのうち、起動回数が多い前記アプリケーションプログラムから順に前記描画メモリ領域を確保する請求項６または７に記載のプログラム。
【請求項１０】
前記第２確保手段は、前記他のアプリケーションプログラムのうち、前記描画メモリ領域を既に確保した前記アプリケーションプログラムと同時に動作することが好ましい前記アプリケーションプログラムの前記描画メモリ領域を確保する請求項６から９のいずれか一に記載のプログラム。
【請求項１１】
画像処理装置で実行される画像処理方法であって、
前記画像処理装置は、画像データに画像処理を施す複数のアプリケーションプログラムが動作する上で必要な領域であり、前記アプリケーションプログラムの動作状態に関わらず常に設けられるワーク領域と、前記アプリケーションプログラムにより処理された処理画像データを一時的に記憶する描画メモリ領域と、が設けられる記憶手段を備え、
検出手段が、前記記憶手段内において前記描画メモリ領域として使用可能な記憶容量を検出する工程と、
判断手段が、前記検出された記憶容量に基づいて、全ての前記アプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保することができるか否かを判断する工程と、
第１確保手段が、前記全てのアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域が確保できないと判断された場合、前記全てのアプリケーションプログラムのうち、少なくとも、他の前記アプリケーションプログラムに優先して動作する前記アプリケーションプログラムである動作アプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保する工程と、
第２確保手段が、前記検出された記憶容量から前記動作アプリケーションプログラムの予め定められた記憶容量を差し引いた値に応じて、前記他のアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保する工程と、を有し、
前記第１確保手段は、前記画像処理装置の起動時に、前記全てのアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域が確保できないと判断された場合、前記検出された記憶容量の全ての領域を、前記画像処理装置の起動に伴い優先的に起動する前記動作アプリケーションプログラムの前記描画メモリ領域として確保する、
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、プログラム、および画像処理方法に関する。
【背景技術】
【０００２】
画像形成装置は、文書データやプログラムデータ等の各種データを記憶するメモリ内に、出力する画像データを展開する描画メモリ領域を有し、当該描画メモリ領域に展開された画像データを出力することで画像形成動作を実現している。特に、プリンタ、コピー、スキャナなどの複数のハードウェアが１つにまとめられた複合機においては、メモリ内に各ハードウェアを制御するアプリケーションプログラムごとに描画メモリ領域が設けられている。そのため、複合機は、各アプリケーションプログラムについて十分な描画メモリ領域を確保するために、大容量のメモリを搭載しなければならなかった。
【０００３】
このような問題を解決するものとして、メモリの使用効率を向上させることができるメモリ管理装置が開示されている（特許文献１参照）。特許文献１にかかるメモリ管理装置では、実行される機能に応じてランダム・アクセス・メモリ内の各メモリ・ブロックの割付けを変更することにより、メモリの使用効率を向上させることができる。
【０００４】
【特許文献１】特開平０３−１９７０６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載された技術では、各メモリ・ブロックの割付けを変更できるものの、プリンタが有する各アプリケーションの動作状態によらず、メモリ内に全てのアプリケーションプログラムの描画メモリ領域が設けられる。そのため、プリンタが搭載するメモリの記憶容量が少ない場合、全てのアプリケーションプログラムに割付けられる描画メモリ領域が減少する。よって、アプリケーションプログラムが処理するデータ量に対して描画メモリ領域が十分でない場合、画像データの出力に時間がかかったり、画像データを出力できない等の問題が発生する。
【０００６】
本発明は、上記に鑑みてなされたものであって、少ない記憶容量でも十分な記憶容量を有する装置と同等の性能を発揮することができる画像処理装置、プログラム、および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、画像データに画像処理を施す複数のアプリケーションプログラムが動作する上で必要な領域であり、前記アプリケーションプログラムの動作状態に関わらず常に設けられるワーク領域と、前記アプリケーションプログラムにより処理された処理画像データを一時的に記憶する描画メモリ領域と、が設けられる記憶手段と、前記記憶手段内において前記描画メモリ領域として使用可能な記憶容量を検出する検出手段と、前記検出された記憶容量に基づいて、全ての前記アプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保することができるか否かを判断する判断手段と、前記全てのアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域が確保できないと判断された場合、前記全てのアプリケーションプログラムのうち、少なくとも、他の前記アプリケーションプログラムに優先して動作する前記アプリケーションプログラムである動作アプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保する第１確保手段と、前記検出された記憶容量から前記動作アプリケーションプログラムの予め定められた記憶容量を差し引いた値に応じて、前記他のアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保する第２確保手段と、を備え、前記第１確保手段は、前記画像処理装置の起動時に、前記全てのアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域が確保できないと判断された場合、前記検出された記憶容量の全ての領域を、前記画像処理装置の起動に伴い優先的に起動する前記動作アプリケーションプログラムの前記描画メモリ領域として確保する、ことを特徴とする。
【０００９】
また、請求項２にかかる発明は、請求項１にかかる発明において、前記第１確保手段は、前記動作アプリケーションプログラムの切り替えが行われた場合、切り替え前の前記動作アプリケーションプログラムに確保されていた前記描画メモリ領域を、切り替え後の前記動作アプリケーションプログラムの前記描画メモリ領域として確保することを特徴とする。
【００１１】
また、請求項３にかかる発明は、請求項１または２にかかる発明において、前記第２確保手段は、前記他のアプリケーションプログラムのうち、予め定められた記憶容量が小さい前記アプリケーションプログラムから順に前記描画メモリ領域を確保することを特徴とする。
【００１２】
また、請求項４にかかる発明は、請求項１または２にかかる発明において、前記第２確保手段は、前記他のアプリケーションプログラムのうち、起動回数が多い前記アプリケーションプログラムから順に前記描画メモリ領域を確保することを特徴とする。
【００１３】
また、請求項５にかかる発明は、請求項１から４のいずれか一にかかる発明において、前記第２確保手段は、前記他のアプリケーションプログラムのうち、前記描画メモリ領域を既に確保した前記アプリケーションプログラムと同時に動作することが好ましい前記アプリケーションプログラムの前記描画メモリ領域を確保することを特徴とする。
【００１４】
また、請求項６にかかる発明は、画像データに画像処理を施す複数のアプリケーションプログラムが動作する上で必要な領域であり、前記アプリケーションプログラムの動作状態に関わらず常に設けられるワーク領域と、前記アプリケーションプログラムにより処理された処理画像データを一時的に記憶する描画メモリ領域と、が設けられる記憶手段を備えた画像処理装置を制御するコンピュータを、前記記憶手段内において前記描画メモリ領域として使用可能な記憶容量を検出する検出手段と、前記検出された記憶容量に基づいて、全ての前記アプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保することができるか否かを判断する判断手段と、前記全てのアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域が確保できないと判断された場合、前記全てのアプリケーションプログラムのうち、少なくとも、他の前記アプリケーションプログラムに優先して動作する前記アプリケーションプログラムである動作アプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保する第１確保手段と、前記検出された記憶容量から前記動作アプリケーションプログラムの予め定められた記憶容量を差し引いた値に応じて、前記他のアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保する第２確保手段と、として機能させ、前記第１確保手段は、前記画像処理装置の起動時に、前記全てのアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域が確保できないと判断された場合、前記検出された記憶容量の全ての領域を、前記画像処理装置の起動に伴い優先的に起動する前記動作アプリケーションプログラムの前記描画メモリ領域として確保する。
【００１６】
また、請求項７にかかる発明は、請求項６にかかる発明において、前記第１確保手段は、前記動作アプリケーションプログラムの切り替えが行われた場合、切り替え前の前記動作アプリケーションプログラムに確保されていた前記描画メモリ領域を、切り替え後の前記動作アプリケーションプログラムの前記描画メモリ領域として確保する。
【００１８】
また、請求項８にかかる発明は、請求項６または７にかかる発明において、前記第２確保手段は、前記他のアプリケーションプログラムのうち、予め定められた記憶容量が小さい前記アプリケーションプログラムから順に前記描画メモリ領域を確保する。
【００１９】
また、請求項９にかかる発明は、請求項６または７にかかる発明において、前記第２確保手段は、前記他のアプリケーションプログラムのうち、起動回数が多い前記アプリケーションプログラムから順に前記描画メモリ領域を確保する。
【００２０】
また、請求項１０にかかる発明は、請求項６から９のいずれか一にかかる発明において、前記第２確保手段は、前記他のアプリケーションプログラムのうち、前記描画メモリ領域を既に確保した前記アプリケーションプログラムと同時に動作することが好ましい前記アプリケーションプログラムの前記描画メモリ領域を確保する。
【００２１】
また、請求項１１にかかる発明は、画像処理装置で実行される画像処理方法であって、前記画像処理装置は、画像データに画像処理を施す複数のアプリケーションプログラムが動作する上で必要な領域であり、前記アプリケーションプログラムの動作状態に関わらず常に設けられるワーク領域と、前記アプリケーションプログラムにより処理された処理画像データを一時的に記憶する描画メモリ領域と、が設けられる記憶手段を備え、検出手段が、前記記憶手段内において前記描画メモリ領域として使用可能な記憶容量を検出する工程と、判断手段が、前記検出された記憶容量に基づいて、全ての前記アプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保することができるか否かを判断する工程と、第１確保手段が、前記全てのアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域が確保できないと判断された場合、前記全てのアプリケーションプログラムのうち、少なくとも、他の前記アプリケーションプログラムに優先して動作するアプリケーションプログラムである動作アプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保する工程と、第２確保手段が、前記検出された記憶容量から前記動作アプリケーションプログラムの予め定められた記憶容量を差し引いた値に応じて、前記他のアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域を前記記憶手段内に確保する工程と、を有し、前記第１確保手段は、前記画像処理装置の起動時に、前記全てのアプリケーションプログラムの予め定められた記憶容量の前記描画メモリ領域が確保できないと判断された場合、前記検出された記憶容量の全ての領域を、前記画像処理装置の起動に伴い優先的に起動する前記動作アプリケーションプログラムの前記描画メモリ領域として確保することを特徴とする。
【発明の効果】
【００２２】
本発明によれば、アプリケーションプログラムにより処理された処理画像データを一時的に記憶する描画メモリ領域として使用可能な記憶容量を検出し、検出された記憶容量に基づいて、全てのアプリケーションプログラムの予め定められた記憶容量の描画メモリ領域を記憶手段内に確保することができるか否かを判断し、全てのアプリケーションプログラムの予め定められた記憶容量の描画メモリ領域を確保できないと判断された場合、少なくとも他のアプリケーションプログラムに優先して動作する動作アプリケーションプログラムの予め定められた記憶容量の描画メモリ領域を記憶手段内に確保し、検出された記憶容量から動作アプリケーションプログラムの予め定められた記憶容量を差し引いた値に応じて他のアプリケーションプログラムの予め定められた記憶容量の描画メモリ領域を記憶手段内に確保することにより、記憶手段の記憶容量が少ない場合でも、少なくとも動作アプリケーションプログラムに十分な記憶容量の描画メモリ領域を確保することができるので、少ない記憶容量でも十分な記憶容量を有する装置と同等の性能を発揮することができる、という効果を奏する。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、この発明にかかる画像処理装置、プログラム、および画像処理方法の最良な実施の形態を詳細に説明する。以下の実施の形態では、本発明の画像処理装置を複合機に適用した例を示す。但し、複合機に限られず、ファクシミリ、スキャナ機能やコピー、ファックス、プリンタなどの画像処理を行うものであれば、本発明を適用することができる。
【００２４】
（第１の実施の形態）
図１は、本発明の第１の実施の形態にかかる複合機の構成を示すブロック図である。本実施の形態にかかる複合機１０１は、大別すると、コントローラ１０２、操作パネル１０４、プリンタエンジン１１３、およびスキャナエンジン１１８を備える。また、本実施の形態にかかる複合機１０１は、各種データ等を送受信するホスト１０３およびネットワーク１１５と接続されている。
【００２５】
操作パネル１０４は、複合機１０１の状態を示す表示部、および複合機１０１のモード、フォント等を切替えるスイッチ部からなる。また、蓄積された文書の一覧画面を表示し、選択した文書の印刷や消去を指示する。また、操作パネル１０４は、複合機１０１のモードおよびフォントの切り替え、文書の印刷や消去の指示等を設定する制御信号をコントローラ１０２に出力する。
【００２６】
コントローラ１０２は、操作パネル１０４、ホスト１０３、もしくはネットワーク１１５からの制御信号にしたがって、ホスト１０３もしくはスキャナエンジン１１８からの印字データ（本発明にかかる画像データ）を、ビデオデータ（本発明にかかる処理画像データ）に変換し、当該ビデオデータを示すビデオ信号および制御信号をプリンタエンジン１１３へ出力する制御機構の総称である。
【００２７】
プリンタエンジン１１３は、コントローラ１０２からのビデオ信号および制御信号により感光体上に静電潜像を作り、現像し、また給紙部より転写紙を給紙し、転写および定着し、画像を形成する。
【００２８】
スキャナエンジン１１８は、コントローラ１０２からの制御信号により原稿を読み取り、読み取った画像を印字データに変換してコントローラ１０２に入力する。
【００２９】
次に、本実施の形態にかかるコントローラ１０２の詳細な構成について説明する。本実施の形態にかかるコントローラ１０２は、ホストＩ／Ｆ１０５、プログラムＲＯＭ（Read Only Memory）１０６、フォントＲＯＭ１０７、パネルＩ／Ｆ１０８、ＣＰＵ（Central Processing Unit）１０９、ＲＡＭ（Random Access Memory）１１０、ＮＶ（Non Volatile）−ＲＡＭ１１１、プリンタエンジンＩ／Ｆ１１２、スキャナエンジンＩ／Ｆ１１４、ネットワークＩ／Ｆ１１６等のようなモジュールで構成されている。なお、コントローラ１０２を構成する各モジュールは、バス１１７で接続されている。
【００３０】
ホストＩ／Ｆ１０５は、ホスト１０３から複合機１０１への制御信号およびデータ、および複合機１０１からホスト１０３へのステータス信号のインターフェイスである。ネットワークＩ／Ｆ１１６は、ネットワーク１１５から複合機１０１への制御信号およびデータ、および複合機１０１からネットワーク１１５へのステータス信号のインターフェイスである。
【００３１】
パネルＩ／Ｆ１０８は、操作パネル１０４からコントローラ１０２への制御信号のインターフェイスである。プリンタエンジンＩ／Ｆ１１２は、コントローラ１０２からプリンタエンジン１１３への制御信号やビデオ信号、およびプリンタエンジン１１３からコントローラ１０２へのステータス信号のインターフェイスである。スキャナエンジンＩ／Ｆ１１４は、コントローラ１０２からスキャナエンジン１１８への制御信号、およびスキャナエンジン１１８からコントローラ１０２へのデータおよびステータス信号のインターフェイスである。フォントＲＯＭ１０７は、印字に使用されるさまざまな種類のフォントを有する。
【００３２】
ＮＶ−ＲＡＭ１１１は、電源を切っても保持したいデータを格納しておく為の不揮発性ＲＡＭである。
【００３３】
ＲＡＭ（本発明にかかる記憶手段）１１０は、電源を切ってしまうとデータが消えてしまう揮発性の記憶デバイスであり、ＣＰＵ１０９が処理するときのワークメモリ、ホストからのデータをページ単位に管理して一時的に記憶するバッファ、およびバッファに記憶されたデータを実際の印字パターンに変換し、ビデオデータを記憶するビットマップメモリ等に使用される。本実施の形態にかかるＲＡＭ１１０は、印字データに画像処理を施す複数のアプリケーションプログラム（以下、アプリプログラムとする）により処理されたビデオデータを一時的に記憶する描画メモリ領域として使用可能な記憶手段である。また、本実施の形態にかかるＲＡＭ１１０は、アプリプログラムが動作する上で必要なワーク領域としても使用される。なお、各アプリプログラムのワーク領域は、アプリプログラムの動作状態に関わらず、常に設けられる。なお、ＲＡＭ１１０は、少なくとも他のアプリプログラムに優先して動作するアプリプログラム（以下、動作アプリプログラムとする）の予め定められた記憶容量の描画メモリ領域を設けることができる記憶容量を有しているものとする。
【００３４】
図２は、本実施の形態にかかるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。図２に示すように、本実施の形態にかかるＲＡＭ１１０内の領域は、アプリプログラムＡおよびアプリプログラムＢのワーク領域２０１〜２０２と、アプリプログラムＡおよびアプリプログラムＢにより処理されたビデオデータを一時的に記憶する描画メモリ領域２０３〜２０４と、に大別される。
【００３５】
プログラムＲＯＭ１０６は、この発明の記憶媒体を実施するものであり、コントローラ内でのデータの処理、管理や、周辺モジュールを制御するためのプログラムが格納されている。
【００３６】
図３は、プログラムＲＯＭに格納されたアプリプログラムの構成を示すブロック図である。本実施の形態のプログラムＲＯＭ１０６には、システムプログラム３０１、コピーアプリプログラム３０２、スキャナーアプリプログラム３０３、プリンタアプリプログラム３０４、およびその他のアプリプログラム３０５が格納されている。
【００３７】
コピーアプリプログラム３０２、スキャナーアプリプログラム３０３、プリンタアプリプログラム３０４、およびその他のアプリプログラム３０５は、複合機１０１が備えるプリンタエンジン１１３、スキャナエンジン１１８等のハードウェアの動作を制御するプログラムである。
【００３８】
システムプログラム３０１は、複合機１０１が起動した場合に、ＮＶ−ＲＡＭ１１１に格納されたデータに基づいて、優先して動作するハードウェアを選択する。さらに、システムプログラム３０１は、ＲＡＭ１１０内の各種アプリプログラム３０２〜３０５に確保する描画メモリ領域の割合を決定し、ハードウェアが動作する環境をセットアップする。
【００３９】
なお、本実施の形態の複合機１０１で実行されるプログラムは、プログラムＲＯＭ１０６に予め組み込まれて提供されるものとしたがこれに限るものではない。例えば、プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００４０】
さらに、本実施の形態の複合機１０１で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でＮＶ−ＲＡＭ１１１にダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の複合機１０１で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００４１】
ＣＰＵ１０９は、複合機１０１の主要部であって各部を集中的に制御するものであり、プログラムＲＯＭ１０６に記憶されているプログラムにしたがって、ホスト１０３からのデータ（印字データ、制御信号）等の処理を実施する。
【００４２】
このシステム全体の動作を制御するＣＰＵ１０９は、このシステムの主記憶装置として使用されるＮＶ−ＲＡＭ１１１に上にロードされたプログラムに基づいて各種処理を実行する。
【００４３】
次に、複合機１０１のＮＶ−ＲＡＭ１１１にインストールされているシステムプログラム３０１がＣＰＵ１０９に実行させる機能のうち、本実施の形態の複合機１０１が備える特長的な機能について説明する。
【００４４】
図４は、本実施の形態にかかる複合機の機能構成を示すブロック図である。図４に示すように、本実施の形態にかかる複合機１０１は、システムプログラム３０１に従うことにより、検出部４０１、判断部４０２、第１確保部４０３、および第２確保部４０４を実現する。
【００４５】
検出部４０１は、ＲＡＭ１１０の描画メモリ領域として使用可能な記憶容量を検出する。アプリプログラムのワーク領域は、上述したように、アプリプログラムの動作状態に関わらず、常に設けられる。そのため、本実施の形態にかかる検出部４０１は、ＲＡＭ１１０の記憶容量からワーク領域２０１〜２０２の記憶容量を差し引いた値を、描画メモリ領域として使用可能な記憶容量の情報（以下、残容量情報とする）として検出する。そして、検出部４０１は、残容量情報をＮＶ−ＲＡＭ１１１に格納する。なお、ＲＡＭ１１０の記憶容量の情報およびワーク領域２０１〜２０２の記憶容量の情報は、予めプログラムＲＯＭ１０６またはＮＶ−ＲＡＭ１１に格納されているものとする。
【００４６】
判断部４０２は、検出部４０１により検出された記憶容量に基づいて、全てのアプリプログラムの予め定められた記憶容量の描画メモリ領域をＲＡＭ１１０内に確保することができるか否かを判断する。本実施の形態では、各アプリプログラムの予め定められた記憶容量を示す情報（以下、要求容量情報とする）が、各アプリプログラム名と対応付けてプログラムＲＯＭ１０６またはＮＶ−ＲＡＭ１１１に予めデータとして記憶されているものとする。したがって、判断部４０２は、プログラムＲＯＭ１０６またはＮＶ−ＲＡＭ１１１に記憶された全てのアプリプログラムの要求容量情報が示す記憶容量の合計と、ＮＶ−ＲＡＭ１１１に格納された残容量情報が示す記憶容量と、を比較して、全てのアプリプログラムの予め定められた記憶容量の描画メモリ領域をＲＡＭ１１０内に確保できるか否かを判断する。
【００４７】
第１確保部４０３は、全てのアプリプログラムの予め定められた記憶容量の描画メモリ領域を確保できないと判断された場合、少なくとも動作アプリプログラムの予め定められた記憶容量の描画メモリ領域をＲＡＭ１１０内に確保する。本実施の形態では、プログラムＲＯＭ１０６またはＮＶ−ＲＡＭ１１１に記憶された動作アプリプログラムの要求容量情報が示す記憶容量の描画メモリ領域をＲＡＭ１１０内に確保する。
【００４８】
第２確保部４０４は、検出部４０１により検出された記憶容量から動作アプリプログラムの予め定められた記憶容量を差し引いた値に応じて他のアプリプログラムの予め定められた記憶容量の描画メモリ領域をＲＡＭ１１０内に確保する。本実施の形態では、アプリプログラムの描画メモリ領域が確保されると、描画メモリ領域が確保されていないアプリプログラムの要求容量情報が示す記憶容量の描画メモリ領域を、残りの記憶容量で確保できるか否かを判断する。
【００４９】
具体的には、ＮＶ−ＲＡＭ１１１に格納された残容量情報が示す記憶容量から、描画メモリ領域を確保したアプリプログラムの要求容量情報が示す記憶容量を差し引いた値（以下、空き容量とする）を算出する。次いで、第２確保部４０４は、算出した空き容量と、プログラムＲＯＭ１０６またはＮＶ−ＲＡＭ１１１に記憶された描画メモリ領域が確保されていないアプリプログラムの要求容量情報が示す記憶容量と、を比較して、当該アプリプログラムの描画メモリ領域を確保することができるか否かを判断する。なお、第２確保部４０４は、アプリプログラムの描画メモリ領域を確保する度に、空き容量を算出し、算出した空き容量を示す情報（以下、空き容量情報とする）をＮＶ−ＲＡＭ１１１に格納する。
【００５０】
第２確保部４０４は、描画メモリ領域が確保されていないアプリプログラムの描画メモリ領域を確保することができると判断した場合、上述した処理と同様にして、描画メモリ領域を既に確保したアプリプログラム以外の他のアプリプログラムの要求容量情報が示す記憶容量の描画メモリ領域を確保する。
【００５１】
次に、図５を用いて、複合機１０１の起動時における描画メモリ領域の確保処理について説明する。図５は、複合機の起動時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【００５２】
まず、検出部４０１は、ＲＡＭ１１０の描画メモリ領域として使用可能な記憶容量を検出する（ステップＳ５０１）。判断部４０２は、検出された記憶容量に基づいて、全てのアプリプログラムの予め定められた記憶容量の描画メモリ領域を確保することができるか否かを判断する（ステップＳ５０２）。そして、全てのアプリプログラムの予め定められた記憶容量の描画メモリ領域を確保することができると判断された場合には（ステップＳ５０２：Ｙｅｓ）、従来と同様にして全てのアプリプログラムの描画メモリ領域を確保する（ステップＳ５０９）。
【００５３】
一方、全てのアプリプログラムの予め定められた記憶容量の描画メモリ領域を確保することができないと判断された場合（ステップＳ５０２：Ｎｏ）、第１確保部４０３は、複合機１０１が起動した場合、複合機１０１の起動に伴い優先的に動作するアプリプログラムの描画メモリ領域を、動作アプリプログラムの描画メモリ領域として確保する（ステップＳ５０３）。本実施の形態では、アプリプログラムの要求容量情報が示す記憶容量の描画メモリ領域を確保する。
【００５４】
また、第１確保部４０３は、複合機１０１の起動に伴い優先的に動作するアプリプログラムの描画メモリ領域が確保されると、確保した描画メモリ領域の情報（以下、領域情報とする）をＮＶ−ＲＡＭ１１１に格納する（ステップＳ５０４）。ここで、領域情報とは、ＲＡＭ１１０内の各アプリプログラムの描画メモリ領域の場所（例えば、番地、アドレス等）を示す情報である。動作アプリプログラムは、ＮＶ−ＲＡＭ１１１に格納された領域情報を参照して、ビデオデータを描画メモリ領域に展開する。
【００５５】
図６は、従来のＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。従来は、図６（ｂ）に示すように、ＲＡＭ１１０の記憶容量が図６（ａ）に示すアプリプログラムＢの描画メモリ領域２０４分少ない場合、各アプリプログラムの動作状態に関わらず、各アプリプログラムの描画メモリ領域を減少させて、常に全てのアプリプログラムの描画メモリ領域６０１、６０２を確保していた。そのため、アプリプログラムに確保された描画メモリ領域が処理するデータ量に対して十分でない場合、ビデオデータの出力に時間がかかったり、ビデオデータを出力できない等の問題が発生する。
【００５６】
そこで、本実施の形態では、図７（ｂ）に示すように、ＲＡＭ１１０の記憶容量が図７（ａ）に示すアプリプログラムＢの描画メモリ領域２０４分少ない場合、動作しないアプリプログラムＢの描画メモリ領域を確保せず、アプリプログラムＡにのみ描画メモリ領域７０１を確保する。これにより、ＲＡＭ１１０の記憶容量が少ない場合においても、アプリプログラムに対して十分な描画メモリ領域を確保することができる。図７は、本実施の形態にかかるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。
【００５７】
そして、複合機１０１の起動に伴い優先的に動作するアプリプログラムの描画メモリ領域が確保されると、第２確保部４０４は、複合機１０１の起動に伴い優先的に動作するアプリプログラム以外の他のアプリプログラムの要求容量情報が示す記憶容量の描画メモリ領域を、残りの記憶容量で確保できるか否かを判断する（ステップＳ５０５）。
【００５８】
他のアプリプログラムの描画メモリ領域を確保することができると判断した場合（ステップＳ５０５：Ｙｅｓ）、第２確保部４０４は、他のアプリプログラムの要求容量情報が示す記憶容量の描画メモリ領域を確保する（ステップＳ５０６）。次いで、第２確保部４０４は、確保した描画メモリ領域の領域情報をＮＶ−ＲＡＭ１１１に格納する(ステップＳ５０７)。
【００５９】
そして、第２確保部４０４は、全てのアプリプログラムの描画メモリ領域が確保されたか否かを判断する（ステップＳ５０８）。未だ描画メモリ領域が確保されていないアプリプログラムがある場合には（ステップＳ５０８：Ｎｏ）、第２確保部４０４は、ステップＳ５０５〜ステップＳ５０７の処理を繰り返す。一方、全てのアプリプログラムの描画メモリ領域が確保された場合には（ステップＳ５０８：Ｙｅｓ）、アプリプログラムの描画メモリ領域の確保処理を終了する。
【００６０】
なお、他のアプリプログラムの描画メモリ領域を確保できないと判断された場合には（ステップＳ５０５：Ｎｏ）、他のアプリプログラムの描画メモリ領域の確保は行わず処理を終了する。若しくは、検出部４０１により検出されたメモリ領域をアプリプログラムに確保する処理を最初からやり直すことにより、より有効にＲＡＭ１１０上のメモリ領域を利用するようにしてもよい。
【００６１】
次に、図８を用いて、アプリプログラムの切替時の描画メモリ領域の確保処理について説明する。図８は、アプリ切替時の描画メモリ領域の確保処理の手順を示すフローチャートである。
【００６２】
まず、アプリプログラムの切り替えが行われた場合、第１確保部４０３は、切り替えるアプリプログラムの描画メモリ領域が確保されているか否かを判断する（ステップＳ８０１）。本実施の形態では、切り替えるアプリプログラムの領域情報がＮＶ−ＲＡＭ１１１に格納されているか否かにより、切り替えるアプリプログラムの描画メモリ領域が確保されているか否かを判断する。
【００６３】
そして、第１確保部４０２は、切り替えるアプリプログラムの描画メモリ領域が確保されていない場合（ステップＳ８０１：Ｎｏ）、切り替え以前のアプリプログラムの描画メモリ領域を開放する（ステップＳ８０２）。なお、切り替えるアプリプログラムの描画メモリ領域が確保されている場合（ステップＳ８０１：Ｙｅｓ）、アプリプログラムの切り替えは行われず処理は終了する。
【００６４】
ここで、開放とは、切り替え以前のアプリプログラムにより処理が施されて描画メモリ領域にロードされているビデオデータを消去して、それらが占有していたＲＡＭ１１０上の描画メモリ領域を開放することを言う。
【００６５】
描画メモリ領域の開放が行われると、第１確保部４０３は、描画メモリ領域を開放したアプリプログラムの領域情報をクリアする（ステップＳ８０３）。本実施の形態では、ＮＶ−ＲＡＭ１１１に格納された領域情報を消去することにより、領域情報のクリアを実行する。
【００６６】
さらに、第１確保部４０３は、切り替えるアプリプログラムの描画メモリ領域を、動作アプリプログラムの描画メモリ領域として確保する（ステップＳ８０４）。本実施の形態では、切り替えるアプリプログラムの要求容量情報が示す記憶容量の描画メモリ領域を確保する。
【００６７】
図９は、本実施の形態にかかるＲＡＭの使用状態を示すメモリマップの一例を示す説明図である。例えば、図９に示すように、アプリプログラムがアプリプログラムＡからアプリプログラムＢへと切り替わった場合、アプリプログラムＡに描画メモリ領域７０１を確保せず、切り替えるアプリプログラムＢにのみ描画メモリ領域９０１を確保する。これにより、ＲＡＭ１１０の記憶容量が少ない場合でも、アプリプログラムの切り替えに応じて、切り替えるアプリプログラムに十分な描画メモリ領域を確保することができる。
【００６８】
次いで、第１確保部４０３は、切り替えるアプリプログラムに描画メモリ領域が確保されると、確保した描画メモリ領域の領域情報をＮＶ−ＲＡＭ１１１に格納する（ステップＳ８０５）。なお、領域情報の格納は、上述した処理（ステップＳ５０４）と同様であるため、ここでは説明を省略する。
【００６９】
そして、第２確保部４０４は、切り替えるアプリプログラムの描画メモリ領域が確保されると、複合機１０１の起動時と同様に、切り替えるアプリプログラム以外の他のアプリプログラムの要求容量情報が示す記憶容量の描画メモリ領域を確保する（ステップＳ８０６〜ステップＳ８０９）。なお、ステップＳ８０６〜ステップＳ８０９に示す処理は、上述したステップＳ５０５〜ステップＳ５０８に示す処理と同様であるため、ここでは説明を省略する。
【００７０】
このように、本実施の形態にかかる複合機１０１によれば、ＲＡＭ１１０の記憶容量が少ない場合でも、少なくとも動作アプリプログラムに十分な記憶容量の描画メモリ領域を確保することができるので、少ない記憶容量でも十分な記憶容量を有する装置と同等の性能を発揮することができる。
【００７１】
（第２の実施の形態）
第２の実施の形態について、添付図面を参照して説明する。なお、本実施に形態にかかる複合機の機能、構成は、第１の実施の形態とほぼ同一であるため、第１の実施の形態と異なる部分のみを説明する。本実施の形態にかかる複合機は、描画メモリ領域として使用できる記憶容量の描画メモリ領域を、複数のアプリプログラムの中の動作アプリプログラムの描画メモリ領域として確保する。
【００７２】
第１確保部４０３は、判断部４０２により検出された記憶容量で全てのアプリプログラムの描画メモリ領域を確保できないと判断された場合、検出された記憶容量の描画メモリ領域を動作アプリプログラムの描画メモリ領域として確保する。なお、動作アプリプログラムの描画メモリ領域のみを確保する処理以外は、第１の実施の形態と同様であるため、ここでは説明を省略する。
【００７３】
まず、図１０を用いて、複合機１０１の起動時における描画メモリ領域の確保処理について説明する。なお、ステップＳ１００３以外の処理は、第１の実施の形態と同様である。図１０は、複合機の起動時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【００７４】
第１確保部４０３は、判断部４０２により全てのアプリプログラムの描画メモリ領域を確保できないと判断された場合（ステップＳ１００２：Ｎｏ）、検出された記憶容量の描画メモリ領域を複合機１０１の起動に伴い優先的に動作するアプリプログラムの描画メモリ領域として確保する（ステップＳ１００３）。
【００７５】
図１１は、本実施の形態にかかるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。図１１（ａ）に示すように、本実施の形態にかかるＲＡＭ１１０が有するメモリ領域は、アプリプログラムがＮ個存在する場合に、各アプリプログラム１〜Ｎのワーク領域１１０１と、アプリプログラム１〜Ｎの描画メモリ領域１１０２と、に大別される。第１確保部４０３は、複合機１０１が全てのアプリプログラム１〜Ｎの描画メモリ領域を確保できるＲＡＭ１１０を搭載している場合、図１１（ａ）に示すように、全てのアプリプログラム１〜Ｎの描画メモリ領域１１０２を確保する。そのため、アプリプログラムが処理するデータ量に対して描画メモリ領域が十分でない場合、ビデオデータの出力に時間がかかったり、ビデオデータを出力できない等の問題が発生する。
【００７６】
そこで、本実施の形態では、ＲＡＭ１１０の記憶容量が少ない場合、図１１（ｂ）に示すように、複合機１０１の起動に伴い優先的に動作するアプリプログラム以外の他のアプリプログラム２〜Ｎの描画メモリ領域を確保せず、複合機１０１の起動に伴い優先的に動作するアプリプログラム１の描画メモリ領域１１０３のみを確保する。これにより、ＲＡＭ１１０の記憶容量が少ない場合でも、複合機１０１の起動に伴い優先的に動作するアプリプログラムに対して十分な描画メモリ領域を確保することができる。
【００７７】
次に、図１２を用いて、アプリプログラムの切替時における描画メモリ領域の確保処理について説明する。なお、ステップＳ１２０１およびステップＳ１２０３に示す処理は、第１の実施の形態と同様である。図１２は、アプリ切替時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【００７８】
第１確保部４０３は、切り替えるアプリプログラムに描画メモリ領域が確保されていない場合（ステップＳ１２０１：Ｎｏ）、検出された記憶容量の描画メモリ領域を切り替えるアプリプログラムの描画メモリ領域として確保する（ステップＳ１２０２）。
【００７９】
例えば、図１３に示すように、動作アプリプログラムがアプリプログラム１からアプリプログラム２．．．Ｎのいずれか１つに切り替わった場合、アプリプログラム１の描画メモリ領域１１０３として確保されていた全てのメモリ領域を、切り替えるアプリプログラム２．．．Ｎのいずれかの１つの描画メモリ領域１３０１として確保する。これにより、複数のアプリプログラムを有する場合であっても、各アプリプログラムの動作時に当該アプリプログラムに十分な描画メモリ領域を確保することができる。図１３は、アプリ切替時におけるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。
【００８０】
このように、本実施の形態にかかる複合機１０１によれば、複数のアプリプログラムを有する場合であっても、動作アプリプログラムに出来る限り大きい記憶容量の描画メモリ領域を確保することができるので、少ない記憶容量でも十分な記憶容量を有する装置と同等の性能を発揮することができる。
【００８１】
（第３の実施の形態）
第３の実施の形態について、添付図面を参照して説明する。なお、本実施の形態にかかる複合機の機能、構成は、第１の実施の形態とほぼ同一であるため、第１の実施の形態と異なる部分のみを説明する。第１〜２の実施の形態にかかる複合機によれば、各アプリプログラムに対して最大限の描画メモリ領域を確保することができるが、動作アプリプログラムが切り替わったときに、描画メモリ領域の開放が行われるため、アプリプログラムの切り替えに時間がかかるという問題がある。
【００８２】
そこで、本実施の形態にかかる複合機は、動作アプリプログラム以外の他のアプリプログラムの描画メモリ領域を確保する際に、要求容量情報が示す記憶容量が少ないアプリプログラムから順に描画メモリ領域を確保する。これにより、動作アプリプログラム以外の他のアプリプログラムの描画メモリ領域を可能な限り多く確保することができる。そのため、アプリプログラムの切り替えが生じたときに、切り替わるアプリプログラムの描画メモリ領域が既に確保されている可能性が高くなり、描画メモリ領域の切り替えにかかる時間を短縮することができる。
【００８３】
第２確保部４０４は、動作アプリプログラム以外の他のアプリプログラムのうち、要求容量情報が示す記憶容量が小さいアプリプログラムから順に描画メモリ領域を確保する。図１４は、要求容量情報が示す記憶容量が大きい順にアプリプログラムを並べたテーブルを示す図である。本実施の形態では、図１４に示すテーブルがプログラムＲＯＭ１０６またはＮＶ−ＲＡＭ１１１に予めデータとして記憶されているものとする。したがって、第２確保部４０４は、プログラムＲＯＭ１０６またはＮＶ−ＲＡＭ１１１に記憶されたテーブルに基づいて、要求容量情報が示す記憶容量が小さいアプリプログラムから順に描画メモリ領域を確保する。
【００８４】
また、第２確保部４０４は、アプリプログラムの描画メモリ領域を確保するたびに、ＮＶ−ＲＡＭ１１１に格納された空き容量情報を更新する。本実施の形態では、プログラムＲＯＭ１０６またはＮＶ−ＲＡＭ１１１に記憶されたテーブルから、描画メモリ領域を確保したアプリプログラムと対応付けて記憶される要求容量情報を特定する。そして、第２確保部４０４は、ＮＶ−ＲＡＭ１１１に格納された空き容量情報が示す記憶容量から特定した要求容量情報が示す記憶容量を差し引いた値により、ＮＶ−ＲＡＭ１１１に格納した残容量情報を更新する。
【００８５】
まず、図１５を用いて、複合機１０１が起動した時の描画メモリ領域を確保する処理について説明する。なお、ステップＳ１５０１〜ステップＳ１５０３、ステップＳ１５０５、ステップＳ１５０８〜ステップＳ１５０９、ステップＳ１５１１、およびステップＳ１５１４に示す処理は、第１の実施の形態と同様である。図１５は、複合機の起動時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【００８６】
第１確保部４０３は、複合機１０１の起動に伴い優先的に動作するアプリプログラムの描画メモリ領域が確保されると、ＮＶ−ＲＡＭ１１１に格納された空き容量情報を更新する（ステップＳ１５０４）。空き容量情報が更新されると、第１確保部４０３は、描画メモリ領域を確保したアプリプログラムの領域情報をＮＶ−ＲＡＭ１１１に格納する（ステップＳ１５０５）。さらに、複合機１０１に起動に伴い優先的に動作するアプリプログラム以外の他のアプリプログラムのうち、要求容量情報が示す記憶容量が小さいアプリプログラムから順に描画メモリ領域を確保する処理を開始する（ステップＳ１５０６）。
【００８７】
まず、第２確保部４０４は、次に描画メモリ領域を確保するアプリプログラムが動作アプリプログラムか否かを判断する（ステップＳ１５０７）。本実施の形態では、次に描画メモリ領域を確保するアプリプログラムの領域情報がＮＶ−ＲＡＭ１１１に格納されているか否かにより当該アプリプログラムが動作アプリプログラムか否かを判断する。
【００８８】
そして、描画メモリ領域を確保しようとするアプリプログラムが動作アプリプログラムである場合（ステップＳ１５０７：Ｙｅｓ）または要求容量情報が示す記憶容量が小さいアプリプログラムの領域情報が格納された場合（ステップＳ１５１１）、第２確保部４０４は、次に要求容量情報が示す記憶容量が小さいアプリプログラムがあるか否かを判断する（ステップＳ１５１２）。次に要求容量情報が示す記憶容量が小さいアプリプログラムがある場合（ステップＳ１５１２：Ｙｅｓ）、第２確保部４０４は、当該アプリプログラムを、次に描画メモリ領域を確保するアプリプログラムの候補に設定し（ステップＳ１５１３）、ステップＳ１５０７の処理に戻る。本実施の形態では、図１４に示すテーブルに含まれるアプリプログラムにフラグをたてることにより、次に描画メモリ領域を確保する候補を設定する。なお、次に要求容量情報が示す記憶容量が小さいアプリプログラムがない場合（ステップＳ１５１２：Ｎｏ）、アプリプログラムの描画メモリ領域を確保する処理は終了する。
【００８９】
一方、描画メモリ領域を確保しようとするアプリプログラムが動作アプリプログラムでない場合（ステップＳ１５０７：Ｎｏ）、第２確保部４０４は、残りの記憶容量で当該アプリプログラムの描画メモリ領域を確保できるか否かを判断する（ステップＳ１５０８）。本実施の形態では、ＮＶ−ＲＡＭ１１１に格納された空き容量情報が示す記憶容量と、図１４に示すフラグが立てられたアプリプログラムの要求容量情報が示す記憶容量と、を比較することにより、当該アプリプログラムの描画メモリ領域を確保できるか否かを判断する。
【００９０】
そして、残りの記憶容量で、描画メモリ領域を確保しようとするアプリプログラムの描画メモリ領域を確保できないと判断された場合（ステップＳ１５０８：Ｎｏ）、描画メモリ領域を確保する処理は終了する。一方、残りの記憶容量で、描画メモリ領域を確保しようとするアプリプログラムの描画メモリ領域を確保できると判断された場合（ステップＳ１５０８：Ｙｅｓ）、第２確保部４０４は、当該アプリプログラムの描画メモリ領域を確保する（ステップＳ１５０９）。そして、第２確保部４０４、ステップＳ１５０４と同様にしてＮＶ−ＲＡＭ１１１に格納された空き容量情報を更新する（ステップＳ１５１０）。
【００９１】
次に、図１６を用いて、アプリプログラムの切替時における描画メモリ領域の確保処理について説明する。なお、ステップＳ１６０１〜ステップＳ１６０５に示す処理は、第１の実施の形態と同様である。また、ステップＳ１６０６〜ステップＳ１６１３に示す処理は、図１５に示すステップＳ１５０６〜ステップＳ１５１３に示す処理と同様である。図１６は、アプリ切替時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【００９２】
図１７は、本実施の形態にかかるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。図１７（ａ）に示すように、本実施の形態にかかるＲＡＭ１１０が有するメモリ領域は、アプリプログラムがＮ個存在する場合に、各アプリプログラム１〜Ｎのワーク領域１７０１と、アプリプログラム１〜Ｎにより処理されたビデオデータを展開する描画メモリ領域１７０２と、に大別される。複合機１０１が全てのアプリプログラム１〜Ｎの要求容量情報が示す記憶容量を確保できるＲＡＭ１１０を搭載している場合には、図１７（ａ）に示すように、全てのアプリプログラム１〜Ｎの描画メモリ領域１７０２を確保する。
【００９３】
しかし、第１確保部４０３および第２確保部４０４は、ＲＡＭ１１０の記憶容量が少ない場合、図１７（ｂ）に示すように、複合機１０１の起動に伴い優先的に動作するアプリプログラム１の描画メモリ領域１７０３、および要求容量情報が示す記憶容量が小さいアプリプログラムＮ〜Ｎ−１の描画メモリ領域１７０４を確保する。
【００９４】
また、図１７（ｃ）に示すように、動作アプリプログラムがアプリプログラム１からアプリプログラム２に切り替わった場合、第１確保部４０３は、アプリプログラム１の描画メモリ領域１７０３を開放し、アプリプログラム２の描画メモリ領域１７０５およびアプリプログラムＮ−２の描画メモリ領域１７０６を確保する。そのため、アプリプログラムＮおよびアプリプログラムＮ−１の描画メモリ領域１７０４を開放する必要がなくなる。
【００９５】
このように、本実施の形態にかかる複合機１０１によれば、ＲＡＭ１１０の記憶容量が少ない場合でも、動作アプリプログラムに対して十分な記憶容量の描画メモリ領域を確保することができ、かつ可能な限り多くのアプリプログラムに十分な記憶容量の描画メモリ領域を確保することができるので、アプリプログラムが切り替わった場合の描画メモリ領域の入れ替えを最小限に抑えることができる。
【００９６】
（第４の実施の形態）
第４の実施の形態について、添付図面を参照して説明する。なお、本実施の形態にかかる複合機の機能、構成は、第３の実施の形態とほぼ同一であるため、第３の実施の形態と異なる部分のみを説明する。第３の実施の形態にかかる複合機によれば、動作アプリプログラム以外の他のアプリプログラムの描画メモリ領域を可能な限り多く確保することができるが、描画メモリ領域を確保したアプリプログラムが必ずしも使用頻度の高いアプリプログラムであるとは限らない。そのため、アプリプログラムが切り替わったときに、アプリプログラムの切り替えに時間がかかるという問題がある。
【００９７】
そこで、本実施の形態にかかる複合機は、動作アプリプログラム以外の他のアプリプログラムの描画メモリ領域を確保する際に、起動回数が多いアプリプログラムから順に描画メモリ領域を確保する。これにより、常に、動作する可能性が高いアプリプログラムに十分な記憶容量の描画メモリ領域を確保することができる。そのため、アプリプログラムの切り替えが生じたときに、切り替わるアプリプログラムの描画メモリ領域が既に確保されている可能性が高くなり、描画メモリ領域の切り替えにかかる時間を短縮することができる。
【００９８】
第２確保部４０４は、動作アプリプログラム以外の他のアプリプログラムのうち、起動回数が多いアプリプログラムから順に描画メモリ領域を確保する。図１８は、起動回数が多い順にアプリプログラムを並べたテーブルを示す図である。本実施の形態では、図１８に示すテーブルがＮＶ−ＲＡＭ１１１に予めデータとして記憶されているものとする。したがって、第２確保部４０４は、ＮＶ−ＲＡＭ１１１に記憶されたテーブルに基づいて、起動回数が多いアプリプログラムから順に描画メモリ領域を確保する。
【００９９】
また、第２確保部４０４は、動作アプリプログラムが切り替わるたびに、図１８に示すテーブルに含まれる当該アプリプログラムの起動回数をインクリメントする。さらに、第２確保部４０４は、起動回数のインクリメントによりアプリプログラム間の順位に変動が生じた場合、アプリプログラムの順位の並び替えを行うことにより、図１８に示すテーブルを更新する。
【０１００】
まず、図１９を用いて、複合機１０１の起動時における描画メモリ領域の確保処理について説明する。なお、ステップＳ１９０１〜ステップＳ１９０５、およびステップＳ１９０７〜ステップＳ１９１１に示す処理は、第３の実施の形態と同様である。図１９は、複合機の起動時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【０１０１】
第２確保部４０４は、複合機１０１の起動に伴い優先的に動作するアプリプログラムの領域情報がＮＶ−ＲＡＭ１１１に格納されると、複合機１０１の起動に伴い優先的に動作するアプリプログラム以外の他のアプリプログラムのうち、起動回数が多いアプリプログラムから順に描画メモリ領域を確保する処理を開始する（ステップＳ１９０６）。
【０１０２】
また、第２確保部４０４は、残りの記憶容量で、描画メモリ領域を確保しようとするアプリプログラムの描画メモリ領域を確保できないと判断された場合（ステップＳ１９０８：Ｎｏ）、当該アプリプログラムの次に起動回数が多いアプリプログラムが存在するか否かを判断する（ステップＳ１９１２）。本実施の形態では、図１８に示すテーブルにおける各アプリプログラムの順位に基づいて、次に起動回数が多いアプリプログラムが存在するか否かを判断する。そして、最下位のアプリプログラムの場合（ステップＳ１９１２：Ｎｏ）、描画メモリ領域の確保処理を終了する。
【０１０３】
一方、次に起動回数が多いアプリプログラムが存在すると判断された場合（ステップＳ１９１２：Ｙｅｓ）、次に描画メモリ領域を確保しようとするアプリプログラムが動作アプリプログラムである場合（ステップＳ１９０７：Ｙｅｓ）、または起動回数の多いアプリプログラムの領域情報がＮＶ−ＲＡＭ１１１に格納された場合（ステップＳ１９１１）、第２確保部４０４は、次に起動回数が多いアプリプログラムを、描画メモリ領域を確保するアプリプログラムの候補に設定し（ステップＳ１９１３）、ステップＳ１９０７の処理に戻る。
【０１０４】
次に、図２０を用いて、アプリプログラムの切替時における描画メモリ領域の確保処理について説明する。なお、ステップＳ２００１〜ステップＳ２００５に示す処理は、第３の実施の形態と同様である。ステップＳ２００６〜ステップＳ２０１３に示す処理は、図１９に示すステップＳ１９０６〜ステップＳ１９１３に示す処理と同様である。図２０は、アプリ切替時におけるメモリ領域の確保処理の手順の示すフローチャートである。
【０１０５】
図２１は、本実施の形態にかかるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。図２１（ａ）に示すように、本実施の形態にかかるＲＡＭ１１０が有するメモリ領域は、アプリプログラムがＮ個存在する場合に、各アプリプログラム１〜Ｎのワーク領域２１０１と、アプリプログラム１〜Ｎにより処理されたビデオデータを展開する描画メモリ領域２１０２と、に大別される。複合機１０１が全てのアプリプログラム１〜Ｎが要求する描画メモリ領域を確保できるＲＡＭ１１０を搭載している場合には、図２１（ａ）に示すように、全てのアプリプログラム１〜Ｎの描画メモリ領域２１０２を確保する。
【０１０６】
しかし、第１確保部４０３および第２確保部４０４は、ＲＡＭ１１０の記憶容量が少ない場合、図２１（ｂ）に示すように、複合機１０１の起動に伴い優先的に動作するアプリプログラム１の描画メモリ領域２１０３、および起動回数がアプリプログラム１に次いで多いアプリプログラム２およびアプリプログラム３の描画メモリ領域２１０４を確保する。
【０１０７】
また、図２１（ｃ）に示すように、動作アプリプログラムがアプリプログラム１からアプリプログラムＮに切り替わった場合、第１確保部４０３および第２確保部４０４は、アプリプログラム２およびアプリプログラム３の描画メモリ領域２１０４を開放し、アプリプログラムＮの描画メモリ領域２１０５およびアプリプログラム１の描画メモリ領域２１０３を確保する。そのため、使用頻度が高いアプリプログラム１の描画メモリ領域２１０３を開放する必要がなくなる。
【０１０８】
このように、本実施の形態にかかる複合機１０１によれば、ＲＡＭ１１０の記憶容量が少ない場合でも、動作アプリプログラムに対して十分な記憶容量の描画メモリ領域を確保することができ、かつ使用頻度が高いアプリプログラムに対しても十分な記憶容量の描画メモリ領域を確保することができるので、アプリプログラムが切り替わった場合の描画メモリ領域の入れ替えを最小限に抑えることができる。
【０１０９】
（第５の実施の形態）
第５の実施の形態について、添付図面を参照して説明する。なお、本実施の形態にかかる複合機の機能、構成は、第３〜４の実施の形態とほぼ同一であるため、第３〜４の実施の形態と異なる部分のみを説明する。第３〜４の実施の形態にかかる複合機によれば、動作アプリプログラム以外の他のアプリプログラムの描画メモリ領域を可能な限り多く確保または使用頻度の高いアプリプログラムの描画メモリ領域を確保することができる。しかし、描画メモリ領域を確保したアプリプログラムが動作アプリプログラムと同時に描画メモリ領域を確保することが好ましいアプリプログラムであるとは限らない。
【０１１０】
そこで、本実施の形態にかかる複合機は、動作アプリプログラムと同時に描画メモリ領域を確保することが好ましいアプリプログラムの描画メモリ領域を確保する。これにより、描画メモリ領域を確保することができたアプリプログラム同士は並行して同時に動作することが可能となり、かつ各アプリプログラムに十分な記憶容量の描画メモリ領域を確保することができるため、描画処理に悪影響を及ぼすことを防止できる。
【０１１１】
第２確保部４０４は、動作アプリプログラム以外の他のアプリプログラムのうち、描画メモリ領域を既に確保したアプリプログラムと同時に動作することが好ましいアプリプログラムの描画メモリ領域を確保する。図２２は、同時に動作することが好ましいアプリプログラムのグループの一例を示す図である。本実施の形態では、図２２に示すテーブルがＮＶ−ＲＡＭ１１１に予めデータとして記憶されているものとする。したがって、第２確保部４０４は、ＮＶ−ＲＡＭ１１１に記憶されたテーブルに基づいて、動作アプリプログラムと同時に動作することが好ましいアプリプログラムの描画メモリ領域を確保する。
【０１１２】
なお、図２２に示すテーブルにおいては、グループ間においてアプリプログラムが重複していないが、グループ間においてアプリプログラムが重複していてもよい。その場合、予めグループ間に優先順位を定めておくものとする。そして、動作アプリプログラムが複数のグループに属している場合、優先順位が高いグループに従って、動作アプリプログラム以外の他のアプリプログラムの描画メモリ領域の確保処理を行うものとする。
【０１１３】
まず、図２３を用いて、複合機１０１の起動時における描画メモリ領域の確保処理について説明する。なお、ステップＳ２３０１〜ステップＳ２３０５、およびステップＳ２３０９〜ステップＳ２３１３に示す処理は、第３〜４の実施の形態と同様である。図２３は、複合機の起動時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【０１１４】
第２確保部４０４は、複合機１０１の起動に伴い優先的に動作するアプリプログラムの領域情報がＮＶ−ＲＡＭ１１１に格納されると、複合機１０１の起動に伴い優先的に動作するアプリプログラムと同時に動作することが好ましいアプリプログラムがあるか否かをチェックする（ステップＳ２３０６）。そして、複合機１０１の起動に伴い優先的に動作するアプリプログラムと同時に動作することが好ましいアプリプログラムがない場合（ステップＳ２３０７：Ｎｏ）、描画メモリ領域の確保処理を終了する。
【０１１５】
一方、複合機１０１の起動に伴い優先的に動作するアプリプログラムと同時に動作することが好ましいアプリプログラムがある場合（ステップＳ２３０７：Ｙｅｓ）、第２確保部４０４は、当該アプリプログラムを候補に設定し（ステップＳ２３０８）、候補に設定されたアプリプログラムの描画メモリ領域を、残りの記憶容量で確保することができるか否かを判断する（ステップＳ２３０９）。
【０１１６】
また、複合機１０１の起動に伴い優先的に動作するアプリプログラムが属するグループに未だ描画メモリ領域が確保されていないアプリプログラムが存在する場合（ステップＳ２３１３：Ｙｅｓ）、第２確保部４０４は、未だ描画メモリ領域が確保されていない当該アプリプログラムを、描画メモリ領域が確保可能か否かを判断する候補に設定し（ステップＳ２３１４）、ステップＳ２３０９の処理に戻る。
【０１１７】
次に、図２４を用いて、アプリプログラムの切替時における描画メモリ領域の確保処理について説明する。なお、ステップＳ２４０１〜ステップＳ２４０５に示す処理は、第３〜４の実施の形態と同様である。ステップＳ２４０６〜ステップＳ２４１４に示す処理は、図２３に示すステップＳ２３０６〜ステップＳ２３１４に示す処理と同様である。図２４は、アプリ切替時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【０１１８】
図２５は、本実施の形態にかかるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。図２５（ａ）に示すように、本実施の形態にかかるＲＡＭ１１０が有するメモリ領域は、アプリプログラムがＮ個存在する場合に、各アプリプログラム１〜Ｎのワーク領域２５０１と、アプリプログラム１〜Ｎにより処理されたビデオデータを展開する描画メモリ領域２５０２と、に大別される。複合機１０１が全てのアプリプログラム１〜Ｎが要求する描画メモリ領域を確保できるＲＡＭ１１０を搭載している場合には、図２５（ａ）に示すように、全てのアプリプログラム１〜Ｎの描画メモリ領域２５０２を確保する。
【０１１９】
しかし、第１確保部４０３および第２確保部４０４は、ＲＡＭ１１０の記憶容量が少ない場合、図２５（ｂ）に示すように、複合機１０１の起動に伴い優先的に動作するアプリプログラム１の描画メモリ領域２５０３、およびアプリプログラム１と同じグループに属するアプリプログラム５およびアプリプログラム６の描画メモリ領域２５０４を確保する。
【０１２０】
また、図２５（ｃ）に示すように、動作アプリプログラムがアプリプログラム１からアプリプログラム２に切り替わった場合、第１確保部４０３および第２確保部４０４は、アプリプログラム５およびアプリプログラム６の描画メモリ領域２５０４を開放する。そして、第１確保部４０３および第２確保部４０４は、切り替え後のアプリプログラムであるアプリプログラム２の描画メモリ領域２５０５、およびアプリプログラム２と同じグループに属するアプリプログラム３の描画メモリ領域２５０６を確保する。
【０１２１】
このように、本実施の形態にかかる複合機１０１によれば、ＲＡＭ１１０の記憶容量が少ない場合でも、動作アプリプログラムに対して十分な記憶容量の描画メモリ領域を確保することができ、かつ動作アプリプログラムと同時に動作することが好ましいアプリプログラム（図２２に示すテーブルにおいて同じグループに属するアプリプログラム）に対しても十分な記憶容量の描画メモリ領域を確保することができるので、複数のアプリプログラムによる処理を並行して実行することができる。
【図面の簡単な説明】
【０１２２】
【図１】本発明の第１の実施の形態にかかる複合機の構成を示すブロック図である。
【図２】第１の実施の形態にかかるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。
【図３】プログラムＲＯＭに格納されたアプリプログラムの構成を示すブロック図である。
【図４】第１の実施の形態にかかる複合機の機能構成を示すブロック図である。
【図５】複合機の起動時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【図６】従来のＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。
【図７】第１の実施の形態にかかるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。
【図８】アプリ切替時の描画メモリ領域の確保処理の手順を示すフローチャートである。
【図９】第１の実施の形態にかかるＲＡＭの使用状態を示すメモリマップの一例を示す説明図である。
【図１０】複合機の起動時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【図１１】第２の実施の形態にかかるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。
【図１２】アプリ切替時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【図１３】第２の実施の形態にかかるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。
【図１４】要求容量情報が示す記憶容量が大きい順にアプリプログラムを並べたテーブルを示す図である。
【図１５】複合機の起動時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【図１６】アプリ切替時における描画メモリ領域の確保処理の手順の示すフローチャートである。
【図１７】第３の実施の形態にかかるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。
【図１８】起動回数が多い順にアプリプログラムを並べたテーブルを示す図である。
【図１９】複合機の起動時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【図２０】アプリ切替時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【図２１】第４の実施の形態にかかるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。
【図２２】同時に動作することが好ましいアプリプログラムのグループの一例を示す図である。
【図２３】複合機の起動時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【図２４】アプリ切替時における描画メモリ領域の確保処理の手順を示すフローチャートである。
【図２５】第５の実施の形態にかかるＲＡＭの使用状態を表現するメモリマップの一例を示す説明図である。
【符号の説明】
【０１２３】
１０１  複合機
１０２  コントローラ
１０３  ホスト
１０４  操作パネル
１０５  ホストＩ／Ｆ
１０６  プログラムＲＯＭ
１０７  フォントＲＯＭ
１０８  パネルＩ／Ｆ
１０９  ＣＰＵ
１１０  ＲＡＭ
１１１  ＮＶ−ＲＡＭ
１１２  プリンタエンジンＩ／Ｆ
１１３  プリンタエンジン
１１４  スキャナエンジンＩ／Ｆ
１１５  ネットワーク
１１６  ネットワークＩ／Ｆ
１１７  バス
１１８  スキャナエンジン
３０１  システムプログラム
３０２  コピーアプリプログラム
３０３  スキャナーアプリプログラム
３０４  プリンタアプリプログラム
３０５  その他のアプリプログラム
４０１  検出部
４０２  判断部
４０３  第１確保部
４０４  第２確保部
【図１】
0004886718.tif 000002
【図２】
0004886718.tif 000003
【図３】
0004886718.tif 000004
【図４】
0004886718.tif 000005
【図５】
0004886718.tif 000006
【図６】
0004886718.tif 000007
【図７】
0004886718.tif 000008
【図８】
0004886718.tif 000009
【図９】
0004886718.tif 000010
【図１０】
0004886718.tif 000011
【図１１】
0004886718.tif 000012
【図１２】
0004886718.tif 000013
【図１３】
0004886718.tif 000014
【図１４】
0004886718.tif 000015
【図１５】
0004886718.tif 000016
【図１６】
0004886718.tif 000017
【図１７】
0004886718.tif 000018
【図１８】
0004886718.tif 000019
【図１９】
0004886718.tif 000020
【図２０】
0004886718.tif 000021
【図２１】
0004886718.tif 000022
【図２２】
0004886718.tif 000023
【図２３】
0004886718.tif 000024
【図２４】
0004886718.tif 000025
【図２５】
0004886718.tif 000026