JP5533309B2 - 動きベクトル検出回路、動画像符号化装置及び動きベクトル検出方法 - Google Patents

動きベクトル検出回路、動画像符号化装置及び動きベクトル検出方法 Download PDF

Info

Publication number
JP5533309B2
JP5533309B2 JP2010135951A JP2010135951A JP5533309B2 JP 5533309 B2 JP5533309 B2 JP 5533309B2 JP 2010135951 A JP2010135951 A JP 2010135951A JP 2010135951 A JP2010135951 A JP 2010135951A JP 5533309 B2 JP5533309 B2 JP 5533309B2
Authority
JP
Japan
Prior art keywords
reduced
motion vector
image data
encoding target
reference frames
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.)
Expired - Fee Related
Application number
JP2010135951A
Other languages
English (en)
Other versions
JP2012004710A (ja
Inventor
健太郎 川上
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010135951A priority Critical patent/JP5533309B2/ja
Publication of JP2012004710A publication Critical patent/JP2012004710A/ja
Application granted granted Critical
Publication of JP5533309B2 publication Critical patent/JP5533309B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、動きベクトル検出回路、動画像符号化装置及び動きベクトル検出方法に関する。
動画像情報をデジタル信号として取り扱う際の符号フォーマットとして、国際標準規格であるMPEG(Moving Picture Experts Group)2、MPEG4、H.264/AVC(Advanced Video Coding)などが用いられている。これらの圧縮符号化方式は、動き補償フレーム間予測と直交変換とを組み合わせたハイブリッド符号化方式である。動き補償フレーム間予測を用いるためには、各符号化対象ブロックに対して、それぞれ動きベクトルを検出する。
動きベクトル検出の際には、符号化対象ブロックごとに、複数の参照フレームの中から、最も類似するブロックを網羅的に探索する。動きベクトル検出は大きな探索範囲(参照フレームの一部分を切り出した領域)に対して、また、多くの参照フレームに対して行ったほうが、より類似した参照ブロックを見つけ出す機会を増やすために望ましい。ただ、探索範囲を大きくしたり、参照フレーム数を増やしたりするほど、多くの演算とメモリアクセスが発生する可能性がある。つまり、適切な動きベクトルを検出することと、演算量・メモリアクセス量はトレードオフの関係にある。探索範囲を大きくとりながら、演算量とメモリアクセスを削減することが望ましい。
動きベクトル検出の演算量とメモリアクセスを削減する方法として、階層的な動きベクトル検出方法が知られている。この方法では、たとえば、フレームの画素を間引いて生成した縮小画像を用いて縮小動きベクトルを検出し、検出した縮小動きベクトルを拡大したベクトルを中心にした狭い探索範囲で動きベクトルを検出する。
また、隣接する符号化対象ブロックにおいて、動きベクトル検出で使用する探索範囲の多くの部分が重なるという特徴から、重複する探索範囲を内包する領域をプリフェッチメモリ内にキャッシュしておく技術が知られている。
特開平11−262015号公報 特開2008−61156号公報 特開2003−169338号公報
しかしながら、従来の手法では、適切な動きベクトルを検出するために複数の参照フレームに対して動きベクトルの検出を行う場合、その分、プリフェッチメモリのキャッシュ量が増え、外部メモリとのデータ転送量が増大する問題があった。
発明の一観点によれば、複数の縮小参照フレームのそれぞれに対して、第1の探索範囲と、前記第1の探索範囲よりも小さい第2の探索範囲で縮小動きベクトルと、前記縮小動きベクトルでの画像の類似度を検出する縮小動きベクトル検出部と、前記類似度を縮小符号化対象フレーム全体で積算した値をもとに、参照フレームと参照フレーム数を決定する参照フレーム決定部と、決定された前記参照フレーム数に応じて、前記第1または第2の探索範囲の何れかの大きさをもとに設定される範囲の前記参照フレームの画像データを保持するデータ保持部と、等倍の符号化対象フレームに対して、前記データ保持部に保持された前記画像データと前記縮小動きベクトルをもとに動きベクトルの検出を行う動きベクトル検出部と、を備えた動きベクトル検出回路が提供される。
開示の動きベクトル検出回路、動画像符号化装置及び動きベクトル検出方法によれば、少ないキャッシュ量で適切な動きベクトルの検出が可能となる。
本実施の形態の動画像符号化装置の一例を示す図である。 処理される画像フレームの流れの一例を示す図である。 1フレームの原画像フレームと縮小原画像フレームの一例を示す図である。 縮小動きベクトルの検出処理の一例を示すフローチャートである。 縮小符号化対象フレームと縮小符号化対象ブロックの一例を示す図である。 大小2つの探索範囲と縮小動きベクトルの検出例を示す図である。横軸はx,縦軸はyである。 縮小動きベクトル検出処理で得られる値の一例を示す図である。 参照フレームの決定処理の一例を示すフローチャートである。 動きベクトルの検出処理の一例の様子を示す図である。 データ保持部がキャッシュする参照フレーム中の画像領域の一例を示す図である。 データ保持部がキャッシュする参照フレームF,B中の画像領域の一例を示す図である。
以下、本発明の実施の形態を、図面を参照しつつ説明する。
図1は、本実施の形態の動画像符号化装置の一例を示す図である。
動画像符号化装置10は、動きベクトル検出回路11と動画像符号化処理部12を有している。また、動きベクトル検出回路11は、縮小画像生成部11a、縮小動きベクトル検出部11b、参照フレーム決定部11c、データ保持部11dと、動きベクトル検出部11eを有する。
縮小画像生成部11aは、撮像部20で撮影され、メモリ(たとえば、SDRAM(Synchronous Dynamic Random Access Memory))30に保存された符号化対象の原画像フレームを読み出し、縮小符号化対象フレームを生成する。また、縮小画像生成部11aは、動画像符号化処理部12で生成される参照フレームに対しても縮小処理を行い、縮小参照フレームを生成する。
縮小動きベクトル検出部11bは、メモリ30から縮小符号化対象フレームと縮小参照フレームを読み出し、縮小符号化対象フレームに含まれる縮小符号化対象ブロックと縮小参照フレームの間で縮小動きベクトルの検出を行う。ここで、縮小動きベクトル検出部11bは、複数の縮小参照フレームに対して、それぞれ、大きさの異なる2つの探索範囲ごとに縮小動きベクトルを検出する。つまり、大小2つの探索範囲に対してそれぞれ縮小動きベクトルが検出される。以下では小さい方の探索範囲を探索範囲c1、大きい方の探索範囲を探索範囲c2とする。
さらに、縮小動きベクトル検出部11bは、検出した縮小動きベクトルでの画像の類似度(縮小符号化対象ブロックと、縮小動きベクトルが指し示す縮小参照フレーム上の位置の画像との類似度)を求める。そして、縮小動きベクトル検出部11bは、各縮小参照フレームの大きい方の探索範囲c2で検出した縮小動きベクトルの類似度の縮小符号化対象フレーム全体の積算値(以下積算値Cbという)を求める。また、縮小動きベクトル検出部11bは、各縮小参照フレームの小さい方の探索範囲c1で検出した縮小動きベクトルでの類似度のうち、各縮小参照フレーム間で最小のものを積算していき、フレーム全体の積算値(以下積算値Caという)を求める。なお、ここでの類似度は、値が小さいほど類似していることを示すものであり、たとえば、SAD(差分絶対値和)、差分二乗和や動きベクトルの符号化コストを考慮した値などである。
参照フレーム決定部11cは、縮小動きベクトル検出部11bが求めた積算値をもとに、等倍画像での動きベクトル検出に用いる参照フレームを決定する。積算値Caが各縮小参照フレームにおける積算値Cbよりも小さい場合は、複数の参照フレームを参照したほうが、精度よく動きベクトルを検出できる可能性が高い。また、何れかの縮小参照フレームにおける積算値Cbが他の積算値よりも小さい場合は、その縮小参照フレームの等倍の参照フレームを参照することで精度よく動きベクトルを検出できる可能性が高い。
そのため、たとえば、参照フレーム決定部11cは、全ての積算値Ca,Cbのなかで、各縮小参照フレームでの何れかの積算値Cbが最も小さい場合には、その積算値Cbを示す縮小参照フレームに対応した等倍の参照フレームを選択する。また、たとえば、参照フレーム決定部11cは、全ての積算値Ca,Cbのなかで、積算値Caが最も小さい場合には、各縮小参照フレームに対応した等倍の複数の参照フレームを選択する。
データ保持部11dは、参照フレーム決定部11cで決定された参照フレーム数に応じて、探索範囲c1,c2の何れかの大きさをもとに設定される範囲の参照フレームの画像データをキャッシュする。データ保持部11dは、プリフェッチメモリとも呼ばれる。
たとえば、何れかの縮小参照フレームでの積算値Cbが他の積算値よりも小さく、1つの参照フレームが選択された場合は、探索範囲c2の大きさに基づいた範囲の参照フレームの画像データがキャッシュされる。また、積算値Caが他の積算値よりも小さく、複数の参照フレームが選択された場合は、探索範囲c1の大きさに基づいた範囲の各参照フレームの画像データがキャッシュされる。
つまり、大きな探索範囲で1つの参照フレームでの動きベクトルの検出が適している場合(積算値Cbが最も小さい場合)には、その参照フレームの画像データに対してキャッシュが行われ、他の参照フレームの画像データはキャッシュされない。小さな探索範囲で複数の参照フレームでの動きベクトルの検出が適している場合(積算値Caが最も小さい場合)には、小さい方の探索範囲c1の大きさに基づいた範囲の画像データのキャッシュが行われる。そのため、少ないキャッシュ量で適切な動きベクトルを検出できる。
動きベクトル検出部11eは、符号化対象フレームと参照フレームの縮小参照フレームにて検出された縮小動きベクトルをメモリ30から読み出す。そして、動きベクトル検出部11eは、データ保持部11dでキャッシュされた画像データのうち、符号化対象フレームの符号化対象ブロックに対する参照領域の画像データをデータ保持部11dから読み出して、動きベクトルの検出を行う。
動画像符号化処理部12は、動きベクトル検出部11eで検出された動きベクトルを用いて画面間予測符号化処理などの、動画像符号化処理を行う。
以下、本実施の形態の動画像符号化装置10及び動きベクトル検出回路11の動作をより具体的に説明する。
なお、以下では、縮小動きベクトルの検出の際に参照する縮小参照フレームが2フレームの場合について説明するが、これに限定されるわけではない。
まず、図1で示した動画像符号化装置10と撮像部20とメモリ30における画像フレームの流れを説明する。
図2は、処理される画像フレームの流れの一例を示す図である。
横軸は時間である。また、上から、撮像部20からメモリ30に書き込まれる原画像フレーム、縮小画像生成部11aが生成してメモリ30に書き込まれる縮小原画像フレーム、縮小動きベクトル検出部11bで処理される縮小符号化対象フレームが示されている。さらに、メモリ30から読み出されて縮小動きベクトル検出部11bで参照される縮小参照フレームf,bが示されている。また、フレームI0,I15はIピクチャ、フレームB1〜B8,B10〜B14,B16はBピクチャ、フレームP3,P6,P9,P12はPピクチャを示している。
たとえば、時刻t1では、メモリ30は、撮像部20が撮像したフレームB5を原画像フレームとして保存し、縮小画像生成部11aは、原画像フレームのフレームB4をメモリ30から読み出し、縮小原画像フレームを生成し、メモリ30に書き込む。また、縮小動きベクトル検出部11bは、縮小画像生成部11aで縮小されたフレームP3を縮小符号化対象フレーム、縮小されたフレームI0を縮小参照フレームfとして縮小動きベクトル検出を行う。
また、時刻t2では、メモリ30は、撮像部20が撮像したフレームP9を原画像フレームとして保存し、縮小画像生成部11aは、原画像フレームのフレームB8をメモリ30から読み出し、縮小原画像フレームを生成し、メモリ30に書き込む。また、縮小動きベクトル検出部11bは、縮小画像生成部11aで縮小されたフレームB4を縮小符号化対象フレーム、縮小されたフレームP3を縮小参照フレームf、縮小されたフレームP6を縮小参照フレームbとして縮小動きベクトル検出を行う。
以下、動画像符号化装置10の各部の動作を詳細に説明する。
(縮小画像生成部11aの動作)
図3は、1フレームの原画像フレームと縮小原画像フレームの一例を示す図である。
図中の白丸と黒丸は画素を示しており、黒丸の画素は縮小原画像フレームの生成の際にサンプリングされる画素を示している。
縮小画像生成部11aは、読み出した原画像フレームの各画素P(x,y)に対して、以下の式(1)に示す計算式でPa(x,y)を計算する。
Figure 0005533309
ここで、xは水平方向の座標、yは垂直方向の座標、a(i,j)は係数を示す。a(i,j)は低周波通過フィルタとなるような値を用いることが望ましく、たとえば、i,jの値に係わらず、a(i,j)=1/49などとすることが考えられる。次に縮小画像生成部11aは、計算したPa(x,y)のうち、x=4m+a、y=4n+b(図3の黒丸)の画素をサンプリングし、これを縮小原画像フレームとしてメモリ30に保存する。
ここで、m,nは0以上の整数を表し、a,bは0以上3以下の任意の整数を表す。
低域通過フィルタを使うことで、原画像フレームに含まれる可能性があるインパルスノイズ、サンプリングにより発生する折り返し歪みの影響を抑制することができる。
(縮小動きベクトル検出部11bの動作)
縮小動きベクトル検出部11bは、図2で示した例で、縮小符号化対象フレームが、フレームB1,B2,B4,B5…の場合には、2つの縮小参照フレームf,bに対して、それぞれ大小2つの探索範囲で縮小動きベクトルを検出する。
図4は、縮小動きベクトルの検出処理の一例を示すフローチャートである。
ステップS1:縮小動きベクトル検出部11bは、積算値CostFwd,CostBwd,CostBiを0で初期化する。積算値CostFwd,CostBwdは、縮小参照フレームf,bにおける、前述の積算値Cbに対応する。また、積算値CostBiは、前述の積算値Caに対応する。
ステップS2:縮小動きベクトル検出部11bは、縮小参照フレームfに対して小さい方の探索範囲c1で縮小動きベクトルと、その類似度cost_fwd_smallを検出する。
ステップS3:縮小動きベクトル検出部11bは、縮小参照フレームfに対して大きい方の探索範囲c2で縮小動きベクトルと、その類似度cost_fwd_largeを検出する。
ステップS4:縮小動きベクトル検出部11bは、縮小参照フレームbに対して小さい方の探索範囲c1で縮小動きベクトルと、その類似度cost_bwd_smallを検出する。
ステップS5:縮小動きベクトル検出部11bは、縮小参照フレームbに対して大きい方の探索範囲c2で縮小動きベクトルと、その類似度cost_bwd_largeを検出する。
ステップS6:縮小動きベクトル検出部11bは、積算値CostFwd,CostBwd,CostBiの更新を行う。具体的には、縮小動きベクトル検出部11bは、積算値CostFwdに類似度cost_fwd_largeを加算し、積算値CostBwdに類似度cost_bwd_largeを加算する。また、縮小動きベクトル検出部11bは、積算値CostBiに類似度cost_fwd_smallと、類似度cost_bwd_smallのうち小さい方の値を加算する。
ステップS7:縮小動きベクトル検出部11bは、縮小符号化対象フレームの全縮小符号化対象ブロックに対して、縮小動きベクトルの検出処理が完了したか否かを判定し、完了していれば縮小動きベクトル検出部11bでの処理を終了する。完了していなければ、次の縮小符号化対象ブロックに対して、ステップS2〜S7までの処理が繰り返される。
なお、ステップS2〜S5の処理は適宜順番を入れ替えてもよい。また、積算値CostFwd,CostBwd,CostBiの計算は、全縮小符号化対象ブロックについての縮小動きベクトルの検出処理が終了した後に行ってもよい。
以下、上記のステップS2〜S6の詳細を説明する。
図5は、縮小符号化対象フレームと縮小符号化対象ブロックの一例を示す図である。
縮小動きベクトル検出部11bでは、縮小符号化対象フレーム40の全ての縮小符号化対象ブロック(図5の例では、0〜23番目の縮小符号化対象ブロック)41に対して、ステップS2〜S6の処理を実行する。
ステップS2,S3の処理では、縮小動きベクトル検出部11bは、縮小参照フレームfの大小2つの探索範囲c1,c2で、縮小動きベクトルを検出する。
図6は、大小2つの探索範囲と縮小動きベクトルの検出例を示す図である。横軸はx,縦軸はyである。
破線で示したブロック50は、縮小参照フレームfにおいて、縮小符号化対象フレームの縮小符号化対象ブロックと同位置にあるブロックである。探索範囲c1は、水平方向xで±H、垂直方向yで±vの大きさの領域であり、探索範囲c2は、水平方向xで±H、垂直方向yで±Vの大きさの領域である。
たとえば、縮小動きベクトル検出部11bは、図6に示すような探索範囲c1で、縮小符号化対象ブロックと最も類似する部分の位置を示す縮小動きベクトルV1を検出し、探索範囲c1よりも大きい探索範囲c2でも同様に、縮小動きベクトルV2を検出する。なお、縮小動きベクトルV1,V2が同一となる場合もある。
ステップS4,S5の処理でも同様に、縮小動きベクトル検出部11bは、縮小参照フレームbにおいて、図6に示したような探索範囲c1,c2で縮小動きベクトルを検出する。
ステップS2〜S5での縮小動きベクトルの検出方法としては、たとえば、ブロックマッチング法が用いられる。ブロックマッチング法を用いる場合、縮小動きベクトル検出部11bは処理対象の縮小符号化対象ブロックを、図6で示したような探索範囲c1,c2の中で1画素ずつずらしながら各点でSADを計算し、最も小さなSADとなる位置を縮小動きベクトルとする。座標(x,y)でのSADは以下の式(2)を用いて計算される。
Figure 0005533309
ここで、Σはi=0,1,2,…,m−1及びj=0,1,2,…,n−1について和をとることを表す。C(i,j)は縮小符号化対象ブロックのj行i列の位置の画素値であり、R(i,j)は縮小参照フレームにおける縮小符号化対象ブロックと同位置にあるブロックの左上の画素をR(0,0)としたときの水平方向i、垂直方向jだけずれた点での画素値を表す。
たとえば、図6において、x=−60、y=−20の位置でのSADは、以下の式(3)にて計算される。
Figure 0005533309
また、たとえば、原点を中心に水平方向xが±10、垂直方向yが±5の範囲(探索範囲c1の場合、H=10、v=5)でブロックマッチング法を行う場合、縮小動きベクトル検出部11bは、以下のようにして縮小動きベクトルを算出する。
縮小動きベクトル検出部11bは、−10≦x≦10,−5≦y≦5となる整数x,yの全ての組み合わせに対してSAD(x,y)を計算する。ここで、SADが最も小さくなるx,yの組み合わせが(x,y)=(MVx,MVy)であったとき、ベクトル(MVx,MVy)が縮小動きベクトルとなる。
縮小動きベクトルの検出方法としては、上記のようなブロックマッチング法に限られず、勾配法などその他の様々な検出方法を用いてもよい。
なお、ステップS2〜S5の処理において、縮小動きベクトル検出部11bは、検出した縮小動きベクトルでの類似度を求める。類似度cost_fwd_small,cost_fwd_large,cost_bwd_small,cost_bwd_largeとしては、たとえば、SADが用いられる。たとえば、ステップS2の処理で得られた縮小動きベクトルが(MVx,MVy)であった場合、類似度cost_fwd_small=SAD(MVx,MVy)とする。このように、類似度として、縮小動きベクトルの検出において既に求めているSADを用いることで、類似度を改めて計算しなくてよく、簡便である。
なお、類似度として、SAD以外にも、差分二乗和や動きベクトルの符号化コストを考慮した値を採用するようにしてもよい。
以下に、1つの縮小符号化対象フレームの処理時に、縮小動きベクトル検出部11bで得られる値の一例をまとめる。
図7は、縮小動きベクトル検出処理で得られる値の一例を示す図である。
図7では、各縮小符号化対象ブロックの処理ごとに得られるデータをまとめている。縮小動きベクトルfwd_small_vec,bwd_small_vec,fwd_large_vec,bwd_large_vecの値については図示を省略している。たとえば、0番目の縮小符号化対象ブロックの処理では、探索範囲c1では、縮小参照フレームfで類似度cost_fwd_smallとしてA0、縮小参照フレームbで類似度cost_bwd_smallとしてB0が求められる。探索範囲c2では、縮小参照フレームfで類似度cost_fwd_largeとしてC0、縮小参照フレームbで類似度cost_bwd_largeとしてD0が求められる。また、類似度cost_fwd_smallと類似度cost_bwd_smallのうち小さい方を示すmin(A0,B0)が得られる。
また、類似度cost_fwd_largeのn個(図5の縮小符号化対象フレーム40の場合n=23)の積算値CostFwd(=C0+C1+…Cn)が得られる。また、類似度cost_bwd_largeのn個の積算値CostBwd(=D0+D1+…Dn)が得られる。また、min(cost_fwd_small,cost_bwd_small)のn個の積算値CostBi(=min(A0,B0)+min(A1,B1)+…min(An,Bn))が得られる。
(参照フレーム決定部11cの動作)
参照フレーム決定部11cは、縮小動きベクトル検出部11bから、図4で示した処理により算出された積算値CostFwd,CostBwd,CostBiを受け取り、動きベクトル検出部11eで使用する参照フレームを決定する。
図8は、参照フレームの決定処理の一例を示すフローチャートである。
ステップS10:参照フレーム決定部11cは、積算値CostFwd,CostBwd,CostBiのうち、積算値CostFwdが最小であるか否か判定する。すなわち、参照フレーム決定部11cは、min(CostFwd,CostBwd,CostBi)==CostFwdであるか否かを判定する。
ステップS11:min(CostFwd,CostBwd,CostBi)==CostFwdであった場合には、参照フレーム決定部11cは、縮小参照フレームfの等倍の参照フレームFを選択し、参照フレームの決定処理を終了する。
ステップS12:min(CostFwd,CostBwd,CostBi)==CostFwdでない場合には、参照フレーム決定部11cは、積算値CostBwd,CostBiのうち、積算値CostBwdが最小であるか否か判定する。すなわち、参照フレーム決定部11cは、min(CostBwd,CostBi)==CostBwdであるか否か判定する。
ステップS13:min(CostBwd,CostBi)==CostBwdであった場合には、参照フレーム決定部11cは、縮小参照フレームbの等倍の参照フレームBを選択し、参照フレームの決定処理を終了する。
ステップS14:min(CostBwd,CostBi)==CostBwdでない場合、すなわち、積算値CostBiが3つの中で最小の場合、参照フレーム決定部11cは、参照フレームFと参照フレームBを選択し、参照フレームの決定処理を終了する。
なお、積算値CostFwd,CostBwd,CostBiのうち、最も小さい値が複数存在する場合、参照フレーム決定部11cは、たとえば、積算値CostFwd,CostBwd,CostBiの順で優先する。たとえば、CostFwd=CostBwd<CostBiの場合、参照フレーム決定部11cは、参照フレームFの1フレームを選択する。
なお、優先する順序は特に積算値CostFwd,CostBwd,CostBiの順に限られるものではない。
上記のようにして、決定された参照フレームの情報はデータ保持部11dと、動きベクトル検出部11eに通知される。
(動きベクトル検出部11eの動作)
動きベクトル検出部11eは、参照フレーム決定部11cにて選択された参照フレームを用いて動きベクトルの検出を行う。たとえば、参照フレーム決定部11cが、参照フレームFを選択した場合、参照フレームFを対象として動きベクトルの検出を行う。また、参照フレーム決定部11cが、参照フレームFと参照フレームBの両方を選択した場合、参照フレームFと参照フレームBの両方に対して、それぞれ動きベクトルの検出を行う。
図9は、動きベクトルの検出処理の一例の様子を示す図である。
図9では、参照フレームFに対する動きベクトルの検出の様子を示している。ブロック61は、符号化対象フレームにおける符号化対象ブロック(16×16画素)の位置を示している。動きベクトルの探索範囲は、縮小画像生成部11aでの水平方向、垂直方向の縮小率が1/m、1/nの場合、縮小動きベクトルの水平成分と垂直成分をm倍、n倍したベクトルVcを中心として、たとえば、水平方向±(m−1)、垂直方向±(n−1)とする。図9では、m=n=4の場合の例を示しており、ベクトルVcは、(4MVx,4MVy)である。また、図9に示す例では、探索範囲60は、ベクトルVcの指す先を中心として、水平方向−3から+3画素、垂直方向−3から+3画素、つまり7×7画素の大きさとなっている。動きベクトル検出部11eは、このような探索範囲60を含む参照領域をデータ保持部11dから読み出して動きベクトルの検出を行う。
縮小動きベクトルは、図7に示したように、縮小符号化対象ブロックごとに、たとえば,fwd_small_vec,bwd_small_vec,fwd_large_vec,bwd_large_vecがある。
参照フレーム決定部11cが参照フレームFを選択している場合には、動きベクトル検出部11eは、縮小動きベクトルとして、fwd_large_vecを用いる。参照フレーム決定部11cが参照フレームBを選択している場合には、動きベクトル検出部11eは、縮小動きベクトルとして、bwd_large_vecを用いる。また、参照フレーム決定部11cが参照フレームF,Bの両方を選択している場合、動きベクトル検出部11eは参照フレームFに対する探索の際にはfwd_small_vecを、参照フレームBに対する探索の際にはbwd_small_vecを用いる。
動きベクトル検出部11eでの動きベクトルの検出方法としては、前述したブロックマッチング法などが適用可能である。
また、動きベクトル検出部11eは、符号化対象フレームの水平方向の全符号化対象ブロックに対して動きベクトルの検出が終了すると、データ保持部11dに、キャッシュする領域(以下プリフェッチ領域という)を更新させる旨の信号を通知する。
(データ保持部11dの動作)
データ保持部11dは、参照フレームとその数に応じて、メモリ30から参照フレームの一部のデータを読み出し、一時的にキャッシュする。そして、データ保持部11dは、動きベクトル検出部11eに対して、動きベクトル検出処理で参照する参照領域の画像データを供給する。
図10は、データ保持部がキャッシュする参照フレーム中の画像領域の一例を示す図である。図10(A),(B),(C)では、参照フレーム決定部11cにより参照フレームFが1つ選択された場合の、プリフェッチ領域72a,72bが示されている。
図10(A)に示すように、ブロック70aは、符号化対象フレームにおける符号化対象ブロックの位置を示している。
縮小画像生成部11aでの水平方向、垂直方向の縮小率が、それぞれ1/4の場合、動きベクトル検出部11eが参照する参照領域71aは、たとえば、ブロック70aを垂直方向に4V+3、水平方向に4H+3拡大したものとする。
ここで、VとHは、図6に示したような、縮小参照フレームfでの探索範囲c2の大きさを示す値である。参照フレームFが選択された場合、探索範囲c2で検出される縮小動きベクトルfwd_large_vecが用いられるため、この探索範囲c2の値が用いられる。また、+3とする理由は、動きベクトル検出部11eが縮小動きベクトルfwd_large_vecの水平成分と垂直成分を4倍したベクトルVcを中心に、図9に示したように、±3の探索範囲で動きベクトル検出を行うからである。
この場合、データ保持部11dがキャッシュするプリフェッチ領域72aは、たとえば、垂直方向の長さが参照領域71aと同じで、水平方向は参照フレームFの水平方向の長さとなる領域とする。
このようにすることで、図10(B)に示すように、水平方向の次の符号化対象ブロックに対する動きベクトル検出を行う際、ブロック70bの周囲の参照領域70bはプリフェッチ領域72aに含まれている。そのため、データ保持部11dは、新たに画像データをメモリ30から読み出さなくてよい。データ保持部11dは、図10(C)に示すように、ブロック70aに対して垂直方向の次の行の符号化対象ブロックに対する動きベクトル検出を行う際、ブロック70cの周囲の参照領域70cを含むように、プリフェッチ領域72bを更新する。
プリフェッチ領域72a,72bの更新のタイミングは、たとえば、動きベクトル検出部11eから、水平方向の全符号化対象ブロックでの動きベクトル検出処理が終了したことを示す検出完了信号の通知を受けたときのタイミングとすればよい。
以上のように、参照フレームFが選択される場合、データ保持部11dは、縮小動きベクトルfwd_large_vecの探索範囲c2の垂直方向の範囲(±V)をもとに決まる大きさのプリフェッチ領域の画像データをキャッシュすればよい。この場合、データ保持部11dは、参照フレームBの画像データをキャッシュしなくてよい。
参照フレーム決定部11cにて参照フレームBが選択された場合も、探索範囲c2で検出される縮小動きベクトルbwd_large_vecが用いられるため、図10に示したプリフェッチ領域72a,72bと同様の大きさのプリフェッチ領域が設定される。この場合、データ保持部11dは、参照フレームFの画像データをキャッシュしなくてよい。
参照フレーム決定部11cにて参照フレームF,Bが両方選択された場合、探索範囲c1で検出される縮小動きベクトルfwd_small_vec,bwd_small_vecが用いられる。この場合、プリフェッチ領域は以下のようになる。
図11は、データ保持部がキャッシュする参照フレームF,B中の画像領域の一例を示す図である。図11(A)が参照フレームFにおけるプリフェッチ領域82a、図11(B)が参照フレームBにおけるプリフェッチ領域82bを示している。
図11(A),(B)に示すように、ブロック80aは、符号化対象フレームにおける符号化対象ブロックの位置を示している。
水平方向、垂直方向の縮小率が、それぞれ1/4の場合、動きベクトル検出部11eは、それぞれの参照フレームF,Bで参照する参照領域81a,81bを、たとえば、ブロック80aを垂直方向に4v+3、水平方向に4H+3拡大したものとする。
ここで、vとHは、図6に示したような、探索範囲c1の大きさを示す値である。参照フレームF,Bが選択された場合、探索範囲c1で検出される縮小動きベクトルfwd_small_vec,bwd_small_vecが用いられるため、この探索範囲c1の値が用いられる。
参照フレーム決定部11cにて参照フレームF,Bが両方選択された場合、データ保持部11dは、参照フレームF,Bの両方の画像データをキャッシュすることになる。しかし、それぞれのプリフェッチ領域82a,82bは、探索範囲c2と比べて小さい探索範囲c1の垂直方向の長さをもとに大きさが決まるため、図10で示したプリフェッチ領域72a,72bよりも小さくできる。したがって、データ保持部11dのキャッシュ量を削減できる。
以上のように、本実施の形態の動きベクトル検出回路11では、大小の探索範囲で検出した縮小動きベクトルでの類似度の積算から参照フレーム数を決め、その数に応じ、大小の何れの探索範囲に応じた範囲の参照フレームの画像データを保持するか決めている。これにより、少ないキャッシュ量でも、処理対象の動画像の動きの大きさに応じた、より精度の高い適切な動きベクトルを検出できる。
(動画像符号化処理部12の動作)
動画像符号化処理部12は、メモリ30から、符号化対象フレームと参照フレームと動きベクトル検出部11eで検出された動きベクトルを入力して、画面間予測符号化処理などの、動画像符号化処理を行う。そして、動画像符号化処理部12は、符号化した画像データをメモリ30に書き込む。また、動画像符号化処理部12は、後続のフレームのための参照フレームを生成してメモリ30に書き込む。
動画像符号化処理部12では、動きベクトル検出回路11が検出した高精度の動きベクトルを用いて動画像符号化を行うことで、復号再生したときの画像の品質が高い動画像符号化データを生成することが可能となる。
以上、実施の形態に基づき、本発明の動きベクトル検出回路、動画像符号化装置及び動きベクトル検出方法の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
たとえば、類似度の積算は、縮小動きベクトル検出部11bではなく、参照フレーム決定部11cで行うようにしてもよい。また、縮小動きベクトル検出部11bにおいて、縮小参照フレームは、3つ以上用いてもよい。その場合、探索範囲c1をより小さくすることで、データ保持部11dのキャッシュ量を少なくできる。
また、上記の説明では、プリフェッチ領域の水平方向の長さは、参照フレームの水平方向の長さと等しいとしたがこれに限定されず、動きベクトル検出部11eが参照する参照領域の部分だけ、キャッシュするようにしてもよい。その場合、データ保持部11dは、たとえば、各符号化対象ブロックの処理ごとに、新たに参照領域として参照する分だけメモリ30から画像データを読み出すようにすればよい。
10 動画像符号化装置
11 動きベクトル検出回路
11a 縮小画像生成部
11b 縮小動きベクトル検出部
11c 参照フレーム決定部
11d データ保持部
11e 動きベクトル検出部
12 動画像符号化処理部
20 撮像部
30 メモリ

Claims (4)

  1. 縮小符号化対象フレームに含まれる縮小符号化対象ブロックのそれぞれと、複数の縮小参照フレームのそれぞれとの間で、第1の探索範囲で第1の縮小動きベクトルと前記第1の縮小動きベクトルでの画像の第1の類似度を検出し、前記第1の探索範囲よりも小さい第2の探索範囲で第2の縮小動きベクトルと前記第2の縮小動きベクトルでの画像の第2の類似度を検出する縮小動きベクトル検出部と、
    前記第1の類似度を前記縮小符号化対象フレーム全体で積算した、前記縮小参照フレームごとの第1の積算値と、前記縮小符号化対象ブロックと前記複数の縮小参照フレームとの間で得られた前記第2の類似度のうち最小のものを前記縮小符号化対象フレーム全体で積算した第2の積算値と、の大小関係に基づき、前記複数の縮小参照フレームに対応した複数の参照フレームを選択するか、前記複数の縮小参照フレームの何れかの縮小参照フレームに対応した参照フレームを選択するか、決定する参照フレーム決定部と、
    1つの前記参照フレームが選択されたときには、前記第1の探索範囲に基づき設定される第1の範囲の前記参照フレームの第1の画像データを保持し、前記複数の参照フレームが選択されたときには、前記第2の探索範囲の大きさに基づき設定される第2の範囲の前記複数の参照フレームの第2の画像データを保持するデータ保持部と、
    等倍の符号化対象フレームに対して、前記データ保持部に、前記第1の画像データが保持されているときには、前記第1の縮小動きベクトルと前記第1の画像データとに基づき、前記第2の画像データが保持されているときには、前記第2の縮小動きベクトルと前記第2の画像データとに基づき、動きベクトルの検出を行う動きベクトル検出部と、
    を有することを特徴とする動きベクトル検出回路。
  2. 前記第1の類似度または前記第2の類似度は、前記第1の縮小動きベクトルまたは前記第2の縮小動きベクトルの検出時に算出される差分絶対値和であることを特徴とする請求項1に記載の動きベクトル検出回路。
  3. 縮小符号化対象フレームに含まれる縮小符号化対象ブロックのそれぞれと、複数の縮小参照フレームのそれぞれとの間で、第1の探索範囲で第1の縮小動きベクトルと前記第1の縮小動きベクトルでの画像の第1の類似度を検出し、前記第1の探索範囲よりも小さい第2の探索範囲で第2の縮小動きベクトルと前記第2の縮小動きベクトルでの画像の第2の類似度を検出する縮小動きベクトル検出部と、
    前記第1の類似度を前記縮小符号化対象フレーム全体で積算した、前記縮小参照フレームごとの第1の積算値と、前記縮小符号化対象ブロックと前記複数の縮小参照フレームとの間で得られた前記第2の類似度のうち最小のものを前記縮小符号化対象フレーム全体で積算した第2の積算値と、の大小関係に基づき、前記複数の縮小参照フレームに対応した複数の参照フレームを選択するか、前記複数の縮小参照フレームの何れかの縮小参照フレームに対応した参照フレームを選択するか、決定する参照フレーム決定部と、
    1つの前記参照フレームが選択されたときには、前記第1の探索範囲に基づき設定される第1の範囲の前記参照フレームの第1の画像データを保持し、前記複数の参照フレームが選択されたときには、前記第2の探索範囲の大きさに基づき設定される第2の範囲の前記複数の参照フレームの第2の画像データを保持するデータ保持部と、
    等倍の符号化対象フレームに対して、前記データ保持部に、前記第1の画像データが保持されているときには、前記第1の縮小動きベクトルと前記第1の画像データとに基づき、前記第2の画像データが保持されているときには、前記第2の縮小動きベクトルと前記第2の画像データとに基づき、動きベクトルの検出を行う動きベクトル検出部と、
    前記動きベクトルをもとに、動画像符号化処理を行う動画像符号化処理部と、
    を有することを特徴とする動画像符号化装置。
  4. 縮小動きベクトル検出部が、縮小符号化対象フレームに含まれる縮小符号化対象ブロックのそれぞれと、複数の縮小参照フレームのそれぞれとの間で、第1の探索範囲で第1の縮小動きベクトルと前記第1の縮小動きベクトルでの画像の第1の類似度を検出し、前記第1の探索範囲よりも小さい第2の探索範囲で第2の縮小動きベクトルと前記第2の縮小動きベクトルでの画像の第2の類似度を検出し、
    参照フレーム決定部が、前記第1の類似度を前記縮小符号化対象フレーム全体で積算した、前記縮小参照フレームごとの第1の積算値と、前記縮小符号化対象ブロックと前記複数の縮小参照フレームとの間で得られた前記第2の類似度のうち最小のものを前記縮小符号化対象フレーム全体で積算した第2の積算値と、の大小関係に基づき、前記複数の縮小参照フレームに対応した複数の参照フレームを選択するか、前記複数の縮小参照フレームの何れかの縮小参照フレームに対応した参照フレームを選択するか、決定し、
    データ保持部が、1つの前記参照フレームが選択されたときには、前記第1の探索範囲に基づき設定される第1の範囲の前記参照フレームの第1の画像データを保持し、前記複数の参照フレームが選択されたときには、前記第2の探索範囲の大きさに基づき設定される第2の範囲の前記複数の参照フレームの第2の画像データを保持し、
    動きベクトル検出部が、等倍の符号化対象フレームに対して、前記データ保持部に、前記第1の画像データが保持されているときには、前記第1の縮小動きベクトルと前記第1の画像データとに基づき、前記第2の画像データが保持されているときには、前記第2の縮小動きベクトルと前記第2の画像データとに基づき、動きベクトルの検出を行うことを特徴とする動きベクトル検出方法。

JP2010135951A 2010-06-15 2010-06-15 動きベクトル検出回路、動画像符号化装置及び動きベクトル検出方法 Expired - Fee Related JP5533309B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010135951A JP5533309B2 (ja) 2010-06-15 2010-06-15 動きベクトル検出回路、動画像符号化装置及び動きベクトル検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010135951A JP5533309B2 (ja) 2010-06-15 2010-06-15 動きベクトル検出回路、動画像符号化装置及び動きベクトル検出方法

Publications (2)

Publication Number Publication Date
JP2012004710A JP2012004710A (ja) 2012-01-05
JP5533309B2 true JP5533309B2 (ja) 2014-06-25

Family

ID=45536233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010135951A Expired - Fee Related JP5533309B2 (ja) 2010-06-15 2010-06-15 動きベクトル検出回路、動画像符号化装置及び動きベクトル検出方法

Country Status (1)

Country Link
JP (1) JP5533309B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5906993B2 (ja) * 2012-08-22 2016-04-20 富士通株式会社 符号化装置、符号化方法、及びプログラム
US9049442B2 (en) * 2013-03-15 2015-06-02 Canon Kabushiki Kaisha Moving image encoding apparatus and method for controlling the same
JP6187286B2 (ja) * 2014-01-28 2017-08-30 富士通株式会社 動画像符号化装置
JP2015226199A (ja) * 2014-05-28 2015-12-14 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP6390352B2 (ja) * 2014-10-31 2018-09-19 富士通株式会社 動き探索処理プログラム、動き探索処理方法および動き探索処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1142343A1 (en) * 1999-10-29 2001-10-10 Koninklijke Philips Electronics N.V. Video encoding method
CN1977541B (zh) * 2004-06-29 2010-05-26 索尼株式会社 运动补偿预测方法和运动补偿预测装置
JP2008219141A (ja) * 2007-02-28 2008-09-18 Sanyo Electric Co Ltd 動きベクトル検出装置、それを用いた画像符号化装置および撮像装置
JP2009152710A (ja) * 2007-12-19 2009-07-09 Renesas Technology Corp 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
JP2012004710A (ja) 2012-01-05

Similar Documents

Publication Publication Date Title
CA3131447C (en) Encoding and decoding method and device, encoder side apparatus and decoder side apparatus
JP4757080B2 (ja) 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置
US8654847B2 (en) Video decoding device, video decoding method, video decoding program, and video decoding integrated circuit
JP5533309B2 (ja) 動きベクトル検出回路、動画像符号化装置及び動きベクトル検出方法
CN113597764B (zh) 视频解码方法、系统和存储介质
JP2009071689A (ja) 画像処理装置、画像処理方法および撮像装置
JP2010288110A (ja) 画像処理装置および画像処理方法
JP2005229600A (ja) 重畳されたブロック基盤の動き推定による動き補償補間方法及びそれを適用したフレームレート変換装置
JP2007124408A (ja) 動きベクトル検出装置および動きベクトル検出方法
JP4709155B2 (ja) 動き検出装置
JP2009105533A (ja) 画像処理装置、撮像装置、画像処理方法および撮像画像処理方法
JP2009055410A (ja) 画像処理装置および画像処理方法
JP2004529569A (ja) 埋め込みリサイジング機能を有するmpeg復号化のためのインターレース移動領域の検出及び適正な補間
JP4998134B2 (ja) 画像処理装置および画像処理方法
JP2009116763A (ja) 画像処理装置および画像データのメモリアクセス方法
JP2006215657A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
JP4461805B2 (ja) 画像処理装置
JP3277419B2 (ja) 動きベクトル検出装置および方法
US9432690B2 (en) Apparatus and method for video processing
JP5299319B2 (ja) 動きベクトル検出装置
JP5308981B2 (ja) 予測ベクトル補正装置及びプログラム
TWI390954B (zh) 動態影像補償裝置及方法
JP2008085674A (ja) 動き検出装置及びその方法
JP6091082B2 (ja) 画像処理装置、画像処理方法、及び、プログラム
JP2008187481A (ja) 動き検出装置、及び動き検出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140221

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: 20140401

R150 Certificate of patent or registration of utility model

Ref document number: 5533309

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140414

LAPS Cancellation because of no payment of annual fees