特許第5721851号(P5721851)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インテル・コーポレーションの特許一覧

特許5721851DMVD処理のシステムおよび方法の改善
<>
  • 特許5721851-DMVD処理のシステムおよび方法の改善 図000002
  • 特許5721851-DMVD処理のシステムおよび方法の改善 図000003
  • 特許5721851-DMVD処理のシステムおよび方法の改善 図000004
  • 特許5721851-DMVD処理のシステムおよび方法の改善 図000005
  • 特許5721851-DMVD処理のシステムおよび方法の改善 図000006
  • 特許5721851-DMVD処理のシステムおよび方法の改善 図000007
  • 特許5721851-DMVD処理のシステムおよび方法の改善 図000008
  • 特許5721851-DMVD処理のシステムおよび方法の改善 図000009
  • 特許5721851-DMVD処理のシステムおよび方法の改善 図000010
  • 特許5721851-DMVD処理のシステムおよび方法の改善 図000011
  • 特許5721851-DMVD処理のシステムおよび方法の改善 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5721851
(24)【登録日】2015年4月3日
(45)【発行日】2015年5月20日
(54)【発明の名称】DMVD処理のシステムおよび方法の改善
(51)【国際特許分類】
   H04N 19/105 20140101AFI20150430BHJP
   H04N 19/139 20140101ALI20150430BHJP
   H04N 19/157 20140101ALI20150430BHJP
   H04N 19/176 20140101ALI20150430BHJP
   H04N 19/70 20140101ALI20150430BHJP
【FI】
   H04N19/105
   H04N19/139
   H04N19/157
   H04N19/176
   H04N19/70
