(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023157503
(43)【公開日】2023-10-26
(54)【発明の名称】メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
(51)【国際特許分類】
G06T 9/00 20060101AFI20231019BHJP
H04N 19/597 20140101ALI20231019BHJP
G06T 17/20 20060101ALN20231019BHJP
【FI】
G06T9/00 100
H04N19/597
G06T17/20 500
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022067448
(22)【出願日】2022-04-15
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110001564
【氏名又は名称】フェリシテ弁理士法人
(72)【発明者】
【氏名】徐 建鋒
(72)【発明者】
【氏名】小森田 賢史
(72)【発明者】
【氏名】海野 恭平
(72)【発明者】
【氏名】河村 圭
【テーマコード(参考)】
5B080
5C159
【Fターム(参考)】
5B080AA13
5B080AA19
5B080CA05
5B080DA06
5B080GA22
5C159PP03
(57)【要約】
【課題】メッシュの符号化効率を向上させること。
【解決手段】本発明に係るメッシュ復号装置200は、符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、メッシュにおいて元のポリゴン数を再建するように構成されているメッシュ復号部201と、隣接するパッチのメッシュに対する後処理を実施するように構成されているメッシュ後処理部202とを備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
メッシュ復号装置であって、
符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建するように構成されているメッシュ復号部と、
隣接する前記パッチの前記メッシュに対する後処理を実施するように構成されているメッシュ後処理部とを備えることを特徴とするメッシュ復号装置。
【請求項2】
前記メッシュ復号部は、前記パッチ毎のポリゴン数を示す変数に基づいて、前記元のポリゴン数を算出するように構成されていることを特徴とする請求項1に記載のメッシュ復号装置。
【請求項3】
前記メッシュ復号部は、算出した前記元のポリゴン数になるまで、Vertex spritを繰り返し実施するように構成されていることを特徴とする請求項2に記載のメッシュ復号装置。
【請求項4】
前記メッシュ復号部は、前記パッチにおけるエッジのコストを算出し、前記コストが最も大きいエッジからポリゴンを増やす操作を繰り返すように構成されていることを特徴とする請求項3に記載のメッシュ復号装置。
【請求項5】
前記メッシュ後処理部は、前記パッチの境界でエッジ不足のポリゴンに対して新しいエッジを作るように構成されていることを特徴とする請求項1に記載のメッシュ復号装置。
【請求項6】
前記メッシュ後処理部は、前記パッチの境界でzippering algorithmを用いてギャップが生じる頂点のペアを見つけて、前記ペア同士の頂点を平均してマージするように構成されていることを特徴とする請求項5に記載のメッシュ復号装置。
【請求項7】
メッシュ符号化装置であって、
前記パッチ毎に、ポリゴン数が異なる複数のメッシュを生成するように構成されているメッシュ生成部を備えることを特徴とするメッシュ符号化装置。
【請求項8】
メッシュ復号方法であって、
符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建する工程と、
隣接する前記パッチの前記メッシュに対する後処理を実施する工程とを有することを特徴とするメッシュ復号方法。
【請求項9】
コンピュータを、メッシュ復号装置として機能させるプログラムであって、
前記メッシュ復号装置は、
符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建するように構成されているメッシュ復号部と、
隣接する前記パッチの前記メッシュに対する後処理を実施するように構成されているメッシュ後処理部とを具備することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラムに関する。
【背景技術】
【0002】
非特許文献1には、ビデオベースの点群を符号化するという非特許文献2の技術を拡張し、非特許文献3で定義したDynamic meshを符号化する技術が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Graziosi, Danillo Bracco. "Video-Based Dynamic Mesh Coding." 2021 IEEE International Conference on Image Processing (ICIP). IEEE, 2021.
【非特許文献2】ISO/IEC FDIS 23090-5:2020, Information technology -Coded representation of immersive media - Part 5: Visual Volumetric Video-based Coding (V3C) and Video-based Point Cloud Compression (V-PCC).
【非特許文献3】CfP for Dynamic Mesh Coding,ISO/IEC JTC1/SC29/WG7 N00231, MPEG136 - OnLine.
【非特許文献4】Rossignac, Jarek. "Edgebreaker: Connectivity compression for triangle meshes." IEEE transactions on visualization and computer graphics 5.1 (1999): 47-61.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に開示されているビデオベースのメッシュ符号化技術では、メッシュのポリゴン数が単一であるので、低ビットレートから高ビットレートまで幅広いビットレート範囲に最適化が困難であるという問題点があった。 そこで、本発明は、上述の課題に鑑みてなされたものであり、メッシュの符号化効率を向上させることができるメッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の第1の特徴は、メッシュ復号装置であって、符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建するように構成されているメッシュ復号部と、隣接する前記パッチの前記メッシュに対する後処理を実施するように構成されているメッシュ後処理部とを備えることを要旨とする。
【0006】
本発明の第2の特徴は、メッシュ符号化装置であって、前記パッチ毎に、ポリゴン数が異なる複数のメッシュを生成するように構成されているメッシュ生成部を備えることを要旨とする。
【0007】
本発明の第3の特徴は、メッシュ復号方法であって、符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建する工程と、隣接する前記パッチの前記メッシュに対する後処理を実施する工程とを有することを要旨とする。
【0008】
本発明の第4の特徴は、コンピュータを、メッシュ復号装置として機能させるプログラムであって、前記メッシュ復号装置は、符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建するように構成されているメッシュ復号部と、隣接する前記パッチの前記メッシュに対する後処理を実施するように構成されているメッシュ後処理部とを具備することを要旨とする。
【発明の効果】
【0009】
本発明によれば、メッシュの符号化効率を向上させることができるメッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、一実施形態に係るメッシュ符号化装置100の機能ブロックの一例を示す図である。
【
図2】
図2は、一実施形態に係るメッシュ復号装置200のメッシュ生成部202によってメッシュが簡略化されテキスチャー画像及びUV座標が修正される様子の一例を示す図である。
【
図3】
図3は、一実施形態に係るメッシュ復号装置200のメッシュ生成部202によってedge collapse用いてエッジが削減される様子の一例を示す図である。
【
図4】
図4は、一実施形態に係るメッシュ復号装置200の機能ブロックの一例を示す図である。
【
図5】
図5は、一実施形態に係るメッシュ復号装置200のメッシュ後処理部202によって隣接するパッチ間におけるエッジ不足の問題が解決される様子の一例を示す図である。
【
図6】
図6は、一実施形態に係るメッシュ復号装置200のメッシュ後処理部202によってzippering algorithmを用いて境界L1におけるギャップが埋められる様子の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0012】
<第1実施形態>
以下、
図1~
図6を参照して、本実施形態に係るメッシュ符号化装置100及びメッシュ復号装置200について説明する。
図1は、本実施形態に係るメッシュ符号化装置100の機能ブロックの一例について示す図であり、
図2は、本実施形態に係るメッシュ復号装置200の機能ブロックの一例について示す図である。
【0013】
メッシュ符号化装置100は、非特許文献3で定義したDynamic meshを符号化するように構成されている。
【0014】
Dynamic meshの特徴は、各フレームのメッシュにおいて頂点の数や三角形の繋がり(Connectivity)が異なることである。
【0015】
また、低ビットレート(例えば、2Mbps程度)から高ビットレート(例えば、32Mbps程度)までの範囲をカバーするため、非特許文献3のアンカーは、元のメッシュから5K、10K、15K、20K、25Kのメッシュを作って、元のメッシュと合わせて6段階のメッシュを用意し、ビットレートにより最適なメッシュを選ぶ。一般的に、低ビットレートの場合は、ポリゴン数が少ないメッシュを符号化し、逆に、高ビットレートの場合は、ポリゴン数が多いメッシュを符号化する。
【0016】
図1に示すように、メッシュ符号化装置100は、セグメンテーション部101と、メッシュ生成部102と、メッシュ符号化部103とを有する。
【0017】
セグメンテーション部101は、メッシュをセグメンテーションし、パッチを生成するように構成されている。
【0018】
具体的には、セグメンテーション部101は、
図1に示すように、「Texture map PNG」及び「Mesh OBJ」に基づいて、パッチを生成するように構成されている。
【0019】
なお、「Texture map PNG」は、非特許文献3に規定されている「Attribute maps」を含み、「Mesh OBJ」は、非特許文献3に規定されている「Connectivity Information」、「Geometry Information」及び「Mapping Information」を含む。
【0020】
ここで、セグメンテーション部101は、非特許文献1に規定されているセグメンテーション手法を利用するように構成されていてもよい。かかる場合、セグメンテーション部101は、以下の式(1)によって、元のメッシュMallをN個のパッチに分けるように構成されている。
【0021】
【数1】
メッシュ生成部102は、パッチ毎でポリゴン数が異なる複数のメッシュ(テキスチャー情報を含む)を生成するように構成されている。ここで、テキスチャー情報は、「Texture map PNG」の全部又は一部である。
【0022】
例えば、メッシュ生成部102は、元のメッシュから、ポリゴン数が1/2、1/4及び1/8であるメッシュを生成し、ポリゴン数を示す変数fを0、1、2、3にするように構成されている。ここで、変数fは、0である場合、元のポリゴン数を示し、1である場合、元のメッシュの1/2のポリゴン数を示し、2である場合、元のメッシュの1/4のポリゴン数を示し、3である場合、元のメッシュの1/8のポリゴン数を示す。
【0023】
また、メッシュ生成部102は、変数fとポリゴン数とを対応付ける対応表を用いてもよい。例えば、変数fは、0である場合、元のポリゴン数を示し、1である場合、元のメッシュの9割のポリゴン数を示し、2である場合、元のメッシュの8割のポリゴン数を示し、3である場合、元のメッシュの7割のポリゴン数を示す。
【0024】
具体的には、メッシュ生成部102は、以下の手順で、かかる複数のメッシュを生成するように構成されていてもよい。
【0025】
メッシュ生成部102は、1つのパッチMiに対して、元のポリゴン数Fi
origの1、1/2、1/4、1/8(或いは、10割、9割、8割、7割)にする場合、以下の手順を実施するように構成されている。
【0026】
ステップ1として、メッシュ生成部102は、削除すべきエッジを選定するように構成されている。
【0027】
メッシュ生成部102は、
図2に示すように、あるエッジuv(三角形の一辺)のコストを算出し、対象エッジの中からコストが最も小さいエッジを選定するように構成されている。
【0028】
ここで、コストの定義は、エッジを削除した場合の視覚的な変化の大きさである。つまり、平坦な領域のポリゴンのエッジ又は短くて細かいエッジのコストが低い。
【0029】
具体的に、メッシュ生成部102は、式(2)で、エッジのコストcost(u,v)を算出するように構成されている。
【0030】
【数2】
ここで、T
uは、頂点uを含むポリゴンの集合であり、T
uvは、頂点u及び頂点vを含むポリゴンの集合であり、||u-v||は、頂点uと頂点vとの間の距離(エッジuvの長さ)である。
【0031】
ステップ2として、メッシュ生成部102は、
図3に示すように、edge collapseという操作を用いて、選定したエッジを削減することで、メッシュ(ポリゴン)の簡略化を行うように構成されている。
【0032】
ここで、edge collapseは、
図3(a)における頂点V
tと頂点V
sとの間のエッジを消去の対象とし、
図3(b)に示すように、頂点V
tと頂点V
sとを結合する(頂点V
tを削除する)操作である。このように、edge collapseを1回実施すると、ポリゴン数が2つ減ることになる。
【0033】
なお、
図3(b)の状態を
図3(a)の状態に変更することでメッシュ(ポリゴン)詳細化する操作を、vetrex splitと呼ぶ。
【0034】
メッシュ生成部102は、元のメッシュのポリゴン数の1/2になるまで、
図2及び
図3に示す操作を繰り返して行うように構成されていてもよい。
【0035】
更に、メッシュ生成部102は、元のメッシュのポリゴン数の1/4、更に、元のポリゴン数の1/8になるまで、かかる操作を繰り返して実施し、パッチM2
i及びM3
iとしてメッシュを保存するように構成されていてもよい。
【0036】
最後に、メッシュ生成部102は、元のポリゴン数Fi
origの1、1/2、1/4、1/8(或いは、10割、9割、8割、7割)に対して、それぞれ変数fiを0、1、2、3とするように構成されている。
【0037】
なお、Mi
0、Mi
1、Mi
2及びMi
3のポリゴン数Fi
kは、以下の式(3)によって算出される。
【0038】
【数3】
パッチ符号化部103は、パッチ毎に、RDO(Rate Distortion Optimization)を用いて最適なメッシュを選んで符号化し、選択した最適なメッシュのポリゴン数を符号化してビットストリームに入れるように構成されている。
【0039】
パッチ符号化部103は、各パッチでポリゴン数が異なる複数のメッシュMi
0、Mi
1、Mi
2及びMi
3が用意されているため、その中から最適なメッシュを選択するように構成されている。
【0040】
例えば、パッチ符号化部103は、以下の式(4)によってコスト(Cost(Mi
f))を算出し、以下の式(5)によってコスト(Cost(Mi
f))が最も小さいメッシュを最適なメッシュとして選択し、対応する変数fi
optを記録するように構成されている。
【0041】
Cost(Mi
f)=Rate(Mi
f)+λ・Distortion(Mi
f) (4)
【0042】
【数4】
ここで、Rate()は、符号化ビット数を算出する関数であり、Distortionは、誤差量を算出する関数であり、λは、事前に決められているパラメータである。
【0043】
パッチ符号化部103は、選択した最適なメッシュ及び対応する変数fi
optをビットストリームに入れるように構成されている。
【0044】
このように、ポリゴン数を直接に符号化するより、変数fiを符号化する方が、符号化効率を高めることができる。ここで、変数fiは、0、1、2、3である。
【0045】
また、パッチ符号化部103は、選択したメッシュのポリゴン数について、以下の式(6)で、変数fiから算出できる。
【0046】
【数5】
ただし、F
i
optは、第i番目のパッチで選択したメッシュのポリゴン数であり、F
i
origは、第i番目のパッチにおける元のポリゴン数である。
【0047】
パッチ符号化部103は、非特許文献1の方式によって、各パッチで選択した最適なメッシュの頂点の座標、Connectivity及びテキスチャー情報を符号化するように構成されていてもよい。
【0048】
具体的には、非特許文献1の方式は、メッシュを入力とし、複数のパッチにセグメンテーションする。
【0049】
そして、非特許文献1の方式は、各パッチにおいて、頂点と頂点との間がエッジで繋がるため、三角形を単位で平面に射影する。
【0050】
更に、非特許文献1の方式は、点群と比べて、三角形の射影がスパース的であるため、ラスタライズを用いてポリゴンをピクセルデータに変換し、非特許文献2に規定されているGeometry imageとして利用する。
【0051】
ここで、Geometry imageは、非特許文献2に規定されているように、映像符号化技術で符号化される。また、点群がない情報としてのConnectivityは、非特許文献4のEdgebreakerを用いて符号化される。
【0052】
パッチ符号化部103は、簡単のため、Geometry imageのみで、Rate及びDistortionを算出する。また、Connectivityは、Losslessであるため、Distortionはゼロである。
【0053】
なお、パッチ符号化部103は、上述の式(4)のRate(Mf
i)(Geometry imageのみでRate)をカウンターする際に、各パッチで平面に射影し、ラスタライズしたGeometry imageを映像符号化技術で符号化するように構成されていてもよい。
【0054】
かかる映像符号化技術では、パッチ毎に、符号量を制御するQ値を設定することが可能である。かかる映像符号化技術において、大きいQ値を使うと、小さい符号量になる。
【0055】
パッチ符号化部103は、かかるパッチ毎のQ値について、以下のステップで設定することができる。
【0056】
ステップ1として、パッチ符号化部103は、全体の符号量を各パッチの大きさに比率して該当パッチに割り当て、割り当てられた符号量によりQ値の初期値Q1f
iを設定する。
【0057】
ステップ2として、パッチ符号化部103は、該当パッチの該当メッシュMf
iのポリゴン数によりQ値の初期値Q1f
iをQ2f
iに調整する。基本的に、パッチ符号化部103は、ポリゴン数が多い場合、小さいQ値となるように調整する。
【0058】
ステップ3として、パッチ符号化部103は、視聴者の視点や視線に応じて表示されるパッチや表示されないパッチがあるため、該当パッチが見える度合いにより、Q2f
iを、最終Q値であるQ3f
iに調整する。基本的に、パッチ符号化部103は、表示されないパッチであれば、大きいQ値となるように調整する。
【0059】
図4に示すように、メッシュ復号装置200は、メッシュ復号部201と、メッシュ後処理部202とを具備している。
【0060】
メッシュ復号部201は、非特許文献1の方式で、各パッチにおいて、メッシュ(具体的には、頂点の座標、Connectivity及びテキスチャー情報)を復号し、各パッチで選択した変数fiに基づいて、復号したメッシュにおいて元のポリゴン数を再建するように構成されている。
【0061】
メッシュ復号部201は、以下の式(7)によって、上述の元のポリゴン数(目標のポリゴン数)Fi
origを算出するように構成されている。
【0062】
【数6】
メッシュ復号部201は、1つのパッチM
iに対して、元のポリゴン数F
i
origを再建した後、以下のステップを実施するように構成されていてもよい。
【0063】
ステップ1として、メッシュ復号部201は、パッチMiにおいて、分割する頂点を選定するように構成されている。
【0064】
ここで、メッシュ復号部201は、上述のようにメッシュ生成部102で定義されたエッジのコストを利用するように構成されている。
【0065】
メッシュ復号部201は、
図2に示すように、あるエッジuv(三角形の一辺)のコストを算出し、パッチM
iの中からコストが最も大きいエッジを選定するように構成されている。
【0066】
ここで、メッシュ復号部201は、平坦ではない領域のポリゴン又は面積が大きいポリゴンのエッジに頂点を追加するように構成されている。
【0067】
メッシュ復号部201は、選んだエッジの2つの頂点から境界ではない頂点の任意の1つを操作対象の頂点として選定するように構成されている。メッシュ復号部201は、両方が境界の頂点であれば、エッジのコストをゼロにしてステップ1を繰り返す。
【0068】
ステップ2として、メッシュ復号部201は、
図3に示すvertex spritという操作を用いて、ステップ1で選定した頂点を分割するポリゴン詳細化を行うように構成されている。
【0069】
vertex spritによれば、
図3(b)の頂点V
sを分割の対象とし、頂点V
tと頂点V
sとに分割し、頂点V
tと頂点V
sとの間、頂点V
lと頂点V
tとの間及び頂点V
rと頂点V
tとの間に、新しいエッジを作り、頂点V
sと繋がった元のエッジe1及びe2を新しい頂点V
tと繋げなおす。
【0070】
メッシュ復号部201は、頂点を分割する際に、新たに生成される2つの頂点の座標の差分ベクトルについて、
図2に示すエッジuvの長さの半分にするように構成されている。ここで、vertex spritが1回実施されと、ポリゴン数が2つ増える。
【0071】
メッシュ復号部201は、元のポリゴン数になるまで、上述のステップ1及びステップ2を繰り返して実施するように構成されている。
【0072】
メッシュ後処理部202は、隣接するパッチのメッシュに対する後処理を実施するように構成されている。
【0073】
具体的には、メッシュ後処理部202は、以下のステップを実施するように構成されている。
【0074】
ステップ1として、パッチの境界のポリゴンは、エッジ不足が発生するため、メッシュ後処理部202は、境界のエッジ毎で、以下のような処理を実施するように構成されている。
【0075】
図5に示すパッチP1の境界であるL1が、処理対象のエッジであるものとする。ここで、実際には、パッチP1とパッチP2/P3とは接しているものとする。
【0076】
ここで、メッシュ後処理部202は、境界L1から隣のパッチP2/P3のポリゴンの頂点V1~V3と最も近い頂点D1~D3を見つけるように構成されている。
【0077】
次に、メッシュ後処理部202は、頂点D1~D3と最も近い頂点V1~V3の距離が閾値以内であれば、点線L11~L13を新しいエッジとして追加するように構成されている。
【0078】
なお、メッシュ後処理部202は、全ての境界のエッジに対する本操作が終わったら、隣接するパッチ間におけるエッジ不足の問題を解決することできる。
【0079】
ステップ2として、Lossy compressionのため、
図5に示すように、パッチP1とパッチP2/P3との境界L1でギャップ発生している場合、メッシュ後処理部202は、非特許文献1に規定されている技術と同様に、zippering algorithmを用いて、かかるギャップを埋めるように構成されていてもよい。
【0080】
かかる場合、メッシュ後処理部202は、
図6に示すように、ギャップが生じる頂点のペア(
図6の例では、頂点V1と頂点D1とのペア、頂点V2と頂点D2とのペア及び頂点V3と頂点D3とのペア)を見つけて、かかるペア同士の頂点を平均してマージするように構成されていてもよい。
【0081】
上述のメッシュ符号化装置100及びメッシュ復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
【産業上の利用可能性】
【0082】
なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【符号の説明】
【0083】
100…メッシュ符号化装置
101…セグメンテーション部
102…メッシュ生成部
103…メッシュ符号化部
200…メッシュ復号装置
201…メッシュ復号部
202…メッシュ後処理部