KR102428921B1 - Ar 서비스를 제공하는 방법 및 디바이스 - Google Patents

Ar 서비스를 제공하는 방법 및 디바이스 Download PDF

Info

Publication number
KR102428921B1
KR102428921B1 KR1020180007295A KR20180007295A KR102428921B1 KR 102428921 B1 KR102428921 B1 KR 102428921B1 KR 1020180007295 A KR1020180007295 A KR 1020180007295A KR 20180007295 A KR20180007295 A KR 20180007295A KR 102428921 B1 KR102428921 B1 KR 102428921B1
Authority
KR
South Korea
Prior art keywords
marker
scene
recognized
markers
virtual
Prior art date
Application number
KR1020180007295A
Other languages
English (en)
Other versions
KR20190034051A (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 CN201880060834.8A priority Critical patent/CN111133479B/zh
Priority to PCT/KR2018/011287 priority patent/WO2019059725A1/en
Priority to EP18859313.1A priority patent/EP3646292B1/en
Priority to US16/137,892 priority patent/US10789473B2/en
Publication of KR20190034051A publication Critical patent/KR20190034051A/ko
Application granted granted Critical
Publication of KR102428921B1 publication Critical patent/KR102428921B1/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/633Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
    • H04N23/635Region indicators; Field of view indicators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/245Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/02Recognising information on displays, dials, clocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata

Abstract

본 개시는, 디바이스에서 AR 오브젝트를 매핑하기 위한 복수의 마커를 적어도 하나의 그룹으로 클러스터링 하고, 클러스터링 된 그룹에서 대표 마커를 지정함으로써, 디바이스에서 인식된 장면이 대표 마커에 대응되는 경우, 대표 마커의 클러스터에 포함된 다른 마커를 우선적으로 검색하는 AR 서비스를 제공할 수 있다. 또한, 본 개시는, 디바이스에서 인식된 장면이 화면에 표시되는 동안 사용자로부터 수신된 데이터를 기초로 AR 오브젝트를 생성하고, 인식된 장면을 AR 오브젝트의 마커로 설정하는 AR 서비스를 제공할 수 있다. 또한, 본 개시는, 기 획득된 복수의 컨텐트를 소정의 기준에 따라 클러스터링하고, 클러스터링 된 복수의 컨텐트를 기초로 AR 오브젝트를 생성하는 AR 서비스를 제공할 수 있다.

Description

AR 서비스를 제공하는 방법 및 디바이스 {METHOD AND DEVICE FOR PROVIDING AR(AUGMENTED REALITY) SERVICE}
개시된 AR 서비스를 제공하는 방법, AR 서비스를 제공하는 디바이스 및 AR 서비스를 제공하는 방법을 수행하는 프로그램이 기록된 기록매체에 관한 것이다.
일반적으로 증강 현실(Augmented Reality)이란 인간과 컴퓨터의 상호 작용 및 의사전달에 이용할 수 있는 새로운 패러다임을 제공하는 기술 분야를 말한다. 여기서, 증강 현실은 사용자가 눈으로 보는 현실 세계와 부가 정보를 갖는 가상 세계를 합쳐 하나의 영상으로 보여주는 가상 현실의 하나이다. 현실 세계를 가상 세계로 보완해주는 개념인 증강현실은 컴퓨터 그래픽으로 만들어진 가상 환경을 사용하지만 현실 환경을 기초로 한다는 점에서, 일반적인 가상 현실과의 차이가 존재할 수 있다. 컴퓨터 그래픽은 현실 환경에 필요한 정보를 추가 제공하는 역할을 한다. 즉, 사용자가 보고 있는 실사 영상에 3차원 가상영상을 겹침(overlap)으로써 현실 환경과 가상 화면과의 구분이 모호해지도록 하는 것이다.
증강 현실 분야에서는 카메라로부터 입력되는 영상에 가상의 그래픽 영상 등의 새로운 부가 정보를 표시해 주는 방법을 통해 사용자에게 부가적인 정보를 제공해 줄 수 있도록 실사 영상과 가상 영상을 정합하는데 필요한 기술들에 대한 연구가 활발히 진행 중에 있다.
개시된 실시예는 AR 오브젝트를 디바이스에서 인식되는 현실 세계의 장면에 중첩하여 표시함으로써 증강 현실을 체험할 수 있는 AR 서비스 제공 시, 보다 다양한 방식으로 마커 및 AR 오브젝트를 생성하고 관리할 수 있는 AR 서비스 제공 방법, 디바이스를 제공할 수 있다.
또한, 개시된 실시예는 디바이스에서 마커를 이용하여 AR 오브젝트를 표시하는 경우, 마커의 클러스터링을 통해 마커 식별의 효율성을 높일 수 있는 AR 서비스 제공 방법, 디바이스를 제공할 수 있다.
추가적으로, 개시된 실시예는 디바이스에서 마커 생성 당시의 디바이스 및 사용자의 정보를 추가적으로 제공하여, 인식된 장면 내에 마커가 포함되는지 여부를 식별함으로써, 마커 인식의 정확도를 높일 수 있는 AR 서비스 제공 방법 및 디바이스를 제공할 수 있다.
일 실시예에 따른 AR 서비스를 제공하는 방법은, 디바이스에서 인식되는 장면에 AR(Augmented Reality) 오브젝트를 매핑하기 위한 기준이 되는 복수의 마커를 마커의 속성에 따라 적어도 하나의 그룹으로 클러스터링 하는 단계; 클러스터링 된 복수의 마커 중 어느 하나를 적어도 하나의 그룹 각각의 대표 마커로 결정하는 단계; 적어도 하나의 그룹 각각의 대표 마커 중 디바이스에서 인식된 제 1 장면과 대응되는 대표 마커가 식별됨에 따라, 제 1 장면의 인식 이후에 인식되는 제 2 장면에 대한 마커의 식별을 위해, 식별된 대표 마커의 그룹에 포함된 마커를 다른 마커 보다 우선적으로 검색하는 단계; 및 검색 결과 식별된 마커를 기초로 제 2 장면에 매핑되는 AR 오브젝트를 제 2 장면에 중첩하여 표시하는 단계를 포함할 수 있다.
일 실시예에 따른 AR 서비스를 제공하는 방법에 있어서, 복수의 마커는, 디바이스에서 인식되는 복수의 장면 각각에 포함된 실제 오브젝트를 포함하고, 마커의 속성은, 실제 오브젝트의 종류, 상기 실제 오브젝트가 포함된 장면이 상기 디바이스에서 인식된 시간 및 위치 중 적어도 하나를 포함하며, 표시하는 단계는, 마커가 식별됨에 따라, 기 저장된 매핑 데이터베이스로부터 식별된 마커에 대응되는 AR 오브젝트를 추출할 수 있다.
일 실시예에 따른 AR 서비스를 제공하는 방법에 있어서, 결정하는 단계는,
클러스터링 된 복수의 마커 중 어느 하나를 선택하는 사용자 입력에 기초하여, 적어도 하나의 그룹 각각의 대표 마커를 결정할 수 있다.
일 실시예에 따른 AR 서비스를 제공하는 방법에 있어서, 제 1 장면 및 제 2 장면은, 디바이스에서 실행되는 카메라 애플리케이션의 프리뷰 모드에서 인식되는 이미지일 수 있다.
일 실시예에 따른 AR 서비스를 제공하는 방법은, 디바이스에 기 획득된 복수의 컨텐트를 복수의 컨텐트 각각이 획득된 위치, 시간 및 사용자 입력을 통해 설정된 소정의 기준 중 적어도 하나에 기초하여 적어도 하나의 AR 오브젝트 그룹으로 클러스터링 하는 단계; 클러스터링 된 복수의 컨텐트 중 적어도 하나를 이용하여, 적어도 하나의 AR 오브젝트 그룹 각각의 마커를 생성하는 단계; 및 디바이스에서 인식된 장면이 생성된 마커 중 어느 하나에 대응됨에 따라 마커에 매핑되는 AR 오브젝트 그룹에 포함된 컨텐트를 인식된 장면과 대응되는 마커에 중첩하여 표시하는 단계를 더 포함하고, 컨텐트는, 이미지, 음성, 음악, 필기 정보, 텍스트 및 동영상 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 AR 서비스를 제공하는 방법은, 디바이스에서 인식된 장면 내의 마커에 중첩되어 표시되는 AR 오브젝트에 대해 기 설정된 유형의 사용자 입력이 수신됨에 따라 마커로부터 AR 오브젝트를 분리하는 단계; 및 수신되는 사용자 입력의 위치에 따라, 분리된 AR 오브젝트를 디바이스에서 인식되는 적어도 하나의 장면 내의 소정의 위치에 중첩하여 표시하는 단계를 더 포함할 수 있다.
일 실시예에 따른 AR 서비스를 제공하는 방법은, 디바이스에서 인식된 제 1 장면이 디바이스의 화면에 표시되는 동안 사용자로부터 수신된 데이터를 기초로 AR 오브젝트를 생성하는 단계; 제 1 장면을 AR 오브젝트의 마커로 결정하는 단계; 제 1 장면이 인식된 시점의 사용자의 위치 및 디바이스의 방향 중 적어도 하나를 포함하는 마커 보정 정보를 AR 오브젝트 및 마커에 매핑하여 저장하는 단계; 및 마커 보정 정보의 저장 이후에 제 2 장면이 인식됨에 따라 제 2 장면을 마커 보정 정보에 기초하여 상기 마커와 비교한 결과, 제 2 장면이 마커에 대응되는 경우 AR 오브젝트를 제 2 장면에 중첩하여 표시하는 단계를 포함할 수 있다.
일 실시예에 따른 AR 서비스를 제공하는 방법에 있어서, 사용자로부터 수신된 데이터는, 입력 장치를 통해 수신된 사용자의 필기 데이터, 사용자의 음성 데이터, 이미지, 음악, 텍스트 및 동영상 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 AR 서비스를 제공하는 방법에 있어서, 표시하는 단계는, 마커 보정 정보에 포함된 사용자의 위치 및 디바이스의 방향에 기초하여, 마커를 보정하는 단계; 및 보정된 마커와 제 2 장면을 비교하는 단계를 포함할 수 있다.
일 실시예에 따른 AR 서비스를 제공하는 방법은, 복수의 마커에 관한 정보를 포함하는 마커 리스트 상에 수신된 사용자 입력에 기초하여, 복수의 마커 중 어느 하나가 선택됨에 따라, 디바이스를 장면을 인식하여 표시하는 프리뷰 모드로 설정하는 단계; 프리뷰 모드로 설정된 디바이스의 화면에 선택된 마커를 표시하는 단계; 및 선택된 마커에 매핑되는 AR 오브젝트를 마커에 중첩하여 표시하는 단계를 포함할 수 있다.
일 실시예에 따른 AR 서비스를 제공하는 디바이스는, 하나 이상의 인스트럭션을 저장하는 메모리; 디스플레이; 디바이스 주변의 장면을 인식하는 카메라; 및 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 프로세서는, 카메라를 통해 인식되는 장면에 AR(Augmented Reality) 오브젝트를 매핑하기 위한 기준이 되는 복수의 마커를 마커의 속성에 따라 적어도 하나의 그룹으로 클러스터링 하고, 클러스터링 된 복수의 마커 중 어느 하나를 상기 적어도 하나의 그룹 각각의 대표 마커로 결정하며, 적어도 하나의 그룹 각각의 대표 마커 중 디바이스에서 인식된 제 1 장면과 대응되는 대표 마커가 식별됨에 따라, 제 1 장면의 인식 이후에 인식되는 제 2 장면에 대한 마커의 식별을 위해, 식별된 대표 마커의 그룹에 포함된 마커를 다른 마커 보다 우선적으로 검색하고, 디스플레이를 통해, 검색 결과 식별된 마커를 기초로 제 2 장면에 매핑되는 AR 오브젝트를 제 2 장면에 중첩하여 표시할 수 있다.
일 실시예에 따른 AR 서비스를 제공하는 디바이스는, 하나 이상의 인스트럭션을 저장하는 메모리; 디스플레이; 디바이스 주변의 장면을 인식하는 카메라; 및 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 프로세서는, 디바이스에서 인식된 제 1 장면이 디바이스의 화면에 표시되는 동안 사용자로부터 수신된 데이터를 기초로 AR 오브젝트를 생성하고, 제 1 장면을 상기 AR 오브젝트의 마커로 결정하며, 제 1 장면이 인식된 시점의 사용자의 위치 및 디바이스의 방향 중 적어도 하나를 포함하는 마커 보정 정보를 AR 오브젝트 및 마커에 매핑하여 저장하고, 마커 보정 정보의 저장 이후에 제 2 장면이 인식됨에 따라 제 2 장면을 마커 보정 정보에 기초하여 마커와 비교한 결과, 제 2 장면이 마커에 대응되는 경우 AR 오브젝트를 제 2 장면에 중첩하여 표시할 수 있다.
도 1은 일 실시예에 따른 디바이스에서 AR 서비스를 제공하는 방법을 설명하기 위한 개념도이다.
도 2는 일 실시예에 따른 디바이스가 인식된 장면에 대응되는 마커를 검색하는 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 디바이스가 인식된 장면에 대응되는 마커를 검색하는 방법을 설명하기 위한 도면이다.
도 4는 다른 실시예에 따른 디바이스가 인식된 장면에 대응되는 마커를 검색하는 방법을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 디바이스가 장면 내에서 마커를 변경하는 방법을 설명하기 위한 흐름도이다.
도 6은 일 실시예에 따른 디바이스가 장면 내에서 마커를 변경하는 방법을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 디바이스가 마커 보정 정보를 기초로 마커를 인식하여 사용자에 의해 생성된 AR 오브젝트를 제공하는 방법을 설명하기 위한 흐름도이다.
도 8은 일 실시예에 따른 디바이스가 마커 보정 정보를 기초로 마커를 인식하여 사용자에 의해 생성된 AR 오브젝트를 제공하는 방법을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 디바이스가 마커에 대응되는 AR 오브젝트에 관한 정보를 제공하는 방법을 설명하기 위한 흐름도이다.
도 10은 일 실시예에 따른 디바이스가 마커에 대응되는 AR 오브젝트에 관한 정보를 제공하는 방법을 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 디바이스가 기 저장된 영상을 기초로 AR 오브젝트 및 AR 오브젝트를 장면과 매핑하기 위한 마커를 생성하는 방법을 설명하기 위한 흐름도이다.
도 12는 일 실시예에 따른 디바이스가 기 저장된 영상을 기초로 AR 오브젝트 및 AR 오브젝트를 장면과 매핑하기 위한 마커를 생성하는 방법을 설명하기 위한 도면이다.
도 13은 일 실시예에 따른 디바이스가 사용자 입력에 기초하여, 마커 및 마커에 대응되는 AR 오브젝트를 생성하는 방법을 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 디바이스가 이동 시 마커를 인식하는 방법을 설명하기 위한 도면이다.
도 15는 일 실시예에 따른 디바이스에서 사용자의 입력에 따라 복수의 마커 중 어느 하나를 선택하는 방법을 설명하기 위한 도면이다.
도 16은 일 실시예에 따른 디바이스의 사용자에게 마커 인식을 위한 가이드 정보를 제공하는 방법을 설명하기 위한 도면이다.
도 17은 일 실시예에 따른 디바이스가 마커에 적어도 하나의 AR 오브젝트를 매핑하는 방법을 설명하기 위한 도면이다.
도 18 및 도 19는 일 실시예에 따른 디바이스의 블록도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 특성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따른 디바이스(100)에서 AR(Augmented Reality) 서비스를 제공하는 방법을 설명하기 위한 개념도이다.
도 1을 참조하면, 디바이스(100)는 현실 세계의 장면에 AR 오브젝트를 중첩하여 표시함으로써, 사용자에게 AR 서비스를 제공할 수 있다. 본 명세서에서, AR 오브젝트는 사용자에게 현실 세계와 더불어 가상의 경험을 제공하기 위한 것으로, 이미지, 동영상, 음성, 텍스트 등의 다양한 형태로 제공될 수 있다.
또한, 디바이스(100)는 인식된 장면에 AR 오브젝트를 중첩하여 표시하기 위해, 마커(marker)를 이용하여 장면 내에서 AR 오브젝트가 표시되는 위치를 결정할 수 있다. 일 실시예에 따라, 디바이스(100)는 마커를 기준으로 상대적 좌표를 추출하여 장면 내에서 AR 오브젝트가 표시되는 위치를 결정할 수 있다. 다만, 이는 일 예일 뿐, 디바이스(100)가 마커를 기준으로 AR 오브젝트가 표시되는 위치를 결정하는 방법이 전술한 예에 한정되는 것은 아니다.
예를 들어, 도 1에서, 디바이스(100)는 소정의 장면(110)이 인식됨에 따라, 장면(110) 내에 마커가 포함되는지 여부를 판단할 수 있다. 디바이스(100)는 장면(110) 내에서 마커로 기 설정된 사진(115)을 식별한 경우, 기 설정된 사진(115)에 매핑(mapping)된 AR 오브젝트를 결정할 수 있다. 본 실시예에서는 사진(115)에 매핑된 AR 오브젝트가 복수의 여행 사진으로 구성된 동영상(120)인 것으로 가정한다. 디바이스(100)는 사진(115)이 식별됨에 따라, 사진(115)을 기준으로 장면(110) 내에서 기 설정된 위치에 복수의 여행 사진으로 구성된 동영상(120)을 표시할 수 있다.
한편, 일 실시예에 따른 디바이스(100)는 인식된 장면에 포함되는 마커를 보다 신속하게 식별하기 위해, 디바이스(100)에 기 저장된 복수의 마커를 마커의 속성에 따라 적어도 하나의 그룹으로 클러스터링 하여 저장할 수 있다. 디바이스(100)는 클러스터링 된 그룹을 이용하여, 각 그룹의 대표 마커가 장면 내에서 식별되는 경우, 특정 마커에 대응되는 그룹 내의 마커들에 대한 검색 순위를 높임으로써, 마커를 식별하는데 소요되는 시간을 줄일 수 있다. 이에 대해서는, 도 2 내지 도 4를 참조하여 구체적으로 후술하도록 한다.
일 실시예에 따른 디바이스(100)는 장면 내에서 AR 오브젝트가 표시되는 위치를 변경하기 위해, 마커의 위치를 변경할 수 있다. 예를 들어, 디바이스(100)는 인식된 장면 내에서의 마커의 위치에 기 설정된 유형의 사용자 입력이 수신되는 경우, 수신된 사용자 입력에 기초하여 마커의 위치를 변경할 수 있다. 사용자 입력의 일 예로 터치 입력 및 드래그 입력 등이 포함될 수 있으나, 이는 일 예일 뿐, 사용자 입력이 전술한 예에 한정되는 것은 아니다. 디바이스(100)가 장면 내에서 마커의 위치를 변경하는 방법에 대해서는, 도 5 및 도 6을 참조하여 보다 구체적으로 후술하도록 한다.
일 실시예에 따른 디바이스(100)는 마커의 인식률을 높이기 위해, 마커 생성 시, 마커가 생성된 시점의 디바이스(100)의 위치 및 카메라의 방향 등에 관한 정보를 마커 보정 정보로 저장할 수 있다. 예를 들어, 디바이스(100)가 인식된 장면을 마커로 이용하는 경우, 디바이스(100)의 위치 또는 카메라의 방향에 따라, 동일한 장소 또는 대상임에도 불구하고 디바이스(100)에서 서로 다른 장면으로 인식되는 경우가 생길 수 있다. 디바이스(100)는 마커 보정 정보를 기초로 인식된 장면을 보정함으로써, 마커 생성 당시의 디바이스(100)의 위치 또는 카메라의 방향과 동일하지 않은 경우에도 마커를 식별할 수 있다. 이에 대해서는, 도 7 및 도 8을 참조하여 보다 구체적으로 후술하도록 한다.
일 실시예에 따른 디바이스(100)는 사용자가 마커에 대응되는 AR 오브젝트를 미리 체험할 수 있도록, AR 프리뷰 모드를 제공할 수 있다. 예를 들어, 디바이스(100)는 사용자가 특정 마커를 선택하는 경우, 특정 마커를 화면 상에 표시하고, 특정 마커에 매핑 되는 AR 오브젝트를 장면에 중첩하여 표시할 수 있다. 이 때, 디바이스(100)는 인식된 장면을 화면에 표시하는 프리뷰 모드에서 선택된 특정 마커를 화면에 표시하고, 이에 중첩하여 AR 오브젝트를 표시함으로써 사용자가 보다 실감나게 AR 서비스를 미리 체험할 수 있도록 할 수 있다. 이에 대해서는, 도 9 및 도 10을 참조하여 보다 구체적으로 후술하도록 한다.
일 실시예에 따른 디바이스(100)는 기 저장된 복수의 영상을 복수의 영상이 촬영된 위치 및 시간 등을 기초로 복수의 그룹으로 클러스터링 할 수 있다. 디바이스(100)는 복수의 그룹 각각에 포함된 소정 영상을 마커로 생성하고, 소정 영상이 인식되는 경우, 소정 영상이 포함된 그룹의 영상을 AR 오브젝트로 제공할 수 있다. 한편, 이는 일 예일 뿐, 디바이스(100)는 사용자 입력에 기초하여, AR 오브젝트로 제공되는 영상을 선택할 수도 있다. 이에 대해서는, 도 11 내지 도 13을 참조하여 보다 구체적으로 후술하도록 한다.
도 2는 일 실시예에 따른 디바이스가 인식된 장면에 대응되는 마커를 검색하는 방법을 설명하기 위한 흐름도이다.
단계 S210에서, 디바이스는 인식되는 장면에 AR 오브젝트를 매핑하기 위한 기준이 되는 복수의 마커를 마커의 속성에 따라 적어도 하나의 그룹으로 클러스터링 할 수 있다.
일 실시예에 따른 디바이스는 특정 장면에 AR 오브젝트를 중첩하여 표시하기 위해, 마커를 이용하여 특정 장면 내에서 AR 오브젝트가 표시될 위치를 지정할 수 있다. 디바이스는 인식되는 다양한 장면 각각에서 적어도 하나의 AR 오브젝트가 표시되는 위치를 지정하기 위해 복수의 마커를 기 생성하여 저장할 수 있다.
또한, 디바이스는 장면이 인식되는 경우 인식된 장면에 대한 마커를 식별하기 위해, 기 생성된 복수의 마커와 인식된 장면을 비교할 수 있다. 예를 들어, 디바이스는 장면 내에 포함된 실제의 오브젝트 A가 기 생성된 복수의 마커 중 어느 하나에 해당하는지 여부를 판단할 수 있다.
한편, 디바이스는 인식된 장면에 대응되는 마커 식별을 위해 소모되는 파워를 줄이기 위해, 복수의 마커를 마커의 속성에 따라 적어도 하나의 그룹으로 클러스터링 할 수 있다. 여기에서, 마커의 속성에는 마커가 생성된 위치, 시간 및 마커로 이용된 실제 오브젝트의 종류 중 적어도 하나가 포함될 수 있다. 예를 들어, 디바이스는, 장소 X에서 생성된 마커, Y 일자에 생성된 마커 및 종이 접기 모형인 마커 등, 위치, 시간 및 오브젝트의 종류 중 적어도 하나에 따라 복수의 마커를 클러스터링 할 수 있다. 다만, 이는 일 예일 뿐, 마커의 속성이 전술한 예에 한정되는 것은 아니다.
또한, 디바이스는 장면이 인식된 시점의 컨텍스트 정보에 따라 복수의 마커를 클러스터링 하기 위한 기준이 되는 속성을 결정할 수 있다. 여기에서, 컨텍스트 정보는 디바이스 또는 디바이스의 주변 상황에 대한 상태 정보를 포함할 수 있다. 예를 들어, 컨텍스트 정보에는 디바이스에서 GPS가 켜져 있는지 여부, 디바이스에 인식되는 위치 정보가 지속적으로 변경되는지 여부 등이 포함될 수 있다. 디바이스는 GPS가 켜져 있는 경우, 복수의 마커를 위치에 따라 실시간으로 클러스터링 할 수 있다.
다른 실시예에 따라, 디바이스는 사용자의 선택에 따라 복수의 마커를 클러스터링 하기 위한 기준이 되는 속성을 결정할 수 있다. 예를 들어, 사용자가 복수의 마커를 클러스터링 하기 위한 기준이 되는 속성인 위치, 시간 및 마커로 이용된 실제 오브젝트의 종류 중 시간을 선택한 경우, 디바이스는 시간에 기초하여 복수의 마커를 클러스터링 할 수 있다.
단계 S220에서, 디바이스는 클러스터링 된 복수의 마커 중 어느 하나를 적어도 하나의 그룹 각각의 대표 마커로 결정할 수 있다.
예를 들어, 디바이스는 클러스터링 결과 생성된 그룹 1에 포함된 마커 1, 마커 2 및 마커 3 중 어느 하나를 그룹 1의 대표 마커로 결정할 수 있다.
한편, 일 실시예에 따른 디바이스는 수신된 사용자 입력에 기초하여 그룹의 대표 마커를 결정할 수 있다. 다만, 이는 일 실시예일 뿐, 디바이스는 다른 실시예에 따라, 그룹 내에 포함된 복수의 마커 중 가장 먼저 생성된 마커를 대표 마커로 결정할 수도 있다.
단계 S230에서, 디바이스는 적어도 하나의 그룹 각각의 대표 마커 중 디바이스에서 인식된 제 1 장면과 대응되는 대표 마커가 식별됨에 따라, 제 1 장면의 인식 이후에 인식되는 제 2 장면에 대한 마커의 식별을 위해 식별된 대표 마커의 그룹에 포함된 마커를 다른 마커 보다 우선적으로 검색할 수 있다.
디바이스는, 제 1 장면이 인식되는 경우, 클러스터링 결과 생성된 적어도 하나의 그룹 각각의 대표 마커와 제 1 장면을 비교할 수 있다. 디바이스는 비교 결과, 제 1 장면 내에 포함된 실제 오브젝트와 대응되는 대표 마커를 식별할 수 있다. 디바이스는 대표 마커가 식별됨에 따라, 제 1 장면 이후에 인식되는 다른 장면에 대해, 대표 마커가 포함된 그룹에 포함된 다른 마커의 검색 순위를 높일 수 있다.
디바이스는 대표 마커가 식별된 경우, 이후의 다른 장면 인식 시, 대표 마커와 동일한 클러스터에 포함된 다른 마커를 먼저 검색함으로써, 마커 검색에 소모되는 컴퓨팅 파워를 줄일 수 있다.
한편, 일 실시예에 따른 대표 마커는 텍스트 또는 숫자로 구성된 QR(Quick Response) 코드 형태일 수 있다. 디바이스는 대표 마커가 QR 코드로 구성된 경우, 장면에 포함된 QR 코드를 인식하여, 인식된 QR 코드가 포함된 그룹에 포함된 마커를 다른 마커 보다 우선적으로 검색할 수 있다.
단계 S240에서, 디바이스는 검색 결과 식별된 마커를 기초로 제 2 장면에 매핑되는 AR 오브젝트를 제 2 장면에 중첩하여 표시할 수 있다.
디바이스는, 우선적으로 대표 마커가 포함된 그룹의 다른 마커를 검색한 결과, 제 2 장면에 대응되는 마커가 식별된 경우, 식별된 마커에 매핑된 AR 오브젝트를 결정할 수 있다. 예를 들어, 디바이스는 마커가 식별됨에 따라, 기 저장된 매핑 데이터베이스로부터 식별된 마커에 대응되는 AR 오브젝트를 추출할 수 있다. 매핑 데이터베이스는 마커와 대응되는 AR 오브젝트에 관한 정보를 저장한 데이터베이스로, 디바이스는 AR 서비스를 제공하기 위해 매핑 데이터베이스를 구비하여 관리할 수 잇다.
또한, 디바이스는 식별된 마커를 기준으로 제 2 장면에 중첩되어 표시되는 AR 오브젝트의 위치를 결정할 수 있다. 예를 들어, 디바이스는 식별된 마커 위에 AR 오브젝트를 중첩하여 표시하거나, 다른 예에 따라 식별된 마커를 기준으로 기 설정된 방향 및 거리 상에 AR 오브젝트를 중첩하여 표시할 수도 있다.
한편, 다른 실시예에 따라 디바이스는 단계 S210 내지 단계 S240을 참조하여 전술한 대표 마커 및 AR 오브젝트를 외부의 서버로부터 다운로드 하거나, 디바이스에서 결정된 그룹 별 대표 마커 및 AR 오브젝트를 외부의 서버에 업로드 할 수 있다. 이에 따라, 디바이스는 다른 디바이스로부터 외부의 서버에 업로드 된 대표 마커 및 AR 오브젝트를 이용하거나, 다른 디바이스에 대표 마커 및 AR 오브젝트를 제공할 수 있다.
도 3은 일 실시예에 따른 디바이스(100)가 인식된 장면에 대응되는 마커를 검색하는 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 디바이스(100)는 제 1 장면(310)이 인식됨에 따라, 기 저장된 복수의 대표 마커 중 제 1 장면(310)에 대응되는 대표 마커가 존재하는지 여부를 판단할 수 있다. 여기에서, 디바이스(100)는 데이터베이스(320)에 복수의 마커를 마커의 속성에 따라 클러스터링 한 결과 생성된 복수의 그룹(330, 340)에 관한 정보를 저장하고 있는 것으로 가정한다. 또한, 디바이스(100)는 현실 세계의 장면에 AR 오브젝트를 중첩하여 표시하는 AR 모드로 동작하고 있는 것을 가정한다. 다만, 이는 일 예일 뿐, 디바이스(100)가 AR 모드에서만 전술한 동작을 수행하는 것은 아니다.
디바이스(100)는 판단 결과, 제 1 장면(310)에 포함된 종이접기 책 표지(311)가 그룹 1(330)의 대표마커 a(331)에 해당함을 확인할 수 있다. 디바이스(100)는 제 1 장면(310)에 대응되는 대표마커 a(331)가 식별됨에 따라, 제 1 장면(310) 이후에 인식될 수 있는 다른 장면을 위해, 그룹 1(330)에 포함된 다른 마커에 대한 검색 순위를 높일 수 있다.
예를 들어, 디바이스(100)는 종이접기 책 표지(311)가 인식됨에 따라, 이후에 종이접기 책 내용이 장면으로 인식될 것임을 추정할 수 있다. 따라서, 디바이스(100)는 그룹 1(330)에 포함된 종이접기에 관한 마커가 우선적으로 검색될 수 있도록 검색 순위를 조정할 수 있다.
이에 따라, 디바이스(100)는 제 2 장면(340)이 인식되는 경우, 그룹 1(330)에 포함된 마커를 우선적으로 검색하여, 제 2 장면(340)에 대응되는 마커가 존재하는지 여부를 판단할 수 있다. 디바이스(100)는 제 2 장면(340)에 포함된 고래 종이접기 모형(352)이 그룹 1(330)의 마커 1(332)인 것으로 식별됨에 따라, 마커 1(332)에 매핑되는 AR 오브젝트인 잠수함 이미지(360)를 획득할 수 있다. 디바이스(100)는 획득된 잠수함 이미지(360)를 제 2 장면(350)에 중첩하여 표시함으로써, 사용자에게 AR 서비스를 제공할 수 있다.
도 4는 다른 실시예에 따른 디바이스(100)가 인식된 장면에 대응되는 마커를 검색하는 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 디바이스(100)는 디바이스(100)는 제 1 장면(410)이 인식됨에 따라, 기 저장된 복수의 대표 마커 중 제 1 장면(410)에 대응되는 대표 마커가 존재하는지 여부를 판단할 수 있다. 여기에서, 디바이스(100)는 데이터베이스(420)에 복수의 마커를 마커의 속성에 따라 클러스터링 한 결과 생성된 복수의 그룹(430, 440)에 관한 정보를 저장하고 있는 것으로 가정한다.
디바이스(100)는 판단 결과, 제 1 장면(410)에 포함된 매표소(411)가 그룹 2(440)의 대표마커 b(441)에 해당함을 확인할 수 있다. 그룹 2(440)는 마커가 생성된 위치에 따라 복수의 마커를 클러스터링 한 결과, 생성된 남산 타워 관련 마커의 그룹일 수 있다. 디바이스(100)는 제 1 장면(410)에 대응되는 대표마커 b(441)가 식별됨에 따라, 제 1 장면(410) 이후에 인식될 수 있는 다른 장면을 위해, 그룹 2(440)에 포함된 다른 마커에 대한 검색 순위를 높일 수 있다.
예를 들어, 디바이스(100)는 남산타워의 매표소(411)가 인식됨에 따라, 이후에 남산타워의 장면이 인식될 것임을 추정할 수 있다. 따라서, 디바이스(100)는 그룹 2(440)에 포함된 남산타워에 관한 마커가 우선적으로 검색될 수 있도록 검색 순위를 조정할 수 있다.
이에 따라, 디바이스(100)는 제 2 장면(450)이 인식되는 경우, 그룹 2(440)에 포함된 마커를 우선적으로 검색하여, 제 2 장면(450)에 대응되는 마커가 존재하는지 여부를 판단할 수 있다. 디바이스(100)는 제 2 장면(450)의 남산 타워(452)가 그룹 2(440)의 마커 n(442)인 것으로 식별됨에 따라, 마커 n(442)에 매핑되는 AR 오브젝트인 불꽃놀이 이미지(460)를 획득할 수 있다. 디바이스(100)는 획득된 불꽃놀이 이미지(460)를 제 2 장면(450)에 중첩하여 표시함으로써, 사용자에게 AR 서비스를 제공할 수 있다.
도 5는 일 실시예에 따른 디바이스가 장면 내에서 마커를 변경하는 방법을 설명하기 위한 흐름도이다.
단계 S510에서, 디바이스는 인식된 장면 내의 적어도 하나의 마커 각각에 중첩되어 표시되는 AR 오브젝트에 대해 기 설정된 유형의 사용자 입력이 수신됨에 따라 마커로부터 AR 오브젝트를 분리할 수 있다.
일 실시예에 따른 디바이스는, 인식된 장면에서 적어도 하나의 마커가 식별됨에 따라, 식별된 적어도 하나의 마커 각각에 매핑된 AR 오브젝트를 장면에 중첩하여 표시할 수 있다. 예를 들어, 디바이스는 식별된 마커 상에 AR 오브젝트를 중첩하여 표시할 수 있다. 다만, 이는 일 예일 뿐, AR 오브젝트가 표시되는 위치가 마커의 위치로 한정되는 것은 아니다. 다른 예에 따라, AR 오브젝트는 마커를 기준으로 기 설정된 좌표 위치에 표시될 수도 있다.
한편, 디바이스는 AR 오브젝트가 표시된 위치에 기 설정된 유형의 사용자 입력을 수신할 수 있다. 예를 들어, 디바이스는 AR 오브젝트를 임계 시간 이상 터치하는 롱 프레스 터치(long press touch) 입력을 수신할 수 있다. 디바이스는 AR 오브젝트 상에 사용자 입력이 수신된 경우, 사용자가 AR 오브젝트를 이동시키고자 하는 것으로 판단할 수 있다. 이에 따라, 디바이스는 디바이스의 모드를 매핑 변경 모드로 설정할 수 있다.
단계 S520에서, 디바이스는 수신되는 사용자의 입력의 위치에 따라, 분리된 AR 오브젝트가 디바이스에서 인식되는 적어도 하나의 장면 내에서 표시되는 위치를 결정할 수 있다.
디바이스는 매핑 변경 모드에서 사용자가 보다 용이하게 AR 오브젝트의 위치를 변경할 수 있도록, 수신되는 사용자의 입력의 위치에 따라 AR 오브젝트를 이동시킬 수 있다. 여기에서, AR 오브젝트와 마커가 분리된 상태임에 따라, 사용자는 디바이스에 마커를 인식시키기 위해 고정된 자세를 유지할 필요가 없다. 이에 따라, 사용자가 AR 오브젝트를 드래그하는 동안 사용자가 디바이스 또는 디바이스의 카메라의 위치 및 방향 등이 변경되어, 기존에 매핑된 마커가 인식되지 않는 경우에도, 디바이스의 화면에는 장면과 AR 오브젝트가 중첩되어 표시될 수 있다.
또한, 사용자는 인식된 장면을 고정적으로 표시하기 위해, 한 자세를 계속 유지할 필요 없이, 디바이스 또는 디바이스의 카메라의 위치 및 방향이 변경된 상태에서도, 변경하고자 하는 마커의 위치까지 AR 오브젝트를 용이하게 이동시킬 수 있다.
단계 S530에서, 디바이스는 장면 내에서 사용자 입력이 해제된 위치에 AR 오브젝트의 마커를 설정할 수 있다.
일 실시예에 따른 디바이스는 매핑 변경 변경 모드에서, AR 오브젝트를 드래그하는 사용자 입력이 중단되는 시점의 드래그 입력의 위치를 기초로 새로운 마커를 생성할 수 있다. 예를 들어, 디바이스는 (x1, y1)의 위치의 마커에 중첩되어 표시되는 AR 오브젝트를 사용자가 드래그 입력을 통해 (x2, y2)로 이동시키고, (x2, y2) 위치에서 드래그 입력이 중단된 경우, 디바이스는 (x2, y2)에 위치하는 실제 오브젝트를 마커로 생성할 수 있다.
다만, 이는 일 실시예일 뿐, 매핑 정보 변경을 위해 수신되는 사용자 입력의 유형이 전술한 예에 한정되는 것은 아니다. 다른 예에 따라, 디바이스는 인식된 마커에 매핑되어 표시되는 AR 오브젝트를 사용자가 길게 터치한 후 디바이스의 화면 밖으로 드래그하는 경우, 해당 마커의 등록을 해제할 수 있다.
도 6은 일 실시예에 따른 디바이스(100)가 장면 내에서 마커를 변경하는 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 디바이스(100)는 인식된 장면(610) 내에서 마커(615)를 식별할 수 있다. 디바이스(100)는 마커(615)가 식별됨에 따라, 인식된 장면(610)에 매핑되는 AR 오브젝트(620)를 획득할 수 있다. 이에 따라, 디바이스(100)는 마커(615)에 AR 오브젝트(620)를 중첩하여 표시할 수 있다.
일 실시예에 따른 디바이스(100)는 AR 오브젝트(620)가 표시된 상태에서, 사용자로부터 AR 오브젝트(620) 상에 롱 프레스 터치 입력(630)을 수신할 수 있다. 디바이스(100)는 AR 오브젝트(620) 상에 롱 프레스 터치 입력(630)이 수신됨에 따라, 디바이스(100)의 모드를 매핑 변경 모드로 설정할 수 있다.
매핑 변경 모드에서는, 사용자의 입력의 위치에 따라 AR 오브젝트(620)가 이동할 수 있다. 예를 들어, 디바이스(100)는 롱 프레스 터치 입력(630)이 수신된 이후에 연속적으로 드래그 입력(640)이 수신되는 경우, 드래그 입력(640)이 수신되는 위치를 따라 AR 오브젝트(620)가 이동할 수 있다.
한편, 디바이스(100)는 드래그 입력이 해제(640)됨에 따라 해제된 시점에서의 드래그 입력의 위치를 기초로 새로운 마커를 결정할 수 있다. 예를 들어, 디바이스(100)는 드래그 입력의 해제 위치에 대응되는 실제 오브젝트인 제 2 액자(618)를 새로운 마커로 결정할 수 있다. 이에 따라, 이후에 디바이스(100)에서 AR 서비스를 제공하는 경우에는, 제 2 액자(618)가 인식됨에 따라, 제 2 액자(618)에 대응되는 위치에 AR 오브젝트(620)가 중첩되어 표시될 수 있다.
도 7은 일 실시예에 따른 디바이스가 마커 보정 정보를 기초로 마커를 인식하여 사용자에 의해 생성된 AR 오브젝트를 제공하는 방법을 설명하기 위한 흐름도이다.
단계 S710에서, 디바이스는 인식된 제 1 장면이 디바이스의 화면에 표시되는 동안 사용자로부터 수신된 데이터를 기초로 AR 오브젝트를 생성할 수 있다.
일 실시예에 따른 디바이스는 제 1 장면이 화면에 표시되는 동안 사용자로부터 필기 데이터, 사용자의 음성 데이터, 이미지, 음악, 텍스트 및 동영상 중
중 적어도 하나를 수신할 수 있다. 다만, 이는 일 예일 뿐, 사용자로부터 수신 가능한 데이터가 전술한 예에 한정되는 것은 아니다.
또한, 디바이스는 사용자로부터 수신된 데이터를 제 1 장면에 대한 AR 오브젝트로 생성할 수 있다.
단계 S720에서, 디바이스는 제 1 장면을 AR 오브젝트의 마커로 결정할 수 있다.
디바이스는 사용자로부터 수신된 데이터를 기초로 AR 오브젝트가 생성됨에 따라, AR 오브젝트를 제 1 장면에 매핑하기 위해, 제 1 장면을 AR 오브젝트의 마커로 결정할 수 있다. 다만, 이는 일 예일 뿐, 제 1 장면에 포함된 실제 오브젝트가 AR 오브젝트의 마커로 결정될 수도 있다.
단계 S730에서, 디바이스는 제 1 장면이 인식된 시점의 사용자의 위치 및 디바이스의 방향 중 적어도 하나를 포함하는 마커 보정 정보를 AR 오브젝트 및 마커에 매핑하여 저장할 수 있다.
일 실시예에 따른 디바이스는 제 1 장면이 인식된 시점의 사용자의 위치 및 디바이스의 방향 등에 관한 정보를 획득할 수 있다. 제 1 장면이 마커로 사용되는 경우, 디바이스가 제 1 장면과 동일한 대상을 인식함에도 불구하고 사용자의 위치 및 디바이스의 방향에 따라 다른 장면이 획득될 수 있어, 마커를 식별하기 어려울 수 있다. 이에 따라, 디바이스는 마커 인식률을 높이기 위해, 제 1 장면이 인식된 시점에서의 사용자의 위치 및 디바이스의 방향 등에 관한 정보를 마커 보정 정보로서 획득할 수 있다.
단계 S740에서, 디바이스는 마커 보정 정보의 저장 이후에 제 2 장면이 인식됨에 따라 제 2 장면을 마커 보정 정보에 기초하여 마커와 비교한 결과, 제 2 장면이 마커에 대응되는 경우 AR 오브젝트를 제 2 장면에 중첩하여 표시할 수 있다.
디바이스는 이후에 인식된 제 2 장면과 마커를 비교하는 경우, 정확도를 높이기 위해, 마커로 이용되는 제 1 장면의 인식 시, 사용자의 위치 및 디바이스의 방향 등을 고려하여, 마커와 제 2 장면을 비교할 수 있다.
디바이스는, 비교 결과 제 2 장면이 마커에 대응됨에 따라, 마커를 기초로 매핑된 AR 오브젝트를 제 2 장면에 중첩하여 표시할 수 있다.
도 8은 일 실시예에 따른 디바이스(100)가 마커 보정 정보를 기초로 마커를 인식하여 사용자에 의해 생성된 AR 오브젝트를 제공하는 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 디바이스(100)는 호수 a 위치의 b 방향에서 촬영된 제 1 장면(810)을 화면 상에 표시할 수 있다. 여기에서, 디바이스(100)는 인식된 디바이스(100)의 주변의 장면을 화면에 표시하는 프리뷰 모드로 동작하고 있는 것으로 가정한다.
사용자는 제 1 장면(810)이 표시되고 있는 디바이스(100)의 화면 상에 입력 장치(820)를 통해 필기 데이터를 입력할 수 있다. 예를 들어, 사용자는 디바이스(100)의 화면에 펜 등의 입력 장치(820)를 이용하여, "2017년 9월 15일 석촌 호수"라는 필기 데이터를 입력할 수 있다. 디바이스(100)는 사용자로부터 입력된 필기 데이터를 제 1 장면(810)에 대한 AR 오브젝트(822)로 생성할 수 있다. 또한, 디바이스(100)는 제 1 장면(810)을 AR 오브젝트(822)에 대한 마커로 결정할 수 있다.
한편, 일 실시예에 따른 디바이스(100)는 제 1 장면(810)이 인식된 시점의 사용자의 위치 및 디바이스(100)의 방향 정보를 마커 보정 정보로 획득할 수 있다. 예를 들어, 디바이스(100)는 제 1 장면(810)이 인식된 시점의 사용자의 위치가 석촌 호구 및 3시 방향이라는 정보를 마커 보정 정보로 획득할 수 있다. 디바이스(100)는 사용자가 저장 버튼(830)을 터치하는 경우, 데이터 입력이 종료된 것으로 결정하고, 마커 보정 정보를 획득할 수 있다. 또한, 디바이스(100)는 마커 보정 정보를 제 1 장면(810)인 마커 및 AR 오브젝트(822)와 매핑하여 저장할 수 있다.
디바이스(100)는 마커 보정 정보의 저장 이후에 제 2 장면(840)이 인식되는 경우, 마커 보정 정보를 기초로 보정된 제 1 장면(810)과 제 2 장면(840)을 비교하여, 제 1 장면(810)과 제 2 장면(840)이 동일한 대상을 인식한 결과인지 여부를 판단할 수 있다. 예를 들어, 제 2 장면(840)이 동일한 석촌 호수의 장면임에도 불구하고, 디바이스(100)의 방향이 제 1 장면(810) 인식 당시의 방향과 상이한 경우, 디바이스(100)는 제 1 장면(810)과 제 2 장면(840)이 동일한 대상을 인식한 결과라는 것을 식별하지 못할 수 있다. 이에 따라, 디바이스(100)는 제 1 장면(810)이 인식된 시점의 디바이스(100)의 방향 등을 고려하여, 제 2 장면(840)과 제 1 장면(810)을 비교할 수 있다.
디바이스(100)는 제 1 장면(810)과 제 2 장면(840)이 동일한 대상을 인식한 결과인 것으로 판단된 경우, 이전에 사용자의 필기 데이터를 기초로 생성된 AR 오브젝트(822)를 제 2 장면(840)에 중첩하여 표시할 수 있다.
도 9는 일 실시예에 따른 디바이스가 마커에 대응되는 AR 오브젝트에 관한 정보를 제공하는 방법을 설명하기 위한 흐름도이다.
단계 S910에서, 디바이스는 사용자 입력에 기초하여 복수의 마커 중 어느 하나를 선택할 수 있다.
일 실시예에 따른 디바이스는 복수의 마커를 저장할 수 있다. 복수의 마커 각각은 디바이스에서 인식 가능한 장면 내의 실제 오브젝트와 AR 오브젝트 간의 매핑 정보를 저장할 수 있다.
디바이스는 저장된 복수의 마커에 관한 정보를 화면에 표시할 수 있다. 예를 들어, 디바이스는 복수의 마커 각각을 나타내는 썸네일 이미지를 리스트 형태로 화면에 표시할 수 있다. 다른 예에 따라, 디바이스는 마커 생성 시 설정된 마커의 이름을 디바이스의 화면에 배열할 수도 있다.
사용자는 화면에 표시된 복수의 마커에 관한 정보 중 사용자가 확인하고 싶어하는 마커의 정보를 선택할 수 있다. 예를 들어, 사용자는 확인하고 싶은 마커의 썸네일 이미지 또는 마커의 이름을 터치함으로써, 복수의 마커 중 어느 하나를 선택할 수 있다.
단계 S920에서, 디바이스는 인식된 장면이 화면에 표시되는 프리뷰 모드로 전환 후, 화면 상에 선택된 마커를 중첩하여 표시할 수 있다.
일 실시예에 따른 디바이스는 복수의 마커 중 어느 하나가 선택됨에 따라, 사용자에게 실제 AR 서비스가 제공되는 환경과 동일한 환경을 제공할 수 있도록 디바이스를 프리뷰 모드로 전환할 수 있다. 여기에서, 프리뷰 모드는 디바이스에서 인식된 장면을 화면에 표시하는 모드를 나타낼 수 있다.
디바이스는 프리뷰 모드로 전환함에 따라, 화면 상에 표시된 장면 상에 선택된 마커를 중첩하여 표시할 수 있다. 예를 들어, 사용자가 뉴욕 여행 사진이 들어 있는 액자를 마커로 선택한 경우, 디바이스는 인식된 장면이 화면에 표시되는 상황에서, 뉴욕 여행 사진이 들어 있는 액자를 화면에 중첩하여 표시할 수 있다.
단계 S930에서, 디바이스는 마커에 기 설정된 AR 오브젝트를 중첩하여 표시할 수 있다.
일 실시예에 따른 디바이스는 사용자의 요청에 따라 마커에 기 설정된 AR 오브젝트를 마커에 중첩하여 표시할 수 있다. 여기에서, 사용자의 요청은 다양한 형태로 수신될 수 있다. 예를 들어, 디바이스는 마커가 표시된 상태에서 추가적으로 제공되는 디바이스의 AR 이미지를 드래그하는 사용자 입력이 수신된 경우, 디바이스의 AR 이미지가 화면 상에 표시됨에 따라 마커에 중첩하여 AR 오브젝트를 표시할 수 있다. 이에 대해서는, 도 10을 참조하여 보다 구체적으로 후술하도록 한다.
한편, 이는 일 실시예일 뿐, 사용자가 선택된 마커 상에 AR 오브젝트를 표시하기 위해 제공해야 하는 사용자 입력의 형태가 전술한 형태에 한정되는 것은 아니다. 다른 예에 따라, 사용자는 프리뷰 모드에서 마커가 표시된 이후에, 마커를 터치함으로써, 마커 상에 AR 오브젝트가 중첩되어 표시되도록 할 수도 있다.
도 10은 일 실시예에 따른 디바이스(100)가 마커에 대응되는 AR 오브젝트에 관한 정보를 제공하는 방법을 설명하기 위한 도면이다.
도 10을 참조하면, 디바이스(100)는 복수의 마커에 관한 썸네일 이미지가 표시된 리스트(1010)를 화면 상에 표시할 수 있다. 디바이스(100)는 복수의 마커에 관한 썸네일 이미지 중 어느 하나를 선택하는 사용자 입력을 수신할 수 있다. 본 실시예에서는 사용자 입력에 기초하여 복수의 마커 중 마커 H(1015)가 선택된 것으로 가정한다.
디바이스(100)는 마커 H(1015)가 선택됨에 따라, 디바이스(100)를 프리뷰 모드로 전환할 수 있다. 프리뷰 모드로 전환됨에 따라, 디바이스(100)에는 디바이스(100)에서 인식되고 있는 현실 세계의 장면(1020)이 실시간으로 표시될 수 있다. 또한, 디바이스(100)는 프리뷰 모드에서 표시되고 있는 장면(1020)에 선택된 마커 H(1015)를 중첩하여 표시할 수 있다.
한편, 디바이스(100)는 선택된 마커 H(1015)가 중첩되어 표시됨에 따라, 디바이스(100)의 화면 상의 일 측면에 디바이스의 AR 이미지(1030)의 일부를 표시할 수 있다. 본 실시예에서, 디바이스(100)는 디바이스의 AR 이미지(1030)를 드래그 하는 사용자 입력이 수신되는 경우, 사용자가 선택된 마커 H(1015)에 대응되는 AR 오브젝트의 표시를 요청하는 것으로 판단할 수 있다.
디바이스(100)는 디바이스의 AR 이미지(1030)의 일부를 드래그하는 사용자 입력이 수신됨에 따라, 프리뷰 모드에서 표시되고 있는 장면(102) 상에서, 마커 H(1015)에 대해 기 설정된 AR 오브젝트(1040)를 중첩하여 표시할 수 있다.
이에 따라, 사용자는 디바이스(100)에 기 생성되어 있는 복수의 마커 각각에 대응되는 AR 오브젝트를 실제 장면 인식 전에 미리 확인할 수 있다.
도 11은 일 실시예에 따른 디바이스가 기 저장된 컨텐트를 기초로 AR 오브젝트 및 AR 오브젝트를 장면과 매핑하기 위한 마커를 생성하는 방법을 설명하기 위한 흐름도이다.
단계 S1110에서, 디바이스는 복수의 컨텐트 각각이 획득된 위치, 시간 및 사용자 입력을 통해 설정된 소정의 기준 중 적어도 하나에 기초하여 복수의 컨텐트를 적어도 하나의 그룹으로 클러스터링 할 수 있다. 여기에서, 컨텐트는 이미지, 음성, 음악, 필기 정보, 텍스트 및 동영상 중 적어도 하나를 포함할 수 있다.
예를 들어, 디바이스는 위치 A에서 촬영된 이미지 및 위치 B에서 촬영된 이미지로 복수의 이미지를 클러스터링 하거나 기념일에 촬영된 이미지 또는 특정 날짜에 촬영된 이미지 등으로 복수의 이미지를 클러스터링 할 수 있다. 다른 예에 따라, 디바이스는 사용자가 설정한 임의의 기준에 기초하여 복수의 이미지를 클러스터링 할 수 있다. 다만, 이는 일 예일 뿐, 클러스터링 대상이 되는 컨텐트가 이미지에 한정되는 것은 아니다. 다른 예에 따라, 디바이스는 음성, 음악, 필기 정보, 텍스트 및 동영상을 클러스터링 할 수도 있고, 전술한 구성 요소들이 두 개 이상 조합된 컨텐트를 클러스터링 할 수도 있다.
단계 S1120에서, 디바이스는 클러스터링 결과 획득된 적어도 하나의 그룹 각각의 마커를 생성할 수 있다.
일 실시예에 따른 디바이스는 적어도 하나의 그룹 각각에 포함된 컨텐트 중 어느 하나를 마커로 선택할 수 있다. 예를 들어, 디바이스는 사용자 입력에 기초하여, 그룹에 포함된 컨텐트 중 어느 하나를 마커로 선택할 수 있다. 다른 실시예에 따른 디바이스는 적어도 하나의 그룹 각각에 포함된 컨텐트를 조합하여 적어도 하나의 그룹 각각의 마커를 생성할 수 있다. 예를 들어, 디바이스는 그룹에 포함된 모든 이미지가 하나의 이미지에 포함될 수 있도록, 그룹 내의 이미지를 조합할 수 있다. 또 다른 예에 따라, 디바이스는 그룹에 포함된 컨텐트 뿐만 아니라, 사용자가 선택한 임의의 오브젝트를 마커로 생성할 수도 있다.
단계 S1130에서, 디바이스는 생성된 마커에 대응되는 장면이 인식됨에 따라 마커와 매핑되는 그룹의 컨텐트를 마커 상에 중첩하여 표시할 수 있다.
일 실시예에 따른 디바이스는 이후에 인식되는 장면 중 마커에 대응되는 장면이 존재하는 경우, 마커에 매핑되는 그룹을 결정할 수 있다. 예를 들어, 디바이스는 인식되는 장면에 마커 중 하나인 중국 여행 사진이 포함된 경우, 중국 여행 사진에 매핑되는 그룹을 결정할 수 있다.
디바이스는 결정된 그룹에 포함된 다른 중국 여행 사진을 마커 상에 중첩하여 표시할 수 있다. 예를 들어, 디바이스는 결정된 그룹에 포함된 다른 중국 여행 사진을 동영상 형태로 조합하여 마커 상에 중첩하여 표시할 수 있다.
도 12는 일 실시예에 따른 디바이스가 기 저장된 컨텐트를 기초로 AR 오브젝트 및 AR 오브젝트를 장면과 매핑하기 위한 마커를 생성하는 방법을 설명하기 위한 도면이다.
도 12를 참조하면, 디바이스(100)는 데이터베이스(1205)에 기 저장된 복수의 이미지를 이미지가 획득된 시간 및 위치 중 적어도 하나에 따라 복수의 그룹(1210, 1220)으로 클러스터링 할 수 있다. 또한, 디바이스(100)는 복수의 그룹(1210, 1220) 각각에 포함된 이미지 중 적어도 하나를 이용하여, 마커를 생성할 수 있다. 예를 들어, 디바이스(100)는 제 1 그룹(1210)에 포함된 제 1 이미지(1211)을 제 1 그룹(1210)에 포함된 이미지에 대한 마커로 결정할 수 있다. 여기에서, 디바이스(100)는 임의로 마커가 되는 이미지를 결정하거나, 사용자 입력에 기초하여 마커가 되는 이미지를 결정할 수 있다.
디바이스(100)는 디바이스(100)에서 장면이 인식되는 경우, 인식된 장면이 클러스터링된 그룹의 마커 중 어느 하나와 대응되는지 여부를 판단할 수 있다. 디바이스(100)는 판단 결과, 인식된 장면이 제 1 그룹(1210)의 마커인 제 1 이미지(1211)과 대응되는 경우, 제 1 그룹(1210)에 포함된 이미지로 구성된 동이미지(1230)을 제 1 이미지(1211)인 마커에 대한 AR 오브젝트로 제공할 수 있다. 이에 따라, 디바이스(100)는 마커인 제 1 이미지(1211) 위에 중첩하여 제 1 그룹(1210)에 포함된 이미지로 구성된 동영상(1230)을 표시할 수 있다.
한편, 도 12는 컨텐트의 일 예인 이미지를 기초로 AR 오브젝트를 생성하는 방법에 대해 설명하였으나, 이는 일 예일 뿐 컨텐트가 이미지에 한정되는 것은 아니다.
도 13은 일 실시예에 따른 디바이스(100)가 사용자 입력에 기초하여, 마커 및 마커에 대응되는 AR 오브젝트를 생성하는 방법을 설명하기 위한 도면이다.
도 13을 참조하면, 디바이스(100)는 기 저장된 복수의 영상의 목록(1310)에서 사용자 입력에 기초하여 마커로 이용하고자 하는 영상을 선택할 수 있다. 예를 들어, 디바이스(100)는 기 저장된 복수의 영상의 목록(1310)에서 생일 카드 사진(1311)을 마커로 선택할 수 있다.
또한, 디바이스(100)는 선택된 마커를 편집할 수 있는 UI(User Interface, 1320)를 제공할 수 있다. 사용자는 UI를 통해 마커로 선택된 생일 카드 사진(1311)의 크기, 색상 등을 편집할 수 있다.
디바이스(100)는 마커를 선택한 이후에, 사용자 입력에 기초하여 마커에 매핑시킬 AR 오브젝트를 생성할 수 있다. 디바이스(100)는 AR 오브젝트로 사용될 수 있는 복수의 영상의 목록(1330)을 화면에 표시할 수 있다. 디바이스(100)는 표시된 목록(1330)에 수신된 사용자 입력에 기초하여, 제 1 영상(1332), 제 2 영상(1334) 및 제 3 영상(1336)을 선택할 수 있다. 디바이스(100)는 선택된 복수의 영상(1332, 1334, 1336)을 생일 카드 사진(1311)에 매핑된 AR 오브젝트(1340)로 저장할 수 있다.
한편, 디바이스(100)는 생성된 AR 오브젝트(1340)를 다른 디바이스에 제공할 수 있다. 예를 들어, 사용자는 생일 카드 사진(1311)에 매핑된 AR 오브젝트(1340)를 생일인 다른 사용자의 디바이스에 전송함으로써, 다른 사용자의 디바이스에서 생일 카드 인식 시, AR 오브젝트(1340)가 생일 카드에 중첩되어 표시될 수 있도록 하는 AR 서비스를 제공할 수 있다. 또한, 디바이스(100)는 nfc 태그 등을 이용하여, 기 설정된 거리 범위 내에 위치한 다른 디바이스에 생일 카드 사진(1311)에 AR 오브젝트(1340)를 매핑한 결과 생성된 AR 컨텐트를 제공함으로써, 다른 디바이스와 AR 컨텐트를 보다 용이하게 공유할 수 있다.
다른 실시예에 따라, 디바이스(100)는 생일 카드 사진(1311)에 AR 오브젝트(1340)를 매핑한 결과 생성된 AR 컨텐트를 외부의 서버에 등록할 수도 있다. 예를 들어, 디바이스(100)는 AR 컨텐트를 클라우드 서버 또는 다른 사용자들과 접속할 수 있는 스토어(store) 서버에 등록할 수 있다.
디바이스(100)는 AR 컨텐트에 포함된 마커, AR 오브젝트에 관한 정보를 모두 포함할 수 있도록 정의된 파일 포맷에 따라 AR 컨텐트를 등록할 수 있다. 예를 들어, 디바이스(100)는 생일 카드 사진(1311)의 식별자, 생일 카드 사진(1311)에 대해 중첩되어 표시되는 AR 오브젝트의 위도, 경도 등의 매핑 정보를 정의한 파일 포맷에 따라 AR 컨텐트를 등록할 수 있다.
도 14는 일 실시예에 따른 디바이스(100)가 이동 시 마커를 인식하는 방법을 설명하기 위한 도면이다.
도 14를 참조하면, 디바이스(100)는 특정 오브젝트(1402)가 촬영됨에 따라 인식된 장면(1410)에서, 특정 오브젝트(1402)가 마커인지 여부를 판단할 수 있다. 디바이스(100)는 특정 오브젝트(1402)가 기 설정된 제 1 마커(1412)에 대응되는 것으로 판단된 경우, 제 1 마커(1412)에 매핑되는 AR 오브젝트를 인식된 장면(1410)에 중첩하여 표시할 수 있다.
한편, 사용자의 움직임에 따라 디바이스(100)가 이동하는 경우, 디바이스(100)에는 복수의 오브젝트(1402, 1404)가 포함된 장면이 인식될 수 있다. 디바이스(100)는 사용자의 움직임에 따라 표시되는 AR 오브젝트를 변경할 수 있도록, 복수의 오브젝트(1402, 1404)에 각각 대응되는 마커가 존재하는지 여부를 판단할 수 있다.
디바이스(100)는 복수의 오브젝트(1402, 1404)에 각각 대응되는 마커가 존재하는 경우, 장면 내에 포함된 각 마커(1414, 1416)의 면적을 비교할 수 있다. 디바이스(100)는 비교 결과, 장면 내에 포함된 제 2 마커(1416)의 면적이 장면 내에 포함된 제 1 마커(1414)의 면적 보다 큰 경우, 제 2 마커(1416)에 매핑되는 AR 오브젝트를 인식된 장면에 중첩하여 표시할 수 있다.
도 15는 일 실시예에 따른 디바이스(100)에서 사용자의 입력에 따라 복수의 마커(1512, 1514, 1516) 중 어느 하나를 선택하는 방법을 설명하기 위한 도면이다.
도 15를 참조하면, 디바이스(100)는 복수의 오브젝트가 포함된 장면을 인식할 수 있다. 디바이스(100)는 인식된 장면에 포함된 복수의 오브젝트 각각이 마커인지 여부를 판단할 수 있다.
일 실시예에 따른 디바이스(100)는 복수의 오브젝트 각각에 대응되는 제 1 마커(1512), 제 2 마커(1514) 및 제 3 마커(1516)가 존재하는 경우, 인식된 모든 마커(1512, 1514, 1516)를 사용자가 인지할 수 있도록 마커의 주변에 식별 표시를 나타낼 수 있다. 예를 들어, 디바이스(100)는 제 1 마커(1512), 제 2 마커(1514) 및 제 3 마커(1516)의 에지에 점선 표시를 나타낼 수 있다.
사용자는 식별 표시를 통해 장면에 포함된 복수의 마커(1512, 1514, 1516)를 인식하고, 인식된 복수의 마커(1512, 1514, 1516) 중 어느 하나를 선택할 수 있다. 예를 들어, 사용자는 복수의 마커(1512, 1514, 1516)중 제 2 마커(1514)를 터치하여 선택할 수 있다.
또한, 디바이스(100)는 사용자에 의해 선택된 제 2 마커(1514)에 대응되는 AR 오브젝트(1520)를 인식된 장면(1510)에 중첩하여 표시할 수 있다.
도 16은 일 실시예에 따른 디바이스(100)의 사용자에게 마커 인식을 위한 가이드 정보를 제공하는 방법을 설명하기 위한 도면이다.
도 16을 참조하면, 디바이스(100)는 마커를 등록하는 경우, 현재 인식된 장면(1610)이 마커 등록 조건을 만족하지 못하는 경우, 사용자에게 가이드 정보를 제공할 수 있다. 예를 들어, 디바이스(100)는 사용자에게 디바이스(100)를 기울일 것을 요청하는 텍스트가 포함된 가이드 정보(1620)를 표시할 수 있다. 여기에서, 마커 등록 조건이 만족되는지 여부를 판단하기 위해, 디바이스(100)는 조명, 기울기 센서 등 디바이스(100)에 구비된 다양한 센서로부터 획득된 디바이스(100)의 상태 정보를 이용할 수 있다.
디바이스(100)는 사용자가 가이드 정보에 따라 디바이스(100)의 기울기를 변경하여, 인식된 장면(1610)이 마커 등록 조건을 만족함에 따라, 인식된 장면(1610)에 포함된 오브젝트를 마커로 등록할 수 있다. 또한, 디바이스(100)는 등록된 마커에 매핑되는 AR 오브젝트(1630)를 사용자가 미리 확인할 수 있도록, 인식된 장면(1610)에 중첩하여 표시할 수 있다.
도 17은 일 실시예에 따른 디바이스(100)가 마커(1710)에 적어도 하나의 AR 오브젝트(1742, 1744, 1746)를 매핑하는 방법을 설명하기 위한 도면이다.
도 17을 참조하면, 디바이스(100)는 마커(1710)에 대응되는 AR 오브젝트를 등록할 수 있는 사용자 인터페이스를 제공할 수 있다. 예를 들어, 디바이스(100)는 특정된 마커(1710)를 화면의 일부에 표시할 수 있다.
또한, 디바이스(100)는 마커(1710)가 표시된 부분의 상단 부분에 현재 마커(1710)에 매핑되도록 등록된 적어도 하나의 AR 오브젝트(1742, 1744, 1746)가 표시되는 AR 오브젝트 편집 영역(1720)을 표시할 수 있다. 일 실시예에 따른 적어도 하나의 AR 오브젝트(1742, 1744, 1746)는 이미지, 동영상, 음악 및 텍스트 등 다양한 컨텐트로 구성될 수 있다.
사용자는 AR 오브젝트 편집 영역(1720)에 표시된 적어도 하나의 AR 오브젝트(1742, 1744, 1746)를 편집할 수 있다. 일 실시예로 사용자는 AR 오브젝트 편집 영역(1720)에 표시된 적어도 하나의 AR 오브젝트(1742, 1744, 1746) 중 하나를 터치하여 드래그함으로써, 적어도 하나의 AR 오브젝트(1742, 1744, 1746)가 출력되는 순서를 변경할 수 있다. 예를 들어, 사용자가 제 1 AR 오브젝트(1742)를 드래그하여, 제 2 AR 오브젝트(1744)와 위치를 변경하는 경우, 제 2 AR 오브젝트(1744)가 제 1 AR 오브젝트(1742) 보다 먼저 출력될 수 있다. 이에 따라, 동영상인 제 2 AR 오브젝트(1744)가 출력된 이후에, 이미지인 제 1 AR 오브젝트(1742)가 출력될 수 있다.
다만, 이는 일 예일 뿐, 디바이스(100)의 AR 오브젝트 편집 영역(1720)에 표시된 적어도 하나의 AR 오브젝트(1742, 1744, 1746) 중 적어도 일부가 중첩되어 출력되도록 설정될 수도 있다. 예를 들어, 사용자의 설정에 따라, 음악 파일인 제 3 AR 오브젝트(1746)가 제 1 AR 오브젝트(1742) 및 제 2 AR 오브젝트(1744)와 중첩되어 출력될 수 있다. 이에 따라, 이미지인 제 1 AR 오브젝트(1742) 및 동영상인 제 2 AR 오브젝트(1744)가 출력되는 동안, 제 3 AR 오브젝트(1746)가 배경 음악으로 중첩되어 출력될 수 있다.
또한, 디바이스(100)는 마커(1710)에 현재 매핑되어 있는 적어도 하나의 AR 오브젝트(1742, 1744, 1746) 이외에 다른 AR 오브젝트를 추가하여 등록할 수도 있다. 사용자는 디바이스(100)의 화면에 표시된 추가 버튼(1730)을 선택함으로써, 마커(1710)에 추가적으로 매핑할 수 있는 AR 오브젝트에 관한 정보를 확인할 수 있다. 예를 들어, 디바이스(100)는 추가 버튼(1730)이 선택되는 경우, 사진첩 애플리케이션에 등록되어 있는 이미지, 동영상 등의 썸네일 이미지를 화면에 표시할 수도 있다. 다만, 이는 일 예일 뿐, 추가 버튼(1730)이 선택되는 경우, 디바이스(100)는 음악 파일 등 다른 컨텐트에 관한 정보를 표시할 수도 있다.
도 18 및 도 19는 일 실시예에 따른 디바이스(100)의 블록도이다.
도 18을 참조하면, 일 실시예에 따른 디바이스(100)는 카메라(110), 적어도 하나의 프로세서(120), 디스플레이(130) 및 메모리(140)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 디바이스(100)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 디바이스(100)는 구현될 수 있다.
예를 들어, 도 19를 참조하면, 일 실시예에 따른 디바이스(1900)는, 카메라(1910), 프로세서(1920), 디스플레이(1930) 및 메모리(1940) 이외에, 입력부(1550) 및 통신부(1560) 등을 더 포함할 수 있다. 한편, 도 19의 디바이스(1900)에서 카메라(1911), 프로세서(1920), 디스플레이(1931) 및 메모리(1940)는 도 18의 카메라(110), 프로세서(120), 디스플레이(130) 및 메모리(140)와 각각 대응될 수 있다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
A/V(Audio/Video) 입력부(1910)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1911)와 마이크로폰(1912) 등이 포함될 수 있다.
카메라(1911)는 카메라 인식 범위에서의 현실 세계의 장면을 인식할 수 있다. 인식된 장면은 영상으로 캡쳐될 수 있다. 일 실시예에 따라 카메라(1911)에 의해 캡처된 영상은, 프로세서(120)에 의해 영상 처리되어 디스플레이(1931)를 통해 표시 출력될 수 있다.
마이크(1912)는 사용자의 발화(utterance)된 음성을 수신한다. 마이크(1912)는 수신된 음성을 전기 신호로 변환하여 프로세서(1920)로 출력할 수 있다.
프로세서(1920)는 통상적으로 디바이스(1900)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1920)는, 메모리(1940)에 저장된 프로그램들을 실행함으로써, A/V 입력부(1910), 출력부(1930), 입력부(1950) 및 통신부(1960) 등을 전반적으로 제어할 수 있다.
일 실시예에 따라 프로세서(1920)는, 도 1 내지 도 17에서 전술한 디바이스(100)의 기능을 수행하여 AR 서비스를 제공할 수 있도록 구성 요소들을 제어할 수 있다.
예를 들어, 프로세서(1920)는 카메라(1911)를 통해 인식되는 장면에 AR 오브젝트를 매핑하기 위한 기준이 되는 복수의 마커를 마커의 속성에 따라 적어도 하나의 그룹으로 클러스터링 할 수 있다. 또한, 프로세서(1920)는 클러스터링 된 복수의 마커 중 어느 하나를 적어도 하나의 그룹 각각의 대표 마커로 결정할 수 있다. 프로세서(1920)는 적어도 하나의 그룹 각각의 대표 마커 중 디바이스에서 인식된 제 1 장면과 대응되는 대표 마커가 식별됨에 따라, 제 1 장면의 인식 이후에 인식되는 제 2 장면에 대한 마커의 식별을 위해, 식별된 대표 마커의 그룹에 포함된 마커를 다른 마커 보다 우선적으로 검색할 수 있다.
다른 예에 따라, 프로세서(1920)는 디바이스(1900)에서 인식된 제 1 장면이 디바이스(1900)의 화면에 표시되는 동안 사용자로부터 수신된 데이터를 기초로 AR 오브젝트를 생성할 수 있다. 프로세서(1920)는 제 1 장면을 AR 오브젝트의 마커로 결정할 수 있다. 또한, 프로세서(1920)는 제 1 장면이 인식된 시점의 사용자의 위치 및 디바이스의 방향 중 적어도 하나를 포함하는 마커 보정 정보를 AR 오브젝트 및 마커에 매핑하여 저장할 수 있다. 프로세서(1920)는 마커 보정 정보의 저장 이후에 제 2 장면이 인식됨에 따라 제 2 장면을 마커 보정 정보에 기초하여 마커와 비교한 결과, 제 2 장면이 마커에 대응되는 경우 AR 오브젝트를 제 2 장면에 중첩하여 표시할 수 있다.
출력부(1930)는 데이터를 오디오 신호 또는 비디오 신호의 형태로 출력할 수 있으며, 출력부(1930)는 디스플레이(1931) 및 음향 출력부(1932)를 포함할 수 있다.
본 명세서에서, 디스플레이부(1931)는 인식된 장면을 표시한다는 점에서 화면과 교환 가능한 의미로 사용될 수 있다.
디스플레이부(1931)는 디바이스(1900)에서 처리되는 정보를 표시 출력한다. 예를 들어, 디스플레이부(1931)는 AR 오브젝트를 인식된 장면에 중첩하여 표시할 수 있다. 디스플레이부(1931)와 터치 패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1931)는 출력 장치 이외에 입력 장치로도 사용될 수 있다.
음향 출력부(1932)는 통신부(1960)로부터 수신되거나 메모리(1940)에 저장된 오디오 데이터를 출력한다.
메모리(1940)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1941) 및 터치 스크린 모듈(1942) 등으로 분류될 수 있다.
UI 모듈(1941)은, 애플리케이션 별로 디바이스(1900)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1942)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1920)로 전달할 수 있다. 본 발명의 일 실시예에 따른 터치 스크린 모듈(1942)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1942)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
메모리(1940)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM), SRAM(Static Random Access Memory), 롬(ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
입력부(1950)는 사용자가 디바이스(1900)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 입력부(1950)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일 실시예에 따라 입력부(1950)는 터치 패드를 이용하여, AR 모드로의 전환을 요청하는 사용자 입력을 수신할 수 있다. 다만, 이는 일 실시예일 뿐, 입력부(1950)는 필기 정보를 포함한 사용자 입력을 수신할 수도 있다.
통신부(1960)는 외부 서버(예를 들어, 클라우드 서버, 콘텐트 제공 서버 등) 및 기타 외부 장치와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1960)는 근거리 통신부(1961), 이동 통신부(1962), 방송 수신부(1963)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(1961)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1962)는 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 컨텐트 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1963)는 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 실시예에 따라서 디바이스(1900)가 방송 수신부(1963)를 포함하지 않을 수도 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
실시 예에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
도면에 도시된 실시 예들에서 참조 부호를 기재하였으며, 실시 예들을 설명하기 위하여 특정 용어들을 사용하였으나, 특정 용어에 의해 본 발명이 한정되는 것은 아니며, 실시 예는 당업자에 있어서 통상적으로 생각할 수 있는 모든 구성 요소들을 포함할 수 있다.
실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 또한, 실시예는 동종의 또는 서로 다른 종류의 코어들, 서로 다른 종류의 CPU들을 채용할 수도 있다. 본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
실시 예에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 실시 예의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
실시 예의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 실시 예에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 실시 예에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 실시 예들이 한정되는 것은 아니다. 실시 예에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 실시 예를 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 실시 예의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.

Claims (21)

  1. 디바이스에서 인식되는 장면에 AR(Augmented Reality) 오브젝트를 매핑하기 위한 기준이 되는 복수의 마커를 마커의 속성에 따라 적어도 하나의 마커 그룹으로 클러스터링 하는 단계;
    상기 클러스터링 된 복수의 마커 중 어느 하나를 상기 적어도 하나의 마커 그룹 각각의 대표 마커로 결정하는 단계;
    상기 적어도 하나의 마커 그룹 중, 상기 디바이스에서 인식된 제 1 장면과 대응되는 대표 마커를 포함하는 제 1 마커 그룹을 식별하는 단계;
    상기 제 1 장면의 인식 이후에 인식되는 제 2 장면과 대응되는 마커의 식별을 위해, 상기 식별된 제 1 마커 그룹에 포함된 마커를, 다른 마커 그룹보다 우선적으로 검색하는 단계; 및
    상기 검색 결과 식별된 마커를 기초로 상기 제 2 장면에 매핑되는 AR 오브젝트를 상기 제 2 장면에 중첩하여 표시하는 단계를 포함하는, AR 서비스를 제공하는 방법.
  2. 제 1 항에 있어서, 상기 복수의 마커는,
    상기 디바이스에서 인식되는 복수의 장면 각각에 포함된 실제 오브젝트를 포함하고,
    상기 마커의 속성은,
    상기 실제 오브젝트의 종류, 상기 실제 오브젝트가 포함된 장면이 상기 디바이스에서 인식된 시간 및 위치 중 적어도 하나를 포함하며,
    상기 표시하는 단계는,
    상기 마커가 식별됨에 따라, 기 저장된 매핑 데이터베이스로부터 상기 식별된 마커에 대응되는 AR 오브젝트를 추출하는 단계를 포함하는, AR 서비스를 제공하는 방법.
  3. 제 1 항에 있어서, 상기 결정하는 단계는,
    상기 클러스터링 된 복수의 마커 중 어느 하나를 선택하는 사용자 입력에 기초하여, 상기 적어도 하나의 마커 그룹 각각의 대표 마커를 결정하는, AR 서비스를 제공하는 방법.
  4. 제 1 항에 있어서, 상기 제 1 장면 및 상기 제 2 장면은,
    상기 디바이스에서 실행되는 카메라 애플리케이션의 프리뷰(preview) 모드에서 인식되는 이미지인, AR 서비스를 제공하는 방법.
  5. 제 1 항에 있어서,
    상기 디바이스에 기 획득된 복수의 컨텐트를 상기 복수의 컨텐트 각각이 획득된 위치, 시간 및 사용자 입력을 통해 설정된 소정의 기준 중 적어도 하나에 기초하여 적어도 하나의 AR 오브젝트 그룹으로 클러스터링 하는 단계;
    상기 클러스터링 된 복수의 컨텐트 중 적어도 하나를 이용하여, 상기 적어도 하나의 AR 오브젝트 그룹 각각의 마커를 생성하는 단계; 및
    상기 디바이스에서 인식된 장면이 상기 생성된 마커 중 어느 하나에 대응됨에 따라 상기 마커에 매핑되는 AR 오브젝트 그룹에 포함된 컨텐트를 상기 인식된 장면과 대응되는 마커에 중첩하여 표시하는 단계를 더 포함하고,
    상기 컨텐트는, 이미지, 음성, 음악, 필기 정보, 텍스트 및 동영상 중 적어도 하나를 포함하는, AR 서비스를 제공하는 방법.
  6. 제 1 항에 있어서,
    상기 디바이스에서 인식된 장면 내의 마커에 중첩되어 표시되는 AR 오브젝트에 대해 기 설정된 유형의 사용자 입력이 수신됨에 따라 상기 마커로부터 상기 AR 오브젝트를 분리하는 단계; 및
    상기 사용자 입력의 위치에 따라, 상기 분리된 AR 오브젝트를 상기 디바이스에서 인식되는 적어도 하나의 장면 내의 소정의 위치에 중첩하여 표시하는 단계를 더 포함하는, AR 서비스를 제공하는 방법.
  7. 사용자 입력에 기초하여, 디바이스에서 가상의 마커를 선택하는 단계;
    상기 디바이스에서 인식되는 장면 상에서, 상기 가상의 마커를 표시하는 단계; 및
    상기 가상의 마커에 매핑되는 AR 오브젝트를 상기 가상의 마커에 중첩하여 표시하는 단계를 포함하는, AR 서비스를 제공하는 방법.
  8. 제 7 항에 있어서,
    상기 디바이스에서 복수의 가상의 마커들을 표시하는 단계를 더 포함하고,
    상기 가상의 마커를 선택하는 단계는, 상기 표시된 복수의 가상의 마커들 중 상기 사용자 입력에 기초하여 상기 가상의 마커를 선택하는 단계를 포함하는, AR 서비스를 제공하는 방법.
  9. 제 7항에 있어서,
    상기 사용자 입력은 제1 사용자 입력이고,
    제2 사용자 입력에 기초하여, 상기 장면 상에서 가상의 디바이스를 표시하는 단계를 더 포함하고,
    상기 AR 오브젝트를 표시하는 단계는, 상기 가상의 마커에 매핑되는 상기 AR 오브젝트를, 상기 표시된 가상의 디바이스 내에서 표시되는 상기 가상의 마커에 중첩하여 표시하는 단계를 포함하는, AR 서비스를 제공하는 방법.
  10. 제 7 항에 있어서,
    상기 디바이스에서 인식된 제1 장면이 상기 디바이스의 화면에 표시되는 동안 사용자로부터 수신된 데이터를 기초로 제1 AR 오브젝트를 생성하는 단계;
    상기 제1 장면을 상기 제1 AR 오브젝트의 제1 마커로 결정하는 단계;
    상기 제1 장면이 인식된 시점의 상기 사용자의 위치 및 상기 디바이스의 방향 중 적어도 하나를 포함하는 마커 보정 정보를 상기 제1 AR 오브젝트 및 상기 제1 마커에 매핑하여 저장하는 단계; 및
    상기 마커 보정 정보의 저장 이후에 제2 장면이 인식됨에 따라 상기 제2 장면을 상기 마커 보정 정보에 기초하여 상기 제1 마커와 비교한 결과, 상기 제2 장면이 상기 제1 마커에 대응되는 경우 상기 제1 AR 오브젝트를 상기 제2 장면에 중첩하여 표시하는 단계를 더 포함하는, AR 서비스를 제공하는 방법.
  11. 하나 이상의 인스트럭션을 저장하는 메모리;
    디스플레이;
    디바이스 주변의 장면을 인식하는 카메라; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 카메라를 통해 인식되는 장면에 AR(Augmented Reality) 오브젝트를 매핑하기 위한 기준이 되는 복수의 마커를 마커의 속성에 따라 적어도 하나의 마커 그룹으로 클러스터링 하고,
    상기 클러스터링 된 복수의 마커 중 어느 하나를 상기 적어도 하나의 마커 그룹 각각의 대표 마커로 결정하며,
    상기 적어도 하나의 마커 그룹 중, 상기 디바이스에서 인식된 제 1 장면과 대응되는 대표 마커를 포함하는 제 1 마커 그룹을 식별하고,
    상기 제 1 장면의 인식 이후에 인식되는 제 2 장면에 응답하여, 상기 제 2 장면과 대응되는 마커의 식별을 위해, 상기 식별된 제 1 마커 그룹에 포함된 마커를 다른 마커 보다 우선적으로 검색하고,
    상기 디스플레이를 통해, 상기 검색 결과 식별된 마커를 기초로 상기 제 2 장면에 매핑되는 AR 오브젝트를 상기 제 2 장면에 중첩하여 표시하는, AR 서비스를 제공하는 디바이스.
  12. 제 11 항에 있어서, 상기 복수의 마커는,
    상기 디바이스에서 인식되는 복수의 장면 각각에 포함된 실제 오브젝트를 포함하고,
    상기 마커의 속성은,
    상기 실제 오브젝트의 종류, 상기 실제 오브젝트가 포함된 장면이 상기 디바이스에서 인식된 시간 및 위치 중 적어도 하나를 포함하며,
    상기 프로세서는,
    상기 마커가 식별됨에 따라, 기 저장된 매핑 데이터베이스로부터 상기 식별된 마커에 대응되는 AR 오브젝트를 추출하는, AR 서비스를 제공하는 디바이스.
  13. 제 11 항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 클러스터링 된 복수의 마커 중 어느 하나를 선택하는 사용자 입력에 기초하여, 상기 적어도 하나의 마커 그룹 각각의 대표 마커를 결정하는, AR 서비스를 제공하는 디바이스.
  14. 제 11 항에 있어서, 상기 제 1 장면 및 상기 제 2 장면은,
    상기 디바이스에서 실행되는 카메라 애플리케이션의 프리뷰 모드에서 인식되는 이미지인, AR 서비스를 제공하는 디바이스.
  15. 제 11 항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 디바이스에 기 획득된 복수의 컨텐트를 상기 복수의 컨텐트 각각이 획득된 위치, 시간 및 사용자 입력을 통해 설정된 소정의 기준 중 적어도 하나에 기초하여 적어도 하나의 AR 오브젝트 그룹으로 클러스터링 하고,
    상기 클러스터링 된 복수의 컨텐트 중 적어도 하나를 이용하여, 상기 적어도 하나의 AR 오브젝트 그룹 각각의 마커를 생성하며,
    상기 디바이스에서 인식된 장면이 상기 생성된 마커 중 어느 하나에 대응됨에 따라 상기 마커에 매핑되는 AR 오브젝트 그룹에 포함된 컨텐트를 상기 인식된 장면과 대응되는 마커에 중첩하여 표시하고,
    상기 컨텐트는, 이미지, 음성, 음악, 필기 정보, 텍스트 및 동영상 중 적어도 하나를 포함하는, AR 서비스를 제공하는 디바이스.
  16. 제 11 항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 디바이스에서 인식된 장면 내의 마커에 중첩되어 표시되는 AR 오브젝트에 대해 기 설정된 유형의 사용자 입력이 수신됨에 따라 상기 마커로부터 상기 AR 오브젝트를 분리하고,
    상기 사용자 입력의 위치에 따라, 상기 분리된 AR 오브젝트를 상기 디바이스에서 인식되는 적어도 하나의 장면 내의 소정의 위치에 중첩하여 표시하는, AR 서비스를 제공하는 디바이스.
  17. 하나 이상의 인스트럭션을 저장하는 메모리;
    디스플레이;
    디바이스 주변의 장면을 인식하는 카메라; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    사용자 입력에 기초하여, 상기 디바이스에서 가상의 마커를 선택하고,
    상기 디바이스에서 인식되는 장면 상에서, 상기 가상의 마커를 표시하고,
    상기 가상의 마커에 매핑되는 AR 오브젝트를 상기 가상의 마커에 중첩하여 표시하도록 구성되는, AR 서비스를 제공하는 디바이스.
  18. 제 17 항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인트스트럭션을 실행함으로써,
    상기 디바이스에서 복수의 가상의 마커들을 표시하고,
    상기 표시된 복수의 가상의 마커들 중 상기 사용자 입력에 기초하여 상기 가상의 마커를 선택하도록 더 구성되는, AR 서비스를 제공하는 디바이스.
  19. 제 17항에 있어서,
    상기 사용자 입력은 제1 사용자 입력이고,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    제2 사용자 입력에 기초하여, 상기 장면 상에서 가상의 디바이스를 표시하고,상기 가상의 마커에 매핑되는 상기 AR 오브젝트를, 상기 표시된 가상의 디바이스 내에서 표시되는 상기 가상의 마커에 중첩하여 표시하도록 더 구성되는, AR 서비스를 제공하는 디바이스.
  20. 제 17 항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 디바이스에서 인식된 제1 장면이 상기 디바이스의 화면에 표시되는 동안 사용자로부터 수신된 데이터를 기초로 제1 AR 오브젝트를 생성하고,
    상기 제1 장면을 상기 제1 AR 오브젝트의 제1 마커로 결정하고,
    상기 제1 장면이 인식된 시점의 상기 사용자의 위치 및 상기 디바이스의 방향 중 적어도 하나를 포함하는 마커 보정 정보를 상기 제1 AR 오브젝트 및 상기 제1 마커에 매핑하여 저장하고,
    상기 마커 보정 정보의 저장 이후에 제2 장면이 인식됨에 따라 상기 제2 장면을 상기 마커 보정 정보에 기초하여 상기 제1 마커와 비교한 결과, 상기 제2 장면이 상기 제1 마커에 대응되는 경우 상기 제1 AR 오브젝트를 상기 제2 장면에 중첩하여 표시하도록 더 구성되는, AR 서비스를 제공하는 디바이스.
  21. ◈청구항 21은(는) 설정등록료 납부시 포기되었습니다.◈
    제 1항 내지 제 10항 중 어느 하나의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.


KR1020180007295A 2017-09-22 2018-01-19 Ar 서비스를 제공하는 방법 및 디바이스 KR102428921B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201880060834.8A CN111133479B (zh) 2017-09-22 2018-09-21 提供增强现实服务的方法和设备
PCT/KR2018/011287 WO2019059725A1 (en) 2017-09-22 2018-09-21 METHOD AND DEVICE FOR PROVIDING SERVICE OF INCREASED REALITY
EP18859313.1A EP3646292B1 (en) 2017-09-22 2018-09-21 Method and device for providing augmented reality service
US16/137,892 US10789473B2 (en) 2017-09-22 2018-09-21 Method and device for providing augmented reality service

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170122807 2017-09-22
KR1020170122807 2017-09-22

Publications (2)

Publication Number Publication Date
KR20190034051A KR20190034051A (ko) 2019-04-01
KR102428921B1 true KR102428921B1 (ko) 2022-08-04

Family

ID=66104552

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180007295A KR102428921B1 (ko) 2017-09-22 2018-01-19 Ar 서비스를 제공하는 방법 및 디바이스

Country Status (3)

Country Link
EP (1) EP3646292B1 (ko)
KR (1) KR102428921B1 (ko)
CN (1) CN111133479B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102202625B1 (ko) * 2019-12-09 2021-01-13 엘아이지넥스원 주식회사 증강 현실 기반의 발사대 위험 지대 표시 방법 및 시스템
KR102320229B1 (ko) * 2020-05-13 2021-11-02 주식회사 인터포름 Hmd 장치로 인식되는 가상의 오브젝트 정보를 담고 있는 마커를 테이블 위의 디스플레이 장치에 표시할 수 있는 아동 교육을 위한 스마트 테이블 디바이스 및 이를 이용한 교육방법.
KR102393903B1 (ko) * 2020-11-09 2022-05-04 주식회사 나루스튜디오 Ar 전자 현미경 제공 단말, 방법 및 프로그램

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4976756B2 (ja) * 2006-06-23 2012-07-18 キヤノン株式会社 情報処理方法および装置
US9710554B2 (en) * 2010-09-23 2017-07-18 Nokia Technologies Oy Methods, apparatuses and computer program products for grouping content in augmented reality
KR101317532B1 (ko) * 2010-10-13 2013-10-15 주식회사 팬택 마커 또는 마커리스를 융합하는 증강현실 장치 및 방법
US9317835B2 (en) * 2011-03-08 2016-04-19 Bank Of America Corporation Populating budgets and/or wish lists using real-time video image analysis
KR20130056529A (ko) * 2011-11-22 2013-05-30 삼성전자주식회사 휴대용 단말기에서 증강현실 서비스를 제공하기 위한 장치 및 방법
KR101887548B1 (ko) * 2012-03-23 2018-08-10 삼성전자주식회사 증강현실 서비스를 위한 미디어 파일의 처리 방법 및 장치
KR101600038B1 (ko) * 2013-10-01 2016-03-04 목포대학교산학협력단 소셜 증강현실 서비스 시스템 및 방법
JP6323040B2 (ja) * 2014-02-12 2018-05-16 株式会社リコー 画像処理装置、画像処理方法およびプログラム
US9892560B2 (en) * 2014-09-11 2018-02-13 Nant Holdings Ip, Llc Marker-based augmented reality authoring tools
US10943111B2 (en) * 2014-09-29 2021-03-09 Sony Interactive Entertainment Inc. Method and apparatus for recognition and matching of objects depicted in images
US9407815B2 (en) * 2014-11-17 2016-08-02 International Business Machines Corporation Location aware photograph recommendation notification
US10026228B2 (en) * 2015-02-25 2018-07-17 Intel Corporation Scene modification for augmented reality using markers with parameters
US20170076428A1 (en) * 2015-09-14 2017-03-16 Canon Kabushiki Kaisha Information processing apparatus
WO2017161476A1 (en) * 2016-03-21 2017-09-28 Hong Kong Applied Science and Technology Research Institute Company Limited Rating and advising for selection of augmented reality markers
KR101745636B1 (ko) * 2016-05-04 2017-06-20 주식회사 엠코코아 대표 마커를 이용하는 증강현실 시스템 및 방법

