(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024006358
(43)【公開日】2024-01-17
(54)【発明の名称】画像復号装置、画像復号方法及びプログラム
(51)【国際特許分類】
H04N 19/105 20140101AFI20240110BHJP
H04N 19/157 20140101ALI20240110BHJP
H04N 19/176 20140101ALI20240110BHJP
H04N 19/503 20140101ALI20240110BHJP
H04N 19/70 20140101ALI20240110BHJP
【FI】
H04N19/105
H04N19/157
H04N19/176
H04N19/503
H04N19/70
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022107166
(22)【出願日】2022-07-01
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和4年度、総務省、「3次元空間データの無線伝送に向けた高能率圧縮技術の研究開発」委託事業、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110001564
【氏名又は名称】フェリシテ弁理士法人
(72)【発明者】
【氏名】加藤 晴久
(72)【発明者】
【氏名】木谷 佳隆
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC04
5C159MA05
5C159NN10
5C159NN11
5C159RC12
5C159TA61
5C159TB08
5C159TC26
5C159TC42
5C159UA05
(57)【要約】
【課題】GPMにおいて符号化効率を向上させること。
【解決手段】本発明に係る画像復号装置200は、制御情報に含まれる複数のインデックス及び動きベクトル候補リストに基づいて、動きベクトルを決定し動き情報とするMV復号部205を備える。MV復号部205は、複数のインデックスの大小関係に応じて、複数のインデックスを再構成する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
画像復号装置であって、
制御情報及び量子化値を復号する復号部と、
前記量子化値を逆量子化して変換係数とする逆量子化部と、
前記変換係数を逆変換して予測残差とする逆変換部と、
復号済み画素と前記制御情報とに基づいて第1予測画素を生成するイントラ予測部と、
前記復号済み画素を蓄積する蓄積部と、
前記制御情報に含まれる複数のインデックス及び動きベクトル候補リストに基づいて、動きベクトルを決定し動き情報とするMV復号部と、
前記復号済み画素と前記動き情報と前記制御情報とに基づいて第2予測画素を生成する動き補償部と、
前記第2予測画素と前記制御情報とに基づいて第3予測画素を生成する合成部と、
前記第1~第3予測画素のいずれかと前記予測残差とを加算して復号済み画素を得る加算器と、を備え、
前記MV復号部は、前記複数のインデックスの大小関係に応じて、前記複数のインデックスを再構成することを特徴とする画像復号装置。
【請求項2】
前記複数のインデックスは、2つのインデックスであり、
前記MV復号部は、前記動きベクトル候補リストから前記2つのインデックスのうち小さい方のインデックスを除外した上で、前記2つのインデックスのうち大きい方のインデックスに対応する動きベクトルを決定することを特徴とする請求項1に記載の画像復号装置。
【請求項3】
前記複数のインデックスは、2つのインデックスであり、
前記MV復号部は、前記2つのインデックスのうち大きい方のインデックスに1を加算することを特徴とする請求項1に記載の画像復号装置。
【請求項4】
前記MV復号部は、前記制御情報から、加算処理を適用するインデックスを表す符号を復号することを特徴とする請求項1に記載の画像復号装置。
【請求項5】
前記複数のインデックスは、第1インデックス及び第2インデックスを含み、
前記MV復号部は、前記第1インデックスが前記第2インデックスよりも大きい場合で、且つ、前記第1インデックスと前記第2インデックスとの差が1である場合に、前記制御情報から、加算処理を適用するインデックスを表す符号を復号することを特徴とする請求項4に記載の画像復号装置。
【請求項6】
前記複数のインデックスは、第1インデックス及び第2インデックスを含み、
前記MV復号部は、前記第1インデックスが前記第2インデックス以下である場合に、前記第2インデックスに1を加算することを特徴とする請求項1に記載の画像復号装置。
【請求項7】
前記MV復号部は、前記加算処理を適用するインデックスを表す符号が0である場合、前記第1インデックス及び前記第2インデックスをそのまま利用することを特徴とする請求項に記載5の画像復号装置。
【請求項8】
前記MV復号部は、前記加算処理を適用するインデックスを表す符号が1である場合、前記第1インデックスに1を加算することを特徴とする請求項に記載5の画像復号装置。
【請求項9】
前記MV復号部は、前記2つのインデックスの差が2以上である場合に、前記2つのインデックスのうち大きい方のインデックスに1を加算することを特徴とする請求項2に記載の画像復号装置。
【請求項10】
前記複数のインデックスは、第1インデックス及び第2インデックスを含み、
前記MV復号部は、前記第1インデックスが最大値に一致する場合は、前記第1インデックス及び前記第2インデックスをそのまま利用することを特徴とする請求項に記載1の画像復号装置。
【請求項11】
前記MV復号部は、前記第1インデックス及び前記第2インデックスが最大値-1の値を含む場合、前記制御情報から、前記加算処理を適用するインデックスを表す符号を復号することを特徴とする請求項4に記載の画像復号装置。
【請求項12】
画像復号方法であって、
制御情報及び量子化値を復号する工程Aと、
前記量子化値を逆量子化して変換係数とする工程Bと、
前記変換係数を逆変換して予測残差とする工程Cと、
復号済み画素と前記制御情報とに基づいて第1予測画素を生成する工程Dと、
前記復号済み画素を蓄積する工程Eと、
前記制御情報に含まれる複数のインデックス及び動きベクトル候補リストに基づいて、動きベクトルを決定し動き情報とする工程Fと、
前記復号済み画素と前記動き情報と前記制御情報とに基づいて第2予測画素を生成する工程Gと、
前記第2予測画素と前記制御情報とに基づいて第3予測画素を生成する工程Hと、
前記第1~第3予測画素のいずれかと前記予測残差とを加算して復号済み画素を得る工程Iと、を備え、
前記工程Fにおいて、前記複数のインデックスの大小関係に応じて、前記複数のインデックスを再構成することを特徴とする画像復号方法。
【請求項13】
コンピュータを、画像復号装置として機能させるプログラムであって、
前記画像復号装置は、
制御情報及び量子化値を復号する復号部と、
前記量子化値を逆量子化して変換係数とする逆量子化部と、
前記変換係数を逆変換して予測残差とする逆変換部と、
復号済み画素と前記制御情報とに基づいて第1予測画素を生成するイントラ予測部と、
前記復号済み画素を蓄積する蓄積部と、
前記制御情報に含まれる複数のインデックス及び動きベクトル候補リストに基づいて、動きベクトルを決定し動き情報とするMV復号部と、
前記復号済み画素と前記動き情報と前記制御情報とに基づいて第2予測画素を生成する動き補償部と、
前記第2予測画素と前記制御情報とに基づいて第3予測画素を生成する合成部と、
前記第1~第3予測画素のいずれかと前記予測残差とを加算して復号済み画素を得る加算器と、を備え、
前記MV復号部は、前記複数のインデックスの大小関係に応じて、前記複数のインデックスを再構成することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像復号装置、画像復号方法及びプログラムに関する。
【背景技術】
【0002】
非特許文献1及び非特許文献2では、幾何学分割モード(GPM:Geometric Partitioning Mode)が開示されている。GPMは、矩形ブロックを斜めに2分割しそれぞれを動き補償する。具体的には、分割された小領域は、それぞれ動きベクトルにより動き補償され重み付き平均により合成される。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】ITU-T H.266/VVC
【非特許文献2】CE4:Summary report on Inter prediction with geometric partitioning、JVET-Q0024
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1及び非特許文献2では、1つの動きベクトル候補リストに対する2つのインデックス(cu_mv_idx0及びcu_mv_idx1)で、分割された2つの小領域の動きベクトルを指定している。
【0005】
このとき、同じ動きベクトルを採用してしまうと、ブロックを分割する意味が失われるため、cu_mv_idx0及びcu_mv_idx1は、同じ値を取らないという制約がある。
【0006】
かかる制約を利用して、符号化効率を向上させるため、非特許文献1及び非特許文献2では、cu_mv_idx1を復号する場合、cu_mv_idx0が選択した値が動きベクトル候補リストから無くなったものとして処理することで、cu_mv_idx1を表現する符号長を短くする工夫がされている。
【0007】
しかしながら、cu_mv_idx0よりcu_mv_idx1が小さい場合は効果が無いため、符号化性能の向上に改善の余地がある。 そこで、本発明は、上述の課題に鑑みてなされたものであり、GPMにおいて符号化効率を向上させることができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の第1の特徴は、画像復号装置であって、制御情報及び量子化値を復号する復号部と、前記量子化値を逆量子化して変換係数とする逆量子化部と、前記変換係数を逆変換して予測残差とする逆変換部と、復号済み画素と前記制御情報とに基づいて第1予測画素を生成するイントラ予測部と、前記復号済み画素を蓄積する蓄積部と、前記制御情報に含まれる複数のインデックス及び動きベクトル候補リストに基づいて、動きベクトルを決定し動き情報とするMV復号部と、前記復号済み画素と前記動き情報と前記制御情報とに基づいて第2予測画素を生成する動き補償部と、前記第2予測画素と前記制御情報とに基づいて第3予測画素を生成する合成部と、前記第1~第3予測画素のいずれかと前記予測残差とを加算して復号済み画素を得る加算器と、を備え、前記MV復号部は、前記複数のインデックスの大小関係に応じて、前記複数のインデックスを再構成することを要旨とする。
【0009】
本発明の第2の特徴は、画像復号方法であって、制御情報及び量子化値を復号する工程Aと、前記量子化値を逆量子化して変換係数とする工程Bと、前記変換係数を逆変換して予測残差とする工程Cと、復号済み画素と前記制御情報とに基づいて第1予測画素を生成する工程Dと、前記復号済み画素を蓄積する工程Eと、前記制御情報に含まれる複数のインデックス及び動きベクトル候補リストに基づいて、動きベクトルを決定し動き情報とする工程Fと、前記復号済み画素と前記動き情報と前記制御情報とに基づいて第2予測画素を生成する工程Gと、前記第2予測画素と前記制御情報とに基づいて第3予測画素を生成する工程Hと、前記第1~第3予測画素のいずれかと前記予測残差とを加算して復号済み画素を得る工程Iと、を備え、前記工程Fにおいて、前記複数のインデックスの大小関係に応じて、前記複数のインデックスを再構成することを要旨とする。
【0010】
本発明の第3の特徴は、コンピュータを、画像復号装置として機能させるプログラムであって、前記画像復号装置は、制御情報及び量子化値を復号する復号部と、前記量子化値を逆量子化して変換係数とする逆量子化部と、前記変換係数を逆変換して予測残差とする逆変換部と、復号済み画素と前記制御情報とに基づいて第1予測画素を生成するイントラ予測部と、前記復号済み画素を蓄積する蓄積部と、前記制御情報に含まれる複数のインデックス及び動きベクトル候補リストに基づいて、動きベクトルを決定し動き情報とするMV復号部と、前記復号済み画素と前記動き情報と前記制御情報とに基づいて第2予測画素を生成する動き補償部と、前記第2予測画素と前記制御情報とに基づいて第3予測画素を生成する合成部と、前記第1~第3予測画素のいずれかと前記予測残差とを加算して復号済み画素を得る加算器と、を備え、前記MV復号部は、前記複数のインデックスの大小関係に応じて、前記複数のインデックスを再構成することを要旨とする。
【発明の効果】
【0011】
本発明によれば、GPMにおいて符号化効率を向上させることができる画像復号装置、画像復号方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。
【
図2】
図2は、矩形の単位ブロックが分割境界によって、小領域Aと小領域Bに2分割されるケースの一例を示す図である。
【
図3】
図3は、復号対象ブロックの近傍ブロックの一例を示す図である。
【
図4】
図4は、一実施形態に係る画像復号装置200のMV復号部205による動きベクトル候補リストの再構築方法の一例を説明するための図である。
【
図5】
図5は、2つのインデックス(cu_mv_idx0及びcu_mv_idx1)が取り得る組み合わせ、及び、各組み合わせにおいて制御情報として送信される符号の一例を示す図である。
【
図6】
図6は、2つのインデックス(cu_mv_idx0及びcu_mv_idx1)が取り得る組み合わせ、及び、各組み合わせにおいて制御情報として送信される符号の一例を示す図である。
【
図7】
図7は、一実施形態に係る画像復号装置200の動作の一例を示すフローチャートである。
【
図8】
図8は、一実施形態に係る画像復号装置200の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0014】
<第1実施形態>
以下、
図1~
図8を参照して、本実施形態に係る画像復号装置200について説明する。
図1は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
【0015】
図1に示すように、画像復号装置200は、符号入力部210と、復号部201と、逆量子化部202と、逆変換部203と、イントラ予測部204と、MV復号部205と、加算器206と、蓄積部207と、動き補償部208と、合成部209と、画像出力部220とを有する。
【0016】
符号入力部210は、画像符号化装置によって符号化された符号情報を取得するように構成されている。
【0017】
復号部201は、符号入力部210から入力された符号情報から、制御情報並びに量子化値を復号するように構成されている。例えば、復号部201は、かかる符号情報に対して可変長復号を行うことで制御情報及び量子化値を出力するように構成されている。
【0018】
ここで、量子化値は、逆量子化部202に送られ、制御情報は、イントラ予測部204、MV復号部205、動き補償部208及び合成部209に送られる。なお、かかる制御情報は、イントラ予測部204、MV復号部205、動き補償部208及び合成部209等の制御に必要な情報を含み、シーケンスパラメータセットやピクチャパラメータセットやピクチャヘッダやスライスヘッダ等のヘッダ情報を含んでもよい。
【0019】
逆量子化部202は、復号部201から送られた量子化値を逆量子化して復号された変換係数とするように構成されている。かかる変換係数は、逆変換部203に送られる。
【0020】
逆変換部203は、逆量子化部202から送られた変換係数を逆変換して復号された予測残差とするように構成されている。かかる予測残差は、加算器206に送られる。
【0021】
イントラ予測部204は、復号済み画素と復号部201から送られた制御情報とに基づいて第1予測画素を生成するように構成されている。ここで、復号済み画素は、加算器206を介して得られて蓄積部207に蓄積されるものである。また、第1予測画素は、合成部207で設定される小領域における入力画素の近似値としての予測画素である。なお、第1予測画素は、加算器206に送られる。
【0022】
蓄積部207は、加算器206から送られた復号済み画素を累積的に蓄積するように構成されている。かかる復号済み画素は、蓄積部207を介して動き補償部208からの参照を受ける。
【0023】
動き補償部208は、蓄積部207に蓄積された復号済み画素とMV復号部205から送られた動き情報とに基づいて第2予測画素を生成するように構成されている。ここで、第2予測画素は、合成部207で設定される小領域における入力画素の近似値としての予測画素である。なお、第2予測画素は、合成部209に送られる。
【0024】
加算器206は、復号済み画素等から生成された第1~第3予測画素のいずれかと、逆変換部203から送られる予測残差とを加算して復号済み画素を得るように構成されている。かかる復号済み画素は、画像出力部220、蓄積部207及びイントラ予測部204へ送られる。
【0025】
合成部209は、動き補償部208から送られた第2予測画素及び復号部201で復号された制御情報に基づいて、復号対象ブロックを複数の形状に分割しそれぞれに対応する複数の予測画素を合成して加算器206で予測残差と加算するための第3予測画素を生成するように構成されている。生成された第3予測画素は、加算器206へ送られる。
【0026】
合成部209で復号対象ブロックを複数の形状(小領域)に分割・合成する方法としては、任意のものを利用できるが、以下では、一例として幾何学分割モード(GPM)を用いた場合について説明する。
【0027】
以下、MV復号部205による動きベクトル候補リスト内のインデックスの再構成について説明する。
【0028】
MV復号部205は、復号部201からの制御情報から、動きベクトルを決定し、かかる動きベクトルを動き情報として動き補償部208に送るように構成されている。
【0029】
ここで、MV復号部205は、制御情報に含まれる複数(本実施形態では、2つ)のインデックス(後述のcu_mv_idx0及びcu_mv_idx1)及び動きベクトル候補リスト(
図4等参照)に基づいて、動きベクトルを決定し動き情報とするように構成されている。
【0030】
具体的には、MV復号部205は、後述するように、2つのインデックスの大小関係に応じて、2つのインデックスを再構成するように構成されている。
【0031】
図2の例では、単位ブロックを斜めの形状で分布させたケースの例を表す。
図2の例では、矩形の単位ブロック(復号対象ブロック)を分割境界によって小領域A及び小領域Bに2分割している。
【0032】
それぞれの小領域A/Bにおいて、動き補償で第2予測画素が生成される。このとき、動き補償に用いる動きベクトル自体の符号量を削減するため、復号対象ブロックの近傍ブロックの動きベクトルを流用する方法が従来法として利用できる。
【0033】
かかる方法によれば、動きベクトルそのものを表現する場合の符号量より、利用する近傍ブロックの動きベクトルに対応するインデックスで表現する場合の符号量の方が小さいため、符号化効率を改善できる。
【0034】
具体的には、
図3に示すように、近傍ブロックは、上や左や左上等、複数存在するため、利用可能な近傍ブロックの動きベクトルをリストアップし、類似した動きベクトルを排除することで、動きベクトル候補リストを構築する。
【0035】
そして、動き補償部208で利用される近傍ブロックの動きベクトルに対応するインデックスのみが制御情報として復号され、かかる制御情報に基づいて動きベクトルが決定されることになる。
【0036】
ただし、合成部209では、複数の小領域A/Bが存在し、それぞれの小領域A/Bで動きベクトルが利用されるため、2つのインデックス(cu_mv_idx0及びcu_mv_idx1)が必要になる。
【0037】
以下、本実施形態では、小領域A用として選択される近傍ブロックの動きベクトルに対応するインデックスを「cu_mv_idx0(第1インデックス)」とし、小領域B用として選択される近傍ブロックの動きベクトルに対応するインデックスを「cu_mv_idx1(第2インデックス)」とする。
【0038】
ここで、合成部209で用いられる複数の動きベクトル(小領域Aの動きベクトル及び小領域Bの動きベクトル)が同一だと、小領域A/Bへの分割の意義が失われるため、小領域A/Bに対して選択される2つのインデックス(cu_mv_idx0及びcu_mv_idx1)は異なるものでなければならないという制約が課されている。
【0039】
従来は、2つのインデックスのうちcu_mv_idx1を表現する符号長を削減するため、動きベクトル候補リストから、cu_mv_idx0によって選択された動きベクトルを除外した上で、cu_mv_idx1を符号化するように構成されていた。
【0040】
以下、
図4を参照して、本実施形態において、動きベクトル候補リストを再構築する方法の一例について説明する。
【0041】
ここで、
図4に示すように、cu_mv_idx0として、動きベクトル候補リストの1番目の動きベクトルが選択された場合、かかる1番目の動きベクトルが動きベクトル候補リストから除外され、動きベクトル候補リストにおいて2番目以降の動きベクトルが1つずつ繰り上がる。
【0042】
そのため、cu_mv_idx1として、1番目の動きベクトルの除外前の4番目の動きベクトルが選択される場合、制御情報としては、3番目の動きベクトルに対応するインデックスを符号化・復号できる。
【0043】
すなわち、cu_mv_idx0が、cu_mv_idx1よりも小さい場合、cu_mv_idx1は、1つ小さい数字になるため、可変長符号で符号化されるcu_mv_idx1の符号量が削減される。
【0044】
しかしながら、cu_mv_idx0が、cu_mv_idx1より大きい場合は、動きベクトル候補リストからcu_mv_idx0を除外しても、cu_mv_idx1に影響はないため、cu_mv_idx1の符号量は削減されないという課題がある。
【0045】
かかる課題を解決するため、本実施形態では、MV復号部205は、動きベクトル候補リストから2つのインデックスのうち小さい方のインデックスを除外した上で、2つのインデックスのうち大きい方のインデックスに対応する動きベクトルを決定するように構成されていてもよい。
【0046】
具体的には、画像符号装置側では、2つのインデックス、すなわち、cu_mv_idx0とcu_mv_idx1とを比較して大きい方のインデックスから1を減算することによって、2つのインデックスの再構成を行う。
【0047】
一方、画像復号装置200側では、MV復号部205は、2つのインデックス、すなわち、cu_mv_idx0とcu_mv_idx1とを比較して大きい方のインデックスに1を加算することによって、2つのインデックスの再構成を行うように構成されている。
【0048】
このとき、画像符号装置側で、インデックス同士の差が1又は-1の場合は、大きい方のインデックスから1を減算すると、2つのインデックスが同値になってしまい、画像復号装置200側で、2つのインデックスの内のどちらに1を加算すべきか分からなくなってしまう。
【0049】
したがって、画像符号装置側で、1を加算するインデックス(すなわち、加処理を適用するインデックス)を表す符号を付与しておき、画像復号装置200側で、MV復号部205は、1を加算するインデックスを表す符号を復号するように構成されている。
【0050】
ただし、「cu_mv_idx0=0」と「cu_mv_idx1=1」との組み合わせが、最も選択されやすいため、加算処理を適用するインデックスを表す符号の増加を避けるべく、MV復号部205は、cu_mv_idx0とcu_mv_idx1との差が-1又は1となるインデックスの組み合わせの場合ではなく、cu_mv_idx0とcu_mv_idx1との差が1又は2となるインデックスの組み合わせの場合に、加算処理を適用するインデックスを表す符号を復号する状況であると設定する。
【0051】
具体的には、画像復号装置200側で、cu_mv_idx0からcu_mv_idx1を引いた差が1又は2である場合に、MV復号部205は、加算処理を適用する対象を表す1ビットの符号を復号して加算処理を適用するインデックスを確定し、確定されたインデックスに1を加算して2つの動きベクトルを決定する。
【0052】
図5に、2つのインデックス(cu_mv_idx0及びcu_mv_idx1)が取り得る組み合わせ、及び、各組み合わせにおいて制御情報として送信される符号の一例を示す。
【0053】
図5に示す表における数値は、cu_mv_idx0及びcu_mv_idx1が、それぞれ0~9の値を取る際の制御情報を表す。
【0054】
cu_mv_idx0及びcu_mv_idx1が同値になるケースに対応する対角成分は、存在し得ないため、かかる対角成分では、符号ではなくxで記されている。
【0055】
cu_mv_idx0がcu_mv_idx1より小さいケースに対応する上三角行列では、cu_mv_idx0そのものの値及びcu_mv_idx1から1を減算した値が、制御情報として符号化される。
【0056】
逆に、cu_mv_idx0がcu_mv_idx1より大きいケースに対応する下三角行列では、cu_mv_idx0から1を減算した値及びcu_mv_idx1そのものの値が、制御情報として符号化される。
【0057】
ただし、「cu_mv_idx0-cu_mv_idx1=1」或いは「cu_mv_idx0-cu_mv_idx1=2」となるインデックスの組み合わせの場合には、制御情報に、加算処理を適用するインデックスを表す符号が追加で付与される。
【0058】
例えば、「cu_mv_idx0-cu_mv_idx1=1」となるインデックスの組み合わせの場合には、「cu_mv_idx0-1」と「cu_mv_idx1」と「0」とが、画像符号化装置において制御情報として符号化される。
【0059】
また、「cu_mv_idx0-cu_mv_idx1=2」となるインデックスの組み合わせの場合には、「cu_mv_idx0」と「cu_mv_idx1-1」と「1」とが、画像符号化装置において制御情報として符号化される。
【0060】
ここで、画像復号装置200側では、画像符号化装置における処理と逆の処理が行われる。
【0061】
すなわち、画像復号装置200におけるMV復号部205は、cu_mv_idx0がcu_mv_idx1以下である場合、cu_mv_idx1に1を加算し、動きベクトル候補リストから、それぞれのインデックスが示す動きベクトルを決定する。
【0062】
一方、MV復号部205は、cu_mv_idx0がcu_mv_idx1よりも大きい場合、まず、cu_mv_idx0とcu_mv_idx1との差を求める。
【0063】
次に、MV復号部205は、cu_mv_idx0とcu_mv_idx1との差が1である場合、制御情報から、追加で1ビット(加算処理を適用するインデックスを表す符号)を復号し、かかる1ビットが0であれば、cu_mv_idx0及びcu_mv_idx1をそのまま利用し、動きベクトル候補リストから、それぞれのインデックスが示す動きベクトルを決定する。
【0064】
また、MV復号部205は、cu_mv_idx0とcu_mv_idx1との差が1である場合で且つ上述の1ビットが1である場合、或いは、cu_mv_idx0とcu_mv_idx1との差が2以上である場合、cu_mv_idx0に1を加算し、動きベクトル候補リストから、それぞれのインデックスが示す動きベクトルを決定する。
【0065】
ただし、MV復号部205は、cu_mv_idx0がcu_mv_idx1よりも大きい場合で、且つ、cu_mv_idx0とcu_mv_idx1との差が1である場合であっても、cu_mv_idx0がインデックスの最大値(
図5の例では「9」)を含む場合は、上述の1ビットを復号する必要はなく、cu_mv_idx0及びcu_mv_idx1をそのまま利用し、動きベクトル候補リストから、それぞれのインデックスが示す動きベクトルを決定する。
【0066】
別の例として、
図6に示すように、MV復号部205は、cu_mv_idx0及びcu_mv_idx1が「最大値-1(
図6の例では「8」)」の値を含む場合、制御情報から、上述の1ビット(加算処理を適用するインデックスを表す符号)を復号するように構成されていてもよい。
【0067】
かかる構成によれば、cu_mv_idx0及びcu_mv_idx1がインデックスの最大値(
図6の例では「9」)を含む場合、画像符号化装置側で、敢えて1ビットを付けることによって、cu_mv_idx0及びcu_mv_idx1の最大値を1つ小さくすることができるという効果を得ることができる。
【0068】
すなわち、MV復号部205は、cu_mv_idx0、cu_mv_idx1及び「最大値-1(
図6の例では「8」)」の全てが一致する場合、制御情報から、追加で1ビットを復号し、かかる1ビットが1であれば、cu_mv_idx0に1を加算し、動きベクトル候補リストから、それぞれのインデックスが示す動きベクトルを決定する。
【0069】
一方、MV復号部205は、cu_mv_idx0、cu_mv_idx1及び「最大値-1(
図6の例では「8」)」の全てが一致する場合で、且つ、上述の1ビットが0である場合、cu_mv_idx1に1を加算し、動きベクトル候補リストから、それぞれのインデックスが示す動きベクトルを決定する。
【0070】
図5及び
図6のいずれの例においても、cu_mv_idx0及びcu_mv_idx1の大小関係に応じて適応的に符号量を削減できると共に、選択率の高いインデックスの組み合わせに対する追加ビットを回避することで符号化効率を向上できる効果が得られる。
【0071】
以下、
図7及び
図8を参照して、本実施形態に係る画像復号装置200の動作の一例について説明する。
【0072】
具体的には、本実施形態に係る画像復号装置200の復号部201及びMV復号部205による動きベクトルの復号方法及び復号する制御情報について説明する。
【0073】
復号部201に入力される符号情報は、シーケンス単位の制御情報をまとめたシーケンスパラメータセット(SPS)を含むことができる。また、かかる符号情報は、ピクチャ単位の制御情報をまとめたピクチャパラメータセット(PPS)或いはピクチャヘッダ(PH)を含むことができる。かかる符号情報は、スライス単位の制御情報をまとめたスライスヘッダ(SH)を含んでもよい。
【0074】
第1に、
図7に示す本実施形態に係る画像復号装置200の動作の一例について説明する。
【0075】
図7に示すように、ステップS101において、復号部201は、sps_div_enabled_flag、pps_div_enabled_flag及びsh_div_enabled_flagのいずれかが1であるか否かについて判断する。
【0076】
いずれも1でない場合は、本動作は、ステップS102に進み、本実施形態に係る技術を適用せずに終了する。
【0077】
いずれかが1である場合、ステップS101において、復号部201は、復号対象ブロックが分割モードであるか否かについて判断する。
【0078】
復号対象ブロックが分割モードでない場合、本動作は、ステップS102に進み、本実施形態に係る技術を適用せずに終了する。
【0079】
復号対象ブロックが分割モードである場合、ステップS103において、復号部201は、復号対象ブロックから分割された小領域がイントラ予測或いは非特許文献1で開示されている動きベクトル候補リストから導出された動きベクトルに対して離散的な差分動きベクトルを加算するMMVD(Merge mode with Motion Vector Difference)であるか否かについて判断する。
【0080】
Yesの場合、本動作は、ステップS102に進み、本実施形態に係る技術を適用せずに終了する。
【0081】
その理由としては、上述の小領域のいずれか一方がイントラ予測である場合は、上述したインデックスの比較が不要になるからである。
【0082】
また、上述の小領域の少なくともいずれか一方がMMVDである場合は、仮にインデックスが同じ動きベクトル候補を指しても、MMVDによりその動きベクトルに離散的な差分動きベクトルが加算されて各小領域の動きベクトルは一致しなくなるため、インデックスの比較は不要になるからである。
【0083】
Noの場合、ステップS104において、MV復号部205は、制御情報から、動きベクトル候補リストのインデックスを指定する信号であるcu_mv_idx0を復号する。
【0084】
ステップS105において、MV復号部205は、動きベクトル候補リストの最大数(MaxNumGpmMergeCand)が2より大きいか否かについて判断する。
【0085】
2以下の場合は、本動作は、ステップS102に進み、本実施形態に係る技術を適用せずに終了する。
【0086】
2より大きい場合は、ステップS106において、MV復号部205は、制御情報から、動きベクトル候補リストのインデックスを指定する信号であるcu_mv_idx1を復号する。
【0087】
ステップS107において、MV復号部205は、cu_mv_idx0がcu_mv_idx1以下であるか否かについて判断する。
【0088】
Yesの場合、本動作は、ステップS114に進み、Noの場合、本動作は、ステップS108に進む。
【0089】
ステップS114において、MV復号部205は、cu_mv_idx1に1を加算し、動きベクトル候補リストから、cu_mv_idx0及びcu_mv_idx1が示す動きベクトルを決定して、本動作を終了する。
【0090】
ステップS108において、MV復号部205は、cu_mv_idx0とcu_mv_idx1との差が1であるか否かについて判断する。
【0091】
Yesの場合、本動作は、ステップS110に進み、Noの場合、本動作は、ステップS109に進む。
【0092】
ステップS109において、MV復号部205は、cu_mv_idx0に1を加算し、動きベクトル候補リストから、cu_mv_idx0及びcu_mv_idx1が示す動きベクトルを決定して、本動作を終了する。
【0093】
ステップS110において、MV復号部205は、cu_mv_idx0とインデックスの最大値(動きベクトル候補リストの個数-1)を示すMAX_IDXが一致するか否かについて判断する。
【0094】
Yesの場合、本動作は、ステップS113に進み、Noの場合、本動作は、ステップS111に進む。
【0095】
ステップS113において、MV復号部205は、動きベクトル候補リストから、cu_mv_idx0及びcu_mv_idx1が示す動きベクトルを決定して、本動作を終了する。
【0096】
ステップS111において、MV復号部205は、1を加算するか否かを指定する信号(加算処理を適用するインデックスを表す符号)であるcu_add_idxを復号する。
【0097】
ステップS112において、MV復号部205は、cu_add_idxが1であるか否かについて判断する。
【0098】
Yesの場合(1である場合)、本動作は、ステップS113に進み、Noの場合(0である場合)、本動作は、ステップS109に進む。
【0099】
なお、cu_add_idxは、0又は1の値を取り、cu_mv_idx0に加算されるものとして、ステップS112の条件分離を省略してもよい。この場合の条件式は、以下のようになる。
if (cu_mv_idx0 <= cu_mv_idx1){
cu_mv_idx1 += 1
} else {
if (cu_mv_idx0 - cu_mv_idx1 != 1){
cu_mv_idx0 += 1
} else {
if (cu_mv_idx0 != MAX_IDX){
Decode cu_add_idx
cu_mv_idx0 += cu_add_idx
}
}
【0100】
第2に、
図8に示す本実施形態に係る画像復号装置200の動作の一例について、上述の
図7に示す本実施形態に係る画像復号装置200の動作との相違点に着目して説明する。
【0101】
図8に示すステップS201~S206は、
図7に示すステップS101~S106と同じである。
【0102】
図8に示すように、ステップS207において、MV復号部205は、cu_mv_idx0及びcu_mv_idx1が「MAX_IDX-1」と一致するか否かについて判断する。
【0103】
Yesの場合、本動作は、ステップS214に進み、Noの場合、本動作は、ステップS208に進む。
【0104】
ステップS208において、MV復号部205は、cu_mv_idx0がcu_mv_idx1よりも大きいか否かについて判断する。
【0105】
Yesの場合、本動作は、ステップS210に進み、Noの場合、本動作は、ステップS209に進む。
【0106】
ステップS209において、MV復号部205は、cu_mv_idx1に1を加算し、動きベクトル候補リストから、cu_mv_idx0及びcu_mv_idx1が示す動きベクトルを決定して、本動作を終了する。
【0107】
ステップS210において、MV復号部205は、cu_mv_idx0とcu_mv_idx1との差が1であるか否かについて判断する。
【0108】
Yesの場合、本動作は、ステップS212に進み、Noの場合、本動作は、ステップS211に進む。
【0109】
ステップS211において、MV復号部205は、cu_mv_idx0に1を加算し、動きベクトル候補リストから、cu_mv_idx0及びcu_mv_idx1が示す動きベクトルを決定して、本動作を終了する。
【0110】
ステップS212において、MV復号部205は、1を加算するか否かを指定する信号(加算処理を適用するインデックスを表す符号)であるcu_add_idxを復号する。
【0111】
ステップS213において、MV復号部205は、cu_mv_idx0にcu_add_idx(0又は1)を加算し、動きベクトル候補リストから、cu_mv_idx0及びcu_mv_idx1が示す動きベクトルを決定して、本動作を終了する。
【0112】
ステップS214において、MV復号部205は、cu_add_idxを復号する。
【0113】
ステップS215において、MV復号部205は、cu_add_idxが1であるか否かについて判断する。
【0114】
Yesの場合(1である場合)、本動作は、ステップS217に進み、Noの場合(0である場合)、ステップS216に進む。
【0115】
ステップS216において、MV復号部205は、cu_mv_idx1に1を加算し、動きベクトル候補リストから、cu_mv_idx0及びcu_mv_idx1が示す動きベクトルを決定して、本動作を終了する。
【0116】
ステップS217において、MV復号部205は、cu_mv_idx0に1を加算し、動きベクトル候補リストから、cu_mv_idx0及びcu_mv_idx1が示す動きベクトルを決定して、本動作を終了する。
【0117】
なお、cu_add_idxは、0又は1の値を取り、cu_mv_idx0に加算されるものとして、ステップS112の条件分離を省略してもよい。この場合の条件式は、以下のようになる。
if (cu_mv_idx0 == MAX_IDX-1 && cu_mv_idx1 == MAX_IDX-1){
Decode cu_add_idx
if (cu_add_idx) {
cu_mv_idx0 += 1
} else {
cu_mv_idx1 += 1
}
} else {
if (cu_mv_idx0 > cu1_mv_idx1){
if (cu_mv_idx0 - cu_mv_idx1 == 1){
Decode cu_add_idx
cu_mv_idx0 += cu_add_idx
} else {
cu_mv_idx0 += 1
}
} else {
cu_mv_idx1 += 1
}
}
【0118】
本実施形態に係る画像復号装置200によれば、ブロックを適応的に分割して分割形状に応じた動きベクトルを復号することで、符号化効率を向上させることができる。
【0119】
上述の画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
【産業上の利用可能性】
【0120】
なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【符号の説明】
【0121】
200…画像復号装置
201…復号部
202…逆量子化部
203…逆変換部
204…イントラ予測部
205…MV復号部
206…加算器
207…蓄積部
208…動き補償部
209…合成部
210…符号入力部
220…画像出力部