JP2009089332A - 動き予測方法及び動き予測装置 - Google Patents
動き予測方法及び動き予測装置 Download PDFInfo
- Publication number
- JP2009089332A JP2009089332A JP2007259966A JP2007259966A JP2009089332A JP 2009089332 A JP2009089332 A JP 2009089332A JP 2007259966 A JP2007259966 A JP 2007259966A JP 2007259966 A JP2007259966 A JP 2007259966A JP 2009089332 A JP2009089332 A JP 2009089332A
- Authority
- JP
- Japan
- Prior art keywords
- motion
- motion prediction
- compensation
- image
- block
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Abstract
【課題】AVC等の画像符号化方式に基づく画像情報符号化装置において、動きベクトル探索の高速化や、メモリアクセスの低減を実現する。
【解決手段】処理対象のフレーム画像を分割してなる動き補償ブロック毎に、複数の参照フレーム画像のどれを用いるかを指定して、階層探索に基づく動きベクトル探索を行うにあたり、間引き装置12において、上記動き補償ブロックの画素サイズのうち、最も大きい上記画素サイズでなる上記動き補償ブロックの画素を間引くことにより下位層の縮小画像を生成し、参照フレーム決定装置15により、所定の縮小率でなる下位層の縮小参照画像を決定し、生成された縮小画像を用いて動き予測・補償装置(1/N2解像度)14において動きベクトルを探索し、動き予測・補償装置(フル解像度)17により、縮小前の画像について探索された動きベクトルにより指定される所定の検索範囲を用いて、動きベクトルを探索して動き予測を行う。
【選択図】図15
【解決手段】処理対象のフレーム画像を分割してなる動き補償ブロック毎に、複数の参照フレーム画像のどれを用いるかを指定して、階層探索に基づく動きベクトル探索を行うにあたり、間引き装置12において、上記動き補償ブロックの画素サイズのうち、最も大きい上記画素サイズでなる上記動き補償ブロックの画素を間引くことにより下位層の縮小画像を生成し、参照フレーム決定装置15により、所定の縮小率でなる下位層の縮小参照画像を決定し、生成された縮小画像を用いて動き予測・補償装置(1/N2解像度)14において動きベクトルを探索し、動き予測・補償装置(フル解像度)17により、縮小前の画像について探索された動きベクトルにより指定される所定の検索範囲を用いて、動きベクトルを探索して動き予測を行う。
【選択図】図15
Description
本発明は、動き予測方法及び動き予測装置に関し、例えばMPEG、H.26x等のように、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルTV、インターネット、携帯電話などのネットワークメディアを介して受信する際に、若しくは光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる画像情報符号化装置に適用して好適なものである。
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEGなどの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
特に、MPEG2(ISO/IEC 13818−2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマー用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4〜8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18〜22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496−2としてその規格が国際標準に承認された。
更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L(ITU−T Q6/16 VCEG)という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced−Compression Video Codingとして行われている。標準化のスケジュールとしては、2003年3月にはH.264及びMPEG−4 Part10(Advanced Video Coding:以下AVCという)という名の元に国際標準となった。
AVC規格に基づいた画像圧縮情報を出力とする画像情報符号化装置100の構成例を図1のブロック図に示す。
この画像情報符号化装置100は、入力となる画像信号が供給されるA/D変換装置1、このA/D変換装置101によりデジタル化された画像データが供給される画面並べ替えバッファ102、この画面並べ替えバッファ102から読み出された画像データが供給される加算器103、イントラ予測装置112及び動き予測・補償装置113、上記加算器103の出力が供給される直交変換装置104、この直交変換装置104の出力が供給される量子化装置105、この量子化装置105の出力が供給される可逆符号化装置106及び逆量子化装置108、上記可逆符号化装置106の出力が供給される蓄積バッファ107、上記逆量子化装置108の出力が供給される逆直交変換装置109、この逆直交変換装置109の出力が供給されるデブロックフィルタ110、このデブロックフィルタ110の出力が供給されるフレームメモリ111、上記蓄積バッファ107の出力が供給されるレート制御装置114等からなる。
この画像情報符号化装置100において、入力となる画像信号は、まず、A/D変換装置101においてデジタル信号に変換される。次に、出力となる画像圧縮情報のGOP(Group of Pictures)構造に応じ、画面並べ替えバッファ102においてフレームの並べ替えが行われる。イントラ符号化が行われる画像に関しては、入力画像と、イントラ予測装置112により生成される画素値の差分情報が直交変換装置104に入力され、ここで離散コサイン変換、カルーネン・レーベ変換等の直交変換が施される。直交変換装置104の出力として得られる変換係数は、量子化装置105において量子化処理が施される。量子化装置105の出力として得られる量子化された変換係数は、可逆変換装置106に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施された後、蓄積バッファ107に蓄積され、画像圧縮情報として出力される。量子化装置105の挙動はレート制御装置114によって制御される。同時に、量子化装置105の出力として得られる量子化された変換係数は、逆量子化装置108に入力され、更に逆直交変換装置109において逆直交変換処理が施されて、復号化画像情報となり、デブロックフィルタ110においてブロック歪の除去が施された後、その情報はフレームメモリ111に蓄積される。イントラ予測装置112において、当該ブロック/マクロブロックに対して適用されたイントラ予測モードに関する情報は、可逆符号化装置106に伝送され、画像圧縮情報におけるヘッダ情報の一部として符号化される。
インター符号化が行われる画像に関しては、まず、画像情報は動き予測・補償装置113に入力される。同時に参照となる画像情報がフレームメモリ111より取り出され、動き予測・補償処理を施され、参照画像情報が生成される。参照画像情報は加算器103に送られ、ここで当該画像情報との差分信号へ変換される。動き補償・予測装置113は、同時に動きベクトル情報を可逆符号化装置106に出力し、その情報は可変長符号化、算術符号化といった可逆符号化処理が施され、画像圧縮情報のヘッダ部に挿入される情報を形成する。その他の処理はイントラ符号化を施される画像圧縮情報と同様である。
図2に、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償により画像圧縮を実現する画像情報復号化装置150の構成例のブロック図を示す。
この画像情報復号化装置150は、画像圧縮情報が供給される蓄積バッファ115、この蓄積バッファ115から読み出された画像圧縮情報が供給される可逆符号化装置116、この可逆符号化装置116の出力が供給される逆量子化装置117、この逆量子化装置117の出力が供給される逆直交変換装置118、この逆直交変換装置118の出力が供給される加算器119、この加算器119の出力がデブロックフィルタ125を介して供給される画面並べ替えバッファ120及びフレームメモリ122、上記画面並べ替えバッファ120の出力がD/A変換装置121、上記フレームメモリ122の出力が供給される動き補償・補償装置123及びイントラ予測装置124等からなる。
この画像情報復号化装置150において、入力となる画像圧縮情報は、まず、蓄積バッファ115に格納された後、可逆復号化装置116に転送される。ここで、定められた画像圧縮情報のフォーマットに基づき、可変長復号化、算術復号化等の処理が行われる。同時に、当該フレームがイントラ符号化されたものである場合、可逆復号化装置116においては、画像圧縮情報のヘッダ部に格納されたイントラ予測モード情報をも復号化し、その情報をイントラ予測装置124へ伝送する。当該フレームがインター符号化されたものである場合、可逆復号化装置116においては、画像圧縮情報のヘッダ部に格納された動きベクトル情報をも復号化し、その情報を動き予測・補償装置123へ転送する。
可逆復号化装置116の出力として得られる量子化された変換係数は、逆量子化装置117に入力され、ここで変換係数として出力される。変換係数は、逆直交変換装置118において、定められた方式に基づき、4次の逆直交変換が施される。当該フレームがイントラ符号化されたものである場合には、逆直交変換処理が施された画像情報は、イントラ予測装置124において生成された予測画像との合成が、加算器119において行われ、更に、デブロックフィルタ125においてブロック歪の除去が施された後、画面並べ替えバッファ120に格納され、D/A変換処理の後に出力される。
当該フレームがインター符号化されたものである場合には、可逆復号化処理が施された動きベクトル情報、及びフレームメモリ122に格納された画像情報を元に参照画像が生成され、この参照画像と、逆直交変換装置118の出力とが、加算器120において合成される。その他の処理はイントラ符号化されたフレームと同様である。
ところで、図1に示した画像情報符号化装置において、高い圧縮効率を実現するために、動き予測・補償装置112が重要な役割を果たす。AVC符号化方式においては、以下に述べる3つの方式を導入することで、従来のMPEG2・4等の画像符号化方式と比較して高い圧縮効率を実現している。すなわち、第一の方式はマルチプルリファレンスフレーム(Multiple Reference Frame)、第二の方式は、可変動き予測・補償ブロックサイズ、第三の方式は、FIRフィルタを用いた、1/4画素精度の動き補償である。
まず、AVC符号化方式で規定されているマルチプルリファレンスフレームについて述べる。
AVCにおいては、図3に示すとおり、複数の参照フレームを持ち、それぞれの動き補償ブロック毎に、複数の参照フレームのどれを用いるかを指定することが可能である。
これは、例えば、直前のフレームにおいては、オクルージョン(occlusion)により、参照すべきブロックが存在しない場合でも、過去に遡って参照を行うことで、符号化効率の低下を防ぐことが可能となる。
また、参照となる画像にフラッシュが存在した場合、このフレームを参照することにより符号化効率は著しく低下するが、この場合も、過去に遡って参照を行うことで、符号化効率の低下を防ぐことが可能となる。
次に、AVC符号化方式で規定されている、可変ブロックサイズについて述べる。
AVC符号化方式においては、図4に示すように、一つのマクロブロックを最小で8×8の動き補償ブロックに分割することが可能である。更に、8×8動き補償ブロックに関しては、最小で4×4のサブパーティションに分割することが可能である。各マクロブロックにおいて、それぞれの動き補償ブロックは、別個の動きベクトル情報を持つことが可能である。
次に、AVC符号化方式で規定されている1/4画素精度の動き補償処理について述べる。
以下では、図5を用いて、1/4画素精度の動き補償処理について説明する。
AVC符号化方式では、1/2画素精度の画素値を生成するため、次の式1に示すようなフィルタ係数を有する6タップのFIR(Finite Impulse Response)フィルタが定義されている。
図5に示す画素値b,hに対する動き補償(補間)に関しては、式1のフィルタ係数を用いて、まず式2に示すように積和演算を行う。
その後式3に示す処理を行う。
ここでClip1は(0,255)間でのクリップ処理を示す。また。>>5は、5ビットシフトすなわち25の除算を示す。
また、画素値jに関しては、b,hと同様の手法で画素値aa,bb,cc,dd,ee,ff,gg,hhを生成した後、式4に示すように積和演算が施され、式5に示すようなクリップ処理によって算出される。
る。
る。
画素値a,c,d,n,f,i,k,qに関しては、次の式6に示すように、整数画素精度の画素値と、1/2画素精度の画素値の線形内挿により求められる。
また、画素値e,g,pに関しては、次の式7に示すように、1/2画素精度の画素値を用いた線形内挿により求められる。
ところで、図1に示した画像情報符号化装置100では、動きベクトルの探索に多くの演算量を要する。実時間動作する装置を構築するためには、画質劣化を最小限に抑えながら、動きベクトル探索に要する演算量を如何に削減するかが鍵となる。
しかしながら、AVC符号化方式では、先に述べたように、マルチプルリファレンスフレーム、可変動き予測・補償ブロックサイズ、及び、1/4画素精度の動き補償が許されているため、候補参照フレームの数が増えてくると、動き予測・補償におけるリファインメント(Refinement)処理でも重くなってしまう。
さらに、画像符号化装置(H/W化)を考えた場合には、マクロブロック内の全てのブロックサイズに対して参照フレーム毎に、動き探索処理を行うため、メモリへのアクセスが頻繁になるため、場合によってはメモリ帯域をあげる必要が出てくる。
ところで、図1に示した画像情報符号化装置100においては、動きベクトルの探索に多くの演算量を要する。実時間動作する装置を構築するためには、画質劣化を最小限に抑えながら、動きベクトル探索に要する演算量を如何に削減するかが鍵となる。
かかる問題を解決するため、本件発明者らは、先に、図6に示すような構成の画像情報符号化装置200を提案している。
この画像情報符号化装置200は、画面並べ替えバッファ227、加算器228、直交変換装置229、量子化装置230、可逆符号化装置231、蓄積バッファ232、逆量子化装置233、逆直交変換装置234、デブロックフィルタ235、フレームメモリ(フル解像度)236、間引き装置237、動き予測・補償装置(1/N2解像度)38、フレームメモリ(1/N2解像度)239、イントラ予測装置240、動き予測・補償装置(フル解像度)241、レート制御装置242からなる。
図1に示した画像情報符号化装置100と、図6に示した画像情報符号化装置200の違いは、間引き装置237、フレームメモリ(1/N2解像度)239、動き予測・補償装置(1/N2解像度)238並びに、動き予測・補償装置(フル解像度)241における動作原理にある。以下では、これらにおける動作原理について説明する。
まず、図7を用いて、間引き装置237の動作原理を説明する。すなわち、間引き装置37は、フレームメモリ(フル解像度)236に格納された画像情報を入力とし、これに、水平方向、垂直方向それぞれに対して、1/N間引き処理を行い、これにより生成された画素値を、フレームメモリ(1/N2解像度)239に格納する。
動き予測・補償装置(1/N2解像度)238においては、フレームメモリ(1/N2解像度)39に格納された画素値を用い、8×8ブロック、若しくは16×16ブロックの画素値を用いて、ブロックマッチングにより、当該ブロックに対する最適な動きベクトル情報の探索を行う。その際、全ての画素値を用いて予測エネルギーを計算するのではなく、図8に示すように、碁の目状に指定された画素値を用いて、計算を行う。
当該ピクチャをフィールド符号化する際には、図7に示した間引き処理は、第一フィールドと第二フィールドに分けて行う。
このように、縮小画像を用いて探索された動きベクトル情報は、動きベクトル探索装置(フル解像度)41へ入力される。例えば、N=2のとき、動き予測・補償装置(1/4解像度)238において、探索の単位が8×8ブロックであった場合には、一つのマクロブロックに対して、1つの16×16ブロックが、探索の単位が16×16ブロックであった場合には、四つのマクロブロックに対して1つの16×16ブロックが求まっていることになるが、動きベクトル探索装置(フル解像度)241においては、これらの16×16動きベクトルを中心としたごく僅かの範囲を、図4において定義された全ての動きベクトル情報の探索を行う。このように、縮小画像上で求まった動きベクトル情報を元に、ごく僅かの探索範囲に対して動き予測を行うことで、画質劣化を最小限に抑えながら、演算量を大幅に削減することが可能である。
それぞれの動き補償ブロックに対する参照フレームの決定は、以下のように行われる。
すなわち、動き予測・補償装置(1/N2解像度)238においては、候補となる全ての参照フレームに対する動きベクトルの検出を行う。動き予測・補償装置(フル解像度)41において、それぞれの参照フレームに対して求められた動きベクトルのRefinementを行った後、残差若しくはなんらかのコスト関数を最小にするような参照フレームを、当該動き補償ブロックに対する参照フレームとして選択する。
ところで、AVCでは先に述べたように、Multiple Reference Frame、可変動き予測・補償ブロックサイズ、及び1/4画素精度の動き補償が許されているため、候補参照フレームの数が増えてくると、動き予測・補償装置(フル解像度)41におけるRefinement処理でも重くなってしまう。
更に、画像符号化装置(H/W化)を考えた場合には、マクロブロック内の全てのブロックサイズに対して参照フレーム毎に、動き探索処理を行うため、メモリへのアクセスが頻繁になるため、場合によってはメモリ帯域をあげる必要が出てくる。
かかる問題を解決するため、本件発明者らは、先に、特願2004−191937号として、複数の参照フレーム画像を持ち、連続するフレーム画像のうち処理対象の対象フレーム画像を分割してなるそれぞれの動き補償ブロック毎に、複数の参照フレーム画像のどれを用いるかを指定して、階層探索に基づく動きベクトルの探索を行うにあたり、間引き装置において、上記動き補償ブロックの画素サイズのうち、最上位層とすべき最も大きい上記画素サイズでなる上記動き補償ブロックの画素を間引くことにより、所定の縮小率でなる下位層の縮小画像を生成し、参照フレーム決定装置により縮小画像上で縮小参照画像を決定し、生成された縮小画像を用いて動き予測・補償装置(1/N2解像度)において動きベクトルを探索し、動き予測・補償装置(フル解像度)により、縮小前の画像について、上記動き予測・補償装置(1/N2解像度)において探索された動きベクトルにより指定される所定の検索範囲を用いて、動きベクトルを探索して動き予測を行うようにした図9に示すような構成の画像情報符号化装置300を提案している。
この画像情報符号化装置300は、A/D変換装置301、画面並べ替えバッファ302、加算器303、直交変換装置304、量子化装置305、可逆符号化装置306、蓄積バッファ307、逆量子化装置308、逆直交変換装置309、デブロックフィルタ310、フレームメモリ(フル解像度)311、間引き装置312、フレームメモリ(1/N2解像度)313、参照フレーム決定装置314、動き予測・補償装置(1/N2解像度)315、イントラ予測装置316、動き予測・補償装置(フル解像度)317、レート制御装置318からなる。
図6に示した画像情報符号化装置100と、図9に示した画像情報符号化装置300の違いは、参照フレーム決定装置356、動き予測・補償装置(1/N2解像度)314、並びに動き予測・補償装置(フル解像度)317における動作原理にある。以下では、参照フレーム決定装置315、動き予測・補償装置(1/N2解像度)314、並びに動き予測・補償装置(フル解像度)317における動作原理についてのみ説明する。
図10にフィールドコーディングのときの具体的な例を示す。当該フィールドがBピクチャのボトムフィールドで、参照フィールドがForeword(List0)側、Backword(List1)側が共に2フィールドの時、さらにフレームメモリ(1/N2解像度)355の縮小率Nが4のときの例である。
従来の画像情報符号化装置100では、参照フィールドごとにブロックマッチングにより、最適な動きベクトルを動き予測・補償装置(1/N2解像度)314で導出し、その動きベクトルを中心に動き予測・補償装置(フル解像度)315において、全てのブロックサイズに対するrefinement処理を行い、参照フィールドをList毎に決定した。
この画像情報符号化装置300では、図11、図12に示す方法(ステップS101〜S111)で参照フレーム決定装置315において参照フィールドを決定する。
図10に示した縮小率(1/4)では、図11(a)に示すように、動き予測・補償装置(1/16解像度)314でのブロックマッチングの単位を16x16にした場合、動き予測・補償装置(フル解像度)317では4×4マクロブロック(16個分)への動きベクトルが同一に設定される。
そして、この画像情報符号化装置300では、図11(b)のように16x16ブロックを16x4の帯に分割し、動き予測・補償装置(1/16解像度)314での16x16ブロックマッチングの際に、16x4の帯毎に、エネルギー(SAD)を保持する。
つまり、図11(b)のように、帯の上からインデックス(BlkIdx)を0…3とつけると、参照フィールドごとに、次のようなSAD[List][refIdx][BlkIdx]を得ることができる。
ここで、SAD[List][refIdx][BlkIdx]はListのrefIdx毎に16x16ブロックマッチングによって求められた最適な動きベクトルに対してBlkIdx毎にSADを格納したものを表す。
さらに、各参照フィールドで16x16ブロックマッチングにより、最適な動きベクトルMV[List][refIdx](MV_List0[0]、MV_List0[1]、MV_List1[0]、MV_List1[1])を得ている。
ここで、参照フレーム決定装置315では、次式で表すように、各Listの対応したBlkIdx毎に残差エネルギーの大小比較を行い、エネルギーの小さい参照フィールドを16x4単位での参照フィールドであると決定する。
また、決められたrefIdx毎に動きベクトルMV[List][refIdx]の切り替えも行う。
以上の処理フローをまとめると、図12のようになる。
以上で得られたList毎・BlkIdx毎に求められた、refIdxおよび動きベクトルの周りだけrefinement処理を行うことで、refinement処理の演算量を削減し、MEの高速化を図ることができる。
また、上記処理では、4×1MBの帯でrefIdxおよび動きベクトルが揃っているため、refinement処理において、動きベクトルを探索する領域をメモリアクセスする際に、当該MBの前に探索したメモリを再利用し、新たに必要な領域だけアクセスすることでメモリアクセスの低減も可能となる。その様子を図13に示す。
しかしながら、上述の方法では図14に示すような状況で、主観画質の劣化や圧縮効率の劣化を招いてしまう。
原理的には原因としては、サーチの単位はあくまで4×4MBの単位となるため、図14に示すようにあるオブジェクトが4×1MBの帯1から帯3の領域に渡っている場合、帯0に限定すると例えば(0,0)ポイントの方がエネルギー的に最適でも階層サーチは4×4MBでのエネルギーの最適ポイントをサーチするように作用するので結果的に図9に示すようにオブジェクトの動きを追うように作用する。
ところが、参照面決定の判定は4×1MBの帯で行うため、帯0としては本来の階層動きベクトルとは違うベクトルが与えられることになる。
この作用により画質の劣化や圧縮効率の悪化を招くことになる。
そこで、本発明の目的は、上述の如き従来の問題点に鑑み、AVC等の画像符号化方式に基づく画像圧縮情報を出力する画像情報符号化装置において、画質の劣化や圧縮効率の悪化を招くことなく、動きベクトル探索の高速化や、メモリアクセスの低減を実現することにある。
本発明の更に他の目的、本発明によって得られる具体的な利点は、以下に説明される実施の形態の説明から一層明らかにされる。
本発明では、上述した課題を解決するために、A/D変換装置、画面並べ替えバッファ、加算器、直交変換装置、量子化装置、可逆符号化装置、蓄積バッファ、逆量子化装置、逆直交変換装置、デブロックフィルタ、フレームメモリ(フル解像度)、間引き装置、フレームメモリ(1/N2解像度)、動き予測・補償装置(1/N2解像度)、イントラ予測装置、動き予測・補償装置(フル解像度)並びにレート制御装置を兼ね備え、階層探索を行う際、(0,0)ポイントのサーチ結果を4×4MB単位での最小エネルギーとは関係なく保持し、そのデータとサーチ結果のエネルギー最適ポイントのデータを持って縮小画像上で参照フレームと階層動きベクトルの決定を行うことで、動き予測・補償装置(フル解像度)での演算量の削減(高速化)、並びに、H/W化した際には、効率的なメモリアクセスを行う手段を提供すると同時に、画質を改善し、圧縮効率の改善を実現する。
すなわち、本発明は、複数の参照フレーム画像を持ち、連続するフレーム画像のうち処理対象の対象フレーム画像を分割してなるそれぞれの動き補償ブロック毎に、複数の参照フレーム画像のどれを用いるかを指定して、階層探索に基づく動きベクトルの探索を行う動き予測補償方法であって、上記動き補償ブロックの画素サイズのうち、最上位層とすべき最も大きい上記画素サイズでなる上記動き補償ブロックの画素を間引くことにより、所定の縮小率でなる下位層の縮小画像を生成する階層化ステップと、上記階層化ステップにおいて生成された縮小画像を用いて動きベクトルを探索する第1の動き予測補償ステップと、上記第1の動き予測補償ステップにおいて使用する縮小参照画像を縮小画像上で決定する参照画決定ステップと、縮小前の画像について、上記第1の動き予測補償ステップで探索された動きベクトルにより指定される所定の検索範囲を用いて、動きベクトルを探索して動き予測を行う第2の動き予測補償ステップとを備え、上記第1の動き予測補償ステップでは、例えば、階層探索の単位をM×Nのマクロブロックとし、M‘×N‘(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果(差分絶対値和:SAD)をM‘×N‘単位で保持するとともにサーチポイント(0,0)のブロックマッチングの結果を保持することを特徴とする。
また、本発明に係る動き予測補償方法において、上記参照画決定ステップでは、例えば、階層探索の最適点と任意のポイントでM‘×N’の単位で大小比較を行い動きベクトルを切り替える。
また、本発明に係る動き予測補償方法において、上記参照画決定ステップでは、例えば、参照画像ごとにM’×N’の単位で大小比較を行い参照画像と動きベクトルを切り替える。
また、本発明に係る動き予測補償方法において、上記参照画決定ステップでは、例えば、分割したブロックの評価指標値が各参照画画像で同値となった場合に、参照フレーム(refIdx)が小さいほうを採用する。
また、本発明に係る動き予測補償方法において、上記第1の動き予測補償ステップでは、例えば、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果として得られる直交変換された差分絶対値和(SATD)をM’×N’単位で保持する。
また、本発明に係る動き予測補償方法において、上記第1の動き予測補償ステップでは、例えば、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果として得られる差分2乗和(SSD)をM’×N’単位で保持する。
また、本発明に係る動き予測補償方法において、上記参照画決定ステップでは、例えば、ブロックマッチングの結果から算出される評価指標値とともに、参照フレーム(refIdx)の大きさを任意の重み付けで足し込んだ値を評価指標とする。
さらに、本発明に係る動き予測補償方法において、上記第1の動き予測補償ステップでは、例えば、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果(差分絶対値和:SAD)をM’×N’単位で保持するとともに、サーチポイント(0,0)のポイントとともに任意の設定ポイントのサーチ結果を保持する。
また、本発明は、複数の参照フレーム画像を持ち、連続するフレーム画像のうち処理対象の対象フレーム画像を分割してなるそれぞれの動き補償ブロック毎に、複数の参照フレーム画像のどれを用いるかを指定して、階層探索に基づく動きベクトルの探索を行う動き予測補償装置であって、上記動き補償ブロックの画素サイズのうち、最上位層とすべき最も大きい上記画素サイズでなる上記動き補償ブロックの画素を間引くことにより、所定の縮小率でなる下位層の縮小画像を生成する階層化手段と、上記階層化手段において生成された縮小画像を用いて動きベクトルを探索する第1の動き予測補償手段と、上記第1の動き予測補償手段において使用する縮小参照画像を縮小画像上で決定する参照画決定手段と、縮小前の画像について、上記第1の動き予測補償手段で探索された動きベクトルにより指定される所定の検索範囲を用いて、動きベクトルを探索して動き予測を行う第2の動き予測補償手段とを備え、上記第1の動き予測補償手段では、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果(差分絶対値和:SAD)をM‘×N‘単位で保持するとともにサーチポイント(0,0)のブロックマッチングの結果を保持することを特徴とする。
また、本発明に係る動き予測補償装置において、上記参照画決定手段では、例えば、階層探索の最適点と任意のポイントでM’×N’の単位で大小比較を行い動きベクトルを切り替える。
また、本発明に係る動き予測補償装置において、上記参照画決定手段では、例えば、参照画像ごとにM’×N’の単位で大小比較を行い参照画像と動きベクトルを切り替えることを特徴とする。
また、本発明に係る動き予測補償装置において、上記参照画決定手段では、例えば、分割したブロックの評価指標値が各参照画画像で同値となった場合に、参照フレーム(refIdx)が小さいほうを採用する。
また、本発明に係る動き予測補償装置において、上記第1の動き予測補償手段では、例えば、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果として得られる直交変換された差分絶対値和(SATD)をM’×N’単位で保持することを特徴とする。
また、本発明に係る動き予測補償装置において、上記第1の動き予測補償手段では、例えば、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果として得られる差分2乗和(SSD)をM’×N’単位で保持する。
また、本発明に係る動き予測補償装置において、上記参照画決定手段では、例えば、ブロックマッチングの結果から算出される評価指標値とともに、参照フレーム(refIdx)の大きさを任意の重み付けで足し込んだ値を評価指標とすることを特徴とする。
さらに、本発明に係る動き予測補償装置において、上記第1の動き予測補償手段では、例えば、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果(差分絶対値和:SAD)をM’×N’単位で保持するとともに、サーチポイント(0,0)のポイントとともに任意の設定ポイントのサーチ結果を保持する。
本発明では、AVC等の画像符号化方式に基づく画像圧縮情報を出力する画像情報符号化装置において、縮小画像上でのサーチ時にエネルギー最小となるポイントのサーチ結果だけではなく、(0,0)ポイント(または任意のポイント)のサーチ結果を任意の単位で別途保持することにより、先に示した縮小面におけるサーチの不具合を改善し、縮小画像上で参照フレーム(refIdx)を任意の単位ごとに決定することで、リファインメント処理を削減することで、動きベクトル探索の高速化や、メモリアクセスの低減を実現することができる。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、本発明は以下の例に限定されるものではなく、本発明の要旨を逸脱しない範囲で、任意に変更可能であることは言うまでもない。
本発明は、例えば図15に示すような構成の画像情報符号化装置20に適用される。
この画像情報符号化装置20は、本件発明者らが、先に、特願2004−191937号として提案した図9の画像情報符号化装置200を改良したもので、入力となる画像信号が供給されるA/D変換装置1、このA/D変換装置1によりデジタル化された画像データが供給される画面並べ替えバッファ2、この画面並べ替えバッファ2から読み出された画像データが供給される加算器3、イントラ予測装置16及び動き予測・補償装置17、上記加算器3の出力が供給される直交変換装置4、この直交変換装置4の出力が供給される量子化装置5、この量子化装置5の出力が供給される可逆符号化装置6及び逆量子化装置8、上記可逆符号化装置6の出力が供給される蓄積バッファ7、この蓄積バッファ7の出力が供給されるレート制御装置18、上記逆量子化装置8の出力が供給される逆直交変換装置9、この逆直交変換装置9の出力が供給されるデブロックフィルタ10、このデブロックフィルタ110の出力が供給されるフレームメモリ(フル解像度)11、上記フレームメモリ(フル解像度)11の出力が供給される間引き装置12、この間引き装置12の出力が供給されるフレームメモリ(1/N2解像度)13、このフレームメモリ(1/N2解像度)13の出力が供給される動き予測・補償装置(フル解像度)14、この動き予測・補償装置(フル解像度)14に接続された参照フレーム決定装置15等を備えてなる。
ここで、図9に示した画像情報符号化装置200と、この画像情報符号化装置20の違いは、参照フレーム・階層動きベクトル決定装置14、動き予測・補償装置(1/N2解像度)15における動作原理にある。以下では、参照フレーム・階層動きベクトル決定装置14、動き予測・補償装置(1/N2解像度)75における動作原理について説明する。
上記画像情報符号化装置200の場合と同様に図10に示された具体的な例を用いて解説する。当該フィールドがBピクチャのボトムフィールドで、参照フィールドがForeword(List0)側、Backword(List1)側が共に2フィールドの時、さらにフレームメモリ(1/N2解像度)55の縮小率Nが4のときの例である。
まず、動き予測・補償装置(1/N2解像度)75における動作原理に述べる。
画像情報符号化装置200では、動き予測・補償装置(1/N2解像度)15は単純にサーチ単位でのエネルギー最小のポイントだけを探索していたが、この画像情報符号化装置200では、サーチ単位でのエネルギー最小のポイントを保持するとともに、(0,0)のポイントのエネルギーを参照面決定の単位である4×1MBの帯毎にエネルギーを保持する。
ここでは、動き探索の結果の結果をSAD[0][List][refIdx][BlkIdx]と定義し、(0,0)ポイントの結果をSAD[1][List][refIdx][BlkIdx]と定義する。
保持するエネルギーの動きベクトルのポイントは(0,0)のポイントに限らず、任意のポイントでも構わない。
次に、参照フレーム・階層動きベクトル決定装置14について解説する。
まず第一に図11の(b)に示した4×1MBの帯の単位で、SAD[0]とSAD[1]の大小比較から当該BlkIdxでの1参照面当たりの動きベクトルとエネルギーの組を決定する。
ここでは、得られたエネルギーをSAD[List][refIdx][BlkIdx]と定義する。
同時に得られた動きベクトルをMv[List][refIdx][BlkIdx]と定義する。
ここで、比較に用いる指標値をSADとしたが、SATDやSSDを用いてもよい。
また、残差エネルギーから求められる、SAD・SATD・SSDだけを指標値とするのではなく、Mv値も任意の重み付け(λ1)でSAD等に足し込んだ値を評価指標値としてもよい。
この画像情報符号化装置20において、入力となる画像信号は、まず、A/D変換装置101においてデジタル信号に変換される。次に、出力となる画像圧縮情報のGOP(Group of Pictures)構造に応じ、画面並べ替えバッファ2においてフレームの並べ替えが行われる。イントラ符号化が行われる画像に関しては、入力画像と、イントラ予測装置16により生成される画素値の差分情報が直交変換装置4に入力され、ここで離散コサイン変換、カルーネン・レーベ変換等の直交変換が施される。
直交変換装置4の出力として得られる変換係数は、量子化装置5において量子化処理が施される。量子化装置5の出力として得られる量子化された変換係数は、可逆変換装置6に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施された後、蓄積バッファ7に蓄積され、画像圧縮情報として出力される。量子化装置5の挙動はレート制御装置18によって制御される。同時に、量子化装置5の出力として得られる量子化された変換係数は、逆量子化装置8に入力され、更に逆直交変換装置9において逆直交変換処理が施されて、復号化画像情報となり、デブロックフィルタ10においてブロック歪の除去が施された後、その情報はフレームメモリ11に蓄積される。イントラ予測装置16において、当該ブロック/マクロブロックに対して適用されたイントラ予測モードに関する情報は、可逆符号化装置6に伝送され、画像圧縮情報におけるヘッダ情報の一部として符号化される。
インター符号化が行われる画像に関しては、まず、画像情報は動き予測・補償装置17に入力される。同時に参照となる画像情報がフレームメモリ11より取り出され、動き予測・補償処理を施され、参照画像情報が生成される。参照画像情報は加算器3に送られ、ここで当該画像情報との差分信号へ変換される。動き補償・予測装置17は、同時に動きベクトル情報を可逆符号化装置6に出力し、その情報は可変長符号化、算術符号化といった可逆符号化処理が施され、画像圧縮情報のヘッダ部に挿入される情報を形成する。その他の処理はイントラ符号化を施される画像圧縮情報と同様である。
そして、この画像情報符号化装置20において、間引き装置12では、図7に示すように、フレームメモリ(フル解像度)11に格納された画像情報を入力とし、これに、水平方向、垂直方向それぞれに対して、1/N間引き処理を行い、これにより生成された画素値を、フレームメモリ(1/N2解像度)13に格納する。
また、動き予測・補償装置(1/N2解像度)14では、フレームメモリ(1/N2解像度)13に格納された画素値を用い、8×8ブロック、若しくは16×16ブロックの画素値を用いて、ブロックマッチングにより、当該ブロックに対する最適な動きベクトル情報の探索を行う。その際、全ての画素値を用いて予測エネルギーを計算するのではなく、図8に示すように、碁の目状に指定された画素値を用いて、計算を行う。
当該ピクチャをフィールド符号化する際には、図7に示した間引き処理は、第一フィールドと第二フィールドに分けて行う。
このように、縮小画像を用いて探索された動きベクトル情報は、動き予測・補償装置(フル解像度)17へ入力される。例えば、N=2のとき、動き予測・補償装置(1/4解像度)14において、探索の単位が8×8ブロックであった場合には、一つのマクロブロックに対して、1つの16×16ブロックが、探索の単位が16×16ブロックであった場合には、四つのマクロブロックに対して1つの16×16ブロックが求まっていることになるが、動き予測・補償装置(フル解像度)17においては、これらの16×16動きベクトルを中心としたごく僅かの範囲を、図4において定義された全ての動きベクトル情報の探索を行う。このように、縮小画像上で求まった動きベクトル情報を元に、ごく僅かの探索範囲に対して動き予測を行うことで、画質劣化を最小限に抑えながら、演算量を大幅に削減することが可能である。
それぞれの動き補償ブロックに対する参照フレームの決定は、以下のように行われる。
すなわち、動き予測・補償装置(1/N2解像度)14においては、候補となる全ての参照フレームに対する動きベクトルの検出を行う。動き予測・補償装置(フル解像度)17において、それぞれの参照フレームに対して求められた動きベクトルのRefinementを行った後、残差若しくはなんらかのコスト関数を最小にするような参照フレームを、当該動き補償ブロックに対する参照フレームとして選択する。
ところで、AVCでは先に述べたように、マルチプルリファレンスフレーム、可変動き予測・補償ブロックサイズ、及び1/4画素精度の動き補償が許されているため、候補参照フレームの数が増えてくると、動き予測・補償装置(フル解像度)17におけるリファインメント処理でも重くなってしまう。
さらに、画像符号化装置(H/W化)を考えた場合には、マクロブロック内の全てのブロックサイズに対して参照フレーム毎に、動き探索処理を行うため、メモリへのアクセスが頻繁になるため、場合によってはメモリ帯域をあげる必要が出てくる。
ここで、フィールドコーディングのときの具体的な例を図9に示す。当該フィールドがBピクチャのボトムフィールドで、参照フィールドが前方(List0)側、後(List1)側が共に2フィールドの時、さらにフレームメモリ(1/N2解像度)13の縮小率Nが4のときの例である。
参照フィールドごとにブロックマッチングにより、最適な動きベクトルを動き予測・補償装置(1/N2解像度)14で導出し、その動きベクトルを中心に動き予測・補償装置(フル解像度)17において、全てのブロックサイズに対するrefinement処理を行い、参照フィールドをList毎に決定したのでは、動き予測・補償装置(フル解像度)17におけるRefinement処理が重くなってしまうので、この画像情報符号化装置20では、参照フレーム決定装置15において、図10及び図11に示すように参照フィールドを決定する。
図9に示した縮小率(1/4)では、図10(a)に示すように、動き予測・補償装置(1/16解像度)57でのブロックマッチングの単位を16×16にした場合、動き予測・補償装置(フル解像度)59では4×4マクロブロック(16個分)への動きベクトルが同一に設定される。
この画像情報符号化装置20では、図10(b)のように16×16ブロックを16×4の帯に分割し、動き予測・補償装置(1/16解像度)14での16×16ブロックマッチングの際に、16×4の帯毎に、エネルギー(SAD)を保持する。
つまり、図10(b)のように、帯の上からインデックス(BlkIdx)を0…3とつけると、参照フィールドごとに、上述の式8で表すようなエネルギー(SAD)を得ることができる。
ここで、SAD_ListX[refIdx][BlkIdx]はListXのrefIdx毎に16×16ブロックマッチングによって求められた最適な動きベクトルに対してBlkIdx毎にSADを格納したものを表す。
さらに、各参照フィールドで16×16ブロックマッチングにより、最適な動きベクトルMV_ListX[refIdx](MV_List0[0]、MV_List0[1]、MV_List1[0]、MV_List1[1])を得ている。
ここで、参照フレーム決定装置56では、上述の式9で表すように、各Listの対応したBlkIdx毎に残差エネルギーの大小比較を行い、エネルギーの小さい参照フィールドを16×4単位での参照フィールドであると決定する。
また、決められたrefIdx毎に動きベクトルMV_ListN[refIdx]の切り替えも行う。
エネルギーが同値の場合には、refIdxの小さなフィールドを参照フィールドとする。
上記処理によりBlkIdx毎に参照フィールド(refIdx_ListN[BlkIdx])および、動きベクトル(MV_ListN[BlkIdx])を得る。
ここで、比較に用いる指標値をM×Nのブロックマッチングの結果として得られる差分絶対値和(SAD)としたが、M×Nのブロックマッチングの結果として得られる直交変換された差分絶対値和(SATD)や差分2乗和(SSD)を用いてもよい。
また、残差エネルギーから求められるSAD,SATDあるはSSDだけを指標値とするのではなく、refIdx値も任意の重み付け(λ1)でSAD等に足し込んだ値を評価指標値としてもよい。
評価指標をCostという名前で定義すると式10のように表す。
さらに、評価指標には、動きベクトルの情報量を加えてもよい。
具体的には、式11のように重み付け変数λ2を用いて評価指標生成式を定義する。
すなわち、この画像情報符号化装置20では、図16のフローチャートに示す手順に従って、画像処理を行う。
すなわち、間引き装置12によりフレームメモリ(フル解像度)11に格納された画像情報を入力とし、これに、水平方向、垂直方向それぞれに対して、1/N間引き処理を行い、これにより生成された画素値を、フレームメモリ(1/N2解像度)13に格納する(ステップS1)。
ListN(N=0)とする(ステップS2)。
refIdx=0とする(ステップS3)。
動き予測・補償装置(1/N2解像度)14により、フレームメモリ(1/N2解像度)13に格納された画素値を用いて、ブロックマッチングにより、当該ブロックに対する最適な動きベクトル情報の探索を行う(ステップS4)。
そして、サーチポイント(0,0)のSAD値をBlkIdx毎に格納する(ステップS5)。
また、ブロックマッチングの結果として得られるSADが最小値となるポイントでBlkIdx毎にSAD値を格納する(ステップS6)。
次に、ステップS5でBlkIdx毎に格納されたサーチポイント(0,0)のSAD値(SAD[1][List][refIdx][BlkIdx])とステップS5でBlkIdx毎にSADが最小値となるポイントで格納されたSAD値(SAD[0][List][refIdx][BlkIdx])を比較して、当該BlkIdxでの1参照面当たりの動きベクトルとエネルギーの組(SAD[List][refIdx][BlkIdx])を決定する。
次に、ListNのrefIdx毎に16×16ブロックマッチングによって求められた最適な動きベクトルに対してBlkIdx毎にSADを格納したものを表すSAD_ListN[refIdx][BlkIdx]を求める(ステップS7)。
そして、refIdxをインクリメントする(ステップS8)。
refIdxが最終値になったか否かを判定して(ステップS9)、その判定結果がNOである場合には上記ステップS4に戻ってステップS4〜ステップS9の処理を繰り返し行う。
上記ステップS9における判定結果がYESになったら、ListNでBlkIdx毎にSADが最小値となるrefIdxを求める(ステップS10)。
次に、List(N++)すなわちリスト番号(N)をインクリメントする(ステップS11)。
そして、List1であるか否かを判定して(ステップS12)、その判定結果がYESである場合には上記ステップS3に戻ってステップS3〜ステップS11の処理を繰り返し行い、また、上記ステップS1における判定結果がNOである場合には、処理を終了する。
以上のようにして得られたList毎・BlkIdx毎に求められたrefIdx及び動きベクトルの周りだけリファインメント処理を行うことで、リファインメント処理の演算量を削減し、MEの高速化を図ることができる。
また、上記処理では、4×1MBの帯でrefIdxおよび動きベクトルが揃っているため、リファインメント処理において、動きベクトルを探索する領域をメモリアクセスする際に、当該MBの前に探索したメモリを再利用し、新たに必要な領域だけアクセスすることでメモリアクセスの低減も可能となる。
フィールドを例にあげて説明したが、これはフレームにも同様に適用できる。
さらに、4×1MBの帯を例に上げたが、M×Nのマクロブロックを縮小画でのブロックマッチングの単位とした場合に、M×N’(N’は1以上N以下)や、M’×N(M’は1以上M以下)の単位をBlkIdxとする場合に適用可能である。
このように、AVC等の画像符号化方式に基づく画像圧縮情報を出力する画像情報符号化装置20において、縮小画像上でのサーチ時にエネルギー最小となるポイントのサーチ結果だけではなく、(0,0)ポイント(または任意のポイント)のサーチ結果を任意の単位で別途保持することにより、先に示した縮小面におけるサーチの不具合を改善し、縮小画像上で参照フレーム(refIdx)を任意の単位ごとに決定することで、リファインメント処理を削減することで、動きベクトル探索の高速化や、メモリアクセスの低減を実現することができる。
また、図17に示すように、上述の如くAVC等の画像符号化方式に基づく画像圧縮情報を出力する画像情報符号化装置20に階層ベクタ保持メモリ18を設けて、図18のフローチャートに示す手順にしたがって画像処理を行うようにすることもできる。
すなわち、間引き装置12によりフレームメモリ(フル解像度)11に格納された画像情報を入力とし、これに、水平方向、垂直方向それぞれに対して、1/N間引き処理を行い、これにより生成された画素値を、フレームメモリ(1/N2解像度)13に格納する(ステップS21)。
ListN(N=0)とする(ステップS22)。
refIdx=0とする(ステップS23)。
スーパーブロックSBのYアドレスをリセットする(ステップS24)。
スーパーブロックSBのXアドレスをリセットし、また、左端なのでMv_Prev(左隣のMv)が存在しないのでリセットする(ステップS25)。
動き予測・補償装置(1/N2解像度)14により、フレームメモリ(1/N2解像度)13に格納された画素値を用いて、ブロックマッチングにより、当該ブロックに対する最適な動きベクトル情報の探索を行う(ステップS26)。
そして、ステップS26の動きベクトル情報の探索中にMv_PrevのSAD値をBlkIdx毎に格納する(ステップS27)。
また、ブロックマッチングの結果として得られるSADが最小値となる4x4MBでのBestポイントでBlkIdx毎にSAD値を格納し、そのときのMv値をMv_Prevとして「18」に格納する(ステップS28)。
X方向にスーパーブロックSBのアドレスを進める(ステップS29)
Xアドレスが最後まで終わっているか否かを確認し(ステップS30)、まだならステップS26に戻り、最後ならY方向にスーパーブロックSBのアドレスを進める(ステップS31)。
Xアドレスが最後まで終わっているか否かを確認し(ステップS30)、まだならステップS26に戻り、最後ならY方向にスーパーブロックSBのアドレスを進める(ステップS31)。
そして、Yアドレスが最後まで終わっている否かを確認し(ステップS32)、まだならステップS25に戻り、最後ならrefIdxをインクリメントする(ステップS33)。
refIdxが最終値になったか否かを判定して(ステップS34)、その判定結果がNOである場合には上記ステップS24に戻ってステップS24〜ステップS32の処理を繰り返し行う。
上記ステップS34における判定結果がYESになったら、ListNでBlkIdx毎にSADが最小値となるrefIdxを求める(ステップS35)。
List(N++)すなわちリスト番号(N)をインクリメントする(ステップS36)。
そして、List1であるか否かを判定して(ステップS37)、その判定結果がYESである場合には上記ステップS23に戻ってステップS23〜ステップS32の処理を繰り返し行い、また、上記ステップS1における判定結果がNOである場合には、処理を終了する。
1 A/D変換装置、2 画面並べ替えバッファ、3 加算器、4 直交変換装置、5 量子化装置、6 可逆符号化装置、7 蓄積バッファ、8 逆量子化装置、9 逆直交変換装置、10 デブロックフィルタ、11 フレームメモリ(フル解像度)、12 間引き装置、13 フレームメモリ(1/N2解像度)、14 動き予測・補償装置(1/N2解像度)、15 参照フレーム決定装置、16 イントラ予測装置、17 動き予測・補償装置(フル解像度)、18 レート制御装置、20 画像情報符号化装置
Claims (16)
- 複数の参照フレーム画像を持ち、連続するフレーム画像のうち処理対象の対象フレーム画像を分割してなるそれぞれの動き補償ブロック毎に、複数の参照フレーム画像のどれを用いるかを指定して、階層探索に基づく動きベクトルの探索を行う動き予測補償方法であって、
上記動き補償ブロックの画素サイズのうち、最上位層とすべき最も大きい上記画素サイズでなる上記動き補償ブロックの画素を間引くことにより、所定の縮小率でなる下位層の縮小画像を生成する階層化ステップと、
上記階層化ステップにおいて生成された縮小画像を用いて動きベクトルを探索する第1の動き予測補償ステップと、
上記第1の動き予測補償ステップにおいて使用する縮小参照画像を縮小画像上で決定する参照画決定ステップと、
縮小前の画像について、上記第1の動き予測補償ステップで探索された動きベクトルにより指定される所定の検索範囲を用いて、動きベクトルを探索して動き予測を行う第2の動き予測補償ステップと
を備え、
上記第1の動き予測補償ステップでは、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果(差分絶対値和:SAD)をM‘×N‘単位で保持するとともにサーチポイント(0,0)のブロックマッチングの結果を保持することを特徴とする動き予測補償方法。 - 上記参照画決定ステップでは、階層探索の最適点と任意のポイントでM’×N’の単位で大小比較を行い動きベクトルを切り替えることを特徴とする請求項1に記載の動き予測方法。
- 上記参照画決定ステップでは、参照画像ごとにM’×N’の単位で大小比較を行い参照画像と動きベクトルを切り替えることを特徴とする請求項2に記載の動き予測方法。
- 上記参照画決定ステップでは、分割したブロックの評価指標値が各参照画画像で同値となった場合に、参照フレーム(refIdx)が小さいほうを採用することを特徴とする請求項2記載の動き予測方法。
- 上記第1の動き予測補償ステップでは、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果として得られる直交変換された差分絶対値和(SATD)をM’×N’単位で保持することを特徴とする請求項1乃至4のいずれか1項に記載の動き予測方法。
- 上記第1の動き予測補償ステップでは、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果として得られる差分2乗和(SSD)をM’×N’単位で保持することを特徴とする請求項1乃至4のいずれか1項に記載の動き予測方法。
- 上記参照画決定ステップでは、ブロックマッチングの結果から算出される評価指標値とともに、参照フレーム(refIdx)の大きさを任意の重み付けで足し込んだ値を評価指標とすることを特徴とする請求項1乃至4のいずれか1項に記載の動き予測方法。
- 上記第1の動き予測補償ステップでは、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果(差分絶対値和:SAD)をM’×N’単位で保持するとともに、サーチポイント(0,0)のポイントとともに任意の設定ポイントのサーチ結果を保持することを特徴とする請求項1記載の動き予測方法。
- 複数の参照フレーム画像を持ち、連続するフレーム画像のうち処理対象の対象フレーム画像を分割してなるそれぞれの動き補償ブロック毎に、複数の参照フレーム画像のどれを用いるかを指定して、階層探索に基づく動きベクトルの探索を行う動き予測補償装置であって、
上記動き補償ブロックの画素サイズのうち、最上位層とすべき最も大きい上記画素サイズでなる上記動き補償ブロックの画素を間引くことにより、所定の縮小率でなる下位層の縮小画像を生成する階層化手段と、
上記階層化手段において生成された縮小画像を用いて動きベクトルを探索する第1の動き予測補償手段と、
上記第1の動き予測補償手段において使用する縮小参照画像を縮小画像上で決定する参照画決定手段と、
縮小前の画像について、上記第1の動き予測補償手段で探索された動きベクトルにより指定される所定の検索範囲を用いて、動きベクトルを探索して動き予測を行う第2の動き予測補償手段と
を備え、
上記第1の動き予測補償手段では、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果(差分絶対値和:SAD)をM’×N’単位で保持するとともにサーチポイント(0,0)のブロックマッチングの結果を保持することを特徴とする動き予測補償装置。 - 上記参照画決定手段では、階層探索の最適点と任意のポイントでM’×N’の単位で大小比較を行い動きベクトルを切り替えることを特徴とする請求項9に記載の動き予測装置。
- 上記参照画決定手段では、参照画像ごとにM’×N’の単位で大小比較を行い参照画像と動きベクトルを切り替えることを特徴とする請求項10に記載の動き予測装置。
- 上記参照画決定手段では、分割したブロックの評価指標値が各参照画画像で同値となった場合に、参照フレーム(refIdx)が小さいほうを採用することを特徴とする請求項10記載の動き予測装置。
- 上記第1の動き予測補償手段では、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果として得られる直交変換された差分絶対値和(SATD)をM’×N’単位で保持することを特徴とする請求項9乃至12のいずれか1項に記載の動き予測装置。
- 上記第1の動き予測補償手段では、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果として得られる差分2乗和(SSD)をM’×N’単位で保持することを特徴とする請求項9乃至12のいずれか1項に記載の動き予測装置。
- 上記参照画決定手段では、ブロックマッチングの結果から算出される評価指標値とともに、参照フレーム(refIdx)の大きさを任意の重み付けで足し込んだ値を評価指標とすることを特徴とする請求項9乃至12のいずれか1項に記載の動き予測装置。
- 上記第1の動き予測補償手段では、階層探索の単位をM×Nのマクロブロックとし、M’×N’(M’は1以上M以下、N’は1以上N以下)のブロックに分割し、M×Nのブロックマッチングの結果(差分絶対値和:SAD)をM’×N’単位で保持するとともに、サーチポイント(0,0)のポイントとともに任意の設定ポイントのサーチ結果を保持することを特徴とする請求項9記載の動き予測装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007259966A JP2009089332A (ja) | 2007-10-03 | 2007-10-03 | 動き予測方法及び動き予測装置 |
US12/244,116 US20090092189A1 (en) | 2007-10-03 | 2008-10-02 | Movement prediction method and movement prediction apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007259966A JP2009089332A (ja) | 2007-10-03 | 2007-10-03 | 動き予測方法及び動き予測装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009089332A true JP2009089332A (ja) | 2009-04-23 |
Family
ID=40523219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007259966A Pending JP2009089332A (ja) | 2007-10-03 | 2007-10-03 | 動き予測方法及び動き予測装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090092189A1 (ja) |
JP (1) | JP2009089332A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013531838A (ja) * | 2010-05-17 | 2013-08-08 | コグネックス・コーポレイション | 全体画像内で注意の焦点に関する画像データを処理するためのシステムと方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102187678A (zh) * | 2008-10-29 | 2011-09-14 | 松下电器产业株式会社 | 动态图像压缩编码中的编码处理方法和编码处理装置 |
US9237355B2 (en) * | 2010-02-19 | 2016-01-12 | Qualcomm Incorporated | Adaptive motion resolution for video coding |
US10327008B2 (en) | 2010-10-13 | 2019-06-18 | Qualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
US9055304B2 (en) * | 2011-07-01 | 2015-06-09 | Qualcomm Incorporated | Reduced resolution pixel interpolation |
US9300980B2 (en) | 2011-11-10 | 2016-03-29 | Luca Rossato | Upsampling and downsampling of motion maps and other auxiliary maps in a tiered signal quality hierarchy |
CN109427071B (zh) * | 2017-08-30 | 2022-06-17 | 深圳市道通智能航空技术股份有限公司 | 一种全搜索块匹配方法和装置 |
CN116347099A (zh) | 2018-06-19 | 2023-06-27 | 北京字节跳动网络技术有限公司 | 没有运动矢量预测截断的选择的运动矢量差精度 |
TW202025737A (zh) | 2018-09-19 | 2020-07-01 | 大陸商北京字節跳動網絡技術有限公司 | 仿射模式中自適應運動矢量分辨率的快速算法 |
EP3895429A4 (en) | 2019-01-31 | 2022-08-10 | Beijing Bytedance Network Technology Co., Ltd. | CONTEXT FOR CODE AN ADAPTIVE MOTION VECTOR RESOLUTION IN AFFINE MODE |
US11601651B2 (en) | 2019-06-24 | 2023-03-07 | Alibaba Group Holding Limited | Method and apparatus for motion vector refinement |
CN113596455A (zh) * | 2019-09-23 | 2021-11-02 | 杭州海康威视数字技术股份有限公司 | 编解码方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08265773A (ja) * | 1995-03-24 | 1996-10-11 | Graphics Commun Lab:Kk | 階層型動きベクトル検出方法及びその装置 |
JP2000175202A (ja) * | 1998-12-09 | 2000-06-23 | Victor Co Of Japan Ltd | 動きベクトル検出装置 |
JP2005167721A (ja) * | 2003-12-03 | 2005-06-23 | Sony Corp | データ処理装置およびその方法と符号化装置 |
WO2006001485A1 (ja) * | 2004-06-29 | 2006-01-05 | Sony Corporation | 動き予測補償方法及び動き予測補償装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100446235B1 (ko) * | 2001-05-07 | 2004-08-30 | 엘지전자 주식회사 | 다중 후보를 이용한 움직임 벡터 병합 탐색 방법 |
US7151798B2 (en) * | 2002-10-29 | 2006-12-19 | Winbond Electronics Corp. | Method for motion estimation using a low-bit edge image |
JP4841101B2 (ja) * | 2002-12-02 | 2011-12-21 | ソニー株式会社 | 動き予測補償方法及び動き予測補償装置 |
KR20060004060A (ko) * | 2004-07-08 | 2006-01-12 | 삼성전자주식회사 | 다 해상도 기반의 움직임 벡터 추정 방법과 이를 구현하기위한 프로그램이 기록된 기록 매체 |
WO2006012383A2 (en) * | 2004-07-20 | 2006-02-02 | Qualcomm Incorporated | Method and apparatus for motion vector prediction in temporal video compression |
US20070268964A1 (en) * | 2006-05-22 | 2007-11-22 | Microsoft Corporation | Unit co-location-based motion estimation |
US20080126278A1 (en) * | 2006-11-29 | 2008-05-29 | Alexander Bronstein | Parallel processing motion estimation for H.264 video codec |
-
2007
- 2007-10-03 JP JP2007259966A patent/JP2009089332A/ja active Pending
-
2008
- 2008-10-02 US US12/244,116 patent/US20090092189A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08265773A (ja) * | 1995-03-24 | 1996-10-11 | Graphics Commun Lab:Kk | 階層型動きベクトル検出方法及びその装置 |
JP2000175202A (ja) * | 1998-12-09 | 2000-06-23 | Victor Co Of Japan Ltd | 動きベクトル検出装置 |
JP2005167721A (ja) * | 2003-12-03 | 2005-06-23 | Sony Corp | データ処理装置およびその方法と符号化装置 |
WO2006001485A1 (ja) * | 2004-06-29 | 2006-01-05 | Sony Corporation | 動き予測補償方法及び動き予測補償装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013531838A (ja) * | 2010-05-17 | 2013-08-08 | コグネックス・コーポレイション | 全体画像内で注意の焦点に関する画像データを処理するためのシステムと方法 |
Also Published As
Publication number | Publication date |
---|---|
US20090092189A1 (en) | 2009-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5018085B2 (ja) | 動き予測補償方法及び動き予測補償装置 | |
US11107251B2 (en) | Image processing device and method | |
JP2009089332A (ja) | 動き予測方法及び動き予測装置 | |
US7426308B2 (en) | Intraframe and interframe interlace coding and decoding | |
JP3879741B2 (ja) | 画像情報符号化装置および画像情報符号化方法 | |
KR100950743B1 (ko) | 화상 정보 부호화 장치 및 방법, 및 화상 정보 복호 장치및 방법 | |
US11064191B2 (en) | Method for encoding video information and method for decoding video information, and apparatus using same | |
US20110176614A1 (en) | Image processing device and method, and program | |
US20110103486A1 (en) | Image processing apparatus and image processing method | |
US20120076203A1 (en) | Video encoding device, video decoding device, video encoding method, and video decoding method | |
WO2010001917A1 (ja) | 画像処理装置および方法 | |
US20120106862A1 (en) | Image processing device, method, and program | |
KR20060109290A (ko) | 화상 복호 장치 및 화상 복호 방법과 화상 복호 프로그램 | |
WO2006035584A1 (ja) | 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体 | |
WO2012098845A1 (ja) | 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置 | |
JP4360093B2 (ja) | 画像処理装置および符号化装置とそれらの方法 | |
US20070133689A1 (en) | Low-cost motion estimation apparatus and method thereof | |
US20120121019A1 (en) | Image processing device and method | |
JP4318019B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP4349109B2 (ja) | 画像データ処理装置、その方法、および、符号化装置 | |
JP2009049969A (ja) | 動画像符号化装置及び方法並びに動画像復号化装置及び方法 | |
JP2006025033A (ja) | 画像処理装置および画像処理方法 | |
JP4423968B2 (ja) | 符号化装置 | |
Murmu | Fast motion estimation algorithm in H. 264 standard | |
JP2005110082A (ja) | データ処理装置およびその方法と符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100310 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110405 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110802 |