JP2022152121A - 画像復号装置及び画像符号化装置 - Google Patents

画像復号装置及び画像符号化装置 Download PDF

Info

Publication number
JP2022152121A
JP2022152121A JP2021054772A JP2021054772A JP2022152121A JP 2022152121 A JP2022152121 A JP 2022152121A JP 2021054772 A JP2021054772 A JP 2021054772A JP 2021054772 A JP2021054772 A JP 2021054772A JP 2022152121 A JP2022152121 A JP 2022152121A
Authority
JP
Japan
Prior art keywords
prediction
merge
merge candidate
unit
nasmvp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021054772A
Other languages
English (en)
Other versions
JP2022152121A5 (ja
Inventor
天洋 周
Tianyang Zhou
知宏 猪飼
Tomohiro Igai
健 中條
Takeshi Nakajo
友子 青野
Tomoko Aono
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2021054772A priority Critical patent/JP2022152121A/ja
Publication of JP2022152121A publication Critical patent/JP2022152121A/ja
Publication of JP2022152121A5 publication Critical patent/JP2022152121A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】対象ブロックの空間非隣接ブロック、および、時間方向の隣接ブロック(コロケートブロック)の動きベクトルからマージ候補を導出するマージ予測では、同一の動き情報を持つマージ候補が2つ以上ある場合、プルーニング処理をするのが一般的であるが、大量のプルーニング処理によって符号化効率が低下、かつ、処理量およびメモリバンド幅が増加する【解決手段】本発明は、対象ブロックのNASMVPマージ候補を導出する際に、複数のグループから構成される非隣接ブロックにおいて、動きベクトルが近いか否かをチェックするプルーニングを制限する。【選択図】図17

Description

本発明の実施形態は、画像復号装置及び画像符号化装置に関する。
画像を効率的に伝送又は記録するために、画像を符号化することによって符号化データを生成する画像符号化装置、及び、当該符号化データを復号することによって復号画像を生成する画像復号装置が用いられている。
具体的な画像符号化方式としては、例えば、H.264/AVCやHEVC(High-Efficiency Video
Coding)方式等が挙げられる。
このような画像符号化方式においては、画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化ツリーユニット(CTU:Coding Tree Unit)、符号化ツリーユニットを分割することで得られる符号化単位(符号化ユニット(Coding Unit:CU)と呼ばれることもある)、及び、符号化単位を分割することより得られる変換ユニット(TU:Transform Unit)からなる階層構造により管理され、CU毎に符号化/復号される。
また、このような画像符号化方式においては、通常、入力画像を符号化/復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像(原画像)から減算して得られる予測誤差(「差分画像」又は「残差画像」と呼ぶこともある)が符号化される。予測画像の生成方法としては、画面間予測(インター予測)、及び、画面内予測(イントラ予測)が挙げられる。
また、近年の動画像符号化及び復号の技術として非特許文献1が挙げられる。また非特許文献2には、対象ブロックの非隣接ブロックの動き情報を用いて動きベクトル候補を導出する技術(Non-adjacent spatial candidate Motion Vector Prediction)が開示され
ている。
"Versatile Video Coding (Draft 10)", JVET-S2001-v17, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2020-09-04 "Compression efficiency methods beyond VVC", JVET-U0100, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2021-01-6-15
しかしながら、対象ブロックの空間非隣接ブロック、および、時間方向の隣接ブロック(コロケートブロック)の動きベクトルからマージ候補を導出するマージ予測では、マージ候補の動き情報が同一であるか否かを確認する。、動き情報が同一のマージ候補が2つ以上ある場合、プルーニング処理をするのが一般的である。しかし、大量のプルーニング処理によって符号化効率が低下、かつ、処理量およびメモリバンド幅が増加するという課題がある。
本発明の一態様に係るマージ候補導出装置は、対象ブロックの空間隣接ブロック、時間隣接ブロックの動きベクトルをもとに、対象ブロックのマージ候補を導出するマージ候補導出装置において、非隣接ブロックの動きベクトルを用いてマージ候補を導出するNASMVPマージ候補導出部を備え、NASMVPマージ候補導出部は、第1、第2、・・第Nの複数のグループから構成される非隣接ブロックにおいて、上記各グループ内で1つのマージ候補を導出し、導出された各NASMVPマージ候補をマージ候補リストに設定する手段と、上記NASMVPマージ候補導出部は、各グループ内において、動きベクトルが近いか否かをチェックするプルーニングを用いて1つのマージ候補を導出し、各NASMVPマージ候補をマージ候補リストに設定する場合にはプルーニングを用いずにマージ候補リストに設定することを特徴とする。
本発明の一態様によれば、少ない処理量で符号化効率を増加させることができる。
本実施形態に係る画像伝送システムの構成を示す概略図である。 本実施形態に係る動画像符号化装置を搭載した送信装置、および、動画像復号装置を搭載した受信装置の構成について示した図である。(a)は動画像符号化装置を搭載した送信装置を示しており、(b)は動画像復号装置を搭載した受信装置を示している。 本実施形態に係る動画像符号化装置を搭載した記録装置、および、動画像復号装置を搭載した再生装置の構成について示した図である。(a)は動画像符号化装置を搭載した記録装置を示しており、(b)は動画像復号装置を搭載した再生装置を示している。 符号化ストリームのデータの階層構造を示す図である。 CTUの分割例を示す図である。 参照ピクチャおよび参照ピクチャリストの一例を示す概念図である。 動画像復号装置の構成を示す概略図である。 動画像復号装置の概略的動作を説明するフローチャートである。 インター予測パラメータ導出部の構成を示す概略図である。 本発明に係るマージ予測パラメータ導出部、および、AMVP予測パラメータ導出部の構成を示す概略図である。 インター予測画像生成部の構成を示す概略図である。 動画像符号化装置の構成を示すブロック図である。 インター予測パラメータ符号化部の構成を示す概略図である。 本発明に係るマージ候補リストの概念図である。 本発明に係るマージ候補の導出を説明する図である。 本発明に係るマージ候補の導出の際に参照する動きベクトルの位置を示す図である。 本発明に係るマージ候補の導出の際に参照する動きベクトルの位置を示す図である。 本発明に係るマージ候補の導出の際に参照する動きベクトルの位置を示す図である。 本発明に係るマージ候補の導出の際に参照する動きベクトルの位置を示す図である。 本発明によるシンタックステーブルの一例である。
以下、図面を参照しながら本発明の実施形態について説明する。
図1は、本実施形態に係る画像伝送システム1の構成を示す概略図である。
画像伝送システム1は、符号化対象画像を符号化した符号化ストリームを伝送し、伝送された符号化ストリームを復号し画像を表示するシステムである。画像伝送システム1は、動画像符号化装置(画像符号化装置)11、ネットワーク21、動画像復号装置(画像復号装置)31、及び画像表示装置(画像表示装置)41を含んで構成される。
動画像符号化装置11には画像Tが入力される。
ネットワーク21は、動画像符号化装置11が生成した符号化ストリームTeを動画像復号装置31に伝送する。ネットワーク21は、インターネット(Internet)、広域ネットワーク(WAN:Wide Area Network)、小規模ネットワーク(LAN:Local Area Network)又はこれらの組み合わせである。ネットワーク21は、必ずしも双方向の通信網に限らず、地上デジタル放送、衛星放送等の放送波を伝送する一方向の通信網であってもよい。また、ネットワーク21は、DVD(Digital Versatile Disc:登録商標)、BD(Blue-ray Disc:登録商標)等の符号化ストリームTeを記録した記憶媒体で代替されてもよい。
動画像復号装置31は、ネットワーク21が伝送した符号化ストリームTeのそれぞれを復号し、復号した1又は複数の復号画像Tdを生成する。
画像表示装置41は、動画像復号装置31が生成した1又は複数の復号画像Tdの全部又は一部を表示する。画像表示装置41は、例えば、液晶ディスプレイ、有機EL(Electro-luminescence)ディスプレイ等の表示デバイスを備える。ディスプレイの形態としては、据え置き、モバイル、HMD等が挙げられる。また、動画像復号装置31が高い処理能力を有する場合には、画質の高い画像を表示し、より低い処理能力しか有しない場合には、高い処理能力、表示能力を必要としない画像を表示する。
<演算子>
本明細書で用いる演算子を以下に記載する。
>>は右ビットシフト、<<は左ビットシフト、&はビットワイズAND、|はビットワイズOR
、|=はOR代入演算子であり、||は論理和を示す。
x?y:zは、xが真(0以外)の場合にy、xが偽(0)の場合にzをとる3項演算子である。
Clip3(a,b,c)は、cをa以上b以下の値にクリップする関数であり、c<aの場合にはaを返
し、c>bの場合にはbを返し、その他の場合にはcを返す関数である(ただし、a<=b)。
abs(a)はaの絶対値を返す関数である。
Int(a)はaの整数値を返す関数である。
floor(a)はa以下の最小の整数を返す関数である。
ceil(a)はa以上の最大の整数を返す関数である。
a/dはdによるaの除算(小数点以下切り捨て)を表す。
<符号化ストリームTeの構造>
本実施形態に係る動画像符号化装置11及び動画像復号装置31の詳細な説明に先立って、動画像符号化装置11によって生成され、動画像復号装置31によって復号される符号化スト
リームTeのデータ構造について説明する。
図4は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリ
ームTeは、例示的に、シーケンス、及びシーケンスを構成する複数のピクチャを含む。図4には、それぞれ、シーケンスSEQを既定する符号化ビデオシーケンス、ピクチャPICTを規定する符号化ピクチャ、スライスSを規定する符号化スライス、スライスデータを規定す
る符号化スライスデータ、符号化スライスデータに含まれる符号化ツリーユニット、符号化ツリーユニットに含まれる符号化ユニットを示す図が示されている。
(符号化ビデオシーケンス)
符号化ビデオシーケンスでは、処理対象のシーケンスSEQを復号するために動画像復号
装置31が参照するデータの集合が規定されている。シーケンスSEQは、図4の符号化ビデオシーケンスに示すように、ビデオパラメータセット(Video Parameter Set)、シーケン
スパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。
ビデオパラメータセットVPSは、複数のレイヤから構成されている画像において、複数
の画像に共通する符号化パラメータの集合及び画像に含まれる複数のレイヤ及び個々のレイヤに関連する符号化パラメータの集合が規定されている。
シーケンスパラメータセットSPSでは、対象シーケンスを復号するために動画像復号装
置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。なお、SPSは複数存在してもよい。その場合、PPSから複数のSPSの何れか
を選択する。
本発明では、図20のSPSに示すsps_nasmvp_enabled_flagが通知される。sps_nasmvp_enabled_flagは、符号化データがNASMVPモード(Non-adjacent spatial candidate Motion Vector Prediction)を利用するか否かを示すフラグである。sps_nasmvp_enabled_flagが0の場合、NASMVPモードは使用されない。sps_nasmvp_enabled_flagが1の場合、NASMVPモードは使用されてもよい。ここで、NASMVPモードとは、インター予測の動きベクトル予測において、空間非隣接ブロックの動き情報(動きベクトル、参照ピクチャ)を用いたマージ予測モードである。具体的には、NASMVPモードは、対象ブロックに直接接しない位置の予め定められた複数の動き情報から、対象ブロックの予測パラメータを導出するモードである。
ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために
動画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を示すフラグ(weighted_pred_flag)及びスケーリングリスト(量子化マトリックス)が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
(符号化ピクチャ)
符号化ピクチャでは、処理対象のピクチャPICTを復号するために動画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図4の符号化ピクチャに示すよ
うに、スライス0~スライスNS-1を含む(NSはピクチャPICTに含まれるスライスの総数)
なお、以下、スライス0~スライスNS-1のそれぞれを区別する必要が無い場合、符号の
添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。
(符号化スライス)
符号化スライスでは、処理対象のスライスSを復号するために動画像復号装置31が参照
するデータの集合が規定されている。スライスは、図4の符号化スライスに示すように、
スライスヘッダ、及び、スライスデータを含んでいる。
スライスヘッダには、対象スライスの復号方法を決定するために動画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダに含まれる符号化パラメータの一例である。
スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるBスライス等が挙げられる。なお、インター予測は、単予測、双予測に限定されず、より多くの参照ピクチャを用いて予測画像を生成してもよい。以下、P、Bスライスと呼ぶ場合には、インター予測を用いることができるブロックを含むスライスを指す。
なお、スライスヘッダは、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいてもよい。
(符号化スライスデータ)
符号化スライスデータでは、処理対象のスライスデータを復号するために動画像復号装置31が参照するデータの集合が規定されている。スライスデータは、図4の符号化スライ
スヘッダに示すように、CTUを含んでいる。CTUは、スライスを構成する固定サイズ(例えば64x64)のブロックであり、最大符号化単位(LCU:Largest Coding Unit)と呼ぶこともある。
(符号化ツリーユニット)
図4の符号化ツリーユニットには、処理対象のCTUを復号するために動画像復号装置31が参照するデータの集合が規定されている。CTUは、再帰的な4分木分割(QT(Quad Tree)
分割)、2分木分割(BT(Binary Tree)分割)あるいは3分木分割(TT(Ternary Tree)
分割)により符号化処理の基本的な単位である符号化ユニットCUに分割される。BT分割とTT分割を合わせてマルチツリー分割(MT(Multi Tree)分割)と呼ぶ。再帰的な4分木分
割により得られる木構造のノードのことを符号化ノード(Coding Node)と称する。4分木、2分木、及び3分木の中間ノードは、符号化ノードであり、CTU自身も最上位の符号化ノードとして規定される。
CTは、CT情報として、QT分割を行うか否かを示すQT分割フラグ(cu_split_flag)、MT
分割の有無を示すMT分割フラグ(split_mt_flag)、MT分割の分割方向を示すMT分割方向
(split_mt_dir)、MT分割の分割タイプを示すMT分割タイプ(split_mt_type)を含む。cu_split_flag、split_mt_flag、split_mt_dir、split_mt_typeは符号化ノード毎に伝送される。
cu_split_flagが1の場合、符号化ノードは4つの符号化ノードに分割される(図5のQT)。
cu_split_flagが0の時、split_mt_flagが0の場合に符号化ノードは分割されず1つのCU
をノードとして持つ(図5の分割なし)。CUは符号化ノードの末端ノードであり、これ以
上分割されない。CUは、符号化処理の基本的な単位となる。
split_mt_flagが1の場合に符号化ノードは以下のようにMT分割される。split_mt_typeが0の時、split_mt_dirが1の場合に符号化ノードは2つの符号化ノードに水平分割され
(図5のBT(水平分割))、split_mt_dirが0の場合に符号化ノードは2つの符号化ノードに垂直分割される(図5のBT(垂直分割))。また、split_mt_typeが1の時、split_mt_dirが1の場合に符号化ノードは3つの符号化ノードに水平分割され(図5のTT(水平分割))、split_mt_dirが0の場合に符号化ノードは3つの符号化ノードに垂直分割される(図5のTT(垂直分割))。これらを図5のCT情報に示す。
また、CTUのサイズが64x64画素の場合には、CUのサイズは、64x64画素、64x32画素、32x64画素、32x32画素、64x16画素、16x64画素、32x16画素、16x32画素、16x16画素、64x8画素、8x64画素、32x8画素、8x32画素、16x8画素、8x16画素、8x8画素、64x4画素、4x64画素、32x4画素、4x32画素、16x4画素、4x16画素、8x4画素、4x8画素、及び、4x4画素の何れかをとり得る。
(符号化ユニット)
図4の符号化ユニットに示すように、処理対象の符号化ユニットを復号するために動画
像復号装置31が参照するデータの集合が規定されている。具体的には、CUは、CUヘッダCUH、予測パラメータ、変換パラメータ、量子化変換係数等から構成される。CUヘッダでは予測モード等が規定される。
予測処理は、CU単位で行われる場合と、CUをさらに分割したサブCU単位で行われる場合がある。CUとサブCUのサイズが等しい場合には、CU中のサブCUは1つである。CUがサブCU
のサイズよりも大きい場合、CUは、サブCUに分割される。例えばCUが8x8、サブCUが4x4の場合、CUは水平2分割、垂直2分割からなる、4つのサブCUに分割される。
予測の種類(予測モードCuPredMode)は、イントラ予測(MODE_INTRA)と、インター予測(MODE_INTER)の2つを少なくとも備える。さらにイントラブロツクコピー予測(MODE_IBC)
を備えても良い。イントラ予測、イントラブロツクコピー予測は、同一ピクチャ内の予測であり、インター予測は、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。
変換・量子化処理はCU単位で行われるが、量子化変換係数は4x4等のサブブロック単位
でエントロピー符号化してもよい。
(予測パラメータ)
予測画像は、ブロックに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測とインター予測の予測パラメータがある。
以下、インター予測の予測パラメータについて説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0とpredFlagL1、参照ピクチャインデックスrefIdxL0とrefIdxL1、動きベクトルmvL0とmvL1から構成される。predFlagL0、predFlagL1は、参照ピクチャリスト(L0リスト、L1リスト)が用いられるか否かを示すフラグであり、値が1の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「XXであるか否かを示すフラグ」と記す場合、フラグが0以外(たとえば1)をXXである場合、0をXXではない場合とし、論理否定、論理積などでは1を真、0を偽と扱う(以下同様)。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。
インター予測パラメータを導出するためのシンタックス要素には、例えば、マージモードで用いるマージフラグmerge_flag、マージインデックスmerge_idx、AMVPモードで用い
る参照ピクチャを選択するためのインター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、動きベクトルを導出するための予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLX、動きベクトル精度モードamvr_modeがある。
(参照ピクチャリスト)
参照ピクチャリストは、参照ピクチャメモリ306に記憶された参照ピクチャからなるリ
ストである。図6は、参照ピクチャおよび参照ピクチャリストの一例を示す概念図である
。図6(a)において、矩形はピクチャ、矢印はピクチャの参照関係、横軸は時間、矩形中のI、P、Bは各々イントラピクチャ、単予測ピクチャ、双予測ピクチャ、矩形中の数字は復
号順を示す。図に示すように、ピクチャの復号順は、I0、P1、B2、B3、B4であり、表示順は、I0、B3、B2、B4、P1である。図6(b)に、ピクチャB3(対象ピクチャ)の参照ピクチャリストの例を示す。参照ピクチャリストは、参照ピクチャの候補を表すリストであり、1つのピクチャ(スライス)が1つ以上の参照ピクチャリストを有してもよい。図の例では、対象ピクチャB3は、L0リストRefPicList0およびL1リストRefPicList1の2つの参照ピクチャリストを持つ。個々のCUでは、参照ピクチャリストRefPicListX(X=0または1)中のどのピクチャを実際に参照するかをrefIdxLXで指定する。図は、refIdxL0=2、refIdxL1=0の例である。なお、LXは、L0予測とL1予測を区別しない場合に用いられる記述方法であり、以降では、LXをL0、L1に置き換えることでL0リストに対するパラメータとL1リストに対するパラメータを区別する。
(マージ予測とAMVP予測)
予測パラメータの復号(符号化)方法には、マージ予測(merge)モードとAMVP(Advanced Motion Vector Prediction、適応動きベクトル予測)モードがあり、merge_flagは、これらを識別するためのフラグである。マージ予測モードは、予測リスト利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めずに、既に処理した隣接ブロックの予測パラメータ等から導出するモードである。AMVPモードは、inter_pred_idc、refIdxLX、mvLXを符号化データに含めるモードである。なお、mvLXは、予測ベクトルmvpLXを識別するmvp_LX_idxと差分ベクトルmvdLXとして符号化される。
inter_pred_idcは、参照ピクチャの種類および数を示す値であり、PRED_L0、PRED_L1、PRED_BIの何れかの値をとる。PRED_L0、PRED_L1は、各々L0リスト、L1リストで管理され
た1枚の参照ピクチャを用いる単予測を示す。PRED_BIはL0リストとL1リストで管理され
た2枚の参照ピクチャを用いる双予測を示す。
merge_idxは、処理が完了したブロックから導出される予測パラメータ候補(マージ候
補)のうち、いずれの予測パラメータを対象ブロックの予測パラメータとして用いるかを示すインデックスである。
(動きベクトル)
mvLXは、異なる2つのピクチャ上のブロック間のシフト量を示す。mvLXに関する予測ベクトル、差分ベクトルを、それぞれmvpLX、mvdLXと呼ぶ。
(インター予測識別子inter_pred_idcと予測リスト利用フラグpredFlagLX)
inter_pred_idcと、predFlagL0、predFlagL1の関係は以下のとおりであり、相互に変換可能である。
inter_pred_idc = (predFlagL1<<1)+predFlagL0
predFlagL0 = inter_pred_idc & 1
predFlagL1 = inter_pred_idc >> 1
なお、インター予測パラメータは、予測リスト利用フラグを用いても良いし、インター予測識別子を用いてもよい。また、予測リスト利用フラグを用いた判定は、インター予測識別子を用いた判定に置き替えてもよい。逆に、インター予測識別子を用いた判定は、予測リスト利用フラグを用いた判定に置き替えてもよい。
(双予測biPredの判定)
双予測であるかのフラグbiPredは、2つの予測リスト利用フラグがともに1であるかによって導出できる。例えば以下の式で導出できる。
biPred = (predFlagL0==1 && predFlagL1==1)
あるいは、biPredは、インター予測識別子が2つの予測リスト(参照ピクチャ)を使うことを示す値であるか否かによっても導出できる。例えば以下の式で導出できる。
biPred = (inter_pred_idc==PRED_BI) ? 1 : 0
(イントラ予測パラメータ)
以下、イントラ予測の予測パラメータについて説明する。イントラ予測パラメータは、輝度予測モードIntraPredModeY、色差予測モードIntraPredModeCから構成される。例えば、プレーナ予測(0)、DC予測(1)、Angular予測(それ以外)である。さらに、色差ではCCLMモード(81~83)を追加してもよい。
(動画像復号装置の構成)
本実施形態に係る動画像復号装置31(図7)の構成について説明する。
動画像復号装置31は、エントロピー復号部301、パラメータ復号部(予測画像復号装置
)302、ループフィルタ305、参照ピクチャメモリ306、予測パラメータメモリ307、予測画像生成部(予測画像生成装置)308、逆量子化・逆変換部311、及び加算部312、予測パラ
メータ導出部320を含んで構成される。なお、後述の動画像符号化装置11に合わせ、動画
像復号装置31にループフィルタ305が含まれない構成もある。
パラメータ復号部302は、さらに、ヘッダ復号部3020、CT情報復号部3021、及びCU復号
部3022(予測モード復号部)を備えており、CU復号部3022はさらにTU復号部3024を備えている。これらを総称して復号モジュールと呼んでもよい。ヘッダ復号部3020は、符号化データからVPS、SPS、PPS、APSなどのパラメータセット情報、スライスヘッダ(スライス情報)を復号する。CT情報復号部3021は、符号化データからCTを復号する。CU復号部3022は符号化データからCUを復号する。TU復号部3024は、TUに予測誤差が含まれている場合に、符号化データからQP更新情報(量子化補正値)と量子化予測誤差(residual_coding)を
復号する。
TU復号部3024は、スキップモード以外(skip_mode==0)の場合に、符号化データからQP更新情報と量子化予測誤差を復号する。より具体的には、TU復号部3024は、skip_mode==0の場合に、対象ブロックに量子化予測誤差が含まれているか否かを示すフラグcu_cbpを復号し、cu_cbpが1の場合に量子化予測誤差を復号する。cu_cbpが符号化データに存在しない
場合は0と導出する。
TU復号部3024は、符号化データから変換基底を示すインデックスmts_idxを復号する。
また、TU復号部3024は、符号化データからセカンダリ変換の利用及び変換基底を示すインデックスstIdxを復号する。stIdxは0の場合にセカンダリ変換の非適用を示し、1の場合にセカンダリ変換基底のセット(ペア)のうち一方の変換を示し、2の場合に上記ペアのう
ち他方の変換を示す。
予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部を含んで構成される。
予測パラメータ導出部320は、インター予測パラメータ導出部303及びイントラ予測パラメータ導出部を含んで構成される。
また、以降では処理の単位としてCTU、CUを使用した例を記載するが、この例に限らず
、サブCU単位で処理をしてもよい。あるいはCTU、CUをブロック、サブCUをサブブロック
と読み替え、ブロックあるいはサブブロック単位の処理としてもよい。
エントロピー復号部301は、外部から入力された符号化ストリームTeに対してエントロ
ピー復号を行って、個々の符号(シンタックス要素)を復号する。エントロピー符号化には、シンタックス要素の種類や周囲の状況に応じて適応的に選択したコンテキスト(確率モデル)を用いてシンタックス要素を可変長符号化する方式CABAC(Context Adaptive Binary Arithmetic Coding)と、あらかじめ定められた表、あるいは計算式を用いてシンタックス要素を可変長符号化する方式がある。
エントロピー復号部301は、復号した符号をパラメータ復号部302に出力する。復号した符号とは、例えば、予測モードpredMode、merge_flag、merge_idx、inter_pred_idc、refIdxLX、mvp_LX_idx、mvdLX、amvr_mode等である。どの符号を復号するかの制御は、パラメータ復号部302の指示に基づいて行われる。
(基本フロー)
図8は、動画像復号装置31の概略的動作を説明するフローチャートである。
(S1100:パラメータセット情報復号)ヘッダ復号部3020は、符号化データからVPS、SPS、PPSなどのパラメータセット情報を復号する。
(S1200:スライス情報復号)ヘッダ復号部3020は、符号化データからスライスヘッダ
(スライス情報)を復号する。
以下、動画像復号装置31は、対象ピクチャに含まれる各CTUについて、S1300からS5000
の処理を繰り返すことにより各CTUの復号画像を導出する。
(S1300:CTU情報復号)CT情報復号部3021は、符号化データからCTUを復号する。
(S1400:CT情報復号)CT情報復号部3021は、符号化データからCTを復号する。
(S1500:CU復号)CU復号部3022はS1510、S1520を実施して、符号化データからCUを復
号する。
(S1510:CU情報復号)CU復号部3022は、符号化データからCU情報、予測情報、TU分割
フラグsplit_transform_flag、CU残差フラグcbf_cb、cbf_cr、cbf_luma等を復号する。
(S1520:TU情報復号)TU復号部3024は、TUに予測誤差が含まれている場合に、符号化
データからQP更新情報と量子化予測誤差、変換インデックスmts_idxを復号する。なお、QP更新情報は、量子化パラメータQPの予測値である量子化パラメータ予測値qPpredからの
差分値である。
(S2000:予測画像生成)予測画像生成部308は、対象CUに含まれる各ブロックについて、予測情報に基づいて予測画像を生成する。
(S3000:逆量子化・逆変換)逆量子化・逆変換部311は、対象CUに含まれる各TUについて、逆量子化・逆変換処理を実行する。
(S4000:復号画像生成)加算部312は、予測画像生成部308より供給される予測画像と
、逆量子化・逆変換部311より供給される予測誤差とを加算することによって、対象CUの
復号画像を生成する。
(S5000:ループフィルタ)ループフィルタ305は、復号画像にデブロッキングフィルタ、SAO、ALFなどのループフィルタをかけ、復号画像を生成する。
(インター予測パラメータ導出部の構成)
インター予測パラメータ導出部303(図9)は、パラメータ復号部302から入力されたシ
ンタックス要素に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参
照してインター予測パラメータを導出する。また、インター予測パラメータをインター予測画像生成部309、予測パラメータメモリ307に出力する。インター予測パラメータ導出部303及びその内部の要素であるAMVP予測パラメータ導出部3032、マージ予測パラメータ導
出部3036、MV加算部3038は、動画像符号化装置、動画像復号装置で共通する手段であるので、これらを総称して動きベクトル導出部(動きベクトル導出装置)と称してもよい。
merge_flagが1、すなわち、マージ予測モードを示す場合、merge_idxを導出し、マー
ジ予測パラメータ導出部3036に出力する。
merge_flagが0、すなわち、AMVP予測モードを示す場合、AMVP予測パラメータ導出部3032はinter_pred_idc、refIdxLXかmvp_LX_idxからmvpLXを導出する。
(MV加算部)
MV加算部3038では導出されたmvpLXとmvdLXを加算し、mvLXを導出する。
(マージ予測)
図10(a)は、本実施形態に係るマージ予測パラメータ導出部3036の構成を示す概略図で
ある。マージ予測パラメータ導出部3036は、マージ候補導出部30361、マージ候補選択部30362、マージ候補格納部30363を備える。なお、マージ候補は、予測パラメータ(predFlagLX、mvLX、refIdxLX)を含んで構成され、マージ候補リストに格納される。マージ候補リストに格納されたマージ候補には、所定の規則に従ってインデックスが割り当てられる。
マージ候補導出部30361は、復号済の隣接ブロックの動きベクトルとrefIdxLXからマー
ジ候補を導出する。マージ候補導出部30361は、NASMVP(Non-adjacent spatial candidate
Motion Vector Prediction)マージ候補導出処理、空間マージ候補導出処理、時間マージ候補導出処理、ペアワイズマージ候補導出処理、およびゼロマージ候補導出処理を適用してもよい。マージ候補導出部30361は、NASMVPマージ候補導出部30366、空間マージ候補導出部30364、時間マージ候補導出部30365、ペアワイズマージ候補導出部30367、およびゼ
ロマージ候補導出部30368からなる。
NASMVPマージ候補導出部30366は、対象ブロックの非隣接ブロックの動き情報から予測
パラメータ(NASMVPマージ候補)を、導出する。
空間マージ候補導出部30364は、所定の規則に従って、予測パラメータメモリ307が記憶している予測パラメータを読み出し、マージ候補に設定する。マージ候補は、例えば、対象ブロックから予め定めた範囲内にある隣接ブロックのそれぞれに係る予測パラメータである。隣接ブロックは、例えば、対象ブロックの左A1、右B1、右上B0、左下A0、左上B2にそれぞれ接するブロックの全部または一部である。各々のマージ候補をA1,B1,B0,A0,B2と呼び、下記の座標を含むブロックから導出される予測パラメータである。図15(a)にA1,B1,B0,A0,B2の位置を示す。
A1: (xCb - 1, yCb + cbHeight - 1)
B1: (xCb + cbWidth - 1, yCb - 1)
B0: (xCb + cbWidth, yCb - 1)
A0: (xCb - 1, yCb + cbHeight)
B2: (xCb - 1, yCb - 1)
対象ブロックの左上座標を(xCb, yCb)、幅cbWidth、高さcbHeightとする。
時間マージ候補導出部30365は、参照画像において対象ブロックの右下ブロックC[0]、
あるいは、中央の座標を含むブロックC[1]の予測パラメータを、予測パラメータメモリ307から読み出して、マージ候補Colを導出する。ブロックC[0]、C[1]の一例を図15(b)に示す。
ペアワイズマージ候補導出部30367は、マージ候補リストに格納済みの2つのマージ候
補の平均からペアワイズマージ候補avgKを導出する。
ゼロマージ候補導出部30368は、refIdxLXが0…Mであり、mvLXのX成分、Y成分が共に0
であるゼロマージ候補Z0,…, ZMを導出する。
マージ候補格納部30363は、マージ候補導出部30361が導出したマージ候補を、マージ候補リスト(mergeCandList[])に格納する。
マージ候補格納部30363がマージ候補をmergeCandList[]に格納する順番は、例えば、空間マージ候補(A1,B1,B0,A0,B2)、時間マージ候補Col、NASMVPマージ候補NAS、ペアワイズマージ候補avgK、ゼロマージ候補ZKである。図14にマージ候補リストの一例を示す。なお、マージ候補Nの利用可能性を示すフラグavailableFlagNが1の場合のみ、マージ候補Nをマージ候補リストに格納する。availableFlagNが0の場合はマージ候補リストに格納しない。
i = 0
if(availableFlagA1)
mergeCandList[i++] = A1
if(availableFlagB1)
mergeCandList[i++] = B1
if(availableFlagB0)
mergeCandList[i++] = B0
if(availableFlagA0)
mergeCandList[i++] = A0
if(availableFlagB2)
mergeCandList[i++] = B2
if(availableFlagCol)
mergeCandList[i++] = Col
if(availableFlagNAS)
mergeCandList[i++] = NAS
if(availableFlagAvgK)
mergeCandList[i++] = avgK
if(i < MaxNumMergeCand)
mergeCandList[i++] = ZK
マージ候補選択部30362は、マージ候補リストに含まれるマージ候補のうち、merge_idxが示すマージ候補Nを以下の式で選択する。
N = mergeCandList[merge_idx]
ここでNは、マージ候補を示すラベルであり、NAS,A1,B1,B0,A0,B2,Col,avgK,ZKのいず
れかである。ラベルNで示されるマージ候補の予測パラメータは(mvLXN[0], mvLXN[1])
、predFlagLXN, refIdxLXNで示される。
マージ候補としてNASが選択された場合、対象ブロックから動きベクトルmvLXNASだけシフトした、参照ピクチャRefPicListX[refIdxLXNAS]上の画像を読み出し、予測画像とする。
マージ候補選択部30362は、選択したマージ候補のインター予測パラメータ((mvLXN[0], mvLXN[1])、predFlagLXN、refIdxLXN)を予測パラメータメモリ307に記憶するとともに、インター予測画像生成部309に出力する。
(参照ブロックの利用可能性判定)
(xNbY, yNbY)をブロックの左上座標とする隣接ブロック(参照ブロック)の対象ブロックに対する利用可能性availableNは、以下のように導出してもよい。以下のいずれかが真の場合には、availableNを偽とする。
・xNbY < 0
・yNbY < 0
・xNbY >= pps_pic_width_in_luma_samples
・yNbY >= pps_pic_height_in_luma_samples
・( xNbY>>CtbLog2SizeY) > (xCurr>>CtbLog2SizeY) and (yNbY>>CtbLog2SizeY) >= (yCurr>>CtbLog2SizeY)
・(yNbY>>CtbLog2SizeY) >= (yCurr>>CtbLog2SizeY)+1
・隣接ブロックが対象ブロックと異なるスライスに含まれている。
・隣接ブロックが対象ブロックと異なるタイルに含まれている。
・ウェーブフロントフラグ(エントロピー符号同期フラグ)sps_entropy_coding_sync_enabled_flagが1かつ(xNbY>>CtbLog2SizeY) >= (xCurr>>CtbLog2SizeY)+1.
それ以外の場合はavailableNを真とする。
上記判定の後、さらに以下の条件が全て真の場合は、availableNを偽とする。
・checkPredModeY == TRUE.
・CuPredMode[0][xNbY][yNbY] != CuPredMode[0][xCurr][yCurr]
ここでpps_pic_width_in_luma_samples、pps_pic_height_in_luma_samplesは画面サイズ
、CtbLog2SizeYはCTUサイズである。X座標、Y座標をCtbLog2SizeYだけ右シフト(>>)す
ることで、CTU単位のX座標, Y座標が得られる。CuPredModeは、予測モードを示し、MODE_INTRA、MODE_INTER、MODE_IBCのいずれかであってもよい。また、checkPredModeYは、インター予測や動きベクトル予測、マージ予測の場合に1、それ以外の場合に0とする。つまり、対象ブロックがインター予測ブロック(CuPredMode[0][xCurr][yCurr]==MODE_INTER)で、参照ブロックがイントラ予測ブロック(uPredMode[0][xNbY][yNbY]==MODE_INTRA)の場合には、availableNを偽とする。
本発明に係るNASMVPマージ候補の導出方法について説明する。
(NASMVPマージ候補導出)
(実施形態1:非隣接ブロックの方向によりグループ分け)
マージ候補導出部30361は、空間マージ候補導出部30364、時間マージ候補導出部30365
、NASMVPマージ候補導出部30366、ペアワイズマージ候補導出部30367、およびゼロマージ候補導出部30368からなる。
空間マージ候補導出部30364は、図15(a)に示す、対象ブロックの左下A0、左A1、左上B2、右上B0、上B1にそれぞれ接するブロックの予測パラメータを導出する。しかし、NASMVPマージ候補導出部30366は、sps_nasmvp_enabled_flagが1の場合、対象ブロックCurBLKの空間非隣接ブロックを用いて、対象ブロックのマージ候補を導出する。つまり、候補を対象ブロックからより離れた位置のブロックからサーチする。
ここで空間非隣接ブロックとは、対象ブロックの周囲に存在するブロックのうち対象ブロックに直接隣接しないブロックである。
対象ピクチャCurPicにおいて、図16は対象ブロックCurBLKの隣接ブロックと非隣接ブ
ロックの座標を示す別の図である。ここでbW、bHは対象ブロックの幅と高さ、(xPb,yPb)
は対象ブロックの左上座標である。隣接ブロックであるB2の座標は(xPb-1,yPb-1)、B0
の座標は(xPb+bW,yPb-1)、A0の座標は(xPb-1,yPb+bH)で表すことができる。非隣接ブロックの座標は以下の式で表すことができる。
{xPb + bW * i + (i < 2 ? - 1 : -bW), yPb + bH * j + (j < 2 ? - 1 : -bH)}、i = -1..3, j = -1..3,
ただし(i==1, j==1), i>1 && j>1を除く。
上記は、j = -1, 0, i = -1..3及びj = 1..3, i = -1, 0であるので、jとしてY座標が
小さいものから列挙すると、以下の座標の動きベクトルとも表現できる。
{xPb + bW * i + (i < 2 ? - 1 : -bW), xPb - bH - 1}、i = -1..3
{xPb + bW * i + (i < 2 ? - 1 : -bW), xPb - 1}、i = -1..3
{xPb + bW * i + (i < 2 ? - 1 : -bW), xPb + bH -1}、i = -1..3
{xPb + bW * i - 1, xPb + bH }、i = -1..0
{xPb + bW * i - 1, xPb + bH * 2 }、i = -1..0
また非隣接ブロックの位置は以下の何れかでもよい。
{xPb + bW * i, xPb - bH * i}、i = n
{xPb + (bW>>1), xPb - bH * i}、i = n
{xPb - bW * i, xPb - bH * i}、i = n
{xPb - bW * i, xPb + (bH>>1)}、i = n
{xPb - bW * i, xPb + bH * i}、i = n
{xPb + bW * i, xPb - 1}、i = n
{xPb - 1, xPb + bH * i}、i = n
{xPb + bW-1, xPb - bH * i}、i = n
{xPb - bW * i, xPb + bH-1}、i = n
以下に一例として、非隣接ブロックのグループ分けによるNASMVPマージ候補の導出方法を説明する。
NASMVPマージ候補導出部30366は、対象ブロックとの位置関係に応じて複数のグループ
に分けられたブロックを探索し、NASMVPマージ候補を導出する。NASMVPマージ候補導出部30366は各々のグループから、それぞれ一つの非隣接ブロックを導出し、マージ候補格納
部30363は、グループごとに1つのNASMVPマージ候補をマージ候補リストに格納する。
ステップ1)対象ブロックからの方向により非隣接ブロックをサーチ
NASMVPマージ候補導出部30366は、対象ブロックからの方向により非隣接ブロックを複数
のグループに分ける。このグループ毎に、NASMVPマージ候補の探索を行う。具体的には、非隣接ブロックを図17に示す5つのグループに分けてもよい。なお、グループの数は以下の方向や数に限定されずグループAとグループC、グループEだけとしてもよい
グループA(SearchGroupA)は対象ブロックの上方向非隣接ブロックを含む。
Aa: (xPb-1, yPb-bH-1)
Ab: (xPb+bW-1, yPb-bH-1)
グループB(SearchGroupB)は対象ブロックの右上方向非隣接ブロックを含む。
Ba: (xPb+bW*2, yPb-1)
Bb: (xPb+bW*2, yPb-bH-1)
グループC(SearchGroupC)は対象ブロックの左方向非隣接ブロックを含む。
Ca: (xPb-bW-1, yPb-1)
Cb: (xPb-bW-1, yPb+bH-1)
グループD(SearchGroupD)は対象ブロックの左下方向非隣接ブロックを含む
Da: (xPb-1, yPb+bH*2)
Db: (xPb-bW-1, yPb+bH*2)
グループE(SearchGroupE)は対象ブロックの左上方向非隣接ブロックを含む
Ea: (xPb-bW-1, yPb-bH-1)
Eb: (xPb-2*bW-1, yPb-2*bH-1)
以上は各グループから2個づつサーチする例である。
NASMVPマージ候補導出部30366による各グループでサーチするブロックは2個に限らず
、1~n個であってもいい。例えば、図17に示すグループから各々3個のブロックをサー
チする場合、グループA、BとC座標は以下である。
グループA(SearchGroupA)
Aa: (xPb-1, yPb-bH-1)
Ab: (xPb+bW-1, yPb-bH-1)
Ac: (xPb+bW, yPb-bH-1)
グループB(SearchGroupB)
Ba: (xPb+bW*2, yPb-1)
Bb: (xPb+bW*2, yPb-bH-1)
Bc: (xPb+bW*3, yPb-1)
グループC(SearchGroupC)
Ca: (xPb-bW-1, yPb-1)
Cb: (xPb-bW-1, yPb+bH-1)
Cc: (xPb-bW-1, yPb+bH)
他のグループ(D、E)も同様であり、記載を省略する。 NASMVPマージ候補導出部30366は
、前記AからEまでの五つのグループで利用可能なマージ候補を各々サーチする。あるグループで一つの利用可能な(available)候補が見つかった場合、そのグループでのサーチを停止し、次のグループをサーチする。つまり、NASMVPマージ候補導出部30366は各々の方向グループから、それぞれ一つの非隣接ブロックとその動き情報(マージ候補)を選択する。
プルーニング処理の処理例1:
上記ステップ1のサーチにより利用可能なマージ候補を見つけるときに、NASMVPマージ候補導出部30366は、ある条件を満たす場合プルーニング処理を行う。ある条件の例として
、あるグループのNASMVPマージ候補と、サーチ済の空間あるいは時間マージ候補の動き情報(動きベクトル、参照ピクチャ)が同一である場合が挙げられる。ここで、プルーニング処理とは、複数のマージ候補が同一の動き情報を持つ場合に、そのマージ候補の一方をマージ候補リストに含めないことである。これにより、同一の動き情報を持つマージ候補が複数、マージ候補リストに格納されることを防ぐことができ、符号化効率を高める効果がある。本実施形態のプルーニング処理は、五つの方向グループの各々と、空間あるいは時間マージ候補(A1,B1,B0,A0,Col)のうちの1つの同一性を比較する。従って、合計5
回のプルーニング処理をする。グループ単位でNASMVPマージ候補を求めるため、プルーニング処理の回数を制限することができる。これにより、処理量を抑えながら符号化効率を向上させることができる。なお、動き情報が同一である定義は、「動きベクトルが互いに一致する」ほか、「動きベクトルの差が所定の範囲以下」を用いてもよい。
プルーニング処理の処理例2:
NASMVPマージ候補導出部30366は、利用可能なマージ候補を見つけるとき、サーチ対象グ
ループの非隣接ブロックの動き情報が、マージ候補リストに格納された1つの空間マージ候補の動き情報と同一でない場合、当該非隣接ブロックをNASMVPマージ候補とする。そうでない場合、当該非隣接ブロックは利用可能ではないと判定する。そして、同じグループの次の非隣接ブロックの動き情報と当該空間マージ候補の動き情報の同一性を判定する。例えば、同一性を判定する空間マージ候補は、グループAでは上側空間マージ候補(B1)
、グループBでは右上空間マージ候補(B0)、グループCでは左側空間マージ候補(A1)であってもよい。また、グループDでは左下空間マージ候補(A0)、グループEでは左上空間マージ候補(B2)であってもよい。
例えば、NASMVPマージ候補導出部30366は以下の動作を行ってもよい。グループAでは、Aaが利用可能、かつ、AaとB1の動き情報が異なる場合、AaをNASMVPマージ候補とし、グループAの以降の処理を停止する。Aaが利用可能でないか、または、AaとB1の動き情報が同じ場合、Abをサーチする。Abが利用可能、かつ、AbとB1の動き情報が異なる場合、AbをNASMVPマージ候補とし、グループAの以降の処理を停止する。Abが利用可能でない、または、AbとB1の動き情報が同じ場合、Acをサーチする。Acが利用可能、かつ、AcとB1の動き情報が異なる場合、AcをNASMVPマージ候補とする。Acが利用可能でない、または、AcとB1の動き情報が同じ場合、グループAは利用可能ではないと判定する。
例えば、グループBでは、Baが利用可能で、かつ、BaとB0の動き情報が異なる場合、Ba
をNASMVPマージ候補とし、グループBの以降の処理を停止する。Baが利用可能でない、ま
たは、BaとB0の動き情報が同じ場合、Bbをサーチする。Bbが利用可能、かつ、BbとB0の動き情報が異なる場合、BbをNASMVPマージ候補としグループBの以降の処理を停止する。Bb
が利用可能でない、または、BbとB0の動き情報が同じ場合、グループBは利用可能ではな
いと判定する。
例えば、グループCでは、Caが利用可能、かつ、CaとA1の動き情報が異なる場合、CaをNASMVPマージ候補としグループCの以降の処理を停止する。Caが利用可能でない、または、CaとC0の動き情報が同じ場合、Cbをサーチする。Cbが利用可能、かつ、CbとA1の動き情報が異なる場合、CbをNASMVPマージ候補としグループCの以降の処理を停止する。Cbが利用可能でない、または、CbとC0の動き情報が同じ場合、Ccをサーチする。Ccが利用可能、かつ、CcとA1の動き情報が異なる場合、CcをNASMVPマージ候補とする。Ccが利用可能でない、または、CcとC0の動き情報が同じ場合、グループCは利用可能ではないと判定する。
例えば、グループDでは、Daが利用可能、かつ、DaとA0の動き情報が異なる場合、DaをNASMVPマージ候補としグループDの以降の処理を停止する。Daが利用可能でない、またはDaとA0の動き情報が同じ場合、Dbをサーチする。Dbが利用可能、かつ、BbとA0の動き情報が異なる場合、DbをNASMVPマージ候補としグループDの以降の処理を停止する。Dbが利用可能でない、または、DbとA0の動き情報が同じ場合、グループDは利用可能ではないと判定する。
例えば、グループEでは、Eaが利用可能、かつ、EaとB2の動き情報が異なる場合、EaをNASMVPマージ候補としグループEの以降の処理を停止する。Eaが利用可能でない、または、EaとB2の動き情報が同じ場合、Ebをサーチする。Ebが利用可能、かつ、EbとB2の動き情報が異なる場合、EbをNASMVPマージ候補としグループEの以降の処理を停止する。Ebが利用可能でない、または、EbとB2の動き情報が同じ場合、グループEは利用能ではないと判定する。
以上において、動き情報が同一とは、1)動きベクトルが同一かつ、参照ピクチャインデックスが同一、あるいは、2)2つのブロックの動きベクトルの絶対差分値が所定の値以下、かつ、参照ピクチャインデックスが同一、の場合が含まれてもよい。
本構成では、空間マージ候補と、非隣接ブロックが同じ、もしくは、よく似た動き情報を有する場合、プルーニングにより、非隣接ブロックの動き情報を用いない。従って、符号化効率が向上する。また、NASMVPマージ候補と特定の空間マージ候補の間でのみ、プルーニングを行うので、プルーニングの処理量を低減できる。
プルーニング処理の処理例3:
サーチ対象グループ(例えばB)の非隣接ブロックの動き情報が、サーチ済グループ(例
えばA)のNASMVPマージ候補の動き情報と同一でない場合、当該非隣接ブロックをそのグ
ループ(B)のNASMVPマージ候補とする。そうでない場合、サーチ対象グループの次の非
隣接ブロックをサーチする。本構成では、複数のNASMVPマージ候補も全て異なる動き情報をもつ。そのため、符号化効率が高いという効果を奏する。
ステップ2)マージ候補リスト格納
マージ候補格納部30363は、NASMVPマージ候補において、ステップ1のプルーニング処理
後のマージ候補をマージ候補リストmergeCandList[]に格納する。
例えばグループA,B,C,D,EのNASMVPマージ候補を各々NASA, NASB, NASC, NASD, NASE
とすると以下のようにマージ候補リストに格納することができる。
i = 0
if(availableFlagA1)
mergeCandList[i++] = A1
if(availableFlagB1)
mergeCandList[i++] = B1
if(availableFlagB0)
mergeCandList[i++] = B0
if(availableFlagA0)
mergeCandList[i++] = A0
if(availableFlagB2)
mergeCandList[i++] = B2
if(availableFlagCol)
mergeCandList[i++] = Col
if(availableFlagNASA)
mergeCandList[i++] = NASA
if(availableFlagNASB)
mergeCandList[i++] = NASB
if(availableFlagNASC)
mergeCandList[i++] = NASC
if(availableFlagNASD)
mergeCandList[i++] = NASD
if(availableFlagNASE)
mergeCandList[i++] = NASE
if(availableFlagAvgK)
mergeCandList[i++] = avgK
if(i < MaxNumMergeCand)
mergeCandList[i++] = ZK
マージ候補選択部30362はこのリストの中から、図10(a)のパラメータ復号制御部3031で導出したmerge_idxを用いて、対象ブロックのマージ候補mergeCandList[merge_idx]が選択
する。
ここでNASMVPマージ候補の動きベクトルをmvLXNASGP、参照ピクチャインデックスをRefIdxLXNASGP、参照ピクチャリストをRefLXNASGPとし、カウントcntを1インクリメントする。利用可能な非隣接ブロックがない場合、カウントcnt=0、mvLXNASGP=0とする。この処理は一例として下記の擬似コードで表現できる。
for GP in A, B, C, D, E // Group loop
for (j < 0; j < NumSearchGroupGP; j++)
xNb = SearchGroupGP[j][0]
yNb = SearchGroupGP[j][1]
if (availableFlagLXNASGP(xCurr,yCurr,xNb, yNb)==1) {
mvLXNASGP = mvLX[xNb][yNb];
refIdxLXNASGP = refIdxLX[xNb][yNb];
RefLXNASGP = RefPicListX[refIdxLXNAS];
break;
}
ここで、インター予測画像生成部309がマージ候補をNASとして利用する場合、つまりNASMVPマージ候補が選択された場合、参照ピクチャRefPicListX[refIdxLX]上のブロックを読み出し、補間により予測画像を生成する。当該ブロックは、対象ブロックからMvLXNASだけシフトした位置にある。
上記の構成によれば、対象ブロックの周囲からNASMVPマージ候補を導出する際に、グループ分けによりプルーニング処理回数を制限することで、処理量を制限しつつ高精度なマージ候補を導出することができる効果を奏する。
(実施形態2:非隣接ブロックとの距離によりグループ分け)
ステップ1)実施携帯2では、非隣接ブロックを方向ではなく、対象ブロックからの距離によりグループ分けする例を説明する。つまり、NASMVPマージ候補導出部30366は、距
離グループごとにNASMVPマージ候補を探索する。一例として図18に示す、距離1グループと距離2グループに分ける。ここで、bW、bHは対象ブロックの幅と高さ、対象ブロックの左上座標を(xPb,yPb)と表すと、グループ分けは以下の式で表される。
{xPb + bW * i + (i < 2 ? - 1 : -bW), yPb + bH * j + (j < 2 ? - 1 : -bH)}、i = -1..3, j = -1..2,
具体的に以下の座標で表される。
距離1グループ(SearchGroupDisn)
{xPb + bW * i, xPb - bH * i}、i = 1
{xPb + (bW>>1), xPb - bH * i}、i = 1
{xPb - bW * i, xPb - bH * i}、i = 1
{xPb - bW * i, xPb + (bH>>1)}、i = 1
{xPb - bW * i, xPb + bH * i}、i = 1
距離2グループ(SearchGroupDis2)
{xPb + bW * i, xPb - bH * i}、i = 2
{xPb + (bW>>1), xPb - bH * i}、i = 2
{xPb - bW * i, xPb - bH * i}、i = 2
{xPb - bW * i, xPb + (bH>>1)}、i = 2
{xPb - bW * i, xPb + bH * i}、i = 2
以上が距離グループSearchGroupDisを2までサーチする例であるが、NASMVPマージ候補導出部30366の用いる距離グループの数は2に限らない。例えば、対象ブロックの属するCTU範囲内であればn倍(たとえばn=1,2,3,4,5..)までサーチしてもいい。
距離nグループ(SearchGroupDisn)
{xPb + bW * i, xPb - bH * i}、i = n
{xPb + (bW>>1), xPb - bH * i}、i = n
{xPb - bW * i, xPb - bH * i}、i = n
{xPb - bW * i, xPb + (bH>>1)}、i = n
{xPb - bW * i, xPb + bH * i}、i = n
また上記は、右上、上、左上、左、左下を参照する例であるが、NASMVPマージ候補導出部30366は、別の位置を参照してもよい。例えば、右上の-bH*iの代わりに-1、左下のbW*iの代わりに-1を用いてもよい。
距離nグループ(SearchGroupDisn)
{xPb + bW * i, xPb - 1}、i = n
{xPb + (bW>>1), xPb - bH * i}、i = n
{xPb - bW * i, xPb - bH * i}、i = n
{xPb - bW * i, xPb + (bH>>1)}、i = n
{xPb - 1, xPb + bH * i}、i = n
NASMVPマージ候補導出部30366は、別の参照位置を用いてもよい。例えば、bw>>1の代わりにbw-1、bH>>1の代わりにbH-1を用いてもよい。
距離nグループ(SearchGroupDisn)
{xPb + bW * i, xPb - 1}、i = n
{xPb + bW-1, xPb - bH * i}、i = n
{xPb - bW * i, xPb - bH * i}、i = n
{xPb - bW * i, xPb + bH-1}、i = n
{xPb - 1, xPb + bH * i}、i = n
ステップ2)、および、ステップ3)
本実施形態のステップ2とステップ3は、実施形態1のステップ2とステップ3と同じである、つまり、プルーニング処理の処理例1に示すように、距離グループ単位でNASMVPマージ候補を探索する場合も、NASMVPマージ候補のプルーニングを行ってもよい。また、プルーニング処理の処理例2に示すように距離グループ単位で特定の空間マージ候補との
プルーニングを行ってもよい。
また、プルーニング処理の処理例3に示したように、距離グループでも、距離グループ間で、プルーニングを行ってもよい。
上記の構成によれば、対象ブロックの周囲にNASMVPマージ候補を導出する際に、グループ分けによりプルーニング処理回数を制限することで、処理量を制限しつつ、高精度なマージ候補を導出することができるという効果を奏する。
(実施形態3:方向の選択)
実施形態3は、実施形態1の変形である。例えば、図17に示す方向グループAとBは所定の条件により選択したグループをサーチする。同じく、方向グループCとDも所定の条件により選択したグループをサーチする。選択条件の例として、例えば対象ブロックの幅と高さであるbW、bHの比でサーチするグループを切り替えてもよい。
一例として下記の擬似コードで表現できる。
mvNAS = 0; cnt = 0; NumSearchNAS = 3;
for (i=0; i<NumSearchNAS; i++) {
switch(NumSearchNAS) {
case 0: blkNAS = bW / bH > 2 ? SearchGroupA : SearchGroupB; break;
case 1: blkNAS = bH / bW > 2 ? SearchGroupC : SearchGroupD; break;
case 2: blkNAS = SearchGroupE; break;
}
if (availableFlag[blkNAS]==1) {
mvNAS = mvLX[xNb[blkNAS]][yNb[blkNAS]];
refIdxNAS = refIdxLX[xNb[blkNAS]][yNb[blkNAS]];
RefNAS = RefPicListX[refIdxNAS];
cnt++;
break;
}
上記の構成によれば、対象ブロックの周囲からNASMVPマージ候補を導出する際に、処理量を制限しつつ、適応的にサーチパターンを変えることができる。これにより高精度なマージ候補を導出することができるという効果を奏する。
(実施形態4:ブロックサイズ制限)
実施形態4では、実施形態1~3のNASMVPマージ候補をマージ候補リストに格納する時の
制限条件を説明する。
マージ候補格納部30363はマージ候補をmergeCandList[]に格納するとき、対象ブロックのサイズが所定のサイズ以下であればNASMVPマージ候補NASを格納し、そうでなければ格
納しない構成であってもよい。具体的には、対象ブロックの幅と高さが所定サイズn(bW > n && bH > n)に超えた場合にNASMVPをマージ候補リストに格納しない。ここで、n=32,
16, 8..などの定数である。NASMVP候補をサーチするときの参照ブロックの利用可能性判定条件を以下に示す。
隣接ブロックの対象ブロックに対する利用可能性availableFlagNは、以下のように導出してもよい。
以下の条件が真の場合には、NASMVP候補のavailableFlagNを偽とする。
・bW > n && bH > n
ここで、bW、bHは対象ブロックのサイズ、n = 8, 16, 32...である。
マージ候補Nの利用可能性を示すフラグavailableFlagNが1の場合のみ、マージ候補Nをマージ候補リストに格納する。availableFlagNが0の場合、マージ候補リストに格納しない。
i = 0
if(availableFlagA1)
mergeCandList[i++] = A1
if(availableFlagB1)
mergeCandList[i++] = B1
if(availableFlagB0)
mergeCandList[i++] = B0
if(availableFlagA0)
mergeCandList[i++] = A0
if(availableFlagB2)
mergeCandList[i++] = B2
if(availableFlagCol)
mergeCandList[i++] = Col
if(availableFlagNA)
mergeCandList[i++] = NAS
if(availableFlagAvgK)
mergeCandList[i++] = avgK
if(i < MaxNumMergeCand)
mergeCandList[i++] = ZK
上記の構成によれば、対象ブロックの周囲からNASMVPマージ候補を導出する際に、対象ブロックのサイズによって非隣接ブロックのサーチを制限する。これにより、CTUの距離
をはるかに上回る非隣接ブロックのサーチが制限され、メモリを削減する効果を奏する。
(実施形態5:CTUの右下から取るコロケート)
実施形態5は、時間マージ候補において非隣接ブロックを利用する構成である。ここで、先に一般的な時間マージ候補導出処理を説明する。
時間マージ候補導出部30365は、図15(b)に示すように、ブロックC[0]およびC[1]の予測パラメータを予測パラメータメモリ307から読み出してマージ候補とし、マージ候補リス
トmergeCandList[]に格納する。コロケートブロックはコロケートピクチャ上で対象ブロ
ックと同じ位置のブロックである。ブロックC[0]、c[1]はコロケートピクチャ上でコロケートブロックの右下位置(Br)、あるいは、中央位置(Ctr)を含むブロックである。一般にブロックC[0]を優先してマージ候補リストmergeCandList[]に加える。ブロックC[0]が動きベクトルを持たない(例えばイントラ予測ブロック)場合や、ブロックC[0]がピクチャ外に位置する場合は、ブロックC[1]の動きベクトルをマージ候補リストに加える。
例えば時間マージ候補導出部30365は、ブロックC[1]の位置(xColCtr,yColCtr)とブロックC[0]の位置(xColBr、yColBr)を、以下の式で導出してもよい。
xColCtr = xPb+(bW>>1)
yColCtr = yPb+(bH>>1)
xColBr = xPb+bW
yColBr = yPb+bH
さらに、CtrのBrのブロックの座標としては下位ビット(例えば下位3bit)を無視した
粗い単位で参照してもよい。参照は以下のようにシフトを用いて実現してもよいし、3ビ
ット目以上の値を直接参照してもよい。
((xColCtr>>3)<<3, (yColCtr>>3)<<3)
((xColBr>>3)<<3, (yColBr>>3)<<3)
ここで、(xPb,yPb)は対象ブロックの左上座標、(bW,bH)は対象ブロックの幅と高さである。ブロックC[0]が利用可能であればブロックC[0]の動き情報を利用してマージ候補Colを導出する。ブロックC[0]が利用可能でなければブロックC[1]を使用してマージ候補Colを導出する。利用可能なマージ候補を見つかった場合、マージ候補Colをマージ候補リストに格納する。
i = 0
if(availableFlagA1)
mergeCandList[i++] = A1
if(availableFlagB1)
mergeCandList[i++] = B1
if(availableFlagB0)
mergeCandList[i++] = B0
if(availableFlagA0)
mergeCandList[i++] = A0
if(availableFlagB2)
mergeCandList[i++] = B2
if(availableFlagCol)
mergeCandList[i++] = Col
if(availableFlagNAS)
mergeCandList[i++] = NAS
if(availableFlagAvgK)
mergeCandList[i++] = avgK
if(i < MaxNumMergeCand)
mergeCandList[i++] = ZK
別の例として、時間マージ候補になりうる対象ブロックの右下位置、中心位置はC[0]、C[1]に限らず、コロケートブロックの位置から離れた非隣接ブロックを用いても良い。例えば、コロケートブロックを含むCTUの右下位置CTUBrと、CTUの中央位置CTUCtrを用いて
もよい。これらを非隣接時間的マージ候補と称す。
この場合、図10(a)に示すマージ候補導出部30361は、NASMVPマージ候補導出部30366に
代えて、非隣接時間マージ候補導出部30369を備える。あるいは、非隣接時間マージ候補
導出部30369とNASMVPマージ候補導出部30366は同時に存在してもよい。
非隣接時間マージ候補導出部30369は、コロケートブロックを含むCTUにおいて右下位置、次いで中央位置をサーチする(図19のC[2]、C[3])。利用可能なブロックが存在する場合、そのブロックを非隣接時間マージ候補NASColに設定する。
例えば、非隣接時間マージ候補導出部30369は、コロケートブロックを含むCTUの右下位置c[2]の座標(xCTUBr、yCTUBr)、該CTUの中心位置c[3]の座標(xCTUCtr、yCTUCtr)から非
隣接時間マージ候補NASColを導出する。
これらの座標は以下の式で導出してもよい。(xPCTU,yPCTU)はコロケートブロックを含
むCTUの左上座標、(wCTU,hCTU)は当該CTUの幅と高さである。
xCTUCtr = xPCTU+(wCTU>>1)
yCTUCtr = yPCTU+(hCTU>>1)
xCTUBr = xPCTU+wCTU-1
yCTUBr = yPCTU+hCTU-1
ここでxPCTU, yPCTUは、CTUのサイズの2の対数表現から以下で導出してもよい。
xPCTU = (xPb >> CtbLog2SizeY)<< CtbLog2SizeY
yPCTU = (yPb >> CtbLog2SizeY)<< CtbLog2SizeY
また、以下のように下位ビットを0とすることで導出してもよい。
xPCTU = (xPb & ~(1<<CtbLog2SizeY-1)
yPCTI = (yPb & ~(1<<CtbLog2SizeY-1)
ここで"~"は、ビット単位で0を1、1を0に変換するビット否定である。CTUサイズの幅、高さは同じ値CtbSizeYであってもよい。
wCTU = hCTU = CtbSizeY
また、非隣接時間マージ候補の位置は中心、右下に限定されず、右上CTBB1、左下CTBA1、上CTBB0、左CTBA0、左上CTBB2を含むブロックを用いて、非隣接時間マージ候補を導出してもよい。
(xCTUB1, xCTUB1) = (xPCTU+wCTU-1, yPCTU-1)
(xCTUA1, yCTUA1) = (xPCTU-1, yPCTU+hCTU-1)
(xCTUB0, yCTUB0) = (xPCTU+wCTU, yPCTU-1)
(xCTUA0, yCTUA0) = (xPCTU-1, yPCTU+hCTU)
(xCTUB2, yCTUB2) = (xPCTU-1, yPCTU-1)
また、右CTBR、下CTBBを含むブロック用いて、非隣接時間マージ候補を導出してもよい。
(xCTUR, yCTUR) = (xPCTU+wCTU, yPCTU+(hCTU>>1))
(xCTUB, yCTUB) = (xPCTU+(wCTU)>>1, yPCTU+hCTU)
利用可能な時間マージ候補が見つかった場合、マージ候補格納部30363は、非隣接時間
マージ候補NASColを含むマージ候補をmergeCandList[]に格納する。例えば、空間マージ
候補(A1,B1,B0,A0,B2)、時間マージ候補Col、非隣接時間マージ候補NASCol、ペアワイズ
マージ候補avgK、ゼロマージ候補ZKである。
i = 0
if(availableFlagA1)
mergeCandList[i++] = A1
if(availableFlagB1)
mergeCandList[i++] = B1
if(availableFlagB0)
mergeCandList[i++] = B0
if(availableFlagA0)
mergeCandList[i++] = A0
if(availableFlagB2)
mergeCandList[i++] = B2
if(availableFlagCol)
mergeCandList[i++] = Col
if(availableFlagNASCol)
mergeCandList[i++] = NASCol
if(availableFlagAvgK)
mergeCandList[i++] = avgK
if(i < MaxNumMergeCand)
mergeCandList[i++] = ZK
上記の構成によれば、空間マージ候補だけでなく時間マージ候補においても、対象ブロ
ックの隣接位置に加えて、非隣接位置を加える。これにより動きの異なる可能性が高いコロケートブロックの動きベクトルを予測候補として加えることができる。従って、予測ベクトルの選択肢が増え、符号化効率が高まる。また、非隣接位置として、コロケートブロックを含むCTUの左上座標に対する相対位置を用いることにより、CTU単位で非隣接位置を固定することができる。これにより、非隣接位置を参照することによる複雑度増加を最小限とすることができる。
(AMVP予測)
図10(b)は、本実施形態に係るAMVP予測パラメータ導出部3032の構成を示す概略図であ
る。AMVP予測パラメータ導出部3032は、ベクトル候補導出部3033、ベクトル候補参照部30331、NNMVPベクトル候補導出部30332とベクトル候補選択部3034、ベクトル候補格納部3035を備える。
ベクトル候補選択部3034は、mvpListLX[]の予測ベクトル候補のうち、予測ベクトルイ
ンデックスmvp_LX_idxが示す動きベクトルmvpListLX[mvp_LX_idx]を予測ベクトルmvpLXとして選択する。ベクトル候補選択部3034は選択した予測ベクトルmvpLXを加算部3038に出
力する。
(MV加算部)
加算部3038は、AMVP予測パラメータ導出部3032から入力された予測ベクトルmvpLXとパ
ラメータ復号制御部3031から入力された差分ベクトルmvdLXを加算して動きベクトルmvLX
を算出する。加算部3038は、算出した動きベクトルmvLXを予測画像生成部309および予測
パラメータメモリ307に出力する。
mvLX[0] = mvpLX[0] + mvdLX[0]
mvLX[1] = mvpLX[1] + mvdLX[1]
(動きベクトルの精度)
amvr_modeは、AMVPモードで導出される動きベクトルの精度を切り替えるシンタックス
要素である、例えば、amvr_mode=0, 1, 2において、1/4画素、1画素、4画素精度を切り替える。amvr_modeの代わりに、1/4であるかのフラグamvr_flagと、1/16と1を切り替えるフラグamvr_precision_flagを用いても良い。
動きベクトルの精度を1/16精度とする場合、1/4, 1, 4画素精度の動きベクトル差分を1/16画素精度の動きベクトル差分に変更するために下記のように、amvr_modeから導出されるMvShift (=1<<amvr_mode =(amvr_flag+amvr_precision_flag)<<1)を用いて逆量子化してもよい。
MvdLX[0] = MvdLX[0] << (MvShift + 2)
MvdLX[1] = MvdLX[1] << (MvShift + 2)
同様に、affine_flagが1の場合には、以下の式で導出される。
MvShift = amvr_precision_flag ? (amvr_precision_flag<<1):(-(amvr_flag<<1)))
MvdCpLX[cpIdx][0] = MvdLX[cpIdx][0] << (MvShift + 2)
MvdCpLX[cpIdx][1] = MvdLX[cpIdx][1] << (MvShift + 2)
なお、さらにパラメータ復号部302は、上記MvShiftでシフトする前のmvdLX[]を、以下の
シンタックス要素を復号して導出してもよい。
・abs_mvd_greater0_flag
・abs_mvd_minus2
・mvd_sign_flag
そして、パラメータ復号部302は、以下の式を用いることによって、シンタックス要素か
ら差分ベクトルlMvd[]を復号する。
lMvd[compIdx] = abs_mvd_greater0_flag[compIdx] * (abs_mvd_minus2[compIdx]+2) *
(1-2*mvd_sign_flag[compIdx])
さらにlMvd[]は、並進MVDの場合(MotionModelIdc==0)にはMvdLXに設定され、制御点MVDの場合(MotionModelIdc!=0)には、MvdCpLXに設定される。
if (MotionModelIdc == 0)
MvdLX[compIdx] = lMvd[compIdx]
else
MvdCpLX[cpIdx][compIdx] = lMvd[cpIdx][compIdx]
ここでcompIdx = 0, 1、cpIdx = 0, 1, 2である。
(イントラ予測パラメータ導出部の構成)
イントラ予測パラメータ導出部は、パラメータ復号部302からの入力に基づいて、予測
パラメータメモリ307に記憶された予測パラメータを参照してイントラ予測パラメータ、
例えば、イントラ予測モードIntraPredModeを導出する。イントラ予測パラメータ導出部
は、イントラ予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。イントラ予測パラメータ導出部は、輝度と色差で異なるイントラ予測モードを導出しても良い。
ループフィルタ305は、符号化ループ内に設けたフィルタで、ブロック歪やリンギング
歪を除去し、画質を改善するフィルタである。ループフィルタ305は、加算部312が生成したCUの復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット(SAO)、適
応ループフィルタ(ALF)等のフィルタを施す。
参照ピクチャメモリ306は、CUの復号画像を、対象ピクチャ及び対象CU毎に予め定めた
位置に記憶する。
予測パラメータメモリ307は、CTUあるいはCU毎に予め定めた位置に予測パラメータを記憶する。具体的には、予測パラメータメモリ307は、パラメータ復号部302が復号したパラメータ及び予測パラメータ導出部320が導出したパラメータ等を記憶する。
予測画像生成部308には予測パラメータ導出部320が導出したパラメータが入力される。また、予測画像生成部308は、参照ピクチャメモリ306から参照ピクチャを読み出す。予測画像生成部308は、predModeが示す予測モードで、パラメータと参照ピクチャ(参照ピク
チャブロック)を用いてブロックもしくはサブブロックの予測画像を生成する。ここで、参照ピクチャブロックとは、参照ピクチャ上の画素の集合(通常矩形であるのでブロックと呼ぶ)であり、予測画像を生成するために参照する領域である。
(インター予測画像生成部309)
predModeがインター予測モードを示す場合、インター予測画像生成部309は、インター
予測パラメータ導出部303から入力されたインター予測パラメータと参照ピクチャを用い
てインター予測によりブロックもしくはサブブロックの予測画像を生成する。
図11は、本実施形態に係る予測画像生成部308に含まれるインター予測画像生成部309の構成を示す概略図である。インター予測画像生成部309は、動き補償部(予測画像生成装
置)3091、合成部3095を含んで構成される。合成部3095は、重み予測部3094を含んで構成される。
(動き補償)
動き補償部3091(補間画像生成部3091)は、インター予測パラメータ導出部303から入
力された、インター予測パラメータ(predFlagLX、refIdxLX、mvLX)に基づいて、参照ピクチャメモリ306から参照ブロックを読み出すことによって補間画像(動き補償画像)を
生成する。参照ブロックは、refIdxLXで指定された参照ピクチャRefPicLX上で、対象ブロックの位置からmvLXシフトした位置のブロックである。ここで、mvLXが整数精度でない場合には、動き補償フィルタと呼ばれる小数位置の画素を生成するためのフィルタを施して、補間画像を生成する。
動き補償部3091は、まず、予測ブロック内座標(x,y)に対応する整数位置(xInt,yInt)および位相(xFrac,yFrac)を以下の式で導出する。
xInt = xPb+(mvLX[0]>>(log2(MVPREC)))+x
xFrac = mvLX[0]&(MVPREC-1)
yInt = yPb+(mvLX[1]>>(log2(MVPREC)))+y
yFrac = mvLX[1]&(MVPREC-1)
ここで、(xPb,yPb)は、bW*bHサイズのブロックの左上座標、x=0…bW-1、y=0…bH-1であり、MVPRECは、mvLXの精度(1/MVPREC画素精度)を示す。例えばMVPREC=16である。
動き補償部3091は、参照ピクチャrefImgに補間フィルタを用いて水平補間処理を行うことで、一時的画像temp[][]を導出する。以下のΣはk=0..NTAP-1のkに関する和、shift1は値のレンジを調整する正規化パラメータ、offset1=1<<(shift1-1)である。
temp[x][y] = (ΣmcFilter[xFrac][k]*refImg[xInt+k-NTAP/2+1][yInt]+offset1)>>shift1
続いて、動き補償部3091は、一時的画像temp[][]を垂直補間処理により、補間画像Pred[][]を導出する。以下のΣはk=0..NTAP-1のkに関する和、shift2は値のレンジを調整する正規化パラメータ、offset2=1<<(shift2-1)である。
Pred[x][y] = (ΣmcFilter[yFrac][k]*temp[x][y+k-NTAP/2+1]+offset2)>>shift2
なお、双予測の場合、上記のPred[][]をL0リスト、L1リスト毎に導出し(補間画像PredL0[][]とPredL1[][]と呼ぶ)、PredL0[][]とPredL1[][]から補間画像Pred[][]を生成する。
合成部3095は重み予測部3094を備えている。
(重み予測)
重み予測部3094は、補間画像PredLXに重み係数を乗算することによりブロックの予測画像を生成する。予測リスト利用フラグの一方(predFlagL0もしくはpredFlagL1)が1(単予測)、かつ、重み予測を用いない場合、PredLX(LXはL0もしくはL1)を画素ビット数bitDepthに合わせる以下の式の処理を行う。
Pred[x][y] = Clip3(0,(1<<bitDepth)-1,(PredLX[x][y]+offset1)>>shift1)
ここで、shift1=14-bitDepth、offset1=1<<(shift1-1)である。
また、予測リスト利用フラグの両者(predFlagL0とpredFlagL1)が1(双予測PRED_BI)
、かつ、重み予測を用いない場合、PredL0、PredL1を平均し画素ビット数に合わせる以下の式の処理を行う。
Pred[x][y] = Clip3(0,(1<<bitDepth)-1,(PredL0[x][y]+PredL1[x][y]+offset2)>>shift2)
ここで、shift2=15-bitDepth、offset2=1<<(shift2-1)である。
さらに、単予測、かつ、重み予測を行う場合、重み予測部3094は重み予測係数w0とオフセットo0を符号化データから導出し、以下の式の処理を行う。
Pred[x][y] = Clip3(0,(1<<bitDepth)-1,((PredLX[x][y]*w0+2^(log2WD-1))>>log2WD)+o0)
ここで、log2WDは所定のシフト量を示す変数である。
さらに、双予測PRED_BI、かつ、重み予測を行う場合、重み予測部3094は重み予測係数w0、w1、o0、o1を符号化データから導出し、以下の式の処理を行う。
Pred[x][y] = Clip3(0,(1<<bitDepth)-1,(PredL0[x][y]*w0+PredL1[x][y]*w1+((o0+o1+1)<<log2WD))>>(log2WD+1))
インター予測画像生成部309は生成したブロックの予測画像を加算部312に出力する。
(イントラ予測画像生成部)
predModeがイントラ予測モードを示す場合、イントラ予測画像生成部は、イントラ予測パラメータ導出部から入力されたイントラ予測パラメータと参照ピクチャメモリ306から
読み出した参照画素を用いてイントラ予測を行う。
逆量子化・逆変換部311は、パラメータ復号部302から入力された量子化変換係数を逆量子化して変換係数を求める。
加算部312は、予測画像生成部308から入力されたブロックの予測画像と逆量子化・逆変換部311から入力された予測誤差を画素毎に加算して、ブロックの復号画像を生成する。
加算部312はブロックの復号画像を参照ピクチャメモリ306に記憶し、また、ループフィルタ305に出力する。
(動画像符号化装置の構成)
次に、本実施形態に係る動画像符号化装置11の構成について説明する。図12は、本実施形態に係る動画像符号化装置11の構成を示すブロック図である。動画像符号化装置11は、予測画像生成部101、減算部102、変換・量子化部103、逆量子化・逆変換部105、加算部106、ループフィルタ107、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、パラメータ符号化部111、予測パラメータ導出部120、エントロピー符号化部104を含んで構成される。
予測画像生成部101はCU毎に予測画像を生成する。予測画像生成部101は既に説明したインター予測画像生成部309とイントラ予測画像生成部を含んでおり、説明を省略する。
減算部102は、予測画像生成部101から入力されたブロックの予測画像の画素値を、画像Tの画素値から減算して予測誤差を生成する。減算部102は予測誤差を変換・量子化部103に出力する。
変換・量子化部103は、減算部102から入力された予測誤差に対し、周波数変換によって変換係数を算出し、量子化によって量子化変換係数を導出する。変換・量子化部103は、
量子化変換係数をパラメータ符号化部111及び逆量子化・逆変換部105に出力する。
逆量子化・逆変換部105は、動画像復号装置31における逆量子化・逆変換部311(図7)
と同じであり、説明を省略する。算出した予測誤差は加算部106に出力される。
パラメータ符号化部111は、ヘッダ符号化部1110、CT情報符号化部1111、CU符号化部1112(予測モード符号化部)を備えている。CU符号化部1112はさらにTU符号化部1114を備えている。以下、各モジュールの概略動作を説明する。
ヘッダ符号化部1110はヘッダ情報、分割情報、予測情報、量子化変換係数等のパラメータの符号化処理を行う。
CT情報符号化部1111は、QT、MT(BT、TT)分割情報等を符号化する。
CU符号化部1112はCU情報、予測情報、分割情報等を符号化する。
TU符号化部1114は、TUに予測誤差が含まれている場合に、QP更新情報と量子化予測誤差を符号化する。
CT情報符号化部1111、CU符号化部1112は、インター予測パラメータ(predMode、merge_flag、merge_idx、inter_pred_idc、refIdxLX、mvp_LX_idx、mvdLX)、イントラ予測パラメータ(intra_luma_mpm_flag、intra_luma_mpm_idx、intra_luma_mpm_reminder、intra_chroma_pred_mode)、量子化変換係数等のシンタックス要素をパラメータ符号化部111に供給する。
エントロピー符号化部104には、パラメータ符号化部111から量子化変換係数と符号化パラメータ(分割情報、予測パラメータ)が入力される。エントロピー符号化部104はこれ
らをエントロピー符号化して符号化ストリームTeを生成し、出力する。
予測パラメータ導出部120は、インター予測パラメータ符号化部112、イントラ予測パラメータ符号化部を含む手段であり、符号化パラメータ決定部110から入力されたパラメー
タからイントラ予測パラメータ及びイントラ予測パラメータを導出する。導出されたイントラ予測パラメータ及びイントラ予測パラメータは、パラメータ符号化部111に出力され
る。
(インター予測パラメータ符号化部の構成)
本発明の一態様に係るマージ候補導出部は、上述のNASMVPマージ候補導出部を備え、SPSで通知されるsps_nnmvp_enabled_flagが1に設定される場合、NASMVPマージ候補導出部を用いて、マージ候補を導出する。sps_nnmvp_enabled_flagはNASMVPモードを利用するか否かを示すフラグである。
インター予測パラメータ符号化部112は図13に示すように、パラメータ符号化制御部1121、インター予測パラメータ導出部303を含んで構成される。インター予測パラメータ導出部303は動画像復号装置と共通の構成である。パラメータ符号化制御部1121は、マージインデックス導出部11211とベクトル候補インデックス導出部11212を含む。
マージインデックス導出部11211は、マージ候補等を導出し、インター予測パラメータ
導出部303に出力する。ベクトル候補インデックス導出部11212は予測ベクトル候補等を導出し、インター予測パラメータ導出部303とパラメータ符号化部111に出力する。
(イントラ予測パラメータ符号化部の構成)
イントラ予測パラメータ符号化部は、パラメータ符号化制御部とイントラ予測パラメータ導出部を備える。イントラ予測パラメータ導出部は動画像復号装置と共通の構成である。
ただし、動画像復号装置と異なり、インター予測パラメータ導出部303、イントラ予測
パラメータ導出部への入力は符号化パラメータ決定部110、予測パラメータメモリ108であり、パラメータ符号化部111に出力する。
加算部106は、予測画像生成部101から入力された予測ブロックの画素値と逆量子化・逆変換部105から入力された予測誤差を画素毎に加算して復号画像を生成する。加算部106は生成した復号画像を参照ピクチャメモリ109に記憶する。
ループフィルタ107は加算部106が生成した復号画像に対し、デブロッキングフィルタ、SAO、ALFを施す。なお、ループフィルタ107は、必ずしも上記3種類のフィルタを含まな
くてもよく、例えばデブロッキングフィルタのみの構成であってもよい。
予測パラメータメモリ108は、符号化パラメータ決定部110が生成した予測パラメータを、対象ピクチャ及びCU毎に予め定めた位置に記憶する。
参照ピクチャメモリ109は、ループフィルタ107が生成した復号画像を対象ピクチャ及びCU毎に予め定めた位置に記憶する。
符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、1つのセッ
トを選択する。符号化パラメータとは、上述したQT、BTあるいはTT分割情報、予測パラメータ、あるいはこれらに関連して生成される符号化の対象となるパラメータである。予測画像生成部101は、これらの符号化パラメータを用いて予測画像を生成する。
符号化パラメータ決定部110は、複数のセットの各々について情報量の大きさと符号化
誤差を示すRDコスト値を算出する。RDコスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームTeの情報量である。二乗誤差は、減算部102において算出
された予測誤差の二乗和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部110は、算出したコスト値が最小となる符号化パラメータのセットを選択する。符号化パラメータ決定部110は決定した符号化パラメータをパラメータ符号化部111と予測パラメータ導出部120に出力する。
なお、上述した実施形態における動画像符号化装置11、動画像復号装置31の一部、例えば、エントロピー復号部301、パラメータ復号部302、ループフィルタ305、予測画像生成
部308、逆量子化・逆変換部311、加算部312、予測パラメータ導出部320、予測画像生成部101、減算部102、変換・量子化部103、エントロピー符号化部104、逆量子化・逆変換部105、ループフィルタ107、符号化パラメータ決定部110、パラメータ符号化部111、予測パラメータ導出部120をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、動画像符号化装置11、動画像復号装置31のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
また、上述した実施形態における動画像符号化装置11、動画像復号装置31の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。動画像符号化装置11、動画像復号装置31の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
〔応用例〕
上述した動画像符号化装置11及び動画像復号装置31は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
まず、上述した動画像符号化装置11及び動画像復号装置31を、動画像の送信及び受信に利用できることを、図2を参照して説明する。
図2(a)は、動画像符号化装置11を搭載した送信装置PROD_Aの構成を示したブロック図である。図に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した動画像符号化装置11は、この符号化部PROD_A1として利用される。
送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像
するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部A7を更に備えていて
もよい。図においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよい
し、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(
不図示)を介在させるとよい。
図2(b)は、動画像復号装置31を搭載した受信装置PROD_Bの構成を示したブロック図である。図に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と
、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した動画像復号装置31は、この復号部PROD_B3として利用される
受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示す
るディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図においては、これら全て
を受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであって
もよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から
取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。
また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線または有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
次に、上述した動画像符号化装置11及び動画像復号装置31を、動画像の記録及び再生に利用できることを、図3を参照して説明する。
図3(a)は、上述した動画像符号化装置11を搭載した記録装置PROD_Cの構成を示したブロック図である。図に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した動画像符号化装置11は、この符号化部PROD_C1として利用される。
なお、記録媒体PROD_Mは、(1)HDD(Hard Disk Drive)やSSD(Solid State Drive)などのように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSB(Universal Serial Bus)フラッシュメモリなどのように、記録装置PROD_Cに接続されるタイプのものであってもよいし、(3)DVD(Digital Versatile Disc:登録商標)やBD(Blu-ray Disc:登録商標)などのように、記録装置PROD_Cに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像
を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、動画像を受信するための受信部PROD_C5、及び、画像を生成または加工する画像処理部PROD_C6を更に備えていてもよい。図においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし
、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD(Hard Disk Drive)レコーダなどが挙げられる(この場合、入力端子PROD_C4または受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5または画像処理部C6が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3または受信部PROD_C5が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。
図3(b)は、上述した動画像復号装置31を搭載した再生装置PROD_Dの構成を示したブロックである。図に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した動画像復号装置31は、この復号部PROD_D2として利用される。
なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのよ
うに、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなど
のように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を
表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図においては、これら全てを
再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし
、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。
このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる(この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動
画像の主な供給先となる)。また、テレビジョン受像機(この場合、ディスプレイPROD_D3が動画像の主な供給先となる)、デジタルサイネージ(電子看板や電子掲示板等とも称され、ディスプレイPROD_D3または送信部PROD_D5が動画像の主な供給先となる)、デスクトップ型PC(この場合、出力端子PROD_D4または送信部PROD_D5が動画像の主な供給先となる)、ラップトップ型またはタブレット型PC(この場合、ディスプレイPROD_D3または送信部PROD_D5が動画像の主な供給先となる)、スマートフォン(この場合、ディスプレイPROD_D3または送信部PROD_D5が動画像の主な供給先となる)なども、このような再生装置PROD_Dの一例である。
(ハードウェア的実現およびソフトウェア的実現)
また、上述した動画像復号装置31および動画像符号化装置11の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU
(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記
プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random
Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の実施形態の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD-ROM(Compact Disc Read-Only Memory)/MOディスク(Magneto-Optical disc)/MD(Mini Disc)/DVD(Digital Versatile Disc:登録商標)/CD-R(CD Recordable)/ブルーレイディスク(Blu-ray Disc:登録商標)等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM(Erasable Programmable Read-Only Memory)/EEPROM(Electrically Erasable and Programmable Read-Only Memory:登録商標)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、ISDN(Integrated Services Digital Network)、VAN(Value-Added Network)、CATV(Community Antenna television/Cable Television)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE(Institute of Electrical and Electronic Engineers)1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDA(Infrared Data Association)やリモコンのような赤外線、BlueTooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance:登録商標)、携帯電話網、衛星回線、地上デジタル放送網等の無線でも利用可能である。なお、本発明の実施形態は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明の実施形態は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を
組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明の実施形態は、画像データが符号化された符号化データを復号する動画像復号装置、および、画像データが符号化された符号化データを生成する動画像符号化装置に好適に適用することができる。また、動画像符号化装置によって生成され、動画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
31 画像復号装置
301 エントロピー復号部
302 パラメータ復号部
303 インター予測パラメータ導出部
305、107 ループフィルタ
306、109 参照ピクチャメモリ
307、108 予測パラメータメモリ
308、101 予測画像生成部
309 インター予測画像生成部
311、105 逆量子化・逆変換部
312、106 加算部
320 予測パラメータ導出部
11 画像符号化装置
102 減算部
103 変換・量子化部
104 エントロピー符号化部
110 符号化パラメータ決定部
111 パラメータ符号化部
112 インター予測パラメータ符号化部
120 予測パラメータ導出部

Claims (7)

  1. 対象ブロックの空間隣接ブロック、時間隣接ブロックの動きベクトルをもとに、対象ブロックのマージ候補を導出するマージ候補導出装置において、
    非隣接ブロックの動きベクトルを用いてマージ候補を導出するNASMVPマージ候補導出部を備え、
    NASMVPマージ候補導出部は、第1、第2、・・第Nの複数のグループから構成される非隣接ブロックにおいて、上記各グループ内で1つのマージ候補を導出し、導出された各NASMVPマージ候補をマージ候補リストに設定することを特徴とするマージ候補導出装置。
  2. 上記NASMVPマージ候補導出部は、各グループ内において、動きベクトルが近いか否かをチェックするプルーニングを用いて1つのマージ候補を導出し、各NASMVPマージ候補をマージ候補リストに設定する場合にはプルーニングを用いずにマージ候補リストに設定することを特徴とする請求項1に記載のマージ候補導出装置。
  3. 非隣接ブロックにブロックは、対象ブロックからみた方向によってグループ化され、対象ブロックの上、右上、左、左下、左上のグループを少なくとも含むことを特徴とする請求項1から2に記載のマージ候補導出装置。
  4. 非隣接ブロックにブロックは、対象ブロックからみた距離によってグループ化され、対象ブロックからの距離1、距離2のグループを少なくとも含むことを特徴とする請求項1から2に記載のマージ候補導出装置。
  5. 上記NASMVPマージ候補導出部は、
    上記対象ブロックの大きさが所定のサイズ以下の場合に、NASMVPマージ候補を導出し、上記所定のサイズより大きい場合、NASMVPマージ候補を導出しないことを特徴とする請求項1~4に記載のマージ候補導出装置。
  6. 前記請求項1に記載する時間隣接ブロックの動きベクトルをもとに、対象ブロックのコロケートマージ候補を導出するマージ候補導出装置において、
    コロケートブロックの非隣接ブロックの動きベクトルを用いてマージ候補を導出する非隣接時間マージ候補導出部を備え、
    非隣接時間マージ候補導出部は対象コロケートブロックを含む符号化ツリーユニット(CTU)の左上位置(xCTU, yCTU)、CTU幅wCTU、CTU高さhCTUである場合、参照ピクチャ上のCTUの右下の位置(xCTU+wCTU-1,yCTU+hCTU-1)とCTUの中心位置(xPCTU+(wCTU>>1, yPCTU+(hCTU>>1)などから時間マージ候補を導出することを特徴とするマージ候補導出装置。
  7. 請求項1~6に記載のマージ予測NASMVP導出部と、
    前記マージ予測NASMVP導出部で導出した予測パラメータ、および、参照ピクチャメモリに格納された参照画像を用いて、予測画像を生成する予測画像生成装置とを備えることを特徴とする請求項1~6に記載の動画像復号装置。
JP2021054772A 2021-03-29 2021-03-29 画像復号装置及び画像符号化装置 Pending JP2022152121A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021054772A JP2022152121A (ja) 2021-03-29 2021-03-29 画像復号装置及び画像符号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021054772A JP2022152121A (ja) 2021-03-29 2021-03-29 画像復号装置及び画像符号化装置

Publications (2)

Publication Number Publication Date
JP2022152121A true JP2022152121A (ja) 2022-10-12
JP2022152121A5 JP2022152121A5 (ja) 2024-04-03

Family

ID=83556133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021054772A Pending JP2022152121A (ja) 2021-03-29 2021-03-29 画像復号装置及び画像符号化装置

Country Status (1)

Country Link
JP (1) JP2022152121A (ja)

Similar Documents

Publication Publication Date Title
WO2020184487A1 (ja) 動画像復号装置
WO2021111962A1 (ja) 動画像復号装置
WO2020137920A1 (ja) 予測画像生成装置、動画像復号装置、動画像符号化装置および予測画像生成方法
WO2020059877A1 (ja) 画像復号装置および画像符号化装置
WO2020116456A1 (ja) 動画像復号装置
JP7448349B2 (ja) 動画像復号装置
JP2020053924A (ja) 動画像符号化装置、動画像復号装置
WO2020045248A1 (ja) 動画像復号装置および動画像符号化装置
WO2021015195A1 (ja) 画像復号装置、画像符号化装置、および画像復号方法
JP2021027429A (ja) 動画像符号化装置、動画像復号装置
JP2020145650A (ja) 画像復号装置および画像符号化装置
JP2020096279A (ja) 予測画像生成装置、動画像復号装置および動画像符号化装置
JP2020088660A (ja) 動画像符号化装置、動画像復号装置
JP2020108012A (ja) 画像復号装置および画像符号化装置
WO2021200658A1 (ja) 動画像復号装置及び動画像復号方法
JP7409802B2 (ja) 動画像復号装置および動画像符号化装置
JP2020170901A (ja) 予測画像生成装置、動画像復号装置および動画像符号化装置
JP2021082913A (ja) 動画像復号装置および動画像符号化装置
JP2021106309A (ja) 動画像復号装置および動画像符号化装置
JP2020088577A (ja) 予測画像生成装置、動画像復号装置、および動画像符号化装置
JP2022152121A (ja) 画像復号装置及び画像符号化装置
JP7378968B2 (ja) 予測画像生成装置、動画像復号装置および動画像符号化装置
WO2019065537A1 (ja) 動き補償フィルタ装置、画像復号装置および動画像符号化装置
WO2021235448A1 (ja) 動画像符号化装置及び動画像復号装置
JP2023003481A (ja) 画像復号装置および画像符号化装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20221207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240325

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240325