JP4705664B2 - 累積および平均化を用いる適応バッファ値のためのバッファ管理 - Google Patents

累積および平均化を用いる適応バッファ値のためのバッファ管理 Download PDF

Info

Publication number
JP4705664B2
JP4705664B2 JP2008142822A JP2008142822A JP4705664B2 JP 4705664 B2 JP4705664 B2 JP 4705664B2 JP 2008142822 A JP2008142822 A JP 2008142822A JP 2008142822 A JP2008142822 A JP 2008142822A JP 4705664 B2 JP4705664 B2 JP 4705664B2
Authority
JP
Japan
Prior art keywords
buffer
value
pixel
values
line
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.)
Expired - Fee Related
Application number
JP2008142822A
Other languages
English (en)
Other versions
JP2009099119A (ja
Inventor
ラマクリシュナ・カカララ
アレクサンダー・シー・シュナイダー
Original Assignee
アバゴ・テクノロジーズ・イーシービーユー・アイピー(シンガポール)プライベート・リミテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by アバゴ・テクノロジーズ・イーシービーユー・アイピー(シンガポール)プライベート・リミテッド filed Critical アバゴ・テクノロジーズ・イーシービーユー・アイピー(シンガポール)プライベート・リミテッド
Publication of JP2009099119A publication Critical patent/JP2009099119A/ja
Application granted granted Critical
Publication of JP4705664B2 publication Critical patent/JP4705664B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • H04N5/772Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N3/00Scanning details of television systems; Combination thereof with generation of supply voltages
    • H04N3/10Scanning details of television systems; Combination thereof with generation of supply voltages by means not exclusively optical-mechanical
    • H04N3/14Scanning details of television systems; Combination thereof with generation of supply voltages by means not exclusively optical-mechanical by means of electrically scanned solid-state devices
    • H04N3/15Scanning details of television systems; Combination thereof with generation of supply voltages by means not exclusively optical-mechanical by means of electrically scanned solid-state devices for picture signal generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)

Description

