JP2009272702A - 動きベクトル探索装置及びその制御方法 - Google Patents

動きベクトル探索装置及びその制御方法 Download PDF

Info

Publication number
JP2009272702A
JP2009272702A JP2008119053A JP2008119053A JP2009272702A JP 2009272702 A JP2009272702 A JP 2009272702A JP 2008119053 A JP2008119053 A JP 2008119053A JP 2008119053 A JP2008119053 A JP 2008119053A JP 2009272702 A JP2009272702 A JP 2009272702A
Authority
JP
Japan
Prior art keywords
motion vector
block
encoding cost
correlation value
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2008119053A
Other languages
English (en)
Inventor
Susumu Igarashi
進 五十嵐
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2008119053A priority Critical patent/JP2009272702A/ja
Publication of JP2009272702A publication Critical patent/JP2009272702A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】可変ブロックサイズ動き補償を用いた動きベクトル探索を行う際に、画像及び動きベクトルの両方について符号量を低減し、動画像全体として良好な符号化効率を実現するような、動き補償の単位ブロックサイズを決定する動きベクトル探索装置及びその制御方法を提供する。
【解決手段】複数種類のブロックサイズに対し、現処理対象ブロックと予測ブロックについて、SAD値による第1の相関値と、SATDによる第2の相関値を求める(101)。各ブロックサイズに対し、現処理対象ブロックに対応する予測動きベクトルを算出し(103)、第1及び第2の相関値と予測動きベクトルに基づいて符号化コストを算出する(104)。得られた符号化コストに基づいて動き補償の単位ブロックサイズを決定する(106)。
【選択図】図1

Description

本発明は、デジタル動画像における動きベクトルを探索する動きベクトル探索装置及びその制御方法に関する。
従来、ディジタル動画像を圧縮符号化する手法として、動き補償符号化と呼ばれる方法が一般的に知られている。これは、符号化対象画像を矩形ブロックに分割し、該ブロック単位に動きベクトルを検出して、該動きベクトルに基いて動き補償による予測画像を生成し、符号化対象画像との差分をとって符号化を行うというものである。さらに、当該差分画像に対してブロック単位によるDCT(Discrete Cosine Transform)を施し、量子化してエントロピー符号化を施す方法が一般的に利用されている。さらに、ブロックを単位とする動きベクトルの探索には、ブロックマッチングとよばれる方法が一般的によく利用される。ブロックマッチングにおいては、入力画像と参照画像とのマッチングの度合いを表す相関値や周囲ブロックの動き情報等から、符号化時の符号消費量(以下、符号化コスト)を予測し、これが最小となると予想されたベクトルを動きベクトルとして定める。
また、分割するブロックをさらにサブブロックに分割し、該ブロックの単位あるいは該サブブロックの単位で、上述した動き補償を行う方法がある。これは可変ブロックサイズ動き補償などと呼ばれ、動き補償の単位となるブロックサイズを固定したやり方より、より高い符号化効率が期待できる方法として知られる(例えば、特許文献1参照)。
ここで図3に、可変ブロックサイズの概念を示す。同図ではその一例として、まず(a)に、16×16のブロックサイズを基準サイズとして、それを8×16,16×8,8×8のサブブロックに分割する例を示す。そして(b)に、上記(a)において8×8に分割されたサブブロックに対してさらに4×8,8×4,4×4のサイズにまで分割できる場合を示す。そして(c)に、最終的に決定されたブロック分割の例を示している。(c)に示す最終的なブロック領域のそれぞれに対して、動きベクトル情報が発生する。
かかる可変ブロックサイズ動き補償においては、入力画像と参照画像とのマッチングの度合いを表す相関値として予測誤差の平均値あるいは絶対値平均を用いて、ブロックサイズを決定する方法が一般的に使用されてきた。
しかしながら、上述したような予測誤差の平均値あるいは絶対値平均による相関値を使用すると、以下のような問題があった。すなわち、差分画像をDCTした際にDCT係数の一部に電力が集中してしまうような場合には、符号量としては小さくなるにもかかわらず、相関値としては相関が低い値として算出されてしまう。
このような問題を解決するための技術として、入力画像と参照画像との予測誤差に対してアダマール変換等の直交変換(または簡易的な直交変換)を施し、得られた直交変換係数の絶対値和を相関値として用いる方法がある(例えば、特許文献2参照)。かかる相関値を用いれば、DCT係数の一部に電力が集中してしまうような場合においても、相関が高い値として算出されやすい傾向があるため、画像情報の符号量が低減されるという効果が得られる。
特登録02716703号 特開2004-241957号公報
しかしながら、上述したように直交変換係数の絶対値和を相関値として用いた場合には、画像情報の符号量を低減する傾向がある一方、動き情報の符号量が増加してしまうという傾向があるため、動画像全体の符号化効率としては大きな向上は望めなかった。特に、可変ブロックサイズ動き補償においては、固定ブロックサイズ動き補償に比べ、より動き補償の単位となるブロックが細分化されるため、全体の符号量における動き情報の符号量の占める割合が大きくなる傾向がある。そのため、こうした動き情報の符号量は無視できず、たとえ画像情報の符号量が低減されたとしても、動き情報の符号量を加えた全体的な符号量としての効果は小さく、符号化効率の向上は望めなかった。
ここで図4に、相関値として、差分の絶対値和を用いて符号化を行った場合と、アダマール変換係数の絶対値和を用いて符号化を行った場合と、のそれぞれにおける1フレーム当たりの符号量を、画像情報(インターフレームのみ)と動き情報とに分けて示す。以下、差分の絶対値和をSAD(Sum of Absolute Difference)と称し、アダマール変換係数の絶対値和をSATD(Sum of Absolute Transformed Difference)と称する。同図に示す棒グラフのうち、左半分は相関値としてSADを用いた場合を、右半分は相関値としてSATDを用いた場合を表しており、それぞれ量子化スケール値を変えて表している。同図によれば、相関値としてSATDを用いた場合には、SADを用いた場合に比べて画像情報の符号量(グラフの白い部分)は低減されるものの、動き情報の符号量(グラフの網掛けの部分)は逆に増加していることが分かる。したがって、符号量全体として両者は大差のないものとなっている。
本発明は上述したような問題を解決するためになされたものであり、以下のような機能を有する動きベクトル探索装置及びその制御方法を提供することを目的とする。すなわち、可変ブロックサイズ動き補償を用いた動きベクトル探索を行う際に、画像及び動きベクトルの両方について符号量を低減し、動画像全体として良好な符号化効率を実現するような、動き補償の単位ブロックサイズを決定する。
上記目的を達成するための一手段として、本発明の動きベクトル探索装置は以下の構成を備える。
すなわち、可変ブロックサイズ動き補償を用いた動きベクトル探索を行う際に、予め用意された複数種類のブロックサイズから動き補償を行う単位ブロックサイズを決定する動きベクトル探索装置であって、現処理対象ブロックと予測ブロックとの相関を、前記複数種類のブロックサイズのそれぞれについて第1及び第2の相関値算出方法により求め、第1及び第2の相関値として出力する相関値算出手段と、前記ブロックサイズのそれぞれについて、動きベクトルの予測値としての予測動きベクトルを算出する予測動きベクトル算出手段と、前記ブロックサイズのそれぞれについて、前記第1及び第2の相関値と、前記予測動きベクトルに基づいて、動き補償を行った場合の符号化コストを算出する符号化コスト算出手段と、前記ブロックサイズそれぞれの前記符号化コストに基き、前記単位ブロックサイズを決定するブロックサイズ決定手段と、を有することを特徴とする。
例えば、前記第1の相関値算出方法は、現処理対象ブロックと予測ブロックとの差分の絶対値和をとることによって前記第1の相関値を求める方法であり、前記第2の相関値算出方法は、現処理対象ブロックと予測ブロックとの差分に対して直交変換を施した後、得られた直交変換係数の絶対値和をとることによって前記第2の相関値を求める方法であることを特徴とする。
上記構成からなる本発明によれば、可変ブロックサイズ動き補償を用いた動きベクトル探索を行う際に、画像及び動きベクトルの両方について符号量を低減し、動画像全体として良好な符号化効率を実現するような、動き補償の単位ブロックサイズが決定される。
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<第1実施形態>
●システム構成
図1は、本実施形態における動きベクトル探索装置の構成を示すブロック図である。本実施形態の動きベクトル探索装置においては、複数種類のブロックサイズによる可変ブロックサイズ動き補償を行うが、許容される可変ブロックサイズの候補として、16×16画素サイズと8×8画素サイズのみに対応する例として説明する。しかしながら、例えば図3で示したような、より多くのブロックサイズにも対応するように、本実施形態を変形することも可能であり、16×16画素サイズと8×8画素サイズに限定されるものではない。
図1において、相関値算出部101は、現フレーム中の処理対象ブロックと、動き補償部102より出力される参照フレームから切り出された参照ブロックを入力し、該入力ブロックと参照ブロックとの相関値を算出する。該相関値は、複数の探索ポイントに対応する複数回のブロックマッチング毎に出力されるものであり、性質の異なる2種類の相関値が含まれることを特徴とする。該2種類の相関値のうち、第1の相関値としてここではSADを用いるものとする。SADを算出するための第1の相関値算出方法としては、現処理対象ブロックと参照ブロックとの差分の絶対値和をとることを特徴とする。
ここで図5に、x画素×y画素からなる処理対象ブロックの各画素値'Org0,0'〜'Orgx-1,y-1'と、x画素×y画素からなる予測ブロックの各画素値'Ref0,0'〜'Refx-1,y-1'の位置関係を示す。図5によれば、処理対象ブロック及び予測ブロックに対するSADは次式(1)より得られる。
Figure 2009272702
また、2種類の相関値のうちの第2の相関値としてここではSATDを用いるものとする。SATDを算出するための第2の相関値算出方法としては、現処理対象ブロックと予測ブロックとの差分に対して直交変換を施した後、得られた直交変換係数の絶対値和をとることを特徴とする。以下に、ブロックサイズが4画素×4画素である場合のSATDの算出処理を示す。
処理対象ブロック'Org0,0'〜'Org3,3'を行列Oとして表現すると、次式(2)のようになる。
Figure 2009272702
同様に、予測ブロック'Ref0,0'〜'Ref3,3'を行列Rとして表現すると、次式(3)のようになる。
Figure 2009272702
また、処理対象ブロックと予測ブロックの差分ブロックを行列Dとして表現すると、次式(4)のようになる。
D=O−R ・・・(4)
差分ブロックDに対し、次式(5)に示される4次アダマール行列H4x4を用いてアダマール変換を施し、変換係数行列TDを得る。
Figure 2009272702
上記変換係数行列TDは、次式(6)で得られる。
TD=H4x4・D・H4x4 ・・・(6)
これにより、変換係数行列TDの各要素は次式(7)のように表される。
Figure 2009272702
以上を踏まえて、処理対象ブロック及び予測ブロックに対するSATDは、次式(8)より得られる。
Figure 2009272702
なお、以上では4画素×4画素ブロックサイズのSATDの算出方法を示したが、8画素×8画素、16画素×16画素ブロックサイズのSATDにおいても、行列の要素を拡張して、同様に算出することができる。また、ブロックサイズが正方形でない場合(4画素×8画素、16画素×8画素等)には、例えば4画素×4画素または8画素×8画素ブロックサイズで算出したSATDの和をとることによって代用してもよい。同様に、8画素×8画素、16画素×16画素ブロックサイズのSATDにおいても、4画素×4画素または8画素×8画素ブロックサイズで算出したSATDの和をとることで代用してもよい。
相関値算出部101からは、上述したような方法で得られた相関値SAD及びSATDが、各ブロックサイズに対応する、単位ブロックサイズの候補となる候補ブロックの数分、それぞれ出力される。本実施形態の場合、後述する暫定値保持部#0に対応する16画素×16画素サイズの1ブロックと、暫定値保持部#1〜#4に対応する8画素×8画素サイズの4ブロックで、合計5つのSAD及びSATDが、それぞれ出力される。すなわち、本実施形態における候補ブロックとしては、第1のサイズ(この場合16画素×16画素)のブロックと、該第1のサイズのブロックを分割する、より小さい第2のサイズ(この場合8画素×8画素)のブロック群を用意する。
図1に示すように、相関値算出部101から符号化コスト算出部104へは、SAD0〜SAD4及びSATD0〜SATD4が出力される。このSAD0及びSATD0は、一つの16画素×16画素サイズブロックに対応する相関値を表し、SAD1〜SAD4及びSATD1〜SATD4は、4つの8画素×8画素サイズブロックに対応する相関値を表す。
動き補償部102は、後述する動きベクトル決定部106が随時出力する探索MVが示すベクトルに対応する参照ブロックを、参照フレームより切り出して相関値算出部101へと出力する。すなわち、複数の探索ポイントに対応する複数回のブロックマッチング毎に探索MVを受け取り、その都度対応する参照ブロックを出力するものである。
予測動きベクトル算出部103は、複数の候補ブロックのそれぞれに対応する動きベクトルの予測値として、予測動きベクトルMV0pred〜MV4predを算出し、符号化コスト算出部104へ出力する。以下、これら複数の予測動きベクトルMV0pred〜MV4predをまとめて、MVnpredと表記する。予測動きベクトルの算出方法としては、例えば、既に動き探索処理が終了した周辺ブロックの動き情報に基づき、その中間値を予測動きベクトルとして算出してもよい。また、現処理対象フレームの一枚前のフレームにおける同位置のブロックの動き情報を、予測動きベクトルとして算出してもよい。
符号化コスト算出部104は、相関値算出部101より出力される相関値と、予測動きベクトル算出部103より出力される予測動きベクトルMVnpredを入力とする。さらに、動きベクトル決定部106より出力される探索MVと初期化要求信号も入力される。そして、各ブロックサイズに対応する複数の候補ブロックの符号化コストCOST0〜COST4を計算して、ブロックサイズ決定部105及び動きベクトル決定部106へと出力する。以下、これら複数の符号化コストCOST0〜COST4をまとめて、COSTnと表記する。また、各ブロックサイズに対応する複数の候補ブロックそれぞれの仮の動きベクトルMV0〜MV4を決定し、動きベクトル決定部106へと出力する。以下、これら複数の仮の動きベクトルMV0〜MV4をまとめて、MVnと表記する。なお、符号化コスト算出部104における詳細な処理については後述する。
ブロックサイズ決定部105は、符号化コスト算出部104より出力される、各ブロックサイズに対応する複数の候補ブロックの符号化コストCOSTnを入力とする。そして、これら符号化コストCOSTnに基づいてブロック分割を決定し、ブロック分割情報として動きベクトル決定部106及び外部の構成へと出力する。
ここで、符号化コストCOSTnを用いてブロックサイズを決定する方法について説明する。この決定は、16画素×16画素サイズの1ブロックに対応する第1の符号化コストCOST0と、8画素×8画素サイズの4ブロックに対応する符号化コストの総和である、第2の符号化コスト総和COST_s_allとを比較することにより行われる。まず、第2の符号化コスト総和COST_s_allは、次式(9)のように求める。
COST_s_all=COST1+COST2+COST3+COST4 ・・・(9)
実際の比較としては、例えば次式(10)の示す条件式が成り立つ場合には、ブロックサイズを16画素×16画素サイズに決定し、成り立たない場合には8画素×8画素サイズに決定する。
COST0<λ・COST_s_all+μ ・・・(10)
(10)式において、λ及びμは、予め定められた係数である。
一般に、小さいブロックサイズを選択する場合は大きいブロックサイズを選択する場合に比べて処理負荷が大きいため、処理に必要なリソースに余裕がない場合には、なるべく大きいブロックサイズを選ぶように設定するのが望ましい。例えば、処理時間に余裕がない場合には、λを1より大きめの値に設定し、μを0より十分大きい値に設定すれば良い。反対に、処理時間に十分余裕があり、符号化効率を優先させたい場合には、λを1若しくは1より少し大きい値に設定し、μを0若しくは0より少し大きい値に設定すれば、限られた処理時間内で最大の符号化効率が実現される。該設定は、当該処理ブロック毎に割り当てられた処理の許容時間すなわち、許容される最大処理時間の情報に応じて適応的に行なわれるようにすれば、好適な符号化結果を得ることができる。
動きベクトル決定部106には、符号化コスト算出部104より出力される符号化コストCOSTn及び、仮の動きベクトルMVn及び、ブロックサイズ決定部105より出力されるブロック分割情報が入力される。該入力された各信号に基き、所定の探索アルゴリズムに従って次の探索ポイントを計算し、該探索ポイントに対応する探索MVを順次、動き補償部102及び符号化コスト算出部104へと出力する。また、現処理対象ブロックにおける探索処理が終了する際に、上記各入力信号に基づいて最も符号化コストが小さくなるような動きベクトルを最終的な動きベクトルとして決定し、これをMV情報として外部構成へと出力する。そしてさらに、次の処理対象ブロックの探索を開始するために、初期化要求信号を符号化コスト算出部104へ与える。
●符号化コスト算出処理
以下、符号化コスト算出部104における処理について詳細に説明する。
符号化コスト算出部104は図1に示されるように、暫定値保持部#0〜#4及びコスト計算部1041とで構成される。暫定値保持部#0〜#4は、それぞれSAD0〜SAD4及びSATD0〜SATD4を入力し、また、動きベクトル決定部106より出力される探索MVならびに初期化要求信号を入力する。
以下、暫定値保持部#0〜#4のそれぞれに対応する各信号について、添え字n(n=0〜4)を付すことによってまとめて表記する。
暫定値保持部#0〜#4はそれぞれ、複数の探索ポイントに対応する複数のSADnのうち、最も値の小さいSADnに対応する、第1の動きベクトルMVn_SADを保持・出力する。言い換えれば、第1の相関値が最も高い相関を示すポイントに対応する、第1の動きベクトルMVn_SADを保持・出力する。この第1の動きベクトルMVn_SADは、動きベクトル決定部106から出力されたMV情報より検出される。さらに、第1の動きベクトルMVn_SADに対応するSATD値を、それぞれ相関値SATDn(MVn_SAD)として算出する。このSATDn(MVn_SAD)が、本実施形態における第3の相関値となる。
尚、本実施形態においては、上記第1の動きベクトルMVn_SADを、最も値の小さいSADnに対応するベクトルとして決定する例を示したが、本発明はこの決定方法に限定されるものではない。例えば、SADnだけでなく、予測動きベクトルMVnpredと上記探索ポイントに対応する動きベクトルとのそれぞれの差分情報も併せて考慮する。すなわち、SAD及び動き情報の両方から求められる符号化コストを逐一求め、該符号化コストが最も低い探索ポイントに対応する動きベクトルとして、第1の動きベクトルMVn_SADを求めても良い。
符号化コスト算出部104においてはまた、複数の探索ポイントに対応する複数のSATDnの中から、最も値の小さいSATDnに対応する第2の動きベクトルMVn_SATDをそれぞれ検出して保持・出力する。言い換えれば、第2の相関値が最も高い相関を示すポイントに対応する、第2の動きベクトルMVn_SADを保持・出力する。さらに、第2の動きベクトル該MVn_SATDに対応するSATD値を、それぞれSATDn(MVn_SATD)として算出する。このSATDn(MVn_SATD)が、本実施形態における第4の相関値となる。
尚、第2の動きベクトルMVn_SATDの決定方法についても、上述した第1の動きベクトルMVn_SADと同様に、予測動きベクトルMVnと探索ポイントに対応する動きベクトルとのそれぞれの差分情報もあわせて考慮することが有効である。すなわち、SATD及び動き情報両方から求められる符号化コストを逐一求め、該符号化コストが最も低い探索ポイントに対応する動きベクトルとして、第2の動きベクトルMVn_SATDを求めても良い。
次に、コスト計算部1041では、予測動きベクトル算出部103から出力される予測動きベクトルMVnpredと、暫定値保持部#0〜#4より出力される第1の動きベクトルMVn_SADとの差分情報MVDn_SAD(不図示)を算出する。これが本実施形態における第1の差分ベクトルとなる。さらに、予測動きベクトルMVnpredと、暫定値保持部#0〜#4より出力される第2の動きベクトルMVn_SATDとの差分情報MVDn_SATD(不図示)もあわせて算出する。これが本実施形態における第2の差分ベクトルとなる。
コスト計算部1041ではまた、暫定値保持部#0〜#4より出力される第3の相関値SATDn(MVn_SAD)と、上記のように算出した第1の差分ベクトルMVDn_SADより、SADに基く第1の符号化コスト候補COSTn_SADを算出する。同様に、暫定値保持部#0〜#4より出力される第4の相関値SATDn(MVn_SATD)と、上記のように算出した第2の差分ベクトルMVDn_SATDより、SATDに基く第2の符号化コスト候補COSTn_SATDを算出する。
第1及び第2の符号化コスト候補COSTn_SAD,COSTn_SATDは例えば、次式(11)、(12)によってそれぞれ計算するのが望ましい。
COSTn_SAD=SATDn(MVn_SAD)+α・MVDn_SAD ・・・(11)
COSTn_SATD=SATDn(MVn_SATD)+α・MVDn_SATD ・・・(12)
なお、上記式(11)、(12)において、n=0,1,2,3、であるとする。また、αは所定の係数であり、固定値であってもよいが、量子化スケール値によって画像情報の符号化コストと動き情報の符号化コストの比が変化するため、量子化スケール値に応じてαの値を変化させるようにしてもよい。例えば、量子化スケール値が大きいほど、αの値が大きくなるように設定することが有効である。
コスト計算部1041は、上記のように算出した第1の符号化コスト候補COSTn_SADと第2の符号化コスト候補COSTn_SATDとを比較し、それぞれいずれか一方を符号化コストCOSTnとして選択する。また、該選択結果に基いて、第1及び第2の動きベクトルMVn_SAD,MVn_SATDのいずれか一方をそれぞれ選択し、仮の動きベクトル情報MVnとして動きベクトル決定部106へ出力する。
なお、第1及び第2の符号化コスト候補同士の比較は、それぞれの値をそのまま比較するものであってもよいし、次式(13)のような条件式を用いても良い。例えば、式(13)の条件が成り立つときにはSADに基くコスト情報を、そうでないときはSATDに基くコスト情報を選択する。
COSTn_SAD<γ・COSTn_SATD+δ ・・・(13)
なお、上記式(13)において、n=0,1,2,3、であるとする。また、γ及びδは所定の係数であり、これらの値は通常、γ=1,δ=0である。しかしながら、そのときどきの符号量の情報を参照して、動き情報の占める割合が比較的大きくなってきた場合に、係数γを1より大きくするか、係数δを0より大きくするように調整しても良い。このように調整することによって、動き情報の増加をより抑えることができる。
符号化コスト算出部104はまた、動きベクトル決定部106より出力される初期化要求信号に従い、初期化要求がなされたときは直ちに内部状態を初期化する。
以上説明したように本実施形態によれば、ブロックマッチングの相関値としてSADのみ、若しくはSATDのみを用いるのではなく、それぞれ性質の異なる両方の相関値を用いて、動き補償の単位ブロックサイズを決定する。すなわち、SADとSATDのそれぞれの性質を利用して、より符号化コストが低くなる方の相関値に基く情報を選択的に用いることにより、従来に比べて動き情報の符号量増加を抑えつつ、効率的に画像情報の符号量を低減させることができる。結果として、動画像全体としての符号化効率を向上させることが可能となる。このような本実施形態の効果は、差分画像をDCTした際にDCT係数の一部に電力が集中してしまうような画像において顕著である。
<第2実施形態>
以下、本発明に係る第2実施形態について説明する。
図2は、第2実施形態における動きベクトル探索装置の構成を示すブロック図である。図2において、上述した第1実施形態の図1と同様の構成には同一番号を付し、説明を省略する。
同図において、符号化コスト算出部204が第2実施形態における特徴的な構成であり、上述した第1実施形態の符号化コスト算出部104とは符号化コストの算出方法が異なる。以下、符号化コスト算出部204における符号化コスト算出処理について、詳細に説明する。
符号化コスト算出部204は、相関値算出部101より出力される相関値と、予測動きベクトル算出部103より出力される予測動きベクトルMVnpredを入力とする。さらに、動きベクトル決定部106より出力される探索MVと初期化要求信号も入力される。そして、各ブロックサイズに対応する複数の候補ブロックの符号化コストCOSTnを計算して、ブロックサイズ決定部105及び動きベクトル決定部106へと出力する。また、各ブロックサイズに対応する複数の候補ブロックそれぞれの仮の動きベクトルMVnを決定し、動きベクトル決定部106へと出力する。
符号化コスト算出部204は図2に示されるように、暫定値保持部#0〜#4及びコスト計算部2041とで構成される。暫定値保持部#0〜#4は、それぞれSADn及びSATDnを入力し、また、動きベクトル決定部106より出力される探索MVならびに初期化要求信号を入力する。
暫定値保持部#0〜#4はそれぞれ、複数の探索ポイントに対応する複数のSADnの中から、最も値の小さいSADnに対応する第1の動きベクトルMVn_SADを検出して保持・出力する。さらに、第1の動きベクトルMVn_SADに対応するSAD値を、それぞれSADn(MVn_SAD)として算出する。このSADn(MVn_SAD)が、第2実施形態における第5の相関値となる。第2実施形態においては、この第5の相関値として、第1実施形態の第3の相関値のようなSATD値ではなく、SAD値を算出することを特徴とする。
尚、第2実施形態においても、第1の動きベクトルMVn_SADを、最も値の小さいSADnに対応するベクトルとして決定する例を示したが、本発明はこの決定方法に限定されるものではない。例えば、SADnだけでなく、予測動きベクトルMVnpredと上記探索ポイントに対応する動きベクトルとのそれぞれの差分情報も併せて考慮する。すなわち、SAD及び動き情報の両方から求められる符号化コストを逐一求め、該符号化コストが最も低い探索ポイントに対応する動きベクトルとして、第1の動きベクトルMVn_SADを求めても良い。
符号化コスト算出部204においてはまた、複数の探索ポイントに対応する複数のSATDnの中から、最も値の小さいSATDnに対応する第2の動きベクトルMVn_SATDをそれぞれ検出して保持・出力する。さらに、第2の動きベクトルMVn_SATDに対応するSATD値を、それぞれSATDn(MVn_SATD)として算出する。のSATDn(MVn_SAD)が、第2実施形態における第6の相関値となる。
尚、第2の動きベクトルMVn_SATDの決定方法についても、第1の動きベクトルMVn_SADと同様に、予測動きベクトルMVnpredと探索ポイントに対応する動きベクトルとのそれぞれの差分情報もあわせて考慮することが有効である。すなわち、SATD及び動き情報両方から求められる符号化コストを逐一求め、該符号化コストが最も低い探索ポイントに対応する動きベクトルとして、上記MVn_SATDを求めても良い。
次に、コスト計算部2041では、予測動きベクトル算出部103より出力された予測動きベクトルMVnpredと、暫定値保持部#0〜#4より出力される第1の動きベクトルMVn_SADとの差分情報MVDn_SAD(不図示)を算出する。これが第2実施形態における第1の差分ベクトルとなる。さらに、予測動きベクトルMVnpredと、暫定値保持部#0〜#4より出力される第2の動きベクトルMVn_SATDとの差分情報MVDn_SATD(不図示)もあわせて算出する。これが第2実施形態における第2の差分ベクトルとなる。
コスト計算部2041ではまた、暫定値保持部#0〜#4より出力される第5の相関値SADn(MVn_SAD)と、第1の差分ベクトルMVDn_SADより、SADに基く第1の符号化コスト候補COSTn_SADを算出する。同様に、暫定値保持部#0〜#4より出力される第6の相関値SATDn(MVn_SATD)と、上記のように算出したMVDn_SATDより、SATDに基く第2の符号化コスト候補COSTn_SATDを算出する。
第1及び第2の符号化コスト候補COSTn_SAD,COSTn_SATDは例えば、次式(14)、(15)によってそれぞれ計算するのが望ましい。
COSTn_SAD=β・SADn(MVn_SAD)+α・MVDn_SAD ・・・(14)
COSTn_SATD=SATDn(MVn_SATD)+α・MVDn_SATD ・・・(15)
なお、上記式(14)、(15)において、n=0,1,2,3、であるとする。また、α,βは所定の係数である。係数αは固定値であってもよいが、量子化スケール値によって画像情報の符号化コストと動き情報の符号化コストの比が変化するため、量子化スケール値に応じてαの値を変化させるようにしてもよい。例えば、量子化スケール値が大きいほど、αの値が大きくなるように設定することが有効である。また係数βは、SAD値をSATD値と比較できるように正規化するための、正規化係数として用いる。
コスト計算部2041は、上記のように算出した第1の符号化コスト候補COSTn_SADと、第2の符号化コスト候補COSTn_SATDとを比較し、それぞれいずれか一方を符号化コストCOSTnとして選択する。また、該選択結果に基いて、第1及び第2の動きベクトルMVn_SAD,MVn_SATDのそれぞれいずれか一方を選択し、仮の動きベクトル情報MVnとして動きベクトル決定部106へ出力する。
なお、第1及び第2の符号化コスト候補同士の比較は、上述した第1実施形態と同様の方法によって行えばよい。
符号化コスト算出部204はまた、動きベクトル決定部106より出力される初期化要求信号に従い、初期化要求がなされたときは直ちに内部状態を初期化する。
以上説明した様に第2実施形態の構成によっても、上述した第1実施形態と同様に、動き情報の符号量増加を抑えつつ、効率的に画像情報の符号量を低減させ、動画像全体として符号化効率を向上させることが可能となる。
<他の実施形態>
本発明は例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮影装置、webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、実施形態において図に示したフローチャートに対応したコンピュータ可読のプログラムである。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM,DVD-R)などである。
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことが可能である。
本発明に係る一実施形態における動き探索装置の構成を示すブロック図である。 第2実施形態における動き探索装置の構成を示すブロック図である。 一般的な可変ブロックサイズの概念を示す図である。 SADを用いた場合とSATDを用いた場合における1フレーム当たりの符号量を比較した図である。 処理対象ブロックと予測ブロックのそれぞれにおける画素の位置関係を示す図である。

Claims (17)

  1. 可変ブロックサイズ動き補償を用いた動きベクトル探索を行う際に、予め用意された複数種類のブロックサイズから動き補償を行う単位ブロックサイズを決定する動きベクトル探索装置であって、
    現処理対象ブロックと予測ブロックとの相関を、前記複数種類のブロックサイズのそれぞれについて第1及び第2の相関値算出方法により求め、第1及び第2の相関値として出力する相関値算出手段と、
    前記ブロックサイズのそれぞれについて、動きベクトルの予測値としての予測動きベクトルを算出する予測動きベクトル算出手段と、
    前記ブロックサイズのそれぞれについて、前記第1及び第2の相関値と、前記予測動きベクトルに基づいて、動き補償を行った場合の符号化コストを算出する符号化コスト算出手段と、
    前記ブロックサイズそれぞれの前記符号化コストに基き、前記単位ブロックサイズを決定するブロックサイズ決定手段と、
    を有することを特徴とする動きベクトル探索装置。
  2. 前記第1の相関値算出方法は、現処理対象ブロックと予測ブロックとの差分の絶対値和をとることによって前記第1の相関値を求める方法であり、
    前記第2の相関値算出方法は、現処理対象ブロックと予測ブロックとの差分に対して直交変換を施した後、得られた直交変換係数の絶対値和をとることによって前記第2の相関値を求める方法である
    ことを特徴とする請求項1に記載の動きベクトル探索装置。
  3. 前記符号化コスト算出手段は、前記ブロックサイズのそれぞれについて、
    前記第1の相関値と前記予測動きベクトルに基づいて第1の符号化コスト候補を算出する第1の符号化コスト候補の算出手段と、
    前記第2の相関値と前記予測動きベクトルに基づいて第2の符号化コスト候補を算出する第2の符号化コスト候補の算出手段と、
    前記第1及び第2の符号化コスト候補のいずれかを前記符号化コストとして選択する符号化コスト候補の選択手段と、
    を有することを特徴とする請求項1または2に記載の動きベクトル探索装置。
  4. 前記第1の符号化コスト候補の算出手段は、
    複数の探索ポイントのうち、前記第1の相関値が最も高い相関を示すポイントに対応する第1の動きベクトルを求め
    前記第2の相関値のうち、前記第1の動きベクトルの示す探索ポイントに対応する第3の相関値を求め、
    前記第3の相関値と、前記予測動きベクトルと前記第1の動きベクトルとの差分である第1の差分ベクトルと、に基づいて前記第1の符号化コスト候補を決定し、
    前記第2の符号化コスト候補の算出手段は、
    複数の探索ポイントのうち、前記第2の相関値が最も高い相関を示すポイントに対応する第2の動きベクトルを求め、
    前記第2の相関値のうち、前記第2の動きベクトルの示す探索ポイントに対応する第4の相関値を求め、
    前記第4の相関値と、前記予測動きベクトルと前記第2の動きベクトルとの差分である第2の差分ベクトルと、に基づいて前記第2の符号化コスト候補を決定する
    ことを特徴とする請求項3に記載の動きベクトル探索装置。
  5. 前記第1の符号化コスト候補の算出手段は、前記第1の差分ベクトルに係数αを乗じて前記第3の相関値を加えることによって、前記第1の符号化コスト候補を決定し、
    前記第2の符号化コスト候補の算出手段は、前記第2の差分ベクトルに前記係数αを乗じて前記第4の相関値を加えることによって、前記第2の符号化コスト候補を決定する
    ことを特徴とする請求項4に記載の動きベクトル探索装置。
  6. 前記第1の符号化コスト候補の算出手段は、
    複数の探索ポイントのうち、前記第1の相関値が最も高い相関を示すポイントに対応する第1の動きベクトルを求め
    前記第1の相関値のうち、前記第1の動きベクトルの示す探索ポイントに対応する第5の相関値を求め、
    前記第5の相関値と、前記予測動きベクトルと前記第1の動きベクトルとの差分である第1の差分ベクトルと、に基づいて前記第1の符号化コスト候補を決定し、
    前記第2の符号化コスト候補の算出手段は、
    複数の探索ポイントのうち、前記第2の相関値が最も高い相関を示すポイントに対応する第2の動きベクトルを求め、
    前記第2の相関値のうち、前記第2の動きベクトルの示す探索ポイントに対応する第6の相関値を求め、
    前記第6の相関値と、前記予測動きベクトルと前記第2の動きベクトルとの差分である第2の差分ベクトルと、に基づいて前記第2の符号化コスト候補を決定する
    ことを特徴とする請求項3に記載の動きベクトル探索装置。
  7. 前記第1の符号化コスト候補の算出手段は、前記第1の差分ベクトルに係数αを乗じた値と、前記第5の相関値に係数βを乗じた値との和として、前記第1の符号化コスト候補を決定し、
    前記第2の符号化コスト候補の算出手段は、前記第2の差分ベクトルに前記係数αを乗じた値と、前記第6の相関値との和として、前記第2の符号化コスト候補を決定する
    ことを特徴とする請求項6に記載の動きベクトル探索装置。
  8. 前記係数αは、量子化スケール値が大きいほど大きくなるように、予め設定された値であることを特徴とする請求項5または7に記載の動きベクトル探索装置。
  9. 前記符号化コスト候補の選択手段は、
    前記第1の符号化コスト候補が、前記第2の符号化コスト候補に係数γを乗じて係数δを加えた値よりも小さい場合は、前記第1の符号化コスト候補を前記符号化コストとして選択し、そうでない場合は、前記第2の符号化コスト候補を前記符号化コストとして選択する
    ことを特徴とする請求項3乃至8のいずれか1項に記載の動きベクトル探索装置。
  10. 前記予め用意された複数種類のブロックサイズは、第1のサイズと、該第1のサイズを分割して得られる第2のサイズと、を含み、
    前記相関値算出手段と前記予測動きベクトル算出手段、及び前記符号化コスト算出手段は、前記第1のサイズのブロックと、該第1のサイズを構成する複数の前記第2のサイズのブロック群と、について、それぞれの処理を行うことを特徴とする請求項1乃至9のいずれか1項に記載の動きベクトル探索装置。
  11. 前記ブロックサイズ決定手段は、
    前記第1のサイズを構成する複数の前記第2のサイズのブロック群について、その前記符号化コストの総和を第2の符号化コスト総和COST_s_allとして算出し、
    前記第1のサイズのブロックに対応する第1の符号化コストCOST0と、前記第2の符号化コスト総和COST_s_allと、に基づいて、前記第1のサイズと前記第2のサイズのいずれかを前記単位ブロックとして決定する
    ことを特徴とする請求項10に記載の動きベクトル探索装置。
  12. 前記ブロックサイズ決定手段は、
    条件式:COST0<(λ・COST_s_all+μ)
    が真であれば前記第1のサイズを前記単位ブロックサイズとして決定し、偽であれば前記第2のサイズを前記単位ブロックサイズとして決定する
    ことを特徴とする請求項11に記載の動きベクトル探索装置。
  13. 前記条件式における係数λ及びμは、前記現処理対象ブロックに対して設定された最大処理時間に応じて決定されることを特徴とする請求項12に記載の動きベクトル探索装置。
  14. 可変ブロックサイズ動き補償を用いた動きベクトル探索を行う際に、予め用意された複数種類のブロックサイズから動き補償を行う単位ブロックサイズを決定する動きベクトル探索装置の制御方法であって、
    現処理対象ブロックと予測ブロックとの相関を、前記複数種類のブロックサイズのそれぞれについて第1及び第2の相関値算出方法により求め、第1及び第2の相関値として出力する相関値算出ステップと、
    前記ブロックサイズのそれぞれについて、動きベクトルの予測値としての予測動きベクトルを算出する予測動きベクトル算出ステップと、
    前記ブロックサイズのそれぞれについて、前記第1及び第2の相関値と、前記予測動きベクトルに基づいて、動き補償を行った場合の符号化コストを算出する符号化コスト算出ステップと、
    前記ブロックサイズそれぞれの前記符号化コストに基き、前記単位ブロックサイズを決定するブロックサイズ決定ステップと、
    を有することを特徴とする動きベクトル探索装置の制御方法。
  15. 前記第1の相関値算出方法は、現処理対象ブロックと予測ブロックとの差分の絶対値和をとることによって前記第1の相関値を求める方法であり、
    前記第2の相関値算出方法は、現処理対象ブロックと予測ブロックとの差分に対して直交変換を施した後、得られた直交変換係数の絶対値和をとることによって前記第2の相関値を求める方法である
    ことを特徴とする請求項14に記載の動きベクトル探索装置の制御方法。
  16. コンピュータを請求項1乃至13のいずれか1項に記載の動きベクトル探索装置として機能させるためのプログラム。
  17. 請求項16に記載のプログラムを記録したコンピュータ可読な記録媒体。
JP2008119053A 2008-04-30 2008-04-30 動きベクトル探索装置及びその制御方法 Withdrawn JP2009272702A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008119053A JP2009272702A (ja) 2008-04-30 2008-04-30 動きベクトル探索装置及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008119053A JP2009272702A (ja) 2008-04-30 2008-04-30 動きベクトル探索装置及びその制御方法

Publications (1)

Publication Number Publication Date
JP2009272702A true JP2009272702A (ja) 2009-11-19

Family

ID=41438907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008119053A Withdrawn JP2009272702A (ja) 2008-04-30 2008-04-30 動きベクトル探索装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP2009272702A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012178669A (ja) * 2011-02-25 2012-09-13 Mitsubishi Electric Corp 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
US20120269274A1 (en) * 2009-10-01 2012-10-25 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video using split layer
WO2014051081A1 (ja) * 2012-09-28 2014-04-03 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
CN105075257A (zh) * 2013-04-11 2015-11-18 日本电信电话株式会社 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序、以及图像解码程序
JP2017028337A (ja) * 2015-07-15 2017-02-02 日本電信電話株式会社 映像符号化装置及び映像符号化プログラム
US20180300839A1 (en) * 2017-04-17 2018-10-18 Intel Corporation Power-based and target-based graphics quality adjustment

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9264716B2 (en) * 2009-10-01 2016-02-16 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video using split layer
US20120269274A1 (en) * 2009-10-01 2012-10-25 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video using split layer
US10136129B2 (en) 2009-10-01 2018-11-20 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video using split layer
US9813710B2 (en) 2009-10-01 2017-11-07 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video using split layer
JP2012178669A (ja) * 2011-02-25 2012-09-13 Mitsubishi Electric Corp 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JPWO2014051081A1 (ja) * 2012-09-28 2016-08-25 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
US20150271502A1 (en) * 2012-09-28 2015-09-24 Mitsubishi Electric Corporation Video encoding device, video decoding device, video encoding method, and video decoding method
WO2014051081A1 (ja) * 2012-09-28 2014-04-03 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
CN105075257A (zh) * 2013-04-11 2015-11-18 日本电信电话株式会社 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序、以及图像解码程序
JP2017028337A (ja) * 2015-07-15 2017-02-02 日本電信電話株式会社 映像符号化装置及び映像符号化プログラム
US20180300839A1 (en) * 2017-04-17 2018-10-18 Intel Corporation Power-based and target-based graphics quality adjustment
US10402932B2 (en) * 2017-04-17 2019-09-03 Intel Corporation Power-based and target-based graphics quality adjustment
US10909653B2 (en) 2017-04-17 2021-02-02 Intel Corporation Power-based and target-based graphics quality adjustment

