(57)【特許請求の範囲】
【請求項１】
複数の連続的な、複数の画素を有するフレームとからなる動画の処理方法であって、
順に、当該複数の連続的なフレームを受信し、当該複数の連続的なフレームを、それぞれ複数のマクロブロックに区分すること、ここで、各マクロブロックに、予め設定された数の画素があり、
現在のフレームにある複数のマクロブロックのうちの一つのマクロブロックを対比ブロックに定義し、当該対比ブロック内の画素と、一つ前のフレームにある、予め設定された数のマクロブロックを含む一つのサーチウィンドウ内の一つのマクロブロック内の映像周縁である画素とにより、絶対偏差の和演算を行って、SAD臨界値を得ること、
当該対比ブロック内の画素と、当該サーチウィンドウ内にある絶対偏差の和演算を行われていないマクロブロック内の画素とにより、絶対偏差の和演算を行って、演算値を得ること、ここで、当該演算値は、当該マクロブロック内の各画素に対して絶対偏差の和演算を行って得られたSAD値を累積することにより得られ、
当該マクロブロック内の各画素に対して絶対偏差の和演算を行って得られたSAD値を累積することにより得られる値が、当該SAD臨界値に等しいかより大きい時、即時に、当該絶対偏差の和演算を中断すること、
当該マクロブロック内の全ての画素について絶対偏差の和演算を行って得られた当該演算値が、当該SAD臨界値より小さい時、当該SAD臨界値を、当該演算値に更新すること
の複数ステップを有する動画の処理方法において、
当該SAD臨界値に対応するマクロブロックに対して、現在のフレームの当該対比ブロックの運動ベクトルを取得することにより、当該複数の連続的なフレームの各対比ブロックの運動ベクトルを取得すること、
当該複数の連続的なフレームの各一つの対比ブロックの運動ベクトルに基づいて、当該複数の連続的なフレーム全ての運動軌跡を得ること、
当該複数の連続的なフレーム全ての運動軌跡を得る場合の各フレームにおいて、当該フレームにおける対比ブロックの運動ベクトルと、当該運動ベクトルから得られる運動軌跡とからなる角度が、予め設定された角度より大きいかを判断すること、
当該フレームにおける対比ブロックの運動ベクトルと、当該運動ベクトルから得られる運動軌跡とからなる角度が、当該予め設定された角度より大きい場合、当該運動軌跡がより平滑的になるように、当該対比ブロックの運動ベクトルを当該運動軌跡に近似させること
の複数ステップを更に有することを特徴とする動画の処理方法。
【請求項２】
当該対比ブロックは、まず、当該サーチウィンドウ内の映像周縁であるマクロブロックに対して、絶対偏差の和演算を行うことを特徴とする請求項１に記載の動画の処理方法。
【請求項３】
当該対比ブロックは、当該サーチウィンドウ内の映像周縁であるマクロブロックに対して絶対偏差の和演算を行った後、当該サーチウィンドウ内の他のマクロブロックに対して、絶対偏差の和演算を行うことを特徴とする請求項１に記載の動画の処理方法。
【請求項４】
ユーザー自身が当該予め設定された角度を設定できることを特徴とする請求項１に記載の動画の処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画の処理方法に関し、特に、絶対偏差の和(以下、SADと称する)を利用する動画の処理方法に関する。
【背景技術】
【０００２】
動画は、多数の静的フレーム(Frame)から組み立てられる。多数の静的映像が順に高速に切り替えられる時、人間の目は、視覚の残像作用により、映像が運動しているように見える。
【０００３】
デジタルカメラにより取得したデジタルビデオストリームに、連続フレームにおいて予期されない運動(UnwantedMotion)が含まれることは、往々にある。予期されない運動は、カメラでビデオを撮影する時の不意の手振りによるものがある。上記の予期されない運動を解消するため、予期されない運動について、光学や機械或いは他の電子手段により、検知して校正する。しかし、上記の手段は、高価で複雑である。また、上記の方法も、特別効果による動画ストリームの予期されない運動を解消できない。動画ストリームを安定させるためのデジタル的な処理方法が開発される。
【０００４】
その処理方法の一つは、絶対値差の計算により動画を処理する方法である。まず、捕獲した二つの映像を減算して絶対値を取得し、その絶対値の合計が、SAD値であり、そして、最小のSAD値に基づいて二つの映像の関係を見つけ、即ち、二つの映像の運動軌跡を見つけ、当該運動軌跡により、二つの映像に対して映像処理をする。
【０００５】
しかしながら、従来のSAD演算方法において、二つの映像の各画素に対して演算するため、演算に膨大な時間が掛かる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、動画を高速処理でき、低コスト化できる動画の処理方法を提供する。
【課題を解決するための手段】
【０００７】
本発明は、動画を処理する動画の処理方法である。動画は、複数の連続的なフレームからなり、また、各フレームに、複数の画素がある。本発明に係わる処理方法は、順に、複数の連続的なフレームを受信し、また、各フレームを複数のマクロブロックに区分する。各マクロブロックには、予め設定された数の画素がある。また、本発明は、現在のフレームにある複数のマクロブロックのうちの一つのマクロブロックを対比ブロックに定義し、そして、当該対比ブロック内の画素と、一つ前のフレームにある、予め設定された数のマクロブロックを含む一つのサーチウィンドウ内の一つのマクロブロック内の映像周縁である画素とにより、SAD演算を行って、SAD臨界値を得る。また、本発明は、当該対比ブロック内の画素と、当該サーチウィンドウ内のSAD演算が行われていないマクロブロック内の画素とにより、SAD演算を行って、演算値を得る。当該演算値は、当該マクロブロック内の各画素についてSAD演算を行って得られたSAD値を累積することにより得られるものである。当該マクロブロック内の各画素に対して絶対偏差の和演算を行って得られたSAD値を累積することにより得られる値が、当該SAD臨界値に等しくなるかより大きい場合、即時に、当該SAD演算を中断する。また、当該マクロブロック内の全ての画素についてSAD演算を行って得られた当該演算値が、当該SAD臨界値より小さい時、当該SAD臨界値を、当該演算値に更新する。
【０００８】
本発明の実施例において、対比ブロックは、サーチウィンドウ内のマクロブロック内にある映像の周縁画素に対してSAD演算を行い、SAD臨界値が得られる。
【０００９】
また、本発明は、更に、当該SAD臨界値に対応するマクロブロックに対して、現在のフレーム中の当該対比ブロックの運動ベクトルを取得することにより、当該複数のフレームの各対比ブロックの運動ベクトルを取得する。また、本発明は、当該複数のフレーム中の各一つの対比ブロックの運動ベクトルに基づいて当該連続的なフレームの運動軌跡を得る。また、本発明は、当該連続的なフレームの運動軌跡を得る場合の各フレームにおいて、当該フレームにおける対比ブロックの運動ベクトルと運動軌跡とからなる角度が、予め設定された角度より大きいかを判断する。当該フレームにおける対比ブロックの運動ベクトルと運動軌跡とからなる角度が、当該予め設定された角度より大きい場合、当該運動軌跡をより平滑にさせるように、当該対比ブロックの運動ベクトルを運動軌跡に近似させる。
【００１０】
好ましくは、上記の予め設定された角度は、ユーザー自身によって設定できる。
【００１１】
本発明において、サーチウィンドウ内のマクロブロックに対してSAD演算を行う時、SAD値の累積値がSAD臨界値より大きければ、即時に演算を中断するため、時間があまり掛からない。また、本発明において、ユーザーにより、対比ブロックの運動ベクトルを校正するかどうかの根拠として、予め設定された角度を設定できるため、本発明は、柔軟に特殊効果による運動ベクトルを処理できる。
【００１２】
以下、図面を参照しながら、より良い実施例を挙げて、本発明について、その目的や特長及び利点を詳しく説明する。
【発明を実施するための最良の形態】
【００１３】
図１は、本発明に係わる動画の処理方法のより良い実施例の工程流れ図である。図１から分かるように、動的なビデオは、複数の連続的なフレームからなり、また、各フレームに、各フレーム上の映像を構成するための複数の画素がある。また、本発明に係わる動画の処理方法は、動的なビデオにおいて、ノイズや外部の要因により、例えば、手振りにより、動画の品質が影響されないように処理する。
【００１４】
図１を参照すると、本発明は、まず、ステップＳ１０１において、複数の連続的なフレームを受信し、当該連続的なフレームにより、一つの動的なビデオが構成される。各フレームが複数の画素を有するため、アレイに配列することができる。そのため、本発明は、ステップＳ１０３のように、各フレームを複数のマクロブロック(MacroBlock)に区分する。また、各マクロブロック内に、第１の予め設定された数の画素がある。
【００１５】
そして、本発明は、ステップＳ１０５において、現在のフレームにあるその一つのマクロブロックを対比ブロックに定義し、また、当該対比ブロック内の画素と、一つ前の一つのフレーム(Pre-Frame)にあるその一つのサーチウィンドウ(SearchingWindow)内のその第１のマクロブロック内の画素とにより、SAD演算を行って、SAD臨界値が得られる。周知のように、サーチウィンドウ内に、第２の予め設定された数のマクロブロックがある。
【００１６】
図２は、現在のフレームと一つ前のフレームとの絶対偏差の和の概念図である。例えば、２０１が現在のフレームで、２０３が一つ前のフレームである。ここで、フレーム２０３をi番目のフレームに定義し、２０１がi-１番目のフレームになる。例えば、i-１番目のフレーム２０１において、対比ブロックとして、マクロブロック２０５を選択する。そのため、本発明において、対比ブロック２０５と、i番目のフレーム２０３にある(即ち、i番目のフレーム２０３の３＊３の配列のような)サーチウィンドウ内の一つのマクロブロック(例えば、マクロブロック２０７である)とにより、SAD演算を行い、SAD臨界値が得られる。また、対比ブロックが、サーチウィンドウ内のマクロブロック内にある映像の周縁画素に対してSAD演算を行う。
【００１７】
更に、図１を参照すると、本発明は、ステップＳ１０５において、SAD臨界値が得られた後、Ｓ１０７へ進む。即ち、対比ブロック内の画素と、サーチウィンドウ内においてSAD演算が行われていないマクロブロックにより、SAD演算を行って、演算値が得られる。SAD演算値は、マクロブロックにある各画素についてSAD演算を行って得られるSAD値を、累積することにより得られる。
【００１８】
特に、本発明において、ステップＳ１０９があり、それは、マクロブロックがSAD演算を行う時、即時に、累積したSAD値が上記のSAD臨界値より大きいかどうかを判断する。例えば、マクロブロックがSAD演算を行う時、本発明は、累積したSAD値がSAD臨界値より大きいか等しいを判断すれば、ステップＳ１１１において、直接にSAD演算を中断するため、残った画素に対してSAD演算を行わない。そのため、本発明は、有効的にSAD演算の時間を短縮できる。
【００１９】
一方、マクロブロックにある全ての画素に対して、SAD演算を行った後、全てのSADの累積値が、即ち、当該マクロブロックのSAD演算値がSAD臨界値より小さいである場合、本発明は、ステップＳ１１３において、SAD臨界値の値を、今回のSAD演算による演算値に更新する。ステップＳ１１１やＳ１１３に続いて、本発明は、ステップＳ１１５において、対比ブロックと、サーチウィンドウ内にある全てのマクロブロックとにより、SAD演算を行ったかを判断する。SAD演算を行っていないマクロブロックがあれば(即ち、ステップＳ１１５においての“ＮＯ”である)、ステップＳ１０７等の流れを繰り返す。
【００２０】
図１に示される流れは、最小のSAD臨界値を見つけるものであり、二つのフレームにおいて、対応するマクロブロックを捜して、対応するマクロブロックの間の運動ベクトルを計算し、図４において、当該ステップついて詳しく説明する。
【００２１】
本発明において、対比ブロックとサーチウィンドウ内のマクロブロックとがSAD演算を行う時、まず、マクロブロックにおいて、明確に映像周縁であるものを選択してSAD演算を行う。例えば、本発明は、まず、マクロブロック内において、映像周縁(Edge)である画素を選択してSAD演算を行う。
【００２２】
図３は、映像とサーチウィンドウの概念図である。図３を参照すると、例えば、フレームにおいて、映像３０１があり、また、サーチウィンドウ３０３が映像の左下角に位置する。本発明において、サーチウィンドウ３０３の位置は、システムによりランダムに選択でき、本発明は、其れについて制限がない。
【００２３】
本発明は、現在のフレームと一つ前のフレームについて、SAD演算を行う時、まず、マクロブロックにある映像周縁の画素を選択してSAD演算を行い、そして、他のマクロブロックについてSAD演算を行う。これにより、本発明は、高速に最小のSAD臨界値を見つけて、処理の速度が速くなる。
【００２４】
図４は、本発明に係わるより良い実施例のフレームの運動軌跡と軌跡フィルタを計算する方法の工程流れ図である。図４を参照すると、本発明は、二つのフレームの間の最小のSAD臨界値が得られた後、ステップＳ４０１において、SAD臨界値に基づいて、各フレームにある対比ブロックの運動ベクトルを取得する。
【００２５】
図５は、対比ブロックの運動ベクトルの概念図である。図５において、５０１が一つ前のフレームで、５０３が一つ後のフレームである。本発明は、最小のSAD臨界値を見つけたら、同一のマクロブロックが二つのフレームにおける位置が見つけられ、また、その運動ベクトルを算出することができ、例えば、運動ベクトル５０５である。
【００２６】
更に、図４を参照すると、本発明は、ステップＳ４０１において、対比ブロックの運動ベクトルを取得してから、ステップＳ４０３へ進む。即ち、各フレームの対比ブロックの運動ベクトルに基づいて、全てのフレームの運動軌跡が得られる。本発明において、運動軌跡を得る目的は、動画を校正するための根拠とし、以下は、それについて、詳しく説明する。
【００２７】
本発明は、運動軌跡が得られた後、ステップＳ４０５で、各フレームにおいて、対比ブロックの運動ベクトルと運動軌跡とからなる角度が、予め設定された角度より大きいかを判断する。k番目のフレームにおいて、対比ブロックの運動ベクトルと運動軌跡とからなる角度が、予め設定された角度より大きいとする。そのため、本発明は、ユーザーがk番目のフレームを撮影する時、フレームに、例えば、手振り等の要因による影響があると判断する。そのため、本発明は、ステップＳ４０７において、問題があるフレームを修正する。即ち、対比ブロックの運動ベクトルが運動軌跡に近似するように、k番目のフレームを修正する。これにより、運動軌跡がより平滑的になり、ユーザーが見る時、より自然的に表現できる。
【００２８】
しかしながら、例えば、特殊な効果を必要とする場合があり、また、動画を撮影する時、大量にビデオカメラを揺れることがある。そのため、本発明は、ユーザー自身が上記の予め設定された角度を設定することを許す。そのため、特殊効果のための運動ベクトルが濾過されることはない。
【００２９】
以上のように、本発明は、少なくとも、以下の利点がある。
【００３０】
１、本発明は、デジタル処理の方式で動画を処理するため、低コスト化ができる。
【００３１】
２、本発明は、SAD演算を行う時、対比ブロックが、まず、サーチウィンドウ内にあるマクロブロック内において、映像周縁である画素についてSAD演算を行い、また、対比ブロックと、サーチウィンドウ内のマクロブロックとにより、SAD演算を行う時、SAD臨界値より大きければ即時にSAD演算を中断するため、演算時間を短縮できる。
【００３２】
３、本発明は、対比ブロックの運動ベクトルと運動軌跡とからなる角度に基づいて動画を校正するため、フレームがより自然的になる。
【００３３】
４、本発明は、ユーザー自身が上記の予め設定された角度を設定できるため、より柔軟的である。
【００３４】
以上は、本発明のより良い実施例であるが、本発明は、それによって制限されず、当分野の当業者であれば、本発明の精神や範囲に従って、等価の変更や修正が簡単にでき、当該変更や修正は、全てが本発明の特許請求の範囲に含まれる。
【図面の簡単な説明】
【００３５】
【図１】本発明に係わる動画の処理方法のより良い実施例の工程流れ図である。
【図２】一つ前のフレームと現在のフレームとの絶対偏差の和の概念図である。
【図３】映像とサーチウィンドウの概念図である。
【図４】本発明に係わるより良い実施例のフレームの運動軌跡と軌跡フィルタを計算する方法の工程流れ図である。
【図５】対比ブロックの運動ベクトルの概念図である。
【符号の説明】
【００３６】
２０１、５０１  現在のフレーム
２０３、５０１  一つ前のフレーム
５０３  一つ後のフレーム
２０５、２０７  マクロブロック
３０１  映像
３０３  サーチウィンドウ
５０５  運動ベクトル
【図１】
0004399742.tif 000002
【図２】
0004399742.tif 000003
【図３】
0004399742.tif 000004
【図４】
0004399742.tif 000005
【図５】
0004399742.tif 000006