(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025009038
(43)【公開日】2025-01-20
(54)【発明の名称】メッシュ復号装置、メッシュ復号方法及びプログラム
(51)【国際特許分類】
H04N 19/52 20140101AFI20250109BHJP
【FI】
H04N19/52
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023111754
(22)【出願日】2023-07-06
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和5年度、総務省、「3次元空間データの無線伝送に向けた高能率圧縮技術の研究開発」、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110001564
【氏名又は名称】フェリシテ弁理士法人
(72)【発明者】
【氏名】徐 建鋒
(72)【発明者】
【氏名】河村 圭
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA23
5C159MC11
5C159ME11
5C159PP04
5C159TA62
5C159TB10
5C159TC12
5C159TC42
5C159UA02
5C159UA05
(57)【要約】
【課題】メッシュの符号化効率を向上させること。
【解決手段】本発明に係るメッシュ復号装置200において、モード1では、動きベクトル算出部202E4は、動きベクトル残差と動きベクトル予測値とを加算して復号対象の頂点の動きベクトルを出力し、モード0では、動きベクトル算出部202E4は、動きベクトル残差を復号対象の頂点の動きベクトルとして出力する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
メッシュ復号装置であって、
参照フレームの頂点の座標とPフレームのビットストリームから復号した動きベクトルとを加算することによって、前記Pフレームの頂点の座標を復号するインター復号部を備え、
前記インター復号部は、
インターフレームのビットストリームから動きベクトル残差を生成する動きベクトル残差復号部と、
復号対象の頂点及び前記復号対象の頂点と接続している周囲の頂点から復号済みの動きベクトルを予測し、最大の利用数を超えないように前記復号対象の頂点の周りにある頂点の前記復号済みの動きベクトルの全部又は一部を利用して動きベクトル予測値を算出し、最大隣接頂点数を算出できる制御信号をビットストリームから復号する動きベクトル予測部と、
前記復号対象の頂点の動きベクトルを出力する動きベクトル算出部と、を備え、
モード1では、前記動きベクトル算出部は、前記動きベクトル残差と前記動きベクトル予測値とを加算して前記復号対象の頂点の動きベクトルを出力し、
モード0では、前記動きベクトル算出部は、前記動きベクトル残差を前記復号対象の頂点の動きベクトルとして出力することを特徴とするメッシュ復号装置。
【請求項2】
前記動きベクトル予測部は、前記最大隣接頂点数の値を予め定めた最大値以下となるように復号することを特徴とする請求項1に記載のメッシュ復号装置。
【請求項3】
前記最大値は、統計的な隣接頂点数の平均の一定比率或いはNビットまでカバーできるような自然数より大きくない値とすることを特徴とする請求項2に記載のメッシュ復号装置。
【請求項4】
前記最大値は、8又は3ビットであることを特徴とする請求項2に記載のメッシュ復号装置。
【請求項5】
前記最大隣接頂点数として設定可能な範囲は、明確な値である、或いは、他の制御信号又はデータから算出されることを特徴とする請求項1に記載のメッシュ復号装置。
【請求項6】
メッシュ復号方法であって、
参照フレームの頂点の座標とPフレームのビットストリームから復号した動きベクトルとを加算することによって、前記Pフレームの頂点の座標を復号する工程を有し、
前記工程は、
インターフレームのビットストリームから動きベクトル残差を生成する工程Aと、
復号対象の頂点及び前記復号対象の頂点と接続している周囲の頂点から復号済みの動きベクトルを予測し、最大の利用数を超えないように前記復号対象の頂点の周りにある頂点の前記復号済みの動きベクトルの全部又は一部を利用して動きベクトル予測値を算出し、最大隣接頂点数を算出できる制御信号をビットストリームから復号する工程Bと、
前記復号対象の頂点の動きベクトルを出力する工程Cと、を有し、
前記工程Cにおいて、
モード1では、前記動きベクトル残差と前記動きベクトル予測値とを加算して前記復号対象の頂点の動きベクトルを出力し、
モード0では、前記動きベクトル残差を前記復号対象の頂点の動きベクトルとして出力することを特徴とするメッシュ復号方法。
【請求項7】
コンピュータを、メッシュ復号装置として機能させるプログラムであって、
前記メッシュ復号装置は、参照フレームの頂点の座標とPフレームのビットストリームから復号した動きベクトルとを加算することによって、前記Pフレームの頂点の座標を復号するインター復号部を備え、
前記インター復号部は、
インターフレームのビットストリームから動きベクトル残差を生成する動きベクトル残差復号部と、
復号対象の頂点及び前記復号対象の頂点と接続している周囲の頂点から復号済みの動きベクトルを予測し、最大の利用数を超えないように前記復号対象の頂点の周りにある頂点の前記復号済みの動きベクトルの全部又は一部を利用して動きベクトル予測値を算出し、最大隣接頂点数を算出できる制御信号をビットストリームから復号する動きベクトル予測部と、
前記復号対象の頂点の動きベクトルを出力する動きベクトル算出部と、を備え、
モード1では、前記動きベクトル算出部は、前記動きベクトル残差と前記動きベクトル予測値とを加算して前記復号対象の頂点の動きベクトルを出力し、
モード0では、前記動きベクトル算出部は、前記動きベクトル残差を前記復号対象の頂点の動きベクトルとして出力することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メッシュ復号装置、メッシュ復号方法及びプログラムに関する。
【背景技術】
【0002】
非特許文献1には、非特許文献2又は3を用いてメッシュを符号化する技術が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Khaled Mammou, Jungsun Kim, Alexis M Tourapis, Dimitri Podborski, and Krasimir Kolarov, “[V-CG] Apple’s Dynamic Mesh Coding CfP Response,” April 2022, ISO/IEC JTC 1/SC 29/WG 7.
【非特許文献2】Google Draco、2022年5月26日アクセス[Online]、https://google.github.io/draco
【非特許文献3】Jean-Eudes Marvie, Olivier Mocquard, “[V-DMC][EE4.4-related] An efficient EdgeBreaker implementation,” April 2023, ISO/IEC JTC 1/SC 29/WG 7 m63344.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、動きベクトルの符号化効率が低いという問題点があった。 そこで、本発明は、上述の課題に鑑みてなされたものであり、メッシュの符号化効率を向上させることができるメッシュ復号装置、メッシュ復号方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の第1の特徴は、メッシュ復号装置であって、参照フレームの頂点の座標とPフレームのビットストリームから復号した動きベクトルとを加算することによって、前記Pフレームの頂点の座標を復号するインター復号部を備え、前記インター復号部は、インターフレームのビットストリームから動きベクトル残差を生成する動きベクトル残差復号部と、復号対象の頂点及び前記復号対象の頂点と接続している周囲の頂点から復号済みの動きベクトルを予測し、最大の利用数を超えないように前記復号対象の頂点の周りにある頂点の前記復号済みの動きベクトルの全部又は一部を利用して動きベクトル予測値を算出し、最大隣接頂点数を算出できる制御信号をビットストリームから復号する動きベクトル予測部と、前記復号対象の頂点の動きベクトルを出力する動きベクトル算出部と、を備え、モード1では、前記動きベクトル算出部は、前記動きベクトル残差と前記動きベクトル予測値とを加算して前記復号対象の頂点の動きベクトルを出力し、モード0では、前記動きベクトル算出部は、前記動きベクトル残差を前記復号対象の頂点の動きベクトルとして出力することを要旨とする。
【0006】
本発明の第2の特徴は、メッシュ復号方法であって、参照フレームの頂点の座標とPフレームのビットストリームから復号した動きベクトルとを加算することによって、前記Pフレームの頂点の座標を復号する工程を有し、前記工程は、インターフレームのビットストリームから動きベクトル残差を生成する工程Aと、復号対象の頂点及び前記復号対象の頂点と接続している周囲の頂点から復号済みの動きベクトルを予測し、最大の利用数を超えないように前記復号対象の頂点の周りにある頂点の前記復号済みの動きベクトルの全部又は一部を利用して動きベクトル予測値を算出し、最大隣接頂点数を算出できる制御信号をビットストリームから復号する工程Bと、前記復号対象の頂点の動きベクトルを出力する工程Cと、を有し、前記工程Cにおいて、モード1では、前記動きベクトル残差と前記動きベクトル予測値とを加算して前記復号対象の頂点の動きベクトルを出力し、モード0では、前記動きベクトル残差を前記復号対象の頂点の動きベクトルとして出力することを要旨とする。
【0007】
本発明の第3の特徴は、コンピュータを、メッシュ復号装置として機能させるプログラムであって、前記メッシュ復号装置は、参照フレームの頂点の座標とPフレームのビットストリームから復号した動きベクトルとを加算することによって、前記Pフレームの頂点の座標を復号するインター復号部を備え、前記インター復号部は、インターフレームのビットストリームから動きベクトル残差を生成する動きベクトル残差復号部と、復号対象の頂点及び前記復号対象の頂点と接続している周囲の頂点から復号済みの動きベクトルを予測し、最大の利用数を超えないように前記復号対象の頂点の周りにある頂点の前記復号済みの動きベクトルの全部又は一部を利用して動きベクトル予測値を算出し、最大隣接頂点数を算出できる制御信号をビットストリームから復号する動きベクトル予測部と、前記復号対象の頂点の動きベクトルを出力する動きベクトル算出部と、を備え、モード1では、前記動きベクトル算出部は、前記動きベクトル残差と前記動きベクトル予測値とを加算して前記復号対象の頂点の動きベクトルを出力し、モード0では、前記動きベクトル算出部は、前記動きベクトル残差を前記復号対象の頂点の動きベクトルとして出力することを要旨とする。
【発明の効果】
【0008】
本発明によれば、メッシュの符号化効率を向上させることができるメッシュ復号装置、メッシュ復号方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、一実施形態に係るメッシュ処理システム1の構成の一例を示す図である。
【
図2】
図2は、一実施形態に係るメッシュ復号装置200の機能ブロックの一例を示す図である。
【
図3A】
図3Aは、基本メッシュ及び細分割メッシュの一例を示す図である。
【
図3B】
図3Bは、基本メッシュ及び細分割メッシュの一例を示す図である。
【
図4】
図4は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202の機能ブロックの一例を示す図である。
【
図5】
図5は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のイントラ復号部202Bの機能ブロックの一例を示す図である。
【
図6】
図6は、Pフレームの基本メッシュの頂点とIフレームの基本メッシュの頂点との間の対応関係の一例を示す図である。
【
図7】
図7は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のインター復号部202Eの機能ブロックの一例を示す図である。
【
図8】
図8は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のインター復号部202Eの動きベクトル予測部202E3による復号対象の頂点のMVPの算出方法の一例を説明するための図である。
【
図9】
図9は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のインター復号部202Eの動きベクトル予測部202E3の動作の一例を示すフローチャートを示す。
【
図11】
図11は、復号済みの動きベクトル数と復号対象の頂点の周りにある頂点の数との関係を示す統計データの一例を示す図である。
【
図12】
図12は、Worst caseの一例を説明するための図である。
【
図13】
図13は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のインター復号部202Eの変更例2について説明するための図である。
【
図14】
図14は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のインター復号部202Eの変更例2について説明するための図である。
【
図15】
図15は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202の変更例1の機能ブロックの変更例を示す図である。
【
図16】
図16は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202の変更例1について説明するための図である。
【
図17】
図17は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のメッシュバッファ部202Cについて説明するための図である。
【
図18】
図18は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のメッシュバッファ部202Cについて説明するための図である。
【
図19】
図19は、変更例2に係るメッシュ復号装置200の基本メッシュ復号部202の変更例について説明するための図である。
【
図20】
図20は、変更例2に係るメッシュ復号装置200の基本メッシュ復号部202の変更例について説明するための図である。
【
図21】
図21は、一実施形態に係るメッシュ復号装置200の細分割部203の機能ブロックの一例について示す図である。
【
図22】
図22は、一実施形態に係るメッシュ復号装置200の細分割部203の基本メッシュ細分割部203Aの機能ブロックの一例を示す図である。
【
図23】
図23は、一実施形態に係るメッシュ復号装置200の細分割部203の基本メッシュ細分割部203Aの基本面分割部203A5による基本面の分割方法の一例について説明するための図である。
【
図24】
図24は、一実施形態に係るメッシュ復号装置200の細分割部203の基本メッシュ細分割部203Aの動作の一例を示すフローチャートである。
【
図25】
図25は、一実施形態に係るメッシュ復号装置200の細分割部203の細分割メッシュ調整部203Bの機能ブロックの一例を示す図である。
【
図26】
図26は、一実施形態に係るメッシュ復号装置200の細分割部203の細分割メッシュ調整部203Bの辺分割点移動部701によって基本面ABC上の辺分割点が移動されたケースの一例を示す図である。
【
図27】
図27は、一実施形態に係るメッシュ復号装置200の細分割部203の細分割メッシュ調整部203Bの細分割面分割部702によって基本面内の細分割面Xに対して再度細分割が行われたケースの一例を示す図である。
【
図28】
図28は、一実施形態に係るメッシュ復号装置200の細分割部203の細分割メッシュ調整部203Bの細分割面分割部702によって全ての細分割面に対して再度細分割が行われたケースの一例を示す図である。
【
図29】
図29は、一実施形態に係るメッシュ復号装置200の変位量復号部206の機能ブロックの一例について示す図である(空間領域でインター予測が行われる場合)。
【
図30】
図30は、変位量ビットストリームの構成の一例について示す図である。
【
図31】
図31は、DPSのシンタックス構成の一例について示す図である。
【
図32】
図32は、DPHのシンタックス構成の一例について示す図である。
【
図33】
図33は、空間領域でインター予測が行われる場合の参照フレームと復号対象フレームとの間の周波数の対応関係の一例について説明するための図である。
【
図34】
図34は、一実施形態に係るメッシュ復号装置200の変位量復号部206の機能ブロックの一例について示す図である(周波数領域でインター予測が行われる場合)。
【
図35】
図35は、周波数領域でインター予測が行われる場合の参照フレームと復号対象フレームとの間の周波数の対応関係の一例について説明するための図である。
【
図36】
図36は、一実施形態に係るメッシュ復号装置200の変位量復号部206の動作の一例を示すフローチャートである。
【
図37】
図37は、変形例1に係る変位量復号部206の機能ブロックの一例を示す図である。
【
図38】
図38は、変形例2に係る変位量復号部206の機能ブロックの一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0011】
<第1実施形態>
以下、
図1~
図38を参照して、本実施形態に係るメッシュ処理システムについて説明する。
【0012】
図1は、本実施形態に係るメッシュ処理システム1の構成の一例を示す図である。
図1に示すように、メッシュ処理システム1は、メッシュ符号化装置100及びメッシュ復号装置200を備えている。
【0013】
図2は、本実施形態に係るメッシュ復号装置200の機能ブロックの一例を示す図である。
【0014】
図2に示すように、メッシュ復号装置200は、多重分離部201と、基本メッシュ復号部202と、細分割部203と、メッシュ復号部204と、パッチ統合部205と、変位量復号部206と、映像復号部207とを有する。
【0015】
ここで、基本メッシュ復号部202、細分割部203、メッシュ復号部204及び変位量復号部206は、メッシュを分割したパッチ単位で処理を行うように構成されており、その後、これらの処理結果についてパッチ統合部205で統合されるように構成されていてもよい。
【0016】
図3Aの例では、メッシュが、基本面1及び2で構成されるパッチ1と、基本面3及び4で構成されるパッチ2とに分割されている。
【0017】
多重分離部201は、多重化されたビットストリームを、基本メッシュビットストリームと変位量ビットストリームとテクスチャビットストリームとに分離するように構成されている。
【0018】
<基本メッシュ復号部202>
基本メッシュ復号部202は、基本メッシュビットストリームを復号し、基本メッシュを生成して出力するように構成されている。
【0019】
ここで、基本メッシュは、3次元空間における複数の頂点と、かかる複数の頂点を接続する辺とで構成される。
【0020】
なお、
図3Aに示すように、基本メッシュは、3つの頂点で表現される基本面を組み合わせて構成される。
【0021】
基本メッシュ復号部202は、例えば、非特許文献2に示すDraco又は非特許文献3に記載されている技術を用いて、基本メッシュビットストリームを復号するように構成されていてもよい。
【0022】
また、基本メッシュ復号部202は、細分割手法の種別を制御する制御情報として、後述の「subdivision_method_id」を生成するように構成されていてもよい。
【0023】
図4に示すように、基本メッシュ復号部202は、分離部202Aと、イントラ復号部202Bと、メッシュバッファ部202Cと、接続情報復号部202Dと、インター復号部202Eとを備える。
【0024】
分離部202Aは、基本メッシュビットストリームを、IフレームのビットストリームとPフレームのビットストリームとに分類するように構成されている。
【0025】
(イントラ復号部202B)
イントラ復号部202Bは、例えば、非特許文献2に示すDraco又は非特許文献3に記載されている技術を用いて、Iフレームのビットストリームから、Iフレームの頂点の座標及び接続情報を復号するように構成されている。
【0026】
図5は、イントラ復号部202Bの機能ブロックの一例を示す図である。
【0027】
図5に示すように、イントラ復号部202Bは、任意イントラ復号部202B1と、整列部202B2とを有する。
【0028】
任意イントラ復号部202B1は、非特許文献2に示すDraco又は非特許文献3に記載されている技術を含む任意の方式を用いて、Iフレームのビットストリームから、Iフレームの順序無し頂点の座標及び接続情報を復号するように構成されている。
【0029】
整列部202B2は、順序無し頂点を所定の順序に並び替えることによって頂点を出力するように構成されている。
【0030】
所定の順序として、例えば、モートンコード順を用いてもよく、ラスタスキャン順を用いてもよい。
【0031】
また、整列部202B2は、復号された基本メッシュにおいて座標が一致する複数の頂点である重複頂点をまとめて、単一頂点としてから、所定の順序に並び替えてもよい。
【0032】
メッシュバッファ部202Cは、イントラ復号部202Bによって復号されたIフレームの頂点の座標及び接続情報を蓄積するように構成されている。ここで、重複頂点として存在する頂点のインデックスA(k)及びB(k)のペアを所定順で保存する特定バッファが設けられていてもよい。
【0033】
接続情報復号部202Dは、メッシュバッファ部202Cから取り出したIフレーム又は参照フレームの接続情報をPフレームの接続情報にするように構成されている。
【0034】
インター復号部202Eは、メッシュバッファ部202Cから取り出した参照フレームの頂点の座標とPフレームのビットストリームから復号した動きベクトルとを加算することによって、Pフレームの頂点の座標を復号するように構成されている。
【0035】
更に、インター復号部202Eは、かかる特定バッファに保存されている重複頂点として存在する頂点のインデックスA(k)及びB(k)のペアにより、Pフレームの頂点のインデックスを調整することが可能である。
【0036】
ここで、上述のインデックスの全部又は一部は、ビットストリームから復号される。かかる復号方法は、算術符号化でもよい。この結果、算術符号化を用いて復号対象のインデックスの最大値に制限が無くなるという効果が期待できる。
【0037】
例えば、ue(v)という算術符号化を使ってもよい。ue(v)は、左端ビットファーストで符号なし整数0次の指数ゴロム符号化(Exp-Golomb)を示す。
【0038】
具体的には、ue(v)の構文要素の解析プロセスは、ビットストリーム内の現在の位置から始まり、最初の非ゼロビットを含むビットを読み取って、0に等しい先行ビット数を数えることから始まる。このプロセスは、次のように指定される。
leadingZeroBits=-1
for(b=0;!b;leadingZeroBits++
b=read_bits(l)
次に、変数codeNumが、次のように割り当てられる。
【0039】
codeNum=2leadingZeroBits-1+read_bits(leadingZeroBits)
ただし、read_bits(leadingZeroBits)の返す値は、最上位ビットが先に書かれた符号なし整数の2進表現として解釈される。また、ue(v)の値は、codeNumの値に等しい。
【0040】
表1は、ビット列を「接頭辞」ビットと「接尾辞」ビットとに分離して、Exp-Golombコードの構造を示している。
【0041】
【表1】
ここで、「接頭辞」ビットは、leadingZeroBitsの計算で指定されたように解析されるビットであり、表1のビット列の列に0又は1として表示される。
【0042】
「接尾辞」ビットは、codeNumの計算で解析されるビットであり、表1においてxiとして表示される。iは、0からleadingZeroBits-1までの範囲にある。各xiは、0又は1のいずれかに等しい。
【0043】
表2は、ビット列をcodeNumの値に明示的に割り当てる方法を示す。ここで、ue(v)の値は、codeNumの値に等しい。
【0044】
【表2】
本実施形態では、
図6に示すように、Pフレームの基本メッシュの頂点と参照フレーム(Iフレーム又はPフレーム)の基本メッシュの頂点との間で対応関係が存在する。ここで、インター復号部202Eによって復号される動きベクトルは、Pフレームの基本メッシュの頂点の座標とIフレームの基本メッシュの頂点の座標との差分ベクトルである。
【0045】
(インター復号部202E)
図7は、インター復号部202Eの機能ブロックの一例を示す図である。
【0046】
図7に示すように、インター復号部202Eは、動きベクトル残差復号部202E1と、動きベクトルバッファ部202E2と、動きベクトル予測部202E3と、動きベクトル算出部202E4と、加算器202E5とを有する。
【0047】
動きベクトル残差復号部202E1は、PフレームのビットストリームからMVR(Motion Vector Residual)を生成するように構成されている。
【0048】
ここで、MVRは、MV(Motion Vector)とMVP(Motion Vector Prediction)との差分を示す動きベクトル残差である。MVは、対応するIフレームの頂点の座標とPフレームの頂点の座標との間の差分ベクトル(動きベクトル)である。MVPは、MVを用いて対象の頂点のMVの予測した値(動きベクトルの予測値)である。
【0049】
動きベクトルバッファ部202E2は、動きベクトル算出部202E4によって出力されたMVを順次に保存するように構成されている。
【0050】
動きベクトル予測部202E3は、復号対象の頂点と接続している頂点について、動きベクトルバッファ部202E2から復号済みのMVを取得し、
図8に示すように、取得された復号済みのMVの全部又は一部を用いて、復号対象の頂点のMVPを出力するように構成されている。
【0051】
動きベクトル算出部202E4は、動きベクトル残差復号部202E1で生成されたMVRと動きベクトル予測部202E3から出力されたMVPとを加算し、復号対象の頂点のMVを出力するように構成されている。
【0052】
加算器202E5は、対応関係を持つ参照フレーム(Iフレーム又はPフレーム)の復号済みの基本メッシュから得られた復号対象の頂点に対応する頂点の座標と、動きベクトル算出部202E3から出力された動きベクトルMVとを加算し、復号対象の頂点の座標を出力するように構成されている。
【0053】
以下、インター復号部202Eの各部の詳細について説明する。
【0054】
図9に、動きベクトル予測部202E3の動作の一例を示すフローチャートを示す。以下、動きベクトル予測部202E3の動作を「平均予測法」と呼ぶ。
【0055】
図9に示すように、ステップS1001において、動きベクトル予測部202E3は、MVP及びNに0を設定する。
【0056】
ステップS1002において、動きベクトル予測部202E3は、動きベクトルバッファ部202E2から、復号対象の頂点の周りの頂点のMVの集合を取得し、後続の処理が終わっていない頂点を特定し、Noに遷移し、全ての頂点について後続の処理が終わっている場合は、Yesに遷移する。
【0057】
ステップS1003において、動きベクトル予測部202E3は、処理対象の頂点のMVが、復号済みでなければ、Noに遷移し、処理対象の頂点のMVが、復号済みであれば、Yesに遷移する。
【0058】
ステップS1004において、動きベクトル予測部202E3は、MVPにMVを加算し、Nに1を加算する。
【0059】
ステップS1005において、動きベクトル予測部202E3は、Nが0より大きければ、MVPをNで除した結果を出力し、Nが0であれば、0を出力し、処理を終了する。
【0060】
すなわち、動きベクトル予測部202E3は、復号対象の頂点の周りにある頂点の復号済みの動きベクトルを平均することによって、復号対象のMVPを出力するように構成されている。
【0061】
なお、動きベクトル予測部202E3は、かかる復号済みの動きベクトルの集合が空集合の場合、MVPを0とするように構成されていてもよい。
【0062】
動きベクトル算出部202E4は、式(1)によって、動きベクトル予測部202E3によって出力されたMVP及び動きベクトル残差復号部202E1によって生成されたMVRから、復号対象の頂点のMVを算出するように構成されていてもよい。
【0063】
MV(k)=MVP(k)+MVR(k) … (1)
ここで、kは、頂点のインデックスである。MV、MVR及びMVPは、x成分、y成分及びz成分を有するベクターである。
【0064】
かかる構成によれば、MVPを用いて、MVの代わりにMVRのみを符号化するため、符号化効率を高める効果が期待できる。
【0065】
加算器202E5は、動きベクトル算出部202E4によって算出された頂点のMVと、かかる頂点に対応する参照フレームの頂点の座標とを加算することによって、かかる頂点の座標を算出し、接続情報(Connectivity)を参照フレームのままにするように構成されている。
【0066】
具体的には、加算器202E5は、式(2)を用いて、k番目の頂点の座標v’i(k)を算出するように構成されていてもよい。
【0067】
v’i(k)=v’j(k)+MV(k) … (2)
ここで、v’i(k)は、復号対象のフレームで復号するk番目の頂点の座標であり、v’j(k)は、参照フレームの復号したk番目の頂点の座標であり、MV(k)は、復号対象のフレームのk番目のMVであり、k=1,2…,Kである。
【0068】
また、復号対象のフレームの接続情報は、参照フレームの接続情報と同一にされる。
【0069】
なお、動きベクトル予測部202E3は、復号済みのMVを用いてMVPを算出するため、復号の順番がMVPに影響を及ぼす。
【0070】
かかる復号の順番は、参照フレームの基本メッシュの頂点の復号の順番にする。一般的に、一定の繰り返しパターンを用いて、起点となるエッジから基本面を1つずつ増やす復号手法であれば、復号した基本メッシュの頂点の順番が復号の過程で決められる。
【0071】
例えば、動きベクトル予測部202E3は、参照フレームの基本メッシュにおいて、Edgebreakerを用いて、頂点の復号の順番を決めてもよい。
【0072】
かかる構成によれば、頂点の座標の代わりに参照フレームからのMVを符号化するため、符号化効率を高める効果が期待できる。
【0073】
(インター復号部202Eの変更例1)
以下、インター復号部202Eの変更例1について説明する。
【0074】
インター復号部202Eの動きベクトル予測部202E3は、復号対象の頂点の周りにある頂点の復号済みの動きベクトルを平均するという「平均予測法」において、事前に決めた最大の利用数を超えないように、復号対象の頂点の周りにある頂点の復号済みの動きベクトルを全部又は一部のみ利用してMVPを算出する。
【0075】
なお、事前に決めた最大の利用数は、制御信号としてビットストリームから復号される。
【0076】
また、動きベクトル予測部202E3は、復号対象の頂点の周りにある頂点の復号済みの動きベクトル数が最大の利用数を超える場合、一定のルールで最大の利用数までピックアップする。
【0077】
例えば、動きベクトル予測部202E3は、かかるルールとして、復号順で最初又は最後の頂点を選ぶことにする。
【0078】
図10Aに示すようなメッシュに対する復号順は、矢印によって示されるように、頂点v
D→v
C→v
A→v
Bである。
【0079】
図10Bは、復号済みの隣接頂点数の最大値を3にする時に、各頂点v
A~v
DのMVPを算出する際に利用する復号対象の頂点の周りにある頂点のリストである。
【0080】
かかる構成によれば、最大隣接頂点数を決めることによって、符号化効率を維持又は微減しながら計算量及びメモリー量を削減する効果が期待できる。
【0081】
ただし、上述の効果を発揮するため、メッシュ符号化装置100で適切な最大隣接頂点数を設定し、関連の制御信号としてビットストリームに書き込む必要がある。
【0082】
よって、上述の最大隣接頂点数として設定可能な範囲は、メッシュ復号装置200で用意するメモリー量を決めるため、最大隣接頂点数に関して合理的な制約として最大隣接頂点数は、予め定めた最大値以下となるように符号化/復号される。
【0083】
このように、最大隣接頂点数に関して合理的な制約を規定することでメッシュ復号装置200の設計を容易にする効果が期待できる。
【0084】
一般的に、Closed 2-manifold triangle meshにおける隣接頂点数の平均は、約6であるが、統計的には、最大隣接頂点数は、7~8である場合が多い。なお、
図11に示すように、復号対象の頂点の周りにある頂点の数(横軸)に応じて、復号済みの動きベクトル数(縦軸)が動的に変化する。
【0085】
よって、上述の最大隣接頂点数として設定可能な範囲を絞ることが望ましい。
【0086】
例えば、
図11に示すように、統計上、復号済みの動きベクトル数が最も多い復号対象の頂点の周りにある頂点の数である「3」を、上述の制御信号において最大隣接頂点数として設定可能な範囲内に含めるようにしたり、統計的な隣接頂点数の平均の一定比率(例えば、50%や120%)或いはNビット(例えば、3ビット)までカバーできる自然数より大きくない値を、上述の制御信号において最大隣接頂点数として設定可能な範囲の上限(最大値)にしたりすることで、計算量及びメモリー量を削減する効果が発揮できる。
【0087】
一方、最大隣接頂点数として設定可能な範囲を、大きい値、例えば、Worst caseの256或いは8ビットにすると、メモリー量だけではなく、計算量も削減する効果が発揮できない可能性がある。
【0088】
図12は、Worst caseの一例であり、n≧256のときに、復号済みの隣接頂点数が256を超える。
図12において、頂点n+1における復号済みの隣接頂点数はnである。
【0089】
仮に、最大隣接頂点数の上限を256に設定した場合、メッシュ復号装置200では、
図10Bに示すように、膨大なメモリーだけではなく、膨大な計算量が必要となる。よって、上述の最大隣接頂点数として設定可能な範囲の上限(最大値)は、8であることにしてもよい。
【0090】
さらに、上述の制御信号において最大隣接頂点数として設定可能な範囲は、明確な値にしてもよいし、他の制御信号やデータから算出されてもよい。
【0091】
例えば、Level1により、制御信号において最大隣接頂点数として設定可能な範囲が規定されてもよい。
【0092】
或いは、以下の式(3)で、基本メッシュの頂点数から、制御信号において最大隣接頂点数として設定可能な範囲の上限が算出されてもよい。
【0093】
制御信号において最大隣接頂点数として設定可能な範囲の上限=log2(基本メッシュの頂点数) … 式(3)
かかる構成によれば、適正に最大隣接頂点数の設定可能な範囲を決めることができ、Worst caseでも、確実に計算量及びメモリー量の両方を削減する効果が期待できる。
【0094】
(インター復号部202Eの変更例2)
以下、
図13を参照して、インター復号部202Eの変更例2について説明する。
【0095】
インター復号部202Eの動きベクトル算出部202E4は、モード1及びモード0を有する。
【0096】
モード1では、動きベクトル算出部202E4は、動きベクトル残差復号部202E1で生成されたMVRと動きベクトル予測部202E3から出力されたMVPとを加算し、復号対象の頂点のMVを出力する(
図13のA参照)。
【0097】
一方、モード0では、動きベクトル算出部202E4は、動きベクトル残差復号部202E1で生成されたMVRを復号対象の頂点のMVとして出力する(
図13のB参照)。
【0098】
なお、モード0における動きベクトル算出部202E4の動作は、動きベクトル予測部202E3から出力されたMVPをゼロにするという動作に相当する。
【0099】
さらに、動きベクトル算出部202E4は、復号順で連続のN(N≧1)個の頂点のMVのモードを同一にしてもよい。
【0100】
動きベクトル算出部202E4は、上述のN個の頂点を1つのグループにする。かかるグループのサイズ(グループサイズ)Nは、1以上である。動きベクトル算出部202E4は、ビットストリームから、かかるグループサイズを算出できる制御信号(
図13に示すgroup size)を復号する。
【0101】
ただし、最後のグループに残った頂点の数がグループサイズより小さい場合、動きベクトル算出部202E4は、残った頂点の全部をグループに入れることにする。
【0102】
このように、連続するN個の頂点を同じモードにすると、モードの符号量を削減できるため、符号化効率を向上させる効果が期待できる。
【0103】
ここで、同じモードを持つ連続する頂点の数が多いほど、モードの符号量の削減効果が大きい。したがって、メッシュ符号化装置100で適切なgroup sizeを設定し、メッシュ復号装置200で制御信号としてビットストリームから復号する必要がある。
【0104】
よって、かかる制御信号において設定可能な範囲は、実際に同じモードを持つ連続する頂点の数より小さくないことが望ましい。
【0105】
例えば、全頂点がほとんど同じモードを選択した場合は、group sizeを全頂点数にしてもよい。
【0106】
表1は、モード0を選択した頂点の数が8割以上である場合や、モード1を選択した頂点の数が9割以上である場合の例を示す。
【0107】
よって、上述の制御信号において設定可能な範囲が1から予め定めた最大値までカバーできるようにする。かかる最大値は、基本メッシュの全頂点数以上にする。
【0108】
【表3】
なお、上述の制御信号(group size)を自然数にすると、全頂点数以上に設定する場合、絶対値が大きいので、符号量が大きくなる。
【0109】
したがって、上述の制御信号を対数にすることも可能である。具体的に、制御信号をlog2_group_sizeとして、以下の式(4)で、グループサイズが算出されてもよい。
【0110】
group size=2log2_group_size … 式(4)
ここで、フレームの中にグループが1つのみであれば、そのグループを最後のグループにする。つまり、group sizeが頂点の数より大きいと、全頂点をグループに入れることにする。
【0111】
さらに、上述の制御信号において設定可能な範囲は、明確な値にしてもよいし、他の制御信号やデータから算出されてもよい。
【0112】
例えば、Level1により、かかる制御信号において設定可能な範囲は、規定されてもよい。
【0113】
或いは、かかる制御信号において設定可能な範囲は、基本メッシュの頂点数から算出されてもよい。
【0114】
例えば、かかる制御信号において設定可能な範囲について、基本メッシュの頂点数をカバーできる2の冪乗である最小の自然数にしてもよい。
【0115】
さらに、上述の制御信号において設定可能な範囲について、小さい範囲にした上で、
図14に示すように、別の制御信号の所定フラグ(Mode flag)を導入してもよい。かかる場合、
図14に示すように、動きベクトル算出部202E4は、かかる所定フラグがTRUE(Mode flag=1)であれば、全ての頂点を1つのグループにし(すなわち、全ての頂点の数をグループサイズとし)、FALSEであれば、上述の制御信号から算出したグループサイズのままにする。
【0116】
なお、上述の制御信号は、シーケンス毎で設定されてもよいし、フレーム毎で設定されてもよい。上述の制御信号が、シーケンス毎で設定されると、全フレームのグループサイズが同じである。
【0117】
かかる構成によれば、適正にグループサイズの設定可能な範囲を決めることで、あらゆる状況を対応でき、確実にモードの符号量を削減し、符号化効率を向上させる効果が期待できる。
【0118】
(基本メッシュ復号部202の変更例1)
以下、
図15及び
図16を参照して、基本メッシュ復号部202の変更例1について説明する 。
【0119】
図15に示すように、本変更例1に係る基本メッシュ復号部202は、分離部202Aと、イントラ復号部202Bと、メッシュバッファ部202Cと、インター復号部202Eと、スキップ復号部202Fとを備える。
【0120】
スキップ復号部202Fは、指定された参照フレームの復号基本メッシュをそのまま用いて、復号対象フレームの基本メッシュを復号するように構成されている。
【0121】
なお、本実施形態において、フレームは、メッシュ(Mesh)又はサブメッシュ(Submesh)のいずれであってもよい。
【0122】
例えば、
図16に示すように、smh_typeにおける「P_SUBMESH」は、Pフレームに対応し、smh_typeにおける「I_SUBMESH」は、Iフレームに対応し、smh_typeにおける「SKIP_SUBMESH」は、Sフレームに対応してもよい。
【0123】
(スキップ復号部202F)
スキップ復号部202Fは、メッシュバッファ部202Cから指定された参照フレームの復号基本メッシュ(参照用の復号基本メッシュ)を取り出し、取り出した参照用の復号基本メッシュの頂点の座標及び当該頂点のインデックスをそのまま用いて、復号対象フレームの基本メッシュの頂点の座標及び当該頂点のインデックスを復号するように構成されている。
【0124】
ここで、メッシュバッファ部202Cは、少なくとも1枚の参照フレームを持ち、参照フレーム毎で少なくとも1枚の復号された基本メッシュを保存するように構成されている。
【0125】
スキップ復号部202Fは、ビットストリームから復号した制御信号又は所定ルールを用いて、指定された参照用の復号基本メッシュについて特定してもよい。
【0126】
例えば、かかる所定ルールは、メッシュバッファ部202Cから参照フレームリストの1番目の参照フレームを取り出すこと、或いは、復号対象フレームにフレームインデックスが最も近い参照フレームを取り出すこと等であってもよい。
【0127】
本実施形態では、参照用の復号基本メッシュの頂点の座標及び当該頂点のインデックスをそのまま用いて基本メッシュの頂点の座標を復号するフレームを「Sフレーム」と呼ぶ。
【0128】
かかる構成によれば、スキップ復号部202Fにおいて動きベクトルを不要とすることができるため、符号量の大幅な削減効果及び計算量の大幅な削減効果が期待できる。
【0129】
(メッシュバッファ部202C)
メッシュバッファ部202Cは、1枚又は複数枚の参照用の復号基本メッシュを、所定順番で保存するように構成されている。
【0130】
なお、かかる基本メッシュは、フレーム番号やサブメッシュ番号等のメタデータや少なくとも各頂点の座標及び当該頂点のインデックスを有しており、参照フレームリストで決められた所定順番でメッシュバッファ部202Cに保存される。
【0131】
ここで、
図17に示すように、かかる参照フレームリスト(ref_list0)は、メッシュバッファ部202Cに保存されている全ての参照用の復号基本メッシュを特定する情報のリストである。
【0132】
参照フレームリストは、
図17に示すように、ビットストリームから復号された制御信号によって決められてもよいし、自然にフレームの復号順から算出されてもよい。
【0133】
なお、ビットストリームから復号された制御信号は、復号対象フレームとの相対的な距離で示されていてもいし、絶対値であるのフレームインデックスであってもよい。
【0134】
さらに、制御信号により、短期的な参照フレーム又は長期的な参照フレームが使われてもよい。
【0135】
例えば、短期的な参照フレームを使うと、当フレーム(cur)及び参照フレーム(ref)の表示順(Display Order)の差の絶対値(abs_delta_mfoc_st)及びその符号(sign_flag)をビットストリームから復号し、参照フレームの表示順(Display Order)を下式で指定してもよい。
If(sign_flag){
Display Order(ref)=Display Order(cur)+abs_delta_mfoc_st
}else{
Display Order(ref)=Display Order(cur)-abs_delta_mfoc_st
}
また、自然にフレームの復号順から算出する方法が用いられる場合、例えば、参照フレームリストにおいて、制御信号が存在していない時に、直前に復号済みのフレームから一定のフレーム数で順次に並べられてもよい。つまり、参照フレームリストは、{0, -1, -2,…, -(N―1)}とされてもよい。
【0136】
基本的に、参照フレームリストは、特別な事情(例えば、Re-ordering指示を受ける時)以外に各フレームで変化しない。
【0137】
メッシュバッファ部202Cは、以下のように更新されてもよい。
【0138】
メッシュバッファ部202Cは、基本メッシュが復号された時に、Iフレーム及びPフレームの場合、参照フレームリストで決められた所定順番により1枚又は複数枚の既存の参照フレームを削除し、復号済みのフレームの基本メッシュを含めて1枚又は複数枚の基本メッシュを入れて、又は、複数枚の基本メッシュから1枚の基本メッシュを作成して入れて、参照フレームの順番を調整する。
【0139】
かかる削除作業は、メッシュバッファ部202Cが満了する時のみに実施されてもよい。なお、メッシュバッファ部202Cで保存できる基本メッシュの数は、事前に決められている。ここで、本実施形態では、かかる基本メッシュの数に到達すると、メッシュバッファ部202Cが満了すると定義するものとする
上述の作成作業では、復号済みのフレームの基本メッシュ及びメッシュバッファ部202Cに保存されている既存の基本メッシュに対応する頂点の座標について重み付け平均して1枚の基本メッシュにしてもよい。
【0140】
かかる重み付け平均で用いられる重みは、事前に決められていてもよいし、フレームインデックスを用いて算出されてもよいし、制御信号から復号されてもよい。
【0141】
ただし、メッシュバッファ部202Cは、Sフレームである時には、かかる更新を実施してもよいし、かかる更新を実施しなくてもよい。
【0142】
なお、メッシュバッファ部202Cは、ビットストリームから復号された制御信号によりRe-orderingの指示を示す制御信号を受けた時に、
図18に示すように、参照フレームリストを更新し、更新した参照フレームリスト(ref_list0)で決められた所定順番により参照フレームの順番を調整する。
【0143】
(インター復号部202E)
インター復号部202Eは、メッシュバッファ部202Cから取り出した参照フレームの頂点の座標とPフレームのビットストリームから復号した動きベクトルとを加算することによって、Pフレームの頂点の座標を復号するように構成されている。
【0144】
さらに、インター復号部202Eは、かかる特定バッファに保存されている重複頂点として存在する頂点のインデックスA(k)及びB(k)のペアにより、Pフレームの頂点のインデックスを調整することが可能である。かかるインデックスの全部又は一部は、ビットストリームから復号される。かかる復号方法は、算術符号化でもよい。かかる構成によれば、算術符号化を用いて復号対象のインデックスの最大値に制限が無くなるという効果が期待できる。例えば、ue(v)という算術符号化を使ってもよい。
【0145】
(基本メッシュ復号部202の変更例2)
以下、
図19を参照して、基本メッシュ復号部202の変更例2について説明する。
【0146】
以下、スキップ復号部202Fについて説明するが、インター復号部202Eへ適用してもよい。
【0147】
図19に示すように、スキップ復号部202Fでは、後続フレームを参照することが可能にするため、復号順(Decode Order)と表示順(Display Order)とが異なる。
【0148】
ここで、表示順は、符号化する際の入力の順番と同じであり、復号する際の出力の順番と同じである。
【0149】
一方、復号順は、符号化する際の出力の順番と同じであり、復号する際の入力の順番と同じである。
【0150】
なお、かかる参照フレームは、後続フレームと1枚又は複数枚の他フレームとを重み付け平均して算出されてもよい。
【0151】
ただし、後続フレームを含めて複数枚のフレームを参照する場合、
図14における新しいフレームタイプ(smh_type)として、MR_SUBMESH(MRフレームやBフレーム)を定義し、MR_SUBMESHは、ビットストリームから復号される。
【0152】
また、かかる他フレームは、
図20に示すように、対象フレームの直前の復号済のフレームであってもよい。
【0153】
かかる重みは、対象フレームと後続フレームと間のフレーム間隔及び対象フレームと他フレームとの間のフレーム間隔を用いて算出されてもよいし、事前に決められてもよい。
【0154】
基本メッシュ復号部202は、ビットストリームから制御信号(smh_mesh_frm_order_cnt_lsb)を復号し、かかる出力の順番を復号する。
【0155】
なお、上述の非特許文献4で定義したサブメッシュが存在するときに、全てのサブメッシュを同じ制御信号(smh_mesh_frm_order_cnt_lsb)にすること又は制御信号(smh_mesh_frm_order_cnt_lsb)を全てのサブメッシュに適用させることにする。
【0156】
かかる制御信号(smh_mesh_frm_order_cnt_lsb)によって示される値は、復号対象フレームの表示順との差分であってもよいし、事前に決めたフレーム集団MaxMeshFrmOrderCntLsbの中の順番であってもよい。
【0157】
なお、復号順(Decode Order)と表示順(Display Order)とが異なる時に、復号済みの基本メッシュが復号順(Decode Order)で並んでいると、基本メッシュ復号部202は、復号済みの基本メッシュを表示順(Display Order)に並び替えてもよい。
【0158】
なお、後続フレームを参照できるSフレームにおいて、2つのメッシュバッファ202Cが設けられていてもよいし、1つのメッシュバッファ部202のみが設けられている際には、表示順が復号対象フレームよりも後になる参照フレームを含めて少なくとも1枚の参照フレームが存在する。
【0159】
スキップ復号部202Fは、ビットストリームから復号した制御信号又は所定ルール又はRe-ordering指示を受けることにより、参照フレームを指定する。
【0160】
具体的には、スキップ復号部202Fは、かかる制御信号により参照フレームリストの中に参照フレームを指定する。
【0161】
或いは、スキップ復号部202Fは、参照フレームリストの1番目の参照フレームを指定する。
【0162】
或いは、スキップ復号部202Fは、Re-ordering指示を受けで、参照フレームリスト及びメッシュバッファ部202Cの参照フレーム順番を更新し、かかる参照フレームリストの1番目の参照フレームを指定する。
【0163】
なお、本実施形態では、Sフレームを復号しなくても他のフレームの復号に影響を及ぼさない。よって、Sフレームを一部又は全部を復号しない場合、Temporal scalabilityを実現できる。
【0164】
さらに、基本メッシュ復号部202は、制御信号により、複数の参照フレームを統合してSフレームの基本メッシュを復号してもよい。
【0165】
例えば、基本メッシュ復号部202は、前後2枚の参照フレームの基本メッシュにおいて、対応する頂点の座標を平均して、平均座標及び頂点のインデックスをそのまま用いて、復号対象フレームの基本メッシュの頂点の座標及び当該頂点のインデックスを復号するように構成されていてもよい。
【0166】
かかる構成によれば、スキップ復号部202F又はインター復号部202Eにおいて動きベクトルを不要としながらも高品質な基本メッシュにすることができるため、復号メッシュの質を向上させる効果が期待できる。さらに、Temporal scalabilityを実現できる効果が期待できる。
【0167】
ただし、Temporal scalabilityを実現するため、各フレームにおいて該当基本メッシュと変位量とテクスチャとをそれぞれ復号するかどうかを示す制御信号Temporal_IDをそれぞれ定義し、ビットストリームからそれぞれ復号する。
【0168】
また、同じフレームであれば、基本メッシュと変位量とテクスチャの制御信号Tempora_IDを一致させる。復号対象の基本メッシュ、変位量及びテクスチャのTempora_IDが一致すれば、フレームが復号できないことや無駄なデータを回避することができるという効果が期待できる。
【0169】
なお、同じTempora_IDを持つ隣接するフレームの間隔が一定であることが望ましい。
【0170】
同じTempora_IDを持つ隣接するフレームは、POCが最も近い。
【0171】
上述のようにフレームの間隔を一定にすることで、復号したフレームを表示する際に一定のフレームレートを保つ効果が期待できる。
【0172】
さらに、同じ表示順を持つ基本メッシュ、変位量及びテクスチャの復号順を一致させる。
【0173】
このように、復号順を一致させると、基本メッシュ、変位量及びテクスチャをそれぞれ復号する際に、互いの復号を待つことなく、メッシュを再現できるという効果が期待できる。
【0174】
仮に、基本メッシュ、変位量及びテクスチャの復号順が異なると、最も遅く復号された成分を待つ必要があるため、バッファ使用量の増大や復号遅延が発生するという問題がある。
【0175】
さらに、復号対象フレームの制御信号Temporal_IDよりも高いTemporal_IDを持つフレームは、かかる復号対象フレームの参照フレームにしない。
【0176】
これによって、参照フレームが捨てられる可能性が無くなるという効果が期待できる。
【0177】
以下に、上述のTemporal_IDを用いてTemporal scalabilityを実現する一例について述べる。
【0178】
基本メッシュ、変位量及びテクスチャのビットストリームは、ネットワーク抽象レイヤ(NAL)ユニットによりカプセル化される。NALユニットは、
図39のようなNALヘッダを持ってもよい。
【0179】
NALヘッダ内の最後の3ビットとして定義したTIDは、Temporal_IDプラス1である。TIDの範囲は、1から7までとし、ゼロを禁止する。
【0180】
なお、非特許文献4で定義されたサブメッシュが存在するときは、全てのサブメッシュを同じTIDにすること又はTIDを全てのサブメッシュに適用させることにする。
【0181】
変位量及びテクスチャについては、映像符号化方式のHEVCやVVCを利用するため、以下は、基本メッシュのみについて説明する。
【0182】
NALTypeが、非特許文献4で定義されたNAL_BLA_W_LPからNAL_RSV_BMCL_29までの範囲にある場合、つまり、IRAPコード化された基本メッシュフレームに属する場合、Temporal_IDは、0でなければならない。
【0183】
NALTypeが、NAL_TSA_R又はNAL_TSA_Nに等しい場合、Temporal_IDは、0に等しくてはならない。
【0184】
NALTypeが0に等しく、NALTypeがNAL_STSA_R又はNAL_STSA_Nに等しい場合、Temporal_IDは、0に等しくてはならない。
【0185】
Temporal_IDの値は、アクセスユニット内の全てのBMCL NALユニットについて同じでなければならない。
【0186】
コード化された基本メッシュフレーム又はアクセスユニットのTemporal_IDの値は、コード化された基本メッシュフレーム又はアクセスユニットのBMCL NALユニットのTemporal_IDの値である。
【0187】
サブレイヤ表現のTemporal_IDの値は、サブレイヤ表現内の全てのBMCL NALユニットのTemporal_IDの最大値である。
【0188】
非BMCL NALユニットのTemporal_IDの値は、以下のように制限される。
- NALTypeがNAL_BMSPSに等しい場合、Temporal_IDは0でなければならず、NALユニットを含むアクセスユニットのTemporal_IDは、0でなければならない。
- それ以外の場合で、NALTypeがNAL_EOS又はNAL_EOBに等しい場合、Temporal_IDは、0でなければならない。
- それ以外の場合で、NALTypeがNAL_AUD又はNALLFDDに等しい場合、Temporal_IDは、NALLユニットを含むアクセスユニットのTemporal_IDに等しくなければならない。
- それ以外の場合、Temporal_IDは、NALユニットを含むアクセスユニットのTemporal_ID以上でなければならない。
【0189】
なお、NALユニットがBMCLでない場合、Temporal_IDの値は、非BMCL NALユニットが適用される全てのアクセスユニットのTemporal_ID値の最小値に等しくなる。
【0190】
NALTypeがNAL_BMFPSに等しい場合、Temporal_IDは、最初の符号化基本メッシュフレームのTemporal_IDが0であるビットストリームの先頭に全ての基本メッシュフレームパラメータセット(BMFPS)が含まれるため、含まれるアクセスユニットのTemporal_ID以上であることができる。
【0191】
<細分割部203>
細分割部203は、制御情報によって示された細分割手法により、基本メッシュ復号部202によって復号された基本メッシュから、追加された細分割頂点及びそれらの接続情報を生成して出力するように構成されている。
【0192】
ここで、基本メッシュ、追加された細分割頂点、及び、それらの接続情報を、併せて「細分割メッシュ」と呼ぶ。
【0193】
細分割部202は、基本メッシュビットストリームを復号して生成した制御情報であるsubdivision_method_idから、細分割手法の種別を特定するように構成されている。
【0194】
以下、
図3A及び
図3Bを参照して、細分割部202について説明する。
【0195】
図3A及び
図3Bは、基本メッシュから細分割頂点を生成する動作の一例について説明するための図である。
【0196】
図3Aは、5つの頂点で構成された基本メッシュの一例について示す図である。
【0197】
ここで、細分割には、例えば、各基本面において各辺の中点同士を接続するMid-edge分割法を用いてもよい。これによって、ある基本面は、4つの面に分割されることになる。
【0198】
図3Bは、5つの頂点で構成された基本メッシュを分割した細分割メッシュの一例を示す。
図3Bに示す細分割メッシュでは、元の5つの頂点(黒丸)に加えて8つの細分割頂点(白丸)が生成されている。
【0199】
このように生成した細分割頂点ごとに、変位量復号部206で変位量を復号することによって、符号化性能の向上が期待できる。
【0200】
また、各パッチで異なる細分割方法を適用してもよい。これによって、変位量復号部206で復号される変位量をパッチごとに適応的に変化させ、符号化性能の向上が期待できる。分割したパッチの情報は、制御情報であるpatch_idとして受け取られる。
【0201】
以下、
図21を参照して、細分割部203について説明する。
図21は、細分割部203の機能ブロックの一例について示す図である。
【0202】
図21に示すように、細分割部203は、基本メッシュ細分割部203Aと細分割メッシュ調整部203Bとを有する。
【0203】
(基本メッシュ細分割部203A)
基本メッシュ細分割部203Aは、入力された基本メッシュ及び基本メッシュの分割情報に基づき、基本面及び基本パッチごとの分割数(細分割数)を算出し、かかる分割数に基づいて基本メッシュを細分割し、細分割面を出力するように構成されている。
【0204】
すなわち、基本メッシュ細分割部203Aは、基本面及び基本パッチ単位で、上述の分割数を変えることができるように構成されていてもよい。
【0205】
ここで、基本面は、基本メッシュを構成する面であり、基本パッチは、いくつかの基本面の集合である。
【0206】
また、基本メッシュ細分割部203Aは、基本面の細分割数を予測し、予測した基本面の細分割数に対して予測分割数残差を加算することで、基本面の細分割数を算出するように構成されていてもよい。
【0207】
また、基本メッシュ細分割部203Aは、基本面の隣接基本面の細分割数に基づいて、基本面の細分割数を算出するように構成されていてもよい。
【0208】
また、基本メッシュ細分割部203Aは、直前に蓄積された基本面の細分割数に基づき、基本面の細分割数を算出するように構成されていてもよい。
【0209】
また、基本メッシュ細分割部203Aは、基本面を構成する3辺を分割する頂点を生成し、生成した頂点を接続することで、基本面を細分割するように構成されていてもよい。
【0210】
図21に示すように、基本メッシュ細分割部203Aの後段に、後述の細分割メッシュ調整部を備える203Bを備えている。
【0211】
以下、
図22~
図24を用いて、基本メッシュ細分割部203Aの処理の一例について説明する。
【0212】
図22は、基本メッシュ細分割部203Aの機能ブロックの一例を示す図であり、
図24は、基本メッシュ細分割部203Aの動作の一例を示すフローチャートである。
【0213】
図22に示すように、基本メッシュ細分割部203Aは、基本面分割数バッファ部203A1と、基本面分割数参照部203A2と、基本面分割数予測部203A3と、加算部203A4と、基本面分割部203A5とを有する。
【0214】
基本面分割数バッファ部203A1は、基本面の分割数を含む基本面の分割情報を格納しており、基本面分割数参照部203A2に対して基本面の分割情報を出力するように構成されている。
【0215】
ここで、基本面分割数バッファ部203A1のサイズは、1とし、基本面分割数参照部203A2に対して、直前に蓄積された基本面の分割数を出力するように構成されていてもよい。
【0216】
すなわち、基本面分割数バッファ部203A1のサイズを1にすることで、最後に復号した細かい分割数(直前に復号した細分割数)のみを参照するように構成されていてもよい。
【0217】
基本面分割数参照部203A2は、復号対象の基本面に対して隣接する基本面が存在していない場合、或いは、復号対象の基本面に対して隣接する基本面が存在しているが分割数が確定していない場合は、基本面分割数予測部203A3に対して、参照不可を出力するように構成されている。
【0218】
一方、基本面分割数参照部203A2は、復号対象の基本面に対して隣接する基本面が存在し且つ分割数が確定している場合は、基本面分割数予測部203A3に対して、かかる分割数を出力するように構成されている。
【0219】
基本面分割数予測部203A3は、入力された1つ以上の分割数に基づいて基本面の分割数(細分割数)を予測し、加算部203A4に対して、予測した分割数(予測分割数)を出力するように構成されている。
【0220】
ここで、基本面分割数予測部203A3は、基本面分割数参照部203A2から参照不可のみが入力された場合は、加算部203A4に対して、0を出力するように構成されている。
【0221】
なお、基本面分割数予測部203A3は、1つ以上の分割数が入力された場合、入力された分割数の平均値や最大値や最小値や最頻値等の統計値のいずれかを用いて、予測分割数を生成するように構成されていてもよい。
【0222】
なお、基本面分割数予測部203A3は、1つ以上の分割数が入力された場合、最も隣接する面の分割数を予測分割数として生成するように構成されていてもよい。
【0223】
加算部203A4は、予測残差ビットストリームから復号した予測分割数残差と基本面分割数予測部203A3から取得した予測分割数とを加算することによって得られた分割数を、基本面分割部203A5に対して出力するように構成されている。
【0224】
基本面分割部203A5は、加算部203A4から入力された分割数に基づき、基本面を細分割するように構成されている。
【0225】
図23は、基本面を9分割したケースの一例である。
図23を参照して、基本面分割部203A5による基本面の分割方法について説明する。
【0226】
基本面分割部203A5は、基本面を構成する辺ABに対してN等分(N=3)する点A_1,…,A_(N-1)を生成する。
【0227】
同様に、基本面分割部203A5は、辺BCや辺CAについてもN等分し、それぞれ点B_1,…,B_(N-1)、C_1,…,C_(N-1)を生成する。
【0228】
以降、辺AB、辺BC及び辺CA上の点を「辺分割点」と呼ぶ。
【0229】
基本面分割部203A5は、全てのi(i=1,2,…,N-1)に対して、辺A_i B_(N-i),B_i C_(N-i),C_i A_(N-i)を生成し、N2個の細分割面を生成する。
【0230】
次に、
図24を参照して、基本メッシュ細分割部203Aの処理手順について説明する。
【0231】
ステップS2201において、基本メッシュ細分割部203Aは、最後の基本面に対して細分割処理が完了したか否かを判定する。処理が完了した場合終了し、そうでない場合はステップS2202に進む。
【0232】
ステップS2202において、基本メッシュ細分割部203Aは、Depth<mdu_max_depthの判定を行う。
【0233】
ここで、Depthは、現在の深度を表す変数で、初期値は0であり、mdu_max_depthは、基本面ごとに決められた最大深度を表す。
【0234】
ステップS2202における条件を満たす場合は、本処理手順は、ステップS2203に進み、かかる条件を満たさない場合は、本処理手順は、ステップS2201に戻る。
【0235】
ステップS2203において、基本メッシュ細分割部203Aは、現在の深度におけるmdu_subdivision_flagが1であるか否かについて判定する。
【0236】
Yesの場合、本処理手順は、ステップS2201に戻り、Noの場合、本処理手順は、ステップS2204に進む。
【0237】
ステップS2204において、基本メッシュ細分割部203Aは、基本面内の全ての細分割面をさらに細分割する。
【0238】
ここで、基本メッシュ細分割部203Aは、基本面に対して一度も細分割処理が行われていない場合は、基本面を細分割する。
【0239】
なお、細分割の方法については、ステップS2204で説明した方法と同様である。
【0240】
具体的には、基本面が一度も細分割されていない場合は、基本面に対して
図23のように細分割を行う。少なくとも1回は細分割されている場合は、細分割面をN
2個に細分割する。
図23を例にすると、頂点A_2と頂点Bと頂点B_1とからなる面を、基本面の分割のときと同様の方法で、更に分割してN
2個の面を生成する。
【0241】
細分割処理が終了したとき、本処理手順は、ステップS2205に進む。
【0242】
ステップS2205において、基本メッシュ細分割部203Aは、Depthに1を加算し、本処理手順は、ステップS2202に戻る。
【0243】
(細分割メッシュ調整部203B)
次に、細分割メッシュ調整部203Bによって行われる処理の具体例について説明する。以下、
図25~
図28を用いて細分割メッシュ調整部203Bよって行われる処理の一例について説明する。
【0244】
図25は、細分割メッシュ調整部203Bの機能ブロックの一例を示す図である。
【0245】
図25に示すように、細分割メッシュ調整部203Bは、辺分割点移動部701と、細分割面分割部702とを有する。
【0246】
(辺分割点移動部701)
辺分割点移動部701は、入力された初期細分割面に対して、基本面の辺分割点を隣接基本面の辺分割点のいずれかに移動し、細分割面を出力するように構成されている。
【0247】
図26は、基本面ABC上の辺分割点を移動した例である。例えば、
図26に示すように、辺分割点移動部701は、基本面ABCの辺分割点を最も近い隣接基本面の辺分割点に移動するように構成されていてもよい。
【0248】
(細分割面分割部702)
細分割面分割部702は、入力された細分割面を再度細分割し、復号細分割面を出力するように構成されている。
【0249】
図27は、基本面内の細分割面Xに対して再度細分割が行われたケースの一例を示す図である。
【0250】
図27に示すように、細分割面分割部702は、細分割面を構成する頂点と隣接基本面の辺分割点とを接続することで、基本面内に新たな細分割面を生成するように構成されていてもよい。
【0251】
図28は、全ての細分割面に対して、上述の細分割処理を行ったケースの一例を示す図である。
【0252】
メッシュ復号部204は、細分割部203で生成された細分割メッシュ及び変位量復号部206で復号された変位量を用いて、復号メッシュを生成して出力するように構成されている。
【0253】
具体的には、メッシュ復号部204は、各細分割頂点に対して、対応する変位量を加算することによって、復号メッシュを生成するように構成されている。ここで、各変位量がどの細分割頂点に対応するかについての情報は、制御情報によって示される。
【0254】
パッチ統合部205は、メッシュ復号部206で生成された復号メッシュを、複数のパッチ分だけ統合して出力するように構成されている。
【0255】
ここで、パッチの分割方法は、メッシュ符号化装置100によって定義される。例えば、パッチの分割方法は、各基本面に対して法線ベクトルを算出しておき、隣接する基本面の中で最も法線ベクトルが類似した基本面を選択し、両基本面を同じパッチとしてまとめ、かかる手順を、次の基本面に対して順次繰り返すように構成されていてもよい。
【0256】
映像復号部207は、映像符号化によってテクスチャを復号して出力するように構成されている。例えば、映像復号部207は、HEVCを用いてもよい。
【0257】
<変位量復号部206>
変位量復号部206は、変位量ビットストリームを復号して変位量を生成して出力するように構成されている。
【0258】
図3Bは、ある細分割頂点に対する変位量の一例について示す図である。
図3Bの例では、8個の細分割頂点が存在するため、変位量復号部206は、各細分割頂点に対してスカラー或いはベクトルで表現される変位量を8個定義するように構成されている。
【0259】
以下、
図29を参照して、変位量復号部206について説明する。
図29は、変位量復号部206の機能ブロックの一例について示す図である。
【0260】
図29に示すように、変位量復号部206は、復号部206Aと、逆量子化部206Bと、逆ウェーブレット変換部206Cと、加算器206Dと、インター予測部206Eと、フレームバッファ206Fとを有する。
【0261】
復号部206Aは、受信した変位量ビットストリームに対して可変長復号を行うことでレベル値及び制御情報を復号して出力するように構成されている。ここで、可変長復号によって得られたレベル値は、逆量子化部206Bに出力され、制御情報は、インター予測部206Eに出力される。
【0262】
以下、
図30を参照して、変位量ビットストリームの構成の一例について説明する。
図30は、変位量ビットストリームの構成の一例について示す図である。
【0263】
図30に示すように、第1に、変位量ビットストリームは、変位量の復号に関する制御情報の集合であるDPS(Displacement Parameter Set:ディスプレイスメントパラメータセット)を含んでいてもよい。
【0264】
第2に、変位量ビットストリームは、パッチに対応する制御情報の集合であるDPH(Displacement Patch Header:ディスプレイスメントパッチヘッダ)を含んでいてもよい。
【0265】
第3に、変位量ビットストリームは、DPHの次に、パッチを構成する符号化された変位量を含んでいてもよい。
【0266】
以上のように、変位量ビットストリームは、各符号化された変位量に、1つずつDPH及びDPSが対応する構成となる。
【0267】
なお、
図30の構成は、あくまで一例である。各符号化された変位量に、DPH及びDPSが対応する構成となっていれば、変位量ビットストリームの構成要素として、上述以外の要素が追加されてもよい。
【0268】
例えば、
図30に示すように、変位量ビットストリームは、SPS(Sequence Parameter Set:シーケンスパラメータセット)を含んでいてもよい。
【0269】
図31は、DPSのシンタックス構成の一例について示す図である。
【0270】
図31において、Descriptor欄は、各シンタックスが、どのように符号化されているかを意味している。
【0271】
また、
図31において、ue(v)は、符号無し0次指数ゴロム符号であることを意味し、u(n)は、nビットのフラグであることを意味する。
【0272】
DPSは、複数のDPSが存在する場合に、各DPSを識別するためのDPS id情報(dps_displacement_parameter_set_id)を少なくとも含む。
【0273】
また、DPSは、インター予測を行うか否かを制御するフラグ(interprediction_enabled_flag)を含んでもよい。
【0274】
例えば、interprediction_enabled_flagが0のときは、インター予測を行わないと定義し、interprediction_enabled_flagが1のときは、インター予測を行うと定義してもよい。interprediction_enabled_flagが含まれないときは、インター予測を行わないと定義してもよい。
【0275】
DPSは、逆DCTを行うか否かを制御するフラグ(dct_enabled_flag)を含んでもよい。
【0276】
例えば、dct_enabled_flagが0のときは、逆DCTを行わないと定義し、dct_enabled_flagが1のときは、逆DCTを行うと定義してもよい。dct_enabled_flagが含まれないときは、逆DCTを行わないと定義してもよい。
【0277】
図32は、DPHのシンタックス構成の一例について示す図である。
【0278】
図32に示すように、DPHは、各DPHに対応するDPSを指定するためのDPS id情報を少なくとも含む。
【0279】
逆量子化部206Bは、復号部206Aによって復号されたレベル値を逆量子化することによって変換係数を生成して出力するように構成されている。
【0280】
逆ウェーブレット変換部206Cは、逆量子化部206Bによって生成された変換係数に対して逆ウェーブレット変換を施すことによって予測残差を生成して出力するように構成されている。
【0281】
(インター予測部206E)
インター予測部206Eは、フレームバッファ206Fから読み出された参照フレームの復号変位量を用いてインター予測を行うことによって、予測変位量を生成して出力するように構成されている。
【0282】
インター予測部206Eは、interprediction_enabled_flagが1の場合のみ、かかるインター予測を行うように構成されている。
【0283】
インター予測部206Eは、空間領域でインター予測を行ってもよいし、周波数領域でインター予測を行ってもよい。インター予測は、時間的に過去の参照フレームと未来の参照フレームとを用いて、双方向予測を行ってもよい。
【0284】
図33は、空間領域でインター予測が行われる場合の参照フレームと復号対象フレームとの間の細分割頂点の対応関係の一例について説明するための図である。
【0285】
図34は、周波数領域でインター予測を行う場合のインター予測部206Eの機能ブロックの一例である。
【0286】
インター予測部206Eは、周波数領域でインター予測を行う場合は、復号対象フレームにおける周波数の予測ウェーブレット変換係数について、参照フレームにおける対応する周波数の復号ウェーブレット変換係数をそのまま参照して決定してもよい。
【0287】
インター予測部206Eは、複数の参照フレームにおける細分割頂点の復号変位量或いは復号ウェーブレット変換係数を用いて、平均と分散を推定した正規分布に従って確率的にインター予測してもよい。
【0288】
インター予測部206Eは、複数の参照フレームにおける細分割頂点の復号変位量あるいは復号ウェーブレット変換係数を用いて、時間を説明変数、変位量を目的変数として推定した回帰曲線をもとにインター予測してもよい。
【0289】
インター予測部206Eは、時間的に過去の参照フレームと未来の参照フレームとを用いて双方向でインター予測するように構成されていてもよい。
【0290】
メッシュ符号化装置100において、フレームごとに符号化効率向上のために、かかる復号ウェーブレット変換係数の順番が並び替えられていてもよい。
【0291】
参照フレームと復号対象フレームとの間の周波数の対応関係は、制御情報によって示される。
【0292】
図35は、周波数領域でインター予測が行われる場合の参照フレームと復号対象フレームとの間の周波数の対応関係の一例について説明するための図である。
【0293】
また、細分割部203が、基本メッシュを複数のパッチに分割した場合は、インター予測部206Eも、分割したパッチごとにインター予測を行うように構成されている。これによって、フレーム間の時間相関が高くなり、符号化性能の向上が期待できる。
【0294】
加算器206Dには、逆ウェーブレット変換部206Cから予測残差が入力され、インター予測部206Eから予測変位量が入力される。
【0295】
加算器206Dは、かかる予測残差と予測変位量とを加算することによって、復号変位量を算出して出力するように構成されている。
【0296】
加算器206Dによって算出された復号変位量は、フレームバッファ206Fにも出力される。
【0297】
フレームバッファ206Fは、加算器206Dから復号変位量を取得して蓄積するように構成されている。
【0298】
ここで、フレームバッファ206Fは、図示しない制御情報に応じて、参照フレームにおいて対応する頂点における復号変位量を出力する。
【0299】
図36は、変位量復号部206の動作の一例を示すフローチャートである。
【0300】
図36に示すように、ステップS3501において、変位量復号部206は、全てのパッチに対して、本処理が完了しているか否かについて判定する。
【0301】
Yesの場合、本動作は、終了し、Noの場合、本動作は、ステップS3502に進む。
【0302】
ステップS3502において、変位量復号部206は、復号対象のパッチに対して、逆DCTを行ってから逆量子化及び逆ウェーブレット変換を行う。
【0303】
ステップS3503において、変位量復号部206は、interprediction_enabled_flagが1であるか否かについて判定する。
【0304】
Yesの場合、本動作は、ステップS3504に進み、Noの場合、本動作は、ステップS3501に戻る。
【0305】
ステップS3504において、変位量復号部206は、上述のインター予測及び加算を行う。
【0306】
<変形例1>
以下、
図37を参照して、上述の第1実施形態の変形例1について、上述の第1実施形態との相違点に着目して説明する。
【0307】
図37は、本変形例1に係る変位量復号部206の機能ブロックの一例を示す図である。
【0308】
図37に示すように、本変形例1に係る変位量復号部206は、復号部206Aの後段に、すなわち、復号部206Aと逆量子化部206Bとの間に、逆DCT部206Gを備えている。
【0309】
すなわち、本変形例1では、逆量子化部206Bは、逆DCT部202Gから出力されたレベル値に対して逆ウェーブレット変換を施すことによって予測残差を生成するように構成されている。
【0310】
<変形例2>
以下、
図38を参照して、上述の第1実施形態の変形例2について、上述の第1実施形態との相違点に着目して説明する。
【0311】
図38に示すように、本変形例2に係る変位量復号部206は、映像復号部2061と、画像展開部2062と、逆量子化部2063と、逆ウェーブレット変換部2064と有する。
【0312】
映像復号部2061は、受信した変位量ビットストリームを、映像符号化によって復号することで映像を出力するように構成されている。
【0313】
例えば、映像復号部2061は、非特許文献1のHEVCを用いてもよい。
【0314】
また、映像復号部2061は、動きベクトルを常にゼロとした映像符号化方式を用いてもよい。例えば、映像復号部2061は、HEVCの動きベクトルを常にゼロとし、常に同一位置でのインター予測を用いてもよい。
【0315】
また、映像復号部2061は、変換を常にスキップするとした映像符号化方式を用いてもよい。例えば、映像復号部2061は、HEVCの変換を常に変換スキップモードとし、変換せずに映像符号化方式を用いてもよい。
【0316】
画像展開部2062は、映像復号部2061で復号された映像を、画像(フレーム)ごとにレベル値として展開して出力するように構成されている。
【0317】
かかる展開方法において、画像展開部2062は、制御情報によって示された画像へのレベル値の並べ方から、逆算して特定できる。
【0318】
画像展開部2062は、レベル値の並べ方として、例えば、高周波成分から低周波成分のレベル値が画像中にラスタ操作順に並べてもよい。
【0319】
逆量子化部2063は、画像展開部2062で生成されたレベル値を逆量子化することによって変換係数を生成して出力するように構成されている。
【0320】
逆ウェーブレット変換部2064は、逆量子化部2063で生成された変換係数に対して逆ウェーブレット変換を施すことによって復号変位量を生成して出力するように構成されている。
【0321】
上述のメッシュ符号化装置100及びメッシュ復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
【産業上の利用可能性】
【0322】
なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【符号の説明】
【0323】
1…メッシュ処理システム
100…メッシュ符号化装置
200…メッシュ復号部
201…多重分離部
202…基本メッシュ復号部
202A…分離部
202B…イントラ復号部
202B1…任意イントラ復号部
202B2…整列部
202C…メッシュバッファ部
202D…接続情報復号部
202E…インター復号部
202E1…動きベクトル復号部
202E2…動きベクトルバッファ部
202E3…動きベクトル予測部
202E4…動きベクトル算出部
202E5…加算器
202F…スキップ復号部
203…細分割部
203A…基本メッシュ細分割部
203A1…基本面分割数バッファ部
203A2…基本面分割数参照部
203A3…基本面分割数予測部
203A4…加算部
203A5…基本面分割部
203B…細分割メッシュ調整部
701…辺分割点移動部
702…細分割面分割部
204…メッシュ復号部
205…パッチ統合部
206…変位量復号部
206A…復号部
206B、2063…逆量子化部
206C、2064…逆ウェーブレット変換部
206D…加算器
206E…インター予測部
206F…フレームバッファ
206G…逆DCT部
2062…画像展開部
207、2061…映像復号部