(57)【要約】【課題】  解像度を設定することができる出力画像を生成する。【解決手段】  第１の解像度の画像（２２２）、水平スケール因子（ＨＳＦ）（２４１）および垂直スケール因子（ＶＳＦ）（２４２）を受信し、これらに基づいて第２の解像度の出力画像（２２４）を生成する解像度コントローラ（２２０）と、解像度コントローラ（２２０）に接続され少なくとも１つの出力画像を記憶するメモリバッファ（１３０）とを備えることを特徴とする解像度が設定可能な出力画像（１０８）を生成するカメラ（１００）。【選択図】        図１
2006054887.tif 000002
【特許請求の範囲】
【請求項１】
第１の解像度の画像と水平スケール因子と垂直スケール因子とを受信し、これらに基づいて第２の解像度の出力画像を生成する解像度コントローラと、
前記解像度コントローラに接続され少なくとも１つの出力画像を記憶するメモリバッファと
を備える設定可能な解像度の出力画像を生成するカメラ。
【請求項２】
前記解像度コントローラは、前記水平スケール因子と垂直スケール因子とに基づき前記第１の解像度の画像に対して単色での平均操作を行うモノクロ平均化機構を含み、
前記解像度コントローラは、水平の大きさを前記水平スケール因子でスケーリングし、垂直の大きさを前記垂直スケール因子でスケーリングして、第２の解像度の出力画像を生成することを特徴とする請求項１に記載のカメラ。
【請求項３】
前記解像度コントローラは、前記水平スケール因子と垂直スケール因子とに基づき前記第１の解像度の画像に対してモザイク保存平均操作を行うモザイク保存平均化機構を含み、
前記出力画像はカラー情報を含むことを特徴とする請求項１に記載のカメラ。
【請求項４】
前記カメラとインタフェースの間のデータ通信を管理するインタフェースコントローラをさらに備えることを特徴とする請求項１に記載のカメラ。
【請求項５】
前記インタフェースコントローラは、前記カメラとシリアルインタフェースの間のデータ通信を管理するシリアルインタフェースコントローラを含むことを特徴とする請求項４に記載のカメラ。
【請求項６】
前記シリアルインタフェースコントローラは、前記カメラと、シリアル周辺機器インタフェースおよび集積回路間インタフェースのいずれか１つとの間のデータ通信を管理することを特徴とする請求項５に記載のカメラ。
【請求項７】
前記ＶＳＦおよび前記ＨＳＦを記憶する解像度レジスタをさらに備えることを特徴とする請求項１に記載のカメラ。
【請求項８】
ビット深さ値を記憶するレジスタと、
平均操作識別子のタイプを記憶するレジスタと、
目的領域を記憶するレジスタと
をさらに備えることを特徴とする請求項１に記載のカメラ。
【請求項９】
開始列を記憶するレジスタと、開始行を記憶するレジスタと、停止列を記憶するレジスタと、停止行を記憶するレジスタとをさらに備えることを特徴とする請求項１に記載のカメラ。
【発明の詳細な説明】
【背景技術】
【０００１】
カメラモジュールは、光学素子と共にパッケージされたイメージング集積回路（チップ）を含む。このようなカメラモジュールは、携帯電話にカメラを組み込みたい携帯電話製造業者など、消費者向け機器の製造業者が利用するものである。アジレント  ＣＭＯＳ  ＡＤＣＭ−２６５０−０００１カメラモジュール製品は、本特許出願の出願人が市販しているカメラモジュールの例である。
【０００２】
カメラモジュールは、モジュール（たとえばイメージャチップ）の内部回路によって決定される速度で出力画像を生成する。カメラが生成した出力画像を使用する他のコンポーネントは、カメラモジュールが設定する速度で出力画像を受け取らなければならない。言いかえれば、カメラモジュール（たとえばイメージャチップ）は、他のコンポーネントが出力画像を処理するか記憶する速度を定めているともいえる。そうしないと情報は失われる。ビデオ用途など多くの用途では、カメラモジュールにインタフェースする他のコンポーネントは高価なフレームメモリまたはデジタル信号プロセッサを使用して、カメラモジュールが出力画像を生成する速度に対応しなければならない。これは、このようなコンポーネントのコストを上昇させ、同時に、所定のタイプの画像処理に制限を加え、高価なＤＳＰ集積回路とメモリの使用を必要とするという点で望ましくない。言いかえれば、メモリが限定された、それほど強力でないプロセッサあるいはコンポーネントが、カメラモジュールが生成した出力画像を使用することは不可能ではなくても困難であり、このようなコンポーネントをカメラモジュールに統合する困難さが増加する。
【０００３】
さらに、既存のカメラは、固定された解像度の画像を生成する。たとえば、ＶＧＡは４８０×６４０ピクセルの解像度を有する。一部のカメラは、ユーザが視野より狭い目的領域を選択し、デジタルズーム機能を適用できる機能を有する。
【０００４】
他のカメラは、解像度が低い画像をサブサンプリングによって生成し、小さな画面（たとえば携帯電話のディスプレイ）上に表示する機能を有する。たとえば、上述のカメラモジュールは、センサ画像に対してサブサンプリングを行い、小さな画面に表示する出力画像を生成するサイザを含む。しかし、サブサンプリングを行うと光情報が失われ、望ましくない画像のアーティファクトが生じることがある。さらに、関連技術カメラのビット深さは調整可能ではない。
【０００５】
計算リソースが制限された画像処理システムでは、これらの関連技術のカメラは深刻な欠点である。このようなシステムでは、エネルギ消費を低減し、処理時間を節約することが重要である。これらの目的を達成するために、所望の画像処理結果を得るために必要な、解像度が最小の画像を計算リソースに提供することが重要である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記に鑑み、解像度が設定可能な出力画像を生成することができ、上記の欠点を克服するカメラに対するニーズが依然として存在する。
【課題を解決するための手段】
【０００７】
本発明の一実施形態によれば、解像度が設定可能な出力画像を生成するカメラが説明される。このカメラは、第１の解像度の画像、水平スケール因子（horizontal scaling factor: HSF）、垂直スケール因子（vertical scaling factor: VSF）を受信し、これらに基づいて第２の解像度の出力画像を生成する解像度コントローラを含む。メモリバッファが解像度コントローラに接続され、少なくとも１つの出力画像を記憶する。
【０００８】
本発明の一実施形態による、解像度がスケーリング可能な出力画像を生成するカメラについて説明する。イメージセンサは光を受光し、受光した光に基づいて、複数の行と列を伴う入力画像を生成する。イメージセンサが生成した入力画像は、Ｍ×Ｎの元の解像度を有する。解像度コントローラをイメージセンサに接続され、入力画像または入力画像の一部のサブウィンドウ、水平スケール因子、垂直スケール因子を受信し、これらに基づいて新しい解像度の出力画像を生成する。オプションとしては、一時的な結果と出力画像のうちの１つを記憶するメモリバッファを備える。
【０００９】
一実施形態によれば、解像度コントローラは、入力画像にモノクロ平均操作（monochrome average operation）を行なうことにより、入力画像の水平の大きさをＨＳＦだけスケーリングし、入力画像の垂直の大きさをＶＳＦだけスケーリングする。
【００１０】
別の実施形態によれば、解像度コントローラは、入力画像にモザイク保存的な平均操作(mosaic preserving average operation)を行なうことにより、入力画像の水平の大きさをＨＳＦだけスケーリングし、入力画像の垂直の大きさをＶＳＦだけスケーリングする。この場合、出力画像はカラー情報を含む。
【発明を実施するための最良の形態】
【００１１】
本発明を、限定としてではなく例示として、付随する図面の中に図示する。図面の中では同様な参照番号は同様な要素を指す。
【００１２】
解像度がスケーリング可能なカメラおよびこれに関する方法を説明する。次の説明では、説明のために、本発明の完全な理解を提供するために多くの特定の詳細を述べる。しかし当業者であれば、本発明はこれらの特定の詳細がなくても実行できることは明らかであろう。他の例では、よく知られた構造とデバイスは構成図の形態で示し、本発明を不必要にあいまいにすることを避けている。
【００１３】
［カメラ１００］
図１は本発明の一実施形態によるカメラ１００を示す。カメラ１００は、イメージセンサ１１０、平均値算出機構１２０、メモリバッファ１３０、画像出力解像度コントローラとインタフェースコントローラ（ＩＯＲＣＩＣ）インタフェース１４０を含む。カメラ１００は、出力画像に関する特性またはパラメータを指定する１つまたは複数の設定パラメータ１０４を受信する。カメラはこれらの設定パラメータ１０４に基づいて、設定された出力画像１０８（たとえば設定パラメータに従って設定された出力画像）を生成する。たとえば、出力画像１０８は設定された解像度、設定されたビット深さ、またはこれらの両方を有することができる。次に、設定パラメータ１０４と設定された出力画像１０８の例についてより詳しく説明する。
【００１４】
カメラ１００は、任意の画像取得デバイス（たとえばデジタルスチルカメラまたはデジタルビデオカメラ）であってよい。カメラ１００は、イメージセンサ１１０上に光を向け集光する光学素子（図示せず）を含む。カメラ１００は、本発明を不必要にあいまいにすることを避けるために本明細書に説明されないが、よく知られた他のコンポーネントを含んでいてもよいことに注意されたい。
【００１５】
本明細書ではイメージセンサ１１０は「イメージャ」とも呼ばれる。イメージセンサ１１０はたとえばＣＣＤイメージャまたはＣＭＯＳイメージャであってよい。処理（たとえば平均値算出操作）を単一の集積回路（「チップ」）上に集積できるので、ＣＭＯＳイメージャが好ましい実装である。
【００１６】
平均値算出機構１２０はピクセルのブロックまたはグループの平均値を算出する。一実施形態では、ＩＯＲＣＩＣ１４０が生成する出力画像の大きさ（たとえば垂直の大きさと水平の大きさ）は、２の累乗の値に限定される。たとえば、出力画像の解像度の水平の大きさは２の累乗である（たとえば２、４、８、１６、３２、６４、１２８、２６５など）。同様に、出力画像の解像度の垂直の大きさは２の累乗である（たとえば２、４、８、１６、３２、６４、１２８、２５６など）。
【００１７】
［メモリバッファ１３０］
カメラ１００はメモリバッファ１３０を使用して平均値を算出する。メモリバッファ１３０は解像度コントローラに接続され、少なくとも１つの出力画像を記憶する。またバッファ１３０は、１つまたは複数の一時結果を記憶できる。
【００１８】
一実施形態では、メモリバッファ１３０のサイズは、少なくとも、行の幅とバッファ深さの積と同じ大きさである。この実施形態では、メモリバッファ１３０は２５６の１６ビットワードとして構成される。行と列の両方の平均値算出の間、値をメモリバッファ１３０に蓄積することができる。列平均値算出だけを使用する場合、センサは行の順序でデータを出力するので単一のメモリ位置だけで十分である。
【００１９】
メモリバッファ１３０はたとえば２ライン２５６ピクセル１６ビットのバッファであってよい。この例では、このバッファ１３０を使用して、ユーザが選択した目的の領域（Region of Intent:ＲＯＩ）として得られるか、または、画像のより大きな領域の平均化の結果として得られた全３２×３２ピクセル８ビット画像を記憶することができる。ビット深さが減少すると、より多くのピクセルを同じメモリバッファ１３０に記憶できる。たとえば、ビット深さが４ビットであれば、同じメモリバッファ１３０は３２×６４ピクセルの画像を記憶できる。同様に、ビット深さが２ビットであれば、同じメモリバッファ１３０は６４×６４ピクセルの画像を記憶できる。
【００２０】
多数のフレームキャプチャと転送を使用することにより、より大きな画像（たとえばメモリバッファより大きな画像）をいくつかのサイクルで計算リソースに転送できることに注意されたい。
【００２１】
メモリ集積回路が２の累乗の大きさなので、出力画像サイズの解像度を２の累乗として設定することによって、整数の画像フレームをデジタルメモリバッファ（たとえばバッファ１３０）へ記憶することができる。
【００２２】
たとえば、本発明による平均値算出機構１２０は、元の解像度が２５６×２５６であるイメージャ１１０に基づいて、２×２ピクセルから２５６×２５６ピクセルまですべての解像度ステップで正方形の画像を生成する。また本発明による平均値算出機構１２０は、長方形の目的領域（ＲＯＩ）について操作するか、または第１の量の平均値算出を水平方向に適用し第２の量の平均化を垂直方向に適用することによって、正方形ではない画像（たとえば長方形の画像）を生成することができる。たとえば、第１のスケール因子（たとえば２の１乗（２で除算する））を水平の大きさに沿ったピクセルに適用し、第１のスケール因子とは異なる第２のスケール因子（たとえば２の異なる累乗（４または８で除算する））を垂直の大きさに沿ったピクセルに適用することができる。第１のスケール因子は本明細書では水平スケール因子と呼び、第２のスケール因子は本明細書では垂直スケール因子と呼ぶ。
【００２３】
一実施形態では、ビットシフト操作を行なって、デジタルゲインを出力画像２２４に適用するかまたは出力画像２２４のビット深さを低減する。たとえば、各左シフトにより、出力値に２の因子を掛けることになる。各右シフトにより１だけビット深さを減少することになる。デジタルゲインを適用した結果オーバーフローが起きる場合があることに注意されたい。
【００２４】
その他の元の解像度を使用してスケーリング可能なカメラを作成できることに注意されたい。たとえば、ＶＧＡ（４８０×６４０ピクセル）を使用して、３０×４０ピクセルなどの低い画像解像度を提供することができる。さらに２以外の平均値算出因子を使用することもできる。しかしこの場合は、平均値算出機構はより複雑な実装を有することになる。
【００２５】
スケール因子（たとえばＨＳＦとＶＳＦ）は、分散ネットワーク中で、１）特定のアプリケーションが要求する解像度、２）、特定のアプリケーションが要求する倍率、３）メモリバッファ１３０の容量または大きさ、４）画像プロセッサまたは計算リソース（たとえば図７の７４０）の内部メモリ容量または大きさに基づいて選択することができる。
【００２６】
［コントローラ（ＩＯＲＣＩＣ）１４０］
図２は、本発明の一実施形態による図１のコントローラ１４０をより詳しく示す。コントローラ１４０は、解像度コントローラ２２０、および、ビット深さコントローラ、複数のレジスタ（たとえば２４０、２４３、２４６、２４８）、インタフェース（Ｉ／Ｆ）コントローラ２５０を含む。解像度コントローラ２２０は入力画像２２２（たとえば第１の解像度の画像データまたは第１の解像度の目的領域）を受信する。第１の解像度は、水平方向でのピクセル数と垂直方向でのピクセル数の点で指定できる。第１の解像度はイメージセンサ１１０が提供する元の解像度であってもよいことに注意されたい。
【００２７】
さらに解像度コントローラ２２０は１つまたは複数の設定パラメータ１０４（たとえば水平スケール因子と垂直スケール因子）を受信する。解像度コントローラ２２０はこれらの設定パラメータ１０４に基づいて、第２の解像度（たとえば選択された解像度に基づいた新しい解像度）の出力画像２２４を生成する。
【００２８】
［出力画像設定パラメータレジスタ］
本発明の一実施形態によれば、設定パラメータ１０４を記憶するための複数のレジスタが提供される。たとえば、これらのレジスタにはアプリケーションによって設定パラメータを書き込むことができる。これらの設定パラメータ１０４を解像度コントローラ２２０とビット深さコントローラ２３０が使用して、出力画像２２４を構成する。一実施形態では、出力画像２２４は設定可能な解像度と選択可能なビット深さを有する。別の実施形態では、出力画像２２４のみが設定可能またはスケーリング可能な解像度を有する。
【００２９】
たとえばコントローラ１４０は、水平スケール因子（ＨＳＦ）２４１と垂直スケール因子（ＶＳＦ）２４２を記憶する解像度レジスタ２４０を含む。別の実施形態では、ＨＳＦ２４１とＶＳＦ２４２は別々のレジスタに記憶してもよいことに注意されたい。たとえばコントローラ１４０は、ＨＳＦ２４１を記憶するＨＳＦレジスタと、ＶＳＦ２４２を記憶する別のＶＳＦレジスタを含んでいてもよい。
【００３０】
またコントローラ１４０は、開始行と開始列（ＳＲＳＣ）２４４、終了行と終了列（ＥＲＥＣ）２４５を記憶する目的領域（ＲＯＩ）レジスタ２４３を含む。別の実施形態では、開始行と開始列（ＳＲＳＣ）２４４、および、終了行と終了列（ＥＲＥＣ）２４５は２つの別のレジスタに記憶してもよいことに注意されたい。たとえばコントローラ１４０は、ＳＲＳＣ２４４を記憶するＳＲＳＣレジスタと、ＥＲＥＣ２４５を記憶するＥＲＥＣレジスタを含んでいてもよい。別法としては、各パラメータを記憶するために別々のレジスタを備えてもよい（たとえばＳＲ、および、ＳＣ、ＥＲ、ＥＣそれぞれについて４つの個別のレジスタを備える）。
【００３１】
またオプションとしては、コントローラ１４０は、コントローラ１４０がビット深さコントローラ２３０を含む時にはビット深さを記憶するビット深さレジスタ２４６を含む。
またオプションとしては、コントローラ１４０は、コントローラ１４０がモノクロ平均操作（Ｍ平均操作）とモザイク保存的な平均操作（ＭＰ平均操作）の２つを提供するとき、入力画像データに対して行なう平均をとる操作のタイプを決定する値を記憶する、平均操作タイプレジスタ２４８を含む。
【００３２】
レジスタ（たとえば２４０、および、２４３、２４６、２４８）は、出力画像データの特性を特定の用途に適するように調整または調節するために、レジスタに特定の値を書くことによって設定することもできる。計算リソース（たとえば図７のリソース７４０）は、解像度、ビット深さ、目的領域、ＨＳＦ、ＶＳＦなどのパラメータを、対応する値が関連づけられたレジスタ（たとえば２４０、２４３、２４６、２４８）に書き込むことにより設定または構成することができる。ついで、たとえば、解像度コントローラ２２０、平均値算出機構２２６、２２８、ビット深さコントローラ２３０がこれらのレジスタを読み出し、これらの機構が行なう特定の処理に影響を与えるパラメータを得ることができる。コントローラ１４０は、出力画像データに影響を与える他の設定パラメータを記憶する他の設定レジスタを含んでもよいことに注意されたい。
【００３３】
［平均値算出機構２２６、２２８］
一実施形態では、解像度コントローラ２２０は、モノクロ平均化機構（Ｍ平均化機構）２２６とモザイク保存平均化機構（ＭＰ平均化機構）２２８を含む。一実施形態では、解像度コントローラ２２０は、Ｍ平均化機構２２６またはＭＰ平均化機構２２８のいずれかを使用し、イメージデータ２２２の解像度を、選択された解像度の出力画像２２４に変更または調節する。別の実施形態では、コントローラ（ＩＯＲＣＩＣ）１４０は、選択されたビット深さを受信し、選択されたビット深さを有する出力画像２２４（各ピクセルが選択された数のビット（たとえば８ビット）によって表される画像出力）を生成するビット深さコントローラ２３０を含んでいてもよいことに注意されたい。
【００３４】
具体的には、Ｍ平均化機構２２６は、ピクセルのグループ（たとえば隣接したピクセル）の値を合計し、次に、この合計をグループ内のピクセルの数で除算し平均を得る。ついで平均値を使用し、出力画像内のピクセルのグループを低減された解像度で表す。モノクロ平均操作はカラー情報のない単色画像を生成する。次に、本発明によるモノクロ平均操作を、図４を参照してより詳しく説明する。
【００３５】
具体的には、ＭＰ平均化機構２２８はあるグループのピクセルの値（たとえばピクセルの色によって選択された一グループのピクセル）を合計し、ついで、この合計をそのグループ内のピクセルの数で除算して平均を得る。ついでこの平均値を、出力画像においてそのグループのピクセルを低減された解像度で表現するのに用いる。モザイク保存的な平均操作は、カラー情報が中に保存されたカラー画像を生成する。次に図５を参照しながら、本発明によるモザイク保存的な平均操作をより詳しく説明する。
【００３６】
あるグループ内のピクセル数が２の累乗である場合、合計をグループ内のピクセル数で除算する操作はビットシフト操作で行なうことができる。たとえば、４で除算することは２ビットの右シフトで行なうことができる。一実施形態では、平均操作を行うために使用する合計算出レジスタは画像ピクセルより大きなビット深さを有するように設定される。１６ビットの合計算出レジスタを使用する場合、レジスタをオーバーフローさせることなく２５６（８ビット）ものピクセル値を合計することができる。
【００３７】
一実施形態では、２、および、４、８、１６のスケール因子（本明細書では平均値算出因子とも呼ぶ）を各画像の大きさ（たとえば水平の大きさおよび垂直の大きさ）に沿って選択することができる。カメラ１００の元の解像度が２５６×２５６の場合、この例では各大きさは最大で１６の因子で除算できるので、最小画像サイズは１６×１６ピクセルとなる。
【００３８】
しかし、元の画像の行の数と列の数は、イメージングアレイが提供する最大値までの任意の値であってよいことに注意されたい。さらに、ＨＳＦは任意の数（たとえば偶数か奇数）であってよく、２の累乗に限定されるものではない。同様に、ＶＳＦは任意の数（たとえば偶数か奇数）であってよく、２の累乗に限定されるものではない。さらに、ＨＳＦとＶＳＦは同じ数であってもよいが、異なる数であってもよい。たとえば、第１のスケール因子を水平の大きさに適用し、第１のスケール因子とは異なる第２のスケール因子を垂直の大きさに適用してもよい。他の場合では、ＨＳＦまたはＶＳＦは１であってよく、この場合１というスケール因子を適用した大きさは調節されない（たとえばスケーリングまたは低減）。
【００３９】
また目的領域の形は、行の数と列の数が等しい正方形に限定されるわけではない。たとえば、目的領域は長方形のピクセルアレイであってもよい。
【００４０】
さらに上記の平均値算出操作はピクセルの任意のブロックに適用できることに注意されたい。たとえば、水平の大きさまたは垂直の大きさに沿って８の因子で１２８×２５６ピクセルの平均値を算出することにより、１６×３２ブロックのピクセルを直接出力または作成することができる。
【００４１】
本発明によるコントローラ１４０とその中のコンポーネントは、ハードウェア、または、ファームウェア、ソフトウェア、これらの組み合わせで実装できる。たとえば、解像度調節機構、Ｍ平均操作、ＭＰ平均操作は、上記の機能を行うプログラムを実行するマイクロプロセッサまたはマイクロコントローラ集積回路により実装できる。別法としては、解像度調節機構、Ｍ平均操作、ＭＰ平均操作は、デジタル論理を使用して上記の機構を実装するハードワイヤードデジタル回路として実装できる。たとえば解像度制御機構は、特定用途向けＩＣ（ＡＳＩＣ）または特定用途向け標準製品（ＡＳＳＰ）として実装できる。
【００４２】
カメラ１００の種々のコンポーネントを組み合わせるかまたは単一のコンポーネントに集積して、カメラ１００のコスト、部品の数、大きさを低減できることに注意されたい。
【００４３】
［インタフェース（Ｉ／Ｆ）コントローラ２５０］
インタフェース（Ｉ／Ｆ）コントローラ２５０は、インタフェース１５０（たとえばシリアル通信リンク）とイメージセンサ１１０の間、および、平均値算出機構１２０とメモリバッファ１３０の間の通信を管理および制御する。
【００４４】
インタフェース１５０は、Ｉ２ＣインタフェースまたはＳＰＩインタフェースなどのシリアルリンクであってよい。Ｉ２Ｃは集積回路間バス（Inter Integrated Circuit:Ｉ２Ｃ）の頭文字である。Ｉ２Ｃはフィリップスセミコンダクタ社が定義した２ワイヤシリアルインタフェース標準である。Ｉ２Ｃインタフェースは物理的には２つの有効なワイヤおよび１つのアース接続を含む。２つの有効なワイヤはシリアルデータ線（ＳＤＡ）とシリアルクロック線（ＳＣＬ）を含む。データ線は双方向である。
【００４５】
Ｉ２Ｃインタフェースは、簡単なマスタ／スレーブタイプのインタフェースで、多数のデバイス間で全二重通信するために２本の線（クロック線とデータ線）しか必要としない。このインタフェースは典型的にはかなり低い速度（たとえば１００ｋＨｚから４００ｋＨｚ）で動作する。Ｉ２Ｃでは、バスに接続された各集積回路（ＩＣ）は、一意的なアドレスを有する。集積回路（「チップ」）は、チップの機能に依存して受信器および／または送信器として動作することができる。
【００４６】
Ｉ２Ｃインタフェースは単純なマスタ／スレーブタイプのインターフェースである。Ｉ２Ｃシステムが簡単であるのは、主に、シリアルデータ線（ＳＤＡ）とシリアルクロック線（ＳＣＬ）の双方向の２ワイヤ設計、および、プロトコルフォーマットのためである。
【００４７】
シリアル周辺インタフェース（ＳＰＩ）は、携帯システム及び他の移動プラットフォームシステムにおいて多くのマイクロプロセッサ、他の周辺チップ全体で標準である同期シリアルデータリンクである。ＳＰＩは、モトローラ社が同社のＭＣ６８ＨＣｘｘラインマイクロコントローラに基づいて定義したインタフェース標準である。ＳＰＩバスは、多くのマイクロプロセッサ周辺チップが使用する３ワイヤシリアル通信インタフェースを含む。ＳＰＩバスは、接続されたデバイス間の低帯域幅／中間帯域幅（１メガ・ボー）のネットワーク接続をサポートする。
【００４８】
ＳＰＩバスは、最小数のワイヤを使用する、低速の外部装置を接続するための比較的簡単な同期シリアルインタフェースである。同期クロックは、シリアルデータを８ビットのブロックでマイクロコントローラにシフトインおよびシフトアウトする。ＳＰＩバスはマスタ／スレーブインタフェースである。２つのデバイスが通信する場合は常に、１つは「マスタ」デバイスと呼び、他方は「スレーブ」デバイスと呼ぶ。マスタはシリアルクロックを駆動する。ＳＰＩを使用すると、データは同時に送受信され、全二重プロトコルになる。バスは、常にマスタが駆動するシリアルクロック信号（ＳＣＬＫ）、マスタインスレーブアウトデータ信号（ＭＩＳＯ）、マスタアウトスレーブインデータ信号（ＭＯＳＩ）の信号を含む。
【００４９】
［出力画像の解像度の処理］
図３は、本発明の一実施形態によるコントローラ１４０が行なう処理ステップを示すフローチャートである。処理ステップは２段階に分けられる。第１段階では、コントローラ１４０は１つまたは複数の出力画像設定パラメータを受信する（たとえばステップ３１０から３５０）。これらの出力画像設定パラメータは、垂直スケール因子（ＶＳＦ）、水平スケール因子（ＨＳＦ）、ビット深さ、平均操作タイプ識別子、目的領域識別子を含んでいてもよいがこれらに限定されるものではない。第２段階では、コントローラ１４０はこれらの出力画像パラメータを使用し、出力画像の解像度を調節する（たとえばステップ３６０）。
【００５０】
ステップ３１０では、たとえば目的領域レジスタ２４３から目的領域（ＲＯＩ）識別子を受信する。ステップ３１０は、１）  開始行（ＳＲ）、開始列（ＳＣ）、終了行（ＥＲ）、終了列（ＥＣ）を受信するステップを含んでいてよい。目的領域は全画像であってもよい（たとえば既定の元の解像度の画像）。
【００５１】
ステップ３２０では、たとえば水平スケール因子（ＨＳＦ）を解像度レジスタ２４０から受信する。ステップ３３０では、たとえば垂直スケール因子（ＶＳＦ）を解像度レジスタ２４０から受信する。
【００５２】
ステップ３４０ではオプションとして、たとえば平均操作タイプレジスタ２４８から１つの平均操作タイプ識別子を受信する。解像度コントローラ２２０が単一のタイプの平均操作だけを提供する場合（たとえばモノクロ平均操作あるいはモザイク保存的な操作）、このステップは省略してもよい。
【００５３】
ステップ３５０ではオプションとして、たとえばビット深さレジスタ２４６からビット深さを受信する。固定された既定のビット深さを出力画像内の各ピクセルに提供する場合、このステップは省略してもよい。
【００５４】
ステップ３６０では、平均値算出機構は設定パラメータ１０４と一致する出力画像を自動的に生成する（たとえば設定パラメータ１０４が指定する解像度とビット深さの出力画像）。ステップ３２０は、ピクセルのグループに平均値算出操作を行なうこと、第１の方向（たとえば水平方向）に沿って平均値算出操作を行なうこと、第２の方向（たとえば垂直方向）に沿って平均値算出操作を行なうこと、出力画像のビット深さを増加すること、出力画像のビット深さを減少すること、出力画像の解像度を増加すること、出力画像の解像度を減少すること、デジタルゲインを出力画像に適用することなどのサブステップを含んでいてもよい。
【００５５】
本発明の一実施形態では、ステップ３６０は、第１の解像度（たとえばイメージセンサ１１０の元の解像度）の画像を受信し、設定パラメータに基づいて、第２の解像度（たとえば新しい解像度）の出力画像を生成することを含む。たとえば、出力画像は、垂直スケール因子にしたがって垂直の大きさがスケーリングされ、水平スケール因子にしたがって水平の大きさがスケーリングされた入力画像のバージョンであってもよい。
【００５６】
［モノクロ平均値算出操作（monochrome average operation）］
図４は、本発明の一実施形態による、例示としてのピクセルアレイのモノクロ平均値算出操作を示す。入力画像４１０はＭ行とＮ列を含み、入力画像の元の（ネイティブの）解像度である。この場合、入力画像４１０は、８×８ピクセルの解像度を有する。入力画像４１０は複数のグループ（たとえばグループ１、グループ２、グループ３、グループ４）に分けられ、各グループは既定の数のピクセルを有する。グループの数と各グループ内のピクセルの数は、垂直スケール因子（ＶＳＦ）と水平スケール因子（ＨＳＦ）によって決定される。この例では、ＨＳＦは４であり文字「Ｂ」で表され、ＶＳＦは４であり文字「Ａ」で表される。各グループ内のピクセル数は、ＨＳＦにＶＳＦを乗算することによって決定される（たとえばＡ＊Ｂ＝（８＊８）／（４＊４）＝４）。この式は以下のとおりである。
【００５７】
グループの数＝（Ｍ＊Ｎ）／Ａ＊Ｂ
【００５８】
この式から、グループの数は４と決定される。
【００５９】
各グループ内のピクセル数は次式によって決定される。
【００６０】
グループごとのピクセル数＝（Ａ＊Ｂ）
【００６１】
この場合、ピクセル数は（４＊４）に等しく、これは１グループあたり１６ピクセルに等しい。出力画像４２０は、Ｎ／Ｂの水平の大きさおよびＭ／Ａの垂直の大きさを有する。言いかえれば、出力画像４２０は、２×２ピクセルの解像度を有する。
【００６２】
［モザイク保存的な平均値算出操作(mosaic preserve operation)］
図５は、本発明の一実施形態による、例としてのピクセルアレイのモザイク保存平均値算出操作を示す。入力画像５１０は８×８ピクセルアレイ（たとえば８×８の解像度）、また、出力画像５２０は４×４ピクセルアレイ（たとえば４×４の解像度）である。入力画像５１０は合計で６４ピクセルを有し、既定のパターン（たとえばベイヤーパターン）を伴うモザイクカラーフィルタは次の順序でピクセルアレイに適用される。
【００６３】
ＲＧ
ＧＢ
【００６４】
入力画像５１０の水平方向には２という水平スケール因子が適用され、垂直方向には２という垂直スケール因子が適用され、結果として出力画像５２０が生成される。言いかえれば、水平の大きさは２で除算し、また、垂直の大きさも２で除算する。出力画像５２０（４×４ピクセルアレイ）は、入力画像５１０（８×８ピクセルアレイ）の４分の１の大きさである。
【００６５】
各グループ内のピクセル数は、ＨＳＦとＶＳＦの積に等しい。ピクセル数は４（たとえば２×２＝４）に等しい。出力画像内のグループの数は（行の数＊列の数）／（ＨＳＦ＊ＶＳＦ）に等しい。グループの数は、１６（（８＊８）／（２＊２）＝１６）に等しい。１６のグループは各々、入力画像５１０に見出される対応するラベルにダッシュを追加して標識される。Ｒ１´、ＧＲ１´、Ｒ２´、ＧＲ２´、ＧＢ１´、Ｂ１´、ＧＢ２´、Ｂ２´、Ｒ３´、ＧＲ３´、Ｒ４´、ＧＲ４´、ＧＢ３´、Ｂ３´、ＧＢ４´、Ｂ４´。
【００６６】
たとえばＲ１´の値は入力画像５１０内の対応するＲ１ピクセル（たとえば、（１、１）、（１、３）、（３、１）、（３、３））の値の平均である。同様に、ＧＲ１´の値は入力画像５１０内の対応するＧＲ１ピクセル（たとえば、（１、２）、（１、４）、（３、２）、（３、４））の値の平均である。同様に、Ｒ２´の値は入力画像５１０内の対応するＲ２ピクセル（たとえば、（１、５）、（１、７）、（３、５）、（３、７））の値の平均である。同様に、ＧＲ２´の値は入力画像５１０内の対応するＧＲ２ピクセル（たとえば、（１、６）、（１、８）、（３、６）、（３、８））の値の平均である。
【００６７】
［スケーリング可能なイメージング］
図６は、本発明の一実施形態による図１のカメラが提供するスケーリング可能なイメージングを示す。内部メモリの容量は線１３０で表わす。画像は、元の解像度（たとえば２５６×２５６ピクセル）を有する視野（ＦＯＶ）６１０を含む。ＲＯＩサイズと平均値算出因子の種々の異なる組み合わせを使用し、内部メモリに適合する画像を得ることができる。視野６１０の中には、第１の目的領域６２０、第２の目的領域６３０、第３の目的領域６４０の目的領域がある。各次元についてＲＯＩ６２０を４の因子でスケーリングし、カメラの内部メモリに適合する画像６３６を生成することができる。ＲＯＩ６３０はスケーリングなしに内部メモリ内に十分に適合する小さいサイズである。各次元についてＲＯＩ６４０を４の因子でスケーリングし、内部メモリに適合する画像６４８を生成することができる。別法としては、各次元についてＲＯＩの半分を２の因子でスケーリングして、内部メモリに適合する画像６４６を生成してもよい。同様に、画像６２２は、各次元についてＦＯＶを２の因子でスケーリングすることで得られる。各次元についてＲＯＩ６２８を因子２でスケーリングし、メモリに適合する画像６２９を生成することができる。別法としては、画像６２２を各次元において４の因子でスケーリングして、内部メモリに適合する８でスケーリングされた全ＦＯＶを表す画像６２６を生成してもよい。
【００６８】
［分散画像処理アプリケーション］
図７は、本発明に従ったカメラがその中で使用される、計算リソースとセンサの分散ネットワーク７００を示す。ネットワーク７００は複数の計算リソース（たとえば７４０と７６０）と複数のセンサリソース（たとえばカメラ）を含む。たとえば、ネットワーク７００は、本発明による設定可能またはスケーリング可能な解像度の出力画像を提供する第１のセンサリソース７１０（たとえばカメラ）と、本発明による設定可能またはスケーリング可能な解像度の出力画像を提供する第２のセンサリソース７１４（たとえば別のカメラ）を含んでいてもよい。第１のセンサリソース７１０と第２のセンサリソース７１４はまた、本発明の別の実施形態による選択可能なビット深さの出力を有していてもよいことに注意されたい。
【００６９】
計算リソース７４０は、画像処理を使用するアプリケーション７５０または画像処理アプリケーションを実行するプロセッサ７４４を含んでいてもよい。プロセッサ７４４は内部メモリが制限されたマイクロコントローラであってもよい。
【００７０】
カメラ７１０と７１４がメモリバッファを含むときにはスレーブの周辺機器として動作できることに注意されたい。この方法では、ネットワーク内（たとえばマイクロコントローラ）で画像処理を行なう（たとえば画像処理アプリケーションを実行する）計算リソース（たとえば７４０、７６０）は、計算リソース（たとえば７４０、７６０）が制御可能な速度またはペースで画像データを受け取り、サービスは画像データを失うことなく割り込みを行う。先行技術のカメラアーキテクチャとネットワーク構成では、カメラはネットワーク内でマスタにならなければならないので、カメラが生成する典型的には高速のレートで画像データを受け取らなければならない計算リソースの複雑さとコストが上昇する。したって、先行技術の計算リソースは典型的には高価なフレームメモリとデジタル信号プロセッサ（ＤＳＰ）を必要とした。
【００７１】
本発明によるカメラにより、カメラ１００は画像キャプチャと処理のために幅広い種類のマイクロコントローラと共に動作できる。マイクロコントローラは典型的には内部メモリサイズより大きな画像を処理できないので、メモリバッファ１３０の大きさはマイクロコントローラの内部メモリの大きさと同等であってもよいことに注意されたい。
【００７２】
メモリ容量が制限されたプロセッサ（たとえばマイクロコントローラ７４４）に画像データを転送するためにカメラ（７１０、７１４）を使用する場合、本発明によるカメラが提供するスケーリング機構を使用し、倍率を変えながら画像サイズを一定に維持することができる。たとえば、２５６×２５６ピクセルの元の（ネイティブの）解像度を伴うカメラと小さなマイクロコントローラを組み合わせ、動きの検出を行なうことができる。これはセキュリティシステムにおける検出装置として有用かもしれない。人間とペットなどの小動物を区別するのには低解像度の画像で十分である。
【００７３】
一部の場合では、ＨＳＦとＶＳＦは、第１のフレームから第２のフレームで調節または変更できる。たとえば、画像処理アプリケーションは、低倍率の画像で興味のある特徴を識別し、ついで、元のシーンの目的領域についてより高倍率の画像を求めることができる。
【００７４】
本発明による平均値算出機構を、図面に示す種々の実施形態によって説明したが、本発明の教示にしたがって他の構成を工夫し、スケーリング可能な解像度とビット深さを提供する他のカメラとイメージング装置を実行することができる。
【００７５】
先の明細書では、本発明をその特定の実施形態に関して説明した。しかし、本発明のより広い範囲から離れることなく、上記の実施形態に対して種々の修正および変更を加えられることは明らかであろう。したがって本明細書と図面は限定的な意味ではなく例示的な意味で考慮するべきである。
【図面の簡単な説明】
【００７６】
【図１】本発明の一実施形態によるカメラを示す図である。
【図２】本発明の一実施形態による、図１の画像出力解像度コントローラとインタフェースコントローラをより詳しく示す図である。
【図３】本発明の一実施形態による、図２のコントローラが行なう処理ステップを示すフローチャートである。
【図４】本発明の一実施形態による、例としてのピクセルアレイのモノクロ平均値算出操作を示す図である。
【図５】本発明の一実施形態による、例としてのピクセルアレイのモザイク保存平均値算出操作を示す図である。
【図６】本発明の一実施形態による図１のカメラが提供するスケーリング可能なイメージングを示す図である。
【図７】本発明のよるカメラがその中において使用される、計算リソースとセンサの分散ネットワークを示す図である。
【符号の説明】
【００７７】
１００  カメラ
１０４  設定パラメータ
１０８，２２４，４２０，５２０  出力画像
１１０  イメージセンサ
１２０  平均値算出機構
１３０  メモリバッファ
１４０  ＩＯＲＣＩＣインタフェース
２２０  解像度コントローラ
２２６，２２８  平均値算出機構
２３０  ビット深さコントローラ
２４０，２４３，２４６，２４８  レジスタ
２４１  水平スケール因子（ＨＳＦ）
２４２  垂直スケール因子（ＶＳＦ）
２４４  開始行と開始列
２４５  終了行と終了列
２５０  インタフェースコントローラ
４１０，５１０  入力画像
６１０  視野
６２０  第１の目的領域
６２２，６２６，６２９，６３６，６４８  画像
６３０  第２の目的領域
６４０  第３の目的領域
７００  分散ネットワーク
７１０，７１４  センサリソース
７４０，７６０  計算リソース
７４４  プロセッサ
７５０  アプリケーション
【図１】
2006054887.tif 000003
【図２】
2006054887.tif 000004
【図３】
2006054887.tif 000005
【図４】
2006054887.tif 000006
【図５】
2006054887.tif 000007
【図６】
2006054887.tif 000008
【図７】
2006054887.tif 000009