KR102489927B1 - 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법 및 장치 - Google Patents

증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법 및 장치 Download PDF

Info

Publication number
KR102489927B1
KR102489927B1 KR1020210111237A KR20210111237A KR102489927B1 KR 102489927 B1 KR102489927 B1 KR 102489927B1 KR 1020210111237 A KR1020210111237 A KR 1020210111237A KR 20210111237 A KR20210111237 A KR 20210111237A KR 102489927 B1 KR102489927 B1 KR 102489927B1
Authority
KR
South Korea
Prior art keywords
entity
feature data
uri
engine
augmented reality
Prior art date
Application number
KR1020210111237A
Other languages
English (en)
Other versions
KR20220106661A (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 CN202111610866.0A priority Critical patent/CN114782655A/zh
Priority to US17/565,455 priority patent/US11880948B2/en
Publication of KR20220106661A publication Critical patent/KR20220106661A/ko
Application granted granted Critical
Publication of KR102489927B1 publication Critical patent/KR102489927B1/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
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments

Abstract

증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법 및 장치에 관한 것으로, 엔터티의 네임과 AR 엔진의 네임의 조합으로부터 엔터티의 피처 데이터에 대한 URI를 생성하고, 이 URI를 이용하여 엔터티의 특징을 AR 엔진에서 처리 가능한 포맷으로 나타낸 엔터티의 피처 데이터를 획득하고, 이와 같이 획득된 피처 데이터를 기반으로 AR 엔진을 실행함으로써 증강현실 공간에서의 엔터티의 추적을 수행할 수 있음에 따라 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적이 가능하게 된다.

Description

증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법 및 장치 {Method and Apparatus for entity tracking based on feature data independent of augmented reality engine}
증강현실 공간에서 엔터티를 추적하는 방법 및 장치에 관한 것이다.
증강현실(AR : Augmented Reality)은 현실 공간의 이미지에 가상 이미지를 오버랩하여 하나의 이미지로 보여주는 기술로, 현실 공간에 대응되는 증강현실 공간에는 가상 이미지가 오버랩되어 표시되어야 할 적어도 하나의 엔터티가 존재한다. 현실 공간에서의 엔터티의 움직임이 증강현실 공간에 반영되어야 하기 때문에 엔터티 추적 기술은 증강현실 어플리케이션이 제공하는 대표적인 기술이다. 이러한 엔터티 추적은 증강현실 어플리케이션이 호출하여 사용하는 증강현실 엔진에 의해 수행된다. 이하에서는 증강현실 엔진을 간략하게 "AR 엔진"으로 호칭하기로 한다.
엔터티 추적 기술은 2차원 이미지를 추적하는 기술과 3차원 객체를 추적하는 기술로 분류될 수 있다. 엔터티가 2차원 이미지에 해당하는 경우, AR 엔진은 2차원 이미지로부터 그 2차원 이미지의 특징을 나타내는 피처 데이터를 생성하고 피처 데이터를 이용하여 증강현실 공간에서 엔터티를 추적하게 된다. 엔터티가 3차원 객체에 해당하는 경우, AR 엔진은 3차원 객체를 나타내는 복수의 이미지로부터 그 3차원 객체의 특징을 나타내는 피처 데이터를 생성하고 피처 데이터를 이용하여 증강현실 공간에서 엔터티를 추적하게 된다. 이와 같이, 2차원 이미지 추적 또는 3차원 객체 추적인지에 따라 피처 데이터를 생성하는 알고리즘이 달라지게 된다.
증강현실 어플리케이션은 네이티브(native) 어플리케이션과 웹(web) 어플리케이션으로 분류된다. 네이티브 어플리케이션은 구글 컴퍼니의 안드로이드, iOS 등과 같은 플랫폼에서 제공하는 SDK(Software Development Kit)를 기반으로 개발된 어플리케이션으로 그 SDK가 지원하는 플랫폼에서만 실행 가능하다. 웹 어플리케이션은 HTML(Hypertext Markup Language), CSS(Client Side Script), JS(Java Script) 등과 같은 웹 언어로 작성된 어플리케이션으로 안드로이드, iOS 둘 다에서 실행 가능하다.
이러한 여러 종류의 증강현실 어플리케이션은 서로 다른 AR 엔진을 사용하고 있고, AR 엔진마다 그것이 사용하는 피처 데이터의 포맷이 다르기 때문에 각 증강현실 어플리케이션은 그것이 사용하는 AR 엔진에 적합한 포맷의 피처 데이터를 생성하여야 한다. 이에 따라, 종래의 증강현실 어플리케이션은 증강현실 엔진에 종속적인 피처 데이터 생성 알고리즘을 포함하고 있다.
AR 엔진 별로 피처 데이터를 생성하는 알고리즘, 피처 매칭 알고리즘이 다르기 때문에 어떤 AR 엔진이 다른 AR 엔진에 비해 2차원 이미지에 대한 뛰어난 추적 성능을 보이거나 엔터티의 특정 형상에 대해 뛰어난 추적 성능을 보이는 반면, 3차원 객체 등 엔터티의 다른 타입 및 형상에 대해서는 낮은 추적 성능을 보일 수 있다. 이에 따라, 여러 타입의 AR 엔진을 사용하는 증강현실 어플리케이션에 대한 개발이 시도되고 있으나 증강현실 어플리케이션은 그것이 사용하는 모든 AR 엔진에 대한 복수의 피처 데이터 생성 알고리즘을 포함하고 있어야 함에 따라 증강현실 어플리케이션의 개발이 점점 더 어려워지고, 증강현실 어플리케이션의 사이즈가 증가된다는 문제가 있었다.
증강현실 엔진에 종속적인 피처 데이터 생성 알고리즘을 사용하지 않고, 증강현실 엔진에 독립적으로 피처 데이터를 획득하여 AR 엔진을 실행함으로써 증강현실 공간에서의 엔터티의 추적을 수행할 수 있는 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법 및 장치를 제공하는 데에 있다. 또한, 상기된 엔터티 추적 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 데에 있다. 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 설명으로부터 또 다른 기술적 과제가 도출될 수도 있다.
본 발명의 일 측면에 따른 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법은 제 1 엔터티의 네임과 제 1 AR 엔진의 네임의 조합으로부터 상기 제 1 엔터티의 피처 데이터에 대한 URI(Uniform Resource Identifier)를 생성하는 단계; 상기 제 1 엔터티의 피처 데이터에 대한 URI를 이용하여 상기 제 1 엔터티의 특징을 상기 제 1 AR 엔진에서 처리 가능한 포맷으로 나타낸 제 1 엔터티의 피처 데이터를 획득하는 단계; 및 상기 획득된 제 1 엔터티의 피처 데이터를 기반으로 상기 제 1 AR 엔진을 실행함으로써 증강현실 공간에서의 상기 제 1 엔터티의 추적을 수행하는 단계를 포함한다.
상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 단계는 리소스 서버의 호스트 네임, 상기 제 1 엔터티의 네임, 및 상기 제 1 AR 엔진의 네임의 조합으로부터 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하고, 상기 제 1 엔터티의 피처 데이터를 획득하는 단계는 상기 제 1 엔터티의 피처 데이터에 대한 URI를 이용하여 상기 제 1 엔터티의 피처 데이터에 대한 URI의 호스트에 해당하는 리소스 서버에 상기 제 1 엔터티의 피처 데이터를 요청함으로써 상기 리소스 서버로부터 상기 제 1 엔터티의 피처 데이터를 획득할 수 있다.
상기 엔터티 추적 방법은 상기 리소스 서버의 호스트 네임과 상기 제 1 엔터티의 네임의 조합으로부터 상기 제 1 엔터티의 URI를 생성하는 단계; 및 상기 복수 타입의 AR 엔진 중에서 상기 제 1 엔터티의 추적에 사용될 제 1 AR 엔진을 검출하는 단계를 더 포함하고, 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 단계는 상기 생성된 제 1 엔터티의 URI에 상기 검출된 제 1 AR 엔진의 네임을 부가함으로써 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성할 수 있다.
상기 엔터티 추적 방법은 상기 제 1 엔터티에 대해 상기 제 1 AR 엔진이 사용하고자 하는 엔터티 추적 방법을 검출하는 단계를 더 포함하고, 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 단계는 상기 생성된 제 1 엔터티의 URI에 상기 검출된 제 1 AR 엔진의 네임과 상기 검출된 엔터티 추적 방법의 네임을 부가함으로써 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성할 수 있다.
상기 엔터티 추적 방법을 검출하는 단계는 상기 제 1 엔터티가 2차원 이미지 또는 3차원 객체 중 어느 것에 해당되는가에 따라 상기 제 1 엔터티에 대해 상기 제 1 AR 엔진이 사용하고자 하는 엔터티 추적 방법을 검출할 수 있다.
상기 엔터티 추적 방법은 증강현실 컨텐츠로부터 상기 증강현실 컨텐츠가 나타내는 증강현실 공간에서의 적어도 하나의 엔터티를 검출하는 단계를 더 포함하고, 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 단계는 상기 검출된 적어도 하나의 엔터티 중 상기 제 1 엔터티의 네임, 및 상기 제 1 AR 엔진의 네임의 조합으로부터 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성할 수 있다.
상기 엔터티 추적 방법은 제 2 엔터티의 네임과 제 2 AR 엔진의 네임의 조합으로부터 상기 제 2 엔터티의 피처 데이터에 대한 URI를 생성하는 단계; 상기 제 2 엔터티의 피처 데이터에 대한 URI를 이용하여 상기 제 2 엔터티의 특징을 상기 제 2 AR 엔진에서 처리 가능한 포맷으로 나타낸 제 2 엔터티의 피처 데이터를 획득하는 단계; 및 상기 획득된 제 2 엔터티의 피처 데이터를 기반으로 상기 제 2 AR 엔진을 실행함으로써 증강현실 공간에서 상기 제 2 엔터티의 추적을 수행하는 단계를 포함할 수 있다.
상기 엔터티 추적 방법은 상기 제 1 AR 엔진이 상기 제 1 엔터티의 추적을 위해 상기 제 1 엔터티의 피처 데이터 또는 원본 이미지 중 어느 것을 필요로 하는가를 확인하는 단계를 더 포함하고, 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 단계는 상기 제 1 AR 엔진이 상기 제 1 엔터티의 피처 데이터를 필요로 하는 것으로 확인되면, 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성할 수 있다.
상기 엔터티 추적 방법은 상기 제 1 AR 엔진이 상기 제 1 엔터티의 원본 이미지를 필요로 하는 것으로 확인되면, 리소스 서버의 호스트 네임과 상기 제 1 엔터티의 네임의 조합으로부터 상기 제 1 엔터티의 원본 이미지에 대한 URI를 생성하는 단계; 상기 제 1 엔터티의 원본 이미지에 대한 URI를 이용하여 상기 제 1 엔터티의 원본 이미지를 획득하는 단계; 및 상기 획득된 제 1 엔터티의 원본 이미지를 기반으로 상기 제 1 AR 엔진을 실행함으로써 상기 증강현실 공간에서 상기 제 1 엔터티의 추적을 수행하는 단계를 더 포함할 수 있다.
본 발명의 다른 측면에 따라 상기 엔터티 추적 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.
본 발명의 또 다른 측면에 따른 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 장치는 제 1 엔터티의 네임과 제 1 AR 엔진의 네임의 조합으로부터 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 URI 처리부; 및 상기 제 1 엔터티의 피처 데이터에 대한 URI를 이용하여 상기 제 1 엔터티의 특징을 상기 제 1 AR 엔진에서 처리 가능한 포맷으로 나타낸 제 1 엔터티의 피처 데이터를 획득하고, 상기 획득된 제 1 엔터티의 피처 데이터를 기반으로 상기 제 1 AR 엔진을 실행함으로써 증강현실 공간에서 상기 제 1 엔터티의 추적을 수행하는 AR 처리부를 포함한다.
엔터티의 네임과 AR 엔진의 네임의 조합으로부터 엔터티의 피처 데이터에 대한 URI를 생성하고, 이 URI를 이용하여 엔터티의 특징을 AR 엔진에서 처리 가능한 포맷으로 나타낸 엔터티의 피처 데이터를 획득하고, 이와 같이 획득된 피처 데이터를 기반으로 AR 엔진을 실행함으로써 증강현실 공간에서의 엔터티의 추적을 수행할 수 있음에 따라 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적이 가능하게 된다.
이와 같이, 증강현실 엔진에 독립적으로 URI를 이용하여 엔터티의 피처 데이터를 획득하고, 그 피처 데이터를 기반으로 AR 엔진을 실행함으로써 증강현실 공간에서의 엔터티의 추적을 수행할 수 있음에 따라 증강현실 어플리케이션은 증강현실 엔진에 종속적인 피처 데이터 생성 알고리즘을 포함할 필요가 없게 된다. 즉, 증강현실 어플리케이션은 증강현실 엔진에 독립적인 피처 데이터 획득 알고리즘을 포함하고 있기 때문에 증강현실 엔진에 종속적인 피처 데이터 생성 알고리즘을 포함할 필요가 없게 된다.
증강현실 어플리케이션이 복수의 AR 엔진을 사용할 경우에 AR 엔진 별로 엔터티의 원본 이미지로부터 피처 데이터를 생성하는 여러 알고리즘을 포함할 필요가 없게 되어 효율적인 증강현실 어플리케이션의 개발이 가능하게 된다. 본 발명에 따른 증강현실 공간에서의 엔터티 추적은 엔터티의 피처 데이터에 대한 URI를 이용하여 엔터티의 피처 데이터를 획득하고, 그 피처 데이터를 기반으로 AR 엔진을 호출하여 실행하는 것만으로 이루어질 수 있기 때문에 AR 엔진에 종속적인 피처 데이터 생성 알고리즘을 포함하지 않는 범용적인 증강현실 어플리케이션의 제공이 가능하게 된다.
증강현실 어플리케이션이 AR 엔진 별로 피처 데이터 생성 알고리즘을 포함할 필요가 없게 됨에 따라 증강현실 어플리케이션의 사이즈가 감소되어 증강현실 어플리케이션 개발에 요구되는 작업량이 감소될 수 있다. 어떤 증강현실 어플리케이션을 개발할 경우, 기존 증강현실 어플리케이션에서 엔터티의 피처 데이터에 대한 URI를 이용하여 엔터티의 피처 데이터를 획득하는 알고리즘 등 대부분의 알고리즘을 그대로 재사용할 수 있게 되어 증강현실 어플리케이션의 개발이 매우 용이해진다.
도 1은 본 발명의 일 실시예에 따른 AR 클라이언트(1)의 구성도이다.
도 2는 2차원 이미지에 대한 피처 데이터의 일례를 도시한 도면이다.
도 3은 3차원 객체에 대한 피처 데이터의 일례를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 엔터티 추적 방법의 흐름도이다.
도 5는 도 1에 도시된 AR 클라이언트(1)의 피처 데이터 획득 과정의 일례를 도시한 도면이다.
도 6은 본 발명의 다른 실시예에 따른 복수의 증강현실 어플리케이션의 실행 예를 도시한 도면이다.
도 7은 도 1에 도시된 리소스 서버(2)에 저장되어 있는 URI 테이블의 일례를 도시한 도면이다.
이하에서는 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 이하에서 설명되는 본 발명의 실시예는 증강현실 엔진에 종속적인 피처 데이터 생성 알고리즘을 사용하지 않고, 증강현실 엔진에 독립적으로 피처 데이터를 획득하여 AR 엔진을 실행함으로써 증강현실 공간에서의 엔터티의 추적을 수행할 수 있는 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법 및 장치에 관한 것이다.
이하에서 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법 은 간략하게 "엔터티 추적 방법"으로 호칭될 수 있고, 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 장치는 간략하게 "엔터티 추적 장치" 또는 "AR 클라이언트"로 호칭될 수 있다. 이하에서 "증강현실(Augmented Reality)" 용어는 간략하게 "AR"로 호칭될 수 있고 "URI"는 "Uniform Resource Identifier"의 약어이다.
도 1은 본 발명의 일 실시예에 따른 AR 클라이언트(1)의 구성도이다. 도 1을 참조하면, 본 실시예에 따른 AR 클라이언트(1)는 메인프로세서(11), AR 처리부(12), URI 처리부(13), 통신모듈(14), 입력모듈(15), 출력모듈(16), 카메라모듈(17), 센서모듈(18), 스토리지(19), 및 버스(20)로 구성된다. 본 실시예에 따른 AR 클라이언트(1)는 증강현실 공간에 존재하는 적어도 하나의 엔터티를 추적하고 이와 같이 추적된 엔터티에 가상 이미지를 오버랩하여 표시한다. 따라서, 본 실시예에 따른 AR 클라이언트(1)는 엔터티 추적 장치로 호칭될 수도 있다.
메인프로세서(11)는 어떤 어플리케이션을 실행하고, 그 어플리케이션의 프로그램 코드에 따라 AR 처리부(12), URI 처리부(13), 입력모듈(15), 출력모듈(16), 통신모듈(14), 카메라모듈(17), 센서모듈(18)을 제어하고, 스토리지(19)로부터 데이터를 읽거나 스토리지(19)에 데이터를 저장한다. 특히, 본 실시예의 메인프로세서(11)는 이하에서 설명되는 증강현실 어플리케이션을 실행한다. 메인프로세서(11)의 예로는 CPU(Central Processing Unit), AP(Application Processor) 등을 들 수 있다.
AR 처리부(12)는 증강현실 어플리케이션의 실행에 따라 증강현실 컨텐츠를 획득, 해석, 렌더링한다. URI 처리부(13)는 증강현실 어플리케이션의 실행에 따라 각 엔터티별 URI, 어떤 엔터티의 피처 데이터에 대한 URI, 및 어떤 엔터티의 원본 이미지에 대한 URI를 생성한다. 본 실시예에서 어떤 엔터티의 원본 이미지는 그 엔터티의 2차원 이미지 또는 3차원 이미지를 나타내는 데이터를 의미한다. AR 처리부(12), URI 처리부(13)는 증강현실 어플리케이션의 실행에 따라 동작하는 프로세서로서 메인프로세서(11)와 물리적으로 동일한 프로세서일 수도 있고, GPU(Graphics Processing Unit) 등과 같이 메인프로세서(11)에 의해 사용되는 별개의 전용 프로세서일 수도 있다.
통신모듈(14)은 인터넷 등과 같은 네트워크를 통하여 리소스 서버(2) 또는 다른 서버와의 통신을 수행한다. 통신모듈(14)은 LTE(Long Term Evolution), 와이파이(WiFi) 등 다양한 통신 방식에 따라 리소스 서버(2) 또는 다른 서버와의 통신을 수행할 수 있다. 입력모듈(15)은 사용자의 명령, 선택, 정보 등을 입력받는다. 입력모듈(15)의 예로는 터치패널, 키보드, 마우스 등을 예로 들 수 있다. 출력모듈(16)은 디스플레이패널과 같은 이미지출력장치와 스피커와 같은 오디오출력장치의 조합으로 구성되어 사용자에게 시청각적인 출력을 제공한다.
카메라모듈(17)은 AR 클라이언트(1)가 현재 위치하고 있는 공간을 촬영함으로써 현실 공간의 이미지를 생성한다. 센서모듈(18)은 AR 클라이언트(1)에 내장된 자이로스코프(gyroscope), 가속도계(accelerometer), GPS(Global Positioning System) 센서 등을 이용하여 AR 클라이언트(1)의 현재 위치와 자세를 검출함으로써 AR 클라이언트(1)의 현재 위치와 자세 정보를 생성한다. AR 클라이언트(1)의 위치 정보는 3차원 좌표계에 해당하는 증강현실 공간에서의 x, y, z의 3차원 좌표값으로 표현될 수 있다. AR 클라이언트(1)의 자세 정보는 x축 방향의 회전 각도를 나타내는 롤(roll) 값, y축 방향의 회전 각도를 나타내는 피치(pitch) 값, z축 방향의 회전 각도를 나타내는 요(yaw) 값으로 표현될 수 있다.
스토리지(19)에는 증강현실 어플리케이션과 이것의 실행 과정에서 사용되는 데이터 등이 저장된다. 도 1에 도시된 예에 따르면, 스토리지(19)에는 증강현실 어플리케이션 A, AR 엔진 A, AR 엔진 B, 증강현실 컨텐츠 등이 저장된다. 각 AR 엔진은 증강현실 어플리케이션에 의해 호출되어 엔터티 추적을 수행하는 함수 프로그램이다. 버스(20)는 메인프로세서(11), AR 처리부(12), URI 처리부(13) 등 상기된 여러 구성요소간에 데이터를 전달하는 역할을 한다.
리소스 서버(2)는 URI 체계를 이용하여 복수의 엔터티, 복수의 AR 엔진, 복수의 엔터티 추적 방법 별로 계층화되어 저장된 피처데이터의 데이터베이스를 보유하고 있으며, 어떤 URI를 수신하면 그것에 해당하는 피처 데이터를 제공한다.
도 2는 2차원 이미지에 대한 피처 데이터의 일례를 도시한 도면이다. 도 2의 (a)에는 어떤 주택의 2차원 이미지가 도시되어 있고, 도 2의 (b)에는 도 2의 (a)에 도시된 2차원 이미지에 대한 피처 데이터가 도시되어 있다. 도 2의 (b)에 표시된 십자점들이 도 2의 (a)에 도시된 2차원 이미지의 특징 점들에 해당한다. 2차원 이미지에 대한 피처 데이터는 이러한 특징 점들을 나타내는 바이너리 데이터이다. 도 2의 (b)는 2차원 이미지의 피처 데이터에 대한 이해를 돕기 위해 이러한 바이너리 데이터를 시각화하여 나타낸 것이다. 각 AR 엔진은 카메라모듈(17)로부터 연속적으로 입력되는 복수의 현실공간 이미지 각각에서 2차원 이미지의 피처 데이터에 해당하는 부분을 검출하고, 복수의 현실공간 이미지가 나타내는 현실 공간에서의 검출 부분의 변화 추이로부터 현실 공간에 대응되는 증강현실 공간에서의 각 엔터티를 추적할 수 있다.
도 3은 3차원 객체에 대한 피처 데이터의 일례를 도시한 도면이다. 도 3의 (a)에는 3차원 객체에 해당하는 고양이 인형의 복수의 2차원 이미지 중 어느 하나가 도시되어 있다. 3차원 객체를 표현하기 위해서는 다양한 각도에서 촬영된 고양이 인형의 복수의 2차원 이미지가 요구된다. 도 3의 (b)에는 고양이 인형의 복수의 2차원 이미지로부터 생성된 피처 데이터가 도시되어 있다. 도 3의 (b)에 표시된 3차원 좌표계의 점들이 3차원 객체에 해당하는 고양이 인형의 특징 점들에 해당한다. 3차원 객체에 대한 피처 데이터는 이러한 특징 점들을 나타내는 바이너리 데이터이다. 도 3의 (b)는 3차원 객체의 피처 데이터에 대한 이해를 돕기 위해 이러한 바이너리 데이터를 시각화하여 나타낸 것이다. 각 AR 엔진은 카메라모듈(17)로부터 연속적으로 입력되는 복수의 현실공간 이미지 각각에서 3차원 객체의 피처 데이터에 해당하는 부분을 검출하고, 복수의 현실공간 이미지가 나타내는 현실 공간에서의 검출 부분의 변화 추이로부터 현실 공간에 대응되는 증강현실 공간에서의 각 엔터티를 추적할 수 있다.
도 4는 본 발명의 일 실시예에 따른 엔터티 추적 방법의 흐름도이다. 도 4를 참조하면, 본 실시예에 따른 엔터티 추적 방법은 도 1에 도시된 AR 클라이언트(1)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 AR 클라이언트(1)에 관하여 이상에서 기술된 내용은 이하에서 기술될 엔터티 추적 방법에도 적용된다. 본 실시예에 따른 엔터티 추적 방법은 증강현실 어플리케이션으로 구현될 수 있고, AR 클라이언트(1)의 메인프로세서(11), AR 처리부(12), URI 처리부(13) 등에 의해 실행된다. 이하에서는 도 4를 참조하면서 AR 클라이언트(1)의 메인프로세서(11), AR 처리부(12), URI 처리부(13) 등 각 구성요소에 대해 상세하게 설명하기로 한다.
41 단계에서 AR 클라이언트(1)의 메인프로세서(11)는 입력모듈(15)을 통해 사용자로부터 본 실시예에 따른 증강현실 어플리케이션 A를 실행하라는 명령을 입력받으면, 증강현실 어플리케이션 A를 실행한다. 증강현실 어플리케이션 A는 그것의 실행 전에 리소스 서버(2) 또는 다른 서버로부터 다운로드되어 AR 클라이언트(1)에 설치되어 있다. 증강현실 어플리케이션 A는 리소스 서버(2)가 제공할 수도 있고, 다른 서버가 제공할 수도 있다. 이러한 증강현실 어플리케이션 A는 자바(java) 등과 같은 컴퓨터 프로그래밍 언어로 작성될 수 있다. 이하의 단계들은 증강현실 어플리케이션 A의 실행에 따라 AR 처리부(12), URI 처리부(13)에 의해 수행되는 단계들이다.
42 단계에서 AR 클라이언트(1)의 AR 처리부(12)는 출력모듈(16)을 통해 사용자에게 증강현실 어플리케이션 A가 제공 가능한 여러 종류의 증강현실 컨텐츠에 대한 정보를 표시한다. 사용자는 이와 같이 표시된 정보가 나타내는 여러 종류의 증강현실 컨텐츠 중 사용자가 체험하고 싶은 어느 하나의 증강현실 컨텐츠를 선택한다. AR 처리부(12)는 입력모듈(15)을 통해 증강현실 어플리케이션 A가 제공 가능한 적어도 하나의 증강현실 컨텐츠 중 어느 하나에 대한 사용자 선택 정보를 입력받으면, 사용자 선택 정보가 나타내는 어느 하나의 증강현실 컨텐츠를 통신모듈(14)을 통해 리소스 서버(2) 또는 다른 서버로부터 획득한다. 증강현실 컨텐츠는 리소스 서버(2)가 제공할 수도 있고, 다른 서버가 제공할 수도 있다. 통신모듈(14)은 네트워크를 통하여 리소스 서버(2) 또는 다른 서버에 AR 처리부(12)의 증강현실 컨텐츠 요청을 송신하고, 리소스 서버(2) 또는 다른 서버로부터 증강현실 컨텐츠를 수신하여 AR 처리부(12)로 전달하는 역할을 한다.
43 단계에서 AR 클라이언트(1)의 AR 처리부(12)는 44 단계에서 수신된 증강현실 컨텐츠를 해석함으로써 증강현실 컨텐츠로부터 증강현실 컨텐츠가 나타내는 증강현실 공간에서의 적어도 하나의 엔터티를 검출한다. 증강현실 컨텐츠는 현실 공간의 이미지에 적어도 하나의 가상 이미지가 오버랩되어 표현되는 증강현실 공간의 각 신(scene)을 구조화된 형식으로 나타낸 컨텐츠로서 증강현실 공간에 존재하는 적어도 하나의 엔터티의 정보, 예를 들어 각 엔터티의 네임을 포함하고 있다. 이와 같이, AR 처리부(12)는 증강현실 컨텐츠를 해석함으로써 증강현실 공간에서의 각 엔터티의 네임을 검출할 수 있다.
증강현실 공간에 존재하는 각 엔터티는 각 엔터티에 대응하는 가상 이미지가 오버랩되어 표시되는 요소로서 2차원 이미지 또는 3차원 객체로 분류될 수 있다. 증강현실 공간에 존재하는 각 엔터티는 그것의 현재 위치에 가상 이미지가 표시되기 때문에 그 위치가 추적되어야 한다. 어떤 엔터티가 3차원 객체인 경우, 그것의 현재 자세에 따라 가상 이미지가 달리 표시될 수 있기 때문에 그것의 위치와 함께 자세도 추적될 수도 있다. 본 실시예에서 엔터티의 추적을 수행한다는 것은 엔터티의 위치를 추적하거나 엔터티의 위치와 자세를 추적한다는 것을 의미한다.
이러한 증강현실 컨텐츠는 XML(eXtensible Markup Language) 등과 같은 마크업(markup) 언어로 작성될 수 있다. 본 실시예의 증강현실 컨텐츠는 단일 프레임의 이미지를 나타낼 수도 있고, 복수 프레임의 영상을 나타낼 수도 있다. 본 실시예의 증강현실 컨텐츠는 렌더링 모드에 따라 증강현실 이미지로 표시되거나 가상현실 이미지로 표시되는 혼합현실 컨텐츠일 수도 있다.
44 단계에서 URI 처리부(13)는 리소스 서버(2)의 호스트 네임과 43 단계에서 검출된 각 엔터티의 네임의 조합으로부터 각 엔터티별 URI(Uniform Resource Identifier)를 생성한다. URI 처리부(13)는 리소스 서버(2)의 호스트 네임에 42 단계에서 검출된 각 엔터티의 네임을 부가함으로써 각 엔터티별 URI를 생성할 수 있다. 어떤 현실 공간에 존재하는 주택에 그 주택의 주소를 나타내는 가상 이미지를 오버랩하여 표시하기 위한 증강현실 컨텐츠를 예로 들면, URI 처리부(13)는 리소스 서버(2)의 호스트 네임 "server.com"에 엔터티의 네임 "house"을 부가함으로써 그 엔터티의 URI "http://server.com/house"를 생성할 수 있다.
어떤 현실 공간에 존재하는 고양이 인형의 얼굴에 그 현실 공간의 날씨에 따라 표정 변화를 나타내는 가상 이미지를 오버랩하여 표시하기 위한 증강현실 컨텐츠를 예로 들면, URI 처리부(13)는 리소스 서버(2)의 호스트 네임 "server.com"에 엔터티의 네임 "cat"을 부가함으로써 그 엔터티의 URI "http://server.com/cat"를 생성할 수 있다. 리소스 서버(2)의 호스트 네임 "server.com"은 증강현실 어플리케이션에 포함되어 있을 수 있고, 증강현실 컨텐츠에 포함되어 있을 수도 있다.
45 단계에서 AR 처리부(12)는 복수 타입의 AR 엔진 중에서 41 단계에서 검출된 각 엔터티의 추적에 사용될 AR 엔진을 검출한다. AR 처리부(12)는 증강현실 어플리케이션 A의 설정 정보 또는 43 단계에서의 증강현실 컨텐츠의 해석 결과로부터 엔터티의 추적에 사용될 AR 엔진의 네임을 검출할 수 있다. 증강현실 컨텐츠는 그것이 나타내는 증강현실 공간에서 존재하는 각 엔터티의 추적에 가장 적합한 AR 엔진의 네임을 포함하고 있을 수 있다. 증강현실 어플리케이션 A는 사용자가 복수 타입의 AR 엔진 중 어느 하나를 선택할 수 있도록 설계될 수 있다. 이 경우, 사용자는 증강현실 어플리케이션 A의 실행 환경을 설정하는 과정에서 복수 타입의 AR 엔진 중 어느 하나를 선택할 수 있다.
46 단계에서 AR 처리부(12)는 45 단계에서 검출된 AR 엔진의 속성에 기초하여 45 단계에서 검출된 AR 엔진이 43 단계에서 검출된 엔터티의 추적을 위해 그 엔터티의 피처 데이터와 원본 이미지 중 어느 것을 필요로 하는가를 확인한다. 46 단계에서 AR 엔진이 엔터티의 피처 데이터를 필요로 하는 것으로 확인되면 47 단계로 진행된다. 46 단계에서 AR 엔진이 엔터티의 원본 이미지를 필요로 하는 것으로 확인되면 410 단계로 진행된다. 예를 들어, AR 엔진 A의 속성이 2차원 이미지를 추적하기 전에 2차원 이미지로부터 그것의 피처 데이터를 생성하는 과정을 항상 수행하도록 설정되어 있다면 AR 엔진 A는 그 피처 데이터가 아닌, 2차원 이미지 데이터를 필요로 한다.
47 단계에서 AR 처리부(12)는 43 단계에서 검출된 각 엔터티에 대해 45 단계에서 검출된 AR 엔진이 사용하고자 하는 엔터티 추적 방법을 검출한다. 보다 상세하게 설명하면, AR 처리부(12)는 43 단계에서 검출된 각 엔터티가 2차원 이미지 또는 3차원 객체 중 어느 것에 해당되는가에 따라 43 단계에서 검출된 각 엔터티에 대해 45 단계에서 검출된 AR 엔진이 사용하고자 하는 엔터티 추적 방법을 검출할 수 있다. 증강현실 공간에서의 2차원 이미지 추적 방법과 3차원 객체 추적 방법은 2차원 이미지와 3차원 객체간의 데이터 포맷이 다름에 따라 서로 다르게 된다.
48 단계에서 URI 처리부(13)는 44 단계에서 생성된 각 엔터티별 URI에 45 단계에서 검출된 AR 엔진의 네임과 47 단계에서 검출된 엔터티 추적 방법의 네임을 부가함으로써 43 단계에서 검출된 각 엔터티의 피처 데이터에 대한 URI를 생성한다. 이와 같이, URI 처리부(13)는 리소스 서버(2)의 호스트 네임, 43 단계에서 검출된 각 엔터티의 네임, 45 단계에서 검출된 AR 엔진의 네임, 및 47 단계에서 검출된 엔터티 추적 방법의 네임의 조합으로부터 43 단계에서 검출된 각 엔터티의 피처 데이터에 대한 URI를 생성한다.
도 5는 도 1에 도시된 AR 클라이언트(1)의 피처 데이터 획득 과정의 일례를 도시한 도면이다. 예를 들어, 43 단계에서 검출된 엔터티의 네임이 도 2에 도시된 2차원 이미지의 네임 "house"이고, 45 단계에서 검출된 AR 엔진의 네임이 "AREngineA", 및 47 단계에서 검출된 엔터티 추적 방법의 네임이 "ImageTracking"이라면 도 2에 도시된 2차원 이미지 엔터티의 피처 데이터에 대한 URI는 "http://server.com/house/AREngineA/ImageTracking"가 된다. 예를 들어, 43 단계에서 검출된 엔터티의 네임이 도 3에 도시된 3차원 객체의 네임 "cat"이고, 45 단계에서 검출된 AR 엔진의 네임이 "AREngineB", 및 47 단계에서 검출된 엔터티 추적 방법의 네임이 "ObjectTracking"이라면 도 3에 도시된 3차원 객체 엔터티의 피처 데이터에 대한 URI는 "http://server.com/house/AREngineB/ObjectTracking"이 된다.
AR 처리부(12), URI 처리부(13)는 증강현실 어플리케이션의 실행에 따라 동작하는 프로세서로서 증강현실 어플리케이션의 프로그램 코드에 따라 동작하므로 본 실시예의 이해를 돕기 위해 증강현실 어플리케이션이 URI를 제공하고 피처 데이터를 획득하는 형태로 도시되어 있다.
49 단계에서 AR 처리부(12)는 49 단계에서 생성된 각 엔터티의 피처 데이터에 대한 URI를 이용하여 각 엔터티의 특징을 45 단계에서 검출된 AR 엔진에서 처리 가능한 포맷으로 나타낸 각 엔터티의 피처 데이터를 획득한다. AR 처리부(12)는 49 단계에서 생성된 각 엔터티에 대한 피처 데이터에 대한 URI를 이용하여 그 URI의 호스트에 해당하는 리소스 서버(2)에 접속하여 각 엔터티의 특징을 나타내는 각 엔터티의 피처 데이터를 요청하고, 그 요청에 대한 응답으로서 리소스 서버(2)로부터 각 엔터티의 피처 데이터를 획득하게 된다. 통신모듈(14)은 네트워크를 통하여 리소스 서버(2)에 이러한 AR 처리부(12)의 요청을 송신하고, 리소스 서버(2)로부터 그 요청에 대한 응답을 수신하여 AR 처리부(12)로 전달하는 역할을 한다.
도 5에 도시된 바와 같이, 도 2에 도시된 2차원 이미지 엔터티의 피처 데이터에 대한 URI가 "http://server.com/house/AREngineA/ImageTracking"라면 AR 클라이언트(1)는 이 URI를 이용하여 리소스 서버(2)에 접속하여 리소스 서버(2)로부터 도 2에 도시된 2차원 이미지 엔터티의 피처 데이터를 획득할 수 있다. 도 5에 도시된 바와 같이, 도 3에 도시된 3차원 객체 엔터티의 피처 데이터에 대한 URI가 "http://server.com/house/AREngineB/ObjectTracking"라면 AR 클라이언트(1)는 이 URI를 이용하여 리소스 서버(2)에 접속하여 리소스 서버(2)로부터 도 3에 도시된 3차원 객체 엔터티의 피처 데이터를 획득할 수 있다.
410 단계에서 URI 처리부(13)는 44 단계에서 생성된 각 엔터티별 URI에 "originalImage"를 부가함으로써 43 단계에서 검출된 각 엔터티의 원본 이미지에 대한 URI를 생성한다. 여기에서, 각 엔터티의 원본 이미지는 각 엔터티의 2차원 이미지 또는 3차원 이미지를 나타내는 데이터를 의미한다. 각 엔터티의 피처 데이터는 각 엔터티의 원본 이미지에 비해 데이터 크기가 매우 작기 때문에 엔터티 추적이 효율적으로 이루어질 수 있다.
411 단계에서 AR 처리부(12)는 49 단계에서 생성된 각 엔터티의 원본 이미지에 대한 URI를 이용하여 43 단계에서 검출된 각 엔터티의 원본 이미지를 획득한다. AR 처리부(12)는 49 단계에서 생성된 각 엔터티에 대한 원본 이미지에 대한 URI를 이용하여 리소스 서버(2)에 접속하여 각 엔터티의 원본 이미지를 요청하고, 그 요청에 대한 응답으로서 리소스 서버(2)로부터 각 엔터티의 원본 이미지를 획득하게 된다. 통신모듈(14)은 네트워크를 통하여 리소스 서버(2)에 이러한 AR 처리부(12)의 요청을 송신하고, 리소스 서버(2)로부터 그 요청에 대한 응답을 수신하여 AR 처리부(12)로 전달하는 역할을 한다. 여기에서, 각 엔터티의 원본 이미지는 각 엔터티의 2차원 이미지를 나타내는 데이터를 의미한다.
412 단계에서 AR 처리부(12)는 49 단계에서 획득된 피처 데이터 또는 411 단계에서 획득된 원본 이미지를 기반으로 45 단계에서 검출된 AR 엔진을 실행함으로써 42 단계에서 수신된 증강현실 컨텐츠가 나타내는 증강현실 공간에서 각 엔터티의 추적을 수행한다. 411 단계에서 획득된 원본 이미지를 기반으로 45 단계에서 검출된 AR 엔진이 실행되는 경우, AR 엔진은 그 원본 이미지로부터 그 원본 이미지의 피처 데이터를 생성한다. 증강현실 공간은 AR 클라이언트(1)가 현재 위치하고 있는 현실 공간에서 증강현실 컨텐츠에 의해 가상 이미지를 이용하여 증강되어 표현될 공간을 의미하며, 현실 공간의 전체 또는 일부일 수 있다.
AR 처리부(12)는 카메라모듈(17)로부터 연속적으로 입력되는 복수의 현실공간 이미지 각각에서 각 엔터티의 피처 데이터에 해당하는 부분을 검출하고, 카메라모듈(17)로부터 연속적으로 입력되는 복수의 현실공간 이미지가 나타내는 현실 공간에서의 검출 부분의 위치 변화 추이로부터 증강현실 공간에서의 각 엔터티의 위치를 추적할 수 있다. AR 처리부(12)는 카메라모듈(17)로부터 연속적으로 입력되는 복수의 이미지가 나타내는 현실 공간에서의 검출 부분의 자세 변화 추이로부터 증강현실 공간에서의 각 엔터티의 자세도 추적할 수 있다.
이어서, AR 처리부(12)는 42 단계에서 수신된 증강현실 컨텐츠를 렌더링함으로써 카메라모듈(17)로부터 실시간으로 입력되는 복수의 현실공간 이미지 각각에 대하여 412 단계에서 추적된 각 엔터티의 위치에 각 엔터티의 가상 이미지를 오버랩한 증강현실 이미지를 생성한다. AR 처리부(12)는 복수의 현실공간 이미지 각각에 대하여 412 단계에서 추적된 각 엔터티의 위치와 함께 자세도 참조하여 각 엔터티의 자세 변화에 따라 각 엔터티의 가상 이미지를 회전시켜 오버랩할 수도 있다. 출력모듈(16)은 이와 같이 생성된 증강현실 이미지를 디스플레이한다. 도 4에 도시된 실시예는 엔터티 추적 방법에 관한 것이기 때문에 도 4에는 이 단계가 생략되어 있다.
도 6은 본 발명의 다른 실시예에 따른 복수의 증강현실 어플리케이션의 실행 예를 도시한 도면이다. 도 6에 도시된 예에 따르면, 복수의 증강현실 어플리케이션과 복수 타입의 AR 엔진은 서로 일대일로 대응된다. 다른 예에서는 하나의 증강현실 어플리케이션이 복수 타입의 AR 엔진을 사용할 수도 있고, 또 다른 예에서는 복수의 증강현실 어플리케이션이 한 타입의 AR 엔진을 사용할 수도 있다. 복수의 증강현실 어플리케이션은 하나의 AR 클라이언트(1)에 설치되어 있을 수도 있고, 그 각각이 복수 개의 AR 클라이언트(1) 각각에 설치되어 있을 수도 있다.
증강현실 어플리케이션 A가 실행되어 검출된 엔터티가 "엔터티 A"이고, AR 엔진 A의 속성이 엔터티 A의 피처 데이터를 기반으로 실행되도록 설정되어 있는 경우라면, 41~49, 412 단계가 수행됨으로써 엔터티 A의 추적이 이루어지게 된다. 즉, URI 처리부(13)는 리소스 서버(2)의 호스트 네임, 43 단계에서 검출된 적어도 하나의 엔터티 중 엔터티 A의 네임, 45 단계에서 검출된 AR 엔진 A의 네임, 및 47 단계에서 검출된 엔터티 추적 방법의 네임의 조합으로부터 엔터티 A의 피처 데이터에 대한 URI를 생성한다. 이어서, AR 처리부(12)는 이 URI를 이용하여 엔터티 A의 특징을 AR 엔진 A에서 처리 가능한 포맷으로 나타낸 피처 데이터를 획득한다.
이어서, AR 처리부(12)는 이와 같이 획득된 피처 데이터를 기반으로 AR 엔진 A를 실행함으로써 증강현실 공간에서 엔터티 A의 추적을 수행한다. AR 처리부(12), URI 처리부(13)는 증강현실 어플리케이션의 실행에 따라 동작하는 프로세서로서 증강현실 어플리케이션의 프로그램 코드에 따라 동작하므로 본 실시예의 이해를 돕기 위해 증강현실 어플리케이션이 URI를 제공하고 피처 데이터를 획득하는 형태로 도시되어 있다.
상술한 바와 같이, 각 AR 엔진은 증강현실 어플리케이션에 독립적으로 엔터티 추적을 수행하는 함수 프로그램의 일종으로 AR 처리부(12)가 AR 엔진 A를 호출하여 그것에 엔터티 A의 피처 데이터를 입력하고 AR 엔진 A를 실행한다. 이어서, AR 엔진 A는 AR 처리부(12)에 그 AR 엔진 A에 의한 엔터티 추적 결과, 예를 들어 엔터티 A의 위치를 AR 처리부(12)에 반환한다. 이어서, AR 처리부(12)는 카메라모듈(17)로부터 실시간으로 입력되는 복수의 현실공간 이미지 각각에 대하여 엔터티 A의 위치에 각 엔터티 A의 가상 이미지를 오버랩함으로써 각 현실공간 이미지에 대한 증강현실 이미지를 생성한다.
증강현실 어플리케이션 B가 실행되어 검출된 엔터티가 "엔터티 B"이고, AR 엔진 B의 속성이 엔터티 B의 피처 데이터를 기반으로 실행되도록 설정되어 있는 경우라면, 41~49, 412 단계가 수행됨으로써 엔터티 B의 추적이 이루어지게 된다. 즉, URI 처리부(13)는 리소스 서버(2)의 호스트 네임, 43 단계에서 검출된 적어도 하나의 엔터티 중 엔터티 B의 네임, 45 단계에서 검출된 AR 엔진 B의 네임, 및 47 단계에서 검출된 엔터티 추적 방법의 네임의 조합으로부터 엔터티 B의 피처 데이터에 대한 URI를 생성한다. 이어서, AR 처리부(12)는 이 URI를 이용하여 엔터티 B의 특징을 AR 엔진 B에서 처리 가능한 포맷으로 나타낸 피처 데이터를 획득한다.
이어서, AR 처리부(12)는 이와 같이 획득된 피처 데이터를 기반으로 AR 엔진 B를 실행함으로써 증강현실 공간에서 엔터티 B의 추적을 수행한다. 보다 상세하게 설명하면, AR 처리부(12)가 AR 엔진 B를 호출하여 그것에 엔터티 B의 피처 데이터를 입력하고 AR 엔진 B를 실행한다. 이어서, AR 엔진 B는 AR 처리부(12)에 그 AR 엔진 B에 의한 엔터티 추적 결과, 예를 들어 엔터티 B의 위치를 AR 처리부(12)에 반환한다. 이어서, AR 처리부(12)는 카메라모듈(17)로부터 실시간으로 입력되는 복수의 현실공간 이미지 각각에 대하여 엔터티 B의 위치에 각 엔터티 B의 가상 이미지를 오버랩함으로써 각 현실공간 이미지에 대한 증강현실 이미지를 생성한다.
증강현실 어플리케이션 N이 실행되어 검출된 엔터티가 "엔터티 N"이고, AR 엔진 N의 속성이 엔터티 N의 원본 이미지를 기반으로 실행되도록 설정되어 있는 경우라면, 41~46, 410~412 단계가 수행됨으로써 엔터티 N의 추적이 이루어지게 된다. 즉, URI 처리부(13)는 리소스 서버(2)의 호스트 네임, 43 단계에서 검출된 적어도 하나의 엔터티 중 엔터티 N의 네임의 조합으로부터 엔터티 N의 원본 이미지에 대한 URI를 생성한다. 이어서, AR 처리부(12)는 이 URI를 이용하여 엔터티 N의 원본 이미지를 획득한다.
이어서, AR 처리부(12)는 이와 같이 획득된 원본 이미지를 기반으로 AR 엔진 N을 실행함으로써 증강현실 공간에서 엔터티 N의 추적을 수행한다. 보다 상세하게 설명하면, AR 처리부(12)가 AR 엔진 N을 호출하여 그것에 엔터티 N의 원본 이미지를 입력하고 AR 엔진 N을 실행한다. 이어서, AR 엔진 N은 AR 처리부(12)에 그 AR 엔진 N에 의한 엔터티 추적 결과, 예를 들어 엔터티 N의 위치를 AR 처리부(12)에 반환한다. 이어서, AR 처리부(12)는 카메라모듈(17)로부터 실시간으로 입력되는 복수의 현실공간 이미지 각각에 대하여 엔터티 N의 위치에 각 엔터티 N의 가상 이미지를 오버랩함으로써 각 현실공간 이미지에 대한 증강현실 이미지를 생성한다. 다른 증강현실 어플리케이션의 실행 과정도 상기된 두 가지 예 중 어느 하나에 따라 이루어지게 된다.
도 7은 도 1에 도시된 리소스 서버(2)에 저장되어 있는 URI 테이블의 일례를 도시한 도면이다. 도 7에 도시된 URI 테이블은 URI 체계를 이용하여 복수의 엔터티, 복수의 AR 엔진, 복수의 엔터티 추적 방법 별로 계층화되어 저장된 피처데이터의 데이터베이스로서 이것에 대한 이해를 돕기 위해 시각화하여 나타낸 것이다. 도 7에 도시된 URI 테이블의 각 URI는 엔터티의 피처 데이터 또는 원본 이미지가 리소스 서버(2)의 데이터베이스의 어느 위치에 저장되어 있는가를 나타내기 때문에 AR 클라이언트(1)는 신속하게 각 엔터티의 피처 데이터 또는 원본 이미지를 획득할 수 있다. 도 7에 도시된 URI 테이블에 따르면, 복수 타입의 AR 엔진은 "ARCore", "ARKit", "Vuforia", "Wikitude"으로 분류된다.
상술한 바와 같이, 어떤 AR 엔진의 속성이 엔터티를 추적하기 전에 엔터티의 원본 이미지로부터 그것의 피처 데이터를 생성하는 과정을 항상 수행하도록 설정되어 있다면 그 AR 엔진은 피처 데이터가 아닌 원본 이미지를 필요로 한다. 이 경우, 43 단계에서 검출된 엔터티의 네임이 "house"라면 이 엔터티의 원본 이미지에 대한 URI는 "http://server.com/outdoor/house/OriginalImage"가 될 수 있다. 43 단계에서 검출된 엔터티의 네임이 "cat"라면 이 엔터티의 원본 이미지에 대한 URI는 "http://server.com/indoor/cat/OriginalImage"가 될 수 있다.
각 AR 엔진의 타입에 관계없이 어떤 엔터티의 원본 이미지는 동일하므로 이와 같이 각 엔터티별로 원본 이미지에 대한 URI를 단일화하는 것이 리소스 서버(2)의 데이터 저장 공간의 효율적 사용 측면에서 바람직하다. 리소스 서버(2)가 관리하는 엔터티의 개수가 매우 많아질 경우, 각 엔터티의 피처 데이터 또는 원본 이미지의 저장 위치에 대한 빠른 접근을 위해 각 엔터티별 URI는 여러 엔터티를 그룹핑함으로써 계층적으로 정의될 수 있다. 즉, 어떤 엔터티의 URI는 그 엔터티가 속하는 그룹의 네임에 엔터티 네임을 부가하는 방식으로 생성될 수 있다.
"ARCore"는 구글 컴퍼니의 안드로이드 플랫폼에서만 실행 가능한 네이티브 AR 엔진으로 현실 공간에서의 카메라 위치를 추정하는 "Motion tracking" 기능, 현실 공간의 지오메트리를 추정하는 "Environment understanding" 기능, 2차원 이미지를 추적하는 "Augmented images" 기능 등을 제공하고 있다. "ARCore"는 3차원 객체를 추적하는 기능을 제공하지 않는다.
도 2에 도시된 2차원 이미지가 43 단계에서 검출된 엔터티라고 한다면, 44 단계에서 생성된 엔터티의 URI는 "http://server.com/outdoor/house"가 된다. 45 단계에서 검출된 AR 엔진의 네임이 "ARCore"이고, 47 단계에서 검출된 엔터티 추적 방법의 네임이 "AugmentedImages"라면, 48 단계에서 생성된 피처 데이터의 URI는 "http://server.com/outdoor/house/ARCore/AugmentedImages"가 된다. 이 예는 "ARCore"의 속성이 엔터티의 피처 데이터를 기반으로 실행되는 것으로 설정된 경우에 해당된다. 만약, "ARCore"의 속성이 엔터티의 원본 이미지를 기반으로 실행되는 것으로 설정된 경우라면 상술한 바에 같은 원본 이미지의 URI가 사용될 수 있다.
"ARKit"는 애플 컴퍼니의 iOS 플랫폼에서만 실행 가능한 네이티브 AR 엔진으로 현실 공간에서의 카메라 위치를 추정하는 "ARWorldTrackingConfiguration" 기능, GPS를 이용하여 카메라 위치를 추정하는 "ARGeoTrackingConfiguration" 기능, 2차원 이미지를 추적하는 "ARImageTrackingConfiguration" 기능, 3차원 객체를 추적하는 "ARObjectScanningConfiguration" 기능 등을 제공하고 있다.
도 2에 도시된 2차원 이미지가 43 단계에서 검출된 엔터티라고 한다면, 44 단계에서 생성된 엔터티의 URI는 "http://server.com/outdoor/house"가 된다. 45 단계에서 검출된 AR 엔진의 네임이 "ARKit"이고, 47 단계에서 검출된 엔터티 추적 방법의 네임이 "ARImageTracking"이라면, 48 단계에서 생성된 피처 데이터의 URI는 "http://server.com/outdoor/house/ARKit/ARImageTracking"이 된다.
도 3에 도시된 3차원 객체가 43 단계에서 검출된 엔터티라고 한다면, 44 단계에서 생성된 엔터티의 URI는 "http://server.com/indoor/cat"가 된다. 45 단계에서 검출된 AR 엔진의 네임이 "ARKit"이고, 47 단계에서 검출된 엔터티 추적 방법의 네임이 "ARObjectScanning"이라면, 48 단계에서 생성된 피처 데이터의 URI는 "http://server.com/indoor/cat/ARKit/ARObjectScanning"이 된다. 이 두 예는"ARKit"의 속성이 엔터티의 피처 데이터를 기반으로 실행되는 것으로 설정된 경우에 해당된다. 만약, "ARKit"의 속성이 엔터티의 원본 이미지를 기반으로 실행되는 것으로 설정된 경우라면 상술한 바에 같은 원본 이미지의 URI가 사용될 수 있다.
"Vuforia"는 안드로이드와 iOS 둘 다에서 실행 가능한 PTC 컴퍼니의 AR 엔진으로 현실 공간에서의 카메라 위치를 추정하는 "Area Targets" 기능, 2차원 이미지를 추적하는 "Image Targets" 기능, 3차원 객체를 추적하는 "Model Targets" 기능 등을 제공하고 있다.
도 2에 도시된 2차원 이미지가 43 단계에서 검출된 엔터티라고 한다면, 44 단계에서 생성된 엔터티의 URI는 "http://server.com/outdoor/house"가 된다. 45 단계에서 검출된 AR 엔진의 네임이 "Vuforia"이고, 47 단계에서 검출된 엔터티 추적 방법의 네임이 "ImageTargets"이라면, 48 단계에서 생성된 피처 데이터의 URI는 "http://server.com/outdoor/house/Vuforia/Image Targets"가 된다.
도 3에 도시된 3차원 객체가 43 단계에서 검출된 엔터티라고 한다면, 44 단계에서 생성된 엔터티의 URI는 "http://server.com/indoor/cat"가 된다. 45 단계에서 검출된 AR 엔진의 네임이 "Vuforia"이고, 47 단계에서 검출된 엔터티 추적 방법의 네임이 "Model Targets"라면, 48 단계에서 생성된 피처 데이터의 URI는 "http://server.com/indoor/cat/Vuforia/ModelTargets"가 된다. 이 두 예는 "Vuforia"의 속성이 엔터티의 피처 데이터를 기반으로 실행되는 것으로 설정된 경우에 해당된다. 만약, "Vuforia"의 속성이 엔터티의 원본 이미지를 기반으로 실행되는 것으로 설정된 경우라면 상술한 바에 같은 원본 이미지의 URI가 사용될 수 있다.
"Wikitude"는 안드로이드와 iOS 둘 다에서 실행 가능한 위키튜드(Wikitude) 컴퍼니의 AR 엔진으로 현실 공간에서의 카메라 위치를 추정하는 "Scene Tracking" 기능, 평면을 인식하여 가상 이미지를 오버랩할 수 있는 "Instant Tracking" 기능, 2차원 이미지를 추적하는 "Image Tracking" 기능, 3차원 객체를 추적하는 "Object Tracking" 기능 등을 제공하고 있다.
도 2에 도시된 2차원 이미지가 43 단계에서 검출된 엔터티라고 한다면, 44 단계에서 생성된 엔터티의 URI는 "http://server.com/outdoor/house"가 된다. 45 단계에서 검출된 AR 엔진의 네임이 "Wikitude"이고, 47 단계에서 검출된 엔터티 추적 방법의 네임이 "ImageTracking"이라면, 48 단계에서 생성된 피처 데이터의 URI는 "http://server.com/outdoor/house/Wikitude/ImageTracking"이 된다.
도 3에 도시된 3차원 객체가 43 단계에서 검출된 엔터티라고 한다면, 44 단계에서 생성된 엔터티의 URI는 "http://server.com/indoor/cat"가 된다. 45 단계에서 검출된 AR 엔진의 네임이 "Wikitude"이고, 47 단계에서 검출된 엔터티 추적 방법의 네임이 "ObjectTracking"라면, 48 단계에서 생성된 피처 데이터의 URI는 "http://server.com/indoor/cat/Wikitude/ObjectTracking"이 된다. 이 두 예는 "Wikitude"의 속성이 엔터티의 피처 데이터를 기반으로 실행되는 것으로 설정된 경우에 해당된다. 만약, "Wikitude"의 속성이 엔터티의 원본 이미지를 기반으로 실행되는 것으로 설정된 경우라면 상술한 바에 같은 원본 이미지의 URI가 사용될 수 있다.
상술한 바와 같이, 각 AR 엔진의 타입에 따라 그것이 제공하는 기능이 다를 뿐만 아니라 엔터티가 2차원 이미지 또는 3차원 객체 중 어느 것에 해당되는가에 각 AR 엔진의 엔터티 추적 성능이 다르며, 엔터티의 형상에 따라서도 각 AR 엔진의 엔터티 추적 성능이 다르게 나타난다. 따라서, 증강현실 컨텐츠가 사용자에게 어떤 증강현실 서비스를 제공하는가에 따라 그것에 적합한 AR 엔진이 사용되도록 증강현실 어플리케이션이 설계될 필요가 있다. 증강현실 어플리케이션이 고품질의 증강현실 서비스를 제공하기 위해 서로 다른 복수의 AR 엔진을 사용할 수도 있다. 특히, "ARCore", "ARKit"은 그것의 전용 플랫폼에서만 실행 가능하기 때문에 동일한 증강현실 서비스에 대해서 별개의 증강현실 어플리케이션이 설계될 필요가 있다.
본 실시예에 따르면, AR 엔진 및 엔터티 추적 방법에 독립적으로 엔터티의 피처 데이터에 대한 URI를 이용하여 리소스 서버(2)로부터 그 엔터티의 피처 데이터를 획득하고, 이와 같이 획득된 피처 데이터를 기반으로 AR 엔진을 실행하기 때문에 증강현실 어플리케이션은 AR 엔진 및 엔터티 추적 방법 별로 엔터티의 원본 이미지로부터 피처 데이터를 생성하는 여러 알고리즘을 포함할 필요가 없게 되어 효율적인 증강현실 어플리케이션의 개발이 가능하게 된다.
본 실시예에 따른 증강현실 공간에서의 엔터티 추적은 엔터티의 피처 데이터에 대한 URI를 이용하여 리소스 서버(2)로부터 그 엔터티의 피처 데이터를 획득하고, AR 엔진을 호출하여 실행하는 것만으로 이루어질 수 있기 때문에 AR 엔진 및 엔터티 추적 방법에 의존적인 피처 데이터 생성 알고리즘을 포함하지 않는 범용적인 증강현실 어플리케이션의 제공이 가능하게 된다.
증강현실 어플리케이션이 AR 엔진 및 엔터티 추적 방법 별로 피처 데이터 생성 알고리즘을 포함할 필요가 없게 됨에 따라 증강현실 어플리케이션의 사이즈가 감소되어 증강현실 어플리케이션 개발에 요구되는 작업량이 감소될 수 있다. 어떤 증강현실 어플리케이션을 개발할 경우, 기존 증강현실 어플리케이션에서 엔터티의 피처 데이터에 대한 URI를 이용하여 리소스 서버(2)로부터 그 엔터티의 피처 데이터를 획득하는 알고리즘 등 대부분의 알고리즘을 그대로 재사용할 수 있게 되어 증강현실 어플리케이션의 개발이 매우 용이해진다.
한편, 상술한 바와 같은 본 발명의 일 실시예에 따른 엔터티 추적 방법은 컴퓨터의 프로세서에서 실행 가능한 프로그램으로 작성 가능하고, 이 프로그램을 컴퓨터로 읽을 수 있는 기록매체에 기록하여 실행시키는 컴퓨터에서 구현될 수 있다. 컴퓨터는 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트폰, 임베디드 타입의 컴퓨터 등 프로그램을 실행시킬 수 있는 모든 타입의 컴퓨터를 포함한다. 또한, 상술한 본 발명의 일 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 컴퓨터로 읽을 수 있는 기록매체는 램(RAM), 롬(ROM), 마그네틱 저장매체(예를 들면, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
1 ... AR 클라이언트
11 ... 메인프로세서
12 ... AR 처리부
13 ... URI 처리부
14 ... 통신모듈
15 ... 입력모듈)
16 ... 출력모듈
17 ... 카메라모듈
18 ... 센서모듈
19 ... 스토리지
20 ... 버스
2 ... 리소스 서버

Claims (11)

  1. 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법에 있어서,
    제 1 엔터티의 네임과 제 1 AR 엔진의 네임의 조합으로부터 상기 제 1 엔터티의 피처 데이터에 대한 URI(Uniform Resource Identifier)를 생성하는 단계;
    상기 제 1 엔터티의 피처 데이터에 대한 URI를 이용하여 상기 제 1 엔터티의 피처 데이터에 대한 URI의 호스트에 해당하는 리소스 서버에 상기 제 1 엔터티의 특징을 상기 제 1 AR 엔진에서 처리 가능한 포맷으로 나타낸 제 1 엔터티의 피처 데이터를 요청함으로써 상기 리소스 서버로부터 상기 제 1 엔터티의 피처 데이터를 획득하는 단계; 및
    상기 획득된 제 1 엔터티의 피처 데이터를 기반으로 상기 제 1 AR 엔진을 실행함으로써 증강현실 공간에서의 상기 제 1 엔터티의 추적을 수행하는 단계를 포함하는 것을 특징으로 하는 엔터티 추적 방법.
  2. 제 1 항에 있어서,
    상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 단계는 상기 리소스 서버의 호스트 네임, 상기 제 1 엔터티의 네임, 및 상기 제 1 AR 엔진의 네임의 조합으로부터 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 것을 특징으로 하는 엔터티 추적 방법.
  3. 제 2 항에 있어서,
    상기 리소스 서버의 호스트 네임과 상기 제 1 엔터티의 네임의 조합으로부터 상기 제 1 엔터티의 URI를 생성하는 단계; 및
    복수 타입의 AR 엔진 중에서 상기 제 1 엔터티의 추적에 사용될 제 1 AR 엔진을 검출하는 단계를 더 포함하고,
    상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 단계는 상기 생성된 제 1 엔터티의 URI에 상기 검출된 제 1 AR 엔진의 네임을 부가함으로써 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 것을 특징으로 하는 엔터티 추적 방법.
  4. 제 3 항에 있어서,
    상기 제 1 엔터티에 대해 상기 제 1 AR 엔진이 사용하고자 하는 엔터티 추적 방법을 검출하는 단계를 더 포함하고,
    상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 단계는 상기 생성된 제 1 엔터티의 URI에 상기 검출된 제 1 AR 엔진의 네임과 상기 검출된 엔터티 추적 방법의 네임을 부가함으로써 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 것을 특징으로 하는 엔터티 추적 방법.
  5. 제 1 항에 있어서,
    상기 엔터티 추적 방법을 검출하는 단계는 상기 제 1 엔터티가 2차원 이미지 또는 3차원 객체 중 어느 것에 해당되는가에 따라 상기 제 1 엔터티에 대해 상기 제 1 AR 엔진이 사용하고자 하는 엔터티 추적 방법을 검출하는 것을 특징으로 하는 엔터티 추적 방법.
  6. 제 1 항에 있어서,
    증강현실 컨텐츠로부터 상기 증강현실 컨텐츠가 나타내는 증강현실 공간에서의 적어도 하나의 엔터티를 검출하는 단계를 더 포함하고,
    상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 단계는 상기 검출된 적어도 하나의 엔터티 중 상기 제 1 엔터티의 네임, 및 상기 제 1 AR 엔진의 네임의 조합으로부터 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 것을 특징으로 하는 엔터티 추적 방법.
  7. 제 1 항에 있어서,
    제 2 엔터티의 네임과 제 2 AR 엔진의 네임의 조합으로부터 상기 제 2 엔터티의 피처 데이터에 대한 URI를 생성하는 단계;
    상기 제 2 엔터티의 피처 데이터에 대한 URI를 이용하여 상기 제 2 엔터티의 특징을 상기 제 2 AR 엔진에서 처리 가능한 포맷으로 나타낸 제 2 엔터티의 피처 데이터를 획득하는 단계; 및
    상기 획득된 제 2 엔터티의 피처 데이터를 기반으로 상기 제 2 AR 엔진을 실행함으로써 증강현실 공간에서 상기 제 2 엔터티의 추적을 수행하는 단계를 포함하는 것을 특징으로 하는 엔터티 추적 방법.
  8. 제 2 항에 있어서,
    상기 제 1 AR 엔진이 상기 제 1 엔터티의 추적을 위해 상기 제 1 엔터티의 피처 데이터 또는 원본 이미지 중 어느 것을 필요로 하는가를 확인하는 단계를 더 포함하고,
    상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 단계는 상기 제 1 AR 엔진이 상기 제 1 엔터티의 피처 데이터를 필요로 하는 것으로 확인되면, 상기 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 것을 특징으로 하는 엔터티 추적 방법.
  9. 제 8 항에 있어서,
    상기 제 1 AR 엔진이 상기 제 1 엔터티의 원본 이미지를 필요로 하는 것으로 확인되면, 리소스 서버의 호스트 네임과 상기 제 1 엔터티의 네임의 조합으로부터 상기 제 1 엔터티의 원본 이미지에 대한 URI를 생성하는 단계;
    상기 제 1 엔터티의 원본 이미지에 대한 URI를 이용하여 상기 제 1 엔터티의 원본 이미지를 획득하는 단계; 및
    상기 획득된 제 1 엔터티의 원본 이미지를 기반으로 상기 제 1 AR 엔진을 실행함으로써 상기 증강현실 공간에서 상기 제 1 엔터티의 추적을 수행하는 단계를 더 포함하는 것을 특징으로 하는 엔터티 추적 방법.
  10. 제 1 항 내지 제 9 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  11. 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 장치에 있어서,
    제 1 엔터티의 네임과 제 1 AR 엔진의 네임의 조합으로부터 제 1 엔터티의 피처 데이터에 대한 URI를 생성하는 URI 처리부; 및
    상기 제 1 엔터티의 피처 데이터에 대한 URI를 이용하여 상기 제 1 엔터티의 피처 데이터에 대한 URI의 호스트에 해당하는 리소스 서버에 상기 제 1 엔터티의 특징을 상기 제 1 AR 엔진에서 처리 가능한 포맷으로 나타낸 제 1 엔터티의 피처 데이터를 요청함으로써 상기 리소스 서버로부터 상기 제 1 엔터티의 피처 데이터를 획득하고, 상기 획득된 제 1 엔터티의 피처 데이터를 기반으로 상기 제 1 AR 엔진을 실행함으로써 증강현실 공간에서 상기 제 1 엔터티의 추적을 수행하는 AR 처리부를 포함하는 것을 특징으로 하는 엔터티 추적 장치.
KR1020210111237A 2021-01-22 2021-08-23 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법 및 장치 KR102489927B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111610866.0A CN114782655A (zh) 2021-01-22 2021-12-27 基于独立的特征数据的实体追踪方法及装置
US17/565,455 US11880948B2 (en) 2021-01-22 2021-12-30 Method and apparatus for tracking entity based on feature data independent of augmented reality engine

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210009217 2021-01-22
KR1020210009217 2021-01-22

Publications (2)

Publication Number Publication Date
KR20220106661A KR20220106661A (ko) 2022-07-29
KR102489927B1 true KR102489927B1 (ko) 2023-01-18

Family

ID=82606523

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210111237A KR102489927B1 (ko) 2021-01-22 2021-08-23 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102489927B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101556579B1 (ko) * 2011-11-29 2015-10-01 퀄컴 인코포레이티드 3차원 객체들의 추적

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2554633B (en) * 2016-06-24 2020-01-22 Imperial College Sci Tech & Medicine Detecting objects in video data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101556579B1 (ko) * 2011-11-29 2015-10-01 퀄컴 인코포레이티드 3차원 객체들의 추적

Also Published As

Publication number Publication date
KR20220106661A (ko) 2022-07-29

Similar Documents

Publication Publication Date Title
US20200250889A1 (en) Augmented reality system
US9904664B2 (en) Apparatus and method providing augmented reality contents based on web information structure
US8243061B2 (en) Image processing apparatus and method of controlling operation of same
CN106846497B (zh) 应用于终端的呈现三维地图的方法和装置
CN112074797A (zh) 用于将虚拟对象锚定到物理位置的系统和方法
US20100211865A1 (en) Cross-browser page visualization generation
US11475636B2 (en) Augmented reality and virtual reality engine for virtual desktop infrastucture
US20200193679A1 (en) Two-part context based rendering solution for high fidelity augmented reality in virtualized environment
CN109725724B (zh) 有屏设备的手势控制方法和装置
US10878024B2 (en) Dynamic thumbnails
CN111354063A (zh) 一种三维元素渲染方法、桌面云服务端及桌面云系统
US11335060B2 (en) Location based augmented-reality system
US9645983B1 (en) Modifying a document at a script processing server using a client device's state information
KR20200118677A (ko) 이미지를 기반으로 포즈 계산을 위한 지도의 최신성을 유지하는 방법 및 시스템
CN111597466A (zh) 展示方法、装置和电子设备
CN110825383B (zh) 一种视频交互方法、装置及计算机可读存储介质
CN112465971B (zh) 模型中点位的引导方法和装置、存储介质、电子设备
US20210375054A1 (en) Tracking an augmented reality device
KR102489927B1 (ko) 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법 및 장치
US11880948B2 (en) Method and apparatus for tracking entity based on feature data independent of augmented reality engine
US10621768B2 (en) Augmented reality and virtual reality engine at the object level for virtual desktop infrastucture
Nitika et al. A study of Augmented Reality performance in web browsers (WebAR)
US11562538B2 (en) Method and system for providing a user interface for a 3D environment
CN110089076B (zh) 实现信息互动的方法和装置
CN115018975A (zh) 数据集生成方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right