JP2014150467A - 動き推定装置及び動き推定プログラム - Google Patents

動き推定装置及び動き推定プログラム Download PDF

Info

Publication number
JP2014150467A
JP2014150467A JP2013018967A JP2013018967A JP2014150467A JP 2014150467 A JP2014150467 A JP 2014150467A JP 2013018967 A JP2013018967 A JP 2013018967A JP 2013018967 A JP2013018967 A JP 2013018967A JP 2014150467 A JP2014150467 A JP 2014150467A
Authority
JP
Japan
Prior art keywords
search
prediction target
frame
block
target 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.)
Granted
Application number
JP2013018967A
Other languages
English (en)
Other versions
JP5726220B2 (ja
Inventor
Satoshi Goto
敏 後藤
Jinjia Zhou
金佳 周
Dajiang Zhou
大江 周
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Semiconductor Technology Academic Research Center
Original Assignee
Semiconductor Technology Academic Research Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Semiconductor Technology Academic Research Center filed Critical Semiconductor Technology Academic Research Center
Priority to JP2013018967A priority Critical patent/JP5726220B2/ja
Priority to US14/041,965 priority patent/US20140219355A1/en
Publication of JP2014150467A publication Critical patent/JP2014150467A/ja
Application granted granted Critical
Publication of JP5726220B2 publication Critical patent/JP5726220B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】高予測性能を維持しつつ安定レートでME計算複雑性を減少する動き推定装置の提供。
【解決手段】予測対象フレームF(0)内の予測対象ブロックB0に対し、過去方向フレームF(−)内又は未来方向フレームF(+)内の探索領域内で、B0に最近似の参照ブロックRBを探索するブロック探索手段26、B0に対しF(−),F(+)内の探索中心SCを設定する探索中心設定手段24、及びF(−),F(+)内のSCの周りに探索領域SRの設定を行う探索領域設定手段25を備え、探索領域設定手段25は、F(0)がPフレームの場合、B0に対し、相対的大サイズのSR.L又は相対的小サイズのSR.Sを設定し、かつ、隣接する2つのB0間で、SR.LとSR.Sとの割り当てを逐次切り替え、探索中心設定手段24は、SR.Sの割当フレームに対しMVPで特定される位置をSCに設定する。
【選択図】図7

Description

本発明は、動画像符号化に使用される動き推定技術に関し、特に、安定したレートで動き推定の複雑性を減少させることが可能な動き推定技術に関する。
動き推定(motion estimation:ME)は、MPEG−2,H.264/AVC,HEVCなどの、殆どすべての主流な動画圧縮標準において採用されている。MEは、フレーム間の時間データ冗長性を除去することで、符号化効率に大きく寄与する。MEは、符号化対象のフレーム(以下「予測対象フレーム」)内の画素ブロック(以下「予測対象ブロック」)を参照フレーム内の画素ブロックにマッチングさせることによって行われる。参照フレームから符号化対象のフレームへの変位に伴う対応する画素ブロックの差分のみが符号化される(非特許文献1)。
全探索ME(full-search ME)では、予測対象ブロックに最もよくマッチする画素ブロックを見つけ出すために、参照フレーム内に設定される探索領域内のすべての点をチェックする。従って、全探索MEの計算複雑性は非常に大きなものとなる。例えば、非特許文献2において、H.264/AVCエンコーダに於いて、片方向の全探索MEを使用し探索領域(search range:SR)を32に設定した場合、全計算時間に占めるMEの計算時間の割合は50%以上を占めることが報告されている。一方、片方向MEに比べて、双方向MEの方が予測性能がより良好であるため、圧縮効率を高めるために双方向MEの必要性が増しているが、双方向MEは片方向MEに比べ複雑性が倍増する。さらに、1080p HD,4K QFHD,8K Ultra HD(又はSuper Hi-Vision,SHV)等のより解像度の高いビデオ・コンテンツでは、より高い圧縮効率を達成するためより大きな探索領域が必要とされることになるが、全探索MEの複雑性は探索領域の二乗に比例するため、MEの計算時間の割合は更に大きくなる。従って、MEの計算複雑性の減少は、極めて重要な技術課題である。
そこで、これまでに、符号化性能を維持しつつMEの複雑性を減少させるため、様々な手法が開発されてきている。これらの手法の1カテゴリーとして、探索領域でチェックする探索点数を減少させるため、全探索に代えて新たな探索パターンを適用するというものがある。このカテゴリーの手法の典型的なものとして、3ステップ探索(three step search)(非特許文献3)、4ステップ探索(four step search)(非特許文献4)、ダイヤモンド探索(diamond search)(非特許文献5)、クロスダイヤモンド探索(cross diamond search)(非特許文献6)が知られている。
一方、探索領域(SR)を小さくし全探索MEの複雑性を減少させたものとして、幾つかの動的SR選択アルゴリズム(dynamic SR selection algorithm)が開示されている(非特許文献13−16)。これらのアルゴリズムの基本的な考え方は、予測される動き強度によって探索領域を適応的に割り当てるというものであり、これにより、小さい探索領域で済むため平均計算時間を抑えることができる。
また、非特許文献17においては、メモリートラフィックを安定的に減少させることができる動的SR適応アルゴリズム(dynamic SR adjustment algorithm)が開示されている。
T. Wiegand, G. J. Sullivan, G. Bjntegaard, and A. Luthra, "Overview of the H.264/AVC video coding standard," IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, no. 7, pp. 560-576, Jul. W. I. Chong, B. Jeon, and J. Jeong, "Fast motion estimation with modified diamond search for variable motion block sizes," in IEEE International Conference on Image Processing, 2003, pp. 24-17. R. Li, B. Zeng, and M. L. Liou, "A new three-step search algorithm for block motion estimation," IEEE Transactions on Circuits and Systems for Video Technology, vol. 4, no. 4, p. 438442, Aug 1994. L. M. Po and W. C. Ma, "A novel four-step search algorithm for fast block motion estimation," IEEE Transactions on Circuits and Systems for Video Technology, vol. 6, no. 3, p. 313317, Jun 1996. S. Zhu and K.-K. Ma, "A new diamond search algorithm for fast block matching motion estimation," IEEE Transactions on Image Processing, Vol. 9, no. 2, p. 287290, Feb 2000. C. H. Cheung and L. M. Po, "A novel cross-diamond search algorithm for fast block motion estimation," IEEE Transactions on Circuits and Systems for Video Technology, vol. 12, no. 12, p. 11681177, Dec 2002. L. Ding, W. Chen, P. Tsung, and L. Chen, "A 212mpixels/s 4096x2160p multiview video encoder chip for 3D/quad HDTV applications," in International Solid-State Circuits Conference, 2009, pp. 154-155. Y. Lin, D. Li, C. Lin, T. Kuo, and S. Wu, "A 242mw 10mm2 1080p H.264/AVC high-profile encoder chip," in International Solid-State Circuits Conference, 2008, pp. 314-315. P. Tsung, W. Chen, L. Ding, S. Chien, and L. Chen, "Cache-based integer motion/disparity estimation for quad-hd h.264/avc and hd multiview video coding," in IEEE International Conference on Acoustics, Speech and Signal Processing, 2009, pp. 2013-2016. Y. Lin, C. Lin, T. Kuo, and T. Chang, "A hardware-efficient H.264/AVC motion-estimation design for high-definition video," IEEE Transactions on Circuits and Systems for Video Technology, vol. 35, no. 6, pp. 1526-1535, Jul. 2008. X. Bao, D. Zhou, P. Liu, and S. Goto, "An advanced hierarchical motion estimation scheme with lossless frame recompression and early level termination for beyond high definition video coding," IEEE Transactions on Multimedia, pp. 1520-9210, Oct. 2011. H. Y. Peng and T. L. Yu, "Efficient hierarchical motion estimation algorithm and its VLSI architecture," IEEE Transactions on Circuits and Systems for Video Technology, vol. 16, no. 10, pp. 1385-1398, Oct 2008. C. C. Lou, M. Hsieh, S. W. Lee, and C. C. J. Kuo, "Adaptive motion search range prediction for video encoding," IEEE Transactions on Circuits and Systems for Video Technology, vol. 20, no. 12, p. 19031908, Dec 2010. S. Goel, Y Ismail, and M. A. Bayoumi, "Adaptive search window size algorithm for fast motion estimation in H.264/AVC standard," in Midwest Symposium on Circuits and Systems, 2005, p. 15571560. Z. Chen, Q. Liu, T. Ikenaga, and S. Goto, "A motion vector difference based self-incremental adaptive search range algorithm for variable block size motion estimation," in IEEE International Conference on Image Processing, 2008, pp. 1988 - 1991. G. L. Li and M. J. Chen, "Adaptive search range decision and early termination for multiple reference frame motion estimation for H.264," IEICE Transactions on Communication, vol. E89-B, no. 1, pp. 250-253, Jul. 2006. J. Jung and J. Kim, "A dynamic search range algorithm for stabilized reduction of memory traffic in video encoder," IEEE Transactions on Circuits and Systems for Video Technology, vol. 20, no. 7, pp. 1041-1046, Jul. 2010. C. Kao and Y Lin, "A memory-efficient and highly parallel architecture for variable block size integer motion estimation in H.264/AVC," IEEE Transactions on Very Large Scale Integration Systems, vol. 18, no. 6, pp. 1063-8210, June 2010. H.264/AVC reference software version JM 17.2. [Online]. Available: <URL:http://iphome.hhi.de/suehring/tml> JCT-VC HEVC reference software version HM 7.0. [Online]. Available: <URL:https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware> C. Chen, S. Chien, Y. Huang, T. Chen, T. Wang, and L. Chen, "Analysis and architecture design of variable block-size motion estimation for H.264/AVC," IEEE Transactions on Circuits and Systems for Video Technology, vol. 53, no. 3, pp. 1549-8328, March 2006. G. Bjontegaard, "Calculation of average PSNR differences between RD curves," ITU-T SG16/Q6, 13th VCEG meeting, Apr. 2001. F. Bossen, "Common test conditions and software reference configurations," JCTVC-H1100, Joint Collaborative Team on Video Coding (JCTVC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29AVG11, Feb. 2012. J. Zhou, D. Zhou, and S. Goto, "Interlaced asymmetric search range assignment for bidirectional motion estimation," in IEEE International Conference on Image Processing, 2012, in press. 三木弼一編著,「MPEG−4のすべて」,初版,株式会社工業調査会,1998年9月30日,ISBN4-7693-1167-2
上述の3ステップ探索(three step search)(非特許文献3)、4ステップ探索(four step search)(非特許文献4)、ダイヤモンド探索(diamond search)(非特許文献5)、クロスダイヤモンド探索(cross diamond search)(非特許文献6)の各手法は、通常、計算量を効果的に減少させることができるため、ソフトウェアベースのエンコーダを高速化させることができる。しかしながら、これらの新たな探索パターンは、通常、不規則なデータ処理フローを伴うため、ハードウェア実装する際には、パイプライン化又は並列化が困難となるという問題がある。
実際、殆どのハードウェアMEアーキテクチャ、特に、近年発表されたビデオ・エンコーダ・チップ(非特許文献7,8)において実装されたMEアーキテクチャでは、全探索ME又は全探索MEの修正バージョンを基本としている。非特許文献7,9では、比較的小さい探索領域の全探索MEの性能を向上させるため、探索中心導出法(search center derivation method)に基づく候補を適用している。非特許文献10,11,12に開示された階層的MEアーキテクチャでは、複雑性を減少させつつ大きな探索窓をサポートするために、階層的に複数のレベルでダウン・サンプリングされた参照ブロックを用いて、各階層において全探索MEを実行している。
また、非特許文献13−16に開示されている動的SR選択アルゴリズムは、安定して複雑性を抑制することを保証することができないという問題がある。従って、リアルタイム・システムにおいて重要な最悪条件性能を向上させることができない。
また、非特許文献17に開示されている動的SR適応アルゴリズムでは、メモリートラフィックを安定的に減少させることができるものの、その計算複雑性は、ブロック間でいまだ変動的であるという問題がある。
そこで、本発明の目的は、高い予測性能を維持しつつ、安定したレートでMEの計算複雑性を減少させることが可能な動き推定装置を提供することにある。
〔1〕原理
本発明に係る動き推定装置では、本発明者が新たに開発した交互非対称探索範囲割当(alternating asymmetric SR assignment:AASRA)スキームを適用する。AASRAは、双方向MEのためのAASRA(AASRA−B)、片方向MEのためのAASRA(AASRA−P)、及びAASRA−BとAASRA−Pの組み合わせであるAASRA(AASRA−PB)の3つのスキームを含んでいる。最初に、これらのスキームの基本的な原理について説明する。
(1)双方向MEのためのAASRA(AASRA−B)
双方向予測フレーム(Bフレーム)では、過去方向及び未来方向の双方向からの参照を用いて動き推定が行われる。統計的には、図1に示したように、2つの最近接の参照フレーム(1つ過去側及び1つ未来側のフレーム)が、符号化効率にとって最も重要である。実際、近年開示された高スループット・ビデオ・エンコーダにおける実装(非特許文献7,8)では、計算複雑性を減少させメモリ帯域幅を妥当な範囲に維持するため、これら最近接の参照フレームのみが探索されている。一方向のみを探索する片方向予測フレーム(Pフレーム)に比べ、Bフレームは2倍の数(二方向)の参照フレームを探索するため、それぞれの方向の参照フレームの重要性はPフレームに比べて低いものとなる。そこで、AASRA−Bでは、Bフレームの一つの参照方向に対しては「弱いME(weaker ME)」を適用することによって、全体の計算量を減少させる。
MEの計算複雑性は、探索範囲(SR)のサイズに依存するため、非対称SR割当(asymmetric SR assignment:ASRA)法では、常に、一方の方向に対しては相対的に大きい探索領域(SR.L)を割り当て、もう一方の方向に対しては相対的に小さい探索領域(SR.S)を割り当てる。しかしながら、SR.Sよりも大きな探索領域を必要とする急速な動きのビデオシーケンス(high-motion video sequence)に対しては、ASRAではSR.Sの方向に於いて不正確な動き推定がなされる可能性があり、これにより大きな符号化性能の低下が生じる可能性がある。
この欠点を克服するため、交互非対称SR割当(AASRA)スキームでは、ASRAのような二方向への2つのSR(SR.L,SR.S)の固定的な割り当てではなく、図1に示したように、画素ブロック(マクロブロック(MB:macroblock)又は最大符号化単位(LUC:Largest Coding Unit))毎に1回、過去方向及び未来方向でSR.SとSR.Lの使用割り当てを切り替える。即ち、画素ブロック(N)において或る参照方向にSR.Lが割り当てられた場合、画素ブロック(N+1)においては当該参照方向に対しSR.Sが割り当てられなければならない。さらに、画素ブロック(N+2)においては当該参照方向に対しSR.Lが割り当てられなければならない...。その逆もまた同様である。
具体的に実装する場合は、SR.Lの探索中心はゼロ・ベクトル又は動きベクトル予測値(motion vector predictor:MVP)(例えば、ITU-T H.264, "SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS"(2012年1月)又は非特許文献25,p.44−46を参照)の何れを使用してもよいが、SR.Sの探索中心は、常にMVPとすべきである。
理論的には、AASRA−Bには以下のような利点がある。
第一に、それぞれの画素ブロックに於いて、MEの複雑性が安定する。これは、最悪条件性能を確保するために重要である。SR.LとSR.Sのサイズ比が十分に大きい場合、両方向にSR.Lを割り当てた場合(従来の全探索ME)に対する複雑性の低減率はおよそ50%である。また、これにより、BフレームとPフレームとの間の符号化複雑度の変分が減少する。これは、リアルタイム・システムに於いて、Pフレームの符号化におけるハードウェア利用効率の改善に繋がる。
第二に、それぞれの方向において、常に、SR.Sを用いた探索の前にSR.Lを用いた探索が行われる。SR.Lを用いた探索は、急速な動きに対して正確な動き推定を行うことができるが、これはまた、その次のSR.Sを用いた探索に対して、マッチングに適した探索中心を与えるという傾向もある。すなわち、SR.Lを用いた探索で得られた動きベクトル(motion vector:MV)を、その次のSR.Sを用いた探索の探索中心の決定に利用することで、SR.Sのサイズがさほど大きくなくても、良好な動き推定が行われることが予想される。結果的に、ASRAとは対照的に、AASRA−Bでは、両探索方向に等しく且つ充分な重要性を置いているといえる。また、特に、SR.Lの探索中心をMVPとした場合、AASRA−Bでは、SR.Lよりも大きいリアル・モーション(real motion)でさえ、動きベクトルを補足することが可能となる。図2(a)に示すように、これは常時SR.Lによる探索が実行されていることと類似しており、2つ以上の画素ブロックに対する累積多重探索が行われていることに等しい。他方、SR.Sを用いて同様の累積多重探索を行っても同様の効果は得られない(図2(b))。
すべての探索領域をSR.Lとした双方向の全探索MEと比較した場合、AASRA−Bは、検索点数において、ME複雑性を(1−(SR.S/SR.L))/2倍に減少させる。SR.S<<SR.Lの場合、計算複雑性の低減率は約50%である。
(2)片方向MEのためのAASRA(AASRA−P)
AASRA−Bは、双方向MEに対する手法であるが、同様の交互SR割当の考え方が、参照方向が片方向しかないPフレームに対しても適用することができる。片方向MEのためのAASRA(AASRA−P)は、フレーム内の先頭の画素ブロックの探索領域に対してSR.Lを割り当てることから開始して、予測対象ブロックが隣接する画素ブロックに移る毎に、探索領域のSR.Sへの交代、SR.Lへの復帰、・・・が交互に繰り返される。図3に、AASRA−Pにおける探索領域の割り当て方法を示す。これは、AASRA−B(図1)における片方向側の動作と同じである。各画素ブロックのME計算複雑性は割り当てられた探索領域のサイズとともに周期的に変化するが、互いに隣接する2つの画素ブロックのペア(以下「ブロックペア」という。)に対する計算複雑性は安定している。
すべての探索領域をSR.Lとした片方向の全探索MEと比較した場合、AASRA−Pは、検索点数において、ME複雑性を(1−(SR.S/SR.L))/2倍に減少させる。SR.S<<SR.Lの場合、計算複雑性の低減率は約50%である。これは、Bフレームに対するAASRA−Bの低減率と等しい。
(3)AASRA−BとAASRA−Pの組み合わせ(AASRA−PB)
AASRA−BとAASRA−Pは、(参照方向,画素ブロックのインデックス)の2次元空間において、SR.LとSR.Sとの切り換えを行うことを特徴とするが、双方向MEに対しては、さらに計算複雑度を低減させるために、AASRA−BとAASRA−Pの2つのスキームを結合させることができる。
図4に、AASRA−BとAASRA−Pの組み合わせ(AASRA−PB)スキームにおける探索領域の割り当て方法を示す。連続する2つの画素ブロック(奇数番目の画素ブロックとそれに隣接する偶数番目の画素ブロック)のペア(ブロックペア)が探索領域割当処理における最小単位とみなされる。1つのブロックペア内に於いて、2つの画素ブロックの双方向探索動作で、1つの画素ブロックの1つの探索方向の探索領域に対してのみSR.Lが割り当てられ、残り3つの探索領域にはSR.Sが割り当てられる。ブロックペア内においてSR.Lが割り当てられる(画素ブロックのインデックスの偶奇性,探索方向)は、隣接するブロックペア間で図5に示したように切り替えられる。すなわち、SR.Lが割り当てられる(画素ブロックのインデックスの偶奇性,探索方向)は、連続する4つのブロックペア間ですべて異なるものとなるように設定され、連続する4つのブロックペアを1周期として、周期的にSR.Lの割り当ての切り換えが行われる。
すべての探索領域をSR.Lとした片方向の全探索MEと比較した場合、AASRA−PBは、検索点数において、ME複雑性を(3−3(SR.S/SR.L))/4倍に減少させる。SR.SのサイズをSR.Lのサイズの1/4とした場合、計算複雑性の低減率は70%である。
AASRA−PBは双方向探索に対してAASRA−Bよりも大きな計算複雑性の低減ができるという利点を有するが、AASRA−PBのもう一つの利点は、PフレームとBフレームにおけるME計算における計算複雑性に釣り合いがとれることにある。両タイプのフレームを含む符号化ワークロードにおいて、AASRA−BがBフレームに適用されているとすると、元のPフレームの計算複雑性は、AASRA−Bを適用したBフレームの計算複雑性よりもすでに小さいため、例えPフレームにAASRA−Pを適用したとしても、最悪条件のME計算複雑性を減少させることはできない。しかしながら、Pフレーム及びBフレームに、それぞれ、AASRA−P,AASRA−PBを適用した場合、平均及び最悪条件の計算複雑性の両方を最小にすることができる。
〔2〕本発明の構成及び作用
本発明に係る動き推定装置の第1の構成は、時間順に並ぶ複数のフレームで構成された動画像において、前記フレームのうち動きベクトルの予測を行うフレームを予測対象フレームF(0)とするとき、該予測対象フレームF(0)内を区画して設定される画素ブロックの各々を、順次、動きベクトルの予測を行う予測対象ブロックとし、該予測対象ブロックに対する動きベクトルの推定を行う動き推定装置であって、
前記予測対象フレームF(0)内の前記予測対象ブロックに対して、前記予測対象フレームF(0)に対し過去方向のフレームF(−)内の所定の探索領域内又は未来方向のフレームF(+)内の所定の探索領域内で、前記予測対象ブロックに最も近似する参照ブロックを探索するブロック探索手段と、
前記予測対象ブロックに対し、前記ブロック探索手段が前記フレームF(−),F(+)内で探索を行う際の探索中心を設定する探索中心設定手段と、
前記予測対象ブロックに対し、前記フレームF(−),F(+)内の前記探索中心の周りに前記探索領域の設定を行う探索領域設定手段と、を備え、
前記探索領域設定手段は、前記予測対象フレームF(0)が片方向予測フレームの場合、前記予測対象ブロックB(n)に対し、前記フレームF(−)に、相対的にサイズの大きい探索領域SR.L又は相対的にサイズの小さい探索領域SR.Sを設定するものであり、
さらに前記探索領域設定手段は、隣接する2つの前記予測対象ブロックの間で、前記探索領域SR.Lと前記探索領域SR.Sとの割り当てを逐次切り替えることを特徴とする。
この構成により、動き推定装置は、上述したAASRA−Pスキームにより動きベクトルの探索を行うことができる。
ここで、「フレーム」は、オリジナルのビデオシーケンスのフレームであってもよいが、階層的探索(Hierarchical search)を実行する際にオリジナルのビデオシーケンスの各フレームをダウン・サンプリングして生成されるフレームであってもよい。「画素ブロック」とは、フレーム内を区画して設定される画素のブロックであり、マクロブロック(MB)や最大符号化単位(LUC)などである。
本発明に係る動き推定装置の第2の構成は、前記第1の構成において、前記探索領域設定手段は、前記予測対象フレームF(0)が双方向予測フレームの場合、前記予測対象ブロックに対し、前記フレームF(−),F(+)の何れか一方に、前記探索領域SR.Lを設定し、他方に、前記探索領域SR.Sを設定するものであり、
さらに前記探索領域設定手段は、隣接する2つの予測対象ブロックの間で、前記探索領域SR.L,SR.Sの前記フレームF(−),F(+)への割り当てを逐次切り替えることを特徴とする。
この構成により、動き推定装置は、上述したAASRA−Bスキームにより動きベクトルの探索を行うことができる。
本発明に係る動き推定装置の第3の構成は、前記第1の構成において、前記予測対象フレームF(0)内の前記画素ブロックを、奇数番目の画素ブロックとそれに隣接する偶数番目の画素ブロックとのペアであるブロックペアの単位に分割し、前記予測対象ブロックを含む前記ブロックペアを予測対象ブロックペアとするとき、
前記探索領域設定手段は、前記予測対象フレームF(0)が双方向予測フレームの場合、前記予測対象ブロックペア内の前記各予測対象ブロックのうちの何れか一方の予測対象ブロックに対しては、前記フレームF(−),F(+)の両方に前記探索領域SR.Sを設定し、
他方の予測対象ブロックに対しては、前記フレームF(−),F(+)の一方に前記探索領域SR.L、他方に前記探索領域SR.Sを設定するものであり、
さらに前記探索領域設定手段は、前記予測対象ブロックペア内で前記探索領域SR.Lが割り当てられる前記予測対象ブロックの(偶奇性,探索方向)の組み合わせが、連続する4つの前記予測対象ブロックペアの間ですべて異なるものとなるように、前記探索領域SR.S,SR.Lの割り当てを逐次切り替えるものであることを特徴とする。
この構成により、動き推定装置は、上述したAASRA−PBスキームにより動きベクトルの探索を行うことができる。
本発明に係る動き推定装置の第4の構成は、前記第1の構成において、連続するp個(pは2以上の整数)の画素ブロックを1組のブロックグループとし、前記予測対象ブロックを含む前記ブロック集合を予測対象ブロックグループとするとき、前記探索領域設定手段は、隣接する2つの前記予測対象ブロックグループの間で、前記探索領域SR.Lと前記探索領域SR.Sとの割り当てを逐次切り替えるものであり、前記探索中心設定手段は、少なくとも前記探索領域設定手段により前記探索領域SR.Sが割り当てられる前記フレームに対しては、前記予測対象ブロックグループ毎に同一の前記探索中心とするとともに、前記予測対象フレームF(0)内で前記予測対象ブロックグループに隣接し且つ前記予測対象ブロックグループよりも先に動きベクトルが予測された画素ブロックにおける動きベクトルから算出される動きベクトル予測値によって特定される位置を、前記探索中心として設定することを特徴とする。
これにより、AASRA−Pスキームにおいて、p個の画素ブロックに対して並列に動き探索を行う並列化が可能となる。
本発明に係る動き推定装置の第5の構成は、前記第4の構成において、前記探索領域設定手段は、前記予測対象フレームF(0)が双方向予測フレームの場合、前記予測対象ブロックに対し、前記フレームF(−),F(+)の何れか一方に、前記探索領域SR.Lを設定し、他方に、前記探索領域SR.Sを設定するものであり、さらに前記探索領域設定手段は、隣接する2つの前記予測対象ブロックグループの間で、前記探索領域SR.L,SR.Sの前記フレームF(−),F(+)への割り当てを逐次切り替えることを特徴とする。
これにより、AASRA−Bスキームにおいて、p個の画素ブロックに対して並列に動き探索を行う並列化が可能となる。
本発明に係る動き推定装置の第5の構成は、前記第4の構成において、前記予測対象フレームF(0)内の前記画素ブロックグループを、奇数番目の画素ブロックグループとそれに隣接する偶数番目の画素ブロックグループとのペアであるブロックグループペアの単位に分割し、前記予測対象ブロックグループを含む前記ブロックグループペアを予測対象ブロックグループペアとするとき、
前記探索領域設定手段は、前記予測対象フレームF(0)が双方向予測フレームの場合、前記予測対象ブロックグループペア内の前記各予測対象ブロックグループのうちの何れか一方の予測対象ブロックグループに対しては、前記フレームF(−),F(+)の両方に前記探索領域SR.Sを設定し、
他方の予測対象ブロックグループに対しては、前記フレームF(−),F(+)の一方に前記探索領域SR.L、他方に前記探索領域SR.Sを設定するものであり、
さらに前記探索領域設定手段は、前記予測対象ブロックグループペア内で前記探索領域SR.Lが割り当てられる前記予測対象ブロックグループの(偶奇性,探索方向)の組み合わせが、連続する4つの前記予測対象ブロックグループペアの間ですべて異なるものとなるように、前記探索領域SR.S,SR.Lの割り当てを逐次切り替えるものであることを特徴とする。
これにより、AASRA−PBスキームにおいて、p個の画素ブロックに対して並列に動き探索を行う並列化が可能となる。
本発明に係る動き推定プログラムの構成は、コンピュータに読み込ませて実行させることにより、当該コンピュータを、前記第1乃至6の何れか一の動き推定装置として機能させることを特徴とする。
以上のように、本発明によれば、高い予測性能を維持しつつ、安定したレートでMEの計算複雑性を減少させることが可能な動き推定装置を提供することができる。計算複雑性のレートが安定しているため、パイプライン化又は並列化が容易であり、ハードウェア実装も容易である。
実際に実験した結果、本発明の第1,2の構成を適用した動き推定装置では、全探索MEを適用したものと比較して46%を越える計算複雑性の減少を達成することができ、双方向に於いてMEが急速な動きを追跡することができるようになる。更に、本発明の第3の構成を適用した動き推定装置では、符号化性能の若干の低下は見られるものの、全探索MEに比べ70%を上回る計算複雑性の減少を達成できることが実証された。
双方向MEのためのAASRA(AASRA−B)スキームにおける探索領域の割り当て方法を示す図である。 AASRA法のMV追跡能力(a)とASRA法のSE.S方向のMV追跡能力(b)との比較を示す図である。 片方向MEのためのAASRA(AASRA−P)スキームにおける探索領域の割り当て方法を示す図である。 AASRA−BとAASRA−Pの組み合わせ(AASRA−PB)スキームにおける探索領域の割り当て方法を示す図である。 AASRA−PBにおけるSR.Lの割り当て切り替え方法を示す図である。 本発明の実施例1に係る動き推定装置を使用する動画像符号化器の一例を示す図である。 本発明の実施例1に係る動き推定装置の構成を示すブロック図である。 本実施例の動き推定装置の全体動作を表すフローチャートである。 図8の探索領域割当処理を表すフローチャートである。 スネーク走査のメモリ・アクセス・シーケンスを示す図である。 全探索MEを用いた動き推定装置及び本実施例の動き推定装置を用いたビデオ・エンコーダにおいて、SRのサイズを変化させた場合の符号化ビットレートの変化を示す図である。 実施例2に係る動き推定装置8におけるPフレーム及びBフレームに対する探索領域割当処理を表すフローチャートである。 IMNPDRに基づくAASRAの探索中心の決め方を説明する図である。 本発明の実施例3に係る動き推定装置の構成を示すブロック図である。 実施例3に係る動き推定装置の全体動作を表すフローチャートである。 PMRME及びAASRAスキームを適用したPMRMEにおいて、同等のスループットを達成するために必要な相対的ハードウェア並列性を示す図である。
以下、本発明を実施するための形態について、図面を参照しながら説明する。
(1)動き推定装置を使用するビデオ・エンコーダの全体構成
図6は、本発明の実施例1に係る動き推定装置を使用するビデオ・エンコーダを示す図である。図6においては、ビデオ・エンコーダの一例として、通常のMPEG−4エンコーダを挙げているが、本発明に係る動き推定装置の適用範囲はこれに限られるものではない。また、本実施例におけるビデオ・エンコーダ及び動き推定装置は、マイコンや再構成可能論理デバイス(Reconfigurable Logic Device)やASIC(Application Specific Integrated Circuit)などを用いてハードウェア的に構成してもよいが、コンピュータ・プログラムとして構成して記録媒体に記録しておき、該記録媒体の該コンピュータ・プログラムをコンピュータに読み込ませて実行することにより本実施例におけるビデオ・エンコーダ及び動き推定装置を実現するようにしてもよい。
尚、本実施例以下の実施例において、ビデオ・エンコーダ1により符号化する動画像は、時間順に並ぶ複数のフレーム(VOP:Video Object Plane)で構成されており、各VOPのうち動きベクトルの予測を行うフレームを予測対象フレームF(0)とし、該予測対象フレームF(0)内を所定のサイズの矩形に区画して設定されるブロックを画素ブロックとする。画素ブロックはマクロブロック(MB:macroblock)や最大符号化単位(LCU:Largest Coding Unit)などが使用されるが、ここでは、画素ブロックはマクロブロックであるとする。画素ブロックのサイズは任意とする。
ビデオ・エンコーダ1は、イントラ符号化部2、インター符号化部3、逆量子化器4、逆DCT演算器5、加算器6、デブロッキング・フィルタ7、本発明に係る動き推定装置8、及び動き補償器9を備えている。
イントラ符号化部2は、Iフレームに対するイントラ符号化(intra-cording)を行う。このイントラ符号化部2は、DCT演算器10量子化器11、及びエントロピー符号化器12を備えている。DCT演算器10は、入力されるビデオ画像のフレームを、基本処理単位であるマクロブロック(MB)に分割し、各MBに対して離散コサイン変換(DCT)を施す。量子化器11は、DCTが施された各マクロブロックを量子化する。エントロピー符号化器12は、各マクロブロックの量子化されたDCT係数と量子化幅を可変長符号化し、符号化ビットストリームとして出力する。
一方、インター符号化部3は、Pフレーム及びBフレームに対するインター符号化(inter-cording)を行う。このインター符号化部3は、加算器13、DCT演算器14、量子化器15、及びエントロピー符号化器16を備えている。まず、動き推定装置8は、符号化対象となるマクロブロック(予測対象ブロック)を含む予測対象フレームに対して、時間的に隣接する他のフレーム(参照フレーム)の中から、ブロックマッチングによる動きベクトル予測により、予測対象ブロックに対して最も近似する(誤差が最も小さい)マクロブロック(以下「予測マクロブロック」という。)を検出する。予測対象ブロックから予測マクロブロックへのベクトルが動きベクトル(MV:motion vector)である。次に、動き補償器9は、検出された動きベクトルに基づき、参照フレームを動き補償して最適な予測マクロブロックを取得する。次に、加算器13は、予測対象マクロブロックとそれに対応する予測マクロブロックとの差分を求める。DCT演算器14は、この差分信号に対してDCTを施し、量子化器15は、このDCT係数を量子化する。エントロピー符号化器16は、量子化DCT係数を動きベクトルや量子化幅とともに可変長符号化する。
(2)動き推定装置の構成
図7は、本発明の実施例1に係る動き推定装置の構成を示すブロック図である。図1における動き推定装置8に相当する部分である。動き推定装置8は、フレームメモリ21、動きベクトル記憶部22、動きベクトル予測値(MVP)演算部23、探索中心設定部24、探索領域設定部25、及びブロック探索部26を備えている。この動き推定装置8が、予測対象フレームF(0)内を区画して設定される画素ブロックの各々を、順次、動きベクトルの予測を行う予測対象ブロックとし、該予測対象ブロックに対する動きベクトルの推定を行う。
フレームメモリ21は、イントラ符号化部2又はインター符号化部3において量子化DTC係数に符号化された動画像のフレームを、逆量子化器4、逆DCT演算器5、加算器6、及びデブロッキング・フィルタ7でフレームに復号した復号フレームを一時的に記憶する。動きベクトル記憶部22は、ブロック探索によって求められる各画素ブロックの動きベクトルを一時的に記憶する。
ブロック探索部26は、フレームメモリ21から読み出される予測対象フレームF(0)内の予測対象ブロックに対して、予測対象フレームF(0)に対し過去方向の参照フレームF(−)内の所定の探索領域内又は未来方向の参照フレームF(+)内の所定の探索領域内で、予測対象ブロックに最も近似する参照ブロックを探索する。
動きベクトル予測値(MVP)演算部23は、予測対象ブロックの周囲のブロックの動きベクトルから、動きベクトル予測値(MVP:motion vector predictor)を算出する。探索中心設定部24は、予測対象ブロックに対し、ブロック探索部26が参照フレームF(−),F(+)内で探索を行う際の探索中心を設定する。探索領域設定部25は、予測対象ブロックに対し、参照フレームF(−),F(+)内の探索中心の周りに探索領域の設定を行う。
本実施例では、探索領域設定部25は、予測対象フレームF(0)がPフレーム(片方向予測フレーム)の場合、AASRA−Pスキームに基づき探索領域(SR)の割り当てを行い、予測対象フレームF(0)がBフレーム(双方向予測フレーム)の場合、AASRA−Bスキームに基づき探索領域(SR)の割り当てを行うものとする。即ち、予測対象フレームF(0)がPフレームの場合、探索領域設定部25は、予測対象ブロックに対し、参照フレームF(−)に、相対的にサイズの大きい探索領域SR.L又は相対的にサイズの小さい探索領域SR.Sを設定する。この際、隣接する2つの予測対象ブロックの間で、探索領域SR.Lと探索領域SR.Sとの割り当てを逐次切り替える。
一方、予測対象フレームF(0)がBフレームの場合、探索領域設定部25は、予測対象ブロックに対し、参照フレームF(−),F(+)の何れか一方に、探索領域SR.Lを設定し、他方に、探索領域SR.Sを設定する。この際、隣接する2つの予測対象ブロックの間で、探索領域SR.L,SR.SのフレームF(−),F(+)への割り当てを逐次切り替える。
また、探索中心設定部24は、探索領域設定部25により探索領域SR.Sが割り当てられる参照フレームに対しては、MVP演算部23が算出する動きベクトル予測値によって特定される位置を、探索中心として設定する。また、探索領域設定部25により探索領域SR.Lが割り当てられる参照フレームに対しては、MVP演算部23が算出する動きベクトル予測値又は0ベクトルによって特定される位置を、探索中心として設定する。
(3)動き推定装置の動作
次に、本実施例の動き推定装置8について、以下その動作を説明する。図8は、本実施例の動き推定装置8の全体動作(動き推定処理)を表すフローチャートである。
まず、ブロック探索部26は、予測対象フレームF(0)のフレーム番号を設定する(S101)。
次に、ブロック探索部26は、予測対象フレームF(0)の種類に応じて、参照フレームのフレーム番号を設定する(S102)。例えば、予測対象フレームF(0)の種類がPフレームの場合、予測対象フレームF(0)より過去方向にあるPフレーム又はIフレームが参照フレームF(−)に設定される。また、予測対象フレームF(0)の種類がBフレームの場合、予測対象フレームF(0)より過去方向にあるPフレーム,Iフレーム,Bフレームの何れかが参照フレームF(−)に、予測対象フレームF(0)より未来方向にあるPフレーム,Iフレーム,Bフレームの何れかが参照フレームF(+)に設定される。尚、予測対象フレームF(0)の過去又は未来方向の参照フレームF(−),F(+)は、通常は最近接のフレームとされるが、場合によっては複数であってもよい。
次に、ブロック探索部26は、予め定められたコンフィギュレーション(初期設定)に従い、予測対象フレームF(0)を所定サイズのM個の画素ブロックB(i)(i=0,1,2,…,M−1)に区画して得られる一つの画素ブロックB(n)を予測対象ブロックに設定し、予測対象ブロックB(n)のデータをフレームメモリ21から読み出す(S104)。尚、画素ブロックB(i)のインデックスiは、予測対象フレームF(0)の左上隅から、ラスタ走査方向に順次割り振られており、ブロック探索部26は、各イタレーション(iteration)に於いて、予測対象ブロックB(n)を、インデックスnが小さい順に選択していく。
次に、MVP演算部23は、動きベクトル記憶部22に記憶された既算出の動きベクトルを用いて、予測対象ブロックB(n)に対する動きベクトル予測値(MVP)を算出する(S105)。ここで、MVPの算出方法は、MPEG−4規格において一般的に使用されている算出方法が用いられる(非特許文献25,pp.44-46参照)。尚、既算出の動きベクトルがない場合には、MVPは0ベクトルに設定される。
次に、探索領域設定部25は、予測対象ブロックB(n)に対し、AASRAスキームにより、参照フレームF(−)又はF(+)における探索領域(SR)サイズの割り当てを行う(S106)。以下、予測対象ブロックB(n)に対する参照フレームF(−)方向のSRサイズをSR(n,−)、参照フレームF(+)方向のSRサイズをSR(n,+)と記す。尚、このSR割当処理の詳細については後述する(図9)。
次に、探索中心設定部24は、参照フレームF(−)又はF(+)に対して、探索中心の設定を行う(S107)。ここで、SR(n,−)又はSR(n,+)が相対的に大きい探索領域SR.Lの場合には、当該探索方向に対する探索中心は0ベクトル又は当該探索方向のMVPの何れかに設定される。どちらにするかは、コンフィギュレーションにより自由に選択することができる。また、SR(n,−)又はSR(n,+)が相対的に小さい探索領域SR.Sの場合には、当該探索方向に対する探索中心は当該探索方向のMVPに設定される。尚、SR.L,SR.Sのサイズは、コンフィギュレーションにより自由に設定することができる。
次に、ブロック探索部26は、参照フレームF(−),F(+)の一方又は双方において、設定された探索中心を基準として、サイズSR(n,−)又はSR(n,+)の探索領域を設定し(S108)、設定された探索領域内で全探索によるブロックマッチングを行い、予測対象ブロックB(n)に最も近似する参照ブロックを索出する(S109)。ここで、ブロックマッチングは、常法に従い、近似性の判定は、基本的には両ブロック(予測対象ブロックと参照ブロック)の各画素間の二乗誤差和又は絶対値誤差和が使用される。ブロック探索部26は、予測対象ブロックB(n)から索出された参照ブロックBR(n)へのベクトルを動きベクトルMV(n)として、動きベクトル記憶部22に保存する。
次に、ブロック探索部26は、予測対象フレームF(0)内のすべての画素ブロックB(1)〜B(M)に対して動き推定処理が完了したかを判定し(S111)、まだ完了していない場合にはステップS104に戻り、完了した場合には次のステップS112に進む。
次に、ブロック探索部26は、隣接するIフレーム間のビデオシーケンスのすべてのフレームについて、動き推定処理が完了したかを判定し(S112)、まだ完了していない場合にはステップS101に戻り、完了した場合には動き推定処理を終了する。
次に、上記ステップS106におけるSR割当処理の詳細について説明する。図9は、図8のSR割当処理(S106)を表すフローチャートである。
図9(a)において、まず、探索領域設定部25は、予測対象フレームF(0)がPフレームであるかBフレームであるかを判別し(S201)、Pフレームの場合には、図9(b)のPフレームSR割当処理を実行し(S202)、Bフレームの場合には、図9(c)のBフレームSR割当処理を実行する(S203)ことで、探索領域のサイズSR(n,−)又はSR(n,+)を設定する。
PフレームSR割当処理(S202)では(図9(b))、まず、探索領域設定部25は、予測対象ブロックB(n)のインデックスnが0か否かを判定し(S301)、n=0の場合、SR(n,−)をSR.Lに設定する(S302)。一方、n>0の場合、探索領域設定部25は、1つ前の画素ブロックB(n−1)で設定された探索領域のサイズSR(n−1,−)がSR.Lであるか否かを判定し(S303)、SR(n−1,−)=SR.Lの場合SR(n,−)をSR.Sに設定し(S304)、SR(n−1,−)=SR.Sの場合SR(n,−)をSR.Lに設定する(S305)。以上のようにして、図3に示したようなAASRA−Pスキームによる探索領域サイズの割り当てが実行される。
一方、BフレームSR割当処理(S203)では(図9(c))、まず、探索領域設定部25は、予測対象ブロックB(n)のインデックスnが0か否かを判定し(S401)、n=0の場合、SR(n,−),SR(n,+)を共にSR.Lに設定する(S402)。これは、n=0では、まだ何れの画素ブロックのMVも設定されていないため、SR.Sの探索中心となるMVPの予測ができないからである。一方、n>0の場合、探索領域設定部25は、1つ前の画素ブロックB(n−1)で設定された探索領域のサイズSR(n−1,−)がSR.Lであるか否かを判定し(S403)、SR(n−1,−)=SR.Lの場合SR(n,−)をSR.S,SR(n,+)をSR.Lに設定する(S404)。SR(n−1,−)=SR.Sの場合、SR(n,−)をSR.L,SR(n,+)をSR.Sに設定する(S405)。以上のようにして、図1に示したようなAASRA−Bスキームによる探索領域サイズの割り当てが実行される。
(4)ハードウェア複雑性解析
次に、本発明の効果を検証するために、本実施例の動き推定装置8を、ハードウェア・アーキテクチャに適用した場合における複雑性がどの程度であるかの評価について述べる。処理要素(PE:Processing Element)とメモリとで編成されるハードウェア・アーキテクチャにおいては、複雑性は、単純に探索点数に比例するとは限らない。そこで、本発明のハードウェア・アーキテクチャにおける複雑性の低減効果を分析・検証するため、一例として、スネーク走査(snake scan)ベースのアーキテクチャ(非特許文献21)を用いて分析を行う。
スネーク走査は、全探索MEで使用される広く用いられているメモリ・アクセス方式である。図10に示すように、スネーク走査は、参照ブロックを保存するシフタ・レジスタ配列を更新するのに、次の5つの基本ステップ(A〜E)が繰り返し実行される。
A:下方向シフト,Nピクセルのフェッチ
B:下方向シフト,N+1ピクセルのフェッチ
C:左方向シフト,ピクセルのフェッチなし
D:上方向シフト,Nピクセルのフェッチ
E:上方向シフト,N+1ピクセルのフェッチ
1つのN×Nピクセルの画素ブロックをプレロードするためにNクロック周期を必要とし、このNクロック周期の後に、シフタ・レジスタ配列は、1サイクル当たり1検索点に必要なデータをPEに出力する。(2SR+1)個の検索点を有する検索ウィンドウに対しては、必要な処理サイクル数TSRは次式(1)のようになる。
Figure 2014150467
それぞれの探索方向に1つの参照フレームが使用され、画素ブロックのサイズがN×Nピクセルであると仮定すると、典型的な左右対称のSR割り当て(Bフレームの全探索MEにおけるSR割り当て)において、各画素ブロックにおいて双方向探索を行うには2TSRクロック周期が必要とされる。
スネーク走査法はSRに制限を課さないことに注意すると、MEアーキテクチャを複数のSRをサポートするように構成し設計してもよい。そこで、同様のハードウェア・デザインを使用した場合、AASRA−Bに必要とされる処理サイクル数は、TSR.L+TSR.Sに等しい。SR.L=SR,SR.S=λSR(λ<1)とすると、AASRA−Bを適用した場合の処理時間短縮率Δcは、次式(2)のようになる。
Figure 2014150467
両方法において同じハードウェアが使用されているため、処理時間は複雑性と等価であると見なすことができる。SR=128,λ=0.25,N=16とすると、AASRA−Bの複雑性の低減率は、探索点数の低減率とほぼ同じく、46%以上となる。
また、AASRA−Pのハードウェア・アーキテクチャにおける複雑性の低減率は、AASRA−Bの場合と同じである。
(5)符号化ビットレート
図11は、全探索MEを用いた動き推定装置及び本実施例の動き推定装置を用いたビデオ・エンコーダにおいて、SRのサイズを変化させた場合の符号化ビットレートの変化を示す図である。比較のための全探索MEのソフトウェアとしては、JM(非特許文献19)及びHM(非特許文献20)を使用した。JMはIBBBP(Iフレーム,Bフレーム×3,Pフレーム)のフレーム構造によって構成される。HMはGOP(Group of Picture)サイズが8の階層的B構造によって構成される。JM及びHMに関しては、1個及び2個の参照フレームが、それぞれPフレーム及びBフレームに使用されている。また、量子化パラメータQP=32である。
本実施例の動き推定装置においては、SR.SはSR.Lの1/4に設定した。これは、SR=SR.Lとした場合の全探索MEと比べて、検索点数に関しては、複雑度を46.875%(=(1−(1/4))/2)低減させる。一方、符号化ビットレートのカーブは、JM及びHMとAASRA−Bとは互いに近接している。従って、本実施例の動き推定装置は、全探索MEを用いた動き推定装置に対し、符号化効率においてはほぼ同等の性能を達成できると評価することができる。
(2)動き推定装置の構成及び動作
本実施例では、Bフレーム(双方向予測フレーム)に対してAASRA−PBスキームに基づき探索領域(SR)の割り当てを行う例について説明する。尚、動き推定装置8のブロック構成は、図7と同様であるとする。
以下、予測対象フレームF(0)内の画素ブロックを、奇数番目の画素ブロックとそれに隣接する偶数番目の画素ブロックとのペアであるブロックペアの単位に分割し、予測対象ブロックを含むブロックペアを予測対象ブロックペアという。
本実施例における探索領域設定部25は、Pフレームに対しては、AASRA−Pスキームに基づき探索領域(SR)の割り当てを行う(実施例1参照)。一方、Bフレームに対しては、AASRA−PBスキームに基づき探索領域(SR)の割り当てを行う。即ち、探索領域設定部25は、予測対象フレームF(0)がBフレームの場合、予測対象ブロックペア内の各予測対象ブロックのうちの何れか一方の予測対象ブロックに対しては、参照フレームF(−),F(+)の両方に探索領域SR.Sを設定し、他方の予測対象ブロックに対しては、参照フレームF(−),F(+)の一方に探索領域SR.L、他方に探索領域SR.Sを設定する。さらに、探索領域設定部25は、予測対象ブロックペア内で探索領域SR.Lが割り当てられる予測対象ブロックの(偶奇性,探索方向)の組み合わせが、連続する4つの前記予測対象ブロックペアの間ですべて異なるものとなるように、探索領域SR.S,SR.Lの割り当てを逐次切り替える。
次に、本実施例の動き推定装置8について、以下その動作を説明する。尚、動き推定装置の全体動作に関しては、図8と同様であり、実施例1において既に述べたため説明は省略する。また、探索領域割当処理については、図9(a)の処理フローについても実施例1と同様である。従って、Pフレーム,Bフレームに対する探索領域割当処理(図9(a)のS202,S203に相当)に関してのみ説明する。尚、本実施例においては、探索領域の割当は、ブロックペアの単位で行うため、図8において「画素ブロック」を「ブロックペア」、「予測対象ブロック」を「予測対象ブロックペア」と読み替えるものとする。
図12は、実施例2に係る動き推定装置8におけるPフレーム及びBフレームに対する探索領域割当処理を表すフローチャートである。尚、図12(a)は、Pフレームに対する探索領域割当処理を表すフローチャートであるが、これは、図9(b)の処理を、ブロックペア単位の処理に書き換えただけであり実際の処理内容は図9(b)の処理と全く同じである。
図12(b)は、Bフレームに対する探索領域割当処理を表すフローチャートである。BフレームSR割当処理(S203)では、まず、探索領域設定部25は、予測対象ブロックペアのインデックスmが0か否かを判定し(S601)、m=0の場合、SR(2m,−)をSR.Lに、SR(2m,+),SR(2m+1,−),SR(2m+1,+)を共にSR.Sに設定する(S602)。ここで、m=0では、まだ何れの画素ブロックのMVも設定されていないため、SR(2m,+)の探索中心となるMVPはMVP=(0,0)とする。実施例1と異なり、SR(2m,+)をSR.LではなくSR.Sとしたのは、すべてのブロックペアでSR.Lの数を1つとすることで、すべてのブロックペア間での計算複雑性が等価とし、計算レートを一定にするためである。
一方、m>0の場合、探索領域設定部25は、1つ前のブロックペアの画素ブロックB(2m−2)で設定された探索領域のサイズSR(2m−2,−)がSR.Lであるか否かを判定し(S603)、SR(2m−2,−)=SR.Lの場合、SR(2m,−),SR(2m+1,−),SR(2m+1,+)をSR.S,SR(2m,+)をSR.Lに設定する(S604)。
S603においてSR(2m−2,−)=SR.Sの場合、探索領域設定部25は、1つ前のブロックペアの画素ブロックB(2m−2)で設定された探索領域のサイズSR(2m−2,+)がSR.Lであるか否かを判定し(S605)、SR(2m−2,+)=SR.Lの場合、SR(2m,−),SR(2m,+),SR(2m+1,+)をSR.S,SR(2m+1,−)をSR.Lに設定する(S606)。
S605においてSR(2m−2,+)=SR.Sの場合、探索領域設定部25は、1つ前のブロックペアの画素ブロックB(2m−1)で設定された探索領域のサイズSR(2m−1,−)がSR.Lであるか否かを判定し(S607)、SR(2m−1,−)=SR.Lの場合、SR(2m,−),SR(2m,+),SR(2m+1,−)をSR.S,SR(2m+1,+)をSR.Lに設定する(S608)。
S607においてSR(2m−1,−)=SR.Sの場合、探索領域設定部25は、SR(2m,+),SR(2m+1,−),SR(2m+1,+)をSR.S,SR(2m,−)をSR.Lに設定する(S609)。
以上のようにして、図4,図5に示したようなAASRA−PBスキームによる探索領域サイズの割り当てが実行される。
(2)ハードウェア複雑性解析
次に、本発明の効果を検証するために、本実施例の動き推定装置8を、ハードウェア・アーキテクチャに適用した場合における複雑性がどの程度であるかの評価について述べる。実施例1と同様、スネーク走査法を適用した場合について、AASRA−PBスキームにおける各画素ブロックペア当たりの必要な処理サイクル数は、TSR.L+3TSR.Sである。一方、探索領域のサイズをSR.Lに固定した全探索MEにおける各画素ブロックペア当たりの必要な処理サイクル数は4TSR.Lである。従って、AASRA−PBを適用した場合の処理時間短縮率Δcは、次式(3)のようになる。
Figure 2014150467
両方法において同じハードウェアが使用されているため、処理時間は複雑性と等価であると見なすことができる。SR=128,λ=0.25,N=16とすると、AASRA−PBの複雑性の低減率は、探索点数の低減率とほぼ同じく、70%以上となる。
(1)原理及び計算複雑性解析
本実施例では、全探索ME以外の公知のMEアーキテクチャに対して、本発明に係る動き推定技術を組み合わせた例について説明する。本発明に係る動き推定技術は、既存の各種アルゴリズム又は各種アーキテクチャに適用することができ、更なる複雑性の低減を図ることが可能となる。本実施例では、本発明に係る動き推定技術をMB並列データ再利用スキーム(MB-parallel data reuse scheme:IMNPDR)(非特許文献18)に組み合わせた例について説明する。
IMNPDRは、オンチップメモリのバンド幅を低減するために開発された技術で、これは、特に高スループット・ビデオ・エンコーダにおいてSRAM領域及び消費電力を低減させることができる。IMNPDRの基本概念は、検索ウィンドウの重なり部分のメモリ・トラフィックを共有できるように、同時に複数のMBに対しMEを実行することである。H.264/AVC 1080p符号化のためのIMNPDRにおいて、4つのMBを並列演算する場合、典型的な設定ではSRのサイズは32とされる。
IMNPDRにAASRA−Bを適用する際の問題の一つとして、並列処理されるMBが、同じ相対的な探索中心を共有しなければならないという問題がある。オリジナルのIMNPDRでは、常にゼロ中心ME(zero-center ME)(探索中心を(0,0)とするME)を実行するため、これは問題とはならない。AASRA−Bでは、SR.L方向に対しては、ゼロ中心MEを適用することができる。しかし、前述の通り、SR.S方向のMEでは、先にMVが計算された各MBによって与えられるより精度の高い探索中心(MVPなど)を用いる必要があるため、探索中心はMB毎に動的となる。
そこで、上記問題を解決するため、IMNPDRにAASRA−Bを適用する場合、並列処理されるMBにおけるSR.Sに対しては、図13のように決定される同じ動きベクトル予測値を使用する。すなわち、図13において4つのMB(MB0,MB1,Mb2,MB3)のブロック組が並列処理されるとして、該ブロック組の左側のMV、右上のMV、及び上側の4つのMV(MVB0,MVB1,MVB2,MVB3)の平均MVを使用し、この3つのMV(MV,MV,MV)の中央値を該ブロック組の各MBの探索中心を指すベクトルSCとする。すなわち、
Figure 2014150467
ここで、pは並列処理されるMBの数であり、ここではp=4である。尚、並列処理されるMBの数pに関しては、適宜変更することが可能である。
また、4つのMB(MB,MB,MB,MB)は同じ参照方向で同じサイズのSRを有することとし、一の方向にはSR.S、他の方向にはSR.Lが割り当てる。SR.SとSR.Lとの割り当ての切り換えは、1ブロック組(4つのMB)毎に1回実行される。これによって、SR.S探索の動的特徴を担保したまま、IMNPDRにAASRA−Bを適用することが可能となる。
スネーク走査に続いて、並列なp個のMBの演算に必要なIMNPDRのサイクル数は、次式により表される。
Figure 2014150467
ここで、元のスネーク走査のサイクル数(式(1))に対する追加のサイクル数は、検索ウィンドウの重なりのない部分に対する部分的PEアイドル時間(partial PR idle time)から来ている。SR=32,SR.L=SR,SR.S=0.25SR,p=4,N=16として、式(2)を式(5)に代入すると、IMNPDRに基づいてAASRA−Bを適用することによるサイクル数および複雑性の低減率は、約43%である。
AASRA−Pは、単一の参照方向に対して実行されたAASRA−Bであるとみなすことができるため、AASRA−Bと同様に、これをIMNPDRに適用することができ、Pフレームに対して同じ複雑性の低減率を達成することができる。
AASRA−PBをIMNPDRに適用するためには、図13に示した方法と同様に、隣接する4つのMBは、同じ探索中心を指すベクトルSCを共有するMBグループとみなす。2つの連続するMBグループ毎に、MBグループ・ペアを構成する。そして、図5と同様に、MBグループ・ペアごとに1回SR.Lの割り当て切り換えを実行することによって、AASRA−PBを実現することができる。SR=32,SR.L=SR,SR.S=0.25SR,p=4,N=16として、式(3)を式(5)に代入すると、IMNPDRに基づいてAASRA−PBを適用することによるサイクル数および複雑性の低減率は、約64%である。
(2)動き推定装置の具体的構成及び動作
図14は、本発明の実施例3に係る動き推定装置の構成を示すブロック図である。動き推定装置8は、フレームメモリ21、動きベクトル記憶部22、探索中心(SC)演算部23、探索中心設定部24、探索領域設定部25、及びブロック探索部26を備えている。尚、フレームメモリ21、動きベクトル記憶部22に関しては、図7の対応する構成部分と同様である。
SC演算部23は、図13に示したように、水平に連続して並ぶ4つの予測対象ブロックを、1つの予測対象ブロックグループとし、各予測対象ブロックグループに対して、当該予測対象ブロックグループに隣接するブロックのうち先にMVの推定が終了したブロックのMV(MV,MVB0,MVB1,MVB2,MVB3,MV)から、式(4a),(4b)により、当該予測対象ブロックグループの各予測対象ブロックの探索中心を指す探索中心ベクトルSCを算出する。
探索中心設定部24は、予測対象ブロックグループ内の予測対象ブロック(MB,MB,MB,MB)に対して、探索中心ベクトルSCにより、各参照方向の探索中心の設定を行う。
探索領域設定部25は、予測対象ブロックグループ内の予測対象ブロック(MB,MB,MB,MB)に対して、探索中心設定部24により設定された探索中心を中心として探索領域の設定を行う。この際、各予測対象ブロックの各参照方向に対する探索領域サイズの割り当ては、Pフレームに対してはAASRA−P、Bフレームに対してはAASRA−Bにより割り当てを行う。
各ブロック探索部26は、それぞれの予測対象ブロック(MB,MB,MB,MB)に対して並列処理が行われ、各予測対象ブロックに対し探索領域設定部25により設定された探索領域において、各予測対象ブロックに最も近似する参照ブロックを探索し、動きベクトルを決定する。決定された動きベクトルは、動きベクトル記憶部22に格納される。
以上のように構成された本実施例に係る動き推定装置8について、以下その動作を説明する。図15は、実施例3に係る動き推定装置の全体動作を表すフローチャートである。
図15において、ステップS101〜S102及びS111〜S112は、図8の対応するステップにおける処理と同様であるので、説明は省略する。
ステップS102の次に、ブロック探索部26は、予め定められたコンフィギュレーション(初期設定)に従い、予測対象フレームF(0)を所定サイズのM個の画素ブロックB(i)(i=0,1,2,…,M−1)に区画し、連続する4つの予測対象ブロックB(4n),B(4n+1),B(4n+2),B(4n+3)を予測対象ブロックに設定し、連続する4つの予測対象ブロックB(4n),B(4n+1),B(4n+2),B(4n+3)のデータをフレームメモリ21から読み出す(S701)。ここで、n(=0,1,2,…,M/4−1)はグループ番号である。この4つの予測対象ブロックを予測対象ブロックグループGB(n)={B(4n),B(4n+1),B(4n+2),B(4n+3)}とする。尚、画素ブロックB(i)のインデックスiは、予測対象フレームF(0)の左上隅から、ラスタ走査方向に順次割り振られており、ブロック探索部26は、各イタレーション(iteration)に於いて、予測対象ブロックB(i)を、インデックスiが小さい順に選択していく。
次に、SC演算部30は、動きベクトル記憶部22に記憶された既算出の動きベクトルを用いて、予測対象ブロックグループGB(n)に対する探索中心ベクトルSCを算出する(S702)。探索中心ベクトルSCの算出処理は、図13及び式(4a)(4b)に示した方法で実行される。尚、(MV,MVB0,MVB1,MVB2,MVB3,MV)のうちで既算出の動きベクトルがないものについては、MVは0ベクトルに設定され、式(4a)(4b)に代入される。
次に、探索領域設定部25は、予測対象ブロックグループGB(n)に対し、AASRAスキームにより、参照フレームF(−)又はF(+)における探索領域(SR)サイズの割り当てを行う(S703)。以下、予測対象ブロックグループGB(n)に対する参照フレームF(−)方向のSRサイズをSR(n,−)、参照フレームF(+)方向のSRサイズをSR(n,+)と記す。このSR割当処理の詳細は、図9と同様である。図9において、「S106」を「S703」に、「予測対象ブロック」を「予測対象ブロックグループ」に、「B(n)」を「GB(n)」に読み替えればよい。
次に、探索中心設定部24は、各予測対象ブロック{B(4n),B(4n+1),B(4n+2),B(4n+3)}について、参照フレームF(−)又はF(+)に対して、探索中心の設定を行う(S704)。ここで、SR(i,−)又はSR(i,+)が相対的に大きい探索領域SR.Lの場合には、当該探索方向に対する探索中心は0ベクトル又は当該探索方向の探索中心ベクトルSCの何れかに設定される。どちらにするかは、コンフィギュレーションにより自由に選択することができる。また、SR(n,−)又はSR(n,+)が相対的に小さい探索領域SR.Sの場合には、当該探索方向に対する探索中心は当該探索方向の探索中心ベクトルSCに設定される。尚、SR.L,SR.Sのサイズは、コンフィギュレーションにより自由に設定することができる。
次に、ブロック探索部26は、参照フレームF(−),F(+)の一方(Pフレームの場合)又は双方(Bフレームの場合)において、設定された探索中心を基準として、サイズSR(i,−)又はSR(i,+)(i=4n,4n+1,4n+2,4n+3)の探索領域を設定し(S705)、設定された探索領域内で全探索によるブロックマッチングを行い、予測対象ブロックB(i)に最も近似する参照ブロックを索出する(S707)。ここで、ブロックマッチングは、常法に従い、近似性の判定は、基本的には両ブロック(予測対象ブロックと参照ブロック)の各画素間の二乗誤差和又は絶対値誤差和が使用される。ブロック探索部26は、予測対象ブロックB(i)から索出された参照ブロックBR(i)へのベクトルを動きベクトルMV(i)として、動きベクトル記憶部22に保存する。
尚、ステップS703〜S707までの動作については、各予測対象ブロック{B(4n),B(4n+1),B(4n+2),B(4n+3)}について、並列処理により実行される。
以上の本実施例の構成においては、探索領域設定部25が、Bフレームに対して、AASRA−Bにより探索領域の割り当てを行う例について説明したが、AASRA−Bに代えてAASRA−PBにより探索領域の割り当てを行うように構成してもよい。この場合、図15のステップS703におけるSR割当処理の詳細は、図9(a)及び図12と同様となる。この場合、図9(a)において、「S106」を「S703」に読み替え、図12において、「予測対象ブロック」を「予測対象ブロックグループ」に、「B(n)」を「GB(n)」に、「ブロックインデックス」を「ブロックグループインデックス」に、「ブロックペアインデックス」を「ブロックグループペアインデックス」に、それぞれ読み替えればよい。
本実施例では、本発明に係る動き推定技術を、階層的探索アーキテクチャと組み合わせた場合の効果について説明する。階層的探索(Hierarchical search)(非特許文献10,11参照)は、大きな探索範囲でMEを実現するための有力な手法である。PMRMEアーキテクチャ(非特許文献10)は、それぞれ、サイズが8,32,128のSRをカバーするため、オリジナル(L0)リファレンス,1:4ダウン・サンプリング(L1)リファレンス,及び1:16ダウン・サンプリング(L2)リファレンスに基づく3階層の探索レベルを適用している。これらのレベルでの探索は、それぞれ専用回路において並列に実行される。L1及びL2では、ゼロ探索中心によるMEが実行され、L0では、探索中心にMVPが使用される。SRのサイズ及び解像度の双方が考慮されているため、各レベルにおけるMEは、計算複雑度においては近似している。
PMRMEにAASRAスキームを適用する場合、SR.Lによる探索は3つのレベルのすべてに於いて行う。一方、SR.Sによる探索は、元々探索中心にMVPを使用しているレベルL0での探索にのみ適用する。上記PMRMEのSRサイズに合わせる場合、コンフィギュレーションの設定は、SR.L=128,SR.S=8とすればよい。
図16に、同等のスループットを達成するために必要な相対的ハードウェア並列性(relative hardware parallelism)を示す。Pフレームに対する元のPMRMEを並列性を表すためのベースラインとする。Pフレームに対する元のPMRMEでは、各レベルに於いて1度の並列性(parallelism)が必要とされる。PMRMEにAASRA−Pを適用した場合、レベルL1,L2はSR.L探索であるため、レベルL0におけるSR.S探索を2回実行する毎に、レベルL1,L2におけるSR.L探索がそれぞれ1回実行される。従って、これらのレベルL1,L2における並列性は半分とされる。元のPMRMEにおける3階層のレベルでの探索には、同じハードウェアコストがかかると仮定すると、これは全体の複雑性が33%減少する結果となる。
Bフレームに対する元のPMRMEでは、2つの参照方向に対し、各レベルに於いて二度の並列性が必要とされる。これに対し、PMRMEにAASRA−Bを適用した場合、レベルL1,L2において1つの参照方向に対してのみSR.L探索が実行されるため、これら2レベルにおいては、それぞれ1度の並列性のみが必要とされる。その結果、元のPMRMEと比べて全体の複雑性は33%減少する。PMRMEにAASRA−PBを適用した場合には、レベルL1,L2に必要な並列性は更に半分となる。従って、元のPMRMEと比べて全体の複雑性は50%減少する。
1 ビデオ・エンコーダ
2 イントラ符号化部
3 インター符号化部
4 逆量子化器
5 逆DCT演算器
6 加算器
7 デブロッキング・フィルタ
8 動き推定装置
9 動き補償器
10 DCT演算器
11 量子化器
12 エントロピー符号化器
13 加算器
14 DCT演算器
15 量子化器
16 エントロピー符号化器
21 フレームメモリ
22 動きベクトル記憶部
23 動きベクトル予測値(MVP)演算部
24 探索中心設定部
25 探索領域設定部
26 ブロック探索部
30 探索中心(SC)演算部

Claims (7)

  1. 時間順に並ぶ複数のフレームで構成された動画像において、前記フレームのうち動きベクトルの予測を行うフレームを予測対象フレームF(0)とするとき、該予測対象フレームF(0)内を区画して設定される画素ブロックの各々を、順次、動きベクトルの予測を行う予測対象ブロックとし、該予測対象ブロックに対する動きベクトルの推定を行う動き推定装置であって、
    前記予測対象フレームF(0)内の前記予測対象ブロックに対して、前記予測対象フレームF(0)に対し過去方向のフレームF(−)内の所定の探索領域内又は未来方向のフレームF(+)内の所定の探索領域内で、前記予測対象ブロックに最も近似する参照ブロックを探索するブロック探索手段と、
    前記予測対象ブロックに対し、前記ブロック探索手段が前記フレームF(−),F(+)内で探索を行う際の探索中心を設定する探索中心設定手段と、
    前記予測対象ブロックに対し、前記フレームF(−),F(+)内の前記探索中心の周りに前記探索領域の設定を行う探索領域設定手段と、を備え、
    前記探索領域設定手段は、前記予測対象フレームF(0)が片方向予測フレームの場合、前記予測対象ブロックに対し、前記フレームF(−)に、相対的にサイズの大きい探索領域SR.L又は相対的にサイズの小さい探索領域SR.Sを設定するものであり、
    さらに前記探索領域設定手段は、隣接する2つの前記予測対象ブロックの間で、前記探索領域SR.Lと前記探索領域SR.Sとの割り当てを逐次切り替えるものであり、
    前記探索中心設定手段は、少なくとも前記探索領域設定手段により前記探索領域SR.Sが割り当てられる前記フレームに対しては、前記予測対象フレームF(0)内で先に動きベクトルが予測された画素ブロックにおける動きベクトルから算出される動きベクトル予測値によって特定される位置を、前記探索中心として設定することを特徴とする動き推定装置。
  2. 前記探索領域設定手段は、前記予測対象フレームF(0)が双方向予測フレームの場合、前記予測対象ブロックに対し、前記フレームF(−),F(+)の何れか一方に、前記探索領域SR.Lを設定し、他方に、前記探索領域SR.Sを設定するものであり、
    さらに前記探索領域設定手段は、隣接する2つの予測対象ブロックの間で、前記探索領域SR.L,SR.Sの前記フレームF(−),F(+)への割り当てを逐次切り替えることを特徴とする請求項1記載の動き推定装置。
  3. 前記予測対象フレームF(0)内の前記画素ブロックを、奇数番目の画素ブロックとそれに隣接する偶数番目の画素ブロックとのペアであるブロックペアの単位に分割し、前記予測対象ブロックを含む前記ブロックペアを予測対象ブロックペアとするとき、
    前記探索領域設定手段は、前記予測対象フレームF(0)が双方向予測フレームの場合、前記予測対象ブロックペア内の前記各予測対象ブロックのうちの何れか一方の予測対象ブロックに対しては、前記フレームF(−),F(+)の両方に前記探索領域SR.Sを設定し、
    他方の予測対象ブロックに対しては、前記フレームF(−),F(+)の一方に前記探索領域SR.L、他方に前記探索領域SR.Sを設定するものであり、
    さらに前記探索領域設定手段は、前記予測対象ブロックペア内で前記探索領域SR.Lが割り当てられる前記予測対象ブロックの(偶奇性,探索方向)の組み合わせが、連続する4つの前記予測対象ブロックペアの間ですべて異なるものとなるように、前記探索領域SR.S,SR.Lの割り当てを逐次切り替えるものであることを特徴とする請求項1記載の動き推定装置。
  4. 連続するp個(pは2以上の整数)の画素ブロックを1組のブロックグループとし、前記予測対象ブロックを含む前記ブロック集合を予測対象ブロックグループとするとき、
    前記探索領域設定手段は、隣接する2つの前記予測対象ブロックグループの間で、前記探索領域SR.Lと前記探索領域SR.Sとの割り当てを逐次切り替えるものであり、
    前記探索中心設定手段は、少なくとも前記探索領域設定手段により前記探索領域SR.Sが割り当てられる前記フレームに対しては、前記予測対象ブロックグループ毎に同一の前記探索中心とするとともに、前記予測対象フレームF(0)内で前記予測対象ブロックグループに隣接し且つ前記予測対象ブロックグループよりも先に動きベクトルが予測された画素ブロックにおける動きベクトルから算出される動きベクトル予測値によって特定される位置を、前記探索中心として設定することを特徴とする請求項1記載の動き推定装置。
  5. 前記探索領域設定手段は、前記予測対象フレームF(0)が双方向予測フレームの場合、前記予測対象ブロックに対し、前記フレームF(−),F(+)の何れか一方に、前記探索領域SR.Lを設定し、他方に、前記探索領域SR.Sを設定するものであり、
    さらに前記探索領域設定手段は、隣接する2つの前記予測対象ブロックグループの間で、前記探索領域SR.L,SR.Sの前記フレームF(−),F(+)への割り当てを逐次切り替えることを特徴とする請求項4記載の動き推定装置。
  6. 前記予測対象フレームF(0)内の前記画素ブロックグループを、奇数番目の画素ブロックグループとそれに隣接する偶数番目の画素ブロックグループとのペアであるブロックグループペアの単位に分割し、前記予測対象ブロックグループを含む前記ブロックグループペアを予測対象ブロックグループペアとするとき、
    前記探索領域設定手段は、前記予測対象フレームF(0)が双方向予測フレームの場合、前記予測対象ブロックグループペア内の前記各予測対象ブロックグループのうちの何れか一方の予測対象ブロックグループに対しては、前記フレームF(−),F(+)の両方に前記探索領域SR.Sを設定し、
    他方の予測対象ブロックグループに対しては、前記フレームF(−),F(+)の一方に前記探索領域SR.L、他方に前記探索領域SR.Sを設定するものであり、
    さらに前記探索領域設定手段は、前記予測対象ブロックグループペア内で前記探索領域SR.Lが割り当てられる前記予測対象ブロックグループの(偶奇性,探索方向)の組み合わせが、連続する4つの前記予測対象ブロックグループペアの間ですべて異なるものとなるように、前記探索領域SR.S,SR.Lの割り当てを逐次切り替えるものであることを特徴とする請求項4記載の動き推定装置。
  7. コンピュータに読み込ませて実行させることにより、当該コンピュータを、請求項1乃至6の何れか一の動き推定装置として機能させることを特徴とする動き推定プログラム。
JP2013018967A 2013-02-01 2013-02-01 動き推定装置及び動き推定プログラム Expired - Fee Related JP5726220B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013018967A JP5726220B2 (ja) 2013-02-01 2013-02-01 動き推定装置及び動き推定プログラム
US14/041,965 US20140219355A1 (en) 2013-02-01 2013-09-30 Motion estimation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013018967A JP5726220B2 (ja) 2013-02-01 2013-02-01 動き推定装置及び動き推定プログラム

Publications (2)

Publication Number Publication Date
JP2014150467A true JP2014150467A (ja) 2014-08-21
JP5726220B2 JP5726220B2 (ja) 2015-05-27

Family

ID=51259190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013018967A Expired - Fee Related JP5726220B2 (ja) 2013-02-01 2013-02-01 動き推定装置及び動き推定プログラム

Country Status (2)

Country Link
US (1) US20140219355A1 (ja)
JP (1) JP5726220B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020129681A1 (ja) * 2018-12-19 2020-06-25 日本電信電話株式会社 符号化装置及びプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101560186B1 (ko) * 2013-03-18 2015-10-14 삼성전자주식회사 움직임 예측에 있어 적응적 탐색 범위 결정을 이용한 부호화, 복호화 방법 및 장치
CN106604035B (zh) * 2017-01-22 2019-10-18 北京君泊网络科技有限责任公司 一种用于视频编码和压缩的运动估计的方法
US11057637B1 (en) 2020-01-29 2021-07-06 Mellanox Technologies, Ltd. Efficient video motion estimation by reusing a reference search region
CN113489988B (zh) * 2021-06-11 2022-08-23 翱捷科技股份有限公司 一种hevc整像素运动估计方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014181A (en) * 1997-10-13 2000-01-11 Sharp Laboratories Of America, Inc. Adaptive step-size motion estimation based on statistical sum of absolute differences
US8908765B2 (en) * 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6014054881; Matsui,H., et al: 'An H.264 Full HD 60i double speed encoder IP suporting both MBAFF and Field-Pic structure' Proc. of 2011 Int. Symp. on VLSI Design, Automatiion and Test , 201104 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020129681A1 (ja) * 2018-12-19 2020-06-25 日本電信電話株式会社 符号化装置及びプログラム
JP2020102669A (ja) * 2018-12-19 2020-07-02 日本電信電話株式会社 符号化装置及びプログラム
JP7054007B2 (ja) 2018-12-19 2022-04-13 日本電信電話株式会社 符号化装置及びプログラム

Also Published As

Publication number Publication date
JP5726220B2 (ja) 2015-05-27
US20140219355A1 (en) 2014-08-07

Similar Documents

Publication Publication Date Title
US10728573B2 (en) Motion compensated boundary pixel padding
JP7171770B2 (ja) 動きベクトル精密化および動き補償のためのメモリアクセスウィンドウおよびパディング
US8929460B1 (en) Method and encoding/decoding of video using common merging candidate set of asymmetric partitions
KR101684038B1 (ko) 동화상 복호 장치, 동화상 부호화 장치, 동화상 복호 방법, 및 동화상 부호화 방법
EP3888358A2 (en) Decoder-side motion vector refinement
EP3635956A1 (en) Overlapped search space for bi-predictive motion vector refinement
RU2761511C2 (ru) Окно ограниченного доступа к памяти для уточнения вектора движения
WO2013070001A1 (ko) 후보 리스트 공유 방법 및 이러한 방법을 사용하는 장치
EP3932068A1 (en) Constraints on decoder-side motion vector refinement
CN111201795B (zh) 存储访问窗口和用于运动矢量修正的填充
TW201340724A (zh) 視訊寫碼中之像差向量預測
JP2015106747A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
CN111201792B (zh) 指向分数像素点位置的运动矢量的修正运动矢量
JP5726220B2 (ja) 動き推定装置及び動き推定プログラム
CN111567047B (zh) 进行子预测块运动矢量推导的存储器访问窗口
CN112292861B (zh) 用于解码端运动矢量修正的基于误差面的子像素精确修正方法
JP2017069866A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP2023531010A (ja) 符号化・復号方法、装置及びその機器
CN111670578B (zh) 一种视频编码或解码方法、装置、设备及存储介质
Zhou et al. Alternating asymmetric search range assignment for bidirectional motion estimation in H. 265/HEVC and H. 264/AVC
JP2017069862A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
Warrington et al. Architecture for multiple reference frame variable block size motion estimation
Kim et al. A Highly Utilized Hardware-Based Merge Mode Estimation with Candidate Level Parallel Execution for High-Efficiency Video Coding

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150331

R150 Certificate of patent or registration of utility model

Ref document number: 5726220

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees