WO2024043406A1 - Point cloud compression system and method for streaming - Google Patents

Point cloud compression system and method for streaming Download PDF

Info

Publication number
WO2024043406A1
WO2024043406A1 PCT/KR2022/019640 KR2022019640W WO2024043406A1 WO 2024043406 A1 WO2024043406 A1 WO 2024043406A1 KR 2022019640 W KR2022019640 W KR 2022019640W WO 2024043406 A1 WO2024043406 A1 WO 2024043406A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
points
normal vector
reference point
distance
Prior art date
Application number
PCT/KR2022/019640
Other languages
French (fr)
Korean (ko)
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 한국전자기술연구원
Publication of WO2024043406A1 publication Critical patent/WO2024043406A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Disclosed in the present technology are a point cloud compression system and method for streaming. According to a specific example of the present technology, a spherical point cloud is converted to hexahedral points, then converted to tree structure points, each converted point of the tree structure is set as a reference point, and a normal vector of a point, in which an operation distance between each point of a child node of the set corresponding reference point and the corresponding reference point is less than or equal to the reference distance, is derived, such that calculation complexity and calculation speed according to the normal vector calculation can be reduced, and as encoding is performed for a point in which the inner value of the derived normal vector of the point and a user viewing direction vector obtained through a camera is a positive number, the amount of data to be encoded can be reduced, and communication resources and memory resources can be secured accordingly.

Description

