説明

電子機器、電子機器におけるメモリー管理方法及びプログラム

【課題】外部記憶媒体が電子機器に挿着されたことに伴い外部記憶媒体から読み込んでメモリーに格納すべき画像特定情報の格納領域をメモリーに効率よく割り当てることができる電子機器、電子機器におけるメモリー管理方法及びプログラムを提供する。
【解決手段】カード(外部記憶媒体)の挿入を検出すると(S10で肯定判定)、先行カードがなく(S20で否定判定)、かつ複合機が動作中でなければ(S30で肯定判定)、カードにアクセスして格納画像枚数をカウントアップする(S40)。次に、その格納画像枚数からカード情報の格納に必要なプールの容量を取得する(S50)。モニターの画面をクローズ(S60)した後、前記容量に基づいてメモリーに対してプールの再割当を行い(S70)、その再割当てされたプールに情報を格納する(S80)。その後、カード検出完了画面、カード情報の画面表示を順次行う(S90,S100)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリーを備え、当該メモリーに外部記憶媒体のデータを格納するための格納領域を確保する機能を有する電子機器、電子機器におけるメモリー管理方法及びプログラムに関する。
【背景技術】
【0002】
例えば特許文献1には、外部記憶媒体の一例としてのメモリーカードから読み込んだデータを装置内のメモリー(RAM)に格納する画像形成装置(電子機器)が開示されている。この画像形成装置は、スロットに挿入されたメモリーカードに格納された画像のファイルの中からユーザーが選択した画像を印刷できるようになっていた。例えばメモリーカードのスロットへの挿入が検出されると、メモリーカードに格納されたうちの所定数(例えば999個)の画像ファイルのファイル情報及びパス情報を読み込んで、装置内のメモリーに記憶するようになっていた。このとき、メモリーには、所定数(例えば999個)分のファイル情報及びパス情報(以下、総称して「カード情報」(画像特定情報)という)を格納することのできる記憶容量をもつファイルリストプール及びファイルツリープール(以下、これらを総称して「カード情報保存用プール」という)が作成され、カード情報はカード情報保存用プールに格納されるようになっていた。すなわち、カード情報保存用プールは、所定数分のカード情報を格納可能な記憶容量をもつ固定長のメモリープールとなっていた。特に特許文献1では、所定数(例えば999個)よりも多くの画像数分(例えば9990個分)のカード情報を格納可能な記憶容量をもつユニバーサルプールがメモリーに作成され、先頭から999個よりも後の画像についてもユニバーサルプールのカード情報に基づきLCDに表示できるようになっていた。このユニバーサルプールは、その後、画像ファイルの記憶や編集等の他の処理に利用できるように開放され、先頭から999個よりも後の画像の一時的なカード情報はその都度消去される構成であった。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−122860号公報(例えば明細書段落[0024]〜[0026]等)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1の方法では、先頭から999個よりも後の画像ファイルに関するカード情報はその都度消去されてしまうので、1つの画像の印刷を終えたユーザーが次に先頭から999個より後の画像を印刷のため選択した場合には、再びメモリーカードからカード情報を読み込んでメモリーに格納しなければならず、画像の表示や印刷がその分遅延し迅速な画像形成動作を行うことができなかった。そのため、なるべく想定される最大画像数(例えば9990個)分のカード情報を継続的にメモリーに格納しておくことが望ましい。しかし、格納画像数が999個であれば固定長であってもさほど問題はなかったが、画像数9990個分のカード情報を格納可能な記憶容量のカード情報保存用プールが継続的に配置されてしまうと、メモリーを圧迫する要因になるという問題があった。
【0005】
例えば、メモリーにおいて必要なプールが割り当てられた残りの領域は、過去に印刷で使用した画像データを保存しておく格納領域(ファイルキャッシュ用プール)として利用される。ファイルキャッシュ用プール内の画像データを用いて印刷する場合は、メモリーカードへアクセスして画像データを読み込む動作が不要になるので、その分、画像の表示や印刷を迅速に行うことができる。しかし、固定長のカード情報保存用プールを拡大すると、その拡大した分だけ、ファイルキャッシュ用プールの容量が減少してしまいファイルキャッシュ用プール内の画像データを利用した迅速な画像の表示や印刷を行える頻度が低下してしまう。
【0006】
本発明は、上記課題に鑑みてなされたものであり、その目的は、電子機器に対する外部記憶媒体の挿着の検出に伴い外部記憶媒体から読み込んでメモリーに格納すべき画像特定情報の格納領域をメモリーに効率よく割り当てることができる電子機器、電子機器におけるメモリー管理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明は、メモリーと、当該メモリーに格納される画像データに基づき動作する動作部とを備えた電子機器であって、外部記憶媒体の挿抜が可能な被挿着部と、前記被挿着部に対する外部記憶媒体の挿抜を検出する検出手段と、前記検出手段が外部記憶媒体の挿着を検出すると、当該外部記憶媒体に格納された画像データを特定可能な画像特定情報に係る当該外部記憶媒体の格納画像数分の容量を当該外部記憶媒体にアクセスして取得する容量取得手段と、前記容量に基づいて前記メモリーにおける格納領域の再割当てを行って前記メモリーに前記画像特定情報の格納領域を確保する再割当手段と、前記再割当てにより確保された前記格納領域に前記外部記憶媒体から読み込んだ前記画像特定情報を格納する格納手段と、を備えたことを要旨とする。
【0008】
この発明によれば、外部記憶媒体の被挿着部への挿着が検出手段により検出されると、容量取得手段は、外部記憶媒体にアクセスして当該検出に伴い外部記憶媒体から読み込むべき画像特定情報の容量を取得する。再割当手段は、容量取得手段が取得した容量に応じた格納領域をメモリーに確保すべくメモリーにおける格納領域の再割当てを行う。格納手段は、その確保された格納領域に外部記憶媒体から読み込んだ格納画像数分の画像特定情報を格納する。従って、被挿着部への外部記憶媒体の挿着を検出した際に、確保される格納領域の容量は、その外部記憶媒体の格納画像数に応じて変化するので、メモリーの領域を有効活用できる。例えば、画像特定情報の格納領域が固定長であると、外部記憶媒体の格納画像数が少ないときでも、想定最大格納画像数分の容量の格納領域を常に確保する必要があり、この格納領域がメモリーにおける他の格納領域を圧迫し他の格納領域に多くのメモリー領域を割くことができなくなる無駄が発生する。しかし、本発明の電子機器では、画像特定情報の格納領域が、外部記憶媒体の格納画像枚数に応じて容量が変化する可変長の格納領域なので、このようなメモリーの領域を有効活用できない無駄は発生しない。よって、電子機器に対する外部記憶媒体の挿着の検出に伴い外部記憶媒体から読み込んでメモリーに格納すべき画像特定情報の格納領域をメモリーに効率よく割り当てることができる。
【0009】
本発明の電子機器において、前記動作部は印刷動作を行う印刷動作部であって、外部記憶媒体を挿し替えた場合には、挿し替え前の外部記憶媒体から読み込まれた画像データを前記メモリーから消去するように構成されており、前記メモリーにおいて前記再割当手段により再割当てされた格納領域の1つは前記動作部が印刷動作を行うために使用した画像データを保存するための画像データ保存用の格納領域であり、外部記憶媒体から毎回異なる画像データを取得しつつ前記動作部による印刷動作を前記画像データ保存用の格納領域が保存の画像データで満たされるまで行った後、次にそれまで印刷した画像の順番の逆を辿る順番で毎回画像データを変更しつつ印刷動作を行った場合、N個の画像データが格納された第1の外部記憶媒体が挿着された状態で前記印刷動作を行った場合に比べ、N個より少ないM個(但しM<N)の画像データが格納された第2の外部記憶媒体に挿し替えて前記印刷動作を行った場合の方が、前記逆を辿る順番で画像の印刷を開始してから、前記動作部による画像の印刷速度が落ちるまでに相対的に高速で印刷できる画像枚数が増えるように構成されていることが好ましい。
【0010】
この発明によれば、N個の画像データが格納された第1の外部記憶媒体が挿着されたときのメモリーにおける格納領域の再割当てにより、N個分の容量の画像特定情報用の格納領域が確保される。また、M個(但しM<N)の画像データが格納された第2の外部記憶媒体が挿着されたときのメモリーにおける格納領域の再割当てにより、M個分の容量の画像特定情報用の格納領域が確保される。このとき第1の外部記憶媒体が挿着されているときの画像データ保存用の格納領域は、第2の外部記憶媒体が挿着されているときの画像データ保存用の格納領域よりも容量が小さくなる。外部記憶媒体から毎回異なる画像データを取得しつつ動作部による印刷動作を画像データ保存用の格納領域が保存の画像データで満たされるまで行った後、それまで印刷した画像の順番の逆を辿る順番で毎回画像データを変更しつつ印刷動作を行った場合、N個の画像データが格納された第1の外部記憶媒体が挿着された状態で印刷動作を行う場合に比べ、M個(但しM<N)の画像データが格納された第2の外部記憶媒体に挿し替えらた状態で印刷動作を行う場合の方が、前記逆を辿る順番で画像の印刷を開始してから、動作部による画像の印刷速度が落ちるまでに相対的に高速で印刷できる画像枚数が増える。従って、格納画像数が少ない外部記憶媒体ほど画像データ保存用の格納領域が増えて、この格納領域内の画像データを用いて相対的に高速な印刷速度で印刷できる画像枚数が増えるので、画像を高速で印刷できる頻度が増す。
【0011】
本発明の電子機器では、前記検出手段が前記外部記憶媒体の前記被挿着部からの抜取りを検出すると、前記再割当手段は、当該外部記憶媒体用に割当てていた格納領域を開放しつつ前記メモリーにおける格納領域の再割当てを行うことが好ましい。
【0012】
この発明によれば、外部記憶媒体が被挿着部から抜取られると、再割当手段は、外部記憶媒体用(画像特定情報格納用)に割当てていた格納領域を開放しつつメモリーにおける格納領域の再割当てを行う。この格納領域が開放されることによって、外部記憶媒体を抜き取った後に画像データ用の格納領域を増やすことができる。
【0013】
本発明の電子機器では、前記検出手段が前記外部記憶媒体の挿抜を検出したときに前記動作部が動作中であるか否かを判断する判断手段を更に備え、前記外部記憶媒体の挿抜が検出されたときに前記判断手段が前記動作中であると判断した場合、前記再割当手段は前記メモリーにおける格納領域の再割当てを前記判断手段が前記動作中でないと判断するまで保留することが好ましい。
【0014】
この発明によれば、外部記憶媒体の挿抜が検出されたときに判断手段が動作中であると判断した場合、再割当手段による格納領域の再割当ては、判断手段が動作中でないと判断するまで保留される。そして、動作中でなくなると、再割当手段による格納領域の再割当てが行われる。この結果、動作中であるにも関わらず格納領域の再割当てが行われ動作中のモードで使用中のデータの消去又は変更を回避できる。
【0015】
本発明の電子機器では、前記被挿着部を複数備え、前記検出手段が、前記複数の被挿着部のうちの1つに外部記憶媒体が既に挿着されている状態で、他の被挿着部に他の外部記憶媒体が挿着されたことを検出した場合、前記再割当手段は、前記検出手段が先に挿着されていた前記外部記憶媒体の抜き取りを検出するまで、前記メモリーにおける格納領域の再割当てを保留することが好ましい。
【0016】
この発明によれば、複数の被挿着部のうちの1つに外部記憶媒体が既に挿着されている状態で、前記複数の被挿着部のうちの他の1つの被挿着部に他の外部記憶媒体が挿着されたことを検出した場合、検出手段が先に挿着されていた外部記憶媒体の抜き取りを検出するまで、再割当手段による格納領域の再割当ては保留される。この結果、先に挿着されていた外部記憶媒体のデータが、その外部記憶媒体が抜き取られていないにも関わらず消去されることを回避できる。
【0017】
本発明の電子機器では、案内表示手段を更に備え、前記再割当手段は、複数の外部記憶媒体が挿着されているときに、前記案内表示手段に現在表示中の外部記憶媒体が抜取られた場合に、前記再割当手段は、抜き取られていない前記外部記憶媒体の画像特定情報の格納領域を確保すべく前記メモリーに対して格納領域の再割当てを行い、前記案内表示手段は、抜き取られていない前記外部記憶媒体を現在表示中にすることが好ましい。
【0018】
この発明によれば、複数の外部記憶媒体が挿入されているときに、案内表示手段に現在表示中の外部記憶媒体が抜取られた場合、抜き取られていない外部記憶媒体の画像特定情報を格納するための格納領域を確保する再割当てが行われる。そして、案内表示手段には、抜き取られていない外部記憶媒体が現在表示中とされる。この結果、複数の外部記憶媒体のうち現在表示中で有効な外部記憶媒体が抜き取られてから、その抜き取られた外部記憶媒体のデータが消去されるので、現在表示中で有効な外部記憶媒体が抜き取られていないにも関わらず、その外部記憶媒体のデータが消去されることを回避できる。
【0019】
本発明の電子機器では、案内表示手段を更に備え、前記案内表示手段に表示される画面は、前記外部記憶媒体の挿抜の検出の前後で切り換わる構成であり、前記再割当手段は、前記案内表示手段に画面を表示する際に用いる画面データを格納する格納領域を前記再割当てで確保する構成であり、前記案内表示手段が前記外部記憶媒体の挿抜前の第1画面から、前記外部記憶媒体の挿抜の検出に伴う第2画面に切り換わるときに、前記再割当てを行うことが好ましい。
【0020】
この発明によれば、外部記憶媒体の挿抜が行われるときには、案内表示手段はその挿抜前の第1画面から挿抜の検出に伴う第2画面に切り換わる。この画面の切り換わり過程で再割当手段による格納領域の再割当てが行われる。よって、再割当てにより案内表示手段の画面が一瞬非表示になっても、ユーザーは外部記憶媒体の挿抜に伴う画面の切り換わり過程の非表示と認識するので、ユーザーに違和感を与えない。
【0021】
本発明は、外部記憶媒体を挿抜可能な被挿着部を有する電子機器において外部記憶媒体が挿着されたときに当該外部記憶媒体から読み込むべき画像特定情報を格納するための格納領域をメモリーに確保するメモリー管理方法であって、外部記憶媒体が前記被挿着部に挿着されたことを検出する検出ステップと、外部記憶媒体の挿着が検出されると、当該外部記憶媒体にアクセスして当該検出に伴い当該外部記憶媒体から読み込むべき当該外部記憶媒体の格納画像数分の画像特定情報の容量を取得する容量取得ステップと、前記容量に応じた格納領域を確保すべく前記メモリーにおける格納領域の再割当てを行う再割当ステップと、前記外部記憶媒体から格納画像数分の画像特定情報を読み込んで前記確保された格納領域に当該画像特定情報を格納する格納ステップと、を備えたことを要旨とする。この発明によれば、上記電子機器に係る発明と同様の効果を得ることができる。
【0022】
本発明は、外部記憶媒体を挿抜可能な被挿着部を有する電子機器におけるコンピューターが、外部記憶媒体が挿着されたときに当該外部記憶媒体から読み込むべき画像特定情報を格納するための格納領域をメモリーに確保するために実行するプログラムであって、コンピューターが、外部記憶媒体が前記被挿着部に挿着されたことを検出する検出ステップと、外部記憶媒体の挿着が検出されると、コンピューターが、当該外部記憶媒体にアクセスして当該検出に伴い当該外部記憶媒体から読み込むべき当該外部記憶媒体の格納画像数分の画像特定情報の容量を取得する容量取得ステップと、コンピューターが、前記容量に応じた格納領域を確保すべく前記メモリーにおける格納領域の再割当てを行う再割当ステップと、コンピューターが、前記外部記憶媒体から格納画像数分の画像特定情報を読み込んで前記確保された格納領域に当該画像特定情報を格納する格納ステップと、を備えたことを要旨とする。この発明によれば、上記電子機器に係る発明と同様の効果を得ることができる。
【図面の簡単な説明】
【0023】
【図1】一実施形態における複合機の機能構成を示すブロック図。
【図2】(a)〜(d)メモリーに割り当てられたプールの状態を示す模式図。
【図3】カード挿入時のプール再割当処理ルーチンを示すフローチャート。
【図4】カード抜取時のプール再割当処理ルーチンを示すフローチャート。
【図5】カード挿入時のシーケンス図。
【図6】カード抜取時のシーケンス図。
【図7】(a),(b)比較例におけるメモリーに割り当てられたプールの状態を示す模式図。
【図8】複合機の斜視図。
【発明を実施するための形態】
【0024】
以下、本発明を具体化した一実施形態を図1〜図8に基づいて説明する。図8は、電子機器の一例である複合機の斜視図である。複合機11は本体12とカバー13とを備え、本体12の下側部分がプリンター部14、上側部分がスキャナー部15となっていて、カバー13を開いた本体12の上面が原稿台15aとなっている。本体12の背面部には用紙がセットされるサポート16aを備えた自動給紙装置16(ASF(Auto Sheet Feeder))が装備されている。また、本体12の前側には、その上段部に操作パネル17、下段部に排紙部18、排紙部18の右側位置にメモリーカードMC1,MC2を挿抜可能なメモリーカードスロット(以下、単に「スロット19A,19B」という)がそれぞれ設けられている。複合機11は、複数種のメモリーカードを使用でき、複合機11が対応可能なメモリーカードの種類に応じて複数個(例えば2〜5個)のスロットが設けられている。但し、図8では、2個のスロット19A,19Bと、2個のメモリーカードMC1,MC2のみ図示している。メモリーカードとしては、例えばSDカード、miniSDカード、スマートメディア、PCカード等を挙げることができる。また、複合機11は例えば排紙部18の左側位置にUSBポート20を有し、このUSBポート20へのUSBメモリーUMの挿着も可能である。なお、本実施形態では、スロット19A,19Bを特に区別しない場合はスロット19と記し、メモリーカードMC1,MC2を特に区別しない場合はメモリーカードMCと記すことにする。また、外部記憶媒体の一例であるメモリーカードMC1,MC2及びUSBメモリーUMを、総称して「カードC」と呼ぶ場合もある。本実施形態では、被挿着部の一例がスロット19及びUSBポート20であり、外部記憶媒体の一例がメモリーカードMC1,MC2及びUSBメモリーUMである。
【0025】
操作パネル17の幅方向中央部にはモニター21(案内表示手段)が配設されている。モニター21は例えば液晶ディスプレイ装置(LCD)により構成される。また、操作パネル17には、電源ボタン22、実行中の動作を中止するストップボタン23、印刷/スキャンを開始するスタートボタン24、モードを選択するモード選択ボタン25、上下左右の4つの矢印キーとOKボタンとを有する選択ボタン26、印刷枚数を設定する印刷枚数ボタン27などが配設されている。
【0026】
モード選択ボタン25は、複数のモードのうちから一つのモードを選択でき、例えば「コピー」「スキャン」「通常印刷」「カード印刷」「レーベル印刷」などのモードを選択できる。モニター21にはホーム画面(例えばメインメニュー画面)が表示される。また、モードが選択されると、モニター21には選択されたモードに対応するメニュー画面が表示される。このメニュー画面の中でモードにおける各種設定等を行うことが可能である。ここで、「カード印刷モード」は、スロット19に挿着されたメモリーカードMC又はUSBポート20に挿着されたUSBメモリーUMから読み取った画像データに基づき画像(写真等)を印刷するときに用いられるモードである。
【0027】
図1は、複合機11の機能構成図である。複合機11において、CPU(Central Processing Unit)30と、ROM(Read Only Memory)31と、メモリーの一例としてのRAM(Random Access Memory)32と、EEPROM(Electrically Erasable Programmable Read-Only Memory)33と、入力インターフェイス部(以下、「入力I/F部34」と称す)と、表示インターフェイス部(以下、「表示I/F部35」と称す)と、動作部としてのスキャナー機能部36と、動作部としてのプリンター機能部37と、メモリーカードインターフェイス部(以下、「メモリーカードI/F部38」と称す)と、通信インターフェイス部(以下、「通信I/F部39」と称す)とがバス40を介して接続されている。ここで、CPU30、ROM31及びRAM32等が、コンピューターに相当する。
【0028】
ROM31は、ブートプログラム及びオペレーティングシステム(OS)等のプログラムを記憶する。本実施形態では、オペレーティングシステムとして、リアルタイムOSが用いられている。リアルタイムOSは、RAM32に各種データ(情報)を記憶(格納)するためのメモリープール(格納領域)を割り当てる機能と、割り当てられた各メモリープールに対応する各種データを格納する機能とを有する。但し、リアルタイムOSは、未使用領域の整理(ガーベージ・コレクションを行う機能(ガーベージコレクター)は有していない。また、ROM31は、CPU30がカードCの挿抜の検出時に実行する後述する各再割当処理ルーチン(図3、図4参照)のプログラムを記憶する。
【0029】
また、EEPROM33は、書き換え可能な不揮発性メモリーであり、複合機11の電源が入っていない場合でも記憶しておく必要がある各種情報を記憶する。
RAM32は、プログラムやデータを記憶する領域として、あるいはCPU30による処理に使用しているデータを格納する作業領域として利用される。本実施形態では、RAM32には、記憶領域(格納領域)として、プログラム保存用プール32aと、カード情報保存用プール32bと、UI画像保存用プール32cと、印刷画像生成用プール32dと、ファイルキャッシュ用プール32eとが割り当てられる。
【0030】
プログラム保存用プール32aは、ブートプログラム、リアルタイムOSプログラム、ファームウェアプログラム等を含むプログラムPRを格納することのできる記憶容量を有し、複合機11の電源オン中は継続的にプログラムPRを格納しておくことのできる記憶領域である。
【0031】
カード情報保存用プール32bは、所定数(例えば9990個)分の画像ファイルのカード情報を格納することのできる記憶容量を有し、複合機11の電源オン中は継続的にカード情報CD(画像特定情報)を格納しておくことのできる記憶領域である。このカード情報保存用プール32bは、複合機11にカードCが挿着されているときにだけ作成される。カード情報CDには、ファイル名、ファイル作成日時などを含むファイル情報と、カードC内の画像ファイルの位置(アドレス)を特定するためのパス名の階層構造を示すパス情報とが含まれる。ファイル情報には、画像ファイルに関連付けされているPIF(PRINT Image Framer)ファイルがあるか否かを示すPIF関連付けフラグなどの関連情報も含まれる。さらにファイル情報には、画像ファイルの画像の状態を示す情報、例えば、画像チェック済みか、正常な画像か、異常な画像か等の判定結果についての画像チェック情報も含まれる。ここで、パス情報は、画像ファイルのフルパスファイル名(すなわち、ルートディレクトリからのすべてのパス名とファイル名)を含んでいる。モニター21の画面上で画像が選択されると、カード情報CDを参照することでその選択された画像のファイル名及びパス情報からその選択された画像に対応する画像ファイルのカードC内におけるアドレスの取得が可能である。
【0032】
UI画像保存用プール32cは、モニター21に表示するためのユーザーインターフェイス用画像データ(以下、「UI画像データ」UD」と称す)を記憶するための記憶領域である。UI画像保存用プール32cは、通常印刷モード、コピーモード、スキャンモード、カード印刷モード等のそのときのモードに応じたUI画像データUDを記憶する。UI画像データUDは、コピーモード、スキャンモード、通常印刷モード、カード印刷モード、レーベル印刷モード等のモード別にEEPROM33に記憶されている。
【0033】
表示制御部60は、UI画像保存用プール32cに格納されたUI画像データUDのうち1つ又は複数のUI画像データUDに基づいてそのときの状態に応じたUI画像をモニター21に表示する。例えばカード印刷モード時は、表示制御部60は、ユーザーがキー部28の操作で選択した画像又は画像群に対応するサムネイル画像データをカードCから読み込んで、サムネイル画像データに基づく画像又は画像群をフレーム画像(UI画像の1つ)に組み込んだ画像選択画面をモニター21に表示する。ユーザーはモニター21に表示された画像選択画面内の画像又は画像群のうちから印刷したい所望の画像をキー部28の操作で選択する。
【0034】
カード印刷モードのときには、カードCの挿着を検出したときに表示するカード検出完了画面や、カードCの抜取りを検出したときに表示するカード抜取完了画面の他、画像選択画面で選択中の画像に対して印刷条件を設定するためのカード印刷設定画面などを含む各種のUI画像データUDが、UI画像保存用プール32cに格納される。また、複合機11は、スキャンした画像やカードCから読み込んだ画像を編集する機能(例えば拡大・縮小、トリミング等)を有し、これらのモードのときには、編集画面などのUI画像もUI画像保存用プール32cに格納される。
【0035】
ファイルキャッシュ用プール32eは、過去に使用された画像データや編集画像データが記憶される記憶領域である。例えば、カードCから読み込んだ画像データ、通常印刷時にホスト装置から受信した画像データ、コピーモード時にスキャンした画像データ、モニター21上の編集画面でキー部28の操作で編集した編集画像データ等が、ファイルキャッシュ用プール32eには格納される。RAM32において、プログラム保存用プール32aと、カード情報保存用プール32bと、UI画像保存用プール32cと、印刷画像生成用プール32dとが割り当てられた残りの記憶領域が、ファイルキャッシュ用プール32eとして使用される。ファイルキャッシュ用プール32eの記憶容量が多いほど、ファイルキャッシュ用プール32eに記憶できる画像データ又は編集画像データの格納数が多くなる。よって、例えば同一画像の複数部印刷や複数部コピー印刷するときには、印刷一部毎にカードCにアクセスしなくても、このファイルキャッシュ用プール32eにアクセスすれば印刷対象の画像データを取得できるので、画像の表示及び印刷を迅速に行うことができる。なお、本例では、ファイルキャッシュ用プール32eは、例えば数枚から数10枚分の画像データを記憶できる記憶容量がある。
【0036】
印刷画像生成用プール32dは、ファイルキャッシュ用プール32eから読み込んだ画像データから印刷画像データを生成する過程で処理途中の印刷画像データPDを一時格納する記憶領域である。詳しくは、印刷画像生成用プール32dは、jpeg画像データの解凍後の画像データや、解凍後の画像データあるいは非圧縮系の画像データを解像度変換した画像データ、印刷時(カラー印刷又はモノクロ印刷)の色で色変換したCMYK系の画像データなどを一時的に記憶する。図1では、印刷画像データ生成過程で作成されるこれらの処理途中の画像データを総称して印刷画像データPDと記している。プリンター機能部37が例えばシリアルプリンターである場合は、印刷画像生成用プール32dは、例えば2〜5行分の印刷が可能な分の印刷画像データを記憶可能な記憶容量を有する。
【0037】
本実施形態では、プログラム保存用プール32aは、固定長のメモリープールである。これは、プログラムPRの容量が一定であるからである。また、カード情報保存用プール32bと、UI画像保存用プール32cと、印刷画像生成用プール32dと、ファイルキャッシュ用プール32eとは、可変長のメモリープールとなっている。これは、これらの各プール32b,32c,32d,32eに格納されるデータの容量がその時々のモード等に応じて変化するからである。例えば、挿着中のカードCの格納画像数が多い(例えば最大の9990個)場合は、カード情報保存用プール32bは最大記憶容量で作成されるが、カードCの格納画像数が少ない(例えば999個未満)場合は、カード情報保存用プール32bはその格納画像数に応じた小さな記憶容量で作成される。なお、カード情報保存用プール32bの最大記憶容量を決めている所定数(9990個)は、モニター21に表示可能な最大表示枚数(9990枚)に合わせたものである。もちろん、カード情報保存用プール32bの最大記憶容量を決める所定数は、RAM32の容量に応じて適宜設定でき、例えば9990個を超える個数でもよいし、9990個未満の任意の個数(999個未満の所定数も含む)でもよい。
【0038】
入力I/F部34には、キー部28が接続されている。入力I/F部34は、キー部28からの信号をCPU30に出力する。キー部28は各ボタン(キー)22〜27(図8参照)に相当し、押下されたキーに応じた信号を入力I/F部34に出力する。表示I/F部35は、例えば、VRAM(Video Random Access Memory)を有し、CPU30の制御によりモニター21に画面を表示出力させる。
【0039】
スキャナー機能部36は、原稿台15aに載置された原稿を読み取ってデジタル画像データを生成する。プリンター機能部37は、例えば紙、OHPシート、厚紙、封筒等の印刷媒体(ターゲット)に画像を印刷する。詳しくは、プリンター機能部37は、印刷ヘッドと、印刷媒体(ターゲット)を搬送する搬送手段とを有する。プリンター機能部37は、シリアルプリンター、ラインプリンター、ページプリンターのうちどのタイプのものでもよく、その記録方式も、インクジェット記録方式、ドットインパクト記録方式、レーザー記録方式などどの記録方式のものでもよい。また、搬送手段は、公知の搬送機構と、動力源としての搬送モーターとを備え、搬送モーターの動力により搬送機構が駆動されることにより印刷媒体を搬送する。
【0040】
メモリーカードI/F部38は、スロット19に対するメモリーカードMCの挿入時に、メモリーカードMCと電気的に接続して、メモリーカードMCとCPU30との間のデータ交換の仲介を行う。
【0041】
通信I/F部39は、ネットワークと接続可能であり、ネットワークを介して他の装置(例えばホスト装置又はデジタルカメラ)とのデータ交換の仲介を行う。特に本例では、通信I/F部39はUSB通信方式のI/F部により構成される。通信I/F部39は、USBポート20に対するUSBメモリーUMの挿入時に、USBメモリーUMと電気的に接続して、USBメモリーUMとCPU30との間のデータ交換の仲介を行う。
【0042】
コントロール部41とカードデバイス部42とユーザーインターフェイス部43は、CPU30がROM31に格納されているプログラムをRAM32に読み出して実行することにより構成される。
【0043】
コントロール部41は、有効カード判定部51、動作判定部52(判断手段)、カウントアップ部53、演算部54、再割当部55、及び画像データ処理部56を有している。また、カードデバイス部42は、カード挿抜検出部57(検出手段)及びデータ格納処理部58(格納手段)を有している。さらに、ユーザーインターフェイス部43は、受付処理部59及び表示制御部60を有している。以下、コントロール部41、カードデバイス部42及びユーザーインターフェイス部43がそれぞれ有する各部51〜60について説明する。
【0044】
有効カード判定部51は、複数のカードCが挿着されたときに、そのうちどのカードCが有効であるかを判定する処理を行う。本実施形態の有効カード判定部51は、複合機11に既にカードCが挿着された状態にあるときに、他のカードCが挿着された場合、先に挿着されていた先行のカードCを有効とし、後から挿着された後続のカードCを無効とする判定を行う。この場合、後続のカードCは、先行のカードCが抜き取られたときに有効と判定される。すなわち、有効カード判定部51は、複合機11に挿着されている複数のカードCのうち一番挿着検出時期の早い1つを有効とし、その他については無効とするものの、その無効のカードCのうち現在有効なカードCが抜き取られた際に次に有効となるカードCの優先順位を挿着検出時期の早い順で決めるようになっている。
【0045】
動作判定部52は、複合機11が動作中であるか否かを判定する処理を行う。本実施形態では、カードCが挿着されたことを検出したときに、複合機11が動作中であると判定した場合には、再割当部55による再割当処理の開始をその動作中の動作が終了するまで待機(保留)させる構成となっている。ここで、動作には、印刷動作(通常印刷動作、カード印刷動作、レーベル印刷動作等)とコピー動作とスキャン動作とが含まれる。
【0046】
カウントアップ部53は、カード挿抜検出部57がカードCの挿着を検出したときに、その挿着されたカードCにアクセスしてこのカードCの格納画像枚数をカウントアップ(計数)する。例えば画像ファイルのファイル情報の中にはファイルが画像ファイルである旨を示すフラグを含み、そのフラグの値が「1」であるフラグ数(つまりファイル数)を計数することで格納画像枚数をカウントアップする。もちろん、画像のカウントアップはファイル名の拡張子から画像を判別し、その判別した画像の数を計数することで格納画像枚数をカウントアップする構成でもよい。
【0047】
演算部54は、カウントアップ部53がカウントアップした格納画像枚数からカードC内の格納画像枚数分のカード情報CDのデータ容量を演算する。詳しくは、演算部54は、画像一枚当たりのカード情報のデータ容量に格納画像枚数を乗じることで、そのとき挿着中の有効なカードCに格納された全画像数分(但し、本例では上限が9990枚)のカード情報の容量を演算する。このカード情報CDの容量が決まれば、演算部54はこの容量からカード情報保存用プール32bの容量を演算する。本例では、カード情報の容量をそのままカード情報保存用プール32bの容量として用いている。もちろん、格納画像枚数とカード情報保存用プール32bの容量との対応関係を示すテーブルデータを用意し、このテーブルデータを参照することで、格納画像枚数からカード情報保存用プール32bの容量を求める構成も採用できる。EEPROM33には、モードとそのモード毎のUI画像データUDの容量との対応関係を示すテーブルデータ(図示せず)が記憶されている。演算部54は、このテーブルデータを参照することで、その時々のモードに応じたUI画像保存用プール32cの容量を取得する。また、EEPROM33には、印刷速度モードと印刷画像生成用プール32dの容量との対応関係を示すテーブルデータ(図示せず)が記憶されている。演算部54は、このテーブルデータを参照することで、その時々の印刷速度モードに応じた印刷画像生成用プール32dの容量を取得する。なお、本実施形態では、カウントアップ部53及び演算部54により、容量取得手段が構成される。
【0048】
再割当部55は、RAM32に各種データの記憶領域(格納領域)であるメモリープール(以下、単に「プール」ともいう)の再割当てを行う。再割当部55は、カードCの挿抜が検出されたとき、又は有効なカードCが切り換わったときに、RAM32において各プールの再割当を行う。但し、動作判定部52が複合機11の動作中と判定した場合、各プールの再割当てを一時保留し、その動作中の動作が終了した判定になってから、各プールの再割当を行う。このとき、再割当部55は、演算部54が求めたカード情報のデータ容量及びカード情報保存用プール32b以外の他の可変長の各プール32c,32dの容量に基づいて、カード情報を格納可能な容量をもつカード情報保存用プール32bを確保するように各プールの再割当てを行う。このときファイルキャッシュ用プール32eは、前述のように、各プール32a〜32dが再割当されたRAM32内の残りの領域として割り当てられる。なお、本実施形態の再割当部55は、複合機11の電源投入時にRAM32に対して最初にプールを割り当てる割当処理も行う。また、本実施形態では、この再割当部55により再割当手段が構成される。
【0049】
画像データ処理部56は、画像データに画像処理を施して、プリンター機能部37が印刷動作に使用可能な形式の印刷画像データを生成する処理を行う。画像処理には、画像データを、プリンター機能部37の印刷解像度に合った解像度に変換する解像度変換処理、解像度変換後の画像データをCMYK系の印刷画像データに変換する色変換処理、色変換後の印刷画像データの階調値(例えば256階調)をプリンター機能部37の印刷階調値(例えば4階調)に変換するハーフトーン処理などが含まれる。
【0050】
カード挿抜検出部57は、メモリーカードI/F部38からの信号に基づきスロット19A,19BへのメモリーカードMCの挿入(挿着)と、スロット19A,19BからのメモリーカードMCの抜取りとを検出する。また、カード挿抜検出部57は、通信I/F部39からの信号に基づきUSBポート20へのUSBメモリーUMの挿入(挿着)と、USBポート20からのUSBメモリーUMの抜取りとを検出する。カード挿抜検出部57の検出結果は、カードデバイス部42からコントロール部41へ通知される。
【0051】
データ格納処理部58は、コントロール部41からの指示に従ってI/F部38又は39を介して挿着中の有効なカードCからデータを読み込んでRAM32の対応するプールに格納(記憶)する。データ格納処理部58は、カード情報CDをカードCから読み込んでカード情報保存用プール32bに格納する。また、データ格納処理部58は、画像データIDをカードCから読み込んでファイルキャッシュ用プール32eに格納する。なお、本例では、モードに応じたUI画像データUDをEEPROM33から読み出してプール32cに格納する処理は再割当部55が行う。
【0052】
受付処理部59は、ユーザーが操作したキー部28からの信号を入力I/F部34を介して入力し、キー操作による指示を受け付ける。受付処理部59は、入力した信号に応じて、例えばモード選択、印刷処理、コピー処理、スキャン処理等の指示や、複合機11に印刷させる画像の選択の指示を受け付ける。受付処理部59は、その受け付けた指示をコントロール部41に通知する。
【0053】
表示制御部60は、コントロール部41からの指示に従って指定のUI画像をモニター21に表示する表示制御を行う。表示制御部60は、コントロール部41からモード切り替え指示を受け付けたときには切り替え後のモードに応じたUI画像をモニター21に表示する。また、表示制御部60は、カード挿着検出時にカウントアップ部53が格納画像枚数を計数し終わると、カード検出完了画面と、格納画像枚数を含むカード情報の表示画面とをモニター21に順次表示させる。また、表示制御部60は、カード印刷モードにおいて、キー部28からカードC内の画像を表示する旨の信号を受付処理部59を介して受け付けたコントロール部41の指示に従って、指定枚数(1枚又は複数枚)の画像が組み込まれた画像選択画面をモニター21に表示する。この画像選択画面の画像の中からユーザーはキー部28を操作して印刷させたい所望の画像を選択する。さらに表示制御部60は、複合機11が動作中のときにはその動作に応じたUI画像をモニター21に表示する。例えば、印刷動作中のときには印刷中画面、コピー動作中のときにはコピー中画面、スキャン動作中のときにはスキャン中画面がモニター21に表示される。また、表示制御部60は、ホーム画面(例えばメインメニュー画面)の他、カードCの挿入検出時にカード検出完了画面及びカード情報表示画面を表示し、カードCの抜取検出時にカード抜取完了画面を表示する。
【0054】
次に、再割当部55によるメモリーにおけるプールの再割当処理について説明する。図2は、メモリーにおけるプールの割当て構造を示す。ここで、図2におけるメモリー61は、RAM32のうちメモリープール作成対象として使用可能な全領域を指す。ここで、RAMが複数個ある電子機器の場合は、複数個のRAMのうちメモリープール作成対象として使用可能な全領域がメモリー61となる。また、EEPROM内の一部に揮発性記憶領域が含まれる場合や、ASICを備えた電子機器において当該ASIC内のRAM領域も、メモリープール作成対象として使用される場合は、メモリー61に含まれる。このようにメモリー61は複数個のRAM32に跨る場合もあるメモリー領域である。
【0055】
図2(a)は、1つもカードCが挿入されていないカード非挿着状態の場合である。複合機11の例えば電源投入時には図2(a)のようにメモリー61に各種のプールが割り当てられる。つまり、図2(a)に示すように、メモリー61の先頭アドレス側から順に、固定長のプログラム保存用プール32a、可変長のUI画像保存用プール32c、可変長の印刷画像生成用プール32d、及び可変長のファイルキャッシュ用プール32eが割り当てられる。ここで、プログラム保存用プール32aは固定長のメモリープールであり、メモリー61の先頭エリアに配置される。また、ファイルキャッシュ用プール32eは、各プール32a,32c,32dが割り当てられた後におけるメモリー61の残りの領域として割り当てられる。
【0056】
ここで、プログラム保存用プール32aには、前述のようにブートプログラム、リアルタイムOS及びファームウェアプログラム等のプログラムPRが格納される。UI画像保存用プール32cには、そのときのモードに応じたUI画像データUDが格納される。印刷画像生成用プール32dには、印刷時に、解像度変換、色変換処理、ハーフトーン処理等の画像処理を行うときに画像処理の途中のデータや画像処理完了後の印刷画像データを、そのデータが印刷に使われて不要になるまで、一時的に格納される。
【0057】
ファイルキャッシュ用プール32eには、印刷に使用された過去の画像データや印刷にこれから使用する画像データが保存される。例えば複合機11が電源投入された後、スキャナー機能部36で読み取られた画像データや、カードCから読み込まれた画像データ、ホスト装置から受信した画像データなどの一度印刷に使用された既存の画像データが格納される。一度印刷に使用された画像データや編集画像データは、再度印刷に使用される頻度が比較的高いため、そのまま保存される。このため、同一画像の複数部印刷や、複数部コピー印刷、さらにはユーザーが再度同じ画像を選択して印刷を行う場合も、スキャン動作やカードCからの画像データの読み取りを行うことなく、ファイルキャッシュ用プール32eにアクセスするだけで迅速に画像データに基づく印刷動作を行うことができる。例えばコピー印刷を複数部行う場合は、一度スキャン動作を行えば、2部目以降はファイルキャッシュ用プール32eから画像データを取得できるので、画像を迅速に印刷できる。また、カード印刷を複数部行う場合も、一度、カードCから画像データの読み取りを行えば、2部目以降はファイルキャッシュ用プール32eから画像データを取得できるので、画像を迅速に印刷できる。
【0058】
ファイルキャッシュ用プール32eを少しでも広く確保し、より多くの画像データをファイルキャッシュ用プール32eに保存できれば、再利用の画像で迅速に印刷できる画像数が増えることになる。また、カードCが抜き取られた場合は、そのカードCから読み込んだ画像データはまず使用されないとみなせるので、抜き取られたカードCの挿着時に読み込んだ画像データをファイルキャッシュ用プール32eから消去するようにしている。これにより、その後、他のカードCが挿入された場合に、その他のカードCから読み取った画像データの格納領域を少しでも多く確保できるようにしている。
【0059】
図2(b)は、格納画像N枚のカードCが挿入された場合のメモリーにおけるプール再割当構造を示す。図2(b)に示すように、カードCが挿入されたときに、当該カードCから読み取るべきカード情報CDの容量を演算し、その演算した容量に基づきカード情報CDを格納可能な容量をもつカード情報保存用プール32bを、固定長のプログラム保存用プール32aと可変長のUI画像保存用プール32cとの間に割り込むように各プールを再割当てする。つまり、カード情報保存用プール32bは、可変長のプールの中で一番先頭に配置される。このとき、カードCの挿入を検出した結果、それまでのモードからカード印刷モードに変更されるので、カード印刷モードに応じたUI画像データUDを格納可能な容量をもつUI画像保存用プール32cが割り当てられる。また、印刷速度モードに応じた容量をもつ印刷画像生成用プール32dが割り当てられる。また、ファイルキャッシュ用プール32eが図2(a)の状態から図2(b)の状態へ縮小し、それまで格納されていた画像データIDを格納できなくなった場合は、旧い画像データIDから順番に消去される。
【0060】
一方、図2(c)に示すように、N枚よりも少ない格納画像M枚(M<N)のカードCが挿入された場合は、その格納画像M枚分のカード情報CDを保存しうる容量でカード情報保存用プール32bが割当てられる。図2(b),(c)に示すように、カード情報保存用プール32bの容量が少ない場合ほど、ファイルキャッシュ用プール32eの容量を広く確保できる。
【0061】
また、図2(c)に示す状態からカードCを挿着したまま、キー部28の操作で他のモード(例えば通常印刷モード等)へモード変更された場合、変更後のモードでUI画像保存用プール32cに必要な容量が小さくなれば、各プール32c,32dが再割当てされることにより、そのプール32cの容量が減った分だけファイルキャッシュ用プール32eの容量が増えることになる。このとき、カードCが挿着されたままなので、カード情報CDのアドレスを変更できずカード情報保存用プール32bは再割当てできない。しかし、固定長のプログラム保存用プール32aに隣接するようにカード情報保存用プール32bを、他の可変長の各種プールの中で一番先頭のエリアに配置しているので、UI画像保存用プール32cが小さくなった分、印刷画像生成用プール32dを先頭側へ詰めることで、使用できない領域が発生しないようになっている。
【0062】
次に、この複合機11の動作を説明する。図3及び図4は、本実施形態に係る再割当処理ルーチンのフローチャートである。図3はカード挿入時の再割当処理ルーチンを示し、図4はカード抜取り時の再割当処理ルーチンを示す。CPU30は、複合機11が電源オン状態にあるときには、例えば所定時間(一例として数10ミリ秒〜1秒の範囲内の値)毎に、図3に示すカード挿入時の再割当処理ルーチンのプログラムを実行する。また、CPU30は、カード挿着状態にあるときには、図4に示すカード抜取り時の再割当処理ルーチンのプログラムを実行する。なお、CPU30は、カードCが1つも挿入されていない状態で「0」とし、カードCが1つでも挿入された状態にあれば「1」とするカード有無判定フラグ(以下、単に「判定フラグ」と称す)を有する。そして、CPU30は、この判定フラグが「0」のときに図3に示すプログラムを実行し、この判定フラグが「1」のときに図3及び図4に示す両プログラムを実行するようになっている。
【0063】
まず、カード挿入時のメモリーにおけるプールの再割当処理について、図3に示すフローチャートに従って説明する。ここで、カードCが挿入されるときの状態には次の2つの場合がある。1つは、1つもカードCが挿着されていない状態(カード非挿着状態)においてカードCが挿入された場合であり、他の1つは、既に先のカードC(先行カード)が挿着されている状態で、他(後続)のカードCが挿入された場合である。また、カードCが挿入されるタイミングはユーザーに依存するため、カード挿入時に複合機11が動作中(例えば印刷動作中やスキャン動作中)のときもある。前述のように、判定フラグが「0」又は「1」のときに、CPU30は図3に示すカード挿入時の再割当処理ルーチンを実行する。
【0064】
まずステップS10では、カードCの挿入を検出したか否かを判断する。すなわち、カード挿抜検出部57がメモリーカードI/F38からの信号及び通信I/F39からの信号に基づきカードCが挿入されたか否かを判断する。カードCの挿入を検出すれば(S10で肯定判定)ステップS20に進み、一方、カードCの挿入を検出しなければ(S10で否定判定)当該ルーチンを終了する。
【0065】
ステップS20では、先に挿着された先行カードがあるか否かを判断する。先行カードがなければステップS30に進み、一方、先行カードがあれば先行カードが抜き取られるまで待機した後、ステップS30に進む。この判断は、有効カード判定部51が行う。つまり、先行カードがある場合は、後続カードの挿入が検出されても、有効カード判定部51により、先行カードが有効で後続カードが無効と判定されるので、先行カードが挿入状態にあって有効であるうちは待機し、先行カードが抜取られて後続カードが有効になった時点で、ステップS30に進む。このときモニター21には有効な先行カードに関する情報が表示制御部60により現在表示中であり、現在表示中の先行カードが抜き取られると、後続カードが有効になり、ステップS30に進む。
【0066】
ステップS30では、複合機11が動作中であるか否かを判断する。複合機11が動作中でなければステップS40に進み、一方、複合機11が動作中であれば、その動作の終了を待ってからステップS40に進む。複合機11が例えば印刷動作中、コピー動作中、スキャン動作中などの場合は、その動作中の動作が終了した後にステップS40に進む。
【0067】
ステップS40では、挿入を検出したカードCの格納画像枚数を確認する。すなわち、カードCにアクセスして格納画像の枚数をカウントアップする。この格納画像枚数のカウントアップは、カウントアップ部53が行う。
【0068】
次のステップS50では、プールの容量を取得する。演算部54は、S40でカウントアップした格納画像枚数からカード情報の容量を演算する。このカード情報の容量がカード情報保存用プール32bの容量に等しい。もしカード情報の容量よりカード情報保存用プール32bの容量がマージンを考慮するなどして大きい場合は、演算部54は、カード情報CDの容量にマージン分を加えてカード情報保存用プール32bの容量を算出する。もちろん、演算部54が、格納画像枚数を基に、マージン分を含むカード情報保存用プール32bの容量を演算してもよい。本実施形態では、カード挿入検出時に、カード印刷モードに変更する。そして、演算部54は、テーブルデータを参照してカード印刷モードに応じたUI画像保存用プール32cの容量を取得し、別のテーブルデータを参照して印刷速度モードに応じた印刷画像生成用プール32dの容量を取得する。
【0069】
次のステップS60では、画面をクローズする。すなわち、表示制御部60がそれまでモニター21に表示されていたUI画面を閉じる。この結果、モニター21の画面は黒くなる。
【0070】
次のステップS70では、プール再割当を行う。例えば1つもカードCが挿着されていない状態でカードCを挿着した場合は、図2(a)に示すカード非挿着時のプール割当構造からプールを再割当し、図2(b)又は(c)に示すカード挿着時のプール割当構造となる。再割当部55は、メモリー61の先頭に位置する固定長のプログラム保存用プール32aに対してメモリー終端側に隣接する位置に、S50で算出した容量をもつカード情報保存用プール32bを作成する。このとき、他の可変長のUI画像保存用プール32c及び印刷画像生成用プール32dも、S50で算出した容量が確保されるように作成する。
【0071】
ステップS80では、プールに情報を格納する。データ格納処理部58は、カードCからカード情報CDを読み込んでカード情報保存用プール32bに格納する。また、再割当部55がカード印刷モード用のUI画像データUDをUI画像保存用プール32cに格納し、さらにファイルキャッシュ用プール32eにそれまで格納されていた画像データがあればその画像データを格納する。このとき、印刷画像生成用プール32dには何も格納されない。
【0072】
こうしてメモリーの再割当てが完了すると、ステップS90において、カード検出完了画面を表示する。この表示処理は表示制御部60が行う。
さらに次のステップS100では、カード情報を画面に表示する。すなわち、表示制御部60が、S40でカウントアップ部53が計数した格納画像枚数の情報と、カード情報保存用プール32bに格納されたカード情報の中から予め表示用に設定された一部のカード情報(例えばファイル名やファイル作成日時等)を読み取って、モニター21の画面に表示させる。このとき、ステップS20において先行カードありと判定された後に先行カードが抜き取られてステップS30以降の処理に進んだ場合、このステップS100,S110において表示制御部60が後続カードに関する情報をモニター21に現在表示中にする。なお、本実施形態では、ステップS10の処理が検出ステップに相当する。また、ステップS40及びS50の処理が容量取得ステップに相当する。さらにステップS70の処理が再割当ステップに相当し、ステップS80の処理が格納ステップに相当する。
【0073】
次にメモリーカード抜取り時のプール再割当処理ルーチンを図4のフローチャートに従って説明する。CPU30は、判定フラグが「1」にあるとき、すなわち1つでもカードCが挿着されているときに本ルーチンを実行する。
【0074】
まずステップS210では、カードCの抜取りを検出したか否かを判断する。すなわち、カード挿抜検出部57がメモリーカードI/F38からの信号及び通信I/F39からの信号に基づきカードCが抜き取られたか否かを判断する。カードCの抜取りを検出しなかった場合は当該ルーチンを終了し、一方、カードCの抜取りを検出した場合はステップS220に進む。
【0075】
ステップS220では、複合機11が動作中であるか否かを判断する。この判断処理は、ステップS30と同様の処理であり、動作判定部52が行う。複合機11が動作中でなければステップS230に進み、一方、複合機11が動作中であれば、その動作の終了を待ってからステップS230に進む。
【0076】
ステップS230では、画面をクローズする。すなわち、表示制御部60がそれまでモニター21に表示されていたUI画面を閉じる。この結果、モニター21の画面は黒くなる。
【0077】
次のステップS240では、プール再割当を行う。すなわち、再割当部55がカード情報保存用プール32bを開放しつつプール再割当を行う。その結果、図2(b)又は図2(c)に示すカード情報保存用プール32bが開放され、図2(a)に示すカードが挿入されていない場合のプールに再割当てされる。
【0078】
次のステップS250では、カード抜取完了画面を表示する。
次のステップS260では、ホーム画面を表示する。ここで、モニター21へのカード抜取完了画面及びホーム画面の表示は表示制御部60が行う。
【0079】
図5及び図6は、カード挿抜時のプール再割当処理のシーケンス図である。図5はカード挿入時におけるシーケンス、図6はカード抜取り時におけるシーケンスを示す。これらの各シーケンスは、図3及び図4の各ルーチンを含むプログラムを実行するCPU30により構成されるコントロール部41、カードデバイス部42及びユーザーインターフェイス部43により行われる。まずカード挿入時におけるシーケンスを図5に従って説明する。
【0080】
カードCが挿入されたことを検出したカードデバイス部42はコントロール部41へ挿入通知を行う。コントロール部41は挿入通知を受け付けると、カードCの格納画像枚数を確認する。画像枚数を確認したコントロール部41はユーザーインターフェイス部43に対して画面クローズを指示する。ユーザーインターフェイス部43は画面クローズ指示に従って画面クローズ処理を行ってモニター21から画面を無くす。コントロール部41は、ユーザーインターフェイス部43からの画面無し完了通知を受け付けると、プール再割当てを行う。プール再割当てを完了したコントロール部41はカードデバイス部42に対してカード情報格納依頼を行う。カード情報格納依頼を受け付けたカードデバイス部42はカードCからカード情報CDを読み込んでメモリー61のカード情報保存用プール32bに格納し、コントロール部41に対してカード情報格納完了通知を行う。
【0081】
コントロール部41はカード情報格納完了通知を受け付けると、ユーザーインターフェイス部43に対してカード情報表示依頼を行う。ユーザーインターフェイス部43はカード情報表示依頼を受け付けると、モニター21にカード検出完了画面とカード情報表示画面を順次表示する。
【0082】
このカード挿入時には、図5に示すように、カード挿入前の任意画面(第1画面)からカード検出完了画面(第2画面)へ切り換わる過程で一瞬画面が黒くなり、この一瞬画面が黒くなっている間にプール再割当て及びプールへの情報の格納が行われる。ここで、プール再割当処理は、UI画像保存用プール32cの開放を伴うためUI画像データが一旦消去されてモニター21が一瞬黒くなることを避けられないが、これを画面の切り換えのタイミングで行うので、ユーザーにほとんど違和感を与えることがない。
【0083】
次にカード抜取り時におけるシーケンスを図6に従って説明する。カードCが抜き取られたことを検出したカードデバイス部42はコントロール部41へ抜取通知を行う。コントロール部41は抜取通知を受け付けると、ユーザーインターフェイス部43に対して画面クローズを指示する。ユーザーインターフェイス部43は画面クローズ指示に従って画面クローズ処理を行ってモニター21から画面を無くす。コントロール部41はユーザーインターフェイス部43からの画面無し完了通知を受け付けると、プール再割当てを行う。プール再割当てを完了したコントロール部41はユーザーインターフェイス部43に対してカード抜取表示依頼を行う。ユーザーインターフェイス部43はカード抜取表示依頼を受け付けると、モニター21にカード抜取完了画面とホーム画面を順次表示する。
【0084】
このカード抜取り時においても、図6に示すように、カード情報表示画面(第1画面)からカード抜取完了画面(第2画面)へ切り換わる過程で一瞬画面が黒くなり、この一瞬画面が黒くなっている間にプール再割当てが行われ、カード情報保存用プール32bが開放される。前述のように、プール再割当処理は、UI画像保存用プール32cの開放を伴うためモニター21が一瞬黒くなることを避けられないが、カード抜取り時も、このプール再割当処理を画面の切り換えタイミングで行うので、ユーザーにほとんど違和感を与えることがない。
【0085】
ここで、カードCの格納画像枚数が少ないほどファイルキャッシュ用プール32eを広くでき、ファイルキャッシュ用プール32eに保存できる画像データ数が増える構成であることは、以下の方法で確認できる。すなわち、格納画像枚数の異なるメモリーカードを挿し替えた前後において、格納画像枚数に応じてファイルキャッシュ用プール32eの容量が変化することに伴う複合機11の印刷速度の変化を調べる。以下、図2を参照しつつ説明する。図2(b)に示す格納画像N枚のカードMC1が挿着されているときの印刷速度と、図2(c)に示す格納画像M枚(但し、M<N)のカードMC2が挿着されているときの印刷速度とを比較する。但し、各カードMC1、MC2中の画像データIDは全て同じデータ容量(データサイズ)であるものとする。なお、画像データIDが異なっていれば(つまり別データ(別ファイル)であれば)、画像は同じであってもよい。
【0086】
電源投入後一度も印刷を行っていない初期状態の複合機11に、格納画像N枚のカードMC1を挿着すると、プールの再割当てが行われ、図2(b)に示す状態にメモリー61の各プールは再割当てされる。このとき、複合機11はカード印刷モードにある。また、印刷前の初期状態なので、ファイルキャッシュ用プール32eは空の状態にある。
【0087】
キー部28の操作で異なる画像を1枚ずつ選択しつつ選択した画像を1枚ずつ順番に印刷する。この複数枚の画像の印刷を進める過程で、印刷に用いられた画像データIDは、図2(b)に示すファイルキャッシュ用プール32eに順次保存される。保存した画像データがファイルキャッシュ用プール32eを満たし、ファイルキャッシュ用プール32eにこれ以上の画像データを格納できなくなった場合、一番旧い画像データを消去し、消去により確保された格納領域に新規の画像データを保存するようになっている。
【0088】
このため、ファイルキャッシュ用プール32eを画像データIDで満たすために、カードMC1から毎回異なる画像データに基づく画像を印刷してその印刷枚数が十分な所定枚数(ファイルキャッシュ用プール32eの最大記憶容量を超えるデータ容量分の画像枚数)に達したら、印刷を止める。このとき、図2(b)に示すファイルキャッシュ用プール32eには、その容量以内に収まる最新のA枚の画像データIDが保存されている。
【0089】
ここで、ファイルキャッシュ用プール32eに格納されている画像データを用いて印刷する場合は、1枚当たりの印刷所要時間(秒/枚)が比較的短く済む。これに対して、ファイルキャッシュ用プール32eに格納されていない画像データを用いて印刷する場合は、印刷の都度、カードCにアクセスして画像データIDの読み込み動作が必要なので、その読み込み動作の所要時間の分だけ1枚当たりの印刷所要時間(秒/枚)が長くなってしまう(つまり印刷速度が遅くなる)。
【0090】
次に、それまで印刷した画像の順番の逆を辿る順番で画像を1枚ずつ印刷してゆく。このとき逆の順番で印刷を開始してから、最初のA枚分の画像についてはその画像データIDがファイルキャッシュ用プール32eに保存されているので、1枚当たりの印刷所要時間(秒/枚)が短く済む。よって、逆の順番で画像の印刷を開始してから、1枚当たりの印刷所要時間(秒/枚)が、ある枚数目(この例では(A+1)枚目)から長くなると(つまり印刷速度が遅くなると)、それまでの相対的に短い印刷所要時間(秒/枚)(つまり相対的に高速な印刷速度)で印刷できた画像枚数「A枚」を取得できる。
【0091】
次に、格納画像N枚のカードMC1を抜取り、次に格納画像M枚(M<N)のカードMC2に挿し替える。このとき、格納画像N枚のカードMC1を抜取った際にプールの再割当てが行われ、図2(b)におけるカード情報保存用プール32bが開放され、メモリー61は一旦図2(a)に示す状態になる。次に格納画像M枚のカードMC2を複合機11に挿着したときに、メモリー61におけるプールの再割当てが行われる。この結果、図2(c)に示すようにメモリー61のプールは再割当てされる。ここで、今度のカードMC2の格納画像枚数がM枚と前回のカードMC1の格納画像枚数のN枚よりも少ないので、今度の方が、カード情報保存用プール32bが前回より減った分だけファイルキャッシュ用プール32eが拡大することになる(図2(b),(c)参照)。このときファイルキャッシュ用プール32eは空の状態にある。
【0092】
次に格納画像M枚のカードMC2が挿着された状態で、前回のカードMC1挿着時と同様の手順で毎回画像データを変更しつつ画像を1枚ずつ順番に印刷する。そして十分な枚数(所定数)の画像を印刷すると、印刷を止める。このとき、図2(c)に示すファイルキャッシュ用プール32eには、その容量以内に収まる最新のB枚の画像データIDが保存されている。次にそれまで印刷した画像の順番の逆を辿る順番で1枚ずつ画像の印刷を進める。逆の順番で画像の印刷を開始してから、1枚当たりの印刷所要時間(秒/枚)が、ある枚数目(この例では(B+1)枚目)から長くなると(つまり印刷速度が遅くなると)、それまでの相対的に短い印刷所要時間(秒/枚)(つまり相対的に高速な印刷速度)で印刷できた画像枚数「B枚」を取得できる。
【0093】
格納画像枚数がそれぞれN枚とM枚である各カードMC1,MC2を用いて上記の手順でカード印刷を行うことで取得されたA枚とB枚は、それぞれファイルキャッシュ用プール32eの容量に応じた値になっている。このため、A<Bの関係が成立すれば、ファイルキャッシュ用プール32eがカードCの格納画像枚数に応じて、その格納画像枚数が少ないほど記憶容量が増えるように変化する可変長のプールであることの証拠となる。そして、A<Bの関係が成立すれば、ファイルキャッシュ用プール32eの容量を決めているカード情報保存用プール32bが、カードCの格納画像枚数に応じて、その格納画像枚数が少ないほど記憶容量が減るように変化する可変長のプールであることの証拠となる。
【0094】
本実施形態のようにカード情報保存用プール32bが可変長であると、格納画像枚数が少なければそれに応じてファイルキャッシュ用プール32eの容量が増えるので、ファイルキャッシュ用プール32eに格納可能な画像データ数が増える。この結果、カードMC2にアクセスすることなく迅速に印刷できる画像枚数が相対的に増えることになる。よって、想定最大格納枚数(例えば9990枚)分のカード情報を格納可能な容量をもつ固定長のカード情報保存用プールを割り当てる構成に比べ、一度印刷した画像を再度印刷する場合に、その画像データがファイルキャッシュ用プール32eに残っている頻度が高くなり、迅速に印刷できる画像の頻度を相対的に高めることができる。
【0095】
なお、カードCを挿し替えても前回のカードCの画像データがファイルキャッシュ用プールに残る構成の場合は、カードCを変更する度に複合機11の電源を投入し直して、同様の手順で複数枚の画像を印刷すれば、同様に、A<Bの関係が得られる。
【0096】
また、格納画像M枚のカードMC2が挿入されている図2(c)に示す状態で、キー部28の操作でモードを変更した場合も、図2(d)に示すように、メモリー61において使用できない領域が発生しないようにプールの再割当てが行われる。ここで、カードCが挿着状態にある間は、メモリー61におけるカード情報CDのアドレスが変更されると、カード情報CDにアクセスできなくなるので、カード情報保存用プール32bの再割当ては行われない。例えばカード印刷モードから他のモード(例えば通常印刷モードやコピーモード等)に変更したとすると、カード情報保存用プール32b以外の可変長のプール32c,32d,32eの再割当てが行われる。このとき、UI画像保存用プール32cは変更後のモードに応じた容量に変更され、UI画像保存用プール32cの容量が減った分だけ印刷画像生成用プール32dが先頭側へ詰められる。その結果、使用できない領域が発生することなく、その詰められた分だけファイルキャッシュ用プール32eの容量が増えることになる。これは、カード情報保存用プール32bを固定長のプログラム保存用プール32aに隣接して配置したことによりできたことである。
【0097】
図7は、可変長のカード情報保存用プールを追加する構成の比較例を示す。図7(a)に示すように、カードが挿入されると、可変長のカード情報保存用プール62が、他の可変長のプール32c、32dに対してメモリー終端側の後続位置に配置される。この状態でカードを挿着したままモードを変更すると、UI画像保存用プール32cが小さくなるものの、カード情報保存用プール62を移動できないので、印刷画像生成用プール32dとカード情報保存用プール62との間に使用できない領域が発生してしまう。この場合、ファイルキャッシュ用プール32eの容量を増やすことができない。
【0098】
これに対し、本実施形態では、カード情報保存用プール32bを可変長のプールのうち、先頭に位置する固定長のプログラム保存用プール32aに隣接する一番先頭側の位置に配置した。このため、モード変更時には、図2(d)に示すように、カード情報保存用プール32bの位置がそのままでも、UI画像保存用プール32cがモード変更により狭くなった分だけ印刷画像生成用プール32dを先頭側へ詰めるように再割当てが行われ、ファイルキャッシュ用プール32eの容量を増やすことができる。
【0099】
以上詳述したように、本実施形態では、以下に示す効果を得ることができる。
(1)カード情報保存用プール32bを可変長とし、カードCが挿着されたときにカード情報保存用プールが作成される構成としたので、カードCの非挿着時において、画像保存エリアとして使用されるファイルキャッシュ用プール32eに多くのメモリー領域を割くことができる。
【0100】
(2)カード挿入検出時にカウントアップ部53がカードCにアクセスして計数した格納画像枚数からカード情報CDの容量(つまりカード情報保存用プール32bの容量)を取得し、その取得した容量を基にプールの再割当てを行う構成とした。よって、カードCの格納画像枚数をモニター21に表示するためにカウントアップした情報を基にカード情報CDの容量を取得(推定)するので、カードCにアクセスしてカード情報CDのデータ容量を取得するためだけの余分な処理を省略できる。
【0101】
(3)カード挿入検出時のプール再割当て時に、カードCの格納画像枚数分のカード情報のデータ容量に合わせた記憶容量になるようにカード情報保存用プール32bを作成するので、無駄なくメモリー61を利用することができる。
【0102】
(4)カードCの挿抜に伴う画面切り替えのタイミングでプールの再割当てを行うため、画面を一瞬非表示にせざるを得ないプール再割当てを行ってもユーザーに違和感を与えにくい。
【0103】
(5)カード情報保存用プール32bを、固定長のプール(一例としてプログラム保存用プール32a)に対しメモリー終端側に隣接しかつ可変長のプールのうち一番先頭側の位置に割り当てるようにした。よって、カード挿着状態でモード変更を行っても、カード情報保存用プール32bを再割当てすることなく、他の可変長プールの再割当てを、使用できない領域が発生しないように行うことができる。そのため、ファイルキャッシュ用プール32eに多くのメモリー領域を割くことができる。
【0104】
(6)先行のカードCが挿着されている状態で後続のカードCを挿着した場合は、後続のカードCの挿着が検出されても再割当部55によるプールの再割当処理を一時的に保留する。このため、先行のカードCが挿着されているにも関わらず、メモリー61から先行のカードCから読み込んだカード情報CD及び画像データIDが消去される不都合を回避できる。
【0105】
(7)先行のカードCの抜取りを検出すると、保留を解除して後続のカードの挿入検出に伴うプールの再割当てを行うので、先行のカードCに関するカード情報CD及び画像データIDを不要になってから消去できるうえ、後続のカードCが有効になった時点でそのカード情報CDをメモリー61に読み込んでおくことができる。
【0106】
(8)カードCの挿抜を検出した際に複合機11が動作中であった場合は、カードCの挿抜の検出に伴う再割当部55によるプールの再割当処理を一時的に保留する。このため、複合機11が動作中であるにも関わらず、メモリー61から動作中の際にモニター21に表示すべきUI画像データUDが消去される不都合を回避できる。
【0107】
(9)カードCの挿抜検出時に動作中であった複合機11の動作が終了すると、保留を解除してカードの挿抜の検出に伴うプールの再割当てを行うので、動作中の動作が終了して不要になってからその動作のためのUI画像データUDをメモリー61から消去できるうえ、カードCの挿抜検出に伴うプールの再割当てを、それが実行可能になった段階で速やかに実行できる。
【0108】
(10)格納画像N枚のカードCから格納画像M枚(但し、M<N)のカードCに挿し替えたときに、毎回異なる画像データを選択しつつ十分な枚数の画像を印刷した後、それまで印刷した画像の順番の逆を辿る順番で画像データを選択しつつ毎回異なる画像データに基づく画像を印刷する。この場合、印刷速度が遅くなるまでに相対的に高速で印刷できる画像の枚数が、格納画像N枚のカードCが挿着されているときのA枚よりも、N枚より少ない格納画像M枚のカードCが挿着されているときのB枚の方が多い(A<B)。よって、格納画像枚数のより少ないカードCに挿し替えた場合、ファイルキャッシュ用プール32eの記憶容量が増えて、ファイルキャッシュ用プール32eに格納できる画像データIDの個数を増やすことができる。
【0109】
なお、上記実施形態は以下のような形態に変更することもできる。
・実施形態において、容量取得手段は、カウントアップ部53が計数した格納画像枚数を利用する構成ではなく、例えばカード情報CDのサイズから容量を特定してもよい。また、格納画像数分のカード情報の容量を外部記憶媒体に一情報(容量情報)として格納する構成とし、外部記憶媒体から読み込んだその容量情報に基づき容量を取得する構成でもよい。
【0110】
・外部記憶媒体の挿着の検出に伴い外部記憶媒体から読み込むべき画像特定情報は、カード情報CDに限定されない。カード情報CDのうち一部の情報でもよい。例えばファイル情報とパス情報のうち一方だけでもよい。但し、キー部28(操作手段)の操作で指定された画像に対応する画像データを迅速に読み込むために外部記憶媒体における画像データの格納位置を特定できるパス情報を含むことが好ましい。
【0111】
・実施形態において、固定長のプール(格納領域)は複数あってもよい。この場合、複数の固定長のプールはメモリーの先頭側の領域に配置し、カード情報保存用プール32bは固定長のプールに対してメモリー終端側の位置でかつ可変長のプールの中で一番先頭側の位置に配置すればよい。
【0112】
・固定長のプール(格納領域)が、メモリーの終端側のエリアに配置される構成でもよい。この場合、画像特定情報保存用の格納領域(一例としてカード情報保存用プール32b)は、モード変更後の再割当ての際に使用できない領域が発生しないように固定長の格納領域に対して隣接する位置に配置されることが望ましい。さらに画像特定情報保存用の格納領域は、固定長のプールに対し隣接する位置に配置されることに限定されず、可変長のプールである限りにおいて任意の位置に配置してよい。この場合、外部記憶媒体を挿着したままモード変更した場合に、使用できない空きが発生するものの、少なくとも外部記憶媒体の挿着検出時においては、画像特定情報保存用の格納領域が、外部記憶媒体の格納画像数に応じて容量を変化させるように可変長の格納領域として作成されるので、メモリーの領域を有効に活用できる。
【0113】
・電子機器は、印刷機能を有するだけの印刷装置(プリンター)でもよい。さらに電子機器は、リアルタイムOSのようなガーベージ・コレクションの機能を有しないOSで動作する電子機器に広く適用できる。この場合、動作部は、印刷動作部に限定されず、外部記憶媒体から読み込んだ画像データに基づく画像を表示手段に表示させる表示動作部であってもよい。ガーベージ・コレクションの機能を有しないOSで動作する電子機器である限りにおいて、プロジェクター、写真表示装置(デジタルフォトフレーム)、携帯電話などの電子機器に適用することもできる。
【0114】
・外部記憶媒体は、メモリーカード、USBメモリー以外のものでもよく、例えばICカード、DVD、CD−Rなどの光ディスクや磁気ディスクでもよい。ディスクの場合、電子機器の本体に組み込まれた読取装置のディスクセット用のトレイが被挿着部に相当する。
【0115】
上記実施形態及び変形例から把握される技術的思想を以下に記載する。
(イ)前記動作部に動作を行わせるための画像を指定する操作手段(28)を更に備え、前記格納手段(58)は、指定された画像に係る画像データの前記外部記憶媒体における格納位置を所得し、当該外部記憶媒体の前記格納位置から画像データを読み込んで前記メモリーに格納し、前記動作部は前記メモリーに格納された前記画像データに基づいて動作することを特徴とする請求項1乃至7のうちいずれか一項に記載の電子機器。
【0116】
(ロ)前記容量取得手段は、前記外部記憶媒体にアクセスして格納画像数を計数し、当該計数した格納画像数に基づいて前記容量を取得することを特徴とする請求項1乃至7のうちいずれか一項に記載の電子機器。
【0117】
(ハ)前記再割当手段は、プログラムを格納するためのプログラム用の格納領域(32a)を含む少なくとも1つの固定長の格納領域(32a)を前記メモリーの先頭側の領域に割り当て、前記画像特定情報の格納領域を可変長とし、前記固定長の格納領域(32a)に対してメモリーの終端側でかつ可変長の他の格納領域(32c,32d)よりも先頭側に配置することを特徴とする請求項1乃至7のうちいずれか一項に記載の電子機器。
【0118】
(ニ)前記メモリーにおいて前記再割当手段が格納領域を割り当てた残りの領域が、前記動作部の動作を行うために用いられた画像データを保存しておくための格納領域(32e)として使用されることを特徴とする請求項1乃至7のうちいずれか一項に記載の電子機器。
【0119】
(ホ)前記格納手段(58)は、前記外部記憶媒体が挿着されているときは、操作手段(28)の操作により指定された画像のアドレスを前記画像特定情報を参照して得ると共に前記外部記憶媒体における前記アドレスから画像データを読み込んで、前記メモリーにおける前記画像データ保存用の格納領域(32e)に格納することを特徴とする請求項1乃至7のうちいずれか一項に記載の電子機器。
【0120】
(ヘ)案内表示手段(21)と、前記メモリーにおける不連続領域を連続領域に置き直すガーベージ・コレクション機能を有しないオペレーティングシステムと前記動作部の動作を制御する制御プログラムとを含むプログラムと、前記案内表示手段にそのときの動作モードに応じた画面を表示させるために用いられる画面データ(UD)とを記憶する不揮発性メモリー(33)とを更に備え、前記再割当手段は、前記プログラムを格納するための固定長のプログラム保存用の格納領域(32a)と、そのときの動作モードに応じた前記画面データを格納するための可変長の画面データ保存用の格納領域(32c)と、前記外部記憶媒体から読み込むべき前記画像特定情報を格納すべき可変長の画像特定情報保存用の格納領域(32b)と、前記画像データを前記動作部が動作を行える制御データに変換する過程のデータを一時格納するバッファーとして用いられる可変長の制御データ生成用の格納領域(32d)と、前記メモリーにおいて前記各格納領域が再割当てされた残りの領域を前記画像データを格納するための画像データ保存用の格納領域(32e)とを含む複数の格納領域を再割当てすることを特徴とする請求項1乃至7のうちいずれか一項に記載の電子機器。
【符号の説明】
【0121】
11…電子機器としての複合機、19A,19B…被挿着部としてのスロット、20…被挿着部としてのUSBポート、21…案内表示手段を構成するモニター、28…キー部(操作手段)、30…コンピューターを構成するCPU、31…コンピューターを構成するROM、32…コンピューターを構成すると共にメモリーとしてのRAM、32a…固定長の格納領域としてのプログラム保存用プール、32b…可変長の格納領域としてのカード情報保存用プール、32c…可変長の格納領域としてのUI画像保存用プール、32d…可変長の格納領域としての印刷画像生成用プール、32e…可変長の格納領域としてのファイルキャッシュ用プール、33…EEPROM(不揮発性メモリー)、36…スキャナー機能部、37…プリンター機能部、38…メモリーカードI/F部、39…通信I/F部、40…、41…コントロール部、42…カードデバイス部、43…ユーザーインターフェイス部、51…有効カード判定部、52…判断手段としての動作判定部、53…容量取得手段を構成するカウントアップ部、54…容量取得手段を構成する演算部、55…再割当手段としての再割当部、56…画像データ処理部、57…検出手段としてのカード挿抜検出部、58…格納手段を構成するデータ格納処理部、59…受付処理部、60…表示制御部、61…メモリー、62…カード情報保存用プール、MC,MC1…外部記憶媒体及び第1の外部記憶媒体としてのメモリーカード、MC,MC2…外部記憶媒体及び第2の外部記憶媒体としてのメモリーカード、UM…外部記憶媒体としてのUSBメモリー、C…外部記憶媒体としてのカード、PR…プログラム、CD…画像特定情報としてのカード情報、UD…画面データとしてのUI画像データ、PD…印刷画像データ(制御データ)、ID…画像データ。

【特許請求の範囲】
【請求項1】
メモリーと、当該メモリーに格納される画像データに基づき動作する動作部とを備えた電子機器であって、
外部記憶媒体の挿抜が可能な被挿着部と、
前記被挿着部に対する外部記憶媒体の挿抜を検出する検出手段と、
前記検出手段が外部記憶媒体の挿着を検出すると、当該外部記憶媒体に格納された画像データを特定可能な画像特定情報に係る当該外部記憶媒体の格納画像数分の容量を当該外部記憶媒体にアクセスして取得する容量取得手段と、
前記容量に基づいて前記メモリーにおける格納領域の再割当てを行って前記画像特定情報の格納領域を確保する再割当手段と、
前記再割当てにより確保された前記格納領域に前記外部記憶媒体から読み込んだ前記画像特定情報を格納する格納手段と、
を備えたことを特徴とする電子機器。
【請求項2】
前記動作部は印刷動作を行う印刷動作部であって、
外部記憶媒体を挿し替えた場合には、挿し替え前の外部記憶媒体から読み込まれた画像データを前記メモリーから消去するように構成されており、
前記再割当手段により再割当てされた格納領域の1つは前記動作部が印刷動作を行うために使用した画像データを保存するための画像データ保存用の格納領域であり、
外部記憶媒体から毎回異なる画像データを取得しつつ前記動作部による印刷動作を前記画像データ保存用の格納領域が保存の画像データで満たされるまで行った後、次にそれまで印刷した画像の順番の逆を辿る順番で毎回画像データを変更しつつ印刷動作を行った場合、N個の画像データが格納された第1の外部記憶媒体が挿着された状態で前記印刷動作を行った場合に比べ、N個より少ないM個(但しM<N)の画像データが格納された第2の外部記憶媒体に挿し替えて前記印刷動作を行った場合の方が、前記逆を辿る順番で画像の印刷を開始してから、前記動作部による画像の印刷速度が落ちるまでに相対的に高速で印刷できる画像枚数が増えるように構成されていることを特徴とする請求項1に記載の電子機器。
【請求項3】
前記検出手段が前記外部記憶媒体の前記被挿着部からの抜取りを検出すると、前記再割当手段は、当該外部記憶媒体用に割当てていた格納領域を開放しつつ前記メモリーにおける格納領域の再割当てを行うことを特徴とする請求項1又は2に記載の電子機器。
【請求項4】
前記検出手段が前記外部記憶媒体の挿抜を検出したときに前記動作部が動作中であるか否かを判断する判断手段を更に備え、
前記外部記憶媒体の挿抜が検出されたときに前記判断手段が前記動作中であると判断した場合、前記再割当手段は前記メモリーにおける格納領域の再割当てを前記判断手段が前記動作中でないと判断するまで保留することを特徴とする請求項2又は3に記載の電子機器。
【請求項5】
前記被挿着部を複数備え、
前記検出手段が、前記複数の被挿着部のうちの1つに外部記憶媒体が既に挿着されている状態で、複数の被挿着部のうちの他の1つの被挿着部に他の外部記憶媒体が挿着されたことを検出した場合、前記再割当手段は、前記検出手段が先に挿着されていた前記外部記憶媒体の抜き取りを検出するまで、前記メモリーにおける格納領域の再割当てを保留することを特徴とする請求項1乃至4のうちいずれか一項に記載の電子機器。
【請求項6】
案内表示手段を更に備え、
前記再割当手段は、
複数の外部記憶媒体が挿着されているときに、前記案内表示手段に現在表示中の外部記憶媒体が抜取られた場合に、前記再割当手段は、抜き取られていない前記外部記憶媒体の画像特定情報の格納領域を確保すべく前記メモリーに対して格納領域の再割当てを行い、前記案内表示手段は、抜き取られていない前記外部記憶媒体を現在表示中にすることを特徴とする請求項5に記載の電子機器。
【請求項7】
案内表示手段を更に備え、
前記案内表示手段に表示される画面は、前記外部記憶媒体の挿抜の検出の前後で切り換わる構成であり、
前記再割当手段は、前記案内表示手段に画面を表示する際に用いる画面データを格納する格納領域を前記再割当てで確保する構成であり、
前記案内表示手段が前記外部記憶媒体の挿抜前の第1画面から、前記外部記憶媒体の挿抜の検出に伴う第2画面に切り換わるときに、前記再割当てを行うことを特徴とする請求項1乃至6のうちいずれか一項に記載の電子機器。
【請求項8】
外部記憶媒体を挿抜可能な被挿着部を有する電子機器において外部記憶媒体が挿着されたときに当該外部記憶媒体から読み込むべき画像特定情報を格納するための格納領域をメモリーに確保するメモリー管理方法であって、
外部記憶媒体が前記被挿着部に挿着されたことを検出する検出ステップと、
外部記憶媒体の挿着が検出されると、当該外部記憶媒体にアクセスして当該検出に伴い当該外部記憶媒体から読み込むべき当該外部記憶媒体の格納画像数分の画像特定情報の容量を取得する容量取得ステップと、
前記容量に応じた格納領域を確保すべく前記メモリーにおける格納領域の再割当てを行う再割当ステップと、
前記外部記憶媒体から格納画像数分の画像特定情報を読み込んで前記確保された格納領域に当該画像特定情報を格納する格納ステップと、
を備えたことを特徴とする電子機器におけるメモリー管理方法。
【請求項9】
外部記憶媒体を挿抜可能な被挿着部を有する電子機器におけるコンピューターが、外部記憶媒体が挿着されたときに当該外部記憶媒体から読み込むべき画像特定情報を格納するための格納領域をメモリーに確保するために実行するプログラムであって、
コンピューターが、外部記憶媒体が前記被挿着部に挿着されたことを検出する検出ステップと、
外部記憶媒体の挿着が検出されると、コンピューターが、当該外部記憶媒体にアクセスして当該検出に伴い当該外部記憶媒体から読み込むべき当該外部記憶媒体の格納画像数分の画像特定情報の容量を取得する容量取得ステップと、
コンピューターが、前記容量に応じた格納領域を確保すべく前記メモリーにおける格納領域の再割当てを行う再割当ステップと、
コンピューターが、前記外部記憶媒体から格納画像数分の画像特定情報を読み込んで前記確保された格納領域に当該画像特定情報を格納する格納ステップと、
を備えたことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−81606(P2011−81606A)
【公開日】平成23年4月21日(2011.4.21)
【国際特許分類】
【出願番号】特願2009−233434(P2009−233434)
【出願日】平成21年10月7日(2009.10.7)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】