(57)【要約】      （修正有）【課題】ファームアップデート用の複数の不揮発性メモリ持つことなく、円滑にファームアップデートを行う。【解決手段】一つの不揮発性メモリ１０３内にファーム記憶領域と画像処理領域を持ち、ファームアップデート時は、画像処理領域の一部に新たなファームウェアを書き込み、ファームアップデートを行う。ファームアップデート後は、不揮発性メモリのメモリマップを変更することで、古いファームが存在していた領域を画像処理領域として使用する。【選択図】図２
2019087171.tif 000002
【特許請求の範囲】
【請求項１】
撮像データを得る撮像手段と、
撮像データに画像処理を施して画像データを得る画像処理手段と、
前記画像データを記録する記録手段と、
プログラムにより前記撮像装置の動作を制御する制御手段と、
前記撮像装置のワークメモリとして使用する不揮発性記憶手段と、を有し
前記不揮発性記憶手段は、前記プログラムを記憶するファーム記憶領域と、前記画像処理手段が画像処理を実行するための画像処理領域と、を持ち、
前記ファーム記憶領域に記憶されたプログラムをアップデートする際には、前記画像処理領域に対し画像データの有無を確認し、画像データが存在する場合は、画像データを前記記録媒体へ保存した後、前記画像処理領域に新たなプログラムを書き込み、画像データが存在しない場合は、前記画像処理領域に前記新たなプログラムを書き込み、前記新たなプログラムを書き込んだ後に、前記不揮発性記憶手段の所定のアドレスに、前記新たなプログラムを書き込んだ先のメモリアドレスと、前記新たなプログラムの書き込み完了を示すフラグとを記憶し、前記アップデート後の前記撮像装置、又は前記制御手段の起動時においては、前記制御手段は、前記所定のアドレスにアクセスし、前記メモリアドレスと、前記フラグとを読み出し、前記メモリアドレスの領域から、前記新たなプログラムを読み出して撮像装置を制御し、前記フラグが書き込み完了を示していた場合は、前記新たなプログラムが書き込まれた領域を、新たにファーム記憶領域と設定し、前記アップデート前の前記ファーム記憶領域を新たに画像処理領域と設定する撮像装置。
【請求項２】
前記画像データの画像処理の進捗を判断する画像処理進捗判定手段を有し、
前記画像処理領域に前記画像データが存在する場合は、前記画像処理領域に前記新たなプログラムを書き込む前に、前記画像処理進捗確認手段が、前記画像データに対して未実施の画像処理を判定し、前記画像処理手段が、前記画像データに対して未実施と判定された画像処理を実行する、ことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記画像データの画像処理の進捗を判断する画像処理進捗判定手段を有し、
前記画像処理領域に前記画像データが存在する場合は、前記画像データを前記記録媒体へ保存した後、前記撮像装置の前記アップデートを実行し、前記アップデート後の前記撮像装置の起動時には、画像処理進捗判定手段が、前記画像データに対して未実施の画像処理を判定し、前記画像処理手段が、前記画像データに対して未実施と判定された画像処理を実行する、ことを特徴とする請求項１に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は撮像装置に関する。
【背景技術】
【０００２】
ワークメモリとして、ＤＲＡＭ（揮発性メモリ）に代わり、ＭＲＡＭ（磁気抵抗ＲＡＭ）などの不揮発性メモリを使用し、処理のない場合は、ワークメモリへの電源供給を止めることで電力を削減する、ノーマリーオフコンピューティングという考え方がある。 
【０００３】
一方、現在のデジタルスチルカメラは一般的に、撮像装置内の主演算装置（ＣＰＵ）が、ＦｌａｓｈＲＯＭ等の不揮発性メモリに記憶された動作プログラム（ファームウェア）を起動時にロードすることにより動作する。この撮像装置内に記憶されたファームウェアは、しばしばユーザーの手によって、メーカーが提供する新たなファームウェアへアップデートされる。しかし、ファームアップデート途中に電源遮断が起こってしまうと、ファームウェアの内容が壊れてしまい、カメラが起動しなくなってしまうという課題があった。
【０００４】
このような課題を解決するため、特許文献１に記載の撮像装置においては、第一の不揮発性メモリ（ＦｌａｓｈＲＯＭ）と、第一の不揮発性メモリとは別の第二の不揮発性メモリ（ＦｌａｓｈＲＯＭ）を撮像装置内に持ち、第一の不揮発性メモリには撮像装置を動作させるためのファームウェアが記憶されている。ファームアップデート時には、第一の不揮発性メモリに記憶されているファームウェアを、第二の不揮発性メモリに退避させた後、新しいファームウェアを第一の不揮発性メモリに書き込む。ファームアップデート中に電源遮断があった場合は、第二の不揮発性メモリに退避させたファームウェアを、第一の不揮発性メモリに書き戻すことで、撮像装置が起動できなくなるような状態を回避している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１５０３８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１のように撮像装置内にファーム記憶専用の第一の不揮発性メモリと、ファーム退避専用の第二の不揮発性メモリとを持つことには、コストの増加、撮像装置内の実装面積増加、という課題がある。
【０００７】
そこで、本発明では上記課題を鑑み、ファームアップデート用の複数の不揮発性メモリ持つことなく、円滑にファームアップデートを行うことができる撮像装置の提供を目的とする。
【課題を解決するための手段】
【０００８】
撮像データを得る撮像手段と、撮像データに画像処理を施して画像データを得る画像処理手段と、前記画像データを記録する記録手段と、プログラムにより前記撮像装置の動作を制御する制御手段と、前記撮像装置のワークメモリとして使用する不揮発性記憶手段と、を有し、前記不揮発性記憶手段は、前記プログラムを記憶するファーム記憶領域と、前記画像処理手段が画像処理を実行するための画像処理領域と、を有し、前記ファーム記憶領域に記憶されたプログラムをアップデートする際には、前記画像処理領域に対し画像データの有無を確認し、画像データが存在する場合は、画像データを前記記録媒体へ保存した後、前記画像処理領域に新たなプログラムを書き込み、画像データが存在しない場合は、前記画像処理領域に前記新たなプログラムを書き込み、前記新たなプログラムを書き込んだ後に、前記不揮発性記憶手段の所定のアドレスに、前記新たなプログラムを書き込んだ先のメモリアドレスと、前記新たなプログラムの書き込み完了を示すフラグとを記憶し、前記アップデート後の前記撮像装置、又は前記制御手段の起動時においては、前記制御手段は、前記所定のアドレスにアクセスし、前記メモリアドレスと、前記フラグとを読み出し、前記メモリアドレスの領域から、前記新たなプログラムを読み出して撮像装置を制御し、前記フラグが書き込み完了を示していた場合は、前記新たなプログラムが書き込まれた領域を、新たにファーム記憶領域と設定し、前記アップデート前の前記ファーム記憶領域を新たに画像処理領域と設定する。
【発明の効果】
【０００９】
ファームアップデート用の複数の不揮発性メモリ持つことなく、円滑にファームアップデートを行うことができる。
【図面の簡単な説明】
【００１０】
【図１】撮像装置の構成を示す図である。
【図２】不揮発性メモリの構成を示す図である。
【図３】ファームアップデート時の処理を示すフロー図である。
【図４】画像データの構成を示す図である。
【図５】ファームアップデート時の処理を示すフロー図である。
【発明を実施するための形態】
【００１１】
図１を用いて実施例１における撮像装置１００の全体構成を説明する。図１における撮像装置１００は、操作部１０１、制御部１０２、不揮発性メモリ１０３、撮像部１０４、画像処理部１０５、表示制御部１０６、画像表示部１０７、記録制御部１０８、記録媒体１０９、外部ＩＦ（インターフェース）１１０、メモリコントローラ部１１１、メモリバス１１２、から構成される。以下、各構成部について説明する。
【００１２】
操作部１０１は、ユーザーが操作する選択ボタン、録画ボタン、画像選択ボタン、画像再生ボタン、タッチパネル、ズームレバー、等を備えており、これらのデバイスをユーザーが操作した結果は、制御部１０２へ出力される。制御部１０２は撮像装置１００を制御する、いわゆるＣＰＵである。制御部１０２は、後述の不揮発性メモリ１０３に記憶されたファームウェアをロードすることで、撮像装置１００を適切に動作させることができる。各構成部は、制御部１０２からの制御信号を受けて動作する。
【００１３】
不揮発性メモリ１０３は、高速にランダムアクセス可能なＭＲＡＭとする。ＭＲＡＭは、不揮発性メモリであるため、不図示の電源からの電源供給を断たれてもＭＲＡＭ内に保存されたデータを失うことなく保持することができる。撮像装置１００では、多くの構成部が、メモリコントローラ部１１１、メモリバス１１２を通して、不揮発性メモリ１０３に対してデータのやりとりを行う。不揮発性メモリ１０３は、リセットベクタ領域１０３１、ファーム記憶領域１０３２、画像処理領域１０３３を持つ。各領域については後述する。
【００１４】
撮像部１０４は、レンズ、絞り、撮像センサーなどにより構成される。撮像部１０４は、撮像センサーによりレンズを通して受光した光を、Ａ／Ｄ変換し、不揮発性メモリ１０３に撮像データ（ＲＡＷデータ）として記憶する。画像処理部１０５は、不揮発性メモリ１０３に記憶された撮像データを読み取り、例えば、ホワイトバランス調整、画像圧縮などの画像処理を行い、不揮発性メモリ１０３へ、画像データとして書き出す。表示制御部１０６は、画像処理部１０５で画像処理された画像データを読み出し、画像表示部１０７で表示するための制御を行う。また、表示制御部１０６は、制御部１０２からの制御を受けて、ユーザーへの通知や警告などを表示部１０７に表示することもできる。画像表示部１０７は、いわゆる液晶パネルである。このデバイスは、タッチパネルのように、操作部１０１の機能を兼ねていてもよい。画像表示部１０７は、表示制御部１０６から送信されるデータを表示する。
【００１５】
記録制御部１０８は、不揮発性メモリ１０３に保存されている画像データを読み出して、記録媒体１０９へ保存する。記録媒体１０９は、いわゆる、ユーザーが簡単に抜き差し可能なメモリカード等の記録媒体である。記録媒体１０９は、記録制御部１０８から送信される画像データを記録する。外部ＩＦ１１０は、いわゆる、ＵＳＢモジュールやＷｉ−Ｆｉモジュールなどの（無線／有線）インターフェースである。外部ＩＦ１１０を通して、撮像装置１００と外部のＰＣなどとを接続し、データのやりとりを行うことができる。メモリコントローラ部１１１は、不揮発性メモリ１０３の領域設定（メモリマップ）を記憶しており、各構成部が所望のメモリ領域に適切なタイミングでアクセスできるよう調整する。メモリバス１１２は接続されている各構成部からのメモリアクセス要求に従って、高速に不揮発性メモリ１０３へのデータ読み書きが行なえるバスシステムである。以上が、本実施例における、撮像装置１００の構成である。
【００１６】
次に図２（ａ）を用いて、不揮発性メモリ１０３の構成と動作概要を説明する。不揮発性メモリ１０３は、リセットベクタ領域１０３１、ファーム記憶領域１０３２、画像処理領域１０３３を持つ。これらのメモリマップは、メモリコントローラ部１１１にて記憶されている。
【００１７】
リセットベクタ領域１０３１は、通常、不揮発性メモリ１０３の先頭アドレスを含む領域である。リセットベクタ領域１０３１には、新ファーム書き込み完了フラグと、撮像装置１００がロードすべきファームウェアを格納している先頭アドレス（図２（ａ）では先頭アドレスＡと記載）が記憶されている。新ファーム書き込み完了フラグとは、外部から取得した新しいファームウェアを、不揮発性メモリ１０３へ書き込む処理が完了したかどうかを示すフラグである。
【００１８】
ファーム記憶領域１０３２には、制御部１０２がロードし、撮像装置１００を動かすためのファームウェアが格納されている。撮像装置１００への電源投入時（リセット時）には、制御部１０２が不揮発性メモリ１０３のリセットベクタ領域１０３１に記憶されているファームウェア格納先の先頭アドレスを読み込む。読み込んだアドレスから撮像装置１００を動作させるためのファームウェアを読み出し、ロードする。このようにすることで、撮像装置１００は動作可能な状態となる。
【００１９】
画像処理領域１０３３は、撮像装置１００が動作可能な状態において、画像処理部１０５が画像処理を実行するためのワークメモリとして機能する。撮像時には、まず、撮像部１０４にて得られる撮像データが画像処理領域１０３３へ記憶され、その撮像データに対して画像処理部１０５が画像処理を行う。画像処理後の画像データは、画像処理領域１０３３へ記憶される。以上が、不揮発性メモリ１０３の構成と動作概要である。
【００２０】
つづいて、撮像装置１００のファームアップデート時の動作を、図３のフロー図を用いて説明する。前提として、撮像装置１００は外部ＩＦ１１０によって、外部のＰＣと接続されており、ファームアップデートに必要となるアップデートプログラム、及び、新しいファームウェアを、外部ＰＣより取得することができる。
【００２１】
ユーザーが操作部１０１でファームアップデート開始の操作を行うことで、ファームアップデート処理が開始する（Ｓ３００）。処理（Ｓ３０１）では、操作部１０１からのファームアップデート指示を制御部１０２が受信する。処理（Ｓ３０２）へ移行する。処理（Ｓ３０２）では、制御部１０２が、不揮発性メモリ１０３の画像処理領域１０３３に対し、画像データの有無を確認する。処理（Ｓ３０３）へ移行する。
【００２２】
処理（Ｓ３０３）では、画像処理領域１０３３に画像データがあるかどうかを判定する。画像データが存在する場合は、処理（Ｓ３０４）へ移行する。画像データが存在しない場合は、処理（Ｓ３０７）へ移行する。処理（Ｓ３０４）では、制御部１０２が画像データに対して、画像処理の進捗を確認する。その結果、その画像データの未実施の画像処理が判明する。詳細は後述する。処理（Ｓ３０５）へ移行する。
【００２３】
処理（Ｓ３０５）では、画像データを画像処理部１０５が読み出し、処理（Ｓ３０４）で未実施と判明した画像処理を実行する。未実施であった画像処理が実行された後の画像データは、不揮発性メモリ１０３の画像処理領域１０３３へ書き戻される。処理（Ｓ３０６）へ移行する。処理（Ｓ３０６）では、画像処理領域１０３３へ書き戻された画像データを、記録制御部１０８が読み出し、記録媒体１０９へ記録する。処理（Ｓ３０７）へ移行する。
【００２４】
処理（Ｓ３０７）では、画像処理領域１０３３の一部に、外部ＩＦ１１０を通して外部ＰＣより取得した新しいファームウェアを、制御部１０２が書き込む（図２（ｂ））。書込みが完了した後、処理（Ｓ３０８）へ移行する。処理（Ｓ３０８）では、制御部１０２が、不揮発性メモリ１０３のリセットベクタ領域１０３１に、新しいファームウェアが格納されている先頭アドレスＢを記憶した後、新ファーム書き込み完了フラグを記憶する（図２（ｂ））。処理（Ｓ３０９）へ移行する。
【００２５】
処理（Ｓ３０９）では、制御部１０２をリセットする。リセットされた制御部１０２は、不揮発性メモリ１０３のリセットベクタ領域１０３１へアクセスする。処理（Ｓ３１０）へ移行する。処理（Ｓ３１０）では、制御部１０２が、リセットベクタ領域１０３１の新ファーム書き込み完了フラグを確認する。処理（Ｓ３１１）へ移行する。処理（Ｓ３１１）では、新ファーム書き込み完了フラグを判定する。書き込みが完了している場合（ＹＥＳの場合）、処理（Ｓ３１２）へ移行する。書き込みが完了していない場合（ＮＯの場合）、処理（Ｓ３１５）へ移行する。
【００２６】
処理（Ｓ３１２）では、制御部１０２がリセットベクタ領域１０３１に格納されている新ファームの先頭アドレスＢを読み出し、その先頭アドレスＢの位置から新ファームをロードする。処理（Ｓ３１３）へ移行する。処理（Ｓ３１３）では、制御部１０２が、メモリコントローラ部１１１にアクセスし、ファーム記憶領域１０３２を画像処理領域１０３３の一部に変更する。また画像処理領域１０３３の中で新ファームウェアが書き込まれている領域を、ファーム記憶領域１０３２に変更する（図２（ｃ））。処理（Ｓ３１４）へ移行する。
【００２７】
処理（Ｓ３１４）では、表示制御部１０６が画像表示部１０７へ、ファームアップデート成功を示す画像、又はメッセージを送信し表示することで、ユーザーへアップデートの成功を通知する。処理（Ｓ３１７）へ移行し、ファームアップデートの処理フローを終了する。処理（Ｓ３１１）において、書き込みが完了していない場合（ＮＯの場合）、処理（Ｓ３１５）へ移行する。
【００２８】
処理（Ｓ３１５）では、制御部１０２がリセットベクタ領域１０３１に格納されているファームの先頭アドレスＡを読み出し、その先頭アドレスＡの位置から旧ファームをロードする。処理（Ｓ３１６）へ移行する。処理（Ｓ３１６）では、表示制御部１０６が画像表示部１０７へ、ファームアップデート失敗を示す画像、又はメッセージを送信し表示することで、ユーザーへアップデートの失敗を通知する。処理（Ｓ３１７）へ移行し、ファームアップデートの処理フローを終了する。
【００２９】
ここで、処理（Ｓ３０４）、（Ｓ３０５）で述べた画像処理の進捗を確認し、未実施の画像処理を実行するという事項について説明する。図４に図示される画像データ４００は、撮像部１０１が取得した撮像データに対して、画像処理部１０５が画像処理を実行する際に、一時的に不揮発性メモリ１０３に置かれる場合の形式を示している。
【００３０】
ヘッダ部４０１には、このファイルが静止画であることを示す識別コードなどが含まれている。メタデータ部４０２には、画像データ４００に対する様々な情報が含まれる。例えばこの画像データのファイル名４０２１や、撮影時の絞り値や露出時間、ＩＳＯ感度等の撮影メタデータ４０２２が含まれる。また、撮像部１０４から得られた画像データが、画像処理部１０５によってどのステップまで画像処理が完了したかといったステータスを示す画像処理ステータス４０２３も含まれる。制御部１０２は、この画像処理ステータス４０２３を確認することで、対象の画像データ４００の画像処理が終了しているか否かを判定することができる。
【００３１】
これが、図３の処理（Ｓ３０４）に相当する。画像データ本体４０３には、画像処理対象となるような画像データの本体が格納されており、その画像処理の進捗は、前述のメタデータ部に格納されている画像処理ステータスと紐づいている。
【００３２】
上記のように、制御部１０２が画像処理ステータス４０２３を確認することで、画像処理の進捗を確認することができ、処理（Ｓ３０５）において、未実施の画像処理を実行することができる。
【００３３】
撮像装置１００が以上のような構成と動作をとることにより、撮像装置内にファームアップデート用の複数の不揮発性メモリ持つことなく、ファームアップデート時の電源遮断によって撮像装置１００が起動不能の状態になることを回避し、ユーザーが円滑にファームアップデートを行うことができる。
【００３４】
実施例１では、図３の処理（Ｓ３０３）〜（Ｓ３０６）で示すように、画像処理領域１０３３に画像データが存在する場合は、ファームアップデート前に、画像処理を全て完了し、記録媒体１０９に保存していた。実施例２では、画像処理領域１０３３に画像データが存在する場合は、その画像データをそのまま記録媒体１０９に保存し、ファームアップデートの処理が完了した後、記録媒体１０９から読み出し、未実施の画像処理を実行する。
【００３５】
図５のフロー図を用いて処理を説明する。なお、図３のフロー図と同様の処理ステップについては、説明を省略する。処理（Ｓ５００）〜（Ｓ５０３）は、実施例１における処理（Ｓ３００）〜（Ｓ３０３）と同様の処理である。不揮発性メモリ１０３に、画像データが存在する場合は、処理（Ｓ５０４）に移行する。画像データが存在しない場合は、処理（Ｓ５０５）に移行する。処理（Ｓ５０４）では、画像処理領域１０３３の画像データを、記録制御部１０８が読み出し、記録媒体１０９へ記録する。処理（Ｓ５０５）へ移行する。
【００３６】
処理（Ｓ５０５）〜（Ｓ５１４）は、実施例１における処理（Ｓ３０７）〜（Ｓ３１６）と同様の処理である。但し、処理（Ｓ５１２）もしくは、処理（Ｓ５１４）の後においてはフローを終了せず、処理（Ｓ５１５）へ移行する。処理（Ｓ５１５）では、制御部１０２が、記録媒体１０９にアクセスし、記録媒体内の画像データに対し、画像処理の進捗を確認する。処理（Ｓ５１６）へ移行する。処理（Ｓ５１６）では、画像処理が未完の画像データを記録制御部１０８が読み出し、不揮発性メモリ１０３の画像処理領域１０３３に書き込む。画像処理部１０５は、画像処理領域１０３３に書き込まれた画像データに対して、未実施の画像処理を実行する。処理（Ｓ５１７）へ移行する。
【００３７】
処理（Ｓ５１７）では、画像処理部１０５が画像処理を完了した画像データを、記録制御部１０８が読み出し、記録媒体１０９に保存する。保存が完了した後、処理（Ｓ５１８）へ移行し、処理を終了する。撮像装置１００が以上のような構成と動作をとることにより、撮像装置内にファームアップデート用の複数の不揮発性メモリ持つことなく、ファームアップデート時の電源遮断によって撮像装置１００が起動不能の状態になることを回避し、ユーザーが円滑にファームアップデートを行うことができる。
【００３８】
また、上述の実施例では、不揮発性メモリ１０３はＭＲＡＭとしたが、これに限定されず、撮像装置１００のワークメモリとして要件を満たすような不揮発性のメモリであればなんでもよい。また、上述の実施例では、外部ＩＦ１１０よりファームアップデートのためのデータを取得したが、外部ＰＣなどを用いて記録媒体１０９内にファームアップデートのためのデータを保存し、そのデータを用いてアップデートするような構成にしてもよい。また、上述の実施例では、処理（Ｓ３００）又は、処理（Ｓ５００）におけるファームアップデート処理のＳＴＡＲＴに関して、ユーザーが操作部１０１でアップデート開始の操作を行うことでアップデート処理を開始するとしたが、これに限定されない。例えば、制御部１０２が、外部ＩＦ１１０を通して、新たなファームウェアの通知信号を受信し、その通知信号をトリガとして、アップデートの処理フローを開始するようにしてもよい。
【００３９】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００４０】
１００  撮像装置      １０２  制御部      １０３  不揮発性メモリ
１０４  撮像部
【図１】
2019087171.tif 000003
【図２】
2019087171.tif 000004
【図３】
2019087171.tif 000005
【図４】
2019087171.tif 000006
【図５】
2019087171.tif 000007