(57)【要約】この開示は静止画像の画像レジストレーション及びビデオ系列のビデオ符号化を支援する撮像デバイスのための効率的なアーキテクチャを述べる。画像レジストレーションについて、記載アーキテクチャはブロックごとの基準で画像レジストレーションを支援するために別の参照画像のブロックに対して捕獲された画像の画像ブロックのブロックに基づく比較を使用する。ビデオ符号化について、記載アーキテクチャは、例えば、動き推定及び動き補償を支援するために、ブロックに基づく比較を使用する。この開示によれば、共通のブロック比較エンジンがブロックに基づく画像レジストレーションとブロックに基づくビデオ符号化の両方の共有基準で使用される。このように、ブロックに基づく比較のために設計されたハードウェア・ユニットは静止画像の画像レジストレーション処理及びビデオ系列を符号化するためのビデオ符号化処理の両方において働くように実施される。
2011512111.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ系列の画像フレームにビデオ符号化処理を行うこと、ここで前記ビデオ符号化処理を行うことはブロック比較エンジンを使用して符号化されつつある画像フレームのビデオ・ブロックを探索空間のビデオ・ブロックと比較することを含む；及び
画像レジストレーション処理を行うこと、ここで前記画像レジストレーション処理を行うことは前記ブロック比較エンジンを使用して第一画像のブロックを第二画像のブロックと比較することを含む、
を含む方法。
【請求項２】
前記ビデオ符号化処理は、前記ブロック比較エンジンを使用する動き推定、動き補償、及び符号化されつつある画像フレームのビデオ・ブロックと探索空間の適合ビデオ・ブロックとの間の差分計算を含む、そして
前記画像レジストレーション処理は、前記ブロック比較エンジンを使用して前記第一画像のブロックと前記第二画像のブロックを比較した後、レジストレーション画像のブロックを生成するために前記第一及び第二の画像の適合ブロックを結合することを含む、
請求項１記載の方法。
【請求項３】
前記差分計算は、減算演算を含む、そして
適合ブロックを結合することは、加算演算を適用することと平均化演算を適用することの少なくとも一つを含む、
請求項２記載の方法。
【請求項４】
前記画像レジストレーション処理を行うことは：
ブロックごとの方法で前記第一画像のブロックを受取ること；
レジストレーション画像のレジストレーションブロックを生成するために前記第一画像のブロックを前記第二画像のブロックと結合すること；
前記第一画像の所与のブロックが、前記レジストレーション画像の所与のブロックを生成するために、前記第二画像の所与のブロックと結合されるとき、前記第一画像の所与のブロックがバッファー配列において上書きされるように、バッファー配列において前記第一画像のブロックをバッファー格納すること；及び
前記レジストレーション画像を生成するために前記レジストレーションブロックを組立てること
を含む、請求項１記載の方法。
【請求項５】
前記画像レジストレーション処理を行うことは：
適合の閾値レベルが確認されたときレジストレーション画像のレジストレーションブロックを生成するために、前記第一画像の第一ブロックを前記第二画像のブロックと結合すること；
適合の閾値レベルが確認されないとき前記第一画像の第二ブロックを前記第二画像のブロックと結合させないこと；及び
前記第一画像の第二ブロックについて、前記第二画像のピクセルに対してピクセルに基づく比較を行い、そしてレジストレーションピクセルを生成するために、前記第一画像の第二ブロックの一以上のピクセルを前記第二画像のピクセルと結合すること
を含む、請求項１記載の方法。
【請求項６】
前記画像レジストレーション処理を行うことは、二以上の画像に対して結合画像におけるジッターを低減させるために、二以上の画像のブロックを結合することを含む、請求項１記載の方法。
【請求項７】
前記画像レジストレーション処理を行うことは、画像の系列を一つの絵柄に融合させるために、二以上の画像のブロックを結合することを含む、請求項１記載の方法。
【請求項８】
前記画像レジストレーション処理を行うことは、前記第一及び第二の画像のブロックを結合することを含み、そして前記第一及び第二の画像は異なる露出を使用して捕獲される、請求項１記載の方法。
【請求項９】
ブロック比較エンジン；
ビデオ系列の画像フレームにビデオ符号化処理を行うビデオ符号化器、ここで前記ビデオ符号化処理は、前記ブロック比較エンジンを使用して符号化されつつある画像フレームのビデオ・ブロックを探索空間のビデオ・ブロックと比較することを含む；及び
画像レジストレーション処理を行う画像レジストレーションユニット、ここで前記画像レジストレーション処理は前記ブロック比較エンジンを使用して第一画像のブロックを第二画像のブロックと比較することを含む、
を具備する装置。
【請求項１０】
前記ビデオ符号化器は、前記ブロック比較エンジンを使用する動き推定ユニット、動き補償ユニット、及び、前記符号化されつつある画像フレームのビデオ・ブロックと前記探索空間の適合ビデオ・ブロックとの間の差分計算を行う差分計算ユニットを含む、そして
画像レジストレーションユニットは、前記第一画像のブロックと前記第二画像のブロックを比較することによって前記画像レジストレーション処理を行う前記ブロック比較エンジン、適応ブロックを確認するブロック適合ユニット、及びレジストレーション画像のブロックを生成するために前記第一及び第二の画像の適合ブロックの結合を行う結合ユニットを含む、
請求項９記載の装置。
【請求項１１】
前記差分計算は減算演算を含む、そして
前記適合ブロックの結合は加算演算及び平均化演算の少なくとも一つを含む、
請求項１０記載の装置。
【請求項１２】
前記装置は、バッファー配列を含むメモリーを含み、前記画像レジストレーション処理のために：
前記メモリーはブロックごとの方法で前記第一画像のブロックを受取る；
前記画像レジストレーションユニットは、レジストレーション画像のレジストレーションブロックを生成するために、前記第一画像のブロックを前記第二画像のブロックと結合する；
前記メモリーは、前記第一画像の所与のブロックが前記レジストレーション画像の所与のブロックを生成するために前記第二画像の所与のブロックと結合されるとき、前記第一画像の所与のブロックがバッファー配列において上書きされるように、前記バッファー配列において前記第一画像のブロックをバッファー格納する；そして
前記画像レジストレーションユニットは、前記レジストレーション画像を組み立てるために前記レジストレーションブロックを前記メモリーに送る、
請求項９記載の装置。
【請求項１３】
前記画像レジストレーションユニットは：
適合の閾値レベルが、前記第二画像の一以上のブロックに対して前記第一画像の一以上のブロック間に存在するかどうかを決定するブロック適合ユニット；
適合の閾値が確認されたときレジストレーション画像のレジストレーションブロックを生成するために前記第一画像の第一ブロックを前記第二画像のブロックと結合し、そして前記適合の閾値が確認されないとき前記第一画像の第二ブロックを前記第二画像のブロックと結合させないブロック結合器；及び
前記第一画像の第二ブロックについて、前記第二画像のピクセルに対して前記第一画像の第二ブロックのピクセルのピクセルに基づく比較を行い、そしてレジストレーションピクセルを生成するために前記第一画像の第二ブロックの一以上のピクセルを前記第二画像のピクセルと結合するピクセル結合器、
を含む、請求項９記載の装置。
【請求項１４】
前記画像レジストレーション処理を行うことは、前記二以上の画像に対して結合画像におけるジッターを低減させるために二以上の画像のブロックを結合することを含む、請求項９記載の装置。
【請求項１５】
前記画像レジストレーション処理を行うことは、画像の系列を一つの絵柄に融合させるために二以上の画像のブロックを結合することを含む、請求項９記載の装置。
【請求項１６】
前記画像レジストレーション処理を行うことは、前記第一及び第二の画像のブロックを結合することを含み、そして前記第一及び第二の画像は異なる露出を使用して捕獲される、請求項９記載の装置。
【請求項１７】
前記装置は、撮像デバイスを含む無線受話器を含む、請求項９記載の装置。
【請求項１８】
前記装置は、集積回路を含む、請求項９記載の装置。
【請求項１９】
前記装置は、撮像デバイスを含む、請求項９記載の装置。
【請求項２０】
ブロック比較エンジンを含む撮像デバイスのプロセッサにおいて実行するときに、前記プロセッサに：
ビデオ系列の画像フレームにビデオ符号化処理を行わせる、ここで前記ビデオ符号化処理は、前記ブロック比較エンジンを使用して符号化されつつある画像フレームのビデオ・ブロックを探索空間のビデオ・ブロックと比較することを含む；そして
画像レジストレーション処理を行わせる、ここで前記画像レジストレーション処理は、前記ブロック比較エンジンを使用して第一画像のブロックを第二画像のブロックと比較することを含む、
命令を含むコンピュータ可読媒体。
【請求項２１】
前記ビデオ符号化処理は、前記ブロック比較エンジンを使用する動き推定、動き補償、及び、符号化されつつある画像フレームのビデオ・ブロックと探索空間の適合ビデオ・ブロックとの間の差分計算を含む、そして
前記画像レジストレーション処理は、前記第一画像のブロックと前記第二画像のブロックを比較するために前記ブロック比較エンジンを使用した後、レジストレーション画像のブロックを生成するために前記第一及び第二の画像の適合ブロックを結合することを含む、
請求項２０記載のコンピュータ可読媒体。
【請求項２２】
前記差分計算は減算演算を含む、そして
前記適合ブロックを結合することは加算演算を適用すること及び平均化演算を適用することの少なくとも一つを含む、
請求項２１記載のコンピュータ可読媒体。
【請求項２３】
前記画像レジストレーション処理を行うことは：
ブロックごとの方法で前記第一画像のブロックを受取ること；
レジストレーション画像のレジストレーションブロックを生成するために前記第一画像のブロックを前記第二画像のブロックと結合すること；
前記第一画像の所与のブロックが、レジストレーション画像の所与のブロックを生成するために前記第二画像の所与のブロックと結合されるとき、前記第一画像の所与のブロックがバッファー配列において上書きされるように、バッファー配列において前記第一画像のブロックをバッファー格納すること；及び
前記レジストレーション画像を生成するために前記レジストレーションブロックを組立てること、
を含む、請求項２０記載のコンピュータ可読媒体。
【請求項２４】
前記画像レジストレーション処理を行うことは：
適合の閾値レベルが確認されたときレジストレーション画像のレジストレーションブロックを生成するために前記第一画像の第一ブロックを前記第二画像のブロックと結合すること；
適合の閾値レベルが確認されないとき前記第一画像の第二ブロックを前記第二画像のブロックと結合させないこと；及び
前記第一画像の第二ブロックについて、第二画像のピクセルに対してピクセルに基づく比較を行い、そしてレジストレーションピクセルを生成するために前記第一画像の第二ブロックの一以上のピクセルを前記第二画像のピクセルと結合すること
を含む、請求項２０記載のコンピュータ可読媒体。
【請求項２５】
前記画像レジストレーション処理を行うことは、二以上の画像に関して結合画像におけるジッターを低減させるために二以上の画像のブロックを結合することを含む、請求項２０記載のコンピュータ可読媒体。
【請求項２６】
前記画像レジストレーション処理を行うことは、画像の系列を一つの絵柄に融合させるために二以上の画像のブロックを結合することを含む、請求項２０記載のコンピュータ可読媒体。
【請求項２７】
前記画像レジストレーション処理を行うことは、前記第一及び第二の画像のブロックを結合することを含み、そして前記第一及び第二の画像は異なる露出を使用して捕獲される、請求項２０記載のコンピュータ可読媒体。
【請求項２８】
ビデオ系列の画像フレームにビデオ符号化処理を行うための手段、ここで前記ビデオ符号化処理を行うための手段は、ブロック比較エンジンを使用して符号化されつつある画像フレームのビデオ・ブロックを探索空間のビデオ・ブロックと比較するための手段を含む；及び
画像レジストレーション処理を行うための手段、ここで前記画像レジストレーション処理を行うための手段は、前記ブロック比較エンジンを使用して第一画像のブロックを第二画像のブロックと比較するための手段を含む、
を具備するデバイス。
【請求項２９】
前記ビデオ符号化処理を行うための手段は、前記ブロック比較エンジンを使用して動き推定を行うための手段、動き補償を行うための手段、及び前記符号化されつつある画像フレームのビデオ・ブロックと前記探索空間の適合ビデオ・ブロックとの間の差分計算を行うための手段を含む、そして
前記画像レジストレーション処理を行うための手段は、レジストレーション画像のブロックを生成するために前記第一及び第二の画像の適合ブロックの結合を行うための手段を含む、
請求項２８記載のデバイス。
【請求項３０】
前記差分計算を行うための手段は、減算演算を行うための手段を含む、そして
前記適合ブロックの結合を行うための手段は、加算演算を行うための手段と平均化演算を行うための手段の少なくとも一つを含む、
請求項２９記載のデバイス。
【請求項３１】
前記画像レジストレーション処理を行うための手段は：
ブロックごとの方法で前記第一画像のブロックを受取るための手段；
レジストレーション画像のレジストレーションブロックを生成するために前記第一画像のブロックを前記第二画像のブロックと結合するための手段；
前記第一画像の所与のブロックがレジストレーション画像の所与のブロックを生成するために前記第二画像の所与のブロックと結合されるとき、前記第一画像の所与のブロックがバッファー配列において上書きされるように、バッファー配列において前記第一画像のブロックをバッファー格納するための手段；及び
前記レジストレーション画像を生成するために前記レジストレーションブロックを組立てるための手段、
を含む、請求項２８記載のデバイス。
【請求項３２】
前記画像レジストレーション処理を行うための手段は：
適合の閾値レベルが確認されたときレジストレーション画像のレジストレーションブロックを生成するために前記第一画像の第一ブロックを前記第二画像のブロックと結合するための手段；
前記適合の閾値レベルが確認されないとき前記第一画像の第二ブロックを前記第二画像のブロックと結合させないための手段；及び
前記第一画像の第二ブロックについて、前記第二画像のピクセルに対してピクセルに基づく比較を行うための手段、及びレジストレーションピクセルを生成するために、前記第一画像の第二ブロックの一以上のピクセルを前記第二画像のピクセルと結合するための手段、
を含む、請求項２８記載のデバイス。
【請求項３３】
前記画像レジストレーション処理を行うための手段は、二以上の画像に関して結合画像におけるジッターを低減させるために二以上の画像のブロックを結合するための手段を含む、請求項２８記載のデバイス。
【請求項３４】
前記画像レジストレーション処理を行うための手段は、画像の系列を一つの絵柄に融合させるために二以上の画像のブロックを結合するための手段を含む、請求項２８記載のデバイス。
【請求項３５】
前記画像レジストレーション処理を行うための手段は、前記第一及び第二の画像のブロックを結合するための手段を含み、そして前記第一及び第二の画像は異なる露出を使用して捕獲される、請求項２８記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は画像及びビデオ処理に関係し、特に、画像捕獲（image capture）アプリケーションにおける画像レジストレーション（image registration）及び安定化（stabilization）の技法、及びビデオ捕獲アプリケーションにおけるビデオ符号化の技法に関する。
【背景技術】
【０００２】
撮像デバイス（imaging device）では、そのようなデバイスによって捕獲された画像またはビデオ系列は、しばしば画像捕獲の間にデバイスの不用意な振動（shaking）のために品質低下に影響を受けやすい。ビデオ捕獲（video capture）では、撮像デバイスの振動は捕獲されたビデオ系列において好ましくない動きまたはジッターをもたらす。静止画像捕獲では、その振動は捕獲された画像のぼやけ（blurring）をもたらす。ぼやけまたはジッターは人間の視覚システムにとって画像内の関心のある領域または対象に焦点を合わせ、且つ集中するのを困難にする。いずれにせよ、ビデオまたは画像の視聴体験の品質は低下する。
【０００３】
画像レジストレーション技術はさらに良い画質を造出するために不用意な振動を補償するために使用される。画像レジストレーションシステムは一般に三つの主なカテゴリ：光学画像安定器（optical image stabilizers：ＯＩＳ）、機械的画像安定器（mechanical image stabilizers：ＭＩＳ）、及び電子画像安定器（electronic image stabilizers：ＥＩＳ）に分類される。ＯＩＳシステムは、振動の影響を低減するために画像がセンサーに達する前に画像を変形（morph）する調節可能なレンズを採用する。ＭＩＳシステムは、振動を最小にするために、例えば、カメラ操作者の身体、カウンターバランス・システム、及び／または、カメラの重心を利用してカメラ全体を安定化させる。ＥＩＳシステムは捕獲画像を変更し、そしてそれによって振動の影響を扱う信号処理アルゴリズムを使用する。いくつかの画像処理アプリケーションでは、画像レジストレーションは、また画像の短い系列を一つの絵柄に融合するために使用される。ＥＩＳシステムは、ＯＩＳ及びＭＩＳシステムより実施するのにあまり多くの費用がかからず、そして画像能力、例えば、カメラ電話を装備する無線電話受話器のようなデバイスのＯＩＳ及びＭＩＳシステムよりも好まれる。
【０００４】
ビデオ捕獲について、撮像デバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ Ｈ．２６１、Ｈ．２６３、またはＨ．２６４／ＭＰＥＧ−４、パート１０、高度ビデオ符号化（Advanced Video Coding：ＡＶＣ）規格によって定義されたようなブロックに基づくビデオ圧縮技術を実施することができる。ビデオ圧縮技術は、ビデオ系列における特有の冗長度を低減もしくは除去するために空間及び時間予測を行う。例えば、動き推定及び動き補償は、符号化されたビデオ系列における時間冗長度を除去し、そしてそれによってデータ圧縮を達成するために使用される一般的且つ効果的なブロックに基づくビデオ符号化技術である。
【発明の概要】
【０００５】
この開示は、静止画像の画像レジストレーション及びビデオ系列のビデオ符号化を支援する、撮像デバイスのための効率的アーキテクチャを述べる。画像レジストレーションについて、記述アーキテクチャは、ブロックごとに基づき画像レジストレーションを支援するために、捕獲画像の画像ブロックの、別の参照画像のブロックに対するブロックに基づく比較を使用する。随意的に、ピクセルに基づくレジストレーションは、また適切な整合ブロックが参照画像において確認されない任意のブロックについて画像レジストレーションにおいて使用され得る。ビデオ符号化について、記述アーキテクチャは、例えば、動き推定及び動き補償を支援するためにブロックに基づく比較を使用することができる。
【０００６】
この開示のいくつかの形態によれば、ブロックに基づく比較は、画像レジストレーションアーキテクチャとビデオ符号化の両方の一部を形成するブロック比較エンジンを介して実行される。すなわち、この開示は、ブロックに基づく画像レジストレーション及びブロックに基づくビデオ符号化のための共有ブロック比較エンジンの使用を述べる。このように、ブロックに基づく比較のために設計されたハードウェア・ユニットは、そのように静止画像の画像レジストレーション処理とビデオ系列を符号化するための処理の両方において働くようにインプリメントされ得る。
【０００７】
一つの例では、この開示は、ビデオ系列の画像フレームにビデオ符号化処理を行うこと（ここでビデオ符号化処理を行うことは、ブロック比較エンジンを使用して、符号化されつつある画像フレームのビデオ・ブロックを探索空間のビデオ・ブロックに対して比較することを含む）、及び画像レジストレーション処理を行うこと（ここで画像レジストレーション処理を行うことはブロック比較エンジンを使用して第一画像のブロックを第二画像のブロックに対して比較することを含む）を含む方法を提供する。
【０００８】
別の例では、この開示は、ブロック比較エンジン、ビデオ系列の画像フレームにビデオ符号化処理を行うビデオ符号化器（video coder）（ここでビデオ符号化処理は、ブロック比較エンジンを使用して符号化されつつある画像フレームを探索空間のビデオ・ブロックと比較することを含む）、及び画像レジストレーション処理を行う画像レジストレーションユニット（ここで画像レジストレーション処理は、ブロック比較エンジンを使用して第一画像のブロックを第二画像のブロックと比較することを含む）を含む装置を提供する。
【０００９】
別の例では、この開示は、ビデオ系列の画像フレームにビデオ符号化処理を行うための手段（ここでビデオ符号化処理を行う手段はブロック比較エンジンを使用して符号化されつつある画像フレームを探索空間のビデオ・ブロックと比較するための手段を含む）、及び画像レジストレーション処理を行うための手段（ここで画像レジストレーション処理を行うための手段は、ブロック比較エンジンを使用して第一画像のブロックを第二画像のブロックと比較するための手段を含む）を含むデバイスを提供する。
【００１０】
この開示において述べる技術の様々な形態は、ハードウェア、ソフトウェア、ファームウェア、またはその組合せにおいて実施され得る。ソフトウェアにおいてインプリメントされる場合、そのソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、またはディジタル信号プロセッサ（ＤＳＰ）、または他の等価な集積または個別論理回路といった一以上のプロセッサにおいて実行される。ここに述べるように、そのソフトウェアはブロック比較エンジンを含む撮像デバイスにおいて実行される。その技術を実施するソフトウェア命令はコンピュータ可読媒体に初めに格納され、そして撮像デバイスのプロセッサによって搭載され、且つ実行され得る。
【００１１】
従って、この開示は、またブロック比較エンジンを含む撮像デバイスのプロセッサにおける実行に際して、プロセッサにビデオ系列の画像フレームに対するビデオ符号化処理を行わせ（ここでビデオ符号化処理はブロック比較エンジンを使用して符号化されつつある画像フレームを探索空間のビデオ・ブロックと比較することを含む）、そして画像レジストレーション処理を行う（ここでブロックベースの画像レジストレーション処理はブロック比較エンジンを使用して第一画像のブロックを第二画像のブロックと比較することを含む）命令を含むコンピュータ可読媒体を含むコンピュータ可読媒体を意図している。
【００１２】
一以上の例の詳細は、下記の付随の図及び記述において示される。他の特徴、目的、及び利点は、記述及び図面から、そして請求項から明白になるであろう。
【図面の簡単な説明】
【００１３】
【図１】画像レジストレーションユニット及びビデオ符号化器の両方で使用されるブロック比較エンジンを含む撮像デバイスの例を示すブロック図である。
【図２】この開示の技術と一致するメモリーに連結された典型的な画像レジストレーションユニットのブロック図である。
【図３】この開示の技術と一致するメモリーに連結された典型的なビデオ符号化器のブロック図である。
【図４】この開示による画像レジストレーション及びビデオ符号化を行う撮像デバイスの動作例を例示するフローチャートである。
【図５】この開示による典型的な画像レジストレーション処理を例示するフローチャートである。
【発明を実施するための形態】
【００１４】
撮像デバイス、所謂カメラ電話のような、特に小形、且つ軽量なものは画像捕獲（image capture）の間にデバイスのユーザーによる望ましくない動きに影響を受けやすい。時折ハンド・ジッターと云われる、そのような望ましくない動きは一般にぼやけや他の視覚的な人為的影響のために画質の低下をもたらす。動きを補償するに、撮像デバイスはこの開示において述べる画像レジストレーション技術を使用して画像安定化を行う。一般に、画像レジストレーションは二以上の静止画像が合成（レジストレーションされた）静止画像を形成するために捕獲され、整列され、且つ結合される技法を云う。画像レジストレーションは二以上の静止画像に応じて結合された静止画像におけるジッターを低減させ、或いは画像の系列を一つの絵柄に融合するために二以上の画像を結合するために使用される。
【００１５】
画像レジストレーションについて、ここに述べるアーキテクチャはブロックごとに基づき画像レジストレーションを支援するために別の参照画像のブロックに応じて捕獲画像の画像ブロックのブロックに基づく比較を使用する。二以上の画像はブロックまたは窓に分割され、それはビデオ符号化において定義された所謂「マクロブロック」と類似する。これらのブロックまたは窓はブロックごとに基づき画像レジストレーションを支援するために別の画像のブロックまたは窓と比較される。ブロックは、分離（disjoint）、統合(joint)（オーバーラップしない（non-overlapping））またはオーバーラップされ得る。随意的に、ピクセルに基づくレジストレーションはまた適切な整合ブロックが参照画像において確認されない任意のブロックのために使用される。
【００１６】
この開示は共有基盤上で共通のブロック比較エンジンを使用して静止画像の画像レジストレーション及びビデオ系列のビデオ符号化を支援する画像捕獲デバイスのための効率的アーキテクチャを述べる。画像レジストレーションとビデオ符号化の両方のためのブロック比較エンジンを共有することによって撮像デバイスにおけるサイズ、処理及びメモリー・オーバーヘッドを低減させることが可能である。
【００１７】
ビデオ符号化について、記載アーキテクチャはまた、例えば、動き推定及び動き補償を支援するためにブロックに基づく比較を使用する。この開示によれば、上で述べたように、ブロックに基づく比較は画像レジストレーションアーキテクチャとビデオ符号化アーキテクチャの両方の共有部分を形成するブロック比較エンジンを介して行われる。すなわち、この開示はブロックに基づく画像レジストレーション及びブロックに基づくビデオ符号化において使用のための共有ブロック比較エンジンの使用を述べる。このように、ブロックに基づく比較のために設計されたハードウェア・ユニットは静止画像のための画像レジストレーション処理とビデオ系列のためのビデオ符号化処理の両方において働くように実施される。画像レジストレーション処理はまたビデオ捕獲と関連して使用され、その中でビデオ系列の各画像フレームは多数の短い露出（exposure）画像と関連するレジストレーションフレームである。この場合には、画像レジストレーションは画像フレームの生成と関連する画像レジストレーション、及び系列のそのような画像フレームを符号化するためのビデオ符号化処理はなお同じブロック比較エンジンを使用するであろう。
【００１８】
図１は画像レジストレーションユニット１６及びビデオ符号化器１８の両方によって使用されるブロック比較エンジン２０を含む撮像デバイス２を例示するブロック図である。ブロック比較エンジン２０は個別の要素部品（コンポーネント）として例示されているが、それは画像レジストレーションユニット１６とビデオ符号化器１８の両方の一部を実際に形成する。ブロック比較エンジン２０は画像レジストレーションの間に画像レジストレーションユニット１６によって、そしてビデオ符号化の間にビデオ符号化器１８によって起動されるハードウェア・ユニットを含む。代りに、ブロック比較エンジン２０はそれが画像レジストレーションユニット１６とビデオ符号化器１８の両方の一部を形成するように本質的に画像レジストレーションユニット１６とビデオ符号化器１８の両方で統合化されたハードウェア・ユニットを含む。画像レジストレーションユニット１６及びビデオ符号化器１８はハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実施される。
【００１９】
撮像デバイス２は一以上のディジタル静止画像捕獲モード及びビデオ捕獲モードを支援するディジタル・カメラを含む。撮像デバイス２は単独型カメラのような単独型撮像デバイスを含み、或いは一般に携帯無線電話と云われる無線受話器のような別のデバイスの一部を形成する。例として、撮像デバイス２は所謂カメラ電話またはテレビ電話を含む。この場合には、デバイス２は無線通信を容易にするために受信器、送信器、モデム、及びアンテナといった多くの他の要素部品を含む。これらの無線通信要素部品は例示を簡単及び容易にするために示されない。
【００２０】
図１に示したように、デバイス２は、専用バス１１を経由して画像処理ユニット１２に連結されたカメラ１０を含む。画像またはフレームがカメラ１０によって捕獲されるにつれて撮像デバイス２は静止画像及び／またはビデオ・フレームを自動的に処理する「インライン」アーキテクチャを定義する。しかしながら、この開示の技術はカメラ１０及び処理ユニット１２を必要としない。逆に、ここに述べたビデオ符号化及び画像レジストレーション処理はまた同じブロック比較エンジンを使用するが、別のデバイスによって捕獲されていたデータ、別のデバイスから送られたデータ、メモリー１４に既に格納されているデータ、等々に関しても適用される。
【００２１】
カメラ１０は短系列の画像が各画像について比較的短い露出時間によって捕獲され、そしてここに記述されるレジストレーション静止画像を形成するために結合される。カメラ１０はフレームの系列がビデオ系列を形成するために捕獲され、そして符号化されるビデオ捕獲を支援する。イメージレジストレーション処理は画像捕獲モードの一部であるとしてここに主として記述されているが、またビデオ捕獲の間に使用され、例えば、そこではビデオ系列の各画像フレームはそれ自身二以上の露出に基づいて形成されたレジストレーションフレームである。
【００２２】
カメラ１０は、例えば、列と行に配列された個々の画像センサー要素の二次元配列を含む。いくつかの形態では、カメラ１０の各々の画像センサー要素は単一ピクセルと関連する。すなわち、画像センサー要素とピクセル間には一対一の対応がある。代りに、各ピクセルと関連する一以上の画像センサー要素または各画像センサー要素と関連する一以上のピクセルがある。カメラ１０は、例えば、相補形金属酸化膜半導体（ＣＭＯＳ）センサー、電荷結合デバイス（ＣＣＤ）センサー、またはディジタル・カメラ・アプリケーションに使用される他のセンサー要素といった固体センサーを含む。さらに、カメラ１０はカメラ１０が捕獲画像に関する画像情報を直ちに格納する一以上の画像バッファーを保持する。カメラ１０は一以上のレンズ、シャッター、画像場面を照明するためのフラッシュ・デバイス、及び必要であれば、恐らくはディスプレイを含む。この開示において述べた技術は様々な他のアーキテクチャによって実施されるので、図１に例示したアーキテクチャは単に典型的なものである。
【００２３】
画像を捕獲するために、カメラ１０はそのセンサー要素を画像場面に露出する。カメラ１０の中の画像センサー要素は、例えば、特定のピクセル位置における場面の光の強度を表す強度値を捕獲する。いくつかの場合には、カメラ１０の各々の画像センサー要素はセンサーを覆うカラー・フィルターによってただ一つの色、または色幅に対して感度がある。例えば、カメラ１０は赤、緑、及び青センサーを定義するために適切なフィルターを持つセンサーのアレイを含み得る。しかしながら、カメラ１０はＣＭＹＫカラー・フィルター、または他の形式のカラー・フィルターといった他の形式のカラー・フィルターを利用することができる。カメラ１０の各々の画像センサーは一色だけの強度値を捕獲する。画像情報はカメラ１０のセンサー要素によって捕獲されたピクセル強度及び／またはカラー値を含む。
【００２４】
画像処理ユニット１２は、カメラ１０から未加工の画像データを受取り、そしてそのようなデータに関して多種多様な画像処理技術を実行する。画像処理ユニット１２は、撮像「フロント・エンド」と云われ、そしてスケーリング、白バランス、カラー・バランス、切取（cropping）、信号雑音低減、鮮鋭化（sharpening）、または他のフロント・エンド画像データ処理といった機能を実行することができる。捕獲画像データはメモリー１４に格納される。画像処理ユニット１２、メモリー１４、画像レジストレーションユニット１６及びビデオ符号化器１８は、共有データ通信バス１５を介して相互に通信可能に連結される。
【００２５】
メモリー１４は読取専用メモリー（ＲＯＭ）、一種のランダム・アクセス・メモリー（ＲＡＭ）、電気的消去可能プログラマブル読取専用メモリー（ＥＥＰＲＯＭ）、フラッシュ・メモリー、またはいくつかの形式のデータ格納ドライブまたはユニットといった任意の形の揮発性または不揮発性メモリーを含む。一般的に、メモリー１４はデバイス２の異なる要素部品の間で高速データ転送を保証するためにある形式のＲＡＭまたはフラッシュ・メモリーとして実施される。
【００２６】
画像レジストレーションユニット１６はデバイス２の静止画像捕獲モードの間に使用され、一方、ビデオ符号化器１８はビデオ捕獲モードの間に使用される。画像レジストレーションユニット１６はレジストレーション画像を形成するために二以上の画像を結合する。画像捕獲モードの間に、例えば、長い露出画像（例えば、１秒画像）を捕獲するよりむしろ、カメラ１０は少数の連続する短露出画像（例えば、四連続の０．２５秒画像）を捕獲する。画像レジストレーションユニット１６は四連続の０．２５秒画像を結合してレジストレーション画像にする。レジストレーション画像は１秒の間露出された画像と比較して画質を向上させている。このように、レジストレーションは、例えば、ジッターを低減させることによって静止画像の品質を改善する。
【００２７】
ビデオ符号化器１８はビデオ捕獲の間に使用される。ビデオ符号化器１８はＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ Ｈ．２６１、Ｈ．２６３、またはＨ．２６４／ＭＰＥＧ−４、パート１０、高度ビデオ符号化（ＡＶＣ）といった規格に従ってビデオ圧縮を行う。このように、ビデオ符号化器１８は符号化ビデオ系列を形成するためにビデオ・フレームの系列を圧縮する。この場合も、画像レジストレーションは画像捕獲モードに制限される必要はないが、ビデオ系列の各画像フレームが二以上の画像露出に基づいて生成されたレジストレーションフレームになるようにビデオ捕獲モードにおいてもまた使用されるであろう。
【００２８】
この開示の技術によると、ブロック比較エンジン２０は画像レジストレーションユニット１６とビデオ符号化器１８の両方によって使用される。この場合も、ブロック比較エンジン２０は個別の要素部品として例示されるが、それは画像レジストレーションユニット１６とビデオ符号化器１８の両方の一部を実際に形成する。代りに、ブロック比較エンジン２０は画像レジストレーションの間に画像レジストレーションユニット１６によって起動され、そしてビデオ符号化の間にビデオ符号化器１８によって起動される個別の要素部品と見なされる。どちらにしても、画像レジストレーションユニット１６及びビデオ符号化器１８の両方はブロック比較エンジン２０を利用する。このように、ブロック比較エンジン２０の重複はデバイス２のアーキテクチャを更に効率的にするために撮像デバイス２では回避される。例えば、共有ブロック比較エンジン２０は個別のブロック比較エンジンが使用される場合に必要とされるより少ないチップ面積（少ないシリコン）を持つ集積回路をもたらす。メモリー要求もまたソフトウェアのみの解と比較してブロック比較エンジン２０を実施することによって低減される。さらに、処理速度は他のアーキテクチャまたはソフトウェアのみの解と比較して改善される。
【００２９】
画像レジストレーション１６はブロックに基づく画像レジストレーションを行う。この場合には、画像はピクセルのブロック（この開示では「ブロック」として参照される）に分割される。ブロックは画像情報の隣接部分を表し、そして「窓」として、もしくは他の用語で参照される。いくつかの場合には、画像レジストレーションに定義されたブロックはＨ．２６４ビデオ符号化規格において定義された所謂「マクロブロック」「パーティション」、または、「サブパーティション」と類似する。それらのブロックは１６×１６ピクセル、８×８ピクセル、４×８ピクセル、８×４ピクセル、４×４ピクセル、または任意の他のサイズといった任意のサイズを持つ。ビデオ符号化の文脈では、ブロックはマクロブロック、パーティション、またはサブパーティションとして参照されるが、画像レジストレーションでは、それらのブロックは窓として、または他の用語で参照される。それらのブロックはピクセル領域において、または離散コサイン変換（ＤＣＴ）領域のような変換領域において画像データの集合を含む。例えば、それらのブロックはピクセル値、または正方形または長方形を形成する変換係数値を含む。ブロックは分離、結合（非オーバーラップ）、またはオーバーラップする。
【００３０】
画像レジストレーションモジュール１６は第一画像（現在の画像）のブロックが第二画像（参照画像）のブロックと比較されるブロックに基づく画像レジストレーション処理を行う。上で説明したように、第一及び第二の画像は短い露出時間を持つ連続画像を含む。二以上の画像がレジストレーション処理において結合されつつあるならば、第二画像はそれ自体二つの露出のレジストレーション版であり、そして第一画像は最初の二つの露出のレジストレーションされた結合によって結合される第三露出である。この比較処理を加速するために、画像レジストレーションモジュール１６はブロック比較エンジン２０を使用する。ブロック比較エンジン２０は第一画像のブロックを第二画像のブロックと比較する。画像レジストレーションユニット１６は適合を確認し、そして第一画像のブロックを第二画像の適合ブロックと結合する。画像レジストレーションユニット１６はブロックごとの方法でメモリー１４においてレジストレーション画像を組立てるためにレジストレーションブロックをメモリー１４に送る。
【００３１】
第一画像のブロックを第二画像のブロックと結合する際に、画像レジストレーションユニット１６は最も最近捕獲された画像のピクセルのピクセル値、例えば、強度及び／またはカラー値を時間的に前の画像のピクセルのピクセル値と平均化する。画像レジストレーションユニット１６は画像レジストレーションのために二以上の画像の画像情報を結合するために第一及び第二の画像の直接平均、第一及び第二の画像の加重平均、第一及び第二の画像の合計、または他の技法を使用する。画像レジストレーションユニット１６は最も最近捕獲された画像のピクセル位置における平均ピクセル値をメモリー１４に格納する。この方法で、画像レジストレーションユニット１６は画像レジストレーションの間に一つの捕獲画像のピクセルのピクセル値を平均化ピクセル値と置換する。この平均化画像情報（即ち、ピクセル値）は非レジストレーション画像情報よりも少ないぼやけを示し、このように、特に上述の振動または動きが発生する場合において、改善された画像品質を示す。また平均化画像データによりレジストレーション画像は第一及び第二の画像よりも少ないぼやけ、そして恐らくは少ない雑音を示す。
【００３２】
この開示によると、画像レジストレーションはブロックごとに基づき発生する。しかしながら、いくつかの場合には、適切に適合するブロックがいくつかのブロックについて確認されないならば、ピクセルごとの比較はそのようなブロックについて画像レジストレーションユニット１６によって行われる。画像レジストレーションは場面（scene）の多数の短い露出を結合し、そして雑音を低減させ、信号を増加させ、且つ画像鮮鋭度を改善するためにこれらの多数の露出を共に融合するために使用される。明暗の差及び遠近感の変化（回転、変形）といった問題はこの形式の処理に対する挑戦である。画像レジストレーション処理の追加の詳細は下記で提供される。
【００３３】
ビデオ符号化器１８はＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ Ｈ．２６１、Ｈ．２６３、またはＨ．２６４／ＭＰＥＧ−４、パート１０、高度ビデオ符号化（ＡＶＣ）規格によって定義された技法といったブロックに基づくビデオ圧縮技術を実施する。特に、ビデオ符号化器１８はカメラ１０によって捕獲され、且つ画像処理ユニット１２によって処理されたビデオ・フレームの系列に内在する冗長度を低減または除去するために空間及び時間予測を行う。空間予測はカメラ１０によって捕獲された所与のビデオ・フレーム中の近隣ビデオ・ブロック間の冗長度を低減させる。時間予測は、また動き推定及び補償として知られているが、ビデオ系列の過去及び／未来のビデオ・フレームにおけるビデオ・ブロック間の時間冗長度を低減させる。
【００３４】
時間予測について、ビデオ符号化器１８は二以上の隣接フレーム間の適合ビデオ・ブロックの動きを追跡するために動き推定を行う。ビデオ符号化器１８は探索空間の一以上の参照フレーム中の対応予測ビデオ・ブロックに対するビデオ・ブロックの変位を示すために動きベクトルを定義する。動き補償は参照フレームから予測ビデオ・ブロックを確認するために動きベクトルを使用する。残りのビデオ・ブロックは減算演算を介して、例えば、予測ビデオ・ブロックを符号化されるべき元のビデオ・ブロックから減算することによって形成される。残りのビデオ・ブロックは動きベクトルと共にビデオ復号器に送られる。
【００３５】
空間及び時間予測に必要なブロックに基づく比較を行うために、ビデオ符号化器１８は画像レジストレーションにおけるブロックに基づく比較のために画像レジストレーションユニット１６によって使用されるのと同じブロック比較エンジン２０を使用する。しかしながら、（画像レジストレーションユニット１６によって行われたように）データのブロックを結合するよりもむしろ、ビデオ符号化器１８は残りのブロックを形成するために相互からブロックを減算する。画像レジストレーションのために行われるブロックに基づく比較操作はビデオ符号化のために行われるブロックに基づく比較操作と類似しているので、同じブロック比較エンジン２０は画像レジストレーションユニット１６とビデオ符号化器１８の両方によって使用される。さらにまた、共有ブロック比較エンジン２０は個別のブロック比較エンジンが使われる場合に必要とされるよりも少ないチップ面積（少ないシリコン）を持つ集積回路デバイスをもたらす。メモリー要求はまたソフトウェアのみの解と比較してブロック比較エンジン２０を実施することによって低減される。その上、処理速度は他のアーキテクチャまたはソフトウェアのみの解と比較して改善される。
【００３６】
下記の議論では、ビデオ符号化器１８は時間予測、例えば、動き推定及び動き補償を行うとして主に述べられる。それでもなお、ビデオ符号化器１８はまた空間予測を行い、そしてそのような空間予測のためにブロック比較エンジン２０を実施する。この場合には、しかしながら、所与のビデオ・フレームのブロックはデータを空間的に圧縮するために使用される類似度を定義するためにその同じビデオ・フレームの他のブロックと比較される。
【００３７】
ブロック比較エンジン２０はハードウェア・ユニットを含む。画像レジストレーションユニット１６及びビデオ符号化器１８はハードウェア、ソフトウェア、ファームウェア、またはハードウェア、ソフトウェアまたはファームウェアの多種多様な組合せとして実施される。画像レジストレーションユニット１６及びビデオ符号化器１８は一以上のマイクロプロセッサ、ディジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、または任意の他の同等な個別もしくは集積論理回路、またはそれらの組合せによって実現される。いくつかの実施例では、ビデオ符号化器１８は符号化及び復号化機能を支援する符号化器−復号器（ＣＯＤＥＣ）を含む。
【００３８】
図２はこの開示の技術と一致するメモリーに連結された典型的な画像レジストレーションユニット１６のブロック図である。図２における例示の要素部品は図１に示した画像レジストレーションユニット１６及びメモリー１４の一例である。図２に示したように、メモリー１４は画像処理ユニット（例えば、図１のユニット１２）から画像データを受取る。図２及び３には、同じブロック比較エンジン２０が例示される。点線はブロック比較エンジン２０が画像レジストレーションユニット１６（図２）の一部を形成するが、ビデオ符号化器１８（図３）の一部を同じく形成するという考えを例示するためにブロック比較エンジン２０を囲んでいる。上で述べたように、ブロック比較エンジン２０は画像レジストレーションユニット１６によって、そしてビデオ符号化器１８によって起動されるエンジンと見なされ、または画像レジストレーションユニット１６及びビデオ符号化器１８の一部として統合されたハードウェア・ユニットと見なされる。
【００３９】
その入力はブロックごとの方法でピンポン（ping pong）入力バッファー２２においてメモリー中に受取られる。ピンポン入力バッファー２２は所謂「ピンポン」バッファー配列を含む。この場合には、それが必要とされる限り、データは単にバッファー２２に格納され、そして一旦そのようなデータが画像レジストレーションユニット１６において処理されると上書きされる。例えば、第一画像ブロックはピンポン入力バッファー２２に格納され、そして処理のために画像レジストレーションユニット１６に送られる。この点において、データの第二ブロックは画像処理ユニット１２からピンポン入力バッファー２２に受取られる。一旦、データの第一ブロックが画像レジストレーションユニット１６によって処理されると、データの第二ブロックは画像レジストレーションユニット１６に送られる。この点において、データの第三ブロックはピンポン入力バッファー２２に受取られる。さらに、データのこの第三ブロックはピンポン入力バッファー２２におけるデータの第一ブロックを上書きする。一旦、それが画像レジストレーションユニット１６によって処理されると、データがメモリー１４に格納される必要がないように、これはメモリー１４の効率的な使用を達成する。データはデータ通信バス１５上でメモリー１４と画像レジストレーションユニット１６との間で転送される。
【００４０】
ピンポン入力バッファー２２は任意の数のブロックの格納空間を含むが、一旦そのようなブロックが処理されてしまうとデータ・ブロックの上書きを一般に支援する。さらなる説明として、ピンポン入力バッファー２２は二以上の並列バッファーを含む。一つのバッファーに書いているとき、データは別のものから読取られる、逆もまた同じである。従って、読取り及び書込み操作が二以上の並列バッファーの間で、交互原理でピンポンされるように、ピンポン入力バッファー２２は他から読取りしている間に一つのバッファーの実質的に同時上書きを支援する。
【００４１】
画像レジストレーションユニット１６はブロックごとの方法で画像レジストレーション処理を行う。特に、画像レジストレーションユニット１６はピンポン入力バッファー２２から第一画像のデータのブロックを受取り、そして第二画像（例えば、参照画像２４）と関連するブロックの集合を受取る。参照画像２４は以前に（静止画像捕獲と関連する短い時間系列において以前に）捕獲された画像であり、或いは二以上の以前に捕獲された画像と関連する合成レジストレーション画像を含む。
【００４２】
画像レジストレーションユニット１６は第一画像のブロックを第二画像の一以上のブロックと比較するためにブロック比較エンジン２０を起動する。ブロック比較エンジン２０は第一画像のブロックのピクセルを第二画像の異なるブロックのピクセルと比較し、そして第一画像のブロック及び第二画像の異なるブロックの間で適合のレベルを示す適合値（matching values）を生成する。ブロック比較エンジン２０は適合値を生成するために絶対差分和（Sum of Absolute Difference：ＳＡＤ）技法、二乗差分和（Sum of Squared Difference：ＳＳＤ）技法、または他の適当な比較技法を実施する。ブロック適合ユニット２７はブロック比較エンジン２０から適合値を受取り、そして適切な適合が確認されたか否かを決定するためにそのような値を一以上の閾値と比較する。
【００４３】
ＳＡＤ技法は第二（参照）画像のブロックのピクセル値によって、第一画像のブロックの値の間に絶対差分計算を行う作業を含む。これらの絶対差分計算の結果はブロック間の差分を示す値を定義するために合計される、即ち、累積される。例えば、８掛ける８ピクセル・ブロックでは、６４個の差分が計算され、且つ合計され、そして１６掛ける１６ピクセル・ブロックでは、２５６個の差分が計算され、且つ合計される。低い差分値は別のブロックと比較されるブロックが良い適合であることを一般に示している。
【００４４】
ＳＳＤ技法もまた第二（参照）画像のブロックのピクセル値によって、第一画像のブロックのピクセル値の間の差分計算を行う作業を含む。ＳＳＤ技法では、ブロック間の差分を示す値を定義するために、絶対差分計算の結果は二乗され、そして二乗値は合計される、即ち、累積される。代りに、ブロック比較エンジン２０は平均二乗誤差（Mean Square Error：ＭＳＥ）、 正規化相互相関関数（Normalized Cross Correlation Function：ＮＣＣＦ）、または別の適当な比較技法といった他の比較技法を実施するであろう。
【００４５】
適切な適合がブロック適合ユニット２７によって確認されたならば、ブロック結合器はレジストレーションブロックを、例えば、ブロックにおける対応ピクセルの値を平均化、または他の場合には結合することによって造り出すために第一画像のブロックを第二画像のブロックと結合する。レジストレーションブロックはそこで画像レジストレーションユニットのブロック結合器２８からメモリー１４へ送られ、そこではそれはレジストレーション画像２６の一部を組立てるために使用される。ブロックを結合するために、上で述べたように、ブロック結合器２８は、加算演算、平均化演算、加重平均化演算、または適合ブロック内で対応ピクセル値を結合するために画像レジストレーション処理に一般に使用される任意の演算を行う。
【００４６】
一方、適切な適合がブロック適合ユニット２７において確認されないならば、二、三の異なる可能性の一つが発生する。一つの例では、適切な適合がブロック適合ユニット２７において確認されないならば、ブロック結合器２８は結合を全く回避し、そしてレジストレーション画像２６を組立てる際に使用するために第一画像のブロックを直接メモリー１４へ送る。この場合には、レジストレーション画像のその所与のブロックは第二画像のブロックとの結合なしで、第一画像のブロックと関連するデータを単純に含む。いくつかの場合には、ブロック結合器２８が何らかの理由で結合を回避するならば、ブロック結合器２８は第一及び第二の画像のブロックの中から選択し、そして選択ブロックを送る。この場合には、その選択はブロックの既知または測定された特性に基づいて行われ、例えば、結合が回避されたとき最小雑音を示すブロックが送られる。
【００４７】
代わりに、適切な適合がブロック適合ユニット２７において確認されないならば、ブロック結合器２８は第一画像のブロック及び最良適合（best match）（ブロック結合に十分良くないにもかかわらず）を送る。この場合には、ピクセル結合器２９はブロック比較エンジン２０及びブロック適合ユニット２７で確認された最良の適合ブロックのピクセルに対して第一画像のブロックのピクセルに基づく比較を行う。ピクセル結合器２９は第一画像のブロックの十分に適合するピクセルを第二画像のブロックの最良の適合ブロックと結合する。しかしながら、適切な適合を持たないピクセルは結合されないままで残る。一以上の結合ピクセルを持つレジストレーションブロックを生成させた後で、ピクセル結合器２９はレジストレーションブロックをメモリーに送り、そこではレジストレーションブロックはレジストレーション画像２６を組立てる際に使用のために格納される。ピクセル結合器２９は随意であり、そしていくつかの実施例では除去される。
【００４８】
いくつかの場合には、一旦、レジストレーション画像２６が完全に組立てられると、レジストレーション画像２６は参照画像２４として使用される。三以上の画像が画像レジストレーション処理において結合されつつあるならば、これは特に有用である。この場合には、最初の二つの画像はレジストレーション画像２６を生成するためにブロックごとの方法で結合され、それはそれから参照画像２４になる。それから、第三画像は新しいレジストレーション画像２６を生成するために参照画像２４と比較され、且つ結合され、それはこの点において三つの画像の結合である。この処理は多数の画像が結合されてレジストレーション画像になるために続くであろう。レジストレーション処理が、例えば、事前捕獲画像、または既に利用可能で、且つ実時間で捕獲されないデータに関してオフラインで行われるならば、任意の画像は第一参照画像として扱われる。
【００４９】
上記に述べたように、ブロック比較エンジン２０は、画像レジストレーションについてブロックに基づく比較に使用されるだけでなく、ビデオ符号化についてブロックに基づく比較にまた使用される。図３はこの開示の技術と一致するメモリー１４と連結された典型的なビデオ符号化器１８のブロック図である。図３の例示要素部品は図１に示したビデオ符号化器１８及びメモリー１４の一例である。図３に示したように、メモリー１４は画像処理ユニット（例えば、図１のユニット１２）からデータを受取る。このデータはビデオ系列を形成する画像フレームの系列である。
【００５０】
その入力は入力バッファー３２におけるメモリーに受取られる。入力バッファー３２はピンポン入力バッファー２２と類似し、そして、例えば、前に述べたように、所謂「ピンポン」バッファー配列を含む。しかしながら、入力バッファー３２はバッファー配列の多くの他の形式に従って配列されるであろう。
【００５１】
ビデオ符号化について、メモリー１４は入力バッファー３２中の第一画像フレームのブロックを格納し、そして探索空間３４を格納する。探索空間３４は以前に符号化されたビデオ系列の画像フレーム（または恐らくは双方向予測のための次のフレーム）に対応するピクセル（またはピクセルのブロック）の集合を含む。探索空間３４は前または次のフレームを完全に、または望まれるならば、フレームの部分集合を含む。探索空間は長方形形状であり、或いは多種多様な形状及びサイズを仮定する。
【００５２】
ビデオ符号化器１８は符号化されるべき画像フレームのブロックを入力バッファー３２から受取り、そして探索空間３４を受取る。データはデータ通信バス１５を経由してメモリー１４からビデオ符号化器１８へ伝達される。ビデオ符号化器１６は、動き推定（motion estimation：ＭＥ）ユニット４２、動き補償（motion compensation:ＭＣ）ユニット４４、及び差分ユニット４６を含む。図３の例では、ブロック比較エンジン２０はビデオ符号化器１８の一部を形成し、そしてＭＥユニット４２によって起動される比較エンジンと見なされ、或いはＭＥユニット４２の統合された部分と見なされる。ビデオ符号化器１８は動きに基づく時間符号化のためのＭＥユニット４２及びＭＣユニット４４を含むものとして例示されるが、また空間の予測符号化のための要素部品も含み、そしてそのような要素部品はまた同じブロック比較エンジン２０を使用する。空間予測要素部品は例示を簡単且つ容易にするために図３には示されない。
【００５３】
ＭＥユニット４２及びＭＣユニット４４経由のインター符号化（inter-coding）はビデオ系列の連続画像フレームのブロック間の時間冗長度を低減もしくは除去するために時間予測に依存する。インター符号化について、ＭＥユニット４２は二以上の隣接フレーム間の適合ブロックの動きを追跡する。動き推定は動きベクトルを生成し、それは一以上の参照フレームにおける対応予測ブロックに関するブロックの変位を示す。ＭＣユニット４４は参照フレームから予測ブロックを生成するために動きベクトルを使用する。動き補償の後、差分ユニット４６は符号化されるべき元のブロックから予測ブロックを減算することによって残りブロックを生成する。残りブロック及び残りブロックを生成するために使用される動きベクトルはビデオ符号化器１６からメモリー１４へ伝達され、そこではそのようなデータはビデオ系列の符号化フレームの残りデータ３６として格納され、且つ組立てられる。
【００５４】
さらにまた、この開示によると、画像レジストレーションユニット１６によって使用される同じブロック比較エンジン２０はまたブロック比較を容易にするためにビデオ符号化器１８によって使用される。ビデオ符号化では、しかしながら、ブロック比較は画像レジストレーションよりむしろビデオ系列のブロックに基づく符号化を容易にする。上で概説したように、ブロック比較エンジン２０はＳＡＤ技法、ＳＳＤ技法、または他の適当なブロック比較技法を実施する。
【００５５】
所望ならば、ビデオ符号化器１８は残りブロックと関連するビット率（bit rate）をさらに低減させるために変換、量子化及びエントロピー符号化を適用する。変換技法は離散コサイン変換（ＤＣＴ）を含む。量子化は圧縮を改善するために解像度の低減レベルへ係数を量子化することを含む。エントロピー符号化は可変長符号化、二元算術符号化（ＣＡＢＡＣ）、ハフマン符号化、ランレングス符号化、符号化ブロック・パターン（ＣＢＰ）符号化等を含む。これらの追加要素は例示を簡単化及び容易にするために図３には例示されない。これらまたは他の符号化方法は、特に、データがデバイス間で伝送されるならば、残りデータのデータ圧縮を援助する。
【００５６】
図４はこの開示に従って画像レジストレーション及びビデオ符号化を行う撮像デバイスの動作例を例示するフローチャートである。上で述べたように、この開示の技法は画像捕獲を全く必要としないが、別のデバイスによって既に捕獲されたデータ、別のデバイスから送られたデータ、メモリーに既に格納されているデータ等に関して適用されるであろう。それにも拘わらず、画像捕獲ステップを示す図４はこの文脈において、ここに述べる技法の例示である。図４に示したように、撮像デバイス２はビデオ・モードまたは静止画像捕獲モードで動作する（４００）。撮像デバイス２がビデオ・モード（４００のビデオ分岐）であるとき、撮像デバイス２のカメラ１０はビデオ系列を捕獲する（４０１）。撮像デバイス２のビデオ符号化器１８は捕獲されたビデオ系列にブロックに基づくビデオ符号化を行うためにブロック比較エンジン２０を使用する（４０２）。
【００５７】
代わって、撮像デバイス２が静止画像捕獲モード（４００の静止画像分岐）であるとき、撮像デバイス２は静止画像を捕獲する（４０３）。この場合には、撮像デバイス２の画像レジストレーションユニット１６はブロック比較エンジン２０を画像レジストレーションに使用する（４０４）。このように、ブロック比較エンジン２０は二重機能を実行し、画像レジストレーション処理及びビデオ符号化処理を加速する。画像レジストレーション処理は静止画像に主に適用できるとして述べられるが、画像レジストレーション処理はまたビデオ系列の画像フレームをレジストレーションするために、例えば、ビデオ符号化の前に使用されるであろう。
【００５８】
要するに、デバイス２はビデオ系列の画像フレームにビデオ符号化処理を行い、ここでビデオ符号化処理を行うことはブロック比較エンジン２０を使用して符号化されつつある画像フレームのビデオ・ブロックを探索空間のビデオ・ブロックと比較することを含む。その上、デバイス２は画像レジストレーション処理を行い、ここで画像レジストレーション処理を行うことはブロック比較エンジン２０を使用して第一画像のブロックを第二画像のブロックと比較することを含む。それらの技法は画像及びビデオを捕獲するデバイスにおいて、もしくは画像及びビデオを単に格納するデバイスにおいて適用される。
【００５９】
ここに述べたように、ビデオ符号化処理はブロック比較エンジン２０を使用する動き推定、動き補償、及び符号化されつつある画像フレームのビデオ・ブロックと探索空間の適合ビデオ・ブロックとの間の差分計算を含む。差分計算は減算演算を含む。画像レジストレーション処理は第一及び第二の画像のブロックを比較するためにブロック比較エンジン２０を使用すること、及びレジストレーション画像のブロックを生成するために第一及び第二の画像の適合ブロックを結合することを含む。適合ブロックの結合は加算演算及び平均化演算の少なくとも一つを含む。
【００６０】
ブロック比較エンジン２０と関連するチップ面積の低減及び待ち時間の低減はビデオ符号化及び画像レジストレーションのためにブロック比較エンジン２０を共有することによって達成される二つの利点である。画像レジストレーションに共有エンジンを実施することによって、画像レジストレーションのための集積回路において加算専用チップ空間の必要性が回避される。さらに、ビデオ符号化及び画像レジストレーションにハードウェアに基づくブロック比較エンジン２０を実施することによって、その処理はビデオ符号化及び画像レジストレーションへのソフトウェアのみの解と比べて加速される。
【００６１】
図５はこの開示と一致する典型的な画像レジストレーション処理を例示する。図５に示したように、メモリー１４は参照画像（それは「第二画像」として参照される）を格納する（５０１）。メモリー１４はピンポン・バッファー配列に従ってレジストレーションされるべき第一画像を受取り、且つ処理し（５０２）、それはピンポン入力バッファー２２を介して実施される。この場合には、第一画像の所与のブロックがレジストレーション画像の所与のブロックを生成するために第二画像の所与のブロックと結合されるとき、第一画像の所与のブロックがバッファー配列において上書きされるように、ピンポン入力バッファー２２はバッファー配列における第一画像のブロックをバッファーに格納する。さらなる説明として、ピンポン・バッファー配列は二以上の並行バッファーを通常持っている。一つのバッファーに書込むとき、データは別のものから読取られる、逆もまた同じである。
【００６２】
画像レジストレーションユニット１６は参照画像２４として格納された第二画像のブロックに対して入力バッファー２２における第一画像のブロックの画像レジストレーションのためにブロック比較エンジン２０を使用する（５０３）。ブロック適合ユニット２７は任意の参照ブロックが閾値より大きい第一画像のブロックとの適合のレベルを持っているかどうかを判定する（５０４）。ブロック適合ユニット２７が第一画像の一以上の「第一」ブロックに関する閾値より大きな適合のレベルを確認するならば（５０４のイエス分岐）、ブロック結合器２８はレジストレーションブロックを生成するために一以上の第一ブロックを第一画像のそれぞれのブロックと結合する（５０５）。
【００６３】
ブロック適合ユニット２７が第一画像の一以上の「第二」ブロックに関する閾値より大きな適合のレベルを確認しないならば（５０４のノー分岐）、ブロック結合器２８はレジストレーションブロックを生成するために一以上の第二ブロックを第一画像のブロックと結合しない（５０６）。代りに、ブロック結合器はこれらの第二ブロックをピクセル結合器２９に送る。ピクセル結合器２９は第一画像の第二ブロックの個々のピクセルについてピクセルに基づく比較及び結合を行う（５０７）。そのようなピクセルに基づく結合のさらなる詳細は下記で論じられる。代りに、適合ブロックが確認されない「第二」ブロックは参照画像のブロックとの結合なしでレジストレーション画像に格納される。
【００６４】
レジストレーション画像２６はメモリー１４において組立てられる（５０８）。特に、画像レジストレーションユニット１８はレジストレーション画像２６を組立てるためにブロックごとの方法でレジストレーションブロックをメモリー１４に書込む。このレジストレーション画像２６はブロック結合器２８からの十分にレジストレーションされたブロック、及びピクセル結合器２９からの一以上のレジストレーションピクセル及び一以上の非レジストレーションピクセルを持つブロックを含む。レジストレーション画像２６は最終レジストレーション画像として格納され、或いは加算画像が多数画像レジストレーションのために結合されるべきであるならば、参照画像２４として使用される。
【００６５】
この開示によると、画像レジストレーション処理を行うことはブロックごとの方法で第一画像のブロックを受取ること、レジストレーション画像のレジストレーションブロックを生成するために第一画像のブロックを第二画像のブロックと結合すること、第一画像の所与のブロックがレジストレーション画像の所与のブロックを生成するために第二画像の所与のブロックと結合するとき、第一画像の所与のブロックがバッファー配列において上書きされるように第一画像のブロックをバッファー配列に一時格納すること、及びレジストレーション画像を生成するためにレジストレーションブロックを組立てることを含む。
【００６６】
いくつかの場合には、十分な適合ブロックが所与のブロックについて確認されないならば、所与のブロックは参照画像２４の参照ブロックとの結合なしでレジストレーションブロックとして格納される。他の場合には、画像レジストレーション処理は適合の閾値が確認されたときレジストレーション画像のレジストレーションブロックを生成するために第一画像の第一ブロックを第二画像のブロックと結合すること、適合の閾値が確認されないとき第一画像の第二ブロックを第二画像のブロックと結合させないこと、及び第一画像の第二ブロックについて、第二画像のピクセルに対してピクセルに基づく比較を行うこと、及びレジストレーションピクセルを生成するために第一画像の第二ブロックの一以上のピクセルを第二画像のピクセルと結合することを含む。
【００６７】
画像レジストレーション処理は二以上の画像に対して結合画像において二以上の画像のブロックを結合することを含む。これはハンド−ジッター低減を達成するために、即ち、画像捕獲の間に画像捕獲デバイスの動きによって引起こされるジッターを低減させるために使用される。代りに、この開示において述べたような画像レジストレーションは所謂、高ダイナミック・レンジ処理を達成するために使用される。高ダイナミック・レンジ処理では、場面の多数の絵柄が異なる露出を用いて捕獲される。いくつかの絵柄は影の精細を捕獲するために露出過度になり、いくつかの絵柄はハイライトを維持するために露出不足になり、一方、いくつかは場面における中間調に露出される。
【００６８】
ここに述べたように、画像レジストレーションユニット２０において柔軟性を持つことによって、多様な露出がインライン・アーキテクチャを用いて実時間で高ダイナミック・レンジ画像に結合される。さらに別の例では、画像レジストレーション処理は画像の系列を一つの絵柄に融合させるために二以上の画像のブロックを結合することを含む。この場合には、画像レジストレーションは、人の歩きまたは走りの進行などの動きを捕獲する一つの絵柄を形成するために画像の系列を共に融合するように行われる。
【００６９】
ここに述べたように、画像レジストレーションは二以上の画像が共に結合（例えば、加算または平均化）される手続きである。二以上の画像は画像における対応対象または特徴を調整するために（必要とされるならば）水平及び垂直のピクセル移動（pixel shifts）を有する。ピクセル移動は位置に無関係（全体の画像を通して一定）、または位置に依存する（画像を通して一定ではない）。ブロックに基づくレジストレーションは第一画像をブロック（例えば、８ピクセル、１６ピクセル、または３２ピクセルのブロック ) に分割し、そして各ブロックについて、レジストレーションされつつあるブロックに最も近い第二画像（参照画像）のための探索を形成する。画像レジストレーション処理は、例えば、画像レジストレーションユニット１８によって行われ、次式によって表される：
【数１】
2011512111.tif 000003
【００７０】
但し、Ｖ及びＨは、合計を最小にするｖ及びｈの値を表す、
Ｓ１は、第一画像からのブロックを表す、
Ｓ２は、第二画像からのブロックを表す
ｉ及びｊは、ブロック空間にわたりスパンする、
ｈ及びｖは、二つのブロック間の仮想の水平及び垂直オフセットである、
Ｍは、マクロブロックサポート空間（例えば、８×８、１６×１６、等々）を表す、
演算（| |ＤＩＳＴ）は、二つのベクトル間の距離を測定する一般的な方法を表す、
ｍｉｎは、最小化演算を表す、そして
Σは、加算演算を表す。
【００７１】
これに代るものとして、二乗距離計算がブロック類似性を定義するために使用される。二乗距離がブロック類似性を定義するために使用されるならば、画像レジストレーション処理は、例えば、画像レジストレーションユニット１８によって行われ、次式によって表される：
【数２】
2011512111.tif 000004
【００７２】
一旦、ブロック・オフセットが推定されると、画像レジストレーションユニット１８はピクセル・オフセットを生成するためにブロック・オフセットを使用し、そしてブロックごとの方法で二つの画像を結合する。この形式のブロックに基づく実施に関して、ブロック内のピクセル・オフセットは一定であると仮定され、そして同じブロック・オフセットが所与のブロックにおける全てのピクセルに使用される。
【００７３】
しかしながら、第一画像からの特定のブロックと第二（参照）画像のブロックとの間の完全な適合は存在しないであろう（例えば、第二画像からのブロックはブロック適合を取り除くある方法で回転または移動するので）という可能性のために、そのようなブロックを単純な移行によって結合することは可能ではないであろう。問題（それは場面に動く対象があるとき起こるであろう）を解決する一つの方法は十分に近い適合が見出されないならば画像レジストレーションのためにブロックを結合すべきではない。さらに、上記の最小化結果が近い適合であるか否かを立証する一つの方法はブロックが結合されるか、或いは第一ブロックのみが最終画像において使用されるかどうかを決定するために所定の閾値を設定することである。この処理は次式で表される：
【数３】
2011512111.tif 000005
【００７４】
但し、Ｔは所定の閾値を表す。このように、上記の加算が閾値Ｔより小さければ、二つのブロックは画像レジストレーションユニット１８によって結合され、そして上記の加算が閾値Ｔと等しいか、大きければ、二つの画像ブロックは画像レジストレーションユニット１８によって結合されないであろう。
【００７５】
閾値に基づいてブロックを結合するかどうかの決定はその上（回転または範囲外の動きによって）適切な適合（match）を持たず、そして別にそのようなブロックに脅威になるブロックを選び出すことを含む。しかしながら、その決定が全体のブロック差分に基づいて画像レジストレーションユニット１８によって行われるので、累積（または平均）差分がブロックのいくつかのピクセルについて比較的小さく、ブロックの他のピクセルについて大きいことがあり得る。この場合には、ピクセル・レベル決定は測定されたピクセル差分に基づいてピクセルを結合する（或いはピクセルを結合しない）ように行われる。図２に示したように、これは随意のピクセル結合器２８の機能である。
【００７６】
適切なブロック適合を持たないブロックについてピクセルに基づく比較を支援する実施では、ピクセルＲＧＢベクトル間の差分は次式に従って使用される：
【数４】
2011512111.tif 000006
【００７７】
但し、Ｒ１、Ｇ１及びＢ１は第一画像のブロックからのピクセルの赤、緑、及び青成分であり、そして画像Ｒ２、Ｇ２及びＢ２は第二画像（参照画像）のブロックからのピクセルの赤、緑、及び青成分である。Ｍは結合が発生するピクセルに基づく閾値を表す。このように、上記の計算（結果）がＭより小さければ、ピクセル結合器２８はその所与のピクセルについてピクセルに基づく結合を行い、そして上記の計算がＭより大きいか等しいならば、ピクセル結合器２８はその所与のピクセルについて結合を回避する。
【００７８】
ここに述べた技法はハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せにおいて実施される。モジュールまたは要素部品として述べた任意の特徴は、集積化論理デバイスにおいて共に、或いは個別であるが相互動作可能な論理デバイスとして別々に実施される。ソフトウェアにおいて実施されるならば、それらの技法は、実行されるとき、上に述べた一以上の方法を実行し、そしてそうするためにブロック比較エンジンを実施する命令を含むコンピュータ可読媒体によって少なくとも一部実現される。コンピュータ可読媒体はコンピュータ・プログラム製品の一部を形成し、それは包装材料を含む。コンピュータ可読媒体は、同期ダイナミック・ランダム・アクセス・メモリー（ＳＤＲＡＭ）といったランダム・アクセス・メモリー（ＲＡＭ）、読出し専用メモリー（ＲＯＭ）、不揮発性ランダム・アクセス・メモリー（ＮＶＲＡＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュ・メモリー、磁気または光学データ記憶媒体、等々を含む。その技法はその上、或いは代わりに、命令またはデータ構造の形で符号（コード）を搬送または伝達し、そしてコンピュータによってアクセス、読出し、及び／または実行されるコンピュータ可読媒体によって少なくとも一部実現される。
【００７９】
コードは一以上のＤＳＰ、汎用マイクロプロセッサ、ＡＳＩＣ、フィールド・プログラマブル・ロジックアレイ（ＦＰＧＡ）、または他の同等の集積化または個別論理回路といった一以上のプロセッサによって実行される。従って、ここに使用される用語「プロセッサ」はここに述べた技法の実施に適応する前述の構造または他の構造のいずれをも参照する。その上、いくつかの形態では、ここに述べた機能は符号化及び復号化のために構成され、或いは複合ビデオ符号器−復号器（ＣＯＤＥＣ）に組込まれた専用ソフトウェア・モジュールまたはハードウェア・モジュールの中で提供される。従って、その開示はまたこの開示において述べた一以上の技法を実施するために回路構成を含む様々な集積回路デバイスを考慮する。そのような回路は単一の集積回路チップにおいて、或いは多数の相互動作可能な集積回路チップにおいて提供される。
【００８０】
様々な技法が述べられてきた。これら及び他の形態例は次の請求項の範囲内にある。
【図１】
2011512111.tif 000007
【図２】
2011512111.tif 000008
【図３】
2011512111.tif 000009
【図４】
2011512111.tif 000010
【図５】
2011512111.tif 000011
【国際調査報告】
2011512111.tif 000012
2011512111.tif 000013