【請求項の数】6
【全頁数】20
(21)【出願番号】特願2013-540202(P2013-540202)
(86)(22)【出願日】2010年12月21日
(65)【公表番号】特表2014-501085(P2014-501085A)
(43)【公表日】2014年1月16日
(86)【国際出願番号】CN2010002107
(87)【国際公開番号】WO2012083487
(87)【国際公開日】20120628
【審査請求日】2013年5月22日
【前置審査】
(73)【特許権者】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】シュ、リドン
(72)【発明者】
【氏名】チウ、イ−ジェン
(72)【発明者】
【氏名】ザン、ウェンハオ
(72)【発明者】
【氏名】ジャン、ホン
【審査官】 川崎 優
(56)【参考文献】
【文献】 Yi-Jen Chiu, et al,TE1: Fast techniques to improve self derivation of motion estimation[online],Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-B047,2010年 7月
【文献】 Yi-Jen Chiu, et al,TE1: Report of self derivation of motion estimation improvement in TMuC[online],Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-C127,2010年10月 7日
【文献】 Yu-Wen Huang, et al,TE1: Decoder-Side Motion Vector Derivation with Switchable Template Matching[online],Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-B076,2010年 7月21日
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−98
(57)【特許請求の範囲】
【請求項1】
DMVD符号化ブロックおよび非DMVD符号化ブロックを受信する段階と、
前記DMVD符号化ブロックについて、一の現在ピクチャに含まれる空間的に隣接する複数の再構成された画素を利用することなく、複数の基準ピクチャに含まれる時間的に隣接する複数の再構成された画素を利用して動き推定(ME)を実行する段階と、
前記非DMVD符号化ブロックについて、受信したデータから前記非DMVD符号化ブロックの動きベクトルを予測する段階、および、受信したデータから動きベクトル差分を復元する段階と、
前記DMVD符号化ブロックおよび前記非DMVD符号化ブロックを並列に復号する段階とを備え、
前記非DMVD符号化ブロックの動きベクトルを予測する段階は、
前記非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する段階と、
算出された前記動きベクトルを用いて前記非DMVD符号化ブロックの前記動きベクトルを予測する段階とを有し、
前記非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する段階は、記隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトル前記隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックの動きベクトルの重み付け平均を算出する段階を含む、
方法。
【請求項2】
前記非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する段階は、
前記DMVD符号化ブロックの最良の動きベクトル候補を狭い範囲内で検索することによって、候補を利用した高速動き推定を実行する段階と、
前記動きベクトル候補によって差分絶対値の合計が最小値となるか否かに基づいて、前記最良の動きベクトル候補を選択する段階とを含む請求項1に記載の方法。
【請求項3】
プロセッサと、
前記プロセッサと通信し、複数の処理命令を格納しているメモリと
を備えるシステムであって、
前記複数の処理命令は、前記プロセッサに対して、
DMVD符号化ブロックおよび非DMVD符号化ブロックを受信して、
前記DMVD符号化ブロックについて、一の現在ピクチャに含まれる空間的に隣接する複数の再構成された画素を利用することなく、複数の基準ピクチャに含まれる時間的に隣接する複数の再構成された画素を利用して動き推定(ME)を実行して、
前記非DMVD符号化ブロックについて、受信したデータから前記非DMVD符号化ブロックの動きベクトルを予測して、受信したデータから動きベクトル差分を復元して、
前記DMVD符号化ブロックおよび前記非DMVD符号化ブロックを並列に復号するよう指示し、
前記プロセッサに対して前記非DMVD符号化ブロックの動きベクトルを予測するよう指示する前記複数の処理命令は、
前記プロセッサに対して、前記非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出するよう指示する処理命令と、
前記プロセッサに対して、算出された前記動きベクトルを用いて前記非DMVD符号化ブロックの前記動きベクトルを予測するよう指示する処理命令と
を含み、
前記プロセッサに対して前記非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出するよう指示する前記複数の処理命令は、前記プロセッサに対して、
記隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトル前記隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックの動きベクトルの重み付け平均を算出するよう指示する処理命令を含む、
システム。
【請求項4】
前記プロセッサに対して前記非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出するよう指示する前記複数の処理命令は、
前記プロセッサに対して、前記DMVD符号化ブロックの最良の動きベクトル候補を狭い範囲内で検索することによって、候補を利用した高速動き推定を実行するよう指示する処理命令と、
前記プロセッサに対して、前記動きベクトル候補によって差分絶対値の合計が最小値となるか否かに基づいて、前記最良の動きベクトル候補を選択するよう指示する処理命令と
を含む請求項3に記載のシステム。
【請求項5】
コンピュータに、
DMVD符号化ブロックおよび非DMVD符号化ブロックを受信する手順と、
前記DMVD符号化ブロックについて、一の現在ピクチャに含まれる空間的に隣接する複数の再構成された画素を利用することなく、複数の基準ピクチャに含まれる時間的に隣接する複数の再構成された画素を利用して動き推定(ME)を実行する手順と、
前記非DMVD符号化ブロックについて、受信したデータから前記非DMVD符号化ブロックの動きベクトルを予測する手順、および、受信したデータから動きベクトル差分を復元する手順と、
前記DMVD符号化ブロックおよび前記非DMVD符号化ブロックを並列に復号する手順とを実行させ、
前記非DMVD符号化ブロックの動きベクトルを予測する手順は、
前記非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する手順と、
算出された前記動きベクトルを用いて前記非DMVD符号化ブロックの前記動きベクトルを予測する手順と
を有し、
前記非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する手順は、
前記隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトル前記隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックの動きベクトルの重み付け平均を算出する手順を有する、
プログラム。
【請求項6】
前記非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する手順は、
前記DMVD符号化ブロックの最良の動きベクトル候補を狭い範囲内で検索することによって、候補を利用した高速動き推定を実行する手順と、
前記動きベクトル候補によって差分絶対値の合計が最小値となるか否かに基づいて、前記最良の動きベクトル候補を選択する手順とを含む
請求項5に記載のプログラム。
【発明の詳細な説明】
【背景技術】
【0001】
従来のビデオ符号化システムでは、動き推定(ME)を符号化器で実行して、現在符号化ブロックの動きを予測するべく、動きベクトルを取得するとしてよい。動きベクトルはこの後、バイナリストリームに符号化されて、復号器に送信されるとしてよい。これによって、復号器は、現在復号ブロックについて動き補償を行うことができる。一部の高度なビデオ符号化規格、例えば、H.264/AVCでは、符号化のためにマクロブロック(MB)をより小さいブロックに分割して、分割後の各ブロックに動きベクトルを割り当てるとしてよい。この結果、MBが4×4のブロックに分割されると、MBの予測符号化について最高で16個の動きベクトルが作成され、MBの双方向予測符号化のためには最高で32個の動きベクトルが生成される。これはオーバーヘッドが非常に大きい。動き符号化ブロックは時間的相関関係および空間的相関関係が強いことを考えて、動き推定は、復号器側で、再構築された基準ピクチャまたは再構築された空間的に隣接するブロックに基づいて、実行されるとしてよい。これによって、復号器は、符号化器から動きベクトルを受信するのではなく、現在ブロックについて自分で動きベクトルを導き出すとしてよい。このような復号器側動きベクトル導出(DMVD)方法によれば、復号器による計算が複雑になるが、帯域幅を節約するので既存のビデオコーデックシステムの効率を改善することにつながるとしてよい。
【0002】
復号器側では、ブロックがDMVD方法を用いて符号化されていれば、当該ブロックの動きベクトルは、復号器側動き推定を実行した後でなければ利用できない。これは、以下に示す2点において、並列復号処理に影響を及ぼすとしてよい。第一に、復号器側動き推定において空間的に隣接する再構築された画素が利用される場合、DMVDブロックの復号化は、全ての隣接するブロック(動き推定で利用された画素を含む)が復号された後でなければ開始することができない。第二に、一のブロックがDMVDモードで符号化されると、当該ブロックの動きベクトルは、当該ブロックに隣接するブロックの動きベクトル予測に利用されるとしてよい。このため、当該ブロックに隣接するブロックの復号処理は、動きベクトル予測についてこの現在DMVD符号化ブロックの動きベクトルを利用するので、現在DMVDブロックの動き推定が終了した後でなければ開始することができない。このため、上記の処理の依存関係によって復号化が遅くなる。特に、復号器側での処理は、並列DMVDアルゴリズムにあまり適していない場合がある。
【0003】
また、復号器側での動き推定は、一部の実施例において、検索ウィンドウにおいて動きベクトル候補について検索を実行する必要があるとしてもよい。この検索は、包括的な検索であってもよいし、または、公知の高速検索アルゴリズムのうち任意のものを利用するとしてもよい。比較的高速な検索アルゴリズムを用いるとしても、最良の候補を決定するまでに非常に多数の候補を評価しなければならないとしてよい。これも、復号器側での処理が非効率であることの原因である。
【0004】
<関連出願>
本願は、米国仮特許出願第61/364,565号(出願日:2010年7月15日)による恩恵を主張する。当該仮出願の内容は全て、参照により本願に組み込まれる。本願はさらに、関連出願として以下の特許出願が挙げられる。
米国特許出願第12/657,168号(出願日:2010年1月14日)
米国特許出願第12/567,540号(出願日:2009年9月25日)
米国特許出願第12/566,823号(出願日:2009年9月25日)
米国特許出願第12/582,061号(出願日:2009年10月20日)
【図面の簡単な説明】
【0005】
図1】ある実施形態に係るビデオ符号化システムを示すブロック図である。
図2】ある実施形態に係るビデオ復号システムを示すブロック図である。
図3】ある実施形態に係る、復号器でのミラー動き推定(ME)を説明するための図である。
図4】ある実施形態に係る、復号器での予測MEを説明するための図である。
図5】ある実施形態に係る、復号器での空間隣接ブロックMEを説明するための図である。
図6】ある実施形態に係る、復号器側での時間連続ブロックMEを説明するための図である。
図7】ある実施形態に係る、DMVD符号化ブロックの動き推定および復号化を説明するためのフローチャートである。
図8】ある実施形態に係る、現在のブロックと、現在のブロックの復号化で用いられる隣接するブロックとを示す図である。
図9】ある実施形態に係る、非DMVD符号化ブロックの復号化および動き推定を説明するためのフローチャートである。
図10】別の実施形態に係る、非DMVD符号化ブロックの復号化および動き推定を説明するためのフローチャートである。
図11】ある実施形態のソフトウェア実施例またはファームウェア実施例を示す図である。
【発明を実施するための形態】
【0006】
以下では、添付図面を参照しつつ一の実施形態について説明する。具体的な構成および配置を挙げて説明するが、これは例示を目的としたものに過ぎないと理解されたい。当業者であれば、他の構成および配列も本開示の意図および範囲から逸脱することなく利用可能であるものと認めるであろう。本開示の内容は、本明細書で説明する内容以外にもさまざまな他のシステムおよび用途で利用可能であることが当業者には明らかであろう。
【0007】
本明細書では、ビデオ圧縮/復元システムにおける復号器での処理を改善する方法およびシステムを開示している。
【0008】
本明細書で説明する改善された処理は、ビデオの圧縮および復元を実行するビデオ符号化器/復号器システムに関して実現されるとしてよい。図1は、自己MV導出モジュール140を含むH.264ビデオ符号化アーキテクチャ100の一例を示す図である。尚、H.264はビデオコーデック規格である。現在ビデオ情報は、複数のフレームとして、現在ビデオブロック110から供給されるとしてよい。現在ビデオは、差分部111に渡すとしてよい。差分部111は、差分パルスコード変調(DPCM)(「コアビデオ符号化」と呼ばれる)ループの一部であってよい。当該ループは、動き補償段122および動き推定段118を有するとしてよい。当該ループはさらに、イントラ予測段120およびイントラ補間段124を備えるとしてよい。場合によっては、ループ内非ブロック化フィルタ126をさらにループ内で利用するとしてもよい。
【0009】
現在ビデオは、差分部111および動き推定段118に供給されるとしてよい。動き補償段122またはイントラ補間段124は、スイッチ123からの出力を生成するとしてよい。この出力は、現在ビデオ110から減算されて、残余分が得られるとしてよい。残余分は、変換/量子化段112において変換および量子化されて、ブロック114においてエントロピー符号化が実行されるとしてよい。ブロック116でチャネル出力が得られる。
【0010】
動き補償段122またはイントラ補間段124の出力は、加算器133に供給されるとしてよい。加算器133はさらに、逆量子化部130および逆変換部132からの入力を受け取るとしてよい。逆量子化部130および逆変換部132は、変換/量子化段112による変換および量子化を元に戻すとしてよい。逆変換部132は、量子化および変換が解除された情報をループに戻すとしてよい。
【0011】
自己MV導出モジュール140は、既に復号化された画素から動きベクトルを導出するべく、本明細書で説明した処理を実施するとしてよい。自己MV導出モジュール140は、ループ内非ブロック化フィルタ126の出力を受け取るとしてよく、出力を動き補償段122に供給するとしてよい。
【0012】
図2は、自己MV導出モジュール210を備えるH.264ビデオ復号器200を示す図である。ここで、図1の符号化器100に対応する復号器200は、エントロピー復号部240に結合されているチャネル入力238を含むとしてよい。復号部240からの出力は、逆量子化部242および逆変換部244に、そして、自己MV導出モジュール210に供給されるとしてよい。自己MV導出モジュール210は、動き補償部248に結合されるとしてよい。エントロピー復号部240の出力はさらに、イントラ補間部254に供給されるとしてよい。イントラ補間部254は、セレクタスイッチ223に対して供給するとしてよい。逆変換部244からの情報、および、スイッチ223で選択された結果である動き補償部248またはイントラ補間部254の一方からの情報は、加算され、ループ内非ブロック化部246に供給され、イントラ補間部254に供給されるとしてよい。ループ内非ブロック化部246の出力はこの後、自己MV導出モジュール210に供給されるとしてよい。
【0013】
符号化器側の自己MV導出モジュールは、ビデオ復号化器と同期しているとしてよい。これに代えて、自己MV導出モジュールは、汎用ビデオコーデックアーキテクチャに基づいて利用されるとしてよく、H.264符号化アーキテクチャに限定されない。
【0014】
上述した符号化器および復号器、ならびに、上述したそれらが実行する処理は、ハードウェア、ファームウェアまたはソフトウェア、あるいは、これらの組み合わせで実現されるとしてよい。また、本明細書で開示される任意の1以上の特徴は、ハードウェア、ソフトウェア、ファームウェアおよびこれらの組み合わせで実現されるとしてよく、個別の回路ロジックおよび集積化された回路ロジック、特定用途向け集積回路(ASIC)ロジック、および、マイクロコントローラで実現されるとしてよく、ドメイン特有集積回路パッケージの一部として、または、集積回路パッケージを組み合わせたものとして実現されるとしてよい。ソフトウェアという用語は、本明細書で用いられる場合、コンピュータシステムに本明細書で開示している1以上の特徴および/または特徴の組み合わせを実行させるコンピュータプログラムロジックが格納されているコンピュータ可読媒体を備えるコンピュータプログラム製品を意味する。
【0015】
空間的に隣接している再構築された画素への依存性
復号器側動き推定(ME)は、現在符号化ブロックの動きは、基準ピクチャ内において当該ブロックと空間的に隣接しているブロックの動きおよび当該ブロックと時間的に隣接しているブロックの動きと強い相関関係を持つという仮定に基づいている。図3から図6は、さまざまな種類の相関関係を利用するさまざまな復号器側ME方法を示す図である。
【0016】
図3のミラーMEおよび図4の予測MEは、時間的な動きの相関関係を利用して2つの基準フレーム間で実行されるとしてよい。図3の実施形態では、2つの双方向予測フレーム(Bフレーム)310および315が、前方基準フレーム320と後方基準フレーム330との間にあるとしてよい。フレーム310は、現在符号化フレームであってよい。現在ブロック340を符号化する場合、ミラーMEを実行して、基準フレーム320の検索ウィンドウ360および基準フレーム330の検索ウィンドウ370で検索を実行することによって、動きベクトルを取得するとしてよい。上述したように、現在入力ブロックが復号器で利用できない場合、2つの基準フレームでミラーMEを実行するとしてよい。
【0017】
図4は、2つの前方基準フレームである、前方(FW)Ref0(基準フレーム420と図示)およびFW Ref1(基準フレーム430と図示)を利用する予測ME処理400の一例を示す図である。これらの基準フレームは、現在フレームP(フレーム410と図示)内の現在対象ブロック440について動きベクトルを導出するために用いられるとしてよい。基準フレーム420内で検索ウィンドウ470が特定されているとしてよく、検索ウィンドウ470内で検索パスが特定されているとしてよい。検索パス内の各動きベクトルMV0について、当該動きベクトルの予測動きベクトルMV1は、基準フレーム430の検索ウィンドウ460内で決定されるとしてよい。MV0および対応する動きベクトルMV1という一対の動きベクトルについて、差分絶対値の合計等のメトリックを、(1)MV0によって指し示されている基準フレーム420内の基準ブロック480と、(2)MV1によって指し示されている基準フレーム430内の基準ブロック450との間で算出するとしてよい。例えば、最小SAD等、メトリックが最適値を取る動きベクトルMV0は、対象ブロック440の動きベクトルとして選択されるとしてよい。
【0018】
現在ブロックの出力動きベクトルの精度を高めるべく、一部の実施例では、復号器側のMEの測定メトリックに空間的に隣接する再構築された画素を含めるとしてよい。図5では、空間的な動きの相関関係を利用して、復号器側MEを空間的に隣接するブロックに対して実行するとしてよい。図5は、現在ピクチャ(またはフレーム)510内の1以上の隣接するブロック540(ここでは、対象ブロック530の上方および左側のブロックとして示す)を利用する実施形態500を示す図である。これによって、先行する基準フレーム520内の1以上の対応するブロック550および後続の基準フレーム560内の1以上の対応するブロック555に基づき、動きベクトルの生成が可能になるとしてよい。尚、「先行」および「後続」といった用語は、時間軸に沿った順序を意味する。この後動きベクトルを対象ブロック530に適用するとしてよい。ある実施形態によると、ラスタースキャン符号化順序に基づき、対象ブロックの上方、左側、上方および左側、ならびに、上方および右側の空間的に隣接するブロックを決定するとしてよい。この方法は、復号化の際に先行フレームおよび後続フレームの両方を利用するBフレームについて利用されるとしてよい。
【0019】
図5で例示している方法は、隣接しているブロックが連続スキャン符号化順序において対象ブロックより前に復号されている限り、現在フレーム内の空間的に隣接しているブロックの利用可能な画素に対して適用されるとしてよい。さらに、この方法では、現在フレームの基準フレームリストに挙げられている基準フレームに対して動き検索を適用するとしてよい。
【0020】
図5の実施形態に係る処理は、以下のように実行されるとしてよい。第一に、現在フレームにおいて1以上の画素ブロックを特定するとしてよい。この場合、特定されたブロックは、現在フレームの対象ブロックに隣接している。この後特定されたブロックについて、時間軸において後続の基準フレームに含まれる対応するブロック、および、先行する基準フレームに含まれる対応するブロックに基づいて、動き検索を実行するとしてよい。動き検索を実行すると、特定されたブロックについて動きベクトルが得られるとしてよい。これに代えて、隣接するブロックの動きベクトルは、これらのブロックを特定する前に決定するとしてよい。この後、決定された動きベクトルを利用して、対象ブロックの動きベクトルを導出するとしてよい。対象ブロックの動きベクトルを用いて、対象ブロックの動き補償を実行するとしてよい。この導出処理は、当業者に公知の適切な処理を利用して実行するとしてよい。このようなプロセスは、例えば、これらに限定されるものではないが、重み付け平均化またはメディアンフィルタリングであるとしてよい。
【0021】
現在ピクチャが基準バッファ内に後方基準ピクチャおよび前方基準ピクチャの両方を持っている場合、ミラーMEで利用される方法と同じ方法を用いて、ピクチャレベルおよびブロックレベルの適応型検索範囲ベクトルを取得するとしてよい。これに代えて、前方基準ピクチャのみが利用可能である場合、予測MEについて上述した方法を用いてピクチャレベルおよびブロックレベルの適応型検索範囲を取得するとしてよい。
【0022】
時間軸に沿った順序において先行する再構築されたフレームおよび後続の再構築されたフレームの対応するブロックを用いて、動きベクトルを導出するとしてよい。この方法は図6に図示している。現在フレーム610内の対象ブロック630を符号化する際には、既に復号化された画素を利用するとしてよい。この場合、これらの画素は、図6ではフレーム615として示している先行するピクチャの対応するブロック640と、ピクチャ655として示している次のフレームの対応するブロック665とにあるとしてよい。基準フレームであるピクチャ620の1以上のブロック650に対して動き検索を実行することによって、第1の動きベクトルを対応するブロック640について導出するとしてよい。ブロック650は、基準フレーム620において、先行するピクチャ615のブロック640に対応するブロックに隣接しているとしてよい。基準ピクチャ、つまり、フレーム660の1以上のブロック670に対して動き検索を実行することによって、第2の動きベクトルを次のフレーム655の対応するブロック665について導出するとしてよい。ブロック670は、別の基準ピクチャ660において、次のフレーム655のブロック665に対応するブロックに隣接するとしてよい。第1および第2の動きベクトルに基づいて、対象ブロック630について、前方動きベクトルおよび/または後方動きベクトルを決定するとしてよい。これらの動きベクトルはこの後、対象ブロックの動き補償において利用されるとしてよい。
【0023】
このような場合のME処理は以下のように実行されるとしてよい。最初に、先行するフレームにおいて、現在フレームの対象ブロックに対応するブロックを特定するとしてよい。先行するフレームのこの特定されたブロックについて第1の動きベクトルを決定するとしてよい。第1の動きベクトルは、第1の基準フレームの対応するブロックと比較することで定められるとしてよい。後続のフレームにおいて、現在フレームの対象ブロックに対応するブロックを特定するとしてよい。後続のフレームのこの特定されたブロックについて第2の動きベクトルを決定するとしてよい。第2の動きベクトルは、第2の基準フレームの対応するブロックと比較することで定められるとしてよい。上述した第1および第2の動きベクトルを用いて、対象ブロックについて1個または2個の動きベクトルを決定するとしてよい。同様の処理を復号器で行うとしてもよい。
【0024】
現在ピクチャを符号化/復号する際には、先行するフレーム615と基準フレーム620との間のブロック動きベクトルが利用可能である。これらの動きベクトルを用いて、予測MEに関して上述したような方法でピクチャレベルの適応型検索範囲を決定することができる。対応するブロックの動きベクトル、および、対応するブロックに空間的に隣接するブロックの動きベクトルを用いて、ミラーMEの場合と同様に、ブロックレベルの適応型検索範囲を導出するとしてよい。
【0025】
空間的に隣接する再構築された画素を復号器側のMEで利用するので、DMVDモードで符号化されたブロックの復号は、必要な空間的に隣接する画素が全て復号された後でなければ開始できない。この復号依存性は、ブロック復号の並列実施の効率に影響を及ぼす可能性がある。
【0026】
DMVD符号化ブロックを並列に復号するために、復号器側MEが、空間的に隣接する再構築された画素へ依存しないようにするとしてよい。そして、図3のミラーMEおよび図4の予測MEは、2つの基準ピクチャに対してのみ実行され、空間的に隣接する再構築された画素は、復号器側MEの測定メトリックでは考慮されないとしてよい。図5に示す空間的に隣接するブロックのMEは、機能的に図6に示す時間連続ブロックのMEで置き換えられる。つまり、復号器側MEは、現在ピクチャに含まれる空間的に隣接するブロックに代えて、複数の基準ピクチャに含まれる連続ブロックについて実行されるとしてもよい。
【0027】
この復号化方法は図7に示している。710において、DMVD符号化ブロックを復号器で受信するとしてよい。720において、MEを実行するとしてよい。MEは、複数の基準ピクチャ内の時間的に隣接する再構築された画素を利用して行われるとしてよい。空間的に隣接する再構築された画素は利用しない。730において、DMVD符号化ブロックを復号するとしてよい。
【0028】
ある実施形態によると、復号化は、非DMVD符号化ブロックの復号と並列に実行するとしてよい。再構築された基準ピクチャが現在ピクチャの復号の前にそろって、復号器側MEが基準ピクチャのみに実行されるので、復号に関して、DMVD符号化ブロックが、空間的に隣接する再構築された画素に依存することはなくなるとしてよい。この結果、DMVD符号化ブロックおよび非DMVD符号化フレーム間符号化ブロックは、並列に復号されるとしてよい。
【0029】
動きベクトル予測の依存性
空間的に隣接している再構築された画素への復号時の依存性は上記のシステムおよび方法で対処されるとしても、復号処理においては、動きベクトルの予測に関して依存性の問題は依然として存在する。H.264/AVC規格では、動きベクトルの冗長性を無くすべく、最初に、あるブロックの動きベクトルを、当該ブロックに空間的または時間的に隣接しているブロックの動きベクトルに基づいて予測するとしてよい。最終動きベクトルと予測動きベクトルとの差分を、復号器側に送信するべく、ビットストリームに符号化するとしてよい。復号器側では、現在ブロックの最終動きベクトルを取得するべく、最初に空間的または時間的に隣接しているブロックの復号化された動きベクトルから予測動きベクトルを算出した後、復号化された動きベクトル差分を予測動きベクトルに加算して、現在ブロックの最終復号化動きベクトルを取得するとしてよい。
【0030】
DMVDモードを利用する場合、復号器は、DMVD符号化ブロックについて、自身で動きベクトルを導出することができる。しかし、非DMVD符号化ブロックについては、動きベクトルを上述した方法で復号するとしてよい。ここで、あるブロックがDMVDモードで符号化されている場合、当該ブロックの動きベクトルは復号器側MEを実行した後でなければ利用できない。これらの動きベクトルが、当該ブロックに空間的に隣接しているブロックの動きベクトルを予測するために利用される場合、空間的に隣接しているブロックの復号化は、DMVD符号化ブロックの復号器側MEが完了した後でなければ開始することができない。このような動きベクトル予測における依存性は、ブロック復号化の並列実施の効率に影響を与えるとしてよい。
【0031】
図8に示すように、ブロック810等の現在ブロックを符号化する際、当該ブロックに空間的に隣接する4つのブロック(A、B、CおよびD)の動きベクトルを用いて、当該ブロックの動きベクトルを予測するとしてよい。ブロックA、B、CおよびDのうち任意の1つがDMVDモードで符号化されている場合、以下に記載する方法のうちいずれか1つを利用して、動きベクトルに関してDMVDブロックに依存しなくて済むようにしてよい。
【0032】
ある実施形態によると、空間的に隣接するブロックがDMVDブロックである場合、当該ブロックの動きベクトルは、動きベクトル予測処理において利用不可と示されているとしてよい。つまり、現在ブロックの動きベクトルは、隣接している非DVMD符号化ブロックの動きベクトルから予測する。この処理は図9に図示している。910において、現在の非DMVDブロックを、1以上のDMVDブロックと共に、受信するとしてよい。920において、現在の非DMVDブロックに対して空間的に隣接しているDMVDブロックがあるか否かを判断するとしてよい。具体的には、非DMVDブロックに隣接して図8に示す位置A・・・DのいずれかにDMVDブロックがあるか否かを判断するとしてよい。DMVDブロックがある場合、当該DMVDブロックは、非DMVDブロックの動きベクトル予測には利用不可と示すとしてよい。930において、隣接する非DMVDブロックの動きベクトルを用いて、現在の非DMVDブロックの動きベクトルを予測するとしてよい。940において、現在の非DMVDブロックを復号化するとしてよい。
【0033】
別の実施形態によると、位置A・・・D(図8を参照のこと)のいずれかにおいて非DMVDブロックに空間的に隣接するDMVDブロックがあれば、非DMVDブロックを復号化するためには別の方法を利用するとしてよい。このような実施形態を図10に図示する。1010において、復号器は、現在の非DMVDブロックを、1以上の空間的に隣接するDMVDブロックと共に、受信する。1020において、空間的に隣接するブロックがDMVDブロックである場合、このDMVDブロックについて動きベクトルを算出するとしてよい。1030において、算出された動きベクトルを用いて、現在の非DMVDブロックの動きベクトルを予測するとしてよい。1040において、このように予測された動きベクトルに基づき、現在の非DMVDブロックを復号するとしてよい。
【0034】
このように算出された動きベクトルは復号器側MEを実行する前に得られるので、隣接するブロック、例えば、現在の非DMVDブロックの復号処理は、DMVD符号化ブロックの復号器側ME処理が完了するまで待機することなく、即座に開始するとしてよい。こうして、DMVD符号化ブロックおよび現在の非DMVD符号化ブロックを並列に復号化するとしてよい。
【0035】
隣接するDMVDブロックの動きベクトルは、複数の方法のうち任意の方法で決定するとしてよい。例えば、ある実施形態によると、DMVDブロックについて算出された動きベクトルは、利用可能な空間的に隣接するブロックの動きベクトルの重み付け平均であるとしてよい。
【0036】
別の実施形態では、DMVDブロックについて算出された動きベクトルは、利用可能な空間的に隣接するブロックの動きベクトルのメディアンフィルタリング値であってよい。
【0037】
別の実施形態では、DMVDブロックについて算出された動きベクトルは、スケーリングされた利用可能な時間的に隣接するブロックの動きベクトルの重み付け平均であってよい。
【0038】
別の実施形態によると、DMVDブロックについて算出された動きベクトルは、スケーリングされた利用可能な時間的に隣接するブロックの動きベクトルのメディアンフィルタリング値であってよい。
【0039】
別の実施形態によると、DMVDブロックについて算出された動きベクトルは、利用可能な空間的に隣接するブロックの動きベクトルおよびスケーリングされた利用可能な時間的に隣接するブロックの動きベクトルの重み付け平均であるとしてよい。
【0040】
別の実施形態によると、DMVDブロックについて算出された動きベクトルは、利用可能な空間的に隣接するブロックの動きベクトルおよびスケーリングされた利用可能な時間的に隣接するブロックの動きベクトルのメディアンフィルタリング値であってよい。
【0041】
上記の方法によれば、動きベクトル予測は、DMVDブロックの動きベクトルに依存しなくなるとしてよい。復号器は同時に、空間的に隣接する再構築された画素へ依存しなくて済むので、フレーム間符号化ブロックを(DMVDモードまたは非DMVDモードのいずれで符号化されていたとしても)並列に復号化するとしてよい。これによって、マルチコアプラットフォームにおいて復号器を並列に実施し易くなるとしてよい。
【0042】
動きベクトルに関する高速候補検索
DMVDブロックのMEは、符号化器および復号器が同一動き検索方式を利用している限りにおいて、検索ウィンドウ内での全検索で実行するとしてもよいし、または、任意のその他の高速動き検索アルゴリズムを用いて実行するとしてもよい。ある実施形態によると、候補を利用した高速ME処理を実行するとしてよい。この場合、動き検索処理は、検索ウィンドウ内で全ての可能性を確認するのではなく、比較的少数の動きベクトル候補を確認するだけでよい。符号化器および復号器は、不一致が生じないように、同じ候補を利用するとしてよい。
【0043】
動きベクトル候補は、空間的に符号化されている隣接ブロックおよび時間的に符号化されている隣接ブロックの動きベクトルから導出されるとしてよい。動きベクトル候補は、このような動きベクトルの付近の狭い範囲で動き検索を実行することによって、絞り込むことができる。
【0044】
ある実施形態によると、最初に全ての動きベクトル候補を確認するとしてよく、最良の動きベクトル候補(例えば、差分絶対値の合計値が最小となる動きベクトル候補)を選択するとしてよい。この最良の動きベクトル候補の付近で狭い範囲の動き検索を実行して最終動きベクトルを取得するとしてよい。
【0045】
ある実施形態によると、各動きベクトル候補の付近で狭い範囲の動き検索を実行して絞り込み、最良の動きベクトル候補(例えば、SADが最小となるもの)を最終動きベクトルとして選択するとしてよい。
【0046】
実施例
本明細書で開示している方法およびシステムは、機能、特徴および関係を説明する機能構成ブロックを用いて説明している。このような機能構成ブロックの境界は、少なくとも一部について、説明の便宜上本明細書において抽象的に定義したものである。特定の機能および関係が適切に実現される限りにおいて、境界を変更して定義するとしてよい。
【0047】
本明細書で開示した1以上の特徴は、ハードウェア、ソフトウェア、ファームウェアおよびこれらを組み合わせて実施するとしてよい。例えば、個別の回路ロジックおよび集積化された回路ロジック、特定用途向け集積回路(ASIC)ロジック、および、マイクロコントローラで実現されるとしてよく、ドメイン特有集積回路パッケージの一部として、または、集積回路パッケージを組み合わせたものとして実現されるとしてよい。ソフトウェアという用語は、本明細書で用いられる場合、コンピュータシステムに本明細書で開示している1以上の特徴および/または特徴の組み合わせを実行させるコンピュータプログラムロジックが格納されているコンピュータ可読媒体を備えるコンピュータプログラム製品を意味する。
【0048】
上述した処理をソフトウェアまたはファームウェアで実施する場合の実施形態を図11に図示する。システム1100は、プロセッサ1120およびメモリ本体1110を備えるとしてよい。メモリ1110は、コンピュータプログラムロジック1140を格納する1以上のコンピュータ可読媒体を有するとしてよい。メモリ1110は、例えば、ハードディスクおよびハードドライブ、コンパクトディスクおよびコンパクトドライブ等の取り外し可能な媒体、または、リードオンリーメモリ(ROM)デバイスとして実現されるとしてよい。プロセッサ1120およびメモリ1110は、バス等、当業者に公知の技術のいずれかを利用して通信を行うとしてよい。メモリ1110に含まれるロジックは、プロセッサ1120によって読み出されて実行されるとしてよい。1以上のI/Oポートおよび/またはI/Oデバイスは、まとめてI/O1130として図示されており、プロセッサ1120およびメモリ1110に接続されているとしてよい。
【0049】
コンピュータプログラムロジック1140は、ロジックモジュール1150−1170を含むとしてよい。ある実施形態によると、ロジック1150は、現在ブロックがDMVDブロックである場合に上述した処理を実行するロジックであるとしてよい。ロジック1160は、現在ブロックが非DMVDブロックである場合に上述した処理を実行するロジックであるとしてよい。ロジック1170は、上述した動きベクトルの高速候補検索を実行するロジックであるとしてよい。
【0050】
本明細書ではさまざまな実施形態を開示したが、本発明を限定するものではなく一例としてのみ提示したと理解されたい。本明細書の開示内容について、本明細書に開示した方法およびシステムの意図および範囲から逸脱することなく形態および詳細な内容についてはさまざまな点で変更し得ることは当業者には明らかであろう。このため、請求項の範囲は、本明細書に開示した実施形態例のいずれによっても限定されるものではない。ここで、本発明の実施形態の例を項目として示す。
[項目1]
DMVD符号化ブロックおよび非DMVD符号化ブロックを受信する段階と、
DMVD符号化ブロックについて、一の現在ピクチャに含まれる空間的に隣接する複数の再構成された画素を利用することなく、複数の基準ピクチャに含まれる時間的に隣接する複数の再構成された画素を利用して動き推定(ME)を実行する段階と、
非DMVD符号化ブロックについて、受信したデータから非DMVD符号化ブロックの動きベクトルを予測する段階、および、受信したデータから動きベクトル差分を復元する段階と、
DMVD符号化ブロックおよび非DMVD符号化ブロックを並列に復号する段階と
を備える方法。
[項目2]
非DMVD符号化ブロックの動きベクトルを予測する段階は、
非DMVD符号化ブロックに隣接するDMVD符号化ブロックを、非DMVD符号化ブロックの動きベクトル予測には利用不可なブロックとして扱う段階と、
1以上の隣接する非DMVD符号化ブロックの動きベクトルを利用して、非DMVD符号化ブロックの動きベクトルを予測する段階と
を有する項目1に記載の方法。
[項目3]
非DMVD符号化ブロックの動きベクトルを予測する段階は、
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する段階と、
算出された動きベクトルを用いて非DMVD符号化ブロックの動きベクトルを予測する段階と
を有する項目1に記載の方法。
[項目4]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する段階は、隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトルの重み付け平均を算出する段階を含む項目3に記載の方法。
[項目5]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する段階は、隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトルのメディアンフィルタリング値を算出する段階を含む項目3に記載の方法。
[項目6]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する段階は、隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックのスケーリングされた動きベクトルの重み付け平均を算出する段階を含む項目3に記載の方法。
[項目7]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する段階は、隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックのスケーリングされた動きベクトルのメディアンフィルタリング値を算出する段階を含む項目3に記載の方法。
[項目8]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する段階は、
(a)隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトル、および、
(b)隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックの動きベクトル
の重み付け平均を算出する段階を含む項目3に記載の方法。
[項目9]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する段階は、
(a)隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトル、および、
(b)隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックの動きベクトル
のメディアンフィルタリング値を算出する段階を含む項目3に記載の方法。
[項目10]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する段階は、
DMVD符号化ブロックの最良の動きベクトル候補を狭い範囲内で検索することによって、候補を利用した高速動き推定を実行する段階と、
動きベクトル候補によって差分絶対値の合計が最小値となるか否かに基づいて、最良の動きベクトル候補を選択する段階とを含む項目3に記載の方法。
[項目11]
プロセッサと、
プロセッサと通信し、複数の処理命令を格納しているメモリと
を備えるシステムであって、
複数の処理命令は、プロセッサに対して、
DMVD符号化ブロックおよび非DMVD符号化ブロックを受信して、
DMVD符号化ブロックについて、一の現在ピクチャに含まれる空間的に隣接する複数の再構成された画素を利用することなく、複数の基準ピクチャに含まれる時間的に隣接する複数の再構成された画素を利用して動き推定(ME)を実行して、
非DMVD符号化ブロックについて、受信したデータから非DMVD符号化ブロックの動きベクトルを予測して、受信したデータから動きベクトル差分を復元して、
DMVD符号化ブロックおよび非DMVD符号化ブロックを並列に復号するよう指示するシステム。
[項目12]
プロセッサに対して非DMVD符号化ブロックの動きベクトルを予測するよう指示する複数の処理命令は、
プロセッサに対して、非DMVD符号化ブロックに隣接するDMVD符号化ブロックを、非DMVD符号化ブロックの動きベクトル予測には利用不可なブロックとして扱うよう指示する処理命令と、
プロセッサに対して、1以上の隣接する非DMVD符号化ブロックの動きベクトルを利用して、非DMVD符号化ブロックの動きベクトルを予測するよう指示する処理命令とを含む
項目11に記載のシステム。
[項目13]
プロセッサに対して非DMVD符号化ブロックの動きベクトルを予測するよう指示する複数の処理命令は、
プロセッサに対して、非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出するよう指示する処理命令と、
プロセッサに対して、算出された動きベクトルを用いて非DMVD符号化ブロックの動きベクトルを予測するよう指示する処理命令と
を含む項目11に記載のシステム。
[項目14]
プロセッサに対して非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、プロセッサに対して、隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトルの重み付け平均を算出するよう指示する処理命令を含む項目13に記載のシステム。
[項目15]
プロセッサに対して非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、
プロセッサに対して、
隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトルのメディアンフィルタリング値を算出するよう指示する処理命令を含む
項目13に記載のシステム。
[項目16]
プロセッサに対して非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、
プロセッサに対して、
隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックのスケーリングされた動きベクトルの重み付け平均を算出するよう指示する処理命令を含む
項目13に記載のシステム。
[項目17]
プロセッサに対して非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、プロセッサに対して、隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックのスケーリングされた動きベクトルのメディアンフィルタリング値を算出するよう指示する処理命令を含む項目13に記載のシステム。
[項目18]
プロセッサに対して非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、プロセッサに対して、
(a)隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトル、および、
(b)隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックの動きベクトル
の重み付け平均を算出するよう指示する処理命令を含む項目13に記載のシステム。
[項目19]
プロセッサに対して非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、
プロセッサに対して、
(a)隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトル、および、
(b)隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックの動きベクトル
のメディアンフィルタリング値を算出するよう指示する処理命令を含む項目13に記載のシステム。
[項目20]
プロセッサに対して非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、
プロセッサに対して、DMVD符号化ブロックの最良の動きベクトル候補を狭い範囲内で検索することによって、候補を利用した高速動き推定を実行するよう指示する処理命令と、
プロセッサに対して、動きベクトル候補によって差分絶対値の合計が最小値となるか否かに基づいて、最良の動きベクトル候補を選択するよう指示する処理命令と
を含む項目13に記載のシステム。
[項目21]
コンピュータに、
DMVD符号化ブロックおよび非DMVD符号化ブロックを受信する手順と、
DMVD符号化ブロックについて、一の現在ピクチャに含まれる空間的に隣接する複数の再構成された画素を利用することなく、複数の基準ピクチャに含まれる時間的に隣接する複数の再構成された画素を利用して動き推定(ME)を実行する手順と、
非DMVD符号化ブロックについて、受信したデータから非DMVD符号化ブロックの動きベクトルを予測する手順、および、受信したデータから動きベクトル差分を復元する手順と、
DMVD符号化ブロックおよび非DMVD符号化ブロックを並列に復号す手順と
を実行させるプログラム。
[項目22]
非DMVD符号化ブロックの動きベクトルを予測する手順は、
非DMVD符号化ブロックに隣接するDMVD符号化ブロックを、非DMVD符号化ブロックの動きベクトル予測には利用不可なブロックとして扱う手順と、
1以上の隣接する非DMVD符号化ブロックの動きベクトルを利用して、非DMVD符号化ブロックの動きベクトルを予測する手順と
を有する項目21に記載のプログラム。
[項目23]
非DMVD符号化ブロックの動きベクトルを予測する手順は、
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する手順と、
算出された動きベクトルを用いて非DMVD符号化ブロックの動きベクトルを予測する手順と
を有する項目21に記載のプログラム。
[項目24]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する手順は、隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトルの重み付け平均を算出する手順を有する項目23に記載のプログラム。
[項目25]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する手順は、隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトルのメディアンフィルタリング値を算出する手順を有する項目23に記載のプログラム。
[項目26]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する手順は、隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックのスケーリングされた動きベクトルの重み付け平均を算出する手順を有する項目23に記載のプログラム。
[項目27]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する手順は、隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックのスケーリングされた動きベクトルのメディアンフィルタリング値を算出する手順を有する項目23に記載のプログラム。
[項目28]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する手順は、
(a)隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトル、および、
(b)隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックの動きベクトル
の重み付け平均を算出する手順を有する項目23に記載のプログラム。
[項目29]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する手順は、
(a)隣接するDMVD符号化ブロックに空間的に隣接する複数のブロックの動きベクトル、および、
(b)隣接するDMVD符号化ブロックに時間的に隣接する複数のブロックの動きベクトル
のメディアンフィルタリング値を算出する手順を有する項目23に記載のプログラム。
[項目30]
非DMVD符号化ブロックに隣接するDMVD符号化ブロックの動きベクトルを算出する手順は、
DMVD符号化ブロックの最良の動きベクトル候補を狭い範囲内で検索することによって、候補を利用した高速動き推定を実行する手順と、
動きベクトル候補によって差分絶対値の合計が最小値となるか否かに基づいて、最良の動きベクトル候補を選択する手順とを含む
項目23に記載のプログラム。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11