WO2021132947A1 - 실내 측위를 제공하는 전자 장치 및 그 방법 - Google Patents

실내 측위를 제공하는 전자 장치 및 그 방법 Download PDF

Info

Publication number
WO2021132947A1
WO2021132947A1 PCT/KR2020/017862 KR2020017862W WO2021132947A1 WO 2021132947 A1 WO2021132947 A1 WO 2021132947A1 KR 2020017862 W KR2020017862 W KR 2020017862W WO 2021132947 A1 WO2021132947 A1 WO 2021132947A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
magnetic field
earth magnetic
field value
point
Prior art date
Application number
PCT/KR2020/017862
Other languages
English (en)
French (fr)
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 EP20906880.8A priority Critical patent/EP4050563A4/en
Publication of WO2021132947A1 publication Critical patent/WO2021132947A1/ko
Priority to US17/846,500 priority patent/US20220319118A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R33/00Arrangements or instruments for measuring magnetic variables
    • G01R33/0023Electronic aspects, e.g. circuits for stimulation, evaluation, control; Treating the measured signals; calibration
    • G01R33/0029Treating the measured signals, e.g. removing offset or noise
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R33/00Arrangements or instruments for measuring magnetic variables
    • G01R33/0064Arrangements or instruments for measuring magnetic variables comprising means for performing simulations, e.g. of the magnetic variable to be measured
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1686Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/33Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Graphics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Automation & Control Theory (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 문서에 개시된 다양한 실시예에 따른 전자 장치는, 디스플레이, 카메라 및 상기 디스플레이 및 카메라와 동작적으로 연결된 프로세서를 포함할 수 있고, 상기 프로세서는, 상기 카메라로 촬영된 화상을 기반으로 증강 현실을 상기 디스플레이에 표시할 수 있고, 상기 디스플레이에 상기 전자 장치의 움직임에 연동하여 상기 증강 현실 상에서 움직이는 포인트를 표시할 수 있고, 상기 증강 현실 상에서 선택된 지점을 인식할 수 있고, 상기 포인트가 특정 영역 내에서 움직이도록 상기 선택된 지점을 포함하는 가이드 영역을 상기 증강 현실 상에 표시할 수 있고, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 측정되는 지자계 값을 포함하는 센서 정보를 저장할 수 있고, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 측정되는 무선 신호 세기 정보를 저장할 수 있고, 상기 센서 정보에 포함된 지자계 값을 기준 방향과 상기 지자계 값의 측정 시점에서 상기 전자 장치의 방향을 이용하여 보정할 수 있다. 이 밖에도 다양한 실시예가 가능할 수 있다.

Description

실내 측위를 제공하는 전자 장치 및 그 방법
본 문서에 개시된 다양한 실시예들은, 실내 측위에 활용될 수 있는 가상 마커를 생성하는 방법과 가상 마커를 생성하는 전자 장치에 관한 것이다.
실내 위치 서비스는 건물 또는 구조물 내부에서 사용자의 위치를 확인하고그 위치에 기반한 서비스를 제공하는 것을 총칭할 수 있다. 기존의 실내 위치 서비스로는 단말 및 사용자의 위치를 추적 하는 것, 그리고 보다 한정적으로 특정 관심 지점(Point-of-Interest)의 진출입 여부를 판단하는 지오펜싱(geofencing) 서비스를 들 수 있다.
종래의 실내 위치 서비스는 외부에서 제공되거나 자체적인 알고리즘을 통해 생성하는 실내 지도와 지도 내 여러 지점들에서의 센서 값을 측정을 필요로 할 수 있다. 경우에 따라서는, 블루투스 비콘(bluetooth beacon) 등의 인프라가 요구된다.
802.11mc와 같이 무선랜을 기반으로 한 실내 위치 서비스도 제안되고 있으나 이 또한 해당 AP의 보급이 선결되어야 한다. 실내 측위를 위해 필요한 이러한 사전 작업 및 인프라 설치는 해당 서비스 확산의 주요 어려움 중 하나이다.
지오펜싱의 경우 좌표를 특정할 필요는 없으므로 상대적으로 적은 양의 정보로 서비스가 가능할 수 있지만, 이 역시 높은 정밀도와 정확도가 요구되는 경우에는 블루투스 비콘과 같은 전용 인프라를 추가적으로 설치 및 활용하는 것이 일반적이다.
본 문서에 개시된 다양한 실시예들은 사용자가 간편하게 휴대할 수 있는 전자 장치를 통해 제공되는 증강 현실(augumented reality; AR)을 이용하여 실내 위치 서비스에 활용될 수 있는 마커를 생성하는 방법을 제공할 수 있다.
본 문서에 개시된 다양한 실시예에 따른 전자 장치는, 디스플레이, 카메라 및 상기 디스플레이 및 카메라와 동작적으로 연결된 프로세서를 포함할 수 있고, 상기 프로세서는, 상기 카메라로 촬영된 화상을 기반으로 증강 현실을 상기 디스플레이에 표시할 수 있고, 상기 디스플레이에 상기 전자 장치의 움직임에 연동하여 상기 증강 현실 상에서 움직이는 포인트를 표시할 수 있고, 상기 증강 현실 상에서 선택된 지점을 인식할 수 있고, 상기 포인트가 특정 영역 내에서 움직이도록 상기 선택된 지점을 포함하는 가이드 영역을 상기 증강 현실 상에 표시할 수 있고, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 측정되는 지자계 값을 포함하는 센서 정보를 저장할 수 있고, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 측정되는 무선 신호 세기 정보를 저장할 수 있고, 상기 센서 정보에 포함된 지자계 값을 기준 방향과 상기 지자계 값의 측정 시점에서 상기 전자 장치의 방향을 이용하여 보정할 수 있다.
본 문서에 개시된 다양한 실시예에 따른 실내 측위 제공 방법은, 전자 장치의 움직임에 연동하여 증강 현실 상에서 움직이는 포인트를 표시하는 동작, 상기 증강 현실 상에서 선택 지점을 인식하는 동작, 상기 포인트가 특정 영역 내에서 움직이도록 상기 선택 지점을 포함하는 가이드 영역을 상기 증강 현실 상에 표시하는 동작, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 상기 포인트가 지나가는 블록에서 측정되는 지자계 값을 포함하는 센서 정보를 저장하는 동작, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 측정되는 무선 신호 세기 정보를 저장하는 동작 및 상기 센서 정보에 포함된 지자계 값을 기준 방향과 상기 지자계 값의 측정 시점에서 상기 전자 장치의 방향을 이용하여 보정하는 동작을 포함할 수 있다.
본 문서에 개시된 다양한 실시예에 따르면, 사용자의 전자 장치에 표시되는 증강 현실을 활용하여 가상 마커를 간편하게 생성할 수 있다. 이 가상 마커를 활용하면 실내 측위를 위한 추가 인프라 없이도 수cm~수m의 높은 정밀도로 실내 특정 지점의 진입 또는 진출 여부를 검출할 수 있다.
도면의 설명과 관련하여, 동일 또는 유사한 구성 요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블럭도이다.
도 2는, 본 문서에 개시된 다양한 실시예에 따른 실내 측위 제공 방법의 흐름도다.
도 3은, 본 문서에 개시된 다양한 실시예에 따른 전자 장치의 디스플레이에 표시되는 증강 현실과 포인트를 설명하기 위한 도면이다.
도 4는, 본 문서에 개시된 다양한 실시예에 따른 가이드 영역을 설명하기 위한 도면이다.
도 5a 내지 도 5c는, 본 문서에 개시된 다양한 실시예에 따른 가이드 영역의 복수의 블록에 대응하는 정보를 설명하기 위한 도면이고, 도 5d는, 본 문서에 개시된 다양한 실시예에 따른 복수의 블록을 지나가는 포인트를 설명하기 위한 도면이다.
도 6a 및 도 6b는, 본 문서에 개시된 다양한 실시예에 따른 지자계 값을 보정하는 방법을 설명하기 위한 도면이다.
도 7은, 본 문서에 개시된 다양한 실시예에 따른, 지자계 값을 연속적인 데이터로 만들어 도시한 그래프이다.
도 8a 및 도 8b는, 본 문서에 개시된 다양한 실시예에 따른 지자계 값의 유효성을 검증하는 동작을 설명하기 위한 도면이다.
도 9는, 본 문서에 개시된 다양한 실시예에 따른 가상 마커와 가상 마커 상에 표시되는 객체를 도시한 도면이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)은 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)은, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예:스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150) 를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)이 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(388)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, or 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다.. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
이하에서 언급되는 전자 장치는 디스플레이(예: 도 1의 표시 장치(160)), 카메라(예: 도 1의 카메라 모듈(180)) 및 디스플레이 및 카메라와 동작적으로 연결되는 프로세서(예: 도 1의 프로세서(120))를 포함하는 전자 장치일 수 있다. 이러한 전자 장치는 예를 들어, 도 1의 전자 장치일 수 있다. 전자 장치는 스마트 폰 및 태블릿 PC와 같은 장치가 될 수 있으나, 이에 한정되는 것은 아니다.
도 2는, 본 문서에 개시된 다양한 실시예에 따른 실내 측위 제공 방법의 흐름도다.
다양한 실시예에 따르면, 본 문서에 개시된 실내 측위 제공 방법은 예를 들어, 도 2에 도시된 흐름도에 따라 수행될 수 있다. 도 2에 도시된 흐름도는 실내 측위 제공 방법의 일실시예에 따른 흐름도에 불과하므로 각 동작의 순서는 변경되거나 동시에 수행될 수 있다.
다양한 실시예에 따르면, 동작 210 내지 동작 300은 전자 장치(예: 도 1의 전자 장치(101)의 프로세서(예: 도 1의 프로세서(120))에서 수행되거나 무선 통신 모듈(예: 도 1의 무선 통신 모듈(192)) 및/또는 센서 모듈(예: 도 1의 센서 모듈(176) 중 적어도 하나를 이용하여 수행될 수 있다.
도 2를 참조하면, 일 실시예에 따른 실내 측위 제공 방법은, 전자 장치의 디스플레이에 증강 현실을 표시하는 동작(210), 전자 장치의 움직임에 연동되는 포인트를 증강 현실 상에 표시하는 동작(220), 증강 현실 상의 선택 지점을 인식하는 동작(230), 가이드 영역을 증강 현실 상에 표시하는 동작(240), 가이드 영역을 복수의 블록으로 분할하는 동작(250), 포인트가 가이드 영역 내에서 움직이는 동안 센서 정보를 블록에 매칭하여 저장하는 동작(260), 포인트가 가이드 영역 내에서 움직이는 동안 측정되는 무선 신호 세기 정보를 저장하는 동작(270), 지자계 값을 보정하는 동작(280), 지자계 값을 연속적인 데이터로 변환하는 동작(290) 및 지자계 값의 유효성을 검증하는 동작(300)을 포함할 수 있다. 이하에서는, 도면을 참조하여 각 동작의 실시예들에 대한 세부적인 내용을 설명하도록 한다.
도 3은, 본 문서에 개시된 다양한 실시예에 따른 전자 장치의 디스플레이에 표시되는 증강 현실과 포인트를 설명하기 위한 도면이다.
다양한 실시예에 따르면, 전자 장치(101)의 프로세서(예: 도 1의 프로세서(120))는 전자 장치(101)의 카메라(예: 도 1의 카메라 모듈(180))를 통해 촬영되는 화상을 이용하여 디스플레이(예: 도 1의 표시 장치(160))에 증강 현실(augumented reality; AR)을 표시할 수 있다(예: 도 2의 210). 증강 현실은 실제 환경에 가상의 객체(예를 들어, 사물이나 정보)를 합성하여 가상의 객체가 실제 환경에 존재하는 것처럼 표시하는 컴퓨터 그래픽 기법을 의미할 수 있다.
다양한 실시예에 따르면, 전자 장치(101)의 프로세서는 디스플레이에 표시된 증강 현실 상에 포인트(320-2)를 표시할 수 있다(예: 도 2의 220). 포인트(320-2)는 전자 장치(101)의 움직임에 연동되어 증강 현실 상에서 움직일 수 있다. 포인트(320-2)는 전자 장치(101)의 특정 지점(예: 전자 장치(101)의 중앙부 또는 전자 장치(101)의 카메라가 배치된 부분)에서 측정 영역(310-1)에 내린 수선의 발(측정 지점(320-1))과 대응되는 증강 현실 상의 특정 지점으로 정의될 수 있다. 여기서 측정 영역(310-1)은 증강 현실 상에 표시되는 가이드 영역(310-2)에 대응되는 현실 공간 상의 영역으로 이해될 수 있다. 가이드 영역(310-2)에 대한 자세한 설명은 후술하기로 한다.
예를 들어, 전자 장치(101)가 도 3의 (a)에서 A 지점에 위치한 경우, 포인트(320-2)는 도 3의 (b)와 같이 전자 장치(101)의 디스플레이에 표시될 수 있다. 전자 장치(101)가 도 3의 (a)에서 B 지점에 위치한 경우, 포인트(320-2)는 도 3의 (c)와 같이 전자 장치(101)의 디스플레이에 표시될 수 있다. 포인트(320-2)는 점과 같은 형상으로 표시될 수 있다. 포인트(320-2)의 모양과 색상은 포인트(320-2) 주변에 표시되는 객체에 따라 변경될 수 있다.
도 4는, 본 문서에 개시된 다양한 실시예에 따른 가이드 영역을 설명하기 위한 도면이다.
다양한 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 1의 프로세서(120))는 증강 현실 상에 가이드 영역(410)을 표시할 수 있다(예: 도 2의 240). 가이드 영역(410)은 증강 현실 상에 표시되는 영역을 의미할 수 있다. 예를 들어, 가이드 영역(410)은 실내 측위를 위한 가상 마커가 생성될 현실의 영역(예: 도 3의 측정 영역(310-1))에 대응되는 증강 현실 상의 영역일 수 있다. 가이드 영역(410)은 다양한 형태로 표시될 수 있다. 예를 들어, 도 4의 (a)와 같이, 가이드 영역(410)은 직사각형 영역으로 표시될 수 있다. 예를 들어, 도 4의 (b)와 같이, 가이드 영역(410)은 사각형 영역으로 표시될 수 있다. 예를 들어, 도 4의 (c)와 같이, 가이드 영역(410)은 육면체 영역으로 표시될 수 있다.
다양한 실시예에 따르면, 가이드 영역(410)은 주변 객체와 구분될 수 있도록 그 경계가 표시될 수 있다. 예를 들어, 가이드 영역(410)은 도 4에 도시된 것과 같이 경계가 선으로 표시될 수 있다. 이 밖에도 가이드 영역(410)은 증강 현실 상에서 다른 객체와 구분될 수 있는 다양한 형상으로 표시될 수 있다. 예를 들어, 가이드 영역(410)의 크기와 색상은 가이드 영역(410) 주변에 표시되는 객체에 따라 변경될 수 있다.
다양한 실시예에 따르면, 가이드 영역(410)은 사용자의 입력에 기반하여 제공될 수 있다. 전자 장치의 프로세서는 사용자가 증강 현실 상에서 선택한 지점(420)을 인식할 수 있다(예: 도 2의 230). 예를 들어, 사용자는 전자 장치의 디스플레이를 통해 증강 현실 상의 특정 지점(420)을 선택할 수 있다. 사용자는 특정 지점(420)을 일점 터치하는 방식으로 증강 현실 상의 특정 지점(420)을 선택할 수 있다. 사용자가 특정 지점(420)을 선택하면, 특정 지점(420)을 포함하는 가이드 영역(410)이 증강 현실 상에 표시될 수 있다. 예를 들어, 사용자의 선택 지점(420)을 가이드 영역(410)의 중심으로 설정하고, 미리 설정된 가이드 영역(410)의 크기에 따라 가이드 영역(410)을 표시될 수 있다. 사용자는 증강 현실 상의 특정 지점을 드래그 방식으로 지정할 수 있다. 이 경우, 가이드 영역(410)은 사용자가 드래그 한 선택 지점을 포함할 수 있다. 사용자가 드래그 한 선택 지점을 가이드 영역(410)으로 그대로 제공할 수 있고, 사용자가 드래그 한 선택 지점을 포함하는 영역을 가이드 영역(410)으로 제공할 수 있다.
이와 같이 가이드 영역(410)이 지정되면, 프로세서는 증강 현실 상의 가이드 영역(410)이 표시된 부분을 증강 현실의 좌표로 인식할 수 있다. 예를 들어, 프로세서는 사용자의 선택 지점을 기준으로 가이드 영역(410)을 증강 현실의 좌표로 인식할 수 있다. 전자 장치의 프로세서는 증강 현실 내의 객체의 위치를 상대적으로 인식할 수 있다. 따라서, 프로세서는, 특정 지점을 기준으로 증강 현실 내에 표시된 객체의 증강 현실 좌표를 인식할 수 있다.
도 5a 내지 도 5c는, 본 문서에 개시된 다양한 실시예에 따른 가이드 영역의 복수의 블록에 대응하는 정보를 설명하기 위한 도면이고, 도 5d는, 본 문서에 개시된 다양한 실시예에 따른 복수의 블록을 지나가는 포인트를 설명하기 위한 도면이다.
다양한 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 1의 프로세서(120))는 표시된 가이드 영역(500)을 복수의 블록(510)으로 분할할 수 있다(예: 도 2의 250). 다양한 실시예에 따르면 도 5a 내지 도 5c에 도시된 것과 같이, 전자 장치의 프로세서는 디스플레이(예: 도 1의 표시 장치(160))에 표시되는 가이드 영역(500)을 복수의 블록(510)으로 분할하여 표시할 수 있다. 가이드 영역(500)은 미리 설정된 수의 블록(510)으로 분할될 수 있다. 예를 들어, 도 5b에 도시된 것과 같이, 2 차원으로 표시되는 가이드 영역(500)의 면적이 1 m2 일 때, 블록(510) 하나의 면적을 100 cm2로 설정하는 경우 가이드 영역(500)은 10X10의 블록(510)으로 분할될 수 있다. 이 밖에도 블록(510)의 개수는 다양하게 변경될 수 있다. 프로세서는 가이드 영역(500)을 증강 현실의 좌표로 인식할 수 있으므로 가이드 영역(500)에 포함된 복수의 블록(510)의 좌표도 인식할 수 있다. 도 5a 내지 도 5c에는 가이드 영역(500)이 복수의 블록(510)으로 분할된 상태를 시각적으로 표시하였으나, 가이드 영역(500)에 복수의 블록(510)을 표시하지 않을 수도 있다.
다양한 실시예에 따르면, 도 5d에 도시된 것과 같이, 사용자는 포인트(530)가 가이드 영역(500) 내에서 움직이도록 전자 장치(101)를 파지한 상태에서 움직일 수 있다. 도 5d에서는 전자 장치(101)가 가이드 영역(500)과 대응되는 현실의 공간에서 움직이는 것을 설명하기 위하여 가이드 영역(500) 위에 전자 장치(101)를 별도로 도시하였으나, 가이드 영역(500)과 포인트(530)는 전자 장치(101)의 디스플레이에 표시되는 증강 현실 상에 표시될 수 있다.
디스플레이에 표시되는 가이드 영역(500)과 포인트(530)는 사용자가 포인트(530)를 가이드 영역(500) 내에서 움직이도록 유도할 수 있다. 사용자는 가이드 영역(500) 내의 포인트(530)의 위치를 확인함으로써, 포인트(530)가 가이드 영역(500)을 벗어나지 않도록 전자 장치(101)를 움직일 수 있다. 다양한 실시예에 따르면, 전자 장치(101)는 포인트(530)가 움직인 경로를 선으로 표시하여 가이드 영역(500) 내에서 포인트(530)가 움직이도록 유도할 수 있다. 다양한 실시예에 따르면, 프로세서는 가이드 영역(500)에 대한 포인트(530)의 위치를 확인하여 포인트(530)가 움직일 방향(예: 전진, 회전)을 디스플레이에 화살표와 같은 UI (user interface) 또는 텍스트로 표시하거나 음성으로 포인트(530)가 움직일 방향을 지시할 수 있다. 다양한 실시예에 따르면, 프로세서는 전자 장치(101)에 포함된 센서를 통해 전자 장치의 자세를 실시간으로 확인할 수 있다. 프로세서는 가이드 영역(500)과 전자 장치(101)가 평행을 이룬 상태로 유지되도록 가이드 영역(500)에 대한 전자 장치(101)의 방향을 디스플레이에 화살표와 같은 UI 또는 텍스트로 표시하거나 음성으로 전자 장치(101)의 자세를 지시할 수 있다.
다양한 실시예에 따르면, 포인트(530)가 가이드 영역(500)에서 움직이는 동안 프로세서는 데이터 테이블(520)을 생성하고 전자 장치(101)의 메모리(예: 도 1의 메모리(130))에 저장할 수 있다. 데이터 테이블(520)은 복수의 블록(510)에 대응하는 정보들을 포함할 수 있다. 예를 들어, 데이터 테이블(520)은 포인트(530)가 블록(510)의 식별 번호(522), 블록(510)을 지나긴 시점(Timestamp)(521), 지자계 센서(magnetometer)에서 측정된 지자계 값(value of magnetometer)(523)을 포함하는 센서 정보(526) 및 무선 신호 세기 정보(529)를 포함할 수 있다. 다양한 실시예에 따르면, 데이터 테이블(520)은 블록(510)의 좌표 정보를 더 포함할 수 있다.
다양한 실시예에 따르면, 프로세서는 복수의 블록(510)의 좌표와 포인트(530)가 지나가는 지점의 좌표 정보를 비교하여 포인트(530)가 가이드 영역(500)의 복수의 블록(510) 중 어떤 블록을 지나가고 있는지 확인할 수 있다. 프로세서는 포인트(530)가 특정 블록 내에서 움직이는 동안 측정되는 지자계 값을 저장하고(예: 도 2의 260) 저장된 지자계 값의 3축 방향에 대한 대푯 값(예: 도 5a의 Mag_X4, Mag_Y4, Mag_Z4)을 계산할 수 있다. 지자계 값은 전자 장치의 지자기 센서로부터 측정되는 측정 값일 수 있다. 지자기 센서는 자북에 대한 전자 장치의 X, Y 및 Z 축의 지자계 값을 세기로 출력하는 센서일 수 있다. 다양한 실시예에 따르면, 프로세서는 포인트(530)가 특정 블록 내에서 움직이는 동안 측정된 지자계 값의 중간 값 또는 평균 값을 그 블록(510)의 지자계 값의 대푯 값으로 결정할 수 있다. 이 밖에도 프로세서는, 다양한 대푯 값 산출 방법으로 블록(510) 내에서 움직이는 동안 측정된 지자계 값을 대푯 값을 결정할 수 있다. 프로세서는 위와 같은 방법으로 결정된 지자계 값의 대푯 값을 해당 블록의 데이터 테이블(520)에 저장할 수 있다. 이 밖에 데이터 테이블(520)에 저장되는 다른 값(예: 가속도 센서에서 측정된 값(524), 자이로 센서에서 측정된 값(525), 무선 신호 세기 정보(529))들도 블록(510) 내에서 움직이는 동안 측정된 값의 대표 값으로 저장될 수 있다.
다양한 실시예에 따르면, 프로세서는 포인트가 특정 블록을 지나갈 때, 무선 신호 세기 정보(529)를 해당 블록의 데이터 테이블(520)에 저장할 수 있다(예: 도 2의 270). 일 실시에에서, 무선 신호는 제 1 네트워크(예: 블루투스, WiFi 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(예: 셀룰러 네트워크와 같은 원거리 통신 네트워크) 중 적어도 하나의 통신 네트워크에 따른 신호를 무선 통신 모듈(예: 도 1의 무선 통신 모듈(192))를 통해 측정한 신호의 세기 값일 수 있다. 예를 들어, 도 5a 내지 도 5c에 도시된 것과 같이, 데이터 테이블(520)에 WiFi 시그널 세기(527)와 셀룰러 시그널 세기(528)를 저장할 수 있다. 이러한 무선 신호 세기 정보(529)는 가이드 영역(500) 내의 복수의 블록(510) 중 적어도 하나의 블록에 매칭된 데이터 테이블에 저장될 수 있다. 예를 들어, 무선 신호 세기 정보(529)는 가이드 영역(500) 내의 복수의 블록(510) 중 하나의 블록에 대응되는 데이터 테이블에만 저장될 수 있다. 예를 들어, 포인트(530)가 처음으로 지나가는 블록에 대응되는 데이터 테이블에 무선 신호 세기 정보(529)를 저장할 수 있다. 다양한 실시예에 따르면, 복수의 중계기에서 무선 신호가 송, 수신되는 경우에는 각 중계기의 무선 신호 세기 정보(529)를 구분하여 저장할 수 있다.
다양한 실시예에 따르면, 프로세서는 포인트(530)가 가이드 영역(500) 내에서 움직이는 동안 센서 정보(526)에 전자 장치의 가속도 센서 및 자이로 센서에서 측정된 값을 추가하여 데이터 테이블(520)에 저장할 수 있다. 예를 들어, 가속도 값(524) 및 자이로 값(525)가 데이터 테이블(520)에 저장될 수 있다.
다양한 실시예에 따르면, 도 5d에 도시된 것과 같이, 프로세서는 포인트(530)가 가이드 영역(500) 내에서 계속적으로 움직일 수 있도록 측정이 완료된 블록(510-1)에 대해서는 측정이 필요한 블록(510-2)과 다르게 표시할 수 있다. 예를 들어, 측정이 완료된 블록(510-1)은 녹색 음영으로 표시하고 측정이 필요한 블록(510-2)은 음영을 표시하지 않을 수 있다. 사용자는 측정이 완료된 블록(510-1)과 측정이 필요한 블록(510-2)을 구분하여 인식할 수 있으므로 측정이 필요한 블록(510-2)에 포인트가 위치되도록 전자 장치를 이동시킬 수 있다. 이와 같은 방법으로 가이드 영역(500) 내의 모든 블록(510)에서 지자계 값을 포함하는 정보가 측정될 수 있다. 다양한 실시예에 따르면, 포인트(530)가 가이드 영역(500) 내에서 움직이며 측정이 완료된 경로를 선으로 표시하여 가이드 영역(500) 내에서 측정이 완료된 영역(또는, 경로)을 나타낼 수도 있다.
다양한 실시예에 따르면, 가이드 영역(500)을 복수의 블록(510)으로 나누는 동작은 사용자가 가이드 영역(500) 내에서 포인트를 충분히 움직인 뒤 수행될 수 있다. 이 경우 복수의 블록(510)의 숫자는 사용자가 포인트를 가이드 영역(500) 내에서 움직이는 속도에 따라 결정될 수 있다. 사용자가 가이드 영역(500) 내에서 포인트를 느리게 움직일수록 가이드 영역(500)은 많은 블록(510)을 포함할 수 있다. 사용자가 가이드 영역(500) 내에서 포인트를 적절한 속도로 움직일 수 있도록 프로세서는 포인트의 움직임 속도가 빠르고 느림을 디스플레이에 표시할 수 있다. 이 경우, 블록(510)이 나누어지기 전에 측정된 센서 정보(526) 및 무선 신호 세기 정보(529)는 나누어진 블록(510)에 대응되는 데이터 테이블(520)에 각각 저장될 수 있다.
다양한 실시에에 따르면, 포인트(530)의 이동 속도에 따라 블록(510)에서 측정되는 지자계 값이 충분하지 않은 경우에는 해당 블록을 측정이 정상적으로 완료된 블록과 다르게 표시하여 사용자로 하여금 측정이 완료되지 않은 블록을 확인할 수 있도록 할 수 있다.
도 6a 및 도 6b는, 본 문서에 개시된 다양한 실시예에 따른 지자계 값을 보정하는 방법을 설명하기 위한 도면이다.
다양한 실시예에 따르면, 프로세서(예: 도 1의 프로세서(120))는 데이터 테이블(예: 도 5a 내지 도 5c의 데이터 테이블(520))에 저장된 정보 중 전자 장치(101)의 방향에 의존적인 정보에 대해서 보정을 수행할 수 있다(예: 도 2의 280). 예를 들어, 데이터 테이블에 저장된 정보 중 측정 당시 전자 장치(101)의 방향에 따라 다른 값을 출력하는 정보를 전자 장치(101)의 방향에 의존적인 정보로 이해할 수 있다. 예를 들어, 데이터 테이블에 저장된 정보 중 지자계 값(예: 도 5a 내지 도 5c의 지자계 값(523))는 측정 당시 전자 장치(101)의 방향에 따라 다른 값을 출력하므로 전자 장치(101)의 방향에 의존적이라고 볼 수 있다.
다양한 실시예에 따르면, 프로세서는 기준 방향과 지자계 값 측정 시점에서 전자 장치(101)의 방향을 이용하여 보정을 수행할 수 있다. 다양한 실시예에 따르면, 기준 방향은 가이드 영역과 전자 장치(101)가 수평인 상태에서 전자 장치(101)의 방향을 의미할 수 있다.
다양한 실시예에 따르면, 지자계 값을 보정하는 동작은 제1 보정 동작과 제2 보정 동작을 포함할 수 있다.
이하에서 설명되는 측정 영역(660)은 증강 현실 상에 표시되는 가이드 영역(예: 도 4의 가이드 영역(410))과 대응되는 현실의 영역을 의미할 수 있다. 이하에서 설명되는 측정 지점(620)은 증강 현실 상에 표시되는 포인트(예: 도 4의 포인트(420))와 대응되는 현실의 특정 지점을 의미할 수 있다. 측정 지점(620)은 전자 장치의 특정 지점(예: 전자 장치의 중앙부 또는 카메라가 설치된 부분)에서 측정 영역(660)에 내린 수선의 발로 정의될 수 있다. 이하에서 설명되는 대향 지점(630)은 전자 장치(101)의 대향 방향과 측정 영역(660)이 만나는 지점을 의미할 수 있다.
다양한 실시예에 따르면, 도 6a에 도시된 것과 같이, 제1 보정 동작은, 전자 장치(101)의 특정 지점(예: 전자 장치의 중앙부 또는 카메라가 설치된 부분)에서 대향 지점(630)를 지나는 제2 벡터(631)의 방향이 전자 장치(101)의 특정 지점(예: 전자 장치의 중앙부 또는 카메라가 설치된 부분)에서 측정 지점(620)을 지나가는 제1 벡터(621)의 방향과 일치되도록 수행될 수 있다. 일 실시예에 따르면, 대향 지점(630)은 전자 장치(101)가 향하는 방향에 연동되므로, 전자 장치(101)의 "눰藪* 의존적인 지점일 수 있다. 따라서, 제2 벡터(631)는 지자계 값 측정 시점에서 전자 장치(101)의 방향을 의미할 수 있다. 제2 벡터(631)의 방향을 제1 벡터(621)의 방향과 일치되도록 보정하는 것은 전자 장치(101)가 측정 영역(660)과 평행한 상태가 되도록 보정하는 것일 수 있다. 제2 벡터(631)의 방향을 제1 벡터(621)의 방향과 일치시키는 행렬 식을 지자계 값에 적용하게 되면 지자계 값은 전자 장치(101)가 측정 영역(660)과 평행한 상태에서 측정된 값으로 보정될 수 있다.
다양한 실시예에 따르면, 도 6b에 도시된 것과 같이, 제2 보정 동작은, 전자 장치(101)의 연장 방향(예: 전자 장치(101)의 세로 방향)에 해당하는 제4 벡터(651)의 방향이 측정 영역(660)의 일 방향(예: 측정 영역(660)의 가로 방향, 도 6b의 X 축 방향)에 해당하는 제3 벡터(641)의 방향과 일치되도록 수행될 수 있다. 제3 벡터(641)는 가이드 영역(660)에 따라 결정되고, 제4 벡터(651)는 지자계 값 측정 시점에서 전자 장치(101)의 자세에 따라 결정되므로 제4 벡터(651)의 방향을 제3 벡터(641)의 방향에 일치시키도록 보정을 수행할 수 있다. 제4 벡터(651)를 제3 벡터(641)로 일치시키는 행렬 식을 지자계 값에 적용하게 되면 지자계 값은 전자 장치(101)의 연장 방향이 측정 영역(660)의 일 방향과 평행하게 된 상태에서 측정된 값으로 보정될 수 있다.
다양한 실시예에 따르면, 제1 보정 동작으로 측정 영역(660)과 전자 장치(101)가 평행한 상태로 보정되고, 제2보정 동작으로 측정 영역(660)의 일 방향과 전자 장치(101)의 연장 방향이 평행한 상태로 보정될 수 있다. 제1 보정 동작 및 제2 보정 동작을 통해 측정 영역(660)에 대한 전자 장치(101)의 방향이 고정될 수 있다. 이와 같이, 제1 보정 동작 및 제2 보정 동작을 수행하면 데이터 테이블(예: 도 5a 내지 도 5c의 데이터 테이블(520))에 저장된 지자계 값은 측정 영역(660)에 대한 전자 장치(101)의 방향이 모두 동일한 상태에서 측정된 것과 실질적으로 동일하도록 보정될 수 있다. 따라서, 측정 시점의 방향에 따라 가변될 수 있는 지자계 값을 동일한 방향에서 측정된 것으로 보정할 수 있다.
다양한 실시예에 따르면, 전자 장치의 프로세서는 데이터 테이블에 저장된 가속도 값 및 자이로 값을 이용하여 해당 데이터 테이블에 함께 저장된 지자계 값을 보정할 수 있다. 가속도 값 및 자이로 값은 측정 영역(660)내에서 움직이는 전자 장치의 자세 정보를 의미할 수 있다. 따라서, 가속도 값 및 자이로 값을 이용하여 전자 장치의 자세가 측정 영역(660)에 대하여 동일하게 되도록 할 수 있고, 이를 통해 지자계 값을 보정할 수 있다. 다양한 실시예에 따르면 가속도 값 및 자이로 값을 이용한 지자계 값 보정은 앞서 설명한 제1 보정 동작 및 제2 보정 동작을 보완하기 위해 활용될 수 있다. 예를 들어, 증강 현실 좌표의 오류로 인하여 제1 보정 동작 및 제2 보정 동작이 올바르게 수행되지 않을 수 있다. 이러한 경우, 가속도 값 및 자이로 값을 통한 전자 장치의 자세 정보를 이용하여 지자계 값을 보정할 수 있다.
도 7은, 본 문서에 개시된 다양한 실시예에 따른, 지자계 값을 연속적인 데이터로 만들어 도시한 그래프이다.
다양한 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 1의 프로세서(120))는 복수의 블록에 각각 대응되는 데이터 테이블(예: 도 5a 내지 도 5c의 데이터 테이블(520))에 포함된 지자계 값을 이용하여 복수의 블록 사이의 지자계 값을 도출할 수 있다(예: 도 2의 290). 예를 들어, 프로세서는 인접한 블록의 지자계 값을 보간법(interpolation) 또는 커브 피팅(curve fitting)과 같은 기법으로 처리하여 인접한 블록 사이의 지자계 값을 도출할 수 있다. 이를 통해, 도 7에 도시된 것과 같이, 가이드 영역 내의 연속적인 지자계 값을 도출할 수 있다. 도 7에 도시된 그래프의 X 축과 Y 축은 가이드 영역의 X, Y 좌표를 의미하고, Z 축은 X 방향에 대한 지자계 값(예: 도 5a 내지 도 5c의 Mag_X)을 의미할 수 있다.
다양한 실시예에 따르면, 프로세서는 복수에 대응되는 데이터 테이블에 저장된 지자계 값이 아닌, 복수의 지점에서 측정된 지자계 값을 이용하여 가이드 영역 내의 연속적인 지자계 값을 도출할 수도 있다. 앞에서는 데이터 테이블에 지자계 값의 대푯 값을 저장하는 것으로 설명하였으나, 프로세서는 복수의 지점에서 측정되는 지자계 값을 메모리에 저장하고, 메모리에 저장된 지자계 값을 이용하여 연속적인 지자계 값을 도출할 수 있다.
도 8a 및 도 8b는, 본 문서에 개시된 다양한 실시예에 따른 지자계 값의 유효성을 검증하는 동작을 설명하기 위한 도면이다.
다양한 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 1의 프로세서(120))는 지자계 값의 유효성을 검증할 수 있다(예: 도 2의 300). 지자계 값의 유효성 검증은 포인트(830)가 가이드 영역(800)을 움직이는 동안 측정되는 지자계 값에 대하여 수행될 수 있고, 복수의 블록(810)에 매칭된 데이터 테이블(예: 도 5a 내지 도 5c의 데이터 테이블(520))에 지자계 값이 모두 저장된 이후에 수행될 수도 있다.
먼저 도 8a를 참조하여 지자계 값이 모두 저장된 이후에 유효성을 검증하는 방법에 대해 설명한다.
다양한 실시예에 따르면, 예를 들어, 도 8a은 설명의 편의를 위해, 2 차원 가이드 영역(800)의 좌표를 X 축 및 Y 축에 표시하고, Z 축에 X, Y 및 Z 방향의 지자계 값 중 하나(예: X 방향의 지자계 값(예: 도 5a의 Mag_X))를 표시하여 나타낸 그래프이다. 예를 들어, 프로세서는 그래프의 변곡점의 개수가 설정된 개수 이하인 경우 단순한 그래프로 판단하여 해당 지자계 값의 유효성이 없는 것으로 판단할 수 있다. 도 8a의 (a)는 도 8a의 (b) 보다 복잡한 모양의 그래프이므로 도 8a의 (a)는 유효성이 있는 것으로 판단하고, 도 8a의 (b)는 유효성이 없는 것으로 판단할 수 있다.
다양한 실시예에 따르면, 프로세서는 현재 가이드 영역(800)에 대응되는 측정 영역에서 측정된 지자계 값들과 다른 측정 영역에서 측정된 지자계 값들을 비교하여 지자계 값의 유효성을 검증할 수 있다. 예를 들어, 현재 측정 영역에서 측정된 지자계 값들에 따른 그래프와 다른 측정 영역에서 측정된 지자계 값들에 따른 그래프의 유사성을 비교함으로써, 유효성을 검증할 수 있다. 지자계 값들에 따른 그래프는 예를 들어, 도 7 또는 도 8a에 도시된 형태의 그래프일 수 있다. 또 다른 예로, 다른 측정 영역에서 측정된 지자계 값과 현재 측정 영역에서 측정된 지자계 값들을 오름차순으로 배열한 뒤 그 차이를 비교하여 지자계 값의 유효성을 검증할 수 있다.
지자계 값의 유효성이 없는 것으로 판단되는 경우에 전자 장치는 지자계 값의 재측정이 필요함을 다양한 방법으로 사용자에게 알릴 수 있다. 예를 들어, 디스플레이(예: 도 1의 표시 장치(160))에 재측정이 필요하다는 문구를 표시하거나 진동 또는 소리를 이용하여 사용자에게 재측정이 필요한 것을 알릴 수 있다.
다음으로, 도 8b를 참조하여, 포인트(830)가 가이드 영역(800)을 움직이는 동안 측정되는 지자계 값에 대해 유효성을 검증하는 방법을 설명한다. 도 8b의 경우 설명의 편의를 위하여 가이드 영역(800) 위에 전자 장치(101)를 도시하였으나, 가이드 영역(800) 및 포인트(830)는 증강 현실 상에 표시되는 것으로써, 전자 장치의 디스플레이에 표시될 수 있다.
다양한 실시예에 따르면, 프로세서는 전자 장치의 지자계 센서가 지자계 값을 측정할 때 발생하는 노이즈와 지자계 값을 비교하여 지자계 값의 유효성을 검증할 수 있다. 예를 들어, 인접한 블록 사이의 지자계 값의 차이가 노이즈의 2 배를 초과하는 경우에는 지자계 값의 유효성이 없는 것으로 판단할 수 있다.
위와 같은 검증은 포인트(830)가 가이드 영역(800)을 움직이는 동안 측정되는 지자계 값에 대하여 계속적으로 수행될 수 있다. 전자 장치는 유효성이 없는 것으로 판단된 지자계 값이 측정된 블록(810-2)을 유효성이 있는 것으로 판단된 블록(810-1)과 다르게 표시할 수 있다. 예를 들어, 전자 장치는 유효성이 있는 것으로 판단된 블록(810-1)은 녹색 음영으로 표시하고, 유효성이 없는 것으로 판단된 블록(810-2)은 적색 음영으로 표시할 수 있다.
본 문서에 개시된 다양한 실시예에 따르면 특정 영역의 복수의 지점에서 다양한 정보를 포함하는 데이터 테이블(예: 도 5a 내지 도 5c의 데이터 테이블(520))을 생성할 수 있다. 특정 영역과 그 특정 영역에서 생성된 데이터 테이블 또는 데이터 테이블의 집합을 가상 마커로 정의할 수 있다. 가상 마커는 실내 측위에 활용될 수 있다. 예를 들어, 사용자의 전자 장치는 무선 신호 세기에 기반하여 전자 장치가 가상 마커와 인접한 상태인지 여부를 확인할 수 있다. 가상 마커에 저장된 무선 신호 세기와 현재 전자 장치의 무선 신호 세기를 비교하여 설정된 범위 이내인 경우에 전자 장치는 해당 가상 마커와 전자 장치가 인접한 것으로 판단할 수 있다. 다음으로, 전자 장치는 지자계 센서에서 측정되는 지가계 값과 가상 마커에 저장된 지자계 값을 비교할 수 있다. 전자 장치의 움직임에 따른 지자계 값 변화의 패턴과 가상 마커에 저장된 지자계 값의 패턴이 설정된 범위 이내에서 일치하는 경우, 전자 장치는 사용자가 가상 마커를 생성된 지점에 도달한 것으로 판단할 수 있다.
본 문서에 개시된 다양한 실시예에 따르면, 도시하지 않았으나, 전자 장치(101)는 생성된 가상 마커를 통신 모듈(예: 도 1의 통신 모듈(190))을 통해 서버(예: 도 1의 서버(108)) 또는 다른 전자 장치(예: 도 1의 전자 장치(102)로 전송할 수 있다. 일 실시예에서, 전자 장치는 다른 전자 장치에서 생성되거나 서버에 저장된 가상 마커를 통신 모듈을 통해 수신하여 저장할 수도 있다. 전자 장치는 저장된 가상 마커를 이용하여 지정된 장소에서 실내 측위를 제공할 수 있다. 본 문서에 개시된 다양한 실시예에 따른 실내 측위 제공 방법은 실내 측위를 위한 별도의 장비 없이 특정 지점에 사용자가 도달했는지 여부를 확인할 수 있는 가상 마커를 손쉽게 생성할 수 있도록 한다.
도 9는, 본 문서에 개시된 다양한 실시예에 따른 가상 마커와 가상 마커 상에 표시되는 객체를 도시한 도면이다.
다양한 실시예에 따르면, 전자 장치(101)는 가상 마커 생성을 위한 동작이 수행되는 동안 카메라(예: 도 1의 카메라 모듈(180))를 통해 촬영된 이미지를 가상 마커에 매칭시켜 저장할 수 있다. 추후 사용자가 증강 현실을 통해 생성된 가상 마커를 인식하는 과정에서 이미지 분석을 통해 가상 마커의 생성 지점이 증강 현실 상에 표시될 수 있다.
다양한 실시예에 따르면, 프로세서(예: 도 1의 프로세서(120))는 설정된 UI(900)를 이용하여 가상 마커의 위치를 증강 현실 상에 표시할 수 있다. 예를 들어, 설정된 UI(900)는 음영, 색깔, 또는 화살표 이미지와 같은 시각적 UI를 포함할 수 있다. 일 실시예에서, 전자 장치(101)가 복수의 가상 마커들의 위치를 증강 현실 상에 표시할 때, 복수의 가상 마커들의 위치 각각에 대응되도록 설정된 UI(900)가 표시될 수 있다.
다양한 실시예에 따르면, 프로세서는 가상 마커에 객체 데이터를 포함시켜 저장할 수 있다. 사용자 전자 장치(101)에 표시되는 증강 현실 상에 가상 마커에 저장된 객체 데이터를 이용하여 객체(910)를 증강 현실 상에 표시할 수 있다. 객체는 예를 들어, 상점의 정보를 표시할 수 있는 간판, 메뉴판 및 마스코트와 같은 물체일 수 있다.
다양한 실시예에 따르면, 가상 마커는 다양한 방법으로 증강 현실 상에 표시될 수 있다. 예를 들어, 프로세서는 가상 마커가 존재하는 지점을 설정된 UI(900) 또는 객체(910) 중 적어도 하나를 이용하여 증강 현실 상에 표시할 수 있다. 일 실시예에서, 가상 마커의 위치에 대응되는 지점에 객체(910) 만을 표시할 수 있다. 또한, 복수의 가상 마커가 존재하는 경우에는 특정 가상 마커를 증강 현실 상에 표시하지 않을 수 있다. 예를 들어, 증강 현실 화면의 최외곽 부분에 위치하게 되는 가상마커는 표시하지 않을 수 있다.
다양한 실시예에 따르면, 프로세서는 설정된 UI(900) 및/또는 객체(910)중 적어도 하나를 통하여 사용자 입력을 수신할 수 있다. 예를 들어, 프로세서는 디스플레이(예: 도 1의 표시 장치(160))에 표시된 설정된 UI(900) 및/또는 객체(910)의 위치에 대응하는 사용자 터치 입력을 수신할 수 있다. 프로세서는 사용자 입력을 수신하면, 가상 마커에 매핑된 기능을 수행할 수 있다. 예를 들어, 상점에서 카운터 위치의 가상 마커에 저장된 객체(910)(예를 들어, 쿠폰 형상의 이미지)데이터가 저장된 가상 마커의 경우, 해당 상점의 쿠폰을 다운로드 받는 동작이 해당 가상 마커에 맵핑될 수 있다. 사용자가 증강 현실 상에서 쿠폰 형상의 객체를 터치하면,, 프로세서(120)는 서버(예: 도 1의 서버(108))로부터 상점에서 사용 가능한 쿠폰을 다운로드 받는 동작을 수행할 수 있다.
본 문서에 개시된 다양한 실시예에 따른 전자 장치는, 디스플레이, 카메라 및 상기 디스플레이 및 카메라와 동작적으로 연결된 프로세서를 포함할 수 있고, 상기 프로세서는, 상기 카메라로 촬영된 화상을 기반으로 증강 현실을 상기 디스플레이에 표시할 수 있고, 상기 디스플레이에 상기 전자 장치의 움직임에 연동하여 상기 증강 현실 상에서 움직이는 포인트를 표시할 수 있고, 상기 증강 현실 상에서 선택된 지점을 인식할 수 있고, 상기 포인트가 특정 영역 내에서 움직이도록 상기 선택된 지점을 포함하는 가이드 영역을 상기 증강 현실 상에 표시할 수 있고, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 측정되는 지자계 값을 포함하는 센서 정보를 저장할 수 있고, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 측정되는 무선 신호 세기 정보를 저장할 수 있고, 상기 센서 정보에 포함된 지자계 값을 기준 방향과 상기 지자계 값의 측정 시점에서 상기 전자 장치의 방향을 이용하여 보정할 수 있다.
또한, 상기 프로세서는, 상기 가이드 영역을 복수의 블록으로 분할할 수 있고, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 상기 포인트가 지나가는 블록에서 측정되는 지자계 값을 포함하는 센서 정보를 해당 블록에 매칭시켜 저장할 수 있고, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 상기 포인트가 지나가는 복수의 블록 중 적어도 하나에서 측정되는 무선 신호 세기 정보를 저장할 수 있다.
또한, 상기 프로세서는, 상기 지자계 값이 상기 가이드 영역 내에서 연속적인 데이터가 되도록 상기 복수의 블록에 대응하는 지자계 값을 이용하여 상기 복수의 블록 사이의 지자계 값을 도출할 수 있다.
또한, 상기 프로세서는, 상기 센서 정보에 포함된 지자계 값의 유효성을 검증할 수 있고, 상기 지자계 값의 유효성에 기반하여 상기 센서 정보의 재측정을 요구할 수 있다.
또한, 상기 프로세서는, 상기 지자계 값을 상기 가이드 영역과 다른 가이드 영역에서 측정된 지자계 값과 비교하여 상기 지자계 값의 유효성을 검증할 수 있다.
또한, 상기 프로세서는, 상기 지자계 값 측정 시 발생하는 노이즈와 상기 지자계 값을 비교하여 상기 지자계 값의 유효성을 검증할 수 있다.
또한, 상기 프로세서는, 상기 복수의 블록에 대응하는 지자계 값의 그래프 모양에 기반하여 상기 지자계 값의 유효성을 검증할 수 있다.
또한, 상기 기준 방향은, 상기 가이드 영역에 대응되는 측정 영역에 대하여 상기 전자 장치가 수평인 상태에서 상기 전자 장치의 방향을 의미할 수 있다.
또한, 상기 프로세서가 수행하는 상기 지자계 값의 보정은, 제1 보정 및 제2 보정을 포함할 수 있고, 상기 제1 보정은, 상기 지자계 값 측정 시 상기 전자 장치가 향하는 방향이 상기 전자 장치의 특정 지점에서 상기 측정 영역을 수직하게 지나가는 벡터의 방향과 일치되도록 수행될 수 있고, 상기 제2 보정은, 상기 지자계 값 측정 시 상기 전자 장치의 연장 방향이 상기 측정 영역의 일 방향에 일치되도록 수행될 수 있다.
또한, 상기 센서 정보는, 상기 전자 장치의 가속도 센서에서 측정된 가속도 값 및 상기 전자 장치의 자이로 센서에서 측정된 자이로 값을 더 포함할 수 있다.
본 문서에 개시된 다양한 실시예에 따른 실내 측위 제공 방법은, 전자 장치의 움직임에 연동하여 증강 현실 상에서 움직이는 포인트를 표시하는 동작, 상기 증강 현실 상에서 선택 지점을 인식하는 동작, 상기 포인트가 특정 영역 내에서 움직이도록 상기 선택 지점을 포함하는 가이드 영역을 상기 증강 현실 상에 표시하는 동작, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 상기 포인트가 지나가는 블록에서 측정되는 지자계 값을 포함하는 센서 정보를 저장하는 동작, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 측정되는 무선 신호 세기 정보를 저장하는 동작 및 상기 센서 정보에 포함된 지자계 값을 기준 방향과 상기 지자계 값의 측정 시점에서 상기 전자 장치의 방향을 이용하여 보정하는 동작을 포함할 수 있다.
또한, 상기 가이드 영역을 복수의 블록으로 분할하는 동작을 더 포함할 수 있고, 상기 센서 정보를 저장하는 동작은, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 상기 포인트가 지나가는 블록에서 측정되는 지자계 값을 포함하는 센서 정보블 해당 블록에 매칭시켜 저장하는 동작일 수 있고, 상기 무선 신호 세기 정보를 저장하는 동작은, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 상기 포인트가 지나가는 블록 중 적어도 하나에서 측정되는 무선 신호 세기 정보를 저장하는 동작일 수 있다.
또한, 상기 지자계 값이 상기 가이드 영역 내에서 연속적인 데이터가 되도록 상기복수의 블록에 대응하는 지자계 값을 이용하여 상기 복수의 블록 사이의 지자계 값을 도출하는 동작을 더 포함할 수 있다.
또한, 상기 복수의 블록에 대응하는 지자계 값의 유효성을 검증하는 동작 및 상기 지자계 값의 유효성에 기반하여 상기 센서 정보 재측정을 요구하는 동작을 더 포함할 수 있다.
또한, 상기 지자계 값의 유효성을 검증하는 동작은, 상기 지자계 값을 상기 가이드 영역과 다른 가이드 영역에서 측정된 지자계 값과 비교하여 수행될 수 있다.
또한, 상기 지자계 값의 유효성을 검증하는 동작은, 상기 지자계 값 측정 시 발생하는 노이즈와 상기 지자계 값을 비교하여 수행될 수 있다.
또한, 상기 지자계 값의 유효성을 검증하는 동작은, 상기 복수의 블록에 대응하는 지자계 값의 그래프 모양에 기반하여 수행될 수 있다.
또한, 상기 지자계 값을 보정하는 동작에서, 상기 기준 방향은, 상기 가이드 영역에 대응되는 측정 영역에 대하여 상기 전자 장치가 수평인 상태에서 상기 전자 장치의 방향을 의미할 수 있다.
또한, 상기 지자계 값을 보정하는 동작은, 제1 보정 동작 및 제2 보정 동작을 포함할 수 있고, 상기 제1 보정 동작은, 상기 지자계 값 측정 시 상기 전자 장치가 향하는 방향이 상기 전자 장치의 특정 지점에서 상기 측정 영역을 수직하게 지나가는 벡터의 방향과 일치되도록 수행될 수 있고, 상기 제2 보정 동작은, 상기 지자계 값 측정 시 상기 전자 장치의 연장 방향이 상기 측정 영역의 일 방향에 일치되도록 수행될 수 있다.
또한, 상기 센서 정보는, 상기 전자 장치의 가속도 센서에서 측정된 가속도 값 및 상기 전자 장치의 자이로 센서에서 측정된 자이로 값을 더 포함할 수 있다.
그리고 본 명세서와 도면에 개시된 본 문서에 개시된 실시 예들은 본 문서에 개시된 실시 예에 따른 기술 내용을 쉽게 설명하고 본 문서에 개시된 실시 예의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 문서에 개시된 실시 예의 범위를 한정하고자 하는 것은 아니다. 따라서 본 문서에 개시된 다양한 실시 예의 범위는 여기에 개시된 실시 예들 이외에도 본 문서에 개시된 다양한 실시 예의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 문서에 개시된 다양한 실시 예의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치에 있어서,
    디스플레이;
    카메라; 및
    상기 디스플레이 및 카메라와 작동적(operatively)으로 연결된 프로세서;를 포함하고,
    상기 프로세서는,
    상기 카메라로 촬영된 화상을 기반으로 증강 현실을 상기 디스플레이에 표시하고,
    상기 디스플레이에 상기 전자 장치의 움직임에 연동하여 상기 증강 현실 상에서 움직이는 포인트를 표시하고,
    상기 증강 현실 상에서 선택된 지점을 인식하고,
    상기 포인트가 특정 영역 내에서 움직이도록 상기 선택된 지점을 포함하는 가이드 영역을 상기 증강 현실 상에 표시하고,
    상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 측정되는 지자계 값을 포함하는 센서 정보를 저장하고,
    상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 측정되는 무선 신호 세기 정보를 저장하고,
    상기 센서 정보에 포함된 지자계 값을 기준 방향과 상기 지자계 값의 측정 시점에서 상기 전자 장치의 방향을 이용하여 보정하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 가이드 영역을 복수의 블록으로 분할하고,
    상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 상기 포인트가 지나가는 블록에서 측정되는 지자계 값을 포함하는 센서 정보를 해당 블록에 매칭시켜 저장하고,
    상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 상기 포인트가 지나가는 복수의 블록 중 적어도 하나에서 측정되는 무선 신호 세기 정보를 저장하는 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 지자계 값이 상기 가이드 영역 내에서 연속적인 데이터가 되도록 상기 복수의 블록에 대응하는 지자계 값을 이용하여 상기 복수의 블록 사이의 지자계 값을 도출하는 전자 장치.
  4. 제2항에 있어서,
    상기 프로세서는,
    상기 센서 정보에 포함된 지자계 값의 유효성을 검증하고,
    상기 지자계 값의 유효성에 기반하여 상기 센서 정보의 재측정을 요구하는 전자 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 지자계 값을 상기 가이드 영역과 다른 가이드 영역에서 측정된 지자계 값과 비교하여 상기 지자계 값의 유효성을 검증하는 전자 장치.
  6. 제4항에 있어서,
    상기 프로세서는,
    상기 지자계 값 측정 시 발생하는 노이즈와 상기 지자계 값을 비교하여 상기 지자계 값의 유효성을 검증하는 전자 장치.
  7. 제4항에 있어서,
    상기 프로세서는,
    상기 복수의 블록에 대응하는 지자계 값의 그래프 모양에 기반하여 상기 지자계 값의 유효성을 검증하는 전자 장치.
  8. 제1항에 있어서,
    상기 기준 방향은,
    상기 가이드 영역에 대응되는 측정 영역에 대하여 상기 전자 장치가 수평인 상태에서 상기 전자 장치의 방향을 의미하는 전자 장치.
  9. 제8항에 있어서,
    상기 프로세서가 수행하는 상기 지자계 값의 보정은,
    제1 보정 및 제2 보정을 포함하고,
    상기 제1 보정은,
    상기 지자계 값 측정 시 상기 전자 장치가 향하는 방향이 상기 전자 장치의 특정 지점에서 상기 측정 영역을 수직하게 지나가는 벡터의 방향과 일치되도록 수행되고,
    상기 제2 보정은,
    상기 지자계 값 측정 시 상기 전자 장치의 연장 방향이 상기 측정 영역의 일 방향에 일치되도록 수행되는 전자 장치.
  10. 제1항에 있어서,
    상기 센서 정보는,
    상기 전자 장치의 가속도 센서에서 측정된 가속도 값 및 상기 전자 장치의 자이로 센서에서 측정된 자이로 값을 더 포함하는 전자 장치.
  11. 실내 측위 제공 방법에 있어서,
    전자 장치의 움직임에 연동하여 증강 현실 상에서 움직이는 포인트를 표시하는 동작;
    상기 증강 현실 상에서 선택 지점을 인식하는 동작;
    상기 포인트가 특정 영역 내에서 움직이도록 상기 선택 지점을 포함하는 가이드 영역을 상기 증강 현실 상에 표시하는 동작;
    상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 상기 포인트가 지나가는 블록에서 측정되는 지자계 값을 포함하는 센서 정보를 저장하는 동작;
    상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 측정되는 무선 신호 세기 정보를 저장하는 동작; 및
    상기 센서 정보에 포함된 지자계 값을 기준 방향과 상기 지자계 값의 측정 시점에서 상기 전자 장치의 방향을 이용하여 보정하는 동작;을 포함하는 실내 측위 제공 방법.
  12. 제11항에 있어서,
    상기 가이드 영역을 복수의 블록으로 분할하는 동작;을 더 포함하고,
    상기 센서 정보를 저장하는 동작은, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 상기 포인트가 지나가는 블록에서 측정되는 지자계 값을 포함하는 센서 정보블 해당 블록에 매칭시켜 저장하는 동작이고,
    상기 무선 신호 세기 정보를 저장하는 동작은, 상기 포인트가 상기 가이드 영역 내에서 움직이는 동안 상기 포인트가 지나가는 블록 중 적어도 하나에서 측정되는 무선 신호 세기 정보를 저장하는 동작인 실내 측위 제공 방법.
  13. 제12항에 있어서,
    상기 지자계 값이 상기 가이드 영역 내에서 연속적인 데이터가 되도록 상기 복수의 블록에 대응하는 지자계 값을 이용하여 상기 복수의 블록 사이의 지자계 값을 도출하는 동작;을 더 포함하는 실내 측위 제공 방법.
  14. 제12항에 있어서,
    상기 복수의 블록에 대응하는 지자계 값의 유효성을 검증하는 동작; 및
    상기 지자계 값의 유효성에 기반하여 상기 센서 정보 재측정을 요구하는 동작;을 더 포함하는 실내 측위 제공 방법.
  15. 제14항에 있어서,
    상기 지자계 값의 유효성을 검증하는 동작은,
    상기 지자계 값을 상기 가이드 영역과 다른 가이드 영역에서 측정된 지자계 값과 비교하여 수행되는 실내 측위 제공 방법.
PCT/KR2020/017862 2019-12-24 2020-12-08 실내 측위를 제공하는 전자 장치 및 그 방법 WO2021132947A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20906880.8A EP4050563A4 (en) 2019-12-24 2020-12-08 ELECTRONIC DEVICE FOR PROVIDING INDOOR POSITIONING AND METHOD THEREOF
US17/846,500 US20220319118A1 (en) 2019-12-24 2022-06-22 Electronic device for providing indoor positioning and method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0173683 2019-12-24
KR1020190173683A KR20210081576A (ko) 2019-12-24 2019-12-24 실내 측위를 제공하는 전자 장치 및 그 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/846,500 Continuation US20220319118A1 (en) 2019-12-24 2022-06-22 Electronic device for providing indoor positioning and method therefor

Publications (1)

Publication Number Publication Date
WO2021132947A1 true WO2021132947A1 (ko) 2021-07-01

Family

ID=76574464

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/017862 WO2021132947A1 (ko) 2019-12-24 2020-12-08 실내 측위를 제공하는 전자 장치 및 그 방법

Country Status (4)

Country Link
US (1) US20220319118A1 (ko)
EP (1) EP4050563A4 (ko)
KR (1) KR20210081576A (ko)
WO (1) WO2021132947A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019205069A1 (en) * 2018-04-27 2019-10-31 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for updating 3d model of building
WO2023146091A1 (ko) * 2022-01-25 2023-08-03 삼성전자주식회사 플렉서블 디스플레이를 가지는 전자 장치
KR20230117979A (ko) * 2022-02-03 2023-08-10 삼성전자주식회사 전자 장치에서 실내 측위 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150125533A (ko) * 2014-04-30 2015-11-09 삼성전기주식회사 무선 위치 추정 장치 및 그 방법
US9989624B2 (en) * 2014-08-12 2018-06-05 Abl Ip Holding Llc System and method for estimating the position and orientation of a mobile communications device in a beacon-based positioning system
KR20190038009A (ko) * 2017-09-29 2019-04-08 에스케이텔레콤 주식회사 단말 측위 장치 및 단말 측위 방법
KR20190098472A (ko) * 2018-02-14 2019-08-22 김현일 비콘 신호를 이용한 다중 가상현실 모션 시뮬레이션 구현 시스템 및 방법
KR20190110859A (ko) * 2018-03-21 2019-10-01 주식회사 디자인에이포인트 위치정보와 방향정보를 기반으로 한 ar 또는 vr 영상 제공 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101702922B1 (ko) * 2010-05-31 2017-02-09 삼성전자주식회사 휴대용 단말기의 영역 인식 장치 및 방법
FI124665B (en) * 2012-01-11 2014-11-28 Indooratlas Oy Creating a magnetic field map for indoor positioning
US9154919B2 (en) * 2013-04-22 2015-10-06 Alcatel Lucent Localization systems and methods
CN107037403B (zh) * 2016-09-26 2020-07-24 蔚来汽车有限公司 基于增强现实的物体相对定位方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150125533A (ko) * 2014-04-30 2015-11-09 삼성전기주식회사 무선 위치 추정 장치 및 그 방법
US9989624B2 (en) * 2014-08-12 2018-06-05 Abl Ip Holding Llc System and method for estimating the position and orientation of a mobile communications device in a beacon-based positioning system
KR20190038009A (ko) * 2017-09-29 2019-04-08 에스케이텔레콤 주식회사 단말 측위 장치 및 단말 측위 방법
KR20190098472A (ko) * 2018-02-14 2019-08-22 김현일 비콘 신호를 이용한 다중 가상현실 모션 시뮬레이션 구현 시스템 및 방법
KR20190110859A (ko) * 2018-03-21 2019-10-01 주식회사 디자인에이포인트 위치정보와 방향정보를 기반으로 한 ar 또는 vr 영상 제공 방법

Also Published As

Publication number Publication date
KR20210081576A (ko) 2021-07-02
US20220319118A1 (en) 2022-10-06
EP4050563A4 (en) 2023-01-04
EP4050563A1 (en) 2022-08-31

Similar Documents

Publication Publication Date Title
WO2021132947A1 (ko) 실내 측위를 제공하는 전자 장치 및 그 방법
WO2020185029A1 (ko) 전자 장치 및 증강 현실 기반의 공유 정보 표시 방법
EP3695591A1 (en) Electronic device for controlling a plurality of applications
WO2020130667A1 (en) Method and electronic device for controlling augmented reality device
WO2021025272A1 (en) Foldable electronic device for detecting folding angle and operating method thereof
WO2022080869A1 (ko) 이미지를 이용한 3차원 지도의 업데이트 방법 및 이를 지원하는 전자 장치
WO2019093756A1 (ko) 감지 패널을 포함하는 전자 장치
WO2014069901A1 (en) Input apparatus and input controlling method thereof cross-reference to related applications
WO2021230568A1 (ko) 증강 현실 서비스를 제공하기 위한 전자 장치 및 그의 동작 방법
WO2022005227A1 (ko) 자기 센서를 포함하는 전자 장치 및 자기 검출 방법
WO2020145653A1 (ko) 이미지의 촬영 장소를 추천하는 전자 장치 및 방법
WO2020197245A1 (ko) 입력 장치 및 입력 장치와 상호 작용하는 전자 장치
WO2019039734A1 (ko) 센서 및 센서의 신호를 이용하여 구동하기 위한 하나 이상의 도전층들을 포함하는 전자 장치
WO2020138909A1 (ko) 콘텐트 공유 방법 및 그 전자 장치
WO2020040454A1 (ko) 분할된 화면을 제어하기 위한 전자 장치
WO2021177785A1 (ko) 위치 판단 방법 및 이를 지원하는 전자 장치
WO2022177299A1 (ko) 통화 기능의 제어 방법 및 이를 지원하는 전자 장치
WO2022005231A1 (ko) 지자기 데이터를 보정하는 전자 장치 및 방법
WO2022030933A1 (ko) 전자 장치 및 그의 필기 입력을 처리하는 방법
WO2021149938A1 (en) Electronic device and method for controlling robot
WO2021080163A1 (en) Electronic device for detecting location and method thereof
WO2021162439A1 (en) Electronic device performing restoration on basis of comparison of constant value and control method thereof
WO2020130579A1 (ko) 이미지 처리 방법 및 그 전자 장치
WO2021045430A1 (ko) 댁내 중계 장치 및 그와 연결되는 전자 장치
WO2019164238A1 (ko) 전자장치 및 전자장치의 사용상태에 기반한 외부 전자장치의 제어방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20906880

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020906880

Country of ref document: EP

Effective date: 20220525

NENP Non-entry into the national phase

Ref country code: DE