KR20190064735A - 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램 - Google Patents

깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램 Download PDF

Info

Publication number
KR20190064735A
KR20190064735A KR1020170163867A KR20170163867A KR20190064735A KR 20190064735 A KR20190064735 A KR 20190064735A KR 1020170163867 A KR1020170163867 A KR 1020170163867A KR 20170163867 A KR20170163867 A KR 20170163867A KR 20190064735 A KR20190064735 A KR 20190064735A
Authority
KR
South Korea
Prior art keywords
data
image data
virtual image
client
depth
Prior art date
Application number
KR1020170163867A
Other languages
English (en)
Other versions
KR102022980B1 (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 KR1020170163867A priority Critical patent/KR102022980B1/ko
Priority to EP18883005.3A priority patent/EP3719757A1/en
Priority to PCT/KR2018/014882 priority patent/WO2019107942A1/ko
Priority to JP2020549532A priority patent/JP7110378B2/ja
Priority to CN201880088394.7A priority patent/CN111670464B/zh
Publication of KR20190064735A publication Critical patent/KR20190064735A/ko
Priority to KR1020190111832A priority patent/KR102291682B1/ko
Application granted granted Critical
Publication of KR102022980B1 publication Critical patent/KR102022980B1/ko
Priority to US16/887,451 priority patent/US11328487B2/en

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/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • 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/10024Color image
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

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

Abstract

본 발명은 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램에 관한 것이다.
본 발명의 일실시예에 따른 깊이데이터를 이용한 증강현실영상 제공방법은, 클라이언트가 서버로부터 가상영상데이터를 수신하는 단계(S120; 가상영상데이터수신단계); 클라이언트가 상기 깊이데이터를 기반으로 각각의 픽셀이 현실공간 내에서 표시되어야 하는 위치를 결정하는 단계(S140; 표시위치결정단계); 및 상기 가상영상데이터를 상기 결정된 위치를 기반으로 현실공간 상에 표시하는 단계(S160; 가상영상데이터표시단계);를 포함한다.

Description

깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램 {METHOD AND PROGRAM FOR PROVIDING AUGMENTED REALITY BY USING DEPTH DATA}
본 발명은 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램에 관한 것이다.
증강 현실은 현실 세계에 문자나 그래픽 같은 가상의 물체를 중첩하여 한 영상으로 보여주는 기술이다. 증강현실 기술은 2000년대 중반까지는 연구 개발과 시험 적용 단계에 있었으나 최근 기술 환경이 갖추어지면서 실용화단계에 진입하였다. 특히, 최근 스마트폰의 등장 및 인터넷 기술이 발달함에 따라 증강 현실 기술이 주목받기 시작하였다.
증강 현실을 구현하는 가장 일반적인 방법은, 스마트폰의 카메라를 이용하여 현실의 세계를 찍고 그 위에 기생성된 컴퓨터 그래픽을 오버레이하여 출력함으로써, 사용자로 하여금 가상과 현실이 혼재하는 것처럼 느끼게 하는 방법이다. 이러한 방법은 사용자가 현실의 영상을 스마트폰의 카메라를 이용하여 쉽게 획득할 수 있고 컴퓨터 그래픽도 스마트폰의 컴퓨팅 기능을 통해 쉽게 구현이 가능하기 때문에 대부분의 증강 현실 어플리케이션이 스마트폰에서 구현되고 있다. 또한, 최근 안경 형태의 웨어러블 디바이스가 등장함에 따라, 증강현실 기술에 대한 관심도가 높아지고 있다.
증강현실영상은 현실공간의 정확한 위치에 증강되어야 사용자에게 현실감을 제공하여 줄 수 있다. 그러나, 사용자가 움직임에 따라 증강현실영상이 결합되는 대상체(예를 들어, 마커)의 공간상의 배치가 달라지는 경우, 특정시점의 영상프레임이 누락되면, 적절하지 않은 위치에 증강현실영상이 배치될 수 있으며 부자연스럽게 현실공간에 표시되고 흔들림에 따라 현실감이 떨어지게 된다. 따라서, 본 발명은 깊이데이터를 이용하여 2차원영상인 가상영상데이터를 현실공간 내의 적절한 위치에 배치하여, 사용자의 움직임이나 프레임 누락 시에도 현실감 있고 흔들리지 않는 증강현실 영상을 제공하는, 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램을 제공하고자 한다.
또한, 본 발명은 가상현실영상의 각 픽셀에 대해 추가된 깊이데이터를 기반으로 투명처리할 영역을 지정함에 따라 별도의 마스킹(Masking)데이터 없이 증강현실용 영상을 생성할 수 있는, 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램을 제공하고자 한다.
또한, 본 발명은 가상현실용 영상과 별도로 현실공간에 증강되어 표현되는 증강현실용 영상을 별도로 제작하지 않고, 가상현실 컨텐츠를 변형하여 증강현실 컨텐츠로 활용하기 위한 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램을 제공하고자 한다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일실시예에 따른 깊이데이터를 이용한 증강현실영상 제공방법은, 상기 클라이언트가 서버로부터 가상영상데이터를 수신하되, 상기 가상영상데이터는 색상데이터 및 깊이데이터를 포함하는 것인, 가상영상데이터수신단계; 상기 클라이언트가 상기 깊이데이터를 기반으로 각각의 픽셀이 현실공간 내에서 표시되어야 하는 위치를 결정하는 표시위치결정단계; 및 상기 가상영상데이터를 상기 결정된 위치를 기반으로 현실공간 상에 표시하는 가상영상데이터표시단계;를 포함한다.
또한, 다른 일실시예로, 상기 깊이데이터는 각 픽셀별로 색상데이터 채널과 구별되는 별도 채널에 포함되는 것이고, 상기 깊이데이터 및 상기 색상데이터는 동기화되어 전송되는 것을 특징으로 한다.
또한, 다른 일실시예로, 상기 가상영상데이터는, 촬영 또는 생성 시에 각 지점의 깊이데이터를 획득하여 각 픽셀별로 저장된 2차원 이미지이다.
또한, 다른 일실시예로, 상기 표시위치결정단계는, 상기 클라이언트가 특정한 깊이를 투명도 조절기준으로 결정하는 단계; 및 상기 투명도 조절기준을 바탕으로 깊이범위를 구별하여 투명처리여부를 결정하는 단계;를 포함하되, 상기 투명도 조절기준은 화면 상에 표시될 컨텐츠의 경계선을 설정하는 것이다.
또한, 다른 일실시예로, 상기 깊이범위는, 복수의 깊이를 상기 투명도 조절기준으로 설정하여, 상기 복수의 깊이를 기준으로 나누어지는 복수의 영역이다.
또한, 다른 일실시예로, 상기 가상영상데이터는 획득위치데이터 및 영상방향데이터를 더 포함하고, 상기 표시위치결정단계는, 상기 클라이언트에서 획득된 현재위치데이터와 상기 획득위치데이터를 비교하고, 상기 클라이언트에서 획득된 재생방향데이터와 상기 영상방향데이터를 비교하는 단계; 및 상기 비교결과를 기반으로 상기 가상영상데이터 내의 픽셀의 위치를 조절하는 단계;를 포함한다.
또한, 다른 일실시예로, 상기 표시위치결정단계는, 상기 클라이언트가 현실공간의 광조사방향을 기반으로 상기 가상영상데이터 내 각 픽셀의 색상 또는 채도를 조절하는 단계;를 더 포함한다.
또한, 다른 일실시예로, 상기 클라이언트가 카메라에 의해 획득된 현실영상데이터와 상기 가상영상데이터를 결합한 결합영상데이터를 출력하는 장치인 경우, 상기 클라이언트가 현실영상데이터를 출력지연시간을 기반으로 보정하는 단계;를 더 포함하되, 상기 출력지연시간은 상기 현실영상데이터를 촬영한 후 화면상에 출력할 때까지 소요되는 시간이다.
본 발명의 다른 일실시예에 따른 깊이데이터를 이용한 증강현실영상 제공프로그램은, 하드웨어인 컴퓨터와 결합되어 상기 언급된 깊이데이터를 이용한 증강현실영상 제공방법을 실행하며, 매체에 저장된다.
본 발명의 다른 일실시예에 따른 깊이데이터를 이용한 증강현실영상 제공장치는, 서버로부터 가상영상데이터를 수신하는 가상영상데이터수신부; 깊이데이터를 기반으로 각각의 픽셀이 현실공간 내에서 표시되어야 하는 위치를 결정하는 제어부; 및 상기 가상영상데이터를 상기 결정된 위치를 기반으로 현실공간 상에 표시하는 영상출력부;를 포함하되, 상기 가상영상데이터는 색상데이터 및 깊이데이터를 포함하는 것이다.
본 발명의 또 다른 일실시예에 따른 깊이데이터를 이용한 증강현실영상 제공방법은, 상기 서버가 상기 클라이언트로 특정시점에 제공되는 상기 가상영상데이터의 각 픽셀별 색상데이터를 획득하는 단계; 상기 가상영상데이터의 각 픽셀별 깊이데이터를 획득하여 저장하는 단계; 및 상기 서버가 상기 색상데이터 및 상기 깊이데이터를 동기화하여 상기 클라이언트로 전송하는 단계;를 포함하되, 상기 깊이데이터는, 제2시점의 제2가상영상데이터가 수신되지 않으면 제1시점의 제1가상영상데이터를 기반으로 보정 시에 이용되는 것이고, 상기 제2시점은 상기 제1시점으로부터 가상영상데이터 전송주기가 경과된 시점이다.
또한, 다른 일실시예로, 상기 가상영상데이터는 획득위치데이터 및 영상방향데이터를 더 포함하고, 상기 클라이언트는, 현재위치데이터와 상기 획득위치데이터를 비교하고, 재생방향데이터와 상기 영상방향데이터를 비교하여, 상기 비교결과를 기반으로 상기 가상영상데이터 내의 픽셀의 위치를 조절하는 것을 특징으로 하고, 상기 현재위치데이터 및 상기 재생방향데이터는 상기 클라이언트에서 실시간으로 또는 단위시간마다 획득하는 것이다.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.
첫째, 사용자가 움직임에 따라 증강현실영상이 결합되는 대상체(예를 들어, 마커)의 공간상의 배치가 달라지는 경우, 특정시점에 누락된 영상프레임을 대체할 수 있는 보정영상데이터를 제공하여, 증강현실영상이 현실공간의 정확한 위치에 표시되어 흔들림이 없이 자연스럽게 재생될 수 있다.
둘째, 색상데이터로 이루어진 2차원의 가상영상데이터에 깊이데이터를 결합함에 따라, 2차원의 가상영상데이터를 3차원의 현실공간에 자연스럽게 표시할 수 있다. 즉, 증강현실영상 재생장치가 3차원의 현실공간을 인식하여 2차원 영상의 각 픽셀을 적절한 깊이에 표시함에 따라 3차원 증강현실을 구현하는 효과를 제공한다.
셋째, 가상현실용으로 제작된 가상영상데이터에서 각 픽셀에 적용된 깊이데이터를 기반으로 투명처리 수준을 결정할 수 있어서, 별도의 증강현실영상으로 제작할 필요없이 가상영상데이터 획득 시에 얻어진 깊이데이터를 기반으로 가상현실용 영상을 바로 증강현실용으로 활용할 수 있다.
도 1은 본 발명의 일실시예에 따른 증강현실 영상시스템의 구조도이다.
도 2는 본 발명의 일실시예에 따른 클라이언트가 깊이데이터를 이용한 증강현실영상을 제공하는 방법의 순서도이다.
도 3은 본 발명의 일실시예에 따른 깊이데이터를 기반으로 가상영상데이터의 투명도를 조절하는 과정에 대한 순서도이다.
도 4는 본 발명의 일실시예에 따라 깊이데이터를 기반으로 투명도조절기준을 설정하고 영역을 분할한 예시도면이다.
도 5는 본 발명의 일실시예에 따라 영역지정데이터를 입력한 예시도면이다.
도 6은 본 발명의 일실시예에 따른 각 픽셀의 공간상의 위치를 조절하는 과정에 대한 순서도이다.
도 7은 본 발명의 일실시예에 따라 제1프레임의 색상데이터 및 깊이데이터를 기반으로 누락된 제2프레임을 생성하는 예시도면이다.
도 8은 본 발명의 일실시예에 따른 서버가 깊이데이터를 포함한 가상영상데이터를 생성하여 제공하는 방법의 순서도이다.
도 9는 본 발명의 일실시예에 따라 제1프레임과 제2프레임 사이에 제1.5프레임을 추가하는 과정을 나타내는 예시도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
본 명세서에서 '가상영상데이터'는 가상현실 또는 증강현실을 구현하기 위해 제작된 영상데이터를 의미한다. '가상영상데이터'는 카메라를 통해 현실공간이 촬영되어 생성될 수도 있고, 모델링과정을 통해 제작될 수도 있다.
본 명세서에서 '제1가상영상데이터'는 제1시점에 서버로부터 클라이언트로 제공되는 가상영상데이터를 의미한다. 본 명세서에서 '제2가상영상데이터'는 제2시점(즉, 제1시점으로부터 영상수신주기인 단위시간이 경과된 시점)에 서버로부터 클라이언트로 제공되는 가상영상데이터를 의미한다.
본 명세서에서 '깊이데이터'는 3차원 공간 상의 깊이에 대한 값으로서, 특정한 가상영상데이터 내의 분할되는 세부단위 각각(예를 들어, 각 픽셀)에 부여되는 값이다.
본 명세서에서 '색상데이터'는 가상영상데이터가 화면에 표시되는 색상에 대한 데이터이다. 예를 들어, 색상데이터는 가상영상데이터의 각 픽셀별로 포함될 수 있다. 또한, '색상데이터'는 RGB(Red-Green-Blue) 색모델 등의 색상을 표현할 수 있는 특정한 색모델로 이루어질 수 있다.
본 명세서에서 '현실영상데이터'는 현실공간을 촬영하여 획득되는 영상데이터를 의미한다.
본 명세서에서 '클라이언트'는 서버로부터 가상영상데이터를 수신하여 재생하는 증강현실영상 재생장치를 의미한다. 즉, '클라이언트'는 사용자의 눈으로 직접 제공되는 현실이미지 또는 현실공간을 촬영하여 획득된 현실영상데이터와 증강현실 컨텐츠를 함께 표시하여 제공할 수 있는 모든 장치를 의미한다.
이하, 도면을 참조하여, 본 발명의 실시예들에 따른 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램에 대해 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 증강현실 영상시스템의 구조도이다.
도 2는 본 발명의 일실시예에 따른 깊이데이터를 이용한 증강현실영상 제공방법의 순서도이다.
도 1 및 도 2를 참조하면, 본 발명의 일실시예에 따른 깊이데이터를 이용한 증강현실영상 제공방법은, 클라이언트(200)가 서버(100)로부터 가상영상데이터를 수신하는 단계(S120; 가상영상데이터수신단계); 클라이언트(200)가 깊이데이터를 기반으로 각각의 픽셀이 현실공간 내에서 표시되어야 하는 위치를 결정하는 단계(S140; 표시위치결정단계); 및 상기 가상영상데이터를 상기 결정된 위치를 기반으로 현실공간 상에 표시하는 단계(S160; 가상영상데이터표시단계);를 포함한다. 이하, 각 단계에 대한 상세한 설명을 기술한다.
클라이언트(200)가 서버(100)로부터 가상영상데이터를 수신한다(S120; 가상영상데이터수신단계). 상기 가상영상데이터는 색상데이터 및 깊이데이터를 포함하는 것이다.
일실시예로, 상기 가상영상데이터는, 촬영 또는 생성 시에 각 지점의 깊이데이터를 획득하여 각 픽셀별로 저장된 2차원 이미지이다. 즉, 클라이언트(200)는 깊이데이터를 포함하는 2차원이미지인 가상영상데이터를 수신하여 3차원인 현실공간 내에 증강현실영상으로 생성한다. 이를 통해, 클라이언트(200)는 서버(100)로부터 3차원으로 모델링된 고용량의 3차원 영상데이터를 수신하지 않고 3차원의 현실공간 내에 현실감 있는 증강현실을 구현할 수 있다.
일실시예로, 상기 깊이데이터는 각 픽셀별로 색상데이터 채널과 구별되는 별도 채널에 포함된다. 즉, 서버(100)는 색상데이터채널과 깊이데이터채널을 통해 가상영상데이터의 각 픽셀에 대한 색상데이터 및 깊이데이터를 클라이언트(200)로 전송한다. 이 때, 서버(100)는 깊이데이터채널을 통해 전송되는 깊이데이터와 색상데이터채널을 통해 전송되는 색상데이터를 동기화하여 클라이언트(200)로 전송 한다. 클라이언트(200)는 색상데이터채널과 깊이데이터채널을 통해 동시에 수신된 각 픽셀별 색상데이터와 깊이데이터를 해당시점의 가상영상데이터로 획득한다.
클라이언트(200)가 상기 깊이데이터를 기반으로 각각의 픽셀이 현실공간 내에서 표시되어야 하는 위치를 결정한다(S140; 표시위치결정단계). 즉, 클라이언트(200)는 가상영상데이터의 각 픽셀 위치에 대응되는 클라이언트(200)를 통해 사용자에게 보이는 현실공간 위치에서 깊이데이터에 대응되는 깊이에 색상데이터를 표시하는 것으로 결정한다. 구체적으로, 상기 클라이언트(200)가 투명한 화면 상에 가상영상데이터를 출력하는 장치(예를 들어, 글라스형 웨어러블 디바이스)인 경우, 가상영상데이터는 상기 장치의 화면크기에 대응하므로, 클라이언트(200)는 가상영상데이터의 각 픽셀을 화면의 대응되는 각 지점에 깊이데이터를 기반으로 출력한다.
또한, 다른 일실시예로, 도 3에서와 같이, 상기 표시위치결정단계(S140)는, 상기 클라이언트(200)가 특정한 깊이를 투명도 조절기준으로 결정하는 단계(S141); 및 상기 투명도 조절기준을 바탕으로 깊이범위를 구별하여 투명처리여부를 결정하는 단계(S142);를 포함한다. 즉, 클라이언트(200)는 현실공간 내에 원하는 가상영상데이터의 원하는 부분만을 출력하기 위해 깊이데이터를 기반으로 출력영역을 지정한다.
먼저, 클라이언트(200)가 특정한 깊이를 투명도 조절기준으로 결정한다(S141). 상기 투명도 조절기준은 화면 상에 표시될 컨텐츠의 경계선에 해당하는 깊이값일 수 있다. 예를 들어, 도 4에서와 같이, 클라이언트(200)가 가상영상데이터 내에 포함된 캐릭터만을 증강현실컨텐츠로 표시하고자 하는 경우, 클라이언트(200)는 캐릭터의 경계선에 해당하는 픽셀의 깊이데이터를 투명도 조절기준으로 결정한다. 이를 통해, 클라이언트(200)는 가상영상데이터 내의 캐릭터(예를 들어, 대상체 2)만을 화면에 출력되도록 하고, 나머지 영역은 투명하게 처리할 수 있다.
그 후, 클라이언트(200)가 투명도 조절기준을 바탕으로 깊이범위를 구별한다(S142). 즉, 클라이언트(200)는 특정한 깊이보다 가까운 영역과 먼 영역으로 영역을 나눈다. 클라이언트(200)는 복수의 깊이를 상기 투명도 조절기준으로 설정할 수도 있다. 예를 들어, 도 4에서와 같이, 2개의 깊이값(예를 들어, 깊이값 A와 깊이값 B(B는 A보다 큰 값)의 2개의 깊이값)로 투명도 조절기준을 설정하면, 클라이언트(200)는 A 깊이보다 가까운 제1영역, A 깊이와 B 깊이 사이의 제2영역 및 B 깊이보다 먼 제3영역으로 깊이범위를 구별한다.
그 후, 클라이언트(200)는 구별된 깊이범위에 대해 투명처리여부를 적용한다(S142). 일실시예로, 특정한 깊이값(예를 들어, 깊이값 A)을 기준으로 깊이범위를 구별하는 경우, 클라이언트(200)는 깊이 A보다 먼 영역을 투명처리 영역으로 결정하여, 깊이 A보다 가까운 범위의 영상만이 화면상에 표시되도록 한다. 또한, 다른 일실시예로, 2개 이상의 투명도 조절기준을 설정함에 따라 3개 이상의 깊이범위로 나누어지는 경우, 클라이언트(200)는 각 깊이범위를 투명으로 처리할지 여부를 결정한다. 또한, 클라이언트(200)는 각각의 깊이범위에 투명도 수치를 결정하여 특정한 깊이범위에 포함되는 영상컨텐츠를 현실공간과 함께 보이도록 반투명으로 처리할 수도 있다.
이를 통해, 클라이언트(200)는 깊이데이터를 통해 가상영상데이터 내에서 원하는 컨텐츠(예를 들어, 대상체)만을 추출하여 현실영상데이터 상에 표시할 수 있다. 즉, 클라이언트(200)는 가상영상을 현실공간 내 적절한 위치에 표시하기 위해 함께 수신되는 깊이데이터를 이용하여 마스킹영역을 설정하므로, 클라이언트(200)는 서버(100)로부터 가상영상데이터 내의 일부영역을 마스킹하기 위한 마스킹데이터를 별도로 수신하지 않아도 된다. 예를 들어, 기존의 가상현실영상 구현을 위해 생성된 영상에 깊이데이터만을 추가하여 증강현실영상 구현에 활용하고자 하는 경우, 서비스제공자는 기존의 가상현실영상과 동기화된 각 픽셀의 깊이데이터만 생성하고, 가상영상데이터에서 특정한 대상체 경계에 해당하는 특정한 깊이를 설정함에 따라 가상현실영상을 일부영역이 마스킹(Masking)된 증강현실영상으로 구현할 수 있다.
또한, 다른 일실시예로, 도 5에서와 같이, 클라이언트(200)는 영역지정데이터를 특정한 깊이데이터와 함께 투명도 조절기준으로 활용한다. 가상영상데이터는 현실공간에 증강시키고자 하는 대상체(예를 들어, 도 5의 제1객체)와 동일한 깊이값을 가지는 다른 대상체(예를 들어, 도 5의 제2객체)를 포함할 수 있다. 이 때, 깊이데이터만으로 현실공간에 투명처리가 되지 않고 노출될 영역을 설정하면 표시되지 않아야 하는 대상체가 현실공간 내에 함께 표시될 수 있다. 따라서, 클라이언트(200)는 서버(100)로부터 투명하게 처리하여야 할 2차원 화면 내 영역에 대한 데이터(즉, 영역지정데이터)를 수신하여, 지정된 2차원영역에 포함된 영상컨텐츠 중에서 표시할 영역으로 지정된 깊이범위의 영상컨텐츠만을 화면 상에 표시되도록 할 수 있다. 깊이데이터에 의해 특정한 지정영역 내에서 투명처리되어야 할 부분을 상세히 구별해낼 수 있으므로, 서버(100)는 대략적인 영역만을 지정하는 형태(예를 들어, 직사각형 형태)로 영역지정데이터를 설정하여 클라이언트(200)로 전송한다.
또한, 다른 일실시예로, 상기 표시위치결정단계(S140)에서, 클라이언트(200)가 사용자에 의해 주시되는 방향과 가상영상데이터가 촬영된 방향이 일치하지 않는 경우, 클라이언트(200)가 가상영상데이터를 화면상에 표시하기에 적절한 형태로 조절할 수 있다.
이를 위해, 상기 가상영상데이터는 획득위치데이터 및 영상방향데이터를 더 포함할 수 있다. 상기 획득위치데이터는 가상영상데이터를 촬영하거나 가상영상데이터를 생성(즉, 모델링; Modeling)할 때의 카메라 위치를 의미한다. 상기 영상방향데이터는 상기 획득위치에서 가상영상데이터가 획득된 방향을 의미한다. 예를 들어, 카메라 장치로 가상영상데이터가 촬영되는 경우, 영상방향데이터는 특정한 획득위치에서 카메라가 바라본 방향으로서, 카메라 장치에 포함된 센서에 의해 획득될 수 있다. 또한, 예를 들어, 가상영상데이터를 외부서버(100)에서 모델링 과정을 통해 생성되는 경우, 영상방향데이터는 획득위치 기준으로 모델링 시에 해당 가상영상데이터에 대해 정해진 방향일 수 있다.
상기 획득위치데이터 및 영상방향데이터를 이용하는 표시위치결정단계(S140)의 일실시예로, 도 6에서와 같이, 상기 클라이언트(200)에서 획득된 현재위치데이터와 상기 획득위치데이터를 비교하고, 상기 클라이언트(200)에서 획득된 재생방향데이터와 상기 영상방향데이터를 비교하는 단계(S143); 및 상기 비교결과를 기반으로 상기 가상영상데이터 내의 픽셀의 위치를 조절하는 단계(S144);를 포함한다.
먼저, 클라이언트(200)가 현재위치데이터와 상기 획득위치데이터를 비교하고, 상기 클라이언트(200)에서 획득된 재생방향데이터와 상기 영상방향데이터를 비교한다(S143). 상기 현재위치데이터는 클라이언트(200)에서 다양한 측위방식 중 적어도 어느 하나를 기반으로 획득되는 위치데이터이다. 상기 재생방향데이터는 클라이언트(200) 내부의 모션센서에 의해 획득되는 데이터로서, 클라이언트(200)가 바라보는 실시간 방향에 대한 데이터이다. 클라이언트(200)는 가상영상데이터가 획득된 위치 및 촬영방향(즉, 영상방향)과 현재위치 및 바라보는 방향(즉, 재생방향)을 비교하여, 차이값을 산출한다. 즉, 클라이언트(200)는 영상이 획득된 위치와 현재 위치 간에 차이(예를 들어, 공간 상의 위치변화)를 산출하고, 클라이언트(200)의 바라보는 방향과 가상영상데이터가 획득된 방향 간의 차이(예를 들어, 방위값 차이)를 산출한다.
그 후, 클라이언트(200)는 상기 비교결과를 기반으로 상기 가상영상데이터 내의 픽셀의 위치를 조절한다(S144). 클라이언트(200)는 현재위치데이터 및 재생방향데이터에 부합하게 가상영상데이터의 각 픽셀의 위치를 조절한다. 클라이언트(200)는 각 픽셀의 2차원 화면 상 위치뿐만 아니라, 각 픽셀의 깊이데이터에 비교결과를 반영하여 현실공간 내에 표시되는 깊이를 조절할 수 있다.
이를 통해, 사용자가 현실공간에서 클라이언트(200)로 증강현실영상을 보는 위치 및 방향이 가상영상데이터를 획득한 위치 및 방향과 정확히 일치하지 않더라도, 클라이언트(200)가 가상영상데이터 내의 각 픽셀의 화면 내 표시위치를 조절하여 정확한 위치에 증강현실컨텐츠를 표시할 수 있다.
또한, 도 7에서와 같이, 가상영상데이터 내에 단위시간 간격으로 연속적으로 제공되는 프레임 일부가 누락되는 경우(예를 들어, 제1시점에 제1가상영상데이터(즉, 제1프레임)가 수신된 이후에 이어서 제2시점에 제공되어야 하는 제2가상영상데이터(즉, 제2프레임)가 누락된 경우), 클라이언트(200)는 제1가상영상데이터에 포함된 획득위치데이터 및 영상방향데이터와 제2시점에 클라이언트(200)에서 획득되는 현재위치데이터와 재생방향데이터를 비교하고, 비교결과(즉, 공간상 위치 차이 및 주시방향 차이)을 기반으로 제1가상영상데이터 내의 각 픽셀의 위치를 조절한다. 상기 제2시점은 상기 제1시점으로부터 가상영상데이터 전송주기가 경과된 시점이다. 즉, 클라이언트(200)는 제1프레임(즉, 제1가상영상데이터)에 포함된, 색상데이터와 깊이데이터를 가지는 각 픽셀을 제1프레임에 포함된 획득위치데이터 및 영상방향데이터와 제2시점에 클라이언트(200)에서 획득되는 현재위치데이터 및 재생방향데이터를 비교한 비교결과를 바탕으로 이동시켜, 누락된 제2프레임을 대체하는 제2보정영상데이터를 생성하여 제공한다. 이를 통해, 서버(100)로부터 제공되는 가상영상데이터가 누락되는 경우에, 이전 가상영상데이터를 보정하여 대체함에 따라 증강현실컨텐츠가 자연스럽게 제공되도록 할 수 있다.
구체적으로, 특정한 재생시점(즉, 제2시점)의 가상영상데이터(즉, 제2가상영상데이터)가 누락되고 재생되면, 증강현실컨텐츠가 현실공간의 정확한 위치에 표시되지 못하며 단위시간 경과 후(즉, 제3시점)에 가상영상데이터가 수신됨에 따라 증강현실컨텐츠가 갑자기 위치를 이동하게 되어 영상 흔들림이 발생하게 된다. 즉, 제2프레임이 누락됨에 따라 제1가상영상데이터(즉, 제1프레임)에서 제3가상영상데이터(즉, 제3프레임)으로 바로 변경되게 되면 대상체가 갑자기 이동하는 것과 같이 표현되어 사용자에게 어지러움을 유발시킬 수 있다. 제1시점의 제1가상영상데이터를 이용하여 제2시점에 보정영상데이터를 제공함에 따라, 사용자는 미수신된 영상프레임(즉, 제2가상영상데이터)을 대체프레임(즉, 제1가상영상데이터 기반의 제2보정영상데이터)으로 채워서 흔들리지 않고 현실공간 상의 정확한 위치에 배치되는 증강현실 컨텐츠를 제공할 수 있다. 특히, 클라이언트(200)가 서버(100)로부터 무선통신을 통해 가상영상데이터를 수신함에 따라 가상영상데이터 누락이 다수 발생하는 경우에 더욱 유용한 효과를 제공할 수 있다.
또한, 다른 일실시예로, 도 9에서와 같이, 클라이언트(200)는 서버(100)에서 생성되어 제공되는 프레임(즉, 가상영상데이터) 사이를 채우는 추가 프레임을 생성하여 제공할 수 있다. 예를 들어, 서버(100)에서 초당 60 프레임만을 제공하는 경우, 클라이언트(200)는 서버(100)에서 제공되는 프레임 사이의 시점에 해당하는 추가프레임을 생성하여, 초당 120 프레임으로 출력할 수 있다. 즉, 서버 성능 또는 네트워크 대역폭 제한 등의 여러가지 요소에 의해 서버(100)는 클라이언트(200)에 제한된 개수의 프레임(예를 들어, 초당 60프레임)만을 제공할 수 밖에 없을 수 있고, 이 때 클라이언트(200)에서 자체적으로 초당 프레임 개수를 늘려서 더욱 자연스러운 영상을 생성해낼 수 있다.
제1프레임과 제2프레임 사이의 추가프레임(즉, 제1.5프레임)은 제1프레임의 보정을 통해 생성된다. 즉, 클라이언트(200)는 제1프레임(즉, 제1가상영상데이터)에 포함된 획득위치데이터 및 영상방향데이터와 프레임을 추가하고자 하는 제1.5시점에 클라이언트(200)에서 획득되는 현재위치데이터와 재생방향데이터를 비교하여 비교결과(즉, 공간상 위치 차이 및 주시방향 차이)를 생성한다. 그 후, 클라이언트는 상기 비교결과을 기반으로 제1프레임(즉, 제1가상영상데이터) 내의 각 픽셀의 위치를 조절하여 제1.5프레임을 생성한다.또한, 다른 일실시예로, 상기 표시위치결정단계(S140)는, 상기 클라이언트(200)가 상기 가상영상데이터 내 각 픽셀의 색상 또는 채도를 조절하는 단계;를 더 포함한다. 즉, 클라이언트(200)는 현실공간의 광조사방향 또는 각 픽셀의 배치위치(즉, 3차원공간 상에 픽셀이 배치되는 위치)를 기반으로 각 픽셀의 색상 또는 채도를 조절한다. 이를 통해, 클라이언트(200)는 서버(100)에서 제공되는 가상영상데이터를 현실공간에 자연스럽게 표시되도록 할 수 있다.
클라이언트(200)가 상기 가상영상데이터를 상기 결정된 위치를 기반으로 현실공간 상에 표시한다(S160; 가상영상데이터표시단계). 일실시예로, 클라이언트(200)가 현실공간을 투명한 디스플레이를 통해 직접 바라보면서 투명한 디스플레이에 표시되는 가상영상데이터를 바라보는 장치(예를 들어, 글라스형 웨어러블 디바이스)인 경우, 클라이언트(200)는 각 픽셀이 표시될 위치가 결정된 증강현실컨텐츠(예를 들어, 가상영상데이터에 깊이데이터를 기반으로 마스킹처리를 수행한 영상컨텐츠)를 투명디스플레이 상에 표시한다.
또한, 다른 일실시예로, 상기 클라이언트(200)가 카메라에 의해 획득된 현실영상데이터와 상기 가상영상데이터를 결합한 결합영상데이터를 출력하는 장치인 경우(예를 들어, 스마트폰 또는 태블릿PC인 경우), 상기 클라이언트(200)가 현실영상데이터를 출력지연시간을 기반으로 보정하는 단계;를 더 포함한다. 상기 출력지연시간은 상기 현실영상데이터를 촬영한 후 화면상에 출력할 때까지 소요되는 시간이다. 즉, 클라이언트(200)가 현실영상데이터를 클라이언트(200)의 움직임을 반영하여 동일시점에 클라이언트(200)가 주시하는 현실공간과 화면상에 표시되는 현실영상데이터를 일치하도록 보정한다. 예를 들어, 클라이언트(200)가 카메라를 통해 현실영상데이터를 화면크기와 동일하게 획득하는 경우, 클라이언트(200)의 움직임을 기반으로 현실영상데이터를 이동(shift)시켜서 화면상에 표시한다. 또한, 예를 들어, 클라이언트(200)가 화면크기보다 큰 현실영상데이터를 획득하는 경우, 클라이언트(200)는 획득된 현실영상데이터 내에서 클라이언트(200)의 움직임이 반영하여 화면에 출력하여야 하는 영역을 추출하여 표시한다.
도 1을 참조하면, 본 발명의 다른 일실시예에 따른 깊이데이터를 이용한 증강현실영상 제공장치는, 가상영상데이터수신부(210); 제어부(220); 영상출력부(230);를 포함한다. 본 발명의 일실시예에 따른 증강현실영상 제공장치는 본 발명의 실시예들에 따른 깊이데이터를 이용한 증강현실영상 제공방법에서의 클라이언트(200)에 해당한다. 이하, 기 설명된 구성에 대한 상세한 설명은 생략한다.
가상영상데이터수신부(210)는 상기 클라이언트(200)가 서버(100)로부터 가상영상데이터를 수신한다. 상기 가상영상데이터는 색상데이터 및 깊이데이터를 포함하는 것이다. 가상영상데이터수신부(210)는 별도채널을 통해 각 픽셀의 색상데이터 및 깊이데이터를 수신할 수 있다. 즉, 가상영상데이터수신부(210)는 색상데이터채널을 통해 각 픽셀의 색상데이터(예를 들어, RGB값)를 수신하고, 깊이데이터채널을 통해 각 픽셀의 깊이데이터를 수신한다.
가상영상데이터수신부(210)는 유선 또는 무선통신을 통해 가상영상데이터를 수신한다. 무선통신을 통해 수신하는 경우, 가상영상데이터수신부(210)는 무선인터넷모듈 또는 근거리통신모듈이 해당될 수 있다.
무선 인터넷 모듈은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 이동 단말기(100)에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), LTE(long term evolution), LTE-A(Long Term Evolution-Advanced) 등이 이용될 수 있다.
근거리 통신 모듈은 근거리 통신을 위한 모듈을 말한다. 근거리 통신(short range communication) 기술로 블루투스(Bluetooth), BLE(Bluetooth Low Energy), 비콘(Beacon), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
제어부(220)는 가상영상데이터수신부(210)를 통해 수신된 가상영상데이터를 처리하는 역할을 수행한다. 일실시예로, 제어부(220)는 상기 클라이언트(200)가 상기 깊이데이터를 기반으로 각각의 픽셀이 현실공간 내에서 표시되어야 하는 위치를 결정한다.
또한, 제어부(220)는 깊이데이터를 기반으로 각 깊이에 대응되는 픽셀의 투명처리 여부를 결정한다. 즉, 제어부(220)는 특정한 깊이범위에 위치한 대상체를 제외한 나머지 깊이범위에 해당하는 픽셀을 투명으로 처리하여, 특정한 대상체만 화면상에 표시되도록 한다.
또한, 제어부(220)는 특정한 재생시점의 가상영상데이터(즉, 제2시점의 제2가상영상데이터)가 누락되면, 직적의 가상영상데이터(즉, 제1시점의 제1가상영상데이터)를 이용하여 누락된 영상데이터를 대체하는 보정영상데이터를 생성한다. 또한, 제어부(220)는, 가상영상데이터의 획득위치 또는 영상방향(즉, 영상이 획득된 방향)이 클라이언트(200)의 현재위치 및 클라이언트(200)에 의해 주시되는 방향(즉, 재생방향)과 일치하지 않는 경우에 보정하여 현실공간 상의 정확한 위치에 배치되는 보정영상데이터를 생성한다.
영상출력부(230)는, 상기 가상영상데이터를 상기 결정된 위치를 기반으로 현실공간 상에 표시한다. 예를 들어, 클라이언트(200)가 현실공간을 투명한 디스플레이를 통해 직접 바라보면서 화면상에 표시되는 가상영상데이터를 보는 장치(예를 들어, 글라스형 웨어러블 디바이스)인 경우, 영상출력부(230)는 가상영상데이터 기반으로 생성되는 증강현실컨텐츠를 표시하는 투명한 디스플레이일 수 있다.
도 8은 본 발명의 다른 일실시예에 따른 서버(100)가 클라이언트(200)에 깊이데이터를 포함하는 증강현실영상을 생성하여 제공하는 과정에 대한 순서도이다.
도 8을 참조하면, 본 발명의 또 다른 일실시예에 따른 깊이데이터를 이용한 증강현실영상 제공방법은, 상기 서버(100)가 상기 클라이언트(200)로 특정시점에 제공되는 상기 가상영상데이터의 각 분할단위별 색상데이터를 획득하는 단계(S220); 상기 가상영상데이터의 각 분할단위별 깊이데이터를 획득하여 저장하는 단계(S240); 및 상기 서버(100)가 상기 색상데이터 및 상기 깊이데이터를 동기화하여 상기 클라이언트(200)로 전송하는 단계(S260);를 포함한다.
서버(100)는 클라이언트(200)로 제공할 가상영상데이터를 생성한다. 가상영상데이터는 복수의 분할단위를 포함하고, 각 분할단위별로 색상데이터와 깊이데이터를 포함한다. 상기 분할단위는 영상데이터의 픽셀이 해당될 수 있다. 상기 깊이데이터는, 제2시점의 제2가상영상데이터가 수신되지 않으면 제1시점의 제1가상영상데이터를 기반으로 보정 시에 이용되는 것이고, 상기 제2시점은 상기 제1시점으로부터 가상영상데이터 전송주기가 경과된 시점이다.
서버(100)는 각 분할단위(예를 들어, 픽셀)별 색상데이터와 깊이데이터를 획득한다(S220 및 S240). 서버(100)는 색상데이터와 깊이데이터를 동기화하여 클라이언트(200)로 전송한다(S260). 서버(100)는 동기화된 색상데이터와 깊이데이터를 별도의 채널을 통해 클라이언트(200)로 전송할 수 있다.
또한, 다른 일실시예로, 상기 가상영상데이터는 획득위치데이터 및 영상방향데이터를 더 포함하고, 상기 클라이언트(200)는, 현재위치데이터와 상기 획득위치데이터를 비교하고, 재생방향데이터와 상기 영상방향데이터를 비교하여, 상기 비교결과를 기반으로 상기 가상영상데이터 내의 픽셀의 위치를 조절하는 것을 특징으로 하고, 상기 현재위치데이터 및 상기 재생방향데이터는 상기 클라이언트(200)에서 실시간으로 또는 단위시간마다 획득하는 것이다.
이상에서 전술한 본 발명의 일 실시예에 따른 증강현실영상 제공방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버(100) 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버(100) 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버(100) 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.
첫째, 사용자가 움직임에 따라 증강현실영상이 결합되는 대상체(예를 들어, 마커)의 공간상의 배치가 달라지는 경우, 특정시점에 누락된 영상프레임을 대체할 수 있는 보정영상데이터를 제공하여, 증강현실영상이 현실공간의 정확한 위치에 표시되어 흔들림이 없이 자연스럽게 재생될 수 있다.
둘째, 색상데이터로 이루어진 2차원의 가상영상데이터에 깊이데이터를 결합함에 따라, 2차원의 가상영상데이터를 3차원의 현실공간에 자연스럽게 표시할 수 있다. 즉, 증강현실영상 재생장치가 3차원의 현실공간을 인식하여 2차원 영상의 각 픽셀을 적절한 깊이에 표시함에 따라 3차원 증강현실을 구현하는 효과를 제공한다.
셋째, 가상현실용으로 제작된 가상영상데이터에서 각 픽셀에 적용된 깊이데이터를 기반으로 투명처리 수준을 결정할 수 있어서, 별도의 증강현실영상으로 제작할 필요없이 가상영상데이터 획득 시에 얻어진 깊이데이터를 기반으로 가상현실용 영상을 바로 증강현실용으로 활용할 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 서버 200 : 클라이언트
210 : 가상영상데이터수신부 220 : 제어부
230 : 영상출력부;

