JP2019102972A - 電子機器及びその制御方法 - Google Patents
電子機器及びその制御方法 Download PDFInfo
- Publication number
- JP2019102972A JP2019102972A JP2017231743A JP2017231743A JP2019102972A JP 2019102972 A JP2019102972 A JP 2019102972A JP 2017231743 A JP2017231743 A JP 2017231743A JP 2017231743 A JP2017231743 A JP 2017231743A JP 2019102972 A JP2019102972 A JP 2019102972A
- Authority
- JP
- Japan
- Prior art keywords
- module
- imaging
- information
- electronic device
- smart device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Studio Devices (AREA)
- Details Of Cameras Including Film Mechanisms (AREA)
- Stroboscope Apparatuses (AREA)
- Structure And Mechanism Of Cameras (AREA)
Abstract
【課題】第1及び第2モジュールが着脱可能に取り付けられる電子機器において、第1モジュールが受光する光、又は第1モジュールが発光する光が、第2モジュールによって遮られることを抑制する。【解決手段】第1モジュールと第2モジュールとが電子機器本体に対して着脱可能に取り付けられ、第1モジュールが、所定の範囲からの光を受光する機能、又は所定の範囲に光を照射する機能を有する電子機器において、第1モジュールに関する情報を取得する第1取得手段と、第2モジュールに関する情報を取得する第2取得手段と、第1モジュールに関する情報、及び第2モジュールに関する情報に基づいて、第1モジュールが受光する光、又は第1モジュールが発光する光に、第2モジュールによって遮られる部分があるかどうかの判定を行う判定手段と、前記判定手段の判定結果に応じて所定の処理を行う処理手段と、を有する。【選択図】図11
Description
本発明は、電子機器及びその制御方法に関するものである。
機能単位でまとまりを持たせたモジュールをブロックの様に組み合わせることで、所望する様々な機能を実現させたスマートデバイスと呼ばれる電子機器が知られている。こうしたスマートデバイスは、複数のスロットが形成された本体と、異なる機能を持った複数のモジュールとで構成されており、これらの多種多様なモジュールは、それぞれ自由な組み合わせで本体のスロットに着脱される。このとき、例えば撮像機能を有するモジュールを本体のスロットに装着すれば、OS上にインストールされたアプリケーションプログラムの動作によって、撮影機能を利用することが可能となる。
こうしたスマートデバイスに対応する撮像モジュール自体もまた多種多様である。本体への着脱手段や通信手段など一定の規格を満足するものであれば、例えば光学レンズの焦点距離や撮像センサのサイズが異なっていてもよい。更に、これらの撮像モジュールを設計するメーカが特定の企業に限定される必要はなく、カメラメーカや電機メーカなど複数存在しても構わない。また撮像モジュール内においても、どこにどの構成部品を配置するかといった制約が少なく、設計の自由度は高い。そのため、撮像モジュールをそれぞれの仕様やメーカにとって都合のよい、最適なレイアウトで設計することができる。
こうしたスマートデバイスに対応する撮像モジュール自体もまた多種多様である。本体への着脱手段や通信手段など一定の規格を満足するものであれば、例えば光学レンズの焦点距離や撮像センサのサイズが異なっていてもよい。更に、これらの撮像モジュールを設計するメーカが特定の企業に限定される必要はなく、カメラメーカや電機メーカなど複数存在しても構わない。また撮像モジュール内においても、どこにどの構成部品を配置するかといった制約が少なく、設計の自由度は高い。そのため、撮像モジュールをそれぞれの仕様やメーカにとって都合のよい、最適なレイアウトで設計することができる。
ところで近年、よりワイドな画角で撮影できる広角レンズや、より明るい開放F値の大口径レンズを用いたカメラが、比較的小型な撮像モジュールにも搭載されるようになっている。そして、こうした電子機器に向けては、所謂魚眼レンズと呼ばれるような広角レンズの特性を活かした、広角撮影専用のアプリケーションプログラムが提供されている。このアプリケーションプログラムには、撮像モジュールの他に、比較的大容量な電源モジュールや記録モジュール、姿勢検知モジュールといった種類の、最低限必要となる機能モジュールの組み合わせが存在する。更に例えば、これらの該当モジュールをそれぞれ特定のスロットに装着した状態でのみ、広角撮影の機能を最大限に活かすことが出来るといった位置関係の制約が設けられている場合がある。
また、消費電力が少ないだけでなく、小型軽量でありながら、より遠くをより広範囲に照射することのできる高性能LEDが、発光モジュールに実装されるようになっている。そしてこうした電子機器に向けては、撮像モジュールの動作と同期して撮像センサの露光中に閃光を照射する、所謂フラッシュ撮影と呼ばれるような特に暗所や逆光での撮影に適したアプリケーションプログラムが提供されている。このアプリケーションプログラムには、撮像モジュールと発光モジュールとの他に、比較的大容量な電源モジュールや記録モジュール、姿勢検知モジュールといった種類の、最低限必要となる機能モジュールの組み合わせが存在する。更に例えば、これらの該当モジュールをそれぞれ特定のスロットに装着した状態でのみ、フラッシュ撮影の機能を最大限に活かすことが出来るといった位置関係の制約が設けられている場合がある。
しかしながら通常時は、撮影機能に関係のないモジュールも含め、ユーザが任意に選定したモジュールの自由な組み合わせで使用されることになる。このとき、既に装着されているモジュールの種類の組み合わせに問題がないか、所望の撮影機能を最大限に活かすことが出来るか等を電子機器が判定しなければ、前述のような広角撮影専用のアプリケーションプログラムを適正に動作させることはできない。
そこで、モジュールの種類の組み合わせによって所望の機能が実現できるかどうかを判
定する制御が、特許文献1によって公知となっている。特許文献1に記載の制御では、アプリケーションプログラムの起動の際、アプリケーションプログラムが使用するリソースと画像形成装置のリソースとの状態に応じて、画像形成装置の起動の可否を判断する。具体的には、アプリケーション名と、バージョンの情報と、メモリやシステム機器構成を含む使用リソース情報と、が記録されているアプリケーション管理ファイルから、アプリケーションプログラム実行中に使用する予定の機器構成リソースの情報を取得する。そして、電子機器に必要なリソースが全て備わっているかどうかを判定し、備わっていない場合には、ユーザにメッセージを通知すると共に、そのリソースを使わないモードで動作させるものである。
また特許文献2では、コンピュータシステムにおいて、アプリケーションプログラムを実行するために必要な機能モジュールのうち、いずれかが異常と判定された場合にアプリケーションプログラムの全ての動作を停止させる制御が提案されている。
定する制御が、特許文献1によって公知となっている。特許文献1に記載の制御では、アプリケーションプログラムの起動の際、アプリケーションプログラムが使用するリソースと画像形成装置のリソースとの状態に応じて、画像形成装置の起動の可否を判断する。具体的には、アプリケーション名と、バージョンの情報と、メモリやシステム機器構成を含む使用リソース情報と、が記録されているアプリケーション管理ファイルから、アプリケーションプログラム実行中に使用する予定の機器構成リソースの情報を取得する。そして、電子機器に必要なリソースが全て備わっているかどうかを判定し、備わっていない場合には、ユーザにメッセージを通知すると共に、そのリソースを使わないモードで動作させるものである。
また特許文献2では、コンピュータシステムにおいて、アプリケーションプログラムを実行するために必要な機能モジュールのうち、いずれかが異常と判定された場合にアプリケーションプログラムの全ての動作を停止させる制御が提案されている。
しかしながら、前述のスマートデバイスにおいては、モジュールの種類だけでなく、それらを装着するスロットの位置の組み合わせもまた比較的自由である。
例えば、広角の撮像モジュールに近接して、スマートデバイスの表面から特に一部が突出するような、標準的な外形とは異なるモジュールが装着されることも想定される。このような場合、レンズの画角が広いことから、撮影範囲の一部がこうした異型のモジュールによって遮られてしまうおそれがある。
また例えば配光角の比較的広い発光モジュールに近接して、スマートデバイスの表面から特にカメラ部が突出した撮像モジュールが装着されることも想定される。この場合、照射する範囲が広いことから、配光の一部がこうした撮像モジュールの外形によって遮られてしまうおそれがある。フラッシュ撮影においては、閃光が撮影範囲となる所定の空間内を、なるべく均一になるように照射されるのが好ましい。ところが、撮像モジュールの外形によって配光の一部が遮られると、被写体に意図しない影が発生するなどして、撮像モジュールによる撮影結果に影響を及ぼしてしまう。
例えば、広角の撮像モジュールに近接して、スマートデバイスの表面から特に一部が突出するような、標準的な外形とは異なるモジュールが装着されることも想定される。このような場合、レンズの画角が広いことから、撮影範囲の一部がこうした異型のモジュールによって遮られてしまうおそれがある。
また例えば配光角の比較的広い発光モジュールに近接して、スマートデバイスの表面から特にカメラ部が突出した撮像モジュールが装着されることも想定される。この場合、照射する範囲が広いことから、配光の一部がこうした撮像モジュールの外形によって遮られてしまうおそれがある。フラッシュ撮影においては、閃光が撮影範囲となる所定の空間内を、なるべく均一になるように照射されるのが好ましい。ところが、撮像モジュールの外形によって配光の一部が遮られると、被写体に意図しない影が発生するなどして、撮像モジュールによる撮影結果に影響を及ぼしてしまう。
これに対して、特許文献1,2に記載されている制御は、所望の機能を実現する上で不可欠なモジュールの種類が全て備わっているか、またそれらのモジュールに異常がないかを判定するものである。そのため、撮影範囲の一部、又は配光の一部が異型のモジュールに遮られるといった、装着されるスロットの位置関係に起因する不具合については検出することができない。
本発明は上記事情に鑑みてなされたものであり、第1及び第2モジュールが着脱可能に取り付けられる電子機器において、第1モジュールが受光する光、又は第1モジュールが発光する光が、第2モジュールによって遮られることを抑制することを目的とする。
本発明の第1態様は、
第1モジュールと第2モジュールとが電子機器本体に対して着脱可能に取り付けられ、前記第1モジュールが、所定の範囲からの光を受光する機能、又は所定の範囲に光を照射する機能を有する電子機器において、
前記第1モジュールに関する情報を取得する第1取得手段と、
前記第2モジュールに関する情報を取得する第2取得手段と、
前記第1モジュールに関する情報、及び前記第2モジュールに関する情報に基づいて、前記第1モジュールが受光する光、又は前記第1モジュールが発光する光に、前記第2モジュールによって遮られる部分があるかどうかの判定を行う判定手段と、
前記判定手段の判定結果に応じて所定の処理を行う処理手段と、
を有することを特徴とする電子機器である。
第1モジュールと第2モジュールとが電子機器本体に対して着脱可能に取り付けられ、前記第1モジュールが、所定の範囲からの光を受光する機能、又は所定の範囲に光を照射する機能を有する電子機器において、
前記第1モジュールに関する情報を取得する第1取得手段と、
前記第2モジュールに関する情報を取得する第2取得手段と、
前記第1モジュールに関する情報、及び前記第2モジュールに関する情報に基づいて、前記第1モジュールが受光する光、又は前記第1モジュールが発光する光に、前記第2モジュールによって遮られる部分があるかどうかの判定を行う判定手段と、
前記判定手段の判定結果に応じて所定の処理を行う処理手段と、
を有することを特徴とする電子機器である。
本発明の第2態様は、
第1モジュールと第2モジュールとが電子機器本体に対して着脱可能に取り付けられ、前記第1モジュールが、所定の範囲からの光を受光する機能、又は所定の範囲に光を照射する機能を有する電子機器の制御方法において、
前記第1モジュールに関する情報を取得するステップと、
前記第2モジュールに関する情報を取得するステップと、
前記第1モジュールに関する情報、及び前記第2モジュールに関する情報に基づいて、前記第1モジュールが受光する光、又は前記第1モジュールが発光する光に、前記第2モジュールによって遮られる部分があるかどうかの判定を行う判定ステップと、
前記判定ステップの判定結果に応じて所定の処理を行うステップと、
を含むことを特徴とする電子機器の制御方法である。
本発明の第3態様は、上述した電子機器の制御方法の各ステップをコンピュータに実行させるためのプログラムである。
第1モジュールと第2モジュールとが電子機器本体に対して着脱可能に取り付けられ、前記第1モジュールが、所定の範囲からの光を受光する機能、又は所定の範囲に光を照射する機能を有する電子機器の制御方法において、
前記第1モジュールに関する情報を取得するステップと、
前記第2モジュールに関する情報を取得するステップと、
前記第1モジュールに関する情報、及び前記第2モジュールに関する情報に基づいて、前記第1モジュールが受光する光、又は前記第1モジュールが発光する光に、前記第2モジュールによって遮られる部分があるかどうかの判定を行う判定ステップと、
前記判定ステップの判定結果に応じて所定の処理を行うステップと、
を含むことを特徴とする電子機器の制御方法である。
本発明の第3態様は、上述した電子機器の制御方法の各ステップをコンピュータに実行させるためのプログラムである。
本発明によれば、第1及び第2モジュールが着脱可能に取り付けられる電子機器において、第1モジュールが受光する光、又は第1モジュールが発光する光が、第2モジュールによって遮られることを抑制することが可能となる。
以下、この発明を実施するための形態を図面を参照して例示的に説明する。ただし、以下の実施形態に記載されている各部材の寸法、形状、その相対配置など、各種制御の手順、制御パラメータ、目標値などは、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
(実施例1)
図1(a)〜1(d)は、実施例1に係る電子機器の一例であるスマートデバイス50を示す概略図である。
図1(a),1(b)にはそれぞれ、スマートデバイス50の本体であるスマートデバイス本体(電子機器本体)100を、正面側から見たときの外観図と、背面側から見たときの外観図とを示す。なお、以下の説明において、「正面側」「背面側」とは、スマートデバイス本体100を基準として、スマートデバイス本体100の正面側、背面側をいうものとする。また、「左」「右」とは、図面上における左右をいうものとする。
(実施例1)
図1(a)〜1(d)は、実施例1に係る電子機器の一例であるスマートデバイス50を示す概略図である。
図1(a),1(b)にはそれぞれ、スマートデバイス50の本体であるスマートデバイス本体(電子機器本体)100を、正面側から見たときの外観図と、背面側から見たときの外観図とを示す。なお、以下の説明において、「正面側」「背面側」とは、スマートデバイス本体100を基準として、スマートデバイス本体100の正面側、背面側をいうものとする。また、「左」「右」とは、図面上における左右をいうものとする。
図1(a)に示すように、スマートデバイス本体100の正面側には、モジュールを取り付ける際のガイドと保持機能とを兼ね備えた複数のリブ101が形成されている。また、図1(b)に示すように、スマートデバイス本体100の背面側には、複数のリブ101が形成されると共に、スマートデバイス本体100を左右の領域に分割するスパイン102が形成されている。リブ101とスパイン102とは、モジュールを取り付ける際のガイドと、着脱可能に保持する保持機能とを兼ね備えると同時に、スマートデバイス本体100の剛性を高める機能をも有している。以下、リブ101とスパイン102とを合わせてフレーム構造と称することにする。スマートデバイス本体100の正面側と背面側とは、リブ101とスパイン102とによって、複数のモジュールの取り付け領域(1000、1100、1200、1300、1400、1500、1600、1700、1800、1900)に分割されている。以下、これらのモジュールの取り付け領域をスロットと称する。
各スロット1000、1100、1200、1300、1400、1500、1600、1700、1800、1900には、電磁着脱機構を司るエレクトロパーマネントマグネット(以下、EPMと称する)160〜169が設けられている。尚、EPMについては、詳しくは後述する。各EPM160〜169近傍には、スマートデバイス本体100と各モジュールとがデータの送受信をするための本体側非接触通信手段(以下、本体側CMCと称する)140〜149が備えられている。つまり、各スロット1000、1100、1200、1300、1400、1500、1600、1700、1800、1900には、EPM160〜169と本体側CMC140〜149とが、それぞれ少なくとも一対設けられていることになる。尚、図1(a),1(b)に示すように、EPM160〜169と本体側CMC140〜149とは、スロットの大きさに応じて、複数設けられていてもよい。
スマートデバイス本体100の正面側には、図1(a)において左側の端部付近にEPM160、163が配置されており、そのEPM160、163の右側に本体側CMC140、143が配置されている。スマートデバイス本体100の背面側には、スパイン102に隣接するようにEPM161、162、164〜169が配置されている。図1(b)においてスパイン102の左側の領域には、EPM165、167〜169が設けられ、更にそのEPM165、167〜169の左側に本体側CMC145、147〜149が配置されている。またスパイン102の右側の領域には、EPM161、162、164、166が設けられ、更にそのEPM161、162、164、166の右側に本体側CMC141、142、144、146が配置されている。
図1(c),1(d)にはそれぞれ、スマートデバイス50の一例として、スマートデバイス本体100にモジュールを取り付けた状態を正面側から見た外観図と、背面側から見た外観図とを示す。
図1(c),1(d)に示すように、スマートデバイス本体100の正面側及び背面側には、各機能を備えたモジュール150、200、300、350、400、500、600、700、800、900が取り付けられる。スマートデバイス本体100の正面側の下部のスロット1300には、略全面にタッチ検知機能を有した表示部312から成るモジュール(以下、表示操作モジュールと称する)300が装着されている。表示操作モジュール300の右側面には、スマートデバイス50の電源のONとOFFとを切り替える電源ボタン314aが形成されており、同じく表示操作モジュール300の左側面には、音量を調節する音量調節ボタン314bが形成されている。更に表示操作モジュール300には、スマートデバイス50が移動体無線通信機器として機能する際に、通話者の音声を検出するマイク部318が設けられている。マイク部318は、スマートデバイス50がビデオカメラとして機能する際に、動画の音声を収集する役割も担う。また、スマートデバイス本体100の正面側の上部のスロット1000には、スピーカモジュール350が取り付けられている。スピーカモジュール350には、スマートデバイス50が移動体無線通信機器として機能する際に、受信した音声を出力するスピーカ部351が設けられており、その他に音楽や操作音を出力する。
図1(c),1(d)に示すように、スマートデバイス本体100の正面側及び背面側には、各機能を備えたモジュール150、200、300、350、400、500、600、700、800、900が取り付けられる。スマートデバイス本体100の正面側の下部のスロット1300には、略全面にタッチ検知機能を有した表示部312から成るモジュール(以下、表示操作モジュールと称する)300が装着されている。表示操作モジュール300の右側面には、スマートデバイス50の電源のONとOFFとを切り替える電源ボタン314aが形成されており、同じく表示操作モジュール300の左側面には、音量を調節する音量調節ボタン314bが形成されている。更に表示操作モジュール300には、スマートデバイス50が移動体無線通信機器として機能する際に、通話者の音声を検出するマイク部318が設けられている。マイク部318は、スマートデバイス50がビデオカメラとして機能する際に、動画の音声を収集する役割も担う。また、スマートデバイス本体100の正面側の上部のスロット1000には、スピーカモジュール350が取り付けられている。スピーカモジュール350には、スマートデバイス50が移動体無線通信機器として機能する際に、受信した音声を出力するスピーカ部351が設けられており、その他に音楽や操作音を出力する。
一方、スマートデバイス本体100の背面側において、スパイン102の左側の上部のスロット1500には、各種撮影機能を有する撮像モジュール500が装着されている。前述のように、スマートデバイス本体100への着脱手段であるEPMと、通信手段であるCMCとの一定の規格を満足していれば、異なる機能を持ったモジュールであっても、スロット1500に対して装着することが可能である。
また本実施例では、代表的な一例として撮像モジュール500について示すものであるが、これに限るものではなく、スマートデバイス50に対応し得る撮像モジュールの仕様や形状等は多種多様である。そのため、例えば別の撮像モジュールとして、撮像モジュール500よりも画角が狭く、焦点距離が望遠寄りに設定された撮像モジュールが、異なるモジュールメーカーから提供されることも想定される。
また本実施例では、代表的な一例として撮像モジュール500について示すものであるが、これに限るものではなく、スマートデバイス50に対応し得る撮像モジュールの仕様や形状等は多種多様である。そのため、例えば別の撮像モジュールとして、撮像モジュール500よりも画角が狭く、焦点距離が望遠寄りに設定された撮像モジュールが、異なるモジュールメーカーから提供されることも想定される。
スロット1500と近接して、スパイン102の右側の上部のスロット1600には、外部と通信するコネクタを有した外部I/Oモジュール600が装着されている。これによって図1(d)に示すように、撮像モジュール500と外部I/Oモジュール600とがお互いに近接した位置関係となっている。
スロット1500に対して、その下部に形成されたスロット1700には、外部と無線でデータの送受信を行う無線LANモジュール700が装着されている。更にその下部のスロット1800には、スマートデバイス50の姿勢を検知する姿勢検知モジュール800が取り付けられている。姿勢検知モジュール800は、3軸のジャイロセンサから取得する角速度情報を利用することで、スマートデバイス50の姿勢の変化を検知する。スパイン102の左側の下部のスロット1900には、TDMA、CDMA、LTE等の単数或いは複数の各種遠距離通信機能を有する移動体通信モジュール900が装着されている。ここで、TDMAは、Time Division Multiple Access、CDMAは、Code Division Multiple Access、LTEは、Long Term Evolution である。スパイン102の右側の上部のスロット1600に対して、その下部に形成されたスロット1200には、スマートデバイス50全体の制御を行うアプリケーションプログラム制御モジュール200が装着されている。
スロット1500に対して、その下部に形成されたスロット1700には、外部と無線でデータの送受信を行う無線LANモジュール700が装着されている。更にその下部のスロット1800には、スマートデバイス50の姿勢を検知する姿勢検知モジュール800が取り付けられている。姿勢検知モジュール800は、3軸のジャイロセンサから取得する角速度情報を利用することで、スマートデバイス50の姿勢の変化を検知する。スパイン102の左側の下部のスロット1900には、TDMA、CDMA、LTE等の単数或いは複数の各種遠距離通信機能を有する移動体通信モジュール900が装着されている。ここで、TDMAは、Time Division Multiple Access、CDMAは、Code Division Multiple Access、LTEは、Long Term Evolution である。スパイン102の右側の上部のスロット1600に対して、その下部に形成されたスロット1200には、スマートデバイス50全体の制御を行うアプリケーションプログラム制御モジュール200が装着されている。
前述のように、対応するアプリケーションプログラムがインストールされている場合は、アプリケーションプログラム制御モジュール200を介することで、所望する様々な機能を利用できる。例えば、専用の通話アプリケーションであれば、アプリケーションプロ
グラム制御モジュール200を介して移動体通信モジュール900を動作させることで、通話機能が利用可能となる。同様に、専用のインターネット接続アプリケーションであれば、アプリケーションプログラム制御モジュール200を介して無線LANモジュール700を動作させることで、インターネット接続によるウェブ閲覧機能が利用可能となる。また例えば、専用の撮影アプリケーションであれば、アプリケーションプログラム制御モジュール200を介して撮像モジュール500を動作させることで、各種の撮影機能を利用することができる。尚、このようなアプリケーションプログラムの機能は特に限定されるものではなく、またこれらの機能は公知であるため、個別の詳細な説明は省略する。
スロット1200の下部のスロット1400には、スマートデバイス50に電力を供給する電源モジュール400が装着されている。更にスパイン102の右側の下部のスロット1100には、撮影した画像データなどの各種データを保存する記録モジュール150が取り付けられている。尚、スマートデバイス本体100の背面側において、スロット1100、1200、1400、1500、1600、1700、1800、1900はいずれも略同一面となっている。
グラム制御モジュール200を介して移動体通信モジュール900を動作させることで、通話機能が利用可能となる。同様に、専用のインターネット接続アプリケーションであれば、アプリケーションプログラム制御モジュール200を介して無線LANモジュール700を動作させることで、インターネット接続によるウェブ閲覧機能が利用可能となる。また例えば、専用の撮影アプリケーションであれば、アプリケーションプログラム制御モジュール200を介して撮像モジュール500を動作させることで、各種の撮影機能を利用することができる。尚、このようなアプリケーションプログラムの機能は特に限定されるものではなく、またこれらの機能は公知であるため、個別の詳細な説明は省略する。
スロット1200の下部のスロット1400には、スマートデバイス50に電力を供給する電源モジュール400が装着されている。更にスパイン102の右側の下部のスロット1100には、撮影した画像データなどの各種データを保存する記録モジュール150が取り付けられている。尚、スマートデバイス本体100の背面側において、スロット1100、1200、1400、1500、1600、1700、1800、1900はいずれも略同一面となっている。
図2(a)〜2(d)は、本実施例のスマートデバイス本体100に取り付けられるモジュール150、200、300、350、400、500、600、700、800、900を示す概略図である。図2(a),2(b)にはそれぞれ、スマートデバイス本体100の正面側に取り付けられる表示操作モジュール300、スピーカモジュール350を、正面側から見たときの外観図と、背面側から見たときの外観図とを示す。図2(c),2(d)にはそれぞれ、スマートデバイス本体100の背面側に取り付けられる複数のモジュール(500、600、700、800、900、200、400、150)を、正面側から見たときの外観図と、背面側から見たときの外観図とを示す。
図2(b)に示すように、表示操作モジュール300、スピーカモジュール350の背面には、スマートデバイス本体100に設けられたEPM163、160と対向する位置に、磁性体360、356が設けられている。ここで用いられる磁性体360、356の材質としては、保磁力が小さく透磁率が大きい軟磁性体が好ましく、本実施例では鉄・コバルト・バナジウムの軟磁性合金であるHIPERCO(登録商標) 50が採用されている。更に、スマートデバイス本体100に設けられた本体側CMC143、140と対向する位置には、スマートデバイス本体100とデータの送受信を行うモジュール側非接触通信手段(以下、モジュール側CMCと称する)340、354が設けられている。磁性体360、356とモジュール側CMC340、354とは、それぞれ隣接して一対ずつ設けられている。
一方、図2(c)に示すように、撮像モジュール500、外部I/Oモジュール600の背面には、スマートデバイス本体100に設けられたEPM165、166と対向する位置に、磁性体560、660が設けられている。ここで、図2(c)には、撮像モジュール500、外部I/Oモジュール600の背面が示されているが、これは、スマートデバイス本体100を基準にすると、スマートデバイス本体100の正面側の図となる。同様に、無線LANモジュール700、姿勢検知モジュール800、移動体通信モジュール900の背面には、スマートデバイス本体100に設けられたEPM167〜169と対向する位置に、磁性体760、860、960が設けられている。更に、アプリケーションプログラム制御モジュール200、電源モジュール400、記録モジュール150の背面には、スマートデバイス本体100に設けられたEPM162、164、161と対向する位置に、磁性体260、460、156が設けられている。ここで用いられる磁性体560、660、760、860、960、260、460、156の材質としても、やはり軟磁性体が好ましい。
本体側CMC145〜149、142、144、141と対向する位置には、スマート
デバイス本体100とデータの送受信を行うモジュール側CMC540、640、740、840、940、240、440、154が設けられている。磁性体560、660、760、860、960、260、460、156とモジュール側CMC540、640、740、840、940、240、440、154とは、それぞれ隣接して設けられている。そして、磁性体とモジュール側CMCの対は、撮像モジュール500、外部I/Oモジュール600、無線LANモジュール700、姿勢検知モジュール800、移動体通信モジュール900、記録モジュール150ではそれぞれ一対ずつ設けられている。また、磁性体とモジュール側CMCの対は、アプリケーションプログラム制御モジュール200、電源モジュール400ではそれぞれ二対ずつ設けられている。
デバイス本体100とデータの送受信を行うモジュール側CMC540、640、740、840、940、240、440、154が設けられている。磁性体560、660、760、860、960、260、460、156とモジュール側CMC540、640、740、840、940、240、440、154とは、それぞれ隣接して設けられている。そして、磁性体とモジュール側CMCの対は、撮像モジュール500、外部I/Oモジュール600、無線LANモジュール700、姿勢検知モジュール800、移動体通信モジュール900、記録モジュール150ではそれぞれ一対ずつ設けられている。また、磁性体とモジュール側CMCの対は、アプリケーションプログラム制御モジュール200、電源モジュール400ではそれぞれ二対ずつ設けられている。
図3(a)、3(b)は、本実施例のスマートデバイス本体100に、複数のモジュール150、200、300、350、400、500、600、700、800、900を取り付ける方法を説明するための図である。図3(a)は、スマートデバイス本体100の正面側に、モジュール300、350を取り付ける方法を説明するための図である。図3(b)は、スマートデバイス本体100の背面側に、モジュール500、600、700、800、900、200、400、150を取り付ける方法を説明するための図である。
図3(a)に示すように、表示操作モジュール300及びスピーカモジュール350は、スマートデバイス本体100に対して、リブ101に沿って側面方向からスライドさせて取り付けられる。このとき、表示操作モジュール300及びスピーカモジュール350は、図3(a)において、スマートデバイス本体100の左側面、或いは右側面のどちら側からでも挿入することができる。
図3(a)に示すように、表示操作モジュール300及びスピーカモジュール350は、スマートデバイス本体100に対して、リブ101に沿って側面方向からスライドさせて取り付けられる。このとき、表示操作モジュール300及びスピーカモジュール350は、図3(a)において、スマートデバイス本体100の左側面、或いは右側面のどちら側からでも挿入することができる。
図3(b)に示すように、撮像モジュール500、無線LANモジュール700、姿勢検知モジュール800、移動体通信モジュール900は、スマートデバイス本体100に対して、左側面からスライドさせて取り付けられる。左側面から各モジュールをスパイン102に突き当てることにより、スマートデバイス本体100に対してモジュール500、700、800、900の位置が決定する。また、外部I/Oモジュール600、アプリケーションプログラム制御モジュール200、電源モジュール400、記録モジュール150は、図3(b)において、スマートデバイス本体100に対して右側面からスライドさせて取り付けられる。右側面から各モジュールをスパイン102に突き当てることにより、スマートデバイス本体100に対してモジュール600、200、400、100の位置が決定する。
本実施例において、図3(b)のようにスマートデバイス本体100の背面側に設けられたスロットは、サイズによって3種類に大別される。まず、スロット1500、1600、1700、1100は同じ種類のスロットであり、例えば撮像モジュール500はこの4箇所のうち、どのスロットを選択して装着しても構わない。また、最も大きいスロット1200、1400は同じ種類のスロットであり、例えばアプリケーションプログラム制御モジュール200はこの2箇所のうち、どちらのスロットを選択して装着しても構わない。同様に、最も小さいスロット1800、1900は同じ種類のスロットであり、例えば姿勢検知モジュール800はこの2箇所のうち、どちらのスロットを選択して装着しても構わない。
図4(a)、4(b)は、本実施例のスマートデバイス本体100に設けられたEPM165と、撮像モジュール500に設けられた磁性体560との磁力による結合を説明するための模式図である。図4(a)は、スマートデバイス本体100と撮像モジュール500とが磁力による結合をしていない状態を示す部分拡大図である。図4(b)は、スマートデバイス本体100と撮像モジュール500とが磁力による結合をしている状態を示す部分拡大図である。尚、図4(a)、4(b)は、磁力による結合を示す例としてEP
M165と磁性体560との組み合わせを示すものであるが、他のEPMと磁性体との組み合わせについても同様である。
M165と磁性体560との組み合わせを示すものであるが、他のEPMと磁性体との組み合わせについても同様である。
図4(a)に示すようにEPM165は、極性が固定された永久磁石165aと、永電磁石165bとの両側面を、磁性体165cによって連結・保持した構造となっている。ここで用いる永久磁石165aには、例えば磁束密度が非常に高いネオジム磁石などが適している。また永電磁石165bは、アルニコ等の硬磁性体からなる可逆性の永久磁石165dと、この永久磁石165dの周りに巻かれたコイル165eとから構成されている。コイル165eに電流を流すと、可逆性の永久磁石165dは一方向に着磁され、通電が終了した後もそのまま着磁状態を保持する。コイル165eに対する通電時間は1〜数秒程度であり、比較的短い時間である。こうして永電磁石165bは、コイル165eに流す電流の向きを変えることにより、極性が可変な永電磁石となる。
図4(a)に示す状態でコイル165eに対して通電すると、可逆性の永久磁石165dを着磁して、永電磁石165bは極性が固定された永久磁石165aの磁力線の向きと引き合う向きの磁力線を発生させる。その結果、永電磁石165bの磁力線と永久磁石165aの磁力線とが互いに閉じたループ形状となり、モジュール500の磁性体560を吸着しようとする磁力は非常に弱くなる。そのためモジュール500は、EPM165から吸着力を受けずに解放される。
図4(a)に示す状態でコイル165eに対して通電すると、可逆性の永久磁石165dを着磁して、永電磁石165bは極性が固定された永久磁石165aの磁力線の向きと引き合う向きの磁力線を発生させる。その結果、永電磁石165bの磁力線と永久磁石165aの磁力線とが互いに閉じたループ形状となり、モジュール500の磁性体560を吸着しようとする磁力は非常に弱くなる。そのためモジュール500は、EPM165から吸着力を受けずに解放される。
一方、図4(b)に示すように、図4(a)とは逆方向にコイル165eに対して通電すると、可逆性の永久磁石165dを着磁して、永電磁石165bは極性が固定された永久磁石165aの磁力線の向きと反発し合う向きの磁力線を発生させる。その結果、永電磁石165bの磁力線と永久磁石165aの磁力線とが互いに強め合って、モジュール500に設けられた磁性体560を吸着する磁力が非常に高まる。そのためモジュール500は、EPM165から吸着力を受けてスマートデバイス本体100に固着される。このように本実施例では、着脱手段にEPMを採用することで、各モジュールの着脱の作業性と信頼性との両立を実現している。
図5は、本実施例のスマートデバイス50の構成の一部を示すブロック図である。以下、スマートデバイス本体100、アプリケーションプログラム制御モジュール200、表示操作モジュール300、電源モジュール400、撮像モジュール500、外部I/Oモジュール600、姿勢検知モジュール800の各構成を説明する。尚、スマートデバイス本体100に装着可能なモジュールは多種多様であり、またモジュールを装着するスロットもユーザにより自由に選択可能であり、図5に示す組み合わせは単なる一例に過ぎず、これに限定されるものではない。
<スマートデバイス本体100の構成>
スマートデバイス本体100は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100に装着された各モジュールに関する制御を行う。スマートデバイス本体100において、110はスマートデバイス本体100全体を制御するシステム制御回路である。システム制御回路110は、カーネルやOSを実行させた環境で各種アプリケーションプログラムを実行する際、アプリケーションプログラム制御モジュール200が備えるアプリケーションプログラム制御回路210の指示や要求に応じて、協調動作を行う。そしてシステム制御回路110は、スマートデバイス本体100と各モジュールとを連携して動作させることが可能となっており、アプリケーションプログラム制御回路210が有する各種サービス、機能を実行することが可能である。
スマートデバイス本体100は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100に装着された各モジュールに関する制御を行う。スマートデバイス本体100において、110はスマートデバイス本体100全体を制御するシステム制御回路である。システム制御回路110は、カーネルやOSを実行させた環境で各種アプリケーションプログラムを実行する際、アプリケーションプログラム制御モジュール200が備えるアプリケーションプログラム制御回路210の指示や要求に応じて、協調動作を行う。そしてシステム制御回路110は、スマートデバイス本体100と各モジュールとを連携して動作させることが可能となっており、アプリケーションプログラム制御回路210が有する各種サービス、機能を実行することが可能である。
112は、システム制御回路110が直接アクセスして読み書きを行うメモリである。114は、システム制御回路110の動作用の定数、変数、プログラム、各スロットの位
置情報等を記憶し、電気的に消去・記録可能な不揮発性メモリであり、例えばフラッシュメモリ等が用いられる。各スロットの位置情報とは、スマートデバイス本体100の背面側に設けられたスロット1100、1200、1400、1500、1600、1700、1800、1900のそれぞれ個別の位置情報を含んでいる。そして各スロットの位置情報は、各スロットにおいて、モジュールを装着した際にその位置を決定することになる、各リブ101やスパイン102の突き当て面の座標を特定するためのものである。尚、本実施例では、各モジュールの位置決めを、リブ101とスパイン102への突き当てにより行っているが、これに限定されるものではない。例えば、スマートデバイス本体100に位置決め用の凸部を設け、各モジュールに凸部と嵌合する凹部を設けるなどの構成であってもよい。この場合、各スロットの位置情報には、位置決め用の凸部の位置情報が含まれることになる。
置情報等を記憶し、電気的に消去・記録可能な不揮発性メモリであり、例えばフラッシュメモリ等が用いられる。各スロットの位置情報とは、スマートデバイス本体100の背面側に設けられたスロット1100、1200、1400、1500、1600、1700、1800、1900のそれぞれ個別の位置情報を含んでいる。そして各スロットの位置情報は、各スロットにおいて、モジュールを装着した際にその位置を決定することになる、各リブ101やスパイン102の突き当て面の座標を特定するためのものである。尚、本実施例では、各モジュールの位置決めを、リブ101とスパイン102への突き当てにより行っているが、これに限定されるものではない。例えば、スマートデバイス本体100に位置決め用の凸部を設け、各モジュールに凸部と嵌合する凹部を設けるなどの構成であってもよい。この場合、各スロットの位置情報には、位置決め用の凸部の位置情報が含まれることになる。
116は識別情報であり、スマートデバイス本体100が各モジュールと通信を行う際に必要な各種識別情報が格納されている。118は、スマートデバイス本体100の所定箇所の温度を計測するための単数或いは複数の温度センサである。120は、システム制御回路110を介してスマートデバイス本体100の各部に必要な所定の電圧・電流を供給する電源制御回路である。
122は、スマートデバイス本体100の電源制御回路120及びコネクタ182〜186、188の電源端子に接続される電源バスである。コネクタ182〜186、188の電源端子はそれぞれ、各モジュールのコネクタ280、380、480、580、680、880の電源端子を介して、各モジュールの電源制御回路220、320、520、620、820、電池制御回路410と接続する。
122は、スマートデバイス本体100の電源制御回路120及びコネクタ182〜186、188の電源端子に接続される電源バスである。コネクタ182〜186、188の電源端子はそれぞれ、各モジュールのコネクタ280、380、480、580、680、880の電源端子を介して、各モジュールの電源制御回路220、320、520、620、820、電池制御回路410と接続する。
130はスイッチインタフェース回路であり、本体側CMC142〜146、148を介して、各モジュールとのデータやメッセージの高速な通信を切り替え中継する。本体側CMC142〜146、148は、誘導結合(インダクティブカップリング)方式により接触近接通信を行い、それぞれモジュール側CMC240、340、440、540、640、840と高速通信を行う。尚、本体側CMC142〜146、148と、これに近接するモジュール側CMCとの組み合わせは、ユーザの意図に応じて適宜変更されるものであり、図5のブロック図に示す組み合わせは単なる一例に過ぎない。
EPM162〜166、168は、それぞれモジュールの磁性体260、360、460、560、660、860を磁力制御により吸着或いは非吸着する。これによりEPM162〜166、168は、各モジュールをスマートデバイス本体100のフレーム構造と各モジュールとの接続箇所において、固定(ロック)或いは解放(リリース)する。尚、EPM162〜166、168と、これに接続するモジュール側の磁性体との組み合わせは、ユーザの意図に応じて適宜変更されるものであり、図5のブロック図に示す組み合わせは単なる一例に過ぎない。
EPM162〜166、168は、それぞれモジュールの磁性体260、360、460、560、660、860を磁力制御により吸着或いは非吸着する。これによりEPM162〜166、168は、各モジュールをスマートデバイス本体100のフレーム構造と各モジュールとの接続箇所において、固定(ロック)或いは解放(リリース)する。尚、EPM162〜166、168と、これに接続するモジュール側の磁性体との組み合わせは、ユーザの意図に応じて適宜変更されるものであり、図5のブロック図に示す組み合わせは単なる一例に過ぎない。
コネクタ182〜186、188は、それぞれモジュールのコネクタ280、380、480、580、680、880と接続する。このことにより、電源関係(パワーバス、グラウンド)の端子群を、スマートデバイス本体100と各モジュール間で相互に使用可能とする。更に、モジュールの装着を示す検出(Detect)信号の端子、モジュールのスリープ解除を示す起動(Wake)信号の端子、アンテナの配線をつなぐRF信号の端子などの各機能についても同様に、相互に使用可能とするものである。ここで、本実施例におけるコネクタ182〜186、188は、スマートデバイス本体100のリブ101やスパイン102の側面部に形成された一般的な小型の金属端子であるが、図1〜3に示す位置からは視認できないため不図示とする。尚、コネクタ182〜186、188と、これに接続するモジュール側のコネクタの組み合わせは、ユーザの意図に応じて適宜変更されるものであり、図5のブロック図に示す組み合わせは単なる一例に過ぎない。
<アプリケーションプログラム制御モジュール200の構成>
アプリケーションプログラム制御モジュール200は、アプリケーションプログラム制御回路210の動作により、スマートデバイス本体100とこれに装着された各モジュールを含めた全体システムを統括制御する。例えば、アプリケーションプログラム制御回路210は、表示操作モジュール300が備える表示操作制御回路310を介して、表示部312であるLCDパネルを制御し、各種情報の表示(通知)を行うことが可能である。また、アプリケーションプログラム制御回路210は、表示操作モジュール300が備える表示操作制御回路310を介して、操作入力手段314としてのタッチパネル又はボタンが受け付けた操作入力情報を取得することができる。そして、その操作入力内容に応じて、カーネルのサービスやOSのサービス、各種アプリケーションプログラムによる処理を実行させることが可能である。
アプリケーションプログラム制御モジュール200は、アプリケーションプログラム制御回路210の動作により、スマートデバイス本体100とこれに装着された各モジュールを含めた全体システムを統括制御する。例えば、アプリケーションプログラム制御回路210は、表示操作モジュール300が備える表示操作制御回路310を介して、表示部312であるLCDパネルを制御し、各種情報の表示(通知)を行うことが可能である。また、アプリケーションプログラム制御回路210は、表示操作モジュール300が備える表示操作制御回路310を介して、操作入力手段314としてのタッチパネル又はボタンが受け付けた操作入力情報を取得することができる。そして、その操作入力内容に応じて、カーネルのサービスやOSのサービス、各種アプリケーションプログラムによる処理を実行させることが可能である。
212は、アプリケーションプログラム制御回路210が直接アクセスして読み書きを行うメモリである。214は、アプリケーションプログラム制御回路210の動作用の定数、変数、プログラム等を記憶し、電気的に消去・記録可能な不揮発性メモリであり、例えばフラッシュメモリ等が用いられる。216は識別情報であり、アプリケーションプログラム制御モジュール200がスマートデバイス本体100及び各モジュールと通信を行う際に必要な各種識別情報が格納されている。220は、アプリケーションプログラム制御モジュール200の各部に必要な所定の電圧・電流を供給する電源制御回路である。222は、アプリケーションプログラム制御モジュール200の所定箇所の温度を計測するための単数或いは複数の温度センサである。230はインタフェース回路であり、モジュール側CMC240を介して、スマートデバイス本体100及び各モジュールとのデータやメッセージの高速な通信を中継する。
290は、各専用アプリケーションプログラムを実行する上で必要となる複数の管理ファイルの情報を記憶した管理テーブルである。管理ファイルの情報には、各専用アプリケーションプログラムを実行する際に不可欠なモジュールの種類や、所望の機能を最大限に活用できる該当モジュールの組み合わせや、該当モジュールを装着するのに最適な各スロットの位置関係などが含まれる。また本実施例では、管理ファイルの情報として、各専用アプリケーションプログラムに必須ではないものの、機能追加に有効なモジュールの種類などを含んでおり、ユーザに多くの選択肢を提供することで利便性を高めている。こうした管理ファイルの情報は、本実施例では、アプリケーションプログラム制御回路210が、管理テーブル290から取得するものであるが、これに限定されるものではない。管理ファイルの情報はメモリ212や不揮発性メモリ214に記憶させてもよい。この場合の管理ファイルの情報は、アプリケーションプログラム制御回路210が、メモリ212や不揮発性メモリ214から取得することになる。
<表示操作モジュール300の構成>
表示操作モジュール300は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100の制御により、各種情報の表示、操作入力の取得を行う。表示操作モジュール300において、310は表示操作モジュール300全体を制御する表示操作制御回路である。表示部312には、LCD、OLED、LED等の表示デバイスが該当するが、本実施例ではLCDパネルを採用している。操作入力手段314には、タッチパネル(TP)、操作ボタン等の操作デバイスが該当し、タッチパネルと操作ボタンとは、独立して構成しても一体として構成してもいずれであっても構わない。尚、本実施例では、タッチパネルと操作ボタンとが独立して構成されている。
表示操作モジュール300は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100の制御により、各種情報の表示、操作入力の取得を行う。表示操作モジュール300において、310は表示操作モジュール300全体を制御する表示操作制御回路である。表示部312には、LCD、OLED、LED等の表示デバイスが該当するが、本実施例ではLCDパネルを採用している。操作入力手段314には、タッチパネル(TP)、操作ボタン等の操作デバイスが該当し、タッチパネルと操作ボタンとは、独立して構成しても一体として構成してもいずれであっても構わない。尚、本実施例では、タッチパネルと操作ボタンとが独立して構成されている。
表示部312は、アプリケーションプログラム制御モジュール200のアプリケーションプログラム制御回路210の指示に応じて、表示操作制御回路310によりユーザに対する各種情報の表示を行う。また、操作入力手段314へのユーザによるタッチパネル操
作やボタン操作等の入力操作と、マイク部318が検出した音声信号とは、表示操作制御回路310を介して、アプリケーションプログラム制御回路210に伝達される。
316は識別情報で、表示操作モジュール300がスマートデバイス本体100及び各モジュールと通信を行う際に必要な各種識別情報が格納されている。320は、表示操作モジュール300の各部に必要な所定の電圧・電流を供給する電源制御回路である。322は、表示操作モジュール300の所定箇所の温度を計測するための単数或いは複数の温度センサである。330はインタフェース回路であり、モジュール側CMC340を介して、スマートデバイス本体100及び各モジュールとのデータやメッセージの高速な通信を中継する。
作やボタン操作等の入力操作と、マイク部318が検出した音声信号とは、表示操作制御回路310を介して、アプリケーションプログラム制御回路210に伝達される。
316は識別情報で、表示操作モジュール300がスマートデバイス本体100及び各モジュールと通信を行う際に必要な各種識別情報が格納されている。320は、表示操作モジュール300の各部に必要な所定の電圧・電流を供給する電源制御回路である。322は、表示操作モジュール300の所定箇所の温度を計測するための単数或いは複数の温度センサである。330はインタフェース回路であり、モジュール側CMC340を介して、スマートデバイス本体100及び各モジュールとのデータやメッセージの高速な通信を中継する。
<電源モジュール400の構成>
電源モジュール400は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100の電源バスを介して電池420の放電・充電を行う。電源モジュール400において、410は電池420の放電・充電制御を含め、電源モジュール400全体を制御する電池制御回路であり、電源モジュール400の各部に必要な所定の電圧・電流を供給する。416は識別情報であり、電源モジュール400がスマートデバイス本体100及び各モジュールと通信を行う際に必要な各種識別情報が格納されている。
電池420には、Li−ion電池、燃料電池等が該当する。電池420は、電池制御回路410によりコネクタ480を介して、スマートデバイス本体100及び各モジュールに対して放電すると共に、スマートデバイス本体100及び不図示の充電モジュールから充電される。422は、電源モジュール400の所定箇所の温度を計測するための単数或いは複数の温度センサである。430はインタフェース回路であり、モジュール側CMC440を介して、スマートデバイス本体100及び各モジュールとのデータやメッセージの高速な通信を中継する。
電源モジュール400は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100の電源バスを介して電池420の放電・充電を行う。電源モジュール400において、410は電池420の放電・充電制御を含め、電源モジュール400全体を制御する電池制御回路であり、電源モジュール400の各部に必要な所定の電圧・電流を供給する。416は識別情報であり、電源モジュール400がスマートデバイス本体100及び各モジュールと通信を行う際に必要な各種識別情報が格納されている。
電池420には、Li−ion電池、燃料電池等が該当する。電池420は、電池制御回路410によりコネクタ480を介して、スマートデバイス本体100及び各モジュールに対して放電すると共に、スマートデバイス本体100及び不図示の充電モジュールから充電される。422は、電源モジュール400の所定箇所の温度を計測するための単数或いは複数の温度センサである。430はインタフェース回路であり、モジュール側CMC440を介して、スマートデバイス本体100及び各モジュールとのデータやメッセージの高速な通信を中継する。
<撮像モジュール500の構成>
撮像モジュール500は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100によって制御され、所定の範囲(撮影範囲)からの光を受光して所望の撮像処理を行う。撮像モジュール500において510は、光軸上に光学レンズ(光学素子)を複数配置したカメラである。更にカメラ510は、通過する光量を調節する絞り機構と、光軸方向に少なくとも一枚のレンズを移動させて焦点調節を行うAF機構と、これらの構成部品を内部に収納するレンズ鏡筒とで構成されている。またカメラ510は、光電変換により画像データを得る撮像センサと、画像データを処理する画像処理回路と、各機構を制御する駆動制御回路とを備える。
撮像モジュール500は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100によって制御され、所定の範囲(撮影範囲)からの光を受光して所望の撮像処理を行う。撮像モジュール500において510は、光軸上に光学レンズ(光学素子)を複数配置したカメラである。更にカメラ510は、通過する光量を調節する絞り機構と、光軸方向に少なくとも一枚のレンズを移動させて焦点調節を行うAF機構と、これらの構成部品を内部に収納するレンズ鏡筒とで構成されている。またカメラ510は、光電変換により画像データを得る撮像センサと、画像データを処理する画像処理回路と、各機構を制御する駆動制御回路とを備える。
カメラ510は、絞りやシャッター速度や撮像センサの感度を最適に設定する自動露出調節(AE)、被写体距離に応じた自動焦点調節(AF)、色温度を調節して適正な色調を再現する自動ホワイトバランス(AWB)などの制御を実現する。他にも本実施例では、姿勢検知モジュール800で取得した角速度情報から手ブレを算出し、撮像センサ上で切り出した露光範囲を追従させることで、簡易的に手ブレ補正(IS)を行うことが可能である。尚、本実施例ではこうした撮像装置の一般的な制御方法を限定するものではなく、例えば手ブレ補正手段は、少なくとも1つのレンズを光軸と直交する方向に駆動する構成であってもよい。またこうした構成は公知であるため、個別の詳細な説明は省略する。
カメラ510への指示は、アプリケーションプログラム制御回路210で実行されるアプリケーションプログラムや、表示操作モジュール300の操作入力手段314に対する入力に応じて行われる。カメラ510により取得した画像データは、アプリケーションプログラム制御回路210が、スマートデバイス本体100と表示操作モジュール300とを制御することで、表示部312に表示可能となる。
尚、カメラ510の仕様は多種多様であり、焦点距離や撮像センサのサイズ等は一律ではなく、更に所謂電動ズームと称されるような、変倍レンズを光軸方向に駆動するレンズ駆動手段を備えた構成であってもよい。この場合、アプリケーションプログラム制御回路210の指示に応じて、レンズ駆動手段がカメラ510の焦点距離を光学的に変更することが可能となる。また、カメラ510は、撮影可能範囲よりも小さな任意の撮影範囲を切り出すトリミング手段を備える構成であってもよい。この場合、アプリケーションプログラム制御回路210の指示に応じて、トリミング手段が撮像センサによって取り込まれた画像データの一部を切り出し、見かけの焦点距離を電子的に変更することが可能となる。
516は識別情報で、撮像モジュール500がスマートデバイス本体100及び各モジュールと通信を行う際に必要な各種識別情報が格納されている。520は、撮像モジュール500の各部に必要な所定の電圧・電流を供給する電源制御回路である。
尚、カメラ510の仕様は多種多様であり、焦点距離や撮像センサのサイズ等は一律ではなく、更に所謂電動ズームと称されるような、変倍レンズを光軸方向に駆動するレンズ駆動手段を備えた構成であってもよい。この場合、アプリケーションプログラム制御回路210の指示に応じて、レンズ駆動手段がカメラ510の焦点距離を光学的に変更することが可能となる。また、カメラ510は、撮影可能範囲よりも小さな任意の撮影範囲を切り出すトリミング手段を備える構成であってもよい。この場合、アプリケーションプログラム制御回路210の指示に応じて、トリミング手段が撮像センサによって取り込まれた画像データの一部を切り出し、見かけの焦点距離を電子的に変更することが可能となる。
516は識別情報で、撮像モジュール500がスマートデバイス本体100及び各モジュールと通信を行う際に必要な各種識別情報が格納されている。520は、撮像モジュール500の各部に必要な所定の電圧・電流を供給する電源制御回路である。
522は、カメラ510の動作用の定数、変数、構成部品の位置情報、撮影範囲情報、光軸の誤差情報、レンズの誤差情報等を記憶し、電気的に消去・記録可能な不揮発性メモリであり、例えばフラッシュメモリ等が用いられる。ここで、構成部品の位置情報には、撮像モジュール500の外部から見た光軸の座標情報が含まれる。前述のように、撮像モジュール500は、スマートデバイス本体100に対してその外形を突き当てることで位置が決定される。尚、本実施例では撮像モジュール500の位置決めを、スマートデバイス本体100のリブ101とスパイン102への突き当てにより行っているが、これに限定されるものではない。例えば、スマートデバイス本体100に位置決め用の凸部を設け、撮像モジュール500に凸部と嵌合する凹部を設けるなどしてもよい。この場合、構成部品の位置情報には、凸部と嵌合する凹部から見た光軸の座標情報が含まれることになる。
一方、撮影範囲情報には、撮像モジュール500の外部から見た像面の座標情報と、レンズの焦点距離情報と、レンズの画角情報と、撮像センサの有効範囲情報と、が含まれている。この撮影範囲情報は、撮像モジュール500の種類に対応するものであるとよい。カメラ510の撮影範囲は、撮像モジュール500の外部から見た像面の高さZ500と、レンズの焦点距離f500と、水平方向における半画角θx500と、垂直方向における半画角θy500と、から幾何学的に算出されるものである。ここで、水平方向における半画角θx500は撮影範囲の左端から右端までの全画角に対して片側のみの画角を示しており、垂直方向における半画角θy500は撮影範囲の上端から下端までの全画角に対して片側のみの画角を示している。そして例えば、スロット1500の表面から見て任意の距離Lだけ離れた位置では、カメラ510の光軸上における水平方向の撮影範囲X500は、下記式1に示す計算式によって求められる。
[式1]
X500=(L−Z500−f500)×TAN(θx500)×2
これと同様に、カメラ510の光軸上における垂直方向の撮影範囲Y500は、下記式2に示す計算式によって求められる。
[式2]
Y500=(L−Z500−f500)×TAN(θy500)×2
[式1]
X500=(L−Z500−f500)×TAN(θx500)×2
これと同様に、カメラ510の光軸上における垂直方向の撮影範囲Y500は、下記式2に示す計算式によって求められる。
[式2]
Y500=(L−Z500−f500)×TAN(θy500)×2
もし仮に、カメラ510が前述のレンズ駆動手段やトリミング手段を備える場合は、レンズの焦点距離f500と、水平方向における半画角θx500と、垂直方向における半画角θy500との数値を、焦点距離の変化に応じて変更する必要がある。これらの数値を変更する制御は、焦点距離の変化に応じて、その都度不図示の計算式を用いて算出するものでもよい。また、広角端から望遠端までのそれぞれの数値の組み合わせを予め管理テーブルとして不揮発性メモリ522に記憶させておき、焦点距離の変化に応じて、対応す
る組み合わせを取得する制御であってもよい。尚、本実施例はこうした撮像装置の一般的な制御方法を限定するものではなく、またこれらは公知であるため、個別の詳細な説明は省略する。
る組み合わせを取得する制御であってもよい。尚、本実施例はこうした撮像装置の一般的な制御方法を限定するものではなく、またこれらは公知であるため、個別の詳細な説明は省略する。
光軸の誤差情報には、例えば部品や組立の精度により製造誤差として生じる、カメラ510の光軸の傾きの誤差が含まれる。一方、レンズの誤差情報には、例えば製造誤差として生じる焦点距離の誤差やF値の誤差、歪曲、光軸を回転中心とする撮像センサの角度誤差などが含まれる。こうした製造誤差に関する情報を不揮発性メモリ522に記憶させることで、アプリケーションプログラム制御回路210の処理においてこれらの誤差を補正することが可能となる。
530はインタフェース回路であり、モジュール側CMC540を介して、スマートデバイス本体100及び各モジュールとのデータやメッセージの高速な通信を中継する。
530はインタフェース回路であり、モジュール側CMC540を介して、スマートデバイス本体100及び各モジュールとのデータやメッセージの高速な通信を中継する。
<外部I/Oモジュール600の構成>
外部I/Oモジュール600は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100によって制御され、外部接続端子との通信を行う。
外部I/Oモジュール600において610は、例えばコネクタ形状やピン配置が規格化されたUSB端子、HDMI(登録商標)端子、フォーン端子などの複数の外部接続端子に対応する(接続可能な)外部コネクタである。外部コネクタ610の制御は、アプリケーションプログラム制御回路210で実行されるアプリケーションプログラムや、表示操作モジュール300の操作入力手段314に対する入力に応じて行われ、電気信号の入力と出力とを切り替えることが可能である。またアプリケーションプログラム制御回路210は、外部コネクタ610を介して外部接続端子の接続の有無を検知するものである。
616は識別情報で、外部I/Oモジュール600がスマートデバイス本体100及び各モジュールと通信を行う際に必要な各種識別情報が格納されている。620は、外部I/Oモジュール600の各部に必要な所定の電圧・電流を供給する電源制御回路である。
外部I/Oモジュール600は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100によって制御され、外部接続端子との通信を行う。
外部I/Oモジュール600において610は、例えばコネクタ形状やピン配置が規格化されたUSB端子、HDMI(登録商標)端子、フォーン端子などの複数の外部接続端子に対応する(接続可能な)外部コネクタである。外部コネクタ610の制御は、アプリケーションプログラム制御回路210で実行されるアプリケーションプログラムや、表示操作モジュール300の操作入力手段314に対する入力に応じて行われ、電気信号の入力と出力とを切り替えることが可能である。またアプリケーションプログラム制御回路210は、外部コネクタ610を介して外部接続端子の接続の有無を検知するものである。
616は識別情報で、外部I/Oモジュール600がスマートデバイス本体100及び各モジュールと通信を行う際に必要な各種識別情報が格納されている。620は、外部I/Oモジュール600の各部に必要な所定の電圧・電流を供給する電源制御回路である。
622は、外部I/Oモジュール600の動作用の定数、変数、モジュールの外形情報等を記憶し、電気的に消去・記録可能な不揮発性メモリであり、例えばフラッシュメモリ等が用いられる。詳しくは後述するが、モジュールの外形情報には、外部I/Oモジュール600の外部から見た突出部690の座標情報、特に外部I/Oモジュール600の外部から見た突出部690の厚みZ600が含まれる。
外部I/Oモジュール600は、他の標準的な外形のモジュールとは異なり、外部接続端子を挿入するために、本来であれば平坦となるスマートデバイス50の表面から外部コネクタ610とその周囲の外装カバーが盛り上がっている。そのため、例えば図1(d)に示すように、撮像モジュール500と外部I/Oモジュール600とが近接した位置関係にあった場合は、撮影範囲内に外部コネクタ610を含むこの突出部690が障害物として進入するおそれがある。このような場合には、出力される画像に突出部690の一部が写り込むなどして、撮影結果に影響を及ぼしてしまうことが懸念される。
外部I/Oモジュール600は、他の標準的な外形のモジュールとは異なり、外部接続端子を挿入するために、本来であれば平坦となるスマートデバイス50の表面から外部コネクタ610とその周囲の外装カバーが盛り上がっている。そのため、例えば図1(d)に示すように、撮像モジュール500と外部I/Oモジュール600とが近接した位置関係にあった場合は、撮影範囲内に外部コネクタ610を含むこの突出部690が障害物として進入するおそれがある。このような場合には、出力される画像に突出部690の一部が写り込むなどして、撮影結果に影響を及ぼしてしまうことが懸念される。
撮像モジュール500の撮影範囲は、前述の式1に示す計算式により求められる水平方向の撮影範囲X500と、式2に示す計算式により求められる垂直方向の撮影範囲Y500と、で規定される。突出部690の厚みZ600はスロット1600の表面から見た距離であり、詳しくは後述するが、前述の任意の距離Lに当てはめて計算すると、この突出部690によって撮像モジュール500の撮影範囲が遮られるかどうかが判定できる。またこのとき、外部コネクタ610に対して外部接続端子が接続されているような場合には、外部接続端子の外形やケーブル等が撮影範囲内に進入しやすくなってしまうことが懸念される。そこで、外部接続端子の有無に応じて、撮影機能を調整して撮影機能の一部を制限する制御としてもよい。
外部I/Oモジュール600は、スマートデバイス本体100に対してその外形を突き当てることで位置が決定される。尚、本実施例では、外部I/Oモジュール600の位置決めを、スマートデバイス本体100のリブ101とスパイン102への突き当てにより行っているが、これに限定されるものではない。例えば、スマートデバイス本体100に位置決め用の凸部を設け、外部I/Oモジュール600に凸部と嵌合する凹部を設けるなどしてもよい。この場合、構成部品の位置情報には、凸部と嵌合する凹部から見た突出部の座標情報が含まれることになる。
630はインタフェース回路であり、モジュール側CMC640を介して、スマートデバイス本体100及び各モジュールとのデータやメッセージの高速な通信を中継する。
630はインタフェース回路であり、モジュール側CMC640を介して、スマートデバイス本体100及び各モジュールとのデータやメッセージの高速な通信を中継する。
<姿勢検知モジュール800の構成>
姿勢検知モジュール800は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100によって制御され、スマートデバイス50の姿勢の変化を検知する。姿勢検知モジュール800において、810は3軸のジャイロセンサから角速度情報を取得するジャイロセンサである。816は識別情報であり、姿勢検知モジュール800がスマートデバイス本体100及び各モジュールと通信を行う際に必要な各種識別情報が格納されている。820は、姿勢検知モジュール800の各部に必要な所定の電圧・電流を供給する電源制御回路である。822は、姿勢検知モジュール800の所定箇所の温度を計測するための単数或いは複数の温度センサである。
姿勢検知モジュール800は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100によって制御され、スマートデバイス50の姿勢の変化を検知する。姿勢検知モジュール800において、810は3軸のジャイロセンサから角速度情報を取得するジャイロセンサである。816は識別情報であり、姿勢検知モジュール800がスマートデバイス本体100及び各モジュールと通信を行う際に必要な各種識別情報が格納されている。820は、姿勢検知モジュール800の各部に必要な所定の電圧・電流を供給する電源制御回路である。822は、姿勢検知モジュール800の所定箇所の温度を計測するための単数或いは複数の温度センサである。
830はインタフェース回路であり、モジュール側CMC840を介して、スマートデバイス本体100及び各モジュールとのデータやメッセージの高速な通信を中継する。インタフェース回路830は、ジャイロセンサ810で取得した角速度情報を、スマートデバイス本体100に送信する。そこから更に、スマートデバイス本体100は、アプリケーションプログラム制御モジュール200にデータを高速で転送する。こうして、姿勢検知モジュール800の角速度情報は、表示操作モジュール300における表示方向の切り替えや、撮像モジュール500の手ブレ補正などに用いられる。
<アプリケーションプログラム制御モジュール200の動作説明>
図6は、図5で説明したスマートデバイス50の動作において、アプリケーションプログラム制御モジュール200を中心とした主ルーチンの動作フローを示すフローチャートである。図5乃至図6を参照して、本実施例のアプリケーションプログラム制御モジュール200の代表的な動作を説明する。アプリケーションプログラム制御モジュール200の代表的な動作の1つは、次のような判定を行い、その判定結果に応じて所定の処理を行うことである。それは、撮像モジュール500と外部I/Oモジュール600に関する情報に基づいて、撮像モジュール500が受光する光に、外部I/Oモジュール600によって遮られる部分があるかどうかの判定である。
図6は、図5で説明したスマートデバイス50の動作において、アプリケーションプログラム制御モジュール200を中心とした主ルーチンの動作フローを示すフローチャートである。図5乃至図6を参照して、本実施例のアプリケーションプログラム制御モジュール200の代表的な動作を説明する。アプリケーションプログラム制御モジュール200の代表的な動作の1つは、次のような判定を行い、その判定結果に応じて所定の処理を行うことである。それは、撮像モジュール500と外部I/Oモジュール600に関する情報に基づいて、撮像モジュール500が受光する光に、外部I/Oモジュール600によって遮られる部分があるかどうかの判定である。
最初の電源OFF状態において、アプリケーションプログラム制御モジュール200とスマートデバイス本体100と表示操作モジュール300とは、低消費電力で動作する動作終了状態となっている。このとき、ユーザにより表示操作モジュール300の電源ボタン314aが操作されると、表示操作制御回路310は、アプリケーションプログラム制御回路210へ向けてスリープ解除を示す起動(Wake)信号を送信する。アプリケーションプログラム制御回路210は、表示操作制御回路310からの起動(Wake)信号を受信すると、S1100において初期設定を実行する。また本実施例では、全てのモジュールのコネクタ部に検出(Detect)信号の端子が設けられており、例えば空いているスロットに対して新たなモジュールを装着した際も同様に、検出(Detect)信号が送信されてS1100に移行するものである。
S1100において、アプリケーションプログラム制御回路210は、所定のフラグや制御変数等をリセットして初期化すると共に、アプリケーションプログラム制御モジュール200の各部の初期化を行う。続いて、アプリケーションプログラム制御回路210は、不揮発性メモリ214から読み出したソフトウェアプログラムを実行して、カーネル起動とOS起動を順次行う。その後、インタフェース回路230、モジュール側CMC240、本体側CMC142、スイッチインタフェース回路130を介して、スマートデバイス本体100のシステム制御回路110との通信の初期化を行う。システム制御回路110の初期化によって全てのモジュールは動作可能な状態となり、例えば表示操作モジュール300において、表示操作制御回路310は、表示部312としてのLCDパネルに所定の起動画面を表示させる。そして、表示操作モジュール300は、タッチパネルやボタンなどの操作入力手段314に対するユーザの入力指示が可能な状態に至る。
S1100を終えると、S1101に進む。ここで仮に、ユーザによって終了状態に移行する指示が入力されたならば、表示操作制御回路310は、アプリケーションプログラム制御回路210へ向けて終了メッセージを送信する。アプリケーションプログラム制御回路210は、終了メッセージを受信すると、スマートデバイス50の終了状態への移行を判断する。
S1100を終えると、S1101に進む。ここで仮に、ユーザによって終了状態に移行する指示が入力されたならば、表示操作制御回路310は、アプリケーションプログラム制御回路210へ向けて終了メッセージを送信する。アプリケーションプログラム制御回路210は、終了メッセージを受信すると、スマートデバイス50の終了状態への移行を判断する。
S1101で終了状態に移行する終了メッセージを受信したならば、S1120に進む。S1120で、アプリケーションプログラム制御回路210は、システム制御回路110に終了メッセージを送信した後、フラグや制御変数等を必要に応じて不揮発性メモリ214に退避する。それと共に、OS及びカーネルを低消費電力で動作する動作終了状態に移行する。そして、電源制御回路220を介したアプリケーションプログラム制御モジュール200とスマートデバイス本体100と表示操作モジュール300とへの電力供給を、低消費電力の設定に変更する終了処理を行う。システム制御回路110は、終了メッセージを受信すると、アプリケーションプログラム制御モジュール200とスマートデバイス本体100、表示操作モジュール300以外のモジュールの全ての動作を停止する処理を行う。S1120を終えたならば、アプリケーションプログラム制御回路210は、アプリケーションプログラム制御モジュール200の主ルーチンを終了し、所謂電源OFFの状態に至る。
S1101で、終了状態に移行する終了メッセージを受信しなかった場合、S1102に進む。S1102において、アプリケーションプログラム制御回路210は、表示操作モジュール300の表示操作制御回路310からスリープ状態に移行するスリープメッセージを受信したかどうかを判断する。表示操作制御回路310は、表示部312であるLCDパネルにスリープ処理に関する情報を表示して、タッチパネルやボタンなどの操作入力手段314に対するユーザの入力指示を可能とする。ここで仮に、ユーザによってスリープ状態に移行する指示が入力されたならば、表示操作制御回路310は、アプリケーションプログラム制御回路210にスリープ状態に移行するスリープメッセージを送信する。
S1102で、スリープ状態に移行するスリープメッセージを受信したならば、S1103に進む。S1103において、アプリケーションプログラム制御回路210は、システム制御回路110にスリープメッセージを送信した後、フラグや制御変数等を必要に応じて不揮発性メモリ214に退避する。それと共に、OS及びカーネルを低消費電力で動作するスリープ動作状態に移行する。そしてシステム制御回路110は、スリープメッセージを受信すると、スマートデバイス50の全てのモジュールの動作をスリープ状態に移行する処理を行う。
またこれと同様に、ユーザによる表示操作モジュール300への入力指示や、各モジュールから送信される起動(Wake)信号が所定の時間を経過しても受信されなかった場合、スリープメッセージを受信したのと同じようにS1103に進む。S1102におい
て、アプリケーションプログラム制御回路210は、最後に入力指示や起動(Wake)信号が受信されたタイミングから経過した時間を積算し、所定値と比較した結果、積算時間のほうが長ければスリープ状態に移行する。その後のスリープ処理については、前述した通りである。
またこれと同様に、ユーザによる表示操作モジュール300への入力指示や、各モジュールから送信される起動(Wake)信号が所定の時間を経過しても受信されなかった場合、スリープメッセージを受信したのと同じようにS1103に進む。S1102におい
て、アプリケーションプログラム制御回路210は、最後に入力指示や起動(Wake)信号が受信されたタイミングから経過した時間を積算し、所定値と比較した結果、積算時間のほうが長ければスリープ状態に移行する。その後のスリープ処理については、前述した通りである。
S1104において、アプリケーションプログラム制御回路210は、コネクタ280を介して、各モジュールから送信される起動(Wake)信号を受信したかどうか判断する。S1104で起動(Wake)信号を受信しなかったならば、起動(Wake)信号を受信するまでスリープ動作状態を継続する。ここで、本実施例におけるスリープ動作状態は、前述した電源OFFの状態とは異なる。例えば、移動体通信モジュール900が移動体通信の規格に準じた呼び出し信号を受信した際、アプリケーションプログラム制御回路210は、直ちにスマートデバイス50をスリープ動作状態から所定のアプリ実行状態へと移行させる。尚、こうした移動体無線通信システムの一般的な制御については、既に公知であるため詳しい説明を省略する。
S1104で起動(Wake)信号を受信したならば、S1105に進む。S1105において、アプリケーションプログラム制御回路210は、フラグや制御変数等を必要に応じて不揮発性メモリ214から戻す。それと共に、OS及びカーネルを通常消費電力で動作する通常動作状態に移行し、電源制御回路220を介したスマートデバイス50の全てのモジュールへの電力供給を通常消費電力の設定に変更する復帰処理を行う。更にS1105において、アプリケーションプログラム制御回路210は、スマートデバイス本体100のシステム制御回路110との通信の復帰処理を行う。このときシステム制御回路110は、アプリケーションプログラム制御モジュール200以外の全てのモジュールに対して復帰処理を行い、スマートデバイス50を通常動作状態に移行させて、S1101に戻る。
S1102でスリープ状態に移行するスリープメッセージを受信しなかった場合、S1106に進む。S1106において、アプリケーションプログラム制御回路210は、表示操作モジュール300の表示操作制御回路310からリリースメッセージを受信したかどうかを判断する。表示操作制御回路310は、表示部312であるLCDパネルにリリース処理に関する情報を表示して、タッチパネルやボタンなどの操作入力手段314に対するユーザの入力指示を可能とする。ここで仮に、ユーザによっていずれかのモジュールの取り外しを意図したリリース処理の指示が入力されたならば、表示操作制御回路310は、アプリケーションプログラム制御回路210にリリース状態に移行するリリースメッセージを送信するものである。
S1106でリリース状態に移行するリリースメッセージを受信したならば、S1107に進む。S1107において、アプリケーションプログラム制御回路210は、ユーザが取り外しを意図するモジュールに対して、正常に機能を終了させてEPMを解放するためのリリース処理を実行する。リリース処理の詳細は、図7を用いて後述する。S1107を終了すると、S1101に戻る。
S1106で、リリース状態に移行するリリースメッセージを受信しなかったならば、S1108に進む。S1108において、アプリケーションプログラム制御回路210は、各モジュールの検出(Detect)信号を受信したかどうかを判断する。ここで、検出(Detect)信号とは、スマートデバイス本体100に対して各モジュールが新たに装着されたことを検出するものであり、システム制御回路110がアプリケーションプログラム制御回路210に送信する電気信号のことをいう。
S1106で、リリース状態に移行するリリースメッセージを受信しなかったならば、S1108に進む。S1108において、アプリケーションプログラム制御回路210は、各モジュールの検出(Detect)信号を受信したかどうかを判断する。ここで、検出(Detect)信号とは、スマートデバイス本体100に対して各モジュールが新たに装着されたことを検出するものであり、システム制御回路110がアプリケーションプログラム制御回路210に送信する電気信号のことをいう。
S1108で検出(Detect)信号を受信したならば、S1109に進む。S1109において、アプリケーションプログラム制御回路210は、スマートデバイス本体1
00に挿入された該当モジュールを固定し適切に機能させるためのモジュール設定処理を実行する。モジュール設定処理の詳細は、図8を用いて後述する。S1109を終了すると、S1101に戻る。
S1108で検出(Detect)信号を受信しなかったならば、S1110に進む。S1110において、アプリケーションプログラム制御回路210は、表示操作モジュール300の表示操作制御回路310から、アプリケーションプログラム関係メッセージを受信したかどうかを判断する。表示操作モジュール300において、表示操作制御回路310は、表示部312であるLCDパネルにスリープ処理に関する情報を表示して、タッチパネルやボタンなどの操作入力手段314に対するユーザの入力指示を可能とする。そこでユーザによる、所定のアプリケーションプログラムに関する実行などの指示が入力されたならば、表示操作制御回路310は、アプリケーションプログラム制御回路210にアプリケーションプログラム関係メッセージを送信する。
00に挿入された該当モジュールを固定し適切に機能させるためのモジュール設定処理を実行する。モジュール設定処理の詳細は、図8を用いて後述する。S1109を終了すると、S1101に戻る。
S1108で検出(Detect)信号を受信しなかったならば、S1110に進む。S1110において、アプリケーションプログラム制御回路210は、表示操作モジュール300の表示操作制御回路310から、アプリケーションプログラム関係メッセージを受信したかどうかを判断する。表示操作モジュール300において、表示操作制御回路310は、表示部312であるLCDパネルにスリープ処理に関する情報を表示して、タッチパネルやボタンなどの操作入力手段314に対するユーザの入力指示を可能とする。そこでユーザによる、所定のアプリケーションプログラムに関する実行などの指示が入力されたならば、表示操作制御回路310は、アプリケーションプログラム制御回路210にアプリケーションプログラム関係メッセージを送信する。
S1110でアプリケーションプログラム関係メッセージを受信したならば、S1111に進み、アプリケーションプログラム制御回路210は、S1111でアプリケーションプログラム実行処理を実行する。本実施例で想定されるアプリケーションプログラムには、各モジュールの組み合わせによって実現され得る様々な機能が含まれる。例えば、移動体通信モジュール900との組み合わせにより通話機能が可能となり、無線LANモジュール700との組み合わせによりインターネット接続を介したウェブ閲覧が可能となり、また撮像モジュール500との組み合わせにより撮影機能が実現される。こうしたアプリケーションプログラムの一例である撮影アプリケーション実行処理の詳細は、図9を用いて後述する。S1111を終了すると、S1101に戻る。
S1110でアプリケーションプログラム関係メッセージを受信しなかったならば、S1101に戻って以下同様の動作を繰り返す。
S1110でアプリケーションプログラム関係メッセージを受信しなかったならば、S1101に戻って以下同様の動作を繰り返す。
図7は、図6のS1107において実行されるモジュールのリリース処理の動作フローを示すフローチャートである。
図7のS1201において、アプリケーションプログラム制御回路210は、システム制御回路110にモジュールの機能の終了を指示するメッセージを送信する。次にS1202に進み、アプリケーションプログラム制御回路210は、システム制御回路110から送信され、モジュール情報が更新されていることを通知する情報更新メッセージを受信したかどうかを判断する。
図7のS1201において、アプリケーションプログラム制御回路210は、システム制御回路110にモジュールの機能の終了を指示するメッセージを送信する。次にS1202に進み、アプリケーションプログラム制御回路210は、システム制御回路110から送信され、モジュール情報が更新されていることを通知する情報更新メッセージを受信したかどうかを判断する。
S1202で情報更新メッセージを受信しなかったならば、アプリケーションプログラム制御回路210は、S1203で所定のエラー処理を行う。その後、S1205においてEPMを制御することにより、モジュールのロック状態を解除してリリース処理ルーチンを終了する。エラー処理では、表示操作モジュール300などにエラー内容を表示してユーザに通知してもよい。
S1202で情報更新メッセージを受信したならば、S1204に進む。S1204において、アプリケーションプログラム制御回路210は、システム制御回路110から受信した内容に応じて、OS及びカーネルが管理する不揮発性メモリ214及びメモリ212の所定領域に格納された管理情報を更新する。ここで、管理情報は、モジュール管理情報、EPM制御管理情報、RFバス構成管理情報を含む。その後、S1205においてEPMを制御することにより、モジュールのロック状態を解除してリリース処理ルーチンを終了する。
S1202で情報更新メッセージを受信したならば、S1204に進む。S1204において、アプリケーションプログラム制御回路210は、システム制御回路110から受信した内容に応じて、OS及びカーネルが管理する不揮発性メモリ214及びメモリ212の所定領域に格納された管理情報を更新する。ここで、管理情報は、モジュール管理情報、EPM制御管理情報、RFバス構成管理情報を含む。その後、S1205においてEPMを制御することにより、モジュールのロック状態を解除してリリース処理ルーチンを終了する。
図8は、図6のS1109において実行されるモジュール装着処理の動作フローを示すフローチャートである。
図8のS1301において、アプリケーションプログラム制御回路210は、システム制御回路110と共にメッセージ通信のコネクションセットアップを行い、システム制御
回路110とのネットワークリンクを確立する。次にS1302に進み、アプリケーションプログラム制御回路210は、システム制御回路110を介して該当モジュールから初期化などのモジュール情報を取得する。更にS1303に進み、アプリケーションプログラム制御回路210は、S1302で取得したモジュール情報が、スマートデバイス50において問題の無い内容かどうかを検証し判定する。例えば、安定した通信が可能か、既に装着されている電源モジュール400の電圧で動作可能か、またその他にも、スマートデバイス50に個別で設定されている規格がある場合にはそれを満足しているか等が検証される。
図8のS1301において、アプリケーションプログラム制御回路210は、システム制御回路110と共にメッセージ通信のコネクションセットアップを行い、システム制御
回路110とのネットワークリンクを確立する。次にS1302に進み、アプリケーションプログラム制御回路210は、システム制御回路110を介して該当モジュールから初期化などのモジュール情報を取得する。更にS1303に進み、アプリケーションプログラム制御回路210は、S1302で取得したモジュール情報が、スマートデバイス50において問題の無い内容かどうかを検証し判定する。例えば、安定した通信が可能か、既に装着されている電源モジュール400の電圧で動作可能か、またその他にも、スマートデバイス50に個別で設定されている規格がある場合にはそれを満足しているか等が検証される。
S1303で検証した結果に問題があれば、アプリケーションプログラム制御回路210は、S1304で所定のエラー処理を行った後、モジュールの装着処理ルーチンを終了する。エラー処理では、表示操作モジュール300などにエラー内容などを表示してユーザに通知してもよい。
S1303で検証した結果に問題が無ければ、S1305に進む。S1305において、アプリケーションプログラム制御回路210は、初期化を行う該当モジュールのモジュール情報に基づき、不揮発性メモリ214及びメモリ212の所定領域に格納された管理情報を更新する。ここで、管理情報は、モジュール管理情報、EPM制御管理情報、RFバス構成管理情報を含む。
S1303で検証した結果に問題が無ければ、S1305に進む。S1305において、アプリケーションプログラム制御回路210は、初期化を行う該当モジュールのモジュール情報に基づき、不揮発性メモリ214及びメモリ212の所定領域に格納された管理情報を更新する。ここで、管理情報は、モジュール管理情報、EPM制御管理情報、RFバス構成管理情報を含む。
次にS1306において、アプリケーションプログラム制御回路210は、システム制御回路110に初期化を行う該当モジュールのEPMロック指示メッセージを送信する。これにより、スマートデバイス本体100と初期化を行う該当モジュールとが、EPMにより固定されてロック状態となる。
続いて、S1307でアプリケーションプログラム制御回路210は、システム制御回路110に向けて通信開始指示メッセージを送信し、一連の初期化処理を行った該当モジュールとのメッセージ通信が可能になったことを通知する。その後、S1308において、状態変化フラグをONに切り替えて、モジュールの装着処理ルーチンを終了する。ここで、状態変化フラグとは、各モジュールに対応するように割り付けられ、各モジュールの状態変化の有無によりONとOFFとが切り替えられる再処理フラグのことをいう。状態変化フラグがONとなるのは、各モジュールの状態変化フラグがOFFの状態において、スマートデバイス本体100に装着された各モジュールの状態が変化した時である。尚、状態の変化としては、各モジュールの装着の他に、電池残量の変化、故障、性能の劣化などが含まれる。更に例えば、撮像モジュール500がレンズ駆動手段を備え、変倍レンズを光軸方向に移動させて焦点距離を変更した場合には、撮像モジュール500の状態が変化したと見なして状態変化フラグをONに切り替える制御としてもよい。
こうしてモジュールの装着処理ルーチンにより、スマートデバイス本体100に対して正常なモジュールが取り付けられ、更にEPMにより確実にロックされて、該当モジュールの機能を利用可能な状態となる。尚、その他にも各通信を安定させるため、EPMによるモジュールのロックをS1301の前に行う制御としても良く、その場合はS1304の後にロック解除を行うことになる。
続いて、S1307でアプリケーションプログラム制御回路210は、システム制御回路110に向けて通信開始指示メッセージを送信し、一連の初期化処理を行った該当モジュールとのメッセージ通信が可能になったことを通知する。その後、S1308において、状態変化フラグをONに切り替えて、モジュールの装着処理ルーチンを終了する。ここで、状態変化フラグとは、各モジュールに対応するように割り付けられ、各モジュールの状態変化の有無によりONとOFFとが切り替えられる再処理フラグのことをいう。状態変化フラグがONとなるのは、各モジュールの状態変化フラグがOFFの状態において、スマートデバイス本体100に装着された各モジュールの状態が変化した時である。尚、状態の変化としては、各モジュールの装着の他に、電池残量の変化、故障、性能の劣化などが含まれる。更に例えば、撮像モジュール500がレンズ駆動手段を備え、変倍レンズを光軸方向に移動させて焦点距離を変更した場合には、撮像モジュール500の状態が変化したと見なして状態変化フラグをONに切り替える制御としてもよい。
こうしてモジュールの装着処理ルーチンにより、スマートデバイス本体100に対して正常なモジュールが取り付けられ、更にEPMにより確実にロックされて、該当モジュールの機能を利用可能な状態となる。尚、その他にも各通信を安定させるため、EPMによるモジュールのロックをS1301の前に行う制御としても良く、その場合はS1304の後にロック解除を行うことになる。
図9は、図6のS1111において実行される専用アプリケーションプログラムの一例である撮影アプリケーション実行処理の動作フローを示すフローチャートである。
図9において、まずS1401で表示操作モジュール300の操作入力により撮影アプリケーションを立ち上げると、アプリケーションプログラム制御回路210は、管理テーブル290から撮影アプリケーションの管理ファイルの情報を取得する。この撮影アプリケーションの管理ファイルの情報には、撮影アプリケーションを実行するのに不可欠なモジュールの種類や、撮影機能を最大限に活用できる該当モジュールの組み合わせや、該当モジュールを装着するのに最適な各スロットの位置関係が含まれる。
次にS1402に進み、アプリケーションプログラム制御回路210は、システム制御
回路110を介して各モジュールからモジュール情報を取得する。そしてS1403において、撮像アプリケーションの管理ファイルの情報に基づき、必要なモジュールが装着されているか、その組み合わせに問題がないか等を検証し判定する。
図9において、まずS1401で表示操作モジュール300の操作入力により撮影アプリケーションを立ち上げると、アプリケーションプログラム制御回路210は、管理テーブル290から撮影アプリケーションの管理ファイルの情報を取得する。この撮影アプリケーションの管理ファイルの情報には、撮影アプリケーションを実行するのに不可欠なモジュールの種類や、撮影機能を最大限に活用できる該当モジュールの組み合わせや、該当モジュールを装着するのに最適な各スロットの位置関係が含まれる。
次にS1402に進み、アプリケーションプログラム制御回路210は、システム制御
回路110を介して各モジュールからモジュール情報を取得する。そしてS1403において、撮像アプリケーションの管理ファイルの情報に基づき、必要なモジュールが装着されているか、その組み合わせに問題がないか等を検証し判定する。
S1403で検証した結果に問題があれば、アプリケーションプログラム制御回路210は、S1404で所定のエラー処理を行った後、撮影アプリケーション実行処理ルーチンを終了する。エラー処理では、表示操作モジュール300などにエラー内容などを表示してユーザに通知してもよい。例えば、S1402の時点でいずれのスロットにも撮像モジュール500が装着されておらず、撮像アプリケーションを実行できない場合は、S1404のエラー処理においてエラー内容を通知し、撮影アプリケーション実行処理ルーチンを終了する。またその他に、装着された撮像モジュール500に手ブレ補正(IS)の機能が備わっているにも関わらず、例えば姿勢検知モジュール800が装着されていないために手ブレを検知できない場合は、S1404のエラー処理において撮影機能の一部を制限する。この場合は、撮影アプリケーション実行処理ルーチンを終了する必要はなく、エラー内容の通知に対してユーザの操作入力等があれば、状況に応じてS1407の撮影実行処理に移行してもよい。
S1403で検証した結果に問題が無ければ、S1405に進む。S1405においてアプリケーションプログラム制御回路210は、各モジュールの状態が変化したかどうかを検知するため、状態変化フラグがONとなっているかどうかを判断する。このとき、状態変化フラグがOFFであればS1407に進み、アプリケーションプログラム制御回路210が、各種の撮影実行処理を行う。
S1403で検証した結果に問題が無ければ、S1405に進む。S1405においてアプリケーションプログラム制御回路210は、各モジュールの状態が変化したかどうかを検知するため、状態変化フラグがONとなっているかどうかを判断する。このとき、状態変化フラグがOFFであればS1407に進み、アプリケーションプログラム制御回路210が、各種の撮影実行処理を行う。
S1405で、状態変化フラグがONとなっていたならば、S1406に進み、アプリケーションプログラム制御回路210は、近接判定処理を行う。近接判定処理の詳細は、図10を用いて後述する。S1406を終了するとS1407に進み、アプリケーションプログラム制御回路210は各種の撮影実行処理を行う。ここで、各種の撮影実行処理とは、自動露出(AE)、自動焦点調節(AF)、自動ホワイトバランス(AWB)、手ブレ補正(IS)等の制御を行いつつ、撮像センサから所望の画像データを取得することをいう。尚、本実施例はこうした撮像実行処理を限定するものではなく、またこれらは公知であるため、詳細な説明は省略する。
そしてS1408において、撮影アプリケーション終了メッセージを受信しなかったならば、再びS1407に戻って撮影実行処理を繰り返す。
S1408で、ユーザによって撮影アプリケーション実行処理に対する終了の指示が入力された場合、表示操作制御回路310は、アプリケーションプログラム制御回路210へ向けて撮影アプリケーション終了メッセージを送信する。アプリケーションプログラム制御回路210は、撮影アプリケーション終了メッセージを受信すると、専用アプリケーションプログラムの終了状態への移行を判断して該当モジュールの動作を停止し、撮影アプリケーション実行処理ルーチンを終了する。
S1408で、ユーザによって撮影アプリケーション実行処理に対する終了の指示が入力された場合、表示操作制御回路310は、アプリケーションプログラム制御回路210へ向けて撮影アプリケーション終了メッセージを送信する。アプリケーションプログラム制御回路210は、撮影アプリケーション終了メッセージを受信すると、専用アプリケーションプログラムの終了状態への移行を判断して該当モジュールの動作を停止し、撮影アプリケーション実行処理ルーチンを終了する。
図10は、図9のS1406において実行される近接判定処理の動作フローを示すフローチャートである。
図10のS1501で、アプリケーションプログラム制御回路210は、各スロットの位置情報と、撮像モジュール500の種類に関する情報と、外部I/Oモジュール600の外形に関する情報と、を取得する。本実施例では、撮像モジュール500の種類に関する情報として、撮像モジュール500の外部から見た光軸の座標情報を取得する。また、外部I/Oモジュール600の外形に関する情報として、外部I/Oモジュール600の外部から見た突出部690の厚み情報を取得する。各スロットの位置情報については、スマートデバイス本体100の不揮発性メモリ114から取得する。同様に、光軸の座標情報については、撮像モジュール500の不揮発性メモリ522から取得し、突出部690
の厚み情報については、外部I/Oモジュール600の不揮発性メモリ622から取得する。
図10のS1501で、アプリケーションプログラム制御回路210は、各スロットの位置情報と、撮像モジュール500の種類に関する情報と、外部I/Oモジュール600の外形に関する情報と、を取得する。本実施例では、撮像モジュール500の種類に関する情報として、撮像モジュール500の外部から見た光軸の座標情報を取得する。また、外部I/Oモジュール600の外形に関する情報として、外部I/Oモジュール600の外部から見た突出部690の厚み情報を取得する。各スロットの位置情報については、スマートデバイス本体100の不揮発性メモリ114から取得する。同様に、光軸の座標情報については、撮像モジュール500の不揮発性メモリ522から取得し、突出部690
の厚み情報については、外部I/Oモジュール600の不揮発性メモリ622から取得する。
次にS1502において、S1501で取得したモジュール情報から、外部I/Oモジュール600の外部から見た突出部690の厚みが、規格値よりも大きいかどうかを判断する。このとき、前述のように平坦なスマートデバイス50の表面から一部が突出するような、標準的な外形とは異なるモジュールが装着される場合には、その厚みの距離において撮像モジュール500の撮影範囲を計算する制御としてもよい。この点については後述する。もしこれとは逆に、外部I/Oモジュール600の厚みと他の標準的な外形のモジュールの厚みとの間に大きな差がなければ、撮像モジュール500の撮影範囲は遮られるおそれがないと判断できる。つまり、この規格値は、外部I/Oモジュール600の外部から見た突出部690の厚みが、撮影機能に影響を及ぼす程度であるかどうかを簡易的に判定するため、事前に任意で設定される定数である。そして、突出部690の厚みがこの規格値以下であった場合はS1507に進み、アプリケーションプログラム制御回路210は、状態変化フラグをOFFに切り替える処理を実行して近接判定処理ルーチンを終了する。
S1502で突出部690の厚みが規格値よりも大きいことを検出した場合は、S1503に進み、アプリケーションプログラム制御回路210は、カメラ510における光軸と外部I/Oモジュール600との距離を計算する。カメラ510における光軸と外部I/Oモジュール600との距離の計算方法の詳細については後述する。
更にS1504において、カメラ510における光軸と外部I/Oモジュール600との距離が閾値よりも大きいかどうかを判断する。距離が閾値よりも大きい場合はS1507に進み、アプリケーションプログラム制御回路210は、状態変化フラグをOFFに切り替える処理を実行して近接判定処理ルーチンを終了する。
更にS1504において、カメラ510における光軸と外部I/Oモジュール600との距離が閾値よりも大きいかどうかを判断する。距離が閾値よりも大きい場合はS1507に進み、アプリケーションプログラム制御回路210は、状態変化フラグをOFFに切り替える処理を実行して近接判定処理ルーチンを終了する。
ここで、閾値は、撮像モジュールの種類毎に設定される数値であり、特に広角端の焦点距離において、異型のモジュールが写り込んでしまう程に画角が広角であるかどうかを判定するために、事前に任意で設定される定数のことをいう。この閾値は、詳しくは後述するカメラ510における光軸と外部I/Oモジュール600との水平方向の最短距離と、垂直方向の最短距離と、にそれぞれ対応するように、水平方向の閾値と垂直方向の閾値とが設定されると好ましい。
そして、水平方向と垂直方向とのいずれか一方でも最短距離が閾値以下となった場合は、S1505に進むことになる。
そして、水平方向と垂直方向とのいずれか一方でも最短距離が閾値以下となった場合は、S1505に進むことになる。
また、比較的広角な撮像モジュール500と、撮像モジュール500よりも画角が狭く望遠寄りの撮像モジュール(不図示)とでは、閾値が異なる。具体的には、撮像モジュール500の画角に対して設定される第1の閾値は、撮像モジュール500よりも画角が狭く望遠寄りの撮像モジュール(不図示)の画角に対して設定される第2の閾値よりも大きくなるように設定されている。このように、閾値は撮像モジュールの画角の大きさに対応して予め設定され、撮像モジュールの画角の大きさが大きいほど、閾値は大きくなるように設定されるとよい。また、閾値は撮影範囲の大きさに対応して予め設定され、スマートデバイス本体100からの距離が同じ位置では、撮影範囲の大きさが大きいほど、閾値は大きく設定されるとよい。
また、同じ撮像モジュール500であっても、変倍レンズを光軸方向に駆動するレンズ駆動手段を備える場合や、撮影可能範囲よりも小さな任意の撮影範囲を切り出すトリミング手段を備える場合には、それぞれの画角に応じて閾値を異ならせてもよい。具体的には、広角側の焦点距離に対して設定される第三の閾値は、望遠側の焦点距離に対して設定される第四の閾値よりも大きくなるように設定されると好適である。このように、閾値は、
撮像モジュールの焦点距離に対応して予め設定され、焦点距離が広角側であるほど、閾値は大きく設定されるとよい。そして、こうした撮像モジュールと焦点距離とのそれぞれの閾値の組み合わせを、予め管理テーブルとして撮像モジュールの不揮発性メモリに記憶させておき、焦点距離の変化に応じて、対応する組み合わせを取得する制御としてもよい。また、本実施例では、閾値は、撮像モジュール500の種類毎に設定されるものであるが、これに限るものではなく、撮像モジュール500の種類、及び/又は外部I/Oモジュール600の種類に対応して予め設定されるものであるとよい。また、外部I/Oモジュール600の種類は、外部I/Oモジュール600の外形(外形形状、厚み等)で分類されるものであるとよい。
撮像モジュールの焦点距離に対応して予め設定され、焦点距離が広角側であるほど、閾値は大きく設定されるとよい。そして、こうした撮像モジュールと焦点距離とのそれぞれの閾値の組み合わせを、予め管理テーブルとして撮像モジュールの不揮発性メモリに記憶させておき、焦点距離の変化に応じて、対応する組み合わせを取得する制御としてもよい。また、本実施例では、閾値は、撮像モジュール500の種類毎に設定されるものであるが、これに限るものではなく、撮像モジュール500の種類、及び/又は外部I/Oモジュール600の種類に対応して予め設定されるものであるとよい。また、外部I/Oモジュール600の種類は、外部I/Oモジュール600の外形(外形形状、厚み等)で分類されるものであるとよい。
S1504で距離が閾値以下であると判定(否定判定)した場合は、S1505に進む。S1505では、アプリケーションプログラム制御回路210は、撮影機能を調整して撮影機能の一部を制限するか、もしくは表示操作モジュール300などに情報を表示してユーザに通知する。尚、ユーザに通知する場合は、必ずしも撮影機能の一部を制限する必要はなく、通知に対してユーザの操作入力等があれば、ユーザの入力に応じた処理を行うものであればよい。ユーザの入力によっては、状況に応じてそのままS1506に移行してもよい。
また、表示操作モジュール300などに情報を表示してユーザに通知する際には、エラーが生じたことを表示したり、警告を表示したりするとよい。このとき、さらに、エラーを解消するための方法に関するガイダンスを表示するとよい。
また、表示操作モジュール300などに情報を表示してユーザに通知する際には、エラーが生じたことを表示したり、警告を表示したりするとよい。このとき、さらに、エラーを解消するための方法に関するガイダンスを表示するとよい。
S1505において撮影機能の一部を制限する場合には、カメラ510における光軸と外部I/Oモジュール600との距離と、突出部690の厚みと、に応じて、レンズの焦点距離を望遠寄りに変更する制御が好適である。具体的には、アプリケーションプログラム制御回路210が変倍レンズを駆動し、水平方向における画角と垂直方向における画角とを狭めて撮影範囲を光学的に限定することで、外部I/Oモジュール600の突出部690の写り込みを回避することが可能となる。他にも、像振れ補正手段が少なくとも1つのレンズを光軸と直交する方向に駆動し、撮影範囲を外部I/Oモジュール600(他方のモジュール)から離間する方向に光学的に移動させる構成であってもよい。またこうした制御は、前述のトリミング手段によって電子的に実行され、撮影可能範囲よりも小さな撮影範囲を切り出すことで、突出部690の写り込みを回避する構成であっても構わない。尚、このときの最適な焦点距離や、トリミング手段によって切り出す撮影範囲は、後述する、突出部690の厚みの距離において計算される撮影範囲から、比較的容易に導き出すこともできる。また、本実施例はこうした撮影機能の一部を制限する方法を限定するものではなく、またこれらは公知であるため、個別の詳細な説明は省略する。
続いてS1506において、アプリケーションプログラム制御回路210は、次に示す管理情報を更新する。それは、S1503で計算したカメラ510における光軸と外部I/Oモジュール600との距離の管理情報と、不揮発性メモリ214及びメモリ212の所定領域に格納された管理情報である。ここで、管理情報は、S1503で新たに得た距離の管理情報の他に、モジュール管理情報、EPM制御管理情報、RFバス構成管理情報を含む。
その後、S1507へ進み、アプリケーションプログラム制御回路210は、状態変化フラグをOFFに切り替える処理を実行する。ここで状態変化フラグをONにするタイミングは、例えば図8に従って前述したモジュール設定処理の動作フローにおけるS1308のように、新たな該当モジュールをスマートデバイス本体100に対して装着したときである。一方、状態変化フラグをOFFにするタイミングは、例えば図10に示すS1507のように、管理ファイルを最新の状態に更新した直後である。こうして本実施例では、適切なタイミングで状態変化フラグのONとOFFとを切り替えることにより、モジュールの状態変化を常に管理できるものである。
その後、S1507へ進み、アプリケーションプログラム制御回路210は、状態変化フラグをOFFに切り替える処理を実行する。ここで状態変化フラグをONにするタイミングは、例えば図8に従って前述したモジュール設定処理の動作フローにおけるS1308のように、新たな該当モジュールをスマートデバイス本体100に対して装着したときである。一方、状態変化フラグをOFFにするタイミングは、例えば図10に示すS1507のように、管理ファイルを最新の状態に更新した直後である。こうして本実施例では、適切なタイミングで状態変化フラグのONとOFFとを切り替えることにより、モジュールの状態変化を常に管理できるものである。
以上で、スマートデバイス50の一連の動作フローの説明を終了する。尚、図5に示すアプリケーションプログラム制御モジュール200に設けられた管理テーブル290は、無線LANモジュール700等により、アプリケーションプログラムのアップデートがされた時点で情報を更新することができる。そのため、図5における管理テーブル290は、各モジュールの種類や実現できる機能、その他必要となる情報を適宜変更したり追加したりすることが可能である。
また前述のように、突出部690の厚みの距離における撮影範囲を計算することも比較的容易である。そこで、閾値を用いることなく計算結果に基づいて、撮像モジュール500の撮影範囲が突出部690によって遮られるかどうかを判定する制御を行ってもよい。この場合は、図10のS1501で説明した制御と同様に、各スロットの位置情報と、撮像モジュール500の外部から見た光軸の座標情報と、外部I/Oモジュール600の外部から見た突出部690の厚み情報と、を取得する。更にこれらに加えて、前述の撮影範囲情報を撮像モジュール500の不揮発性メモリ522から取得することで、水平方向の撮影範囲X500と、垂直方向の撮影範囲Y500と、を計算する。
図11は、図10のS1503において実行されるカメラ510における光軸と外部I/Oモジュール600との距離の計算方法を説明するための図である。また図12(a)、12(b)は、カメラ510における光軸と突出部690との詳細な位置関係を説明するための図である。図12(a)は、図11のS101−S101断面図であり、図11においてカメラ510の光軸を含む位置で撮像モジュール500を水平方向に切断した際の断面図である。一方、図12(b)は、図11のS102−S102断面図であり、図11においてカメラ510の光軸を含む位置で撮像モジュール500を垂直方向に切断した際の断面図である。
前述した図10のS1501において、アプリケーションプログラム制御回路210は、スマートデバイス本体100の不揮発性メモリ114から各スロットの位置情報を取得する。ここで本実施例における各スロットの位置情報とは、スロット1500とスロット1600との位置情報を含み、モジュールの位置を決定する各リブ101やスパイン102の突き当て面の位置を特定するものである。これと同時に、S1501においてアプリケーションプログラム制御回路210は、撮像モジュール500の不揮発性メモリ522から、撮像モジュール500の外部から見た光軸の座標X101・Y101の数値を取得する。またアプリケーションプログラム制御回路210は、外部I/Oモジュール600の不揮発性メモリ622から、外部I/Oモジュール600の外部から見た突出部690の座標X103・X104・Y102・Y104と厚みZ600との数値を取得する。
このときX101は、撮像モジュール500の突き当て面からカメラ510における光軸までの水平方向の長さを示しており、同じくY101は、垂直方向の長さを示している。X102は、スマートデバイス本体100におけるスパイン102の水平方向の長さを示している。X103とX104とは、外部I/Oモジュール600の突き当て面から突出部690までの水平方向の長さを示しており、同じくY102とY103とY104とは、垂直方向の長さを示している。ここでY103は、Y102とY104との間の任意の座標である。そして、外部I/Oモジュール600内における突出部690の範囲は、水平方向にX103〜X104、垂直方向にY102〜Y104であると規定することができる。
カメラ510における光軸と突出部690との水平方向の最短距離X100は、X101〜X103から幾何学的に算出されるものである。ここで本実施例における水平方向の最短距離X100は、下記式3に示す計算式によって求められる。
[式3]
X100=|X101+X102+X103|
また同様に、カメラ510における光軸と突出部690との垂直方向の最短距離Y100は、Y101〜Y104から幾何学的に算出されるものである。ただし本実施例では図11に示すように、下記式4に示す関係式が成り立っており、垂直方向の最短距離Y100は下記式5に示す計算式によって求められ、特にこの場合の垂直方向の最短距離Y100は0となる。これはつまり、垂直方向において、突出部690は、カメラ510における光軸と重なる位置にあり、お互いに近接した位置関係であることを示している。
[式4]
Y102<Y101=Y103<Y104
[式5]
Y100=|Y101−Y103|=0
[式3]
X100=|X101+X102+X103|
また同様に、カメラ510における光軸と突出部690との垂直方向の最短距離Y100は、Y101〜Y104から幾何学的に算出されるものである。ただし本実施例では図11に示すように、下記式4に示す関係式が成り立っており、垂直方向の最短距離Y100は下記式5に示す計算式によって求められ、特にこの場合の垂直方向の最短距離Y100は0となる。これはつまり、垂直方向において、突出部690は、カメラ510における光軸と重なる位置にあり、お互いに近接した位置関係であることを示している。
[式4]
Y102<Y101=Y103<Y104
[式5]
Y100=|Y101−Y103|=0
このようにして求められた最短距離X100,Y100と、突出部690の厚みZ600の距離における撮像モジュール500の撮影範囲X500,Y500とから、撮像モジュール500の撮影範囲が突出部690によって遮られるかどうかを判定できる。このとき、最短距離X100の値が、撮影範囲X500の値の1/2以下であり、最短距離Y100の値が、撮影範囲Y500の値の1/2以下であるときに、撮像モジュール500の撮影範囲が突出部690によって遮られると判定する。
このように、前述した閾値を用いずに、カメラ510における光軸と突出部690との最短距離と、突出部690の厚みZ600の距離における撮像モジュール500の撮影範囲を計算で求めることによっても、前述の判定を行うことができる。
この計算式自体は比較的単純であり、アプリケーションプログラム制御モジュール200のメモリ212や不揮発性メモリ214に要求されるメモリ容量は比較的少ない。更に、アプリケーションプログラム制御回路210による処理速度は非常に高速であるため、撮影開始までにタイムラグを生じさせてしまうおそれはない。
このように、前述した閾値を用いずに、カメラ510における光軸と突出部690との最短距離と、突出部690の厚みZ600の距離における撮像モジュール500の撮影範囲を計算で求めることによっても、前述の判定を行うことができる。
この計算式自体は比較的単純であり、アプリケーションプログラム制御モジュール200のメモリ212や不揮発性メモリ214に要求されるメモリ容量は比較的少ない。更に、アプリケーションプログラム制御回路210による処理速度は非常に高速であるため、撮影開始までにタイムラグを生じさせてしまうおそれはない。
以上、閾値を用いることなく計算結果に基づいて、撮像モジュール500の撮影範囲が外部I/Oモジュール600によって遮られるかどうかを判定する方法について説明した。
ここで、次のような方法により、撮像モジュール500の撮影範囲が外部I/Oモジュール600によって遮られるかどうかを判定してもよい。
まず、撮像モジュール500に関する情報と、外部I/Oモジュール600に関する情報と、閾値との関係を予め設定しておく。このとき、撮像モジュール500に関する情報は、撮像モジュール500の撮影範囲に関する情報であるとよく、この情報は撮像モジュール500の種類毎に設定されるとよい。また、外部I/Oモジュール600に関する情報は、外部I/Oモジュール600の突出部690の厚みに関する情報であるとよく、この情報は、外部I/Oモジュール600の種類毎に設定されるとよい。そして、撮像モジュール500に関する情報と、外部I/Oモジュール600に関する情報から当該閾値を取得し、撮像モジュール500と外部I/Oモジュール600との距離が、当該閾値より大きいかどうかを判定してもよい。この判定が否定判定のときに、遮られると判定できる。また当該閾値においても、図10に示した閾値同様、撮像モジュール500の種類、及び/又は外部I/Oモジュール600の種類に対応して設定されるとよい。
また、撮像モジュール500と外部I/Oモジュール600がスマートデバイス本体100のスロットに装着された場合に、撮像モジュール500の撮影範囲が突出部690によって遮られるスロットの組み合わせが予め設定されていてもよい。そして撮像モジュール500と外部I/Oモジュール600がスマートデバイス本体100に装着された場合
に、各モジュールが装着されたスロットの組合わせから、撮像モジュールの撮影範囲が外部I/Oモジュールによって遮られるかどうかを判定してもよい。
ここで、次のような方法により、撮像モジュール500の撮影範囲が外部I/Oモジュール600によって遮られるかどうかを判定してもよい。
まず、撮像モジュール500に関する情報と、外部I/Oモジュール600に関する情報と、閾値との関係を予め設定しておく。このとき、撮像モジュール500に関する情報は、撮像モジュール500の撮影範囲に関する情報であるとよく、この情報は撮像モジュール500の種類毎に設定されるとよい。また、外部I/Oモジュール600に関する情報は、外部I/Oモジュール600の突出部690の厚みに関する情報であるとよく、この情報は、外部I/Oモジュール600の種類毎に設定されるとよい。そして、撮像モジュール500に関する情報と、外部I/Oモジュール600に関する情報から当該閾値を取得し、撮像モジュール500と外部I/Oモジュール600との距離が、当該閾値より大きいかどうかを判定してもよい。この判定が否定判定のときに、遮られると判定できる。また当該閾値においても、図10に示した閾値同様、撮像モジュール500の種類、及び/又は外部I/Oモジュール600の種類に対応して設定されるとよい。
また、撮像モジュール500と外部I/Oモジュール600がスマートデバイス本体100のスロットに装着された場合に、撮像モジュール500の撮影範囲が突出部690によって遮られるスロットの組み合わせが予め設定されていてもよい。そして撮像モジュール500と外部I/Oモジュール600がスマートデバイス本体100に装着された場合
に、各モジュールが装着されたスロットの組合わせから、撮像モジュールの撮影範囲が外部I/Oモジュールによって遮られるかどうかを判定してもよい。
以上説明したように、本実施例では、撮像モジュール500の撮影範囲が、外部I/Oモジュール600の突出部690によって遮られるかどうかを判定し、判定結果に応じて所定の処理を行っている。これにより、撮像モジュール500の撮影範囲が、突出部690によって遮られることを抑制することが可能となる。さらにスマートデバイス50においては、所望の撮影機能を最大限に活かすことができるかどうかを判定でき、アプリケーションプログラムをより適正に動作させることが可能となる。
(実施例2)
以下に、実施例2について説明する。
本実施例では、前述した実施例1におけるスマートデバイス本体100とモジュールは同じものを用い、実施例1に対して、モジュールを取り付けるスロットを変更(モジュールとスロットの組み合わせを変更)した。なお、以下では、実施例1と異なる構成や処理について説明し、実施例1と同様の構成や処理についての説明は省略する。
以下に、実施例2について説明する。
本実施例では、前述した実施例1におけるスマートデバイス本体100とモジュールは同じものを用い、実施例1に対して、モジュールを取り付けるスロットを変更(モジュールとスロットの組み合わせを変更)した。なお、以下では、実施例1と異なる構成や処理について説明し、実施例1と同様の構成や処理についての説明は省略する。
図13は、本実施例のスマートデバイス50の外観図であり、図10のS1503において実行されるカメラ510における光軸と外部I/Oモジュール600との距離の計算方法を説明するための図である。また図14(a)、14(b)は、カメラ510における光軸と突出部690との詳細な位置関係を説明するための図である。図14(a)は、図13のS201−S201断面図であり、図13においてカメラ510の光軸を含む位置で撮像モジュール500を水平方向に切断した際の断面図である。一方、図14(b)は、図13のS202−S202断面図であり、図13においてカメラ510の光軸を含む位置で撮像モジュール500を垂直方向に切断した際の断面図である。
本実施例は実施例1と異なり、スマートデバイス本体100の背面側において、スロット1600に撮像モジュール500が装着され、またスロット1700に外部I/Oモジュール600が装着されている。そして、実施例1において撮像モジュール500が装着されていたスロット1500に対して、本実施例では無線LANモジュール700が取り付けられた状態となっている。このような構成によって、カメラ510における光軸と外部I/Oモジュール600の突出部690とをより離して配置することができる。また、ユーザがスマートデバイス50を使用する際の持ちやすさなどから、撮像モジュール500と外部I/Oモジュール600との位置関係は適宜変更されるとよい。
前述したように、図10のS1501において、アプリケーションプログラム制御回路210は、スマートデバイス本体100の不揮発性メモリ114から各スロットの位置情報を取得する。ここで本実施例における各スロットの位置情報とは、スロット1600とスロット1700との位置情報を含み、モジュールの位置を決定する各リブ101やスパイン102の突き当て面の位置を特定するものである。これと同時に、S1501においてアプリケーションプログラム制御回路210は、撮像モジュール500の不揮発性メモリ522から、撮像モジュール500の外部から見た光軸の座標X204・Y203の数値を取得する。またアプリケーションプログラム制御回路210は、外部I/Oモジュール600の不揮発性メモリ622から、外部I/Oモジュール600の外部から見た突出部690の座標X201・X202・Y201・Y202と厚みZ600との数値を取得する。
このときX204は、撮像モジュール500の突き当て面からカメラ510における光軸までの水平方向の長さを示しており、同じくY203は、垂直方向の長さを示している。X203は、スマートデバイス本体100におけるスパイン102の水平方向の長さを
示している。X201とX202とは、外部I/Oモジュール600の突き当て面から突出部690までの水平方向の長さを示しており、同じくY201とY202とは、垂直方向の長さを示している。そして、外部I/Oモジュール600内における突出部690の範囲は、水平方向にX201〜X202、垂直方向にY201〜Y202であると規定することができる。
示している。X201とX202とは、外部I/Oモジュール600の突き当て面から突出部690までの水平方向の長さを示しており、同じくY201とY202とは、垂直方向の長さを示している。そして、外部I/Oモジュール600内における突出部690の範囲は、水平方向にX201〜X202、垂直方向にY201〜Y202であると規定することができる。
カメラ510における光軸と突出部690との水平方向の最短距離X200は、X202〜X204から幾何学的に算出されるものである。ここで本実施例における水平方向の最短距離X200は、下記式6に示す計算式によって求められる。
[式6]
X200=|X202+X203+X204|
また同様に、カメラ510における光軸と突出部690との垂直方向の最短距離Y200は、Y201、Y203から幾何学的に算出されるものである。ここで本実施形態における垂直方向の最短距離Y200は、下記式7に示す計算式によって求められる。
[式7]
Y200=|Y201−Y203|
[式6]
X200=|X202+X203+X204|
また同様に、カメラ510における光軸と突出部690との垂直方向の最短距離Y200は、Y201、Y203から幾何学的に算出されるものである。ここで本実施形態における垂直方向の最短距離Y200は、下記式7に示す計算式によって求められる。
[式7]
Y200=|Y201−Y203|
このようにして求められた最短距離X200,Y200を用いることで、前述した実施例1同様、撮像モジュール500の撮影範囲が突出部690によって遮られるかどうかを判定できる。
以上説明したように、本実施例においても実施例1同様、撮像モジュール500の撮影範囲が、突出部690によって遮られることを抑制することが可能となる。
以上説明したように、本実施例においても実施例1同様、撮像モジュール500の撮影範囲が、突出部690によって遮られることを抑制することが可能となる。
(実施例3)
以下に、実施例3について説明する。
本実施例では、フラッシュ撮影にも対応する高性能LEDを実装した発光モジュール601が、スマートデバイス本体100に装着されている例について説明する。前述した実施例1,2では、撮像モジュール500の撮影範囲が、外部I/Oモジュール600によって遮られないようにするものであった。これに対して、本実施例では、発光モジュール601が発光する光が、撮像モジュール500によって遮られないようにするものである。なお、以下では、実施例1,2と異なる構成や処理について説明し、実施例1,2と同様の構成や処理についての説明は省略する。
以下に、実施例3について説明する。
本実施例では、フラッシュ撮影にも対応する高性能LEDを実装した発光モジュール601が、スマートデバイス本体100に装着されている例について説明する。前述した実施例1,2では、撮像モジュール500の撮影範囲が、外部I/Oモジュール600によって遮られないようにするものであった。これに対して、本実施例では、発光モジュール601が発光する光が、撮像モジュール500によって遮られないようにするものである。なお、以下では、実施例1,2と異なる構成や処理について説明し、実施例1,2と同様の構成や処理についての説明は省略する。
図17は、本実施例において、発光モジュール601が装着されたスマートデバイス50を示す概略図である。
実施例1では、スマートデバイス本体100の背面側において、スパイン102の左側の上部のスロット1500に、撮像モジュール500が装着されていた。そして、スロット1500と近接して、スパイン102の右側の上部のスロット1600に、外部I/Oモジュール600が装着されていた。
これに対して、本実施例では、スロット1500に撮像モジュール500が装着され、スロット1600に発光モジュール601が装着されている。これによって図17に示すように、撮像モジュール500と発光モジュール601とがお互いに近接した位置関係となっている。
実施例1では、スマートデバイス本体100の背面側において、スパイン102の左側の上部のスロット1500に、撮像モジュール500が装着されていた。そして、スロット1500と近接して、スパイン102の右側の上部のスロット1600に、外部I/Oモジュール600が装着されていた。
これに対して、本実施例では、スロット1500に撮像モジュール500が装着され、スロット1600に発光モジュール601が装着されている。これによって図17に示すように、撮像モジュール500と発光モジュール601とがお互いに近接した位置関係となっている。
ここで、発光モジュール601についても、前述した撮像モジュール500と同様に、本実施例では代表的な一例を示すものであるが、これに限らず、スマートデバイス50に対応し得る発光モジュールの仕様や形状等は多種多様である。
そのため、例えば別の発光モジュールとして、発光モジュール601よりも配光角の狭
い発光モジュール(不図示)が、異なるモジュールメーカーから提供されることも想定される。
また、前述のように、対応するアプリケーションプログラムがインストールされている場合は、アプリケーションプログラム制御モジュール200を介することで、所望する様々な機能を利用できる。
例えば、専用の撮影アプリケーションであれば、アプリケーションプログラム制御モジュール200を介して撮像モジュール500と発光モジュール601とを連動させることで、フラッシュ撮影をはじめとする各種の撮影機能を利用することができる。
そのため、例えば別の発光モジュールとして、発光モジュール601よりも配光角の狭
い発光モジュール(不図示)が、異なるモジュールメーカーから提供されることも想定される。
また、前述のように、対応するアプリケーションプログラムがインストールされている場合は、アプリケーションプログラム制御モジュール200を介することで、所望する様々な機能を利用できる。
例えば、専用の撮影アプリケーションであれば、アプリケーションプログラム制御モジュール200を介して撮像モジュール500と発光モジュール601とを連動させることで、フラッシュ撮影をはじめとする各種の撮影機能を利用することができる。
以下に、本実施例のスマートデバイス50の構成について説明する。本実施例のスマートデバイス50の構成は、実施例1と同様である。このため、説明の便宜上、図5を用いて説明した実施例1のスマートデバイス50の構成に対して、異なる構成部分について説明する。
本実施例において、撮像モジュール500の不揮発性メモリ522には、カメラ510の動作用の定数、変数、構成部品の位置情報、撮像モジュール500の外形情報、光軸の誤差情報、レンズの誤差情報等が記憶されている。
詳しくは後述するが、撮像モジュール500の外形情報には、撮像モジュール500の外部から見たカメラ510の外形情報、特にカメラ先端における水平方向の座標情報と、垂直方向の座標情報と、高さ方向の座標情報と、が含まれている。撮像モジュール500は、他の標準的な外形のモジュールとは異なり、レンズ鏡筒を収納するために本来であれば平坦となるスマートデバイス50の表面から、カメラ510が被写体方向に盛り上がっている。撮像モジュールの外形情報は、こうした撮像モジュール500内におけるカメラ510の外形を、座標によって規定するものである。
本実施例において、撮像モジュール500の不揮発性メモリ522には、カメラ510の動作用の定数、変数、構成部品の位置情報、撮像モジュール500の外形情報、光軸の誤差情報、レンズの誤差情報等が記憶されている。
詳しくは後述するが、撮像モジュール500の外形情報には、撮像モジュール500の外部から見たカメラ510の外形情報、特にカメラ先端における水平方向の座標情報と、垂直方向の座標情報と、高さ方向の座標情報と、が含まれている。撮像モジュール500は、他の標準的な外形のモジュールとは異なり、レンズ鏡筒を収納するために本来であれば平坦となるスマートデバイス50の表面から、カメラ510が被写体方向に盛り上がっている。撮像モジュールの外形情報は、こうした撮像モジュール500内におけるカメラ510の外形を、座標によって規定するものである。
<発光モジュール601>
以下に、本実施例の発光モジュール601について説明する。
発光モジュール601は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100によって制御され、撮像モジュール500の動作と同期して露光動作中に発光を行う。またその他にも、自動焦点調節(AF)を補助する目的で、露光開始よりも前に被写体を照射することもでき、更に撮影機能とは関係なく、表示操作モジュール300へのユーザの操作入力があれば、独立して持続的に点灯することも可能となっている。
本実施例の発光モジュール601の構成を示すブロック図は、実施例1で図5に示した外部I/Oモジュール600の構成を示すブロック図と同様となる。すなわち、図5のスマートデバイス50の構成を示すブロック図において、実施例1では外部I/Oモジュール600が示されていた部分が、本実施例の発光モジュール601に相当する。このため、説明の便宜上、図5のブロック図を用い、外部I/Oモジュール600の構成と同じ符号を用いて、発光モジュール601の構成について以下に説明する。
以下に、本実施例の発光モジュール601について説明する。
発光モジュール601は、アプリケーションプログラム制御モジュール200による統括制御の下で、スマートデバイス本体100によって制御され、撮像モジュール500の動作と同期して露光動作中に発光を行う。またその他にも、自動焦点調節(AF)を補助する目的で、露光開始よりも前に被写体を照射することもでき、更に撮影機能とは関係なく、表示操作モジュール300へのユーザの操作入力があれば、独立して持続的に点灯することも可能となっている。
本実施例の発光モジュール601の構成を示すブロック図は、実施例1で図5に示した外部I/Oモジュール600の構成を示すブロック図と同様となる。すなわち、図5のスマートデバイス50の構成を示すブロック図において、実施例1では外部I/Oモジュール600が示されていた部分が、本実施例の発光モジュール601に相当する。このため、説明の便宜上、図5のブロック図を用い、外部I/Oモジュール600の構成と同じ符号を用いて、発光モジュール601の構成について以下に説明する。
発光モジュール601において610は、半導体素子の一種であり、電圧を加えることによって発光するLEDである。LED610の制御は、アプリケーションプログラム制御回路210で実行されるアプリケーションプログラムや、表示操作モジュール300へのユーザの操作入力に応じて行われ、発光のONとOFFとの切り替えだけでなく、発光量の微調整などが可能である。
616は識別情報で、発光モジュール601がスマートデバイス本体100及び各モジュールと通信を行う際に必要な各種識別情報が格納されている。620は、発光モジュール601の各部に必要な所定の電圧・電流を供給する電源制御回路である。
616は識別情報で、発光モジュール601がスマートデバイス本体100及び各モジュールと通信を行う際に必要な各種識別情報が格納されている。620は、発光モジュール601の各部に必要な所定の電圧・電流を供給する電源制御回路である。
622は、発光モジュール601の動作用の定数、変数、構成部品の位置情報、配光情報等を記憶し、電気的に消去・記録可能な不揮発性メモリであり、例えばフラッシュメモ
リ等が用いられる。詳しくは後述するが、構成部品の位置情報には、発光モジュール601の外部から見た発光中心691の座標情報が含まれている。前述のように、発光モジュール601は、スマートデバイス本体100に対してその外形を突き当てることで位置が決定される。尚、本実施例では発光モジュール601の位置決めを、スマートデバイス本体100のリブ101とスパイン102への突き当てにより行っているが、これに限定されるものではない。例えば、スマートデバイス本体100に位置決め用の凸部を設け、発光モジュール601に凸部と嵌合する凹部を設けるなどしてもよい。この場合、構成部品の位置情報には、凸部と嵌合する凹部から見た発光中心691の座標情報が含まれることになる。
リ等が用いられる。詳しくは後述するが、構成部品の位置情報には、発光モジュール601の外部から見た発光中心691の座標情報が含まれている。前述のように、発光モジュール601は、スマートデバイス本体100に対してその外形を突き当てることで位置が決定される。尚、本実施例では発光モジュール601の位置決めを、スマートデバイス本体100のリブ101とスパイン102への突き当てにより行っているが、これに限定されるものではない。例えば、スマートデバイス本体100に位置決め用の凸部を設け、発光モジュール601に凸部と嵌合する凹部を設けるなどしてもよい。この場合、構成部品の位置情報には、凸部と嵌合する凹部から見た発光中心691の座標情報が含まれることになる。
一方、配光情報には、発光モジュール601の外部から見た配光中心の座標情報と配光角情報とが含まれている。この配光情報は、発光モジュール601の種類に対応するものであるとよい。本実施例が示す発光モジュール601では、LEDから放射状に射出された閃光は、外装カバーに固定されたフレネルレンズによって一旦集光される。そしてこの閃光は、撮像モジュール500による撮影可能範囲を包括した所定の空間内をなるべく均一に照射するように、フレネルレンズから特定の角度で射出される。ここで、配光は、所定の距離において一定以上の光量を確保した閃光の分布のことであり、水平方向の配光角とは、この分布の左端から右端までの角度であり、同様に垂直方向の配光角とは、この分布の上端から下端までの角度である。
発光モジュール601の照射範囲は、発光モジュール601の外部から見た発光中心691の高さ座標Z601と、水平方向における片側の配光角θx601と、垂直方向における片側の配光角θy601と、から幾何学的に算出されるものである。ここで、水平方向における片側の配光角θx601は設定された左端から右端までの配光角に対して片側のみの角度を示しており、垂直方向における片側の配光角θy601は設定された上端から下端までの配光角に対して片側のみの角度を示している。そして例えば、スロット1600の表面から見て任意の距離Lだけ離れた位置では、発光中心691の中心線上における水平方向の照射範囲X601は、下記式8に示す計算式によって求められる。
[式8]
X601=(L−Z601)×TAN(θx601)×2
これと同様に、発光中心691の中心線上における垂直方向の照射範囲Y601は、下記式9に示す計算式によって求められる。
[式9]
Y601=(L−Z601)×TAN(θy601)×2
[式8]
X601=(L−Z601)×TAN(θx601)×2
これと同様に、発光中心691の中心線上における垂直方向の照射範囲Y601は、下記式9に示す計算式によって求められる。
[式9]
Y601=(L−Z601)×TAN(θy601)×2
前述のように撮像モジュール500は、本来であれば平坦となるスマートデバイス50の表面から、カメラ510が被写体方向に盛り上がっている。そのため、例えば図17に示すように、撮像モジュール500と発光モジュール601とが近接した位置関係にあった場合には、発光モジュール601の照射する範囲内にカメラ510が障害物として進入する恐れがある。こうなると、照射される被写体にカメラ510の影が発生するなどして、撮影結果に影響を及ぼしてしまう。
ここで発光モジュール601の照射範囲は、前述の式8に示す計算式により求められる水平方向の照射範囲X601と、式9に示す計算式により求められる垂直方向の照射範囲Y601と、で規定される。カメラ510先端における高さZ501はスロット1500の表面から見た距離であり、詳しくは後述するが、前述の任意の距離Lに当てはめて計算すると、カメラ510によって発光モジュール601の照射範囲が遮られるかどうかが判定できる。
630はインタフェース回路であり、モジュール側CMC640を介して、スマートデ
バイス本体100及び各モジュールとのデータやメッセージの高速な通信を中継する。
ここで発光モジュール601の照射範囲は、前述の式8に示す計算式により求められる水平方向の照射範囲X601と、式9に示す計算式により求められる垂直方向の照射範囲Y601と、で規定される。カメラ510先端における高さZ501はスロット1500の表面から見た距離であり、詳しくは後述するが、前述の任意の距離Lに当てはめて計算すると、カメラ510によって発光モジュール601の照射範囲が遮られるかどうかが判定できる。
630はインタフェース回路であり、モジュール側CMC640を介して、スマートデ
バイス本体100及び各モジュールとのデータやメッセージの高速な通信を中継する。
<アプリケーションプログラム制御モジュール200の動作説明>
本実施例のアプリケーションプログラム制御モジュール200の動作について説明する。
本実施例のアプリケーションプログラム制御モジュール200においても、実施例1同様、図6に示すフローチャートにしたがい動作が行われる。このため本実施例においても、実施例1で図6を用いて説明した処理と異なる点について説明する。
図6のS1111では、アプリケーションプログラム制御回路210は、アプリケーションプログラム実行処理を実行する。
本実施例で想定されるアプリケーションプログラムには、撮像モジュール500と発光モジュール601との組み合わせにより、フラッシュ撮影をはじめとする各種の撮影機能が実現される。
こうしたアプリケーションプログラムの一例である撮影アプリケーション実行処理の詳細について、図15を用いて以下に説明する。
本実施例のアプリケーションプログラム制御モジュール200の動作について説明する。
本実施例のアプリケーションプログラム制御モジュール200においても、実施例1同様、図6に示すフローチャートにしたがい動作が行われる。このため本実施例においても、実施例1で図6を用いて説明した処理と異なる点について説明する。
図6のS1111では、アプリケーションプログラム制御回路210は、アプリケーションプログラム実行処理を実行する。
本実施例で想定されるアプリケーションプログラムには、撮像モジュール500と発光モジュール601との組み合わせにより、フラッシュ撮影をはじめとする各種の撮影機能が実現される。
こうしたアプリケーションプログラムの一例である撮影アプリケーション実行処理の詳細について、図15を用いて以下に説明する。
図15は、本実施例において、図6のS1111において実行される専用アプリケーションプログラムの一例である撮影アプリケーション実行処理の動作フローを示すフローチャートである。
図15において、S1401〜S1405、S1407〜S1408の各ステップでの処理は、図9に示したS1401〜S1405、S1407〜S1408と同様であり、その説明は省略する。
S1405で、状態変化フラグがONとなっていたならば、S1409に進む。S1409では、実行される撮影アプリケーションの動作モードが、撮像モジュール500の露光中に発光する、所謂フラッシュ撮影の機能を利用する動作モードであるかどうかを判断する。本実施例では、撮像モジュール500の動作と同期して露光中に発光する第1の動作モードの他にも、露光を行っていないとき、例えば自動焦点調節(AF)を補助する目的で、露光開始よりも前に被写体を照射する第2の動作モードに切り替えることができる。更にスマートデバイス50は、撮影機能とは関係なく、表示操作モジュール300へのユーザの操作入力等があれば、状況に応じて発光モジュール601のLED610を持続的に点灯する第3の動作モードを備えていてもよい。そしてS1409において、撮影アプリケーションが第1の動作モード以外の、例えば露光開始よりも前に被写体を照射する第2の動作モードやユーザの操作入力等によって持続的に点灯する第3の動作モードであった場合は、S1407に進む。
図15において、S1401〜S1405、S1407〜S1408の各ステップでの処理は、図9に示したS1401〜S1405、S1407〜S1408と同様であり、その説明は省略する。
S1405で、状態変化フラグがONとなっていたならば、S1409に進む。S1409では、実行される撮影アプリケーションの動作モードが、撮像モジュール500の露光中に発光する、所謂フラッシュ撮影の機能を利用する動作モードであるかどうかを判断する。本実施例では、撮像モジュール500の動作と同期して露光中に発光する第1の動作モードの他にも、露光を行っていないとき、例えば自動焦点調節(AF)を補助する目的で、露光開始よりも前に被写体を照射する第2の動作モードに切り替えることができる。更にスマートデバイス50は、撮影機能とは関係なく、表示操作モジュール300へのユーザの操作入力等があれば、状況に応じて発光モジュール601のLED610を持続的に点灯する第3の動作モードを備えていてもよい。そしてS1409において、撮影アプリケーションが第1の動作モード以外の、例えば露光開始よりも前に被写体を照射する第2の動作モードやユーザの操作入力等によって持続的に点灯する第3の動作モードであった場合は、S1407に進む。
それとは逆にS1409において、撮影アプリケーションが撮像モジュール500の動作と同期して露光中に発光する第1の動作モードであった場合は、S1406に進み、アプリケーションプログラム制御回路210が近接判定処理を行う。近接判定処理の詳細は、図16を用いて後述する。S1406を終了するとS1407に進み、アプリケーションプログラム制御回路210は各種の撮影実行処理を行う。ここで、各種の撮影実行処理は、発光モジュール601との連動の有無も含め、自動露出(AE)、自動焦点調節(AF)、自動ホワイトバランス(AWB)、手ブレ補正(IS)等の制御を行いつつ、撮像センサから所望の画像データを取得することである。
図16は、図15のS1406において実行される近接判定処理の動作フローを示すフローチャートである。
図10を用いて説明した実施例1の近接判定処理では、撮像モジュール500と外部I/Oモジュール600とが近接した位置関係にあるかどうかを判定するものであった。これに対して本実施例の近接判定処理では、撮像モジュール500と発光モジュール601とが近接した位置関係にあるかどうかを判定するものである。
図16のS1601で、アプリケーションプログラム制御回路210は、各スロットの位置情報と、発光モジュール601の種類に関する情報と、撮像モジュール500の種類に関する情報と、を取得する。本実施例では、発光モジュール601の種類に関する情報として、発光モジュール601の外部から見た発光中心691の座標情報を取得する。また、撮像モジュール500の種類に関する情報として、撮像モジュール500の外部から見た光軸の座標情報と、カメラ510の外形に関する情報とを取得する。各スロットの位置情報については、スマートデバイス本体100の不揮発性メモリ114から取得する。同様に、光軸の座標情報とカメラ510の外形情報とについては、撮像モジュール500の不揮発性メモリ522から、発光中心691の座標情報については、発光モジュール601の不揮発性メモリ622から取得するものである。
図10を用いて説明した実施例1の近接判定処理では、撮像モジュール500と外部I/Oモジュール600とが近接した位置関係にあるかどうかを判定するものであった。これに対して本実施例の近接判定処理では、撮像モジュール500と発光モジュール601とが近接した位置関係にあるかどうかを判定するものである。
図16のS1601で、アプリケーションプログラム制御回路210は、各スロットの位置情報と、発光モジュール601の種類に関する情報と、撮像モジュール500の種類に関する情報と、を取得する。本実施例では、発光モジュール601の種類に関する情報として、発光モジュール601の外部から見た発光中心691の座標情報を取得する。また、撮像モジュール500の種類に関する情報として、撮像モジュール500の外部から見た光軸の座標情報と、カメラ510の外形に関する情報とを取得する。各スロットの位置情報については、スマートデバイス本体100の不揮発性メモリ114から取得する。同様に、光軸の座標情報とカメラ510の外形情報とについては、撮像モジュール500の不揮発性メモリ522から、発光中心691の座標情報については、発光モジュール601の不揮発性メモリ622から取得するものである。
次にS1602において、S1601で取得したモジュール情報から、カメラ510先端の高さZ501が、規格値よりも大きいかどうかを判断する。前述のように、平坦なスマートデバイス50の表面から特に一部が突出するような、標準的な外形とは異なるモジュールが装着される場合には、その高さの距離において発光モジュール601の照射範囲を計算する制御としてもよい。もしこれとは逆に、カメラ510先端の高さZ501と他の標準的な外形のモジュールの厚みとの間に大きな差がなければ、発光モジュール601の照射範囲は遮られるおそれがないと判断できる。つまり、この規格値とは、撮像モジュール500の外部から見たカメラ510先端の高さZ501が、フラッシュ撮影の機能に影響を及ぼす程度であるかどうかを簡易的に判定するため、事前に任意で設定される定数である。そして、カメラ510先端の高さZ501がこの規格値以下であった場合はS1607に進み、アプリケーションプログラム制御回路210は、状態変化フラグをOFFに切り替える処理を実行して近接判定処理ルーチンを終了する。
S1602で、カメラ510先端の高さZ501が規格値よりも大きいことを検出した場合は、S1603に進み、アプリケーションプログラム制御回路210は、カメラ510における光軸と発光モジュール601における発光中心691との距離を計算する。カメラ510における光軸と発光モジュール601における発光中心691との距離の計算方法の詳細については後述する。
更にS1604において、カメラ510における光軸と発光モジュール601における発光中心691との距離が閾値よりも大きいかどうかを判断する。距離が閾値よりも大きい場合はS1607に進み、アプリケーションプログラム制御回路210は、状態変化フラグをOFFに切り替える処理を実行して近接判定処理ルーチンを終了する。
更にS1604において、カメラ510における光軸と発光モジュール601における発光中心691との距離が閾値よりも大きいかどうかを判断する。距離が閾値よりも大きい場合はS1607に進み、アプリケーションプログラム制御回路210は、状態変化フラグをOFFに切り替える処理を実行して近接判定処理ルーチンを終了する。
ここで、閾値は、発光モジュールの種類毎に設定される数値であり、異型のモジュール(本実施例では撮像モジュール500)が進入してしまう程に配光角が広いかどうかを判定するために、事前に任意で設定される定数である。この閾値は、詳しくは後述するカメラ510における光軸と発光モジュール601における発光中心691との水平方向の最短距離と、垂直方向の最短距離と、にそれぞれ対応するように、水平方向の閾値と垂直方向の閾値とが設定されると好ましい。そして、水平方向と垂直方向とのいずれか一方でも最短距離が閾値以下となった場合は、S1605に進むことになる。
また、比較的配光角の広い発光モジュール601と、発光モジュール601よりも配光角の狭い発光モジュール(不図示)とでは、閾値が異なる。具体的には、発光モジュール601の配光角に対して設定される第1の閾値は、発光モジュール601よりも配光角の狭い発光モジュール(不図示)の配光角に対して設定される第2の閾値よりも大きくなるように設定されている。このように、閾値は発光モジュールの配光角の大きさに対応して予め設定され、発光モジュールの配光角の大きさが大きいほど、閾値は大きくなるように設定されるとよい。また、閾値は照射範囲の大きさに対応して予め設定され、スマートデバイス本体100からの距離が同じ位置では、照射範囲の大きさが大きいほど、閾値は大
きく設定されるとよい。
きく設定されるとよい。
また、同じ撮像モジュール500であっても、変倍レンズを光軸方向に駆動するレンズ駆動手段を備える場合や、撮影可能範囲よりも小さな任意の撮影範囲を切り出すトリミング手段を備える場合には、それぞれの画角に応じて閾値を異ならせてもよい。具体的には、広角側の焦点距離に対して設定される第3の閾値は、望遠側の焦点距離に対して設定される第4の閾値よりも大きくなるように設定されると好適である。そして、こうした撮像モジュールと焦点距離とのそれぞれの閾値の組み合わせを、予め管理テーブルとして撮像モジュール500の不揮発性メモリに記憶させておき、焦点距離の変化に応じて、対応する組み合わせを取得する制御としてもよい。また、本実施例では、閾値は、発光モジュール601の種類毎に設定されるものであるが、これに限るものではなく、発光モジュール601の種類、及び/又は撮像モジュール500の種類に対応して予め設定されるものであるとよい。また、撮像モジュール500の種類は、撮像モジュール500の外形(カメラ510の外形形状、カメラ510先端の高さ等)で分類されるものであるとよい。
S1604で距離が閾値以下であることを検出した場合は、S1605に進み、アプリケーションプログラム制御回路210は、撮影機能を調整して撮影機能の一部を制限するか、もしくは表示操作モジュール300などに情報を表示してユーザに通知する。尚、ユーザに通知する場合は、必ずしも撮影機能の一部を制限する必要はなく、通知に対してユーザの操作入力等があれば、ユーザの入力に応じた処理を行うものであればよい。ユーザの入力によっては、状況に応じてそのままS1606に移行してもよい。また、表示操作モジュール300などに情報を表示してユーザに通知する際には、エラーが生じたことを表示したり、警告を表示したりするとよい。このとき、さらに、エラーを解消するための方法に関するガイダンスを表示するとよい。
S1605において撮影機能の一部を制限する場合には、カメラ510における光軸と発光モジュール601における発光中心691との距離と、カメラ510の外形情報と、に応じて、レンズの焦点距離を望遠寄りに変更する制御が好適である。具体的には、アプリケーションプログラム制御回路210が変倍レンズを駆動し、水平方向における画角と垂直方向における画角とを狭めて撮影範囲を光学的に限定する。このことで、カメラ510によって発生する影が撮影範囲内に写り込むのを回避することが可能となる。他にも、像振れ補正手段が少なくとも1つのレンズを光軸と直交する方向に駆動し、撮影範囲を発光モジュール601から離間する方向に光学的に移動させる構成であってもよい。またこうした制御は、前述のトリミング手段によって電子的に実行され、撮影可能範囲よりも小さな撮影範囲を切り出すことで、カメラ510によって発生する影が撮影範囲内に写り込むのを回避する構成であっても構わない。尚、このときの最適な焦点距離や、トリミング手段によって切り出す撮影範囲は、後述する、カメラ510先端の高さZ501の距離において計算される発光モジュール601の照射範囲から、比較的容易に導き出すこともできる。また、本実施例はこうした撮影機能の一部を制限する方法を限定するものではなく、またこれらは公知であるため、個別の詳細な説明は省略する。
続いてS1606において、アプリケーションプログラム制御回路210は、次に示す管理情報を更新する。それは、S1603で計算したカメラ510における光軸と発光モジュール601における発光中心691との距離の管理情報と、不揮発性メモリ214及びメモリ212の所定領域に格納された管理情報である。ここで、管理情報は、S1603で新たに得た距離の管理情報の他に、モジュール管理情報、EPM制御管理情報、RFバス構成管理情報を含む。
その後、S1607へ進み、アプリケーションプログラム制御回路210は、状態変化フラグをOFFに切り替える処理を実行する。ここで状態変化フラグをONにするタイミングは、例えば実施例1で図8に従って前述したモジュール設定処理の動作フローにおけ
るS1308のように、新たな該当モジュールをスマートデバイス本体100に対して装着した時である。
一方、状態変化フラグをOFFにするタイミングは、例えば図16に示すS1607のように、管理ファイルを最新の状態に更新した直後である。こうして本実施例では、適切なタイミングで状態変化フラグのONとOFFとを切り替えることにより、モジュールの状態変化を常に管理できる。
以上で、スマートデバイス50の一連の動作フローの説明を終了する。
その後、S1607へ進み、アプリケーションプログラム制御回路210は、状態変化フラグをOFFに切り替える処理を実行する。ここで状態変化フラグをONにするタイミングは、例えば実施例1で図8に従って前述したモジュール設定処理の動作フローにおけ
るS1308のように、新たな該当モジュールをスマートデバイス本体100に対して装着した時である。
一方、状態変化フラグをOFFにするタイミングは、例えば図16に示すS1607のように、管理ファイルを最新の状態に更新した直後である。こうして本実施例では、適切なタイミングで状態変化フラグのONとOFFとを切り替えることにより、モジュールの状態変化を常に管理できる。
以上で、スマートデバイス50の一連の動作フローの説明を終了する。
また、本実施例においても前述のように、カメラ510先端の高さZ501における発光モジュール601の照射範囲を計算することも比較的容易である。そこで、閾値を用いることなく計算結果に基づいて、発光モジュール601の照射範囲がカメラ510の外形によって遮られるかどうかを判定する制御を行ってもよい。この場合は、図16のS1601で説明した制御と同様に、各スロットの位置情報と、撮像モジュール500の外部から見た光軸の座標情報と、カメラ510の外形情報と、発光モジュール601の外部から見た発光中心691の座標情報と、を取得する。このときのカメラ510の外形情報には、カメラ510先端の高さZ501の数値だけでなく、前述の水平方向の座標情報と、垂直方向の座標情報と、が含まれている。更にこれらに加えて、発光モジュール601の配光情報を発光モジュール601の不揮発性メモリ622から取得することで、水平方向の照射範囲X601と、垂直方向の照射範囲Y601と、を計算する。
図17は、図16のS1603において実行されるカメラ510における光軸と発光モジュール601における発光中心691との距離の計算方法を説明するための図である。また図18(a)、18(b)と図19(a)、19(b)とは、カメラ510における光軸と発光モジュール601における発光中心691との詳細な位置関係を説明するための図である。図18(a)は、図17のS301−S301断面図であり、図17においてカメラ510の光軸を含む位置で撮像モジュール500を水平方向に切断した際の断面図である。一方、図18(b)は、図17のS302−S302断面図であり、図17においてカメラ510の光軸を含む位置で撮像モジュール500を垂直方向に切断した際の断面図である。図19(a)は、図17のS303−S303断面図であり、図17において発光モジュール601の発光中心691を含む位置で発光モジュール601を水平方向に切断した際の断面図である。一方、図19(b)は、図17のS304−S304断面図であり、図17において発光モジュール601の発光中心691を含む位置で発光モジュール601を垂直方向に切断した際の断面図である。
前述した図16のS1601において、アプリケーションプログラム制御回路210は、スマートデバイス本体100の不揮発性メモリ114から各スロットの位置情報を取得する。前述したように各スロットの位置情報とは、スロット1500とスロット1600との位置情報を含み、モジュールの位置を決定する各リブ101やスパイン102の突き当て面の位置を特定するものである。これと同時にS1601においてアプリケーションプログラム制御回路210は、撮像モジュール500の不揮発性メモリ522から撮像モジュール500の外部から見た光軸の座標X301・Y301と、カメラ510先端の高さZ501と、の数値を取得する。またアプリケーションプログラム制御回路210は、発光モジュール601の不揮発性メモリ622から発光モジュール601の外部から見た発光中心691の座標X303・Y302の数値を取得する。
このときX301は、撮像モジュール500の突き当て面からカメラ510における光軸までの水平方向の長さを示しており、同じくY301は、垂直方向の長さを示している。X302は、スマートデバイス本体100におけるスパイン102の水平方向の長さを示している。X303は、発光モジュール601の突き当て面から発光中心691までの水平方向の長さを示しており、同じくY302は、垂直方向の長さを示している。
カメラ510における光軸と発光中心691との水平方向の最短距離X300は、X301〜X303から幾何学的に算出されるものである。ここで本実施例における水平方向の最短距離X300は、下記式10に示す計算式によって求められる。
[式10]
X300=|X301+X302+X303|
また同様に、カメラ510における光軸と発光中心691との垂直方向の最短距離Y300は、Y301、Y302から幾何学的に算出されるものである。ここで本実施例における垂直方向の最短距離Y300は、下記式11に示す計算式によって求められる。
[式11]
Y300=|Y301−Y302|
[式10]
X300=|X301+X302+X303|
また同様に、カメラ510における光軸と発光中心691との垂直方向の最短距離Y300は、Y301、Y302から幾何学的に算出されるものである。ここで本実施例における垂直方向の最短距離Y300は、下記式11に示す計算式によって求められる。
[式11]
Y300=|Y301−Y302|
このようにして求められた最短距離X300,Y300と、カメラ510先端の高さZ501における発光モジュール601の照射範囲X601,Y601とから、発光モジュール601の照射範囲がカメラ510の外形によって遮られるかどうかを判定できる。このとき、最短距離X300の値が、照射範囲X601の値の1/2以下であり、最短距離Y300の値が、照射範囲Y601の値の1/2以下であるときに、発光モジュール601の照射範囲がカメラ510の外形によって遮られると判定する。
このように、前述した閾値を用いずに、カメラ510における光軸と発光中心691との最短距離と、カメラ510先端の高さZ501における発光モジュール601の照射範囲を計算で求めることによっても、前述の判定を行うことができる。
この計算式自体は比較的単純であり、アプリケーションプログラム制御モジュール200のメモリ212や不揮発性メモリ214に要求されるメモリ容量は比較的少ない。更に、アプリケーションプログラム制御回路210による処理速度は非常に高速であるため、撮影開始までにタイムラグを生じさせてしまうおそれはない。
このように、前述した閾値を用いずに、カメラ510における光軸と発光中心691との最短距離と、カメラ510先端の高さZ501における発光モジュール601の照射範囲を計算で求めることによっても、前述の判定を行うことができる。
この計算式自体は比較的単純であり、アプリケーションプログラム制御モジュール200のメモリ212や不揮発性メモリ214に要求されるメモリ容量は比較的少ない。更に、アプリケーションプログラム制御回路210による処理速度は非常に高速であるため、撮影開始までにタイムラグを生じさせてしまうおそれはない。
以上、閾値を用いることなく計算結果に基づいて、発光モジュール601の照射範囲が撮像モジュール500によって遮られるかどうかを判定する方法について説明した。
ここで、次のような方法により、発光モジュール601の照射範囲が撮像モジュール500によって遮られるかどうかを判定してもよい。
まず、発光モジュール601に関する情報と、撮像モジュール500に関する情報と、閾値との関係を予め設定しておく。このとき、発光モジュール601に関する情報は、発光モジュール601の照射範囲に関する情報であるとよく、この情報は発光モジュール601の種類毎に設定されるとよい。また、撮像モジュール500に関する情報は、撮像モジュール500のカメラ510の高さZ501に関する情報であるとよく、この情報は、撮像モジュール500の種類毎に設定されるとよい。そして、発光モジュール601に関する情報と、撮像モジュール500に関する情報から当該閾値を取得し、発光モジュール601と撮像モジュール500との距離が、当該閾値より大きいかどうかを判定してもよい。この判定が否定判定のときに、遮られると判定できる。また当該閾値においても、図16に示した閾値同様、発光モジュール601の種類、及び/又は撮像モジュール500の種類に対応して設定されるとよい。
また、発光モジュール601と撮像モジュール500とがスマートデバイス本体100のスロットに装着された場合に、発光モジュール601の照射範囲が撮像モジュール500によって遮られるスロットの組み合わせが予め設定されていてもよい。そして、発光モジュール601と撮像モジュール500とがスマートデバイス本体100に装着された場合に、各モジュールが装着されたスロットの組み合わせから、発光モジュールの照射範囲が撮像モジュールによって遮られるかどうかを判定してもよい。
ここで、次のような方法により、発光モジュール601の照射範囲が撮像モジュール500によって遮られるかどうかを判定してもよい。
まず、発光モジュール601に関する情報と、撮像モジュール500に関する情報と、閾値との関係を予め設定しておく。このとき、発光モジュール601に関する情報は、発光モジュール601の照射範囲に関する情報であるとよく、この情報は発光モジュール601の種類毎に設定されるとよい。また、撮像モジュール500に関する情報は、撮像モジュール500のカメラ510の高さZ501に関する情報であるとよく、この情報は、撮像モジュール500の種類毎に設定されるとよい。そして、発光モジュール601に関する情報と、撮像モジュール500に関する情報から当該閾値を取得し、発光モジュール601と撮像モジュール500との距離が、当該閾値より大きいかどうかを判定してもよい。この判定が否定判定のときに、遮られると判定できる。また当該閾値においても、図16に示した閾値同様、発光モジュール601の種類、及び/又は撮像モジュール500の種類に対応して設定されるとよい。
また、発光モジュール601と撮像モジュール500とがスマートデバイス本体100のスロットに装着された場合に、発光モジュール601の照射範囲が撮像モジュール500によって遮られるスロットの組み合わせが予め設定されていてもよい。そして、発光モジュール601と撮像モジュール500とがスマートデバイス本体100に装着された場合に、各モジュールが装着されたスロットの組み合わせから、発光モジュールの照射範囲が撮像モジュールによって遮られるかどうかを判定してもよい。
以上説明したように、本実施例では、発光モジュール601の照射範囲が、撮像モジュール500のカメラ510によって遮られるかどうかを判定し、判定結果に応じて所定の処理を行っている。これにより、発光モジュール601の照射範囲が、カメラ510によって遮られることを抑制することが可能となる。さらにスマートデバイス50においては、所望の撮影機能を最大限に活かすことができるかどうかを判定でき、アプリケーションプログラムをより適正に動作させることが可能となる。
ここで、本実施例では、発光モジュール601の照射範囲が、撮像モジュール500によって遮られることを抑制するものであったが、これに限るものではない。すなわち、発光モジュール601の照射範囲が、スマートデバイス本体100に装着される他のモジュールによって遮られることを抑制するものであればよく、装着される他のモジュールは、撮像モジュール500とは異なるモジュールであってもよい。
ここで、本実施例では、発光モジュール601の照射範囲が、撮像モジュール500によって遮られることを抑制するものであったが、これに限るものではない。すなわち、発光モジュール601の照射範囲が、スマートデバイス本体100に装着される他のモジュールによって遮られることを抑制するものであればよく、装着される他のモジュールは、撮像モジュール500とは異なるモジュールであってもよい。
(実施例4)
以下に、実施例4について説明する。
本実施例では、前述した実施例3におけるスマートデバイス本体100とモジュールは同じものを用い、実施例3に対して、モジュールを取り付けるスロットを変更(モジュールとスロットの組み合わせを変更)した。なお、以下では、実施例3と異なる構成や処理について説明し、実施例3と同様の構成や処理についての説明は省略する。
以下に、実施例4について説明する。
本実施例では、前述した実施例3におけるスマートデバイス本体100とモジュールは同じものを用い、実施例3に対して、モジュールを取り付けるスロットを変更(モジュールとスロットの組み合わせを変更)した。なお、以下では、実施例3と異なる構成や処理について説明し、実施例3と同様の構成や処理についての説明は省略する。
図20は、本実施例のスマートデバイス50の外観図であり、図16のS1603において実行されるカメラ510における光軸と発光モジュール601における発光中心691との距離の計算方法を説明するための図である。また図21(a)、21(b)と図22(a)、22(b)とは、カメラ510における光軸と発光モジュール601における発光中心691との詳細な位置関係を説明するための図である。図21(a)は、図20のS401−S401断面図であり、図20においてカメラ510の光軸を含む位置で撮像モジュール500を水平方向に切断した際の断面図である。一方、図21(b)は、図20のS402−S402断面図であり、図20においてカメラ510の光軸を含む位置で撮像モジュール500を垂直方向に切断した際の断面図である。
図22(a)は、図20のS403−S403断面図であり、図20において発光モジュール601の発光中心691を含む位置で発光モジュール601を水平方向に切断した際の断面図である。一方、図22(b)は、図20のS404−S404断面図であり、図20において発光モジュール601の発光中心691を含む位置で発光モジュール601を垂直方向に切断した際の断面図である。
図22(a)は、図20のS403−S403断面図であり、図20において発光モジュール601の発光中心691を含む位置で発光モジュール601を水平方向に切断した際の断面図である。一方、図22(b)は、図20のS404−S404断面図であり、図20において発光モジュール601の発光中心691を含む位置で発光モジュール601を垂直方向に切断した際の断面図である。
本実施例では、実施例3と異なり、スマートデバイス本体100の背面側において、スロット1600に撮像モジュール500が、またスロット1700に発光モジュール601が装着されている。
また、実施例2と比べると、本実施例では、スロット1700に装着されているモジュールが異なっている。すなわち、実施例2では、スロット1700に外部I/Oモジュール600が装着されていたのに対し、本実施例では、スロット1700に発光モジュール601が装着されている。
このような構成によって、カメラ510における光軸と発光モジュール601における発光中心691とをより離して配置することができる。また、ユーザがスマートデバイス50を使用する際の持ちやすさなどによっても、こうした撮像モジュール500と発光モジュール601との位置関係は変更されるものである。
また、実施例2と比べると、本実施例では、スロット1700に装着されているモジュールが異なっている。すなわち、実施例2では、スロット1700に外部I/Oモジュール600が装着されていたのに対し、本実施例では、スロット1700に発光モジュール601が装着されている。
このような構成によって、カメラ510における光軸と発光モジュール601における発光中心691とをより離して配置することができる。また、ユーザがスマートデバイス50を使用する際の持ちやすさなどによっても、こうした撮像モジュール500と発光モジュール601との位置関係は変更されるものである。
前述したように、図16のS1601において、アプリケーションプログラム制御回路210は、スマートデバイス本体100の不揮発性メモリ114から各スロットの位置情報を取得する。これと同時に、S1601においてアプリケーションプログラム制御回路210は、撮像モジュール500の不揮発性メモリ522から撮像モジュール500の外
部から見た光軸の座標X403・Y402と、カメラ510先端の高さZ501の数値を取得する。またアプリケーションプログラム制御回路210は、発光モジュール601の不揮発性メモリ622から発光モジュール601の外部から見た発光中心691の座標X401・Y401の数値を取得する。
このときX403は、撮像モジュール500の突き当て面からカメラ510における光軸までの水平方向の長さを示しており、同じくY402は、垂直方向の長さを示している。X402は、スマートデバイス本体100におけるスパイン102の水平方向の長さを示している。X401は、発光モジュール601の突き当て面から発光中心691までの水平方向の長さを示しており、同じくY401は、垂直方向の長さを示している。
部から見た光軸の座標X403・Y402と、カメラ510先端の高さZ501の数値を取得する。またアプリケーションプログラム制御回路210は、発光モジュール601の不揮発性メモリ622から発光モジュール601の外部から見た発光中心691の座標X401・Y401の数値を取得する。
このときX403は、撮像モジュール500の突き当て面からカメラ510における光軸までの水平方向の長さを示しており、同じくY402は、垂直方向の長さを示している。X402は、スマートデバイス本体100におけるスパイン102の水平方向の長さを示している。X401は、発光モジュール601の突き当て面から発光中心691までの水平方向の長さを示しており、同じくY401は、垂直方向の長さを示している。
カメラ510における光軸と発光中心691との水平方向の最短距離X400は、X401〜X403から幾何学的に算出されるものである。ここで本実施例における水平方向の最短距離X400は、下記式12に示す計算式によって求められる。
[式12]
X400=|X401+X402+X403|
また同様に、カメラ510における光軸と発光中心691との垂直方向の最短距離Y400は、Y401、Y402から幾何学的に算出されるものである。ここで本実施形態における垂直方向の最短距離Y400は、下記式13に示す計算式によって求められる。
[式13]
Y400=|Y401−Y402|
[式12]
X400=|X401+X402+X403|
また同様に、カメラ510における光軸と発光中心691との垂直方向の最短距離Y400は、Y401、Y402から幾何学的に算出されるものである。ここで本実施形態における垂直方向の最短距離Y400は、下記式13に示す計算式によって求められる。
[式13]
Y400=|Y401−Y402|
このようにして求められた最短距離X400,Y400を用いることで、前述した実施例3同様、発光モジュール601の照射範囲がカメラ510の外形によって遮られるかどうかを判定できる。
以上説明したように、本実施例においても実施例3同様、発光モジュール601の照射範囲が、カメラ510によって遮られることを抑制することが可能となる。
以上説明したように、本実施例においても実施例3同様、発光モジュール601の照射範囲が、カメラ510によって遮られることを抑制することが可能となる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
50…スマートデバイス、100…スマートデバイス本体、110…システム制御回路、200…アプリケーションプログラム制御モジュール、500…撮像モジュール、600…外部I/Oモジュール
Claims (22)
- 第1モジュールと第2モジュールとが電子機器本体に対して着脱可能に取り付けられ、前記第1モジュールが、所定の範囲からの光を受光する機能、又は所定の範囲に光を照射する機能を有する電子機器において、
前記第1モジュールに関する情報を取得する第1取得手段と、
前記第2モジュールに関する情報を取得する第2取得手段と、
前記第1モジュールに関する情報、及び前記第2モジュールに関する情報に基づいて、前記第1モジュールが受光する光、又は前記第1モジュールが発光する光に、前記第2モジュールによって遮られる部分があるかどうかの判定を行う判定手段と、
前記判定手段の判定結果に応じて所定の処理を行う処理手段と、
を有することを特徴とする電子機器。 - 前記判定手段は、
前記第1取得手段から前記第1モジュールの位置に関する情報を取得し、
前記第2取得手段から前記第2モジュールの位置に関する情報を取得し、
前記第1モジュールの位置と、前記第2モジュールの位置との間の距離の大きさが、閾値よりも大きいかどうかを判定し、否定判定の場合に、前記遮られる部分があると判定する
ことを特徴とする請求項1に記載の電子機器。 - 前記閾値は、前記第1モジュールの種類に関する情報、又は前記第2モジュールの外形に関する情報に対応して予め設定されている
ことを特徴とする請求項2に記載の電子機器。 - 前記閾値は、前記所定の範囲の大きさに対応して予め設定され、
前記電子機器本体からの距離が同じ位置では、前記所定の範囲の大きさが大きいほど、前記閾値は大きい
ことを特徴とする請求項2又は3に記載の電子機器。 - 前記第1モジュールと前記第2モジュールとのうちいずれかは、光を受光して撮像を行う撮像モジュールであり、
前記撮像モジュールは、撮影可能範囲よりも小さな撮影範囲を切り出し、見かけの焦点距離を電子的に変更することが可能なトリミング手段、又は、光学素子を光軸方向に移動させて焦点距離を変更する変更手段を有し、
前記閾値は、前記撮像モジュールの焦点距離に対応して予め設定され、焦点距離が広角側であるほど、前記閾値は大きい
ことを特徴とする請求項2又は3に記載の電子機器。 - 前記判定手段は、
前記第1取得手段から前記第1モジュールの位置及び種類に関する情報を取得し、
前記第2取得手段から前記第2モジュールの位置及び外形に関する情報を取得し、
前記第1モジュールの位置に関する情報と、前記第1モジュールの種類に対応する前記所定の範囲に関する情報と、前記第2モジュールの位置及び外形に関する情報とに基づいて、前記判定を行う
ことを特徴とする請求項1に記載の電子機器。 - 前記第1モジュールは、光を受光して撮像を行う撮像モジュールであり、
前記所定の範囲に関する情報は、前記撮像モジュールの像面の位置に関する情報、前記撮像モジュールの焦点距離に関する情報、及び前記撮像モジュールの画角に関する情報を
含む
ことを特徴とする請求項1乃至6のいずれか1項に記載の電子機器。 - 前記撮像モジュールと前記第2モジュールとのうちいずれかが前記電子機器本体に取り付けられたこと、又は、前記電子機器本体に取り付けられた前記撮像モジュールの状態が変化したことを検出する検出手段を有し、
前記判定手段は、前記検出手段による検出が行われたときに、前記判定を行う
ことを特徴とする請求項7に記載の電子機器。 - 前記処理手段は、前記判定手段により前記遮られる部分があると判定された場合、前記遮られる部分をなくすために、前記撮像モジュールの撮影機能の調整を行う
ことを特徴とする請求項7又は8に記載の電子機器。 - 前記第2モジュールは、外部の接続端子と接続可能な接続手段を有し、
前記処理手段は、前記判定手段により前記遮られる部分があると判定された場合、又は、前記接続手段に前記外部の接続端子が接続されている場合、前記遮られる部分をなくすために、前記撮像モジュールの撮影機能の調整を行う
ことを特徴とする請求項7又は8に記載の電子機器。 - 前記第1モジュールは、光を発光する発光モジュールであり、
前記所定の範囲に関する情報は、前記発光モジュールの配光角に関する情報を含む
ことを特徴とする請求項1乃至6のいずれか1項に記載の電子機器。 - 前記第2モジュールは、光を受光して撮像を行う撮像モジュールであり、
前記発光モジュールと前記撮像モジュールとのうちいずれかが前記電子機器本体に取り付けられたこと、又は、前記電子機器本体に取り付けられた前記撮像モジュールの状態が変化したことを検出する検出手段を有し、
前記判定手段は、前記検出手段による検出が行われたときに、前記判定を行う
ことを特徴とする請求項11に記載の電子機器。 - 前記発光モジュールは、
前記撮像モジュールの露光動作中に発光する第1の動作モードと、
前記撮像モジュールが露光動作を行っていないときに発光する第2の動作モードと
を切り替えて発光することができ、
前記発光モジュールと前記撮像モジュールとのうちいずれかが前記電子機器本体に取り付けられたこと、又は、前記電子機器本体に取り付けられた前記撮像モジュールの状態が変化したことを検出する検出手段を有し、
前記判定手段は、前記検出手段による検出が行われたときであって、前記発光モジュールが前記第1の動作モードで発光するときに、前記判定を行う
ことを特徴とする請求項12に記載の電子機器。 - 前記第2モジュールは、光を受光して撮像を行う撮像モジュールであり、
前記処理手段は、前記判定手段により前記遮られる部分があると判定された場合、前記遮られる部分をなくすために、前記撮像モジュールの撮影機能の調整を行う
ことを特徴とする請求項11乃至13のいずれか1項に記載の電子機器。 - 前記撮像モジュールは、撮影可能範囲よりも小さな撮影範囲を切り出すことが可能なトリミング手段を有し、
前記処理手段は、前記撮像モジュールの撮影機能の調整を行う際、前記トリミング手段により前記撮影可能範囲よりも小さな撮影範囲を切り出す
ことを特徴とする請求項9,10又は14に記載の電子機器。 - 前記処理手段は、
前記第1取得手段から前記第1モジュールの位置及び種類に関する情報を取得し、
前記第2取得手段から前記第2モジュールの位置及び外形に関する情報を取得し、
前記第1モジュールの位置に関する情報と、前記第1モジュールの種類に対応する前記所定の範囲に関する情報と、前記第2モジュールの位置及び外形に関する情報とに基づいて、前記トリミング手段によって切り出す撮影範囲を計算する
ことを特徴とする請求項15に記載の電子機器。 - 前記撮像モジュールは、光学素子を光軸方向に移動させて焦点距離を変更する変更手段を有し、
前記処理手段は、前記撮像モジュールの撮影機能の調整を行う際、前記変更手段により焦点距離を望遠側に変更する
ことを特徴とする請求項9,10又は14に記載の電子機器。 - 前記第1取得手段から前記第1モジュールの位置及び種類に関する情報を取得し、
前記第2取得手段から前記第2モジュールの位置及び外形に関する情報を取得し、
前記第1モジュールの位置に関する情報と、前記第1モジュールの種類に対応する前記所定の範囲に関する情報と、前記第2モジュールの位置及び外形に関する情報とに基づいて、前記変更手段によって変更する焦点距離を計算する
ことを特徴とする請求項17に記載の電子機器。 - 前記第1モジュールと前記第2モジュールとのうちいずれ一方が、光を受光して撮像を行う撮像モジュールであり、
前記撮像モジュールは、光学素子を光軸方向に直交する方向に移動させる移動手段を有し、
前記処理手段は、前記撮像モジュールの撮影機能の調整を行う際、前記第1モジュールと前記第2モジュールとのうち他方のモジュールから離間する方向に前記所定の範囲を移動させるために、前記移動手段により前記光学素子を移動させる
ことを特徴とする請求項9,10又は14に記載の電子機器。 - 前記判定手段の判定結果に関する情報を通知する通知手段と、
ユーザによる入力を受け付ける入力手段と、
を有し、
前記処理手段は、前記判定手段により前記遮られる部分があると判定された場合に、前記遮られる部分があることを前記通知手段により通知した後、前記入力手段が受け付けた入力に応じた処理を行う
ことを特徴とする請求項1乃至8,11乃至13のいずれか1項に記載の電子機器。 - 第1モジュールと第2モジュールとが電子機器本体に対して着脱可能に取り付けられ、前記第1モジュールが、所定の範囲からの光を受光する機能、又は所定の範囲に光を照射する機能を有する電子機器の制御方法において、
前記第1モジュールに関する情報を取得するステップと、
前記第2モジュールに関する情報を取得するステップと、
前記第1モジュールに関する情報、及び前記第2モジュールに関する情報に基づいて、前記第1モジュールが受光する光、又は前記第1モジュールが発光する光に、前記第2モジュールによって遮られる部分があるかどうかの判定を行う判定ステップと、
前記判定ステップの判定結果に応じて所定の処理を行うステップと、
を含むことを特徴とする電子機器の制御方法。 - 請求項21に記載の電子機器の制御方法の各ステップをコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017231743A JP2019102972A (ja) | 2017-12-01 | 2017-12-01 | 電子機器及びその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017231743A JP2019102972A (ja) | 2017-12-01 | 2017-12-01 | 電子機器及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019102972A true JP2019102972A (ja) | 2019-06-24 |
Family
ID=66977294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017231743A Pending JP2019102972A (ja) | 2017-12-01 | 2017-12-01 | 電子機器及びその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019102972A (ja) |
-
2017
- 2017-12-01 JP JP2017231743A patent/JP2019102972A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6929094B2 (ja) | 電子機器、撮像装置、及び制御方法、並びにプログラム | |
JP6906995B2 (ja) | 電子機器、撮像装置、及び制御方法、並びにプログラム | |
CN105446053B (zh) | 相机镜头模块 | |
US10359861B2 (en) | Electronic device and control method thereof | |
JP2020003810A (ja) | アクセサリー、アクセサリーの動作方法、及び、アクセサリーの動作制御プログラム | |
JP4958535B2 (ja) | メカニカルシャッタの制御方法及び撮像装置 | |
JP5316686B2 (ja) | 交換レンズ | |
JP2007003646A (ja) | カメラシステム、レンズユニット、及びアクセサリ | |
US9823468B2 (en) | Barrier for a lens | |
JP2011211541A (ja) | 撮像装置、その制御方法、プログラム及び記録媒体 | |
CN105721753A (zh) | 镜头组装方法和镜头组装装置 | |
JP5262693B2 (ja) | 撮像装置 | |
KR20170064882A (ko) | 전자 프레임의 충전 어셈블리 및 전자 프레임의 충전 방법 | |
KR102635884B1 (ko) | 조리개를 포함하는 카메라 모듈 | |
JP2019102972A (ja) | 電子機器及びその制御方法 | |
JP6946033B2 (ja) | 電子機器、撮像装置、及び制御方法、並びにプログラム | |
EP2667585A1 (en) | Combined camera and flash lens | |
US20190014199A1 (en) | Electronic equipment and method for controlling the same | |
JP2022183285A (ja) | アクセサリ及びこれを装着可能な撮像装置、撮像システム | |
US9547219B2 (en) | Photographing apparatus having an external optical component connector and method of controlling the same | |
WO2018177564A1 (en) | Mounts for mobile devices | |
JP2008256844A (ja) | 撮像装置及びその制御方法 | |
CN212343582U (zh) | 一种摄像滑轨的控制装置及滑轨摄像系统 | |
JP2013125170A (ja) | アダプター、カメラシステム、およびアダプター制御プログラム | |
JP2019015945A (ja) | 電子機器及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20181116 |