Similar Documents

Publication Publication Date Title
EP2805499B1 (en) Video decoder, video encoder, video decoding method, and video encoding method
US8244048B2 (en) Method and apparatus for image encoding and image decoding
JP5277257B2 (ja) 動画像復号化方法および動画像符号化方法
JP5650294B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
US7620108B2 (en) Integrated spatial-temporal prediction
EP2475175A2 (en) Video encoding device, video encoding method, video encoding program, video decoding device, video decoding method, and video decoding program
JP4993676B2 (ja) 画像符号化装置及び画像符号化方法
JP2011526757A (ja) 改善された予測を実施する画像符号化方法および装置と、対応する復号化方法および装置と、信号およびコンピュータ・プログラム
JP2014239497A (ja) 動き補償ビデオ符号化における画像ブロック比較のためのメトリックを決定する方法、システム、およびプログラム
JP2009272702A (ja) 動きベクトル探索装置及びその制御方法
JP2005354528A (ja) 動きベクトル検出装置及び方法
JP4074868B2 (ja) 画像符号化制御方法及びその装置
US20100329336A1 (en) Method and apparatus for encoding and decoding based on inter prediction using image inpainting
JP4898415B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2006005659A (ja) 画像符号化装置及びその方法
JP4429996B2 (ja) 動画像符号化プログラム、動画像符号化方法および動画像符号化装置
JP2007174202A (ja) 動きベクトル検出装置およびその方法
JP5281597B2 (ja) 動きベクトル予測方法,動きベクトル予測装置および動きベクトル予測プログラム
JP5281596B2 (ja) 動きベクトル予測方法,動きベクトル予測装置および動きベクトル予測プログラム
JP2009272701A (ja) 動きベクトル探索装置及びその制御方法
JP2009111520A (ja) 画像符号化装置、画像符号化方法及びプログラム
JP2006324888A (ja) 動画像符号化装置
JP2012120108A (ja) 補間画像生成装置及びプログラム、並びに、動画像復号装置及びプログラム
JP6004852B2 (ja) ピクセルブロックを符号化及び再構成する方法と装置
JP4767908B2 (ja) 画像復号装置及び画像符号化装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110705