동적 메쉬 생성을 위한 동적 포인트 클라우드의 효율적 변환 방법
Copyright © 2023 Korean Institute of Broadcast and Media Engineers. All rights reserved.
“This is an Open-Access article distributed under the terms of the Creative Commons BY-NC-ND (http://creativecommons.org/licenses/by-nc-nd/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited and not altered.”
초록
차세대 실감형 콘텐츠에 대한 관심이 증대되며 moving picture experts group (MPEG)에서는 차세대 실감형 콘텐츠에 대한 기술표준화 연구가 활발히 진행되고 있다. 실감형 콘텐츠에서 사용되는 실사 3차원 객체는 움직임을 표현하기 위해 동적 메쉬와 동적 포인트 클라우드가 사용되며 이 동적 3차원 객체는 기존의 정적 3차원 객체에 비해 데이터의 크기가 크기 때문에 효율적인 압축의 필요성이 대두되었다. 이에 MPEG에서는 video-based dynamic mesh coding (V-DMC)과 video-based point cloud compression (V-PCC) 표준화를 진행하고 있다. 동적 메쉬와 동적 포인트 클라우드는 서로 다른 데이터 구조를 가지고 있어서 두 표준의 성능 검증과 활용을 위해서는 효율적인 변환이 필요하다. 본 논문에서는 MPEG의 V-DMC와 V-PCC 대해서 설명하고 MPEG의 동적 포인트 클라우드를 통해 동적 메쉬를 생성하는 방법을 제안한다.
Abstract
With the growing interest in next-generation immersive content, the moving picture experts group (MPEG) is researching standardization for technologies related to immersive content. In immersive content, realistic 3D objects represent movement, and dynamic meshes and dynamic point clouds are employed for expressing motion. However, these dynamic 3D objects used in immersive content have larger data sizes than static 3D objects, necessitating efficient compression techniques. In response, MPEG has developed standards for video-based dynamic mesh coding (V-DMC) and video-based point cloud compression (V-PCC). As dynamic meshes and dynamic point clouds have different data structures, efficient transformation methods must validate and utilize both standards effectively. This paper explains V-DMC and V-PCC and proposes a method for generating dynamic meshes using the dynamic point cloud of MPEG.
Keywords:
MPEG, V-DMC, V-PCC, dynamic mesh, dynamic point cloudⅠ. 서 론
가상현실과 증강현실은 사용자를 현실 세계에서 분리하여 현실감 있는 인공적인 가상환경을 제공하거나 현실 세계에 컴퓨터 정보를 투영하는 기술로 최근 몇 년간 급격한 성장을 보이고 있으며 최근 교육, 의료, 건축, 훈련 등 다른 산업 분야에서의 VR의 적용이 확대되고 있다. 실감형 콘텐츠의 대표적 예로는 단일 또는 복수의 360 카메라로 촬영 및 영상을 취득하여 사용자에게 제공하는 three degrees of freedom (3DoF), 3DoF+, six degrees of freedom (6DoF) 몰입형 영상과 사용자에게 현실감 있는 시각적 환경을 제공하며 자유로운 인터렉션을 구현할 수 있는 인터렉티브 실감 콘텐츠가 있다. 컴퓨터 그래픽 기술의 발전으로 콘텐츠에서 활용되는 객체들이 정교해질수록 더 현실감 있는 가상환경을 표현할 수 있게 되었으며 3DoF, 6DoF 영상은 압축 효율 향상을 위한 활발한 표준화 연구가 진행되고 있다[1-4].
이러한 가상현실을 포함한 3차원 공간 좌표에서 객체를 표현하는 방법에는 포인트 클라우드 (point cloud) 와 메쉬 (mesh) 가 있다. 그림 1은 포인트 클라우드와 메쉬의 데이터 구조에 대해 설명하고 있다. 포인트 클라우드는 좌표 (position), 색 (color), 법선 벡터 정보 등을 포함한 점의 집합이며 3차원 공간에 점을 군집시켜서 3차원 객체를 표현하는 데이터 구조이다. 각 점의 좌표와 색에 대한 정보만 가지고 있어도 객체를 표현할 수 있기 때문에 그 구조가 메쉬에 비해서 단순하여 가공 및 분석이 쉽다는 장점이 있다. 또한 포인트 클라우드가 단순한 구조로 실사의 3차원 객체 생성에 유리하기 때문에 3D 스캐너, 라이다[5] (light detection and ranging, LiDAR) 등 실사의 물체를 스캔하여 3차원 객체 정보를 생성하는 복원 기술에서는 포인트 클라우드 포맷이 주로 사용된다. 메쉬는 작은 다각형들의 연결로 3차원 객체의 면을 표현하고 표면에 이미지를 매핑 (mapping) 하여 3차원 객체를 표현하는 데이터 구조이다. 일반적으로 사용하는 메쉬는 모든 면이 삼각형으로 이루어진 삼각형 메쉬 (triangle mesh) 를 뜻한다. 메쉬는 기본적으로 정점 (vertex) 과 면 (face) 에 대한 정보를 가지고 있으며각 정점을 이어 삼각형의 면을 구성하고 이미지 형식의 텍스처 맵 (texture map) 을 각 면에 매핑하여 3차원 객체를 표현한다. 메쉬는 많은 점을 통해 3차원 객체를 표현하는 포인트 클라우드보다 훨신 적은 양의 정점으로 객체에 대한 표현이 가능하며, 텍스처 맵이 메쉬 데이터 크기에 큰 비중을 차지하므로 텍스처 맵의 해상도를 다운샘플링 (down-sampling) 하여 데이터 크기를 크게 줄일 수 있다. 또한 메쉬는 면에 적용된 텍스처 맵과 질감, 조명 효과 등을 이용하여 보는 시점, 빛의 거리, 각도에 따라 객체의 밝기에 변화를 주는 쉐이딩 (shading) 을 적용하여 더욱 현실적인 객체 표현이 가능하다. 따라서 최대한 현실적인 3차원 공간을 구성해야 하는 가상 현실 콘텐츠에서는 주로 메쉬를 이용해서 3차원 객체를 표현한다.
3차원 객체는 움직임을 표현하기 위해서 주로 리깅 (rigging) 을 통해 메쉬에 뼈대를 심고 관절의 움직임을 구현 및 저장하는 스켈레탈 애니메이션 (skeletal animation) 을 활용한다. 리깅된 메쉬 데이터와 뼈대의 애니메이션 정보만으로도 3차원 객체의 움직임을 표현할 수 있기 때문에 동적인 메쉬와 정적인 메쉬간에 큰 데이터 크기 차이가 없다. 그러나 실사의 3차원 객체를 취득할 때 이러한 스켈레탈 애니메이션을 통해 움직임을 재현한다면 현실 객체의 움직임을 100% 재현하기 어려우며 복잡한 후처리 과정때문에 3차원 객체의 취득과 동시에 활용이 불가능하다. 따라서 실사의 3차원 객체의 움직임을 표현하기 위해서는 모든 프레임의 메쉬, 포인트 클라우드 데이터를 저장 및 렌더링 (rendering) 하게 되었으며 각각 동적 메쉬와 동적 포인트 클라우드라고 지칭하게 되었다. 실사의 객체는 현실감을 표현하기 위해서 많은 정점이나 점을 포함되어 데이터의 크기가 크고, 동적 메쉬와 동적 포인트 클라우드는 프레임의 수만큼의 객체 데이터를 저장하기 때문에 표현하려는 객체의 움직임 시간에 비례해서 데이터의 크기가 커지게 된다. 그 결과 현실에서 취득한 동적 메쉬와 동적 포인트 클라우드는 실시간 스트리밍, 몰입형 미디어 콘텐츠 등에서 활용되기에는 너무 큰 데이터 크기를 가지게 되었고 이에 대한 효율적인 압축 표준의 필요성이 대두되었다. 이에 MPEG에서는 동적 포인트 클라우드 압축 표준으로 V-PCC[6]를, 동적 메쉬 압축 표준으로 V-DMC[7-8]를 제정하여 표준화 연구가 진행중이다.
메쉬와 포인트 클라우드는 각각 다른 데이터 구조와 특성을 가지고 있어 사용되는 환경, 분야에 따라서 다른 장단점을 가지고 있다. 현실의 물체를 기반으로 3차원 객체를 생성할 때에는 주로 포인트 클라우드로, 현실감 있는 3차원 객체의 렌더링에는 시각화에 유리한 메쉬가 주로 사용되기 때문에 실사의 3차원 메쉬를 생성할 때 주로 포인트 클라우드로 3차원 객체를 취득하고 메쉬로 변환하는 과정을 통해 생성하게 된다. 본 논문에서는 MPEG의 동적 메쉬와 동적 포인트 클라우드의 표준화인 V-DMC와 V-PCC에 대해서 소개하고 V-PCC의 테스트 시퀀스 (test sequence) 를 이용하여 동적 메쉬를 생성하는 실험 과정을 통해 동적 포인트 클라우드와 동적 메쉬간의 변환 방법을 제안한다. 또한 V-PCC와 V-DMC의 common test conditions (CTC)[9-10] 재현 실험 결과를 통해 두 표준간의 압축 성능을 비교한다.
본 논문의 구성은 다음과 같다. 2장에서는 관련 연구로 동적 포인트 클라우드 데이터에 대한 압축 표준인 V-PCC와 동적 메쉬 데이터에 대한 압축 표준인 V-DMC와 대해서 소개한다. 3장에서는 V-DMC와 V-PCC의 CTC에 대한 소개와 복원 실험 결과에 대해서, 4장에서는 제안하는 동적 포인트 클라우드를 통해서 동적 메쉬 생성 기술에 대해서 소개하며, 마지막으로 5장에서는 본 논문의 결론에 대해서 서술한다.
Ⅱ. 관련 연구
최근 VR/AR의 몰입형 3차원 미디어 서비스에 대한 관심이 높아지며 많은 실감콘텐츠들에 대한 연구와 표준화가 진행되고 있다. 실사의 3차원 객체의 동적 움직임을 표현하기 위한 동적 메쉬와 동적 포인트 클라우드의 등장으로 동적 3차원 객체의 활용에 대한 관심과 연구가 활발히 진행되었으며 MPEG에서는 데이터의 크기가 큰 동적 3차원 객체를 실시간 스트리밍, 전송에 활용하기 위한 압축 기술 표준화를 진행하고 있다. 본 절에서는 동적 포인트 클라우드에 대한 압축 표준인 V-PCC와 동적 메쉬에 대한 압축 표준인 V-DMC의 부호화 과정에 대해서 소개한다.
1. V-PCC Encoding Process
MPEG은 2017년 포인트 클라우드 압축에 대한 call for proposal (CfP)을 발표[11]했으며 13개의 response가 제출되었다. 이를 토대로 120차 MPEG 회의에서 서로 다른 압축 방식을 가진 3개의 PCC test model (TM)이 발표되었다. 이 TM 중에 비디오 코덱을 활용하는 동적 포인트 클라우드에 대한 압축 테스트 모델[12]이 2018년에 V-PCC로 정식 명칭되어 표준화 작업이 시작되었다. V-PCC는 현재까지 동적 포인트 클라우드의 압축 효율 향상을 위한 표준화 연구가 지속되고 있다.
V-PCC 부호기는 하나의 포인트 클라우드 객체를 여러 개의 패치로 분할하여 점유 정보 (occupancy information), 기하 정보 (geometry information), 속성 정보 (attribute information) 3종류의 2D 영상을 생성하고 점유, 기하, 속성 정보로 포인트 클라우를 생성할 수 있는 정보를 포함하고 있는 아틀라스 정보 (atlas information)를 생성한다. 기하 정보는 각 패치의 공간적인 위치와 형상 정보를, 속성 정보는 패치의 색상정보를, 점유 정보는 다른 패치의 점유 화소에 대한 정보를 가지고 있다. 이 4개의 데이터를 압축하여 최종 비트스트림을 생성하며 복호화 과정에서 4개의 데이터를 통해 3차원 포인트 클라우드를 재구성한다. 아틀라스 정보는 비디오 코덱의 화면 간 예측 (inter prediction) 과 유사하게 패치 간의 예측을 적용하여 압축되며 기하, 점유, 속성 정보는 기존의 2D 영상 압축 표준을 사용해서 압축된다. 널리 사용되는 MPEG의 advanced video coding (AVC), high efficiency video coding (HEVC), versatile video coding (VVC) 등의 적용이 가능하며 V-PCC CTC는 HEVC 사용을 권장한다.
2. V-DMC Encoding Process
MPEG에서는 2022년 동적 메쉬에 대한 CfP[13]를 공개하여 동적 메쉬에 대해 규정하고 동적 메쉬에 대한 압축에 대한 문서를 요청했으며 Apple, InterDigital, Sony, Nokia, Tencent가 CfP에 응했다[14]. Apple과 InterDigital의 제안한 압축 기술이 MPEG에서 비교군으로 제시한 anchor에 비해 높은 성능을 보였으며, 그 결과 최종적으로 Apple이 제안한 기술[15]이 V-DMC의 기본 압축 기술로 채택되어 Apple이 공개한 소스를 토대로 V-DMC TM[16]이 개발되었다.
그림 3은 Apple이 제안한 부호기에 대해 설명한다. Apple의 제안 기술과 다른 기관들의 제안 기술간의 가장 큰 차별점은 Apple의 전처리 (pre-processing) 과정이다. 전처리 과정에서 메쉬는 먼저 정점의 수를 대량 감소시키는 decimation 과정을 통해 데이터 크기가 크게 줄어든 메쉬를 얻는다. 그 후, subdivision 과정에서 정점과 정점 사이에 임시 정점을 생성한다. Subdivison scheme은 여러종류가 있지만 Apple은 두 정점의 중간에 임시 정점을 생성하는 mid-point subdivision scheme을 채택했다. 마지막으로 displace 과정에서 subdivision으로 생성된 임시 정점이 decimation 과정에서 삭제된 정점을 대체하기 위한 이동 벡터를 계산한다. 이 이동 벡터는 변위 벡터 (displacement vector) 로 명칭되며 전처리 과정에서는 최종적으로 원래의 메쉬를 decimated 메쉬와 변위 벡터의 집합을 생성하고 부호화 과정을 진행한다. 이런 전처리 과정을 통해 생성된 decimated 메쉬와 변위 벡터만으로도 복호화 과정에서 원래의 메쉬를 재구성할 수 있기 때문에 큰 압축효율을 얻을 수 있었다.
V-DMC 부호기는 메쉬 데이터, 변위 벡터, 텍스처 맵을 압축하여 비트스트림을 생성한다. 메쉬는 Google의 메쉬 압축 소프트웨어인 DRACO[17]를 통해 압축된다. 전처리 과정에서 생성된 변위 벡터는 웨이블릿 변환, 2D 이미지로 패킹되어 비디오 압축이 진행된다. V-DMC는 영상 압축 표준으로 HEVC test model (HM) 에 스크린 콘텐츠 압축을 위한 screen content coding (SCC) 확장 표준을 채택하였다. DRACO를 통해 압축된 메쉬와 변위 벡터는 최종 비트스트림에 포함되고 동시에 압축된 메쉬와 변위 벡터를 복호화하여 원래의 메쉬를 복원하게 된다. 텍스처 맵은 복원된 메쉬를 참고하여 정확도를 올리기 위해 수치를 조정하고 비디오 부호화를 거쳐서 최종 비트스트림에 포함된다.
Ⅲ. Performance Comparison B 3D Dynamic Object Standards
V-DMC 및 V-PCC CTC는 표준화에 있어서 테스트 시퀀스, 평가 척도와 평가 방법, 비트레이트 (bitrate), 사용 코덱 등의 일련된 공통적인 테스트 조건을 정하여 표준 연구의 평가를 용이하게 한다. 본 절에서는 V-DMC와 V-PCC에서 지정한 테스트 시퀀스, 평가 방법에 대해서 설명하고, V-DMC와 V-PCC의 CTC 복원 실험 결과를 소개한다.
표 1과 표 2는 각각 V-PCC와 V-DMC의 테스트 시퀀스에 대해서 설명하고 있다. V-DMC와 V-PCC의 테스트 시퀀스는 실사 동적 3차원 객체로 현실감있는 3차원 객체를 표현하기 위해 많은 정점과 점을 포함하고 있다. V-DMC는 기존의 동적 메쉬를 면의 개수를 줄여서 재생성하였으며, 재생성된 동적 메쉬의 정점의 위치와 UV 좌표 데이터를 양자화하는 복셀화 (voxelization) 하여 테스트 시퀀스로 사용되었다[18].
V-PCC의 CTC에서는 MPEG에서 포인트 클라우드 성능 평가의 주요 측정 지표로 사용되는 Discrepancy 1 (D1), Discrepancy 2 (D2) metric를 성능 평가 지표로 지정했다. D1/D2 metric는 두 포인트 클라우드와 법선 정보가 포함된 포인트 클라우드 데이터를 사용해서 D1, D2, Luma (Y) PSNR을 측정한다. D1은 두 포인트 클라우드의 대응되는 점간의 차이를 계산해서 오류벡터를 얻어 오류벡터의 크기로 손실율을 측정하고 D2는 대응하는 점간의 차이를 통해 얻은 오류벡터를 원래의 포인트 클라우드의 노말 벡터 방향의 평면으로 투영하여 새로운 오류벡터를 얻어서 측정한다[19]. V-DMC는 테스트 시퀀스가 사전에 양자화된 동적 메쉬이기 때문에 성능 평가전에 역양자화를 적용해야한다. 그리고 V-DMC의 실험 결과에 D1/D2 metric을 적용해서 성능평가를 할 때는 D1/D2 metric이 포인트 클라우드의 성능을 평가하는 지표이므로, 샘플링을 통해 동적 메쉬를 동적 포인트 클라우드로 전환하여 평가해야한다[19]. V-DMC와 V-PCC 모두 D1/D2 metric를 사용해서 성능을 측정할 수 있기 때문에 테스트 시퀀스 별로 D1, D2, Y PSNR을 얻을 수 있다. 그림 5는 V-PCC와 V-DMC의 CTC를 재현하여 압축 실험을 진행하고 그 결과를 비교한 것이다. V-DMC는 TM v1, V-PCC는 v12를 이용해서 실험했다. 그림 5의 RD curve를 확인해보면 V-DMC의 일부 시퀀스에서 D1/D2의 PSNR이 치솟는 것을 확인할 수 있는데 이는현재 V-DMC에서 특정 실험환경에서 실험했을 때 포인트 클라우드로 샘플링된 두 메쉬의 좌표차이가 커서 D1/D2 metric으로 측정이 불가하여 발생하는 오류이다. 이는 복원 실험에서 발생한 오류가 아닌 CTC에 명시되어 있는 수치이며 V-DMC의 CTC는 지속적으로 개선되고 있다. 그리고 실험 환경별 V-DMC의 비트레이트가 V-PCC의 비트레이트보다 큰 차이가 나지 않는 것을 확인할 수 있는데, 메쉬의 데이터는 이미지 데이터인 텍스처가 가장 큰 비중을 차지하기 때문에 정점, 면에 대한 압축률을 증가시켜도 텍스처를 포함한 메쉬의 비트레이트의 큰 변화를 주지 못하기 때문이다. V-DMC와 V-PCC의 CTC는 현재까지 동적 3차원 객체의 압축 효율 향상을 위해서 연구되고 있으며 메쉬와 포인트 클라우드는 각 데이터구조의 차이로 인한 장단점과 압축 성능의 차이를 보이기에 어떤 데이터 구조가 환경의 변수에 따라 유리할지 검증이 필요하다. 이에 표준의 압축 성능을 비교하고 동적 포인트 클라우드와 동적 메쉬간의 변환 방법을 제안함으로써 동적 3차원 객체의 압축 및 전송이 필요할 때 동적 메쉬와 동적 포인트 클라우드간의 효율성을 짐작하고 상황별 효율적인 데이터 구조 선택에 기여한다.
Ⅳ. Experiment of Converting Dynamic Point Cloud into Dynamic Mesh
3D 스캐닝 기술, 다중 카메라를 이용한 실사 3차원 객체를 생성할 때 주로 포인트 클라우드 데이터 구조로 취득되기 때문에 실사의 3차원 매쉬를 생성할 때에는 먼저 포인트 클라우드를 취득하고 이를 메쉬로 변환하는 방법이 사용된다. 이는 동적 포인트 클라우드와 동적 메쉬의 경우도 적용된다. 취득한 동적 포인트 클라우드로부터 동적 메쉬 데이터를 생성하거나 같은 객체를 통해 생성된 동적 포인트 클라우드와 동적 메쉬의 성능을 비교하기 위해서는 동적 포인트 클라우드와 동적 메쉬간의 효율적인 변환이 필요하다. 본 절에서는 MPEG의 V-PCC에서 사용하는 동적 포인트 클라우드 테스트 시퀀스를 동적 메쉬로 변환하는 방법을 소개한다.
그림 6은 본 논문에서 제안하는 포인트 클라우드를 이용한 메쉬 생성 과정에 대해서 설명하고 있다. 변환 과정은 포인트 클라우드에서 메쉬로의 변환과 메쉬 생성 전후로 데이터를 가공하는 전처리와 후처리, 그리고 UV좌표와 텍스처를 생성하는 텍스처 생성 과정으로 진행된다. 메쉬의 가공과 변환에는 이탈리아 국립 연구원 (national research council of Italy)의 정보과학 및 기술 연구소 (institute of information science and technologies) 에서 개발한 3차원 메쉬 처리 오픈소스 소프트웨어인 메쉬랩 (MeshLab) 을 사용한다.
포인트 클라우드로부터 면을 생성하기 전에 전처리 과정을 통해 포인트 클라우드 데이터를 조정한다. 3차원 객체를 표현하기 위해 아주 많은 점을 포함하는 포인트 클라우드를 기반으로 면을 추정하면 대량의 작은 면들이 생성되고 이를 토대로 생성된 메쉬의 정점의 수도 많아지므로 데이터의 크기가 과하게 커진다. 따라서, 메쉬랩의 포인트 클라우드 단순화 기능을 통해 포인트 클라우드의 점의 개수를 대폭 줄인다. 메쉬랩의 포인트 클라우드 단순화는 목표하는 포인트 개수를 지정하면 근사한 수치의 점의 개수에 인접하게 포인트를 제거한다. 그림 7에서 확인할 수 있듯이 단순화의 파라미터를 변경해서 실험해본 결과 점의 개수는 원본의5~7%까지 감소시켰을 때 점이 밀집된 부분까지 상세히 표현할 수 있다. 그리고 PSR을 적용하기 위해서는 포인트 클라우드의 각 점에 법선 벡터에 대한 정보가 포함되어 있어야 하므로 동적 포인트 클라우드에 법선 정보가 포함되어 있지 않다면 법선 정보를 추정해서 각 점에 포함시킨다.
포인트 클라우드를 메쉬로 전환하는 핵심적인 알고리즘으로 3차원 포인트 클라우드 객체로부터 부드러운 표면 모델을 생성하는 poisson surface reconstruction[20-22] (PSR) 을 사용한다. V-PCC에서 사용하는 포인트 클라우드 테스트 시퀀스는 실사와 유사한 3차원 객체를 표현하기 위해서 아주 많은 점을 사용하기 때문에 푸아송 표면 재구성을 통해 면을 생성할 때 밀집된 대량의 면을 생성해야 한다. PSR은 표면 재구성의 해상도를 조절하기 위해 옥타 트리 (octree) 의 깊이 값을 조절하는 방법을 제공한다. 깊이 값은 재구성 그리드의 세분화 수준을 결정하며, 깊이 값이 증가할수록 재구성 그리드의 크기가 2의 제곱으로 커진다. 낮은 깊이 값을 사용하면 재구성 그리드가 더 큰 셀로 구성되어 전체 표면의 대략적인 형태만 나타내지만, 높은 깊이 값을 사용하면 재구성 그리드가 더 작은 셀로 구성되어 표면의 세부 구조까지 정밀하게 나타낼 수 있다. 그림 7에서 확인할 수 있듯이MPEG의 테스트 시퀀스를 대상으로 깊이 값을 조절해서 실험해본 결과 깊이 값이 10일 때 실사 기반의 포인트 클라우드의 밀집구역까지 높은 품질로 생성할 수 있다.
PSR을 적용하여 생성된 메쉬는 후처리를 통해 불필요한 버텍스와 면을 찾아 제거한다. 포인트 클라우드에 PSR을 적용하면 간혈적으로 3차원 객체의 표면을 구성하는 면 외에 잘못된 면이 생성되는데 이를 후처리 과정에서 제거한다. 그 다음 고립된 정점 (isolated vertex) 을 찾아서 제거한다. 고립된 정점은 다른 어떤 정점과도 연결되지 않은 독립된 정점으로 면을 구성하지 않기 때문에 3D 객체를 표현하는데 불필요한 데이터이다. 또한 동적 메쉬의 압축, 활용 오류의 원인이 될 수도 있기 때문에 후처리 과정에서 고립된 정점을 선택해서 제거한다. 마지막으로 non-manifold 정점을 찾아서 제거한다. 모든 3차원 메쉬는 각 정점이 3개 이상의 면이나 모서리를 공유하면 안되며 이러한 구조에서 벗어난 형태를 non-manifold 메쉬라고 지칭한다. Non-manifold 메쉬는 2차원으로 펼쳐질 수 없는 형태의 3차원 메쉬로 메쉬의 구조가 복잡해지고 처리와 활용에 오류를 발생시키기 때문에 일반적인 메쉬는 manifold 속성을 유지해야 한다. 따라서 후처리 과정에서는 3개 이상의 면이나 모서리를 공유하는 정점을 찾아서 제거하여 manifold 메쉬 형태를 유지한다.
후처리된 메쉬는 색에 대한 정보가 정점에 포함되어있는 상태이며 이러한 데이터 구조는 3차원 객체를 표현하는데는 지장이 없으나 다른 렌더링 환경이나 V-DMC에서는 텍스처를 포함된 메쉬를 활용하기 때문에 메쉬의 활용을 위해서는 텍스처를 포함한 메쉬로 변환해야만 한다. 메쉬에서 텍스처를 생성하는 방법은 여러가지가 있지만 본 연구에서는 메쉬랩의 trival per-triangle 매개변수화 (parametrization) 통해 텍스처를 생성한다. trival per-triangle 매개변수화는 모든 면의 표면 정보를 같은 크기의 삼각형으로 한 아틀라스에 저장하여 텍스처를 생성하는 방법이다. 매개변수화를 통해 텍스처를 생성했을 때 그림8에서 확인할 수 있듯이 객체를 가까이서 확인했을때 면과 면 사이에 누락된 색 데이터를 확인할 수 있는데, 이는 매개변수화 과정에서 triangle border의 값을 조정하여 완화시킬 수 있다. triangle border의 값을 늘리면 면 별로 저장되는 데이터의 크기가 커지기 때문에 결과적으로 텍스처의 크기가 커지게 된다. 마지막으로, 텍스처를 포함하는 메쉬는 텍스처를 통해서 3차원 객체에 매핑을 하므로 버텍스에 저장되어 있던 색 정보를 제거하는 것으로 MPEG의 실사 포인트 클라우드를 메쉬로 변환할 수 있다. 제안하는 변환 과정을 통해 포인트 클라우드에서 변환된 메쉬는 그림 10에서 확인할 수 있다.
본 실험에서는 동적 포인트 클라우드를 5%의 점으로 줄이고 노말 벡터 정보를 추정하여 생성했다. PSR을 통해서 전처리된 포인트 클라우드를 통해 면을 생성했으며 옥타 트리의 깊이를 10으로 조정하여 원래의 포인트 클라우드 모델의 밀집지역까지 표현하는 메쉬를 얻었다. 그 후 표면을 구성하지 않는 면, 고립된 정점, non-manifold 정점을 제거하고 텍스처를 생성하여 메쉬로 변환했다. 이러한 동적 포인트 클라우드에서의 동적 메쉬로의 변환 방법을 제안함으로써 동적 메쉬와 동적 포인트 클라우드의 활용, 검증, 실험 등에 대한 기여를 기대한다.
Ⅴ. 결 론
가상현실과 증강현실의 관심 증대와 하드웨어의 발전으로 차세대 실감형 콘텐츠에 대한 연구가 지속되고 있는 추세에 실사로부터 취득한 3차원 객체를 활용하기 위한 동적 메쉬와 동적 포인트 클라우드가 등장했다. MPEG에서는 동적 포인트 클라우드와 동적 메쉬의 활용과 표준화에 대한 연구가 활발히 진행되고 있으며 동적 3차원 객체 압축 표준인 V-DMC와 V-PCC는 각각 동적 메쉬와 동적 포인트 클라우드의 압축 효율 향상과 다양한 응용 분야에서의 활용을 위해 꾸준한 표준화 연구가 진행되고 있다. 동적 메쉬와 동적 포인트 클라우드는 사용되는 환경과 분야에 따라 각각 다른 장단점을 가지고 있어 동적 3D 객체의 표준화와 활용을 위해 동적 포인트 클라우드와 동적 메쉬 간의 손실이 적고 효율적인 변환이 필요하다. 따라서 본 논문에서는MPEG의 동적 포인트 클라우드를 이용한 동적 메쉬 생성 방법을 제안함으로써 동적 메쉬와 동적 포인트 클라우드의 다양한 응용 분야에서의 활용성과 검증, 연구에 대한 기여를 목표로 한다. 향후 이러한 동적 포인트 클라우드에서 동적 메쉬로의 효율적 변환을 이용해서 동적 3차원 객체의 효율적인 실시간 전송에 대해 연구를 진행할 계획이다.
Acknowledgments
This work was supported by Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korea government(MSIT) (No.2022-0-00981-002, Foreground and background matching 3D object streaming technology development)
References
- Jong-Beom Jeong, Soonbin Lee, Eun-Seok Ryu, DWS-BEAM: Decoder-wise subpicture bitstream extracting and merging for MPEG immersive video, In Proceedings of the 2021 International Conference on Visual Communications and Image Processing (VCIP), pp. 1-5, 2021. [https://doi.org/10.1109/VCIP53242.2021.9675419]
- Jong-Beom Jeong, Soonbin Lee, Inae Kim, Eun-Seok Ryu, Performance Analysis of 6DoF Video Streaming Based on MPEG Immersive Video, Journal of Broadcast Engineering (JBE), Vol. 27, No. 5, pp. 773-793, 2022. [https://doi.org/10.1109/icoin53446.2022.9687247]
- Soonbin Lee, Jong-Beom Jeong, Inae Kim, Sangsoon Lee, Eun-Seok Ryu, Screen Content Coding Analysis to Improve Coding Efficiency for Immersive Video, Journal of Broadcast Engineering (JBE), Vol. 25, No. 6, pp. 911-921, 2020. [https://doi.org/10.5909/JBE.2020.25.6.911]
- Soonbin Lee, Jong-Beom Jeong, Eun-Seok Ryu, Efficient Group-Based Packing Strategy for 6DoF Immersive Video Streaming, In Proceedings of the 2022 International Conference on Information Networking (ICOIN), pp. 310-314, 2022. [https://doi.org/10.1109/icoin53446.2022.9687139]
- Thinal Raj, Fazida Hanim Hashim, Aqilah Baseri Huddin, Mohd Faisal Ibrahim, Aini Hussain, A Survey on LiDAR Scanning Mechanisms, Electronics, 2020. [https://doi.org/10.3390/electronics9050741]
- Ui-Seon Jang, Introducing the MPEG Video-based Point Cloud Compression Standard, Broadcasting and Media Magazine, Volume 26 issue 2, pp. 18-30, 2021.
- YiHyun Choi, Jong-Beom Jeong, Soonbin Lee, Eun-Seok Ryu, Overview of the Video-based Dynamic Mesh Coding (V-DMC) Standard Work, 13th International Conference on Information and Communication Technology Convergence (ICTC), 2022. [https://doi.org/10.1109/ICTC55196.2022.9952734]
- YiHyun Choi, Jong-Beom Jeong, Soonbin Lee, Eun-Seok Ryu, Overview of MPEG Dynamic Mesh Coding (DMC) for Volumetric Video, The Korean Institute of Broadcast and Media Engineers (KIBME) Summer Conference, pp. 225-228, 2022.
- MPEG 3DG, Common Test Conditions for V3C and V-PCC, ISO/IEC JTC 1/SC 29/WG 11, MPEG/N19518, 2020.
- MPEG 3DG, Common Test Conditions for V3C and V-PCC, Standard ISO/IEC JTC1/SC29/WG7, MPEG/N0038, 2020.
- MPEG 3DG, Call for Proposals for Point Cloud Compression, ISO/IEC JTC1/SC29/WG11, MPEG2014/N16732, 2017.
- MPEG 3DG, PCC Test Model Category 2 v1, ISO/IEC JTC1/SC29/WG11, MPEG/N17348, 2018.
- MPEG 3DG, CfP for Dynamic Mesh Coding, ISO/IEC JTC 1/SC 29/WG 7, MPEG/N231, 2021.
- Danillo B, Graziosi, Satoru Kuma, Kao Hayashi, Ohji Nakagami, Ali Tabatabai, [V-CG] Study of Dynamic Mesh Coding CfP Submission, ISO/IEC JTC 1/SC 29/WG 7, MPEG/m59625, 2022.
- Khaled Mammou, Jungsun Kim, Alexis Tourapis, Dimitri Podborski, Krasimir Kolarov, Apple’s Dynamic Mesh Coding CfP Response, Standard ISO/IEC JTC1/SC29/WG7, MPEG/m59281, 2022.
- MPEG 3DG, V-Mesh Test Model v1, ISO/IEC JTC 1/SC 29/WG 7, MPEG/N00404, 2022.
- Google Draco 3D Data Compression, https://google.github.io/draco, (accessed Jun. 26, 2023)
- Danillo B, Graziosi, [V-Mesh] Report for EE4,0 on content preparation and anchor, Standard ISO/IEC JTC1/SC29/WG7, MPEG/m56865, 2021.
- MPEG 3DG, Metrics for Dynamic Mesh Coding, ISO/IEC JTC 1/SC 29/WG 7, MPEG/N225, 2021.
- Michael Kazhdan, Matthew Bolitho, Hugues Hoppe, Poisson Surface Reconstruction, Eurographics Symposium on Geometry Processing, 2006.
- Matthew Berger, Andrea Tagliasacchi, Lee M, Seversky, Pierre Alliez, Joshua A, Levine, Andrei Sharf, Claudio T, Silva, State of the Art in Surface Reconstruction from Point Clouds, Eurographics 2014, 2014. [https://doi.org/10.2312/egst.20141040]
- Fausto Bernardini, Joshua Mittleman, Holly Rushmeier, Claudio Silva, Gabriel Taubin, The ball-pivoting algorithm for surface reconstruction, IEEE Transactions on Visualization and Computer Graphics, Volume 5 issue 4, pp.349-359, 1999. [https://doi.org/10.1109/2945.817351]
- 2022년 2월 : 가천대학교 컴퓨터공학과 학사
- 2022년 2월 ~ 현재 : 성균관대학교 컴퓨터교육학과 석사과정
- ORCID : https://orcid.org/0000-0001-6066-1212
- 주관심분야 : 멀티미디어 통신 및 시스템, VR, video-based dynamic mesh coding, video-based point cloud compression
- 2018년 8월 : 가천대학교 컴퓨터공학과 학사
- 2018년 9월 ~ 2019년 8월 : 가천대학교 컴퓨터공학과 석사과정
- 2019년 9월 ~ 현재 : 성균관대학교 컴퓨터교육학과 석박통합과정
- 2020년 1월 ~ 2020년 3월 : University of California, Santa Barbara 방문연구원
- 2021년 8월 ~ 2022년 1월 : Purdue University 방문연구원
- 2022년 9월 ~ 2023년 8월 : 성균관대학교 글로벌융합학부 강사
- 2023년 9월 ~ 현재 : 성균관대학교 실감미디어공학과 강사
- ORCID : https://orcid.org/0000-0002-7356-5753
- 주관심분야 : 멀티미디어 통신 및 시스템, 비디오 압축 표준, MPEG immersive video, video-based dynamic mesh coding
- 1999년 8월:고려대학교 컴퓨터학과 학사
- 2001년 8월:고려대학교 컴퓨터학과 석사
- 2008년 2월:고려대학교 컴퓨터학과 박사
- 2008년 3월 ~ 2008년 8월:고려대학교 연구교수
- 2008년 9월 ~ 2010년 12월:조지아공대 박사후과정
- 2011년 1월 ~ 2014년 2월:InterDigital Labs Staff Engineer
- 2014년 3월 ~ 2015년 2월:삼성전자 수석연구원/파트장
- 2015년 3월 ~ 2019년 8월:가천대학교 컴퓨터공학과 조교수
- 2019년 9월 ~ 2023년 8월 : 성균관대학교 컴퓨터교육과 부교수
- 2023년 8월 ~ 현재 : 성균관대학교 실감미디어공학과 부교수
- ORCID : https://orcid.org/0000-0003-4894-6105
- 주관심분야 : 멀티미디어 통신 및 시스템, 비디오 코딩 및 국제 표준, HMD/VR 응용분야