KR20220162930A - 클라우드 vr 기반의 3차원 영상 제공 방법 - Google Patents

클라우드 vr 기반의 3차원 영상 제공 방법 Download PDF

Info

Publication number
KR20220162930A
KR20220162930A KR1020210071110A KR20210071110A KR20220162930A KR 20220162930 A KR20220162930 A KR 20220162930A KR 1020210071110 A KR1020210071110 A KR 1020210071110A KR 20210071110 A KR20210071110 A KR 20210071110A KR 20220162930 A KR20220162930 A KR 20220162930A
Authority
KR
South Korea
Prior art keywords
image
rendering data
game
vertices
rendering
Prior art date
Application number
KR1020210071110A
Other languages
English (en)
Other versions
KR102543136B1 (ko
Inventor
김동근
조성현
김한별
주재현
Original Assignee
(주)이머시브캐스트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)이머시브캐스트 filed Critical (주)이머시브캐스트
Priority to KR1020210071110A priority Critical patent/KR102543136B1/ko
Publication of KR20220162930A publication Critical patent/KR20220162930A/ko
Application granted granted Critical
Publication of KR102543136B1 publication Critical patent/KR102543136B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/356Image reproducers having separate monoscopic and stereoscopic modes
    • H04N13/359Switching between monoscopic and stereoscopic modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/158Switching image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 클라우드 VR 기반의 3차원 영상 제공 방법에 관한 것으로, 2차원 영상을 제공하도록 구현된 게임을 실행하는 단계; 상기 게임의 실행 과정에서 상기 2차원 영상의 렌더링 데이터를 후킹하여 저장하는 단계; 상기 렌더링 데이터를 기초로 상기 2차원 영상을 생성하는 단계; 상기 2차원 영상의 깊이 정보를 획득하는 단계; 상기 깊이 정보를 기초로 한 쌍의 양안 영상에 관한 버텍스들의 위치를 각각 결정하는 단계; 상기 버텍스들의 위치를 기초로 상기 렌더링 데이터를 이용하여 상기 양안 영상을 각각 렌더링하는 단계; 및 상기 양안 영상을 통합하여 하나의 3차원 영상을 생성하는 단계;를 포함한다.

Description

