以下、発明の実施の形態を通じて本発明を説明するが、以下の実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。以下の実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイルまたはレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
本発明の様々な実施形態は、フローチャート及びブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、プログラマブル回路、及び/またはプロセッサによって実装されてよい。専用回路は、デジタル及び/またはアナログハードウェア回路を含んでよい。集積回路(IC)及び/またはディスクリート回路を含んでよい。プログラマブル回路は、再構成可能なハードウェア回路を含んでよい。再構成可能なハードウェア回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、及び他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含んでよい。
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよい。その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM(登録商標))、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードの何れかを含んでよい。ソースコードまたはオブジェクトコードは、従来の手続型プログラミング言語を含む。従来の手続型プログラミング言語は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語または同様のプログラミング言語でよい。コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供されてよい。プロセッサまたはプログラマブル回路は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
図1は、本実施形態に係る撮像装置100の外観斜視図の一例を示す図である。図2は、本実施形態に係る撮像装置100の機能ブロックの一例を示す。撮像装置100は、撮像部102及びレンズ装置200を備える。
撮像部102は、イメージセンサ120、撮像制御部110、及びメモリ130を有する。イメージセンサ120は、CCDまたはCMOSにより構成されてよい。イメージセンサ120は、レンズ210により結像された光学像を撮像する。イメージセンサ120は、レンズ210を介して結像された光学像の画像データを撮像制御部110に出力する。
撮像制御部110は、CPUまたはMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。撮像制御部110は、ユーザからの操作部を介した撮像装置100の動作命令に応じて、撮像装置100を制御してよい。メモリ130は、コンピュータ可読可能な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。メモリ130は、撮像制御部110がイメージセンサ120などを制御するのに必要なプログラム等を格納する。メモリ130は、撮像装置100の筐体の内部に設けられてよい。メモリ130は、撮像装置100の筐体から取り外し可能に設けられてよい。
レンズ装置200は、レンズ210、レンズ制御部220、メモリ222、移動機構230、移動筒260、固定筒270、及びセンサ280を有する。
移動筒260及び固定筒270は、レンズ鏡筒を構成する。レンズ鏡筒は、前玉繰り出し方式、または全群繰り出し方式のレンズ鏡筒でよい。固定筒270は、移動筒260をレンズ210の光軸方向に移動可能に保持する。移動筒260は、レンズ210を保持し、レンズ210とともに光軸方向に移動可能に固定筒270に支持されている。移動機構230は、レンズ210を光軸方向に移動させる。移動機構230は、移動筒260を介してレンズ210を光軸方向に移動させる。移動機構230は、電動機を含む。電動機は、ステッピングモータでよい。
レンズ210は、フォーカスレンズとして機能してよい。レンズ装置200は、撮像部102に対して着脱可能に設けられる交換レンズでよい。レンズ装置200は、複数のレンズ210を備えてよい。
センサ280は、レンズ210の絶対的な位置を検出する。センサ280は、可変抵抗式のリニアセンサでよい。センサ280は、レンズ210とともに移動する電気接点282と、光軸方向に沿って配置される抵抗284とを有する。センサ280は、抵抗284に流れる電流を検出することで、レンズ210の絶対的な位置を検出してよい。図2に示す例では、電気接点282が移動筒260に設けられ、抵抗284が固定筒270に設けられている。しかし、電気接点282が固定筒270に設けられ、抵抗284が移動筒260に設けられてもよい。固定筒270に対してレンズ210の絶対的な位置が検出できるのであれば、電気接点282及び抵抗284は任意の場所に設けられてよい。センサ280は、リニアセンサ以外に、磁気抵抗センサ、またはホールセンサなど、レンズ210の絶対的な位置を検出可能なセンサであれば、任意のセンサでよい。
メモリ222は、レンズ210の制御値を記憶する。メモリ222は、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。
レンズ制御部220は、CPUまたはMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。レンズ制御部220は、センサ280から取得したレンズ210の位置に基づいて、移動機構230を介してレンズ210の位置を制御する。
ここで、撮像装置100は、電力消費を抑制するために、予め定められた時間以上、ユーザからの撮像装置100への操作がなければ、アクティブ状態からスタンバイ状態に移行する。予め定められた時間以上、ユーザからの撮像装置100への操作がなければ、レンズ装置200は、アクティブ状態からスタンバイ状態に移行する。アクティブ状態は、撮像装置100が撮影するのに必要な回路に電源が供給されている状態をいう。スタンバイ状態は、撮像装置100が撮影するのに必要な少なくとも1つの回路に電力が供給されていない、もしくは撮像装置100が撮影するのに必要な少なくとも1つの回路に、アクティブ状態の場合よりも低い電力が供給されている状態をいう。
レンズ装置200がスタンバイ状態のときに、ユーザが移動筒260を手などで押すことで、レンズ210が移動する可能性がある。レンズ制御部220は、移動機構230を構成するステッピングモータに供給するパルス数に基づいて、レンズ210の相対的な位置を検知して、レンズ210の位置を制御することが考えられる。しかし、このような方法で、レンズ210の位置を検知する場合、レンズ装置200がスタンバイ状態の間、レンズ制御部220は、レンズ210の位置を検出できない。したがって、レンズ装置200がスタンバイ状態の間に、ユーザが手でレンズ鏡筒の前面を押すなどの外的要因でレンズ210が移動してしまうと、アクティブ状態に復帰したレンズ制御部220が、レンズ210の位置を正確に認識していない可能性がある。この状態で、レンズ制御部220が、移動機構230を介して、レンズ210の位置を制御すると、レンズ210がレンズ鏡筒の内壁に衝突するなどレンズ210の位置の制御に影響が生じる可能性がある。
また、ユーザは、撮像装置100がスタンバイ状態からアクティブ状態に復帰した直後に、レンズ210の予め定められた位置で、撮影することを期待している場合がある。ユーザは、撮像装置100がスタンバイ状態からアクティブ状態に復帰した直後に、スタンバイ状態に移行する直前のレンズ210の位置で、撮影することを期待している場合がある。ユーザは、撮像装置100がスタンバイ状態からアクティブ状態に復帰した直後に、スタンバイ状態に移行する直前のフォーカス位置またはズーム位置で、撮影することを期待している場合がある。
そこで、レンズ制御部220は、レンズ装置200がアクティブ状態からスタンバイ状態に移行する場合、センサ280により検出されたレンズ210の絶対的な位置をスタンバイ状態の直前の位置として取得し、その位置をメモリ222に記憶させる。メモリ222は、レンズ210を予め定められた位置から、スタンバイ状態の直前の位置まで移動させるためにステッピングモータに供給すべきパルス数を示す情報を、レンズ210のスタンバイ状態の直前の位置として記憶してよい。
レンズ制御部220は、レンズ装置200がスタンバイ状態からアクティブ状態に移行する場合、センサ280により検出されたレンズ210の絶対的な位置をアクティブ状態に復帰する直前の位置として取得する。レンズ制御部220は、スタンバイ状態の直前の位置と、アクティブ状態に復帰する直前の位置との差に基づいて、移動機構230を介してレンズ210の位置を制御する。
レンズ制御部220は、レンズ装置200がスタンバイ状態からアクティブ状態に移行する場合、スタンバイ状態の直前の位置と、アクティブ状態に復帰する直前の位置との差に基づいて、移動機構230を介してレンズ210の位置をスタンバイ状態の直前の位置に制御してよい。メモリ222は、レンズ210のスタンバイ状態の直前の位置ではなく、ユーザが所望の予め定められたレンズ210の位置を記憶してよい。レンズ制御部220は、レンズ装置200がスタンバイ状態からアクティブ状態に移行する場合、メモリ222に記憶された予め定められたレンズ210の位置と、アクティブ状態に復帰する直前の位置との差に基づいて、移動機構230を介してレンズ210の位置を制御してよい。レンズ制御部220は、レンズ装置200がスタンバイ状態からアクティブ状態に移行する場合、メモリ222に記憶された予め定められたレンズ210の位置と、アクティブ状態に復帰する直前の位置との差に基づいて、移動機構230を介してレンズ210の位置を予め定められたレンズ210の位置に制御してよい。
ここで、例えば、アクティブ状態に復帰する直前のレンズ210の位置が、スタンバイ状態の直前のレンズ210の位置からずれている場合、レンズ装置200がスタンバイ状態からアクティブ状態に復帰するときに、移動筒260が光軸方向に自動的に移動しないほうが好ましい場合がある。例えば、ユーザが意図的にレンズ210を移動させて、レンズキャップをレンズ鏡筒に取り付けた場合、レンズ装置200がスタンバイ状態からアクティブ状態に復帰するときに、移動筒260が光軸方向に自動的に移動すると、レンズキャップが外れたりする可能性がある。また、移動筒260が光軸方向に自動的に移動することで、撮像装置100の重心がずれて、机などに置かれた撮像装置100が落下したり、三脚に設置された撮像装置100が倒れたりする可能性がある。
そこで、レンズ制御部220は、スタンバイ状態の直前のレンズ210の位置と、アクティブ状態に復帰する直前のレンズ210の位置との差が閾値より小さい場合、その差に基づいて移動機構230を介してレンズ210の位置をスタンバイ状態の直前のレンズ210の位置に制御する。レンズ制御部220は、スタンバイ状態の直前のレンズ210の位置を示すパルス数と、アクティブ状態に復帰する直前のレンズ210の位置を示すパルス数との差分のパルス数分、レンズ210を移動させることで、移動機構230を介してレンズ210の位置をスタンバイ状態の直前のレンズ210の位置に制御してよい。
一方、レンズ制御部220は、スタンバイ状態の直前のレンズ210の位置と、アクティブ状態に復帰する直前のレンズ210の位置との差が閾値以上である場合、その差に基づいて移動機構230を介してレンズ210の位置をスタンバイ状態の直前のレンズ210の位置に制御しない。すなわち、この場合、レンズ制御部220は、アクティブ状態に復帰する直前のレンズ210の位置を維持して、アクティブ状態に復帰する。
図3は、レンズ制御部220によるレンズ210の位置の制御について説明するための図である。
撮像装置100がアクティブ状態(S1)のとき、レンズ210の位置は、位置Aである。このとき、レンズ制御部220は、位置Aから最至近距離の位置までをレンズ210のMOD側移動可能範囲500と認識する。レンズ制御部220は、位置Aから無限遠の位置までをレンズ210のINF側移動可能範囲510と認識する。つまり、レンズ制御部220は、レンズ210が位置Aにあるとき、MOD側移動可能範囲500とINF側移動可能範囲510との間で、レンズ210が移動できると認識する。
レンズ制御部220は、予め定められた時間以上、撮像装置100への操作が行われない場合、アクティブ状態からスタンバイ状態への移行処理を実行する(S2)。レンズ制御部220は、移行処理(S2)において、スタンバイ状態に移行する直前のレンズ210の位置Aをセンサ280から取得し、メモリ222に記憶させる。そして、レンズ制御部220は、電力消費を低下させたスタンバイ状態になる(S3)。レンズ装置200がスタンバイ状態の間に、外的要因により、レンズ210が位置Aから位置Bに移動する。この状態で、レンズ装置200がアクティブ状態に移行すると、レンズ制御部220が認識しているレンズ210の位置Aと、実際のレンズ210の位置Bとの間に差が生じる。つまり、レンズ210が実際には移動できない不整合範囲が生じる。
その後、レンズ制御部220は、撮像装置100への操作を検知すると、スタンバイ状態からアクティブ状態への移行処理を実行する(S4)。移行処理において、レンズ制御部220は、スタンバイ状態に移行する直前のレンズ210の位置Aをメモリ222から読み出す。さらに、レンズ制御部220は、現在のレンズ210の位置Bをセンサ280から取得する。そして、レンズ制御部220は、位置Aと位置Bとの差が閾値より小さいと判断すると、移動機構230を介してレンズ210の位置を位置Aに戻した後、アクティブ状態に移行する(S5)。
その後、レンズ制御部220は、予め定められた時間以上、撮像装置100への操作が行われない場合、再びアクティブ状態からスタンバイ状態への移行処理を実行する(S6)。レンズ装置200がスタンバイ状態(S7)の間に、外的要因により、レンズ210が位置Aから位置Cに移動する。その後、レンズ制御部220は、撮像装置100への操作を検知すると、スタンバイ状態からアクティブ状態への移行処理を実行する(S8)。移行処理(S8)において、レンズ制御部220は、スタンバイ状態に移行する直前のレンズ210の位置Aをメモリ222から読み出す。さらに、レンズ制御部220は、現在のレンズ210の位置Cをセンサ280から取得する。そして、レンズ制御部220は、位置Aと位置Cとの差が閾値以上と判断すると、移動機構230を介してレンズ210の位置を位置Aに戻さず、位置Cのままとして、アクティブ状態に移行する(S9)。
レンズ210の位置が相対的な位置で検出される場合、図3に示すような不整合範囲が存在すると、レンズ装置200がスタンバイ状態からアクティブ状態に復帰した後に、レンズ210がレンズ鏡筒の内壁に衝突するなどの不具合が発生する可能性がある。しかし、レンズ210の位置が絶対的な位置で検出されていれば、図3に示すような不整合範囲が存在しても、撮像制御部110は、センサ280で検知されたレンズ210の現在の絶対的な位置に従ってレンズ210の位置を制御する。したがって、レンズ210がレンズ鏡筒の内壁に衝突するなどの不具合は発生しない。
図4は、レンズ210の位置の制御の手順の一例を示すフローチャートである。
撮像装置100の源がオンされると、レンズ制御部220は初期化処理を実行する(S100)。レンズ制御部220は、フォーカスレンズとして機能するレンズ210の位置を初期位置に移動させる。その後、レンズ装置200は、撮像装置100が撮影可能なアクティブ状態に移行する(S102)。
その後、レンズ制御部220は、予め定められた時間以上、撮像装置100への操作が行われない場合、レンズ装置200をスタンバイ状態へ移行させる処理を実行する(S104)。レンズ制御部220は、その処理において、センサ280により検知されたレンズ210の現在の位置αを取得して、位置αをメモリ222に記憶する(S106)。レンズ制御部220は、初期位置から位置αまでレンズ210を移動させるために移動機構230を構成するステッピングモータに供給すべき入力信号のパルス数を、位置αとしてメモリ222に記憶してよい。レンズ制御部220は、位置αをメモリ222に記憶すると、アクティブ状態より消費電力が少ないスタンバイ状態に移行する(S108)。
その後、レンズ制御部220は、撮像装置100への操作を検知すると、レンズ装置200をスタンバイ状態からアクティブ状態へ移行させる処理を実行する(S110)。その処理において、レンズ制御部220は、センサ280により検知された現時点のレンズ210の位置β、及びメモリ222に記憶されたスタンバイ状態の直前のレンズ210の位置αを取得し、位置βと位置αとの差Δを導出する(S112)。
レンズ制御部220は、差Δが閾値より小さい場合、レンズ210をスタンバイ状態の直前の位置αに移動させる(S114)。スタンバイ状態において、レンズ210が移動していなければ、レンズ制御部220は、レンズ210を移動させず、レンズ210の位置を位置αに維持させる。
一方、レンズ制御部220は、差Δが閾値以上である場合、レンズ210を移動させず、レンズ210の位置を位置βに維持させる。つまち、レンズ制御部220は、レンズ210をスタンバイ状態の直前の位置αに移動させない。
その後、レンズ制御部220は、レンズ装置200をアクティブ状態に移行させる(S120)。
レンズ装置200がスタンバイ状態のときに、ユーザがレンズ鏡筒を押すなどの外的要因で、レンズ210が移動する場合がある。このような場合、レンズ装置200がスタンバイ状態からアクティブ状態に移行した後に、レンズ210の位置がユーザの意図する位置にない場合がある。本実施形態によれば、レンズ装置200がアクティブ状態に復帰するときに、レンズ210をスタンバイ状態の直前の位置に戻すことができる。
また、スタンバイ状態の直前のレンズ210の位置と、アクティブ状態に移行する直前のレンズ210の位置との差が閾値以上である場合、レンズ装置200がアクティブ状態に復帰するときに、レンズ210をスタンバイ状態の直前の位置に戻さない。これにより、ユーザが意図せず、レンズ210がスタンバイ状態の直前の位置に戻ることを防止できる。
なお、レンズ制御部220は、スタンバイ状態の直前のレンズ210の位置と、アクティブ状態に移行する直前のレンズ210の位置との差が閾値以上である場合、レンズ210をスタンバイ状態の直前の位置に戻すかどうかをユーザに問い合わせてよい。そして、レンズ制御部220は、ユーザからレンズ210をスタンバイ状態の直前の位置に戻す旨の指示を受け付けた場合、レンズ210をスタンバイ状態の直前の位置に戻してよい。レンズ制御部220は、スタンバイ状態の直前のレンズ210の位置と、アクティブ状態に移行する直前のレンズ210の位置との差が閾値以上である場合で、かつユーザからレンズ210をスタンバイ状態の直前の位置に戻す旨の指示を受け付けない場合、レンズ210をスタンバイ状態の直前の位置に戻さなくてよい。または、レンズ制御部220は、スタンバイ状態の直前のレンズ210の位置と、アクティブ状態に移行する直前のレンズ210の位置との差が閾値以上である場合で、かつユーザからレンズ210をスタンバイ状態の直前の位置に戻さない旨の指示を受け付けた場合、レンズ210をスタンバイ状態の直前の位置に戻さなくてよい。
上記のような撮像装置100は、移動体に搭載されてもよい。撮像装置100は、図5に示すような、無人航空機(UAV)に搭載されてもよい。UAV10は、UAV本体20、ジンバル50、複数の撮像装置60、及び撮像装置100を備えてよい。ジンバル50、及び撮像装置100は、撮像システムの一例である。UAV10は、推進部により推進される移動体の一例である。移動体とは、UAVの他、空中を移動する他の航空機などの飛行体、地上を移動する車両、水上を移動する船舶等を含む概念である。
UAV本体20は、複数の回転翼を備える。複数の回転翼は、推進部の一例である。UAV本体20は、複数の回転翼の回転を制御することでUAV10を飛行させる。UAV本体20は、例えば、4つの回転翼を用いてUAV10を飛行させる。回転翼の数は、4つには限定されない。また、UAV10は、回転翼を有さない固定翼機でもよい。
撮像装置100は、所望の撮像範囲に含まれる被写体を撮像する撮像用のカメラである。ジンバル50は、撮像装置100を回転可能に支持する。ジンバル50は、支持機構の一例である。例えば、ジンバル50は、撮像装置100を、アクチュエータを用いてピッチ軸で回転可能に支持する。ジンバル50は、撮像装置100を、アクチュエータを用いて更にロール軸及びヨー軸のそれぞれを中心に回転可能に支持する。ジンバル50は、ヨー軸、ピッチ軸、及びロール軸の少なくとも1つを中心に撮像装置100を回転させることで、撮像装置100の姿勢を変更してよい。
複数の撮像装置60は、UAV10の飛行を制御するためにUAV10の周囲を撮像するセンシング用のカメラである。2つの撮像装置60が、UAV10の機首である正面に設けられてよい。更に他の2つの撮像装置60が、UAV10の底面に設けられてよい。正面側の2つの撮像装置60はペアとなり、いわゆるステレオカメラとして機能してよい。底面側の2つの撮像装置60もペアとなり、ステレオカメラとして機能してよい。複数の撮像装置60により撮像された画像に基づいて、UAV10の周囲の3次元空間データが生成されてよい。UAV10が備える撮像装置60の数は4つには限定されない。UAV10は、少なくとも1つの撮像装置60を備えていればよい。UAV10は、UAV10の機首、機尾、側面、底面、及び天井面のそれぞれに少なくとも1つの撮像装置60を備えてもよい。撮像装置60で設定できる画角は、撮像装置100で設定できる画角より広くてよい。撮像装置60は、単焦点レンズまたは魚眼レンズを有してもよい。
遠隔操作装置300は、UAV10と通信して、UAV10を遠隔操作する。遠隔操作装置300は、UAV10と無線で通信してよい。遠隔操作装置300は、UAV10に上昇、下降、加速、減速、前進、後進、回転などのUAV10の移動に関する各種命令を示す指示情報を送信する。指示情報は、例えば、UAV10の高度を上昇させる指示情報を含む。指示情報は、UAV10が位置すべき高度を示してよい。UAV10は、遠隔操作装置300から受信した指示情報により示される高度に位置するように移動する。指示情報は、UAV10を上昇させる上昇命令を含んでよい。UAV10は、上昇命令を受け付けている間、上昇する。UAV10は、上昇命令を受け付けても、UAV10の高度が上限高度に達している場合には、上昇を制限してよい。
図6は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の一例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられるオペレーションまたは当該装置の1または複数の「部」として機能させることができる。または、当該プログラムは、コンピュータ1200に当該オペレーションまたは当該1または複数の「部」を実行させることができる。当該プログラムは、コンピュータ1200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
本実施形態によるコンピュータ1200は、CPU1212、及びRAM1214を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、入力/出力ユニットを含み、それらは入力/出力コントローラ1220を介してホストコントローラ1210に接続されている。コンピュータ1200はまた、ROM1230を含む。CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブが、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納してよい。ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/またはコンピュータ1200のハードウェアに依存するプログラムを格納する。プログラムが、CR−ROM、USBメモリまたはICカードのようなコンピュータ可読記録媒体またはネットワークを介して提供される。プログラムは、コンピュータ可読記録媒体の例でもあるRAM1214、またはROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ1200の使用に従い情報のオペレーションまたは処理を実現することによって構成されてよい。
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、またはUSBメモリのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
また、CPU1212は、USBメモリ等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ1200上またはコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。