(57)【要約】  動画像の手ぶれ補正装置及び方法を開示する。  前記動画像の手ぶれ補正装置は、第１のフレームの入力画像から少なくとも一つの基準マクロブロックを選択し、第２のフレームの入力画像から少なくとも一つの基準マクロブロックに対応する少なくとも一つの探索領域を選択する選択部と、第１のフレームの基準マクロブロックを第２のフレームの探索領域に含まれたそれぞれの探索ブロックに対応させて統計的演算を行う演算部と、統計的演算の結果値を用いて第２のフレームの出力画像を補正するための動きベクトルを算出するベクトル算出部とを含む。したがって、手ぶれによる画像の歪みを効果的に補正しながら演算量は大幅に減少させることができる。
2011520339.tif 000002
【特許請求の範囲】
【請求項１】
第１のフレームの入力画像から少なくとも一つの基準マクロブロックを選択し、第２のフレームの入力画像から前記少なくとも一つの基準マクロブロックに対応する少なくとも一つの探索領域を選択する選択部と、
前記選択部と通信し、前記第１のフレームの基準マクロブロックを前記第２のフレームの探索領域に含まれたそれぞれの探索ブロックに対応させ、統計的演算を行う演算部と、
前記演算部と通信し、前記統計的演算の結果値を用いて前記第２のフレームの出力画像を補正するための動きベクトルを算出するベクトル算出部と、を含むことを特徴とする動画像の手ぶれ補正装置。
【請求項２】
前記少なくとも一つの探索領域は、前記第２のフレームの入力画像の中心から特定距離だけ離れた互いに離隔した多数の領域であることを特徴とする、請求項１に記載の動画像の手ぶれ補正装置。
【請求項３】
前記第１のフレームの基準マクロブロックは前記第１のフレームの探索領域に含まれ、前記第１のフレームの探索領域と前記第２のフレームの探索領域は入力画像で同一の座標に位置することを特徴とする、請求項１に記載の動画像の手ぶれ補正装置。
【請求項４】
前記選択部は、前記第１のフレームの基準マクロブロックのピクセルデータ及び前記第２のフレームの探索領域のピクセルデータをメモリに格納することを特徴とする、請求項１に記載の動画像の手ぶれ補正装置。
【請求項５】
前記演算部は、
前記メモリに格納された前記第１のフレームの基準マクロブロックのピクセルデータをローディングする第１の入力部と、
前記メモリに格納された前記第２のフレームの探索領域のピクセルデータをローディングする第２の入力部と、
前記第１の入力部及び第２の入力部と通信し、前記第１のフレームの基準マクロブロックを前記第２のフレームの探索領域内に含まれたそれぞれの探索ブロックに対応するように垂直又は水平方向に移動させながら前記統計的演算を行って演算マトリックスを算出し、前記算出される演算マトリックスを前記メモリに格納する統計演算部と、を含むことを特徴とする、請求項４に記載の動画像の手ぶれ補正装置。
【請求項６】
前記選択部及び前記演算部と通信し、前記第１のフレームの特定マクロブロックのピクセルデータと、前記第１のフレームの特定マクロブロックと同一の座標に位置する前記第２のフレームのマクロブロックのピクセルデータを演算し、前記演算された情報に基づいて前記演算部による前記統計的演算を制御する制御部をさらに含むことを特徴とする、請求項１に記載の動画像の手ぶれ補正装置。
【請求項７】
前記特定マクロブロックは基準マクロブロックで、
前記制御部は、
前記第１のフレームの基準マクロブロックのピクセルデータと前記第２のフレームの基準マクロブロックのピクセルデータをローディングし、前記第１のフレームの基準マクロブロックと前記第２のフレームの基準マクロブロックとの間のピクセル値の差値をそれぞれのピクセル別に算出する差演算部と、
前記差演算部と通信し、前記差値が予め設定された基準値以上であるピクセルの位置情報を算出する位置情報算出部と、
前記位置情報算出部と通信し、前記第１のフレームの基準マクロブロックの各ピクセルのうち前記算出された位置情報に該当するピクセルのみを対象にして前記統計的演算が行われるように前記演算部を制御する対象制御部と、を含むことを特徴とする、請求項６に記載の動画像の手ぶれ補正装置。
【請求項８】
前記特定マクロブロックは基準マクロブロックで、
前記制御部は、
前記第１のフレームの基準マクロブロックのピクセルデータと前記第２のフレームの基準マクロブロックのピクセルデータをローディングし、前記第１のフレームの基準マクロブロックと前記第２のフレームの基準マクロブロックとの間のピクセル値の差値をそれぞれのピクセル別に算出する差演算部と、
前記差演算部と通信し、前記差値が予め設定された第１の基準値以上であるピクセルの位置情報を算出する位置情報算出部と、
前記差演算部と通信し、前記差値が予め設定された第１の基準値以上であるピクセルが基準マクロブロックで占める比率を算出する比率算出部と、
前記位置情報算出部及び前記比率算出部と通信し、前記算出された比率が予め設定された第２の基準値未満である場合、前記第１のフレームの基準マクロブロックの各ピクセルのうち前記位置情報に該当するピクセルのみを対象にして前記統計的演算が行われるように前記演算部を制御し、前記比率が予め設定された第２の基準値以上である場合、前記第１のフレームの基準マクロブロックの全てのピクセルを対象にして前記統計的演算が行われるように前記演算部を制御する制御部と、を含むことを特徴とする、請求項６に記載の動画像の手ぶれ補正装置。
【請求項９】
前記選択部及び前記演算部と通信し、前記第１のフレームの特定マクロブロックのピクセルデータと、前記第１のフレームの特定マクロブロックと同一の座標に位置する前記第１のフレームの以前のフレームのマクロブロックのピクセルデータを演算し、前記演算された情報に基づいて前記演算部による前記統計的演算を制御する制御部をさらに含むことを特徴とする、請求項１に記載の動画像の手ぶれ補正装置。
【請求項１０】
前記選択部と通信し、外部から第１のフレーム及び第２のフレームの画像をそれぞれ受信してダウンサイジングし、前記ダウンサイジングされた画像の各ピクセル値をグレーレベル値に変換して前記第１のフレームの入力画像及び前記第２のフレームの入力画像をそれぞれ生成する入力処理部をさらに含むことを特徴とする、請求項１に記載の動画像の手ぶれ補正装置。
【請求項１１】
前記入力処理部は、
画像撮影部から前記第１のフレーム及び前記第２のフレームの画像をそれぞれ受信する画像受信部と、
前記画像受信部と通信し、前記受信された第１のフレーム及び第２のフレームの画像の解像度を低下させる入力スケーラ部と、
前記入力スケーラ部と通信し、前記入力スケーラ部によって処理された画像の各ピクセル値をグレーレベル値に変換する情報変換部と、を含むことを特徴とする、請求項１０に記載の動画像の手ぶれ補正装置。
【請求項１２】
外部から第１のフレーム及び第２のフレームの画像をそれぞれ受信し、そのサイズを出力画像のサイズにダウンサイジングする出力スケーラ部をさらに含むことを特徴とする、請求項１に記載の動画像の手ぶれ補正装置。
【請求項１３】
前記出力スケーラ部と通信し、前記算出される動きベクトルを用いて前記出力スケーラ部によってダウンサイジングされる前記第２のフレームの出力画像を補正する補正部をさらに含むことを特徴とする、請求項１２に記載の動画像の手ぶれ補正装置。
【請求項１４】
前記ベクトル算出部は、前記統計的演算を通して算出される演算マトリックスから最小値を有するポイントを検出することによって、前記第２のフレームの探索領域に含まれた探索ブロックのうち整合ブロックの位置情報を算出し、前記算出された整合ブロックの位置情報に基づいて前記動きベクトルを算出することを特徴とする、請求項１に記載の動画像の手ぶれ補正装置。
【請求項１５】
前記ベクトル算出部は、前記演算マトリックスから前記最小値を有するポイントを検出するために、前記演算マトリックスの中心ポイントから螺旋方向にポイントの値を探索する螺旋状探索方式を使用することを特徴とする、請求項１４に記載の動画像の手ぶれ補正装置。
【請求項１６】
第１のフレームの入力画像から少なくとも一つの基準マクロブロックを選択し、
第２のフレームの入力画像から前記少なくとも一つの基準マクロブロックに対応する少なくとも一つの探索領域を選択し、
前記第１のフレームの基準マクロブロックを前記第２のフレームの探索領域に含まれたそれぞれの探索ブロックに対応させて統計的演算を行い、
前記統計的演算の結果値を用いて、前記第２のフレームの出力画像を補正するための動きベクトルを算出することを含むことを特徴とする動画像の手ぶれ補正方法。
【請求項１７】
前記第１のフレームの基準マクロブロックのピクセルデータをローディングし、
前記第１のフレームの基準マクロブロックと同一の座標に位置する前記第２のフレームの基準マクロブロックをローディングし、
前記ローディングされた第１のフレームの基準マクロブロックのピクセルデータ及び前記ローディングされた第２のフレームの基準マクロブロックのピクセルデータを含む情報を演算し、
前記演算された情報に基づいて前記統計的演算を制御することをさらに含むことを特徴とする、請求項１６に記載の動画像の手ぶれ補正方法。
【請求項１８】
前記演算するのは、
前記第１のフレームの基準マクロブロックと前記第２のフレームの基準マクロブロックとの間のピクセル値の差値をそれぞれのピクセル別に算出し、
前記算出された差値を第１の基準値と比較し、
前記算出された差値が第１の基準値以上であるピクセルの位置情報を算出することを含むことを特徴とする、請求項１７に記載の動画像の手ぶれ補正方法。
【請求項１９】
前記統計的演算を制御するのは、
前記第１のフレームの基準マクロブロックの各ピクセルのうち前記位置情報に該当するピクセルのみを対象にして前記統計的演算が行われるように制御することを含むことを特徴とする、請求項１８に記載の動画像の手ぶれ補正方法。
【請求項２０】
前記演算するのは、
前記算出された差値が第１の基準値以上であるピクセルの基準マクロブロックで占める比率を算出し、
前記算出された比率を第２の基準値と比較することをさらに含み、
前記統計的演算を制御するのは、
前記算出された比率を前記第２の基準値と比較した結果情報及び前記算出された位置情報のうち少なくともいずれか一つを使用して前記統計的演算を制御することを含むことを特徴とする、請求項１８に記載の動画像の手ぶれ補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の手ぶれ（Ｗａｖｅｒｉｎｇ）補正装置及び方法に関するもので、より詳細には、手ぶれによる画像の歪みを効果的に補正しながら演算量を大幅に減少させることができる動画像の手ぶれ補正技術に関するものである。
【背景技術】
【０００２】
一般に、デジタルカムコーダ、デジタルカメラなどのようなデジタル画像撮影装置は、１秒当たり１５〜３０フレームのスチールイメージを連続的に撮影し、これをディスプレイ手段、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などを通して表示することによって、ユーザに動画像を見せている。
【０００３】
デジタル画像撮影装置を使用した動画像の撮影時には、デジタル画像撮影装置と接触したユーザの身体の予測不可能な動き又は揺れ（例えばＰａｎｎｉｎｇ＆Ｔｉｌｔｉｎｇ現象）が必ず生じるので、三脚台などの固定手段を使用しない限り、物理的に安定した撮影状態を維持することが難しい。したがって、このような物理的な撮影状態の不安定性は、撮影される画像の歪みを発生させるようになる。
【０００４】
また、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）モジュールを使用するデジタル画像撮影装置、例えば、モバイル端末機などの場合、ローリングシャッター（Ｒｏｌｌｉｎｇ  Ｓｈｕｔｔｅｒ）を押すときの微細な揺れによって画像の歪みが発生することもある。
【０００５】
このような画像の歪みは、被写体の動線に沿って移動するユーザの身体及びデジタル画像撮影装置の動きと揺れによる不安定性の増加によってより深化される。また、１秒当たりに撮影されるフレームの数が少ないほど、フレーム間の動き又は揺れによる補間距離が遠くなるので、ユーザが体感する画像の不安定性はより大きくなる。
【０００６】
したがって、最近は、デジタル画像撮影装置の動画像の手ぶれ補正のための多様な技術が研究されている。例えば、動画像の手ぶれ補正のための従来の技術は、光学式手ぶれ補正技術及び非光学式手ぶれ補正技術などに区分される。
【０００７】
前記光学式手ぶれ補正技術は、動画像の手ぶれ防止のためにＣＭＯＳモジュールを通して入力される画像に対する根本的な振動又は揺れを克服できる装置をデジタル画像撮影装置に適用する技術である。例えば、光学式手ぶれ補正技術は、動画像の撮影時にデジタル画像撮影装置のレンズが動く場合、前記デジタル画像撮影装置のレンズの中心を前記動きの反対方向に物理的に移動させることができるジャイロセンサなどを適用する。
【０００８】
しかしながら、このような光学式手ぶれ補正技術においては、デジタル画像撮影装置に該当の機能のための追加的な装置を備えなければならないので、製品生産費用及び単価の上昇をもたらすという問題があり、製品の大きさの増大によって、小型及び軽量を追及するモバイル端末機に効果的に適用するのに限界がある。
【０００９】
一方、非光学式手ぶれ補正技術は、チップ状態のハードウェア又はソフトウェア水準で撮影された画像を補正する方案である。例えば、動きが発生した撮影画像の動きベクトルを算出し、これに該当する分だけ撮影画像のオフセットなどを調整して画像を補正する。
【００１０】
従来の非光学式動画像の手ぶれ補正技術においては、高速化側面とハードウェアの縮小側面を浮き彫りにするために、演算量の減少及び動き推定技法を開発してきた。しかし、演算量を減少させる方案及びアルゴリズム基盤の動き推定技法によれば、動き推定結果の誤差が発生したり、演算時の所要時間を増加させ、その性能が低下する。
【００１１】
動き推定のＶＬＳＩ（Ｖｅｒｙ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）に対する従来技術は、システムの高速化及び集積化によって多少向上した結果を示しているが、探索領域の範囲が増加するにつれて、処理しなければならない探索領域のデータが徐々に大きくなり、これを処理するために、速い速度を有するとともに小さい面積を占めるハードウェアに対する要求がさらに増大している。
【００１２】
一方、ハードウェアの急速な発達と伴い、小さい面積に対する集積度が向上したとしても、動き推定による探索領域の格納と演算のための局部的なメモリの使用は、大容量のデータを処理するマルチメディアシステムでは避けられない問題である。さらに、動き推定時に使用されるメモリは、フレーム単位であって、その面積が大きく、膨大なデータに対する演算処理速度を増加させるためにバッファを使用し、その結果、必然的にハードウェアの面積が増加するという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明が解決しようとする技術的な課題は、手ぶれによる画像の歪みを効果的に補正しながら演算量を大幅に減少させることができる動画像の手ぶれ補正装置及び方法を提供することにある。
【課題を解決するための手段】
【００１４】
このような技術的課題を解決するための本発明の一側面では、動画像の手ぶれ補正装置を提供する。前記動画像の手ぶれ補正装置は、第１のフレームの入力画像から少なくとも一つの基準マクロブロックを選択し、第２のフレームの入力画像から前記少なくとも一つの基準マクロブロックに対応する少なくとも一つの探索領域を選択する選択部と、前記第１のフレームの基準マクロブロックを前記第２のフレームの探索領域に含まれたそれぞれの探索ブロックに対応させ、統計的演算を行う演算部と、前記統計的演算の結果値を用いて前記第２のフレームの出力画像を補正するための動きベクトルを算出するベクトル算出部とを含む。
【００１５】
前記少なくとも一つの探索領域は、前記第２のフレームの入力画像の中心から特定距離だけ離れた互いに離隔した多数の領域である。前記選択部は、各フレームの基準マクロブロック及び探索領域の各情報をメモリに格納することができる。例えば、前記選択部は、前記第１のフレームの基準マクロブロックのピクセルデータ及び前記第２のフレームの探索領域のピクセルデータなどをメモリに格納することができる。
【００１６】
前記演算部は、前記メモリに格納された前記第１のフレームの基準マクロブロックのピクセルデータをローディングする第１の入力部と、前記メモリに格納された前記第２のフレームの探索領域のピクセルデータをローディングする第２の入力部と、前記第１のフレームの基準マクロブロックを前記第２のフレームの探索領域内に含まれたそれぞれの探索ブロックに対応するように垂直又は水平方向に移動させながら前記統計的演算を行って演算マトリックスを算出し、前記算出される演算マトリックスを前記メモリに格納する統計演算部とを含むことができる。
【００１７】
前記動画像の手ぶれ補正装置は、前記第１のフレームの特定マクロブロックのピクセルデータと、前記第１のフレームの特定マクロブロックと同一の座標に位置する前記第２のフレームのマクロブロックのピクセルデータを演算し、前記演算された情報に基づいて前記演算部による前記統計的演算を制御する制御部をさらに含むこともできる。
【００１８】
前記制御部は、前記第１のフレームの基準マクロブロックのピクセルデータと前記第２のフレームの基準マクロブロックのピクセルデータをローディングし、前記第１のフレームの基準マクロブロックと前記第２のフレームの基準マクロブロックとの間のピクセル値の差値をそれぞれのピクセル別に算出する差演算部と、前記差値が予め設定された基準値以上であるピクセルの位置情報を算出する位置情報算出部と、前記第１のフレームの基準マクロブロックの各ピクセルのうち前記算出された位置情報に該当するピクセルのみを対象にして前記統計的演算が行われるように前記演算部を制御する対象制御部とを含むことができる。
【００１９】
一方、前記制御部は、前記第１のフレームの基準マクロブロックのピクセルデータと前記第２のフレームの基準マクロブロックのピクセルデータをローディングし、前記第１のフレームの基準マクロブロックと前記第２のフレームの基準マクロブロックとの間のピクセル値の差値をそれぞれのピクセル別に算出する差演算部と、前記差値が予め設定された第１の基準値以上であるピクセルの位置情報を算出する位置情報算出部と、前記差値が予め設定された第１の基準値以上であるピクセルが基準マクロブロックで占める比率を算出する比率算出部と、前記算出された比率が予め設定された第２の基準値未満である場合、前記第１のフレームの基準マクロブロックの各ピクセルのうち前記位置情報に該当するピクセルのみを対象にして前記統計的演算が行われるように前記演算部を制御し、前記比率が予め設定された第２の基準値以上である場合、前記第１のフレームの基準マクロブロックの全てのピクセルを対象にして前記統計的演算が行われるように前記演算部を制御する制御部とを含むこともできる。
【００２０】
前記動画像の手ぶれ補正装置は、外部から第１のフレーム及び第２のフレームの画像をそれぞれ受信してダウンサイジングし、前記ダウンサイジングされた画像の各ピクセル値をグレーレベル値に変換して前記第１のフレームの入力画像及び前記第２のフレームの入力画像をそれぞれ生成する入力処理部をさらに含むこともできる。
【００２１】
前記入力処理部は、画像撮影部から前記第１のフレーム及び前記第２のフレームの画像をそれぞれ受信する画像受信部と、前記受信された第１のフレーム及び第２のフレームの画像の解像度を低下させる入力スケーラ部と、前記入力スケーラ部によって処理された画像の各ピクセル値をグレーレベル値に変換する情報変換部とを含むことができる。
【００２２】
前記動画像の手ぶれ補正装置は、外部から第１のフレーム及び第２のフレームの画像をそれぞれ受信し、そのサイズを出力画像のサイズにダウンサイジングする出力スケーラ部をさらに含むこともできる。また、前記動画像の手ぶれ補正装置は、前記算出される動きベクトルを用いて前記出力スケーラ部によってダウンサイジングされる前記第２のフレームの出力画像を補正する補正部をさらに含むこともできる。
【００２３】
前記ベクトル算出部は、前記統計的演算を通して算出される演算マトリックスから最小値を有するポイントを検出することによって、前記第２のフレームの探索領域に含まれた探索ブロックのうち整合ブロックの位置情報を算出し、前記算出された整合ブロックの位置情報に基づいて前記動きベクトルを算出することができる。
【００２４】
前記ベクトル算出部は、前記演算マトリックスから前記最小値を有するポイントを検出するために、前記演算マトリックスの中心ポイントから螺旋方向にポイントの値を探索する螺旋状探索方式を使用することもできる。
【００２５】
一方、上述した本発明の技術的課題を解決するための本発明の他の側面では、 動画像の手ぶれ補正方法を提供する。前記動画像の手ぶれ補正方法は、第１のフレームの入力画像から少なくとも一つの基準マクロブロックを選択し、第２のフレームの入力画像から前記少なくとも一つの基準マクロブロックに対応する少なくとも一つの探索領域を選択し、前記第１のフレームの基準マクロブロックを前記第２のフレームの探索領域に含まれたそれぞれの探索ブロックに対応させて統計的演算を行い、前記統計的演算の結果値を用いて、前記第２のフレームの出力画像を補正するための動きベクトルを算出することを含むことができる。
【００２６】
前記動画像の手ぶれ補正方法は、前記第１のフレームの基準マクロブロックのピクセルデータをローディングし、前記第１のフレームの基準マクロブロックと同一の座標に位置する前記第２のフレームの基準マクロブロックをローディングし、前記ローディングされた第１のフレームの基準マクロブロック及び前記ローディングされた第２のフレームの基準マクロブロックのピクセルデータを演算し、前記演算された情報に基づいて前記統計的演算を制御することをさらに含むこともできる。
【００２７】
前記演算するのは、前記第１のフレームの基準マクロブロックと前記第２のフレームの基準マクロブロックとの間のピクセル値の差値をそれぞれのピクセル別に算出し、前記算出された差値を第１の基準値と比較し、前記算出された差値が第１の基準値以上であるピクセルの位置情報を算出することを含むことができる。この場合、前記統計的演算を制御するのは、前記第１のフレームの基準マクロブロックの各ピクセルのうち前記位置情報に該当するピクセルのみを対象にして前記統計的演算が行われるように制御することを含むことを含むこともできる。
【００２８】
一方、前記演算するのは、前記算出された差値が第１の基準値以上であるピクセルの基準マクロブロックで占める比率を算出し、前記算出された比率を第２の基準値と比較することをさらに含むこともできる。この場合、前記統計的演算を制御するのは、前記算出された比率を前記第２の基準値と比較した結果情報及び前記算出された位置情報のうち少なくともいずれか一つを使用して前記統計的演算を制御することを含むこともできる。
【発明の効果】
【００２９】
以上説明したように、本発明に係る動画像の手ぶれ補正技術によれば、手ぶれによる画像の歪みを効果的に補正しながら演算量を大幅に減少させることができるという長所がある。
【図面の簡単な説明】
【００３０】
【図１】本発明の好適な第１の実施例に係る動画像の手ぶれ補正装置を備えるデジタル画像撮影装置の構成を示すブロック図である。
【図２】前記手ぶれによる歪みの概念を例示的に説明するための例示図である。
【図３】このような手ぶれによる歪みを補正できる動き推定を説明するためのグラフである。
【図４】図１に示されている動画像の手ぶれ補正装置の詳細構成を示すブロック図である。
【図５】図４に示されている入力処理部の構成を示すブロック図である。
【図６】選択部によって選択される探索領域及び基準マクロブロックを説明するための例示図である。
【図７】図４に示されている演算部の構成を示すブロック図である。
【図８】ベクトル算出部によって行われる螺旋状探索の遂行過程を説明するための例示図である。
【図９】本発明の好適な第１の実施例に係る動画像の手ぶれ補正方法を説明するためのフローチャートである。
【図１０】本発明の好適な第２の実施例に係る動画像の手ぶれ補正装置の構成を示すブロック図である。
【図１１】本発明の好適な第２の実施例に係る動画像の手ぶれ補正装置に備えられる制御部の構成を示すブロック図である。
【図１２】図１１に示した制御部の動作を説明するためのフローチャートである。
【図１３】本発明の好適な第３の実施例に係る動画像の手ぶれ補正装置に備えられる制御部の構成を示すブロック図である。
【図１４】図１３に示した制御部の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００３１】
以下、本発明の属する分野で通常の知識を有する者が本発明を容易に実施できるように、本発明の好適な実施例を添付の図面を参照して詳細に説明する。以下で説明する本発明の好適な実施例では、内容の明瞭性のために特定の技術用語を使用する。しかし、本発明は、その選択された特定用語に限定されるものでなく、それぞれの特定用語が類似した目的を達成するために類似した方式で動作する全ての技術同義語を含む。
【００３２】
＜第１の実施例＞
図１は、本発明の好適な第１の実施例に係る動画像の手ぶれ補正装置を備えるデジタル画像撮影装置の構成を示すブロック図である。
【００３３】
図１に示すように、本発明の好適な第１の実施例に係る動画像の手ぶれ補正装置１００は、デジタル画像撮影装置１に備えられる。前記デジタル画像撮影装置１は、例えば、デジタルカムコーダ、画像撮影機能を備えるデジタルカメラ又はモバイル端末機などである。
【００３４】
動画像の手ぶれ補正装置１００は、デジタル画像撮影装置１の画像撮影部１０、メモリ２０及びディスプレイ部３０などと連動することができる。前記画像撮影部１０は、画像を取得して電気的な信号に変換できる装置であって、例えば、ＣＭＯＳモジュール、光学撮像センサなどである。前記メモリ２０は、デジタルデータを格納できる多様な格納手段を意味することができる。また、前記ディスプレイ部３０は、画像を画面上にディスプレイできる装置であって、例えば、ＬＣＤパネルなどを意味することができる。
【００３５】
前記動画像の手ぶれ補正装置１００は、画像撮影部１０からフレーム単位の画像、すなわち、フレーム画像を連続的に受信し、受信されたフレーム画像で手ぶれなどによって発生する歪みを除去するために、前記受信されたフレーム画像を改善された効率的なプロセスを使用して補正した後、補正されたフレーム画像をディスプレイ部３０に伝送することができる。
【００３６】
図２は、前記手ぶれによる歪みの概念を例示的に説明するための例示図で、図３は、このような手ぶれによる歪みを補正できる動き推定を説明するためのグラフである。
【００３７】
図２に示すように、移動客体の実際の動きは、画像撮影部１０を備えるデジタル画像撮影装置１によって撮影された後、ディスプレイ部３０を通してユーザに見せられる。このとき、ディスプレイ部３０を通してディスプレイされる画像は、実際の移動客体の動きのみならず、撮影者の手ぶれなどによって引き起こされる画像撮影部１０の揺れを反映するようになる。
【００３８】
したがって、図３に示すように、デジタル画像撮影装置１は、動画像の手ぶれ補正装置１００を使用して前記実際に動く移動客体などが含まれた画像に動き推定などを使用した補正を反映することによって、良質の画像をディスプレイすることができる。
【００３９】
図４は、図１に示されている動画像の手ぶれ補正装置１００の詳細構成を示すブロック図であって、本発明の好適な第１の実施例に係る動画像の手ぶれ補正装置１００の構成を示している。
【００４０】
図４に示すように、動画像の手ぶれ補正装置１００は、入力処理部１１０、出力スケーラ部１２０、選択部１３０、演算部１４０、ベクトル算出部１５０及び補正部１６０などを含むことができる。前記各構成要素は、それぞれ固有の機能を行うことができ、該当の動作のためにメモリ２０と連動することができる。
【００４１】
以下では、前記動画像の手ぶれ補正装置１００の各構成要素をそれぞれ詳細に説明する。
【００４２】
１．入力処理部１１０
入力処理部１１０は、画像撮影部１０から順次受信されるフレーム画像を処理して各フレームの入力画像を生成し、生成された各フレームの入力画像を選択部１３０に伝送する機能を行うことができる。例えば、入力処理部１１０は、受信されるフレーム画像の解像度を低下させ、画像のスケールを縮小するとともに、縮小画像の各ピクセル値をグレーレベル値に変換することによって、選択部１３０に入力するための入力画像を生成することができる。
【００４３】
図５は、図４に示されている入力処理部１１０の構成を示すブロック図である。
【００４４】
図５に示すように、入力処理部１１０は、画像受信部１１２、入力スケーラ部１１４及び情報変換部１１６などを含むことができる。
【００４５】
前記画像受信部１１２は、画像撮影部１０からフレーム画像を受信することができる。例えば、画像受信部１１２は、画像撮影部１０から撮影される動画像の１番目のフレームの画像から受信し、第Ｎ−１（Ｎは整数）番目のフレーム（以下では、理解の便宜のために以前のフレームという。）の画像、第Ｎ番目のフレーム（以下では、理解の便宜のために現在のフレームという。）の画像などを連続的に受信することができる。このとき、前記受信されるフレーム画像は、例えば、１０２４×７６８個のピクセルで構成される高解像度の画像である。各ピクセルのピクセル値はＹＣｂＣｒデータを含むことができる。
【００４６】
前記入力スケーラ部１１４は、画像受信部１１２によって受信されたフレーム画像をダウンサイジングすることができる。例えば、入力スケーラ部１１４は、画像受信部１１２によって受信された各フレームの画像、例えば、以前のフレームの画像、現在のフレームの画像などの解像度を低下させ、５１２×３８４個のピクセルを有する画像にダウンサイジングすることができる。
【００４７】
前記フレーム画像のサイズを縮小する比率は、実施形態によって多様な応用例が可能である。望ましくは、動きベクトルの算出及びこれを通した補正効果の低下を防止しながら演算効率を高めるために、受信されたフレーム画像の５０％〜７０％程度にサイズを縮小するのが望ましい。
【００４８】
情報変換部１１６は、入力スケーラ部１１４によってダウンサイジングされた画像の各ピクセル値をグレーレベル値に変換する機能を行うことができる。前記画像受信部１１２によって受信されるフレーム画像の各ピクセルは、明度、彩度、色相などの情報を有するが、動きベクトルの算出時には明度情報のみでも充分に動きベクトルを算出することができる。したがって、情報変換部１１２は、各ピクセル値をグレーレベル値に変換する。
【００４９】
画像撮影部１０によって撮影された高解像度のフレーム画像を演算する場合、演算の対象になるピクセルの数が非常に多く、各ピクセルの情報量も非常に大きいので、メモリ２０の使用が多くなり、演算効率も低下するようになる。しかし、前記入力処理部１１０によって処理された入力画像を用いて演算を行う場合、ピクセルの数も少なくなり、各ピクセルの情報量も小さくなるので、メモリ２０の使用を減少させることができ、演算効率も高められるようになる。実際に、元の画像を使用して算出した動きベクトルを用いて出力画像を補正した場合と、前記処理された入力画像を使用して算出される動きベクトルを用いて出力画像を補正した場合との差を実験的に比較した結果、人間が認知できる程度の差はほぼ生じなかった。
【００５０】
２．出力スケーラ部１２０
出力スケーラ部１２０は、画像撮影部１０から順次受信されるフレーム画像を一定の出力画像のサイズに符合するようにダウンサイジングする機能を行うことができる。例えば、出力スケーラ部１２０は、画像撮影部１０から受信された以前のフレームの画像、現在のフレームの画像などをディスプレイ部３０で要求するサイズにダウンサイジングすることができる。
【００５１】
望ましくは、前記出力画像のサイズは前記入力画像のサイズより小さい。例えば、前記入力スケーラ部１１４によってダウンサイジングされた入力画像が５１２×３８４画像であれば、出力スケーラ部１２０によってダウンサイジングされる出力画像は３２０×２４０のサイズを有することができる。
【００５２】
一方、前記出力スケーラ部１２０は、前記出力画像のサイズを設定できるユーザインターフェースを提供し、ユーザによって設定されるサイズに応じて出力画像をリサイジングすることもできる。
【００５３】
３．選択部１３０
選択部１３０は、入力処理部１１０から受信される各フレームの入力画像から少なくとも一つの基準マクロブロック及び各基準マクロブロックに対応する探索領域を選択する機能を行うことができる。各フレームの基準マクロブロックは、該当のフレームの探索領域内の特定マクロブロックである。
【００５４】
画像補正時の手ぶれによる画像の動きは、撮影される被写体の移動と区分されなければならない。したがって、精密かつ正確な補正画像を生成するためには、被写体の移動を除いた手ぶれによる歪みのみを補正しなければならない。通常、動画撮影時には、被写体を画像の中心部分にフォーカシングする場合がほとんどであるので、正確な補正のためには、被写体が存在する確率が稀な背景部分を中心に動きベクトルを算出するのが望ましい。
【００５５】
したがって、前記選択部１３０は、各フレームの入力画像の中心から特定距離だけ離れた互いに離隔した多数の領域を、動きベクトルを算出するための探索領域として選択することができる。
【００５６】
前記探索領域及び基準マクロブロックの位置はユーザによって設定されることもある。例えば、選択部１３０は、探索領域又は基準マクロブロックの座標を設定できるユーザインターフェースを提供し、設定された座標によって探索領域及び基準マクロブロックを選択することができる。一方、前記探索領域及び基準マクロブロックの位置は、動画像の手ぶれ補正装置１００が備えられたデジタル画像撮影装置１のハードウェアリソース又は演算処理能力などによって予め決定されることもある。
【００５７】
図６は、選択部１３０によって選択される探索領域及び基準マクロブロックを説明するための例示図である。
【００５８】
図６に示すように、選択部１３０は、各フレームの入力画像（ＩＡ）の中心から特定距離だけ離れた互いに離隔した４個の探索領域、例えば、探索領域ＳＥ１、ＳＥ２、ＳＥ３、ＳＥ４を選択することができる。それぞれの探索領域は、例えば、１４４×１２０のサイズを有する領域である。
【００５９】
前記選択部１３０は、前記各探索領域が各フレームの出力画像（ＯＡ）のサイズ内に含まれるように選択することができる。例えば、入力画像（ＩＡ）が５１２×３８４のサイズを有する画像で、出力画像（ＯＡ）が３６０×２４０のサイズを有する場合、前記３６０×２４０内に各探索領域、例えば、探索領域ＳＥ１、ＳＥ２、ＳＥ３、ＳＥ４が含まれるように選択するのが望ましい。
【００６０】
選択部１３０は、それぞれの探索領域内で特定座標のマクロブロック、例えば、マクロブロックＤ１、Ｄ２、Ｄ３、Ｄ４を基準マクロブロックとして選択することができる。図６に示した例の場合、前記基準マクロブロックを９６×７２のサイズを有するブロックに設定した。
【００６１】
このように、選択部１３０は、以前のフレームの入力画像が受信されれば、前記以前のフレームの入力画像から探索領域と基準マクロブロックを選択してメモリ２０にそれぞれ格納し、引き続いて、現在のフレームの入力画像が受信されれば、前記現在のフレームの入力画像から探索領域と基準マクロブロックを選択してメモリ２０にそれぞれ格納することができる。このとき、前記メモリ２０は、多数のラインメモリを含むことができる。例えば、前記探索領域、基準マクロブロックなどのピクセルデータはそれぞれのラインメモリに格納される。
【００６２】
一方、本発明では、現在のフレームの動きベクトルを算出するために、以前のフレームの基準マクロブロックと現在のフレームの探索領域を使用する。これは、以下で演算部１４０及びベクトル算出部１５０の構成を通して説明する。
【００６３】
４．演算部１４０
演算部１４０は、現在のフレームの補正のための動きベクトルを算出するのに使用する情報を算出するために、以前のフレームの入力画像から選択された基準マクロブロック（すなわち、以前のフレームの基準マクロブロック）及び現在のフレームの入力画像から選択された探索領域（すなわち、現在のフレームの探索領域）を用いて統計的演算を行い、演算マトリックスを算出する。例えば、演算部１４０は、以前のフレームの基準マクロブロックを現在のフレームの探索領域に含まれたそれぞれの探索ブロックに対応させながら統計的演算を行うことができる。
【００６４】
前記統計的演算は、演算マトリックスを算出するための多様な演算技法、例えば、ＳＡＤ（ｓｕｍ  ｏｆ  ａｂｓｏｌｕｔｅ  ｄｉｆｆｅｒｅｎｃｅ）、ＳＳＤ（ｓｕｍ  ｏｆ  ｓｑｕａｒｅｄ  ｄｉｆｆｅｒｅｎｃｅ）、ＭＳＥ（ｍｅａｎ  ｓｑｕａｒｅｄ  ｅｒｒｏｒ）、ＭＡＥ（ｍｅａｎ  ａｂｓｏｌｕｔｅ  ｅｒｒｏｒ）又はＭＡＤ（ｍｅａｎ  ａｂｓｏｌｕｔｅ  ｄｉｓｔｏｒｔｉｏｎ）などである。前記統計的演算は、動画像の手ぶれ補正装置１００が備えられたデジタル画像撮影装置１の装置仕様を考慮して選択することができ、望ましくは、和と差の演算のみで構成され、速い演算処理が可能なＳＡＤ演算を使用することができる。
【００６５】
図７は、図４に示されている演算部１４０の構成を示すブロック図である。
【００６６】
図７に示すように、演算部１４０は、第１の入力部１４２、第２の入力部１４４及び統計演算部１４６などを含むことができる。
【００６７】
現在のフレームの補正のためのプロシージャで、第１の入力部１４２は、メモリ２０に格納されている以前のフレームの基準マクロブロックのピクセルデータをメモリ２０からローディングする。また、第２の入力部１４４は、メモリ２０に格納されている現在のフレームの探索領域のピクセルデータをメモリ２０からローディングする。
【００６８】
統計演算部１４６は、前記以前のフレームの基準マクロブロックを前記現在のフレームの探索領域に含まれたそれぞれの探索ブロックに対応するように垂直又は水平方向に移動させながら統計的演算（例えば、ＳＡＤ演算など）を行い、演算マトリックス（例えば、ＳＡＤ演算マトリックスなど）を算出することができる。
【００６９】
以下では、このような演算部１４０の動作をより具体的に説明する。まず、理解の便宜のために、基準マクロブロックは５×５のサイズを有するマクロブロックであると仮定し、探索領域は９×９のサイズを有する領域であると仮定する。しかし、これは限定された事項でなく、前記マクロブロックのサイズは９６×７２などのように実施形態によって多様に選択することができ、これと同様に、探索領域のサイズも１４４×１２０などのように実施形態によって多様に選択することができる。
【００７０】
また、基準マクロブロック及び探索領域が多数選択されるとしても、それぞれの統計的演算は同一であるので、一つの基準マクロブロック及び探索領域を用いた統計的演算を例に挙げて説明する。
【００７１】
【表１】
2011520339.tif 000003
【００７２】
表１は、以前のフレームの基準マクロブロックであって、５×５のサイズを有するマクロブロックを示している。ｍ１１、ｍ１２、…、ｍ５５は基準マクロブロック内の各ピクセルを示す。
【００７３】
【表２】
2011520339.tif 000004
【００７４】
表２は、現在のフレームの探索領域であって、９×９のサイズを有する探索領域を示している。ｓ１１、ｓ１２、…、ｓ９９は探索領域内の各ピクセルを示す。
【００７５】
【表３】
2011520339.tif 000005
【００７６】
表３は、表１に示した以前のフレームの基準マクロブロックと表２に示した現在のフレームの探索領域を用いて統計的演算を行う過程を示している。
【００７７】
前記表３に示すように、演算部１４０は、以前のフレームの基準マクロブロックを探索領域内で水平又は垂直に１ラインずつ移動させ、前記基準マクロブロックを探索領域内の各探索ブロックにそれぞれ対応させながら統計的演算を行うことができる。このとき、前記探索ブロックとは、探索領域内で基準マクロブロックが移動するとき、それぞれに対応するブロックを意味する。したがって、前記探索ブロックは基準マクロブロックと同一の大きさを有する。
【００７８】
前記探索領域内で前記基準マクロブロックが移動可能な範囲は水平方向に５ライン、垂直方向に５ラインであるので、前記統計演算部が演算を完了すれば、下記の表４に示したような２５個の演算結果値、すなわち、５×５個のポイントを有する演算マトリックスを算出することができる。このとき、前記演算マトリックスの各ポイントは、基準マクロブロックのピクセルデータとこれに対応する探索ブロックのピクセルデータを用いて統計的演算、例えば、ＳＡＤ演算を行った結果値を意味することができる。
【００７９】
【表４】
2011520339.tif 000006
【００８０】
同一の概念で、現在のフレームの探索領域のサイズが１４４×１２０で、以前のフレームの基準マクロブロックの大きさが９６×７２であると仮定すれば、前記基準マクロブロックは、前記探索領域内で水平に４９ライン、垂直に４９ラインだけ移動することができる。したがって、演算部１４０による統計的演算の結果値は４９×４９のサイズを有する演算マトリックスになる。
【００８１】
このような過程を通して演算マトリックスを算出すれば、演算部１４０は前記演算マトリックスをメモリ２０に格納することができる。例えば、前記演算マトリックスはラインメモリに格納される。
【００８２】
５．ベクトル算出部１５０
ベクトル算出部１５０は、演算部１４０によって算出された統計的演算の結果値、すなわち、演算マトリックスを用いて現在のフレームの出力画像を補正するための動きベクトルを算出する。前記動きベクトルは、前記探索領域に含まれた各探索ブロックのうち前記基準マクロブロックと最も類似した整合ブロックと前記基準マクロブロックの相対的なベクトル値を意味することができる。
【００８３】
前記ベクトル算出部１５０は、前記演算部１４０によってメモリ２０に格納された演算マトリックスを前記メモリ２０からローディングし、前記ローディングされた演算マトリックスから最小値を有するポイントを検出することができる。そして、前記検出されたポイントに対応する探索ブロックを整合ブロックと見なし、その整合ブロックの位置情報を算出した後、算出された位置情報に基づいて動きベクトルを算出することができる。
【００８４】
このようなベクトル算出部１５０は、演算マトリックスから最小値を有するポイントを検出するために、前記演算マトリックスの中心ポイントから螺旋方向にポイントの値を探索していく螺旋状探索方式を使用することができる。
【００８５】
図８は、ベクトル算出部１５０によって行われる螺旋状探索の遂行過程を説明するための例示図である。
【００８６】
図８に示すように、ベクトル算出部１５０は、演算マトリックスから最小値を有するポイントを探すために、演算マトリックスの中心ポイントＣ１から時計方向（又は反時計方向）に回転しながら、その回転半径を広げていく経路を通して探索を行うことができる。
【００８７】
一方、最小値を有するポイントが多数である場合、ベクトル算出部１５０は、中心ポイントＣ１から最も近く位置したポイントを検出し、整合ブロックの位置情報を算出することができる。例えば、図８に示したＢ１は、最小値を有するポイントを示し、Ａ１とＡ２は前記Ｂ１と同一の値を有するポイントを示す。すなわち、Ｂ１、Ａ１、Ａ２と同一の最小値を有する。この場合、ベクトル算出部１５０は、中心ポイントであるＣ１から最も近いＢ１を検出することができる。
【００８８】
６．補正部１６０
補正部１６０は、ベクトル算出部１５０によって算出された動きベクトルを使用して、出力スケーラ部１２０によってダウンサイジングされた現在のフレームの出力画像を補正する機能を行うことができる。
【００８９】
例えば、前記補正部１６０は、モーションベクトル積分法（ＭＶＩ：Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｉｎｔｅｇｒａｔｉｏｎ）などを使用して前記動きベクトルの特性がユーザの意図した動きであるかどうかを判断し、意図していない動き、すなわち、手ぶれなどである場合、出力画像のオフセットなどを調整することによって、前記動きベクトルを出力画像に反映して補正を行うことができる。
【００９０】
以上、本発明の好適な第１の実施例に係る動画像の手ぶれ補正装置１００の構成を説明した。以下では、このような動画像の手ぶれ補正装置１００を用いて補正を行う過程を方法論的に説明する。
【００９１】
図９は、本発明の好適な第１の実施例に係る動画像の手ぶれ補正方法を説明するためのフローチャートであって、現在のフレームの画像を補正するための手順と関連した各段階を重点的に示している。上述したように、現在のフレームの画像を補正するためには、以前のフレームの情報と現在のフレームの情報を使用するようになる。
【００９２】
図９に示すように、動画像の手ぶれ補正装置１００は、まず、画像撮影部から順次受信されるフレーム画像を処理し、各フレームの入力画像を生成することができる（段階：Ｓ１）。
【００９３】
例えば、動画像の手ぶれ補正装置１００は、画像撮影部１０から以前のフレームの画像が受信されれば、受信される以前のフレームの画像をダウンサイジングした後、各ピクセル値をグレーレベル情報に変換することができる。引き続いて、画像撮影部１０から現在のフレームの画像が受信されれば、動画像の手ぶれ補正装置１００は、前記受信される現在のフレームの画像をダウンサイジングした後、各ピクセル値をグレーレベル情報に変換することができる。すなわち、動画像の手ぶれ補正装置１００は、前記入力処理段階（段階：Ｓ１）を通して高解像度のカラー画像をダウンサイジングされた黒白画像（すなわち、各フレームの入力画像）に変換することができる。
【００９４】
引き続いて、動画像の手ぶれ補正装置１００は、前記処理された各フレームの入力画像から探索領域及び基準マクロブロックを選択する（段階：Ｓ２）。
【００９５】
例えば、動画像の手ぶれ補正装置１００は、以前のフレームの入力画像から探索領域及び基準マクロブロックを選択し、選択された以前のフレームの探索領域及び基準マクロブロックのピクセルデータをそれぞれメモリ２０に格納する。引き続いて、動画像の手ぶれ補正装置１００は、現在のフレームの入力画像から探索領域及び基準マクロブロックを選択し、選択された現在のフレームの探索領域及び基準マクロブロックのピクセルデータをメモリ２０に格納することができる。前記格納される各情報のうち以前のフレームの基準マクロブロックのピクセルデータ、現在のフレームの探索領域のピクセルデータなどは、現在のフレームの動きベクトルを算出するための情報として使用されるようになる。
【００９６】
引き続いて、動画像の手ぶれ補正装置１００は、以前のフレームの基準マクロブロックを現在のフレームの探索領域に含まれた各探索ブロックに対応させて統計的演算を行うことができる（段階：Ｓ３）。
【００９７】
例えば、動画像の手ぶれ補正装置１００は、メモリ２０から以前のフレームの基準マクロブロックのピクセルデータをローディングし、メモリから現在のフレームの探索ブロックのピクセルデータをローディングすることができる。データがローディングされれば、動画像の手ぶれ補正装置１００は、前記以前のフレームの基準マクロブロックを現在のフレームの探索領域に含まれたそれぞれの探索ブロックに対応させながら統計的演算を行い、演算マトリックスを算出することができる。そして、前記算出された演算マトリックスをメモリに格納することができる。
【００９８】
次に、動画像の手ぶれ補正装置１００は、前記統計的演算の結果値を用いて動きベクトルを算出することができる（段階：Ｓ４）。例えば、動画像の手ぶれ補正装置１００は、メモリ２０に格納されている前記演算マトリックスをローディングし、前記ローディングされた演算マトリックスから最小値を有するポイントを検出することができる。そして、前記検出されたポイントに対応する探索ブロックを整合ブロックと見なし、その整合ブロックの位置情報を算出した後、算出された位置情報を用いて動きベクトルを算出することができる。
【００９９】
前記動画像の手ぶれ補正装置１００は、上述したように、演算マトリックスから最小値を有するポイントを検出するために螺旋状探索方式を使用することができる。また、探索結果、最小値を有するポイントが多数である場合、その多数のポイントのうち中心ポイントから最も近いポイントを検出することができる。
【０１００】
動きベクトルが算出されれば、動画像の手ぶれ補正装置１００は、前記算出された動きベクトルを用いて出力画像を補正する（段階：Ｓ５）。例えば、動画像の手ぶれ補正装置は、前記算出された動きベクトルの特性がユーザの意図した動きであるかどうかを判断し、意図していない動き、すなわち、手ぶれなどである場合、現在のフレームの出力画像のオフセットなどを調整して現在のフレームの出力画像を補正することができる。このとき、前記現在のフレームの出力画像は、動画像の手ぶれ補正装置１００によって予めリサイジングされた画像であってもよい。
【０１０１】
以上、本発明の好適な第１の実施例に係る動画像の手ぶれ補正装置１００及び方法について詳細に説明した。以下では、本発明の好適な他の実施例として、統計的演算での演算量をより減少できる第２の実施例について説明する。
【０１０２】
＜第２の実施例＞
図１０は、本発明の好適な第２の実施例に係る動画像の手ぶれ補正装置の構成を示すブロック図である。
【０１０３】
図１０に示すように、本発明の好適な第２の実施例に係る手ぶれ補正装置１０１は、上述した入力処理部１１０、選択部１３０、演算部１４０、ベクトル算出部１５０、出力スケーラ部１２０、補正部１６０などと共に、制御部１８０をさらに備えることができる。
【０１０４】
前記制御部１８０は、二つのフレーム、例えば、以前のフレームと現在のフレーム内にそれぞれ含まれた同一の位置のマクロブロック間のピクセル値の差値をピクセル別に算出し、算出された結果に基づいて演算部による統計的演算を制御する機能を行うことができる。
【０１０５】
例えば、制御部１８０は、以前のフレームの探索領域内の特定マクロブロックと、現在のフレームで前記以前のフレームの特定マクロブロックと位置が同一であるマクロブロック間のピクセル値の差値をピクセル別に算出し、前記差値が特定基準値以上であるピクセルを検出し、該当の検出されたピクセルに対してのみ統計的演算が行われるように演算部１４０を制御する機能を行うことができる。
【０１０６】
図１１は、このような制御部の構成を示すブロック図で、図１２は、図１１に示した制御部１８０の動作を説明するためのフローチャートである。
【０１０７】
図１１に示すように、制御部１８０は、差演算部１８２、位置情報算出部１８４及び対象制御部１８６を含むことができる。
【０１０８】
図１１〜図１２を参照すれば、差演算部１８２は、以前のフレームの探索領域内の特定マクロブロックのピクセルデータと、現在のフレームで前記特定マクロブロックと位置が同一であるマクロブロックのピクセルデータをそれぞれメモリからローディングし、各ピクセル間のピクセル値の差値を算出することができる（段階：Ｓ１１）。
【０１０９】
望ましくは、前記特定マクロブロックは基準マクロブロックを意味することができる。例えば、前記差演算部１８２は、以前のフレームの基準マクロブロックのピクセルデータと現在のフレームの基準マクロブロックのピクセルデータをメモリからローディングし、以前のフレームの基準マクロブロックの各ピクセル値から該当のピクセルに対応する現在のフレームのピクセル値を引き算した後、絶対値をとった値を算出することができる。
【０１１０】
本第２の実施例では、上述した第１の実施例と同様に、以前のフレーム及び現在のフレームの入力画像が入力処理部１１０によって黒白画像に変換したと仮定し、それぞれのピクセル値がグレーレベル値であると仮定する。したがって、この場合、前記差値とは、グレーレベルの差値を意味することができる。
【０１１１】
位置情報算出部１８４は、前記差演算部１８２によって算出されたピクセル別のピクセル値の差値を予め設定された基準値と比較し、前記差値が設定された基準値以上であるピクセルの位置情報を算出する（段階：Ｓ１２）。
【０１１２】
対象制御部１８６は、前記算出された位置情報に基づいてピクセルによって統計的演算が選別的に行われるように演算部１４０を制御することができる（段階：Ｓ１３）。例えば、対象制御部１８６は、前記算出された位置情報をメモリ２０に格納し、統計的演算を行うとき、以前のフレームの基準マクロブロックの各ピクセルのうち前記格納された位置情報に該当するピクセルのみを対象にして統計的演算が行われるように演算部１４０を制御することができる。
【０１１３】
以下では、このような構成を有する制御部１８０の動作例を下記の表５〜表８を参照して詳細に説明する。
【０１１４】
【表５】
2011520339.tif 000007
【０１１５】
表５は、以前のフレームの基準マクロブロックの例を示している。表５に示すように、基準マクロブロックは５×５のサイズを有するマクロブロックであると仮定し、各ピクセル値はグレーレベル値を示すものと仮定する。このとき、グレーレベルが０〜２５５の等級、すなわち、８ビットの明度情報を示すことを例示する。
【０１１６】
【表６】
2011520339.tif 000008
【０１１７】
表６は、表５に示した以前のフレームの基準マクロブロックに対応する現在のフレームの基準マクロブロックを示している。前記以前のフレームの基準マクロブロックと現在のフレームの基準マクロブロックは、該当のフレームの入力画像内で同一の座標に位置する。
【０１１８】
制御部１８０は、表５〜表６にそれぞれ示した各情報をメモリ２０からローディングし、例えば、表５に示したマクロブロックの各ピクセル値から表６に示したマクロブロックの各ピクセル値を引き算し、これから絶対値をとることによって、各ピクセル別にグレーレベルの差値を算出することができる。その結果、下記の表７のようなマトリックスが生成される。
【０１１９】
【表７】
2011520339.tif 000009
【０１２０】
表７に示すように、制御部２０は、以前のフレームの基準マクロブロックと現在のフレームの基準マクロブロックの各ピクセル別にグレーレベルの差値を算出することができる。
【０１２１】
制御部２０は、前記算出されたピクセル別の差値を予め設定された基準値と比較し、差値が前記基準値以上である各ピクセルの位置情報を検出する。すなわち、制御部２０は、差値が基準値より大きい場合、該当のピクセルで画像の変化が存在すると見なし、差値が基準値より小さい場合、該当のピクセルで画像の変化がないと見なす。
【０１２２】
例えば、前記基準値が１０に決定される場合、制御部２０は、表７に示した各差値と基準値である１０を比較し、差値が基準値以上である各ピクセルには「１」を付与し、差値が基準値未満である各ピクセルには「０」を付与することができる。その結果、下記の表８に示すようなマトリックス形態の結果値を算出することができる。
【０１２３】
【表８】
2011520339.tif 000010
【０１２４】
表８に示すように、基準マクロブロックでの（２，３）、（３，３）、（４，２）、（４，３）、（４，４）及び（５，４）の座標に該当する各ピクセルは、画像の変化が存在すると判断されたピクセルに該当する。
【０１２５】
制御部１８０は、このような表８に示した形態の位置情報をメモリ２０、例えば、ラインメモリに格納し、演算部１４０によって統計的な演算が行われるとき、前記位置情報に該当する各ピクセルのみを対象にして統計的演算が行われるように制御することができる。
【０１２６】
例えば、演算部１４０は、以前のフレームの基準マクロブロックを探索領域内で水平又は垂直に１ラインずつ移動させ、前記基準マクロブロックを探索領域内の各探索ブロックにそれぞれ対応させながら統計的演算を行うことができる。
【０１２７】
このとき、制御部１８０は、前記位置情報に該当するピクセルに対してのみ、基準マクロブロックのピクセル値及び対応した探索ブロックのピクセル値を用いた統計的演算を行うように前記演算部１４０を制御することができる。このような制御部１８０の制御によって演算部１４０で算出される演算マトリックスは、前記位置情報に該当する各ピクセルのみに統計的演算値が存在し、残りの各ピクセルは、例えば「０」などに設定される。
【０１２８】
例えば、表４に示した演算マトリックスを算出する統計的演算を制御部１８０が表８に示した位置情報によって制御したと仮定すれば、表４に示した演算マトリックスで（２，３）、（３，３）、（４，２）、（４，３）、（４，４）及び（５，４）の座標に該当するＳＡＤ２３、ＳＡＤ３３、ＳＡＤ４２、ＳＡＤ４３、ＳＡＤ４４、ＳＡＤ５３値のみが算出され、残りの座標の各値は０になる。
【０１２９】
以上、本発明の好適な第２の実施例に係る動画像の手ぶれ補正装置１０１及びそれと関連した方法を説明した。以下では、このような第２の実施例において制御部の動作を変形した更に他の実施例について説明する。
【０１３０】
＜第３の実施例＞
まず、本発明の好適な第３の実施例に係る動画像の手ぶれ補正装置は、図１０に示した第２の実施例での構成と同一であるが、制御部の機能が変形される。本第３の実施例での制御部は、以前のフレームの基準マクロブロックと現在のフレームのマクロブロックとの間のピクセル値の差値をピクセル別に算出し、基準マクロブロックで前記差値が第１の基準値以上であるピクセルの比率を算出することができる。そして、その算出された比率が第２の基準値以上である場合のみに実質的に演算部を制御する。
【０１３１】
図１３は、本発明の好適な第３の実施例に係る動画像の手ぶれ補正装置に備えられる制御部の構成を示すブロック図で、図１４は、図１３に示した制御部の動作を説明するためのフローチャートである。
【０１３２】
図１３に示すように、制御部２８０は、差演算部２８２、比率算出部２８６、位置情報算出部２８４及び対象制御部２８８などを含むことができる。
【０１３３】
図１３〜図１４を参照すれば、差演算部２８２は、以前のフレームの基準マクロブロックのピクセルデータと、現在のフレームの基準マクロブロックのピクセルデータをそれぞれメモリ２０からローディングし、各ピクセル間のピクセル値の差値を算出することができる（段階：Ｓ２１）。
【０１３４】
例えば、前記差演算部２８２は、以前のフレームの基準マクロブロックのピクセルデータと現在のフレームの基準マクロブロックのピクセルデータをメモリ２０からローディングし、以前のフレームの基準マクロブロックの各ピクセル値から該当のピクセルに対応する現在のフレームのピクセル値を引き算した後、絶対値をとった値を算出することができる。このとき、算出される差値は、例えば、グレーレベルなどの差値である。
【０１３５】
位置情報算出部２８４は、前記差演算部２８２によって算出されたピクセル別のピクセル値の差値を予め設定された第１の基準値と比較し、前記差値が第１の基準値以上であるピクセルの位置情報を算出する（段階：Ｓ２２）。
【０１３６】
比率算出部２８６は、基準マクロブロックで前記差値が第１の基準値以上であるピクセルが占める比率を算出することができる（段階：Ｓ２３）。例えば、上述した表８に示した例で、マクロブロックのピクセル全体が２５個で、差値が特定基準値以上であるピクセルが６個であるので、前記比率算出部２８６は、前記差値が第１の基準値以上であるピクセルの比率を「２４％」として算出することができる。
【０１３７】
対象制御部２８８は、前記算出された比率を予め設定された第２の基準値と比較する（段階：Ｓ２４）。このとき、前記算出された比率が予め設定された第２の基準値未満である場合、対象制御部２８８は、前記算出された位置情報に基づいて統計的演算が行われるように演算部１４０を制御することができる（段階：Ｓ２５）。例えば、対象制御部２８８は、前記算出された位置情報をメモリ２０に格納し、統計的演算を行うとき、以前のフレームの基準マクロブロックの各ピクセルのうち前記格納された位置情報に該当するピクセルのみを対象にして統計的演算が行われるように演算部１４０を制御することができる。
【０１３８】
一方、前記算出された比率と第２の基準値を比較した結果、前記算出される比率が予め設定された第２の基準値以上である場合、対象制御部２８８は、統計的演算の遂行時に、以前のフレームの基準マトリックスに含まれる全てのピクセルに対して統計的演算が行われるように制御することができる（段階：Ｓ２７）。
【０１３９】
以上、第２の実施例及び第３の実施例を通して、制御部が以前のフレームのマクロブロックと、これと位置が同一である現在のフレームのマクロブロックのピクセル値を演算し、演算部を制御する実施例を説明した。このような制御部の動作によって、演算量を画期的に減少させながら、実際に揺れのある各ピクセルを正確に判別して統計的演算に反映することができる。
【０１４０】
一方、現在のフレームの補正のための統計的演算を制御するために、以前のフレーム（すなわち、第Ｎ−１のフレーム）及び以前のフレームの先行フレーム（すなわち、第Ｎ−２のフレーム）のマクロブロックのピクセル値を演算することもできる。例えば、制御部は、前記先行フレームの基準マクロブロック及び以前のフレームの基準マクロブロックとの間のピクセル値の差値をピクセル別に算出し、前記差値が第１の基準値以上である各ピクセルの位置情報を検出した後、現在のフレームの統計的演算時に、前記位置情報に基づいて統計的演算を制御することもできる。このとき、前記差値が第１の基準値以上である各ピクセルの比率を算出し、これを第２の基準値と比較して制御方式を決定することもできる。
【０１４１】
以上、本発明を好適な実施例を参照して説明したが、該当の技術分野の熟練した当業者であれば、下記の特許請求の範囲に記載した本発明の技術的思想及び領域から逸脱しない範囲内で本発明を多様に修正及び変更して実施できることを理解可能であろう。したがって、本発明の各実施例の変更も本発明の技術に属するものである。
【図１】
2011520339.tif 000011
【図２】
2011520339.tif 000012
【図３】
2011520339.tif 000013
【図４】
2011520339.tif 000014
【図５】
2011520339.tif 000015
【図６】
2011520339.tif 000016
【図７】
2011520339.tif 000017
【図８】
2011520339.tif 000018
【図９】
2011520339.tif 000019
【図１０】
2011520339.tif 000020
【図１１】
2011520339.tif 000021
【図１２】
2011520339.tif 000022
【図１３】
2011520339.tif 000023
【図１４】
2011520339.tif 000024
【国際調査報告】
2011520339.tif 000025
2011520339.tif 000026