Claims (12)

  1. 클라이언트가 증강현실영상을 제공하는 방법에 있어서,
    상기 클라이언트가 서버로부터 가상영상데이터를 수신하되, 상기 가상영상데이터는 색상데이터 및 깊이데이터를 포함하는 것인, 가상영상데이터수신단계;
    상기 클라이언트가 상기 깊이데이터를 기반으로 각각의 픽셀이 현실공간 내에서 표시되어야 하는 위치를 결정하는 표시위치결정단계; 및
    상기 가상영상데이터를 상기 결정된 위치를 기반으로 현실공간 상에 표시하는 가상영상데이터표시단계;를 포함하는, 깊이데이터를 이용한 증강현실영상 제공방법.
  2. 제1항에 있어서,
    상기 깊이데이터는 각 픽셀별로 색상데이터 채널과 구별되는 별도 채널에 포함되는 것이고,
    상기 깊이데이터 및 상기 색상데이터는 동기화되어 전송되는 것을 특징으로 하는, 깊이데이터를 이용한 증강현실영상 제공방법.
  3. 제1항에 있어서,
    상기 가상영상데이터는,
    촬영 또는 생성 시에 각 지점의 깊이데이터를 획득하여 각 픽셀별로 저장된 2차원 이미지인, 깊이데이터를 이용한 증강현실영상 제공방법.
  4. 제1항에 있어서,
    상기 표시위치결정단계는,
    상기 클라이언트가 특정한 깊이를 투명도 조절기준으로 결정하는 단계; 및
    상기 투명도 조절기준을 바탕으로 깊이범위를 구별하여 투명처리여부를 결정하는 단계;를 포함하되,
    상기 투명도 조절기준은 화면 상에 표시될 컨텐츠의 경계선을 설정하는 것인, 깊이데이터를 이용한 증강현실영상 제공방법.
  5. 제4항에 있어서,
    상기 깊이범위는,
    복수의 깊이를 상기 투명도 조절기준으로 설정하여, 상기 복수의 깊이를 기준으로 나누어지는 복수의 영역인, 깊이데이터를 이용한 증강현실영상 제공방법.
  6. 제1항에 있어서,
    상기 가상영상데이터는 획득위치데이터 및 영상방향데이터를 더 포함하고,
    상기 표시위치결정단계는,
    상기 클라이언트에서 획득된 현재위치데이터와 상기 획득위치데이터를 비교하고, 상기 클라이언트에서 획득된 재생방향데이터와 상기 영상방향데이터를 비교하는 단계;
    비교결과를 기반으로 상기 가상영상데이터 내의 픽셀의 위치를 조절하는 단계;를 포함하는, 깊이데이터를 이용한 증강현실영상 제공방법.
  7. 제6항에 있어서,
    상기 표시위치결정단계는,
    상기 클라이언트가 현실공간의 광조사방향을 기반으로 상기 가상영상데이터 내 각 픽셀의 색상 또는 채도를 조절하는 단계;를 더 포함하는, 깊이데이터를 이용한 증강현실영상 제공방법.
  8. 제1항에 있어서,
    상기 클라이언트가 카메라에 의해 획득된 현실영상데이터와 상기 가상영상데이터를 결합한 결합영상데이터를 출력하는 장치인 경우,
    상기 클라이언트가 현실영상데이터를 출력지연시간을 기반으로 보정하는 단계;를 더 포함하되,
    상기 출력지연시간은 상기 현실영상데이터를 촬영한 후 화면상에 출력할 때까지 소요되는 시간인, 깊이데이터를 이용한 증강현실영상 제공방법.
  9. 하드웨어인 컴퓨터와 결합되어, 제1항 내지 제8항 중 어느 한 항의 방법을 실행시키기 위하여 매체에 저장된, 깊이데이터를 이용한 증강현실영상 제공프로그램.
  10. 증강현실영상을 제공하는 장치에 있어서,
    서버로부터 가상영상데이터를 수신하되, 상기 가상영상데이터는 색상데이터 및 깊이데이터를 포함하는 것인, 가상영상데이터수신부;
    상기 깊이데이터를 기반으로 각각의 픽셀이 현실공간 내에서 표시되어야 하는 위치를 결정하는 제어부; 및
    상기 가상영상데이터를 상기 결정된 위치를 기반으로 현실공간 상에 표시하는 영상출력부;를 포함하는, 깊이데이터를 이용한 증강현실영상 제공장치.
  11. 서버가 클라이언트에서 증강현실을 구현하기 위한 가상영상데이터를 생성하는 방법에 있어서,
    상기 서버가 상기 클라이언트로 특정시점에 제공되는 상기 가상영상데이터의 각 픽셀별 색상데이터를 획득하는 단계;
    상기 가상영상데이터의 각 픽셀별 깊이데이터를 획득하여 저장하는 단계; 및
    상기 서버가 상기 색상데이터 및 상기 깊이데이터를 동기화하여 상기 클라이언트로 전송하는 단계;를 포함하되,
    상기 깊이데이터는, 제2시점의 제2가상영상데이터가 수신되지 않으면 제1시점의 제1가상영상데이터를 기반으로 보정 시에 이용되는 것이고,
    상기 제2시점은 상기 제1시점으로부터 가상영상데이터 전송주기가 경과된 시점인, 깊이데이터를 이용한 증강현실영상 제공방법.
  12. 제11항에 있어서,
    상기 가상영상데이터는 획득위치데이터 및 영상방향데이터를 더 포함하고,
    상기 클라이언트는,
    현재위치데이터와 상기 획득위치데이터를 비교하고, 재생방향데이터와 상기 영상방향데이터를 비교하여, 비교결과를 기반으로 상기 가상영상데이터 내의 픽셀의 위치를 조절하는 것을 특징으로 하고,
    상기 현재위치데이터 및 상기 재생방향데이터는 상기 클라이언트에서 실시간으로 또는 단위시간마다 획득하는 것인, 깊이데이터를 이용한 증강현실영상 제공방법.
