KR102243138B1 - 환경 정보 취득을 이용한 혼합 현실 기기 지원 장치 및 그 방법 - Google Patents

환경 정보 취득을 이용한 혼합 현실 기기 지원 장치 및 그 방법 Download PDF

Info

Publication number
KR102243138B1
KR102243138B1 KR1020190110541A KR20190110541A KR102243138B1 KR 102243138 B1 KR102243138 B1 KR 102243138B1 KR 1020190110541 A KR1020190110541 A KR 1020190110541A KR 20190110541 A KR20190110541 A KR 20190110541A KR 102243138 B1 KR102243138 B1 KR 102243138B1
Authority
KR
South Korea
Prior art keywords
mixed reality
reality device
real space
information
degree
Prior art date
Application number
KR1020190110541A
Other languages
English (en)
Other versions
KR20210029391A (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 KR1020190110541A priority Critical patent/KR102243138B1/ko
Publication of KR20210029391A publication Critical patent/KR20210029391A/ko
Application granted granted Critical
Publication of KR102243138B1 publication Critical patent/KR102243138B1/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
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

현실 세계와 가상 세계를 혼합한 혼합 현실을 제공하는 혼합 현실 기기를 지원하는 장치 및 그 방법이 개시된다. 일 실시예에 따르면, 360도 카메라 장치가 구비되는 컴퓨터에 의해 실행되는 혼합 현실 기기 지원 방법은, 상기 360도 카메라 장치에 포함되는 복수의 카메라들을 이용하여 상기 360도 카메라 장치가 위치하는 현실 공간의 360도 전방위 영상을 촬영하는 단계; 상기 360도 전방위 영상으로부터 상기 현실 공간의 조명 환경 정보 및 상기 현실 공간의 3차원 정보를 각각 취득하는 단계; 상기 360도 전방위 영상에 기초하여 상기 현실 공간에 위치하는 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 단계; 및 상기 적어도 하나의 혼합 현실 기기가 혼합 현실을 사용자에게 제공하도록 상기 현실 공간의 조명 환경 정보, 상기 현실 공간의 3차원 정보 및 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 상기 적어도 하나의 혼합 현실 기기로 제공하는 단계를 포함한다.

Description

환경 정보 취득을 이용한 혼합 현실 기기 지원 장치 및 그 방법{MIXED REALITY DEVICE SUPPORT APPARATUS USING ENVIRONMENT INFORMATION CAPTURE AND METHOD THEREOF}
아래의 설명은 현실 세계와 가상 세계를 혼합한 컨텐츠를 제공하는 혼합 현실 기기(Mixed Reality device; MR device)를 지원하는 장치 및 그 방법에 관한 것이다.
혼합 현실은 현실 세계와 가상 세계를 혼합한 컨텐츠를 시각화하는 기술로서, 사용자로 하여금 현실 세계 및 가상 세계에 존재하는 객체와 실시간으로 상호작용 하도록 하는 것이다. 일반적으로 혼합 현실은, 사용자가 휴대하는 모바일 기기, 안경 형태의 스마트 글라스 또는 사용자의 머리에 착용되는 HMD(Head mount display)와 같은 혼합 현실 기기에서 카메라로 촬영된 현실 세계의 영상에 그래픽을 혼합하여 보여주는 방식으로 구현된다.
이러한 혼합 현실 기기에서 혼합 현실을 사용자에게 제공하기 위해서는, 현실 세계의 기하학적 구조에 대한 분석, 가상 현실의 그래픽에 시뮬레이트되는 조명의 표현, 가상 현실의 그래픽과 현실 세계 간의 상호 작용을 위한 혼합 현실 기기의 움직임 추적이 선행되어야 한다.
그러나 종래의 혼합 현실 기술은, 현실 세계의 기하학적 구조를 분석하고 기기 자체의 움직임을 추적하는 과정에서 많은 연산을 요구하기 때문에, 혼합 현실 기기의 크기 및 무게가 증가되고 가격이 상승되는 문제점을 갖는다.
또한, 혼합 현실 기기 자체에서 움직임 추적을 수행하는 경우, 움직임 추적 오차가 누적되는 드리프트 문제가 발생될 수 있으며, 현실 세계의 조명 환경이 변화되는 경우 조명의 표현을 위해 전방위 영상을 다시 촬영해야 하는 단점도 존재한다.
더욱이, 동일한 현실 공간에 여러 개의 혼합 현실 기기들이 사용되는 경우, 각 기기마다 현실 세계의 기하학적 구조를 분석하고 현실 세계의 조명을 표현하며, 기기 자체의 움직임을 추적하기 때문에, 복수의 혼합 현실 기기들이 중복된 작업을 수행하는 비효율성을 갖게 된다.
이에, 아래의 실시예들은 종래의 혼합 현실 기술이 갖는 문제점 및 단점을 해결하는 기술을 제안하고자 한다.
일 실시예들은 혼합 현실 기기가 혼합 현실을 사용자에게 제공하기 이전에 선행되어야 하는 작업을 외부의 장치에서 수행하도록 함으로써, 혼합 현실 기기가 수행하는 연산의 복잡도를 경감하여 혼합 현실 기기의 크기 및 무게와 가격을 낮추는 동시에, 혼합 현실 기기의 움직임 추적의 정확도를 향상시키며 현실 공간의 조명 변화를 반영하는 혼합 현실 기술을 제안한다.
보다 상세하게, 일 실시예들은 혼합 현실 기기가 위치하는 현실 공간의 조명 환경 정보, 현실 공간의 3차원 정보 및 혼합 현실 기기의 움직임 정보를 혼합 현실 기기 지원 장치가 혼합 현실 기기로 제공하는 기술을 제안한다.
특히, 일 실시예들은 동일한 현실 공간에 복수의 혼합 현실 기기들이 위치하는 경우, 혼합 현실 기기 지원 장치가 현실 공간의 조명 환경 정보, 현실 공간의 3차원 정보 및 복수의 혼합 현실 기기들 각각의 움직임 정보를 복수의 혼합 현실 기기들 각각으로 제공함으로써, 복수의 혼합 현실 기기들 각각이 중복된 작업을 수행하는 비효율성을 방지하는 기술을 제안한다.
일 실시예에 따르면, 360도 카메라 장치가 구비되는 컴퓨터에 의해 실행되는 혼합 현실 기기 지원 방법은, 상기 360도 카메라 장치에 포함되는 복수의 카메라들을 이용하여 상기 360도 카메라 장치가 위치하는 현실 공간의 360도 전방위 영상을 촬영하는 단계; 상기 360도 전방위 영상으로부터 상기 현실 공간의 조명 환경 정보 및 상기 현실 공간의 3차원 정보를 각각 취득하는 단계; 상기 360도 전방위 영상에 기초하여 상기 현실 공간에 위치하는 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 단계; 및 상기 적어도 하나의 혼합 현실 기기가 혼합 현실을 사용자에게 제공하도록 상기 현실 공간의 조명 환경 정보, 상기 현실 공간의 3차원 정보 및 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 상기 적어도 하나의 혼합 현실 기기로 제공하는 단계를 포함한다.
일 측면에 따르면, 상기 적어도 하나의 혼합 현실 기기의 움직임 정보가 생성되는 주기는, 상기 360도 전방위 영상이 촬영되는 주기보다 짧은 것을 특징으로 할 수 있다.
다른 측면에 따르면, 상기 현실 공간의 3차원 정보가 취득되는 주기는, 상기 360도 전방위 영상이 촬영되는 주기보다 짧거나 긴 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 생성하는 단계는, 상기 360도 카메라 장치를 기준으로 하는 좌표계 상에서의 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 단계인 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 적어도 하나의 혼합 현실 기기의 움직임 정보는, 상기 적어도 하나의 혼합 현실 기기의 위치 정보 및 시선 정보를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 촬영하는 단계는, 상기 360도 카메라 장치가 상기 현실 공간에서 이동하는 가운데 상기 현실 공간의 360도 전방위 영상을 촬영하는 단계를 포함하고. 상기 취득하는 단계는, SLAM(Simultaneous localization and mapping) 알고리즘을 이용하여 상기 현실 공간의 3차원 정보를 취득하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 360도 전방위 영상을 촬영하는 단계는, 상기 복수의 카메라들 각각의 시야가 중첩되도록 상기 360도 전방위 영상을 촬영하는 단계인 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 취득하는 단계는, 상기 복수의 카메라들 각각의 시야가 중첩되도록 촬영된 상기 360도 전방위 영상으로부터 깊이 맵(Depth map), 포인트 클라우드(Point cloud) 또는 지오메트릭 프록시(Geometric proxy) 중 어느 하나의 형태의 3차원 정보를 취득하는 단계인 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 깊이 맵(Depth map), 포인트 클라우드(Point cloud) 또는 지오메트릭 프록시(Geometric proxy) 중 어느 하나의 형태의 3차원 정보를 취득하는 단계는, 상기 360도 카메라 장치와 구별되는 별도의 센서로부터 센싱되는 값에 더 기초하여 상기 3차원 정보를 취득하는 단계인 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 360도 전방위 영상을 촬영하는 단계는, 상기 복수의 카메라들 각각의 노출을 조절하며 복수의 프레임들로 구성되는 상기 360도 전방위 영상을 촬영하는 단계; 및 상기 360도 전방위 영상의 복수의 프레임들을 합성하여 360도 전방위 HDR(High dynamic range) 영상을 획득하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 취득하는 단계는, 상기 360도 전방위 HDR 영상으로부터 상기 현실 공간의 조명 환경 정보를 취득하는 단계인 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 제공하는 단계는, 상기 적어도 하나의 혼합 현실 기기에서 자체적으로 추적한 움직임 정보의 정확도를 향상시키는데, 상기 제공된 적어도 하나의 혼합 현실 기기의 움직임 정보를 사용하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 360도 카메라 장치가 구비되는 컴퓨터와 결합되어 혼합 현실 기기 지원 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서, 상기 혼합 현실 기기 지원 방법은, 상기 360도 카메라 장치에 포함되는 복수의 카메라들을 이용하여 상기 360도 카메라 장치가 위치하는 현실 공간의 360도 전방위 영상을 촬영하는 단계; 상기 360도 전방위 영상으로부터 상기 현실 공간의 조명 환경 정보 및 상기 현실 공간의 3차원 정보를 각각 취득하는 단계; 상기 360도 전방위 영상에 기초하여 상기 현실 공간에 위치하는 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 단계; 및 상기 적어도 하나의 혼합 현실 기기가 혼합 현실을 사용자에게 제공하도록 상기 현실 공간의 조명 환경 정보, 상기 현실 공간의 3차원 정보 및 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 상기 적어도 하나의 혼합 현실 기기로 제공하는 단계를 포함한다.
일 실시예에 따르면, 360도 카메라 장치가 구비되는 컴퓨터로 구현되는 혼합 현실 기기 지원 장치는, 컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 360도 카메라 장치에 포함되는 복수의 카메라들을 이용하여 상기 360도 카메라 장치가 위치하는 현실 공간의 360도 전방위 영상을 촬영하는 촬영부; 상기 360도 전방위 영상으로부터 상기 현실 공간의 조명 환경 정보 및 상기 현실 공간의 3차원 정보를 각각 취득하는 취득부; 상기 360도 전방위 영상에 기초하여 상기 현실 공간에 위치하는 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 생성부; 및 상기 적어도 하나의 혼합 현실 기기가 혼합 현실을 사용자에게 제공하도록 상기 현실 공간의 조명 환경 정보, 상기 현실 공간의 3차원 정보 및 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 상기 적어도 하나의 혼합 현실 기기로 제공하는 제공부를 포함한다.
일 실시예에 따르면, 혼합 현실 기기 지원 시스템은, 360도 카메라 장치가 구비되는 혼합 현실 기기 지원 장치; 및 상기 혼합 현실 기기 지원 장치와 네트워크를 통해 연결되는 적어도 하나의 혼합 현실 기기를 포함하고, 상기 혼합 현실 기기 지원 장치가 포함하는 적어도 하나의 프로세서는, 상기 360도 카메라 장치에 포함되는 복수의 카메라들을 이용하여 상기 360도 카메라 장치가 위치하는 현실 공간의 360도 전방위 영상을 촬영하는 촬영부; 상기 360도 전방위 영상으로부터 상기 현실 공간의 조명 환경 정보 및 상기 현실 공간의 3차원 정보를 각각 취득하는 취득부; 상기 360도 전방위 영상에 기초하여 상기 현실 공간에 위치하는 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 생성부; 및 상기 적어도 하나의 혼합 현실 기기가 혼합 현실을 사용자에게 제공하도록 상기 현실 공간의 조명 환경 정보, 상기 현실 공간의 3차원 정보 및 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 상기 적어도 하나의 혼합 현실 기기로 제공하는 제공부를 포함하며, 상기 적어도 하나의 혼합 현실 기기가 포함하는 적어도 하나의 프로세서는, 상기 혼합 현실 기기 지원 장치가 제공하는 상기 현실 공간의 조명 환경 정보, 상기 현실 공간의 3차원 정보 및 상기 적어도 하나의 혼합 현실 기기의 움직임 정보에 기초하여, 혼합 현실을 사용자에게 제공하는 것을 특징으로 한다.
일 실시예들은 혼합 현실 기기가 혼합 현실을 사용자에게 제공하기 이전에 선행되어야 하는 작업을 외부의 장치에서 수행하도록 함으로써, 혼합 현실 기기가 수행하는 연산의 복잡도를 경감하여 혼합 현실 기기의 크기 및 무게와 가격을 낮추는 동시에, 혼합 현실 기기의 움직임 추적의 정확도를 향상시키며 현실 공간의 조명 변화를 반영하는 혼합 현실 기술을 제안할 수 있다.
보다 상세하게, 일 실시예들은 혼합 현실 기기가 위치하는 현실 공간의 조명 환경 정보, 현실 공간의 3차원 정보 및 혼합 현실 기기의 움직임 정보를 혼합 현실 기기 지원 장치가 혼합 현실 기기로 제공하는 기술을 제안할 수 있다.
특히, 일 실시예들은 동일한 현실 공간에 복수의 혼합 현실 기기들이 위치하는 경우, 혼합 현실 기기 지원 장치가 현실 공간의 조명 환경 정보, 현실 공간의 3차원 정보 및 복수의 혼합 현실 기기들 각각의 움직임 정보를 복수의 혼합 현실 기기들 각각으로 제공함으로써, 복수의 혼합 현실 기기들 각각이 중복된 작업을 수행하는 비효율성을 방지하는 기술을 제안할 수 있다.
도 1은 일 실시예에 따른 혼합 현실 기기 지원 시스템을 나타낸 도면이다.
도 2는 일 실시예에 따른 혼합 현실 기기 지원 시스템에서 혼합 현실 기기 및 혼합 현실 기기 지원 장치의 내부 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 혼합 현실 기기의 프로세서가 포함할 수 있는 구성요소의 예를 나타낸 블록도이다.
도 4는 일 실시예에 따른 혼합 현실 기기의 프로세서가 수행할 수 있는 혼합 현실 기기 지원 방법을 나타낸 플로우 차트이다.
도 5는 일 실시예에 따른 혼합 현실 기기 지원 시스템에서 혼합 현실 기기 지원 장치와 연동하여 복수의 혼합 현실 기기들 각각이 혼합 현실을 사용자에게 제공하는 것을 설명하기 위한 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명에서 설명되는 실시예들은 혼합 현실 기기 지원 장치 및 그 방법에 관한 기술로서, 적어도 하나의 혼합 현실 기기가 현실 공간의 조명 환경 정보, 현실 공간의 3차원 정보 및 적어도 하나의 혼합 현실 기기의 움직임 정보를 적어도 하나의 혼합 현실 기기로 제공함으로써, 적어도 하나의 혼합 현실 기기가 수행하는 연산의 복잡도를 경감하여 적어도 하나의 혼합 현실 기기의 크기 및 무게와 가격을 낮추는 동시에, 적어도 하나의 혼합 현실 기기의 움직임 추적의 정확도를 향상시키며 현실 공간의 조명 변화를 반영하는 장점 및 동일한 현실 공간에 복수의 혼합 현실 기기들이 위치하는 경우 복수의 혼합 현실 기기들 각각이 중복된 작업을 수행하는 비효율성을 방지하는 장점을 달성한다.
도 1은 일 실시예에 따른 혼합 현실 기기 지원 시스템을 나타낸 도면이다.
도 1을 참조하면, 일 실시예에 따른 혼합 현실 기기 지원 시스템(100)은 360도 카메라 장치가 구비되는 혼합 현실 기기 지원 장치(110) 및 혼합 현실 기기 지원 장치(110)와 네트워크를 통해 연결되는 복수의 혼합 현실 기기들(120, 130)을 포함할 수 있다. 이하, 혼합 현실 기기 지원 시스템(100)이 복수의 혼합 현실 기기들(120, 130)을 포함하는 경우로 설명되나, 이에 제한되거나 한정되지 않고 하나의 혼합 현실 기기(120)만을 포함할 수도 있다. 이러한 경우, 후술되는 혼합 현실 기기 지원 장치(110)의 동작은 복수의 혼합 현실 기기들(120, 130) 각각에 대해 수행되는 대신에 하나의 혼합 현실 기기(120)에 대해서만 수행될 수 있다.
복수의 혼합 현실 기기들(120, 130)은 각각의 사용자에게 혼합 현실을 제공하기 위한 장치일 수 있다. 일례로, 복수의 혼합 현실 기기들(120, 130)은 스마트폰(smart phone), 휴대폰, 태블릿 PC, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 스마트 글라스(Smart glass) 또는 HMD(Head mounted display)일 수 있다. 이러한 복수의 혼합 현실 기기들(120, 130) 각각은 무선 또는 유선 통신 방식을 이용하여 네트워크를 통해 혼합 현실 기기 지원 장치(110)와 통신할 수 있다.
통신 방식은 제한되지 않으며, 네트워크가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
혼합 현실 기기 지원 장치(110)는 복수의 혼합 현실 기기들(120, 130)과 네트워크를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.
특히, 혼합 현실 기기 지원 장치(110)는 복수의 혼합 현실 기기들(120, 130)이 위치하는 현실 공간의 360도 전방위 영상을 촬영하기 위한 360도 카메라 장치를 구비할 수 있다. 이하, 360도 카메라 장치는 원을 따라 배치되는 복수의 카메라들(예컨대, 6대 이상의 카메라들)을 포함하는 것으로 설명되나, 이제 제한되거나 한정되지 않고 현실 공간의 360도 전방위 영상을 촬영하기 위한 카메라를 포함하는 다양한 장치의 형태로 구현될 수 있다.
도 2는 일 실시예에 따른 혼합 현실 기기 지원 시스템에서 혼합 현실 기기 및 혼합 현실 기기 지원 장치의 내부 구성을 설명하기 위한 블록도이다.
도 2에서는, 일 실시예에 따른 혼합 현실 기기 지원 장치(110)의 혼합 현실 기기 지원 방법을 하나의 혼합 현실 기기(120)를 대상으로 하는 것으로 설명한다. 그러나 혼합 현실 기기 지원 방법은 이에 제한되거나 한정되지 않고 복수의 혼합 현실 기기들(120, 130) 각각으로 적용 가능하다.
혼합 현실 기기(120)와 혼합 현실 기기 지원 장치(110)는 메모리(210, 220), 프로세서(230, 240), 통신 모듈(250, 260) 그리고 입출력 인터페이스(270, 280)를 포함할 수 있다. 메모리(210, 220)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(210, 220)에는 운영체제나 적어도 하나의 프로그램 코드(일례로 혼합 현실 기기(120)에 설치되어 구동되는 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(210, 220)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(250, 260)을 통해 메모리(210, 220)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로 상술한 혼합 현실 기기 지원 장치(110))이 네트워크를 통해 제공하는 파일들에 의해 설치되는 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(210, 220)에 로딩될 수 있다.
프로세서(230, 240)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(210, 220) 또는 통신 모듈(250, 260)에 의해 프로세서(230, 240)로 제공될 수 있다. 예를 들어 프로세서(230, 240)는 메모리(210, 220)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(250, 260)은 네트워크를 통해 혼합 현실 기기(120)와 혼합 현실 기기 지원 장치(110)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 혼합 현실 기기(130)와 통신하기 위한 기능을 제공할 수 있다. 일례로, 혼합 현실 기기(120)의 프로세서(230)가 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청(일례로 혼합 현실 기기 지원 요청)이 통신 모듈(250)의 제어에 따라 네트워크를 통해 혼합 현실 기기 지원 장치(110)로 전달될 수 있다. 역으로, 혼합 현실 기기 지원 장치(110)의 프로세서(240)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(260)과 네트워크를 거쳐 혼합 현실 기기(120)의 통신 모듈(250)을 통해 혼합 현실 기기(120)로 수신될 수 있다. 예를 들어 통신 모듈(250)을 통해 수신된 혼합 현실 기기 지원 장치(110)의 제어 신호나 명령 등은 프로세서(230)나 메모리(210)로 전달될 수 있고, 컨텐츠나 파일 등은 혼합 현실 기기(120)가 더 포함할 수 있는 저장 매체로 저장될 수 있다.
입출력 인터페이스(270)는 입출력 장치(271)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치 또는 사용자의 제스처를 센싱하는 센서를, 그리고 출력 장치는 어플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(270)는 HMD와 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 보다 구체적인 예로, 혼합 현실 기기(120)의 프로세서(230)는 메모리(210)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 혼합 현실 기기 지원 장치(110)가 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(270)를 통해 디스플레이에 표시될 수 있다. 입출력 인터페이스(280) 또한 마찬가지로 혼합 현실 기기 지원 장치(110)의 프로세서(240)가 메모리(220)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어 혼합 현실 기기 지원 장치(110)가 제공하는 데이터를 이용하여 구성되는 정보를 출력할 수 있다.
또한, 혼합 현실 기기 지원 장치(110)는 혼합 현실 기기 지원 장치(110)가 위치하는 현실 공간의 360도 전방위 영상을 촬영하기 위한 360도 카메라 장치(290)를 더 포함할 수 있다. 이러한 360도 카메라 장치(290)는 프로세서(240)와 연결되어 프로세서(240)의 제어에 따라 현실 공간에 대한 360도 전방위 영상을 촬영할 수 있으며, 촬영된 360도 전방위 영상은 프로세서(240)에 의해 수행되는 혼합 현실 기기 지원 방법에서 사용될 수 있다.
다른 실시예들에서 혼합 현실 기기(120) 및 혼합 현실 기기 지원 장치(110)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 혼합 현실 기기(120)는 상술한 입출력 장치(271) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 혼합 현실 기기(120) 또는 혼합 현실 기기 지원 장치(110)는 현실 공간의 3차원 정보를 취득하기 위한 센서(예컨대, LiDAR)를 더 포함할 수 있다.
이하에서는 혼합 현실 기기 지원 방법 및 장치의 구체적인 실시예를 설명하기로 한다.
도 3은 일 실시예에 따른 혼합 현실 기기의 프로세서가 포함할 수 있는 구성요소의 예를 나타낸 블록도이고, 도 4는 일 실시예에 따른 혼합 현실 기기의 프로세서가 수행할 수 있는 혼합 현실 기기 지원 방법을 나타낸 플로우 차트이며, 도 5는 일 실시예에 따른 혼합 현실 기기 지원 시스템에서 혼합 현실 기기 지원 장치와 연동하여 복수의 혼합 현실 기기들 각각이 혼합 현실을 사용자에게 제공하는 것을 설명하기 위한 도면이다.
일 실시예에 따른 혼합 현실 기기 지원 장치(110)는 클라이언트(Client)인 복수의 혼합 현실 기기들(120, 130)을 대상으로 하는 혼합 현실 기기 지원 방법을 수행하는 주체로서, 복수의 혼합 현실 기기들(120, 130) 각각이 사용자들에게 혼합 현실을 디스플레이 하도록 복수의 혼합 현실 기기들(120, 130) 각각이 수행해야 할 연산을 대신하여 수행하며 지원하는 서비스를 제공한다. 이하, 혼합 현실 기기 지원 방법은 혼합 현실 기기 지원 장치(110)와 복수의 혼합 현실 기기들(120, 130)이 동일한 현실 공간에 위치함을 전제로 한다.
혼합 현실 기기 지원 장치(110)가 도 4에 따른 혼합 현실 기기 지원 방법을 수행할 수 있도록 혼합 현실 기기 지원 장치(110)의 프로세서(240)는 구성요소로서 도 3에 도시된 바와 같이, 촬영부(310), 취득부(320), 생성부(330) 및 제공부(340)를 포함할 수 있다. 실시예에 따라 프로세서(240)의 구성요소들은 선택적으로 프로세서(240)에 포함되거나 제외될 수도 있다. 또한, 실시예에 따라 프로세서(240)의 구성요소들은 프로세서(240)의 기능의 표현을 위해 분리 또는 병합될 수도 있다. 예컨대, 프로세서(240)의 구성요소 중 적어도 일부는 복수의 혼합 현실 기기들(120, 130) 각각에 포함되는 프로세서(230)에 구현될 수 있다.
이러한 프로세서(240) 및 프로세서(240)의 구성요소들은 도 4의 혼합 현실 기기 지원 방법이 포함하는 단계들(S410 내지 S440)을 수행하도록 혼합 현실 기기 지원 장치(110)를 제어할 수 있다. 예를 들어, 프로세서(240) 및 프로세서(240)의 구성요소들은 메모리(220)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
여기서, 프로세서(240)의 구성요소들은 혼합 현실 기기 지원 장치(110)에 저장된 프로그램 코드가 제공하는 명령에 따라 프로세서(240)에 의해 수행되는 프로세서(240)의 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 혼합 현실 기기 지원 장치(110)가 360도 전방위 영상으로부터 현실 공간의 조명 환경 정보 및 현실 공간의 3차원 정보를 각각 취득하는 프로세서(240)의 기능적 표현으로서 취득부(320)가 이용될 수 있다.
프로세서(240)는 단계(S410) 이전에, 복수의 혼합 현실 기기들(120, 130)에서 혼합 현실 기기 지원 요청을 받아들이고, 이에 응답하여 메모리(220)로부터 프로세서(240)가 이후 설명될 단계들(S410 내지 S440)을 실행하도록 제어하기 위한 명령을 읽어드릴 수 있다.
단계(S410)에서 촬영부(310)는 360도 카메라 장치(290)에 포함되는 복수의 카메라들을 이용하여 360도 카메라 장치(290)가 위치하는 현실 공간의 360도 전방위 영상을 촬영한다. 예를 들어, 촬영부(310)는 360도 카메라 장치(290)에 포함되는 복수의 카메라들을 이용하여 현실 공간의 360도 전방위 영상을 촬영함으로써, 360도 전방위 영상을 획득할 수 있다. 이하, 촬영부(310)는 360도 카메라 장치(290)를 제어하는 프로세서(240)의 구성요소로서, 360도 카메라 장치(290)에서 촬영한 360도 전방위 영상을 획득하는 구성요소를 의미한다.
이 때, 현실 공간의 조명 환경이 시간의 흐름에 따라 변화될 수 있기 때문에, 단계(S410)는 기 설정된 주기에 따라 주기적으로 수행될 수 있다. 또는 혼합 현실 기기 지원 장치(110)에 더 포함되는 조도 센서에 의해 감지된 현실 공간의 조명 환경 변화에 응답하여 단계(S410)가 선택적으로 수행될 수 있다. 예컨대, 단계(S410)가 최초로 수행된 이후에는, 조도 센서에 의해 현실 공간의 조명 환경 변화가 감지되는 경우에만 단계(S410)가 재차 수행될 수 있다.
단계(S410)에서 촬영 및 획득되는 360도 전방위 영상은, 후술되는 단계(S420)에서 현실 공간의 조명 환경 정보를 취득하는데 사용되기 때문에, HDR(High dynamic range) 영상으로 획득되도록 촬영될 수 있다. 예를 들어, 단계(S410)에서 촬영부(310)는 360도 카메라 장치(290)에 포함되는 복수의 카메라들 각각의 노출을 조절하며 복수의 프레임들로 구성되는 360도 전방위 영상을 촬영한 뒤, 360도 전방위 영상의 복수의 프레임들을 합성하여 360도 전방위 HDR 영상을 획득할 수 있다.
또한, 단계(S410)에서 촬영 및 획득되는 360도 전방위 영상은, 후술되는 단계(S420)에서 현실 공간의 3차원 정보를 취득하는데 사용되기 때문에, 중첩된 영역을 포함하도록 촬영될 수 있다. 예를 들어, 단계(S410)에서 촬영부(310)는 360도 카메라 장치(290)에 포함되는 복수의 카메라들 각각의 시야가 중첩되도록 360도 전방위 영상을 촬영할 수 있다. 더 구체적인 예를 들면, 단계(S410)에서 촬영부(310)는 360도 카메라 장치(290)에 포함되는 복수의 카메라들 각각의 시야가 스테레오 카메라와 같이 중첩되도록 360도 전방위 영상을 촬영할 수 있다.
즉, 단계(S410)에서 촬영부(310)는, 360도 카메라 장치(290)에 포함되는 복수의 카메라들 각각의 시야를 중첩시키는 가운데 각각의 노출을 조절하여 복수의 프레임들로 구성되는 360도 전방위 영상을 촬영한 뒤, 시야가 중첩되고 노출이 서로 다른 360도 전방위 영상의 복수의 프레임들을 합성하여 중첩된 영역을 포함하는 360도 전방위 HDR 영상을 획득할 수 있다. 이에, 중첩된 영역을 포함하는 360도 전방위 HDR 영상은 후술되는 단계(S420)에서 현실 공간의 조명 환경 정보 및 3차원 정보를 취득하는데 사용될 수 있다.
또한, 단계(S410)는 혼합 현실 기기 지원 장치(110)가 현실 공간에서 이동하며 수행될 수도 있다. 이는, 후술되는 단계(S420)에서 현실 공간의 3차원 정보를 보다 정확하게 취득하기 위한 것으로서, 혼합 현실 기기 지원 장치(110)가 현실 공간에서 이동하며 단계(S410)를 수행하는 것은 복수의 혼합 현실 기기들(120, 130)에서 혼합 현실 기기 지원 요청이 발생되기 이전일 수 있다. 물론 이에 제한되거나 한정되지 않고 복수의 혼합 현실 기기들(120, 130)에서 혼합 현실 기기 지원 요청이 발생된 이후에 혼합 현실 기기 지원 장치(110)가 현실 공간에서 이동하며 단계(S410)를 수행할 수도 있다. 일례로, 촬영부(310)는 360도 카메라 장치(290)가 현실 공간에서 이동하는 가운데 현실 공간의 360도 전방위 영상을 촬영함으로써, 현실 공간에 대한 360도 전방위 영상을 복수의 위치들에서 각기 획득할 수 있다. 이러한 경우 후술되는 단계(S420)에서 취득되는 현실 공간의 3차원 정보는 복수의 위치들에서 각각 촬영된 360도 전방위 영상들에 기초할 수 있다.
단계(S420)에서 취득부(320)는 360도 전방위 영상으로부터 현실 공간의 조명 환경 정보 및 현실 공간의 3차원 정보를 각각 취득한다. 여기서, 360도 전방위 영상은 전술된 단계(S410)에서 촬영된 360도 전방위 영상으로서, 복수의 프레임들이 합성된 360도 전방위 HDR 영상이거나, 중첩된 영역을 포함하는 360도 전방위 영상일 수 있다. 물론, 360도 전방위 영상은 중첩된 영역을 포함하는 360도 전방위 HDR 영상일 수도 있다.
보다 상세하게, 취득부(320)는 360도 카메라 장치(290)에 포함되는 복수의 카메라들 각각의 시야가 중첩되도록 촬영된 360도 전방위 영상으로부터 깊이 맵(Depth map), 포인트 클라우드(Point cloud) 또는 지오메트릭 프록시(Geometric proxy) 중 어느 하나의 형태의 3차원 정보를 취득할 수 있다. 이하, 3차원 정보는 현실 공간이 촬영된 360도 전방위 영상에 대한 장면 이해(Scene understanding)를 바탕으로 취득되는 정보로서, 현실 세계의 장면에서 바닥이나 현실 물체들 각각의 면을 구분하고 배경과 현실 물체들 각각의 깊이를 나타내는 정보와 같이 현실 세계에 가상 세계의 그래픽을 표현하기 위해 알아야 하는 현실 세계의 기하학적 구조에 대한 정보를 의미한다. 단계(S420)에서 취득부(320)는, 단계(S410)에서 촬영된 360도 전방위 영상 이외에도 360도 카메라 장치(290)와 구별되는 별도의 센서(예컨대, LiDAR, 구조광 센서, TOF 센서 등)로부터 센싱되는 센싱 값에 더 기초하여 현실 공간의 3차원 정보를 취득할 수 있다.
또한, 취득부(320)는 360도 전방위 HDR 영상으로부터 현실 공간의 조명 환경 정보를 취득할 수 있다. 여기서, 현실 공간의 조명 환경 정보는 현실 공간에 위치하는 현실 물체들에 적용된 조명 정보를 포함하는 것으로서, 복수의 혼합 현실 기기들(120, 130) 각각이 혼합 현실을 사용자에게 제공하는 과정에서 가상 세계의 그래픽에 적용할 조명 효과를 시뮬레이트하기 위한 정보를 의미한다. 현실 공간의 조명 환경 정보를 취득하는 것은, 공지된 영상 기반 라이트닝(Image-based lighting) 기술에 기반하는 바, 이에 대한 상세한 설명은 생략하기로 한다.
이 때, 단계(S420)에서 취득부(320)의 동작은, 전술된 단계(S410)에서 360도 카메라 장치(290)가 현실 공간에서 이동하는 가운데 촬영부(310)가 현실 공간의 복수의 위치들에서 촬영한 360도 전방위 영상들에 기초하여 수행될 수 있다. 이러한 경우, 취득부(320)는 현실 공간의 복수의 위치들에서 촬영한 360도 전방위 영상들에 SLAM(Simultaneous localization and mapping) 알고리즘을 적용하여 현실 공간의 3차원 정보를 취득할 수 있다. 마찬가지로, 취득부(320)는 복수의 혼합 현실 기기들(120, 130)에서 혼합 현실 기기 지원 요청이 발생되기 이전에 SLAM 알고리즘을 적용하여 현실 공간의 3차원 정보를 취득할 수도 있다.
이와 같은 취득부(320)의 동작은, 기 설정된 주기에 따라 주기적으로 수행될 수 있다. 이 때, 취득부(320)의 동작의 주기는, 단계(S410)에서의 촬영부(310)의 동작 주기와 동일할 수 있으나, 이에 제한되거나 한정되지 않고 단계(S410)에서의 촬영부(310)의 동작 주기보다 짧거나 길 수 있다. 예를 들어, 취득부(320)가 360도 카메라 장치(290)의 동작 주기보다 짧은 주기로 동작하는 센서로부터 3차원 정보와 관련된 값이 센싱됨에 따라 3차원 정보 취득 동작을 수행함으로써, 그 동작 주기가 단계(S410)에서의 촬영부(310)의 동작 주기보다 짧을 수 있다. 다른 예를 들면, 혼합 현실 기기 지원 장치(110)에 포함되는 센서에서 주기적으로 3차원 정보와 관련된 값을 센싱하는 가운데, 센싱된 값으로부터 현실 공간의 기하학적 구조 변동이 감지되는 경우에만 취득부(320)가 3차원 정보 취득 동작을 수행함으로써, 그 동작 주기가 단계(S410)에서의 촬영부(320)의 동작 주기보다 길어질 수 있다.
단계(S430)에서 생성부(330)는 360도 전방위 영상에 기초하여 현실 공간에 위치하는 복수의 혼합 현실 기기들(120, 130) 각각의 움직임 정보를 생성한다. 구체적으로, 360도 전방위 영상에 복수의 혼합 현실 기기들(120, 130) 각각이 포함되어 있기 때문에, 생성부(330)는 360도 카메라 장치(290)를 기준으로 하는 좌표계 상에서의 복수의 혼합 현실 기기들(120, 130) 각각의 움직임 정보를 생성할 수 있다. 예를 들어, 생성부(330)는 단계(S410)에서 촬영된 360도 전방위 영상 또는 단계(S420)에서 360도 전방위 영상으로부터 취득되는 조명 환경 정보 및 3차원 정보를 이용하여, 혼합 현실 기기 지원 장치(110)를 기준으로 하는 좌표계 상에서의 제1 혼합 현실 기기(120)의 움직임 정보 및 제2 혼합 현실 기기(130)의 움직임 정보를 생성할 수 있다.
이와 같은 복수의 혼합 현실 기기들(120, 130) 각각의 움직임 정보는, 혼합 현실 기기 지원 장치(110)를 기준으로 하는 좌표계 상에서의 복수의 혼합 현실 기기들(120, 130) 각각의 2차원 또는 3차원 위치 정보 및 시선 정보(복수의 혼합 현실 기기들(120, 130) 각각이 향하는 방향 정보)를 포함할 수 있다.
현실 공간에서 조명 환경 및 기하학적 구조는 쉽게 변동되지 않으나, 사용자들이 착용한 복수의 혼합 현실 기기들(120, 130) 각각은 사용자들의 동작에 의해 자주 움직일 수 있다. 따라서, 단계(S430)는 기 설정된 주기에 따라 주기적으로 수행되는 가운데, 그 동작 주기가 단계(S410)가 수행되는 주기 또는 단계(S420)가 수행되는 주기보다 짧은 것을 특징으로 한다. 예를 들어, 생성부(330)는 칼만 필터(Kalman filter) 또는 파티클 필터(Particle filter)와 같은 추적 알고리즘을 사용하여 촬영부(310)의 동작 주기 또는 취득부(320)의 동작 주기보다 짧은 주기로 복수의 혼합 현실 기기들(120, 130) 각각의 움직임을 추적하여 움직임 정보들을 생성할 수 있다.
단계(S430)에서 생성되는 복수의 혼합 현실 기기들(120, 130) 각각의 움직임 정보는 복수의 혼합 현실 기기들(120, 130) 각각의 외부로부터 추적되는 복수의 혼합 현실 기기들(120, 130) 각각의 움직임에 대한 정보이기 때문에, 복수의 혼합 현실 기기들(120, 130) 각각이 자체적으로 움직임을 추적함에 의한 드리프트 문제가 방지될 수 있다.
단계(S440)에서 제공부(340)는 복수의 혼합 현실 기기들(120, 130) 각각이 혼합 현실을 사용자에게 제공하도록 현실 공간의 조명 환경 정보, 현실 공간의 3차원 정보 및 복수의 혼합 현실 기기들(120, 130) 각각의 움직임 정보를 복수의 혼합 현실 기기들(120, 130)로 제공한다.
이 때, 단계(S440) 역시 기 설정된 주기에 따라 주기적으로 수행될 수 있으며, 단계들(S410 내지 S430) 중 가장 짧은 주기로 수행되는 단계(예컨대, S430)를 기준으로 주기적으로 수행될 수 있다.
단계(S440)가 수행됨에 응답하여, 복수의 혼합 현실 기기들(120, 130) 각각은 혼합 현실 기기 지원 장치(110)로부터 전송되는 정보들(현실 공간의 조명 환경 정보, 현실 공간의 3차원 정보 및 복수의 혼합 현실 기기들(120, 130) 각각의 움직임 정보)을 활용하여 혼합 현실을 생성한 뒤 사용자에게 제공할 수 있다. 예를 들어, 제2 혼합 현실 기기(130)는 도 5와 같이 혼합 현실 기기 지원 장치(110)로부터 현실 공간의 조명 환경 정보, 현실 공간의 3차원 정보 및 제2 혼합 현실 기기(130)의 움직임 정보가 수신됨에 응답하여, 제2 혼합 현실 기기(130)의 카메라 장치로부터 촬영된 영상에 상기 정보들을 기초로 가상 세계의 그래픽을 덧붙여 사용자에게 디스플레이할 수 있다.
다른 예를 들면, 제1 혼합 현실 기기(120)는 도 5와 같이 혼합 현실 기기 지원 장치(110)로부터 현실 공간의 조명 환경 정보, 현실 공간의 3차원 정보 및 제1 혼합 현실 기기(120)의 움직임 정보, 그리고 현실 공간의 360도 전방위 영상이 수신됨에 응답하여, 수신된 360도 전방위 영상에 상기 정보들을 기초로 가상 세계의 그래픽을 덧붙여 사용자에게 디스플레이할 수 있다.
즉. 단계(S440)에서 제공부(340)는, 현실 공간의 조명 환경 정보, 현실 공간의 3차원 정보 및 복수의 혼합 현실 기기들(120, 130) 각각의 움직임 정보뿐만 아니라, 현실 공간의 360도 전방위 영상까지도 복수의 혼합 현실 기기들(120, 130) 각각으로 제공함으로써, 복수의 혼합 현실 기기들(120, 130) 각각이 자체 카메라 장치를 통해 360도 전방위 영상을 촬영하지 않도록 할 수 있다. 그러나 이에 제한되거나 한정되지 않고, 제공부(340)는 복수의 혼합 현실 기기들(120, 130) 각각이 자체 카메라 장치를 통해 360도 전방위 영상을 촬영하는지 여부와 무관하게, 360도 전방위 영상을 복수의 혼합 현실 기기들(120, 130) 각각으로 제공함으로써, 복수의 혼합 현실 기기들(120, 130) 각각의 가상 세계 그래픽 렌더링 과정에서 360도 전방위 영상 자체를 활용하도록 할 수 있다.
단계(S440)에서 복수의 혼합 현실 기기들(120, 130) 각각으로 제공되는 복수의 혼합 현실 기기들(120, 130) 각각의 움직임 정보는, 본인의 혼합 현실 기기의 움직임 정보인 것이나(일례로, 제1 혼합 현실 기기(120)로 제1 혼합 현실 기기(120)의 움직임 정보가 제공되고, 제2 혼합 현실 기기(130)로 제2 혼합 현실 기기(130)의 움직임 정보가 제공됨), 이에 제한되거나 한정되지 않고 타인의 혼합 현실 기기의 움직임 정보를 포함할 수도 있다. 예를 들어, 제1 혼합 현실 기기(120)로 제1 혼합 현실 기기(120)의 움직임 정보뿐만 아니라 제2 혼합 현실 기기(130)의 움직임 정보가 더 제공됨으로써, 제1 혼합 현실 기기(120)로 하여금 제2 혼합 현실 기기(130)와의 상호작용을 지원하는 가상 세계의 그래픽을 제공하도록 할 수 있다.
또한, 단계(S440)에서 제공부(340)가 복수의 혼합 현실 기기들(120, 130) 각각으로 제공하는 복수의 혼합 현실 기기들(120, 130) 각각의 움직임 정보는, 복수의 혼합 현실 기기들(120, 130) 각각에서 자체적으로 추적한 움직임 정보의 정확도를 향상시키는데 사용될 수 있다. 이러한 경우, 복수의 혼합 현실 기기들(120, 130) 각각은 자체적으로 본인의 움직임 정보를 추적하는 것을 전제로 하며, 자체적으로 추적된 움직임 정보에서 발생될 수 있는 드리프트 현상을 혼합 현실 기기 지원 장치(110)로부터 제공되는 움직임 정보를 기초로 해결할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (15)

  1. 360도 카메라 장치가 구비되는 컴퓨터에 의해 실행되는 혼합 현실 기기 지원 방법에 있어서,
    상기 360도 카메라 장치에 포함되는 복수의 카메라들을 이용하여 상기 360도 카메라 장치가 위치하는 현실 공간의 360도 전방위 영상을 촬영하는 단계;
    상기 360도 전방위 영상으로부터 상기 현실 공간의 조명 환경 정보 및 상기 현실 공간의 3차원 정보를 각각 취득하는 단계;
    상기 360도 전방위 영상에 기초하여 상기 현실 공간에 위치하는 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 단계; 및
    상기 적어도 하나의 혼합 현실 기기가 혼합 현실을 사용자에게 제공하도록 상기 현실 공간의 조명 환경 정보, 상기 현실 공간의 3차원 정보 및 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 상기 적어도 하나의 혼합 현실 기기로 제공하는 단계
    를 포함하고,
    상기 생성하는 단계는,
    상기 360도 카메라 장치를 기준으로 하는 좌표계 상에서의 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 단계인 것을 특징으로 하는 혼합 현실 기기 지원 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 혼합 현실 기기의 움직임 정보가 생성되는 주기는,
    상기 360도 전방위 영상이 촬영되는 주기보다 짧은 것을 특징으로 하는 혼합 현실 기기 지원 방법.
  3. 제1항에 있어서,
    상기 현실 공간의 3차원 정보가 취득되는 주기는,
    상기 360도 전방위 영상이 촬영되는 주기보다 짧거나 긴 것을 특징으로 하는 혼합 현실 기기 지원 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 적어도 하나의 혼합 현실 기기의 움직임 정보는,
    상기 적어도 하나의 혼합 현실 기기의 위치 정보 및 시선 정보를 포함하는 것을 특징으로 하는 혼합 현실 기기 지원 방법.
  6. 제1항에 있어서,
    상기 촬영하는 단계는,
    상기 360도 카메라 장치가 상기 현실 공간에서 이동하는 가운데 상기 현실 공간의 360도 전방위 영상을 촬영하는 단계
    를 포함하고.
    상기 취득하는 단계는,
    SLAM(Simultaneous localization and mapping) 알고리즘을 이용하여 상기 현실 공간의 3차원 정보를 취득하는 단계
    를 포함하는 것을 특징으로 하는 혼합 현실 기기 지원 방법.
  7. 제1항에 있어서,
    상기 360도 전방위 영상을 촬영하는 단계는,
    상기 복수의 카메라들 각각의 시야가 중첩되도록 상기 360도 전방위 영상을 촬영하는 단계인 것을 특징으로 하는 혼합 현실 기기 지원 방법.
  8. 제7항에 있어서,
    상기 취득하는 단계는,
    상기 복수의 카메라들 각각의 시야가 중첩되도록 촬영된 상기 360도 전방위 영상으로부터 깊이 맵(Depth map), 포인트 클라우드(Point cloud) 또는 지오메트릭 프록시(Geometric proxy) 중 어느 하나의 형태의 3차원 정보를 취득하는 단계인 것을 특징으로 하는 혼합 현실 기기 지원 방법.
  9. 제8항에 있어서,
    상기 깊이 맵(Depth map), 포인트 클라우드(Point cloud) 또는 지오메트릭 프록시(Geometric proxy) 중 어느 하나의 형태의 3차원 정보를 취득하는 단계는,
    상기 360도 카메라 장치와 구별되는 별도의 센서로부터 센싱되는 값에 더 기초하여 상기 3차원 정보를 취득하는 단계인 것을 특징으로 하는 혼합 현실 기기 지원 방법.
  10. 제1항에 있어서,
    상기 360도 전방위 영상을 촬영하는 단계는,
    상기 복수의 카메라들 각각의 노출을 조절하며 복수의 프레임들로 구성되는 상기 360도 전방위 영상을 촬영하는 단계; 및
    상기 360도 전방위 영상의 복수의 프레임들을 합성하여 360도 전방위 HDR(High dynamic range) 영상을 획득하는 단계
    를 포함하는 것을 특징으로 하는 혼합 현실 기기 지원 방법.
  11. 제10항에 있어서,
    상기 취득하는 단계는,
    상기 360도 전방위 HDR 영상으로부터 상기 현실 공간의 조명 환경 정보를 취득하는 단계인 것을 특징으로 하는 혼합 현실 기기 지원 방법.
  12. 제1항에 있어서,
    상기 제공하는 단계는,
    상기 적어도 하나의 혼합 현실 기기에서 자체적으로 추적한 움직임 정보의 정확도를 향상시키는데, 상기 제공된 적어도 하나의 혼합 현실 기기의 움직임 정보를 사용하는 단계
    를 더 포함하는 것을 특징으로 하는 혼합 현실 기기 지원 방법.
  13. 360도 카메라 장치가 구비되는 컴퓨터와 결합되어 혼합 현실 기기 지원 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서,
    상기 혼합 현실 기기 지원 방법은,
    상기 360도 카메라 장치에 포함되는 복수의 카메라들을 이용하여 상기 360도 카메라 장치가 위치하는 현실 공간의 360도 전방위 영상을 촬영하는 단계;
    상기 360도 전방위 영상으로부터 상기 현실 공간의 조명 환경 정보 및 상기 현실 공간의 3차원 정보를 각각 취득하는 단계;
    상기 360도 전방위 영상에 기초하여 상기 현실 공간에 위치하는 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 단계; 및
    상기 적어도 하나의 혼합 현실 기기가 혼합 현실을 사용자에게 제공하도록 상기 현실 공간의 조명 환경 정보, 상기 현실 공간의 3차원 정보 및 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 상기 적어도 하나의 혼합 현실 기기로 제공하는 단계
    를 포함하고,
    상기 생성하는 단계는,
    상기 360도 카메라 장치를 기준으로 하는 좌표계 상에서의 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 단계인 것을 특징으로 하는 기록 매체에 기록된 컴퓨터 프로그램.
  14. 360도 카메라 장치가 구비되는 컴퓨터로 구현되는 혼합 현실 기기 지원 장치에 있어서,
    컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 360도 카메라 장치에 포함되는 복수의 카메라들을 이용하여 상기 360도 카메라 장치가 위치하는 현실 공간의 360도 전방위 영상을 촬영하는 촬영부;
    상기 360도 전방위 영상으로부터 상기 현실 공간의 조명 환경 정보 및 상기 현실 공간의 3차원 정보를 각각 취득하는 취득부;
    상기 360도 전방위 영상에 기초하여 상기 현실 공간에 위치하는 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 생성부; 및
    상기 적어도 하나의 혼합 현실 기기가 혼합 현실을 사용자에게 제공하도록 상기 현실 공간의 조명 환경 정보, 상기 현실 공간의 3차원 정보 및 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 상기 적어도 하나의 혼합 현실 기기로 제공하는 제공부
    를 포함하고,
    상기 생성부는,
    상기 360도 카메라 장치를 기준으로 하는 좌표계 상에서의 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 것을 특징으로 하는 혼합 현실 기기 지원 장치.
  15. 360도 카메라 장치가 구비되는 혼합 현실 기기 지원 장치; 및
    상기 혼합 현실 기기 지원 장치와 네트워크를 통해 연결되는 적어도 하나의 혼합 현실 기기
    를 포함하고,
    상기 혼합 현실 기기 지원 장치가 포함하는 적어도 하나의 프로세서는,
    상기 360도 카메라 장치에 포함되는 복수의 카메라들을 이용하여 상기 360도 카메라 장치가 위치하는 현실 공간의 360도 전방위 영상을 촬영하는 촬영부;
    상기 360도 전방위 영상으로부터 상기 현실 공간의 조명 환경 정보 및 상기 현실 공간의 3차원 정보를 각각 취득하는 취득부;
    상기 360도 전방위 영상에 기초하여 상기 현실 공간에 위치하는 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 생성부; 및
    상기 적어도 하나의 혼합 현실 기기가 혼합 현실을 사용자에게 제공하도록 상기 현실 공간의 조명 환경 정보, 상기 현실 공간의 3차원 정보 및 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 상기 적어도 하나의 혼합 현실 기기로 제공하는 제공부
    를 포함하며,
    상기 적어도 하나의 혼합 현실 기기가 포함하는 적어도 하나의 프로세서는,
    상기 혼합 현실 기기 지원 장치가 제공하는 상기 현실 공간의 조명 환경 정보, 상기 현실 공간의 3차원 정보 및 상기 적어도 하나의 혼합 현실 기기의 움직임 정보에 기초하여, 혼합 현실을 사용자에게 제공하는 것을 특징으로 하고,
    상기 생성부는,
    상기 360도 카메라 장치를 기준으로 하는 좌표계 상에서의 상기 적어도 하나의 혼합 현실 기기의 움직임 정보를 생성하는 것을 특징으로 하는 혼합 현실 기기 지원 시스템.
KR1020190110541A 2019-09-06 2019-09-06 환경 정보 취득을 이용한 혼합 현실 기기 지원 장치 및 그 방법 KR102243138B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190110541A KR102243138B1 (ko) 2019-09-06 2019-09-06 환경 정보 취득을 이용한 혼합 현실 기기 지원 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190110541A KR102243138B1 (ko) 2019-09-06 2019-09-06 환경 정보 취득을 이용한 혼합 현실 기기 지원 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20210029391A KR20210029391A (ko) 2021-03-16
KR102243138B1 true KR102243138B1 (ko) 2021-04-21

Family

ID=75223884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190110541A KR102243138B1 (ko) 2019-09-06 2019-09-06 환경 정보 취득을 이용한 혼합 현실 기기 지원 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102243138B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006148787A (ja) * 2004-11-24 2006-06-08 Opt Kk 全方位撮影装置
KR100834157B1 (ko) * 2006-11-20 2008-06-02 중앙대학교 산학협력단 영상 합성을 위한 조명환경 재구성 방법 및 프로그램이기록된 기록매체

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102020881B1 (ko) * 2017-11-28 2019-09-11 주식회사 디앤피코퍼레이션 스마트 폰의 움직임 구동에 의한 인터랙티브 ar/mr 구현 장치 및 방법
KR20190100133A (ko) * 2019-08-19 2019-08-28 에스케이텔레콤 주식회사 증강현실용 컨텐츠 제공 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006148787A (ja) * 2004-11-24 2006-06-08 Opt Kk 全方位撮影装置
KR100834157B1 (ko) * 2006-11-20 2008-06-02 중앙대학교 산학협력단 영상 합성을 위한 조명환경 재구성 방법 및 프로그램이기록된 기록매체

Also Published As

Publication number Publication date
KR20210029391A (ko) 2021-03-16

Similar Documents

Publication Publication Date Title
US11972780B2 (en) Cinematic space-time view synthesis for enhanced viewing experiences in computing environments
EP3468181A1 (en) Drone clouds for video capture and creation
KR102136210B1 (ko) 파노라마 이미지를 보정하는 방법 및 시스템
KR101583286B1 (ko) 공간 정보를 제공하기 위한 증강 현실 제공 방법과 시스템, 그리고 기록 매체 및 파일 배포 시스템
KR102212825B1 (ko) 이미지를 기반으로 포즈 계산을 위한 지도의 최신성을 유지하는 방법 및 시스템
US20200314046A1 (en) Spatial messaging and content sharing method, and system therefor
JP2014525089A (ja) 3次元特徴シミュレーション
KR101989089B1 (ko) 클라우드 소싱 기반의 ar 컨텐츠 템플릿을 수집하여 ar 컨텐츠를 자동으로 생성하는 방법 및 시스템
US11558562B2 (en) Apparatus and method for providing 360-degree panoramic background during video call
JP2014525089A5 (ko)
US11042961B2 (en) Spatial processing for map geometry simplification
KR20180082170A (ko) 3차원 얼굴 모델 획득 방법 및 시스템
US9245366B1 (en) Label placement for complex geographic polygons
KR101600456B1 (ko) 공간 정보를 제공하기 위한 증강 현실 제공 방법과 시스템, 그리고 기록 매체 및 파일 배포 시스템
KR101650269B1 (ko) 화면 제어를 위한 효율적인 인터페이스를 제공하는 시스템 및 방법
US20240104744A1 (en) Real-time multi-view detection of objects in multi-camera environments
KR101806957B1 (ko) 관심 지점의 자동 업데이트를 위한 방법 및 시스템
KR102189924B1 (ko) 3d 지도를 이용한 원격 위치 기반 ar 저작 방법 및 시스템
KR102243138B1 (ko) 환경 정보 취득을 이용한 혼합 현실 기기 지원 장치 및 그 방법
US11562538B2 (en) Method and system for providing a user interface for a 3D environment
KR20210057586A (ko) 블라인드 워터마킹 기술을 이용한 카메라 기반 측위 방법 및 시스템
KR102368953B1 (ko) 가상 현실 공간 제공 방법 및 시스템
KR20180097913A (ko) 사용자 단말의 사용자 인터페이스를 이용하는 촬영 동작 가이드 방법 및 시스템
KR20240062353A (ko) 가상 공간의 정보를 제공하기 위한 전자 장치 및 그 방법
KR20190072409A (ko) 공간 메시징과 컨텐츠 공유를 위한 방법 및 그 시스템

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant