(57)【要約】【課題】電子機器のメモリおよびハードウェアの状態を表すハイバネーションデータを利用した起動を高速化できる電子機器およびその制御方法を提供すること。【解決手段】電子機器は、起動指示の入力が検出されたことに応じて、電子機器の動作時の状態を復元するための情報を有するハイバネーションデータを用いた第１の起動処理を実行する。そして、電子機器は、電子機器を起動指示に関連づけられた特定の機能を提供する状態に復元するために必要な複数のハイバネーションデータの組み合わせを用いて第１の起動処理を実行する。【選択図】図１１
2019096279.tif 000002
【特許請求の範囲】
【請求項１】
電子機器の動作時の状態を復元するための情報を有するハイバネーションデータを記憶する記憶手段と、
起動指示の入力が検出されたことに応じて、前記ハイバネーションデータを用いた第１の起動処理を実行する制御手段と、を有し、
前記記憶手段は、組み合わせて利用可能な複数のハイバネーションデータを記憶し、
前記制御手段は、前記電子機器を前記起動指示に関連づけられた特定の機能を提供する状態に復元するために必要な複数のハイバネーションデータの組み合わせを用いて前記第１の起動処理を実行する、
ことを特徴とする電子機器。
【請求項２】
前記記憶手段が、複数の機能に共通する１つ以上のハイバネーションデータと、１つの機能にのみ対応する１つ以上のハイバネーションデータとを記憶し、
前記制御手段は、前記特定の機能にのみ対応するハイバネーションデータと、前記複数の機能に共通するハイバネーションデータとの組み合わせを用いて前記第１の起動処理を実行する、
ことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記制御手段は、前記第１の起動処理の実行中に、前記第１の起動処理に用いていないハイバネーションデータを必要とする機能に関連づけられた指示が検出された場合、該機能を提供する状態に復元するために必要な複数のハイバネーションデータの組み合わせを用いた第２の起動処理の実行を開始することを特徴とする請求項１または請求項２に記載の電子機器。 
【請求項４】
前記制御手段は、前記第２の起動処理を前記第１の起動処理よりも優先的に実行することを特徴とする請求項３に記載の電子機器。
【請求項５】
前記制御手段は、前記第２の起動処理を実行する間、前記第１の起動処理を中断することを特徴とする請求項３または請求項４に記載の電子機器。
【請求項６】
前記起動指示が、前記電子機器が有する操作手段を通じて入力されることを特徴とする請求項１から請求項５のいずれか１項に記載の電子機器。
【請求項７】
前記起動指示が、前記電子機器の外部機器から入力されることを特徴とする請求項１から請求項５のいずれか１項に記載の電子機器。
【請求項８】
前記電子機器が撮影機能を有し、
前記記憶手段が記憶する前記複数のハイバネーションデータが、撮影機能にのみ対応するハイバネーションデータと、再生機能にのみ対応するハイバネーションデータと、前記撮影機能および前記再生機能とに共通するハイバネーションデータとを含むことを特徴とする請求項１から請求項７のいずれか１項に記載の電子機器。
【請求項９】
前記第１の起動処理が、前記電子機器を、前記撮影機能を提供する状態に復元するための起動処理であることを特徴とする請求項８に記載の電子機器。
【請求項１０】
前記複数のハイバネーションデータを生成する生成手段をさらに有することを特徴とする請求項１から請求項９のいずれか１項に記載の電子機器。
【請求項１１】
電子機器の制御方法であって、
前記電子機器は、前記電子機器の動作時の状態を復元するための情報を有するハイバネーションデータを記憶する記憶手段を有し、
前記制御方法は、
制御手段が、起動指示の入力が検出されたことに応じて、前記ハイバネーションデータを用いた第１の起動処理を実行する制御工程を有し、
前記記憶手段は、異なる組み合わせで利用可能な複数のハイバネーションデータを記憶し、
前記制御工程は、前記電子機器を前記起動指示に関連づけられた特定の機能を提供する状態に復元するために必要な複数のハイバネーションデータの組み合わせを用いて前記第１の起動処理を実行する、
ことを特徴とする電子機器の制御方法。
【請求項１２】
電子機器が有するコンピュータを、請求項１から請求項１０のいずれか１項に記載の電子機器の前記制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器およびその制御方法に関し、特には起動高速化技術に関する。
【背景技術】
【０００２】
コンピュータを用いる電子機器において消費電力の低減や起動時間の短縮を実現する技術としてハイバネーションが知られている。ハイバネーションは、電子機器を休止状態にする際、休止状態に移行する直前の状態を復元するための情報（メモリ内容やレジスタの値など）を格納したハイバネーションデータを生成し、ハードディスクなどの不揮発性記憶装置に記憶する技術である。休止状態から復帰する際に、ハイバネーションデータの内容を復元することにより、電子機器を休止状態に移行する直前の状態に復元できる。休止状態中は電子機器の電源を切ることができるため、消費電力を低減できる。また、通常の起動よりも復元までの時間を短縮できる（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２５２５７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１ではＯＳのカーネル機能を用いてハイバネーションから復帰する際に、カーネルの初期化と並行してハイバネーションデータを先読みすることで起動時間を短縮している。しかし、休止状態への移行時に使用していた機能（アプリケーション）とは別の機能を利用したい場合でも、休止状態への移行時に使用していた全ての機能が利用可能になるハイバネーションデータの復元が完了するまで待つ必要がある。そのため、希望する機能が利用できる様になるまでの時間が長くなっていた。
【０００５】
本発明はこのような従来技術の課題を少なくとも軽減することを目的とする。具体的には、本発明は電子機器のメモリおよびハードウェアの状態を表すハイバネーションデータを利用した起動を高速化できる電子機器およびその制御方法を提供する。
【課題を解決するための手段】
【０００６】
上述の目的は、電子機器の動作時の状態を復元するための情報を有するハイバネーションデータを記憶する記憶手段と、起動指示の入力が検出されたことに応じて、ハイバネーションデータを用いた第１の起動処理を実行する制御手段と、を有し、記憶手段は、組み合わせて利用可能な複数のハイバネーションデータを記憶し、制御手段は、電子機器を起動指示に関連づけられた特定の機能を提供する状態に復元するために必要な複数のハイバネーションデータの組み合わせを用いて第１の起動処理を実行する、ことを特徴とする電子機器によって達成される。
【発明の効果】
【０００７】
本発明によれば、本発明は電子機器のメモリおよびハードウェアの状態を表すハイバネーションデータを利用した起動を高速化できる電子機器およびその制御方法を提供する。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る電子機器の一例である撮像装置の構成例を示す図
【図２】実施形態におけるソフトウェア構成例に関する模式図
【図３】ハイバネーションデータ生成およびハイバネーションデータを用いた起動処理の概要の模式図
【図４】ハイバネーションデータ生成処理の概要のフローチャート
【図５】ハイバネーションデータの構成例を示す図
【図６】起動処理の概要を示すフローチャート
【図７】機能別ハイバネーションデータ生成処理の模式図
【図８】機能別ハイバネーションデータ生成処理のフローチャート
【図９】機能別ハイバネーションデータの構成例を示す図
【図１０】機能復帰プログラムのデータ構造例を示す図
【図１１】撮影機能の起動処理の概要を示す模式図
【図１２】起動処理に関するフローチャート
【図１３】再生機能の起動処理の概要を示す模式図
【図１４】撮影機能または再生機能の起動処理に関するフローチャート
【図１５】実施形態の変形例に係るシステムの概要を示す模式図
【図１６】実施形態の変形例における起動処理に関するフローチャート
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の例示的な実施形態について詳細に説明する。なお、以下ではデジタルカメラ（撮像装置１）に本発明を適用した実施形態について説明するが、本発明は、プログラマブルプロセッサを用いる任意の電子機器に適用可能である。なお、このような電子機器には撮像装置以外にスマートフォン、パーソナルコンピュータ、タブレット端末、ゲーム機などが含まれるが、これらに限定されない。
【００１０】
図１は、本発明の実施形態に係る撮像装置１の機能構成例を示すブロック図である。なお、図１において「回路」と記載されている機能ブロックは、それぞれが独立したハードウェア（ＡＳＩＣ、ＡＳＳＰなど）で構成されてもよいし、複数の機能ブロックが１つのハードウェアで構成されてもよい。撮像素子１００は、例えばＣＣＤまたはＣＭＯＳイメージセンサであり、撮影光学系１０で形成された被写体の光学像を電気信号に光電変換する。後述するように、撮像素子１００は二次元配置された複数の画素を有し、各画素は撮像用画素としても焦点検出用画素としても利用可能な構成を有する。以下の説明では、画素の用途により、撮像用画素または焦点検出用画素と呼ぶ。
【００１１】
撮像素子１００の動作（蓄積、リセット、読み出しなど）は、プログラマブルプロセッサの一例である中央処理装置（ＣＰＵ）１０３の制御によってタイミングジェネレータ（ＴＧ）１０２が生成する各種の信号によって制御される。アナログフロントエンド（ＡＦＥ）１０１は、撮像素子１００から読み出されたアナログ画像信号に対して、ゲイン調整やＡ／Ｄ変換などを行う。ＴＧ１０２は、ＣＰＵ１０３の制御に従い、撮像素子１００およびＡＦＥ１０１の動作を制御する。なお、図１ではＡＦＥ１０１およびＴＧ１０２を撮像素子１００と別の構成として記載しているが、撮像素子１００に内蔵される構成であってもよい。
【００１２】
上述のように、ＣＰＵ１０３は例えばＲＯＭ１０７に記憶されているプログラム（ＯＳおよびアプリケーションプログラムを含む）を一次記憶装置であるＲＡＭ１０６に読み込んで実行することにより、撮像装置の各部を制御し、撮像装置１の機能を実現する。本実施形態の撮像装置１が用いるＯＳはマルチタスクＯＳである。なお、以下で回路として説明する機能ブロックの少なくとも一部は、ＡＳＩＣやＡＳＳＰなどのハードウェアによって実現される代わりに、ＣＰＵ１０３がプログラムを実行することによって実現されてもよい。
【００１３】
操作部１０４は、タッチパネル、キー、ボタンなどの入力デバイス群であり、ユーザが撮像装置に指示やパラメータなどを入力するために用いられる。シャッタボタン、電源スイッチ、方向キー、メニューボタン、決定（セット）ボタン、撮影モードダイヤル、再生ボタン、動画撮影ボタンなどが操作部１０４に含まれるが、これらは単なる例示である。また、タッチパネルは表示装置１０５に組み込まれる場合もある。ＣＰＵ１０３は操作部１０４を監視し、操作部１０４に対する操作を検出すると検出した操作に応じた動作を実行する。
【００１４】
表示装置１０５は、ＣＰＵ１０３の制御により、撮影した画像（静止画や動画）、メニュー画面、撮像装置１の設定値や状態などを表示する。
ＲＡＭ１０６は、ＡＦＥ１０１が出力する画像データや、画像処理回路１０８で処理された画像データを記憶するために用いられたり、ＣＰＵ１０３のワークメモリとして用いられたりする。ＲＡＭ１０６はシステムメモリとも呼ばれる。本実施形態ではＲＡＭ１０６はＤＲＡＭで構成されるものとするが、それに限定されない。
ＲＯＭ１０７は、ＣＰＵ１０３が実行するプログラムや、各種の設定値、ＧＵＩデータなどを記憶する。ＲＯＭ１０７の少なくとも一部は書き換え可能であってよい。
【００１５】
画像処理回路１０８は、画像データに対して様々な画像処理を適用する。画像処理には色補間、ホワイトバランス調整、光学歪み補正、階調補正、符号化、復号など、撮影された画像の記録や再生に関する処理が含まれる。また、画像処理には、コントラストＡＦ用の評価値算出や、像面位相差ＡＦ用の像信号生成、ＡＥ用の輝度評価値生成、被写体検出、動きベクトル検出など、撮影動作の制御に関する処理も含まれる。なお、ここで列挙した画像処理は単なる例示であって、実施が必須であることを意味しない。また、他の画像処理が実行されてもよい。
【００１６】
相関演算回路１２０は、画像処理回路１０８が生成する像面位相差ＡＦ用の像信号に対して相関演算を行い、像信号間の位相差（大きさおよび方向）を算出する。
ＡＦ演算回路１０９は、相関演算回路１２０から出力される相関演算結果に基づいて、フォーカスレンズ１１９の駆動方向および駆動量を算出する。記録媒体１１０は、撮影した画像データを撮像装置１内に記録する場合に用いられる。記録媒体１１０は例えば着脱可能なメモリカードおよび／または内蔵固定メモリであってよい。
【００１７】
シャッタ１１１は静止画撮影時に撮像素子１００の露光時間を調節するためのメカニカルシャッタであり、モータ１２２によって開閉される。モータ１２２の開閉はシャッタ駆動回路１２１を通じてＣＰＵ１０３が制御する。なお、メカニカルシャッタの代わりにＴＧ１０２が供給する信号によって撮像素子１００の電荷蓄積時間を調整してもよい（電子シャッタ）。
【００１８】
フォーカス駆動回路１１２は、フォーカスアクチュエータ１１４を駆動することによってフォーカスレンズ１１９を光軸方向に移動させ、撮影光学系の合焦距離を変更する。像面位相差ＡＦを実行する場合、ＡＦ演算回路１０９が算出したフォーカスレンズ１１９の駆動方向および駆動量に基づいてフォーカスアクチュエータ１１４を駆動する。
【００１９】
絞り駆動回路１１３は、絞りアクチュエータ１１５を駆動することによって絞り１１７の開口径を変更する。第１レンズ１１６は、撮影光学系の先端に配置され、光軸方向に進退可能に保持される。絞り１１７及び第２レンズ１１８は一体となって光軸方向に進退し、第１レンズ１１６の進退動作との連動により、変倍作用（ズーム機能）を実現する。
【００２０】
ＨＤＤ(Hard Disk Drive)／ＳＳＤ(Solid State Drive)１２３は二次記憶装置である。なお、二次記憶装置はＨＤＤやＳＳＤに限定されず、任意の不揮発性記憶装置を用いることができる。なお、ＲＯＭ１０７とＨＤＤ／ＳＳＤ１２３とが実際には同一の記憶装置の別領域として実現されてもよい。
【００２１】
通信回路１５１は、ここでは無線ＬＡＮや公衆無線電話網といった無線ネットワークに接続可能な無線通信回路であるものとする。しかし、通信回路１５１は有線通信回路であってもよいし、有線通信回路と無線通信回路の両方を備えていてもよい。通信回路１５１の動作はＣＰＵ１０３または必要に応じて設けられる通信プロセッサ１５０が制御する。
【００２２】
なお、通信プロセッサ１５０はＣＰＵ１０３と独立して動作可能である。撮像装置１が電源オフ状態であっても通信プロセッサ１５０と通信回路１５１には待機電源が供給され、外部ネットワークから撮像装置１へ送信されたパケットを受信可能である。また、通信プロセッサ１５０は撮像装置１の電源投入イベントを発行したり、ＲＯＭ１０７に記憶されたプログラムを実行したりすることができる。
【００２３】
なお、ＣＰＵ１０３と、ＣＰＵ１０３に接続された各ブロックは、互いに通信可能に共通したシステムバスに接続されている。また、以下の説明において、プログラムなどのソフトウェアを動作主体として記載している動作は、実際にはＣＰＵ１０３がそのソフトウェアを実行することにより動作が実現される。
【００２４】
図２は、撮像装置１のソフトウェア構成を、図１に示したハードウェアの一部とともに模式的に示した図である。
ソフトウェアはＯＳ層とアプリケーション層とを有し、撮像装置１の動作時にはＲＯＭ１０７からＲＡＭ１０６に読み込まれて、ＣＰＵ１０３によって実行される。ＯＳ層はＯＳコア部（カーネル）２０４と、各ハードウェアのドライバ（デバイスドライバ）２０５、２０６、２０８、２１０および二次記憶装置（ＨＤＤ／ＳＳＤ１２３）のファイルシステム２０７を有する。ＯＳコア部２０４は、ＲＡＭ１０６の制御やタスク制御、ＣＰＵ１０３の制御等、ＯＳとして必須の処理を行う。
【００２５】
なお、図２には便宜上撮像装置１が有するハードウェアおよびデバイスドライバの一部のみを示している。実際には他のハードウェア（例えば操作部１０４に含まれる入力デバイス）と、そのデバイスドライバなども含まれる。
【００２６】
アプリケーション層には各種ライブラリと、アプリケーションフレームワークと、アプリケーションプログラムとが含まれる。最上層のアプリケーションは撮像装置１の機能を提供する。撮影アプリケーション２１６は撮影機能を提供する。再生アプリケーション２１７は、記録媒体１１０および／またはＨＤＤ／ＳＳＤ１２３に記録されている画像データを再生して表示装置１０５に表示する機能を提供する。リモート制御アプリケーション２１８は通信回路１５１を通じて外部から撮像装置１の動作を制御する機能を提供する。
【００２７】
アプリケーションの下層にはアプリケーションフレームワークとして、撮影サービス２１３、再生サービス２１４、ネットワークサービス２１５が存在する。これらのサービスは、アプリケーションが機能を提供するためのデバイス制御などを行うミドルウェアである。
【００２８】
アプリケーションフレームワークの下層には、サービスがデバイスにアクセスするためのインターフェースライブラリとして、Ｉ／Ｏライブラリ２１２、ディスプレイライブラリ２０９、ネットワークライブラリ２１１が存在する。これらのインターフェースライブラリは、アプリケーションやサービスがコールするＡＰＩ(Application Programming Interface)を含んでいる。
【００２９】
なお、図２に記載したアプリケーションプログラム、サービス、ライブラリは例示であり、他の機能を実現するアプリケーションプログラムや、それに対応するサービスやライブラリがさらに含まれてもよい。
【００３０】
図３（ａ）は、撮像装置１の撮影スタンバイ状態におけるＲＡＭ１０６の状態の一例と、ハイバーネーション動作を模式的に示した図である。
撮像装置１は、操作部１０４が有する電源スイッチ３００によって電源オン状態とされると、撮影スタンバイ状態となる。撮影スタンバイ状態ではＯＳコア部２０４、センサドライバ２０５、二次記憶装置デバイスドライバ２０６、ファイルシステム２０７、撮影サービス２１３、撮影アプリケーション２１６の起動シーケンスが完了し、撮影指示に応答可能な状態である。撮影指示は例えば操作部１０４が有するシャッタボタンの押下によって入力される。
【００３１】
さらに、再生アプリケーション２１７、再生サービス２１４、リモート制御アプリケーション２１８、ネットワークサービス２１５などの起動シーケンスも完了している。これにより、操作部１０４の様々な操作に対する機能を提供可能な状態となる。図３（ａ）は、すべてのアプリケーションやサービスの起動シーケンスが完了し、ＲＡＭ１０６に展開された状態を模式的に示している。
【００３２】
撮影スタンバイ状態におけるＲＡＭ１０６にはアプリケーションやサービスのプログラムデータや、数値データ等が書き込まれており、ＯＳコア部２０４（ＣＰＵ１０３）はＲＡＭ１０６に書き込まれたプログラムデータや数値データを認識している。電子機器の動作時の状態を復元するための情報（メモリに展開されているデータやレジスタの値など）を格納したデータ（以下、ハイバネーションデータ）を用いてＯＳの起動を高速化する場合、ハイバネーションデータを生成する必要がある。例えば撮像装置１が休止状態となる際に、ハイバネーション機能が、ＲＡＭ１０６に書きこまれているプログラムデータや数値データからハイバネーションデータ３０３を生成することができる。なお、ハイバネーション機能は一般的にはＯＳコア部２０４が有するため、図３および以下の説明では便宜上ＯＳコア部２０４がハイバネーション機能を実現するものとして記載する。
【００３３】
ＯＳコア部２０４は、生成したハイバネーションデータ３０３を二次記憶装置（ＨＤＤ／ＳＳＤ１２３）に記憶し、撮像装置１の電源をオフする。なお、ハイバネーションデータ３０３は、撮像装置１の休止状態への移行時以外のタイミングで生成されてもよい。したがって、ハイバネーションデータ３０３が生成されたことによって撮像装置１が休止状態に移行しなくてもよい。
【００３４】
この状態で電源スイッチ３００が押下されるなどして起動指示が与えられると、ＯＳコア部２０４は、起動シーケンス処理時にＨＤＤ／ＳＳＤ１２３に記憶したハイバネーションデータ３０３をＲＡＭ１０６へ展開し直す（後述）。これにより、アプリケーションやサービスなどの起動シーケンスを１からやり直すことなく、撮影スタンバイ状態のＲＡＭ１０６の状態へ復帰させることができるため、起動時間を短縮することができる。
【００３５】
図４はＯＳコア部２０４がハイバネーションデータ３０３を生成する手順を示すフローチャートである。ハイバネーションデータ３０３の生成は、撮像装置１のＯＳコア部２０４が、ハイバネーションデータの生成開始命令をコマンド入力や省電力モードへの移行イベント等によって受信することによって開始される。
【００３６】
まずＯＳコア部２０４は、ハイバネーションデータ３０３の生成中にＲＡＭ１０６の状態が変更されない様に、ＯＳ機能やドライバの機能を停止させる（Ｓ１０１）。次にＯＳコア部２０４はＲＡＭ１０６の状態を解析する（Ｓ１０２）。そして、ＯＳコア部２０４は、解析によって、現在使用中の領域（アプリケーションの起動に必要な情報を含んだ領域）と判定される領域の内容を収集し（Ｓ１０３）、一つのハイバネーションデータを生成する。
【００３７】
図５はハイバネーションデータ３０３の構成の一例である。ハイバネーションデータ３０３には、ＲＡＭ１０６の使用中の領域のそれぞれについて、復帰実データ（メモリに展開されていたデータやプログラムのコピー）と、復帰アドレス（ＲＡＭ１０６内の位置）とが関連づけて格納されている。また、ハイバネーションデータ３０３には、ＣＰＵ１０３のレジスタの値がＣＰＵレジスタ情報として格納されている。
【００３８】
ＯＳコア部２０４は、生成したハイバネーションデータを二次記憶装置（ＨＤＤ／ＳＳＤ１２３）に保存する（Ｓ１０５）。その後、ＯＳコア部２０４は、Ｓ１０１で停止したＯＳ機能およびドライバの機能を再開させてもよいし、撮像装置１の電源をオフにしてもよい。
【００３９】
次に、撮像装置１の起動処理動作について図３（ｂ）に示す模式図および図６に示すフローチャートを用いて説明する。
撮像装置１の電源オフ（または休止状態）の状態で電源スイッチ３００が押下されるなどして起動指示が与えられると、ＢＩＯＳがブートローダを起動させる（ＣＰＵ１０３がブートローダを実行する）。
【００４０】
Ｓ２０１でブートローダはＨＤＤ／ＳＳＤ１２３の所定の場所にハイバネーションデータ３０３が存在するかどうか確認し、存在する場合にはＳ２０２へ、存在しない場合にはＳ２０５へ処理を進める。
【００４１】
Ｓ２０５でブートローダはＯＳコア部２０４をＲＡＭ１０６に読み込んで起動する。ＯＳコア部２０４はデバイスドライバの読み込み、デバイス初期化といった処理の通常起動シーケンスを実行し、起動処理を終了する。Ｓ２０５はハイバネーションデータ３０３を用いない通常の起動動作に相当する。
【００４２】
Ｓ２０２でブートローダはＨＤＤ／ＳＳＤ１２３からハイバネーションデータ３０３を読み出す。
Ｓ２０３でブートローダは、読み出したハイバネーションデータ３０３に含まれる復帰実データを、関連づけられた復帰アドレスに従ってＲＡＭ１０６に展開し、ＲＡＭ１０６の内容をハイバネーションデータ３０３の生成時点の状態に復帰させる。また、ブートローダは、ハイバネーションデータ３０３に記述されたＣＰＵレジスタ情報に基づいてＣＰＵ１０３の内部情報を変更し、ＣＰＵ１０３についてもハイバネーションデータ３０３の生成時点の状態に復帰させる。そして、ブートローダは復帰ポイントからＯＳコア部２０４を起動させ（ＯＳコア部２０４が有するレジューム機能を呼び出し）、起動処理を終了する。
【００４３】
ハイバネーションデータを用いて起動することで、通常起動処理でＯＳコア部２０４が行うデバイスドライバの読み込みや各種の初期化処理を省略することができるため、起動時間を短縮することができる。
【００４４】
図２に示した撮像装置１の動作時のソフトウェア構成を、撮像装置１が提供する機能に着目してグループ化することができる。
例えば撮影機能を提供するためには、撮影アプリケーション２１６、撮影サービス２１３、Ｉ／Ｏライブラリ２１２、センサドライバ２０５が必要である。また、撮影で得られた画像データを記録媒体１１０に保存するために、ファイルシステム２０７と二次記憶装置デバイスドライバ２０６とが必要になる。また、タスク管理やタイマ管理など、ＯＳとしての基本機能を提供するＯＳコア部２０４も必要になる。
【００４５】
また、再生機能を提供するためには、再生アプリケーション２１７、再生サービス２１４が必要である。また、再生すべき画像データを読み出すためにＩ／Ｏライブラリ２１２、ファイルシステム２０７、二次記憶装置デバイスドライバ２０６が必要である。さらに、再生した画像を表示装置１０５に出力するためのディスプレイライブラリ２０９とディスプレイドライバ２０８とが必要である。また、ＯＳが提供する基本機能を利用するため、ＯＳコア部２０４も必要である。
【００４６】
さらに、リモート制御機能を提供するためには、リモート制御アプリケーション２１８、ネットワークサービス２１５が必要である。また、リモート制御を行う外部機器と通信を行うために、ネットワークライブラリ２１１、ネットワークドライバ２１０が必要である。また、ＯＳが提供する基本機能を利用するため、ＯＳコア部２０４も必要である。
【００４７】
このようなグループ化により、撮像装置１で動作するソフトウェアと機能との間には特有の関係が存在することが分かる。例えば、撮影アプリケーション２１６、撮影サービス２１３、センサドライバ２０５は撮影機能にのみ必要である。また、再生アプリケーション２１７、再生サービス２１４、ディスプレイライブラリ２０９、ディスプレイドライバ２０８は再生機能にのみ必要である。リモート制御アプリケーション２１８、ネットワークサービス２１５、ネットワークライブラリ２１１、ネットワークドライバ２１０はリモート制御機能にのみ必要である。Ｉ／Ｏライブラリ２１２、ファイルシステム２０７、二次記憶装置デバイスドライバ２０６は、撮影機能、再生機能のどちらにも必要である。また、ＯＳコア部２０４は、すべての機能において必要である。
【００４８】
本実施形態では、このような、ある機能にだけ必要なソフトウェアのハイバネーションデータ、一部の機能に共通して必要なソフトウェアのハイバネーションデータ、全ての機能に必要なソフトウェアのハイバネーションデータをそれぞれ生成する。つまり、本実施形態で生成するハイバネーションデータは、複数のハイバネーションデータを組み合わせて用いることを前提としている。起動時に提供する機能を提供するために最低限必要なハイバネーションデータを組み合わせて起動処理に用いる。そのため、起動に要する時間を短縮できるほか、後述するように、起動時に提供する機能を容易に変更することを可能とする。
【００４９】
（機能別ハイバネーションデータの生成）
図７〜図１０を用いて、ハイバネーションデータの生成処理に関してさらに説明する。ここでは便宜上、起動時に提供する機能を撮影機能と再生機能から選択可能とするためのハイバネーションデータの生成について説明するが、他の機能を選択可能とするためのハイバネーションデータも同様に生成できる。
【００５０】
図７は、機能別のハイバネーションデータ生成処理を図３（ａ）と同様に模式的に示している。ここでは、撮像装置１が起動しており、撮影機能および再生機能を実現するためのソフトウェアが全てＲＡＭ１０６に展開された状態であるとする。例えば、撮像装置１を起動させ、撮影スタンバイ状態になってから、再生モードに切り替えた状態であってよい。
【００５１】
メモリ解析処理部９０１は、ＯＳコア部２０４、撮影アプリケーション２１６、もしくは再生アプリケーション２１７を使用してＣＰＵ１０３で実行される。ハイバネーションデータ生成処理部９０２、復帰プログラム生成処理部９０７は、ＯＳコア部２０４を使用してＣＰＵにより実行される。メモリ解析処理部９０１は、ＲＡＭ１０６の使用中の領域について、機能との対応関係を解析する。ハイバネーションデータ生成処理部９０２は、機能別のハイバネーションデータを生成し、ＨＤＤ／ＳＳＤ１２３に記録する。復帰プログラム生成処理部９０７は、機能別の復帰プログラムを生成し、ＲＯＭ１０７に記録する。
【００５２】
以下、機能別のハイバネーションデータ生成処理について、図８のフローチャートを用いて説明する。なお、ハイバネーションデータの生成処理は、撮像装置１の製造工程で実行してもよいし、ユーザの指示によって実行してもよい。
【００５３】
まず、図８を用いて、撮影機能、Ｉ／Ｏ処理、ＯＳコア部に関するハイバネーションデータの生成処理について説明する。
Ｓ３０１〜Ｓ３０３では、メモリ解析処理部９０１（ＣＰＵ１０３）によりＲＡＭの使用領域の解析を行う。
Ｓ３０１でメモリ解析処理部９０１（ＣＰＵ１０３）は、ＲＡＭ１０６を対象に、ＯＳコア部２０４により使用されたメモリ領域を判別する。ＯＳコア部２０４が使用する領域は、ＯＳコア部２０４が提供する既知のＡＰＩのシンボル情報からアドレスを特定することによって判別しても良いし、ＯＳコア部２０４を実際に動作させてプロファイルを取得することによって判別してもよい。
【００５４】
Ｓ３０２で、撮影アプリケーション２１６（ＣＰＵ１０３）は撮影機能を実行し、一連の撮影動作（撮影準備動作、撮影動作、記録動作）が実行される。そして、メモリ解析処理部９０１は、撮影動作の間に使用されたＲＡＭ１０６のメモリ領域と、撮影動作の間に使用されなかったＲＡＭ１０６のメモリ領域とを判別する。
【００５５】
撮影動作の終了後、Ｓ３０３で再生アプリケーション２１７（ＣＰＵ１０３）が、再生機能、例えば記録媒体１１０に保存されている所定の画像ファイルについて再生動作、を実行する。再生動作の実行中、メモリ解析処理部９０１は、再生動作で使用されたＲＡＭ１０６の領域と、再生動作で使用されなかったＲＡＭ１０６の領域とを判別する。
その後、Ｓ３０４で、ＯＳの一部機能やドライバの機能を停止させる。
【００５６】
次に、Ｓ３０５〜Ｓ３０８において、Ｓ３０１〜Ｓ３０４でのメモリ解析処理部９０１の解析結果に応じて、ハイバネーションデータ生成処理部９０２が、機能別ハイバネーションデータの生成を実行する。
【００５７】
Ｓ３０５でハイバネーションデータ生成処理部９０２は、撮影機能で使用され、再生機能では使用されなかったＲＡＭ１０６のメモリ領域の情報を、撮影機能ハイバネーションデータ９０４として生成し、ＨＤＤ／ＳＳＤ１２３に記録する。
Ｓ３０６でハイバネーションデータ生成処理部９０２は、撮影機能で使用され、かつ、再生機能でも使用されたＲＡＭ１０６のメモリ領域の情報を、Ｉ／Ｏ処理ハイバネーションデータ９０５として生成し、ＨＤＤ／ＳＳＤ１２３に記録する。
【００５８】
Ｓ３０７でハイバネーションデータ生成処理部９０２は、撮影機能で使用されず、再生機能で使用されたＲＡＭ１０６のメモリ領域の情報を、再生機能ハイバネーションデータ９０３として生成し、ＨＤＤ／ＳＳＤ１２３に記録する。
【００５９】
Ｓ３０８でハイバネーションデータ生成処理部９０２は、ＲＡＭ１０６に撮影機能で使用されず、かつ、再生機能でも使用されなかったＲＡＭ１０６のメモリ領域のうち、ＯＳで使用されたＲＡＭ１０６のメモリ領域の情報を、ＯＳコア部ハイバネーションデータ９０６として生成し、ＨＤＤ／ＳＳＤ１２３に記録する。図９に、ハイバネーションデータ生成処理部９０２が生成する機能別ハイバネーションデータの構成例を示す。このような構成の機能別ハイバネーションデータが生成され、データファイルとしてＨＤＤ／ＳＳＤ１２３に記録される。機能別ハイバネーションデータは、復帰アドレスと復帰実データの組み合わせから構成される。図５に示したハイバネーションデータとは、ＣＰＵレジスタアドレス情報を有さない点で異なる。ＣＰＵレジスタ情報は、異なる機能別ハイバネーションデータで共通に使用される情報である。そのため、本実施形態では、機能別ハイバネーションデータごとにＣＰＵレジスタ情報を持たせずに、復帰プログラム内にＣＰＵレジスタ情報を格納するが、機能別ハイバネーションデータごとにＣＰＵレジスタ情報を持たせてもよい。個々の復帰実データに関連づけられた復帰アドレスは、対応する復帰実データを展開すべきＲＡＭ１０６の位置（例えば先頭アドレス）である。
【００６０】
Ｓ３０９、Ｓ３１０では、復帰プログラム生成処理部９０７が、機能別ハイバネーションデータを用いた起動処理を実行するための復帰プログラムを生成し、ＲＯＭ１０７に記録する。
【００６１】
復帰プログラム生成処理部は、撮影機能、再生機能のそれぞれを復帰させるための情報を含んだ復帰プログラムを、機能ごとに生成する。
Ｓ３０９では、撮影機能復帰プログラム９０８（１２００）を生成してＲＯＭ１０７に記録し、Ｓ３１０では、再生機能復帰プログラム９０９（１２０４）を生成してＲＯＭ１０７に記録する。
【００６２】
図１０は、撮影機能用の復帰プログラム１２００（９０８）と、再生機能用の復帰プログラム１２０４（９０９）の構成例を模式的に示す。
各復帰プログラムは、プログラム本体と、機能を復帰させるために必要なハイバネーションデータの組み合わせに関する情報や、復帰に必要なハイバネーションデータを特定するための情報、機能の復帰ポイント、およびＣＰＵレジスタ情報を有する。
【００６３】
撮影機能復帰プログラム１２００は、プログラム本体１２０１と、撮影機能復帰ハイバネーション情報１２０２と、ＣＰＵレジスタ情報１２０３とを有する。撮影機能復帰ハイバネーション情報１２０２には、必要なハイバネーションデータの組み合わせ（ＯＳコア部、撮影機能、Ｉ／Ｏ処理）に関する情報が含まれる。また、撮影機能復帰ハイバネーション情報１２０２には、撮影機能を復帰するために必要となる、ＯＳコア部ハイバネーションデータ、撮影機能ハイバネーションデータ、Ｉ／Ｏ処理ハイバネーションデータそれぞれについて、ハイバネーションデータを特定するための情報も記録する。撮影機能の復帰ポイントの情報については、ＣＰＵレジスタ情報１２０３に含まれている。同様に、再生機能復帰プログラム１２０４は、プログラム本体１２０５と、再生機能復帰ハイバネーション情報１２０６と、再生機能の復帰ポイントを含むＣＰＵレジスタ情報１２０７とを有する。
【００６４】
なお、機能の復帰に必要なハイバネーションデータを特定する情報の形式に特に制限はなく、ハイバネーションデータの名称でもよいし、ＩＤなどの番号であってもよい。ＨＤＤ／ＳＳＤ１２３の記録位置を特定するファイルパス情報を記録するようにしてよい。
【００６５】
なお、復帰プログラムが有する復帰ポイントは、復帰プログラムが復帰させる機能に対応したものである。具体的には、撮影機能復帰プログラムであれば、撮影機能ハイバネーションデータに含まれるものと同じ撮影機能の復帰ポイントを有する。再生機能復帰プログラムであれば、再生機能ハイバネーションデータに含まれるものと同じ再生機能の復帰ポイントを有する。ＣＰＵレジスタ情報は復帰させる機能に依存せず、復帰プログラムに共通した内容である。
【００６６】
（撮影機能の起動処理）
次に、機能別ハイバネーションデータと復帰プログラムとを用いた撮影機能の起動処理について、図１１の模式図および図１２のフローチャートを用いて説明する。なお、図１１ではＣＰＵ１０３がクアッドコアＣＰＵである構成を示しているが、ＣＰＵ１０３のコア数に特に制限はない。
撮像装置１の電源オフ（または休止状態）の状態で電源スイッチ３００が押下されるなどして起動指示が与えられると、ＢＩＯＳがブートローダを起動させる（ＣＰＵ１０３がブートローダを実行する）。これにより、撮影機能の起動処理が開始される。
【００６７】
撮像装置１の電源スイッチ３００が検出されると、ブートローダは例えばＲＯＭ１０７の電源スイッチ応答アドレス１０７１に存在するプログラムをＣＰＵ１０３に実行させるものとする。電源スイッチ応答アドレス１０７１にプログラムが存在しなければ、Ｓ２０５で説明したように通常の起動シーケンスを開始する。
【００６８】
ここでは、電源スイッチ応答アドレス１０７１に撮影機能復帰プログラム１２００が存在するものとする。従って、撮像装置１が電源オフの状態で電源スイッチ３００が押下されると、Ｓ５０２でＣＰＵ１０３はＲＯＭ１０７の電源スイッチ応答アドレス１０７１から配置された撮影機能復帰プログラム１２００を実行する。撮影機能復帰プログラム１２００はＣＰＵ１０３の初期化やＲＡＭ１０６の初期化などの必要最小限のハードウェアの初期化を実行する。
【００６９】
Ｓ５０３で撮影機能復帰プログラム１２００は自身が有する撮影機能復帰ハイバネーション情報１２０２を参照し、撮影機能の復帰に必要なハイバネーションデータを特定する。そして、撮影機能復帰プログラム１２００は、特定したハイバネーションデータをＨＤＤ／ＳＳＤ１２３から取得し、個々のハイバネーションデータ（復帰実データ）を、関連づけられた復帰アドレス情報の位置に、ＲＡＭ１０６に展開する。
【００７０】
また、撮影機能復帰プログラム１２００は、ハイバネーションデータのＲＡＭ１０６への展開が完了すると、Ｓ５０４で、ＣＰＵレジスタ情報１２０３に基づいてＣＰＵ１０３のレジスタ設定と復帰ポイントをＣＰＵ１０３へ設定する。
【００７１】
Ｓ５０５で撮影機能復帰プログラム１２００は、復帰ポイントへジャンプし、復帰処理を終了する。以上の起動処理により、ＲＡＭ１０６およびＣＰＵ１０３のレジスタ設定が撮影機能の実行が可能な状態で起動が完了する。従って、例えば電源スイッチ３００の押下をトリガとして、撮影機能の起動シーケンスを高速化することができる。
【００７２】
なお、本実施形態では、撮影機能復帰プログラムを、ＲＯＭ１０７内の、起動指示操作に関連づけられたアドレスに配置した構成を説明した。しかし、ブートローダなど、起動指示によって動作するプログラムが電源復帰プログラムと同等の機能を備え、起動指示に応じてその機能を実行するように構成してもよい。
【００７３】
以上説明したように、本実施形態では、起動操作に関連づけられた特定の機能に必要な最小限のハイバネーションデータを用いて起動処理を行うため、起動が完了するまでの時間を短縮することが可能になる。
【００７４】
（撮影機能または再生機能の起動処理）
上述の撮影機能の起動処理では機能別ハイバネーションデータを用いて撮影機能の起動処理の高速化を実現するものであったが、機能別ハイバネーションデータを用いることで、起動時に提供する機能を変更することも可能になる。そのため、起動が完了してから別途所望の機能を呼び出す操作（例えばキーやボタンの操作）を行う場合と比較して、所望の機能が使用できるようになるまでの時間を短縮することができる。
【００７５】
本実施形態では、起動処理において撮影機能の起動シーケンスを実行中に再生機能を呼び出す指示が入力された場合の動作について図１３の模式図および図１４のフローチャートを用いて説明する。図１４において図１２と同様の処理については図１２と同じ参照数字を付した。また、本実施形態でもＣＰＵ１０３は４コアＣＰＵとするが、コア数は１以上の任意の数であってよい。
【００７６】
撮像装置１の電源オフ状態で電源スイッチ３００が押下されると、先に説明したように撮影機能を復帰させる起動処理が開始される（Ｓ５０２）。Ｓ５０３におけるハイバネーションデータの展開中、ＯＳコア部２０４は、再生機能の呼び出し操作（割り込み）を監視する（Ｓ６０４）。再生機能の呼び出し操作は、例えば再生ボタン１５００の押下であってよい。ＯＳコア部２０４は、撮影機能ハイバネーションデータの展開が終了したかを判断し（Ｓ６０３）、撮影機能ハイバネーションデータの展開が終了するまで、再生機能の呼び出し操作（割り込み）を監視する。再生ボタン１５００の押下が検出されずに、撮影機能ハイバネーションデータの展開が終了した場合（Ｓ６０３でＹｅｓ）は、Ｓ５０４以降の処理を実行する。
【００７７】
ＲＯＭ１０７には再生ボタン応答アドレスが割り当てられ、そのアドレスには再生機能復帰プログラム１２０４が予め配置されている。ＯＳコア部２０４はＳ６０４で再生ボタン１５００の押下を検出すると、処理をＳ６０５に進める。
【００７８】
Ｓ６０５でＯＳコア部２０４はＣＰＵ１０３が有するコア１〜コア４のうち、例えばコア２からコア４のリソースを撮影機能復帰プログラム１２００から解放し、再生機能復帰プログラム１２０４に割り当て、再生機能復帰プログラム１２０４の実行を開始する。
【００７９】
Ｓ６０６でＯＳコア部２０４は、ＣＰＵ１０３のコア１と、コア２〜４との処理を分岐させる。
コア１が実行する撮影機能復帰プログラム１２００は、Ｓ６０７でハイバネーションデータの展開処理を継続する。展開が終了すると、撮影機能復帰プログラム１２００は、Ｓ５０４およびＳ５０５でレジスタ情報の復元と撮影機能の復元ポイントへのジャンプを実行し、撮影機能を実行可能な状態で起動処理を完了する。
【００８０】
一方、コア２〜４が実行する再生機能復帰プログラム１２０４は、Ｓ６１１で、自身が有する再生機能復帰ハイバネーション情報１２０６を参照し、再生機能の復帰に必要なハイバネーションデータを特定する。そして、再生機能復帰プログラム１２０４は、特定したハイバネーションデータをＨＤＤ／ＳＳＤ１２３から取得し、個々のハイバネーションデータ（メモリ内容）を、関連づけられた復帰アドレス情報に従って、ＲＡＭ１０６に展開する。
【００８１】
また、再生機能復帰プログラム１２０４は、ハイバネーションデータのＲＡＭ１０６への展開が完了すると、Ｓ６１２で、ＣＰＵレジスタ情報１２０７に基づいてＣＰＵ１０３のレジスタ内容と復帰ポイントをＣＰＵ１０３へ設定する。
【００８２】
Ｓ６１３で再生機能復帰プログラム１２０４は、再生機能の復帰ポイントへジャンプし、復帰処理を終了する。これにより、再生機能を実行が可能な状態で起動処理を完了する。
【００８３】
なお、撮影機能復帰プログラム１２００と再生機能復帰プログラム１２０４との両方が復元対象とするハイバネーションデータについては、後から展開処理するプログラムが同じメモリ領域を上書きしても。あるいは、既に展開済みであると判断して、展開処理をスキップしてもよい。
【００８４】
本実施形態では、起動指示によって実行が開始される復帰プログラムによる第１の起動処理よりも、後に実行が開始される復帰プログラムによる第２の起動処理に対して多くの処理リソース（ここではＣＰＵコア）を割り当てる。これにより、後に実行を開始した復帰プログラム（第２の起動処理）を優先的に実行することができる。しかし、第１の起動処理の実行中に第２の起動処理の実行を開始する場合、第２の起動処理を実行する間は第１の起動処理を中断し、第２の起動処理に全ての処理リソースを割り当ててもよい。この場合、第２の起動処理の実行が完了したら、中断していた第１の起動処理の実行を再開する。 
【００８５】
いずれの場合においても、電源スイッチを押下した後、再生ボタンを押下することで、ユーザは、再生機能が直ちに利用可能な状態に、かつ高速に撮像装置を起動させることができる。
【００８６】
●＜実施形態の変形例＞
本実施形態では、撮像装置１の操作ではなく、外部機器から撮像装置１への通信によって起動指示を入力可能としたことを特徴とする。本実施形態では、撮像装置１が有する通信プロセッサ１５０および通信回路１５１を用いる。
【００８７】
図１５は、撮像装置１が通信回路１５１によって無線アクセスポイント１８００が形成する無線通信ネットワークに参加しており、同じ無線通信ネットワークに参加している情報端末１８０１と通信可能な状態を模式的に示している。なお、図１５では一例として無線アクセスポイント１８００が形成する無線通信ネットワーク（例えば無線ＬＡＮ）を想定している。しかし、撮像装置１と情報端末１８０１とが通信可能に接続されれば、有線ネットワークを含め、任意の規格に準拠した通信ネットワークを用いることができる。また、情報端末１８０１はスマートフォン、タブレット端末、ノート型パソコン、ポータブルゲーム機のようなモバイル機器であってもよいし、デスクトップパソコンのような据え置き型の端末であってもよい。
【００８８】
また、上述したように、撮像装置１の電源がオフされた状態でも、通信プロセッサ１５０および通信回路１５１には待機電源が供給され、通信回路１５１は外部機器との通信が可能である。
【００８９】
ネットワークの通信規格にかかわらず、情報端末１８０１には撮影を指示するユーザインタフェース（ＵＩ）１８０２と、再生を指示するＵＩ１８０３とが設けられている。なお、図１５の例ではＵＩ１８０２，１８０３がＧＵＩ(Graphical User Interface）であり、タッチディスプレイに表示されている状態を模式的に示している。しかし、ハードウェアボタン、スイッチ、キーが撮影指示や再生指示の発行に割り当てられてもよい。図１５ではＵＩ１８０２の操作によって情報端末１８０１から撮像装置１宛の撮影開始パケット１８０４が発行される。この撮影開始パケット１８０４を撮像装置１の通信回路１５１が受信すると、通信プロセッサ１５０は起動指示が入力されたものとして撮像装置１の電源をオンさせる。
【００９０】
図１６は、撮像装置１が外部機器と通信可能な待機状態にある際の動作に関するフローチャートである。
待機状態では撮像装置１の主電源はオフされており、通信回路１５１と通信プロセッサ１５０だけが待機電力で動作している。この状態で通信プロセッサ１５０は、通信回路１５１パケットを受信すると、撮影開始パケット１８０４であるかどうか判定する処理（Ｓ７０１）を実行する。
【００９１】
情報端末１８０１で稼働する遠隔制御アプリケーションでＵＩ１８０２が操作されると、情報端末１８０１から撮像装置１宛に撮影開始パケット１８０４が送信される。情報端末１８０１には予め撮像装置１（通信回路１５１）のアドレスなどの情報が登録されているものとする。
【００９２】
Ｓ７０１で撮影開始パケット１８０４を受信したことが検出されると、Ｓ７０２で通信プロセッサ１５０は電源スイッチ３００が操作された場合と同様の電源投入イベントを発行し、撮像装置１を起動状態に遷移させる。そして、Ｓ７０３で通信プロセッサ１５０は、ＲＯＭ１０７の電源スイッチ応答アドレス１０７１に配置された撮影機能復帰プログラム１２００の実行を開始する。なお、撮影機能復帰プログラム１２００は、起動したＣＰＵ１０３が実行してもよい。
【００９３】
以降は、図１２を用いて説明したように起動処理が実行される（Ｓ５０３〜Ｓ５０５）。なお、撮影機能復帰プログラム１２００の実行中に再生ボタン１５００が押下されたり、ユーザインタフェース１８０３の操作によって発行された再生開始パケットを通信回路１５１が受信したりした場合、図１３、図１４に関して説明した処理を実行してもよい。
【００９４】
このように、本変形例では、実施形態で説明した処理を、外部機器から遠隔的に実行させることができる。
【００９５】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００９６】
上述の実施形態では、ハイバネーションデータを利用して起動する電子機器がハイバネーションデータを生成する機能を有する構成について説明した。しかし、予め電子機器に記憶されたハイバネーションデータを用いる構成の場合、ハイバネーションデータの生成機能を備えなくてもよい。
【符号の説明】
【００９７】
１００…撮像素子、１０２…タイミングジェネレータ、１０３…ＣＰＵ、１０６…ＲＡＭ、１０９…ＡＦ演算回路、１２３…ＨＤＤ／ＳＳＤ、１５０…通信プロセッサ、１５１…通信回路
【図１】
2019096279.tif 000003
【図２】
2019096279.tif 000004
【図３】
2019096279.tif 000005
【図４】
2019096279.tif 000006
【図５】
2019096279.tif 000007
【図６】
2019096279.tif 000008
【図７】
2019096279.tif 000009
【図８】
2019096279.tif 000010
【図９】
2019096279.tif 000011
【図１０】
2019096279.tif 000012
【図１１】
2019096279.tif 000013
【図１２】
2019096279.tif 000014
【図１３】
2019096279.tif 000015
【図１４】
2019096279.tif 000016
【図１５】
2019096279.tif 000017
【図１６】
2019096279.tif 000018