Also Published As

Publication number Publication date
CN111133479B (zh) 2024-01-26
EP3646292C0 (en) 2023-07-26
CN111133479A (zh) 2020-05-08
EP3646292B1 (en) 2023-07-26
EP3646292A1 (en) 2020-05-06
KR20190034051A (ko) 2019-04-01
EP3646292A4 (en) 2020-07-22

Similar Documents

Publication Publication Date Title
US10789473B2 (en) Method and device for providing augmented reality service
US10942574B2 (en) Apparatus and method for using blank area in screen
US10733716B2 (en) Method and device for providing image
JP6410930B2 (ja) 拡張現実及び物体認識を用いた実世界物体でのコンテンツ項目の検索及び関連付けスキーム
US10971188B2 (en) Apparatus and method for editing content
US10068373B2 (en) Electronic device for providing map information
EP2843919B1 (en) Method and apparatus for providing service by using screen mirroring
US9971484B2 (en) Electronic device and method for executing one or more objects based on the relationships of the objects
KR102001218B1 (ko) 객체와 관련된 정보 제공 방법 및 이를 위한 디바이스
KR102129536B1 (ko) 모바일 단말기 및 그의 제어 방법
EP2811462B1 (en) Method and device for providing information in view mode
AU2013300316B2 (en) Method and system for tagging information about image, apparatus and computer-readable recording medium thereof
US9563818B2 (en) System for associating tag information with images supporting image feature search
KR101357262B1 (ko) 필터 정보를 이용한 객체 인식 장치 및 방법
US20140059458A1 (en) Virtual reality applications
KR102428921B1 (ko) Ar 서비스를 제공하는 방법 및 디바이스
KR20170016215A (ko) 이동단말기 및 그 제어방법
US20120133650A1 (en) Method and apparatus for providing dictionary function in portable terminal
EP2993639A1 (en) Method of sharing information through map service and electronic device therefor
KR102617120B1 (ko) 차량의 글래스 윈도우 상에 멀티미디어 컨텐트를 디스플레이하는 방법 및 시스템
TW201618038A (zh) 提供影像的方法與裝置
KR102076629B1 (ko) 휴대 장치에 의해 촬영된 이미지들을 편집하는 방법 및 이를 위한 휴대 장치
KR20150093263A (ko) 개인 컨텐츠에 기반하여 동영상을 생성하는 컨텐츠 생성 서비스 장치, 개인 컨텐츠에 기반하여 동영상을 생성하는 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR20150117128A (ko) 이동단말기 및 그 제어방법
US20160077653A1 (en) Method and apparatus for displaying object

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right