JP2009064303A - 撮像装置、共用リソース管理方法、およびプログラム - Google Patents
撮像装置、共用リソース管理方法、およびプログラム Download PDFInfo
- Publication number
- JP2009064303A JP2009064303A JP2007232562A JP2007232562A JP2009064303A JP 2009064303 A JP2009064303 A JP 2009064303A JP 2007232562 A JP2007232562 A JP 2007232562A JP 2007232562 A JP2007232562 A JP 2007232562A JP 2009064303 A JP2009064303 A JP 2009064303A
- Authority
- JP
- Japan
- Prior art keywords
- hypervisor
- imaging
- unit
- functions
- logical partitions
- 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
- Stored Programmes (AREA)
- Studio Devices (AREA)
Abstract
【課題】開発効率を向上させることが可能な撮像装置を提供する。
【解決手段】複数の機能を備えたデジタルカメラ100は、複数の機能手段130,140と、ハードウェアリソース110を仮想化して、複数の論理区画に分割するハイパーバイザ120とを備え、前記複数の論理区画のそれぞれは、異なる機能手段に割り当てられていて、リアルタイム性が要求される機能と、リアルタイム性が要求されない機能との間に優先順位を与えて調停している。本発明はまた、ハイパーバイザ120を使用する共用リソース管理方法および撮像装置のためのプログラムを提供する。
【選択図】図1
【解決手段】複数の機能を備えたデジタルカメラ100は、複数の機能手段130,140と、ハードウェアリソース110を仮想化して、複数の論理区画に分割するハイパーバイザ120とを備え、前記複数の論理区画のそれぞれは、異なる機能手段に割り当てられていて、リアルタイム性が要求される機能と、リアルタイム性が要求されない機能との間に優先順位を与えて調停している。本発明はまた、ハイパーバイザ120を使用する共用リソース管理方法および撮像装置のためのプログラムを提供する。
【選択図】図1
Description
本発明は、複数の機能を提供する撮像装置、共用リソース管理方法およびプログラムに関する。
最近のデジタル(スチル)カメラなどの撮像装置は、複数の機能を備えており、写真撮影だけで無く、液晶画面上で映像を再生したり、通信インタフェース経由で撮影した映像を外部機器に転送したりすることもできるようになっている。そして、このような複数の機能を備えた撮像装置では、複数の機能を同時に動作させる場合がある。例えば、写真を撮影しながら、バックグランドで通信インタフェースを介して以前撮影した映像を外部機器に送るような場合である。
一方、最近、1台のハードウェアプラットフォーム上に、複数の独立した仮想マシンを構築し、複数のOSを実行する仮想化技術がサーバ管理の分野で注目されている。当該仮想化技術を利用して、複数のサーバ機能を1台のハードウェアに実装することにより、ハードウェア資源の有効活用、占有面積の削減、電力消費の削減を図ることができる。
例えば、特開2002−41306号公報には、複数の論理区画で動作するOSイメージに、コンソールとオペレータ・パネルの仮想コピーを与えるハイパーバイザが開示されている。
また、特開2006−221398号公報には、マルチタスク機能を備えたオペレーティング・システムと、その上で動作するデバイスドライバとを有する計算機システムからなる機器(例えば、デジタルカメラ)を制御する機器制御方法において、二つのデバイスの同期を取る操作の際に、主たるデバイス1(例えば、CCD)のデバイスドライバ内に、もう一つのデバイス2(例えば、ストロボ)の動作を属性として隠蔽し、デバイス1内で直列に処理することによって、OSのタスクスイッチを回避し、もってリアルタイム性を拡張するようにする技術が開示されている。
特開2002−41306号公報
特開2006−221398号公報
すなわち、上述した撮像装置では、一つのオペレーティング・システム(OS)上にソフトウェアシステムを配置し、その中で、様々なアプリケーションを動作させていた。ところが、近年、撮像装置に要求される機能も多様化し、複数のアプリケーションの実行に影響を及ぼす機能も増えてきている。そのため、一つの機能を追加する際に、複数のアプリケーション間で連携をとる必要が生じ、開発効率が悪化してしまうという問題が発生していた。
本発明は、上記従来技術の問題点に鑑みてなされたものであり、撮像装置の機能多様化に対応し、機能多様化を行うための開発効率を向上させることが可能な撮像装置、共用リソース管理方法およびプログラムを提供することを目的とする。
本発明では、ハイパーバイザによって、ハードウェアリソースを仮想化して複数の論理区画に分割し、機能別に各論理区画を割り当てることにより、機能毎のソフトウェア開発を可能とし、開発効率を向上させる。
すなわち、本発明によれば、複数の機能を備えた撮像装置であって、
複数の機能を提供する複数の機能手段と、
ハードウェアリソースを仮想化して複数の論理区画に分割し、前記複数の論理区画のそれぞれに対し異なる機能手段を割り当てるハイパーバイザと
を含む撮像装置が提供される。
複数の機能を提供する複数の機能手段と、
ハードウェアリソースを仮想化して複数の論理区画に分割し、前記複数の論理区画のそれぞれに対し異なる機能手段を割り当てるハイパーバイザと
を含む撮像装置が提供される。
前記複数の機能手段は、被写体を撮像する撮像機能を実現する撮像手段と、ユーザからの入力を受け付け、各種メッセージまたは画像を表示する表示手段と、ネットワーク機能を実現する操作表示およびネットワーク制御手段とを含み、前記撮像手段および前記操作表示およびネットワーク制御手段には、それぞれ、異なる論理区画が割り当てることができる。
前記ハイパーバイザは、共有リソースをエミュレートし、前記複数の論理区画に配分し、前記複数の論理区画の各論理区画で独立してオペレーティング・システムが動作することができる。前記ハイパーバイザは、リアルタイム性が要求される機能手段を、他の機能手段より優先的に処理するようにユーザインタフェース部からのコマンドを調停し、処理を担当する前記論理区画に指令することができる。
さらに、本発明によれば、
複数の機能を備える撮像装置の共有リソース管理方法であって、
ハイパーバイザ手段によりハードウェアリソースを仮想化して複数の機能を提供するための、複数の独立した論理区画を提供するステップと、
前記論理区画に、複数の機能手段を提供するためのオペレーティング・システムおよびアプリケーションをそれぞれ割当てるステップと、
前記ハイパーバイザ手段により、リアルタイム性の要求される前記機能手段が優先処理されるようにコマンドを調停するステップと
を含む、共有リソース管理方法が提供される。
複数の機能を備える撮像装置の共有リソース管理方法であって、
ハイパーバイザ手段によりハードウェアリソースを仮想化して複数の機能を提供するための、複数の独立した論理区画を提供するステップと、
前記論理区画に、複数の機能手段を提供するためのオペレーティング・システムおよびアプリケーションをそれぞれ割当てるステップと、
前記ハイパーバイザ手段により、リアルタイム性の要求される前記機能手段が優先処理されるようにコマンドを調停するステップと
を含む、共有リソース管理方法が提供される。
また、本発明によれば、
上記いずれかに記載の手段として撮像装置を機能させるための装置実行可能なプログラムが提供される。
上記いずれかに記載の手段として撮像装置を機能させるための装置実行可能なプログラムが提供される。
以下、本発明につき、撮像装置をデジタルカメラとして実装する場合の実施形態をもって説明するが、本発明は後述する実施形態に限定されるわけではない。
図1は、本発明の撮像装置の実施形態であるデジタルカメラ100のソフトウェア構成を説明した図である。当該デジタルカメラ100は、ハイパーバイザと呼ばれる仮想化機構を使って複数の独立した仮想マシンを構築し、複数のOSを実行する。
図1に示すデジタルカメラ100は、ハードウェアリソース110と、ハイパーバイザ120と、撮像システム130と、機能システム140とを備える。ハードウェアリソース110は、デジタルカメラ100を構成するハードウェアプラットフォームである。具体的には、ハードウェアプラットフォームは、中央処理装置(CPU)111、メモリ112、ストレージ113、CCDコントロール部114、画像処理ユニット115、モータコントロール部116、その他のハードウェアリソース117を含んで構成される。
CPU111は、デジタルカメラ100が提供する各種機能を実現するために各種処理を実行する。メモリ112は、CPU111が利用する各種プログラムや各種データを格納する記憶装置であり、例えば、ROMやRAMを含んで構成される。ストレージ113は、デジタルカメラ100で撮像された画像データ等を格納する記憶装置であり、例えば、フラッシュメモリ、SDカード、スマートカードなどで構成される。CCDコントロール部114は、被写体の撮像を行う撮像素子(CCD)を制御する。画像処理ユニット115は、撮像素子によって生成された画像信号に対して必要な信号処理を行う。モータコントロール部116は、シャッター、絞り、フォーカス、ズームなどに使われるモータを制御している。
ハイパーバイザ120は、ハードウェアリソース110を複数の仮想マシンに割当て仮想化するものであり、ハードウェアリソース110を複数の論理区画に分割する。ハイパーバイザ120は、オペレーティング・システム(OS)と、OS上で動作するアプリケーションを1つのシステムとして処理し、ハードウェアリソース110を、各システムに対する仮想マシンとして認識させる機能を提供する。ハイパーバイザ120が実行する上記処理により、1つのハードウェアリソースを複数のシステムが共有することが可能となる。すなわち、ハイパーバイザ120は、ハードウェアリソース110を、各論理区画で動作するそれぞれのOSへ適切に割り振ることにより、共有を可能としている。
撮像システム130は、デジタルカメラ100の基本的な機能である撮像機能を実現する機能部であり、ハイパーバイザ120が提供する一つの独立した仮想マシン上で動作する。撮像システム130は、OS131と、ミドルウェア132と、各種アプリケーション133とを含んで構成される。ミドルウェア132は、各種アプリケーション133の動作に必要なプログラムであって、OS131上で動作する。各種アプリケーション133は、撮像システム130に必要とされる機能を実現するためのプログラムであって、OS131上で動作する。
機能システム140は、撮像システム130から独立させたいデジタルカメラ100の機能を提供する機能部であり、ハイパーバイザ120が提供する、撮像システム130とは独立した仮想マシンが提供され、OS141上で動作する。機能システム140は、OS141と、ミドルウェア142と、アプリケーション143とを備える。ミドルウェア142は、アプリケーション143の動作に必要なプログラムであって、OS141上で動作する。アプリケーション143は、機能システム140に必要とされる機能を実現するためのプログラムであって、OS141上で動作する。
なお、撮像システム130のOS131と、機能システム140のOS141とは、同じであっても良いし、異なっていても良い。
デジタルカメラ100の各システムを提供する仮想マシンは、制御およびメモリ管理などがハイパーバイザ120により独立して管理されているので、例えば、ソリューションを別システムとして追加することができ、ベースとなる本体システム側とは別に開発を進めることが可能となる。さらに本体システムとのインタフェースは明確に分割されているため、基本的に本体システムに影響を与えず開発することができ、開発効率を向上させることができる。また、ソリューション開発において、内部で発生した不具合が他のシステム(本体システム側など)に影響を与えないため、この点からも開発効率を向上させることができる。
次に、本発明のデジタルカメラの他の実施形態について、より具体的な構成を説明する。図2に示した実施形態では、操作部システムおよびネットワークシステム240は、撮像システム230と分離して構成した場合の実施形態を示す。
図2に示すように、デジタルカメラ200は、ハードウェアリソース210と、ハイパーバイザ220と、撮像システム230と、操作部/ネットワークシステム240とを備える。すなわち、図1に示した機能システム140として、操作部/ネットワークシステム240が設けられている。
デジタルカメラ200は、ハードウェアリソース210として、CPU211と、メモリ212と、ユーザインタフェース(UI)部213と、ネットワーク・インタフェース(I/F)部214と、その他のハードウェアリソース215とを備える。CPU211およびメモリ212は、前述したCPU111およびメモリ112と同様の構成とすることができる。一方、UI部213は、ユーザの指示を入力し、各種メッセージや画像などを表示するためのもので、例えば、ユーザの指示を入力するための操作キーと、各種メッセージや画像等を表示するための液晶ディスプレイ(LCD)パネルによって構成される。
ネットワーク・インタフェース部214は、デジタルカメラ200をネットワークに接続できるようにするためのものであって、デジタルカメラ200が接続されるネットワークとの間でのデータの送受信を、OSI基本参照モデルにおける物理層/データリンク層/トランスポート層/セッション層/アプリケーション層などの各種プロトコルを使用して制御する。なお、ネットワークアプリケーションは、TCP/IPなどのプロトコルを使用してHTTPプロトコルを使用したトランザクションを実行することもできる。
以上のようなハードウェアリソース210は、ハイパーバイザ220によって、メモリ管理および各種命令管理が実行されている。ハイパーバイザ220は、好ましい実施形態では、ベア・メタル・アーキテクチャとして参照される、UNIX(登録商標)、LINUXなどの特定のOSを実装することなく、仮想マシンカーネルを実装し、ハードウェア群にして仮想CPU、仮想メモリ、CPU専有調停などの処理を実行する。撮像システム230、操作部/ネットワークシステム240に対してUI部213からのユーザ指令を受け付け、その命令および入力データを管理する。ハイパーバイザ220は、管理した命令を、例えば待ち行列などを使用して制御し、撮像システム230または操作部/ネットワークシステム240などに対して命令およびデータを渡し、処理を実行させている。
一方、撮像システム230および操作部/ネットワークシステム240は、メモリ212にそれぞれの実行空間が提供される複数の仮想マシンに仮想化(複数の論理区画に分割)され、各仮想マシン(各論理区画)が、撮像システム230および操作部/ネットワークシステム240のそれぞれに割り当てられる。
撮像システム230は、デジタルカメラ200の基本的な機能である撮像機能を実現するもの(機能部)であり、ハイパーバイザ220が提供する一つの独立した仮想マシン上で動作する。撮像システム230は、前述した撮像システム130と同様に、割り当てられた仮想マシン上で動作するOS231、ミドルウェア232および各種アプリケーション233によって、撮像機能を実現する。例えば、撮像システム230は、ユーザの指示等に応じて、CCDやモータ等を制御することによって、被写体の撮像を行って、被写体の画像データを生成し、ハイパーバイザ220が提供する仮想メモリ空間にデータを渡す。仮想メモリ空間に渡されたデータは、ハイパーバイザ220が管理するハードウェア群に割り当てられた物理メモリに割り当てられ、処理を担当するハードウェア要素に提供される。
操作部/ネットワークシステム240は、ユーザからの入力を受け付け、各種メッセージや撮像された画像などを表示する操作表示機能と、外部ネットワークとの接続などを可能とするネットワーク機能の両方を実現する機能部である。操作部/ネットワークシステム240についても、ハイパーバイザ220が提供する別の独立した仮想マシン上で動作する。すなわち、操作部/ネットワークシステム240は、前記機能を、撮像システム230とは独立に実現するもので、OS241と、ミドルウェア242と、操作部/ネットワークアプリケーション243とを備える。
ミドルウェア242は、操作部/ネットワークアプリケーション243の動作に必要なプログラムであって、OS241上で動作する。操作部/ネットワークアプリケーション243は、操作部/ネットワークシステム240に必要とされる機能、具体的には、ユーザからの入力の受け付け、各種メッセージや画像の表示、各種ネットワーク機能を提供するためのプログラムであって、OS241上で動作する。
上述の構成を採用することにより、デジタルカメラといった撮像装置の場合、操作部およびネットワーク機能部は、撮像機能部とは完全に分離された実行空間上で動作し、ハイパーバイザ220による調停下で、物理的なハードウェアに渡される。一方、従来の撮像装置では、各種アプリケーションは、直接的にハードウェアにアクセスする。そのため、従来では撮像機能部と他の機能部の開発は、同時に進めなければならない。
これに対して、図2に示した構成のように、ハイパーバイザ220を用いて操作部およびネットワーク部を分ける本実施形態では、操作部/ネットワーク部のみでのソフトウェア開発が可能となる。
また、デジタルカメラなどの撮像素子では、リアルタイム性が必要とされる機能(モータ、シャッタなど)も存在する。リアルタイム性が必要とされる機能については、必要なリソースをいつでも必要な時に使えるようにしておかなければならない。そのため、従来のデジタルカメラに新たな機能の追加をする場合は、リアルタイム性が必要とされる機能の処理への影響を考慮しながら開発を進めることが必要となり、開発がかなり困難なものになっていた。
これに対して、図2に示した構成では、ハイパーバイザ220がリアルタイム性の要求されるUI部213からの命令を、待ち行列またはジョブキューの最上位に強制的に登録するリソース管理を採用するリソースのポリシーを採用する。このため、例えば、撮像システム230を構成するリアルタイムOSは、必要なリソースを最優先に使えるようにすることができる。すなわち、例えば、ハイパーバイザが提供するオペレーティング・システム管理設定機能によって、各オペレーティング・システムに割り当てる共有リソースを適宜制御すれば、新たに追加される機能による共有リソースの使用が、撮像システム230を構成するリアルタイムOSへ及ぼす影響を考慮する必要がなくなる。
その結果、リアルタイム性の低いアプリケーションを追加する場合にも、撮像機能の処理を気にすることなく、新たな機能の追加ができるようになり、開発効率を向上させることが可能となる。
図3は、撮像装置のハードウェア構成について、デジタルカメラ300を実施形態として示す。図3に示すように、デジタルカメラ300は、CPU301と、撮像部302と、ROM303と、RAM304と、メモリカードインタフェース(I/F)部305と、通信インタフェース(I/F)部306と、ユーザインタフェース(UI)部307とを備え、各部はそれぞれ、内部バス308を介して接続されている。
CPU301は、デジタルカメラ300全体の制御を行う中央処理装置であり、ROM303に格納されているプログラムを実行することで、各種機能を実現するものである。また、ROM303には、ハイパーバイザ機能を提供するカーネルプログラムが格納されている。このようなカーネルプログラムは、ベア・メタル・アーキテクチャとしてハイパーバイザを構成し、各種アプリケーションソフトウェアをハイパーバイザが提供する仮想空間上で実行させると共に各種ハードウェア資源の共有のための調停を実行する。
撮像部302は、被写体の撮像を行うためのハードウェアであって、例えば、レンズなどの光学系、撮像素子(CCDやCMOS)、信号処理回路、シャッター機構、フォーカス機構、ズーム機構などの機構系によって構成される。撮像部302が提供する各機能についてはリアルタイム性が高く要求される処理なので、他の機能、例えばUI部307、I/F部305、または通信I/F部306およびこれらの各機能部との間でデータを送受信するアプリケーションよりも優先順位が高く設定される。
優先順位の設定は、例えば、ハイパーバイザが2種類の待ち行列またはジョブキューを管理し、第1の待ち行列またはジョブキューを、リアルタイム性が優先されるコマンドを先入れ・先出し方式で優先処理するように管理し、第2の待ち行列またはジョブキューについては、リアルタイム性の高い処理を登録する待ち行列またはジョブキューの内容がなくなった時に処理開始を実行させるように実装することができる。
なお、第1の待ち行列またはジョブキューに代わり、他の実施形態では、命令キャッシュおよびデータキャッシュを構成させ、リアルタイム性が要求されるコマンドを命令キャッシュに登録し、対応するデータキャッシュに登録されたデータと共にハイパーバイザが管理することで、命令フェッチおよびデータフェッチを効率化し、リアルタイム性に対応するように優先処理させることができる。また、他の実施形態では、待ち行列またはジョブキューに、リアルタイム性の高いコマンドを登録する領域を指定しておくことができる。
ROM303は、さらにデジタルカメラ300が提供する各種機能を実現するためにCPU301によって利用されるアプリケーションプログラムを格納する。また、ROM303は、デジタルカメラ300の初期設定やハードウェア設定を行うための初期設定プログラムを実装していてもよい。
RAM304は、CPU301などによって利用される各種データ、コマンドなどを一時的に格納するための記憶装置である。RAM304についてもハイパーバイザにより管理され、ハイパーバイザが管理する仮想メモリに対応付けて物理アドレスなどが割り当てられている。
メモリカードI/F部305は、デジタルカメラ300のスロットなどに装着された記録媒体、例えば、SDカード、スマートカードなどの各種メモリカードに対する画像データの書き込みなどを制御するものである。
通信I/F部306は、外部機器との通信や外部ネットワークとの接続を実現するためのものであって、例えば、USBによるシリアル通信や、無ワイヤレスLANによるワイヤレス通信またはインターネット通信などを可能としている。
ユーザI/F部307は、デジタルカメラ300のユーザインタフェースを提供し、例えば、液晶ディスプレイなどの表示装置や、キーボタン、シャッターボタン、モードダイヤルなどの入力装置によって構成される。ユーザがユーザインタフェースを介してコマンドおよびデータを入力する場合、ハイパーバイザは、リアルタイム性の高いコマンドを優先処理し、ユーザの要求に対応する。
図4は、撮像装置の実行する処理の実施形態についてのフローチャートである。処理は、ステップS400から開始し、ステップS401でUI部からのコマンドを受領する。ステップS402では、受領したコマンドがリアルタイム性が要求されるアプリケーションのものか否かを判断する。ステップS402の判断で、当該コマンドおよび付随するデータが優先処理するべきアプリケーションのコマンドであると判断された場合(yes)、ステップS403でコマンドおよびデータを優先処理する記憶領域に登録する。一方、ステップS402の判断でリアルタイム性が要求されないコマンドであると判断した場合(no)、ステップS405でコマンドおよびデータをリソース状態に応じて処理する記憶領域に登録する。
なお、コマンドを優先処理するか否かの判断は、ハイパーバイザのリソース制御ポリシーとして登録することができる。また、ハイパーバイザが管理し、コマンドと、当該コマンドに対して優先順位およびその実行シーケンスなどを登録した優先処理順位リストを実装させておき、ハイパーバイザが当該リストを参照して記憶領域の選択を行い、登録することができる。
ステップS404では、優先処理する記憶領域にコマンドがあるかないかを確認し、優先処理する記憶領域にコマンドが登録されていれば、優先処理するコマンドがなくなるまでユーザ要求機能を実行する。また、優先処理するコマンドがなくなった後、共有リソース状態の調停に基づいて処理を実行するアプリケーションのコマンドおよびデータを、リソース状態にしたがって実行させる。
また、ステップS404の判断は、ハイパーバイザが常時優先処理する記憶領域の内容を監視していて、例えばネットワーク通信中にシャッタが押下げされたことを示すコマンドが記憶領域に登録されると、仮想CPUの専有調停を変更し、シャッタコマンドに対応する処理を優先的に実行させている。その後、実行するべきコマンドがなくなると、待機させておいたコマンドまたはスレッド処理を共用リソースの利用を調停しながら実行させ、実行するべきコマンドまたはジョブが終了すると、ステップS406で一連の処理を終了させる。
以上説明したように、上述した実施形態によれば、ハードウェアリソースを仮想化して複数の仮想マシンに分割し、機能別に仮想マシンを割り当てるので、既存のリアルタイムOSでの機能開発で不都合を生じさせる場合が多い、リアルタイム性を要求する機能に対する悪影響を考慮することなく、機能毎に柔軟なソフトウェア開発が可能となり、開発効率を向上させることができる。
また、操作部/ネットワークシステムを別システムとして実装することで、操作部/ネットワーク部を独立に開発することができ、さらに、各機能部に対してハードウェアリソースを柔軟に配置することができるので、開発効率を向上させることができる。
また、リアルタイム性が必要とされる既存の機能に悪影響を及ぼすことなく、簡単に機能を追加/削除することが可能となり、開発効率を向上させることができる。
上述した実施形態の各機能は、アセンブリ言語、C、Visual C、C++、Visual C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなど、レガシーブログラミング言語やオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
これまで本発明について実施形態をもって説明してきたが、本発明は例示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
100…デジタルカメラ、110…ハードウェアリソース、111…CPU、112…メモリ、113…ストレージ、114…CCDコントロール部、115…画像処理ユニット、116…モータコントロール部、117…その他のハードウェアリソース、120…ハイパーバイザ、130…撮像システム、131…オペレーティング・システム、132…ミドルウェア、133…各種アプリケーション、140…機能システム、141…オペレーティング・システム、142…ミドルウェア、143…アプリケーション、200…デジタルカメラ、210…ハードウェアリソース、211…CPU、212…メモリ、213…ユーザインタフェース部、214…ネットワークI/F部、215…その他のハードウェアリソース、220…ハイパーバイザ、230…撮像システム、231…オペレーティング・システム、232…ミドルウェア、233…各種アプリケーション、240…操作部/ネットワークシステム、241…オペレーティング・システム、242…ミドルウェア、243…操作部/ネットワークアプリケーション、300…デジタルカメラ、301…CPU、302…撮像部、303…ROM、304…RAM、305…メモリカードI/F部、306…通信I/F部、307…UI(ユーザインタフェース)部、308…内部バス
Claims (6)
- 複数の機能を備えた撮像装置であって、
複数の機能を提供する機能手段と、
ハードウェアリソースを仮想化して複数の論理区画に分割し、前記複数の論理区画のそれぞれに対し異なる機能手段を割り当てるハイパーバイザと
を含む撮像装置。 - 前記複数の機能手段は、被写体を撮像する撮像機能を実現する撮像手段と、ユーザからの入力を受け付け、各種メッセージまたは画像を表示する表示手段と、ネットワーク機能を実現する操作表示およびネットワーク制御手段とを含み、前記撮像手段および前記操作表示およびネットワーク制御手段には、それぞれ、異なる論理区画が割り当てられる、請求項1に記載の撮像装置。
- 前記ハイパーバイザは、共有リソースをエミュレートし、前記複数の論理区画に配分し、前記複数の論理区画の各論理区画で独立してオペレーティング・システムが動作する、請求項1または請求項2に記載の撮像装置。
- 前記ハイパーバイザは、リアルタイム性が要求される機能手段を、他の機能手段より優先的に処理するようにユーザインタフェース部からのコマンドを調停し、処理を担当する前記論理区画に指令する、請求項1〜3のいずれか1項に記載の撮像装置。
- 複数の機能を備える撮像装置の共有リソース管理方法であって、
ハイパーバイザ手段によりハードウェアリソースを仮想化して複数の機能を提供するための、複数の独立した論理区画を提供するステップと、
前記論理区画に、複数の機能手段を提供するためのオペレーティング・システムおよびアプリケーションをそれぞれ割当てるステップと、
前記ハイパーバイザ手段により、リアルタイム性の要求される前記機能手段が優先処理されるようにコマンドを調停するステップと
を含む、共有リソース管理方法。 - 請求項1〜4のいずれか1項に記載の手段として撮像装置を機能させるための装置実行可能なプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007232562A JP2009064303A (ja) | 2007-09-07 | 2007-09-07 | 撮像装置、共用リソース管理方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007232562A JP2009064303A (ja) | 2007-09-07 | 2007-09-07 | 撮像装置、共用リソース管理方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009064303A true JP2009064303A (ja) | 2009-03-26 |
Family
ID=40558823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007232562A Pending JP2009064303A (ja) | 2007-09-07 | 2007-09-07 | 撮像装置、共用リソース管理方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009064303A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014020752A1 (ja) * | 2012-08-03 | 2014-02-06 | 株式会社日立製作所 | サーバ計算機及びサーバ計算方法 |
JP2014029700A (ja) * | 2010-08-30 | 2014-02-13 | Vmware Inc | 空間最適化ブロックデバイスのためのシステムソフトウェアインタフェース |
JP2014042827A (ja) * | 2012-08-24 | 2014-03-13 | General Electric Co <Ge> | 医療機器カスタマイゼーションシステム |
KR101665461B1 (ko) * | 2015-06-26 | 2016-10-19 | 건국대학교 산학협력단 | 실시간성이 요구되는 어플리케이션이 탑재된 머신의 가상화 장치 및 방법 |
KR20200071012A (ko) * | 2018-12-10 | 2020-06-18 | 한국과학기술원 | 다중 서비스 요청 및 맥락인지 기반의 IoT 카메라 가상화 장치 및 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003248593A (ja) * | 2002-02-25 | 2003-09-05 | Matsushita Electric Ind Co Ltd | マルチオペレーティングシステム制御装置 |
JP2007109109A (ja) * | 2005-10-14 | 2007-04-26 | Matsushita Electric Ind Co Ltd | メディア処理装置 |
-
2007
- 2007-09-07 JP JP2007232562A patent/JP2009064303A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003248593A (ja) * | 2002-02-25 | 2003-09-05 | Matsushita Electric Ind Co Ltd | マルチオペレーティングシステム制御装置 |
JP2007109109A (ja) * | 2005-10-14 | 2007-04-26 | Matsushita Electric Ind Co Ltd | メディア処理装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014029700A (ja) * | 2010-08-30 | 2014-02-13 | Vmware Inc | 空間最適化ブロックデバイスのためのシステムソフトウェアインタフェース |
WO2014020752A1 (ja) * | 2012-08-03 | 2014-02-06 | 株式会社日立製作所 | サーバ計算機及びサーバ計算方法 |
JP2014042827A (ja) * | 2012-08-24 | 2014-03-13 | General Electric Co <Ge> | 医療機器カスタマイゼーションシステム |
KR101665461B1 (ko) * | 2015-06-26 | 2016-10-19 | 건국대학교 산학협력단 | 실시간성이 요구되는 어플리케이션이 탑재된 머신의 가상화 장치 및 방법 |
KR20200071012A (ko) * | 2018-12-10 | 2020-06-18 | 한국과학기술원 | 다중 서비스 요청 및 맥락인지 기반의 IoT 카메라 가상화 장치 및 방법 |
KR102257325B1 (ko) | 2018-12-10 | 2021-05-27 | 한국과학기술원 | 다중 서비스 요청 및 맥락인지 기반의 IoT 카메라 가상화 장치 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3659062B2 (ja) | 計算機システム | |
US20200409732A1 (en) | Sharing multimedia physical functions in a virtualized environment on a processing unit | |
KR101786768B1 (ko) | 그래픽 연산 처리 스케줄링 | |
JP4750350B2 (ja) | タスク切換装置、方法及びプログラム | |
US9798565B2 (en) | Data processing system and method having an operating system that communicates with an accelerator independently of a hypervisor | |
US8832693B2 (en) | Runtime virtual process creation for load sharing | |
US9329911B2 (en) | Driver initialization for a process in user mode | |
KR101786767B1 (ko) | 유저 모드로부터 그래픽 처리 디스패치 | |
US11954515B1 (en) | Managing signals from multiple virtual machines and controlling hardware directly or through an API by a host operating system | |
JP6413813B2 (ja) | 電子機器、制御装置及びプログラム | |
CN112148422A (zh) | 一种io处理的方法和装置 | |
EP4057145A1 (en) | Method for multi-core communication, electronic device and storage medium | |
WO2021008183A1 (zh) | 数据传输方法、装置及服务器 | |
JP5997867B2 (ja) | デバイスドライバ登録装置とこれを用いたデバイスドライバの登録方法 | |
TW201229910A (en) | Method of activating application in virtual environment | |
JP2011044165A (ja) | システムにおける要求のスケジューリング | |
JP2009064303A (ja) | 撮像装置、共用リソース管理方法、およびプログラム | |
CN109861966B (zh) | 处理状态事件的方法、装置、终端及存储介质 | |
JP2021518955A (ja) | プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体 | |
JP3794119B2 (ja) | データ処理方法、記録媒体及びデータ処理装置 | |
US20110066836A1 (en) | Operating system booting method, computer, and computer program product | |
JP5970461B2 (ja) | 仮想計算機制御装置、仮想計算機制御方法、仮想計算機制御プログラム、及び集積回路 | |
JP6098389B2 (ja) | 電子機器、制御装置及びプログラム | |
CN107888876B (zh) | 车载信息娱乐系统及其早期影像显示的方法 | |
US9910698B2 (en) | Information processing apparatus, information processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20100406 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A977 | Report on retrieval |
Effective date: 20110620 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110628 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111025 |