(57)【要約】【課題】  装置に着脱可能な不揮発性記憶媒体（メモリカード）から装置内蔵のＲＡＭにプログラムをブートする方式であっても、プログラムの起動をより高速に行うようにする。【解決手段】    通常起動の制御フロー（ステップＳ１０３〜Ｓ１０７）と高速起動の制御フロー（ステップＳ１１３）を起動フラグにより選択し、実行する。初めは通常起動を行い、その過程で、メモリカードからＲＡＭへの読み込み履歴情報として、転送元のセクタＮｏと、転送先のＲＡＭ５のアドレスと、機器の構成情報を登録する。又、通常起動を行った後に起動フラグを高速に置き換える。起動フラグを高速にしたので、次の起動時には、高速起動が選択され、機器の構成に相違が無いことが確認できれば、登録した読み込み履歴情報を用いてＤＭＡによる高速転送を行う。【選択図】          図３
2006126987.tif 000002
【特許請求の範囲】
【請求項１】
プログラムが格納された着脱可能な不揮発性記憶媒体と、起動が指示された、前記不揮発性記憶媒体に格納されたプログラムを転送速度の異なる転送モードから選択された１の転送モードで装置内部のＲＡＭにロードするためのプログラム転送制御手段とを有する画像処理装置であって、プログラムの転送履歴情報を管理する転送履歴管理手段を備え、前記プログラム転送制御手段は、起動が指示されたプログラムに対し前記転送履歴管理手段で管理された転送履歴情報に基づいて、高速転送モードの選択を行うようにしたことを特徴とする画像処理装置。
【請求項２】
請求項１に記載された画像処理装置において、前記転送履歴情報が、転送されたプログラムの転送元である不揮発性記憶媒体、転送先であるＲＡＭそれぞれにおけるプログラムの格納場所を示す情報であり、高速転送モードがＤＭＡ転送であることを特徴とする画像処理装置。
【請求項３】
請求項１又は２に記載された画像処理装置において、装置構成の変更をチェックする装置構成チェック手段を備え、前記プログラム転送制御手段は、前記装置構成チェック手段によって装置構成の変更が検出されないことを条件に高速転送モードの選択を行うようにしたことを特徴とする画像処理装置。
【請求項４】
請求項１乃至３に記載された画像処理装置において、プログラムの更新をチェックするプログラム更新チェック手段を備え、前記プログラム転送制御手段は、前記プログラム更新チェック手段によってプログラムの更新が検出されないことを条件に高速転送モードの選択を行うようにしたことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの書込・消去が可能であり、装置本体に着脱が可能な不揮発性記憶媒体からブートされたプログラムによって画像処理を行う画像処理装置に関し、より特定すると、ブートに要する時間の短縮化を図るための手段を備えた上記画像処理装置に関する。
【背景技術】
【０００２】
近年、文書や画像を扱うアプリケーションを用いて画像を処理する画像処理装置において、多機能化に伴って使用するアプリケーションやプログラムサイズが増大しており、これらを装置内に保存する方法をとると、内蔵のＲＯＭに大容量が必要になる。内蔵のＲＯＭはメモリ容量が有限（固定）である上に、高価であることが制約となることもあって、機能の拡大やバージョンアップに対応できなくなるという状況が発生する。
このために、装置内蔵のＲＯＭに代えて、ビット単価の比較的安いハードディスクやＳＤ(Secure Digital)カード等の装置本体に着脱が可能（リムーバブル）な不揮発性記憶媒体を用いることにより、機能の拡大や装置のコストダウンを図っている。
下記特許文献１，２は、メモリカードに書き込まれたアプリケーションプログラムを使用する従来技術を例示するものである。
特許文献１には、1つのメモリカードに複数のアプリケーションプログラムを書き込んでおき、その中から利用するプログラムを選択し、ＣＰＵ制御下のＲＡＭにダウンロード（プログラムの読み込み）することにより必要な処理を行うようにしたデジタル複写機が示されている。
また、特許文献２には、メモリカード（着脱可能な半導体メモリ）に、ブートプログラムとＯＳ（オペレーティングシステム）を書き込んでおき、メモリカード装着時にメモリカードからＯＳをブートするようにした情報処理装置（コンピュータ）が示されている。ここでは、メモリカードからのブートによって、コンピュータ本体にインストールされている多機能で大規模なＯＳを起動する必要をなくし、例えばメモリカードのコンテンツ再生に必要な最低限のＯＳだけを起動させるようにし、容易且つ迅速な起動を可能にしている。
【特許文献１】特開平６−１０５０３９号公報
【特許文献２】特開２００２−８２８１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、装置本体に着脱が可能なメモリカードから、ブート或いはダウンロードにより、ＣＰＵ制御下のＲＡＭにプログラムを読み込む方式は、装置内蔵のＲＯＭから読み込む方式よりも低速であり、プログラム（システム）の起動が遅くなってしまう、という問題が生じる。
この問題点については、上記特許文献１，２に示した従来例において、課題として認識が無く、この課題の解決手段については、提案がされていない。なお、特許文献２は、ＯＳの起動を迅速に行うことを目的としているが、ここでは、メモリカードからのブート方式を用いることによって、コンピュータ本体にインストールされている多機能で大規模なＯＳを起動する必要をなくし、迅速化を可能にしたものである。つまり、この従来例は、コンピュータ本体の大規模なＯＳを起動する必要をなくすことが迅速化の要因であり、メモリカードからブートを行う方式そのものの高速化を図るものではなく、問題意識が異なる。
本発明は、データの書込・消去が可能であり、装置本体に着脱が可能な不揮発性記憶媒体（例えば、メモリカード）から装置本体のＣＰＵ制御下のＲＡＭにプログラムをブートする方式を採用する従来の画像処理装置に生じるプログラム（システム）の起動が遅くなる、という問題に鑑み、これを解決するためになされたもので、装置本体に着脱が可能な不揮発性記憶媒体からプログラムをブートする上記のような方式によっても、より高速にプログラム（システム）の起動が行えるようにすることを解決課題とする。
【課題を解決するための手段】
【０００４】
請求項１の発明は、プログラムが格納された着脱可能な不揮発性記憶媒体と、起動が指示された、前記不揮発性記憶媒体に格納されたプログラムを転送速度の異なる転送モードから選択された１の転送モードで装置内部のＲＡＭにロードするためのプログラム転送制御手段とを有する画像処理装置であって、プログラムの転送履歴情報を管理する転送履歴管理手段を備え、前記プログラム転送制御手段は、起動が指示されたプログラムに対し前記転送履歴管理手段で管理された転送履歴情報に基づいて、高速転送モードの選択を行うようにしたことを特徴とする画像処理装置である。
請求項２の発明は、請求項１に記載された画像処理装置において、前記転送履歴情報が、転送されたプログラムの転送元である不揮発性記憶媒体、転送先であるＲＡＭそれぞれにおけるプログラムの格納場所を示す情報であり、高速転送モードがＤＭＡ転送であることを特徴とするものである。
【０００５】
請求項３の発明は、請求項１又は２に記載された画像処理装置において、装置構成の変更をチェックする装置構成チェック手段を備え、前記プログラム転送制御手段は、前記装置構成チェック手段によって装置構成の変更が検出されないことを条件に高速転送モードの選択を行うようにしたことを特徴とするものである。
請求項４の発明は、請求項１乃至３に記載された画像処理装置において、プログラムの更新をチェックするプログラム更新チェック手段を備え、前記プログラム転送制御手段は、前記プログラム更新チェック手段によってプログラムの更新が検出されないことを条件に高速転送モードの選択を行うようにしたことを特徴とするものである。
【発明の効果】
【０００６】
請求項１，２の発明によると、転送履歴情報（転送元である不揮発性記憶媒体、転送先であるＲＡＭそれぞれにおけるプログラムの格納場所）を管理し、同一の読み込みを行う場合に、履歴情報を利用して高速転送（ＤＭＡ転送）を行うようにしたことにより、装置本体に着脱可能な不揮発性記憶媒体からプログラムを本体内蔵のＲＡＭにブートする方式によっても、より高速にプログラム（システム）を起動することが可能になる。
また、請求項３の発明によると、装置構成をチェックし、装置構成の変更がないことを条件に高速転送を行うようにしたことにより、変更された機器を制御するためのプログラムが起動されない、といった不都合を生じないようにすることが可能になる。
また、請求項４の発明によると、プログラムの更新をチェックし、プログラムの更新がないことを条件に高速転送を行うようにしたことにより、更新したプログラムの読み込みが正常に行われず、プログラムが起動できなくなる、といった不都合を回避することが可能になる。
【発明を実施するための最良の形態】
【０００７】
以下に、本発明の画像処理装置に係わる実施形態を説明する。なお、本実施形態は、本発明の画像処理装置をＭＦＰ機（コピー，ＦＡＸ，スキャナ，プリンタの各機能を複合して持つ装置）に適用した例を示す。
図１は、本実施形態に係わるＭＦＰ機の構成を示す。
図1を参照して、ＭＦＰ機の構成の概要を説明する。ＣＰＵ1は、プログラムを動作させることにより、装置（システム）全体を制御する手段として機能する。ＣＰＵ1の制御下には、電源投入時に最初に実行されるブートプログラムが格納されたブートＲＯＭ２、メモリカード３を制御するメモリコントローラ４、ＭＦＰ機の動作・処理に必要なプログラムの実行、画像蓄積、編集等の画像データの操作に利用されるＲＡＭ５、ユーザインタフェースとして機能する入力装置７と表示装置８を制御するオペレーションパネルコントローラ６、紙媒体への画像出力を行うプリンタエンジン９、原稿画像を読み取るスキャナ１０、ネットワーク接続された機器との通信を行うためのネットワークＩ／Ｆ１１が備えられ、これらは、ＣＰＵ1とともにバス１２を介して接続されている。
また、メモリコントローラ４により書き込み・読み出しが制御されるメモリカード３には、ＭＦＰ機の動作・処理に必要なプログラム等が格納される。メモリカード３は、ＳＤ(Secure Digital)カード等の記憶媒体を用い、メモリカード３を交換することにより、機能の追加や変更に対応可能とする。なお、ＳＤカードは大容量の着脱可能な形式の記憶媒体で、データの書込・消去が可能な不揮発性の記憶媒体であるフラッシュメモリをカード型としたものである。
本実施形態では、内蔵するＲＯＭに各機能を利用するためのプログラムを格納していないので、これらのプログラムを起動するときには、先ず、内蔵するブートＲＯＭ２に格納されたブートプログラムを動作させ、求める機能の利用に必要なプログラムをメモリカード３からＲＡＭ５に読み出す。なお、ブート時の動作については、後記で処理フローによって詳述する。
【０００８】
メモリカード３の利用は、機能の追加や変更に必要なプログラムの増加への対応を可能にし、しかもより安価であるという利点がある反面、内蔵するＲＯＭに格納した場合のような起動の速さは、得られない。
そこで、本実施形態は、メモリカード３に格納したプログラムを起動するときに、メモリカード３からＲＡＭ５に読み出す時の転送時間の短縮化によって、起動のスピードアップを図るようにする。
具体的には、過去に行ったプログラムの読み込み時の履歴情報を管理し、その後、前に行ったと同一の条件で読み込みを行う場合には、読み込み時に、プログラムの転送先であるＲＡＭ５のアドレスの指定をＣＰＵ1の処理として改めて行うことなく、過去に得た履歴情報から得られるＲＡＭ５の指定アドレスに、ＤＭＡ(Direct Memory Access)転送を行うようにする（以下、このプログラム起動時の動作を「高速読み込み」或いは「高速起動」という）。即ち、転送に必要なＣＰＵ1の処理の省略とＤＭＡ転送によって、転送時間の短縮化を図る。
本実施形態では、この制御に必要な履歴情報等の情報をメモリカードにおける所定の記憶領域で管理する方法により実施する。
【０００９】
図２は、本実施形態におけるメモリカードのデータ構成の１例を示すものである。
図２に示すメモリカードは、ＦＡＴ（File Allocation Table）ファイル等の一般的なファイルシステムで構成されている。このシステムのデータ構成は、ファイルシステム３１上で各種情報（上記履歴情報が含まれる）を格納したファイルや各種制御プログラムのファイルが格納される。各ファイルは、ファイルシステム３１で格納位置が管理されているため、その格納場所は任意である。
本実施形態では、各種情報のファイルとして、起動フラグ３２、機器構成情報３３、読み込み履歴３４が格納されている。起動フラグ３２は、「通常起動」と「高速起動」を識別するために設けられ、読み込み動作を行っていない初期の状態では、「通常」であり、読み込み後に「高速」に変更される。機器構成情報３３は、メモリカードを利用する機器の構成を、プロッタ（プリンタエンジン）、スキャナ、ＦＡＸ、ネットワーク等の機器の有無によって示す情報であり、本実施形態のＭＦＰ機であれば、上記したように、コピー，ＦＡＸ，スキャナ，プリンタの各機能を実現するためのデバイスを有しているので、メモリカードの装着時に、プロッタ、スキャナ、ＦＡＸ、ネットワークにありが記される。また、読み込み履歴３４は、「高速起動」に起動フラグ３２を変更する時に、メモリカードから読み込んだプログラムの転送元のセクタＮｏと転送先のＲＡＭアドレスが登録される。
各種制御プログラム（システムプログラム、制御プログラム等）のファイルは、それぞれファイルシステム３１の管理の下に、所定の位置（セクタＮｏ）に格納される。本実施形態では、システムプログラム３５、表示制御プログラム３６、コピー制御プログラム３７、スキャナ制御プログラム３８、ＦＡＸ制御プログラム３９、プリンタ制御プログラム４０、ネットワーク制御プログラム４１等のプログラムが搭載されている。
【００１０】
次に、メモリカードで管理される上記した起動フラグ３２、機器構成情報３３、読み込み履歴３４等の情報を用いて行われるプログラムのブート制御について、より詳細に説明する。
図３は、本実施形態のブート制御のフローチャートを示す。
図３に示すフローは、電源ＯＮ時等の装置起動時のフローである。従って、メモリカード３には、本実施形態のブート制御を行うことを可能にするための前提として、上記図２に示した構成を持つファイルが書き込まれている必要がある。
図２に示す構成のファイルにプログラムが書き込まれる際は、一度もプログラムが使用されていない初期状態にあるから、メモリカード３の起動フラグ３２には、「高速起動」であることを示すフラグが記される。図３の制御フローにおいて、この初期状態のメモリカード３からのブートに対応する制御動作を可能とする。
電源ＯＮ時に、ブートＲＯＭ２に書き込まれているプログラムが起動され、ブート制御が開始される。ブートプログラムは、先ず、メモリカード３の起動フラグ３２をチェックし、「通常起動」か「高速起動」かを判定する（ステップＳ１０１）。
次に、「通常起動」か「高速起動」によって処理を分岐するので、起動フラグ３２のチェック結果を確認する（ステップＳ１０２）。メモリカード３のプログラムを装置で初めて使用する際は、上記のように、起動フラグ３２は「通常」として書き込まれているため、通常起動のフローを実行する。
【００１１】
通常起動の場合（ステップＳ１０２-YES）、先ず、ＣＰＵ１の制御システム（図１、参照）を構成する要素として、現在装置に接続されているプリンタエンジン（プロッタ）９、スキャナ１０等の機器（デバイス）の構成をチェックする（ステップＳ１０３）。この機器構成のチェックは、普通電源ＯＮ等の装置立ち上げ時に初期化処理として行われているので、初期化処理により得られた結果を用いることが可能である。
機器構成のチェック結果を受けて、これらの機器を制御するために必要なプログラムをメモリカード３のファイルシステム３１（図２参照）で管理されているプログラムのファイル情報を検索することにより、選択し、選択結果に従い、ファイルシステム３１を経由して、メモリカード３の所定の場所（セクタＮｏで管理）に格納されているプログラム３５〜４１を装置内蔵のＲＡＭ５にロードする（ステップＳ１０４）。このプログラムのロードは、ステップＳ１０４のように、通常起動の動作として行う場合、転送するプログラムファイルのサイズが未知であるという前提で、ファイルサイズを調べて、転送先であるＲＡＭ５に格納可能な大きさの記憶領域を確保し、アドレスを指定する処理を行った後、指定アドレスへの転送をＣＰＵ１やファイルシステム３１を経由して行う、といった通常の転送動作による。
【００１２】
このときに、メモリカード３から読み込んだプログラムが格納されていた転送元のメモリカード３におけるセクタＮｏと、転送先のＲＡＭ５のアドレスをメモリカード３上の読み込み履歴３４に登録する（ステップＳ１０５）。
読み込み履歴３４に登録したこれらの情報は、後述する「高速起動」を行わせるために必要な情報である。即ち、プログラムの更新、或いは機器構成の変更等により、使用するプログラムファイルの変更が行われる場合以外では、同じプログラムが使用されるので、通常起動において指定した転送先のＲＡＭ５のアドレスを改めて指定することなく、そのまま利用することができ、また、転送先のＲＡＭ５のアドレスが予め分かっていれば、ＤＭＡ転送を行わせることができるので、これにより、高速転送が可能になる。
従って、読み込み履歴３４に登録が完了した後、「高速起動」を行わせることが可能であることを示すために、メモリカード３の起動フラグ３２を置き換え、「高速起動」であることを示すフラグを記す（ステップＳ１０７）。
なお、「通常起動」のフローを実行した場合には、ステップＳ１０３でチェックし、得られた、現在装置に接続されている機器（デバイス）の構成をメモリカード３上の機器構成情報３３に登録する（ステップＳ１０６）。この情報は、「高速起動」を行わせるための条件をチェックする時に用いられるものである。この点については、後記で詳述する。
この後、ＲＡＭ５にメモリカード３からロードされたプログラムを起動し（ステップＳ１０８）、ブート制御のフローを終える。
【００１３】
起動フラグ３２が「高速起動」であることを示すフラグに置き換えられ、登録されると、このフラグの指示に従って、次に行われるブート動作が制御される。
ブート制御のフローが開始されると、上記したと同様に、ブートプログラムは、先ず、メモリカード３の起動フラグ３２をチェックし、「通常起動」か「高速起動」かを判定する（ステップＳ１０１）。
この判定結果は、「通常起動」を実行した後は、起動フラグ３２のフラグが「高速起動」なっているので、制御フローを「高速起動」が可能なフローへと進める（ステップＳ１０２-NO）。
「高速起動」が可能な制御フローでは、メモリカード３の機器構成情報３３のチェック（後記で詳述）がクリアされたことを条件に（ステップＳ１１２-YES）、メモリカード３の読み込み履歴３４に記された、セクタＮｏと、転送先のＲＡＭ５のアドレスをそのまま利用することによって、必要となるプログラムファイルを転送先のＲＡＭ５へＤＭＡ転送する（ステップＳ１１３）。このように「高速起動」時には、メモリカード３上のプログラムファイルは、メモリカード３上のファイルシステム３１を経由することなくＲＡＭ５にＤＭＡ転送され、高速起動が可能となる。
【００１４】
ここで、「高速起動」時の制御フローにおいて行う、機器構成のチェックについて、説明する。
機器構成が変更された場合（例えば、ＦＡＸ機能がオプションである場合、後からＦＡＸ機能に必要なデバイスの追加が行われる）、変更された機器を制御するためのプログラムも起動させなければならない。「通常起動」を実行した後は、起動フラグ３２のフラグが「高速起動」なっているので、機器構成のチェックを行わないと、メモリカード３の読み込み履歴３４に記されたプログラムだけが起動されてしまい、読み込み履歴が無いために、変更された機器を制御するためのプログラムは、起動されない。
こうした不都合を生じないようにするために、「高速起動」を行わせるための条件として、機器構成に変更があったか、否かをチェックし、変更が無い場合に、上記したような「高速起動」を行わせ、変更があった場合には、「通常起動」に戻して、変更された機器の起動を可能にする。
機器構成に変更があったか、否かをチェックする方法として、「通常起動」を行った（即ち、メモリカード３の読み込み履歴３４を登録した）時点の機器構成情報について、その情報を登録しておき、「高速起動」時には、その時点における機器（デバイス）構成を調べ、登録しておいた構成情報との比較を行い、一致しなければ、機器構成に変更があったと判定する方法を用いる。
【００１５】
従って、図３の制御フローにおいて、「通常起動」のフローの実行時に、その時点で装置に接続されている機器（デバイス）の構成（ステップＳ１０３で取得）をメモリカード３上の機器構成情報３３に登録する（ステップＳ１０６）。
また、「高速起動」が可能な制御フロー（ステップＳ１０２-NO）では、現時点で装置に接続されている機器（デバイス）の構成をチェックする（ステップＳ１１１）。このチェックは、「通常起動」のフローのステップＳ１０３で行ったと同様に機器（デバイス）構成情報を得る。次いで、得られた機器構成情報をメモリカード３上の機器構成情報３３に登録されている機器構成情報（「通常起動」時に得られた情報）と比較し、一致するか、否かを判定する（ステップＳ１１２）。ここで、一致しなければ、「通常起動」の制御フロー（ステップＳ１０３〜Ｓ１０７）を実行し、一致すれば、「高速起動」の制御フロー（ステップＳ１１３）を実行する。
上記の動作によって、機器構成が変更になった場合に生じ得る不都合を解消することが可能になる。
【００１６】
ところで、上記したように、本実施形態におけるブート制御のフロー（図３）においては、メモリカード３の読み込み履歴３４に記された情報（即ち「通常起動」時におけるプログラムの転送情報）を用いてＤＭＡ転送を行うことによって、次の起動を高速に行うことを可能にしている。
これは、「高速起動」が正常に行われるためには、次の起動時にも、「通常起動」時のプログラムが更新（書き換え）されずに用いられることが条件となる。つまり、プログラムの更新（書き換え）が発生した場合、メモリカード３上のプログラムの格納位置やサイズ、ＲＡＭ５の転送先アドレスが異なってしまい、この状態で高速起動を行うと、読み込み履歴３４と不一致が発生し正常に起動できなくなる。
従って、プログラムの更新（書き換え）が行われた場合には、「高速起動」の制御フロー（ステップＳ１１１〜Ｓ１１３）を通さないように制御する必要がある。また、プログラムの更新（書き換え）が行われた場合には、「通常起動」を実行できるようにする制御を行う必要もある。
【００１７】
この制御を行う方法として、本実施形態では、メモリカード上に書き込まれたプログラムの更新（書き換え）と同時に、メモリカード３の起動フラグ３２を置き換えることにより、「高速起動」の制御フローを通さずに、「通常起動」を実行できるようにする。
図４は、本実施形態における、メモリカードに書き込まれたプログラムの更新（書き換え）処理のフローチャートを示す。
図４のフローに示すように、メモリカード３に書き込まれたプログラムの更新（書き換え）処理を行う（ステップＳ２０２）ときに、同時に起動フラグ３２の置き換えを行う（ステップＳ２０１）。この時に行う起動フラグ３２の置き換えは、既にブート制御のフロー（図３）において「通常起動」が実行され（ステップＳ１０３〜Ｓ１０７）、その時にステップＳ１０７において「高速起動」に置き換えられた起動フラグ３２を再び「通常起動」に置き換える。
このように、プログラム更新（書き換え）時は起動フラグ３２を「通常起動」に置き換えてプログラムを更新させ、リブートするようにする。これによりリブート時には、「通常起動」の制御フローに従って起動される。即ち、読み込み履歴、及び機器構成情報が登録され、「高速起動」の制御フローを通した場合の問題を起こさずに、正常な動作が保証される。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係わるＭＦＰ機の構成を示す。
【図２】図１の実施装置に用いるメモリカードのデータ構成の１例を示す。
【図３】通常起動又は高速起動を行うブート制御のフローチャートを示す。
【図４】メモリカードに書き込まれたプログラムの更新処理のフローチャートを示す。
【符号の説明】
【００１９】
１・・ＣＰＵ、                    ２・・ブートＲＯＭ、
３・・メモリカード、              ４・・メモリコントローラ、
５・・ＲＡＭ、                    ９・・プリンタエンジン、
１０・・スキャナ、                １１・・ネットワークＩ／Ｆ。
【図１】
2006126987.tif 000003
【図２】
2006126987.tif 000004
【図３】
2006126987.tif 000005
【図４】
2006126987.tif 000006