WO2020235979A1 - 포인트 클라우드 기반 데이터를 렌더링하는 방법 및 장치 - Google Patents
포인트 클라우드 기반 데이터를 렌더링하는 방법 및 장치 Download PDFInfo
- Publication number
- WO2020235979A1 WO2020235979A1 PCT/KR2020/006764 KR2020006764W WO2020235979A1 WO 2020235979 A1 WO2020235979 A1 WO 2020235979A1 KR 2020006764 W KR2020006764 W KR 2020006764W WO 2020235979 A1 WO2020235979 A1 WO 2020235979A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- points
- projection
- point cloud
- rendering
- screen space
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/172—Processing image signals image signals comprising non-image signal components, e.g. headers or format information
- H04N13/178—Metadata, e.g. disparity information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
Definitions
- the present disclosure relates generally to rendering volume video, and in particular to efficiently rendering point cloud based volume video.
- point cloud data is projected onto a 2D image plane to use the current two-dimensional (2D) video coding standard to compress the content associated with the point cloud data.
- the projection-based approach has redundant data of about 30% to 60% with actual non-redundant data on the 2D image plane.
- the GPU rendering pipeline is not optimized for rendering points. If the redundant point data is processed together with the original data in the GPU rendering pipeline, the performance of the computing device is degraded due to the increased amount of data, and thus, real-time rendering of dynamic point cloud data (60 fps) on a mobile device, which can be called a small computing device, is performed. Difficult to perform
- a typical GPU processes exponentially more pixels at each point.
- point-based operations such as re-projection and rendering stage processing required for processing point cloud data in the GPU rendering pipeline are performed, the overall data processing performance is degraded.
- a solution is needed to increase the efficiency of the rendering process of point cloud data by filtering redundant point data that is redundant during projection.
- a plurality of 2D image frames corresponding to a 3D point cloud and projection metadata including projection information for projecting the 3D point cloud onto a 2D image plane are received, and the plurality of Reconstructing a plurality of 3D points associated with the 3D point cloud based on the 2D image frame and the projection metadata of, and rendering a quad image based on a texture image generated based on the plurality of 3D points
- a method of rendering point cloud-based data in a computing device comprising the step of:
- 1A is a block diagram of rendering a point cloud-based volume video according to an embodiment of the present disclosure.
- 1B is a block diagram of a computing device that renders a point cloud-based volume video according to an embodiment of the present disclosure.
- FIG. 2 is a diagram illustrating a process of rendering a point cloud-based volume video according to an embodiment of the present disclosure.
- FIG. 3 is a flowchart of a method of rendering a point cloud-based volume video according to an embodiment of the present disclosure.
- FIG. 4 is a flowchart of a method of reconstructing a plurality of 3D points according to an embodiment of the present disclosure.
- FIG. 5 is a diagram illustrating an example of a data set representing various types of data used to render a point cloud-based volume video according to an embodiment of the present disclosure.
- FIG. 6 is a diagram illustrating an example of using a screen space projection plane to generate a screen space image according to an embodiment of the present disclosure.
- a plurality of 2D image frames corresponding to a 3D point cloud and projection metadata including projection information for projecting the 3D point cloud onto a 2D image plane are received, and the plurality of Reconstructing a plurality of 3D points associated with the 3D point cloud based on the 2D image frame and the projection metadata of, and rendering a quad image based on a texture image generated based on the plurality of 3D points
- a method of rendering point cloud-based data in a computing device comprising the step of:
- each of the plurality of 2D image frames includes a plurality of pixels, and the reconstructing of the plurality of 3D points is performed based on the occupancy metadata corresponding to the plurality of 2D image frames. And identifying a redundant pixel from the image frame and removing the redundant pixel from the plurality of two-dimensional image frames.
- the occupancy metadata includes information on the number of redundant pixels.
- the reconstructing of the plurality of 3D points includes identifying non-redundant pixels excluding the redundant pixels among pixels included in the plurality of 2D image frames, and 3 based on the projection metadata. And determining a position corresponding to the non-redundant pixel in the dimensional space.
- the occupancy metadata includes information on the number of points and points on the same line in a projection direction when the plurality of 3D points are projected onto the 2D image plane. .
- the redundant pixel includes the number of remaining pixels and the remaining pixels excluding at least one of points on the same line in the projection direction when the plurality of 3D points are projected onto the 2D image plane. It features.
- information about points on the same line in a projection direction may be coordinate information of the points.
- the projection metadata includes a 3D coordinate corresponding to the 3D point cloud and each of a plurality of 3D points when projecting the plurality of 3D point clouds onto the 2D image plane. It is characterized in that it includes at least one of a corresponding two-dimensional coordinate when projected on a plane and connection information connecting the three-dimensional coordinate and the two-dimensional coordinate.
- the method further comprises generating a screen space projection image by projecting the plurality of 3D points in a screen space domain based on screen space projection data, wherein the screen space projection data includes at least one camera parameter and It is characterized in that it includes at least one of one or more perspective projection parameters.
- calculating a screen space projection discarding a 3D point projected outside the screen space projection from among the plurality of 3D points, and removing the discarded 3D point from among the plurality of 3D points And performing a depth test on the excluded 3D points, and projecting 3D points excluding the discarded 3D points into the screen space domain based on the depth test.
- projecting the 3D point into the screen space domain is characterized in that the 3D point is projected into the screen space domain based on screen space projection data.
- the screen space projection data is one or more camera parameters and field of view (FOV), such as an upward vector, a viewing direction, a focal length, a lens distortion, and a camera pose that captured the 3D point. ), and at least one perspective projection parameter, such as near and far plane positions.
- FOV field of view
- the processor may be composed of one or a plurality of processors.
- one or more processors may be a general-purpose processor such as a CPU, AP, or Digital Signal Processor (DSP), a graphics-only processor such as a GPU, a Vision Processing Unit (VPU), or an artificial intelligence-only processor such as an NPU.
- DSP Digital Signal Processor
- GPU GPU
- VPU Vision Processing Unit
- an artificial intelligence-only processor such as an NPU.
- One or more processors control to process input data according to a predefined operation rule or model stored in the memory.
- the artificial intelligence dedicated processor may be designed with a hardware structure specialized for processing a specific artificial intelligence model.
- 1A is a block diagram of rendering a point cloud-based volume video according to an embodiment of the present disclosure.
- the computing device 102 may be a cellular phone, a smart phone, a laptop computer, a palmtop computer, a tablet, a desktop computer, or a server, but is not limited thereto and includes a graphics processor or a general processor to perform graphics processing. Can be any electronic device. In one embodiment, computing device 102 may be implemented to render point cloud based volume video. Computing device 102 can include a graphics processing unit (GPU) 104. However, here, the graphics processing unit (GPU) 104 is a special processor for processing graphics, but may be replaced with a general-purpose processor if graphics processing according to the present disclosure is possible.
- GPU graphics processing unit
- the GPU 104 may efficiently render a point cloud-based volume video.
- GPU 104 receives a plurality of 2D frames associated with a 3D point cloud.
- the 2D frame may be obtained by projecting a corresponding 3D point cloud onto a plane.
- the GPU 104 may be configured to receive projection metadata along with a plurality of 2D frames.
- the 2D frame can be said to mean a 2D image frame.
- the projection meta data may include detailed information on which a 3D point cloud is projected onto a 2D image plane.
- Projection metadata is typically generated while compressing 3D point cloud data into a 2D plane, where a plurality of 2D frames corresponding to the 3D point cloud are created in the 2D plane.
- This projection metadata may be used in the step of inversely generating 3D point cloud data based on a plurality of 2D frames.
- point cloud and point cloud data may be used interchangeably.
- the GPU 104 may reconstruct a plurality of 3D points corresponding to the 3D point cloud data based on the received 2D frames and projection metadata. Subsequently, the reconstructed multiple 3D points are used to render the quad image. More specifically, a screen space projection image may be generated based on a plurality of reconstructed 3D points. Subsequently, a quad image may be generated based on the screen space projection image. In one embodiment, the quad image may be a full screen quad image.
- the computing device 102 includes maximizing efficiency in terms of processing the number of 2D frames representing the 3D point cloud by mounting the GPU 104 for reconstructing the 3D cloud point data.
- the present disclosure includes filtering of redundant pixels prior to projecting 3D point cloud data to a 2D plane to increase system performance.
- GPU 104 implements a mechanism for reducing redundant data associated with reconstruction of 3D point cloud data. This helps speed up the rendering of volume video in redundant data processing.
- 1B is a block diagram of a computing device that renders a point cloud-based volume video according to an embodiment of the present disclosure.
- computing device 102 may include GPU 104, processor 108, memory 110, and display 112.
- the GPU 104, the processor 108 and the memory 110 and the display 112 may be communicatively connected to each other or may be connected by an electric circuit.
- the computing device 102 shows the GPU 104, which is a special processor for graphics processing, separately from the processor 108, but in one embodiment, the processor 108 is in charge of the function of the GPU 104 and the GPU
- the processor 104 and the processor 108 may be implemented with one processor, or the processor 108 may replace all functions of the GPU 104 according to the present disclosure.
- GPU 104 may be a computing shader.
- Computing shaders are GPU parallel processing used to "parallel" simple processes using the GPU within a computing device and for high speed execution of large amounts of work.
- the GPU 104 may include a receiver 114, a reconstruction unit 116 and a rendering unit 118.
- processor 108 may be a single processing unit or multiple units, all of which may include multiple computing units.
- the processor 108 is one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing devices, processor cores, multicore processors, multiprocessors, state machines, logic circuits, application specific integrated circuits, field programmable gates. Can be implemented. Further, the processor 108 may be configured to fetch and/or execute computer readable instructions and/or data (eg, service data) stored in the memory 110.
- the memory 110 is any non-transitory computer-readable medium known in the art, including, for example, volatile memory such as static random access memory (SRAM) and/or dynamic random access memory (DRAM).
- volatile memory such as static random access memory (SRAM) and/or dynamic random access memory (DRAM).
- DRAM dynamic random access memory
- the memory 110 may include a read-only memory (ROM), an erasable programable ROM (EPROM), a flash memory, a hard disk, an optical disk, and/or a nonvolatile memory such as a magnetic tape.
- the memory 110 functions as a storage for storing data processed, received, and generated by one or more of the processor 108, receiver 114, reconstruction unit 116, and rendering unit 118.
- the memory 110 may store 3D point cloud data, a corresponding 2D frame, and metadata related to the 2D frame.
- receiver 114, reconstruction unit 116, and rendering unit 118 may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement data types. Receiver 114, reconstruction unit 116, and rendering unit 118 may also be implemented with a signal processor, state machine, logic circuit, and/or any other device or component that controls the signal. Further, the receiver 114, the reconstruction unit 116, and the rendering unit 118 may be implemented by hardware, instructions executed by a processor, or a combination thereof.
- the processor may include a processor such as processor 108, a state machine, a logical array, or any other suitable device capable of processing instructions.
- the processor may be another general purpose processor that executes instructions that cause the general purpose processor to perform the necessary tasks.
- computing device 102 may render point cloud based volume video.
- the GPU 104 may generate a plurality of decompressed 2D frames for 3D point cloud data.
- the GPU 104 receives a plurality of 2D frames through the receiver 114.
- each 2D frame of the plurality of 2D frames includes a plurality of pixels.
- the receiver 114 may receive projection metadata together with a plurality of 2D frames.
- the projection metadata may include details (projection information) in projecting a 3D point cloud onto a 2D image plane.
- projection metadata is the coordinates in 3D corresponding to the 3D point cloud of each point in projecting the 3D point cloud onto the 2D image plane, the corresponding 2D coordinates when projected on the 2D image plane, and these dimensional coordinates.
- connection information of two-dimensional coordinates is the coordinates in 3D corresponding to the 3D point cloud of each point in projecting the 3D point cloud onto the 2D image plane, the corresponding 2D coordinates when projected on the 2D image plane.
- the projection metadata may further include additional information such as geometric information of a 3D point related to point cloud data, visual information of a 3D point, a position of a pixel in a 3D space, and a color of a pixel.
- the reconstruction unit 116 may reconstruct a plurality of 3D points related to a 3D point cloud based on a plurality of received 2D frames and projection metadata.
- the reconstruction unit 116 may be configured to filter a plurality of pixels corresponding to each of the plurality of 3D frames based on redundancy of the plurality of pixels. More specifically, the reconstruction unit 116 may obtain occupancy metadata for each 2D frame of a plurality of 2D frames. For example, the occupancy metadata includes information on redundant pixels existing in a 2D frame.
- the occupancy metadata may include binary information for encoding the validity of a plurality of pixels. More specifically, '1' of the binary information corresponds to an occupied pixel, and the binary information '0' corresponds to a redundant pixel.
- the occupied metadata may be information multiplexed and encoded as geometric data or color data as shown with reference to FIG. 5.
- the occupancy metadata includes information about points that are on the same line in the projection direction when projecting a 3D point onto a 2D image plane, and points concentrated within a predetermined fine distance in a predetermined area. I can.
- the coordinate axis direction in which the 3D point is projected onto the 2D image plane is the z axis
- points having the same (x, y) value and different z axes may be redundant pixels except for one.
- the occupancy metadata includes information about points having the same (x,y) value and different z values and/or information about a redundant pixel.
- the occupancy metadata may be received by the receiver 114 together with additional information and projection metadata provided with a plurality of 2D frames. Accordingly, the reconstruction unit 116 acquires or accesses the occupied metadata during processing (processing) of the 2D frame. Based on the occupancy metadata for the 2D frame, the reconstruction unit 116 may be configured to identify redundant and non-redundant pixels present in the 2D frame.
- the reconstruction unit 116 may be configured to remove the set of redundant pixels from the 2D frame. As a result, only one set of non-redundant pixels is processed to render the volume video, increasing the rendering efficiency.
- a 2D frame containing a set of non-redundant pixels may be processed by the reconstruction unit 116 to reconstruct the 3D points. More specifically, the reconstruction unit 116 may be configured to identify a set of non-redundant pixels, and for each pixel within a set of non-redundant pixels, the reconstruction unit 116 is based on the projection metadata. You can determine your position in 3D space. The position of this determined pixel serves as a 3D point in 3D space. Thus, a plurality of 3D points corresponding to the 3D point cloud data are constructed based on a plurality of 2D frames as described herein.
- the reconstruction unit 116 may generate a screen space image based on the plurality of 3D points. Generating a screen space image is described in more detail with reference to FIG. 6.
- the reconstruction unit 116 may project a 3D point on the screen space domain based on the screen-space projection data.
- the screen-space projection data includes one or more camera parameters and field of view (FOV), such as an upward vector, a viewing direction, a focal length, a lens distortion, and a camera pose that imaged the 3D point. ), and one or more perspective projection parameters such as near and far plane positions.
- FOV field of view
- the perspective projection parameter is also the aspect ratio, which is the ratio of the width and height of the plane to be projected, vertical FOV-the vertical angle of the camera looking at the imaged object, the position of the near z-plane. And a position of the far z-plane.
- the reconstruction unit 116 calculates a screen space projection.
- the screen space projection can be understood as a projection area relative to the display of the computing device 102.
- the reconstruction unit 116 is configured to obtain viewing information related to a viewer application requesting point cloud rendering.
- the viewing information may include information related to a position of a reference viewing point, a direction of the reference viewing point, and a field of view (FOV) determined from the reference viewing point.
- the construction unit 116 discards a plurality of 3D points outside the screen space projection in order to obtain a first subset of 3D points on a plurality of projection lines corresponding to the screen space projection.
- the reconstruction unit 116 performs a depth test on each of the first subset of the acquired 3D points to obtain the second subset of 3D points.
- the depth test for each of the plurality of projection lines, all 3D points except for the 3D points of the first subset on the viewing line from the user's viewing position toward each line are discarded.
- the reconstruction unit 116 projects the 3D points of the second subset into the screen space domain to generate a screen space projection image.
- the screen space projected image is, after all, a texture image of the original image. Textures provide information about the spatial arrangement of color or intensity within an image or a specific area of the image.
- the reconstruction unit 116 provides a screen space projection image to the rendering unit 118.
- the rendering unit 118 may be configured to render a quad (image) based on a screen space projection image.
- the rendered quad may be a full screen quad.
- FIG. 2 is a diagram illustrating a process of rendering a point cloud-based volume video according to an embodiment of the present disclosure.
- rendering may be based on processing a plurality of 2D frames corresponding to the 3D point cloud by the GPU 104.
- Each 2D frame contains a number of pixels.
- a 2D frame comprising a set of pixels filtered from multiple pixels may be processed to render a volume video. Filtering the set of pixels can increase the overall efficiency of the computing device 102 including the GPU 104.
- the pixel set may be the number of non-redundant pixels described in FIG. 1B.
- the receiver 114 receives a plurality of 2D frames corresponding to the 3D point cloud.
- the receiver 114 receives projection metadata, occupancy metadata, and/or additional projection information related to the 2D frame.
- the projection metadata may be related to detailed information of the projection of the 3D point cloud onto the 2D image plane.
- the occupancy metadata may include information based on redundancy of a pixel.
- the occupied meta data may include information on the number of redundant pixels from the total number of pixels.
- the additional projection information may include at least one of geometric information, visual information, a position of a 2D point in 3D space, and a color of a 2D point.
- step 204 reconstructing a plurality of 3D points associated with the 3D point cloud via the reconstruction unit 116 is included.
- the reconstruction may be made based on the projection metadata and the number of 2D frames received at the receiver 114 as described in step 202.
- the method 200 according to the present disclosure includes processing the 2D frame prior to reconstructing the 3D point.
- processing the 2D frame includes a filtering step of dividing the plurality of pixels into redundant and non-redundant pixels based on the occupied metadata.
- the redundant pixel may be separated from the non-redundant pixel. Subtracting the number of redundant pixels from the total number of pixels will yield the number of non-redundant pixels.
- a 2D frame with multiple redundant pixels can be processed by the reconstruction unit 116.
- processing of a 2D frame including non-redundant pixels may include identifying the number of non-redundant pixels in the 2D frame.
- a location in 3D space is determined for each non-redundant pixel in a 2D frame based on the projection metadata and identifying a non-redundant pixel (or number of pixels).
- the reconstruction unit 116 can read the color for the non-redundant pixel at a location in 3D space for each non-redundant pixel.
- step 206 the method according to an embodiment of the present disclosure includes rendering the full screen quad based on the screen space projected image based on the number of 3D points by the rendering unit 118 shown in FIG. 1B.
- a method includes generating a screen space projection image by projecting the 3D points reconstructed by the reconstruction unit 116 into a screen space domain.
- projecting the reconstructed 3D points into the screen space domain may be based on screen-space projection data including information related to one or more camera parameters and one or more perspective projection parameters.
- a method includes obtaining viewing information related to a viewer application requesting 3D point cloud rendering.
- the viewing information may include information related to a position of a reference viewing point, a direction of the reference viewing point, and a field of view (FOV) determined from the reference viewing point.
- FOV field of view
- a method includes calculating a screen space projection by the rendering unit 118 based on the obtained viewing information.
- a method includes discarding one or more 3D points outside the screen projection to obtain a first subset of 3D points on a plurality of lines associated with the screen-space projection.
- a method includes performing a depth test on a first subset of 3D points to obtain a second subset of 3D points.
- the depth test includes discarding all 3D points except for the first subset 3D points on the viewing line from the viewing position facing the line, for each of a plurality of lines related to screen-space projection.
- a method includes projecting a second subset of 3D points in a screen space domain to generate a screen space projection image.
- the screen space projected image can be interpreted as a full screen quad-that is, two triangles in the screen space projected image as texture 604 as shown in FIG. 6 hereinafter.
- the present disclosure provides an advantage of reducing the resource burden by rendering only two triangles that a resource burden occurs due to rendering thousands of 3D points.
- FIG. 3 is a flowchart of a method of rendering a point cloud-based volume video according to an embodiment of the present disclosure.
- the method 300 according to the present disclosure may be implemented by the GPU 104, as described above.
- the method 300 according to the present disclosure may be executed by the receiver 114, the reconstruction unit 116 and the rendering unit 118.
- the method may all be executed by the processor 108.
- the method 300 includes receiving a plurality of 2D frames associated with the 3D point cloud and detailed information of projecting 3D point cloud data onto a 2D image plane at the GPU 104.
- step 304 the method 300 according to the present disclosure includes reconstructing a plurality of 3D points associated with the 3D point cloud data based on the 2D frame and projection metadata received by the computing device.
- the method 300 includes rendering a full screen quad based on a screen space projection image generated based on a plurality of 3D points.
- FIG. 4 is a flowchart of a method of reconstructing a plurality of 3D points according to an embodiment of the present disclosure.
- step 4 is a more detailed step of step 304 of FIG. 3.
- step 3041 based on the occupancy metadata, the GPU 104 identifies a redundant pixel in a plurality of 2D frames associated with the 3D point cloud (data).
- step 3043 the GPU 104 removes the identified redundant pixel from pixels corresponding to a plurality of 2D frames.
- step 3045 the GPU 104 identifies non-redundant pixels excluding the redundant pixels from the plurality of 2D frames.
- step 3047 the GPU 104 reconstructs the 3D point by determining a 3D position on the non-redundant pixel based on the projection metadata.
- Embodiments of the present disclosure may be implemented through at least one software program that is executed on at least one hardware device and performs a network management function to control elements of the hardware device.
- the methods according to exemplary embodiments may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium.
- the computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination.
- the program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software.
- Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
- -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like.
- Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Library & Information Science (AREA)
- Image Generation (AREA)
Abstract
컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 효율적으로 렌더링하기 위한 방법으로서, 3차원 포인트 클라우드에 대응되는 복수의 2차원 이미지 프레임 및 상기 3차원 포인트 클라우드를 2차원 이미지 플레인에 프로젝션 하는 프로젝션 정보를 포함하는 프로젝션 메타데이터를 수신하는 단계, 상기 복수의 2차원 이미지 프레임 및 상기 프로젝션 메타데이터에 기초하여 상기 3차원 포인트 클라우드와 연관된 복수의 3차원 포인트를 재구성하는 단계, 및 상기 복수의 3차원 포인트에 기초하여 생성된 텍스처 이미지에 기초하여 쿼드 이미지를 렌더링하는 단계를 포함하는 컴퓨팅 디바이스가 제공된다.
Description
본 개시는 일반적으로 볼륨 비디오를 렌더링하는 것에 관한 것이고, 특히 포인트 클라우드 기반 볼륨 비디오를 효율적으로 렌더링하는 것에 관한 것이다.
다양한 비디오 렌더링 기술의 출현과 함께 포인트 클라우드 데이터를 압축하기 위한 프로젝션 기반 방법이 고려되고 있다. 이들 방법에서, 포인트 클라우드 데이터와 관련된 컨텐츠를 압축하기 위해서 현재의 2 차원(2D) 비디오 코딩 표준을 이용하기 위해 포인트 클라우드 데이터는 2D 이미지 평면 상에 프로젝션된다. 프로젝션 기반 접근 방식은 2D 이미지 평면 상의 실제 리던던트하지 않은 데이터와 함께 30 % ~ 60 % 정도의 중복되는 리던던트 데이터를 가지게 된다. GPU 렌더링 파이프 라인은 렌더링 포인트에 최적화되어 있지 않다. GPU 렌더링 파이프 라인에서 원본 데이터와 함께 리던던트 포인트 데이터를 함께 처리하면 증가한 데이터 양으로 인해 컴퓨팅 디바이스의 성능이 저하되고 따라서 소형 컴퓨팅 디바이스라고 할 수 있는 모바일 디바이스 상에서는 다이나믹 포인트 클라우드 데이터의 실시간 렌더링(60fps)을 수행하기가 어렵다.
일반적인 GPU는 각 포인트에서 기하 급수적으로 더 많은 픽셀을 처리한다. GPU 렌더링 파이프 라인에서 포인트 클라우드 데이터 처리에 필요한 재 프로젝션(re-projection) 및 렌더링 단계 처리와 같은 포인트 기반 작업을 수행하면 데이터 처리 성능이 전반적으로 저하된다.
프로젝션 시 중복되는 리던던트 포인트 데이터를 필터링하여 포인트 클라우드 데이터의 렌더링 프로세스 효율성을 높이기 위한 솔루션이 필요하다.
상기과 같은 기술적 과제를 해결하기 위하여, 3차원 포인트 클라우드에 대응되는 복수의 2차원 이미지 프레임 및 상기 3차원 포인트 클라우드를 2차원 이미지 플레인에 프로젝션 하는 프로젝션 정보를 포함하는 프로젝션 메타데이터를 수신하고, 상기 복수의 2차원 이미지 프레임 및 상기 프로젝션 메타데이터에 기초하여 상기 3차원 포인트 클라우드와 연관된 복수의 3차원 포인트를 재구성하고, 및 상기 복수의 3차원 포인트에 기초하여 생성된 텍스처 이미지에 기초하여 쿼드 이미지를 렌더링하는 단계를 포함하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법이 제공된다.
본 개시에 따른 방법과 장치에 의해 중복되는 리던던트 포인트 데이터를 효율적으로 필터링하여 포인트 클라우드 데이터의 렌더링 프로세싱 효율성을 높일 수 있다.
도 1a는 본 개시의 일실시예에 따른 포인트 클라우드 기반 볼륨 비디오를 렌더링하는 블록도이다.
도 1b는 본 개시의 일 실시 예에 따른 포인트 클라우드 기반 볼륨 비디오를 렌더링하는 컴퓨팅 디바이스의 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 포인트 클라우드 기반 볼륨 비디오를 렌더링하는 프로세스를 나타내는 도면이다.
도 3은 본 개시의 일 실시 예에 따른 포인트 클라우드 기반 볼륨 비디오를 렌더링하는 방법의 흐름도이다.
도 4는 본 개시의 일실시예에 따른 복수의 3D 포인트를 재구성하는 방법의 흐름도이다.
도 5는 본 개시의 일 실시예에 따라 포인트 클라우드 기반 볼륨 비디오를 렌더링하는데 사용되는 여러가지 데이터 유형을 나타내는 데이터 세트의 일례를 나타내는 도면이다.
도 6은 본 개시의 일 실시예에 따라 스크린 공간 이미지를 생성하기 위한 스크린 공간 프로젝션 평면을 사용하는 일례를 나타내는 도면이다.
상기과 같은 기술적 과제를 해결하기 위하여, 3차원 포인트 클라우드에 대응되는 복수의 2차원 이미지 프레임 및 상기 3차원 포인트 클라우드를 2차원 이미지 플레인에 프로젝션 하는 프로젝션 정보를 포함하는 프로젝션 메타데이터를 수신하고, 상기 복수의 2차원 이미지 프레임 및 상기 프로젝션 메타데이터에 기초하여 상기 3차원 포인트 클라우드와 연관된 복수의 3차원 포인트를 재구성하고, 및 상기 복수의 3차원 포인트에 기초하여 생성된 텍스처 이미지에 기초하여 쿼드 이미지를 렌더링하는 단계를 포함하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법이 제공된다.
일 실시예에서, 상기 복수의 2차원 이미지 프레임 각각은 복수의 픽셀을 포함하고, 상기 복수의 3차원 포인트를 재구성하는 것은 상기 복수의 2차원 이미지 프레임에 대응되는 점유 메타데이터에 기초하여 상기 2차원 이미지 프레임에서 리던던트 픽셀을 식별하는 단계 및 상기 복수의 2차원 이미지 프레임에서 상기 리던던트 픽셀을 제거하는 단계를 포함한다.
일 실시예에서, 상기 점유 메타데이터는 상기 리던던트 픽셀의 갯수에 관한 정보를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 복수의 3차원 포인트를 재구성하는 것은 상기 복수의 2차원 이미지 프레임에 포함된 픽셀 중 상기 리던던트 픽셀을 제외하여 비-리던던트 픽셀을 식별하는 단계 및 상기 프로젝션 메타데이터에 기초하여 3차원 공간에서 상기 비-리던던트 픽셀에 대응되는 위치를 결정하는 단계를 포함한다.
일 실시예에서, 상기 점유 메타 데이터는 상기 복수의 3차원 포인트를 상기 2차원 이미지 평면에 프로젝션할 때 프로젝션 방향으로 동일한 선상에 있는 포인트들 및 상기 포인트들의 갯수에 관한 정보를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 리던던트 픽셀은 상기 복수의 3차원 포인트를 상기 2차원 이미지 평면에 프로젝션할 때 프로젝션 방향으로 동일한 선상에 있는 포인트들 중 적어도 하나를 제외한 나머지 픽셀 및 상기 나머지 픽셀들의 갯수를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 상기 복수의 3차원 포인트를 상기 2차원 이미지 평면에 프로젝션할 때 프로젝션 방향으로 동일한 선상에 있는 포인트들에 관한 정보는 상기 포인트들의 좌표 정보인 것을 특징으로 한다.
일 실시예에서, 상기 프로젝션 메타데이터는 상기 복수의 3차원 포인트 클라우드를 상기 2차원 이미지 평면으로 프로젝션하는데 있어서 상기 3차원 포인트 클라우드에 대응되는 3차원 좌표와 각 복수의 3차원 포인트들이 상기 2차원 이미지 평면 상에 프로젝션될 때 대응되는 2차원 좌표 및 상기 3차원 좌표와 2차원 좌표를 연결하는 연결 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
일 실시예에서, 스크린 공간 프로젝션 데이터에 기초하여 상기 복수의 3차원 포인트를 스크린 공간 도메인에 프로젝팅하여 스크린 공간 프로젝션 이미지를 생성하는 단계를 더 포함하되, 상기 스크린 공간 프로젝션 데이터는 하나 이상의 카메라 파라미터 및 하나 이상의 원근 프로젝션 파라미터 중 적어도 하나를 포함하는 것을 특징으로 한다.
일 실시예에서, 스크린 공간 프로젝션을 계산하는 단계, 상기 복수의 3차원 포인트 중에서 상기 스크린 공간 프로젝션 외부에 투사되는 3차원 포인트를 폐기하는 단계, 상기 복수의 3차원 포인트 중에서 상기 폐기된 3차원 포인트를 제외한 3차원 포인트에 대하여 뎁쓰 테스트를 수행하는 단계, 및 상기 뎁쓰 테스트에 기초하여 상기 폐기된 3차원 포인트를 제외한 3차원 포인트를 상기 스크린 공간 도메인에 프로젝팅하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 3차원 포인트를 상기 스크린 공간 도메인에 프로젝팅하는 것은, 스크린 공간 프로젝션 데이터에 기초하여 상기 3차원 포인트를 상기 스크린 공간 도메인에 프로젝팅하는 것을 특징으로 한다.
일 실시예에서, 상기 스크린 공간 프로젝션 데이터는 상향 벡터, 시야 방향, 포커스 길이, 렌즈 왜곡(lens distortion) 및 상기 3차원 포인트를 촬상한 카메라 위치(camera pose)와 같은 하나 이상의 카메라 파라미터 및 시야(FOV), 근거리 및 원거리 플레인 위치와 같은 하나 이상의 원근(perpective) 프로젝션 파라미터에 대한 정보를 포함하는 것을 특징으로 한다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정 및 정의한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "...모듈," "...유닛," 혹은 "...엔진" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형식으로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일, 유사한 부분에 대해서는 동일, 유사한 도면 부호를 붙였다.
본 개시에 따른 기능은 모바일 장치의 프로세서와 메모리를 통해 동작될 수 있다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
또한, 당업자는 도면의 요소가 간략화를 위해 도시되어 있으며 반드시 축척대로 도시된 것은 아님을 이해할 것이다. 예를 들어, 흐름도는 본 개시의 양태의 이해를 향상시키는 데 도움이되는 가장 현저한 단계의 관점에서 방법을 예시한다. 더욱이, 디바이스의 구성과 관련하여, 디바이스의 하나 이상의 구성 요소는 도면에서 종래의 기호로 표시 될 수 있으며, 도면은 본 개시의 실시 예를 이해하는 데 관련된 특정 세부 사항만을 보여줄 수 있다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시 예를 상세히 설명하기로 한다.
도 1a는 본 개시의 일실시예에 따른 포인트 클라우드 기반 볼륨 비디오를 렌더링하는 블록도이다.
일실시예에서, 컴퓨팅 디바이스 (102)는 셀룰러폰, 스마트폰, 랩탑 컴퓨터, 팜탑 컴퓨터, 태블릿, 데스크탑 컴퓨터 또는 서버일 수 있지만, 이에 제한되지는 않고 그래픽 프로세서나 일반 프로세서를 포함하여 그래픽 처리를 할 수 있는 여하한 전자 디바이스일 수 있다. 일 실시예에서, 컴퓨팅 디바이스(102)는 포인트 클라우드 기반 볼륨 비디오를 렌더링하기 위해 구현될 수 있다. 컴퓨팅 디바이스(102)는 그래픽 프로세싱 유닛(GPU) (104)을 포함할 수 있다. 다만, 여기서 그래픽 프로세싱 유닛(GPU)(104)은 그래픽을 처리하기 위한 특수 프로세서이지만, 본 개시에 따른 그래픽 처리가 가능하다면 범용 프로세서로 대체될 수 있다.
본 개시의 일 실시 예에 따르면, GPU (104)는 포인트 클라우드 기반 볼륨 비디오를 효율적으로 렌더링할 수 있다. 일 실시 예에서, GPU (104)는 3D 포인트 클라우드와 연관된 복수의 2D 프레임을 수신한다. 이 때 2D 프레임은 대응되는 3D 포인트 클라우드를 평면에 프로젝션하여 획득될 수 있다. 또한, GPU (104)는 복수의 2D 프레임과 함께 프로젝션 메타 데이터를 수신하도록 구성될 수 있다. 2D 프레임은 2D 이미지 프레임을 의미한다고 할 수 있다.
일 실시예에서, 프로젝션 메타 데이터는 3D 포인트 클라우드가 2D 이미지 평면으로 프로젝션되는 세부 사항 정보를 포함할 수 있다. 프로젝션 메타 데이터는 전형적으로 3D 포인트 클라우드 데이터를 2D 평면으로 압축하는 동안 생성되며, 여기서 3D 포인트 클라우드에 대응하는 복수의 2D 프레임이 2D 평면에서 생성된다. 이 프로젝션 메타 데이터는 복수의 2D 프레임에 기초하여 3D 포인트 클라우드 데이터를 역으로 생성하는 단계에서 사용될 수 있다.
본 개시에서 포인트 클라우드라는 용어와 포인트 클라우드 데이터라는 용어는 서로 교환적으로 사용될 수 있다.
일 실시 예에서, GPU (104)는 수신된 복수의 2D 프레임 및 프로젝션 메타 데이터에 기초하여 3D 포인트 클라우드 데이터에 대응하는 복수의 3D 포인트를 재구성할 수 있다. 이어서, 재구성된 복수의 3D 포인트는 쿼드 이미지를 렌더링하는데 사용된다. 보다 구체적으로, 재구성된 복수의 3D 포인트에 기초하여 스크린 스페이스 프로젝션 이미지가 생성될 수 있다. 이어서, 스크린 스페이스 프로젝션 이미지에 기초하여 쿼드 이미지가 생성될 수 있다. 일 실시예에서, 쿼드 이미지는 전체 화면 쿼드 이미지 일 수 있다.
전술한 바와 같이 볼륨 비디오에 관한 모든 이미지는 렌더링된다. 본 개시에 따른 컴퓨팅 디바이스(102)는 3D 클라우드 포인트 데이터의 재구성을 위해 GPU (104)를 탑재함에 의해, 3D 포인트 클라우드를 나타내는 2D 프레임의 수를 처리하는 측면에서 효율을 최대화하는 것을 포함한다. 또한, 본 개시는 시스템의 성능을 증가시킬 수 있도록 3D 포인트 클라우드 데이터를 2D 플레인으로 프로젝션하기 전에 리던던트 픽셀의 필터링을 포함한다.
GPU (104)는 3D 포인트 클라우드 데이터의 재구성과 관련된 리던던트 데이터를 감소시키기 위한 메커니즘을 구현한다. 이것은 리던던트 데이터의 처리를 하는데 있어서, 볼륨 비디오의 렌더링 속도를 높이는 데 도움이 된다.
도 1b는 본 개시의 일 실시 예에 따른 포인트 클라우드 기반 볼륨 비디오를 렌더링하는 컴퓨팅 디바이스의 블록도이다.
일 실시예에서, 컴퓨팅 디바이스(102)는 GPU(104), 프로세서(108), 메모리(110), 및 디스플레이(112)를 포함할 수 있다. GPU (104), 프로세서(108) 및 메모리 (110) 및 디스플레이(112)는 서로 통신 가능하게 연결되거나 전기회로에 의해 연결될 수 있다.
도 1b에서 컴퓨팅 디바이스(102)는 그래픽 처리를 위한 특수 프로세서인 GPU(104)를 프로세서(108)와 별개로 도시하였으나, 일실시예에서 GPU(104)의 기능을 프로세서(108)가 담당하면서 GPU(104)와 프로세서(108)는 하나의 프로세서로 구현될 수도 있고 본 개시에 따른 GPU(104)의 모든 기능을 프로세서(108)가 대신할 수 있다.
일 실시예에서, GPU (104)는 컴퓨팅 쉐이더(computing shader)일 수 있다. 컴퓨팅 쉐이더는 컴퓨팅 디바이스 내에서 GPU를 사용하여 간단한 처리들을 "병렬화"하고 많은 양의 작업의 고속실행을 위해 사용되는 GPU 병렬 프로세싱이다. 일 실시 예에서, GPU (104)는 수신기(114), 재구성 유닛(116) 및 렌더링 유닛(118)을 포함할 수 있다.
일 실시예에서, 프로세서(108)는 단일 프로세싱 유닛 또는 다수의 유닛 일 수 있으며, 이들 모두는 다수의 컴퓨팅 유닛을 포함할 수 있다. 프로세서(108)는 하나 이상의 마이크로 프로세서, 마이크로 컴퓨터, 마이크로 컨트롤러, 디지털 신호 프로세서, 중앙 처리 디바이스, 프로세서 코어, 멀티 코어 프로세서, 멀티 프로세서, 상태 머신, 논리 회로, 애플리케이션 특정 집적 회로, 필드 프로그래밍 가능 게이트로 구현될 수 있다. 또한, 프로세서 (108)는 메모리 (110)에 저장된 컴퓨터 판독 가능 명령어 및/또는 데이터 (예를 들어, 서비스 데이터)를 펫치 및/또는 실행하도록 구성 될 수 있다.
메모리(110)는 예를 들어 정적 랜덤 액세스 메모리(SRAM) 및/또는 동적 랜덤 액세스 메모리(DRAM)와 같은 휘발성 메모리를 포함하여 본 기술 분야에 알려진 임의의 비일시적(non-transitory) 컴퓨터 판독 가능 매체를 포함 할 수 있고, 메모리(110)는 ROM (read-only memory), EPROM (erasable programable ROM), 플래시 메모리, 하드 디스크, 광 디스크 및/또는 자기 테이프와 같은 비휘발성 메모리를 포함 할 수도 있다.
메모리(110)는 프로세서(108), 수신기 (114), 재구성 유닛 (116) 및 렌더링 유닛 (118) 중 하나 이상에 의해 처리, 수신 및 생성된 데이터를 저장하기 위한 저장소로서 기능한다. 일 예에서, 메모리(110)는 3D 포인트 클라우드 데이터, 대응되는 2D 프레임 및 2D 프레임과 관련된 메타 데이터를 저장할 수 있다.
일 실시예에서, 수신기 (114), 재구성 유닛(116) 및 렌더링 유닛(118)은 특정 작업을 수행하거나 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함할 수 있다. 수신기 (114), 재구성 유닛 (116) 및 렌더링 유닛(118)은 또한 신호 프로세서, 상태 머신, 논리 회로 및/또는 신호를 제어하는 임의의 다른 디바이스 또는 컴포넌트로 구현될 수 있다. 또한, 수신기 (114), 재구성 유닛(116) 및 렌더링 유닛(118)은 하드웨어, 프로세서에 의해 실행되는 명령, 또는 이들의 조합에 의해 구현될 수 있다. 프로세서는 프로세서(108)와 같은 프로세서, 상태 머신, 논리 어레이 또는 명령을 처리 할 수 있는 임의의 다른 적절한 디바이스를 포함할 수 있다. 프로세서는 범용 프로세서로 하여금 필요한 작업을 수행하게하는 명령을 실행하는 또 다른 범용 프로세서 일 수 있다.
일 실시예에서, 컴퓨팅 디바이스(102)는 포인트 클라우드 기반 볼륨 비디오를 렌더링할 수 있다. 따라서, 일 실시예에서, GPU(104)는 3D 포인트 클라우드 데이터에 관한 복수의 압축 해제된 2D 프레임을 생성할 수 있다.
GPU(104)는 수신기(114)를 통해 복수의 2D 프레임을 수신한다. 일 실시예에서, 복수의 2D 프레임 중 각각의 2D 프레임은 복수의 픽셀을 포함한다. 수신기 (114)는 복수의 2D 프레임과 더불어 프로젝션 메타 데이터를 함께 수신할 수 있다. 도 1a를 참조하여 기술한 바와 같이, 프로젝션 메타 데이터는 3D 포인트 클라우드를 2D 이미지 평면으로 프로젝션하는데 있어서 세부 사항(프로젝션 정보)를 포함할 수 있다. 예를 들어 프로젝션 메타 데이터는 3D 포인트 클라우드를 2D 이미지 평면으로 프로젝션하는데 있어서 각 포인트들의 3D 포인트 클라우드에 대응되는 3 차원에서의 좌표와 2D 이미지 평면 상에 프로젝션될 때 대응되는 2차원 좌표 및 이러한 차원 좌표와 2차원 좌표의 연결 정보를 포함할 수 있다.
일 실시예에서, 프로젝션 메타 데이터는 포인트 클라우드 데이터와 관련된 3D 포인트의 기하학적 정보, 3D 포인트의 시각적 정보, 3D 공간에서 픽셀의 위치 및 픽셀의 색상과 같은 추가 정보를 더 포함할 수 있다.
일 실시 예에서, 재구성 유닛(116)은 수신된 복수의 2D 프레임 및 프로젝션 메타 데이터에 기초하여 3D 포인트 클라우드와 관련된 복수의 3D 포인트를 재구성할 수 있다.
일 실시 예에서, 복수의 3D 포인트를 재구성하기 위해, 재구성 유닛 (116)은 복수의 픽셀의 리던던시(redundancy)에 기초하여 복수의 3D 프레임 각각에 대응하는 복수의 픽셀을 필터링하도록 구성될 수 있다. 보다 구체적으로, 재구성 유닛 (116)은 복수의 2D 프레임 각각의 2D 프레임에 대해 점유(occupancy) 메타 데이터를 획득할 수 있다. 예를 들어, 점유 메타 데이터는 2D 프레임에 존재하는 리던던트 픽셀에 관한 정보를 포함한다.
일 실시예에서, 점유 메타 데이터는 복수의 픽셀의 유효성(validity)를 인코딩하기 위한 이진 정보(binary information)를 포함할 수 있다. 좀더 구체적으로, 이진 정보 중 '1'은 점유된 픽셀에 해당하고, 이진 정보 '0'은 리던던트 픽셀에 대응된다.
점유 메타 데이터를 설명하기 위해 잠시 도 5를 참조하여 설명한다.
도 5는 본 개시의 일 실시예에 따라 포인트 클라우드 기반 볼륨 비디오를 렌더링하는데 사용되는 여러가지 데이터 유형을 나타내는 데이터 세트의 일례를 나타내는 도면이다. 일 실시예에서, 점유 메타 데이터는 도 5를 참조하여 보는 바와 같이 기하 데이터(geometry data) 혹은 컬러 데이터(color data)로 멀티플레싱되고 인코딩된 정보일 수 있다.
또 다른 일 실시예에서, 점유 메타 데이터는 3D 포인트를 2D 이미지 평면에 투사할 때 투사 방향으로 동일한 선상에 있는 포인트들, 소정의 영역에 소정의 미세 거리 내로 집중되어 있는 포인트에 관한 정보를 포함할 수 있다. 일 실시예에서, 3D 포인트를 2D 이미지 평면에 투사하는 좌표축 방향이 z 축이면 (x, y) 값이 같으면서 z축이 서로 다른 포인트들은 하나를 제외하고 리던던트 픽셀이 될 수 있다. 점유 메타데이터는 이와 같이 (x,y) 값이 같으면서 z 값이 다른 포인트들에 대한 정보 및/또는 리던던트 픽셀에 관한 정보를 포함한다.
일 실시예에서, 점유 메타 데이터는 추가 정보 및 복수의 2D 프레임과 함께 제공되는 프로젝션 메타 데이터와 함께 수신기(114)에 의해 수신될 수 있다. 따라서, 재구성 유닛(116)은 2D 프레임의 처리(프로세싱) 동안 점유 메타 데이터를 획득하거나 액세스한다. 2D 프레임에 대한 점유 메타 데이터에 기초하여, 재구성 유닛(116)은 2D 프레임에 존재하는 리던던트 픽셀 및 비-리던던트 픽셀을 식별하도록 구성될 수 있다.
한 세트의 리던던트 픽셀 및 비-리던던트 픽셀들을 식별한 후에, 재구성 유닛 (116)은 2D 프레임으로부터 한 세트의 리던던트 픽셀들을 제거하도록 구성될 수 있다. 그 결과, 오직 한 세트의 비-리던던트 픽셀들 만이 볼륨 비디오를 렌더링하기 위해 처리되어 렌더링 효율을 증가시킨다.
한 세트의 리던던트 픽셀의 제거에 이어, 한 세트의 비-리던던트 픽셀을 포함하는 2D 프레임은 3D 포인트를 재구성하기 위해 재구성 유닛 (116)에 의해 처리 될 수 있다. 보다 구체적으로, 재구성 유닛 (116)은 한 세트의 비-리던던트 픽셀을 식별하도록 구성될 수 있고, 한 세트의 비-리던던트 픽셀 내의 각 픽셀에 대해, 재구성 유닛(116)은 프로젝션 메타 데이터에 기초하여 3D 공간에서의 위치를 결정할 수 있다. 이 결정된 픽셀의 위치는 3D 공간에서 3D 포인트 역할을 한다. 따라서, 3D 포인트 클라우드 데이터에 대응하는 복수의 3D 포인트는 여기에 설명된 바와 같이 복수의 2D 프레임에 기초하여 구성된다.
일 실시예에 따르면, 복수의 3D 포인트가 재구성되면 재구성 유닛(116)은 복수의 3D 포인트에 기초하여 스크린 공간 이미지를 생성할 수 있다. 스크린 공간 이미지를 생성하는 것은 도 6을 참조하여 더 상세히 설명된다.
도 6은 본 개시의 일 실시예에 따라 스크린 공간 이미지를 생성하기 위한 스크린 공간 프로젝션 평면(602)을 사용하는 일례(600)를 나타내는 도면이다. 일 실시 예에서, 재구성 유닛(116)은 스크린-공간 프로젝션 데이터에 기초하여 3D 포인트를 스크린 공간 도메인에 프로젝션할 수 있다. 일 실시 예에서, 스크린-공간 프로젝션 데이터는 상향 벡터, 시야 방향, 포커스 길이, 렌즈 왜곡(lens distortion) 및 상기 3차원 포인트를 촬상한 카메라 위치(camera pose)와 같은 하나 이상의 카메라 파라미터 및 시야(FOV), 근거리 및 원거리 평면 위치와 같은 하나 이상의 원근(perpective) 프로젝션 파라미터에 대한 정보를 포함한다. 일 실시예에서, 원근 프로젝션 파라미터는 또한 프로젝션되는 평면의 폭 및 높이의 비(raio)인 애스팩트비(aspect ratio), 수직 FOV - 촬상 대상을 바라보는 카메라의 수직 방향 각도, 가까운 z 평면의 위치 및 먼 z 평면의 위치 등을 더 포함할 수 있다.
보다 구체적으로, 스크린 공간 도메인에서 3D 포인트의 프로젝션을 위해, 재구성 유닛(116)은 스크린 공간 프로젝션을 계산한다. 스크린 공간 프로젝션은 컴퓨팅 디바이스(102)의 디스플레이에 비례하는(relative to) 프로젝션 영역으로 이해될 수 있다. 스크린 공간 프로젝션을 계산하기 위해서, 재구성 유닛(116)은 포인트 클라우드 렌더링을 요청하는 뷰어 애플리케이션과 관련된 뷰잉 정보를 획득하도록 구성된다. 뷰잉 정보는 기준 뷰잉 포인트의 위치, 기준 뷰잉 포인트의 방향, 기준 뷰잉 포인트로부터 결정되는 FOV(field of view)와 관련된 정보를 포함할 수 있다. 제구성 유닛(116)은 스크린 공간 프로젝션에 해당하는 복수의 프로젝션 라인 상에 있는 3D 포인트의 제 1 서브셋을 획득하기 위해 스크린 공간 프로젝션 바깥에 있는 복수의 3D 포인트들은 폐기한다. 폐기에 이어서, 재구성 유닛(116)은 3D 포인트의 제 2 서브셋을 획득하기 위해 획득된 3D 포인트의 제 1 서브셋 각각에 대해 뎁쓰(depth) 테스트를 수행한다. 뎁쓰 테스트에서는, 복수의 프로젝션 라인 각각에 대하여 각각의 라인을 향한 사용자의 뷰잉 위치로부터 시야 라인 상에 있는 제 1 서브셋의 3D 포인트를 제외한 모든 3D 포인트들이 폐기된다. 그 후, 재구성 유닛 (116)은 스크린 공간 프로젝션 이미지를 생성하기 위해 제 2 서브셋의 3D 포인트를 스크린 공간 도메인에 프로젝션한다. 스크린 공간 프로젝션 이미지는 결국 원 이미지의 텍스쳐(texture) 이미지이다. 텍스처는 이미지 혹은 특정 영역의 이미지 내에서 컬러나 강도(intensity)의 공간 배열(spatial arrangement)에 관한 정보를 제공해 준다.
일 실시예에서, 재구성 유닛(116)은 스크린 공간 프로젝션 이미지를 렌더링 유닛(118)에 제공한다. 일 실시 예에서, 렌더링 유닛 (118)은 스크린 공간 프로젝션 이미지에 기초하여 쿼드 (이미지)를 렌더링하도록 구성 될 수 있다. 일 실시예에서, 렌더링된 쿼드는 전체 화면 쿼드일 수 있다.
도 2는 본 개시의 일 실시 예에 따른 포인트 클라우드 기반 볼륨 비디오를 렌더링하는 프로세스를 나타내는 도면이다.
일 실시 예에서, 렌더링은 GPU(104)에 의한 3D 포인트 클라우드에 대응되는 다수의 2D 프레임을 처리하는데 기초할 수 있다. 각각의 2D 프레임은 다수의 픽셀을 포함한다. 일 실시 예에서, 다수의 픽셀로부터 필터링된 픽셀 세트를 포함하는 2D 프레임은 볼륨 비디오를 렌더링하기 위해 처리될 수 있다. 픽셀 세트의 필터링은 GPU(104)를 비롯하여 컴퓨팅 디바이스(102)의 전체적인 효율을 증가시킬 수있다. 여기서 픽셀 세트는 도 1b에서 설명된 비-리던던트 픽셀의 수일 수 있다.
도 2를 참조하면, 단계 202에서, 수신기(114)는 3D 포인트 클라우드에 해당하는 복수의 2D 프레임을 수신한다. 일 실시예에서, 수신기(114)는 2D 프레임과 관련된 프로젝션 메타 데이터, 점유 메타 데이터 및/또는 추가 프로젝션 정보를 수신한다. 일 실시예에서, 프로젝션 메타 데이터는 3D 포인트 클라우드의 2D 이미지 평면으로의 프로젝션의 세부 사항 정보와 관련될 수 있다. 일 실시예에서, 점유 메타 데이터는 픽셀의 리던던시에 기초한 정보를 포함할 수 있다. 구체적으로, 점유 메타 데이터는 픽셀 전체의 갯수로부터 리던던트 픽셀들의 갯수에 관한 정보를 포함할 수 있다. 일 실시 예에서, 추가 프로젝션 정보는 기하 정보, 시각 정보, 3D 공간에서 2D 포인트의 위치 및 2D 포인트의 색상 중 적어도 하나를 포함할 수 있다.
단계 204에서, 재구성 유닛(116)을 통해 3D 포인트 클라우드와 관련된 다수의 3D 포인트를 재구성하는 단계를 포함한다. 일 실시 예에서, 재구성은 수신기 (114)에서 단계 (202)에서 설명 된 바와 같이 수신된 2D 프레임의 수 및 프로젝션 메타 데이터에 기초하여 이루어질 수 있다. 또한, 본 개시에 따른 방법(200)은 3D 포인트를 재구성하기 전에 2D 프레임을 프로세싱하는 것을 포함한다. 일 실시 예에서, 2D 프레임을 프로세싱하는 것은 점유 메타 데이터에 기초하여 다수의 픽셀을 리던던트 픽셀 및 비-리던던트 픽셀로 나누는 필터링 단계를 포함한다. 일 실시 예에서, 리던던트 픽셀은 비-리던던트 픽셀과 분리될 수 있다. 전체 픽셀 수에서 리던던트 픽셀 수를 제하면 비-리던던트 픽셀의 수를 구할 수 있을 것이다. 또한, 다수의 리던던트 픽셀을 갖는 2D 프레임은 재구성 유닛(116)에 의해 프로세싱될 수 있다.
또한, 비-리던던트 픽셀을 포함하는 2D 프레임의 프로세싱은 2D 프레임에서 비-리던던트 픽셀의 갯수를 식별하는 것을 포함할 수 있다. 일 실시 예에서, 비-리던던트 픽셀 (혹은 그 픽셀의 수)을 식별하는 것 및 프로젝션 메타 데이터에 기초하여, 2D 프레임 내의 비-리던던트 픽셀 각각에 대해 3D 공간에서의 위치가 결정된다. 또한, 재구성 유닛 (116)은 비-리던던트 픽셀 각각에 대해 3D 공간에서의 위치에서 비-리던던트 픽셀에 대한 컬러를 판독 할 수 있다.
단계 206에서, 본 개시의 일 실시예에 따른 방법은 도 1b에 도시 된 렌더링 유닛(118)에 의해 3D 포인트의 수에 기초한 스크린 공간 프로젝션 이미지에 기초하여 전체 화면 쿼드를 렌더링하는 단계를 포함한다.
일 실시 예에서, 본 개시의 일 실시예에 따른 방법은 재구성 유닛(116)에 의해 재구성된 3D 포인트들을 스크린 공간 도메인에 프로젝션함으로써 스크린 공간 프로젝션 이미지를 생성하는 단계를 포함한다. 일 실시 예에서, 재구성된 3D 포인트들을 스크린 공간 도메인에 프로젝션하는 것은 하나 이상의 카메라 파라미터 및 하나 이상의 원근 프로젝션 파라미터와 관련된 정보를 포함하는 스크린-공간 프로젝션 데이터에 기초할 수 있다.
일 실시예에서 본 개시의 일 실시예에 따른 방법은 3D 포인트 클라우드 렌더링을 요청하는 뷰어 애플리케이션과 관련된 뷰잉 정보를 획득하는 것을 포함한다. 뷰잉 정보는 기준 뷰잉 포인트의 위치, 기준 뷰잉 포인트의 방향, 기준 뷰잉 포인트로부터 결정되는 FOV(field of view)와 관련된 정보를 포함할 수 있다.
본 개시의 일 실시예에 따른 방법은 획득된 뷰잉 정보에 기초하여 렌더링 유닛 (118)에 의해 스크린 공간 프로젝션을 계산하는 단계를 포함한다. 또한, 본 개시의 일 실시예에 따른 방법은 스크린-공간 프로젝션과 관련되 복수의 라인 상에 있는 3D 포인트들의 제 1 서브셋을 획득하기 위해 스크린 프로젝션 바깥의 하나 이상의 3D 포인트를 폐기하는 단계를 포함한다. 본 개시의 일 실시예에 따른 방법은 3D 포인트들의 제 2 서브셋을 획득하기 위해 3D 포인트들의 제 1 서브셋에 대한 뎁쓰 데스트를 수행하는 것을 포함한다. 여기서 뎁쓰 데스트는 스크린-공간 프로젝션과 관련되 복수의 라인 각각에 대하셔, 라인을 향하는 뷰잉 위치로부터 시야 라인 상의 제 1 서브셋 3D 포인트를 제외한 모든 3D 포인트를 폐기하는 것을 포함한다. 본 개시의 일 실시예에 따른 방법은 스크린 공간 프로젝션 이미지를 생성하기 위해 스크린 공간 도메인에 3D 포인트들의 제 2 서브셋을 프로젝션하는 것을 포함한다. 스크린 공간 프로젝션 이미지는 전체 스크린 쿼드 - 즉, 이후 도 6에서 보는 바와 같이 텍스처 604로서 스크린 공간 프로젝션 이미지에 있는 두 개의 트라이앵글로 해석될 수 있다. 본 개시는 수천 개의 3D 포인트를 렌더링함에 따라 리소스 부담이 발생하는 것을 오직 두 개의 트라이앵글을 렌더링하는 것으로 리소스 부담을 줄일 수 있는 이점을 제공한다.
도 3은 본 개시의 일 실시 예에 따른 포인트 클라우드 기반 볼륨 비디오를 렌더링하는 방법의 흐름도이다.
본 개시에 따른 방법 (300)은 전술 한 바와 같이, GPU(104)에 의해 구현될 수 있다. 일 실시 예에서, 본 개시에 따른 방법 (300)은 수신기(114), 재구성 유닛 (116) 및 렌더링 유닛(118)에 의해 실행될 수 있다. 혹은 프로세서(108)에 의해 방법이 모두 실행될 수 있다.
단계 302에서, 본 개시에 따른 방법(300)은 GPU(104)에서 3D 포인트 클라우드와 연관된 복수의 2D 프레임 및 3D 포인트 클라우드 데이터를 2D 이미지 평면에 프로젝션하는 상세 정보를 수신하는 단계를 포함한다.
단계 304에서, 본 개시에 따른 방법(300)은 컴퓨팅 디바이스에 의해 수신된 2D 프레임 및 프로젝션 메타 데이터에 기초하여 3D 포인트 클라우드 데이터와 연관된 복수의 3D 포인트를 재구성하는 단계를 포함한다.
단계 306에서, 본 개시에 따른 방법(300)은 복수의 3D 포인트에 기초하여 생성된 스크린 공간 프로젝션 이미지에 기초하여 전체 화면 쿼드를 렌더링하는 단계를 포함한다.
도 4는 본 개시의 일실시예에 따른 복수의 3D 포인트를 재구성하는 방법의 흐름도이다.
도 4는 도 3의 단계 304의 단계를 좀더 상세화한 것이다.
단계 3041에서 점유 메타데이터에 기초하여 GPU(104)는 3D 포인트 클라우드 (데이터)와 연관된 복수의 2D 프레임에서 리던던트 픽셀을 식별한다.
단계 3043에서 GPU(104)는 상기 식별된 리던던트 픽셀을 복수의 2D 프레임에 대응되는 픽셀들에서 제거한다.
단계 3045에서 GPU(104)는 상기 복수의 2D 프레임에서 리던던트 픽셀을 제외한 비-리던던트 픽셀을 식별한다.
단계 3047에서 GPU(104)는 프로젝션 메타데이터에 기초하여 비-리던던트 픽셀에 3차원 위치를 결정하여 3D 포인트를 재구성한다.
본 개시의 따른 실시예들은 적어도 하나의 하드웨어 장치에서 실행되고 하드웨어 장치의 요소를 제어하기 위해 네트워크 관리 기능을 수행하는 적어도 하나의 소프트웨어 프로그램을 통해 구현될 수 있다.
일실시예들에 따른 상기 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.
Claims (20)
- 3차원 포인트 클라우드에 대응되는 복수의 2차원 이미지 프레임 및 상기 3차원 포인트 클라우드를 2차원 이미지 플레인에 프로젝션 하는 프로젝션 정보를 포함하는 프로젝션 메타데이터를 수신하는 단계;상기 복수의 2차원 이미지 프레임 및 상기 프로젝션 메타데이터에 기초하여 상기 3차원 포인트 클라우드와 연관된 복수의 3차원 포인트를 재구성하는 단계; 및상기 복수의 3차원 포인트에 기초하여 생성된 텍스처 이미지에 기초하여 쿼드 이미지를 렌더링하는 단계를 포함하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법.
- 제 1 항에 있어서, 상기 복수의 2차원 이미지 프레임 각각은 복수의 픽셀을 포함하고,상기 복수의 3차원 포인트를 재구성하는 것은상기 복수의 2차원 이미지 프레임에 대응되는 점유 메타데이터에 기초하여 상기 2차원 이미지 프레임에서 리던던트 픽셀을 식별하는 단계; 및상기 복수의 2차원 이미지 프레임에서 상기 리던던트 픽셀을 제거하는 단계를 포함하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법.
- 제 2 항에 있어서, 상기 점유 메타데이터는 상기 리던던트 픽셀의 갯수에 관한 정보를 포함하는 것을 특징으로 하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법.
- 제 2 항에 있어서, 상기 복수의 3차원 포인트를 재구성하는 것은상기 복수의 2차원 이미지 프레임에 포함된 픽셀 중 상기 리던던트 픽셀을 제외하여 비-리던던트 픽셀을 식별하는 단계; 및상기 프로젝션 메타데이터에 기초하여 3차원 공간에서 상기 비-리던던트 픽셀에 대응되는 위치를 결정하는 단계를 포함하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법.
- 제 2 항에 있어서,상기 점유 메타 데이터는 상기 복수의 3차원 포인트를 상기 2차원 이미지 평면에 프로젝션할 때 프로젝션 방향으로 동일한 선상에 있는 포인트들 및 상기 포인트들의 갯수에 관한 정보 및 유효한 점유 픽셀과 유효하지 않은 리던던트 픽셀에 대한 이진 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법.
- 제 5 항에 있어서, 상기 리던던트 픽셀은 상기 복수의 3차원 포인트를 상기 2차원 이미지 평면에 프로젝션할 때 프로젝션 방향으로 동일한 선상에 있는 포인트들 중 적어도 하나를 제외한 나머지 픽셀 및 상기 나머지 픽셀들의 갯수를 포함하는 것을 특징으로 하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법.
- 제 5 항에 있어서,상기 상기 복수의 3차원 포인트를 상기 2차원 이미지 평면에 프로젝션할 때 프로젝션 방향으로 동일한 선상에 있는 포인트들에 관한 정보는 상기 포인트들의 좌표 정보인 것을 특징으로 하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법.
- 제 1 항에 있어서,상기 프로젝션 메타 데이터는 상기 3차원 포인트 클라우드와 관련된 상기 복수의 3차원 포인트의 기하학적 정보, 상기 복수의 3차원 포인트의 시각적 정보, 3차원 공간에서 상기 3차원 포인트 클라우드에 대응되는 픽셀의 위치 및 상기 픽셀의 색상 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법.
- 제 1 항에 있어서, 상기 프로젝션 메타데이터는 상기 복수의 3차원 포인트 클라우드를 상기 2차원 이미지 평면으로 프로젝션하는데 있어서 상기 3차원 포인트 클라우드에 대응되는 3차원 좌표와 각 복수의 3차원 포인트들이 상기 2차원 이미지 평면 상에 프로젝션될 때 대응되는 2차원 좌표 및 상기 3차원 좌표와 2차원 좌표를 연결하는 연결 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법.
- 제 1 항에 있어서,스크린 공간 프로젝션 데이터에 기초하여 상기 복수의 3차원 포인트를 스크린 공간 도메인에 프로젝팅하여 스크린 공간 프로젝션 이미지를 생성하는 단계를 더 포함하되, 상기 스크린 공간 프로젝션 데이터는 하나 이상의 카메라 파라미터 및 하나 이상의 원근 프로젝션 파라미터 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법.
- 제 10 항에 있어서,상기 복수의 3차원 포인트 렌더링을 요청하는 뷰잉 애플리케이션에 관련된 뷰잉 정보를 획득하되, 상기 뷰잉 정보는 기준 뷰잉 포인트의 위치, 상기 기준 뷰잉 포인트의 방향, 및 상기 기준 뷰잉 포인트로부터 결정되는 FOV와 관련된 정보를 포함하고;상기 뷰잉 정보에 기초하여 스크린 공간 프로젝션을 계산하는 단계;상기 복수의 3차원 포인트 중에서 상기 스크린 공간 프로젝션의 시야 밖에 투사되는 3차원 포인트를 폐기함에 의해 상기 스크린 공간 프로젝션 시야 내에 있는 제 1 서브셋 3D 포인트를 획득하는 단계;상기 제 1 서브셋 3차원 포인트에 대하여 뎁쓰 테스트를 수행하여 제 2 서브셋 3D 포인트를 획득하는 단계; 및상기 제 2 서브셋 3차원 포인트를 상기 스크린 공간 도메인에 프로젝팅하는 단계를 더 포함하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법.
- 제 11 항에 있어서, 상기 3차원 포인트를 상기 스크린 공간 도메인에 프로젝팅하는 것은,스크린 공간 프로젝션 데이터에 기초하여 상기 3차원 포인트를 상기 스크린 공간 도메인에 프로젝팅하는 것을 특징으로 하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법.
- 제 12 항에 있어서, 상기 스크린 공간 프로젝션 데이터는 상향 벡터, 시야 방향, 포커스 길이, 렌즈 왜곡(lens distortion) 및 상기 3차원 포인트를 촬상한 카메라 위치(camera pose)와 같은 하나 이상의 카메라 파라미터 및 시야(FOV), 근거리 및 원거리 플레인 위치와 같은 하나 이상의 원근(perpective) 프로젝션 파라미터에 대한 정보를 포함하는 것을 특징으로 하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법.
- 디스플레이; 및3차원 포인트 클라우드에 대응되는 복수의 2차원 이미지 프레임 및 상기 3차원 포인트 클라우드를 2차원 이미지 플레인에 프로젝션 하는 프로젝션 정보를 포함하는 프로젝션 메타데이터를 수신하고,상기 복수의 2차원 이미지 프레임 및 상기 프로젝션 메타데이터에 기초하여 상기 3차원 포인트 클라우드와 연관된 복수의 3차원 포인트를 재구성하고, 및상기 복수의 3차원 포인트에 기초하여 생성된 텍스처 이미지에 기초하여 쿼드 이미지를 상기 디스플레이로 렌더링하는 프로세서를 포함하는 것을 특징으로 하는 포인트 클라우드 기반 데이터를 렌더링하는 컴퓨팅 디바이스.
- 제 14 항에 있어서, 상기 복수의 2차원 이미지 프레임 각각은 복수의 픽셀을 포함하고,상기 프로세서가 상기 복수의 3차원 포인트를 재구성하는 것은,상기 프로세서가 상기 복수의 2차원 이미지 프레임에 대응되는 점유 메타데이터에 기초하여 상기 2차원 이미지 프레임에서 리던던트 픽셀을 식별하고, 및상기 복수의 2차원 이미지 프레임에서 상기 리던던트 픽셀을 제거하는 것을 포함하는 포인트 클라우드 기반 데이터를 렌더링하는 컴퓨팅 디바이스.
- 제 15 항에 있어서, 상기프로세서가 상기 복수의 3차원 포인트를 재구성하는 것은상기 프로세서가 상기 복수의 2차원 이미지 프레임에 포함된 픽셀 중 상기 리던던트 픽셀을 제외하여 비-리던던트 픽셀을 식별하고, 및 상기 프로젝션 메타데이터에 기초하여 3차원 공간에서 상기 비-리던던트 픽셀에 대응되는 위치를 결정하는 것을 포함하는 포인트 클라우드 기반 데이터를 렌더링하는 컴퓨팅 디바이스.
- 제 14 항에 있어서, 상기 프로세서는 스크린 공간 프로젝션 데이터에 기초하여 상기 복수의 3차원 포인트를 스크린 공간 도메인에 프로젝팅하여 스크린 공간 프로젝션 이미지를 생성하되, 상기 스크린 공간 프로젝션 데이터는 하나 이상의 카메라 파라미터 및 하나 이상의 원근 프로젝션 파라미터 중 적어도 하나를 포함하는 것을 특징으로 하는 포인트 클라우드 기반 데이터를 렌더링하는 컴퓨팅 디바이스.
- 제 17 항에 있어서, 상기 프로세서는,상기 복수의 3차원 포인트 렌더링을 요청하는 뷰잉 애플리케이션에 관련된 뷰잉 정보를 획득하되, 상기 뷰잉 정보는 기준 뷰잉 포인트의 위치, 상기 기준 뷰잉 포인트의 방향, 및 상기 기준 뷰잉 포인트로부터 결정되는 FOV와 관련된 정보를 포함하고,상기 뷰잉 정보에 기초하여 스크린 공간 프로젝션을 계산하고;상기 복수의 3차원 포인트 중에서 상기 스크린 공간 프로젝션의 시야 밖에 투사되는 3차원 포인트를 폐기함에 의해 상기 스크린 공간 프로젝션 시야 내에 있는 제 1 서브셋 3D 포인트를 획득하고,상기 제 1 서브셋 3차원 포인트에 대하여 뎁쓰 테스트를 수행하여 제 2 서브셋 3D 포인트를 획득하고, 및상기 제 2 서브셋 3차원 포인트를 상기 스크린 공간 도메인에 프로젝팅하는 것을 더 포함하는 포인트 클라우드 기반 데이터를 렌더링하는 컴퓨팅 디바이스.
- 제18항에 있어서, 상기 프로세서가 상기 3차원 포인트를 상기 스크린 공간 도메인에 프로젝팅하는 것은,상기 프로세서가 스크린 공간 프로젝션 데이터에 기초하여 상기 3차원 포인트를 상기 스크린 공간 도메인에 프로젝팅하는 것을 특징으로 하는 포인트 클라우드 기반 데이터를 렌더링하는 컴퓨팅 디바이스.
- 3차원 포인트 클라우드에 대응되는 복수의 2차원 이미지 프레임 및 상기 3차원 포인트 클라우드를 2차원 이미지 플레인에 프로젝션 하는 프로젝션 정보를 포함하는 프로젝션 메타데이터를 수신하는 단계;상기 복수의 2차원 이미지 프레임 및 상기 프로젝션 메타데이터에 기초하여 상기 3차원 포인트 클라우드와 연관된 복수의 3차원 포인트를 재구성하는 단계; 및상기 복수의 3차원 포인트에 기초하여 생성된 텍스처 이미지에 기초하여 쿼드 이미지를 렌더링하는 단계를 포함하는 컴퓨팅 디바이스에서 포인트 클라우드 기반 데이터를 렌더링하는 방법을 수행하는 명령을 포함하는 컴퓨터 가독 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/533,765 US11769291B2 (en) | 2019-05-23 | 2021-11-23 | Method and device for rendering point cloud-based data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201941020519 | 2019-05-23 | ||
IN201941020519 | 2019-05-23 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/533,765 Continuation US11769291B2 (en) | 2019-05-23 | 2021-11-23 | Method and device for rendering point cloud-based data |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020235979A1 true WO2020235979A1 (ko) | 2020-11-26 |
Family
ID=73459591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2020/006764 WO2020235979A1 (ko) | 2019-05-23 | 2020-05-25 | 포인트 클라우드 기반 데이터를 렌더링하는 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11769291B2 (ko) |
WO (1) | WO2020235979A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117789198A (zh) * | 2024-02-28 | 2024-03-29 | 上海几何伙伴智能驾驶有限公司 | 基于4d毫米波成像雷达实现点云退化检测的方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3968274A1 (en) * | 2020-09-14 | 2022-03-16 | Tata Consultancy Services Limited | Method and system for asset inspection using unmanned aerial vehicles |
KR20240032912A (ko) * | 2021-07-05 | 2024-03-12 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
CN118096558B (zh) * | 2024-04-25 | 2024-07-19 | 广东电网有限责任公司广州供电局 | 沿布图生成方法、装置、电子设备和计算机可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180122947A (ko) * | 2017-05-04 | 2018-11-14 | 톰슨 라이센싱 | 2차원 포인트 클라우드들을 인코딩 및 디코딩하기 위한 방법 및 장치 |
US20190087978A1 (en) * | 2017-09-18 | 2019-03-21 | Apple Inc. | Point cloud compression using non-cubic projections and masks |
US20190087979A1 (en) * | 2017-09-18 | 2019-03-21 | Apple Inc. | Point cloud compression |
KR20190053129A (ko) * | 2017-11-09 | 2019-05-17 | 삼성전자주식회사 | 비-직교 투영을 이용한 포인트 클라우드 압축을 위한 장치 및 방법 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9412172B2 (en) | 2013-05-06 | 2016-08-09 | Disney Enterprises, Inc. | Sparse light field representation |
US10176621B2 (en) | 2013-06-10 | 2019-01-08 | Sony Interactive Entertainment Inc. | Using compute shaders as front end for vertex shaders |
WO2015098807A1 (ja) * | 2013-12-24 | 2015-07-02 | チームラボ株式会社 | 被写体と3次元仮想空間をリアルタイムに合成する撮影システム |
KR101555426B1 (ko) * | 2014-02-07 | 2015-09-25 | 고려대학교 산학협력단 | 지형 렌더링 방법 및 장치 |
WO2016033036A2 (en) | 2014-08-26 | 2016-03-03 | Massachusetts Institute Of Technology | Methods and apparatus for three-dimensional (3d) imaging |
US10102662B2 (en) | 2016-07-27 | 2018-10-16 | Advanced Micro Devices, Inc. | Primitive culling using automatically compiled compute shaders |
US10038894B1 (en) | 2017-01-17 | 2018-07-31 | Facebook, Inc. | Three-dimensional scene reconstruction from set of two dimensional images for consumption in virtual reality |
US11514613B2 (en) | 2017-03-16 | 2022-11-29 | Samsung Electronics Co., Ltd. | Point cloud and mesh compression using image/video codecs |
US10474524B2 (en) | 2017-07-12 | 2019-11-12 | Topcon Positioning Systems, Inc. | Point cloud filter method and apparatus |
CN109658515B (zh) | 2017-10-11 | 2022-11-04 | 阿里巴巴集团控股有限公司 | 点云网格化方法、装置、设备及计算机存储介质 |
US10783668B2 (en) | 2017-12-22 | 2020-09-22 | Samsung Electronics Co., Ltd. | Handling duplicate points in point cloud compression |
US20200045344A1 (en) * | 2018-07-31 | 2020-02-06 | Intel Corporation | Video processing mechanism |
-
2020
- 2020-05-25 WO PCT/KR2020/006764 patent/WO2020235979A1/ko active Application Filing
-
2021
- 2021-11-23 US US17/533,765 patent/US11769291B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180122947A (ko) * | 2017-05-04 | 2018-11-14 | 톰슨 라이센싱 | 2차원 포인트 클라우드들을 인코딩 및 디코딩하기 위한 방법 및 장치 |
US20190087978A1 (en) * | 2017-09-18 | 2019-03-21 | Apple Inc. | Point cloud compression using non-cubic projections and masks |
US20190087979A1 (en) * | 2017-09-18 | 2019-03-21 | Apple Inc. | Point cloud compression |
KR20190053129A (ko) * | 2017-11-09 | 2019-05-17 | 삼성전자주식회사 | 비-직교 투영을 이용한 포인트 클라우드 압축을 위한 장치 및 방법 |
Non-Patent Citations (1)
Title |
---|
EURICO MANUEL RODRIGUES LOPES: "Adaptive Plane Projection for Video-base d Point Cloud Coding", THESIS TO OBTAIN THE MASTER OF SCIENC E DEGREE IN ELECTRICAL AND COMPUTER ENGINEERING, November 2018 (2018-11-01), TECNICO LISBOA, XP055741133, Retrieved from the Internet <URL:https://fenix.tecnico.ulisboa.pt/downloadFile/1407770020546561/AdaptivePlaneProjectionforVPCC-78566.pdf> [retrieved on 20200814] * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117789198A (zh) * | 2024-02-28 | 2024-03-29 | 上海几何伙伴智能驾驶有限公司 | 基于4d毫米波成像雷达实现点云退化检测的方法 |
CN117789198B (zh) * | 2024-02-28 | 2024-05-14 | 上海几何伙伴智能驾驶有限公司 | 基于4d毫米波成像雷达实现点云退化检测的方法 |
Also Published As
Publication number | Publication date |
---|---|
US11769291B2 (en) | 2023-09-26 |
US20220084278A1 (en) | 2022-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020235979A1 (ko) | 포인트 클라우드 기반 데이터를 렌더링하는 방법 및 장치 | |
US9699380B2 (en) | Fusion of panoramic background images using color and depth data | |
CN107945098B (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
WO2011087289A2 (en) | Method and system for rendering three dimensional views of a scene | |
WO2016053067A1 (en) | 3-dimensional model generation using edges | |
WO2009093836A2 (en) | Method, medium, and system for compressing and decoding mesh data in three-dimensional mesh model | |
EP4044122A1 (en) | Image processing method and apparatus, computer storage medium, and electronic device | |
CN114820910A (zh) | 一种渲染方法及装置 | |
CN115270184A (zh) | 视频脱敏、车辆的视频脱敏方法、车载处理系统 | |
US11620965B2 (en) | Video display method, video display system, electronic device, and storage medium | |
CN113506305B (zh) | 三维点云数据的图像增强方法、语义分割方法及装置 | |
KR101499124B1 (ko) | 공유 메모리를 이용한 영상 처리 방법 및 장치 | |
WO2023221636A1 (zh) | 视频处理方法、装置、设备、存储介质和程序产品 | |
CN109816791B (zh) | 用于生成信息的方法和装置 | |
CN111784811A (zh) | 一种图像处理方法、装置,电子设备及存储介质 | |
US9230508B2 (en) | Efficient feedback-based illumination and scatter culling | |
CN112848312B (zh) | 三维模型对象的检测方法、装置、计算机设备及存储介质 | |
JP7278720B2 (ja) | 生成装置、生成方法及びプログラム | |
WO2015053557A1 (en) | Apparatus and method of rendering frame by adjusting processing sequence of draw commands | |
WO2020171257A1 (ko) | 영상 처리 방법 및 그 장치 | |
WO2020171258A1 (ko) | 영상 처리 방법 및 그 장치 | |
CN114399425B (zh) | 一种图像处理方法、视频处理方法、装置、设备及介质 | |
WO2017150847A2 (ko) | 광 시야각 영상 처리 시스템, 광 시야각 영상의 전송 및 재생 방법, 및 이를 위한 컴퓨터 프로그램 | |
CN115022613B (zh) | 一种视频重建方法、装置、电子设备及存储介质 | |
CN110536076A (zh) | 一种Unity全景视频录制的方法及终端 |
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: 20809766 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20809766 Country of ref document: EP Kind code of ref document: A1 |