JP7477528B2 - 点群の処理 - Google Patents
点群の処理 Download PDFInfo
- Publication number
- JP7477528B2 JP7477528B2 JP2021559510A JP2021559510A JP7477528B2 JP 7477528 B2 JP7477528 B2 JP 7477528B2 JP 2021559510 A JP2021559510 A JP 2021559510A JP 2021559510 A JP2021559510 A JP 2021559510A JP 7477528 B2 JP7477528 B2 JP 7477528B2
- Authority
- JP
- Japan
- Prior art keywords
- patch
- sample
- samples
- contour
- point cloud
- 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
- 238000012545 processing Methods 0.000 title description 19
- 238000000034 method Methods 0.000 claims description 122
- 238000001914 filtration Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 5
- 239000000523 sample Substances 0.000 description 134
- 230000008569 process Effects 0.000 description 74
- 238000009499 grossing Methods 0.000 description 50
- 238000010586 diagram Methods 0.000 description 33
- 230000015654 memory Effects 0.000 description 28
- 101001036283 Xenopus laevis DNA-binding protein inhibitor ID-3-A Proteins 0.000 description 23
- 238000004891 communication Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 11
- 238000013459 approach Methods 0.000 description 7
- 230000000670 limiting effect Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 7
- 239000013074 reference sample Substances 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 102100026398 Cyclic AMP-responsive element-binding protein 3 Human genes 0.000 description 4
- 101710128029 Cyclic AMP-responsive element-binding protein 3 Proteins 0.000 description 4
- 101001002508 Homo sapiens Immunoglobulin-binding protein 1 Proteins 0.000 description 4
- 101001081567 Homo sapiens Insulin-like growth factor-binding protein 1 Proteins 0.000 description 4
- 102100027636 Insulin-like growth factor-binding protein 1 Human genes 0.000 description 4
- 101001012092 Mus musculus Epsin-1 Proteins 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 102100022710 Insulin-like growth factor-binding protein 2 Human genes 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 235000019994 cava Nutrition 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003628 erosive effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000013442 quality metrics Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 108050005509 3D domains Proteins 0.000 description 1
- 101001044940 Homo sapiens Insulin-like growth factor-binding protein 2 Proteins 0.000 description 1
- 101001012096 Mus musculus Epsin-2 Proteins 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000916 dilatatory effect Effects 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/20—Contour coding, e.g. using detection of edges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Generation (AREA)
Description
Dx(M)=x(M)-x(R)
ここで、x(M)およびx(R)は、それぞれ、図3によって与えられるジオメトリ画像における3DサンプルMおよび3D参照サンプルRのx座標である。
Dy(M)=y(M)-y(R)
ここで、y(M)およびy(R)は、それぞれ、図3によって与えられるジオメトリ画像における3DサンプルMおよび3D参照サンプルRのy座標である。
Dz(M)=z(M)-z(R)
ここで、z(M)およびz(R)は、それぞれ、図3によって与えられるジオメトリ画像における3DサンプルMおよび3D参照サンプルRのz座標である。
Dr(M)=R(M)-R(R)
ここで、R(M)およびR(R)は、それぞれ、3DサンプルMおよび3D参照サンプルRの色属性のr色成分である。
Dg(M)=G(M)-G(R)
ここで、G(M)およびG(R)は、それぞれ、3DサンプルMおよび3D参照サンプルRの色属性のg色成分である。
Db(M)=B(M)-B(R)
ここで、B(M)およびB(R)は、それぞれ、3DサンプルMおよび3D参照サンプルRの色属性のb色成分である。
δ(u,v)=δ0+g(u,v)
s(u,v)=s0-u0+u
r(u,v)=r0-v0+v
ここで、g(u,v)は、ジオメトリ画像の輝度成分であり、(u,v)は、投影面上で3Dサンプルと関連付けられた画素であり、(δ0,s0,r0)は、3Dサンプルが属する連接成分の対応するパッチの3D位置であり、(u0,v0,u1,v1)は、その連接成分に関連付けられたパッチの投影を包含する2Dバウンディングボックスを定義する投影面内の座標である。
δ(u,v)=δ0+g(u,v)
s(u,v)=s0-u0+u
r(u,v)=r0-v0+v
ここで、g(u,v)は、デコードされたジオメトリ画像DGIの輝度成分であり、(u,v)は、再構築された3Dサンプルに関連付けられた画素であり、(δ0,s0,r0)は、再構築された3Dサンプルが属する連接成分の3D位置であり、(u0,v0,u1,v1)は、その連接成分に関連付けられたパッチの投影を包含する2Dバウンディングボックスを定義する投影面内の座標である。
-「p」から最大距離Dmax未満の3D距離にある、N個の最も接近した隣接する3Dサンプルpn(i),i=0,…,N-1を選択する。
-Nが最小値Nmin未満である場合には、次の3Dサンプル「p」(パッチの境界付近の次の2Dサンプルに対応する)に移る。
-全ての隣接する3Dサンプルpn(i)が、フィルタリングされるべきカレントパッチと同じパッチに属する2Dサンプルに対応する場合には、
-隣接する3Dサンプルpn(i)の重心を計算し、ここで、重心は、全ての隣接する3Dサンプルpn(i)の3Dジオメトリ座標の平均であり、
-3Dサンプル「」を重心に移動させる。
Patch Block Filtering
For all patch p
| // Patch Initialization: copy OCM and Geo[0] in patch
| For V in [ 0; sizeV0 ]
| | For U in [ 0; sizeV0 ]
| | | if blockToPatch( U,V ) == patchIndex
| | | | copy geometryVideo[0] in patchdephtMap
| | | | copy occupancyMapVideo in patchOccupancyMap
| dilate depth map
| // Generate 3D border points
| identifyBoundaryPoints
| for all border points
| | generate 3D points
| compute 3D bounding box of border points
入力:
-パッチリスト{p}
-占有マップ画像(OMI)
-マップ0のジオメトリ画像(GI0)
出力:
-各パッチpについて、添付された以下の情報とともにCAN(p)を得る。
・p内部の全ての点の拡張されたジオメトリ画像0(UGI0)
・p内部の全ての点の占有マップ(OM)
・3D境界点
・3D境界点の3Dバウンディングボックス
プロセス:
-入力として、最適化の目的のために、GI0内の占有点の深度のみが使用されるが、ジオメトリGI0およびGI1の両方が使用されることも可能である。GI0のみを使用することは、それにより時間がかかる可能性があるGI1に対する拡張フェーズが回避されるので、このプロセスにおける最適化である。
-深度マップ拡張→現在の点の深度値を「空の空間」に伝播させて、我々が任意の境界パッチの最も近接した点の深度を知ることができるようにする。
-identifyBoundaryPoints→この段階は、反復的にする(通常、反復数は2に等しい)こともでき、点が境界パッチ点とみなされなければならないかどうかを識別することを可能にする。
1-パッチの各点について、ほぼ1つの隣接画素(右上の画素、下の画素、下方隣接の画素)が非占有として設定されている場合には、点は、境界点としてマークされる。我々は、IBP1と呼ばれる、パッチ境界の外部リングに識別された境界点のリストを有する。
2-全てのIBP1の点に対して同じ動作を再度行って、パッチ境界の第2のリングの内側により多くの点を得る。その結果得られるのは、IPB2と呼ばれる、第2の識別された境界点のリストである。
-IBP1およびIBP2として識別された全ての点について、3D点を再構築し、対応する3Dバウンディングボックスを計算する。
// Set neighboring patch lists
For all patches
| For all patches de CAN(p)
| | if patches intersect
| | | add patch in neighboring patch lists
入力:
-パッチリスト
-以前のステップのCAN(p)の候補パッチ
出力:
-隣接パッチのリスト→Nei(p)
プロセス:
pおよびCAN(p)のバウンディングボックスが交差する場合には、CAN(p)はNei(p)として設定される。
-輪郭C(p)の2Dサンプルが参照輪郭RC(p)の外側にある場合には、モジュールは、そのような2Dサンプルを侵食して、それをカレントパッチpから除去し、次いで、その隣接する2Dサンプルを輪郭C(p)の2Dサンプルとしてマークし、それらを再帰的に処理し、
-輪郭C(p)の2Dサンプルが参照輪郭RC(p)の内側にある場合には、モジュールは、そのような2Dサンプルを拡張し、次いで、追加の2Dサンプルを輪郭C(p)の2Dサンプルとして新たにマークし、それらを再帰的に処理する。
-2Dサンプル「p」の法線を計算し、ここで、この法線は、カレントパッチpの外側を指しており、
-ローカルウィンドウ(local window)を2等分する、2Dサンプル「p」の法線に対する接線を計算し、
-ローカルウィンドウの各半分内の参照輪郭RC(p)の2Dサンプルの量、すなわちローカルウィンドウの内側半分内の参照輪郭RC(p)の2Dサンプルの量に対応するCin(p)、およびローカルウィンドウの外側半分内の参照輪郭RC(p)の2Dサンプルの量に対応するCout(p)を推定し、
-Cin(p)がCout(p)より大きい場合には、2Dサンプル「p」は、参照輪郭RC(p)の外側にある。そうでない場合には、2Dサンプル「p」は、参照の内側にある。
#define IDX( tl, t, tr, l, v, r, bl, b, br ) \
( ( tl << 7 )|( t << 6 )|( tr << 5 )|( l << 4 )|
( r << 3 )|( bl << 2 )|( b << 1 )|( br ) )
ここで、tlは左上の画素であり、tは上の画素であり、trは右上の画素であり、lは左の画素であり、rは右の画素であり、blは左下の画素であり、bは下の画素であり、brは右下である。インデックスIDXは、[0:255]で定義され、あらかじめ計算された法線値のLUTにアクセスするために直接使用されることが可能である。法線値のLUTは、以下のように定義される。
static const std::vector<uint8_t> g_orientation = { 0, 0, 6, 0, 0, 0, 0, 6, 4, 0, 0, 5, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 4, 3, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 0, 4, 1, 0, 0, 0, 1, 0, 1, 0, 2, 3, 0, 0, 1, 2, 0, 0};
int8_t n = g_orientation[ IDX( p[c - w - 1], p[c - w], p[c - w + 1],
p[c - 1], p[c], p[c + 1],
p[c + w - 1], p[c + w], p[c + w + 1] ) ];
入力:
・パッチリスト
・7010の出力であるNei(p)
・Nei(p)の3D境界点
・OMおよびGEO画像
出力:
・除去された点がある可能性がある修正されたOM(少なくとも同じもの、または除去された点があるもの)
プロセス:
続くプロセスでは、#linesは、実装の最適化を表す。それは、最も接近した点を投影し、深度マップ中の対応する深度を記憶するので、全てのNei(p)の全ての点の現在の深度の距離の計算を回避する。
-隣接画素(右上の画素、下の画素、下方隣接画素)を考慮して、隣接の数を計算する。
-ローカルウィンドウ(左上下右)内に隣接点が見つからないときには、点を迅速に除去するために簡単なステップが用いられる。
-隣接の数が4未満である場合には、特許文献1と同様に行う。
// Smoothing
For all patches
| // Build neighbor Depth
# For all neighboring patch Nei(p)
# | For all 3D border points
# | | if point is in the current patch bounding box
# | | | project 3D point in 2D patch space (x,y,z) => (u,v,d)
# | | | store depth of the nearest points in the depth Map
| For iter in [0; filteringSize [
| | For each 2D point with ocm equal to 1
| | | Count the number of patch points in the neighborhood of the current point (left,top,right,botton points with ocm equal to 1)
| | | if number of neighbors is 0
| | | | remove point (set ocm to 0)
| | | if number of neighbors is less than 4
| | | | Compute contour orientation based on the ocm
| | | | for all point in the orientation of the local window of size [localWindowSizeX; localWindowSizeY]
| | | | | Find the closest border point of the neighborhood patches projected in the same uv position
| | | | | if exist
| | | | | | sum the 3D distance between the current point and the closest point of the neighbor patches
| | | | | | sum the 3D distance between the erode point and the closest point of the neighbor patches
| | | | if sum of the current points is superior to the sum computed with the erode point
| | | | | remove point ( set ocm to 0 )
態様によれば、平滑化のパラメータは、以下のように取得されることがある。
occPrecDefault=2;
filteringSizeDefault=1;
localWindowSizeXDefault= 2;
localWindowSizeYDefault= 1;
stuffingSizeDefault = 2;
if (OccPrec is equal to occPrecDefault) {
filteringSize=filteringSizeDefault;
LocalWindowSizeX= localWindowSizeXDefault;
LocalWindowSizeY= localWindowSizeYDefault;
stuffingSize= stuffingSizeDefault ;
} else if (OccPrec is equal to occPrecDefault*n) {
filteringSize=filteringSizeDefault* n;
LocalWindowSizeX= localWindowSizeXDefault*n ;
LocalWindowSizeY= localWindowSizeYDefault*n ;
stuffingSize=stuffingSizeDefault *n
}
ここで、
ステップ7030の態様によれば、サブステップ7033で、輪郭C(p)は、カレントパッチpの2Dサンプルに対応する3Dサンプルと参照輪郭RC(p)の2Dサンプルに対応する3Dサンプルとの間に少なくとも1つの追加の3Dサンプルを追加することによって、修正されることがある。
2つの異なるパッチに由来する2つの近い3D点の属性(例えば色)が、視覚的品質への影響(損傷)を有するビデオ符号化における属性の量子化段階が原因で、有意に異なる色を有することがある。このため、2Dパッチの境界として検出される3D点の属性を平滑化することを目的として、3D色平滑化プロセスが、V-PCCに導入されている。基本的には、このプロセスは、それ自体の周りのいくつかの選択された点の平均色を計算する。
1)色属性重心グリッド生成
2)境界点の識別、および
3)3Dグリッド色属性平滑化
からなる。
この段階の例は、例えば、V-PCCの条項9.6.3.2「属性中心グリッドの識別」に記載されている。
本プロセスへの入力は:
-再構築された位置RecPcGeom[i], 0≦i< PointCntを含むアレイ、
-属性インデックスaIdx、
-再構築された属性RecPcAttr[aIdx][i], 0≦i< PointCntを含むアレイ、および
-属性成分の数を示すnumComps。
本プロセスの出力は:
-再構築された中心グリッド属性値attrCenterGrid[ i ][k], 0≦i< numCells and k = 0 to numComps -1, inclusive、
-再構築された中心グリッド平均輝度値meanLuma[i], 0≦i< numCellsを含むアレイ、および
-再構築された中心グリッド輝度中央値attrMean[i][k], 0≦i< numCells and k = 0 to numComps -1, inclusiveを含むアレイ。
attrCenterGrid[x][y][z][m]、meanLuma[x[y][z]は、0から(numCells - 1)の範囲(両端含む)の全てのx、y、およびzと、0からnumComps - 1の範囲(両端含む)のmとについて、0に初期化される。
条項9.6.3.1は、0から(numCells - 1)の範囲(両端含む)の全てのx、y、およびzについてアレイcellDoSmoothing[x][y][z]、cellCnt[x][y][z]、cellPatchIdx[x][y][z]を得るために適用される。
i = 0から(PointCnt - 1)(両端含む)について、以下が適用される。
変数xIdx、yIdx、およびzIdxは、以下のように導出される。
xIdx = (RecPcGeom[i][0] / GridSize)
yIdx = (RecPcGeom[i][1] / GridSize)
zIdx = (RecPcGeom[i][2] / GridSize)
cellDoSmoothing[xIdx][yIdx][zIdx]が1に等しい場合には、以下が適用される。
for( k= 0 ; k < numComps ; k++ )
attrCenterGrid[xIdx][yIdx][zIdx][k] + = RecPcAttr[aIdx][i][k];
0から(numCells - 1)の範囲(両端含む)のx、y、zについてcellCnt[x][y][z]が0より大きい場合には、そのセルに属する点について、インデックスaIdxを有する属性の平均および中央輝度値が計算され、それぞれアレイmeanLuma[x][y][z]およびmedianLuma[x][y][z]に割り当てられる。また、attrCenterGridの輝度値は、centroidLuma[x][y][z]に割り当てられる。
色属性の場合には、以下のように、属性値attrValue[k], 0≦k<3に対応する輝度値を決定する。
lumaValue=0.2126 * RecPcAttr[aIdx][0]+0.7152 * RecPcAttr[aIdx][1] + 0.0722 * RecPcAttr[aIdx][2];
meanLuma[xIdx][yIdx][zIdx] += lumaValue;
属性中心グリッドを導出する
for(k = 0 ; k < numComps ; k++ )
attrCenterGrid[xIdx][yIdx][zIdx][k] = attrCenterGrid[xIdx][yIdx][zIdx][k] / cellCnt[xIdx][yIdx][zIdx]
meanLuma[xIdx][yIdx][zIdx] = meanLuma[xIdx][yIdx][zIdx] / cellCnt[xIdx][yIdx][zIdx]。
この段階の例は、例えば、V-PCCの条項9.6.4「境界点の識別」に記載されている。
本プロセスへの入力は:
-占有マップフレームoFrame、
-アクティブなgeometry_patch_parameter_setからのパッチインデックス情報
本プロセスの出力は:
再構築された点群のパッチ境界タイプのリストを保持するコンテナrecPCBoudanyPointType。
変数BoundaryPointTypeは、点がパッチ境界の近くに位置するかどうかを識別する。BoundaryPointTypeは、0から1の範囲(両端含む)の値を取り得る。BoundaryPointTypeの値0は、点がパッチ境界の近くではないことを示す。2次元の(asps_frame_width)*(asps_frame_height)アレイBPTypesは、投影された点群フレーム中の各点のBoundaryPointTypeの値を記憶する。
1次元リストrecPCBoundaryPointTypeは、oFrame[y][x]の値が0に等しくない投影された点群フレーム中の各点(x、y)についてのBoundaryPointTypeを記憶する。BoundaryPointTypeの値は、以下のようにBPTypes[y][x]およびrecPCBoundaryPointTypeに割り当てられる。
pointIndex = 0;
for(x = 0; x < asps_frame_width; x++ )
for(y = 0; y < asps_frame_height; y++ ) {
BPTypes[y][x] = 0
recPCBoundaryPointType[ pointIndex ] = 0
if(oFrame[y][x] ! = 0 )
if((oFrame[y][x-1]= = 0)||(oFrame[y][x+1]= =0)||
(oFrame[y-1][x]= = 0)||(oFrame[y+1][x]= =0)||
(oFrame[y-1][x-1]= = 0)||(oFrame[y-1][x+1] = =0)||
(oFrame[y+1][x-1] = = 0)||(oFrame[y+1][x+1] = = 0)){
recPCBoundaryPointType[ pointIndex] = 1
BPTypes[y][x] = 1
}
if((oFrame[y][x]!= 0)&&(recPCBoundaryPointType[pointIndex]!=1))
if((oFrame[y-2][x-2] = = 0)||(oFrame[y-2][x-1] = =0)||
(oFrame[y-2][x] = = 0)||(oFrame[y-2][x+1] = = 0)||
(oFrame[y-2][x+2] = = 0)||(oFrame[y-1][x-2] = =0)||
(oFrame[y-1][x+2] = = 0)||(oFrame[y][x-2] = = 0)||
(oFrame[y][x+2] = = 0)||(oFrame[y+1][x-2] = = 0)||
(oFrame[y+1][x+2] = = 0)||(oFrame[y+2][x-2] = =0)||
(oFrame[y+2][x-1] = = 0)||(oFrame[y+2][x] = = 0)||
(oFrame[y+2][x+1] = = 0)||(oFrame[y+2][x+2] = = 0))
recPCBoundaryPointType[pointIndex] = 1
pointIndex++
}
上記の割当てプロセスにおいて、(x-2)もしくは(x+2)が、0からasps_frame_width - 1の範囲(両端含む)の外側である、または(y-2)もしくは(y+2)が、0からasps_frame_height - 1の範囲(両端含む)の外側である場合には、BPTypes[y][x]およびrecPCBoundaryPointType[pointIndex]の値は、1に等しいと仮定される。
図15は、この段階の図示を提供する。図15に示すように、3Dの8×8×8のセルのそれぞれの平均属性値が決定される。次いで、3Dグリッドに対するトライリニアフィルタリングを計算することによって、各境界点の平均属性値が補間される。
このプロセスは、afp_attribute_smoothing_enabled_flag[aIdx]が1に等しいときに呼び出される。ここで、aIdxは、属性インデックスである。
本プロセスへのの入力は:
-公称解像度における現在の点群フレームに対応する占有マップoFrame、
-属性インデックスaIdx、
-属性インデックスaIdxに対応する成分の数numComps、
-属性平滑化制御パラメータセットafp_attribute_smoothing_grid_size[aIdx]、afp_attribute_smoothing_threshold[aIdx]、afp_attribute_smoothing_threshold_local_entropy[aIdx]、afp_attribute_smoothing_threshold_variation[aIdx]、およびafp_attribute_smoothing_threshold_difference[aIdx]
-属性インデックスaIdxについての再構築された属性値を含むアレイRecPcAttrSmIn[aIdx][i][j], 0≦i< PointCnt, 0≦j< numComps、
-再構築された(場合によっては平滑化された)再構築された位置を含むアレイRecPcGeomSmOut[i][j], 0≦i< PointCnt, 0≦j≦2、ならびに
-RecPcGeomSmOut中の各点に対応するパッチインデックス情報。
本プロセスの出力は:
-属性インデックスaIdxについての再構築された平滑化された属性値を含むアレイ RecPcAttrSmOut[aIdx][i][j], 0≦i< PointCnt, 0≦j< numComps。
変数GridSizeは、AttributeSmoothingGridSize[aIdx]に設定される。
セル数numCellsと、i=0からnumCells -1(両端含む)についてのattrCenterGrid[i]およびcellDoSmoothing[x][y][z]とは、9.6.3.2に記載されるように導出される。
i=0から(PointCnt - 1)(両端含む)について、以下が適用される。
-otherClusterPtCntは、0に設定される。
パッチ境界の点を決定するために、条項9.6.4が呼び出されて、RecPcGeomSmOutの各点が境界点であるかどうかを識別するアレイrecPCBoundary[idx], 0≦ idx < PointCntを生成する。
i=0から(PointCnt - 1)(両端含む)について、以下が適用される。
-recPCBoundary[i]が1に等しい場合には、以下のステップが実行される。
-0から2の範囲(両端含む)の変数pointGeom[j], j、および0から(numComps - 1)の範囲(両端含む)の変数pointAttr[k], kは、以下のように定義される。
for(j = 0; j < 3 ; j++ )
pointGeom[j] = RecPcGeomSmOut[i][j]
for(k = 0; k < numComps ; k++ )
pointAttr[k] = RecPcAttrSmIn[aIdx][i][k]
-現在の位置に対応する2×2×2のグリッド近傍pointGeom[i]、
-2×2×2グリッドの左上隅s[i]、
-現在の位置に関連付けられた2x2x2グリッドの位置t[i]、i=0から2(両端含む)、
-ブール値otherClusterPtCn
otherClusterPtCntが1に等しい場合には、以下が適用される。
-現在のセルの2×2×2セル近傍中の属性の変化は、以下のように決定される。
2×2×2セル近傍についてのisOriginalCellアレイは、以下のように決定される。
for(dx = 0; dx < 2; dx++)
for(dy = 0; dy < 2; dy++)
for(dz = 0; dz < 2; dz++) {
xIdx = s[0] + dx
yIdx = s[1] + dy
zIdx = s[2] + dz
if((xIdx == t[0] )&&(yIdx == t[1]) && ( zIdx == t[2])) {
isOriginalCell[dx][dy][dz] = 1
for(k=0; k < numComps; k++)
currAttr[k] = pointAttr[k]
if(abs(MeanLuma[xIdx][yIdx][zIdx] - medianLuma[xIdx][yIdx]zIdx])
<= afp_attribute_smoothing_threshold_variation[aIdx])
{
lumaOrig = centroidLuma[xIdx][yIdx][zIdx]
for(k=0; k < numComps; k++)
attrCentroid[dx][dy][dz][k] =attrCenterGrid[xIdx][yIdx][zIdx][k]
}
else {
lumaOrig = 0.2126 * currAttr[0] + 0.7152 * currAttr[1] + 0.0722 * currAttr[2]
for(k=0; k < numComps; k++)
attrCentroid[dx][dy][dx][k] = currAttr[k]
}
}
else
isOriginalCell[dx][dy][dz] = 0
}
-セル内の属性値の変化(アクティビティを表す)、および元のセルの輝度重心値と隣接するセルの輝度重心値の間の差は、以下のように決定される。
for(dx = 0; dx < 2; dx++)
for(dy = 0; dy < 2; dy++)
for(dz = 0; dz < 2; dz++) {
xIdx = s[0] + dx
yIdx = s[1] + dy
zIdx = s[2] + dz
if( isOriginalCell[dx][dy][dz] == 0)
if(cellCnt[xIdx][yIdx][zIdx] > 0) {
for(k=0; k < numComps; k++)
attrCentroid[dx][dy][dx][k] = attrCenterGrid[xIdx][yIdx][zIdx][k]
lumaN = centroidLuma[xIdx][yIdx][zIdx]
diff = abs(lumaOrig - lumaN)
var = meanLuma[xIdx][yIdx][zIdx] - medianLuma[xIdx][yIdx][zIdx]
if((diff > afp_attribute_smoothing_threshold_difference[aIdx])||
(abs(var) > afp_attribute_smoothing_threshold_variation[aIdx]))
for(k=0; k < numComps; k++)
attrCentroid[dx][dy][dx][k] = currAttr[k]
} else {
for(k=0; k < numComps; k++)
attrCentroid[dx][dy][dx][k] = currAttr[k]
}
}
-9.6.6に記載される8タップトライリニアフィルターが、2×2×2近傍内の属性重心attrCentroid[x][y][z][k] 0≦x,y,z< 1, 0≦k< numComps - 1に適用される。
-abs(Ycell - Ycur) * 10として定義される変数distToCentroid2は、afp_attribute_smoothing_threshold_smoothing[aIdx]より大きく、ここで、YcellおよびYcurは、それぞれ現在のセル内の点の重心の輝度値(attrCentroid)および現在の点の輝度値(pointAttr)である。
パッチの各境界点について、図17Aおよび図17Bに示すように色重心のフレームを計算する。
入力:
・属性色画像:公称解像度におけるデコードされた属性フレームAFrame [aIdx][mapIdx][cIdx][y][x]、ここで、mapIdx = 0..vpcc_map_count_minus1、y = 0 .. asps_frame_height - 1、x = 0 .. asps_frame_width - 1、aIdx =0..ai_attribute_count - 1、およびcIdx = 0 .. ai_attribute_dimension_minus1[aIdx]である。
・占有画像;公称解像度における現在の点群フレームに対応する占有マップの第1の成分OFrame [y][x][0]、ここで、y = 0..asps_frame_height - 1、x = 0..asps_frame_width - 1である。
・パッチのインデックスp。
出力:
・色重心画像:計算された重心の色属性値を含むフレームCFrame [aIdx][mapIdx][cIdx][y][x]、ここで、mapIdx = 0..vpcc_map_count_minus1、y = 0 .. asps_frame_height - 1、x = 0 .. asps_frame_width - 1、aIdx =0..ai_attribute_count - 1、およびcIdx = 0 .. ai_attribute_dimension_minus1[aIdx]である。
*asps-Atlasシーケンスパラメータセット(パラメータが定義されるシンタックス構造)。
プロセス:
占有フレームOFrame [u][v][0]の全ての点(u,v)について、
//MODULE Identified boundary points(すなわち、2D点がパッチの境界である場合)
if ( OFrame[u][v][0] &&
(! OFrame[u+1][v][0]||
! OFrame[u-1][v][0]||
!OFrame[u][v-1][0]||
! OFrameu][v+1][0]))
//MODULE Attribute Center Generation(現在の点の色重心を計算し、この値を色重心フレームに記憶する)
nbPoints=0;
同じパッチインデックスpの(u,v)の近傍(*)内の全ての点(up,vp)について、
nbPoints++;
for aIdx=0..ai_attribute_count - 1,
for mapIdx=0..vpcc_map_count_minus1,
for cIdx = 0.. ai_attribute_dimension_minus1[aIdx],
CFrame [aIdx][mapIdx][cIdx][u][v] += AFrame[aIdx][mapIdx][cIdx][up][vp]
for aIdx=0..ai_attribute_count - 1,
for mapIdx=0..vpcc_map_count_minus1,
for cIdx = 0.. ai_attribute_dimension_minus1[aIdx],
CFrame [aIdx][mapIdx][cIdx][u][v] /= nbPoints;
//MODULE 3D border points generation
[1](SoTA)の条項9.4.6「3D点の位置の再構築」
(*)近傍の計算は、次のように行われることが可能である。
・[u- boxSizeU;u+boxSizeU][v-boxSizeV,v+ boxSizeV]のサイズの矩形の枠について、通常はboxSizeU=4およびboxSizeV=4。
・点(u,v)の周りの円:sqrt((up-u)^2+(vp-v)^2) < distanceという条件の全ての点p(up,vp)について、通常は、distance=5。
・最も近接した点のセットについて、通常は、N24-Neighbor。
出力は、全てのパッチについて1つの画像である(ジオメトリおよびテクスチャ画像と同じ)ことも、パッチごとにいくつかの画像に分割されることも可能であることに留意されたい。
図18Aおよび図18Bに示すように、全ての境界点について、2D色平滑化態様の1つまたは複数の様相は、全ての境界点を有する(図17Aおよび図17Bで計算される作用された重心を有する)平滑化された色重心を計算し、その平滑化された色重心で属性値を更新する。
入力:
・占有画像:公称解像度における現在の点群フレームに対応する占有マップの第1の成分OFrame [y][x][0]、ここで、y = 0..asps_frame_height - 1、x = 0..asps_frame_width - 1である。
・パッチのインデックスp。
・色重心画像:計算された重心の色属性値を含むフレームCFrame [aIdx][mapIdx][cIdx][y][x]、ここで、mapIdx = 0..vpcc_map_count_minus1、y = 0 .. asps_frame_height - 1、x = 0 .. asps_frame_width - 1、aIdx =0..ai_attribute_count - 1、およびcIdx = 0 .. ai_attribute_dimension_minus1[aIdx]である。
・少なくとも1つの隣接するパッチの2Dサンプルを投影場所に再投影することによるパッチpの参照輪郭RC(p)。
出力:
・属性色画像:公称解像度における更新された属性フレームAFrame [aIdx][mapIdx][cIdx][y][x]、ここで、mapIdx = 0..vpcc_map_count_minus1、y = 0 .. asps_frame_height - 1、x = 0 .. asps_frame_width - 1、aIdx =0..ai_attribute_count - 1、およびcIdx = 0 .. ai_attribute_dimension_minus1[aIdx]である。
プロセス:
//MODULE reference contour creation
各パッチについて、
各参照輪郭RC(p)について:
3D境界点をカレントパッチの2D領域に投影する。
各投影された点について、関連付けられた色重心をCFrameから取り出し、我々が関連付けられた属性値を有する参照輪郭ARC(p)を有するようにする
//MODULE Smooth color
と与えられることもある。
パッチの境界(*)に閉じた各2D点(u,v)、pに対して、
nbPoints=0;
ARC(p)内の最も近接した3D点qを求める。
距離(p,q) < 閾値(通常は閾値=6)である場合には、
nbPoints++;
centroid[ai_attribute_count][ai_attribute_dimension_minus1+1] ={0…}
for aIdx=0..ai_attribute_count - 1,
for mapIdx=0..vpcc_map_count_minus1,
for cIdx = 0.. ai_attribute_dimension_minus1[aIdx],
centroid[aIdx][cIdx]+=CFrame[aIdx][mapIdx][cIdx][up][vp](式1)
for aIdx=0..ai_attribute_count - 1,
for mapIdx=0..vpcc_map_count_minus1,
for cIdx = 0.. ai_attribute_dimension_minus1[aIdx],
AFrame [aIdx][mapIdx][cIdx][u][v]= centroid[aIdx][cIdx] /nbPoints;(式2)
と例示される。
パッチの境界(*)に閉じた各2D点(u,v)に対して、
nbPoints=0;
ARC(p)において最も近接した3D点qを求める。
距離(p,q) < 閾値(通常は閾値=6)である場合には、
if(p == q) {
if(abs(CentroidMeanLuma[q] - CentroidMedianLuma[q])
<= afp_attribute_smoothing_threshold_variation[aIdx]) {
lumaOrig = centroidLuma[q]
for(k=0; k < numComps; k++)
attrCentroid[q][k] = attrCenterGrid [q][k]
} else {
lumaOrig = 0.2126*pointAttr [0] +0.7152*pointAttr [1]+0.0722 * pointAttr [2]
for(k=0; k < numComps; k++)
attrCentroid[q][k] = pointAttr [k]
}
} else {
if(CentroidCnt[q] > 0) {
for(k=0; k < numComps; k++) {
attrCentroid[q][k] = attrCenterGrid[q][k]
lumaN = centroidLuma[q]
diff = abs(lumaOrig - lumaN)
var = meanLuma[q] - medianLuma[q]
if((diff>afp_attribute_smoothing_threshold_difference[aIdx])||
(abs(var)> afp_attribute_smoothing_threshold_variation[aIdx]))
for(k=0; k < numComps; k++)
attrCentroid[q][k] = pointAttr[k]
} else {
for( k=0; k < numComps; k++ )
attrCentroid[q][k] = currAttr[k]
}
}
}
}
NewAttr = filter(attrCentroid of all q)
If (|Ycell - Ycur|* 10|< threshold_smoothing)
for aIdx=0..ai_attribute_count - 1,
for mapIdx=0..vpcc_map_count_minus1,
for cIdx = 0.. ai_attribute_dimension_minus1[aIdx],
AFrame [aIdx][mapIdx][cIdx][u][v] = NewAttr
と例示される。
・3D空間ではなく2D空間内で点群の1つまたは複数の属性をフィルタリングまたは平滑化する。
・パッチの参照輪郭を用いて2D空間内で点群の1つまたは複数の属性をフィルタリングまたは平滑化する。
・パッチの参照輪郭上の1つまたは複数の重心に基づいて、2D空間内で点群の1つまたは複数の属性をフィルタリングまたは平滑化する。
・記載される態様のうちの1つまたは複数による参照輪郭は、カレントパッチの少なくとも1つの隣接するパッチの少なくとも1つの2Dサンプルを、カレントパッチの2Dサンプルが投影されている投影面に再投影することによって得られる。
・記載される態様のうちの1つまたは複数による、点群の1つまたは複数の属性をフィルタリングまたは平滑化することは、カレントパッチの修正された少なくとも1つの2Dサンプルに基づいて、2Dのフィルタリングされた1つまたは複数の属性を3Dに再投影することによって得られる。
・記載される態様のうちの1つまたは複数による点群の1つまたは複数の属性は、色情報を含む。
・記載される態様のうちの1つまたは複数による点群の1つまたは複数の属性は、例えば深度情報などのジオメトリ情報を含む。
・記載されるシンタックス要素またはその変形のうちの1つまたは複数を含むビットストリームまたは信号。
・記載される態様のいずれかに従って生成されるシンタックス担持情報を含むビットストリームまたは信号。
・デコーダーが、エンコーダーによって用いられたやり方に対応するやり方で残差を適合することを可能にする要素を、シグナリングシンタックスに挿入すること。
・記載されるシンタックス要素またはその変形のうちの1つまたは複数を含むビットストリームまたは信号を作成し、かつ/または伝送し、かつ/または受信し、かつ/またはデコードすること。
・記載される態様のいずれかに従って、作成し、かつ/または伝送し、かつ/または受信し、かつ/またはデコードすること。
・記載される態様のいずれかによる、方法、プロセス、装置、命令を記憶する媒体、データを記憶する媒体、または信号。
・記載される態様のいずれかによるフィルタパラメータの適合を実行する、TV、セットトップボックス、携帯電話、タブレット、またはその他の電子デバイス。
・記載される態様のいずれかによるフィルタパラメータの適合を実行し、その結果得られる画像を(例えばモニタ、画面、またはその他のタイプのディスプレイを用いて)表示する、TV、セットトップボックス、携帯電話、タブレット、またはその他の電子デバイス。
・エンコードされた画像を含む信号を受信するチャネルを選択し(例えば同調器を用いて)、記載される態様のいずれかによるフィルタパラメータの適合を実行する、TV、セットトップボックス、携帯電話、タブレット、またはその他の電子デバイス。
・エンコードされた画像を含む信号を無線で受信し(例えばアンテナを用いて)、記載される態様のいずれかによるフィルタパラメータの適合を実行する、TV、セットトップボックス、携帯電話、タブレット、またはその他の電子デバイス。
Claims (24)
- 第1の投影面に投影された点群フレームの3Dサンプルのジオメトリを表すパッチを取得することと、
前記パッチの少なくとも1つの隣接するパッチの少なくとも1つの2Dサンプルを前記第1の投影面に再投影することによって参照輪郭を取得することと、
前記パッチの少なくとも1つの2Dサンプルを空間的に修正して、前記参照輪郭に合わせることと
を備えることを特徴とする方法。 - 第1の投影面に投影された点群フレームの3Dサンプルのジオメトリを表すパッチを取得することと、
前記パッチの少なくとも1つの隣接するパッチの少なくとも1つの2Dサンプルを前記第1の投影面に再投影することによって参照輪郭を取得することと、
前記パッチの少なくとも1つの2Dサンプルを空間的に修正して、前記参照輪郭に合わせることと
のために構成された1つまたは複数のプロセッサー
を備えたことを特徴とする装置。 - 少なくとも1つの候補パッチから前記少なくとも1つの隣接するパッチを取得することをさらに備える、請求項1に記載の方法。
- 前記1つまたは複数のプロセッサーは、少なくとも1つの候補パッチから前記少なくとも1つの隣接するパッチを取得することのためにさらに構成される、請求項2に記載の装置。
- 候補パッチの2Dサンプルに対応する3Dサンプルと、前記隣接するパッチに対応する3Dサンプルとが互いに近い場合、前記候補パッチが前記パッチの隣接するパッチである、請求項3に記載の方法。
- 候補パッチの2Dサンプルに対応する3Dサンプルと、前記隣接するパッチに対応する3Dサンプルとが互いに近い場合、前記候補パッチが前記パッチの隣接するパッチである、請求項4に記載の装置。
- 候補パッチの3Dバウンディングボックスが前記パッチの3Dバウンディングボックスと交わる場合、候補パッチが前記パッチの隣接するパッチである、請求項5に記載の方法。
- 候補パッチの3Dバウンディングボックスが前記パッチの3Dバウンディングボックスと交わる場合、候補パッチが前記パッチの隣接するパッチである、請求項6に記載の装置。
- 前記パッチの前記2Dサンプルは、前記パッチの輪郭を形成する、請求項1、3、5、または7のいずれか一項に記載の方法。
- 前記パッチの前記2Dサンプルは、前記パッチの輪郭を形成する、請求項2、4、6、または8のいずれか一項に記載の装置。
- 前記パッチの前記輪郭は、前記パッチの少なくとも1つの2Dサンプルを加えることおよび/または取り除くことによって修正される、請求項9に記載の方法。
- 前記パッチの前記輪郭は、前記パッチの少なくとも1つの2Dサンプルを加えることおよび/または取り除くことによって修正される、請求項10に記載の装置。
- 前記パッチの前記輪郭の2Dサンプルは、それが前記参照輪郭の内側または外側のいずれかにあるならば修正される、請求項11に記載の方法。
- 前記パッチの前記輪郭の2Dサンプルは、それが前記参照輪郭の内側または外側のいずれかにあるならば修正される、請求項12に記載の装置。
- 前記パッチの前記輪郭は、前記パッチの投影軸に沿って前記パッチの少なくとも1つの2Dサンプルを再配置することによって修正される、請求項9、11、または13のいずれか一項に記載の方法。
- 前記パッチの前記輪郭は、前記パッチの投影軸に沿って前記パッチの少なくとも1つの2Dサンプルを再配置することによって修正される、請求項10、12、または14のいずれか一項に記載の装置。
- 前記パッチの2Dサンプルに対応する少なくとも1つの3Dサンプルと前記参照輪郭の2Dサンプルに対応する少なくとも1つの3Dサンプルとの間に少なくとも1つの追加の3Dサンプルを加えることによって、前記パッチの前記輪郭が修正される、請求項9、11、13、または15のいずれか一項に記載の方法。
- 前記パッチの2Dサンプルに対応する少なくとも1つの3Dサンプルと前記参照輪郭の2Dサンプルに対応する少なくとも1つの3Dサンプルとの間に少なくとも1つの追加の3Dサンプルを加えることによって、前記パッチの前記輪郭が修正される、請求項10、12、14、または16のいずれか一項に記載の装置。
- 前記パッチの前記2Dサンプルの属性をフィルタリングすることにさらに備える、請求項1に記載の方法。
- 前記1つまたは複数のプロセッサーは、前記パッチの前記2Dサンプルの属性をフィルタリングすることのためにさらに構成される、請求項2に記載の装置。
- 前記パッチの前記2Dサンプルの属性は、色情報または深度情報を含む、請求項19に記載の方法。
- 前記パッチの前記2Dサンプルの属性は、色情報または深度情報を含む、請求項20に記載の装置。
- プログラムが1つまたは複数のプロセッサーによって実行されると、前記1つまたは複数のプロセッサーに、請求項1、3、5、7、9、11、13、15、17、19、または21のいずれか一項に記載の方法を実行させる命令を含むコンピュータープログラム。
- 1つまたは複数のプロセッサーに、請求項1、3、5、7、9、11、13、15、17、19、または21のいずれか一項に記載の方法を行わせるための命令を含むことを特徴とする非一時的なコンピューター読取り可能媒体。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19305361.8 | 2019-03-22 | ||
EP19305361.8A EP3713241A1 (en) | 2019-03-22 | 2019-03-22 | Processing a point cloud |
EP19305895.5 | 2019-07-01 | ||
EP19305895 | 2019-07-01 | ||
EP19306189.2 | 2019-09-24 | ||
EP19306189 | 2019-09-24 | ||
EP19306291 | 2019-10-04 | ||
EP19306291.6 | 2019-10-04 | ||
PCT/EP2020/054819 WO2020193038A1 (en) | 2019-03-22 | 2020-02-25 | Processing a point cloud |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022528540A JP2022528540A (ja) | 2022-06-14 |
JP7477528B2 true JP7477528B2 (ja) | 2024-05-01 |
Family
ID=69591661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021559510A Active JP7477528B2 (ja) | 2019-03-22 | 2020-02-25 | 点群の処理 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20220172433A1 (ja) |
EP (1) | EP3942828A1 (ja) |
JP (1) | JP7477528B2 (ja) |
KR (1) | KR20210141942A (ja) |
CN (1) | CN114208200A (ja) |
IL (1) | IL286585A (ja) |
WO (1) | WO2020193038A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210211703A1 (en) * | 2020-01-07 | 2021-07-08 | Apple Inc. | Geometry information signaling for occluded points in an occupancy map video |
CN112053426B (zh) * | 2020-10-15 | 2022-02-11 | 南京航空航天大学 | 一种基于深度学习的大规模三维铆钉点云提取方法 |
WO2023003349A1 (ko) * | 2021-07-20 | 2023-01-26 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
WO2023095625A1 (ja) * | 2021-11-24 | 2023-06-01 | ソニーグループ株式会社 | 情報処理装置および方法 |
CN115830209B (zh) * | 2022-09-28 | 2023-09-05 | 北京微视威信息科技有限公司 | 纹理映射方法、系统、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016075637A (ja) | 2014-10-08 | 2016-05-12 | キヤノン株式会社 | 情報処理装置およびその方法 |
JP2018194891A (ja) | 2017-05-12 | 2018-12-06 | 富士通株式会社 | 3次元形状推定方法、3次元形状推定プログラムおよび3次元形状推定装置 |
US20190087978A1 (en) | 2017-09-18 | 2019-03-21 | Apple Inc. | Point cloud compression using non-cubic projections and masks |
WO2020012967A1 (ja) | 2018-07-11 | 2020-01-16 | ソニー株式会社 | 画像処理装置および方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10909725B2 (en) * | 2017-09-18 | 2021-02-02 | Apple Inc. | Point cloud compression |
US10535161B2 (en) * | 2017-11-09 | 2020-01-14 | Samsung Electronics Co., Ltd. | Point cloud compression using non-orthogonal projection |
US11501507B2 (en) * | 2018-06-26 | 2022-11-15 | Sony Group Corporation | Motion compensation of geometry information |
US11348283B2 (en) * | 2018-07-10 | 2022-05-31 | Samsung Electronics Co., Ltd. | Point cloud compression via color smoothing of point cloud prior to texture video generation |
US10846814B2 (en) * | 2018-07-31 | 2020-11-24 | Intel Corporation | Patch processing mechanism |
US10798389B2 (en) * | 2018-10-02 | 2020-10-06 | Tencent America LLC | Method and apparatus for content-aware point cloud compression using HEVC tiles |
-
2020
- 2020-02-25 KR KR1020217030255A patent/KR20210141942A/ko unknown
- 2020-02-25 CN CN202080035719.2A patent/CN114208200A/zh active Pending
- 2020-02-25 JP JP2021559510A patent/JP7477528B2/ja active Active
- 2020-02-25 EP EP20705381.0A patent/EP3942828A1/en active Pending
- 2020-02-25 WO PCT/EP2020/054819 patent/WO2020193038A1/en active Application Filing
- 2020-02-25 US US17/440,891 patent/US20220172433A1/en active Pending
-
2021
- 2021-09-22 IL IL286585A patent/IL286585A/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016075637A (ja) | 2014-10-08 | 2016-05-12 | キヤノン株式会社 | 情報処理装置およびその方法 |
JP2018194891A (ja) | 2017-05-12 | 2018-12-06 | 富士通株式会社 | 3次元形状推定方法、3次元形状推定プログラムおよび3次元形状推定装置 |
US20190087978A1 (en) | 2017-09-18 | 2019-03-21 | Apple Inc. | Point cloud compression using non-cubic projections and masks |
WO2020012967A1 (ja) | 2018-07-11 | 2020-01-16 | ソニー株式会社 | 画像処理装置および方法 |
US20210217139A1 (en) | 2018-07-11 | 2021-07-15 | Sony Corporation | Image processing apparatus and image processing method |
Also Published As
Publication number | Publication date |
---|---|
US20220172433A1 (en) | 2022-06-02 |
JP2022528540A (ja) | 2022-06-14 |
KR20210141942A (ko) | 2021-11-23 |
WO2020193038A1 (en) | 2020-10-01 |
IL286585A (en) | 2021-12-01 |
CN114208200A (zh) | 2022-03-18 |
EP3942828A1 (en) | 2022-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7476104B2 (ja) | 点群処理 | |
JP7477528B2 (ja) | 点群の処理 | |
US20240169593A1 (en) | Processing a point cloud | |
EP3942827A1 (en) | Processing missing points of a point cloud | |
EP3713241A1 (en) | Processing a point cloud | |
US20220385928A1 (en) | Processing a point cloud | |
WO2021048050A1 (en) | Processing a point cloud | |
EP3713238A1 (en) | Processing a point cloud | |
US20220164992A1 (en) | Processing a point cloud | |
CN113475093B (zh) | 用于处理点云的方法和装置 | |
RU2767775C1 (ru) | Обработка облака точек | |
CN114341941A (zh) | 编解码点云的传递格式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211124 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230227 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20231121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20231122 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240229 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240319 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240418 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7477528 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |