WO2020004695A1 - Gpu를 이용해 모션캡쳐 영상의 실시간 병렬 렌더링을 수행하는 시스템 - Google Patents
Gpu를 이용해 모션캡쳐 영상의 실시간 병렬 렌더링을 수행하는 시스템 Download PDFInfo
- Publication number
- WO2020004695A1 WO2020004695A1 PCT/KR2018/007439 KR2018007439W WO2020004695A1 WO 2020004695 A1 WO2020004695 A1 WO 2020004695A1 KR 2018007439 W KR2018007439 W KR 2018007439W WO 2020004695 A1 WO2020004695 A1 WO 2020004695A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- rendering
- image
- motion
- unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
Definitions
- the present invention relates to a system for performing real-time rendering of motion captured images. Specifically, the present invention relates to a system for real-time rendering of motion-captured images through parallel operations of GPUs.
- Physically based rendering is a formal color calculation method that calculates final color values by substituting optically-based rendering parameters into rendering equations.
- physics-based rendering is a method of applying real-world physics to rendering.
- the GPU method is an essential element technology for producing real-time scenes in real time, and is recently applied to major game engines (Unreal 4, Fox, Unity 5), and is continuously equipped with advanced technology.
- the technical problem of the present invention is to provide a system that can interact.
- the technical problem of the present invention is to provide a system capable of real-time rendering through GPU operation.
- the output unit consisting of a plurality of image output unit 200;
- a GPU parallel computing module 100 configured of a plurality of parallel rendering devices connected to a plurality of image output units;
- a motion capture unit 300 for generating motion information by recognizing a motion of a user and transmitting the motion information to the GPU parallel operation module 100, wherein the GPU parallel operation module 100 is specified among a plurality of render operations.
- One render calculator is a server, the other render calculator is a client, and the image output unit is installed so that the boundary of each screen abuts so that the image output unit 200 constitutes one large screen, and the render calculator is DB 160 for storing the 3D image 500 and the partition information 600, and the image load unit 110 for loading the 3D image content 500 stored in the DB 160, and the region information stored in the DB 160.
- the segmentation load unit 120 which loads 600, receives the motion information, and divides the motion processing module 130 and the 3D image 500 into which the motion command information matching the motion information is loaded from the DB 160.
- the rendering unit 140 extracts a 3D image divided into a rectangular region composed of coordinates of the divided region information 600.
- the motion command information processing unit 142 generates rendering information for rendering 3D image content based on the motion command information 700, and when the render operation unit is a client, the rendering information generated by the motion command information processing unit 142 to the server.
- the render operation unit is a server, rendering information generated by the motion command information processing unit 142 or rendering information transmitted by another render operation unit to the remaining render operation unit.
- a GPU parallel processing unit 143 which renders the 3D image 500 in a parallel GPU computing manner by using the rendering information transmitted by the synchronization unit 143 and the synchronization unit 143.
- the divided area information 600 has three-dimensional coordinates of three points out of four corners of the image output unit screen connected to the render operation unit when the center point of the image output unit screen located at the center of the output unit 200 is the origin. We present an interactive high quality system based on real-time parallel rendering.
- the motion capture image can be rendered in real time.
- the rendered image as described above may be produced by using a hologram or the like.
- FIG. 1 is a block diagram of the overall configuration of a system for performing real-time parallel rendering of a motion capture image using a GPU according to the present invention.
- FIG. 2 is a block diagram of a configuration of a parallel rendering apparatus in the configuration of a system for performing real-time parallel rendering of a motion capture image using a GPU according to the present invention.
- FIG. 3 is a system configuration diagram of a system for performing real-time parallel rendering of a motion captured image using a GPU according to an embodiment of the present invention.
- FIG. 4 is a system configuration diagram of a system for performing real-time parallel rendering of a motion capture image using a GPU according to another embodiment of the present invention.
- a system that performs real-time parallel rendering of motion capture images using a GPU.
- the present invention relates to an interactive high quality system based on real-time parallel rendering, and comprises a GPU parallel operation module 100, an output unit 200, and a motion capture unit 300 as shown in FIG. 1.
- the output unit 200 is composed of a plurality of image output unit (200a, 200b, 200c, ...), a plurality of image output unit for outputting the divided 3D image is connected to a single 3D image 500 as a whole It plays a role of outputting.
- the image output unit is provided such that the boundary of the screen by each image output unit abuts so that the output unit 200 constitutes one large screen.
- the LED / LCD display is grid-shaped (see FIG. 3), It can be each display when connected horizontally (see FIG. 4) or vertically, and when multiple screens are connected in a grid, horizontal or vertical line so that multiple projectors shoot a divided image on each screen. It may be a combination of each projector and the screen.
- the meaning of the 'line' is that it is connected in a line when viewed from the front, and includes a bent form of the connected display when viewed from another direction (such as from above or from the side) (see FIG. 4).
- the screen may be connected to four or more angles to surround the front to form a space in which the 3D image 500 is output.
- the motion capture unit 300 generates motion information by recognizing a user's motion, and transmits the motion information to the GPU parallel operation module 100.
- the motion capture unit 300 uses a Kinect sensor or the like in the space installed in the output unit 200. The user's eyes, hand gestures, and gestures can be recognized.
- the GPU parallel computing module 100 includes a plurality of render calculators 100a, 100b, 100c,... Which are connected to the plurality of image output units 200a, 200b, 200c,. That is, the image output unit and the render operator are connected 1: 1.
- one of the plurality of render calculators 100a, 100b, 100c, ... is designated as the server and the other render operators 100b, 100c, ... are designated as clients. Connected by a network. This is for synchronization of the rendering described later.
- the render operation unit 100a stores segmentation area information 600 including coordinate values of an image output from each image output unit on the 3D image 500 and the 3D image 500, and divides the 3D image 500 into a division region.
- the display apparatus is configured to divide the information according to the information 600, render the divided 3D image, and then output the rendered divided 3D image to the connected image output unit.
- Each render operation unit (100a, 100b, 100c, ...) is the image load unit 110, split load unit 120, the motion processing module 130, the rendering unit 140, the divided content sending unit as shown in FIG. 150, DB (160).
- the addition of the alphabet to the identification number of the configuration means the configuration (rendering unit 140b, DB 160b, etc.) of the specific render operation unit 100b, and the addition of the alphabet (identification number consisting of numbers only)
- the components of the render operation units 100a, 100b, 100c, ... are collectively referred to (the render units 140a, 40b, 140c, ...) as the rendering unit 140, and the like.
- the DB 160 stores the 3D image 500 and the segmentation information 600. In addition, motion command information 700 that matches specific motion information is also stored.
- the divided area information 600 is a three-dimensional image of three points out of four corners on the screen of the image output unit connected to the render operation unit when the center point of the image output unit screen located in the center of the output unit 200 is the origin. It consists of coordinates.
- Divided region information 600b includes Pc2 (-8,5,0) at the upper left, Pa2 (-8, -5,0) at the lower left, and Pb2 (8, -5,0) at the lower right. .
- the divided area information 600a of the first image output unit 200a includes Pc1 (-22, 5, 8) at the upper left, Pa1 (-22, -5, 8) at the lower left, and Pb1 (-8 at the lower right).
- the divided region information 600c of the third image output unit 200c may include Pc3 (8,5,0) at the upper left and Pa3 (8, -5,0) at the lower left.
- the 3D image 500 includes terrain information 511 corresponding to the entire background of the 3D image 500, structure information 512 disposed on the terrain information 511, and object information disposed inside and outside the structure information 512. 513, environmental information 510 divided into illumination information 514 by the light source. This is to change data for each environment information during rendering.
- the motion command information 700 is command data that is matched with specific motion information to induce a change of the 3D image 500.
- motion information of 'Turn indoor light' is matched to motion information of 'one-hand operation'
- motion command information of 'Turn off indoor light' is matched to motion information of 'Two-hand operation'.
- Motion command information such as 'move a specific object's position according to the direction of hand movement' is matched to the motion information of 'move one hand to the left or right', and 'move head' to the motion information of 'turning head'
- the motion command information 'changes the viewpoint of the currently visible screen according to the turning direction' may be matched.
- the image load unit 110 serves to load the 3D image 500 stored in the DB 160.
- the apparatus may further include a target extractor 111 for extracting the imported 3D image 500 by the environment information 510.
- the terrain information 511, the structure information 512, the object information 513, and the illumination may be further included. Each of the information 514 is extracted separately.
- the partition load unit 120 loads partition information 600 stored in the DB 160.
- partition information 600 including Pc 1 (-22, 5, 8), Pa 1 (-22, -5, 8), and Pb 1 (-8, -5, 0) is shown.
- the 600a is loaded, and the second render operator 100b and the third render operator 100c similarly load respective pieces of region information 600b and 600c.
- the motion processing module 130 receives motion information and loads motion command information matching the corresponding motion information from the DB 160.
- the motion processing module 130 includes a motion information receiver 131 and a motion command information generator 132. .
- the motion information receiver 131 receives motion information from the motion capture unit 300, and the motion command information generator 132 searches for and matches the motion information received from the motion information receiver 131 in the DB 160. retrieves the motion command information 700. For example, when the motion information of the 'one-handed operation' is received, the motion command information called 'turning on the interior light' matched thereto is called.
- the rendering unit 140 divides the 3D image 500 according to the segmentation area information 600 and renders the divided 3D image based on the motion command information 700, and as shown in FIG. 141, a motion command information processing unit 142, a synchronization unit 143, and a GPU parallel processing unit 144.
- the screen splitter 141 extracts a 3D image divided into a rectangular area composed of coordinates of the divided region information 600 when the center on the 3D image 500 is the coordinate origin (0,0,0).
- the first render calculator 100a includes Pc1 (-22, 5, 8), Pa1 (-22, -5, 8), Pb1 (-8, -5, Extract the rectangular area having three corners of 0), extract the rectangular area having three corners of the coordinates of the divided area information 600b in the second render operation unit 100b, and divide the divided area in the third render operation unit 100c. It is to extract a rectangular area having three corners of the coordinates of the information 600c.
- the motion command information processor 142 generates rendering information for rendering a 3D image based on the motion command information 700. For example, create rendering information to change the illumination setting in a 3D image segmented according to the motion command information of 'turning on the interior light', or specify specific motion information in accordance with the motion command information of 'moving a specific object in accordance with the direction of hand movement'. Generating rendering information to be moved by extracting an object, or generating rendering information to change the camera view setting for rendering the 3D image 500 according to the motion command information 'change the viewpoint of the currently visible screen according to the direction of turning the head'. And so on.
- the synchronization unit 143 transmits the rendering data generated by the motion command information processing unit 142 to the server when the render operation unit is a client, and render information generated by the motion command information processing unit 142 when the render operation unit is the server. Alternatively, it renders the rendering information transmitted from another render calculator to the remaining render calculator.
- the first render operation unit 100a is a server
- the second render operation unit 100b and the third render operation unit 100c are configured as clients.
- the motion command information processing unit 142 of the first render operation unit 100a When the motion command information processing unit 142 of the first render operation unit 100a generates rendering information, it transmits the rendering information to the second and third render operation units 100b and 100c as clients. In contrast, when the motion instruction information processing unit 142 of the second render operation unit 100b generates rendering information, the rendering information is transmitted to the first render operation unit 100a, which is received by the first render operation unit 100a to receive other clients, That is, it transmits to the third render operation unit 100c. Therefore, all render operations have synchronized rendering information.
- the synchronizer 143 renders the 3D image 500 by using the parallel GPU computing method using the rendering information transmitted by the synchronizer 143.
- the render operation unit should include a plurality of GPUs to enable parallel GPU computing.
- the divided content transmitting unit 150 transmits the divided 3D image rendered by the rendering unit 140 to the image output device connected to the render calculating unit. That is, the first render operation unit 100a transmits the first image output unit 200a and the second parallel rendering unit 100b to the second image output unit 200b.
- the motion capture image can be rendered in real time.
- the rendered image as described above may be produced by using a hologram or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 GPU를 이용해 모션캡쳐 영상의 실시간 병렬 렌더링을 수행하는 시스템에 관한 것으로서, 모션 캡쳐를 통해 획득한 영상을 실시간 렌더링을 수행함으로써 홀로그램 등과 같은 출력장치로 출력되기까지의 시간을 줄여 실시간 상효작용이 가능한 시스템에 관한 것이다
Description
본 발명은 모션 캡쳐 영상의 실시간 렌더링을 수행하는 시스템에 관한 것이다. 상세하게, GPU의 병렬 작업을 통해 모션캡쳐된 영상을 실시간 렌더링하는 시스템에 관한 것이다.
물리기반 렌더링은 실사수준의 렌더링이 가능 물리기반 렌더링은 광학에 기반한 렌더링 파라미터를 렌더링 방정식에 대입하여 최종적인 색상값을 계산하는 정형화된 색상계산 방법이다. 오픈소스 3D 게임엔진을 사용하여 물리기반 렌더링을 적용한 쉐이더와 퐁쉐이더의 비교에서 알 수 있듯이 물리기반 렌더링은 실사의 물리값을 렌더링에 적용한 방법이다. 오늘날 실사 수준의 재연과 상호작용을 위해 GPU방식의 렌더링 기술 개발의 필요성이 대두되고 있다. GPU방식은 실사 수준의 장면을 실시간으로 연출하기 위한 필수 요소 기술로서 최근 메이저 게임엔진(Unreal 4, Fox, Unity 5) 등에 적용되고 있으며, 지속적으로 진일보한 기술이 탑재되고 있는 실정이다. 이를 위해 고성능의 GPU기능을 최대로 활용하나 고품질 렌더링 서비스 기술개발의 중요성을 인식하고 물리기반 렌더링 기술 적용에 박차를 가하고 있다. 게입 업계에서도 실사수준의 포토리얼리스틱(Photo-realistic)을 재연하기 위해서 물리기반 렌더링의 중요성을 인지하고 물리기반 렌더링을 탑재한 엔진을 지속적으로 발표하고 있으나, 실존 인물의 실사급 CG 캐릭터의 실시간 상호작용에 대한 기술은 개발되지 못하고 있는 실정이다.
본 발명의 기술적 과제는 상호작용할 수 있는 시스템을 제공하기 위한 것이다.
상세하게, 본 발명의 기술적 과제는 GPU 연산을 통해 실시간 렌더링이 가능한 시스템을 제공하기 위한 것이다.
본 발명의 일 양태에 따르면, 다수의 영상출력부로 구성되는 출력부(200); 다수의 영상출력부와 대응 연결되는 다수의 병렬렌더링 장치로 구성되는 GPU 병렬연산 모듈(100); 사용자의 모션을 인식하여 모션 정보를 생성하고, 이를 GPU 병렬연산 모듈 (100)로 송출하는 모션캡쳐부(300);을 포함하고, 상기 GPU 병렬연산 모듈(100)은 다수의 렌더 연산부 중 특정된 하나의 렌더 연산부가 서버로, 나머지 렌더 연산부가 클라이언트로 구성되며, 상기 영상출력부는 영 상출력부(200)이 하나의 큰 화면을 구성하도록 각 화면의 경계부가 맞닿게 설치되고, 상기 렌더 연산부는 3D 영상물(500)와 분할 영역 정보(600)가 저장되는 DB(160), DB(160)에 저장된 3D 영상콘텐츠(500)를 불러오는 영상물 로드부(110), DB(160)에 저장된 분할 영역 정보(600)를 불러오 는 분할 로드부(120), 모션 정보를 수신하여 DB(160)에서 해당 모션 정보와 매칭되는 모션 명령 정보를 불러오는 모션 처리모듈(130), 3D 영상물(500)를 분할 영역 정보(600)에 따라 분할하고 모션명령데 이터(700)를 기반으로 분할된 3D 영상물을 렌더링하는 렌더링부(140), 렌더링부(140)에 의해 렌더링된 분할 3D 영상물을 렌더 연산부에 연결된 영상출력부로 송출하는 분할콘텐츠송출부(150)를 포함하는 것을 특 징으로 하고, 상기 렌더링부(140)는 3D 영상물(500) 상의 중심을 원점으로 할 때 분할 영역 정보(600)의 좌표로 구성되는 직사각형 영역으로 분할된 3D 영상물을 추출하는 화면분할부(141), 모션 명령 정보(700)를 기반으로 3D영상 콘텐츠를 렌더링 할 렌더링 정보를 생성하는 모션 명령 정보처리부(142), 상기 렌더 연산부가 클라이언트일 경우 모션 명령 정보처리부(142)에서 생성된 렌더링 정보를 서버로 전송하고, 렌더 연산부가 서버일 경우 모션 명령 정보처리부(142)에서 생성된 렌더링 정보 또는 다른 렌더 연산부에서 전송된 렌더링 정보를 나 머지 렌더 연산부로 전송하는 동기화부(143), 동기화부(143)에 의해 전송된 렌더링 정보를 이용하여 병렬 GPU컴퓨팅 방식으로 3D 영상물(500)를 렌더링하는 GPU병렬처리부(143)를 포함하는 것을 특징으로 하며, 상기 분할 영역 정보(600)는 출력부(200)의 중앙에 위치한 영상출력부 화면상의 중심점을 원점으로 할 때, 상기 렌더 연산부에 연결되는 영상출력부 화면상의 모서리 네 점 중 세 점에 대한 3차원 좌표로 구성 되는 것을 특징으로 하는 실시간 병렬 렌더링 기반의 인터랙티브 고품질 시스템을 제시한다.
본 발명에 따르면 모션캡쳐 영상을 실시간으로 렌더링할 수 있다.
또한, 상기와 같이 렌더린된 영상을 홀로그램 등으로 컨텐츠를 제작할 수 있다.
또한, 병렬 GPU 컴퓨팅 기술을 이용하여 초고해상도의 3D 영상 콘텐츠를 실시간으로 렌더링할 수 있으며, 사용자의 모션인식을 통해 상호작용이 가능한 시스템을 제공함으로써 몰입도를 향상시킬 수 있게 된다.
도 1은 본 발명에 따른 GPU를 이용해 모션캡쳐 영상의 실시간 병렬 렌더링을 수행하는 시스템의 전체적인 구성에 대한 블록도이다.
도 2는 본 발명에 따른 GPU를 이용해 모션캡쳐 영상의 실시간 병렬 렌더링을 수행하는 시스템의 구성 중 병렬 렌더링 장치의 구성에 대한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 GPU를 이용해 모션캡쳐 영상의 실시간 병렬 렌더링을 수행하는 시스템에대한 시스템 구성도이다.
도 4는 본 발명의 다른 실시예에 따른 GPU를 이용해 모션캡쳐 영상의 실시간 병렬 렌더링을 수행하는 시스템 대한 시스템 구성도이다.
GPU를 이용해 모션캡쳐 영상의 실시간 병렬 렌더링을 수행하는 시스템.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 이하에서 개시되는 실시 예에 한정되지 않는다. 또한 도면에서 본 발명을 명확하게 개시하기 위해서 본 발명과 관계없는 부분은 생략하였으며, 도면에서 동일하거나 유사한 부호들은 동일하거나 유사한 구성요소들을 나타낸다.
본 발명의 목적 및 효과는 하기의 설명에 의해서 자연스럽게 이해되거나 보다 분명해질 수 있으며, 하기의 기재만으로 본 발명의 목적 및 효과가 제한되는 것은 아니다.
본 발명의 목적, 특징 및 장점은 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이, 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세히 설명하기로 한다.
본 발명은 실시간 병렬 렌더링 기반의 인터랙티브 고품질 시스템에 관한 것으로서, 도 1과 같이 GPU 병렬연산 모듈(100), 출력부(200), 모션캡쳐부(300)로 구성된다.
출력부(200)은 다수의 영상출력부(200a,200b,200c, ...)로 구성되는데, 분할된 3D 영상물을 출력 하는 영상출력부 다수개가 연결되어 전체로써 하나의 3D 영상물(500)를 출력하는 역할을 한다.
특히, 영상출력부는 출력부(200)가 하나의 큰 화면을 구성하도록 각 영상출력부에 의한 화면의 경계 부가 맞닿게 설치되는 것으로서, 예를 들어 LED/LCD 디스플레이가 격자형(도 3 참고), 가로일렬(도 4 참고) 또 는 세로일렬로 연결될 때 각 디스플레이일 수 있고, 다수의 스크린이 격자형, 가로일렬 또는 세로일렬로 연결되 어 다수의 프로젝터가 각각의 스크린에 분할된 영상을 쏠 때 각 프로젝터와 스크린의 결합일 수도 있다. 다만, 상기 '일렬'의 의미는 정면에서 볼 때 한줄로 이어진다는 것이며 다른 방향(위에서 또는 옆에서 보는 등)에서 보면 연결된 디스플레이가 굽어진 형태인 것도 포함한다(도 4 참고). 또한, 전방을 둘러싸도록 화면이 4각 내지 다각으로 연결되어 3D 영상물(500)이 출력되는 공간을 형성할 수도 있다.
모션캡쳐부(300)은 사용자의 모션을 인식하여 모션 정보를 생성하고, 이를 GPU 병렬연산 모듈(100)로 송출하는 역할을 하며, 키넥트센서 등을 이용하여 출력부(200)에 설치된 공간 내의 사용자의 시선, 손동작, 몸동작 등을 인식할 수 있다.
GPU 병렬연산 모듈(100)은 다수의 영상출력부(200a,200b,200c, ...)와 대응 연결되는 다수의 렌더 연산부(100a,100b,100c, ...)로 구성된다. 즉, 영상출력부와 렌더 연산부가 1:1로 연결되는 것이다.
이 때, 다수의 렌더 연산부(100a,100b,100c, ...) 중 특정된 하나의 렌더 연산부(100a)가 서버로, 나머지 렌더 연산부(100b,100c, ...)가 클라이언트로 지정되어 서로 네트워크에 의해 연결된다. 이는 후술하는 렌더링의 동기화를 위한 것이다.
렌더 연산부(100a)는 3D 영상물(500)와 3D 영상물(500) 상에서 각 영상출력부에서 출력되는 영상의 좌표값으로 구성되는 분할 영역 정보(600)가 저장되어, 3D 영상물(500)를 분할 영역 정보(600)에 따라 분할 하고, 분할된 3D 영상물을 렌더링한 뒤, 렌더링된 분할 3D 영상물을 연결된 영상출력부로 송출하도록 구성된다.
각 렌더 연산부(100a,100b,100c, ...)는 도 2와 같이 영상물 로드부(110), 분할 로드부(120), 모션 처리모듈 (130), 렌더링부(140), 분할콘텐츠송출부(150), DB(160)로 구성된다. 상기 구성의 식별번호에 알파벳이 덧붙여진 것은 특정 렌더 연산부(100b)의 구성(렌더링부(140b), DB(160b) 등)을 의미하고, 알파벳을 덧붙이지 않은 것(숫자로만 구성된 식별번호)은 각 렌더 연산부(100a,100b,100c, ...)의 구성요소 를 통칭하는 것이다(렌더링부 140a,40b,140c,...)를 렌더링부(140)로 하는 등).
DB(160)에는 3D 영상물(500)와 분할 영역 정보(600)가 저장된다. 또한, 특정 모션 정보에 매칭되는 모션 명령 정보(700)도 저장된다.
분할 영역 정보(600)는 출력부(200)의 중앙에 위치한 영상출력부 화면상의 중심점을 원점으로 할 때, 상기 렌더 연산부에 연결되는 영상출력부 화면상의 모서리 네 점 중, 세 점에 대한 3차원 좌표로 구성된다.
도 4를 참고하면, 가로일렬로 연결된 세 개의 영상출력부 중 가운데 제2영상출력부(200b)의 중심을 좌표원 점(0,0,0)으로 설정할 때, 제2영상출력부(200b)의 분할 영역 정보(600b)는 좌측상단의 Pc2(-8,5,0), 좌측하단 의 Pa2(-8,-5,0), 우측하단의 Pb2(8,-5,0)으로 구성된다.
제1영상출력부(200a)의 분할 영역 정보(600a)는 좌측상단의 Pc1(-22,5,8), 좌측하단의 Pa1(-22,-5,8), 우측 하단의 Pb1(-8,-5,0)으로 구성되며, 마찬가지로 제3영상출력부(200c)의 분할 영역 정보(600c)는 좌측상단의 Pc3(8,5,0), 좌측하단의 Pa3(8,-5,0), 우측하단의 Pb3(22,-5,8)으로 구성된다.
3D 영상물(500)은 3D 영상물(500)의 전체 배경에 해당하는 지형 정보(511), 지형 정보(511)에 배치되는 구조물 정보(512), 구조물 정보(512)의 내 외부에 배치되는 물체 정보(513), 광원에 의한 조명 정보(514)로 구분되는 환경정보(510)로 구성된다. 이는 렌더링시 환경정보별로 데이터를 변경하기 위한 것이다.
모션 명령 정보(700)는 특정 모션 정보에 매칭되어 3D 영상물(500)의 변경을 유도하는 명령데이터이다. 예를 들어 '한 손을 드는 동작'의 모션 정보에는 '실내등을 켬'이라는 모션 명령 정보가 매칭되고, '두 손을 드는 동작'의 모션 정보에는 '실내등을 끔'이라는 모션 명령 정보가 매칭되고, '한 손을 왼쪽 또는 오른쪽으로 미는 동작'의 모션 정보에는 '특정 사물의 위치를 손의 이동 방향에 따라 옮김'이라는 모션 명령 정보가 매칭 되고, '고개를 돌리는 동작'의 모션 정보에는 '고개 돌리는 방향에 따라 현재 보이는 화면의 시점을 변경함'이 라는 모션 명령 정보가 매칭될 수 있다.
영상물 로드부(110)는 DB(160)에 저장된 3D 영상물(500)를 불러오는 역할을 한다. 특히, 불러온 3D 영상물(500)를 환경정보(510)별로 추출하는 대상 추출부(111)를 더 포함할 수 있는데, 지형 정보 (511), 구조물 정보(512), 물체 정보(513), 조명 정보(514)를 각각 별도로 추출하는 것이다.
분할 로드부(120)는 DB(160)에 저장된 분할 영역 정보(600)를 불러오는 역할을 한다. 도 4의 실 시예에서는 제1렌더 연산부(100a)에서는 Pc1(-22,5,8), Pa1(-22,-5,8), Pb1(-8,-5,0)로 구성된 분할 영역 정보(600a)를 불러오고, 제2렌더 연산부(100b) 및 제3렌더 연산부(100c)도 마찬가지로 각각의 분할 영역 정보(600b,600c)를 불러오는 것이다.
모션 처리모듈(130)는 모션 정보를 수신하여 DB(160)에서 해당 모션 정보와 매칭되는 모션 명령 정보를 불러오는 역할을 하며, 모션 정보 수신부(131)와 모션 명령 정보생성부(132)로 구성된다.
모션 정보수신부(131)에서 모션캡쳐부(300)로부터 모션 정보를 수신하고, 모션 명령 정보 생성부(132)는 모션 정보 수신부(131)에서 수신된 모션 정보를 DB(160)에서 검색하여 이와 매칭되는 모션 명령 정보(700)를 불러온다. 예를 들어, '한 손을 드는 동작'의 모션 정보가 수신되면 이에 매칭된 '실내등을 켬'이라 는 모션 명령 정보를 불러오는 것이다.
렌더링부(140)는 3D 영상물(500)를 분할 영역 정보(600)에 따라 분할하고 모션 명령 정보(700)를 기반으로 분할된 3D 영상물을 렌더링하는 역할을 하며, 도 2와 같이 화면분할부(141), 모션 명령 정보처리부(142), 동 기화부(143), GPU병렬처리부(144)로 구성된다.
화면분할부(141)는 3D 영상물(500) 상의 중심을 좌표원점(0,0,0)으로 할 때 분할 영역 정보(600)의 좌표로 구성되는 직사각형 영역으로 분할된 3D 영상물을 추출한다. 도 4의 실시예에서는 제1렌더 연산부(100a)에 서는 3D 영상물(500)상의 Pc1(-22,5,8), Pa1(-22,-5,8), Pb1(-8,-5,0)를 세 모서리로 하는 직사각형 영역을 추출하고, 제2렌더 연산부(100b)에서는 분할 영역 정보(600b)의 좌표를 세 모서리로 하는 직사각형 영역을 추출하며, 제3렌더 연산부(100c)에서는 분할 영역 정보(600c)의 좌표를 세 모서리로 하는 직사각형 영역을 추출하는 것이다.
모션 명령 정보처리부(142)는 모션 명령 정보(700)를 기반으로 3D 영상물을 렌더링 할 렌더링 정보를 생성 하는 역할을 한다. 예를 들어 '실내등을 켬'이라는 모션 명령 정보에 따라 분할된 3D 영상물에 조도설정을 변경할 렌더링 정보를 생성하거나, '특정 사물의 위치를 손의 이동 방향에 따라 옮김'이라는 모션 명령 정보에 따라 특정 사물을 추출하여 이동할 렌더링 정보를 생성하거나, '고개 돌리는 방향에 따라 현재 보이는 화면의 시점을 변경함'이라는 모션 명령 정보에 따라 3D 영상물(500)를 렌더링하는 카메라 시점 설정을 변경할 렌더링 정보를 생성하는 등이다.
동기화부(143)는 해당 렌더 연산부가 클라이언트일 경우 모션 명령 정보처리부(142)에서 생성된 렌더링데이 터를 서버로 전송하고, 렌더 연산부가 서버일 경우 모션 명령 정보처리부(142)에서 생성된 렌더링 정보 또 는 다른 렌더 연산부에서 전송된 렌더링 정보를 나머지 렌더 연산부로 전송하는 역할을 한다.
도 4의 실시예에서 제1렌더 연산부(100a)가 서버이고, 제2렌더 연산부(100b), 제3렌더 연산부(100c)가 클라이언트로 구성되는 경우를 설명하면 다음과 같다.
제1렌더 연산부(100a)의 모션 명령 정보처리부(142)에서 렌더링 정보를 생성할 경우 이를 클라이언트인 제 2,3렌더 연산부(100b,100c)로 전송한다. 이와 달리 제2렌더 연산부(100b)의 모션 명령 정보처리부(142)에 서 렌더링 정보를 생성할 경우 이를 제1렌더 연산부(100a)로 전송하는데, 제1렌더 연산부(100a)에서 이를 받아 다른 클라이언트, 즉 제3렌더 연산부(100c)로 전송한다. 따라서 모든 렌더 연산부가 동기화된 렌더링 정보를 갖게 되는 것이다.
동기화부(143)는 동기화부(143)에 의해 전송된 렌더링 정보를 이용하여 병렬GPU컴퓨팅 방식으로 3D 영상물 (500)를 렌더링하게 된다. 즉, GPU를 이용하여 병렬적으로 렌더링 처리함으로써 수많은 환경정보를 실시간으로 처리할 수 있게 된다. 따라서 도 3과 같이 렌더 연산부가 병렬GPU컴퓨팅이 가능하도록 다수의 GPU를 내장하 고 있어야 함은 당연하다.
분할콘텐츠송출부(150)는 렌더링부(140)에 의해 렌더링된 분할 3D 영상물을 렌더 연산부에 연결된 영상출 력장치로 송출하는 역할을 한다. 즉, 제1렌더 연산부(100a)에서 제1영상출력부(200a)로, 제2병렬렌더링장 치(100b)에서 제2영상출력부(200b)로 각각 송출하는 것이다.
상기한 본 발명의 바람직한 실시 예는 예시의 목적으로 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경 및 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 상기의 특허청구 범위에 속하는 것으로 보아야 할 것이다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서, 여러 가지 치환, 변형 및 변경이 가능하므로, 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당업자라면 순서도에 나타낸 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
본 발명에 따르면 모션캡쳐 영상을 실시간으로 렌더링할 수 있다.
또한, 상기와 같이 렌더린된 영상을 홀로그램 등으로 컨텐츠를 제작할 수 있다.
또한, 병렬 GPU 컴퓨팅 기술을 이용하여 초고해상도의 3D 영상 콘텐츠를 실시간으로 렌더링할 수 있으며, 사용자의 모션인식을 통해 상호작용이 가능한 시스템을 제공함으로써 몰입도를 향상시킬 수 있게 된다.
Claims (1)
- GPU를 이용해 모션캡쳐 영상의 실시간 병렬 렌더링을 수행하는 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/256,374 US20210183127A1 (en) | 2018-06-29 | 2018-06-29 | System for performing real-time parallel rendering of motion capture image by using gpu |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0075741 | 2018-06-29 | ||
KR1020180075741A KR20200002340A (ko) | 2018-06-29 | 2018-06-29 | Gpu를 이용해 모션캡쳐 영상의 실시간 병렬 렌더링을 수행하는 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020004695A1 true WO2020004695A1 (ko) | 2020-01-02 |
Family
ID=68987323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2018/007439 WO2020004695A1 (ko) | 2018-06-29 | 2018-06-29 | Gpu를 이용해 모션캡쳐 영상의 실시간 병렬 렌더링을 수행하는 시스템 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210183127A1 (ko) |
KR (1) | KR20200002340A (ko) |
WO (1) | WO2020004695A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008004135A2 (en) * | 2006-01-18 | 2008-01-10 | Lucid Information Technology, Ltd. | Multi-mode parallel graphics rendering system employing real-time automatic scene profiling and mode control |
KR20170027290A (ko) * | 2015-08-28 | 2017-03-09 | 이에이트 주식회사 | 실시간 상호작용이 가능한 확장형 다중 디스플레이 기반 4k 이상의 초고해상도 임베디드 시스템 |
WO2017142354A1 (ko) * | 2016-02-19 | 2017-08-24 | 알카크루즈 인코포레이티드 | Gpu 기반의 가상 현실 비디오 스트리밍 서버를 위한 방법 및 시스템 |
KR20180066702A (ko) * | 2016-12-09 | 2018-06-19 | 주식회사 비주얼리액터 | 실시간 병렬 렌더링 기반의 인터랙티브 고품질 영상 시스템 |
KR20180066704A (ko) * | 2016-12-09 | 2018-06-19 | 주식회사 비주얼리액터 | 실시간 병렬 렌더링 기반의 사이버 모델하우스 체험 시스템 |
-
2018
- 2018-06-29 US US17/256,374 patent/US20210183127A1/en not_active Abandoned
- 2018-06-29 KR KR1020180075741A patent/KR20200002340A/ko unknown
- 2018-06-29 WO PCT/KR2018/007439 patent/WO2020004695A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008004135A2 (en) * | 2006-01-18 | 2008-01-10 | Lucid Information Technology, Ltd. | Multi-mode parallel graphics rendering system employing real-time automatic scene profiling and mode control |
KR20170027290A (ko) * | 2015-08-28 | 2017-03-09 | 이에이트 주식회사 | 실시간 상호작용이 가능한 확장형 다중 디스플레이 기반 4k 이상의 초고해상도 임베디드 시스템 |
WO2017142354A1 (ko) * | 2016-02-19 | 2017-08-24 | 알카크루즈 인코포레이티드 | Gpu 기반의 가상 현실 비디오 스트리밍 서버를 위한 방법 및 시스템 |
KR20180066702A (ko) * | 2016-12-09 | 2018-06-19 | 주식회사 비주얼리액터 | 실시간 병렬 렌더링 기반의 인터랙티브 고품질 영상 시스템 |
KR20180066704A (ko) * | 2016-12-09 | 2018-06-19 | 주식회사 비주얼리액터 | 실시간 병렬 렌더링 기반의 사이버 모델하우스 체험 시스템 |
Also Published As
Publication number | Publication date |
---|---|
US20210183127A1 (en) | 2021-06-17 |
KR20200002340A (ko) | 2020-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109345556B (zh) | 用于混合现实的神经网络前景分离 | |
US10692288B1 (en) | Compositing images for augmented reality | |
US20150348326A1 (en) | Immersion photography with dynamic matte screen | |
US12079940B2 (en) | Multi-endpoint mixed-reality meetings | |
CN104380338B (zh) | 信息处理器以及信息处理方法 | |
US20140176591A1 (en) | Low-latency fusing of color image data | |
US9164723B2 (en) | Virtual lens-rendering for augmented reality lens | |
CN107277494A (zh) | 立体显示系统及方法 | |
US10977869B2 (en) | Interactive method and augmented reality system | |
WO2018004154A1 (ko) | 혼합현실 디스플레이 장치 | |
US20240296626A1 (en) | Method, apparatus, electronic device and storage medium for reconstructing 3d images | |
CN105429989A (zh) | 虚拟现实设备的模拟旅游方法及系统 | |
CN109510975B (zh) | 一种视频图像的提取方法、设备及系统 | |
WO2017160057A1 (ko) | 스크린 골프 시스템, 스크린 골프를 위한 영상 구현 방법 및 이를 기록한 컴퓨팅 장치에 의해 판독 가능한 기록 매체 | |
WO2011152634A2 (ko) | 모니터 기반 증강현실 시스템 | |
KR20180066702A (ko) | 실시간 병렬 렌더링 기반의 인터랙티브 고품질 영상 시스템 | |
WO2015008932A1 (ko) | 증강현실에서의 원격 협업을 위한 디지로그 공간 생성기 및 그를 이용한 디지로그 공간 생성 방법 | |
CN107479701B (zh) | 虚拟现实交互方法、装置及系统 | |
RU2606875C2 (ru) | Способ и система отображения масштабных сцен в режиме реального времени | |
Leal-Meléndrez et al. | Occlusion handling in video-based augmented reality using the kinect sensor for indoor registration | |
KR101076263B1 (ko) | 체감형 시뮬레이터 기반의 대규모 인터랙티브 게임 시스템 및 그 방법 | |
WO2020004695A1 (ko) | Gpu를 이용해 모션캡쳐 영상의 실시간 병렬 렌더링을 수행하는 시스템 | |
KR20180066704A (ko) | 실시간 병렬 렌더링 기반의 사이버 모델하우스 체험 시스템 | |
CN113720202A (zh) | 一种沉浸式3d影像射击训练靶场软件系统及方法 | |
CN110264809A (zh) | 一种多功能军警便携式训练装置 |
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: 18923971 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 12.08.2021) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18923971 Country of ref document: EP Kind code of ref document: A1 |