(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023156061
(43)【公開日】2023-10-24
(54)【発明の名称】画像復号装置、画像復号方法及びプログラム
(51)【国際特許分類】
H04N 19/105 20140101AFI20231017BHJP
H04N 19/134 20140101ALI20231017BHJP
H04N 19/176 20140101ALI20231017BHJP
H04N 19/196 20140101ALI20231017BHJP
H04N 19/50 20140101ALI20231017BHJP
【FI】
H04N19/105
H04N19/134
H04N19/176
H04N19/196
H04N19/50
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022065689
(22)【出願日】2022-04-12
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110001564
【氏名又は名称】フェリシテ弁理士法人
(72)【発明者】
【氏名】加藤 晴久
(72)【発明者】
【氏名】木谷 佳隆
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MC11
5C159ME01
5C159PP04
5C159SS26
5C159TA25
5C159TB08
5C159TC35
5C159UA02
5C159UA05
5C159UA22
(57)【要約】
【課題】GPMにおいて符号化効率を向上させること。
【解決手段】本発明に係る画像復号装置200は、制御情報並びに量子化値を復号する復号部201と、量子化値を逆量子化して変換係数とする逆量子化部202と、変換係数を逆変換して予測残差とする逆変換部203と、復号済み画素と制御情報とに基づいて第1予測画素を生成するイントラ予測部204と、復号済み画素を蓄積する蓄積部205と、復号済み画素と制御情報とに基づいて第2予測画素を生成する動き補償部206と、第1予測画素及び第2予測画素の少なくとも一方に対して、分割境界の幅が異なる複数の重み係数を用意し重み付け平均により分割境界の幅を制御した第3予測画素を生成する合成部207と、予測残差と第3予測画素とを加算して復号済み画素を得る加算部208とを具備する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
画像復号装置であって、
制御情報並びに量子化値を復号する復号部と、
前記復号された量子化値を逆量子化して復号された変換係数とする逆量子化部と、
前記復号された変換係数を逆変換して復号された予測残差とする逆変換部と、
復号済み画素と前記復号された制御情報とに基づいて第1予測画素を生成するイントラ予測部と、
前記復号済み画素を蓄積する蓄積部と、
前記蓄積された復号済み画素と前記復号された制御情報とに基づいて第2予測画素を生成する動き補償部と、
前記第1予測画素及び前記第2予測画素の少なくとも一方に対して、分割境界の幅が異なる複数の重み係数を用意し重み付け平均により前記分割境界の幅を制御した第3予測画素を生成する合成部と、
前記復号された予測残差と前記第3予測画素とを加算して前記復号済み画素を得る加算部とを具備することを特徴とする画像復号装置。
【請求項2】
前記合成部は、前記複数の重み係数のいずれかを選択し適用することを特徴とする請求項1に記載の画像復号装置。
【請求項3】
前記合成部は、前記重み係数として、前記分割境界に対して対称的な重み係数を設定することを特徴とする請求項1に記載の画像復号装置。
【請求項4】
前記合成部は、前記重み係数として、前記分割境界に対して非対称な重み係数を設定することを特徴とする請求項1に記載の画像復号装置。
【請求項5】
前記合成部は、前記分割境界からの画素間距離に応じて前記複数の重み係数を設定することを特徴とする請求項1に記載の画像復号装置。
【請求項6】
前記合成部は、前記分割境界からの画素間距離に応じて複数の線分で前記重み係数を設定することを特徴とする請求項に記載4の画像復号装置。
【請求項7】
前記合成部は、ブロックの輝度成分に対して導出された分割境界の幅を決定付ける重み係数を、前記ブロックの色差成分の分割境界の幅を決定付ける重み係数として使用することを特徴とする請求項に記載1の画像復号装置。
【請求項8】
前記合成部は、ダウンサンプリング方法を考慮して、ブロックの色差成分の前記分割境界の幅を決定付ける重み係数を、前記ブロックの輝度成分の分割境界の幅から導出することを特徴とする請求項に記載1の画像復号装置。
【請求項9】
画像復号方法であって、
制御情報並びに量子化値を復号する工程と、
前記復号された量子化値を逆量子化して復号された変換係数とする工程と、
前記復号された変換係数を逆変換して復号された予測残差とする工程と、
復号済み画素と前記復号された制御情報とに基づいて第1予測画素を生成する工程と、
前記復号済み画素を蓄積する工程と、
前記蓄積された復号済み画素と前記復号された制御情報とに基づいて第2予測画素を生成する工程と、
前記第1予測画素及び前記第2予測画素の少なくとも一方に対して、分割境界の幅が異なる複数の重み係数を用意し重み付け平均により前記分割境界の幅を制御した第3予測画素を生成する工程と、
前記復号された予測残差と前記第3予測画素とを加算して前記復号済み画素を得る工程とを有することを特徴とする画像復号方法。
【請求項10】
コンピュータを、画像復号装置として機能させるプログラムであって、
前記画像復号装置は、
制御情報並びに量子化値を復号する復号部と、
前記復号された量子化値を逆量子化して復号された変換係数とする逆量子化部と、
前記復号された変換係数を逆変換して復号された予測残差とする逆変換部と、
復号済み画素と前記復号された制御情報とに基づいて第1予測画素を生成するイントラ予測部と、
前記復号済み画素を蓄積する蓄積部と、
前記蓄積された復号済み画素と前記復号された制御情報とに基づいて第2予測画素を生成する動き補償部と、
前記第1予測画素及び前記第2予測画素の少なくとも一方に対して、分割境界の幅が異なる複数の重み係数を用意し重み付け平均により前記分割境界の幅を制御した第3予測画素を生成する合成部と、
前記復号された予測残差と前記第3予測画素とを加算して前記復号済み画素を得る加算部とを具備することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像復号装置、画像復号方法及びプログラムに関する。
【背景技術】
【0002】
非特許文献1及び非特許文献2では、幾何学分割モード(GPM:Geometric Partitioning Mode)が開示されている。
【0003】
GPMは、矩形ブロックを斜めに2分割しそれぞれを動き補償する。具体的には、分割された2領域は、それぞれマージベクトルにより動き補償され重み付き平均により合成される。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】ITU-T H.266/VVC
【非特許文献2】CE4:Summary report on Inter prediction with geometric partitioning、JVET-Q0024
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1及び非特許文献2で開示されている技術では、重み付き平均のパターンが限定されているため、符号化性能の向上には改善の余地があるという問題点があった。 そこで、本発明は、上述の課題に鑑みてなされたものであり、GPMにおいて符号化効率を向上させることができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の特徴は、画像復号装置であって、制御情報並びに量子化値を復号する復号部と、前記復号された量子化値を逆量子化して復号された変換係数とする逆量子化部と、前記復号された変換係数を逆変換して復号された予測残差とする逆変換部と、復号済み画素と前記復号された制御情報とに基づいて第1予測画素を生成するイントラ予測部と、前記復号済み画素を蓄積する蓄積部と、前記蓄積された復号済み画素と前記復号された制御情報とに基づいて第2予測画素を生成する動き補償部と、前記第1予測画素及び前記第2予測画素の少なくとも一方に対して、分割境界の幅が異なる複数の重み係数を用意し重み付け平均により前記分割境界の幅を制御した第3予測画素を生成する合成部と、前記復号された予測残差と前記第3予測画素とを加算して前記復号済み画素を得る加算部とを具備することを要旨とする。
【0007】
本発明の第2の特徴は、画像復号方法であって、制御情報並びに量子化値を復号する工程と、前記復号された量子化値を逆量子化して復号された変換係数とする工程と、前記復号された変換係数を逆変換して復号された予測残差とする工程と、復号済み画素と前記復号された制御情報とに基づいて第1予測画素を生成する工程と、前記復号済み画素を蓄積する工程と、前記蓄積された復号済み画素と前記復号された制御情報とに基づいて第2予測画素を生成する工程と、前記第1予測画素及び前記第2予測画素の少なくとも一方に対して、分割境界の幅が異なる複数の重み係数を用意し重み付け平均により前記分割境界の幅を制御した第3予測画素を生成する工程と、前記復号された予測残差と前記第3予測画素とを加算して前記復号済み画素を得る工程とを有することを要旨とする。
【0008】
本発明の第3の特徴は、コンピュータを、画像復号装置として機能させるプログラムであって、前記画像復号装置は、制御情報並びに量子化値を復号する復号部と、前記復号された量子化値を逆量子化して復号された変換係数とする逆量子化部と、前記復号された変換係数を逆変換して復号された予測残差とする逆変換部と、復号済み画素と前記復号された制御情報とに基づいて第1予測画素を生成するイントラ予測部と、前記復号済み画素を蓄積する蓄積部と、前記蓄積された復号済み画素と前記復号された制御情報とに基づいて第2予測画素を生成する動き補償部と、前記第1予測画素及び前記第2予測画素の少なくとも一方に対して、分割境界の幅が異なる複数の重み係数を用意し重み付け平均により前記分割境界の幅を制御した第3予測画素を生成する合成部と、前記復号された予測残差と前記第3予測画素とを加算して前記復号済み画素を得る加算部とを具備することを要旨とする。
【発明の効果】
【0009】
本発明によれば、GPMにおいて符号化効率を向上させることができる画像復号装置、画像復号方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。
【
図2】
図2は、矩形の単位ブロックが分割境界によって、小領域Aと小領域Bに2分割されるケースの一例を示す図である。
【
図3】
図3は、
図2に示す小領域Bの分割境界に割り当てる3パターンの重み係数の一例を示す図である。
【
図4】
図4は、パターン(2)の重み係数wを8×8ブロックに適用した例を示す図である。
【
図5】
図5は、パターン(1)の重み係数wを8×8ブロックに適用した例を示す図である。
【
図6】
図6は、パターン(3)の重み係数wを8×8ブロックに適用した例を示す図である。
【
図7】
図7は、第1実施形態における合成部207による重み係数の設定処理の一例について説明するフローチャートである。
【
図8】
図8は、第2実施形態における合成部207による重み係数の設定処理の一例について説明するフローチャートである。
【
図9】
図9は、第2実施形態について説明するための図である。
【
図10】
図10は、第2実施形態について説明するための図である。
【
図11】
図11は、第3実施形態における合成部207による重み係数の設定処理の一例について説明するフローチャートである。
【
図12】
図12は、重み係数が分割境界からの距離に基づいて規定される一例を説明するための図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0012】
<第1実施形態>
以下、
図1~
図7を参照して、本実施形態に係る画像復号装置200について説明する。
図1は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
【0013】
図1に示すように、画像復号装置200は、符号入力部210と、復号部201と、逆量子化部202と、逆変換部203と、イントラ予測部204と、蓄積部205と、動き補償部206と、合成部207と、加算部208と、画像出力部220とを有する。
【0014】
符号入力部210は、画像符号化装置によって符号化された符号情報を取得するように構成されている。
【0015】
復号部201は、符号入力部210から入力された符号情報から、制御情報並びに量子化値を復号するように構成されている。例えば、復号部201は、かかる符号情報に対して可変長復号を行うことで制御情報及び量子化値を出力するように構成されている。
【0016】
ここで、量子化値は、逆量子化部202に送られ、制御情報は、動き補償部206、イントラ予測部204及び合成部207に送られる。なお、かかる制御情報は、動き補償部206、イントラ予測部204及び合成部207等の制御に必要な情報を含み、シーケンスパラメータセットやピクチャパラメータセットやピクチャヘッダやスライスヘッダ等のヘッダ情報を含んでもよい。
【0017】
逆量子化部202は、復号部201から送られた量子化値を逆量子化して復号された変換係数とするように構成されている。かかる変換係数は、逆変換部203に送られる。
【0018】
逆変換部203は、逆量子化部202から送られた変換係数を逆変換して復号された予測残差とするように構成されている。かかる予測残差は、加算部208に送られる。
【0019】
イントラ予測部204は、復号済み画素と復号部201から送られた制御情報とに基づいて第1予測画素を生成するように構成されている。ここで、復号済み画素は、加算部208を介して得られて蓄積部205に蓄積されるものである。また、第1予測画素は、合成部207で設定される小領域における入力画素の近似値としての予測画素である。なお、第1予測画素は、合成部207に送られる。
【0020】
蓄積部205は、加算部208から送られた復号済み画素を累積的に蓄積するように構成されている。かかる復号済み画素は、蓄積部205を介して動き補償部206からの参照を受ける。
【0021】
動き補償部206は、蓄積部205に蓄積された復号済み画素と復号部201から送られた制御情報とに基づいて第2予測画素を生成するように構成されている。ここで、第2予測画素は、合成部207で設定される小領域における入力画素の近似値としての予測画素である。なお、第2予測画素は、合成部207に送られる。
【0022】
加算部208は、逆変換部203から送られる予測残差と、合成部207から送られる第3予測画素とを加算して復号済み画素を得るように構成されている。かかる復号済み画素は、画像出力部220、蓄積部205及びイントラ予測部204へ送られる。
【0023】
合成部207は、イントラ予測部204から送られる第1予測画素及び動き補償部206から送られる第2予測画素の少なくとも一方に対して、分割境界の幅が異なる複数の重み係数を用意し重み付け平均により分割境界の幅を制御した第3予測画素を生成するように構成されている。
【0024】
合成部207の役割は、後段の加算部208において復号対象ブロックを高精度に補償するために、当該復号対象ブロックに最適な複数の予測画素に対する重み係数を選択して、入力された複数の予測画素を重み係数に応じて合成することにある。
【0025】
復号対象ブロックが複数の小領域に分割されている分割モードとしては任意のものを利用できるが、以下では、分割モードの一例として非特許文献1と非特許文献2で開示されている、幾何学ブロック分割モード(GPM:Geometric Partitioning Mode)を用いた場合について説明する。
【0026】
重み係数については、単位ブロックの画素ごとに予め設定した任意の値を設定した複数のパターンを用意しておき、いずれかのパターンを適用する。すなわち、合成部207は、複数の重み係数のいずれかを選択し適用するように構成されていてもよい。
【0027】
かかる構成によれば、複数の重み係数が設定されているルックアップテーブル等を用意しておくことで、合成部207は、毎回、重み係数を計算する必要がなくなる。
【0028】
複数の予測画素に対する重み係数の合計値は、画素ごとに1になるように設計しておき、当該重み係数を用いて複数の予測画素を重み付け平均により合成した結果を合成部207による予測画素とする。
【0029】
重み係数を1(すなわち、最大値)とした画素は、当該入力予測画素を採用し、重み係数を0(すなわち、最小値)とした画素は、当該入力予測画素を用いないことになるため、概念としては単位ブロックを複数の小領域に分割することに相当し、複数の入力予測画素のどの画素をどの割合でどこに適用するかを決定することになる。
【0030】
ここで、重み係数の分布は、2等分等の矩形形状分布だとより小さな単位ブロックで表現できるため、非矩形形状に分布させることが望ましい。
【0031】
図2の例では、単位ブロックを斜めの形状で分布させたケースの例を表す。
図2の例では、矩形の単位ブロックを分割境界によって小領域A及び小領域Bに2分割している。
【0032】
それぞれの小領域A/Bでは、イントラ予測又は動き補償等任意の方法で予測画素が生成される。
【0033】
このとき、分割の形状が決まっても分割境界付近の重み係数が決め打ちだと分割境界の多様性を表現できないため、符号化効率を改善できないという問題がある。
【0034】
例えば、小領域が動きの激しい領域である場合は、撮像時にボケが発生しているため、分割境界は、広い領域に渡って複数の小領域をぼかして重み付け平均した方が望ましい。
【0035】
逆に、小領域がテロップのように人工的に編集した領域である場合、ボケは発生しないため、分割境界は、狭い領域に限定して複数の小領域をただ隣接させるよう重み付け平均した方が望ましい。
【0036】
この問題を解決するため、本実施形態では、小領域の分割境界の幅が異なる複数の重み係数を用意しておき選択するという手順を取る。
【0037】
図3は、
図2に示す小領域Bの分割境界に割り当てる3パターンの重み係数の一例を示す。
図3では、分割境界の位置から画素単位の距離を横軸とし、縦軸に重み係数を表す。
【0038】
具体的には、予め設定した分割境界の位置からの画素単位の距離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)とを用意している。
これらは、重み係数が
図12に示すように、分割境界(黒の実線)からの距離d(x
c,y
c)によって一意に定められるγ
xc,ycとして規定される場合、
図12における小領域の分割境界の幅、すなわち、重み係数が最小値又は最大値以外になる幅τに対して、限定パターン(固定値)ではなく複数パターン(可変値)を用意することに等しい。ここで、x
c,y
cは、復号対象ブロック内の座標である。
【0039】
すなわち、合成部207は、分割境界からの画素間距離に応じて複数の重み係数を設定するように構成されていてもよい。
【0040】
かかる構成によれば、分割境界からの距離に比例することで境界の幅を可変にするとともに、
図12に示す従来の算出式からの変更を最小限に抑えるという効果を奏することができる。
【0041】
なお、a=bとして分割境界に対して対称的な重み係数を設定してもよい。すなわち、合成部207は、上述の重み係数として、分割境界に対して対称的な重み係数を設定するように構成されていてもよい。かかる構成によれば、bが不要になることから符号量を少なくことができる。
【0042】
また、a≠bとして分割境界に対して非対称な重み係数を設定してもよい。すなわち、合成部207は、上述の重み係数として、分割境界に対して非対称な重み係数を設定するように構成されていてもよい。かかる構成によれば、境界の両側で異なるボケ具合がある場合に、高精度に予測することができる。
【0043】
また、a及びbの2個に限らず数を増やして複数の線分等で重み係数を設定することもできる。すなわち、合成部207は、分割境界からの画素間距離に応じて複数の線分で重み係数を設定するように構成されていてもよい。かかる構成によれば、非線形にボケが発生している場合に、高精度に予測することができる。
【0044】
図4~
図6は、それぞれの重み係数wを8×8ブロックに適用した例を示す。
図4~
図6の重み係数wは、0乃至8の値を取り、次式で合成する。
【0045】
(w×小領域A+(8-w)×小領域B+4)>>3
このように、分割境界からの画素間距離に応じて複数の重み係数wを設定することで8×8や64×16等、様々なブロックサイズでも一律に導出できる効果が得られる。パターンの種類、形状及び数は、任意に設定できる。例えば、上述では、複数パターンとして距離a,bの2倍と1/2倍を説明したが、4倍や1/4倍であってもよい。また、上式では、重み係数を0~8の値に設定したが、0~16や0~32等の他の値に設定することもできる。特に、分割境界からの画素間距離が2倍や4倍の場合は、重み係数の最大値を大きくすることで、画素単位の重み付け平均が高精度化できる。
【0046】
以下、
図7を参照して、合成部207による重み係数の設定処理の一例について説明する。
【0047】
図7に示すように、ステップS101において、合成部207は、上述の制御情報に含まれるsps_div_enabled_flag、pps_div_enabled_flag及びsh_div_enabled_flagのいずれかが1であるか否かについて判定する。Noの場合(いずれも1ではない場合)、本処理は、ステップS102に進み、Yesの場合、本処理は、ステップS103に進む。
【0048】
ステップS102において、合成部207は、復号対象ブロックに対して重み係数を用いた重み付け平均を適用しない。
【0049】
ステップS103において、合成部207は、復号対象ブロックに対してGPMが適用されているか否かについて判定する。Noの場合、本処理は、ステップS102に進み、Yesの場合、本処理は、ステップS104に進む。
【0050】
ステップS104において、合成部207は、上述の制御情報に含まれるcu_div_blending_idxを復号する。
【0051】
cu_div_blending_idxが0である場合、本動作は、ステップS105に進み、cu_div_blending_idxが1である場合、本動作は、ステップS106に進み、cu_div_blending_idxが2である場合、本動作は、ステップS107に進む。
【0052】
ステップS105において、合成部207は、パターン(1)~(3)の中から、重み係数として、パターン(1)の重み係数を選択して適用する。
【0053】
ステップS106において、合成部207は、パターン(1)~(3)の中から、重み係数として、パターン(2)の重み係数を選択して適用する。
【0054】
ステップS107において、合成部207は、パターン(1)~(3)の中から、重み係数として、パターン(3)の重み係数を選択して適用する。
【0055】
なお、合成部207は、復号対象ブロックの輝度成分に対して復号対象ブロックの色差画素成分がダウンサンプリングされない場合は、復号対象ブロックの輝度成分に対して導出された分割境界の幅を決定付ける重み係数を、復号対象ブロックの色差成分の分割境界の幅を決定付ける重み係数として使用するように構成されていてもよい。かかる構成によれば、復号対象ブロックの色差成分の重み係数の導出処理を削減できる。
【0056】
また、合成部207は、復号対象ブロックの輝度成分に対して復号対象ブロックの色差成分がダウンサンプリングされない場合は、復号対象ブロックの輝度成分に対して導出された分割境界幅を決定付ける重み係数を、復号対象ブロックの色差成分の分割境界の幅を決定付ける重み係数としてそのまま使用せず、例えば、上述と同様の方法で復号対象ブロックの色差成分の分割境界の幅を決定付ける重み係数を導出してもよい。かかる構成によれば、復号対象ブロックの色差成分の重み係数を独立に導出できるため符号化性能の向上効果が期待できる。
【0057】
一方、合成部207は、復号対象ブロックの輝度成分に対して復号対象ブロックの色差成分がダウンサンプリングされる場合は、そのダウンサンプリング方法を考慮して、復号対象ブロックの色差成分の分割境界の幅を決定付ける重み係数を、復号対象ブロックの輝度成分の分割境界の幅から導出してもよい。かかる構成によれば、ダウンサンプリングされる復号対象ブロックの色差成分に対しても復号対象ブロックの輝度成分で得られる同様の効果が得られる。
【0058】
さらには、合成部207は、復号対象ブロックの輝度成分の分割境界の幅の決定にヘッダ等の制御情報を使用する場合は、復号対象ブロックの色差成分に対しては不要となるため、符号化性能の向上効果が期待できる。
【0059】
例えば、合成部207は、復号対象ブロックの輝度成分に対して復号対象ブロックの色差成分が水平方向及び垂直方向の双方が半分にダウンサンプリングされる場合は、復号対象ブロックの輝度成分に対して導出された分割境界の幅の半分になるような分割境界の幅を決定付ける重み係数を、復号対象ブロックの色差成分の分割境界の幅を決定付ける重み係数として導出してもよい。
【0060】
例えば、合成部207は、復号対象ブロックの輝度成分に対して復号対象ブロックの色差成分が水平方向或いは垂直方向のいずれか一方のみが半分にダウンサンプリングされる場合は、復号対象ブロックの輝度成分に対して導出された分割境界の幅と同等或いは半分になるような分割境界の幅を決定付ける重み係数を、復号対象ブロックの色差成分の分割境界の幅を決定付ける重み係数として導出してもよい。
【0061】
<第2実施形態>
以下、
図3、
図8~
図10を参照して、本発明の第2実施形態について、上述の第1実施形態との相違点に着目して説明する。
【0062】
本実施形態では、直接的な制御情報を不要としつつ重み係数のパターンを特定することで符号長削減を図る。
【0063】
そのため、本実施形態では、合成部207は、上述の第1予測画素及び第2予測画素の少なくとも一方に対して、複数の重み係数の中から間接的な制御情報に基づいて一意に選択した重み係数を用いた重み付け平均により第3予測画素を生成するように構成されている。
【0064】
すなわち、本実施形態では、合成部207は、複数の重み係数の中から間接的な制御情報に応じて重み係数を選択(一意に特定)するように構成されている。
【0065】
ここで、合成部207は、小領域の分割境界の幅が異なる複数の重み係数を用意しておき、かかる複数の重み係数の中から重み係数を選択するように構成されていてもよい。
【0066】
具体的には、合成部207は、間接的な制御情報としての復号対象ブロックの形状に応じて、複数の重み係数の中から重み係数を選択するように構成されていてもよい。
【0067】
例えば、合成部207は、復号対象ブロックの短辺、復号対象ブロックの長辺、復号対象ブロックの縦横比、分割モード及び復号対象ブロックの画素数の少なくとも1つに応じて、複数の重み係数の中から重み係数を選択するように構成されていてもよい。
【0068】
例えば、復号対象ブロックの形状として復号対象ブロックの短辺を利用する場合、復号対象ブロックの短辺が小さい場合は、広い領域に渡って重み付け平均してしまうと単純な双方向予測と変わらなくなってしまうため、分割境界の幅が広いパターンの重み係数については選択肢から外すことが望ましい。
【0069】
例えば、
図3の例では、合成部207は、復号対象ブロックの短辺が閾値以下の場合、パターン(3)の重み係数を選択し、復号対象ブロックの短辺が閾値より大きい場合、パターン(2)の重み係数を選択することで、パターン数を増やしつつパターンの制御情報を不要とし、符号化効率を向上させられる効果が得られる。
【0070】
以下、
図8を参照して、合成部207による重み係数の設定処理の一例について説明する。
【0071】
図8に示すように、ステップS201において、合成部207は、上述の制御情報に含まれるsps_div_enabled_flag、pps_div_enabled_flag及びsh_div_enabled_flagのいずれかが1であるか否かについて判定する。Noの場合(いずれも1ではない場合)、本処理は、ステップS202に進み、Yesの場合、本処理は、ステップS203に進む。
【0072】
ステップS202において、合成部207は、復号対象ブロックに対して重み係数を用いた重み付け平均を適用しない。
【0073】
ステップS203において、合成部207は、復号対象ブロックに対してGPMが適用されているか否かについて判定する。Noの場合、本処理は、ステップS202に進み、Yesの場合、本処理は、ステップS204に進む。
【0074】
ステップS204において、合成部207は、復号対象ブロックの短辺が予め設定した閾値1以下であるか否かについて判定する。Noの場合、本処理は、ステップS205に進み、Yesの場合、本処理は、ステップS208に進む。
【0075】
ステップS205において、合成部207は、復号対象ブロックの短辺が予め設定した閾値2以下であるか否かについて判定する。ここで、閾値2は、閾値1よりも大きい。Noの場合、本処理は、ステップS206に進み、Yesの場合、本処理は、ステップS207に進む。
【0076】
ステップS206において、合成部207は、パターン(1)~(3)の中から、重み係数として、パターン(2)の重み係数を選択して適用する。
【0077】
ステップS207において、合成部207は、パターン(1)~(3)の中から、重み係数として、パターン(1)の重み係数を選択して適用する。
【0078】
ステップS208において、合成部207は、パターン(1)~(3)の中から、重み係数として、パターン(3)の重み係数を選択して適用する。
【0079】
同様に、復号対象ブロックの形状として、復号対象ブロックの長辺、復号対象ブロックの縦横比、分割モード及び復号対象ブロックの画素数等を利用する場合も、広い領域に渡って重み付け平均してしまうと単純な双予測と変わらなくなってしまうため、分割境界の幅が広いパターンの重み係数については選択肢から外すことが望ましい。
【0080】
すなわち、
図8に示すフローチャートのステップS204及びS205において、復号対象ブロックの短辺を、復号対象ブロックの長辺、復号対象ブロックの縦横比、分割モード又は復号対象ブロックの画素数に置き換えてもよい。
【0081】
また、
図8に示すフローチャートにおいて、ステップS204で、合成部207は、復号対象ブロックの短辺が予め設定した閾値1未満であるか否かについて判定し、ステップS205で、合成部207は、復号対象ブロックの短辺が予め設定した閾値2未満であるか否かについて判定してもよい。
【0082】
ここで、上述の変更例として、復号対象ブロックの形状として、復号対象ブロックの短辺、ブロックの縦横比、分割モード(分割境界の角度)を利用してもよい。
【0083】
例えば、復号対象ブロックの短辺が小さく且つブロックの縦横比が大きく(縦:横=4:1等)且つ分割境界の角度が45度以上の場合は、分割境界の幅が広いパターンの重み係数を選択肢から外してもよい。
【0084】
逆に、復号対象ブロックの短辺が小さく且つブロックの縦横比が大きく(縦:横=4:1等)且つ分割境界の角度が45度未満の場合は、分割境界の幅が狭いパターンの重み係数を選択肢から外してもよい。
【0085】
これにより、ブロックの形状を考慮した分割境界の幅の選択が可能になり、符号化性能の向上が期待できる。
【0086】
また、合成部207は、動きベクトルに応じて、上述の重み係数を選択するように構成されていてもよい。
【0087】
具体的には、合成部207は、小領域の動きベクトルを利用し、小領域の動きベクトル長或いは小領域の動きベクトルの解像度に応じて、上述の重み係数を選択するように構成されていてもよい。
【0088】
動きベクトルが大きいほど分割境界がぼやける要因となることから重み係数の分布を広げることが望ましい。同様に、動きベクトルの解像度が粗いほど分割境界がぼやける要因となることから重み係数の分布を広げることが望ましい。
【0089】
また、合成部207は、小領域A及び小領域Bのそれぞれの動きベクトルの差分に応じて、上述の重み係数を選択するように構成されていてもよい。
【0090】
ここで、動きベクトルの差分は、小領域A及び小領域Bのそれぞれの動きベクトルの参照フレームの差異や動きベクトルそのもの差分量である。
【0091】
例えば、合成部207は、小領域A及び小領域Bのそれぞれの動きベクトルの差分が所定の閾値(例えば、1画素)以上であれば重み係数の分布を狭くするように上述の重み係数を選択し、小領域A及び小領域Bのそれぞれの動きベクトルの差分が所定の閾値(例えば、1画素)未満であれば重み係数の分布を広くするように上述の重み係数を選択するように構成されていてもよい。
【0092】
かかる構成によれば、分割境界付近に発生し得る画像のエッジ(異なる動きを持つ背景と前景の境界等)に合わせて高精度に予測することができる。
【0093】
或いは、合成部207は、小領域A及び小領域Bのそれぞれの動きベクトルの差分が所定の閾値(例えば、1画素)以上であれば重み係数の分布を広くするように上述の重み係数を選択し、小領域A及び小領域Bのそれぞれの動きベクトルの差分が所定の閾値(例えば、1画素)未満であれば重み係数の分布を狭くするように上述の重み係数を選択するように構成されていてもよい。
【0094】
かかる構成によれば、分割境界付近の動きボケの大きさに合わせて高精度に予測することができる。
ここで、合成部207は、動きベクトルと分割境界との角度の関係によって選択可能な重み係数を選択するように構成されていてもよい。
【0095】
例えば、
図9に示すように、合成部207は、動きベクトル(x,y)と分割境界の単位法線ベクトル(u,v)との内積の絶対値|x×u+y×v|に応じて、上述の重み係数を選択するように構成されていてもよい。
【0096】
或いは、合成部207は、露光時間或いはフレームレートに応じて選択可能な重み係数を選択するように構成されていてもよい。
【0097】
露光時間が長い場合やフレームレートが低い場合はボケやすく、露光時間が短い場合やフレームレートが高い場合はボケにくいことから、かかる構成によれば、適切な幅を選択することができる。
【0098】
例えば、合成部207は、前者の場合は、幅が広い2を選択し、後者の場合、幅が狭い3を選択するように構成されている。
【0099】
また、合成部207は、小領域の予測方法に応じて選択可能な重み係数を選択するように構成されていてもよい。
【0100】
予測方式としては、イントラ予測及び動き補償を想定しているため、かかる構成によれば、それぞれの特性に応じた設定により予測精度を向上させることができる。
【0101】
さらに、合成部207は、量子化パラメータに応じて選択可能な重み係数を選択するように構成されていてもよい。
【0102】
量子化パラメータは値が大きいほど狭い幅が比較的選択されやすいことから、かかる構成によれば、量子化パラメータを判断材料に加えることで予測精度を向上させることができる。
【0103】
また、合成部207は、復号対象ブロックの制御情報に限らず、復号対象ブロックに近傍するブロックの制御情報に応じて、復号対象ブロックの重み係数を選択するように構成されていてもよい。
【0104】
例えば、小領域は、複数のブロックに跨がって連続する傾向があるため、合成部207は、隣接する復号済みブロックの重み係数に応じて、復号対象ブロックの重み係数を選択するように構成されていてもよい。
【0105】
図10は、復号対象ブロックに隣接する左、左上、上、右上のブロックの一例を示す図である。
【0106】
復号対象ブロックに隣接する左や左上のブロックにも分割境界が存在するが、合成部207は、復号対象ブロックの分割境界とは連続しないので選択せず、分割境界が連続する復号対象ブロックの上のブロックの分割境界の幅を復号対象ブロックに選択することができる。
【0107】
同様に、合成部207は、各小領域のマージベクトルを復号する際に用いるマージインデックスに対応する内部パラメータとして復号対象ブロックに近傍するブロックの重み係数のパターンを導出し、復号対象ブロックの各小領域の重み係数として選択するように構成されていてもよい。
【0108】
合成部207は、各小領域に対応するマージベクトルが存在しない場合は、予め設定したパターン(例えば、パターン(1))の分割境界の幅を、復号対象ブロックの小領域に選択するように構成されていてもよい。
【0109】
ここで、合成部207は、各小領域がイントラ予測モードの場合は、予め設定したパターン(例えば、パターン(1))の分割境界の幅を、復号対象ブロックの小領域に選択するように構成されていてもよい。
【0110】
これらの構成によれば、類似した動きを持つ近傍ブロックの幅を継承することで、予測精度を向上させることができる。
【0111】
<第3実施形態>
以下、
図3、
図8~
図11を参照して、本発明の第3実施形態について、上述の第1実施形態及び第2実施形態との相違点に着目して説明する。
【0112】
本実施形態では、合成部207は、上述の第1予測画素及び第2予測画素の少なくとも一方に対して、復号された制御情報に基づいて限定された重み係数のいずれかを用いた重み付け平均により第3予測画素を生成するように構成されている。
【0113】
すなわち、合成部207は、間接的な制御情報に応じて選択可能な重み係数の組み合わせを限定した上で、限定された重み係数の組み合わせの中から復号された制御情報に基づいて適用する重み係数を選択するように構成されている。
【0114】
ここで、合成部207は、小領域の分割境界の幅が異なる複数の重み係数を用意しておき、上述の重み係数を選択するように構成されていてもよい。
【0115】
合成部207は、間接的な制御情報としての復号対象ブロックの形状に応じて、選択可能な重み係数の組み合わせを限定するように構成されていてもよい。
【0116】
例えば、合成部207は、復号対象ブロックのサイズ(復号対象ブロックの短辺や復号対象ブロックの長辺等)、復号対象ブロックの縦横比、分割モード及び復号対象ブロックの画素数の少なくとも1つに応じて、選択可能な重み係数を限定するように構成されていてもよい。
【0117】
ここで、復号対象ブロックの形状として復号対象ブロックの短辺を利用する場合、復号対象ブロックの短辺が小さい場合は、広い領域に渡って重み付け平均してしまうと単純な双方向予測と変わらなくなってしまうため、分割境界の幅が広いパターンの重み係数については選択肢(選択可能な重み係数の組み合わせ)から外すことが望ましい。
【0118】
例えば、
図3の例では、合成部207は、復号対象ブロックの短辺が閾値以下の場合、選択可能な重み係数の組み合わせをパターン(1)/(3)の重み係数に限定し、復号対象ブロックの短辺が閾値より大きい場合、選択可能な重み係数の組み合わせをパターン(1)/(2)の重み係数に限定することで、パターン数を増やしつつパターンの制御情報の符号量を低減させ、符号化効率を向上させられる効果が得られる。
【0119】
ここで、復号対象ブロックの短辺の閾値として、例えば、8画素や16画素を設定してもよい。
【0120】
以下、
図11を参照して、合成部207による重み係数の設定処理の一例について説明する。
【0121】
図11に示すように、ステップS301において、合成部207は、上述の制御情報に含まれるsps_div_enabled_flag、pps_div_enabled_flag及びsh_div_enabled_flagのいずれかが1であるか否かについて判定する。Noの場合(いずれも1ではない場合)、本処理は、ステップS302に進み、Yesの場合、本処理は、ステップS303に進む。
【0122】
ステップS302において、合成部207は、復号対象ブロックに対して重み係数を用いた重み付け平均を適用しない。
【0123】
ステップS303において、合成部207は、復号対象ブロックに対してGPMが適用されているか否かについて判定する。Noの場合、本処理は、ステップS302に進み、Yesの場合、本処理は、ステップS304に進む。
【0124】
ステップS304において、合成部207は、復号対象ブロックの短辺が予め設定した閾値以下であるか否かについて判定する。
【0125】
Noの場合、本処理は、ステップS305に進み、Yesの場合、本処理は、ステップS306に進む。ここで、Noの場合、合成部207は、選択可能な重み係数の組み合わせをパターン(1)/(2)に限定し、Yesの場合、合成部207は、選択可能な重み係数の組み合わせをパターン(1)/(3)に限定する。
【0126】
ステップS305において、合成部207は、上述の制御情報に含まれるcu_div_blending_idx(直接的な制御情報)を復号する。
【0127】
cu_div_blending_idxが0でない場合、本動作は、ステップS307に進み、cu_div_blending_idxが0である場合、本動作は、ステップS308に進む。
【0128】
同様に、ステップS306において、cu_div_blending_idxが0でない場合、本動作は、ステップS309に進み、cu_div_blending_idxが0である場合、本動作は、ステップS310に進む。
【0129】
ステップS307において、合成部207は、パターン(1)/(2)の中から、重み係数として、パターン(1)の重み係数を選択して適用する。
【0130】
ステップS308において、合成部207は、パターン(1)/(2)の中から、重み係数として、パターン(2)の重み係数を選択して適用する。
【0131】
ステップS309において、合成部207は、パターン(1)/(3)の中から、重み係数として、パターン(1)の重み係数を選択して適用する。
【0132】
ステップS310において、合成部207は、パターン(1)/(3)の中から、重み係数として、パターン(3)の重み係数を選択して適用する。
【0133】
同様に、復号対象ブロックの形状として、復号対象ブロックの長辺、復号対象ブロックの縦横比、分割モード及び復号対象ブロックの画素数等を利用する場合も、広い領域に渡って重み付け平均してしまうと単純な双予測と変わらなくなってしまうため、分割境界の幅が広いパターンの重み係数については選択肢から外すことが望ましい。
【0134】
すなわち、
図11に示すフローチャートのステップS304において、復号対象ブロックの短辺を、復号対象ブロックの長辺、復号対象ブロックの縦横比、分割モード又は復号対象ブロックの画素数に置き換えてもよい。
【0135】
また、
図11に示すフローチャートにおいて、ステップS304で、合成部207は、復号対象ブロックの短辺が予め設定した閾値未満であるか否かについて判定してもよい。
【0136】
ここで、上述の変更例として、復号対象ブロックの形状として、復号対象ブロックの短辺、ブロックの縦横比、分割モード(分割境界の角度)を利用してもよい。
【0137】
例えば、復号対象ブロックの短辺が小さく且つブロックの縦横比が大きく(縦:横=4:1等)且つ分割境界の角度が45度以上の場合は、分割境界の幅が広いパターンの重み係数を選択肢から外してもよい。
【0138】
逆に、復号対象ブロックの短辺が小さく且つブロックの縦横比が大きく(縦:横=4:1等)且つ分割境界の角度が45度未満の場合は、分割境界の幅が狭いパターンの重み係数を選択肢から外してもよい。
【0139】
これにより、ブロックの形状を考慮した分割境界の幅の選択が可能になり、符号化性能の向上が期待できる。
【0140】
また、合成部207は、動きベクトルに応じて、選択可能な重み係数の組み合わせを限定するように構成されていてもよい。
【0141】
具体的には、合成部207は、小領域の動きベクトルを利用し、小領域の動きベクトル長或いは小領域の動きベクトルの解像度に応じて、選択可能な重み係数の組み合わせを限定するように構成されていてもよい。
【0142】
動きベクトルが大きいほど分割境界がぼやける要因となることから重み係数の分布を広げることが望ましい。同様に、動きベクトルの解像度が粗いほど分割境界がぼやける要因となることから重み係数の分布を広げることが望ましい。
【0143】
また、合成部207は、小領域A及び小領域Bのそれぞれの動きベクトルの差分に応じて、選択可能な重み係数の組み合わせを限定するように構成されていてもよい。
【0144】
ここで、動きベクトルの差分は、小領域A及び小領域Bのそれぞれの動きベクトルの参照フレームの差異や動きベクトルそのもの差分量である。
【0145】
例えば、合成部207は、小領域A及び小領域Bのそれぞれの動きベクトルの差分が所定の閾値(例えば、1画素)以上であれば重み係数の分布を狭くするように選択可能な重み係数の組み合わせを限定し、小領域A及び小領域Bのそれぞれの動きベクトルの差分が所定の閾値(例えば、1画素)未満であれば重み係数の分布を広くするように選択可能な重み係数の組み合わせを限定するように構成されていてもよい。
【0146】
かかる構成によれば、分割境界付近に発生し得る画像のエッジ(異なる動きを持つ背景と前景の境界等)に合わせて高精度に予測することができる。
【0147】
或いは、合成部207は、小領域A及び小領域Bのそれぞれの動きベクトルの差分が所定の閾値(例えば、1画素)以上であれば重み係数の分布を広くするように選択可能な重み係数のパターンの組み合わせを限定し、小領域A及び小領域Bのそれぞれの動きベクトルの差分が所定の閾値(例えば、1画素)未満であれば重み係数の分布を狭くするように選択可能な重み係数のパターンの組み合わせを限定するように構成されていてもよい。
【0148】
かかる構成によれば、分割境界付近の動きボケの大きさに合わせて高精度に予測することができる。
【0149】
ここで、合成部207は、動きベクトルと分割境界との角度の関係によって選択可能な重み係数の組み合わせを限定するように構成されていてもよい。
【0150】
例えば、
図9に示すように、合成部207は、動きベクトル(x,y)と分割境界の単位法線ベクトル(u,v)との内積の絶対値|x×u+y×v|に応じて、選択可能な重み係数の組み合わせを限定するように構成されていてもよい。
【0151】
或いは、合成部207は、合成部は、露光時間或いはフレームレートに応じて選択可能な重み係数を限定するように構成されていてもよい。
【0152】
露光時間が長い場合やフレームレートが低い場合はボケやすく、露光時間が短い場合やフレームレートが高い場合はボケにくいことから、かかる構成によれば、適切な幅を選択することができる。
【0153】
例えば、合成部207は、前者の場合は、幅が広い2を選択し、後者の場合、幅が狭い3を選択するように構成されている。
【0154】
また、合成部207は、小領域の予測方法に応じて選択可能な重み係数の組み合わせを限定するように構成されていてもよい。
【0155】
予測方式としては、イントラ予測及び動き補償を想定しているため、かかる構成によれば、それぞれの特性に応じた設定により予測精度を向上させることができる。
【0156】
さらに、合成部207は、量子化パラメータに応じて選択可能な重み係数の組み合わせを限定するように構成されていてもよい。
【0157】
量子化パラメータは値が大きいほど狭い幅が比較的選択されやすいことから、かかる構成によれば、量子化パラメータを判断材料に加えることで予測精度を向上させることができる。
【0158】
また、合成部207は、復号対象ブロックの制御情報に限らず、復号対象ブロックに近傍するブロックの制御情報に応じて、選択可能な復号対象ブロックの重み係数の組み合わせを限定するように構成されていてもよい。
【0159】
例えば、小領域は、複数のブロックに跨がって連続する傾向があるため、合成部207は、隣接する復号済みブロックの重み係数に応じて、選択可能な復号対象ブロックの重み係数の組み合わせを限定するように構成されていてもよい。
【0160】
図10は、復号対象ブロックに隣接する左、左上、上、右上のブロックの一例を示す図である。
【0161】
復号対象ブロックに隣接する左や左上のブロックにも分割境界が存在するが、合成部207は、復号対象ブロックの分割境界とは連続しないので復号対象ブロックの重み係数の組み合わせに含めず、分割境界が連続する復号対象ブロックの上のブロックの分割境界の幅を復号対象ブロックの重み係数の組み合わせに含めることができる。
【0162】
なお、合成部207は、選択可能な復号対象ブロックの重み係数の組み合わせを限定する際に、かかる組み合わせに含めるか含めないのかの2択に限らず、段階的に限定するように構成されていてもよい。
【0163】
例えば、復号部201は、上述の重み係数の選択確率に応じて異なる符号長を割り当てて復号することで符号化効率を向上させる。
【0164】
上述の例では、復号部201は、隣接する復号済みブロックが採用している重み係数のパターンを短い符号長として設定し、他のパターンを長い符号長として設定することができる。
【0165】
上述の画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
【産業上の利用可能性】
【0166】
なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【符号の説明】
【0167】
200…画像復号装置
201…復号部
202…逆量子化部
203…逆変換部
204…イントラ予測部
205…蓄積部
206…動き補償部
207…合成部
208…加算部
210…符号入力部
220…画像出力部