(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-24
(45)【発行日】2023-05-02
(54)【発明の名称】画像復号装置、画像復号方法及びプログラム
(51)【国際特許分類】
H04N 19/52 20140101AFI20230425BHJP
【FI】
H04N19/52
(21)【出願番号】P 2019172237
(22)【出願日】2019-09-20
【審査請求日】2021-07-02
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110001564
【氏名又は名称】フェリシテ弁理士法人
(74)【代理人】
【識別番号】110001106
【氏名又は名称】弁理士法人キュリーズ
(72)【発明者】
【氏名】木谷 佳隆
(72)【発明者】
【氏名】河村 圭
(72)【発明者】
【氏名】海野 恭平
(72)【発明者】
【氏名】内藤 整
【審査官】坂東 大五郎
(56)【参考文献】
【文献】国際公開第2020/200236(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
画像復号装置であって、
マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、
前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、
前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、
前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、
対象ブロックは、マージであり、
前記マージ部は、時間マージによるマージインデックスが前記マージリストに登録される場合、参照ブロックのハーフペルインデックスを継承して前記マージリストに登録するように構成されていることを特徴とする画像復号装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像復号装置、画像復号方法及びプログラムに関する。
【背景技術】
【0002】
非特許文献1では、動き補償予測(以下、MC予測)という技術について、マージ符号化(以下、マージ)と適応ベクトル符号化(以下、AMVP)という動きベクトル(以下、mv)を導出する技術が用意されており、導出したmvを用いてMC予測画像信号を生成するための2種類の内挿フィルタが用意されている。
【0003】
1つ目は、非特許文献2と同じ内挿フィルタ(以下、HEVCフィルタ)であり、2つ目は、非特許文献1で新たに導入された内挿フィルタ(以下、平滑化フィルタ)である。
【0004】
いずれもmvの参照先が小数画素精度位置にある場合に適用されるが、上述の平滑化フィルタは、mvの参照先が1/2画素精度位置である場合に限定され、さらに、上述の平滑化フィルタが有効であるかどうかを示すハーフペルインデックス(以下、hpelIfIdx)が有効と示す場合にのみ適用される。それ以外の場合は、HEVCフィルタが適用される。
【0005】
上述のhpelIfIdxは、符号化対象のブロック(以下、対象ブロック)がマージである場合、既に処理が完了した隣接ブロックから継承され、対象ブロックがAMVPである場合は、導出されたmvからhpelIfIdxの値が決定される。
【先行技術文献】
【非特許文献】
【0006】
【文献】Versatile Video Coding(Draft 6)、JVET-N1001
【文献】ITU-T H.265 High Efficiency Video Coding
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述の従来技術では、対象ブロックがマージである場合に、所定のマージリスト構築方法及びヒストリーマージテーブル構築方法により、マージリスト及びヒストリーマージテーブルを生成して、動きベクトルを導出するが、かかるマージリスト及びヒストリーマージテーブルの構築過程におけるpruning処理において、ハーフペルインデックスの同一性が確認されていないという問題点があった。
【0008】
そこで、本発明は、上述の課題に鑑みてなされたものであり、マージリスト構築時又はヒストリーマージテーブル時のpruning処理の判定条件に、ハーフペルインデックスの判定を追加することで、平滑化フィルタの選択機会が増加させられるため、結果として符号化性能の向上が期待できる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の第1の特徴は、画像復号装置であって、マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、洗練化された動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、対象ブロックは、マージであり、前記マージ部は、前記マージリストの構築時に異なる前記マージインデックスに対応する動きベクトルと参照画像インデックスとが同一であっても、前記マージインデックスに対応するハーフペルインデックスが異なる場合には、異なるマージインデックスとして前記マージリストに登録するように構成されていることを要旨とする。
【0010】
本発明の第2の特徴は、画像復号装置であって、マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、洗練化された動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、対象ブロックは、マージであり、前記マージ部は、ヒストリーマージテーブルの構築時に異なるヒストリーマージ候補に対応する動きベクトルと参照画像インデックスとが同一であっても、前記ヒストリーマージ候補に対応するハーフペルインデックスが異なる場合には、異なるヒストリーマージ候補として前記ヒストリーマージテーブルに登録するように構成されていることを要旨とする。
【0011】
本発明の第3の特徴は、画像復号装置であって、マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、洗練化された動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、対象ブロックは、マージであり、前記マージ部は、時間マージによるマージインデックスが前記マージリストに登録される場合、参照ブロックのハーフペルインデックスを継承して前記マージリストに登録するように構成されていることを要旨とする。
【0012】
本発明の第4の特徴は、画像復号方法であって、マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号する工程Aと、MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化する工程Bと、洗練化された前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定する工程Cと、前記内挿フィルタを用いて、動き補償予測画素信号を生成する工程Dとを備え、前記工程Aにおいて、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号し、対象ブロックは、マージであり、前記マージ部は、前記マージリストの構築時に異なる前記マージインデックスに対応する動きベクトルと参照画像インデックスとが同一であっても、前記マージインデックスに対応するハーフペルインデックスが異なる場合には、異なるマージインデックスとして前記マージリストに登録することを要旨とする。
【0013】
本発明の第5の特徴は、コンピュータを、画像復号装置として機能させるプログラムであって、前記画像復号装置は、マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、洗練化された動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、対象ブロックは、マージであり、前記マージ部は、前記マージリストの構築時に異なる前記マージインデックスに対応する動きベクトルと参照画像インデックスとが同一であっても、前記マージインデックスに対応するハーフペルインデックスが異なる場合には、異なるマージインデックスとして前記マージリストに登録するように構成されていることを要旨とする。
【発明の効果】
【0014】
本発明によれば、マージリスト構築時又はヒストリーマージテーブル時のpruning処理の判定条件に、ハーフペルインデックスの判定を追加することで、平滑化フィルタの選択機会が増加させられるため、結果として符号化性能の向上が期待できる画像復号装置、画像復号方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0015】
【
図1】一実施形態に係る画像処理システム1の構成の一例を示す図である。
【
図2】一実施形態に係る画像符号化装置100の機能ブロックの一例を示す図である。
【
図3】一実施形態に係る画像符号化装置100のインター予測部111の機能ブロックの一例を示す図である。
【
図4】一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。
【
図5】一実施形態に係る画像復号装置200のインター予測部241の機能ブロックの一例を示す図である。
【
図6】一実施形態に係るフィルタ判定部111D1/241C1における内挿フィルタの適用有無及びフィルタ種別の判定処理の一例について示すフローチャートである。
【
図7】一実施形態に係るに係るハーフペルインデックス(hpelIfIdx)の判定処理の一例について示すフローチャートである。
【
図8】非特許文献1の判定処理について説明するための図である。
【
図9】一実施形態に係る画像復号装置200のmv洗練化部241Bの機能ブロックの一例を示す図である。
【
図10】一実施形態に係るマージリスト構築処理の一例について示すフローチャートである。
【
図11】一実施形態に係るマージリスト構築処理にて生成されるマージリストの一例について示す図である。
【
図12】一実施形態に係る空間マージの一例について示す図である。
【
図13】一実施形態に係る時間マージの一例について示す図である。
【
図14】一実施形態に係る時間マージにおける動きベクトルのスケーリング処理の一例について説明するための図である。
【
図15】一実施形態に係るヒストリーマージの一例について示す図である。
【
図16】一実施形態に係るペアワイズ平均マージにより算出される新たな動きベクトルとハーフペルインデックスとの組の一例について示す図である。
【
図17】一実施形態に係るペアワイズ平均マージにより生成される新たなハーフペルインデックスの設定処理の一例について示すフローチャートである。
【
図18】一実施形態に係るマージリスト構築例を示す図である
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<第1実施形態>
以下、
図1~
図28を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。
図1は、本実施形態に係る画像処理システム10について示す図である。
【0017】
図1に示すように、本実施形態に係る画像処理システム10は、画像符号化装置100及び画像復号装置200を有する。
【0018】
画像符号化装置100は、入力画像信号を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。
【0019】
符号化データは、画像符号化装置100から画像復号装置200に対して伝送路を介して送信されてもよい。符号化データは、記憶媒体に格納された上で、画像符号化装置100から画像復号装置200に提供されてもよい。
(画像符号化装置100)
以下、
図2を参照して、本実施形態に係る画像符号化装置100について説明する。
図2は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
【0020】
図2に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
【0021】
インター予測部111は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
【0022】
具体的には、インター予測部111は、符号化対象のフレーム(以下、対象フレーム)とフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトル(mv)を決定するように構成されている。
【0023】
また、インター予測部111は、参照ブロック及び動きベクトルに基づいて符号化対象のブロック(以下、対象ブロック)に含まれる予測信号を対象ブロック毎に生成するように構成されている。インター予測部111は、予測信号を減算器121及び加算器122に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
【0024】
イントラ予測部112は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
【0025】
具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を対象ブロック毎に生成するように構成されている。また、イントラ予測部112は、予測信号を減算器121及び加算器122に出力するように構成されている。
【0026】
ここで、参照ブロックは、対象ブロックについて参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。
【0027】
減算器121は、入力画像信号から予測信号を減算し、予測残差信号を変換・量子化部131に出力するように構成されている。ここで、減算器121は、イントラ予測又はインター予測によって生成される予測信号と入力画像信号との差分である予測残差信号を生成するように構成されている。
【0028】
加算器122は、逆変換・逆量子化部132から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部112及びインループフィルタ処理部150に出力するように構成されている。
【0029】
ここで、フィルタ処理前復号信号は、イントラ予測部112で用いる参照ブロックを構成する。
【0030】
変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。
【0031】
ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理では、離散コサイン変換(DCT:Discrete Cosine Transform)に対応する基底パターン(変換行列)が用いられてもよく、離散サイン変換(DST:Discrete Sine Transform)に対応する基底パターン(変換行列)が用いられてもよい。
【0032】
逆変換・逆量子化部132は、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
【0033】
ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
【0034】
符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
【0035】
ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。
【0036】
また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
【0037】
ここで、制御データは、符号化ブロック(CU:Coding Unit)サイズ、予測ブロック(PU:Prediction Unit)サイズ、変換ブロック(TU:Transform Unit)サイズ等のサイズデータを含んでもよい。
【0038】
また、制御データは後述するようにシーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダなどのヘッダ情報を含んでも良い。
【0039】
インループフィルタ処理部150は、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
【0040】
ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック又は変換ブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。
【0041】
フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。
【0042】
ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。
【0043】
図2に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
【0044】
インター予測部111は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
【0045】
具体的には、インター予測部111は、符号化対象のフレーム(以下、対象フレーム)とフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトル(mv)を決定するように構成されている。
【0046】
また、インター予測部111は、参照ブロック及び動きベクトルに基づいて符号化対象のブロック(以下、対象ブロック)に含まれる予測信号を対象ブロック毎に生成するように構成されている。インター予測部111は、予測信号を減算器121及び加算器122に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
【0047】
イントラ予測部112は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
【0048】
具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を対象ブロック毎に生成するように構成されている。また、イントラ予測部112は、予測信号を減算器121及び加算器122に出力するように構成されている。
【0049】
ここで、参照ブロックは、対象ブロックについて参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。
【0050】
減算器121は、入力画像信号から予測信号を減算し、予測残差信号を変換・量子化部131に出力するように構成されている。ここで、減算器121は、イントラ予測又はインター予測によって生成される予測信号と入力画像信号との差分である予測残差信号を生成するように構成されている。
【0051】
加算器122は、逆変換・逆量子化部132から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部112及びインループフィルタ処理部150に出力するように構成されている。
【0052】
ここで、フィルタ処理前復号信号は、イントラ予測部112で用いる参照ブロックを構成する。
【0053】
変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。
【0054】
ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理では、離散コサイン変換(DCT:Discrete Cosine Transform)に対応する基底パターン(変換行列)が用いられてもよく、離散サイン変換(DST:Discrete Sine Transform)に対応する基底パターン(変換行列)が用いられてもよい。
【0055】
逆変換・逆量子化部132は、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
【0056】
ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
【0057】
符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
【0058】
ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。
【0059】
また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
【0060】
ここで、制御データは、符号化ブロック(CU:Coding Unit)サイズ、予測ブロック(PU:Prediction Unit)サイズ、変換ブロック(TU:Transform Unit)サイズ等のサイズデータを含んでもよい。
【0061】
また、制御データは後述するようにシーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダなどのヘッダ情報を含んでも良い。
【0062】
インループフィルタ処理部150は、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
【0063】
ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック又は変換ブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。
【0064】
フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。
【0065】
ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。
【0066】
(インター予測部111)
以下、
図3を参照して、本実施形態に係る画像符号化装置100のインター予測部111について説明する。
図3は、本実施形態に係る画像符号化装置100のインター予測部111の機能ブロックの一例について示す図である。
【0067】
図3に示すように、インター予測部111は、mv導出部111Aと、AMVR部111Bと、mv洗練化部111Bと、予測信号生成部111Dとを有する。
【0068】
インター予測部111は、動きベクトルに基づいて対象ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
【0069】
mv導出部111Aは、
図3に示すように、AMVP(Adaptive Motion Vector Prediction)部111A1と、マージ部111A2とを有し、フレームバッファ160からの対象フレーム及び参照フレームを入力とし、動きベクトルを取得するように構成されている。
【0070】
AMVP部111A1は、対象フレームと参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを探索するように構成されている。
【0071】
また、上述の探索処理を複数の参照フレーム候補に対して行い、対象ブロックで予測に用いる参照フレーム及び動きベクトルを決定し、後段の予測信号生成部111Dに出力する。
【0072】
参照フレーム及び動きベクトルについては、1つのブロックに対して最大2つずつ用いることができる。1つのブロックに対して参照フレーム及び動きベクトルを1組のみ用いる場合を「片予測」と呼び、参照フレームと動きベクトルを2組用いる場合を「双予測」と呼ぶ。以下、1組目を「L0」と呼び、2組目を「L1」と呼ぶ。
【0073】
更に、AMVP部111Aは、上述の決定した動きベクトルを最終的に復号装置に伝送する際に、符号量を削減するために、隣接する符号化済みの動きベクトルから導出された動きベクトル予測子(mvp:motion vector predictor)の候補の中から、かかる対象ブロックの動きベクトルとの差分、すなわち、動きベクトル差分(mvd:motion vector difference)が小さくなるmvpを選択する。
【0074】
このように選択されたmvp及びmvdを示すインデックス及び参照フレームを示すインデックス(以下、Refidx)が符号化部140で符号化され、画像復号装置200に伝送される。かかる処理は、適応動きベクトル予測符号化(AMVP:Adaptive:Motion Vector Preidicion)と一般に呼ばれる。
【0075】
なお、上記の動きベクトルの探索方法、参照フレーム及び動きベクトルの決定方法、mvpの選択方法、mvdの算出方法については、既知の手法を採用することが可能であるため、その詳細については省略する。
【0076】
AMVR部111Bは、AMVP部111Aで算出したmvdの伝送精度を変えるAMVR(Adaptive Motion Vector Resolution)の機能を有する。
【0077】
mvdは、上述のように対象ブロックの動きベクトルとmvpとの和から導出しているため、mvdの伝送精度を変更することは、対象ブロックの動きベクトル自体の精度を変更することを意味する。
【0078】
非特許文献1では、AMVRによるmvdの伝送精度のバリエーションが3種類用意されている。通常のmvdの伝送精度は1/16画素精度であり、このとき、動きベクトルは、最終的に1/16画素精度の位置を参照することになるが、AMVRが有効時には、mvdの伝送精度が1/4画素精度、1/2画素精度、1画素精度(すなわち、整数画素精度)から選択される。
【0079】
ただし、対象ブロックがアフィンである場合は、mvdの伝送精度が1/4画素精度、1/16画素精度、1画素精度が選択される。ここで、アフィンとは、非特許文献1のAffineである。
【0080】
さらに、非特許文献1では、上述のmvdの伝送精度として1/2画素精度が選択される場合に限り、1/2画素精度以外が選択される場合に適用される内挿フィルタとは別の内挿フィルタが後段の予測信号生成部111Dにて選択される構成となっている。詳細は後述する。
【0081】
また、AMVR部111BでAMVR処理が有効と判定される場合は、AMVRが有効と示すフラグ及びAMVRによりmvdがどの精度に修正されるかを示すインデックスを、画像復号装置200に伝送する。
【0082】
マージ部111A2では、対象ブロックの動き情報をAMVP部111A1のように探索して導出することや、隣接ブロックとの差分としてmvdとして伝送はせず、対象フレーム及び参照フレームを入力として、対象ブロックと同一フレームにある隣接ブロック又は対象フレームと異なるフレームにある同一位置のブロックを参照ブロックとして、かかる参照ブロックの動き情報をそのまま継承して利用する。この処理は、マージ符号化(以下、マージ)と一般に呼ばれる。
【0083】
かかる対象ブロックがマージの場合、初めに、かかる対象ブロックに対するマージリストを作成する。マージリストは、参照フレームと動きベクトルとの組み合わせが複数列挙されたリストである。各組み合わせには、インデックス(以下、マージインデックス)が振られており、Refidx及び動きベクトルの情報を個別に符号化する代わりに、上述のマージインデックスのみを符号化し、画像復号装置200に伝送する。
【0084】
ここで、画像符号化装置100側と画像復号装置200側とで、マージリストの作成方法を共通化しておくことで、画像復号装置200側ではマージインデックス情報のみからRefidx及び動きベクトルの情報を復号することができる。マージリストの作成方法の詳細については後述する。
【0085】
mv洗練化部111Cは、マージ部111A2から出力される動きベクトルを修正する洗練化処理を行うように構成されている。詳細は後述する。
【0086】
予測信号生成部111Dは、動きベクトルを入力としてMC予測画像信号を出力するように構成されており、フィルタ判定部111D1とフィルタ適用部111D2を有する。
【0087】
フィルタ判定部111D1は、動きベクトルに基づいて内挿フィルタの適用有無及びフィルタ種別を判定する。詳細は後述する。
【0088】
フィルタ適用部111D2は、フィルタ判定部111D1で内挿フィルタが有効と判定された場合、選択された内挿フィルタ、動きベクトル及び参照フレームから予測信号を生成するように構成されている。
【0089】
フィルタ判定部111D1で内挿フィルタが無効と判定された場合は、内挿フィルタは使用されず、動きベクトル及び参照フレームにより予測信号が生成される。
(画像復号装置200)
以下、
図4を参照して、本実施形態に係る画像復号装置200について説明する。
図4は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
【0090】
図4に示すように、画像復号装置200は、復号部210と、逆変換・逆量子化部220と、加算器230と、インター予測部241と、イントラ予測部242と、インループフィルタ処理部250と、フレームバッファ260とを有する。
【0091】
復号部210は、画像符号化装置100によって生成される符号化データを復号し、係数レベル値を復号するように構成されている。
【0092】
ここで、復号は、例えば、符号化部140で行われるエントロピー符号化とは逆の手順のエントロピー復号である。
【0093】
また、復号部210は、符号化データの復号処理によって制御データを取得するように構成されていてもよい。
【0094】
なお、上述したように、制御データは、符号化ブロックサイズ、予測ブロックサイズ、変換ブロックサイズ等のサイズデータを含んでもよい。
【0095】
逆変換・逆量子化部220は、復号部210から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部220は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
【0096】
ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
【0097】
加算器230は、逆変換・逆量子化部220から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、フィルタ処理前復号信号をイントラ予測部242及びインループフィルタ処理部250に出力するように構成されている。
【0098】
ここで、フィルタ処理前復号信号は、イントラ予測部242で用いる参照ブロックを構成する。
【0099】
インター予測部241は、インター予測部111と同様に、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
【0100】
具体的には、インター予測部241は、符号化データから復号した動きベクトルと参照フレームに含まれる参照信号に基づいて予測信号を予測ブロック毎に生成するように構成されている。インター予測部241は、予測信号を加算器230に出力するように構成されている。
【0101】
イントラ予測部242は、イントラ予測部112と同様に、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
【0102】
具体的には、イントラ予測部242は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。イントラ予測部242は、予測信号を加算器230に出力するように構成されている。
【0103】
インループフィルタ処理部250は、インループフィルタ処理部150と同様に、加算器230から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ260に出力するように構成されている。
【0104】
ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック、変換ブロック、あるいはそれらを分割したサブブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。
【0105】
フレームバッファ260は、フレームバッファ160と同様に、インター予測部241で用いる参照フレームを蓄積するように構成されている。
【0106】
ここで、フィルタ処理後復号信号は、インター予測部241で用いる参照フレームを構成する。
(インター予測部241)
以下、
図5を参照して、本実施形態に係るインター予測部241について説明する。
図5は、本実施形態に係るインター予測部241の機能ブロックの一例について示す図である。
【0107】
図5に示すように、インター予測部241は、mv復号部241Aと、mv洗練化部241Bと、予測信号生成部111Cとを有する。
【0108】
インター予測部241は、動きベクトルに基づいて予測ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
【0109】
mv復号部241Aは、AMVP部241A1とマージ部241A2とを有し、フレームバッファ260から入力される対象フレーム及び参照フレーム、及び、画像符号化装置100から受信する制御データの復号によって、動きベクトルを取得するように構成されている。
【0110】
AMVP部241A1は、対象フレーム及び参照フレームと、画像符号化装置100から、mvp及びmvdを示すインデックス、Refidx、AMVR部111Bからのmvdの伝送精度を示すインデックスを受信し、動きベクトルを復号するように構成されている。動きベクトルの復号方法については、既知の手法を採用すること可能であるため、その詳細については省略する。
【0111】
マージ部241A2は、画像符号化装置100から、マージインデックスを受信し、動きベクトルを復号するように構成されている。
【0112】
具体的には、マージ部241A2は、画像符号化装置100と同じ方法で、マージリストを構築して、受信したマージインデックスに対応する動きベクトルを構築したマージリストから取得するように構成されている。マージリストの構築方法の詳細は、後述する。
【0113】
mv洗練化部241Bは、洗練化部111Cと同様に、動きベクトルを修正する洗練化処理を実行するように構成されている。
【0114】
予測信号生成部241Cは、フィルタ判定241C1とフィルタ適用部241C2とを有し、予測信号生成部111Cと同様に、動きベクトルに基づいて予測信号を生成するように構成されている。
【0115】
なお、画像復号装置200のフィルタ判定部241C1は、画像符号化装置100のフィルタ判定部111D1と全く同じ構成となるため、本実施形態では、以下、フィルタ判定部111D1の動作について代表して説明する。
(内挿フィルタの判定処理)
以下、
図6を参照して、本実施形態に係るフィルタ判定部111D1/241C1における内挿フィルタの適用有無及びフィルタ種別の判定処理について説明する。
【0116】
図6は、本実施形態に係るフィルタ判定部111D1における内挿フィルタの適用有無及びフィルタ種別の判定処理順の一例を示すフローチャートである。
【0117】
図6に示すように、ステップS6-1において、フィルタ判定部111D1は、mvの参照位置が小数画素位置かどうかを判定する。mvの参照位置が小数画素位置である場合は、本処理は、ステップS6-2に進み、mvの参照位置が小数画素位置でない場合、即ち、mvの参照位置が整数画素値位置の場合は、本処理は、ステップS6-3に進む。
【0118】
ステップS6-2において、フィルタ判定部111D1は、内挿フィルタを適用すると判定し、本処理は、ステップS6-4に進む。
【0119】
ステップS6-3において、フィルタ判定部111D1は、内挿フィルタを適用しないと判定し、本処理を終了する。
【0120】
ステップS6-4において、フィルタ判定部111D1は、後述するハーフペルインデックス(hpelIfIdx)が無効すなわち「0」であるかどうかを判定する。hpelIfIdxが「0」である場合は、本処理は、ステップS6-5に進み、hpelIfIdxが有効すなわち「0」ではない場合は、本処理は、ステップS6-6に進む。
【0121】
ステップS6-5において、フィルタ判定部111D1は、内挿フィルタとしてHEVCフィルタを利用すると判定し、本処理を終了する。
【0122】
ここで、HEVCフィルタとは、非特許文献2と同様の8タップの線形内挿フィルタである。
【0123】
ステップS6-6において、フィルタ判定部111D1は、内挿フィルタとして平滑化フィルタを利用すると判定する。
【0124】
ここで、平滑化フィルタとは、例えば、非特許文献1で採用されている6タップのガウシアンフィルタを用いてもよい。また、hpelIfIdxの示す値によって、内挿フィルタとして複数のフィルタの利用を設定してもよい。
【0125】
このように、mvの参照位置が小数画素位置である際に、hpelIfIdxに基づいて、2種類以上の内挿フィルタの利用を適応的に切り換えることができるため、画像特性に併せて利用する内挿フィルタを選択できるため、結果として符号化性能の向上効果が期待できる。
(ハーフペルインデックス(hpelIfIdx)の設定処理)
以下、
図7を参照して、本実施形態に係るハーフペルインデックス(hpelIfIdx)の判定処理について説明する。
【0126】
図7は、本実施形態に係るフィルタ判定部111D1におけるhpelIfIdxの判定処理順の一例を示すフローチャートである。
【0127】
hpelIfIdxは、上述したように、内挿フィルタの種別の判定に関わり、hpelIfIdxが「0」である場合、すなわち、無効の場合は、非特許文献2と同様の内挿フィルタを用いる。他方、hpelIfIdxが「0」でない場合、すなわち有効である場合は、平滑化フィルタを用いる。
【0128】
hpelIfIdxは、対象ブロックがマージである場合は、動きベクトルとRefIdxとを合わせて、参照ブロックから取得し、マージインデックスに対応付けられる。
【0129】
他方、対象ブロックがマージモードではなく、AMVPにより動きベクトルが復号される場合には、上述したAMVRの適用有無及び所定条件によって、hpelIfIdxの値が判定される。
【0130】
図7に示すように、ステップS7-1において、フィルタ判定部111D1は、AMVRが有効かどうかを判定する。判定には、例えば、非特許文献1と同様に、AMVRの適用有無を示すフラグ(amvr_flag)を復号することで判定してもよい。
【0131】
ステップS7-1において、AMVRが有効と判定される場合は、本処理は、ステップS7-2に進み、AMVRが無効と判定される場合は、本処理は、ステップS7-3に進む。
【0132】
ステップS7-2において、フィルタ判定部111D1は、所定条件1により、hpelIfIdxの値が「0」であるかどうかを判定する。
【0133】
ステップS7-2において、所定条件1が満たされていると判定された場合、本処理は、ステップS7-4に進み、所定条件1が満たされていないと判定された場合は、本処理は、ステップS7-5に進む。
【0134】
ここで、ステップS7-2の所定条件1において、AMVRの伝送精度を示すインデックス(amvr_precision_idx)を復号して判定してもよく、AMVRの伝送精度が1/2画素精度の場合に所定条件1を満たすと判定し、それ以外の場合は所定条件1を満たさないと判定する。
【0135】
また、ステップS7-2の所定条件1では、対象ブロックがアフィンであるかで判定してもよく、対象ブロックがアフィンである場合は、所定条件1を満たさないと判定し、アフィンでない場合はamvr_precision_idxがmvdの伝送精度を1/2画素精度を示す場合に所定条件1を満たすと判定する。
【0136】
ここで、アフィンとは、非特許文献1で採用されているAffineのことであり、本発明では、既知の手法を採用することが可能であるため、説明は省略する。
【0137】
また、ステップS7-2の所定条件1では、対象ブロックがIBCであるかで判定してもよく、対象ブロックがIBCである場合は、所定条件1を満たさないと判定し、IBCでない場合はamvr_precision_idxがmvdの伝送精度を1/2画素精度を示す場合に所定条件1を満たすと判定する。
【0138】
ここで、IBCとは、非特許文献1で採用されているIBC(Intra_Block_Copy)のことであり、本発明では、既知の手法を採用することが可能であるため、説明は省略する。
【0139】
ステップS7-3において、フィルタ判定部111D1は、hpelIfIdxが「0」であると判定し、本処理を終了する。
【0140】
ステップS7-4において、フィルタ判定部111D1は、hpelIfIdxが「1」であると判定し、本処理を終了する。
【0141】
ステップS7-5において、フィルタ判定部111D1は、hpelIfIdxが「0」であると判定し、本処理を終了する。
【0142】
なお、ここまで、hpelIfIdxの判定処理をフローチャートで説明したが、
図8に示す非特許文献1の判定処理のように、フィルタ判定部111D1は、amvr_flag、amvr_precision_idx、inter_affine_flagの復号結果及び対象ブロックがIBCであるかどうかに基づいて、Avmrshift値を決定し、かかるAmvr_shift値によってhpelIfidxの値を判定してもよい。
(mv洗練化部)
以下、
図9を参照して、本実施形態に係るmv洗練化部241Bについて説明する。なお、符号化装置のmv洗練化部111Cは復号装置のmv洗練化部241Bと全く同じ構成となるため、本実施形態では、mv洗練化部241Bについて代表して説明する。
【0143】
図9は、本実施形態に係るmv洗練化部241Bの機能ブロックの一例について示す図である。
【0144】
図9に示すように、mv洗練化部241Bは、MMVD部241B1と、DMVR部241B2とを有する。
【0145】
MMVD部241B1及びDMVR部241B2において、具体的には、非特許文献1で採用されているMMVD(Merge mode with MVD)及びDMVR(Decoder side Motion Vector Refinement)で動きベクトルが洗練化される。
【0146】
具体的には、MMVD部241B1は、マージ部111A2から出力される動きベクトルの参照位置を基準として、
図9に示すように、参照位置の修正範囲を距離及び方向(垂直および水平)によって設定するように構成されている。
【0147】
MMVD部241B1は、修正距離について、修正範囲の中から所定コストが最も小さい修正位置を特定し、修正参照位置に基づいて動きベクトルを修正する洗練化処理を行うように構成されている。
【0148】
また、DMVR部241B2は、マージ部111A2から出力される動きベクトルによって特定される参照位置を基準として探索範囲を設定し、探索範囲の中から所定コストが最も小さい修正参照位置を特定し、修正参照位置に基づいて動きベクトルを修正する洗練化処理を行うように構成されている。
【0149】
ここで、mv洗練化部241Bにおいて、対象ブロックへのMMVDの適用有無、DMVRの適用有無も判定されるが、その判定処理は、非特許文献1に記載の既知の手法を本発明では用いることが可能であるため、説明は省略する。
【0150】
なお、MMVD及びDMVRのいずれも無効である場合は、マージ部111A2から出力される動きベクトルは、修正されずに、そのまま後段の予測信号生成部241Cに出力される。
(マージリスト構築方法)
以下、
図10を参照して、本実施形態に係るマージリスト構築処理について説明する。
図10は、本実施形態に係るマージリスト構築処理の一例を示すフローチャートである。
【0151】
図10に示すように、本発明に係るマージリスト構築処理は、非特許文献1と同様に、合計5つのマージリストの構築処理によって構成される。
【0152】
具体的には、ステップS10-1の空間マージ、ステップS10-2の時間マージ、ステップS10-3のヒストリーマージ、ステップS10-4のペアワイズ平均マージ、ステップS10-5のゼロマージによるマージリストの構築処理から構成される。それぞれのマージリスト構築処理については、後述する。
【0153】
図11は、本実施形態に係るマージリスト構築処理にて生成されるマージリストの一例を示した図である。
【0154】
マージリストとは、上述したように、マージインデックスに対応する動きベクトル、Refidx、hepelIfIdxが登録されたリストである。
【0155】
ここで、マージインデックスの最大数は、非特許文献1では「5」と設定されているが、設計者の意図により、自由に設定してもよい。
【0156】
また、
図11にあるmvL0、mvL1、RefIdxL0、RefIdxL1は、それぞれ参照画像リストL0、L1の動きベクトルと参照画像インデックスを示す。
【0157】
ここで、参照画像リストL0、L1とは、参照フレームが登録されたリストのことを示し、RefIdxによって、その参照フレームが特定される。
【0158】
なお、
図11に示すマージリストには、L0及びL1双方の動きベクトルと参照画像インデックスを示しているが、参照ブロックによっては片方向予測である場合がある。その場合は、片方向分の動きベクトル及び参照画像インデックスが、かかるマージリストに登録される。また、そもそも参照ブロックに動きベクトルが存在しない場合は、その参照ブロックに対するマージリストの構築処理がスキップされる。
(空間マージ)
図12は、空間マージについて示した図である。空間マージとは、対象ブロックと同一フレームに存在する隣接ブロックから、mv、RefIdx、hpelIfIdxを継承する技術である。
【0159】
具体的には、
図12に示すような位置関係にある隣接ブロックから、上述のmv、Refidx、hpelfIdxを継承し、その処理順は、非特許文献1と同様に、
図12に示すような順序としてもよい。
【0160】
なお、マージリスト処理では、上述の処理順でマージリストへのパラメータ登録がなされるが、マージリストに対して同じ動きベクトルと参照画像インデックスが登録されないようなチェック機構が存在する。これをpruning処理と呼ぶ。
【0161】
pruning処理の存在理由は、マージリストに登録される動きベクトル及び参照画像インデックスのバリエーションを増やすことであり、画像符号化装置100の観点では、画像特性に併せて所定コストが最も小さくなる動きベクトルが選択できるということであり、画像復号装置200では、その選択された動きベクトル及び参照画像インデックスに基づいて予測精度の高い予測信号を生成することができるため、結果的に符号化性能の向上効果が期待できるという点にある。
【0162】
空間マージでは、例えば、隣接ブロックA1が登録されれば、次の処理順にある隣接ブロックB1で、隣接ブロックA1で登録された動きベクトルと参照画像インデックスとの同一性が確認され、もし同一性が確認されれば、隣接ブロックB1の動きベクトル及び参照画像インデックスはマージリストに登録されない構成となっている。
【0163】
なお、非特許文献1では、隣接ブロックB0、隣接ブロックA0、隣接ブロックB2については、既にマージリストに登録済みの動きベクトルと参照画像インデックスとの同一性のチェック以外に、対象ブロックがトライアングルマージであるかどうかの確認が存在する。
【0164】
本実施形態では、pruning処理に対して、このトライアングルマージによる判定を追加してもよく、またトライアングマージとしては既知の手法を取ることが可能であるため、説明は省略する。
【0165】
また、非特許文献1では、空間マージによるマージインデックスの登録最大可能数を「4」と設定しており、隣接ブロックB2に関しては、それまでの空間マージ処理によって、既に4つのマージインデックスが登録されている場合は、B2の処理がスキップされる。
【0166】
本実施形態では、非特許文献1と同様に、隣接ブロックB
2の処理を、既存のマージインデックス登録数によって判定してもよい。
(時間マージ)
図13は、時間マージについて示した図である。時間マージとは、対象ブロックと異なるフレームに存在するが、同一位置の左下の隣接ブロック(
図13のC
1)又は同一位置にあるブロック(
図13のC
0)を参照ブロックと特定して、動きベクトルと参照画像インデックスを継承する技術である。
【0167】
かかる時間マージリストによるマージインデックスのマージリストへの登録最大可能数は、非特許文献1では、「1」となっており、本実施形態においても、登録最大可能数を同様に設定しもよい。
【0168】
また、時間マージにおいて継承される動きベクトルは、スケーリングされる特徴があり、
図14は、かかるスケーリング処理を示した図である。
【0169】
具体的には、
図14に示すように、対象ブロックの参照フレームと対象フレームが存在するフレームとの距離tbと、参照ブロックの参照フレームと参照ブロックの参照フレームの距離tdとに基づいて、参照ブロックのmvが、以下のようにスケーリングされる。
【0170】
mv’=(td/tb)×mv
時間マージでは、このスケーリングされたmv’がマージインデックスに対応する動きベクトルとしてマージインデックスに登録される構成となっている。
(ヒストリーマージ)
図15は、ヒストリーマージについて示した図である。ヒストリーマージとは、対象ブロックよりも過去に符号化済みのインター予測ブロックが有する動きベクトル、参照画像インデックス、ハーフペルインデックスを、ヒストリーマージテーブルと呼ばれる記憶領域に別途記憶しておき、マージリストが前段の空間マージ処理、時間マージ処理で埋まっていない場合に、かかるヒストリーマージテーブルに登録されているマージインデックスをマージリストに登録するという技術である。
【0171】
図15は、ヒストリーマージテーブル構築処理の一例を示した図であり、ヒストリーマージインデックスによって、過去に符号化済みのブロックに対応する動きベクトル、参照画像インデックス、ハーフペルインデックスがヒストリーマージテーブルに登録される構成となっている。
【0172】
このヒストリーマージテーブルのヒストリーマージインデックスの最大登録数は、非特許文献1では、最大で「6」と設定されているが、設計者の意図によって自由に設定してもよい。
【0173】
また、このヒストリーマージテーブルへのヒストリーマージインデックスの登録処理は、FIFO処理となっており、ヒストリーマージテーブルがいっぱいになると新しいヒストリーマージテーブルが追加されるたびに、最後に登録されたヒストリーマージインデックスが削除される構成となっている。
【0174】
また、ヒストリーマージテーブルに登録されているヒストリーマージインデックスは、非特許文献1と同様に、対象ブロックが符号化ツリーブロック(CTU:Coding Tree Block)を跨ぐと初期化されてもよい。
(ペアワイズ平均マージ)
図16は、ペアワイズ平均マージにより算出される新たな動きベクトルとハーフペルインデックスとの組について示した図である。
【0175】
ペアワイズ平均マージとは、マージリストに既に登録されている2組のマージインデックスに対応する動きベクトル、参照画像インデックス、ハーフペルインデックスを用いて、新たな動きベクトル、参照画像インデックス、ハーフペルインデックスを生成する技術である。
【0176】
ペアワイズ平均マージに利用する2組のマージインデックスは、非特許文献1と同様に、マージリストに登録されているマージインデックスの0番目及び1番目を固定で利用してもよいし、或いは、設計者の意図で、別の2組の組合せを自由に設定してもよい。
【0177】
ペアワイズ平均マージにおける新たな動きベクトルの生成方法は、
図16に示すように、マージリストの2組のマージインデックスに対応する動きベクトルを平均化して生成する。
【0178】
具体的には、例えば、2組のマージインデックスに対応する動きベクトルがそれぞれ2つある場合(すなわち、双予測である場合)、L0及びL1方向の動きベクトルmvL0P0/mvL1P0及びmvL0P1/mvL1P1によって、ペアワイズ平均マージの動きベクトルであるmvL0Avg及びmvL1Avgは、それぞれ以下のように独立して算出される。
【0179】
mvL0Avg=(mvL0P0+mvL0P1)/2
mvL1Avg=(mvL1P0+mvL1P1)/2
ここで、mvL0P0/mvL1P0又はmvL0P1/mvL1P1の片方が存在しない場合は、存在しない動きベクトルを除いて、上述の計算が行われる。
【0180】
このとき、非特許文献1では、ペアワイズ平均マージインデックスに紐づく参照画像インデックスをマージインデックスP0に紐づく参照画像インデックスRefIdxL0P0及びRefIdxL1P0を常に使用するように定めている。
【0181】
また、ペアワイズ平均マージにより生成される新たなハーフペルインデックスhpelIfIdxAvgは、
図17(a)及び
図17(b)に示すように、既にマージリストに登録済みの2組のマージインデックスに対応する2組のハーフペルインデックスhpelIfIdxP
0及びhpelIfIdxP
1に基づいて設定する。
【0182】
具体的には、ステップS17-1において、hpelIfIdxP0及びhpelIfIdxP1が同じであるかどうかを判定する。同じである場合は、本処理は、ステップS17-2に進み、同じでない場合は、本処理は、ステップS17-3に進む。
【0183】
ステップS17-2において、hpelIfIdxAvgをhpelIfIdxP0と設定する。
【0184】
ステップS17-3において、hpelIfIdxAvgを無効すなわち「0」と設定する。
【0185】
ここで、hpelIfIdxP
0及びhpelIfIdxP
1の取り得る値が「0」又は「1」である場合、
図17(a)に示すステップS17-1及びステップS17-3の処理について、
図17(b)のステップS17-4からステップS17-6のような処理に置き換えてもよい。
(時間マージへのハーフペルインデックスの導入)
以下、
図18を参照して、本実施形態に係る時間マージへのハーフペルインデックスの導入について説明する。
図18は、本実施形態に係るマージリスト構築例を示す図である。
【0186】
非特許文献1では、マージリストに時間マージによるマージインデックスが登録されている場合、そのマージインデックスに対応するハーフペルインデックスは、常に「0」に設定される。そのため、時間マージに対して、非特許文献1では、平滑化フィルタが使用されることはなく、動きベクトルが小数画素精度位置を参照する場合は、常にHEVCフィルタが使用されることとなっていた。
【0187】
そこで、本実施形態では、かかる時間マージのハーフペルインデックスを常に「0」に設定せず、参照ブロックのハーフペルインデックスをそのまま継承して、マージリストに登録する。
【0188】
これにより、時間マージに対しても、平滑化フィルタが使用可能となる。これは、マージリスト全体に対して平滑化フィルタの選択機会が増加することを意味するため、画像特性に合わせたフィルタの適応的な切換による予測精度を向上させ、符号化性能を向上させることができる。
(マージリスト構築時のpruning処理へのハーフペルインデックスによる判定の導入)
以下、本実施形態に係るマージリスト構築時のpruning処理へのハーフペルインデックスによる判定の導入について説明する。
【0189】
非特許文献1では、マージリスト構築時にマージリストに対して同一の動きベクトル及び参照画像インデックスを持つマージインデックスが登録されないようにpruning処理と呼ばれるチェック機構について記載されている。
【0190】
具体的には、マージリストに新たなマージインデックスが追加される際に、このpruning処理が働き、新たに追加されるマージインデックスに紐づく動きベクトル及び参照インデックスが、既に登録済みのマージインデックスに紐づく動きベクトル及び参照インデックスと同じである場合に、かかるマージインデックスは、マージリストに追加されない。
【0191】
これは、マージリストに登録される動きベクトルのバリエーションを増やすという狙いがあり、動きベクトルの選択バリエーションが増えるということは、画像符号化装置100側から観れば、符号化コストを抑えるためのより予測精度の高い動きベクトルを選択する機会が増えるということを意味する。
【0192】
また、画像復号装置200側から観れば、画像符号化装置100で選択された予測精度の高い動きベクトルに基づいてMC予測画像を生成できるため、結果として符号化性能の向上効果が期待できる。
【0193】
しかし、非特許文献1では、このpruning処理の判定に、ハーフペルインデックスが使用されておらず、既存のマージインデックスと同一の動きベクトル及び参照画像インデックスを持つが、異なるハーフペルインデックスを持つマージインデックスは、マージリストに登録されていなかった。
【0194】
そこで、本実施形態では、このマージリスト構築におけるpruning処理にハーフペルインデックスの判定を追加する。
【0195】
これにより、従来方式と比較して、既存のマージインデックスと同一の動きベクトル及び参照画像インデックスを持つ場合でも、異なるハーフペルインデックスを持つマージインデックスは、マージリストに登録されるようになる。
【0196】
これは、マージリストに対して平滑化フィルタの選択機会が増えるということを示唆し、画像符号化装置100の観点では、画像特性に併せてより符号化コストが小さくなる内挿フィルタを適応的に選択できることを意味する。
【0197】
また、画像復号装置200側から観れば、画像符号化装置100で選択された符号化コストが小さくなる内挿フィルタを用いてMC予測画像を生成できるため、結果として符号化性能の向上効果が期待できる。
[変更例:pruning処理の拡張」
上述の例では、pruning処理に対してハーフペルインデックスの判定を追加することを示したが、非特許文献1では、pruning処理が空間マージ、ヒストリーマージによるマージリスト構築時にしか行われない。
【0198】
また、空間マージも、上述の5つの候補(処理順:A1、B1、B0、A0、B2)において、トライアングルマージが無効の場合は、B0はB1と、A0はA1と、B2はA1かつB1との比較のみ行われる。
【0199】
そのため、空間マージにおけるB0、A0、B2、時間マージ、ペアワイズ平均マージにおいては、それぞれ比較していない前段のマージ候補と、動きベクトルと参照画像インデックス並びにハーフペルインデックスが重複する可能性がある。
【0200】
したがって、非特許文献1ではpruning処理が採用されていないマージ候補およびマージリスト構築方法において、pruning処理を拡張した上で、ハーフペルインデックスの判定追加を行えば、結果的に、同一の動きベクトルと参照画像インデックスとハーフペルインデックスとを有するマージ候補をマージリスト内に追加することを回避できるため、予測精度の向上、ひいては、符号化性能の向上効果が期待できる。
(ヒストリーマージテーブル構築時のpruning処理へのハーフペルインデックスによる判定の導入)
以下、本実施形態に係るヒストリーマージテーブル構築時のpruning処理へのハーフペルインデックスによる判定の導入について説明する。
【0201】
非特許文献1では、ヒストリーマージテーブル構築時にヒストリーマージテーブルに対して同一の動きベクトル及び参照画像インデックスを持つヒストリーマージ候補が登録されないように、pruning処理と呼ばれるチェック機構が存在する。
【0202】
具体的には、ヒストリーマージテーブルに新たなヒストリーマージ候補が追加される際に、このpruning処理が働き、新たに追加されるヒストリーマージ候補に紐づく動きベクトルと参照インデックスが、既に登録済みのヒストリーマージ候補に紐づく動きベクトル及び参照インデックスと同じである場合に、このヒストリーマージ候補は、ヒストリーマージテーブルに追加されない。
【0203】
これは、ヒストリーマージテーブルに登録される動きベクトルのバリエーションを増やすという狙いがあり、動きベクトルの選択バリエーションが増えるということは、画像符号化装置100側から観れば、符号化コストを抑えるためのより予測精度の高い動きベクトルを選択する機会が増えるということを意味する。
【0204】
また、画像復号装置200側から観れば、画像符号化装置100で選択された予測精度の高い動きベクトルに基づいてMC予測画像を生成できるため、結果として符号化性能の向上効果が期待できる。
【0205】
しかし、非特許文献1では、このpruning処理の判定に、ハーフペルインデックスが使用されておらず、既存のヒストリーマージ候補と同一の動きベクトル及び参照画像インデックスを持つが、異なるハーフペルインデックスを持つヒストリーマージ候補は、ヒストリーマージテーブルに登録されていなかった。
【0206】
そこで、本実施形態では、このヒストリーマージテーブル構築におけるpruning処理にハーフペルインデックスの判定を追加する。
【0207】
これにより、従来方式と比較して、既存のヒストリーマージ候補と同一の動きベクトル及び参照画像インデックスを持つ場合でも、異なるハーフペルインデックスを持つヒストリーマージ候補は、マージリストに登録されるようになる。
【0208】
これは、ヒストリーマージテーブルに対して平滑化フィルタの選択機会が増えるということを示唆し、画像符号化装置100から観れば、画像特性に併せてより符号化コストが小さくなる内挿フィルタを適応的に選択できることを意味する。
【0209】
また、画像復号装置200側から観れば、画像符号化装置100で選択された符号化コストが小さくなる内挿フィルタを用いてMC予測画像を生成できるため、結果として符号化性能の向上効果が期待できる。
【0210】
本発明によれば、マージリスト構築時又はヒストリーマージテーブル時のpruning処理の判定条件に、ハーフペルインデックスの判定を追加することで、平滑化フィルタの選択機会が増加させられるため、結果として符号化性能の向上が期待できる。
【0211】
上述の画像符号化装置100及び画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
【0212】
なお、上述の各実施形態では、本発明を画像符号化装置100及び画像復号装置200への適用を例にして説明したが、本発明は、これのみに限定されるものではなく、画像符号化装置100及び画像復号装置200の各機能を備えた画像符号化システム及び画像復号システムにも同様に適用できる。
【符号の説明】
【0213】
10…画像処理システム
100…画像符号化装置
111、241…インター予測部
111A…mv導出部
111A1、241A1…AMVP部
111A2、241A2…マージ部
111B…AMVR部
111C、241B…mv洗練化部
111D、241C…予測信号生成部
111D1、241C1…フィルタ判定部
111D2、241C2…フィルタ適用部
112、242…イントラ予測部
121…減算器
122、230…加算器
131…変換・量子化部
132、220…逆変換・逆量子化部
140…符号化部
150、250…インループフィルタ処理部
160、260…フレームバッファ
200…画像復号装置
210…復号部
241A…mv復号部
241B1…MMVD部
241B2…DMVR部