KR20220066847A - Method and Apparatus for Voxelization and Camera parameter information Encoding and decoding for Volumetric Video - Google Patents
Method and Apparatus for Voxelization and Camera parameter information Encoding and decoding for Volumetric Video Download PDFInfo
- Publication number
- KR20220066847A KR20220066847A KR1020210155102A KR20210155102A KR20220066847A KR 20220066847 A KR20220066847 A KR 20220066847A KR 1020210155102 A KR1020210155102 A KR 1020210155102A KR 20210155102 A KR20210155102 A KR 20210155102A KR 20220066847 A KR20220066847 A KR 20220066847A
- Authority
- KR
- South Korea
- Prior art keywords
- parameter
- atlas
- voxelization
- value
- parameter set
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- 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/184—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 bits, e.g. of the compressed video stream
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 개시에서 3차원 이미지의 포인트 클라우드 및 메쉬 데이터를 복셀화하는 단계, 포인트 클라우드 및 메쉬 데이터의 복셀화에 의하여 생성된 복셀화 파라미터를 결정하는 단계, 복셀화 파라미터를 포함하는 파라미터 세트를 전송하는 단계를 포함하고, 파라미터 세트는 v3c 파라미터 세트, 아틀라스 시퀀스 파라미터 세트, 아틀라스 적응적 파라미터 세트 중 적어도 하나를 포함하는 것을 특징으로 하는 비디오 부호화 방법이 제공된다.In the present disclosure, the steps of voxelizing a point cloud and mesh data of a three-dimensional image, determining a voxelization parameter generated by voxelization of the point cloud and mesh data, and transmitting a parameter set including the voxelization parameter A video encoding method is provided, wherein the parameter set includes at least one of a v3c parameter set, an atlas sequence parameter set, and an atlas adaptive parameter set.
Description
본 발명은 플렌옵틱 포인트 클라우드, 플렌옵틱 메쉬 등 시점 종속적인 속성 정보를 갖는 볼륨 데이터로부터 시청자(viewer)의 관측 시점에 따라, 시점 종속적인 속성 정보를 보여줄 수 있도록 각 시점의 카메라 파라미터를 부호화/복호화할 수 있는 방법에 관한 것이다. 또한, 부동소수점 포인트 클라우드 및 메쉬 데이터에 대한 복셀화 과정을 통해 생성된 복셀화 파라미터를 부호화/복호화할 수 있는 방법에 관한 것이다.The present invention encodes/decodes camera parameters of each view so that view-dependent attribute information can be displayed according to the view point of a viewer from volume data having view-dependent attribute information, such as a plenoptic point cloud, a plenoptic mesh, etc. It's about how you can do it. Also, the present invention relates to a method of encoding/decoding a voxelization parameter generated through a voxelization process for floating-point point cloud and mesh data.
플랜옵틱 포인트 클라우드(메쉬)란 플랜옵틱 포인트의 집합으로서, 플랜옵틱 포인트는 하나의 3차원 점이 위치하는 하나의 기하정보와 다시점 영상으로부터 획득한 다수의 색상 정보를 가지는 표현 방법을 의미한다.A plan optic point cloud (mesh) is a set of plan optic points, and a plan optic point refers to an expression method having one geometric information in which one three-dimensional point is located and a plurality of color information obtained from a multi-viewpoint image.
시청자의 관측 시점에 따른 시점 종속적인 속성 정보를 렌더링하기 위해서는 해당 시점의 속성을 획득한 카메라 파라미터 정보를 필요로 하지만, 기존 포인트 클라우드 압축 방식에서는 시점 별 카메라 파라미터 정보를 비트스트림으로부터 획득할 수 없어 완벽하게 시점-종속적인 속성 정보를 시청자에게 보여줄 수 없는 단점이 있다.In order to render view-dependent property information according to the viewer's observation point, camera parameter information obtained with the property of the corresponding point of view is required. However, there is a disadvantage in that view-dependent attribute information cannot be shown to the viewer.
플렌옵틱 포인트 클라우드/메쉬 등 시점-종속적인 속성 정보를 포함하는 볼륨 데이터에 대해 시청자에게 시청 시점에 따른 서로 다른 속성 정보를 제공할 수 있다.With respect to volume data including view-dependent attribute information, such as a plenoptic point cloud/mesh, different attribute information according to a viewing time may be provided to a viewer.
부동 소수점 좌표값을 갖는 플렌옵틱 포인트 클라우드 및 메쉬 입력에 대해 복셀화하여 데이터를 부/복호화한 후 3차원상의 부동 소수점 좌표로 변환하여 볼륨 데이터를 소비할 수 있다.Volume data can be consumed by voxelizing the plenoptic point cloud and mesh input having floating point coordinate values to encode/decode the data, and then convert it to 3D floating point coordinates.
시점-종속적인 속성 정보를 획득 시 사용한 카메라 파라미터 정보를 비트스트림내에 부호화/복호화 함으로써 완벽한 시점-종속적인 속성 정보를 제공할 수 있다. Perfect view-dependent attribute information can be provided by encoding/decoding camera parameter information used when acquiring view-dependent attribute information in a bitstream.
복셀 파라미터를 비트스트림내에 부호화/복호화하여 3차원상의 부동 소수점 좌표로 변환할 수 있다.By encoding/decoding a voxel parameter in a bitstream, it can be converted into three-dimensional floating-point coordinates.
본 개시에서 3차원 이미지의 포인트 클라우드 및 메쉬 데이터를 복셀화하는 단계, 포인트 클라우드 및 메쉬 데이터의 복셀화에 의하여 생성된 복셀화 파라미터를 결정하는 단계, 복셀화 파라미터를 포함하는 파라미터 세트를 전송하는 단계를 포함하고, 파라미터 세트는 v3c 파라미터 세트, 아틀라스 시퀀스 파라미터 세트, 아틀라스 적응적 파라미터 세트 중 적어도 하나를 포함하는 것을 특징으로 하는 비디오 부호화 방법이 제공된다.In the present disclosure, the steps of voxelizing a point cloud and mesh data of a three-dimensional image, determining a voxelization parameter generated by voxelization of the point cloud and mesh data, and transmitting a parameter set including the voxelization parameter A video encoding method is provided, wherein the parameter set includes at least one of a v3c parameter set, an atlas sequence parameter set, and an atlas adaptive parameter set.
본 개시에서 복셀화 파라미터를 포함하는 파라미터 세트를 획득하고, 파라미터 세트의 복셀화 파라미터에 따라, 3차원 이미지의 포인트 클라우드를 복셀화하는 비디오 복호화 방법이 제공된다.In the present disclosure, a video decoding method for obtaining a parameter set including a voxelization parameter and voxelizing a point cloud of a three-dimensional image according to the voxelization parameter of the parameter set is provided.
본 개시의 실시 예를 통해 시점-종속적인 속성 정보를 포함하고 있는 볼륨 데이터를 소비 시, 시청자의 관측 시점에 따른 서로 다른 속성 정보를 제공할 수 있다.When consuming volume data including viewpoint-dependent attribute information through an embodiment of the present disclosure, different attribute information according to a viewer's observation viewpoint may be provided.
그리고 부동 소수점 기하 정보를 갖는 포인트 클라우드/메쉬 등을 처리할 수 있는 방법을 제공할 수 있다.In addition, a method capable of processing a point cloud/mesh having floating-point geometric information may be provided.
도 1은 플렌옵틱 포인트 클라우드의 생성 예시를 도시한다.
도 2는 플렌옵틱 포인트에 할당된 속성 정보를 시점의 위치에 따라 표현하는 방식을 설명하기 위한 도면이다.
도 3 본 개시의 일 실시예에 따른 다시점 영상 생성 방법을 설명하기 위한 도면이다.
도 4은 V3C 비트스트림 구조를 나타낸다.
도 5는 아틀라스 시퀀스 파라미터 세트에 관한 신택스 구조인 atlas_sequence_parameter_set_rbsp( )의 일 실시예를 나타낸다.
도 6은 아틀라스 시퀀스 파라미터 세트의 복셀화 파라미터에 관한 신택스 구조인 asps_voxelization_parameters( )의 일 실시 예를 나타낸다.
도 7은 아틀라스 시퀀스 파라미터 세트에 관한 신택스 구조인 atlas_sequence_parameter_set_rbsp( )의 일 실시예를 나타낸다.
도 8은 아틀라스 시퀀스 파라미터 세트의 메쉬 복셀화 파라미터에 관한 신택스 구조인 asps_mesh_voxelization_parameters( ) 의 일 실시 예를 나타낸다.
도 9는 아틀라스 적응적 파라미터 세트에 관한 신택스 구조인 atlas_adaptation_parameter_set_rbsp( )의 일 실시예를 나타낸다.
도 10은 아틀라스 적응적 파라미터 세트의 복셀화 파라미터에 관한 신택스 구조인 aaps_voxelization_parameters( )의 일 실시 예를 나타낸다.
도 11은 아틀라스 적응적 파라미터 세트에 관한 신택스 구조인 atlas_adaptation_parameter_set_rbsp( )의 일 실시예를 나타낸다.
도 12는 아틀라스 적응적 파라미터 세트의 메쉬 복셀화 파라미터에 관한 신택스 구조인 aaps_mesh_voxelization_parameters( ) 의 일 실시 예를 나타낸다.
도 13은 V3C 파라메터 세트인 v3c_parameter_set (numBytesInV3CPlaylode) 의 일 실시 예를 나타낸다.
도 14는 카메라 파라미터 세트인 vps_camera_parameters( ) 의 일 실시 예를 나타낸다.
도 15는 카메라 파라미터를 포함하는 아틀라스 시퀀스 파라미터 세트인 asps_vpcc_extension()의 일 실시 예를 나타낸다.
도 16은 아틀라스 시퀀스 파라미터 세트에 포함된 카메라 파라미터 세트인 atlas_sps_camera_parameters( )의 일 실시 예를 나타낸다.
도 17는 아틀라스 적응적 파라미터 세트의 aaps_vpcc_extension()의 일 실시 예를 나타낸다.
도 18은 아틀라스 적응적 파라미터 세트에 포함된 카메라 파라미터 세트인 atlas_sps_camera_parameters( )의 일 실시 예를 나타낸다.
도 19는 본 개시의 3차원 이미지의 부호화 방법에 대한 순서도이다.
도 20은 본 개시의 3차원 이미지의 복호화 방법에 대한 순서도이다.1 shows an example of generating a plenoptic point cloud.
FIG. 2 is a diagram for explaining a method of expressing attribute information allocated to a plenoptic point according to a position of a viewpoint.
3 is a view for explaining a method of generating a multi-viewpoint image according to an embodiment of the present disclosure.
4 shows a V3C bitstream structure.
5 shows an embodiment of atlas_sequence_parameter_set_rbsp( ), which is a syntax structure for an atlas sequence parameter set.
6 illustrates an embodiment of asps_voxelization_parameters( ), which is a syntax structure related to a voxelization parameter of an atlas sequence parameter set.
7 shows an embodiment of atlas_sequence_parameter_set_rbsp( ), which is a syntax structure for an atlas sequence parameter set.
8 shows an embodiment of asps_mesh_voxelization_parameters( ), which is a syntax structure for mesh voxelization parameters of an atlas sequence parameter set.
9 shows an embodiment of atlas_adaptation_parameter_set_rbsp( ), which is a syntax structure for an atlas adaptive parameter set.
10 illustrates an embodiment of aaps_voxelization_parameters( ), which is a syntax structure for voxelization parameters of an atlas adaptive parameter set.
11 shows an embodiment of atlas_adaptation_parameter_set_rbsp( ), which is a syntax structure for an atlas adaptive parameter set.
12 illustrates an embodiment of aaps_mesh_voxelization_parameters( ), which is a syntax structure for mesh voxelization parameters of an atlas adaptive parameter set.
13 shows an embodiment of a V3C parameter set, v3c_parameter_set (numBytesInV3CPlaylode).
14 shows an embodiment of a camera parameter set, vps_camera_parameters( ).
15 shows an embodiment of asps_vpcc_extension(), which is an atlas sequence parameter set including camera parameters.
16 illustrates an embodiment of atlas_sps_camera_parameters( ), which is a camera parameter set included in an atlas sequence parameter set.
17 shows an embodiment of aaps_vpcc_extension() of an atlas adaptive parameter set.
18 illustrates an embodiment of atlas_sps_camera_parameters( ), which is a camera parameter set included in the atlas adaptive parameter set.
19 is a flowchart of a 3D image encoding method of the present disclosure.
20 is a flowchart of a 3D image decoding method according to the present disclosure.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다. 후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 실시예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 실시예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. Like reference numerals in the drawings refer to the same or similar functions throughout the various aspects. The shapes and sizes of elements in the drawings may be exaggerated for clearer description. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] Reference is made to the accompanying drawings, which illustrate specific embodiments by way of example. These embodiments are described in sufficient detail to enable those skilled in the art to practice the embodiments. It should be understood that various embodiments are different, but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein with respect to one embodiment may be implemented in other embodiments without departing from the spirit and scope of the invention. In addition, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the embodiment. Accordingly, the detailed description set forth below is not intended to be taken in a limiting sense, and the scope of exemplary embodiments, if properly described, is limited only by the appended claims, along with all scope equivalents to those as claimed.
본 발명에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.In the present invention, terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
본 발명의 어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component of the present invention is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but other components may exist in between. It should be understood that there may be On the other hand, when it is mentioned that a certain element is "directly connected" or "directly connected" to another element, it should be understood that no other element is present in the middle.
본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.Components shown in the embodiment of the present invention are shown independently to represent different characteristic functions, and it does not mean that each component is made of separate hardware or a single software component. That is, each component is listed as each component for convenience of explanation, and at least two components of each component are combined to form one component, or one component can be divided into a plurality of components to perform a function, and each of these components Integrated embodiments and separate embodiments of the components are also included in the scope of the present invention without departing from the essence of the present invention.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 즉, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.The terms used in the present invention are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present invention, terms such as "comprises" or "have" are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof. That is, the description of “including” a specific configuration in the present invention does not exclude configurations other than the corresponding configuration, and it means that additional configurations may be included in the practice of the present invention or the scope of the technical spirit of the present invention.
본 발명의 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.Some components of the present invention are not essential components for performing essential functions in the present invention, but may be optional components for merely improving performance. The present invention can be implemented by including only essential components to implement the essence of the present invention except for components used for performance improvement, and a structure including only essential components excluding optional components used for performance improvement Also included in the scope of the present invention.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하고, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.EMBODIMENT OF THE INVENTION Hereinafter, embodiment of this invention is described concretely with reference to drawings. In describing the embodiments of the present specification, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present specification, the detailed description is omitted, and the same reference numerals are used for the same components in the drawings. and repeated descriptions of the same components are omitted.
가상현실(virtual reality) 서비스는 전방위 360비디오를 실사 혹은 CG형태로 생성하여 개인형 VR 단말인HMD(Head Mounted Display), 스마트폰에 재생함으로써 몰입감과 현장감을 극대화하기 위해 진화하고 있다.The virtual reality service is evolving to maximize immersion and sense of presence by generating omnidirectional 360 videos in live or CG form and playing them on personal VR terminals such as HMD (Head Mounted Display) and smartphones.
이하, 본 개시에서 사용되는 용어를 설명한다.Hereinafter, terms used in the present disclosure will be described.
아틀라스는 직사각형의 프레임에 배치된 2차원 경계 상자(bounding box) 및 관련 정보들의 집합을 의미한다. 즉, 아틀라스는 볼륨 데이터가 렌더링 되는 3차원 공간상의 볼륨에 해당된다.The atlas refers to a set of two-dimensional bounding boxes and related information arranged in a rectangular frame. That is, the atlas corresponds to the volume in the 3D space to which the volume data is rendered.
아틀라스 프레임은 패치들이 투영된 아틀라스 샘플들의 2D 직사각형 배열을 의미한다.An atlas frame refers to a 2D rectangular arrangement of atlas samples onto which the patches are projected.
아틀라스 샘플은 아틀라스와 연관된 패치들이 투영된 직사각형 프레임의 위치와 그 위치에 할당된 값을 나타낸다.The atlas sample represents the position of the rectangular frame onto which the patches associated with the atlas are projected and the value assigned to that position.
V3C 파라미터 세트(V3C_parameter set)는 3차원 비디오 전체에 적용되는 파라미터의 집합니다. The V3C parameter set (V3C_parameter set) is a set of parameters applied to the entire 3D video.
아틀라스 시퀀스 파라미터 세트(Atlas sequence parameter set)는 아틀라스에 적용되는 시퀀스에 대한 파라미터들의 집합이다. The atlas sequence parameter set is a set of parameters for a sequence applied to the atlas.
아틀라스 적응적 파라미터 세트(Atlas adaptation parameter set)는 아틀라스 내에서 적응적으로 적용되는 파라미터들의 집합이다. The atlas adaptation parameter set is a set of parameters that are adaptively applied in the atlas.
도 1은 플렌옵틱 포인트 클라우드의 생성 예시를 도시한다. 플렌옵틱 포인트(plenoptic point)는 3차원 공간에서 X, Y, Z 등의 3차원 좌표로 표현되는 하나의 기하(geometry) 정보와 N개의 카메라 시점으로 관측했을 때 획득되는 RGB, YUV 등의 N개의 속성(attribute) 정보를 포함하고 있는 데이터 형태이다. 플렌옵틱 포인트 클라우드(plenoptic point cloud)는 플렌옵틱 포인트의 집합으로, 플렌옵틱 포인트를 최소 하나 이상 포함할 수 있다.1 shows an example of generating a plenoptic point cloud. A plenoptic point is one piece of geometry information expressed in three-dimensional coordinates such as X, Y, and Z in a three-dimensional space, and N pieces of RGB, YUV, etc. It is a data type that includes attribute information. A plenoptic point cloud is a set of plenoptic points, and may include at least one plenoptic point.
플렌옵틱 포인트 클라우드는 N개의 각 입력 시점 별 2차원 영상과 깊이 정보를 이용하여 생성될 수 있다. 이때, 3차원 공간은 생성한 포인트들을 모두 포함하는 공간을 통해 정의될 수 있다.The plenoptic point cloud may be generated using a 2D image and depth information for each of the N input viewpoints. In this case, the 3D space may be defined through a space including all the generated points.
여기서, 2D 영상은 다시점(multi-view) 영상, 라이트필드(lightfield) 영상 등 하나 이상의 카메라로 획득된 영상들을 의미할 수 있다. 그리고 다시점 영상은 특정 영역을 서로 다른 시점을 가진 다수의 카메라들이 동시에 촬영한 영상들로 구성될 수 있다.Here, the 2D image may mean images acquired by one or more cameras, such as a multi-view image and a lightfield image. In addition, the multi-view image may be composed of images simultaneously photographed by a plurality of cameras having different viewpoints in a specific area.
이때, 정의된 3차원 공간이 일정 단위 복셀로 분할되고 복셀안에 있는 포인트들이 하나의 기하 정보 값을 갖도록 병합될 수 있다. 또한 이때, 3차원 포인트들이 갖고 있던 색상 정보가 모두 저장되고 어느 시점으로부터 생성된 포인트 인지에 관한 정보를 활용하여 플렌옵틱 포인트 클라우드가 생성될 수 있다. In this case, the defined 3D space may be divided into predetermined unit voxels, and points within the voxels may be merged to have one geometric information value. Also, at this time, all color information of the three-dimensional points is stored, and a plenoptic point cloud may be generated by using the information regarding the point generated from which point.
3차원 포인트가 생성되지 않은 시점의 색상 정보는, 같은 복셀에 포함되는 다른 시점들의 색상 정보로부터 유추될 수 있다. 예컨대, 3차원 포인트가 생성되지 않은 시점의 색상 정보는 복셀 안의 다른 시점 또는 포인트들의 색상 정보들의 평균값, 최대값, 최소값 중 적어도 하나를 이용하여 유도될 수 있다. 또한 예컨대, 3차원 포인트가 생성되지 않은 시점의 색상 정보는, 해당 시점 또는 포인트에 인접한 시점 또는 포인트의 색상 정보로부터 유도될 수 있다.The color information of a viewpoint in which a 3D point is not generated may be inferred from color information of other viewpoints included in the same voxel. For example, color information of a viewpoint in which a 3D point is not generated may be derived using at least one of an average value, a maximum value, and a minimum value of color information of other viewpoints or points in the voxel. Also, for example, color information of a viewpoint in which a 3D point is not generated may be derived from color information of a viewpoint or point adjacent to the corresponding viewpoint or point.
한편, 한 시점에서 생성된 3차원 포인트가 한 복셀에 여러 개 포함되어 있는 경우, 해당 시점의 색상 값들의 평균값, 최대값, 최소값 중 적어도 하나를 저장하는 방법으로 플렌옵틱 포인트 클라우드가 생성될 수 있다.Meanwhile, when a plurality of 3D points generated at one viewpoint are included in one voxel, a plenoptic point cloud may be generated by storing at least one of the average value, the maximum value, and the minimum value of the color values of the corresponding viewpoint. .
다른 예로, 한 시점에서 생성된 3차원 포인트가 한 복셀에 여러 개 포함되어 있는 경우, 가장 작은 깊이 정보 또는 가장 큰 깊이 정보를 가진 포인트의 색상 정보를 저장하는 방법으로 플렌옵틱 포인트 클라우드가 생성될 수 있다. As another example, if multiple 3D points generated at one point are included in one voxel, a plenoptic point cloud can be created by storing the color information of the point with the smallest depth information or the largest depth information. have.
여기서, 하나 이상의 속성 정보를 가지는 복셀을 다속성 복셀이라고 할 수 있다. 즉, 다속성 복셀은 플렌옵틱 포인트를 의미할 수 있다.Here, a voxel having one or more attribute information may be referred to as a multi-attribute voxel. That is, the multi-attribute voxel may mean a plenoptic point.
도 2는 플렌옵틱 포인트에 할당된 속성 정보를 시점의 위치에 따라 표현하는 방식을 설명하기 위한 도면이다. FIG. 2 is a diagram for explaining a method of expressing attribute information allocated to a plenoptic point according to a position of a viewpoint.
도 2의 예와 같이, 생성된 플렌옵틱 포인트에 할당된 속성 정보는 시점의 위치에 따라 θ와 h를 이용한 2차원 형태로 표현할 수 있다. 여기서, θ는 실수 값, 정수 값 등으로 표현되는 각도를 의미하며, h는 실수 값, 정수 값 등의 표현되는 크기를 의미할 수 있다. 즉, 플렌옵틱 포인트에 할당된 속성 정보는 θ와 h로 표현되는 2차원 좌표 값을 가질 수 있다.As in the example of FIG. 2 , the attribute information assigned to the generated plenoptic point may be expressed in a two-dimensional form using θ and h according to the position of the viewpoint. Here, θ may mean an angle expressed by a real value, an integer value, etc., and h may mean a size expressed by a real value or an integer value. That is, the attribute information assigned to the plenoptic point may have two-dimensional coordinate values expressed by θ and h.
2차원 형태로 표현된 N개 시점의 플렌옵틱 포인트의 속성 정보들 간의 중복성을 효율적으로 제거하기 위해, 속성 분해(analysis)가 수행될 수 있다. 이때, 플렌옵틱 포인트의 속성 분해는 속성 정보에 대해 속성 정보 간 예측(prediction), 속성 정보의 패딩(padding), 속성 정보의 외삽(extrapolation), 속성 정보의 보간(interpolation), 속성 정보의 변환(transform), 속성 정보의 양자화(quantization) 중 적어도 하나를 수행하는 것을 의미할 수 있다. In order to efficiently remove redundancy between attribute information of plenoptic points of N views expressed in a two-dimensional form, attribute analysis may be performed. At this time, the property decomposition of the plenoptic point includes prediction between property information for property information, padding of property information, extrapolation of property information, interpolation of property information, conversion of property information ( transform) and quantization of attribute information may mean performing at least one of.
속성 분해는 시점 종속 속성 정보 및 시점 독립 속성 정보로 속성을 분해하는 것을 의미할 수 있다. 여기서, 시점 종속 속성 정보는 각 시점에서 가지는 고유한 속성 정보를 의미할 수 있고, 시점 독립 속성 정보는 하나 이상의 시점에서 공통적으로 가지는 속성 정보를 의미할 수 있다. 예를 들어, 시점 종속 속성 정보는 정반사(specular) 성분을 의미할 수 있고, 시점 독립 속성 정보는 난반사(diffuse) 성분을 의미할 수 있다.Attribute decomposition may mean decomposing attributes into view-dependent attribute information and view-independent attribute information. Here, the view-dependent attribute information may mean unique attribute information of each view, and the view-independent attribute information may refer to attribute information that is common to one or more views. For example, view-dependent attribute information may mean a specular component, and view-independent attribute information may mean a diffuse component.
도 3 본 개시의 일 실시예에 따른 다시점 영상 생성 방법을 설명하기 위한 도면이다.3 is a view for explaining a method of generating a multi-viewpoint image according to an embodiment of the present disclosure.
먼저, 플렌옵틱 포인트 클라우드의 기하 정보를 활용하여, 3차원 물체가 2차원 영상으로 투영될 수 있다(S300). 또한, 플렌옵틱 포인트 클라우드의 폐색 패턴 정보를 활용하여 3차원 물체(포인트)가 2차원 영상으로 투영될 수 있다. 예를 들어, 폐색 패턴 정보 중 임의의 시점에 해당하는 폐색 패턴 정보가 무의미한 속성 정보를 나타내는 경우 해당 포인트는 해당 시점으로 투영이 이루어지지 않을 수 있다. 폐색 패턴 정보는 제 1 값으로 '1'을 가질 수 있으며, 제 2 값으로 '0'을 가질 수 있다. 예를 들어, 임의 시점의 폐색 패턴 정보가 제1 값을 갖는 경우, 해당 시점으로 투영된 위치의 픽셀 값은 해당 포인트의 해당 시점의 속성 정보로 결정될 수 있다. 반면, 폐색 패턴 정보가 제2 값을 갖는 경우, 해당 시점으로 포인트가 투영되지 않을 수 있다.First, a 3D object may be projected as a 2D image by using the geometric information of the plenoptic point cloud (S300). In addition, a 3D object (point) may be projected as a 2D image by using the occlusion pattern information of the plenoptic point cloud. For example, when occlusion pattern information corresponding to an arbitrary viewpoint among occlusion pattern information indicates meaningless attribute information, the corresponding point may not be projected to the corresponding viewpoint. The occlusion pattern information may have a first value of '1' and a second value of '0'. For example, when the occlusion pattern information of an arbitrary viewpoint has a first value, a pixel value of a position projected to the corresponding viewpoint may be determined as attribute information of the corresponding viewpoint of the corresponding point. On the other hand, when the occlusion pattern information has the second value, the point may not be projected to the corresponding viewpoint.
이때, 현재 픽셀에 대해 하나의 포인트만이 투영되는 경우에는, 해당 시점(의 포인트)의 속성 정보를 이용하여 현재 픽셀의 속성 정보가 결정될 수 있다(S305, S310). 반면, 현재 픽셀에 대해 다수의 포인트가 투영되는 경우에는, 카메라와 거리가 가장 가까운 시점(의 포인트)의 속성 정보를 이용하여 해당 픽셀의 속성 정보가 결정될 수 있다(S305, S320).In this case, when only one point is projected on the current pixel, the attribute information of the current pixel may be determined using attribute information of (the point of) the current pixel ( S305 and S310 ). On the other hand, when a plurality of points are projected on the current pixel, the attribute information of the corresponding pixel may be determined using attribute information of (a point of) that is closest to the camera ( S305 and S320 ).
반면, 현재 픽셀에 대해 플렌옵틱 포인트의 투영이 이루어지지 않은 속성 정보에 대해, 현재 픽셀의 N개의 이웃 픽셀들의 속성 정보를 참조될 수 있다. 이때, 카메라와의 거리가 가장 가까운 이웃 픽셀의 속성 정보를 이용하여, 현재 픽셀의 속성 정보가 결정될 수 있다(S315, S330). 이때, N은 0보다 큰 자연수 일 수 있으며, 예컨대, 4 또는 8의 값을 가질 수 있다.On the other hand, with respect to attribute information in which the projection of the plenoptic point is not performed on the current pixel, attribute information of N neighboring pixels of the current pixel may be referred to. In this case, property information of the current pixel may be determined using property information of a neighboring pixel having the closest distance to the camera ( S315 and S330 ). In this case, N may be a natural number greater than 0, for example, may have a value of 4 or 8.
또한, 현재 픽셀에 대해 플렌옵틱 포인트의 투영이 이루어지지 않고, 현재 픽셀의 N개의 이웃 픽셀들의 속성 정보가 없거나 투영된 포인트가 없는 경우, 2차원 영상 상의 NxN 마스크를 활용한 보간 방법을 활용하여, 현재 샘플에 대한 홀(Hole) 필링이 수행될 수 있다(S315, S340). 이때, N은 0보다 큰 자연수 일 수 있으며, 예컨대, 5의 값을 가질 수 있다.In addition, if the projection of the plenoptic point is not performed on the current pixel and there is no property information or no projected points of the N neighboring pixels of the current pixel, using an interpolation method using an NxN mask on a two-dimensional image, Hole filling may be performed on the current sample (S315 and S340). In this case, N may be a natural number greater than 0, for example, may have a value of 5.
도 4은 V3C 비트스트림 구조를 나타낸다.4 shows a V3C bitstream structure.
V3C 샘플 스트림은 비디오 전체에 대한 비트스트림을 의미한다. V3C 샘플 스트림의 타입으로 비디오 전체에 적용되는 파라미터를 포함하는 v3c_parameter_set() 등이 포함된다. 또한, V3C 샘플 스트림의 타입으로 아틀라스의 부호화 데이터를 포함하는 atlas_sub_bitstream()이 있다. 아틀라스는 다수의 입력 시점 영상들의 중복성을 제거하고 남은 텍스쳐 및 깊이 영상 패치(patch)들을 촘촘히 프레임으로 패킹한 이미지를 나타낸다.The V3C sample stream means a bitstream for the entire video. As the type of the V3C sample stream, v3c_parameter_set() including parameters applied to the entire video are included. Also, as a type of the V3C sample stream, there is atlas_sub_bitstream() including encoded data of atlas. The atlas represents an image in which the remaining texture and depth image patches are tightly packed into frames after removing the redundancy of a plurality of input view images.
atlas_sub_bitstream() 타입의 V3C 샘플 스트림은 복수의 NAL 샘플 스트림을 포함할 수 있다. 예를 들어, NAL 샘플 스트림의 타입으로 아틀라스 시퀀스 파라미터 세트 atlas_sequence_parameter_set_rbsp( ), 아틀라스 적응적 파라미터 세트 atlas_adaptation_parameter_set_rbsp( ), 아틀라스 프레임 파라미터 세트 atlas_frame_parameter_set_rbsp( )과 같은 파라미터 세트가 있다. 상기 파라미터 세트는 복셀화 파라미터, 메쉬 복셀화 파라미터, 카메라 파라미터 세트 등을 포함할 수 있다. The atlas_sub_bitstream() type V3C sample stream may include a plurality of NAL sample streams. For example, there are parameter sets such as atlas sequence parameter set atlas_sequence_parameter_set_rbsp( ), atlas adaptive parameter set atlas_adaptation_parameter_set_rbsp( ), and atlas frame parameter set atlas_frame_parameter_set_rbsp( ) as the type of the NAL sample stream. The parameter set may include a voxelization parameter, a mesh voxelization parameter, a camera parameter set, and the like.
그리고 NAL 샘플 스트림의 타입으로 atlas_tile_layer_rbsp()가 있다. atlas_tile_layer_rbsp()에는 각 아틀라스 타일에 대한 정보가 포함된다. 구체적으로 atlas_tile_layer_rbsp() 타입의 NAL 샘플 스트림은 복수의 시점에 대응되는 아틀라스 타일의 레이어를 포함한다. 각 아틀라스 타일 레이어는 아틀라스를 구성하는 패치에 대한 정보를 포함하는 patch_data_unit을 포함한다.And there is atlas_tile_layer_rbsp() as a type of NAL sample stream. atlas_tile_layer_rbsp() includes information about each atlas tile. Specifically, the atlas_tile_layer_rbsp() type NAL sample stream includes atlas tile layers corresponding to a plurality of views. Each atlas tile layer includes patch_data_unit including information on patches constituting the atlas.
도 5는 아틀라스 시퀀스 파라미터 세트에 관한 신택스 구조인 atlas_sequence_parameter_set_rbsp( )의 일 실시예를 나타낸다.5 shows an embodiment of atlas_sequence_parameter_set_rbsp( ), which is a syntax structure for an atlas sequence parameter set.
asps_vpcc_extension_present_flag가 제1의 값인 '1'을 갖는 경우, asps_vpcc_extension_present_flag는 현재 아틀라스 시퀀스 파라미터 세트에 asps_vpcc_extension() 신택스가 존재함을 의미할 수 있다. asps_vpcc_extension_present_flag가 제1 값인 '0'을 갖는 경우, asps_vpcc_extension_present_flag는 현재 아틀라스 시퀀스 파라미터 세트에 asps_vpcc_extension()가 존재하지 않음을 의미할 수 있다. When asps_vpcc_extension_present_flag has a first value of '1', asps_vpcc_extension_present_flag may mean that asps_vpcc_extension() syntax exists in the current atlas sequence parameter set. When asps_vpcc_extension_present_flag has a first value of '0', asps_vpcc_extension_present_flag may mean that asps_vpcc_extension() does not exist in the current atlas sequence parameter set.
asps_voxelization_parameter_present_flag가 제1 값인 '1'을 갖는 경우, asps_voxelization_parameter_present_flag는 현재 아틀라스 시퀀스 파라미터 세트에 복셀화 파라미터가 존재함을 의미할 수 있다. asps_voxelization_parameter_present_flag가 제2 값인 '0'을 갖는 경우, asps_voxelization_parameter_present_flag는 현재 아틀라스 시퀀스 파라미터 세트에 복셀화 파라미터가 존재하지 않음을 의미할 수 있다.When asps_voxelization_parameter_present_flag has a first value of '1', asps_voxelization_parameter_present_flag may mean that a voxelization parameter is present in the current atlas sequence parameter set. When asps_voxelization_parameter_present_flag has a second value of '0', asps_voxelization_parameter_present_flag may mean that a voxelization parameter does not exist in the current atlas sequence parameter set.
도 6은 아틀라스 시퀀스 파라미터 세트의 복셀화 파라미터에 관한 신택스 구조인 asps_voxelization_parameters( )의 일 실시 예를 나타낸다.6 illustrates an embodiment of asps_voxelization_parameters ( ), which is a syntax structure related to a voxelization parameter of an atlas sequence parameter set.
도 5의 asps_voxelization_parameter_present_flag가 제1 값인 '1'을 갖는 경우, 도 6의 asps_voxelization_parameters( )가 파싱된다.When asps_voxelization_parameter_present_flag of FIG. 5 has a first value of '1', asps_voxelization_parameters ( ) of FIG. 6 is parsed.
vp_scalable_enabled_flag가 제1 값인 '1'을 갖는 경우, vp_scalable_enabled_flag는 복셀화를 위한 스케일 파라미터가 존재함을 나타낼 수 있다. vp_scalable_enabled_flag 가 제2 값인 '0'을 갖는 경우, vp_scalable_enabled_flag는 복셀화를 위한 스케일 파라미터가 존재하지 않음을 나타낼 수 있다.When vp_scalable_enabled_flag has a first value of '1', vp_scalable_enabled_flag may indicate that a scale parameter for voxelization exists. When vp_scalable_enabled_flag has a second value of '0', vp_scalable_enabled_flag may indicate that a scale parameter for voxelization does not exist.
vp_offset_enabled_flag가 제1 값인 '1'을 갖는 경우, vp_offset_enabled_flag는 복셀화를 위한 오프셋 파라미터가 존재함을 나타낼 수 있다. vp_offset_enabled_flag가 제2 값인 '0'을 갖는 경우, vp_offset_enabled_flag는 복셀화를 위한 오프셋 파라미터가 존재하지 않음을 나타낼 수 있다.When vp_offset_enabled_flag has a first value of '1', vp_offset_enabled_flag may indicate that an offset parameter for voxelization exists. When vp_offset_enabled_flag has a second value of '0', vp_offset_enabled_flag may indicate that an offset parameter for voxelization does not exist.
vp_width_enabled_flag가 제1 값인 '1'을 갖는 경우, vp_width_enabled_flag는 복셀화를 위한 공간 해상도 파라미터가 존재함을 나타낼 수 있다. vp_width_enabled_flag 가 제2 값인 '0'을 갖는 경우, vp_width_enabled_flag는 복셀화를 위한 공간 해상도 파라미터가 존재하지 않음을 나타낼 수 있다.When vp_width_enabled_flag has a first value of '1', vp_width_enabled_flag may indicate that a spatial resolution parameter for voxelization exists. When vp_width_enabled_flag has a second value of '0', vp_width_enabled_flag may indicate that a spatial resolution parameter for voxelization does not exist.
vp_scale_on_axis[d]는 현재 복셀화에 대한 d-축(axis)을 따라 2-16씩 증가하는 스케일값 Scale[d] 값을 나타낼 수 있다. vp_scale_on_axis[d]는 1에서 232-1 범위의 값을 가질 수 있다. d는 0~2값을 가질 수 있으며, 0, 1, 2는 각각 X, Y, Z축에 해당될 수 있다. asps_voxelization_parameters( )에 vp_scale_on_axis[d] 가 존재하지 않을 경우, vp_scale_on_axis[d]는 216으로 유추될 수 있다. Scale[d] 값은 아래와 같이 유도될 수 있다. vp_scale_on_axis[d] may represent a scale value Scale[d] that increases by 2 -16 along a d-axis for current voxelization. vp_scale_on_axis[d] may have a value in the range of 1 to 2 32 -1. d may have a value of 0 to 2, and 0, 1, and 2 may correspond to the X, Y, and Z axes, respectively. When vp_scale_on_axis[d] does not exist in asps_voxelization_parameters( ), vp_scale_on_axis[d] may be inferred as 2 16 . The Scale[d] value can be derived as follows.
Scale [d] = vp_scale_on_axis[d] ÷ 216 Scale[d] = vp_scale_on_axis[d] ÷ 2 16
vp_offset_on_axis[d]는 현재 복셀화에 대한 d-축(axis)을 따라 2-16씩 증가하는 오프셋 Offset[d] 값을 지정할 수 있다. vp_scale_on_axis[d]는 -231에서 231-1 범위의 값을 가질 수 있다. d는 0~2값을 가질 수 있으며, 0, 1, 2는 각각 X, Y, Z축에 해당될 수 있다. asps_voxelization_parameters( )에 vp_offset_on_axis[d]가 존재하지 않을 경우, vp_offset_on_axis[d]는 216으로 유추될 수 있다. Offset[d] 값은 아래와 같이 유도될 수 있다. vp_offset_on_axis[d] may specify an offset Offset[d] value that increases by 2 -16 along the d-axis for the current voxelization. vp_scale_on_axis[d] may have a value in the range of -2 31 to 2 31 -1. d may have a value of 0 to 2, and 0, 1, and 2 may correspond to the X, Y, and Z axes, respectively. When vp_offset_on_axis[d] does not exist in asps_voxelization_parameters( ), vp_offset_on_axis[d] may be inferred as 2 16 . The Offset[d] value can be derived as follows.
Offset [d] = vp_offset_on_axis[d] ÷ 216 Offset [d] = vp_offset_on_axis[d] ÷ 2 16
vp_width_minus1는 X, Y, Z 축으로 (vp_width_minus1 + 1) 개의 복셀들로 공간 해상도가 구성됨을 지시할 수 있다.vp_width_minus1 may indicate that spatial resolution is configured by (vp_width_minus1 + 1) voxels in X, Y, and Z axes.
도 7은 아틀라스 시퀀스 파라미터 세트에 관한 신택스 구조인 atlas_sequence_parameter_set_rbsp( )의 일 실시예를 나타낸다.7 illustrates an embodiment of atlas_sequence_parameter_set_rbsp( ), which is a syntax structure for an atlas sequence parameter set.
asps_mesh_extension_present_flag가 제1 값인 '1'을 갖는 경우, 현재 아틀라스 시퀀스 파라미터 세트에 asps_mesh_extension() 신택스가 존재할 수 있다. asps_mesh_extension_present_flag가 제1 값인 '0'을 갖는 경우, 현재 아틀라스 시퀀스 파라미터 세트에 asps_mesh_extension()가 존재하지 않을 수 있다. When asps_mesh_extension_present_flag has a first value of '1', an asps_mesh_extension() syntax may exist in the current atlas sequence parameter set. When asps_mesh_extension_present_flag has a first value of '0', asps_mesh_extension() may not exist in the current atlas sequence parameter set.
asps_mesh_voxelization_parameter_present_flag 가 제1 값인 '1'을 갖는 경우, 현재 아틀라스 시퀀스 파라미터 세트에 메쉬 복셀화 파라미터가 존재할 수 있다. asps_mesh_voxelization_parameter_present_flag 가 제2 값인 '0'을 갖는 경우, 현재 아틀라스 시퀀스 파라미터 세트에 메쉬 복셀화 파라미터가 존재하지 않을 수 있다.When asps_mesh_voxelization_parameter_present_flag has a first value of '1', a mesh voxelization parameter may exist in the current atlas sequence parameter set. When asps_mesh_voxelization_parameter_present_flag has a second value of '0', a mesh voxelization parameter may not exist in the current atlas sequence parameter set.
도 8은 아틀라스 시퀀스 파라미터 세트의 메쉬 복셀화 파라미터에 관한 신택스 구조인 asps_mesh_voxelization_parameters( ) 의 일 실시 예를 나타낸다.8 illustrates an embodiment of asps_mesh_voxelization_parameters( ) , which is a syntax structure for mesh voxelization parameters of an atlas sequence parameter set.
도 7의 asps_mesh_voxelization_parameters_present_flag가 제1 값인 '1'을 갖는 경우, 도 8의 asps_mesh_voxelization_parameters( )가 파싱된다.When asps_mesh_voxelization_parameters_present_flag of FIG. 7 has a first value of '1', asps_mesh_voxelization_parameters ( ) of FIG. 8 is parsed.
vp_scalable_enabled_flag가 제1 값인 '1'을 갖는 경우, asps_mesh_voxelization_parameters( )에 복셀화를 위한 스케일 파라미터가 존재할 수 있다. vp_scalable_enabled_flag가 제2 값인 '0'을 갖는 경우, asps_mesh_voxelization_parameters( )에 복셀화를 위한 스케일 파라미터가 존재하지 않음을 의미할 수 있다.When vp_scalable_enabled_flag has a first value of '1', a scale parameter for voxelization may exist in asps_mesh_voxelization_parameters( ). When vp_scalable_enabled_flag has a second value of '0', it may mean that a scale parameter for voxelization does not exist in asps_mesh_voxelization_parameters( ).
vp_offset_enabled_flag가 제1 값인 '1'을 갖는 경우, asps_mesh_voxelization_parameters( )에 복셀화를 위한 오프셋 파라미터가 존재함을 의미할 수 있다. vp_scalable_enabled_flag가 제2 값인 '0'을 갖는 경우, asps_mesh_voxelization_parameters( )에 복셀화를 위한 오프셋 파라미터가 존재하지 않음을 의미할 수 있다.When vp_offset_enabled_flag has a first value of '1', it may mean that an offset parameter for voxelization exists in asps_mesh_voxelization_parameters ( ). When vp_scalable_enabled_flag has a second value of '0', it may mean that an offset parameter for voxelization does not exist in asps_mesh_voxelization_parameters ( ).
vp_width_enabled_flag 가 제1 값인 '1'을 갖는 경우, asps_mesh_voxelization_parameters( )에 복셀화를 위한 공간 해상도 파라미터가 존재함을 의미할 수 있다. vp_width_enabled_flag 가 제2 값인 '0'을 갖는 경우, asps_mesh_voxelization_parameters( )에 복셀화를 위한 공간 해상도 파라미터가 존재하지 않음을 의미할 수 있다.When vp_width_enabled_flag has a first value of '1', it may mean that a spatial resolution parameter for voxelization exists in asps_mesh_voxelization_parameters( ). When vp_width_enabled_flag has a second value of '0', it may mean that a spatial resolution parameter for voxelization does not exist in asps_mesh_voxelization_parameters( ).
vp_scale_on_axis[d]는 현재 복셀화에 대한 d-축(axis)을 따라 2-16씩 증가하는 스케일값 Scale[d] 값을 지정할 수 있다. vp_scale_on_axis[d]는 1에서 232-1 범위의 값을 가질 수 있다. d는 0~2값을 가질 수 있으며 0, 1, 2는 각각 X, Y, Z축에 해당될 수 있다. vp_scale_on_axis[d]가 아틀라스 시퀀스 파라미터 세트에 존재하지 않을 경우, vp_scale_on_axis[d]는 216 로 유추될 수 있다. Scale[d] 값은 아래와 같이 유도될 수 있다. vp_scale_on_axis[d] may designate a scale value Scale[d] that increases by 2 -16 along the d-axis for the current voxelization. vp_scale_on_axis[d] may have a value in the range of 1 to 2 32 -1. d may have a value of 0 to 2, and 0, 1, and 2 may correspond to the X, Y, and Z axes, respectively. When vp_scale_on_axis[d] does not exist in the atlas sequence parameter set, vp_scale_on_axis[d] may be inferred as 2 16 . The Scale[d] value can be derived as follows.
Scale [d] = vp_scale_on_axis[d] ÷ 216 Scale[d] = vp_scale_on_axis[d] ÷ 2 16
vp_offset_on_axis[d]는 현재 복셀화에 대한 d-축(axis)을 따라 2-16씩 증가하는 오프셋 Offset[d] 값을 지정할 수 있다. vp_scale_on_axis[d]는 -231에서 231-1 범위의 값을 가질 수 있다. d는 0~2값을 가질 수 있으며 0, 1, 2는 X, Y, Z에 해당될 수 있다. vp_offset_on_axis[d]가 아틀라스 시퀀스 파라미터 세트에 존재하지 않을 경우, vp_offset_on_axis[d]는 216으로 유추될 수 있다. Offset[d] 값은 아래와 같이 유도될 수 있다. vp_offset_on_axis[d] may specify an offset Offset[d] value that increases by 2 -16 along the d-axis for the current voxelization. vp_scale_on_axis[d] may have a value in the range of -2 31 to 2 31 -1. d may have a value of 0 to 2, and 0, 1, 2 may correspond to X, Y, and Z. When vp_offset_on_axis[d] does not exist in the atlas sequence parameter set, vp_offset_on_axis[d] may be inferred as 2 16 . The Offset[d] value can be derived as follows.
Offset [d] = vp_offset_on_axis[d] ÷ 216 Offset [d] = vp_offset_on_axis[d] ÷ 2 16
vp_width_minus1는 X, Y, Z 축으로 (vp_width_minus1 + 1) 개의 복셀들로 공간 해상도가 구성됨을 지시할 수 있다.vp_width_minus1 may indicate that spatial resolution is configured by (vp_width_minus1 + 1) voxels in X, Y, and Z axes.
도 9는 아틀라스 적응적 파라미터 세트에 관한 신택스 구조인 atlas_adaptation_parameter_set_rbsp( )의 일 실시예를 나타낸다.9 shows an embodiment of atlas_adaptation_parameter_set_rbsp( ), which is a syntax structure for an atlas adaptive parameter set.
아틀라스 시퀀스 파라미터 세트의 asps_vpcc_extension()에 복셀화 파라미터가 정의된 경우, aaps_vpcc_extension()에서 정의된 값들로 업데이트되어 해당 아틀라스 적응적 파라미터 세트를 참조하는 아틀라스에 적용될 수 있다.When a voxelization parameter is defined in asps_vpcc_extension() of the atlas sequence parameter set, it may be updated to values defined in aaps_vpcc_extension() and applied to an atlas referring to the corresponding atlas adaptive parameter set.
aaps_voxelization_parameter_present_flag가 제1 값인 '1'을 갖는 경우, 현재 아틀라스 적응적 파라미터 세트에 복셀화 파라미터가 존재할 수 있다. aaps_voxelization_parameter_present_flag가 제2 값인 '0'을 갖는 경우, 현재 아틀라스 적응적 파라미터 세트에 복셀화 파라미터가 존재하지 않을 수 있다.When aaps_voxelization_parameter_present_flag has a first value of '1', a voxelization parameter may exist in the current atlas adaptive parameter set. When aaps_voxelization_parameter_present_flag has a second value of '0', a voxelization parameter may not exist in the current atlas adaptive parameter set.
도 10은 아틀라스 적응적 파라미터 세트의 복셀화 파라미터에 관한 신택스 구조인 aaps_voxelization_parameters( )의 일 실시 예를 나타낸다.10 illustrates an embodiment of aaps_voxelization_parameters( ), which is a syntax structure for voxelization parameters of an atlas adaptive parameter set.
도 9의 aaps_voxelization_parameter_present_flag가 제1 값인 '1'을 갖는 경우, 도 10의 aaps_voxelization_parameters( )가 파싱된다.When aaps_voxelization_parameter_present_flag of FIG. 9 has a first value of '1', aaps_voxelization_parameters ( ) of FIG. 10 is parsed.
aaps_vp_scalable_enabled_flag가 제1 값인 '1'을 갖는 경우, 아틀라스 적응적 파라미터 세트에 복셀화를 위한 스케일 파라미터가 존재할 수 있다. aaps_vp_scalable_enabled_flag가 제2 값인 '0'을 갖는 경우, 아틀라스 적응적 파라미터 세트에 복셀화를 위한 스케일 파라미터가 존재하지 않을 수 있다.When aaps_vp_scalable_enabled_flag has a first value of '1', a scale parameter for voxelization may exist in the atlas adaptive parameter set. When aaps_vp_scalable_enabled_flag has a second value of '0', a scale parameter for voxelization may not exist in the atlas adaptive parameter set.
aaps_vp_offset_enabled_flag가 제1 값인 '1'을 갖는 경우, 아틀라스 적응적 파라미터 세트에 복셀화를 위한 오프셋 파라미터가 존재할 수 있다. aaps_vp_offset_enabled_flag가 제2 값인 '0'을 갖는 경우, 아틀라스 적응적 파라미터 세트에 복셀화를 위한 오프셋 파라미터가 존재하지 않을 수 있다.When aaps_vp_offset_enabled_flag has a first value of '1', an offset parameter for voxelization may exist in the atlas adaptive parameter set. When aaps_vp_offset_enabled_flag has a second value of '0', an offset parameter for voxelization may not exist in the atlas adaptive parameter set.
aaps_vp_width_enabled_flag가 제1 값인 '1'을 갖는 경우, 아틀라스 적응적 파라미터 세트에 복셀화를 위한 공간 해상도 파라미터가 존재할 수 있다. aaps_vp_width_enabled_flag가 제2 값인 '0'을 갖는 경우, 아틀라스 적응적 파라미터 세트에 복셀화를 위한 공간 해상도 파라미터가 존재하지 않을 수 있다.When aaps_vp_width_enabled_flag has a first value of '1', a spatial resolution parameter for voxelization may exist in the atlas adaptive parameter set. When aaps_vp_width_enabled_flag has a second value of '0', a spatial resolution parameter for voxelization may not exist in the atlas adaptive parameter set.
aaps_vp_scale_on_axis[d]는 현재 복셀화에 대한 d-축(axis)을 따라 2-16씩 증가하는 스케일값 Scale[d] 값을 나타낼 수 있다. aaps_vp_scale_on_axis[d]는 1에서 232-1 범위의 값을 가질 수 있다. d는 0~2값을 가질 수 있으며 0, 1, 2는 각각 X, Y, Z축에 해당될 수 있다. aaps_vp_scale_on_axis[d]가 아틀라스 적응적 파라미터 세트에 존재하지 않을 경우, aaps_vp_scale_on_axis[d]는 216으로 유추될 수 있다. Scale[d] 값은 아래와 같이 유도될 수 있다. aaps_vp_scale_on_axis[d] may represent a scale value Scale[d] that increases by 2 - 16 along a d-axis for current voxelization. aaps_vp_scale_on_axis[d] may have a value in the range of 1 to 2 32 -1. d may have a value of 0 to 2, and 0, 1, and 2 may correspond to the X, Y, and Z axes, respectively. When aaps_vp_scale_on_axis[d] does not exist in the atlas adaptive parameter set, aaps_vp_scale_on_axis[d] may be inferred as 2 16 . The Scale[d] value can be derived as follows.
Scale [d] = aaps_vp_scale_on_axis[d] ÷ 216 Scale[d] = aaps_vp_scale_on_axis[d] ÷ 2 16
aaps_vp_offset_on_axis[d]는 현재 복셀화에 대한 d-축(axis)을 따라 2-16씩 증가하는 오프셋 Offset[d] 값을 나타낼 수 있다. aaps_vp_offset_on_axis[d]는 -231에서 231-1 범위의 값을 가질 수 있다. d는 0~2값을 가질 수 있으며 0, 1, 2는 각각 X, Y, Z축에 해당될 수 있다. aaps_vp_offset_on_axis[d]가 아틀라스 적응적 파라미터 세트에 존재하지 않을 경우, aaps_vp_offset_on_axis[d]는 216으로 유추될 수 있다. Offset[d] 값은 아래와 같이 유도될 수 있다. aaps_vp_offset_on_axis[d] may indicate an offset Offset[d] value that increases by 2 -16 along a d-axis for the current voxelization. aaps_vp_offset_on_axis[d] may have a value in the range of -2 31 to 2 31 -1. d may have a value of 0 to 2, and 0, 1, and 2 may correspond to the X, Y, and Z axes, respectively. When aaps_vp_offset_on_axis[d] does not exist in the atlas adaptive parameter set, aaps_vp_offset_on_axis[d] may be inferred as 2 16 . The Offset[d] value can be derived as follows.
Offset [d] = aaps_vp_offset_on_axis[d] ÷ 216 Offset [d] = aaps_vp_offset_on_axis[d] ÷ 2 16
도 11은 아틀라스 적응적 파라미터 세트에 관한 신택스 구조인 atlas_adaptation_parameter_set_rbsp( )의 일 실시예를 나타낸다.11 shows an embodiment of atlas_adaptation_parameter_set_rbsp( ), which is a syntax structure for an atlas adaptive parameter set.
아틀라스 시퀀스 파라미터 세트의 asps_mesh_extension()에 메쉬 복셀화 파라미터가 정의된 경우, aaps_mesh_extension()에서 정의된 값들로 메쉬 복셀화 파라미터가 업데이트될 수 있으며, 해당 아틀라스 적응적 파라미터 세트를 참조하는 아틀라스에 업데이트된 메쉬 복셀화 파라미터가 적용될 수 있다.When a mesh voxelization parameter is defined in asps_mesh_extension() of the atlas sequence parameter set, the mesh voxelization parameter may be updated to the values defined in aaps_mesh_extension(), and the mesh updated in the atlas referring to the corresponding atlas adaptive parameter set A voxelization parameter may be applied.
aaps_mesh_extension_present_flag가 제1 값인 '1'을 갖는 경우, 현재 아틀라스 적응적 파라미터 세트에 asps_mesh_extension() 신택스가 존재할 수 있다. aaps_mesh_extension_present_flag가 제1 값인 '0'을 갖는 경우, 현재 아틀라스 적응적 파라미터 세트에 asps_mesh_extension()가 존재하지 않을 수 있다. When aaps_mesh_extension_present_flag has a first value of '1', an asps_mesh_extension() syntax may exist in the current atlas adaptive parameter set. When aaps_mesh_extension_present_flag has a first value of '0', asps_mesh_extension() may not exist in the current atlas adaptive parameter set.
aaps_mesh_voxelization_parameter_present_flag가 제1 값인 '1'을 갖는 경우, 현재 아틀라스 적응적 파라미터 세트의 aaps_mesh_extension() 신택스에 메쉬 복셀화 파라미터가 존재할 수 있다. aaps_mesh_extension_present_flag가 제2 값인 '0'을 갖는 경우, 현재 아틀라스 적응적 파라미터 세트의 aaps_mesh_extension() 신택스에 메쉬 복셀화 파라미터가 존재하지 않을 수 있다.When aaps_mesh_voxelization_parameter_present_flag has a first value of '1', a mesh voxelization parameter may be present in aaps_mesh_extension() syntax of the current atlas adaptive parameter set. When aaps_mesh_extension_present_flag has a second value of '0', a mesh voxelization parameter may not exist in the aaps_mesh_extension() syntax of the current atlas adaptive parameter set.
도 12는 아틀라스 적응적 파라미터 세트의 메쉬 복셀화 파라미터에 관한 신택스 구조인 aaps_mesh_voxelization_parameters( ) 의 일 실시 예를 나타낸다.12 illustrates an embodiment of aaps_mesh_voxelization_parameters( ) , which is a syntax structure for mesh voxelization parameters of an atlas adaptive parameter set.
도 11의 aaps_mesh_voxelization_parameters_present_flag가 제1 값인 '1'을 갖는 경우, 도 12의 aaps_mesh_voxelization_parameters( )가 파싱된다.When aaps_mesh_voxelization_parameters_present_flag of FIG. 11 has a first value of '1', aaps_mesh_voxelization_parameters ( ) of FIG. 12 is parsed.
aaps_mesh_vp_scalable_enabled_flag가 제1 값인 '1'을 갖는 경우, aaps_mesh_voxelization_parameters( )에 복셀화를 위한 메쉬 스케일 파라미터가 존재할 수 있다. aaps_mesh_vp_scalable_enabled_flag가 제2 값인 '0'을 갖는 경우, aaps_mesh_voxelization_parameters( )에 복셀화를 위한 메쉬 스케일 파라미터가 존재하지 않을 수 있다.When aaps_mesh_vp_scalable_enabled_flag has a first value of '1', a mesh scale parameter for voxelization may be present in aaps_mesh_voxelization_parameters( ). When aaps_mesh_vp_scalable_enabled_flag has a second value of '0', a mesh scale parameter for voxelization may not exist in aaps_mesh_voxelization_parameters ( ).
aaps_mesh_vp_offset_enabled_flag가 제1 값인 '1'을 갖는 경우, aaps_mesh_voxelization_parameters( )에 복셀화를 위한 메쉬 오프셋 파라미터가 존재할 수 있다. aaps_mesh_vp_offset_enabled_flag가 제2 값인 '0'을 갖는 경우, aaps_mesh_voxelization_parameters( )에 복셀화를 위한 메쉬 오프셋 파라미터가 존재하지 않을 수 있다.When aaps_mesh_vp_offset_enabled_flag has a first value of '1', a mesh offset parameter for voxelization may be present in aaps_mesh_voxelization_parameters ( ). When aaps_mesh_vp_offset_enabled_flag has a second value of '0', a mesh offset parameter for voxelization may not exist in aaps_mesh_voxelization_parameters ( ).
aaps_mesh_vp_width_enabled_flag 가 제1 값인 '1'을 갖는 경우, aaps_mesh_voxelization_parameters( )에 복셀화를 위한 메쉬 공간 해상도 파라미터가 존재할 수 있다. aaps_mesh_vp_width_enabled_flag 가 제2 값인 '0'을 갖는 경우, aaps_mesh_voxelization_parameters( )에 복셀화를 위한 메쉬 공간 해상도 파라미터가 존재하지 않을 수 있다.When aaps_mesh_vp_width_enabled_flag has a first value of '1', a mesh spatial resolution parameter for voxelization may exist in aaps_mesh_voxelization_parameters( ). When aaps_mesh_vp_width_enabled_flag has a second value of '0', a mesh spatial resolution parameter for voxelization may not exist in aaps_mesh_voxelization_parameters( ).
aaps_mesh_vp_scale_on_axis[d]는 현재 복셀화에 대한 d-축(axis)을 따라 2-16씩 증가하는 스케일값 Scale[d] 값을 지정할 수 있다. aaps_mesh_vp_scale_on_axis[d]는 1에서 232-1 범위의 값을 가질 수 있다. d는 0~2값을 가질 수 있으며 0, 1, 2는 각각 X, Y, Z축에 해당될 수 있다. aaps_mesh_vp_scale_on_axis[d]가 존재하지 않을 경우, aaps_mesh_vp_scale_on_axis[d]는 216으로 유추될 수 있다. Scale[d] 값은 아래와 같이 유도될 수 있다. aaps_mesh_vp_scale_on_axis[d] may designate a scale value Scale[d] that increases by 2 -16 along the d-axis for the current voxelization. aaps_mesh_vp_scale_on_axis[d] may have a value in the range of 1 to 2 32 -1. d may have a value of 0 to 2, and 0, 1, and 2 may correspond to the X, Y, and Z axes, respectively. When aaps_mesh_vp_scale_on_axis[d] does not exist, aaps_mesh_vp_scale_on_axis[d] may be inferred as 2 16 . The Scale[d] value can be derived as follows.
Scale [d] = aaps_mesh_vp_scale_on_axis[d] ÷ 216 Scale[d] = aaps_mesh_vp_scale_on_axis[d] ÷ 2 16
aaps_mesh_vp_offset_on_axis[d]는 현재 복셀화에 대한 d-축(axis)을 따라 2-16씩 증가하는 오프셋 Offset[d] 값을 지정할 수 있다. aaps_mesh_vp_offset_on_axis[d]는 -231에서 231-1 범위의 값을 가질 수 있다. d는 0~2값을 가질 수 있으며 0, 1, 2는 각각 X, Y, Z축에 해당될 수 있다. aaps_mesh_vp_offset_on_axis[d]가 존재하지 않을 경우, 216으로 유추될 수 있다. Offset[d] 값은 아래와 같이 유도될 수 있다. aaps_mesh_vp_offset_on_axis[d] may specify an offset Offset[d] value that increases by 2 -16 along the d-axis for the current voxelization. aaps_mesh_vp_offset_on_axis[d] may have a value in the range of -2 31 to 2 31 -1. d may have a value of 0 to 2, and 0, 1, and 2 may correspond to the X, Y, and Z axes, respectively. When aaps_mesh_vp_offset_on_axis[d] does not exist, it can be inferred as 2 16 . The Offset[d] value can be derived as follows.
Offset [d] = aaps_mesh_vp_offset_on_axis[d] ÷ 216 Offset [d] = aaps_mesh_vp_offset_on_axis[d] ÷ 2 16
상기 복호화된 정보들을 이용하여 복셀화된 3차원 공간상의 좌표를 floating-point 좌표 값으로 변환할 수 있다.Coordinates in the voxelized 3D space may be converted into floating-point coordinate values using the decoded information.
for( n = 0; n < VertexCnt ; n++)for( n = 0; n < VertexCnt ; n++)
for( k = 0 ; k < 3 ; k++ ) for( k = 0 ; k < 3 ; k++ )
vertexReconstructed[ n ][ k ] = Scale[k] * (decodedVertex[ n ][ k ]) + Offset[ k ] vertexReconstructed[ n ][ k ] = Scale[k] * (decodedVertex[ n ][ k ]) + Offset[ k ]
- VertexCnt : 포인트 수 - VertexCnt : number of points
- decodedVertex : 복셀화된 포인트의 X, Y 또는 Z 좌표 값- decodedVertex : X, Y or Z coordinate value of the voxelized point
- vertecReconstructed : 복원된 floating-point X, Y, 또는 Z 좌표 값- vertecReconstructed : reconstructed floating-point X, Y, or Z coordinate values
도 13은 V3C 파라메터 세트인 v3c_parameter_set (numBytesInV3CPlaylode) 의 일 실시 예를 나타낸다.13 shows an embodiment of a V3C parameter set, v3c_parameter_set (numBytesInV3CPlaylode).
vps_camera_parameters_present_flag가 제1 값인 '1'을 갖는 경우, v3c_parameter_set 신택스 구조 내에 vps_camera_parameters() 신택스 구조가 존재할 수 있다. vps_camera_parameters_present_flag가 제2 값인 '0'을 갖는 경우, v3c_parameter_set 신택스 구조 내에 vps_camera_parameters() 신택스 구조가 존재하지 않을 수 있다.When vps_camera_parameters_present_flag has a first value of '1', a vps_camera_parameters() syntax structure may exist in the v3c_parameter_set syntax structure. When vps_camera_parameters_present_flag has a second value of '0', the vps_camera_parameters() syntax structure may not exist in the v3c_parameter_set syntax structure.
도 14는 카메라 파라미터 세트인 vps_camera_parameters( ) 의 일 실시 예를 나타낸다.14 shows an embodiment of vps_camera_parameters( ), which is a camera parameter set.
도 13의 vps_camera_parameters_present_flag가 제1 값인 '1'을 갖는 경우, 도 14의 vps_camera_parameters( ) 가 파싱된다.When vps_camera_parameters_present_flag of FIG. 13 has a first value of '1', vps_camera_parameters( ) of FIG. 14 is parsed.
vps_camera_parameter_present_flag[ j ] 가 제1 값인 '1'을 갖는 경우, vps_camera_parameters() 신택스 구조내에 아틀라스 식별자 'j'를 갖는 아틀라스에 대한 카메라 파라미터가 존재할 수 있다. vps_camera_parameter_present_flag[ j ] 가 제2 값인 '0'을 갖는 경우, vps_camera_parameters() 신택스 구조 내 아틀라스 식별자 'j'를 갖는 아틀라스에 대한 카메라 파라미터가 존재하지 않을 수 있다. When vps_camera_parameter_present_flag[ j ] has a first value of '1', a camera parameter for the atlas having the atlas identifier 'j' may exist in the vps_camera_parameters() syntax structure. When vps_camera_parameter_present_flag[ j ] has a second value of '0', a camera parameter for the atlas having the atlas identifier 'j' in the vps_camera_parameters() syntax structure may not exist.
acp_camera_model[ j ][ i ] 은 아틀라스 식별자 'j'를 갖는 아틀라스의 i 번째 속성 데이터에 대한 카메라 모델을 지시할 수 있다. 예를 들어, acp_camera_model[ j ][ i ] 가 '0' 값을 갖는 경우는 카메라 모델이 지정되지 않을 수 있다. acp_camera_model[ j ][ i ] 가 '1' 값을 갖는 경우는 오쏘그래픽(orthographic) 카메라 모델이 사용될 수 있다. acp_camera_model[ j ][ i ] may indicate a camera model for the i-th attribute data of the atlas having the atlas identifier 'j'. For example, when acp_camera_model[ j ][ i ] has a value of '0', a camera model may not be specified. When acp_camera_model[ j ][ i ] has a value of '1', an orthographic camera model may be used.
acp_scale_enabled_flag [ j ][ i ] 가 제 1 값인 '1'을 갖는 경우, vps_camera_parameters()에 현재 카메라 모델에 대한 스케일 파라미터가 존재할 수 있다. acp_scale_enabled_flag [ j ][ i ] 가 제2 값인 '0'을 갖는 경우, vps_camera_parameters()에 현재 카메라 모델에 대한 스케일 파라미터가 존재하지 않을 수 있다. When acp_scale_enabled_flag[j][i] has a first value of '1', a scale parameter for the current camera model may exist in vps_camera_parameters(). When acp_scale_enabled_flag [ j ] [ i ] has a second value of '0', a scale parameter for the current camera model may not exist in vps_camera_parameters().
acp_offset_enabled_flag [ j ][ i ] 가 제 1 값인 '1'을 갖는 경우, vps_camera_parameters()에 현재 카메라 모델에 대한 오프셋 파라미터가 존재할 수 있다. acp_offset_enabled_flag [ j ][ i ] 가 제2 값인 '0'을 갖는 경우, vps_camera_parameters()에 현재 카메라 모델에 대한 오프셋 파라미터가 존재하지 않을 수 있다. When acp_offset_enabled_flag[j][i] has a first value of '1', an offset parameter for the current camera model may exist in vps_camera_parameters(). When acp_offset_enabled_flag [ j ] [ i ] has a second value of '0', an offset parameter for the current camera model may not exist in vps_camera_parameters().
acp_rotation_enabled_flag[ j ][ i ] 가 제 1 값인 '1'을 갖는 경우, vps_camera_parameters()에 현재 카메라 모델에 대한 로테이션(회전) 파라미터가 존재할 수 있다. acp_rotation_enabled_flag[ j ][ i ] 가 제2 값인 '0'을 갖는 경우, vps_camera_parameters()에 현재 카메라 모델에 대한 로테이션(회전)파라미터가 존재하지 않을 수 있다. When acp_rotation_enabled_flag[ j ][ i ] has a first value of '1', a rotation (rotation) parameter for the current camera model may exist in vps_camera_parameters(). When acp_rotation_enabled_flag[ j ][ i ] has a second value of '0', a rotation (rotation) parameter for the current camera model may not exist in vps_camera_parameters().
acp_scale_on_axis[ j ][ i ][ d ] 는 아틀라스 식별자 'j'를 갖는 아틀라스의 i번째 속성 데이터의 카메라 모델에 대한 d-축(axis)을 2-16 씩 증가하는 스케일값 Scale[d] 값을 지정할 수 있다. acp_scale_on_axis[ j ][ i ][ d ]는 1에서 232-1 범위의 값을 가질 수 있다. d는 0~2값을 가질 수 있으며 0, 1, 2는 각각 X, Y, Z축에 해당될 수 있다. acp_scale_on_axis[ j ][ i ][ d ]가 존재하지 않을 경우, acp_scale_on_axis[ j ][ i ][ d ] 는 216으로 유추될 수 있다. Scale[d] 값은 아래와 같이 유도될 수 있다. acp_scale_on_axis[ j ][ i ][ d ] is a scale value Scale[d] that increases the d-axis for the camera model of the i-th property data of the atlas with the atlas identifier 'j' by 2 -16 . can be specified. acp_scale_on_axis[ j ][ i ][ d ] may have a value in the range of 1 to 2 32 -1. d may have a value of 0 to 2, and 0, 1, and 2 may correspond to the X, Y, and Z axes, respectively. When acp_scale_on_axis[ j ][ i ][ d ] does not exist, acp_scale_on_axis[ j ][ i ][ d ] may be inferred as 2 16 . The Scale[d] value can be derived as follows.
Scale [d] = acp_scale_on_axis[ j ][ i ][ d ] ÷ 216 Scale [d] = acp_scale_on_axis[ j ][ i ][ d ] ÷ 2 16
acp_offset_on_axis[ j ][ i ][ d ]는 아틀라스 식별자 'j'를 갖는 아틀라스의 'i' 번째 속성 데이터의 카메라 모델에 대한 d-축(axis)을 따라 2-16 씩 증가하는 오프셋 Offset[d] 값을 지정할 수 있다. acp_offset_on_axis[ j ][ i ][ d ]는 -231에서 231-1 범위의 값을 가질 수 있다. d는 0~2값을 가질 수 있으며 0, 1, 2는 각각 X, Y, Z축에 해당될 수 있다. acp_offset_on_axis[ j ][ i ][ d ]가 존재하지 않을 경우, acp_offset_on_axis[ j ][ i ][ d ]는 216으로 유추될 수 있다. Offset[d] 값은 아래와 같이 유도될 수 있다.acp_offset_on_axis[ j ][ i ][ d ] is the offset in increments of 2 -16 along the d-axis for the camera model of the 'i' th attribute data of the atlas with atlas identifier 'j' Offset[d] You can specify a value. acp_offset_on_axis[ j ][ i ][ d ] may have a value in the range of -2 31 to 2 31 -1. d may have a value of 0 to 2, and 0, 1, and 2 may correspond to the X, Y, and Z axes, respectively. When acp_offset_on_axis[ j ][ i ][ d ] does not exist, acp_offset_on_axis[ j ][ i ][ d ] may be inferred as 2 16 . The Offset[d] value can be derived as follows.
Offset [d] = acp_offset_on_axis[ j ][ i ][ d ] ÷ 216 Offset [d] = acp_offset_on_axis[ j ][ i ][ d ] ÷ 2 16
acp_rotation_qx[ j ][ i ]는 아틀라스 식별자 'j'를 갖는 아틀라스의 'i' 번째 속성 데이터의 카메라 모델에 대한 quaternion 표현 방식을 사용하는 회전 파라미터의 x 성분(qX)을 지시할 수 있다. acp_rotation_qx[ j ][ i ] 는 -214에서 214 범위의 값을 가질 수 있다. acp_rotation_qx[ j ][ i ]가 존재하지 않을 경우 acp_rotation_qx[ j ][ i ] 는 '0'으로 유추될 수 있다. qX는 아래와 같이 유도될 수 있다.acp_rotation_qx[ j ][ i ] may indicate the x component (qX) of the rotation parameter using the quaternion expression method for the camera model of the 'i'-th attribute data of the atlas having the atlas identifier 'j'. acp_rotation_qx[ j ][ i ] may have a value in the range of -2 14 to 2 14 . When acp_rotation_qx[ j ][ i ] does not exist, acp_rotation_qx[ j ][ i ] may be inferred to be '0'. qX can be derived as follows.
qX = acp_rotation_qx[ j ][ i ] ÷ 214 qX = acp_rotation_qx[ j ][ i ] ÷ 2 14
acp_rotation_qy[ j ][ i ]는 아틀라스 식별자 'j'를 갖는 아틀라스의 'i' 번째 속성 데이터의 카메라 모델에 대한 quaternion 표현 방식을 사용하는 회전 파라미터의 y 성분(qY)을 지시할 수 있다. acp_rotation_qy[ j ][ i ] 는 -214에서 214 범위의 갖을 가질 수 있다. acp_rotation_qy[ j ][ i ]이 존재하지 않을 경우 acp_rotation_qy[ j ][ i ]은 '0'으로 유추될 수 있다. qY는 아래와 같이 유도될 수 있다. acp_rotation_qy[ j ][ i ] may indicate the y component (qY) of the rotation parameter using the quaternion expression method for the camera model of the 'i'-th attribute data of the atlas having the atlas identifier 'j'. acp_rotation_qy[ j ][ i ] may have a rotation ranging from -2 14 to 2 14 . When acp_rotation_qy[ j ][ i ] does not exist, acp_rotation_qy[ j ][ i ] may be inferred to be '0'. qY can be derived as follows.
qY = acp_rotation_qy[ j ][ i ] ÷ 214 qY = acp_rotation_qy[ j ][ i ] ÷ 2 14
acp_rotation_qz[ j ][ i ]는 아틀라스 식별자 'j'를 갖는 아틀라스의 'i' 번째 속성 데이터의 카메라 모델에 대한 quaternion 표현 방식을 사용하는 회전 파라미터의 z 성분(qZ)을 지시할 수 있다. acp_rotation_qz[ j ][ i ] 는 -214에서 214 범위의 갖을 가질 수 있다. acp_rotation_qz[ j ][ i ]이 존재하지 않을 경우, acp_rotation_qz[ j ][ i ]는 '0'으로 유추될 수 있다. qZ는 아래와 같이 유도될 수 있다. acp_rotation_qz[ j ][ i ] may indicate the z component (qZ) of the rotation parameter using the quaternion expression method for the camera model of the 'i'-th attribute data of the atlas having the atlas identifier 'j'. acp_rotation_qz[ j ][ i ] may have a range of -2 14 to 2 14 . When acp_rotation_qz[ j ][ i ] does not exist, acp_rotation_qz[ j ][ i ] may be inferred to be '0'. qZ can be derived as follows.
qZ = acp_rotation_qz[ j ][ i ] ÷ 214 qZ = acp_rotation_qz[ j ][ i ] ÷ 2 14
네번째 성분은 qW는 다음과 같이 유도될 수 있다. The fourth component, qW, can be derived as follows.
qW = sqrt( 1 - ( qX2 + qY2 + qZ2 ) )qW = sqrt( 1 - ( qX 2 + qY 2 + qZ 2 ) )
도 15는 카메라 파라미터를 포함하는 아틀라스 시퀀스 파라미터 세트인 asps_vpcc_extension()의 일 실시 예를 나타낸다.15 shows an embodiment of asps_vpcc_extension(), which is an atlas sequence parameter set including camera parameters.
asps_vpcc_camera_parameters_present_flag 가 제1 값인 '1'를 가지는 경우, 아틀라스 시퀀스 파라미터 세트의 asps_vpcc_extension()에 카메라 파라미터 정보가 존재할 수 있다. asps_vpcc_camera_parameters_present_flag 가 제2 값인 '0'을 갖는 경우, 아틀라스 시퀀스 파라미터 세트의 asps_vpcc_extension()에 카메라 파라미터 정보가 존재하지 않을 수 있다.When asps_vpcc_camera_parameters_present_flag has a first value of '1', camera parameter information may exist in asps_vpcc_extension() of the atlas sequence parameter set. When asps_vpcc_camera_parameters_present_flag has a second value of '0', camera parameter information may not exist in asps_vpcc_extension() of the atlas sequence parameter set.
도 16은 아틀라스 시퀀스 파라미터 세트에 포함된 카메라 파라미터 세트인 atlas_sps_camera_parameters( )의 일 실시 예를 나타낸다.16 illustrates an embodiment of atlas_sps_camera_parameters ( ), which is a camera parameter set included in an atlas sequence parameter set.
도 15의 asps_vpcc_camera_parameters_present_flag가 제1 값인 '1'을 갖는 경우, 도 16의 atlas_sps_camera_parameters( ) 가 파싱된다.When asps_vpcc_camera_parameters_present_flag of FIG. 15 has a first value of '1', atlas_sps_camera_parameters( ) of FIG. 16 is parsed.
asps_vpcc_attribute_count는 카메라 파라미터 정보가 존재하지 않음을 해당 아틀라스 시퀀스 파라미터를 참조하는 아틀라스의 속성 정보들의 개수를 지시할 수 있다. v3c 파라미터 세트에서 전송되는 아틀라스 식별자 'j' 의 속성 개수를 지시하는 ai_attribute_count[j]와 동일한 값을 가질 수 있도록 규정할 수 있다. asps_vpcc_attribute_count may indicate that there is no camera parameter information and indicate the number of attribute information of the atlas referring to the corresponding atlas sequence parameter. It can be specified to have the same value as ai_attribute_count[j] indicating the number of attributes of the atlas identifier 'j' transmitted in the v3c parameter set.
acp_camera_model[ i ] 은 i 번째 속성 데이터에 대한 카메라 모델을 지시할 수 있다. 예를 들어, acp_camera_model[ i ] 이 '0' 값을 갖는 경우는 카메라 모델이 지정되지 않을 수 있다. acp_camera_model[ i ]이 '1' 값을 갖는 경우는 오소그래픽(orthographic) 카메라 모델이 사용될 수 있다. acp_camera_model[ i ] may indicate a camera model for the i-th attribute data. For example, when acp_camera_model[ i ] has a value of '0', a camera model may not be specified. When acp_camera_model[ i ] has a value of '1', an orthographic camera model may be used.
acp_scale_enabled_flag [ i ] 가 제 1 값인 '1'을 갖는 경우, 현재 카메라 모델에 대한 스케일 파라미터가 존재할 수 있다. acp_scale_enabled_flag [ i ] 가 제2 값인 '0'을 갖는 경우, 현재 카메라 모델에 대한 스케일 파라미터가 존재하지 않을 수 있다. When acp_scale_enabled_flag[i] has a first value of '1', a scale parameter for the current camera model may exist. When acp_scale_enabled_flag [i] has a second value of '0', a scale parameter for the current camera model may not exist.
acp_offset_enabled_flag[ i ] 가 제 1 값인 '1'을 갖는 경우, 현재 카메라 모델에 대한 오프셋 파라미터가 존재할 수 있다. acp_offset_enabled_flag[ i ] 가 제2 값인 '0'을 갖는 경우, 현재 카메라 모델에 대한 오프셋 파라미터가 존재하지 않을 수 있다. When acp_offset_enabled_flag[i] has a first value of '1', an offset parameter for the current camera model may exist. When acp_offset_enabled_flag[i] has a second value of '0', an offset parameter for the current camera model may not exist.
acp_rotation_enabled_flag[ i ] 가 제 1 값인 '1'을 갖는 경우, 현재 카메라 모델에 대한 로테이션(회전) 파라미터가 존재할 수 있다. acp_rotation_enabled_flag[ i ] 가 제2 값인 '0'을 갖는 경우, 현재 카메라 모델에 대한 로테이션(회전)파라미터가 존재하지 않을 수 있다. When acp_rotation_enabled_flag[i] has a first value of '1', a rotation (rotation) parameter for the current camera model may exist. When acp_rotation_enabled_flag[i] has a second value of '0', a rotation (rotation) parameter for the current camera model may not exist.
acp_scale_on_axis[ i ][ d ]는 i 번째 속성 데이터의 카메라 모델에 대한 d-축(axis)을 2-16 씩 증가하는 스케일값 Scale[d] 값을 지정할 수 있다. acp_scale_on_axis[ i ][ d ]는 1에서 232-1 범위의 값을 가질 수 있다. d는 0~2값을 가질 수 있으며 0, 1, 2는 각각 X, Y, Z축에 해당될 수 있다. acp_scale_on_axis[ i ][ d ]가 존재하지 않을 경우, acp_scale_on_axis[ i ][ d ]는 216으로 유추될 수 있다. Scale[d] 값은 아래와 같이 유도될 수 있다.acp_scale_on_axis[ i ][ d ] may designate a scale value Scale[d] that increases the d-axis for the camera model of the i-th attribute data by 2 -16 . acp_scale_on_axis[ i ][ d ] may have a value in the range of 1 to 2 32 -1. d may have a value of 0 to 2, and 0, 1, and 2 may correspond to the X, Y, and Z axes, respectively. When acp_scale_on_axis[ i ][ d ] does not exist, acp_scale_on_axis[ i ][ d ] may be inferred as 2 16 . The Scale[d] value can be derived as follows.
Scale [d] = acp_scale_on_axis[ i ][ d ] ÷ 216 Scale [d] = acp_scale_on_axis[ i ][ d ] ÷ 2 16
acp_offset_on_axis[ i ][ d ] 는 'i' 번째 속성 데이터의 카메라 모델에 대한 d-축(axis)을 따라 2-16 씩 증가하는 오프셋 Offset[d] 값을 지정할 수 있다. acp_offset_on_axis[ i ][ d ]는 -231에서 231-1 범위의 값을 가질 수 있다. d는 0~2값을 가질 수 있으며 0, 1, 2는 각각 X, Y, Z축에 해당될 수 있다. acp_offset_on_axis[ i ][ d ]가 존재하지 않을 경우, acp_offset_on_axis[ i ][ d ]는 216으로 유추될 수 있다. Offset[d] 값은 아래와 같이 유도될 수 있다. acp_offset_on_axis[ i ][ d ] may specify an offset Offset[d] value that increases by 2 -16 along the d-axis for the camera model of the 'i'-th attribute data. acp_offset_on_axis[ i ][ d ] may have a value in the range of -2 31 to 2 31 -1. d may have a value of 0 to 2, and 0, 1, and 2 may correspond to the X, Y, and Z axes, respectively. When acp_offset_on_axis[ i ][ d ] does not exist, acp_offset_on_axis[ i ][ d ] may be inferred as 2 16 . The Offset[d] value can be derived as follows.
Offset [d] = acp_offset_on_axis[ i ][ d ] ÷ 216 Offset [d] = acp_offset_on_axis[ i ][ d ] ÷ 2 16
acp_rotation_qx[ i ]는 'i' 번째 속성 데이터의 카메라 모델에 대한 quaternion 표현 방식을 사용하는 회전 파라미터의 x 성분(qX)을 지시할 수 있다. acp_rotation_qx[ i ]는 -214에서 214 범위의 값을 가질 수 있다. acp_rotation_qx[ i ]가 존재하지 않을 경우, acp_rotation_qx[ i ]는 '0'으로 유추될 수 있다. qX는 아래와 같이 유도될 수 있다. acp_rotation_qx[ i ] may indicate the x component (qX) of the rotation parameter using the quaternion expression method for the camera model of the 'i'-th attribute data. acp_rotation_qx[ i ] may have a value in the range of -2 14 to 2 14 . When acp_rotation_qx[ i ] does not exist, acp_rotation_qx[ i ] may be inferred to be '0'. qX can be derived as follows.
qX = acp_rotation_qx[ i ] ÷ 214 qX = acp_rotation_qx[ i ] ÷ 2 14
acp_rotation_qy[ i ]는 'i' 번째 속성 데이터의 카메라 모델에 대한 quaternion 표현 방식을 사용하는 회전 파라미터의 y 성분(qY)을 지시할 수 있다. acp_rotation_qy[ i ]는 -214에서 214 범위의 값을 가질 수 있다. acp_rotation_qy[ i ]이 존재하지 않을 경우, acp_rotation_qy[ i ]은 '0'으로 유추될 수 있다. qY는 아래와 같이 유도될 수 있다. acp_rotation_qy[ i ] may indicate the y component (qY) of the rotation parameter using the quaternion expression method for the camera model of the 'i'-th attribute data. acp_rotation_qy[ i ] may have a value in the range of -2 14 to 2 14 . When acp_rotation_qy[ i ] does not exist, acp_rotation_qy[ i ] may be inferred to be '0'. qY can be derived as follows.
qY = acp_rotation_qy[ i ] ÷ 214 qY = acp_rotation_qy[ i ] ÷ 2 14
acp_rotation_qz[ i ]는 'i' 번째 속성 데이터의 카메라 모델에 대한 quaternion 표현 방식을 사용하는 회전 파라미터의 z 성분(qZ)을 지시할 수 있다. acp_rotation_qz[ i ]는 -214에서 214 범위의 값을 가질 수 있다. acp_rotation_qz[ i ]이 존재하지 않을 경우, acp_rotation_qz[ i ]는 '0' 으로 유추될 수 있다. qZ는 아래와 같이 유도될 수 있다. acp_rotation_qz[ i ] may indicate the z component (qZ) of the rotation parameter using the quaternion expression method for the camera model of the 'i'-th attribute data. acp_rotation_qz[ i ] may have a value in the range of -2 14 to 2 14 . When acp_rotation_qz[ i ] does not exist, acp_rotation_qz[ i ] may be inferred to be '0'. qZ can be derived as follows.
qZ = acp_rotation_qz[ i ] ÷ 214 qZ = acp_rotation_qz[ i ] ÷ 2 14
네번째 성분은 qW는 다음과 같이 유도될 수 있다. The fourth component, qW, can be derived as follows.
qW = sqrt( 1 - ( qX2 + qY2 + qZ2 ) )qW = sqrt( 1 - ( qX 2 + qY 2 + qZ 2 ) )
도 7와 같이 아틀라스 시퀀스 파라미터 세트의 asps_mesh_extension()에서도 도 16에서 소개된 카메라 파라미터가 전송될 수 있다.As shown in FIG. 7 , the camera parameter introduced in FIG. 16 may also be transmitted in asps_mesh_extension() of the atlas sequence parameter set.
도 17는 아틀라스 적응적 파라미터 세트의 aaps_vpcc_extension()의 일 실시 예를 나타낸다.17 shows an embodiment of aaps_vpcc_extension() of an atlas adaptive parameter set.
V3C_파라미터 세트 또는 아틀라스 시퀀스 파라미터 세트에서 카메라 파라미터가 정의된 경우 aaps_vpcc_extension()에서 정의된 값들로 카메라 파라미터가 업데이트되어, 해당 아틀라스 적응적 파라미터 세트를 참조하는 아틀라스에 적용될 수 있다. When a camera parameter is defined in the V3C_parameter set or the atlas sequence parameter set, the camera parameter is updated to the values defined in aaps_vpcc_extension(), and may be applied to an atlas referring to the corresponding atlas adaptive parameter set.
도 18은 아틀라스 적응적 파라미터 세트에 포함된 카메라 파라미터 세트인 atlas_sps_camera_parameters( )의 일 실시 예를 나타낸다.18 illustrates an embodiment of atlas_sps_camera_parameters ( ), which is a camera parameter set included in the atlas adaptive parameter set.
도 18에 정의된 신택스들의 시맨틱스들은 도 16과 동일하다. 또한 도 11과 같이 아틀라스 적응적 파라미터 세트의 asps_mesh_extension()에서 도 18의 카메라 파라미터가 전송될 수 있다. Semantics of syntaxes defined in FIG. 18 are the same as in FIG. 16 . Also, as shown in FIG. 11 , the camera parameter of FIG. 18 may be transmitted in asps_mesh_extension() of the atlas adaptive parameter set.
상기 부호화 파라미터는 V3C unit header, V3C_부호화 파라미터 세트, 아틀라스 시퀀스 파라미터 세트, 아틀라스 프레임 파라미터 세트, 아틀라스 적응적 파라미터 세트, 아틀라스 타일 헤더, 아틀라스 타일 데이터 유닛, 공통 아틀라스 시퀀스 파라미터 세트, 공통 아틀라스 프레임 중 적어도 하나 이상에서 부호화/복호화 될 수 있다. The encoding parameter is at least one of a V3C unit header, a V3C_encoding parameter set, an atlas sequence parameter set, an atlas frame parameter set, an atlas adaptive parameter set, an atlas tile header, an atlas tile data unit, a common atlas sequence parameter set, and a common atlas frame. It may be encoded/decoded in one or more.
상기 복셀화 파라미터 및 카메라 파라미터에 관한 정보 중 적어도 하나 이상을 엔트로피 부호화/복호화할때, 아래의 이진화 방법 중 적어도 하나 이상을 이용할 수 있다. When entropy encoding/decoding at least one of the information on the voxelization parameter and the camera parameter, at least one of the following binarization methods may be used.
절삭된 라이스(Truncated Rice) 이진화 방법Truncated Rice binarization method
K차수 지수-골롬(K-th order Exp_Golomb) 이진화 방법K-th order Exp_Golomb binarization method
제한된 K차수 지수-골롬(K-th order Exp_Golomb) 이진화 방법Limited K-th order Exp_Golomb binarization method
고정 길이(Fixed-length) 이진화 방법Fixed-length binarization method
단항(Unary) 이진화 방법Unary binarization method
절삭된 단항(Truncated Unary) 이진화 방법Truncated Unary binarization method
도 19는 본 개시의 3차원 이미지의 부호화 방법에 대한 순서도이다.19 is a flowchart of a 3D image encoding method of the present disclosure.
단계 1902에서, 3차원 이미지의 포인트 클라우드가 복셀화된다.In
실시 예에 따라, 3차원 이미지의 메쉬 데이터가 복셀화될 수 있다.According to an embodiment, mesh data of a 3D image may be voxelized.
단계 1904에서, 포인트 클라우드의 복셀화에 의하여 생성된 복셀화 파라미터가 결정된다.In
실시 예에 따라, 메쉬 데이터의 복셀화에 따라, 메쉬 복셀화 파라미터가 결정될 수 있다.According to an embodiment, a mesh voxelization parameter may be determined according to voxelization of mesh data.
실시 예에 따라, 포인트 클라우드 및/또는 메쉬 데이터의 복셀화에 기초하여, 카메라 파라미터가 결정될 수 있다.According to an embodiment, a camera parameter may be determined based on voxelization of the point cloud and/or mesh data.
실시 예에 따라, 복셀화 파라미터는 스케일 파라미터, 오프셋 파라미터, 공간 해상도 파라미터를 포함할 수 있다. 스케일 파라미터는 x, y, z 축에 대하여 스케일링 크기가 정의될 수 있다. 그리고 오프셋 파라미터는 x, y, z 축에 대하여 오프셋 크기가 정의될 수 있다. 그리고 공간 해상도 파라미터는 복셀의 너비 및/또는 높이를 나타낼 수 있다. According to an embodiment, the voxelization parameter may include a scale parameter, an offset parameter, and a spatial resolution parameter. As for the scale parameter, a scaling magnitude may be defined with respect to the x, y, and z axes. In addition, the offset parameter may have an offset size defined with respect to the x, y, and z axes. In addition, the spatial resolution parameter may indicate a width and/or a height of a voxel.
실시 예에 따라, 메쉬 복셀화 파라미터는 스케일 파라미터, 오프셋 파라미터, 공간 해상도 파라미터를 포함할 수 있다. 스케일 파라미터는 x, y, z 축에 대하여 스케일링 크기가 정의될 수 있다. 그리고 오프셋 파라미터는 x, y, z 축에 대하여 오프셋 크기가 정의될 수 있다. 그리고 공간 해상도 파라미터는 복셀의 너비 및/또는 높이를 나타낼 수 있다.According to an embodiment, the mesh voxelization parameter may include a scale parameter, an offset parameter, and a spatial resolution parameter. As for the scale parameter, a scaling magnitude may be defined with respect to the x, y, and z axes. In addition, the offset parameter may have an offset size defined with respect to the x, y, and z axes. In addition, the spatial resolution parameter may indicate a width and/or a height of a voxel.
실시 예에 따라, 카메라 파라미터는 카메라 모델 식별자, 카메라 스케일 파라미터, 카메라 오프셋 파라미터, 카메라 회전 파라미터를 포함할 수 있다. 카메라 스케일 파라미터는 x, y, z 축에 대하여 스케일링 크기가 정의될 수 있다. 그리고 카메라 오프셋 파라미터는 x, y, z 축에 대하여 오프셋 크기가 정의될 수 있다. 그리고 카메라 회전 파라미터는 x, y, z 축에 대하여 회전 각도가 정의될 수 있다.According to an embodiment, the camera parameter may include a camera model identifier, a camera scale parameter, a camera offset parameter, and a camera rotation parameter. As for the camera scale parameter, a scaling magnitude may be defined with respect to the x, y, and z axes. In addition, as for the camera offset parameter, an offset size may be defined with respect to the x, y, and z axes. In addition, the camera rotation parameter may have a rotation angle defined with respect to the x, y, and z axes.
단계 1906에서, 복셀화 파라미터를 포함하는 파라미터 세트를 전송된다.In
실시 예에 따라, 파라미터 세트는 v3c 파라미터 세트, 아틀라스 시퀀스 파라미터 세트, 아틀라스 적응적 파라미터 세트 중 적어도 하나를 포함한다.According to an embodiment, the parameter set includes at least one of a v3c parameter set, an atlas sequence parameter set, and an atlas adaptive parameter set.
아틀라스 시퀀스 파라미터 세트는 아틀라스 시퀀스 파라미터 세트에 복셀화 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다. 또한 아틀라스 시퀀스 파라미터 세트는 아틀라스 시퀀스 파라미터 세트에 메쉬 복셀화 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다. 또한 아틀라스 시퀀스 파라미터 세트는 아틀라스 시퀀스 파라미터 세트에 카메라 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다.The atlas sequence parameter set may include information indicating whether a voxelization parameter is included in the atlas sequence parameter set. Also, the atlas sequence parameter set may include information indicating whether a mesh voxelization parameter is included in the atlas sequence parameter set. In addition, the atlas sequence parameter set may include information indicating whether a camera parameter is included in the atlas sequence parameter set.
아틀라스 시퀀스 파라미터 세트는 복셀화 파라미터가 포함된 경우, 스케일 파라미터, 오프셋 파라미터, 공간 해상도 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다. 아틀라스 시퀀스 파라미터 세트는 메쉬 복셀화 파라미터가 포함된 경우, 스케일 파라미터, 오프셋 파라미터, 공간 해상도 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다. 아틀라스 시퀀스 파라미터 세트는 카메라 파라미터가 포함된 경우, 카메라 스케일 파라미터, 카메라 오프셋 파라미터, 카메라 회전 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다.When a voxelization parameter is included, the atlas sequence parameter set may include information indicating whether a scale parameter, an offset parameter, and a spatial resolution parameter are included. When a mesh voxelization parameter is included, the atlas sequence parameter set may include information indicating whether a scale parameter, an offset parameter, and a spatial resolution parameter are included. When a camera parameter is included, the atlas sequence parameter set may include information indicating whether a camera scale parameter, a camera offset parameter, and a camera rotation parameter are included.
아틀라스 적응적 파라미터 세트는 아틀라스 적응적 파라미터 세트에 복셀화 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다. 또한 아틀라스 적응적 파라미터 세트는 아틀라스 적응적 파라미터 세트에 메쉬 복셀화 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다. 또한 아틀라스 적응적 파라미터 세트는 아틀라스 적응적 파라미터 세트에 카메라 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다.The atlas adaptive parameter set may include information indicating whether a voxelization parameter is included in the atlas adaptive parameter set. Also, the atlas adaptive parameter set may include information indicating whether a mesh voxelization parameter is included in the atlas adaptive parameter set. Also, the atlas adaptive parameter set may include information indicating whether a camera parameter is included in the atlas adaptive parameter set.
아틀라스 적응적 파라미터 세트는 복셀화 파라미터가 포함된 경우, 스케일 파라미터, 오프셋 파라미터, 공간 해상도 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다. 아틀라스 적응적 파라미터 세트는 메쉬 복셀화 파라미터가 포함된 경우, 스케일 파라미터, 오프셋 파라미터, 공간 해상도 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다. 아틀라스 적응적 파라미터 세트는 카메라 파라미터가 포함된 경우, 카메라 스케일 파라미터, 카메라 오프셋 파라미터, 카메라 회전 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다.When a voxelization parameter is included, the atlas adaptive parameter set may include information indicating whether a scale parameter, an offset parameter, and a spatial resolution parameter are included. When a mesh voxelization parameter is included, the atlas adaptive parameter set may include information indicating whether a scale parameter, an offset parameter, and a spatial resolution parameter are included. When a camera parameter is included, the atlas adaptive parameter set may include information indicating whether a camera scale parameter, a camera offset parameter, and a camera rotation parameter are included.
v3c 파라미터 세트는 v3c 파라미터 세트에 카메라 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다. v3c 파라미터 세트는 카메라 파라미터가 포함된 경우, 카메라 스케일 파라미터, 카메라 오프셋 파라미터, 카메라 회전 파라미터가 포함되었는지 나타내는 정보를 포함할 수 있다.The v3c parameter set may include information indicating whether a camera parameter is included in the v3c parameter set. When a camera parameter is included, the v3c parameter set may include information indicating whether a camera scale parameter, a camera offset parameter, and a camera rotation parameter are included.
또한 실시 예에 따라, 아틀라스 프레임 파라미터 세트에서 앞서 설명된 복셀화 파라미터, 메쉬 복셀화 파라미터, 및/또는 카메라 파라미터가 포함될 수 있다.Also, according to an embodiment, the voxelization parameter, the mesh voxelization parameter, and/or the camera parameter described above may be included in the atlas frame parameter set.
도 20은 본 개시의 3차원 이미지의 복호화 방법에 대한 순서도이다.20 is a flowchart of a 3D image decoding method according to the present disclosure.
단계 2002에서, 복셀화 파라미터를 포함하는 파라미터 세트가 획득된다.In
단계 2004에서, 상기 파라미터 세트의 복셀화 파라미터에 따라, 3차원 이미지의 포인트 클라우드가 복셀화된다.In
도 20의 파라미터 세트에 대한 특징은 도 19에서 설명된 파라미터 세트의 특징과 대응된다.The characteristics of the parameter set in FIG. 20 correspond to the characteristics of the parameter set described in FIG. 19 .
또한, 도 19의 비디오 부호화 방법과 도 20의 비디오 복호화 방법은 도 4 내지 18에서 설명된 파라미터 세트의 특징에 따라 변형 또는 수정되어 실시될 수 있다.Also, the video encoding method of FIG. 19 and the video decoding method of FIG. 20 may be modified or modified according to the characteristics of the parameter sets described with reference to FIGS. 4 to 18 and implemented.
상술한 실시예들에서, 방법들은 일련의 단계 또는 유닛으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다. In the above-described embodiments, the methods are described on the basis of a flowchart as a series of steps or units, but the present invention is not limited to the order of steps, and some steps may occur in a different order or at the same time as other steps as described above. can In addition, those of ordinary skill in the art will recognize that the steps shown in the flowchart are not exclusive, other steps may be included, or that one or more steps in the flowchart may be deleted without affecting the scope of the present invention. You will understand.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.The above-described embodiments include examples of various aspects. It is not possible to describe every possible combination for representing the various aspects, but one of ordinary skill in the art will recognize that other combinations are possible. Accordingly, it is intended that the present invention cover all other substitutions, modifications and variations falling within the scope of the following claims.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the computer software field. Examples of the computer-readable recording medium include a hard disk, a magnetic medium such as a floppy disk and a magnetic tape, an optical recording medium such as a CD-ROM and DVD, and a magneto-optical medium such as a floppy disk. media), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules for carrying out the processing according to the present invention, and vice versa.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.In the above, the present invention has been described with specific matters such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , various modifications and variations can be devised from these descriptions by those of ordinary skill in the art to which the present invention pertains.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and not only the claims described below but also all modifications equivalently or equivalently to the claims described below belong to the scope of the spirit of the present invention. will do it
Claims (1)
상기 포인트 클라우드 및 상기 메쉬 데이터의 복셀화에 의하여 생성된 복셀화 파라미터를 결정하는 단계; 및
상기 복셀화 파라미터를 포함하는 파라미터 세트를 전송하는 단계를 포함하고,
상기 파라미터 세트는 v3c 파라미터 세트, 아틀라스 시퀀스 파라미터 세트, 아틀라스 적응적 파라미터 세트 중 적어도 하나를 포함하는 것을 특징으로 하는 비디오 부호화 방법.voxelizing the point cloud and mesh data of the 3D image;
determining a voxelization parameter generated by voxelization of the point cloud and the mesh data; and
transmitting a parameter set including the voxelization parameter;
wherein the parameter set includes at least one of a v3c parameter set, an atlas sequence parameter set, and an atlas adaptive parameter set.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020200152527 | 2020-11-16 | ||
| KR20200152527 | 2020-11-16 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20220066847A true KR20220066847A (en) | 2022-05-24 |
Family
ID=81807449
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020210155102A Pending KR20220066847A (en) | 2020-11-16 | 2021-11-11 | Method and Apparatus for Voxelization and Camera parameter information Encoding and decoding for Volumetric Video |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20220066847A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024185940A1 (en) * | 2023-03-08 | 2024-09-12 | 엘지전자 주식회사 | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
| WO2024225702A1 (en) * | 2023-04-25 | 2024-10-31 | 엘지전자 주식회사 | Mesh data transmission device, mesh data transmission method, mesh data reception device, and mesh data reception method |
-
2021
- 2021-11-11 KR KR1020210155102A patent/KR20220066847A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024185940A1 (en) * | 2023-03-08 | 2024-09-12 | 엘지전자 주식회사 | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
| WO2024225702A1 (en) * | 2023-04-25 | 2024-10-31 | 엘지전자 주식회사 | Mesh data transmission device, mesh data transmission method, mesh data reception device, and mesh data reception method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102699246B1 (en) | Method of encoding point cloud data, apparatus of encoding point cloud data, method of decoding point cloud data, and apparatus of decoding point cloud data | |
| US12101457B2 (en) | Apparatus, a method and a computer program for volumetric video | |
| US11803986B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
| KR102373833B1 (en) | An apparatus for transmitting point cloud data, a method for transmitting point cloud data, an apparatus for receiving point colud data and a method for receiving point cloud data | |
| US10499033B2 (en) | Apparatus, a method and a computer program for coding and rendering volumetric video | |
| KR102609776B1 (en) | Point cloud data processing method and device | |
| KR102677294B1 (en) | An apparatus of transmitting point cloud data, a method of transmitting point cloud data, an apparatus of receiving point cloud data, and a method of receiving point cloud data | |
| US20200153885A1 (en) | Apparatus for transmitting point cloud data, a method for transmitting point cloud data, an apparatus for receiving point cloud data and/or a method for receiving point cloud data | |
| US11202086B2 (en) | Apparatus, a method and a computer program for volumetric video | |
| US12230002B2 (en) | Object-based volumetric video coding | |
| US20220383552A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
| KR102844692B1 (en) | A Video-Based Point Cloud Compression Model for World Signaling Information | |
| KR20220128388A (en) | Scaling parameters for V-PCC | |
| KR20240144957A (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method | |
| KR20240144967A (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method | |
| EP4402637A1 (en) | An apparatus, a method and a computer program for volumetric video | |
| US20240020885A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
| WO2019115867A1 (en) | An apparatus, a method and a computer program for volumetric video | |
| KR20240117101A (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method | |
| WO2023037040A1 (en) | An apparatus, a method and a computer program for volumetric video | |
| KR20220066847A (en) | Method and Apparatus for Voxelization and Camera parameter information Encoding and decoding for Volumetric Video | |
| US12159435B2 (en) | Point cloud data processing device and method | |
| WO2019162564A1 (en) | An apparatus, a method and a computer program for volumetric video | |
| WO2019077199A1 (en) | An apparatus, a method and a computer program for volumetric video | |
| US20250227271A1 (en) | Point cloud data transmission device and method performed by transmission device, and point cloud data reception device and method performed by reception device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20211111 |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20241024 Comment text: Request for Examination of Application |