(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024121009
(43)【公開日】2024-09-05
(54)【発明の名称】画像復号装置、画像復号方法及びプログラム
(51)【国際特許分類】
H04N 19/109 20140101AFI20240829BHJP
H04N 19/159 20140101ALI20240829BHJP
H04N 19/176 20140101ALI20240829BHJP
H04N 19/52 20140101ALI20240829BHJP
【FI】
H04N19/109
H04N19/159
H04N19/176
H04N19/52
【審査請求】有
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2024107771
(22)【出願日】2024-07-03
(62)【分割の表示】P 2021157280の分割
【原出願日】2021-09-27
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和元年度、総務省、「多様な用途、環境下での高精細映像の活用に資する次世代映像伝送・通信技術の研究開発」委託事業、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110001564
【氏名又は名称】フェリシテ弁理士法人
(72)【発明者】
【氏名】木谷 佳隆
(57)【要約】
【課題】GPMによる更なる符号化性能の改善を期待すること。
【解決手段】本発明に係る画像復号装置200は、GPMに対する動き情報を導出して動き補償画素を生成するインター予測部241と、GPMに対するイントラ予測モードを導出してイントラ予測画素を生成するイントラ予測部242とを備え、インター予測部241は、所定条件に基づいて双予測による動き情報の導出の可不可を制御し、導出された動き情報を用いて動き補償画素を生成するように構成されている。
【選択図】
図3
【特許請求の範囲】
【請求項1】
画像復号装置であって、
幾何学分割モードに対する動き情報を導出して動き補償画素を生成するように構成されているインター予測部と、
前記幾何学分割モードに対するイントラ予測モードを導出してイントラ予測画素を生成するように構成されているイントラ予測部と、を備え、
前記インター予測部は、
所定条件に基づいて、双予測による動き情報の導出の可不可を制御し、
導出された前記動き情報を用いて、前記動き補償画素を生成するように構成されていることを特徴とする画像復号装置。
【請求項2】
前記インター予測部及び前記イントラ予測部のそれぞれから入力される動き補償画素及びイントラ予測画素を予め設定された重み係数を用いて合成する合成部を更に備え、
前記インター予測部は、生成した前記補償画素を前記合成部に出力するように構成されていることを特徴とする請求項1の画像復号装置。
【請求項3】
前記インター予測部は、前記復号対象ブロックがBスライスに含まれており且つ前記復号対象ブロックに適用される前記幾何学分割モードによって分割される一方の分割領域に前記イントラ予測が適用され、他方の分割領域に前記インター予測が適用される場合に、前記インター予測の適用領域に対して前記双予測による動き情報が導出可であると判定するように構成されていることを特徴とする請求項1又は2に記載の画像復号装置。
【請求項4】
前記インター予測部は、前記幾何学分割モードが有効で且つ前記インター予測の適用領域に前記双予測が適用可能な場合に、前記幾何学分割モード向けのマージ候補リストから前記双予測による動き情報を導出するように構成されていることを特徴とする請求項1又は2に記載の画像復号装置。
【請求項5】
復号部を備え、
前記インター予測部は、前記幾何学分割モードが有効で且つ前記インター予測の適用領域に前記双予測が適用される場合において、前記双予測による動き情報が導出された場合は、前記復号部によって復号される所定フラグにより、通常マージモード向けのマージ候補リスト或いは前記幾何学分割モード向けのマージ候補リストのいずれを用いるかを選択し、選択した前記マージ候補リストから前記双予測による動き情報を導出するように構成されていることを特徴とする請求項1又は2に記載の画像復号装置。
【請求項6】
前記インター予測部は、前記幾何学分割モードが有効で且つ前記インター予測の適用領域に前記双予測による動き情報が導出された場合において、導出された前記動き情報をDMVRにより修正するように構成されていることを特徴とする請求項1又は2に記載の画像復号装置。
【請求項7】
前記インター予測部は、前記幾何学分割モードが有効で且つ前記インター予測の適用領域に前記双予測による動き情報が導出された場合において、導出された前記動き情報をDMVRにより修正しないように構成されていることを特徴とする請求項1又は2に記載の画像復号装置。
【請求項8】
前記インター予測部は、前記幾何学分割モードが有効で且つ前記インター予測の適用領域に前記双予測による動き情報が導出された場合において、双方向オプティカルフローを適用するように構成されていることを特徴とする請求項1又は2に記載の画像復号装置。
【請求項9】
前記インター予測部は、前記幾何学分割モードが有効で且つ前記インター予測の適用領域に前記双予測による動き情報が導出された場合において、双方向オプティカルフローを適用しないように構成されていることを特徴とする請求項1又は2に記載の画像復号装置。
【請求項10】
前記合成部は、予測画素の画素位置、対象ブロックサイズから算出されるオフセット値及び幾何学分割モードの分割線の角度から算出される変位に基づいて算出される重み係数を用いて、前記動き補償画素及び前記イントラ予測画素を前記重み係数を用いて合成することを特徴とする請求項2に記載の画像復号装置。
【請求項11】
画像復号方法であって、
幾何学分割モードに対する動き情報を導出して動き補償画素を生成する工程Aと、
前記幾何学分割モードに対するイントラ予測モードを導出してイントラ予測画素を生成する工程Bと、を有し、
前記工程Aにおいて、
所定条件に基づいて、双予測による動き情報の導出の可不可を制御し、
導出された前記動き情報を用いて、前記動き補償画素を生成することを特徴とする画像復号方法。
【請求項12】
コンピュータを、画像復号装置として機能させるプログラムであって、
前記画像復号装置は、
幾何学分割モードに対する動き情報を導出して動き補償画素を生成するように構成されているインター予測部と、
前記幾何学分割モードに対するイントラ予測モードを導出してイントラ予測画素を生成するように構成されているイントラ予測部と、を備え、
前記インター予測部は、
所定条件に基づいて、双予測による動き情報の導出の可不可を制御し、
導出された前記動き情報を用いて、前記動き補償画素を生成するように構成されていることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像復号装置、画像復号方法及びプログラムに関する。
【背景技術】
【0002】
非特許文献1では、GPM(Geometric Partitioning Mode)が開示されている。
【0003】
GPMは、矩形ブロックを斜めに2分割しそれぞれを動き補償する。具体的には、GPMにおいて、分割された2領域は、それぞれマージモードの動きベクトルにより動き補償され、重み付き平均により合成される。斜めの分割パターンとしては、角度と位置とによって64パターンが用意されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】ITU-T H.266/VVC
【非特許文献2】JVET-W0024、「EE2:Summary Report on Enhanced Compression beyond VVC capability」
【非特許文献3】JVET-U0100、「Compression efficiency methods beyond VVC」
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1で開示されているGPMは、インター予測に限定されているため、符号化性能の改善余地があるという問題点があった。 そこで、本発明は、上述の課題に鑑みてなされたものであり、GPMにおいてイントラ予測モードを追加する場合、イントラ予測及びインター予測で構成されるGPMのインター予測領域に双予測を適用することで、インター予測領域の予測性能が改善させることができ、符号化性能を向上させることができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の特徴は、画像復号装置であって、幾何学分割モードに対する動き情報を導出して動き補償画素を生成するように構成されているインター予測部と、前記幾何学分割モードに対するイントラ予測モードを導出してイントラ予測画素を生成するように構成されているイントラ予測部と、を備え、前記インター予測部は、所定条件に基づいて、双予測による動き情報の導出の可不可を制御し、導出された前記動き情報を用いて、前記動き補償画素を生成するように構成されていることを要旨とする。
【0007】
本発明の第2の特徴は、画像復号方法であって、幾何学分割モードに対する動き情報を導出して動き補償画素を生成する工程Aと、前記幾何学分割モードに対するイントラ予測モードを導出してイントラ予測画素を生成する工程Bと、を有し、前記工程Aにおいて、所定条件に基づいて、双予測による動き情報の導出の可不可を制御し、導出された前記動き情報を用いて、前記動き補償画素を生成することを要旨とする。
【0008】
本発明の第3の特徴は、コンピュータを、画像復号装置として機能させるプログラムであって、前記画像復号装置は、幾何学分割モードに対する動き情報を導出して動き補償画素を生成するように構成されているインター予測部と、 前記幾何学分割モードに対するイントラ予測モードを導出してイントラ予測画素を生成するように構成されているイントラ予測部と、を備え、前記インター予測部は、所定条件に基づいて、双予測による動き情報の導出の可不可を制御し、導出された前記動き情報を用いて、前記動き補償画素を生成するように構成されていることを要旨とする。
【発明の効果】
【0009】
本発明によれば、GPMにおいてイントラ予測モードを追加する場合、イントラ予測及びインター予測で構成されるGPMのインター予測領域に双予測を適用することで、インター予測領域の予測性能が改善させることができ、符号化性能を向上させることができる画像復号装置、画像復号方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、一実施形態に係る画像処理システム1の構成の一例を示す図である。
【
図2】
図2は、一実施形態に係る画像符号化装置100の機能ブロックの一例を示す図である。
【
図3】
図3は、一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。
【
図4】
図4は、非特許文献1に開示されている幾何学分割モードにより、矩形の復号対象ブロックが幾何学分割モードの分割線によって、幾何学形状の分割領域Aと分割領域Bに2分割されるケースの一例を示す図である。
【
図5】
図5は、本実施形態に係るGPMに対するイントラ予測モードの適用の一例を示す。
【
図6】
図6は、本実施形態に係るGPMに対するイントラ予測モードの適用の一例を示す。
【
図7】
図7は、非特許文献1で開示されているマージ候補リストの構築方法を示す図である。
【
図8】
図8は、非特許文献1及び本実施形態に係るGPMの各分割領域A/Bの予測画素に対する重み係数wの値の一例を示す図である。
【
図9】
図9は、GPMの分割線の角度を規定するangleIdxの一例を示す図である。
【
図11】
図11は、非特許文献1で開示されている被保存予測情報種別及び本実施形態に係る被保存予測情報種別が4×4画素サブブロックごとに特定される例を示す図である。
【
図12】
図12は、GPM適用ブロックを構成するサブブロックのsTypeの値に応じて保存される非特許文献1で開示されている動き情報及び本実施形態に係る予測情報の一覧を示す図である。
【
図13】
図13は、
図4のような異なる2つのインター予測から構成されるGPMに対して保存される予測情報の一例を示す図である。
【
図14】
図14は、
図5のようなイントラ予測とインター予測から構成されるGPMに対して保存される予測情報の一例を示す図である。
【
図15】
図15は、
図6のような異なる2つのイントラ予測から構成されるGPMに対して保存される予測情報の一例を示す図である。
【
図16】
図16は、
図7のような異なる2つのイントラ予測から構成されるGPMに対して保存される予測情報の一例を示す図である。
【
図17A】
図17Aは、非特許文献2に開示されているOBMCにより、動き補償される矩形の復号対象ブロックの一例を示す図である。
【
図17B】
図17Bは、非特許文献2に開示されているOBMCにより、動き補償される矩形の復号対象ブロックの一例を示す図である。
【
図18】
図18は、インター予測部241の動作の一例を示すフローチャートである。
【
図19】
図19は、本実施形態におけるGPMが適用されるブロックに対するOBMCの適用の一例を示す。
【
図20】
図20は、本実施形態におけるIntra/Inter-GPMのインター予測領域に双予測が適用され、当該領域にDMVRが適用され、且つ、当該領域を構成する所定のブロックサイズがもつ動きベクトルが異なる場合に、それらのブロックの上下左右のブロック境界に対してOBMCが適用される一例を示す図である。
【
図21】
図21は、方法1(構成1)に係る合成部243の機能ブロックの一例を示す図である。
【
図22】
図22は、方法2(構成2)に係るインター予測部241の機能ブロックの一例を示す図である。
【
図23】
図23は、方法3(構成3)又は方法4(構成4)に係る画像符号化装置100の機能ブロックの一例を示す図である。
【
図24】
図24は、方法3(構成3)又は方法4(構成4)に係る画像復号装置200の機能ブロックの一例を示す図である。
【
図25】
図25は、方法3(構成3)に係るインター予測部241の機能ブロックの一例を示す図である。
【
図26】
図26は、方法4(構成4)に係るインター予測部241の機能ブロックの一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0012】
<第1実施形態>
以下、
図1~
図26を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。
図1は、本実施形態に係る画像処理システム10について示す図である。
【0013】
(画像処理システム10)
図1に示すように、本実施形態に係る画像処理システム10は、画像符号化装置100及び画像復号装置200を有する。
【0014】
画像符号化装置100は、入力画像信号(ピクチャ)を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。
【0015】
ここで、かかる符号化データは、画像符号化装置100から画像復号装置200に対して伝送路を介して送信されてもよい。また、符号化データは、記憶媒体に格納された上で、画像符号化装置100から画像復号装置200に提供されてもよい。
【0016】
(画像符号化装置100)
以下、
図2を参照して、本実施形態に係る画像符号化装置100について説明する。
図2は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
【0017】
図2に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、合成部113と、予測情報バッファ114と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
【0018】
インター予測部111は、インター予測(フレーム間予測)によってインター予測信号を生成するように構成されている。
【0019】
具体的には、インター予測部111は、符号化対象フレーム(対象フレーム)とフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトル(MV:Motion Vector)を決定するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
【0020】
また、インター予測部111は、参照ブロック及び動きベクトルに基づいて符号化対象ブロック(以下、対象ブロック)に含まれるインター予測信号を対象ブロック毎に生成するように構成されている。
【0021】
また、インター予測部111は、インター予測信号を合成部113に出力するように構成されている。
【0022】
また、インター予測部111は、
図2には図示していないが、インター予測の制御に関する情報(具体的には、インター予測モードや動きベクトルや参照フレームリストや参照フレーム番号等の情報)を符号化部140に出力するように構成されている。
【0023】
イントラ予測部112は、イントラ予測(フレーム内予測)によってイントラ予測信号を生成するように構成されている。
【0024】
具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいてイントラ予測信号を対象ブロック毎に生成するように構成されている。ここで、参照ブロックは、対象ブロックについて参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。
【0025】
また、イントラ予測部112は、イントラ予測信号を合成部113に出力するように構成されている。
【0026】
また、イントラ予測部112は、
図2には図示していないが、イントラ予測の制御に関する情報(具体的には、イントラ予測モード等の情報)を符号化部140に出力するように構成されている。
【0027】
合成部113は、インター予測部111から入力されたインター予測信号又は/且つイントラ予測部112から入力されたイントラ予測信号を、予め設定された重み係数を用いて合成し、合成された予測信号(以下、まとめて予測信号と記載)を減算器121及び加算器122に出力するように構成されている。
【0028】
予測情報バッファ114は、インター予測部111又はイントラ予測部112から入力される予測情報を保存する、或いは、保存された予測情報をインター予測部111又はイントラ予測部112又は合成部113又はインループフィルタ処理部150に出力するように構成されている。ここで、予測情報の詳細については後述する。
【0029】
ここで、合成部113のインター予測信号又は/且つイントラ予測信号の合成処理に関しては、非特許文献1と同様の構成を本実施形態でも採ること可能であるため、説明は省略する。
【0030】
減算器121は、入力画像信号から予測信号を減算し、予測残差信号を変換・量子化部131に出力するように構成されている。ここで、減算器121は、イントラ予測又はインター予測によって生成される予測信号と入力画像信号との差分である予測残差信号を生成するように構成されている。
【0031】
加算器122は、逆変換・逆量子化部132から出力される予測残差信号に合成部113から出力される予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部112及びインループフィルタ処理部150に出力するように構成されている。
【0032】
ここで、フィルタ処理前復号信号は、イントラ予測部112で用いる参照ブロックを構成する。
【0033】
変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。
【0034】
ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理としては、離散コサイン変換(Discrete Cosine Transform、以下、DCTと記す)に対応する基底パタン(変換行列)が用いられてもよく、離散サイン変換(Discrete Sine Transform、以下、DSTと記す)に対応する基底パタン(変換行列)が用いられてもよい。
【0035】
また、変換処理としては、非特許文献1で開示されている複数の変換基底から予測残差信号の係数の偏りに適したものを水平・垂直方向毎に選択可能とするMTS(Multiple Transform Selection)や、1次変換後の変換係数をさらに低周波数領域に集中させることで符号化性能を改善するLFNST(Low Frequecny Non-Separable Transform)が用いられてもよい。
【0036】
逆変換・逆量子化部132は、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
【0037】
ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
【0038】
符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
【0039】
ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。
【0040】
また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
【0041】
ここで、制御データは、符号化ブロックサイズ、予測ブロックサイズ、変換ブロックサイズ等のブロックサイズに関する情報(フラグやインデックス)を含んでもよい。
【0042】
また、制御データは、後述する画像復号装置200における逆変換・逆量子化部220の逆変換・逆量子化処理やインター予測部241のインター予測信号生成処理やイントラ予測部242のイントラ予測信号生成処理や合成部243のインター予測信号又は/且つイントラ予測信号の合成処理やインループフィルタ処理部250のフィルタ処理等の制御に必要な情報(フラグやインデックス)を含んでもよい。
【0043】
なお、非特許文献1では、これらの制御データは、シンタックスと呼称され、その定義は、セマンティクスと呼称されている。
【0044】
また、制御データは、後述するシーケンス・パラメータ・セット(SPS:Sequence Parameter Set)やピクチャ・パラメータ・セット(PPS:Picutre Parameter Set)やピクチャヘッダ(PH:Picture Header)やスライスヘッダ(SH:Slice Header)等のヘッダ情報を含んでもよい。
【0045】
インループフィルタ処理部150は、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
【0046】
ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック又は変換ブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理や画像符号化装置100から伝送されるフィルタ係数やフィルタ選択情報、画像の絵柄の局所的な性質等に基づいてフィルタを切り替える適応ループフィルタ処理である。
【0047】
フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。
【0048】
ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。
【0049】
(画像復号装置200)
以下、
図3を参照して、本実施形態に係る画像復号装置200について説明する。
図3は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
【0050】
図3に示すように、画像復号装置200は、復号部210と、逆変換・逆量子化部220と、加算器230と、インター予測部241と、イントラ予測部242と、合成部243と、予測情報バッファ224と、インループフィルタ処理部250と、フレームバッファ260とを有する。
【0051】
復号部210は、画像符号化装置100によって生成される符号化データを復号し、係数レベル値を復号するように構成されている。
【0052】
ここで、復号は、例えば、符号化部140で行われるエントロピー符号化とは逆の手順のエントロピー復号である。
【0053】
また、復号部210は、符号化データの復号処理によって制御データを取得するように構成されていてもよい。
【0054】
ここで、制御データは、上述した復号ブロック(上述の画像符号化装置100における符号化対象ブロックと同義。以下、まとめて対象ブロックと記載)のブロックサイズに関する情報を含んでもよい。
【0055】
また、制御データは、逆変換・逆量子化部220の逆変換・逆量子化処理やインター予測部241やイントラ予測部242の予測画素生成処理やインループフィルタ処理部250のフィルタ処理等の制御に必要な情報(フラグやインデックス)が含んでもよい。
【0056】
また、制御データは、上述したシーケンス・パラメータ・セット(SPS:Sequence Parameter Set)やピクチャ・パラメータ・セット(PPS:Picutre Parameter Set)やピクチャヘッダ(PH:Picture Header)やスライスヘッダ(SH:Slice Header)等のヘッダ情報を含んでもよい。
【0057】
逆変換・逆量子化部220は、復号部210から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部220は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
【0058】
ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
【0059】
インター予測部241は、インター予測部111と同様に、インター予測(フレーム間予測)によってインター予測信号を生成するように構成されている。
【0060】
具体的には、インター予測部241は、符号化データから復号した動きベクトル及び参照フレームに含まれる参照信号に基づいてインター予測信号を生成するように構成されている。インター予測部241は、インター予測信号を合成部243に出力するように構成されている。
【0061】
イントラ予測部242は、イントラ予測部112と同様に、イントラ予測(フレーム内予測)によってイントラ予測信号を生成するように構成されている。
【0062】
具体的には、イントラ予測部242は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいてイントラ予測信号を予測ブロック毎に生成するように構成されている。イントラ予測部242は、イントラ予測信号を合成部243に出力するように構成されている。
【0063】
合成部243は、合成部113と同様に、インター予測部241から入力されたインター予測信号又は/且つイントラ予測部242から入力されたイントラ予測信号を、予め設定された重み係数を用いて合成し、合成された予測信号(以下、まとめて予測信号と記載)を加算器230に出力するように構成されている。
【0064】
予測情報バッファ244は、予測情報バッファ114と同様に、インター予測部221又はイントラ予測部222から入力される予測情報を保存する、或いは、保存された予測情報をインター予測部241又はイントラ予測部242又は合成部243又はインループフィルタ処理部250に出力するように構成されている。ここで、予測情報の詳細については後述する。
【0065】
加算器230は、逆変換・逆量子化部220から出力される予測残差信号に合成部243から出力される予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をインループフィルタ処理部250に出力するように構成されている。
【0066】
ここで、フィルタ処理前復号信号は、イントラ予測部242で用いる参照ブロックを構成する。
【0067】
インループフィルタ処理部250は、インループフィルタ処理部150と同様に、加算器230から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ260に出力するように構成されている。
【0068】
ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック、変換ブロック或いはそれらを分割したサブブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理や、画像符号化装置100から伝送されるフィルタ係数やフィルタ選択情報や画像の絵柄の局所的な性質等に基づいてフィルタを切り替える適応ループフィルタ処理である。
【0069】
フレームバッファ260は、フレームバッファ160と同様に、インター予測部241で用いる参照フレームを蓄積するように構成されている。
【0070】
ここで、フィルタ処理後復号信号は、インター予測部241で用いる参照フレームを構成する。
【0071】
(幾何学分割モード)
以下、
図4を用いて、復号部210とインター予測部241とイントラ予測部242に係る非特許文献1で開示されている幾何学分割モード(GPM)について説明する。
【0072】
図4は、非特許文献1に開示されている幾何学分割モードにより、矩形の復号対象ブロックが幾何学分割モードの分割線Lによって、幾何学形状の分割領域Aと分割領域Bに2分割されるケースの一例を示す。
【0073】
ここで、非特許文献1で開示されている幾何学分割モードの分割線Lは、角度と位置とによって64パターンが用意されている。
【0074】
また、非特許文献1に係るGPMは、分割領域A及び分割領域Bのそれぞれに対して、インター予測を適用し、インター予測(動き補償)画素を生成する。
【0075】
具体的には、かかるGPMでは、非特許文献1で開示されているマージ候補リストを構築し、かかるマージ候補リスト及び画像符号化装置100から伝送される各分割領域A/Bに対する2つのマージインデックス(merge_gpm_idx0、merge_gpm_idx1)に基づいて、各分割領域A/Bの動きベクトル(mvA、mvB)及び参照フレームを導出して、参照ブロック、すなわち、インター予測(又は、動き補償)ブロックを生成し、最終的に各分割領域A/Bのインター予測画素が、予め設定された重みによって加重平均されて合成される。
【0076】
(GPMへのイントラ予測の適用)
以下、
図5及び
図6を用いて、復号部210とインター予測部241とイントラ予測部242に係る非特許文献1で開示されている幾何学分割モード(GPM:Geometric Partitioning Mode)及び本実施形態に係る第1の幾何学分割モード(GPM)へのイントラ予測モードへの適用について説明する。
【0077】
図5及び
図6は、本実施形態に係るGPMに対するイントラ予測モードの適用の一例を示す。
【0078】
具体的に、
図5は、各分割領域A/Bに対してイントラ予測(modeX)及びインター予測が適用される場合の本実施形態に係るGPMの構成例を示す。
図6は、各分割領域にA/B対して、異なる2つのイントラ予測(modeX、modeY)が適用される場合の本実施形態に係るGPMの構成例を示す。
【0079】
ここで、本実施形態に係る第1のGPMでは、各分割領域A/Bに対しては、インター予測或いはイントラ予測モードのいずれも適用することができ、さらにイントラ予測モードの種別は、対象ブロックの分割形状(分割線)に応じて限定する。
【0080】
また、本実施形態に係る第2のGPMでは、復号対象ブロックにおけるイントラ予測モードを追加適用したGPMの適用の可不可及びGPM適用時の各分割領域A/Bにおける予測モード種別の特定方法に関して規定している。
【0081】
これにより、イントラ予測モードを追加適用したGPMが適切に復号対象ブロックに適用されると共に、最適な予測モードが特定されることで、結果として符号化性能のさらなる改善余地を実現することができる。
【0082】
なお、以降では、
図4に示すような異なる2つのインター予測で構成されるGPM、
図5に示すようなイントラ予測及びインター予測で構成されるGPM、
図6に示すような2つのイントラ予測で構成されるGPMを、それぞれ、Inter/Inter-GPM、Intra/Inter-GPM、Intra/Intra-GPMと呼称する。
【0083】
さらに、本実施形態では、Bスライスに含まれるIntra/Inter-GPMのインター予測に対して双予測を適用する方法に関して規定している。
【0084】
ここで、Bスライスは、インター予測ブロックに対して双予測の適用が制限されていないスライスである。これに対して、Pスライスは、インター予測ブロックに対して双予測の適用が制限(禁止)されている、すなわち、インター予測ブロックに対して片予測のみが適用可能なスライスである。ここで、片予測とは、1つの動きベクトルのみによってインター予測(動き補償)画素が生成されるインター予測(動き補償)である。
【0085】
これにより、GPMにおけるインター予測適用領域の予測性能が向上し、結果として符号化性能のさらなる改善余地を実現することができる。
【0086】
以降では、本実施形態で提案するGPMへのイントラ予測の適用パターンのうち、Intra/Inter-GPMへの双予測の適用方法について、以下、3つの観点で説明する。
【0087】
ここで、3つの観点とは、インター予測部241におけるIntra/Inter-GPMへの双予測の適用時の動き情報導出方法、インター予測部241及びイントラ予測部242及び予測情報バッファ244における予測情報の保存方法、インター予測部241及びイントラ予測部242及び合成部243における予測画素生成方法である。
【0088】
[インター予測部における双予測適用時の動き情報導出方法]
(マージ候補リスト)
図7は、非特許文献1で開示されているマージ候補リストの構築方法を示す図である。
【0089】
かかるマージ候補リストは、
図7に示すように、2つの予測方向を示すリスト0(L0)及びリスト1(L1)から構成され、さらに各リストに対して複数の後述する動き情報の候補をリストに構築する。
【0090】
第1に、非特許文献1で開示されている通常マージモードの動き情報は、merge_idxによって導出される。具体的には、merge_idxが示すリスト番号に対応するマージ候補リストの動き情報が、通常マージモードの動き情報として決定される。
【0091】
ここで、通常マージモードで使用される動き情報は、後述するGPMの2つのマージインデックスのそれぞれで選択される動き情報とは異なり、双予測であってもよい(2つの動きベクトル、すなわち、L0及びL1のそれぞれのリストに1つずつ動きベクトルを有してもよい)。
【0092】
なお、この通常マージ向けのマージ候補リストの構築時に、非特許文献1では、マージ候補リスト内に同一の動きベクトルが保存を回避する剪定(Pruning)処理が導入されいている。
【0093】
非特許文献1の剪定処理では、非特許文献1で開示されている空間マージ、時間マージ、ヒストリーマージ、ペアワイズ平均マージ、ゼロマージの順で、マージ候補リスト内に新規のマージ候補として動き情報を追加する際に、既にマージ候補リスト内に保存されているマージ候補が有する参照フレームと動きベクトルとの一致性を比較して剪定するかどうかを判定する。
【0094】
具体的には、まず参照フレームが完全一致するかが比較され、完全一致する場合は、次に動きベクトルが完全一致するかどうかが判定される。
【0095】
参照フレームが完全一致しない場合は、たとえ動きベクトルが一致していても、剪定対象とみなされない。その場合、比較対象のうち、マージ候補リストにはない動き情報は、新規のマージ候補としてマージ候補リストに追加される構成となっている。
【0096】
第2に、参照フレームが完全一致し且つ動きベクトルが完全一致している場合は、剪定対象とみなされる。それ以外の場合は、比較対象のうち、マージ候補リストにはない動き情報は、新規のマージ候補としてマージ候補リストに追加される構成となっている。
【0097】
なお、動き情報が、双予測、すなわち、動きベクトル及び参照フレームをL0及びL1のそれぞれ1つずつ持つ場合は、比較対象のマージ候補のL0及びL1の動きベクトル及び参照フレームのそれぞれと完全一致する場合に剪定対象とみなされる。
【0098】
本実施形態で提案する、Intra/Inter-GPMのインター予測に適用する双予測に対しては、インター予測部241は、この通常マージモード向けのマージ候補リストから動き情報を導出してもよい。
【0099】
なぜなら、非特許文献1で開示されているIntra/Inter-GPMのそれぞれのインター予測領域には、双予測の適用が制限(禁止)されているため、それぞれのインター予測領域に対する動き情報の導出には、後述するGPM向けのマージ候補リストを用いられているが、本実施形態では、インター予測領域に、双予測の適用が制限(禁止)されていないため、通常マージモードの向けのマージ候補リストをそのまま使用することが可能であるためである。
【0100】
なお、通常マージモード向けのマージ候補リストを用いる場合、マージインデックスmerge_idxが示すリスト番号に対応するマージ候補リストの動き情報が、片予測である場合(すなわち、L0或いはL1のいずれかがゼロベクトル)である場合は、インター予測部241は、Intra/Inter-GPMのインター予測領域は双予測ではなく、片予測として動き情報を導出し、予測画素を生成してもよい。
【0101】
ここで、本実施形態の変更例として、非特許文献1で開示されているGPM向けのマージ候補リストから動き情報を導出してもよい。
【0102】
具体的には、非特許文献1では、Inter/Inter-GPMの分割領域A/Bに対するインター予測の動き情報を、復号部210で復号或いは推定された2つのマージインデックス(merge_gpm_idx0/merge_gpm_idx1)の値と、
図5に示すGPM向けのマージ候補リスト(MergeCandList[m,n])とによって導出する。
【0103】
ここで、merge_gpm_idx0及びmerge_gpm_idx1に基づいて導出される動き情報が極力重複しないように、merge_gpm_idx0及びmerge_gpm_idx1で選択される動き情報の導出対象となるリスト番号は、
図5のXに示すようにMergeCandListの偶数番号と奇数番号とで入れ子構造になっている。
【0104】
具体的には、merge_gpm_idx0及びmerge_gpm_idx1に基づき、以下のm及びnを計算する。
【0105】
m=merge_gpm_idx0[xCb][yCb]
n=merge_gpm_idx1[xCb][yCb]+((merge_gpm_idx1[xCb][yCb]>=m)?1:0)
このように算出されたmの値に基づき、分割領域Aの動き情報を構成する動きベクトル、参照画像インデックス及び予測リストフラグが、以下のように導出される。
【0106】
まず、Xの値をm&0x01(mの値が偶数であるか否かの判定)及びn&0x01(nの値が偶数であるか否かの判定)から算出する。ここで、算出されたXが0の場合は、Xの値を(1-X)とする。
【0107】
最後に、分割領域Aの動きベクトルmvA、参照画像インデックスrefIdxA、予測リストフラグpreListFlagA、分割領域Bの動きベクトルmvB、参照画像インデックスrefIdxB、予測リストフラグpreListFlagBを、それぞれ以下のように導出する。
【0108】
mvA=mvLXM
refIdxA=refIdxLXM
preListFlagA=X
mvB=mvLXN
refIdxB=refIdxLXN
preListFlagB=X
ここで、M及びNは、それぞれマージ候補リストにおけるm及びnが示すマージ候補の番号、すなわち、
M=MergeCandList[m]
N=MergeCandList[n]
である。
【0109】
ただし、本実施形態では、分割領域A/Bの片方のみがインター予測である場合の双予測の適用を提案するため、上述のように、2つのマージインデックスの復号は不要であり、1つのマージインデックスのみで動きベクトルを導出できる。
【0110】
ここで、非特許文献1で開示されているGPM向けのマージ候補リストに対して、1つのマージインデックスを用いて動きベクトルを導出することは、通常マージモード向けのマージ候補リストに対して、1つのマージインデックスを用いて動きベクトルを導出することと実質的に同じである。
【0111】
ここで、非特許文献1で開示されているGPM向けのマージ候補リストに対して、非特許文献2で開示されているGPM向けのマージ候補リストは、非特許文献1で開示されいている上述の通常マージ向けのマージ候補リストに導入されている剪定処理(以下、通常マージ向け剪定処理)よりも強力な剪定処理(以下、GPM向け剪定処理)が導入されている。
【0112】
具体的には、GPM向け剪定処理では、非特許文献1で開示されている通常マージ向け剪定処理とは異なり、動き情報を剪定対象とするかどうかの判定について、動き情報が有する参照フレームが非特許文献1と同じく完全一致するかどうかで判定するが、動き情報が有する動きベクトルについては完全一致ではなく、復号対象ブロックのブロックサイズに基づく閾値により判定している。
【0113】
具体的に、復号対象ブロックサイズが64画素未満である場合、かかる閾値は1/4画素に設定されており、復号対象ブロックサイズが64画素以上で且つ256画素未満である場合、かかる閾値は1/2画素に設定されており、復号対象ブロックサイズが256画素以上である場合、かかる閾値は1画素に設定されている。
【0114】
GPM向け剪定処理の具体的なフローでは、通常マージ向け剪定処理と同様に、第1に、参照フレームが完全一致するかについて比較され、参照フレームが完全一致する場合は、第2に、動きベクトルが完全一致するかどうかについて判定される。
【0115】
参照フレームが完全一致しない場合は、たとえ動きベクトルが閾値未満であっても、剪定対象とみなされない。その場合、比較対象のうちマージ候補リストにはない動き情報は、新規のマージ候補としてマージ候補リストに追加される構成となっている。
【0116】
第3に、参照フレームが完全一致し且つ動きベクトルが閾値未満である場合は、剪定対象とみなされる。それ以外の場合は、比較対象のうちマージ候補リストにはない動き情報は、新規のマージ候補としてマージ候補リストに追加される構成となっている。
【0117】
これにより、通常マージ向け剪定処理では剪定対象ではなかった動きベクトルが類似する場合の動き情報も剪定対象に含まれることになるため、GPMの2つのマージインデックスによって導出される動き情報の類似性を排除でき、符号化性能の改善が期待できる。
【0118】
なお、非特許文献2で開示されているGPM向け剪定処理において、動き情報が、双予測、すなわち、動きベクトル及び参照フレームをL0及びL1のそれぞれ1つずつ持つ場合は、比較対象のマージ候補のL0及びL1の参照フレームのそれぞれと完全一致する場合に剪定対象とみなされる。
【0119】
本実施形態では、インター予測部241は、かかるGPM向け剪定処理が追加されたGPMのマージ候補リストを通常マージモード向けの代替として用いて動き情報を導出してもよい。
【0120】
これにより、より類似度が低い動き情報から構成されたマージ候補リスト内から動き情報を導出できるため、結果として符号化性能の改善が期待できる。
【0121】
更なる変更例として、インター予測部241は、動きベクトルの導出に使用するマージ候補リストとして、通常マージモード向けのマージ候補リスト及びGPM向けのマージ候補リストのいずれを使用するかをフラグによって切り替えてもよい。
【0122】
具体的には、復号部210が復号する、例えば、1ビットのフラグを制御データに含まれるように構成することで、復号部210が、かかるフラグの値を復号或いは推定して、インター予測部241に伝達することで、この切換が実現できる。
【0123】
これにより、インター予測部241は、より多様なバリエーションから動き情報が導出することができるため、予測性能が向上し、結果として符号化性能の改善が期待できる。
【0124】
(GPMの重み係数)
以下、
図8~
図10を用いて、復号部210、インター予測部241、イントラ予測部242及び合成部243に係る非特許文献1及び本実施形態に係るGPMの重み係数wについて説明する。
【0125】
図8は、非特許文献1及び本実施形態に係るGPMの各分割領域A/Bの予測画素に対する重み係数wの値の一例を示す図である。
【0126】
インター予測部241又はイントラ予測部242によって生成された各分割領域A/Bの予測画素が、合成部243で重み係数wによって合成(加重平均)される。
【0127】
非特許文献1において、重み係数wの値は、0~8の値が用いられており、本実施形態でも、かかる重み係数wの値を用いてもよい。ここで、重み係数wの値0、8は、非ブレンディング領域(非Blending領域)を示し、重み係数wの値1~7は、ブレンディング領域(Blending)を示す。
【0128】
なお、本実施形態において、重み係数wの計算方法は、非特許文献1と同様の方法で、画素位置(xL、yL)及び対象ブロックサイズから算出されるオフセット値(offsetX、offsetY)、
図9に示す幾何学分割モード(GPM)の分割線の角度を規定するangleIdxから算出される変位(diplacementX、diplacementY)及び
図10に示すdiplacementX、diplacementYから算出されるテーブル値disLutから、以下のように算出するように構成することができる。
【0129】
weightIdx=(((xL+offsetX)<<1)+1)×disLut[diplacementX]+(((yL+offsetY)<<1)+1)×disLut[diplacementY]
weightIdxL=partFlip?32+weightIdx:32-weightIdx
w=Clip3(0,8,(weightIdxL+4)>>3)
【0130】
[インター予測部、イントラ予測部、予測情報バッファにおける予測情報保存方法]
(被保存動き情報種別および被保存予測情報種別)
以下、
図11を用いて、復号部210、インター予測部241、イントラ予測部242及び予測情報バッファ244に非特許文献1で開示されている被保存動き情報種別及び本実施形態に係る被保存予測情報種別について説明する。
【0131】
図11は、非特許文献1で開示されている被保存予測情報種別及び本実施形態に係る被保存予測情報種別が4×4画素サブブロックごとに特定される例を示す図である。
【0132】
両者の計算方法は、以下に示すように同じであるが、
図8に示すように、保存される情報が、非特許文献1では動き情報であるのに対して、本実施形態では予測情報である点が異なる。
【0133】
第1に、被保存動き情報種別の値及び被保存予測情報種別の値(計算方法が同じであるため、以降では、便宜的に、いずれの値もsTypeとして定義する)は、非特許文献1と同様に、4×4画素サブブロック単位のインデックス(xSbIdx、ySbIdx)、上述の重み係数wと同様に算出されるオフセット値(offsetX、offsetY)、変位(diplacementX、diplacementY)及びテーブル(disLut)から、以下のように計算される。
【0134】
motionIdx=(((4×xSbIdx+offsetX)<<1)+5)×disLut[diplacementX]+(((4×ySbIdx+offsetY)<<1)+5)×disLut[diplacementY]
sType=Abs(motionIdx)<32?2:(motionIdx<=0?(1-isFlip):isFlip)
ここで、sTypeの値は、
図11に示すように、0,1,2の3種類の値から構成され、それぞれの値に応じて、予測情報バッファ244に保存される動き情報及び予測情報が、以下のように、インター予測部241及びイントラ予測部242によって制御される。
【0135】
sTypeの値が0の場合は、非特許文献1では分割領域Aの動き情報を保存し、本実施形態では分割領域Aの予測情報を保存する。
【0136】
sTypeの値が1の場合は、非特許文献1では分割領域Bの動き情報を保存し、本実施形態では分割領域Bの予測情報を保存する。
【0137】
sTypeの値が2の場合は、非特許文献1では分割領域A及び分割領域Bの動き情報又は分割領域Bのみの動き情報を保存し、本実施形態では分割領域A及び分割領域Bの予測情報又は分割領域Bのみの予測情報を保存する。
【0138】
ここで、保存される動き情報及び予測情報については後述する。
【0139】
なお、上述のsTypeの算出単位及び後述する動き情報又は予測情報の保存単位を、上述の4×4画素サブブロック単位から、設計者の意図で変更してもよい。
【0140】
具体的には、保存する情報量を削減するために、上述のsTypeの算出単位及び後述する動き情報又は予測情報の保存単位を8×8画素や16×16画素等と大きくしてもよい。
【0141】
或いは、保存する情報量が増えるが、他のブロックやフレームから参照される際の動き情報又は予測情報の精度を向上させるために、上述のsTypeの算出単位及び後述する動き情報又は予測情報の保存単位を2×2画素等と小さくしてもよい。
【0142】
(予測情報バッファに保存される動き情報及び予測情報)
以下、
図12及び
図13を用いて、インター予測部241から予測情報バッファ244に保存される非特許文献1で開示されている動き情報及び本実施形態にかかる予測情報についてそれぞれ説明する。
【0143】
図12は、GPM適用ブロックを構成するサブブロックのsTypeの値に応じて保存される非特許文献1で開示されている動き情報及び本実施形態に係る予測情報の一覧を示す図である。
【0144】
第1に、非特許文献1で開示されているGPMで最終的に保存される動き情報は、以下のパラメータから構成される。
・予測方向(predFlagL0、predFlagL1)
・L0及びL1の動きベクトル(mvL0、mvL1)
・L0及びL1の参照画像インデックス(refIdxL0、refIdxL1)
・BcwIdx
なお、予測方向(predFlagL0、predFlagL1)は、後述するsTypeに応じて保存されるサブブロックの予測方向を示すパラメータであり、predFlagL0の値及びpredFlagL1の値に基づいて、L0片予測、L1片予測、L0/L1双予測の3種類に分類される。
【0145】
ここで、L0片予測とは、L0リストから導出した1つの動きベクトルによるインター予測であり、predFlagL0が1であり且つpredFlagL1が0であるケースが、この条件を示す値としてそれぞれ保存される。
【0146】
また、L1片予測とは、L1リストから導出した1つの動きベクトルによるインター予測であり、predFlagL0が0であり且つpredFlagL1が1であるケースが、この条件を示す値としてそれぞれ保存される。
【0147】
また、L0/L1双予測とは、L0リスト及びL1リストのそれぞれから導出した2つの動きベクトルによるインター予測であり、predFlagL0が1であり且つpredFlagL1が1であるケースが、この条件を示す値としてそれぞれ保存される。
【0148】
また、L0及びL1の動きベクトル(mvL0、mvL1)は、上述のリスト番号L0及びL1に対する動きベクトルである。
【0149】
また、L0及びL1の参照画像インデックス(refIdxL0、refIdxL1)は、それぞれmvL0及びmvL1が参照する参照フレームを示すインデックスである。
【0150】
また、BcwIdxは、非特許文献1で開示されているBCW(Bi-prediction with CU-level weights)の重み係数の値を特定するインデックスである。
【0151】
これらの非特許文献1で開示されている予測情報バッファ244に保存される動き情報に対して、本実施形態において予測情報バッファ244に保存される予測情報として、
図12に示すように、予測種別及びイントラ予測モードが保存されるパラメータとして追加される。
【0152】
ここで、予測種別は、
図12に示すようにインター予測(Inter)とイントラ予測(Intra)のいずれかを示す内部パラメータである。
【0153】
また、本実施形態に係る予測情報として、
図12に示すように、hpeIfIdxやIBC FlagやLIC Flagが追加されてもよい。
【0154】
ここで、hpeIfIdx及びIBC Flagは、それぞれ非特許文献1で開示されているSIF(Switchable Interpolation Filter)及びIBC(Intra Block Copy)、及び、非特許文献2で開示されているLIC(Local Illumination Compensation)の適用有無を特定するフラグである。
【0155】
(被保存予測情報種別に応じて保存される予測情報の詳細)
以下、
図13~
図15を用いて、本実施形態に係るインター予測部241又はイントラ予測部242が被保存予測情報種別sTypeに応じて、予測情報バッファ244に保存する予測情報の詳細を説明する。
【0156】
図13は、
図4のような異なる2つのインター予測から構成されるGPMに対して保存される予測情報の一例を示す図である。以下に、sTypeの値に応じて保存される各予測情報の詳細を説明する。
【0157】
第1に、予測種別は、全てのsType領域でインター予測(Inter)であることが保存される。
【0158】
第2に、predFlagL0、predFlagL1、mvL0、mvL1、refIdxL0及びrefIdxL1は、sTypeの値と、上述の分割領域A/Bの動きベクトルの導出先を示すマージ候補リストのリスト番号を示すpredListFlagA及びpredListFlagBの値とに応じて、非特許文献1に開示されている方法と同様に、以下のように保存される。
【0159】
まず、sType=0の場合は、以下のように計算される。
【0160】
predFlagL0=(predListFlagA==0)?1:0
predFlagL1=(predListFlagA==0)?0:1
refIdxL0=(predListFlagA==0)?refIdxA:-1
refIdxL1=(predListFlagA==0)?-1:refIdxA
mvL0=(predListFlagA==0)?mvA:0
mvL1=(predListFlagA==0)?0:mvA
次に、sType=1の場合、又は、sType=2且つpredListFlagA+predListFlagB≠1の場合は、以下のように計算される。
【0161】
predFlagL0=(predListFlagB==0)?1:0
predFlagL1=(predListFlagB==0)?0:1
refIdxL0=(predListFlagB==0)?refIdxB:-1
refIdxL1=(predListFlagB==0)?-1:refIdxB
mvL0=(predListFlagB==0)?mvB:0
mvL1=(predListFlagB==0)?0:mvB
ここで、predListFlagA+predListFlagB≠1は、分割領域A/Bのリスト番号が一致する場合を示す。このとき、動きベクトルの重複を避けるため、sType=2の場合であっても分割領域Bの動きベクトルのみを保存する構成としている。
【0162】
次に、sType=2且つpredListFlagA+predListFlagB=1の場合は、以下のように計算される。
【0163】
predFlagL0=1
predFlagL1=1
refIdxL0=(predListFlagA==0)?refIdxA:refIdxB
refIdxL1=(predListFlagA==0)?refIdxB:refIdxA
mvL0=(predListFlagA==0)?mvA:mvB
mvL1=(predListFlagA==0)?mvB:mvA
ここで、predListFlagA+predListFlagB=1は、分割領域A/Bのリスト番号が一致しない場合を示す。このとき、分割領域A/Bの2つ動きベクトルをそのまま保存する構成としている。
【0164】
なお、
図13では図示していないが、上述のmvL0及びmvL1は、非特許文献2で開示されているGPMに対するMMVD(Merge with Motion Vector Difference)やInter TM(Template Matching)により修正される前の動きベクトルを保存してもよい。
【0165】
或いは、上述のmvL0及びmvL1は、非特許文献2で開示されているGPMに対するMMVDやInter TMにより修正された後の動きベクトルであってもよい。
【0166】
修正後の動きベクトルを保存する場合は、当該GPM適用ブロックから動きベクトルを取得して予測画素を生成する予測ブロックの予測精度が向上する。
【0167】
一方、修正前の動きベクトルを保存する場合は、当該GPMから動きベクトルを参照する予測ブロックの予測精度の向上は期待できないが、当該GPMブロックに対するMMVD及びInter TMの処理完了を待たずに、当該GPM適用ブロックの参照元ブロックの動きベクトルの導出処理を開始できるようになるため、復号処理時間の削減が期待できる。
【0168】
なお、修正前後のいずれの動きベクトルを保存するかは、後述する
図13~
図15に対しても同様に選択可能である。
【0169】
次に、イントラ予測モードは、全てのsType領域で保存しないとしてもよい。或いは、全てのsType領域でイントラ予測が無効であることを示す値が保存されてもよい。なぜなら、
図13に示す構成では、全ての領域がインター予測であるため、対象ブロックに適用されたイントラ予測モードが存在しえないためである。
【0170】
一方で、各sType領域に保存されるイントラ予測モードとして、各sType領域に保存される動き情報の参照先がイントラ予測ブロックである場合は、その参照ブロックのイントラ予測モードを、当該対象ブロックのイントラ予測モードとして保存してもよい。
【0171】
また、各sType領域に保存される動き情報の参照先がインター予測ブロックである場合は、当該対象ブロックのイントラ予測モードを、Planarモードとして保存してもよいし、或いは、その参照先のインター予測ブロックに保存された動き情報の参照先を用いて、さらにイントラ予測モードを再帰的に追跡してもよい。
【0172】
ただし、追跡範囲には限度があるため、追跡上限に達した場合にイントラ予測モードの参照先が見つからなければ、Planarモードを当該対象ブロックのイントラ予測モードとして保存してもよい。
【0173】
これにより、当該対象ブロックの所定領域の予測種別がインター予測であっても、当該対象ブロックからフレーム内の別のブロック(例えば、隣接ブロック)から参照された場合に、イントラ予測を参照することができる。
【0174】
次に、BcwIdx、hpeIfIdx、IBC Flag、LIC Flagは、全てのsType領域で無効である値ことを示す値が保存されてもよい。なぜなら、BCW、SIF、IBC及びLICは、いずれもGPMと排他の符号化ツールであるため、GPMが適用された対象ブロックでは、これらの符号化ツールが無効であることが自明であるためである。
【0175】
関連して、
図12及び
図13には図示していないが、IBCで使用される動きベクトルは保存しなくてもよいし、ゼロベクトルが保存されてもよい。これらのパラメータは、後述する
図14及び
図15においても、同様の構成を採る採ることができるため、
図14及び
図15におけるこれらパラメータの詳細の説明は、以降では省略する。
【0176】
図14及び
図15は、
図6のようなイントラ予測とインター予測から構成されるGPMに対して保存される予測情報の一例を示す図である。以下に、sTypeの値に応じて保存される各予測情報の詳細を説明する。
【0177】
第1に、sTyper=1の場合にインター予測が適用されている分割領域(Interの分割領域)で保存される予測情報は、本実施形態においては、対象ブロックがBスライスに含まれない場合(Pスライスに含まれる場合)には、片予測が適用されるが、対象ブロックがBスライスに含まれる場合には、上述の通りマージインデックスに対応するマージ候補の動き情報次第では、双予測が適用される。
【0178】
以下に、この2つのケースにおけるsTyper=1の場合に、インター予測が適用されている分割領域(Interの分割領域)で保存される予測情報を示す。
【0179】
図14は、対象ブロックがBスライスに含まれない場合(Pスライスに含まれる場合)に片予測が適用されるケースで保存される予測情報の一例である。
【0180】
保存される予測情報は、
図14に示すように、
図13のsTyper=1の場合にインター予測が適用されている分割領域(Interの分割領域)で保存される予測情報の構成例と同じ構成を採ることができる。
【0181】
図14に対して、
図15は、対象ブロックがBスライスに含まれ且つ双予測が適用されるケースで保存される予測情報の一例である。
【0182】
保存される予測情報は、
図15に示すように、
図13のsTyper=1の場合にインター予測が適用されている分割領域(Interの分割領域)で保存される予測情報の構成例とは異なる。
【0183】
具体的に、かかる分割領域に対する1つのマージインデックスに対応するマージ候補が有する動き情報から、L0及びL1のそれぞれの動きベクトルMVL0及びMVL1、及び、L0及びL1のそれぞれの参照フレームを示すインデックスRefIdxL0及びRefIdxL1が保存される。
【0184】
なお、
図15のケースにおいても、保存される予測情報のうちイントラ予測モードについては、
図13のsTyper=1の場合にインター予測が適用されている分割領域(Interの分割領域)で保存される予測情報の構成例と同じ構成を採ってもよい。
【0185】
第2に、sTyper=0の場合にイントラ予測が適用されている分割領域(Intraの分割領域)で保存される予測情報は、
図14及び
図15に示すように以下のように保存される。
【0186】
予測種別=Intra
predFlag0=0
predFlag1=0
mvL0=0
mvL1=0
refIdxL0=-1
refIdxL1=-1
イントラ予測モード=modeX
ここで、かかる分割領域では、イントラ予測が適用されているため、上述のように、予測種別としてIntraが保存され、イントラ予測モードとしてmodeXが保存される。
【0187】
なお、変更例として、例えば、非特許文献1のように、隣接からサブブロック単位でイントラ予測種別のみを参照し、イントラ予測モードを参照しない符号化ツールしか含まれていない場合は、予測種別としてIntraを保存しつつ、イントラ予測モードを保存しない構成を採ってもよい。
【0188】
一方で、動き情報を持たないため、上述のようにpredFlag0及びpredFlagL1として0を保存し、mvL0及びmvL1として0(ゼロベクトルを意味する)を保存し、refIdxL0及びrefIdxL1として‐1(参照フレームが存在しないことを意味する)を保存してもよい。
【0189】
或いは、変更例として、予測情報バッファ244のバッファ領域の容量の逼迫を回避するために、これらの動き情報を保存しない構成を採ってもよい。
【0190】
第3に、sTyper=2の場合にイントラ予測及びインター予測が適用されている分割領域(Intra+Interの分割領域)で保存される予測情報は、前述のsTyper=1に保存される予測情報の構成次第で、
図14及び
図15に示すように異なる。
【0191】
【0192】
予測種別=Inter
predFlag0=(predListFlagB==0)?1:0
predFlag1=(predListFlagB==0)?0:1
refIdxL0=(predListFlagB==0)?refIdxB:-1
refIdxL1=(predListFlagB==0)?-1:refIdxB
mvL0=(predListFlagB==0)?mvB:0
mvL1=(predListFlagB==0)?0:mvB
イントラ予測モード=modeX
一方、
図15に示すケースでは、以下のように保存される。
【0193】
予測種別=Inter
predFlag0=1
predFlag1=1
refIdxL0=RefIdxL0
refIdxL1=RefIdxL1
mvL0=MVL0
mvL1=MVL1
イントラ予測モード=modeX
ここで、かかる分割領域では、sType=1のイントラ予測が適用されているため、予測情報のうち、予測種別及びイントラ予測モードとしては、上述の通り、sType=1で保存されるものと同じパラメータが保存される。将来的に保存できるイントラ予測モードが2種類になった場合は、かかる分割領域では、sType=0のイントラ予測モードを追加で保存してもよい。
【0194】
また、かかる分割領域では、sType=2のインター予測が適用されているため、予測情報のうち、動き情報に係るパラメータとしては、上述の通り、sType=2で保存されるものと同じパラメータが保存される。
【0195】
図16は、
図7のような異なる2つのイントラ予測から構成されるGPMに対して保存される予測情報の一例を示す図である。以下に、sTypeの値に応じて保存される各予測情報の詳細を説明する。
【0196】
第1に、全てのsType領域で保存される予測情報のうち、イントラ予測モード以外のパラメータは、
図14で説明したsType=0の場合にIntraの分割領域で保存されるパラメータと同一の構成を採ることができるため、説明を省略する。
【0197】
第2に、sType=0の領域及びsType=1の領域のイントラ予測モードとしては、
図14に示すように、各領域で適用された異なる2つのイントラ予測モードmodeX及びmodeYがそれぞれ保存される。
【0198】
第3に、sType=2の領域では、
図15に示すように、sType=0の領域及びsType=1の領域のイントラ予測モードの双方を保存してもよいし、いずれか1つのイントラ予測モードを保存してもよい。
【0199】
前者については、例えば、2つのイントラ予測モードが画像符号化装置100及び画像復号装置200で使用可能か場合は、2つのイントラ予測モードを保存する構成を採ってもよい。
【0200】
後者については、例えば、決め打ちでsType=0のイントラ予測モードをsType=2のイントラ予測モードとして選択してもよい。
【0201】
或いは、例えば、4×4画素サブブロックがいずれのイントラ予測モードから支配的に生成されたかを、例えば、4×4画素サブブロックをさらに細分割した2×2画素サブブロック単位で計算して、支配的なイントラ予測モードをsType=2の領域のイントラ予測モードとして選択してもよい。
【0202】
或いは、当該サブブロックが有する2つのイントラ予測モードが示す方向に存在する隣接する参照画素と当該サブブロックとの距離が小さい方をsType=2のイントラ予測モードとして選択してもよい。
【0203】
以上に説明した予測情報及び予測情報の保存方法を用いることで、GPMにイントラ予測を追加する場合の予測情報を、フレーム内或いはフレーム外から適切に参照することができるため、結果的に符号化性能の向上が期待できる。
【0204】
なお、以上で説明した予測情報バッファ244に保存される予測情報のうち、イントラ予測モード以外のパラメータについては、フレーム内或いはフレーム外から参照されなくなった場合に、予測情報バッファ244から削除してもよい。
【0205】
また、当該パラメータ分の保存領域を、予測情報バッファ244に確保している場合は、初期化してもよい。ここで、フレーム外から参照されなくなるタイミングは、フレームバッファ260(フレームバッファ160)から当該GPM適用ブロックが含まれるフレームが削除されるタイミングと同じである。
【0206】
さらに、予測情報バッファ244に保存される予測情報のうち、イントラ予測モードについては、フレーム内から参照されなくなった場合に、予測情報バッファ244から削除してもよい。また、当該イントラ予測モード分だけの保存領域を、予測情報バッファ244に確保している場合は、初期化してもよい。
【0207】
[インター予測部241、イントラ予測部242及び合成部243における予測画素生成方法]
(重複ブロック動き補償およびデコーダ動きベクトル修正)
以下、
図17及び
図18を用いて、復号部210及びインター予測部241に係る非特許文献2で開示されている重複ブロック動き補償(OBMC:Overlapped Block Motion Compensation)について説明する。
【0208】
図17は、非特許文献2に開示されているOBMCにより、動き補償(MC:Motion Compensation)される矩形の復号対象ブロックの2つの例を示す。
【0209】
図17Aは、復号対象ブロックが有する動きベクトル(MV)が復号対象ブロックに対して一様である場合に、復号対象ブロックの上側及び左側に面するブロック境界に対してOBMCが適用される例である。
【0210】
一方で、
図17Bは、復号対象ブロックが有するMVが復号対象ブロックに対して一様ではない場合、例えば、
図17Bに示すように、復号対象ブロックが所定のブロックサイズごとに異なるMVを持つ場合に、各ブロックの上下左右のブロック境界に対してOBMCが適用される例である。
【0211】
図17Bに示すような例は、非特許文献1で開示されている、例えば、デコーダ動きベクトル修正(Decoder Motion Vector Refinment:DMVR)が有効な場合に、生じる場合がある。
【0212】
ここで、DMVRとは、インター予測部241による動きベクトルの導出後、導出した動きベクトルを16×16画素単位で再探索により修正する技術である。
【0213】
DMVRは、双予測に限定した復号ツールである。また、非特許文献1では、DMVR以外にBDOF(Bi―Predictional Optical Flow)と呼ばれる双予測限定のツールが存在する。
【0214】
非特許文献1で開示されているGPMでは、各分割領域のインター予測時にDMVRとBDOFの適用は制限されていたが、本実施形態におけるIntra/Inter-GPMのインター予測領域には双予測が適用できるため、インター予測部241はIntra/Inter-GPMのインター予測領域にDMVR又はBODFを適用してもよい。
【0215】
これにより、Intra/Inter-GPMのインター予測領域の双予測により生成される予測画素値の精度が向上するため、さらなる符号化性能の効果が期待できる。
【0216】
なお、DMVR又はBODFの適用判定方法は、非特許文献1と同じ構成を本実施形態においても用いることが可能であるため、詳細な説明は省略する。
【0217】
一方で、インター予測部241は、本実施形態におけるIntra/Inter-GPMのインター予測領域に双予測が適用できる場合であっても、DMVR又はBODFの適用を常に制限(禁止)してもよい。
【0218】
すなわち、上述の非特許文献1で開示されているDMVR又はBODFの適用可不可の判定条件を満たす場合であっても、Intra/Inter-GPMのインター双予測領域にはDMVR又はBODFの適用を制限する。
【0219】
具体的には、非特許文献1で開示されているDMVR又はBODFの適用条件に、復号対象ブロックが有する非特許文献1で開示されているGPMの適用有無を示すフラグに基づく判定条件を追加することで実現できる。
【0220】
これにより、さらなる符号化性能の改善は期待できないが、Intra/Inter-GPMのインター予測領域に対するDMVR又はBDOFの追加適用による再探索等に伴うインター予測部241の処理量増加を回避できる。
【0221】
(重複ブロック動き補償の適用制御方法)
また、非特許文献2で開示されているOBMCが適用されるか否かについての判定処理及びOBMCが適用される場合のOBMCの適用処理は、
図17に示すように、4×4画素のサブブロック(以下、対象サブブロック)の単位で実施される。
【0222】
なお、非特許文献2では、
図18に示すように、インター予測部241が、OBMCが適用されるか否かについて判定している。
【0223】
図18に示すように、ステップS241-01において、インター予測部241は、対象サブブロックが有する予測種別がInter予測(インター予測)であるか否かについて判定する。
【0224】
かかる条件が満たされると判定される場合、本動作は、ステップS241-02に進み、かかる条件が満たされないと判定される場合、すなわち、対象サブブロックが有する予測種別がIntra予測(イントラ予測)であると判定される場合は、本動作は、ステップS241-03に進む。
【0225】
なお、ステップS241-03では、インター予測部241は、OBMCが対象サブブロックにおいて非適用と判定し、本動作は、終了する。
【0226】
ステップS241-02において、インター予測部241は、対象サブブロックが有するobmc_flagが1であるか否かについて判定する。
【0227】
かかる条件が満たされると判定される場合、本動作は、ステップS241-04に進み、かかる条件が満たされないと判定される場合、すなわち、obmc_flagが1であると判定される場合は、本動作は、ステップS241-05に進む。
【0228】
なお、ステップS241-05では、インター予測部241は、OBMCが対象サブブロックにおいて非適用と判定し、本動作は、終了する。
【0229】
ここで、obmc_flagは、復号対象ブロック単位のOBMCの適用可不可を示すシンタックスである。obmc_flagの値が0の場合は、OBMCが適用されないことを示し、obmc_flagの値が1の場合は、OBMCが適用されることを示す。
【0230】
obmc_flagの値が0か1のいずれかであるかは、復号部210が復号して値を特定するか、或いは、復号せずに値を推定する。
【0231】
obmc_flagの復号方法及びobmc_flagの値の特定方法及び推定方法は、非特許文献2と同じ構成を取ることができるため、詳細な説明は省略する。
【0232】
ステップS241-04において、インター予測部241は、対象サブブロックに対してブロック境界を跨いだ隣接ブロックが動きベクトル(MV)を有するか否かについて判定する。
【0233】
かかる条件が満たされると判定される場合、本動作は、ステップS241-06に進み、かかる条件が満たされないと判定される場合、本動作は、ステップS241-07に進む。
【0234】
なお、ステップS241-07では、インター予測部241は、OBMCが対象サブブロックにおいて非適用と判定し、本動作は、終了する。
【0235】
ステップS241-06において、インター予測部241は、対象サブブロックが有するMVと隣接ブロックが有するMVとの差が所定閾値以上であるか否かについて判定する。
【0236】
かかる条件が満たされると判定される場合、本動作は、ステップS241-08に進み、かかる条件が満たされないと判定される場合、本動作は、ステップS241-09に進む。
【0237】
なお、ステップS241-08では、インター予測部241は、OBMCが対象サブブロックにおいて適用と判定し、本動作は、終了する。一方、ステップS241-09では、インター予測部241は、OBMCが対象サブブロックにおいて非適用と判定し、本動作は、終了する。
【0238】
ここで、所定閾値は、固定値を用いてもよい。例えば、所定閾値を1画素としてもよい。あるいは0画素としてもよい(すなわち、完全一致しない場合のみOBMCを適用すると判定する)
或いは、所定閾値として、対象サブブロックが有するMVの本数に応じた可変値を用いてもよい。例えば、対象サブブロックが1つのMVを持つ場合は、所定閾値を1画素とし、対象サブブロックが2つのMVを持つ場合は、所定閾値を0.5画素としてもよい。
【0239】
以上の構成により、非特許文献2では、MVを有する対象サブブロックに対して、隣接ブロックとのMVの差が大きい場合に限定して、OBMCを適用することで、対象サブブロックと隣接ブロックとの間のブロック境界の不連続性(以下、ブロック境界歪)を解消し、結果として予測性能の向上が期待できる。
【0240】
(GPMに対するOBMCの適用例及び適用制御方法)
以下、
図19及び
図20を用いて、復号部210、インター予測部241及びイントラ予測部242に係るGPMに対するOBMCの適用例及び適用制御方法について説明する。
【0241】
図19は、本実施形態におけるGPMが適用されるブロックに対する復号対象ブロックの上側と左側のブロック境界に対するOBMCの適用例を示す。
【0242】
図19に示すように、GPMの分割形状(分割線L)に応じて、OBMCが適用される対象サブブロックには、以下、最大3つのパターンが存在する。
【0243】
具体的には、第1パターンとして、分割領域Aに属する対象サブブロックがあり、第2パターンとして、分割領域Bに属する対象サブブロックがあり、第3パターンとして、分割領域A/B双方に属する対象サブブロックがある。
【0244】
かかる3パターンの対象サブブロックは、分割領域A及び分割領域Bに適用される予測種別がインター予測であるかイントラ予測であるかによって更に分けられる。
【0245】
具体的には、第1パターン及び第2のパターンの対象サブブロックは、インター予測及びイントラ予測の2ケースに分けられる。
【0246】
一方、第3パターンの対象サブブロックは、異なる2つのインター予測のケース、インター予測及びイントラ予測のケース、異なる2つのイントラ予測のケースの合計3ケースに分けられる。
【0247】
なお、本実施形態では、対象サブブロックが有する予測種別は、1つのみとする。そのため、第3パターンの対象サブブロックにおいて、対象サブブロックが有する予測種別は、対象サブブロックを構成する2つの予測の組み合わせで決定される。具体的に、異なる2つのインター予測で構成される予測種別は、インター予測として扱い、インター予測及びイントラ予測で構成される予測種別は、インター予測として扱い、異なる2つのイントラ予測で構成される予測種別は、イントラ予測として扱うこととする。
【0248】
ここで、上述したOBMCの適用対象である対象サブブロックのうち、予測種別がイントラ予測である対象サブブロックについては、以下の理由により、OBMCを適用不可と判定すべきである。なぜなら、同条件の対象サブブロックの予測画素は、対象サブブロックが隣接する参照画素(再構成画素)を用いたイントラ予測によって生成されるため、かかる参照画素と生成した予測画素との間のブロック境界では、インター予測のようにブロック境界歪が定性的に発生しづらい。
【0249】
以上の理由により、本実施形態では、上述したOBMCの適用対象である対象サブブロックのうち、予測種別がイントラ予測である対象サブブロックに対してはOBMCの適用を制限する(OBMCを適用不可とする)。
【0250】
一方で、本実施形態では、上述したOBMCの適用対象である対象サブブロックのうち、予測種別がインター予測である対象サブブロックに対してはOBMCを適用可とする。
【0251】
図20は、本実施形態におけるIntra/Inter-GPMのインター予測領域に双予測が適用され、当該領域にDMVRが適用され、且つ、当該領域を構成する所定のブロックサイズがもつ動きベクトルが異なる場合に、それらのブロックの上下左右のブロック境界に対してOBMCが適用される一例を示す。
【0252】
図20のケースにおいては、イントラ領域には、上述のケースと同様に、OBMCの適用を制限(禁止)してもよい。
【0253】
さらに、
図20のケースにおいては、復号対象ブロックを構成する所定ブロックサイズごとの上下左右のブロック境界に対して適用されるOBMCについて、
図18で示したブロック単位のOBMCの適用制御方法に基づいて、再度OBMCの適用可不可を判定してもよい。
【0254】
具体的に、
図20に示すように、復号対象ブロックのイントラ領域が隣接するブロック境界に対しては、OBMCを適用しないと制御することにより、不要にOBMCを適用すること回避できる。
【0255】
以降では、本実施形態に係るGPMに対するOBMCの適用可不可を考慮した最終的な予測画素の生成方法について説明する。
【0256】
(GPMに対するOBMCの適用可不可を考慮した最終予測画素の生成方法)
以下、
図3及び
図21~
図26を用いて、本実施形態のインター予測部241、イントラ予測部242及び合成部243に係るGPMに対するOBMCの適用可不可を考慮した最終予測画素の生成方法について説明する。
【0257】
[方法1(構成1)]
方法1(構成1)では、
図21に示すように、
図3に示す合成部243は、予測画素合成部243Aと、OBMC部243Bとを備えている。
【0258】
予測画素合成部243Aは、インター予測部241又はイントラ予測部242から出力される動き補償画素(MC画素)とイントラ予測画素とを合成した上で、OBMC部243Bに予測画素を出力するように構成されている。
【0259】
また、予測画素合成部243Aは、復号対象ブロックがGPM適用ブロックであれば、インター予測部241又はイントラ予測部242から出力される予測画素を、前述の重み係数wによって合成(加重平均)するように構成されている。
【0260】
OBMC部243Bは、予測画素合成部243Aから出力される復号対象ブロックの予測画素に対して、上述したOBMCの適用制御方法に従って、復号対象ブロックのブロック境界に面したサブブロック単位で、OBMCの適用可不可を判定し、最終予測画素を出力するように構成されている。
【0261】
以上の構成により、以下の2つの効果が期待できる。
【0262】
第1に、GPMが適用される復号対象ブロックのブロック境界に面したサブブロックに対して、適切にOBMCを適用することができる(具体的には、予測種別がインター予測であるサブブロックに対してはOBMCを適用可とし、予測種別がイントラ予測であるサブブロックに対してはOBMCを適用不可とする)ため、結果として予測性能の向上が期待できる。
【0263】
ただし、本構成例には、一部、以下の課題がある。具体的に、予測種別がインター予測であるサブブロックであっても、もともとはインター予測及びイントラ予測の2つの予測種別を持つサブブロックの場合は、インター予測画素とイントラ予測画素との合成後にOBMCを適用するよりも、OBMCの適用後のインター予測画素とイントラ予測とを合成する方がよい。なぜなら、前者については、本来隣接画素とブロック境界歪が発生しづらいイントラ予測画素に対してもOBMCを適用してしまうことになるが、後者の場合は、そうはならない。この課題を解消する最終予測画素の生成方法については、本構成の変更例として後述する。
【0264】
第2に、GPMにより合成(加重平均)された予測画素に対して、OBMCの適用可不可を判定してOBMCを適用できるため、従来のGPMに対して、OBMCの処理実行数(処理ステージ)及びOBMCの実行に必要なメモリバンド幅の増加を必要最小限に抑えることができる。
【0265】
具体的には、GPM適用ブロックは、最大2つのインター予測、すなわち、2つのMVから構成されるケースが存在するため、GPM適用ブロックにおける参照領域の最悪値(最大値)は、この2つのMVの示す参照領域の画素数である。一方で、GPM適用ブロックにOBMCを適用する場合、隣接のMVの参照領域が追加で必要となるが、本構成の場合は、GPMにより合成(加重平均)された予測画素に対してOBMCを適用するため、GPM適用ブロックを構成する最大2つのインター予測それぞれに対してOBMCを適用することを回避でき、OBMCによる追加の参照領域の増加を当該回避パターンに対して1/2に抑えることができる。同様の考え方で、OBMCの処理実行数(処理ステージ)も当該回避パターンに対して、1/2に抑えることができる。
【0266】
[方法2(構成2)]
図22は、
図14で実現できるGPMに対するOBMCの適用可不可を考慮した最終予測画素の生成方法(構成)の変更例である。
【0267】
方法2(構成2)では、
図22に示すように、インター予測部241は、MV導出部241Aと、MC部241Bと、OBMC部241Cとを備えている。
【0268】
MV導出部241Aは、フレームバッファ部から出力される参照フレーム及び復号部210から出力される制御データに基づいて、GPMを含むインター予測に必要なMVをMC部241Bに出力するように構成されている。
【0269】
MC部241Bは、MV導出部241Aから出力されるMV及びフレームバッファ部から出力される参照フレームに基づいて、MC画素を生成して、OBMC部241Cに出力するように構成されている。
【0270】
OBMC部241Cは、MC部241Bから出力されるMC画素に対して、OBMCの適用可不可を判定するとともに、OBMCが適用可な場合は、OBMCを適用して、最終的な動き補償画素を生成して、後段の合成部243に出力するように構成されている。
【0271】
なお、本構成における後段の合成部243は、方法1(構成1)で示したOBMC部243Bを備えず、インター予測部241又はイントラ予測部242から出力される動き補償画素又はイントラ予測画素を合成するように構成されている。
【0272】
すなわち、上述のOBMC部243Bに対して、OBMC部241Cは、予測種別がインター予測であるサブブロックのみに対してOBMCの適用可不可を判定できる。
【0273】
図22に示す本構成をとることで、
図21に示す構成1に対して、さらに予測性能の向上が期待できる一方で、OBMCに必要なメモリバンド幅とOBMCの処理実行数は増加する。
【0274】
具体的に、合成部243によるGPMの最終予測画素の生成前に、インター予測画素のみに対して直接OBMCを実行できるため、上述した予測種別がインター予測であるサブブロックであっても、もともとはインター予測及びイントラ予測の2つの予測種別を持つサブブロックのイントラ予測画素に対してOBMCを非適用にできる。これにより、本来隣接画素とブロック境界歪が発生しづらいイントラ予測画素に対してOBMCを不要に適用することを回避できるため、結果として、予測性能が向上する。
【0275】
他方、合成部243によるGPMの最終予測画素の生成前に、インター予測画素のみに対して直接OBMCを実行するため、上述の構成1と比較して、OBMCに必要なメモリバンド幅とOBMCの処理実行数が倍増する。
【0276】
[方法3(構成3)]
図23~
図25を用いて、
図2、
図3及び
図21で実現できるGPMに対するOBMCの適用可不可を考慮した最終予測画素の生成方法(方法1)或いは
図2、
図3及び
図22で実現できるGPMに対するOBMCの適用可不可を考慮した最終予測画素の生成方法(方法2)の変更例である方法3(構成3)について説明する。
【0277】
方法3(構成3)では、
図23に示すように、
図2に対して、イントラ予測部112がインター予測部111に対してイントラ予測画素を出力する線が追加されている。これにより、後述するが、インター予測部111にて、GPMによる加重平均された最終予測画素を生成できる。すなわち、上述の方法1(構成1)や方法2(構成2)における合成部113が不要にできる。
【0278】
また、方法3(構成3)では、
図24に示すように、
図3に対して、イントラ予測部242がインター予測部241に対してイントラ予測画素を出力する線が追加されている。これにより、後述するが、インター予測部241にて、GPMによる加重平均された最終予測画素を生成できる。すなわち、上述の方法1(構成1)や方法2(構成2)における合成部243が不要にできる。
【0279】
方法3(構成3)では、
図25に示すように、インター予測部241(111)は、MV導出部241Aと、MC部241Bと、予測画素合成部243Aと、OBMC部241Cとを備えている。
【0280】
ここで、MV導出部241A及びMC部241Bは、
図22に示すMV導出部241A及びMC部241Bと同じ構成を取ることできる。
【0281】
また、予測画素合成部243A及びOBMC部243Bは、
図21に示す合成部243の予測画素合成部243A及びOBMC部243Bと同じ構成を取ることができる。
【0282】
以上の構成により期待できる効果は、構成1と同じである。
【0283】
[方法4(構成4)]
図23、
図24及び
図26を用いて、
図2、
図3及び
図21で実現できるGPMに対するOBMCの適用可不可を考慮した最終予測画素の生成方法(方法1)或いは
図2、
図3及び
図122実現できるGPMに対するOBMCの適用可不可を考慮した最終予測画素の生成方法(方法2)の変更例である方法4(構成4)について説明する。以下、既出の構成に対する差分のみを以下で説明する。
【0284】
方法4(構成4)では、
図26に示すように、インター予測部241(111)は、MV導出部241Aと、MC部241Bと、OBMC部241Cと、予測画素合成部243Aとを備えている。
【0285】
ここで、MV導出部241A、MC部241B及びOBMC部241Cは、
図14に示すMV導出部241A、MC部241B及びOBMC部241Cと同じ構成を取ることできる。
【0286】
また、予測画素合成部243Aは、
図21に示す合成部243の予測画素合成部243Aと同じ構成を取ることができる。
【0287】
以上の構成により期待できる効果は、構成2と同じである。
【0288】
上述した構成1~構成4のいずれかを選択するかは、符号化性能又は画像復号装置100における復号処理量とメモリバンド幅の制約のトレードオフに基づいて、設計者の意図で選択してもよい。
【0289】
なお、上述では、GPMにより、矩形ブロックが幾何学形状に2分割される事例を参照して、その場合のGPMへのイントラ予測モードの適用時のシグナリング方法について説明したが、GPMにより矩形ブロックが幾何学形状に3分割以上に分割される事例においても、同様の概念で、本実施形態で説明したシグナリング方法は適用できる。
【0290】
上述の画像符号化装置100及び画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
【0291】
なお、上述の各実施形態では、本発明を画像符号化装置100及び画像復号装置200への適用を例にして説明したが、本発明は、これのみに限定されるものではなく、画像符号化装置100及び画像復号装置200の各機能を備えた画像符号化システム及び画像復号システムにも同様に適用できる。
【産業上の利用可能性】
【0292】
なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【符号の説明】
【0293】
10…画像処理システム
100…画像符号化装置
111、241…インター予測部
112、242…イントラ予測部
113、243…合成部
114、224…予測情報バッファ
121…減算器
122、230…加算器
131…変換・量子化部
132、220…逆変換・逆量子化部
140…符号化部
150、250…インループフィルタ処理部
160、260…フレームバッファ
200…画像復号装置
210…復号部
241A…MV導出部
241B…MC部
241C、243B…OBMC部
243A…予測画素合成部