클라우드 VR 기반의 3차원 영상 제공 방법{CLOUD VR-BASED 3D IMAGE PROVISION METHOD}
본 발명은 3차원 영상 생성 기술에 관한 것으로, 보다 상세하게는 일반적인 PC 게임의 2차원 영상을 3차원 영상으로 변환하여 제공할 수 있는 클라우드 VR 기반의 3차원 영상 제공 방법에 관한 것이다.
일반적인 PC 게임을 HMD 장비를 통해 실행시키는 경우 단지 눈앞에 있는 가상의 모니터를 통해 게임 영상이 재생될 뿐이고 사용자에게 실제와 같은 입체감을 제공하기 어렵다. VR 모드를 지원하는 게임이 존재하긴 하지만, 일반적인 PC 게임을 클라우드 VR 환경에서 실제감 있게 재생하는 것은 쉽지 않다.
게임의 실행을 통해 생성되는 2차원의 비디오 영상은 장면에 나타난 객체들을 하나의 시점(view point)에서 관찰한 평면 영상에 해당하고, 각 객체의 깊이(depth) 정보를 표현하지 못하기 때문에 입체감 있는 영상을 표현하기 어렵다.
3차원 영상을 생성하기 위해서는 객체를 서로 다른 각도에서 촬영된 두 개 이상의 영상을 이용하여 3D 영상으로 변환하거나, 또는, 미리 설정된 데이터 베이스를 활용하여 객체의 깊이 정보를 계산하는 방법 등이 사용될 수 있다.
그러나, 이러한 방법은 두 개 이상의 카메라를 이용하는 특수 촬영 장치를 사용하거나, 각각의 영상에 맞는 데이터 베이스를 미리 저장할 필요가 있다는 점에서 일반적인 PC 게임의 실행을 통해 3D 영상을 제공하는 것은 매우 어려운 일이다.
한국등록특허 제10-1054043호 (2011.07.28)
본 발명의 일 실시예는 일반적인 PC 게임의 2차원 영상을 3차원 영상으로 변환하여 제공할 수 있는 클라우드 VR 기반의 3차원 영상 제공 방법을 제공하고자 한다.
본 발명의 일 실시예는 양안 영상 각각에 대해 버텍스의 위치 정보 중에서 z값을 이용하여 지오메트리 자체를 패럴랙스 맵핑 알고리즘과 같이 이동시킴으로써 종래 패럴랙스 맵핑의 문제를 개선하면서 보다 몰입감 있는 VR 영상을 제공할 수 있는 클라우드 VR 기반의 3차원 영상 제공 방법을 제공하고자 한다.
실시예들 중에서, 클라우드 VR 기반의 3차원 영상 제공 방법에 관한 것으로, 2차원 영상을 제공하도록 구현된 게임을 실행하는 단계; 상기 게임의 실행 과정에서 상기 2차원 영상의 렌더링 데이터를 후킹하여 저장하는 단계; 상기 렌더링 데이터를 기초로 상기 2차원 영상을 생성하는 단계; 상기 2차원 영상의 깊이 정보를 획득하는 단계; 상기 깊이 정보를 기초로 한 쌍의 양안 영상에 관한 버텍스들의 위치를 각각 결정하는 단계; 상기 버텍스들의 위치를 기초로 상기 렌더링 데이터를 이용하여 상기 양안 영상을 각각 렌더링하는 단계; 및 상기 양안 영상을 통합하여 하나의 3차원 영상을 생성하는 단계;를 포함한다.
상기 실행하는 단계는 상기 게임을 VR 기기를 통해 실행하는 단계를 포함할 수 있다.
상기 저장하는 단계는 상기 2차원 영상의 버텍스(Vertex) 정보, 텍스쳐(Texture) 정보 및 쉐이더(Shader) 정보를 포함하는 장면 데이터를 상기 렌더링 데이터로서 후킹하는 단계를 포함할 수 있다.
상기 결정하는 단계는 상기 2차원 영상의 버텍스들에 대해 상기 깊이 정보에 관한 z값을 이용하여 양안 각각의 아이(eye) 벡터를 기준으로 오프셋(offset)만큼 이동시킴으로써 상기 버텍스들의 위치를 결정하는 단계를 포함할 수 있다.
상기 저장하는 단계는 상기 렌더링 데이터를 복사하여 2개의 렌더링 데이터 집합들을 생성하는 단계를 포함하고, 상기 결정하는 단계는 상기 2개의 렌더링 데이터 집합들을 각각 좌안 및 우안에 매칭한 다음 상기 버텍스들의 위치를 독립적으로 결정하는 단계를 포함할 수 있다.
상기 3차원 영상을 생성하는 단계는 상기 양안 영상의 각 프레임마다 동일 픽셀 간의 합병(merge)를 통해 상기 3차원 영상의 프레임 이미지를 생성하는 단계를 포함할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 클라우드 VR 기반의 3차원 영상 제공 방법은 일반적인 PC 게임의 2차원 영상을 3차원 영상으로 변환하여 제공할 수 있다.
본 발명의 일 실시예에 따른 클라우드 VR 기반의 3차원 영상 제공 방법은 양안 영상 각각에 대해 버텍스의 위치 정보 중에서 z값을 이용하여 지오메트리 자체를 패럴랙스 맵핑 알고리즘과 같이 이동시킴으로써 종래 패럴랙스 맵핑의 문제를 개선하면서 보다 몰입감 있는 VR 영상을 제공할 수 있다.
도 1은 본 발명에 따른 영상 제공 시스템을 설명하는 도면이다.
도 2는 도 1의 영상 제공 서버의 시스템 구성을 설명하는 도면이다.
도 3은 도 1의 영상 제공 서버의 기능적 구성을 설명하는 도면이다.
도 4는 본 발명에 따른 클라우드 VR 기반의 3차원 영상 제공 방법을 설명하는 순서도이다.
도 5는 패럴랙스 맵핑을 통해 3D 영상을 생성하는 방법을 설명하는 도면이다.
도 6은 본 발명에 따른 3차원 영상 제공 방법의 일 실시예를 설명하는 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명에 따른 영상 제공 시스템을 설명하는 도면이다.
도 1을 참조하면, 영상 제공 시스템(100)은 VR 기기(110) 및 영상 제공 서버(130)를 포함할 수 있다.
VR 기기(110)는 AR/VR 영상을 재생할 수 있는 사용자 단말에 해당할 수 있다. 여기에서, VR 기기(110)는 기본적으로 HMD(Head Mounted Display) 단말로 구현될 수 있으나, 반드시 이에 한정되지 않고, VR/AR 영상을 재생할 수 있는 다양한 디바이스로 구현될 수 있음은 물론이다. VR 기기(110)는 영상 제공 서버(130)와 네트워크를 통해 연결되어 데이터를 주고 받을 수 있다.
또한, VR 기기(110)는 본 발명에 따른 클라우드 VR 기반의 3차원 영상 제공 방법을 통해 동작하도록 구현될 수 있다. 이를 위해, VR 기기(110)는 영상 제공 서버(130)와 연동하여 동작할 수 있다. 즉, VR 기기(110)는 영상 제공 서버(130)와 상호 연동하여 2D 영상을 제공하도록 구현된 게임을 실행할 수 있고, 게임 실행 동안 본 발명에 따른 클라우드 VR 기반의 3차원 영상 제공을 위한 구체적 동작을 수행할 수 있다.
예를 들어, VR 기기(110)는 게임 실행 요청 신호를 생성하여 영상 제공 서버(130)에 전달할 수 있고, 영상 제공 서버(130)는 해당 요청 신호를 수신하여 대응하는 게임을 실행하고, 게임 실행에 따른 2차원 게임 영상을 3차원 영상으로 변환한 후 VR 기기(110)에게 전송할 수 있다. 이때, 영상 제공 서버(130)는 변환된 3차원 영상을 인코딩(encoding) 한 후 VR 기기(110)에게 전송할 수 있으며, VR 기기(110)는 해당 3차원 영상을 수신하여 디코딩(decoding) 한 후 재생할 수 있다.
일 실시예에서, VR 기기(110)는 사용자의 움직임 정보에 관한 6 DoF(Degrees of Freedom) 센서를 포함하여 구현될 수 있다. 또한, VR 기기(110)는 필요에 따라 다양한 센서들을 더 포함하여 구현될 수 있다. 예를 들어, VR 기기(110)는 GPS 센서, 모션 센서 등을 더 포함할 수 있다. 다른 실시예에서, VR 기기(110)는 외부에서 동작하는 6 DoF 센서로부터 사용자의 움직임 정보를 수신할 수 있다.
영상 제공 서버(130)는 VR 기기(110)에서 실행되는 게임의 2차원 영상을 3차원 영상으로 변환하여 네트워크를 통해 전송하는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 또한, 영상 제공 서버(130)는 VR 기기(110)의 요청을 수신하여 게임을 직접 실행할 수 있고 그에 따른 게임 영상을 3차원 영상으로 자동 변환하여 VR 기기(110)에 전송할 수도 있다. 영상 제공 서버(130)는 VR 기기(110)과 블루투스, WiFi, 5G 통신 등과 같은 무선 네트워크로 연결될 수 있고, 네트워크를 통해 VR 기기(110)와 데이터를 송·수신할 수 있다.
또한, 영상 제공 서버(130)는 VR 기기(110)로부터 사용자의 움직임 정보로서 6 DoF 신호를 수신할 수 있고, 이를 기초로 사용자의 움직임에 반응하는 영상을 생성하여 VR 기기(110)에게 전송할 수 있다. 이를 위하여, 영상 제공 서버(130)는 VR 기기(110)과 연동하여 동작하는 리모트 어플리케이션(Remote Application)을 설치하여 실행할 수 있다.
도 2는 도 1의 영상 제공 서버의 시스템 구성을 설명하는 도면이다.
도 2를 참조하면, 영상 제공 서버(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함하여 구현될 수 있다.
프로세서(210)는 영상 제공 서버(130)가 동작하는 과정에서의 각 단계들을 처리하는 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 영상 제공 서버(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 영상 제공 서버(130)의 CPU(Central Processing Unit)로 구현될 수 있다.
메모리(230)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 영상 제공 서버(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.
사용자 입출력부(250)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(250)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)는 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 영상 제공 서버(130)는 독립적인 서버로서 수행될 수 있다.
네트워크 입출력부(270)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.
도 3은 도 1의 영상 제공 서버의 기능적 구성을 설명하는 도면이다.
도 3을 참조하면, 영상 제공 서버(130)는 게임 실행부(310), 렌더링 데이터 저장부(320), 2차원 영상 생성부(330), 깊이 정보 획득부(340), 버텍스 조정부(350), 양안 영상 렌더링부(360), 3차원 영상 생성부(370) 및 제어부(도 3에 미도시함)을 포함할 수 있다.
게임 실행부(310)는 2차원 영상을 제공하도록 구현된 게임을 실행할 수 있다. 즉, 게임은 기본적으로 일반적인 PC 게임에 해당할 수 있으나, 반드시 이에 한정되지 않고, 게임 영상이 2차원 평면 영상으로 생성되는 게임을 포함할 수 있다. 또한, 게임 실행부(310)는 게임 이외에 2차원 평면 영상을 제공하는 미디어 파일, 프로그램, 어플리케이션 등을 실행할 수 있다.
일 실시예에서, 게임 실행부(310)는 게임을 VR 기기(110)를 통해 실행할 수 있다. 게임 실행부(310)는 영상 제공 서버(130)의 일 구성요소에 해당하고 게임 실행부(310)의 동작은 영상 제공 서버(130)의 제어를 통해 실행될 수 있다. 따라서, 게임 실행부(310)에 의한 게임 실행은 영상 제공 서버(130) 상에서의 동작에 해당할 수 있다. 다만, 게임 실행부(310)는 VR 기기(110)와 연동하여 동작할 수 있으며, 이에 따라 VR 기기(110)를 통해 게임을 실행할 수 있다. 한편, VR 기기(110)는 영상 제공 서버(130)와 독립적으로 동작할 수 있으며, 게임 실행을 자체적인 제어 프로세스에 따라 처리할 수도 있다.
렌더링 데이터 저장부(320)는 게임의 실행 과정에서 2차원 영상의 렌더링 데이터를 후킹하여 저장할 수 있다. 렌더링 데이터 저장부(320)는 게임 실행 과정에서 영상 재생을 위해 필요한 다양한 렌더링 정보들을 후킹하여 3차원 영상 생성에 필요한 기초 데이터들을 확보할 수 있다. 렌더링 데이터 저장부(320)는 획득된 데이터를 데이터베이스에 저장할 수 있다.
일 실시예에서, 렌더링 데이터 저장부(320)는 2차원 영상의 버텍스(Vertex) 정보, 텍스쳐(Texture) 정보 및 쉐이더(Shader) 정보를 포함하는 장면 데이터를 렌더링 데이터로서 후킹할 수 있다. 일 실시예에서, 렌더링 데이터 저장부(320)는 렌더링 데이터를 복사하여 2개의 렌더링 데이터 집합들을 생성할 수 있다. 즉, 렌더링 데이터 저장부(320)는 게임 실행 과정에서 게임 영상 생성에 필요한 정보들을 렌더링 데이터로서 후킹하여 저장할 수 있으며, 3차원 영상 생성에 필요한 양안 영상을 위해 렌더링 데이터를 동일하게 2개로 생성할 수 있다. 이때, 렌더링 데이터 저장부(320)는 각각 생성된 렌더링 데이터들을 집합으로 묶어 관리할 수 있다.
2차원 영상 생성부(330)는 렌더링 데이터를 기초로 2차원 영상을 생성할 수 있다. 2차원 영상 생성부(330)는 게임의 진행에 따라 프레임 별로 2차원 영상을 생성할 수 있으며, 생성된 2차원 영상은 생성 순서에 따라 메모리에 임시로 저장될 수 있다.
일 실시예에서, 2차원 영상 생성부(330)는 2차원 영상에 대한 필터링을 수행할 수 있다. 만약 2차원 영상으로부터 직접 깊이 정보를 획득하는 경우, 2차원 영상 생성부(330)는 2차원 영상을 필터링함으로써 깊이 정보가 보다 효과적으로 추출되도록 할 수 있다. 예를 들어, 영상 필터링을 통해 특정 색상 영역을 제거하거나 특정 색상을 강조함으로써 영역 간의 경계가 보다 명확해질 수 있다.
깊이 정보 획득부(340)는 2차원 영상의 깊이 정보를 획득할 수 있다. 여기에서, 깊이(depth) 정보는 관찰 시점(view point)을 기준으로 2차원 영상의 각 픽셀별 z값 정보를 포함할 수 있다. 깊이 정보는 2차원 영상 생성부(330)가 렌더링 데이터를 기초로 2차원 영상을 생성하는 과정에서 깊이 버퍼(depth buffer)에 저장된 정보로부터 획득될 수 있으나, 반드시 이에 한정되지 않고, 2차원 영상으로부터 직접 깊이 정보가 획득될 수도 있다. 깊이 정보 획득부(340)는 해당 2차원 영상에 연관지어 깊이 정보를 저장할 수 있다.
버텍스 조정부(350)는 깊이 정보를 기초로 한 쌍의 양안 영상에 관한 버텍스들의 위치를 각각 결정할 수 있다. 버텍스 조정부(350)는 3차원 영상을 생성하기 전 단계에서 양안 영상을 렌더링하기 위하여 양안 영상, 즉 좌안 영상과 우안 영상의 생성에 사용되는 버텍스들을 사전에 위치 이동시키는 전처리를 수행할 수 있다. 이때, 버텍스의 위치는 패럴랙스 맵핑(parallax Mapping) 알고리즘에 따라 결정될 수 있다.
일 실시예에서, 버텍스 조정부(350)는 2차원 영상의 버텍스들에 대해 깊이 정보에 관한 z값을 이용하여 양안 각각의 아이(eye) 벡터를 기준으로 오프셋(offset)만큼 이동시킴으로써 버텍스들의 위치를 결정할 수 있다. 예를 들어, 버텍스 조정부(350)는 좌안 영상의 경우 해당 버텍스들에 대해 좌안의 시점(view point)을 향하는 아이 벡터의 방향에 맞춰 소정의 오프셋을 적용하여 위치를 조정할 수 있다. 즉, 특정 버텍스의 z값에 대응되는 위치를 아이 벡터 방향으로 이동시킨 후 해당 위치에서의 z'값이 획득되면 해당 특정 버텍스의 z값은 z'값으로 변경됨으로써 위치 조정이 이루어질 수 있다.
일 실시예에서, 버텍스 조정부(350)는 2개의 렌더링 데이터 집합들을 각각 좌안 및 우안에 매칭한 다음 버텍스들의 위치를 독립적으로 결정할 수 있다. 여기에서, 렌더링 데이터 집합은 버텍스 집합을 포함할 수 있다. 보다 구체적으로, 양안 영상을 각각 생성하기 위해 2차원 영상의 버텍스들은 사전에 2개의 세트로 복사될 수 있으며, 버텍스 조정부(350)는 좌안 영상 및 우안 영상에 맞춰 각 버텍스들을 이동시킬 수 있다.
양안 영상 렌더링부(360)는 버텍스들의 위치를 기초로 렌더링 데이터를 이용하여 양안 영상을 각각 렌더링할 수 있다. 양안 영상 렌더링부(360)는 조정된 위치의 버텍스 집합을 기초로 각각 좌안 영상 및 우안 영상을 독립적으로 생성할 수 있다. 게임 진행 과정에서 1회의 렌더링을 통해 2차원 영상이 생성되는 반면, 양안 영상 렌더링부(360)는 전처리를 통해 조정된 버텍스들의 위치를 기초로 독립적인 2회의 렌더링을 수행하여 양안 영상을 각각 생성할 수 있다.
3차원 영상 생성부(370)는 양안 영상을 통합하여 하나의 3차원 영상을 생성할 수 있다. 일 실시예에서, 3차원 영상 생성부(370)는 양안 영상의 각 프레임마다 동일 픽셀 간의 합병(merge)를 통해 3차원 영상의 프레임 이미지를 생성할 수 있다. 즉, 3차원 영상 생성부(370)는 양안 영상에서 대응되는 픽셀들의 RGB 값을 통합하여 3차원 영상의 해당 픽셀에서의 RGB 값을 결정할 수 있다.
일 실시예에서, 3차원 영상 생성부(370)는 동일 시점의 양안 영상 중 어느 하나가 손상된 경우, 손상된 영상을 해당 시점 이전의 양안 영상으로 대체하여 3차원 영상을 생성할 수 있다. 영상의 손상은 렌더링 과정의 오류로 인해 발생하거나 정상적으로 생성된 영상의 손실로 인해 발생할 수 있다. 3차원 영상 생성부(370)는 동일 시점의 양안 영상을 통합하는 동작을 수행하며, 필요에 따라 상기와 같이 일부 영상이 손상된 경우 해당 시점의 이전 양안 영상을 기초로 3차원 영상을 생성할 수 있다.
제어부(도 3에 미도시함)는 영상 제공 서버(130)의 전체적인 동작을 제어하고, 게임 실행부(310), 렌더링 데이터 저장부(320), 2차원 영상 생성부(330), 깊이 정보 획득부(340), 버텍스 조정부(350), 양안 영상 렌더링부(360) 및 3차원 영상 생성부(370) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 4는 본 발명에 따른 클라우드 VR 기반의 3차원 영상 제공 방법을 설명하는 순서도이다.
도 4를 참조하면, 영상 제공 서버(130)는 게임 실행부(310)를 통해 2차원 영상을 제공하도록 구현된 게임을 실행할 수 있다(단계 S410). 영상 제공 서버(130)는 렌더링 데이터 저장부(320)를 통해 게임의 실행 과정에서 2차원 영상의 렌더링 데이터를 후킹하여 저장할 수 있으며, 2차원 영상 생성부(330)를 통해 렌더링 데이터를 기초로 2차원 영상을 생성할 수 있다(단계 S430).
또한, 영상 제공 서버(130)는 깊이 정보 획득부(340)를 통해 2차원 영상의 깊이 정보를 획득할 수 있다(단계 S450). 영상 제공 서버(130)는 버텍스 조정부(350)를 통해 깊이 정보를 기초로 한 쌍의 양안 영상에 관한 버텍스들의 위치를 각각 결정할 수 있으며, 양안 영상 렌더링부(360)를 통해 버텍스들의 위치를 기초로 렌더링 데이터를 이용하여 양안 영상을 각각 렌더링할 수 있다(단계 S470). 결과적으로, 영상 제공 서버(130)는 3차원 영상 생성부(370)를 통해 양안 영상을 통합하여 하나의 3차원 영상을 생성할 수 있다(단계 S490).
이후, 영상 제공 서버(130)는 3차원 영상을 VR 기기(110)에게 전송하여 VR 기기(110)를 통해 재생할 수 있다. 한편, 본 발명에 따른 3차원 영상 제공 방법은 VR 기기(110)를 통해 독립적으로 수행될 수 있으며, 이에 따라 VR 기기(110)는 자체적인 게임 실행 과정에서 2차원 영상을 3차원으로 변환하여 VR 모드를 지원하지 않는 일반적인 PC 게임에 대해서도 몰입감 높은 VR 영상을 제공할 수 있다.
도 5는 패럴랙스 맵핑을 통해 3D 영상을 생성하는 방법을 설명하는 도면이고, 도 6은 본 발명에 따른 3차원 영상 제공 방법의 일 실시예를 설명하는 도면이다.
도 5를 참조하면, 패럴랙스 맵핑(Parrallax Mapping)은 2차원 영상에 깊이(depth) 만큼의 픽셀 이동을 수행하여 3차원 영상처럼 보이게 하는 기법에 해당할 수 있다. 영상 제공 서버(130)는 패럴랙스 맵핑을 통해 2차원 영상을 3차원 영상으로 변환할 수 있다.
도 5에서, 영상 제공 서버(130)는 게임을 실행하여 게임이 동작하는 과정에서 2차원 영상에 대한 렌더링 데이터를 획득할 수 있다. 영상 제공 서버(130)는 획득한 렌더링 데이터를 기초로 게임 렌더링(game rendering)을 수행할 수 있으며, 렌더링 과정에서 획득한 깊이 버퍼 정보(Depth Buffer Information)를 획득할 수 있다. 영상 제공 서버(130)는 2차원 영상과 깊이 정보를 기초로 입체 영상을 생성하기 위하여 각 픽셀의 위치를 이동시켜 좌안 및 우안에 대응하는 이미지를 생성할 수 있고, 각 이미지를 하나로 통합하여 3차원 영상을 생성할 수 있다.
다만, 패럴랙스 맵핑을 통해 3차원 영상으로 변환하는 경우, 특정 영역에서 픽셀이 늘어나 영상의 품질이 나빠지는 문제가 발생될 수 있다. 본 발명에 따른 3차원 영상 제공 방법은 지오메트리 패럴랙스 맵핑(Geometry Parallax Mapping)을 통해 패럴랙스 맵핑의 문제를 해결할 수 있다. 보다 구체적으로, 본 발명에 따른 3차원 영상 제공 방법은 도 5와 같이 후처리(Post Process)가 아닌 전처리(Pre Process)로 처리하는 방법이다. 즉, 일반적인 게임이 렌더링을 한번 수행하는데 반하여, 본 발명의 경우 좌안과 우안에 대해 각각 1번씩 렌더링을 수행할 수 있다.
결과적으로, 본 발명에 따른 3차원 영상 제공 방법은 게임 동작 과정에서 렌더링을 위해 생성되는 다양한 정보들을 획득한 다음 양안 영상을 생성하기 위해 모든 데이터들을 동일하게 2개로 만든 다음 버텍스(vertex)의 위치 정보 중에서 z값을 이용하여 지오메트리(Geometry) 자체를 패럴랙스 맵핑 알고리즘과 동일한 방식으로 이동시키는 방법을 사용하여 2차원 영상을 3차원 영상으로 변환할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 영상 제공 시스템
110: VR 기기 130: 영상 제공 서버
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 게임 실행부 320: 렌더링 데이터 저장부
330: 2차원 영상 생성부 340: 깊이 정보 획득부
350: 버텍스 조정부 360: 양안 영상 렌더링부
370: 3차원 영상 생성부

Claims (6)

  1. 2차원 영상을 제공하도록 구현된 게임을 실행하는 단계;
    상기 게임의 실행 과정에서 상기 2차원 영상의 렌더링 데이터를 후킹하여 저장하는 단계;
    상기 렌더링 데이터를 기초로 상기 2차원 영상을 생성하는 단계;
    상기 2차원 영상의 깊이 정보를 획득하는 단계;
    상기 깊이 정보를 기초로 한 쌍의 양안 영상에 관한 버텍스들의 위치를 각각 결정하는 단계;
    상기 버텍스들의 위치를 기초로 상기 렌더링 데이터를 이용하여 상기 양안 영상을 각각 렌더링하는 단계; 및
    상기 양안 영상을 통합하여 하나의 3차원 영상을 생성하는 단계;를 포함하는 클라우드 VR 기반의 3차원 영상 제공 방법.
  2. 제1항에 있어서, 상기 실행하는 단계는
    상기 게임을 VR 기기를 통해 실행하는 단계를 포함하는 것을 특징으로 하는 클라우드 VR 기반의 3차원 영상 제공 방법.
  3. 제1항에 있어서, 상기 저장하는 단계는
    상기 2차원 영상의 버텍스(Vertex) 정보, 텍스쳐(Texture) 정보 및 쉐이더(Shader) 정보를 포함하는 장면 데이터를 상기 렌더링 데이터로서 후킹하는 단계를 포함하는 것을 특징으로 하는 클라우드 VR 기반의 3차원 영상 제공 방법.
  4. 제1항에 있어서, 상기 결정하는 단계는
    상기 2차원 영상의 버텍스들에 대해 상기 깊이 정보에 관한 z값을 이용하여 양안 각각의 아이(eye) 벡터를 기준으로 오프셋(offset)만큼 이동시킴으로써 상기 버텍스들의 위치를 결정하는 단계를 포함하는 것을 특징으로 하는 클라우드 VR 기반의 3차원 영상 제공 방법.
  5. 제1항에 있어서,
    상기 저장하는 단계는 상기 렌더링 데이터를 복사하여 2개의 렌더링 데이터 집합들을 생성하는 단계를 포함하고,
    상기 결정하는 단계는 상기 2개의 렌더링 데이터 집합들을 각각 좌안 및 우안에 매칭한 다음 상기 버텍스들의 위치를 독립적으로 결정하는 단계를 포함하는 것을 특징으로 하는 클라우드 VR 기반의 3차원 영상 제공 방법.
  6. 제1항에 있어서, 상기 3차원 영상을 생성하는 단계는
    상기 양안 영상의 각 프레임마다 동일 픽셀 간의 합병(merge)를 통해 상기 3차원 영상의 프레임 이미지를 생성하는 단계를 포함하는 것을 특징으로 하는 클라우드 VR 기반의 3차원 영상 제공 방법.
KR1020210071110A 2021-06-01 2021-06-01 클라우드 vr 기반의 3차원 영상 제공 방법 KR102543136B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210071110A KR102543136B1 (ko) 2021-06-01 2021-06-01 클라우드 vr 기반의 3차원 영상 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210071110A KR102543136B1 (ko) 2021-06-01 2021-06-01 클라우드 vr 기반의 3차원 영상 제공 방법

Publications (2)

Publication Number Publication Date
KR20220162930A true KR20220162930A (ko) 2022-12-09
KR102543136B1 KR102543136B1 (ko) 2023-06-15

Family

ID=84440299

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210071110A KR102543136B1 (ko) 2021-06-01 2021-06-01 클라우드 vr 기반의 3차원 영상 제공 방법

Country Status (1)

Country Link
KR (1) KR102543136B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100381817B1 (ko) * 1999-11-17 2003-04-26 한국과학기술원 제트버퍼를 이용한 입체영상 생성방법 및 기록매체
KR20070005092A (ko) * 2005-07-05 2007-01-10 삼성에스디아이 주식회사 3d 그래픽 처리장치 및 이를 이용한 입체영상 표시장치
KR101054043B1 (ko) 2010-05-23 2011-08-10 강원대학교산학협력단 2차원 의료영상으로부터 3차원 영상을 생성하는 방법
KR20160088814A (ko) * 2015-01-16 2016-07-26 오인환 2차원 이미지를 3차원 그래픽 모델로 변환하는 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100381817B1 (ko) * 1999-11-17 2003-04-26 한국과학기술원 제트버퍼를 이용한 입체영상 생성방법 및 기록매체
KR20070005092A (ko) * 2005-07-05 2007-01-10 삼성에스디아이 주식회사 3d 그래픽 처리장치 및 이를 이용한 입체영상 표시장치
KR101054043B1 (ko) 2010-05-23 2011-08-10 강원대학교산학협력단 2차원 의료영상으로부터 3차원 영상을 생성하는 방법
KR20160088814A (ko) * 2015-01-16 2016-07-26 오인환 2차원 이미지를 3차원 그래픽 모델로 변환하는 방법

Also Published As

Publication number Publication date
KR102543136B1 (ko) 2023-06-15

Similar Documents

Publication Publication Date Title
JP7068562B2 (ja) 拡張現実データを記録するための手法
US10540818B2 (en) Stereo image generation and interactive playback
US11025882B2 (en) Live action volumetric video compression/decompression and playback
US10474227B2 (en) Generation of virtual reality with 6 degrees of freedom from limited viewer data
US10176592B2 (en) Multi-directional structured image array capture on a 2D graph
JP7181233B2 (ja) テクスチャマップ及びメッシュに基づく3d画像情報の処理
JP2019075082A (ja) 深度値推定を用いた映像処理方法及び装置
JP7217226B2 (ja) グローバルな回転における動き補償画像を符号化する方法、デバイス及びストリーム
US10444931B2 (en) Vantage generation and interactive playback
US10769811B2 (en) Space coordinate converting server and method thereof
KR20190055228A (ko) 전방향 이미지들의 맵핑의 표시를 제공하는 방법들, 디바이스들 및 스트림
WO2018100928A1 (ja) 画像処理装置および方法
TW201921318A (zh) 用於產生場景之舖磚式三維影像表示之設備及方法
JP6011567B2 (ja) 情報処理装置、その制御方法、及びプログラム
WO2019034804A2 (en) THREE-DIMENSIONAL VIDEO PROCESSING
JP2008287588A (ja) 画像処理装置および方法
KR102543136B1 (ko) 클라우드 vr 기반의 3차원 영상 제공 방법
US20140192045A1 (en) Method and apparatus for generating three-dimensional caricature using shape and texture of face
US10341683B1 (en) Apparatus and method to reduce an amount of coordinate data representing an object taken by an imaging device in a three dimensional space
KR101208767B1 (ko) 곡면 투사를 이용한 입체 영상 생성 방법, 장치 및 시스템, 이를 위한 기록 매체
KR20200143276A (ko) 비디오 부호화 방법 및 비디오 복호화 방법
JP2015197374A (ja) 3次元形状推定装置及び3次元形状推定方法
WO2020193703A1 (en) Techniques for detection of real-time occlusion
US12026823B2 (en) Volumetric imaging
JP2001285074A (ja) 画像合成方法および画像合成プログラムを記録した媒体

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)