KR1020170163867A 2017-12-01 2017-12-01 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램 KR102022980B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020170163867A KR102022980B1 (ko) 2017-12-01 2017-12-01 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램
EP18883005.3A EP3719757A1 (en) 2017-12-01 2018-11-28 Method and program for providing augmented reality image by using depth data
PCT/KR2018/014882 WO2019107942A1 (ko) 2017-12-01 2018-11-28 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램
JP2020549532A JP7110378B2 (ja) 2017-12-01 2018-11-28 深度データを用いた拡張現実画像提供方法及びプログラム
CN201880088394.7A CN111670464B (zh) 2017-12-01 2018-11-28 利用深度数据的增强现实影像提供方法以及程序
KR1020190111832A KR102291682B1 (ko) 2017-12-01 2019-09-10 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램
US16/887,451 US11328487B2 (en) 2017-12-01 2020-05-29 Method and program for providing augmented reality image by using depth data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170163867A KR102022980B1 (ko) 2017-12-01 2017-12-01 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190111832A Division KR102291682B1 (ko) 2017-12-01 2019-09-10 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램

Publications (2)

Publication Number Publication Date
KR20190064735A true KR20190064735A (ko) 2019-06-11
KR102022980B1 KR102022980B1 (ko) 2019-09-19

Family

