(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムを実行する情報処理装置の制御方法であって、
前記アプリケーションプログラムをコンピュータが実行することで実現されるアプリケーション機能が、受け付けたユーザ操作に基づいて拡張機能のインストールが必要か否かを判定する工程と、
拡張機能のインストールが必要と判定された場合、前記アプリケーション機能が、インストールが必要な拡張機能を特定する情報をメモリに保持する工程と、
前記アプリケーション機能が、前記インストールが必要な拡張機能のためのインストーラを起動した後、前記アプリケーションプログラムの実行を終了させる工程と、
前記インストールが完了した後に前記インストーラにより前記アプリケーションプログラムが起動され、前記アプリケーション機能が、前記メモリに保持された前記特定する情報に基づいて、前記インストーラによりインストールされた拡張機能を起動する工程と、を有することを特徴とする制御方法。
【請求項２】
前記アプリケーション機能が、インストール済みの拡張機能と未インストールの拡張機能の区別なく指定できるユーザインタフェースを提供する工程を更に備え、
前記判定する工程は、前記ユーザインタフェースを介して未インストールの拡張機能が指定された場合に、拡張機能のインストールが必要と判定する、ことを特徴とする請求項１に記載の制御方法。
【請求項３】
前記保持する工程では、インストールが必要な拡張機能と、該拡張機能の処理対象となっているデータと、を特定する情報を前記メモリに保持し、
前記起動する工程では、前記特定する情報に基づいて、前記インストールされた拡張機能を起動して前記処理対象となっているデータを処理させる、ことを特徴とする請求項１または２に記載の制御方法。
【請求項４】
前記アプリケーション機能は、データ編集機能による編集途中のデータについて編集処理の履歴を保持し、
前記起動する工程では、前記編集処理の履歴にしたがって前記編集途中の状態を復帰させる、ことを特徴とする請求項１乃至３のいずれか１項に記載の制御方法。
【請求項５】
前記保持させる工程では、更に、データ編集機能による編集途中のデータが存在する場合に該編集途中のデータを前記メモリに保持させ、
前記起動する工程では、前記編集途中のデータを読み出すことにより、前記編集途中の状態を復帰させる、ことを特徴とする請求項１乃至３のいずれか１項に記載の制御方法。
【請求項６】
前記終了する工程では、データ編集機能による編集途中のデータが存在する場合には、ユーザが編集処理を完了させたことを確認してから前記アプリケーションプログラムの実行を終了する、ことを特徴とする請求項１乃至３のいずれか１項に記載の制御方法。
【請求項７】
前記判定する工程は、更に、前記ユーザ操作で指定された拡張機能がインストール済みの場合に、該インストール済みの拡張機能の更新の要否を確認し、更新が必要な場合には、拡張機能のインストールが必要と判定する、ことを特徴とする請求項１または２に記載の制御方法。
【請求項８】
前記インストール済みの拡張機能の更新は、別の拡張機能への置き換えを含み、
前記起動する工程では、前記別の拡張機能への置き換えが行なわれた場合には、前記インストーラにより提供された、前記インストール済みの拡張機能と前記別の拡張機能を対応付ける情報に基づいて、前記メモリに保持された前記特定する情報から前記別の拡張機能を起動する、ことを特徴とする請求項７に記載の制御方法。
【請求項９】
アプリケーションプログラムを実行する情報処理装置であって、
前記アプリケーションプログラムの実行によって提供されるアプリケーション機能が、
受け付けたユーザ操作に基づいて拡張機能のインストールが必要か否かを判定する判定手段と、
拡張機能のインストールが必要と判定された場合、インストールが必要な拡張機能を特定する情報をメモリに保持する保持手段と、
前記インストールが必要な拡張機能のインストーラを起動した後、前記アプリケーションプログラムの実行を終了させる終了手段と、
前記アプリケーションプログラムの起動時に、前記メモリに前記特定する情報が保持されている場合には、前記特定する情報により特定される拡張機能を起動する起動手段と、を備えることを特徴とする情報処理装置。
【請求項１０】
アプリケーションプログラムを実行する情報処理装置を実現するコンピュータに、
前記アプリケーションプログラムの実行によって提供されるアプリケーション機能が、受け付けたユーザ操作に基づいて拡張機能のインストールが必要か否かを判定する工程と、
拡張機能のインストールが必要と判定された場合、インストールが必要な拡張機能を特定する情報をメモリに保持する工程と、
前記インストールが必要な拡張機能のインストーラを起動した後、前記アプリケーションプログラムの実行を終了させる工程と、
前記インストールが完了した後の前記インストーラによる前記アプリケーションプログラムの起動時に、前記メモリに前記特定する情報が保持されている場合には、前記特定する情報により特定される拡張機能を起動する工程と、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアを自動的に更新する情報処理装置およびその制御方法およびプログラムに関するものである。
【背景技術】
【０００２】
ソフトウェアを、複数の機能ごとのプログラムとして構成し、当初は基本的な機能のプログラムのみを情報処理装置にインストールしておき、必要に応じて残りの機能のプログラムを情報処理装置にインストールすることが行われている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２３６５０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
機能を追加的にインストール可能とする構成では、ユーザが任意のタイミングにアプリケーション（以下、アプリと記載）を操作して、サーバにアクセスして追加可能な機能の一覧を取得し、その中から選択した機能のプログラムをインストールすることができる。その場合、ユーザは、予め使用したい機能の名称や目的などを知っておく必要がある。このような構成は、十分な知識を持った上級ユーザにとっては特に問題とならない。しかし、そもそもどのような機能が存在するかの知識さえ持っていない初級ユーザに対しては、使いたい機能が存在することを知らしめることができないという問題点がある。また、ソフトウェアにプラグインを追加する際にソフトウェアの再起動が必要となる場合、ユーザは今までの作業を中止し最初からやり直さなければならないので、使い勝手が悪くなってしまう。
【０００５】
そこで本発明は、ユーザが利用するソフトウェアの機能追加・更新を、ソフトウェアの使用中に一連のユーザ操作を中断することなく行えるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための本発明の一態様による情報処理装置の制御方法は、
アプリケーションプログラムを実行する情報処理装置の制御方法であって、
前記アプリケーションプログラムをコンピュータが実行することで実現されるアプリケーション機能が、受け付けたユーザ操作に基づいて拡張機能のインストールが必要か否かを判定する工程と、
拡張機能のインストールが必要と判定された場合、前記アプリケーション機能が、インストールが必要な拡張機能を特定する情報をメモリに保持する工程と、
前記アプリケーション機能が、前記インストールが必要な拡張機能のためのインストーラを起動した後、前記アプリケーションプログラムの実行を終了させる工程と、
前記インストールが完了した後に前記インストーラにより前記アプリケーションプログラムが起動され、前記アプリケーション機能が、前記メモリに保持された前記特定する情報に基づいて、前記インストーラによりインストールされた拡張機能を起動する工程と、を有する。
【発明の効果】
【０００７】
以上の本発明によれば、ユーザが利用するソフトウェアの機能追加・更新を、ソフトウェアの使用中に一連のユーザ操作を中断することなく行える。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係るシステムの構成例を示す図。
【図２】実施形態に係る情報処理装置の構成例を示すブロック図。
【図３】第一実施形態に係るコンピュータ及びサーバの記憶装置内のデータ構成例を示す図。
【図４】第一実施形態に係るファイルの例を示す図。
【図５】第一実施形態に係る拡張機能インストーラのデータ構成例を示す図。
【図６】アプリ実行ファイルを実行したときの、表示画面の例を示す図。
【図７】拡張機能を起動したときの、アプリでの処理を示すフローチャート。
【図８Ａ】アプリ実行ファイルを実行したときの、初期化処理を示すフローチャート。
【図８Ｂ】ツールバーの初期化処理を示すフローチャート。
【図８Ｃ】未保存データの復元処理を示すフローチャート。
【図８Ｄ】第一実施形態に係る実行予定処理の実行処理を示すフローチャート。
【図９Ａ】編集ウィンドウの適用ボタンを押したときの処理を示すフローチャート。
【図９Ｂ】保存ボタンを押したときの処理を示すフローチャート。
【図１０】第一実施形態に係る拡張機能インストーラの処理を示すフローチャート。
【図１１】第二実施形態に係るサーバの記憶装置内のデータ構成例を示す図。
【図１２】第二実施形態に係るファイルの例を示す図。
【図１３】第二実施形態に係る拡張機能インストーラの構成例を示す図。
【図１４】第二実施形態に係る拡張機能変換テーブルの構成例を示す図。
【図１５】第二実施形態に係る拡張機能を実行するときの処理を示すフローチャート。
【図１６】第二実施形態に係る実行予定処理の実行処理を示すフローチャート。
【図１７】第二実施形態に係る動画編集拡張機能インストーラの処理を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、添付の図面を参照して、本発明の好適な実施形態の例を説明する。
［第一実施形態］
図１に本実施形態のシステムの構成図を示す。システムにはコンピュータ１０１、サーバ１０２が存在しており、それらの間がネットワーク１０３で接続されている。
【００１０】
図２に本実施形態のコンピュータ１０１およびサーバ１０２を実現する情報処理装置の構成の一例を示す。コンピュータ１０１やサーバ１０２はそれぞれ単一の情報処理装置で実現してもよいし、必要に応じた複数の情報処理装置に各機能を分散して実現するようにしてもよい。複数の情報処理装置で構成される場合は、互いに通信可能なようにLocal Area Network（ＬＡＮ）などで接続されている。図２において、制御部２０１は情報処理装置２００全体を制御し、例えばCentral Processing Unit（ＣＰＵ）である。Read OnlyMemory（ＲＯＭ）２０２は変更を必要としないプログラムやパラメータを格納する。 Random AccessMemory（ＲＡＭ）２０３は外部装置などから供給されるプログラムやデータを一時記憶する。記憶装置２０４は情報処理装置２００に固定して設置されたハードディスクやメモリカード、あるいは情報処理装置２００から着脱可能なフロッピー(登録商標)ディスク（ＦＤ）やCompact Disk（ＣＤ）等の光ディスク、磁気や光カード、ＩＣカードなどを含む。
【００１１】
操作入力インタフェース２０５はユーザの操作を受け、データを入力するポインティングデバイスやキーボード２０９などの入力デバイスとのインタフェースである。表示インタフェース２０６は情報処理装置２００の保持するデータや供給されたデータを表示するためのディスプレイ２１０とのインタフェースである。ネットワーク・インタフェース２０７はネットワーク１０３などのネットワーク回線２１１に接続するためのインタフェースである。画像入力インタフェース２０８は画像入力デバイス２１２と接続するためのインタフェースである。画像入力デバイス２１２には、デジタルカメラ、デジタルビデオカメラ、スキャナなどが含まれる。システムバス２１３は、上述の各ユニットを通信可能に接続する内部バスである。
【００１２】
次に図３（ａ）は、本実施形態のシステムにおける、コンピュータ１０１の記憶装置２０４内の構成を示す。コンピュータ１０１の記憶装置２０４の中には、アプリ実行ファイル格納フォルダ(Program)３１０がある。そして、その中にアプリ実行ファイル(ApplicationCore.exe)３１１、および拡張機能一覧ファイル(PluginsList.xml)３１２が格納されている。拡張機能格納フォルダ（Plugins）３２０には、アプリの機能を拡張するためのプログラムファイルを拡張することができる。例えば図３（ａ）においては、動画編集拡張機能プログラム(EditMovie.dll)３２１およびＲＡＷ画像編集拡張機能プログラム(EditRAW.dll)３２２が格納されている。実行予定処理記録フォルダ(Startup)３３０には、ソフトウェア起動時に自動的に実行する処理がある場合には、その内容を示すファイルが記録される。このフォルダには、実行予定処理記録ファイル(Operation001.xml)３３１、選択画像一覧ファイル(Selection001.xml)３３２が存在する。さらに、前回起動時の未保存データを保持する、未保存データ退避フォルダ(Not Saved)３３３が存在する。未保存データ退避フォルダ３３３には、データ編集機能によりデータに対してなされた編集の履歴を格納する画像編集履歴ファイル(EditHistory.xml)３３４が存在する。作業フォルダ(Work)３５０は、プログラムが、実行時に、一時的に作成するファイルを保存するための場所である。また、画像フォルダ(Pictures)３４０には、ユーザが保存した画像データファイルが保存される。
【００１３】
図３（ｂ）に、サーバ１０２の記憶装置２０４内の構成を示す。サーバ１０２の記憶装置２０４の中には、コンピュータ１０１に転送され、実行されることになる拡張機能インストーラの実行ファイルが格納されている。例えば図３（ｂ）においては、動画編集拡張機能インストーラ(EditMovieInstaller.exe)３０１が格納されている。また、ＲＡＷ画像編集拡張機能インストーラ(EditRAWInstaller.exe)３０２、スライドショー再生拡張機能インストーラ(ViewSlideshowInstaller.exe)３０３が格納されている。
【００１４】
図４（ａ）に、拡張機能一覧ファイル３１２の例を示す。拡張機能一覧ファイル３１２には、アプリで利用可能な拡張機能の一覧が記載されており、図４（ａ）においては、４１０、４２０、４３０の、３つの拡張機能情報が記載されている。各拡張機能情報には、それぞれの拡張機能に関する情報が記載されており、たとえば拡張機能情報４１０には、識別子４１１、表示名４１２、表示順４１３、入手先４１４、インストール先４１５が記載されている。拡張機能情報４２０、４３０にも、それぞれ対応する情報が記載されている。ただし、拡張機能情報４３０に記載されている拡張機能については、まだシステム上にインストールされていないため、インストール先４３５には、空白が指定されている。
【００１５】
図４（ｂ）に、実行予定処理記録ファイル３３１の例を示す。実行予定処理記録ファイル３３１には、アプリの起動時に実行する予定の機能に関する情報が記載されている。具体的には、拡張機能識別子４４１、選択画像一覧ファイル名４４３が記載されている。
【００１６】
図４（ｃ）に、選択画像一覧ファイル３３２の例を示す。選択画像一覧ファイル３３２には、選択された画像のファイル名一覧が記載され、機能を実行する際に対象となる画像を表す。図４（ｃ）の例では、画像４５１、画像４５２、画像４５３の３画像のパスが記載されている。
【００１７】
図４（ｄ）に、画像編集履歴ファイル３３４の例を示す。画像編集履歴ファイル３３４には、編集を行ったが、まだ保存していない画像ファイルについて、編集内容が記録されている。アプリは起動時に画像編集履歴ファイル３３４に記載された編集内容を実行することで、未保存データの復元を行う。図４（ｄ）に示した画像編集履歴ファイルには、ファイルIMG_0025.JPGに対する編集履歴４６０、およびファイルIMG_0029.JPGに対する編集履歴４７０が記録されている。ファイルIMG_0025.JPGに対する編集履歴４６０には、編集対象ファイル名４６１、および、そのファイルに対する編集操作が１つ以上記載されている。図４（ｄ）の例においては、操作４６２、および操作４６５が記載されている。操作４６２には、編集操作識別子４６３、および編集操作パラメータ４６４が記載されており、同様に、操作４６５にも、編集操作識別子４６６および編集操作パラメータ４６７が記載されている。
【００１８】
図５を参照して、サーバ１０２に格納されている拡張機能インストーラの実行ファイルの構成を、動画編集拡張機能インストーラ３０１を例として説明する。動画編集拡張機能インストーラ３０１は、内部に拡張機能追加設定ファイル５１０と、拡張機能プログラム５２０が埋め込まれており、実行時にこれらを取り出して使用する構成となっている。拡張機能追加設定ファイル５１０には、追加される拡張機能の識別子５１１が記載されている。
【００１９】
図６（ａ）に、コンピュータ１０１がアプリ実行ファイル３１１を実行することで実現されるアプリケーション機能(以下、アプリ機能）により表示される表示画面の例を示す。画面６００は、ツールバー領域６１０、画像フォルダ一覧領域６２０、フォルダ内画像一覧表示領域６３０の３つの部分から構成される。画像フォルダ一覧領域６２０には、画像フォルダ３４０に存在する全フォルダが一覧表示される。フォルダ内画像一覧表示領域６３０には、この領域で選択されたフォルダ内に存在する画像ファイルが、一覧で表示される。ツールバー領域６１０には、フォルダ内画像一覧表示領域６３０で選択した画像に対して実行可能な処理の一覧が表示されており、ツールバー内のボタンをクリックすることで、選択した処理を実行できる。ツールバー領域は、インストール済みの拡張機能と未インストールの拡張機能の区別なく指定できるユーザインタフェースとして、アプリ機能により提供されるものである。
【００２０】
図６（ｂ）に、アプリ機能により、コンピュータ１０１のディスプレイ２１０上に表示される編集ウィンドウ６４０の画面例を示す。この編集ウィンドウ６４０は、フォルダ内画像一覧表示領域６３０で画像を１つ選択して、ツールバー領域６１０内の「静止画編集」ボタンを選択したときに表示される。編集ウィンドウ６４０には、画像プレビュー６４１、編集機能選択リストボックス６４２、編集操作パラメータ指定コントロール６４３、適用ボタン６４４、保存ボタン６４５、キャンセルボタン６４６が配置されている。編集操作パラメータ指定コントロール６４３の内容は、編集機能選択リストボックス６４２で選択した項目により自動的に変更され、編集内容に応じたパラメータ設定ができるようになっている。
【００２１】
次に図７のフローチャートを参照して、ツールバー領域６１０内のボタンをクリックし、拡張機能を起動したときの、アプリでの処理の流れについて説明する。当該フローチャートは、ＲＯＭ２０２や記憶装置２０４に格納されたプログラムを制御部２０１が実行することにより実現される。
【００２２】
まず、制御部２０１はステップＳ７０１で、フォルダ内画像一覧表示領域６３０で選択した画像一覧から、選択画像一覧ファイル３３２を作成する。次に、制御部２０１はステップＳ７０２で、拡張機能一覧ファイル３１２から、実行した拡張機能のインストール先４１５を取得し、空かどうかを確認する。インストール先が空でない場合は、その拡張機能はインストール済みであるため、ステップＳ７０３で制御部２０１は拡張機能に選択画像一覧ファイル３３２を渡して起動し、拡張機能起動処理は完了となる。
【００２３】
インストール先が空の場合は、その拡張機能はインストールされていないため、制御部２０１（アプリ機能）は、その拡張機能のインストール処理を実行する。具体的には、ステップＳ７０４で制御部２０１は、実行予定処理記録ファイル３３１に、起動した拡張機能の識別子、選択画像一覧ファイル名を記載した上で、実行予定処理記録フォルダ３３０に出力する。その後、ステップＳ７０５で制御部２０１は、拡張機能一覧ファイル３１２に記載されている拡張機能の入手先４１４を用い、拡張機能インストーラを、サーバ１０２から作業フォルダ３５０にダウンロードする。ダウンロードが成功したら、ステップＳ７０６で制御部２０１は、拡張機能インストーラを起動する。起動した拡張機能インストーラは、アプリに対して更新を加えるため、拡張機能インストーラの動作には、アプリの停止が必要である。そのため、制御部２０１はステップＳ７０７では、起動した拡張機能インストーラの終了を待たずに、アプリを終了する。なお、拡張機能インストーラによる処理の詳細は図１０を参照して後述する。
【００２４】
次に図８Ａを参照して、図７のＳ７０７でアプリを拡張機能のインストールのために終了した後、アプリ実行ファイル３１１を実行して再起動したときの、初期化処理の全体の流れについて説明する。当該フローチャートも図７と同様、ＲＯＭ２０２や記憶装置２０４に格納されたプログラムを制御部２０１が実行することにより実現される。
【００２５】
まず、ステップＳ８０１で制御部２０１は、ツールバーの初期化処理を行う。その後、制御部２０１はステップＳ８０２でアプリ画面の表示を行い、ステップＳ８０３で未保存データの復元を行う。その後、制御部２０１は、ステップＳ８０４で実行予定処理の実行を行う。
【００２６】
次に図８Ｂを参照して、ステップＳ８０１におけるツールバーの初期化処理の流れを詳細に説明する。ここではステップＳ８１１から、ステップＳ８１４の間で、拡張機能一覧ファイル３１２の項目をループする。まず、制御部２０１はステップＳ８１２で、拡張機能一覧ファイル３１２より、表示名と表示順を取得する。制御部２０１はステップＳ８１３で、取得したツールバーの表示順の位置に、表示名の項目を追加する。制御部２０１はすべての項目についてツールバーに表示を追加したら、ツールバーの初期化処理を終了する。
【００２７】
次に図８Ｃを参照して、ステップＳ８０３における未保存データの復元処理の流れを詳細に記載する。ステップＳ８３１からステップＳ８３７の間で、画像編集履歴ファイル３３４に記載されている各画像ファイルについて、以下の項目を繰り返す。まず、ステップＳ８３２で制御部２０１は、指定されている画像ファイルを編集ウィンドウ６４０で開く。さらに、開いた画像ファイルに対して制御部２０１は、以下の処理を、ステップＳ８３３からステップＳ８３６の間で、指定された各画像ファイルに対する編集履歴について繰り返す。
【００２８】
まず、ステップＳ８３４では、制御部２０１は、画像編集履歴ファイルから、ループでの処理対象となっている編集履歴の編集操作識別子および編集操作パラメータを取得する。ステップＳ８３５では、取得した編集操作パラメータに従って指定された識別子の編集機能を実行する。すべての編集履歴の実行が終わったら、ステップＳ８３６でその画像ファイルへの操作は完了とし、また、全画像ファイルに対して操作が完了したら、ステップＳ８３７を抜け、未保存データの復元処理を完成する。
【００２９】
次に図８Ｄを参照して、ステップＳ８０４の実行予定処理の実行処理の流れを詳細に説明する。まず、制御部２０１はステップＳ８４１で、実行予定処理記録ファイル３３１が存在するかどうか確認し、存在しないようであれば、実行予定処理の実行は何もせず終了する。なお、拡張機能のインストールによりアプリの実行が終了した場合には、上述のステップＳ７０４が処理されているため、実行予定処理記録ファイル３３１は必ず存在することになる。実行予定処理記録ファイル３３１が存在する場合、制御部２０１はステップＳ８４２で、実行予定処理記録ファイル３３１から、拡張機能識別子、選択画像一覧ファイルのパスを取得する。次に、制御部２０１はステップＳ８４３で、拡張機能一覧ファイルから、取得した拡張機能識別子に対応する、インストール先を取得する。制御部２０１はステップＳ８４４では、取得したインストール先にある拡張機能プログラムに、選択画像一覧ファイルを渡して起動し、起動が終わったら、実行予定処理の実行を完了する。
【００３０】
次に図９Ａのフローチャートを参照して、編集ウィンドウ６４０で適用ボタン６４４を押した場合に実行される処理の流れを説明する。当該フローチャートも図７等と同様、ＲＯＭ２０２や記憶装置２０４に格納されたプログラムを制御部２０１が実行することにより実現される。
【００３１】
制御部２０１はステップＳ９１１で、編集ダイアログで指定された編集操作パラメータに従い、指定された編集機能を実行する。次に、制御部２０１はステップＳ９１２で、画像編集履歴ファイルに編集中の画像ファイルに対応する編集履歴があるかどうかを確認する。編集履歴が存在しない場合、制御部２０１はステップＳ９１３で、画像編集履歴ファイルに編集中の画像ファイルの項目を追加した後、ステップＳ９１４で、現在適用を行った編集操作識別子および編集操作パラメータを、画像編集履歴ファイルに追加する。こうして、編集途中の画像データ（未保存の画像データ）について、編集処理の履歴が保持されることになる。
【００３２】
ステップＳ９１２で、制御部２０１は、画像編集履歴ファイルに編集中の画像ファイルに対応する編集履歴があると判定した場合、ステップＳ９１４で現在適用を行った編集操作識別子および編集操作パラメータを、画像編集履歴ファイルに追加する。
【００３３】
次に図９Ｂを参照して、編集ウィンドウ６４０で保存ボタン６４５を押したときの処理の流れを説明する。当該フローチャートも図７等と同様、ＲＯＭ２０２や記憶装置２０４に格納されたプログラムを制御部２０１が実行することにより実現される。制御部２０１はステップＳ９２１で、編集された画像を、画像フォルダ３４０内の同名ファイルに上書き保存する。次に、制御部２０１はステップＳ９２２で、画像編集履歴ファイルに、編集中の画像ファイルに対応する編集履歴があるかどうかを確認する。編集履歴が存在しない場合には、画像保存処理を完了する。存在する場合には、制御部２０１はステップＳ９２３で、画像編集履歴ファイルから編集中の画像ファイルの記載を削除し、画像保存処理を完了する。
【００３４】
次に図１０を参照して、動画編集拡張機能インストーラ３０１の処理の流れを説明する。当該フローチャートも図７等と同様、ＲＯＭ２０２や記憶装置２０４に格納されたプログラムを制御部２０１が実行することにより実現される。
【００３５】
制御部２０１はステップＳ１００１で、動画編集拡張機能インストーラ３０１を起動したアプリのパス名を検出する。次に、制御部２０１はステップＳ１００２で、動画編集拡張機能インストーラ３０１のファイル内に埋め込まれている、拡張機能追加設定ファイル８１０から拡張機能の識別子８１１をメモリに読み込む。引き続き、制御部２０１はステップＳ１００３で、動画編集拡張機能インストーラ３０１に埋め込まれている拡張機能プログラム８２０を抽出し、拡張機能格納フォルダ３２０に保存する。さらに、制御部２０１はステップＳ１００４で、拡張機能一覧ファイル３１２の更新を行う。具体的には、ステップＳ１００２で取り出した拡張機能の識別子８１１を持つ項目にインストールパスを記載する。最後に制御部２０１は、ステップＳ１００５で、ステップＳ１００１で検出した起動元アプリを再度起動した上で、拡張機能インストール処理を終了する。
【００３６】
実施形態では、画像編集履歴ファイル３３４に、編集機能識別子と編集操作パラメータの組の履歴を保存することで、更新に際する未保存データの維持を実現したが、これに限られるものではない。たとえば、最終結果の画像データ自体をファイルに保存する方法もある。この場合、復元処理の中で、編集履歴を再度実行する代わりに、画像データ自体をファイルから読み込むことになる。あるいは、画像編集履歴ファイルを使う代わりに、編集を保存していない状況で編集ウィンドウ６４０を閉じようとした場合に、警告メッセージを表示して編集ウィンドウ６４０を閉じられないようにする方法も考えられる。この場合、更新のためにアプリを終了する場合、編集ウィンドウ６４０で保存を行っていない状態では、上記警告メッセージが表示されアプリが終了できないため、更新が実行できない。そのため、そもそも、更新に際する未保存データの維持について、考慮する必要がないことになる。なお、警告メッセージでは、編集中の未保存の画像を保存するか破棄するかをユーザに選択させるようにしてもよい。
【００３７】
以上のように、第一実施形態によれば、ユーザ操作により拡張機能のインストールが必要になった場合でも、拡張機能のインストール、アプリケーションプログラムの終了と再起動が自動的に行われる。また、アプリケーションプログラムの際起動時には、上記ユーザ操作の時点まで復帰するので、操作の不連続性を感じることがない。
【００３８】
［第二実施形態］
続いて、本発明の別の実施形態を示す。本実施形態は、先に説明した第一実施形態と同様のシステムを備えるが、さらに、すでにインストール済みの拡張機能を新しいバージョンに更新する機能を備えたものである。本実施形態の説明においては、動画編集拡張機能とＲＡＷ画像編集拡張機能とが、新しいバージョンでは１つの機能に統合され、動画・ＲＡＷ画像編集拡張機能になったという前提で、説明を行う。本実施形態におけるシステムの構成は、第一実施形態と同じで、図１に示すような構成である。そのため、ここでは説明を省略する。また、本実施形態のシステムにおける、コンピュータ１０１の記憶装置２０４内の構成についても、第一実施形態と同じである。
【００３９】
図１１は、本実施形態におけるサーバ１０２の記憶装置２０４内の構成である。サーバ１０２の記憶装置２０４の中には、第一実施形態と同じく、コンピュータ１０１に転送され、実行されることになる拡張機能インストーラの実行ファイルが格納されている。例えば図１１においては、動画編集拡張機能インストーラ（EditMovieInstaller.exe）３０１が格納されている。また、ＲＡＷ画像編集拡張機能インストーラ(EditRAWInstaller.exe)３０２、スライドショー再生拡張機能インストーラ(ViewSlideshowInstaller.exe)３０３が格納されている。本実施形態においては、さらに、加えて拡張機能バージョン一覧ファイル(PluginVersion.xml)１１０４が存在する。
【００４０】
本実施形態においては、動画編集拡張機能と、ＲＡＷ画像編集拡張機能とが、１つの機能に統合されている。そのため、動画編集拡張機能インストーラ３０１と、ＲＡＷ画像編集拡張機能インストーラ３０２のどちらをインストールしても、動画・ＲＡＷ画像編集拡張機能がインストールされる。
【００４１】
図１２（ａ）は、サーバ１０２に存在する、拡張機能バージョン一覧ファイル１１０４の例である。拡張機能バージョン一覧ファイル１１０４には、サーバ１０２に配置されているすべての拡張機能プログラムのバージョン一覧が記載されている。具体的には、動画編集拡張機能インストーラ３０１に対応する拡張機能バージョン情報１２１０が記載されている。また、ＲＡＷ画像編集拡張機能インストーラ３０２に対応する拡張機能バージョン情報１２２０、スライドショー再生拡張機能インストーラ３０３に対応する拡張機能バージョン１２３０が記載されている。拡張機能バージョン情報１２１０には、拡張機能の識別子１２１１と、バージョン１２１２が記載されている。同様に、拡張機能バージョン情報１２２０、拡張機能バージョン１２３０にも識別子とバージョンが記載される。また、動画・ＲＡＷ画像編集拡張機能についても、識別子およびバージョンが１２４０に記載されている。
【００４２】
図１２（ｂ）は、本実施形態での拡張機能一覧ファイル３１２の例を示す。拡張機能一覧ファイル３１２の基本的な構成は、第一実施形態と同じであるが、記載されている拡張機能情報には、識別子４１１、表示名４１２、表示順４１３、入手先４１４、インストール先４１５に加え、インストールバージョン１２１６が記載されている。拡張機能情報４２０、４３０にも、それぞれ対応する情報が記載されている。ただし、４３０に記載されている拡張機能については、まだシステム上にインストールされていないため、インストール先４３５に加え、インストールバージョン１２３６にも、空白が指定されている。
【００４３】
図１２（ｃ）に、本実施形態における、実行予定処理記録ファイル３３１の例を示す。アプリの起動時に実行する予定の機能に関する情報が記載されているが、第一実施形態と同様の、拡張機能識別子５０１、選択画像一覧ファイル名５０３に加え、拡張機能バージョン１２５０が記載されている。本実施形態における選択画像一覧ファイル３３２の例、画像編集履歴ファイル３３４の例については、第一実施形態と同じで、それぞれ、図４（ｃ）、（ｄ）で示されている。ここでは説明を省略する。
【００４４】
本実施形態の拡張機能インストーラの構成については、動画編集拡張機能インストーラ３０１を例として、図１３で説明する。動画編集拡張機能インストーラ３０１の内部には、拡張機能追加設定ファイル１３１０、拡張機能プログラム１３２０、拡張機能変換テーブル１３３０、拡張機能一覧ファイル１３４０が埋め込まれており、実行時にこれらを取り出して使用する構成となっている。拡張機能追加設定ファイル１３１０には、追加される拡張機能の識別子１３１１が記載されている。
【００４５】
次に図１４を参照して、拡張機能変換テーブル１３３０の構成を説明する。拡張機能変換テーブル１３３０には、更新前に起動した拡張機能を、更新後のバージョンにおいて起動する際に、拡張機能識別子に変更があった場合の変換項目のリストが含まれている。すなわち、拡張機能変換テーブルには、更新前後の拡張機能の対応付けが登録されている。図１４の例では、変換項目１４１０、変換項目１４２０の２つの変換項目が含まれている。変換項目１４１０には、変換前拡張機能識別子１４１１、変換前拡張機能バージョン１４１２と、変換後拡張機能識別子１４１３が含まれている。これは、更新前に、拡張機能識別子「ＥＤＩＴ＿ＭＯＶ」の、バージョン２．０．０．１未満のバージョンを起動していた場合、更新後には、拡張機能識別子「ＥＤＩＴ＿ＲＡＷ＿ＭＯＶ」を起動することを示している。
【００４６】
本実施形態の場合、EDIT_MOV、およびEDIT_RAWが、更新によりEDIT_RAW_MOVに変更されるため、拡張機能変換テーブル１３３０には、このような記載が必要となる。同様に、変換項目１４２０においては、更新前に、拡張機能識別子「EDIT_RAW」の、バージョン2.0.0.1未満のバージョンを起動していた場合、更新後には、拡張機能識別子「EDIT_RAW_MOV」を起動することが記載されている。アプリ実行ファイル３１１を実行したときの表示画面の例、編集ウィンドウ６４０の画面の例については、第一実施形態と同じで、それぞれ、図６（ａ）、（ｂ）で示されている。ここでは説明を省略する。
【００４７】
次に、拡張機能を実行するときの処理の流れについて、図１５を参照して説明する。図１５は、第一実施形態で説明を行った図７の処理に、いくつか追加の処理が加わったものとなっている。ステップＳ７０２で、拡張機能のインストール先４１５を取得し、空でなかった場合、ステップＳ１５０１で制御部２０１は、拡張機能バージョン一覧ファイル１１０４を取得する。そして、制御部２０１は、ステップＳ１５０１で取得した拡張機能バージョン一覧ファイル１１０４とステップＳ１５０２でインストール済み拡張機能のバージョン１２１２との比較を行うことで、更新の要否を判断する。バージョンが同じであった場合には、インストール済み拡張機能が最新版であるため更新は不要であり、ステップＳ７０３で、制御部２０１は最新の拡張機能を起動する。バージョンが異なっていた場合、拡張機能の更新が必要であるため、ステップＳ７０４に進むことになる。
【００４８】
なお、アプリ実行ファイル３１１を実行したときの、初期化処理の流れのうち、初期化処理の全体の流れ、ツールバーの初期化処理の流れ、未保存データの復元処理の流れについては、本実施形態と第一実施形態の図８Ａ乃至８Ｃで示した処理と同様である。
【００４９】
次に実行予定処理の実行処理について、図１６を参照して説明する。本実施形態においては、図８ＤのステップＳ８４２とステップＳ８４３の間に、拡張機能の変換処理が追加される。具体的には、ステップＳ８４２の処理の後、ステップＳ１６４５で制御部２０１は、図１４で説明した拡張機能変換テーブル１３３０の取得を行う。次のステップＳ１６４６で制御部２０１は、ステップＳ８４２で取得した拡張機能識別子と拡張機能変換テーブル１３３０から、実行予定処理記録ファイルに記載されていた拡張機能識別子を変換する必要があるかどうかを判定する。変換の必要がある場合には、制御部２０１はステップＳ１６４７で変換処理を行ったのち、ステップＳ８４３に進む。変換の必要がない場合には、そのままステップＳ８４３に進む。このような処理を行うことにより、拡張機能の更新により、拡張機能識別子の変更が行われた場合においても、自動的に更新後に変更後の拡張機能を起動することができる。なお、編集ウィンドウ６４０での適用ボタン、保存ボタンクリック時の処理の流れについても、第一実施形態と同じ処理であるので、図９Ａ、図９Ｂの説明をもってここでは説明しない。
【００５０】
次に、動画編集拡張機能インストーラ１１０１の処理の流れについて、図１７を参照して第一実施形態における図１０の処理との違いを説明する。本実施形態においては、ステップＳ１００２における、拡張機能追加設定ファイル８１０の読み出しの後に、ステップＳ１７０６において制御部２０１は、拡張機能変換テーブル１３３０を抽出する処理を行う。これは、図１６における、実行予定処理の実行処理において使用されるものである。また、ステップＳ１００４の拡張機能一覧ファイル３１２の更新の前に、ステップＳ１７０７において制御部２０１は、拡張機能一覧ファイル１３４０のインストールを行う。これは、拡張機能の更新により、拡張機能一覧ファイルの項目の追加、削除が必要になるためである。例えば、図１２（ｂ）で、拡張機能情報４１０（EDIT_MOV）や拡張機能情報４２０（EDIT_RAW）が削除され、EDIT_RAW_MOVの拡張機能情報が登録された拡張機能一覧ファイル３１２が生成される。
【００５１】
以上のように、第２実施形態によれば、第１実施形態の効果に加えて、拡張機能の更新を自動的に、且つ、ユーザに操作の不連続性を意識させることなく、行なうことができる。すなわち、ユーザが利用するソフトウェアの機能追加・更新を、ソフトウェアの使用中に一連のユーザ操作を中断することなく行えるようになる。
【００５２】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００５３】
なお、本実施形態では、アプリ機能が、画像編集機能をデータ編集機能として有する例を説明したが、処理対象データは画像データに限られるものではなく、例えば音声データでの同様に適用できる。
【図１】
0005773787.tif 000002
【図２】
0005773787.tif 000003
【図３】
0005773787.tif 000004
【図４】
0005773787.tif 000005
【図５】
0005773787.tif 000006
【図６】
0005773787.tif 000007
【図７】
0005773787.tif 000008
【図８Ａ】
0005773787.tif 000009
【図８Ｂ】
0005773787.tif 000010
【図８Ｃ】
0005773787.tif 000011
【図８Ｄ】
0005773787.tif 000012
【図９Ａ】
0005773787.tif 000013
【図９Ｂ】
0005773787.tif 000014
【図１０】
0005773787.tif 000015
【図１１】
0005773787.tif 000016
【図１２】
0005773787.tif 000017
【図１３】
0005773787.tif 000018
【図１４】
0005773787.tif 000019
【図１５】
0005773787.tif 000020
【図１６】
0005773787.tif 000021
【図１７】
0005773787.tif 000022