(57)【要約】【課題】無効な設定や制限されている設定に従う処理の実行を防止すること。【解決手段】制御部７はソフトウエアを実行することにより、ユーザによる電子機器の機能が設定された場合に、機能を設定するためのコマンドを発行する。撮像部１内のＩＳＯ設定部１ａ、シャッタ速度設定部１ｂや、画像処理部２内の画質設定部２ａ、再生効果設定部２ｂなどの機能ブロック部は、制御部７により発行されたコマンドに応じた機能に係る処理を実行する。記憶部１２は無効な機能に関する情報を記憶している。無効機能検出部１３は、記憶部１２に記憶された情報に基づいて、制御部７の発行したコマンドが無効な機能を設定するためのコマンドであることを検出する。無効な機能を設定するためのコマンドが検出された場合、制御部７はコマンドに対応する機能ブロック部がユーザにより設定された機能に係る処理を実行しないように制御する。【選択図】図１
2013243647.tif 000002
【特許請求の範囲】
【請求項１】
電子機器であって、
ソフトウエアを実行することにより、ユーザによる前記電子機器の機能が設定された場合に、前記機能を設定するためのコマンドを発行する制御手段と、
前記制御手段により発行されたコマンドに応じて、前記機能に係る処理を実行する実行手段と、
無効な機能に関する情報を記憶する記憶手段と、
前記記憶手段により記憶された情報に基づいて、前記制御手段により発行されたコマンドが、前記無効な機能を設定するためのコマンドであることを検出する検出手段とを備え、
前記制御手段は、前記検出手段により、前記無効な機能を設定するためのコマンドであることが検出された場合に、前記実行手段が前記ユーザにより設定された機能に係る処理を実行しないように制御することを特徴とする電子機器。
【請求項２】
前記実行手段から前記コマンドを読み出して、前記検出手段に転送する手段を備えたことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記検出手段は、前記制御手段により発行された複数のコマンドがそれぞれ、無効な機能を設定するためのコマンドであるか否かを判別することを特徴とする請求項１に記載の電子機器。
【請求項４】
前記制御手段により前記コマンドが発行されたことに応じて、前記制御手段により発行されたコマンドを前記検出手段に転送する転送手段を備え、前記検出手段は、前記転送手段により転送されたコマンドが、前記無効な機能を設定するためのコマンドであることを検出することを特徴とする請求項１に記載の電子機器。
【請求項５】
前記検出手段は、前記制御手段により発行されたコマンドと、前記記憶手段に記憶された情報とを比較することにより、前記制御手段により発行されたコマンドが前記無効な機能を設定するためのコマンドであるか否かを判別することを特徴とする請求項１から４の何れか１項に記載の電子機器。
【請求項６】
前記制御手段は、一つの前記機能を設定するための複数のコマンドを発行し、前記検出手段は、前記一つの機能を設定するために前記制御手段から発行された複数のコマンドと、複数の前記無効な機能に関する情報とを比較することにより、前記制御手段により発行されたコマンドが前記無効な機能を設定するためのコマンドであるか否かを判別することを特徴とする請求項５に記載の電子機器。
【請求項７】
前記記憶手段は、複数の前記無効な機能に関する情報がそれぞれ有効となっているか否かを判別するための付加情報を記憶し、前記検出手段は、前記付加情報により無効であることが示される機能に関する情報に基づいて、前記制御手段により発行されたコマンドが、前記無効な機能を設定するためのコマンドであることを検出することを特徴とする請求項１に記載の電子機器。
【請求項８】
前記記憶手段は、前記無効な機能に関する情報と前記コマンドに含まれるデータとの大小関係の条件に関する情報を記憶し、前記検出手段は、前記制御手段により発行されたコマンドに含まれる前記データと前記記憶手段に記憶された前記無効な機能に関する情報との比較の結果と、前記大小関係の条件とに基づいて、前記制御手段により発行されたコマンドが前記無効な機能を設定するためのコマンドであるか否かを判別することを特徴とする請求項１に記載の電子機器。
【請求項９】
前記制御手段により発行されたコマンドと、前記記憶手段に記憶された前記無効な機能に関する情報はそれぞれ複数ビットのデータであり、前記記憶手段は、前記複数ビットの一部をマスクする情報を記憶し、前記検出手段は、前記制御手段により発行されたコマンドにおける前記一部以外のビットと、前記記憶手段に記憶された前記無効な機能に関する情報とを比較することにより、前記制御手段により発行されたコマンドが前記無効な機能を設定するためのコマンドであるか否かを判別することを特徴とする請求項１に記載の電子機器。
【請求項１０】
前記制御手段は、前記ソフトウエアを実行することにより、前記無効な機能を示す情報を前記記憶手段に記憶することを特徴とする請求項１に記載の電子機器。
【請求項１１】
撮像装置であって、
ソフトウエアを実行することにより、ユーザによる前記撮像装置の機能が設定された場合に、前記機能を設定するためのコマンドを発行する制御手段と、
前記制御手段により発行されたコマンドに応じて、前記機能に係る処理を実行する実行手段と、
無効な機能に関する情報を記憶する記憶手段と、
前記記憶手段により記憶された情報に基づいて、前記制御手段により発行されたコマンドが、前記無効な機能を設定するためのコマンドであることを検出する検出手段とを備え、
前記制御手段は、前記検出手段により、前記無効な機能を設定するためのコマンドであることが検出された場合に、前記実行手段が前記ユーザにより設定された機能に係る処理を実行しないように制御することを特徴とする撮像装置。
【請求項１２】
前記制御手段は、撮影指示に応じて、前記検出手段による検出の処理を実行させることを特徴とする請求項１１に記載の撮像装置。
【請求項１３】
前記実行手段は、前記制御手段により発行されたコマンドを記憶する記憶部を有し、
前記撮影指示に応じて、前記実行手段における記憶部から前記コマンドを読み出して、前記検出手段に転送する手段を備えたことを特徴とする請求項１２に記載の撮像装置。
【請求項１４】
前記検出手段は、前記撮影指示に応じて、前記制御手段により発行された複数のコマンドがそれぞれ、無効な機能を設定するためのコマンドであるか否かを判別することを特徴とする請求項１２に記載の撮像装置。
【請求項１５】
前記制御手段により前記コマンドが発行されたことに応じて、前記制御手段により発行されたコマンドを前記検出手段に転送する転送手段を備え、前記検出手段は、前記転送手段により転送されたコマンドが、前記無効な機能を設定するためのコマンドであることを検出することを特徴とする請求項１１に記載の撮像装置。
【請求項１６】
前記検出手段は、前記制御手段により発行されたコマンドと、前記記憶手段に記憶された情報とを比較することにより、前記制御手段により発行されたコマンドが前記無効な機能を設定するためのコマンドであるか否かを判別することを特徴とする請求項１１から１５の何れか１項に記載の撮像装置。
【請求項１７】
前記制御手段は、一つの前記機能を設定するための複数のコマンドを発行し、前記検出手段は、前記一つの機能を設定するために前記制御手段から発行された複数のコマンドと、複数の前記無効な機能に関する情報とを比較することにより、前記制御手段により発行されたコマンドが前記無効な機能を設定するためのコマンドであるか否かを判別することを特徴とする請求項１６に記載の撮像装置。
【請求項１８】
前記制御手段は、前記ソフトウエアを実行することにより、前記無効な機能を示す情報を前記記憶手段に記憶することを特徴とする請求項１１に記載の撮像装置。
【請求項１９】
前記実行手段は、撮像手段と、前記撮像手段により得られた画像信号を処理する処理手段と、前記処理手段により得られた画像信号を記録媒体に記録し、前記記録媒体から画像信号を再生する記録再生手段とを有することを特徴とする請求項１１に記載の撮像装置。
【請求項２０】
前記ソフトウエアを記憶するメモリを備え、
前記制御手段は、更新用のソフトウエアにより、前記メモリに記憶されたソフトウエアを更新することを特徴とする請求項１１から１９の何れか１項に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置等の電子機器に関し、特に、各種の機能に関する設定値の制御に関するものである。
【背景技術】
【０００２】
従来、デジタルカメラ等の撮像装置では、ソフトウエアに動作するＣＰＵにより撮影動作やその他の処理を制御している。このＣＰＵを動作させるためのソフトウエアはファームウエアとも呼ばれ、通常、フラッシュＲＯＭ等の不揮発性メモリに記憶されている。また、ユーザが撮像装置を購入した後、メーカが提供する新たなファームウエアによって、撮像装置に記憶されているファームウエアを更新（アップデート）する機能が一般的になっている。
【０００３】
また、従来、撮像装置においては、ユーザがメニューにより撮影に関する機能等の設定値を変更できる構成となっている。このとき、撮影処理等に支障をきたさないように、シャッタ速度やＩＳＯ感度の上限の設定値が決められている。こうすることで、機器を保護し、或いは、動作性能を保証することができる。
しかし、メーカから正規に提供されるファームウエア以外のファームウエア等の適切でないファームウエアにより撮像装置のファームウエアが更新されてしまうことがある。このような適切でないファームウエアにより、ユーザが設定値を変更可能な機能について、本来は設定できない値が設定されてしまうことがある。
【０００４】
このように、本来は設定できない値が設定されてしまったことによる装置の誤動作の保護や動作性能の保証のため、各種の処理機能を制限することも行われている。
例えば、機器の不正な機能の利用の可能性を低減させるために、機器の利用情報やメモリの消費情報をログに残して、予め有効化されている機能以外の機能が使用されていないか検出する方法が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−３７５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、機器の利用情報やメモリの消費情報をログ情報として残す必要があるため、不適切な機能の利用について常時検出して即座に措置を講じることができないという課題があった。
本発明は、無効な機能や制限されている機能に係る処理が実行されることを防止することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る電子機器は、ソフトウエアを実行することにより、ユーザによる前記電子機器の機能が設定された場合に、前記機能を設定するためのコマンドを発行する制御手段と、前記制御手段により発行されたコマンドに応じて、前記機能に係る処理を実行する実行手段と、無効な機能に関する情報を記憶する記憶手段と、前記記憶手段により記憶された情報に基づいて、前記制御手段により発行されたコマンドが、前記無効な機能を設定するためのコマンドであることを検出する検出手段とを備え、前記制御手段は、前記検出手段により、前記無効な機能を設定するためのコマンドであることが検出された場合に、前記実行手段が前記ユーザにより設定された機能に係る処理を実行しないように制御する。
【発明の効果】
【０００８】
本発明によれば、無効な設定や制限されている設定に従う処理が実行されることを防止することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１実施形態に係る撮像装置の構成を示す図である。
【図２】本発明の第１実施形態の処理を示すフローチャートである。
【図３】例外処理を示すフローチャートである。
【図４】本発明の第２実施形態に係る処理を示すフローチャートである。
【図５】本発明の第３実施形態に係る処理を示すフローチャートである。
【図６】本発明の第４実施形態に係る処理を示すフローチャートである。
【図７】本発明の第５実施形態に係る処理を示すフローチャートである。
【図８】本発明の第６実施形態に係る処理を示すフローチャートである。
【図９】本発明の第７実施形態に係る撮像装置の制御部の構成を示す図である。
【図１０】本発明の第７実施形態に係る処理を示すフローチャートである。
【図１１】無効な機能に関する情報を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本発明の各実施形態を添付図面に基づいて詳細に説明する。以下の実施形態では、本発明を撮像装置に適用した場合について説明する。なお、本発明の技術思想は、他の電子機器にも適用することができる。
【００１１】
［第１実施形態］
図１は、本発明の第１実施形態に係る撮像装置の構成を示すブロック図である。図１は撮像装置１００の機能構成を示すブロック図である。図１において、撮像部１はレンズ、シャッタおよび絞り、撮像素子等を含む。撮像部１は被写体の光を電気信号に変換し、画像信号を出力する。本実施形態では、撮影待機状態にて、撮像部１が動画信号を生成して出力する。また、ユーザによる撮影指示があった場合、撮影指示に応じた１画面の静止画信号を出力する。撮像部１は、制御部７からのコマンドを受ける機能ブロック部として、ＩＳＯ設定部１ａと、シャッタ速度設定部１ｂとを有するが、これ以外の機能ブロック部を持つことも可能である。画像処理部２は、撮影時においては、撮像部１から出力された画像信号に所定の画像処理を施す。例えば、画像処理部２は、撮像部１から出力された静止画信号に対し、ＪＰＥＧ等の圧縮処理を施す。また、画像処理部２は、再生時においては、再生された画像信号に対し、伸長処理や再生効果処理等を施す。画像処理部２は、制御部７からのコマンドを受ける機能ブロック部として、画質設定部２ａと、再生効果設定部２ｂとを有するが、これ以外の機能ブロック部を持つことも可能である。
【００１２】
記録再生部３は、撮影時においては、画像処理部２により圧縮された静止画信号を記録媒体４に記録する。また、記録再生部３は、再生時においては、記録媒体４から静止画信号を読み出し、画像処理部２に出力する。記録媒体４はメモリカード等のランダムアクセス可能な記録媒体である。記録媒体４は、不図示の装着、排出機構により、撮像装置１００に対して容易に装着、排出が可能である。
表示制御部５は、撮影待機状態では、撮像部１から出力された動画信号に従って動画像を表示部６に表示し、撮影指示があった場合は、撮影指示に応じて撮像部１から出力された静止画信号に応じて静止画像を表示部６に表示させる。また、表示制御部５は、再生時においては、記録媒体４から再生された静止画、或いは、記録媒体４に記録された複数の静止画信号の縮小画像を含むインデックス画面等を表示部６に表示させる。また、表示制御部５は、制御部７からの指示により、メニュー画面等の各種の情報を表示部６に表示する。表示部６は、液晶パネルや有機ＥＬデバイス等を含む。
【００１３】
制御部７はＣＰＵ（中央演算処理装置）やその他の回路を有し、撮像装置１００の各部の動作を制御する。制御部７は、フラッシュＲＯＭ９に記憶されたソフトウエア（ファームウエア）を解釈して実行することにより撮像装置１００を制御する。フラッシュＲＯＭ９は不揮発性メモリであり、ファームウエアを記憶する。また、ユーザは、ＲＯＭ９に記憶されたファームウエアを更新（アップデート）することが可能である。制御部７は、各機能ブロック部に対し、撮像装置の機能設定を行うためのアドレス及びデータからなるコマンドを発行する。
各機能ブロック部は、制御部７から出力されたコマンドに含まれるデータを記憶するためのレジスタを有する。また、各機能ブロック部におけるレジスタのアドレスは、機能ブロック部毎に決められている。
【００１４】
操作部８は、電源スイッチや撮影を指示するシャッタボタン等の各種の操作スイッチを含む。また、操作部８に含まれるスイッチの一部をタッチパネルにより構成することも可能である。ユーザは操作部８を操作することにより、撮像装置１００に撮影を指示することができる。また、ユーザは操作部８を操作することにより、撮影や再生に関する各種の機能の設定値を変更することができる。メモリ１０は例えば、ＤＲＡＭ等の揮発性メモリであり、記録時や再生時等に画像信号を記憶する。また、メモリ１０は、制御部７による制御のための各種のデータを記憶するためにも用いられる。
【００１５】
ＤＭＡ（Direct Memory Access）部１１は、各機能ブロック部のレジスタに記憶されたデータを読み出し、読み出したデータをレジスタのアドレスと共に無効機能検出部１３に対して転送する。また、ＤＭＡ部１１は、制御部７からコマンド転送の指示があった場合に、各機能ブロック部からデータを読み出して無効機能検出部１３に転送するための、専用の機能を持つものである。
記憶部１２は、無効とされている機能、または制限されている機能である、所定の機能に対応したアドレス及びデータからなるコマンド情報を記憶している。以下、この無効な機能のコマンド情報を無効値と呼ぶ。記憶部１２は、例えば、ＲＯＭ（読み出し専用メモリ）やヒューズ等で構成される。無効機能検出部１３は、ＤＭＡ部１１により転送されたアドレスおよびデータと、記憶部１２に記憶されているアドレスおよびデータとに基づいて、そのコマンドによる機能が無効であるか否かを判別する。そして、その判別結果と、無効とされた機能を示す情報とを、制御部７に出力する。バス１４は、撮像装置１００の各部の間でデータやコマンド等を送受信するために用いられる。
【００１６】
次に、各機能ブロック部について説明する。ＩＳＯ設定部１ａは、撮像部１により撮影される画像信号のＩＳＯ感度を制御する。撮像部１は、ＩＳＯ設定部１ａにより設定された値に従い、撮影する画像信号のＩＳＯ感度を設定する。例えば、ＩＳＯ感度を大きくしすぎた場合、撮影された静止画のノイズが増加してしまう。そのため、ユーザが設定できるＩＳＯ感度に制限を設けている場合がある。
【００１７】
シャッタ速度設定部１ｂは、撮像部１による撮影のためのシャッタ速度を制御する。撮像部１は、シャッタ速度設定部１ｂにより設定された設定値に従い、シャッタ速度を設定する。シャッタ速度が速すぎる場合、撮像部１におけるシャッタ部品が正常に動作しない等、撮像装置１００の動作保証に支障が生じる可能性がある。そのため、ユーザが設定可能なシャッタ速度に制限を設けている場合がある。
【００１８】
画質設定部２ａは、記録される静止画信号の画質を制御する。画像処理部２は、画質設定部２ａにより設定された設定値に従い、記録される静止画信号を圧縮するための圧縮率を設定する。ここでは、撮像部１により撮影された静止画信号の圧縮前のデータ量と、圧縮後のデータ量との比率を圧縮率と定義する。例えば、圧縮後のデータ量が圧縮前の１／５である場合は、圧縮率を１／５とする。圧縮率が大きい場合は、圧縮後の静止画データのデータ量が増加してしまい、例えば、連写時に記録媒体４に記録できなくなることがある。そのため、ユーザが設定できる圧縮率（画質）を制限している場合がある。
【００１９】
再生効果設定部２ｂは、再生された画像に対して施される再生効果を制御する。画像処理部２は、再生効果設定部２ｂにより設定された設定値に応じて、再生された画像に対して特殊効果処理を施す。適切ではないファームウエアにより、画像処理部２が実行可能な特殊効果処理とは異なる特殊効果が設定された場合、ユーザが特殊効果を設定したにもかかわらず実行できないことになる。
【００２０】
次に、ファームウエアの更新について説明する。撮像装置１００は、ＲＯＭ９に記憶されたファームウエアを更新する機能を持つ。ファームウエアを更新する場合、ユーザは、更新後のファームウエアが記憶された記録媒体４を撮像装置１００に装着する。そして、ユーザは、操作部８を操作して、ファームウエアの更新を指示する。
制御部７は、ファームウエアの更新指示があった場合、記録再生部３を制御して、記録媒体４からファームウエアのデータを読み出し、メモリ１０に記憶する。そして、メモリ１０に記憶された、更新用のファームウエアによりＲＯＭ９に記憶された更新前のファームウエアを書き替える。なお、更新処理の実行を制御するためのプログラムも記録媒体４に記録されており、制御部７はこの実行プログラムに従い、ＲＯＭ９に記憶されたファームウエアを更新する。
このようにＲＯＭ９に記憶されたファームウエアが更新された後、ユーザが操作部８を操作して、電源をオンにすると、更新されたファームウエアによる処理が有効となる。
【００２１】
ユーザは、撮影や再生に関する各種の機能の設定を変更する場合、操作部８を操作し、メニュー画面を表示部６に表示させる。そして、ユーザは、このメニュー画面を利用して、所望の機能を設定する。制御部７は、ユーザにより機能が設定された場合、設定された機能に応じたアドレスとデータを含むコマンドを、対応する機能ブロック部に対して出力する。各機能ブロック部は、制御部７から受けたコマンドに含まれるアドレスに基づき、設定値のデータを記憶する。
【００２２】
例えば、ユーザによりＩＳＯ感度として３２００が設定された場合、制御部７は、ＩＳＯ感度設定機能に対応したアドレスと、３２００という値を示すデータとを含むコマンドをＩＳＯ設定部１ａに出力する。また、ユーザによりシャッタ速度として１／１００秒が設定された場合、制御部７は、シャッタ速度設定機能に対応したアドレスと、１／１００という設定値を示すデータとを含むコマンドをシャッタ速度設定部１ｂに出力する。また、ユーザにより静止画信号の画質として、高画質が設定された場合、制御部７は、画質設定機能に対応したアドレスと、高画質に応じた設定値を示すデータとを含むコマンドを画質設定部２ａに出力する。また、ユーザにより再生効果としてモノクロ効果が設定された場合、制御部７は、再生効果設定機能に対応したアドレスと、モノクロ効果に応じた設定値を示すデータとを含むコマンドを再生効果設定部２ｂに出力する。
【００２３】
例えば、前述のようにＲＯＭ９に記憶されたファームウエアを更新した結果、更新後のファームウエアが適切なものでなく、ある機能について、本来は無効とされている機能が設定可能となってしまうことが考えられる。
例えば、シャッタ速度として１／３２００秒を設定する機能が禁止されていたにもかかわらず、更新後のファームウエアにより、シャッタ速度として１／３２００秒を設定することができるように改変されてしまうことが考えられる。
そこで、本実施形態では、無効とされた機能に対応したアドレス及びデータからなるコマンド情報を無効値として記憶部１２に記憶しておき、記憶部１２に記憶されたコマンド情報に基づいて、撮像装置１００による処理を制御する。
【００２４】
図２および図３は、撮影時や再生時における処理を示すフローチャートである。図２、図３の処理では、無効とされた機能または制限されている機能に係るコマンド情報（無効値）を検出して、例外処理を行う。図２、図３の処理は、制御部７におけるＣＰＵがＲＯＭ９に記憶されたファームウエアを実行することにより行われる。また、図２、図３の一部の処理は、制御部７以外のブロックにより実行される。なお、例外処理とは、適切でないファームウエアによる不適切な機能設定に対して、この機能の利用を防止することで撮像装置を保護し、または動作を保証するための処理である。例外処理は、例えば、以下に示す動作や機能の無効化または制限を含む。
・予め決められている機能を無効とすること、または当該機能を制限すること。
・撮像装置の動作を停止し、または制限すること。
・無効とされている機能、または、制限されている機能に係る設定値を補正して処理内容を変更すること。
・警告処理によって、望ましくない改造等を抑止すること。
【００２５】
図１１（Ａ）は、記憶部１２に記憶されている、無効とされた機能に応じたアドレスとデータを含む無効値を示している。図１１（Ａ）の１列目は無効な機能に対応したアドレスであり、２列目はこのアドレスに対応するデータである。図１１（Ａ）では、一例として、撮像部１による撮影処理のためのシャッタ速度の設定機能に対応したアドレスとそのデータを示している。これ以外にも、他の撮影機能のうち、無効な機能のアドレス及びデータや、再生処理の機能のうち、無効な機能のアドレス及びデータが記憶部１２に記憶される。
例えば、図１１（Ａ）に示すように、シャッタ速度を設定するためのコマンドのアドレスとして０ｘ２０００００００が記憶部１２に記憶されている。このアドレス０ｘ２０００００００に対して、予め設定されているシャッタ速度１／８０００秒を示すデータとして０ｘ００３０６０００が記憶されている。なお、これらの数値は例示に過ぎず、他の値とすることも可能である。また、シャッタ速度１／４０００秒、１／２０００秒を示すデータとして、０ｘ００３０４０００、０ｘ００３０２０００がそれぞれ記憶されている。
【００２６】
前述のように、メニュー画面により各機能の設定値がユーザにより設定されると、制御部７より、対応した機能ブロック部に対し、アドレスとデータが送信される。この状態で、操作部８より撮影指示や、再生指示が出力された場合、図２の処理が開始される。
図２において、制御部７は、ＤＭＡ部１１に対し、各機能ブロック部からのコマンドデータの転送を開始するように指示する（Ｓ２０１）。ＤＭＡ部１１は、複数の機能ブロック部のうち、無効とされた機能に対応した機能ブロック部からデータを読み出す。ＤＭＡ部１１は、この機能に対応したアドレスを生成し、読み出したデータと共に、無効機能検出部１３に転送する（Ｓ２０２）。このとき、ＤＭＡ部１１は、撮影指示により図２のフローが開始された場合、複数の機能ブロック部のうち、撮影処理に関連した機能ブロック部からデータを読み出し、アドレスと共に無効機能検出部１３に転送する。このように、ＤＭＡ部１１が転送するコマンドには、アドレスとデータとが含まれる。無効とされた機能が複数ある場合、ＤＭＡ部１１は、この複数の機能に対応した複数の機能ブロック部から、データを読み出し、各機能に対応したアドレスと共に無効機能検出部１３に転送する。
【００２７】
無効機能検出部１３は、ＤＭＡ部１１により転送されたアドレスおよびデータと、記憶部１２に記憶されているアドレスおよびデータとを比較する（Ｓ２０３）。無効機能検出部１３は、この比較の結果、制御部７により発行されたコマンドに対応した機能が、無効とされている機能であるか否かを判別する（Ｓ２０４）。本実施形態では、ＤＭＡ部１１より転送されたアドレス及びデータが、記憶部１２に記憶された無効値と一致した場合、その機能が無効であると判断する。また、ＤＭＡ部１１より転送されたアドレス及びデータが、記憶部１２に記憶された無効値と一致しない場合、その機能が有効であると判断する。
設定された機能が無効でなかった場合、無効機能検出部１３は、その機能を有効とする（Ｓ２０５）。一方、設定された機能が無効であった場合、無効機能検出部１３は、その機能を無効とする（Ｓ２０６）。
【００２８】
次に、無効機能検出部１３は、ＤＭＡ部１１より転送されたコマンドの残りがあるか否かを判別し（Ｓ２０７）、残りのコマンドがある場合はＳ２０３に戻って処理を繰り返す。
また、ＤＭＡ部１１より転送された全てのコマンドについて、有効か無効かの判断が終了した場合、無効機能検出部１３は、無効とされた機能があるか否かを判別し、判別結果を示す情報を制御部７に出力する（Ｓ２０８）。また、無効機能検出部１３は、無効とされた機能があった場合には、更に、その機能を示す情報も制御部７に送る。
制御部７は、無効機能検出部１３より、無効とされた機能が無かった旨の情報を受けた場合、引き続き、ファームウエアに従って処理を実行する（Ｓ２０９）。例えば、ユーザにより撮影が指示された場合、撮影処理を実行する。また、制御部７は、無効機能検出部１３より、無効とされた機能があった旨の情報を受けた場合、制御部７は、例外処理を実行する（Ｓ２１０）。
【００２９】
図３は、図２のＳ２１０における例外処理を示すフローチャートである。まず、制御部７は、無効機能検出部１３より送られた情報に基づき、無効とされた機能を判別する（Ｓ３０１）。そして、この機能に対応した例外処理が、撮像装置１００の動作を停止し、撮像装置１００の無効化を実行するものであるか否かを判定する（Ｓ３０２）。本実施形態では、各機能に応じた例外処理が予め決められており、この各機能に対応した例外処理を示す情報が記憶部１２に記憶されている。例外処理が、撮像装置１００の無効化の処理である場合、制御部７は、撮像装置１００の電源をオフし、撮像装置１００の動作を停止させる（Ｓ３０３）。この後、ユーザは撮像装置１００を使用することができなくなる。
【００３０】
一方、例外処理が、撮像装置の無効化の処理でない場合、制御部７は、例外処理が、設定値を制御部７が、その機能に関する設定値を補正する処理であるか否かを判別する（Ｓ３０４）。例外処理が、設定値を制御部７が補正する処理でない場合、制御部７は、無効とされている設定値が設定されたため、処理が停止されることをユーザに知らせるための警告処理を実行する（Ｓ３０５）。本実施形態では、例えば、表示部６に警告のためのメッセージ等が表示される。また、不図示のスピーカから音声が出力される。このように警告処理を実行した後、制御部７は、処理を停止する（Ｓ３０６）。例えば、ユーザが撮影を指示した場合、Ｓ３０６の処理により、撮影動作が禁止される。ユーザは、Ｓ３０５による警告のためのメッセージを確認することで、無効とされた機能がわかるので、この機能のための設定値を有効な値に変更すれば、撮影を行うことができる。
【００３１】
また、Ｓ３０４において、例外処理が、設定値を制御部７が補正する処理であった場合、制御部７は、ユーザにより設定された設定値を所定値に変更する（Ｓ３０７）。ここでは、制御部７は、例えば、無効とされていない所定値を設定する。この所定値は、各機能によって予め決められている。例えば、シャッタ速度の設定機能については、設定値として上限値よりも速い値が設定されていた場合、上限値に設定される。次に、制御部７は、無効値が設定された機能の残りがあるか否かを判別し（Ｓ３０８）、残りの機能がある場合はＳ３０１に戻って処理を続ける。一方、残りの機能が無い場合、制御部７は、ファームウエアに従って処理を実行する（Ｓ３０９）。
【００３２】
例えば、図１１（Ａ）によれば、シャッタ速度を１／８０００秒に設定する機能は無効とされているが、適切ではないファームウエアにより、シャッタ速度として１／８０００秒が設定された場合について説明する。
ユーザによりシャッタ速度として１／８０００秒が設定された場合、制御部７は、シャッタ速度設定部１ｂに対し、シャッタ速度の設定のためのアドレス０ｘ２０００００００とデータ０ｘ００３０６０００を含むコマンドを送信する。そして、ユーザから撮影指示が出力された場合、ＤＭＡ部１１により、シャッタ速度設定部１ｂからデータが読み出され、シャッタ速度の設定機能に対応したアドレスと共に、読み出されたデータが無効機能検出部１３に転送される。転送されたアドレス０ｘ２０００００００とデータ０ｘ００３０６０００は、記憶部１２に記憶されているアドレスおよびデータと比較される。
転送されたアドレスは、図１１（Ａ）に示す値と一致するので、無効機能検出部１３は、このコマンドに対応した機能が無効であり、更に、シャッタ速度の設定が無効である旨の情報を制御部７に通知する。その結果、制御部７は、撮影動作を停止する例外処理を実行する。
このように、第１実施形態によれば、適切でないファームウエアにより設定された設定値に従った処理の実行を防止することができる。
【００３３】
［第２実施形態］
次に、本発明の第２実施形態を説明する。本実施形態においても、撮像装置１００の構成や基本的な処理は第１実施形態と同じである。本実施形態では、所定の機能について、その設定値を変更する場合に、一つのコマンドではなく、複数のコマンドが制御部７から発行される。また、別の所定の機能については、その設定値を変更する場合に、複数のコマンドの何れかが制御部７から発行される。
【００３４】
図１１（Ｂ）は、記憶部１２に記憶されている、無効とされている機能または制限されている機能に対応したコマンドのアドレスとデータを示している。図１１（Ｂ）では、一例として、撮像部１による撮影処理のためのシャッタ速度の設定機能、及び、ＩＳＯ感度の設定機能に関するコマンドのアドレスとデータを示している。図１１（Ｂ）の１列目はアドレス、２列目はデータを示し、これらは図１１（Ａ）と同様である。図１１（Ｂ）の３列目、４列目は付加情報であり、無効とされた機能または制限されている機能を設定するためのコマンドに含まれるアドレスおよびデータの組み合わせ情報を示している。
【００３５】
例えば、シャッタ速度を設定するためには、図１１（Ｂ）のグループ１に示す三つのアドレスを含む三つのコマンドが発行される。そして、ユーザがシャッタ速度を設定した場合、これら三つのアドレスに対して、それぞれ、ユーザが設定したシャッタ速度に対応した値がデータとして付加され、コマンドとして送信される。図１１（Ｂ）の３列目は、このように、一つの機能を設定するためのコマンドの組を示すグループ情報である。また、図１１（Ｂ）の４列目は、各グループのコマンドによる機能の設定条件を示す情報（条件ビット）である。例えば、シャッタ速度を変更する場合、三つのアドレス及びデータを含むコマンドを全て発行する必要があるため、設定条件がＡＮＤ（論理積）となっている。そのため、シャッタ速度として１／８０００秒を設定するための機能に対応したコマンドのアドレスとして、０ｘ２０００００００、０ｘ２００００００４、０ｘ２００００００８が記憶部１２に記憶される。その際、それぞれ対応するデータ０ｘ００３０６０００、０ｘ０５０６０００７、０ｘ０３２５７００７が併せて記憶部１２に記憶される。更に、設定条件としてＡＮＤが登録される。
【００３６】
一方、ＩＳＯ感度の設定機能については、グループ内の複数のアドレス及びデータのうち、何れか一つのアドレス及びデータを含むコマンドが発行される。ＩＳＯ感度を変更する場合、これら二つのコマンドのアドレスの何れかのデータを変更すればよいので、設定条件がＯＲ（論理和）となっている。ＩＳＯ感度として３２００を設定するための機能に対応したコマンドのアドレスとして、０ｘ３０００００００、０ｘ３００００００４と、それぞれ対応するデータ０ｘ０００６００７５、０ｘ００３４００５６が記憶部１２に記憶される。更に、設定条件としてＯＲが登録される。
【００３７】
図４は、第２実施形態における撮影、或いは再生処理を示すフローチャートである。図４の処理では、図２と同様、無効とされた機能または制限されている機能に係る無効値を検出して、例外処理を行う。図４の処理は、制御部７における制御部７がＲＯＭ９に記憶されたファームウエアを実行することにより行われる。また、図４の一部の処理は、制御部７以外のブロックにより実行される。
【００３８】
前述のように、メニュー画面により機能が設定されると、制御部７より、対応した機能ブロック部に対し、アドレスとデータを含むコマンドが送信される。この状態で、操作部８より撮影指示や、再生指示が出力された場合、図４の処理が開始される。
図４において、制御部７は、ＤＭＡ部１１に対し、各機能ブロック部からのコマンドデータの転送を開始するように指示する（Ｓ４０１）。ＤＭＡ部１１は、無効とされた機能に対応した機能ブロック部からデータを読み出し、機能に対応したアドレスと共に無効機能検出部１３に転送する（Ｓ４０２）。ＤＭＡ部１１が転送するデータには、一つの機能について、複数のアドレスとデータとが含まれる。無効とされた機能が複数ある場合、ＤＭＡ部１１は、この複数の機能に対応した複数の機能ブロック部からデータを読み出し、アドレスと共に無効機能検出部１３に転送する。
【００３９】
無効機能検出部１３は、転送されたコマンドにグループが設定されているか否かを判別する（Ｓ４０３）。例えば、転送されたコマンドにグループが設定されておらず、一つのアドレスとデータにより機能が設定されるコマンドである場合、Ｓ４０４に処理を進める。Ｓ４０４で無効機能検出部１３は、ＤＭＡ部１１により転送されたアドレスおよびデータと、記憶部１２に記憶されているアドレスおよびデータを比較する。無効機能検出部１３は、この比較の結果、ユーザにより設定された機能が無効とされているか否かを判別する（Ｓ４０５）。
無効な機能でなかった場合、無効機能検出部１３は、その機能を有効とする（４０６）。一方、無効な機能であった場合、無効機能検出部１３は、その機能を無効とする（Ｓ４１１）。
【００４０】
また、Ｓ４０３において、コマンドのグループが設定されている場合、無効機能検出部１３は、そのコマンドを含むグループのアドレスを検出し（Ｓ４０７）、更に、グループに対応する条件を判別する（Ｓ４０８）。条件がＡＮＤであった場合、無効機能検出部１３は、ＤＭＡ部１１より転送された、グループの複数のアドレスとデータとを、記憶部１２に記憶されているアドレスおよびデータとを比較する（Ｓ４０９）。無効機能検出部１３は、この比較の結果、機能が無効であるか否かを判別する（Ｓ４１０）。無効機能検出部１３は、全てのアドレスとデータが一致した場合は、その機能を無効と判別し（Ｓ４１１）。また、何れかのデータが一致しない場合、ユーザにより設定された機能を有効と判別する（Ｓ４１４）。
【００４１】
また、Ｓ４０８で、条件がＯＲであった場合、無効機能検出部１３は、ＤＭＡ部１１より転送された、グループの複数のアドレスとデータとを、記憶部１２に記憶されているアドレスおよびデータとを比較する（Ｓ４１２）。無効機能検出部１３は、この比較の結果、機能が無効であるか否かを判別する（Ｓ４１３）。無効機能検出部１３は、何れかのアドレスとデータが一致した場合は、その機能を無効と判別し（Ｓ４１５）、また、何れのアドレス及びデータも一致しない場合、ユーザにより設定された機能を有効と判別する（Ｓ４１４）。
【００４２】
次に、無効機能検出部１３は、ＤＭＡ部１１より転送されたコマンドデータの残りがあるか否かを判別し（Ｓ４１６）、コマンドデータの残りがある場合にはＳ４０３に戻って処理を繰り返す。また、ＤＭＡ部１１より転送された全てのコマンドデータについて、有効か無効かの判断が終了した場合、無効機能検出部１３は、無効とされた機能があるか否かを判別し、判別結果を示す情報を制御部７に出力する（Ｓ４１７）。また、無効機能検出部１３は、無効とされた機能があった場合には、更に、その機能を示す情報も制御部７に送る。
制御部７は、無効機能検出部１３より、無効とされた機能が無かった旨の情報を受けた場合、引き続き、ファームウエアに従って処理を実行する（Ｓ４１８）。制御部７は、無効機能検出部１３より、無効とされた機能があった旨の情報を受けた場合、制御部７は、図３に示す例外処理を実行する（Ｓ４１９）。
【００４３】
例えば、図１１（Ｂ）によれば、シャッタ速度を１／８０００秒に設定する機能は無効であるが、適切ではないファームウエアにより、シャッタ速度として１／８０００秒が設定された場合について説明する。
ユーザによりシャッタ速度として１／８０００秒が設定された場合、制御部７は、シャッタ速度設定部１ｂに対し、シャッタ速度の設定のためのアドレス０ｘ２０００００００及びデータ０ｘ００３０６０００を設定する。また、制御部７は、アドレス０ｘ２００００００４にデータ０ｘ０５０６０００７を設定し、アドレス０ｘ２００００００８にデータ０ｘ０３２５７００７を設定する。そして、制御部７は、これらのアドレスとデータを含むコマンドを送信する。
【００４４】
ユーザから撮影指示が出力された場合、ＤＭＡ部１１により、シャッタ速度設定部１ｂに対して発行されたコマンドのアドレスとデータとが無効機能検出部１３に転送される。転送された各アドレスおよびデータは、記憶部１２に記憶されている、図１１（Ｂ）のアドレスおよびデータと比較される。また、シャッタ速度の設定機能に関するコマンドは、グループ１と判定され、その設定条件がＡＮＤであることが判定される。そのため無効機能検出部１３により、全てのアドレスおよびデータが一致するか否かが判別される。転送されたアドレスは図１１（Ｂ）に示す値と一致するので、無効機能検出部１３は、無効とされた機能があり、更に、シャッタ速度の設定が無効である旨の情報を制御部７に通知する。その結果、制御部７は、撮影動作を停止する例外処理を実行する。
【００４５】
また、図１１（Ｂ）によれば、ＩＳＯ感度として３２００を設定する機能は無効であるが、適切ではないファームウエアにより、ＩＳＯ感度として３２００が設定された場合について説明する。
ユーザによりＩＳＯ感度として３２００が設定された場合、制御部７は、ＩＳＯ設定部１ａに対し、ＩＳＯ感度の設定のためのアドレス０ｘ３０００００００にデータ０ｘ０００６００７５を設定する。そして、制御部７は、これらのアドレスとデータを含むコマンドを送信する。
【００４６】
ユーザから撮影指示が出力された場合、ＤＭＡ部１１により、ＩＳＯ設定部１ａに対して発行されたコマンドのアドレスとデータとが無効機能検出部１３に転送される。転送されたアドレスおよびデータは、記憶部１２に記憶されている、図１１（Ｂ）のアドレスおよびデータと比較される。また、ＩＳＯ感度の設定機能に関するコマンドは、グループ２と判定され、その設定条件がＯＲであることが判定される。そのため無効機能検出部１３により、記憶部１２に記憶された何れかのアドレスおよびデータと、転送されたアドレス及びデータが一致するか否かが判別される。転送されたアドレスは図１１（Ｂ）に示す値と一致するので、無効機能検出部１３は、無効とされた機能があり、更に、シャッタ速度の設定が無効である旨の情報を制御部７に通知する。その結果、制御部７は、撮影動作を停止する例外処理を実行する。
このように、第２実施形態によれば、適切でないファームウエアにより設定された設定値に従った処理の実行を防止することができる。また、無効化された機能について、無効値を設定するために複数のコマンドが発行される場合にも、この無効値に従った処理の実行を防止することができる。
【００４７】
［第３実施形態］
次に、本発明の第３実施形態を説明する。本実施形態においても、撮像装置１００の構成や基本的な処理は第１実施形態と同じである。
図１１（Ｃ）は、記憶部１２に記憶されている、無効とされた機能または制限されている機能に対応したコマンドのアドレスとデータを示している。図１１（Ｃ）では、一例として、撮像部１による撮影処理のためのシャッタ速度の設定機能に関するコマンドのアドレスとデータを示している。図１１（Ｃ）の１列目はアドレス、２列目はデータを示し、これらは図１１（Ａ）と同様である。図１１（Ｂ）の３列目は、ユーザにより設定された機能が無効であるか否かを判別するための条件を示している。本実施形態では、以下に示す、ユーザにより設定された設定値Ｘと記憶部１２に記憶されたデータＹの大小関係に関する五つの条件の何れかが設定される。
１．Ｘ＝Ｙ（等しい）
２．Ｘ＞Ｙ（より大きい）
３．Ｘ≧Ｙ（以上）
４．Ｘ＜Ｙ（より小さい）
５．Ｘ≦Ｙ（以下）
【００４８】
例えば、図１１（Ｃ）では、シャッタ速度を設定するためのアドレス０ｘ２０００００００と、これに対応するデータとして０ｘ００３０６０００が記憶されている。また、条件として、ＸとＹが等しい、という条件が設定されている。また、シャッタ速度を設定するためのアドレス０ｘ２０００００００と、これに対応するデータとして０ｘ００３０４０００が記憶されている。また、条件として、ＸがＹ以上、という条件が設定されている。また、シャッタ速度を設定するためのアドレス０ｘ２０００００００と、これに対応するデータとして０ｘ００３０２０００が記憶されている。また、条件として、ＸはＹ以下である、という条件が設定されている。
【００４９】
図５は、第３実施形態における撮影、或いは再生処理を示すフローチャートである。図５の処理では、図２と同様、無効とされた機能または制限されている機能に係る設定値を検出して、例外処理を行う。図５の処理は、制御部７におけるＣＰＵがＲＯＭ９に記憶されたファームウエアを実行することにより行われる。
前述のように、メニュー画面により機能が設定されると、制御部７より、対応した機能ブロック部に対し、アドレスとデータが送信される。この状態で、操作部８より撮影指示や再生指示が出力された場合、図５の処理が開始される。
図５において、制御部７は、ＤＭＡ部１１に対し、各機能ブロック部からのコマンドの転送を開始するように指示する（Ｓ５０１）。ＤＭＡ部１１は、複数の機能ブロック部のうち、無効とされた機能に対応した機能ブロック部からデータを読み出し、アドレスと共に無効機能検出部１３に転送する（Ｓ５０２）。無効とされた機能が複数ある場合、ＤＭＡ部１１は、この複数の機能に対応した複数の機能ブロック部からデータを読み出し、アドレスと共に無効機能検出部１３に転送する。
【００５０】
無効機能検出部１３は、転送されたアドレスとデータに基づいて対応した機能を判別する（Ｓ５０３）。そして、無効機能検出部１３は、記憶部１２に記憶された情報に基づいて、判別された機能に対応した条件を検出する（Ｓ５０４）。無効機能検出部１３は、条件として、ＸとＹが等しいことが設定されているか否かを判別する（Ｓ５０５）。「等しい」が条件として設定されていた場合、無効機能検出部１３はその条件に対応したデータＹと、転送されたコマンドに含まれるデータＸとが等しいか否かを判別する（Ｓ５０６）。ＸとＹとが等しい場合、無効機能検出部１３は、その設定値を無効とする（Ｓ５１４）。
【００５１】
また、Ｓ５０５において、「等しい」条件が設定されていない場合、及び、Ｓ５０６で転送されたデータＸと記憶されたデータＹとが等しくなかった場合、Ｓ５０７に進む。Ｓ５０７で無効機能検出部１３は、条件として、ＸがＹ以上であることが設定されているか否かを判別する。条件として、ＸがＹ以上であることが設定されていた場合、無効機能検出部１３は、ＸがＹ以上であるか否かを判別する（Ｓ５０８）。転送されたデータＸが記憶されたデータＹ以上である場合、無効機能検出部１３は、その機能を無効とする（Ｓ５１４）。
【００５２】
また、Ｓ５０７において、「以上」が条件として設定されていない場合、及び、Ｓ５０８でＸがＹ以上でなかった場合、無効機能検出部１３は、条件として、ＸがＹより大きいことが設定されているか否かを判別する（Ｓ５０９）。条件として、ＸがＹより大きいことが設定されていた場合、無効機能検出部１３は、転送されたデータＸが、記憶されたデータＹより大きいか否かを判別する（Ｓ５１０）。ＸがＹより大きい場合、無効機能検出部１３は、その機能を無効とする（Ｓ５１４）。
また、Ｓ５０９において、「より大きい」が条件として設定されていない場合、及び、Ｓ５１０でＸがＹより大きくない場合、無効機能検出部１３は、条件として、ＸがＹ以下であることが設定されているか否かを判別する（Ｓ５１１）。条件として、ＸがＹ以下であることが設定されていた場合、無効機能検出部１３は、転送されたデータＸが、記憶されたデータＹ以下であるか否かを判別する（Ｓ５１２）。ＸがＹ以下である場合、無効機能検出部１３は、その機能を無効とする（Ｓ５１４）。
【００５３】
また、Ｓ５１１において、「以下」が条件として設定されていない場合、及び、Ｓ５１２でＸがＹ以下でない場合、無効機能検出部１３は、転送されたデータＸが、記憶されたデータＹより小さいか否かを判別する（Ｓ５１３）。ＸがＹより小さい場合、無効機能検出部１３は、その機能を無効とする（Ｓ５１４）。
また、Ｓ５１３において、ＸがＹよりも小さくない場合、無効機能検出部１３は、その機能を有効とする（Ｓ５１５）。
【００５４】
次に、無効機能検出部１３は、ＤＭＡ部１１より転送されたコマンドの残りがあるか否かを判別し（Ｓ５１６）、残りのコマンドがある場合はＳ５０３に戻って処理を繰り返す。
また、ＤＭＡ部１１より転送された全てのコマンドについて、有効か無効かの判断が終了した場合、無効機能検出部１３は、無効とされた機能があるか否かを判別し、判別結果を示す情報を制御部７に出力する（Ｓ５１７）。また、無効機能検出部１３は、無効とされた機能があった場合には、更に、その機能を示す情報も制御部７に送る。
制御部７は、無効機能検出部１３より、無効とされた機能が無かった旨の情報を受けた場合、引き続き、ファームウエアに従って処理を実行する（Ｓ５１８）。制御部７は、無効機能検出部１３より、無効とされた機能があった旨の情報を受けた場合、制御部７は、図３に示す例外処理を実行する（Ｓ５１９）。
【００５５】
例えば、図１１（Ｃ）によれば、シャッタ速度の設定機能について、１／８０００秒、１／４０００秒、１／２０００秒が設定されている。更に、各無効値の条件として、「等しい」、「以上」、「以下」という条件が設定されている。
ユーザによりシャッタ速度として１／８０００秒が設定された場合、制御部７はシャッタ速度設定部１ｂに対し、シャッタ速度の設定のためのアドレス０ｘ２０００００００にデータ０ｘ００３０６０００を設定する。
【００５６】
ユーザから撮影指示が出力された場合、ＤＭＡ部１１により、シャッタ速度設定部１ｂに設定されたアドレスとデータとを含むコマンドが無効機能検出部１３に転送される。転送されたアドレスおよびデータは、記憶部１２に記憶されている、図１１（Ｃ）のアドレスおよびデータと、その条件に従って比較される。シャッタ速度として１／８０００秒が設定された場合、転送されたデータは、図１１（Ｃ）に示すデータ０ｘ００３０６０００と一致する。そのため、無効機能検出部１３は、無効とされた機能があり、更に、シャッタ速度の設定が無効である旨の情報を制御部７に通知する。その結果、制御部７は、撮影動作を停止する例外処理を実行する。
【００５７】
また、ＤＭＡ部１１から、アドレス０ｘ２０００００００と対応するデータ０ｘ００３０４００１が無効機能検出部１３に転送された場合、この０ｘ００３０４００１は、条件「以上」に対応した無効値０ｘ００３０４０００以上である。そのため、無効機能検出部１３は、このアドレス及びデータを含むコマンドに対応した機能が無効であると判断する。
また、ＤＭＡ部１１から、アドレス０ｘ２０００００００と対応するデータ０ｘ００３０１ＦＦＦが無効機能検出部１３に転送された場合、この０ｘ００３０１ＦＦＦは、条件「以下」に対応した無効値０ｘ００３０２０００以下である。そのため、無効機能検出部１３は、このアドレス及びデータを含むコマンドに対応した機能が無効であると判断する。
このように、第３実施形態によれば、適切でないファームウエアにより設定された設定値に従った処理の実行を防止することができる。また、無効化された設定値を判別するための条件に基づいて、設定値が無効か否かについて判別されるので、記憶部１２に記憶された無効値以外の値が設定された場合にも、適切に無効値の判別が可能となる。
【００５８】
［第４実施形態］
次に、本発明の第４実施形態を説明する。本実施形態においても、撮像装置１００の構成や基本的な処理は第１実施形態と同じである。本実施形態では、所定の機能について、その設定値を変更する場合に、制御部７は、アドレスに対応した複数ビットのデジタルデータのうちの一部に、設定値に対応した値を設定する。
【００５９】
図１１（Ｄ）は、記憶部１２に記憶されている、無効とされた機能または制限されている機能に対応したコマンドのアドレスとデータを示している。図１１（Ｄ）では、一例として、撮像部１による撮影処理のためのシャッタ速度の設定機能に関するコマンドのアドレスとデータを示している。図１１（Ｄ）の１列目はアドレス、２列目はデータを示し、これらは図１１（Ａ）と同様である。図１１（Ｄ）の３列目はマスクデータであり、複数ビットのデータの一部をマスクするために使用し、マスクされた一部以外のビットが比較対象となる。つまりマスクデータは、機能に関連したビット以外の一部のビットが使用されないようにするための情報である。
【００６０】
例えば、図１１（Ｄ）では、シャッタ速度として１／８０００秒を設定する機能のためのアドレス０ｘ２０００００００と、対応するデータとして０ｘ００００６０００、マスクデータとして０ｘ００００ｆｆ００が登録されている。また、シャッタ速度として１／４０００秒を設定する機能のためのアドレスに０ｘ２０００００００と、対応するデータとして０ｘ０００００００７、マスクデータとして０ｘ００００００ｆｆが登録されている。また、シャッタ速度として１／２０００秒を設定する機能のためのアドレス０ｘ２０００００００と、対応するデータとして０ｘ００３０２０００、マスクデータとして０ｘ００ｆｆ００００が登録されている。
【００６１】
図６は、第４実施形態における撮影、或いは再生処理を示すフローチャートである。図６の処理では、図２と同様、無効とされた機能または制限されている機能に係る設定値を検出して、例外処理を行う。図６の処理は、制御部７におけるＣＰＵがＲＯＭ９に記憶されたファームウエアを実行することにより行われる。
前述のように、メニュー画面により機能が設定されると、制御部７より、対応した機能ブロック部に対し、アドレスとデータが送信される。この状態で、操作部８より撮影指示や、再生指示が出力された場合、図６の処理が開始される。
【００６２】
図６において、制御部７は、ＤＭＡ部１１に対し、各機能ブロック部からのコマンドデータの転送を開始するように指示する（Ｓ６０１）。ＤＭＡ部１１は、複数の機能ブロック部のうち、無効値が設定された機能に対応した機能ブロック部からデータを読み出し、アドレスと共に無効機能検出部１３に転送する（Ｓ６０２）。
無効機能検出部１３は、記憶部１２に記憶されたマスクデータに基づいて、ＤＭＡ部１１により転送されたデータの一部のビットをマスクしたマスクデータを生成する（Ｓ６０３）。具体的には、無効機能検出部１３は、記憶部１２に記憶された無効化機能のアドレスから、転送されたアドレスと同じものを検出する。そして、無効機能検出部１３は、転送されたアドレスと同じアドレスに対して登録されたデータと、そのマスクデータを検出する。例えば、転送されたアドレスが０ｘ２０００００００である場合、無効機能検出部１３は、図１１（Ｄ）から、このアドレスに対応した三つのマスクデータを検出する。そして、転送されたデータを、これら三つのマスクデータによりそれぞれマスクすることにより、三つのマスクデータを生成する。
【００６３】
次に、無効機能検出部１３は、生成された各マスクデータと、記憶部１２に記憶された各データとをそれぞれ比較する（Ｓ６０４）。無効機能検出部１３は、この比較の結果、ユーザにより設定された機能が無効であるか否かを判別する（Ｓ６０５）。
無効な機能でなかった場合、無効機能検出部１３は、その機能を有効とする（Ｓ６０６）。一方、無効な機能であった場合、無効機能検出部１３は、その機能を無効とする（Ｓ６０７）。次に、無効機能検出部１３は、ＤＭＡ部１１より転送されたコマンドの残りがあるか否かを判別し（Ｓ６０８）、残りのコマンドがある場合はＳ６０３に戻って処理を繰り返す。
【００６４】
また、ＤＭＡ部１１より転送された全てのコマンドについて、有効か無効かの判断が終了した場合、無効機能検出部１３は、設定値が無効とされた機能があるか否かを判別し、判別結果を示す情報を制御部７に出力する（Ｓ６０９）。また、無効機能検出部１３は、設定値が無効とされた機能があった場合には、更に、その機能を示す情報も制御部７に送る。
制御部７は、無効機能検出部１３より、無効とされた機能が無かった旨の情報を受けた場合、引き続き、ファームウエアに従って処理を実行する（Ｓ６１０）。例えば、ユーザにより撮影が指示された場合、撮影処理を実行する。また、制御部７は、無効機能検出部１３より、無効とされた機能があった旨の情報を受けた場合、制御部７は、図３の例外処理を実行する（Ｓ６１１）。
【００６５】
例えば、ユーザによりシャッタ速度として１／８０００秒が設定された場合、制御部７は、シャッタ速度設定部１ｂに対し、シャッタ速度の設定のためのアドレス０ｘ２０００００００とデータ０ｘ００３０６０００を含むコマンドを発行する。
ユーザから撮影指示が出力された場合、ＤＭＡ部１１により、シャッタ速度設定部１ｂに設定されたデータと、アドレスを含むコマンドが無効機能検出部１３に転送される。シャッタ速度として１／８０００秒が設定された場合、転送されたアドレスは０ｘ２０００００００である。無効機能検出部１３は、図１１（Ｄ）に示すアドレス０ｘ２０００００００に対応した三つのマスクデータに基づいて、転送されたデータ０ｘ００３０６０００をマスクし、三つのマスクされたデータを生成する。
【００６６】
具体的には、０ｘ００３０６０００を０ｘ００ｆｆ００００でマスクすることにより、０ｘ００３０００００が得られる。０ｘ００３０６０００を０ｘ００００ｆｆ００でマスクすることにより、０ｘ００００６０００が得られる。０ｘ００３０６０００を０ｘ００００００ｆｆでマスクすることにより、０ｘ００００００００が得られる。
無効機能検出部１３は、このように得られた三つのデータを、図１１（Ｄ）に示すデータと比較し、一致するか否かを判別する。０ｘ００３０６０００を０ｘ００００ｆｆ００でマスクすることにより得られた０ｘ００００６０００は、このマスクデータに対応したデータ０ｘ００００６０００と一致する。そのため、無効機能検出部１３は、無効とされた機能があり、更に、シャッタ速度の設定が無効である旨の情報を制御部７に通知する。その結果、制御部７は、撮影動作を停止する例外処理を実行する。
このように、第４実施形態によれば、適切でないファームウエアにより設定された設定値に従った処理の実行を防止することができる。また、複数ビットのデータの一部が設定値として使用される場合にも、適切に無効値の判別が可能となる。
【００６７】
［第５実施形態］
次に、本発明の第５実施形態を説明する。本実施形態においても、撮像装置１００の構成や基本的な処理は第１実施形態と同じである。本実施形態では、製品出荷時に記憶部１２に記憶されていた、無効化対象の機能を、無効にするか否かを製品出荷後に変更できる構成とした。
【００６８】
図１１（Ｅ）は、記憶部１２に記憶されている、無効とされた機能または制限されている機能に対応したコマンドのアドレスとデータを示している。図１１（Ｅ）では、一例として、撮像部１による撮影処理のためのシャッタ速度の設定機能に関するコマンドのアドレスとデータを示している。図１１（Ｅ）の１列目はアドレス、２列目はデータを示し、これらは図１１（Ａ）と同様である。図１２（Ｅ）の３列目は無効化ビットであり、対応する機能に対する無効の設定が有効か否かを示す情報である。無効化ビットの値が第１の値（ここでは１）の場合、無効の設定が無効であり、その機能は有効であることを示す。また、無効化ビットの値が第２の値（ここでは０）の場合、無効の設定が有効であり、その機能が無効であることを示す。
記憶部１２に記憶された、この無効化ビットは、前述のような、ファームウエアの更新処理では変更されない。例えば、ユーザは、撮像装置１００の製造メーカのサービスセンタ等に撮像装置１００を持ち込むことにより、この無効化ビットを変更することが可能である。
【００６９】
図７は、第５実施形態における撮影、或いは再生処理を示すフローチャートである。図７の処理では、図２と同様、無効とされた機能または制限されている機能を検出して、例外処理を行う。図７の処理は、制御部７におけるＣＰＵがＲＯＭ９に記憶されたファームウエアを実行することにより行われる。
前述のように、メニュー画面により機能が設定されると、制御部７より、対応した機能ブロック部に対し、アドレスとデータが送信される。この状態で、操作部８より撮影指示や、再生指示が出力された場合、図７の処理が開始される。
【００７０】
図７において、制御部７は、ＤＭＡ部１１に対し、各機能ブロック部からのコマンドの転送を開始するように指示する（Ｓ７０１）。ＤＭＡ部１１は、無効値が設定された機能に対応した機能ブロック部からデータを読み出し、アドレスと共に無効機能検出部１３に転送する（Ｓ７０２）。
【００７１】
無効機能検出部１３は、記憶部１２に記憶された無効化ビットに基づいて、無効化されている機能に対応したコマンドのアドレスとデータとを検出する（Ｓ７０３）。次に、無効機能検出部１３は、検出されたアドレス及びデータと、転送されたアドレス及びデータとを比較する（Ｓ７０４）。この比較の結果、ユーザにより設定された機能が無効であるか否かを判別する（Ｓ７０５）。
機能が無効でなかった場合、無効機能検出部１３は、その機能を有効とする（Ｓ７０６）。一方、無効な機能であった場合、無効機能検出部１３は、その機能を無効とする（Ｓ７０７）。次に、無効機能検出部１３は、ＤＭＡ部１１より転送されたコマンドの残りがあるか否かを判別し（Ｓ７０８）、残りのコマンドがある場合はＳ７０３に戻って処理を繰り返す。
また、ＤＭＡ部１１より転送された全てのコマンドについて、有効か無効かの判断が終了した場合、無効機能検出部１３は、無効とされた機能があるか否かを判別し、判別結果を示す情報を制御部７に出力する（Ｓ７０９）。また、無効機能検出部１３は、設定値が無効とされた機能があった場合には、更に、その機能を示す情報も制御部７に送る。
【００７２】
制御部７は、無効機能検出部１３より、無効とされた機能が無かった旨の情報を受けた場合、引き続き、ファームウエアに従って処理を実行する（Ｓ７１０）。例えば、ユーザにより撮影が指示された場合、撮影処理を実行する。また、制御部７は、無効機能検出部１３より、無効とされた機能があった旨の情報を受けた場合、制御部７は、図３の例外処理を実行する（Ｓ７１１）。
例えば、ユーザによりシャッタ速度として１／８０００秒が設定された場合、制御部７はシャッタ速度設定部１ｂに対し、シャッタ速度の設定のためのアドレス０ｘ２０００００００とデータ０ｘ００３０６０００を出力する。
ユーザから撮影指示が出力された場合、ＤＭＡ部１１により、シャッタ速度設定部１ｂに設定されたアドレスとデータとを含むコマンドが無効機能検出部１３に転送される。シャッタ速度として１／８０００秒が設定された場合、転送されたアドレスは０ｘ２０００００００である。無効機能検出部１３は、図１１（Ｅ）に示すアドレス０ｘ２０００００００に対応した三つの無効値に対応した無効化ビットの値を検出する。
【００７３】
図１１（Ｅ）では、データ０ｘ００３０６０００と０ｘ００３０４０００の無効化ビットが０である。無効機能検出部１３は、このように無効化ビットが０であるデータを、転送されたデータと比較し、一致するか否かを判別する。０ｘ００３０６０００は、図１１（Ｅ）の無効化ビットにより無効と判別されたデータ０ｘ００３０６０００と一致する。そのため、無効機能検出部１３は、無効とされた機能があり、更に、シャッタ速度の設定が無効である旨の情報を制御部７に通知する。その結果、制御部７は、撮影動作を停止する例外処理を実行する。
このように、第５実施形態によれば、適切でないファームウエアにより設定された設定値に従った処理の実行を防止することができる。また、撮像装置を出荷した後で、無効値を有効な値に変更した場合や、逆に、新たに無効な値を設定した場合にも、この無効値に従った処理の実行を防止することができる。
【００７４】
［第６実施形態］
次に、本発明の第６実施形態を説明する。第１ないし第５実施形態では、記憶部１２に対し、予め図１１（Ａ）ないし（Ｅ）に示すような無効化機能を設定するためのコマンドに含まれるアドレスとその無効値とが記憶されていた。本実施形態では、電源投入時に、制御部７がＲＯＭ９に記憶されたプログラム（ファームウエア）を実行することにより、記憶部１２に対し、無効化されている機能のアドレスと無効値のデータとを書き込む。
記憶部１２には、所定の機能が無効とされているか否かを示す情報（機能割り当てビット）が記憶されている。また、各機能割り当てビットが記憶されたアドレスは、機能毎に予め決められている。図１１（Ｆ）は、シャッタ速度として１／８０００秒、１／４０００秒、１／２０００秒をそれぞれ設定する機能が無効であるか否かを示す機能割り当てビットの例を示している。
【００７５】
制御部７は、第１実施形態にて説明した機能に加え、電源投入時に記憶部１２に記憶された、図１１（Ｆ）に示すような機能割り当てビットの情報に基づいて、無効化機能を設定するためのアドレスおよびデータを記憶部１２に書き込む。制御部７により記憶部１２に書き込まれるアドレスとデータは、例えば、図１１（Ａ）と同様の情報である。
図１１（Ｆ）に示すように、機能割り当てビットの値が第１の値（ここでは１）の場合、対応する機能について無効化の設定が有効、つまり、当該機能は無効である。また、機能割り当てビットの値が第２の値（ここでは０）の場合、対応する機能は有効である。
例えば、図１１（Ｆ）の１行目に示す機能割り当てビットの値は１であるので、シャッタ速度を１／８０００秒に設定する機能は無効である。また、図１１（Ｆ）の２行目および３行目では、機能割り当てビットの値が０であるので、シャッタ速度を１／４０００秒に設定する機能と１／２０００秒に設定する機能は有効である。
また、ＲＯＭ９に記憶されたファームウエアには、所定の機能に対応したコマンドのアドレスおよびデータが予め登録されている。更に、ＲＯＭ９に記憶されたファームウエアには、各機能に対応した機能割り当てビットが記憶されている、記憶部１２におけるアドレスの情報が予め登録されている。
【００７６】
図８は、電源投入時に制御部７により実行される、無効化機能のアドレス及びデータの書き込み処理を示すフローチャートである。
操作部８により電源が投入されると、制御部７はＲＯＭ９に記憶されたファームウエアを実行し、記憶部１２に記憶された、各機能に対応した機能割り当てビットをチェックする（Ｓ８０１）。そして、制御部７は、機能割り当てビットの値に基づいて、対応する機能が無効とされているか否かを判定する。そして、機能割り当てビットの値が１であることが判定された場合、無効とする機能に対応したアドレスおよびデータを記憶部１２に書き込む（Ｓ８０２）。なお、記憶部１２は、制御部７が無効とする機能のアドレスおよびデータを記憶するための領域を有する。
【００７７】
このように制御部７により、全ての無効化機能について、その設定用のアドレス及びデータが記憶部１２に書き込まれる。その後、第１実施形態と同様の処理が実行される。
例えば、図１１（Ｆ）の１行目に示す機能割り当てビットの値は１であるので、シャッタ速度を１／８０００秒に設定する機能が無効化されていることが判定される。そのため、制御部７がファームウエアを実行することよって、シャッタ速度を１／８０００秒に設定するためのアドレス０ｘ２０００００００とデータ０ｘ００３０６０００を、記憶部１２に書き込む。
【００７８】
［第７実施形態］
次に、本発明の第７実施形態を説明する。図９は、第７実施形態に係る撮像装置１００の構成を示すブロック図である。図１と同じ構成については、同じ符号を付加してその詳細な説明は省略する。第１ないし第６実施形態では、制御部７により、撮影指示や再生指示等があった場合に、無効とされる機能が設定されているか否かを判別し、例外処理を実行していた。
本実施形態では、コマンドモニタ部１５を備える。コマンドモニタ部１５は、制御部７から発行されるアドレスおよびデータのうち、無効とされている機能に対応したコマンドのアドレスとデータを取り出して無効機能検出部１３に転送する。
前述のように、メニュー画面により機能が設定されると、制御部７より、対応した機能ブロック部に対し、アドレスとデータが送信される。図１０は、このように制御部７からコマンドが発行された場合に実行される処理を示すフローチャートである。図１０の処理は、制御部７におけるＣＰＵがＲＯＭ９に記憶されたファームウエアを実行することにより行われる。
【００７９】
図１０において、制御部７からコマンドが発行されると、コマンドモニタ部１５は、発行されたコマンドを取得する。そして、記憶部１２に記憶された、無効とされた機能のコマンド情報に基づいて、取得したコマンドが、無効とされた機能のためのコマンドであるか否かを判別する（Ｓ１００１）。ここでは、コマンドモニタ部１５により、制御部７から発行されたアドレスと、記憶部１２に記憶されたアドレスとを比較し、これらが一致した場合に、無効とされた機能のコマンドであると判別される。無効とされた機能に関するコマンドではなかった場合、そのまま処理が終了する。
無効とされた機能に関するコマンドであった場合、コマンドモニタ部１５は、取得したアドレスとデータとを、無効機能検出部１３に転送する（Ｓ１００２）。無効機能検出部１３は、コマンドモニタ部１５により転送されたアドレスおよびデータと、記憶部１２に記憶されているアドレスおよびデータとを比較する（Ｓ１００３）。無効機能検出部１３は、この比較の結果、ユーザにより設定された機能が無効であるか否かを判別する（Ｓ１００４）。機能が無効でなかった場合、無効機能検出部１３は、その機能を有効と判別し、判別結果を示す情報を制御部７に送る（Ｓ１００５）。
【００８０】
一方、機能が無効であった場合、無効機能検出部１３は、その機能を無効と判別し、判別結果を示す情報と、その機能を示す情報とを制御部７に送る（Ｓ１００６）。制御部７は、無効機能検出部１３より送られた情報に基づき、無効とされた機能を判別する。そして、この機能に対応した例外処理にて、撮像装置１００の動作を停止し、撮像装置１００の無効化を実行するものであるか否かが判定される（Ｓ１００７）。本実施形態では、各機能に応じた例外処理が予め決められており、この各機能に対応した例外処理を示す情報が記憶部１２に記憶されている。例外処理が、撮像装置１００の無効化の処理である場合、制御部７は、撮像装置１００の電源をオフし、撮像装置１００の動作を停止させる（Ｓ１００８）。この後、ユーザは撮像装置１００を使用することができなくなる。
【００８１】
一方、例外処理が、撮像装置の無効化の処理でない場合、制御部７は、例外処理が、設定値を制御部７が補正する処理であるか否かを判別する（Ｓ１００９）。例外処理が、設定値を制御部７が補正する処理であった場合、制御部７は、ユーザにより設定された設定値を所定値に変更する（Ｓ１０１０）。そして、制御部７は、ユーザが設定した設定値を所定値に変更した旨の警告情報を表示部６に表示する（Ｓ１０１１）。
また、Ｓ１００９において、例外処理が、設定値を制御部７が補正する処理でない場合、制御部７は、無効とされている設定値が設定されたため、ユーザの設定が無効となったことをユーザに知らせるための警告処理を実行する（Ｓ１０１２）。本実施形態では、例えば、表示部６に警告のためのメッセージ等が表示される。このように警告することにより、ユーザは、ユーザが設定した機能が無効となったことがわかる。
【００８２】
例えば、図１１（Ａ）に示すコマンド情報が記憶部１２に記憶されている場合について説明する。
ユーザによりシャッタ速度として１／８０００秒が設定された場合、制御部７は、シャッタ速度設定部１ｂに対し、シャッタ速度の設定のためのアドレス０ｘ２０００００００とデータ０ｘ００３０６０００を含むコマンドを送信する。コマンドモニタ部１５は、このアドレスとデータを取得し、アドレス０ｘ２０００００００が記憶部１２に記憶されたアドレスであると判定する。そのため、コマンドモニタ部１５は、このアドレス０ｘ２０００００００とデータ０ｘ００３０６０００を無効機能検出部１３に転送する。無効機能検出部１３は、転送されたアドレス０ｘ２０００００００とデータ０ｘ００３０６０００を、記憶部１２に記憶されているアドレスおよびデータと比較する。
転送されたアドレスとデータは、図１１（Ａ）に示す値と一致するので、無効機能検出部１３は、無効とされた機能があり、更に、シャッタ速度の設定が無効である旨の情報を制御部７に通知する。その結果、制御部７は、設定が無効であることをユーザに警告するか、或いは、撮影装置の動作を停止する等の例外処理を実行する。
【００８３】
このように、第７実施形態によれば、適切でないファームウエアにより設定された設定値に従った処理の実行を防止することができる。また、本実施形態では、ユーザが撮影指示や再生指示を行う前に、無効な設定を行ったことをユーザに知らせることが可能となる。
本実施形態では、コマンドモニタ部１５は、制御部７から出力されたアドレスとデータとを無効機能検出部１３に転送していた。これ以外にも、例えば、コマンドモニタ部１５は、制御部７は発行したアドレスが無効化機能に関するものである場合、コマンドが発行された機能ブロック部からデータを読み出し、アドレスと共に無効機能検出部１３に対して転送する構成としてもよい。
【００８４】
［第８実施形態］
次に、本発明の第８実施形態を説明する。本実施形態においても、撮像装置１００の構成や基本的な処理は第７実施形態と同じである。また、本実施形態では、第６実施形態と同様、電源投入時に、制御部７が図８の処理を実行することにより、記憶部１２に対し、無効化されている機能のアドレスと無効値のデータとを書き込む。その後、第７実施形態と同じく、制御部７から無効化機能に関するコマンドが発行された場合に、図１０の処理が実行される。
なお、前記の各実施形態では、撮像装置に対して本発明を適用した場合について説明したが、ソフトウエアを実行することにより各種の機能を制御する構成を持つ電子機器に対し、同様に本発明を適用することが可能である。
【符号の説明】
【００８５】
１  撮像部
２  画像処理部
３  記録再生部
７  制御部
１２  記憶部
１３  無効機能検出部
【図１】
2013243647.tif 000003
【図２】
2013243647.tif 000004
【図３】
2013243647.tif 000005
【図４】
2013243647.tif 000006
【図５】
2013243647.tif 000007
【図６】
2013243647.tif 000008
【図７】
2013243647.tif 000009
【図８】
2013243647.tif 000010
【図９】
2013243647.tif 000011
【図１０】
2013243647.tif 000012
【図１１】
2013243647.tif 000013