ID=66665198

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170163867A KR102022980B1 (ko) 2017-12-01 2017-12-01 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램

Country Status (6)

Country Link
US (1) US11328487B2 (ko)
EP (1) EP3719757A1 (ko)
JP (1) JP7110378B2 (ko)
KR (1) KR102022980B1 (ko)
CN (1) CN111670464B (ko)
WO (1) WO2019107942A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906467A (zh) * 2021-01-15 2021-06-04 深圳市慧鲤科技有限公司 合影图像生成方法及装置、电子设备和存储介质
CN115314696A (zh) * 2021-05-08 2022-11-08 中国移动通信有限公司研究院 一种图像信息的处理方法、装置、服务器及终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160034513A (ko) * 2014-09-19 2016-03-30 한국전자통신연구원 Rgb-d 영상을 이용한 실감형 증강현실 구현 장치 및 방법
KR101724360B1 (ko) * 2016-06-30 2017-04-07 재단법인 실감교류인체감응솔루션연구단 혼합현실 디스플레이 장치

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3450704B2 (ja) * 1997-09-01 2003-09-29 キヤノン株式会社 位置姿勢検出装置及び情報処理方法
JP4412380B2 (ja) * 2007-10-02 2010-02-10 アイシン・エィ・ダブリュ株式会社 運転支援装置、運転支援方法及びコンピュータプログラム
US10043304B2 (en) * 2008-09-25 2018-08-07 Koninklijke Philips N.V. Three dimensional image data processing
KR20110107545A (ko) * 2010-03-25 2011-10-04 에스케이텔레콤 주식회사 광원 인식을 이용한 증강현실 시스템 및 그 방법과, 이를 구현하기 위한 증강현실 처리 장치
EP2670130B1 (en) * 2012-06-01 2019-03-27 Alcatel Lucent Method and apparatus for mixing a first video signal and a second video signal
JP6131950B2 (ja) 2012-06-12 2017-05-24 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
KR101984915B1 (ko) * 2012-12-03 2019-09-03 삼성전자주식회사 증강 현실 컨텐츠 운용 방법 및 이를 지원하는 단말기와 시스템
JP2014116878A (ja) * 2012-12-12 2014-06-26 Olympus Imaging Corp 撮像装置および撮像方法
US20150002734A1 (en) * 2013-07-01 2015-01-01 Motorola Mobility Llc Electronic Device with Modulated Light Flash Operation for Rolling Shutter Image Sensor
TWI649675B (zh) 2013-03-28 2019-02-01 新力股份有限公司 Display device
US9818224B1 (en) * 2013-06-20 2017-11-14 Amazon Technologies, Inc. Augmented reality images based on color and depth information
KR101716326B1 (ko) * 2015-09-08 2017-03-14 클릭트 주식회사 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
KR101788545B1 (ko) * 2017-03-06 2017-10-20 클릭트 주식회사 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
GB2565140A (en) * 2017-08-04 2019-02-06 Nokia Technologies Oy Virtual reality video processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160034513A (ko) * 2014-09-19 2016-03-30 한국전자통신연구원 Rgb-d 영상을 이용한 실감형 증강현실 구현 장치 및 방법
KR101724360B1 (ko) * 2016-06-30 2017-04-07 재단법인 실감교류인체감응솔루션연구단 혼합현실 디스플레이 장치

