(57)【特許請求の範囲】
【請求項１】
電子機器と、該電子機器にネットワークを介して接続されるサーバとを備え、前記電子機器のカスタマイズを行なうカスタマイズシステムであって、
前記電子機器は、該電子機器の動作を制御する制御プログラムを記憶する書き換え可能な第１の記憶手段と、該第１の記憶手段に格納されている前記制御プログラムを書き換えるプログラム書き換え手段と、前記ネットワークに接続する接続手段とを備え、
前記サーバは、前記制御プログラムを構成する２つ以上のプログラムコンポーネントと、前記電子機器側の指示に対応して、該プログラムコンポーネントの組み合わせを選択する選択手段と、該選択手段により選択されたプログラムコンポーネントを組み合わせて制御プログラムを予め構築するプログラム構築手段とを備え、
前記サーバは、前記プログラム構築手段によりすでに構築された制御プログラムを、前記ネットワークを介して前記電子機器に転送し、前記電子機器は、前記プログラム書き換え手段により、転送された前記制御プログラムを前記第１の記憶手段に格納する制御プログラムとして書き換えることを特徴とするカスタマイズシステム。
【請求項２】
前記電子機器は、画像取り込み用の撮影レンズと、該撮影レンズを通して入力された光を電気信号へ変換する光電変換素子と、該光電変換素子により出力されるアナログ信号をデジタル信号へ変換するＡ／Ｄ変換器と、変換されたデジタル信号を処理して画像データを生成するデジタル信号処理回路とを備えることを特徴とする請求項１に記載のカスタマイズシステム。
【請求項３】
前記電子機器は、音声取り込み用のマイクロフォンを含むアナログ入力部と、アナログ入力された信号をデジタル信号へ変換するＡ／Ｄ変換器と、変換されたデジタル信号を処理するデジタルフィルタ回路を含むデジタル信号処理回路とを備えることを特徴とする請求項１に記載のカスタマイズシステム。
【請求項４】
前記電子機器は、表示手段をさらに有し、前記表示手段を用いて電子機器の動作に用いるためのプログラムコンポーネントの指示を行うことを特徴とする請求項１に記載のカスタマイズシステム。
【請求項５】
前記電子機器は、生成された画像データを着脱可能な記憶媒体に記憶するための第２の記憶手段を備えることを特徴とする請求項２に記載のカスタマイズシステム。
【請求項６】
前記電子機器は、前記ネットワークを介して前記サーバからホストコンピュータへ転送された制御プログラムを、前記ホストコンピュータから前記電子機器へ転送する手段として、前記第２の記憶手段を用いることを特徴とする請求項５に記載のカスタマイズシステム。
【請求項７】
前記プログラム構築手段は、制御プログラムを転送する前に予め暗号化処理することを特徴とする請求項１に記載のカスタマイズシステム。
【請求項８】
前記接続手段は、公衆回線または、個別のネットワーク回線を用いて、直接前記サーバへ接続し、前記電子機器によるプログラムコンポーネントの指定または制御プログラムの前記電子機器への転送をオンラインで行うことを特徴とする請求項１に記載のカスタマイズシステム。
【請求項９】
前記サーバでは、前記制御プログラムを構築するプログラム構築手段が、前記電子機器の制御手段を直接動作させるネイティブなプログラムコードを生成することを特徴とする請求項１に記載のカスタマイズシステム。
【請求項１０】
前記サーバでは、前記制御プログラムを構築するプログラム構築手段が、前記電子機器の制御手段を直接動作させる中間言語的なプログラムコードを生成することを特徴とする請求項１に記載のカスタマイズシステム。
【請求項１１】
請求項１ないし請求項７のいずれか１項に記載のカスタマイズシステムに用いられる電子機器。
【請求項１２】
請求項１ないし請求項７のいずれか１項に記載のカスタマイズシステムに用いられるサーバ。
【請求項１３】
サーバからネットワークを介して接続される電子機器のカスタマイズを行なうカスタマイズ方法であって、
前記サーバ側において、前記電子機器側の指示に対応して、前記電子機器の動作を制御する制御プログラムを構成する２つ以上のプログラムコンポーネントの組み合わせを選択手段により選択し、選択されたプログラムコンポーネントをプログラム構築手段で組み合わせて予め制御プログラムを構築し、その既に構築された制御プログラムを、前記ネットワークを介して前記電子機器に転送し、該電子機器のプログラム書き換え手段により前記電子機器の第１の記憶手段に格納されている制御プログラムを書き換え可能とすることを特徴とするカスタマイズ方法。
【請求項１４】
前記サーバでは、電子機器に対して制御プログラムを転送する前に予め暗号化処理することを特徴とする請求項１３に記載のカスタマイズ方法。
【請求項１５】
前記電子機器において、サーバから送られた制御プログラムの暗号を解読してから、前記電子機器のプログラム書き換え手段により、前記第１の記憶手段へ書き込むことを特徴とする請求項１３に記載のカスタマイズ方法。
【請求項１６】
前記選択手段は、前記プログラムコンポーネント毎の価格管理機能を備え、選択されたコンポーネントに対する合計価格を、電子機器のカスタマイズ選択手段へ通知し、記憶装置の使用者に対して、課金管理することを特徴とする請求項１３に記載のカスタマイズ方法。
【請求項１７】
前記選択手段は、プログラムコンポーネント利用度を自動集計する機能を備えることを特徴とする請求項１３に記載のカスタマイズ方法。
【請求項１８】
サーバ側において、前記電子機器固有の識別情報を予め取得し、その前記電子機器の識別情報に基づいて制御プログラムを暗号化し、その暗号化された制御プログラムを前記電子機器側へ転送し、前記電子機器側において制御プログラムを前記電子機器の装置固有の識別情報に基づいて解読することを特徴とする請求項１３に記載のカスタマイズ方法。
【請求項１９】
前記プログラム構築手段が、制御プログラムの利用回数の制限又は利用期間の制限を含む、試用を制限する機能を制御プログラムへ組み込む手段を備え、転送された制御プログラムを、前記プログラム書き換え手段により、前記第１の記憶手段へ書き込むことにより、試用の制限を判定し、電子機器の使用者に対して一定回数または一定期間の試用を許可することを特徴とする請求項１３に記載のカスタマイズ方法。
【請求項２０】
請求項１３乃至１９のいずれか１項に記載のカスタマイズ方法をコンピュータに実行させることを特徴とするプログラム。
【請求項２１】
請求項２０に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子機器をカスタマイズするためのカスタマイズシステム及びカスタマイズ方法及びプログラム及び記憶媒体に関するものである。
【０００２】
【従来の技術】
近年、デジタルスチルカメラ、ビデオカメラ、ＭＰ３プレーヤーなどデジタル電子機器が数多く発表され、利用者も増加している。
【０００３】
それらの電子機器は製品種別毎に統一した操作手順や設定手順が提供されておらず、利用者が複数の電子機器の装置を利用するときには、異なる操作手順や設定手順を装置毎に覚える必要がある。
【０００４】
電子機器の使用者としては、複数の電子機器を利用するに当たり、慣れた操作手順や設定手順を、全ての電子機器で利用できることが要求としてあり、その要求に応えるために電子機器の制御プログラムにある程度の自由度をもってカスタマイズ機能が提供されている。
【０００５】
しかしながら、電子機器の制御プログラムに全ての要求に応えるカスタマイズ機能を組み込むことは、開発規模の増大、制御プログラムの複雑度の増大、制御プログラムサイズの増大、制御プログラムの信頼性の低下につながるため、現実的ではなかった。
【０００６】
また、電子機器は複数の機種で共通なハードウェア（電気回路、メカ構成）で構成されており、ハードウェア的に実現可能な複数の機能の中から、不必要な機能に制限をかけて製品のラインナップを揃えている。これは、電子機器の製品戦略や制御プログラムを格納する書き換え可能な記憶媒体（ＥＥＰＲＯＭなど）の容量に起因している。
【０００７】
電子機器の利用者は、可能な範囲で利用できる機能を取捨選択し、自分の使い方に合った電子機器を使いたいという要求を持っている。
【０００８】
さらには、電子機器の使用者は、自分だけのオリジナル装置を作成したいといった要求も持っている。
【０００９】
このような状況に鑑みて、ネットワークを利用して電子機器のカスタマイズを使用者の要求に従った形で実現するサービスが提案されている。その一例として、特開２００１−２４９３８号公報では、ＰＣ（パーソナルコンピュータ）の専用ソフト（カスタマイズソフトウェア）によりネットワークを利用して、デジタルカメラ（電子機器）制御プログラムのプログラムコンポーネント及びデータコンポーネントをユーザの必要に応じて取捨選択し、選択されたコンポーネントをＰＣへダウンロードした後、ＰＣの専用ソフト（カスタマイズソフトウェア）によってコンポーネントをデジタルカメラのメモリに再書き込みをすることによりデジタルカメラのカスタマイズを行う提案がなされている。
【００１０】
図４は、従来例における構成を示したものである。
【００１１】
図４において、３００は電子機器であり、制御部３０４は、第３の記憶部３０７に格納された制御プログラム３０８に従って、データの記録動作を行う。操作部３０６からの記録開始指示に従って、データ入力部３０１からデータが入力され、第１の一時記憶部３０２へデータが記録される。操作部３０６からの記録データ書き込み指示に従って第２の記憶部３０３へデータが格納される。
【００１２】
制御部３０４はマイクロコンピュータを含む電気回路により構成されている。
【００１３】
第１の一時記憶部３０２は、ＲＡＭにより構成されている。
【００１４】
第２の記憶部３０３は、着脱可能なタイプで、メモリカード、ハードディスク、光磁気ディスク、ＣＤ−Ｒ等ストレージディバイスを含んでいる。
【００１５】
操作部３０６は、記録動作を開始、停止させるための操作部材、電源スイッチ、各種設定用操作部材及び、記録データの表示部材、各種設定内容の確認用表示部材を含んでいる。
【００１６】
書き換え可能な第３の記憶部３０７は、電気的書き換え可能なメモリ（ＥＥＰＲＯＭ、ＥＰＲＯＭ）である。
【００１７】
制御プログラム書き換え部３０５は、第３の記憶部３０７の一部分に格納されている制御部３０４で実行可能なプログラムコードである場合、電気回路的に構成されている場合、個別にマイクロコンピュータ及びプログラムコードである場合を含んでおり、書き換え可能な第３の記憶部３０７の一部または全部を消去、再書き込みすることが可能である。
【００１８】
制御プログラム３０８は、制御部３０４に含まれるマイクロコンピュータのネイティブな命令コードにより構成されている場合、第３の記憶部３０７に組み込まれている制御部３０４で実行可能なプログラムモジュールを動作させる簡易言語、または中間コードである場合を含んでいる。
【００１９】
ホストコンピュータインターフェース３０９は、電子機器３００の情報をホストコンピュータ３１０へ通知し、ホストコンピュータ３１０から第２の記憶部３０３に書き込まれているカスタマイズ用ファームウェアを、制御プログラム書き換え部３０５により第３の記憶部３０７へインストール指示を発行する。
【００２０】
ホストコンピュータ３１０は、電子機器インターフェース３１１を介して電子機器３００と接続可能であり、ＣＰＵ３１２、キーボード・マウスなどの入力装置３１８、ディスプレイなど表示装置３１５、電子機器カスタマイズソフトウェアの入ったＣＤ−ＲＯＭを読み出すためのＣＤ−ＲＯＭドライブ３１７、記憶装置３１４を備え、更にサーバ３２０と接続するためのネットワークインターフェース３１６を備えている。
【００２１】
サーバ３２０は、ネットワークインターフェース３２１を備え、ホストコンピュータ３１０と接続可能である。
【００２２】
サーバ３２０は、電子機器の制御プログラムを構成するプログラムコンポーネント群３２３及び、プログラムコンポーネント選択部３２２を備えている。
【００２３】
図５は、従来例における電子機器のカスタマイズ機能の流れを示した図である。
【００２４】
電子機器のカスタマイズを行うとき（ステップＳ４００）、カスタマイズソフトウェアの入ったＣＤ−ＲＯＭをホストコンピュータ３１０のＣＤ−ＲＯＭドライブ３１７へ挿入する（ステップＳ４０１）。
【００２５】
カスタマイズソフトウェアが起動すると、カスタマイズを行うかの確認（ステップＳ４０２）が行われ、実行しない場合（ＮＯ）は、電子機器のカスタマイズは中止される。実行する場合（ＹＥＳ）は、電子機器をホストコンピュータへ接続する様に指示が出され、使用者は電子機器３００をホストコンピュータ３１０へ接続する（ステップＳ４０３）。
【００２６】
ホストコンピュータ３１０は、電子機器３００の情報を取得し、その能力（ハードウェア性能、機種種別、プログラムの最大容量など）を決定する（ステップＳ４０４）。
【００２７】
ホストコンピュータ３１０は、電子機器３００の能力が決定すると、ネットワークインターフェース３１６を介して、サーバ３２０へ接続する（ステップＳ４０５）。
【００２８】
サーバ３２０は、ホストコンピュータ３１０から、電子機器３００の能力を取得し、プログラムコンポーネント選択部３２２が電子機器３００で利用可能なプログラムコンポーネントの一覧をホストコンピュータ３１０へ送り、ディスプレイ３１５へ利用可能なプログラムコンポーネントの一覧表示を行う（ステップＳ４０６）。
【００２９】
使用者は、キーボード・マウス等の入力装置３１８により、利用するプログラムコンポーネントを一覧より選択する（ステップＳ４０７）。
【００３０】
使用者により選択されたプログラムコンポーネントに関する情報は、直ちにサーバ３２０へ送られ、プログラムコンポーネント選択部３２２により、選択されたプログラムコンポーネントの合計金額が計算され、ホストコンピュータ３１０へ通知され、ディスプレイ３１５に表示される（ステップＳ４０８）。
【００３１】
使用者は、選択したプログラムコンポーネント及び合計金額を確認し、カスタマイズを継続するかを選択する（ステップＳ４０９）。継続しない場合（ＮＯ）は、電子機器カスタマイズは中止される。継続する場合（ＹＥＳ）は、サーバ３２０からネットワークインターフェースを介して、プログラムコンポーネント群３２３より選択されたコンポーネントがホストコンピュータ３１０へ転送される（ステップＳ４１０）。
【００３２】
転送されたプログラムコンポーネントは、第２の記憶部３１３へ転送され、使用者は第２の記憶部を電子機器３００の第２の記憶部３０３へ挿入する。その後、カスタマイズソフトウェアから電子機器３００へ電子機器インターフェース３１１を通してインストール指示を発行すると、制御プログラム書き換え部３０５は、第２の記憶部３０３に格納されているプログラムコンポーネントを第３の記憶部３０７へ書き込む（ステップＳ４１１）。
【００３３】
このようにして、電子機器のカスタマイズが完了する（ステップＳ４１２）。
【００３４】
【発明が解決しようとする課題】
このように、従来の提案では、プログラムコンポーネントを電子機器の外部（ホストコンピュータ）から実行されるカスタマイズソフトウェアにより選択し、電子機器へカスタマイズ用ファームウェアをインストールしていた。
【００３５】
電子機器のカスタマイズを行う際、記憶装置の外部にカスタマイズを行うための装置、例えばＰＣ（パーソナルコンピュータ）が必要であり、なおかつ電子機器の外部から実行される特殊なカスタマイズソフトウェアが必要であるという問題がある。
【００３６】
更に、プログラムコンポーネントが、一時的に使用者の目に触れることにより、プログラムコンポーネントが解析される可能性があり、また、カスタマイズソフトウェアも同様に解析される可能性があるため、制御プログラムを第三者へ違法にコピーされるなど、制御プログラムの利権保護に関して問題がある。
【００３７】
従って、本発明は上述した課題に鑑みてなされたものであり、その目的は、電子機器のカスタマイズを行なう場合に、電子機器側で実行される特殊なカスタマイズソフトウェアを不要とすることである。
【００３８】
また、本発明の他の目的は、電子機器のカスタマイズを行なう場合に、制御プログラムの利権が侵害されることを防止することである。
【００３９】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するために、本発明に係わるカスタマイズシステムは、電子機器と、該電子機器にネットワークを介して接続されるサーバとを備え、前記電子機器のカスタマイズを行なうカスタマイズシステムであって、前記電子機器は、該電子機器の動作を制御する制御プログラムを記憶する書き換え可能な第１の記憶手段と、該第１の記憶手段に格納されている前記制御プログラムを書き換えるプログラム書き換え手段と、前記ネットワークに接続する接続手段とを備え、前記サーバは、前記制御プログラムを構成する２つ以上のプログラムコンポーネントと、前記電子機器側の指示に対応して、該プログラムコンポーネントの組み合わせを選択する選択手段と、該選択手段により選択されたプログラムコンポーネントを組み合わせて制御プログラムを予め構築するプログラム構築手段とを備え、前記サーバは、前記プログラム構築手段によりすでに構築された制御プログラムを、前記ネットワークを介して前記電子機器に転送し、前記電子機器は、前記プログラム書き換え手段により、転送された前記制御プログラムを前記第１の記憶手段に格納する制御プログラムとして書き換えることを特徴としている。
【００４０】
また、この発明に係わるカスタマイズシステムにおいて、前記電子機器は、画像取り込み用の撮影レンズと、該撮影レンズを通して入力された光を電気信号へ変換する光電変換素子と、該光電変換素子により出力されるアナログ信号をデジタル信号へ変換するＡ／Ｄ変換器と、変換されたデジタル信号を処理して画像データを生成するデジタル信号処理回路とを備えることを特徴としている。
【００４１】
また、この発明に係わるカスタマイズシステムにおいて、前記電子機器は、音声取り込み用のマイクロフォンを含むアナログ入力部と、アナログ入力された信号をデジタル信号へ変換するＡ／Ｄ変換器と、変換されたデジタル信号を処理するデジタルフィルタ回路を含むデジタル信号処理回路とを備えることを特徴としている。
【００４２】
また、この発明に係わるカスタマイズシステムにおいて、前記電子機器は、表示手段をさらに有し、前記表示手段を用いて電子機器の動作に用いるためのプログラムコンポーネントの指示を行うことを特徴としている。
【００４３】
また、この発明に係わるカスタマイズシステムにおいて、前記電子機器は、生成された画像データを着脱可能な記憶媒体に記憶するための第２の記憶手段を備えることを特徴としている。
【００４４】
また、この発明に係わるカスタマイズシステムにおいて、前記電子機器は、前記ネットワークを介して前記サーバからホストコンピュータへ転送された制御プログラムを、前記ホストコンピュータから前記電子機器へ転送する手段として、前記第２の記憶手段を用いることを特徴としている。
【００４５】
また、この発明に係わるカスタマイズシステムにおいて、前記プログラム構築手段は、制御プログラムを転送する前に予め暗号化処理することを特徴としている。
【００４６】
また、この発明に係わるカスタマイズシステムにおいて、前記接続手段は、公衆回線または、個別のネットワーク回線を用いて、直接前記サーバへ接続し、前記電子機器によるプログラムコンポーネントの指定または制御プログラムの前記電子機器への転送をオンラインで行うことを特徴としている。
【００４７】
また、本発明に係わる電子機器は、上記のカスタマイズシステムに用いられることを特徴としている。
【００４８】
また、本発明に係わるサーバは、上記のカスタマイズシステムに用いられることを特徴としている。
【００４９】
また、この発明に係わるカスタマイズシステムにおいて、前記サーバでは、前記制御プログラムを構築するプログラム構築手段が、前記電子機器の制御手段を直接動作させるネイティブなプログラムコードを生成することを特徴としている。
【００５０】
また、この発明に係わるカスタマイズシステムにおいて、前記サーバでは、前記制御プログラムを構築するプログラム構築手段が、前記電子機器の制御手段を直接動作させる中間言語的なプログラムコードを生成することを特徴としている。
【００５１】
また、本発明に係わるカスタマイズ方法は、サーバからネットワークを介して接続される電子機器のカスタマイズを行なうカスタマイズ方法であって、前記サーバ側において、
前記電子機器側の指示に対応して、前記電子機器の動作を制御する制御プログラムを構成する２つ以上のプログラムコンポーネントの組み合わせを選択手段により選択し、選択されたプログラムコンポーネントをプログラム構築手段で組み合わせて予め制御プログラムを構築し、その既に構築された制御プログラムを、前記ネットワークを介して前記電子機器に転送し、該電子機器のプログラム書き換え手段により前記電子機器の第１の記憶手段に格納されている制御プログラムを書き換え可能とすることを特徴としている。
【００５２】
また、この発明に係わるカスタマイズ方法において、前記サーバでは、電子機器に対して制御プログラムを転送する前に予め暗号化処理することを特徴としている。
【００５３】
また、この発明に係わるカスタマイズ方法において、前記電子機器において、
サーバから送られた制御プログラムの暗号を解読してから、前記電子機器のプログラム書き換え手段により、前記第１の記憶手段へ書き込むことを特徴としている。
【００５４】
また、この発明に係わるカスタマイズ方法において、前記選択手段は、前記プログラムコンポーネント毎の価格管理機能を備え、選択されたコンポーネントに対する合計価格を、電子機器のカスタマイズ選択手段へ通知し、記憶装置の使用者に対して、課金管理することを特徴としている。
【００５５】
また、この発明に係わるカスタマイズ方法において、前記選択手段は、プログラムコンポーネント利用度を自動集計する機能を備えることを特徴としている。
【００５６】
また、この発明に係わるカスタマイズ方法において、サーバ側において、前記電子機器固有の識別情報を予め取得し、その前記電子機器の識別情報に基づいて制御プログラムを暗号化し、その暗号化された制御プログラムを前記電子機器側へ転送し、前記電子機器側において制御プログラムを前記電子機器の装置固有の識別情報に基づいて解読することを特徴としている。
【００５７】
また、この発明に係わるカスタマイズ方法において、前記プログラム構築手段が、制御プログラムの利用回数の制限又は利用期間の制限を含む、試用を制限する機能を制御プログラムへ組み込む手段を備え、転送された制御プログラムを、前記プログラム書き換え手段により、前記第１の記憶手段へ書き込むことにより、試用の制限を判定し、電子機器の使用者に対して一定回数または一定期間の試用を許可することを特徴としている。
【００５８】
また、本発明係わるプログラムは、上記のカスタマイズ方法をコンピュータに実行させることを特徴としている。
【００５９】
また、本発明に係わる記憶媒体は、上記のプログラムをコンピュータ読み取り可能に記憶したことを特徴としている。
【００６１】
このように、サーバ側で電子機器の制御プログラムの構築を行い、サーバから送られた制御プログラムが、電子機器に書き込まれ、使用者側が特別なソフトウェアを必要とせずに、電子機器のカスタマイズが行われることにより、電子機器に最適な制御プログラムを提供し、制御プログラムの構築手段及び、制御プログラムの内容を保護することが可能となる。
【００６２】
【発明の実施の形態】
以下、本発明の好適な実施形態について添付図面を参照して詳細に説明する。
【００６３】
（第１の実施形態）
図１は、本発明の第１の実施形態の構成を示した図である。
【００６４】
図１において、１００は電子機器（本実施の形態では、電子機器として音声録音機能付きデジタルカメラを例にあげる）であり、制御部１０４は、第３の記憶部１０７に格納された制御プログラム１０８に従って、画像データ、音声データの記録動作を行う。操作部１０６からの撮影開始指示に従って、データ入力部１０１から各データが入力され、第１の一時記憶部１０２へデータが記録される。操作部１０６からのデータ書き込み指示に従って第２の記憶部１０３へデータが格納される。
【００６５】
制御部１０４はマイクロコンピュータを含む電気回路により構成されている。
【００６６】
データ入力部１０１としては、図２に示すように、画像取り込み用の撮影用のレンズ１３１、撮影用レンズを通して入射される光の光量を調整する絞り・シャッタ１３２、撮影レンズを通して入力された光を電気信号へ変換する光電変換素子１３３、光電変換素子１３３により出力されるアナログ信号をデジタル信号へ変換するＡＤ変換器１３４、デジタル信号を処理して画像データを生成するデジタル信号処理回路１３５を含む画像（動画または静止画）入力装置、音声取り込み用のマイクロフォン１３６、オーディオ入力端子１３７を含むアナログ入力端子、アナログ入力された信号をデジタル信号へ変換するＡＤ変換器１３８、デジタル信号を処理するデジタルフィルタ回路を含めたデジタル信号処理回路１３９を含む音声入力装置を含んでいる。
【００６７】
これらの入力部は、操作部１０６からの指示により、画像取り込み用の撮影用のレンズ１３１を通した画像データは、絞り・シャッタ１３２により所定の入射光量に調整され、光電変換素子１３３へ露光される。光電変換素子１３３で電気信号に変換された画像データは、ＡＤ変換器１３４によりデジタル信号へ変換され、画像用デジタル信号処理回路１３５によりデジタル画像データがデータ入力部１０１から出力される。デジタル画像データは、第１の一時記憶部１０２に一端蓄えられた後、第２の記憶部１０３へ画像データファイルとして保存される。
【００６８】
撮影された画像データは、操作部１０６の指示により、電子機器に備え付けの表示部１１１で確認することが出来る。
【００６９】
また、操作部１０６からの指示により、マイクロフォン１３６またはオーディオ入力端子１３７から入力された音声アナログ信号は、ＡＤ変換器１３８によりデジタル信号に変換され、音声用デジタル信号処理回路１３９により加工されてデジタル音声データとしてデータ入力部１０１から出力される。デジタル音声データは、第１の一時記憶部１０２に一端蓄えられた後、第２の記憶部１０３へ音声データファイルとして保存される。
【００７０】
第１の一時記憶部１０２は、ＲＡＭにより構成されている。
【００７１】
第２の記憶部１０３は、装置組み込みタイプでは、書き換え可能な不揮発メモリ（例えばＥＥＰＲＯＭ、バックアップされたＲＡＭ）、着脱可能なタイプでは、メモリカード、ハードディスク、光磁気ディスク、ＣＤ−Ｒ、外部接続タイプでは、ネットワークや通信を経由したストレージディバイスを含んでいる。
【００７２】
操作部１０６は、記録動作を開始、停止させるための操作部材、電源スイッチ、各種設定用操作部材を含んでいる。
【００７３】
表示部１１１は、各種設定を行う場合の設定内容表示、撮影した画像データの表示、録音した音声データの再生を行うためのものであり、液晶ディスプレイ（ＬＣＤ）、外部モニタ出力、スピーカ、外部オーディオ出力を含んでいる。
【００７４】
書き換え可能な第３の記憶部１０７は、電気的書き換え可能なメモリ（ＥＥＰＲＯＭ、ＥＰＲＯＭ）である。
【００７５】
制御プログラム書き換え部１０５は、第３の記憶部１０７の一部分に格納されている制御部１０４で実行可能なプログラムコードである場合、電気回路的に構成されている場合、個別にマイクロコンピュータ及びプログラムコードである場合を含んでおり、書き換え可能な第３の記憶部１０７の一部または全部を消去、再書き込みすることが可能である。サーバから送られる制御プログラム１２４が暗号化されているときは、暗号を解読し、制御プログラム１０８を生成してから書き換え可能な第３の記憶部１０７へ書き込む。
【００７６】
制御プログラム１０８は、制御部１０４に含まれるマイクロコンピュータのネイティブな命令コードにより構成されている場合、第３の記憶部１０７に組み込まれている制御部１０４で実行可能なプログラムモジュールを動作させる簡易言語、または中間コードである場合を含んでいる。
【００７７】
ネットワーク接続部１０９は、電子機器とサーバ１２０をつなげるものであり、直接的に接続されている。
【００７８】
直接接続の例としては、インターネットなどが考えられ、公衆回線（無線、有線を含む）を利用してサービス提供者のサーバへ接続する場合があげられる（オンライン接続）。
【００７９】
カスタマイズ選択部１１０は、電子機器１００をサーバ１２０へ直接接続した際、サーバ１２０のプログラムコンポーネント選択部１２１と連携をとり、サーバに存在する有効なプログラムコンポーネントを選択し、サーバ１２０に対して選択したコンポーネント、及び構築指示を発行する。
【００８０】
１２０はサービス提供者のサーバである。
【００８１】
サーバ１２０は、プログラムコンポーネント選択部１２１、プログラムコンポーネント群１２２、制御プログラム構築部１２３、制御プログラム転送部１２５により構成されている。
【００８２】
プログラムコンポーネント選択部１２１は、選択可能なプログラムコンポーネント群１２２のリストを含んでいる。
【００８３】
また、プログラムコンポーネント選択部１２１は、プログラムコンポーネント毎の価格を管理しており、電子機器１００側の指示に応じて選択されたプログラムコンポーネントに対する合計価格を電子機器１００のカスタマイズ選択部１１０へ送り、利用者へ価格を通知、課金管理出来る機能を含んでいる。
【００８４】
プログラムコンポーネント選択部１２１は、プログラムコンポーネントが選択された頻度を自動集計し、各種統計データを出力する機能を含んでいる。
【００８５】
プログラムコンポーネント群１２２は、電子機器１００の制御プログラム１０８を構成する部品群である。これらの部品群は、ソースコード、コンパイルされた再配置可能なオブジェクトコード、タスクとして実行可能な命令コード、簡易言語で記述されたソースコードを含んでいる。
【００８６】
プログラムコンポーネント群１２２には、例えば、電子機器１００の操作部材１０６の機能を変更するもの、画像撮影の手順や画像処理パラメータを変更するもの、設定メニューの表示形式を変更するもの、動画撮影を提供するもの、多重露光やインターバル撮影などの特殊撮影を提供するもの、画像データの格納形式を変更するもの、音声録音パラメータ（サンプリング周波数、録音時間、フィルタ特性など）を変更するもの、音声の特殊効果を提供するもの、音声データの格納形式を変更するものなどを含んでいる。
【００８７】
制御プログラム構築部１２３は、プログラムコンポーネント選択部１２１により選択されたプログラムコンポーネント群１２２を組み合わせて、制御プログラム１２４を生成する。ここでは、ソースコードのコンパイルや、オブジェクトコードのリンク、タスク生成に必要な情報生成に必要なスクリプトの自動生成を行い、コンパイル、リンク、タスク生成を行い、最終的に実行可能な制御プログラムを生成する手段を含んでいる。また、必要に応じて、生成された制御プログラムに暗号化を行い、解読を困難にする機能も含んでいる。
【００８８】
制御プログラム転送部１２５は、構築された制御プログラム１２４をネットワークを通して、電子機器１００へ送る手順を提供している。
【００８９】
直接接続または、間接接続で公衆回線（無線、有線を含む）を利用している場合、制御プログラム１２４を公衆回線（無線、有線を含む）にて転送する。
【００９０】
図３は、本実施形態におけるカスタマイズ機能の流れを示した図である。
【００９１】
電子機器１００のカスタマイズを行うとき、操作部１０６より電子機器のカスタマイズ処理が選択される（ステップＳ２００）。
【００９２】
電子機器のカスタマイズが選択されると、続いて利用者は電子機器１００をネットワークに接続し、サーバ１２０にアクセスする（ステップＳ２０１）。
【００９３】
電子機器１００は、サーバ１２０との接続が完了すると、電子機器１００の識別情報を含む装置情報をサーバ１２０へ送信する（ステップＳ２０２）。
【００９４】
サーバ１２０では、電子機器１００側によって指定されたプログラムコンポーネントに関する情報に基づいて、サーバのプログラムコンポーネント選択部１２１は、利用可能なプログラムコンポーネントの情報を電子機器１００へ送信する（ステップＳ２０３）。
【００９５】
電子機器１００において、サーバ１２０のプログラムコンポーネント選択部１２１より送られたプログラムコンポーネントの情報に従って、制御部１０４は利用可能なプログラムコンポーネントの一覧表示を表示部１１１に対して行う（ステップＳ２０４）。
【００９６】
このとき、利用可能な全てのコンポーネントを表示することも、既に組み込まれているコンポーネントとの差分を表示することも可能である。また、各コンポーネントの価格を表示することも可能である。
【００９７】
利用者は、カスタマイズ選択部１１０により表示された利用可能なプログラムコンポーネントの一覧から所望のプログラムコンポーネントを１つ以上指定する（ステップＳ２０６）。
【００９８】
カスタマイズ選択部１１０により、指定されたプログラムコンポーネントの情報は、直ちにサーバ１２０のプログラムコンポーネント選択部１２１に送られ、指定されたプログラムコンポーネントに対する合計金額が計算され、カスタマイズ選択部１１０に通知され、表示部１１１に表示することで、使用者に提示される（ステップＳ２０６）。
【００９９】
使用者は、カスタマイズの内容及びプログラムコンポーネントに対する合計金額を確認した上で、カスタマイズを行うか、中止するかの判断を行う（ステップＳ２０７）。
【０１００】
中止（ＮＯ）を選択した場合は、電子機器のカスタマイズは中止される（ステップＳ２１２）。
【０１０１】
実行（ＹＥＳ）を選択した場合は、試用版か購入版かの選択を行う（ステップＳ２１３）。
【０１０２】
電子機器１００のカスタマイズ選択部１１０からサーバの制御プログラム構築部１２３へ制御プログラム構築の指示が発行され、制御プログラム構築部１２３は、プログラムコンポーネント選択部１２１に送られている選択されたプログラムコンポーネントの情報に従って、プログラムコンポーネント群１２２から所定のプログラムコンポーネントを取得し、制御プログラム１２４の構築のためのスクリプトを自動生成した後、制御プログラム構築スクリプトに従ってコンパイラ、リンカ等の制御プログラム構築ソフトウェアが実行されて、所望の制御プログラムが生成される（ステップＳ２０８）。なお、生成された制御プログラムは、予め接続時に送られた装置の識別情報を基に暗号化されている。
【０１０３】
制御プログラムを構築した時点で、選択されたコンポーネントに対する選択回数の自動集計が行われ、一定の期間単位で集計結果を示すレポートが出力される。サービス提供者側は、出力された集計結果を基に、市場動向（ユーザのニーズ）を把握することが可能である。
【０１０４】
購入版を選択して、生成された制御プログラムに対しては、選択したコンポーネントに対する合計金額の請求がサービス提供者側から利用者へ行われる。
【０１０５】
試用版を選択して、生成された制御プログラムに対しては、制御装置の識別情報を組み込まず、選択したコンポーネントの利用には、回数または期間の制限がかけられており、使用者は一定期間の試用を行うことを可能にしている。
【０１０６】
構築された制御プログラム１２４は、サーバの制御プログラム転送部１２５により電子機器１００へ転送される（ステップＳ２０９）。
【０１０７】
電子機器１００へ転送された制御プログラム１２４は、識別情報に基づいて制御部１０４で暗号が解読され、当該電子機器の制御プログラムであることが確認されると、実行可能な形の制御プログラム１０８を生成し、制御プログラム書き換え部１０５により、第３の記憶部１０７へ書き込まれる（ステップＳ２１０）。
【０１０８】
暗号が解読された時点で、当該電子機器の制御プログラムでないと判断されたときは、第３の記憶部１０７への書き込みは行われない。
【０１０９】
このような手順で、電子機器１００のカスタマイズが完了する（ステップＳ２１１）。以上のように、特別な装置（パーソナルコンピュータ）、特別なソフトウェア（カスタマイズソフト）を使用せず、また、制御プログラムが供給される電子機器のそれぞれに対して異なる暗号化が施され、電子機器の外部へ露呈しないため、解読するのに困難であることから、サーバ５２０から供給されるプログラム（ソフトウェア）の利権を保護しつつ、カスタマイズを行うことが出来る。
【０１１０】
（第２の実施形態）
図６は本発明の第２の実施形態の構成を示した図である。
【０１１１】
５００は電子機器（本実施の形態においても、電子機器として音声録音機能付きデジタルカメラを例にあげる）であり、制御部５０４は、第３の記憶部５０７に格納された制御プログラム５０８に従って、画像データ、音声データの記録動作を行う。操作部５０６からの撮影開始指示に従って、データ入力部５０１からデータが入力され、第１の一時記憶部５０２へデータが記録される。操作部５０６からの記録データ書き込み指示に従って第２の記憶部５０３へデータが格納される。なお、データ入力部５０１の構成はデータ入力部１０１と同じであり、図２に示したとおりである。
【０１１２】
制御部５０４はマイクロコンピュータを含む電気回路により構成されている。
【０１１３】
第１の一時記憶部５０２は、ＲＡＭにより構成されている。
【０１１４】
第２の記憶部５０３は、メモリカード、ハードディスク、光磁気ディスク、ＣＤ−Ｒ等のリムーバブルストレージディバイスである。
【０１１５】
操作部５０６は、記録動作を開始、停止させるための操作部材、電源スイッチ、各種設定用操作部材及び、記録データの表示部材、各種設定内容の確認用表示部材を含んでいる。
【０１１６】
書き換え可能な第３の記憶部５０７は、電気的書き換え可能なメモリ（ＥＥＰＲＯＭ、ＥＰＲＯＭ）である。
【０１１７】
制御プログラム書き換え部５０５は、第３の記憶部５０７の一部分に格納されている制御部５０４で実行可能なプログラムコードである場合、電気回路的に構成されている場合、個別にマイクロコンピュータ及びプログラムコードである場合を含んでおり、書き換え可能な第３の記憶部５０７の一部または全部を消去、再書き込みすることが可能である。制御プログラム５２５は、第２の記憶部５０３から読み込まれる。制御プログラム５２５は暗号化されており、制御プログラム書き換え部５０５は暗号を解読し、制御プログラム５０８を生成してから書き換え可能な第３の記憶部５０７へ書き込む。
【０１１８】
制御プログラム５０８は、制御部５０４に含まれるマイクロコンピュータのネイティブな命令コードにより構成されている場合、第３の記憶部５０７に組み込まれている制御部５０４で実行可能なプログラムモジュールを動作させる簡易言語、または中間コードである場合を含んでいる。
【０１１９】
電子機器５００は、電子機器固有ＩＤ５０９を備えており、制御部５０４は、制御プログラム５０８が自己の電子機器固有ＩＤ用に作成されたものであるかを判断する手段を備えており、不当なＩＤ用に作成された制御プログラム５０８を検出すると記録動作が実行できない仕組みを持っている。
【０１２０】
ホストコンピュータ５１０は、ＣＰＵ５１１、電子機器５００とのデータを交換するための第２の記憶部インターフェース５１２、キーボード・マウスなどの入力装置５１３、ディスプレイなどの表示装置５１４、記憶装置５１５を備え、更にサーバ５２０と接続するためのネットワークインターフェース５１６を備えている。
【０１２１】
ホストコンピュータ５１０は、ＷＥＢブラウザを介してサーバと情報の交換が行える。
【０１２２】
５２０はサービス提供者のサーバである。
【０１２３】
サーバ５２０は、ＷＥＢサーバとなっており、ホストコンピュータとインターネットを介して接続可能なネットワークインターフェース５２１、プログラムコンポーネント選択部５２２、プログラムコンポーネント群５２３、制御プログラム構築部５２４により構成されている。
【０１２４】
プログラムコンポーネント選択部５２２は、選択可能なプログラムコンポーネント群５２３のリストを含んでいる。更に、プログラムコンポーネント毎の価格を管理しており、選択されたプログラムコンポーネントに対する合計価格をホストコンピュータ５１０へ送り、利用者へ価格を通知出来る機能を備えることも出来る。
【０１２５】
プログラムコンポーネント群５２３は、電子機器５００の制御プログラム５０８を構成する部品群である。これらの部品群は、ソースコード、コンパイルされた再配置可能なオブジェクトコード、タスクとして実行可能な命令コード、簡易言語で記述されたソースコードを含んでいる。
【０１２６】
プログラムコンポーネント群５２３には、例えば、電子機器５００の操作部材５０６の機能を変更するもの、画像撮影の手順や画像処理パラメータを変更するもの、設定メニューの表示形式を変更するもの、動画撮影を提供するもの、多重露光やインターバル撮影などの特殊撮影を提供するもの、画像データの格納形式を変更するもの、音声録音パラメータ（サンプリング周波数、録音時間、フィルタ特性など）を変更するもの、音声の特殊効果を提供するもの、音声データの格納形式を変更するものなどを含んでいる。
【０１２７】
制御プログラム構築部５２４は、プログラムコンポーネント選択部５２２により選択されたプログラムコンポーネント群５２３を組み合わせて、制御プログラム５２５を生成する。ここでは、ソースコードのコンパイルや、オブジェクトコードのリンク、タスク生成に必要な情報生成に必要なスクリプトの自動生成を行い、コンパイル、リンク、タスク生成を行い、最終的に実行可能な制御プログラムを生成する手段を含んでいる。制御プログラム構築部５２４では、生成された制御プログラムに暗号化を行っている。
【０１２８】
構築された制御プログラム５２５はネットワークインターフェースを介してホストコンピュータへ送られる。
【０１２９】
図７は、は本実施形態におけるカスタマイズ機能の流れを示したものである。
【０１３０】
電子機器５００のカスタマイズを行うとき、使用者は、ホストコンピュータ５１０によりＷＥＢブラウザが起動し、ネットワークインターフェース５１６を介してサーバ５２０と接続する（ステップＳ６０１）。
【０１３１】
ホストコンピュータ５１０は、ネットワーク経由でサーバ５２０と接続されると、プログラムコンポーネント選択部５２２により、電子機器５００の固有ＩＤ５０９を指定するように通知される。この通知に応じてユーザ登録及びパスワードの設定を行い、サーバ５２０によるカスタマイズ機能へのログインを行う（ステップＳ６０２）。
【０１３２】
以後、ユーザ情報とパスワードを入力することで、カスタマイズ機能へのログインが可能となる。
【０１３３】
ホストコンピュータ５１０では、ログインすると、プログラムコンポーネント選択部５２２により、電子機器５００の固有ＩＤ５０９を基に、利用可能なプログラムコンポーネントの情報がサーバ５２０より送信され、選択可能なプログラムコンポーネントの一覧が表示される（ステップＳ６０３）。
【０１３４】
利用者は、ホストコンピュータ５１０に表示された利用可能なプログラムコンポーネントの一覧から所望のプログラムコンポーネントを１つ以上選択する（ステップＳ６０４）。
【０１３５】
利用者が選択したプログラムコンポーネントの情報は、直ちにサーバ５２０のプログラムコンポーネント選択部５２２に送られ、選択されたプログラムコンポーネントに対する合計金額が計算され、ホストコンピュータ５１０に通知され、使用者に提示される（ステップＳ６０５）。
【０１３６】
使用者は、カスタマイズの内容及びプログラムコンポーネントに対する合計金額を確認した上で、カスタマイズを行うか、中止するかの判断を行う（ステップＳ６０６）。
【０１３７】
中止（ＮＯ）を選択した場合は、電子機器のカスタマイズは中止される（ステップＳ６１３）。
【０１３８】
実行（ＹＥＳ）を選択した場合は、サーバの制御プログラム構築部５２４は、プログラムコンポーネント選択部５２２に送られている選択されたプログラムコンポーネントの情報に従って、プログラムコンポーネント群５２３から所定のプログラムコンポーネントを取得し、制御プログラム５２５の構築のためのスクリプトを自動生成した後、制御プログラム構築スクリプトに従ってコンパイラ、リンカ等の制御プログラム構築ソフトウェアが実行されて、所望の制御プログラムが生成される（ステップＳ６０７）。なお、生成された制御プログラムは、予め接続時に送られた電子機器１００固有の識別情報を基に暗号化されている。
【０１３９】
また、制御プログラム構築部５２４により生成された制御プログラム５２５は暗号化される。
【０１４０】
構築された制御プログラム５２５は、ネットワークインターフェースを介してホストコンピュータ５１０へ送られる（ステップＳ６０８）。
【０１４１】
ホストコンピュータ５１０へ転送された制御プログラム５２５は、第２の記憶部インターフェース５１２によりリムーバブルストレージディバイス（着脱可能なメモリ）に書き込まれる（ステップＳ６０９）。
【０１４２】
電子機器５００では、制御プログラム５２５が書き込まれたリムーバブルストレージディバイスを第２の記憶部５０３に挿入し（ステップＳ６１０）、制御プログラム書き換え部５０５を起動させることで、第２の記憶部５０３から制御プログラム５２５を読み出し、電子機器固有の識別情報に基づいて暗号を解読し、制御部５０４で実行可能な形の制御プログラム５０８を生成し、第３の記憶部５０７へ書き込む（ステップＳ６１１）。
【０１４３】
このような手順で、電子機器５００のカスタマイズが完了する（ステップＳ６１２）。よって、特別なソフトウェア（カスタマイズソフト）を使用せず、また、制御プログラムが供給される電子機器のそれぞれに対して異なる暗号化が施されているため、解読するのに困難であることから、サーバ５２０から供給されるプログラム（ソフトウェア）の利権を保護しつつ、カスタマイズを行うことが出来る。
【０１４４】
以上説明したように、上記の実施形態によれば、電子機器の使用者が要求した電子機器のカスタマイズ要求により、制御プログラムの構築をサーバ側に行わせることにより、使用者側に特殊なカスタマイズソフトウェアが不要となる。
【０１４５】
制御プログラムの構築をサーバ側に行わせることにより、制御プログラムの構築方法を使用者から完全に隠蔽することが出来、また制御プログラムが直接ネットワークを通して電子機器に送られるため、制御プログラムの利権が保護される。
【０１４６】
電子機器とサーバを直接ネットワークにより接続しない場合においても、制御プログラムが暗号化されていると、使用者側に制御プログラムの構築手段と特殊なカスタマイズソフトウェアが開示されないため、制御プログラムの利権が保護される。
【０１４７】
このように２つの課題が解決された電子機器のカスタマイズ機能及び、カスタマイズサービスが提供出来る。
【０１４８】
【他の実施形態】
また、各実施形態の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１５０】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図３又は図７に示す）フローチャートに対応するプログラムコードが格納されることになる。
【０１５１】
【発明の効果】
以上説明したように、本発明によれば、電子機器のカスタマイズを行なう場合に、電子機器の外部から実行される特殊なカスタマイズソフトウェアを不要とすることができる。
【０１５２】
また、電子機器のカスタマイズを行なう場合に、制御プログラムの利権が侵害されることを防止することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態の構成を示した図である。
【図２】図１におけるデータ入力部の詳細構成を示した図である。
【図３】第１の実施形態におけるカスタマイズ機能の流れを示した図である。
【図４】従来例におけるシステム構成を示した図である。
【図５】従来例におけるカスタマイズ機能の流れを示した図である。
【図６】本発明の第２の実施形態の構成を示した図である。
【図７】第２の実施形態におけるカスタマイズ機能の流れを示した図である。
【図１】
0003943945.tif 000002
【図２】
0003943945.tif 000003
【図３】
0003943945.tif 000004
【図４】
0003943945.tif 000005
【図５】
0003943945.tif 000006
【図６】
0003943945.tif 000007
【図７】
0003943945.tif 000008