스트리밍용 포인트 클라우드 압축 시스템 및 방법Point cloud compression system and method for streaming
본 발명은 스트리밍 용 포인트 클라우드 압축 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 제작된 콘텐츠의 구형 영상으로부터 생성된 법선 벡터와 카메라에 의거 획득된 사용자 시야의 방향 벡터의 내적값이 양수인 포인트에 대해 인코딩을 수행할 수 있도록 한 기술에 관한 것이다.The present invention relates to a point cloud compression system and method for streaming, and more specifically, to encoding points where the dot product of a normal vector generated from a spherical image of produced content and a direction vector of the user's field of view obtained by a camera is a positive number. It is about a technology that allows this to be done.
최근 가상 현실(Virtual Reality, VR) 콘텐츠에 대한 수요와 함께 VR 콘텐츠의 실시간 서비스에 대한 수요가 증가하고 있다. Recently, along with the demand for virtual reality (VR) content, the demand for real-time services of VR content is increasing.
VR 콘텐츠는 구형으로 렌더링되어야 하지만, 구형의 영상 변환 및 전송은 기존의 영상 변환 포맷 또는 방송 전송 포맷에 부합하지 않는 문제점이 있었다.VR content must be rendered in a spherical shape, but conversion and transmission of spherical images have the problem of not conforming to existing video conversion formats or broadcast transmission formats.
이에 따라 지도 투영법 중 메르카토르도법(원통도법)을 적용하여 구형의 영상을 사각형의 평면으로 재구성하는 기술이 개발되었다. 하지만, 이러한 기술은 평면으로 변환하는 과정에서 영상의 데이터를 전송함에 있어, 통신 지연이 발생하는 문제점이 있었다.Accordingly, a technology was developed to reconstruct a spherical image into a square plane by applying the Mercator projection method (cylindrical projection method) among map projection methods. However, this technology has a problem in that communication delays occur when transmitting video data during the process of converting to a flat surface.
이에 본 출원인은 제작된 콘텐츠의 구형의 포인트 클라우드를 육면체로 변환한 다음 트리 구조의 포인트로 변환하고 변환된 트리 구조에서 제1 노드의 기준 포인트와 제1 노드의 하위 노드인 제2 노드 이하 자식 노드의 포인트 간의 연산 거리가 기준 거리 이하인 포인트의 법선벡터를 각각 도출하고, 도출된 포인트의 법선 벡터와 카메라를 통해 획득된 사용자 시야 방향 벡터의 내적값이 양수인 포인트에 대해 인코딩을 수행함에 따라 인코딩하는 데이터 수를 줄일 수 있고, 이에 따른 통신 자원을 근본적으로 확보할 수 있는 방안을 제안하고자 한다.Accordingly, the present applicant converted the spherical point cloud of the produced content into a hexahedron and then converted it into points in a tree structure, and in the converted tree structure, the reference point of the first node and the second node and lower child nodes that are child nodes of the first node. The data is encoded by deriving the normal vectors of the points where the calculated distance between the points is less than the standard distance, and encoding the points where the dot product of the normal vector of the derived point and the user's viewing direction vector obtained through the camera is a positive number. We would like to propose a plan to reduce the number and fundamentally secure communication resources.
[선행기술문헌][Prior art literature]
[특허문헌][Patent Document]
대한민국 등록특허 제10-1820359호(2018년01월15일 등록)Republic of Korea Patent No. 10-1820359 (registered on January 15, 2018)
이에 본 발명은 인코딩하고자 하는 데이터 수를 줄일 수 있고, 법선 벡터 연산에 따른 연산 복잡도 및 연산속도를 감소할 수 있으며, 이에 따른 통신 자원을 근본적으로 확보하기 위한 것이다. Accordingly, the present invention can reduce the number of data to be encoded, reduce the computational complexity and speed of normal vector calculation, and fundamentally secure communication resources accordingly.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시 예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The object of the present invention is not limited to the object mentioned above, and other objects and advantages of the present invention that are not mentioned can be understood through the following description and will be more clearly understood through examples of the present invention. In addition, it will be readily apparent that the objects and advantages of the present invention can be realized by means and combinations thereof as indicated in the claims.
전술한 목적을 달성하기 위한 본 발명의 일 실시 양태에 의거한 스트리밍 용 포인트 클라우드 압축 시스템은,A point cloud compression system for streaming according to an embodiment of the present invention to achieve the above-described object,
제작된 콘텐츠의 구형의 포인트 클라우드를 육면체의 포인트로 변환한 다음 트리 구조로 포인트로 변환하는 포인트 구조화 장치;A point structuring device that converts the spherical point cloud of the produced content into hexahedral points and then converts them into points in a tree structure;
상기 트리 구조의 각 포인트와 각 포인트의 자식 노드의 포인트 간의 연산 거리 및 정해진 기준 거리를 토대로 각 포인트의 법선 벡터를 도출하여 도출된 해당 포인트의 법선 벡터를 임시 메모리에 저장하는 포인트 법선벡터 추정장치; 및a point normal vector estimation device for deriving a normal vector for each point based on a calculation distance and a predetermined reference distance between each point of the tree structure and the points of the child nodes of each point and storing the derived normal vector of the point in a temporary memory; and
상기 각 포인트의 법선 벡터와 카메라에 의거 획득된 사용자 시야의 방향 벡터의 내적값으로 인코딩하고자 하는 포인트를 추출하고 추출된 포인트를 인코딩하여 전송하는 인코딩 장치를 포함하는 것을 일 특징으로 한다.One feature includes an encoding device that extracts points to be encoded using an inner product of the normal vector of each point and the direction vector of the user's field of view obtained by a camera, encodes the extracted points, and transmits them.
바람직하게 상기 포인트 법선벡터 추정장치는,Preferably, the point normal vector estimation device is:
트리 구조의 각 포인트를 기준 포인트로 설정하고, 각 설정된 기준 포인트의 자식 노드의 포인트와 설정된 기준 포인트 간의 연산 거리를 출력하며, 출력된 연산 거리가 기 정해진 기준 거리 이하인 기준 포인트를 임시 메모리에 저장하고, 임시 메모리에 저장된 기준 포인트를 연산 거리에 대한 오름 차순으로 정렬하는 포인트 정렬부; 및 Each point in the tree structure is set as a reference point, the calculation distance between the point of the child node of each set reference point and the set reference point is output, and the reference points whose output calculation distance is less than the predetermined reference distance are stored in temporary memory. , a point sorting unit that sorts the reference points stored in the temporary memory in ascending order with respect to the calculation distance; and
상기 기준 포인트와의 연산 거리 순으로 2개의 인접 포인트를 추출하고 추출된 2개의 인접 포인트와 상기 기준 포인트로 형성된 평면의 법선 벡터를 도출하여 도출된 법선 벡터를 상기 기준 포인트가 배열된 임시 메모리의 위치에 저장하는 법선벡터 도출부를 포함할 수 있다. Extract two adjacent points in the order of the calculated distance from the reference point, derive the normal vector of the plane formed by the two extracted adjacent points and the reference point, and set the derived normal vector to the location of the temporary memory where the reference points are arranged. It may include a normal vector derivation unit stored in .
바람직하게 상기 포인트 법선벡터 추정장치는 Preferably, the point normal vector estimation device is
상기 임시 메모리에 저장된 상기 기준 포인트와의 연산 거리가 짧은 적어도 3의 포인트를 추출한 다음 추출된 각 포인트의 법선 벡터를 평균한 다음 평균 법선 벡터를 상기 기준 포인트의 법선 벡터로 설정하는 법선벡터 최적화부를 포함할 수 있다. A normal vector optimization unit that extracts at least three points that have a short calculation distance from the reference point stored in the temporary memory, averages the normal vector of each extracted point, and then sets the average normal vector as the normal vector of the reference point. can do.
바람직하게 상기 인코딩 장치는, Preferably, the encoding device:
카메라를 통해 획득된 사용자 시야의 방향 벡터와 각 포인트의 법선 벡터의 내적값을 도출하고 도출된 내적값이 양수인 포인트에 대해 인코딩하여 전송하도록 구비될 수 있다.It may be provided to derive an inner product of the direction vector of the user's field of view obtained through a camera and the normal vector of each point, encode and transmit the points for which the derived inner product is a positive number.
다른 실시예에 의거한 본 발명의 스트리밍용 포인트 클라우드 압축 방법은, The point cloud compression method for streaming of the present invention according to another embodiment,
제작된 콘텐츠의 구형의 포인트 클라우드를 육면체의 포인트로 변환한 다음 트리 구조로 포인트로 변환하는 포인트 구조화 단계;A point structuring step of converting the spherical point cloud of the produced content into hexahedral points and then converting them into points in a tree structure;
상기 트리 구조의 각 포인트와 각 포인트의 자식 노드의 포인트 간의 연산 거리 및 정해진 기준 거리를 토대로 각 포인트의 법선 벡터를 도출하여 도출된 해당 포인트의 법선 벡터를 임시 메모리에 저장하는 포인트 법선벡터 추정단계; 및A point normal vector estimation step of deriving a normal vector of each point based on a calculation distance and a predetermined reference distance between each point of the tree structure and the points of the child nodes of each point and storing the derived normal vector of the point in a temporary memory; and
상기 각 포인트의 법선 벡터와 카메라에 의거 획득된 사용자 시야의 방향 벡터의 내적값으로 인코딩하고자 하는 포인트를 추출하고 추출된 포인트를 인코딩하여 전송하는 인코딩 단계를 포함하는 것을 일 특징으로 한다.One feature includes an encoding step of extracting points to be encoded using an inner product of the normal vector of each point and the direction vector of the user's field of view obtained by a camera, encoding the extracted points, and transmitting them.
바람직하게 상기 포인트 법선벡터 추정단계는,Preferably, the point normal vector estimation step is,
트리 구조의 각 포인트를 기준 포인트로 설정하고, 각 설정된 기준 포인트의 자식 노드의 포인트와 설정된 기준 포인트 간의 연산 거리를 출력하는 단계;Setting each point of the tree structure as a reference point and outputting a calculated distance between the point of the child node of each set reference point and the set reference point;
출력된 연산 거리가 기 정해진 기준 거리 이하인 기준 포인트를 임시 메모리에 저장하고, 임시 메모리에 저장된 기준 포인트를 연산 거리에 대한 오름 차순으로 정렬하는 단계; 및storing reference points whose output calculation distance is less than or equal to a predetermined reference distance in a temporary memory, and sorting the reference points stored in the temporary memory in ascending order with respect to the calculation distance; and
상기 기준 포인트와의 연산 거리 순으로 2개의 인접 포인트를 추출하고 추출된 2개의 인접 포인트와 상기 기준 포인트로 형성된 평면의 법선 벡터를 도출하여 도출된 법선 벡터를 상기 기준 포인트가 배열된 임시 메모리의 위치에 저장하는 단계를 포함할 수 있다. Extract two adjacent points in the order of the calculated distance from the reference point, derive the normal vector of the plane formed by the two extracted adjacent points and the reference point, and set the derived normal vector to the location of the temporary memory where the reference points are arranged. It may include the step of saving.
바람직하게 상기 포인트 법선벡터 추정 단계는, Preferably, the point normal vector estimation step is,
임시 메모리에 저장된 상기 기준 포인트와의 연산 거리가 짧은 적어도 3의 포인트를 추출한 다음 추출된 각 포인트의 법선 벡터를 평균한 다음 평균 법선 벡터를 상기 기준 포인트의 법선 벡터로 설정하는 단계를 포함할 수 있다. It may include extracting at least three points that have a short calculation distance from the reference point stored in temporary memory, averaging the normal vectors of each extracted point, and then setting the average normal vector as the normal vector of the reference point. .
바람직하게 상기 인코딩 단계는, Preferably, the encoding step is,
카메라를 통해 획득된 사용자 시야의 방향 벡터와 각 포인트의 법선 벡터의 내적값을 도출하고 도출된 내적값이 양수인 포인트에 대해 인코딩하여 전송하도록 구비될 수 있다.It may be provided to derive an inner product of the direction vector of the user's field of view obtained through a camera and the normal vector of each point, encode and transmit the points for which the derived inner product is a positive number.
일 실시 예에 따르면, 구형의 포인트 클라우드를 육면체의 포인트로 변환한 다음 트리 구조의 포인트로 변환하고 변환된 트리 구조의 각 포인트를 기준 포인트로 설정하고 설정된 해당 기준 포인트의 자식 노드의 각 포인트와 상기 해당 기준 포인트 간의 연산 거리가 기준 거리 이하인 포인트의 법선 벡터를 각각 도출함에 따라, 법선 벡터 연산에 따른 연산 복잡도 및 연산속도를 감소할 수 있다.According to one embodiment, a spherical point cloud is converted to a hexahedral point and then converted to a tree structure point, each point of the converted tree structure is set as a reference point, each point of the child node of the set reference point and the above By deriving the normal vectors of each point where the calculation distance between the corresponding reference points is less than or equal to the reference distance, the calculation complexity and speed of the normal vector calculation can be reduced.
또한, 본 발명에 의거, 도출된 포인트의 법선벡터와 카메라를 통해 획득된 사용자 시야 방향 벡터의 내적값이 양수인 포인트에 대해 인코딩을 수행함에 따라, 인코딩하는 데이터 수를 줄일 수 있고, 이에 따른 통신 자원 및 메모리 자원을 확보할 수 있다. In addition, according to the present invention, by performing encoding on points where the inner product of the normal vector of the derived point and the user's viewing direction vector obtained through the camera is a positive number, the number of data to be encoded can be reduced, and the communication resources accordingly and memory resources can be secured.
본 명세서에서 첨부되는 다음의 도면들은 본 발명의 바람직한 실시 예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니된다.The following drawings attached to this specification illustrate preferred embodiments of the present invention, and together with the detailed description of the invention described later, serve to further understand the technical idea of the present invention. Therefore, the present invention includes the matters described in such drawings. It should not be interpreted as limited to only .
도 1은 일 실시예의 스트리밍용 포인트 클라우드 압축 시스템의 구성도이다.1 is a configuration diagram of a point cloud compression system for streaming according to an embodiment.
도 2는 도 1의 포인트 구조화 장치의 과정을 보인 예시도이다.Figure 2 is an exemplary diagram showing the process of the point structuring device of Figure 1.
도 3은 도 2의 포인트 법선벡터 추정장치의 세부 구성도이다.Figure 3 is a detailed configuration diagram of the point normal vector estimation device of Figure 2.
도 4는 도 3의 임시 메모리의 포인트 배열 과정을 보인 예시도이다. Figure 4 is an example diagram showing the point arrangement process of the temporary memory of Figure 3.
도 5는 도 3의 포인트 배열부의 동작 과정을 보인 도이다.Figure 5 is a diagram showing the operation process of the point array unit of Figure 3.
도 6은 도 5에 의거한 임시 메모리의 포인트 배열을 보인 예시도이다.Figure 6 is an example diagram showing the point arrangement of the temporary memory based on Figure 5.
도 7은 도 3의 법선벡터 도출부의 법선벡터의 개념도이다.Figure 7 is a conceptual diagram of the normal vector of the normal vector derivation part of Figure 3.
도 8은 도 3의 법선벡터 도출부의 동작 과정을 보인 도이다.Figure 8 is a diagram showing the operation process of the normal vector derivation unit of Figure 3.
도 9는 도 4의 법선벡터 최적화부의 동작 과정을 보인 도이다.Figure 9 is a diagram showing the operation process of the normal vector optimization unit of Figure 4.
도 10은 도 9에 의거 최적화된 포인트 별 법선벡터를 보인 도이다.Figure 10 is a diagram showing the normal vector for each point optimized based on Figure 9.
도 11은 일 실시예의 인코딩용 포인트 추출 개념을 설명하는 도이다. Figure 11 is a diagram explaining the concept of extracting points for encoding according to an embodiment.
이하에서는 도면을 참조하여 본 발명의 실시예들을 보다 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in more detail with reference to the drawings.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.The advantages and features of the present invention and methods for achieving them will become clear with reference to the embodiments described below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to be understood by those skilled in the art. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.The terms used in this specification will be briefly explained, and the present invention will be described in detail.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present invention are general terms that are currently widely used as much as possible while considering the function in the present invention, but this may vary depending on the intention or precedent of a person working in the art, the emergence of new technology, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the relevant invention. Therefore, the terms used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than simply the name of the term.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. When it is said that a part "includes" a certain element throughout the specification, this means that, unless specifically stated to the contrary, it does not exclude other elements but may further include other elements.
따라서, 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.Accordingly, the functionality provided within the components and “parts” may be combined into a smaller number of components and “parts” or may be further separated into additional components and “parts”.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.Below, with reference to the attached drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily implement the present invention. In order to clearly explain the present invention in the drawings, parts unrelated to the description are omitted.
일 실시예가 적용되는 각각의 구성요소에 대해 임의 개를 임의의 적절한 구성으로 포함할 수도 있다. 일반적으로, 컴퓨터 및 통신 시스템들은 광범위한 구성들로 나타나며, 도면은 본 개시의 범위를 어떤 특정 구성으로 한정하지 않는다. 도면은 본 특허 문서에서 개시된 다양한 특성들이 사용될 수 있는 하나의 동작 환경을 도시하고 있지만, 그러한 특성들은 어떤 다른 적절한 시스템에서 사용될 수도 있다.An embodiment may include any number of each component to which it applies, in any suitable configuration. In general, computer and communication systems come in a wide range of configurations, and the drawings do not limit the scope of the disclosure to any particular configuration. Although the drawings illustrate one operating environment in which the various features disclosed in this patent document may be used, such features may be used in any other suitable system.
명세서 상의 설명에 있어서, 동작을 수행하는 주체는 구형의 포인트 클라우드의 각 포인트를 육면체의 포인트로 변환한 후 트리 형태로 구조화하고, 트리 구조의 각 포인트를 기준 포인트로 설정한 다음 설정된 해당 기준 포인트와 해당 기준 포인트의 노드의 하위 노드인 자식 노드의 각 포인트 간의 연산 거리와 기 정해진 기준 거리를 토대로 인접 포인트 검색 및 법선 벡터 추정 알고리즘을 통해 각 포인트의 법선 벡터를 도출하는 프로세서일 수 있으며, 다른 한 예로써, 추정 및 처리과정을 수행하는 프로그램이 기록된 기록매체 또는 이를 포함하는 장치일 수 있다. In the description in the specification, the subject performing the operation converts each point of the spherical point cloud into a hexahedral point, structures it in the form of a tree, sets each point of the tree structure as a reference point, and then sets the corresponding reference point and It may be a processor that derives the normal vector of each point through a neighboring point search and normal vector estimation algorithm based on the calculation distance between each point of the child node, which is a child node of the node of the corresponding reference point, and a predetermined reference distance. As another example, As such, it may be a recording medium on which a program that performs estimation and processing is recorded or a device containing the same.
상기 인접 포인트 검색 및 법선 벡터 추정 알고리즘은 트리 구조의 모든 포인트에 대해 트리 구조에 의거 순차적으로 수행되며, 여기서 해당 기준 포인트라 함은 기준 포인트로 설정된 포인트로 트리 구조의 포인트 중 기준 포인트로 설정된 포인트이다.The adjacent point search and normal vector estimation algorithm is sequentially performed for all points in the tree structure based on the tree structure, where the reference point refers to a point set as a reference point and a point set as a reference point among the points in the tree structure. .
도 1은 일 실시 예에 따른 스트리밍용 포인트 클라우드 압축 시스템의 구성을 보인 도면이고, 도 2는 도 1의 포인트 구조화 과정을 설명하는 예시도이며, 도 3은 포인트의 법선 벡터에 대한 개념도이고, 도 4는 도 1의 포인트 법선벡터 추정 장치의 세부 구성도이며, 도 5는 도 4의 임시 메모리의 포인트 배열을 보인 예시도이다. FIG. 1 is a diagram showing the configuration of a point cloud compression system for streaming according to an embodiment, FIG. 2 is an example diagram explaining the point structuring process of FIG. 1, FIG. 3 is a conceptual diagram of a normal vector of a point, and FIG. 4 is a detailed configuration diagram of the point normal vector estimation device of FIG. 1, and FIG. 5 is an example diagram showing the point arrangement of the temporary memory of FIG. 4.
도 1 내지 도 5를 참조하면, 일 실시예의 스트리밍용 포인트 클라우드 압축 시스템은 구형의 포인트 클라우드의 각 포인트를 육면체로 변환한 후 트리 형태로 구조화하고, 설정된 트리 구조의 기준 포인트와 상기 기준 포인트의 하위 노드인 자식 노드의 각 포인트 간에 연산 거리가 기준 거리 이하인 포인트에 대해 법선 벡터를 도출하고, 도출된 법선 벡터와 카메라를 통해 획득된 사용자 시야의 방향 벡터의 내적값으로 추출된 포인트에 대한 인코딩을 수행하는 구성을 갖추며, 이에 시스템은 포인트 구조화 장치(1), 포인트 법선벡터 추정장치(2), 인코딩 장치(3)를 포함할 수 있다.Referring to FIGS. 1 to 5, the point cloud compression system for streaming in one embodiment converts each point of a spherical point cloud into a hexahedron and then structures it into a tree form, and combines a reference point of a set tree structure and sub-points of the reference point. Normal vectors are derived for points where the calculation distance between each point of the child node is less than the standard distance, and encoding is performed on the extracted points as the inner product of the derived normal vector and the direction vector of the user's field of view obtained through the camera. The system may include a point structuring device (1), a point normal vector estimation device (2), and an encoding device (3).
포인트 구조화 장치(1)는 포인트 클라우드의 각 포인트를 큐브 형태의 육면체에 매핑시킨 다음 매핑된 육면체의 각 포인트를 트리 형태로 구조화하는 기능을 수행한다.The point structuring device 1 maps each point of the point cloud to a cube-shaped hexahedron and then performs the function of structuring each point of the mapped hexahedron into a tree shape.
일 실시예에서 구형의 포인트 클라우드의 각 포인트를 큐브 형태의 육면체의 각 면에 매핑하는 일련의 과정에 대해 구체적으로 명시하지 아니하였으나 이는 당업자 수준에서 이해될 수 있다. In one embodiment, the series of processes for mapping each point of a spherical point cloud to each face of a cube-shaped hexahedron is not specifically specified, but this can be understood by those skilled in the art.
포인트 구조화 장치(1)는 육면체의 각 포인트를 트리 형태로 구조화를 수행한다. 일 례로, 도 2를 참조하면, 포인트 구조화 장치(1)는 (a)에 도시된 바와 같이 육면체의 X축 중앙에 위치한 포인트(60, 70, 60)로 제1 노드를 구성한 다음 (b)에 도시된 바와 같이 육면체의 X축에 의해 구획된 2개의 각 영역의 Y축 중앙에 위치한 포인트((25, 50, 30), (50, 45, 50))로 제1 노드의 하위 노드로 제2 노드(이하 자식 노드로 칭함)를 구성하며, (c)에 도시된 바와 같이 육면체의 X축과 Y축으로 구획된 4개의 각 영역의 Z축 중앙에 위치한 포인트((10, 70, 50), (40, 25, 55), (65, 70, 60), (80, 30, 60))로 제2 노드의 하위 노드로 자식 노드를 구성한다. 이러한 큐브 형태의 포인트를 트리 형태로 구조화하는 과정은 구형의 포인트 클라우드의 모든 포인트에 대해 반복하여 수행된다. 여기서, 포인트(25, 50, 30)는 포인트의 X, Y, Z 축 좌표계의 포인트 위치를 나타낸다.The point structuring device 1 structures each point of the hexahedron in a tree form. For example, referring to FIG. 2, the point structuring device 1 configures the first node with points 60, 70, and 60 located at the center of the X-axis of the cube as shown in (a), and then constructs the first node in (b) As shown, the point ((25, 50, 30), (50, 45, 50)) located at the center of the Y axis of each of the two areas divided by the X axis of the hexahedron is the second node as a child of the first node. It constitutes a node (hereinafter referred to as a child node), and as shown in (c), a point ((10, 70, 50) located at the center of the Z axis of each of the four areas divided by the X and Y axes of the hexahedron A child node is formed as a child node of the second node with (40, 25, 55), (65, 70, 60), (80, 30, 60)). The process of structuring these cube-shaped points into a tree shape is repeatedly performed for all points in the spherical point cloud. Here, points (25, 50, 30) represent the point location of the point's X, Y, and Z axis coordinate system.
트리 구조의 각 포인트는 포인트 법선벡터 추정장치(2)로 전달된다. Each point in the tree structure is transmitted to the point normal vector estimation device (2).
포인트 법선벡터 추정장치(2)는 트리 구조의 각 포인트에서 순차적으로 기준 포인트를 설정하고 설정된 해당 기준 포인트와의 거리차인 연산 거리 d를 토대로 인접 포인트를 검색하고, 검색된 2개의 인접 포인트와 기준 포인트로 형성된 평면에 대한 수직의 기준 포인트의 법선 벡터를 도출하는 구성을 갖춘다. The point normal vector estimation device (2) sequentially sets a reference point at each point of the tree structure, searches for adjacent points based on the calculated distance d, which is the distance difference from the set corresponding reference point, and uses the two searched adjacent points and the reference point. It is equipped with a configuration for deriving the normal vector of a reference point perpendicular to the formed plane.
이에 포인트 법선벡터 추정장치(2)는 도 3을 참조하면, 포인트 정렬부(21), 법선벡터 도출부(22), 임시 메모리(23), 및 법선벡터 최적화부(24)를 포함할 수 있다.Accordingly, referring to FIG. 3, the point normal vector estimation device 2 may include a point alignment unit 21, a normal vector derivation unit 22, a temporary memory 23, and a normal vector optimization unit 24. .
여기서, 포인트 정렬부(21)는 포인트 구조화 장치(1)의 각 노드의 포인트로 순차 설정된 기준 포인트와 기준 포인트의 자식 노드의 포인트 간의 연산 거리가 정해진 기준 거리 이하인 포인트를 검색하여 임시 메모리(23)에 저장한 다음 임시 메모리(23)에 저장된 포인트를 연산 거리에 대해 오름 차순으로 정렬한다.Here, the point sorting unit 21 searches for points where the calculation distance between the reference point sequentially set as the point of each node of the point structuring device 1 and the point of the child node of the reference point is less than or equal to the set reference distance, and stores it in the temporary memory 23. Then, the points stored in the temporary memory 23 are sorted in ascending order with respect to the calculation distance.
예를 들어, 도 4를 참조하면, 포인트 정렬부(21)는 해당 기준 포인트가 제1 노드의 포인트로 설정되면, 제1 노드의 하위 노드인 자식 노드의 포인트와 해당 기준 포인트 간의 거리를 연산하고, 연산 거리 d가 기 정해진 기준 거리 이하인 포인트로 포인트 배열을 생성한다. For example, referring to FIG. 4, when the reference point is set as the point of the first node, the point alignment unit 21 calculates the distance between the point of the child node, which is a child node of the first node, and the reference point. , a point array is created with points whose calculation distance d is less than or equal to a predetermined standard distance.
즉, 도 4의 (a)에 도시된 바와 같이, 포인트 인덱스 32의 포인트를 해당 기준 포인트로 설정되면, (b)에 도시된 바와 같이, 포인트 32의 하위 노드인 자식 노드의 포인트 인덱스 2 및 83과 설정된 해당 기준 포인트 32간에 거리 차를 연산하여 연산 거리 d를 도출하며, 이때 도출된 연산 거리 d는 각각 2.1와 1.5로 기준 거리 r=3 이하이므로, 포인트 인덱스 2 및 83의 포인트는 임시 메모리(23)에 저장한다.That is, as shown in (a) of FIG. 4, if the point of point index 32 is set as the corresponding reference point, as shown in (b), the point indices 2 and 83 of the child nodes that are lower nodes of point 32 The calculated distance d is derived by calculating the distance difference between and the set corresponding reference point 32. At this time, the calculated calculated distance d is 2.1 and 1.5, respectively, which is less than the standard distance r = 3, so the points at point indices 2 and 83 are stored in temporary memory ( 23) Save it.
한편, 도 4의 (c)에 도시된 바와 같이 포인트 정렬부(21)는 포인트 인덱스 2의 해당 기준 포인트와 기준 포인트의 자식 노드의 포인트 인덱스 93, 7의 각 포인트 간의 거리를 연산하며, 이때 연산 거리 d는 각각 3.1, 2.4이다. Meanwhile, as shown in (c) of FIG. 4, the point alignment unit 21 calculates the distance between the corresponding reference point of point index 2 and each point of point indexes 93 and 7 of the child nodes of the reference point, and at this time, calculate The distance d is 3.1 and 2.4, respectively.
또한 포인트 정렬부(21)는 포인트 인덱스 83의 해당 기준 포인트와 해당 기준 포인트 간의 연산 거리 d는 각각 1.7, 2.3이다. 따라서 기준 거리 r=3 이하인 포인트 인덱스 45, 17, 7은 임시 메모리(23)에 저장한다. 이러한 임시 메모리(23)의 포인트 배열은 모든 노드의 각 포인트에 대해 수행된다. In addition, the point alignment unit 21 calculates the calculated distance d between the reference point of point index 83 and the reference point to be 1.7 and 2.3, respectively. Therefore, point indices 45, 17, and 7 that are less than or equal to the reference distance r=3 are stored in the temporary memory 23. This sorting of points in the temporary memory 23 is performed for each point of all nodes.
도 5는 도 3의 포인트 배열부(21)의 동작을 설명하기 위한 도이고, 도 6은 도 3의 임시 메모리(23)의 포인트 배열을 보인 예시도로서, 도 5 및 도 6을 참조하면, 포인트 배열부(21)는 트리 구조의 각 포인트로 순차적으로 설정된 기준 노드와 기준 노드가 속하는 노드의 하위 노드인 자식 노드의 각 포인트 간의 거리 기반으로 임시 메모리의 포인트 배열을 수행한다.FIG. 5 is a diagram for explaining the operation of the point arrangement unit 21 of FIG. 3, and FIG. 6 is an exemplary diagram showing the point arrangement of the temporary memory 23 of FIG. 3. Referring to FIGS. 5 and 6, The point arrangement unit 21 performs point arrangement in the temporary memory based on the distance between the reference node sequentially set as each point of the tree structure and each point of the child node, which is a lower node of the node to which the reference node belongs.
즉, 도 5을 참조하면 포인트 배열부(21)는, 단계(110)(120)에서 기 정해진 포인트 클라우드의 포인트 수로 형성된 임시 메모리의 포인트 배열 및 기준 거리 r을 설정하고 설정된 임시 메모리의 포인트 배열에 각 노드의 포인트를 삽입한다.That is, referring to FIG. 5, the point array unit 21 sets the point array and reference distance r of the temporary memory formed by the number of points of the predetermined point cloud in steps 110 and 120, and sets the point array of the set temporary memory. Insert the point of each node.
본 명세서 상에서 기준 거리 r은 다수의 실험을 통해 얻어진 결과 값으로 재생 콘텐츠의 해상도를 반영하여 설정될 수 있다. In this specification, the reference distance r is a result obtained through multiple experiments and can be set to reflect the resolution of the playback content.
이 후 포인트 배열부(21)는 단계(131 ~ 133)에서, 트리 구조의 설정된 기준 포인트와 기준 포인트가 속하는 노드의 하위 노드인 자식 노드 중 왼쪽 포인트 AL간의 연산 거리와 설정된 기준 거리를 토대로 왼쪽 포인트 AL를 임시 메모리의 포인트 배열에 삽입한다.Afterwards, in steps 131 to 133, the point array unit 21 calculates the left point A L and the set reference distance between the set reference point of the tree structure and the left point A L among the child nodes that are lower nodes of the node to which the reference point belongs. Insert point A L into the point array in temporary memory.
즉, 포인트 배열부(21)는 상기 연산 거리가 상기 기준 거리 이하인 우(화살표의 “예” 방향으로 진행) 임시 메모리의 왼쪽 위치에 상기 왼쪽 포인트를 삽입한다.That is, the point array unit 21 inserts the left point into the left position of the temporary memory if the calculation distance is less than or equal to the reference distance (progressing in the “Yes” direction of the arrow).
단계(132)에서 연산 거리가 상기 기준 거리 이하가 아닌 경우(화살표의 “아니오” 방향으로 진행), 단계(134 ~ 136)에서 포인트 법선벡터 추정장치(2)는 제1 노드의 자식 노드인 오른쪽 포인트 AR간의 연산 거리와 설정된 기준 거리를 토대로 오른쪽 포인트를 임시 메모리의 포인트 배열에 삽입한다.If the calculation distance in step 132 is not less than the reference distance (proceeding in the “No” direction of the arrow), in steps 134 to 136, the point normal vector estimator 2 determines the right side of the child node of the first node. Based on the calculated distance between points A and R and the set standard distance, the right point is inserted into the point array of temporary memory.
즉, 포인트 배열부(21)는 상기 연산 거리가 상기 기준 거리 이하인 경우(화살표의 “예” 방향으로 진행) 임시 메모리의 오른쪽 위치에 상기 오른쪽 포인트 AR를 삽입한다.That is, the point array unit 21 inserts the right point A R into the right position of the temporary memory when the calculation distance is less than or equal to the reference distance (proceeding in the “Yes” direction of the arrow).
포인트 배열부(21)는 단계(137~139)에서 인접 포인트의 마지막이고 포인트 트리 구조의 마지막 노드에 도달하였는 지를 판단하고, 마지막 노드에 도달한 경우(화살표 “예” 방향으로 진행) 임시 메모리에 저장된 포인트와 기준 포인트 간의 연산 거리에 대한 오름차순으로 정렬한다.In steps 137 to 139, the point array unit 21 determines whether the last adjacent point and the last node of the point tree structure have been reached, and if the last node has been reached (proceeding in the direction of the arrow “Yes”), it is stored in temporary memory. Sort in ascending order of the calculated distance between the saved point and the reference point.
또한 포인트 배열부(21)는 단계(137)에서 화살표 “아니오” 방향으로 진행하는 경우, 단계(S31)로 반복 진행한다. 이에 임시 메모리의 포인트 배열은 도 6에 도시된 바와 같이, 포인트 AL, BL, CL, DL, DR, CR, BR, AR 순으로 저장된다. Additionally, when the point array unit 21 proceeds in the direction of the arrow “No” in step 137, it repeatedly proceeds to step S31. Accordingly, the point array of the temporary memory is stored in the order of points A L , BL L , C L , D L , DR , C R , B R , and A R , as shown in FIG. 6 .
이 후 포인트 정렬부(21)는 단계(138)에서, 임시 메모리(23)의 포인트 배열을 연산 거리 순으로 정렬하고 이에 임시 메모리(23)의 포인트 배열은 연산 거리에 대한 오름 차순으로 정렬되며, 따라서, 임시 메모리(23)는 기준 포인트와의 연산 거리가 짧은 포인트 순으로 저장한다.Afterwards, the point sorting unit 21 sorts the point array of the temporary memory 23 in order of calculation distance in step 138, and the point array of the temporary memory 23 is sorted in ascending order of calculation distance, Therefore, the temporary memory 23 stores points in order of the shortest calculation distance from the reference point.
이에, 일 실시예는 임시 메모리(23)에 저장되는 포인트의 수는 연산 거리가 기준 거리 이하인 포인트로 입력 포인트 수에 비해 줄일 수 있다. 이에 후술된 각 포인트 별 법선 벡터의 연산 복잡도가 감소된다.Accordingly, in one embodiment, the number of points stored in the temporary memory 23 may be reduced compared to the number of input points to points whose calculation distance is less than the reference distance. Accordingly, the computational complexity of the normal vector for each point, which will be described later, is reduced.
도 3의 법선벡터 도출부(22)는 임시 메모리(23)의 첫번째 포인트와 두번째 포인트로 검색된 2개의 인접 포인트와 1개의 기준 포인트로 이루어지는 평면에 대한 수직 벡터로 법선벡터를 도출한다. The normal vector derivation unit 22 of FIG. 3 derives a normal vector as a perpendicular vector to a plane consisting of two adjacent points and one reference point retrieved as the first and second points of the temporary memory 23.
도 7은 도 3의 법선벡터 도출부의 법선벡터의 개념도로서, 도 7을 참조하면, 법선 벡터는 임시 메모리의 포인트 중 정해진 임의의 기준 포인트 A와 인접 포인트 A', A''로 형성된 평면에 대한 수직 벡터이다. FIG. 7 is a conceptual diagram of the normal vector of the normal vector derivation unit of FIG. 3. Referring to FIG. 7, the normal vector is a reference point for a plane formed by an arbitrary reference point A and adjacent points A' and A'' among points in the temporary memory. It is a vertical vector.
이때 법선 벡터는 CUDA(Compute Unified Device Architecture) 병렬 처리 알고리즘으로 도출될 수 있으며, 이에 법선벡터 도출부(22)는 각 포인트 별로 CUDA 커널 함수의 CUDA 임계치를 설정하고 설정된 CUDA 임계치와 2개의 인접 포인트 및 1개의 기준 포인트로 법선벡터를 도출한다. At this time, the normal vector can be derived using a CUDA (Compute Unified Device Architecture) parallel processing algorithm, and the normal vector derivation unit 22 sets the CUDA threshold of the CUDA kernel function for each point and calculates the set CUDA threshold and two adjacent points and A normal vector is derived from one reference point.
일 실시예에서, 설정된 CUDA 임계치와 2개의 인접 포인트 및 1개의 기준 포인트를 입력으로 CUDA(Compute Unified Device Architecture) 병렬 처리 알고리즘을 통해 법선벡터를 도출하는 과정은 본 명세서 상에서 구체적으로 명시하지 아니하였으나 이는 당업자 수준에서 이해될 수 있다.In one embodiment, the process of deriving a normal vector through a CUDA (Compute Unified Device Architecture) parallel processing algorithm with a set CUDA threshold, two adjacent points, and one reference point as input is not specifically specified in the specification, but this is It can be understood at the level of those skilled in the art.
그리고 도출된 각 포인트 별 법선 벡터는 임시 메모리(23)에 제공되며, 이에 임시 메모리(23)에 저장된 기준 거리 이하의 각 포인트는 포인트 인덱스, 육면체의 포인트 위치 좌표, 및 도출된 법선 벡터 등의 정보들이 포함될 수 있다.And the derived normal vector for each point is provided to the temporary memory 23, and each point below the standard distance stored in the temporary memory 23 includes information such as point index, point position coordinates of the hexahedron, and derived normal vector. may be included.
도 8은 도 4의 법선벡터 도출부의 동작 과정을 보인 도면으로서, 도 8을 참조하면, 법선벡터 도출부(22)는 단계(141~144)에서 임시 메모리의 첫번째 포인트 및 두번째 포인트를 인접 포인트로 추출하고, 추출된 2개의 인접 포인트와 기준 포인트를 토대로 평면을 생성한 다음 생성된 평면의 수직인 법선 벡터를 도출하고, 도출된 법선 벡터를 임시 메모리(23)의 해당 기준포인트에 삽입한다. 여기서, 임시 메모리(23)의 첫번째 포인트와 두번째 포인트는 기준 포인트에서 가까운 거리를 가지는 인접 포인트이다. 이 후 법선벡터 도출부(22)는 단계(138)로 진행한다.FIG. 8 is a diagram showing the operation process of the normal vector derivation unit of FIG. 4. Referring to FIG. 8, the normal vector derivation unit 22 converts the first point and the second point of the temporary memory into adjacent points in steps 141 to 144. After extraction, a plane is created based on the two extracted adjacent points and the reference point, a normal vector perpendicular to the created plane is derived, and the derived normal vector is inserted into the corresponding reference point in the temporary memory 23. Here, the first and second points of the temporary memory 23 are adjacent points having a short distance from the reference point. Afterwards, the normal vector derivation unit 22 proceeds to step 138.
한편, 스트리밍용 포인트 클라우드 압축 시스템은 평면의 수직을 이용하여 도출된 법선 벡터는 제작된 콘텐츠의 객체의 평면 부분에서 정확하나 곡면 부분에서는 정확도가 저하된다. 이에 포인트 법선벡터 추정장치(2)는 임시 메모리의 적어도 3의 포인트의 법선 벡터의 평균값을 도출한 다음 도출된 평균 법선벡터를 해당 기준 포인트의 법선 벡터로 설정한다. 이에 임시 메모리(23)에 저장된 모든 포인트에 대해 정규화된다. Meanwhile, in the point cloud compression system for streaming, the normal vector derived using the vertical of the plane is accurate in the flat part of the object of the produced content, but the accuracy deteriorates in the curved part. Accordingly, the point normal vector estimation device 2 derives the average value of the normal vectors of at least three points in the temporary memory and then sets the derived average normal vector as the normal vector of the corresponding reference point. Accordingly, all points stored in the temporary memory 23 are normalized.
한편, 도 3의 법선벡터 최적화부(24)는 임시 메모리(23)의 해당 포인트에 대해 적어도 3 이상의 인접 포인트를 추출하고 추출된 인접 포인트의 법선 벡터를 평균하여 평균 법선 벡터를 해당 기준 포인트의 법선 벡터로 설정한다. Meanwhile, the normal vector optimization unit 24 of FIG. 3 extracts at least 3 adjacent points to the corresponding point in the temporary memory 23, averages the normal vectors of the extracted adjacent points, and calculates the average normal vector as the normal of the reference point. Set as vector.
따라서, 일 실시예는 임시 메모리에 기준 포인트와의 연산 거리가 기 정해진 기준 거리 이하인 포인트를 연산 거리에 대한 오름차순으로 정렬되어 저장됨에 따라, 인접 포인트의 탐색이 용이하고, 인접 포인트의 탐색횟수를 줄일 수 있다.Therefore, in one embodiment, points whose calculation distance from the reference point is less than or equal to a predetermined reference distance are sorted and stored in ascending order of the calculation distance, making it easy to search for adjacent points and reducing the number of searches for adjacent points. You can.
도 9는 도 4의 법선벡터 최적화부의 동작 과정을 보인 도면이고, 도 10은 최적화된 법선벡터와 도 8의 법선 벡터를 보인 비교 도면으로서, 도 9 및 도 10을 참조하면 일 실시예의 법선벡터 최적화부(24)는 단계(211 ~ 212)에서, 임시 메모리에 저장된 인접 포인트의 선정 방식을 설정하고, 설정된 인접 포인트 선정 방식에 따라 임시 메모리의 인접 포인트를 추출한다. 일 례로 인접 포인트 선정 방식이 최초 N개의 포인트 추출 방식인 경우 첫번째 포인트 내지 N번째 포인트가 인접 포인트로 추출된다. 다른 례로 인접 포인트 선정 방식이 기 정해진 연산 거리 이내의 포인트 추출 방식인 경우 해당 포인트에 대해 정해진 연산 거리 이내의 포인트가 인접 포인트로 추출된다.FIG. 9 is a diagram showing the operation process of the normal vector optimization unit of FIG. 4, and FIG. 10 is a comparison diagram showing the optimized normal vector and the normal vector of FIG. 8. Referring to FIGS. 9 and 10, normal vector optimization of one embodiment is shown. In steps 211 to 212, the unit 24 sets a selection method for adjacent points stored in the temporary memory and extracts adjacent points in the temporary memory according to the set adjacent point selection method. For example, if the adjacent point selection method is a method of extracting the first N points, the first to Nth points are extracted as adjacent points. As another example, if the adjacent point selection method is a point extraction method within a predetermined calculation distance, points within the determined calculation distance for the point are extracted as adjacent points.
법선벡터 최적화부(24)는 단계(213, 214)에서 각 추출된 포인트의 범선 벡터의 평균을 연산하고 연산된 평균 법선 벡터를 해당 기준 포인트의 법선 벡터로 설정하여 임시 메모리에 저장하고 이 후 단계(214)의 실행 후 단계(138)로 진행한다. The normal vector optimization unit 24 calculates the average of the sail vector of each extracted point in steps 213 and 214, sets the calculated average normal vector as the normal vector of the corresponding reference point, and stores it in temporary memory. After executing step (214), proceed to step (138).
이에 도 10을 참조하면, 일 실시예의 법선벡터 최적화부(24)는 도 8에 의거 도출된 법선 벡터에 비해 최적화된 법선 벡터임을 알 수 있다.Accordingly, referring to FIG. 10, it can be seen that the normal vector optimization unit 24 of one embodiment is an optimized normal vector compared to the normal vector derived based on FIG. 8.
또한, 도 1의 인코딩 장치(3)는 도출된 법선 벡터를 이용하여 카메라(미도시됨)을 통해 획득된 사용자의 시야와 매칭되는 객체 위치의 포인트를 압축하여 전송한다.In addition, the encoding device 3 of FIG. 1 compresses and transmits the point of the object location that matches the user's field of view obtained through a camera (not shown) using the derived normal vector.
인코딩 장치(3)는 카메라의 방향 벡터와 콘텐츠의 객체의 포인트의 법선 벡터를 내적하여 도출된 내적값이 양수인 경우 해당 포인트를 인코딩하고, 내적값이 음수인 경우 사용자의 시야에 없는 포인트로 판단한다. The encoding device 3 encodes the point if the inner product value derived by dot producting the direction vector of the camera and the normal vector of the point of the content object is a positive number, and if the inner product value is a negative number, it determines the point to be out of the user's field of view. .
도 11은 제작된 콘텐츠의 객체에 대해 인코딩하는 포인트를 보인 예시도로서, 이에 도 10에 도시된 바와 같이, 카메라(미도시됨)에 의거 획득된 사용자 시야에 존재하는 해당 포인트에 대해 인코딩됨을 알 수 있다.Figure 11 is an example diagram showing the encoding point for an object of produced content. As shown in Figure 10, it can be seen that the corresponding point present in the user's field of view obtained by a camera (not shown) is encoded. You can.
따라서, 일 실시예는 제작된 콘텐츠의 객체의 포인트 클라우드 중에서 트리 구조의 기준 포인트와의 연산 거리가 기준 거리 이하의 포인트의 법선 벡터를 생성함에 따라 법선 벡터의 연산 복잡도를 감소할 수 있고, 이에 다른 인코딩 속도를 향상시킬 수 있으며, 경량의 디바이스에 적용 가능하므로 범용성을 향상시킬 수 있다. Therefore, in one embodiment, the computation complexity of the normal vector can be reduced by generating a normal vector of a point whose computation distance from the reference point of the tree structure is less than or equal to the reference distance among the point cloud of the object of the produced content. Encoding speed can be improved and versatility can be improved because it can be applied to lightweight devices.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.As described above, although the embodiments have been described with limited examples and drawings, various modifications and variations can be made by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the claims and equivalents of this patent as well as the claims described below.

Claims (11)

  1. 제작된 콘텐츠의 구형의 포인트 클라우드를 육면체의 포인트로 변환한 다음 트리 구조로 포인트로 변환하는 포인트 구조화 장치;A point structuring device that converts the spherical point cloud of the produced content into hexahedral points and then converts them into points in a tree structure;
    상기 트리 구조의 각 노드의 포인트 각각을 순차적으로 기준 포인트로 설정하고, 설정된 각 기준 포인트와 상기 각 기준 포인트가 포함된 노드의 하위 노드인 자식 노드의 각 포인트 간의 연산 거리 및 정해진 기준 거리를 토대로 각 포인트의 법선 벡터를 도출하는 포인트 법선벡터 추정장치; 및Each point of each node of the tree structure is sequentially set as a reference point, and each reference point is set based on the calculated distance and the determined reference distance between each set reference point and each point of the child node that is a child node of the node containing each reference point. A point normal vector estimation device that derives the normal vector of a point; and
    상기 각 포인트의 법선 벡터와 카메라에 의거 획득된 사용자 시야의 방향 벡터의 내적값으로 포인트를 추출하고 추출된 포인트를 인코딩하여 전송하는 인코딩 장치를 포함하는 것을 특징으로 하는 스트리밍용 포인트 클라우드 압축 시스템A point cloud compression system for streaming, comprising an encoding device that extracts points using the inner product of the normal vector of each point and the direction vector of the user's field of view obtained by a camera, encodes the extracted points, and transmits them.
  2. 제1항에 있어서, 상기 포인트 법선벡터 추정장치는,The method of claim 1, wherein the point normal vector estimation device is:
    상기 트리 구조의 각 노드의 포인트 각각을 순차적으로 기준 포인트로 설정하고, 해당 기준 포인트와 자식 노드의 포인트 간의 연산 거리를 출력하며, 출력된 연산 거리가 기 정해진 기준 거리 이하인 포인트에 대해 임시 메모리에 저장하고, 임시 메모리에 저장된 포인트를 연산 거리에 대한 오름 차순으로 정렬하는 포인트 정렬부; 및 Each point of each node of the tree structure is sequentially set as a reference point, the calculation distance between the reference point and the point of the child node is output, and the points for which the output calculation distance is less than a predetermined standard distance are stored in temporary memory. and a point sorting unit that sorts the points stored in the temporary memory in ascending order with respect to the calculation distance. and
    해당 기준 포인트에 대한 임시 메모리의 첫번째 포인트 및 두번째 포인트로 획득된 인접 포인트와 및 해당 기준 포인트로 형성된 평면의 수직 방향으로 기준 포인트의 법선 벡터를 도출하여 임시 메모리의 해당 기준 포인트에 저장하는 법선벡터 도출부를 포함하는 것을 특징으로 하는 스트리밍용 포인트 클라우드 압축 시스템.Deriving the normal vector of the reference point in the vertical direction of the plane formed by the adjacent points obtained as the first and second points in the temporary memory for the reference point and the corresponding reference point, and storing the normal vector in the corresponding reference point in the temporary memory. A point cloud compression system for streaming characterized by including wealth.
  3. 제2항에 있어서, 상기 포인트 법선벡터 추정장치는,The method of claim 2, wherein the point normal vector estimation device is:
    상기 해당 기준 포인트의 인접 포인트로 적어도 3의 포인트를 추출한 다음 추출된 각 포인트의 법선 벡터를 평균한 다음 평균 법선 벡터를 해당 기준 포인트의 법선벡터로 설정하는 법선벡터 최적화부를 더 포함하는 것을 특징으로 하는 스트리밍용 포인트 클라우드 압축 시스템.Characterized in that it further comprises a normal vector optimization unit that extracts at least 3 points as neighboring points of the corresponding reference point, averages the normal vector of each extracted point, and then sets the average normal vector as the normal vector of the reference point. A point cloud compression system for streaming.
  4. 제3항에 있어서, 상기 인코딩 장치는, The method of claim 3, wherein the encoding device:
    카메라를 통해 획득된 사용자 시야의 방향 벡터와 각 포인트의 법선 벡터의 내적값을 도출하고 도출된 내적값이 양수인 포인트에 대해 인코딩하여 전송하도록 구비되는 것을 특징으로 하는 스트리밍용 포인트 클라우드 압축 시스템.A point cloud compression system for streaming, characterized in that it is provided to derive the inner product of the direction vector of the user's field of view acquired through a camera and the normal vector of each point, encode and transmit the points for which the derived inner product is a positive number.
  5. 제1항의 제작된 콘텐츠의 육면체의 포인트를 트리 구조로 변환하고 변환된 트리 구조의 포인트를 순차적으로 기준 포인트로 설정하고, 설정된 해당 기준 포인트와 해당 기준 포인트가 포함된 노드의 자식 노드의 각 포인트 간의 연산 거리가 기 정해진 기준 거리 이하인 포인트에 대해 임시 메모리에 저장하고, 저장된 임시 메모리의 각 포인트를 연산 거리에 대한 오름 차순으로 정렬하는 포인트 정렬부; 및 The points of the hexahedron of the produced content in Paragraph 1 are converted into a tree structure, the points of the converted tree structure are sequentially set as reference points, and the distance between the set reference point and each point of the child node of the node containing the reference point is set. a point sorting unit that stores points whose calculation distance is less than or equal to a predetermined reference distance in a temporary memory, and sorts each point in the stored temporary memory in ascending order with respect to the calculation distance; and
    상기 임시 메모리의 두개의 인접 포인트와 및 해당 기준 포인트로 형성된 평면의 수직 방향으로 법선 벡터를 도출하여 도출된 법선 벡터를 임시 메모리의 해당 기준 포인트에 각각 저장하는 법선벡터 도출부를 포함하는 것을 특징으로 하는 스트리밍용 포인트 클라우드 압축 시스템의 포인트 법선벡터 추정 장치.Characterized by a normal vector derivation unit for deriving a normal vector in a vertical direction of a plane formed by two adjacent points of the temporary memory and the corresponding reference point and storing the derived normal vectors in corresponding reference points of the temporary memory, respectively. Point normal vector estimation device for point cloud compression system for streaming.
  6. 제5항에 있어서, 상기 포인트 법선벡터 추정장치는, The method of claim 5, wherein the point normal vector estimation device is:
    상기 해당 기준 포인트의 인접 포인트로 적어도 3의 포인트를 추출한 다음 추출된 각 포인트의 법선 벡터를 평균한 다음 평균 법선 벡터를 해당 기준 포인트의 법선벡터로 설정하는 법선벡터 최적화부를 더 포함하는 것을 특징으로 하는 스트리밍용 포인트 클라우드 압축 시스템의 포인트 법선벡터 추정 장치.Characterized in that it further comprises a normal vector optimization unit that extracts at least 3 points as neighboring points of the corresponding reference point, averages the normal vector of each extracted point, and then sets the average normal vector as the normal vector of the reference point. Point normal vector estimation device for point cloud compression system for streaming.
  7. 제1항의 스트리밍용 포인트 클라우드 압축 시스템에 의거 수행되는 스트리밍 용 포인트 클라우드 압축 방법에 있어서, In the point cloud compression method for streaming performed according to the streaming point cloud compression system of claim 1,
    제작된 콘텐츠의 구형의 포인트 클라우드를 육면체의 포인트로 변환한 다음 트리 구조로 포인트로 변환하는 포인트 구조화 단계;A point structuring step of converting the spherical point cloud of the produced content into hexahedral points and then converting them into points in a tree structure;
    상기 트리 구조의 각 포인트를 기준 포인트로 설정하고, 설정된 해당 기준 포인트와 해당 기준 포인트의 노드의 하위 노드인 자식 노드의 각 포인트 간의 연산 거리 및 정해진 기준 거리를 토대로 각 포인트의 법선 벡터를 도출하는 포인트 법선벡터 추정단계; 및A point that sets each point of the tree structure as a reference point and derives the normal vector of each point based on the calculated distance between the set reference point and each point of the child node that is the child node of the node of the reference point and the determined reference distance. Normal vector estimation step; and
    상기 각 포인트의 법선 벡터와 카메라에 의거 획득된 사용자 시야의 방향 벡터의 내적값으로 포인트를 추출하고 추출된 포인트를 인코딩하여 전송하는 인코딩 단계를 포함하는 것을 특징으로 하는 스트리밍 용 포인트 클라우드 압축 방법. A point cloud compression method for streaming, comprising an encoding step of extracting points using an inner product of the normal vector of each point and the direction vector of the user's field of view obtained by a camera, encoding the extracted points, and transmitting them.
  8. 제7항에 있어서, 상기 포인트 법선벡터 추정단계는,The method of claim 7, wherein the point normal vector estimation step is,
    트리 구조의 각 포인트를 기준 포인트로 각각 설정하고, 설정된 해당 기준 포인트와 자식 노드의 각 포인트 간의 연산 거리를 출력 단계;A step of setting each point of the tree structure as a reference point and outputting the calculated distance between the set reference point and each point of the child node;
    출력된 연산 거리가 기 정해진 기준 거리 이하인 포인트에 대해 임시 메모리에 저장하고, 임시 메모리의 포인트를 연산 거리에 대한 오름 차순으로 정렬하는 단계; 및Storing points in a temporary memory where the output calculation distance is less than or equal to a predetermined reference distance, and sorting the points in the temporary memory in ascending order with respect to the calculation distance; and
    상기 해당 기준 포인트에 대한 임시 메모리의 첫번째 포인트 및 두번째 포인트로 획득된 인접 포인트와 및 해당 기준 포인트로 형성된 평면의 수직 방향으로 해당 기준 포인트의 법선 벡터를 도출하고 도출된 해당 기준 포인트의 법선 벡터를 임시 메모리의 해당 기준 포인트에 저장하는 단계를 포함하는 것을 특징으로 하는 스트리밍 용 포인트 클라우드 압축 방법.The normal vector of the reference point is derived in the vertical direction of the plane formed by the adjacent point and the reference point obtained as the first and second points of the temporary memory for the reference point, and the normal vector of the derived reference point is temporarily A point cloud compression method for streaming, comprising the step of storing corresponding reference points in memory.
  9. 제8항에 있어서, 상기 포인트 법선벡터 추정단계는,The method of claim 8, wherein the point normal vector estimation step is,
    상기 해당 기준 포인트의 인접 포인트로 적어도 3의 포인트를 추출한 다음 추출된 적어도 3의 포인트의 법선 벡터를 평균한 다음 평균 법선 벡터를 해당 기준 포인트의 법선벡터로 설정하는 단계를 더 포함하는 것을 특징으로 하는 스트리밍 용 포인트 클라우드 압축 방법.Characterized in that it further comprises the step of extracting at least 3 points as neighboring points of the reference point, averaging the normal vectors of the at least 3 extracted points, and then setting the average normal vector as the normal vector of the reference point. Point cloud compression method for streaming.
  10. 제9항에 있어서, 상기 인코딩 단계는, The method of claim 9, wherein the encoding step,
    카메라를 통해 획득된 사용자 시야의 방향 벡터와 각 포인트의 법선 벡터의 내적값을 도출하고 도출된 내적값이 양수인 포인트에 대해 인코딩하여 전송하도록 구비되는 것을 특징으로 하는 스트리밍 용 포인트 클라우드 압축 방법.A point cloud compression method for streaming, comprising deriving the inner product of the direction vector of the user's field of view acquired through a camera and the normal vector of each point, encoding and transmitting the points for which the derived inner product is a positive number.
  11. 제7항 내지 제10항 중 한 항의 스트리밍 용 포인트 클라우드 압축 방법이 기록되어 컴퓨터에 의거 수행되는 기록 매체. A recording medium on which the point cloud compression method for streaming according to any one of claims 7 to 10 is recorded and performed by a computer.
