(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025008072
(43)【公開日】2025-01-20
(54)【発明の名称】メッシュ復号装置、メッシュ復号方法及びプログラム
(51)【国際特許分類】
H04N 19/70 20140101AFI20250109BHJP
H04N 19/597 20140101ALI20250109BHJP
【FI】
H04N19/70
H04N19/597
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2023109929
(22)【出願日】2023-07-04
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和5年度、総務省、「3次元空間データの無線伝送に向けた高能率圧縮技術の研究開発」委託事業、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110001564
【氏名又は名称】フェリシテ弁理士法人
(72)【発明者】
【氏名】岸本 広輝
(72)【発明者】
【氏名】河村 圭
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA41
5C159MC11
5C159ME11
5C159PP03
5C159PP13
5C159RC12
5C159UA02
5C159UA05
(57)【要約】
【課題】効率の良い圧縮を行うこと。
【解決手段】本発明に係るメッシュ復号装置200は、アトラスビットストリームを復号して第1制御情報を生成して出力するアトラスデータ復号部207と、基本メッシュビットストリームを復号して第2制御情報及び基本メッシュを生成して出力する基本メッシュ復号部202と、第1制御情報と第2制御情報と基本メッシュとを復号して細分割メッシュ及び細分割頂点法線を出力する細分割部203と、第1制御情報と変位量と細分割メッシュと細分割頂点法線を入力として復号メッシュを生成するメッシュ復号部204とを備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
メッシュ復号装置であって、
アトラスビットストリームを復号して第1制御情報を生成して出力するように構成されているアトラスデータ復号部と、
基本メッシュビットストリームを復号して第2制御情報及び基本メッシュを生成して出力するように構成されている基本メッシュ復号部と、
前記第1制御情報と前記第2制御情報と前記基本メッシュとを入力として細分割メッシュ及び細分割頂点法線を出力するように構成されている細分割部と、
前記第1制御情報と変位量と前記細分割メッシュと前記細分割頂点法線を入力として復号メッシュを生成するように構成されているメッシュ復号部とを備えることを特徴とするメッシュ復号装置。
【請求項2】
前記アトラスデータ復号部は、前記第1制御情報として、サブメッシュごとの処理を定義するかどうかを表す制御信号を復号することを特徴とする請求項1に記載のメッシュ復号装置。
【請求項3】
前記アトラスデータ復号部は、前記第1制御情報として、サブメッシュごとに細分割を行うかどうかを表す制御信号を復号することを特徴とする請求項1に記載のメッシュ復号装置。
【請求項4】
前記細分割部は、前記制御信号に基づきサブメッシュごとに細分割を行うかどうかを判定することを特徴とする請求項3に記載のメッシュ装置。
【請求項5】
前記アトラスデータ復号部は、前記第1制御情報として、サブメッシュごとに変位量を定義する座標系を設定するかどうかを表す制御信号を復号することを特徴とする請求項1に記載のメッシュ復号装置。
【請求項6】
前記アトラスデータ復号部は、前記第1制御情報として、サブメッシュごとに定義される変位量の座標系を表す制御信号を復号することを特徴とする請求項1に記載のメッシュ復号装置。
【請求項7】
前記メッシュ復号部は、前記制御信号に基づき、変位量の座標系を設定して、設定した座標系の変位量を細分割頂点に加算することで、復号メッシュを計算して出力するように構成されている請求項6に記載のメッシュ復号装置。
【請求項8】
前記アトラスデータ復号部は、前記第1制御情報として、サブメッシュごとに変位量の符号化手法を設定するかどうかを表す制御信号を復号することを特徴とする請求項1に記載のメッシュ復号装置。
【請求項9】
前記アトラスデータ復号部は、前記第1制御情報として、サブメッシュごとに変位量の符号化パラメータを設定するかどうかを表す制御信号を復号することを特徴とする請求項1に記載のメッシュ復号装置。
【請求項10】
前記アトラスデータ復号部は、前記第1制御情報として、サブメッシュごとに細分割手法を表す制御信号を復号することを特徴とする請求項1に記載のメッシュ復号装置。
【請求項11】
前記細分割部は、前記制御信号に基づき、サブメッシュを細分割することを特徴とする請求項10に記載のメッシュ復号装置
【請求項12】
前記アトラスデータ復号部は、前記第1制御情報として、サブメッシュごとに細分割の回数を表す制御信号を復号することを特徴とする請求項1に記載のメッシュ復号装置。
【請求項13】
前記細分割部は、前記制御信号と同じ細分割回数だけ基本メッシュを細分割することを特徴とする請求項12に記載のメッシュ復号装置。
【請求項14】
前記アトラスデータ復号部は、前記第1制御情報として、サブメッシュごとに変位量の符号化手法を表す制御信号を復号することを特徴とする請求項1に記載のメッシュ復号装置。
【請求項15】
前記変位量復号部は、前記制御信号に基づき、変位量を逆係数変換することを特徴とする請求項14に記載のメッシュ復号装置。
【請求項16】
メッシュ復号方法であって、
アトラスビットストリームを復号して第1制御情報を生成して出力する工程と、
基本メッシュビットストリームを復号して第2制御情報及び基本メッシュを生成して出力する工程と、
前記第1制御情報と前記第2制御情報と前記基本メッシュとを復号して細分割メッシュ及び細分割頂点法線を出力する工程と、
前記第1制御情報と変位量と前記細分割メッシュと前記細分割頂点法線を入力として復号メッシュを生成する工程とを有することを特徴とするメッシュ復号方法。
【請求項17】
コンピュータを、メッシュ復号装置として機能させるプログラムであって、
前記メッシュ復号装置は、
アトラスビットストリームを復号して第1制御情報を生成して出力するように構成されているアトラスデータ復号部と、
基本メッシュビットストリームを復号して第2制御情報及び基本メッシュを生成して出力するように構成されている基本メッシュ復号部と、
前記第1制御情報と前記第2制御情報と前記基本メッシュとを復号して細分割メッシュ及び細分割頂点法線を出力するように構成されている細分割部と、
前記第1制御情報と変位量と前記細分割メッシュと前記細分割頂点法線を入力として復号メッシュを生成するように構成されているメッシュ復号部とを備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【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 m59281, April 2022.
【非特許文献2】Google Draco、2022年5月26日アクセス[Online]、https://google.github.io/draco
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1では、メッシュの一部に対して、別々に復号する機能や品質を制御する方法が実装されておらず、メッシュ全体に対して同一の処理を行うため、メッシュデータの局所的な特徴に応じた符号化を行うことができないという問題点があった。 そこで、本発明は、上述の課題に鑑みてなされたものであり、効率の良い圧縮を行うことができるメッシュ復号装置、メッシュ復号方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の第1の特徴は、メッシュ復号装置であって、アトラスビットストリームを復号して第1制御情報を生成して出力するように構成されているアトラスデータ復号部と、基本メッシュビットストリームを復号して第2制御情報及び基本メッシュを生成して出力するように構成されている基本メッシュ復号部と、前記第1制御情報と前記第2制御情報と前記基本メッシュとを入力として細分割メッシュ及び細分割頂点法線を出力するように構成されている細分割部と、前記第1制御情報と変位量と前記細分割メッシュと前記細分割頂点法線を入力として復号メッシュを生成するように構成されているメッシュ復号部とを備えることを要旨とする。
【0006】
本発明の第2の特徴は、メッシュ復号方法であって、アトラスビットストリームを復号して第1制御情報を生成して出力する工程と、基本メッシュビットストリームを復号して第2制御情報及び基本メッシュを生成して出力する工程と、前記第1制御情報と前記第2制御情報と前記基本メッシュとを復号して細分割メッシュ及び細分割頂点法線を出力する工程と、前記第1制御情報と変位量と前記細分割メッシュと前記細分割頂点法線を入力として復号メッシュを生成する工程とを有することを要旨とする。
【0007】
本発明の第3の特徴は、コンピュータを、メッシュ復号装置として機能させるプログラムであって、前記メッシュ復号装置は、アトラスビットストリームを復号して第1制御情報を生成して出力するように構成されているアトラスデータ復号部と、基本メッシュビットストリームを復号して第2制御情報及び基本メッシュを生成して出力するように構成されている基本メッシュ復号部と、前記第1制御情報と前記第2制御情報と前記基本メッシュとを復号して細分割メッシュ及び細分割頂点法線を出力するように構成されている細分割部と、前記第1制御情報と変位量と前記細分割メッシュと前記細分割頂点法線を入力として復号メッシュを生成するように構成されているメッシュ復号部とを備えることを要旨とする。
【発明の効果】
【0008】
本発明によれば、効率の良い圧縮を行うことができるメッシュ復号装置、メッシュ復号方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、一実施形態に係るメッシュ処理システム1の構成の一例を示す図である。
【
図2】
図2は、一実施形態に係るメッシュ復号装置200の機能ブロックの一例を示す図である。
【
図3】
図3は、アトラスビットストリームのシンタックス構成の一例を示す図である。
【
図4A】
図4Aは、PDUのシンタックス構成の一例を示す図である。
【
図4B】
図4Bは、SDUのシンタックス構成の一例を示す図である。
【
図4C】
図4Cは、vdmc_lifting_transform_parametersのシンタックス構成の一例を示す図である。
【
図6】
図6は、一実施形態に係るメッシュ復号装置200の細分割部203の機能ブロックの一例について示す図である。
【
図7】
図7は、一実施形態に係るメッシュ復号装置200の細分割部203の基本メッシュ細分割部203Aの処理の一例を示すフローチャートである。
【
図8】
図8は、一実施形態に係るメッシュ復号装置200の変位量復号部205の機能ブロックの一例について示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0011】
<第1実施形態>
以下、
図1~
図8を参照して、本実施形態に係るメッシュ処理システム1について説明する。
【0012】
図1は、本実施形態に係るメッシュ処理システム1の構成の一例を示す図である。
図1に示すように、メッシュ処理システム1は、メッシュ符号化装置100及びメッシュ復号装置200を備えている。
【0013】
図2は、本実施形態に係るメッシュ復号装置200の機能ブロックの一例を示す図である。
【0014】
図2に示すように、メッシュ復号装置200は、多重分離部201と、基本メッシュ復号部202と、細分割部203と、メッシュ復号部204と、変位量復号部205と、映像復号部206と、アトラスデータ復号部207とを有する。
【0015】
多重分離部201は、多重化されたビットストリームを、アトラスビットストリームと基本メッシュビットストリームと変位量ビットストリームとテクスチャビットストリームとに分離するように構成されている。
【0016】
アトラスデータ復号部207は、アトラスビットストリームを復号して制御情報(第1制御情報)を出力するように構成されている。
【0017】
基本メッシュ復号部202は、基本メッシュビットストリームを復号して制御情報(第2制御情報)及び基本メッシュを生成して出力するように構成されている。
【0018】
細分割部203は、アトラスデータ復号部207から出力された制御情報と基本メッシュ復号部202から出力された制御情報と基本メッシュとを復号して細分割メッシュ及び細分割頂点法線を出力するように構成されている。
【0019】
具滝的には、細分割部203は、上述の制御情報によって示された細分割手法により、基本メッシュ復号部202によって復号された基本メッシュから、追加された細分割頂点及びそれらの接続情報を生成して出力するように構成されている。
【0020】
ここで、基本メッシュ、追加された細分割頂点、及び、それらの接続情報を、併せて「細分割メッシュ」と呼ぶ。
【0021】
メッシュ復号部204は、アトラスデータ復号部207から出力された制御情報と変位量と細分割メッシュと細分割頂点法線を入力として復号メッシュを生成するように構成されている。
【0022】
具体的には、メッシュ復号部204は、細分割部203で生成された細分割メッシュ及び細分割頂点法線及び変位量復号部205で復号された変位量を用いて、復号メッシュを生成して出力するように構成されている。
【0023】
変位量復号部205は、変位量ビットストリームを復号して変位量を生成して出力するように構成されている。
【0024】
映像復号部206は、映像コーデックによってテクスチャを復号して出力するように構成されている。
【0025】
(アトラスデータ復号部207)
以下、
図3~
図4を参照して、アトラスデータ復号部207で復号される制御情報について説明する。
【0026】
図3は、アトラスビットストリームのシンタックス構成の一例を示す図である。
【0027】
図3に示すように、第1に、アトラスビットストリームは、サブメッシュのヘッダ情報の集合である、SDH(Submesh data header:サブメッシュヘッダ)を含んでもよい。
【0028】
第2に、アトラスビットストリームは、サブメッシュに関する制御情報のデータを表すSDU(Submesh data unit:サブメッシュデータユニット)を含んでもよい。
【0029】
第3に、アトラスビットストリームは、パッチのヘッダ情報の集合であるPDH(Patch data header:パッチデータヘッダ)を含んでもよい。
【0030】
第4に、アトラスビットストリームは、パッチに関する制御情報のデータを表すPDU(Patch data unit:パッチデータユニット)を含んでもよい。
【0031】
ここで、サブメッシュは、単一で符号化/復号することが可能なメッシュの単位である。サブメッシュごとに基本メッシュ及び変位量が独立に定義されている。また、パッチは、サブメッシュに含まれる1領域として定義される。
【0032】
以下、
図4Bを参照して、SDUのシンタックス構成の一例について説明する。
図4Bは、SDUのシンタックス構成の一例を示す図である。ここで、シンタックスの機能が同様であれば、
図4Bに示すシンタックス名と異なるシンタックス名を用いてもよい。
【0033】
図4Bに示すSDUのシンタックス構成において、Description欄は、各シンタックスが、どのように符号化されているかを意味している。また、ue(v)は、符号無し0次指数ゴロム符号であることを意味し、u(n)は、nビットのフラグであることを意味する。
【0034】
SDUは、sdu_subdivision_enable_flag、sdu_displacement_coordinate_system_enable_flag、sdu_transform_method_enable_flag、sdu_transform_parameters__enable_flag、sdu_attribute_parameter_overwrite_flagについて、サブメッシュごとに定義するかどうかを表す制御信号sdu_parameters_enable_flagを含む。
【0035】
sdu_subdivision_enable_flagは、サブメッシュごとに細分割を行うかどうかを表す制御信号である。
【0036】
sdu_displacement_coordinate_system_enable_flagは、サブメッシュごとに変位量を定義する座標系を設定するかどうかを表す制御信号である。例えば、sdu_displacement_coordinate_system_enable_flagの値が「1」のとき、サブメッシュごとに変位量の座標系を定義するように構成されていてもよいし、sdu_displacement_coordinate_system_enable_flagの値が「0」のとき、デフォルトの座標系で変位量を定義するように構成されていてもよい。デフォルトの座標系は、直交座標系等の既知の座標系を使用してもよい。
【0037】
sdu_transform_method_enable_flagは、サブメッシュごとに変位量の符号化手法を設定するかどうかを表す制御信号である。例えば、sdu_transform_method_enable_flagの値が「1」のとき、サブメッシュごとに変位量の符号化手法を定義してもよいし、sdu_transform_method_enable_flagの値が「0」のとき、デフォルトの変位量の符号化手法を使用するように構成されていてもよい。デフォルトの変位量の符号化手法は、リニアウェーブレット変換等の既知の変位量の符号化手法を使用してもよい。
【0038】
sdu_transform_parameters__enable_flagは、サブメッシュごとに変位量の符号化パラメータを定義するかどうかを表す制御信号である。例えば、sdu_transform_parameters__enable_flagの値が「1」のとき、サブメッシュごとに変位量の符号化パラメータに関する制御信号を定義してもよいし、sdu_transform_parameters__enable_flagの値が「0」のとき、変位量のデフォルトの符号化パラメータを使用するように構成されていてもよい。
【0039】
SDUは、sdu_attribute_transform_method_enable_flag、sdu_attribute_transform_parameters_enable_flag、sdu_attribute_transform_methodについて、サブメッシュごとに定義するかどうかを表す制御信号sdu__attribute_parameter_overwrite__flagを含む。
【0040】
SDUは、サブメッシュごとに細分割手法を表す制御信号であるsdu_subdivision_methodを含む。例えば、sdu_subdivision_methodの値が「1」のとき、サブメッシュごとにMid-edge分割法で分割するように定義してもよいし、sdu_subdivision_methodの値が「0」のとき、その他の既知の細分割手法を定義するように構成されていてもよい。
【0041】
SDUは、サブメッシュごとに細分割の回数を表す制御信号であるsdu_subdivision_iteration_countを含む。
【0042】
SDUは、サブメッシュごとに変位量の符号化手法を表す制御信号であるsdu_transform_methodを含む。例えば、sdu_transform_methodの値が「1」のとき、サブメッシュごとにリニアウェーブレット変換を用いて変位量を符号化するように構成されていてもよいし、sdu_transform_methodの値が「0」のとき、その他の既知の変位量符号化手法を定義するように構成されていてもよい。
【0043】
SDUは、サブメッシュごとに属性情報における符号化手法を設定するかどうかを表す制御信号であるsdu_attribute_transform_method_enable_flagを含む。例えば、sdu_attribute_transform_method_enable_flagの値が「1」のとき、サブメッシュごとに属性情報の変位量をリニアウェーブレット変換で定義するように構成されていてもよいし、sdu_attribute_transform_method_enable_flagの値が「0」のとき、デフォルトの符号化手法を使用するように構成されていてもよい。
【0044】
SDUは、サブメッシュごとに属性情報における変位量の符号化手法に関する制御信号を設定するかどうかを表す制御信号であるsdu_attribute_transform_parameters_enable_flagを含む。例えば、sdu_attribute_transform_parameters_enable_flagの値が「1」のとき、サブメッシュごとに属性情報における変位量の符号化に関する制御信号を定義してもよいし、sdu_attribute_transform_parameters_enable_flagの値が「0」のとき、デフォルトの変位量の符号化に関する制御信号を定義するように構成されていてもよい。
【0045】
SDUは、サブメッシュごとに属性情報における変位量の符号化手法を表す制御信号であるsdu_attribute_transform_methodを含む。例えば、sdu_attribute_transform_methodの値が「1」のとき、サブメッシュごとにリニアウェーブレット変換を用いて変位量を符号化するように構成されていてもよいし、sdu_attribute_transform_methodの値が「0」のとき、その他の既知の符号化手法を定義するように構成されていてもよい。
【0046】
SDUは、サブメッシュごとに一次元変位量符号化を行うかどうかを表す制御信号であるvdmc_ext_ld_displacement_flagを含む。例えば、vdmc_ext_ld_displacement_flagの値が「1」のとき、一次元変位量符号化を行うように構成されていてもよい。
【0047】
SDUは、サブメッシュごとに細分割レベル0の頂点における変位量の量子化値を表す制御信号であるvdmc_transform_lifting_quantization_parametersを含む。
【0048】
SDUは、サブメッシュごとに細分割レベル間の変位量の量子化スケール値を表す制御信号であるvdmc_transform_log2_lifting_lod_inverse_scaleを含む。
【0049】
このとき、vdmc_transform_lifting_quantization_parameters及びvdmc_transform_log2_lifting_lod_inverse_scaleは、一次元変位量符号化を行うかどうかを表す制御信号に基づき、パラメータの次元数を変更してもよい。例えば、一次元変位量符号化によって変位量を符号化する場合は、上述のパラメータの次元数を1に、そうでない場合は、上述のパラメータの次元数を3にしてもよい。
【0050】
SDUは、サブメッシュごとに細分割レベルごとの量子化値を表す制御信号であるvdmc_transform_lod_quantizationを含む。
【0051】
このとき、vdmc_transform_lod_quantizationは、一次元変位量符号化を行うかどうかを表す制御信号に基づきパラメータの次元数を変更してもよい。例えば、一次元変位量符号化によって変位量を符号化するとき、vdmc_transform_lod_quantizationのパラメータの次元数を1に、そうでない場合は、vdmc_transform_lod_quantizationの次元数を3にしてもよい。
【0052】
図4Aを参照して、アトラスデータ復号部207で復号されるパッチに関する制御情報について説明する。
図4Aは、アトラスビットストリームのパッチ関連のシンタックスであるPDUの構成の一例を示す図である。
【0053】
PDUは、パッチごとに細分割レベル0の頂点における変位量の量子化値を表す制御信号であるvdmc_transform_lifting_quantization_parametersを含む。
【0054】
PDUは、パッチごとに細分割レベル間の変位量の量子化スケール値を表す制御信号であるvdmc_transform_log2_lifting_lod_inverse_scaleを含む。
【0055】
このとき、vdmc_transform_lifting_quantization_parameters及びvdmc_transform_log2_lifting_lod_inverse_scaleは、一次元変位量符号化を行うかどうかを表す制御信号に基づき、パラメータの次元数を変更してもよい。例えば、一次元変位量符号化によって変位量を符号化する場合は、上述のパラメータの次元数を1に、そうでない場合は、上述のパラメータの次元数を3にしてもよい。
【0056】
PDUは、サブメッシュごとに細分割レベルごとの量子化値を表す制御信号vdmc_transform_lod_quantizationを含む。
【0057】
vdmc_transform_lod_quantizationは、一次元変位量符号化を行うかどうかを表す制御信号に基づきパラメータの次元数を変更してもよい。例えば、一次元変位量符号化によって変位量を符号化するとき、vdmc_transform_lod_quantizationのパラメータの次元数を1に、そうでない場合は、vdmc_transform_lod_quantizationの次元数を3にしてもよい。
【0058】
vdmc_transform_lod_quantizationは、現在のレベルより小さい細分割レベルに基づき、差分や乗算によって算出されるように構成されていてもよい。
【0059】
(基本メッシュ復号部202)
上述のように、基本メッシュ復号部202は、基本メッシュビットストリームを復号して、基本メッシュを生成して出力するように構成されている。
【0060】
ここで、基本メッシュは、3次元空間における複数の頂点と、かかる複数の頂点を接続する辺とで構成される。このとき、基本メッシュは、1つでもよいし、複数でもよい。
【0061】
なお、
図5Aに示すように、基本メッシュは、3つの頂点で表現される基本面を組み合わせて構成される。
【0062】
基本メッシュ復号部202は、例えば、非特許文献2に示すDracoを用いて、基本メッシュビットストリームを復号するように構成されていてもよい。
【0063】
基本メッシュが、複数である場合は、基本メッシュ復号部202は、Dracoを用いて、複数の基本メッシュを独立に復号するように構成されていてもよい。
【0064】
(細分割部203)
図5~
図7を参照して、細分割部203における細分割メッシュの復号方法について説明する。
【0065】
細分割部203は、基本メッシュに基づき、細分割メッシュ及び細分割頂点法線を計算して出力するように構成されている。
【0066】
図6は、細分割部203の機能ブロックの一例を示す図である。
【0067】
図6に示すように、細分割部203は、基本メッシュ細分割部203Aと、細分割頂点法線計算部203Bとを有する。
【0068】
(基本メッシュ細分割部203A)
基本メッシュ細分割部203Aは、基本メッシュ復号部202から入力された制御情報と基本メッシュとに基づき、基本メッシュを細分割して、細分割メッシュを出力するように構成されている。
【0069】
基本メッシュが、複数である場合、基本メッシュ細分割部203Aは、それぞれの基本メッシュに対して独立に細分割するように構成されていてもよい。
【0070】
図7は、基本メッシュ細分割部203Aの処理の一例を示すフローチャートである。以下、
図7を用いて、基本メッシュ細分割部203Aの処理の一例について説明する。
【0071】
図7に示すように、ステップS203A-1において、基本メッシュ細分割部203Aは、変数iに対して、i=0として、ステップS203A-2に進む。
【0072】
ステップS203A-2において、基本メッシュ細分割部203Aは、変数iが不等式i≦bsmi_num_submeshes_minus1を満たすかどうかについて判定する。Yesのとき、本処理は、ステップS203A-3に進み、Noのとき、本処理は終了する。ここで、bsmi_num_submeshes_minus1は、メッシュを構成するサブメッシュから1を差し引いた数である。
【0073】
ステップS203A-3において、基本メッシュ細分割部203Aは、変数iに対して1を加算する。
【0074】
ステップS203A-4において、基本メッシュ細分割部203Aは、細分割を行うかどうかを表す制御信号であるsdu_subdivision_enable_flagがsdu_subdivision_enable_flag=1を満たすかどうかを判定する。Yesのとき、本処理は、ステップS203A-5に進み、Noのとき、本処理は、ステップS203A-2に進む。
【0075】
ステップS203A-5において、基本メッシュ細分割部203Aは、未処理サブメッシュを選択する。ここで、未処理サブメッシュは、細分割処理を行っていないメッシュである。
【0076】
ステップS203A-6において、基本メッシュ細分割部203Aは、変数jに対して、j=0としてステップS203A-7に進む。
【0077】
ステップS203A-7において、基本メッシュ細分割部203Aは、変数j及び細分割回数sdu_subdivision_iteration_countに対して、j<sdu_subdivision_iteration_countを満たすかどうかを判定する。Yesのとき、本処理は、ステップS203A-2に進み、NoのときステップS203A-8に進む。
【0078】
ステップS203A-8において、基本メッシュ細分割部203Aは、変数jに対して1を加算し、ステップS203A-9に進む。
【0079】
ステップS203A-9において、基本メッシュ細分割部203Aは、サブメッシュ内の全ての面に対して面の細分割が完了したかを判定する。Yesのとき、本処理は、ステップS203A-7に進み、Noのとき、本処理は、ステップS203A-10に進む。
【0080】
ステップS203A-10において、基本メッシュ細分割部203Aは、未細分割面を選択し、面を細分割する。その後、本処理は、ステップS203A-9に進む。
【0081】
このとき、基本メッシュ細分割部203Aは、Mid-edge分割法を用いて細分割してもよいし、その他の既知の細分割方法を用いて面を細分割してもよい。
【0082】
ここで、基本メッシュ細分割部203Aは、sdu_subdivision_methodの値に基づき、サブメッシュに対する細分割方法を決定してもよい。
【0083】
図5Bは、Mid-edge分割法による細分割の一例である。Mid-edge分割法では、メッシュ構成する辺の中点を分割することで、細分割メッシュを生成する。
【0084】
(細分割頂点法線部計算部203B)
細分割頂点法線計算部203Bは、入力された細分割メッシュを構成する細分割頂点に対して、細分割頂点ごとに定義される法線(細分割頂点法線)を出力するように構成されている。
【0085】
入力される細分割メッシュは、複数でもよく、かかる場合、細分割頂点法線計算部203Bは、複数の細分割メッシュに対して独立にそれぞれの細分割頂点法線を計算して、出力するように構成されていてもよい。
【0086】
サブメッシュごとに、細分割を行うかどうかを表す制御信号であるsdu_subdivision_enable_flagの値が「0」のとき、細分割頂点法線計算部203Bは、該当のサブメッシュに対して、細分割頂点法線を計算しないように構成されていてもよい。
【0087】
(変位量復号部205)
図8に示すように、変位量復号部205は、算術復号部205Aと、逆量子化部205Bと、逆係数変換部205Cとを備えている。
【0088】
ここで、変位量は、サブメッシュごとに独立に計算するように定義されていてもよい。
【0089】
(算術復号部205A)
算術復号部205Aは、入力された変位量ビットストリームを既存の算術符号化技術を用いて復号して、量子化変位量係数を出力するように構成されている。
【0090】
サブメッシュが、複数存在するとき、算術復号部205Aは、変位量をサブメッシュごとに独立に変位量を復号するように構成されていてもよい。
【0091】
また、変位量ビットストリームは、既存のビデオコーデックを用いて復号されるように構成されていてもよい。
【0092】
(逆量子化部205B)
逆量子化部205Bは、入力された量子化変位量係数を復号して、変位量係数を出力するように構成されている。
【0093】
変位量符号化手法が、一次元変位量符号化であるとき、逆量子化部205Bは、法線方向に直交する二つの変位量成分に対して逆量子化処理をスキップし、変位量法線方向成分のみに対して逆量子化処理を行ってもよい。
【0094】
サブメッシュに対してLoDごとに変位量の量子化値が設定されるとき、逆量子化部205Bは、サブメッシュごとに定義されている変位量量子化値であるvdmc_transform_lod_quantizationに設定されている各LoDの変位量の量子化値に基づき、変位量を逆量子化してもよい。
【0095】
また、逆量子化部205Bは、vdmc_transform_lifting_quantization_parametersに設定されている量子化値に基づき、LoD0の変位量を逆量子化してもよい。
【0096】
また、逆量子化部205Bは、LoDiのサブメッシュごとに定義されている変位量をvdmc_transform_log2_lifting_lod_inverse_scale及びvdmc_transform_lifting_quantization_parametersの乗算によって量子化値を算出して、算出した量子化値によって、LoDiの変位量を逆量子化してもよい。
【0097】
パッチに対してLoDごとに変位量の量子化値を設定するとき、パッチごとに定義されているvdmc_transform_lod_quantizationに設定されている各LoDの変位量の量子化値に基づき、各LoDの変位量を逆量子化してもよい。
【0098】
また、逆量子化部205Bは、vdmc_transform_lifting_quantization_parametersに設定されている量子化値に基づき、LoD0の変位量を逆量子化してもよい。
【0099】
また、パッチごとに定義されているvdmc_transform_log2_lifting_lod_inverse_scale及びvdmc_transform_lifting_quantization_parametersの乗算によって量子化値を算出して、算出した量子化値によって、LoDiの変位量を逆量子化してもよい。
【0100】
このとき、逆量子化部205Bは、参考文献(Jinhua Yu, “Advantages of uniform scalar dead-zone quantization in image coding system,” in 2004 International Conference on Communications, Circuits and Systems (IEEE Cat. No. 04EX914). IEEE, 2004, vol. 2, pp. 805-808.)の均一量子化を用いて逆量子化を行ってもよいし、その他の既存の逆量子化手法を用いて逆量子化を行ってもよい。
【0101】
(逆係数変換部205C)
逆係数変換部205Cは、逆量子化部205Bで出力された変位量係数に対して逆係数変換を行い、復号変位量を出力するように構成されている。
【0102】
このとき、係数変換方法は、サブメッシュごとに変位量の符号化手法を表す制御信号であるsdu_transform_methodに基づき決定されてもよい。
【0103】
逆係数変換部205Cは、逆係数変換を行うとき、法線方向に直交する2つの変位量成分に対して逆係数変換処理をスキップし、変位量法線方向成分のみに対して逆係数変換を行ってもよい。
【0104】
(メッシュ復号部204)
メッシュ復号部204は、入力された制御情報、細分割メッシュ及び変位量に基づき、復号メッシュを出力するように構成されている。
【0105】
メッシュ復号部204は、入力された細分割メッシュの頂点に対して変位量を加算して、復号メッシュを復号する。
【0106】
このとき、メッシュ復号部204は、サブメッシュに対応する変位量と細分割メッシュとに基づき、サブメッシュごとに複数の復号メッシュを出力してもよい。
【0107】
また、メッシュ復号部204は、サブメッシュごとに定義されている変位量の座標系を表す制御信号に基づき、変位量の座標系を設定して、設定した座標系上で変位量を細分割頂点に加算することで、復号メッシュを計算して出力するように構成されていてもよい。
【0108】
(テクスチャ復号部206)
テクスチャ復号部206は、入力されたテクスチャビットストリームを復号して復号テクスチャを出力するように構成されている。
【0109】
テクスチャ復号部206は、サブメッシュに対応するテクスチャビットストリームに対して既知の映像コーデックを用いて独立に復号して複数の復号テクスチャを生成するように構成されていてもよい。
【0110】
テクスチャ復号部206は、入力された制御情報に基づいて、復号テクスチャの一部を独立に復号できるように構成されていてもよい。
【0111】
本実施形態によれば、サブメッシュごとにパラメータ制御を行うことで、効率の良い圧縮を行うことができる。
【0112】
また、本実施形態によれば、サブメッシュ又はパッチ単位でLoDごとの量子化を行うことで、効率よく変位量を圧縮できる。
【0113】
上述のメッシュ符号化装置100及びメッシュ復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
【産業上の利用可能性】
【0114】
なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【符号の説明】
【0115】
1…メッシュ処理システム
100…メッシュ符号化装置
200…メッシュ復号装置
201…多重分離部
202…基本メッシュ復号部
203…細分割部
203A…基本メッシュ細分割部
203B…細分割頂点法線計算部
204…メッシュ復号部
205…変位量復号部
205A…算術復号部
205B…逆量子化部
205C…逆係数変換部
206…映像復号部
207…アトラスデータ復号部