(57)【要約】      （修正有）【課題】画像キャプチャアプリケーションにおける画像の安定化を提供する。【解決手段】画像キャプチャデバイスは、２つ以上の画像をキャプチャし、その画像を組み合わせる。それらの画像のうちの１つの画像の画素の複数のブロックの動きベクトルを計算する。場合によっては、ブロック動きベクトルを使用して、個々の画素または画素のサブブロックに対して動きベクトルを内挿または外挿する。次いで、第１画像の画素の各々を複数の動きベクトルによって示される位置に対応する第２画像の画素で平均化することによって、第１および第２画像を平均化する。【選択図】図３
2014143702.tif 000002
【特許請求の範囲】
【請求項１】
関心シーンの第１画像を画素の複数のブロックに分割することと、
前記複数のブロックの各々について前記第１画像の前記ブロックと前記関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算することと、
前記画素が属する前記それぞれのブロックの前記動きベクトルに基づいて、前記第１画像の前記ブロックの前記画素の各々の画素値を前記第２画像の対応する画素の画素値で平均化することと、
前記平均化された画素値を記憶することと、
を具備するデジタル画像データの処理方法。
【請求項２】
前記複数のブロックの各々について、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の各々について動きベクトルを決定することをさらに具備し、
前記画素値を平均化することは、前記第１画像の前記ブロックの前記画素の各々の前記画素値を前記画素の前記それぞれの動きベクトルによって示される位置での前記第２画像の対応する画素の画素値で平均化することを含む請求項１に記載の方法。
【請求項３】
前記画素の各々について動きベクトルを決定することは、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとに基づいて、外挿と内挿のうちの１つを使用して前記画素の各々について動きベクトルを決定することを含む請求項２に記載の方法。
【請求項４】
前記複数のブロックの各々について、サブブロックが属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の前記サブブロックについて動きベクトルを決定することをさらに具備し、
前記画素値を平均化することは、前記第１画像の前記サブブロックの各々の前記画素値を前記サブブロックの前記それぞれの動きベクトルによって示される位置での前記第２画像の対応するサブブロックの画素値で平均化することを含む請求項１に記載の方法。
【請求項５】
動きベクトルを計算することは、
前記複数のブロックの各々について前記ブロックに対する水平投影と垂直投影とのうちの少なくとも１つを計算することと、
前記複数のブロックの各々について前記ブロックに対する前記水平および垂直投影のうちの前記少なくとも１つに基づいて動きベクトルを計算することと、
を含む請求項１に記載の方法。
【請求項６】
前記第１画像と前記第２画像とをキャプチャすることをさらに具備し、前記第１画像と前記第２画像とのうちの少なくとも１つが画像プレビュー中にキャプチャされる請求項１に記載の方法。
【請求項７】
前記第１画像を画素の複数のブロックに分割することは、前記第１画像を画素の複数の重複ブロックに分割することを含む請求項１に記載の方法。
【請求項８】
その上に命令を有するコンピュータ可読媒体を具備する、デジタル画像データを処理するためのコンピュータプログラム製品であって、前記命令は、
関心シーンの第１画像を画素の複数のブロックに分割するためのコードと、
前記複数のブロックの各々について前記第１画像の前記ブロックと前記関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算するためのコードと、
前記画素が属する前記それぞれのブロックの前記動きベクトルに基づいて前記第１画像の前記ブロックの前記画素の各々の画素値を前記第２画像の対応する画素の画素値で平均化するためのコードと、
前記平均化された画素値を記憶するためのコードと、
を具備するコンピュータプログラム製品。
【請求項９】
前記複数のブロックの各々について、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の各々について動きベクトルを決定するためのコードをさらに具備し、
前記画素値を平均化するためのコードは、前記第１画像の前記ブロックの前記画素の各々の前記画素値を前記画素の前記それぞれの動きベクトルによって示される位置での前記第２画像の対応する画素の画素値で平均化するためのコードを含む請求項８に記載のコンピュータプログラム製品。
【請求項１０】
前記画素の各々について動きベクトルを決定するためのコードは、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとに基づいて、外挿と内挿のうちの１つを使用して前記画素の各々について動きベクトルを決定するためのコードを含む請求項９に記載のコンピュータプログラム製品。
【請求項１１】
前記複数のブロックの各々について、サブブロックが属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の前記サブブロックについて動きベクトルを決定することをさらに具備し、
前記画素値を平均化することは、前記第１画像の前記サブブロックの各々の前記画素値を前記サブブロックの前記それぞれの動きベクトルによって示される位置での前記第２画像の対応するサブブロックの画素値で平均化することを含む請求項８に記載のコンピュータプログラム製品。
【請求項１２】
動きベクトルを計算するためのコードは、
前記複数のブロックの各々について前記ブロックに対する水平投影と垂直投影とのうちの少なくとも１つを計算するためのコードと、
前記複数のブロックの各々について前記ブロックに対する前記水平および垂直投影のうちの前記少なくとも１つに基づいて動きベクトルを計算するためのコードとを含む請求項８に記載のコンピュータプログラム製品。
【請求項１３】
前記第１画像と前記第２画像とをキャプチャするためのコードをさらに具備し、前記第１画像と前記第２画像とのうちの少なくとも１つが画像プレビュー中にキャプチャされる請求項８に記載のコンピュータプログラム製品。
【請求項１４】
前記第１画像を分割するためのコードは、前記第１画像を画素の複数の重複ブロックに分割するためのコードを含む請求項８に記載のコンピュータプログラム製品。
【請求項１５】
デジタル画像データを処理するための装置であって、
関心シーンの第１画像を画素の複数のブロックに分割するブロック分割器と、
前記複数のブロックの各々について前記第１画像の前記ブロックと前記関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算する動きベクトルモジュールと、
前記画素が属する前記それぞれのブロックの前記動きベクトルに基づいて前記第１画像の前記ブロックの前記画素の各々の画素値を前記第２画像の対応する画素の画素値で平均化する画素平均化モジュールと、を含む
前記画像データを処理する画像プロセッサと、
前記平均化された画素値を記憶するメモリと、
を具備する装置。
【請求項１６】
前記動きベクトルモジュールは、前記複数のブロックの各々について、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の各々について動きベクトルを決定し、
前記画素平均化モジュールは、前記第１画像の前記ブロックの前記画素の各々の前記画素値を前記画素の前記それぞれの動きベクトルによって示される位置での前記第２画像の対応する画素の画素値で平均化する、請求項１５に記載の装置。
【請求項１７】
前記動きベクトルモジュールは、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとに基づいて、外挿と内挿のうちの１つを使用して前記画素の各々について動きベクトルを決定する請求項１６に記載の装置。
【請求項１８】
前記動きベクトルモジュールは、前記複数のブロックの各々について前記ブロックに対する水平投影と垂直投影とのうちの少なくとも１つを計算し、前記複数のブロックの各々について前記ブロックに対する前記水平および垂直投影のうちの前記少なくとも１つに基づく動きベクトルを計算する請求項１５に記載の装置。
【請求項１９】
前記第１画像と前記第２画像とをキャプチャする画像センサをさらに具備し、前記画像センサは画像プレビュー中に前記第１画像と前記第２画像とのうちの少なくとも１つをキャプチャする請求項１５に記載の装置。
【請求項２０】
前記ブロック分割器は、前記第１画像を画素の複数の重複ブロックに分割する請求項１５に記載の装置。
【請求項２１】
前記装置が無線通信デバイス内に組み込まれており、前記無線通信デバイスは、
前記平均化された画像を符号化する符号化モジュールと、
前記符号化画像を送信する送信機と、
を含む請求項１５に記載の装置。
【請求項２２】
関心シーンの第１画像を画素の複数のブロックに分割するための手段と、
前記複数のブロックの各々について、前記第１画像の前記ブロックと前記関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算するための手段と、
前記画素が属する前記それぞれのブロックの前記動きベクトルに基づいて前記第１画像の前記ブロックの前記画素の各々の画素値を前記第２画像の対応する画素の画素値で平均化するための手段と、
前記平均化された画素値を記憶するための手段と、
を具備するデジタル画像データを処理する装置。
【請求項２３】
決定手段は、複数のブロックの各々について、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の各々について動きベクトルを決定し、
前記平均化手段は、前記第１画像の前記ブロックの前記画素の各々の前記画素値を前記画素の前記それぞれの動きベクトルによって示される位置での前記第２画像の対応する画素の画素値で平均化する、請求項２２に記載の装置。
【請求項２４】
前記決定手段は、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとに基づいて、外挿と内挿のうちの１つを使用して前記画素の各々について動きベクトルを決定する請求項２３に記載の装置。
【請求項２５】
前記決定手段は、前記複数のブロックの各々について、サブブロックが属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの画素の前記サブブロックについて動きベクトルを決定し、
前記平均化手段は、前記第１画像の前記サブブロックの各々の前記画素値を前記サブブロックの前記それぞれの動きベクトルによって示される位置での前記第２画像の対応するサブブロックの画素値で平均化する請求項２２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は画像処理に関し、より詳細には画像キャプチャアプリケーションにおける画像安定化のための技術に関する。
【背景技術】
【０００２】
イメージングデバイスが軽量化し、小型化するにつれて、そのようなデバイスによってキャプチャされる画像は意図しないぶれに起因する品質劣化をより受けやすくなる。ビデオキャプチャでは、ぶれはビデオ画像のぶれまたはジッタを生じることがある。静止画像キャプチャでは、ぶれは画像のぼけを生じることがある。ぼけまたはぶれは、人間の視覚系が画像中の関心領域または物体に焦点を合わせ、集中することを困難にする可能性がある。いずれにせよ、ビデオまたは画像の鑑賞経験の品質は低下する。
【０００３】
画像安定化システムは、より良い画質を作り出すために意図しないぶれを補正することを試みる。画像安定化システムは、一般に光学画像スタビライザ（ＯＩＳ）、機械画像スタビライザ（ＭＩＳ）および電子画像スタビライザ（ＥＩＳ）の３つの主なカテゴリに分かれる。ＯＩＳシステムは、動きの影響を低減するために、画像がセンサに達する前に画像をモーフィングする調整可能レンズを採用する。ＭＩＳシステムは、滑らかな動きを維持するために、例えばカメラの重心、カウンタバランスシステムおよび／またはカメラ操作者の体を使用してカメラ全体を安定化する。ＥＩＳシステムは、キャプチャされた画像を改変するために信号処理アルゴリズムを採用する。
【発明の概要】
【０００４】
本開示では、画像キャプチャ機能を組み込んだ無線通信デバイス、例えば、いわゆる「カメラ付き携帯電話」または「テレビ電話」などの画像キャプチャデバイスのための画像安定化技術について説明する。例えば、画像キャプチャデバイスは、画像のぼけを低減するためにブロックベースの画像レジストレーション技術を利用することができる。画像キャプチャデバイスは、本開示で説明する技術を使用して２つ以上の画像をキャプチャし、それらの画像を平均化することができる。画像キャプチャデバイスは、例えば、それらの画像のうちの１つの画像の画素の複数のブロックについて動きベクトルを計算することができる。いくつかの態様では、画像キャプチャデバイスはブロック動きベクトルを使用して個々の画素または画素のサブブロックに対し、動きベクトルを内挿または外挿することができる。
【０００５】
画像キャプチャデバイスは、次いで第１画像の画素の各々を複数の動きベクトルによって示される位置に対応する第２画像の画素で平均化することによって、第１および第２画像を平均化することができる。画素を調整するための複数の動きベクトルを使用すると、運動により画像の部分が異なる方向に移動されるときの画像の表現が向上する。そのような運動の例には、カメラとシーンの見通し線に接する回転、シーンへ向かう運動またはシーンから離れる運動、あるいはこれらの運動の任意の組合せがある。画像キャプチャデバイスは、全体としての画像の動きの代わりに、画像のその特定の部分の動きを表す動きベクトルを使用して画像の部分、例えばブロックまたはサブブロックを平均化することができる。場合によっては、画像レジストレーションは画素毎の運動を捕らえることによって一層正確になる。
【０００６】
一態様では、デジタル画像データの処理方法は、関心シーンの第１画像を画素の複数のブロックに分割することと、複数のブロックの各々について第１画像のブロックと関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算することと、画素が属するそれぞれのブロックの動きベクトルに基づいて第１画像のブロックの画素の各々の画素値を第２画像の対応する画素の画素値で平均化することと、平均化された画素値を記憶することと、を具備する。
【０００７】
別の態様では、デジタル画像データを処理するためのコンピュータプログラム製品は、その上に命令を有するコンピュータ可読媒体を具備する。当該命令は、関心シーンの第１画像を画素の複数のブロックに分割するためのコードと、複数のブロックの各々について第１画像のブロックと関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算するためのコードと、画素が属するそれぞれのブロックの動きベクトルに基づいて第１画像のブロックの画素の各々の画素値を第２画像の対応する画素の画素値で平均化するためのコードと、平均化された画素値を記憶するためのコードとを含む。
【０００８】
別の態様では、デジタル画像データを処理するための装置は、画像データを処理する画像プロセッサであって、関心シーンの第１画像を画素の複数のブロックに分割するブロック分割器と、複数のブロックの各々について、第１画像のブロックと関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算する動きベクトルモジュールと、画素が属するそれぞれのブロックの動きベクトルに基づいて第１画像のブロックの画素の各々の画素値を第２画像の対応する画素の画素値で平均化する画素平均化モジュールと、を含む画像プロセッサを具備する。本装置は、また平均化された画素値を記憶するメモリを具備する。
【０００９】
別の態様では、デジタル画像データを処理するための装置は、関心シーンの第１画像を画素の複数のブロックに分割するための手段と、複数のブロックの各々について、第１画像のブロックと関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算するための手段と、画素が属するそれぞれのブロックの動きベクトルに基づいて第１画像のブロックの画素の各々の画素値を第２画像の対応する画素の画素値で平均化するための手段と、平均化された画素値を記憶するための手段と、を具備する。
【００１０】
本開示で説明した技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施できる。ソフトウェアで実施される場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはデジタル信号プロセッサ（ＤＳＰ）、ならびに他の等価の集積またはディスクリート論理回路など、１つまたは複数のプロセッサを指すことがあるプロセッサで実行できる。本技術を実行する命令を備えるソフトウェアは、最初にコンピュータ可読媒体に記憶し、プロセッサによってロードして実行できる。従って、本開示はまたプロセッサに本開示で説明する様々な技術のいずれかを実行させる命令を備えるコンピュータ可読媒体を企図する。場合によっては、コンピュータ可読媒体はコンピュータプログラム製品の一部をなすことができ、コンピュータプログラム製品は、製造業者に販売でき、および／またはデバイス中で使用できる。コンピュータプログラム製品はコンピュータ可読媒体を含むことがあり、場合によってはパッケージング材料を含むこともある。
【００１１】
１つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的および利点は、説明および図面ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】画像安定化技術を実装する例示的な画像キャプチャデバイスを示すブロック図。
【図２】図１の画像キャプチャデバイスを組み込んだ無線通信デバイスのブロック図。
【図３】図１の画像キャプチャデバイスをさらに詳細に示すブロック図。
【図４】本開示で説明する技術に従って画像安定化を実行する画像キャプチャデバイスの例示的な動作を示すフローチャート。
【図５Ａ】本開示で説明する画像安定化技術に従って、画像キャプチャデバイスによってキャプチャされ、記憶され、画像プロセッサによって処理された例示的な画像情報を示す図。
【図５Ｂ】本開示で説明する画像安定化技術に従って、画像キャプチャデバイスによってキャプチャされ、記憶され、画像プロセッサによって処理された例示的な画像情報を示す図。
【図５Ｃ】本開示で説明する画像安定化技術に従って、画像キャプチャデバイスによってキャプチャされ、記憶され、画像プロセッサによって処理された例示的な画像情報を示す図。
【図５Ｄ】本開示で説明する画像安定化技術に従って、画像キャプチャデバイスによってキャプチャされ、記憶され、画像プロセッサによって処理された例示的な画像情報を示す図。
【図５Ｅ】本開示で説明する画像安定化技術に従って、画像キャプチャデバイスによってキャプチャされ、記憶され、画像プロセッサによって処理された例示的な画像情報を示す図。
【発明を実施するための形態】
【００１３】
いわゆるカメラ付き携帯電話など、特に小型で軽量な画像キャプチャデバイスは、画像キャプチャ中にデバイスのユーザによる望ましくない運動を受けやすい。そのような望ましくない運動は、一般にぼけまたは他の視覚的アーティファクトによる画質の低下を生じる。運動を補償するために、画像キャプチャデバイスは本開示で説明する画像レジストレーション技術を使用して画像安定化を行うことができる。一般に、画像レジストレーションは２つ以上のフレーム、例えば連続するフレームを低減された露光時間でキャプチャし、位置合わせし、次いで全体として平均化する技術を指す。画像レジストレーションでは、露光時間の短縮によりぼけが低減され、２つ以上のフレームの平均化によりノイズが低減される。
【００１４】
本開示で説明する技術によれば、画像キャプチャデバイスは、画像のぼけを低減するためにブロックベースの画像レジストレーション技術を利用することができる。画像キャプチャデバイスは、本開示で説明する技術を使用して２つ以上の同じ関心シーンの画像をキャプチャし、それらの画像を平均化することができる。画像キャプチャデバイスは、例えばそれらの画像のうちの１つの画像の画素の複数のブロックについて動きベクトルを計算することができる。いくつかの態様では、画像キャプチャデバイスはブロック動きベクトルを使用して個々の画素または画素のサブブロックに対して動きベクトルを内挿または外挿することができる。動きベクトルは、第１画像のブロック、サブブロックまたは画素と、第２画像中の対応するブロック、サブブロックまたは画素との間のオフセットを表す。
【００１５】
画像キャプチャデバイスは、次いで第１画像の画素の各々を複数の動きベクトルによって示される位置に対応する第２画像の画素で平均化することによって、第１および第２画像を平均化することができる。画像キャプチャデバイスは、第１および第２画像の単純平均化、第１および第２画像の重み付き平均、第１および第２画像の和、または２つ以上の画像の画像情報を組み合わせるための他の技術を使用することができる。画素を調整するための複数の動きベクトルを使用すると、カメラとシーンの見通し線に接する回転、あるいはシーンへ向かう運動またはシーンから離れる運動などの運動により画像の部分が異なる方向に移動されるときの画像の表現が向上する。特に、全体としての画像の動きの代わりに、画像のその特定の部分の動きを表す動きベクトルを使用して画像の部分（例えば、ブロックまたはサブブロック）を平均化する。場合によっては、画像レジストレーションは画素毎の運動を捕らえることによって一層正確になる。
【００１６】
これらの技術は、画像キャプチャ中の並進運動、カメラとシーンの見通し線に接する回転、シーンへ向かう運動またはシーンから離れる運動、あるいはこれらの運動の任意の組合せなど、望ましくないカメラ運動の結果として生じる画像のぼけまたは他の視覚的アーティファクトの低減に特に有効である。さらに、これらの技術は相補型金属酸化膜半導体（ＣＭＯＳ）画像センサ技術など、「ローリングシャッタ」を利用するいくつかの画像キャプチャ技術の使用の結果として生じる画像のぼけ、または他の視覚的アーティファクトの低減に有効である。
【００１７】
図１は、本開示で説明する画像安定化技術を実装する例示的な画像キャプチャデバイス２のブロック図である。画像キャプチャデバイス２は、デジタル静止画像カメラ、デジタルビデオカメラまたは両方の組合せなどのデジタルカメラとすることができる。さらに、画像キャプチャデバイス２は独立型カメラなどの独立型デバイスでもよく、または無線通信デバイスなどの別のデバイスに一体化されてもよい。一例として、画像キャプチャデバイス２を携帯電話に一体化して、いわゆるカメラ付き携帯電話またはテレビ電話を形成することができる。本開示で説明する技術は、一般にキャプチャされたデジタルビデオに適用可能であるが、説明のためにデジタル静止画像へのそのような技術の適用について説明する。
【００１８】
図１に示すように、画像キャプチャデバイス２は画像センサ４と画像プロセッサ６および画像記憶モジュール８を含む。画像センサ４は、関心シーンの画像情報を取得する。例えば、画像センサ４は静止画像または場合によっては完全動画ビデオシーケンスをキャプチャすることができ、その場合、画像処理はビデオシーケンスの１つまたは複数の画像フレーム上で実行できる。キャプチャされたビデオは、アーカイブまたはビデオ電話あるいは他のアプリケーション用の一般的なビデオキャプチャをサポートすることができる。画像センサ４は、例えば行と列に配列された個々の画像センサ素子の２次元アレイを含むことができる。いくつかの態様では、画像センサ４の画像センサ素子の各々は単一の画素に関連することができる。言い換えれば、画像センサ素子と画素との間には１対１の対応がある。代替的に、各画素に関連する２つ以上の画像センサ素子、または各画像センサ素子に関連する２つ以上の画素が存在することができる。画像センサ４は、例えば相補型金属酸化膜半導体（ＣＭＯＳ）センサ、電荷結合デバイス（ＣＣＤ）センサなどの固体センサのアレイを備えることができる。さらに、画像センサ４はキャプチャされた画像の画像情報を記憶するための１つまたは複数の画像バッファを維持することができる。
【００１９】
画像センサ４は、画像をキャプチャするために画像センサ素子を画像シーンに露光して画像をキャプチャする。画像センサ４内の画像センサ素子は、例えば特定の画素位置でのシーンの光の強度を表す強度値をキャプチャすることができる。場合によっては、センサ４の画像センサ素子の各々は、センサを覆う色フィルタのために１つの色または色帯域にしか反応しないことがある。例えば、画像センサ４は例えば赤と緑と青のフィルタのアレイを備えることができる。しかしながら、画像センサ４はＣＭＹＫ色フィルタなどの他の色フィルタを利用することができる。従って、画像センサ４の画像センサの各々はただ１つの色の強度値をキャプチャすることができる。従って、画像情報は画像センサ４のセンサ素子によってキャプチャされた画素強度（intensity）および／または明度（color value）を含むことができる。
【００２０】
画像プロセッサ６は、例えば画像センサ４のバッファから２つ以上の画像（またはフレーム）の画像情報を受け取り、本開示で説明する画像安定化技術を実行する。特に、画像プロセッサ６はブロックベースの画像レジストレーションを実行する画像レジストレーションモジュール９を含む。画像レジストレーションモジュール９は、画像の一方または両方を画素の複数のブロック（本開示では「ブロック」と呼ぶ）に分割する。「マクロブロック」と呼ばれることがあるこれらのブロックは、一般に画像情報の連続する一部分を表す。画像レジストレーションモジュール９は、さらに各ブロックを２つ以上のサブブロックに下位分割することができる。一例として、１６×１６のブロックは４つの８×８のサブブロック、８つの４×８のサブブロックまたは他の下位分割ブロックを備えることができる。より大きい、またはより小さい寸法のブロックも可能である。本明細書で使用する「ブロック」という用語は、任意のサイズのブロックまたはサブブロックを指すことができる。
【００２１】
画像レジストレーションモジュール９は、ブロックの各々について動きベクトルを計算する。ブロックの動きベクトルは、第１画像と第２画像との間の特定されたブロックの位置ずれを表す。従って、動きベクトルは第１画像のブロックと第２画像中の対応するブロックとの間のオフセットを表す。オフセットは、ぶれまたは他の意図しないデバイスの運動、またはいくつかの画像キャプチャ技術の使用に起因することがある。一態様では、画像レジストレーションモジュール９は第１画像の画素の画素値をブロック動きベクトルを使用して位置を特定される第２画像の対応する画素の画素値で平均化することによって、画像の各画素を登録することができる。言い換えれば、画像レジストレーションモジュール９は、ブロックの各々についてブロックの画素の各々のためにブロックの動きベクトルを使用することができる。しかしながら、各ブロックは異なる動きベクトルを有するので、不要な動きを補償するために複数の動きベクトルを使用することになる。画素を調整するための複数の動きベクトルを使用すると、カメラとシーンの見通し線に接する回転、あるいはシーンへ向かう運動またはシーンから離れる運動などの運動により、画像の部分が異なる方向に移動されるときの画像の表現が向上する。
【００２２】
しかしながら、他の態様では画像レジストレーションモジュール９はブロックの連続する一部分からなる１つまたは複数のサブブロックの動きベクトルを推定するために、２つ以上のブロックに関連する動きベクトルを使用することができる。サブブロックは、例えば８×８の連続する正方形画素ブロックの４×４の連続する正方形画素部からなることができる。一態様では、画像レジストレーションモジュール９はブロックの画素の各々について動きベクトルを推定するために、ブロックに関連する動きベクトルを使用することができ、この場合サブブロックはブロックの単一の画素からなる。画像レジストレーションモジュール９は、ブロック、サブブロックおよび／または画素の各々について決定された動きベクトルを使用して画像を登録するために、第１画像の画素の画素値を第２画像の対応する画素の画素値で平均化する。例えば、画像レジストレーションモジュール９は、最新にキャプチャされた画像の画素の画素値、例えば強度値および／または明度を時間的に前の画像の画素の画素値で平均化することができる。画像レジストレーションモジュール９は、第１および第２画像の単純平均化、第１および第２画像の重み付き平均、第１および第２画像の和、または２つ以上の画像の画像情報を組み合わせるための他の技術を使用することができる。画像レジストレーションモジュール９は、最新にキャプチャされた画像の画素位置での平均化された画素値を記憶することができる。このようにして、画像レジストレーションモジュール９はキャプチャされた画像のうちの１つの画像の画素の画素値の代わりに、画像レジストレーション中に平均化された画素値を使用することができる。この平均化された画像情報（すなわち、画素値）では、特に上述の運動が起こる場合および／または画像キャプチャ技術が関係する場合、一般にぼけがより少なくなり、従って画質が向上する。このようにして、画像レジストレーションはブロック毎、サブブロック毎または画素毎の運動を捕らえることによって、一層正確になる。さらに、ブロックレベルで動き推定を実行し、画素レベルの動きベクトルを推定することによって、計算リソースが確保される。
【００２３】
画像プロセッサ６は、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、あるいは他の等価の個別または集積論理回路、あるいはそれらの組合せによって実現できる。いくつかの実施形態では、画像プロセッサ６は動画像専門家グループ（ＭＰＥＧ）−２、ＭＰＥＧ−４、国際電気通信連合（ＩＴＵ）Ｈ．２６３、ＩＴＵ  Ｈ．２６４、共同静止画像専門家グループ（ＪＰＥＧ）、グラフィックス交換形式（ＧＩＦ）、タグ付き画像ファイル形式（ＴＩＦＦ）などの特定の符号化技術または形式に従って画像情報を符号化するエンコーダ／デコーダ（コーデック）の一部を形成することができる。画像プロセッサ６は、画像クロッピング、圧縮、強調などの追加の処理を画像情報に対して行うことができる。
【００２４】
画像プロセッサ６は、登録された画像を画像記憶モジュール８に記憶する。代替的に、画像プロセッサ６は登録された画像に対して追加の処理を実行し、登録された画像情報を処理済み形式または符号化形式で画像記憶モジュール８に記憶することができる。登録された画像情報に音声情報が伴う場合、音声も独立して、または登録された画像情報を含む１つまたは複数のフレームを備えるビデオ情報とともに、画像記憶モジュール８に記憶できる。画像記憶モジュール８は、読取り専用メモリ（ＲＯＭ）、電気的消去可能なプログラマブル読出し専用メモリ（ＥＥＰＲＯＭ）、またはＦＬＡＳＨメモリなど、あるいは磁気データ記憶デバイスまたは光学データ記憶デバイスなど、揮発性または不揮発性メモリあるいは記憶デバイスを備えることができる。
【００２５】
いくつかの他の要素を画像キャプチャデバイス２中に含めることもできるが、説明を簡単で容易にするために図１には特に示していない。例えば、画像キャプチャデバイス２はレンズ、シャッタ、フラッシュ装置およびディスプレイなど、画像をキャプチャするための追加の構成要素を含むことができる。本開示で説明する技術は様々な他のアーキテクチャで実施できるので、図１に示すアーキテクチャは例にすぎない。さらに、図１に示す機能はハードウェアおよび／またはソフトウェア構成要素の任意の適切な組合せによって実現できる。
【００２６】
図２は、本開示で説明する画像安定化技術を実装する画像キャプチャデバイス２を含む例示的な無線通信デバイス１０を示すブロック図である。言い換えれば、図２は無線通信デバイス内に一体化された画像キャプチャデバイス２を示す。画像キャプチャデバイス２の動作については、上記で図１に関して説明しており、従ってここでは詳細に説明しない。無線通信デバイス１０は、画像キャプチャ機能を有するセルラー電話（例えば、いわゆるカメラ付き携帯電話またはテレビ電話）、ビデオレコーダ、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、または画像キャプチャおよび無線通信機能を有する他のハンドヘルドデバイスなどの無線通信デバイスハンドセットを備えることができる。無線通信デバイスの文脈で説明するが、本開示の技術は有線通信デバイスに適用可能である。
【００２７】
図２の例では、無線通信デバイス１０は、画像キャプチャデバイス２と符号化モジュール１２および送信機１４を含む。符号化モジュール１２は、記憶および／または送信のために、キャプチャされた画像情報を符号化して、画像を特定の画像圧縮形式に圧縮することができる。符号化モジュール１２はＪＰＥＧ、ＴＩＦＦ、ＧＩＦまたは他の画像圧縮形式を含むいくつかの画像圧縮形式のいずれかを使用して、画像を圧縮することができる。ビデオの場合、符号化モジュール１２はＭＰＥＧ、ＭＰＥＧアドバンストビデオ符号化（ＡＶＣ）パート１０、ＩＴＵ  Ｈ．２６４などの任意の数のビデオ圧縮形式を使用してビデオを圧縮することができる。
【００２８】
無線通信デバイス１０は、符号化画像を送信機１４を介して別のデバイスに送信することができる。送信機１４は、一般に符号分割多元接続（ＣＤＭＡ）ネットワーク、広帯域符号分割多元接続（Ｗ−ＣＤＭＡ）ネットワーク、時分割多元接続（ＴＤＭＡ）ネットワーク、広域移動体通信システム（ＧＳＭ（登録商標））ネットワーク、または他の同様のネットワークなどのセルラーネットワークへのインタフェースを与える。送信機１４は、セルラーネットワークに加えて、またはその代替として関係する米国電気電子学会（ＩＥＥＥ）８０２．１１規格のいずれかによって定義された無線ネットワーク、あるいは他の有線または無線ネットワークへのインタフェースを与えることができる。画像キャプチャデバイス２、符号化モジュール１２および送信機１４のみを含むものとして説明したが、無線通信デバイス１０はディスプレイ、ユーザとインタフェースするためのユーザインタフェース（例えば、キーパッド）、追加の動作を実行するための１つまたは複数のプロセッサ、ならびにリムーバブルメモリを受容するための様々なポートおよびレセプタクル、ヘッドフォン、電源、ならびに他のそのような周辺装置などの他のモジュールを含むことができる。
【００２９】
図３は、図１の画像キャプチャデバイス２をさらに詳細に示すブロック図である。図３に示すように、画像センサ４は画像バッファ２６Ａおよび２６Ｂ（「画像バッファ２６」）を含み、画像バッファ２６Ａと２６Ｂの両方とも同じ関心シーンに関係する画像情報を記憶することができる。画像センサ４は、例えば画像プレビュー中に画像情報を画像バッファ２６に記憶することができる。より詳細には、画像センサ４はユーザが画像キャプチャデバイスを関心シーンに向けている間、ユーザが画像をキャプチャするためにボタンを作動させる前に画像情報を画像バッファ２６に記憶することができる。いくつかの実施形態では、画像バッファ２６は互いに数ミリ秒またはより短い時間期間でないとしても数秒以内にキャプチャされた画像情報を記憶し、それによってバッファ２６の各々が同じ関心シーンに関係する画像情報の連続するセットを記憶するようにする。この連続する画像バッファリング技術は、ぼけの低減を可能にするために利用され、画像をキャプチャすることを試みるユーザに気づかれずに行われる。すなわち、ユーザの観点からは画像キャプチャデバイス２のボタンを作動させることによって単一の画像のみがキャプチャされる。しかしながら、実際には２つ以上の画像がキャプチャされ平均化されて、ユーザが閲覧する単一の画像が生成される。図３は２つの画像バッファを含むが、画像キャプチャデバイス２は３つ以上の画像バッファ２６を含むことができる。このようにして、本開示で説明する画像安定化技術は拡張によって３つ以上の画像に適用できる。
【００３０】
バッファ２６は読取り専用メモリ（ＲＯＭ）、電気的消去可能なプログラマブル読出し専用メモリ（ＥＥＰＲＯＭ）、またはＦＬＡＳＨメモリなど、あるいは磁気データ記憶デバイスまたは光学データ記憶デバイスなど、揮発性または不揮発性メモリあるいは記憶デバイスを備えることができる。バッファ２６は、画像センサ４内に存在するものとして図３に示しているが、画像プロセッサ６、画像記憶モジュール８、または画像レジストレーションモジュール９を含む画像キャプチャデバイス２の他のモジュール内など、画像センサ４の外部に存在することができる。
【００３１】
ブロック適応型画像レジストレーションモジュール９は、ブロック分割器２８と動きベクトルモジュール３２および画素平均化モジュール３８を含む。動きベクトルモジュール３２は、それぞれの水平および垂直投影モジュール３０Ａおよび３０Ｂ（「投影モジュール３０」）と動きベクトル外挿器３４および動きベクトル内挿器３６とを含む。ユニットまたはモジュールとしての様々なフィーチャの図は、画像レジストレーションモジュール９の様々な機能的態様を強調するものであり、そのようなユニットまたはモジュールが必ずしも別個のハードウェア、ソフトウェアおよび／またはファームウェア構成要素によって実現されなければならないことを暗示しない。そうではなく、１つまたは複数のユニットまたはモジュールに関連する機能は共通のハードウェア、ソフトウェア構成要素および／またはファームウェア構成要素内に一体化できる。
【００３２】
上述のように、画像センサ４は画像４０Ａおよび４０Ｂ（「画像４０」）をキャプチャし、画像４０をバッファ２６に記憶する。画像レジストレーションモジュール９は、バッファ２６から画像を受け取り、ブロック分割器２８を使用して画像４０の一方または両方を２つ以上の画素のブロックに分割する。ＪＰＥＧ規格の場合、例えばブロック分割器２８は画像の各々を画素の８つの行と画素の８つの列とを含む８×８のブロックに分割することができる。８つの行または列よりも大きい、または小さいブロックも可能である。例えば、ブロック分割器２８は画像の各々を１６×１６のブロック、８×１６のブロック、１６×８のブロックまたは任意のサイズのブロックに分割することができる。
【００３３】
ブロック分割器２８が画像を両方とも分割するとき、画像は一般に同じ方法で分割される。すなわち、ブロック分割器２８は画像の各々を図４Ａおよび図４Ｂに示すブロック構成などの同じブロック構成に分割することができる。図４Ａおよび図４Ｂにさらに示すように、ブロック分割器２８は画像をいくつかの重複ブロックに分割することができる。ブロックは、画像の第１のブロックが例えばキャプチャされた画像の第１の連続するエリアを決定し、画像の第２のブロックがキャプチャされた画像の第２の連続するエリアを決定し、第１の連続するエリアが第２の連続するエリアの少なくとも一部を含んでいる場合、「重複」している。他の態様では、ブロック分割器２８は画像の各々を非重複ブロックに分割することができる。
【００３４】
動きベクトルモジュール３２は、ブロックの各々について動きベクトルを計算する。一態様では、動きベクトルモジュール３２は水平投影、垂直投影または両方を使用してブロックの各々について動きベクトルを計算することができる。水平投影は、ブロックの画素の行の画素値の合計である。垂直投影は、ブロックの画素の列の画素値の合計である。例えば、動きベクトルモジュール３２は各画像のブロックの各々について以下の式に従って水平および垂直投影を決定することができる。
【数１】
2014143702.tif 000003
【００３５】
ここで、ＰＨ(j)はｙ軸に沿った画素ｊの関数としての水平投影を示し、ＰＶ(i)はｘ軸に沿った画素「ｉ」の関数としての垂直投影を示し、Ｉｍ(i,j)は画素「ｉ」および「ｊ」の関数としての画像情報を示す。従って、ＰＨは特定のブロックの画像情報のｘ軸画素値の合計（Σ）である（ｉは変化し、ｊは静的なままであるので）。このようにして動きベクトルモジュール３２は、ブロックの２次元の画像情報から１次元の水平投影ベクトルを生成する。従って、動きベクトルモジュール３２は２次元の８×８のブロックを表す１次元の１６要素の水平投影ベクトルを生成することができる。同様に、ＰＶは水平投影が決定された同じブロックの２次元の画像情報から１次元の垂直投影ベクトルを形成するためのブロックの画像情報、すなわちＩｍ(i,j)のｙ軸画素値の合計（Σ）である（ｉは静的なままであり、ｊは変化するので）。各ブロックは、あらゆるブロックが一連の水平および垂直投影に変換されるまで同じ手順を受ける。
【００３６】
上記のそれぞれの式（１）、式（２）またはブロックの２次元の画像情報を１次元に圧縮できる他の投影様の関数に従って水平および垂直投影ベクトルを決定した後、動きベクトルモジュール３２は投影ベクトルの関数としてブロックの動きベクトルを計算する。一実施形態では、動きベクトルモジュール３２は以下の式に従って動きベクトルを計算する。
【数２】
2014143702.tif 000004
【００３７】
ここで、ＶＨは水平動きベクトル成分を示し、ＶＶは垂直動きベクトル成分を示し、Ｐ１Ｈは第１画像の特定のブロックの水平投影を示し、Ｐ２Ｈは第２画像の対応するブロックの水平投影を示し、Ｐ１ＶおよびＰ２Ｖはそれぞれの第１および第２画像の垂直投影を示す。実際には、式（３）および式（４）は第１および第２画像の対応するブロックから決定される、それぞれの水平投影と垂直投影との間の平均２乗差を決定することによって、ＶＨおよびＶＶを計算する。対応するブロックは、それらのそれぞれの画像中で同じ連続するエリアを決定する任意の２つ以上のブロックとすることができ、各ブロックは異なる画像からの分割である。これらの動きベクトル成分を計算した後、動きベクトルモジュール３２は同じブロックに関係する水平および垂直動きベクトル成分を組み合わせることによって動きベクトルを決定する。従って、各動きベクトルは第１画像のブロックと第２画像中の画素の対応するブロックとの間のオフセットを表す。平均２乗差を使用するものとして上述したが、最大相関／共分散、絶対差の和などの他の技術を動きベクトルを計算するために使用することができる。
【００３８】
動きベクトルモジュール３２は、他の動き推定技術を使用して動きベクトルを計算することができる。例えば、動きベクトルモジュール３２は第１画像の各ブロックについて第１画像のそれぞれのブロックに最も一致するブロックを求めて第２のフレームを探索することができる。動きベクトルモジュール３２は、例えば差分絶対値和（ＳＡＤ）、平均２乗誤差（ＭＳＥ）などの誤差測度（error measure）を使用して第１画像のブロックの２次元のブロック情報を第２画像中のブロックの２次元のブロック情報と比較することができる。動きベクトルモジュール３２は、誤差測定値が最も小さいブロックを選択することができる。しかしながら、２次元のブロックデータを使用する動き推定の計算は、より多くの処理リソースおよび時間を必要とすることがある。
【００３９】
いくつかの態様では、動きベクトルモジュール３２はブロックについて計算された動きベクトルを使用して他のブロックの画素の動きベクトルを決定することができる。動きベクトルモジュール３２は、例えばより詳細に説明するようにいくつかの外挿および内挿技術のいずれかに従って、ブロックの動きベクトルを使用して他のブロックの画素の動きベクトルを計算するために、動きベクトル外挿器３４と動きベクトル内挿器３６とを含むことができる。動きベクトル外挿器３４は、例えば少なくとも他のブロックの画素の一部分の動きベクトルを計算するために、直線外挿、多項式外挿または円錐外挿を使用することができる。同様に、動きベクトル内挿器３６は例えば少なくとも他のブロックの画素の一部分の動きベクトルを計算するために、直線補間、多項式補間またはスプライン補間を使用することができる。このようにして動きベクトルモジュール３２は、画素の動きベクトルを外挿または内挿するために、計算された動きベクトルに直線または曲線を当てはめる。動きベクトル外挿器３４または内挿器３６は、これらの当てはめた直線または曲線に基づいて画像のうちの１つの画像の画素の動きベクトルを決定する。上述のように、動きベクトルは、第１画像の画素と、第２画像中の対応する画素との間のオフセットを表す。本開示では、ブロックの画素の各々について動きベクトルを決定するものとして説明したが、動きベクトルモジュール３２は画素のサブセット、例えば画素のサブブロックのみについて動きベクトルを外挿または内挿することができる。例えば、元のブロックが８×８のブロックである場合、動きベクトルモジュール３２は４つの２×２のサブブロックについて動きベクトルを外挿または内挿することができる。
【００４０】
画素平均化モジュール３８は、画像の両方からの画素値を使用して登録された画像の画素値を計算する。特に、画素平均化モジュール３８は第１のフレームの画素の画素値、例えば強度および／または明度を動きベクトル（すなわち、オフセット）によって示される場所に位置する第２のフレームの対応する画素の画素値、例えば強度および／または明度で平均化する。一態様では、画素平均化モジュール３８は例えば外挿または内挿を使用して決定された個々の画素に関連する動きベクトルを使用して画素平均化を実行することができる。他の態様では、画素平均化モジュール３８はブロックに関連する動きベクトルを使用して画素平均化を実行することができ、すなわちブロックに関連する動きベクトルは第２画像中の対応する画素を特定するために使用される。上述の画像レジストレーション技術を使用して画像をキャプチャすることによって、画像レジストレーションモジュールはいくつかの意図しないカメラ運動のいずれかのために生じるぼけの量を低減することができる。
【００４１】
本開示で説明し、画像レジストレーションモジュール９に起因する機能は、コンピュータ可読媒体に記憶された命令を実行するプログラマブルプロセッサによって実行でき、命令および／またはコードはプロセッサに本開示で説明する画像レジストレーションを実行させる。場合によっては、コンピュータ可読媒体はコンピュータプログラム製品の一部をなすことができ、コンピュータプログラム製品は製造業者に販売でき、および／またはデバイス中で使用できる。代替的に、本開示で説明し、画像レジストレーションモジュール９に起因する技術は、一般にハードウェアに実装でき、特に集積回路内に実装できる。集積回路は、本開示で説明する機能を実行するように構成された少なくとも１つのプロセッサを備える。
【００４２】
図４は、本開示で説明する画像安定化技術を実行する、図３の画像キャプチャデバイス２などの画像キャプチャデバイスの例示的な動作を示す流れ図である。最初に、画像キャプチャデバイス２の画像センサ４は２つ以上の画像をキャプチャし、画像をバッファ２６に記憶する（５０）。上述のように、２つ以上の画像は画像センサ４によって互いに数ミリ秒、またはさらに短い時間期間でキャプチャされた連続する画像とすることができる。例えば、連続する画像は画像プレビュー中にキャプチャできる。ブロック分割器２８は、画像の少なくとも１つを複数のブロックに分割する（５２）。ブロックは重複しても重複しなくてもよく、寸法が変化してもよい。
【００４３】
動きベクトルモジュール３２は、画像のうちの少なくとも１つの画像のブロックの各々について動きベクトルを計算する（５４）。一実施形態では、動きベクトルモジュール３２は１つまたは複数の投影、例えば水平投影、垂直投影または両方のいずれかに基づいて、画像のうちの少なくとも１つの画像のブロックの各々について動きベクトルを計算することができる。特に、動きベクトルモジュール３２は式（３）および式（４）に従って画像の一方または両方の動きベクトルを決定することができる。しかしながら、動きベクトルモジュール３２は他の動き推定技術を使用して動きベクトルを計算することができる。
【００４４】
動きベクトルモジュール３２は、ブロックの計算された動きベクトルの２つ以上を使用してブロックの他の画素の少なくとも一部分の動きベクトルを内挿および／または外挿する（５６）。動きベクトルモジュール３２は、例えば直線補間および／または外挿の場合、計算された動きベクトルを通過する直線を当てはめ、あるいは高次補間および／または外挿の場合、計算された動きベクトルを通過する曲線を当てはめ、当てはめた直線または曲線を使用して画像のうちの１つの画像の他の画素の少なくとも一部分の動きベクトル、例えばオフセットを推定することができる。上で詳細に説明したように、動きベクトルモジュール３２はブロックの画素の各々について、または代替的にブロックの画素のサブブロックについて動きベクトルを外挿または内挿することができる。
【００４５】
画素平均化モジュール３８は、ブロックの画素位置の少なくとも一部分について、画像の両方からの画素情報を使用して登録された画像の画素値を計算する（５８）。特に、画素平均化モジュール３８は第１画像の画素からの画素情報と動きベクトル（すなわち、オフセット）によって示される場所に位置する第２画像の対応する画素からの画素情報とを取得し、登録された画像を生成するために画素情報を平均化する。画素平均化モジュール３８は、第１および第２画像の単純平均化、第１および第２画像の重み付き平均、第１および第２画像の和、または２つ以上の画像の画像情報を組み合わせるための他の技術を使用することができる。上述の画像レジストレーション技術を使用して画像をキャプチャすることによって、画像レジストレーションモジュールは、いくつかの意図しないカメラ運動のいずれかのために生じるぼけの量を低減することができる。
【００４６】
図５Ａ〜図５Ｅは、本開示で説明する画像安定化技術に従って図３の画像キャプチャデバイス２などの画像キャプチャデバイスによってキャプチャされ、記憶され、画像プロセッサ６によって処理された例示的な画像６６Ａおよび６６Ｂ（「画像６６」）の図である。特に、画像センサ４は画像６６をキャプチャし、画像６６をバッファ２６の各々に記憶することができる。画像情報６６は２つの画像として示されているが、説明を簡単にするために、以下の説明の大部分では画像６６Ａを対象とする。ただし、説明は画像６６Ｂに等しく適用可能である。
【００４７】
ブロック分割器２８は、画像６６の一方または両方を画素の２つ以上のブロックに分割する。図５Ａおよび図５Ｂの画像６６Ａに関して示すように、ブロック分割器２８は画像情報をブロック６８Ａ〜６８Ｉ（「ブロック６８」）に分割する。図５Ａおよび図５Ｂに示す例では、ブロック６８は複数の重複ブロックである。しかしながら、本技術は重ならないブロック分割に適用できる。ブロック６８への画像６６Ａの分割は２つの別々の図に示されているが、ブロック６８は単一の画像６６Ａの分割である。言い換えれば、画像６６Ａは９つのブロックに分割される。例えば、図５Ｂのブロック６８Ｆは図５Ｂのブロック６８Ｉおよび６８Ｇならびに図５Ａのブロック６８Ａ、６８Ｂおよび６８Ｅに重なる。同様に、ブロック６８Ｅは図５Ａのブロック６８Ａ〜６８Ｄおよび図５Ｂの６８Ｆ〜６８Ｉに重なる。ブロック分割器２８は、場合によっては同様に画像６６Ｂを分割することができる。
【００４８】
ブロック分割器２８は、上述のいくつかの運動に対してぼけを低減できるようにし、ならびに計算の複雑さを減少させるために、この分割方式を選択することができる。例えば、ブロック分割器２８は９つのブロックへの画像情報６６Ａの分割を選択することによって、水平および垂直（並進）運動に加えて、カメラとシーンの見通し線に接する回転、シーンへ向かう運動またはシーンから離れる運動によって生じるぼけをより容易に検出し、補正することができる。その上、ブロック分割方式は、さらにローリングシャッタを利用する画像キャプチャ技術に関連する運動の結果として生じる画像のぼけ、または他の視覚的アーティファクトを低減できるようにする。画像レジストレーションモジュール９は、ブロック中心７０の散乱された性質のため、そのような動きを検出することができる。
【００４９】
動きベクトルモジュール３２は、図５Ｃに示すようにそれぞれのブロック６８の動きベクトル７２Ａ〜７２Ｉ（「動きベクトル７２」）を決定する。動きベクトルモジュール３２は、上述のようにいくつかの技術のいずれかを使用してブロック６８の各々について動きベクトル７２を計算することができる。図５Ｃに示す例では、それぞれのブロックの動きベクトルは３×３の動きグリッドを形成する。しかしながら、上述のように本技術は２×２またはより大きいグリッドに適用可能である。
【００５０】
動きベクトル７２が決定されると、動きベクトル外挿器３４および内挿器３６は、それぞれ従来の外挿および内挿技術に従って動きベクトル７２に基づいて図５Ｄおよび図５Ｅに示す動きベクトル７４Ａ〜７４Ｋおよび７６Ａ〜７６Ｌを外挿し、内挿する。説明しやすいように、外挿および内挿動きベクトル７４および７６のサブセットのみを示す。外挿および内挿動きベクトル７４および７６は、画像６６内の画素の各行および列について計算できる。言い換えれば、動きベクトルモジュール３２はブロックの各々内の画素の各々について動きベクトルを計算することができる。しかしながら、上述のように本技術を使用してブロックの画素のサブセット、例えばサブブロックのみについて動きベクトルを計算することができる。従って、本発明は図５Ｄおよび図５Ｅに示す動きベクトル７２〜７６の例に限定されるべきではない。
【００５１】
図５Ｄおよび図５Ｅに示す例では、動きベクトル外挿器３４および内挿器３６は、垂直動きベクトルに直線７８Ａおよび７８Ｂを当てはめ(fit)（図５Ｄ）、水平動きベクトルに直線８０を当てはめる（図５Ｅ）ことによって、直線補間および外挿を使用する。しかしながら、上述のように個々の画素について動きベクトルを計算するために、高次補間または外挿技術を使用することができる。従って、二次方程式、スプラインまたは他のタイプの直線当てはめアルゴリズムに従って直線を当てはめることができる。
【００５２】
本明細書で説明した技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施できる。モジュールまたは構成要素として説明するフィーチャは、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装できる。ソフトウェアで実装した場合、これらの技術は、実行されると、上記で説明した方法の１つまたは複数を実行する命令を備えるコンピュータ可読媒体によって少なくとも部分的に実現できる。コンピュータ可読媒体は、パッケージング材料を含むことがある、コンピュータプログラム製品の一部をなすことができる。コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読出し専用メモリ（ＥＥＰＲＯＭ）、ＦＬＡＳＨメモリ、磁気または光学データ記憶媒体などを備えることができる。本技術は、追加または代替として、命令またはデータ構造の形態でコードを搬送または伝達し、コンピュータによってアクセス、読込み、および／または実行できるコンピュータ可読通信媒体によって、少なくとも部分的に実現できる。
【００５３】
コードは、１つまたは複数のＤＳＰ、汎用マイクロプロセッサ、ＡＳＩＣ、フィールドプログラマブル論理アレイＦＰＧＡ、または他の等価な集積またはディスクリート論理回路など、１つまたは複数のプロセッサによって実行できる。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技術の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明する機能を符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供することができ、または複合ビデオエンコーダ／デコーダ（コーデック）に組み込むことができる。従って、本開示はまた、本開示で説明した技術の１つまたは複数を実装する回路を含む様々な集積回路デバイスのいずれかを企図する。そのような回路は、単一の集積回路チップまたは複数の相互運用可能な集積回路チップで提供できる。
【００５４】
様々な技術について説明した。これらおよび他の例示的な態様は以下の特許請求の範囲の範囲内にある。
【図１】
2014143702.tif 000005
【図２】
2014143702.tif 000006
【図３】
2014143702.tif 000007
【図４】
2014143702.tif 000008
【図５Ａ】
2014143702.tif 000009
【図５Ｂ】
2014143702.tif 000010
【図５Ｃ】
2014143702.tif 000011
【図５Ｄ】
2014143702.tif 000012
【図５Ｅ】
2014143702.tif 000013
【手続補正書】
【提出日】平成26年4月2日(2014.4.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
関心シーンの第１画像を画素の複数のブロックに分割することと、
前記複数のブロックの各々について前記第１画像の前記ブロックと前記関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算することと、前記動きベクトルを計算することは、各画像の前記ブロックの各々について以下の式に従って水平および垂直投影を決定し、
【数１】
2014143702.tif 000014
但し、ＰＨ(j)は、ｙ軸に沿った画素ｊの関数としての水平投影を示し、ＰＶ(i)はｘ軸に沿った画素「ｉ」の関数としての垂直投影を示し、Ｉｍ(i,j)は前記画素「ｉ」および「ｊ」の関数としての画像情報を示す、
以下の式に従って前記ブロックの動きベクトルを計算することを含む、
【数２】
2014143702.tif 000015
ただし、ＶＨは水平動きベクトル成分を示し、ＶＶは垂直動きベクトル成分を示し、Ｐ１Ｈは第１画像の特定のブロックの水平投影を示し、Ｐ２Ｈは第２画像の対応するブロックの水平投影を示し、Ｐ１ＶおよびＰ２Ｖはそれぞれの第１および第２画像の垂直投影を示す、
前記画素が属する前記それぞれのブロックの前記動きベクトルに基づいて、前記第１画像の前記ブロックの前記画素の各々の画素値を前記第２画像の対応する画素の画素値で平均化することと、
前記平均化された画素値を記憶することと、
を具備するデジタルを安定化する方法。
【請求項２】
前記複数のブロックの各々について、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の各々について動きベクトルを決定することをさらに具備し、
前記画素値を平均化することは、前記第１画像の前記ブロックの前記画素の各々の前記画素値を前記画素の前記それぞれの動きベクトルによって示される位置での前記第２画像の対応する画素の画素値で平均化することを含む請求項１に記載の方法。
【請求項３】
前記画素の各々について動きベクトルを決定することは、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとに基づいて、外挿と内挿のうちの１つを使用して前記画素の各々について動きベクトルを決定することを含む請求項２に記載の方法。
【請求項４】
前記複数のブロックの各々について、サブブロックが属する前記ブロックについて計算された前記動きベクトルと前記第１画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の前記サブブロックについて動きベクトルを決定することをさらに具備し、
前記画素値を平均化することは、前記第１画像の前記サブブロックの各々の前記画素値を前記サブブロックの前記それぞれの動きベクトルによって示される位置での前記第２画像の対応するサブブロックの画素値で平均化することを含む請求項１に記載の方法。
【請求項５】
動きベクトルを計算することは、
前記複数のブロックの各々について前記ブロックに対する水平投影と垂直投影とのうちの少なくとも１つを計算することと、
前記複数のブロックの各々について前記ブロックに対する前記水平および垂直投影のうちの前記少なくとも１つに基づいて動きベクトルを計算することと、
を含む請求項１に記載の方法。
【請求項６】
前記第１画像と前記第２画像とをキャプチャすることをさらに具備し、前記第１画像と前記第２画像とのうちの少なくとも１つが画像プレビュー中にキャプチャされる請求項１に記載の方法。
【請求項７】
前記第１画像を画素の複数のブロックに分割することは、前記第１画像を画素の複数の重複ブロックに分割することを含む請求項１に記載の方法。
【請求項８】
デジタル画像を安定化するための命令を具備するコンピュータ読み取り可能記録媒体であって、前記命令は、コンピュータに、
関心シーンの第１画像を画素の複数のブロックに分割させるためのコードと、
前記複数のブロックの各々について前記第１画像の前記ブロックと前記関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算させるためのコードと、前記コンピュータに前記動きベクトルを計算させることは、前記コンピュータに、各画像の前記ブロックの各々について以下の式に従って水平および垂直投影を決定させ、
【数３】
2014143702.tif 000016
但し、ＰＨ(j)は、ｙ軸に沿った画素ｊの関数としての水平投影を示し、ＰＶ(i)はｘ軸に沿った画素「ｉ」の関数としての垂直投影を示し、Ｉｍ(i,j)は前記画素「ｉ」および「ｊ」の関数としての画像情報を示す、
以下の式に従って前記ブロックの動きベクトルを計算させるためのコードを含む、
【数４】
2014143702.tif 000017
ただし、ＶＨは水平動きベクトル成分を示し、ＶＶは垂直動きベクトル成分を示し、Ｐ１Ｈは第１画像の特定のブロックの水平投影を示し、Ｐ２Ｈは第２画像の対応するブロックの水平投影を示し、Ｐ１ＶおよびＰ２Ｖはそれぞれの第１および第２画像の垂直投影を示す、
前記画素が属する前記それぞれのブロックの前記動きベクトルに基づいて前記第１画像の前記ブロックの前記画素の各々の画素値を前記第２画像の対応する画素の画素値で平均化するためのコードと、
前記平均化された画素値を記憶するためのコードと、
を具備するコンピュータ読み取り可能記録媒体。
【請求項９】
前記複数のブロックの各々について、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の各々について動きベクトルを決定するためのコードをさらに具備し、
前記画素値を平均化するためのコードは、前記第１画像の前記ブロックの前記画素の各々の前記画素値を前記画素の前記それぞれの動きベクトルによって示される位置での前記第２画像の対応する画素の画素値で平均化するためのコードを含む請求項８に記載のコンピュータ読み取り可能記録媒体。
【請求項１０】
前記画素の各々について動きベクトルを決定するためのコードは、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとに基づいて、外挿と内挿のうちの１つを使用して前記画素の各々について動きベクトルを決定するためのコードを含む請求項９に記載のコンピュータ読み取り可能記録媒体。
【請求項１１】
前記複数のブロックの各々について、サブブロックが属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の前記サブブロックについて動きベクトルを決定することをさらに具備し、
前記画素値を平均化することは、前記第１画像の前記サブブロックの各々の前記画素値を前記サブブロックの前記それぞれの動きベクトルによって示される位置での前記第２画像の対応するサブブロックの画素値で平均化することを含む請求項８に記載のコンピュータ読み取り可能記録媒体。
【請求項１２】
動きベクトルを計算するためのコードは、
前記複数のブロックの各々について前記ブロックに対する水平投影と垂直投影とのうちの少なくとも１つを計算するためのコードと、
前記複数のブロックの各々について前記ブロックに対する前記水平および垂直投影のうちの前記少なくとも１つに基づいて動きベクトルを計算するためのコードと
を含む請求項８に記載のコンピュータ読み取り可能記録媒体。
【請求項１３】
前記第１画像と前記第２画像とをキャプチャするためのコードをさらに具備し、前記第１画像と前記第２画像とのうちの少なくとも１つが画像プレビュー中にキャプチャされる請求項８に記載のコンピュータ読み取り可能記録媒体。
【請求項１４】
前記第１画像を分割するためのコードは、前記第１画像を画素の複数の重複ブロックに分割するためのコードを含む請求項８に記載のコンピュータ読み取り可能記録媒体。
【請求項１５】
デジタル画像を安定化するための装置であって、
関心シーンの第１画像を画素の複数のブロックに分割するブロック分割器と、
前記複数のブロックの各々について前記第１画像の前記ブロックと前記関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算する動きベクトルモジュールと、ここにおいて、前記動きベクトルモジュールは、各画像の前記ブロックの各々について以下の式に従って水平および垂直投影を決定し、
【数５】
2014143702.tif 000018
但し、ＰＨ(j)は、ｙ軸に沿った画素ｊの関数としての水平投影を示し、ＰＶ(i)はｘ軸に沿った画素「ｉ」の関数としての垂直投影を示し、Ｉｍ(i,j)は前記画素「ｉ」および「ｊ」の関数としての画像情報を示す、
以下の式に従って前記ブロックの動きベクトルを計算する、
【数６】
2014143702.tif 000019
ただし、ＶＨは水平動きベクトル成分を示し、ＶＶは垂直動きベクトル成分を示し、Ｐ１Ｈは第１画像の特定のブロックの水平投影を示し、Ｐ２Ｈは第２画像の対応するブロックの水平投影を示し、Ｐ１ＶおよびＰ２Ｖはそれぞれの第１および第２画像の垂直投影を示す、
前記画素が属する前記それぞれのブロックの前記動きベクトルに基づいて前記第１画像の前記ブロックの前記画素の各々の画素値を前記第２画像の対応する画素の画素値で平均化する画素平均化モジュールと、を含む
画像データを処理する画像プロセッサと、
前記平均化された画素値を記憶するメモリと、
を具備する装置。
【請求項１６】
前記動きベクトルモジュールは、前記複数のブロックの各々について、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記第１画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の各々について動きベクトルを決定し、
前記画素平均化モジュールは、前記第１画像の前記ブロックの前記画素の各々の前記画素値を前記画素の前記それぞれの動きベクトルによって示される位置での前記第２画像の対応する画素の画素値で平均化する、請求項１５に記載の装置。
【請求項１７】
前記動きベクトルモジュールは、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとに基づいて、外挿と内挿のうちの１つを使用して前記画素の各々について動きベクトルを決定する請求項１６に記載の装置。
【請求項１８】
前記動きベクトルモジュールは、前記複数のブロックの各々について前記ブロックに対する水平投影と垂直投影とのうちの少なくとも１つを計算し、前記複数のブロックの各々について前記ブロックに対する前記水平および垂直投影のうちの前記少なくとも１つに基づく動きベクトルを計算する請求項１５に記載の装置。
【請求項１９】
前記第１画像と前記第２画像とをキャプチャする画像センサをさらに具備し、前記画像センサは画像プレビュー中に前記第１画像と前記第２画像とのうちの少なくとも１つをキャプチャする請求項１５に記載の装置。
【請求項２０】
前記ブロック分割器は、前記第１画像を画素の複数の重複ブロックに分割する請求項１５に記載の装置。
【請求項２１】
前記装置が無線通信デバイス内に組み込まれており、前記無線通信デバイスは、
前記平均化された画像を符号化する符号化モジュールと、
符号化画像を送信する送信機と、
を含む請求項１５に記載の装置。
【請求項２２】
関心シーンの第１画像を画素の複数のブロックに分割するための手段と、
前記複数のブロックの各々について、前記第１画像の前記ブロックと前記関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算するための手段と、ここにおいて、前記動きベクトルを計算する手段は、各画像の前記ブロックの各々について以下の式に従って水平および垂直投影を決定し、
【数７】
2014143702.tif 000020
但し、ＰＨ(j)は、ｙ軸に沿った画素ｊの関数としての水平投影を示し、ＰＶ(i)はｘ軸に沿った画素「ｉ」の関数としての垂直投影を示し、Ｉｍ(i,j)は前記画素「ｉ」および「ｊ」の関数としての画像情報を示す、
以下の式に従って前記ブロックの動きベクトルを計算する手段を含む、
【数８】
2014143702.tif 000021
ただし、ＶＨは水平動きベクトル成分を示し、ＶＶは垂直動きベクトル成分を示し、Ｐ１Ｈは第１画像の特定のブロックの水平投影を示し、Ｐ２Ｈは第２画像の対応するブロックの水平投影を示し、Ｐ１ＶおよびＰ２Ｖはそれぞれの第１および第２画像の垂直投影を示す、
前記画素が属する前記それぞれのブロックの前記動きベクトルに基づいて前記第１画像の前記ブロックの前記画素の各々の画素値を前記第２画像の対応する画素の画素値で平均化するための手段と、
前記平均化された画素値を記憶するための手段と、
を具備するデジタル画像を安定化する装置。
【請求項２３】
決定手段は、前記複数のブロックの各々について、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の各々について動きベクトルを決定し、
前記平均化手段は、前記第１画像の前記ブロックの前記画素の各々の前記画素値を前記画素の前記それぞれの動きベクトルによって示される位置での前記第２画像の対応する画素の画素値で平均化する、請求項２２に記載の装置。
【請求項２４】
前記決定手段は、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとに基づいて、外挿と内挿のうちの１つを使用して前記画素の各々について動きベクトルを決定する請求項２３に記載の装置。
【請求項２５】
前記決定手段は、前記複数のブロックの各々について、サブブロックが属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの画素の前記サブブロックについて動きベクトルを決定し、
前記平均化手段は、前記第１画像の前記サブブロックの各々の前記画素値を前記サブブロックの前記それぞれの動きベクトルによって示される位置での前記第２画像の対応するサブブロックの画素値で平均化する請求項２２に記載の装置。
【請求項２６】
コンピュータに、請求項１乃至７のうちの１つにしたがう前記方法を実行させるプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
様々な技術について説明した。これらおよび他の例示的な態様は以下の特許請求の範囲の範囲内にある。
なお、以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
関心シーンの第１画像を画素の複数のブロックに分割することと、
前記複数のブロックの各々について前記第１画像の前記ブロックと前記関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算することと、
前記画素が属する前記それぞれのブロックの前記動きベクトルに基づいて、前記第１画像の前記ブロックの前記画素の各々の画素値を前記第２画像の対応する画素の画素値で平均化することと、
前記平均化された画素値を記憶することと、
を具備するデジタル画像データの処理方法。
［Ｃ２］
前記複数のブロックの各々について、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の各々について動きベクトルを決定することをさらに具備し、
前記画素値を平均化することは、前記第１画像の前記ブロックの前記画素の各々の前記画素値を前記画素の前記それぞれの動きベクトルによって示される位置での前記第２画像の対応する画素の画素値で平均化することを含むＣ１に記載の方法。
［Ｃ３］
前記画素の各々について動きベクトルを決定することは、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとに基づいて、外挿と内挿のうちの１つを使用して前記画素の各々について動きベクトルを決定することを含むＣ２に記載の方法。
［Ｃ４］
前記複数のブロックの各々について、サブブロックが属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の前記サブブロックについて動きベクトルを決定することをさらに具備し、
前記画素値を平均化することは、前記第１画像の前記サブブロックの各々の前記画素値を前記サブブロックの前記それぞれの動きベクトルによって示される位置での前記第２画像の対応するサブブロックの画素値で平均化することを含むＣ１に記載の方法。
［Ｃ５］
動きベクトルを計算することは、
前記複数のブロックの各々について前記ブロックに対する水平投影と垂直投影とのうちの少なくとも１つを計算することと、
前記複数のブロックの各々について前記ブロックに対する前記水平および垂直投影のうちの前記少なくとも１つに基づいて動きベクトルを計算することと、
を含むＣ１に記載の方法。
［Ｃ６］
前記第１画像と前記第２画像とをキャプチャすることをさらに具備し、前記第１画像と前記第２画像とのうちの少なくとも１つが画像プレビュー中にキャプチャされるＣ１に記載の方法。
［Ｃ７］
前記第１画像を画素の複数のブロックに分割することは、前記第１画像を画素の複数の重複ブロックに分割することを含むＣ１に記載の方法。
［Ｃ８］
その上に命令を有するコンピュータ可読媒体を具備する、デジタル画像データを処理するためのコンピュータプログラム製品であって、前記命令は、
関心シーンの第１画像を画素の複数のブロックに分割するためのコードと、
前記複数のブロックの各々について前記第１画像の前記ブロックと前記関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算するためのコードと、
前記画素が属する前記それぞれのブロックの前記動きベクトルに基づいて前記第１画像の前記ブロックの前記画素の各々の画素値を前記第２画像の対応する画素の画素値で平均化するためのコードと、
前記平均化された画素値を記憶するためのコードと、
を具備するコンピュータプログラム製品。
［Ｃ９］
前記複数のブロックの各々について、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の各々について動きベクトルを決定するためのコードをさらに具備し、
前記画素値を平均化するためのコードは、前記第１画像の前記ブロックの前記画素の各々の前記画素値を前記画素の前記それぞれの動きベクトルによって示される位置での前記第２画像の対応する画素の画素値で平均化するためのコードを含むＣ８に記載のコンピュータプログラム製品。
［Ｃ１０］
前記画素の各々について動きベクトルを決定するためのコードは、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとに基づいて、外挿と内挿のうちの１つを使用して前記画素の各々について動きベクトルを決定するためのコードを含むＣ９に記載のコンピュータプログラム製品。
［Ｃ１１］
前記複数のブロックの各々について、サブブロックが属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の前記サブブロックについて動きベクトルを決定することをさらに具備し、
前記画素値を平均化することは、前記第１画像の前記サブブロックの各々の前記画素値を前記サブブロックの前記それぞれの動きベクトルによって示される位置での前記第２画像の対応するサブブロックの画素値で平均化することを含むＣ８に記載のコンピュータプログラム製品。
［Ｃ１２］
動きベクトルを計算するためのコードは、
前記複数のブロックの各々について前記ブロックに対する水平投影と垂直投影とのうちの少なくとも１つを計算するためのコードと、
前記複数のブロックの各々について前記ブロックに対する前記水平および垂直投影のうちの前記少なくとも１つに基づいて動きベクトルを計算するためのコードとを含むＣ８に記載のコンピュータプログラム製品。
［Ｃ１３］
前記第１画像と前記第２画像とをキャプチャするためのコードをさらに具備し、前記第１画像と前記第２画像とのうちの少なくとも１つが画像プレビュー中にキャプチャされるＣ８に記載のコンピュータプログラム製品。
［Ｃ１４］
前記第１画像を分割するためのコードは、前記第１画像を画素の複数の重複ブロックに分割するためのコードを含むＣ８に記載のコンピュータプログラム製品。
［Ｃ１５］
デジタル画像データを処理するための装置であって、
関心シーンの第１画像を画素の複数のブロックに分割するブロック分割器と、
前記複数のブロックの各々について前記第１画像の前記ブロックと前記関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算する動きベクトルモジュールと、
前記画素が属する前記それぞれのブロックの前記動きベクトルに基づいて前記第１画像の前記ブロックの前記画素の各々の画素値を前記第２画像の対応する画素の画素値で平均化する画素平均化モジュールと、を含む
前記画像データを処理する画像プロセッサと、
前記平均化された画素値を記憶するメモリと、
を具備する装置。
［Ｃ１６］
前記動きベクトルモジュールは、前記複数のブロックの各々について、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の各々について動きベクトルを決定し、
前記画素平均化モジュールは、前記第１画像の前記ブロックの前記画素の各々の前記画素値を前記画素の前記それぞれの動きベクトルによって示される位置での前記第２画像の対応する画素の画素値で平均化する、Ｃ１５に記載の装置。
［Ｃ１７］
前記動きベクトルモジュールは、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとに基づいて、外挿と内挿のうちの１つを使用して前記画素の各々について動きベクトルを決定するＣ１６に記載の装置。
［Ｃ１８］
前記動きベクトルモジュールは、前記複数のブロックの各々について前記ブロックに対する水平投影と垂直投影とのうちの少なくとも１つを計算し、前記複数のブロックの各々について前記ブロックに対する前記水平および垂直投影のうちの前記少なくとも１つに基づく動きベクトルを計算するＣ１５に記載の装置。
［Ｃ１９］
前記第１画像と前記第２画像とをキャプチャする画像センサをさらに具備し、前記画像センサは画像プレビュー中に前記第１画像と前記第２画像とのうちの少なくとも１つをキャプチャするＣ１５に記載の装置。
［Ｃ２０］
前記ブロック分割器は、前記第１画像を画素の複数の重複ブロックに分割するＣ１５に記載の装置。
［Ｃ２１］
前記装置が無線通信デバイス内に組み込まれており、前記無線通信デバイスは、
前記平均化された画像を符号化する符号化モジュールと、
前記符号化画像を送信する送信機と、
を含むＣ１５に記載の装置。
［Ｃ２２］
関心シーンの第１画像を画素の複数のブロックに分割するための手段と、
前記複数のブロックの各々について、前記第１画像の前記ブロックと前記関心シーンの第２画像中の画素の対応するブロックとの間のオフセットを表す動きベクトルを計算するための手段と、
前記画素が属する前記それぞれのブロックの前記動きベクトルに基づいて前記第１画像の前記ブロックの前記画素の各々の画素値を前記第２画像の対応する画素の画素値で平均化するための手段と、
前記平均化された画素値を記憶するための手段と、
を具備するデジタル画像データを処理する装置。
［Ｃ２３］
決定手段は、複数のブロックの各々について、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの前記画素の各々について動きベクトルを決定し、
前記平均化手段は、前記第１画像の前記ブロックの前記画素の各々の前記画素値を前記画素の前記それぞれの動きベクトルによって示される位置での前記第２画像の対応する画素の画素値で平均化する、Ｃ２２に記載の装置。
［Ｃ２４］
前記決定手段は、前記画素が属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとに基づいて、外挿と内挿のうちの１つを使用して前記画素の各々について動きベクトルを決定するＣ２３に記載の装置。
［Ｃ２５］
前記決定手段は、前記複数のブロックの各々について、サブブロックが属する前記ブロックについて計算された前記動きベクトルと前記画像の他の１つのブロックについて計算された少なくとも１つの他の動きベクトルとを使用して前記ブロックの画素の前記サブブロックについて動きベクトルを決定し、
前記平均化手段は、前記第１画像の前記サブブロックの各々の前記画素値を前記サブブロックの前記それぞれの動きベクトルによって示される位置での前記第２画像の対応するサブブロックの画素値で平均化するＣ２２に記載の装置。
【外国語明細書】
2014143702000001.pdf