KR102362117B1 - 지도 정보를 제공하기 위한 전자 장치 - Google Patents

지도 정보를 제공하기 위한 전자 장치 Download PDF

Info

Publication number
KR102362117B1
KR102362117B1 KR1020150083532A KR20150083532A KR102362117B1 KR 102362117 B1 KR102362117 B1 KR 102362117B1 KR 1020150083532 A KR1020150083532 A KR 1020150083532A KR 20150083532 A KR20150083532 A KR 20150083532A KR 102362117 B1 KR102362117 B1 KR 102362117B1
Authority
KR
South Korea
Prior art keywords
electronic device
image
information
node
map
Prior art date
Application number
KR1020150083532A
Other languages
English (en)
Other versions
KR20160003553A (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 US14/755,811 priority Critical patent/US10068373B2/en
Publication of KR20160003553A publication Critical patent/KR20160003553A/ko
Application granted granted Critical
Publication of KR102362117B1 publication Critical patent/KR102362117B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B5/00Visible signalling systems, e.g. personal calling systems, remote indication of seats occupied
    • 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/004Annotating, labelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

다양한 실시예에 따르면, 관심 공간과 연관된 지도 정보를 제공하는 전자 장치는, 디스플레이; 및 상기 관심 공간의 해당 위치에서 촬영된 적어도 하나의 이미지 및 상기 적어도 하나의 이미지에 대한 부가 정보와 연관된 하나 이상의 노드를 포함하는 지도의 적어도 일부를 상기 디스플레이 상에 표시하도록 구성되고, 입력 또는 이벤트에 응답하여, 상기 하나 이상의 노드 중 제1 노드와 연관된 제1 이미지 또는 상기 제1 이미지에 대한 제1 부가 정보를 변경하도록 구성되고, 상기 변경된 제1 이미지의 적어도 일부 또는 상기 변경된 제1 부가 정보의 적어도 일부를 상기 디스플레이를 통해 상기 지도에 표시하도록 구성된 프로세서를 포함할 수 있다.

Description

지도 정보를 제공하기 위한 전자 장치{ELECTRONINC DEVICE FOR PROVIDING MAP INFORMATION}
다양한 실시예들은, 전자 장치에 관한 것으로, 예를 들면, 이미지 처리가 가능한 제어부를 포함하는 전자 장치에 관한 것이다.
최근의 다양한 전자 장치는 카메라를 이용하여 이미지를 획득할 수 있다. 또한, 전자 장치는 다양한 센서들을 이용하여 이미지 획득시의 다양한 정보들을 함께 획득할 수 있다. 예를 들면, 전자 장치는 이미지를 획득하는 시간, 장소, 위치, 방향, 이동 여부 등의 다양한 정보를 획득할 수 있다. 전자 장치는 이미지 및 이미지와 연관된 다양한 정보들을 이용하여 이미지들에 대한 다양한 처리를 할 수 있다.
3D/2D 공간 지도를 이용하여 다양한 서비스를 제공할 수 있는 전자 장치가 요구된다.
본 발명의 다양한 실시예들은 이미지를 기반으로 하여 2D/3D 공간 지도를 생성하는 방법 및 생성된 상기 공간 지도를 기반으로 다양한 서비스를 제공하기 위한 통신 방법 및 장치를 제공할 수 있다.
다양한 실시예에 따르면, 관심 공간과 연관된 지도 정보를 제공하는 전자 장치는, 디스플레이; 및 상기 관심 공간의 해당 위치에서 촬영된 적어도 하나의 이미지 및 상기 적어도 하나의 이미지에 대한 부가 정보와 연관된 하나 이상의 노드를 포함하는 지도의 적어도 일부를 상기 디스플레이 상에 표시하도록 구성되고, 입력 또는 이벤트에 응답하여, 상기 하나 이상의 노드 중 제1 노드와 연관된 제1 이미지 또는 상기 제1 이미지에 대한 제1 부가 정보를 변경하도록 구성되고, 상기 변경된 제1 이미지의 적어도 일부 또는 상기 변경된 제1 부가 정보의 적어도 일부를 상기 디스플레이를 통해 상기 지도에 표시하도록 구성된 프로세서를 포함할 수 있다.
다양한 실시예에 따르면, 관심 공간과 연관된 지도 정보를 제공하는 전자 장치는, 적어도 하나의 이미지를 획득하기 위한 카메라; 및 상기 카메라와 기능적으로 연결된 제어부를 포함하고, 상기 제어부는, 각 노드가 하나 이상의 이미지와 상기 하나 이상의 이미지의 적어도 일부와 관련된 3차원 정보를 포함하는 복수의 노드들 중 제1 노드와 제2 노드 간의 거리 또는 방향 중 적어도 하나를 판단하고, 상기 거리 또는 상기 방향 중 상기 적어도 하나에 기반하여, 상기 제1 노드와 상기 제2 노드를 연결하는 공간지도를 생성하도록 구성될 수 있다.
다양한 실시예에서는, 3D/2D 공간 지도를 이용하여 다양한 서비스를 제공할 수 있는 전자 장치가 제공된다.
도 1은 다양한 실시예에 따른 전자 장치를 포함하는 네트워크 환경을 도시한다.
도 2는 다양한 실시예에 따른 전자 장치의 블록도이다.
도 3은 다양한 실시예에 따른 프로그램 모듈의 블록도이다.
도 4는 다양한 실시예에 따른 전자 장치의 블록도를 도시한다.
도 5a 및 도 5b는 다양한 실시예에 따른 지도의 예들을 나타낸다.
도 6은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 7은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 8은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 9는 본 발명의 다양한 실시예에 따른 전자 장치의 사용자 인터페이스를 도시한다.
도 10은 본 발명의 다양한 실시예에 따른 전자 장치의 사용자 인터페이스를 도시한다.
도 11은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 12는 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 13은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 14는 상기 전자 장치의 동작 방법을 설명하기 위한 도면이다.
도 15는 이미지들의 결합을 설명하기 위한 도면이다.
도 16a 내지 도 16c는 다양한 실시예에 따른 전자 장치가 지도들을 합성하는 과정을 설명하기 위한 예들을 도시한다.
도 17a 내지 20은 다양한 실시예에 따른 3D 파노라마 이미지의 생성 방법을 설명하기 위한 도면들이다.
도 21a 내지 도 21d는 다양한 실시예에 따른 트랜지션 이미지의 생성 방법을 설명하기 위한 도면들이다.
도 22는 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 23a 및 도 23b는 다양한 실시예에 따른 지도 인터페이스를 설명하기 위한 도면들이다.
도 24a 내지 도 24e는 다양한 실시예에 따른 3차원 지도의 편집 방법을 설명하기 위한 도면들이다.
도 25a 및 도 25b는 다양한 실시예에 따른 3D 지도 기반의 2D 지도 생성 방법을 설명하기 위한 도면들이다.
도 26은 다양한 실시예에 따른 지도의 오차 수정 방법을 설명하기 위한 도면이다.
도 27은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 28은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 29a 내지 도 31b는 다양한 실시예에 따른 지도에 기반한 인터렉션 서비스를 설명하기 위한 도면들이다.
도 32 및 도 33b는 다양한 실시예에 따른 지향성 신호를 이용한 물체의 식별 방법을 설명하기 위한 도면들이다.
도 34는 관심 공간의 신호 지문 DB를 설명하기 위한 도면이다.
도 35 및 도 36은 다양한 실시예에 따른 히스토리/이벤트 정보를 제공하기 위한 방법을 설명하기 위한 도면들이다.
도 37은 본 발명의 다양한 실시예에 따른 네트워크 환경을 도시한다.
도 38 및 도 39는 다양한 실시예에 따른 비상 경로의 안내 방법을 설명하기 위한 도면들이다.
이하, 본 개시의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시예의 다양한 변경 (modification), 균등물 (equivalent), 및/또는 대체물 (alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, “가진다,” “가질 수 있다,”“포함한다,” 또는 “포함할 수 있다” 등의 표현은 해당 특징 (예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, “A 또는 B,”“A 또는/및 B 중 적어도 하나,”또는 “A 또는/및 B 중 하나 또는 그 이상”등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, “A 또는 B,” “ A 및 B 중 적어도 하나,”또는 “ A 또는 B 중 적어도 하나”는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
다양한 실시예에서 사용된 “제1”, “제2”, “첫째”또는“둘째”등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소 (예: 제1 구성요소)가 다른 구성요소 (예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어 ((operatively or communicatively) coupled with/to)" 있다거나 "접속되어 (connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소 (예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소 (예: 제1 구성요소)가 다른 구성요소 (예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소 (예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 “~하도록 구성된 (또는 설정된)(configured to)”은 상황에 따라, 예를 들면, “~에 적합한 (suitable for),” “~하는 능력을 가지는 (having the capacity to),” “~하도록 설계된 (designed to),” “~하도록 변경된 (adapted to),” “~하도록 만들어진 (made to),”또는 “~를 할 수 있는 (capable of)”과 바꾸어 사용될 수 있다. 용어 “~하도록 구성 (또는 설정)된”은 하드웨어적으로 “특별히 설계된 (specifically designed to)”것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, “~하도록 구성된 장치”라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 “~할 수 있는” 것을 의미할 수 있다. 예를 들면, 문구 “A, B, 및 C를 수행하도록 구성 (또는 설정)된 프로세서”는 해당 동작을 수행하기 위한 전용 프로세서 (예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서 (generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 개시의 실시예들을 배제하도록 해석될 수 없다.
본 개시의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 전자 장치는 스마트폰 (smartphone), 태블릿 PC (tablet personal computer), 이동 전화기 (mobile phone), 화상 전화기, 전자북 리더기 (e-book reader), 데스크탑 PC (desktop personal computer), 랩탑 PC (laptop personal computer), 넷북 컴퓨터 (netbook computer), 워크스테이션 (workstation), 서버, PDA (personal digital assistant), PMP (portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라 (camera), 또는 웨어러블 장치(wearable device)(예: 스마트 안경, 머리 착용식 장치 (head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리 (appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치 (smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시예들에서, 전자 장치는 스마트 가전 제품 (smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들면, 텔레비전, DVD (digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스 (set-top box), 홈 오토매이션 컨트롤 패널 (home automation control panel), 보안 컨트롤 패널 (security control panel), TV 박스 (예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔 (예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더 (camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기 (예: 각종 휴대용 의료측정기기 (혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA (magnetic resonance angiography), MRI (magnetic resonance imaging), CT (computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 (navigation) 장치, GPS 수신기 (global positioning system receiver), EDR (event data recorder), FDR (flight data recorder), 자동차 인포테인먼트 (infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기 (avionics), 보안 기기, 차량용 헤드 유닛 (head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM (automatic teller’s machine), 상점의 POS (point of sales), 또는 사물 인터넷 장치 (internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기 (thermostat), 가로등, 토스터 (toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시예에 따르면, 전자 장치는 가구 (furniture) 또는 건물/구조물의 일부, 전자 보드 (electronic board), 전자 사인 수신 장치 (electronic signature receiving device), 프로젝터 (projector), 또는 각종 계측 기기 (예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 개시의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치 (예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 다양한 실시예에 따른 전자 장치를 포함하는 네트워크 환경을 도시한다.
도 1을 참조하여, 다양한 실시예에서의, 네트워크 환경(100) 내의 전자 장치(101)가 기재된다. 상기 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(150), 디스플레이(160), 및 통신 인터페이스(170)를 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)는, 상기 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
상기 버스(110)는, 예를 들면, 상기 구성요소들(110-170)을 서로 연결하고, 상기 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
상기 프로세서(120)는, 중앙처리장치(central processing unit(CPU)), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 상기 프로세서(120)은, 예를 들면, 상기 전자 장치(101)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
상기 메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 상기 메모리(130)는, 예를 들면, 상기 전자 장치(101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 상기 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다. 상기 프로그램(140)은, 예를 들면, 커널(141), 미들웨어(143), 어플리케이션 프로그래밍 인터페이스(application programming interface(API))(145), 및/또는 어플리케이션 프로그램(또는 “어플리케이션”)(147) 등을 포함할 수 있다. 상기 커널(141), 미들웨어(143), 또는 API(145)의 적어도 일부는, 운영 시스템(operating system(OS))라 불릴 수 있다.
상기 커널(141)은, 예를 들면, 다른 프로그램들(예: 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널(141)은 상기 미들웨어(143), 상기 API(145), 또는 상기 어플리케이션 프로그램(147)에서 상기 전자 장치(101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어(143)는, 예를 들면, 상기 API(145) 또는 상기 어플리케이션 프로그램(147)이 상기 커널(141)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어(143)는 상기 어플리케이션 프로그램(147)로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 어플리케이션 프로그램(147) 중 적어도 하나의 어플리케이션에 상기 전자 장치(101)의 시스템 리소스(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)를 수행할 수 있다.
상기 API(145)는, 예를 들면, 상기 어플리케이션(147)이 상기 커널(141) 또는 상기 미들웨어(143)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 이미지 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
상기 입출력 인터페이스(150)은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 상기 전자 장치(101)의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 상기 입출력 인터페이스(150)은 상기 전자 장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
상기 디스플레이(160)은, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems(MEMS)) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 상기 디스플레이(160)은, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 상기 디스플레이(160)은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다.
상기 통신 인터페이스(170)은, 예를 들면, 상기 전자 장치(101)와 외부 장치(예: 제1 외부 전자 장치(102), 제2 외부 전자 장치(104), 또는 서버(106)) 간의 통신을 설정할 수 있다. 예를 들면, 상기 통신 인터페이스(170)은 무선 통신 또는 유선 통신을 통해서 네트워크 162에 연결되어 상기 외부 장치(예: 제2 외부 전자 장치(104) 또는 서버(106))와 통신할 수 있다. 예를 들면, 상기 통신 인터페이스(170)은 무선 통신 또는 유선 통신을 통해서 상기 외부 장치(예: 제1 외부 전자 장치(102))와 직접 통신(164)을 수행할 수 있다.
상기 무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나를 사용할 수 있다. 상기 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 상기 네트워크(162)는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
상기 제1 및 제2 외부 전자 장치(102, 104) 각각은 상기 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 한 실시예에 따르면, 상기 서버(106)는 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시예에 따르면, 상기 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(102, 104), 또는 서버(106))에서 실행될 수 있다. 한 실시예에 따르면, 상기 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 상기 전자 장치(101)는 상기 기능 또는 상기 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치(102, 104), 또는 서버(106))에게 요청할 수 있다. 상기 다른 전자 장치(예: 전자 장치(102, 104), 또는 서버(106))는 상기 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 상기 전자 장치(101)로 전달할 수 있다. 상기 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 상기 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시예에 따른 전자 장치(201)의 블록도(200)이다. 상기 전자 장치(201)는, 예를 들면, 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 포함할 수 있다. 상기 전자 장치(201)는 하나 이상의 어플리케이션 프로세서(AP: application processor)(210), 통신 모듈(220), SIM(subscriber identification module) 카드(224), 메모리(230), 센서 모듈(240), 입력 장치(250), 디스플레이(260), 인터페이스(270), 오디오 모듈(280), 카메라 모듈(291), 전력 관리 모듈(295), 배터리(296), 인디케이터(297), 및 모터(298) 를 포함할 수 있다.
상기 AP(210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 상기 AP(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP(210)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 상기 AP(210)는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 상기 AP(210)는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈 221)를 포함할 수도 있다. 상기 AP(210) 는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 통신 모듈(220)은, 도 1의 상기 통신 인터페이스(170)와 동일 또는 유사한 구성을 가질 수 있다. 상기 통신 모듈(220)은, 예를 들면, 셀룰러 모듈(221), WiFi 모듈(223), BT 모듈(225), GPS 모듈(227), NFC(Near Field Communication) 모듈(228) 및 RF(radio frequency) 모듈(229)를 포함할 수 있다.
상기 셀룰러 모듈(221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈(221)은 가입자 식별 모듈(예: SIM 카드(224))을 이용하여 통신 네트워크 내에서 전자 장치(201)의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈(221)은 상기 AP(210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈(221)은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다.
상기 WiFi 모듈(223), 상기 BT 모듈(225), 상기 GPS 모듈(227) 또는 상기 NFC 모듈(228) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), BT 모듈(225), GPS 모듈(227) 또는 NFC 모듈(228) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다.
상기 RF 모듈(229)는, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. 상기 RF 모듈(229)는, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), BT 모듈(225), GPS 모듈(227) 또는 NFC 모듈(228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
상기 SIM 카드(224)는, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
상기 메모리(230)(예: 메모리(130))는, 예를 들면, 내장 메모리(232) 또는 외장 메모리(234)를 포함할 수 있다. 상기 내장 메모리(232)는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나를 포함할 수 있다.
상기 외장 메모리(234)는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 상기 외장 메모리(234)는 다양한 인터페이스를 통하여 상기 전자 장치(201)과 기능적으로 및/또는 물리적으로 연결될 수 있다.
상기 센서 모듈(240)은, 예를 들면, 물리량을 계측하거나 전자 장치(201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈(240)은, 예를 들면, 제스처 센서(240A), 자이로 센서(240B), 기압 센서(240C), 마그네틱 센서(240D), 가속도 센서(240E), 그립 센서(240F), 근접 센서(240G), 컬러(color) 센서(240H)(예: RGB(red, green, blue) 센서), 생체 센서(240I), 온/습도 센서(240J), 조도 센서(240K), 또는 UV(ultra violet) 센서(240M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈(240)은, 예를 들면, 후각 센서(E-nose sensor), EMG 센서(electromyography sensor), EEG 센서(electroencephalogram sensor), ECG 센서(electrocardiogram sensor), IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 상기 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시예에서는, 전자 장치(201)는 AP(210)의 일부로서 또는 별도로, 센서 모듈(240)을 제어하도록 구성된 프로세서를 더 포함하여, 상기 AP(210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(240)을 제어할 수 있다.
상기 입력 장치(250)은, 예를 들면, 터치 패널(touch panel)(252), (디지털) 펜 센서(pen sensor)(254), 키(key)(256), 또는 초음파(ultrasonic) 입력 장치(258)를 포함할 수 있다. 상기 터치 패널(252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 상기 터치 패널(252)은 제어 회로를 더 포함할 수도 있다. 상기 터치 패널(252)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서(254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트(sheet)를 포함할 수 있다. 상기 키(256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 상기 초음파 입력 장치(258)는 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치(201)에서 마이크(예: 마이크(288))로 음파를 감지하여 데이터를 확인할 수 있다.
상기 디스플레이(260)(예: 디스플레이(160))은 패널(260), 홀로그램 장치(264), 또는 프로젝터(266)을 포함할 수 있다. 상기 패널(260)은, 도 1의 디스플레이(160)과 동일 또는 유사한 구성을 포함할 수 있다. 상기 패널(260)은, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널(260)은 상기 터치 패널(252)과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치(264)은 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터(266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치(201)의 내부 또는 외부에 위치할 수 있다. 한 실시예에 따르면, 상기 디스플레이(260)은 상기 패널(260), 상기 홀로그램 장치(264), 또는 프로젝터(266)를 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스(270)는, 예를 들면, HDMI(high-definition multimedia interface)(272), USB(universal serial bus)(274), 광 인터페이스(optical interface)(276), 또는 D-sub(D-subminiature)(278)를 포함할 수 있다. 상기 인터페이스(270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(170)에 포함될 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스(270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure digital) 카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈(280)은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈(280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(150)에 포함될 수 있다. 상기 오디오 모듈(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286), 또는 마이크(288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈(291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래쉬(flash)(예: LED 또는 xenon lamp)를 포함할 수 있다.
상기 전력 관리 모듈(295)은, 예를 들면, 상기 전자 장치(201)의 전력을 관리할 수 있다. 한 실시예에 따르면, 상기 전력 관리 모듈(295)은 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. 상기 PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 상기 배터리 게이지는, 예를 들면, 상기 배터리(296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 상기 배터리(296)는, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터(297)는 상기 전자 장치(201) 혹은 그 일부(예: AP(210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 상기 전자 장치(201)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어 플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
상기 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 3은 다양한 실시예에 따른 프로그램 모듈(310)의 블록도(300)이다. 한 실시예에 따르면, 상기 프로그램 모듈(310)(예: 프로그램(140))은 전자 장치(예: 전자 장치(101))에 관련된 자원을 제어하는 운영 체제(operation system(OS)) 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 상기 운영 체제는, 예를 들면, 안드로이드(android), iOS, 윈도우즈(windows), 심비안(symbian), 타이젠(tizen), 또는 바다(bada) 등이 될 수 있다.
프로그램 모듈(310)은 커널(320), 미들웨어(330), API(application programming interface)(360), 및/또는 어플리케이션(370)을 포함할 수 있다. 상기 프로그램 모듈(310)의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 서버(예: 서버(106))로부터 다운로드(download) 가능하다.
상기 커널(320)(예: 도 1의 커널(141))은, 예를 들면, 시스템 리소스 매니저(321) 또는 디바이스 드라이버(323)를 포함할 수 있다. 상기 시스템 리소스 매니저(321)는 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시예에 따르면, 상기 시스템 리소스 매니저(321)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 상기 디바이스 드라이버(323)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
상기 미들웨어(330)는, 예를 들면, 상기 어플리케이션(370)이 공통적으로 필요로 하는 기능을 제공하거나, 상기 어플리케이션(370)이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 상기 API(360)를 통해 다양한 기능들을 상기 어플리케이션(370)으로 제공할 수 있다. 한 실시예에 따르면, 상기 미들웨어(330)(예: 미들웨어(143))는 런타임 라이브러리(335), 어플리케이션 매니저(application manager)(341), 윈도우 매니저(window manager)(342), 멀티미디어 매니저(multimedia manager)(343), 리소스 매니저(resource manager)(344), 파워 매니저(power manager)(345), 데이터베이스 매니저(database manager)(346), 패키지 매니저(package manager)(347), 연결 매니저(connectivity manager)(348), 통지 매니저(notification manager)(349), 위치 매니저(location manager)(350), 그래픽 매니저(graphic manager)(351), 또는 보안 매니저(security manager)(352) 중 적어도 하나를 포함할 수 있다.
상기 런타임 라이브러리(335)는, 예를 들면, 상기 어플리케이션(370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 상기 런타임 라이브러리(335)는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
상기 어플리케이션 매니저(341)는, 예를 들면, 상기 어플리케이션(370) 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 상기 윈도우 매니저(342)는 화면에서 사용하는 GUI(Graphical User Interface) 자원을 관리할 수 있다. 상기 멀티미디어 매니저(343)는 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 상기 리소스 매니저(344)는 상기 어플리케이션(370) 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
상기 파워 매니저(345)는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리(battery) 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 상기 데이터베이스 매니저(346)는 상기 어플리케이션(370) 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 상기 패키지 매니저(347)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
상기 연결 매니저(348)는, 예를 들면, 와이파이(WiFi) 또는 블루투스(BT) 등의 무선 연결을 관리할 수 있다. 상기 통지 매니저(349)는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 상기 위치 매니저(350)는 전자 장치의 위치 정보를 관리할 수 있다. 상기 그래픽 매니저(351)는 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 상기 보안 매니저(352)는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시예에 따르면, 전자 장치(예: 전자 장치(101))가 전화 기능을 포함한 경우, 상기 미들웨어(330)는 상기 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다.
상기 미들웨어(330)는 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 상기 미들웨어(330)는 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 상기 미들웨어(330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
상기 API(360)(예: API(145))는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
상기 어플리케이션(370)(예: 어플리케이션 프로그램(147))은, 예를 들면, 홈(371), 다이얼러(372), SMS/MMS(373), IM(instant message)(374), 브라우저(375), 카메라(376), 알람(377), 컨택트(378), 음성 다이얼(379), 이메일(380), 달력(381), 미디어 플레이어(382), 앨범(383), 또는 시계(384), 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 제공할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시예에 따르면, 상기 어플리케이션(370)은 상기 전자 장치(예: 전자 장치(101))와 외부 전자 장치(예: 전자 장치(102, 104)) 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의 상, “정보 교환 어플리케이션”)을 포함할 수 있다. 상기 정보 교환 어플리케이션은, 예를 들면, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 상기 알림 전달 어플리케이션은 상기 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치(예: 전자 장치(102, 104))로 전달하는 기능을 포함할 수 있다. 또한, 상기 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 상기 장치 관리 어플리케이션은, 예를 들면, 상기 전자 장치와 통신하는 외부 전자 장치(예: 전자 장치(104))의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 상기 외부 전자 장치에서 동작하는 어플리케이션 또는 상기 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리(예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시예에 따르면, 상기 어플리케이션(370)은 상기 외부 전자 장치(예: 전자 장치(102, 104))의 속성(예: 전자 장치의 속성으로서, 전자 장치의 종류가 모바일 의료 기기)에 따라 지정된 어플리케이션(예: 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시예에 따르면, 상기 어플리케이션(370)은 외부 전자 장치(예: 서버(106) 또는 전자 장치(102, 104))로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 상기 어플리케이션(370)은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시예에 따른 프로그램 모듈(310)의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시예에 따르면, 상기 프로그램 모듈(310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 상기 프로그램 모듈(310)의 적어도 일부는, 예를 들면, 프로세서(예: AP(210))에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그램 모듈(310)의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
도 4는 다양한 실시예에 따른 전자 장치의 블록도를 도시한다.
상기 전자 장치(401)(예: 전자 장치(101, 201))는, 입력 장치(410), 제어부(420)(예: 프로세서(120, 210)) 및 출력 장치(430)를 포함할 수 있다.
예를 들어, 상기 입력 장치(410)는 도 1에 도시된 구성에서 프로세서(120)에 신호, 데이터 또는 정보를 입력하는 임의의 구성 요소(들)에 대응될 수 있다. 예를 들어, 상기 입력 장치(410)는 도 2에 도시된 구성에서 프로세서(210)에 신호, 데이터 또는 정보를 입력하는 임의의 구성 요소(들)에 대응될 수 있다.
상기 입력 장치(410)는 상기 제어부(420)에 기능적으로 연결될 수 있고, 상기 제어부(420)로 신호, 데이터 또는 정보를 입력할 수 있다. 예를 들어, 상기 입력 장치(410)는 WiFi 모듈(223), GPS 모듈(227) 등을 포함하는 통신 모듈(220)(예: 통신 인터페이스(170)), 센서 모듈(240), 카메라 모듈(291), 메모리(230)(예: 메모리(130)) 등의 적어도 하나를 포함할 수 있다.
예를 들어, 상기 카메라 모듈(291)은 제어부(420)로 이미지를 입력할 수 있다.
예를 들어, 상기 센서 모듈(240), 메모리(230) 및/또는 상기 통신 모듈(220)은 상기 전자 장치(401)와 연관된 상황(context) 정보(예: GPS 모듈(227)을 통한 상기 전자 장치(401)의 위치 정보, 가속도 센서(240E)를 통한 상기 전자 장치(401)의 움직임 정보, 근접 센서(240G)를 통한 주변 물체의 접근 정보, 온/습도 센서(240J)를 통한 주변 온도/습도 정보, 자이로 센서(240B)를 통한 상기 전자 장치(401)의 포즈/자세 정보, 메모리(230)에 저장된 사용자 데이터(412) 등의 적어도 하나)를 제어부(420)로 입력할 수 있다.
예를 들어, 상기 통신 모듈(220), 카메라 모듈(291) 및/또는 메모리(230)는 상기 전자 장치(401)의 위치 정보(예: WiFi 모듈(223)을 통한 WiFi 신호 정보, GPS 모듈(227)을 통한 위치 정보, 카메라 모듈(291)을 통한 주변 이미지, 메모리(230)의 신호 지문(예: WiFi 지문) DB(411)에 저장된 신호 맵 등의 적어도 하나)를 상기 제어부(420)로 입력할 수 있다.
상기 제어부(420)는 지도 생성/처리를 위한 지도 처리 모듈(421)을 포함할 수 있다. 상기 지도 처리 모듈(421)은 상기 제어부(420)에 통합될 수 있다. 상기 지도 처리 모듈(421)은 적어도 하나의 이미지(예: 통신 모듈(220), 카메라 모듈(291) 및/또는 메모리(230)로부터 수신한 이미지) 또는 메모리(230)의 지도 DB(413)에 저장된 지도 정보를 이용하여 노드/그래픽 요소(또는 가상 물체)/지도 이미지(즉, 지도에 포함된 이미지)를 생성하는 동작, 또는 처리 동작(예: 지도를 표시하기 위한 처리, 메모리(230)의 지도 DB(413)에 저장된 지도 정보의 적어도 일부(예: 그래픽 요소(또는 가상 물체) 정보, 노드 정보, 노드들 간 경로 정보)를 변경하는 처리 등의 적어도 하나)를 수행할 수 있다. 상기 지도는 2차원(즉, 2D) 지도, 3차원(즉, 3D) 지도, 노드, 그래픽 요소(또는 가상 물체) 등을 포함할 수 있다.
예를 들어, 상기 출력 장치(430)는 도 1에 도시된 구성에서 프로세서(120)에서 처리된 신호, 데이터 또는 정보를 출력하는 임의의 구성 요소(들)에 대응될 수 있다. 예를 들어, 상기 출력 장치(430)는 도 2에 도시된 구성에서 프로세서(210)에서 처리된 신호, 데이터 또는 정보를 출력하는 임의의 구성 요소(들)에 대응될 수 있다.
상기 출력 장치(430)는 상기 제어부(420)에 기능적으로 연결될 수 있고, 상기 제어부(420)로부터 입력된 신호, 데이터 또는 정보를 외부로 출력할 수 있다. 예를 들어, 상기 출력 장치(430)는 디스플레이(260)(예: 디스플레이(160)), 스피커(282), 모터(298), 통신 모듈(220) 등의 적어도 하나를 포함할 수 있다.
예를 들어, 상기 디스플레이(260)는 상기 제어부(420)로부터 입력된 신호, 데이터 또는 정보를 화면에 표시할 수 있다.
예를 들어, 상기 스피커(282)는 상기 제어부(420)로부터 입력된 신호, 데이터 또는 정보를 사운드로 출력할 수 있다.
예를 들어, 상기 모터(298)는 상기 제어부(420)로부터 입력된 신호, 데이터 또는 정보를 진동(vibration) 또는 햅틱(haptic) 피드백으로 출력할 수 있다. 상기 진동(vibration) 또는 햅틱(haptic) 피드백은 상기 신호, 데이터 또는 정보에 따라 그 진동 파형이 달라질 수 있다.
예를 들어, 상기 통신 모듈(220)은 상기 제어부(420)로부터 입력된 신호, 데이터 또는 정보를 외부 장치(예: 제1 외부 전자 장치(102), 제2 외부 전자 장치(104), 또는 서버(106))로 전송할 수 있다. 예를 들어, 상기 신호, 데이터 또는 정보는 WiFi 모듈(223), BT 모듈(225), BLE(Bluetooth low energy) 모듈, 적외선 모듈(infrared) 등의 적어도 하나를 통해 외부 장치로 전송할 수 있다.
도 5a 및 도 5b는 다양한 실시예에 따른 지도의 예들을 나타낸다.
도 5a를 참조하면, 관심 공간(예: 건물 내부의 실내 공간, 혹은 주차장, 식물원 등의 실외 공간)에 대한 지도는 3D의 형태로 제공될 수 있다. 예를 들어, 상기 지도는 가상현실(virtual reality: VR), 증강 현실(Augmented Reality: AR), 또는 혼합현실(Mixed Reality: MR)을 구현할 수 있다.
도 5b를 참조하면, 관심 공간에 대한 지도는 2D의 형태로 제공될 수 있다. 예를 들면, 상기 지도는 평면도로 제공될 수 있다.
한 실시예에서, 상기 2D 지도와 함께, 또는 상기 2D 지도 상에 전자 장치(예: 전자 장치(101, 201, 401))의 현재 위치와 지향 방향이 표시될 수도 있다.
도 6은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다. 상기 전자 장치의 동작 방법은 610 내지 620 동작들을 포함할 수 있다. 상기 전자 장치의 동작 방법은, 전자 장치(예: 전자 장치(101, 201, 401)), 또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421))에 의해 수행될 수 있다.
610 동작에서, 상기 전자 장치는 노드들 간의 거리 또는 변위 방향을 판단할 수 있다. 예를 들어, 상기 전자 장치는, 각 노드가 하나 이상의 이미지와 상기 하나 이상의 이미지의 적어도 일부와 연관된 부가 정보(예: 촬영 위치, 상기 노드의 이미지의 방향, 상기 이미지의 깊이/심도(depth) 중 하나 이상을 포함하는 3D 정보)를 포함하는 복수의 노드들 중 제1 노드와 제2 노드 간의 거리 또는 변위 방향 중 적어도 하나를 판단할 수 있다.
610 동작에서, 상기 전자 장치는 상기 노드들을 연결하는 지도를 생성할 수 있다. 예를 들어, 상기 전자 장치는, 상기 제1 및 제2 노드들 간의 거리 또는 변위 방향 중 적어도 하나에 기반하여, 상기 제1 노드와 상기 제2 노드를 연결하는 공간 지도를 생성할 수 있다.
한 실시예에서, 상기 복수의 이미지들 중 적어도 하나가, 적어도 하나의 촬영 위치 또는 촬영 방향에 대응하는 상기 제1 노드 또는 상기 제2 노드의 공간(또는 위치)에 배치될 수 있다.
한 실시예에서, 상기 3D 정보는, 상기 복수의 이미지들 중 제1 이미지와 제2 이미지에 대해, 상기 제1 이미지의 적어도 일부 영역과 상기 제2 이미지의 적어도 일부 영역을 비교하여 결정된 3D 정보를 포함할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 전자 장치와 기능적으로 연결된 카메라(예: 카메라 모듈(291))를 통하여, 상기 복수의 이미지들을 획득할 수 있다. 이하, 카메라는 촬영 장치라고 칭할 수도 있다.
한 실시예에서, 상기 전자 장치는, 상기 복수의 이미지들에 대한 상기 카메라의 촬영 위치 또는 상기 카메라의 촬영 방향을 확인할 수 있다. 상기 전자 장치는, 상기 촬영 위치 또는 상기 촬영 방향 중 적어도 하나에 기반하여, 상기 전자 장치와 기능적으로 연결된 디스플레이(예: 디스플레이(160, 260))의 화면에 촬영 가이드를 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 촬영 위치 또는 상기 촬영 방향이 상기 촬영 가이드에 대응하는 임계 영역 내에 속하는 것에 반응하여, 상기 복수의 이미지들 중 하나를 획득할 수 있다.
한 실시예에서, 상기 촬영 가이드는, 상기 촬영 위치 또는 상기 촬영 방향에 기반하여, 하나의 초점(또는 중앙점) 정보와 관련하여 설정되는 촬영 영역 가이드를 포함할 수 있다.
한 실시예에서, 상기 전자 장치는 다른 이미지를 획득할 수 있다. 상기 전자 장치는, 상기 복수의 노드들 중 상기 다른 이미지에 대응하는 노드가 없는 경우, 상기 다른 이미지에 대응하는 노드를 생성할 수 있다. 상기 전자 장치는 상기 생성된 노드의 공간에 상기 다른 이미지를 배치할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 전자 장치에 대한 사용자의 입력 또는 상기 전자 장치의 위치 또는 방향에 응답하여, 상기 제1 노드에 대응하는 복수의 이미지들 중 적어도 일부를 상기 제2 노드에 대응하는 상기 복수의 이미지들 중 적어도 일부로 전환하여 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 전자 장치에 대한 사용자의 입력 또는 상기 전자 장치의 위치 또는 방향에 응답하여, 상기 제1 노드 또는 상기 제2 노드 중 적어도 하나에 대응하는 시각 정보를 표시할 수 있다.
한 실시예에서, 상기 제1 노드 또는 상기 제2 노드는, 상기 제1 노드 또는 상기 제2 노드의 공간의 특정 지점에 할당된 상기 복수의 이미지들 중 둘 이상의 이미지들을 포함하고, 상기 둘 이상의 이미지들 중 제1 이미지가 상기 지점에 대표로 배치될 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 둘 이상의 이미지 중 제2 이미지와 연관된 조건을 상기 제1 노드 또는 상기 제2 노드에 설정하고, 상기 조건을 만족하는 이벤트에 반응하여, 상기 지점에 상기 제2 이미지를 대표로 배치할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 상기 제2 노드가 각기 서로 다른 공간 지도에 속하는 경우, 상기 제1 노드가 속한 제1 공간 지도와 상기 제2 노드가 속한 제2 공간 지도를 합성(또는 결합)함으로써, 상기 공간 지도를 생성할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 부가 정보(또는 촬영 위치, 노드의 이미지의 방향, 상기 이미지의 깊이/심도(depth) 중 하나 이상을 포함하는 3D 정보)에 기반하여, 상기 제1 노드와 상기 제2 노드에 연관된 지면 또는 장애물을 판단할 수 있다. 상기 전자 장치는, 상기 지면 또는 상기 장애물에 기반하여, 상기 제1 노드와 상기 제2 노드를 연결하는 평면 지도를 생성할 수 있다.
한 실시예에서, 상기 공간 지도는, 상기 제1 노드와 상기 제2 노드를 연결하는 경로가 비상 경로인지에 대한 판단에 기반하여, 상기 비상 경로에 대한 정보를 포함할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 복수의 이미지들 중 적어도 일부에 표시된 물체를 확인할 수 있다. 상기 전자 장치는 상기 물체의 속성 정보를 획득할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 물체와 연관된 외부 장치(예: 제1 외부 전자 장치(102), 제2 외부 전자 장치(104), 또는 서버(106))로 속성 정보를 요청할 수 있다. 상기 전자 장치는, 상기 외부 장치로부터 상기 요청에 대한 응답으로 상기 속성 정보를 수신할 수 있다.
한 실시예에서, 상기 속성 정보는, 상기 물체의 기능을 제어하기 위한 제어 정보를 포함할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제어 정보를 이용하여, 상기 물체에 대한 제어 신호를 전송할 수 있다.
한 실시예에서, 상기 속성 정보는 상기 물체의 3D 모델을 포함할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 부가 정보(또는 촬영 위치, 노드의 이미지의 방향, 상기 이미지의 깊이/심도(depth) 중 하나 이상을 포함하는 3D 정보)에 기반하여, 상기 공간 지도 상에서 사용자의 입력에 따라 상기 3D 모델을 배치 또는 이동할 수 있다.
도 7은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다. 상기 전자 장치의 동작 방법은 710 내지 730 동작들을 포함할 수 있다. 상기 전자 장치의 동작 방법은, 전자 장치(예: 전자 장치(101, 201, 401)), 또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421))에 의해 수행될 수 있다.
710 동작에서, 상기 전자 장치는 적어도 하나의 이미지를 획득할 수 있다. 상기 전자 장치는 관심 공간(예: 건물 내부의 실내 공간, 혹은 주차장, 식물원 등의 실외 공간) 내 적어도 하나의 위치에서 촬영된 적어도 하나의 이미지를 획득할 수 있다.
한 실시예에서, 상기 전자 장치는 3D 지도에 포함되는 관심 공간의 물체들(예: 벽, 전자제품, 가구 등)을 3D로 표현하기 위해서 관심 공간 내의 한 지점을 복수의 각도들 혹은 복수의 지점들(예: 복수의 노드들)에서 촬영하여 복수의 이미지들을 획득할 수 있다.
한 실시예에서, 상기 전자 장치는 관심 공간의 한 지점에서 회전하면서 촬영하거나, 상기 한 지점을 복수의 각도들 혹은 복수의 지점들(예: 복수의 노드들)에서 촬영함으로써, 하나 이상의 파노라마 이미지를 획득할 수도 있다.
한 실시예에서, 상기 전자 장치는 비디오 촬영에 의해 얻은 비디오 파일이나 비디오 스트림(stream)(또는 비트스트림(bitstream))으로부터 복수(두 개 이상)의 비디오 프레임 이미지들(예: I-프레임(frame), P-프레임 중 하나 이상)을 획득함으로써 파노라마 이미지를 생성할 수도 있다. 예를 들어, 비디오 촬영을 통해 하나의 물체를 촬영할 때, 상기 물체를 여러 각도에서 촬영한 프레임들이 포함된다면, 복수의 프레임 이미지들을 상기 비디오 파일이나 비트스트림에서 추출하고, 상기 복수의 프레임 이미지들을 이용하여 파노라마 이미지나 3D 이미지를 생성할 수도 있다.
한 실시예에서, 물체에 따라서는 한 장의 사진을 통해 측면이나 후면의 이미지를 추정하는 기술을 사용할 수도 있으므로, 3D 이미지를 생성하거나 파노라마 이미지를 만들때, 반드시 복수의 이미지들이 필요한 것은 아니다. 예를 들어, 얼굴의 경우 인종, 성별 등을 통해 통계적인 얼굴 구성요소의 비율이나 위치를 추정하는 기술이 사용될 수도 있고, 원탁 등과 같이 대칭적인 물건의 경우 측면이나 후면의 이미지도 동일한 것으로 추정될 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 전자 장치와 기능적으로 연결된 카메라(예: 카메라 모듈(291))를 통하여 이미지를 획득하거나, 이미지를 촬영한 제1 외부 장치(예: 제1 외부 전자 장치(102), 제2 외부 전자 장치(104))로부터 이미지를 수신하거나, 이미지를 저장한 제2 외부 장치(예: 제1 외부 전자 장치(102), 제2 외부 전자 장치(104), 또는 서버(106))로부터 이미지를 수신할 수 있다.
예를 들어, 이미지의 촬영은 카메라나 적외선 카메라를 통해 수행될 수 있다. 예를 들어, 이미지의 촬영은, 스마트 폰, 사용자가 착용한 웨어러블 장치(wearable device), 로봇 또는 드론에 내장되거나 부착된 카메라에 의해 수행되거나, CCTV 중 하나 이상을 이용하여 수행될 수도 있다.
예를 들어, 촬영되는 이미지의 종류는, 사진, 파노라마 이미지, 동영상, 또는 적외선 영상 중 하나 이상이거나 이들 중 적어도 일부를 포함하는 복합적인 이미지일 수도 있다. 복합적인 이미지의 예들은, 하나 이상의 이미지 프레임을 표시할 수 있는 애니메이션 GIF, 삼성 갤럭시 3의 가상 투어(virtual tour) 동영상이 지원되는 JPG 이미지 등을 포함할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 적어도 하나의 이미지와 연관된 부가 정보를 획득할 수 있다. 예를 들어, 상기 전자 장치는 카메라를 통해 상기 적어도 하나의 이미지의 촬영과 동시에 촬영 위치, 노드의 이미지의 방향, 상기 이미지의 깊이/심도(depth) 중 하나 이상을 포함하는 3D 정보를 획득할 수 있다. 예를 들어, 상기 전자 장치는 카메라를 통해 상기 적어도 하나의 이미지의 촬영을 수행하고, 상기 촬영과 동일 또는 다른 시점(time point)에 깊이 센서를 통해 상기 적어도 하나의 이미지에 표시된 적어도 하나의 물체(또는 상기 물체의 이미지)에 대한 깊이 정보를 획득할 수 있다. 예를 들어, 상기 전자 장치는 상기 적어도 하나의 이미지의 촬영과는 별도의 촬영을 통해 3D 지도의 기반이 되는 깊이 지도(depth map)를 획득할 수도 있다.
한 실시예에서, 상기 전자 장치는, 상기 전자 장치의 움직임에 따른 위치의 변화, 또는 카메라의 방향, 높이, 포즈, 방향각, 틸트 각의 변화에 따른 다양한 이미지들을 촬영할 수 있다. 상기 적어도 하나의 이미지의 각각은 컬러 이미지, 깊이 정보를 측정하여 형성된 깊이 지도 이미지일 수도 있다.
한 실시예에서, 상기 전자 장치는, 상기 적어도 하나의 이미지와 연관된 상기 부가 정보로서, 상기 전자 장치의 움직임에 따른 위치, 또는 카메라의 방향, 높이, 포즈, 방향각, 틸트 각과 관련한 정보들 중 하나 이상을 획득할 수 있다. 이러한 정보들은 자북과 중력 방향을 기준으로 하는 절대값일 수도 있고, 이전 노드나 이전 이미지 촬영시 획득한 부가 정보를 기반으로 한 상대적인 변화량일 수도 있다.
720 동작에서, 상기 전자 장치는 상기 적어도 하나의 이미지(및 부가 정보)와 연관된 적어도 하나의 노드를 생성할 수 있다. 예를 들어, 710 동작 및 720 동작은 각 노드를 생성하기 위하여 반복될 수 있다.
730 동작에서, 상기 전자 장치는 복수의 노드들과, 상기 복수의 노드들 간의 경로(또는 연결)를 포함하는 공간 지도(또는 3D 지도)를 생성할 수 있다.
한 실시예에서, 상기 전자 장치는 이미지를 촬영하여 노드를 형성하고, 각 노드를 통해 지도를 위한 이미지를 수집하고, 노드들을 기반으로 최소한 부분적인 공간 지도(또는 3D 지도)를 생성할 수 있다.
한 실시예에서, 상기 전자 장치는 복수의 이미지들을 촬영하고, 상기 복수의 이미지들과 연관된 복수의 노드들을 생성하고, 상기 복수의 노드들을 기반으로 하는 공간 지도(또는 3D 지도)를 생성할 수 있다.
한 실시예에서, 상기 전자 장치는 노드들 간의 이동 정보를 통해 경로 정보를 형성할 수 있으며, 복수의 경로들을 통해 인접하거나 겹치는 노드들을 결정하고, 상기 결정된 노드들의 복수의 이미지들을 이용하여 공간 지도(또는 3D 지도)를 변경(예: 노드의 추가, 삭제, 노드들의 병합, 노드 정보의 변경)할 수 있다. 예를 들어, 상기 노드 정보는 관심 공간의 한 위치에 대응하는 적어도 하나의 이미지와, 상기 적어도 하나의 이미지와 연관된 정보를 포함할 수 있다.
한 실시예에서, 상기 전자 장치는, 이미지 촬영시 촬영이 일어난 해당 위치 정보(예: 2D 좌표 정보, 3D 좌표 정보)를 기반으로 최소 하나 이상의 노드를 생성할 수 있다. 한 실시예에서, 상기 전자 장치는, 이동하면서 순차적으로 이미지들을 촬영할 수 있고, 적어도 하나의 경로를 따라 배치된 복수의 노드들을 생성할 수 있다. 상기 전자 장치는, 각 노드와 연관된 정보(이하, 노드 정보라고도 함) 및 상기 경로에 대한 정보(이하, 경로 정보라고도 함)를 지도 정보로서 저장할 수 있다. 예를 들어, 상기 전자 장치는 복도의 한 지점에서 주변의 이미지를 촬영하고, 사용자가 몇 걸음 전진한 후 또 한 장의 이미지를 촬영한 경우, 시간 순서에 따라 두 개의 노드들과 상기 노드들을 연결하는 경로(또는 링크)가 생성될 수 있다. 상기 전자 장치는 상기 노드들에 대한 정보 및 상기 노드들 간 경로 정보를 저장할 수 있다.
한 실시예에서, 상기 전자 장치는, 링크 정보를 생성하지 않고, 적어도 하나의 노드만 생성할 수도 있다. 하나의 경로는 최소 하나 이상의 노드를 포함할 수 있다. 지도가 복수의 노드들을 포함하는 경우, 해당 경로는 시간적, 공간적 연속성이 있는 복수의 이미지들과 연관될 수 있다. 상기 시간적, 공간적 연속성을 갖는 경우는, 이미지들 간의 촬영(또는 생성) 시간의 차이가 미리 설정된 임계 시간(예: 20초) 이내인 경우, 한 노드의 이미지가 이전 노드의 이미지와 최소 일부 유사한 경우, 한 이미지의 촬영 위치와 이전 노드의 위치 간의 거리 차이가 미리 설정된 임계 거리(예: 20m) 이내인 경우 중 하나 이상을 포함할 수 있다.
한 실시예에서, 상기 전자 장치는, 새로운 이미지를 촬영한 위치로부터 미리 설정된 임계 거리(예: 1m) 이내에 위치한 미리 생성된 노드가 존재할 경우, 상기 새로운 이미지에 대한 정보에 근거하여 상기 노드와 연관된 정보를 업데이트할 수도 있다.
한 실시예에서, 새로운 이미지를 촬영한 지점의 2D 좌표가 미리 생성된 노드의 위치로부터 미리 설정된 임계 거리 이내에 존재하더라도, 상기 새로운 이미지를 촬영한 지점의 높이와 상기 노드의 높이 간의 차이가 미리 설정된 임계 높이 이상인 경우(예: 상기 지점 및 노드가 한 건물의 서로 다른 층들에 존재하는 경우)에, 상기 전자 장치는 다른 노드를 생성할 수 있다. 예를 들어, 상기 전자 장치는 높이 측정 센서(예: 기압 센서(240C), GPS 모듈(227))를 통해 높이 정보를 획득할 수 있다.
한 실시예에서, 상기 전자 장치는, 카메라의 포즈 정보(예: 상하 축 회전을 나타내는 피치(pitch) 또는 틸트(tilt), 좌우 축 회전을 나타내는 요(yaw) 또는 팬(pan), 시계 또는 반시계 방향의 축 회전을 나타내는 롤(roll))를 기반으로 하여 노드를 생성(또는 저장)하거나 업데이트할 수 있다.
한 실시예에서, 불필요한 노드를 생성하지 않기 위해서, 상기 전자 장치는, 새로운 이미지에 대한 정보(예: 촬영 위치 정보, 촬영 영역 정보)가 미리 설정된 조건(예: 새로운 이미지의 촬영 위치가 미리 생성된 노드의 위치로부터 임계 거리 이상인 경우, 새로운 이미지의 촬영 위치로부터 미리 설정된 반경 이내에 미리 설정된 수 미만의 노드들이 존재하는 경우, 새로운 이미지의 촬영 영역이 미리 생성된 노드의 이미지 촬영 영역과 중복되지 않는 경우, 또는 새로운 이미지의 촬영 영역이 미리 생성된 노드의 이미지 촬영 영역과 임계 비율 미만으로 중복된 경우 중 하나 이상)을 만족하지 않으면, 새로운 노드를 생성하지 않을 수도 있다.
한 실시예에서, 상기 전자 장치는, 새로운 이미지와 기존 노드의 이미지를 비교하고, 이미지들의 차이가 임계값 미만인 경우(또는 이미지들의 차이가 적은 경우), 새로운 노드를 생성하지 않거나 기존 노드를 업데이트하지 않을 수 있다. 상기 이미지들의 비교에는, SLAM(Simultaneous Localization and Mapping), PTAM (Parallel Tracking and Mapping), PTAMM (Parallel Tracking and Multiple Mapping)과 같은 기술이 이용될 수 있다.
한 실시예에서, 노드와 연관된 정보(즉, 노드 정보)는 관심 공간의 한 위치에 대응하는 적어도 하나의 이미지와, 상기 적어도 하나의 이미지(또는 상기 적어도 하나의 이미지에 표시된 물체)와 연관된 부가 정보를 포함할 수 있다. 예를 들어, 상기 부가 정보는 상기 적어도 하나의 이미지 또는 상기 적어도 하나의 이미지의 촬영 상황을 부가적으로 기술하는 메타 데이터(또는 메타 정보), 상기 적어도 하나의 이미지(또는 상기 적어도 하나의 이미지에 표시된 물체)에 대하여 사용자 또는 외부 장치(예: 제1 외부 전자 장치(102), 제2 외부 전자 장치(104), 또는 서버(106))에 의해 입력된 정보, 또는 사용자/전자 장치에 연관된 상황 정보 중의 적어도 하나를 포함할 수 있다. 예를 들어, 상기 적어도 하나의 이미지는, 하나 이상의 스틸 이미지, 하나 이상의 부분 이미지를 포함하는 파노라마 이미지, 깊이 측정 기술(예: TOF(time-of-flight), kinectTM, IR depth camera, stereo camera, 레이저 거리측정 센서, 초음파 센서, Lidar 센서 중 하나 이상)에 의해 물체까지의 거리(distance) 정보를 측정하여 얻은 이미지나 3D 모델, 또는 하나 이상의 이미지를 포함하는 비디오 중의 적어도 하나를 포함할 수 있다.
예를 들어, 상기 메타 데이터는 해당 노드 정보에 포함된 상기 적어도 하나의 이미지와 연관된 깊이 정보, 촬영 위치, 촬영 시간, 촬영 방향(azimuth), 촬영 각도(tilt, rotation), 카메라의 포즈(pose), 카메라의 움직임, 카메라의 이동 경로, 또는 촬영 영역 중의 적어도 하나를 포함할 수 있다.
예를 들어, 상기 전자 장치는, 무선 신호(예: WiFi, BT, RF-ID, iBeacon, VLC, LiFi 또는 셀(cell) 신호 중의 적어도 하나)를 감지하는 무선 센서, 보수계(pedometer), 가속도계(accelerometer)(또는 가속도 센서), NFC 모듈, 자이로스코프(또는 자이로 센서), 지자기 센서(또는 마그네틱 센서), 깊이 센서 또는 외부 카메라(예: 카메라 포커싱 정보를 이용하는 카메라 자체 또는 ISP, 양안 카메라, 레이저 거리 측정기, KinectTM, IR 카메라, IR 센서, 초음파 센서), 기압계, 마커(예: 바코드(Barcode), QR 코드, 워터마크) 중 하나 이상을 이용하여, 관심 공간에서 카메라(또는 촬영 장치)의 위치, 포즈(예: 피치(pitch), 요(yaw), 롤(roll)), 움직임, 이동 거리, 방향(azimuth), 높이(또는 고도) 등의 적어도 하나를 감지할 수 있다.
예를 들어, 상기 전자 장치는, WiFi 지문(fingerprint) 기술, NFC(Near Field Communication)/RF-ID에 의한 측위 기술, 마커에 의한 측위 기술, 또는 LPPe2.0 중 하나 이상의 기술을 이용하여 촬영 위치(또는 노드의 위치 연관 정보)를 획득할 수 있다.
예를 들어, 실내측위 성능 향상을 위해 LPPe2.0 내에 포함된 요구사항들은, 전파특성정보 전달(Radio Characteristic Information) 방법, 영상기반 상황인지 방법(IRB: Image Recognition Based method), 보행자용 추측항법 기반 측위방법(PDR: Pedestrian Dead Reckoning), 단말 보조기반 운동 서브상태(UE-assisted motion sub-state)의 제공, 지도 속성정보(Map based attributes)의 제공, 단말 스스로의 위치 및 측정정보에 대한 크라우드 소싱(Crowd sourcing) 지원, 실내외 천이영역 정보(indoor/Outdoor Transit area information)의 제공, 전파 지도 데이터(Radio map data)의 제공, UE-based IRB 측위의 제공, 또는 향상된 WLAN 측위정보의 제공을 포함한다.
한 실시예에서, 상기 전자 장치는 NFC 장치(예: NFC 모듈(228))를 이용하여 촬영 위치(또는 노드의 위치 연관 정보)에 대한 정보를 획득할 수 있다. 예를 들어, 관심 공간에 소정 간격, 혹은 관심 공간의 소정 위치(예: 문 위치, 각 방의 코너 위치, 전등 위치, 벽의 중앙, 바닥이나 천장 등)에 NFC 장치(예: NFC 리더나 센서)가 장착된 경우, 상기 전자 장치는 NFC 신호를 수신하거나, 상기 전자 장치의 NFC 신호를 수신한 NFC 리더로부터 위치 연관 정보를 수신함으로써, 카메라(또는 상기 전자 장치)의 위치를 파악할 수 있다. 예를 들어, NFC 장치들의 배치 간격에 따라 정확도는 더 향상될 수 있으며, 상기 전자 장치는 NFC 신호 검출 후 이동 거리와 방향을 파악함으로써 카메라(또는 상기 전자 장치)의 좌표를 예측할 수도 있다.
한 실시예에서, 상기 전자 장치는 마커 기술을 이용하여 촬영된 물체나 카메라의 위치 정보를 판단할 수도 있다. 마커 기술은, 이미지에 포함된 특정 마커를 해독함으로써 해당 마커의 위치를 파악하고, 해당 마커와 카메라 간의 상대적인 위치를 파악하는 기술이다. 마커는 바코드, 2D 코드(QR코드, PDF-417, 데이터 매트릭스(Data matrix), 컬러코드(ColorCodeTM), 워터마크 중 하나 이상일 수 있다. 상기 전자 장치는, 마커를 디코딩함으로써 좌표, 방향 정보 등을 파악할 수 있다. 카메라가 촬영한 방향에 따라 마커의 형상이 변형되므로 마커를 촬영하는 카메라의 포즈나 방향 정보, 크기 정보, 이미지 상의 마커 위치 등을 통해 카메라의 위치 정보를 예측할 수 있다. 상기 전자 장치는 마커 기술과 함께 깊이 정보를 이용함으로써 보다 정확한 카메라 위치를 판별할 수도 있다.
한 실시예에서, 상기 전자 장치는 로봇 기술, 근접센서, 깊이 센서 기술 등을 이용하여 촬영 위치에 대한 정보(또는 노드의 위치 연관 정보)를 획득할 수 있다.
예를 들어, 상기 전자 장치는, 로봇을 통해 2D 지도(2D map)를 획득하고, 해당 지도를 다른 측위 기술과 연계함으로써 관심 공간 내 특정 지점의 좌표 위치를 판단할 수도 있다. 예를 들어, 청소기 로봇은 스스로 이동하면서, 충돌 센서, 근접 센서, 초음파 센서(ultra sound), 카메라, depth 센서(예: Time-of-Flight(TOF), IR 카메라, 다시점(multiview) 카메라) 등을 이용하여 벽이나 사물의 존재 여부를 판단할 수 있다. 또한, 청소기 로봇은 바퀴 회전 수 등을 이용하여 이동한 거리를 판단할 수 있다. 청소기 로봇은 방향 센서나 가속도 센서, 자이로 센서 중 하나 이상을 이용하여 이동한 경로들을 수집함으로써 관심 공간 내 벽의 위치, 물체 위치 등을 판단하고 2D 지도(또는 지도 정보)를 생성할 수 있다. 또한, 상기 전자 장치는, 2D 지도 내 각각의 위치에 대한 정보와, WiFi 지문, 바닥의 마커, 천장의 NFC 센서 등을 통해 얻은 정보에 근거하여, 지도 내의 특정 위치 좌표를 판단할 수도 있다. 상기 전자 장치는, 상기 지도 정보와 신호/마커/센서 등을 얻은 위치 정보를 이미지 촬영시에도 활용하여 촬영 위치(또는 노드의 위치 연관 정보)를 판별할 수 있다.
한 실시예에서, 근접 센서, 깊이 센서 등을 이용한 지도 생성 기술은 로봇뿐만이 아니라 웨어러블 장치(wearable device), CCTV, 스마트 폰 등에서도 활용 가능하다.
한 실시예에서, 상기 전자 장치는 높이 측정 센서(예: 기압 센서(240C), 기압계)에 의해 고도 정보를 예측할 수 있으며, 건물과 같은 관심 공간에서 층별로 지도를 구성하는데 고도 정보를 이용할 수 있다.
한 실시예에서, 상기 전자 장치는 각 노드에서 촬영되는 이미지와 함께 다양한 상황 정보 중 하나 이상을 기록할 수 있다. 상기 전자 장치는 상황 정보를 통해 카메라가 촬영한 이미지가 가상의 2D 혹은 3D 공간상에 배치되는 영역이 어디인지 판별할 수 있다.
한 실시예에서, 이미지와 함께 저장되는 위치 정보는 다른 이미지와의 관계에 따른 상대적인 위치나 경로 정보일 수도 있다. 예를 들어, 상기 전자 장치는 두 개의 이미지들이 갖는 동일/유사한 특징점(feature point) 정보에 근거하여 상기 두 개의 이미지들 간의 상대적인 위치 관계(예: 3D 공간상의 배치, 전후 관계 중 하나 이상)를 파악할 수도 있다. 예를 들어, 이미지 내 특징점은 에지, 코너, 이미지 패턴, 외곽선 중의 적어도 하나일 수 있다. 예를 들어, 상기 전자 장치를 전진하면서 제1 및 제2 이미지들을 촬영한 경우, 제1 및 제2 이미지들은 동일한 물체에 대한 이미지들(즉, 동일 물체에 대한 서로 다른 시점(viewpoint)의 이미지들)을 가지며, 제2 이미지에 존재하는 동일 물체의 이미지는 제1 이미지에 존재하는 동일 물체의 이미지보다 크다. 촬영된 이미지들에서 동일 물체에 대한 이미지들은 크기 차이를 가질 수 있다. 상기 전자 장치는 두 노드들 간 거리를 깊이 센서, 가속도 센서, PDR, 레이저 센서와 같은 거리 센서로 측정함으로써 이미지들의 각 위치 정보를 판단할 수 있다.
한 실시예에서, 두 이미지들의 위치 정보, PDR, 보수계(pedometer), 이미지 촬영시 카메라를 통해 측정한 깊이 정보를 이용하여, 상기 전자 장치는 노드들 간의 이동 거리를 결정할 수도 있다. 예를 들어, 상기 전자 장치는, 하나의 이미지 촬영 후 다음 이미지를 촬영할 때까지의 이동 거리를 모션 센서를 이용하여 예측함으로써 노드들 간의 위치 이동을 계산할 때 이용할 수 있다.
한 실시예에서, 상기 전자 장치는, 이동에 따른 거리 정보와, 카메라의 방향 정보나 포즈 정보를 이용하여 노드에 대한 2D 공간 혹은 3D 공간 상의 상대적 위치(예: 거리와 방향)를 파악할 수도 있으며, 각 노드의 좌표를 추정할 수도 있다. 예를 들어, 상기 전자 장치는, 직선 이동뿐만 아니라 다른 방향으로 이동한 경우에 카메라의 방향 정보나 포즈 정보를 이용할 수 있다. 예를 들어, 상기 전자 장치는, 2D 지도 정보를 기반으로 가상의 3D 지도(예: 도면을 기반으로 하는 가상의 3D 모델)를 구성할 수 있다. 상기 전자 장치는, 2D 지도 내 물체(벽, 코너, 모서리, 복도, 창 등) 또는 물체 위치(예; 벽 위치, 코너 위치, 모서리 위치, 복도 위치, 천정과 벽의 연결부, 창 위치 등)를 기반으로, 이미지 내 물체 또는 특징점과의 매칭(또는 매핑)을 통해 노드의 위치와 방향을 판단하거나 노드의 좌표를 보정할 수도 있다.
한 실시예에서, 상기 전자 장치는 별도의 지도 정보를 이용할 수도 있다. 예를 들어, 상기 전자 장치는 미리 준비된 관심 공간(예: 건물)의 2D 도면에서 현재 노드나 특정 노드의 위치(예: 출입구 위치)를 사용자 입력 또는 기본 설정을 통해 원점으로 설정하고, 이후 이동 정보나 거리 정보를 이용하여 노드의 상대적인 위치를 계산할 수도 있다. 예를 들어, 상기 전자 장치는 상대적인 위치 정보와 함께 2D 도면 상의 물체 또는 물체 위치와 현재 노드와 연관된 이미지(이하, 노드의 이미지라고도 함) 내 물체 또는 특징점을 매칭(또는 매핑)하여 상기 노드의 위치 정보를 보정할 수도 있다. 예를 들어, 상기 전자 장치는 깊이 센서가 내장된 카메라나 스테레오스코픽(stereoscopic) 카메라(또는 양안 카메라)를 이용하여 이미지 내의 물체까지의 거리를 측정하거나, 촬영된 이미지에서 각각 픽셀의 위치와 카메라로부터 거리 간의 상관관계를 이용함으로써 거리를 판별할 수도 있다.
한 실시예에서, 상기 전자 장치는, 복수의 이미지들을 촬영하는 경우, 각각의 이미지를 촬영한 위치에 대한 정보와 카메라의 방향 정보나 움직임 정보(예: 회전, 틸트, 이동 거리) 또는 포즈 정보 중 하나 이상을 활용함으로써, 3D 공간이나 2D 공간 상에서 카메라의 이동 경로와 촬영 영역 관련 정보를 획득할 수 있다. 예를 들어, 전자 장치가 실내에서 이동하는 도중 이미지를 촬영하는 경우, 촬영된 장소에 의해 경로가 구성되며, 이미지의 촬영 영역은 카메라의 포즈, 움직임, 방향각, 틸트 각도, 회전각, 수평각 중 하나 이상을 감지함으로써 예측될 수 있다.
도 8은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다. 상기 전자 장치의 동작 방법은 810 내지 840 동작들을 포함할 수 있다. 상기 전자 장치의 동작 방법은, 전자 장치(예: 전자 장치(101, 201, 401)), 또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421))에 의해 수행될 수 있다.
810 동작에서, 상기 전자 장치는 카메라(예: 카메라 모듈(291))를 통해 촬영된 프리뷰 이미지를 디스플레이(예: 디스플레이(160, 260))에 표시할 수 있다.
820 동작에서, 상기 전자 장치는 촬영 위치 및/또는 촬영 방향을 확인할 수 있다. 상기 전자 장치는 상기 카메라의 촬영 위치 및/또는 촬영 방향에 대한 정보를 획득할 수 있다.
830 동작에서, 상기 전자 장치는 노드 정보를 구성할 이미지의 촬영을 위한 가이드를 출력할 수 있다. 예를 들어, 상기 가이드는 그래픽 요소(또는 시각 정보)(예: 이미지, 아이콘, 텍스트, 아이템 등), 청각적 요소(예: 음성 안내, 사운드 출력) 또는 촉각적 요소(예: 진동) 중의 적어도 하나를 포함할 수 있다.
한 실시예에서, 상기 전자 장치는 노드 정보를 구성할 이미지의 촬영을 위한 가이드 또는 지시자를 상기 디스플레이에 표시할 수 있다. 예를 들어, 상기 가이드 또는 지시자는, 상기 프리뷰 이미지와 함께(또는 상기 프리뷰 이미지와 중첩되지 않도록) 표시되거나, 상기 프리뷰 이미지 상에 표시될 수 있다.
한 실시예에서, 상기 가이드 또는 지시자의 위치는 상기 카메라의 위치 또는 방향에 근거하여 결정될 수 있다.
한 실시예에서, 상기 가이드 또는 지시자의 위치는 복수의 노드들과 연관된 이미지들의 촬영 위치들 또는 촬영 방향들에 근거하여 결정될 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 프리뷰 이미지 상에 촬영되어야 할 위치 또는 방향을 나타내는 제1 지시자와 현재 위치 또는 방향을 나타내는 제2 지시자를 표시할 수 있다.
840 동작에서, 상기 전자 장치는 상기 가이드에 따라 촬영된 이미지를 획득할 수 있다.
한 실시예에서, 상기 전자 장치는 사용자의 입력에 근거하여 노드 정보를 구성할 이미지의 촬영을 개시하거나, 자동으로 노드 정보를 구성할 이미지의 촬영을 개시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 지시자의 안내에 따라 촬영된 이미지를 현재 위치에 대응하는 새로운 노드, 또는 미리 생성된 노드와 연관시킬 수 있다.
도 9는 본 발명의 다양한 실시예에 따른 전자 장치의 사용자 인터페이스를 도시한다. 상기 사용자 인터페이스는 전자 장치(예: 전자 장치(101, 201, 401))에 의해 디스플레이(예: 디스플레이(160, 260))에 표시될 수 있다.
상기 사용자 인터페이스는, 카메라(예: 카메라 모듈(291))를 통해 촬영된 프리뷰 이미지(910)와, 노드 정보를 구성할 이미지의 촬영을 위한 미니맵 형태의 가이드(930)와, 노드 정보를 구성할 이미지의 촬영을 위한 버튼(920)과, 노드 정보를 구성할 이미지의 촬영 완료 여부 또는 현재의 촬영 위치/방향이 촬영되어야 할 위치/방향과 일치하는지의 여부를 나타내는 그래픽 요소(922)를 포함할 수 있다.
상기 가이드(930)는 현재 노드(또는 현재 노드의 위치, 또는 현재 촬영 위치) 또는 촬영되어야 할 위치를 나타내는 제1 지시자(950)와, 현재 촬영 방향 또는 촬영되어야 할 방향을 나타내는 제2 지시자(952)를 포함할 수 있다.
상기 가이드(930)는 미리 생성된 이전 노드(또는 이전 노드의 위치, 또는 이전 촬영 위치)를 나타내는 제3 지시자(940)와, 이전 노드에서의 촬영 방향을 나타내는 제4 지시자(942)와, 노드들 간의 변위 방향 또는 경로를 나타내는 제5 지시자(944)를 포함할 수 있다.
상기 가이드(930)는 상기 프리뷰 이미지(910) 상에, 또는 상기 프리뷰 이미지(910)와 중첩되지 않도록 표시될 수 있다.
한 실시예에서, 상기 제1 지시자(950)의 위치 및/또는 방향은 상기 카메라의 위치에 근거하여 결정될 수 있다.
한 실시예에서, 상기 제1 지시자(950)의 위치 및/또는 방향은 상기 카메라의 위치에 근거하여 결정될 수 있다.
한 실시예에서, 상기 제2 지시자(952)의 위치 및/또는 방향은 상기 카메라의 위치에 근거하여 결정될 수 있다.
한 실시예에서, 상기 제1 지시자(950)의 위치 및/또는 방향은 적어도 하나의 이전 노드의 촬영 위치에 근거하여 결정될 수 있다.
한 실시예에서, 상기 제2 지시자(952)의 위치 또는 방향은 적어도 하나의 이전 노드의 촬영 방향에 근거하여 결정될 수 있다.
상기 전자 장치는, 스마트 폰, 웨어러블 장치(예: 구글 글래스)일 수 있다.
예를 들어, 상기 전자 장치가 이전 노드로부터 전/후(또는 좌/우)로 이동하여 이미지를 촬영한 경우, 상기 전자 장치는 새로운 노드를 생성하여 상기 디스플레이 상에 표시할 수 있고, 상기 새로운 노드와 연관된 부가 정보(이하, 노드의 부가 정보라고도 함)를 저장할 수 있다.
예를 들어, 상기 전자 장치가 이동 없이 회전하여 이미지를 촬영한 경우, 상기 전자 장치는 새로운 노드를 생성하지 않고, 현재 위치에 대응하는 이전 노드에 대한 정보에 새로운 이미지 및 새로운 정보(예: 회전 각도)를 추가할 수 있다.
한 실시예에서, 상기 전자 장치는, 미리 설정된 어플리케이션 또는 기능의 실행에 따라, 미리 저장된 지도를 표시할 수 있다. 예를 들어, 상기 전자 장치는, 어플리케이션 또는 기능의 실행에 따라, 미리 저장된 지도 정보에 근거하여 지도를 생성하여 표시할 수 있다. 상기 전자 장치는 각 이미지의 촬영마다 업데이트되는 지도 정보(또는 노드 정보)를 이용하여 지도를 생성할 수 있다.
예를 들어, 상기 전자 장치는, 미리 생성된 이전 노드(또는 이전 노드의 위치, 또는 이전 촬영 위치)를 나타내는 제3 지시자(940)를 노란색 원으로 표시하고, 이전 노드에서의 촬영 방향을 나타내는 제4 지시자(942)를 제3 지시자(940) 내부의 빨간색 부채꼴로 표시할 수 있다.
예를 들어, 상기 전자 장치는, 현재 노드(또는 현재 노드의 위치, 또는 현재 촬영 위치)를 나타내는 제1 지시자(950)를 노란색 원으로 표시하고, 현재 촬영 방향을 나타내는 제2 지시자(952)를 녹색 부채꼴로 표시할 수 있다.
예를 들어, 도시된 경로에 따른 3번째 노드에서는 두 개의 방향들(또는 각도들)로 이미지들이 촬영되었음을 알 수 있고, 상기 두 개의 방향들 사이에 촬영되지 않은 방향(또는 각도) 또는 해당 방향의 영역이 존재함을 알 수 있다.
한 실시예에서, 상기 전자 장치는, 도시된 수평 방향들 외에 상하 방향(또는 각도), 천장, 바닥 등의 방향 또는 영역의 정보를 지도 정보에 저장할 수 있고, 상기 저장된 정보 또는 상황을 사용자에게 표시할 수 있다.
예를 들어, 상기 전자 장치는, 사용자 인터페이스로서, 구형(sphere) 미니맵, 지도 도법에 의한 미니맵 등을 프리뷰 이미지에 오버레이 혹은 오버뷰, 또는 OSD 형태로 표시할 수도 있고, AR이나 VR에서 표시할 수도 있다. 예를 들어, 상기 지도 도법은, 정사도법(正射圖法, orthographic projection), 평사도법(平射圖法, stereographic projection), 심사도법(心射圖法, gnomonic projection), 방위정거도법(方位正距圖法, azimuthal equidistant projection), 방위정적도법(方位正積圖法, azimuthal equal area projection), 원통도법(圓筒圖法, cylindrical projection), 메르카토르도법(Mercator projection), 원통중심도법(圓筒中心圖法, central cylindrical projection), 밀러 도법, 갈 평사 원통 도법, 등장방형도법(Equirectangular projection), 원통정적도법(圓筒正積圖法, cylindrical equal area projection), 횡축 메르카토르도법(橫軸-, transverse Mercator projection, 의원통도법(擬圓筒圖法, pseudo cylindrical projection), 몰바이데 도법(Mollweide projection 혹은 homolographic projection "등비율 도법"), 호몰로사인 도법(homolosine projection), 에케르트 제4도법(Eckert IV projection), 원뿔도법(conic projection), 투시원추도법(透視圓錐圖法, perspective conic projection), 람베르트 정각원추도법(람베르트正角圓錐圖法, Lambert conformal conic projection), 본 도법(Bonne projection), 절충 도법(折衷圖法, compromise projection), 로빈슨 도법, 또는 빈켈 트리펠 도법 중 하나 이상을 포함할 수 있다.
한 실시예에서, 상기 전자 장치는, 이전 노드와 현재 촬영 위치의 차이가 미리 설정된 임계 거리 이상일 때 새로운 노드를 생성할 수 있다.
한 실시예에서, 상기 전자 장치는, 경로상 인접한 두 노드들 간의 거리가 미리 설정된 임계 거리 이상일 때, 상기 두 노드들 사이의 위치에서 하나 이상의 이미지를 촬영하도록 사용자에게 가이드를 제공하거나, 카메라가 동작하고 있을 경우, 자동으로 촬영을 수행할 수 있다.
한 실시예에서, 상기 전자 장치는, 촬영한 새로운 이미지와 이전 노드의 이미지를 비교하여 유사도가 미리 설정된 임계값(예: 매칭(또는 매핑) 비율 70%) 이하일 경우에만 새로운 노드의 생성 또는 이전 노드의 업데이트를 수행할 수 있다. 예를 들어, 상기 전자 장치는, 현재 촬영 위치와 인접한 이전 노드의 이미지와 현재 촬영된 이미지가 동일 물체에 대한 이미지들(즉, 물체 이미지들(또는 물체 이미지 영역들) 또는 물체에 해당하는 이미지 영역들(즉, 물체 영역들))을 포함하는 경우, 상기 물체 이미지들의 크기나 면적의 차이가 미리 설정된 임계값 이상일 경우에만 새로운 노드를 생성할 수도 있다.
상기 전자 장치는, 너무 많은 노드들이 작은 면적의 영역에 생성되는 경우, 불필요한 노드 정보들이 생성되는 경우 등을 방지하거나, 지도에서 정보가 부족한 부분을 보완하기 위하여, 새로운 노드의 생성, 새로운 노드의 생성 억제, 상기 인터페이스의 제공 등의 동작을 수행할 수 있다.
한 실시예에서, 상기 전자 장치는, 노드 생성 조건이 충족되지 않는 경우, 이전 노드에 대한 정보에 새로 촬영된 이미지 및 상기 새로운 이미지와 연관된 부가 정보(예: 위치 정보)를 추가하는 등의 업데이트 동작을 수행할 수도 있다. 예를 들어, 상기 전자 장치는, 이전 노드의 이미지와 새로운 이미지를 합성할 수도 있다.
한 실시예에서, 상기 전자 장치는, 이전 노드의 부가 정보(예: 메타데이터)를 통해 상기 이전 노드에서 촬영되지 않은 영역의 이미지를 촬영할 수 있도록 사용자를 안내할 수 있다. 예를 들어, 상기 전자 장치는, 미리 설정된 어플리케이션 또는 기능의 실행에 따라, 현재 위치에 인접한 이전 노드의 촬영 방향과 현재 카메라의 위치와 방향에 대한 정보를 기반으로, 상기 이전 노드에서 촬영이 필요한 영역이 있는지를 판단하고, 판단된 영역에 대응하는 방향(및/또는 각도)으로 새로운 이미지의 촬영이 수행되도록 사용자를 안내하거나, 자동으로 새로운 이미지를 촬영할 수도 있다.
예를 들어, 상기 전자 장치는, 이전 노드의 위치 또는 이와 인접한 위치에서 상기 이전 노드에서 촬영되지 않았던 영역을 촬영하고, 촬영된 새로운 이미지와 상기 새로운 이미지와 연관된 부가 정보(예: 메타데이터)를 이용하여 상기 이전 노드의 정보를 업데이트할 수 있다. 예를 들어, 상기 전자 장치는, 이전 노드의 부가 정보(예: 촬영 위치, 촬영 각도)와, 현재 촬영된 새로운 이미지의 부가 정보(예: 촬영 위치, 촬영 각도)에 근거하여, 또는 상기 새로운 이미지의 촬영 시점(viewpoint)을 이전 노드에서의 시점(viewpoint)으로 변경함에 따른 물체에 대한 상대적인 각도 및/또는 상대적인 거리 등에 근거하여, 상기 새로운 이미지를 변형할 수 있고, 변형된 이미지와 상기 변형된 이미지와 연관된 부가 정보를 상기 이전 노드에 대한 정보에 추가할 수도 있다.
한 실시예에서, 상기 전자 장치는, 이전 노드에 인접한 경우, 상기 이전 노드의 위치로 이동하도록 사용자에게 피드백(예: 시각적 피드백, 촉각적(또는 햅틱) 피드백, 청각적(또는 오디오) 피드백 중 하나 이상)을 제공한 후, 사용자가 상기 이전 노드에서 촬영되지 않은 영역의 이미지를 촬영하도록 방향이나 위치를 안내할 수 있다. 상기 안내는 프리뷰 이미지 상에 촬영되지 않은 영역을 표시(예: 촬영할 영역의 사각형 영역의 표시, 촬영하기 위한 중심점 영역의 표시, 또는 방향을 알리는 지시자의 표시)하거나, 이미 촬영된 영역과 촬영되지 않은 영역을 구분하여 표시(예: 색상, 투명도 등으로 프리뷰 이미지에 표시)하거나, 또는 미니맵을 통해 표시할 수도 있다.
도 10은 본 발명의 다양한 실시예에 따른 전자 장치의 사용자 인터페이스를 도시한다. 상기 사용자 인터페이스는 전자 장치(예: 전자 장치(101, 201, 401))에 의해 디스플레이(예: 디스플레이(160, 260))에 표시될 수 있다.
상기 사용자 인터페이스는, 카메라(예: 카메라 모듈(291))를 통해 촬영된 프리뷰 이미지(1010)와, 이미지를 촬영하도록 선택 가능하거나, 노드 정보를 구성할 이미지의 촬영 완료 여부 또는 현재의 촬영 위치/방향이 촬영되어야 할 위치/방향과 일치하는지의 여부를 나타내는 제1 그래픽 요소(1022), 이전 동작의 취소를 위한 제2 그래픽 요소(1024), 노드 정보를 구성할 이미지의 촬영을 위한 가이드(1030)와, 이전 이미지들(1040, 1042)을 포함할 수 있다.
상기 가이드(1030)는 촬영되어야 할 방향을 나타내는 제1 지시자(1032), 현재 촬영 방향(예: 카메라 지향 방향, 프리뷰 이미지 중심 위치, 카메라 포커싱 위치 중 하나 이상)을 나타내는 제2 지시자(1034), 현재 이미지의 촬영 완료 이후 다음에 촬영되어야 할 방향을 나타내는 제3 지시자(1036)를 포함할 수 있다. 예를 들어, 상기 제3 지시자(1036)는 현재 이미지의 촬영 완료 이후 반시계 방향으로 회전할 것을 나타낼 수 있다.
예를 들어, 도 10에 도시된 바와 같이, 제1 지시자(1032) 영역에 제2 지시자(1034)가 위치하는 경우에, 상기 전자 장치는 제1 그래픽 요소(1022)를 통해 이미지 촬영이 가능함을 표시할 수 있다. 이후 제1 지시자(1032)는 다음에 촬영할 이미지의 방향을 표시하기 위해 위치가 변화될 수 있고, 제2 지시자(1034)는 현재 촬영 방향을 표시할 수 있다. 이 경우, 제1 지시자(1032)와 제2 지시자(1034)가 서로 다른 방향들을 표시하게 되므로, 제1 그래픽 요소(1022)는 비활성화 상태(예: 그레이 표시 혹은 표시안됨)로 표시되거나, 선택이 불가능하도록 될 수도 있다. 제1 지시자(1032)와 제2 지시자(1034)가 서로 같은 방향을 표시하는 경우에, 제3 지시자(1036)는 현재 이미지를 촬영한 이후에 제 1 지시자(1032)가 표시될 방향을 미리 가이드하는 정보를 나타낼 수 있다. 제1 지시자(1032)와 제2 지시자(1034)가 서로 다른 위치를 표시하는 경우에, 제3 지시자(1036)는 제1 지시자(1032)의 위치를 제 2 지시자(1034)의 위치를 기준으로 가이드하는 정보를 표시할 수 있다.
상기 사용자 인터페이스는, 미리 설정된 어플리케이션 또는 기능의 실행 이전에 미리 노드와 연관되어 있었던 제1 이미지(1040), 상기 어플리케이션 또는 기능의 실행 이후에 상기 노드와 연관된 제2 이미지(1042)를 포함할 수 있다.
한 실시예에서, 상기 제1 지시자(1032)의 위치 및/또는 방향은 미리 상기 노드와 연관되어 있었던 제1 이미지(1040)의 촬영 위치/방향에 근거하여 결정될 수 있다.
한 실시예에서, 상기 제3 지시자(1036)의 위치 및/또는 방향은 미리 상기 노드와 연관되어 있었던 제1 이미지(1040) 및/또는 제2 이미지(1042)의 촬영 위치/방향에 근거하여 결정될 수 있다.
예를 들어, 상기 전자 장치는, 상기 제1 지시자(1032)를 통해 촬영되지 않은 공간이나 방향의 중앙점(또는 초점)을 표시할 수 있다. 예를 들어, 상기 제1 지시자(1032)는 임계 영역(예: 닫힌 원형 고리 형태에서 중앙의 빈 부분)을 한정하는 형태(예: 닫힌 고리 형태, 상기 임계 영역의 모서리들을 표시하는 형태)를 가질 수 있다. 상기 전자 장치는, 현재 촬영 위치를 나타내는 상기 제2 지시자(1034)가 상기 임계 영역에 속하도록 사용자를 안내하거나, 상기 제2 지시자(1034)가 상기 임계 영역에 속하는 경우 자동으로 이미지를 촬영할 수도 있다.
한 실시예에서, 상기 전자 장치는, 촬영되지 않은 이미지에 대한 정보를 다른 외부 장치(예: 제1 외부 전자 장치(102), 제2 외부 전자 장치(104), 또는 서버(106))로 전송함으로써, 상기 외부 장치(또는 상기 외부 장치에 의해 제어되는 장치)가 상기 이미지의 촬영을 수행하도록 제어할 수도 있다. 예를 들어, 상기 전자 장치는, 카메라가 내장된 로봇 청소기에 해당 위치/방향 정보(예: 좌표, 방향, 각도) 등을 전달함으로써, 상기 로봇 청소기로 하여금 자동으로 이동하여 촬영할 수 있도록 명령을 내릴 수 있다. 상기 제어 신호는 WiFi, VLC, IR 등을 통해 전달할 수 있으며, 상기 전자 장치 또는 별도의 서버(예: 가전기기를 제어할 수 있는 스마트 홈 서버 등)로부터 명령 신호가 전달될 수도 있다.
한 실시예에서, 상기 전자 장치는, 미리 설정된 조건에 따라서 한 노드 또는 상기 노드에 인접한 위치에서 이미지를 촬영하도록 사용자를 안내하거나 자동 촬영할 수도 있다.
한 실시예에서, 상기 전자 장치는, 한 노드의 부가 정보(예: 촬영된 이미지의 메타 데이터)에 포함된 촬영 시간이 현재 시간으로부터 미리 설정된 시간 이상 경과한 경우, 상기 노드의 해당 방향의 이미지를 업데이트하도록 상기 전자 장치 또는 외부 장치(또는 카메라 장치)에 가이드를 제공하거나 자동 업데이트 관련 신호를 전달할 수도 있다. 예를 들어, 상기 전자 장치가 해당 노드에 인접한 경우, 상기 전자 장치는 사용자에게 가이드를 제공하거나 로봇에게 명령을 전달하여 해당 위치로 이동시켜서 촬영할 수도 있다.
한 실시예에서, 상기 전자 장치는, 미리 설정된 이벤트(예: 소리 감지, 가스 감지 등)가 발생한 경우, 해당 이벤트가 발생한 위치 또는 방향에 대한 이미지 업데이트 요청을 사용자나 로봇에게 전달할 수도 있다. 예를 들어, 상기 전자 장치는, 상기 전자 장치의 구성 요소 또는 환경 센서(예: 스마트 홈 시스템 또는 상기 전자 장치와 연결된 가스 감지 센서, 오디오 센서 등)를 이용하여 이벤트 발생 위치 및/또는 방향을 감지할 수 있다. 예를 들어, 스마트 홈 시스템은 상기 스마트 홈 시스템에 포함된 각각의 센서나 기기가 설치된 위치 정보를 저장할 수 있고, 상기 위치 정보의 적어도 일부를 상기 전자 장치로 전송할 수 있다. 상기 위치 정보는 각 기기가 자신의 위치 센서를 통해 감지될 수 있고, 상기 위치 정보는 지도 정보(예: 노드)와 연관하여 등록될 수도 있다. 사용자가 사용자 인터페이스에 의해 센서나 기기의 설치 위치를 지도 정보에 등록할 수도 있다. 상기 전자 장치는, 노드 생성시 촬영한 해당 이미지에서 영상 인식을 통해 해당 센서나 기기를 판별하고, 상기 노드와 연관하여 저장함으로써 위치 정보를 등록할 수도 있다.
한 실시예에서, 노드 정보에 포함된 이미지 및/또는 부가 정보(또는 메타 데이터)는 이미지를 촬영한 장치(예: 상기 전자 장치, 스마트 폰, 웨어러블 장치, 로봇 중 하나)에 저장될 수도 있고, 상기 장치에 저장된 이미지 및/또는 부가 정보는 하나 이상의 서버로 전송될 수도 있다. 서버의 종류는 촬영되는 장소나 서비스에 따라 달라질 수 있다. 예를 들어, 집에서 가족 구성원이나 청소기 로봇에서 촬영되는 이미지 및/또는 부가 정보(또는 메타데이터)는 인증을 거쳐 스마트 홈 서버에 저장될 수 있다.
한 실시예에서, SNS 애플리케이션의 구동에 따른 SNS 서비스를 통해 복수의 사용자들이 서로 맵 정보를 공유하는 경우에, SNS 서버에 이미지 및/또는 부가 정보(또는 메타데이터)가 전달되어 저장될 수도 있다.
한 실시예에서, 재난 상황의 경우, 재난관리 센터의 서버에 인터넷을 통해 공개된 해당 지역이나 건물의 이미지 및/또는 부가 정보가 검색되어 저장될 수도 있다. 예를 들어, 홈 서버나 SNS 서버 등으로부터 미리 설정된 조건(예: 해당 사용자의 허가)에 의해 재난 센터로 이미지 및/또는 부가 정보가 전달될 수도 있다.
도 11은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다. 상기 전자 장치의 동작 방법은 1110 내지 1140 동작들을 포함할 수 있다. 상기 전자 장치의 동작 방법은, 전자 장치(예: 전자 장치(101, 201, 401)), 또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421))에 의해 수행될 수 있다.
1110 동작에서, 상기 전자 장치는 관심 공간(예: 건물 내부의 실내 공간, 혹은 주차장, 식물원 등의 실외 공간) 내 복수의 위치들에서 촬영된 복수의 이미지를 획득할 수 있다.
한 실시예에서, 상기 전자 장치는, 각 이미지와 연관된 부가 정보를 획득할 수 있다.
1120 동작에서, 상기 전자 장치는 상기 복수의 이미지들(및 복수의 부가 정보들)와 연관된 복수의 노드들을 생성할 수 있다.
1130 동작에서, 상기 전자 장치는 상기 복수의 노드들(또는 상기 복수의 이미지들) 중에서 적어도 일부의 노드들(또는 적어도 일부의 이미지들) 또는 적어도 일부의 노드들에 대한 정보들을 부분적/전체적으로 결합(또는 합성)할 수 있다.
한 실시예에서, 상기 전자 장치는 상기 복수의 노드들 중 미리 설정된 임계 거리 이내의 노드들(또는 이미지들)을 하나의 노드(또는 하나의 이미지)로 결합할 수 있다.
한 실시예에서, 상기 전자 장치는 상기 복수의 노드들 중 미리 설정된 임계 거리 이내의 두 노드들(또는 이미지들)에 대하여 적어도 어느 한 노드에 대한 정보의 적어도 일부를 상기 두 노드들 간에 공유할 수 있다. 예를 들어, 상기 전자 장치는 제1 노드의 제1 이미지의 적어도 일부를 제2 노드 정보(즉, 제2 노드에 대한 정보)에 추가할 수 있다. 예를 들어, 상기 전자 장치는 제2 노드의 제2 이미지의 적어도 일부를 제1 노드 정보(즉, 제1 노드에 대한 정보)에 추가할 수 있다. 예를 들어, 제1 노드의 제1 이미지가 제2 노드의 제2 이미지와 최소 일부 영역을 공유하는 경우, 해당하는 이미지의 적어도 일부는 제2 노드 정보에 추가될 수도 있다.
한 실시예에서, 상기 전자 장치는 상기 복수의 이미지들 중 동일 물체를 촬영한 이미지들, 서로 매칭(또는 매핑)(예: 특징점 매칭)되는 영역들을 갖는 이미지들, 서로 연속성을 갖는 이미지들을 부분적/전체적으로 결합할 수 있다. 예를 들어, 상기 전자 장치는 제1 노드의 제1 이미지의 적어도 일부를 제2 노드의 제2 이미지와 결합할 수 있다. 예를 들어, 상기 전자 장치는 제2 노드의 제2 이미지의 적어도 일부를 제1 노드의 제1 이미지와 결합할 수 있다.
1140 동작에서, 상기 전자 장치는 복수의 노드들과, 상기 복수의 노드들 간의 경로(또는 연결)를 포함하는 공간 지도(또는 3D 지도)를 생성할 수 있다.
도 12는 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다. 상기 전자 장치의 동작 방법은 1210 내지 1230 동작들을 포함할 수 있다. 상기 전자 장치의 동작 방법은, 전자 장치(예: 전자 장치(101, 201, 401)), 또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421))에 의해 수행될 수 있다.
1210 동작에서, 상기 전자 장치는 관심 공간(예: 건물 내부의 실내 공간, 혹은 주차장, 식물원 등의 실외 공간) 내 복수의 경로들에 대응하는 복수의 서브 지도들을 획득할 수 있다.
예를 들어, 각 서브 지도는 복수의 노드들과, 상기 복수의 노드들을 연결하는 경로를 포함할 수 있다. 예를 들어, 각 노드(또는 각 노드에 대한 정보인 노드 정보)는 적어도 하나의 이미지와 상기 적어도 하나의 이미지와 연관된 부가 정보를 포함할 수 있다.
한 실시예에서, 각 노드에서 촬영한 이미지는 노드별로 파노라마 이미지 형태로 합성될 수 있다. 상기 파노라마 이미지의 형태는 실린더형, 큐브형(cube), 구체형(Sphere) 중의 하나일 수 있다.
한 실시예에서, 하나의 노드에서 한 번의 파노라마 이미지를 촬영함으로써 상기 노드에서 조회(즉, 검색)하는 3D 이미지(즉, 관심 공간의 적어도 일부를 촬영한 실사 이미지 또는 관심 공간의 적어도 일부를 나타낸 가상 모델)를 형성할 수 있다.
한 실시예에서, 상기 전자 장치는 한 노드에서 복수의 각도들로 촬영되거나, 또는 서로 인접한 노드들에서 촬영한 복수의 이미지들의 특징점들을 분석하고, 특징점들이 서로 매칭(또는 매핑)되는 이미지들을 이용하여 3D 이미지를 생성할 수도 있다.
예를 들어, 상기 파노라마 이미지는 깊이 정보를 이용하여 형성될 수도 있다. 예를 들어, 촬영 영역에 복수의 물체들이 존재하거나, 촬영 영역에 방의 기둥, 창문 등이 존재하는 경우에, 상기 촬영 영역에 대한 파노라마 이미지는, 카메라(또는 촬영 장치)와 각 물체간의 거리가 다르므로, 방향, 각도 등에 따라 각 물체까지의 깊이(depth) 정보를 가지게 된다. 또한, 파노라마 이미지는 촬영하는 위치에 따라서도 다양한 변화를 가질 수 있다.
1220 동작에서, 상기 전자 장치는 결합될 서브 지도들, 또는 결합될 서로 다른 서브 지도들의 노드들/경로들을 결정할 수 있다.
한 실시예에서, 실내 공간의 한 위치에서 촬영된 이미지는 상기 이미지와 연관된 부가 정보(또는 메타데이터)를 이용하여 가상의 3D 공간에 정합될 수 있다. 예를 들어, 상기 3D 공간상의 이미지 정합은 각 노드별로 수행될 수도 있다. 예를 들어, 상기 3D 공간상의 이미지 정합은 노드들 간의 영역에서 생성될 수도 있다. 상기 3D 공간은 수평 면적 및 높이를 갖는 가상 공간일 수도 있고, 일정한 크기로 제한된 구형, 원형, 실린더형 혹은 다면체 공간일 수도 있다.
한 실시예에서, 상기 전자 장치는, 서로 다른 두 경로들이 중첩되거나, 서로 다른 두 경로들이 미리 설정된 임계 거리 이내로 서로 인접한 경우, 상기 두 경로들을 결합하는 것으로 결정할 수 있다.
한 실시예에서, 상기 전자 장치는, 서로 다른 두 경로들의 인접한 두 노드들 간의 거리가 미리 설정된 임계 거리 이내일 때, 상기 두 노드들(및 상기 두 경로들)을 결합하는 것으로 결정할 수 있다.
한 실시예에서, 상기 전자 장치는, 서로 다른 두 경로들의 두 노드들의 이미지들이 동일한 물체에 대한 이미지들을 포함하는 경우, 상기 두 노드들(및 상기 두 경로들)을 결합하는 것으로 결정할 수 있다. 예를 들어, 상기 전자 장치는 상기 두 노드들의 이미지들의 특징점들을 분석하고, 특징점들이 서로 매칭(또는 매핑)되는 이미지들을 결합(또는 합성)하는 것으로 결정할 수 있다.
1230 동작에서, 상기 전자 장치는 서브 지도들, 또는 서로 다른 서브 지도들의 노드들/경로들을 결합할 수 있다.
한 실시예에서, 상기 전자 장치는 인접한 두 노드들을 대체하는 하나의 노드를 생성하거나, 인접한 두 노드들 중 하나의 노드를 나머지 노드에 통합할 수 있다.
한 실시예에서, 상기 전자 장치는 두 서브 지도들의 경로들이 서로 중첩된 경우, 중첩 지점 또는 영역에 위치하거나 인접한 노드들의 이미지들의 특징점들을 분석하고, 특징점들이 서로 매칭(또는 매핑)되는 이미지들을 이용하여 새로운 이미지(예: 3D 이미지)를 생성할 수도 있다.
한 실시예에서, 상기 전자 장치는 인접 노드들의 이미지들을 촬영 방향, 촬영 각도, 해상도 등을 고려하여 결합(또는 합성)함으로써 새로운 이미지(예: 파노라마 이미지, 3D 모델링된 이미지 등의 3D 이미지)를 생성할 수 있다. 예를 들어, 상기 전자 장치는 SIFT(Scale Invariant Feature Transform), HOG(Histogram of Oriented Gradient), Haar feature, Ferns, LBP(Local Binary Pattern), MCT(Modified Census Transform) 중 하나 이상을 이용하여, 이미지들의 유사도를 판단하거나, 2개 이상의 이미지들을 결합(또는 합성)하여 하나의 이미지를 생성할 수 있다.
한 실시예에서, 상기 전자 장치는 노드들의 결합에 따라 상기 노드들과 연결된 경로들을 변경(예: 일부/전체 통합, 연결, 회전, 이동, 연결 노드의 변경/추가 등)할 수 있다.
한 실시예에서, 상기 전자 장치는 노드들의 결합 및/또는 경로의 변경에 따라 상기 경로 상의 적어도 하나의 다른 노드의 이미지 및/또는 부가 정보를 변경(예: 노드 위치, 촬영 방향, 촬영 각도 등의 변경)할 수 있다.
도 13은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다. 도 14는 상기 전자 장치의 동작 방법을 설명하기 위한 도면이다.
상기 전자 장치의 동작 방법은 1310 내지 1350 동작들을 포함할 수 있다. 상기 전자 장치의 동작 방법은, 전자 장치(예: 전자 장치(101, 201, 401)), 또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421))에 의해 수행될 수 있다.
1310 동작에서, 상기 전자 장치는 관심 공간(예: 건물 내부의 실내 공간, 혹은 주차장, 식물원 등의 실외 공간) 내 복수의 경로들에 대응하는 복수의 서브 지도들을 획득할 수 있다.
예를 들어, 각 서브 지도는 복수의 노드들과, 상기 복수의 노드들을 연결하는 경로를 포함할 수 있다. 예를 들어, 각 노드(또는 각 노드에 대한 정보인 노드 정보)는 적어도 하나의 이미지와 상기 적어도 하나의 이미지와 연관된 부가 정보를 포함할 수 있다.
1320 동작에서, 상기 전자 장치는 경로들의 중첩/인접 및 중첩/인접 지점의 인접 노드들을 결정할 수 있다.
상기 전자 장치는 서로 다른 두 경로들이 중첩되는지의 여부, 또는 서로 다른 두 경로들이 미리 설정된 임계 거리 이내로 서로 인접하는지의 여부를 결정할 수 있다. 상기 전자 장치는 상기 두 경로들의 중첩/인접 지점(또는 영역)에 위치한 인접한 노드들을 결정할 수 있다.
1330 동작에서, 상기 전자 장치는 인접 노드들의 이미지들의 결합 및/또는 경로 변경을 수행할 수 있다.
한 실시예에서, 상기 전자 장치는 인접한 두 노드들을 대체하는 하나의 노드를 생성하거나, 인접한 두 노드들 중 하나의 노드를 나머지 노드에 통합할 수 있다.
상기 전자 장치는 중첩/인접 지점(또는 영역)에 위치한 인접한 노드들의 이미지들의 특징점들을 분석하고, 특징점들이 서로 매칭(또는 매핑)되는 이미지들을 결합(또는 합성)할 수 있다. 상기 전자 장치는 노드들의 결합(또는 이미지들의 결합)에 따라 상기 노드들과 연결된 경로들을 변경(예: 일부/전체 통합, 연결, 회전, 이동, 연결 노드의 변경/추가 등)할 수 있다.
1340 동작에서, 상기 전자 장치는 변경된 경로 상의 노드의 이미지를 변경할 수 있다.
상기 전자 장치는 인접 노드들의 결합 및/또는 경로의 변경에 따라 상기 경로 상의 적어도 하나의 다른 노드의 이미지 및/또는 부가 정보를 변경(예: 노드 위치, 촬영 방향, 촬영 각도 등의 변경)할 수 있다.
1350 동작에서, 상기 전자 장치는 결합될 다른 경로들이 존재하는지의 여부를 결정할 수 있다. 상기 전자 장치는, 결합될 다른 경로들이 존재하는 경우에 1320 동작을 반복할 수 있고, 결합될 다른 경로들이 존재하는 경우에 본 방법을 종료할 수 있다.
도 14는 관심 공간에 대한 공간 지도를 나타내는 도면이다.
예를 들어, 관심 공간(1400)에 대한 공간 지도(1402)는 제1 내지 제3 서브 지도들(1410, 1420, 1430)을 포함할 수 있다. 각 서브 지도(1410, 1420, 1430)는 복수의 노드들(1412, 1422, 1432)과, 상기 복수의 노드들을 연결하는 경로(1414, 1424, 1434)를 포함할 수 있다. 예를 들어, 각 노드(1412, 1422, 1432)(또는 각 노드(1412, 1422, 1432)에 대한 정보인 노드 정보)는 적어도 하나의 이미지와 상기 적어도 하나의 이미지와 연관된 부가 정보를 포함할 수 있다.
예를 들어, 제1 서브 지도(1410)는 제1 내지 제5 노드들(1412)과, 상기 제1 내지 제5 노드들(1412)을 연결하는 제1 경로(1414)를 포함할 수 있다. 제2 서브 지도(1420)는 제6 내지 제10 노드들(1422)과, 상기 제6 내지 제10 노드들(1422)을 연결하는 제2 경로(1424)를 포함할 수 있다. 제3 서브 지도(1430)는 제11 내지 제16 노드들(1432)과, 상기 제11 내지 제16 노드들(1432)을 연결하는 제3 경로(1434)를 포함할 수 있다.
전자 장치(예: 전자 장치(101, 201, 401))(또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421)))는 각 서브 지도(1410, 1420, 1430)(또는 각 노드)에 대한 바운딩 박스를 설정할 수 있다. 예를 들어, 상기 바운딩 박스는 상기 공간(1400)의 원점(예: 상기 공간(1400)의 모서리, 중심)에 대한 좌표(예: {x1, y1, x2, y2})로 정의될 수 있다. 예를 들어, 상기 전자 장치는 제1 서브 지도(1410)에 대한 제1 바운딩 박스(1411)를 설정하고, 상기 전자 장치는 제2 서브 지도(1420)에 대한 제2 바운딩 박스(1421)를 설정할 수 있다.
상기 전자 장치는 경로들(1414, 1424, 1434)의 중첩/인접 및 중첩/인접 지점의 인접 노드들을 결정할 수 있다.
한 실시예에서, 상기 전자 장치는 제1 내지 제3 서브 지도들(1410, 1420, 1430)의 바운딩 박스들에 근거하여 경로들(1414, 1424, 1434)의 중첩 여부를 결정(또는 확인)할 수 있다. 상기 전자 장치는 중첩 지점(1451, 1452, 1453)(또는 영역)에 속하거나 인접한 인접 노드들을 결정(또는 확인)할 수 있다. 예를 들어, 상기 전자 장치는 제1 바운딩 박스(1411) 및 제2 바운딩 박스(1421)의 중첩을 확인할 수 있다. 상기 전자 장치는 중첩 지점(1451)(또는 영역)에 속하는 제3 노드(1412) 및 제8 노드(1422)를 확인할 수 있다.
도 14는 관심 공간(1400)에 대한 2D 공간 지도를 나타내며, 각 노드와 경로가 평면상에 배치된 것으로 표현되었으나, 다른 예에 따르면, 3D 공간으로 배치되어 표현될 수도 있다. 이에 따라서, 바운딩 박스들도 3D 공간에 배치될 수 있으므로 인접 노드를 판단하는 기준이 달라질 수 있다. 예를 들어, 유사한 2D 좌표(x, y)를 가지더라도, 해당 노드들이 배치된 건물의 층이 다른 경우에는 높이(z)가 상이하고, 바운딩 박스가 물리적으로 겹쳐지지 않으므로 인접한 노드들이라고 판단할 수 없다.한 실시예에서, 상기 바운딩 박스의 크기나 형태는 사물의 위치, 노드에서 촬영한 영상의 범위, 깊이 정보, 노드에서의 거리 중 하나 이상을 이용하여 결정될 수도 있다. 예를 들어, 노드와 경로로부터 일정 거리나 높이 범위로 한정하여 바운딩 박스가 설정될 수 있다. 예를 들어, 벽이나 물건과 같은 사물까지의 거리로 바운딩 박스가 한정될 수 있다. 예를 들어, 상기 전자 장치는 상기 노드나 상기 경로로부터 일정 거리나 일정 높이를 기준으로 바운딩 박스를 설정하되, 그 거리 안에 사물이 존재하는 경우 해당 사물까지의 거리로 바운딩 박스를 한정할 수도 있다.
한 실시예에 따르면, 바운딩 박스는, 파이프 형태를 가질 수도 있고, 각 노드마다 구의 형태를 가질 수도 있고, 노드들을 연결하는 형태를 가질 수도 있고, 무정형일 수도 있다.
도 15는 이미지들의 결합을 설명하기 위한 도면이다.
전자 장치(예: 전자 장치(101, 201, 401))(또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421)))는 인접 노드들(예: 제3 노드(1412) 및 제8 노드(1422))의 이미지들의 공통 부분에 근거하여 상기 이미지들을 결합할 수 있다.
예를 들어, 상기 전자 장치는 제3 노드(1412)의 제3 이미지(1512) 및 제8 노드(1422)의 제8 이미지(1522)의 공통 부분(1530)을 특징점들(1532)(예: 에지, 코너, 이미지 패턴, 외곽선)의 매칭(또는 매핑)을 통해 확인할 수 있다. 상기 전자 장치는 카메라의 촬영 각도, 거리 등의 조건에 따라 발생한 변형을 감안하여 상기 공통 부분(1530)을 판단할 수 있다. 예를 들어, 상기 전자 장치는 촬영된 영역 중 특징점들(1532)에 의한 유사도가 소정 일치도(예: 80%) 이상인 경우 공통 부분인 것으로 판단할 수 있다.
상기 전자 장치는 상기 공통 부분(1530)을 기준으로 제3 이미지(1512) 및 제8 이미지(1522)를 결합함으로써 통합 이미지(1540)를 생성할 수 있다. 예를 들어, 상기 전자 장치는 통합 이미지를 생성하기 위해 SLAM, PTAM, 혹은 PTAMM 기법을 사용할 수도 있다.
도 16a 내지 도 16c는 다양한 실시예에 따른 전자 장치가 지도들을 합성하는 과정을 설명하기 위한 예들을 도시한다.
도 16a를 참조하면, 다양한 실시예에 따른 제1 지도(1610)는 복수의 노드들(예: 제1 노드(1615), 제4 노드(1613), 제5 노드(1617) 등) 사이를 연결하는 경로들(예: 제1 경로(1640) 등)을 포함할 수 있다. 같은 맥락으로, 다양한 실시예에 따른 제2 지도(1630)는 복수의 노드들(예: 제2 노드(1635)) 사이를 연결하는 경로들(예: 제2 경로(1645))을 포함할 수 있다.
다양한 실시예에 따른 노드와 관련된 정보는 노드의 위치 정보, 다른 노드들과의 경로 정보, 또는 노드에 대응하는 이미지 셋 또는 상기 이미지 셋에 포함된 이미지의 촬영 방향 정보 중 적어도 하나를 포함할 수 있다. 예를 들면, 제5 노드(1617)와 관련된 정보는, 제5 노드(1617)와 제1 노드(1615) 사이의 경로 정보, 제5 노드(1617)와 관련된 이미지 셋에 포함된 각각의 이미지들이 촬영된 방향을 나타내는 촬영 방향 정보(1620), 또는 제5 노드(1617)와 관련하여 아직 이미지를 촬영하지 못한 방향에 대한 미촬영 방향 정보(1625)를 포함할 수 있다.
다양한 실시예에 따른 전자 장치는, 복수의 지도들(예: 제1 지도(1610), 제2 지도(1630)) 각각에 포함된 노드와 관련된 정보를 이용하여, 복수의 지도들 각각의 적어도 일부를 포함하는 새로운 지도(예: 제3 지도(1650))를 생성할 수 있다. 전자 장치는 새로운 노드를 생성하거나 기존의 노드들 중 적어도 하나를 업데이트하여 새로운 지도를 생성하는 과정에 이용할 수 있다.
한 실시예에 따르면, 전자 장치는 새로운 지도를 만드는 과정에서, 합성하기 전의 지도들에 포함된 노드들로부터 새로운 정보를 생성할 수 있다. 예를 들면, 전자 장치는 제1 지도의 노드에서 시작하여, 교차하는 부분의 노드(예: 제3 노드(1655))를 지나, 제2 지도에 포함된 노드로 연결된 경로에 대한 경로 정보를 생성할 수 있다. 예를 들면, 제1 노드(1615)과 관련된 제1 이미지와 제2 노드(1635)에 포함된 제2 이미지를 합성한 제3 이미지를 새로운 지도에 포함시킬 수 있다.
한 실시예에 따르면, 전자 장치는 복수의 지도들이 만나는 지점에 인접한 교차 노드들을 하나의 노드로 합성할 수 있다. 예를 들면, 전자 장치는 상기 교차 노드들에 관한 정보(예: 위치 정보, 관련 이미지 셋, 관련 이미지 셋에 포함된 이미지들의 획득방향 등)의 적어도 일부를 포함하는 새로운 노드를 생성할 수 있다. 예를 들면, 전자 장치는 제1 노드(1615)에 대응하는 이미지 셋과 이미지 획득 방향, 제2 노드(1635)에 대응하는 이미지 셋과 이미지 획득 방향, 제1 경로(1640), 및 제2 경로(1645)를 포함하는 제3 노드(1655)를 생성할 수 있다.
도 16b를 참조하면, 관심 공간에 대한 공간 지도는 제1 및 제2 서브 지도들(1601, 1602)을 포함할 수 있다. 상기 제1 서브 지도(1601)는 제11 내지 제15 노드들(1611a, 1612a, 1613a, 1614a, 1615a) 및 제1 경로(1616a)를 포함할 수 있다. 상기 제2 서브 지도(1602)는 제21 내지 제25 노드들(1621a, 1622a, 1623a, 1624a, 1625a) 및 제2 경로(1626a)를 포함할 수 있다.
도 16b 및 도 16c를 참조하면, 상기 제21 내지 제23 노드들(1621a, 1622a, 1623a)은 상기 제11 내지 제13 노드들(1611a, 1612a, 1613a)에 각각 결합(또는 통합)될 수 있다. 상기 노드들의 결합에 따라서, 상기 제11 내지 제13 노드들(1611a, 1612a, 1613a)의 각각은 상기 제21 내지 제23 노드들(1621a, 1622a, 1623a) 중 해당 노드에 대한 정보를 적어도 일부 포함하는 노드(1611c, 1612c, 1613c)로 변경될 수 있다. 상기 노드들의 결합에 따라서, 상기 제2 경로(1626a)는 제13 노드(1613c), 제24 노드(1624c) 및 제25 노드(1625c)를 연결하는 경로(1626c)로 변경될 수 있다. 예를 들어, 상기 제13 노드(1613a)에 포함된 이미지와 상기 제24 노드(1624a)에 포함된 이미지가 서로 공통 부분을 가지는 것으로 분석(예: 특징점 매칭)된 경우, 상기 공통 부분을 기반으로 상기 제13 노드(1613a)와 상기 제24 노드(1624a)의 상대적인 위치를 판별할 수 있다. 예를 들어, 상기 제24 노드(1624a)가 제13 노드(1613a)의 남쪽 방향(South)에 위치한 것으로 판단된 경우, 상기 제24 노드(1624a) 및 제25 노드(1625a)를 연결하는 제2 경로(1626a)의 일부는 회전(예: 시계 방향으로 90도 회전)될 수 있다. 상기 제2 경로(1626a)의 변경에 따라서, 상기 제24 노드(1624a) 및 제25 노드(1625a)의 각각은 상기 제2 경로(1626a)의 변경을 반영한 노드들(1624c, 1625c)로 변경될 수 있다.
한 실시예에서, 상기 전자 장치는 아래와 같은 (1)~(6) 동작들을 수행할 수 있다.
예를 들어, 공간 지도(3D Map)는 복수의 서브 지도들(Sub-1~Sub-N)의 합(또는 합)(예: Sub-1 + Sub-2 + ...+ Sub-N)으로 구성될 수 있다. 각 서브 지도는 복수의 노드들과, 상기 복수의 노드들을 연결하는 경로와, 바운딩 박스 정보를 포함할 수 있다. 예를 들어, 바운딩 박스 정보는 {x1, y1, x2, y2} 등과 같은 좌표를 포함할 수 있다. 복수의 서브 지도들 간에는 결합 법칙(예: Sub-1 + (Sub-2 + Sub-3) = (Sub-1 + Sub-2) + Sub-3)이 적용될 수 있다. 예를 들어, 제1 서브 지도(Sub-1)는 복수의 노드들(a-1, a-2, a-3, …, a-N)을 포함할 수 있고, 제2 서브 지도(Sub-2)는 복수의 노드들(b-1, b-2, b-3, …, b-N)을 포함할 수 있다.
(1) 상기 전자 장치는 해당 서브 지도(예: 제1 서브 지도(Sub-1))의 바운딩 박스를 계산하거나 확인하고, 상기 바운딩 박스와 중첩되는 다른 바운딩 박스를 갖는 다른 서브 지도(예: 제2 서브 지도(Sub-2))를 검색할 수 있다. 상기 바운딩 박스는 각 경로에 대해 설정되거나, 각 노드에 대해 설정될 수 있다.
(2) 상기 전자 장치는 상기 중첩된 서브 지도들의 중첩 지점(또는 영역)에 속하거나 인접한 두 노드들의 두 이미지들에 대해 특징점 매칭(또는 매핑)을 수행함으로써, 상기 두 이미지들의 공통 부분을 결정할 수 있다.
(3) 상기 전자 장치는 상기 두 이미지들 간의 특징점 매칭(또는 매핑)에 대한 정보를 이용하여, 상기 중첩된 서브 지도들의 경로들 중 적어도 하나에 대한 회전각을 계산할 수 있다.
(4) 상기 전자 장치는 상기 중첩된 서브 지도들의 경로들 중 적어도 하나를 상기 회전각에 따라 회전할 수 있다.
(5) 상기 전자 장치는 상기 서브 지도의 바운딩 박스와 중첩되는 또 다른 바운딩 박스를 갖는 또 다른 서브 지도가 존재하는 경우, 상기 (2)~(4) 과정들을 반복할 수 있다.
(6) 상기 전자 장치는 상기 (1)~(5) 과정들을 각 서브 지도에 대해 반복할 수 있다.
한 실시예에서, 상기 전자 장치는 기존에 존재하는 지도 도면을 이용하여 가상의 2D 공간 모델 혹은 3D 공간 모델을 형성할 수 있다. 상기 전자 장치는, 노드들 간의 상대적 위치들과, 촬영된 이미지 혹은 측위 정보 중 하나 이상을 이용하여, 각 노드의 이미지를 공간 모델에 매칭(또는 매핑)할 수 있다. 예를 들어, 상기 전자 장치는, 노드의 이미지를 2D 공간 모델 혹은 3D 공간 모델의 특징부(예: 벽, 모서리, 천정과 벽의 연결부, 창문 등)의 위치와 매핑함으로써 가상의 3D 모델을 생성할 수 있다.
도 17a 내지 20은 다양한 실시예에 따른 3D 파노라마 이미지의 생성 방법을 설명하기 위한 도면들이다.
도 17a를 참조하면, 전자 장치(예: 전자 장치(101, 201, 401))(또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421)))는 관심 공간을 다양한 각도들로 촬영한 제1 내지 제6 이미지들(1711a, 1712a, 1713a, 1714a, 1715a, 1716a)을 획득할 수 있다.
도 17b를 참조하면, 상기 전자 장치는 상기 제1 내지 제6 이미지들(1711a, 1712a, 1713a, 1714a, 1715a, 1716a)에 대응하는 제1 내지 제6 깊이 지도들(1721a, 1722a, 1723a, 1724a, 1725a, 1726a)(또는 깊이 지도 이미지들)을 획득할 수 있다.
상기 전자 장치는 상기 제1 내지 제6 이미지들(1711a, 1712a, 1713a, 1714a, 1715a, 1716a)의 인접한 두 이미지들에 대해 특징점 매칭(또는 매핑)을 수행함으로써, 상기 두 인접 이미지들의 공통 부분을 결정할 수 있다. 상기 전자 장치는 상기 공통 부분에 근거하여 상기 두 인접 이미지들을 결합(또는 합성, 또는 스티칭)할 수 있다. 도 18a를 참조하면, 상기 전자 장치는 제1 내지 제6 이미지 부분들(1711b, 1712b, 1713b, 1714b, 1715b, 1716b)을 결합할 수 있다.
도 18b를 참조하면, 상기 전자 장치는 제1 내지 제6 깊이 지도 부분들(1721b, 1722b, 1723b, 1724b, 1725b, 1726b)을 결합할 수 있다.
한 실시예에 따르면, 상기 전자 장치는 상기 제1 내지 제6 깊이 지도들(1721a, 1722a, 1723a, 1724a, 1725a, 1726a)의 인접한 두 깊이 지도들에 대해 특징점 매칭(또는 매핑)을 수행함으로써, 상기 두 인접 깊이 지도들의 공통 부분을 결정할 수 있다. 상기 전자 장치는 상기 공통 부분에 근거하여 상기 두 인접 깊이 지도들을 결합(또는 합성)할 수 있다.
한 실시예에 따르면, 상기 전자 장치는 상기 제1 내지 제6 이미지들(1711a, 1712a, 1713a, 1714a, 1715a, 1716a)의 인접한 두 이미지들에 대해 특징점 매칭(또는 매핑)을 수행함으로써, 상기 두 인접 이미지들의 공통 부분을 결정하고, 상기 제1 내지 제6 깊이 지도들(1721a, 1722a, 1723a, 1724a, 1725a, 1726a) 중에서 상기 공통 부분에 대응하는 두 인접 깊이 지도들의 공통 부분을 결정할 수 있다.
도 19a를 참조하면, 상기 전자 장치는 상기 제1 내지 제6 이미지 부분들(1711b, 1712b, 1713b, 1714b, 1715b, 1716b)에 대한 보정 처리(예: interpolation, smoothing, 크기 변환, 각도 변환, 위치 변환, 변형(sheer) 처리)를 수행함으로써 깊이 정보가 반영되지 않은 임시 파노라마 이미지(1710a)를 생성할 수 있다.
도 19b를 참조하면, 상기 전자 장치는 상기 제1 내지 제6 깊이 지도 부분들(1721b, 1722b, 1723b, 1724b, 1725b, 1726b)에 대한 보정 처리를 수행함으로써 파노라마 깊이 지도(1720)를 생성할 수 있다.
도 20을 참조하면, 상기 전자 장치는 상기 임시 파노라마 이미지(1710a)에 포함된 물체 이미지들이 원근감을 갖도록 상기 파노라마 깊이 지도(1720)에 근거하여 상기 임시 파노라마 이미지(1710a)를 보정함으로써, 깊이 정보가 반영된 최종 파노라마 이미지(1710b)를 생성할 수 있다.
한 실시예에서, 전자 장치(예: 전자 장치(101, 201, 401))(또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421)))는 Lidar 기술이나 양안 카메라, 깊이 센서를 구비한 카메라 등을 이용하여 생성된 3D 모델을 통해 관심 공간의 구조와 물체의 위치를 판단할 수 있다. 상기 전자 장치는 3D 모델 생성시 측정된 측위 정보를 이용하거나 노드 생성시 촬영된 이미지와 3D 모델(또는 3D 모델의 이미지) 중 최소 일부의 유사도를 비교함으로써 촬영된 이미지를 3D 모델에 매핑할 수 있다. 예를 들어, 상기 전자 장치는, Kinect, IR 카메라 등과 같이 깊이 정보를 얻을 수 있는 센서를 이용하여 깊이 지도(또는 깊이 지도 이미지)를 획득하고, 상기 깊이 지도를 이용하여 3D 모델을 생성할 수 있다. 상기 전자 장치는 컬러 카메라를 이용하여 물체를 촬영하고, 특징점 분석을 기반으로 상기 물체 이미지를 상기 3D 모델에 매핑함으로써 컬러 3D 지도를 구성할 수도 있다.
한 실시예에서, 상기 전자 장치는, 제1 외부 장치로부터 3D 모델 생성을 위한 데이터(또는 이미지)와, 상기 데이터와 연관된 상기 제1 외부 장치의 제1 상황 정보(예: 위치, 방향, 높이 등)를 함께 수신하여 3D 모델(또는 3D 모델 데이터)에 부가하거나 적용할 수 있다. 상기 전자 장치는, 상기 제1 외부 장치 또는 제2 외부 장치로부터 이미지와, 상기 이미지의 촬영시 측정된 제2 상황 정보를 수신할 수 있다. 상기 전자 장치는, 상기 제1 상황 정보 및 제2 상황 정보를 함께 이용함으로써 3D 모델에 이미지를 매핑할 수 있다. 상기 전자 장치는, 더욱 정확한 매칭을 위해 3D 모델과 상기 이미지의 이미지 분석(예: 모델과 매칭을 위한 이미지 분할, 특징점 추출, 이미지 분할(segmentation), 이미지 방향 정렬 등)을 더 수행할 수도 있다.
한 실시예에서, 각 노드는 깊이 센서를 이용하여 촬영되거나 생성된 깊이 지도와 컬러 카메라를 이용하여 얻은 컬러 이미지를 별도로 포함할 수 있다. 상기 전자 장치는, 깊이 지도에 근거하여 컬러 이미지를 보정함으로써 가상의 3D 공간 지도(또는 지도 이미지)를 형성할 수도 있다. 상기 전자 장치는, 하나의 카메라로부터 컬러 이미지 및 상기 컬러 이미지와 연관된 깊이 정보를 함께 획득할 수도 있다.
한 실시예에서, 깊이 지도와 컬러 이미지는 동시가 아닌 별도 시점에 각각 촬영하여 획득될 수도 있다. 상기 전자 장치는, 깊이 지도와 컬러 이미지를 촬영한 위치들의 차이가 미리 설정된 임계 거리(예: 50cm) 이내인지를 판단하고, 깊이 지도의 특징점과 컬러 이미지의 특징점의 유사도를 판단할 수 있다. 예를 들어, 상기 전자 장치는, 카메라(들)의 위치와 방향 정보를 기반으로, 깊이 지도와 컬러 이미지가 공통의 촬영 영역에 대응하는 이미지 영역들을 포함할 가능성이 있는지를 판단할 수 있다. 상기 전자 장치는, 상기 이미지 영역들에 대하여 깊이 지도의 특징점(들)과 컬러 이미지의 특징점(들)을 비교하고, 상기 특징점들의 유사도가 미리 설정된 임계값보다 높은 경우에, 상기 이미지 영역들을 서로 매칭할 수 있다.
한 실시예에서, 상기 전자 장치는, 인접한 복수의 노드들(시간, 방향에 따른 동일/유사한 공간 상의 노드들)간의 트랜지션(transition) 이미지(2D 이미지, 혹은 3D 이미지)를 생성함으로써 시간적/공간적으로 연속적인 2D 혹은 3D 이미지들을 가상 3D 공간상에 매핑하여 3D 지도를 생성할 수 있다. 상기 트랜지션 이미지는 2D 이미지 혹은 3D 이미지(예: 파노라마, 3D 모델, 또는 비디오 이미지)일 수 있다. 예를 들어, 상기 전자 장치는, 하나의 경로 상에 위치하는 인접 노드들의 두 이미지들의 변화 정보를 계산하고, 상기 변화 정보를 이용하여 트랜지션 이미지(예: 이미지들, 또는 복수의 프레임(frame) 이미지들을 포함하는 애니메이션 혹은 비디오)를 생성할 수 있다. 예를 들어, 상기 전자 장치는, 워핑(warping) 기술이나 모핑(Morphing) 기술을 이용하여 트랜지션 이미지를 생성할 수 있다.
한 실시예에서, 상기 전자 장치는, 복수의 경로들이 중첩되는 위치에 가상의 노드를 생성할 수 있고, 상기 중첩 위치에서 상기 복수의 경로들에 대한 트랜지션 이미지들을 합성하여 새로운 3D 이미지를 생성할 수 있고, 상기 가상 노드에 인접한 노드들의 부가 정보를 참조하여 상기 가상 노드의 부가 정보를 생성할 수 있다. 상기 전자 장치는, 상기 가상 노드로부터 인접 노드까지의 경로 정보도 노드들의 이미지들 간의 유사도에 근거하여 생성할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 가상 노드의 정보를 기반으로 인접한 각 노드의 이미지 및/또는 부가 정보를 업데이트할 수 있으며, 인접 노드에 트랜지션 이미지를 생성하여 추가할 수도 있다. 예를 들어, 트랜지션 이미지는 각 노드에서 인접한 노드까지 경로 정보와 함께 지도 정보에 저장될 수 있고, 노드 또는 경로에서 조회시 사용될 수 있다.
한 실시예에서, 상기 전자 장치 또는 카메라는, 이미지의 촬영시, 및/또는 이미지 촬영 이전/이후에 오디오를 기록할 수 있다. 예를 들어, 사용자가 상기 카메라의 전원을 켜거나, 상기 전자 장치(예: 스마트 폰)에서 카메라 어플리케이션이 실행되거나, 상기 카메라 어플리케이션의 프리뷰 기능이 동작되면, 상기 전자 장치 또는 카메라는, 오디오 레코딩 기능을 실행하여 오디오 데이터를 저장하는 동작을 수행할 수 있다. 예를 들어, 상기 전자 장치 또는 카메라는, 이미지 촬영 버튼이 선택되면, 이미지의 촬영 시간(및 촬영 시점의 이전 및/또는 이후를 포함하는 시간 (예: 10초)) 동안의 오디오를 이미지와 연관시켜 저장하거나, 또는 하나의 파일로 생성할 수 있다. 예를 들어, 상기 전자 장치 또는 카메라는, 갤럭시(Galaxy) S4의 Sound & Shot 기능이나 이와 유사한 기능을 수행할 수 있다.
한 실시예에서, 이미지 촬영 후 오디오 레코딩의 종료는 사용자가 오디오 기능을 종료하는 동작(예: 애플리케이션 종료, 카메라 기능 종료, 별도의 GUI 조작, 버튼 조작 중 하나 이상)을 통해 이루어질 수 있으며, 오디오 데이터와 이미지를 함께 연관시켜 저장하거나 하나의 파일에 저장할 수 있다. 한 실시예에서, 상기 전자 장치 또는 상기 카메라는 비디오 촬영시 오디오 데이터도 함께 녹음할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 전자 장치와 유선 혹은 무선 통신 장치를 통해 연결된 외부 장치(예: 심박 센서, 심전도 센서, 또는 뇌파 센서가 내장된 웨어러블 장치)에 의해 수집된 생체 신호(예: HRV, 뇌파, 심전도)를 분석하여 감정 혹은 스트레스 정보를 수집하고, 상기 수집된 정보를 해당 노드의 부가 정보로서 저장할 수 있다.
도 21a 내지 도 21d는 다양한 실시예에 따른 트랜지션 이미지의 생성 방법을 설명하기 위한 도면들이다.
도 21a를 참조하면, 전자 장치(예: 전자 장치(101, 201, 401))(또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421)))는 관심 공간(2110)을 촬영한 복수의 이미지들을 획득할 수 있다. 예를 들어, 상기 전자 장치는, 상기 관심 공간(2110)의 액자(2105)로부터 가까운 제1 위치에서 상기 액자(2105)를 촬영한 제1 이미지(2101)와, 상기 액자(2105)로부터 먼 제2 위치에서 상기 액자(2105)를 촬영한 제2 이미지(2102)를 획득할 수 있다.
도 21b를 참조하면, 상기 전자 장치는, 상기 제1 이미지(2101)와 상기 제2 이미지(2102)를 이용하여, 상기 제1 위치 및 상기 제2 위치의 중간 위치에서 상기 액자(2105)를 촬영한 실제 이미지와 유사하고 상기 제1 이미지(2101) 및 상기 제2 이미지(2102) 사이의 경로에서 발생하는 변화(예를 들어, 상기 액자(2105) 이미지 및 복도 이미지의 변화)를 보여주는 트랜지션 이미지(2103)를 생성할 수 있다.
도 21c를 참조하면, 상기 전자 장치는 관심 공간(2110)을 촬영한 복수의 이미지들을 획득할 수 있다. 예를 들어, 상기 전자 장치는, 상기 관심 공간(2110)의 제1 영역(2111)을 촬영한 제1 이미지와, 상기 관심 공간(2110)의 제2 영역(2112)을 촬영한 제2 이미지를 획득할 수 있다.
도 21d를 참조하면, 상기 전자 장치는, 상기 관심 공간(2110)의 제1 영역(2111)을 촬영한 제1 이미지(2121)와, 상기 관심 공간(2110)의 제2 영역(2112)을 촬영한 제2 이미지(2122)를 이용하여, 상기 제1 이미지(2121) 및 상기 제2 이미지(2122) 사이의 트랜지션 이미지(2123)를 생성할 수 있다. 예를 들어, 상기 전자 장치는, 상기 제1 이미지(2121), 상기 트랜지션 이미지(2123) 및 상기 제2 이미지(2122)를 포함하는 파노라마 이미지(2120)를 생성할 수 있다. 예를 들어, 상기 전자 장치는, 상기 제1 이미지(2121)에서 상기 제2 영역(2112)측 가장자리 부분과, 상기 제2 이미지(2122)에서 상기 제1 영역(2111)측 가장자리 부분 중 어느 한 가장자리 부분을 나머지 가장자리 부분까지 동일한 형태를 유지하면서, 또는 나머지 가장자리 부분의 형태로 점차 변형시키면서 연장함으로써, 상기 트랜지션 이미지(2123)를 생성할 수 있다.
도 22는 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다. 상기 전자 장치의 동작 방법은 2210 내지 2240 동작들을 포함할 수 있다. 상기 전자 장치의 동작 방법은, 전자 장치(예: 전자 장치(101, 201, 401)), 또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421))에 의해 수행될 수 있다.
2210 동작에서, 상기 전자 장치는 관심 공간(예: 건물 내부의 실내 공간, 혹은 주차장, 식물원 등의 실외 공간)에 대한 지도를 디스플레이(예: 디스플레이(160), 디스플레이(260)) 상에 표시할 수 있다.
예를 들어, 상기 지도는 복수의 노드들과, 상기 복수의 노드들을 연결하는 경로를 포함할 수 있다. 예를 들어, 각 노드(또는 각 노드에 대한 정보인 노드 정보)는 적어도 하나의 이미지와, 상기 적어도 하나의 이미지와 연관된 부가 정보를 포함할 수 있다.
한 실시예에서, 각 노드와 연관된 해당 노드 정보는 상기 관심 공간의 해당 위치에 대응하는 적어도 하나의 이미지 및 상기 적어도 하나의 이미지와 연관된 정보를 포함할 수 있다.
한 실시예에서, 상기 전자 장치는 상기 복수의 노드들과 상기 복수의 노드들을 연결한 경로를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는 제1 노드와 연관된 제1 이미지와, 상기 복수의 노드들과, 상기 복수의 노드들을 연결한 경로를 상기 디스플레이 상에 함께 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지를 상기 디스플레이 상에 표시할 수 있고, 상기 제1 이미지 상에 상기 복수의 노드들과 상기 복수의 노드들을 연결한 경로를 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 복수의 노드들과, 상기 복수의 노드들을 연결한 경로와, 각 노드와 연관된 각 이미지의 촬영 방향을 상기 디스플레이 상에 함께 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 복수의 노드들과 상기 복수의 노드들을 연결한 경로를 상기 디스플레이 상에 표시할 수 있고, 상기 경로는 인접한 노드들 간의 거리 또는 변위 방향 중 적어도 하나에 근거하여 형성될 수 있다.
한 실시예에서, 각 노드와 연관된 해당 노드 정보는 상기 관심 공간의 해당 위치에 대응하는 적어도 하나의 이미지 및 상기 적어도 하나의 이미지와 연관된 정보를 포함하고, 상기 적어도 하나의 이미지와 연관된 정보는 상기 적어도 하나의 이미지의 적어도 일부와 연관되고 촬영 위치, 노드의 이미지의 방향, 상기 이미지의 깊이/심도(depth) 중 하나 이상을 포함하는 3D 정보를 포함할 수 있다.
한 실시예에서, 상기 적어도 하나의 이미지와 연관된 정보는 상기 적어도 하나의 이미지에 표시된 물체의 깊이 정보를 포함할 수 있다.
2220 동작에서, 상기 전자 장치는 미리 설정된 조건이 충족되는지의 여부를 결정할 수 있다. 상기 전자 장치는 상기 조건이 충족되면 2230 동작을 수행하고, 상기 조건이 충족되지 않으면 2220 동작을 주기적으로/비주기적으로 반복할 수 있다.
예를 들어, 상기 미리 설정된 조건은, 노드 정보의 변경을 필요로 하는 입력(예: 사용자 입력, 외부 입력)을 검출한 경우, 미리 설정된 상황(context)과 일치하는 상기 전자 장치와 연관된 상황의 검출, 노드 정보의 변경을 필요로 하는 이벤트(예: 메시지의 수신, 경고 메시지의 발생 등)가 발생한 경우, 상기 전자 장치가 미리 설정된 지역/장소에 위치하거나 도달한 경우, 상기 전자 장치가 특정 모드에 진입한 경우, 미리 설정된 시간(예: 알람 시간의 도래, 미리 설정된 스케줄 항목의 도래)에 도달한 경우, 노드의 이미지가 식별 가능한 물체 이미지(또는 물체 영역)를 포함하는 경우, 사용자의 생체 정보가 미리 설정된 상태와 일치하는 경우(예: 임계 범위 내에 포함, 임계 값 이상/이하), 상기 전자 장치의 현재 상태를 나타내는 속성 값(예: 잔여 메모리 레벨, 신호 수신 강도 등)이 미리 설정된 임계 범위 내에 포함되거나 미리 설정된 임계 값 이상/이하인 경우, 또는 상기 전자 장치의 현재 상태(예: 방향, 위치, 자세, 배터리 상태, 무선 신호 수신 상태, 메모리 상태 등)가 미리 설정된 상태와 일치하는 경우(예: 임계 범위 내에 포함, 임계 값 이상/이하) 중의 적어도 하나를 포함할 수 있다.
2230 동작에서, 상기 미리 설정된 조건이 충족되면, 상기 전자 장치는, 상기 복수의 노드들 중 제1 노드와 연관된 제1 노드 정보를 변경할 수 있다.
2240 동작에서, 상기 전자 장치는, 상기 변경된 제1 노드 정보의 적어도 일부를 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 상기 디스플레이 상에 표시하고, 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 상기 디스플레이 상에 표시하고, 상기 지시자의 안내에 따라 촬영된 이미지를 상기 제1 노드와 연관시킬 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 상기 디스플레이 상에 표시하고, 상기 프리뷰 이미지 상에 촬영되어야 할 위치 또는 방향을 나타내는 제1 지시자와 현재 위치 또는 방향을 나타내는 제2 지시자를 상기 디스플레이 상에 표시하고, 상기 제1 및 제2 지시자들의 안내에 따라 촬영된 이미지를 상기 제1 노드와 연관시킬 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 상기 디스플레이 상에 표시하고, 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 상기 디스플레이 상에 표시하고, 상기 제1 노드와 연관된 제1 이미지(또는 제1 노드 정보)의 적어도 일부를 상기 지시자의 안내에 따라 촬영된 이미지에 근거하여 변경할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지를 상기 디스플레이 상에 표시하고, 입력(예: 사용자 입력, 외부 입력) 또는 상기 전자 장치의 방향 변경에 응답하여, 상기 제1 노드와 연관된 다른 이미지로 상기 제1 이미지를 대체하여 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 제1 노드 정보는 제1 이미지를 포함하는 복수의 이미지들을 포함하며, 상기 복수의 이미지들 중 상기 제1 이미지가 상기 제1 노드의 선택에 응답하여 표시될 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지를 상기 디스플레이 상에 표시하고, 이벤트의 발생을 검출하고, 상기 이벤트의 발생에 응답하여, 상기 제1 노드와 연관된 다른 이미지로 상기 제1 이미지를 대체하여 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지를 상기 디스플레이 상에 표시하고, 이벤트의 발생을 검출하고, 상기 이벤트의 발생에 응답하여, 외부 장치로부터 상기 제1 노드와 연관된 그래픽 요소를 획득하고, 상기 그래픽 요소를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 복수의 노드들 중 일부를 연결한 제1 경로를 상기 디스플레이 상에 표시하고, 이벤트의 발생을 검출하고, 상기 이벤트의 발생에 응답하여, 상기 복수의 노드들 중 다른 일부를 연결한 제2 경로를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 제2 경로는 상기 복수의 노드들 중 상기 이벤트와 연관된 노드를 경유하지 않도록 설정될 수 있다.
한 실시예에서, 상기 전자 장치는, 이벤트의 발생을 검출하고, 상기 이벤트의 발생에 응답하여, 상기 복수의 노드들 중 다른 일부를 연결한 제2 경로를 상기 디스플레이 상에 표시하고, 상기 제1 노드와 연관된 제1 이미지 상에 상기 제2 경로를 안내하는 지시자를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 통신 장치(예: 통신 인터페이스(170), 통신 모듈(220))를 통해 외부 장치로부터 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대한 정보를 획득하고, 상기 물체에 대한 정보의 적어도 일부를 나타내는 그래픽 요소를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대응하는 외부 장치로부터 상기 통신 장치를 통해 상기 외부 장치에 대한 정보를 획득하고, 상기 외부 장치에 대한 정보의 적어도 일부를 나타내는 그래픽 요소를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지에 대한 정보를 상기 통신 장치를 통해 외부 장치로 전송하고, 상기 통신 장치를 통해 상기 외부 장치로부터 상기 제1 이미지에 표시된 물체에 대한 정보를 획득하고, 상기 물체에 대한 정보의 적어도 일부를 나타내는 그래픽 요소를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대한 제어 정보를 상기 통신 장치를 통해 획득하고, 상기 물체에 대한 제어 정보의 적어도 일부를 나타내는 그래픽 요소를 상기 디스플레이 상에 표시하고, 상기 그래픽 요소와 연관된 입력에 응답하여, 상기 통신 장치를 통해 상기 물체를 제어하고, 상기 물체의 제어 결과를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 복수의 이미지들 또는 상기 복수의 이미지들에 대응하는 지시자들을 시간 순으로 배치하여 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체와 연관된 메시지를 저장하고, 상기 메시지 또는 상기 메시지의 지시자를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체와 연관된 메시지를 수신하고, 상기 메시지의 수신과 연관된 정보를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체와 연관된 태그(예: 위치, 물체 속성, 사용자 입력 정보 등의 물체 연관 정보)를 저장하고, 상기 태그 또는 상기 태그의 지시자를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대한 메시지 또는 태그를 상기 통신 장치를 통해 외부 장치로 전송하고, 상기 메시지 또는 태그의 전송 또는 수신과 연관된 정보를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 이벤트의 발생을 검출하고, 상기 이벤트의 발생에 응답하여, 상기 통신 장치를 통해 상기 제1 노드와 연관된 제1 이미지에 표시된 적어도 하나의 장치를 제어하고, 상기 적어도 하나의 장치의 제어 결과를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 통신 장치를 통해 메시지를 수신하고, 상기 메시지의 수신에 응답하여, 상기 통신 장치를 통해 상기 제1 노드와 연관된 제1 이미지에 표시된 적어도 하나의 장치로 상기 메시지와 연관된 정보를 전송하고, 상기 메시지의 수신 또는 전송과 연관된 정보를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지에 표시된 장치의 상태에 대한 정보를 포함하는 메시지를 상기 통신 장치를 통해 수신하고, 상기 메시지의 수신에 응답하여, 상기 메시지에 대한 정보를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지에 표시된 제1 외부 장치의 상태를 상기 디스플레이 상에 표시하고, 입력에 응답하여, 상기 통신 장치를 통해 상기 제1 외부 장치에 대한 정보를 포함하는 메시지를 제2 외부 장치로 전송하고, 상기 통신 장치를 통해 상기 제2 외부 장치로부터 상기 제1 외부 장치의 제어에 연관된 정보를 수신할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 제1 노드와 연관된 제1 이미지에 표시된 제1 외부 장치의 상태를 상기 디스플레이 상에 표시하고, 입력에 응답하여, 상기 통신 장치를 통해 상기 제1 외부 장치에 대한 정보를 포함하는 메시지를 제2 외부 장치로 전송하고, 상기 통신 장치를 통해 상기 제2 외부 장치 또는 제3 외부 장치와 연결하고, 상기 제2 외부 장치 또는 상기 제3 외부 장치의 제어에 따라 상기 제1 외부 장치를 제어할 수 있다.
도 23a 및 도 23b는 다양한 실시예에 따른 지도 인터페이스를 설명하기 위한 도면들이다.
도 23a를 참조하면, 제1 지도 인터페이스(2310a)는, 현재 위치의 3D 지도 이미지(2320)와, 가상 투어 사용자 인터페이스(2330)와, 2D 지도(2340)를 포함할 수 있다. 예를 들어, 상기 가상 투어 사용자 인터페이스(2330)와 상기 2D 지도(2340)는 상기 3D 지도 이미지(2320) 상에 표시될 수 있다. 예를 들어, 상기 2D 지도(2340)는 상기 3D 지도 이미지(2320)보다 작은 크기를 갖는 미니 지도의 형태로 표시될 수 있다.
상기 가상 투어 사용자 인터페이스(2330)는, 현재 위치 또는 현재 위치와 인접한 노드의 번호(또는 현재 위치 또는 현재 위치와 인접한 이미지의 번호)/전체 노드들의 수(전체 이미지들의 수)를 나타내는 제1 지시자(2331), 네비게이션 버튼(2332), 혹은 네비게이션의 진행 정도를 나타내는 제2 지시자(2333) 중 하나 이상을 포함할 수 있다.
한 실시예에서, 상기 네비게이션 버튼(2332)이 선택되면, 전자 장치(예: 전자 장치(101, 201, 401))(또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421)))는 자동으로 전체 노드들의 이미지들을 경로를 따라 순차적으로 표시할 수 있다.
한 실시예에서, 상기 전체 노드들의 이미지를 순차적으로 표시하는 동안 상기 네비게이션 버튼(2332)이 선택되면, 전자 장치(예: 전자 장치(101, 201, 401))(또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421)))는 상기 표시를 중단하거나, 일시 정지할 수도 있다. 상기 일시 정지한 경우, 상기 네비게이션 버튼(2332)이 선택되면, 일시 정지되었던 이미지부터 다시 순차적으로 표시할 수 있다.
한 실시예에서, 상기 네비게이션 버튼(2332)이 선택되면, 전자 장치는 사용자 또는 상기 전자 장치의 현재 위치(및/또는 사용자의 응시 방향 또는 상기 전자 장치의 지향 방향)에 따라 자동으로 현재 위치에 대응하는 노드의 이미지를 표시할 수 있다(예: 네비게이션 기능).
예를 들어, 상기 제2 지시자(2333)는 이동 가능하며, 상기 제2 지시자(2333)의 위치 이동에 응답하여, 상기 전자 장치는 상기 제2 지시자(2333)의 이동된 위치에 대응하는 3D 지도 이미지를 표시할 수 있다.
상기 미니 지도(2340)는 시작 노드(2341), 종단 노드(2342), 상기 시작 노드(2341) 및 상기 종단 노드(2342)를 연결하는 경로(2343), 현재 위치를 나타내는 제3 지시자(2344), 및 현재 위치의 이미지(2320)를 포함할 수 있다.
한 실시예에서, 상기 미니 지도(2340)는 상기 경로(2343)와 관련하여 다른 노드들을 표시할 수도 있다.
한 실시예에서, 상기 미니 지도(2340)는 현재 위치의 3D 지도 이미지(2320)의 촬영 방향을 나타내는 그래픽 요소(2345)를 더 포함할 수 있다.
도 23b를 참조하면, 제2 지도 인터페이스(2310b)는, 2D 지도(2340)와, 현재 위치의 3D 지도 이미지(2320)를 포함할 수 있다. 예를 들어, 상기 현재 위치의 3D 지도 이미지(2320)는 상기 2D 지도(2340) 상에 표시될 수 있다. 예를 들어, 상기 현재 위치의 3D 지도 이미지(2320)는 상기 2D 지도(2340)보다 작은 크기를 갖는 미니 지도의 형태로 표시될 수 있다.
한 실시예에서, 상기 제1 지도 인터페이스(2310a) 및 상기 제2 지도 인터페이스(2310b)는 사용자 입력에 따라 스위칭될 수 있다.
예를 들어, 상기 전자 장치는 관심 공간 내의 한 위치에서 이미지를 촬영하고, 다시 다른 위치로 이동하여 이미지를 촬영하는 과정을 반복하여 수행할 수 있다. 상기 전자 장치는 이미지를 촬영한 장소를 기반으로 노드를 생성할 수 있으며, 상기 전자 장치는 촬영 순서에 따라 노드들을 연결하는 경로를 생성할 수 있다. 예를 들어, 상기 전자 장치는 모두 9개의 이미지들을 이동하면서 촬영할 수 있고, 생성된 9개 노드들의 이미지들과 각 노드의 부가 정보(또는 메타 데이터)를 이용하여 시작 노드(또는 위치)로부터 종단 노드(또는 종단 위치)까지의 경로를 생성할 수 있다.
한 실시예에서, 지도 인터페이스의 우측 또는 좌측 상단에는 경로를 표시하는 2D 지도가 미니 지도의 형태로 제공될 수 있다. 상기 2D 지도는 시작 위치와 종단 위치까지 이동한 경로를 표시할 수 있으며, 현재 표시된 3D 지도 이미지의 촬영 방향을 표시할 수 있다.
한 실시예에서, 상기 전자 장치는 복수의촬영된 이미지들을 기반으로 인접하거나 순차적으로 촬영한 촬영 이미지들 사이에 배치될 트랜지션 이미지를 생성할 수 있고, 상기 복수의 촬영된 이미지들 및 트랜지션 이미지들을 기반으로 애니메이션이나 비디오를 표시할 수 있다. 예를 들어, 상기 인접하거나 순차적으로 촬영한 촬영 이미지들의 변화에 기반하여, 이러한 변화를 순차적으로 표시할 수 있는 하나 이상의 중간 이미지들을 트랜지션 이미지들로서 생성하고, 두 촬영 이미지들 사이에서 상기 트랜지션 이미지들을 순차적으로 표시함으로써 애니메이션이나 비디오를 제공할 수 있다.
한 실시예에서, 상기 지도 인터페이스는 가상 투어 사용자 인터페이스를 포함할 수 있고, 상기 가상 투어 사용자 인터페이스는 애니메이션이나 비디오를 제어하는데 사용될 수 있다. 예를 들어, 상기 가상 투어 사용자 인터페이스는 특정 위치의 선택 조회, 일시 정지(pause), 재개(resume), 빨리 감기(Fast forward), 되감기(Rewind) 등의 기능들을 제공할 수 있다. 상기 전자 장치는 경로 정보를 이용하여 사용자가 촬영하였던 경로와 같은 순서로 애니메이션이나 비디오를 재생할 수 있고, 네비게이션 정보의 조회 기능을 제공할 수 있으며, 3D 지도와 2D 지도를 서로 연동하여 표시할 수 있다.
한 실시예에서, 상기 전자 장치는 경로에서 네비게이션의 재생 순서를 달리할 수 있다. 예를 들어, 경로 상의 시작 위치와 종단 위치가 선택되면, 상기 전자 장치는 네비게이션을 위한 재생 순서와 경로 상의 이동 방향을 결정할 수 있다. 예를 들어, 도 23을 참조하면, 현재 위치에서 북쪽(N) 방향으로 3D 이미지들이 조회되고 있으나, 시작 위치와 종단 위치를 서로 반대로 지정하여 재생하면, 현재 위치에서는 반대 방향인 남쪽 방향(S)으로 3D 이미지들이 조회될 수 있다.
한 실시예에서, 2D 지도와 3D 지도의 위치는 서로 변경될 수 있다.
한 실시예에서, 2D 지도 및 3D 지도 중 하나만 선택적으로 표시될 수도 있으며, 이러한 선택적 표시는 사용자의 선택(예: 사용자의 지도 선택, GUI 조작, 버튼 조작)을 통해 이루어질 수 있다.
한 실시예에서, 상기 전자 장치는 복수의 경로들이 중첩된 위치에서 사용자가 조회를 원하는 방향을 선택할 수 있도록 사용자 인터페이스를 제공할 수 있다. 예를 들어, 상기 전자 장치는, 네 개의 복도가 만나는 분기점에서 경로가 제공될 수 있는 방향을 사용자에게 디스플레이(예: 디스플레이(160), 디스플레이(260)), 사운드, 혹은 햅틱을 통해 표시하고, 사용자 입력에 의해 선택된 경로 또는 방향을 따라 애니메이션이나 비디오를 재생할 수도 있다.
한 실시예에서, 2D 지도나 3D 지도는 네비게이션 재생(즉, 애니메이션 또는 비디오 재생)이 아닌 사용자 선택에 의해 조회될 수도 있다. 예를 들어, 사용자의 모션 정보를 기반으로 상기 지도 상의 위치 혹은 시간과 관련한 정보가 선택적으로 조회될 수도 있다.
한 실시예에서, 2D 지도는 경로와 노드 뿐만이 아니라 물체의 위치 정보를 이용하여 물체 이미지(벽, 가구 등)가 포함된 형태로 표시될 수 있다.
한 실시예에서, 상기 전자 장치는 3D 지도에서 사용자가 지정한 위치와 방향을 기반으로 촬영한 이미지들을 표시하거나, 상기 이미지들을 기반으로 구성된 3D 지도를 VR 형태로 재구성하여 표시할 수도 있다.
한 실시예에서, 2D 지도와 3D 지도는 서로 상호 연관되어 하나의 화면에 표시될 수도 있고, 통신 장치를 이용하여 연결된 복수의 디스플레이들에 각각 표시될 수도 있다. 예를 들어, 웨어러블 장치와 스마트 폰이 WiFi나 BT로 연결되어 있을 경우, 웨어러블 장치에는 2D 지도가 표시되고, 스마트 폰에는 3D 지도가 표시될 수도 있고, 서로 전환될 수도 있다.
한 실시예에서, 상기 전자 장치는, 지도를 조회하기 위한 기능이 실행된 경우, 상기 전자 장치의 위치와 방향을 판별하는 동작을 수행할 수 있다. 상기 전자 장치의 위치가 지도가 구성되어 있는 장소이면, 상기 전자 장치의 위치와 지향 방향(예: 카메라 지향 방향 혹은 디스플레이의 상단 지향 방향 등)에 따라 지도에서 조회할 위치와 방향이 지정될 수 있다. 예를 들어, 상기 전자 장치는, 카메라 지향 방향과 위치에 따라 VR이나 AR를 매핑하여 표시할 수 있다. 상기 전자 장치는, 카메라를 통해 현재 수신되는 이미지와 상기 이미지의 특징점 정보를 이용하여 이미지 내 특정 물체의 위치를 분석하고, 상기 물체와 연관된 특정 그래픽 요소(또는 가상 물체)(예: 벽, 가구, 또는 등록된 디지털 정보) 혹은 지도 이미지를 검색하여 디스플레이 상의 지도에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 전자 장치의 위치가 지도가 구성되어 있는 장소가 아니라면, 일반적인 지도를 제공할 수 있다.
도 24a 내지 도 24e는 다양한 실시예에 따른 3차원 지도의 편집 방법을 설명하기 위한 도면들이다.
3D 지도는 복수의 이미지들을 합성(또는 결합)하여 구성될 수 있고, 일부 이미지 영역에서 자연스러운 합성이 되지 않을 수도 있다.
도 24a를 참조하면, 제1 이미지 부분(2411)과 제2 이미지 부분(2412)을 합성하여 형성된 3D 지도 이미지(2410)는 일부 오류(예: 경계선(2413)에서 보이는 이미지 단절이나 합성 오류)를 포함할 수 있다.
한 실시예에서, 전자 장치(예: 전자 장치(101, 201, 401))(또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421)))는, 3D 지도 중 오류가 발생한 부분을 판단할 수 있으며, 에지나 경계선의 연결 여부, 수직과 수평 선분의 단절 여부, 색상 변화 중 하나 이상을 에지 디텍터(edge detector), 경계선 추적자(contour follower), 컬러 마킹(color marking) 등의 기법 중 하나 이상을 기반으로 판단할 수 있다.
한 실시예에서, 상기 전자 장치는 사용자 입력에 따라 합성할 영역(2415)을 지정하거나, 혹은 자동으로 지정할 수 있다. 예를 들어, 상기 전자 장치는, 오류를 포함하고 있는 3D 지도 조회 중, 상기 사용자 입력에 의해 상기 오류가 포함된 영역(2415) 혹은 상기 오류(예: 경계선(2413)에서 보이는 이미지 단절이나 합성 오류)을 선택받을 수 있다. 예를 들어, 상기 전자 장치는, 오류를 포함하고 있는 3D 지도 조회 중, 현재 조회 중인 화면에 오류가 있다는 사실을 나타내는 사용자 입력을 수신한 후, 상기 사용자 입력에 기반하여 상기 화면을 분석하거나 혹은 상기 조회 중인 화면을 자동으로 분석(예: 일정 주기 혹은 조회 화면의 일정량 이상의 변화 발생시)하여 상기 오류 혹은 오류가 포함된 영역을 자동으로 판별할 수도 있다.
한 실시예에서, 상기 전자 장치는, 3D 지도 조회 중 특정한 영역을 선택하는 사용자 입력을 검출할 수 있고, 상기 사용자 입력은, 터치, 드래깅, 제스처 중 하나 이상을 포함할 수 있다.
한 실시예에서, 상기 전자 장치는, 리스트나 조회 중인 복수의 지도들 중 하나 이상을 메뉴, 터치, 버튼, 제스처 등을 통해 지정하는 사용자 입력을 검출할 수 있다.
한 실시예에서, 상기 전자 장치는, 선택된 3D 지도 혹은 선택된 영역과 연관된 두 개 이상의 촬영된 이미지들을 판별할 수 있다.
도 24b를 참조하면, 상기 전자 장치는, 상기 선택된 영역의 위치와 인접하거나 합성에 사용된 노드(들)의 이미지들(2421, 2422), 혹은 트랜지션 이미지들(미도시)을 검색하여 디스플레이(2406)(예: 디스플레이(160, 260))에 각각 표시할 수 있다. 예를 들어, 상기 전자 장치는 오류가 포함된 영역(2415) 혹은 상기 오류와 관련있는 복수의 이미지들을 검색하여 상기 디스플레이(2406)에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 검색된 상기 노드(들)의 이미지들(2421, 2422)을 촬영한 순서 또는 이미지들(2421, 2422)의 촬영 위치 정보를 기반으로 배열할 수 있다. 예를 들어, 상기 전자 장치는, 먼저 촬영한 이미지를 좌측에 배치하고, 나중에 촬영한 이미지를 우측에 배열할 수 있다. 예를 들어, 상기 전자 장치는, 촬영된 각도들에 따라 이미지들의 상하좌우 배치를 결정할 수도 있다. 예를 들어, 상기 전자 장치는, 각 노드별로 노드에 포함되는 이미지를 군집화하여 표시할 수 있다. 즉, 상기 전자 장치는, 하나의 노드에 포함되는 이미지들을 다른 노드에 포함되는 이미지들보다 근접하여 배치하여 표시하거나, 각 노드별 이미지들을 오버레이하여 표시할 수도 있다.
한 실시예에서, 상기 전자 장치는, 사용자에 의해 선택된 노드를 삭제, 편집 또는 수정할 수 있다. 예를 들어, 상기 전자 장치는, 노드들을 상기 디스플레이(2406)에 표시한 후, 사용자 입력에 따라 상기 노드들을 편집(추가/삭제/수정)할 수 있다. 예를 들어, 상기 전자 장치는, 선택된 노드를 구성하는 하나 이상의 이미지들을 상기 디스플레이(2406)에 표시한 후, 사용자 입력에 따라 상기 이미지들을 편집(추가/삭제/수정)할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 선택된 노드와 관련한 3D 지도 혹은 선택된 영역과 연관된 두 개 이상의 촬영된 이미지들을 판별하여 상기 디스플레이(2406)에 표시하고 이를 편집할 수 있다. 예를 들어, 오류가 포함된 3D 지도(2410) 조회 중, 상기 오류(2413) 혹은 상기 오류가 포함된 영역(2415)과 관련한 사용자 입력(예: 핀치 제스처, 터치 입력, 드래그 입력, 플릭입력, 음성입력 중 하나 이상)이 수신되면, 상기 오류(2413) 혹은 상기 오류가 포함된 영역(2415)과 관련한 두 개 이상의 촬영된 이미지들을 판별하여 상기 디스플레이(2406)에 표시하고, 사용자 입력에 의해 재합성할 수도 있다.
한 실시예에서, 상기 전자 장치는, 사용자 입력에 의해 이미지들을 재합성할 수 있다.
도 24c를 참조하면, 상기 전자 장치는, 한 이미지(2422)를 다른 이미지(2421)로 드래그(2432)하는 사용자(2431)의 입력을 검출할 수 있다.
한 실시예에서, 상기 전자 장치는, 하나 이상의 이미지를 선택하거나, 혹은 합성할 영역(예: 합성할 기준 위치 혹은 기준이 될 물체 이미지)을 지정하는 사용자 입력을 검출할 수 있다.
도 24d를 참조하면, 상기 전자 장치는, 두 이미지들(2421, 2422)의 특징점들을 분석하여 재합성 또는 스티칭을 수행할 수 있다. 상기 전자 장치는 합성된 영역(2445)을 포함하는 재합성된 이미지(2440)를 디스플레이(2406)에 표시할 수 있다. 예를 들어, 도 24c에서 예시한 상기 사용자 입력(2431)에 의해 선택된 이미지(2422)를 다른 이미지(2421) 위에 겹쳐두면 겹쳐진 부분을 포함한 영역을 분석하여 두 이미지를 결합할 수 있다.
도 24e를 참조하면, 상기 전자 장치는, 재합성된 3D 지도 이미지(2450)를 표시할 수 있고, 상기 3D 지도 이미지(2450) 상에 노드(2461)의 위치 및 촬영 방향을 나타내는 그래픽 요소(2462)를 포함하는 2D 지도(2460)를 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 사용자 인터페이스를 통한 사용자 입력에 따라 촬영된 이미지들을 미리 구성된 3D 모델에 재배치할 수도 있다.
도 25a 및 도 25b는 다양한 실시예에 따른 3D 지도 기반의 2D 지도 생성 방법을 설명하기 위한 도면들이다.
전자 장치(예: 전자 장치(101, 201, 401))(또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421)))는 각 노드의 3D 이미지 및 부가 정보를 이용하여 3D 지도를 구성하고, 상기 3D 지도로부터 평면도(즉, 2D 지도)를 생성할 수 있다.
한 실시예에서, 상기 전자 장치는, 하나 이상의 노드에서 촬영된 이미지와 깊이 정보를 기반으로 2D 지도를 생성할 수 있다.
도 25a를 참조하면, 상기 전자 장치는, 3D 지도 이미지(2510)에서 벽과 바닥의 경계선(2512)(또는 경계부)의 형태에 따라 특징점(2514)(또는 특징부)(예: 코너, 모서리, 문위치) 등을 추출할 수 있다. 상기 전자 장치는, 상기 3D 지도 이미지(2510)를 촬영한 위치 및 방향 정보와, 각 특징점의 상대적 위치나 거리에 근거하여, 2D 지도의 형태를 구성할 수 있다. 예를 들어, 상기 전자 장치는, 복수의 노드에서 촬영된 다양한 각도와 위치의 3D 지도 이미지들을 이용하여, 사각이 없는 완전한 2D 지도를 생성할 수 있다.
한 실시예에서, 상기 전자 장치는, 보다 정확한 지도 생성을 위해 깊이 센서를 이용하여 3D 지도를 생성할 수도 있고, 스테레오스코픽(stereoscopic) 이미지를 이용하여 물체간 거리를 측정할 수도 있다.
한 실시예에서, 상기 전자 장치는, 상기 3D 이미지(2510)에 포함된 마커(2516)(예: 등간격으로 배치된 마커, 혹은 위치 정보가 표시된 QR 코드)를 이용함으로써 3D 이미지(2510) 내에서 특정 이미지 영역들 간의 거리를 예측할 수도 있다. 상기 상기 3D 이미지(2510)에서 바닥에 표시된 원들은 일정 간격으로 배치된 마커들로서 이용될 수 있다.
도 25b를 참조하면, 상기 전자 장치는, 3D 지도 이미지(2510)의 경계선(2512), 특징점(2514) 및 마커(2516)를 기반으로 2D 가상 공간상에 경계선(2522), 특징점(2524) 및 마커(2526)의 위치를 결정함으로써 2D 이미지(2520)를 생성할 수 있다.
한 실시예에서, 상기 전자 장치는, 가상 투어 이미지 기반의 지도(virtual tour image based map)로부터 아래와 같은 정보들을 획득할 수 있다.
- 순서대로 나열된 실사 이미지들(예: JPG 포맷의 이미지들)과 이미지들의 개수 정보.
- 상기 순서에 따른 이전 이미지와 다음 이미지간 전이(transition)가 카메라의 전진에 의한 것인지 회전에 의한 것인지에 대한 정보.
- 상기 전이가 전진에 의한 것인 경우, 상기 카메라가 얼마나 전진했는지를 나타내는 거리(distance) 또는 걸음걸이(step) 수 정보.
- 상기 전이가 회전 의한 것인 경우, 상기 카메라가 얼마나 회전했는지에 대한 회전 각도(angle) 정보.
한 실시예에서, 상기 전자 장치는, 상기 획득된 정보에 대하여 아래와 같은 처리들을 수행할 수 있다. 3) process: input data에서 각 노드로부터 경로 맵 정보를 추출.
- 순서대로 나열된 실사 이미지들(즉, 각 노드로부터 촬영된 이미지)로부터 특징점들(feature point)을 추출.
- 특징점들로부터 노드들을 연결하는 경로(도로나 통로) 정보와 경로의 폭/너비 정보를 추출.
- 특징점들의 3D 좌표 정보를 2D 평면에 투사(projection)하여 2차원 좌표 정보를 추출.
- 경로 정보에 폭/너비 정보를 반영하여 네트워크(보행자 도로, 통로 등) 지도 정보를 생성.
한 실시예에서, 상기 네트워크 지도는, 사용자가 움직일 수 있는 경로 정보를 포함하는 2D 지도, 또는 경로에 너비/폭이 반영된 2D 지도일 수 있다.
도 26은 다양한 실시예에 따른 지도의 오차 수정 방법을 설명하기 위한 도면이다.
전자 장치(예: 전자 장치(101, 201, 401))(또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421)))는 제1 위치(2611) 및 제2 위치(2612) 간의 이동(2520)에 따른 경로 정보(예: 전진, 회전)를 자이로 센서, 가속도 센서, 방위각 센서 등의 센서(예: 센서 모듈(240))를 통해 획득할 수 있다.
도 26은, 상기 전자 장치가 제1 위치(2611)로부터 제2 위치(2612)까지 이동한 실제 경로(2615)를 나타낸다.
상기 전자 장치는, 센서의 출력 정보(또는 센싱 정보)의 오차에 의해 점차적으로 잘못된 경로 정보를 획득할 수도 있다.
상기 전자 장치는 잘못된 경로 정보에 근거하여 지도를 생성할 수 있고, 상기 지도는 상기 제1 위치(2611)에 대응하는 제1 노드(2621)로부터 상기 제2 위치(2612)에 대응하는 제2 노드(2622)까지의 추정된 경로(2625)를 나타낼 수 있다.
상기 전자 장치는, 상기 실제 경로(2615) 및 상기 추정된 경로(2625) 간의 오차를 수정하기 위해 촬영된 이미지들을 대상으로 PTAM (Parallel Tracking and Mapping), PTAMM (Parallel Tracking and Multiple Mapping)과 같은 기술을 적용함으로써 상기 추정된 경로(2625)의 방향을 수정할 수 있다. 상기 전자 장치는, 센싱된 방향각 정보와 수정된 방향각 정보 간의 차이를 이용하여 상기 센서의 출력 정보를 보정하는 동작을 수행할 수도 있다.
도 27은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다. 상기 전자 장치의 동작 방법은 2710 내지 2730 동작들을 포함할 수 있다. 상기 전자 장치의 동작 방법은, 전자 장치(예: 전자 장치(101, 201, 401)), 또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421))에 의해 수행될 수 있다.
2710 동작에서, 상기 전자 장치는 사용자 입력에 따르거나 자동으로 이미지(예: 지도 이미지, 프리뷰 이미지 등의 3D 이미지)에서 물체에 해당하는 영역(즉, 물체 이미지 또는 물체 영역)을 선택할 수 있다.
한 실시예에서, 상기 전자 장치는 이미지를 디스플레이(예: 디스플레이(160, 260))에 표시하고, 상기 이미지의 물체 영역을 선택하는 사용자 입력을 검출할 수 있다.
한 실시예에서, 상기 전자 장치는 이미지 분석을 통해 상기 이미지에서 물체 영역을 자동으로 인식 및 선택할 수 있다.
한 실시예에서, 상기 전자 장치는, 3D 지도를 구성하는 이미지 혹은 비디오의 일부에 포함된 물체 영역을 선택할 수 있다.
한 실시예에서, 상기 전자 장치는, 이미지 검색, OCR(optical character reader or recognition), 온라인 검색(예: 가전제품 이미지 검색), NFC, 바코드 인식, 필기 인식 등을 통해 상기 이미지의 물체 영역을 인식 및 선택할 수 있다.
2720 동작에서, 상기 전자 장치는 선택된 물체의 속성/연관 정보를 획득할 수 있다.
한 실시예에서, 상기 속성/연관 정보는, 물체 종류, 모델명, 크기, 위치, 시간, 서비스 종류, 네트워크 주소, 제어 방법, 제어 신호 종류, 네트워크 주소, 제품 식별 ID, 카탈로그 정보, 가상 3D 모델과 연관된 정보, 어플리케이션 등의 적어도 하나를 포함할 수 있다.
2730 동작에서, 상기 전자 장치는 상기 물체의 속성/연관 정보에 근거한 미리 설정된 동작을 수행할 수 있다.
한 실시예에서, 상기 전자 장치는 상기 물체의 속성/연관 정보를 지도 정보에 저장할 수 있다.
한 실시예에서, 상기 전자 장치는 상기 물체와 연관된 어플리케이션을 외부 장치로부터 다운로드하거나, 상기 물체에 대한 속성/연관 정보를 지도에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 지도에서 상기 물체 영역이 선택된 경우에, 상기 물체와 연동되는 사용자 인터페이스를 제공하거나, 상기 물체와 무선으로 연결할 수 있다.
한 실시예에서, 상기 전자 장치는, 카메라(예: 카메라 모듈(291))로 물체를 촬영하고, 상기 물체의 품명이나 형상을 기반으로 상기 물체를 식별할 수 있다. 예를 들어, 상기 전자 장치는, 노드에서 촬영된 이미지 혹은 상기 이미지를 기반으로 생성된 지도에서 사용자가 선택한 물체 영역(또는 물체 이미지)을 기반으로 메모리(예: 메모리(130, 230)) 또는 온라인 검색을 할 수 있다.
한 실시예에서, 상기 전자 장치는, 이미지나 지도에서 물체의 최소 일부가 포함된 영역(즉, 물체 영역)을 터치 스크린 등과 같은 디스플레이(예: 디스플레이(160, 260))를 통해 터치하거나, 드래깅하거나 플릭(flick)하는 사용자의 제스처를 검출할 수 있다.
한 실시예에서, 상기 전자 장치는, 시선추적 기법(예: 카메라를 이용한 눈동자 방향이나 얼굴 지향 방향 추적)을 통해 상기 물체 영역을 주시(gazing)하는 사용자의 제스처를 검출하거나, 사용자의 음성 입력에 따라 상기 물체 영역을 선택할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 물체 영역에 대해, 색상 판별, 특징점 추출/감지(예: 에지 감지(edge detection), 경계선 추적(boundary following)) 등의 적어도 하나의 이미지 프로세싱을 수행함으로써, 상기 물체를 판별할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 물체 영역과 상기 물체에 대한 속성/연관 정보를 연관시키는 동작을 수행할 수 있다.
한 실시예에서, 상기 이미지나 지도상의 물체 영역은 텍스트, 바코드, 마커, 워터마크와 같은 광학적 정보매체를 포함할 수 있다. 예를 들어, 상기 전자 장치는, 이미지 인식 모듈(예: OCR, 바코드, QR 코드, 마커, 워터마크 인식 모듈)을 통해 물체의 속성 정보(예: 모델명, 제품번호, 시리얼 번호 등)를 식별할 수도 있다. 예를 들어, 상기 전자 장치는, 사용자 입력을 통해 물체의 속성 정보를 획득할 수도 있다. 상기 전자 장치는, 자동으로 물체의 속성 정보를 물체 영역과 연관시켜 저장할 수 있다.
한 실시예에서, 상기 전자 장치는, 사용자 입력을 통한 이미지 영역의 선택없이 이미지 내의 하나 이상의 물체 영역의 위치를 자동으로 판별할 수 있다. 예를 들어, 상기 전자 장치는, 메모리(예: 메모리(130, 230))에 저장되거나 외부 장치에 저장된 가전 제품이나 가구 등의 참조 이미지 또는 참조 이미지의 특징점이나 템플릿 정보를 이용하여, 상기 참조 이미지와 상기 이미지 내의 이미지 영역들 간에 유사도를 판별하고, 유사도가 높은 경우(예: 70% 이상)에 해당 이미지 영역이 물체에 해당하는 물체 영역인 것으로 결정할 수 있다. 상기 전자 장치는, 참조 이미지의 종류를 기반으로 해당 물체의 종류(예: 디스플레이류, 가전제품 종류, 가구 종류 등)를 판별하여 해당 물체 혹은 물체 영역과 연관시켜서 상기 전자 장치 또는 외부 장치(예: 서버) 등에 저장할 수도 있다.
한 실시예에서, 상기 전자 장치는, 물체 영역과 연관된 정보(예: 텍스트, 이미지, 기호, 색상 변경, 위치 표시 중 하나 이상)를 지도나 이미지와 함께 상기 디스플레이에 표시함으로써 사용자의 물체 영역 선택에 대한 피드백을 주거나 추출된 물체 영역을 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 물체 영역이나 물체의 속성 정보(예: 식별 정보)를 판별한 후, 실제 물체와의 통신을 위하여 유선 혹은 무선을 통해 상기 물체와 연결하는 동작을 수행할 수도 있다. 예를 들어, 상기 전자 장치는, 사용자 입력에 따라 지도상에서 물체 영역 또는 물체 영역의 적어도 일부를 포함하는 이미지 영역을 선택한 후, 해당 물체의 WiFi 다이렉트(WiFi-direct), BLE, NFC 신호를 감지하거나 카메라로 바코드, QR 코드 정보, 제품명 등을 인식함으로써 해당 물체의 ID(예: MAC address, 모델명 등)를 판별하고 연결(connectivity)를 수립할 수 있다.
한 실시예에서, 상기 전자 장치는, 이미지나 지도 상에 표시된 물체 영역을 선택한 후, 이전에 WiFi, BT 등을 통해 디스커버리(discovery)되거나 이전에 기능적으로 연결된 적이 있거나, 홈 서버나 사용자의 전자 장치 등에 사전에 등록된 해당 제품군의 하나 이상의 제품명을 조회하여 사용자 선택에 따라 연관시킬 수도 있고, 물체의 속성 정보(예: 식별 정보)를 이용하여 사전에 등록된 제품들 중에 가장 유사한 제품(예: 제품의 기능, 제품의 사용자 인터페이스)을 자동 선택하여 연결하는 동작을 수행할 수도 있다.
한 실시예에서, 상기 전자 장치는, 이전에 등록하거나 디스커버리를 한 제품들의 목록을 디스플레이에 표시하고, 이미지 상의 특정 물체 영역에 대한 사용자의 선택에 따라 상기 이미지 또는 상기 물체 영역을 상기 이미지 또는 상기 물체와 연관된 제품 정보와 매핑하고, 상기 매핑 정보를 2D 지도 혹은 3D 지도와 연동하여 저장함으로써 사용자가 지도를 이용하여 필요한 정보를 조회하고 선택하도록 할 수 있다. 예를 들어, 상기 전자 장치는, 상기 특정 물체 영역과 제품 정보를 매핑하여 3D 지도나 2D 지도의 위치 정보와 함께 저장하고, 향후 지도 조회시 해당 정보가 위치에 대응하여 자동으로 조회되거나, 혹은 사용자 선택에 의하여 조회되도록 할 수 있다.
한 실시예에서, 상기 전자 장치는, 감지된 물체의 제어를 위한 제품 정보 혹은 어플리케이션을 외부 장치로부터 다운로드하여, 상기 전자 장치 혹은 홈 서버에 등록하거나 설치할 수 있다. 예를 들어, 상기 전자 장치는, 모델명, 제품 사진, 3D 크기(dimension) 정보, 제어 가능한 기능들에 대한 API(Application Programming Interface) 정보, 제어 패널(control panel)의 구성정보 등을 외부 장치로부터 다운로드할 수 있다.
한 실시예에서, 상기 전자 장치는, 물체의 제어(Control) UI를 인터넷을 통해 다운로드하거나, 상기 물체로부터 수신하거나, 자체적으로 생성할 수 있다.
한 실시예에서, 상기 전자 장치는, 물체의 제어를 위한 실제 제어 데이터 구조(control data structure), 프로토콜(protocol) 등의 정보를 인터넷을 통해 다운로드하거나 상기 물체와 기능적으로 연결되어 수신할 수 있다.
한 실시예에서, 상기 전자 장치는, 제품 정보를 검색(예: 로컬 메모리, 원격 서버, 제품 제조사)함으로써 지도에 합성하기 위한 물체의 3D 정보(예: 높이, 길이, 깊이 정보, 측면. 후면 이미지 등)를 확인할 수 있다.
한 실시예에서, 상기 전자 장치는, 자동으로 제품 이미지와 지도 상의 물체 영역을 매핑할 수 있다. 한 실시예에서, 상기 전자 장치는, 사용자 입력에 따라 특정 이미지 영역을 제품 이미지와 매핑할 수 있다.
한 실시예에서, 물체는 디스커버리시에 자신의 위치(position)를 다른 장치 혹은 서버에 전달함으로써 지도 정보와 자동으로 연동될 수 있다. 예를 들어 물체는 WiFi 모듈을 가지고 있어서 복수의 AP들이 전송한 무선 신호들을 감지하고, 해당 무선 신호들의 정보를 WiFi 지문(fingerprint)으로 활용할 수 있으며, 상기 지문 정보와 미리 형성된 지도의 지문 정보를 비교하여 상기 물체의 상기 지도상의 위치를 판별할 수 있다.
한 실시예에서, 상기 전자 장치는, 카메라의 WiFi 지문 정보, 지도 정보, 그리고 카메라의 현재 지향 방향이나 모션을 감지함으로써 카메라가 지향하고 있는 방향을 감지할 수 있다. 또한, 상기 전자 장치는, 깊이 센서를 이용하여 거리 정보를 판단할 수 있으므로, 촬영된 물체의 상대적 거리와 방향을 감지할 수 있다.
한 실시예에서, 상기 전자 장치는, 제품의 제어 패널(control panel) 정보로부터 지도 상의 제품 이미지에 있는 제어 패널의 위치를 가상의 제어 패널에 매핑함으로써 이미지 상의 콘트롤 패널 위치에서 인터페이스를 제공할 수 있다.
한 실시예에서, 상기 전자 장치는, 지도 이미지의 특정 영역이 선택되면, 해당 이미지 영역을 변경하거나 상태를 표시할 수 있도록 이미지를 변경할 수 있다. 예를 들어, 상기 전자 장치는, 세탁기와 연결이 수립되면, 지도 이미지에 포함된 상기 세탁기의 제어 패널 이미지를 상태 표시나 제어를 위한 UI 이미지로 변경할 수 있다. 예를 들어, 상기 전자 장치는, 해당 부분을 제어할 수 있는 버튼, 다이얼과 같이 제어용 UI를 표시하거나 상기 세탁기의 현재 상태(예: 작동 상태, 온도, 세탁 예약 시간, 세탁 잔여 시간 등)를 나타낼 수도 있다.
한 실시예에서, 상기 전자 장치는, 물체의 동작 상황을 모니터링(monitoring )하거나, 상기 물체가 특정 상태에 있을 때 상기 상태에 대한 정보를 사용자에게 통지할 수 있다.
한 실시예에서, 상기 전자 장치는, 가상의 3D 지도에서 해당 물체의 동작 상태를 물체 이미지에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 물체의 동작 소리를 녹음하고, 상기 녹음된 소리에 근거하여 상기 물체의 이상 여부를 체크할 수 있다.
한 실시예에서, 이미지 상의 콘트롤 UI는 복수의 모드들(예: 시뮬레이션 모드, 제어 모드)를 지원할 수 있다.
예를 들어, 시뮬레이션 모드는 해당 물체의 사용법을 가이드하기 위하여 가상적으로 제어하고 그 결과를 표시하는 모드일 수 있다. 예를 들어, 제어 모드는 콘트롤 UI를 이용하여 실제로 해당 물체를 구동하는 모드일 수 있다.
한 실시예에서, 상기 전자 장치는, 사용자 입력에 따라 시뮬레이션 모드 및 제어 모드 중의 하나를 제공할 수 있고, 물체와의 연결에 실패한 경우(예: 전원꺼짐, 네트워크 연결 안됨 등), 시뮬레이션 모드를 자동으로 제공할 수도 있다.
한 실시예에서, 상기 전자 장치는, BLE 정보를 수신하여 물체를 자동으로 확인할 수도 있고, 물체의 사진을 통한 이미지 검색이나 OCR을 통한 모델명 파악 및 모델명을 이용한 검색(또는 서버로부터 직접 정보를 획득)을 통해서 물체를 자동으로 확인할 수 있다.
한 실시예에서, 상기 전자 장치는, 사용자가 입력한 정보에 따라 물체를 확인할 수 있다. 예를 들어, 물체의 모델명을 먼저 파악한 경우에, 상기 전자 장치는, 모델의 크기(dimension) 정보를 인터넷 검색을 통해서 확인할 수 있고, 상기 모델의 크기와 사진에서 획득한 물체의 크기의 비율을 계산하여 물체의 위치 정보를 확인할 수 있다.
한 실시예에서, 상기 전자 장치는, 검색(예: 카탈로그 검색 등)을 통해 물체를 확인할 수도 있다.
한 실시예에서, 상기 전자 장치는, WiFi, BT, BLE, 지자기장, 기압계, 수평계 등 전자기적인 특성을 감지하여 신호 지문을 생성할 수 있다.
한 실시예에서, 상기 전자 장치는, 스테레오스코픽(stereoscopic) 카메라 및/또는 WiFi 지문을 이용하여 물체의 위치 정보(예: 방향각, 높이, 심도, 위치 등)를 파악할 수 있다.
한 실시예에서, 상기 전자 장치는, 물체를 확인한 후, 실내 3D 지도에 결합하기 위한 정보를 추가적으로 인터넷을 통해 수신할 수 있다. 예를 들어, 상기 전자 장치는, 실내 3D 지도 작성 툴과 연관된 서버로부터 플러그인(plugin) 형식의 정보 또는 파일을 수신할 수 있고, 상기 파일을 상기 전자 장치에 설치할 수 있다.
한 실시예에서, 물체들이 스마트 홈(smart home)으로 연결되어 있는 경우, 상기 전자 장치는 해당 물체와의 연결을 스마트 홈 서버를 통해서 수행할 수 있다.
한 실시예에서, 상기 전자 장치는 NFC, QR 코드 등을 통해서 해당 물체의 정보를 수신할 수 있다.
한 실시예에서, 상기 전자 장치는 무선 신호를 통해서 해당 물체의 MAC 주소(MAC address) 및 장치 이름을 확인할 수도 있다.
한 실시예에서, 상기 전자 장치는 BLE 등을 통해서 물체의 정보를 수신하여 연결을 수행할 수 있다.
한 실시예에서, 상기 전자 장치 또는 물체는 외부에서 상기 물체를 제어할 수 있는 서비스를 위해서 제어를 위한 API를 제공할 수 있다.
한 실시예에서, 상기 전자 장치 또는 물체는 제어 정보를 서버(예: 웹 서버, 특정 서버 등)에 제공할 수 있다.
한 실시예에서, 물체들은 로컬(Local) 망을 구성하고, 특정 물체가 허브(hub) 역할을 수행할 수 있다. 예를 들어, 상기 물체들 각각은 최소한 하나 이상의 통신 장치(예: BT, WiFi, LiFi, 초음파, 카메라. Cell 통신 모듈)을 구비하고, 상기 특정 물체가 게이트웨이 혹은 무선허브 역할을 수행할 수 있다.
한 실시예에서, 이미지에 표시된 물체(예: 전자제품, 난방 제어기, 에어콘 제어기, 가스 제어기)의 정보는 지도 정보와 연관된 물체 위치 정보(예: 2D 또는 3D 위치 정보)를 포함할 수 있다. 상기 물체의 정보는 해당 지도 내 물체 이미지의 배치를 위한 방향 정보를 포함할 수도 있다.
한 실시예에서, 물체의 위치는 상기 물체의 메모리에 저장될 수 있다.
한 실시예에서, 상기 전자 장치는, 측위 센서(WiFi 센서, LiFi 센서, GPS, 카메라 중 하나 이상)를 이용하여 측정된 물체의 위치 정보를 지도 상의 위치와 비교함으로써 지도 상의 한 위치에 대응시킬 수 있다.
한 실시예에서, 상기 전자 장치는, 물체를 센싱할 수 있는 지향형 센서(예: 카메라 장치, IR 센서, IEEE802.ad, KinectTM)를 통해 물체의 방향과 거리 정보(및 상기 전자 장치의 현재 위치 정보 및 지향 방향)를 이용하여 상기 물체의 지도 상의 위치를 판별할 수도 있다. 예를 들어, 상기 전자 장치는, 거리 측정센서, 3D 포즈 센서, 측위 센서 등을 구비하고, 물체를 지향하여 신호를 보내고, 상기 물체의 반응(예: 응답 무선 신호, 전원 온(on), 기능 동작 등)을 감지하여 상기 물체까지의 상대적인 방향과 거리를 검출하고, 상기 검출된 정보에 근거하여 지도에 상기 물체의 위치를 연관시켜서 배치할 수 있다.
한 실시예에서, 물체의 속성 정보 또는 식별 정보는, 물체를 식별하기 위한 모델명, 제어 인터페이스(control interface), 네트워크 ID, 주소/리소스(resource), ID(예: 시리얼(serial) 번호, MAC, eSIM 정보, 전화번호) 중 하나 이상을 포함할 수 있다.
한 실시예에서, 물체의 속성 정보 또는 식별 정보는, 해당 물체와 연관된 온라인 상의 검색 정보를 더 포함할 수 있다. 예를 들어, 물체가 전자 제품인 경우, 물체의 속성 정보 또는 식별 정보는, 모델명에 기반하여 검색된 제원 정보(예: 크기(size), 컬러(color), 방향(direction))나 어플리케이션 정보를 포함할 수 있다.
한 실시예에서, 물체의 속성 정보 또는 종류 정보는, 헤드셋, PC, 냉장고 등과 같은 제품 분류 정보를 포함할 수 있다. 예를 들어, 상기 전자 장치는, 물체와 연결을 수립할 때, 물체의 종류를 판별하여 아이콘 등으로 표시함으로써 사용자의 선택을 용이하게 할 수 있다.
한 실시예에서, 상기 전자 장치는, 물체의 기능과 관련한 정보를 저장할 수 있다. 예를 들어, 물체의 기능과 연관된 정보는, 어플리케이션, 기능/설치 연관 정보, 제어 모듈(control module) 정보, 물체의 상태 정보, 또는 지원될 수 있는 서비스 연관 정보중적어도 하나 포함할 수 있다. 예를 들어, 지도와 스마트 홈 서비스가 연동되는 경우, 스마트 홈 서버, 프록시, 또는 상기 전자 장치에 물체를 제어할 수 있는 모듈이 설치될 수 있다. 예를 들어, 상기 전자 장치가 접속하여 사용할 수 있는 스마트 홈 서버에 상기 모듈이 설치되고, 상기 전자 장치 또는 상기 스마트 홈 서버는 서비스 검색(service discovery)을 수행하고, 이를 통해 서비스 룩업(service lookup) 기능을 제공함으로써, 상기 기능을 통해 물체를 제어할 수도 있다.
한 실시예에서, 물체의 기능과 연관된 정보는, 상기 전자 장치에 직접 저장되어 실행될 수는 정보이거나, 다른 외부 컴퓨팅 자원을 통해 지원될 수 있는 서비스 관련 정보일 수도 있다.
도 28은 다양한 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다. 상기 전자 장치의 동작 방법은 2810 내지 2830 동작들을 포함할 수 있다. 상기 전자 장치의 동작 방법은, 전자 장치(예: 전자 장치(101, 201, 401)), 또는 상기 전자 장치의 프로세서(예: 프로세서(120, 210)) 또는 제어부(예: 제어부(420), 지도 처리 모듈(421))에 의해 수행될 수 있다.
2810 동작에서, 상기 전자 장치는, 미리 설정된 영역을 포함하는 지도 이미지(예: 3D 이미지)를 디스플레이(예: 디스플레이(160, 260)) 상에 표시할 수 있다.
상기 지도 이미지는 관심 공간(예: 건물 내부의 실내 공간, 혹은 주차장, 식물원 등의 실외 공간)에 대한 지도의 일부 정보일 수 있다.
예를 들어, 상기 지도는 복수의 노드들과, 상기 복수의 노드들을 연결하는 경로를 포함할 수 있다. 예를 들어, 각 노드(또는 각 노드에 대한 정보인 노드 정보)는 적어도 하나의 이미지와, 상기 적어도 하나의 이미지와 연관된 부가 정보를 포함할 수 있다.
상기 미리 설정된 영역은 물체 영역 및/또는 그래픽 요소(또는 가상 물체)를 포함할 수 있다. 상기 그래픽 요소(또는 가상 물체)는 이미지, 아이콘, 텍스트, 아이템 등의 적어도 하나를 포함할 수 있다.
한 실시예에서, 상기 그래픽 요소는 상기 물체의 제어를 위한 GUI를 포함할 수 있다.
한 실시예에서, 상기 그래픽 요소는 메시지의 작성, 저장,수신, 또는 전송 중 적어도 하나를 나타내는 지시자를 포함할 수 있다.
2820 동작에서, 상기 전자 장치는, 상기 미리 설정된 영역의 선택을 검출할 수 있다.
예를 들어, 상기 선택은, 사용자의 제스처(예: 터치, 호버링, 공간 제스처, 미리 설정된 영역의 주시(시선 방향), 상기 디스플레이로의 얼굴 접근), 사용자의 음성 입력, 상기 전자 장치에 대한 모션 입력(예: 흔들기, 틸트 등) 등의 적어도 하나를 포함할 수 있다.
2830 동작에서, 상기 전자 장치는, 상기 선택에 응답하여, 상기 지도 이미지에 표시된 물체의 속성/연관 정보를 출력할 수 있다.
한 실시예에서, 상기 속성/연관 정보는, 물체 종류, 모델명, 크기, 위치, 시간, 서비스 종류, 네트워크 주소, 제어 정보(예: 제어 방법, 제어 신호/데이터 종류, 제어 신호/데이터), 네트워크 주소, 제품 식별 ID, 카탈로그 정보, 가상 3D 모델과 연관된 정보, 어플리케이션 등의 적어도 하나를 포함할 수 있다.
한 실시예에서, 상기 속성/연관 정보는, 태그, 메시지(예: 영상/비디오 메시지, 음성 메시지, 텍스트 메시지), 메모, 이미지 등을 포함할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 선택에 응답하여, 상기 물체와 연관되어 저장된 메시지를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 선택에 응답하여, 외부 장치를 통하거나 직접 메시지를 상기 물체로 전송할 수 있다. 예를 들어, 상기 물체는 상기 전자 장치로부터 수신한 메시지를 상기 물체의 디스플레이를 통해 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 선택에 응답하여, 외부 장치를 통하거나 직접 메시지를 상기 물체로부터 수신할 수 있다. 상기 전자 장치는, 수신된 메시지를 상기 디스플레이 상에 표시할 수 있다. 예를 들어, 상기 전자 장치는 상기 물체 또는 상기 외부 장치에 메시지의 전송을 요청하고, 상기 요청에 대한 응답으로서 상기 메시지를 수신할 수 있다.
한 실시예에서, 상기 전자 장치는, 외부 장치를 통하거나 직접 메시지를 상기 물체로부터 수신할 수 있다. 상기 전자 장치는, 메시지의 저장/수신을 나타내는 그래픽 요소(또는 지시자)를 상기 디스플레이 상에 표시할 수 있다. 상기 그래픽 요소(또는 지시자)에 대한 선택에 응답하여, 상기 전자 장치는, 수신된 메시지(즉, 메시지의 내용)를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 메시지의 작성/전송과 연관된 기능을 나타내는 그래픽 요소(또는 지시자)를 상기 디스플레이 상에 표시할 수 있다. 상기 그래픽 요소(또는 지시자)에 대한 선택에 응답하여, 상기 전자 장치는, 사용자로부터 메시지의 내용을 입력받거나, 사용자에 의해 선택된 메시지를 확인할 수 있다. 상기 전자 장치는, 사용자에 의해 작성되거나 선택된 메시지를 해당 물체와 연관시켜 저장하거나, 상기 메시지를 상기 물체로 전송할 수 있다. 상기 전자 장치는, 메시지의 저장/전송/수신과 연관된 정보를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 선택에 응답하여, 상기 물체의 속성/연관 정보를 상기 물체 또는 외부 장치로부터 수신하고, 상기 속성/연관 정보를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 선택에 응답하여, 상기 물체에 대한 제어 정보를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 물체에 대한 제어와 연관된 그래픽 요소를 상기 디스플레이 상에 표시할 수 있다. 상기 전자 장치는, 상기 그래픽 요소에 대한 선택에 응답하여, 상기 물체를 제어하고, 상기 물체의 제어 결과(또는 제어에 따른 상기 물체의 변경된 상태)를 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 상기 물체에 대한 제어와 연관된 그래픽 요소를 상기 디스플레이 상에 표시할 수 있다. 상기 전자 장치는, 상기 그래픽 요소에 대한 선택에 응답하여, 상기 물체에 대한 정보를 포함하는 메시지를 제2 외부 장치로 전송할 수 있다. 상기 전자 장치는, 상기 외부 장치로부터 상기 물체의 제어와 연관된 정보를 수신할 수 있다. 상기 전자 장치는, 상기 수신된 정보를 표시하거나, 상기 수신된 정보에 다라 상기 물체를 제어하고, 상기 물체의 제어 결과(또는 제어에 따른 상기 물체의 변경된 상태)를 상기 디스플레이 상에 표시할 수 있다.
도 29a 내지 도 31b는 다양한 실시예에 따른 지도에 기반한 인터렉션 서비스를 설명하기 위한 도면들이다.
도 29a를 참조하면, 전자 장치(2901)(예: 전자 장치(101, 201, 401))는 제1 물체 영역(2921)(예: 제1 물체(예: 냉장고)에 대응하는 이미지 영역) 및 제2 물체 영역(2922)(예: 제2 물체(예: 세탁기)에 대응하는 이미지 영역)을 포함하는 지도 이미지(2910)를 디스플레이(2906)(예: 디스플레이(160, 260)) 상에 표시할 수 있다.
도 29b를 참조하면, 상기 전자 장치(2901)는 제1 물체 영역(2921)에 대한 사용자의 선택을 검출할 수 있다. 예를 들어, 상기 사용자의 선택은 제1 물체 영역(2921) 상의 터치 입력 또는 호버링 입력일 수 있다. 상기 선택에 응답하여, 상기 전자 장치(2901)는 제1 물체에 대한 속성/연관 정보(2931)를 상기 디스플레이(2906) 상에 표시할 수 있다.
도 29c를 참조하면, 상기 전자 장치(2901)는 제2 물체 영역(2922)에 대한 사용자의 선택을 검출할 수 있다. 예를 들어, 상기 사용자의 선택은 제2 물체 영역(2922) 상의 터치 입력 또는 호버링 입력일 수 있다. 상기 선택에 응답하여, 상기 전자 장치(2901)는 제2 물체에 대한 속성/연관 정보(2932)를 상기 디스플레이(2906) 상에 표시할 수 있다.
도 30a를 참조하면, 상기 전자 장치(2901)는 상기 제1 물체 영역(2921)에 연관된 메시지의 저장/수신을 나타내는 그래픽 요소(2941)(예: 메시지의 수신 여부, 수신된 미확인 메시지의 개수, 혹은 수신된 메시지의 적어도 일부를 표시하는 그래픽 요소)를 상기 디스플레이(2906) 상에 표시할 수 있다.
도 30b를 참조하면, 상기 전자 장치(2901)는 사용자 입력에 따라 상기 제1 물체 영역(2921)과 연관되어 저장될 메시지의 작성/입력을 위한 창(2942)을 상기 디스플레이(2906) 상에 표시할 수 있다. 예를 들어, 상기 전자 장치(2901)는 사용자에 의해 작성된 메시지를 상기 제1 물체로 전송할 수 있다.
도 30c를 참조하면, 상기 제1 물체는 상기 전자 장치(2901)로부터 수신한 메시지 또는 메시지의 저장/수신을 나타내는 그래픽 요소(2943)를 상기 제1 물체의 디스플레이 상에 표시할 수 있다. 예를 들어, 상기 전자 장치(2901)가 전송한 메시지와 관련한 그래픽 요소(2943)를 상기 제1 물체 영역(2921)의 일부(예: 디스플레이 영역)에 표시할 수 있다. 이와 함께, 상기 제1 물체의 물리적인 디스플레이(미도시) 상에 상기 전송한 메시지와 관련한 그래픽 요소를 표시할 수도 있다.
도 31a를 참조하면, 상기 전자 장치(2901)는 제2 물체 영역(2922)에 대한 사용자의 선택을 검출할 수 있다. 예를 들어, 상기 제2 물체 영역(2922)의 적어도 일부를 포함하는 사용자 입력이 발생하면, 상기 제2 물체가 선택되었음을 감지하고, 상기 사용자 입력과 관련하여 그래픽 요소(예: 하이라이트, 경계선 강조, 입력위치 색상 변화, 메뉴, 표시자)를 상기 디스플레이(2906)에 표시할 수 있다.
도 31b를 참조하면, 상기 전자 장치(2901)는, 상기 선택에 응답하여, 상기 전자 장치(2901)는 제2 물체에 대한 정보를 상기 디스플레이(2906) 상에 표시할 수 있다. 예를 들어, 상기 전자 장치(2901)는, 상기 제2 물체에 대한 3D 모델 정보(2950)를 상기 디스플레이(2906) 상에 표시할 수 있다. 예를 들어, 상기 전자 장치(2901)는, 상기 제2 물체에 대한 제어 정보(2960)를 상기 디스플레이(2906) 상에 표시할 수 있다.
예를 들어, 상기 제어 정보(2960)는, 상기 제2 물체의 동작 상태를 모니터링/표시하기 위한 제1 메뉴 아이템(2961), 버튼/리스트를 포함하는 GUI를 통해 상기 제2 물체를 제어하기 위한 제2 메뉴 아이템(2962), 및 외부 장치에 의한 상기 제2 물체의 원격 제어를 위한 제3 메뉴 아이템(2963) 중의 적어도 하나를 포함할 수 있다.
예를 들어, 상기 제3 메뉴 아이템(2963)이 선택된 경우, 상기 제2 물체는 상기 전자 장치(2901)를 통하거나 직접 외부 장치에 의해 원격으로 제어될 수 있다. 예를 들어, 상기 전자 장치(2901)는 상기 외부 장치로 상기 제2 물체의 속성/연관 정보(예: 모델명, 동작 상태 정보) 또는 연결 정보(예: 네트워크 주소)를 상기 외부 장치로 전송할 수 있다.
도 32 및 도 33b는 다양한 실시예에 따른 지향성 신호를 이용한 물체의 식별 방법을 설명하기 위한 도면들이다.
도 32를 참조하면, 관심 공간(3210) 내에 A 위치의 제1 물체(3221) 및 B 위치의 제2 물체(3222)가 존재하는 경우, 전자 장치(3201)(예: 전자 장치(101, 201, 401))는, 통신 장치(예: 통신 인터페이스(170), 통신 모듈(220))를 통해 관심 공간(3210)을 스캔하는 방향성 신호(3211, 3212, 3213)(예: IR, IEEE 802.11ad, MIMO 빔(beam), 빔 포밍(beam forming) 신호)를 전송함으로써, 상기 제1 물체(3221) 및 상기 제2 물체(3222)를 식별할 수 있다.
한 실시예에서, 관심 공간(3210) 내에 복수의 물체들(3221, 3222)이 존재하는 경우, 상기 전자 장치(3201)는 특정 방향으로 방향성 신호(3230)를 전송하고, 해당 방향의 물체로부터 응답 신호를 수신함으로써, 해당 방향에 존재하는 물체를 식별하거나 제어할 수 있다.
예를 들어, 상기 전자 장치(3201)로부터 방향성 신호(3230)를 수신한 물체는 자신의 식별 정보(예: ID, 제품명, 네트워크 주소 정보, 위치 정보, WiFi 지문(fingerprint) 정보)를 포함하는 응답 신호를 상기 전자 장치(3201)로 전송할 수도 있다.
한 실시예에서, 상기 전자 장치(3201)는, 상기 응답 신호, 상기 전자 장치(3201)(또는 방향성 신호(3230))의 지향 방향 및/또는 지도 정보를 이용하여 해당 물체의 위치를 판별할 수 있다.
한 실시예에서, 상기 전자 장치(3201)는, 카메라가 특정 방향을 지향하여 촬영한 이미지로부터 물체 영역을 판별하거나, 혹은 상기 촬영된 이미지와 지도 정보를 정합하여 해당 물체의 위치를 판별할 수도 있다.
한 실시예에서, 상기 전자 장치(3201)는, 물체를 식별하기 위해 해당 물체의 기능들 중 하나 이상을 동작시킬 수 있다. 예를 들어, 물체는 상기 전자 장치(3201)로부터 수신한 신호에 응답하여, 상기 물체의 디스플레이에 특정 정보를 표시하거나, 상기 물체의 디스플레이나 광원을 깜빡이거나 색상을 변경시키거나, 혹은 오디오 출력 또는 진동 출력을 수행할 수도 있다.
도 33a를 참조하면, 상기 전자 장치(3201)는 제1 물체(3221)(예: 냉장고), 제2 물체(3222)(예: 냉장고 1) 및 제3 물체(예: 라이트 3)가 관심 공간(3210) 내에 존재하는 것을 인식할 수 있다. 예를 들어, 상기 전자 장치(3201)는 관심 공간(3210) 내에 존재하는 물체들의 식별 정보(3230)를 지도 이미지 상에 표시할 수 있다.
도 33b를 참조하면, 예를 들어, 상기 전자 장치(3201)는 상기 제2 물체(3222)에 대한 제어 신호를 전송할 수 있다. 예를 들어, 상기 제2 물체(3222)는, 상기 전자 장치(3201)로부터 수신한 제어 신호에 응답하여, 광원(3240)을 깜빡이는 동작을 수행할 수 있다. 예를 들어, 상기 전자 장치(3201)는 관심 공간(3210) 내에 존재하는 물체들의 식별 정보(3230) 중에서 사용자에 의해 선택된 물체에 대한 제어 신호를 전송할 수 있고, 상기 제어 신호를 수신한 물체는 상기 제어 신호에 따른 동작을 수행할 수 있다. 따라서, 상기 전자 장치(3201)는, 상기 전자 장치(3201)의 카메라를 통해 입력받은 관심 공간(3210)의 이미지에서 상기 광원(3240)이 깜박거리는 영역이 포함된 상기 제2 물체(3222)를 판별함으로써 상기 제2 물체(3222)에 대응하는 제2 물체 영역을 상기 지도와 매칭할 수 있다.
한 실시예에 따르면, 상기 전자 장치(3201)의 지향성 신호에 대해 복수의 물체들이 반응할 수 있다. 이러한 경우, 상기 전자 장치(3201)는 지향성 신호의 방향을 연속적/순차적으로 변경하고, 변경된 지향성 신호에 반응하는 물체를 식별함으로써 각 물체의 위치 또는 물체들의 상대적 위치를 판별할 수도 있다. 예를 들어, 2개의 전자 제품들(예: 냉장고나 세탁기)이 인접하여 배치된 경우, 상기 전자 장치(3201)가 전송한 지향성 신호의 전파 영역 내에 상기 2개의 전자 제품들이 모두 포함된다면, 상기 2개의 전자제품들의 상대적 위치를 판별하기 어려울 수 있다. 상기 전자 장치(3201)는 지향성 신호의 지향 방향을 변경시키는 동작(즉, 스캔 동작)을 수행하고, 상기 스캔 동작에 따른 전자 제품들의 반응 순서 또는 반응 유지 시간 중 하나 이상을 판별함으로써 인접한 두 전자 제품들간의 상대적 위치를 판별할 수도 있다.
예를 들어, 도 32를 참조하여 설명하면, 제1 물체(3221)와 제2 물체(3222)가 인접한 경우, 상기 전자 장치(3201)가 지향성 신호를 발생하면서 시계 방향으로 스캔(3211, 3212 및 3213의 순서)하면, 제1 물체(3221) 및 제2 물체(3222)의 순서로 반응하게 된다. 예를 들어, 상기 전자 장치(3201)의 지향성 신호의 방향이 참조 번호 3211에 의해 지시된 방향이면, 제1 물체(3221)로부터의 응답 신호를 상기 전자 장치(3201)가 수신할 수 있다.
특정 방향의 지향성 신호에 대해 상기 제1 물체(3221)와 상기 제2 물체(3222)가 모두 반응하는 경우(예: 참조 번호 3212에 의해 지시된 지향 방향), 상기 특정 방향으로부터 계속하여 시계방향으로 스캔(예: 참조 번호 3213에 의해 지시된 지향 방향)하면, 제1 물체(3221)가 먼저 반응하지 않게 되고, 이후 상기 지향성 신호의 지향 방향이 계속 시계 방향으로 이동하여 상기 제2 물체에도 전달되지 않는 방향이면, 제2 물체(3222)도 반응하지 않을 수 있다. 따라서, 상기 전자 장치(3201)는, 반응하지 않는 물체의 순서에 의해 두 물체들의 상대적인 위치 관련 정보를 판별하고, 상기 물체들을 지도에서의 상기 물체들의 영역들에 각각 매핑할 수 있다. 예를 들어, 물체들이 스택(stack) 구조로 상하 방향으로 배치된 경우에도, 지향성 신호를 수직 방향으로 스캔함으로써, 상기 물체들의 상대적 위치를 식별할 수 있다. 상기 전자 장치(3201)는 물체의 위치 관련 정보와 지도 상의 위치를 매핑하여 저장할 수도 있다.
한 실시예에서, 관심 공간(3210) 내에 복수의 장치들(3221, 3222)이 존재할 때, 상기 전자 장치(3201)는 디스커버리 프로세스를 통해 미리 검색된 상기 복수의 장치들(3221, 3222)의 식별 정보(3230)(예: 리스트 항목, 아이콘, 이미지)를 표시할 수 있다. 해당 식별 정보가 선택되면, 상기 전자 장치(3201)는 해당하는 물체와 연관된 일부 기능을 구동하고, 이러한 기능의 구동에 따라 물체의 위치가 식별될 수도 있다. 예를 들어, 상기 전자 장치(3201)는 카메라를 지향하여 프리뷰 이미지를 조회하면서, 디스커버리된 물체들의 리스트를 표시할 수 있다. 상기 전자 장치(3201)는, 상기 물체들 중의 하나를 선택하고, 선택된 물체와 연관된 특정 기능(예: 불빛 깜박임, 전원 온/오프(on/off), 물체의 디스플레이에 정보 표시)을 구동하고, 상기 물체의 동작 상태를 카메라를 통해 감지하고, 동작이 감지된 물체의 식별 정보와 지도 이미지의 물체 영역을 자동으로 매핑할 수 있다.
한 실시예에서, 물체의 특정 기능의 동작 상태(예: 불빛 깜박임, 전원 on/off, 물체의 디스플레이를 통한 물체 상태 출력, 사운드 출력, 진동 출력 중 하나 이상)를 사용자가 확인하고, 사용자의 동작(예: 사용자 제스처, 메뉴 선택, 음성 인식 등)에 의해 지도 이미지의 물체 영역과 동작이 확인된 물체의 식별 정보가 연관될 수도 있다.
다양한 실시예에 따르면, 상기 전자 장치(3201)는, WiFi나 BT에 의해 디스커버리 동작을 수행할 수 있으며, 이를 통해 무선 연결이 가능한 물체들의 식별 정보를 확인할 수 있다.
한 실시예에서, 각 물체의 기능은 최소 2단계의 보안 레벨에 따라 분류될 수 있다. 예를 들어, 특정 보안 레벨 이상에 해당하는 기능은 디스커버리 이후 인증 과정을 수행하는 동작이 요구될 수 있다. 이러한 보안은, 물체(예: 가전, 전자 제품)의 전원 온/오프, 과금 관련 기능과 같은 중요한 기능이나 사용자에게 불편을 주거나 제품 수명에 영향을 줄 수 있는 오디오 출력, 채널 변경, 저장, 삭제, 온도 조절 기능에 대해 제어 권한을 제한하기 위한 것이다. 예를 들어, 전자 제품의 위치를 알려 줄 수 있는 상태 표시용 광원의 수초간 깜박임 등과 같은 주요하지 않은 기능은 별도의 인증과정 없이 액세스될 수도 있다.
도 34는 관심 공간의 신호 지문 DB를 설명하기 위한 도면이다.
관심 공간(3410)에 제1 및 제2 RF 신호 송신기(3420, 3430)가 배치되어 있는 경우에, 관심 공간(3410) 내의 RF 신호 분포는 도시된 바와 같다. 전자 장치가 RF 신호를 수신하는 경우에, 제1 RF 신호 송신기(3420)로부터 출력된 제1 RF 신호의 수신 세기는 전자 장치(100)가 제1 RF 신호 송신기(3420)로부터 멀어질수록 감소한다(a0 → a10 → a20 → a30 → a40 → a50 → a60 → a70). 이와 마찬가지로, 제2 RF 신호 송신기(3430)로부터 출력된 제2 RF 신호의 수신 세기는 전자 장치가 제2 RF 신호 송신기(3430)로부터 멀어질수록 감소한다(b0 → b10 → b20 → b30 → b40 → b50 → b60 → b70).
예를 들어, 신호 지문 DB(예: 신호 지문 DB(411))는 관심 공간(3410) 내의 RF 신호 분포에 대한 정보를 포함할 수 있다. 예를 들어, 전자 장치(예: 전자 장치(101, 201, 401))는 물체 또는 외부 장치로부터 WiFi 지문(fingerprint) 정보(예: 물체 또는 외부 장치가 수신하는 RF 신호의 종류 및 세기)를 상기 신호 지문 DB와 비교 및/또는 매칭하는 동작을 통해 관심 공간(3410) 내 물체 또는 외부 장치의 위치를 결정할 수 있다. 도 34에서는 두 개의 RF 신호 송신기들을 통해 위치를 표시하므로, 두 RF 신호 송신기들의 신호 세기가 일치하는 위치가 두군데씩 발생할 수 있다. 이에 반해 3개 이상의 RF 신호 송신기들의 신호 세기를 이용하여 삼각측량 기법을 이용하면 보다 정확한 신호 지문 DB를 구축할 수 있다. 혹은 3개 미만의 RF 신호 송신기의 신호세기 정보만 수집할 수 있는 경우, 지도 정보와 상기 위치정보의 적합성을 판단하여 가능한 위치인지 판별할 수 있다.
도 35 및 도 36은 다양한 실시예에 따른 히스토리/이벤트 정보를 제공하기 위한 방법을 설명하기 위한 도면들이다.
도 35를 참조하면, 전자 장치(예: 전자 장치(101, 201, 401))는 디스플레이(예: 디스플레이(160, 260))를 통해 지도 이미지(3510) 상에 시간 축(3520)(또는 스크롤/슬라이드 바)에 따라 복수의 히스토리/이벤트 정보(3540)에 대응하는 복수의 그래픽 요소들(3531, 3532)(또는 썸네일(thumbnail) 이미지, 또는 버튼)을 표시할 수 있다.
한 실시예에서, 상기 복수의 그래픽 요소들(3531, 3532)은 공용 정보를 나타내는 제1 그래픽 요소(3531) 및 개인 정보를 나타내는 제2 그래픽 요소(3532)를 포함할 수 있다. 예를 들어, 상기 제1 그래픽 요소(3531)가 선택된 경우, 상기 전자 장치는 상기 제1 그래픽 요소(3531)에 대응되는 히스토리/이벤트 정보를 표시할 수 있다. 예를 들어, 상기 제2 그래픽 요소(3532)가 선택된 경우, 상기 전자 장치는 비밀 정보를 입력하기 위한 그래픽 요소(예: 패스워드 입력, 얼굴 인식, 지문 인식, 홍채 인식, 혹은 패턴락을 입력하기 위한 입력 창 등)를 표시하고, 미리 저장된 비밀 정보와 일치하는 비밀 정보가 입력된 경우, 상기 제2 그래픽 요소(3532)에 대응되는 히스토리/이벤트 정보를 표시할 수 있다. 예를 들어, 상기 제2 그래픽 요소(3532)가 선택된 경우, 상기 전자 장치는 사용자 식별(예: 사용자 인증, 사용자 선택)을 통해 상기 제2 그래픽 요소(3532)와 관련한 콘텐트가 상기 식별된 사용자와 연관된 것인지 판별하는 동작을 더 수행할 수도 있다.
도 36을 참조하면, 전자 장치는 디스플레이를 통해 지도 이미지(3610) 상에 시간 축(3620)(또는 스크롤/슬라이드 바)에 따라 복수의 이전 지도 이미지들(3641, 3642, 3643)에 대응하는 복수의 그래픽 요소들(3631, 3632, 3633)(또는 지시자(indicator) 또는 버튼)을 표시할 수 있다.
예를 들어, 상기 제1 그래픽 요소(3631)가 선택된 경우, 상기 전자 장치는 제1 및 제2 물체 영역들(3651, 3652)(또는 물체 이미지들)을 포함하지 않는 제1 이미지(3641)를 표시할 수 있다. 상기 제2 그래픽 요소(3632)가 선택된 경우, 상기 전자 장치는 제1 물체 영역(3651)을 포함하는 제2 이미지(3642)를 표시할 수 있다. 예를 들어, 상기 제3 그래픽 요소(3633)가 선택된 경우, 상기 전자 장치는 제1 및 제2 물체 영역들(3651, 3652)을 포함하는 제3 이미지(3643)를 표시할 수 있다.
한 실시예에서, 전자 장치는 동일한 장소나 물체에 대해 촬영된 이미지나 비디오를 이벤트 정보(또는 이벤트 조건)와 함께 저장할 수 있다. 미리 설정된 조건을 만족하는 이벤트가 발생한 경우, 전자 장치는 상기 이벤트에 대응하는 이미지나 비디오를 제공할 수 있다(예: 타임 머신(time machine) 기능).
한 실시예에서, 전자 장치는 동일한 장소나 물체에 대해 촬영된 여러 이미지나 비디오를 시간 정보에 기반하여 저장할 수 있다. 상기 전자 장치는 특정 장소나 물체를 표시하는 현재의 지도 이미지 위에 과거의 지도 이미지를 오버레이(3540)하거나 슬라이드 바(3620)와 연관하여 배열하여 표시할 수 있다. 상기 전자 장치는 사용자가 과거의 지도 이미지나 지도 관련 비디오(예: 지도에 매핑된 비디오)를 조회할 수 있는 GUI를 제공할 수 있다.
한 실시예에서, 상기 전자 장치는 미리 설정된 이벤트 조건(예: 특정 날짜나 시간, 특정 시간 경과 후, 특정 인물 도착 시 등)에 따라 해당 지도 이미지에 대한 정보(또는 해당 지도 이미지)를 사용자에게 통지할 수 있다. 한 실시예에서, 상기 전자 장치는 관심 공간(예: 박물관) 또는 물체(예: 전시물)이 변경되는 경우 해당 지도 이미지를 저장하고, 현재의 지도 이미지 상에 과거 지도 이미지의 적어도 일부를 오버레이하여 표시(3540)하거나, 과거 지도 이미지 혹은 비디오를 조회할 수 있는 GUI를 제공할 수 있다. 예를 들어 상기 오버레이 표시(3540)은 복수의 지도 이미지들(예: 썸네일(thumbnail) 이미지를 지도에 매핑)을 표시하고, 이 중 하나를 선택하면 해당 지도 이미지와 연관된 비디오를 재생할 수 있다.
한 실시예에서, 상기 전자 장치는, 계절 변화, 시간 변화(예: 낮밤), 날씨 변화 등에 따른 창문 밖 경치의 변화를 이미지/텍스트로 기록/저장할 수 있다.
한 실시예에서, 상기 전자 장치는, 인테리어 변화, 이벤트(예: 생일 파티, 키 재기 등) 관련 정보를 이미지/텍스트로 기록/저장할 수 있다.
한 실시예에서, 상기 전자 장치는, 복수의 2D 이미지, 파노라마 이미지 혹은 비디오를 촬영하고, 이미지의 메타 데이터(예: 장소, 시간, 방향, 각도)를 함께 기록/저장하여 노드를 생성할 수 있다.
한 실시예에서, 상기 전자 장치는, 가상의 3D 공간 상에서 연관성을 갖는 메타 데이터를 가진 하나 이상의 인접 노드들을 검색하고, 검색된 노드들의 이미지들 및/또는 비디오의 장면들을 방향, 각도 및/또는 해상도를 고려하여 합성하고, 가상 3D 공간상에 합성 이미지(예: 파노라마 이미지 혹은 3D 모델링된 이미지)를 매핑할 수 있다.
한 실시예에서, 상기 전자 장치는, 3D 지도에서 특정 위치 및/또는 각도에 기반하여 해당 장면/이미지의 변화를 감지하고, 변화가 발생한 이미지/비디오를 수집하고 업데이트할 수 있다.
한 실시예에서, 상기 전자 장치는, 시간 및/또는 위치에 기반하여 업데이트된 이미지, 비디오를 저장할 수 있다.
한 실시예에서, 상기 전자 장치는, 위치 및/또는 방향에 기반하여 저장된 이미지 혹은 비디오 정보를 3D 지도에 매핑할 수 있다.
한 실시예에서, 상기 전자 장치는, 매핑한 복수의 이미지 또는 비디오 정보를 위치 및/또는 방향에 근거하여 오버레이 혹은 썸네일 형태로 표시하고, 사용자의 선택에 따라 해당 이미지 또는 비디오를 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 시간 축에 따른 타임 슬라이더(time slider)를 표시하고, 사용자가 설정한 시간에 따른 지도 이미지를 표시하거나 설정된 시간에 특정 동작을 수행할 수 있다(예: 타임 캡슐 기능). 예를 들어, 사용자는 과거, 현재, 미래 등의 원하는 시간을 설정할 수 있다.
한 실시예에서, 상기 전자 장치는, 사용자가 원하는 현재 시간 이후의 일정한 시간에 이벤트가 발생하도록 설정될 수 있다.
한 실시예에서, 상기 전자 장치는, 설정된 시간(예: 알람 설정, 캘린더에 이벤트 설정)의 도래에 따른 이벤트가 발생하면 해당 동작을 수행하도록 설정될 수 있다.
한 실시예에서, 상기 전자 장치는, 복수의 외부 장치와 연결될 수 있다. 상기 전자 장치는, 특정한 시점 또는 특정한 시간 동안 상기 복수의 외부 장치의 상태/상황 정보를 저장할 수 있다. 상기 전자 장치는, 사용자 입력 또는 이벤트 발생에 따라, 상기 특정한 시점 또는 특정한 시간 동안 저장된 상태/상황 정보에 근거하여 상기 복수의 외부 장치가 상기 특정한 시점 또는 특정한 시간 동안의 상태 또는 상황을 재현하도록 상기 복수의 외부 장치를 제어할 수 있다.
도 37은 본 발명의 다양한 실시예에 따른 네트워크 환경(3700)을 도시한다. 상기 네트워크 환경(3700)은 전자 장치(3701)(예: 전자 장치(101, 201, 401))와, 상기 전자 장치(3701)와 연결 가능한 제1 외부 장치(3710)(예: 비디오 장치, 텔레비전), 제2 외부 장치(3720)(예: 오디오 시스템), 제3 외부 장치(3730)(예: 온도 조절기), 제4 외부 장치(3740)(예: 실내 조명 장치) 및 제5 외부 장치(3750)(예: 와치 등의 웨어러블 장치)를 포함할 수 있다.
상기 전자 장치(3701)는, 상기 복수의 외부 장치들(3710~3750) 중 적어도 일부와 통신 연결을 수립할 수 있다. 미리 설정된 조건을 만족한 경우 또는 사용자 입력이 수신된 경우에, 상기 전자 장치(3701)는, 상기 복수의 외부 장치들(3710~3750)는 현재 시점에서 또는 현재 시점부터 미리 설정된 시간 동안, 상기 복수의 외부 장치들(3710~3750)의 상태/상황 정보를 상기 전자 장치(3701)의 메모리(예: 메모리(130, 230))기록/저장할 수 있다. 예를 들어, 상기 전자 장치(3701)는 제1 외부 장치(3710)의 상태/상황 정보(예: 온/오프 상태 정보, 재생 중인 이미지/비디오 파일(또는 재생 여부)에 대한 정보, TV 채널 정보, 볼륨/밝기 정보)를 상기 제1 외부 장치(3710)로부터 수신하거나 연결 가능 여부에 따라 판단할 수 있다. 예를 들어, 상기 전자 장치(3701)는 제2 외부 장치(3720)의 상태/상황 정보(예: 온/오프 상태 정보, 재생 중인 오디오 파일(또는 재생 여부)에 대한 정보, 라디오 채널 정보, 볼륨/밝기 정보)를 상기 제2 외부 장치(3720)로부터 수신하거나 연결 가능 여부에 따라 판단할 수 있다. 예를 들어, 상기 전자 장치(3701)는 제3 외부 장치(3730)의 상태/상황 정보(예: 온/오프 상태 정보, 현재 온도에 대한 정보, 온도 조절 모드에 정보)를 상기 제3 외부 장치(3730)로부터 수신하거나 연결 가능 여부에 따라 판단할 수 있다. 예를 들어, 상기 전자 장치(3701)는 제4 외부 장치(3740)의 상태/상황 정보(예: 온/오프 상태 정보, 현재 조명 밝기에 대한 정보, 조명 조절 모드에 정보)를 상기 제4 외부 장치(3740)로부터 수신하거나 연결 가능 여부에 따라 판단할 수 있다. 예를 들어, 상기 전자 장치(3701)는 제5 외부 장치(3750)의 상태/상황 정보(예: 온/오프 상태 정보, 동작 모드/상태에 대한 정보, 재생 중인 미디어 파일에 대한 정보)를 상기 제5 외부 장치(3750)로부터 수신하거나 연결 가능 여부에 따라 판단할 수 있다.
한 실시예에서, 상기 전자 장치(3701)는 상기 복수의 외부 장치들(3710~3750)의 상태/상황 정보를 서버 등의 외부 장치에 저장할 수도 있다. 한 실시예에서, 상기 전자 장치(3701)는 상기 복수의 외부 장치들(3710~3750)의 상태/상황 정보를 상기 복수의 외부 장치들(3710~3750) 중의 적어도 하나에 저장할 수도 있다.
상기 전자 장치는, 사용자 입력 또는 이벤트 발생에 따라, 상기 특정한 시점 또는 특정한 시간 동안 저장된 상기 복수의 외부 장치들(3710~3750)의 상태/상황 정보에 근거하여 상기 복수의 외부 장치들(3710~3750)이 상기 특정한 시점 또는 특정한 시간 동안의 상태 또는 상황을 재현하도록 상기 복수의 외부 장치들(3710~3750)를 제어할 수 있다.
도 38 및 도 39는 다양한 실시예에 따른 비상 경로의 안내 방법을 설명하기 위한 도면들이다.
도 38을 참조하면, 비상 상황과 연관된 이벤트가 발생한 경우, 전자 장치(예: 전자 장치(101, 201, 401))는 비상 경로를 나타내는 제1 그래픽 요소(3821)가 표시된 3D 지도 이미지(3811) 및/또는 비상 경로를 나타내는 제2 그래픽 요소(3822)가 표시된 2D 지도 이미지(3812)를 포함하는 지도(3800)를 표시할 수 있다.
한 실시예에서, 상기 전자 장치는 상기 2D 지도 이미지(3812) 상에 현재 노드의 위치를 나타내는 제3 그래픽 요소(3830), 상기 3D 지도 이미지(3811)의 촬영 방향(또는 사용자의 응시 방향, 또는 상기 전자 장치의 지향 방향)을 나타내는 제4 그래픽 요소(3840) 및 위험 지역을 나타내는 제5 그래픽 요소(3850)를 표시할 수 있다.
도 39를 참조하면, 비상 상황과 연관된 이벤트가 발생한 경우, 상기 전자 장치는, 비상구를 나타내는 제1 그래픽 요소(3910), 비상 경로를 나타내는 제2 그래픽 요소(3920), 현재 노드의 위치를 나타내는 제3 그래픽 요소(3930), 3D 지도 이미지의 촬영 방향(또는 사용자의 응시 방향, 또는 상기 전자 장치의 지향 방향)을 나타내는 제4 그래픽 요소(3940) 및 위험 지역을 나타내는 제5 그래픽 요소(3950)가 표시된 2D 지도 이미지(3812)를 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 도 23에 예시된 바와 같이, 사용자 또는 상기 전자 장치의 현재 위치(및/또는 사용자의 응시 방향 또는 상기 전자 장치의 지향 방향)에 따라 자동으로 비상 경로를 안내하기 위한 제6 그래픽 요소(3960)(예: 비상 경로 가이드)을 표시할 수 있다(예: 네비게이션 기능). 예를 들어, 사용자가 상기 제6 그래픽 요소(3960)의 "예" 버튼을 선택한 경우, 상기 전자 장치는 사용자 또는 상기 전자 장치의 현재 위치에 따라 자동으로 현재 위치에 대응하는 노드의 이미지를 표시할 수 있다.
한 실시예에서, 상기 전자 장치는, 비상 가이드 제공 서비스/앱을 제공할 수 있다.
한 실시예에서, 상기 전자 장치는, 네트워크가 단절된 상황에서 비상 상황 지원 기능을 제공할 수 있다.
한 실시예에서, 상기 전자 장치는, 관심 공간(예: 쇼핑 센터, 백화점, 여객선 등) 내 비상 상황(예: 화재, 재난, 지진, 사고 등)에서 탈출 또는 안전 지대로 이동하도록 설정된 경로와 대피 가이드를 디스플레이나 스피커 중 적어도 하나를 통해 제공할 수 있다.
한 실시예에서, 상기 전자 장치는, 가장 가까운 또는 최적의 탈출구로 안내할 수 있다.
한 실시예에서, 상기 전자 장치는, 센서 또는 미리 설정된 조건을 만족하는 이벤트에 기반하여 가이드를 제공할 수 있다.
한 실시예에서, 상기 전자 장치는, 비상 시 안전 가이드를 위한 정보를 실시간으로 검색하거나, 네트워크 기반으로 서버로부터 가이드 정보를 다운로드하거나, 네트워크 차단 시에 상기 전자 장치에 저장된 데이터에서 가이드 정보를 검색할 수 있다.
한 실시예에서, 상기 전자 장치는, 가상 투어 형태의 시작 정보를 제공하거나, 오디오 정보를 제공할 수 있다.
한 실시예에서, 상기 전자 장치는, 주변 상황에 대한 정보(예: 가스(Gas), 먼지(Dust), 황사, 포름알데히드, 주변 온도, 기압, 대기중 액체/기체, 사용자 생체 정보(HRM(Heart Rate Monitor), ECG(electrocardiogram sensor), EMR(Electro Magnetic Radiation), EEG(electroencephalogram) 기반))를 검출할 수 있다.
한 실시예에서, 상기 전자 장치는, 3D/2D 공간 지도를 이용하여 다양한 서비스를 제공할 수 있다.
예를 들면, 상기 전자 장치는, 2D 지도에서 제공할 수 없는 겹쳐지거나 쌓여진 물건들에 대한 정보를 제공할 수 있다.
예를 들면, 상기 전자 장치는, 사용자의 프로파일(profile)(신장, 사용 가능 물건 등)과 관련하여 사용자 기반 뷰(view) 및 서비스(예: 아이들을 위한 UI, 다양한 각도의 지도 이미지)를 제공할 수 있다.
예를 들면, 상기 전자 장치는, 스마트홈에서 전력, 수도, 가스 소모량 등을 자동으로 확인할 수 있고, 이상 유무를 확인하거나 통지할 수 있다.
예를 들면, 상기 전자 장치는, 가전 제품이나 특정 물체의 상태(예: 낡음 상태 등), 오염상태를 확인할 수 있고, 제품/부품의 교체 주기를 통지할 수 있다.
예를 들면, 상기 전자 장치는, 실내 혹은 실외에서도 특정 장소의 가전 기기 등을 제어할 수 있으며, 보다 직관적인 사용 환경을 제공할 수 있다.
예를 들면, 상기 전자 장치는, 실내에 배치된 물체의 크기와 부피를 인식하고, 인테리어나 가구 이동을 위한 시뮬레이션(예: 조명, 전자제품 상태 등)을 제공할 수 있다.
예를 들면, 상기 전자 장치는, 실내의 공기 상태, 가스 누출 등의 상황을 인식하고, 사용자에게 상황을 통지하거나, 대처 가이드를 제공할 수 있다.
예를 들면, 상기 전자 장치는, 긴급사태나 재난 상황 발생시 사용자에게 대피로나 현재 상황 등을 통지할 수 있다.
예를 들면, 상기 전자 장치는, 실외(outdoor) 지도와 실내(indoor) 지도간의 전환 서비스/시나리오를 지원할 수 있다.
예를 들면, 상기 전자 장치는, 차량 네비게이터로 관심 건물을 안내한 이후, 건물 내 특정 위치와 장소를 안내하거나, 3D 지도에서 선택된 건물 층의 실외(outdoor) 지도를 제공할 수 있다.
예를 들면, 상기 전자 장치는, 오프라인 쇼핑몰에 대한 현재 전시 상품들의 조회나, 구매를 지원할 수 있다.
예를 들면, 상기 전자 장치는, 여행지 등과 관련하여 자신의 경험과 타인의 경험을 함께 결합/합성하여 공유하는 것을 가능하게 한다(예: 서로 다른 루트, 조회 물품 방향 등의 공유).
예를 들면, 상기 전자 장치를 통해, 사용자는 친구와 경험했던 내용을 3차원적으로 구성한 네비게이션 비디오를 생성할 수 있다.
예를 들면, 상기 전자 장치는, 각종 전자제품 사용법에 대한 매뉴얼 기능 및 조작 시뮬레이션 기능을 제공할 수 있다.
예를 들면, 상기 전자 장치는, 홈 씨어터 환경에서 다른 3D 지도 정보를 이용하여 VR, 음향 효과 시뮬레이션 등을 제공할 수 있다.
예를 들면, 상기 전자 장치를 통해, 사용자는 웨어러블 장치나 스마트폰과 연동된 서비스 시나리오를 개발할 수 있다.
예를 들면, 상기 전자 장치를 통해, 사용자는 레스토랑(restaurant), 극장, 교통수단 등의 좌석 조회 및 예약을 할 수 있다.
한 실시예에서, 상기 전자 장치는, 복수의 2D 이미지들, 파노라마 이미지 혹은 비디오를 촬영하고, 이미지의 메타데이터(예: 장소, 시간, 방향, 각도)를 함께 기록하여 노드를 생성할 수 있다.
한 실시예에서, 상기 전자 장치는, 가상의 3D 공간상에서 연관있는 메타 데이터를 가진 하나 이상의 인접 노드들을 검색하고, 상기 노드들의 이미지 또는 비디오의 장면들을 해당 방향, 각도, 해상도를 고려하여, 가상 3D 공간 상에 이미지(예: 파노라마 이미지 혹은 3D 모델링된 이미지)를 매핑할 수 있다.
한 실시예에서, 상기 전자 장치는, 인접한 노드들의 3D 이미지를 이용하여 인접한 복수의 노드들(예: 시간, 방향에 따른 동일, 유사 시공간에 존재하는 노드들) 사이의 경로에서 보여질 트랜지션 이미지(2D, 혹은 3D)를 생성할 수 있다.
한 실시예에서, 상기 전자 장치는, 3D 지도를 구성하는 이미지 혹은 비디오의 일부에 포함된 물체(object)를 선택함으로써(예: 사용자에 의한 이미지 검색, OCR, 가전제품 이미지 검색, NFC, 바코드 인식, 필기 인식 등) 물체에 태그를 부여할 수 있다.
한 실시예에서, 상기 전자 장치는, 태깅된 물체의 속성 정보(예: 물체 종류, 모델명, 크기, 위치, 시간, 서비스 종류, 네트워크 주소, 제어 방법, 제어신호 종류, 네트워크 주소, 제품 식별 ID, 카탈로그 정보, 가상 3D 모델 합성 및 관련정보 등의 적어도 하나)를 판별하고, 상기 속성 정보를 3D 지도 정보와 연관시켜 저장하는 동작을 수행할 수 있다.
한 실시예에서, 상기 전자 장치는, 3D 지도에서 특정 위치와 각도에 기반하여 해당 장면(scene)의 변화 상황을 감지하고, 변화 발생시에 이미지, 비디오를 업데이트할 수 있다.
한 실시예에서, 상기 전자 장치는, 시간 및 위치에 기반하여 업데이트된 이미지, 비디오를 저장할 수 있다.
한 실시예에서, 상기 전자 장치는, 저장된 이미지 혹은 비디오 정보를 3D 지도의 위치 및 방향에 기반하여 매핑할 수 있다.
한 실시예에서, 상기 전자 장치는, 매핑한 복수의 이미지들 혹은 비디오 정보를 해당 위치와 방향에 근거하여 오버레이 혹은 썸네일 형태로 표시하고 사용자 선택에 따라 표시할 수 있다.
다양한 실시예에 따르면, 전자 장치에서, 각각 하나 이상의 이미지와 상기 하나 이상의 이미지의 적어도 일부와 연관된 3D 정보를 포함하는 복수의 노드들 중 제1 노드와 제2 노드 간의 거리 또는 방향 중 적어도 하나를 판단하는 동작; 및 상기 적어도 하나에 기반하여, 상기 제1 노드와 상기 제2 노드를 연결하는 공간 지도를 생성하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 하나 이상의 이미지 중 적어도 하나가, 상기 적어도 하나의 촬영 위치 또는 촬영 방향에 대응하는 상기 제1 노드 또는 상기 제2 노드의 공간에 배치되는 것을 포함할 수 있다.
다양한 실시예에 따르면, 상기 3차원 정보는, 상기 하나 이상의 이미지 중 제1 이미지와 제2 이미지에 대해, 상기 제1 이미지의 적어도 일부 영역과 상기 제2 이미지의 적어도 일부 영역의 이미지 데이터를 비교하여 결정된 3차원 정보를 포함할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치에서, 상기 전자 장치와 기능적으로 연결된 카메라를 통하여, 상기 복수의 이미지들을 획득하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 획득하는 동작은, 상기 복수의 이미지들에 대한 상기 카메라의 촬영 위치 또는 상기 카메라의 촬영 방향을 확인하는 동작; 및 상기 촬영 위치 또는 상기 촬영 방향 중 적어도 하나에 기반하여, 상기 전자장치와 기능적으로 연결된 화면에 촬영 가이드를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 촬영 위치 또는 상기 촬영 방향이 상기 촬영 가이드에 대응하는 임계 영역 내에 속하는 것에 반응하여, 상기 복수의 이미지들 중 하나를 획득하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 촬영 가이드는, 상기 촬영 위치 또는 상기 촬영 방향에 기반하여, 하나의 초점(또는 중앙점) 정보와 관련하여 설정되는 촬영 영역 가이드를 포함할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치에서, 다른 이미지를 획득하는 동작; 상기 복수의 노드들 중 상기 다른 이미지에 대응하는 노드가 없는 경우, 상기 다른 이미지에 대응하는 노드를 생성하는 동작; 및 상기 생성된 노드의 공간에 상기 다른 이미지를 배치하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치에 대한 사용자의 입력 또는 전자 장치의 위치 또는 방향에 응답하여, 상기 제1 노드에 대응하는 상기 복수의 이미지들 중 적어도 일부를 상기 제2 노드에 대응하는 상기 복수의 이미지들 중 적어도 일부로 전환하여 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치에 대한 사용자의 입력 또는 전자 장치의 위치 또는 방향에 응답하여, 상기 제1 노드 또는 상기 제2 노드 중 적어도 하나에 대응하는 시각 정보를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 또는 상기 제2 노드는, 상기 제1 노드 또는 상기 제2 노드의 공간의 특정 지점에 할당된 상기 복수의 이미지들 중 둘 이상의 이미지를 포함하고, 상기 둘 이상의 이미지 중 제1 이미지가 상기 지점에 대표로 배치되는 것을 포함할 수 있다.
다양한 실시예에 따르면, 상기 둘 이상의 이미지 중 제2 이미지와 관련된 이벤트 조건을 상기 적어도 하나의 노드에 설정하는 동작; 및 상기 조건을 만족하는 이벤트에 반응하여, 상기 지점에 상기 제2 이미지를 대표로 배치하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 공간지도를 생성하는 동작은, 상기 제1 노드와 상기 제2 노드가 각기 서로 다른 공간지도에 속하는 경우, 상기 제1 노드가 속한 제1 공간지도와 상기 제2 노드가 속한 제2 공간지도를 결합하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 3차원 정보에 기반하여, 상기 제1 노드와 상기 제2 노드의 지면 또는 장애물을 판단하는 동작; 및 상기 지면 또는 상기 장애물에 기반하여, 상기 제1 노드와 상기 제2 노드를 연결하는 평면지도를 생성하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 공간지도는, 상기 제1 노드와 상기 제2 노드를 연결하는 경로가 비상 경로인지에 대한 판단에 기반하여, 상기 비상 경로 정보를 포함할 수 있다.
다양한 실시예에 따르면, 비상 상황에 관한 이벤트를 수신하는 동작; 및 상기 이벤트에 반응하여, 상기 비상 경로 정보를 표시하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 표시하는 동작은, 상기 전자장치의 위치 또는 방향에 기반하여, 상기 전자장치로부터 특정 범위내의 비상 경로 정보를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 표시하는 동작은, 상기 공간지도상에 상기 비상 상황이 발생한 지점을 수신하는 동작; 및 상기 지점을 경유하지 않는 비상 경로를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 이미지들 중 적어도 일부에 포함된 물체를 판단하는 동작; 및 상기 물체의 속성정보를 획득하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 획득하는 동작은, 상기 물체와 관련된 외부 장치로 속성 정보를 요청하는 동작; 및 상기 외부 장치로부터, 상기 요청에 대한 응답으로, 상기 속성정보를 수신하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 속성정보는, 상기 물체의 기능을 제어하기 위한 제어정보를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어정보를 이용하여, 상기 물체에 대한 제어 신호를 전송하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 속성정보는, 상기 물체의 3차원 모델을 포함할 수 있다.
다양한 실시예에 따르면, 상기 3차원 정보에 기반하여, 상기 공간지도상에서 상기 3차원 모델을 배치 또는 이동시키는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 적어도 하나의 이미지를 획득하기 위한 카메라; 및 상기 카메라와 기능적으로 연결된 제어부를 포함하고, 상기 제어부는, 각 노드가 적어도 하나의 이미지와 상기 적어도 하나의 이미지의 적어도 일부와 관련된 3차원 정보를 포함하는 복수의 노드들 중 제1 노드와 제2 노드 간의 거리 또는 방향 중 적어도 하나를 판단하고, 상기 적어도 하나에 기반하여, 상기 제1 노드와 상기 제2 노드를 연결하는 공간지도를 생성하도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 이미지 중 적어도 하나가, 상기 적어도 하나의 촬영 위치 또는 촬영 방향에 대응하는 상기 제1 노드 또는 상기 제2 노드의 공간에 배치되는 것을 포함하는 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 3차원 정보는, 상기 적어도 하나의 이미지 중 제1 이미지와 제2 이미지에 대해, 상기 제1 이미지의 적어도 일부 영역과 상기 제2 이미지의 적어도 일부 영역의 이미지 데이터를 비교하여 결정된 3차원 정보를 포함하는 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 적어도 하나의 이미지에 대한 상기 카메라의 촬영 위치 또는 상기 카메라의 촬영 방향을 확인하고, 상기 촬영 위치 또는 상기 촬영 방향 중 적어도 하나에 기반하여, 상기 전자장치와 기능적으로 연결된 화면에 촬영 가이드를 표시하도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 촬영 위치 또는 상기 촬영 방향이 상기 촬영 가이드에 대응하는 임계 영역 내에 속하는 것에 반응하여, 상기 적어도 하나의 이미지들 중 하나를 획득하도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 촬영 가이드는, 상기 촬영 위치 또는 상기 촬영 방향에 기반하여, 하나의 초점(또는 중앙점) 정보와 관련하여 설정되는 촬영 영역 가이드를 포함하는 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 카메라를 통해 다른 이미지를 획득하고, 상기 복수의 노드들 중 상기 다른 이미지에 대응하는 노드가 없는 경우, 상기 다른 이미지에 대응하는 노드를 생성하고, 상기 생성된 노드의 공간에 상기 다른 이미지를 배치하도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 전자 장치에 대한 사용자의 입력 또는 상기 전자 장치의 위치 또는 방향에 응답하여, 상기 제1 노드에 대응하는 상기 복수의 이미지들 중 적어도 일부를 상기 제2 노드에 대응하는 상기 복수의 이미지들 중 적어도 일부로 전환하여 상기 전자장치와 기능적으로 연결된 화면에 표시하도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 전자 장치에 대한 사용자의 입력 또는 전자 장치의 위치 또는 방향에 응답하여, 상기 제1 노드 또는 상기 제2 노드 중 적어도 하나에 대응하는 시각 정보를 상기 전자장치와 기능적으로 연결된 화면에 표시하는 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 또는 상기 제2 노드는, 상기 제1 노드 또는 상기 제2 노드의 공간의 특정 지점에 할당된 상기 복수의 이미지들 중 둘 이상의 이미지를 포함하고, 상기 둘 이상의 이미지 중 제1 이미지가 상기 지점에 대표로 배치되는 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 둘 이상의 이미지 중 제2 이미지와 관련된 이벤트 조건을 상기 적어도 하나의 노드에 설정하고, 상기 조건을 만족하는 이벤트에 반응하여, 상기 지점에 상기 제2 이미지를 대표로 배치하도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 제1 노드와 상기 제2 노드가 각기 서로 다른 공간지도에 속하는 경우, 상기 제1 노드가 속한 제1 공간지도와 상기 제2 노드가 속한 제2 공간지도를 결합하도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 3차원 정보에 기반하여, 상기 제1 노드와 상기 제2 노드의 지면 또는 장애물을 판단하고, 상기 지면 또는 상기 장애물에 기반하여, 상기 제1 노드와 상기 제2 노드를 연결하는 평면지도를 생성하도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 공간지도는, 상기 제1 노드와 상기 제2 노드를 연결하는 경로가 비상 경로인지에 대한 판단에 기반하여, 상기 비상 경로 정보를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 비상 상황에 관한 이벤트를 수신하고, 상기 이벤트에 반응하여, 상기 비상 경로 정보를 상기 전자장치와 기능적으로 연결된 화면에 표시하도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 전자장치의 위치 또는 방향에 기반하여, 상기 전자장치로부터 특정 범위내의 비상 경로 정보를 상기 화면에 표시하도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 공간지도상에 상기 비상 상황이 발생한 지점을 수신하고, 상기 지점을 경유하지 않는 비상 경로를 상기 화면에 표시하는 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 이미지들 중 적어도 일부에 포함된 물체를 판단하고, 상기 물체의 속성정보를 획득하도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 물체와 관련된 외부 장치로 속성 정보를 요청하고, 상기 외부 장치로부터, 상기 요청에 대한 응답으로, 상기 속성정보를 수신하도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 속성정보는, 상기 물체의 기능을 제어하기 위한 제어정보를 포함하는 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 제어정보를 이용하여, 상기 물체에 대한 제어 신호를 전송하도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 속성정보는, 상기 물체의 3차원 모델을 포함하는 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어부는, 상기 3차원 정보에 기반하여, 상기 공간지도상에서 사용자의 입력에 따라 상기 3차원 모델을 배치 또는 이동시키도록 설정된 전자 장치를 포함할 수 있다.
다양한 실시예에 따르면, 각 노드가 하나 이상의 이미지와 상기 하나 이상의 이미지의 적어도 일부와 관련된 3차원 정보를 포함하는 복수의 노드들 중 제1 노드와 제2 노드 간의 거리 또는 방향 중 적어도 하나를 판단하는 명령; 및 상기 적어도 하나에 기반하여, 상기 제1 노드와 상기 제2 노드를 연결하는 공간지도를 생성하는 명령을 포함한 컴퓨터 판독 가능한 기록매체 일 수 있다.
다양한 실시예에 따르면, 전자 장치에 의해 관심 공간과 연관된 정보를 제공하는 방법은, 상기 관심 공간의 해당 위치에서 촬영된 적어도 하나의 이미지 및 상기 적어도 하나의 이미지에 대한 정보와 연관된 하나 이상의 노드를 포함하는 지도를 표시하는 동작; 제1 입력에 응답하여, 상기 하나 이상의 노드 중 제1 노드와 연관된 제1 이미지 또는 상기 제1 이미지에 대한 제1 정보를 변경하는 동작; 및 상기 변경된 제1 이미지 또는 상기 변경된 제1 정보를 상기 지도에 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치에 의해 관심 공간과 연관된 정보를 제공하는 방법은, 미리 설정된 영역을 포함하는 지도 이미지를 디스플레이 상에 표시하는 동작; 상기 미리 설정된 영역의 선택을 검출하는 동작; 및 상기 선택에 응답하여, 상기 지도 이미지에 표시된 물체의 속성/연관 정보를 출력 하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치에 의해 관심 공간과 연관된 정보를 제공하는 방법은, 상기 관심 공간의 해당 위치에 대응하는 적어도 하나의 이미지와 연관된 하나 이상의 노드를 포함하는 지도를 표시하는 동작; 미리 설정된 조건이 충족되면, 상기 하나 이상의 노드 중 제1 노드와 연관된 제1 노드 정보를 변경하는 동작; 및 상기 변경된 제1 노드 정보의 적어도 일부를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 각 노드와 연관된 해당 노드 정보는 상기 관심 공간의 해당 위치에 대응하는 적어도 하나의 이미지 및 상기 적어도 하나의 이미지와 연관된 정보를 포함할 수 있다.
다양한 실시예에 따르면, 상기 지도를 표시하는 동작은, 복수의 노드들과 상기 복수의 노드들을 연결한 경로를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 지도를 표시하는 동작은, 상기 제1 노드와 연관된 제1 이미지와, 상기 복수의 노드들과, 상기 복수의 노드들을 연결한 경로를 함께 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 지도를 표시하는 동작은, 상기 제1 노드와 연관된 제1 이미지를 표시하는 동작; 및 상기 제1 이미지 상에 상기 복수의 노드들과 상기 복수의 노드들을 연결한 경로를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 지도를 표시하는 동작은, 상기 복수의 노드들과, 상기 복수의 노드들을 연결한 경로와, 각 노드와 연관된 각 이미지의 촬영 방향을 함께 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 지도를 표시하는 동작은, 상기 복수의 노드들과 상기 복수의 노드들을 연결한 경로를 표시하는 동작을 포함하고, 상기 경로는 인접한 노드들 간의 거리 또는 변위 방향 중 적어도 하나에 근거하여 형성될 수 있다.
다양한 실시예에 따르면, 각 노드와 연관된 해당 노드 정보는 상기 관심 공간의 해당 위치에 대응하는 적어도 하나의 이미지 및 상기 적어도 하나의 이미지와 연관된 정보를 포함하고, 상기 적어도 하나의 이미지와 연관된 정보는 상기 적어도 하나의 이미지의 적어도 일부와 연관된 3D 정보를 포함할 수 있다.
다양한 실시예에 따르면, 각 노드와 연관된 해당 노드 정보는 상기 관심 공간의 해당 위치에 대응하는 적어도 하나의 이미지 및 상기 적어도 하나의 이미지와 연관된 정보를 포함하고, 상기 적어도 하나의 이미지와 연관된 정보는 상기 적어도 하나의 이미지에 표시된 물체의 깊이 정보를 포함할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 표시하는 동작; 및 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 표시하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 표시하는 동작; 및 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 표시하는 동작을 더 포함하고, 상기 지시자의 위치는 상기 카메라의 위치 또는 방향에 근거하여 결정될 수 있다.
다양한 실시예에 따르면, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 표시하는 동작; 및 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 표시하는 동작을 더 포함하고, 상기 지시자의 위치는 상기 복수의 노드들과 연관된 이미지들의 촬영 위치들 또는 촬영 방향들에 근거하여 결정될 수 있다.
다양한 실시예에 따르면, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 표시하는 동작; 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 표시하는 동작; 및 상기 지시자의 안내에 따라 촬영된 이미지를 상기 제1 노드, 상기 복수의 노드들 중 하나의 노드 또는 새로운 노드와 연관시키는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 정보를 변경하는 동작은, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 표시하는 동작; 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 표시하는 동작; 및 상기 지시자의 안내에 따라 촬영된 이미지를 상기 제1 노드와 연관시키는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 정보를 변경하는 동작은, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 표시하는 동작; 상기 프리뷰 이미지 상에 촬영되어야 할 위치 또는 방향을 나타내는 제1 지시자와 현재 위치 또는 방향을 나타내는 제2 지시자를 표시하는 동작; 및 상기 제1 및 제2 지시자들의 안내에 따라 촬영된 이미지를 상기 제1 노드와 연관시키는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 정보를 변경하는 동작은, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 표시하는 동작; 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 표시하는 동작; 및 상기 제1 노드와 연관된 제1 이미지의 적어도 일부를 상기 지시자의 안내에 따라 촬영된 이미지에 근거하여 변경하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 정보를 변경하는 동작은, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 표시하는 동작; 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 표시하는 동작; 및 상기 제1 노드 정보의 적어도 일부를 상기 지시자의 안내에 따라 촬영된 이미지에 근거하여 변경하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 지도를 표시하는 동작은 상기 제1 노드와 연관된 제1 이미지를 표시하는 동작을 포함하고, 입력 또는 상기 전자 장치의 위치 변경에 응답하여, 상기 복수의 노드들 중 제2 노드와 연관된 제2 이미지가 상기 제1 이미지를 대체하여 표시될 수 있다.
다양한 실시예에 따르면, 상기 지도를 표시하는 동작은 상기 제1 노드와 연관된 제1 이미지를 표시하는 동작을 포함하고, 입력 또는 상기 전자 장치의 방향 변경에 응답하여, 상기 제1 노드와 연관된 다른 이미지가 상기 제1 이미지를 대체하여 표시될 수 있다.
다양한 실시예에 따르면, 입력 또는 상기 전자 장치의 방향 변경에 응답하여, 상기 제1 노드와 연관된 그래픽 요소가 표시될 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 정보는 제1 이미지를 포함하는 복수의 이미지들을 포함하며, 상기 복수의 이미지들 중 상기 제1 이미지가 상기 제1 노드의 선택에 응답하여 표시될 수 있다.
다양한 실시예에 따르면, 상기 지도를 표시하는 동작은 상기 제1 노드와 연관된 제1 이미지를 표시하는 동작을 포함하고, 상기 제1 노드 정보를 변경하는 동작은, 이벤트의 발생을 검출하는 동작; 및 상기 이벤트의 발생에 응답하여, 상기 제1 노드와 연관된 다른 이미지로 상기 제1 이미지를 대체하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 지도를 표시하는 동작은 상기 제1 노드와 연관된 제1 이미지를 표시하는 동작을 포함하고, 상기 제1 노드 정보를 변경하는 동작은, 이벤트의 발생을 검출하는 동작; 및 상기 이벤트의 발생에 응답하여, 외부 장치로부터 상기 제1 노드와 연관된 그래픽 요소를 획득하는 동작을 포함하고, 상기 그래픽 요소가 표시될 수 있다.
다양한 실시예에 따르면, 상기 지도를 표시하는 동작은, 상기 복수의 노드들 중 일부를 연결한 제1 경로를 표시하는 동작을 포함하고, 상기 제1 노드 정보를 변경하는 동작은, 이벤트의 발생을 검출하는 동작; 및 상기 이벤트의 발생에 응답하여, 상기 복수의 노드들 중 다른 일부를 연결한 제2 경로로 상기 제1 경로를 대체하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 지도를 표시하는 동작은, 상기 복수의 노드들 중 일부를 연결한 제1 경로를 표시하는 동작을 포함하고, 상기 제1 노드 정보를 변경하는 동작은, 이벤트의 발생을 검출하는 동작; 및 상기 이벤트의 발생에 응답하여, 상기 복수의 노드들 중 다른 일부를 연결한 제2 경로로 상기 제1 경로를 대체하는 동작을 포함하고, 상기 제1 노드와 연관된 제1 이미지 상에 상기 제2 경로를 안내하는 그래픽 요소가 표시될 수 있다.
다양한 실시예에 따르면, 상기 지도를 표시하는 동작은, 상기 복수의 노드들 중 일부를 연결한 제1 경로를 표시하는 동작을 포함하고, 상기 제1 노드 정보를 변경하는 동작은, 이벤트의 발생을 검출하는 동작; 상기 이벤트의 발생에 응답하여, 상기 복수의 노드들 중 다른 일부를 연결한 제2 경로로 상기 제1 경로를 대체하는 동작을 포함하고, 상기 제2 경로는 상기 복수의 노드들 중 상기 이벤트와 연관된 노드를 경유하지 않도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 정보를 변경하는 동작은, 외부 장치로부터 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대한 정보를 획득하는 동작을 포함하고, 상기 물체에 대한 정보가 표시될 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 정보를 변경하는 동작은, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대응하는 외부 장치로부터 상기 외부 장치에 대한 정보를 획득하는 동작을 포함하고, 상기 외부 장치에 대한 정보가 표시될 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 정보를 변경하는 동작은, 상기 제1 노드와 연관된 제1 이미지에 대한 정보를 외부 장치로 전송하는 동작; 및 상기 외부 장치로부터 상기 제1 이미지에 표시된 물체에 대한 정보를 획득하는 동작을 포함하고, 상기 물체에 대한 정보가 표시될 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 정보를 변경하는 동작은, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대한 제어 정보를 획득하는 동작; 상기 물체에 대한 제어 정보를 표시하는 동작; 상기 표시된 제어 정보와 연관된 입력에 응답하여, 상기 물체를 제어하는 동작을 포함하고, 상기 물체의 제어 결과가 표시될 수 있다.
다양한 실시예에 따르면, 상기 변경된 제1 노드 정보의 적어도 일부를 표시하는 동작은, 상기 제1 노드와 연관된 복수의 이미지들 또는 상기 복수의 이미지들에 대응하는 지시자들을 시간 순으로 배치하여 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 변경된 제1 노드 정보의 적어도 일부를 표시하는 동작은, 이벤트의 발생에 응답하여, 상기 제1 노드와 연관된 복수의 이미지들 또는 상기 복수의 이미지들에 대응하는 지시자들을 시간 순으로 배치하여 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 정보를 변경하는 동작은, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대하여 메시지를 저장하는 동작을 포함하고, 상기 메시지 또는 상기 메시지의 지시자가 표시될 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 정보를 변경하는 동작은, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대하여 메시지를 저장하는 동작을 포함하고, 상기 메시지의 수신 또는 저장과 연관된 정보가 표시될 수 있다.
다양한 실시예에 따르면, 상기 변경된 제1 노드 정보의 적어도 일부를 표시하는 동작은, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대하여 태그를 저장하는 동작; 및 상기 태그 또는 상기 태그의 지시자를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 변경된 제1 노드 정보의 적어도 일부를 표시하는 동작은, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대한 메시지 또는 태그를 외부 장치로 전송하는 동작; 및 상기 메시지 또는 태그의 전송 또는 수신과 연관된 정보를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 변경된 제1 노드 정보의 적어도 일부를 표시하는 동작은, 이벤트의 발생을 검출하는 동작; 및 상기 이벤트의 발생에 응답하여, 상기 제1 노드와 연관된 제1 이미지에 표시된 적어도 하나의 장치를 제어하는 동작; 및 상기 적어도 하나의 장치의 제어 결과를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 변경된 제1 노드 정보의 적어도 일부를 표시하는 동작은, 메시지를 수신하는 동작; 및 상기 메시지의 수신에 응답하여, 상기 제1 노드와 연관된 제1 이미지에 표시된 적어도 하나의 장치로 상기 메시지와 연관된 정보를 전송하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 변경된 제1 노드 정보의 적어도 일부를 표시하는 동작은, 메시지를 수신하는 동작; 상기 메시지의 수신에 응답하여, 상기 제1 노드와 연관된 제1 이미지에 표시된 적어도 하나의 장치로 상기 메시지와 연관된 정보를 전송하는 동작; 및 상기 메시지의 수신 또는 전송과 연관된 정보를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 변경된 제1 노드 정보의 적어도 일부를 표시하는 동작은, 상기 제1 노드와 연관된 제1 이미지에 표시된 장치의 상태에 대한 정보를 포함하는 메시지를 수신하는 동작; 및 상기 메시지의 수신에 응답하여, 상기 메시지에 대한 정보를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 변경된 제1 노드 정보의 적어도 일부를 표시하는 동작은, 상기 제1 노드와 연관된 제1 이미지에 표시된 제1 외부 장치의 상태를 표시하는 동작; 및 입력에 응답하여, 상기 제1 외부 장치에 대한 정보를 포함하는 메시지를 제2 외부 장치로 전송하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 변경된 제1 노드 정보의 적어도 일부를 표시하는 동작은, 상기 제1 노드와 연관된 제1 이미지에 표시된 제1 외부 장치의 상태를 표시하는 동작; 입력에 응답하여, 상기 제1 외부 장치에 대한 정보를 포함하는 메시지를 제2 외부 장치로 전송하는 동작; 및 상기 제2 외부 장치로부터 상기 제1 외부 장치의 제어에 연관된 정보를 수신하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 변경된 제1 노드 정보의 적어도 일부를 표시하는 동작은, 상기 제1 노드와 연관된 제1 이미지에 표시된 제1 외부 장치의 상태를 표시하는 동작; 입력에 응답하여, 상기 제1 외부 장치에 대한 정보를 포함하는 메시지를 제2 외부 장치로 전송하는 동작; 상기 제2 외부 장치와 연결하는 동작; 및 상기 제2 외부 장치의 제어에 따라 상기 제1 외부 장치를 제어하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 관심 공간과 연관된 정보를 제공하는 전자 장치는, 디스플레이; 및 상기 관심 공간의 해당 위치에서 촬영된 적어도 하나의 이미지 및 상기 적어도 하나의 이미지에 대한 정보(또는 부가 정보)와 연관된 하나 이상의 노드를 포함하는 지도의 적어도 일부를 상기 디스플레이 상에 표시하도록 구성되고, 제1 입력에 응답하여, 상기 하나 이상의 노드 중 제1 노드와 연관된 제1 이미지의 적어도 일부 또는 상기 제1 이미지에 대한 제1 정보(또는 제1 부가 정보)의 적어도 일부를 변경하도록 구성되고, 상기 변경된 제1 이미지의 적어도 일부 또는 상기 변경된 제1 정보의 적어도 일부를 상기 디스플레이를 통해 상기 지도에 표시하도록 구성된 프로세서를 포함할 수 있다.
다양한 실시예에 따르면, 관심 공간과 연관된 정보를 제공하는 전자 장치는, 디스플레이; 및 미리 설정된 영역을 포함하는 지도 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 상기 미리 설정된 영역의 선택을 검출하도록 구성되고, 상기 선택에 응답하여, 상기 지도 이미지에 표시된 물체의 속성/연관 정보를 출력하도록 구성된 프로세서를 포함할 수 있다.
다양한 실시예에 따르면, 관심 공간과 연관된 정보를 제공하는 전자 장치는, 디스플레이; 및 상기 관심 공간의 해당 위치에서 촬영된 적어도 하나의 이미지 및 상기 적어도 하나의 이미지에 대한 정보와 연관된 하나 이상의 노드를 포함하는 지도의 적어도 일부를 표시하도록 구성되고, 제1 입력에 응답하여, 상기 하나 이상의 노드 중 제1 노드와 연관된 제1 이미지 또는 상기 제1 이미지에 대한 제1 정보를 변경하도록 구성되고, 상기 변경된 제1 이미지의 적어도 일부 또는 상기 변경된 제1 정보의 적어도 일부를 상기 지도에 표시하도록 구성된 프로세서를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 관심 공간의 해당 위치에 대응하는 적어도 하나의 이미지와 연관된 하나 이상의 노드를 포함하는 지도를 상기 디스플레이 상에 표시하도록 구성되고, 미리 설정된 조건이 충족되면, 상기 하나 이상의 노드 중 제1 노드와 연관된 제1 노드 정보를 변경하도록 구성되고, 상기 변경된 제1 노드 정보의 적어도 일부를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 각 노드와 연관된 해당 노드 정보는 상기 관심 공간의 해당 위치에 대응하는 적어도 하나의 이미지 및 상기 적어도 하나의 이미지와 연관된 정보를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 복수의 노드들과 상기 복수의 노드들을 연결한 경로를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지와, 상기 복수의 노드들과, 상기 복수의 노드들을 연결한 경로를 함께 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 상기 제1 이미지 상에 상기 복수의 노드들과 상기 복수의 노드들을 연결한 경로를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 복수의 노드들과, 상기 복수의 노드들을 연결한 경로와, 각 노드와 연관된 각 이미지의 촬영 방향을 함께 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 복수의 노드들과 상기 복수의 노드들을 연결한 경로를 상기 디스플레이 상에 표시하도록 구성되고, 상기 경로는 인접한 노드들 간의 거리 또는 변위 방향 중 적어도 하나에 근거하여 형성될 수 있다.
다양한 실시예에 따르면, 각 노드와 연관된 해당 노드 정보는 상기 관심 공간의 해당 위치에 대응하는 적어도 하나의 이미지 및 상기 적어도 하나의 이미지와 연관된 정보를 포함하고, 상기 적어도 하나의 이미지와 연관된 정보는 상기 적어도 하나의 이미지의 적어도 일부와 연관된 3D 정보를 포함할 수 있다.
다양한 실시예에 따르면, 각 노드와 연관된 해당 노드 정보는 상기 관심 공간의 해당 위치에 대응하는 적어도 하나의 이미지 및 상기 적어도 하나의 이미지와 연관된 정보를 포함하고, 상기 적어도 하나의 이미지와 연관된 정보는 상기 적어도 하나의 이미지에 표시된 물체의 깊이 정보를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 상기 디스플레이 상에 표시하도록 구성되고, 상기 지시자의 위치는 상기 카메라의 위치 또는 방향에 근거하여 결정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 상기 디스플레이 상에 표시하도록 구성되고, 상기 지시자의 위치는 상기 복수의 노드들과 연관된 이미지들의 촬영 위치들 또는 촬영 방향들에 근거하여 결정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 상기 디스플레이 상에 표시하도록 구성되고, 상기 지시자의 안내에 따라 촬영된 이미지를 상기 제1 노드, 상기 복수의 노드들 중 하나의 노드 또는 새로운 노드와 연관시키도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 상기 디스플레이 상에 표시하도록 구성되고, 상기 지시자의 안내에 따라 촬영된 이미지를 상기 제1 노드와 연관시키도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 상기 프리뷰 이미지 상에 촬영되어야 할 위치 또는 방향을 나타내는 제1 지시자와 현재 위치 또는 방향을 나타내는 제2 지시자를 상기 디스플레이 상에 표시하도록 구성되고, 상기 제1 및 제2 지시자들의 안내에 따라 촬영된 이미지를 상기 제1 노드와 연관시키도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 상기 디스플레이 상에 표시하도록 구성되고, 상기 제1 노드와 연관된 제1 이미지의 적어도 일부를 상기 지시자의 안내에 따라 촬영된 이미지에 근거하여 변경하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치의 카메라를 통해 촬영된 프리뷰 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 상기 프리뷰 이미지 상에 촬영 안내를 위한 지시자를 상기 디스플레이 상에 표시하도록 구성되고, 상기 제1 노드 정보의 적어도 일부를 상기 지시자의 안내에 따라 촬영된 이미지에 근거하여 변경하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 입력 또는 상기 전자 장치의 위치 변경에 응답하여, 상기 복수의 노드들 중 제2 노드와 연관된 제2 이미지가 상기 제1 이미지를 대체하여 표시될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 입력 또는 상기 전자 장치의 방향 변경에 응답하여, 상기 제1 노드와 연관된 다른 이미지가 상기 제1 이미지를 대체하여 표시될 수 있다.
다양한 실시예에 따르면, 입력 또는 상기 전자 장치의 방향 변경에 응답하여, 상기 제1 노드와 연관된 그래픽 요소가 표시될 수 있다.
다양한 실시예에 따르면, 상기 제1 노드 정보는 제1 이미지를 포함하는 복수의 이미지들을 포함하며, 상기 복수의 이미지들 중 상기 제1 이미지가 상기 제1 노드의 선택에 응답하여 표시될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 이벤트의 발생을 검출하도록 구성되고, 상기 이벤트의 발생에 응답하여, 상기 제1 노드와 연관된 다른 이미지로 상기 제1 이미지를 대체하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지를 상기 디스플레이 상에 표시하도록 구성되고, 이벤트의 발생을 검출하도록 구성되고, 상기 이벤트의 발생에 응답하여, 외부 장치로부터 상기 제1 노드와 연관된 그래픽 요소를 획득하도록 구성되고, 상기 그래픽 요소를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 복수의 노드들 중 일부를 연결한 제1 경로를 상기 디스플레이 상에 표시하도록 구성되고, 이벤트의 발생을 검출하도록 구성되고, 상기 이벤트의 발생에 응답하여, 상기 복수의 노드들 중 다른 일부를 연결한 제2 경로로 상기 제1 경로를 대체하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 복수의 노드들 중 일부를 연결한 제1 경로를 상기 디스플레이 상에 표시하도록 구성되고, 이벤트의 발생을 검출하도록 구성되고, 상기 이벤트의 발생에 응답하여, 상기 복수의 노드들 중 다른 일부를 연결한 제2 경로로 상기 제1 경로를 대체하도록 구성되고, 상기 제1 노드와 연관된 제1 이미지 상에 상기 제2 경로를 안내하는 그래픽 요소가 표시될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 복수의 노드들 중 일부를 연결한 제1 경로를 상기 디스플레이 상에 표시하도록 구성되고, 이벤트의 발생을 검출하도록 구성되고, 상기 이벤트의 발생에 응답하여, 상기 복수의 노드들 중 다른 일부를 연결한 제2 경로로 상기 제1 경로를 대체하도록 구성되고, 상기 제2 경로는 상기 복수의 노드들 중 상기 이벤트와 연관된 노드를 경유하지 않도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 외부 장치로부터 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대한 정보를 획득하도록 구성되고, 상기 물체에 대한 정보를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대응하는 외부 장치로부터 상기 외부 장치에 대한 정보를 획득하도록 구성되고, 상기 외부 장치에 대한 정보를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지에 대한 정보를 외부 장치로 전송하도록 구성되고, 상기 외부 장치로부터 상기 제1 이미지에 표시된 물체에 대한 정보를 획득하도록 구성되고, 상기 물체에 대한 정보가 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대한 제어 정보를 획득하도록 구성되고, 상기 물체에 대한 제어 정보를 표시하도록 구성되고, 상기 표시된 제어 정보와 연관된 입력에 응답하여, 상기 물체를 제어하도록 구성되고, 상기 물체의 제어 결과를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 복수의 이미지들 또는 상기 복수의 이미지들에 대응하는 지시자들을 시간 순으로 배치하여 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 이벤트의 발생에 응답하여, 상기 제1 노드와 연관된 복수의 이미지들 또는 상기 복수의 이미지들에 대응하는 지시자들을 시간 순으로 배치하여 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대한 메시지를 저장하도록 구성되고, 상기 메시지 또는 상기 메시지의 지시자를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대한 메시지를 저장하도록 구성되고, 상기 메시지의 수신 또는 저장과 연관된 정보를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대한 태그를 저장하도록 구성되고, 상기 태그 또는 상기 태그의 지시자를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지에 표시된 물체에 대한 메시지 또는 태그를 외부 장치로 전송하도록 구성되고, 상기 메시지 또는 태그의 전송 또는 수신과 연관된 정보를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 이벤트의 발생을 검출하도록 구성되고, 상기 이벤트의 발생에 응답하여, 상기 제1 노드와 연관된 제1 이미지에 표시된 적어도 하나의 장치를 제어하도록 구성되고, 상기 적어도 하나의 장치의 제어 결과를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 메시지를 수신하도록 구성되고, 상기 메시지의 수신에 응답하여, 상기 제1 노드와 연관된 제1 이미지에 표시된 적어도 하나의 장치로 상기 메시지와 연관된 정보를 전송하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 메시지를 수신하도록 구성되고, 상기 메시지의 수신에 응답하여, 상기 제1 노드와 연관된 제1 이미지에 표시된 적어도 하나의 장치로 상기 메시지와 연관된 정보를 전송하도록 구성되고, 상기 메시지의 수신 또는 전송과 연관된 정보를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지에 표시된 장치의 상태에 대한 정보를 포함하는 메시지를 수신하도록 구성되고, 상기 메시지의 수신에 응답하여, 상기 메시지에 대한 정보를 상기 디스플레이 상에 표시하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지에 표시된 제1 외부 장치의 상태를 표시하도록 구성되고, 입력에 응답하여, 상기 제1 외부 장치에 대한 정보를 포함하는 메시지를 제2 외부 장치로 전송하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지에 표시된 제1 외부 장치의 상태를 표시하도록 구성되고, 입력에 응답하여, 상기 제1 외부 장치에 대한 정보를 포함하는 메시지를 제2 외부 장치로 전송하도록 구성되고, 상기 제2 외부 장치로부터 상기 제1 외부 장치의 제어에 연관된 정보를 수신하도록 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 노드와 연관된 제1 이미지에 표시된 제1 외부 장치의 상태를 표시하도록 구성되고, 입력에 응답하여, 상기 제1 외부 장치에 대한 정보를 포함하는 메시지를 제2 외부 장치로 전송하도록 구성되고, 상기 제2 외부 장치와 연결하도록 구성되고, 상기 제2 외부 장치의 제어에 따라 상기 제1 외부 장치를 제어하도록 구성될 수 있다.
본 문서에서 사용된 용어 “모듈”은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. “모듈”은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. “모듈”은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. “모듈”은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. “모듈”은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면,“모듈”은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 프로세서(예: 프로세서(120))에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리(130)가 될 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM(compact disc read only memory), DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM(read only memory), RAM(random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 개시의 범위를 한정하는 것은 아니다. 따라서, 본 개시의 범위는, 본 개시의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시예를 포함하는 것으로 해석되어야 한다.
101: 전자 장치, 110: 버스, 120: 프로세서, 130: 메모리, 150: 입출력 인터페이스, 160: 디스플레이, 170: 통신 인터페이스

Claims (20)

  1. 전자 장치에 있어서,
    디스플레이; 및
    프로세서를 포함하고, 상기 프로세서는,
    복수의 노드들과 상기 복수의 노드들 사이에 연결된 적어도 하나의 경로를 포함하는 지도를 획득하고, 여기서 상기 복수의 노드들은 적어도 하나의 이미지가 촬영된 위치이고, 상기 적어도 하나의 경로는 상기 적어도 하나의 이미지의 촬영 방향과 깊이 정보에 기초하여 결정되고, 상기 복수의 노드들은 제1이미지가 촬영된 제1위치인 제1노드를 포함하고, 상기 적어도 하나의 경로는 상기 제1노드와 상기 복수의 노드들 중 어느 하나와 연결된 제1경로를 포함하고, 상기 제1경로는 상기 제1노드에서 촬영된 상기 제1이미지의 제1촬영 방향과 제1깊이 정보에 기반하여 결정되고,
    상기 지도를 상기 디스플레이 상에 표시하고,
    상기 제1노드의 정보를 변경하기 위한 입력 또는 이벤트에 응답하여, 상기 제1 노드와 연관된 상기 제1 이미지 또는 상기 제1 이미지에 대한 제1 부가 정보를 변경하고,
    상기 변경된 제1 이미지 또는 상기 변경된 제1 부가 정보를 상기 디스플레이를 통해 상기 지도에 표시하고, 및
    상기 변경된 제1이미지 또는 상기 변경된 제1 부가 정보와 상기 제1경로를 표시하도록 설정되고,
    상기 복수의 노드들 중 기설정된 거리 내에 인접한 노드들은 하나의 노드로 결합되는 전자 장치.
  2. 제1항에 있어서, 상기 프로세서는,
    미리 설정된 영역을 포함하는 상기 제1 이미지를 상기 디스플레이 상에 표시하도록 구성되고,
    상기 미리 설정된 영역의 선택을 검출하도록 구성되고,
    상기 선택에 응답하여, 상기 제1 이미지에 표시된 물체의 속성/연관 정보를 디스플레이를 통해 출력하도록 구성된 전자 장치.
  3. 제1항에 있어서, 상기 프로세서는,
    상기 입력 또는 상기 전자 장치의 방향 변경에 응답하여, 상기 제1 노드와 연관된 그래픽 요소를 표시하도록 구성된 전자 장치.
  4. 제1항에 있어서, 상기 프로세서는,
    상기 이벤트의 발생을 검출하도록 구성되고,
    상기 이벤트의 발생에 응답하여, 외부 장치로부터 상기 제1 노드와 연관된 그래픽 요소를 획득하도록 구성되고,
    상기 그래픽 요소를 상기 디스플레이 상에 표시하도록 구성된 전자 장치.
  5. 제1항에 있어서, 상기 프로세서는,
    상기 이벤트의 발생을 검출하도록 구성되고,
    상기 이벤트의 발생에 응답하여, 상기 하나 이상의 노드 중 다른 노드를 연결한 제2 경로로 상기 제1 경로를 대체하도록 구성된 전자 장치.
  6. 제1항에 있어서, 상기 프로세서는,
    상기 제1 이미지에 표시된 물체에 대한 정보를 외부 장치 또는 상기 물체로부터 획득하도록 구성되고, 상기 물체에 대한 정보를 상기 디스플레이 상에 표시하도록 구성된 전자 장치.
  7. 제1항에 있어서, 상기 프로세서는,
    상기 제1 이미지에 표시된 물체에 대한 제어 정보를 획득하도록 구성되고,
    상기 물체에 대한 제어 정보를 표시하도록 구성되고,
    상기 표시된 제어 정보와 연관된 입력 또는 이벤트에 응답하여, 상기 물체를 제어하도록 구성된 전자 장치.
  8. 제1항에 있어서, 상기 프로세서는,
    상기 제1 이미지에 표시된 물체에 대한 메시지를 저장하도록 구성되고,
    상기 메시지 또는 상기 메시지의 지시자를 상기 디스플레이 상에 표시하도록 구성된 전자 장치.
  9. 제1항에 있어서, 상기 프로세서는,
    상기 제1 이미지에 표시된 물체에 대한 메시지 또는 태그를 외부 장치로 전송하도록 구성되고,
    상기 메시지 또는 태그의 전송 또는 수신과 연관된 정보를 상기 디스플레이 상에 표시하도록 구성된 전자 장치.
  10. 전자 장치에 있어서,
    카메라; 및
    상기 카메라와 기능적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
    상기 카메라를 통해 적어도 하나의 이미지가 촬영되는 적어도 하나의 위치를 복수의 노드들로 결정하고,
    상기 적어도 하나의 이미지의 촬영 방향 및 깊이 정보에 기초하여 상기 복수의 노드들 사이를 연결하는 적어도 하나의 경로를 결정하고,
    상기 적어도 하나의 이미지를 결합하여 상기 복수의 노드들 및 상기 적어도 하나의 경로를 포함하는 지도를 생성하도록 설정되고,
    상기 복수의 노드들은 제1이미지가 촬영되는 제1위치인 제1노드 및 제2이미지가 촬영되는 제2위치인 제2노드를 포함하고, 상기 적어도 하나의 경로는 상기 제1노드와 상기 제2노드를 연결하는 제1경로를 포함하고, 상기 제1이미지의 제1촬영 방향 및 제1깊이 정보 및 상기 제2이미지의 제2촬영 방향 및 제2깊이 정보에 기초하여 상기 제1경로가 결정되고,
    상기 프로세서는, 상기 복수의 노드들 중 기설정된 거리 내에 인접한 노드들을 하나의 노드로 결합하도록 설정된 전자 장치.
  11. 제10항에 있어서,
    상기 복수의 노드들은, 상기 적어도 하나의 이미지 중 제1 이미지와 제2 이미지에 대해, 상기 제1 이미지의 적어도 일부 영역과 상기 제2 이미지의 적어도 일부 영역의 이미지 데이터를 비교하여 결정된 3D 정보를 포함하는 전자 장치.
  12. 제10항에 있어서, 상기 프로세서는,
    상기 적어도 하나의 이미지에 대한 상기 카메라의 촬영 위치 또는 상기 카메라의 촬영 방향을 확인하도록 구성되고,
    상기 촬영 위치 또는 상기 촬영 방향 중 적어도 하나에 기반하여, 상기 전자장치와 기능적으로 연결된 화면에 촬영 가이드를 표시하도록 구성된 전자 장치.
  13. 제10항에 있어서, 상기 프로세서는,
    상기 카메라를 통해 다른 이미지를 획득하도록 구성되고,
    상기 복수의 노드들 중 상기 다른 이미지에 대응하는 노드가 없는 경우, 상기 다른 이미지에 대응하는 노드를 생성하도록 구성되고,
    상기 생성된 노드의 공간에 상기 다른 이미지를 배치하도록 구성된 전자 장치.
  14. 제10항에 있어서, 상기 프로세서는,
    상기 전자 장치에 대한 사용자의 입력에 응답하여, 상기 제1 노드에 대응하는 이미지들 중 적어도 일부를 상기 제2 노드에 대응하는 이미지들 중 적어도 일부로 전환하여 상기 전자장치와 기능적으로 연결된 화면에 표시하도록 구성된 전자 장치.
  15. 제10항에 있어서, 상기 프로세서는,
    상기 전자 장치에 대한 사용자의 입력에 응답하여, 상기 제1 노드 또는 상기 제2 노드 중 적어도 하나에 대응하는 시각 정보를 상기 전자장치와 기능적으로 연결된 화면에 표시하도록 구성된 전자 장치.
  16. 제11항에 있어서, 상기 프로세서는,
    상기 3D 정보에 기반하여, 상기 제1 노드와 상기 제2 노드의 지면 또는 장애물을 판단하도록 구성되고,
    상기 지면 또는 상기 장애물에 기반하여, 상기 제1 노드와 상기 제2 노드를 연결하는 평면 지도를 생성하도록 구성된 전자 장치.
  17. 제10항에 있어서, 상기 프로세서는,
    비상 상황에 관한 이벤트를 수신하도록 구성되고,
    상기 이벤트에 반응하여, 비상 경로 정보를 상기 전자 장치의 디스플레이에 표시하도록 구성된 전자 장치.
  18. 제10항에 있어서, 상기 프로세서는,
    상기 지도 상에 비상 상황이 발생한 지점을 확인하도록 구성되고,
    상기 지점을 회피하는 비상 경로를 상기 전자 장치의 디스플레이에 표시하도록 구성된 전자 장치.
  19. 제10항에 있어서, 상기 프로세서는,
    상기 제1이미지에 표시된 물체와 관련된 외부 장치로 속성 정보를 요청하도록 구성되고,
    상기 외부 장치로부터, 상기 요청에 대한 응답으로, 상기 속성 정보를 수신하도록 구성된 전자 장치.
  20. 제11항에 있어서, 상기 프로세서는,
    상기 3D 정보에 기반하여, 상기 지도 상에서 사용자의 입력에 따라 3D 모델을 배치 또는 이동시키도록 구성된 전자 장치.
KR1020150083532A 2014-07-01 2015-06-12 지도 정보를 제공하기 위한 전자 장치 KR102362117B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/755,811 US10068373B2 (en) 2014-07-01 2015-06-30 Electronic device for providing map information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462019558P 2014-07-01 2014-07-01
US62/019,558 2014-07-01

Publications (2)

Publication Number Publication Date
KR20160003553A KR20160003553A (ko) 2016-01-11
KR102362117B1 true KR102362117B1 (ko) 2022-02-11

Family

ID=55169668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150083532A KR102362117B1 (ko) 2014-07-01 2015-06-12 지도 정보를 제공하기 위한 전자 장치

Country Status (1)

Country Link
KR (1) KR102362117B1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102519592B1 (ko) 2016-09-02 2023-04-10 삼성전자주식회사 디스플레이 장치 및 이의 제어 방법
KR101962755B1 (ko) * 2016-11-11 2019-03-28 (주)티랩스 3차원 지도 작성을 위한 데이터 수집 장치
KR101908716B1 (ko) * 2017-02-27 2018-10-16 주식회사유넷컨버전스 활주로 감시 카메라의 표시 위치 맵핑 시스템 및 그 방법
US10300373B2 (en) * 2017-09-08 2019-05-28 Niantic, Inc. Methods and systems for generating detailed datasets of an environment via gameplay
KR102434402B1 (ko) * 2017-09-19 2022-08-22 한국전자통신연구원 혼합현실 콘텐츠를 제공하는 장치 및 방법
KR102457568B1 (ko) 2017-09-29 2022-10-21 삼성전자주식회사 입력된 정보와 관련된 이미지를 제공하기 위한 전자 장치 및 그의 동작 방법
KR102121107B1 (ko) * 2018-04-30 2020-06-09 주식회사 에이비씨스튜디오 가상현실 투어 제공 방법 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체
KR102054379B1 (ko) * 2018-07-18 2019-12-10 울산과학기술원 실시간 미세먼지 시각화 장치
KR102095120B1 (ko) * 2018-09-10 2020-03-30 한국과학기술원 지능형 실내 공간 서비스를 위한 공간의 기능 및 의미를 포함한 실내 공간 모델링 방법 및 장치
KR102296908B1 (ko) * 2019-03-19 2021-09-02 한국전자통신연구원 특징점 지도 관리방법 및 장치
KR102225321B1 (ko) * 2019-04-19 2021-03-09 주식회사 스트리스 복수 영상 센서로부터 취득한 영상 정보와 위치 정보 간 연계를 통한 도로 공간 정보 구축을 위한 시스템 및 방법
KR102277974B1 (ko) * 2019-05-23 2021-07-15 주식회사 다비오 이미지 기반 실내 측위 서비스 시스템 및 방법
KR102212336B1 (ko) * 2019-07-23 2021-02-05 주식회사 피앤씨솔루션 Imu 센서를 이용한 위급상황 내비게이션 기능을 갖는 머리 착용형 디스플레이 장치
KR102277503B1 (ko) * 2019-08-01 2021-07-15 주식회사 다비오 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법
KR102259451B1 (ko) * 2019-11-11 2021-06-01 류승완 지도 정보 제공 장치 및 방법
KR102324129B1 (ko) * 2020-02-21 2021-11-11 주식회사 피앤씨솔루션 지도 정보와 imu 센서를 이용한 내비게이션 기능을 갖는 머리 착용형 디스플레이 장치
KR102546151B1 (ko) * 2020-09-21 2023-06-23 주식회사 브이알에이포인트 건물의 인테리어를 확인하기 위한 360도 이미지 제공 인터페이스
US20230410351A1 (en) * 2020-11-04 2023-12-21 Dabeeo Inc. Terminal device for indoor positioning based on object recognition, service server, and method therefor
KR102499668B1 (ko) * 2021-10-08 2023-02-16 주식회사 쓰리아이 가상 공간 투어 제공 시스템 및 이의 제공방법
WO2023101194A1 (ko) * 2021-12-02 2023-06-08 삼성전자주식회사 운송 수단 내 증강 현실 콘텐츠 제공 방법, 이를 수행하는 웨어러블 장치 및 전자 장치
KR20230173939A (ko) * 2022-06-20 2023-12-27 네이버랩스 주식회사 로봇 친화형 건물, 로봇 운용을 위한 맵 생성 방법 및 시스템
KR102647612B1 (ko) * 2023-11-13 2024-03-14 주식회사 코너스 비상 상황 발생 시 공간 내 인원에게 대피 경로를 안내하는 로봇 및 로봇 제어 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003132375A (ja) * 2002-07-05 2003-05-09 Hitachi Ltd 案内システム及び地図データサーバ装置、地図データ表示端末装置
US20100118025A1 (en) 2005-04-21 2010-05-13 Microsoft Corporation Mode information displayed in a mapping application
US7830962B1 (en) 1998-03-19 2010-11-09 Fernandez Dennis S Monitoring remote patients
US8369610B1 (en) 1998-06-26 2013-02-05 Carl Phillip Korobkin Photogrammetry engine for model construction
US20130254666A1 (en) 2005-11-17 2013-09-26 University Of Washington Navigating Images Using Image Based Geometric Alignment And Object Based Controls
US20140028850A1 (en) 2012-07-26 2014-01-30 Qualcomm Incorporated Augmentation of Tangible Objects as User Interface Controller

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101669520B1 (ko) * 2009-08-11 2016-10-26 엘지전자 주식회사 전자디바이스 및 그 제어방법
KR102048954B1 (ko) * 2012-10-25 2020-01-09 한국전자통신연구원 실내 인프라 정보 제공 시스템, 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7830962B1 (en) 1998-03-19 2010-11-09 Fernandez Dennis S Monitoring remote patients
US8369610B1 (en) 1998-06-26 2013-02-05 Carl Phillip Korobkin Photogrammetry engine for model construction
JP2003132375A (ja) * 2002-07-05 2003-05-09 Hitachi Ltd 案内システム及び地図データサーバ装置、地図データ表示端末装置
US20100118025A1 (en) 2005-04-21 2010-05-13 Microsoft Corporation Mode information displayed in a mapping application
US20130254666A1 (en) 2005-11-17 2013-09-26 University Of Washington Navigating Images Using Image Based Geometric Alignment And Object Based Controls
US20140028850A1 (en) 2012-07-26 2014-01-30 Qualcomm Incorporated Augmentation of Tangible Objects as User Interface Controller

Also Published As

Publication number Publication date
KR20160003553A (ko) 2016-01-11

Similar Documents

Publication Publication Date Title
KR102362117B1 (ko) 지도 정보를 제공하기 위한 전자 장치
US10068373B2 (en) Electronic device for providing map information
US10140769B2 (en) Electronic device and method for providing map service
KR102606601B1 (ko) 표면 인식 렌즈
KR102491191B1 (ko) 중복 추적 시스템
US11118928B2 (en) Method for providing map information and electronic device for supporting the same
CN108292311B (zh) 用于处理元数据的设备和方法
US10800522B2 (en) Flight control method and electronic device for supporting the same
EP2974509B1 (en) Personal information communicator
US10911818B2 (en) Electronic device and method for controlling the same
US20140300775A1 (en) Method and apparatus for determining camera location information and/or camera pose information according to a global coordinate system
CN108462818B (zh) 电子设备及用于在该电子设备中显示360度图像的方法
CN105737804B (zh) 识别电子装置位置的方法、电子装置、和服务器操作方法
US10885106B1 (en) Optical devices and apparatuses for capturing, structuring, and using interlinked multi-directional still pictures and/or multi-directional motion pictures
US20200286276A1 (en) Electronic device and method for displaying and generating panoramic image
KR102337209B1 (ko) 주변 상황 정보를 통지하기 위한 방법, 전자 장치 및 저장 매체
KR102296168B1 (ko) 위치 결정 방법 및 전자 장치
KR20230102441A (ko) 맵 타겟 생성을 위한 사용자 인터페이스 제공 방법 및 그 시스템

Legal Events

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