(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024095283
(43)【公開日】2024-07-10
(54)【発明の名称】メッシュ復号装置、メッシュ復号方法及びプログラム
(51)【国際特許分類】
H04N 19/597 20140101AFI20240703BHJP
【FI】
H04N19/597
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022212451
(22)【出願日】2022-12-28
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和4年度、総務省、「3次元空間データの無線伝送に向けた高能率圧縮技術の研究開発」委託事業、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110001564
【氏名又は名称】フェリシテ弁理士法人
(72)【発明者】
【氏名】西村 仁志
(72)【発明者】
【氏名】河村 圭
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159PP03
(57)【要約】
【課題】計算量を削減すること。
【解決手段】本発明に係るメッシュ復号装置200の変位量復号部206は、 一部のシンタックスの復号を省略して所定値とみなすかどうかを判定する復号省略判定部206A1と、変位量ビットストリームに対して算術復号を行うことによって2値化シンタックスを生成する算術復号部206Bと、2値化シンタックスを多値化することによってシンタックスを生成する多値化部206Fと、シンタックスから係数レベル値を生成する係数レベル値復号部206F2と、係数レベル値を逆量子化することによって変換係数を生成する逆量子化部206Jと、変換係数に対して逆ウェーブレット変換を施すことによって変位量を生成する逆ウェーブレット変換部206Kとを備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
メッシュ復号装置であって、
変位量ビットストリームを復号して変位量を生成して出力するように構成されている変位量復号部を備え、
前記変位量復号部は、
一部のシンタックスの復号を省略して所定値とみなすかどうかを判定するように構成されている復号省略判定部と、
前記変位量ビットストリームに対して算術復号を行うことによって、2値化シンタックスを生成するように構成されている算術復号部と、
前記2値化シンタックスを多値化することによって、前記シンタックスを生成するように構成されている多値化部と、
前記シンタックスから係数レベル値を生成するように構成されている係数レベル値復号部と、
前記係数レベル値を逆量子化することによって、変換係数を生成するように構成されている逆量子化部と、
前記変換係数に対して逆ウェーブレット変換を施すことによって変位量を生成するように構成されている逆ウェーブレット変換部と、を備えることを特徴とするメッシュ復号装置。
【請求項2】
前記算術復号部は、サブブロック単位で、前記2値化シンタックスを復号するように構成されており、
前記多値化部は、サブブロック単位で、前記シンタックスを生成するように構成されており、
前記係数レベル値復号部は、サブブロック単位で、前記係数レベル値を生成するように構成されていることを特徴とする請求項1に記載のメッシュ復号装置。
【請求項3】
前記復号省略判定部は、復号済みの値の総数が所定閾値に達した場合或いは前記復号済みの値が1である総数が前記所定閾値に達した場合、ブロック内に非零係数があることを示すフラグの残りについては全て復号を省略して1とみなすように構成されていることを特徴とする請求項1に記載のメッシュ復号装置。
【請求項4】
前記復号省略判定部は、復号済みの値の総数が所定閾値に達した場合或いは前記復号済みの値が1である総数が前記所定閾値に達した場合、サブブロック内に非零係数があることを示すフラグの残りについては全て復号を省略して1とみなすように構成されていることを特徴とする請求項2に記載のメッシュ復号装置。
【請求項5】
メッシュ復号方法であって、
変位量ビットストリームを復号して変位量を生成して出力する工程を備え、
前記工程は、
一部のシンタックスの復号を省略して所定値とみなすかどうかを判定する工程と、
前記変位量ビットストリームに対して算術復号を行うことによって、2値化シンタックスを生成する工程と、
前記2値化シンタックスを多値化することによって、前記シンタックスを生成する工程と、
前記シンタックスから係数レベル値を生成する工程と、
前記係数レベル値を逆量子化することによって、変換係数を生成する工程と、
前記変換係数に対して逆ウェーブレット変換を施すことによって変位量を生成する工程と、を有することを特徴とするメッシュ復号方法。
【請求項6】
コンピュータを、メッシュ復号装置として機能させるプログラムであって、
前記メッシュ復号装置は、変位量ビットストリームを復号して変位量を生成して出力するように構成されている変位量復号部を備え、
前記変位量復号部は、
一部のシンタックスの復号を省略して所定値とみなすかどうかを判定するように構成されている復号省略判定部と、
前記変位量ビットストリームに対して算術復号を行うことによって、2値化シンタックスを生成するように構成されている算術復号部と、
前記2値化シンタックスを多値化することによって、前記シンタックスを生成するように構成されている多値化部と、
前記シンタックスから係数レベル値を生成するように構成されている係数レベル値復号部と、
前記係数レベル値を逆量子化することによって、変換係数を生成するように構成されている逆量子化部と、
前記変換係数に対して逆ウェーブレット変換を施すことによって変位量を生成するように構成されている逆ウェーブレット変換部と、を備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メッシュ復号装置、メッシュ復号方法及びプログラムに関する。
【背景技術】
【0002】
非特許文献1には、メッシュを大まかな基本メッシュと詳細な変位量とに分けて復号し、変位量を映像コーデックによって復号する技術について開示されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Khaled Mammou, Jungsun Kim, Alexis Tourapis, Dimitri Podborski, Krasimir Kolarov, “[V-CG] Apple’s Dynamic Mesh Coding CfP Response,” ISO/IEC JTC 1/SC 29/WG 7 m5928, April 2022.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に開示されている技術では、変位量の復号に用いる映像コーデックの計算量が多いという問題点があった。 そこで、本発明は、上述の課題に鑑みてなされたものであり、計算量を削減することができるメッシュ復号装置、メッシュ復号方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の第1の特徴は、メッシュ復号装置であって、変位量ビットストリームを復号して変位量を生成して出力するように構成されている変位量復号部を備え、前記変位量復号部は、一部のシンタックスの復号を省略して所定値とみなすかどうかを判定するように構成されている復号省略判定部と、前記変位量ビットストリームに対して算術復号を行うことによって、2値化シンタックスを生成するように構成されている算術復号部と、前記2値化シンタックスを多値化することによって、前記シンタックスを生成するように構成されている多値化部と、前記シンタックスから係数レベル値を生成するように構成されている係数レベル値復号部と、前記係数レベル値を逆量子化することによって、変換係数を生成するように構成されている逆量子化部と、前記変換係数に対して逆ウェーブレット変換を施すことによって変位量を生成するように構成されている逆ウェーブレット変換部と、を備えることを要旨とする。
【0006】
本発明の第2の特徴は、メッシュ復号方法であって、変位量ビットストリームを復号して変位量を生成して出力する工程を備え、前記工程は、一部のシンタックスの復号を省略して所定値とみなすかどうかを判定する工程と、前記変位量ビットストリームに対して算術復号を行うことによって、2値化シンタックスを生成する工程と、前記2値化シンタックスを多値化することによって、前記シンタックスを生成する工程と、前記シンタックスから係数レベル値を生成する工程と、前記係数レベル値を逆量子化することによって、変換係数を生成する工程と、前記変換係数に対して逆ウェーブレット変換を施すことによって変位量を生成する工程と、を有することを要旨とする。
【0007】
本発明の第3の特徴は、コンピュータを、メッシュ復号装置として機能させるプログラムであって、前記メッシュ復号装置は、変位量ビットストリームを復号して変位量を生成して出力するように構成されている変位量復号部を備え、前記変位量復号部は、一部のシンタックスの復号を省略して所定値とみなすかどうかを判定するように構成されている復号省略判定部と、前記変位量ビットストリームに対して算術復号を行うことによって、2値化シンタックスを生成するように構成されている算術復号部と、前記2値化シンタックスを多値化することによって、前記シンタックスを生成するように構成されている多値化部と、前記シンタックスから係数レベル値を生成するように構成されている係数レベル値復号部と、前記係数レベル値を逆量子化することによって、変換係数を生成するように構成されている逆量子化部と、前記変換係数に対して逆ウェーブレット変換を施すことによって変位量を生成するように構成されている逆ウェーブレット変換部と、を備えることを要旨とする。
【発明の効果】
【0008】
本発明によれば、計算量を削減することができるメッシュ復号装置、メッシュ復号方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、一実施形態に係るメッシュ処理システム1の構成の一例を示す図である。
【
図2】
図2は、一実施形態に係るメッシュ復号装置200の機能ブロックの一例を示す図である。
【
図3】
図3は、一実施形態に係るメッシュ復号装置200の変位量復号部206の機能ブロックの一例を示す図である。
【
図4】
図4は、シンタックス構成の一例について示す図である。
【
図5】
図5は、復号省略判定部206A1によって復号を省略すると判定され得るシンタックスの一例及びバイパス復号判定部206A2によってバイパス算術復号の対象となる係数の一例を示す図である。
【
図6】
図6は、変位量復号部206の動作の一例について示すフローチャートである。
【
図7】
図7は、係数単位のシンタックスによる決定の動作の一例について示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0011】
<第1実施形態>
以下、
図1~
図7を参照して、本実施形態に係るメッシュ処理システムについて説明する。
【0012】
図1は、本実施形態に係るメッシュ処理システム1の構成の一例を示す図である。
図1に示すように、メッシュ処理システム1は、メッシュ符号化装置100及びメッシュ復号装置200を備えている。
【0013】
図2は、本実施形態に係るメッシュ復号装置200の機能ブロックの一例を示す図である。
【0014】
図2に示すように、メッシュ復号装置200は、多重分離部201と、基本メッシュ復号部202と、細分割部203と、メッシュ復号部204と、パッチ統合部205と、変位量復号部206と、映像復号部207とを有する。
【0015】
多重分離部201は、多重化されたビットストリームを、基本メッシュビットストリームと変位量ビットストリームとテクスチャビットストリームとに分離するように構成されている。
【0016】
基本メッシュ復号部202は、基本メッシュビットストリームを復号し、基本メッシュを生成して出力するように構成されている。
【0017】
細分割部203は、制御情報によって示された細分割手法により、基本メッシュ復号部202によって復号された基本メッシュから、追加された細分割頂点及びそれらの接続情報を生成して出力するように構成されている。
【0018】
ここで、基本メッシュ、追加された細分割頂点、及び、それらの接続情報を、併せて「細分割メッシュ」と呼ぶ。
【0019】
メッシュ復号部204は、細分割部203で生成された細分割メッシュ及び変位量復号部206で復号された変位量を用いて、復号メッシュを生成して出力するように構成されている。
【0020】
パッチ統合部205は、メッシュ復号部206で生成された復号メッシュを、複数のパッチ分だけ統合して出力するように構成されている。
【0021】
変位量復号部206は、変位量ビットストリームを復号して変位量を生成して出力するように構成されている。
【0022】
映像復号部207は、映像符号化によってテクスチャを復号して出力するように構成されている。例えば、映像復号部207は、非特許文献1のHEVCを用いてもよい。
【0023】
(変位量復号部206)
図3に示すように、変位量復号部206は、復号省略判定部206A1と、バイパス復号判定部206A2と、バイパス算術復号部206A3と、算術復号部206Bと、コンテキスト値更新部206Cと、コンテキストバッファ206Dと、コンテキスト選択部206Eと、多値化部206Fと、係数レベル値復号部F2と、インター予測部206Gと、フレームバッファ206Hと、加算器206Iと、逆量子化部206Jと、逆ウェーブレット変換部206Kとを備えている。
【0024】
復号省略判定部206A1は、一部のシンタックスの復号を一部省略して所定値とみなすかどうかを判定するように構成されている。
【0025】
バイパス復号判定部206A2は、受信した変位量ビットストリームについて算術復号部206B又はバイパス算術復号部206A3のいずれに送るかについて判定するように構成されている。
【0026】
算術復号部206Bは、受信した変位量ビットストリームに対して算術復号を行うことによって、2値化シンタックスを生成するように構成されている。具体的には、算術復号部206Bは、受信した変位量ビットストリームに対してコンテキスト値を更新しながら算術復号を行うことで、2値化シンタックスを出力するように構成されている。
【0027】
コンテキスト値更新部206Cは、2値化シンタックスを用いて、コンテキスト値を更新し、コンテキストバッファ206Dに出力するように構成されている。
【0028】
コンテキスト選択部206Eは、コンテキストバッファ206Dから読み出されたコンテキスト値及びシンタックスを用いて、コンテキスト値(出力用コンテキスト値)を生成して出力するように構成されている。
【0029】
コンテキストバッファ206Dは、コンテキスト値及びシンタックスを取得して蓄積するように構成されている。コンテキストバッファ206Dは、図示しない制御情報に応じて、コンテキスト値及びシンタックスをコンテキスト選択部206Eに出力するように構成されている。
【0030】
バイパス算術復号部206A3は、受信した変位量ビットストリームに対してコンテキスト値を固定して算術復号を行うことによって、2値化シンタックスを生成するように構成されている。
【0031】
多値化部206Fは、算術復号部206B又はバイパス算術復号部206A3から受信した2値化シンタックスを多値化することによって、シンタックスを生成して出力するように構成されている。生成(算出)されたシンタックスは、係数レベル値復号部206F2及びコンテキストバッファ206Dに出力される。
【0032】
係数レベル値復号部206F2は、多値化部206Fから受信したシンタックスから係数レベル値を生成して出力するように構成されている。
【0033】
インター予測部206Gは、フレームバッファ206Hから読み出された参照フレームを用いて、予測変位量を生成して出力するように構成されている。
【0034】
フレームバッファ206Hは、加算器206Iから係数レベル値を取得して蓄積するように構成されている。フレームバッファ206Hは、図示しない制御情報に応じて、参照フレームにおいて対応する頂点における係数レベル値を出力するように構成されている。
【0035】
加算器206Iは、係数レベル値復号部206F2から係数レベル値(予測残差)を取得し、フレームバッファ206Hから係数レベル値を取得するように構成されている。加算器206Iは、予測残差及び係数レベル値を加算して係数レベル値(復号変位量)を生成して出力するように構成されている。生成(算出)された係数レベル値(復号変位量)は、逆量子化部206J及びフレームバッファ206Hに出力される。
【0036】
逆量子化部206Jは、受信した係数レベル値(復号変位量)を逆量子化することによって変換係数を生成して出力するように構成されている。
【0037】
逆ウェーブレット変換部206Kは、逆量子化部206Jから受信した変換係数を逆ウェーブレット変換することによって変位量を生成して出力するように構成されている。
【0038】
ここで、逆ウェーブレット変換は、ウェーブレット変換の逆変換である。ウェーブレット変換は、ウェーブレット関数を基底とし、低周波成分に対しては基底を拡大し、高周波成分に対しては基底を縮小することで、空間と周波数の情報を同時に解析できる手法である。
【0039】
(シンタックス構成)
以下、
図4~5を参照して、シンタックス構成について説明する。
【0040】
まず、復号変位量の係数レベル値は、各フレームにおいてN次元のベクトル3つで表される。Nは、細分割頂点の総数を示す。3は、基底の数を示し、基底は、任意に設定されてもよい。
【0041】
例えば、上述の係数レベル値は、各細分割頂点を基準とした法線方向、Tanegnt方向及びBi-Tangent方向の3つに設定されてもよい。各ベクトルは、ブロック或いはサブブロックに分割され、ブロック単位或いはサブブロック単位で符号化される。
【0042】
各ベクトルは、各ブロックのサイズが同じになるように等分割してもよい。余りの要素については、最大となるサイズでブロックを構成する。或いは、各ベクトルは、各ブロックのサイズが異なるように分割してもよい。
【0043】
例えば、制御情報によって示された細分割レベル及び各レベルにおける係数レベル値の総数(n1、n2、…)によってブロックサイズを定めてもよい。ここで、細分割レベルは、細分割の回数を示す。例えば、細分割レベルが4の場合は、サイズがそれぞれ、n1、n2、n3、n4、である4つのブロックで構成してもよい。
【0044】
各ブロックは、さらに細かいサブブロックに分割する。ブロックは、各サブブロックのサイズが同じになるように等分割してもよい。余りの要素については、最大となるサイズでサブブロックを構成する。サブブロックのサイズは、各ブロックで異なっていてもよい。
【0045】
図4は、シンタックス構成の一例について示す図である。シンタックスは、全体、ブロック単位、サブブロック単位、係数単位で定義されるものがある。
【0046】
第1に、全体で定義されるシンタックスについて説明する。last_sig_coeff_prefixは、スキャン順で先頭の非零係数の座標位置のプリフィックスを表す。last_sig_coeff_suffixは、スキャン順で先頭の非零係数の座標位置のサフィックスを表す。例えば、プリフィックスは、トランケーテッド・ライス二値化によって表現され、サフィックスは、固定長で表現される。
【0047】
第2に、ブロック単位で定義されるシンタックスについて説明する。coded_block_flagは、ブロック内に非零係数があることを示すフラグである。かかるフラグは、各ブロックに1個だけ定義される。
【0048】
第3に、サブブロック単位で定義されるシンタックスについて説明する。coded_subblock_flagは、サブブロック内に非零係数があることを示すフラグである。かかるフラグは、各サブブロックに1個だけ定義される。
【0049】
第4に、係数単位で定義されるシンタックスについて説明する。sig_coeff_flagは、非零係数であるかどうかを示すフラグである。coeff_abs_level_greater1_flagは、係数(非零係数)の絶対値が2以上であるかどうかを示すフラグである。coeff_sign_flagは、係数の正負符号を示すフラグである。coeff_abs_level_remainingは、係数の絶対値からsig_coeff_flag及びcoeff_abs_level_greater1_flagで表現した値を引いた値を表す。coeff_abs_level_remainingは、例えば、k次指数ゴロム符号によって表現される。
【0050】
(算術復号部206B)
算術復号部206Bは、2値を対象とする。算術復号部206Bは、0から1までの数直線を定義し、その区間を分割して利用する。かかる区間は、2値の発生確率(以降、コンテキスト値と呼ぶ)によって分割される。
【0051】
算術復号部206Bには、2進数小数が入力され、算術復号部206Bは、かかる2進数少数が数直線上のどの区間に含まれるかによって元の値を復号する。コンテキスト値は、入力信号1ビットごとにコンテキスト選択部206Eから受け取り、復号に用いる。
【0052】
(コンテキスト値更新部206C)
コンテキスト値更新部206Cは、1ビットを復号する度にコンテキスト値を更新するように構成されている。
【0053】
ここで、コンテキスト値更新部は、0及び1のうち、発生確率が高いシンボルをMPS(Most Probable Symbol)とし、発生確率が低いシンボルをLPS(Least Probable Symbol)とする。
【0054】
コンテキスト値更新部206Cは、MPSが発生した場合は、少し確率値を更新し、LPSが発生した場合は、大きく確率値を更新するような確率更新テーブルを用いてもよい。
【0055】
(バイパス算術復号部206A3)
バイパス算術復号部206A3は、算術復号部206Bと同様に、コンテキスト値を用いて算術復号を行うように構成されている。
【0056】
ここで、バイパス算術復号部206A3では、コンテキスト値は、常に固定値とすることで、コンテキスト更新及びコンテキスト選択が不要となり、計算時間が削減できる。
【0057】
(復号省略判定部206A1)
復号省略判定部206A1は、一部のブロックでcoded_block_flagの復号を省略して所定値とみなすどうかを判定するように構成されていてもよい。
【0058】
また、復号省略判定部206A1は、一部のサブブロックでcoded_subblock_flagの復号を省略して所定値とみなすかどうかを判定するように構成されていてもよい。
【0059】
例えば、復号省略判定部206A1は、復号済みの値の総数が所定閾値に達した場合、coded_block_flagの残りについては全て復号を省略して1とみなしてもよい。
【0060】
例えば、復号省略判定部206A1は、復号済みの値が1である総数が所定閾値に達した場合、coded_block_flagの残りについては全て復号を省略して1とみなしてもよい。
【0061】
例えば、復号省略判定部206A1は、復号済みの値の総数が所定閾値に達した場合、coded_subblock_flagの残りについては全て復号を省略して1とみなしてもよい。
【0062】
例えば、復号省略判定部206A1は、復号済みの値が1である総数が所定閾値に達した場合、coded_subblock_flagの残りについては全て復号を省略して1とみなしてもよい。
【0063】
図5に、復号省略判定部206A1によって復号を省略すると判定され得るシンタックスの一例を示す。
【0064】
(バイパス復号判定部206A2)
バイパス復号判定部206A2は、一部の係数についてバイパス算術復号を行うかどうかについて判定するように構成されている。
【0065】
バイパス復号判定部206A2によってバイパス算術復号の対象とすると判定された係数単位のシンタックスについては、バイパス算術復号部206A3で処理される。
【0066】
例えば、バイパス復号判定部206A2は、各サブブロックにおいて復号済みの値の総数が所定閾値に達した場合、sig_coeff_flagの残りに対しては全てバイパス算術復号を行ってもよい。
【0067】
例えば、バイパス復号判定部206A2は、各サブブロックにおいて復号済みの値が1である総数が所定閾値に達した場合、sig_coeff_flagの残りに対しては全てバイパス算術復号を行ってもよい。
【0068】
例えば、バイパス復号判定部206A2は、各サブブロックにおいて復号済みの値の総数が所定閾値に達した場合、coeff_abs_level_greater1_flagの残りに対しては全てバイパス算術復号を行ってもよい。
【0069】
例えば、バイパス復号判定部206A2は、各サブブロックにおいて復号済みの値が1である総数が所定閾値に達した場合、coeff_abs_level_greater1_flagの残りに対しては全てバイパス算術復号を行ってもよい。
【0070】
図5に、バイパス復号判定部206A2によってバイパス算術復号の対象となる係数の一例を示す。
【0071】
(変位量復号部206の動作)
以下、
図6~
図7を参照して、変位量復号部206の動作の一例について説明する。
【0072】
第1に、
図6を参照して、変位量復号部206の動作の一例について説明する。
【0073】
図6に示すように、ステップS101において、算術復号部206B及び多値化部206Fは、last_sig_coeff_prefixとlast_sig_coeff_suffixを復号する。
【0074】
ステップS102において、係数レベル値復号部206F2は、last_sig_coeff_prefix及びlast_sig_coeff_suffixが示す位置以降の係数は全て0に決定する。
【0075】
ステップS103において、算術復号部206Bは、coded_block_flagを復号する。
【0076】
ステップS104において、係数レベル値復号部206F2は、coded_block_flagが0であるか1であるかの判定を行う。
【0077】
coded_block_flag=0の場合は、本動作は、ステップS105に進み、coded_block_flag=1の場合は、本動作は、ステップS109に進む。
【0078】
ステップS105において、係数レベル値復号部206F2は、現在処理しているブロック内の係数については全て0に決定する。
【0079】
ステップS106において、係数レベル値復号部206F2は、現在処理しているブロックが最終ブロックであるか否かについて判定する。Yesの場合、本動作は、終了し、Noの場合、本動作は、ステップS107に進む。
【0080】
ステップS107において、係数レベル値復号部206F2は、次のブロックへの処理に進む。
【0081】
ステップS108において、復号省略判定部206A1は、coded_block_flagの復号を省略して1とみなすかどうかするか否かについて判定する。Yesの場合、本動作は、ステップS109に進み、Noの場合、本動作は、ステップS103に戻る。
【0082】
ステップS109において、算術復号部206Bは、coded_subblock_flagを復号する。
【0083】
ステップS110において、係数レベル値復号部206F2は、coded_subblock_flagが0であるか1であるかの判定を行う。coded_subblock_flag=0の場合は、本動作は、ステップS111に進み、coded_subblock_flag=1の場合は、本動作は、ステップS115に進む。
【0084】
ステップS111において、係数レベル値復号部206F2は、現在処理しているサブブロック内の係数については全て0に決定する。
【0085】
ステップS112において、係数レベル値復号部206F2は、現在処理しているサブブロックが最終サブブロックであるか否かについて判定する。Yesの場合、本動作は、ステップS106に進み、Noの場合、本動作は、ステップS113に進む。
【0086】
ステップS113において、係数レベル値復号部206F2は、次のサブブロックへの処理に進む。
【0087】
ステップS114において、復号省略判定部206A1は、coded_subblock_flagの復号を省略して1とみなすかどうかするか否かについて判定する。Yesの場合、本動作は、ステップS115に進み、Noの場合、本動作は、ステップS109に進む。
【0088】
ステップS115において、算術復号部206B及び多値化部206Fは、係数単位のシンタックスによる決定を行う。本ステップの詳細は、
図7を参照しながら後述する。
【0089】
ステップS116において、係数レベル値復号部206F2は、現在処理している係数がサブブロック内で最後であるか否かについて判定する。Yesの場合、本動作は、ステップS112に進み、Noの場合、本動作は、ステップS117に進む。
【0090】
図7は、上述の係数単位のシンタックスによる決定の動作の一例を示す図である。
【0091】
ステップS115-01において、バイパス復号判定部206A3は、sig_coeff_flagをバイパス算術復号するか否かを判定する。Yesの場合、本動作は、ステップS115-02に進み、Noの場合、本動作は、ステップS115-03に進む。
【0092】
ステップS115-02において、算術復号部206Bは、sig_coeff_flagを復号する。
【0093】
ステップS115-03において、コンテキスト選択部206Eは、sig_coeff_flagの算術復号に用いるコンテキストを選択する。
【0094】
ステップS115-04において、算術復号部206Bは、sig_coeff_flagを復号する。
【0095】
ステップS115-05において、コンテキスト値更新部206Cは、sig_coeff_flagの算術復号に用いるコンテキスト値を更新する。
【0096】
ステップS115-06において、係数レベル値復号部206F2は、sig_coeff_flagが0であるか1であるかの判定を行う。sig_coeff_flag=0の場合は、本動作は、ステップS115-07に進み、sig_coeff_flag=1の場合は、本動作は、ステップS115-08に進む。
【0097】
ステップS115-07において、係数レベル値復号部206F2は、係数レベル値を0に決定し、本動作は、終了する。
【0098】
ステップS115-08において、バイパス復号判定部206A2は、coeff_abs_level_greater1_flagをバイパス算術復号するか否かを判定する。Yesの場合、本動作は、ステップS115-09に進み、Noの場合、本動作は、ステップS115-10に進む。
【0099】
ステップS115-09において、算術復号部206Bは、coeff_abs_level_greater1_flagを復号する。
【0100】
ステップS115-10において、コンテキスト選択部206Eは、coeff_abs_level_greater1_flagの復号に用いるコンテキストを選択する。
【0101】
ステップS115-11において、算術復号部206Bは、coeff_abs_level_greater1_flagを復号する。
【0102】
ステップS115-12において、コンテキスト値更新部206Cは、coeff_abs_level_greater1_flagの復号に用いるコンテキスト値を更新する。
【0103】
ステップS115-13において、係数レベル値復号部206F2は、coeff_abs_level_greater1_flagが0であるか1であるかの判定を行う。coeff_abs_level_greater1_flag=0の場合は、本動作は、ステップS115-14に進み、coeff_abs_level_greater1_flag=1の場合は、本動作は、ステップS115-15に進む。
【0104】
ステップS115-14において、係数レベル値復号部206F2は、係数レベル値を1に決定し、ステップS115-16に進む。
【0105】
ステップS115-15において、算術復号部206B及び多値化部206Fは、coeff_abs_level_remainingを復号する。
【0106】
ステップS115-16において、算術復号部206Bは、coeff_sign_flagを復号する。
【0107】
ステップS115-17において、係数レベル値復号部206F2は、coeff_sign_flagが0であるか1であるかの判定を行う。coeff_sign_flag=0の場合は、本動作は、ステップS115-18に進み、coeff_sign_flag=1の場合は、本動作は、ステップS115-19に進む。
【0108】
ステップS115-18において、係数レベル値復号部206F2は、係数レベル値をcoeff_abs_level_remainingに決定し、本動作は、終了する。
【0109】
ステップS115-19において、係数レベル値復号部は、係数レベル値をcoeff_abs_level_remainingを負値化したものに決定し、本動作は、終了する。
【0110】
本実施形態に係るメッシュ復号装置200によれば、一部のシンタックスの復号を一部省略して所定値とみなす、或いは、一部の係数についてバイパス算術復号を行うことによって、計算量を削減することができる。
【0111】
上述のメッシュ符号化装置100及びメッシュ復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
【産業上の利用可能性】
【0112】
なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【符号の説明】
【0113】
1…メッシュ処理システム
100…メッシュ符号化装置
200…メッシュ復号部
201…多重分離部
202…基本メッシュ復号部
203…細分割部
204…メッシュ復号部
205…パッチ統合部
206…変位量復号部
206A1…復号省略判定部
206A2…バイパス復号判定部
206A3…バイパス算術復号部
206B…算術復号部
206C…コンテキスト値更新部
206D…コンテキストバッファ
206E…コンテキスト選択部
206F…多値化部
206F2…係数レベル値復号部
206G…インター予測部
206H…フレームバッファ
206I…加算器
206J…逆量子化部
206K…逆ウェーブレット変換部
207…映像復号部