(57)【特許請求の範囲】
【請求項１】
デジタルカメラにおいてローリングシャッタを有するセンサから取り込まれた複数フレーム画像の複数のフレームを合成する方法であって、
前記複数のフレームのうちの第１のフレームをアキュムレータに記憶するステップと、
前記第１のフレームの参照コピーを記憶するステップと、
前記第１のフレームに対応するＹ’ＣｂＣｒ色空間の少なくとも輝度成分を有する低減された解像度のサムネールを生成するステップと、
前記生成されたサムネールにおいて所定の閾値を超えるアクティビティレベルを有する画素位置を識別するステップと、
前記第１のフレームの複数の帯状部分のそれぞれにおいて、選択された画素領域を分析することによって少なくとも所定の数の動き予測参照点を識別するステップであり、前記帯状部分が前記ローリングシャッタの動きの方向に垂直に延出し、前記分析することは、前記選択された画素領域の画素が前記生成されたサムネールにおいて識別された前記画素位置に対応しない場合に、前記対応しない画素をスキップするステップを含む、ステップと、
前記複数のフレームのうちの前記第１のフレームの後続のフレームごとに、
（ａ）前記第１のフレームにおける対応する帯状部分の前記識別された動き予測参照点のうちの少なくともいくつかに関して動きベクトルを決定することによって、後続の画像の帯状部分ごとに全体の動きベクトルを決定するステップと、
（ｂ）前記後続のフレームの各帯状部分を、その全体の動きベクトルに従って再位置合わせするステップと、
（ｃ）それぞれの再位置合わせされた帯状部分を前記アキュムレータに加えるステップであり、前記複数のフレームのうちの最終フレームの後に前記アキュムレータを出力画像として書き込むステップと
を含む方法。
【請求項２】
前記第１のフレームをＹ’ＣｂＣｒタイプの色空間に変換するステップと、
各後続のフレームを前記Ｙ’ＣｂＣｒタイプの色空間に変換するステップと、
をさらに含み、
前記第１のフレームの前記参照コピーを記憶するステップは、前記変換された第１のフレームの少なくとも輝度成分を記憶するステップを含んでおり、
前記動きベクトルを決定するステップは、前記第１のフレームの前記記憶された参照コピーの輝度成分に対して前記後続のフレームの前記輝度成分のみを使用して画素領域の動きを発見することによって行われる請求項１に記載の方法。
【請求項３】
前記動き予測参照点を識別するステップは、前記記憶された参照コピーにおいて、前記アクティビティレベルを有する前記識別された画素位置に対応する画素領域のみを分析するステップを含む請求項１に記載の方法。
【請求項４】
ローリングシャッタを有するデジタルカメラのセンサからの複数フレーム画像の少なくとも３つのフレームのバーストから、最終出力画像を生成する方法であって、
（Ａ）前記複数フレーム画像の第１のフレームを蓄積画像に蓄積するステップと、
（Ｂ）前記第１のフレームを、それぞれが前記ローリングシャッタの動きの方向に垂直に延出する複数の帯状部分に、前記帯状部分が連続して取り込まれるように分割するステップと、
前記第１のフレームに対応するＹ’ＣｂＣｒ色空間の少なくとも輝度成分を有する低減された解像度のサムネールを生成するステップと、
前記生成されたサムネールにおいて所定の閾値を超えるアクティビティレベルを有する画素位置を識別するステップと、
前記第１のフレームの前記複数の帯状部分のそれぞれにおいて、選択された画素領域を分析することによって、少なくとも所定の数の動き予測参照点を識別するステップであって、前記分析することは、前記選択された画素領域の画素が前記生成されたサムネールにおいて識別された前記画素位置に対応しない場合に前記対応しない画素をスキップするステップを含む、ステップと、
（Ｃ）前記複数フレーム画像における後続のフレームごとに、
（ｉ）前記後続のフレームを前記複数の帯状部分に分割するステップと、
（ｉｉ）前記後続のフレームにおける帯状部分ごとに、
（ａ）前記動き予測参照点に関する動きベクトルを比較して、前記後続のフレームの前記帯状部分に関する動きベクトルを識別するステップと、
（ｂ）前記後続のフレームの前記帯状部分を、前記動きベクトルに従って再位置合わせするステップと、
（ｉｉｉ）前記後続のフレームを前記蓄積された画像に蓄積するステップと、
（Ｄ）前記蓄積された画像を前記最終出力画像として出力するステップと
を含む方法。
【請求項５】
（Ｃ）（ｉｉ）（ｃ）前記後続のフレームの前記再位置合わせされた帯状部分の任意の欠損した画素に関して、前記第１のフレームから対応する画素を蓄積するステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記第１のフレームの前記帯状部分のキーラインに沿った前記選択された画素領域を分析するステップを含む、請求項４に記載の方法。
【請求項７】
前記第１のフレームの帯状部分ごとに、前記選択された画素領域を所定の数のストライドポイントとして選択するステップをさらに含む、請求項６に記載の方法。
【請求項８】
前記キーラインに沿って各ストライドポイントのアクティビティレベルのヒストグラムを構築することによって前記選択された画素領域を分析するステップをさらに含む、請求項７に記載の方法。
【請求項９】
前記キーラインが、実質的に前記帯状部分の最上部と前記帯状部分の底部との間の中間になるように選択するステップをさらに含む、請求項６に記載の方法。
【請求項１０】
各帯状部分の前記キーラインに沿ったストライドポイントごとに、前記第１のフレームの前記サムネールを検査して、所定の数の候補点を識別するステップと、
前記ストライドポイントが候補点として識別される場合にのみストライドポイントでの動きを調査するステップと
をさらに含む、請求項５に記載の方法。
【請求項１１】
複数フレーム画像のうちの複数の少なくとも３つのフレームを最終出力画像に合成する方法であって、前記複数フレーム画像がローリングシャッタを有するセンサによって取り込まれ、
（Ａ）前記複数のフレームのうちの第１のフレームに関して、
（１）前記第１のフレームがＲＧＢ型の色空間である場合、前記第１のフレームをＹ’ＣｒＣｂ型の色空間に変換するステップと、
（２）前記変換された第１のフレームをアキュムレータに保存するステップと、
（３）サムネールを生成するために前記第１のフレームの輝度成分をダウンサンプルするステップと、
（４）前記第１のフレームをＮ個の帯状部分に分割するステップと、
（５）前記Ｎ個の帯状部分のそれぞれごとに、
（ａ）前記帯状部分における画素のキーラインを選択するステップと、
（ｂ）前記キーラインに沿って複数の点を選択するステップと、
（ｃ）選択された点ごとに、
（ｉ）前記点を前記サムネールにおける位置にマッピングするステップと、
（ｉｉ）前記サムネールにおける前記マッピングされた位置で画素の第１のアクティビティレベルの計算を行うステップと、
（ｄ）第１の所定の数の候補点を前記複数の点からそれらの第１の計算されたアクティビティレベルに従って選択するステップと、
（ｅ）候補マトリクスにおける前記帯状部分の行における前記選択された候補点を保存するステップと、
（６）前記候補マトリクスにおける帯状部分の行ごとに、
（ａ）前記行の保存された候補点ごとに、
（ｉ）前記保存された候補点を前記第１のフレームにおける位置にマッピングするステップと、
（ｉｉ）前記第１のフレームにおける前記マッピングされた位置で画素の第２のアクティビティレベルの計算を行うステップと、
（ｂ）前記帯状部分における第１の所定の数の動き検出点をそれらの第２の計算されたアクティビティレベルに従って選択するステップと、
（ｃ）エッジマトリクスにおける前記帯状部分の行における前記選択された動き検出点を保存するステップと、
（Ｂ）前記第１のフレームの後続のフレームごとに、
（１）前記第１のフレームに関して実質的に同じ分割に従って、前記後続のフレームをＮの帯状部分に分割するステップと、
（２）前記後続のフレームの前記帯状部分のそれぞれごとに、
（ａ）前記エッジマトリクスの前記帯状部分の行における保存された動き検出点ごとに、
（ｉ）前記第１のフレームの前記対応するフレームに対する前記後続のフレームにおける前記動き検出点で画素領域の動きベクトルを計算するステップと、
（ｂ）前記計算された動きベクトルから前記帯状部分の全体の動きベクトルを計算するステップと、
（３）前記後続のフレームの前記帯状部分のそれぞれごとに、
（ａ）前記帯状部分の前記全体の動きベクトルに従って前記帯状部分を再位置合わせするステップと、
（ｂ）前記再位置合わせされた帯状部分を前記アキュムレータに加えるステップと、
（Ｃ）前記複数のフレームのうちの最終フレームの後に、
（１）前記複数フレーム画像のいくつかのフレームに従って前記アキュムレータをスケーリングするステップと、
（２）前記スケーリングされたアキュムレータを前記最終出力画像に書き込むステップと
を含む方法。
【請求項１２】
前記第１のフレームがＲＧＢ型の色空間であった場合、（ｉ）前記最終出力段階に前記アキュムレータを書き込む前に、前記ＲＧＢ型の色空間に前記アキュムレータを変換して戻すステップ及び、（ｉｉ）前記アキュムレータを前記最終出力画像に書き込んだ後に、前記最終出力画像を前記ＲＧＢ型の色空間に変換するステップのうちの１つをさらに含む、請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、デジタルカメラによって取り込まれた静止画像のような静止画像のブレ排除に関し、より詳細には、複数フレームの最大解像度画像として生成された静止画像、及び特にフレームの画素が異なる時間に取り込まれることを意味するローリングシャッタを有するカメラによって生成された静止画像のブレ排除に関する。
【背景技術】
【０００２】
デジタルカメラは、固定又は調節可能なシャッタ及び固定又は調節可能な絞りを備えるレンズ機構と、固定又は調節可能な感度を有するセンサとを備える。用語ＩＳＯ及びＳＯＳは、効果的で使用に適したセンサの速度を測定する、それぞれ異なるが関連する方法を指す。本開示は、ＩＳＯとＳＯＳの特徴の間で特に区別しないようにこれらを単純に「センサ速度」と呼ぶ。用語「シャッタ速度」はシャッタの開放の継続時間を指す。
【０００３】
デジタルカメラのセンサ速度を増加方向に調整することにより、より速いシャッタ速度を使用することが可能になるが、生成される画像のノイジネスが増加する傾向になり、センサ速度を低下方向に調整することにより、ノイジネスが減少する傾向になるが、求められる露光時間が増加する。
【０００４】
遅いシャッタ速度は、カメラ及び／又は写真撮影される被写体の動きによって生じるブレを有する画像を生じる傾向がある。この動きは、特定の被写体の位置から取り込まれた光子が異なる複数のセンサ位置に当たる時間依存性のスミアリングを生じる。これは「モーションブラー」と呼ばれる。
【０００５】
カメラの中には、「複数フレーム合成」と呼ぶことができるものを使用してノイズ及びモーションブラーを低下するようになされたものもある。重大なモーションブラーを生じる可能性が大きい、たとえば１／３０秒のシャッタ時間で単一のフレームを撮影することにより写真を取り込むのではなく、極端に急激なバーストのたとえば３つのフレームがそれぞれ１／９０秒で撮影され、最終画像を生成するために３つのフレームが重ねられる。
【０００６】
単純な場合には、フレームは単純に直接的に重ねられ、対応する画素値は、カメラに応じて加算又はおそらく平均化される。これは、ｎ個の平均化されたフレームに対して平方根（ｎ）の様式でノイズを低下するのを助けるが、モーションブラーは低下させない。
【０００７】
モーションブラーを低下させるために、バーストフレームに対して、それぞれをセンサに対して同じ位置合わせに移動する目的で、動き補償を適用するカメラもある。一般にこれは、周囲の画素から大きく異なることを意味する高い「アクティビティレベル（ａｃｔｉｖｉｔｙ  ｌｅｖｅｌ）」を示す画像内の被写体のエッジ及び他の局所化された領域を識別する、エッジ検出技術を使用して行われる。ほとんどのエッジ検出は、主として又はもっぱら、クロミナンス値を無視して、ＹＵＶ又はＹ’ＣｂＣｒ色空間での画素の輝度（Ｙ’）値によって行われる。明るさの違いは一般に、色の違いよりもエッジのはるかに好ましい指標である。これらのカメラでは、動きベクトル予測が画像全体（又はより厳密には第１のフレーム全体に対する第Ｎのフレーム全体）に行われ、又はおそらくは単一の動きベクトルを決定するために画像の一部分に行われ、第Ｎのフレーム全体が反対のベクトルに移動され、第１のフレームと合成される。
【０００８】
ほとんどのカメラ、特により高価なカメラは、（当然ではあるが、これらの目的に関して無視できるような、露光時間と比べて非常に短い絞り機構の動きによって生じる極端に短い時間差を除いて）同じ開放時点から同じ閉鎖時点までセンサ全体を効果的に露光する「フルフレーム」シャッタを使用する。
【０００９】
より最近になって、いくつかの安価なカメラには異なる領域のセンサを有意に異なる時点で露光する「ローリングシャッタ」機構が設けられている。たとえば、ローリングシャッタは、各画素を１／９０秒間露光できるが、センサ全体を露光するには１／９秒かかる可能性がある。言い換えれば、センサの第１のラインからセンサの最後のラインまで移動するのに１／９秒かかる。各画素は１／９０秒間しか露光されないので、各画素は実質的なモーションブラーを有することがない。しかし、画素の最初の行が露光される時点と画素の最後の行が露光される時点との間に１／９秒あるので、被写体及び／又はカメラはすでに大幅に移動している可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ローリングシャッタによって生じる動きに引き起こされる位置合わせずれを補償する、複数フレーム画像を再合成する改善されたカメラ装置及び方法が求められている。
【図面の簡単な説明】
【００１１】
【図１】デジタルカメラを使用して写真撮影される例示の光景を示す図である。
【図２】図１の光景の複数フレームのデジタル写真の第１のフレーム、及びローリングシャッタに対処するためにフレームを水平の帯状部分（ｓｗａｔｈ）に理論的に分割したものを示す図である。
【図３】サムネール画像に縮小した図２のフレームを示す図である。
【図４】高いアクティビティレベルを有し、エッジなどである可能性が大きいサムネール画像での画素位置を識別する候補マトリクスを示す図である。
【図５】動き検出に使用される画素領域を選択するために使用されるキーライン（ｋｅｙ  ｌｉｎｅ）及びストライドポイント（ｓｔｒｉｄｅ  ｐｏｉｎｔ）を示す図である。
【図６】ローリングシャッタを有するカメラに関するカメラ動きの効果を（量子化された様式で）実証する、複数フレームのデジタル写真の第２のフレームを示す図である。
【図７】ローリングシャッタを有するカメラに関するカメラ動きの位置合わせずれの影響を実証する、図２及び６のフレームの対応する帯状部分を示す図である。
【図８】各フレームのキーラインに沿って選択された点を使用する、図６の第２のフレームの分析を示す図である。
【図９】動き検出画素領域の最終選択を記録するために使用されるエッジマトリクスを示す図である。
【図１０】帯状部分がカメラ動きを修正するために再位置合わせされた後の図７の第２のフレームを示す図である。
【図１１】本発明の方法を行う手段を含むデジタルカメラのブロック図を示す図である。
【発明を実施するための形態】
【００１２】
本発明は以下に与えられた詳細な説明、及び発明の実施形態の添付の図面からより完全に理解されるが、これらは本発明を説明された特定の実施形態に限定するものと解釈すべきではなく、説明及び理解のためのものに過ぎない。
【００１３】
図１１は、本発明を実施できるデジタルカメラを示す。図示を容易にするために、レンズ素子、バッテリー、ユーザー制御部、本体又はフレーム、取外し可能なメモリーカード、及びそのスロット、自動焦点機能、などのよく知られた様々な構成要素が図面から除外されている。
【００１４】
デジタルカメラは、ＣＣＤ電荷結合素子、ＣＭＯＳ回路、又は被写体から（可視のスペクトルの中、又は外の）光子をデジタル式に取り込み、それらから被写体の電子表示を生成する任意のその他の適切な手段であってよいセンサを備える。センサは、この場合にはセンサを最上部から底部まで走査するローリングシャッタ機構を備える。カメラは、デジタル信号プロセッサ、マイクロプロセッサ、マイクロ制御機などとして特徴付けることができるプロセッサを備える。プロセッサは、単一の、モノリシックの集積回路、又は２つ以上の別々のＩＣ又はその他のロジックとして構成できる。
【００１５】
プロセッサは、センサに制御信号を送り、センサから画素データを受けるために接続される。カメラはさらに、そのうちのある程度は取外し可能である、一般にはある量のフラッシュ又はその他の不揮発性メモリを含むメモリ、並びにそれがより遅い不揮発性メモリに書き込まれるとき、センサからの画素データを記憶するための高速バッファとして構成されるより少ない量のＳＲＡＭ又はＤＲＡＭを含む。任意で、オンダイキャッシュメモリなどのように、バッファの一部分又は全部がプロセッサとして同じＩＣ上に製造できる。メモリ機構の詳細は本発明と密接には関係せず、したがってメモリは単一のエンティティとしてのみ示される。いくつかの実施形態では、画素データはセンサからプロセッサに、次いでプロセッサからメモリに移動することができる。別の実施形態では、センサはプロセッサを迂回する、メモリへのダイレクトメモリアクセス（ＤＭＡ）を行うためのそれ自体のロジックを有することができる。
【００１６】
本発明の方法が様々なメモリ構造、及びメモリ内に存在するルーチンを参照して説明されるので、読者は本開示の残りの部分全体を通して図１１を参照し続けるべきである。
【００１７】
高いレベルにおいて、カメラは、センサからの画像（「フレーム」）の高速のバーストを取り込み、次いでそれらをメモリ内の複数画像記憶領域に書き込まれる最終画像に融合することによって画像を取り込む（「写真を撮影する」）。
【００１８】
複数のフレームの位置合わせにおけるエラーを低減又は除去することが非常に望ましい。
【００１９】
設計者は、手元のアプリケーションのパラメータに従ってカメラによって行われる動作ルーチンを構成する際に様々なトレードオフを行うことができる。たとえば、バッファメモリ（又は複数画像記憶領域以外の全メモリ）は小さい可能性があり、プログラマはメモリフットプリント用に自身のコードを最適化せざるを得なくなる。又は、プロセッサは計算能力又はスループットを少量しか有することができず、プログラマは、実行速度をより早くするために画質が犠牲になりうるようにパラメータを調整することを強いられる。
【００２０】
計算を低下させ、動き検出を単純化するために、Ｙ’ＣｂＣｒ色空間、又はその他の、フレーム間動きを計算するのにＹ’ルマ成分のみを使用する輝度を有する色の色空間での動き検出を行うことが好ましい。選択肢としては、各色について動き検出を行い、次いでどの色がどの動きを表わすか何らかの方法で決定することである。後者の手法は処理を複雑化させ、最終画質での実際の利得が全くない。センサが、たとえばＲＧＢ画像を生成する場合、さらに処理するために最初にカメラがＲＧＢ画像をＹ’ＣｂＣｒフォーマットに変換する。
【００２１】
図１は、少女と彼女のサッカーボールの前景と、焦点の外れた背景とを含む、写真撮影される光景を示す。
【００２２】
図２は、ローリングシャッタを有するカメラによって取り込まれた複数フレーム画像の第１のフレームを示す。フレームは、あたかもローリングシャッタがないようにフレームを処理することと、ラインごとの動き修正を行おうと試みることとの間での量子化の妥協として、（ローリングシャッタが垂直に移動する場合に）論理的に複数の水平な帯状部分に分割される。示される例では、フレームは（帯状部分０から帯状部分９の）１０個の等しい帯状部分に分割される。便宜上、各帯状部分の高さは同一であることがある。センサの垂直解像度によって、都合よく整数個の帯状部分にならない場合、最後の帯状部分を適切に埋めることができる。帯状部分がより多くある場合、それぞれが含む画素のラインがより少なくなり、多くの場合、動き統計の信頼性がより高くなる可能性があるが、より多くの計算が必要になる。多くの実施形態では、約５０画素の帯状部分の高さが適切である可能性がある。処理力及びメモリサイズが許容すれば、帯状部分を十分に狭くして、隣接する帯状部分が２つ以上の画素の相対変位を有する見込みがないようにすることが望ましい。設計者は、プロセッサの能力に基づいて適切な数の帯状部分を選択することができる。
【００２３】
ローリングシャッタが原因で、第１のフレームそれ自体は、第１の帯状部分に対する様々な帯状部分の位置合わせエラーを有する可能性が十分ある（それは、使用者がシャッタを作動させたときに対して時間が最も近くなっていて、定義上は正しい）。いくつかの実施形態では、カメラは、参照フレームとして第１のフレーム以外のフレームを使用できる。下記に示すものを含む他の実施形態では、第１のフレームは参照フレームとされ、その他のフレームはノイズを低減するために第１のフレームに位置合わせされる。
【００２４】
カメラは、画像の複数のフレームの蓄積（追加）を可能にするために、所与のフレームが有するよりも多くの画素当たりのビットを有利に有するメモリ構造であるアキュムレータに第１のフレームをコピーする。各画像が４個の画像としてもたらされ、従来のサブピクセル（画素の色成分）当たり８ビットを有する場合、設計者はアキュムレータが画素当たり１０ビット（４×２＾８＝２＾１０）を有するように構成することを選択でき、それによってアキュムレータのメモリフットプリントが最小限に抑えられ、又は次の２のべき乗（２＾１６）のサイズを単に使用することができ、それによってより多くのメモリが使用されるがより速い計算が行われうる。任意で、プロセッサは、アキュムレータのメモリフットプリントを低減するために画像のクロマ成分の副次標本を取ることができる。
【００２５】
カメラは、別のメモリ構造にＹ’ルマ成分の最大解像度の参照（ＦｕｌｌＲｅｓＲｅｆ）のコピーも保存する。ＦｕｌｌＲｅｓＲｅｆは、それに対して後続の画像が動きを検出するために比べられる、参照として機能する。したがって、一実施形態では、動き検出はＹ’ルマ値のみに基づいたものであり、クロマ値に基づいたものではない。別の実施形態では、動き検出は最大の色空間を使用して行うことができ、その場合、ＦｕｌｌＲｅｓＲｅｆのストレージは、各画素に関するＹ’の値だけでなくＣｂ及びＣｒの値も記憶することを受け入れるために、より大きくする必要がある。
【００２６】
一実施形態では、動き検出は整数の画素変位のみに限定される。別の実施形態では、よりきめの細かい検出が利用できる。
【００２７】
図３は、センサから受け取られるか、プロセッサによって生成される、第１の完全解像度フレームの低解像度（ＬｏｗＲｅｓ）サムネールバージョンを示す。サムネールは、別のメモリ構造に記憶される。一実施形態では、ＬｏｗＲｅｓ画像は、Ｙ’ルマ値のみを含むが、別の実施形態ではクロマ値も含むことができる。いくつかの実施形態では、ＬｏｗＲｅｓ画像は、最大解像度画像と同じアスペクト比を有するが、別の実施形態では、手元のアプリケーションの要求に従って決定されるような任意の適切な形状係数を取ることができる。たとえば、一実施形態では、最大解像度画像は、２６００水平画素×１９５０垂直画素の解像度及び４：３のアスペクト比を有する５Ｍ画素の画像であり、ＬｏｗＲｅｓ画像は、６４水平画素×６４垂直画素の解像度、及び１：１のアスペクト比を有する。
【００２８】
本発明者は、ＦｕｌｌＲｅｓＲｅｆのサムネールは一般に、十分な「興味深い」画素領域を識別するのに必要な仕事の量を大幅に低減するのにそれを使用できる十分な情報を含み、その画素領域に対して後続の画像が動き検出のために効果的に比較できることを観測した。よく知られた画像の縮小技術が、独立している可能性のあるアスペクト比（及びＸとＹの値）を使用して、ＦｕｌｌＲｅｓＲｅｆの画像から所望のアスペクト比（及びＸとＹの値）を有するＬｏｗＲｅｓ画像を形成するのに使用できる。
【００２９】
図４は、プロセッサが別のメモリ構造に記憶する候補マトリクス（Ｃａｎｄｉｄａｔｅ  Ｍａｔｒｉｘ）（ＣＭ）を示す。便宜の目的のみのために、ＣＭは、説明されるものを視覚化する際に、読者を単に補助するために図面のサムネールの最上部に重ねられている。ＣＭは、動きがフレーム間で最も容易に追跡可能なエッジ又はその他のフィーチャに対応する可能性が高いサムネールでの位置を識別するのにそのエントリーが使用できるアレイである。一実施形態では、これらの位置はサムネール内の全ての画素を検査し、各画素に関してそれを４つの「最近傍画素」（画素のすぐ上、すぐ下、すぐ左、すぐ右の最近傍画素）と比較し、画素の「アクティビティレベル」を決定するために各近傍画素とその画素の間のＹ’の差の絶対値を合計することによって識別される。別の実施形態では、「最近傍画素に隣接する」又は別のそのようなスキームが使用できる。
【００３０】
一実施形態では、所定の閾値を超えるアクティビティレベルを有する画素が有用性の高い候補としてマーキングされ、それ以外の全てのものは有用性の低い候補としてマーキングされる。別の実施形態では、閾値は全画素のうちの所定の割合が有用性の高い候補としてマーキングされるように動的に決定される。そのような一実施形態では、これはラインごとに行われる。図示される特定の例では、１’のマーキング画素が有用性の高い候補と考えられ、各ラインが有用性の高い候補としてマーキングされた３２画素のうちの３から８の間の画素を有するように、閾値がラインごとに動的に調整されている。設計者は、最大解像度、メモリの大きさ及び速度、プロセッサの計算スループット及び待ち時間、レンズ口径、シャッタ速度、複数フレーム画像内のフレーム数などのカメラのパラメータに従って閾値又は範囲を選択できる。
【００３１】
一実施形態では、ＣＭが構築されその値が格納された後に、サムネールはこれ以上必要でなくなりそのメモリが解放でき、ＣＭが現在の複数フレーム画像の処理時間の間保持される。別の実施形態では、サムネールが保持され、ＣＭが必要に応じて再形成され、そうしてＣＭのストレージが定期的に解放できる。設計者は、手元のアプリケーションの指示に基づいて、そのようなトレードオフを多数行うことができる。
【００３２】
ＣＭが完了したのちに、プロセッサは、第１のフレームのベースライン分析（ｂａｓｅｌｉｎｅ  ａｎａｌｙｓｉｓ）を行うためにＣＭを使用できる。
【００３３】
図５は、プロセッサが第１のフレームを分析できる１つの方法を示す。キーラインが各帯状部分から選択され、帯状部分を表わすために使用される。言い換えれば、必要な計算量を大幅に削減するために、キーラインの画素のみが分析される。必要な計算をさらに削減するために、キーラインに沿った選択された点のみが分析される。一実施形態では、キーラインは帯状部分の最上部と底部の間の垂直方向の中間にある画素の水平線である。図示される例では、均等なストライド間隔を置いて配置されたキーラインに沿った１４個の点（Ｐ０からＰ１３）がある。これらは「ストライドポイント」と呼ぶことができる。第１及び最後のストライドポイントは、端点の全ての側に画素があり、それらがキーラインの内部の点と同じ様式で分析できるように、有利にラインの左右の端部から挿入することができる。言い換えれば、ストライド値と最初のオフセット値は、最初のオフセットによるストライド値でラインの長さ（水平解像度）を割ることにより、所望の数のストライドポイントが生成され、端部のストライドポイントがラインの端部からの所望のオフセットのところにあるように選択される。
【００３４】
連続する帯状部分ごとに、キーラインの点が２パス処理で分析される。第１のパスが初期化し、次いでヒストグラムを生成し、第２のパスがヒストグラムを使用して上位Ｎ％の最もエッジ様の画素を識別し、それらをエッジマトリクス（ＥＭ）に記録し、ただしＮはたとえば所定の値である。
【００３５】
第１のパスでは、ストライドポイントは、最初にフレーム内のそのＸ、Ｙ位置をサムネール内又はより正確にはＣＭ内の対応する位置に変換することによって分析される。画素が有用性の高い候補でないことをその位置のＣＭ値が示す（エッジである見込みがない）場合、その点は単にスキップされる。画素が有用性の高いエッジの候補であることをＣＭ値が示す場合、よりロバスト性のある、きめの細かい分析が完全解像度フレームで行われる。
【００３６】
１つの様式では、きめの細かい分析は、問題になっている点の画素の全ての直近の画素を含む。直近の画素は、その点を中心にした３×３アレイの画素を構成する。画素がなお有用性の高いエッジの候補であることをきめの細かい分析が示す場合、ヒストグラムエントリーが増やされる。一実施形態では、ヒストグラムエントリーはヒストグラム内への指標として、最大（３×３アレイ）−最小（３×３アレイ）の値を使用して選択される。
【００３７】
キーライン内の全てのストライドポイントが分析された後に、ヒストグラムは帯状部分を表わす。プロセッサは、帯状部分のストライドポイントの所定の標的アクティビティレベル百分率（ＴＡＬ）が、ＣＭＩによって指示されたものを超えるアクティビティレベルを有するように、ヒストグラムを検査しインデックス（ＣＭＩ）を識別する。たとえば、１０％の最もエッジ様のストライドポイントのみを使用して再位置合わせを行うことが望ましい可能性がある。ＴＡＬの値は、カメラの処理能力などの制約に従って設計者によって選択できる。
【００３８】
次いで、ＴＡＬに従ってＣＭＩが識別された後に、帯状部分の中のＴＡＬ％の最もエッジ様のストライドポイントを確認するために第２のパスを行うことができる。再びきめの細かい（３×３）の分析が、そのＣＭの片方が有用性の高い候補であることを示すストライドポイントごとに行われ、アクティビティレベルがヒストグラム［ＣＭＩ］より大きい場合、エッジマトリクス内のストライドポイントのエントリーは、それが実際に後のフレームがそれに対して動きに関して比較されるエッジポイントであることを示すように設定される。或いは、メモリが許容すれば、第１のパスのきめの細かい分析の結果が保存でき、次いで再計算されるのではなく第２のパスの間に単に読み取られうる。
【００３９】
図６は、図５に対応するエッジマトリクスを示し、後続のフレームでそれだけが検査されるポイントとして、ＴＡＬが各帯状部分のキーラインから２つのストライドポイントを取り出すように設定される。きめの細かい分析のアクティビティレベルが上位２つであるように決定された、各帯状部分のキーラインでのストライドポイントが、１としてマーキングされ、その他のエントリーが（０に）クリアされる。
【００４０】
第２のパスが完了し、ヒストグラムメモリが解放でき、エッジマトリクスが後のフレームの帯状部分を第１の画像のＹ’ルマ値のＦｕｌｌＲｅｓＲｅｆのコピーと比較するために使用される。
【００４１】
図７は、複数フレーム画像の第２（又は後続の）フレームでのローリングシャッタを通るセンサによって取り込まれる光景を示す。ローリングシャッタのために、フレームがカメラの動きによって歪んでいる。帯状部分のいくつかが第１のフレームに対して位置合わせをくずされ、光景のわずかに異なる部分が取り込まれている。帯状部分０は、偶然に正しく位置合わせされた。帯状部分１から始まって、カメラは左方向に移動しており、それによって帯状部分が小さな矢印によって示されるように右にシフトされる。帯状部分２が取り込まれたとき、カメラは左にさらに遠くに移動し、そうして帯状部分２は帯状部分１がシフトされたよりも右にさらに遠くにシフトされる。帯状部分３から始まって、カメラは右方向に移動し始め、それによって帯状部分が小さな矢印によって示されるように左にシフトされる。帯状部分３は帯状部分２と比べて左にシフトされるが、正確な位置合わせよりもまだ右に遠のいている。帯状部分４は偶然に正確に位置合わせされているが、カメラは右方向に移動を続け、帯状部分５が左にシフトされる。帯状部分６はさらに左に遠のくが、次いでカメラは再び左方向に移動し始め、帯状部分７は位置合わせから外れるが帯状部分６ほど左に遠のいていない。帯状部分８は偶然に正確に位置合わせされたが、次いで帯状部分９は右にシフトされた。
【００４２】
シフトの量は、カメラの動きの量及びローリングシャッタの速度に依存する。図面に示される量は、例示のためのものに過ぎない。また、例示を容易にするために、図面はカメラの動きが水平面だけの簡単な例を示す。実際には、カメラは垂直にも移動し、回転する可能性もある。
【００４３】
図８は、複数フレーム画像を融合する際に、動き検出及び再位置合わせが重要である理由を示す。図８は、センサの位置合わせに従って垂直に整列され、光景に準じた位置合わせずれを示す、第１のフレーム及び第２のフレームからの帯状部分７を示す。カメラは右にシフトされ、第２のフレームの帯状部分７を左にシフトさせる。２つの帯状部分がアキュムレータで共に検討せずに加えられると、（すでにアキュムレータにある）第１の画像の各画素が、光景の完全に異なる部分から取り込まれた値によって平均化された最終値を有することによって大幅にブレを生じる。たとえば、各帯状部分内に円形を付けた「画素値エラー」位置を検討する。第１の帯状部分では、そのセンサ位置が少女の比較的白いシャツのスリーブの点に関する画像値を取り込み、第２の帯状部分では、その同じセンサ位置がはるかに暗い（またおそらくは異なるクロマの）背景の点に関する画像値を取り込んだ。
【００４４】
これが位置合わせずれの重大さである。フレーム／帯状部分が正確に再位置合わせされない限り、元来のフレームによってそれらを平均化することは、カメラの動きの量及び光景自体に従って予測できないほど画像のブレを生じる。
【００４５】
図９は、アキュムレータに加えられる前に第２のフレーム及び後続のフレームの帯状部分が再位置合わせされる方法を示す。同じセンサポイントが比較のために使用できるように、同じキーライン及びストライドポイントのシステムが（エッジマトリクスを格納するためでなく）第１のフレームに関するものとして使用される。
【００４６】
帯状部分ごとに、エッジマトリクスの対応する行が診査される。上位ＴＡＬ％であるとして（１とマーキングされていることによって）識別されたＦｕｌｌＲｅｓＲｅｆの任意のストライドポイントに関して、同じ位置が新しいフレームで選択される。第１のフレームの対応する帯状部分に最も近似している新しいフレームの帯状部分内の画素を（その近傍画素のＦｕｌｌＲｅｓＲｅｆに対する最良のパターンマッチングを有することによって）発見するために、任意の適切なパターンマッチング／動き予測法を使用することができる。調査は、その前の帯状部分が第１の帯状部分でない場合に、そこで発見された変位ベクトルから有利に開始することができる。その前の帯状部分の動きベクトルが信頼性に乏しい場合に、調査は０変位の付近に集中する可能性もある。この帯状部分が第１の帯状部分である場合、フレーム間動きを確立するために０変位の付近のより広い調査が必要になることがある。次いで調査は、中心からの距離が増加すると可能性が低下するので、いずれの場合にも点から外側に計画的に進行する。
【００４７】
発見されたマッチングごとに動きベクトルが計算され、それはそのストライドポイントの画素領域がどのように第１のフレームから現在のフレームに移動したかを述べる。このようにして、全てのＥＭ識別された画素が試された後に、帯状部分全体に帰する単一の動きベクトルを生成するために、それらの生じる動きベクトルが比較される。そうするのに任意の適切なアルゴリズムが使用できる。たとえば、好ましくは最頻値（最も一般的な）動きベクトルが選択される。
【００４８】
１つの様式では、新しいフレームの帯状部分は帯状部分の全体の動きベクトルの逆数で個別に再位置合わせすることができ、その結果がアキュムレータの対応する帯状部分に加えられうる。
【００４９】
別の様式では、全体の動きベクトルが現在のフレームの全部の帯状部分に関して計算され、次いで任意の再位置合わせ及び蓄積を行う前に、何らかの情報がそれらに対してセットとして加えられる。たとえば、連続した帯状部分が「左２画素」、「左２画素」、「左２画素」「右１７画素」、及び「左２画素」移動したことが正確に発見される可能性は極端に低い。その場合、「右１７画素」ベクトルは単にエラーであり、帯状部分の全体の動きベクトルをたとえばその上及び下の動きベクトルの平均に変更できることが決定できる。
【００５０】
図１０は、全体の動きベクトルが健全にされた後の、帯状部分の再位置合わせを示す。帯状部分０は移動しておらず、したがってそれはすでに正確な位置合わせになっている。帯状部分１はわずかに右に移動しており、したがってそれはわずかに左に再位置合わせされる。これは、本質的にはシフト動作であることに留意されたい。多くの熟知された数学的動作においてと同様に、「何をシフトインすべきか」の問題が重要である。写真の場合には、黒又は白などの任意の特定の所定の値をシフトインすることは、必ずと言っていいほど酷い状態になる。「ＳＰ」と名称を付けられた空白領域は、「シフト画素」位置を含み、それはシフトの背後で「欠損した画素」と考えることができる。この問題はＹ’ルマ値だけでなく、対応する位置のＣｂＣｒクロマ値にも影響を及ぼすことに留意されたい。
【００５１】
一実施形態では、欠損した画素はＦｕｌｌＲｅｓＲｅｆの第１のフレームからの対応する画素値を蓄積することによって満たされる。或いは、欠損した画素を満たすことは値Ｆ／（Ｆ−１）によって対応するアキュムレータでの画素位置をスクーリングすることによって行うことができ、ただしＦはこれまでに受け取られたフレームの数であり（したがって参照の第１のフレームはＦ＝１である）、フレームＦ＝２から平均化が始まり、それによって０による除算は全く生じない。第１の方法は、アキュムレータでのエラーが拡大するのを回避するために好ましい。Ｙのみを動き計算に使用する場合、クロミナンス参照フレームデータはメモリを節約するために通常は保持されず、この場合には別の方法が使用されなければならない。
【００５２】
このようにして全てのフレームが処理された後に、アキュムレータは最終画像のスクーリングされたバージョンを表わす。アキュムレータは、その画素値をＦ、すなわち複数フレーム画像内のフレームの総数で割ることによって正規化される。次いで、アキュムレータの内容は、必要であればＲＧＢ空間に変換されて戻った後に、カメラの複数画像ストレージに書き込むことができる。カメラによっては、結果を最終画像として記憶する前に、自動ホワイトバランス処理、先鋭化処理、クロッピング、ＥＸＩＦ情報の生成などの他の従来の動作を最初に行うことも望ましい可能性がある。
【００５３】
モーションブラーは、単一の長い露光フレームでなく短い露光フレームの複数フレームのバーストを撮影することによって低減された。ランダムノイズが同じ様式で同じ画素に複数回影響を及ぼす可能性が低いので、ノイズは平均化されることによって低減され、センサ画素の特定のノイズは再位置合わせ過程によって最終画像の付近に広がる。また、ローリングシャッタの人為現象は、第２及びその後の画像の帯状部分を再位置合わせすることによって低減された。
【００５４】
一実施形態では、第２のフレーム及び後続のフレームは、（エラーの）蓄積によって生じた動き検出エラーを回避するために、アキュムレータに対してではなく、第１のフレームの保存されたコピーに対して比較される。
【００５５】
表１〜４は、本発明の１つの方法の一実施形態を行うのに使用できるような擬似コードを挙げ、それは上記に述べられたものとはいくつかの点で異なる可能性がある。
【表１】
0004727735.tif 000002
【表２】
0004727735.tif 000003
【表３】
0004727735.tif 000004
【表４】
0004727735.tif 000005
【結論】
【００５６】
１つの構成要素が別の構成要素に隣接するとされる場合、２つの構成要素の間に絶対的に何もなく、それらが示される順になっているだけであることを意味すると解釈されるべきではない。
【００５７】
図面に示される様々な特徴は多くの様式で結びつけることができ、それらが説明され示された特定の実施形態にあたかも限定されているように解釈されるべきではない。
【００５８】
本開示の利益を有する当業者は、本発明の範囲内で、前述の説明及び図面から多くのその他の変形を加えることができることを理解するであろう。実際に、本発明は上述の詳細に限定されない。それよりも本発明の範囲を定義するのは、それに対するいかなる補正をも含む以下の特許請求の範囲である。
【００５９】
特許請求の範囲では、番号及び標記は便利かつ明白にするためであり、方法で任意の特定の順番のステップが必要とするものであると解釈すべきではない。記載に暗示するものがある場合にのみ、順序付けを含意すべきである。たとえば、「（１）鶏を入手し、（２）鶏を料理する」は順序付けを必要とするが、「（１）テーブルをセットし、（２）正餐を調理する」は順序付けを必要とせず、後者の場合には２つのステップをどちらの順でも行うことができ、又は並行してさえも行うことができる。
【図１】
0004727735.tif 000006
【図２】
0004727735.tif 000007
【図３】
0004727735.tif 000008
【図５】
0004727735.tif 000009
【図６】
0004727735.tif 000010
【図７】
0004727735.tif 000011
【図８】
0004727735.tif 000012
【図９】
0004727735.tif 000013
【図１０】
0004727735.tif 000014
【図１１】
0004727735.tif 000015
【図４】
0004727735.tif 000016