PCT/KR2022/019640 2022-08-22 2022-12-05 Point cloud compression system and method for streaming WO2024043406A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0104796 2022-08-22
KR1020220104796A KR20240027182A (en) 2022-08-22 2022-08-22 Point cloud encoding system for streaming

Publications (1)

Publication Number Publication Date
WO2024043406A1 true WO2024043406A1 (en) 2024-02-29

Family

ID=90013316

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/019640 WO2024043406A1 (en) 2022-08-22 2022-12-05 Point cloud compression system and method for streaming

Country Status (2)

Country Link
KR (1) KR20240027182A (en)
WO (1) WO2024043406A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160027208A1 (en) * 2014-07-25 2016-01-28 Kabushiki Kaisha Toshiba Image analysis method
CN109409437A (en) * 2018-11-06 2019-03-01 安徽农业大学 A kind of point cloud segmentation method, apparatus, computer readable storage medium and terminal
US20190197767A1 (en) * 2017-12-26 2019-06-27 Htc Corporation Surface extrction method, apparatus, and non-transitory computer readable storage medium thereof
KR102277098B1 (en) * 2020-02-25 2021-07-15 광운대학교 산학협력단 A volume hologram generation method using point cloud and mesh
KR102404867B1 (en) * 2020-12-16 2022-06-07 한국전자기술연구원 Apparatus and method for providing wrap around view monitoring using 3D distance information

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101820359B1 (en) 2016-10-21 2018-01-19 서울과학기술대학교 산학협력단 Method and apparatus for transmitting 360 degree image

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160027208A1 (en) * 2014-07-25 2016-01-28 Kabushiki Kaisha Toshiba Image analysis method
US20190197767A1 (en) * 2017-12-26 2019-06-27 Htc Corporation Surface extrction method, apparatus, and non-transitory computer readable storage medium thereof
CN109409437A (en) * 2018-11-06 2019-03-01 安徽农业大学 A kind of point cloud segmentation method, apparatus, computer readable storage medium and terminal
KR102277098B1 (en) * 2020-02-25 2021-07-15 광운대학교 산학협력단 A volume hologram generation method using point cloud and mesh
KR102404867B1 (en) * 2020-12-16 2022-06-07 한국전자기술연구원 Apparatus and method for providing wrap around view monitoring using 3D distance information

Also Published As

Publication number Publication date
KR20240027182A (en) 2024-03-04

Similar Documents

Publication Publication Date Title
WO2022050473A1 (en) Apparatus and method for estimating camera pose
WO2021096009A1 (en) Method and device for supplementing knowledge on basis of relation network
WO2023068795A1 (en) Device and method for creating metaverse using image analysis
WO2021241804A1 (en) Multi-flow-based frame interpolation device and method
WO2011136407A1 (en) Apparatus and method for image recognition using a stereo camera
WO2014133251A1 (en) Matching point extraction system using feature points of data inquiry result of lsh algorithm and method for same
WO2016186236A1 (en) Color processing system and method for three-dimensional object
WO2019117393A1 (en) Learning apparatus and method for depth information generation, depth information generation apparatus and method, and recording medium related thereto
WO2022034945A1 (en) Reinforcement learning apparatus and method for data classification
WO2013129729A1 (en) System for searching augmented reality image in real-time by using layout descriptor and image feature point
WO2016190472A1 (en) Device and method for producing augmented reality image by using chroma key
WO2024043406A1 (en) Point cloud compression system and method for streaming
WO2021221334A1 (en) Device for generating color map formed on basis of gps information and lidar signal, and control method for same
WO2015163720A1 (en) Three-dimensional image creating method, three-dimensional image creating apparatus performing same, and recording medium storing same
EP2859727A1 (en) Method and apparatus for estimating image motion using disparity information of a multi-view image
WO2019098421A1 (en) Object reconstruction device using motion information and object reconstruction method using same
WO2016027910A1 (en) Ray tracing method, ray tracing device for performing same, and recording medium for storing same
WO2018021657A1 (en) Method and apparatus for measuring confidence of deep value through stereo matching
CN113037574B (en) Airborne equipment real-time signal processing method and system based on software definition
WO2021256640A1 (en) Device and method for reconstructing human posture and shape model on basis of multi-view image by using information on relative distance between joints
WO2020213757A1 (en) Word similarity determination method
WO2018012685A1 (en) Apparatus for verifying performance of intelligent electronic device, system for verifying performance of intelligent electronic device, and computer-readable recording medium
WO2018199386A1 (en) Device and method for generating power facility data quality information
WO2023277448A1 (en) Artificial neural network model training method and system for image processing
WO2022019590A1 (en) Method and system for detecting edited image using artificial intelligence

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22956612

Country of ref document: EP

Kind code of ref document: A1