(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024058010
(43)【公開日】2024-04-25
(54)【発明の名称】メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
(51)【国際特許分類】
H04N 19/13 20140101AFI20240418BHJP
H04N 19/70 20140101ALI20240418BHJP
H04N 19/54 20140101ALI20240418BHJP
H04N 19/176 20140101ALI20240418BHJP
【FI】
H04N19/13
H04N19/70
H04N19/54
H04N19/176
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022165086
(22)【出願日】2022-10-13
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和4年度、総務省、「3次元空間データの無線伝送に向けた高能率圧縮技術の研究開発」委託事業、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110001564
【氏名又は名称】フェリシテ弁理士法人
(72)【発明者】
【氏名】西村 仁志
(72)【発明者】
【氏名】河村 圭
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA41
5C159ME11
5C159NN20
5C159NN32
5C159PP04
5C159RC12
5C159TA59
5C159TB08
5C159TC04
5C159TC41
5C159TC42
5C159UA02
5C159UA05
(57)【要約】
【課題】メッシュの符号化効率を向上させること。
【解決手段】本発明に係るメッシュ復号装置200の変位量復号部206は、変位量ビットストリームに対して算術復号を行うことによって2値化シンタックスを生成するように構成されている算術復号部206Bと、2値化シンタックスを用いてコンテキスト値を更新するように構成されているコンテキスト値更新部206Cと、コンテキストバッファ206Dから読み出されたコンテキスト値、ビット位置及びシンタックスを用いて、出力用コンテキスト値を生成するように構成されているコンテキスト選択部206Eと、2値化シンタックスを多値化することによってシンタックスを生成してコンテキストバッファ206Dに出力するように構成されている多値化部206Fと、シンタックスから係数レベル値を生成するように構成されている係数レベル値復号部206F2とを備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
メッシュ復号装置であって、
変位量ビットストリームを復号して変位量を生成して出力するように構成されている変位量復号部を備え、
前記変位量復号部は、
前記変位量ビットストリームに対して算術復号を行うことによって、2値化シンタックスを生成するように構成されている算術復号部と、
前記2値化シンタックスを用いて、コンテキスト値を更新するように構成されているコンテキスト値更新部と、
前記コンテキスト値、ビット位置及びシンタックスを取得して蓄積するように構成されているコンテキストバッファと、
前記コンテキストバッファから読み出された前記コンテキスト値、前記ビット位置及び前記シンタックスを用いて、出力用コンテキスト値を生成するように構成されているコンテキスト選択部と、
前記2値化シンタックスを多値化することによって、前記シンタックスを生成して前記コンテキストバッファに出力するように構成されている多値化部と、
前記シンタックスから係数レベル値を生成するように構成されている係数レベル値復号部と、
前記係数レベル値を逆量子化することによって、変換係数を生成するように構成されている逆量子化部と、
前記変換係数に対して逆ウェーブレット変換を施すことによって予測残差を生成するように構成されている逆ウェーブレット変換部と、を備えることを特徴とするメッシュ復号装置。
【請求項2】
前記算術復号部は、ブロック単位で、前記2値化シンタックスを復号するように構成されており、
前記多値化部は、ブロック単位で、前記シンタックスを生成するように構成されており、
前記係数レベル値復号部は、ブロック単位で、前記係数レベル値を生成するように構成されていることを特徴とする請求項1に記載のメッシュ復号装置。
【請求項3】
前記係数レベル値復号部は、前記ブロック内に非零係数があることを示すフラグ、前記ブロック内においてスキャン順で先頭の非零係数の座標位置、復号対象の係数が前記非零係数かどうかを示すフラグ、前記非零係数の絶対値が2以上であるかどうかを示すフラグ、前記非零係数の絶対値が3以上であるかどうかを示すフラグ、前記非零係数の正負符号を示すフラグ、前記非零係数の絶対値から3を引いた値を用いて、前記係数レベル値を生成するように構成されていることを特徴とする請求項2に記載のメッシュ復号装置。
【請求項4】
前記コンテキスト選択部は、
復号済みの右隣接ブロック内に非零係数があることを示すフラグに応じて、復号対象ブロックのコンテキスト番号を選択し、
前記復号済みの右隣接ブロック内に非零係数があることを示すフラグに応じて、前記復号対象ブロック内の前記非零係数の正負符号を示すフラグのコンテキスト番号を選択し、
前記復号済みの右隣接ブロック内に絶対値が2以上の係数がある場合は、前記復号対象ブロック内の非零係数の絶対値のコンテキスト番号を選択するように構成されていることを特徴とする請求項3に記載のメッシュ復号装置。
【請求項5】
メッシュ復号方法であって、
変位量ビットストリームを復号して変位量を生成して出力する工程を備え、
前記工程は、
前記変位量ビットストリームに対して算術復号を行うことによって、2値化シンタックスを生成する工程と、
前記2値化シンタックスを用いて、コンテキスト値を更新する工程と、
前記コンテキスト値、ビット位置及びシンタックスを取得してコンテキストバッファに蓄積する工程と、
前記コンテキストバッファから読み出された前記コンテキスト値、前記ビット位置及び前記シンタックスを用いて、出力用コンテキスト値を生成する工程と、
前記2値化シンタックスを多値化することによって、前記シンタックスを生成して前記コンテキストバッファに出力する工程と、
前記シンタックスから係数レベル値を生成する工程と、
前記係数レベル値を逆量子化することによって、変換係数を生成する工程と、
前記変換係数に対して逆ウェーブレット変換を施すことによって予測残差を生成する工程と、を有することを特徴とするメッシュ復号方法。
【請求項6】
コンピュータを、メッシュ復号装置として機能させるプログラムであって、
前記メッシュ復号装置は、変位量ビットストリームを復号して変位量を生成して出力するように構成されている変位量復号部を備え、
前記変位量復号部は、
前記変位量ビットストリームに対して算術復号を行うことによって、2値化シンタックスを生成するように構成されている算術復号部と、
前記2値化シンタックスを用いて、コンテキスト値を更新するように構成されているコンテキスト値更新部と、
前記コンテキスト値、ビット位置及びシンタックスを取得して蓄積するように構成されているコンテキストバッファと、
前記コンテキストバッファから読み出された前記コンテキスト値、前記ビット位置及び前記シンタックスを用いて、出力用コンテキスト値を生成するように構成されているコンテキスト選択部と、
前記2値化シンタックスを多値化することによって、前記シンタックスを生成して前記コンテキストバッファに出力するように構成されている多値化部と、
前記シンタックスから係数レベル値を生成するように構成されている係数レベル値復号部と、
前記係数レベル値を逆量子化することによって、変換係数を生成するように構成されている逆量子化部と、
前記変換係数に対して逆ウェーブレット変換を施すことによって予測残差を生成するように構成されている逆ウェーブレット変換部と、を備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラムに関する。
【背景技術】
【0002】
非特許文献1のアンカーソフトには、非特許文献2を用いてメッシュを符号化する技術が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Cfp for Dynamic Mesh Coding、ISO/IEC JTC1/SC29/WG7 N00231、MPEG136 - Online
【非特許文献2】Google Draco、2022年5月26日アクセス[Online]、https://google.github.io/draco
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1のアンカーソフトでは、元のメッシュデータを簡略化してから符号化するため、符号化性能が悪いという問題点があった。 そこで、本発明は、上述の課題に鑑みてなされたものであり、メッシュの符号化効率を向上させることができるメッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の第1の特徴は、メッシュ復号装置であって、変位量ビットストリームを復号して変位量を生成して出力するように構成されている変位量復号部を備え、前記変位量復号部は、前記変位量ビットストリームに対して算術復号を行うことによって、2値化シンタックスを生成するように構成されている算術復号部と、前記2値化シンタックスを用いて、コンテキスト値を更新するように構成されているコンテキスト値更新部と、前記コンテキスト値、ビット位置及びシンタックスを取得して蓄積するように構成されているコンテキストバッファと、前記コンテキストバッファから読み出された前記コンテキスト値、前記ビット位置及び前記シンタックスを用いて、出力用コンテキスト値を生成するように構成されているコンテキスト選択部と、前記2値化シンタックスを多値化することによって、シンタックスを生成して前記コンテキストバッファに出力するように構成されている多値化部と、前記シンタックスから係数レベル値を生成するように構成されている係数レベル値復号部と、前記係数レベル値を逆量子化することによって、変換係数を生成するように構成されている逆量子化部と、前記変換係数に対して逆ウェーブレット変換を施すことによって予測残差を生成するように構成されている逆ウェーブレット変換部と、を備えることを要旨とする。
【0006】
本発明の第2の特徴は、メッシュ復号方法であって、変位量ビットストリームを復号して変位量を生成して出力する工程を備え、前記工程は、前記変位量ビットストリームに対して算術復号を行うことによって、2値化シンタックスを生成する工程と、前記2値化シンタックスを用いて、コンテキスト値を更新する工程と、前記コンテキスト値、ビット位置及びシンタックスを取得してコンテキストバッファに蓄積する工程と、前記コンテキストバッファから読み出された前記コンテキスト値、前記ビット位置及び前記シンタックスを用いて、出力用コンテキスト値を生成する工程と、前記2値化シンタックスを多値化することによって、シンタックスを生成して前記コンテキストバッファに出力する工程と、前記シンタックスから係数レベル値を生成する工程と、前記係数レベル値を逆量子化することによって、変換係数を生成する工程と、前記変換係数に対して逆ウェーブレット変換を施すことによって予測残差を生成する工程と、を有することを要旨とする。
【0007】
本発明の第3の特徴は、コンピュータを、メッシュ復号装置として機能させるプログラムであって、前記メッシュ復号装置は、変位量ビットストリームを復号して変位量を生成して出力するように構成されている変位量復号部を備え、前記変位量復号部は、前記変位量ビットストリームに対して算術復号を行うことによって、2値化シンタックスを生成するように構成されている算術復号部と、前記2値化シンタックスを用いて、コンテキスト値を更新するように構成されているコンテキスト値更新部と、前記コンテキスト値、ビット位置及びシンタックスを取得して蓄積するように構成されているコンテキストバッファと、前記コンテキストバッファから読み出された前記コンテキスト値、前記ビット位置及び前記シンタックスを用いて、出力用コンテキスト値を生成するように構成されているコンテキスト選択部と、前記2値化シンタックスを多値化することによって、シンタックスを生成して前記コンテキストバッファに出力するように構成されている多値化部と、前記シンタックスから係数レベル値を生成するように構成されている係数レベル値復号部と、前記係数レベル値を逆量子化することによって、変換係数を生成するように構成されている逆量子化部と、前記変換係数に対して逆ウェーブレット変換を施すことによって予測残差を生成するように構成されている逆ウェーブレット変換部と、を備えることを要旨とする。
【発明の効果】
【0008】
本発明によれば、メッシュの符号化効率を向上させることができるメッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、一実施形態に係るメッシュ処理システム1の構成の一例を示す図である。
【
図2】
図2は、一実施形態に係るメッシュ復号装置200の機能ブロックの一例を示す図である。
【
図3】
図3は、一実施形態に係るメッシュ復号装置200の変位量復号部206の機能ブロックの一例を示す図である。
【
図4】
図4は、シンタックス構成の一例について示す図である。
【
図5】
図5は、最大値が32である場合のプリフィックス符号列及びサフィックス符号列を示す図である。
【
図6】
図6は、k次指数ゴロム符号によるプリフィックス符号列及びサフィックス符号列を示す図である。
【
図7】
図7は、シンタックス構成の具体例について示す図である。
【
図8】
図8は、シンタックス構成の具体例について示す図である。
【
図9】
図9は、一実施形態に係るメッシュ復号装置200のコンテキスト選択部206Eの動作を説明するための図である。
【
図10】
図10は、一実施形態に係るメッシュ復号装置200のコンテキスト選択部206Eの動作を説明するための図である。
【
図11】
図11は、一実施形態に係るメッシュ復号装置200のコンテキスト選択部206Eの動作を説明するための図である。
【
図12】
図12は、係数レベル値復号部206F2の動作の一例について示すフローチャートである。
【
図13】
図13は、算術復号部206B、コンテキスト選択部206E、コンテキスト値更新部206C及び多値化部206Fの動作の一例について示すフローチャートである。
【
図14】
図14は、変位量のビットストリームの構成の一例について説明するための図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0011】
<第1実施形態>
以下、
図1~
図16を参照して、本実施形態に係るメッシュ処理システムについて説明する。
【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は、制御情報復号部206Aと、算術復号部206Bと、コンテキスト値更新部206Cと、コンテキストバッファ…206Dと、コンテキスト選択部206Eと、多値化部206Fと、係数レベル値復号部F2と、インター予測部206Gと、フレームバッファ206Hと、加算器206Iと、逆量子化部206Jと、逆ウェーブレット変換部206Kとを備えている。
【0024】
制御情報復号部206Aは、受信した変位量ビットストリームに対して可変長復号を行うことで、制御情報を出力するように構成されている。
【0025】
算術復号部206Bは、受信した変位量ビットストリームに対して算術復号を行うことで、2値化シンタックスを出力するように構成されている。詳細については後述する。
【0026】
コンテキスト値更新部206Cは、2値化シンタックスを用いて、コンテキスト値を更新し、フレームバッファ206Dに出力するように構成されている。詳細については後述する。
【0027】
コンテキスト選択部206Eは、コンテキストバッファ206Dから読み出されたコンテキスト値、ビット位置及びシンタックスを用いて、コンテキスト値(出力用コンテキスト値)を生成して出力するように構成されている。詳細については後述する。
【0028】
コンテキストバッファ206Dは、コンテキスト値、ビット位置及びシンタックスを取得して蓄積するように構成されている。コンテキストバッファ206Dは、図示しない制御情報に応じてこれらを出力するように構成されている。
【0029】
多値化部206Fは、2値化シンタックスを多値化することによってシンタックスを生成して出力するように構成されている。生成(算出)されたシンタックスは、ビット位置及びシンタックスとしてコンテキストバッファ206Dにも出力される。
【0030】
係数レベル値復号部206F2は、シンタックスから係数レベル値を生成して出力するように構成されている。
【0031】
インター予測部206Gは、フレームバッファ206Dから読み出された参照フレームを用いて、予測変位量を生成して出力するように構成されている。
【0032】
フレームバッファHは、復号変位量を取得して蓄積するように構成されている。フレームバッファHは、図示しない制御情報に応じて、参照フレームにおいて対応する頂点における復号変位量を出力するように構成されている。
【0033】
加算器206Iは、予測残差及び予測変位量を取得するように構成されている。加算器206Iは、これらを加算して、復号変位量を生成して出力するように構成されている。生成(算出)された復号変位量は、フレームバッファ206Hにも出力される。
【0034】
逆量子化部206Jは、係数レベル値を逆量子化することによって変換係数を生成して出力するように構成されている。
【0035】
逆ウェーブレット変換部206Kは、変換係数を逆ウェーブレット変換することによって予測残差を生成して出力するように構成されている。逆ウェーブレット変換は、ウェーブレット変換の逆変換である。ウェーブレット変換は、ウェーブレット関数を基底とし、低周波成分に対しては基底を拡大し、高周波成分に対しては基底を縮小することで、空間と周波数の情報を同時に解析できる手法である。
(シンタックス構成)
以下、
図4~8を参照して、シンタックス構成について説明する。
【0036】
まず、符号化時は、変位量の係数レベル値は、各フレームにおいて3×Nサイズの行列で表される。3は、空間領域における次元を示し、Nは、細分割頂点の総数を示す。かかる行列がブロックに分割され、ブロック単位で符号化される。
【0037】
ブロックサイズは、3×nサイズ(n<N)であってもよいし、1×nサイズであってもよい。或いは、ブロックサイズとして、1×nサイズ及び2×nサイズを併用してもよい。ブロックサイズに満たない行列要素については、最大となるd×mサイズ(d=1,2,3, m<n)でブロックを構成する。
【0038】
nは、ブロックごとに可変にしてもよい。例えば、制御情報によって示された細分割レベル及び各レベルにおける係数レベル値の総数(n1、n2、…)によってnを定めてもよい。ここで、細分割レベルは、細分割の回数を示す。例えば、細分割レベルが4の場合は、3×n1、3×n2、3×n3、3×n4、の4つのブロックで構成してもよい。
【0039】
図4は、シンタックス構成の一例について示す図である。シンタックスは、行列単位で定義されるものとブロック単位で定義されるものがある。
【0040】
第1に、行列単位で定義されるシンタックスについて説明する。
【0041】
last_sig_coeff_prefixは、スキャン順で先頭の非零係数の座標位置のプリフィックスを表す。last_sig_coeff_suffixは、スキャン順で先頭の非零係数の座標位置のサフィックスを表す。
【0042】
例えば、プリフィックスは、トランケーテッド・ライス二値化によって表現され、サフィックスは、固定長で表現される。
図5は、最大値が32である場合のプリフィックス符号列及びサフィックス符号列を示す図である。
【0043】
第2に、ブロック単位で定義されるシンタックスについて説明する。
【0044】
coded_block_flagは、ブロック内に非零係数があることを示すフラグである。かかるフラグは、各ブロックに1個だけ定義される。
【0045】
last_sig_coeff_block_prefixは、ブロック内においてスキャン順で先頭の非零係数の座標位置のプリフィックスを表す。last_sig_coeff_block_suffixは、ブロック内においてスキャン順で先頭の非零係数の座標位置のサフィックスを表す。sig_coeff_flagは、非零係数かであるかどうかを示すフラグである。
【0046】
coeff_abs_level_greater1_flagは、係数(非零係数)の絶対値が2以上であるかどうかを示すフラグである。かかるフラグで表す係数の総数には、例えば、8個のような上限を設けてもよい。
【0047】
coeff_abs_level_greater2_flagは、スキャン順で先頭の絶対値が2以上の係数(非零係数)の絶対値が3以上であるかどうかを示すフラグである。coeff_sign_flagは、係数の正負符号を示すフラグである。
【0048】
coeff_abs_level_remainingは、係数の絶対値から上述のフラグで表現した値を引いた値を表す。coeff_abs_level_remainingは、例えば、k次指数ゴロム符号によって表現される。
図6は、k次指数ゴロム符号によるプリフィックス符号列及びサフィックス符号列を示す図である。
【0049】
図7及び
図8は、シンタックス構成の具体例について示す図である。
図7に示すように、各シンタックスから係数レベル値が復号され、その後、
図8に示すように、復号された係数レベル値が並び替えられる。
【0050】
(算術復号部206B)
算術復号部206Bは、2値を対象とする。算術復号部206Bは、0から1までの数直線を定義し、その区間を分割して利用する。区間は、2値の発生確率(以降、コンテキスト値と呼ぶ)によって分割される。
【0051】
算術復号部206Bには、2進数小数が入力され、算術復号部206Bは、かかる2進数少数が数直線上のどの区間に含まれるかによって元の値を復号する。
【0052】
ここで、コンテキスト値は、常に固定とされてもよいし、入力信号1ビットごとに変更されてもよい。コンテキスト値が、1ビットごとに変更される場合は、算術復号部206Bは、コンテキスト選択部206Eからコンテキスト値を受け取る。
【0053】
(コンテキスト値更新部206C)
コンテキスト値更新部206Cは、1ビットを復号する度にコンテキスト値を更新する。
【0054】
ここで、コンテキスト値更新部206Cは、0及び1のうち、発生確率が高いシンボルをMPS(Most Probable Symbol)とし、発生確率が低いシンボルをLPS(Least Probable Symbol)とする。
【0055】
コンテキスト値更新部206Cは、MPSが発生した場合は、少し確率値を更新し、LPSが発生した場合は、大きく確率値を更新するような確率更新テーブルを用いてもよい。
【0056】
(コンテキスト選択部206E)
以下のシンタックスは、上述の算術復号部206Bによって復号され、コンテキスト選択部206Eによって選択される。なお、各シンタックスによって選択方法が異なるため、以下、かかる選択方法の一例について説明する。
【0057】
last_sig_coeff_prefix:コンテキスト選択部206Eは、
図9に示すように、行列サイズやビット位置に応じたコンテキスト番号表を作成してもよい。
【0058】
last_sig_coeff_block_prefix:コンテキスト選択部206Eは、
図9に示すように、ブロックサイズやビット位置に応じたコンテキスト番号表を作成してもよい。
【0059】
coded_block_flag:コンテキスト選択部206Eは、
図10に示すような復号済みの右隣接ブロックで、coded_block_flag=0であればコンテキスト番号を0とし、coded_block_flag=1コンテキスト番号を1としてもよい。
【0060】
sig_coeff_flag:コンテキスト選択部206Eは、ある基準値を、係数の位置や復号済みの右隣接ブロックのcoded_block_flagによって補正した値をコンテキスト番号とする。例えば、コンテキスト選択部206Eは、基準値について、例えば、最も左のブロックでは0とし、それ以外のブロックでは3とする。コンテキスト選択部206Eは、コンテキスト番号の補正には、復号済みの右隣接ブロックでcoded_block_flag=0の場合は、
図11-1及び
図11-3に示すような表を用い、coded_block_flag=1の場合には、
図11-2に示すような表を用いてもよい。
【0061】
coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag:コンテキスト選択部206Eは、復号済みの右隣接ブロックで、絶対値(レベル値)が2以上の係数がある場合は、コンテキスト番号を0とし、そうでない場合は、コンテキスト番号を1としてもよい。
【0062】
(係数レベル値復号部206F2の動作)
以下、
図12を参照して、係数レベル値復号部206F2の動作の一例について説明する。
【0063】
図12に示すように、ステップS101において、係数レベル値復号部206F2は、last_sig_coeff_prefixとlast_sig_coeff_suffixが示す位置以降の係数は全て0として復号する。この後の処理は、ブロック単位で行われる。
【0064】
ステップS102において、係数レベル値復号部206F2は、coded_block_flagについての復号を行う。
【0065】
ステップS103において、係数レベル値復号部206F2は、coded_block_flagが0であるか1であるかの判定を行う。
【0066】
coded_block_flag=0の場合は、係数レベル値復号部206F2は、現在処理しているブロック内の係数については全て0として復号し、本動作は、ステップS116に進み、coded_block_flag=1の場合は、本動作は、ステップS104に進む。
【0067】
ステップS104において、係数レベル値復号部206F2は、現在処理しているブロック内で、last_sig_coeff_block_prefixとlast_sig_coeff_block_suffixが示す位置以降の係数は全て0として復号する。
【0068】
ステップS105において、係数レベル値復号部206F2は、sig_coeff_flagについての復号を行う。
【0069】
ステップS106において、係数レベル値復号部206F2は、sig_coeff_flagが0であるか1であるかの判定を行う。
【0070】
sig_coeff_flag=0の場合は、本動作は、ステップS116に進み、sig_coeff_flag=1の場合は、本動作は、ステップS107に進む。
【0071】
ステップS107において、係数レベル値復号部206F2は、coeff_abs_level_greater1_flagについての復号を行う。
【0072】
ステップS108において、係数レベル値復号部206F2は、coeff_abs_level_greater1_flagが0であるか1であるかの判定を行う。
【0073】
coeff_abs_level_greater1_flag=0の場合は、本動作は、ステップS113に進み、coeff_abs_level_greater1_flag=1の場合は、本動作は、ステップS109に進む。
【0074】
ステップS109において、係数レベル値復号部206F2は、coeff_abs_level_greater2_flagについての復号を行う。
【0075】
ステップS110において、係数レベル値復号部206F2は、coeff_abs_level_greater2_flagが0であるか1であるかの判定を行う。
【0076】
coeff_abs_level_greater2_flag=0の場合は、本動作は、ステップS113に進み、coeff_abs_level_greater1_flag=1の場合は、本動作は、ステップS112に進む。
【0077】
ステップS112において、係数レベル値復号部206F2は、coeff_abs_level_remainingについての復号を行う。ここで、係数レベル値復号部206F2は、coeff_abs_level_remainingの復号については、指数ゴロム復号を行った後に3を加算したものを復号後の係数レベル値とする。
【0078】
ステップS113において、係数レベル値復号部206F2は、coeff_sign_flagについての復号を行う。
【0079】
ステップS114において、係数レベル値復号部206F2は、coeff_sign_flagが0であるか1であるかの判定を行う。
【0080】
coeff_sign_flag=0の場合は、本動作は、ステップS116に進み、coeff_sign_flag=1の場合は、本動作は、ステップS115に進む。
【0081】
ステップS115において、係数レベル値復号部206F2は、復号済みの係数を負値化する。
【0082】
ステップS116において、係数レベル値復号部206F2は、現在処理しているブロックが最終ブロックであるか否かについて判定する。
【0083】
Yesの場合、本動作は、終了し、Noの場合、本動作は、ステップS111に進む。
【0084】
ステップS111において、係数レベル値復号部206F2は、次のブロックへの処理に進み、本動作は、ステップS102に戻る。
【0085】
次に、
図13を参照して、算術復号部206B、コンテキスト選択部206E、コンテキスト値更新部206C及び多値化部206Fの動作の一例について説明する。
【0086】
図13に示すように、算術復号部206Bは、ステップS201において、算術復号部206Bは、初期化され、ステップS202において、初期コンテキスト値を設定する。
【0087】
算術復号部206Bは、ステップS203において、コンテキストを選択し、ステップS204において、算術復号を行う。
【0088】
ステップS205において、コンテキスト値更新部206C及びコンテキスト選択部206Eは、コンテキスト値を更新し、ステップS206において、多値化部206Fは、多値化を行う。
【0089】
多値化部206Fは、ステップS207において、全ての復号が完了したか否かについて判定する。Yesの場合、本動作は、ステップS208に進み、Noの場合、本動作は、ステップS203に戻る。
【0090】
ステップS208において、多値化部206Fは、コンテキスト値を退避させる。
【0091】
(ビットストリーム構成)
以下、
図14を参照して、変位量のビットストリームの構成の一例について説明する。
【0092】
第1に、ビットストリームは、変位量の復号に関する制御情報の集合であるDPS(ディスプレイスメントパラメータセット)を含んでいてもよい。
【0093】
第2に、ビットストリームは、フレームに対応する制御情報の集合であるフレームヘッダを含んでいてもよい。
【0094】
第3に、ビットストリームは、フレームヘッダの次に、フレームを構成する符号化された変位量を含んでいてもよい。
【0095】
以上のように、ビットストリームは、各符号化された変位量に、1つずつフレームヘッダ及びDPSが対応する構成となる。
【0096】
なお、
図14に示す構成は、あくまで一例である。各符号化された変位量に、フレームヘッダ及びDPSが対応する構成となっていれば、ビットストリームの構成要素として、上述以外の要素が追加されてもよい。例えば、
図14に示すように、ビットストリームは、SPS(シーケンスパラメータセット)を含んでいてもよい。
【0097】
本実施形態に係るメッシュ復号装置200によれば、変位量の係数レベル値列を周波数領域で分割し、絶対値が小さい係数を示すシンタックスを導入し、さらに、各周波数領域において異なるコンテキストモデルを構築することで、符号化効率の符号化効率を向上させることができる。
【0098】
上述のメッシュ符号化装置100及びメッシュ復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
【産業上の利用可能性】
【0099】
なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【符号の説明】
【0100】
1…メッシュ処理システム
100…メッシュ符号化装置
200…メッシュ復号部
201…多重分離部
202…基本メッシュ復号部
203…細分割部
204…メッシュ復号部
205…パッチ統合部
206…変位量復号部
206A…制御情報復号部
206B…算術復号部
206C…コンテキスト値更新部
206D…コンテキストバッファ
206E…コンテキスト選択部
206F…多値化部
206F2…係数レベル値復号部
206G…インター予測部
206H…フレームバッファ
206I…加算器
206J…逆量子化部
206K…逆ウェーブレット変換部
207…映像復号部