KR102537946B1 - Apparatus and method for processing data assoiciated with point cloud - Google Patents

Apparatus and method for processing data assoiciated with point cloud Download PDF

Info

Publication number
KR102537946B1
KR102537946B1 KR1020180044639A KR20180044639A KR102537946B1 KR 102537946 B1 KR102537946 B1 KR 102537946B1 KR 1020180044639 A KR1020180044639 A KR 1020180044639A KR 20180044639 A KR20180044639 A KR 20180044639A KR 102537946 B1 KR102537946 B1 KR 102537946B1
Authority
KR
South Korea
Prior art keywords
points
miss
data
auxiliary
information
Prior art date
Application number
KR1020180044639A
Other languages
Korean (ko)
Other versions
KR20190121106A (en
Inventor
우지환
오영호
유성열
Original Assignee
삼성전자주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020180044639A priority Critical patent/KR102537946B1/en
Priority to PCT/KR2019/004546 priority patent/WO2019203523A1/en
Publication of KR20190121106A publication Critical patent/KR20190121106A/en
Application granted granted Critical
Publication of KR102537946B1 publication Critical patent/KR102537946B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/363Image reproducers using image projection screens
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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 an image region, e.g. an object
    • H04N19/172Methods 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 an image region, e.g. an object the region being a picture, frame or field
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Abstract

본 개시에 따른 포인트 클라우드에 관한 데이터의 프로세싱 방법은, 포인트 클라우드에 관한 데이터에서 보조 비트들을 식별하는 과정, 상기 식별된 보조 비트들을 제외한 포인트 클라우드에 관한 데이터를 복수의 평면들에 프로젝션(projection)하는 과정, 상기 복수의 평면들에 대응하는 복수의 프로젝션 이미지들에서 미스드 포인트(missed point)들을 식별하는 과정, 상기 복수의 프로젝션 이미지들을 팩킹(packing)하여 팩킹된 이미지를 생성하는 과정, 상기 보조 비트들 중 상기 식별된 미스드 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 상기 팩킹된 이미지를 인코딩하여 생성된 신호를 전송하는 과정을 포함한다.A method for processing point cloud data according to the present disclosure includes identifying auxiliary bits in data about a point cloud and projecting data about a point cloud excluding the identified auxiliary bits onto a plurality of planes. The process of identifying missing points in the plurality of projection images corresponding to the plurality of planes, the process of generating a packed image by packing the plurality of projection images, the auxiliary bit second auxiliary bits excluding the first auxiliary bits corresponding to the identified miss points, information about the first auxiliary bits, and a signal generated by encoding the packed image; include

Description

포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치{APPARATUS AND METHOD FOR PROCESSING DATA ASSOICIATED WITH POINT CLOUD}Method and apparatus for processing data about point cloud {APPARATUS AND METHOD FOR PROCESSING DATA ASSOICIATED WITH POINT CLOUD}

본 개시는 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치에 관한 것이다.The present disclosure relates to methods and apparatus for processing data relating to point clouds.

포인트 클라우드(point cloud)는 방대한 양의 포인트의 집합을 의미하며, 대용량의 3차원 데이터는 포인트 클라우드로 표현될 수 있다. 포인트 클라우드는 2D 이미지와는 비교되는 값으로, 3차원 상의 한 점을 표현하는 방법이고, 위치 좌표와 색상을 동시에 포함할 수 있는 벡터 형태이다. 예를 들어, 포인트 클라우드는 (x, y, z, R, G, B)와 같이 표현될 수 있다. 무수히 많은 색상과 위치 데이터들이 모여서 공간적인 구성을 이루는 포인트 클라우드는 밀도가 높아지면 높아질 수록 점점 더 구체적인 데이터가 되면서 하나의 3D 모델로서의 의미를 가지게 된다.A point cloud refers to a collection of a large amount of points, and a large amount of 3D data can be expressed as a point cloud. A point cloud is a value compared to a 2D image, and is a method of expressing a point on a 3D image, and is in the form of a vector that can include location coordinates and color at the same time. For example, a point cloud can be expressed as (x, y, z, R, G, B). The point cloud that forms a spatial composition by gathering innumerable color and location data becomes more and more specific data as the density increases, and it has a meaning as a 3D model.

3차원 데이터를 표현하는 포인트 클라우드는 상당량의 메모리 리소스를 차지하기 때문에 포인트 클라우드를 전송하기 위해 압축 방법이 요구된다. 그러나 포인트 클라우드를 압축하기 위한 새로운 코덱을 생성하고 확산하는데 시간이 많이 요구되기 때문에 기존의 2D데이터를 압축하기 위한 코덱을 활용하여 효율적으로 포인트 클라우드를 압축하는 방법이 요구된다. 나아가 이러한 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법이 요구된다.Since a point cloud representing 3D data occupies a large amount of memory resources, a compression method is required to transmit the point cloud. However, since a lot of time is required to create and spread a new codec for compressing a point cloud, a method for efficiently compressing a point cloud by utilizing an existing codec for compressing 2D data is required. Furthermore, a method for processing data about these point clouds is needed.

본 개시는 포인트 클라우드에 관한 데이터를 효율적으로 프로세싱하기 위한 방법 및 장치를 제공한다. 구체적으로, 본 개시는 2차원 데이터 압축 코덱을 활용하여 3차원 데이터인 포인트 클라우드를 효율적으로 압축하기 위한 방법 및 장치를 제공하며, 이렇게 압축하여 전송한 데이터를 프로세싱하여 3D영상을 복원하는 방법 및 장치를 제공한다.The present disclosure provides methods and apparatus for efficiently processing data relating to point clouds. Specifically, the present disclosure provides a method and apparatus for efficiently compressing a point cloud, which is 3D data, using a 2D data compression codec, and a method and apparatus for restoring a 3D image by processing the compressed and transmitted data. provides

본 개시의 일 실시 예에 따른 포인트 클라우드에 관한 데이터의 프로세싱 방법에 있어서,포인트 클라우드에 관한 데이터에서 보조 비트들을 식별하는 과정; 상기 포인트 클라우드에 관한 데이터에서 상기 식별된 보조 비트들을 제외한 나머지 데이터를 복수의 평면들에 프로젝션(projection)하는 과정; 상기 복수의 평면들에 대응하는 복수의 프로젝션 이미지들에서 미스드 포인트(missed point)들을 식별하는 과정; 상기 복수의 프로젝션 이미지들을 팩킹(packing)하여 팩킹된 이미지를 생성하는 과정; 및 상기 식별된 보조 비트들 중 상기 식별된 미스드 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 상기 팩킹된 이미지를 인코딩하여 생성된 신호를 전송하는 과정을 포함하며, 상기 식별된 미스드 포인트들은 상기 복수의 프로젝션 이미지들 각각에 포함된 포인트들 간의 간격이 임계값 이상인 포인트들을 나타내며, 상기 제1 보조 비트들에 관한 정보는 상기 식별된 미스드 포인트들의 위치에 관한 정보를 포함함을 특징으로 한다.In the processing method of data related to a point cloud according to an embodiment of the present disclosure, Identifying auxiliary bits in data related to a point cloud; projecting data other than the identified auxiliary bits from the point cloud data onto a plurality of planes; identifying missed points in a plurality of projection images corresponding to the plurality of planes; generating a packed image by packing the plurality of projection images; and second auxiliary bits other than the first auxiliary bits corresponding to the identified miss points among the identified auxiliary bits, information about the first auxiliary bits, and the packed image generated by encoding the second auxiliary bits. and transmitting a signal, wherein the identified miss points represent points for which an interval between points included in each of the plurality of projection images is greater than or equal to a threshold value, and the information on the first auxiliary bits is the identification It is characterized in that it includes information about the positions of the missed points.

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

본 개시의 일 실시 예에 따른 포인트 클라우드에 관한 데이터의 프로세싱 방법에 있어서, 포인트 클라우드에 관한 데이터에 포함되는 보조 비트들 중 미스드 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 팩킹된 이미지를 포함하는 신호를 수신하여 디코딩하는 과정; 상기 팩킹된 이미지를 팩킹 해제하여 복수의 프로젝션 이미지들을 식별하는 과정; 상기 복수의 프로젝션 이미지들에서 상기 미스드 포인트들을 식별하는 과정; 상기 제1 보조 비트들에 관한 정보를 기반으로 상기 미스드 포인트들에 대응하는 상기 제1 보조 비트들을 추정하는 과정; 및 상기 복수의 프로젝션 이미지들을 역 프로젝션한 데이터, 상기 추정된 제1 보조 비트들 및 상기 제2 보조 비트들을 기반으로 상기 포인트 클라우드를 복원하는 과정을 포함하며,상기 미스드 포인트들은 상기 복수의 프로젝션 이미지들 각각에 포함된 포인트들 간의 간격이 임계값 이상인 포인트들을 나타내며, 상기 제1 보조 비트들에 관한 정보는 상기 미스드 포인트들의 위치에 관한 정보를 포함함을 특징으로 한다.In the processing method of point cloud data according to an embodiment of the present disclosure, second auxiliary bits excluding first auxiliary bits corresponding to miss points among auxiliary bits included in data about a point cloud, receiving and decoding a signal including information on the first auxiliary bits and a packed image; identifying a plurality of projection images by unpacking the packed image; identifying the miss points in the plurality of projection images; estimating the first auxiliary bits corresponding to the miss points based on the information on the first auxiliary bits; and restoring the point cloud based on inversely projected data of the plurality of projection images, the estimated first auxiliary bits, and the second auxiliary bits, wherein the miss points are the plurality of projection images. points where the distance between the points included in each of the points is greater than or equal to a threshold value, and the information on the first auxiliary bits includes information on the locations of the miss points.

본 개시의 일 실시 예에 따른 송신 장치에 있어서, 송수신부; 및 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는, 포인트 클라우드에 관한 보조 비트들을 식별하고, 상기 포인트 클라우드에 관한 데이터에서 상기 식별된 보조 비트들을 제외한 나머지 데이터를 복수의 평면들에 프로젝션(projection)하고, 상기 복수의 평면들에 대응하는 복수의 프로젝션 이미지들에서 미스드 포인트(missed point)들을 식별하고, 상기 복수의 프로젝션 이미지들을 팩킹(packing)하여 팩킹된 이미지를 생성하고, 상기 식별된 보조 비트들 중 상기 식별된 미스드 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 상기 팩킹된 이미지를 인코딩하여 신호를 생성하고, 상기 생성된 신호를 전송하도록 상기 송수신부를 제어하며, 상기 식별된 미스드 포인트들은 상기 복수의 프로젝션 이미지들 각각에 포함된 포인트들 간의 간격이 임계값 이상인 포인트들을 나타내며, 상기 제1 보조 비트들에 관한 정보는 상기 식별된 미스드 포인트들의 위치에 관한 정보를 포함함을 특징으로 한다. In the transmission device according to an embodiment of the present disclosure, the transmission and reception unit; And at least one processor, wherein the at least one processor identifies auxiliary bits related to a point cloud, and projects remaining data excluding the identified auxiliary bits from data related to the point cloud onto a plurality of planes ( projection), identifying missed points in a plurality of projection images corresponding to the plurality of planes, packing the plurality of projection images to generate a packed image, and generating a packed image, generating a signal by encoding second auxiliary bits excluding first auxiliary bits corresponding to the identified miss points among auxiliary bits, information about the first auxiliary bits, and the packed image; Controls the transmitter/receiver to transmit a generated signal, wherein the identified miss points represent points at which an interval between points included in each of the plurality of projection images is equal to or greater than a threshold value, and information on the first auxiliary bits is characterized by including information about the locations of the identified miss points.

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

본 개시의 일 실시 예에 따른 수신 장치에 있어서, 송수신부; 및 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는, 상기 송수신부를 통해, 포인트 클라우드에 관한 데이터에 포함되는 보조 비트들 중 미스드 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 팩킹된 이미지를 포함하는 신호를 수신하고, 상기 수신된 신호를 디코딩하고, 상기 팩킹된 이미지를 팩킹 해제하여 복수의 프로젝션 이미지들을 식별하고, 상기 복수의 프로젝션 이미지들에서 상기 미스드 포인트들을 식별하고, 상기 제1 보조 비트들에 관한 정보를 기반으로 상기 미스드 포인트들에 대응하는 상기 제1 보조 비트들을 추정하고, 상기 복수의 프로젝션 이미지들을 역 프로젝션한 데이터, 상기 추정된 제1 보조 비트들 및 상기 제2 보조 비트들을 기반으로 상기 포인트 클라우드를 복원하며, 상기 미스드 포인트들은 상기 복수의 프로젝션 이미지들 각각에 포함된 포인트들 간의 간격이 임계값 이상인 포인트들을 나타내며, 상기 제1 보조 비트들에 관한 정보는 상기 미스드 포인트들의 위치에 관한 정보를 포함함을 특징으로 한다. In the receiving device according to an embodiment of the present disclosure, the transmitting and receiving unit; and at least one processor, wherein the at least one processor, via the transceiver, second auxiliary bits excluding first auxiliary bits corresponding to miss points among auxiliary bits included in data about the point cloud. , information about the first auxiliary bits, and a packed image, decoding the received signal, and unpacking the packed image to identify a plurality of projection images; Identifying the miss points in projection images of, estimating the first auxiliary bits corresponding to the miss points based on the information about the first auxiliary bits, and inversely projecting the plurality of projection images The point cloud is reconstructed based on one data, the estimated first auxiliary bits and the second auxiliary bits, and the miss points are those in which the distance between points included in each of the plurality of projection images is greater than or equal to a threshold value. points, and the information about the first auxiliary bits includes information about the locations of the miss points.

삭제delete

본 개시에 따르면 2D 영상의 코덱을 활용하여 3D 영상을 압축할 수 있으며, 효율적인 압축 및 전송을 통하여 데이터 전송 량을 감축할 수 있다. 따라서 기존의 네트워크를 활용함으로써 비용을 절감할 수 있으며, 저장 공간, 전송 시간 및 하드웨어 비용 등을 절감할 수 있다. 본 개시에 따르면 이렇게 압축하여 전송한 데이터를 프로세싱하여 3D 영상을 복원할 수 있다.According to the present disclosure, a 3D image can be compressed by using a 2D image codec, and the amount of data transmission can be reduced through efficient compression and transmission. Therefore, cost can be reduced by utilizing the existing network, and storage space, transmission time, and hardware cost can be reduced. According to the present disclosure, a 3D image may be restored by processing the compressed and transmitted data.

본 개시는 그 밖에, 본 개시에서 얻을 수 있는 효과는 언급한 효과들로 제한되지 않으며, 언급하지 않은 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있다.In addition, the effects obtainable in the present disclosure are not limited to the mentioned effects, and other effects not mentioned are clearly understood by those skilled in the art from the description below. It can be.

도 1은 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지의 전송을 위한 프로세싱 방법을 개략적으로 나타낸 흐름도이다.
도 2는 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지를 프로젝션하기 위한 방법을 나타낸 도면이다.
도 3은 본 개시의 일 실시 예에 따라 포인트 클라우드로 표현된 3D 이미지를 프로젝션한 이미지의 예시를 나타낸 도면이다.
도 4는 본 개시의 일 실시 예에 따른 프로젝션 이미지를 팩킹(packing)하는 방법을 나타낸 도면이다.
도 5는 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지의 전송을 위해 3D 이미지의 데이터가 프로세싱되는 과정을 개략적으로 나타낸 도면이다.
도 6은 본 개시의 일 실시 예에 따른 프로젝션 이미지의 미스드 포인트(missed point)의 오프셋(offset)에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 프로젝션 이미지의 미스드 포인트의 오프셋을 추정하는 방법을 나타낸 순서도이다.
도 8은 본 개시의 일 실시 예에 따른 포인트 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 나타낸 순서도이다.
도 9는 본 개시의 일 실시 예에 따른 미스드 포인트의 오프셋을 추정하는 방법을 나타낸 순서도이다.
도 10은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
도 11은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
도 12는, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 나타낸 순서도이다.
도 13은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
도 14는, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 추정하는 방법을 나타낸 순서도이다.
도 15는, 본 개시의 일 실시예에 따른 데이터의 전송 또는 수신을 위한 장치의 구성을 개략적으로 나타낸 도면이다.
1 is a flowchart schematically illustrating a processing method for transmission of a 3D image expressed as a point cloud according to an embodiment of the present disclosure.
2 is a diagram illustrating a method for projecting a 3D image expressed as a point cloud according to an embodiment of the present disclosure.
3 is a diagram illustrating an example of an image obtained by projecting a 3D image expressed as a point cloud according to an embodiment of the present disclosure.
4 is a diagram illustrating a method of packing a projection image according to an embodiment of the present disclosure.
5 is a diagram schematically illustrating a process of processing data of a 3D image for transmission of a 3D image expressed as a point cloud according to an embodiment of the present disclosure.
6 is a diagram for explaining a method of transmitting information about an offset of a missed point of a projection image according to an embodiment of the present disclosure.
7 is a flowchart illustrating a method of estimating an offset of a miss point of a projection image according to an embodiment of the present disclosure.
8 is a flowchart illustrating a method of transmitting information about an offset of a missed point according to points according to an embodiment of the present disclosure.
9 is a flowchart illustrating a method of estimating an offset of a miss point according to an embodiment of the present disclosure.
10 is a diagram for explaining a method of transmitting information about an offset of a miss point according to an embodiment of the present disclosure.
11 is a diagram for explaining a method of transmitting information about an offset of a miss point according to an embodiment of the present disclosure.
12 is a flowchart illustrating a method of transmitting information about an offset of a miss point according to an embodiment of the present disclosure.
13 is a diagram for explaining a method of transmitting information about an offset of a miss point according to an embodiment of the present disclosure.
14 is a flowchart illustrating a method of estimating information about an offset of a miss point according to an embodiment of the present disclosure.
15 is a diagram schematically showing the configuration of an apparatus for transmitting or receiving data according to an embodiment of the present disclosure.

이하, 첨부된 도면들을 참조하여 본 개시의 실시 예를 상세하게 설명한다. 하기에서 본 개시를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로써 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In the following description of the present disclosure, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the gist of the present disclosure, the detailed description will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the present disclosure, which may vary according to the intention or custom of a user or operator. Therefore, the definition should be made based on the contents throughout this specification.

본 개시의 실시 예에서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의'모듈' 혹은 복수의'부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In an embodiment of the present disclosure, a 'module' or 'unit' performs at least one function or operation, and may be implemented in hardware or software or a combination of hardware and software. In addition, a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module and implemented by at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.

본 개시의 다양한 실시 예에서 사용될 수 있는 "포함한다" 또는"포함할 수 있다" 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시 예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Expressions such as “include” or “may include” that may be used in various embodiments of the present disclosure indicate the existence of a corresponding disclosed function, operation, or component, and may include one or more additional functions, operations, or components. components, etc. are not limited. In addition, in various embodiments of the present invention, terms such as "include" or "have" are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, It should be understood that it does not preclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

본 개시의 다양한 실시 예에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.In various embodiments of this disclosure, expressions such as “or” include any and all combinations of the words listed together. For example, "A or B" may include A, may include B, or may include both A and B.

본 개시의 다양한 실시 예에서 사용된 "제 1," "제2," "첫째," 또는 "둘째," 등의 표현들은 다양한 실시 예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Expressions such as “first,” “second,” “first,” or “second,” used in various embodiments of the present disclosure may modify various components of various embodiments, but limit the corresponding components. I never do that. For example, the above expressions do not limit the order and/or importance of corresponding components. The above expressions may be used to distinguish one component from another. For example, the first user device and the second user device are both user devices and represent different user devices. For example, a first element may be termed a second element, and similarly, a second element may also be termed a first element, without departing from the scope of the various embodiments of the present invention.

본 개시의 다양한 실시 예에서 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.In various embodiments of the present disclosure, when a certain component is referred to as being “connected” or “connected” to another component, the certain component may be directly connected or connected to the other component. However, it should be understood that another new component may exist between the certain component and the other component. On the other hand, when an element is referred to as being “directly connected” or “directly connected” to another element, it will be understood that no new element exists between the element and the other element. should be able to

본 개시의 다양한 실시 예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명의 다양한 실시 예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Terms used in various embodiments of the present disclosure are used only to describe specific embodiments, and are not intended to limit various embodiments of the present disclosure. Singular expressions include plural expressions unless the context clearly dictates otherwise.

본 개시의 다양한 실시 예에서 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 다양한 실시 예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 다양한 실시 예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise in various embodiments of the present disclosure, all terms used herein, including technical or scientific terms, are those commonly understood by one of ordinary skill in the art to which various embodiments of the present disclosure belong. have the same meaning. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in various embodiments, interpreted in an ideal or excessively formal meaning. It doesn't work.

이하, 도 1 내지 도 6을 참고하여 본 개시의 일 실시 예에 따른 포인트 클라우드(point cloud)로 표현된 3D 데이터의 프로세싱 방법에 대하여 설명한다. 이러한 방법은 데이터를 전송하기 위한 장치에 의해 수행될 수 있다.Hereinafter, a processing method of 3D data expressed as a point cloud according to an embodiment of the present disclosure will be described with reference to FIGS. 1 to 6 . This method may be performed by a device for transmitting data.

도 1은 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지의 전송을 위한 프로세싱 방법을 개략적으로 나타낸 흐름도이다. 도 2는 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지를 프로젝션하기 위한 방법을 나타낸 도면이다. 도 3은 본 개시의 일 실시 예에 따라 포인트 클라우드로 표현된 3D 이미지를 프로젝션한 이미지의 예시를 나타낸 도면이다.1 is a flowchart schematically illustrating a processing method for transmission of a 3D image expressed as a point cloud according to an embodiment of the present disclosure. 2 is a diagram illustrating a method for projecting a 3D image expressed as a point cloud according to an embodiment of the present disclosure. 3 is a diagram illustrating an example of an image obtained by projecting a 3D image expressed as a point cloud according to an embodiment of the present disclosure.

도 4는 본 개시의 일 실시 예에 따른 프로젝션 이미지를 팩킹(packing)하는 방법을 나타낸 도면이다. 도 5는 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지의 전송을 위해 3D 이미지의 데이터가 프로세싱되는 과정을 개략적으로 나타낸 도면이다. 도 6은 본 개시의 일 실시 예에 따른 프로젝션 이미지의 미스드 포인트(missed point)의 오프셋(offset)에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.4 is a diagram illustrating a method of packing a projection image according to an embodiment of the present disclosure. 5 is a diagram schematically illustrating a process of processing data of a 3D image for transmission of a 3D image expressed as a point cloud according to an embodiment of the present disclosure. 6 is a diagram for explaining a method of transmitting information about an offset of a missed point of a projection image according to an embodiment of the present disclosure.

먼저, 도 1을 참고하면, 포인트 클라우드로 표현된 3D 이미지의 프로세싱 방법은 포인트 클라우드에서 각 포인트들의 노말 벡터(normal vector)를 추정하는 과정을 포함한다(101).First, referring to FIG. 1 , a processing method of a 3D image expressed as a point cloud includes a process of estimating a normal vector of each point in the point cloud (101).

도 2를 참고하면, 오브젝트(object)(200)는 3차원 데이터의 3차원 공간 상의 물체를 의미하며, 복수의 포인트들의 집합인 포인트 클라우드로 표현될 수 있다. 오브젝트(200)는 3차원 영상의 복수의 장면 중 한 장면을 나타낸 것일 수 있다.Referring to FIG. 2 , an object 200 means an object in a 3D space of 3D data, and may be expressed as a point cloud that is a set of a plurality of points. The object 200 may represent one scene among a plurality of scenes of a 3D image.

오브젝트(200)의 각 포인트들은 위치(x, y, z)와 색상(R(red), G(green), B(blue))에 대한 데이터를 포함할 수 있다. 본 개시는 포인트 클라우드에 포함되는 하나의 포인트가 각 좌표 마다 10비트(bit)의 크기를 가지는 위치 좌표인 (x, y, z) 및 각 좌표마다 8비트의 크기를 가지는 색상 좌표인 (R, G, B)로 표현되는 경우를 가정한다. 즉 하나의 포인트의 위치 좌표는 x좌표의 10비트, y좌표의 10비트, z좌표의 10비트, 총 30 비트로 표현될 수 있고, 색상은 R값의 8비트, G값의 8비트, B값의 8비트, 총 24비트로 표현될 수 있다.Each point of the object 200 may include data about the position (x, y, z) and color (R (red), G (green), B (blue)). In the present disclosure, one point included in a point cloud is position coordinates (x, y, z) having a size of 10 bits for each coordinate and color coordinates (R, G, B) is assumed. That is, the positional coordinates of one point can be expressed with 10 bits of x coordinate, 10 bits of y coordinate, 10 bits of z coordinate, a total of 30 bits, and color is 8 bits of R value, 8 bits of G value, and B value It can be expressed as 8 bits of , a total of 24 bits.

오브젝트(200)를 프로젝션(projection)하기 위해, 오브젝트(200)가 중심에 위치하는 가상의 육면체 공간(201)을 가정할 수 있다. 가상의 육면체 공간(201)은 제1 XY평면(XY0), 제2 XY평면(XY1), 제1 YZ평면(YZ0), 제2 YZ평면(YZ1), 제1 XZ평면(XZ0), 제2 XZ평면(XZ1)로 구성될 수 있다. 제1 XY평면(XY0)의 노말 벡터는 -z방향일 수 있고, 제2 XY평면(XY1)의 노말 벡터는 +z 방향일 수 있다. 제1 YZ평면(YZ0)의 노말 벡터는 -x방향일 수 있고, 제2 YZ평면(YZ1)의 노말 벡터는 +x방향일 수 있다. 제1 XZ평면(XZ0)의 노말 벡터는 -y방향일 수 있고, 제2 XZ평면(XZ1)의 노말 벡터는 +y방향일 수 있다.In order to project the object 200, a virtual hexahedral space 201 in which the object 200 is located at the center may be assumed. The virtual hexahedral space 201 includes a first XY plane (XY0), a second XY plane (XY1), a first YZ plane (YZ0), a second YZ plane (YZ1), a first XZ plane (XZ0), and a second It may consist of an XZ plane (XZ1). The normal vector of the first XY plane XY0 may be in the -z direction, and the normal vector of the second XY plane XY1 may be in the +z direction. The normal vector of the first YZ plane YZ0 may be in the -x direction, and the normal vector of the second YZ plane YZ1 may be in the +x direction. The normal vector of the first XZ plane XZ0 may be in the -y direction, and the normal vector of the second XZ plane XZ1 may be in the +y direction.

오브젝트(200)를 프로젝션하기 위해 먼저 오브젝트(200)의 각각의 포인트들의 노말 벡터(202)를 추정할 수 있다. 각 포인트들의 노말 벡터(202)는 해당 포인트와 일정 영역 이내의 인접하는 점들이 이루는 평면에 대하여 추정될 수 있다.In order to project the object 200 , first, the normal vector 202 of each point of the object 200 may be estimated. The normal vector 202 of each point may be estimated with respect to a plane formed by the corresponding point and adjacent points within a certain area.

또한, 복수의 포인트들을 그룹핑(grouping)하여 복수의 세그먼트(segment)를 구성할 수 있다. 이때, 동일 또는 유사한 방향의 노말 벡터들을 갖는 포인트들을 하나의 세그먼트로 그룹핑할 수 있다. 여기서 유사한 방향이란 노말 벡터들의 방향 간의 유사도가 일정 임계 값 이상인 경우일 수 있다. 또는 포인트들 간의 거리가 일정 값 이하인 인접한 포인트들을 하나의 세그먼트로 그룹핑할 수도 있다. 또한, 세그먼트 구성 시, 노말 벡터의 방향과 포인트들 간의 거리를 모두 고려할 수도 있으며, 노말 벡터들의 방향 간 유사도가 떨어지거나 포인트들 간의 거리가 일정 값 이상이더라도 포인트의 색상이 일치 또는 유사하면 같은 세그먼트로 그룹핑할 수도 있다. 이러한 세그먼트의 대표 노말 벡터는 세그먼트에 포함된 복수의 포인트들의 노말 벡터들의 평균 값일 수 있다.Also, a plurality of segments may be configured by grouping a plurality of points. In this case, points having normal vectors in the same or similar direction may be grouped into one segment. Here, the similar direction may be a case where the degree of similarity between the directions of the normal vectors is equal to or greater than a predetermined threshold value. Alternatively, adjacent points having a distance between points equal to or less than a predetermined value may be grouped into one segment. In addition, when constructing a segment, both the direction of the normal vector and the distance between the points may be considered. Even if the similarity between the directions of the normal vectors is low or the distance between the points is greater than a certain value, if the colors of the points match or are similar, they are classified as the same segment. You can also group them. The representative normal vector of the segment may be an average value of normal vectors of a plurality of points included in the segment.

다시 도 1을 참고하면 다음으로, 포인트 클라우드의 복수의 포인트들을 프로젝션(projection)한다(102).Referring back to FIG. 1, next, a plurality of points of the point cloud are projected (102).

도 2를 보면, 포인트 클라우드로 표현된 오브젝트(200)의 복수의 포인트들은 가상의 육면체 공간(201)을 구성하는 평면에 프로젝션될 수 있다. 이때 포인트의 추정된 노말 벡터의 방향과 프로젝션 평면의 노말 벡터의 방향은 일치하거나 유사할 수 있다. 여기서 유사한 방향이란 노말 벡터들의 방향 간의 유사도가 일정 임계 값 이상인 경우일 수 있다. 또한, 포인트들은 포인트들을 그룹핑한 세그먼트 단위로 프로젝션될 수도 있다.Referring to FIG. 2 , a plurality of points of an object 200 expressed as a point cloud may be projected onto a plane constituting a virtual hexahedral space 201 . In this case, the direction of the estimated normal vector of the point and the direction of the normal vector of the projection plane may be the same or similar. Here, the similar direction may be a case where the degree of similarity between the directions of the normal vectors is equal to or greater than a predetermined threshold value. Also, points may be projected in units of segments in which points are grouped.

3D 이미지를 2D 이미지로 프로젝션하기 위해, ERP(equirectangular projection), OHP(octahedron projection), 실린더 프로젝션, 큐브 프로젝션 및 해당 기술분야에서 이용 가능한 다양한 프로젝션 방법들 중 어느 하나가 이용될 수 있다.In order to project a 3D image into a 2D image, any one of equirectangular projection (ERP), octahedron projection (OHP), cylinder projection, cube projection, and various projection methods available in the art may be used.

상술한 바와 같이 본 개시는 포인트 클라우드의 하나의 포인트가 각각 10비트의 크기를 가지는 x좌표, y좌표, z좌표와 각각 8비트의 크기를 가지는 R(red)값, G(green)값, B(blue)값으로 표현되는 경우를 가정한다. 그러나, 이러한 데이터를 인코딩하기 위한 코덱(codec)이 10 비트 크기의 데이터의 인코딩을 지원하지 않을 수 있다. 또는 이러한 데이터를 인코딩하기 위한 코덱이 10비트 보다 작은 비트의 데이터의 인코딩에 최적화되어 있을 수 있다. 본 개시에서는 전송할 데이터의 인코딩에 사용하는 코덱이 8비트의 데이터 인코딩을 지원하는 경우를 가정한다.As described above, the present disclosure provides that each point of the point cloud has x coordinates, y coordinates, and z coordinates each having a size of 10 bits, and R (red) values, G (green) values, and B values each having a size of 8 bits. It is assumed that it is expressed as a (blue) value. However, a codec for encoding such data may not support encoding of 10-bit data. Alternatively, a codec for encoding such data may be optimized for encoding of data of less than 10 bits. In this disclosure, it is assumed that a codec used to encode data to be transmitted supports 8-bit data encoding.

이 경우, 포인트 클라우드의 하나의 포인트를 기준으로 설명하면, 색상에 대한 R(red)값, G(green)값, B(blue)값은 각각 8비트이므로 8비트의 데이터 인코딩을 지원하는 코덱으로 인코딩이 가능하다. 그러나, 포인트의 위치에 대한 x좌표, y좌표, z좌표는 각 10 비트를 갖기 때문에 각 좌표마다 2비트의 보조 비트를 따로 인코딩해야 한다.In this case, in terms of one point of the point cloud, since the R (red) value, G (green) value, and B (blue) value for color are each 8 bits, a codec that supports 8-bit data encoding is used. encoding is possible. However, since the x-, y-, and z-coordinates of the point position each have 10 bits, 2-bit auxiliary bits must be separately encoded for each coordinate.

즉, x좌표의 10 비트에서 하위 2비트를 구별하고, y좌표의 10비트에서 하위 2비트를 구별하고, z좌표의 10비트에서 하위 2비트를 구별하여, 총 6비트를 보조 비트로 하여 별도로 인코딩하여 전송할 수 있다. 여기서 하위 2비트는 10비트 중 중요도가 가장 낮은 2비트일 수 있으며, 10비트 중 가장 끝에 위치할 수 있다. 이하, 이러한 보조 비트와 같은 의미로 오프셋(offset)이라는 용어가 사용될 수 있다.That is, the lower 2 bits are distinguished from the 10 bits of the x coordinate, the lower 2 bits are distinguished from the 10 bits of the y coordinate, and the lower 2 bits are distinguished from the 10 bits of the z coordinate, and a total of 6 bits are separately encoded as auxiliary bits. can be sent. Here, the lower 2 bits may be 2 bits of the lowest importance among 10 bits, and may be located at the end of 10 bits. Hereinafter, the term offset may be used in the same meaning as the auxiliary bit.

오프셋을 제외하면 포인트 클라우드의 하나의 포인트 당, x좌표, y좌표, z좌표 각각 8비트씩, 그리고 R(red)값, G(green)값, B(blue)값 각각 8비트씩, 총 48비트 크기의 데이터를 가질 수 있다. 이렇게 하나의 포인트당 48비트를 갖는 포인트 클라우드를 프로젝션(projection)할 수 있다.Excluding the offset, each point in the point cloud has 8 bits each for x, y, and z coordinates, and 8 bits each for R (red) value, G (green) value, and B (blue) value, for a total of 48 It can have bit-sized data. In this way, a point cloud having 48 bits per point can be projected.

도 3을 보면, 포인트 클라우드를 가상의 육면체 공간의 각 면에 프로젝션한 이미지의 예시를 확인할 수 있다. 일 예시로 프로젝션은 제1 XY평면(XY0), 제2 XY평면(XY1), 제1 YZ평면(YZ0), 제2 YZ평면(YZ1), 제1 XZ평면(XZ0), 제2 XZ평면(XZ1)의 순서대로 반복적으로 프로젝션이 수행될 수 있다. Referring to FIG. 3 , an example of an image in which a point cloud is projected onto each surface of a virtual hexahedral space can be confirmed. As an example, the projection is a first XY plane (XY0), a second XY plane (XY1), a first YZ plane (YZ0), a second YZ plane (YZ1), a first XZ plane (XZ0), a second XZ plane ( Projection may be repeatedly performed in the order of XZ1).

도 3은, 제1 XY평면(XY0)으로 프로젝션한 제1 프로젝션 이미지(projection #0), 제2 XY평면(XY1)으로 프로젝션한 제2 프로젝션 이미지(projection #1), 제1 YZ평면(YZ0)으로 프로젝션한 제3 프로젝션 이미지(projection #2), 제2 YZ평면(YZ1)으로 프로젝션한 제4 프로젝션 이미지(projection #3), 제1 XZ평면(XZ0)으로 프로젝션한 제5 프로젝션 이미지(projection #4), 제2 XZ평면(XZ1)으로 프로젝션한 제6 프로젝션 이미지(projection #5), 제1 XY평면(XY0)으로 두 번째 프로젝션한 제7 프로젝션 이미지(projection #6), 제2 XY평면(XY1)으로 두 번째 프로젝션한 제8 프로젝션 이미지(projection #7), 제1 YZ평면(YZ0)으로 두 번째 프로젝션한 제9 프로젝션 이미지(projection #8)의 일 예시를 나타낸다. 그러나 이러한 프로젝션 순서와 프로젝션 횟수는 일 예시에 불과하다.3 shows a first projection image (projection #0) projected onto a first XY plane (XY0), a second projection image (projection #1) projected onto a second XY plane (XY1), and a first YZ plane (YZ0). ), a third projection image (projection #2), a fourth projection image (projection #3) projected onto the second YZ plane (YZ1), and a fifth projection image (projection #3) projected onto the first XZ plane (XZ0). #4), a sixth projection image (projection #5) projected onto the second XZ plane (XZ1), a seventh projection image (projection #6) projected onto the first XY plane (XY0), and a second XY plane An example of an eighth projection image (projection #7) secondly projected on (XY1) and a ninth projection image (projection #8) secondly projected on the first YZ plane (YZ0) is shown. However, the projection order and the number of projections are only examples.

프로젝션 이미지에 포함된 각 포인트들은, 포인트 당 x좌표, y좌표, z좌표 각각 8비트씩, 그리고 R(red)값, G(green)값, B(blue)값 각각 8비트씩, 총 48비트 크기의 데이터를 가질 수 있다. For each point included in the projection image, 8 bits each for x, y, and z coordinates per point, and 8 bits each for R (red) value, G (green) value, and B (blue) value, total 48 bits You can have size data.

도 3에 표현되진 않았으나, 프로젝션 횟수에 따라 제2 YZ평면(YZ1)으로 두 번째 프로젝션한 제10 프로젝션 이미지, 제1 XZ평면(XZ0)으로 두 번째 프로젝션한 제11 프로젝션 이미지, 제2 XZ평면(XZ1)으로 두 번째 프로젝션한 제12 프로젝션 이미지, 제1 XY평면(XY0)으로 세 번째 프로젝션한 제13 프로젝션 이미지, 제2 XY평면(XY1)으로 세 번째 프로젝션한 제14 프로젝션 이미지... 등이 더 존재할 수 있다.Although not shown in FIG. 3, the 10th projection image secondly projected onto the second YZ plane (YZ1) according to the number of projections, the 11th projection image secondly projected onto the first XZ plane (XZ0), and the second XZ plane ( XZ1), a 12th projection image secondly projected onto the first XY plane (XY0), a 13th projected image thirdly projected onto the first XY plane (XY0), a 14th projection image thirdly projected onto the second XY plane (XY1)... There may be more.

프로젝션이 반복하여 수행될수록 프로젝션된 이미지에 포함되는 포인트들의 개수는 감소할 수 있다. 도 3을 보면, 제1 XY평면(XY0)으로 첫 번째 프로젝션한 제1 프로젝션 이미지(projection #0)의 포인트들의 개수(points=156839)보다 제1 XY평면(XY0)으로 두 번째 프로젝션한 제7 프로젝션 이미지(projection #6)의 포인트들의 개수(points=34549)가 더 적은 것을 확인할 수 있다. 이는 예를 들어, 제1 XY평면(XY0)으로 첫 번째 프로젝션할 때 노말 벡터 방향이 제1 XY평면(XY0)의 노말 벡터 방향과 동일 또는 유사한 포인트들의 80%가 프로젝션되고, 제1 XY평면(XY0)으로 두 번째 프로젝션할 때 노말 벡터 방향이 제1 XY평면(XY0)의 노말 벡터 방향과 동일 또는 유사한 포인트들의 16%가 프로젝션되기 때문일 수 있다. 다만 이 수치는 일 예일 수 있다.As the projection is repeatedly performed, the number of points included in the projected image may decrease. Referring to FIG. 3 , the number of points (points=156839) of the first projection image (projection #0) first projected onto the first XY plane (XY0) is greater than the number of points (points = 156839) in the second projection onto the first XY plane (XY0). It can be seen that the number of points (points=34549) of the projection image (projection #6) is smaller. This is, for example, when first projected onto the first XY plane XY0, 80% of points having the same or similar normal vector direction as the normal vector direction of the first XY plane XY0 are projected, and the first XY plane ( This may be because 16% of points having the same or similar normal vector direction as the normal vector direction of the first XY plane XY0 are projected during the second projection to XY0). However, this number may be an example.

제1 XY평면(XY0)으로 세 번째, 네 번째, 또는 그 이상 반복하여 프로젝션하는 경우 제1 XY평면(XY0)의 노말 벡터 방향과 동일 또는 유사한 방향의 노말 벡터를 갖는 포인트들이 100%에 가깝게 프로젝션될 수 있다. 즉, 가상의 육면체 공간(201)의 제1 XY평면(XY0)에서 오브젝트(200)를 볼 때 다른 포인트에 의해 가려진 포인트들도 반복적인 프로젝션을 통하여 프로젝션될 수 있다.In the case of repeated projection to the first XY plane (XY0) for the third, fourth, or more times, close to 100% of the points having normal vectors in the same or similar directions as the normal vector directions of the first XY plane (XY0) are projected. It can be. That is, when viewing the object 200 on the first XY plane XY0 of the virtual hexahedral space 201, points covered by other points may also be projected through repetitive projection.

마찬가지로 도 3을 보면, 제2 XY평면(XY1)으로 첫 번째 프로젝션한 제2 프로젝션 이미지(projection #1)의 포인트들의 개수(points=156597)보다 제2 XY평면(XY1)으로 두 번째 프로젝션한 제8 프로젝션 이미지(projection #7)의 포인트들의 개수(points=14660)가 더 적은 것을 확인할 수 있다. 또 제1 YZ평면(YZ0)으로 첫 번째 프로젝션한 제3 프로젝션 이미지(projection #2)의 포인트들의 개수(points=170221)보다 제1 YZ평면(YZ0)으로 두 번째 프로젝션한 제9 프로젝션 이미지(projection #8)의 포인트들의 개수(points=9470)가 더 적은 것을 확인할 수 있다.Similarly, referring to FIG. 3, the number of points (points = 156597) of the second projection image (projection #1) first projected onto the second XY plane (XY1) is the second projected onto the second XY plane (XY1). It can be seen that the number of points (points=14660) of the 8 projection image (projection #7) is smaller. In addition, the number of points (points=170221) of the third projection image (projection #2) first projected onto the first YZ plane (YZ0) is greater than that of the ninth projection image (projection #2) secondly projected onto the first YZ plane (YZ0). It can be seen that the number of points (points = 9470) of #8) is smaller.

반복적인 프로젝션으로 프로젝션 이미지에 포함된 포인트들의 개수가 감소하면 프로젝션 이미지에 포함된 포인트들 간의 간격이 벌어질 수 있다. 이때, 프로젝션 이미지에 포함된 포인트들 간의 간격이 임계 값 이상인 경우, 이러한 포인트들을 이하 미스드 포인트(missed point)들이라고 칭한다. 즉, 프로젝션 이미지에 포함된 제1 포인트가 제1 포인트와 가장 인접한 제2 포인트와의 거리가 임계 값 이상인 경우 제1 포인트는 미스드 포인트에 해당될 수 있다. 이러한 미스드 포인트들에 대하여 플래그(flag)로 표시하여 수신기에게 전송함으로써 미스드 포인트 해당 여부에 대한 정보를 수신기에게 제공할 수 있다.If the number of points included in the projection image decreases due to repetitive projection, intervals between points included in the projection image may widen. In this case, when the interval between the points included in the projection image is greater than or equal to the threshold value, these points are referred to as missed points. That is, when a distance between a first point included in the projection image and a second point closest to the first point is greater than or equal to a threshold value, the first point may correspond to a miss point. By indicating these miss points as flags and transmitting them to the receiver, it is possible to provide the receiver with information on whether or not the miss points correspond.

다시 도 1을 참고하면, 다음으로 2D 프로젝션 이미지들을 팩킹(packing)할 수 있다(103).Referring back to FIG. 1 , next, 2D projection images may be packed (103).

도 4를 보면, 복수의 프로젝션 이미지들(400, 401, 402)을 하나 또는 하나 이상의 팩킹된 2D 이미지(403)로 팩킹할 수 있다. 팩킹은 프로젝션된 2D 프로젝션 이미지들(400, 401, 402) 중 적어도 일부를, 변형 및/또는 재배치하여, 하나 또는 하나 이상의 팩킹된 2D 이미지(403)로 생성하는 것을 의미할 수 있다. 여기서, 변형은 영역의 리사이징(resize), 형태 변환(transforming), 회전 및/또는 재-샘플링(re-sampling)(예를 들어, 업샘플링, 다운샘플링, 영역 내의 위치에 따른 차등 샘플링)등을 의미할 수 있다. 이러한 팩킹 방식은 영역별(region-wise) 팩킹으로 지칭될 수 있다. 도 4는 3개의 프로젝션 이미지(400, 401, 402)만 도시하였지만 팩킹되는 프로젝션 이미지는 3개 이상일 수 있다.Referring to FIG. 4 , a plurality of projection images 400 , 401 , and 402 may be packed into one or more packed 2D images 403 . Packing may mean generating one or more packed 2D images 403 by transforming and/or rearranging at least some of the projected 2D projection images 400 , 401 , and 402 . Here, transformation includes resizing, transforming, rotation, and/or re-sampling (eg, upsampling, downsampling, differential sampling according to a location within a region) of a region, and the like. can mean This packing method may be referred to as region-wise packing. Although FIG. 4 shows only three projection images 400, 401, and 402, three or more projection images may be packed.

다시 도 1을 참고하면, 다음으로 팩킹된 데이터 및 오프셋들을 인코딩(encoding)하고(104), 수신 장치에 전송한다(105). 이 때 적어도 하나의 미스드 포인트의 오프셋은 인코딩 및 전송에서 제외된다. 또한, 모든 미스드 포인트들의 오프셋들은 인코딩 및 전송에서 제외될 수 있다.Referring back to FIG. 1 , the packed data and offsets are then encoded (104) and transmitted to the receiving device (105). At this time, the offset of at least one miss point is excluded from encoding and transmission. Also, offsets of all miss points may be excluded from encoding and transmission.

도 5는 3D 데이터인 포인트 클라우드 데이터가 전송을 위해 프로세싱되는 과정을 개략적으로 도시한 것으로, 포인트 클라우드에 포함된 하나의 포인트의 위치 좌표를 기준으로 도시한 것이다. 도 5를 참고하면, x좌표, y좌표, z좌표 각각 10비트씩 총 30비트의 데이터에서 각각 하위 2비트를 식별하여 6비트의 보조 비트(오프셋)를 별도로 인코딩한다. 도시되지는 않았으나 이 때 미스드 포인트의 오프셋은 인코딩에서 제외될 수 있다.FIG. 5 schematically illustrates a process in which point cloud data, which is 3D data, is processed for transmission, based on the location coordinates of one point included in the point cloud. Referring to FIG. 5 , 6-bit auxiliary bits (offset) are separately encoded by identifying the lower 2 bits from a total of 30 bits of data of 10 bits for each of the x-, y-, and z-coordinates. Although not shown, the offset of the miss point may be excluded from encoding.

또한, 오프셋을 제외한 좌표, y좌표, z좌표 각각 8비트씩 총 24비트의 데이터는 프로젝션 및 팩킹하는 과정을 거쳐 팩킹된 2D 이미지를 인코딩한다. 도 5에 도시하지는 않았으나, 각각 8비트를 갖는 R, G, B에 대한 데이터도 위치 데이터와 함께 프로젝션, 팩킹 및 인코딩될 수 있다.In addition, a total of 24-bit data of 8 bits each for coordinates, y-coordinates, and z-coordinates excluding offsets is projected and packed to encode the packed 2D image. Although not shown in FIG. 5, data for R, G, and B, each having 8 bits, may also be projected, packed, and encoded along with position data.

이렇게 인코딩된 팩킹된 2D 이미지 및 미스드 포인트의 오프셋을 제외한 인코딩된 오프셋을 수신 장치에 전송한다.The encoded packed 2D image and the encoded offset excluding the offset of the miss point are transmitted to the receiving device.

인코딩에는 HEVC(High Efficiency Video Coding), H.264, Future Video Codec, AVC(Advanced Video Coding), VP9(Pure Video 9), VP8(Pure Video 8), JVET(Joint Video Exploration Team) 등의 2D 영상 기반 압축이 가능한 코덱이 사용될 수 있다.Encoding includes 2D video such as High Efficiency Video Coding (HEVC), H.264, Future Video Codec, Advanced Video Coding (AVC), Pure Video 9 (VP9), Pure Video 8 (VP8), and Joint Video Exploration Team (JVET). A codec capable of base compression may be used.

인코딩된 데이터는 분할되거나, 헤더를 부가하는 등의 프로세싱을 통해 정해진 전송 프로토콜에 따라 가공되어 전송될 수 있다. 인코딩된 데이터와 함께, 또는 개별적으로 인코딩된 데이터와 관련된 추가적인 데이터, 데이터를 재생하기 위해 필요한 데이터(예를 들어, 메타데이터)가 전송될 수 있다.The encoded data may be divided or processed according to a transmission protocol determined through processing such as adding a header and then transmitted. Along with the encoded data or separately, additional data related to the encoded data, data necessary for reproducing the data (eg, metadata) may be transmitted.

송신 장치에서의 데이터의 전송은 MMT(MPEG Media Transport) 또는 DASH (Dynamic Adaptive Streaming over HTTP)를 따를 수 있으나, 반드시 이에 한정되는 것은 아니다.Data transmission by the transmitting device may follow MPEG Media Transport (MMT) or Dynamic Adaptive Streaming over HTTP (DASH), but is not necessarily limited thereto.

도시되지는 않았으나, 이미지에 관련된 데이터 이외에도 오디오에 관한 데이터가 수신 장치로 송신될 수 있다.Although not shown, in addition to data related to images, data related to audio may be transmitted to the receiving device.

팩킹된 2D 이미지 및 오프셋을 전송할 때, 미스드 포인트의 오프셋은 전송하지 않을 수 있다. 앞서 설명한 바와 같이 프로젝션을 반복할수록 프로젝션 이미지는 인접한 포인트와의 거리가 임계 값 이상인 미스드 포인트를 포함할 수 있다. 이러한 미스드 포인트의 오프셋을 도 5의 오프셋과 같이 별도로 인코딩하여 전송할 수도 있으나, 보다 전송량을 감축할 수 있는 방법이 필요할 수 있다. 이 때, 미스드 포인트의 오프셋을 전송하지 않고 보다 작은 데이터를 갖는 미스드 포인트의 오프셋에 대한 정보를 전송함으로써 데이터 전송 량을 감축할 수 있다.When the packed 2D image and offset are transmitted, the offset of the miss point may not be transmitted. As described above, as projection is repeated, the projected image may include a miss point whose distance to an adjacent point is greater than or equal to a threshold value. The offset of the miss point may be separately encoded and transmitted as in the offset of FIG. 5, but a method capable of reducing the transmission amount may be needed. At this time, the amount of data transmission can be reduced by transmitting information on the offset of the miss point having smaller data instead of transmitting the offset of the miss point.

이하, 도 6을 참고하여 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명한다.Hereinafter, a method of transmitting information about an offset of a miss point will be described with reference to FIG. 6 .

도 6을 보면, 예를 들어 제1 XY(XY0)평면에 첫 번째로 프로젝션한 프로젝션 이미지의 오브젝트를 제1 패치(600), 제1 XY(XY0)평면에 두 번째로 프로젝션한 프로젝션 이미지의 오브젝트를 제2 패치(601), 제1 XY(XY0)평면에 세 번째로 프로젝션한 프로젝션 이미지의 오브젝트를 제3 패치(602)라고 할 수 있다. 제3 패치(602)는 미스드 포인트들(603, 604, 605, 606, 607)을 포함한다고 가정한다.Referring to FIG. 6, for example, the object of the projection image first projected on the first XY (XY0) plane is the first patch 600, the object of the second projection image projected on the first XY (XY0) plane The second patch 601 and the third patch 602 may be an object of a projection image obtained by third projection on the first XY (XY0) plane. It is assumed that the third patch 602 includes miss points 603 , 604 , 605 , 606 , and 607 .

이때, 미스드 포인트들(603, 604, 605, 606, 607) 각각의 오프셋은 제1 패치(600)의 제1 중점(C1)의 제1 오프셋 값(offset_1), 제1 중점(C1)과의 거리(α1), 제2 패치(601)의 제2 중점(C2)의 제2 오프셋 값(offset_2), 그리고 제2 중점(C2)과의 거리(β1)를 고려하여 추정될 수 있다. 여기서 중점이란 패치의 무게 중심일 수 있다.At this time, the offset of each of the miss points 603, 604, 605, 606, and 607 is the first offset value (offset_1) of the first midpoint C1 of the first patch 600, the first midpoint C1 and It can be estimated by considering the distance α1 of the second patch 601, the second offset value offset_2 of the second midpoint C2 of the second patch 601, and the distance β1 from the second midpoint C2. Here, the midpoint may be the center of gravity of the patch.

구체적으로 제1 미스드 포인트(603)를 예로 들면, 제1 패치(600)의 제1 중점(C1)의 제1 오프셋 값(offset_1), 제1 미스드 포인트(603)와 제1 중점(C1)과의 거리(α1), 제2 패치(601)의 제2 중점(C2)의 제2 오프셋 값(offset_2), 그리고 제1 미스드 포인트(603)와 제2 중점(C2)과의 거리(β1)를 고려하여 [수학식 1]과 같이 거리에 반비례하는 웨이트(weight)를 기반으로 한 가중 평균(est_mp_offset_1)을 계산할 수 있고 이를 제1 미스드 포인트(603)의 오프 셋으로 추정할 수 있다.Specifically, taking the first miss point 603 as an example, the first offset value offset_1 of the first midpoint C1 of the first patch 600, the first miss point 603 and the first midpoint C1 ), the second offset value (offset_2) of the second midpoint C2 of the second patch 601, and the distance between the first miss point 603 and the second midpoint C2 ( β1), a weighted average (est_mp_offset_1) based on a weight that is inversely proportional to the distance can be calculated as shown in [Equation 1], and this can be estimated as the offset of the first miss point 603. .

Figure 112018038161765-pat00001
Figure 112018038161765-pat00001

이 경우 제1 미스드 포인트(603)의 오프셋은 전송할 필요가 없으며, 전송하지 않는 제1 미스드 포인트(603)의 오프셋 데이터 량만큼 데이터 전송 량을 감축할 수 있다. 제1 미스드 포인트(603)의 오프셋을 추정하는 과정은 전송된 데이터를 수신한 장치에서 수행될 수 있다.In this case, the offset of the first miss point 603 does not need to be transmitted, and the data transmission amount can be reduced by the amount of offset data of the first miss point 603 that is not transmitted. The process of estimating the offset of the first miss point 603 may be performed by the device receiving the transmitted data.

이 경우, 제1 미스드 포인트(603)의 오프셋을 전송하는 대신 제1 패치(600) 중점(C1)의 좌표 및 제2 패치(601) 중점(C2)의 좌표에 대한 정보를 전송할 수 있다. 또는, 제1 미스드 포인트(603)의 오프셋을 전송하는 대신 제1 미스드 포인트(603)와 제1 패치(600)의 중점(C1)과의 거리(α1) 및 제 미스드 포인트(603)와 제2 패치(601)의 중점(C2)과의 거리(β1)에 대한 정보를 전송할 수 있다. 또한, 패치의 중점의 좌표 및 미스드 포인트와 패치의 중점과의 거리를 모두 전송할 수도 있다.In this case, instead of transmitting the offset of the first miss point 603, information on the coordinates of the midpoint C1 of the first patch 600 and the coordinates of the midpoint C2 of the second patch 601 may be transmitted. Alternatively, instead of transmitting the offset of the first miss point 603, the distance α1 between the first miss point 603 and the midpoint C1 of the first patch 600 and the miss point 603 Information on the distance β1 between the y and the midpoint C2 of the second patch 601 may be transmitted. In addition, both the coordinates of the midpoint of the patch and the distance between the miss point and the midpoint of the patch may be transmitted.

또한, 제1 패치(600)의 제1 중점(C1)의 제1 오프셋 값(offset_1) 및 제2 패치(601)의 제2 중점(C2)의 제2 오프셋 값(offset_2)에 대한 정보를 전송할 수 있다.In addition, information on the first offset value (offset_1) of the first midpoint (C1) of the first patch (600) and the second offset value (offset_2) of the second midpoint (C2) of the second patch (601) is transmitted. can

수신 장치는 상기 미스드 포인트에 대한 정보를 수신하여 제1 미스드 포인트(603)의 오프셋을 추정할 수 있다.The receiving device may estimate the offset of the first miss point 603 by receiving the information on the miss point.

미스드 포인트의 오프셋 추정 방법에 대하여는 데이터 전송 시 추정 모드를 표시하여 송신 장치가 제공할 수도 있고, 수신 장치가 수신된 정보에 기반하여 추정 모드를 선택할 수도 있다.Regarding the method of estimating the offset of the miss point, the estimation mode may be displayed and provided by the transmitting device during data transmission, or the receiving device may select the estimation mode based on received information.

제2 미스드 포인트(604), 제3 미스드 포인트(605)?? 등의 오프셋 추정도 마찬가지의 방법으로 수행될 수 있다. 즉, 제2 미스드 포인트(604)를 예로 들면, 제2 미스드 포인트(604)와 제1 패치(600) 중점(C1)과의 거리(α2) 및 제2 미스드 포인트(604)와 제2 패치(601) 중점(C2)과의 거리(β2)에 대한 정보를 추가로 전송할 수 있고, 수신 장치는 상기 정보를 수신하여 제2 미스드 포인트(604)의 오프셋을 추정할 수 있다.2nd miss point 604, 3rd miss point 605?? Offset estimation of the like can be performed in the same way. That is, taking the second miss point 604 as an example, the distance α2 between the second miss point 604 and the midpoint C1 of the first patch 600 and the second miss point 604 and the second miss point 604 Information on the distance β2 from the midpoint C2 of the two-patch 601 can be additionally transmitted, and the receiving device can estimate the offset of the second miss point 604 by receiving the information.

도 6은 제1 패치(600) 및 제2 패치(601)의 2개의 패치를 기반으로 미스드 포인트의 오프셋을 추정하는 경우를 도시하였으나, 패치의 개수는 이에 한정되지 않는다. 제1 미스드 포인트에 인접한 패치의 개수가 n개인 경우, [수학식 2]와 같이 가중 평균(est_mp_offset_1)을 계산할 수 있고 이를 제1 미스드 포인트의 오프셋으로 추정할 수 있다.6 illustrates a case of estimating an offset of a miss point based on two patches, a first patch 600 and a second patch 601, but the number of patches is not limited thereto. When the number of patches adjacent to the first miss point is n, a weighted average (est_mp_offset_1) can be calculated as shown in [Equation 2], and this can be estimated as an offset of the first miss point.

Figure 112018038161765-pat00002
Figure 112018038161765-pat00002

[수학식 2]에서 offset(i)는 제i 패치의 중점의 오프셋이고, distance(i)는 제i 패치의 중점과 제1 미스드 포인트 간의 거리이고, distance(k)는 제k 패치의 중점과 제1 미스드 포인트 간의 거리이다.In [Equation 2], offset(i) is the offset of the midpoint of the ith patch, distance(i) is the distance between the midpoint of the ith patch and the first miss point, and distance(k) is the midpoint of the kth patch. is the distance between and the first miss point.

이 경우에도 마찬가지로 송신 장치는 패치의 중점 좌표, 미스드 포인트와 패치의 중점과의 거리 및 패치의 중점의 오프셋 중 적어도 하나를 포함하는 미스드 포인트의 오프셋에 대한 정보를 전송할 수 있고, 수신 장치는 이를 기반으로 미스드 포인트의 오프셋 추정할 수 있다.Similarly in this case, the transmitting device may transmit information about the offset of the miss point including at least one of coordinates of the midpoint of the patch, a distance between the miss point and the midpoint of the patch, and an offset of the midpoint of the patch, and the receiving device may transmit Based on this, the offset of the miss point can be estimated.

이하, 도 7을 참고하여 본 개시의 일 실시 예에 따른 포인트 클라우드에 관한 데이터를 처리하기 위한 방법을 설명한다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.Hereinafter, a method for processing data about a point cloud according to an embodiment of the present disclosure will be described with reference to FIG. 7 . Descriptions of the same parts as in the above-described embodiment are omitted.

도 7은 본 개시의 일 실시 예에 따른 프로젝션 이미지의 미스드 포인트의 오프셋을 추정하는 방법을 나타낸 순서도이다.7 is a flowchart illustrating a method of estimating an offset of a miss point of a projection image according to an embodiment of the present disclosure.

수신 장치는 수신한 데이터를 디코딩한다(700). 디코딩된 데이터에는 팩킹된 2D 이미지, 미스드 포인트를 제외한 포인트의 오프셋, 미스드 포인트의 오프셋에 대한 정보가 포함될 수 있다.The receiving device decodes the received data (700). The decoded data may include a packed 2D image, offsets of points excluding miss points, and information on offsets of miss points.

수신 장치는 팩킹된 2D 이미지의 팩킹 해제(unpacking)을 수행하여 프로젝션 이미지들을 복원할 수 있다. 팩킹 해제는 송신 장치에서 수행된 팩킹 방법의 역 변환일 수 있다. 이를 위해 팩킹 방법에 대하여 송신 장치와 수신 장치는 미리 공유할 수 있다.The receiving device may restore the projection images by unpacking the packed 2D image. Unpacking may be an inverse transformation of a packing method performed by a transmitting device. To this end, the transmitting device and the receiving device may share a packing method in advance.

수신 장치는 복원된 프로젝션 이미지들에서 미스드 포인트를 식별할 수 있다. 수신 장치는 프로젝션 이미지들에 포함된 포인트의 플래그를 확인하여(701) 미스드 포인트가 아닐 경우 다음 포인트로 이동하고(702), 미스드 포인트인 경우 N개의 패치를 식별할 수 있다(703). 이때 N개의 패치는 미스드 포인트와 인접한 패치일 수 있다. The receiving device may identify a miss point in the restored projection images. The receiving device checks the flag of the point included in the projection images (701), moves to the next point if it is not a miss point (702), and identifies N patches if it is a miss point (703). In this case, the N patches may be patches adjacent to the miss point.

다음으로, 수신 장치는 디코딩된 데이터에 포함된 N개의 패치의 중점과 미스드 포인트와의 거리를 식별하거나, 수신한 데이터에 포함된 N개의 패치의 중점의 좌표를 식별하여 N개의 패치의 중점과 미스드 포인트와의 거리를 계산할 수 있다. 수신 장치는 이를 기반으로 N개의 패치의 오프셋의 가중 평균을 [수학식 2]와 같이 계산할 수 있다(704).Next, the receiving device identifies the distance between the midpoint of the N patches included in the decoded data and the miss point, or identifies the coordinates of the midpoint of the N patches included in the received data to determine the midpoint of the N patches and the distance between the miss points. The distance to the miss point can be calculated. Based on this, the receiving device may calculate a weighted average of the offsets of the N patches as shown in [Equation 2] (704).

수신 장치는 계산된 가중 평균 값을 미스드 포인트의 오프셋으로 추정할 수 있다(705). 식별된 복수의 미스드 포인트 각각에 대하여 동일한 방법으로 오프셋을 추정할 수 있다.The receiving device may estimate the calculated weighted average value as an offset of the miss point (705). An offset may be estimated using the same method for each of the identified plurality of miss points.

수신 장치는 팩킹 해제된 복수의 프로젝션 이미지들을 3D 이미지로 프로젝션 처리할 수 있다. 2D 프로젝션 이미지를 3D 이미지로 프로젝션하기 위해 송신 장치에서 사용된 프로젝션의 역의 프로젝션을 사용할 수 있으나, 반드시 이에 한정되는 것은 아니다.The receiving device may project the plurality of unpacked projection images into a 3D image. In order to project a 2D projection image into a 3D image, a projection inverse of the projection used in the transmitting device may be used, but is not necessarily limited thereto.

수신 장치는 복수의 프로젝션 이미지들을 3D 이미지로 프로젝션 처리한 데이터와, 미스드 포인트를 제외한 포인트의 오프셋, 추정된 미스드 포인트의 오프셋을 기반으로 3D 데이터를 복원할 수 있다.The receiving device may restore 3D data based on data obtained by projecting a plurality of projection images into a 3D image, offsets of points excluding the miss points, and estimated offsets of the miss points.

이하, 도 6 및 도 8을 참고하여 본 개시의 일 실시 예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명한다. 앞서 설명한 실시 예와 동일한 내용은 설명을 생략한다.Hereinafter, a method of transmitting information about an offset of a miss point according to an embodiment of the present disclosure will be described with reference to FIGS. 6 and 8 . Descriptions of the same contents as in the above-described embodiment are omitted.

도 8은 본 개시의 일 실시 예에 따른 포인트 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 나타낸 순서도이다.8 is a flowchart illustrating a method of transmitting information about an offset of a missed point according to points according to an embodiment of the present disclosure.

송신 장치는 미스드 포인트의 오프셋을 전송하지 않고 미스드 포인트의 오프셋에 대한 정보를 전송할 수 있다. 먼저, 송신 장치는 프로젝션 이미지에 포함된 포인트가 미스드 포인트에 해당하는지 판단할 수 있다(800). 상술한 바와 같이 미스드 포인트에 해당 여부 판단은 다른 포인트와의 거리가 임계 값 이상인지 여부로 판단할 수 있다.The transmitting device may transmit information about the offset of the miss point without transmitting the offset of the miss point. First, the transmitting device may determine whether a point included in the projection image corresponds to a miss point (800). As described above, whether a point corresponds to a miss point may be determined by determining whether a distance to another point is equal to or greater than a threshold value.

미스드 포인트가 아닌 경우 다음 포인트로 이동하고(801), 미스드 포인트인 경우 미스드 포인트에 해당함을 플래그로 설정할 수 있다(802).If it is not a miss point, it moves to the next point (801).

다음으로 미스드 포인트에 가장 가까운 패치를 식별할 수 있다(803). 도 6을 예로 들면, 제1 미스드 포인트(603)에 대하여 제2 패치(601)을 가장 가까운 패치로 식별할 수 있다.Next, a patch closest to the miss point can be identified (803). Referring to FIG. 6 as an example, the second patch 601 may be identified as the closest patch to the first miss point 603 .

다음으로 가장 가까운 패치의 오프셋을 식별하고(804), 가장 가까운 패치의 오프셋과 미스드 포인트의 오프셋의 차이 값을 계산할 수 있다(805). 예를 들어 제2 패치(601)의 제2 중점(C2)의 제2 오프 셋(offset_2)을 식별하고, 제1 미스드 포인트(603)의 오프 셋(mp_offset_1)과 제2 패치(601)의 제2 중점(C2)의 제2 오프 셋(offset_2)의 차이 값(delta_1)을 계산할 수 있다.Next, the offset of the nearest patch is identified (804), and the difference between the offset of the nearest patch and the offset of the miss point can be calculated (805). For example, the second offset (offset_2) of the second midpoint (C2) of the second patch (601) is identified, and the offset (mp_offset_1) of the first miss point (603) and the second patch (601) A difference value (delta_1) of the second offset (offset_2) of the second midpoint (C2) may be calculated.

송신 장치는 계산된 차이 값(delta_1)을 포함하는 미스드 포인트의 오프셋에 대한 정보를 인코딩하여 전송할 수 있다(806). 미스드 포인트의 오프셋에 대한 정보에는 제2 중점(C2)의 제2 오프 셋(offset_2) 값이 포함될 수 있다.The transmitting device may encode and transmit information about the offset of the miss point including the calculated difference value (delta_1) (806). The information on the offset of the miss point may include the value of the second offset (offset_2) of the second midpoint C2.

이하, 도 6 및 도 9를 참고하여 본 개시의 일 실시 예에 따른 미스드 포인트의 오프셋을 추정하는 방법을 설명한다. 앞서 설명한 실시 예와 동일한 내용은 설명을 생략한다.Hereinafter, a method of estimating an offset of a miss point according to an embodiment of the present disclosure will be described with reference to FIGS. 6 and 9 . Descriptions of the same contents as in the above-described embodiment are omitted.

도 9는 본 개시의 일 실시 예에 따른 미스드 포인트의 오프셋을 추정하는 방법을 나타낸 순서도이다.9 is a flowchart illustrating a method of estimating an offset of a miss point according to an embodiment of the present disclosure.

수신 장치는 수신한 데이터를 디코딩한다(900). 수신한 데이터에는 미스드 포인트의 오프셋에 대한 정보가 포함된다.The receiving device decodes the received data (900). The received data includes information about the offset of the miss point.

수신 장치는 플래그를 확인하여 미스드 포인트인지 확인할 수 있다(901). 미스드 포인트가 아닐 경우 다음 포인트로 이동하고(902), 미스드 포인트일 경우 가장 가까운 패치를 식별할 수 있다(903). 도 6을 예로 들면, 제1 미스드 포인트(603)에 대하여 제2 패치(601)을 가장 가까운 패치로 식별할 수 있다.The receiving device may check the flag to determine whether it is a miss point (901). If it is not a miss point, it moves to the next point (902), and if it is a miss point, the nearest patch can be identified (903). Referring to FIG. 6 as an example, the second patch 601 may be identified as the closest patch to the first miss point 603 .

다음으로, 수신 장치는 수신한 데이터에서 가장 가까운 패치의 오프셋을 식별할 수 있다(904). 예를 들어 수신한 데이터에서 제2 패치(601)의 제2 중점(C2)의 제2 오프셋(offset_2)을 식별할 수 있다.Next, the receiving device may identify an offset of a patch closest to the received data (904). For example, a second offset (offset_2) of the second midpoint C2 of the second patch 601 may be identified from the received data.

수신 장치는 수신한 데이터에서 미스드 포인트에 대응되는 차이 값을 식별할 수 있다(905). 예를 들어 제1 미스드 포인트(603)인 경우, 제1 미스드 포인트(603)의 오프셋(mp_offset_1)과 제2 패치(601)의 제2 중점(C2)의 제2 오프셋(offset_2)의 차이 값(delta_1)을 제1 미스드 포인트에 대응되는 차이 값으로 식별할 수 있다.The receiving device may identify a difference value corresponding to a miss point in the received data (905). For example, in the case of the first miss point 603, the difference between the offset (mp_offset_1) of the first miss point 603 and the second offset (offset_2) of the second midpoint (C2) of the second patch 601 The value delta_1 may be identified as a difference value corresponding to the first miss point.

다음으로, 가장 가까운 패치의 오프셋과 미스드 포인트에 대응되는 차이 값을 기반으로 미스드 포인트의 오프셋을 계산할 수 있다(906). 예를 들어, 수신 장치는 제1 미스드 포인트(603)에 대응하는 차이 값(delta_1) 및 제2 패치(601)의 제2 중점(C2)의 제2 오프셋(offset_2)을 기반으로 제1 미스드 포인트(603)의 오프셋을 계산할 수 있다. 이렇게 계산된 오프셋을 제1 미스드 포인트(603)의 오프셋으로 추정할 수 있다.Next, the offset of the miss point may be calculated based on the difference between the offset of the nearest patch and the miss point (906). For example, the receiving device determines the first miss based on the difference value delta_1 corresponding to the first miss point 603 and the second offset_2 of the second midpoint C2 of the second patch 601. The offset of the de point 603 can be calculated. The offset thus calculated can be estimated as the offset of the first miss point 603 .

이 경우, 예를 들어 제1 미스드 포인트(602)의 실제 오프 셋(mp_offset_1)의 값이 0~255범위라면 실제 오프 셋(mp_offset_1)의 값보다 작은 0~100범위의 차이 값(delta_1)만 전송하면 되므로 데이터 전송 량을 감축할 수 있다.In this case, for example, if the value of the actual offset (mp_offset_1) of the first miss point 602 is in the range of 0 to 255, only the difference value (delta_1) in the range of 0 to 100 is smaller than the value of the actual offset (mp_offset_1). transmission, so the amount of data transmission can be reduced.

제2 미스드 포인트(603), 제3 미스드 포인트(604)... 등의 오프셋 추정도 마찬가지의 방법으로 수행될 수 있다.Offset estimation of the second miss point 603, the third miss point 604, etc. may be performed in the same way.

이하, 도 10을 참고하여 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법 및 이를 기반으로 미스드 포인트의 오프셋을 추정하는 방법을 설명한다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.Hereinafter, a method of transmitting information about an offset of a miss point according to an embodiment of the present disclosure and a method of estimating an offset of a miss point based thereon will be described with reference to FIG. 10 . Descriptions of the same parts as in the above-described embodiment are omitted.

도 10은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.10 is a diagram for explaining a method of transmitting information about an offset of a miss point according to an embodiment of the present disclosure.

도 10의 복수의 그룹(Group A, Group B, Group C, Group D)은 복수의 미스드 포인트들을 그룹핑(grouping)한 것이다. 복수의 미스드 포인트들의 오프셋을 전송하는 대신 도 10과 같이 복수의 미스드 포인트들을 그룹핑(grouping)하여 각 그룹의 대표 오프셋 및 그룹 식별자(identifier)를 전송할 수 있다.A plurality of groups (Group A, Group B, Group C, and Group D) in FIG. 10 is a grouping of a plurality of miss points. Instead of transmitting offsets of a plurality of miss points, a plurality of miss points may be grouped and a representative offset and group identifier of each group may be transmitted as shown in FIG. 10 .

이 때, 복수의 미스드 포인트들은 다양한 기준에 의해 그룹핑될 수 있다. 일 예시로, 하나의 미스드 포인트의 오프셋을 기준으로 오프셋 값이 동일 또는 유사한 미스드 포인트들을 하나의 그룹으로 그룹핑할 수 있다. 여기서 오프셋 값이 유사하다는 것은 오프셋 간의 차이가 일정한 임계 값 이하인 경우일 수 있다.In this case, the plurality of miss points may be grouped according to various criteria. As an example, based on the offset of one miss point, miss points having the same or similar offset values may be grouped into one group. Here, that the offset values are similar may be a case where a difference between the offsets is equal to or less than a predetermined threshold value.

일 예시로 미스드 포인트들의 오프셋의 벡터 간의 각도 차이 값이 임계 값 이하일 경우 하나의 그룹으로 그룹핑될 수 있다. 예를 들어 제1 미스드 포인트의 오프셋의 벡터가 a=(a1, a2, ..., an)이고 제2 미스드 포인트의 오프셋의 벡터가 b=(b1, b2, ..., bn)일 때, [수학식 3]으로 계산되는 제1 미스드 포인트의 오프셋의 벡터(a)와 제2 미스드 포인트의 오프셋의 벡터(b)의 각도 차이 값(cosθ)이 임계 값 이하일 경우, 제1 미스드 포인트의 오프셋의 벡터와 제2 미스드 포인트의 오프셋의 벡터는 하나의 그룹으로 그룹핑될 수 있다.As an example, if the angle difference value between offset vectors of the miss points is less than or equal to a threshold value, they may be grouped into one group. For example, the offset vector of the first miss point is a = (a1, a2, ..., an) and the offset vector of the second miss point is b = (b1, b2, ..., bn) When the angle difference value (cosθ) between the vector (a) of the offset of the first miss point and the vector (b) of the offset of the second miss point calculated by [Equation 3] is less than or equal to the threshold value, The offset vector of the 1st miss point and the offset vector of the 2nd miss point may be grouped into one group.

Figure 112018038161765-pat00003
Figure 112018038161765-pat00003

또는 하나의 미스드 포인트를 기준으로 일정 영역 이내의 미스드 포인트들을 하나의 그룹으로 그룹핑할 수 있다. 또는 미스드 포인트들 간의 인접 여부 및 오프셋의 유사도를 모두 고려하여 그룹핑할 수도 있다.Alternatively, based on one miss point, miss points within a certain area may be grouped into one group. Alternatively, the miss points may be grouped considering both the proximity and the similarity of the offsets between the miss points.

이 경우, 각 그룹 식별자 및 각 그룹의 대표 오프셋을 수신기에게 전송하면 되기 때문에 모든 미스드 포인트의 오프셋을 전송하는 경우 보다 데이터 전송 량을 감축할 수 있다. In this case, since each group identifier and the representative offset of each group need only be transmitted to the receiver, the amount of data transmission can be reduced compared to the case where offsets of all miss points are transmitted.

수신 장치는 해당 그룹에 포함되는 미스드 포인트들의 오프셋들을 해당 그룹의 대표 오프셋과 동일하다고 추정할 수 있다.The receiving device may estimate that the offsets of the miss points included in the corresponding group are the same as the representative offset of the corresponding group.

이하, 도 11을 참고하여 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법 및 이를 기반으로 미스드 포인트의 오프셋을 추정하는 방법을 설명한다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.Hereinafter, a method of transmitting information about an offset of a miss point according to an embodiment of the present disclosure and a method of estimating an offset of a miss point based thereon will be described with reference to FIG. 11 . Descriptions of the same parts as in the above-described embodiment are omitted.

도 11은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.11 is a diagram for explaining a method of transmitting information about an offset of a miss point according to an embodiment of the present disclosure.

복수의 미스드 포인트들의 오프셋을 전송하는 대신, 도 11과 같이 복수의 미스드 포인트들을 그룹핑(grouping)하여 대표 그룹의 그룹 식별자 및 대표 그룹의 대표 오프셋을 수신기에게 전송할 수 있다. 또한, 대표 그룹의 오프셋과 대표 그룹 외의 다른 그룹의 대표 오프셋의 차이 값을 수신기에게 전송할 수 있다.Instead of transmitting the offsets of a plurality of miss points, a plurality of miss points may be grouped as shown in FIG. 11 and a group identifier of a representative group and a representative offset of the representative group may be transmitted to the receiver. In addition, a difference value between an offset of the representative group and a representative offset of a group other than the representative group may be transmitted to the receiver.

예를 들어, 복수의 그룹들(Group A, Group B, Group C, Group D)을 오프셋의 크기 순으로 정렬하여 가장 큰 오프셋을 갖는 그룹을 대표 그룹으로 정할 수 있다. For example, a plurality of groups (Group A, Group B, Group C, and Group D) may be arranged in order of offset size, and a group having the largest offset may be determined as a representative group.

제1 그룹(Group A)을 대표 그룹으로 가정하면, 제1 그룹(Group A)의 그룹 식별자와 제1 그룹(Group A)의 대표 오프셋을 전송할 수 있다. 또한, 제1 그룹(Group A)의 대표 오프 셋과 제2 그룹(Group B)의 대표 오프 셋의 차이 값(delta AB)을 계산하고, 제2 그룹(Group B)의 대표 오프 셋과 제3 그룹(Group C)의 대표 오프 셋의 차이 값(delta BC)을 계산하고, 제3 그룹(Group C)의 대표 오프 셋과 제4 그룹(Group D)의 대표 오프 셋의 차이 값(delta CD)을 계산하여 이러한 차이 값들을 전송할 수 있다.Assuming that the first group (Group A) is a representative group, a group identifier of the first group (Group A) and a representative offset of the first group (Group A) may be transmitted. In addition, a difference value (delta AB) between the representative offset of the first group (Group A) and the representative offset of the second group (Group B) is calculated, and the representative offset of the second group (Group B) and the representative offset of the third group (Group B) are calculated. Calculate the difference value (delta BC) between the representative offsets of the group (Group C), and calculate the difference value (delta CD) between the representative offsets of the third group (Group C) and the representative offsets of the fourth group (Group D) It is possible to transmit these difference values by calculating .

이 경우, 각 그룹의 그룹 식별자, 대표 그룹의 대표 오프셋 및 그룹들의 대표 오프셋들 간의 차이 값들을 전송하면 되기 때문에 모든 미스드 포인트의 오프셋을 전송할 때 보다 데이터 전송 량을 감축할 수 있다. 또한, 이러한 대표 오프셋들 간의 차이 값 계산이 반복될수록 차이 값들의 크기는 작아질 수 있기 때문에 데이터 전송량 감축이 증가될 수 있다.In this case, since the group identifier of each group, the representative offset of the representative group, and the difference values between the representative offsets of the groups need only be transmitted, the amount of data transmission can be reduced compared to the case of transmitting the offsets of all miss points. In addition, as the calculation of the difference value between these representative offsets is repeated, the size of the difference values can be reduced, so the data transmission amount can be reduced.

수신 장치는 수신한 대표 그룹의 대표 오프셋 및 대표 오프셋들 간의 차이 값들을 기반으로 계산하여 복수의 그룹들 각각의 대표 오프셋을 추정할 수 있다. 수신 장치는 해당 그룹에 포함되는 미스드 포인트들의 오프 셋들을 해당 그룹의 추정된 대표 오프 셋과 동일하다고 추정할 수 있다.The receiving device may estimate the representative offset of each of the plurality of groups by calculating based on the received representative offset of the representative group and difference values between the representative offsets. The receiving device may estimate that the offsets of the miss points included in the corresponding group are the same as the estimated representative offset of the corresponding group.

이하, 도 12 및 도 13을 참고하여 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명한다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.Hereinafter, a method of transmitting information about an offset of a miss point according to an embodiment of the present disclosure will be described with reference to FIGS. 12 and 13 . Descriptions of the same parts as in the above-described embodiment are omitted.

도 12는, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 나타낸 순서도이다. 도 13은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.12 is a flowchart illustrating a method of transmitting information about an offset of a miss point according to an embodiment of the present disclosure. 13 is a diagram for explaining a method of transmitting information about an offset of a miss point according to an embodiment of the present disclosure.

송신 장치는 미스드 포인트의 오프셋을 전송하지 않고 미스드 포인트의 오프셋에 대한 정보를 전송할 수 있다. 먼저, 송신 장치는 포인트가 미스드 포인트에 해당하는지 판단할 수 있다(1200). 미스드 포인트가 아닌 경우 다음 포인트로 이동하고(1201), 미스드 포인트인 경우 미스드 포인트에 해당함을 플래그로 설정할 수 있다(1202).The transmitting device may transmit information about the offset of the miss point without transmitting the offset of the miss point. First, the transmitting device may determine whether a point corresponds to a miss point (1200). If it is not a miss point, it moves to the next point (1201), and if it is a miss point, it is possible to set a flag indicating that it corresponds to a miss point (1202).

다음으로 미스드 포인트들을 그룹핑할 수 있고(1203), 미스드 포인트 그룹들 각각의 대표 오프셋을 결정할 수 있다(1204). 도 13을 예로 들면, 복수의 미스드 포인트들을 복수의 그룹들(Group A, Group B, Group C, Group D)로 그룹핑할 수 있고, 복수의 그룹들(Group A, Group B, Group C, Group D) 각각의 대표 오프셋을 결정할 수 있다.Next, miss points may be grouped (1203), and a representative offset of each of the miss point groups may be determined (1204). 13 as an example, a plurality of miss points can be grouped into a plurality of groups (Group A, Group B, Group C, Group D), and a plurality of groups (Group A, Group B, Group C, Group D). D) Each representative offset can be determined.

다음으로 복수의 그룹들 중 대표 그룹을 결정할 수 있다(1205). 예를 들어, 복수의 그룹들(Group A, Group B, Group C, Group D)을 오프셋의 크기 순으로 정렬하여 가장 큰 오프셋을 갖는 그룹을 대표 그룹으로 정할 수 있다.Next, a representative group may be determined from among a plurality of groups (1205). For example, a plurality of groups (Group A, Group B, Group C, and Group D) may be arranged in order of offset size, and a group having the largest offset may be determined as a representative group.

다음으로 대표 그룹의 대표 오프셋과 다른 그룹의 대표 오프셋 간의 차이 값을 계산할 수 있다(1206). 제1 그룹(Group A)을 대표 그룹으로 가정하면, 제1 그룹(Group A)의 대표 오프셋과 제2 그룹(Group B)의 대표 오프셋의 차이 값(delta AB)을 계산하고, 제1 그룹(Group A)의 대표 오프셋과 제3 그룹(Group C)의 대표 오프셋의 차이 값(delta AC)을 계산하고, 제1 그룹(Group A)의 대표 오프셋과 제4 그룹(Group D)의 대표 오프셋의 차이 값(delta AD)을 계산할 수 있다.Next, a difference value between a representative offset of a representative group and a representative offset of another group may be calculated (1206). Assuming that the first group (Group A) is a representative group, a difference value (delta AB) between a representative offset of the first group (Group A) and a representative offset of the second group (Group B) is calculated, and the first group ( A difference value (delta AC) between the representative offset of Group A) and the representative offset of the third group (Group C) is calculated, and the representative offset of the first group (Group A) and the representative offset of the fourth group (Group D) is calculated. The difference value (delta AD) can be calculated.

송신 장치는 각 그룹의 그룹 식별자, 대표 그룹의 대표 오프셋 및 그룹들의 대표 오프 셋들 간의 차이 값들을 인코딩하여 전송할 수 있다(1207). 예를 들어 송신 장치는 복수의 그룹들(Group A, Group B, Group C, Group D) 각각의 그룹 아이디, 제1 그룹(Group A)의 대표 오프셋 및 대표 오프셋들 간의 차이 값(delta AB, delta AC, delta AD)을 전송할 수 있다.The transmitting device may encode and transmit a group identifier of each group, a representative offset of a representative group, and difference values between representative offsets of groups (1207). For example, the transmitting device includes a group ID of each of a plurality of groups (Group A, Group B, Group C, and Group D), a representative offset of the first group (Group A), and a difference between the representative offsets (delta AB, delta AC, delta AD) can be transmitted.

이 경우, 각 그룹의 그룹 식별자, 대표 그룹의 대표 오프셋 및 그룹들의 대표 오프셋들 간의 차이 값들을 전송하면 되기 때문에 모든 미스드 포인트의 오프셋을 전송할 때 보다 데이터 전송 량을 감축할 수 있다.In this case, since the group identifier of each group, the representative offset of the representative group, and the difference values between the representative offsets of the groups need only be transmitted, the amount of data transmission can be reduced compared to the case of transmitting the offsets of all miss points.

이하, 도 13 및 도 14를 참고하여 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋을 추정하는 방법을 설명한다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.Hereinafter, a method of estimating an offset of a miss point according to an embodiment of the present disclosure will be described with reference to FIGS. 13 and 14 . Descriptions of the same parts as in the above-described embodiment are omitted.

도 14는, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 추정하는 방법을 나타낸 순서도이다.14 is a flowchart illustrating a method of estimating information about an offset of a miss point according to an embodiment of the present disclosure.

수신 장치는 수신한 데이터를 디코딩한다(1400). 수신한 데이터에는 미스드 포인트의 오프셋에 대한 정보가 포함된다.The receiving device decodes the received data (1400). The received data includes information about the offset of the miss point.

수신 장치는 플래그를 확인하여 미스드 포인트인지 확인할 수 있다(1401). 미스드 포인트가 아닐 경우 다음 포인트로 이동하고(1402), 미스드 포인트일 경우 미스드 포인트가 포함된 그룹의 그룹 식별자를 식별할 수 있다(1403). 예를 들어, 미스드 포인트가 제3 그룹(Group C)에 포함되어 있는 경우 제3 그룹(Group C)의 그룹 식별자를 식별할 수 있다.The receiving device may check the flag to determine whether it is a miss point (1401). If it is not a miss point, it moves to the next point (1402), and if it is a miss point, a group identifier of a group including the miss point may be identified (1403). For example, when the miss point is included in the third group (Group C), a group identifier of the third group (Group C) may be identified.

다음으로 미스드 포인트가 포함된 그룹에 대응되는 차이 값을 식별할 수 있다. 예를 들어, 제3 그룹(Group C)에 대응되는 차이 값으로 차이 값(delta AC)를 식별할 수 있다.Next, a difference value corresponding to a group including a miss point may be identified. For example, the difference value delta AC may be identified as a difference value corresponding to the third group (Group C).

수신 장치는 대표 그룹의 대표 오프셋을 식별하여 미스드 포인트가 포함된 그룹의 대표 오프셋을 계산할 수 있다(1405). 예를 들어, 대표 그룹인 제1 그룹(Group A)의 대표 오프셋과 미스드 포인트가 포함된 제3 그룹(Group C)에 대응되는 차이 값(delta AC)을 기반으로 제3 그룹(Group C)의 대표 오프셋을 계산할 수 있다. 수신 장치는 이렇게 계산된 제3 그룹(Group C)의 대표 오프셋을 제3 그룹(Group C)에 포함된 미스드 포인트의 오프셋으로 추정할 수 있다.The receiving device may identify the representative offset of the representative group and calculate the representative offset of the group including the miss point (1405). For example, based on the representative offset of the first group (Group A), which is the representative group, and the difference value (delta AC) corresponding to the third group (Group C) including the miss point, the third group (Group C) A representative offset of can be calculated. The receiving device may estimate the calculated representative offset of the third group (Group C) as an offset of a miss point included in the third group (Group C).

상술한 본 개시에 따른 실시 예들을 수행하는데 하기 [표 1] 내지 [표 5]와 같은 구문(syntax)이 사용될 수 있다.Syntax such as the following [Table 1] to [Table 5] may be used to perform the embodiments according to the present disclosure described above.

Figure 112018038161765-pat00004
Figure 112018038161765-pat00004

Figure 112018038161765-pat00005
Figure 112018038161765-pat00005

Figure 112018038161765-pat00006
Figure 112018038161765-pat00006

Figure 112018038161765-pat00007
Figure 112018038161765-pat00007

Figure 112018038161765-pat00008
Figure 112018038161765-pat00008

상기 [표 1] 내지 [표 5]에서 pick_nearest_neighborhood(id,num)는 (Point[id].x, Point[id].y, Point[id].z)와 가장 가까운 거리에 있는 세그먼트의 개수(num)를 계산해서, 오프셋을 리턴하는 함수이다. calculate_distance(id, Neighbour[i])는 Point[id]와 Neighbour[i]의 기하학 거리를 측정하여 리턴하는 함수이다. Delta[id]는 Point[id]와 기준이 되는 세그먼트의 오프셋과의 차이 값(Delta)을 저장한 공간을 의미한다. Offset[group_index]는 group_index 그룹의 오프셋을 저장한 공간을 의미한다.In [Table 1] to [Table 5], pick_nearest_neighborhood(id,num) is the number of segments closest to (Point[id].x, Point[id].y, Point[id].z) ( num) and returns the offset. calculate_distance(id, Neighbor[i]) is a function that measures and returns the geometric distance between Point[id] and Neighbor[i]. Delta[id] means a space that stores the difference value (Delta) between Point[id] and the offset of the reference segment. Offset[group_index] means the space where the group_index group's offset is stored.

이하, 도 15를 참고하여 본 개시의 일 실시예에 따른 데이터의 전송 또는 수신을 위한 장치의 구조를 설명한다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.Hereinafter, the structure of an apparatus for transmitting or receiving data according to an embodiment of the present disclosure will be described with reference to FIG. 15 . Descriptions of the same parts as in the above-described embodiment are omitted.

도 15는, 본 개시의 일 실시예에 따른 데이터의 전송 또는 수신을 위한 장치의 구성을 개략적으로 나타낸 도면이다.15 is a diagram schematically showing the configuration of an apparatus for transmitting or receiving data according to an embodiment of the present disclosure.

데이터의 전송 또는 수신을 위한 장치(1500)는 인코딩한 신호를 송수신하는 송수신부(1501), 데이터의 전송 또는 수신을 위한 장치의 모든 동작을 제어하는 제어부(1502), 포인트 클라우드에 관한 데이터를 저장하는 메모리부(1503)를 포함할 수 있다.The device 1500 for transmitting or receiving data includes a transceiver 1501 for transmitting and receiving an encoded signal, a control unit 1502 for controlling all operations of the device for transmitting or receiving data, and storing data related to a point cloud. It may include a memory unit 1503 that does.

본 개시에서 상술된 데이터의 전송 또는 수신을 위한 장치(1500)에서 수행되는 프로젝션, 팩킹, 인코딩, 역 프로젝션, 팩킹 해제, 디코딩 등의 모든 기법 또는 방법들 중 적어도 하나 이상은 상기 제어부(1502)의 제어에 의해 수행되는 것으로 이해될 수 있다. At least one or more of all techniques or methods such as projection, packing, encoding, inverse projection, unpacking, and decoding performed by the apparatus 1500 for transmitting or receiving data described above in the present disclosure is performed by the control unit 1502. It can be understood that it is performed by control.

본 개시에서 상술된 포인트 클라우드에 관한 데이터는 상기 메모리부(1503)에 일시적 또는 반영구적으로 전체 또는 일부가 저장되어 있을 수 있다. 또한, 본 개시에서 상술된 데이터의 전송 또는 수신을 위한 장치(1500)에서 수행되는 모든 기법 또는 방법들에 대한 알고리즘이 상기 메모리부(1502)에 일시적 또는 반영구적으로 전체 또는 일부가 저장되어 있을 수 있다.Data related to the point cloud detailed in the present disclosure may be temporarily or semi-permanently stored in whole or in part in the memory unit 1503 . In addition, algorithms for all techniques or methods performed by the apparatus 1500 for transmitting or receiving data described above in this disclosure may be temporarily or semi-permanently stored in whole or in part in the memory unit 1502. .

그러나, 상기 송수신부(1501), 상기 제어부(1502) 및 상기 메모리부(1503)는 반드시 별도의 장치로 구현되어야 하는 것은 아니고, 단일 칩과 같은 형태로써 하나의 구성부로 구현될 수 있음은 물론이다. 나아가, 상기 송수신부(1501), 상기 제어부(1502) 및 상기 메모리부(1503)는 반드시 모두 포함되어야 하는 것은 아니고 일부는 생략될 수 있다.However, the transceiver 1501, the control unit 1502, and the memory unit 1503 do not necessarily have to be implemented as separate devices, but can be implemented as a single component in the form of a single chip. . Furthermore, the transmission/reception unit 1501, the control unit 1502, and the memory unit 1503 do not necessarily all have to be included, and some may be omitted.

상기 도 1 내지 도 15가 예시하는 방법 예시도, 시스템의 구성도, 장치 구성도 등은 본 개시의 권리범위를 한정하기 위한 의도가 없음을 유의하여야 한다. 즉, 상기 도 1 내지 도 15에 기재된 모든 구성 또는 동작이 본 개시의 실시를 위한 필수 구성요소인 것으로 해석되어서는 안되며, 일부 구성요소 만을 포함하여도 본 개시의 본질을 해치지 않는 범위 내에서 구현될 수 있다.It should be noted that the method diagrams, system configuration diagrams, device configuration diagrams, etc. illustrated in FIGS. 1 to 15 are not intended to limit the scope of the present disclosure. That is, all the configurations or operations described in FIGS. 1 to 15 should not be interpreted as being essential components for the implementation of the present disclosure, and even if only some components are included, they can be implemented within a range that does not impair the essence of the present disclosure. can

앞서 설명한 동작들은 해당 프로그램 코드를 저장한 메모리 장치를 서버 또는 장치 내의 임의의 구성부에 구비함으로써 실현될 수 있다. 즉, 서버 또는 장치의 제어부는 메모리 장치 내에 저장된 프로그램 코드를 프로세서 혹은 CPU(Central Processing Unit)에 의해 읽어내어 실행함으로써 앞서 설명한 동작들을 실행할 수 있다.The operations described above may be realized by including a memory device storing the corresponding program code in a server or an arbitrary component in the device. That is, the control unit of the server or device may execute the above-described operations by reading and executing program codes stored in the memory device by a processor or a central processing unit (CPU).

본 명세서에서 설명되는 서버 또는 장치의 다양한 구성부들과, 모듈(module)등은 하드웨어(hardware) 회로, 일 예로 상보성 금속 산화막 반도체(complementary metal oxide semiconductor) 기반 논리 회로와, 펌웨어(firmware)와, 소프트웨어(software) 및/혹은 하드웨어와 펌웨어 및/혹은 머신 판독 가능 매체에 삽입된 소프트웨어의 조합과 같은 하드웨어 회로를 사용하여 동작될 수도 있다. 일 예로, 다양한 전기 구조 및 방법들은 트랜지스터(transistor)들과, 논리 게이트(logic gate)들과, 주문형 반도체와 같은 전기 회로들을 사용하여 실시될 수 있다.Various components, modules, and the like of the server or device described in this specification include hardware circuits, for example, complementary metal oxide semiconductor-based logic circuits, firmware, and software. may be operated using hardware circuitry, such as software and/or a combination of hardware and firmware and/or software embedded in a machine readable medium. As an example, various electrical structures and methods may be implemented using electrical circuits such as transistors, logic gates, and application specific semiconductors.

한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 예를 들어 본 개시는 위치 좌표가 각각 10비트를 가지고 색상 좌표가 각각 8비트를 가지는 포인트 데이터를 가정하여 설명하였으나, 데이터의 크기는 이에 한정되지 않는다. 또한, 본 개시는 8비트의 데이터의 코딩을 지원하는 코덱을 가정하여 설명하였으나, 코덱은 이에 한정되지 않는다.Meanwhile, in the detailed description of the present disclosure, specific embodiments have been described, but various modifications are possible without departing from the scope of the present disclosure. For example, the present disclosure has been described on the assumption of point data having position coordinates of 10 bits and color coordinates of 8 bits, but the size of the data is not limited thereto. In addition, the present disclosure has been described assuming a codec supporting coding of 8-bit data, but the codec is not limited thereto.

그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present disclosure should not be limited to the described embodiments and should not be defined, but should be defined by not only the scope of the claims to be described later, but also those equivalent to the scope of these claims.

1501: 송수신부
1502: 제어부
1503: 메모리부
1501: transceiver
1502: control unit
1503: memory unit

Claims (21)

포인트 클라우드에 관한 데이터의 프로세싱 방법에 있어서,
포인트 클라우드에 관한 데이터에서 보조 비트들을 식별하는 과정;
상기 포인트 클라우드에 관한 데이터에서 상기 식별된 보조 비트들을 제외한 나머지 데이터를 복수의 평면들에 프로젝션(projection)하는 과정;
상기 복수의 평면들에 대응하는 복수의 프로젝션 이미지들에서 미스드 포인트(missed point)들을 식별하는 과정;
상기 복수의 프로젝션 이미지들을 팩킹(packing)하여 팩킹된 이미지를 생성하는 과정; 및
상기 식별된 보조 비트들 중 상기 식별된 미스드 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 상기 팩킹된 이미지를 인코딩하여 생성된 신호를 전송하는 과정을 포함하며,
상기 식별된 미스드 포인트들은 상기 복수의 프로젝션 이미지들 각각에 포함된 포인트들 간의 간격이 임계값 이상인 포인트들을 나타내며,
상기 제1 보조 비트들에 관한 정보는 상기 식별된 미스드 포인트들의 위치에 관한 정보를 포함함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
In the processing method of data about the point cloud,
identifying auxiliary bits in data about the point cloud;
projecting data other than the identified auxiliary bits from the point cloud data onto a plurality of planes;
identifying missed points in a plurality of projection images corresponding to the plurality of planes;
generating a packed image by packing the plurality of projection images; and
A signal generated by encoding second auxiliary bits excluding the first auxiliary bits corresponding to the identified miss points among the identified auxiliary bits, information about the first auxiliary bits, and the packed image Including the process of transmitting,
The identified miss points represent points for which an interval between points included in each of the plurality of projection images is equal to or greater than a threshold value,
Wherein the information about the first auxiliary bits includes information about the locations of the identified miss points.
제1항에 있어서,
상기 식별된 보조 비트들 각각의 크기는 상기 포인트 클라우드에 관한 데이터의 크기와 상기 신호를 생성하기 위해 사용된 코덱(codec)에 의해 지원되는 인코딩 가능 데이터 크기의 차이에 대응함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 1,
The size of each of the identified auxiliary bits corresponds to a difference between the size of data related to the point cloud and the size of encodeable data supported by a codec used to generate the signal. How to process data about it.
삭제delete 제1항에 있어서,
상기 복수의 프로젝션 이미지들에 포함된 포인트들 각각이 미스드 포인트인지 여부를 지시하기 위한 플래그(flag)를 설정하는 과정을 더 포함하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 1,
and setting a flag to indicate whether each of the points included in the plurality of projection images is a miss point.
제1 항에 있어서,
상기 식별된 미스드 포인트들의 위치에 관한 정보는,
상기 복수의 프로젝션 이미지들에 포함된 패치들 각각의 중점에 대한 좌표 정보, 및 상기 패치들 각각의 중점에서 상기 식별된 미스드 포인트들 각각까지의 거리 정보 중 적어도 하나를 포함함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 1,
Information about the location of the identified miss points,
Point characterized in that it includes at least one of coordinate information about the midpoint of each of the patches included in the plurality of projection images, and distance information from the midpoint of each of the patches to each of the identified miss points. How to process data about the cloud.
제1항에 있어서,
상기 식별된 미스드 포인트들의 위치에 관한 정보는,
상기 복수의 프로젝션 이미지들에 포함된 패치들 중 상기 식별된 미스드 포인트들 각각과 가장 인접한 패치의 중점에 대한 보조 비트; 및
상기 식별된 미스드 포인트들 각각에 대한 보조 비트와 상기 패치의 중점에 대한 보조 비트의 차이 값을 포함함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 1,
Information about the location of the identified miss points,
an auxiliary bit for a middle point of a patch most adjacent to each of the identified miss points among patches included in the plurality of projection images; and
and a difference value between an auxiliary bit for each of the identified miss points and an auxiliary bit for a midpoint of the patch.
제1항에 있어서,
상기 식별된 미스드 포인트들을 복수의 그룹들로 그룹핑(grouping)하는 과정을 더 포함하며,
상기 식별된 미스드 포인트들의 위치에 관한 정보는 상기 복수의 그룹들 각각의 그룹 식별자 및 상기 복수의 그룹들 각각의 대표 보조 비트를 포함함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 1,
Further comprising grouping the identified miss points into a plurality of groups,
Wherein the information about the locations of the identified miss points includes a group identifier of each of the plurality of groups and a representative auxiliary bit of each of the plurality of groups.
제7항에 있어서,
상기 식별된 미스드 포인트들을 그룹핑하는 과정은,
상기 제1 보조 비트들 간의 유사도 및 상기 식별된 미스드 포인트들 간의 거리 중 적어도 하나를 기반으로 상기 식별된 미스드 포인트들을 그룹핑하는 과정을 포함하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 7,
The process of grouping the identified miss points,
and grouping the identified miss points based on at least one of a similarity between the first auxiliary bits and a distance between the identified miss points.
제1항에 있어서,
상기 식별된 미스드 포인트들을 복수의 그룹들로 그룹핑(grouping)하는 과정; 및
상기 복수의 그룹들에 포함된 제1 그룹의 대표 보조 비트와 상기 복수의 그룹들에 포함된 제2 그룹의 대표 보조 비트의 차이 값을 계산하는 과정을 더 포함하며,
상기 식별된 미스드 포인트들의 위치에 관한 정보는 상기 복수의 그룹들 각각의 그룹 식별자, 상기 제1 그룹의 대표 보조 비트 및 상기 계산된 차이 값을 포함함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 1,
grouping the identified miss points into a plurality of groups; and
Calculating a difference between a representative auxiliary bit of a first group included in the plurality of groups and a representative auxiliary bit of a second group included in the plurality of groups;
wherein the information about the locations of the identified miss points includes a group identifier of each of the plurality of groups, a representative auxiliary bit of the first group, and the calculated difference value. method.
제9항에 있어서,
상기 제1 그룹은 상기 복수의 그룹들 중 가장 큰 대표 보조 비트를 갖는 그룹임을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 9,
Wherein the first group is a group having the largest representative auxiliary bit among the plurality of groups.
포인트 클라우드에 관한 데이터의 프로세싱 방법에 있어서,
포인트 클라우드에 관한 데이터에 포함되는 보조 비트들 중 미스드 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 팩킹된 이미지를 포함하는 신호를 수신하여 디코딩하는 과정;
상기 팩킹된 이미지를 팩킹 해제하여 복수의 프로젝션 이미지들을 식별하는 과정;
상기 복수의 프로젝션 이미지들에서 상기 미스드 포인트들을 식별하는 과정;
상기 제1 보조 비트들에 관한 정보를 기반으로 상기 미스드 포인트들에 대응하는 상기 제1 보조 비트들을 추정하는 과정; 및
상기 복수의 프로젝션 이미지들을 역 프로젝션한 데이터, 상기 추정된 제1 보조 비트들 및 상기 제2 보조 비트들을 기반으로 상기 포인트 클라우드를 복원하는 과정을 포함하며,
상기 미스드 포인트들은 상기 복수의 프로젝션 이미지들 각각에 포함된 포인트들 간의 간격이 임계값 이상인 포인트들을 나타내며,
상기 제1 보조 비트들에 관한 정보는 상기 미스드 포인트들의 위치에 관한 정보를 포함함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
In the processing method of data about the point cloud,
A signal including second auxiliary bits excluding first auxiliary bits corresponding to miss points among auxiliary bits included in data about the point cloud, information about the first auxiliary bits, and a packed image receiving and decoding;
identifying a plurality of projection images by unpacking the packed image;
identifying the miss points in the plurality of projection images;
estimating the first auxiliary bits corresponding to the miss points based on the information on the first auxiliary bits; and
Restoring the point cloud based on inversely projected data of the plurality of projection images, the estimated first auxiliary bits, and the second auxiliary bits;
The miss points represent points for which an interval between points included in each of the plurality of projection images is greater than or equal to a threshold value,
The method of processing data about a point cloud, characterized in that the information about the first auxiliary bits includes information about the locations of the miss points.
제11항에 있어서,
상기 포인트 클라우드에 관한 데이터에 포함되는 보조 비트들 각각의 크기는 상기 포인트 클라우드에 관한 데이터의 크기와 상기 신호를 생성하기 위해 사용된 코덱(codec)에 의해 지원되는 인코딩 가능 데이터 크기의 차이에 대응함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 11,
The size of each of the auxiliary bits included in the data about the point cloud corresponds to the difference between the size of the data about the point cloud and the size of encodeable data supported by a codec used to generate the signal. A method of processing data about a characterized point cloud.
제11항에 있어서,
상기 미스드 포인트들을 식별하는 과정은,
디코딩된 신호로부터 상기 복수의 프로젝션 이미지들에 포함된 복수의 포인트들 각각에 대한 플래그(flag)를 획득하는 과정; 및
상기 복수의 포인트들 각각에 대한 플래그를 기반으로 상기 미스드 포인트들을 식별하는 과정을 포함하며,
상기 복수의 포인트들 각각에 대한 플래그는 상기 복수의 포인트들 각각이 미스드 포인트인지 여부를 지시함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 11,
The process of identifying the miss points is,
acquiring a flag for each of a plurality of points included in the plurality of projection images from a decoded signal; and
and identifying the miss points based on a flag for each of the plurality of points,
Wherein the flag for each of the plurality of points indicates whether each of the plurality of points is a miss point.
제11항에 있어서,
상기 미스드 포인트들의 위치에 관한 정보는,
상기 복수의 프로젝션 이미지들에 포함된 패치들 각각의 중점에 대한 좌표 정보, 및 상기 패치들 각각의 중점에서 상기 미스드 포인트들 각각까지의 거리 정보를 포함함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 11,
Information about the location of the miss points,
Point cloud data comprising coordinate information about the midpoint of each of the patches included in the plurality of projection images, and distance information from the midpoint of each of the patches to each of the miss points. processing method.
제14 항에 있어서,
상기 제1 보조 비트들을 추정하는 과정은,
상기 패치들 각각의 중점에서 상기 미스드 포인트들 각각까지의 거리 정보에 기반하여 결정된 웨이트(weight) 값과 상기 패치들의 각각의 중점에 대한 보조 비트를 기반으로 하는 가중 평균값을 이용하여 상기 보조 비트를 추정하는 과정을 포함함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 14,
The process of estimating the first auxiliary bits,
The auxiliary bits are obtained by using a weight value determined based on distance information from the midpoint of each of the patches to each of the miss points and a weighted average value based on auxiliary bits for the midpoint of each of the patches. A method of processing data about a point cloud, comprising the step of estimating.
제11항에 있어서,
상기 미스드 포인트들의 위치에 관한 정보는,
상기 복수의 프로젝션 이미지들에 포함된 패치들 중 상기 미스드 포인트들 각각과 가장 인접한 패치의 중점에 대한 보조 비트; 및
상기 미스드 포인트들 각각에 대한 보조 비트와 상기 패치의 중점에 대한 정보를 지시하는 보조 비트의 차이 값을 포함함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 11,
Information about the location of the miss points,
an auxiliary bit for a midpoint of a patch most adjacent to each of the miss points among patches included in the plurality of projection images; and
and a difference value between an auxiliary bit for each of the miss points and an auxiliary bit indicating information on a midpoint of the patch.
제11항에 있어서,
상기 미스드 포인트들은 복수의 그룹들로 그룹핑(grouping)되며,
상기 미스드 포인트들의 위치에 관한 정보는 상기 복수의 그룹들 각각의 그룹 식별자 및 상기 복수의 그룹들 각각의 대표 보조 비트를 포함함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 11,
The miss points are grouped into a plurality of groups,
Wherein the information about the location of the miss points includes a group identifier of each of the plurality of groups and a representative auxiliary bit of each of the plurality of groups.
제11항에 있어서,
상기 미스드 포인트들은 복수의 그룹들로 그룹핑(grouping)되며,
상기 미스드 포인트들의 위치에 관한 정보는 상기 복수의 그룹들 각각의 그룹 식별자, 상기 복수의 그룹들에 포함된 제1 그룹의 대표 보조 비트, 및 상기 제1 그룹의 대표 보조 비트와 상기 복수의 그룹들에 포함된 제2 그룹의 대표 보조 비트의 차이 값을 포함함을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 11,
The miss points are grouped into a plurality of groups,
The information about the location of the miss points includes a group identifier of each of the plurality of groups, a representative auxiliary bit of a first group included in the plurality of groups, and a representative auxiliary bit of the first group and the plurality of groups. A method of processing data about a point cloud, characterized in that it includes difference values of representative auxiliary bits of the second group included in .
제18항에 있어서,
상기 제1 그룹은 상기 복수의 그룹들 중 가장 큰 대표 보조 비트를 갖는 그룹임을 특징으로 하는 포인트 클라우드에 관한 데이터의 프로세싱 방법.
According to claim 18,
Wherein the first group is a group having the largest representative auxiliary bit among the plurality of groups.
송신 장치에 있어서,
송수신부; 및
적어도 하나의 프로세서를 포함하며,
상기 적어도 하나의 프로세서는,
포인트 클라우드에 관한 보조 비트들을 식별하고,
상기 포인트 클라우드에 관한 데이터에서 상기 식별된 보조 비트들을 제외한 나머지 데이터를 복수의 평면들에 프로젝션(projection)하고,
상기 복수의 평면들에 대응하는 복수의 프로젝션 이미지들에서 미스드 포인트(missed point)들을 식별하고,
상기 복수의 프로젝션 이미지들을 팩킹(packing)하여 팩킹된 이미지를 생성하고,
상기 식별된 보조 비트들 중 상기 식별된 미스드 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 상기 팩킹된 이미지를 인코딩하여 신호를 생성하고,
상기 생성된 신호를 전송하도록 상기 송수신부를 제어하며,
상기 식별된 미스드 포인트들은 상기 복수의 프로젝션 이미지들 각각에 포함된 포인트들 간의 간격이 임계값 이상인 포인트들을 나타내며,
상기 제1 보조 비트들에 관한 정보는 상기 식별된 미스드 포인트들의 위치에 관한 정보를 포함함을 특징으로 하는 송신 장치.
In the transmitting device,
transceiver; and
includes at least one processor;
The at least one processor,
identify auxiliary bits for a point cloud;
Projecting data other than the identified auxiliary bits from the data on the point cloud onto a plurality of planes;
identifying missed points in a plurality of projection images corresponding to the plurality of planes;
Packing the plurality of projection images to create a packed image;
A signal is generated by encoding second auxiliary bits excluding the first auxiliary bits corresponding to the identified miss points among the identified auxiliary bits, information about the first auxiliary bits, and the packed image. do,
Controlling the transceiver to transmit the generated signal;
The identified miss points represent points for which an interval between points included in each of the plurality of projection images is equal to or greater than a threshold value,
The transmitting device of claim 1, wherein the information on the first auxiliary bits includes information on locations of the identified miss points.
수신 장치에 있어서,
송수신부; 및
적어도 하나의 프로세서를 포함하며,
상기 적어도 하나의 프로세서는,
상기 송수신부를 통해, 포인트 클라우드에 관한 데이터에 포함되는 보조 비트들 중 미스드 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 팩킹된 이미지를 포함하는 신호를 수신하고,
상기 수신된 신호를 디코딩하고,
상기 팩킹된 이미지를 팩킹 해제하여 복수의 프로젝션 이미지들을 식별하고,
상기 복수의 프로젝션 이미지들에서 상기 미스드 포인트들을 식별하고,
상기 제1 보조 비트들에 관한 정보를 기반으로 상기 미스드 포인트들에 대응하는 상기 제1 보조 비트들을 추정하고,
상기 복수의 프로젝션 이미지들을 역 프로젝션한 데이터, 상기 추정된 제1 보조 비트들 및 상기 제2 보조 비트들을 기반으로 상기 포인트 클라우드를 복원하며,
상기 미스드 포인트들은 상기 복수의 프로젝션 이미지들 각각에 포함된 포인트들 간의 간격이 임계값 이상인 포인트들을 나타내며,
상기 제1 보조 비트들에 관한 정보는 상기 미스드 포인트들의 위치에 관한 정보를 포함함을 특징으로 수신 장치.
In the receiving device,
transceiver; and
includes at least one processor;
The at least one processor,
Second auxiliary bits excluding first auxiliary bits corresponding to miss points among auxiliary bits included in the data about the point cloud, information about the first auxiliary bits, and a packed image through the transceiver. Receive a signal containing
decoding the received signal;
unpacking the packed image to identify a plurality of projection images;
identify the miss points in the plurality of projection images;
estimating the first auxiliary bits corresponding to the miss points based on the information about the first auxiliary bits;
Restoring the point cloud based on data obtained by inversely projecting the plurality of projection images, the estimated first auxiliary bits, and the second auxiliary bits;
The miss points represent points for which an interval between points included in each of the plurality of projection images is greater than or equal to a threshold value,
The receiving device of claim 1, wherein the information on the first auxiliary bits includes information on locations of the miss points.
KR1020180044639A 2018-04-17 2018-04-17 Apparatus and method for processing data assoiciated with point cloud KR102537946B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180044639A KR102537946B1 (en) 2018-04-17 2018-04-17 Apparatus and method for processing data assoiciated with point cloud
PCT/KR2019/004546 WO2019203523A1 (en) 2018-04-17 2019-04-16 Method and apparatus for processing data on point cloud

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180044639A KR102537946B1 (en) 2018-04-17 2018-04-17 Apparatus and method for processing data assoiciated with point cloud

Publications (2)

Publication Number Publication Date
KR20190121106A KR20190121106A (en) 2019-10-25
KR102537946B1 true KR102537946B1 (en) 2023-05-31

Family

ID=68239813

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180044639A KR102537946B1 (en) 2018-04-17 2018-04-17 Apparatus and method for processing data assoiciated with point cloud

Country Status (2)

Country Link
KR (1) KR102537946B1 (en)
WO (1) WO2019203523A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102477031B1 (en) 2018-04-20 2022-12-14 삼성전자주식회사 Apparatus and method for processing data assoiciated with 3-dimensional data
WO2021206365A1 (en) * 2020-04-11 2021-10-14 엘지전자 주식회사 Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
CN112672168B (en) * 2020-12-14 2022-10-18 深圳大学 Point cloud compression method and device based on graph convolution

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016163342A (en) * 2015-03-03 2016-09-05 芳隆 大吉 Method for distributing or broadcasting three-dimensional shape information
JP2018005819A (en) * 2016-07-08 2018-01-11 株式会社パスコ Three-dimensional model generation device, three-dimensional model generation method, and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2373707A1 (en) * 2001-02-28 2002-08-28 Paul Besl Method and system for processing, compressing, streaming and interactive rendering of 3d color image data
US8290305B2 (en) * 2009-02-13 2012-10-16 Harris Corporation Registration of 3D point cloud data to 2D electro-optical image data
CN106973569A (en) * 2014-05-13 2017-07-21 Pcp虚拟现实股份有限公司 Generation and the playback multimedia mthods, systems and devices of virtual reality
KR102238693B1 (en) * 2014-06-20 2021-04-09 삼성전자주식회사 Method and apparatus for extracting feature regions in point cloud
EP3516873A1 (en) * 2016-09-19 2019-07-31 InterDigital VC Holdings, Inc. A method and a device for reconstructing a point cloud representative of a scene using light-field data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016163342A (en) * 2015-03-03 2016-09-05 芳隆 大吉 Method for distributing or broadcasting three-dimensional shape information
JP2018005819A (en) * 2016-07-08 2018-01-11 株式会社パスコ Three-dimensional model generation device, three-dimensional model generation method, and program

Also Published As

Publication number Publication date
KR20190121106A (en) 2019-10-25
WO2019203523A1 (en) 2019-10-24

Similar Documents

Publication Publication Date Title
JP7093061B2 (en) Point cloud mapping
US20210142521A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
US20200250798A1 (en) Three-dimensional model encoding device, three-dimensional model decoding device, three-dimensional model encoding method, and three-dimensional model decoding method
JP7433442B2 (en) Point cloud data transmission device, transmission method, processing device, and processing method
KR102537946B1 (en) Apparatus and method for processing data assoiciated with point cloud
KR102519653B1 (en) Apparatus and method for point cloud compression
US11461934B2 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
US11553181B2 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
KR20210128442A (en) Point cloud data processing apparatus and method
US20190004414A1 (en) Adaptive Resolution and Projection Format in Multi-Directional Video
JP7307260B2 (en) A point cloud data transmission device, a point cloud data transmission method, a point cloud data reception device, and a point cloud data reception method.
CN115398926A (en) Point cloud data transmitting device, point cloud data transmitting method, point cloud data receiving device, and point cloud data receiving method
US20230290006A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114097229A (en) Point cloud data transmitting device, point cloud data transmitting method, point cloud data receiving device, and point cloud data receiving method
KR102477031B1 (en) Apparatus and method for processing data assoiciated with 3-dimensional data
EP3922024A1 (en) Point cloud global tetris packing
JP2021531542A (en) How to encode / decode the texture of a point in a point cloud
US11908169B2 (en) Dense mesh compression
US20230345008A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
EP4325851A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
KR20210091058A (en) Video encoding/decoding method and apparatus
KR20220071924A (en) Encoding and decoding method and apparatus for volumemetric video
JP2024515203A (en) Point cloud data transmission device, point cloud data transmission method, point cloud data receiving device, and point cloud data receiving method
WO2023091260A1 (en) Outlier grouping based point cloud compression
JP2024510315A (en) Point cloud data transmitting device, point cloud data transmitting method, point cloud data receiving device, and point cloud data receiving method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
GRNT Written decision to grant