画像ぼけは、写真撮影においては問題であり、焦点合わせミスおよび被写体の動きなどの様々な原因を有する。被写体に対するカメラの動きは、画像ぼけの他の根源である。カメラ動作は、カメラぶれ、手ぶれ、または手震えとも称される。人が露光中にカメラを保持しているとき、カメラぶれは、(例えば、ズームレンズまたは望遠レンズを使用する等の)特に長い露光時間中および画像拡大において画像ぼけを引き起こす。人間の筋肉は通常約4〜12Hzの範囲の周波数で振動するため、カメラぶれは一般的である。また、携帯電話カメラ等の小型カメラは、軽量な材料から構成されており、時として操作中に保持するのが厄介であるため、特にカメラぶれを起こしやすい。
画像ぼけを減少させるための試みにおいて、手持ち式カメラなどのイメージング装置は画像安定化を実施する。画像安定化とは、画像センサと画像化される対象物との間の相対的な動きの影響を減少させることである。スチルカメラシステムにおけるいくつかの従来の画像安定化技術は、ビデオカメラシステムと比べて、レンズまたは画像センサの動作測定および相補的な機械的移動を伴う。そのようなカメラシステムは、カメラの動作を測定するために(例えば、圧電システムジャイロまたはマイクロ電子機械システム(MEMS)ジャイロ等の)ジャイロスコープまたは他の機械装置を含む。動作が測定されると、機械移動システムは、カメラの動きを補償する様式で画像センサを物理的に移動させる。他の従来のシステムは、検出されたカメラ動作を補償するためにカメラレンズを物理的に移動させる。しかしながら、これらの従来の機械システムは、コストが非常に高く、また、しばしば大きすぎるため、携帯電話カメラなどの小型カメラシステムにおいて実施されない。また、機械システムは機械的な故障に晒される。
デジタルカメラが受ける手ぶれ動作を補償するための他のタイプの従来の画像安定化は、画像取得サイクルにわたって複数のフレームにおけるピクセル値を所定のバッファに組み込むことにより実施される。図1Aは、複数のフレームの画像取得サイクルにわたる1つのピクセルにおけるピクセル値の概略信号図10を示している。すなわち、画像の各フレーム毎に1つのピクセル値が得られる。そして、ピクセル値が何らかの様式で組み合わせられ、画像の対応するピクセルにおける最終ピクセル値が生成される。この手法は各ピクセルに対して個別に適用されるが、いくつかのピクセルがピクセル横列(またはピクセル縦列)状態で一緒に画像センサから読み出されてもよい。ピクセル値は、(例えば、8ビットは、0〜255の間で指定される256個の値を与える等の)既知の粒度を与えるために、複数のビット(例えば、8ビット)によって表わされる。
累積は、いくつかのフレームにわたって得られるピクセル値を組み合わせて対応するピクセルにおける最終ピクセル値を生成する1つの方法である。図1Bは、典型的な従来の信号累積方法からの累積バッファ値の概略信号図20を示している。最終ピクセル値は累積バッファ値によって表わされる。図1Bに示されるように、各フレームのピクセル値は、累積バッファ値を生成するために互いに加えられる。しかしながら、バッファが個々のピクセル値(例えば、8ビット)と同じサイズである(すなわち、同じビット数を有する)場合、累積バッファ値は、図1Bに斜線領域で示されるようにオーバーフロー状態をもたらす場合がある。この問題を扱うべく、従来の累積方法は、オーバーフローを数値的に回避できる十分に大きいバッファまたはオーバーフローを数値的に回避できる十分なビットを用いるバッファを使用する。例えば、ピクセル毎に8ビット(256個の想定し得る値)を有する10個のフレームを累積するため、すなわち、想定し得る全体の値が2,560(すなわち、10×256)において、数値的に十分なビット深度は12ビット/ピクセル(bpp)であり、これは4,000個の可能な値にわたって累積できる。しかしながら、バッファにおいて更に大きいbpp(例えば、8bppではなく12bpp)を使用すると、メモリサイズおよび帯域幅割り当てが増大する。前述した例では、8bppの最小可能ビット深度にわたってバッファサイズおよび帯域幅が50%だけ増大される。高解像度画像(例えば、3メガピクセル)の場合、従来の累積方法は、バッファサイズおよび帯域幅割り当てにおいて許容できないほど大きい増大をもたらす。
平均化は、いくつかのフレームにわたって得られるピクセル値を組み合わせるための他の従来の方法である。図1Cは、典型的な従来の信号平均化方法からの平均バッファ値の概略信号図30を示している。最終ピクセルバッファは、入ってくるピクセル値の累積バッファ値ではなく平均バッファ値によって表わされる。しかしながら、従来の平均化方法は、画像化されるシーンが低い光レベルを有するときに、暗い画像などの許容できない結果を生み出す。
システムの実施形態が記載されている。1つの実施形態において、本システムは、動的なバッファ管理を伴う光学イメージングシステムである。光学イメージングシステムの実施形態は、画像センサと、バッファと、バッファモードコントローラとを含む。画像センサは、1つの画像の1つのフレームにおける複数のピクセルラインを読み出すためにピクセル配列を含む。画像は複数のフレームから得られる。バッファは、各ピクセルラインにおける複数のピクセル値に対応する複数のバッファ値を記憶するために画像センサに結合される。バッファモードコントローラは、画像センサおよびバッファに結合される。バッファモードコントローラは、累積モードと平均化モードとを動的に切り換えるように構成される。累積モードは、対応するピクセル値と対応する以前のバッファ値との合計値にしたがって各バッファ値の計算を容易にする。平均化モードは、対応するピクセル値の正規化値と対応する以前のバッファ値との平均値にしたがって各バッファ値の計算を容易にする。システムの他の実施形態も記載されている。
方法の実施形態も記載されている。1つの実施形態において、本方法は、光学イメージングシステムにおけるバッファ管理のための方法である。本方法の実施形態は、画像取得サイクルにおいて、複数のフレームのうちの1つのフレームのために画像センサから複数のピクセルラインを読み出すことを含む。各ピクセルラインは複数のピクセル値を含む。また、本方法は、バッファの第1のバッファライン内に複数の累積バッファ値を記憶することを含む。第1のバッファラインは、フレームのための第1のピクセルラインに対応する。各累積バッファ値は、第1のピクセルラインのピクセル値のうちの1つと以前のフレームの対応する以前のバッファ値との合計値を含む。また、本方法は、バッファの第2のバッファライン内に複数の平均バッファ値を記憶することを含む。第2のバッファラインはフレームのための第2のピクセルラインに対応する。各平均バッファ値は、第2のピクセルラインのピクセル値のうちの1つの正規化値と以前のフレームの対応する以前のバッファ値との平均値を含む。本方法の他の実施形態も記載されている。
また、コンピュータプログラム製品の実施形態も記載されている。1つの実施形態において、コンピュータプログラム製品は、画像取得サイクルの複数のフレームをバッファリングするための操作を行なうべく、デジタルプロセッサによって実行可能な機械可読命令のプログラムを具現化するコンピュータ可読記憶媒体である。いくつかの実施形態において、前記操作は、光学イメージングシステムおよびバッファ管理方法に関連して前述した操作を含む。他の実施形態は異なるまたは更なる操作を含む。コンピュータプログラム製品の他の実施形態も記載されている。
本発明の実施形態の他の態様および利点は、本発明の原理の一例として示される添付図面と併せて解釈される以下の詳細な説明から明らかとなるであろう。
説明の全体にわたって、同様の参照符号は同様の要素を特定するために使用されうる。
図2は、光学イメージングシステム100の1つの実施形態の概略ブロック図を示している。図示した光学イメージングシステム100は、画像取得システム(IAS)102と、処理システム104と、ディスプレイ装置106と、動き検出器108と、光学素子110とを含む。1つの実施形態において、光学素子110は、単一レンズまたはレンズの組み合わせである。図示した光学イメージングシステム100は、本明細書中に記載される特定の構成要素を含むが、他の実施形態は更に少ないあるいは更に多い構成要素を含みうる。例えば、いくつかの実施形態は動き検出器108を省く。他の実施形態は、例えば更なるユーザインタフェース要素(図示せず)を含む。
1つの実施形態において、画像取得システム102は、光学素子110を介して入射光を受けるとともに、入射光を表わす電気信号を生成する。図示した画像取得システム102は、ピクセル配列114を有する画像センサ112を含む。また、画像取得システム102は、アナログ・デジタル変換器(ADC)116と、画像パイプラインプロセッサ117と、バッファモードコントローラ118と、バッファ120とを含む。
1つの実施形態において、画像センサ112は、ピクセル配列114において、入射光に対応する複数の電気信号を生成する。画像センサ112は、相補型金属酸化膜半導体(CMOS)または電荷結合素子(CCD)技術などの多くの技術のうちの1つを使用して実施することができる。各電気信号は、ピクセル配列114の画素(またはピクセル)のうちの1つに対応している。そのため、電気信号およびこれらの電気信号が表わす値は、ピクセル値とも称される。各ピクセルは、フォトセンサまたは他の感光デバイスでありうる。
1つの実施形態において、ピクセル配列114のピクセルは、横列および縦列に配置されるが、他の形態により実施されてもよい。ピクセルの物理的な配置にかかわらず、画像センサ112は、一群のピクセル値をピクセル配列114から同時に読み出す。例えば、横列および縦列が使用される場合、画像センサ112は、各縦列のための並列ハードウェアを使用して、全ての横列を同時に(−各縦列から1つのピクセルを−)読み取ってもよい。便宜上、ピクセル配列114の様々な可能な配置を参照する際、本明細書中では、ピクセル値が、ピクセルの1つの横列、ピクセルの1つの縦列、または一群のピクセルのいくつかの他の物理的配置に対応するかどうかにかかわらず、同時に読み出される一群のピクセル値をピクセルラインと称する。
いくつかの実施形態において、画像取得システム102は、単一画像におけるいくつかのフレームを取得して組み合わせてもよい。各フレームは、異なる時間に画像センサ112によって取得される信号の集合である。単一画像における複数のフレームの取得および組み合わせは、手ぶれに起因する画像ぼけを減少させるのに役立ち得る。各フレームにおける光信号はピクセル配列114に入射する。各フレーム毎に、画像センサ112は、複数のピクセルラインを読み出す。各ピクセルラインは複数のピクセル値を有する。最終画像が、1つのフレームまたはフレームの組み合わせから得られてもよい。
1つの実施形態において、光学素子110は、ピクセル配列114での画像の分解を容易にする。そして、画像センサ112は、複数の電気信号をADC116に送信する。ADC116は、画像センサ112からのアナログ電気信号をデジタル信号へと変換した後、そのデジタル信号を画像パイプラインプロセッサ117に送る。
1つの実施形態において、画像パイプラインプロセッサ117は、デジタル信号がバッファ120内に記憶される前にデジタル信号を処理する。特に、画像パイプラインプロセッサ117は、ADC116からデジタル信号を受けるとともに、画像パイプライン操作、例えばガンマ補正、ピクセルマスキング、カラー補間、ホワイトバランスおよびデジタルゲイン、ピクセル統計解析、自動露光制御、色空間変換、クロミナンスダウンサンプリン、および他の画像パイプライン操作を行なってもよい。これらの画像パイプライン操作および他の画像パイプライン操作を実施できる能力は、画像取得システム102で使用される画像パイプラインプロセッサのタイプによって決まる。いくつかの実施形態において、画像パイプラインプロセッサ117は、光学イメージングシステム100内のメモリデバイスに記憶されるソフトウェア命令によって実施される。他の実施形態において、画像パイプラインプロセッサ117は、ハードウェアにおいて実施され、あるいはハードウェアとソフトウェアとの組み合わせにおいて実施される。画像パイプラインプロセッサ117は、デジタル信号を処理した後、処理された信号をバッファモードコントローラ118に送る。
バッファモードコントローラ118は、デジタルピクセル信号またはデジタルピクセル信号の何らかの表示のバッファ120内への記憶を制御する。1つの実施形態において、バッファ120は、ピクセル配列114の各ピクセルラインにおける複数のピクセル値に対応する複数のバッファ値を記憶する。バッファ値は、赤色成分、緑色成分、および青色成分などの色を表わしてもよい。あるいは、バッファ値は、輝度やクロミナンスなどの他の光成分を表わしてもよい。1つの実施形態において、バッファ120は、各ピクセルにおける色ごとに8ビットを記憶するが、他の実施形態はそれよりも少ないあるいは多いビットを各ピクセルにおける色(あるいは、他の光成分)ごとに記憶してもよい。
バッファモードコントローラ118は、直接的にあるいは間接的に、画像センサ112およびバッファ120に結合される。1つの実施形態において、バッファモードコントローラ118は、画像センサ112からのピクセル値に基づいてバッファ120内にバッファ値を記憶するために、厳密な累積モードまたは平均化モードではなく、適応モードを実施する。最終画像中の全てのフレームを捕らえるため、バッファモードコントローラ118は、各フレームのピクセル値と画像取得サイクルの以前のフレームからバッファ120内に既に記憶されたバッファ値とを組み合わせるためにどのモードを使用すべきかを順応して決定する。バッファモードコントローラ118の典型的な実施形態は、以下で更に詳しく説明される図3に示されている。
最終画像におけるバッファ値がバッファ120内に記憶されると、処理システム104は、更なる処理のためにバッファ120からバッファ値を読み出す。処理システム104は、デジタル信号プロセッサ、マイクロプロセッサ、または何らかの他のタイプの汎用処理デバイスまたは特定用途向け処理デバイスを含みうる。1つの実施形態において、処理システム104は、最終画像を表わす電気信号を調整するとともに、最終画像を表示するために表示信号をディスプレイ装置106へ送る。他の実施形態において、処理システム104は、有線インタフェースまたは無線インタフェース(図示せず)を介した他のコンピュータ装置への最終画像の送信を容易にしてもよい。また、処理システム104は、デジタルカメラなどのデジタルイメージング装置で利用できることが分かっている他の機能を与えてもよい。
上記の記載は光学イメージングシステム100の特定の実施について説明しているが、類似する更に多くのあるいは更に少ない機能を与えるために他の構造を使用して他の実施形態を実施してもよい。また、様々な構成要素の概略的な形態は、必ずしも光学イメージングシステム100の実際の物理的配置を示すとは限らない。
図3は、図2に示される光学イメージングシステム100のバッファモードコントローラ118の一実施形態の概略ブロック図を示している。図示したバッファモードコントローラ118は、予測ロジック132と、累積ロジック134と、平均化ロジック136と、修正ロジック138と、バッファ標準化ロジック140とを含む。いくつかの実施形態では、様々なロジックブロックがハードウェアにおいて実施される。他の実施形態では、ロジックブロックの機能をソフトウェアにより実施してもよい。そのようなロジックブロックがソフトウェアにより実施される場合には、各ブロックのロジックは、コンピュータ可読記憶媒体に記憶される1つ以上の機械可読命令を使用して実施される。あるいは、ロジックブロックは、ハードウェアとソフトウェアとの何らかの組み合わせを使用して実施されてもよい。
1つの実施形態において、予測ロジック132は、複数のバッファ値のうちの1つの想定し得るバッファオーバーフローを予測するように構成される。1つの実施形態において、予測ロジック132は、バッファ値のそれぞれを1つの閾値と比較するためにオーバーフローコンパレータ142を含む。バッファ値が閾値を上回る場合、予測ロジック132は、想定し得るバッファオーバーフローを特定する。例えば、(255の最大バッファ値において)バッファサイズが8ビットであり閾値が230である場合には、予測ロジック132は、バッファ値が230を超えるとバッファオーバーフロー状態を予測する。このようにして、バッファモードコントローラ118は、画像取得サイクルにおいて次のフレームが得られると、バッファ値が255の最大値をオーバーフローしないように何らかの策を講じてもよい。適応バッファ制御の一例が図5に示され、この適応バッファ制御の一例については以下で更に詳しく説明する。
1つの実施形態において、予測ロジック132は、バッファラインのそれぞれのモードを示す複数のモードビットをバッファ120内に記憶するためにモードテーブル144も含む。バッファ120内の各バッファラインは、ピクセル配列114の1つのピクセルラインに対応している。1つの実施形態において、各バッファラインにおけるモードビットは、バッファラインが累積モードまたは平均化モードで動作するかどうかを示している。すなわち、1つのバッファラインにおけるモードビットは、バッファモードコントローラ118が累積ロジック134を使用してバッファ120内の現在のバッファ値に対してその後のピクセル値を加えるかどうか、あるいはバッファモードコントローラ118が平均化ロジック136を使用してバッファ120内のその後のピクセル値および対応するバッファ値に基づいて平均値を生成するかどうかを示している。
1つの実施形態では、累積ロジック134が前述したように累積モードを実施する。特に、累積ロジック134は、既にバッファ120内に存在するバッファ値に対して新たなピクセル値のそれぞれを加える。1つの実施形態では、累積ロジック134が以下にしたがって累積モードを実施する。
y[N]=y[N−1]+x[N]
ここで、Nはフレームを示し、y[N]はそのフレームにおける新たなバッファ値を示し、y[N−1]は以前のフレームにおける対応する以前のバッファ値を示し、x[N]はそのフレームにおける対応するピクセル値を示している。他の実施形態は、この累積式の変形を実施してもよい。
また、累積ロジック134は累積カウンタ146も含む。1つの実施形態において、累積カウンタ146は、バッファ120内の各バッファライン毎に累積カウントを追跡する。例えば、2メガピクセルの1つの画像(つまり、各フレームが2メガピクセルである)において、累積カウンタ146は、1200個の累積カウント(画像の各バッファラインについて1つ)を記憶してもよい。他の実施形態は、更に少ないあるいは更に多い累積カウントを記憶してもよい。各バッファラインにおける累積カウントは、対応するバッファラインにおける累積更新の総数を示している。すなわち、バッファライン内の1つ以上のバッファ値が累積モードを使用して更新される度に、累積カウンタは累積カウントを増大する。1つの実施形態において、累積カウントは、後述するように、平均化ロジック136によって使用される。
1つの実施形態では、平均化ロジック136が平均化モードを実施する。特に、平均化ロジック136は、1つのフレームにおける新たなピクセル値とバッファ120内に既に存在するバッファ値とに基づいて平均値を生成する。1つの実施形態において、平均化ロジックは、以下にしたがって平均化モードを実施する。
y[N]=(y[N−1]+X[N])/2、および
X[N]=P×x[N]
ここで、N、y[N]、y[N−1]およびx[N]は、前述のものと同じであり、X[N]はフレームにおける対応するピクセル値の正規化値を示し、Pは累積カウントを示している。すなわち、平均化ロジック136は、対応するピクセル値の正規化値の平均値と対応する以前のバッファ値とにしたがって各バッファ値を計算する。なお、2で割ると、例えば1ビットシフトを使用するだけで、この平均化方程式の実施が比較的簡単になる。
他の実施形態において、平均化ロジック136は、バッファ120内に記憶された以前の値に対して更に多くの重みを与えるために以下にしたがって平均化モードを実施する。
y[N]=(Y[N−1]+X[N])/N
Y[N−1]=(N−1)×y[N−1]、および
X[N]=P×x[N]
ここで、N、y[N]、y[N−1]、x[N]、PおよびX[N]は前述のものと同じであり、Y[N−1]はフレームにおける対応する以前のバッファ値の正規化値を示している。この実施において、以前のバッファ値は、新たなバッファ値により大きく寄与する。この実施は計算がより複雑になる場合があるが、新たなバッファ値は、各フレームの対応するピクセル値における激変によってあまり影響されない。例えば、ノイズの異常値などに起因して入力ピクセル値が突然降下する場合、以前のバッファ値の重み付けは、著しく異なる新たなピクセル値の想定し得る影響を制限する。
1つの実施形態において、修正カウンタ138は、バッファ120内の各バッファラインにおける修正カウントを追跡する。修正カウントは、該修正カウントが対応するバッファラインにおけるバッファ値更新の総数を示している点を除き、累積カウントに類似している。すなわち、修正カウンタ138は、累積モードまたは平均化モードを使用してバッファラインが更新されているかどうかにかかわらず、対応するバッファラインが更新される度に修正カウントをインクリメント(increment)する。1つの実施形態において、累積カウンタ146および修正カウンタ138は、(例えば、1つの画像に関して16個以下のフレームが得られる)それぞれ4ビットカウンタである。この実施形態では、累積カウンタ146および修正カウンタ138が、1ビット幅バッファ(図示せず)内に組み込まれてもよい。他の実施形態は、他のタイプおよびサイズのカウンタを実施してもよい。
1つの実施形態において、バッファ標準化ロジック140は、バッファ120内のバッファラインの標準化およびコヒーレントな最終画像の生成を容易にする。図4は、図3に示されるバッファモードコントローラ118のバッファ標準化ロジック140の1つの実施形態の概略ブロック図を示している。図示のバッファ標準化ロジック140は、リスケーリングロジック152と、補間ロジック154と、境界ロジック156とを含む。一般に、リスケーリングロジック152は、バッファ120内のバッファ値のうちの少なくとも1つ輝度値を調整するように構成され、補間ロジック154は、バッファ120の隣接するバッファラインの最終バッファ値を使用してバッファ120の少なくとも1つのバッファラインにおける複数の最終バッファ値を補間するように構成され、境界ロジック156は、バッファリングされた画像の境界をシフトさせて、バッファリングされた画像のエッジにある少なくともいくつかのバッファ値を最終画像から排除するように構成されている。バッファ標準化ロジック140の機能の更に特別な記述については以下で述べる。
図5は、バッファモードコントローラ118を使用する光学イメージングシステム10の一実施形態からの適応バッファ値の概略的な信号図160を示している。前述したように、バッファモードコントローラ118は、画像センサ112からのピクセル値に基づいてバッファ120内にバッファ値を記憶するため、厳密な累積モードまたは平均化モードではなく、適応モードを実施する。すなわち、バッファモードコントローラ118は、各フレームのピクセル値と画像取得サイクルの以前のフレームからバッファ120内に既に記憶されたバッファ値とを組み合わせるためにどのモード(累積モードまたは平均化モード)を使用すべきかを順応して決定する。累積モードと平均化モードと適応モードとの間の違いを理解するため、以下、各モードの一例について説明する。様々な例の間で一貫性を維持するため、図1Aは、ピクセル配列114の1つのピクセルライン内に単一のピクセルにおける一連のピクセル値を与えているものとする。ピクセル値は各フレームにおいて同一となるように示されているが、他の実施形態は1つ以上のフレームにわたって変化するピクセル値を使用してもよい。以下の表は、図1Aに示される各フレームにおけるピクセル値を挙げている。
Figure 0004705664
(累積モード)
累積モードはピクセル値の累積値を確立する。以下の表は各フレーム後の累積値を示している。
Figure 0004705664
なお、フレーム6から始まる累積値は8ビットバッファをオーバーフローする。これは、8ビットバッファが256個のレベルの粒度(すなわち、0〜255)を正確にもたらすことができるだけだからである。このオーバーフロー状態は図1Bの信号図20によって伝えられる。
(平均化モード)
平均化モードはピクセル値の平均値を確立する。以下の表は各フレーム後の平均値を示している。
Figure 0004705664
なお、ピクセル値のそれぞれが低い場合、平均値は低いままであることは留意されるべきである。したがって、結果として得られる画像は非常に暗い場合がある。この暗い状態は、図1Cの信号図30によって伝えられる。
(適応モード)
適応ボードにおいて、バッファ120は、ピクセル値の累積値または平均値あるいはその組み合わせを記憶する。1つの実施形態では、バッファオーバーフローが予測されると、適応モードが累積モードから平均化モードへと切り換わる。以下の表は、各フレーム後の適応バッファ値を示している。
Figure 0004705664
図5の信号図160は、適応バッファモードがフレーム1〜5において累積モードを実施した後にフレーム6〜10に関して平均化モードを実施するこのシナリオを示している。1つの実施形態において、バッファモードコントローラ118は、最初に、バッファ120内に記憶された値がバッファ120の容量を超える場合があるバッファラインにおける想定し得るオーバーフローを予測ロジック132が予測するまで、各バッファラインにおいて累積モードを使用する。バッファ120の容量が破線の水平ライン162によって示されている。例えば、8ビットバッファの容量は0〜255の256個のレベルである。想定し得るオーバーフローを予測するため、オーバーフローコンパレータ142は、各フレーム後に、バッファ値を閾値THと比較する。図5では、閾値THが点線の水平ライン164によって示されている。図5に示されるように、フレーム5の後にバッファ値が閾値を越える。そのため、点線の垂直ライン166によって示されるフレーム6を初めとして、バッファモードコントローラ118は、画像取得サイクルの残りの部分において平均化モードを実施する。このように、バッファモードコントローラ118は、想定し得るバッファオーバーフローが生じるのを防止する。
前述したように、平均化モードは、以前の累積バッファ値を捕捉するために実施される。以前のフレーム1〜5からの既に累積されたバッファ値(例えば、240の累積値)を用いて新たなピクセル値(例えば、フレーム6で得られる値48)を単に平均するのではなく、平均化ロジック136は、最初に、新たなピクセル値をそれが累積バッファ値に相当するように正規化する。1つの実施形態において、平均化ロジック136は、新たなピクセル値と累積カウント(例えば、5カウント)とを掛け合わせ、以前のフレームからの累積バッファ値を用いて平均化されるべき正規化ピクセルを決定する。他の実施形態は、他の技術を実施して新たなピクセル値を正規化してもよい。
更なる例として、適応モードを使用して得られる最終バッファ値は、実施される平均化方程式のタイプに依存してもよい。特に、最終バッファ値は、平均化方程式が前のバッファ値を正規化ピクセル値よりも大きく重み付けるか否かに応じて変化してもよい。前述したように、最初の平均化方程式は、以前のバッファ値を重み付けないが、2番目の平均化方程式は以前のバッファ値を重み付ける。以下の表は、これらの平均化方程式のそれぞれを使用して得られる最終バッファ値の間の違いを示している。
Figure 0004705664
なお、フレーム6においてゼロのピクセル値を用いると、以前のバッファ値において重み付けを伴う平均化方程式を使用するピクセル値計算は、より一貫性のある新たなピクセル値をもたらす。特定の重み付け方程式が先で与えられているが、他の実施形態は、同様の結果を生み出すために他の重み付け平均化方程式を使用してもよい。
図6は、図2の光学イメージングシステム100のバッファ120内にバッファ値を記憶するための方法170の一実施形態の概略フローチャートを示している。方法170のいくつかの実施形態は光学イメージングシステム100に関連して実施されるが、方法170の他の実施形態は他の光学イメージングシステムに関連して実施されてもよい。また、方法170のいくつかの実施形態が、対応するバッファ記憶場所に入るピクセル値を調整して異なるフレームにおける画像化されたシーンの動きを捕らえるための1つ以上の操作も含むことに留意すべきである。明確にするため、そのような動き補償の実施形態は図6に示されていないが、図10A〜図10Cおよび図11には示されており、これについては以下で更に詳しく説明する。
バッファ値をバッファ120内に記憶するための方法170において、ブロック172では、バッファモードコントローラ118が、画像センサ112からピクセル値を読み出す。1つの実施形態において、ピクセル値は、ピクセル横列、ピクセル縦列、またはピクセル配列114内の他のピクセル系列に対応するグループの状態で読み出される。図示した方法170は、単一のピクセル値の処理についてのみ記載しているが、並列ハードウェアおよび/またはソフトウェアを使用して、1つのピクセルラインからの複数のピクセル値をほぼ同時に処理してもよい。
1つの実施形態において、バッファモードコントローラ118は、最初に、バッファ120内の全てのバッファラインを設定して、累積モードでピクセル値を累積する。しかしながら、他の実施形態は、最初のピクセルライン読み出しにおいてさえもモード決定を行なう。画像取得サイクルのフレームのうちの1つにおいて1つのピクセル値を読み出した後、ブロック174において、バッファモードコントローラ118は、対応するバッファラインにおけるモードビットが平均化モードのために設定されるかどうかを決定する。1つの実施形態において、モードテーブル144は、各バッファラインについて1つのモードビットを記憶する。モードビットは、対応するバッファラインが累積モードのために設定されているのかあるいは平均化モードのために設定されているのかどうかを示している。他の実施形態(図7および図8を参照)は、モードテーブル144を省くとともに、他の演算を使用して、累積モードで実施すべきかあるいは平均化モードで実施すべきかどうかを決定する。
モードビットが累積モードのために設定される場合、ブロック176において、累積ロジック134は、新たなピクセル値と現在のバッファ値との合計値を計算する。ブロック178において、累積ロジック134は、対応するバッファ記憶場所に合計値を記憶する。ブロック180では、累積カウンタ146が累積カウントをインクリメントする。ブロック182において、予測ロジック132は、その後、バッファ120内に記憶されたバッファ値が閾値を超えるかどうかを決定する。前述したように、オーバーフローコンパレータ142がバッファ値と閾値とを比較してもよい。閾値は、ビット値(例えば、8ビット値において230)として、ビット数(例えば、8ビット値に関して7ビット)として、パーセンテージ(例えば、8ビット値において90%)として、あるいは何らかの他の量として予め決定されてもよい。また、いくつかの実施形態は、画像取得サイクルの過程において閾値の値を動的に調整する。バッファ値が閾値を越える場合、ブロック184において、予測ロジック132は、バッファ120内の対応するバッファラインにおいて、モードテーブル144におけるモードビットを平均化モードのために設定する。
ブロック174における決定に戻って参照すると、モードビットが平均化モードのために設定される場合、ブロック186において、平均化ロジック136は、新たなピクセル値と現在のバッファ値との平均値を計算する。1つの実施形態において、平均化ロジック136は、最初に、正規化ピクセル値を計算して、現在のバッファ値と平均する。そして、平均化ロジック136は、対応するバッファ記憶場所内に平均値を記憶する。バッファ120内に平均値を記憶した後、あるいはブロック182においてバッファ値が閾値を越えないことを予測ロジック132が決定した後、あるいはその後のフレームにおいて平均化モードを実施するために予測ロジック132がブロック184においてモードビットを設定した後、ブロック190において、修正カウンタ138が修正カウントをインクリメントする。その結果、図示した方法170が終了する。
いくつかの実施形態では、累積モードから平均化モードへの切り換えが画像取得サイクル中に多くて1回行なわれることに留意すべきである。これは、バッファ値が閾値を越えると、その後の正規化されたピクセル値と各フレームにおける記憶されたバッファ値との平均化がバッファ120内に記憶された値を著しく増大させあるいは減少させる可能性が低いからである。しかしながら、他の実施形態では、バッファモードコントローラ118が累積モードと平均化モードとの間で複数回切り換えることができてもよい。
また、バッファモードコントローラ118のいくつかの実施形態は、各横列に対して個別に累積モードおよび平均化モードを適用するが、他の実施形態は、累積モードまたは平均化モードにおいてどのバッファ記憶場所が作用すべきかを決定する際に異なる粒度を使用してもよいことにも留意すべきである。例えば、いくつかの実施形態は、ピクセル毎にバッファモード間を適応的に切り換えてもよい。他の実施形態は、複数のバッファラインからなるグループに関して適応バッファモードを実施してもよい。他の実施形態は、各フレームに関して全体として適応バッファモードを実施してもよい。
図7は、図2の光学イメージングシステム100のバッファ120内にバッファ値を記憶するための他の実施形態の方法200の概略フローチャートを示している。方法200のいくつかの実施形態は光学イメージングシステム100に関連して実施されるが、方法200の他の実施形態は他の光学イメージングシステムに関連して実施されてもよい。また、方法200の操作のいくつかは、図6の方法170の操作に類似しているため、図7の説明では更に詳しく説明しない。
ブロック172では、バッファモードコントローラ118が画像センサ112からピクセル値を読み出す。そして、ブロック202において、バッファモードコントローラ118は、対応するバッファ値をバッファ120から読み出す。1つの実施形態において、バッファモードコントローラ118は、1つ以上の動き補償操作を実施して、対応するバッファ記憶場所を決定する。そして、ブロック182において、予測ロジック132は、バッファ値と閾値とを比較して、累積モード(ブロック176〜180参照)を実施すべきかあるいは平均化モード(ブロック186〜188参照)を実施すべきかどうかを決定する。累積モードまたはバッファモードを実施した後、ブロック190において、修正カウンタ138が修正カウントをインクリメントする。
なお、図7の方法200は、多くの態様において図6の方法170と類似している。しかしながら、図7の方法200は、対応するバッファ記憶場所に記憶された実際の値に基づいて、累積モードを実施すべきかあるいは平均化モードを実施すべきかどうかの決定を行なう。これに対し、図6の方法は、モードテーブル144内の対応するモードビット値に基づいて決定を行なう。これらの方法170および200はいずれもバッファ120内に既に記憶された前のバッファ値に基づいて同じ決定を行なうが、図7の方法200は、対応するバッファ値を直接に使用するのに対し、図6の方法170は、記憶されたバッファ値および同じバッファラインにおける他の記憶されたバッファ値の全てによって決まるモードビットを使用する。そのため、図7の方法200はピクセル毎の決定を実施するのに対し、図6の方法170はライン毎の決定を実施する。
図8は、図2の光学イメージングシステム100のバッファ120内にバッファ値を記憶するための他の実施形態の方法210の概略フローチャートを示している。方法210のいくつかの実施形態は、光学イメージングシステム100に関連して実施されるが、方法210の他の実施形態は他の光学イメージングシステムに関連して実施されてもよい。また、方法210の操作のいくつかは、図6の方法170および図7の方法200の操作に類似しているため、図8の説明では更に詳しく説明しない。
ブロック172では、バッファモードコントローラ118が画像センサ112からピクセル値を読み出す。そして、ブロック202において、バッファモードコントローラ118は、対応するバッファ値をバッファ120から読み出す。1つの実施形態において、バッファモードコントローラ118は、1つ以上の動き補償操作を実施して、対応するバッファ記憶場所を決定する。ブロック176において、累積ロジック134は、新たなピクセル値と現在のバッファ値との合計値を事前に計算する。この合計値は、バッファ120内に直ちに記憶されない。その代わりに、ブロック212において、予測ロジック132は、合計値と閾値とを比較して、累積モードの残りの操作(ブロック178〜180参照)を実施すべきかあるいは平均化モードの操作(ブロック186〜188参照)を実施すべきかどうかを決定する。累積モードまたはバッファモードを実施した後、ブロック190において、修正カウンタ138が修正カウントをインクリメントする。
図8の方法210が多くの態様において図7の方法200と類似していることに留意すべきである。しかしながら、図8の方法210は、バッファモードコントローラ118が累積モードを実施する場合に記憶される実際の合計値に基づいて累積モードを実施すべきかあるいは平均化モードを実施すべきかどうかの決定を行なう。予測ロジック132がブロック212での比較において実際の合計値を使用するため、予測ロジック132は、もう1つの方法として、実際の合計値を低い閾値(例えば、8ビットバッファにおいては230)と比較するのではなく、バッファ120によって許容される最大値(例えば、8ビットバッファにおいては255)と実際の合計値とを比較してもよい。このように、予測ロジック132は正確な予測を毎回行なう。また、図7の方法200および図8の方法210はピクセル毎の決定を実施するため、バッファモードコントローラ118によって実施される他の操作もライン毎ではなくピクセル毎に実施されてもよいことに留意すべきである。しかしながら、少なくともいくつかの操作をライン毎に実施すると、同じ操作をピクセル毎に実施するよりも簡単で安価となる場合がある。
図9は、図2の光学イメージングシステム100のバッファ120内に記憶されたバッファ値を標準化するための方法220の一実施形態の概略フローチャートを示している。方法220のいくつかの実施形態は光学イメージングシステムに関連して実施されるが、方法220の他の実施形態は他の光学イメージングシステム100に関連して実施されてもよい。
バッファ値を標準化するための方法220において、ブロック222では、バッファ120内の最終バッファ値が正規化される。そして、ブロック224において、正規化された最終バッファ値のヒストグラムが生成される。ヒストグラムが生成された後、ブロック226では、バッファラインにおけるスケール係数がヒストグラムから得られる。そして、ブロック228において、バッファラインにおける正規化された最終バッファ値の輝度値が調整される。このように、方法220は、横列毎にあるいは縦列毎に出力バッファラインをリスケーリングして、画像取得サイクル中の異なる時間に累積モードから平均化モードへ切り換わった全てのラインの輝度を等しくする。
方法220の更に特別な例として、リスケーリングは、対応するバッファラインのための累積カウントによってそれぞれがスケーリングされる複数の出力値のヒストグラムを計算することにより行なわれてもよい。この場合、ヒストグラムの98番目のパーセンタイル値が255までスケーリングされ、また、各横列は、同じ量だけ引き伸ばされるが、対応する累積カウントによって正規化される。
更なる説明として、ヒストグラムは、画像Bのバッファ値から形成される。各バッファ値は、対応する累積カウントP[k]で割られる(ここで、kは対応するバッファラインを示している)。例えば、バッファが64の赤色値を有していてバッファラインにおける累積カウントが4である場合には、ヒストグラムビン16(すなわち、64/4=16)がインクリメントされる。8ビットバッファの場合、ヒストグラムビンは0〜255である。そして、ヒストグラムの累積合計が計算される。例えば、ヒストグラムがH[i]として定められる場合には、以下にしたがって累積合計が計算されてもよい。
b=0〜255について、C[b]=(i=0〜bまでの合計)
そして、以下にしたがって、Hの98番目のパーセンタイル値が計算される。
b98=C[b]>=0.98×H[255]となるようなbの最小値
次に、トップ2%が飽和するように輝度を増大させることによって画像をより満足のいくものとするように、98番目のパーセンタイル値が255まで高められる。1つの実施形態において、スケール係数は、
s98=255/b98
である。
例えば、b98=32であり、それにより、Bの値の98%が0〜32の範囲内にある場合には、s98=7.96875となる。しかしながら、オーバーブーストを防止するため、以下にしたがって、スケール係数が修正カウントの最大値N(合計において使用される画像の数でありうる)に維持されてもよい。
s98=最小値(N,s98)
例えば、修正カウントが4であり、スケール係数が約7.9である場合には、スケール係数が4にリセットされてもよい。
次に、最終画像B内の各横列k毎に、以下の係数によって輝度が調整されてもよい。
係数[k]=s98/P[k]、k=0..最大横列
B[k,:]=B[k,:]×s98/P[k](ここで、「:」は、そのライン上の全てのピクセルに関して意味している)
なお、P[k]=0の場合には、横列が修正されない。
本質的に、スケール係数は中間スケール値である。スケール係数s98よりも小さい累積カウントP[k]を有する最終画像Bのラインは明るくされる。これに対し、スケール係数s98よりも大きい累積係数P[k]を有するラインは暗くされる。他の実施形態は他のリスケーリング操作を使用してもよい。
図10A〜図10Cは、ピクセル配列114のピクセル値とバッファ120のバッファ値との間の様々な値の相関関係の概略図を示している。特に、図10Aは、ピクセル値とバッファ値との間の直接的な相関関係230を示している。この形態では、ピクセル値の垂直または水平シフトを何ら伴うことなく、対応するバッファ記憶場所内にピクセル値が記憶される。図10Bは、ピクセル値とバッファ値との間の垂直にシフトされた相関関係240を示している。特に、ピクセル値は、指示されるバッファ記憶場所に記憶された前のバッファ値に対して新たなピクセル値が関連付くことを示す何らかの動き検出に基づいて、垂直オフセット242の分(例えば、1ピクセル横列分)だけシフトされる。図10Cは、ピクセル値とバッファ値との間の水平にシフトされた相関関係250を示している。特に、指示されるバッファ記憶場所に記憶された前のバッファ値に対して新たなピクセル値が関連付くことを示す何らかの動き検出に基づいて、水平オフセット252の分(例えば、1ピクセル縦列分)だけシフトされる。
図11は、図2の光学イメージングシステム100の画像取得サイクルにおける時間にわたって取得される画像の相対的な動きを補償するための方法260の一実施形態の概略フローチャートを示している。方法260のいくつかの実施形態は光学イメージングシステム100に関連して実施されるが、方法260の他の実施形態は他の光学イメージングシステムに関連して実施されてもよい。
動き補償方法260において、ブロック262では、ピクセルラインが画像センサから読み出される。ブロック264では、画像取得サイクルにわたって画像センサ112の累積的な垂直動作が存在するか否かの決定が行なわれる。閾値を越える累積的な垂直動作が存在する場合には、ブロック266において、垂直動作を補償するためにバッファ120内の新たな横列が指定される。そして、ブロック268において、画像センサ112の累積的な水平動作が画像取得サイクルにわたって存在するか否かの決定が行なわれる。閾値を越える累積的な水平動作が存在する場合には、ブロック270において、水平動作を補償するために、指示されたバッファライン内の水平記憶場所がシフトされる。そして、ブロック272において、バッファ120の対応するバッファ記憶場所にピクセル値が記憶される。その結果、図示した動き補償方法260が終了する。
いくつかの実施形態において、動き補償方法260は、動き検出器108によって検出される動きに応じて開始されてもよい。学名的には、この動き補償方法260は実時間シフト累積(RTSA)と称される場合があるが、動きシフトは累積モードおよび平均化モードの両方で実施されてもよい。いくつかの実施形態において、累積モードと平均化モード(すなわち、適応バッファモードを使用する)とを動的に切り換えることができる能力は、実時間シフト累積の実施を容易にする。特に、累積ロジックは、累積前に少なくとも1つの方向で動きシフトを実施してもよい。同様に、平均化ロジックは、平均化前に少なくとも1つの方向で動きシフトを実施してもよい。他の実施形態が動きシフトを実施してもよい。また、使用される最小および最大水平シフトを記録することにより、画像の左右の境界を場合によりクロッピングしあるいはフレーミングして、さもなければエッジで生じる可変強度勾配を隠すことができる。1つの実施形態では、バッファ標準化ロジック140の境界ロジック156が、そのようなクロッピングまたはフレーミングを実施する。
また、何らかの閾値内で類似するその後のフレームからのピクセル値を累積される前に使用することにより、最終シフト画像の鮮明さを高めることができる。すなわち、その後のフレームにわたってピクセル値が著しく変化する際にピクセル値の累積をスキップすることにより、ぼけた画像を少なくともある程度まで避けることができる。例えば、1つのフレームにおけるピクセル値が他のフレームからの対応するピクセル値よりもかなり低い(すなわち、何らかの閾値を下回る)場合には、その低いピクセル値が累積プロセスおよび/または平均化プロセスから省かれてもよい。この選択的ピクセル累積の1つの用途は、動き検出が正確でないときに最終画像のぼけを防止しあるいは減少させることである。この考えは、エッジが均一な領域へと不鮮明にされないように特定のピクセルラインにおいて何らかの閾値内にある勾配を使用することによって拡張させることができる。例えば、同じ横列上の隣接するピクセルの違いによって、簡単な水平勾配が得られてもよい。このように、勾配は、特定のフレームの1つ以上のピクセル値において累積プロセスおよび/または平均化プロセスが実施されるべきかどうかを決定するために使用されてもよい。
前述したバッファモードコントローラ118の実施形態は、オーバーフローが予測されるときに累積モードから平均化モードへ適応的に切り換えることによりバッファ120のオーバーフローを回避する。1つの実施形態では、切り換えが横列単位で行なわれ、それにより、高ダイナミックレンジ画像の柔軟な累積を行なうことができる。また、バッファ120は、入力フレームのそれぞれと同じビット深度を有してもよい。これにより、バッファ120のサイズを、オーバーフローに対応するためにバッファのサイズが増大された場合よりも小さくすることができる。また、クリッピングの事例を減少させることにより、画質が向上される。
また、本発明の実施形態は、中央処理ユニット(CPU)、マイクロプロセッサ、または他のタイプの汎用または特定用途向けプロセッサなどのコンピュータプロセッサにより実行されるべき多くの機能を含みうる。マイクロプロセッサは、特定のタスクを規定する機械可読ソフトウェアコードを実行することにより特定のタスクを行なうように構成される特殊マイクロプロセッサまたは専用マイクロプロセッサでありうる。また、マイクロプロセッサは、他のデバイス、例えば、ダイレクトメモリアクセスモジュール、メモリ記憶デバイス、インターネット関連ハードウェア、およびデータの送信に関連する他のデバイスと共に動作してこれらと通信するように構成されてもよい。ソフトウェアコードは、Java(登録商標)、C++、XML(拡張可能マークアップ言語)、および本明細書中での説明に関連する機能操作を実行するために必要とされる装置の動作に関連する機能を規定するために使用されてもよい他の言語などのソフトウェアフォーマットを用いて構成されてもよい。コードは異なる形式およびスタイルで書き込まれてもよく、それらの形式およびスタイルのうちの多くは当業者に知られている。異なるコード形式、コート形態、ソフトウェアプログラムのスタイルおよび形式、およびマイクロプロセッサの動作を規定するためのコードを構成する他の手段が実施されてもよい。
本発明の実施形態を利用する異なるタイプのプロセッサ内には、本明細書中に記載される機能の一部または全てを実行しつつ情報を記憶して読み出すための異なるタイプのメモリデバイスが存在する。いくつかの実施形態において、データが記憶されるメモリ/記憶デバイスは、プロセッサの外部にある別個のデバイスであってもよく、あるいは単一基板上に接続される構成要素など、メモリまたは記憶デバイスが同じ集積回路上に位置されるモノリシックデバイス内に構成されてもよい。キャッシュメモリデバイスは、しばしば、頻繁に記憶されて読み出される情報のための都合のよい記憶場所としてプロセッサで用いるコンピュータ内に含まれる。同様に、そのようなコンピュータと共に持続性メモリも頻繁に使用され、それにより、中央処理ユニットによって頻繁に読み出されるがキャッシュメモリとは異なり持続性メモリ内で頻繁に変えられない情報が維持される。中央処理ユニットによって実行されるときに特定の機能を果たすように構成されるソフトウェアアプリケーションおよびデータなどの多大な情報を記憶して読み出すために、メインメモリも通常において含まれる。これらのメモリデバイスは、ランダムアクセスメモリ(RAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、フラッシュメモリ、および情報を記憶して読み出すために中央処理ユニットによりアクセスされてもよい他のメモリ記憶デバイスとして構成されてもよい。実施形態は、様々なメモリおよび記憶デバイスと共に、およびこれらのメモリデバイスのそれぞれに情報を記憶してこれらのメモリデバイスのそれぞれから情報を読み出すための任意の一般に使用されるプロトコルと共に実施されてもよい。特に、デジタルプロセッサによって実行可能な機械可読命令のプログラムを具現化するコンピュータ可読記憶媒体が、本発明の一実施形態の1つ以上の動作を行なってもよい。
本明細書中では、方法の動作が特定の順序で図示されて説明されているが、各方法の動作の順序が変更されてもよく、それにより、特定の動作が逆の順序で行なわれてもよく、あるいは特定の動作が少なくとも部分的に他の動作と同時に行なわれてもよい。他の実施形態では、命令または別個の動作であるサブ動作が、断続的様式および/または交互様式で実施されてもよい。
本発明の特定の実施形態について説明して図示してきたが、本発明は、そのようにして説明されて図示された部品の特定の形態または配置に限定されるべきではない。本発明の範囲は、ここに添付された特許請求の範囲およびそれらの均等物によって規定されるべきである。
図1Aは、複数のフレームの画像取得サイクルにわたるピクセルにおけるピクセル値の概略信号図を示す。図1Bは、典型的な従来の信号累積方法からの累積バッファ値の概略信号図を示す。図1Cは、典型的な従来の信号平均化方法からの平均バッファ値の概略信号図を示す。 光学イメージングシステムの1つの実施形態の概略ブロック図を示す。 図2に示される光学イメージングシステムのバッファモードコントローラの1つの実施形態の概略ブロック図を示す。 図3に示されるバッファモードコントローラのバッファ標準化ロジックの1つの実施形態の概略ブロック図を示す。 バッファモードコントローラを使用する光学イメージングシステムの一実施形態からの適応バッファ値の概略信号図を示す。 図2の光学イメージングシステムのバッファ内にバッファ値を記憶するための方法の1つの実施形態の概略フローチャートを示す。 図2の光学イメージングシステムのバッファ内にバッファ値を記憶するための方法の他の実施形態の概略フローチャートを示す。 図2の光学イメージングシステムのバッファ内にバッファ値を記憶するための方法の他の実施形態の概略フローチャートを示す。 図2の光学イメージングシステムのバッファ内に記憶されたバッファ値を標準化するための方法の1つの実施形態の概略フローチャートを示す。 ピクセル配列のピクセル値とバッファのバッファ値との間の様々な値の相関関係の概略図を示す。特に、図10Aは、ピクセル値とバッファ値との間の直接的な相関関係を示す。図10Bは、ピクセル値とバッファ値との間の垂直にシフトされた相関関係を示す。図10Cは、ピクセル値とバッファ値との間の水平にシフトされた相関関係を示す。 図2の光学イメージングシステムの画像取得サイクルにおいて経時的に取得される画像の相対的な動きを補償するための方法の1つの実施形態の概略フローチャートを示す。

Claims (8)

  1. 光学イメージングシステムのためのバッファ管理方法であって、
    画像取得サイクルにおいて、複数のフレームのうちの1つのフレームのために画像センサから複数のピクセルラインを読み出すステップであって、各ピクセルラインが複数のピクセル値を含むステップと、
    バッファの第1のバッファライン内に複数の累積バッファ値を記憶するステップであって、第1のバッファラインが前記フレームのための第1のピクセルラインに対応し、各累積バッファ値が、該第1のピクセルラインのピクセル値のうちの1つと以前のフレームの対応する以前のバッファ値との合計値を含むステップと、
    前記バッファの第2のバッファライン内に複数の平均バッファ値を記憶するステップであって、該第2のバッファラインが前記フレームのための第2のピクセルラインに対応し、各平均バッファ値が、該第2のピクセルラインのピクセル値のうちの1つの正規化値と以前のフレームの対応する以前のバッファ値との平均値を含むステップと、
    前記第1のピクセルラインの前記累積バッファ値のうちの1つにおける想定し得るバッファオーバーフローを特定するステップと、
    ある閾値を上回る記憶された前記累積バッファ値のうちの少なくとも1つに応じてある閾値状態を開始するステップと、
    前記想定し得るバッファオーバーフローに応じて、前記第1のピクセルラインを累積モードから平均化モードへと移行させるステップであって、該平均化モードがその後のフレームにおける平均バッファ値を記憶し、該平均バッファ値が、記憶された前記累積バッファ値とその後のフレーム内の対応するピクセルラインについての新たな正規化ピクセル値との対応する平均値に基づいている、ステップと
    を備えてなる、バッファ管理方法。
  2. 前記バッファ内の各バッファライン毎に修正カウントを追跡するステップであって、該修正カウントが、対応するバッファラインについてのバッファ値更新の総数を示している、ステップと、
    前記バッファ内の各バッファライン毎に累積カウントを追跡するステップであって、該累積カウントが、対応するバッファラインについての累積更新の総数を示している、ステップと
    を更に含む、請求項に記載のバッファ管理方法。
  3. 以下にしたがって各平均バッファ値を計算するステップを更に含んでおり、
    y[N]=(y[N−1]+X[N])/2、および
    X[N]=P×x[N]
    ここで、Nは前記フレームを示し、y[N]は前記フレームにおける新たなバッファ値を示し、y[N−1]は以前のフレームにおける対応する以前のバッファ値を示し、X[N]は前記フレームにおける対応するピクセル値の正規化値を示し、Pは累積カウントを示し、x[N]は前記フレームにおける対応するピクセル値を示している、請求項に記載のバッファ管理方法。
  4. 以下にしたがって各平均バッファ値を計算するステップを更に含んでおり、
    y[N]=(y[N−1]+X[N])/2
    Y[N−1]=(N−1)×y[N−1]
    X[N]=P×x[N]
    ここで、Nは前記フレームを示し、y[N]は前記フレームにおける新たなバッファ値を示し、Y[N−1]は以前のフレームにおける対応する以前のバッファ値の正規化値を示し、X[N]は前記フレームにおける対応するピクセル値の正規化値を示し、y[N−1]は以前のフレームにおける対応する以前のバッファ値を示し、Pは累積カウントを示し、x[N]は前記フレームにおける対応するピクセル値を示している、請求項に記載のバッファ管理方法。
  5. 前記バッファ内のバッファラインのうちの少なくとも1つをリスケーリングするステップを更に備えており、該リスケーリングは、
    前記複数のフレームを使用して生成される画像の複数の最終バッファ値を正規化し、
    正規化された前記最終バッファ値のヒストグラムを生成し、
    正規化された前記最終バッファ値のヒストグラムから対応するバッファラインのスケール係数を取得し、
    対応するバッファラインにおける正規化された前記最終バッファ値の輝度値を調整する、
    ことを含む、請求項に記載のバッファ管理方法。
  6. 前記バッファ内の隣接するバッファラインの最終バッファ値を使用して、少なくとも1つの他のバッファラインにおける複数の最終バッファ値を補間するステップと、
    前記バッファ内の全ての最終バッファ値によって表わされるバッファリングされた画像の少なくとも1つの境界をシフトさせて、該バッファリングされた画像から得られる最終画像から、バッファリングされた画像のエッジにある可変強度勾配を排除するステップと
    を更に含む、請求項に記載のバッファ管理方法。
  7. 画像取得サイクルにおいて複数のフレームのうちのその後のフレームを読み出すステップと、
    ピクセル値比較または勾配比較にしたがって、累積および平均化からピクセルラインのピクセル値を省くステップと
    を更に含み、
    前記ピクセル値比較は、前記ピクセル値と以前のフレームからの対応する以前のバッファ値との間の差を計算し、この差をピクセル値閾値と比較するとともに、この差が該ピクセル値閾値を超えるという決定に応じて累積および平均化からピクセル値を省くことを含み、
    前期勾配比較は、その後のフレームのピクセルラインにおける勾配を計算し、この勾配を勾配閾値と比較するとともに、この勾配が該勾配閾値を超えるという決定に応じて累積および平均化からピクセル値を省くことを含む、請求項に記載のバッファ管理方法。
  8. 前記請求項1から7のいずれかに記載のバッファ管理方法を実行するためのコンピュータ可読命令を記憶しているコンピュータ可読記憶媒体。
JP2008142822A 2007-05-30 2008-05-30 累積および平均化を用いる適応バッファ値のためのバッファ管理 Expired - Fee Related JP4705664B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/755,646 US7974489B2 (en) 2007-05-30 2007-05-30 Buffer management for an adaptive buffer value using accumulation and averaging
US11/755,646 2007-05-30

Publications (2)

Publication Number Publication Date
JP2009099119A JP2009099119A (ja) 2009-05-07
JP4705664B2 true JP4705664B2 (ja) 2011-06-22

Family

ID=39537336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008142822A Expired - Fee Related JP4705664B2 (ja) 2007-05-30 2008-05-30 累積および平均化を用いる適応バッファ値のためのバッファ管理

Country Status (4)

Country Link
US (1) US7974489B2 (ja)
JP (1) JP4705664B2 (ja)
GB (1) GB2449738B (ja)
TW (1) TWI380686B (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102714690A (zh) * 2009-09-04 2012-10-03 布瑞特布里克有限公司 移动广角视频记录系统
US8629913B2 (en) 2010-09-30 2014-01-14 Apple Inc. Overflow control techniques for image signal processing
US8817120B2 (en) 2012-05-31 2014-08-26 Apple Inc. Systems and methods for collecting fixed pattern noise statistics of image data
US9014504B2 (en) 2012-05-31 2015-04-21 Apple Inc. Systems and methods for highlight recovery in an image signal processor
US9743057B2 (en) 2012-05-31 2017-08-22 Apple Inc. Systems and methods for lens shading correction
US9031319B2 (en) 2012-05-31 2015-05-12 Apple Inc. Systems and methods for luma sharpening
US9077943B2 (en) 2012-05-31 2015-07-07 Apple Inc. Local image statistics collection
US9332239B2 (en) 2012-05-31 2016-05-03 Apple Inc. Systems and methods for RGB image processing
US8917336B2 (en) 2012-05-31 2014-12-23 Apple Inc. Image signal processing involving geometric distortion correction
US8953882B2 (en) 2012-05-31 2015-02-10 Apple Inc. Systems and methods for determining noise statistics of image data
US8872946B2 (en) 2012-05-31 2014-10-28 Apple Inc. Systems and methods for raw image processing
US9142012B2 (en) 2012-05-31 2015-09-22 Apple Inc. Systems and methods for chroma noise reduction
US9025867B2 (en) 2012-05-31 2015-05-05 Apple Inc. Systems and methods for YCC image processing
US9105078B2 (en) 2012-05-31 2015-08-11 Apple Inc. Systems and methods for local tone mapping
US11089247B2 (en) 2012-05-31 2021-08-10 Apple Inc. Systems and method for reducing fixed pattern noise in image data
US9438968B2 (en) * 2013-07-09 2016-09-06 Calient Technologies, Inc. Making mass connections in an optical circuit switch
US9161029B1 (en) * 2014-07-03 2015-10-13 Interra Systems, Inc. Systems and methods for detecting defective pixels in a video sequence
US9386234B2 (en) * 2014-07-31 2016-07-05 Apple Inc. Auto filter extent management
US11238564B2 (en) 2015-03-21 2022-02-01 Mine One Gmbh Temporal de-noising
US10853625B2 (en) 2015-03-21 2020-12-01 Mine One Gmbh Facial signature methods, systems and software
EP3274986A4 (en) 2015-03-21 2019-04-17 Mine One GmbH METHODS, SYSTEMS, AND SOFTWARE FOR VIRTUAL 3D
EP3718049A4 (en) * 2017-12-02 2021-09-08 Mine One GmbH TEMPORAL NOISE
US10778547B2 (en) 2018-04-26 2020-09-15 At&T Intellectual Property I, L.P. System for determining a predicted buffer condition based on flow metrics and classifier rules generated in response to the creation of training data sets
CN112001940B (zh) * 2020-08-21 2023-04-07 Oppo(重庆)智能科技有限公司 图像处理方法及装置、终端及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000196902A (ja) * 1998-12-24 2000-07-14 Brother Ind Ltd 画像処理装置および記憶媒体
JP2002330283A (ja) * 2001-05-02 2002-11-15 Mega Chips Corp 解像度変換方法および解像度変換装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168808A (ja) * 1993-12-15 1995-07-04 Oki Electric Ind Co Ltd 信号処理装置
US5867613A (en) * 1995-09-29 1999-02-02 Raytheon Company High speed hardware loader for look-up table
US6101276A (en) * 1996-06-21 2000-08-08 Compaq Computer Corporation Method and apparatus for performing two pass quality video compression through pipelining and buffer management
KR101110009B1 (ko) * 2004-02-27 2012-02-06 교세라 가부시키가이샤 촬상 장치 및 화상 생성 방법
JP2006041862A (ja) 2004-07-27 2006-02-09 Kyocera Corp 撮像装置およびその画像読出方法
KR20080066784A (ko) * 2005-10-11 2008-07-16 노키아 코포레이션 규모가변적 비디오 코딩을 위한 효율적 디코딩 화상 버퍼관리

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000196902A (ja) * 1998-12-24 2000-07-14 Brother Ind Ltd 画像処理装置および記憶媒体
JP2002330283A (ja) * 2001-05-02 2002-11-15 Mega Chips Corp 解像度変換方法および解像度変換装置

Also Published As

Publication number Publication date
GB2449738B (en) 2010-01-06
US7974489B2 (en) 2011-07-05
TWI380686B (en) 2012-12-21
US20080298696A1 (en) 2008-12-04
TW200904169A (en) 2009-01-16
GB0808201D0 (en) 2008-06-11
GB2449738A (en) 2008-12-03
JP2009099119A (ja) 2009-05-07

Similar Documents

Publication Publication Date Title
JP4705664B2 (ja) 累積および平均化を用いる適応バッファ値のためのバッファ管理
AU2019326496B2 (en) Method for capturing images at night, apparatus, electronic device, and storage medium
US9544505B2 (en) Image processing apparatus for synthesizing images based on a plurality of exposure time periods and image processing method thereof
US8830360B1 (en) Method and apparatus for optimizing image quality based on scene content
RU2562918C2 (ru) Устройство для съемки изображения, система для съемки изображения и способ управления устройством для съемки изображения
KR101625893B1 (ko) 노출 조건을 주기적으로 변화시키는 촬상장치, 촬상장치의 제어방법, 및 기억매체
US20080253758A1 (en) Image processing method
US20120281133A1 (en) Image capture device, image capture device control method, and program
CN107509044B (zh) 图像合成方法、装置、计算机可读存储介质和计算机设备
US20080259175A1 (en) Imaging Device
JP4704913B2 (ja) 画像補正方法および撮像装置
CN110166706B (zh) 图像处理方法、装置、电子设备以及存储介质
KR100793284B1 (ko) 디지털 영상의 손떨림 보정 장치, 방법 및 상기 방법을프로그램화하여 수록한 컴퓨터로 읽을 수 있는 기록매체
JP2009194700A (ja) 画像処理装置及び画像処理プログラム
JP2010200179A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムが格納されたプログラム記憶媒体
US8922681B2 (en) Image processing device that performs image processing to correct target pixels in a region surrounding a defective pixel
CN110740266B (zh) 图像选帧方法、装置、存储介质及电子设备
JP4420906B2 (ja) 撮像装置
WO2019124289A1 (ja) 装置、制御方法および記憶媒体
EP3267675B1 (en) Terminal device and photographing method
JP6231816B2 (ja) 撮像装置およびその制御方法、プログラム並びに記憶媒体
JP2017050646A (ja) 画像処理装置、画像処理方法、およびプログラム
JP2018181070A (ja) 画像処理装置および画像処理方法
JP2007306436A (ja) 撮像装置
JP6800644B2 (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110311

R150 Certificate of patent or registration of utility model

Ref document number: 4705664

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140318

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140318

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees