JP7712890B2 - Mesh decoding device, mesh encoding device, mesh decoding method and program - Google Patents
Mesh decoding device, mesh encoding device, mesh decoding method and programInfo
- Publication number
- JP7712890B2 JP7712890B2 JP2022067448A JP2022067448A JP7712890B2 JP 7712890 B2 JP7712890 B2 JP 7712890B2 JP 2022067448 A JP2022067448 A JP 2022067448A JP 2022067448 A JP2022067448 A JP 2022067448A JP 7712890 B2 JP7712890 B2 JP 7712890B2
- Authority
- JP
- Japan
- Prior art keywords
- mesh
- polygons
- patch
- post
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Generation (AREA)
Description
本発明は、メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラムに関する。 The present invention relates to a mesh decoding device, a mesh encoding device, a mesh decoding method, and a program.
非特許文献1には、ビデオベースの点群を符号化するという非特許文献2の技術を拡張し、非特許文献3で定義したDynamic meshを符号化する技術が開示されている。 Non-Patent Document 1 discloses a technique for encoding the dynamic mesh defined in Non-Patent Document 3 by extending the technique in Non-Patent Document 2, which encodes a video-based point cloud.
しかしながら、非特許文献1に開示されているビデオベースのメッシュ符号化技術では、メッシュのポリゴン数が単一であるので、低ビットレートから高ビットレートまで幅広いビットレート範囲に最適化が困難であるという問題点があった。 そこで、本発明は、上述の課題に鑑みてなされたものであり、メッシュの符号化効率を向上させることができるメッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラムを提供することを目的とする。 However, the video-based mesh coding technology disclosed in Non-Patent Document 1 has a problem in that the number of polygons in a mesh is uniform, making it difficult to optimize for a wide range of bit rates, from low to high. Therefore, the present invention has been made in consideration of the above-mentioned problems, and aims to provide a mesh decoding device, mesh coding device, mesh decoding method, and program that can improve the efficiency of mesh coding.
本発明の第1の特徴は、メッシュ復号装置であって、符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建するように構成されているメッシュ復号部と、隣接する前記パッチの前記メッシュに対する後処理を実施するように構成されているメッシュ後処理部とを備えることを要旨とする。 The first feature of the present invention is a mesh decoding device comprising a mesh decoding unit configured to decode a mesh in each patch from an encoded bitstream and reconstruct the original number of polygons in the mesh based on a variable indicating the number of polygons in each patch, and a mesh post-processing unit configured to perform post-processing on the mesh of an adjacent patch.
本発明の第2の特徴は、メッシュ符号化装置であって、前記パッチ毎に、ポリゴン数が異なる複数のメッシュを生成するように構成されているメッシュ生成部を備えることを要旨とする。 The second feature of the present invention is a mesh coding device that includes a mesh generation unit configured to generate multiple meshes with different numbers of polygons for each patch.
本発明の第3の特徴は、メッシュ復号方法であって、符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建する工程と、隣接する前記パッチの前記メッシュに対する後処理を実施する工程とを有することを要旨とする。 The third feature of the present invention is a mesh decoding method, which includes the steps of decoding a mesh in each patch from an encoded bitstream, reconstructing the original number of polygons in the mesh based on a variable indicating the number of polygons in each patch, and performing post-processing on the mesh of an adjacent patch.
本発明の第4の特徴は、コンピュータを、メッシュ復号装置として機能させるプログラムであって、前記メッシュ復号装置は、符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建するように構成されているメッシュ復号部と、隣接する前記パッチの前記メッシュに対する後処理を実施するように構成されているメッシュ後処理部とを具備することを要旨とする。 The fourth feature of the present invention is a program for causing a computer to function as a mesh decoding device, the mesh decoding device comprising a mesh decoding unit configured to decode a mesh in each patch from an encoded bitstream and reconstruct the original number of polygons in the mesh based on a variable indicating the number of polygons in each patch, and a mesh post-processing unit configured to perform post-processing on the mesh of an adjacent patch.
本発明によれば、メッシュの符号化効率を向上させることができるメッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラムを提供することができる。 The present invention provides a mesh decoding device, a mesh encoding device, a mesh decoding method, and a program that can improve mesh encoding efficiency.
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。 The following describes embodiments of the present invention with reference to the drawings. Note that the components in the following embodiments can be replaced with existing components as appropriate, and various variations, including combinations with other existing components, are possible. Therefore, the description of the following embodiments does not limit the content of the invention described in the claims.
<第1実施形態>
以下、図1~図6を参照して、本実施形態に係るメッシュ符号化装置100及びメッシュ復号装置200について説明する。図1は、本実施形態に係るメッシュ符号化装置100の機能ブロックの一例について示す図であり、図2は、本実施形態に係るメッシュ復号装置200の機能ブロックの一例について示す図である。
First Embodiment
Hereinafter, a mesh encoding device 100 and a mesh decoding device 200 according to this embodiment will be described with reference to Fig. 1 to Fig. 6. Fig. 1 is a diagram showing an example of a functional block of the mesh encoding device 100 according to this embodiment, and Fig. 2 is a diagram showing an example of a functional block of the mesh decoding device 200 according to this embodiment.
メッシュ符号化装置100は、非特許文献3で定義したDynamic meshを符号化するように構成されている。 The mesh encoding device 100 is configured to encode the dynamic mesh defined in Non-Patent Document 3.
Dynamic meshの特徴は、各フレームのメッシュにおいて頂点の数や三角形の繋がり(Connectivity)が異なることである。 The characteristic of a dynamic mesh is that the number of vertices and the connectivity of triangles are different in the mesh of each frame.
また、低ビットレート(例えば、2Mbps程度)から高ビットレート(例えば、32Mbps程度)までの範囲をカバーするため、非特許文献3のアンカーは、元のメッシュから5K、10K、15K、20K、25Kのメッシュを作って、元のメッシュと合わせて6段階のメッシュを用意し、ビットレートにより最適なメッシュを選ぶ。一般的に、低ビットレートの場合は、ポリゴン数が少ないメッシュを符号化し、逆に、高ビットレートの場合は、ポリゴン数が多いメッシュを符号化する。 In addition, to cover a range from low bit rates (e.g., about 2 Mbps) to high bit rates (e.g., about 32 Mbps), the anchor in Non-Patent Document 3 creates meshes of 5K, 10K, 15K, 20K, and 25K from the original mesh, preparing six levels of mesh in combination with the original mesh, and then selects the optimal mesh based on the bit rate. In general, for low bit rates, meshes with a small number of polygons are coded, and conversely, for high bit rates, meshes with a large number of polygons are coded.
図1に示すように、メッシュ符号化装置100は、セグメンテーション部101と、メッシュ生成部102と、メッシュ符号化部103とを有する。 As shown in FIG. 1, the mesh coding device 100 includes a segmentation unit 101, a mesh generation unit 102, and a mesh coding unit 103.
セグメンテーション部101は、メッシュをセグメンテーションし、パッチを生成するように構成されている。 The segmentation unit 101 is configured to segment the mesh and generate patches.
具体的には、セグメンテーション部101は、図1に示すように、「Texture map PNG」及び「Mesh OBJ」に基づいて、パッチを生成するように構成されている。 Specifically, as shown in FIG. 1, the segmentation unit 101 is configured to generate patches based on "Texture map PNG" and "Mesh OBJ".
なお、「Texture map PNG」は、非特許文献3に規定されている「Attribute maps」を含み、「Mesh OBJ」は、非特許文献3に規定されている「Connectivity Information」、「Geometry Information」及び「Mapping Information」を含む。 Note that "Texture map PNG" includes "Attribute maps" defined in Non-Patent Document 3, and "Mesh OBJ" includes "Connectivity Information", "Geometry Information", and "Mapping Information" defined in Non-Patent Document 3.
ここで、セグメンテーション部101は、非特許文献1に規定されているセグメンテーション手法を利用するように構成されていてもよい。かかる場合、セグメンテーション部101は、以下の式(1)によって、元のメッシュMallをN個のパッチに分けるように構成されている。 Here, the segmentation unit 101 may be configured to utilize the segmentation method defined in Non-Patent Document 1. In this case, the segmentation unit 101 is configured to divide the original mesh M all into N patches according to the following formula (1):
例えば、メッシュ生成部102は、元のメッシュから、ポリゴン数が1/2、1/4及び1/8であるメッシュを生成し、ポリゴン数を示す変数fを0、1、2、3にするように構成されている。ここで、変数fは、0である場合、元のポリゴン数を示し、1である場合、元のメッシュの1/2のポリゴン数を示し、2である場合、元のメッシュの1/4のポリゴン数を示し、3である場合、元のメッシュの1/8のポリゴン数を示す。 For example, the mesh generation unit 102 is configured to generate meshes with 1/2, 1/4, and 1/8 the number of polygons from the original mesh, and set the variable f indicating the number of polygons to 0, 1, 2, or 3. Here, when the variable f is 0, it indicates the original number of polygons, when it is 1, it indicates 1/2 the number of polygons of the original mesh, when it is 2, it indicates 1/4 the number of polygons of the original mesh, and when it is 3, it indicates 1/8 the number of polygons of the original mesh.
また、メッシュ生成部102は、変数fとポリゴン数とを対応付ける対応表を用いてもよい。例えば、変数fは、0である場合、元のポリゴン数を示し、1である場合、元のメッシュの9割のポリゴン数を示し、2である場合、元のメッシュの8割のポリゴン数を示し、3である場合、元のメッシュの7割のポリゴン数を示す。 The mesh generating unit 102 may also use a correspondence table that associates the variable f with the number of polygons. For example, when the variable f is 0, it indicates the original number of polygons, when it is 1, it indicates 90% of the number of polygons in the original mesh, when it is 2, it indicates 80% of the number of polygons in the original mesh, and when it is 3, it indicates 70% of the number of polygons in the original mesh.
具体的には、メッシュ生成部102は、以下の手順で、かかる複数のメッシュを生成するように構成されていてもよい。 Specifically, the mesh generator 102 may be configured to generate such multiple meshes in the following manner:
メッシュ生成部102は、1つのパッチMiに対して、元のポリゴン数Fi origの1、1/2、1/4、1/8(或いは、10割、9割、8割、7割)にする場合、以下の手順を実施するように構成されている。 The mesh generating unit 102 is configured to carry out the following procedure when reducing the number of polygons F i orig to 1, 1/2, 1/4, or 1/8 (or 100%, 90%, 80%, or 70%) of the original number of polygons F i orig for one patch M i .
ステップ1として、メッシュ生成部102は、削除すべきエッジを選定するように構成されている。 In step 1, the mesh generation unit 102 is configured to select edges to be deleted.
メッシュ生成部102は、図2に示すように、あるエッジuv(三角形の一辺)のコストを算出し、対象エッジの中からコストが最も小さいエッジを選定するように構成されている。 As shown in FIG. 2, the mesh generation unit 102 is configured to calculate the cost of an edge u v (one side of a triangle) and select the edge with the smallest cost from among the target edges.
ここで、コストの定義は、エッジを削除した場合の視覚的な変化の大きさである。つまり、平坦な領域のポリゴンのエッジ又は短くて細かいエッジのコストが低い。 Here, the cost is defined as the magnitude of the visual change when an edge is removed. In other words, polygon edges in flat areas or short, fine edges have a low cost.
具体的に、メッシュ生成部102は、式(2)で、エッジのコストcost(u,v)を算出するように構成されている。 Specifically, the mesh generation unit 102 is configured to calculate the cost of an edge, cost(u, v), using equation (2).
ステップ2として、メッシュ生成部102は、図3に示すように、edge collapseという操作を用いて、選定したエッジを削減することで、メッシュ(ポリゴン)の簡略化を行うように構成されている。 In step 2, the mesh generation unit 102 is configured to simplify the mesh (polygon) by reducing the selected edges using an operation called edge collapse, as shown in FIG. 3.
ここで、edge collapseは、図3(a)における頂点Vtと頂点Vsとの間のエッジを消去の対象とし、図3(b)に示すように、頂点Vtと頂点Vsとを結合する(頂点Vtを削除する)操作である。このように、edge collapseを1回実施すると、ポリゴン数が2つ減ることになる。 Here, edge collapse is an operation that targets the edge between vertex Vt and vertex Vs in Fig. 3A as a target for deletion, and combines vertex Vt and vertex Vs (deletes vertex Vt ) as shown in Fig. 3B. In this way, performing edge collapse once reduces the number of polygons by two.
なお、図3(b)の状態を図3(a)の状態に変更することでメッシュ(ポリゴン)詳細化する操作を、vetrex splitと呼ぶ。 The operation of refining the mesh (polygon) by changing the state in Figure 3(b) to the state in Figure 3(a) is called vetrex split.
メッシュ生成部102は、元のメッシュのポリゴン数の1/2になるまで、図2及び図3に示す操作を繰り返して行うように構成されていてもよい。 The mesh generation unit 102 may be configured to repeat the operations shown in Figures 2 and 3 until the number of polygons in the original mesh is reduced to half.
更に、メッシュ生成部102は、元のメッシュのポリゴン数の1/4、更に、元のポリゴン数の1/8になるまで、かかる操作を繰り返して実施し、パッチM2 i及びM3 iとしてメッシュを保存するように構成されていてもよい。 Furthermore, the mesh generation unit 102 may be configured to repeatedly perform such operations until the number of polygons in the original mesh is reduced to 1/4, and then to 1/8 of the original number of polygons, and to store the meshes as patches M 2 i and M 3 i .
最後に、メッシュ生成部102は、元のポリゴン数Fi origの1、1/2、1/4、1/8(或いは、10割、9割、8割、7割)に対して、それぞれ変数fiを0、1、2、3とするように構成されている。 Finally, the mesh generator 102 is configured to set the variable fi to 0, 1, 2, and 3 for 1 , 1/2, 1/4, and 1/8 (or 100%, 90%, 80%, and 70%) of the original number of polygons F i orig, respectively.
なお、Mi 0、Mi 1、Mi 2及びMi 3のポリゴン数Fi kは、以下の式(3)によって算出される。 The number of polygons F i k of M i 0 , M i 1 , M i 2 and M i 3 is calculated by the following formula (3).
パッチ符号化部103は、各パッチでポリゴン数が異なる複数のメッシュMi 0、Mi 1、Mi 2及びMi 3が用意されているため、その中から最適なメッシュを選択するように構成されている。 The patch encoding unit 103 is configured to select an optimal mesh from among a plurality of prepared meshes M i 0 , M i 1 , M i 2 and M i 3 , each having a different number of polygons in each patch.
例えば、パッチ符号化部103は、以下の式(4)によってコスト(Cost(Mi f))を算出し、以下の式(5)によってコスト(Cost(Mi f))が最も小さいメッシュを最適なメッシュとして選択し、対応する変数fi optを記録するように構成されている。 For example, the patch encoding unit 103 is configured to calculate the cost (Cost(M i f )) using the following equation (4), select the mesh having the smallest cost (Cost(M i f )) as the optimal mesh using the following equation (5), and record the corresponding variable f i opt .
Cost(Mi f)=Rate(Mi f)+λ・Distortion(Mi f) (4) Cost( Mif )=Rate ( Mif )+λ・Distortion( Mif ) ( 4)
パッチ符号化部103は、選択した最適なメッシュ及び対応する変数fi optをビットストリームに入れるように構成されている。 The patch encoder 103 is configured to put the selected optimal mesh and the corresponding variable f i opt into the bitstream.
このように、ポリゴン数を直接に符号化するより、変数fiを符号化する方が、符号化効率を高めることができる。ここで、変数fiは、0、1、2、3である。 In this way, encoding the variable f i (where f i is 0, 1, 2, and 3) can improve encoding efficiency rather than directly encoding the number of polygons.
また、パッチ符号化部103は、選択したメッシュのポリゴン数について、以下の式(6)で、変数fiから算出できる。 Furthermore, the patch encoding unit 103 can calculate the number of polygons of the selected mesh from the variable f i using the following equation (6).
パッチ符号化部103は、非特許文献1の方式によって、各パッチで選択した最適なメッシュの頂点の座標、Connectivity及びテキスチャー情報を符号化するように構成されていてもよい。 The patch encoding unit 103 may be configured to encode the coordinates, connectivity, and texture information of the vertices of the optimal mesh selected for each patch using the method described in Non-Patent Document 1.
具体的には、非特許文献1の方式は、メッシュを入力とし、複数のパッチにセグメンテーションする。 Specifically, the method in Non-Patent Document 1 takes a mesh as input and segments it into multiple patches.
そして、非特許文献1の方式は、各パッチにおいて、頂点と頂点との間がエッジで繋がるため、三角形を単位で平面に射影する。 The method described in Non-Patent Document 1 projects triangles onto a plane because edges connect the vertices of each patch.
更に、非特許文献1の方式は、点群と比べて、三角形の射影がスパース的であるため、ラスタライズを用いてポリゴンをピクセルデータに変換し、非特許文献2に規定されているGeometry imageとして利用する。 Furthermore, since the projection of triangles is sparse compared to point clouds, the method of Non-Patent Document 1 uses rasterization to convert polygons into pixel data, which is then used as a Geometry Image as defined in Non-Patent Document 2.
ここで、Geometry imageは、非特許文献2に規定されているように、映像符号化技術で符号化される。また、点群がない情報としてのConnectivityは、非特許文献4のEdgebreakerを用いて符号化される。 Here, the Geometry Image is encoded using a video encoding technique as specified in Non-Patent Document 2. Also, Connectivity, which is information without a point group, is encoded using the Edgebreaker of Non-Patent Document 4.
パッチ符号化部103は、簡単のため、Geometry imageのみで、Rate及びDistortionを算出する。また、Connectivityは、Losslessであるため、Distortionはゼロである。 For simplicity, the patch encoding unit 103 calculates the rate and distortion using only the geometry image. Also, since connectivity is lossless, distortion is zero.
なお、パッチ符号化部103は、上述の式(4)のRate(Mf i)(Geometry imageのみでRate)をカウンターする際に、各パッチで平面に射影し、ラスタライズしたGeometry imageを映像符号化技術で符号化するように構成されていてもよい。 Note that the patch encoding unit 103 may be configured to project each patch onto a plane and encode the rasterized geometry image using a video encoding technique when counting Rate(M f i ) (Rate using only the Geometry image) in the above-mentioned formula (4).
かかる映像符号化技術では、パッチ毎に、符号量を制御するQ値を設定することが可能である。かかる映像符号化技術において、大きいQ値を使うと、小さい符号量になる。 In this video coding technology, it is possible to set a Q value that controls the amount of code for each patch. In this video coding technology, using a large Q value results in a small amount of code.
パッチ符号化部103は、かかるパッチ毎のQ値について、以下のステップで設定することができる。 The patch encoding unit 103 can set the Q value for each patch in the following steps:
ステップ1として、パッチ符号化部103は、全体の符号量を各パッチの大きさに比率して該当パッチに割り当て、割り当てられた符号量によりQ値の初期値Q1f iを設定する。 In step 1, the patch encoding unit 103 allocates the total code amount to each patch in proportion to the size of the patch, and sets an initial value Q1 f i of the Q value based on the allocated code amount.
ステップ2として、パッチ符号化部103は、該当パッチの該当メッシュMf iのポリゴン数によりQ値の初期値Q1f iをQ2f iに調整する。基本的に、パッチ符号化部103は、ポリゴン数が多い場合、小さいQ値となるように調整する。 In step 2, the patch encoding unit 103 adjusts the initial value Q1f i of the Q value to Q2f i based on the number of polygons of the corresponding mesh Mf i of the corresponding patch. Basically, when the number of polygons is large, the patch encoding unit 103 adjusts the Q value to a small value.
ステップ3として、パッチ符号化部103は、視聴者の視点や視線に応じて表示されるパッチや表示されないパッチがあるため、該当パッチが見える度合いにより、Q2f iを、最終Q値であるQ3f iに調整する。基本的に、パッチ符号化部103は、表示されないパッチであれば、大きいQ値となるように調整する。 In step 3, since some patches are displayed and some are not displayed depending on the viewer's viewpoint or line of sight, the patch encoding unit 103 adjusts Q2 f i to Q3 f i , which is the final Q value, depending on the visibility of the corresponding patch. Basically, the patch encoding unit 103 adjusts the Q value to a larger value for patches that are not displayed.
図4に示すように、メッシュ復号装置200は、メッシュ復号部201と、メッシュ後処理部202とを具備している。 As shown in FIG. 4, the mesh decoding device 200 includes a mesh decoding unit 201 and a mesh post-processing unit 202.
メッシュ復号部201は、非特許文献1の方式で、各パッチにおいて、メッシュ(具体的には、頂点の座標、Connectivity及びテキスチャー情報)を復号し、各パッチで選択した変数fiに基づいて、復号したメッシュにおいて元のポリゴン数を再建するように構成されている。 The mesh decoding unit 201 is configured to decode a mesh (specifically, vertex coordinates, connectivity, and texture information) in each patch in the manner described in Non-Patent Document 1, and to reconstruct the original number of polygons in the decoded mesh based on the variable f i selected in each patch.
メッシュ復号部201は、以下の式(7)によって、上述の元のポリゴン数(目標のポリゴン数)Fi origを算出するように構成されている。 The mesh decoding unit 201 is configured to calculate the above-mentioned original polygon count (target polygon count) F i orig by the following equation (7).
ステップ1として、メッシュ復号部201は、パッチMiにおいて、分割する頂点を選定するように構成されている。 As step 1, the mesh decoding unit 201 is configured to select vertices to be divided in a patch M i .
ここで、メッシュ復号部201は、上述のようにメッシュ生成部102で定義されたエッジのコストを利用するように構成されている。 Here, the mesh decoding unit 201 is configured to use the edge costs defined by the mesh generation unit 102 as described above.
メッシュ復号部201は、図2に示すように、あるエッジuv(三角形の一辺)のコストを算出し、パッチMiの中からコストが最も大きいエッジを選定するように構成されている。 As shown in FIG. 2, the mesh decoding unit 201 is configured to calculate the cost of an edge uv (one side of a triangle) and select the edge with the highest cost from within the patch M i .
ここで、メッシュ復号部201は、平坦ではない領域のポリゴン又は面積が大きいポリゴンのエッジに頂点を追加するように構成されている。 Here, the mesh decoding unit 201 is configured to add vertices to edges of polygons in non-flat regions or polygons with large areas.
メッシュ復号部201は、選んだエッジの2つの頂点から境界ではない頂点の任意の1つを操作対象の頂点として選定するように構成されている。メッシュ復号部201は、両方が境界の頂点であれば、エッジのコストをゼロにしてステップ1を繰り返す。 The mesh decoding unit 201 is configured to select any one of the two vertices of the selected edge that is not a boundary vertex as the vertex to be operated on. If both vertices are boundary vertices, the mesh decoding unit 201 sets the cost of the edge to zero and repeats step 1.
ステップ2として、メッシュ復号部201は、図3に示すvertex spritという操作を用いて、ステップ1で選定した頂点を分割するポリゴン詳細化を行うように構成されている。 In step 2, the mesh decoding unit 201 is configured to perform polygon refinement by splitting the vertices selected in step 1 using an operation called vertex split, as shown in FIG. 3.
vertex spritによれば、図3(b)の頂点Vsを分割の対象とし、頂点Vtと頂点Vsとに分割し、頂点Vtと頂点Vsとの間、頂点Vlと頂点Vtとの間及び頂点Vrと頂点Vtとの間に、新しいエッジを作り、頂点Vsと繋がった元のエッジe1及びe2を新しい頂点Vtと繋げなおす。 According to vertex split, the vertex Vs in FIG. 3B is the target of division, and is divided into vertices Vt and Vs. New edges are created between the vertices Vt and Vs , between the vertices Vl and Vt , and between the vertices Vr and Vt. The original edges e1 and e2 connected to the vertex Vs are reconnected to the new vertex Vt .
メッシュ復号部201は、頂点を分割する際に、新たに生成される2つの頂点の座標の差分ベクトルについて、図2に示すエッジuvの長さの半分にするように構成されている。ここで、vertex spritが1回実施されと、ポリゴン数が2つ増える。 When splitting a vertex, the mesh decoding unit 201 is configured to set the difference vector between the coordinates of the two newly generated vertices to half the length of the edge uv shown in FIG. 2. Here, when a vertex split is performed once, the number of polygons increases by two.
メッシュ復号部201は、元のポリゴン数になるまで、上述のステップ1及びステップ2を繰り返して実施するように構成されている。 The mesh decoding unit 201 is configured to repeatedly perform steps 1 and 2 described above until the original number of polygons is reached.
メッシュ後処理部202は、隣接するパッチのメッシュに対する後処理を実施するように構成されている。 The mesh post-processing unit 202 is configured to perform post-processing on the meshes of adjacent patches.
具体的には、メッシュ後処理部202は、以下のステップを実施するように構成されている。 Specifically, the mesh post-processing unit 202 is configured to perform the following steps:
ステップ1として、パッチの境界のポリゴンは、エッジ不足が発生するため、メッシュ後処理部202は、境界のエッジ毎で、以下のような処理を実施するように構成されている。 In step 1, because the polygons at the boundary of the patch have insufficient edges, the mesh post-processing unit 202 is configured to perform the following processing for each boundary edge.
図5に示すパッチP1の境界であるL1が、処理対象のエッジであるものとする。ここで、実際には、パッチP1とパッチP2/P3とは接しているものとする。 L1, which is the boundary of patch P1 shown in Figure 5, is assumed to be the edge to be processed. Here, it is assumed that patch P1 and patches P2/P3 are actually in contact with each other.
ここで、メッシュ後処理部202は、境界L1から隣のパッチP2/P3のポリゴンの頂点V1~V3と最も近い頂点D1~D3を見つけるように構成されている。 Here, the mesh post-processing unit 202 is configured to find the vertices D1 to D3 that are closest to the vertices V1 to V3 of the polygon of the neighboring patch P2/P3 from the boundary L1.
次に、メッシュ後処理部202は、頂点D1~D3と最も近い頂点V1~V3の距離が閾値以内であれば、点線L11~L13を新しいエッジとして追加するように構成されている。 The mesh post-processing unit 202 is configured to add dotted lines L11 to L13 as new edges if the distance between the vertices D1 to D3 and the closest vertices V1 to V3 is within a threshold.
なお、メッシュ後処理部202は、全ての境界のエッジに対する本操作が終わったら、隣接するパッチ間におけるエッジ不足の問題を解決することできる。 Note that once the mesh post-processing unit 202 has completed this operation for all boundary edges, it can resolve the problem of insufficient edges between adjacent patches.
ステップ2として、Lossy compressionのため、図5に示すように、パッチP1とパッチP2/P3との境界L1でギャップ発生している場合、メッシュ後処理部202は、非特許文献1に規定されている技術と同様に、zippering algorithmを用いて、かかるギャップを埋めるように構成されていてもよい。 In step 2, if a gap occurs at the boundary L1 between patch P1 and patches P2/P3 as shown in FIG. 5 due to lossy compression, the mesh post-processing unit 202 may be configured to fill such gaps using a zippering algorithm, similar to the technique defined in Non-Patent Document 1.
かかる場合、メッシュ後処理部202は、図6に示すように、ギャップが生じる頂点のペア(図6の例では、頂点V1と頂点D1とのペア、頂点V2と頂点D2とのペア及び頂点V3と頂点D3とのペア)を見つけて、かかるペア同士の頂点を平均してマージするように構成されていてもよい。 In such a case, the mesh post-processing unit 202 may be configured to find pairs of vertices where gaps occur (in the example of FIG. 6, the pair of vertices V1 and D1, the pair of vertices V2 and D2, and the pair of vertices V3 and D3), as shown in FIG. 6, and to average and merge the vertices of such pairs.
上述のメッシュ符号化装置100及びメッシュ復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。 The above-mentioned mesh encoding device 100 and mesh decoding device 200 may be realized as a program that causes a computer to execute each function (each process).
なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。 In addition, according to this embodiment, for example, it is possible to realize an improvement in the overall service quality in video communication, which makes it possible to contribute to Goal 9 of the Sustainable Development Goals (SDGs) led by the United Nations, which is to "build resilient infrastructure, promote sustainable industrialization and foster innovation."
100…メッシュ符号化装置
101…セグメンテーション部
102…メッシュ生成部
103…メッシュ符号化部
200…メッシュ復号装置
201…メッシュ復号部
202…メッシュ後処理部
100... mesh encoding device 101... segmentation unit 102... mesh generation unit 103... mesh encoding unit 200... mesh decoding device 201... mesh decoding unit 202... mesh post-processing unit
Claims (8)
符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建するように構成されているメッシュ復号部と、
隣接する前記パッチの前記メッシュに対する後処理を実施するように構成されているメッシュ後処理部とを備え、
前記メッシュ復号部は、前記パッチ毎のポリゴン数を示す変数に基づいて、前記元のポリゴン数を算出し、算出した前記元のポリゴン数になるまで、Vertex spritを繰り返し実施するように構成されていることを特徴とするメッシュ復号装置。 A mesh decoding device, comprising:
a mesh decoder configured to decode a mesh in each patch from the encoded bitstream and reconstruct the original number of polygons in the mesh based on a variable indicating the number of polygons in each patch;
a mesh post-processing unit configured to perform post-processing on the mesh of the adjacent patch ;
The mesh decoding device is characterized in that the mesh decoding unit is configured to calculate the original number of polygons based on a variable indicating the number of polygons for each patch, and to repeatedly perform vertex split until the calculated original number of polygons is reached .
符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建するように構成されているメッシュ復号部と、
隣接する前記パッチの前記メッシュに対する後処理を実施するように構成されているメッシュ後処理部とを備え、
前記メッシュ後処理部は、前記パッチの境界でエッジ不足のポリゴンに対して新しいエッジを作るように構成されていることを特徴とするメッシュ復号装置。 A mesh decoding device, comprising:
a mesh decoder configured to decode a mesh in each patch from the encoded bitstream and reconstruct the original number of polygons in the mesh based on a variable indicating the number of polygons in each patch;
a mesh post-processing unit configured to perform post-processing on the mesh of the adjacent patch;
The mesh decoding device according to claim 1, wherein the mesh post-processing unit is configured to create new edges for polygons that lack edges at the boundaries of the patches.
符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建する工程Aと、
隣接する前記パッチの前記メッシュに対する後処理を実施する工程Bとを有し、
前記工程Aにおいて、前記パッチ毎のポリゴン数を示す変数に基づいて、前記元のポリゴン数を算出し、算出した前記元のポリゴン数になるまで、Vertex spritを繰り返し実施することを特徴とするメッシュ復号方法。 A mesh decoding method, comprising:
A step A of decoding a mesh for each patch from the encoded bitstream and reconstructing the original number of polygons in said mesh based on a variable indicating the number of polygons in each patch;
and B. performing post-processing on the mesh of the adjacent patch ,
In the step A, the original number of polygons is calculated based on a variable indicating the number of polygons for each patch, and vertex split is repeatedly performed until the calculated original number of polygons is reached .
符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建する工程Aと、A step A of decoding a mesh for each patch from the encoded bitstream and reconstructing the original number of polygons in said mesh based on a variable indicating the number of polygons in each patch;
隣接する前記パッチの前記メッシュに対する後処理を実施する工程Bとを有し、and step B performing post-processing on the mesh of the adjacent patch,
前記工程Bにおいて、前記パッチの境界でエッジ不足のポリゴンに対して新しいエッジを作ることを特徴とするメッシュ復号方法。A mesh decoding method, characterized in that in the step B, new edges are created for polygons that lack edges at the boundaries of the patches.
前記メッシュ復号装置は、
符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建するように構成されているメッシュ復号部と、
隣接する前記パッチの前記メッシュに対する後処理を実施するように構成されているメッシュ後処理部とを具備し、
前記メッシュ復号部は、前記パッチ毎のポリゴン数を示す変数に基づいて、前記元のポリゴン数を算出し、算出した前記元のポリゴン数になるまで、Vertex spritを繰り返し実施するように構成されていることを特徴とするプログラム。 A program for causing a computer to function as a mesh decoding device, comprising:
The mesh decoding device comprises:
a mesh decoder configured to decode a mesh in each patch from the encoded bitstream and reconstruct the original number of polygons in the mesh based on a variable indicating the number of polygons in each patch;
a mesh post-processing unit configured to perform post-processing on the mesh of the adjacent patch ;
the mesh decoding unit is configured to calculate the original number of polygons based on a variable indicating the number of polygons for each patch, and to repeatedly perform vertex split until the calculated original number of polygons is reached .
前記メッシュ復号装置は、The mesh decoding device comprises:
符号化されたビットストリームから、各パッチにおいてメッシュを復号し、各パッチにおけるポリゴン数を示す変数に基づいて、前記メッシュにおいて元のポリゴン数を再建するように構成されているメッシュ復号部と、a mesh decoder configured to decode a mesh in each patch from the encoded bitstream and reconstruct the original number of polygons in the mesh based on a variable indicating the number of polygons in each patch;
隣接する前記パッチの前記メッシュに対する後処理を実施するように構成されているメッシュ後処理部とを具備し、a mesh post-processing unit configured to perform post-processing on the mesh of the adjacent patch;
前記メッシュ後処理部は、前記パッチの境界でエッジ不足のポリゴンに対して新しいエッジを作るように構成されていることを特徴とするプログラム。The mesh post-processing unit is configured to create new edges for polygons that lack edges at the boundaries of the patches.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022067448A JP7712890B2 (en) | 2022-04-15 | 2022-04-15 | Mesh decoding device, mesh encoding device, mesh decoding method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022067448A JP7712890B2 (en) | 2022-04-15 | 2022-04-15 | Mesh decoding device, mesh encoding device, mesh decoding method and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023157503A JP2023157503A (en) | 2023-10-26 |
| JP7712890B2 true JP7712890B2 (en) | 2025-07-24 |
Family
ID=88469078
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022067448A Active JP7712890B2 (en) | 2022-04-15 | 2022-04-15 | Mesh decoding device, mesh encoding device, mesh decoding method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7712890B2 (en) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002501650A (en) | 1998-01-30 | 2002-01-15 | ユニバーシティー オブ サザン カリフォルニア | 3D mesh compression and encoding |
| JP2006136021A (en) | 1998-08-29 | 2006-05-25 | Samsung Electronics Co Ltd | Progressive encoding / decoding method and apparatus for three-dimensional mesh information |
| JP2007265459A (en) | 1997-04-03 | 2007-10-11 | Microsoft Corp | Method and device for adaptive refinement of progressive mesh |
| US20100266216A1 (en) | 2009-04-15 | 2010-10-21 | Samsung Electronics Co., Ltd. | Progressive mesh decoding apparatus and method |
| JP2021022122A (en) | 2019-07-26 | 2021-02-18 | キヤノン株式会社 | Information processing apparatus, information processing method, data structure, and program |
| JP2023514853A (en) | 2020-03-18 | 2023-04-11 | ソニーグループ株式会社 | projection-based mesh compression |
| WO2023181899A1 (en) | 2022-03-25 | 2023-09-28 | ソニーグループ株式会社 | Information processing device and method |
-
2022
- 2022-04-15 JP JP2022067448A patent/JP7712890B2/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007265459A (en) | 1997-04-03 | 2007-10-11 | Microsoft Corp | Method and device for adaptive refinement of progressive mesh |
| JP2002501650A (en) | 1998-01-30 | 2002-01-15 | ユニバーシティー オブ サザン カリフォルニア | 3D mesh compression and encoding |
| JP2006136021A (en) | 1998-08-29 | 2006-05-25 | Samsung Electronics Co Ltd | Progressive encoding / decoding method and apparatus for three-dimensional mesh information |
| US20100266216A1 (en) | 2009-04-15 | 2010-10-21 | Samsung Electronics Co., Ltd. | Progressive mesh decoding apparatus and method |
| JP2021022122A (en) | 2019-07-26 | 2021-02-18 | キヤノン株式会社 | Information processing apparatus, information processing method, data structure, and program |
| JP2023514853A (en) | 2020-03-18 | 2023-04-11 | ソニーグループ株式会社 | projection-based mesh compression |
| WO2023181899A1 (en) | 2022-03-25 | 2023-09-28 | ソニーグループ株式会社 | Information processing device and method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023157503A (en) | 2023-10-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN115428459B (en) | Method, apparatus and system for video-based mesh compression | |
| CN113939849B (en) | Mesh compression via point cloud representation | |
| JP5981566B2 (en) | Method and apparatus for processing a bitstream representing a 3D model | |
| JP5033261B2 (en) | Low-complexity three-dimensional mesh compression apparatus and method using shared vertex information | |
| CN117178297A (en) | Microgrids, structured geometries used in computer graphics | |
| RU2267161C2 (en) | Method for encoding and decoding given three-dimensional objects and device for realization of said method | |
| US12217465B2 (en) | Method and apparatus for point cloud coding | |
| JP2015504545A (en) | Predictive position coding | |
| CN101610411A (en) | Method and system for video sequence hybrid encoding and decoding | |
| CN118476223B (en) | Dynamic mesh encoding for topology simplification | |
| CN117157671A (en) | Methods, encoder and decoder for encoding and decoding 3D point clouds | |
| US20250148715A1 (en) | Efficient geometry component coding for dynamic mesh coding | |
| CN116848553A (en) | A method for dynamic mesh compression based on 2D UV atlas sampling | |
| CN119948527A (en) | Method, encoder and decoder for encoding and decoding 3D point cloud | |
| Chai et al. | Depth map compression for real-time view-based rendering | |
| CN121532801A (en) | Methods for generating global displacement transformation in mesh compression | |
| KR20240163635A (en) | V-PCC based dynamic textured mesh coding without using occupancy maps | |
| CN118369693A (en) | Merge multiple property graphs | |
| JP7712890B2 (en) | Mesh decoding device, mesh encoding device, mesh decoding method and program | |
| US20240135594A1 (en) | Adaptive geometry filtering for mesh compression | |
| EP4233006B1 (en) | Devices and methods for spatial quantization for point cloud compression | |
| JP7734112B2 (en) | Mesh decoding device, mesh encoding device, mesh decoding method and program | |
| CN116868572A (en) | Methods, encoders and decoders for encoding and decoding 3D point clouds | |
| US12412313B2 (en) | Mesh geometry coding | |
| WO2025152086A1 (en) | Method and apparatus for coding a geometry of a point cloud, and data stream having encoded therein a geometry of a point cloud |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240628 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250423 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250513 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250623 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250701 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250711 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7712890 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |