KR101738434B1 - 3d 모델 데이터에 대한 전처리 기능을 수행하여 스트리밍을 제공하는 3d 서버 장치 및 그 방법 - Google Patents

3d 모델 데이터에 대한 전처리 기능을 수행하여 스트리밍을 제공하는 3d 서버 장치 및 그 방법 Download PDF

Info

Publication number
KR101738434B1
KR101738434B1 KR1020160019889A KR20160019889A KR101738434B1 KR 101738434 B1 KR101738434 B1 KR 101738434B1 KR 1020160019889 A KR1020160019889 A KR 1020160019889A KR 20160019889 A KR20160019889 A KR 20160019889A KR 101738434 B1 KR101738434 B1 KR 101738434B1
Authority
KR
South Korea
Prior art keywords
data
model
texture
gpu
streaming
Prior art date
Application number
KR1020160019889A
Other languages
English (en)
Inventor
김영진
Original Assignee
(주)컨트릭스랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)컨트릭스랩 filed Critical (주)컨트릭스랩
Priority to KR1020160019889A priority Critical patent/KR101738434B1/ko
Application granted granted Critical
Publication of KR101738434B1 publication Critical patent/KR101738434B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명의 일면에 따른 3D 서버 장치는 하나이상의 프로세서를 포함하고, 상기 프로세서는 원본 3D 데이터를 공통 3D 모델 포맷으로 변환하여 3D 모델 데이터를 생성하는 3D 모델 해석부; 원본 텍스처 파일을 공통 텍스처 포맷으로 변환하여 텍스처 데이터를 생성하는 텍스처 해석부; 상기 공통 포맷으로 변환된 3D 모델 데이터를 분석하여 공간 분할 정보와 3D 탐색 인덱스를 생성하는 서비스 데이터 처리부; 상기 생성된 공간 분할 정보와 3D 탐색 인덱스를 이용하여 해당되는 공간의 3D 모델 데이터 및 텍스처 데이터를 클라이언트 장치의 GPU 명령어 리스트로 변환하는 GPU 명령 변환부; 및 상기 클라이언트 장치의 요청에 따라 상기 변환된 GPU 명령 리스트를 전송하는 스트리밍 처리부를 포함하는 것을 특징으로 한다.

Description

3D 모델 데이터에 대한 전처리 기능을 수행하여 스트리밍을 제공하는 3D 서버 장치 및 그 방법{3D SERVER PROVIDING 3D MODEL DATA PREPROCESSING AND STREAMING, AND METHOD THEREOF}
본 발명은 3D 모델 데이터 및 실시간 렌더링에 관한 것으로서, 보다 구체적으로는 전처리 기능을 수행하여 네트워크 전송량 감소와 데이터 보안 및 클라이언트 장치의 GPU 최적화가 가능한 스트리밍을 제공하는 3D 서버 장치 및 그 방법에 관한 것이다.
스마트 디바이스의 성능 향상으로 3D 응용프로그램 및 서비스 산업이 급속도로 성장하고 있다. 그에 따라 사용자가 3D 모델을 클라우드 서버에 업로드하고 관리하며, 클라이언트 기기에서 이를 제공받아 스트리밍, 미리보기, 공유, 실시간 렌더링 등에 활용할 수 있는 3D 기반의 서비스 기술 요구가 증대되었다.
종래기술에서 서버는 3D 데이터에 대해 단순한 저장소 역할을 하여 클라이언트 기기와 연동하여 데이터의 연동과 다운로드만 제공하고, 클라이언트 기기에서 관련 데이터들을 다운로드하여 처리하는 방식을 사용하였다.
클라이언트 기기는 다운로드한 데이터들의 다양한 모델 포맷을 해석하여 기기의 메모리에 로드하고, GPU 등의 하드웨어가 인식할 수 있는 데이터로 변환하는 최적화 과정을 수행하여 실시간 렌더링 처리하는 등 모든 기능을 수행해야 했다.
따라서, 클라이언트 기기 단독으로 다양한 3D 모델에 대응하는 처리가 어렵고, 클라이언트 기기의 종류에 따라 최적의 성능을 나타내는 3D 하드웨어 제어 기능 선택 및 스트리밍 등 서비스 제공이 어려운 문제가 있다.
대한민국 공개특허공보 제10-2010-0023378호 발명은 모바일 환경에서 프록시 서버를 이용하여 3D 패킷을 스케일다운 하기 위한 장치 및 방법으로, 메인 서버와 클라이언트 기기 사이에 프록시 서버를 도입하여 3D 이미지를 구성하기 위한 단위 도형들의 집합을 생성하게 함으로써 클라이언트 기기의 연산량을 줄이고 네트워크의 제한된 대역폭을 극복하고자 하는 발명이다.
하지만, 이 발명은 3D 메시 및 텍스쳐를 구성 요소 단위로 분석해 저용량 메시, 텍스쳐로 스케일다운 및 압축 인코딩하여 패킷 전달시 용량을 절감하지만 클라이언트에서는 이를 다시 디코딩하고 스케일업하기 때문에 복잡한 연산의 수행 부담을 클라이언트에게 전가하는 방식을 사용해 종래 기술의 문제점을 극복하지 못하고 있다.
본 발명은 전술한 바와 같은 기술적 배경에서 안출된 것으로서, 3D 모델 데이터에 대한 전처리를 3D 서버 장치에서 수행함으로써 클라이언트 장치에서 데이터 보안이 강화되고 GPU 최적화를 통하여 연산량을 감소시키고, 네트워크를 통한 데이터 전송량을 줄여 전송속도를 향상시키며 스트리밍을 통해 반응성을 높일 수 있는 3D 서버 장치 및 그 방법을 제공하는 것을 그 목적으로 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 목적을 달성하기 위한 본 발명의 일면에 따른 3D 서버 장치는 하나 이상의 프로세서를 포함하고, 상기 프로세서는 원본 3D 데이터를 공통 3D 모델 포맷으로 변환하여 3D 모델 데이터를 생성하는 3D 모델 해석부; 원본 텍스처 파일을 공통 텍스처 포맷으로 변환하여 텍스처 데이터를 생성하는 텍스처 해석부; 상기 공통 포맷으로 변환된 3D 모델 데이터를 분석하여 공간 분할 정보와 3D 탐색 인덱스를 생성하는 서비스 데이터 처리부; 상기 생성된 공간 분할 정보와 3D 탐색 인덱스를 이용하여 해당되는 공간의 3D 모델 데이터 및 텍스처 데이터를 클라이언트 장치의 GPU 명령어 리스트로 변환하는 GPU 명령 변환부; 및 상기 클라이언트 장치의 요청에 따라 상기 변환된 GPU 명령 리스트를 전송하는 스트리밍 처리부를 포함하는 것을 특징으로 한다.
본 발명의 다른 일면에 따른 3D 데이터 스트리밍 방법은, 원본 3D 데이터를 공통 3D 모델 포맷으로 변환하여 3D 모델 데이터를 생성하는 3D 모델 해석 단계; 원본 텍스처 파일을 공통 텍스처 포맷으로 변환하여 텍스처 데이터를 생성하는 텍스처 해석 단계; 상기 공통 포맷으로 변환된 3D 모델 데이터를 분석하여 공간 분할 정보와 3D 탐색 인덱스를 생성하는 서비스 데이터 처리 단계; 상기 생성된 공간 분할 정보와 3D 탐색 인덱스를 이용하여 해당되는 공간의 3D 모델 데이터 및 텍스처 데이터를 클라이언트 장치의 GPU 명령어 리스트로 변환하는 GPU 명령 변환 단계; 및 상기 클라이언트 장치의 요청에 따라 상기 변환된 GPU 명령 리스트를 전송하는 스트리밍 단계를 포함한다.
본 발명에 따르면, 3D 서버 장치에서의 3D 데이터 전처리를 통해 클라이언트 장치에서의 보안강화와 연산량 감소, 네트워크 환경의 전송량 감소와 전송속도 증가의 효과가 있다.
또한, 3D 데이터를 점진적 및 적응적 스트리밍 방식을 통해 전송함으로써 3D 데이터를 효율적으로 전송 가능하고, 전체 3D 데이터가 전송되기 전에 미리보기 등 점진적인 3D 데이터의 처리가 가능한 효과가 있다.
도 1은 종래 3D 데이터를 처리하는 서버와 클라이언트를 도시한 도면.
도 2는 본 발명의 일실시예에 따른 3D 서버 장치의 구조도.
도 3은 본 발명의 일실시예에 따른 공간 분할의 예를 나타내는 도면.
도 4는 본 발명의 일실시예에 따른 복셀 모델의 예를 나타내는 도면.
도 5는 본 발명의 일실시예에 따른 광원맵과 그림자맵이 결합된 복셀 모델의 예를 나타내는 도면.
도 6은 본 발명의 다른 실시예에 따른 3D 데이터 스트리밍 방법의 흐름도.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 상세히 설명하기로 한다.
도 1은 종래 방식에 의해 클라이언트 장치(200)에 대부분의 처리가 집중된 3D 엔진의 구조를 나타낸다.
클라이언트 장치(200)는 메인 서버(100)나 다른 기기로부터 3D 데이터파일을 받아 3D 모델 저장부에 3D 모델과 텍스처 데이터를 저장한다. 이때, 3D 모델 전체에 대한 데이터를 저장해야 하므로 저장공간이 많이 필요하고 또한 네트워크 상황에 따라 전송이 원활하지 못한 경우 모든 데이터를 전송받을 때까지 3D 렌더링 작업이 이루어질 수 없는 문제점이 있다.
저장된 데이터들은 모델 해석기와 텍스처 해석기에 의해 그래픽 프로세서인 GPU에 적합한 데이터로 변환되어 각각 모델 버퍼와 텍스처 버퍼에 저장되고, GPU API에 의해 GPU 하드웨어로 전송되어 사용자가 인식 가능한 3D 그래픽 형태로 표현된다.
모델 버퍼에 저장되었던 데이터는 카메라 컬링(Culling)이나 화면 컬링을 거쳐서 GPU API에 보내지기도 하기 때문에 이러한 컬링에 소요되는 연산량이 CPU 등 클라이언트 장치(200)의 프로세서에 부담이 되어 전체 성능이 저하되는 현상이 발생할 수도 있다.
이와 같이 종래기술은 3D 모델링에 필요한 거의 모든 연산을 클라이언트 장치(200)에서 수행하기 때문에 저장공간이나 연산량의 문제가 발생할 수도 있고, 서버로부터 모든 데이터를 전달받기 때문에 보안의 문제도 발생할 수 있다.
도 2는 본 발명의 일실시예에 따른 3D 서버 장치(20)의 구조도를 나타낸다.
3D 서버 장치(20)는 3D 모델 해석부(210), 텍스처 해석부(220), 데이터 저장부(230), 서비스 데이터 처리부(240), 스트리밍 처리부(250) 및 GPU 명령 변환부(260)를 포함한다.
3D 모델 해석부(210)는 OBJ, MTL, STL, PLY, 3DS, COLLADA, XML, FBX 등 다양한 포맷을 가지는 원본 3D 모델을 처리하여 클라이언트 장치(30)의 종류에 관계없이 재생이 가능하도록 공통 3D 모델 포맷으로 변환해 데이터 저장부(230)에 저장한다.
텍스처 해석부(220)는 JPG, PNG, BMP, TGA, DDS 등 다양한 포맷을 가지는 원본 텍스처 파일을 처리하여 클라이언트 장치(30)의 종류에 관계없이 재생이 가능하도록 공통 텍스처 포맷으로 변환하여 데이터 저장부(230)에 저장한다.
3D 모델 해석부(210)와 텍스처 해석부(220)에 의해 변환된 3D 모델 데이터와 텍스처 데이터는 다른 중간과정 없이 GPU에서 바로 재생이 가능한 데이터 형식으로 변환되어 클라이언트 장치(30)의 GPU 버퍼에 전달된다.
이때 GPU 버퍼 데이터는 RAM 등 휘발성 메모리에 저장되어 GPU 버퍼 데이터를 실시간으로 GPU 하드웨어로 전달되고 소멸되도록 함으로써 데이터 보안에 강한 구성이 가능하다.
서비스 데이터 처리부(240)는 3D 모델 데이터에 대해 Octree, KdTree 등의 알고리즘을 적용하여 고속 3차원 탐색이 가능하도록 인덱스 정보를 생성하고, 생성된 공간 분할 정보와 3차원 탐색 인덱스를 사용하여 계층화된 복셀 모델과 컬러맵 데이터를 생성한다. 도 3의 (1) ~ (5)는 공간분할의 각 단계별 분할모습을 나타낸다.
또한, 데이터 저장부(230)에 저장된 서비스 제공을 위한 3D 모델 데이터의 복셀(Voxel) 모델에 광원 계산과 그림자 계산을 수행하여 광원맵과 그림자맵을 생성하여 제공한다. 도 4는 복셀 모델로 나타낸 공간의 모습을 나타낸다.
이렇게 생성된 광원맵과 그림자맵을 복셀 모델에 합성해 3D 미리보기 데이터를 생성하여 제공할 수도 있다. 도 5는 이렇게 복셀 모델에 광원 맵과 그림자 맵이 합성된 공간의 모습을 나타낸다.
스트리밍 처리부(250)는 이렇게 생성된 3D 모델 데이터와 텍스처 데이터들을 클라이언트 장치(30)의 요청에 따라 전송한다.
클라이언트 장치(30)에서 요청하는 3D 모델의 인덱스 정보인 카메라 위치, 공간 범위, 정밀도 수준 등의 정보를 기준으로 해당 공간의 모델과 텍스처 정보를 추출한 후 스트리밍 정보를 네트워크를 통해 전송한다.
3D 모델 데이터는 넓은 공간을 다루기 때문에 대상 공간의 위치, 시선 방향, 점유시간 등을 인덱스로 하여, 인덱스에 따라 탐색된 모델 데이터를 전송하게 된다.
클라이언트 장치(30)는 보여지는 화면을 구역화하여 중요도가 높은 곳과 낮은 곳을 구분하여 정밀도를 조정한 인덱스로 3D 서버 장치(20)에 요청하게 되는데, 예컨대 중심에서 주변으로, 가까운 곳에서 먼 곳으로 정밀도를 조정한 인덱스를 3D 서버 장치(20)에 전송하면, 3D 서버 장치(20)는 클라이언트 장치(30)의 요청하는 구역의 중요도에 따라 적응적으로 정밀도를 조절한 해당 구역의 3D 모델 데이터와 텍스처 데이터를 전송할 수 있다.
클라이언트 장치(30)에서의 인덱스 정보가 변경이 없는 경우 해당 공간의 모델을 정밀도 수준을 높여서 네트워크로 전송하고, 인덱스 정보가 변경되는 경우에는 기존 스트리밍을 중단하고 최신 인덱스 정보에 따른 공간 모델과 텍스처 정보를 추출하여 네트워크로 다시 전송을 시작한다.
인덱스 정보가 변경이 없어서 정밀도 수준이 계속 높아지다가 최고수준에 도달하면 스트리밍 처리부(250)는 복셀모델 대신 프록시 모델을 3D 모델 데이터로 전송한다.
스트리밍 처리부(250)에서 3D 모델 데이터와 텍스처 데이터를 전송할 때 GPU 명령 변환부(260)에 의해 GPU에서 바로 처리가 가능한 명령어 셋으로 변환되어 전송된다.
GPU 명령 셋은 클라이언트 장치(30)의 종류에 따라 달라질 수 있는데 데스크탑 환경에서는 OpenGL, DirectX 등을 사용하고, 모바일 기기 환경인 경우에는 OpenGL ES 명령 리스트를 사용하며, 브라우저에서 3D 모델을 구현하는 경우라면 WebGL 명령 리스트를 사용한다.
OpenGL이나 WebGL은 공개 그래픽 라이브러리로 GPU 프로세서 종류에 무관하게 공통적으로 사용할 수 있어서 클라이언트 장치(30)의 종류에 관계없이 공통된 명령어를 사용할 수 있는 장점이 있다.
이렇게 GPU 명령어 셋으로 3D 모델 데이터와 텍스처 데이터가 변환되어 전송됨으로써 데이터 전송에 따른 네트워크용량을 감소시킬 수 있고, 클라이언트 장치(30)에서 데이터 변환에 쓰이는 연산량도 줄일 수 있으며, 3D 모델 데이터나 텍스처 데이터가 직접 전송되는 것 보다 보안을 향상시킬 수 있는 효과도 있다. 또한, 필요한 경우 데이터를 GZIP등의 압축방법을 사용해 전송량을 더욱 감소시킬 수도 있다.
GPU 명령 변환부(260)는 클라이언트 장치(30)의 GPU 프로파일을 전달받으면 그에 따라 해당 API 타입으로 구성된 명령어 리스트를 제공할 수 있으므로 클라이언트 장치(30)의 GPU 처리속도를 더욱 높일 수 있다.
또, GPU 명령 변환부(260)는 클라이언트 장치(30)의 GPU 프로파일이 비표준 하드웨어인 경우 (차량용, 항공기용, 군사용 등의 Embedded 시스템) OpenGL 등의 공개 그래픽 라이브러리 명령어 리스트가 아닌 해당 GPU의 직접 하드웨어 명령어 셋을 전달하는 것도 가능하다. 이 경우 공개 그래픽 라이브러리가 아닌 실제 GPU에서 직접 사용 가능한 하드웨어 명령어 셋을 제공할 수 있으므로 비표준 클라이언트 장치(30)에 대해서도 GPU 처리를 수행할 수 있다.
GPU 명령 변환부(260)에 의해 변환된 데이터는 클라이언트 장치(30)의 RAM 등의 메모리로 전송되거나 GPU 버퍼로 직접 전송되는데 클라이언트 장치(30)의 메모리나 GPU 버퍼는 휘발성 메모리로 구성되어, 3D 모델 데이터 및 텍스처 데이터가 렌더링에 사용된 후 스트리밍 인덱스 및 타임스탬프에 따라 폐기되거나 캐시 형태로만 유지되므로, 클라이언트 장치(30)의 하드디스크나 플래시디스크 등의 저장장치에 저장되지 않아 해킹에 의해 유출되지 않는다.
클라이언트 장치(30)의 GPU 버퍼가 해킹되더라도 원본 3D 모델 데이터 전체가 전달되는 것이 아니라 클라이언트 장치(30)에서 요청한 제한된 구역의 3D 모델 데이터 및 텍스처 데이터만 전달되므로 메모리 해킹에 의해서도 제한된 구역에 대한 파편화된 데이터만 취득이 가능하여 보안이 더 잘 유지될 수 있다.
도 6은 본 발명의 다른 실시예에 따른 3D 데이터 스트리밍 방법의 흐름도를 나타낸다.
3D 서버 장치(20)는 3D 모델 데이터를 전달받으면 OBJ, MTL, STL, PLY, 3DS, COLLADA, XML, FBX 등 다양한 포맷을 가지는 원본 3D 모델을 클라이언트 장치(30)에 무관하게 재생 가능하도록 해석한다(S610).
또한, JPG, PNG, BMP, TGA, DDS 등 다양한 포맷을 가지는 원본 텍스처 파일도 공통 텍스처 포맷으로 변환된다(S620).
변환된 3D 모델 데이터는 Octree, KdTree 등의 알고리즘에 의해 공간분할 정보 및 고속 탐색이 가능한 인덱스 정보가 생성된다(S630).
다음으로 3D 모델 데이터의 복셀 모델에 광원 계산과 그림자 계산을 통해 광원맵과 그림자맵이 생성되고(S640), 이를 통해 3D 미리보기 데이터의 생성도 가능하다.
3D 모델 데이터와 텍스처 데이터의 생성 및 변환이 완료되면 원본 데이터를 클라이언트 장치(30)에 전송하는 것이 아니라, GPU의 3D 모델 렌더링에 최적화 된 GPU 명령어 셋의 형태로 전송된다.
따라서 전송 전에 3D 모델 데이터와 텍스처 데이터를 GPU 명령어 리스트로 구성된 데이터로 변환하는 단계(S650)가 필요하다.
변환된 데이터는 클라이언트 장치(30)의 요청에 따라 정밀도가 조정된 복셀 모델의 형태로 3D 모델 데이터와 텍스처 데이터가 스트리밍으로 제공된다(S660).
스트리밍은 클라이언트 장치(30)의 하드디스크나 플래시 메모리 등의 저장장치에 저장되는 것이 아니라 RAM등이 사용된 클라이언트 장치(30)의 메모리나 GPU의 버퍼 메모리에 직접 기록되므로 클라이언트 장치(30)의 해킹에 의해 3D 데이터를 취득하기 어려워 보안 향상에 도움이 되고, 클라이언트 장치(30)의 연산량을 줄일 수 있는 장점이 있다.
이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술분야에 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.

Claims (18)

  1. 하나이상의 프로세서를 포함하는 3D 서버 장치에 있어서, 상기 프로세서는
    원본 3D 데이터를 공통 3D 모델 포맷으로 변환하여 3D 모델 데이터를 생성하는 3D 모델 해석부;
    원본 텍스처 파일을 공통 텍스처 포맷으로 변환하여 텍스처 데이터를 생성하는 텍스처 해석부;
    상기 공통 포맷으로 변환된 3D 모델 데이터를 분석하여 공간 분할 정보와 3D 탐색 인덱스를 생성하는 서비스 데이터 처리부;
    상기 생성된 공간 분할 정보와 3D 탐색 인덱스를 이용하여 해당되는 공간의 3D 모델 데이터 및 텍스처 데이터를 클라이언트 장치의 GPU 명령어 리스트로 변환하는 GPU 명령 변환부; 및
    상기 클라이언트 장치의 요청에 따라 상기 변환된 GPU 명령 리스트를 전송하는 스트리밍 처리부;를 포함하여 구현하되
    상기 GPU 명령 변환부는
    상기 3D 모델 데이터 또는 텍스처 데이터를 상기 GPU의 하드웨어 명령어 셋으로 변환하는 것
    인 3D 서버 장치.
  2. 제1항에 있어서, 상기 서비스 데이터 처리부는
    상기 생성된 공간 분할 정보와 3D 탐색 인덱스를 이용하여 상기 3D 모델 데이터의 복셀 모델에 광원 계산과 그림자 계산을 수행하여 상기 3D 모델 데이터의 광원맵과 그림자맵을 생성하는 것
    인 3D 서버 장치.
  3. 제2항에 있어서, 상기 서비스 데이터 처리부는
    상기 생성된 광원맵과 그림자맵을 상기 복셀 모델에 합성하여 3D 미리보기 데이터를 생성하는 것
    인 3D 서버 장치.
  4. 제1항에 있어서, 상기 GPU 명령 변환부는
    상기 3D 모델 데이터 또는 텍스처 데이터를 OpenGL, DirectX, OpenGL ES 또는 WebGL 명령어 리스트로 변환하는 것
    인 3D 서버 장치.
  5. 삭제
  6. 제1항에 있어서, 상기 스트리밍 처리부는
    상기 클라이언트 장치의 요청에 따라 상기 3D 모델 데이터 또는 상기 텍스처 데이터의 정밀도를 조절하여 상기 클라이언트 장치로 전송하는 것
    인 3D 서버 장치.
  7. 제1항에 있어서, 상기 스트리밍 처리부는
    상기 클라이언트 장치가 요청하는 공간의 중요도에 따라 상기 3D 모델 데이터 또는 상기 텍스처 데이터의 정밀도를 조절하여 상기 클라이언트 장치로 전송하는 것
    인 3D 서버 장치.
  8. 제1항에 있어서, 상기 스트리밍 처리부는
    상기 GPU 명령 리스트를 상기 클라이언트 장치의 GPU 버퍼로 전송하는 것
    인 3D 서버 장치.
  9. 제8항에 있어서, 상기 스트리밍 처리부는
    상기 GPU 버퍼가 휘발성 메모리 또는 임시 메모리인 경우에만 상기 GPU 명령 리스트를 전송하는 것
    인 3D 서버 장치.
  10. 원본 3D 데이터를 공통 3D 모델 포맷으로 변환하여 3D 모델 데이터를 생성하는 3D 모델 해석 단계;
    원본 텍스처 파일을 공통 텍스처 포맷으로 변환하여 텍스처 데이터를 생성하는 텍스처 해석 단계;
    상기 공통 포맷으로 변환된 3D 모델 데이터를 분석하여 공간 분할 정보와 3D 탐색 인덱스를 생성하는 서비스 데이터 처리 단계;
    상기 생성된 공간 분할 정보와 3D 탐색 인덱스를 이용하여 해당되는 공간의 3D 모델 데이터 및 텍스처 데이터를 클라이언트 장치의 GPU 명령어 리스트로 변환하는 GPU 명령 변환 단계; 및
    상기 클라이언트 장치의 요청에 따라 상기 변환된 GPU 명령 리스트를 전송하는 스트리밍 단계;를 포함하되
    상기 GPU 명령 변환 단계는
    상기 3D 모델 데이터 또는 텍스처 데이터를 상기 GPU의 하드웨어 명령어 셋으로 변환하는 것
    인 3D 데이터 스트리밍 방법.
  11. 제10항에 있어서, 상기 서비스 데이터 처리 단계는
    상기 생성된 공간 분할 정보와 3D 탐색 인덱스를 이용하여 상기 3D 모델 데이터의 복셀 모델에 광원 계산과 그림자 계산을 수행하여 상기 3D 모델 데이터의 광원맵과 그림자맵을 생성하는 것
    인 3D 데이터 스트리밍 방법.
  12. 제11항에 있어서, 상기 서비스 데이터 처리 단계는
    상기 생성된 광원맵과 그림자맵을 상기 복셀 모델에 합성하여 3D 미리보기 데이터를 생성하는 것
    인 3D 데이터 스트리밍 방법.
  13. 제10항에 있어서, 상기 GPU 명령 변환 단계는
    상기 3D 모델 데이터 또는 텍스처 데이터를 OpenGL, DirectX, OpenGL ES 또는 WebGL 명령어 리스트로 변환하는 것
    인 3D 데이터 스트리밍 방법.
  14. 삭제
  15. 제10항에 있어서, 상기 스트리밍 처리 단계는
    상기 클라이언트 장치의 요청에 따라 상기 3D 모델 데이터 또는 상기 텍스처 데이터의 정밀도를 조절하여 상기 클라이언트 장치로 전송하는 것
    인 3D 데이터 스트리밍 방법.
  16. 제10항에 있어서, 상기 스트리밍 처리 단계는
    상기 클라이언트 장치가 요청하는 공간의 중요도에 따라 상기 3D 모델 데이터 또는 상기 텍스처 데이터의 정밀도를 조절하여 상기 클라이언트 장치로 전송하는 것
    인 3D 데이터 스트리밍 방법.
  17. 제10항에 있어서, 상기 스트리밍 처리 단계는
    상기 GPU 명령 리스트를 상기 클라이언트 장치의 GPU 버퍼로 전송하는 것
    인 3D 데이터 스트리밍 방법.
  18. 제17항에 있어서, 상기 스트리밍 처리 단계는
    상기 GPU 버퍼가 휘발성 메모리 또는 임시 메모리인 경우에만 상기 GPU 명령 리스트를 전송하는 것
    인 3D 데이터 스트리밍 방법.
KR1020160019889A 2016-02-19 2016-02-19 3d 모델 데이터에 대한 전처리 기능을 수행하여 스트리밍을 제공하는 3d 서버 장치 및 그 방법 KR101738434B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160019889A KR101738434B1 (ko) 2016-02-19 2016-02-19 3d 모델 데이터에 대한 전처리 기능을 수행하여 스트리밍을 제공하는 3d 서버 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160019889A KR101738434B1 (ko) 2016-02-19 2016-02-19 3d 모델 데이터에 대한 전처리 기능을 수행하여 스트리밍을 제공하는 3d 서버 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR101738434B1 true KR101738434B1 (ko) 2017-05-24

Family

ID=59051742

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160019889A KR101738434B1 (ko) 2016-02-19 2016-02-19 3d 모델 데이터에 대한 전처리 기능을 수행하여 스트리밍을 제공하는 3d 서버 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101738434B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023008647A1 (ko) * 2021-07-29 2023-02-02 (주)그래피카 3d 고속 렌더링을 위한 3d 데이터 변환 및 사용 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002279449A (ja) * 2001-03-19 2002-09-27 Mitsubishi Electric Corp 3次元空間データ送信表示装置、3次元空間データ送信方法、3次元空間データ送信方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2015008516A (ja) * 2014-08-26 2015-01-15 三菱電機株式会社 立体映像配信システム、立体映像配信方法、立体映像配信装置、立体映像視聴システム、立体映像視聴方法、立体映像視聴装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002279449A (ja) * 2001-03-19 2002-09-27 Mitsubishi Electric Corp 3次元空間データ送信表示装置、3次元空間データ送信方法、3次元空間データ送信方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2015008516A (ja) * 2014-08-26 2015-01-15 三菱電機株式会社 立体映像配信システム、立体映像配信方法、立体映像配信装置、立体映像視聴システム、立体映像視聴方法、立体映像視聴装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023008647A1 (ko) * 2021-07-29 2023-02-02 (주)그래피카 3d 고속 렌더링을 위한 3d 데이터 변환 및 사용 방법

Similar Documents

Publication Publication Date Title
US10504276B2 (en) Re-utilization of render assets for video compression
US9659400B2 (en) Efficiently implementing and displaying independent 3-dimensional interactive viewports of a virtual world on multiple client devices
US10650570B2 (en) Dynamic local temporal-consistent textured mesh compression
US8878897B2 (en) Systems and methods for sharing conversion data
WO2016011087A1 (en) Preprocessor for full parallax light field compression
Noguera et al. Navigating large terrains using commodity mobile devices
US10885705B2 (en) Point cloud rendering on GPU using dynamic point retention
US11272164B1 (en) Data synthesis using three-dimensional modeling
Boutsi et al. Interactive online visualization of complex 3D geometries
KR101738434B1 (ko) 3d 모델 데이터에 대한 전처리 기능을 수행하여 스트리밍을 제공하는 3d 서버 장치 및 그 방법
JP2023519378A (ja) メディアシーン記述のための方法および装置
JP7472298B2 (ja) 没入型メディアの設置、及び没入型メディアから異種クライアントエンドポイントへの配信
Gupta et al. Efficient raycasting of Volumetric Depth Images for remote visualization of large volumes at high frame rates
CN110213583A (zh) 视频编码方法、系统及装置
Daniel et al. Initial work on development of an open streaming media standard for field of light displays (SMFoLD)
Englert et al. Optimized streaming of large web 3d applications
CN117635791B (zh) 3d模型的呈现方法及系统、存储介质、电子设备
US11991424B2 (en) Immersive media data complexity analyzer for transformation of asset formats
Sun et al. Internet-based interactive visualization method of 3D lunar model with texture
CN118154746A (zh) 元宇宙空间中的分级渲染方法、装置及存储介质
CN118262022A (en) Scene generation method, device and storage medium in metaspace
Xu et al. Remote Rendering for Mobile Devices Literature Overview
Hu et al. Use image streaming technologies to present high resolution images on the internet
Seligmann SmmmmS lient for Remote Rendered irtual Heality
WO2023230033A1 (en) Systems and methods of allocating gpu memory

Legal Events

Date Code Title Description
GRNT Written decision to grant