(57)【要約】【課題】異なるタイプのイメージセンサに対応可能なカメラシステムを提供する。【解決手段】イメージセンサを制御するためのコンピュータ実行方法は、複数のイメージセンサに別々に関連した複数のデータセットを有したイメージファイルを読み出す段階と、複数のデータセットのうちの１つに含まれた識別データがイメージセンサにマッチした場合に、イメージセンサを同定する段階と、イメージセンサにマッチしたデータセットに含まれた設定データに従って、イメージセンサを設定する段階とを有する。識別データはイメージセンサの識別情報を表す。設定データはイメージセンサの動作パラメータを表す。【選択図】図１
2010119105.tif 000002
【特許請求の範囲】
【請求項１】
イメージセンサを制御するためのコンピュータ実行方法であって、
複数のイメージセンサに別々に関連した複数のデータセットを有したイメージファイルを読み出す段階であって、前記複数のデータセットのそれぞれには、前記複数のイメージセンサのうちの１つイメージセンサの識別情報を表す識別データと、前記複数のイメージセンサのうちの前記１つのイメージセンサの動作パラメータを表す設定データとが含まれている段階と、
前記識別データが前記イメージセンサにマッチした場合に、前記イメージセンサを同定する段階と、
前記設定データに従って、前記イメージセンサを設定する段階と
を有することを特徴とするコンピュータ実行方法。
【請求項２】
前記イメージセンサにマッチする前記設定データが前記複数のデータセットのいずれにも含まれていない場合に、前記イメージファイルを更新する段階をさらに有することを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項３】
前記イメージセンサによってサポートされた通信プロトコルを判断する段階をさらに有することを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項４】
前記通信プロトコルが、ＳＣＣＢプロトコル及びＩ２Ｃバスプロトコルから成るグループから選択されることを特徴とする請求項３に記載のコンピュータ実行方法。
【請求項５】
前記同定段階が、
前記識別データに含まれたアドレス値に従って、前記イメージセンサ内のレジスタにアクセスする段階と、
前記レジスタから前記イメージセンサのリモート識別値を取得する段階と、
前記リモート識別値が前記識別データに含まれたローカル識別値にマッチした場合に、前記イメージセンサを同定する段階と
をさらに有することを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項６】
ユーザモードプログラムによってイメージ要求が発せられる段階と、
前記イメージ要求に応答して、前記イメージファイル中の前記複数のデータセットにアクセスする段階と
をさらに有することを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項７】
前記イメージセンサと通信を行うために、カーネルモードインタフェースドライバを呼び出す段階をさらに有することを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項８】
前記カーネルモードインタフェースドライバが、ＵＳＢドライバを含むことを特徴とする請求項７に記載のコンピュータ実行方法。
【請求項９】
前記イメージセンサが、ＣＣＤイメージセンサ及びＣＭＯＳアクティブピクセルセンサから成るグループから選択されることを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項１０】
イメージセンサを制御するためのコンピュータ実行可能コンポーネントを格納したコンピュータ可読媒体であって、
前記コンピュータ実行可能コンポーネントは、
複数のイメージセンサに関連した複数のデータセットを格納するイメージファイルであって、前記複数のデータセットのそれぞれには、前記複数のイメージセンサのうちの１つのイメージセンサの識別情報を表す識別データと、前記複数のイメージセンサのうちの前記１つのイメージセンサの動作パラメータを表す設定データとが含まれているイメージファイルと、
前記複数のデータセットにアクセスし、前記識別データが前記イメージセンサにマッチした場合に、前記イメージセンサを同定する識別コンポーネントと、
前記設定データに従って、前記イメージセンサを設定する設定コンポーネントと
から成ることを特徴とするコンピュータ可読媒体。
【請求項１１】
前記イメージセンサにマッチする前記識別データが前記複数のデータセットのいずれにも含まれていない場合に、前記イメージファイルを更新する更新コンポーネントをさらに有することを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
前記イメージセンサによってサポートされる通信プロトコルを判断する判断コンポーネントをさらに有することを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１３】
前記識別コンポーネントが、
前記識別データに含まれたアドレス値に従って、前記イメージセンサのリモート識別値を取得する取得コンポーネントと、
前記リモート識別値が前記識別データに含まれたローカル識別値にマッチした場合に、前記イメージセンサを同定する同定コンポーネントと
をさらに有することを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１４】
イメージ要求を発するユーザモードプログラムをさらに有し、
前記識別コンポーネントが、前記イメージ要求に応答して、前記複数のデータセットにアクセスすることを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１５】
前記イメージセンサとの通信のために呼び出されるカーネルモードデバイスドライバをさらに有することを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１６】
複数のイメージセンサを制御するための装置であって、
プロセッサと、
前記プロセッサに接続されたメモリと、
前記プロセッサに接続された通信インタフェースと
を具備し、
前記プロセッサは、コンピュータ実行可能コンポーネントを実行する機能と、複数の制御コマンドを生成する機能とを有し、
前記メモリは、前記コンピュータ実行可能コンポーネントを格納する機能を有し、
前記コンピュータ実行可能コンポーネントは、複数のセンサタイプを有した前記複数のイメージセンサを同定する機能と、同定した各センサタイプに従って、前記複数のイメージセンサの動作パラメータを設定する機能とを有した汎用カメラドライバを含み、
前記通信インタフェースは、前記複数の制御コマンドを前記複数のイメージセンサに転送する機能を有することを特徴とする装置。
【請求項１７】
前記メモリが、前記複数のイメージセンサに別々に関連した複数のデータセットから成るイメージファイルを格納し、
前記複数のデータセットのそれぞれには、対応するイメージセンサのセンサタイプを表す識別データと、前記対応するイメージセンサの前記動作パラメータを表す設定データとが含まれていることを特徴とする請求項１６に記載の装置。
【請求項１８】
前記汎用カメラドライバでは同定できないセンサタイプを有した追加的なイメージセンサに関連した追加的なデータセットを含むように、前記イメージファイルが更新されることを特徴とする請求項１７に記載の装置。
【請求項１９】
前記汎用カメラドライバが、前記複数のイメージセンサによって個々にサポートされた通信プロトコルを判断することを特徴とする請求項１６に記載の装置。
【請求項２０】
前記複数のイメージセンサが、ＣＣＤイメージセンサ及びＣＭＯＳアクティブピクセルセンサから成ることを特徴とする請求項１６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２００８年１１月１２日に出願された米国特許仮出願第６１／１９８，９２１号の優先権を主張するものである。本明細書には、引用によって上記出願全体が組み込まれる。
【背景技術】
【０００２】
近年、イメージ取得機能を備えた電子デバイスは、消費者にとって身近な存在となっている。典型的に、パーソナルコンピュータ又は携帯移動電話器などの電子デバイスで利用されるカメラモジュールは、イメージセンサを具備する。イメージセンサは、入射光をキャプチャして、イメージの電子的表現を形成する。すなわち、イメージセンサは、光学的イメージ信号を電気的イメージ信号に変換する半導体デバイスである。さまざまなタイプのイメージセンサは別個の設定を必要とするが、電子デバイスは、必要とされるレベルのイメージセンサプロパティの設定を行わないかもしれない。さらに、通常、カメラモジュールは、イメージセンサの設定データを格納するために、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）を具備する。しかしながら、ＥＥＰＲＯＭの採用によって、カメラモジュールのコストが増大するおそれがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
一実施態様において、イメージセンサを制御するためのコンピュータ実行方法は、複数のイメージセンサに別々に関連した複数のデータセットを有したイメージファイルを読み出す段階と、複数のデータセットのうちの１つに含まれた識別データがイメージセンサにマッチした場合に、イメージセンサを同定する段階と、イメージセンサにマッチしたデータセットに含まれた設定データに従って、イメージセンサを設定する段階とを有する。識別データはイメージセンサの識別情報を表す。設定データはイメージセンサの動作パラメータを表す。
【図面の簡単な説明】
【０００４】
【図１】本発明の一実施形態によるカメラシステムの構成図である。
【図２】本発明の一実施形態によるドライバモジュールの構成図である。
【図３】本発明の一実施形態によるイメージセンサを制御するための方法のフローチャートである。
【発明を実施するための形態】
【０００５】
本発明の利点は、本発明の例示的な実施形態の以下の詳細な記載から明らかとなる。上記記載は、添付の図面と併せて参照される。
【０００６】
これより、本発明のいくつかの実施形態への参照が詳細になされる。本発明は複数の実施形態と共に説明されるが、当然ながら、発明をそれらの実施形態に限定することを意図していない。逆に、本発明は、添付の特許請求の範囲によって定義された発明の精神及び範囲内に含まれる変形例、修正例、及び均等物を包含することを意図する。
【０００７】
以下の詳細な記載のいくつかの部分は、手続き、論理ブロック、処理、及びコンピュータメモリ内のデータビット上のその他の演算符号表現の観点から表される。これらの記載及び表現は、その働きを別の当業者に最も効果的に伝えるために、データ処理分野の当業者によって用いられる手法である。本明細書において、手続き、論理ブロック、プロセスなどは、所望の結果を導く自己矛盾のない一連のステップ又は命令となるように設計されたものである。各ステップは、物理量の物理的操作を命じる。必須ではないが、通常、これらの数量は、コンピュータシステムにおける格納、転送、結合、比較、及びその他の操作を受けることが可能な電気的又は磁気的信号の形をとる。
【０００８】
しかしながら、これらのすべて及び同様の用語は、適切な物理量に関連付けられたものであって、これらの数量に付けられた便宜上のラベルに過ぎないということに留意されたい。以下の詳解から明らかとなる特定の状態を除いて、例えば、「読み出し（loading）」、「アクセス（accessing）」、「同定（identifying）」、「設定（configuring）」、「更新（updating）」、「判断（determining）」、「取得（acquiring）」、「要求（requesting）」、「呼び出し（invoking）」などの用語を用いた詳解は、コンピュータシステム又は同様の電子演算デバイスの動作及び処理に言及したものであるということを、本明細書を通して認識されたい。ここで、コンピュータシステム又は同様の電子演算デバイスは、コンピュータシステムのレジスタ及びメモリ内の物理的（電子的）数量として表されたデータを、コンピュータシステムメモリ若しくはレジシタ、又はその他の情報記憶装置、送信装置、若しくは表示装置内の物理量として同様に表される別のデータへと操作及び変換する機能を有する。
【０００９】
明細書に記載された実施形態は、１つ以上のコンピュータ又はその他のデバイスによって実行される、例えば、プログラムモジュールのような、何らかの形式のコンピュータ可用媒体上に存在するコンピュータ実行可能命令として説明される。一般に、プログラムモジュールは、複数のルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、それらは、特定のタスクを実行するか、又は特定の抽象データ型を実装する。プログラムモジュールの機能は、さまざまな実施形態で望まれるままに組み合わされ又は分割されてよい。
【００１０】
例として、かつ限定を目的とせずに、コンピュータ可用媒体には、コンピュータ記憶媒体及び通信媒体が含まれる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又はその他のデータなどの情報記憶のための任意の方法又は技術として実装された揮発性及び不揮発性、着脱可能及び着脱不可能な媒体である。コンピュータ記憶媒体は、それらに限定されないが、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）、フラッシュメモリ、若しくはその他のメモリ技術、ＣＤ−ＲＯＭ（Compact Disk ROM）、ＤＶＤ（Digital Versatile Disk）、若しくはその他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、若しくはその他の磁気記憶デバイス、又は所望の情報の格納に用いられるその他の任意の媒体である。
【００１１】
通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又はその他のデータを、搬送波又はその他の送信メカニズムなどの変調データ信号に具体化する任意の情報配信媒体である。用語「変調データ信号（modulated data signal）」は、情報を信号に符号化するといった方法で設定又は変更された１つ以上の特性を有した信号を意味する。例として、かつ限定を目的とせず、通信媒体は、有線ネットワーク又は直接接続などの有線媒体と、音響、無線周波数（ＲＦ）、赤外線、及びその他のワイヤレス媒体などの無線媒体とを含む。また、上記のいずれかの組み合わせも、コンピュータ可読媒体の範囲内に包含される。
【００１２】
図１は、本発明の一実施形態によるカメラシステム１００の構成図を示す。カメラシステム１００は、一実施形態では、コンピュータユニット１１０と、カメラモジュール１３０とを具備する。コンピュータユニット１１０は、カメラモジュール１３０を制御して、光学イメージをキャプチャする機能と、キャプチャしたイメージを表す電気信号をカメラモジュール１３０から受信する機能とを有する。コンピュータユニット１１０は、携帯移動電話器、パーソナルコンピュータ、ワークステーションなどであってよい。
【００１３】
一実施形態において、カメラモジュール１３０は、イメージセンサ１３１と、レンズ１３３と、通信媒体１３５とを具備する。レンズ１３３は、イメージセンサ１３１上に入射光の焦点を合わせる機能を有する。イメージセンサ１３１は、光学イメージ信号をキャプチャする機能と、光学イメージ信号をアナログ電気イメージ信号に変換する機能とを有する。さらに、イメージセンサ１３１は、一実施形態では、アナログ電気イメージ信号をデジタル未加工イメージ信号（例えば、ＲＡＷ形式のデジタルイメージ）に変換する機能を有する。イメージセンサ１３１は、それらに限定されないが、ＣＣＤ（Charge-Coupled Device）イメージセンサ又はＣＭＯＳ（Complementary Metal-Oxide-Semiconductor）アクティブピクセルセンサであってよい。一実施形態において、イメージセンサ１３１は、レジスタインタフェース１３７と、光感知領域１３９と、１つ以上のレジスタ１４１とを具備する。さまざまなタイプのイメージセンサを互いに区別するために、各タイプのイメージセンサには、一意な識別値が割り当てられている。識別値は、１つ以上のレジスタ１４１に格納できる。さらに、レジスタ１４１は、一実施形態では、設定データを格納し、それによって、イメージセンサ１３１の動作パラメータが決定される。動作パラメータには、それらに限定されないが、イメージセンサ１３１の解像度、輝度、コントラスト、露光方法、及び露光時間の情報が含まれる。光感知領域１３９は、入射光を感知して、アナログ電気イメージ信号を生成する。
【００１４】
通信媒体１３５は、コンピュータユニット１１０からの制御コマンドを転送して、イメージセンサ１３１のイメージ取得機能を制御する機能、例えば、イメージセンサ１３１の動作パラメータを設定及び調整する機能を有する。通信インタフェース１３５は、ＵＳＢ（Universal Serial Bus）プロトコル又は１３９４プロトコル等の通信プロトコルに従って、コンピュータユニット１１０とやりとりを行う機能を有する。さらに、通信媒体１３５は、Ｉ２Ｃ（Inter-Integrated Circuit）バスプロトコル又はＳＣＣＢ（Serial Camera Control Bus）プロトコルなどの別の通信プロトコルに従って、イメージセンサ１３１とやりとりを行う機能を有してよい。換言すれば、イメージセンサ１３１は、一実施形態では、Ｉ２Ｃ／ＳＣＣＢプロトコルをサポートする機能を有する。そのようにして、通信媒体１３５は、ＵＳＢとＩ２Ｃ／ＳＣＣＢとの間のプロトコル変換も提供する。さらに、通信媒体１３５は、イメージセンサ１３１からのデジタルイメージ信号（例えば、デジタル未加工イメージ信号）をコンピュータユニット１１０に転送する機能を有する。通信媒体１３５は、ＳＣＣＢ／Ｉ２Ｃプロトコルに従って、レジスタインタフェース１３７を介してレジスタ１４１にアクセスする機能を有する。
【００１５】
一実施形態において、コンピュータユニット１１０は、プロセッサ１０１（例えば、中央処理ユニット）と、メモリ（記憶デバイス）１０３と、通信インタフェース１０５と、バス１０７とを具備する。オペレーティングシステム、例えば、Ｗｉｎｄｏｗｓ（登録商標） ＸＰ、Ｗｉｎｄｏｗｓ Ｖｉｓｔａ、及びＬｉｎｕｘ（登録商標）が、コンピュータユニット１１０にインストールされている。一実施形態において、プロセッサ１０１は、メモリ１０３に格納されたさまざまなプログラムの命令を処理し、対応するハードウェア要素にコマンドを送信する。特定のプログラムを実行するために、プロセッサ１０１は、メモリ１０３から関連する命令を読み出し、対応する制御コマンドを関連するハードウェア要素に送信してそのような命令を実行する。また、プロセッサ１０１は、コマンドを送信して、コンピュータユニット１１０に接続されたデバイス、例えば、カメラ１３０を制御する。さらに、メモリ１０３は、コンピュータ可読媒体であり、プロセッサ１０１によって処理可能なコンピュータ可読及び／又はコンピュータ実行可能データを格納する機能を有する。通信インタフェース１０５は、シリアルインタフェース、パラレルインタフェース、及び／又はその他のタイプのインタフェースであってよく、デジタルデータストリームを伝送する電気的、磁気的、又は光学的信号を送受信する機能を有する。例えば、通信インタフェース１０５は、通信媒体１３５とやりとりを行って、電気イメージ信号及びイメージ取得管理に関した制御コマンドを転送する。コンピュータユニット１１０の複数のハードウェア要素間の通信、例えば、プロセッサ１０１と、メモリ１０３と、通信インタフェース１０５との間の通信は、バス１０７を介して確立される。
【００１６】
メモリ１０３は、一実施形態では、アプリケーションモジュール１２１と、ドライバモジュール１２３とを具備する。アプリケーションモジュール１２１は、フォアグラウンドで実行されてユーザとのやりとりを行うユーザモードプログラムであってよい。ドライバモジュール１２３は、バックグラウンドで実行されてユーザには不可視のカーネルモードプログラムであってよい。一実施形態において、ドライバモジュール１２３は、ストリームクラスドライバ１２５と、カメラドライバ１２７と、デバイスドライバ１２９とを具備する。アプリケーションモジュール１２１及びドライバモジュール１２３は、プロセッサ１０１によって実行されてよい。
【００１７】
一実施形態において、ストリームクラスドライバ１２５は、オペレーティングシステムによって提供され、上位層ユーザモードプログラムと下位層カーネルモードプログラムとの橋渡しの機能を果たす。例えば、ユーザがユーザモードプログラムのＴＶ電話機能を開始した場合、ユーザモードプログラムは、イメージ要求を発する。ストリームクラスドライバ１２５は、イメージ要求を受信し、イメージ要求に応答して、カメラドライバ１２７を呼び出してカメラモジュール１３０を起動する。カメラドライバ１２７は、さまざまなタイプのイメージセンサを駆動するために開発されたものである。たとえカメラモジュール１３０がイメージセンサ１３１を異なるタイプのイメージセンサに置き換えたとしても、カメラドライバ１２７は、一実施形態では、更新を必要とせずに、新たに使用されるイメージセンサを同定及び設定できる。換言すれば、カメラドライバ１２７は、さまざまなイメージセンサに対する汎用ドライバである。さらに、カメラドライバ１２７は、デバイスドライバ１２９を呼び出して、通信インタフェース１０５と通信媒体１３５との間の通信を確立する。それによって、コンピュータユニット１１０とイメージセンサ１３１とが通信可能となる。例えば、デバイスドライバ１２９は、プロセッサ１０１によって実行されて、イメージセンサ１３１からの信号、例えば、デジタル未加工イメージ信号を検出／認識し、そのような信号をイメージセンサ１３１から対応するコンピュータ可読データに変換する機能を有する。さらに、デバイスドライバ１２９は、コンピュータ可読データ、例えば、コンピュータユニット１１０からのコンピュータコマンドをセンサ可読信号に変換する機能を有する。一実施形態において、デバイスドライバ１２９、例えば、ＵＳＢドライバは、オペレーティングシステムによって提供されてもよい。
【００１８】
有利には、カメラドライバ１２７は、さまざまなイメージセンサをサポートする機能を有し、それによって、カメラシステム１００をよりフレキシブルかつユーザフレンドリーなものとする。さらに、カメラモジュール１３０からＥＥＰＲＯＭを取り除く。それによって、カメラモジュール１００のコストを削減できる。
【００１９】
図２は、本発明の一実施形態によるドライバモジュール１２３の構成図を示す。図１と同一の参照符号が付けられた要素は、同一の機能を有する。図２は、図１と併せて説明がなされる。一実施形態において、カメラドライバモジュール１２７は、イメージファイル２２１と、識別コンポーネント２２３と、設定コンポーネント２２５と、プロパティコンポーネント２２７と、イメージ処理コンポーネント２２９とをさらに具備する。
【００２０】
イメージファイル２２１は、異なる複数のイメージセンサに関する複数のコンピュータ可読データセットを格納する。一実施形態において、複数のデータセットのそれぞれは、対応するイメージセンサに関する識別データ及び設定データを定義したものである。識別データは、対応するイメージセンサのセンサタイプ（又は、識別情報）を表す。例えば、イメージセンサ１３１の識別データは、図１に関連して先に記載されたような識別値と、１つ以上のアドレス値と、アドレスカウント値とを有してよい。アドレス値は、レジスタ１４１のアドレスを表す。アドレスカウント値は、識別値を格納するためのレジスタ１４１の数を表す。例えば、識別値が１６ビット長である場合、その識別値は、２つの８ビットレジスタに格納できる。故に、アドレス値には２つの８ビットレジスタのアドレスが含まれ、かつアドレスカウント値は２となる。以降の記載では、イメージファイル２２１に格納された識別値をローカル識別値と称し、かつレジスタ１４１に格納された識別値をリモート識別値と称する。また、一実施形態において、イメージセンサ１３１の識別データは、イメージセンサ１３１によってサポートされた通信プロトコル（例えば、Ｉ２Ｃプロトコル及びＳＣＣＢプロトコル）を表すプロトコル値を含んでよい。対応する設定データは、解像度、輝度、コントラスト、露光方法、及び露光時間などのイメージセンサ１３１の動作パラメータを表す。
【００２１】
有利には、イメージファイル２２１は、コンピュータユニット１１０には未知のイメージセンサに関連する追加的なデータセットを含むように更新されてもよい。例えば、新たなイメージセンサに関連したデータセットがイメージファイル２２１に書き込まれることによって、そのようなイメージセンサがカメラドライバアプリケーション１２７によって認識可能となる。そのようにして、さまざまな任意のイメージセンサをサポートするように、カメラドライバアプリケーション１２７をカスタマイズできる。
【００２２】
プロセッサ１０１によって実行される識別コンポーネント２２３は、イメージセンサ１３１中のリモート識別値（例えば、レジスタ１４１に格納されたリモート識別値）と、イメージファイル２２１中のデータセットに含まれたローカル識別値とを比較する機能を有する。イメージセンサ１３１は、複数のデータセットのうちの１つに含まれたローカル識別値がリモート識別値にマッチするか否かを同定する機能を有する。具体的には、識別コンポーネント２２３は、対応するデータセットに含まれたアドレス値及びアドレスカウント値に従って、（例えば、）イメージセンサ１３１のリモート識別値を取得するため、かつリモート識別値と対応するデータセットに含まれたローカル識別値との自動的な比較によって、イメージセンサ１３１を同定するためのコンピュータ実行可能命令コードを有する。設定コンポーネント２２５は、対応するデータセットに含まれた設定データを読み取るため、かつ対応する設定データに従って、イメージセンサ１３１の動作パラメータを設定するためのコンピュータ実行可能命令コードを有する。
【００２３】
イメージ処理コンポーネント２２９は、カメラモジュール１３０からのデジタルイメージ信号にデジタル画像処理を実行するためのコンピュータ実行可能命令コードを有する。具体的には、イメージ処理コンポーネント２２９は、幾何学的変換、色調処理、イメージ合成、イメージノイズ除去、及びイメージ強調などのさまざまなデジタル処理アルゴリズムによって、デジタルイメージ信号のイメージ属性、例えば、輝度、色調、彩度、及び信号対雑音比を調整する機能を有する。その結果、標準的なイメージファイル形式、例えば、ＪＰＥＧ（Join Photographic Experts Group）規格を用いて、デジタル未加工イメージ信号を色調補正されたイメージに変換できる。
【００２４】
一実施形態において、イメージファイル２２１に格納された複数のデータセットは、デジタルイメージ信号のイメージ属性、例えば、輝度、色調、彩度、及び信号対雑音比を示すプロパティデータをさらに定義する。プロパティコンポーネント２２７は、デジタルイメージ信号のイメージ属性を調整するためのコンピュータ実行可能命令コードを有する。ユーザモードプログラムがイメージ属性を調整するための要求を発した場合、プロパティコンポーネント２２７は、イメージファイル２２７からプロパティデータを読み取り、それに従って、イメージ属性を調整できる。
【００２５】
一実施形態において、カメラドライバモジュール１２７は、判断コンポーネントと、更新コンポーネントを具備する。判断コンポーネントは、イメージセンサ１３１によってサポートされる通信プロトコルの判断と、イメージセンサ１３１との通信が正常に確立されたか否かの判断とを行うためのコンピュータ実行可能命令コードを有する。更新コンポーネントは、イメージセンサ１３１にマッチする識別データが複数のデータセットのいずれにも含まれていない場合に、イメージファイル２２１を更新するためのコンピュータ実行可能命令コードを有する。
【００２６】
図３は、本発明の一実施形態によるイメージセンサを制御するための方法のフローチャート３００を示す。図３には特定のステップが記載されているが、そのようなステップは、例示を目的として提示されたものである。すなわち、本発明は、さまざまな他のステップ、又は、図３に列挙されたステップの変形例の実行に適している。図３は、図１及び図２と併せて説明される。一実施形態において、フローチャート３００は、コンピュータ可読媒体に格納されたコンピュータ実行可能命令として実現される。
【００２７】
ステップ３０１で、イメージ要求が、ユーザモードプログラム、例えば、ビデオアプリケーションプログラムによって発せられる。イメージ要求に応答して、ストリームクラスドライバ１２５が、カメラドライバ１２７を呼び出す。それによって、カメラドライバ１２７は、イメージファイル２２１と共にメモリ１０３から読み出されて、プロセッサ１０１によって実行される。したがって、カメラドライバ１２７にプログラムされたタスクが実行される。タスクについては、ステップ３０３ないしステップ３２１に関する以下の記載で詳細な説明がなされる。
【００２８】
ステップ３０３で、カメラドライバ１２７の判断コンポーネントは、イメージセンサ１３１との通信が正常に確立されているか否かを判断する。例えば、イメージセンサ１３１によってサポートされる通信プロトコルがＩ２Ｃプロトコルであり、かつ通信インタフェース１０５がＵＳＢプロトコルを使用して通信媒体１３５とのやりとりを行っていると仮定すると、通信媒体１３５がＵＳＢ−ＳＣＣＢプロトコル変換を行わない限り、正常な通信は確立できない。この場合、ステップ３０５で、ＳＣＣＢプロトコルはＩ２Ｃプロトコルに変更され、かつ通信媒体１３５が、ＵＳＢ−Ｉ２Ｃプロトコル変換を実行する。ステップ３０５での通信プロトコル変更に続いて、ステップ３０３が再び実行され、正常な通信が確立されたか否かが判断される。今度は、イメージセンサ１３１によってサポートされた通信プロトコルであるとの判断がなされる。
【００２９】
あるいは、識別データのプロトコル値は、ステップ３０３で、通信確立時のデフォルト通信プロトコルとして使用されてもよい。すなわち、プロトコル値は、通信確立の最初の試行時に、カメラドライバ１２７の判断コンポーネントによって、通信プロトコルとして採用される。デフォルト通信プロトコルとしてプロトコル値を使用することによって、最初の試行時に正常な通信が確立される可能性が高まる。そのようにして、システム効率が向上する。
【００３０】
ステップ３０７で、イメージファイル２２１に格納された識別データへのアクセスを行う。各データセットの識別データに対して、ステップ３０９で、カメラドライバ１２７の同定コンポーネントは、マッチするＩＤが存在するか否かを判断する。具体的には、まず、カメラドライバ１２７の取得コンポーネントが、識別データのアドレス値及びアドレスカウント値に従って、レジスタ１４１からイメージセンサ１３１のリモート識別値を読み出す。次いで、同定コンポーネントは、イメージセンサ１３１のリモート識別値と、識別データのローカル識別値と比較して判断を行う。一実施形態では、取得コンポーネントと同定コンポーネントとで識別コンポーネント２２３を構成する。リモート識別値とローカル識別値が等しい場合、マッチするＩＤが検出される。この場合、ステップ３１３で、対応する設定データが読み取られ、かつステップ３１５で、イメージセンサ１３１が設定される。リモート識別値とイメージファイル２２１中のすべてのデータセットの識別値とを比較してもマッチするＩＤが検出されなかった場合、未知のイメージセンサ１３１に関連した追加的なデータセットを含むように、ステップ３１１で、イメージファイル２２１の更新が行われる。
【００３１】
ステップ３１７で、イメージセンサ１３１は、光学イメージをキャプチャするとともに、設定した動作パラメータに従って、デジタルイメージ信号を生成する。ステップ３１９で、デジタルイメージ信号は、色調補正されたイメージを生成するために処理される。ステップ３２１で、色調補正済みイメージは、表示を行うために、ストリームクラスドライバ１２５を介してユーザモードプログラムに送信される。
【００３２】
要約すると、以上の開示に関連したいくつかの実施形態は、さまざまなイメージセンサをサポート可能な汎用カメラドライバを提供し、それによって、よりフレキシブルかつユーザフレンドリーなカメラシステムを作り出す。さらに、１つ以上の構成部材（例えば、ＥＥＰＲＯＭ）が省略でき、それによって、カメラシステムのコストを削減できる。さらに、汎用カメラドライバに添付されたイメージファイルは、未知のイメージセンサに関連した識別情報及び設定情報を含むように更新できる。そのようにして、任意のイメージセンサをサポートするように汎用カメラドライバをカスタマイズできる。
【００３３】
明細書中で使用された用語及び表現は、説明のための言葉として用いられたのであって、限定を意図しない。そのような用語及び表現の使用によって示され、かつ説明された（又は、その一部分が示され、かつ説明された）いかなる均等物の除外も意図しない。さまざまな修正例が特許請求の範囲内に存在し得ることは明らかである。また、その他の修正例、変形例、及び置換例が存在し得る。したがって、本特許請求の範囲は、そのような均等物のすべてを包含することを意図したものである。
【符号の説明】
【００３４】
１００  カメラシステム
１０１  プロセッサ
１０３  メモリ
１０５  通信インタフェース
１０７  バス
１１０  コンピュータユニット
１２１  アプリケーションモジュール
１２３  ドライバモジュール
１２５  ストリームクラスドライバ
１２７  カメラドライバ
１２９  デバイスドライバ
１３０  カメラモジュール
１３１  イメージセンサ
１３３  レンズ
１３５  通信媒体
１３７  レジスタインタフェース
１３９  光感知領域
１４１  レジスタ
２２１  イメージファイル
２２３  識別コンポーネント
２２５  設定コンポーネント
２２７  プロパティコンポーネント
２２９  イメージ処理コンポーネント
【図１】
2010119105.tif 000003
【図２】
2010119105.tif 000004
【図３】
2010119105.tif 000005