(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024058004
(43)【公開日】2024-04-25
(54)【発明の名称】画像復号装置、画像復号方法及びプログラム
(51)【国際特許分類】
H04N 19/11 20140101AFI20240418BHJP
H04N 19/14 20140101ALI20240418BHJP
H04N 19/176 20140101ALI20240418BHJP
H04N 19/593 20140101ALI20240418BHJP
H04N 19/70 20140101ALI20240418BHJP
【FI】
H04N19/11
H04N19/14
H04N19/176
H04N19/593
H04N19/70
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022165080
(22)【出願日】2022-10-13
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和4年度、総務省、「3次元空間データの無線伝送に向けた高能率圧縮技術の研究開発」委託事業、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110001564
【氏名又は名称】フェリシテ弁理士法人
(72)【発明者】
【氏名】加藤 晴久
(72)【発明者】
【氏名】木谷 佳隆
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC04
5C159LC09
5C159MA04
5C159RB09
5C159RC11
5C159TA31
5C159TB08
5C159TC10
5C159TC42
5C159UA05
(57)【要約】
【課題】イントラ予測において符号化効率を向上させること。
【解決手段】本発明に係る画像復号装置200は、復号済み画素と制御情報とに基づいてイントラ予測に用いる参照画素を生成して生成情報とする生成部205と、制御情報と生成情報とに基づいて第1予測画素を生成するイントラ予測部204と、蓄積された復号済み画素と制御情報とに基づいて第2予測画素を生成する動き補償部208と、第1予測画素又は第2予測画素のいずれかと予測残差とを加算して復号済み画素を得る加算器206とを具備する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
画像復号装置であって、
制御情報並びに量子化値を復号する復号部と、
前記量子化値を逆量子化して変換係数とする逆量子化部と、
前記変換係数を逆変換して予測残差とする逆変換部と、
復号済み画素と前記制御情報とに基づいてイントラ予測に用いる参照画素を生成して生成情報とする生成部と、
前記制御情報と前記生成情報とに基づいて第1予測画素を生成するイントラ予測部と、
前記復号済み画素を蓄積する蓄積部と、
前記蓄積された復号済み画素と前記制御情報とに基づいて第2予測画素を生成する動き補償部と、
前記第1予測画素又は前記第2予測画素のいずれかと前記予測残差とを加算して前記復号済み画素を得る加算器とを具備することを特徴とする画像復号装置。
【請求項2】
前記生成部は、イントラ予測の方向に応じて、前記イントラ予測部で用いる参照画素を生成することを特徴とする請求項1に記載の画像復号装置。
【請求項3】
前記生成部は、複数ラインの近傍画素から近傍画素の変化を予測して新たな参照画素を生成することを特徴とする請求項1に記載の画像復号装置。
【請求項4】
前記生成部は、予測式の係数を近傍画素から推定することを特徴とする請求項1に記載の画像復号装置。
【請求項5】
前記生成部は、予測式の係数を推定するために利用するライン数について、予め固定に設定する、或いは、可変に設定することを特徴とする請求項1に記載の画像復号装置。
【請求項6】
前記生成部は、予測式について、予め固定に設定する、或いは、可変に設定することを特徴とする請求項1に記載の画像復号装置
【請求項7】
前記生成部は、前記予測式及び利用ライン数の少なくとも一方が可変の場合、前記予測式及び前記利用ライン数のそれぞれを制御信号として復号することを特徴とする請求項6に記載の画像復号装置。
【請求項8】
前記生成部は、前記イントラ予測の予測方向のライン毎に異なる値を予測式へ代入することで、前記イントラ予測の参照画素を生成することを特徴とする請求項1に記載の画像復号装置。
【請求項9】
前記生成部は、前記イントラ予測の方向に依存せず固定値を予測式へ代入することで、前記イントラ予測の参照画素を生成することを特徴とする請求項1に記載の画像復号装置。
【請求項10】
前記生成部は、前記生成情報の生成を適用する復号対象ブロックをブロックサイズに応じて限定することを特徴とする請求項1に記載の画像復号装置。
【請求項11】
前記生成部は、前記生成情報の生成を適用するイントラ予測の方向を限定することを特徴とする請求項1記載の画像復号装置。
【請求項12】
画像復号方法であって、
制御情報並びに量子化値を復号する工程と、
前記量子化値を逆量子化して変換係数とする工程と、
前記変換係数を逆変換して予測残差とする工程と、
復号済み画素と前記制御情報とに基づいてイントラ予測に用いる参照画素を生成して生成情報とする工程と、
前記制御情報と前記生成情報とに基づいて第1予測画素を生成する工程と、
前記復号済み画素を蓄積する工程と、
前記蓄積された復号済み画素と前記制御情報とに基づいて第2予測画素を生成する工程と、
前記第1予測画素又は前記第2予測画素のいずれかと前記予測残差とを加算して前記復号済み画素を得る工程とを有することを特徴とする画像復号方法。
【請求項13】
コンピュータを、画像復号装置として機能させるプログラムであって、
前記画像復号装置は、
制御情報並びに量子化値を復号する復号部と、
前記量子化値を逆量子化して変換係数とする逆量子化部と、
前記変換係数を逆変換して予測残差とする逆変換部と、
復号済み画素と前記制御情報とに基づいてイントラ予測に用いる参照画素を生成して生成情報とする生成部と、
前記制御情報と前記生成情報とに基づいて第1予測画素を生成するイントラ予測部と、
前記復号済み画素を蓄積する蓄積部と、
前記蓄積された復号済み画素と前記制御情報とに基づいて第2予測画素を生成する動き補償部と、
前記第1予測画素又は前記第2予測画素のいずれかと前記予測残差とを加算して前記復号済み画素を得る加算器とを具備することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像復号装置、画像復号方法及びプログラムに関する。
【背景技術】
【0002】
非特許文献1には、イントラ(Intra)予測が開示されている。イントラ予測は、復号対象ブロックに隣接する近傍画素を復号対象ブロックに複製することで予測値を生成する。イントラ予測は、複数の異なる方向へ複製する予測モードを用意することで予測精度の向上を図る。予測値は、差分値と加算されることで、復号済み画素を再構成するために用いられる。
【0003】
非特許文献2には、隣接する近傍画素だけでなく1画素以上離れた近傍画素(非隣接近傍画素)も用いて予測値を生成する手法が開示されている。具体的には、隣接近傍画素の予測値と非隣接近傍画素の予測値とをそれぞれ生成した上で3:1の重み平均で最終的な予測値を合成する。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】ITU-T H.266/VVC
【非特許文献2】JVET-AA0137:Intra Prediction Fusion
【非特許文献3】Algorithm description of Enhanced Compression Model 5(ECM 5)
【非特許文献4】EE2-2.7:GPM adaptive blending(JVET-Z0059、JVET-Z0137)、JVET-AA0058
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1では、復号対象ブロックの隣接する近傍画素1ラインしか参照画素として利用していないため、予測値の精度が十分ではないという問題点がある。
【0006】
一方、非特許文献2では、複数ラインの近傍画素を参照画素として利用するため、非特許文献1における問題点の一部を解決することができる。
【0007】
しかしながら、非特許文献2によれば、3:1による固定的な重み平均のため、表現できる予測値の分布には制限があり、予測値の精度は十分に解決されていないという問題点があった。
【0008】
例えば、非特許文献2は、復号対象ブロックのイントラ予測方向の1ラインの平均aが、対応する隣接近傍画素bと非隣接近傍画素cとの重み平均(3b+c)/4に近い場合(少なくともb<a<c或いはc<a<bの場合)にのみ効果が見込まれる。
【0009】
逆に言えば、a<min(b、c)となる単調減少や、a>max(b,c)となる単調増加の場合には、非特許文献2では対応できないという問題点があった。
【0010】
また、非特許文献2によれば、隣接近傍画素と非隣接近傍画素とによるイントラ予測を2回実行する必要があるため、ハードウェア実装の回路規模が大きくなるという問題点があった。 そこで、本発明は、上述の課題に鑑みてなされたものであり、符号化効率の高い画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の第1の特徴は、画像復号装置であって、制御情報並びに量子化値を復号する復号部と、前記量子化値を逆量子化して変換係数とする逆量子化部と、前記変換係数を逆変換して予測残差とする逆変換部と、復号済み画素と前記制御情報とに基づいてイントラ予測に用いる参照画素を生成して生成情報とする生成部と、前記制御情報と前記生成情報とに基づいて第1予測画素を生成するイントラ予測部と、前記復号済み画素を蓄積する蓄積部と、前記蓄積された復号済み画素と前記制御情報とに基づいて第2予測画素を生成する動き補償部と、前記第1予測画素又は前記第2予測画素のいずれかと前記予測残差とを加算して前記復号済み画素を得る加算器とを具備することを要旨とする。
【0012】
本発明の第2の特徴は、画像復号方法であって、制御情報並びに量子化値を復号する工程と、前記量子化値を逆量子化して変換係数とする工程と、前記変換係数を逆変換して予測残差とする工程と、復号済み画素と前記制御情報とに基づいてイントラ予測に用いる参照画素を生成して生成情報とする工程と、前記制御情報と前記生成情報とに基づいて第1予測画素を生成する工程と、前記復号済み画素を蓄積する工程と、前記蓄積された復号済み画素と前記制御情報とに基づいて第2予測画素を生成する工程と、前記第1予測画素又は前記第2予測画素のいずれかと前記予測残差とを加算して前記復号済み画素を得る工程とを有することを要旨とする。
【0013】
本発明の第3の特徴は、コンピュータを、画像復号装置として機能させるプログラムであって、前記画像復号装置は、制御情報並びに量子化値を復号する復号部と、前記量子化値を逆量子化して変換係数とする逆量子化部と、前記変換係数を逆変換して予測残差とする逆変換部と、復号済み画素と前記制御情報とに基づいてイントラ予測に用いる参照画素を生成して生成情報とする生成部と、前記制御情報と前記生成情報とに基づいて第1予測画素を生成するイントラ予測部と、前記復号済み画素を蓄積する蓄積部と、前記蓄積された復号済み画素と前記制御情報とに基づいて第2予測画素を生成する動き補償部と、前記第1予測画素又は前記第2予測画素のいずれかと前記予測残差とを加算して前記復号済み画素を得る加算器とを具備することを要旨とする。
【発明の効果】
【0014】
本発明によれば、符号化効率の高い画像復号装置、画像復号方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0015】
【
図1】
図1は、一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。
【
図2】
図2は、復号対象ブロックを斜めのイントラ予測の方向でイントラ予測させたケースの一例を示す図である。
【
図3】
図3は、4×4画素の復号対象ブロックに対して、イントラ予測の方向が垂直のケースの一例を示す図である。
【
図4】
図4は、一実施形態に係る画像復号装置200において、シーケンス単位で新たな参照画素の生成方法を設定する動作の一例を示すフローチャートである。
【
図5】
図5は、一実施形態に係る画像復号装置200において、ブロック単位で新たな参照画素の生成方法を設定する動作の一例を示すフローチャートである。
【
図6】
図6は、一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。
【
図7】
図7は、小領域分割として、幾何学分割モード(GPM)を用いたケースの一例について示す図である。
【
図8】
図8は、N=2本の線分で復号対象ブロックを分割したケースの一例を示す図である。
【
図9】
図9は、N=3本の線分で復号対象ブロックを分割したケースの一例を示す図である。
【
図10】
図10は、選択可能な復号対象ブロックの分割形状の例を示す図である。
【
図11】
図11は、選択可能な復号対象ブロックの分割形状の例を示す図である。
【
図12】
図12は、
図7に示す小領域Bの分割境界に割り当てる3パターンの重み係数の一例を示す図である。
【
図13】
図13は、復号対象ブロックに対して垂直方向及び水平方向2本の分割線で分割境界が構成され、それら2つの分割線(分割線1と分割線2)からの距離に応じて予測画素単位で合成予測が行われるケースの一例を示す図である。
【
図14】
図14は、分割線1及び分割線2に対するブレンディング領域の一例について説明するための図である。
【
図15】
図15は、シーケンス単位で複数線分分割モードの選別方法を設定する動作の一例について示すフローチャートである。
【
図16】
図16は、ブロック単位で複数線分分割モードの選別方法を設定する動作の一例について示すフローチャートである。
【
図17】
図17は、分割線1に対して平行な角度予測モードを適用するケースの一例を示す図である。
【
図18】
図18は、本実施形態に係るイントラ予測モード導出方法について説明するための図である。
【
図19】
図19は、本実施形態に係るイントラ予測モード導出方法について説明するための図である。
【
図20】
図20は、本実施形態に係るイントラ予測モード導出方法について説明するための図である。
【
図21】
図21は、本実施形態に係るイントラ予測モード導出方法について説明するための図である。
【
図22】
図22は、非特許文献1及び非特許文献3に係る通常イントラ予測に対する隣接参照ブロックに基づくイントラ予測モードの導出方法、及び、かかる導出方法を応用した本実施形態に係る幾何学分割モードに対する隣接参照ブロックに基づくイントラ予測モードの導出方法の一例を示す図である
【
図23】
図23は、cu_div_idxとdivDirectionIdxとdivLocationIdxとの対応付けの一例を示す図である。
【
図24】
図24は、シーケンス単位で複数線分分割モードの選別方法を設定する動作の変更例について示すフローチャートである。
【
図25】
図25は、ブロック単位で複数線分分割モードを含む分割モードの選別方法を設定する動作の変更例について示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0017】
<第1実施形態>
以下、
図1~
図5を参照して、本実施形態に係る画像復号装置200について説明する。
図1は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
【0018】
図1に示すように、画像復号装置200は、符号入力部210と、復号部201と、逆量子化部202と、逆変換部203と、イントラ予測部204と、生成部205と、加算器206と、蓄積部207と、動き補償部208と、画像出力部220とを有する。
【0019】
符号入力部210は、画像符号化装置によって符号化された符号情報を取得するように構成されている。
【0020】
復号部201は、符号入力部210から入力された符号情報から、制御情報並びに量子化値を復号するように構成されている。例えば、復号部201は、かかる符号情報に対して可変長復号を行うことで制御情報及び量子化値を出力するように構成されている。
【0021】
ここで、量子化値は、逆量子化部202に送られ、制御情報は、イントラ予測部204、生成部205及び動き補償部208に送られる。なお、かかる制御情報は、イントラ予測部204、生成部205及び動き補償部208等の制御に必要な情報を含み、シーケンスパラメータセットやピクチャパラメータセットやピクチャヘッダやスライスヘッダ等のヘッダ情報を含んでもよい。
【0022】
逆量子化部202は、復号部201から送られた量子化値を逆量子化して復号された変換係数とするように構成されている。かかる変換係数は、逆変換部203に送られる。
【0023】
逆変換部203は、逆量子化部202から送られた変換係数を逆変換して復号された予測残差とするように構成されている。かかる予測残差は、加算器206に送られる。
【0024】
イントラ予測部204は、復号部201で復号された制御情報と生成部205で生成された生成情報とに基づいて第1予測画素を生成するように構成されている。なお、第1予測画素は、加算器206に送られる。
【0025】
蓄積部207は、加算器206から送られた復号済み画素を累積的に蓄積するように構成されている。かかる復号済み画素は、蓄積部207を介して動き補償部208からの参照を受ける。
【0026】
動き補償部208は、蓄積部207を参照して得られる復号済み画素及び復号部201で復号された制御情報に基づいて、加算器206で予測残差と加算するための第2予測画素を生成するように構成されている。生成された第2予測画素は、加算器206へ送られる。
【0027】
加算器206は、イントラ予測部204から入力された第1予測画素又は動き補償部208から入力された第2予測画素のいずれかと予測残差とを加算して復号済み画素を得るように構成されている。かかる復号済み画素は、画像出力部220、蓄積部207及びイントラ予測部204へ送られる。
【0028】
生成部205は、加算器206を介して得られる復号済み画素と復号部201から送られた制御情報とに基づいて、イントラ予測部204においてイントラ予測に用いる参照画素を生成して生成情報とするように構成されている。生成された参照画素は、生成情報として、イントラ予測部204に送られる。
【0029】
以下、本実施形態に係る画像復号装置200の特徴的な構成である生成部205について説明する。
【0030】
生成部205の役割は、後段のイントラ予測部204で用いられる参照画素をイントラ予測の方向に応じて適応的に生成することにより、イントラ予測の予測精度を高めて符号化効率を高めることにある。
【0031】
後段のイントラ予測部204自体は、既存の構成を踏襲できるため、非特許文献2に示すようなハードウェア実装の回路規模の増加を回避する効果が得られる。
【0032】
図2は、復号対象ブロックを斜めのイントラ予測の方向でイントラ予測させたケースの一例を表している。
【0033】
非特許文献1では、隣接近傍画素の1ラインだけを用いて復号対象ブロックの予測値を生成し、非特許文献2では、隣接近傍画素の1ラインと任意の非隣接近傍画素の1ラインの2ラインからそれぞれ復号対象ブロックの予測値を生成した上で3:1による重み平均で復号対象ブロックの予測値を生成するように構成されている。
【0034】
これに対して、生成部205は、複数ラインの近傍画素から近傍画素の変化を予測して新たな参照画素を生成するように構成されている。
【0035】
例えば、生成部205は、複数の参照ラインを使ってイントラ予測の方向毎に、予測式p_i=α×x+βの係数α、βを求めて適用するように構成されている。ここで、復号対象ブロックの左上座標を(0,0)とし、近傍画素座標をマイナスとし、p_iは、iライン離れた場所の予測方向毎に補間された近傍画素値を表す。
【0036】
第1に、生成部205は、上述の予測式の係数α_i、β_iを近傍画素から推定するように構成されている。
【0037】
ここで、生成部205は、4ラインを利用する場合は、p_{-1}=-1×α+β、p_{-2}=-2×α+β、p_{-3}=-3×α+β、p_{-4}=-4×α+βとなるように、最小二乗法で係数α、βを導出するように構成されている。具体的には、生成部205は、以下のように、係数α、βを導出することができる。
【0038】
α=(-3×p_{-4}-p_{-3}+p_{-2}+3×p_{-1})/10
β=(-p_{-4}+p_{-2})/2+p_{-1}
或いは、生成部205は、2つの代表値を算出して、かかる代表値を結ぶ線分の係数として、係数α、βを導出してもよい。
【0039】
ここで、生成部205は、代表値として、ライン毎に画素値の上位N個の平均値と下位M個の平均値とを利用してもよいし、復号対象ブロックに近いN個の平均値と復号対象ブロックから遠いM個の平均値とを利用してもよい。
【0040】
また、生成部205は、イントラ予測の方向毎に近傍画素を得る際に、斜めの角度の場合は、補間フィルタを用いるが、処理負荷を軽減するために、補間フィルタのフィルタ係数を少なくしてもよい。
【0041】
生成部205は、予測式の係数を推定するのに利用するライン数について、予め固定に設定することもできるし可変に設定することもできる。
【0042】
また、生成部205は、予測式について、任意の式を利用することができ、予め固定に設定しておくこともできるし可変に設定することもできる。
【0043】
いずれも可変の場合は、生成部205は、制御信号として復号する。
【0044】
第2に、生成部205は、イントラ予測の予測方向のライン毎に誤差が小さくなるような異なる値を適応的に上述の係数及び予測式へ代入することで、イントラ予測の参照画素を生成するように構成されている。
【0045】
例えば、生成部205は、イントラ予測の方向毎に復号対象ブロックの中点となるxで、予測値p_{x}=α×x+βを算出するように構成されている。
【0046】
生成部205は、イントラ予測の方向が右上から左下の45度の斜めである場合は、左からx=0、x=0.5、x=1…を代入する。一方、生成部205は、イントラ予測の方向が垂直の場合、全てのラインにx=2を代入する。
【0047】
図3に、4×4画素の復号対象ブロックに対して、イントラ予測の方向が垂直のケースの一例を示す。
【0048】
ここで、生成部205は、イントラ予測の方向の1ライン毎に近傍画素4画素から予測式の係数α、βを求める。
図3の例では、1ライン毎の係数α、βは、左からそれぞれp(x)=3x+12、p(x)=x+10、p(x)=x+5、p(x)=2x+12として導出される。
【0049】
次に、生成部205は、復号対象ブロックを貫くイントラ予測の1ライン毎の中点を求める。
図3の例では、いずれも中点をx=2とした。
【0050】
続いて、生成部205は、かかる中点の値をそれぞれの予測式に代入して参照画素としての予測値18、12、7、16を算出する。
【0051】
最後に、生成部205は、かかる予測値が隣接近傍画素1ラインであるかのように生成画素としてイントラ予測部204へ出力すると、イントラ予測部204において、
図3に示す予測値が生成される。
【0052】
別の実施例では、生成部205は、イントラ予測の方向に依存せず固定値を予測式へ代入することでイントラ予測の参照画素を生成するように構成されていてもよい。例えば、全てx=0とした際の予測値p_{x}=βを参照画素とすると、αや中点の算出を省略できるため、計算量を軽減する効果が得られる。
【0053】
また、生成部205は、上述の新たな参照画素(生成情報)の生成を適用する復号対象ブロックを限定することができる。例えば、ブロックサイズが大きい場合にのみ、上述の新たな参照画素の生成を適用することで処理速度を向上させる効果が得られる。逆にブロックサイズが小さい場合にのみ、上述の新たな参照画素の生成を適用することで符号化効率を向上させる効果が得られる。
【0054】
同様に、生成部205は、上述の新たな参照画素の生成を適用するイントラ予測方向を限定することができる。例えば、水平垂直の場合にのみ、上述の新たな参照画素の生成を適用することで処理速度を向上させる効果が得られる。逆に、上述の新たな参照画素の生成について水平垂直の場合を除外することで、符号化効率を向上させる効果が得られる。
【0055】
以降で、新たな参照画素の生成方法に関して、復号部201が復号する制御情報について説明する。
【0056】
画像復号装置200に入力される符号情報は、シーケンス単位の制御情報をまとめたシーケンスパラメータセット(SPS)を含むことができる。また、かかる符号情報は、ピクチャ単位の制御情報をまとめたピクチャパラメータセット(PPS)或いはピクチャヘッダ(PH)を含むことができる。さらに、かかる符号情報は、スライス単位の制御情報をまとめたスライスヘッダ(SH)を含んでもよい。
【0057】
図4を参照して、シーケンス単位で新たな参照画素の生成方法を設定する動作の一例について述べる。
【0058】
図4に示すように、ステップS101において、復号部201は、シーケンスパラメータセットで、sps_gen_enabled_flagが1であるか否かについて判定する。
【0059】
ここで、sps_gen_enabled_flagは、新たな参照画素の生成の有無を制御するシンタックスであり、sps_gen_enabled_flagが1である場合は、参照画素の生成が有効であることを示し、sps_gen_enabled_flagが0である場合は、参照画素の生成が無効であることを示す。
【0060】
sps_gen_enabled_flagが1である場合、本動作は、ステップS102に進み、sps_gen_enabled_flagが0である場合、本動作は、終了する。
【0061】
ステップS102において、復号部201は、近傍画素が利用できるかどうかチェックする。例えば、復号部201は、復号対象ブロックがフレームの端や処理単位(CTU:Coding Tree Unit)の端である場合は、近傍画素を利用できないと判定する。
【0062】
復号部201は、近傍画素が利用できる場合は、sps_gen_modeを復号する。sps_gen_modeは、参照画素の生成方法を制御するシンタックスである。
【0063】
sps_gen_modeを用いることで、シーケンス単位で画像特性に応じた参照画素の生成方法の設定を変更できるため、符号化効率を最大化する効果が期待できる。例えば、CGで構成されるシーケンスに対しては画素が線形で変化することが多いので予測式を線形にするように設定でき、自然画像で構成されるシーケンスに対しては予測式を非線形にするように設定できるため、符号化効率の最大化が図れる。
【0064】
ピクチャ単位で参照画素の生成方法を設定する場合は、復号部201は、pps_gen_enabled_flag及びpps_gen_modeを、ピクチャパラメータセット或いはピクチャヘッダで同様に復号する。
【0065】
pps_gen_modeを用いることで、ピクチャ単位で画像特性に応じた参照画素の生成方法の設定を変更できるため、符号化効率を最大化する効果が期待できる。
【0066】
例えば、CGで構成されるピクチャに対しては予測式を線形にするように設定でき、自然画像で構成されるピクチャに対しては予測式を非線形にするように設定できるため、符号化効率の最大化が図れる。
【0067】
スライス単位で参照画素の生成方法を設定する場合は、復号部201は、sh_gen_enabled_flag及びsh_gen_modeを、スライスヘッダで同様に復号する。
【0068】
sh_gen_modeを用いることで、スライス単位で画像特性に応じた参照画素の生成方法の設定を変更できるため、符号化効率を最大化する効果が期待できる。
【0069】
例えば、CGで構成される部分画像が含まれるスライス領域に対しては予測式を線形にするように設定でき、自然画像が含まれるスライス領域に対しては予測式を非線形にするように設定できるため、符号化効率の最大化が図れる。
【0070】
上位層でのみ設定することで符号量の増大を抑制することもできるし、下位層でも設定した上で下位層での設定を優先することで適応的な制御ができる。
【0071】
或いは、参照画素の生成方法が事前に設定されている場合は、参照画素の生成方法の復号自体を省略することができる。
【0072】
なお、上述の例では、シーケンス単位、ピクチャ単位或いはスライス単位で参照画素の生成方法を設定する動作について述べたが、これらを設定せずに、後述のブロック単位で、直接、参照画素の生成方法を設定してもよい。
【0073】
図5を参照して、ブロック単位で参照画素の生成方法を設定する動作の一例について述べる。
【0074】
図5に示すように、ステップS201において、復号部201は、sps_gen_enabled_flag、pps_gen_enabled_flag及びsh_gen_enabled_flagのいずれかが1であるか否かについて判定する。
【0075】
いずれも1ではない場合、本動作は、ステップS202に進み、いずれかが1である場合、本動作は、ステップS203に進む。
【0076】
ステップS202において、復号部201は、参照画素の生成を適用しないと判断して、本動作は、終了する。
【0077】
ステップS203において、復号部201は、復号対象ブロックがイントラ予測モードであるか否かについて判断する。
【0078】
Yesの場合、本動作は、ステップS204に進み、Noの場合、本動作は、ステップS202に進む。
【0079】
ステップS204において、復号部201は、イントラ予測の方向を表す制御信号であるcu_intra_modeを復号する。
【0080】
ステップS205において、復号部201は、近傍画素が利用できるかどうかチェックする。例えば、復号部201は、復号対象ブロックがフレームの端や処理単位(CTU)の端である場合は、近傍画素を利用できないと判定する。
【0081】
Yesの場合、本動作は、ステップS206に進み、Noの場合、本動作は、ステップS202に進む。
【0082】
ステップS206において、復号部201は、参照画素の生成に用いる近傍画素を表す制御信号であるcu_gen_idxを復号する。
【0083】
本実施形態に係る画像復号装置200によれば、イントラ予測の参照画素を近傍画素の変化に応じて生成するので、符号化効率を向上させることができる。
【0084】
<第2実施形態>
以下、
図6~
図25を参照して、本発明の第2実施形態に係る画像復号装置200について、上述の第1実施形態に係る画像復号装置200との相違点に着目して説明する。
【0085】
図6は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
図6に示すように、画像復号装置200は、符号入力部210と、復号部201と、逆量子化部202と、逆変換部203と、イントラ予測部204と、合成部205と、加算器206と、蓄積部207と、動き補償部208と、画像出力部220とを有する。
【0086】
符号入力部210は、画像符号化装置によって符号化された符号情報を取得するように構成されている。
【0087】
復号部201は、符号入力部210から入力された符号情報から、制御情報並びに量子化値を復号するように構成されている。例えば、復号部201は、かかる符号情報に対して可変長復号を行うことで制御情報及び量子化値を出力するように構成されている。
【0088】
ここで、量子化値は、逆量子化部202に送られ、制御情報は、イントラ予測部204、合成部205及び動き補償部208に送られる。なお、かかる制御情報は、イントラ予測部204、合成部205及び動き補償部208等の制御に必要な情報を含み、シーケンスパラメータセットやピクチャパラメータセットやピクチャヘッダやスライスヘッダ等のヘッダ情報を含んでもよい。
【0089】
逆量子化部202は、復号部201から送られた量子化値を逆量子化して復号された変換係数とするように構成されている。かかる変換係数は、逆変換部203に送られる。
【0090】
逆変換部203は、逆量子化部202から送られた変換係数を逆変換して復号された予測残差とするように構成されている。かかる予測残差は、加算器206に送られる。
【0091】
イントラ予測部204は、復号済み画素と復号部201から送られた制御情報とに基づいて第1予測画素を生成するように構成されている。ここで、復号済み画素は、加算器206を介して得られて蓄積部207に蓄積されるものである。なお、第1予測画素は、加算器206に送られる。
【0092】
蓄積部207は、加算器206から送られた復号済み画素を累積的に蓄積するように構成されている。かかる復号済み画素は、蓄積部207を介して動き補償部208からの参照を受ける。
【0093】
動き補償部208は、蓄積部207を参照して得られる復号済み画素及び復号部201で復号された制御情報に基づいて、加算器206で予測残差と加算するための第2予測画素を生成するように構成されている。生成された第2予測画素は、加算器206或いは合成部205へ送られる。
【0094】
加算器206は、復号済み画素等から生成された第1~第3予測画素のいずれかと、逆変換部203から送られる予測残差とを加算して復号済み画素を得るように構成されている。かかる復号済み画素は、画像出力部220、蓄積部207及びイントラ予測部204へ送られる。
【0095】
合成部205は、復号部201によって復号された制御情報に基づいて、上述の第1予測画素及び第2予測画素の少なくとも一方を含む任意の組み合わせを、複数の線分で分割された小領域にそれぞれ合成して第3予測画素とするように構成されている。
【0096】
以下、本実施形態に係る画像復号装置200の特徴的な構成である合成部205について説明する。
【0097】
合成部205の役割は、後段の加算部206で復号済み画素を算出する際に、予測残差を少ない符号量で表現できるように復号対象ブロックを複数の小領域に分割(小領域分割)し、それぞれに対応する第1予測画素或いは第2予測画素を合成(合成予測)することで復号対象ブロックの画素を高精度に予測することにある。
【0098】
図7は、小領域分割として、幾何学分割モード(GPM)を用いたケースの一例について示す。
図7の例では、復号対象ブロックが、斜めの1直線で小領域A及び小領域Bに分割されている。
【0099】
しかしながら、幾何学分割モードでは、分割が1直線に限定されるため、前景と背景との境界が複雑な場合に対応できず、符号化効率を十分に改善できないという問題がある。
【0100】
(複数線分分割モードの基本概念)
かかる問題を解決するため、本実施形態に係る画像復号装置200では、合成部205が、復号対象ブロックをN(Nは、1より大きい自然数)本の線分で分割するという手順を取る。
【0101】
例えば、
図8は、N=2本の線分で復号対象ブロックを分割したケースの一例を示し、
図9は、N=3本の線分で復号対象ブロックを分割したケースの一例を示す。
【0102】
このような複数(N本)の線分による復号対象ブロックの小領域分割及び合成予測を、以降では「複数線分分割モード」と記す。
【0103】
合成部205は、制御情報で、複数線分分割モードの分割種類について判定してもよい。詳細は、後述する。
【0104】
複数線分分割モードにおける線分の数Nを増やすことで予測精度を高められる効果が得られ、複数線分分割モードにおける線分の数Nを少なくすることで分割形状を表現する制御情報の符号量を抑制できる効果が得られる。
【0105】
合成部205は、複数線分分割モードにおける線分の数Nについて固定値に設定してもよい。例えば、合成部205は、上述のように、N=2、N=3、N=4、N=5等を設定してもよい。
【0106】
合成部205は、復号対象ブロックの短辺の長さ、長辺の長さ、サイズ(面積)又は縦横比によらず、かかる固定値を共通の値に設定してもよい。
【0107】
或いは、合成部205は、復号対象ブロックの短辺の長さ、長辺の長さ、サイズ(面積)又は縦横比に基づいて、かかる固定値を異なる値に設定してもよい。
【0108】
また、合成部205は、複数線分分割モードにおける線分の数Nを可変に設定してもよい。例えば、合成部205は、複数線分分割モードにおける線分の数Nを可変に設定する場合は、復号対象ブロックの短辺の長さ、長辺の長さ、サイズ(面積)に比例させて、かかる線分の数Nを決定してもよい。
【0109】
また、合成部205は、分割形状を表現する制御情報の符号量を抑制するため、複数の線分の位置関係及び角度の少なくとも一方を限定してもよい。
【0110】
例えば、合成部205は、1本目の線分については、復号対象ブロックの水平方向(0度)或いは垂直方向(90度)だけに限定してもよい。さらに、合成部205は、n+1本目の線分については、n本目の線分に対して垂直方向(90度)のみに限定してもよい。
【0111】
ただし、復号対象ブロックを田の字に4等分するような分割形状は、非特許文献1で開示されている再帰的な矩形のブロック分割(四分木・二分木・三分木分割)で実現できるため、合成部205は、かかる既存のブロック分割で実現可能な配置については選択できないように限定することが望ましい。
【0112】
かかる限定を適用することは、例えば、複数線分分割モードにおける線分の数N=2の場合は、
図10に示す複数の分割点で水平方向及び垂直方向に分割するパターン(32パターン)の中から、復号対象ブロックの分割形状(複数の線分)を選択することに相当する。
【0113】
或いは、かかる限定を適用することは、1本目の線分が、水平方向(0度)及び垂直方向(90度)に加えて斜め方向(45度)となり得る場合は、
図10に示すパターン及び
図11に示す斜め方向に分割するパターンの中から、復号対象ブロックの分割形状(複数の線分)を選択することに相当する。
【0114】
ここで、上述の限定を少なくすることで予測精度を高められる効果が得られ、上述の限定を多くすることで分割形状を表現する制御情報の符号量を削減できる効果が得られる。
【0115】
合成部205は、上述の限定方法について、固定的に設定することもできるし可変的に設定することもできる。
【0116】
また、合成部205は、復号対象ブロックの大きさ(短辺の長さ、長辺の長さ、サイズ(面積)又は縦横比等)に応じて異なる限定を設定することができる。
【0117】
例えば、
図10に示す分割点について、かかる分割点を一定画素数ごとに配置すると、分割点の数は、復号対象ブロックの辺の長さに比例する。
【0118】
逆に、合成部205は、かかる分割点の配置を変更することで、復号対象ブロックの大きさに依存せず、分割点の数を固定的に設定することができる。
【0119】
例えば、合成部205は、復号対象ブロックの縦方向或いは横方向に固定的にK個(Kは、自然数)の分割点の数を配置する場合、復号対象ブロックの辺の長さL(Lは、自然数)と画素との比率として、L/(K+1)画素ごとに分割点を配置してもよい。
【0120】
ここで、Lは、非特許文献1のように、4、8、16、32、64又は128のように、4以上の2のべき乗の自然数であってもよい。同様に、Kも、4、8、16、32、64又は128のように、4以上の2のべき乗の自然数であってもよい。
【0121】
また、Kの取りうる値については、L/(K+1)画素が4、8、16、32、64又は128のように、4以上の2のべき乗の自然数になるように制限してもよい。
【0122】
また、合成部205は、復号対象ブロックの縦横比が異なる場合、復号対象ブロックの縦及び横の辺(縦幅と横幅)に対して、異なるK個の分割点を設定してもよい。
【0123】
また、合成部205は、
図10の復号対象ブロックの中心を分割点に含めてもよい。
【0124】
分割点の数を増やすことで予測精度を高められる効果が得られ、分割点の数を減らすことで分割形状を表現する符号量を削減できる効果が得られる。
【0125】
(複数線分分割モードにおける第3予測画素の生成方法)
以降で、複数線分分割モードにおける合成部205による第3予測画素の生成方法について説明する。
【0126】
合成部205は、複数線分分割された復号対象ブロックの小領域A及び小領域Bに対するそれぞれの予測画素を分割線の距離に応じて重み付け平均(すなわち、合成予測)するように構成されている。
【0127】
かかる小領域A及び小領域Bの予測画素の種類は、非特許文献1で開示されている幾何学分割モードのように異なるインター予測画素の組み合わせであってもよいし、非特許文献3で開示されている幾何学分割モードイントラ予測のようにインター予測画素とイントラ予測画素との組み合わせであってもよいし、異なるイントラ予測画素の組み合わせであってもよい。
【0128】
ここで、異なるインター予測画素は、異なる動きベクトルに基づき生成され、異なるイントラ予測画素は、異なるイントラ予測モードで生成される。
【0129】
合成部205による小領域Aと小領域Bとの合成予測については、非特許文献1や非特許文献4で開示されている幾何学分割モードの合成予測向けに使用されているような分割線からの距離に応じた重み付け平均を使用できる。
【0130】
複数の予測画素に対する重み係数の合計値は、画素ごとに1になるように設計しておき、かかる重み係数を用いて複数の予測画素を重み付け平均により合成した結果を合成部205による予測画素とする。
【0131】
ここで、重み係数を1(すなわち、最大値)とした画素は、当該入力予測画素を採用し、重み係数を0(すなわち、最小値)とした画素は、当該入力予測画素を用いないことになるため、概念としては、単位ブロックを複数の小領域に分割することに相当し、複数の入力予測画素のどの画素をどの割合でどこに適用するかを決定することになる。
【0132】
図12は、
図7に示す小領域Bの分割境界に割り当てる3パターンの重み係数の一例を示す。
図12の例では、分割境界(分割線)の位置から画素単位の距離を横軸とし、縦軸に重み係数を表す。
【0133】
具体的には、予め設定した分割境界の位置からの予測画素単位の距離a,bに対して[a,b]の範囲に重み係数[0,1]を割り当てたパターン(1)と、同様に距離a,bをそれぞれ2倍にして[2a,2b]の範囲に重み係数[0,1]を割り当てたパターン(2)と、同様に距離a,bをそれぞれ1/2倍にして[a/2,b/2]の範囲に重み係数[0,1]を割り当てたパターン(3)とを用意している。
【0134】
これらは、重み係数が分割境界(分割線)からの距離d(xc,yc)によって一意に定められるxc,ycとして規定される場合、非特許文献4で開示されている小領域の分割境界の幅、すなわち、重み係数が最小値又は最大値以外になる幅τに対して、限定パターン(固定値)ではなく複数パターン(可変値)を用意することに等しい。
【0135】
ここで、xc,ycは、復号対象ブロック内の座標である。すなわち、合成部205は、分割境界からの画素間距離に応じて複数の重み係数を設定するように構成されていてもよい。
【0136】
なお、a=bとして分割境界に対して対称的な重み係数を設定してもよい。すなわち、合成部205は、上述の重み係数として、分割境界に対して対称的な重み係数を設定するように構成されていてもよい。かかる構成によれば、bが不要になることから符号量を少なくことができる。
【0137】
また、a≠bとして分割境界に対して非対称な重み係数を設定してもよい。すなわち、合成部205は、上述の重み係数として、分割境界に対して非対称な重み係数を設定するように構成されていてもよい。かかる構成によれば、境界の両側で異なるボケ具合がある場合に、高精度に予測することができる。
【0138】
また、a及びbの2個に限らず数を増やして複数の線分等で重み係数を設定することもできる。すなわち、合成部205は、分割境界からの画素間距離に応じて複数の線分で重み係数を設定するように構成されていてもよい。かかる構成によれば、非線形にボケが発生している場合に、高精度に予測することができる。
【0139】
このように、分割境界からの画素間距離に応じて複数の重み係数を設定することで、8×8や64×16等、様々なブロックサイズでも一律に導出できる効果が得られる。
【0140】
合成部205は、上述のパターンの種類、形状及び数については、任意に設定できる。
【0141】
例えば、上述の例では、複数パターンとして距離a,bの2倍と1/2倍を説明したが、4倍や1/4倍であってもよい。また、上式では、重み係数を0~8の値に設定したが、0~16や0~32等の他の値に設定することもできる。特に、分割境界からの画素間距離が2倍や4倍の場合は、重み係数の最大値を大きくすることで、画素単位の重み付け平均が高精度化できる。
【0142】
合成部205は、小領域A及び小領域Bに対する複数の重み係数(ブレンディング領域の幅、重み係数の最大値及び最小値)の設定について、復号部201から送られた制御情報に基づいて、予め用意された組み合わせの中から選択してもよい。
【0143】
例えば、合成部205は、非特許文献4に開示されているように、かかる制御情報を用いて、予め用意された複数パターン(非特許文献4では、1/4倍幅、1/2倍幅、1倍幅、2倍幅及び4倍幅の5パターン)から、上述の重み係数を選択してもよい。
【0144】
或いは、合成部205は、非特許文献4で開示されているように、制御情報を用いつつ、復号対象ブロックのサイズ、短辺の長さ、長辺の長さ又はアスペクト比に応じて、予め用意された複数パターンの候補から選択可能な候補を削減した後、制御情報が示すブレンディング幅を選択してもよい。
【0145】
ここで、複数線分分割モードでは、非特許文献1、3、4で開示されている幾何学分割モード向けの合成予測とは異なり、小領域を分割する分割境界(分割線)が複数存在するため、それらの複数の分割線に対して合成予測が行われる。
【0146】
図13は、
図10に示すように、復号対象ブロックに対して垂直方向及び水平方向2本の分割線で分割境界が構成され、それら2つの分割線(分割線1と分割線2)からの距離に応じて予測画素単位で合成予測が行われるケースの一例を示す。
【0147】
これらの複数の分割線に対する合成予測に対して、合成部205は、共通の重み付き平均を適用してもよい。
【0148】
或いは、合成部205は、前述した異なる重み係数の最大値及び分割線からの距離で構成される重み付き平均を適用してもよい。
【0149】
さらに、合成部205は、復号対象ブロックの短辺の長さ、長辺の長さ、縦横比、サイズ(画素数)又は分割モードの種類の少なくとも1つに応じて、複数の重み係数の中から重み係数を選択するように構成されていてもよい。
【0150】
或いは、合成部205は、小領域A又は小領域Bにイントラ予測が適用される場合、そのイントラ予測モードの種類に応じて、複数の重み係数の中から重み係数を選択するように構成されていてもよい。
【0151】
或いは、合成部205は、複数線分分割モードによって、復号対象ブロック内で区分される小領域A又は小領域Bのサイズ(画素数)に応じて、複数の重み係数の中から重み係数を選択するように構成されていてもよい。
【0152】
或いは、合成部205は、分割線の大きさ(画素数)に応じて、複数の重み係数の中から重み係数を選択するように構成されていてもよい。
【0153】
或いは、合成部205は、分割線の方向が、復号対象ブロックに対して水平方向又は垂直方向である場合、同じ方向の復号対象ブロックの辺との比率に応じて、複数の重み係数の中から重み係数を選択するように構成されていてもよい。
【0154】
また、複数線分分割モードでは、分割境界を構成する線分が複数存在する性質上、重み付き平均における重み係数が最大値或いは最小値である領域、すなわち、異なる複数の予測画素が合成予測される領域(ブレンディング領域)が各分割線の垂直方向に重複する場合がある。
【0155】
図14は、分割線1及び分割線2に対するブレンディング領域(
図14(a)における灰色の領域)の一例について説明するための図である。
【0156】
図14(a)に示すように、分割線1及び分割線2に対するブレンディング領域が重複する領域(以下、重複ブレンディング領域)が破線の枠で示される。
【0157】
また、
図14(b)に、分割線1に関して小領域Aの予測画素に適用する重み係数W_1Aの例、及び、分割線2に関して小領域Aの予測画素に適用する重み係数W_2Aの例を示す。
【0158】
それぞれの小領域Bに対する重み係数W_1B及び重み係数W_2Bは、重み係数の最大値からW_1A及びW_2Aを差し引いた値を取る。
【0159】
合成部205は、ブレンディング領域及び重複ブレンディング領域の第3予測画素を、
図14(c)の計算例1に示すように、重み係数の各要素W_1A及びW_2Aの最小値を選択して新たに生成される重み係数を用いて予測合成してもよい。
【0160】
或いは、合成部205は、ブレンディング領域及び重複ブレンディング領域の第3予測画素を、
図14(c)の計算例2に示すように、重み係数の各要素W_1A及びW_2Aの積を算出して新たに生成される重み係数を用いて予測合成してもよい。
【0161】
(複数線分分割モードの適用可不可及び分割種類の判定方法)
以降で、復号部201によって復号される制御情報について説明する。
【0162】
画像復号装置200に入力される符号情報は、シーケンス単位の制御情報をまとめたシーケンスパラメータセット(SPS)を含むことができる。また、かかる符号情報は、ピクチャ単位の制御情報をまとめたピクチャパラメータセット(PPS)或いはピクチャヘッダ(PH)を含むことができる。さらに、かかる符号情報は、スライス単位の制御情報をまとめたスライスヘッダ(SH)を含んでもよい。
【0163】
図15を参照して、シーケンス単位で複数線分分割モードの選別方法を設定する動作の一例について述べる。
【0164】
図15に示すように、ステップS101において、復号部201は、シーケンスパラメータセットで、sps_div_enabled_flagが1であるか否かについて判定する。
【0165】
ここで、sps_div_enabled_flagは、分割モードの有無を制御するシンタックスであり、sps_div_enabled_flagが1である場合は、分割モードが有効であることを示し、sps_div_enabled_flagが0である場合は、分割モードが無効であることを示す。
【0166】
sps_div_enabled_flagが1である場合、本動作は、ステップS102に進み、sps_div_enabled_flagが0である場合、本動作は、終了する。
【0167】
ステップS102において、復号部201は、sps_div_multi_flagを復号する。
【0168】
ここで、sps_div_multi_flagは、複数線分分割モードの有無を制御するシンタックスであり、sps_div_multi_flagが1である場合は、複数線分分割モードが有効(N>1)であることを示し、sps_div_multi_flagが0である場合は、数線分分割モードが無効(N=1)であることを示す。
【0169】
sps_div_multi_flagが1である場合、本動作は、ステップS103に進み、sps_div_multi_flagが0である場合、本動作は、終了する。
【0170】
ステップS103において、復号部201は、sps_div_multi_modeを復号する。ここで、sps_div_multi_modeは、複数線分分割モードを制御するシンタックスである。
【0171】
sps_div_multi_modeを用いることで、シーケンス単位で画像特性に応じた複数線分分割モードの設定を変更できるため、符号化効率を最大化する効果が期待できる。
【0172】
例えば、CGで構成されるシーケンスに対しては水平方向及び垂直方向を含む境界が多いので直角からなる分割種類に限定するように設定でき、自然画像で構成されるシーケンスに対しては分割種類の限定を緩和するように設定できるため、符号化効率の最大化が図れる。
【0173】
ピクチャ単位で境界幅候補の選別方法を設定する場合は、復号部201は、pps_div_enabled_flag、pps_div_multi_flag及びpps_div_multi_modeを、ピクチャパラメータセット或いはピクチャヘッダで同様に復号する。
【0174】
pps_div_multi_modeを用いることで、ピクチャ単位で画像特性に応じた複数線分分割モードの設定を変更できるため、符号化効率を最大化する効果が期待できる。
【0175】
例えば、CGで構成されるピクチャに対しては直角からなる分割種類に限定するように設定でき、自然画像で構成されるピクチャに対しては分割種類の限定を緩和するように設定できるため、符号化効率の最大化が図れる。
【0176】
スライス単位で境界幅候補の選別方法を設定する場合は、復号部201は、sh_div_enabled_flag、sh_div_multi_flag及びsh_div_multi_modeを、スライスヘッダで同様に復号する。
【0177】
sh_div_multi_modeを用いることで、スライス単位で画像特性に応じた複数線分分割モードの設定を変更できるため、符号化効率を最大化する効果が期待できる。
【0178】
例えば、CGで構成される部分画像が含まれるスライス領域に対しては直角からなる分割種類に限定するように設定でき、自然画像が含まれるスライス領域に対しては分割種類の限定を緩和するように設定できるため、符号化効率の最大化が図れる。
【0179】
上位層でのみ設定することで符号量の増大を抑制することもできるし、下位層でも設定した上で下位層での設定を優先することで適応的な制御ができる。
【0180】
或いは、複数線分分割モードが事前に設定されている場合は、複数線分分割モードの復号自体を省略することができる。
【0181】
なお、上述の例では、シーケンス単位、ピクチャ単位或いはスライス単位で、複数線分分割モードを設定する方法を述べたが、これらを設定せずに、後述のブロック単位で、直接、複数線分分割モードを設定してもよい。
【0182】
この場合、複数線分分割モードの設定の自由度が低下するが、上述のヘッダ情報の増加を回避できる。
【0183】
図24を参照して、シーケンス単位で複数線分分割モードの選別方法を設定する動作の変更例について述べる。
【0184】
【0185】
ステップ104において、復号部201は、シーケンスパラメータセットで、後述するテンプレートマッチングに基づく分割モードを特定するためのcu_div_idx(制御情報)の復号値に対応付けられる分割モードの並び替えに関する技術(以下、テンプレートに基づく分割モード添え字並び替え)が有効であるか否かを、シーケンス単位で制御するsps_div_template_reordering_enabled_flag(制御情報)が1であるか否かによって判定する。
【0186】
ここで、sps_div_template_reordering_enabled_flagが1である場合は、テンプレートに基づく分割モード添え字並び替えが有効であることを示し、sps_div_template_reordering_enabled_flagが0である場合は、テンプレートに基づく分割モード添え字並び替えが無効であることを示す。
【0187】
なお、sps_div_template_reordering_enabled_flagは、復号部201によりステップS104より前に復号されるか或いは復号されずに値が推定される。
【0188】
sps_div_template_reordering_enabled_flagが復号されない場合は、復号部201は、sps_div_template_reordering_enabled_flagの値を0と推定する。
【0189】
復号部201は、sps_div_template_reordering_enabled_flagが1(Yes)である場合は、ステップS102に進む。sps_div_template_reordering_enabled_flagが0(No)である場合は、本処理を終了する。
【0190】
詳細は後述するが、テンプレートに基づく分割モード添え字並び替えは、分割モード添え字の符号長を短縮する効果がある。そのため、テンプレートに基づく分割モード添え字並び替えが有効である場合にのみ、複数線分割モードを有効と判定することで、複数線分分割モードの種類或いは複数線分分割モードを含んだ分割モードの種類を対象ブロック単位で特定するためのcu_div_idxの符号量を削減でき、結果として符号化性能の向上が期待できる。
【0191】
図16を参照して、ブロック単位で複数線分分割モードの選別方法を設定する動作の一例について述べる。
【0192】
図16に示すように、ステップS201において、復号部201は、sps_div_enabled_flag、pps_div_enabled_flag及びsh_div_enabled_flagのいずれかが1であるか否かについて判定する。
【0193】
いずれも1ではない場合、本動作は、終了し、いずれかが1である場合、本動作は、ステップS202に進む。
【0194】
ステップS202において、復号部201は、復号対象ブロックが分割モードであるか否かについて判断する。
【0195】
Yesの場合、本動作は、ステップS203に進み、Noの場合、本動作は、終了する。
【0196】
ステップS203において、復号部201は、分割モードを表す制御信号であるcu_div_idxを復号する。
【0197】
cu_div_idxは、復号対象ブロックに適用される最下層のdiv_multi_modeで選別される複数線分分割モードの候補中の1つを特定するよう復号される。
【0198】
復号部205は、上述のcu_div_idxを復号して、復号した値に応じて複数線分分割モードを特定する。
【0199】
例えば、
図10に示す複数線分分割モードの32パターンの分割モード候補に対応付けられた
図23に示すような32パターンのcu_div_idxの復号値が用意される。
【0200】
cu_div_idxの各復号値は、
図10に示す複数線分分割モードのパターンを特定するための4パターンの分割方向(左上、右上、右下又は左下のいずれに分割境界(分割線で区分された領域)があるか)を示す内部パラメータであるdivDirectionIdx及び8パターンの分割点を決める内部パラメータであるdivLocationIdxにそれぞれ対応する。
【0201】
この複数線分分割モードを非特許文献1の幾何学分割モードに追加適用する場合は、cu_div_idxを、幾何学分割モードを特定するmerge_gpm_partition_idxの64パターンの復号値が対応付けられたテーブルに追加することで実現できる。
【0202】
merge_gpm_partition_idxは、幾何学分割モードの64パターンの分割線を表現するための20パターンの角度を表すangleIdx及び4パターンの距離を表すdistanceIdxに対応付けられる。
【0203】
複数線分分割モードを幾何学分割モードに追加適用する場合は、内部パラメータとして、divDirectionIdx及びdivLocationIdxを、angleIdx及びdistanceIdxの新たな値として構成すれば、復号部201が、merge_gpm_partition_idxの復号によって、幾何学分割モードに加えて、複数線分分割モードのパターンを特定できる。
【0204】
図25を参照して、ブロック単位で複数線分分割モードを含む分割モードの選別方法を設定する動作の一例について述べる。
【0205】
図25に示すように、
図25と
図16との差異は、ステップS204及びステップS205が含まれる点にある。
【0206】
ステップ104では、復号部201は、所定条件を満たすかどうかを判定する。復号部201は、所定条件を満たすと判定した場合は、ステップS205に進み、所定条件を満たさないと判定した場合は、ステップS203に進む。
【0207】
ここで、所定条件には、対象ブロックのブロックサイズが所定のブロックサイズ以下(或いは、未満)であるという条件が含まれてもよい。所定のブロックサイズとしては、例えば、8×8画素、16×16画素、32×32画素、64×64画素、128×128画素のような、2のべき乗の画素数で指定してもよい。
【0208】
複数線分分割モードは、対象ブロック内を複数の線分で分割するという性質上、大サイズブロックでは、複数の線分による分割境界がブロック内にあるブロック境界に整合しづらい。
【0209】
一方で、小サイズブロックでは複数の線分による分割境界がブロック内にあるブロック境界に整合しやすいため、上述のように大サイズブロックを制限するようにブロックサイズの閾値を設定することで、小サイズブロックにのみ複数線分分割モードを有効にすることができ、結果として符号化性能が向上できる。
【0210】
変更例として、対象ブロックのブロックサイズに基づく閾値判定ではなく、対象ブロックの短辺に基づく閾値判定であってもよい。
【0211】
具体的には、ステップS204の所定条件に対象ブロックの短辺が所定の画素以下(或いは、は未満)であるという条件が含まれてもよい。所定の画素は、例えば、8画素、16画素、32画素、64画素、128×128画素のような、2のべき乗の画素数で指定してもよい。
【0212】
これにより、上述した対象ブロックのブロックサイズに基づく閾値判定と同様の効果が得られる。
【0213】
逆に、この所定条件に対して、対象ブロックのブロックサイズが所定のブロックサイズ以上である(或いは、より大きい)という条件が含まれてもよい。所定のブロックサイズは、例えば、4×4画素、8×8画素、16×16画素、32×32画素のような、2のべき乗の画素数で指定してもよい。
【0214】
複数線分分割モードは、対象ブロック内を複数の線分で分割するという性質上、上述の通り、小サイズブロックでは、複数の線分による分割境界がブロック内にあるブロック境界に整合しやすいが、極度に小さいブロックサイズでは、複数の線分同士或いは複数の線分と対象ブロック境界との間の距離が短くなるため、対象ブロック内を1つの線分で分割する従来の分割モードや従来の符号化ブロック分割との差異が生じづらい。
【0215】
よって、極度に小さいブロックサイズに対して、上述のように、ブロックサイズに基づく閾値判定により、極度に小さいサイズの対象ブロックへの複数線分分割モードを無効にできるため、複数線分分割モードの特定に必要な制御情報の符号量が削減され、結果として符号化性能が向上する。
【0216】
変更例として、対象ブロックのブロックサイズに基づく閾値判定ではなく、対象ブロックの長編に基づく閾値判定であってもよい。具体的には、ステップS204の所定条件に対象ブロックの長辺が所定の画素以上(或いは、より大きい)であるという条件が含まれてもよい。所定の画素は、例えば、4画素、8画素、16画素、32画素のような、2のべき乗の画素数で指定してもよい。
【0217】
これにより、上述した対象ブロックのブロックサイズに基づく閾値判定と同様の効果が得られる。
【0218】
復号部201は、シーケンスパラメータセットで、後述するテンプレートマッチングに基づく、分割モードを特定するためのcu_div_idx(制御情報)の復号値に対応付けられる分割モードの並び替えに関する技術(以下、テンプレートに基づく分割モード添え字並び替え)が有効であるか否かをシーケンス単位で制御するsps_div_template_reordering_enabled_flag(制御情報)が1であるか否かについて判定する。
【0219】
sps_div_template_reordering_enabled_flagが1である場合は、テンプレートに基づく分割モード添え字並び替えが有効であることを示し、sps_div_template_reordering_enabled_flagが0である場合は、テンプレートに基づく分割モード添え字並び替えが無効であることを示す。
【0220】
復号部201は、sps_div_template_reordering_enabled_flagが1(Yes)である場合は、ステップS102に進む。
【0221】
一方、復号部201は、sps_div_template_reordering_enabled_flagが0(No)である場合は、本処理を終了する。
【0222】
詳細は、後述するが、テンプレートに基づく分割モード添え字並び替えは、分割モード添え字の符号長を短縮する効果がある。そのため、テンプレートに基づく分割モード添え字並び替えが有効である場合にのみ、複数線分割モードを有効と判定することで、複数線分分割モードの種類或いは複数線分分割モードを含んだ分割モードの種類を復号対象ブロック単位で特定するためのcu_div_idx(制御情報)の符号量を削減でき、結果として符号化性能の向上が期待できる。
【0223】
(複数線分分割モード向けの動き情報の導出方法)
以下、複数線分分割モード向けの動き情報の導出方法について説明する。
【0224】
複数線分分割モードで分割される小領域A又は小領域Bに対する動き情報は、非特許文献1で開示されている幾何学分割モードと同じ動き情報の導出方法を適用してもよい。
【0225】
具体的には、動き補償部208は、小領域A及び小領域Bに対して、復号対象ブロックの近傍ブロックの動き情報から構成される動き情報候補リスト(マージ候補リスト)を作成し、画像符号化装置から伝送される当該マージ候補リスト内の動き情報を識別する制御情報(マージインデックス)を用いて、当該マージ候補リストの中から動き情報を導出する。
【0226】
小領域A及び小領域Bがいずれもインター予測である場合は、復号部201は、それぞれに異なる動き情報が導出されるように、異なる動き情報の候補を示すマージインデックスを復号する。
【0227】
なお、動き情報候補リストに動き情報の候補を導出して登録する方法として、非特許文献1では空間マージという技術が開示されている。具体的には、
図22に示す復号対象ブロックに隣接するA0、A1、B0、B1、B2の位置にある動き情報を、復号対象ブロックの動き情報の候補(空間マージ候補)として、動き情報候補リストに登録する。
【0228】
動き補償部208は、この動き情報候補リストに登録可能な空間マージ候補を、複数線分分割モードに応じて限定してもよい。具体的には、複数線分分割モードに応じて区分される各小領域に隣接する空間マージのみに登録を限定してもよい。
【0229】
各小領域に対していずれの空間マージ候補も隣接しない場合は、登録可能な空間マージ候補を、最近接の空間マージ候補のみに限定するか、或いは、全M個(Mは自然数、上述では5個のケースを例示)に対して近接位置にあるN個(Nは自然数、N<M)の空間マージ候補のみに限定してもよい。
【0230】
また、複数線分分割モードにより区分される小領域が復号対象ブロックの右下端に位置するといった、全ての空間マージ候補から距離が離れている場合は、この小領域に対して全ての候補を登録対象に含めてもよい。
【0231】
なお、
図22では、空間マージ候補として、復号対象ブロックの左上端1個、右端2個、左下端2個の合計5個のケースを例示しているが、B2とB0との間や、B2とA0との間といった、非特許文献1に対して新たな空間マージ候補位置を扱うケースであっても、本技術が適用できる。
【0232】
(複数線分分割モード向けのイントラ予測モードの導出方法)
以下、複数線分分割モード向けのイントラ予測モードの導出方法について説明する。
【0233】
合成部205は、複数線分分割モードで分割される小領域A又は小領域Bに対するイントラ予測モードについて、各分割線に対して、平行な角度予測モード(Angular予測モード)を適用してもよい。
【0234】
或いは、合成部205は、複数線分分割モードで分割される小領域A又は小領域Bに対するイントラ予測モードについて、各分割線に対して、垂直な角度予測モード(Angular予測モード)を適用してもよい。
【0235】
図17は、分割線1に対して平行な角度予測モードを適用するケースの一例を示す。
【0236】
或いは、合成部205は、複数線分分割モードで分割される小領域A又は小領域Bに対するイントラ予測モードについて、非特許文献3で開示されている隣接画素の解析に基づく導出技術を用いて導出してもよい。
【0237】
以下に、3種類の導出技術について説明する。
【0238】
[隣接参照画素に基づくイントラ予測モード導出方法1]
以下、
図18~
図20を用いて、非特許文献3に係る通常イントラ予測に対する隣接参照画素に基づくイントラ予測モードの導出方法、及び、かかる導出方法を応用した本実施形態に係る幾何学分割モードに対する隣接参照画素に基づくイントラ予測モードの導出方法1を説明する。
【0239】
図18は、非特許文献3に係る通常イントラ予測に対する隣接参照画素に基づくイントラ予測モードの導出方法、及び、かかる導出方法を応用した本実施形態に係る幾何学分割モードに対する隣接参照画素に基づくイントラ予測モードの導出方法1の一例を示す図である。以降では、これらの導出方法を総じて「DIMD(Decoder-side Intra Mode Derivation)」と呼称する。
【0240】
非特許文献3では、かかるDIMDにおいて、
図18に示すように、復号対象ブロックに隣接する隣接参照画素に対して、3×3画素のウインドウサイズの横及び縦方向のSobelフィルタを適用して、通常イントラ予測向けの全Angular予測モードに対する画素値のヒストグラムを計算する。ここで、Sobelフィルタを適用して各Angular予測モードに対応付けるための隣接参照画素の角度及び画素値の計算方法については、非特許文献3と同じ構成を本実施形態でも採ることができるため、詳細な説明は省略する。
【0241】
非特許文献3では、また、復号対象ブロックのブロックサイズに応じて、ヒストグラムの計算に使用する隣接参照画素領域が、
図18に示すように制御されている。具体的には、4×4画素ブロックでは、復号対象ブロックの最上左端の画素の上及び左のそれぞれの3×3画素領域のみを使用して、ヒストグラムが計算される。
【0242】
非特許文献3では、計算されたヒストグラムの中で最高及び次点の画素値であるイントラ予測モード及びPlanarモードを用いてイントラ予測画素が生成され、さらに、生成されたイントラ予測画素が所定の重み値を用いて加重平均されて、最終的なイントラ予測画素が生成される。
【0243】
本実施形態では、合成部205は、上述の非特許文献3で開示されているDIMDを複数線分分割モードのイントラ予測モードの導出のみに適用してもよい。すなわち、導出された複数のイントラ予測モードを用いたイントラ予測画素の合成/生成処理は行わない。
【0244】
これにより、複数線分分割モードのイントラ予測領域(Intra/Intra-複数線分分割モードの場合は、2つのイントラ予測領域)に対して、1つのイントラ予測モードでイントラ予測画素生成できるため、ハードウェア実装された画像復号装置における複数線分分割モードのイントラ予測画素の生成に必要な回路規模の増大を回避しつつ、復号対象ブロックの隣接参照画素のヒストグラムの解析によって、複数線分分割モードの分割形状に適したエッジ等のテクスチャを反映したイントラ予測を適用できるようになるため、イントラ予測性能が向上し、結果として符号化性能の改善が期待できる。
【0245】
なお、本実施形態において、非特許文献3と同様に、復号部201は、DIMDの適用可不可を判定するフラグを復号或いは推定することで、イントラ予測モードを導出するかしないかについて判定するように構成してもよい。
【0246】
また、本実施形態に係る合成部205は、複数線分分割モード向けのイントラ予測モード候補リストに既に同一のイントラ予測モードが含まれない場合は、かかるDIMDにより導出したイントラ予測モードを登録し、複数線分分割モード向けのイントラ予測モード候補リストに既に同一のイントラ予測モードが含まれる場合は、かかるDIMDにより導出したイントラ予測モードを登録しないように構成されていてもよい。
【0247】
かかる構成によれば、イントラ予測モード候補リスト内に同じイントラ予測モードが重複して登録されることを回避できる。
【0248】
ここで、かかるイントラ予測モード候補リストに対する新規のイントラ予測モードを登録する際に、既存のイントラ予測モードとの一致性を比較して、両者が一致する場合は、剪定する処理を、以降では、「イントラ予測モード候補剪定処理」と呼称する。
【0249】
また、本実施形態に係る合成部205は、かかるDIMDにより導出したイントラ予測モードのうち、イントラ予測モード候補リストに登録するイントラ予測モード数を1つに限定してもよい。その場合、合成部205は、ヒストグラムの中から最高画素値(輝度値)であるAngular予測モードを導出する。
【0250】
なお、上述のイントラ予測モード候補剪定処理で、最高画素値(輝度値)であるAngular予測モード(以下、1st Angular予測モード)が剪定される場合は、順次ヒストグラムの高い方から既存のイントラ予測モードと比較して、両者が一致しないものを登録してもよい。
【0251】
或いは、上述のイントラ予測モード候補剪定処理で、1st Angular予測モードが剪定される場合は、DIMDによるイントラ予測モードの導出処理を終了してもよい。
【0252】
変更例として、DIMDにより導出したイントラ予測モードのうち、イントラ予測モード候補リストに登録するイントラ予測モード数を2つに限定してもよい。かかる場合、合成部205は、ヒストグラムの中から1st Angular予測モード及び最高画素値(輝度値)の次点である2nd Angular予測モードを導出する。
【0253】
なお、1st Angular予測モード又は2nd Angular予測モードが剪定される場合は、上述の場合と同様に、これらの次にヒストグラムの高い方から既存のイントラ予測モードと比較して、両者が一致しないものを登録してもよいし、そのままDIMDによるイントラ予測モードの導出処理を終了してもよい。
【0254】
また、本実施形態に係る合成部205は、複数線分分割モードの分割形状(すなわち、複数線分分割モード分割線の角度)に基づいて、上述のDIMDのヒストグラム計算に用いる隣接参照画素を所定領域に制限してもよい。
【0255】
図19は、非特許文献3で開示されている複数線分分割モード向けのテンプレートマッチングという技術において、複数線分分割モードの分割線に基づいて参照するテンプレート(隣接参照画素)のエリアを制限するためのテーブルを示す図である。
【0256】
具体的には、
図19に示すA及びLは、それぞれ復号対象ブロックの上部及び左部を示す。
【0257】
本実施形態では、この非特許文献3で開示されている複数線分分割モードの分割線に基づいて規定された(制限された)隣接参照画素のテーブルを、DIMDのヒストグラムの計算に適用することで、DIMDのヒストグラムの計算において、復号対象ブロックに隣接する全ての隣接参照画素を計算に使用することを回避しつつ、複数線分分割モードの分割線の方向にのみ存在する隣接参照画素を用いてAngular予測を導出できるため、複数線分分割モードのインター予測に対するDIMDによるイントラ予測モードの導出処理負荷を軽減できる。
【0258】
或いは、合成部205は、上述の
図19の隣接参照画素テーブルではなく、
図20に示すように、複数線分分割モードで区分される小領域A又は小領域Bに対して、復号対象ブロックの左又は上のブロック境界に跨いで面する参照画素領域のみを使用して、DIMDによるイントラ予測モードを導出してもよい。
【0259】
また、合成部205は、複数線分分割モードで、
図20(c)の例に示すように、小領域A又は小領域Bに対して、復号対象ブロックの左又は上のブロック境界に跨いで面する参照画素領域がない場合は、
図20(c)に示すように、全ての参照画素を使用してDIMDによるイントラ予測モードを導出してもよい。
【0260】
[隣接参照画素に基づくイントラ予測モード導出方法2]
以下、
図19~
図21を用いて、非特許文献4に係る通常イントラ予測に対する隣接参照画素に基づくイントラ予測モードの導出方法、及び、かかる導出方法を応用した本実施形態に係る幾何学分割モードに対する隣接参照画素に基づくイントラ予測モードの導出方法2を説明する。
【0261】
図21は、非特許文献4に係る通常イントラ予測に対する隣接参照画素に基づくイントラ予測モードの導出方法、及び、かかる導出方法を応用した本実施形態に係る幾何学分割モードに対する隣接参照画素に基づくイントラ予測モードの導出方法2の一例を示す図である。以降では、これらの導出方法を総じて「TIMD(Template-based Intra Mode Derivation)」と呼称する。
【0262】
非特許文献4では、TIMDにおいて、
図21に示すように、復号対象ブロックに隣接する所定ラインの隣接参照画素(以下、テンプレート)、及び、かかるテンプレート向けの隣接参照画素及び所定のイントラ予測モードを用いて生成したテンプレート向けイントラ予測画素(以下、テンプレート向けイントラ予測画素)のSATD(Sum of Absolute Transformed Difference)を計算し、所定のイントラ予測モードの中でSATDが最小及びその次点であるイントラ予測モードを、TIMDのイントラ予測モードとして導出して、イントラ予測画素を生成する。
【0263】
ここで、上述のTIMDのSATDの計算において使用されるイントラ予測モードは、通常イントラ予測向けのイントラ予測モード候補リストに含まれるイントラ予測モードである。
【0264】
非特許文献4におけるTIMDでは、通常イントラ予測向けイントラ予測モード候補リストに、垂直予測モード、水平予測モード及びDC予測モードが含まれていない場合は、これらを含んだ状態で、SATDを計算して、イントラ予測モードを導出する。
【0265】
本実施形態では、かかる非特許文献4で開示されているTIMDを応用して、合成部205は、イントラ予測モードを導出してもよい。すなわち、合成部205は、導出した複数のイントラ予測モードを用いたイントラ予測画素の合成/生成処理について行わない。
【0266】
かかる構成によれば、複数線分分割モードのイントラ予測領域(Intra/Intra-複数線分分割モードの場合は、2つのイントラ予測領域)に対して、1つのイントラ予測モードでイントラ予測画素を生成できるため、ハードウェア実装された画像復号装置における複数線分分割モードのイントラ予測画素の生成に必要な回路規模の増大を回避しつつ、復号対象ブロックの隣接参照画素のヒストグラムの解析によって、複数線分分割モードの分割形状に適したエッジ等のテクスチャを反映したイントラ予測を適用できるようになるため、イントラ予測性能が向上し、結果として符号化性能の改善が期待できる。
【0267】
なお、本実施形態において、非特許文献3と同様に、復号部201は、TIMDの適用可不可を判定するフラグを復号又は推定することで、イントラ予測モードを導出するかしないかについて判定するように構成されていてもよい。
【0268】
また、本実施形態に係る合成部205は、複数線分分割モード向けのイントラ予測モード候補リストに既に同一のイントラ予測モードが含まれない場合、TIMDにより導出したイントラ予測モードを登録し、複数線分分割モード向けのイントラ予測モード候補リストに既に同一のイントラ予測モードが含まれている場合、TIMDにより導出したイントラ予測モードを登録しないように構成されていてもよい。
【0269】
かかる構成によれば、イントラ予測モード候補リスト内に同じイントラ予測モードが重複して登録されることを回避できる。
【0270】
ここで、かかるイントラ予測モード候補リストに対する新規のイントラ予測モードを登録する際に、既存のイントラ予測モードとの一致性を比較して、両者が一致する場合に剪定する処理を、以降では、「イントラ予測モード候補剪定処理」と呼称する。
【0271】
また、本実施形態に係る合成部205は、TIMDにより導出したイントラ予測モードのうち、イントラ予測モード候補リストに登録するイントラ予測モード数を1つに限定してもよい。かかる場合、合成部205は、SATDの計算の中から最小のSATDコストであるイントラ予測モード(Angular予測)を導出する。
【0272】
ただし、本実施形態では、かかるTIMD処理におけるSATDの計算において、非特許文献4とは異なり、DC予測モードをSATDの計算の中から除外してもよい。
【0273】
なぜなら、復号対象ブロックに隣接する隣接参照画素の全てを用いてイントラ予測画素を生成するDC予測は、複数線分分割モードの分割形状に応じたエッジ等のテクスチャを適切に反映できずに、イントラ予測画素を生成してしまう可能性があるため、DC予測をTIMD処理におけるSATDの計算から除外することで、TIMDでDC予測モードが導出されることを回避できる。
【0274】
なお、上述のイントラ予測モード候補剪定処理において、最小のSATDコストであるAngular予測モード(以下、1st Angular予測モード)が剪定される場合は、順次SATDコストの低い方から既存のイントラ予測モードと比較して、両者が一致しないものを登録してもよい。或いは、1st Angular予測モードが剪定される場合は、TIMDによるイントラ予測モードの導出処理を終了してもよい。
【0275】
変更例として、TIMDにより導出したイントラ予測モードのうち、イントラ予測モード候補リストに登録するイントラ予測モード数を2つに限定してもよい。かかる場合、合成部205は、SATDコストの中から1st Angular予測モード及び最小のSATDコストの次点である2nd Angular予測モードを導出する。
【0276】
なお、1st Angular予測モード又は2nd Angular予測モードが剪定される場合は、上述の場合と同様に、これらの次にSATDコストの低い方から既存のイントラ予測モードと比較して、両者が一致しないものを登録してもよいし、そのままTIMDによるイントラ予測モードの導出処理を終了してもよい。
【0277】
また、本実施形態に係る合成部205は、複数線分分割モードの分割形状(すなわち、複数線分分割モード分割線の角度)に基づいて、上述のTIMDのヒストグラムの計算に用いる隣接参照画素を所定領域に制限してもよい。
【0278】
本実施形態では、
図19に示す非特許文献3で開示されている複数線分分割モードの分割線に基づいて規定された隣接参照画素領域のテーブルを、TIMD処理におけるSATDの計算に適用することで、TIMD処理におけるSATDの計算において、復号対象ブロックに隣接する全ての隣接参照画素を計算に使用することを回避しつつ、複数線分分割モードの分割線の方向にのみ存在する隣接参照画素を用いてAngular予測を導出できるため、複数線分分割モードのインター予測に対するTIMDによるイントラ予測モードの導出処理の負荷を軽減できる。
【0279】
さらに、本実施形態に係る合成部205は、TIMD処理におけるSATDの計算に使用するイントラ予測モードと同一のイントラ予測モードが既にイントラ予測モード候補リストに登録されている場合は、かかるイントラ予測モードのSATDの計算以降を処理しないように構成してもよい。
【0280】
かかる構成によれば、イントラ予測モードに既に登録されたイントラ予測モードに対して、重複してTIMD処理を経て同一のイントラ予測モードが登録されることを回避できるため、複数線分分割モードのインター予測に対するTIMD処理の負荷を軽減できる。
【0281】
或いは、合成部205は、上述の
図19に示す隣接参照画素テーブルではなく、
図20に示すように、複数線分分割モードで区分される小領域A又は小領域Bに対して、復号対象ブロックの左又は上のブロック境界に跨いで面する参照画素領域のみを使用して、TIMDによるイントラ予測モードを導出してもよい。
【0282】
また、合成部205は、複数線分分割モードで、
図20(c)に示すように、小領域A又は小領域Bに対して、復号対象ブロックの左又は上のブロック境界に跨いで面する参照画素領域がない場合は、
図20(c)に示すように、全ての参照画素を使用してTIMDによるイントラ予測モードを導出してもよい。
【0283】
[隣接参照ブロックに基づくイントラ予測モード導出方法]
以下、
図19、22を用いて、非特許文献1及び非特許文献3に係る通常イントラ予測に対する隣接参照ブロックに基づくイントラ予測モードの導出方法、及び、かかる導出方法を応用した本実施形態に係る幾何学分割モードに対する隣接参照ブロックに基づくイントラ予測モードの導出方法について説明する。
【0284】
図22は、非特許文献1及び非特許文献3に係る通常イントラ予測に対する隣接参照ブロックに基づくイントラ予測モードの導出方法、及び、かかる導出方法を応用した本実施形態に係る幾何学分割モードに対する隣接参照ブロックに基づくイントラ予測モードの導出方法の一例を示す図である。以降では、これらの導出方法を総じて「BIMD(Block-based Intra Mode Derivation)」と呼称する。
【0285】
非特許文献4では、BIMDにおいて、
図22に示すように、復号対象ブロックに隣接する所定位置の隣接参照ブロックが有するイントラ予測モードを、BIMDのイントラ予測モードとして導出して、イントラ予測画素を生成する。なお、ここで導出される隣接参照ブロックのイントラ予測モードは、隣接参照ブロックがイントラ予測ブロックである場合は、当該隣接参照ブロックが有するイントラ予測モードがそのまま参照されるが、隣接参照ブロックがインター予測ブロックであるか、或いは、インター予測ブロックかつイントラ予測が適用された複数線分分割モード適用ブロックである場合には、後述する4×4サブブロック画素単位で保存されるイントラ予測モードが参照される。
【0286】
ここで、非特許文献1及び非特許文献3では、上述のBIMDにおいて参照される隣接参照ブロックは、
図22に示すように、復号対象ブロックの左(A0)、左下(A1)、上(B0)、右上(B1)及び左上(B2)に設定されている。
【0287】
本実施形態では、非特許文献1及び非特許文献3で開示されているBIMDを応用して、合成部205は、イントラ予測モードを導出してもよい。すなわち、合成部205は、導出した複数のイントラ予測モードを用いたイントラ予測画素の合成/生成処理は行わない。
【0288】
かかる構成によれば、複数線分分割モードのイントラ予測領域(Intra/Intra-複数線分分割モードの場合は、2つのイントラ予測領域)に対して、復号対象ブロックの隣接参照ブロックが有するイントラ予測モードが含まれうるイントラ予測モード候補リストからイントラ予測モードを選択してイントラ予測画素を生成できるため、複数線分分割モードの分割形状に適したエッジ等のテクスチャを反映したイントラ予測を適用できるようになり、イントラ予測性能が向上し、結果として符号化性能の改善が期待できる。
【0289】
また、本実施形態に係る合成部205は、複数線分分割モード向けのイントラ予測モード候補リストに既に同一のイントラ予測モードが含まれない場合は、BIMDにより導出したイントラ予測モードを登録し、複数線分分割モード向けのイントラ予測モード候補リストに既に同一のイントラ予測モードが含まれる場合は、BIMDにより導出したイントラ予測モードを登録しないように構成されていてもよい。
【0290】
かかる構成によれば、イントラ予測モード候補リスト内に同じイントラ予測モードが重複して登録されることを回避できる。
【0291】
ここで、イントラ予測モード候補リストに対する新規のイントラ予測モードを登録する際に、既存のイントラ予測モードとの一致性を比較して、両者が一致する場合に剪定する処理を、以降では、「イントラ予測モード候補剪定処理」と呼称する。
【0292】
また、本実施形態に係る合成部205は、非特許文献1及び非特許文献3とは異なり、BIMDにより導出したイントラ予測モードがDC予測モードである場合は、イントラ予測モード候補リストに登録しないように構成されていてもよい。
【0293】
なぜなら、復号対象ブロックに隣接する隣接参照画素の全てを用いてイントラ予測画素を生成するDC予測は、複数線分分割モードの分割形状に応じたエッジ等のテクスチャを適切に反映できずに、イントラ予測画素を生成してしまう可能性があるため、DC予測をBIMDのイントラ予測モードから除外して、DC予測モードがイントラ予測画素の生成に使用されることを回避できる。
【0294】
また、本実施形態に係る合成部205、BIMDによるイントラ予測モードの導出において、参照する
図22に示す最大5つの隣接参照ブロックの順序を、非特許文献1及び非特許文献3と同様に構成してもよい。なお、その参照順については、非特許文献1及び非特許文献3で開示されているため、本実施形態では詳細な説明は省略する。
【0295】
変更例として、本実施形態では、
図19に示す非特許文献3で開示されている複数線分分割モードの分割線に基づいて規定された(制限された)隣接参照画素領域のテーブルを、BIMDの隣接参照ブロックの参照に適用することで、BIMDのイントラ予測モードの導出において、復号対象ブロックに隣接する全ての隣接参照ブロックのイントラ予測モードを参照することを回避しつつ、複数線分分割モードの分割線の方向にのみ存在する隣接参照ブロックが有するイントラ予測モード(Angular予測)のみを参照してイントラ予測モードを導出できるため、複数線分分割モードのインター予測に対するBIMDによるイントラ予測モードの導出処理の負荷を軽減できる。
【0296】
[制御情報を用いたイントラ予測モード導出方法]
上述した異なるイントラ予測モードの種類について、合成部205は、上述のイントラ予測モードを一意に適用してもよいし、制御情報に応じてイントラ予測モード候補リストに含まれる異なる複数のイントラ予測モード候補から実際に適用するイントラ予測モードを選択してもよい。
【0297】
イントラ予測モード候補リストに含まれる異なる複数のイントラ予測モードの構成例を以下に示す。ここで、分割線に対する平行な角度予測モード(Parallel)、分割線に対する垂直な角度予測モード(Perpendicular)と記す。
構成例1. DIMD⇒Parallel(又は、Perpendicular)
構成例2. TIMD⇒Parallel(又は、Perpendicular)
構成例3. BIMD⇒Parallel(又は、Perpendicular)
構成例4. DIMD⇒TIMD⇒Parallel(又は、Perpendicular)
構成例5. DIMD⇒BIMD⇒Parallel(又は、Perpendicular)
構成例6. TIMD⇒BIMD⇒Parallel(又は、Perpendicular)
構成例7. DIMD⇒TIMD⇒BIMD⇒Parallel(又は、Perpendicular)
まず、構成例1~3は、DIMD、TIMD及びBIMDそれぞれにParallel(又は、Perpendicular)を組み合わせた方法である。
【0298】
Parallel(又は、Perpendicular)で導出されるイントラ予測モードは、DIMD、TIMD及びBIMDで導出されるイントラ予測モードよりも、より簡易的かつ直接的に分割線に基づくエッジ等のテクスチャを反映したイントラ予測モードを導出できるが、隣接参照画素の解析に基づくDIMD、TIMD及びBIMDよりも高精度な予測モードを導出する可能性が低いため、これらのイントラ予測モード候補よりも後にリスト内で配置する。
【0299】
次に、構成例4及び5は、DIMDをTIMD又はBIMDよりも前に配置する構成例である。
【0300】
DIMDをTIMDより前に配置した理由は、DIMDによるイントラ予測モードの導出処理がSATDの計算等の比較的重い計算処理が含まれるTIMDによるイントラ予測モードの導出よりも軽量であるためである。
【0301】
一方で、DIMDをBIMDより前に配置した理由は、ヒストグラムの計算が含まれるDIMDによるイントラ予測モードの導出処理がBIMDによるイントラ予測モードの導出よりも軽量でないが、DIMDで導出されたイントラ予測モードの方がBIMDで導出されたイントラ予測―ドよりも、ヒストグラムの計算により、よりGPMの分割線に基づくエッジ等のテクスチャを反映したイントラ予測モードを導出できる可能性があるため、イントラ予測性能の向上効果が高くなりやすいと考えられるためである。
【0302】
構成例6では、TIMDをBIMDより前に配置している。配置理由は、上述のDIMDをBIMDより前に配置する理由と同じである。
【0303】
構成例7は、GIMD、DIMD、TIMD及びBIMDの全てを組み合わせた構成例であり、上述の理由により、この順序でイントラ予測モードを導出すると、より効率的に予測性能の高いイントラ予測モードを導出できることが期待できる。
【0304】
(各イントラ予測モード導出方法の開始制限)
本実施形態に係る合成部205は、上述した幾何学ブロック分割モードに対するイントラ予測モードの各導出処理の開始時点で、イントラ予測モード候補リストに含まれるイントラ予測モードの候補数がイントラ予測モード候補リストサイズの最大値に達していない場合は、各導出処理を開始し、かかる候補数がイントラ予測モード候補リストサイズの最大値に達している場合は、各導出処理を開始しない。
【0305】
かかる構成によれば、不要なイントラ予測モードの導出処理の実行を回避でき、合成部205の全体の処理負荷の軽減が期待できる。
【0306】
(イントラ予測モード導出完了後のイントラ予測モード候補リストの登録方法)
本実施形態に係る合成部205は、上述した幾何学ブロック分割モードに対するイントラ予測モードの導出処理の完了時点で、イントラ予測モード候補リストに含まれるイントラ予測モードの候補数がイントラ予測モード候補リストサイズの最大値に達していない場合には、イントラ予測モード候補リストに既に同一の予測モードが含まれる場合、所定のイントラ予測モードを登録しないように構成されていてもよい。
【0307】
例えば、構成例1から構成例7において、DIMD、TIMD、BIMDによって導出されるイントラ予測モードと後続のParallel(又はPerpendicular)と同じである場合は、リストサイズが最大値に達していない。
【0308】
かかる場合、合成部205は、未登録のPerpendicular(又はParallel)モードを登録してもよい。或いは、合成部205は、Planarモードを登録してもよい。或いは、合成部205は、DCモードを登録してもよい。或いは、合成部205は、イントラ予測モード候補リストに最初に登録されているイントラ予測モードの近傍のイントラ予測モードを登録してもよい。
【0309】
(複数線分割複数線分分割モード向けの予測情報の保存方法)
イントラ予測部204は、複数線分分割モードで分割される小領域A又は小領域Bに対して適用されるイントラ予測モードを、復号対象ブロックを分割した所定サイズのサブブロック単位で保存する。
【0310】
かかる所定サイズは、例えば、符号化ブロック、予測ブロック又は変換ブロックの最小サイズであってもよい。或いは、かかる所定サイズは、2×2画素や4×4画素等といった固定サイズであってもよい。
【0311】
このように、小領域A又は小領域Bのそれぞれに適用されたイントラ予測モードを復号対象ブロック単位ではなくサブブロック単位で保存することでブレンディング領域におけるイントラ予測モードを正確に保存することができる。
【0312】
イントラ予測部204は、ブレンディング領域内にあるサブブロックについて、小領域A又は小領域Bのイントラ予測モードの双方を保存してもよい。或いは、イントラ予測部204は、サブブロックの中心座標から分割線を挟んで小領域A又は小領域Bのいずれに属するかで、対応するイントラ予測モードのみを保存してもよい。
【0313】
動き補償部208は、複数線分分割モードで分割される小領域Aまたは小領域Bに対して適用される動き情報(参照画像リスト、参照画像インデックス、動きベクトル)を、復号対象ブロックを分割した所定サイズのサブブロック単位で保存する。
【0314】
かかる所定サイズは、例えば、符号化ブロック、予測ブロック又は変換ブロックの最小サイズであってもよい。或いは、かかる所定サイズは、2×2画素や4×4画素等といった固定サイズであってもよい。
【0315】
このように、小領域A又は小領域Bのそれぞれに適用された動き情報を復号対象ブロック単位ではなくサブブロック単位で保存することでブレンディング領域における動き情報を正確に保存することができる。
【0316】
動き補償部208は、ブレンディング領域内にあるサブブロックについて、小領域A又は小領域Bの動き情報の双方を保存してもよい。或いは、動き補償部208は、サブブロックの中心座標から分割線を挟んで小領域A又は小領域Bのいずれに属するかで、対応する動き情報のみを保存してもよい。
【0317】
或いは、動き補償部208は、小領域A及び小領域Bの参照画像リストが異なる場合(すなわち、片方が当該フレームから見て未来方向の異なるフレームを参照し、もう片方が当該フレームから見て過去方向の異なるフレームを参照する場合)、それぞれの動きベクトルを非特許文献1に開示されている双予測のように、当該フレームと参照フレームそれぞれの距離に応じて加重平均して新たな動きベクトルを生成して保存してもよい。
【0318】
或いは、動き補償部208は、小領域A及び小領域Bの参照画像リストが同じ場合(すなわち、片方が当該フレームから見て未来方向(又は、過去方向)の異なるフレームを参照し、もう片方も当該フレームから見て未来方向(又は、過去方向)の異なるフレームを参照する場合)、小領域Bの動きベクトルのみを保存してもよい。あるいは、同ケースで、動き補償部208は、小領域Aのみを保存してもよい。
【0319】
(複数線分割複数線分分割方式モード添え字の符号順序入替方法)
合成部205は、複数線分分割モードを特定するための制御情報cu_div_idxの復号値に対応付けられる複数線分分割モードを、非特許文献3で開示されているテンプレートマッチングにより並び替えてもよい。
【0320】
具体的には、合成部205は、インター予測によって複数線分分割モードが構成される場合は、全ての複数線分分割モードについて、復号対象ブロック及び参照ブロックのそれぞれの隣接画素(テンプレート)の誤差(例として、SAD:Sum of Absolute Difference)を比較する。合成部205は、SADを算出する際は、分割線を隣接画素に対して延伸した形で重みつけ平均する。
【0321】
合成部205は、イントラ予測によって複数線分分割モードが構成される場合は、復号対象ブロックの隣接参照画素よりも1ライン以上先の参照画素にイントラ予測モードを適用して隣接画素を生成し、生成された隣接画素及び復号対象ブロックの隣接画素のSADを比較する。
【0322】
合成部205は、かかるSADの比較により、SADの小さい順にcu_div_idxの復号値に対応付けられる複数線分分割モードを並び替えることで、予測精度の高い複数線分分割モードをより小さい復号値(符号長)で利用できるようになるため、結果として符号化効率が向上する効果が得られる。
【0323】
また、合成部205は、SADの小さい順に、cu_div_idxの復号値に対応付けられる複数線分分割モードを並び替えるだけでなく、SADの小さい順から所定数に達した段階で、選択可能な複数線分分割モードの候補から除外してもよい。
【0324】
例えば、所定数としては、選択可能な複数線分分割モードの半分の候補数や複数線分分割モードを幾何学分割モードに加えた合計数の半分の候補数を設定してもよい。
【0325】
これにより、cu_div_idxに対応付けられる複数線分分割モード、ひいては、分割モードの候補数が削減されるため、cu_div_idxのさらなる符号長短縮が期待でき、結果として、結果として符号化効率が向上する効果が得られる。
【0326】
本実施形態に係る画像復号装置200によれば、単位ブロックごとに複数線分から構成される小領域に分割することによって復号するので、符号化効率を向上させることができる。
【0327】
(変更例)
なお、上述の実施形態では、複数の線分によって2つの小領域に分割するケースについて例示しているが、本発明は、かかるケースに限定されるものではなく、複数の線分によって3つ以上の小領域に分割するケースについても適用できる。
【0328】
また、上述の実施形態では、全ての小領域が復号対象ブロックの辺を含むように分割されるケースについて例示しているが、本発明は、かかるケースに限定されるものではなく、少なくとも1つの小領域が復号対象ブロックの辺を含まないように分割されるケース(すなわち、少なくとも1つの小領域が復号対象ブロックの外周に接しないように分割されるケース)についても適用できる。
【0329】
上述の画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
【産業上の利用可能性】
【0330】
なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【符号の説明】
【0331】
200…画像復号装置
201…復号部
202…逆量子化部
203…逆変換部
204…イントラ予測部
205…生成部
206…加算器
207…蓄積部
208…動き補償部
210…符号入力部
220…画像出力部