Also Published As

Publication number Publication date
US20200334911A1 (en) 2020-10-22
JP2021510442A (ja) 2021-04-22
KR102022980B1 (ko) 2019-09-19
US11328487B2 (en) 2022-05-10
WO2019107942A1 (ko) 2019-06-06
JP7110378B2 (ja) 2022-08-01
EP3719757A1 (en) 2020-10-07
CN111670464B (zh) 2024-02-20
CN111670464A (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
CN108139803B (zh) 用于动态显示器配置的自动校准的方法及系统
US11689709B2 (en) Method and system for near-eye focal plane overlays for 3D perception of content on 2D displays
CN106157359B (zh) 一种虚拟场景体验系统的设计方法
CN110869980B (zh) 将内容分发和呈现为球形视频和3d资产组合
EP3097542B1 (en) Creating a realistic color for a virtual object in an augmented reality environment
KR20190140946A (ko) 가상 현실 비디오에서 시간 지정 텍스트 및 그래픽을 렌더링하는 방법 및 장치
US10970931B2 (en) Method for transmitting virtual reality image created based on image direction data, and computer readable medium storing program using the same
JP2020030864A (ja) 画像処理装置
JP2020522926A (ja) 取り込まれた2d風景画像を使用して仮想現実コンテンツを提供するための方法およびシステム
US20120075291A1 (en) Display apparatus and method for processing image applied to the same
US11328487B2 (en) Method and program for providing augmented reality image by using depth data
KR101788545B1 (ko) 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
US11727321B2 (en) Method for rendering of augmented reality content in combination with external display
CN114080582A (zh) 用于稀疏分布式渲染的系统和方法
KR102291682B1 (ko) 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램
KR102061812B1 (ko) Vr 컨텐츠 제작 방법
US11418723B1 (en) Increasing dynamic range of a virtual production display
US20230056459A1 (en) Image processing device, method of generating 3d model, learning method, and program
TW202411936A (zh) 利用深度數據的增強現實影像提供方法以及程式
WO2018173445A1 (ja) 情報処理装置、情報処理方法、情報処理システム、及びプログラム
US20210297649A1 (en) Image data output device, content creation device, content reproduction device, image data output method, content creation method, and content reproduction method
CN118158376A (zh) 用于近眼焦平面覆盖层的方法和系统
WO2023049293A1 (en) Augmented reality and screen image rendering coordination

Legal Events

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