JP2004064518A - 動画像符号化方法、動画像符号化装置、およびコンピュータプログラム - Google Patents
動画像符号化方法、動画像符号化装置、およびコンピュータプログラム Download PDFInfo
- Publication number
- JP2004064518A JP2004064518A JP2002221496A JP2002221496A JP2004064518A JP 2004064518 A JP2004064518 A JP 2004064518A JP 2002221496 A JP2002221496 A JP 2002221496A JP 2002221496 A JP2002221496 A JP 2002221496A JP 2004064518 A JP2004064518 A JP 2004064518A
- Authority
- JP
- Japan
- Prior art keywords
- block
- global motion
- motion
- parameter
- global
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】グローバル動きを規定するグローバル動きパラメータを推定する際、画像全体とは異なる動きを持つ局所領域が画像内に存在すると、最適なグローバル動きパラメータを得るまでに時間を要するという問題を解決する。
【解決手段】ブロック毎に参照フレームに対し設定されたグローバル動きパラメータに従って動き補償予測を行い、内部画素の予測画素値および予測誤差を得る(ステップ501,102)。グローバル動き補償予測時の予測誤差パワーとブロック動き推定時に算出したブロック動き補償予測誤差パワーとを比較し、後者が十分小さい場合そのブロックはグローバル動きとは外れた局所領域とみなして、該当ブロック内の画素をパラメータ更新に用いる参照点から除外し(ステップ503)、グローバル動きパラメータの更新を行う(ステップ505)。以上の処理を繰り返して最適なグローバル動きパラメータを得る。
【選択図】 図5
【解決手段】ブロック毎に参照フレームに対し設定されたグローバル動きパラメータに従って動き補償予測を行い、内部画素の予測画素値および予測誤差を得る(ステップ501,102)。グローバル動き補償予測時の予測誤差パワーとブロック動き推定時に算出したブロック動き補償予測誤差パワーとを比較し、後者が十分小さい場合そのブロックはグローバル動きとは外れた局所領域とみなして、該当ブロック内の画素をパラメータ更新に用いる参照点から除外し(ステップ503)、グローバル動きパラメータの更新を行う(ステップ505)。以上の処理を繰り返して最適なグローバル動きパラメータを得る。
【選択図】 図5
Description
【0001】
【発明の属する技術分野】
本発明は、画像全体を幾何変換することでズームやパンなどカメラの動きによる画像全体の変化を一括して補償するグローバル動き補償予測を用いる動画像符号化方法、装置およびそのプログラムに係わり、とくにグローバル動きの幾何変換を表すパラメータであるグローバル動きパラメータの推定方法に関する。
【0002】
【従来の技術】
グローバル動き補償予測を用いた動画像符号化方法は、カメラの動きによる平行移動、拡大縮小、回転といった画面全体の動きを数個のパラメータによって定まる幾何変換として表現するため、適切なシーンに用いることで高い符号化効率を実現できるという特長がある。グローバル動き補償予測で用いられる幾何変換には、平行移動、アフィン変換、透視変換などがある。国際標準符号化方式であるMPEG−4では、動画像シーケンスの最初に静止画像を符号化し、フレーム毎にグローバル動きパラメータを用いて画像全体の動きを補償することで動画を再構成するスプライトという技法が用いられている。また、符号化単位となるブロックに対し平行移動を表す動きベクトルを用いて動き補償を行うブロック動き補償予測と、グローバル動き補償予測とを、ブロック毎に切り替えて符号化する方法もあわせて記載されている。
【0003】
グローバル動き補償予測を用いて動画像を符号化する場合、グローバル動きパラメータを推定する必要がある。従来よりグローバル動きを算出する方法としては、符号化単位となるブロック毎の動きを平行移動によって補償するための動き情報である動きベクトルを用いるものがある。すなわち最小二乗法などの方法を用いることで、複数の動きベクトルを統合するグローバル動きパラメータを生成する。特開2000−278694、特開2000−102019、特開平09−266574、特開平08−242454はいずれも、この方法に準じた技術である。しかし、平行移動のみによってマッチングを行うブロックの動きベクトルをもとにしたグローバル動き推定は、ズームや回転などの動きに対して十分な精度を有さないといった問題があった。それに対して近年、画素毎の予測誤差や近接との画素値勾配に基づいて予測誤差パワーが最小になるよう更新処理を繰り返し行うことで、グローバル動きパラメータを算出する方法が用いられている。以下に、従来方法として、このグローバル動き推定方法について説明する。
【0004】
図4は、IEEE Transactions on Image Processing,vol.9,no.3,March 2000,”Efficient,Robust,and Fast Global Motion Estimation for Video Coding”に記載のグローバル動き推定処理の流れを記すフローチャートである。まず現在フレームおよびフレームメモリに格納されている参照フレームに対し、解像度が1/2,1/4の縮小画像を生成する(ステップ401)。初期値を設定した後(ステップ402)、グローバル動きパラメータ算出処理(ステップ405)を解像度の小さい画像から大きい画像へと繰り返し行うことで、最適なグローバル動きパラメータを得る。
このうち、グローバル動きパラメータ算出処理について図7を用いて詳説する。まず参照フレームに対してグローバル動き補償予測を行い、画像内の各画素の予測画素値を算出し(ステップ701)、現在フレーム上の画素値との予測誤差を算出する(ステップ702)。その後、予測誤差パワーの大きい画素を参照点から除外する(ステップ703)。除外される画素は、予測誤差パワーをソートした際、上位a%に含まれるものとする。全画素について予測誤差が求まった後(ステップ704)、グローバル動きパラメータ更新に用いる画素である参照点の予測画素値および予測誤差を参照して画像全体の予測誤差パワーが減少する方向にグローバル動きパラメータを更新する(ステップ705)。このときパラメータが収束条件を満たしていれば、更新処理は終了する(ステップ706)。
【0005】
【発明が解決しようとする課題】
前記従来方法においては、グローバル動きパラメータを算出するのに用いる参照点の判定基準は画素分布や動きの複雑度にかかわらず一意に決まっている。そのため本来グローバル動きで補償できない画素を参照しうる。繰り返し処理によって最適なパラメータ推定を行う場合には、モデルにマッチしない局所的なずれ、すなわち統計的ゆらぎが存在するほど、最適値に収束するまでに時間を要する。従来の方法では、画像内に局所的な動きを持つ領域が存在するほど、演算量が増大するといった問題があった。
【0006】
【課題を解決するための手段】
本発明に示す動画像符号化方法によれば、前記従来方法におけるグローバル動きパラメータ算出処理について、ブロック毎にグローバル動き補償時の予測誤差パワーとブロック動き補償予測誤差パワーとを比較し、後者が十分小さい場合当該ブロック内画素をグローバル動きから外れた局所領域とみなし、グローバル動きパラメータ更新に用いる参照点から除外する。
具体的には、本発明によれば以下に掲げるような動画像符号化方法が得られる。すなわち、本発明によれば、連続するフレームからなる動画像に対し、参照フレームを幾何変換することで画面全体の動きを一括して補償するグローバル動き補償予測と、ブロック単位の動きを平行移動によって補償するブロック動き補償予測とを、ブロック毎に切り替えて符号化を行う第1の動画像符号化方法として、ブロック毎に参照フレームと現在フレームの間の平行移動情報を表す動きベクトルを推定するとともに、ブロック動き補償予測誤差パワーを算出するブロック動き推定処理と、前記参照フレームと現在フレームの間のグローバル動きを記述するグローバル動きパラメータを算出するグローバル動き推定処理と、前記動きベクトルと前記グローバル動きパラメータのいずれか一方を参照して動き補償フレーム間予測を行い、現在フレームにおけるブロック内画素を符号化するブロック符号化処理とを備え、グローバル動き推定処理が、前記ブロック動き推定処理によって算出されたブロック動き補償予測誤差パワーをもとにグローバル動きパラメータ推定に用いる画素を限定することを特徴とする動画像符号化方法が得られる。
【0007】
さらに、本発明によれば、第2の動画像符号化方法として、前記第1の動画像符号化方法において、グローバル動き推定処理が、現在フレームおよび参照フレームをそれぞれ階層的に縮小し、複数組の縮小現在フレームと縮小参照フレームを生成する縮小画像生成処理と、ブロック動き推定処理の算出した一つ以上の動きベクトルを参照し、最小解像度の画像に合わせて推定したグローバル動きパラメータを初期グローバル動きパラメータとして設定する初期値設定処理と、前記複数組の縮小現在フレームと縮小参照フレーム、もしくは前記現在フレームと前記参照フレームを段階的に参照し、画像の解像度に合わせて順次高精度化したグローバル動きパラメータを算出するグローバル動きパラメータ算出処理とを備えることを特徴とする動画像符号化方法が得られる。グローバル動きパラメータ算出処理は、まず最も解像度の小さい前記縮小現在フレームと前記縮小参照フレームに対し、前記初期値設定処理で得られた初期グローバル動きパラメータをもとに最適なグローバル動きパラメータを算出した後、次に大きいフレームの解像度にあわせて前記最適なグローバル動きパラメータを変換し、それを初期グローバル動きパラメータとしてグローバル動きパラメータ算出処理を繰り返し行う。
【0008】
また、本発明によれば、第3の動画像符号化方法として、前記第1の動画像符号化方法において、ブロック符号化処理が、動きベクトルとグローバル動きパラメータを参照し、ブロック動き補償予測とグローバル動き補償のいずれかを選択して予測画像を生成し、現在フレームとの差分信号を符号化することを特徴とする動画像符号化方法が得られる。
【0009】
また、本発明によれば、第4の動画像符号化方法として、前記第1の動画像符号化方法において、ブロック動き推定処理が、全ブロックのブロック動き補償予測誤差パワーをメモリに保持し、グローバル動き推定処理が前記メモリに保持されたブロック動き補償予測誤差パワーを参照してグローバル動きパラメータ推定に用いる画素を限定することを特徴とする動画像符号化方法が得られる。
【0010】
さらに本発明によれば、第5の動画像符号化方法として、前記第2の動画像符号化方法において、グローバル動きパラメータ算出処理が、設定された初期グローバル動きパラメータを参照し、画素毎に予測画素値を生成する予測画素値算出処理と、前記予測画素と対応する現在フレームの画素値との差分を算出する差分信号算出処理と、前記差分信号よりブロック毎にグローバル動き補償予測誤差パワーを算出し、同一ブロックのブロック動き補償予測誤差パワーと比較して、ブロック動き補償予測の方が予測効率に優れているブロックの画素をグローバル動きパラメータ推定に用いる参照点から除去する参照点限定処理と、画像内の全参照点における予測画素値および差分信号を元に、グローバル動きパラメータを更新するグローバル動きパラメータ更新処理と、前記差分信号と前記更新されたグローバル動きパラメータのいづれか、もしくは双方があらかじめ定められた条件を満たす場合にグローバル動き推定処理を終了し、そうでない場合には前記差分信号算出処理に立ち戻って一連の推定処理を続けるパラメータ収束判定処理とを備えることを特徴とする動画像符号化方法が得られる。
【0011】
また、本発明によれば、第6の動画像符号化方法として、前記第2の動画像符号化方法において、初期値設定処理が、ブロック動き推定処理の算出した動きベクトルの全体もしくは一部の平均ベクトルをグローバルな動きとみなし、グローバル動きパラメータを決定することを特徴とする動画像符号化方法が得られる。
【0012】
また、本発明によれば、第7の動画像符号化方法として、前記第2の動画像符号化方法において、初期値設定処理が、ブロック動き推定処理の算出した動きベクトルの全体もしくは一部について、対応するブロックの重心を平行移動した座標とグローバル動きに従って幾何変換した座標との距離が最小となるよう、グローバル動きパラメータを設定することを特徴とする動画像符号化方法が得られる。
【0013】
さらに、本発明によれば、第8の動画像符号化方法として、前記第5の動画像符号化方法において、参照点限定処理において、ブロック動き補償予測誤差パワーよりも、対応するグローバル動き補償予測誤差パワーが大きく、かつ、両者の差がある閾値より大きい場合に、該ブロック内画素を参照点から除去することを特徴とする動画像符号化方法が得られる。
【0014】
また、本発明によれば、第9の動画像符号化方法として、前記第5の動画像符号化方法において、予測画素値算出処理が、グローバル動きパラメータに従って画像内の各画素の座標に幾何変換をほどこし、得られた座標が整数値をとる場合には同位置における参照フレーム上の画素値を出力し、そうでない場合には参照フレーム上で近傍にある複数の画素値をもとに内挿処理を行い得られた画素値を出力することを特徴とする動画像符号化方法が得られる。
【0015】
また、本発明によれば、第10の動画像符号化方法として、前記第5の動画像符号化方法において、パラメータ更新処理が、参照点の予測画素値におけるx方向およびy方向の勾配とグローバル動きパラメータによる幾何変換の関係から、予測画素値とグローバル動きパラメータとの偏微分量を算出し、参照点全体の予測誤差パワーが減少する方向にグローバル動きパラメータを変動させることを特徴とする動画像符号化方法が得られる。
【0016】
また、本発明によれば、第11の動画像符号化方法として、前記第5の動画像符号化方法において、パラメータ収束判定処理が更新後パラメータの変動量がある閾値以下の場合にグローバル動き推定処理を終了することを特徴とする動画像符号化方法が得られる。
【0017】
なお、これらの動画像符号化方法は、例えば、プロセッサと記憶手段とを備えたコンピュータシステム上においてプロセッサにより実行させることによりコンピュータシステムを動画像符号化装置として動作させるようなコンピュータプログラムの形式にて実現させることができ、また、当該コンピュータプログラムを予め記憶手段に格納したようなコンピュータシステムからなる動画像符号化装置としても実現することができる。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態による動画像符号化方法およびそれを実現した動画像符号化装置について図面を用いて詳細に説明する。
本発明の実施の形態による動画像符号化装置は、図1に示されるように、プロセッサ11、記憶部12、I/Oインターフェース13を備えており、それらはパスを介して互いに接続されている。ここで、記憶部12は、プロセッサ11が実行すべき動画像符号化プログラムを格納していると共に、プロセッサ11が動画像符号化プログラムを実行中の一時記憶としての役割も果たす。なお、この「記憶部」という語は、本明細書において、RAMなどの主記憶の他、現在販売されているCPU(MPU)に含まれるキャッシュメモリやプロセッサ11に含まれるレジスタ、更には、ハードディスク装置など、あらゆる記憶装置を示すものとして用いられる。また、本実施の形態において、I/Oインターフェース13は、プロセッサ11の制御に応じて入力画像を入力したり出力となる符号化データを出力するための媒介手段である。ただし、このI/Oインターフェース13の存在は、他のプログラムにより求められた入力画像を一旦記憶部12に格納し、それを記憶部12から読み出すことで、本実施の形態による動画像符号化方法を実行することを妨げるものではない。
【0019】
以下に、本実施の形態による動画像符号化方法、即ち動画像符号化装置の動作について説明する。なお、本実施の形態による動画像符号化装置の動作は、プロセッサ11が記憶部12に格納された動画像符号化プログラムを実行することにより、実現されるものであるので、以下においては説明を明瞭にするため、動作主体については逐一言及することなくその動作のみに着目して説明することとする。
図2は、動画像符号化方法における処理の流れを示すフローチャートである。図2によると、動画像符号化方法は、ブロック動き推定処理(ステップ201)と、グローバル動き推定処理(ステップ202)と、ブロック符号化処理(ステップ204)とからなる。すなわち、まず始めに、入力となる現在フレームとフレームメモリに格納された参照フレームとを参照してブロック動き推定処理(ステップ201)が行われ、ブロック毎の動きベクトルが得られる。次いで、入力となる現在フレームとフレームメモリに格納された参照フレームとを参照してグローバル動き推定処理(ステップ202)が行われ、グローバル動きパラメータが得られる。その後、画像内先頭ブロックより(ステップ203)順次ブロック符号化処理を行う(ステップ204)。最終ブロックのブロック符号化処理が終了した時点で、1フレームの符号化は終了する(ステップ205)。
【0020】
ブロック動き推定処理について、さらに詳しく説明する。図3は、ブロック動き推定処理の流れを示すフローチャートである。ブロック動き推定は3段階の探索処理によって行われる。まず、解像度を1/2に縮小した現在フレームと参照フレームを生成し(ステップ301)、これら縮小画像について8x8のブロック(もとの解像度で16x16)毎に1画素精度で(もとの解像度で2画素精度)マッチングを行い動きベクトルを得る(ステップ302)。次に、もとの現在フレームと参照フレームを参照し、先に得られた動きベクトルの周囲で16x16のブロック毎に1画素精度でマッチングを行い動きベクトルを再生成する(ステップ303)。最後にもとの現在フレームと参照フレームとを参照し、先に得られた動きベクトルの周囲で16x16のブロック毎に半画素精度でマッチングを行い動きベクトルを再生成する(ステップ304)。同時に、1/2の縮小画像に対する1段階目の探索ともとの解像度の画像に対する3段階目の探索について、各ブロックの予測誤差パワーをメモリに格納する。予測誤差パワーとして差分絶対値和もしくは差分二乗和が用いられる。なおここでは3段階の探索処理を例に示したが、1画素精度の動きベクトル探索から始める2段階探索処理や、多段階に行わず最初から半画素精度の探索を用いてもよい。一般に探索の階層数を増すほど演算量が少なくてすむが、探索結果が局所最適に陥り動き補償の予測効率が低下する恐れがある。
【0021】
次にグローバル動き推定処理についてさらに詳しく説明する。図4は、グローバル動き推定処理の流れを示すフローチャートである。グローバル動きパラメータの推定は、解像度を1/4に縮小した現在フレームと参照フレーム、解像度を1/2に縮小した現在フレームと参照フレーム、もとの現在フレームと参照フレーム、といったように3段階に分けて行う。まず、それぞれの画像を生成する(ステップ401)。実際には、1/2の縮小画像はブロック動き推定処理のステップ301で生成しているので、それを再利用する。次にグローバル動きパラメータ推定のための初期値パラメータを設定する(ステップ402)。ブロック動き推定処理によって得られた各ブロックの動きベクトルを参照してグローバル動きパラメータを推定し、1/4の解像度にあわせて変換したものを初期グローバル動きパラメータとする。動きベクトルを用いたグローバル動きパラメータ推定方法として、ブロック毎の動きベクトルの平均をグローバル動きに設定する、というものがある。ほかに、ブロック毎の動きベクトルについて、対応するブロックの重心を平行移動した座標とグローバル動きに従って幾何変換した座標との距離が最小となるよう、グローバル動きパラメータを設定する、といった方法が用いられる。なお、グローバル動きパラメータ推定に用いる動きベクトルの選択方法として、画像内全ブロックを対象にする他に、前フレームにおいて推定された最終的なグローバル動きパラメータによって定まるブロック毎の動きとの距離がある閾値以下となる動きベクトルに限定する、内部画素の複雑度がある閾値以上となるブロックの動きベクトルに限定する、画像の中心よりも境界に近いブロックを優先するなど画像内のブロックの位置に応じて動きブロックを選択する、といった方法がある。
【0022】
初期グローバル動きパラメータを設定した後、現在フレームと参照フレームの縮小画像のうち最も解像度の小さいものを(ステップ404)パラメータ推定の対象となる画像に設定し(ステップ405)、グローバル動きパラメータ算出処理を行う(ステップ406)。対象がもとの現在フレームと参照フレームである場合には(ステップ407)、グローバル動き推定処理を終了し、そうでない場合には対象画像を次に解像度の大きい現在フレームと参照フレームの縮小画像に設定する(ステップ408)と同時に、ステップ406で得られたグローバル動きパラメータを解像度の違いに従って変換したものを初期グローバル動きパラメータとして、グローバル動きパラメータ算出処理(ステップ406)を繰り返し行う。なお図4の実施例では1/4、1/2の縮小画像およびもとの画像と三段階の処理でグローバル動きパラメータを推定したが、本発明は任意の階層数について適用可能である。すなわち、1/8の縮小画像からグローバル動きパラメータ推定処理をスタートさせても、もとの解像度の画像のみを用いて推定処理を行ってもよい。
【0023】
次にグローバル動きパラメータ算出処理についてさらに詳しく説明する。図5は、グローバル動きパラメータ算出処理の流れを示すフローチャートである。まず画像内の各ブロックについて、参照フレームに対してグローバル動き補償予測を行い、ブロック内画素の予測画素値を得る(ステップ501)。予測画素値の算出方法としては、グローバル動きパラメータに従って画素の座標に幾何変換を施し、得られた座標が整数値を取る場合には同位置にある参照画素上の画素値を用い、そうでない場合には参照画像上で近傍にある複数の画素値をもとに内挿処理を行う。また、現在フレーム上で同一位置にある画素の画素値から得られた予測画素値を減算し予測誤差を得る(ステップ502)。次に該ブロックにおけるグローバル動き補償時の予測誤差パワーを算出し、ブロック動き推定処理で得られたブロック動き補償予測誤差パワーと比較して、グローバル動きパラメータ更新に用いる参照点の限定を行う(ステップ503)。グローバル動き補償予測誤差パワーがブロック動き補償予測誤差パワーよりも大きく、かつ、その差がある閾値以上ある場合、該当ブロック内画素を参照点から除外する。以上の処理を全ブロックについて行った後、参照点の予測画素値および予測誤差をもとに、グローバル動きパラメータを更新する(ステップ505)。参照点毎に、予測画素値のx方向およびy方向の勾配とグローバル動きパラメータによる幾何変換との関係から予測画素値とグローバル動きパラメータとの偏微分量を算出し、Gauss−Newton法や最急降下法といった最小化方法に従って全参照点の予測誤差パワーの和が減少する方向にグローバル動きパラメータを変動させる。パラメータが収束条件を満たしていれば、更新処理を終了させる(ステップ506)。収束条件としては、パラメータ更新の変化量がしきい値以下であること、予測誤差パワーがしきい値以下であること、が用いられる。
【0024】
グローバル動き補償予測時の予測誤差パワーは、ブロック動き推定処理において格納されたブロック動き補償予測誤差パワーに対応する。すなわち本実施例に示すブロック動き推定処理の場合、1/2の縮小画像では8x8のブロック毎に動きベクトル探索を、もとの解像度の画像では16x16のブロック毎に動きベクトル探索を行った。それゆえ、ステップ501からステップ503においても、参照する画像の解像度がもとの解像度の1/2の場合には8x8のブロックについて、もとの解像度と等しい場合には16x16のブロックについて順次予測画素値および予測誤差を算出しグローバル動き補償予測誤差パワーを求める必要がある。また、本実施例ではブロック動き推定処理において1/4の縮小画像におけるブロック動き補償予測誤差パワーは算出されていない。この場合、処理の開始直後に各ブロックのブロック動き補償予測誤差パワーをあらかじめ算出しておく、1/4の縮小画像では参照点の限定は行わない、1/2の縮小画像もしくはもとの解像度の画像における予測誤差パワーを変換して用いる、といった方法がとられる。また、上述の実施例ではパラメータ更新の度に参照点を変更しているが、予め定めた一定回数以降は参照点を変化させずパラメータが収束するまで繰り返し演算を行う、といった方法もとられる。
【0025】
以上の通りグローバル動き推定処理が終了すると、ブロック毎にブロック符号化処理が行われる。図6は、ブロック符号化処理の流れを示すフローチャートである。まず、実際に符号化されるグローバル動きパラメータに従ってグローバル動き補償予測誤差パワーを算出し、メモリに格納されたブロック動き補償予測誤差パワーと比較して、符号化効率のより高い動き補償予測モードを選択する(ステップ600)。選択された動き補償予測モードに従って予測画像を生成し現在フレームとの差分である予測誤差信号を得る(ステップ601)。予測誤差信号は、DCT変換(ステップ602)、量子化(ステップ603)の後、可変長符号化される(ステップ604)。生成された符号は符号化データとして出力される。また、量子化後信号は逆量子化(ステップ605)、逆DCT変換(ステップ606)の後、予測画像と足しあわされ、ローカル復号画像を得る。これは後続フレームの符号化における参照フレームとしてフレームメモリに格納される。
【0026】
以上本実施例では、グローバル動き補償予測とブロック動き補償予測とを、符号化単位となるブロック毎に切り替えて符号化を行う動画像符号化装置について説明を行った。本発明に示したグローバル動きパラメータの推定方法は、グローバル動き補償予測のみを用いる動画像符号化装置およびスプライトを用いる動画像符号化装置にも適用できる。これらの場合にはあらためて、ブロック動き推定処理に相当するブロック単位のマッチング処理を行い、局所的に動き補償予測を行った際の予測誤差パワーを算出する必要がある。
【0027】
【発明の効果】
本発明の動画像符号化方法、装置およびそのプログラムによれば、グローバル動き補償予測の予測誤差パワーとブロック動き補償の予測誤差パワーとを比較し、符号化効率においてグローバル動き補償予測を行うのが望ましい画素のみを対象としてパラメータ推定を行う。これにより、画像内の動きの複雑度にかかわらず、つねにグローバル動きのモデルにマッチする画素のみを参照してパラメータ推定を行うことができる。従来の方法では演算量が増大するような局所的な動きを持つ領域をもつ画像に対して、本発明に記載の動画像符号化方法を用いることで高速にグローバル動きパラメータを求めることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態による動画像符号化装置の構成を示す図である。
【図2】図1に示される記憶部12に格納された本発明の実施の形態による動画像符号化プログラムの処理を示すフローチャートである。
【図3】図2におけるブロック動き推定処理の詳細を示すフローチャートである。
【図4】図2におけるグローバル動き推定処理の詳細を示すフローチャートである。
【図5】図4に示されるグローバル動きパラメータ算出方法の詳細を示すフローチャートである。
【図6】図2におけるブロック符号化処理の詳細を示すフローチャートである。
【図7】従来の動画像符号化方法におけるグローバル動きパラメータ算出処理の詳細を示すフローチャートである。
【符号の説明】
11 プロセッサ
12 記憶部
13 I/Oインターフェース
【発明の属する技術分野】
本発明は、画像全体を幾何変換することでズームやパンなどカメラの動きによる画像全体の変化を一括して補償するグローバル動き補償予測を用いる動画像符号化方法、装置およびそのプログラムに係わり、とくにグローバル動きの幾何変換を表すパラメータであるグローバル動きパラメータの推定方法に関する。
【0002】
【従来の技術】
グローバル動き補償予測を用いた動画像符号化方法は、カメラの動きによる平行移動、拡大縮小、回転といった画面全体の動きを数個のパラメータによって定まる幾何変換として表現するため、適切なシーンに用いることで高い符号化効率を実現できるという特長がある。グローバル動き補償予測で用いられる幾何変換には、平行移動、アフィン変換、透視変換などがある。国際標準符号化方式であるMPEG−4では、動画像シーケンスの最初に静止画像を符号化し、フレーム毎にグローバル動きパラメータを用いて画像全体の動きを補償することで動画を再構成するスプライトという技法が用いられている。また、符号化単位となるブロックに対し平行移動を表す動きベクトルを用いて動き補償を行うブロック動き補償予測と、グローバル動き補償予測とを、ブロック毎に切り替えて符号化する方法もあわせて記載されている。
【0003】
グローバル動き補償予測を用いて動画像を符号化する場合、グローバル動きパラメータを推定する必要がある。従来よりグローバル動きを算出する方法としては、符号化単位となるブロック毎の動きを平行移動によって補償するための動き情報である動きベクトルを用いるものがある。すなわち最小二乗法などの方法を用いることで、複数の動きベクトルを統合するグローバル動きパラメータを生成する。特開2000−278694、特開2000−102019、特開平09−266574、特開平08−242454はいずれも、この方法に準じた技術である。しかし、平行移動のみによってマッチングを行うブロックの動きベクトルをもとにしたグローバル動き推定は、ズームや回転などの動きに対して十分な精度を有さないといった問題があった。それに対して近年、画素毎の予測誤差や近接との画素値勾配に基づいて予測誤差パワーが最小になるよう更新処理を繰り返し行うことで、グローバル動きパラメータを算出する方法が用いられている。以下に、従来方法として、このグローバル動き推定方法について説明する。
【0004】
図4は、IEEE Transactions on Image Processing,vol.9,no.3,March 2000,”Efficient,Robust,and Fast Global Motion Estimation for Video Coding”に記載のグローバル動き推定処理の流れを記すフローチャートである。まず現在フレームおよびフレームメモリに格納されている参照フレームに対し、解像度が1/2,1/4の縮小画像を生成する(ステップ401)。初期値を設定した後(ステップ402)、グローバル動きパラメータ算出処理(ステップ405)を解像度の小さい画像から大きい画像へと繰り返し行うことで、最適なグローバル動きパラメータを得る。
このうち、グローバル動きパラメータ算出処理について図7を用いて詳説する。まず参照フレームに対してグローバル動き補償予測を行い、画像内の各画素の予測画素値を算出し(ステップ701)、現在フレーム上の画素値との予測誤差を算出する(ステップ702)。その後、予測誤差パワーの大きい画素を参照点から除外する(ステップ703)。除外される画素は、予測誤差パワーをソートした際、上位a%に含まれるものとする。全画素について予測誤差が求まった後(ステップ704)、グローバル動きパラメータ更新に用いる画素である参照点の予測画素値および予測誤差を参照して画像全体の予測誤差パワーが減少する方向にグローバル動きパラメータを更新する(ステップ705)。このときパラメータが収束条件を満たしていれば、更新処理は終了する(ステップ706)。
【0005】
【発明が解決しようとする課題】
前記従来方法においては、グローバル動きパラメータを算出するのに用いる参照点の判定基準は画素分布や動きの複雑度にかかわらず一意に決まっている。そのため本来グローバル動きで補償できない画素を参照しうる。繰り返し処理によって最適なパラメータ推定を行う場合には、モデルにマッチしない局所的なずれ、すなわち統計的ゆらぎが存在するほど、最適値に収束するまでに時間を要する。従来の方法では、画像内に局所的な動きを持つ領域が存在するほど、演算量が増大するといった問題があった。
【0006】
【課題を解決するための手段】
本発明に示す動画像符号化方法によれば、前記従来方法におけるグローバル動きパラメータ算出処理について、ブロック毎にグローバル動き補償時の予測誤差パワーとブロック動き補償予測誤差パワーとを比較し、後者が十分小さい場合当該ブロック内画素をグローバル動きから外れた局所領域とみなし、グローバル動きパラメータ更新に用いる参照点から除外する。
具体的には、本発明によれば以下に掲げるような動画像符号化方法が得られる。すなわち、本発明によれば、連続するフレームからなる動画像に対し、参照フレームを幾何変換することで画面全体の動きを一括して補償するグローバル動き補償予測と、ブロック単位の動きを平行移動によって補償するブロック動き補償予測とを、ブロック毎に切り替えて符号化を行う第1の動画像符号化方法として、ブロック毎に参照フレームと現在フレームの間の平行移動情報を表す動きベクトルを推定するとともに、ブロック動き補償予測誤差パワーを算出するブロック動き推定処理と、前記参照フレームと現在フレームの間のグローバル動きを記述するグローバル動きパラメータを算出するグローバル動き推定処理と、前記動きベクトルと前記グローバル動きパラメータのいずれか一方を参照して動き補償フレーム間予測を行い、現在フレームにおけるブロック内画素を符号化するブロック符号化処理とを備え、グローバル動き推定処理が、前記ブロック動き推定処理によって算出されたブロック動き補償予測誤差パワーをもとにグローバル動きパラメータ推定に用いる画素を限定することを特徴とする動画像符号化方法が得られる。
【0007】
さらに、本発明によれば、第2の動画像符号化方法として、前記第1の動画像符号化方法において、グローバル動き推定処理が、現在フレームおよび参照フレームをそれぞれ階層的に縮小し、複数組の縮小現在フレームと縮小参照フレームを生成する縮小画像生成処理と、ブロック動き推定処理の算出した一つ以上の動きベクトルを参照し、最小解像度の画像に合わせて推定したグローバル動きパラメータを初期グローバル動きパラメータとして設定する初期値設定処理と、前記複数組の縮小現在フレームと縮小参照フレーム、もしくは前記現在フレームと前記参照フレームを段階的に参照し、画像の解像度に合わせて順次高精度化したグローバル動きパラメータを算出するグローバル動きパラメータ算出処理とを備えることを特徴とする動画像符号化方法が得られる。グローバル動きパラメータ算出処理は、まず最も解像度の小さい前記縮小現在フレームと前記縮小参照フレームに対し、前記初期値設定処理で得られた初期グローバル動きパラメータをもとに最適なグローバル動きパラメータを算出した後、次に大きいフレームの解像度にあわせて前記最適なグローバル動きパラメータを変換し、それを初期グローバル動きパラメータとしてグローバル動きパラメータ算出処理を繰り返し行う。
【0008】
また、本発明によれば、第3の動画像符号化方法として、前記第1の動画像符号化方法において、ブロック符号化処理が、動きベクトルとグローバル動きパラメータを参照し、ブロック動き補償予測とグローバル動き補償のいずれかを選択して予測画像を生成し、現在フレームとの差分信号を符号化することを特徴とする動画像符号化方法が得られる。
【0009】
また、本発明によれば、第4の動画像符号化方法として、前記第1の動画像符号化方法において、ブロック動き推定処理が、全ブロックのブロック動き補償予測誤差パワーをメモリに保持し、グローバル動き推定処理が前記メモリに保持されたブロック動き補償予測誤差パワーを参照してグローバル動きパラメータ推定に用いる画素を限定することを特徴とする動画像符号化方法が得られる。
【0010】
さらに本発明によれば、第5の動画像符号化方法として、前記第2の動画像符号化方法において、グローバル動きパラメータ算出処理が、設定された初期グローバル動きパラメータを参照し、画素毎に予測画素値を生成する予測画素値算出処理と、前記予測画素と対応する現在フレームの画素値との差分を算出する差分信号算出処理と、前記差分信号よりブロック毎にグローバル動き補償予測誤差パワーを算出し、同一ブロックのブロック動き補償予測誤差パワーと比較して、ブロック動き補償予測の方が予測効率に優れているブロックの画素をグローバル動きパラメータ推定に用いる参照点から除去する参照点限定処理と、画像内の全参照点における予測画素値および差分信号を元に、グローバル動きパラメータを更新するグローバル動きパラメータ更新処理と、前記差分信号と前記更新されたグローバル動きパラメータのいづれか、もしくは双方があらかじめ定められた条件を満たす場合にグローバル動き推定処理を終了し、そうでない場合には前記差分信号算出処理に立ち戻って一連の推定処理を続けるパラメータ収束判定処理とを備えることを特徴とする動画像符号化方法が得られる。
【0011】
また、本発明によれば、第6の動画像符号化方法として、前記第2の動画像符号化方法において、初期値設定処理が、ブロック動き推定処理の算出した動きベクトルの全体もしくは一部の平均ベクトルをグローバルな動きとみなし、グローバル動きパラメータを決定することを特徴とする動画像符号化方法が得られる。
【0012】
また、本発明によれば、第7の動画像符号化方法として、前記第2の動画像符号化方法において、初期値設定処理が、ブロック動き推定処理の算出した動きベクトルの全体もしくは一部について、対応するブロックの重心を平行移動した座標とグローバル動きに従って幾何変換した座標との距離が最小となるよう、グローバル動きパラメータを設定することを特徴とする動画像符号化方法が得られる。
【0013】
さらに、本発明によれば、第8の動画像符号化方法として、前記第5の動画像符号化方法において、参照点限定処理において、ブロック動き補償予測誤差パワーよりも、対応するグローバル動き補償予測誤差パワーが大きく、かつ、両者の差がある閾値より大きい場合に、該ブロック内画素を参照点から除去することを特徴とする動画像符号化方法が得られる。
【0014】
また、本発明によれば、第9の動画像符号化方法として、前記第5の動画像符号化方法において、予測画素値算出処理が、グローバル動きパラメータに従って画像内の各画素の座標に幾何変換をほどこし、得られた座標が整数値をとる場合には同位置における参照フレーム上の画素値を出力し、そうでない場合には参照フレーム上で近傍にある複数の画素値をもとに内挿処理を行い得られた画素値を出力することを特徴とする動画像符号化方法が得られる。
【0015】
また、本発明によれば、第10の動画像符号化方法として、前記第5の動画像符号化方法において、パラメータ更新処理が、参照点の予測画素値におけるx方向およびy方向の勾配とグローバル動きパラメータによる幾何変換の関係から、予測画素値とグローバル動きパラメータとの偏微分量を算出し、参照点全体の予測誤差パワーが減少する方向にグローバル動きパラメータを変動させることを特徴とする動画像符号化方法が得られる。
【0016】
また、本発明によれば、第11の動画像符号化方法として、前記第5の動画像符号化方法において、パラメータ収束判定処理が更新後パラメータの変動量がある閾値以下の場合にグローバル動き推定処理を終了することを特徴とする動画像符号化方法が得られる。
【0017】
なお、これらの動画像符号化方法は、例えば、プロセッサと記憶手段とを備えたコンピュータシステム上においてプロセッサにより実行させることによりコンピュータシステムを動画像符号化装置として動作させるようなコンピュータプログラムの形式にて実現させることができ、また、当該コンピュータプログラムを予め記憶手段に格納したようなコンピュータシステムからなる動画像符号化装置としても実現することができる。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態による動画像符号化方法およびそれを実現した動画像符号化装置について図面を用いて詳細に説明する。
本発明の実施の形態による動画像符号化装置は、図1に示されるように、プロセッサ11、記憶部12、I/Oインターフェース13を備えており、それらはパスを介して互いに接続されている。ここで、記憶部12は、プロセッサ11が実行すべき動画像符号化プログラムを格納していると共に、プロセッサ11が動画像符号化プログラムを実行中の一時記憶としての役割も果たす。なお、この「記憶部」という語は、本明細書において、RAMなどの主記憶の他、現在販売されているCPU(MPU)に含まれるキャッシュメモリやプロセッサ11に含まれるレジスタ、更には、ハードディスク装置など、あらゆる記憶装置を示すものとして用いられる。また、本実施の形態において、I/Oインターフェース13は、プロセッサ11の制御に応じて入力画像を入力したり出力となる符号化データを出力するための媒介手段である。ただし、このI/Oインターフェース13の存在は、他のプログラムにより求められた入力画像を一旦記憶部12に格納し、それを記憶部12から読み出すことで、本実施の形態による動画像符号化方法を実行することを妨げるものではない。
【0019】
以下に、本実施の形態による動画像符号化方法、即ち動画像符号化装置の動作について説明する。なお、本実施の形態による動画像符号化装置の動作は、プロセッサ11が記憶部12に格納された動画像符号化プログラムを実行することにより、実現されるものであるので、以下においては説明を明瞭にするため、動作主体については逐一言及することなくその動作のみに着目して説明することとする。
図2は、動画像符号化方法における処理の流れを示すフローチャートである。図2によると、動画像符号化方法は、ブロック動き推定処理(ステップ201)と、グローバル動き推定処理(ステップ202)と、ブロック符号化処理(ステップ204)とからなる。すなわち、まず始めに、入力となる現在フレームとフレームメモリに格納された参照フレームとを参照してブロック動き推定処理(ステップ201)が行われ、ブロック毎の動きベクトルが得られる。次いで、入力となる現在フレームとフレームメモリに格納された参照フレームとを参照してグローバル動き推定処理(ステップ202)が行われ、グローバル動きパラメータが得られる。その後、画像内先頭ブロックより(ステップ203)順次ブロック符号化処理を行う(ステップ204)。最終ブロックのブロック符号化処理が終了した時点で、1フレームの符号化は終了する(ステップ205)。
【0020】
ブロック動き推定処理について、さらに詳しく説明する。図3は、ブロック動き推定処理の流れを示すフローチャートである。ブロック動き推定は3段階の探索処理によって行われる。まず、解像度を1/2に縮小した現在フレームと参照フレームを生成し(ステップ301)、これら縮小画像について8x8のブロック(もとの解像度で16x16)毎に1画素精度で(もとの解像度で2画素精度)マッチングを行い動きベクトルを得る(ステップ302)。次に、もとの現在フレームと参照フレームを参照し、先に得られた動きベクトルの周囲で16x16のブロック毎に1画素精度でマッチングを行い動きベクトルを再生成する(ステップ303)。最後にもとの現在フレームと参照フレームとを参照し、先に得られた動きベクトルの周囲で16x16のブロック毎に半画素精度でマッチングを行い動きベクトルを再生成する(ステップ304)。同時に、1/2の縮小画像に対する1段階目の探索ともとの解像度の画像に対する3段階目の探索について、各ブロックの予測誤差パワーをメモリに格納する。予測誤差パワーとして差分絶対値和もしくは差分二乗和が用いられる。なおここでは3段階の探索処理を例に示したが、1画素精度の動きベクトル探索から始める2段階探索処理や、多段階に行わず最初から半画素精度の探索を用いてもよい。一般に探索の階層数を増すほど演算量が少なくてすむが、探索結果が局所最適に陥り動き補償の予測効率が低下する恐れがある。
【0021】
次にグローバル動き推定処理についてさらに詳しく説明する。図4は、グローバル動き推定処理の流れを示すフローチャートである。グローバル動きパラメータの推定は、解像度を1/4に縮小した現在フレームと参照フレーム、解像度を1/2に縮小した現在フレームと参照フレーム、もとの現在フレームと参照フレーム、といったように3段階に分けて行う。まず、それぞれの画像を生成する(ステップ401)。実際には、1/2の縮小画像はブロック動き推定処理のステップ301で生成しているので、それを再利用する。次にグローバル動きパラメータ推定のための初期値パラメータを設定する(ステップ402)。ブロック動き推定処理によって得られた各ブロックの動きベクトルを参照してグローバル動きパラメータを推定し、1/4の解像度にあわせて変換したものを初期グローバル動きパラメータとする。動きベクトルを用いたグローバル動きパラメータ推定方法として、ブロック毎の動きベクトルの平均をグローバル動きに設定する、というものがある。ほかに、ブロック毎の動きベクトルについて、対応するブロックの重心を平行移動した座標とグローバル動きに従って幾何変換した座標との距離が最小となるよう、グローバル動きパラメータを設定する、といった方法が用いられる。なお、グローバル動きパラメータ推定に用いる動きベクトルの選択方法として、画像内全ブロックを対象にする他に、前フレームにおいて推定された最終的なグローバル動きパラメータによって定まるブロック毎の動きとの距離がある閾値以下となる動きベクトルに限定する、内部画素の複雑度がある閾値以上となるブロックの動きベクトルに限定する、画像の中心よりも境界に近いブロックを優先するなど画像内のブロックの位置に応じて動きブロックを選択する、といった方法がある。
【0022】
初期グローバル動きパラメータを設定した後、現在フレームと参照フレームの縮小画像のうち最も解像度の小さいものを(ステップ404)パラメータ推定の対象となる画像に設定し(ステップ405)、グローバル動きパラメータ算出処理を行う(ステップ406)。対象がもとの現在フレームと参照フレームである場合には(ステップ407)、グローバル動き推定処理を終了し、そうでない場合には対象画像を次に解像度の大きい現在フレームと参照フレームの縮小画像に設定する(ステップ408)と同時に、ステップ406で得られたグローバル動きパラメータを解像度の違いに従って変換したものを初期グローバル動きパラメータとして、グローバル動きパラメータ算出処理(ステップ406)を繰り返し行う。なお図4の実施例では1/4、1/2の縮小画像およびもとの画像と三段階の処理でグローバル動きパラメータを推定したが、本発明は任意の階層数について適用可能である。すなわち、1/8の縮小画像からグローバル動きパラメータ推定処理をスタートさせても、もとの解像度の画像のみを用いて推定処理を行ってもよい。
【0023】
次にグローバル動きパラメータ算出処理についてさらに詳しく説明する。図5は、グローバル動きパラメータ算出処理の流れを示すフローチャートである。まず画像内の各ブロックについて、参照フレームに対してグローバル動き補償予測を行い、ブロック内画素の予測画素値を得る(ステップ501)。予測画素値の算出方法としては、グローバル動きパラメータに従って画素の座標に幾何変換を施し、得られた座標が整数値を取る場合には同位置にある参照画素上の画素値を用い、そうでない場合には参照画像上で近傍にある複数の画素値をもとに内挿処理を行う。また、現在フレーム上で同一位置にある画素の画素値から得られた予測画素値を減算し予測誤差を得る(ステップ502)。次に該ブロックにおけるグローバル動き補償時の予測誤差パワーを算出し、ブロック動き推定処理で得られたブロック動き補償予測誤差パワーと比較して、グローバル動きパラメータ更新に用いる参照点の限定を行う(ステップ503)。グローバル動き補償予測誤差パワーがブロック動き補償予測誤差パワーよりも大きく、かつ、その差がある閾値以上ある場合、該当ブロック内画素を参照点から除外する。以上の処理を全ブロックについて行った後、参照点の予測画素値および予測誤差をもとに、グローバル動きパラメータを更新する(ステップ505)。参照点毎に、予測画素値のx方向およびy方向の勾配とグローバル動きパラメータによる幾何変換との関係から予測画素値とグローバル動きパラメータとの偏微分量を算出し、Gauss−Newton法や最急降下法といった最小化方法に従って全参照点の予測誤差パワーの和が減少する方向にグローバル動きパラメータを変動させる。パラメータが収束条件を満たしていれば、更新処理を終了させる(ステップ506)。収束条件としては、パラメータ更新の変化量がしきい値以下であること、予測誤差パワーがしきい値以下であること、が用いられる。
【0024】
グローバル動き補償予測時の予測誤差パワーは、ブロック動き推定処理において格納されたブロック動き補償予測誤差パワーに対応する。すなわち本実施例に示すブロック動き推定処理の場合、1/2の縮小画像では8x8のブロック毎に動きベクトル探索を、もとの解像度の画像では16x16のブロック毎に動きベクトル探索を行った。それゆえ、ステップ501からステップ503においても、参照する画像の解像度がもとの解像度の1/2の場合には8x8のブロックについて、もとの解像度と等しい場合には16x16のブロックについて順次予測画素値および予測誤差を算出しグローバル動き補償予測誤差パワーを求める必要がある。また、本実施例ではブロック動き推定処理において1/4の縮小画像におけるブロック動き補償予測誤差パワーは算出されていない。この場合、処理の開始直後に各ブロックのブロック動き補償予測誤差パワーをあらかじめ算出しておく、1/4の縮小画像では参照点の限定は行わない、1/2の縮小画像もしくはもとの解像度の画像における予測誤差パワーを変換して用いる、といった方法がとられる。また、上述の実施例ではパラメータ更新の度に参照点を変更しているが、予め定めた一定回数以降は参照点を変化させずパラメータが収束するまで繰り返し演算を行う、といった方法もとられる。
【0025】
以上の通りグローバル動き推定処理が終了すると、ブロック毎にブロック符号化処理が行われる。図6は、ブロック符号化処理の流れを示すフローチャートである。まず、実際に符号化されるグローバル動きパラメータに従ってグローバル動き補償予測誤差パワーを算出し、メモリに格納されたブロック動き補償予測誤差パワーと比較して、符号化効率のより高い動き補償予測モードを選択する(ステップ600)。選択された動き補償予測モードに従って予測画像を生成し現在フレームとの差分である予測誤差信号を得る(ステップ601)。予測誤差信号は、DCT変換(ステップ602)、量子化(ステップ603)の後、可変長符号化される(ステップ604)。生成された符号は符号化データとして出力される。また、量子化後信号は逆量子化(ステップ605)、逆DCT変換(ステップ606)の後、予測画像と足しあわされ、ローカル復号画像を得る。これは後続フレームの符号化における参照フレームとしてフレームメモリに格納される。
【0026】
以上本実施例では、グローバル動き補償予測とブロック動き補償予測とを、符号化単位となるブロック毎に切り替えて符号化を行う動画像符号化装置について説明を行った。本発明に示したグローバル動きパラメータの推定方法は、グローバル動き補償予測のみを用いる動画像符号化装置およびスプライトを用いる動画像符号化装置にも適用できる。これらの場合にはあらためて、ブロック動き推定処理に相当するブロック単位のマッチング処理を行い、局所的に動き補償予測を行った際の予測誤差パワーを算出する必要がある。
【0027】
【発明の効果】
本発明の動画像符号化方法、装置およびそのプログラムによれば、グローバル動き補償予測の予測誤差パワーとブロック動き補償の予測誤差パワーとを比較し、符号化効率においてグローバル動き補償予測を行うのが望ましい画素のみを対象としてパラメータ推定を行う。これにより、画像内の動きの複雑度にかかわらず、つねにグローバル動きのモデルにマッチする画素のみを参照してパラメータ推定を行うことができる。従来の方法では演算量が増大するような局所的な動きを持つ領域をもつ画像に対して、本発明に記載の動画像符号化方法を用いることで高速にグローバル動きパラメータを求めることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態による動画像符号化装置の構成を示す図である。
【図2】図1に示される記憶部12に格納された本発明の実施の形態による動画像符号化プログラムの処理を示すフローチャートである。
【図3】図2におけるブロック動き推定処理の詳細を示すフローチャートである。
【図4】図2におけるグローバル動き推定処理の詳細を示すフローチャートである。
【図5】図4に示されるグローバル動きパラメータ算出方法の詳細を示すフローチャートである。
【図6】図2におけるブロック符号化処理の詳細を示すフローチャートである。
【図7】従来の動画像符号化方法におけるグローバル動きパラメータ算出処理の詳細を示すフローチャートである。
【符号の説明】
11 プロセッサ
12 記憶部
13 I/Oインターフェース
Claims (13)
- 連続するフレームからなる動画像に対し、参照フレームを幾何変換することで画面全体の動きを一括して補償するグローバル動き補償予測と、ブロック単位の動きを平行移動によって補償するブロック動き補償予測とを、ブロック毎に切り替えて符号化を行う動画像符号化方法であって、
ブロック毎に参照フレームと現在フレームの間の平行移動情報を表す動きベクトルを推定するとともに、ブロック動き補償予測誤差パワーを算出するブロック動き推定処理と、
現在フレームおよび参照フレームを参照し、対象画素の予測誤差パワーが最小になるよう更新処理を繰り返し行うことで、前記参照フレームと現在フレームの間のグローバル動きを記述するグローバル動きパラメータを算出するグローバル動き推定処理と、
ブロック毎に、前記動きベクトルと前記グローバル動きパラメータのいずれか一方を参照して動き補償フレーム間予測を行い、現在フレームにおけるブロック内画素を符号化するブロック符号化処理とからなり、
グローバル動き推定処理が、前記ブロック動き推定処理によって算出されたブロック動き補償予測誤差パワーをもとにグローバル動きパラメータ推定に用いる画素を限定することを特徴とする動画像符号化方法。 - 前記グローバル動き推定処理が、
現在フレームおよび参照フレームをそれぞれ階層的に縮小し、複数組の縮小現在フレームと縮小参照フレームを生成する縮小画像生成処理と、
ブロック動き推定処理の算出した一つ以上の動きベクトルを参照し、最も解像度の小さい前記現在フレームに合わせて推定したグローバル動きパラメータを初期グローバル動きパラメータとして設定する初期値設定処理と、
前記複数組の縮小現在フレームと縮小参照フレーム、もしくは前記現在フレームと前記参照フレームを段階的に参照し、画像の解像度に合わせて順次高精度化したグローバル動きパラメータを算出するグローバル動きパラメータ算出処理とを備え、
グローバル動きパラメータ算出処理が、まず最も解像度の小さい縮小現在フレームと縮小参照フレームに対し、前記初期値設定処理で得られた初期グローバル動きパラメータをもとに最適なグローバル動きパラメータを算出した後、次に大きいフレームの解像度にあわせて前記最適なグローバル動きパラメータを変換し、それを初期グローバル動きパラメータとしてグローバル動きパラメータ算出処理を繰り返し行うことを特徴とする請求項1に記載の動画像符号化方法。 - 前記ブロック符号化処理が、動きベクトルとグローバル動きパラメータを参照し、ブロック動き補償予測とグローバル動き補償のいずれかを選択して予測画像を生成し、現在フレームとの差分信号を符号化することを特徴とする請求項1に記載の動画像符号化方法。
- 前記ブロック動き推定処理が、全ブロックのブロック動き補償予測誤差パワーをメモリに保持し、
グローバル動き推定処理が前記メモリに保持されたブロック動き補償予測誤差パワーを参照してグローバル動きパラメータ推定に用いる画素を限定することを特徴とする請求項1に記載の動画像符号化方法。 - 前記グローバル動きパラメータ算出処理が、
設定された初期グローバル動きパラメータを参照し、画素毎に予測画素値を生成する予測画素値算出処理と、
前記予測画素と対応する現在フレームの画素値との差分を算出する差分信号算出処理と、
前記差分信号よりブロック毎にグローバル動き補償予測誤差パワーを算出し、同一ブロックのブロック動き補償予測誤差パワーと比較して、ブロック動き補償予測の方が予測効率に優れているブロックの画素をグローバル動きパラメータ推定に用いる参照点から除去する参照点限定処理と、
画像内の全参照点における予測画素値および差分信号を元に、グローバル動きパラメータを更新するグローバル動きパラメータ更新処理と、
前記差分信号と前記更新されたグローバル動きパラメータのいづれか、もしくは双方があらかじめ定められた条件を満たす場合にグローバル動き推定処理を終了し、そうでない場合には前記差分信号算出処理に立ち戻って一連の推定処理を続けるパラメータ収束判定処理とからなることを特徴とする請求項2に記載の動画像符号化方法。 - 前記初期値設定処理が、ブロック動き推定処理の算出した動きベクトルの全体もしくは一部の平均ベクトルをグローバルな動きとみなし、グローバル動きパラメータを決定することを特徴とする請求項2に記載の動画像符号化方法。
- 前記初期値設定処理が、ブロック動き推定処理の算出した動きベクトルの全体もしくは一部について、対応するブロックの重心を平行移動した座標とグローバル動きに従って幾何変換した座標との距離が最小となるよう、グローバル動きパラメータを設定することを特徴とする請求項2に記載の動画像符号化方法。
- 前記参照点限定処理において、ブロック動き補償予測誤差パワーよりも、対応するグローバル動き補償予測誤差パワーが大きく、かつ、両者の差がある閾値より大きい場合に、該ブロック内画素を参照点から除去することを特徴とする請求項5に記載の動画像符号化方法。
- 前記予測画素値算出処理が、グローバル動きパラメータに従って画像内の各画素の座標に幾何変換をほどこし、得られた座標が整数値をとる場合には同位置における参照フレーム上の画素値を出力し、そうでない場合には参照フレーム上で近傍にある複数の画素値をもとに内挿処理を行い得られた画素値を出力することを特徴とする請求項5に記載の動画像符号化方法。
- 前記グローバル動きパラメータ更新処理が、参照点の予測画素値におけるx方向およびy方向の勾配とグローバル動きパラメータによる幾何変換の関係から、予測画素値とグローバル動きパラメータとの偏微分量を算出し、参照点全体の予測誤差パワーが減少する方向にグローバル動きパラメータを変動させることを特徴とする請求項5に記載の動画像符号化方法。
- 前記パラメータ収束判定処理が、更新後パラメータの変動量がある閾値以下の場合にグローバル動き推定処理を終了することを特徴とする請求項5に記載の動画像符号化方法。
- プロセッサと、該プロセッサに所定の処理を実行させるコンピュータプログラムを格納させると共に該プロセッサが前記所定の処理を実行している間に一時記憶としても動作する記憶手段とを備え、前記プロセッサが前記コンピュータプログラムに従って前記所定の処理を実行することにより、連続するフレームからなる動画像に対して、参照フレームを幾何変換することで画面全体の動きを一括して補償するグローバル動き補償予測とブロック単位の動きを平行移動によって補償するブロック動き補償予測とをブロック毎に切り替えて符号化を行う動画像符号化装置において、
前記所定の処理は、
ブロック毎に参照フレームと現在フレームの間の平行移動情報を表す動きベクトルを推定するとともに、ブロック動き補償予測誤差パワーを算出するステップと、
現在フレームおよび参照フレームを参照し、ブロック毎に前記ブロック動き補償予測誤差パワーをもとに限定された画素に対して、画素値の勾配に基づき予測誤差パワーが最小になるよう更新処理を繰り返し行うことで、前記参照フレームと現在フレームの間のグローバル動きを記述するグローバル動きパラメータを算出するステップと、
ブロック毎に、前記動きベクトルと前記グローバル動きパラメータのいずれか一方を参照して動き補償フレーム間予測を行い、現在フレームにおけるブロック内画素を符号化するステップと
を備えることを特徴とする動画像符号化装置。 - プロセッサと一時記憶として動作する記憶手段とを備えたコンピュータシステムにおいて前記プロセッサに対して所定の処理を実行させ、前記コンピュータシステムを、連続するフレームからなる動画像に対して、参照フレームを幾何変換することで画面全体の動きを一括して補償するグローバル動き補償予測とブロック単位の動きを平行移動によって補償するブロック動き補償予測とをブロック毎に切り替えて符号化を行う動画像符号化装置として機能させるためのコンピュータプログラムであって、
前記所定の処理は、
ブロック毎に参照フレームと現在フレームの間の平行移動情報を表す動きベクトルを推定するとともに、ブロック動き補償予測誤差パワーを算出するステップと、
現在フレームおよび参照フレームを参照し、ブロック毎に前記ブロック動き補償予測誤差パワーをもとに限定された画素に対して、画素値の勾配に基づき予測誤差パワーが最小になるよう更新処理を繰り返し行うことで、前記参照フレームと現在フレームの間のグローバル動きを記述するグローバル動きパラメータを算出するステップと、
ブロック毎に、前記動きベクトルと前記グローバル動きパラメータのいずれか一方を参照して動き補償フレーム間予測を行い、現在フレームにおけるブロック内画素を符号化するステップと
を備えることを特徴とするコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002221496A JP2004064518A (ja) | 2002-07-30 | 2002-07-30 | 動画像符号化方法、動画像符号化装置、およびコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002221496A JP2004064518A (ja) | 2002-07-30 | 2002-07-30 | 動画像符号化方法、動画像符号化装置、およびコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004064518A true JP2004064518A (ja) | 2004-02-26 |
Family
ID=31941790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002221496A Withdrawn JP2004064518A (ja) | 2002-07-30 | 2002-07-30 | 動画像符号化方法、動画像符号化装置、およびコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004064518A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007235769A (ja) * | 2006-03-03 | 2007-09-13 | Victor Co Of Japan Ltd | 動きベクトル検出方法及び装置 |
JP2012034389A (ja) * | 2006-09-11 | 2012-02-16 | Apple Inc | 複雑性認識符号化 |
CN106897983A (zh) * | 2016-12-30 | 2017-06-27 | 青岛海信电器股份有限公司 | 一种多帧图像集合的处理方法和图像处理装置 |
CN111247806A (zh) * | 2017-10-27 | 2020-06-05 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法和解码方法 |
WO2021100085A1 (ja) * | 2019-11-18 | 2021-05-27 | 日本電信電話株式会社 | 符号化方法、符号化装置及びプログラム |
CN113573054A (zh) * | 2015-01-13 | 2021-10-29 | 英迪股份有限公司 | 视频编解码设备、方法和计算机可读记录介质 |
CN115052160A (zh) * | 2022-04-22 | 2022-09-13 | 江西中烟工业有限责任公司 | 基于云数据自动下载的图像编码方法、装置及电子设备 |
-
2002
- 2002-07-30 JP JP2002221496A patent/JP2004064518A/ja not_active Withdrawn
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007235769A (ja) * | 2006-03-03 | 2007-09-13 | Victor Co Of Japan Ltd | 動きベクトル検出方法及び装置 |
JP4595834B2 (ja) * | 2006-03-03 | 2010-12-08 | 日本ビクター株式会社 | 動きベクトル検出方法及び装置 |
JP2012034389A (ja) * | 2006-09-11 | 2012-02-16 | Apple Inc | 複雑性認識符号化 |
CN113573054A (zh) * | 2015-01-13 | 2021-10-29 | 英迪股份有限公司 | 视频编解码设备、方法和计算机可读记录介质 |
CN113573054B (zh) * | 2015-01-13 | 2024-03-01 | 杜比实验室特许公司 | 视频编解码设备、方法和计算机可读记录介质 |
CN106897983A (zh) * | 2016-12-30 | 2017-06-27 | 青岛海信电器股份有限公司 | 一种多帧图像集合的处理方法和图像处理装置 |
CN106897983B (zh) * | 2016-12-30 | 2023-12-26 | 海信视像科技股份有限公司 | 一种多帧图像集合的处理方法和图像处理装置 |
CN111247806A (zh) * | 2017-10-27 | 2020-06-05 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法和解码方法 |
CN111247806B (zh) * | 2017-10-27 | 2023-11-14 | 松下电器(美国)知识产权公司 | 解码装置和解码方法 |
WO2021100085A1 (ja) * | 2019-11-18 | 2021-05-27 | 日本電信電話株式会社 | 符号化方法、符号化装置及びプログラム |
JPWO2021100085A1 (ja) * | 2019-11-18 | 2021-05-27 | ||
CN115052160A (zh) * | 2022-04-22 | 2022-09-13 | 江西中烟工业有限责任公司 | 基于云数据自动下载的图像编码方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4732982B2 (ja) | 向上した動き推定方法、該方法を利用したビデオエンコーディング方法及び装置 | |
US7643690B2 (en) | Image decoding and encoding apparatus, method and computer readable storage medium | |
JP4528441B2 (ja) | ブロック整合法及び統合投射法を用いた階層的動き評価処理及び装置 | |
CN112969070B (zh) | 一种编解码方法、装置及其设备 | |
JP3655651B2 (ja) | データ処理装置 | |
JP2009147807A (ja) | 画像処理装置 | |
JPH1169358A (ja) | 動画像の動きベクトル予測方法 | |
JPH08265781A (ja) | 動きベクトル特定方法及び装置 | |
JPH08307874A (ja) | 映像信号符号化装置 | |
WO2007037912A2 (en) | Integrated spatial-temporal prediction | |
JP5844745B2 (ja) | パッチシフティングを通じてベクトル量子化誤差を低減する方法および装置 | |
JP5313326B2 (ja) | 画像復号装置、方法およびプログラム、並びに、画像符号化装置、方法およびプログラム | |
US20110194610A1 (en) | Motion-Vector Estimation | |
CN110719489A (zh) | 运动矢量修正、预测、编码方法、编码器及存储装置 | |
JP2004064518A (ja) | 動画像符号化方法、動画像符号化装置、およびコンピュータプログラム | |
JP2008061135A (ja) | 画像符号化装置および画像符号化方法 | |
JP2955526B2 (ja) | 動画像符号化方法及び装置 | |
TW200301655A (en) | Method of detecting motion vector | |
US9549205B2 (en) | Method and device for encoding video | |
JP3928699B2 (ja) | 動きベクトル探索方法、動きベクトル探索装置及びプログラム | |
JP2008301085A (ja) | 動きベクトル探索装置及びその制御方法、コンピュータプログラム | |
Fu et al. | Fast global motion estimation based on local motion segmentation | |
JP4034180B2 (ja) | 動画像圧縮符号化装置、及び動きベクトル検出方法 | |
TWI324482B (en) | Algorithm of video coding | |
JPH0937258A (ja) | 階層型ワープタイプ動き補償予測方法、及びその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20051004 |