KR20170075625A - 객체 제어 방법 및 시스템 - Google Patents
객체 제어 방법 및 시스템 Download PDFInfo
- Publication number
- KR20170075625A KR20170075625A KR1020160049403A KR20160049403A KR20170075625A KR 20170075625 A KR20170075625 A KR 20170075625A KR 1020160049403 A KR1020160049403 A KR 1020160049403A KR 20160049403 A KR20160049403 A KR 20160049403A KR 20170075625 A KR20170075625 A KR 20170075625A
- Authority
- KR
- South Korea
- Prior art keywords
- electronic device
- attribute
- information
- user
- objects
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000009471 action Effects 0.000 claims abstract description 48
- 238000004891 communication Methods 0.000 claims description 122
- 230000006870 function Effects 0.000 description 49
- 238000010586 diagram Methods 0.000 description 46
- 210000001508 eye Anatomy 0.000 description 21
- 238000012545 processing Methods 0.000 description 19
- 230000008859 change Effects 0.000 description 14
- 238000005406 washing Methods 0.000 description 10
- 238000005286 illumination Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 238000010295 mobile communication Methods 0.000 description 7
- 238000001035 drying Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000004091 panning Methods 0.000 description 6
- 238000005452 bending Methods 0.000 description 5
- 238000007791 dehumidification Methods 0.000 description 5
- 235000013305 food Nutrition 0.000 description 5
- 230000001815 facial effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 210000005252 bulbus oculi Anatomy 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 235000013601 eggs Nutrition 0.000 description 3
- 235000013336 milk Nutrition 0.000 description 3
- 239000008267 milk Substances 0.000 description 3
- 210000004080 milk Anatomy 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 241000282472 Canis lupus familiaris Species 0.000 description 2
- 240000004160 Capsicum annuum Species 0.000 description 2
- 235000008534 Capsicum annuum var annuum Nutrition 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004397 blinking Effects 0.000 description 2
- 239000001511 capsicum annuum Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 235000013580 sausages Nutrition 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- RSPISYXLHRIGJD-UHFFFAOYSA-N OOOO Chemical compound OOOO RSPISYXLHRIGJD-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 210000003423 ankle Anatomy 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H04M1/72533—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
- H04M1/72415—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories for remote control of appliances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/752—Contour matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C17/00—Arrangements for transmitting signals characterised by the use of a wireless electrical link
- G08C17/02—Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4126—The peripheral being portable, e.g. PDAs or mobile phones
- H04N21/41265—The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4131—Peripherals receiving signals from specially adapted client devices home appliance, e.g. lighting, air conditioning system, metering devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
- H04N21/43637—Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/42—Graphical user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/22—Details of telephonic subscriber devices including a touch pad, a touch sensor or a touch detector
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
전자 기기가 객체를 제어하는 방법에 있어서, 제 1 객체 및 제 2 객체를 인식하는 단계; 제 1 객체의 속성 및 제 2 객체의 속성을 확인하는 단계; 제 1 객체의 속성 및 제 2 객체의 속성에 기반하여, 제 1 객체와 제 2 객체 중 제어할 객체를 선택하는 단계; 선택된 객체의 동작 신호를 생성하는 단계; 및 생성된 동작 신호를 선택된 객체로 전송하는 단계를 포함하는 객체 제어 방법을 개시한다.
Description
전자 기기가 사용자에 의해 선택된 적어도 하나의 객체를 제어하는 방법 및 시스템이 개시된다.
모바일 단말은 다양한 기능을 수행할 수 있도록 구성될 수 있다. 그러한 다양한 기능들의 예로 데이터 및 음성 통신 기능, 카메라를 통해 사진이나 동영상을 촬영하는 기능, 음성 저장 기능, 스피커 시스템을 통한 음악 파일의 재생 기능, 이미지나 비디오의 디스플레이 기능 등이 있다.
일부 모바일 단말은 게임을 실행할 수 있는 추가적 기능을 포함하고, 다른 일부 모바일 단말은 멀티미디어 기기로서 구현되기도 한다. 또한, 모바일 단말은 다른 기기를 원격 제어하는 리모컨 기능을 제공하기도 한다. 하지만, 기기 별로 제어 인터페이스가 상이하기 때문에, 사용자가 모바일 단말을 통해 다른 기기를 제어하는데 불편이 따른다.
일 실시예에 의하면, 카메라 또는 근거리 통신부를 통해 인식되는 복수의 객체 각각의 속성에 기반하여, 적어도 하나의 객체를 사용자의 의도에 맞게 자동으로 제어하는 방법 및 시스템이 제공될 수 있다.
일 실시예에 따르는 객체 제어 방법은, 제 1 객체 및 제 2 객체를 인식하는 단계; 제 1 객체의 속성 및 제 2 객체의 속성을 확인하는 단계; 제 1 객체의 속성 및 제 2 객체의 속성에 기반하여, 제 1 객체 및 제 2 객체 중 제어할 객체를 선택하는 단계; 선택된 객체의 동작 신호를 생성하는 단계; 및 생성된 동작 신호를 선택된 객체로 전송하는 단계를 포함할 수 있다.
일 실시예에 따르는 전자 기기는, 제 1 객체 및 제 2 객체를 인식하고, 제 1 객체의 속성 및 제 2 객체의 속성을 확인하고, 제 1 객체의 속성 및 제 2 객체의 속성에 기반하여, 제 1 객체 및 제 2 객체 중 제어할 객체를 선택하고, 선택된 객체의 동작 신호를 생성하는 제어부; 및 생성된 동작 신호를 선택된 객체로 전송하는 통신부를 포함할 수 있다.
도 1은 일 실시예에 따르는 객체 제어 시스템을 설명하기 위한 도면이다.
도 2는 일 실시예에 따르는 전자 기기의 객체 제어 방법을 설명하기 위한 순서도이다.
도 3은 일 실시예에 따르는 객체간 연관 속성 테이블을 설명하기 위한 도면이다.
도 4는 일 실시예에 따르는 이미지 센서를 통해 객체를 인식하는 방법을 설명하기 위한 순서도이다.
도 5a 및 5b는 일 실시예에 따르는 전자 기기가 객체를 선택하는 사용자 입력을 수신하는 동작을 설명하기 위한 도면이다.
도 6은 일 실시예에 따르는 근거리 통신을 통해 객체를 인식하는 방법을 설명하기 위한 순서도이다.
도 7은 일 실시예에 따르는 객체 맵을 설명하기 위한 도면이다.
도 8은 일 실시예에 따르는 복수의 객체가 모두 제어 가능한 기기인 경우에 있어서, 전자 기기의 객체 제어 방법을 설명하기 위한 순서도이다.
도 9는 일 실시예에 따르는 전자 기기가 복수의 객체와 통신 연결된 상태에서, 복수의 객체의 속성에 기반하여 하나의 객체를 제어하는 방법을 설명하기 위한 순서도이다.
도 10은 일 실시예에 따르는 전자 기기가 TV의 속성과 조명 기기의 속성에 기반하여 조명 기기를 제어하는 동작을 설명하기 위한 도면이다.
도 11은 일 실시예에 따르는 전자 기기에서 인식된 복수의 객체 중 하나만 제어 가능 기기인 경우에 있어서, 전자 기기의 객체 제어 방법을 설명하기 위한 순서도이다.
도 12는 일 실시예에 따르는 전자 기기가 사람의 속성과 TV의 속성에 기반하여 TV를 제어하는 동작을 설명하기 위한 도면이다.
도 13은 일 실시예에 따르는 전자 기기가 환경의 속성과 오디오 장치의 속성에 기반하여 오디오 장치를 제어하는 동작을 설명하기 위한 도면이다.
도 14는 일 실시예에 따르는 전자 기기가 사물의 속성과 제습기의 속성에 기반하여 제습기를 제어하는 동작을 설명하기 위한 도면이다.
도 15는 일 실시예에 따르는 전자 기기에서 인식된 복수의 객체가 모두 제어 불가능 객체인 경우에 있어서, 전자 기기가 제 3의 객체를 제어하는 방법을 설명하기 위한 순서도이다.
도 16은 일 실시예에 따르는 전자 기기가 사람의 속성과 인형의 속성에 기반하여 TV를 제어하는 동작을 설명하기 위한 도면이다.
도 17은 일 실시예에 따르는 전자 기기에서 인식된 사람의 속성과 인형의 속성에 기반하여, 전자 기기에서 컨텐츠를 재생하는 동작을 설명하기 위한 도면이다.
도 18은 일 실시예에 따르는 전자 기기에서 인식된 냉장고의 속성과 사람의 속성에 기반하여, 전자 기기에서 알림을 표시하는 동작을 설명하기 위한 도면이다.
도 19는 일 실시예에 따르는 전자 기기에서 인식된 냉장고의 속성과 사람의 속성에 기반하여, 전자 기기가 외부 기기의 표시를 제어하는 동작을 설명하기 위한 도면이다.
도 20은 일 실시예에 따르는 전자 기기가 외부 기기를 원격 제어하는 동작을 설명하기 위한 도면이다.
도 21은 일 실시예에 따르는 전자 기기에서 인식된 복수의 객체들의 속성들을 표시하는 방법을 설명하기 위한 순서도이다.
도 22는 일 실시예에 따르는 전자 기기가 TV의 속성과, 조명 기기의 속성을 표시하는 동작을 설명하기 위한 도면이다.
도 23은 일 실시예에 따르는 전자 기기가 복수의 동작을 추천하는 방법을 설명하기 위한 순서도이다.
도 24는 일 실시예에 따르는 전자 기기가 TV의 속성과 조명 기기의 속성에 기반하여, 복수의 동작을 추천하는 동작을 설명하기 위한 도면이다.
도 25는 일 실시예에 따르는 애플리케이션 실행 시스템을 설명하기 위한 도면이다.
도 26은 일 실시예에 따르는 서버에서 객체 인식 모델 정보를 생성하는 방법을 설명하기 위한 순서도이다.
도 27은 일 실시예에 따르는 카테고리 및 키워드를 설명하기 위한 도면이다.
도 28은 일 실시예에 따르는 객체 인식을 위한 영상들을 생성하는 동작을 설명하기 위한 도면이다.
도 29는 일 실시예에 따르는 객체 인식에 오류가 있는 경우, 객체 인식 모델 정보를 수정하는 방법을 설명하기 위한 순서도이다.
도 30은 전자 기기에서 객체 인식 오류가 발생한 경우를 설명하기 위한 도면이다.
도 31은 일 실시예에 따르는 개인화 객체 인식 모델 정보를 생성하는 방법을 설명하기 위한 순서도이다.
도 32는 일 실시예에 따르는 객체와 애플리케이션을 연결하는 동작을 설명하기 위한 도면이다.
도 33a는 일 실시예에 따르는 전자 기기가 객체의 동영상을 획득하는 동작을 설명하기 위한 도면이다.
도 33b는 전자 기기가 객체 인식 모델 정보를 서버로부터 다운로드하는 동작을 설명하기 위한 도면이다.
도 34는 일 실시예에 따르는 객체와 컨트롤러를 연결하는 동작을 설명하기 위한 도면이다.
도 35는 일 실시예에 따르는 객체 인식 모델 정보를 갱신하는 방법을 설명하기 위한 순서도이다.
도 36은 일 실시예에 따르는 전자 기기가 사용자 요청에 따라 객체 인식 모델 정보를 수정하는 동작을 설명하기 위한 도면이다.
도 37은 일 실시예에 따르는 전자 기기가 애플리케이션 또는 컨트롤러를 실행하는 방법을 설명하기 위한 순서도이다.
도 38은 일 실시예에 따르는 전자 기기가 TV에 대응하는 컨트롤러를 표시하는 동작을 설명하기 위한 도면이다.
도 39는 일 실시예에 따르는 메모 또는 웹사이트 주소와 객체를 연결하여, 객체 인식 모델 정보를 생성하는 방법을 설명하기 위한 순서도이다.
도 40은 일 실시예에 따르는 신용 카드와 메모를 연결하는 동작을 설명하기 위한 도면이다.
도 41은 일 실시예에 따르는 창문과 웹사이트 주소를 연결하는 동작을 설명하기 위한 도면이다.
도 42는 일 실시예에 따르는 전자 기기가 창문에 대응하는 날씨 정보를 표시하는 동작을 설명하기 위한 도면이다.
도 43은 일 실시예에 따르는 전자 기기의 구성을 설명하기 위한 블록 구성도이다.
도 44는 일 실시예에 따르는 서버의 구성을 설명하기 위한 블록 구성도이다.
도 2는 일 실시예에 따르는 전자 기기의 객체 제어 방법을 설명하기 위한 순서도이다.
도 3은 일 실시예에 따르는 객체간 연관 속성 테이블을 설명하기 위한 도면이다.
도 4는 일 실시예에 따르는 이미지 센서를 통해 객체를 인식하는 방법을 설명하기 위한 순서도이다.
도 5a 및 5b는 일 실시예에 따르는 전자 기기가 객체를 선택하는 사용자 입력을 수신하는 동작을 설명하기 위한 도면이다.
도 6은 일 실시예에 따르는 근거리 통신을 통해 객체를 인식하는 방법을 설명하기 위한 순서도이다.
도 7은 일 실시예에 따르는 객체 맵을 설명하기 위한 도면이다.
도 8은 일 실시예에 따르는 복수의 객체가 모두 제어 가능한 기기인 경우에 있어서, 전자 기기의 객체 제어 방법을 설명하기 위한 순서도이다.
도 9는 일 실시예에 따르는 전자 기기가 복수의 객체와 통신 연결된 상태에서, 복수의 객체의 속성에 기반하여 하나의 객체를 제어하는 방법을 설명하기 위한 순서도이다.
도 10은 일 실시예에 따르는 전자 기기가 TV의 속성과 조명 기기의 속성에 기반하여 조명 기기를 제어하는 동작을 설명하기 위한 도면이다.
도 11은 일 실시예에 따르는 전자 기기에서 인식된 복수의 객체 중 하나만 제어 가능 기기인 경우에 있어서, 전자 기기의 객체 제어 방법을 설명하기 위한 순서도이다.
도 12는 일 실시예에 따르는 전자 기기가 사람의 속성과 TV의 속성에 기반하여 TV를 제어하는 동작을 설명하기 위한 도면이다.
도 13은 일 실시예에 따르는 전자 기기가 환경의 속성과 오디오 장치의 속성에 기반하여 오디오 장치를 제어하는 동작을 설명하기 위한 도면이다.
도 14는 일 실시예에 따르는 전자 기기가 사물의 속성과 제습기의 속성에 기반하여 제습기를 제어하는 동작을 설명하기 위한 도면이다.
도 15는 일 실시예에 따르는 전자 기기에서 인식된 복수의 객체가 모두 제어 불가능 객체인 경우에 있어서, 전자 기기가 제 3의 객체를 제어하는 방법을 설명하기 위한 순서도이다.
도 16은 일 실시예에 따르는 전자 기기가 사람의 속성과 인형의 속성에 기반하여 TV를 제어하는 동작을 설명하기 위한 도면이다.
도 17은 일 실시예에 따르는 전자 기기에서 인식된 사람의 속성과 인형의 속성에 기반하여, 전자 기기에서 컨텐츠를 재생하는 동작을 설명하기 위한 도면이다.
도 18은 일 실시예에 따르는 전자 기기에서 인식된 냉장고의 속성과 사람의 속성에 기반하여, 전자 기기에서 알림을 표시하는 동작을 설명하기 위한 도면이다.
도 19는 일 실시예에 따르는 전자 기기에서 인식된 냉장고의 속성과 사람의 속성에 기반하여, 전자 기기가 외부 기기의 표시를 제어하는 동작을 설명하기 위한 도면이다.
도 20은 일 실시예에 따르는 전자 기기가 외부 기기를 원격 제어하는 동작을 설명하기 위한 도면이다.
도 21은 일 실시예에 따르는 전자 기기에서 인식된 복수의 객체들의 속성들을 표시하는 방법을 설명하기 위한 순서도이다.
도 22는 일 실시예에 따르는 전자 기기가 TV의 속성과, 조명 기기의 속성을 표시하는 동작을 설명하기 위한 도면이다.
도 23은 일 실시예에 따르는 전자 기기가 복수의 동작을 추천하는 방법을 설명하기 위한 순서도이다.
도 24는 일 실시예에 따르는 전자 기기가 TV의 속성과 조명 기기의 속성에 기반하여, 복수의 동작을 추천하는 동작을 설명하기 위한 도면이다.
도 25는 일 실시예에 따르는 애플리케이션 실행 시스템을 설명하기 위한 도면이다.
도 26은 일 실시예에 따르는 서버에서 객체 인식 모델 정보를 생성하는 방법을 설명하기 위한 순서도이다.
도 27은 일 실시예에 따르는 카테고리 및 키워드를 설명하기 위한 도면이다.
도 28은 일 실시예에 따르는 객체 인식을 위한 영상들을 생성하는 동작을 설명하기 위한 도면이다.
도 29는 일 실시예에 따르는 객체 인식에 오류가 있는 경우, 객체 인식 모델 정보를 수정하는 방법을 설명하기 위한 순서도이다.
도 30은 전자 기기에서 객체 인식 오류가 발생한 경우를 설명하기 위한 도면이다.
도 31은 일 실시예에 따르는 개인화 객체 인식 모델 정보를 생성하는 방법을 설명하기 위한 순서도이다.
도 32는 일 실시예에 따르는 객체와 애플리케이션을 연결하는 동작을 설명하기 위한 도면이다.
도 33a는 일 실시예에 따르는 전자 기기가 객체의 동영상을 획득하는 동작을 설명하기 위한 도면이다.
도 33b는 전자 기기가 객체 인식 모델 정보를 서버로부터 다운로드하는 동작을 설명하기 위한 도면이다.
도 34는 일 실시예에 따르는 객체와 컨트롤러를 연결하는 동작을 설명하기 위한 도면이다.
도 35는 일 실시예에 따르는 객체 인식 모델 정보를 갱신하는 방법을 설명하기 위한 순서도이다.
도 36은 일 실시예에 따르는 전자 기기가 사용자 요청에 따라 객체 인식 모델 정보를 수정하는 동작을 설명하기 위한 도면이다.
도 37은 일 실시예에 따르는 전자 기기가 애플리케이션 또는 컨트롤러를 실행하는 방법을 설명하기 위한 순서도이다.
도 38은 일 실시예에 따르는 전자 기기가 TV에 대응하는 컨트롤러를 표시하는 동작을 설명하기 위한 도면이다.
도 39는 일 실시예에 따르는 메모 또는 웹사이트 주소와 객체를 연결하여, 객체 인식 모델 정보를 생성하는 방법을 설명하기 위한 순서도이다.
도 40은 일 실시예에 따르는 신용 카드와 메모를 연결하는 동작을 설명하기 위한 도면이다.
도 41은 일 실시예에 따르는 창문과 웹사이트 주소를 연결하는 동작을 설명하기 위한 도면이다.
도 42는 일 실시예에 따르는 전자 기기가 창문에 대응하는 날씨 정보를 표시하는 동작을 설명하기 위한 도면이다.
도 43은 일 실시예에 따르는 전자 기기의 구성을 설명하기 위한 블록 구성도이다.
도 44는 일 실시예에 따르는 서버의 구성을 설명하기 위한 블록 구성도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따르는 객체 제어 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시예에 따른 객체 제어 시스템은 전자 기기(100) 및 복수의 객체를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 객체 제어 시스템이 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 객체 제어 시스템이 구현될 수 있다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
전자 기기(100)는 외부의 객체를 제어할 수 있는 기기일 수 있다. 예를 들어, 전자 기기(100)는 네트워크를 통해 외부의 객체로 제어 정보를 전달할 수 있다. 일 실시예에 의하면, 네트워크는, Wi-Fi(Wireless Fidelity), 홈RF, 블루투스, HR WPAN, UWB, LR WPAN, IEEE 1394 등과 같은 무선 통신 기술 또는 이동 통신 기술로 구현될 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 따른 전자 기기(100)은 다양한 형태로 구현될 수 있다. 예를 들어, 전자 기기(100)는, 디지털 카메라, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC, 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어 등이 있을 수 있으나, 이에 한정되는 것은 아니다. 본 명세서에서 기술되는 전자 기기(100)는 사용자에 의해 착용될 수 있는 장치(wearable device)일 수 있다. 웨어러블 디바이스는 액세서리 형 장치(예컨대, 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈), 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형 장치(예: 전자 의복), 신체 부착형 장치(예컨대, 스킨 패드(skin pad)), 또는 생체 이식형 장치(예: implantable circuit) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 하지만, 이하에서는, 설명의 편의상 전자 기기(100)가 모바일 단말인 경우를 예로 들어 설명하기로 한다.
본 명세서에서, 객체는 전자 기기(100)에 의해 인식될 수 있는 사물, 사람, 기기(예컨대, IoT 기기), 동물, 환경 등일 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 객체는 디스플레이 장치(예컨대, TV), 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC, 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, CE 기기(예컨대, 조명 장치, 냉장고, 에어컨, 정수기, 제습기, 가습기, 커피 머신, 오븐, 로봇 청소기 등), 웨어러블 디바이스(예컨대, 밴드, 시계, 안경, VR, 신발, 벨트, 장갑, 반지, 목걸이 등), 사람(예컨대, 가족 구성원들, 친구 등), 동물(예컨대, 강아지, 고양이 등), 사물(예컨대, 인형, 옷, 침대, 창문 등), 환경(예컨대, 날씨, 계절, 기온, 습도 등) 등일 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 전자 기기(100)는 사용자 입력에 따라 외부의 객체를 제어할 수 있다. 예를 들어, 사용자는 TV(200)로 영화를 감상하기 위해, 조명 기기(300)의 조도를 낮추길 원할 수 있다. 이때, 도 1의 10을 참조하면, 전자 기기(100)는 근거리 통신(예컨대, 블루투스)을 이용하여 주변의 기기들을 검색하고, 검색된 기기들의 목록을 표시할 수 있다. 사용자가 검색된 기기들 중에서 제어하고자 하는 조명 기기(300)의 식별 정보를 선택하면, 전자 기기(100)는 조명 기기(300)와 페어링 절차를 진행한 후, 조명 기기(300)의 조도를 조절할 수 있는 GUI(Graphical user interface)를 표시할 수 있다. 그리고 사용자가 GUI를 통해 조명 기기(300)의 조도를 20%로 설정하면, 전자 기기(100)는 조도를 20%로 설정하라는 명령을 조명 기기(300)로 전송할 수 있다. 하지만, 사용자가, 페어링 절차를 위해 검색된 기기들의 목록에서 조명 기기(300)의 식별 정보를 찾는 것은 쉽지 않다. 또한, 사용자가 조명 기기(300)의 조도를 조절하기 위해서 수많은 절차를 거쳐야 한다는 불편도 있다.
따라서, 도 1의 20에 도시된 것과 같이, 일 실시예에 의하면, 전자 기기(100)는 사용자가 객체들을 한 눈에 인지하고, 객체들의 기능을 쉽게 조작할 수 있도록 하는 인터페이스를 제공할 수 있다. 예를 들어, 사용자가 카메라의 라이브 뷰에서 TV(200)와 조명 기기(300)를 연결하는 선을 그린 경우, 전자 기기(100)는 자동으로 TV(200)에서 재생되는 컨텐츠의 타입에 맞게 조도를 조절하도록 조명 기기(300)를 제어할 수 있다.
이하에서는, 도 2를 참조하여, 전자 기기(100)가 사용자의 의도에 맞게 자동으로 객체를 제어하는 방법에 대해서 자세히 살펴보기로 한다.
도 2는 일 실시예에 따르는 전자 기기의 객체 제어 방법을 설명하기 위한 순서도이다.
단계 S210에서, 전자 기기(100)는, 제 1 객체 및 제 2 객체를 인식할 수 있다.
본 명세서에서 ‘객체를 인식’한다는 것은, 객체를 식별하여, 화면에 객체에 대응하는 이미지(예컨대, 실제 이미지 또는 대체 이미지)를 표시할 수 있는 상태에 있는 것을 의미할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 카메라의 이미지 센서를 이용하여, 전자 기기(100)의 외부에 존재하는 제 1 객체 및 제 2 객체를 인식할 수 있다. 예를 들어, 전자 기기(100)는 제 1 객체 및 제 2 객체를 포함하는 원본 프레임을 획득하고, 원본 프레임에 대한 영상 처리를 통해 제 1 객체 및 제 2 객체를 식별할 수 있다. 예컨대, 전자 기기(100)는, 원본 프레임에 대한 분석을 통해 제 1 객체의 외곽선 및 제 2 객체의 외곽선을 검출할 수 있다. 그리고 전자 기기(100)는, 검출된 제 1 객체의 외곽선 및 제 2 객체의 외곽선을 기 정의된 템플릿(template)과 비교하여, 객체의 종류, 객체의 명칭 등을 검출할 수 있다. 예를 들어, 전자 기기(100)는, 제 1 객체의 외곽선이 TV의 템플릿과 유사한 경우, 원본 프레임에 포함된 제 1 객체를 TV로 인식하고, 제 2 객체의 외곽선이 냉장고의 템플릿과 유사한 경우, 제 2 객체를 냉장고로 인식할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 원본 프레임에 포함된 객체에 대한 얼굴 인식을 수행할 수도 있다. 예를 들어, 전자 기기(100)는 원본 프레임에서 사람의 얼굴 영역을 검출할 수 있다. 얼굴 영역을 검출하는 방법에는, 지식 기반 방법(Knowledge-based Methods), 특징 기반 방법 (Feature-based Methods), 템플릿 매칭 방법(Template-matching Methods) 및 외형 기반 방법(Appearance-based Methods) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
전자 기기(100)는, 검출된 얼굴 영역으로부터 얼굴의 특징(예컨대, 얼굴의 주요 부분인 눈, 코, 입의 모양 등)을 추출할 수 있다. 전자 기기(100)는, 얼굴 영역에서 얼굴의 특징을 추출하기 위해, Gabor 필터 또는 LBP(Local Binary Pattern)등을 사용할 수 있으나, 이에 한정되는 것은 아니다.
전자 기기(100)는, 얼굴 영역으로부터 추출된 얼굴의 특징을 기 등록된 사용자들의 얼굴 특징과 비교할 수 있다. 예를 들어, 추출된 얼굴의 특징이 기 등록된 제 1 사용자(예컨대, Tom)의 얼굴의 특징과 유사한 경우, 전자 장치(100)는, 객체가 제 1 사용자(예컨대, Tom)라고 인식할 수 있다. 또한, 추출된 얼굴의 특징이 기 등록된 아이의 얼굴의 특징과 유사한 경우, 객체가 아이라고 인식할 수 있다.
전자 기기(100)는, 원본 프레임의 일정 영역을 컬러 맵(컬러 히스토그램)과 비교하여, 이미지의 색상 배치, 무늬, 분위기 등의 시각적 특징을 영상 분석 정보로 추출할 수도 있다. 이 경우, 전자 기기(100)는, 창밖에 내리는 비나 눈을 인식할 수 있다.
또한, 전자 기기(100)는, 객체에 포함된 활자 영상에 대한 문자 인식을 수행할 수도 있다. 문자 인식 (OCR, Optical Character Recognition)은 이미지 문서에 포함된 한글, 영문, 숫자 폰트 등을 전자 기기(100)에서 편집 가능한 문자 코드로 변환하는 기술을 의미한다. 따라서, 전자 기기(100)는 객체에 표시된 문자를 인식함으로써, 객체를 식별할 수도 있다.
일 실시예에 의하면, 전자 기기(100)는 근거리 통신을 이용하여 객체를 인식할 수도 있다. 예를 들어, 전자 기기(100)는, 객체 (또는 객체에 부착된 BLE(Bluetooth Low Energy) 태그)로부터 브로드캐스팅되는 광고 패킷(advertising packet)을 BLE 통신을 통해 수신하고, 광고 패킷에 포함된 식별 정보를 추출함으로써, 객체를 인식할 수도 있다. 이때, 전자 기기(100)는 BLE 신호의 세기에 기초하여, 객체와의 거리를 산출할 수도 있다.
만일, 제 1 객체가 태블릿 PC인 경우, 전자 기기(100)는, 제 1 객체(태블릿 PC)로부터 BLE 통신을 통해 제 1 객체의 식별 정보(예컨대, 태블릿 PC에 대응하는 코드)를 포함하는 광고 패킷을 수신할 수 있다. 이때, 전자 기기(100)는, 광고 패킷을 분석하여 제 1 객체가 태블릿 PC임을 인식할 수 있다. 또한, 전자 기기(100)는, 제 2 객체가 인형인 경우, 인형에 부착된 BLE 태그로부터 수신되는 광고 패킷을 분석하여, 제 2 객체가 인형임을 인식할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 라이파이(Li-Fi), 와이파이(Wi-FI), 블루투스 중 적어도 하나를 통해 제 1 객체의 식별 정보 및 제 2 객체의 식별 정보를 수신함으로써, 제 1 객체 및 제 2 객체를 인식할 수도 있으나, 이에 한정되는 것은 아니다.
Li-Fi(Light Fidelity)는, 발광 다이오드(LED)에서 나오는 빛의 파장을 이용하여 정보를 전달하는 가시광 통신(VLC: Visible Light Communication) 기술의 하나일 수 있다. 데이터 전송은 빛의 깜빡임으로 이루어지는데, 백만 분의 1초 간격으로 깜빡이기 때문에 인간의 눈으로는 깜빡임을 모른다. 즉, 겉으로 보기에는 그저 전구가 켜져 있을 뿐이지만 실제로는 데이터가 전송 중인 것이다. 따라서, Li-Fi(Light Fidelity)는, 조명이 있는 곳이면 어디서나 사용할 수 있으며 인체에 무해하다.
또한, 일 실시예에 의하면, 전자 기기(100)가 홈 네트워크에 연결되어 있는 경우, 전자 기기(100)는, 홈 네트워크에 연결된 다른 객체들을 인식할 수 있다. 예를 들어, 전자 기기(100)는 홈 게이트웨이(이는, 중계기, 서버, 또는 IoT 허브로 표현될 수도 있음)로부터 다른 객체들의 식별 정보, 위치 정보, 상태 정보, 기능 정보 등을 수신함으로써, 다른 객체들을 인식할 수 있다. 이때, 전자 기기(100)는 인식된 객체들에 대응하는 아이콘 이미지를 화면에 표시할 수 있다.
일 실시예에 의하면, 전자 기기(100)에서 인식되는 제 1 객체 및 제 2 객체 모두 제어 가능한 기기일 수 있다. 여기서, ‘제어 가능한 기기’란 전자 기기(100)와 통신 링크가 형성될 수 있으며, 전자 기기(100)에서 통신 링크를 통해 전달하는 제어 신호에 따라 동작할 수 있는 기기를 의미할 수 있다.
일 실시예에 의하면, 전자 기기(100)에서 인식되는 제 1 객체 및 제 2 객체 중 하나만 제어 가능 기기이고, 나머지 하나는 제어 불가능한 객체일 수도 있다. 예컨대, 제어 불가능한 객체에는 사물, 사람, 동물, 환경(날씨, 계절, 온도 등) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
한편, 전자 기기(100)에서 인식된 제 1 객체 및 제 2 객체 둘 다 제어 불가능한 객체(예컨대, 환경, 사물, 등)일 수도 있으나, 제 1 객체 및 제 2 객체 둘 다 제어 불가능한 객체인 경우에 대해서는 도 15를 참조하여, 후에 자세히 살펴보기로 한다.
일 실시예에 의하면, 카메라 또는 통신부를 통해 3개 이상의 객체들이 인식된 경우, 전자 기기(100)는 인식된 객체들을 화면에 표시하고, 인식된 객체들 중에서 제 1 객체 및 제 2 객체를 선택하는 입력을 사용자로부터 수신할 수도 있다.
이때, 전자 기기(100)는, 객체들을 다양한 형태로 표시할 수 있다. 예를 들어, 전자 기기(100)는 카메라를 통해 인식되는 피사체를 표시하는 라이브 뷰를 이용하여, 객체들의 실제 이미지를 표시할 수 있다. 전자 기기(100)가 라이브 뷰를 통해 객체들을 표시하는 동작에 대해서는 도 4, 도 5a 및 도 5b를 참조하여 후에 좀 더 자세히 살펴보자.
일 실시예에 의하면, 전자 기기(100)는 객체들에 대응하는 가상의 이미지(예컨대, 아이콘 이미지, 텍스트 이미지 등)를 포함하는 객체 맵을 생성하여 화면에 표시할 수 있다. 객체 맵에 대해서는 도 6 및 도 7을 참조하여 후에 자세히 살펴보기로 한다.
일 실시예에 의하면, 전자 기기(100)는, 인식된 객체들 증강 현실 모드에서 표시할 수도 있다. 예를 들어, 전자 기기(100)는, 인식된 객체들 중에서 일부 객체는 실제 이미지로 표시하고, 나머지 일부 객체는 가상의 이미지(예컨대, 증강 현실 이미지)로 표시할 수 있다.
단계 S220에서, 전자 기기(100)는 제 1 객체의 속성 및 제 2 객체의 속성을 확인할 수 있다.
여기서, 객체의 속성은, 객체의 식별자, 객체의 종류, 객체에서 제공하는 기능, 객체의 현재 상태 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 객체의 속성은 객체의 타입에 따라 달라질 수 있다.
객체가 기기인 경우, 객체의 속성은, 객체에서 제공하는 기능, 객체의 현재 상태, 객체의 위치, 객체에서 지원하는 통신 방식 등을 포함할 수 있다. 예를 들어, 객체가 TV인 경우, TV에서 제공하는 기능(예컨대, 밝기 조절, 볼륨 조절, 전원 조절, 애플리케이션 실행 등), TV에서 재생되고 있는 컨텐츠의 종류(예컨대, 영화, 뉴스, 게임, 음악 등), 컨텐츠의 장르(예컨대, 액션, 로맨스, 판타지 등), 현재 채널, 현재 볼륨 레벨, 현재 밝기 레벨, ON/OFF 상태, 동작 오류 상태 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
객체가 사람인 경우, 객체의 속성은, 사람의 식별자, 사람의 연령, 성별, 선호 채널, 선호 컨텐츠(예컨대, 영화, 음악 등), 사람의 디바이스 정보, 사람의 생체 정보 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 객체가 사물인 경우, 객체의 속성은, 사물의 종류, 사물명, 또는 사물의 기능 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 객체가 환경인 경우, 객체의 속성은, 날씨, 온도, 습도, 계절 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 전자 기기(100)는, 제 1 객체 및 제 2 객체가 통신 가능 디바이스인 경우, 제 1 객체로부터 제 1 객체의 속성 정보를 수신하고, 제 2 객체로부터 제 2 객체의 속성 정보를 수신할 수 있다. 이때, 전자 기기(100)는 제 1 객체로부터 근거리 통신(예컨대, 블루투스, 와이파이다이렉트 등)을 통해 직접 제 1 객체의 속성 정보를 수신할 수도 있고, 게이트웨이를 통해 제 1 객체의 속성 정보를 수신할 수도 있다.
일 실시예에 의하면, 전자 기기(100)는 저장부에 저장된 객체간 연관 속성 테이블을 참조하여, 제 1 객체의 속성 및 제 2 객체의 속성을 확인할 수도 있다. 예를 들어, 전자 기기(100)는, 제 1 객체의 식별 정보를 획득한 경우, 객체간 연관 속성 테이블에서 제 1 객체의 식별 정보에 대응하는 제 1 속성을 검색할 수 있다.
도 3을 참조하여, 객체 간 연관 속성 테이블(310)에 대해 살펴보자. 객체간 연관 속성 테이블(310)은, 복수의 객체들의 속성 조합에 대응하는 제어 정보를 정의한 테이블일 수 있다. 여기서, 제어 정보는 복수의 객체들 중에서 제어의 대상이 되는 기기(이하, 제어 기기, 또는 목표 객체라 함), 제어 기기에서 수행해야 하는 동작 (이하, 제어 동작)에 관한 정보를 포함할 수 있다. 예를 들어, 전자 기기(100)가 객체간 연관 속성 테이블(310)을 참조하면, TV의 속성에는 ‘컨텐츠(영화)’, ‘밝기’가 있고, 조명 기기의 속성에는 ‘밝기’가 있으며, TV의 속성 중 컨텐츠와 조명 기기의 속성 중 밝기의 조합에 대응하는 제 1 제어 정보는 ‘제어 기기: 조명 기기, 동작: 밝기 20%로 설정’이고, TV의 속성 중 밝기와 조명 기기의 속성 중 밝기의 조합에 대응하는 제 2 제어 정보는 ‘제어 기기: TV, 동작: 조명 기기의 밝기에 대응되게 TV의 밝기 조절’임을 확인할 수 있다.
한편, 객체들 각각의 속성이 복수 개 존재하는 경우, 전자 기기(100)는 객체간 연관 속성 테이블(310)을 참조하여, 객체 제어에 이용할 하나의 속성을 선택할 수 있다. 예를 들어, 제 1 객체와 제 2 객체가 선택된 경우, 전자 기기(100)는, 객체간 연관 속성 테이블(310)을 참조하여, 제 1 객체의 복수의 속성 중에서 제 1 속성을 선택하고, 제 2 객체의 복수의 속성 중에서 제 2 속성을 선택할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 객체에 대응하는 복수의 속성 중에서 우선순위가 높은 속성을 선택할 수 있다. 즉, 객체에 포함된 복수의 속성들 사이에 우선순위가 존재할 수 있다. 예를 들어, 객체가 TV이고, TV의 속성이 재생 컨텐츠, 볼륨, 밝기 등을 포함하는 경우, 전자 기기(100)는 TV의 속성들 중에서 우선순위가 가장 높은 속성인 ‘재생 컨텐츠’ 를 선택할 수 있다.
일 실시예에 의하면, 제 1 객체에 포함된 복수의 속성들 사이의 우선순위는 제 2 객체의 종류에 따라 달라질 수도 있다. 예를 들어, 제 1 객체가 TV이고, 제 2 객체가 사람인 경우, 전자 기기(100)는, 제 1 객체의 속성들 중에서 ‘재생 컨텐츠’를 선택할 수 있다. 반면에, 제 1 객체가 TV이고, 제 2 객체가 조명 기구인 경우, 전자 기기(100)는, 제 1 객체의 속성들 중에서 ‘밝기’를 선택할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 사용자 입력에 기초하여, 객체에 대응하는 복수의 속성 중에서 하나의 속성을 선택할 수도 있다. 예를 들어, 전자 기기(100)는, 복수의 객체들 각각에 대응하는 속성들을 복수의 객체와 함께 화면에 표시하고, 표시된 속성들 중에서 하나를 선택하는 사용자 입력을 수신할 수 있다. 전자 기기(100)가 적어도 하나의 객체에 대응하는 속성들을 표시하는 동작에 대해서는 도 21 및 도 22를 참조하여 후에 자세히 살펴보기로 한다.
단계 S230에서, 전자 기기(100)는, 제 1 객체의 속성 및 제 2 객체의 속성에 기반하여, 제 1 객체 및 제 2 객체 중 제어할 객체를 선택할 수 있다. 이하에서는, 설명의 편의상 ‘제어할 객체’를 ‘목표 객체(또는, 제어 기기)’로 표현하기로 한다.
일 실시예에 의하면, 전자 기기(100)는, 제 1 객체의 속성 및 제 2 객체의 속성에 기반하여, 제 1 객체 및 제 2 객체 중 제어 가능한 객체를 목표 객체로 선택할 수 있다. 예를 들어, 제 1 객체의 속성 및 제 2 객체의 속성을 분석한 결과, 제 1 객체가 사물이고, 제 2 객체가 디스플레이 장치인 경우, 전자 기기(100)는, 제 1 객체 및 제 2 객체 중 제 2 객체(디스플레이 장치)를 목표 객체로 선택할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 객체간 연관 속성 테이블(310)을 참조하여, 제 1 객체 및 제 2 객체 중 제어할 객체를 선택할 수 있다. 예를 들어, 제 1 객체가 TV이고, 제 1 객체의 속성이 ‘컨텐츠(영화)’이고, 제 2 객체가 조명 기기이고, 제 2 객체의 속성이 ‘밝기’인 경우, 전자 기기(100)는, 객체간 연관 속성 테이블(310)에서, TV의 속성인 컨텐츠(영화)와 조명 기기의 속성인 ‘밝기’의 조합에 대응하는 제 1 제어 정보(예컨대, 제어 기기: 조명 기기, 동작: 밝기 20%)를 선택할 수 있다. 전자 기기(100)는, 제 1 제어 정보를 분석하여, 조명 기기가 목표 객체임을 확인할 수 있다.
단계 S240에서, 전자 기기(100)는, 선택된 객체의 동작 신호를 생성할 수 있다. 여기서, 동작 신호는 선택된 객체(목표 객체)의 특정 동작을 지시하는 신호일 수 있으며, 제어 신호로 표현될 수도 있다. 예를 들어, 전자 기기(100)는, 선택된 객체가 수행해야 하는 동작을 결정하고, 결정된 동작을 지시하는 동작 신호를 생성할 수 있다. 일 실시예에 의하면, 선택된 객체가 IR 송신기를 가지고 있는 경우, 전자 기기(100)는 선택된 객체의 IR 송신기의 모델에 대응하는 IR 신호를 검색하고, 검색된 IR 신호를 이용하여 동작 신호를 생성할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 제 1 객체의 속성 및 제 2 객체의 속성에 기반하여, 선택된 객체에서 수행해야 하는 동작(이하, 제어 동작)을 결정할 수 있다. 여기서, 제어 동작은 선택된 객체에서 제공하는 기능들 중 하나일 수 있다. 예를 들어, 목표 객체가 TV인 경우, 제어 동작은 ‘채널 변경’, ‘VOD 재생’, ‘밝기 조절’, ‘볼륨 조절’, ‘애플리케이션 프로그램 실행’ 중 하나일 수 있으나, 이에 한정되는 것은 아니다. 또한, 목표 객체가 ‘조명 기기’인 경우, 동작은 ‘밝기 조절’, ‘색상 조절’, ‘깜빡임 주기 조절’ 중 하나일 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 전자 기기(100)는, 제 1 객체 및 제 2 객체 중 제 2 객체를 목표 객체로 선택한 경우, 제 1 객체의 속성 중 상태 정보와 제 2 객체의 속성 중 기능 정보에 기반하여, 제 2 객체의 제어 동작을 결정할 수 있다. 예를 들어, 제 1 객체가 환경이고, 제 2 객체(목표 객체)가 TV인 경우, 전자 장치(100)는, 제 1 객체의 상태 정보(예컨대, 현재 날씨: 비)와 제 2 객체의 기능 정보(예컨대, 채널 변경)에 기반하여, ‘TV의 현재 채널을 날씨 채널로 변경’을 제어 동작으로 결정할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 객체간 연관 속성 테이블(310)을 참조하여, 제 1 객체의 속성 및 제 2 객체의 속성에 대응하는 동작을 결정할 수 있다. 예를 들어, 제 1 객체가 TV이고, 제 1 객체의 속성이 ‘컨텐츠(영화)’이고, 제 2 객체가 사람이고, 제 2 객체의 속성이 ‘아이’인 경우, 전자 기기(100)는, 객체간 연관 속성 테이블(310)에서, TV의 속성인 ‘컨텐츠(영화)’와 사람의 속성인 ‘아이’의 조합에 대응하는 제 2 제어 정보(예컨대, 제어 기기: TV, 동작: 유아용 VOD 재생)를 선택할 수 있다. 전자 기기(100)는, 제 2 제어 정보를 분석하여, TV가 수행해야 하는 동작이 ‘유아용 VOD 재생’임을 확인할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 목표 객체의 제어 프로토콜에 따라, 동작 신호를 생성할 수 있다. 예를 들어, 전자 기기(100)는, 목표 객체의 제어 프로토콜에 따라, 목표 객체가 읽을 수 있는 제어 명령을 포함하는 동작 신호를 생성할 수 있다.
한편, 일 실시예에 의하면, 전자 기기(100)는, 화면에 표시된 제 1 객체 및 제 2 객체에 대한 사용자의 선택 순서에 기초하여, 동작 신호를 생성할 수 있다. 예를 들어, 사용자가 제 1 객체를 선택한 다음 제 2 객체를 선택하는 경우, 전자 기기(100)는, 제 1 객체가 제 1 동작을 수행하도록 제 1 동작 신호를 생성하고, 사용자가 제 2 객체를 선택한 다음 제 1 객체를 선택하는 경우, 전자 기기(100)는 제 1 객체가 제 2 동작을 수행하도록 제 2 동작 신호를 생성할 수 있다. 예컨대, 사용자가 화면에 표시된 제 1 객체(아이)를 손가락으로 터치한 다음 제 2 객체(오디오 장치)까지 드래그하는 경우, 전자 장치(100)는, ‘오디오 장치가 유아용 음악을 재생하라’는 동작 신호를 생성할 수 있다. 반면에, 사용자가 화면에 표시된 제 2 객체(오디오 장치)를 손가락으로 터치한 다음 제 1 객체(아이)까지 드래그하는 경우, 전자 기기(100)는 ‘아이의 수면을 위해 오디오 장치의 볼륨을 2 레벨로 조절하기’라는 동작 신호를 생성할 수 있다.
또한, 일 실시예에 의하면, 사용자가 제 1 객체를 선택한 후 제 2 객체를 선택하는 경우, 전자 기기(100)는, 제 2 객체를 제어하는 제 3 동작 신호를 생성하고, 사용자가 제 2 객체를 선택한 후 제 1 객체를 선택하는 경우 전자 기기(100)는 제 1 객체를 제어하는 제 4 동작 신호를 생성할 수 있다. 반대로, 사용자가 제 1 객체를 선택한 후 제 2 객체를 선택하는 경우, 전자 기기(100)는, 제 1 객체를 제어하는 제 5 동작 신호를 생성하고, 사용자가 제 2 객체를 선택한 후 제 1 객체를 선택하는 경우, 전자 기기(100)는 제 2 객체를 제어하는 제 6 동작 신호를 생성할 수도 있다.
예를 들어, 사용자가 화면에 표시된 TV를 손가락으로 터치한 후 조명 기기를 손가락으로 터치하는 경우, 전자 기기(100)는 TV에서 재생되는 컨텐츠에 따라 조명 기기의 조명 레벨을 조절하는 동작 신호를 생성할 수 있다. 또한, 사용자가 화면에 표시된 조명 기기를 손가락으로 터치한 후 TV를 손가락으로 터치하는 경우, 전자 기기(100)는 조명 기기의 조명 레벨에 따라 TV의 밝기를 조절하는 동작 신호를 생성할 수 있다.
단계 S250에서, 전자 기기(100)는, 생성된 동작 신호를 선택된 객체로 전송할 수 있다.
일 실시예에 따른 전자 기기(100)는, 제어 명령을 포함하는 동작 신호를 목표 객체로 유무선 통신을 통해 전송할 수 있다. 예를 들어, 전자 기기(100)는, 근거리 통신(블루투스, Wi-Fi Direct, Li-Fi, UWB 등), 이동 통신을 이용하여, 동작 신호를 목표 객체로 전송할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 목표 객체로 직접 동작 신호를 전송할 수도 있고, 중계 장치 (예컨대, 서버, 홈 게이트웨이 또는 IoT 허브 등)를 통해 목표 객체에 동작 신호를 전송할 수도 있다. 예를 들어, 전자 기기(100)가 중계 장치로 목표 객체의 식별 정보와 함께 동작 신호를 전송하는 경우, 중계 장치는 목표 객체로 동작 신호를 전달할 수 있다. 일 실시예에 의하면, 중계 장치는 목표 객체의 제어 프로토콜에 대응되게 동작 신호를 변환하고, 변환된 동작 신호를 목표 객체로 전달할 수도 있다.
일 실시예에 의하면, 목표 객체는 수신된 동작 신호를 분석하여, 동작 신호에 대응하는 동작을 수행할 수 있다. 예를 들어, 오디오 장치가 볼륨을 3 레벨로 설정하라는 명령을 포함하는 동작 신호를 수신한 경우, 오디오 장치는 볼륨을 10 레벨에서 3 레벨로 조절할 수 있다.
이하에서는, 전자 기기(100)가 복수의 객체 중에서 제 1 객체 및 제 2 객체를 선택하는 사용자 입력을 수신하는 동작에 대해서 좀 더 구체적으로 살펴보기로 한다.
도 4는 일 실시예에 따르는 이미지 센서를 통해 객체를 인식하는 방법을 설명하기 위한 순서도이다.
단계 S410에서, 전자 기기(100)는 이미지 센서를 통해 인식되는 복수의 객체를 표시할 수 있다. 예를 들어, 전자 기기(100)는, 이미지 센서를 통해 인식되는 피사체를 표시하는 라이브 뷰를 이용하여, 복수의 객체의 실제 이미지를 표시할 수 있다.
단계 S420에서, 전자 기기(100)는, 복수의 객체 중 제 1 객체 및 제 2 객체를 선택하는 사용자 입력을 수신할 수 있다.
여기서, 제 1 객체 및 제 2 객체를 선택하는 사용자 입력은 다양할 수 있다. 예를 들어, 제 1 객체 및 제 2 객체를 선택하는 사용자 입력은, 터치 입력, 음성 입력, 안구 입력, 벤딩 입력 중 적어도 하나일 수 있으나, 이에 한정되는 것은 아니다.
명세서 전체에서 "터치 입력"이란 사용자가 전자 기기(100)를 제어하기 위해 터치 스크린에 행하는 제스처 등을 의미한다. 예를 들어, 본 명세서에서 기술되는 터치 입력에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭 등이 있을 수 있다.
"탭(tap)"은 사용자가 손가락 또는 터치 도구(예컨대, 전자 펜)를 이용하여 화면을 터치한 후 움직이지 않은 채 화면에서 즉시 들어올리는 동작을 나타낸다.
"터치&홀드(touch & hold)"는 사용자가 손가락이나 터치 도구(예컨대, 전자 펜)를 이용하여 화면을 터치한 후 임계 시간(예컨대, 2초) 이상 터치 입력을 유지하는 동작을 나타낸다. 예를 들어, 터치-인 시점과 터치-아웃 시점 간의 시간 차이가 임계 시간(예컨대, 2초) 이상인 경우를 의미한다. 터치 입력이 탭인지 터치&홀드인지를 사용자에게 인식시키도록 하기 위하여 터치 입력이 임계 시간 이상 유지되면 시각적 또는 청각적 또는 촉각적으로 피드백 신호를 제공할 수도 있다. 상기 임계 시간은 구현 예에 따라서 변경될 수 있다.
"더블 탭(double tap)"은 사용자가 손가락이나 터치 도구(예컨대, 전자펜)를 이용하여 화면을 두 번 터치하는 동작을 나타낸다.
"드래그(drag)"는 사용자가 손가락이나 터치 도구를 화면에 터치한 후 터치를 유지한 상태에서 손가락이나 터치 도구를 화면 내의 다른 위치로 이동시키는 동작을 의미한다. 드래그 동작으로 인하여 오브젝트가 이동되거나 후술할 패닝 동작이 수행된다.
"패닝(panning)"은 사용자가 오브젝트를 선택하지 않고 드래그 동작을 수행하는 경우를 나타낸다. 패닝은 특정 오브젝트를 선택하지 않기 때문에 오브젝트가 페이지 내에서 이동되는 것이 아니라 페이지 자체가 화면 내에서 이동하거나, 오브젝트의 그룹이 페이지 내에서 이동한다.
"플릭(flick)"은 사용자가 손가락이나 터치 도구를 이용하여 임계 속도(예컨대, 100 pixel/s) 이상으로 드래그하는 동작을 나타낸다. 손가락이나 터치 도구의 이동 속도가 임계 속도(예컨대, 100 pixel/s) 이상인지에 기초하여 드래그(또는 패닝)와 플릭을 구별할 수 있다.
"드래그 앤드 드롭(drag & drop)"은 사용자가 손가락이나 터치 도구를 이용해 오브젝트를 화면 내 소정 위치에 드래그한 후 놓는 동작을 의미한다.
“핀치(pinch)”는 사용자가 두 손가락을 화면 위에 터치한 상태에서 서로 다른 방향으로 움직이는 동작을 나타낸다. 오브젝트 또는 페이지의 확대(Pinch Open) 또는 축소(Pinch Close)를 위한 제스처이며, 두 손가락의 거리에 따라 확대 값이나 축소 값이 결정된다.
“스와이프(swipe)”는 손가락이나 터치 도구로 화면 위의 오브젝트를 터치한 상태에서 수평 또는 수직 방향으로 일정 거리를 움직이는 동작이다. 사선 방향의 움직임은 스와이프 이벤트로 인식되지 않을 수 있다.
일 실시예에 의하면, 전자 기기(100)는 제 1 객체와 제 2 객체를 선으로 연결하는 드래그 입력을 수신할 수 있다. 또한, 전자 기기(100)는, 제 1 객체와 제 2 객체 각각을 탭하거나 더블 탭하거나 터치 앤 홀드하는 입력을 수신할 수도 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 전자 기기(100)는, 사용자의 음성을 분석하여, 사용자의 음성에 포함된 제 1 객체의 식별 정보 및 제 2 객체의 식별 정보를 인식할 수도 있다. 또한, 전자 기기(100)가 플렉서블 디스플레이를 포함하는 경우, 전자 기기(100)는 일부 영역을 구부려 제 1 객체 및 제 2 객체를 선택하는 벤딩 입력을 수신할 수 있다.
일 실시예에 의하면, 제 1 객체 및 제 2 객체가 하나의 화면에서 표시되지 않는 경우, 사용자는 제 1 라이브 뷰에서 제 1 객체를 선택하고, 제 2 라이브 뷰에서 제 2 객체를 선택할 수 있다. 이때, 전자 기기(100)는, 제 1 라이브 뷰에서 선택된 제 1 객체에 대응하는 아이콘을 제 2 라이브 뷰의 일부 영역(예컨대, 좌측 상단)에 표시할 수 있다.
예를 들어, 사용자는, 제 1 라이브 뷰에서 ‘아이’를 터치한 후 전자 기기(100)를 이동시켜, TV가 포함된 제 2 라이브 뷰가 전자 기기(100)에 표시되면, TV를 터치할 수 있다. 제 1 객체 및 제 2 객체가 하나의 화면에서 표시되지 않는 경우에 대해서는 도 5b를 참조하여, 후에 좀 더 살펴보기로 한다.
단계 S430에서, 전자 기기(100)는, 제 1 객체의 속성 및 제 2 객체의 속성을 확인할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 영상 처리를 통해, 라이브 뷰에서 사용자가 선택한 제 1 객체 및 제 2 객체를 식별할 수 있다. 예를 들어, 전자 기기(100)는 제 1 객체 및 제 2 객체를 포함하는 이미지에 대한 영상 처리를 통해 제 1 터치 위치에 대응하는 제 1 객체가 ‘TV’임을 식별하고, 제 2 터치 위치에 대응하는 제 2 객체가 ‘아이’임을 식별할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 사용자에 의해 선택된 제 1 객체 및 제 2 객체를 식별한 후, 제 1 객체의 속성 및 제 2 객체의 속성을 확인할 수 있다. 전자 기기(100)가 제 1 객체의 속성 및 제 2 객체의 속성을 확인하는 동작은 도 2의 단계 S220에서 설명하였으므로, 여기서는 생략하기로 한다.
도 5a 및 5b는 일 실시예에 따르는 전자 기기가 객체를 선택하는 사용자 입력을 수신하는 동작을 설명하기 위한 도면이다.
도 5a의 제 1 화면(510)을 참조하면, 전자 기기(100)는, TV, 조명 기기, 오디오 장치, 세탁기를 포함하는 라이브 뷰를 표시할 수 있다. 전자 기기(100)는, 라이브 뷰에 대응하는 이미지에 대한 영상 처리를 통해 라이브 뷰 안의 TV, 조명 기기, 오디오 장치, 세탁기의 위치를 식별할 수 있다.
전자 기기(100)는 라이브 뷰 안에서 사용자가 선택 가능한 객체들을 표시(mark)할 수 있다. 예를 들어, 사용자가 선택할 수 있는 객체가 TV, 조명 기기, 오디오 장치인 경우, 전자 기기(100)는, 제 1 아이콘을 TV 근처에 표시하고, 제 2 아이콘을 조명 기기 근처에 표시하고, 제 3 아이콘을 오디오 장치 근처에 표시할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 라이브 뷰 안에서 TV와 조명 기기를 선택하는 입력을 수신할 수 있다. 예를 들어, 전자 기기(100)는, TV 근처에 표시된 제 1 아이콘을 터치한 채 조명 기기 근처에 표시된 제 2 아이콘까지 드래그하는 드래그 입력을 수신할 수 있다. 전자 기기(100)는, 드래그의 시작점과 끝점의 좌표 값을 확인함으로써, 사용자가 TV와 조명 기기를 선택한 것을 인식할 수 있다.
제 2 화면(520)을 참조하면, 전자 기기(100)는 폐 곡선(예컨대, 원, 사각형 등)을 그리는 입력을 수신할 수 있다. 이때, 전자 기기(100)는 폐 곡선이 지나는 객체 및 폐곡선 안의 객체를 선택할 수 있다. 예를 들어, 사용자가 라이브 뷰 상에서 TV, 조명 기기, 오디오 장치를 지나는 원을 그린 경우, 전자 기기(100)는 사용자가 TV, 조명 기기, 오디오 장치를 선택한 것으로 인식할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 3개 이상의 객체를 선택하는 입력을 수신하고, 3 개 이상의 객체들 중에서 2 개 이상의 객체를 제어할 수도 있다. 예를 들어, 전자 기기(100)는 TV의 속성, 조명 기기의 속성, 오디오 장치의 속성에 기반하여, 조명 기기 및 오디오 장치를 목표 객체로 결정하고, 조명 기기로 TV에서 재생되는 컨텐츠에 맞게 조도를 변경하라는 제 1 동작 신호를 전송하고, 오디오 장치로 에서 재생되는 컨텐츠에 맞게 볼륨을 조절하라는 제 2 동작 신호를 전송할 수도 있다.
이하에서는, 설명의 편의상, 전자 기기(100)가 인식된 두 개의 객체 중 하나의 객체를 제어하는 경우를 예로 들어 설명하기로 한다.
제 3 화면(530)을 참조하면, 전자 기기(100)는 전자펜을 이용한 입력을 수신할 수도 있다. 예를 들어, 전자 기기(100)는, TV 근처에 표시된 제 1 아이콘을 전자펜으로 터치한 채 조명 기기 근처에 표시된 제 2 아이콘까지 드래그하는 드래그 입력을 수신할 수 있다. 전자 기기(100)는, 드래그의 시작점과 끝점의 좌표 값을 확인함으로써, 사용자가 TV와 조명 기기를 선택한 것을 인식할 수 있다.
제 4 화면(540)을 참조하면, 전자 기기(100)는 전자펜으로 폐 곡선(예컨대, 원, 사각형 등)을 그리는 입력을 수신할 수도 있다. 예를 들어, 전자 기기(100)는 전자펜으로 오디오 장치와 세탁기를 지나는 원을 그리는 입력을 수신할 수 있다.
제 5 화면(550)을 참조하면, 전자 기기(100)는, 라이브 뷰 상에서 TV와 조명 기기를 선택하는 안구 입력을 수신할 수도 있다. 안구 입력은 전자 기기(100)를 제어하기 위해 사용자가 눈의 깜빡임, 응시 위치, 안구의 이동 속도 등을 조절하는 입력을 의미한다. 예를 들어, 전자 기기(100)는 라이브 뷰 상에서 TV를 3초 이상 응시하다가 조명 기기로 시선을 이동시켜 조명 기기를 3초 이상 응시하는 사용자 입력을 감지할 수 있다. 이때, 전자 기기(100)는 사용자의 응시 위치를 분석하여, 사용자가 TV와 조명 기기를 선택한 것을 확인할 수 있다.
도 5b를 참조하면, 하나의 화면에 제 1 객체와 제 2 객체가 동시에 나타나지 않는 경우, 사용자는 전자 기기(100)를 이동시킬 수 있다. 이 경우, 전자 기기(100)에 포함된 이미지 렌즈의 시야(field of view)가 이동될 수 있다.
예를 들어, 제 1 객체가 아이(501)이고, 제 2 객체가 TV(502)인 경우, 아이(501)와 TV(502)가 멀리 떨어져 있어, 전자 기기(100)의 라이브 뷰 상에 아이(501)와 TV(502)가 동시에 나타나지 않을 수 있다. 이 경우, 사용자는 제 1 라이브 뷰(560)에서 아이(501)를 먼저 선택한 후, 전자 기기(100)를 이동하여, 제 2 라이브 뷰(570)에 TV(502)가 나타나면, 제 2 라이브 뷰(570)에서 TV(502)를 선택할 수 있다. 일 실시예에 의하면, 사용자가 아이(501)를 선택한 후 전자 기기(100)가 이동되는 경우, 전자 기기(100)는 아이(501)에 대응하는 아이콘(503)을 전자 기기(100) 화면의 소정 영역에 표시할 수 있다.
한편, 하나의 라이브 뷰 상에 제 1 객체와 제 2 객체가 동시에 나타나지 않는 경우, 사용자는 화각(angle of view)을 조절할 수도 있다. 예를 들어, 사용자는 화각을 넓힘으로써(예컨대, 줌 아웃), 라이브 뷰 상에 제 1 객체 및 제 2 객체가 동시에 나타나게 할 수도 있다.
도 6은 일 실시예에 따르는 근거리 통신을 통해 객체를 인식하는 방법을 설명하기 위한 순서도이다.
단계 S610에서, 전자 기기(100)는, 근거리 통신을 통해 복수의 객체를 인식할 수 있다. 예를 들어, 전자 기기(100)는, 블루투스 통신을 이용하여, 블루투스 통신 반경 내에 있는 객체들을 검색할 수 있다. 또한, 전자 기기(100)는 BLE 통신을 이용하여, 객체들에서 브로드캐스트되는 BLE 광고 패킷들을 수신함으로써, BLE 통신 반경 내에 있는 객체들을 인식할 수도 있다. 전자 기기(100)는 블루투스, BLE 통신 이외에도 다양한 근거리 통신 방식으로 소정 거리 내에 있는 객체들을 인식할 수 있다. 예를 들어, 전자 기기(100)는, 와이파이 다이렉트, NFC, Li-Fi 등을 이용하여, 객체들을 인식할 수도 있다.
일 실시예에 의하면, 전자 기기(100)는 통신 신호의 세기에 기초하여, 복수의 객체과 전자 기기(100)간의 거리를 판단할 수 있다. 예를 들어, 제 1 객체와의 통신 신호의 세기가 제 2 객체와의 통신 신호의 세기보다 큰 경우, 전자 기기(100)는, 제 1 객체가 제 2 객체보다 가까이 있다고 판단할 수 있다. 또한, 전자 기기(100)는, 통신 신호의 세기에 대응하는 거리를 산출할 수도 있다.
일 실시예에 의하면, 전자 기기(100)가 홈 네트워크에 연결되어 있는 경우, 전자 기기(100)는, 게이트웨이로부터 홈 네트워크에 연결된 객체들에 관한 정보(예컨대, 객체 식별 값, 객체의 현재 상태, 위치 등)를 수신할 수도 있다.
단계 S620에서, 전자 기기(100)는, 복수의 객체 각각에 대응하는 이미지들을 포함하는 객체 맵을 표시할 수 있다.
객체 맵은 전자 기기(100) 주변에 위치하는 객체들 중에서 사용자가 선택할 수 있는 객체들의 이미지를 표시하는 지도일 수 있다. 이때, 복수의 객체 각각에 대응하는 이미지는, 아이콘 이미지, 섬네일 이미지, 기호, 도형, 텍스트 이미지 등일 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 객체 맵은 다양한 형태로 구현될 수 있다. 예를 들어, 객체 맵은, 저장된 객체 이미지를 평면도 상에 표시하는 형태일 수도 있고, 전자 기기(100) 근처에 위치하는 기기들의 이미지를 지자기 맵에 표시하는 형태일 수도 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 객체들에 대응하는 이미지들은, 전자 기기(100)로부터의 거리에 따라 배치될 수 있다. 예를 들어, 오디오 장치보다 TV가 전자 기기(100)에서 가까운 경우, 객체 맵 상에서 TV가 오디오 장치보다 앞에 위치할 수 있다.
단계 S630에서, 전자 기기(100)는, 복수의 객체 중 제 1 객체 및 제 2 객체를 선택하는 사용자 입력을 수신할 수 있다.
여기서, 제 1 객체 및 제 2 객체를 선택하는 사용자 입력은 다양할 수 있다. 예를 들어, 제 1 객체 및 제 2 객체를 선택하는 사용자 입력은, 터치 입력, 음성 입력, 안구 입력, 벤딩 입력 중 적어도 하나일 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 전자 기기(100)는 객체 맵 상에서 제 1 객체와 제 2 객체를 선으로 연결하는 드래그 입력을 수신할 수 있다. 또한, 전자 기기(100)는, 객체 맵에 표시된 제 1 객체와 제 2 객체 각각을 탭하거나 더블 탭하거나 터치 앤 홀드하는 입력을 수신할 수도 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 전자 기기(100)는, 사용자의 음성을 분석하여, 사용자의 음성에 포함된 제 1 객체의 식별 정보 및 제 2 객체의 식별 정보를 인식할 수도 있다. 또한, 전자 기기(100)가 플렉서블 디스플레이를 포함하는 경우, 전자 기기(100)는 일부 영역을 구부려 제 1 객체 및 제 2 객체를 선택하는 벤딩 입력을 수신할 수 있다.
도 7은 일 실시예에 따르는 객체 맵을 설명하기 위한 도면이다.
일 실시예에 의하면, 전자 기기(100)는 주변에 존재하는 객체들의 가상 이미지를 포함하는 객체 맵(700)을 표시할 수 있다. 이때, 객체 맵(700)에는 근거리 통신을 통해 인식된 객체들의 이미지(예컨대, TV 아이콘(701), 조명 기기 아이콘(702), 오디오 장치 아이콘, 청소기 아이콘, 컴퓨터 아이콘, 전자레인지 아이콘)을 포함할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 모바일 폰이 인식되는 경우, 모바일 폰 사용자의 얼굴 이미지를 객체 맵(700)에 표시할 수도 있다. 예를 들어, 제 1 사용자(예컨대, 엄마)의 폰이 인식된 경우, 제 1 사용자(예컨대, 엄마)의 얼굴 이미지(703)를 객체 맵(700)에 표시할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 근거리 통신으로 인식되지 않더라도, 기 정의된 객체들의 이미지를 객체 맵(700)에 표시할 수도 있다. 예를 들어, 사용자가 객체 맵(700)에 가족 구성원 각각의 이미지가 표시되도록 설정한 경우, 전자 기기(100)는, 객체 맵(700)에 제 1 사용자(예컨대, 엄마)의 얼굴 이미지(703), 제 2 사용자(예컨대, 딸)의 얼굴 이미지, 강아지의 이미지 등을 표시할 수 있다. 또한, 일 실시예에 의하면, 전자 기기(100)는 환경을 나타내는 창문 아이콘을 객체 맵(700)에 항상 표시할 수도 있다.
일 실시예에 의하면, 사용자는 객체 맵(700)을 통해 선택 가능한 객체들을 확인 하고, 선택 가능한 객체들 중에서 두 개의 객체를 선택할 수 있다. 예를 들어, 전자 기기(100)는 TV 아이콘(701)을 터치한 채 조명 기기 아이콘(702)까지 드래그하는 드래그 입력을 수신할 수 있다. 이때, 전자 기기(100)는, 객체 맵(700)에 포함된 객체 아이콘들의 위치 정보를 이용하여, 사용자가 TV와 조명 기기를 선택한 것을 인식할 수 있다.
이하에서는, 전자 기기(100)가 제 1 객체의 속성 및 제 2 객체의 속성에 기반하여, 제 1 객체 및 제 2 객체 중 하나를 제어하는 동작에 대해서 자세히 살펴보기로 한다.
도 8은 일 실시예에 따르는 복수의 객체가 모두 제어 가능한 기기인 경우에 있어서, 전자 기기의 객체 제어 방법을 설명하기 위한 순서도이다. 도 8에서는, 제 1 객체(801) 및 제 2 객체(802) 모두가, 전자 기기(100)와 통신할 수 있는 디바이스인 경우를 예로 들어 설명하기로 한다.
단계 S810에서, 전자 기기(100)는, 제 1 객체(801) 및 제 2 객체(802)를 인식할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 카메라의 이미지 센서를 이용하여, 전자 기기(100)의 외부에 존재하는 제 1 객체(801) 및 제 2 객체(802)를 인식할 수 있다. 또한, 전자 기기(100)는 근거리 통신을 이용하여 제 1 객체(801) 및 제 2 객체(802)를 인식할 수도 있다.
한편, 카메라 또는 통신부를 통해 3개 이상의 객체들이 인식된 경우, 전자 기기(100)는 사용자 입력에 기초하여, 인식된 객체들 중에서 제 1 객체(801) 및 제 2 객체(802)를 선택할 수도 있다.
단계 S810은 도 2의 단계 S210에 대응하므로, 구체적인 설명은 생략하기로 한다.
단계 S820에서, 전자 기기(100)는 제 1 객체(801) 및 제 2 객체(802)와 통신 연결을 설정할 수 있다. 예를 들어, 전자 기기(100)가 제 1 객체(801) 및 제 2 객체(802)와 통신 연결이 되어 있지 않은 경우, 전자 기기(100)는, 제 1 객체(801)와 제 1 통신 링크를 형성(establish)하고, 제 2 객체(802)와 제 2 통신 링크를 형성할 수 있다.
이때, 전자 기기(100)는, 식별 정보(예컨대, 디바이스 아이디, 맥 어드레스, 기기 명 등), 기능 정보(예컨대, BLE, Bluetooth, Ant+, Wi-Fi, NFC 지원), 선호하는 통신 방식에 관한 정보(예컨대, 블루투스) 등을 제 1 객체(801) 또는 제 2 객체(802)와 교환함으로써, 제 1 통신 링크 및 제 2 통신 링크를 형성할 수 있다.
일 실시예에 의하면, 제 1 통신 링크 및 제 2 통신 링크는, 블루투스, BLE(Bluetooth Low Energy), 무선 랜(Wi-Fi), WFD(Wi-Fi Direct), UWB, 및 이동 통신 망(예컨대, 2G/3G/4G/5G 등) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
단계 S830에서, 제 1 객체(801)는 제 1 속성 정보를 전자 기기(100)로 전송할 수 있다. 예를 들어, 제 1 객체(801)는, 제 1 통신 링크를 통해 제 1 속성 정보(예컨대, 제 1 객체(801)의 현재 상태 정보, 제 1 객체(801)에서 지원하는 기능 정보 등)를 전자 기기(100)로 전송할 수 있다.
일 실시예에 의하면, 제 1 객체(801)는 주기적으로 제 1 속성 정보를 전자 기기(100)로 전송할 수도 있고, 전자 기기(100)로부터 요청이 수신될 때에 제 1 속성 정보를 전자 기기(100)로 전송할 수도 있다.
단계 S840에서, 제 2 객체(802)는 제 2 속성 정보를 전자 기기(100)로 전송할 수 있다. 예를 들어, 제 2 객체(802)는, 제 2 통신 링크를 통해 제 2 속성 정보(예컨대, 제 2 객체(802)의 현재 상태 정보, 제 2 객체(802)에서 지원하는 기능 정보 등)를 전자 기기(100)로 전송할 수 있다.
일 실시예에 의하면, 제 2 객체(802)는 주기적으로 제 2 속성 정보를 전자 기기(100)로 전송할 수도 있고, 전자 기기(100)로부터 요청이 수신될 때에 제 2 속성 정보를 전자 기기(100)로 전송할 수도 있다.
단계 S850에서, 전자 기기(100)는 객체간 연관 속성 테이블을 이용하여, 목표 객체 및 동작을 결정할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 객체간 연관 속성 테이블(310)을 참조하여, 제 1 객체(801) 및 제 2 객체(802) 중 제어할 목표 객체를 선택할 수 있다. 또한, 전자 기기(100)는, 제 1 객체(801)의 속성 및 제 2 객체(802)의 속성에 대응하는 동작을 결정할 수 있다. 예를 들어, 제 1 객체(801)가 TV이고, 제 1 객체(801)의 속성이 ‘컨텐츠(영화)’이고, 제 2 객체(802)가 조명 기기이고, 제 2 객체(802)의 속성이 ‘밝기’인 경우, 전자 기기(100)는, 객체간 연관 속성 테이블(310)에서, TV의 속성인 ‘컨텐츠(영화)’와 조명 기기의 속성인 ‘밝기’의 조합에 대응하는 제 1 제어 정보(예컨대, 제어 기기: 조명 기기, 동작: 밝기 20%로 설정)를 선택할 수 있다. 전자 기기(100)는, 제 1 제어 정보를 분석하여, 목표 객체가 ‘조명 기기’이고, 조명 기기가 수행해야 하는 동작이 ‘밝기 레벨을 20%로 설정하는 것’임을 확인할 수 있다.
단계 S860에서, 전자 기기(100)는 동작 신호를 생성하고, 전송할 수 있다. 예를 들어, 단계 S870에서, 제 1 객체(801)가 목표 객체로 결정된 경우, 전자 기기(100)는 제 1 객체(801)에 대응하는 제 1 동작 신호를 제 1 객체(801)로 전송할 수 있다. 단계 S875에서, 제 1 객체(801)는 제 1 동작 신호에 대응하는 제 1 동작을 수행할 수 있다.
단계 S880에서, 제 2 객체(802)가 목표 객체로 결정된 경우, 전자 기기(100)는 제 2 객체(802)에 대응하는 제 2 동작 신호를 제 2 객체(802)로 전송할 수 있다. 단계 S885에서, 제 2 객체(802)는 제 2 동작 신호에 대응하는 제 2 동작을 수행할 수 있다.
일 실시예에 의하면, 단계 S810 내지 단계 S885 중 일부 단계가 생략되거나, 일부 단계들의 순서가 변경될 수도 있다. 예를 들어, 단계 S820이 단계 S810보다 먼저 수행될 수 있다. 또한, 단계 S820 내지 단계 S840이 생략될 수도 있다.
이하에서는, 도 9를 참조하여, 사용자가 제어할 객체를 선택하기 전에, 전자 기기(100)가 객체들의 속성 정보를 미리 수집하는 경우에 대해서 자세히 살펴보기로 한다.
도 9는 일 실시예에 따르는 전자 기기가 복수의 객체와 통신 연결된 상태에서, 복수의 객체의 속성에 기반하여 하나의 객체를 제어하는 방법을 설명하기 위한 순서도이다. 도 9에서는, 제 1 객체(901) 및 제 2 객체(902) 모두가, 전자 기기(100)와 통신할 수 있는 디바이스인 경우를 예로 들어 설명하기로 한다.
단계 S905에서, 전자 기기(100)는 제 1 객체(901)와 제 1 통신 링크를 형성하고, 단계 S910에서, 전자 기기(100)는 제 2 객체(902)와 제 2 통신 링크를 형성할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 근거리 통신(예컨대, 블루투스, 와이파이 등)을 통해 제 1 객체(901) 또는 제 2 객체(902)와 직접 연결될 수도 있고, 홈 게이트웨이를 통해 제 1 객체(901) 또는 제 2 객체(902)와 간접적으로 연결될 수도 있다.
단계 S905 및 단계 S910은, 도 8의 단계 S820에 대응하므로, 구체적인 설명은 생략하기로 한다.
단계 S920에서, 전자 기기(100)는, 객체들의 속성 정보를 수집할 수 있다. 예를 들어, 단계 S925에서, 전자 기기(100)는, 제 1 통신 링크를 통해 제 1 객체(901)로부터 제 1 속성 정보를 수신할 수 있다. 이때, 제 1 속성 정보는, 제 1 객체(901)의 식별 정보, 상태 정보, 기능 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
단계 S930에서, 전자 기기(100)는 제 2 객체(902)로부터 제 2 통신 링크를 통해 제 2 속성 정보를 수신할 수 있다. 이때, 제 2 속성 정보는, 제 2 객체(902)의 식별 정보, 상태 정보, 및 기능 정보 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 전자 기기(100)는 제 1 객체(901) 또는 제 2 객체(902)로부터 소정 주기(예컨대, 10분)로 제 1 속성 정보 또는 제 2 속성 정보를 수신할 수 있다. 또한, 전자 기기(100)는 특정 이벤트가 발생하는 경우에 제 1 객체(901) 또는 제 2 객체(902)로부터 제 1 속성 정보 또는 제 2 속성 정보를 수신할 수도 있다. 여기서, 특정 이벤트는, 제 1 객체(901) 또는 제 2 객체(902)의 전원이 켜지는 이벤트, 제 1 객체(901) 또는 제 2 객체(902)가 전자 기기(100)와 통신 링크를 형성하는 이벤트, 제 1 객체(901) 또는 제 2 객체(902)의 상태가 변경되는 이벤트 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 전자 기기(100)는 제 1 객체(901) 또는 제 2 객체(902)로부터 수신되는 새로운 제 1 속성 정보 및 새로운 제 2 속성 정보에 기초하여, 객체들의 속성 정보 데이터베이스(이하, 속성 정보 DB)를 갱신할 수 있다.
단계 S940에서, 전자 기기(100)는 제 1 객체 및 제 2 객체를 인식할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 카메라의 이미지 센서를 이용하여, 전자 기기(100)의 외부에 존재하는 제 1 객체(901) 및 제 2 객체(902)를 인식할 수 있다. 또한, 전자 기기(100)는 근거리 통신을 이용하여 제 1 객체(901) 및 제 2 객체(902)를 인식할 수도 있다.
한편, 카메라 또는 통신부를 통해 3개 이상의 객체들이 인식된 경우, 전자 기기(100)는 사용자 입력에 기초하여, 인식된 객체들 중에서 제 1 객체(901) 및 제 2 객체(902)를 선택할 수도 있다. 단계 S940은 도 2의 단계 S210에 대응하므로, 구체적인 설명은 생략하기로 한다.
단계 S950에서, 전자 기기(100)는 제 1 속성 정보 및 제 2 속성 정보를 추출할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 수집된 객체들의 속성 정보를 저장한 속성 정보 DB에서, 제 1 객체(901)의 식별 정보에 대응하는 제 1 속성 정보를 검색할 수 있다. 또한, 전자 기기(100)는 속성 정보 DB에서 제 2 객체(902)의 식별 정보에 대응하는 제 2 속성 정보를 검색할 수 있다.
단계 S960에서, 전자 기기(100)는 객체간 연관 속성 테이블을 이용하여 제 1 객체(901)를 제어할 목표 객체로 결정할 수 있다. 일 실시예에 의하면, 객체간 연관 속성 테이블은 속성 정보 DB에 포함될 수도 있고, 별개로 존재할 수도 있다.
일 실시예에 의하면, 전자 기기(100)는, 객체간 연관 속성 테이블(310)을 참조하여, 제 1 객체(901)의 제 1 속성 정보 및 제 2 객체(902)의 제 2 속성 정보에 대응하는 제 1 제어 정보를 확인할 수 있다. 제 1 제어 정보에 제 1 객체(901)가 제어 기기로 정의되어 있는 경우, 전자 기기(100)는 제 1 객체(901)를 목표 객체로 선택할 수 있다.
단계 S970에서, 전자 기기(100)는 제 1 동작 신호를 생성할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 제 1 객체(901)의 제 1 속성 정보 및 제 2 객체(902)의 제 2 속성 정보에 대응하는 동작을 결정할 수 있다. 그리고 전자 기기(100)는 결정된 동작에 대응하는 제 1 동작 신호를 생성할 수 있다. 이때, 제 1 동작 신호는 제 1 객체(901)의 제어 프로토콜 정보에 기반하여 생성될 수 있다.
단계 S970은 도 2의 단계 S240에 대응하므로, 구체적인 설명은 생략하기로 한다.
단계 S980에서, 전자 기기(100)는 제 1 동작 신호를 제 1 객체(901)로 전송할 수 있다. 예를 들어, 전자 기기(100)는 제 1 통신 링크를 통해 제 1 동작 신호를 제 1 객체(901)로 전송할 수 있다.
단계 S990에서, 제 1 객체(901)는 제 1 동작 신호에 따라, 제 1 동작을 수행할 수 있다. 일 실시예에 의하면, 제 1 객체(901)는, 제 1 동작을 완료하는 경우, 완료 메시지를 전자 기기(100)로 전송할 수도 있다.
이하에서는, 도 10을 참조하여, 전자 기기(100)가 복수의 객체의 속성 정보에 기반하여 특정 객체를 제어하는 실시 예를 자세히 살펴보기로 한다.
도 10은 일 실시예에 따르는 전자 기기가 TV의 속성과 조명 기기의 속성에 기반하여 조명 기기를 제어하는 동작을 설명하기 위한 도면이다.
도 10의 1010을 참조하면, 전자 기기(100)는 복수의 객체를 포함하는 라이브 뷰를 표시할 수 있다. 이때, 전자 기기(100)는 라이브 뷰에 포함된 복수의 객체를 식별하고, 식별된 복수의 객체들을 나타내는 인디케이터(예컨대, 아이콘)를 해당 객체 주변에 표시할 수 있다. 또한, 전자 기기(100)는, 복수의 객체 각각의 상태 정보를 라이브 뷰 상에 표시할 수 있다.
예를 들어, 전자 기기(100)는, 라이브 뷰에서 TV(1001), 조명 기기(1002), 오디오 장치, 세탁기, 로봇 청소기를 식별할 수 있다. 그리고 전자 기기(100)는, TV(1001)의 상태 정보(예컨대, 시청 중, 볼륨: 60), 조명 기기(1002)의 상태 정보(예컨대, 밝기: 70%), 오디오 장치의 상태 정보(예컨대, 대기 중, 볼륨: 60), 세탁기의 상태 정보(예컨대, 남은 시간: 30분), 로봇 청소기의 상태 정보(예컨대, 청소 중, 배터리: 60% 남음) 등을 표시할 수 있다.
사용자가 어두운 환경에서 TV(1001)에서 재생되는 영화를 감상하기 원하는 경우, 전자 기기(100)는, 라이브 뷰를 통해 TV(1001)와 조명 기기(1002)를 선택하는 사용자 입력을 수신할 수 있다. 예를 들어, 전자 기기(100)는, TV(1001)를 터치한 채 조명 기기(1002)까지 드래그하는 드래그 입력을 수신할 수 있다.
이 경우, 전자 기기(100)는, TV(1001)의 속성(예컨대, 영화 컨텐츠 재생)과 조명 기기(1002)의 속성(밝기: 70%)을 확인하고, 객체 간 연관 속성 테이블(310)을 참조하여, 목표 객체 및 목표 동작을 결정할 수 있다. 예를 들어, 전자 기기(100)는, 목표 객체를 ‘조명 기기(1002)’로 결정하고, 동작을 ‘밝기: 10%로 설정’으로 결정할 수 있다.
도 10의 1020을 참조하면, 전자 기기(100)는, TV(1001)의 속성 및 조명 기기(1002)의 속성에 기반하여 결정된 목표 객체(조명 기기(1002)) 및 목표 동작(‘밝기: 10%로 설정’)에 대한 확인을 요청하는 팝업창(1003)을 표시할 수 있다. 예를 들어, 전자 기기(100)는, ‘영화 감상 모드로 조명을 조절할까요?’라는 메시지를 포함하는 팝업창(1003)을 표시할 수 있다.
도 10의 1030을 참조하면, 사용자가 팝업창(1003)에서 ‘YES’를 선택한 경우, 전자 기기(100)는, 밝기 레벨을 10%로 설정하라는 동작 신호를 생성할 수 있다. 그리고 전자 기기(100)는 생성된 동작 신호를 조명 기기(1002)로 전송할 수 있다. 이때, 조명 기기(1002)는 수신된 동작 신호에 따라, 밝기 레벨을 70%에서 10%로 조절할 수 있다(1004).
도 11은 일 실시예에 따르는 전자 기기에서 인식된 복수의 객체 중 하나만 제어 가능 기기인 경우에 있어서, 전자 기기의 객체 제어 방법을 설명하기 위한 순서도이다. 도 11에서는 제 1 객체(1101)가 제어 가능한 디바이스이고, 제 2 객체(1102)가 제어 불가능한 사물인 경우를 예로 들어 설명하기로 한다.
단계 S1110에서, 전자 기기(100)는, 제 1 객체(1101) 및 제 2 객체(1102)를 인식할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 카메라의 이미지 센서를 이용하여, 전자 기기(100)의 외부에 존재하는 제 1 객체(1101) 및 제 2 객체(1102)를 인식할 수 있다. 또한, 전자 기기(100)는 근거리 통신을 이용하여 제 1 객체(1101) 및 제 2 객체(1102)를 인식할 수도 있다.
한편, 카메라 또는 통신부를 통해 3개 이상의 객체들이 인식된 경우, 전자 기기(100)는 사용자 입력에 기초하여, 인식된 객체들 중에서 제 1 객체(1101) 및 제 2 객체(1102)를 선택할 수도 있다.
단계 S1110은 도 2의 단계 S210에 대응하므로, 구체적인 설명은 생략하기로 한다.
단계 S1120에서, 전자 기기(100)는, 제 1 객체(1101)와 통신 연결을 설정할 수 있다.
예를 들어, 전자 기기(100)가 제 1 객체(1101)와 통신 연결이 되어 있지 않은 경우, 전자 기기(100)는, 제 1 객체(1101)에 통신 연결을 요청하여, 통신 링크를 형성(establish)할 수 있다.
일 실시예에 의하면, 통신 링크는, 블루투스, BLE(Bluetooth Low Energy), 무선 랜(Wi-Fi), WFD(Wi-Fi Direct), UWB, 및 이동 통신 망(예컨대, 2G/3G/4G/5G 등) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
한편, 제 2 객체(1102)는 사물(또는, 사람, 환경)이므로, 전자 기기(100)는 제 2 객체(1102)와 통신 링크를 형성할 수 없다.
단계 S1130에서, 제 1 객체(1101)는, 전자 기기(100)로 제 1 속성 정보를 전송할 수 있다.
예를 들어, 제 1 객체(1101)는, 통신 링크를 통해 제 1 속성 정보(예컨대, 제 1 객체(1101)의 현재 상태 정보, 제 1 객체(1101)에서 지원하는 기능 정보 등)를 전자 기기(100)로 전송할 수 있다.
일 실시예에 의하면, 제 1 객체(1101)는 주기적으로 제 1 속성 정보를 전자 기기(100)로 전송할 수도 있고, 전자 기기(100)로부터 요청이 수신될 때에 제 1 속성 정보를 전자 기기(100)로 전송할 수도 있다.
한편, 제 2 객체(1102)는 사물(또는, 사람, 환경)이므로, 전자 기기(100)는, 제 2 객체(1102)로부터 제 2 객체(1102)의 제 2 속성 정보를 수신할 수 없다. 따라서, 일 실시예에 의하면, 전자 기기(100)는, 제 2 객체(1102)의 제 2 속성 정보를 저장부로부터 획득할 수 있다. 예를 들어, 전자 기기(100)는, 제 2 객체(1102)의 식별 정보에 대응하는 제 2 속성 정보를 저장부에 저장된 속성 정보 DB로부터 검색할 수 있다.
단계 S1140에서, 전자 기기(100)는, 객체간 연관 속성 테이블을 이용하여, 제 1 객체(1101)를 목표 객체로 결정할 수 있다.
예를 들어, 제 1 객체(1101)가 제어 가능한 디바이스이고, 제 2 객체(1102)가 제어 불가능한 사물이므로, 전자 기기(100)는, 객체간 연관 속성 테이블(310)을 참조하여, 제 1 객체(1101) 및 제 2 객체(1102) 중 제어할 목표 객체로 제 1 객체(1101)를 선택할 수 있다.
단계 S1150에서, 전자 기기(100)는, 제 1 객체(1101)의 동작 신호를 생성할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 제 1 객체(1101)의 제 1 속성 정보 및 제 2 객체(1102)의 제 2 속성 정보에 대응하는 동작을 결정할 수 있다. 그리고 전자 기기(100)는 결정된 동작에 대응하는 동작 신호를 생성할 수 있다. 이때, 동작 신호는 제 1 객체(1101)의 제어 프로토콜 정보에 기반하여 생성될 수 있다.
단계 S1150은 도 2의 단계 S240에 대응하므로, 구체적인 설명은 생략하기로 한다.
단계 S1160에서, 전자 기기(100)는, 동작 신호를 제 1 객체(1101)로 전송할 수 있다. 예를 들어, 전자 기기(100)는 기 형성된 근거리 통신 링크를 통해 동작 신호를 제 1 객체(1101)로 전송할 수 있다.
단계 S1170에서, 제 1 객체(100)는, 동작 신호에 대응하는 동작을 수행할 수 있다. 일 실시예에 의하면, 제 1 객체(1101)는, 동작을 완료하는 경우, 완료 메시지를 전자 기기(100)로 전송할 수도 있다.
이하에서는, 도 12 내지 도 14를 참조하여, 전자 기기(100)가 제 1 객체(1101)를 제어하는 실시예에 대해서 자세히 살펴보기로 한다.
도 12는 일 실시예에 따르는 전자 기기가 사람의 속성과 TV의 속성에 기반하여 TV를 제어하는 동작을 설명하기 위한 도면이다.
도 12의 1210을 참조하면, 전자 기기(100)는, 사람(1201)이 TV(1202) 옆에 앉아있는 이미지를 포함하는 라이브 뷰를 표시할 수 있다. 이때, 전자 기기(100)는, 영상 처리 기술을 통해, 라이브 뷰에 표시된 사람(1201) 및 TV(1202)를 식별할 수 있다.
전자 기기(100)는, 사람(1201)과 TV(1202)를 연결하는 드래그 입력을 수신할 수 있다. 이때, 전자 기기(100)는 사람(1201)의 속성(예컨대, 아이)과 TV(1202)의 속성(예컨대, 컨텐츠)을 확인할 수 있다.
전자 기기(100)는, 객체간 연관 속성 테이블(310)에서, TV(1202)의 속성인 ‘컨텐츠’와 사람(1201)의 속성인 ‘아이’의 조합에 대응하는 제어 정보(예컨대, 제어 기기: TV(1202), 동작: 유아용 VOD 재생)를 검색할 수 있다. 전자 기기(100)는, 제어 정보를 분석하여, 목표 객체를 TV(1202)로 결정하고, TV(1202)가 수행해야 하는 동작이 ‘유아용 VOD 재생’임을 확인할 수 있다.
도 12의 1220을 참조하면, 전자 기기(100)는, ‘유아용 VOD를 재생하라는 제어 명령’이 포함된 동작 신호를 생성할 수 있다. 그리고 전자 기기(100)는, 근거리 통신을 이용하여 TV(1202)로 생성된 동작 신호를 전송할 수 있다.
TV(1202)는 전자 기기(100)로부터 수신된 동작 신호에 기초하여, 유아용 VOD 컨텐츠(예컨대, 애니메이션 컨텐츠)를 검색하거나 재생할 수 있다.
일 실시예에 의하면, 사용자는 TV(1202)에서 유아용 VOD를 재생하기 위해 복잡한 절차를 거치지 않고, 전자 기기(100)의 라이브 뷰에 표시된 아이와 TV(1202)를 연결함으로써, 유아용 VOD 컨텐츠가 TV(1202)에서 재생되도록 할 수 있다.
도 13은 일 실시예에 따르는 전자 기기가 환경의 속성과 오디오 장치의 속성에 기반하여 오디오 장치를 제어하는 동작을 설명하기 위한 도면이다.
도 13의 1310을 참조하면, 전자 기기(100)는, 창문(1301) 밖에 비가 내리고, 창문(1301) 옆에 오디오 장치(1302)가 위치하는 이미지를 포함하는 라이브 뷰를 표시할 수 있다. 이때, 전자 기기(100)는, 영상 처리 기술을 통해, 라이브 뷰에 표시된 창문(1301) 및 오디오 장치(1302)를 식별할 수 있다.
전자 기기(100)는, 창문(1301)과 오디오 장치(1302)를 연결하는 드래그 입력을 수신할 수 있다. 이때, 전자 기기(100)는, 창문(1301)의 속성(날씨)과 오디오 장치(1302)의 속성(음악 컨텐츠)을 확인할 수 있다. 예를 들어, 전자 기기(100)는 사용자가 창문(1301)을 터치하는 경우, 날씨 애플리케이션을 이용하여, 외부의 날씨(비)를 확인할 수 있다. 또한, 전자 기기(1301)는 영상 처리 기술을 통해 창문(1301) 밖에 내리는 비를 인식할 수도 있다.
전자 기기(100)는, 객체간 연관 속성 테이블(310)에서, 창문(1301)의 속성인 ‘날씨: 비’와 오디오 장치(1302)의 속성인 ‘음악 컨텐츠’의 조합에 대응하는 제어 정보(예컨대, 제어 기기: 오디오 장치(1302), 동작: 날씨에 맞는 음악 재생)를 검색할 수 있다. 전자 기기(100)는, 제어 정보를 분석하여, 목표 객체를 오디오 장치(1302)로 결정하고, 오디오 장치(1302)가 수행해야 하는 동작이 ‘날씨에 맞는 음악 재생’임을 확인할 수 있다.
도 13의 1320을 참조하면, 전자 기기(100)는 ‘비 오는 날 듣기 좋은 추천곡을 재생하라는 제어 명령’이 포함된 동작 신호를 생성할 수 있다. 그리고 전자 기기(100)는, 근거리 통신을 이용하여, 오디오 장치(1302)로 생성된 동작 신호를 전송할 수 있다.
만일, 오디오 장치(1302)에 ‘비 오는 날 듣기 좋은 추천곡’에 대응하는 음악 파일이 저장되어 있지 않은 경우, 오디오 장치(1302)는 음악 서버에서 ‘비 오는 날 듣기 좋은 추천곡’을 검색하여, 재생할 수도 있다.
또한, 오디오 장치(1302)에 ‘비 오는 날 듣기 좋은 추천곡’에 대응하는 음악 파일이 저장되어 있지 않은 경우, 전자 기기(100)는, ‘비 오는 날 듣기 좋은 추천곡’에 대응하는 음악 파일을 오디오 장치(1302)로 전송할 수 있다. 이때, 음악 파일은 전자 기기(100)의 저장부에 저장된 것일 수도 있고, 전자 기기(100)가 음악 서버에서 실시간으로 검색한 것일 수도 있다.
일 실시예에 의하면, 오디오 장치(100)는 음악 파일을 다운로드하여 재생할 수도 있고, 스트리밍 방식으로 음악 파일을 재생할 수도 있다.
도 14는 일 실시예에 따르는 전자 기기가 사물의 속성과 제습기의 속성에 기반하여 제습기를 제어하는 동작을 설명하기 위한 도면이다.
도 14의 1410을 참조하면, 전자 기기(100)는, 건조대(1401)와 제습기(1402)를 포함하는 라이브 뷰를 표시할 수 있다. 이때, 전자 기기(100)는, 영상 처리 기술을 이용하여, 라이브 뷰에 포함된 건조대(1401)와 제습기(1402)를 식별할 수 있다.
전자 기기(100)는, 라이브 뷰에서 건조대(1401)와 제습기(1402)를 연결하는 드래그 입력을 수신할 수 있다. 이때, 전자 기기(100)는 건조대(1401)의 속성(예컨대, 빨래)과 제습기의 속성(1402)의 속성(예컨대, 제습)을 확인할 수 있다.
전자 기기(100)는, 객체간 연관 속성 테이블(310)에서, 건조대(1401)의 속성인 ‘빨래’와 제습기(1402)의 속성인 ‘제습’의 조합에 대응하는 제어 정보(예컨대, 제어 기기: 제습기(1402), 동작: power on)를 검색할 수 있다. 전자 기기(100)는, 제어 정보를 분석하여, 목표 객체를 제습기(1402)로 결정하고, 제습기(1402)가 수행해야 하는 동작이 ‘제습 기능 활성화’임을 확인할 수 있다.
도 14의 1420을 참조하면, 전자 기기(100)는, ‘제습 기능을 활성화하라는 제어 명령’이 포함된 동작 신호를 생성할 수 있다. 그리고 전자 기기(100)는, 근거리 통신을 이용하여 제습기(1402)로 생성된 동작 신호를 전송할 수 있다.
제습기(1402)는 전자 기기(100)로부터 수신된 동작 신호에 기초하여, 전원을 켜고, 제습 기능을 가동할 수 있다.
일 실시예에 의하면, 사용자는 제습기(1402)를 켜기 위해 복잡한 절차를 거치지 않고, 전자 기기(100)의 라이브 뷰에 표시된 건조대(1401)와 제습기(1402)를 연결함으로써, 제습기(1402)가 가동하도록 할 수 있다.
도 15는 일 실시예에 따르는 전자 기기에서 인식된 복수의 객체가 모두 제어 불가능 객체인 경우에 있어서, 전자 기기가 제 3의 객체를 제어하는 방법을 설명하기 위한 순서도이다. 도 15에서는 제 1 객체(1501) 및 제 2 객체(1502)가 제어 불가능한 객체인 경우를 예로 들어 설명하기로 한다.
단계 S1510에서, 전자 기기(100)는 제 1 객체(1501) 및 제 2 객체(1502)를 인식할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 카메라의 이미지 센서를 이용하여, 전자 기기(100)의 외부에 존재하는 제 1 객체(1501) 및 제 2 객체(1502)를 인식할 수 있다. 또한, 전자 기기(100)는 근거리 통신을 이용하여 제 1 객체(1501) 및 제 2 객체(1502)를 인식할 수도 있다.
한편, 카메라 또는 통신부를 통해 3개 이상의 객체들이 인식된 경우, 전자 기기(100)는 사용자 입력에 기초하여, 인식된 객체들 중에서 제 1 객체(1501) 및 제 2 객체(1502)를 선택할 수도 있다.
단계 S1510은 도 2의 단계 S210에 대응하므로, 구체적인 설명은 생략하기로 한다.
단계 S1520에서, 전자 기기(100)는, 객체간 연관 속성 테이블(310)을 이용하여, 제 3 객체를 목표 객체로 결정할 수 있다.
예를 들어, 제 1 객체(1501) 및 제 2 객체(1502)가 제어 불가능한 객체인 경우, 전자 기기(100)는 목표 객체를 제 1 객체(1501) 및 제 2 객체(1502) 중에서 선택할 수 없다. 따라서, 전자 기기(100)는, 제 1 객체(1501)의 속성과 제 2 객체(1502)의 속성에 기반하여, 제어 가능한 제 3 객체를 선택할 수 있다.
단계 S1530에서, 전자 기기(100)는, 목표 객체로 결정된 제 3 객체가 전자 기기(100)의 외부에 존재하는 외부 장치(1503)인지 전자 기기(100)인지 판단할 수 있다.
단계 S1540에서, 전자 기기(100)는, 외부 장치(1503)로 전송할 동작 신호를 생성할 수 있다.
전자 기기(100)는, 제 1 객체(1501)의 속성과 제 2 객체(1502)의 속성에 기반하여, 외부 장치(1503)의 동작을 결정할 수 있다. 그리고 전자 기기(100)는 결정된 동작에 대응하는 동작 신호를 생성할 수 있다. 이때, 동작 신호는 외부 장치(1503)의 제어 프로토콜 정보에 기반하여 생성될 수 있다.
단계 S1550에서, 목표 객체로 결정된 제 3 객체가 외부 장치(1503)인 경우, 전자 기기(100)는, 외부 장치(1503)와 통신 링크를 형성할 수 있다.
예를 들어, 전자 기기(100)가 외부 장치(1503)와 통신 연결이 되어 있지 않은 경우, 전자 기기(100)는, 외부 장치(1503)에 통신 연결을 요청하여, 통신 링크를 형성(establish)할 수 있다. 일 실시예에 의하면, 통신 링크는, 블루투스, BLE(Bluetooth Low Energy), 무선 랜(Wi-Fi), WFD(Wi-Fi Direct), UWB, 및 이동 통신 망(예컨대, 2G/3G/4G/5G 등) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 전자 기기(100)는 근거리 통신(예컨대, 블루투스, 와이파이 등)을 통해 외부 장치(1503)와 직접 연결될 수도 있고, 홈 게이트웨이를 통해 간접적으로 외부 장치(1503)와 연결될 수도 있다.
한편, 전자 기기(100)가 외부 장치(1503)와 미리 통신 연결되어 있는 경우, 단계 S1550은 생략될 수 있다.
단계 S1560에서, 전자 기기(100)는, 외부 장치(1503)로 동작 신호를 전송할 수 있다. 예를 들어, 전자 기기(100)는 기 형성된 근거리 통신 링크를 통해 동작 신호를 외부 장치(1503)로 전송할 수 있다.
단계 S1570에서, 외부 장치(1503)는 동작 신호에 대응하는 동작을 수행할 수 있다. 일 실시예에 의하면, 외부 장치(1503)는, 동작을 수행하는 경우, 동작 시작 메시지를 전자 기기(100)로 전송할 수도 있다.
단계 S1540 및 단계 S1580에서, 목표 객체로 결정된 제 3 객체가 외부 장치(1503)가 아닌 경우, 전자 기기(100)는, 결정된 동작을 수행할 수 있다. 예를 들어, 전자 기기(100)는, 외부 장치(1503)의 동작 신호를 생성하지 않고, 제 1 객체(1501)의 속성 및 제 2 객체(1502)의 속성에 기반하여 결정된 동작을 직접 수행할 수 있다.
이하에서는, 도 16 내지 도 20을 참조하여, 전자 기기(100)가 제 3 객체를 제어하는 실시예에 대해서 자세히 살펴보기로 한다.
도 16은 일 실시예에 따르는 전자 기기가 사람의 속성과 인형의 속성에 기반하여 TV를 제어하는 동작을 설명하기 위한 도면이다. 도 16에서는, TV(1603)가 전자 기기(100)의 외부에 존재하는 외부 장치인 경우를 예로 들어 설명하기로 한다.
도 16의 1610을 참조하면, 전자 기기(100)는, 사람(1601)이 인형(1602)과 놀고 있는 이미지를 포함하는 라이브 뷰를 표시할 수 있다. 이때, 전자 기기(100)는, 영상 처리 기술을 통해, 라이브 뷰에 표시된 사람(1601) 및 인형(1602)을 식별할 수 있다.
전자 기기(100)는, 사람(1601)과 인형(1602)을 연결하는 드래그 입력을 수신할 수 있다. 이때, 전자 기기(100)는 사람(1601)의 속성(예컨대, 연령: 아이)과 인형(1602)의 속성(예컨대, 캐릭터)을 확인할 수 있다.
전자 기기(100)는, 객체간 연관 속성 테이블(310)에서, 사람(1601)의 속성인 ‘아이’와 인형(1602)의 속성인 ‘캐릭터’의 조합에 대응하는 제어 정보(예컨대, 제어 기기: TV, 동작: 캐릭터가 등장하는 애니메이션 컨텐츠 재생)를 검색할 수 있다. 전자 기기(100)는, 제어 정보를 분석하여, 목표 객체를 TV(1603)로 결정하고, TV(1603)가 수행해야 하는 동작이 ‘캐릭터가 등장하는 애니메이션 컨텐츠 재생’임을 확인할 수 있다.
도 16의 1620을 참조하면, 전자 기기(100)는, 인형(1602)이 제 1 캐릭터의 인형인 경우, ‘제 1 캐릭터가 등장하는 애니메이션 컨텐츠를 재생하라는 제어 명령’이 포함된 동작 신호를 생성할 수 있다. 그리고 전자 기기(100)는, 근거리 통신을 이용하여 TV(1603)로 생성된 동작 신호를 전송할 수 있다.
TV(1603)는 전자 기기(100)로부터 수신된 동작 신호에 기초하여, 제 1 캐릭터가 등장하는 애니메이션 컨텐츠를 재생할 수 있다.
만일, TV(1603)에 제 1 캐릭터가 등장하는 애니메이션 컨텐츠가 저장되어 있지 않은 경우, TV(1603)는 애니메이션 컨텐츠를 컨텐츠 제공 서버에서 검색하여, 재생할 수도 있다. 또는, 전자 기기(100)가 ‘제 1 캐릭터가 등장하는 애니메이션 컨텐츠’를 동작 신호와 함께 전송할 수도 있다.
일 실시예에 의하면, 사용자는 아이가 가지고는 인형(1602)이 등장하는 애니메이션 컨텐츠를 복잡한 절차를 거치지 않고 간단하게 TV(1603)에서 재생할 수 있다.
도 17은 일 실시예에 따르는 전자 기기에서 인식된 사람의 속성과 인형의 속성에 기반하여, 전자 기기에서 컨텐츠를 재생하는 동작을 설명하기 위한 도면이다. 도 17에서는 전자 기기(100)가 모바일 폰이고, TV가 외부 장치인 경우를 예로 들어 설명하기로 한다.
도 17의 1710을 참조하면, 전자 기기(100)는, 사람(1701)이 인형(1702)과 놀고 있는 이미지를 포함하는 라이브 뷰를 표시할 수 있다. 이때, 전자 기기(100)는, 영상 처리 기술을 통해, 라이브 뷰에 표시된 사람(1701) 및 인형(1702)을 식별할 수 있다.
전자 기기(100)는, 사람(1701)과 인형(1702)을 연결하는 드래그 입력을 수신할 수 있다. 이때, 전자 기기(100)는 사람(1701)의 속성(예컨대, 연령: 아이)과 인형(1702)의 속성(예컨대, 캐릭터)을 확인할 수 있다.
전자 기기(100)는, 객체간 연관 속성 테이블(310)에서, 사람(1701)의 속성인 ‘아이’와 인형(1702)의 속성인 ‘캐릭터’의 조합에 대응하는 제어 정보(예컨대, 제어 기기: TV, 동작: 캐릭터가 등장하는 애니메이션 컨텐츠 재생)를 검색할 수 있다. 전자 기기(100)는, 제어 정보를 분석하여, 목표 객체를 TV로 결정하고, TV가 수행해야 하는 동작이 ‘캐릭터가 등장하는 애니메이션 컨텐츠 재생’임을 확인할 수 있다.
도 17의 1720을 참조하면, 전자 기기(100)는 TV와 통신 링크를 형성하기 위해 시도할 수 있다. 하지만, 사용자가 야외에 놀러 나와 있는 경우, 전자 기기(100)는 TV와의 통신 연결에 실패할 수 있다.
이때, 전자 기기(100)는, 해당 캐릭터가 등장하는 애니메이션 컨텐츠를 직접 실행하기 위한 확인 창(1703)을 표시할 수 있다.
도 17의 1730을 참조하면, 사용자가 확인 창(1703)에서 ‘모바일 재생’을 선택하면, 전자 기기(100)는 직접 해당 캐릭터가 등장하는 애니메이션 컨텐츠를 재생할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 저장부에 저장된 애니메이션 컨텐츠를 재생할 수도 있고, 컨텐츠 제공 서버에서 애니메이션 컨텐츠를 검색하여 재생할 수도 있다.
도 18은 일 실시예에 따르는 전자 기기에서 인식된 냉장고의 속성과 사람의 속성에 기반하여, 전자 기기에서 알림을 표시하는 동작을 설명하기 위한 도면이다.
도 18의 1810을 참조하면, 전자 기기(100)는, 냉장고(1801)를 포함하는 라이브 뷰를 표시할 수 있다. 이때, 전자 기기(100)는 영상 처리 기술을 통해, 라이브 뷰에 표시된 냉장고(1801)를 인식할 수 있다.
또한, 전자 기기(100)는 냉장고(1801)의 속성 정보를 확인하고, 냉장고(1801)에 복수의 속성이 매칭되어 있는 경우, 복수의 속성을 나타내는 아이콘들을 표시할 수 있다. 예를 들어, 냉장고(1801)에 대응하는 속성에 ‘장보기’와 ‘유통기한’이 있는 경우, 전자 기기(100)는 ‘장보기 아이콘(1811)’과 ‘유통기한 아이콘(1812)’을 표시할 수 있다.
한편, 전자 기기(100)는 적어도 하나의 객체 이미지를 포함하는 객체 패널(1800)을 표시할 수 있다. 일 실시예에 의하면, 객체 패널(1800)은, 화면의 소정 영역에 위치할 수 있다. 또한, 객체 패널(1800)은 평소에는 보이지 않다가 사용자 요청 시에 화면의 일 측에서 나타날 수도 있다.
일 실시예에 의하면, 객체 패널(1800)에 표시되는 객체 이미지는 사용자가 자주 선택하는 객체의 이미지일 수 있다. 사용자는 객체 패널(1800)에 새로운 객체 이미지를 추가할 수도 있고, 적어도 하나의 객체 이미지를 객체 패널(1800)에서 삭제할 수도 있다.
전자 기기(100)는, ‘유통기한 아이콘(1812)’과 전자 기기(100)의 사용자에 대응하는 아이콘(1802)을 연결하는 드래그 입력을 수신할 수 있다. 이때, 전자 기기(100)는 냉장고(1801)의 속성(예컨대, 유통기한)과 사람의 속성(예컨대, 전자 기기(100)의 사용자)을 확인할 수 있다.
전자 기기(100)는, 객체간 연관 속성 테이블(310)에서, 냉장고(1801)의 속성인 ‘유통기한’과 사람의 속성인 ‘전자 기기(100)의 사용자’의 조합에 대응하는 제어 정보(예컨대, 제어 기기: 전자 기기(100), 동작: 유통 기한이 임박한 음식 리스트 표시)를 검색할 수 있다. 전자 기기(100)는, 제어 정보를 분석하여, 자신이 수행해야 하는 동작이 ‘유통 기한이 임박한 음식 리스트 표시’임을 확인할 수 있다.
도 18의 1820을 참조하면, 전자 기기(100)는 유통 기한이 임박한 음식 리스트(1803)를 표시할 수 있다.
예를 들어, 전자 기기(100)는, 냉장고(1801)와 통신 링크를 형성하고, 냉장고(1801)로부터 유통 기한이 임박한 음식들(예컨대, 우유, 소시지, 계란, 파프리카 등)에 대한 정보를 수신할 수 있다. 그리고 전자 기기(100)는 유통 기한이 임박한 음식들(예컨대, 우유, 소시지, 계란, 파프리카 등)에 관한 정보를 포함하는 팝업창을 표시할 수 있다.
도 19는 일 실시예에 따르는 전자 기기에서 인식된 냉장고의 속성과 사람의 속성에 기반하여, 전자 기기가 외부 기기의 표시를 제어하는 동작을 설명하기 위한 도면이다.
도 19의 1910을 참조하면, 전자 기기(100)는, 냉장고(1901)를 포함하는 라이브 뷰와 객체 패널(1800)을 표시할 수 있다.
전자 기기(100)는 냉장고(1901)의 속성 정보를 확인하고, 냉장고(1901)에 복수의 속성이 매칭되어 있는 경우, 복수의 속성을 나타내는 아이콘들을 표시할 수 있다. 예를 들어, 냉장고(1901)에 대응하는 속성에 ‘장보기’와 ‘유통기한’이 있는 경우, 전자 기기(100)는 ‘장보기 아이콘(1911)’과 ‘유통기한 아이콘(1912)’을 표시할 수 있다.
전자 기기(100)는, ‘장보기 아이콘(1911)’과 제 2 사용자(예컨대, 와이프)에 대응하는 아이콘(1902)을 연결하는 드래그 입력을 수신할 수 있다. 이때, 전자 기기(100)는 냉장고(1901)의 속성(예컨대, 장보기)과 사람의 속성(예컨대, 제 2 사용자)을 확인할 수 있다.
전자 기기(100)는, 객체간 연관 속성 테이블(310)에서, 냉장고(1901)의 속성인 ‘장보기’와 사람의 속성인 ‘제 2 사용자’의 조합에 대응하는 제어 정보(예컨대, 제어 기기: 제 2 사용자의 모바일 폰(1900), 동작: 장보기 리스트 표시)를 검색할 수 있다. 전자 기기(100)는, 제어 정보를 분석하여, 목표 객체를 ‘제 2 사용자의 모바일 폰(1900)’으로 결정하고, 제 2 사용자의 모바일 폰(1900)이 수행해야 하는 동작이 ‘장보기 리스트 표시’임을 확인할 수 있다.
도 19의 1920을 참조하면, 전자 기기(100)는, ‘장보기 리스트를 표시하라는 제어 명령’이 포함된 동작 신호를 생성할 수 있다. 그리고 전자 기기(100)는, 근거리 통신을 이용하여 제 2 사용자의 모바일 폰(1900)으로 생성된 동작 신호를 전송할 수 있다. 이 경우, 제 2 사용자의 모바일 폰(1900)은 장보기 리스트(1903)(예컨대, 우유, 컨디셔너, 계란, 휴지 등)를 표시할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 저장부에 저장된 장보기 리스트(1903)를 제 2 사용자의 모바일 폰(1900)으로 전송할 수도 있고, 냉장고(1901)로부터 장보기 리스트(1903)를 수신하여 제 2 사용자의 모바일 폰(1900)으로 전송할 수도 있다.
또한, 제 2 사용자의 모바일 폰(1900)이 냉장고(1901) 또는 중계 서버(예컨대, 홈 게이트웨이, IoT 허브)로부터 장보기 리스트를 수신하고, 수신된 장보기 리스트(1903)를 화면에 표시할 수도 있다.
도 20은 일 실시예에 따르는 전자 기기가 외부 기기를 원격 제어하는 동작을 설명하기 위한 도면이다.
도 20의 2000-1을 참조하면, 전자 기기(100)는, 제 1 사용자(예컨대, Jane)의 연주회 동영상을 재생하는 제 1 TV(2010)를 포함하는 라이브 뷰를 표시할 수 있다. 이때, 전자 기기(100)는 영상 처리 기술 또는 근거리 통신을 통해 라이브 뷰에 표시된 제 1 TV(2010)를 인식할 수 있다.
또한, 전자 기기(100)는 적어도 하나의 객체 이미지를 포함하는 객체 패널(1800)을 표시할 수 있다. 제 2 사용자(전자 기기(100)의 사용자)가 객체 패널(1800)에서 제 3 사용자(예컨대, Tom)에 대응하는 아이콘(2020)을 터치하는 경우, 전자 기기(100)는 제 3 사용자에 매칭된 속성들을 표시할 수 있다. 예를 들어, 전자 기기(100)는 미러링 아이콘(2021)과 설정 아이콘(2022)을 표시할 수 있다.
전자 기기(100)는 제 1 TV(2010)와 미러링 아이콘(2021)을 연결하는 드래그 입력을 수신할 수 있다. 이때, 전자 기기(100)는 제 1 TV(2010)의 속성(예컨대, 컨텐츠)과 제 3 사용자의 속성(예컨대, 미러링)을 확인할 수 있다.
전자 기기(100)는, 객체간 연관 속성 테이블(310)에서, 제 1 TV(2010)의 속성인 ‘컨텐츠’와 제 3 사용자의 속성인 ‘미러링’의 조합에 대응하는 제어 정보(예컨대, 제어 기기: 제 3 사용자의 제 3 TV(2030), 동작: 제 1 TV(2010)에서 재생 중인 컨텐츠를 표시)를 검색할 수 있다. 전자 기기(100)는, 제어 정보를 분석하여, 목표 객체를 ‘제 3 사용자의 제 3 TV(2030)’로 결정하고, 제 3 TV(2030)가 수행해야 하는 동작이 ‘제 1 TV(2010)에서 재생 중인 컨텐츠(제 1 사용자(예컨대, Jane)의 연주회 동영상)를 표시하는 것’임을 확인할 수 있다.
도 20의 2000-2를 참조하면, 전자 기기(100)는 ‘제 1 사용자(예컨대, Jane)의 연주회 동영상을 표시하라는 제어 명령’을 포함하는 동작 신호를 생성할 수 있다. 그리고 전자 기기(100)는 원거리 통신을 이용하여, 제 3 사용자의 제 3 TV(2030)로 동작 신호를 전송할 수 있다. 이때, 전자 기기(100)는 제 1 사용자(예컨대, Jane)의 연주회 동영상 파일 또는 제 1 사용자(예컨대, Jane)의 연주회 동영상을 표시하는 화면들을 제 3 사용자의 제 3 TV(2030)로 전송할 수 있다.
제 3 사용자의 제 3 TV(2030)는, 수신된 동작 신호에 따라, 제 1 사용자(예컨대, Jane)의 연주회 동영상을 표시할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 제 1 TV(2010)와 설정 아이콘(2022)을 연결하는 드래그 입력을 수신할 수도 있다. 이때, 전자 기기(100)는 제 1 TV(2010)의 속성(예컨대, 컨텐츠 표시)과 제 3 사용자의 속성(예컨대, 설정)을 확인할 수 있다.
그리고 전자 기기(100)는, 객체간 연관 속성 테이블(310)에서, 제 1 TV(2010)의 속성인 ‘컨텐츠 표시’와 제 3 사용자의 속성인 ‘설정’의 조합에 대응하는 제어 정보(예컨대, 제어 기기: 제 3 사용자의 제 3 TV(2030), 동작: 제 1 TV(2010)에서의 설정 정보 반영)를 검색할 수 있다. 전자 기기(100)는, 제어 정보를 분석하여, 제 3 사용자의 제 3 TV(2030)에서 표시되는 화면 이미지가 제 1 TV(2010)에서 표시되도록 제 1 TV(2010)를 제어할 수 있다. 그리고 전자 기기(100)는 제 2 사용자로부터 제 1 TV(2010)에 표시된 화면 이미지에 대한 설정을 수신할 수 있다. 예를 들어, 화면 이미지가 표시 비율 설정 인터페이스를 포함하는 경우, 전자 기기(100)는 표시 비율을 ‘90%’로 설정하는 입력을 수신할 수 있다.
이 경우, 전자 기기(100)는 ‘제 3 TV(2030)의 표시 비율을 90%로 설정하라는 제어 명령’을 포함하는 동작 신호를 생성할 수 있다. 그리고 전자 기기(100)는 원거리 통신을 이용하여, 제 3 사용자의 제 3 TV(2030)로 동작 신호를 전송할 수 있다. 제 3 사용자의 제 3 TV(2030)는, 수신된 동작 신호에 따라, 표시 비율을 90%로 설정할 수 있다.
일 실시예에 의하면, 제 2 사용자는, 조작에 어려움을 느끼는 부모님의 디바이스들을 간단하게 원격으로 제어할 수 있다.
도 21은 일 실시예에 따르는 전자 기기에서 인식된 복수의 객체들의 속성들을 표시하는 방법을 설명하기 위한 순서도이다.
단계 S2110에서, 전자 기기(100)는, 복수의 객체의 속성들을 표시할 수 있다. 예를 들어, 전자 기기(100)는, 제 1 객체에 대응하는 적어도 하나의 속성 및 제 2 객체에 대응하는 적어도 하나의 속성을 화면에 표시할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 다양한 방법으로 복수의 객체의 속성들을 표시할 수 있다. 예를 들어, 전자 기기(100)는 복수의 객체의 속성들에 대응하는 인디케이터를 표시할 수 있다. 이때, 인디케이터는 아이콘, 기호, 텍스트 등일 수 있으나, 이에 한정되는 것은 아니다.
단계 S2120에서, 전자 기기(100)는, 표시된 적어도 하나의 속성을 선택하는 사용자 입력을 수신할 수 있다.
예를 들어, 전자 기기(100)는, 제 1 객체의 제 1 속성 및 제 2 객체의 제 2 속성을 선택하는 사용자 입력을 수신할 수 있다. 또한, 제 2 객체에 대응하는 속성이 하나인 경우, 전자 기기(100)는, 제 1 객체의 제 1 속성과 제 2 객체를 선택하는 사용자 입력을 수신할 수도 있다.
단계 S2130에서, 전자 기기(100)는, 적어도 하나의 속성에 대응하는 목표 객체 및 동작을 결정할 수 있다.
예를 들어, 전자 기기(100)는, 제 1 객체의 제 1 속성 및 제 2 객체의 제 2 속성에 기초하여, 제 1 객체 및 제 2 객체 중에서 제어할 목표 객체를 결정할 수 있다. 또는, 전자 기기(100)는, 제 1 객체의 제 1 속성 및 제 2 객체의 제 2 속성에 기초하여, 제어할 목표 객체로 제 3 객체를 선택할 수도 있다.
일 실시예에 의하면, 전자 기기(100)는, 객체간 연관 속성 테이블(310)을 이용하여, 제 1 객체의 제 1 속성 및 제 2 객체의 제 2 속성의 조합에 대응하는 동작을 결정할 수 있다. 그리고 전자 기기(100)는 결정된 동작에 대응하는 동작 신호를 생성할 수 있다.
도 22는 일 실시예에 따르는 전자 기기가 TV의 속성과, 조명 기기의 속성을 표시하는 동작을 설명하기 위한 도면이다.
도 22를 참조하면, 전자 기기(100)는, TV, 조명 기기, 오디오 장치, 세탁기를 포함하는 라이브 뷰를 표시할 수 있다. 전자 기기(100)는, 라이브 뷰에 대응하는 이미지에 대한 영상 처리를 통해 라이브 뷰 안의 TV, 조명 기기, 오디오 장치, 세탁기의 위치를 식별할 수 있다. 또한, 전자 기기(100)는 근거리 통신을 이용하여, 라이브 뷰 안의 TV, 조명 기기, 오디오 장치, 세탁기의 위치를 식별할 수도 있다.
전자 기기(100)는, 객체들의 속성 정보를 확인하고, 객체들의 속성들을 나타내는 인디케이터를 표시할 수 있다. 예를 들어, TV(2210)에 복수의 속성(예컨대, 밝기, 장르, 볼륨)이 매칭되어 있는 경우, 전자 기기(100)는, 밝기 아이콘(2211), 장르 아이콘(2212), 볼륨 아이콘(2213)을 표시할 수 있다. 또한, 조명 기기(2220)에 복수의 속성(예컨대, 색, 밝기)이 매칭되어 있는 경우, 전자 기기(100)는 색 아이콘(2221), 밝기 아이콘(2222)을 표시할 수 있다.
한편, 전자 기기(100)는 장르 아이콘(2212)과 밝기 아이콘(2222)을 연결하는 드래그 입력을 수신할 수 있다. 이때, 전자 기기(100)는, TV(2210)의 속성(예컨대, 장르)과 조명 기기(2220)의 속성(밝기)의 조합에 대응하는 제어 정보(예컨대, 제어 기기: 조명 기기(2220), 동작: 장르에 맞게 밝기 조절)를 객체 간 연관 속성 테이블(310)에서 검색할 수 있다.
전자 기기(100)는, 제어 정보를 분석하여, 목표 객체를 조명 기기(2220)로 결정하고, 조명 기기(2220)가 수행해야 하는 동작이 ‘장르에 맞게 밝기 조절’임을 확인할 수 있다. 이때, 전자 기기(100)는 TV(2210)의 상태 정보에 기초하여, TV(2210)에서 현재 영화를 재생 중임을 확인하고, 영화 모드에 대응하는 밝기인 10%로 설정하라는 동작 신호를 생성할 수 있다. 그리고 전자 기기(100)는, 생성된 동작 신호를 조명 기기(2220)로 전송할 수 있다.
도 23은 일 실시예에 따르는 전자 기기가 복수의 동작을 추천하는 방법을 설명하기 위한 순서도이다.
단계 S2310에서, 전자 기기(100)는, 제 1 객체의 속성 및 제 2 객체의 속성에 기반하여, 복수의 동작을 추천할 수 있다.
예를 들어, 제 1 객체에 대응하는 속성이 2 개이고, 제 2 객체에 대응하는 속성도 2 개인 경우, 제 1 객체의 속성과 제 2 객체의 속성의 조합에 대응하는 동작은 4개일 수 있다. 따라서, 전자 기기(100)는, 사용자에 의해 선택된 제 1 객체 및 제 2 객체에 대응하는 복수의 동작의 목록을 제공할 수 있다. 이때, 전자 기기(100)는, 4개의 동작들을 모두 표시할 수도 있고, 4개 중 추천하는 2개의 동작을 표시할 수도 있다.
일 실시예에 의하면, 추천하는 동작들을 포함하는 추천 목록은 사용자에 의해 미리 설정될 수 있다. 또한, 전자 기기(100)가 사용자의 사용 패턴을 학습하고, 사용자의 사용 패턴에 따라 추천 목록을 생성할 수도 있다. 예를 들어, 전자 기기(100)는, 사용자가 자주 사용하는 동작들을 포함하는 추천 목록을 생성할 수 있다. 전자 기기(100)는, 사용자가 일주일에 한 번 이상 사용하는 동작들을 포함하는 추천 목록을 생성할 수도 있다.
한편, 제 1 객체의 속성과 제 2 객체의 속성의 조합에 대응하는 동작이 한 개인 경우, 전자 기기(100)는 추천 목록을 표시하지 않고, 해당 동작에 대응하는 동작 신호를 즉시 생성할 수 있다.
단계 S2320에서, 전자 기기(100)는, 추천된 복수의 동작 중에서 하나를 선택하는 사용자 입력을 수신할 수 있다.
여기서, 복수의 동작 중에서 하나를 선택하는 사용자 입력은 다양할 수 있다. 예를 들어, 복수의 동작 중에서 하나를 선택하는 사용자 입력은, 터치 입력(예컨대, 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭), 음성 입력, 안구 입력, 벤딩 입력 중 적어도 하나일 수 있으나, 이에 한정되는 것은 아니다.
단계 S2330에서, 전자 기기(100)는, 선택된 동작에 대응하는 동작 신호를 생성할 수 있다. 그리고 전자 기기(100)는, 목표 객체로 동작 신호를 전송할 수 있다. 이때, 동작 신호는 목표 객체의 제어 프로토콜 정보에 기반하여 생성될 수 있다.
도 24는 일 실시예에 따르는 전자 기기가 TV의 속성과 조명 기기의 속성에 기반하여, 복수의 동작을 추천하는 동작을 설명하기 위한 도면이다.
도 24를 참조하면, 전자 기기(100)는 TV, 조명 기기, 오디오 장치, 세탁기를 포함하는 라이브 뷰를 표시할 수 있다. 전자 기기(100)는, 라이브 뷰에 대응하는 이미지에 대한 영상 처리를 통해 라이브 뷰 안의 TV, 조명 기기, 오디오 장치, 세탁기의 위치를 식별할 수 있다. 또한, 전자 기기(100)는 근거리 통신을 이용하여, 라이브 뷰 안의 TV, 조명 기기, 오디오 장치, 세탁기의 위치를 식별할 수도 있다.
사용자가 어두운 환경에서 TV(2410)에서 재생되는 컨텐츠를 감상하기 원하는 경우, 전자 기기(100)는, 라이브 뷰를 통해 TV(2410)와 조명 기기(2420)를 선택하는 사용자 입력을 수신할 수 있다. 예를 들어, 전자 기기(100)는, TV(2410)를 터치한 채 조명 기기(2420)까지 드래그하는 드래그 입력을 수신할 수 있다.
전자 기기(100)는, TV(2410)의 속성과 조명 기기(2420)의 속성을 확인할 수 있다. 그리고 전자 기기(100)는, TV(2410)의 속성과 조명 기기(2420)의 속성의 조합에 대응하는 제어 정보를 객체 간 연관 속성 테이블(310)에서 검색할 수 있다.
하지만, TV(2410)에 복수의 속성(예컨대, 밝기, 장르, 볼륨)이 매칭되어 있고, 조명 기기(2420)에 복수의 속성(예컨대, 색, 밝기)이 매칭되어 있으므로, 객체 간 연관 속성 테이블(310)에서 검색된 제어 정보도 복수 개 존재할 수 있다.
따라서, 전자 기기(100)는 복수의 제어 정보에 포함된 동작들 중에서 추천 동작 목록(2430)을 표시할 수 있다. 예를 들어, 추천 동작 목록(2430)은, TV(2410)의 속성인 ‘컨텐츠’와 조명 기기(2420)의 속성인 ‘밝기’의 조합에 대응하는 제 1 동작(예컨대, 드라마에 따른 조명 밝기 조절), TV(2410)의 속성인 ‘밝기’와 조명 기기(2420)의 속성인 ‘밝기’의 조합에 대응하는 제 2 동작(예컨대, 조명 밝기에 따른 TV(2410) 휘도 조절, TV(2410)의 속성인 ‘밝기’와 조명 기기(2420)의 속성인 ‘밝기’의 조합에 대응하는 제 3 동작(예컨대, TV 밝기에 따른 조명 조절)을 포함할 수 있다.
사용자가 추천 동작 목록(2430)에서 제 1 동작을 선택하는 경우, 전자 기기(100)는 조명 기기로 밝기 레벨을 조절하라는 제어 명령이 포함된 동작 신호를 전송할 수 있다.
도 25는 일 실시예에 따르는 애플리케이션 실행 시스템을 설명하기 위한 도면이다.
도 25를 참조하면, 일 실시예에 따른 애플리케이션 실행 시스템은 전자 기기(100) 및 복수의 객체(예컨대, 조명 기기(2501), TV(2502), 로봇 청소기(2503), 에어컨(2504) 등)를 포함할 수 있다. 또한, 일 실시예에 의하면, 애플리케이션 실행 시스템은 전자 기기(100) 및 복수의 객체 이외에 서버(미도시)를 더 포함할 수도 있다.
전자 기기(100)는, 복수의 객체 각각과 관련된 애플리케이션을 실행할 수 있는 기기일 수 있다. 애플리케이션은, 특정한 업무를 수행하기 위해 고안된 일련의 컴퓨터 프로그램 집합을 의할 수 있다. 예를 들어, 애플리케이션은, 일정 관리 애플리케이션, 주소록 애플리케이션, 동영상 재생 애플리케이션, 지도 애플리케이션, 방송 애플리케이션, 운동 관리 애플리케이션, 결제 애플리케이션, 육아 애플리케이션, 건강 관리 애플리케이션, 전자책 애플리케이션 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
한편, 일 실시예에 의하면, 애플리케이션은 객체를 제어하기 위한 컨트롤러 애플리케이션을 포함할 수도 있다. 이하에서는, 설명의 편의상, 컨트롤러 애플리케이션을 컨트롤러로 표현하기로 한다.
일 실시예에 의하면, 전자 기기(100)는 사용자의 요청에 따라 특정 객체와 관련된 애플리케이션을 실행할 수 있다. 하지만, 전자 기기(100)에는 다양한 애플리케이션이 존재하므로, 사용자가 전자 기기(100)에서 특정 객체와 관련된 애플리케이션을 신속하게 실행시키기 어렵다. 예를 들어, 사용자는 조명 기기(2501)의 조도를 변경하기 위한 제 1 애플리케이션을 실행시키고 싶을 수 있다. 하지만, 전자 기기(100)에 설치된 애플리케이션들이 많은 경우, 사용자는 제 1 애플리케이션을 신속하게 찾기 어려울 수 있다.
따라서, 이하에서는, 전자 기기(100)가, 객체 인식 모델 정보를 이용하여, 객체와 관련된 애플리케이션을 빠르게 검색 또는 실행함으로써, 사용자의 편의를 도모하는 방법에 대해서 살펴보기로 한다.
본 명세서에서, 객체 인식 모델 정보는, 복수의 객체 각각을 인식하고, 복수의 객체 각각에 대응하는 기능(예컨대, 애플리케이션 또는 컨트롤러)을 실행하기 위한 모델들에 관한 정보를 의미할 수 있다. 객체를 인식하기 위한 모델(이하, 객체 인식 모델)은, 객체를 식별할 수 있는 영상들을 포함할 수 있다. 예를 들어, 제 1 객체(예컨대, TV)를 인식하기 위한 제 1 객체 인식 모델은 제 1 객체에 대응하는 제 1 영상들(예컨대, TV 영상들)을 포함할 수 있으며, 제 2 객체(예컨대, 냉장고)를 인식하기 위한 제 2 객체 인식 모델은 제 2 객체에 대응하는 제 2 영상들(예컨대, 냉장고 영상들)을 포함할 수 있다.
한편, 일 실시예에 의하면, 객체 인식 모델 정보는, 복수의 객체 각각에 연결된 애플리케이션들(또는 컨트롤러들)의 정보를 포함할 수도 있다. 예를 들어, 객체 인식 모델 정보는, 제 3 객체(예컨대, 스피커)와 연결된 제 3 애플리케이션(예컨대, 음악 재생 애플리케이션)에 관한 정보를 포함할 수 있다.
일 실시예에 의하면, 객체 인식 모델 정보는 전자 기기(100)에서 생성될 수도 있고, 서버에서 생성될 수도 있다. 이하에서는, 도 26을 참조하여, 서버에서 일반적인 객체들의 객체 인식 모델 정보를 생성하는 동작에 대해서 자세히 살펴보기로 한다.
도 26은 일 실시예에 따르는 서버에서 객체 인식 모델 정보를 생성하는 방법을 설명하기 위한 순서도이다.
단계 S2610에서, 서버(2600)는, 복수의 카테고리 및 복수의 키워드를 결정할 수 있다.
예를 들어, 도 27을 참조하면, 서버(2600)는, 제품군(예컨대, TV, 에어컨, 청소기 등)을 카테고리(2710)로 결정할 수 있다. 또한, 서버(2600)는, 제품이 사용되는 장소(예컨대, 거실, 부엌, 사무실 등), 제품을 제작한 업체명, 제품의 사용 방식(예컨대, 스탠드형, 벽걸이형, 이동형) 등을 키워드(2720)로 결정할 수 있으나, 이에 한정되는 것은 아니다.
단계 S2620에서, 서버(2600)는, 복수의 카테고리 및 복수의 키워드에 대응하는 객체들의 영상을 검색할 수 있다.
예를 들어, 서버(2600)는, 카테고리(2710)가 TV이고, 키워드(2720)가 거실(living room)인 경우, 거실 TV에 대응하는 영상들을 검색 사이트에서 검색할 수 있다. 또한, 서버(2600)는, 카테고리(2710)가 TV이고, 키워드(2720)가 사무실(office)인 경우, 사무실 TV에 대응하는 영상들을 검색 사이트에서 검색할 수 있다.
일 실시예에 의하면, 서버(2600)는 카테고리 및 키워드에 대응하는 애플리케이션 또는 컨트롤러를 검색할 수도 있다. 예를 들어, 서버(2600)는, 카테고리(2710)가 TV이고, 키워드(2720)가 거실(living room)인 경우, 거실 TV에 대응하는 컨트롤러를 웹사이트에서 검색할 수 있다. 또한, 서버(2600)는 카테고리(2710)가 물병이고, 키워드(2720)가 스마트인 경우, 웹사이트에서 스마트 물병의 애플리케이션을 검색할 수도 있다.
일 실시예에 의하면, 서버(2600)는, 카테고리 별로 폴더를 생성하여, 검색된 영상들을 분류할 수도 있다. 본 명세서에서 ‘폴더(folder)’는, 일정 기준(카테고리)에 따라 관련 있는 컨텐츠(예컨대, 영상들)를 묶어서 보여주기 위한 사용자 인터페이스일 수 있다.
단계 S2630에서, 서버(2600)는, 검색된 객체들의 영상을 이용하여, 객체 인식 모델 정보를 생성할 수 있다.
일 실시예에 의하면, 서버(2600)는, 객체 인식률을 높이기 위해, 딥 러닝 기술을 이용하여, 검색된 객체들의 영상에 대응하는 학습 영상들을 생성할 수 있다. 딥 러닝은 머신 러닝(machine learning)의 일종으로 인간의 뇌를 모방해 복잡한 모델링까지 가능하게 해준다. 머신 러닝은 컴퓨터가 데이터를 통해 학습하고 사람처럼 어떤 대상 혹은 상황을 이해할 수 있게 하는 인공 지능 기술이다.
예를 들어, 서버(2600)는, 검색된 영상의 각도를 변경하여, 객체를 인식하기 위한 학습 영상들을 생성할 수 있다. 도 28을 참조하면, 서버(2600)는, 거실 TV 영상(2800)을 획득한 경우, 거실 TV 영상(2800)을 왼쪽으로 30도 회전한 제 1 학습 영상(2801), 거실 TV 영상(2800)을 오른쪽으로 5도 회전한 제 2 학습 영상(2802), 거실 TV 영상(2800)을 오른쪽으로 20도 회전한 제 3 학습 영상(2803), 거실 TV 영상(2800)을 좌우 대칭 변환한 제 4 학습 영상(2804) 등을 생성할 수 있다.
일 실시예에 의하면, 서버(2600)는, 검색된 객체들의 영상 및 검색된 객체들의 영상에 대응하는 학습 영상들을 포함하는 복수의 객체 인식 모델을 생성할 수 있다. 예를 들어, 서버(2600)는, 원본의 거실 TV 영상(2800), 제 1 학습 영상(2801), 제 2 학습 영상(2802), 제 3 학습 영상(2803), 제 4 학습 영상(2804)을 포함하는 거실 TV의 객체 인식 모델을 생성할 수 있다.
일 실시예에 의하면, 서버(2600)는, 복수의 객체 인식 모델 각각과 애플리케이션(또는 컨트롤러) 정보를 매칭하여, 객체 인식 모델 정보를 생성할 수 있다. 예를 들어, 서버(2600)에서 생성된 객체 인식 모델 정보는, 거실 TV의 객체 인식 모델과 거실 TV를 제어하기 위한 컨트롤러 정보를 매칭한 제 1 매칭 정보, 냉장고의 객체 인식 모델과 냉장고 관리 애플리케이션 정보를 매칭한 제 2 매칭 정보 등을 포함할 수 있다.
단계 S2640에서, 서버(2600)는, 객체 인식 모델 정보를 전자 기기(100)로 전송할 수 있다.
일 실시예에 의하면, 서버(2600)는, 전자 기기(100)로부터 요청이 수신되는 경우에 객체 인식 모델 정보를 전자 기기(100)로 전송할 수도 있고, 일정 주기로 객체 인식 모델 정보를 전자 기기(100)로 전송할 수도 있다. 또한, 서버(2600)는 특정 이벤트가 발생하는 경우에 객체 인식 모델 정보를 전자 기기(100)로 전송할 수도 있다. 예를 들어, 서버(2600)는 객체 인식 모델 정보가 갱신되는 경우, 갱신된 객체 인식 모델 정보를 자동으로 전자 기기(100)로 전송할 수 있다.
단계 S2650에서, 전자 기기(100)는, 서버(2600)로부터 수신된 객체 인식 모델 정보를 저장할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 전자 기기(100) 내부의 메모리에 객체 인식 모델 정보를 저장할 수도 있고, 전자 기기(100) 외부의 저장 장치에 저장할 수도 있다.
일 실시예에 의하면, 전자 기기(100)는, 이미지 센서를 통해 특정 객체의 영상이 획득되는 경우, 저장된 객체 인식 모델 정보를 이용하여, 특정 객체에 대응하는 애플리케이션(또는 컨트롤러)을 자동 실행할 수 있다. 전자 기기(100)가 객체 인식 모델 정보를 이용하여, 애플리케이션을 실행하는 동작에 대해서는 도 37을 참조하여 후에 자세히 살펴보기로 한다.
한편, 도 26에서는 단계 S2610 내지 단계 S2630이 서버(2600)에서 수행되는 경우를 예로 들어 설명하였으나, 이에 한정되는 것은 아니다. 일 실시예에 의하면, 전자 기기(100)에서 단계 S2610 내지 단계 S2630를 수행할 수도 있다.
또한, 일 실시예에 의하면, 단계 S2610 내지 단계 S2650 중 일부 단계가 생략될 수도 있다. 예를 들어, 복수의 카테고리 및 복수의 키워드가 미리 결정되어 있는 경우, 단계 S2610이 생략될 수 있다. 또한, 전자 기기(100)에서 단계 S2610 내지 단계 S2630를 수행하는 경우, 단계 S2640이 생략될 수도 있다.
한편, 서버(2600)에서 객체의 일반적인 영상을 검색하여 객체 인식 모델 정보를 생성하는 경우, 객체 인식 모델 정보에 포함된 영상들과 실제 사용자가 사용하는 객체의 영상 간의 차이가 존재할 수 있다. 이 경우, 전자 기기(100)에서 객체 인식의 오류가 발생할 수 있다. 따라서, 이하에서는, 서버(2600)가, 객체 인식의 오류를 시정(是正)하기 위해 객체 인식 모델 정보를 수정하는 방법에 대해서 살펴보기로 한다.
도 29는 일 실시예에 따르는 객체 인식에 오류가 있는 경우, 객체 인식 모델 정보를 수정하는 방법을 설명하기 위한 순서도이다.
단계 S2910에서, 전자 기기(100)는, 이미지 센서를 통해 제 1 객체의 영상을 획득할 수 있다.
예를 들어, 전자 기기(100)는 이미지 센서를 활성화하고, 활성화된 이미지 센서를 이용하여, 외부의 제 1 객체를 캡쳐(촬영)함으로써, 제 1 객체의 영상을 획득할 수 있다.
단계 S2920에서, 전자 기기(100)는, 제 1 객체의 영상 및 객체 인식 모델 정보를 이용하여, 제 1 객체를 식별할 수 있다.
예를 들어, 전자 기기(100)는 이미지 센서를 통해 획득된 제 1 객체의 영상과 객체 인식 모델 정보에 포함된 영상들을 비교함으로써, 제 1 객체를 식별할 수 있다. 예컨대, 이미지 센서를 통해 획득된 제 1 객체의 영상이 객체 인식 모델 정보에 포함된 제 2 영상과 유사하고, 제 2 영상이 TV의 영상인 경우, 전자 기기(100)는 제 1 객체를 TV로 식별할 수 있다.
단계 S2930에서, 전자 기기(100)는, 제 1 객체의 식별 정보를 표시할 수 있다. 이때, 제 1 객체의 식별 정보는, 제 1 객체의 명칭, 제 1 객체의 아이콘, 제 1 객체의 상표 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
예를 들어, 전자 기기(100)는 제 1 객체가 TV로 식별된 경우, TV 아이콘을 포함하는 팝업창을 화면에 표시할 수 있다.
단계 S2940에서, 전자 기기(100)는, 제 1 객체의 식별 정보에 대한 수정 요청을 수신할 수 있다.
예를 들어, 제 1 객체가 냉장고인데, 전자 기기(100)가 제 1 객체를 TV로 식별한 경우, 전자 기기(100)는 사용자로부터 제 1 객체의 식별 정보에 대한 수정 요청을 수신할 수 있다. 이때, 전자 기기(100)는, 제 1 객체의 명칭 등을 사용자로부터 입력 받을 수 있다.
단계 S2950에서, 전자 기기(100)는 제 1 객체의 식별 정보에 대한 수정 요청이 있는 경우, 서버(2600)에 객체 인식 모델 정보의 수정을 요청할 수 있다.
예를 들어, 제 1 객체의 식별 정보에 대한 수정 요청이 있는 경우, 제 1 객체의 객체 인식 모델이 잘못 생성된 것이므로, 전자 기기(100)는, 서버(2600)에 제 1 객체의 객체 인식 모델을 수정해 달라는 요청을 전송할 수 있다. 이때, 전자 기기(100)는, 이미지 센서를 통해 획득된 제 1 객체의 영상 및 제 1 객체의 식별 정보(예컨대, 제 1 객체의 명칭 등)를 서버(2600)에 전송할 수 있다.
단계 S2960에서, 서버(2600)는, 객체 인식 모델 정보를 수정할 수 있다.
일 실시예에 의하면, 서버(2600)는, 제 1 객체의 영상을 이용하여, 제 1 객체에 대응하는 학습 영상들을 생성할 수 있다. 그리고 서버(2600)는 제 1 객체의 객체 인식 모델에 새로 생성된 학습 영상들을 추가함으로써, 제 1 객체의 객체 인식 모델을 업데이트할 수 있다. 또한, 서버(2600)는 제 1 객체의 객체 인식 모델과 제 1 객체의 식별 정보를 매칭한 정보를 객체 인식 모델 정보에 저장할 수 있다.
한편, 객체 인식 모델 정보에 제 1 객체의 객체 인식 모델이 정의되어 있지 않았던 경우, 서버(2600)는 객체 인식 모델 정보에 제 1 객체의 객체 인식 모델을 새롭게 정의함으로써, 객체 인식 모델 정보를 수정할 수도 있다.
일 실시예에 의하면, 서버(2600)는 객체 인식 모델 정보의 수정이 완료되는 경우, 전자 기기(100)로 수정된 객체 인식 모델 정보를 전송할 수 있다. 이 경우, 전자 기기(100)의 객체 인식률은 높아질 수 있다.
도 30은 전자 기기에서 객체 인식 오류가 발생한 경우를 설명하기 위한 도면이다.
도 30의 제 1 화면(3010)을 참조하면, 전자 기기(100)는, 캡쳐 버튼(3001)을 선택하는 입력을 수신할 수 있다. 이 경우, 전자 기기(100)는, 이미지 센서를 이용하여 외부 객체(3000)를 촬영할 수 있다. 예를 들어, 전자 기기(100)는, 외부 객체(3000)가 TV인 경우, TV를 포함하는 영상을 획득할 수 있다.
도 30의 제 2 화면(3020)을 참조하면, 전자 기기(100)는 획득된 영상을 객체 인식 모델 정보에 포함된 영상들과 비교하여, 외부 객체를 식별하고, 외부 객체의 식별 정보를 표시할 수 있다. 예를 들어, 전자 기기(100)는 외부 객체(3000)를 에어컨으로 판단하고, 에어컨의 아이콘 및 에어컨의 텍스트를 표시할 수 있다. 하지만, 실제 촬영된 외부 객체(3000)는 에어컨이 아니라 TV이므로, 사용자는 객체 인식 모델 정보의 수정을 요청하는 업로드 버튼(3002)을 터치할 수 있다.
도 30의 제 3 화면(3030)을 참조하면, 전자 기기(100)는, 업로드 버튼(3002)을 터치하는 입력에 응답하여, 사용자가 어떤 제품을 촬영하는 것인지 문의하는 박스(3003)를 표시할 수 있다. 전자 기기(100)는 외부 객체(3000)가 ‘TV’라는 입력을 수신하고, 외부 객체(300)의 영상 및 외부 객체의 명칭(즉, TV)을 서버(2600)에 전송하면서, 객체 인식 모델 정보의 수정을 요청할 수 있다.
일 실시예에 의하면, 전자 기기(100)가 객체 인식 모델 정보가 수정된 이후에 외부 객체(3000)를 촬영하는 경우, 전자 기기(100)는 수정된 객체 인식 모델 정보를 이용하여 외부 객체(3000)가 ‘TV’라고 정확히 판단할 수 있다.
한편, 전자 기기(100) 또는 서버(2600)는, 사용자의 요청에 따라, 서버(2600)에서 생성된 일반적인 객체들에 대한 객체 인식 모델 이외에 특정 객체에 대한 개인화 객체 인식 모델을 생성할 수도 있다. 이하에서는, 전자 기기(100) 또는 서버(2600)가 개인화 객체 인식 모델을 생성하는 동작에 대해서 자세히 살펴보기로 한다.
도 31은 일 실시예에 따르는 개인화 객체 인식 모델 정보를 생성하는 방법을 설명하기 위한 순서도이다.
단계 S3110에서, 전자 기기(100)는, 이미지 센서를 통해 제 1 객체의 영상을 획득할 수 있다. 제 1 객체의 영상은 정지 영상일 수도 있고, 동영상일 수도 있다. 제 1 객체의 영상이 동영상인 경우, 제 1 객체의 영상은 복수의 영상 프레임을 포함할 수 있다. 단계 S3110은 도 29의 단계 S2910에 대응하므로, 구체적인 설명은 생략하기로 한다.
일 실시예에 의하면, 전자 기기(100)는 제 1 객체의 식별 정보를 사용자로부터 입력 받을 수도 있다. 예를 들어, 전자 기기(100)는 촬영된 제 1 객체의 제품군, 제 1 객체의 용도, 제 1 객체의 상품명, 제 1 객체의 아이콘 등을 입력 받을 수 있다.
단계 S3120에서, 전자 기기(100)는, 애플리케이션(또는 컨트롤러)을 선택하는 입력을 수신할 수 있다. 예를 들어, 전자 기기(100)는, 제 1 객체의 영상이 촬영되는 경우, 제 1 객체와 관련하여 실행하고 싶은 애플리케이션(또는 컨트롤러)을 선택하는 사용자의 입력을 수신할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 전자 기기(100)에 설치된 애플리케이션의 목록을 표시하고, 애플리케이션의 목록에서 적어도 하나의 애플리케이션을 선택하는 입력을 수신할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 제 1 객체의 영상을 분석하여 제 1 객체를 식별하고, 제 1 객체에 대응하는 적어도 하나의 애플리케이션을 추천할 수도 있다. 이때, 전자 기기(100)는 추천된 애플리케이션을 선택하는 입력을 수신할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 특정 애플리케이션을 검색하는 입력을 수신할 수도 있다. 이 경우, 전자 기기(100)는, 애플리케이션 스토어에서 특정 애플리케이션을 검색하여, 설치할 수도 있다.
단계 S3130에, 전자 기기(100)는, 제 1 객체의 영상 및 애플리케이션(또는 컨트롤러)에 관한 정보를 서버(2600)로 전송할 수 있다. 이때, 애플리케이션(또는 컨트롤러)에 관한 정보는 애플리케이션의 명칭, 애플리케이션의 버전 정보, 애플리케이션의 제작자 정보 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
예를 들어, 전자 기기(100)는 이미지 센서를 통해 획득된 제 1 객체의 영상과 사용자에 의해 선택된 특정 애플리케이션(또는 컨트롤러)에 관한 정보를 서버(2600)에 전송하면서, 제 1 객체의 객체 인식 모델 생성을 요청할 수 있다. 일 실시예에 의하면, 전자 기기(100)는 제 1 객체의 식별 정보(예컨대, 제 1 객체의 명칭)를 서버(2600)로 더 전송할 수 있다.
단계 S3140에서, 서버(2600)는, 제 1 객체의 객체 인식 모델을 생성할 수 있다. 예를 들어, 서버(2600)는, 전자 기기(100)로부터 수신된 제 1 객체의 영상에 대응하는 학습 영상들을 생성할 수 있다. 서버(2600)에서 학습 영상들을 생성하는 동작에 대해서는 도 28에서 살펴보았으므로, 구체적인 설명은 생략하기로 한다. 서버(2600)는 제 1 객체의 영상 및 제 1 객체의 영상에 대응하는 학습 영상들을 포함하는 제 1 객체의 객체 인식 모델을 생성할 수 있다.
일 실시예에 의하면, 서버(2600)는, 제 1 객체의 객체 인식 모델과 사용자에 의해 선택된 애플리케이션(또는 컨트롤러)의 정보를 매칭한 제 1 객체의 매칭 정보를 생성할 수 있다.
단계 S3150에서, 서버(2600)는, 제 1 객체의 객체 인식 모델을 이용하여, 기 생성된 객체 인식 모델 정보를 갱신할 수 있다. 예를 들어, 서버(2600)는, 제 1 객체의 객체 인식 모델과 제 1 객체의 매칭 정보를 기 생성된 객체 인식 모델 정보에 새롭게 추가할 수 있다.
일 실시예에 의하면, 객체 인식 모델 정보를 갱신하는 것은, 기 생성된 객체 인식 모델 정보가 존재하지 않는 경우, 새롭게 객체 인식 모델 정보를 생성하는 것을 포함할 수도 있다.
단계 S3160에서, 서버(2600)는, 전자 기기(100)로 갱신된 객체 인식 모델 정보를 전송할 수 있다.
일 실시예에 의하면, 서버(2600)는, 사용자에 의해 선택된 특정 객체에 대한 개인화 객체 인식 모델 정보와 일반 객체에 대한 일반 객체 인식 모델 정보를 구분하여 전송할 수 있다. 또한, 서버(2600)는, 개인화 객체 인식 모델 정보와 일반 객체 인식 모델 정보를 통합하여 하나의 파일로 전자 기기(100)에 전송할 수도 있다. 한편, 일 실시예에 의하면, 서버(2600)는, 사용자에 의해 선택된 특정 객체에 대한 개인화 객체 인식 모델 정보만을 전자 기기(100)로 전송할 수도 있다.
단계 S3170에서, 전자 기기(100)는 서버(2600)로부터 수신된 객체 인식 모델 정보에 기초하여, 기 저장된 객체 인식 모델 정보를 갱신할 수 있다.
예를 들어, 전자 기기(100)는 기 저장된 객체 인식 모델 정보의 버전과 서버(2600)로부터 수신된 객체 인식 모델 정보의 버전을 비교하고, 서버(2600)로부터 수신된 객체 인식 모델 정보가 기 저장된 객체 인식 모델 정보보다 최신 버전인 경우, 기 저장된 객체 인식 모델 정보를 서버(2600)로부터 수신된 객체 인식 모델 정보로 변경할 수 있다.
도 31에서는, 서버(2600)에서 제 1 객체의 객체 인식 모델을 생성하는 경우를 예로 들어 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 전자 기기(100)가 직접 제 1 객체의 객체 인식 모델을 생성할 수도 있다.
이하에서는, 도 32 내지 도 34를 참조하여, 사용자에 의해 선택된 특정 객체에 대한 개인화 객체 인식 모델 정보를 생성하는 동작에 대해서 좀 더 살펴보기로 한다.
도 32는 일 실시예에 따르는 객체와 애플리케이션을 연결하는 동작을 설명하기 위한 도면이다. 도 32에서는 사용자가 온도 조절기를 서버(2600)에 새롭게 등록하는 경우를 예로 들어 설명하기로 한다.
도 32의 제 1 화면(3210)을 참조하면, 전자 기기(100)는, 캡쳐 버튼을 선택하는 입력에 응답하여, 외부 객체(3200)를 촬영할 수 있다. 예를 들어, 전자 기기(100)는, 이미지 센서를 통해 외부 객체(3200)를 포함하는 영상을 획득할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 이미지 센서를 통해 획득된 영상을 분석하여, 외부 객체(3200)를 식별할 수 있다. 예를 들어, 전자 기기(100)는, 획득된 영상에 포함된 외부 객체(3200)의 특징점(또는 특징 벡터)와 기 저장된 영상들에 포함된 객체들의 특징점(또는 특징 벡터)를 비교함으로써, 외부 객체(3200)가 온도 조절기임을 식별할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 외부 객체(3200)의 식별 정보를 사용자로부터 입력 받을 수도 있다. 예를 들어, 전자 기기(100)는 촬영된 외부 객체(3200)가 온도 조절기라는 입력을 수신할 수 있다.
도 32의 제 2 화면(3220)을 참조하면, 전자 기기(100)는 온도 조절기와 연결하고 싶은 애플리케이션을 선택하는 사용자 입력을 수신하기 위한 GUI(Graphical User Interface)를 제공할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 추천 애플리케이션을 표시하는 추천 창(3201)을 제공할 수 있다. 예를 들어, 전자 기기(100)는, 온도 조절기를 제조한 회사에서 제공하는 OOO 애플리케이션을 추천 창(3202)에 표시할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 온도 조절기와 연결하고 싶은 웹사이트의 주소(예컨대, URL)을 입력하는 입력 창(3202)을 제공할 수도 있다. 또한, 일 실시예에 의하면, 전자 기기(100)는, 전자 기기(100)에 기 설치된 애플리케이션들의 목록(3203)을 표시할 수도 있다.
사용자가 온도 조절기를 제조한 회사에서 제공하는 OOO 애플리케이션을 선택한 경우, 전자 기기(100)는, 온도 조절기의 영상, 온도 조절기의 식별 정보, OOO 애플리케이션의 정보를 이용하여, 온도 조절기의 객체 인식 모델 정보를 생성할 수 있다.
예를 들어, 전자 기기(100)는, 온도 조절기의 영상, 온도 조절기의 식별 정보, OOO 애플리케이션의 정보를 서버(2600)에 전송하면서, 온도 조절기의 객체 인식 모델 정보의 생성을 요청할 수 있다. 이 경우, 서버(2600)는 온도 조절기의 영상을 이용하여 학습 영상들을 생성할 수 있다. 그리고 서버(2600)는 온도 조절기의 식별 정보, 학습 영상들 및 OOO 애플리케이션의 정보를 매칭하여, 온도 조절기의 객체 인식 모델 정보를 생성할 수 있다.
서버(2600)에서 온도 조절기의 객체 인식 모델 정보의 생성이 완료된 경우, 전자 기기(100)는 서버(2600)로부터 온도 조절기의 객체 인식 모델 정보를 수신할 수 있다.
도 32의 제 3 화면(3230)을 참조하면, 온도 조절기의 객체 인식 모델 정보의 생성이 완료된 경우, 전자 기기(100)는, 완료 메시지(예컨대, 온도 조절기가 등록되었습니다)를 표시할 수 있다.
도 32의 제 4 화면(3240)을 참조하면, 전자 기기(100)는 외부 객체(3200)가 이용되는 장소를 설정할 수 있는 설정 창(3205)을 제공할 수도 있다. 이때, 전자 기기(100)는, 설정 창(3205)을 통해 외부 객체가 이용되는 장소를 설정하는 입력을 수신할 수 있다. 예를 들어, 온도 조절기가 집에서 사용되는 경우, 전자 기기(100)는, 설정 창(3205)을 통해 ‘집’을 선택하는 입력을 수신할 수 있다.
전자 기기(100)는 온도 조절기의 객체 인식 모델 정보에 장소 정보를 추가할 수 있다. 이 경우, 전자 기기(100)는, 이미지 센서를 통해 동일한 객체에 대한 영상이 획득되더라도, 전자 기기(100)가 위치하는 장소에 따라 다른 애플리케이션을 실행할 수도 있다. 예를 들어, 전자 기기(100)는, 집에서 온도 조절기의 영상이 촬영된 경우, OOO 애플리케이션을 실행하고, 사무실에서 온도 조절기의 영상이 촬영된 경우, XXX 애플리케이션을 실행할 수 있다.
도 33a는 일 실시예에 따르는 전자 기기가 객체의 동영상을 획득하는 동작을 설명하기 위한 도면이다. 도 33b는 전자 기기가 객체 인식 모델 정보를 서버로부터 다운로드하는 동작을 설명하기 위한 도면이다. 도 33a 및 33b에서는 사용자가 스피커를 서버(2600)에 새롭게 등록하는 경우를 예로 들어 설명하기로 한다.
도 33a의 제 1 화면(3310)을 참조하면, 전자 기기(100)는, 객체 인식률을 높이기 위해, 외부 객체(3300)(예컨대, 스피커)에 대한 정지 영상보다는 동영상 촬영을 유도하는 메시지(예컨대, 대상을 중심에 두고 원을 그리며 동영상을 촬영해 주세요)를 표시할 수 있다. 전자 기기(100)는 동영상 캡쳐 버튼(3301)을 선택하는 입력을 수신할 수 있다.
도 33a의 제 2 화면(3320)을 참조하면, 전자 기기(100)는 동영상 캡쳐 버튼(3301)을 선택하는 입력에 응답하여, 외부 객체(3300)에 대한 동영상을 촬영할 수 있다. 일 실시예에 의하면, 전자 기기(100)는 동영상 촬영 중임을 나타내는 인디케이터(3302)를 표시할 수도 있다.
도 33a의 제 3 화면(3330)을 참조하면, 전자 기기(100)는, 외부 객체(3300)에 대한 동영상 촬영이 완료된 경우, 외부 객체(3300)의 식별 정보를 입력할 수 있는 입력 창(3303)을 표시할 수 있다.
예를 들어, 전자 기기(100)는, 입력 창(3303)에 기 정의된 카테고리의 목록(예컨대, TV, 에어컨, 스피커 등)을 표시할 수 있다. 사용자가 입력 창(3303)에서 스피커를 선택하는 경우, 전자 기기(100)는, 외부 객체(3300)가 스피커임을 인식할 수 있다.
도 33a의 제 4 화면(3340)을 참조하면, 전자 기기(100)는 외부 객체(3300)와 연결할 수 있는 기능들의 목록(3304)을 제공할 수 있다. 예를 들어, 전자 기기(100)는 조작 기능, 애플리케이션 실행 기능, 메모 기능, 사진 표시 기능 등을 포함하는 목록(3304)을 표시할 수 있다. 이때, 사용자가 애플리케이션 실행 기능을 선택하는 경우, 전자 기기(100)는, 스피커에 대응되는 특정 애플리케이션을 입력할 수 있는 GUI를 제공할 수 있다.
전자 기기(100)는, 스피커의 동영상, 스피커의 식별 정보, GUI를 통해 선택된 특정 애플리케이션의 정보를 서버(2600)로 전송하면서, 스피커의 객체 인식 모델 정보의 생성을 요청할 수 있다.
도 33b의 제 5 화면(3350)을 참조하면, 전자 기기(100)는, 스피커의 동영상이 서버(2600)로 모두 전송된 경우, 업로드가 완료되었음을 나타내는 인디케이터를 표시할 수 있다.
도 33b의 제 6 화면(3360)을 참조하면, 전자 기기(100)는, 서버(2600)에서 스피커의 객체 인식 모델 정보를 생성하고 있음을 나타내는 메시지를 표시할 수 있다.
서버(2600)는, 스피커의 동영상을 이용하여 학습 영상들을 생성할 수 있다. 이때, 스피커의 동영상에는 복수의 영상 프레임이 포함되어 있으므로, 서버(2600)는, 복수의 영상 프레임을 이용하여 다양한 학습 영상들을 생성할 수 있다. 그리고 서버(2600)는 스피커의 식별 정보, 학습 영상들 및 특정 애플리케이션의 정보를 매칭하여, 스피커의 객체 인식 모델 정보를 생성할 수 있다.
도 33b의 제 7 화면(3370)을 참조하면, 스피커의 객체 인식 모델 정보의 생성이 완료된 경우, 전자 기기(100)는, 서버(2600)로부터 자동으로 스피커의 객체 인식 모델 정보를 다운로드할 수 있다.
도 34는 일 실시예에 따르는 객체와 컨트롤러를 연결하는 동작을 설명하기 위한 도면이다. 도 34에서는 사용자가 램프를 서버(2600)에 새롭게 등록하는 경우를 예로 들어 설명하기로 한다.
도 34의 제 1 화면(3410)을 참조하면, 전자 기기(100)는, 캡쳐 버튼을 선택하는 입력에 응답하여, 외부 객체(3400)를 촬영할 수 있다. 예를 들어, 전자 기기(100)는, 이미지 센서를 통해 외부 객체(3400)(예컨대, 램프)를 포함하는 영상을 획득할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 이미지 센서를 통해 획득된 영상을 분석하여, 외부 객체(3400)를 식별할 수 있다. 예를 들어, 전자 기기(100)는, 획득된 영상에 포함된 외부 객체(3200)의 특징점(또는 특징 벡터)와 기 저장된 영상들에 포함된 객체들의 특징점(또는 특징 벡터)를 비교함으로써, 외부 객체(3400)가 램프임을 식별할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 외부 객체(3400)의 식별 정보를 사용자로부터 입력 받을 수도 있다. 예를 들어, 전자 기기(100)는 촬영된 외부 객체(3400)가 ‘노란 램프’라는 입력을 수신할 수 있다.
도 34의 제 2 화면(3420)을 참조하면, 전자 기기(100)는 램프와 컨트롤러(3401)를 연결하는 입력을 수신할 수 있다. 이때, 컨트롤러(3401)는 램프의 색상 및/또는 밝기를 조절하는 인터페이스를 포함할 수 있다. 한편, 컨트롤러(3401)는 램프를 제조한 회사에서 제작한 것일 수 있다.
전자 기기(100)는, 램프의 영상, 램프의 식별 정보, 컨트롤러(3401)의 정보를 서버(2600)에 전송하면서, 램프의 객체 인식 모델 정보의 생성을 요청할 수 있다. 이 경우, 서버(2600)는 램프의 영상을 이용하여 학습 영상들을 생성할 수 있다. 그리고 서버(2600)는 램프의 식별 정보, 학습 영상들 및 컨트롤러(3401)의 정보를 매칭하여, 램프의 객체 인식 모델 정보를 생성할 수 있다.
서버(2600)에서 램프의 객체 인식 모델 정보의 생성이 완료된 경우, 전자 기기(100)는 서버(2600)로부터 램프의 객체 인식 모델 정보를 수신할 수 있다.
도 34의 제 3 화면(3430)을 참조하면, 전자 기기(100)가 램프의 객체 인식 모델 정보를 저장한 이후에 이미지 센서를 통해 램프의 영상을 획득하는 경우, 전자 기기(100)는 램프의 객체 인식 모델 정보를 이용하여 컨트롤러(3401)를 자동으로 실행할 수 있다. 전자 기기(100)가 컨트롤러(3401)를 자동으로 실행하는 동작에 대해서는 도 37을 참조하여, 후에 자세히 살펴보기로 한다.
한편, 사용자는 특정 객체와 연결된 애플리케이션 또는 컨트롤러를 변경하고 싶을 수 있다. 이하에서는, 사용자의 요청에 따라 전자 기기(100)가 특정 객체와 연결된 애플리케이션 또는 컨트롤러를 변경하는 동작에 대해서 도 35를 참조하여 자세히 살펴보기로 한다.
도 35는 일 실시예에 따르는 객체 인식 모델 정보를 갱신하는 방법을 설명하기 위한 순서도이다.
단계 S3510에서, 전자 기기(100)는, 제 1 객체에 연결된 애플리케이션 또는 컨트롤러를 변경하는 입력을 수신할 수 있다.
예를 들어, 전자 기기(100)는, 제 1 객체에 연결된 제 1 애플리케이션을 제 2 애플리케이션으로 변경하는 입력을 수신할 수 있다. 또는, 전자 기기(100)는 제 1 객체에 연결된 제 1 애플리케이션을 제 1 컨트롤러로 변경하는 입력을 수신할 수도 있다.
단계 S3520에서, 전자 기기(100)는, 제 1 객체에 연결된 애플리케이션 또는 컨트롤러를 변경하는 입력에 응답하여, 객체 인식 모델 정보를 갱신할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 제 1 객체에 연결된 제 1 애플리케이션을 제 2 애플리케이션으로 변경하는 입력을 수신한 경우, 제 1 객체의 객체 인식 모델 정보의 수정을 서버에 요청할 수 있다.
서버(2600)는 제 1 애플리케이션 대신에 제 2 애플리케이션을 제 1 객체의 객체 인식 모델과 매칭함으로써, 제 1 객체의 객체 인식 모델 정보를 수정할 수 있다.
전자 기기(100)는 수정된 제 1 객체의 객체 인식 모델 정보를 서버(2600)로부터 수신하고, 수정된 제 1 객체의 객체 인식 모델 정보에 기초하여, 기 저장된 객체 인식 모델 정보를 갱신할 수 있다.
한편, 일 실시예에 의하면, 전자 기기(100)는 직접 제 1 객체의 객체 인식 모델 정보를 수정함으로써, 기 저장된 객체 인식 모델 정보를 갱신할 수도 있다.
도 36을 참조하여, 전자 기기(100)가 사용자의 요청에 따라 특정 객체와 연결된 애플리케이션 또는 컨트롤러를 변경하는 동작에 대해서 좀 더 살펴보기로 한다.
도 36은 일 실시예에 따르는 전자 기기가 사용자 요청에 따라 객체 인식 모델 정보를 수정하는 동작을 설명하기 위한 도면이다.
도 36의 제 1 화면(3610)을 참조하면, 전자 기기(100)는, 객체 인식 모델 생성된 객체들의 목록을 제공할 수 있다. 이때, 목록에는 객체들의 식별 정보(예컨대, TV, Speaker, Photo 등) 및 객체들 각각과 연결된 애플리케이션(또는 컨트롤러)의 정보가 표시될 수 있다.
전자 기기(100)는 목록에서 TV(3601)를 선택하는 입력을 수신할 수 있다. 이때, TV(3601)는 컨트롤러와 연결되어 있을 수 있다.
도 36의 제 2 화면(3620)을 참조하면, 전자 기기(100)는 TV(3601)와 컨트롤러 간의 연결에 대한 편집 요청을 수신할 수 있다. 예를 들어, 전자 기기(100)는 연결 편집 버튼(3602)을 터치하는 입력을 수신할 수 있다.
도 36의 제 3 화면(3630)을 참조하면, 전자 기기(100)는, 연결 편집 버튼(3602)을 터치하는 입력에 응답하여, TV(3601)와 연결할 수 있는 기능들의 목록을 제공할 수 있다. 이때, 사용자는 목록에서 애플리케이션 실행 기능(3603)을 선택할 수 있다.
도 36의 제 4 화면(3640)을 참조하면, 사용자가 애플리케이션 실행 기능(3603)을 선택하는 경우, 전자 기기(100)는, TV(3601)에 대응되는 특정 애플리케이션을 입력할 수 있는 GUI를 제공할 수 있다. 이때, 전자 기기(100)는, GUI를 통해 추천 애플리케이션의 목록(3604) 및 기 설정된 애플리케이션의 목록(3605)을 제공할 수 있다.
전자 기기(100)는, TV의 식별 정보, 및 GUI를 통해 선택된 특정 애플리케이션의 정보를 서버(2600)로 전송하면서, TV의 객체 인식 모델 정보의 수정을 요청할 수 있다. 이때, 서버(2600)는 컨트롤러 대신에 특정 애플리케이션의 정보를 TV의 식별 정보와 매칭함으로써, TV의 객체 인식 모델 정보를 수정할 수 있다.
도 37은 일 실시예에 따르는 전자 기기가 애플리케이션 또는 컨트롤러를 실행하는 방법을 설명하기 위한 순서도이다.
단계 S3710에서, 전자 기기(100)는, 이미지 센서를 통해 제 1 객체의 영상을 획득할 수 있다.
예를 들어, 전자 기기(100)는 이미지 센서를 활성화하고, 활성화된 이미지 센서를 이용하여, 외부의 제 1 객체를 캡쳐(촬영)함으로써, 제 1 객체의 영상을 획득할 수 있다.
단계 S3720에서, 전자 기기(100)는, 객체 인식 모델 정보를 이용하여, 제 1 객체를 식별할 수 있다.
예를 들어, 전자 기기(100)는 이미지 센서를 통해 획득된 제 1 객체의 영상과 객체 인식 모델 정보에 포함된 영상들을 비교함으로써, 제 1 객체를 식별할 수 있다. 예컨대, 이미지 센서를 통해 획득된 제 1 객체의 영상이 객체 인식 모델 정보에 포함된 제 2 영상과 유사하고, 제 2 영상이 스피커의 영상인 경우, 전자 기기(100)는 제 1 객체를 스피커로 식별할 수 있다.
단계 S3730에서, 전자 기기(100)는, 제 1 객체에 대응하는 애플리케이션 또는 컨트롤러를 실행할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 객체 인식 모델 정보에 포함된 매칭 정보를 확인하고, 제 1 객체의 객체 인식 모델과 매칭된 특정 애플리케이션(또는 컨트롤러)을 실행할 수 있다. 예를 들어, 제 1 객체가 스피커이고, 객체 인식 모델 정보에 스피커와 음악 재생 애플리케이션이 매칭되어 있는 경우, 전자 기기(100)는 음악 재생 애플리케이션을 실행할 수 있다.
도 38은 일 실시예에 따르는 전자 기기가 TV에 대응하는 컨트롤러를 표시하는 동작을 설명하기 위한 도면이다.
도 38의 제 1 화면(3810)을 참조하면, 전자 기기(100)는 이미지 센서를 통해 획득된 외부 객체(3800)의 영상과 객체 인식 모델 정보에 포함된 영상들을 비교함으로써, 외부 객체(3800)를 식별할 수 있다. 예를 들어, 외부 객체(3800)의 영상과 객체 인식 모델 정보에 포함된 TV의 영상의 유사도가 임계 값(예컨대, 95%)보다 큰 경우, 전자 기기(100)는 외부 객체(3800)를 TV로 인식할 수 있다.
도 38의 제 2 화면(3820)을 참조하면, 전자 기기(100)에 저장된 객체 인식 모델 정보에 TV와 컨트롤러(3801)가 매칭되어 있는 경우, 전자 기기(100)는 컨트롤러(3801)를 화면에 표시할 수 있다.
따라서, 일 실시예에 의하면, 사용자는 간단하게 객체의 영상을 촬영함으로써, 전자 기기(100)에서 객체와 관련된 애플리케이션(또는 컨트롤러)을 빠르게 실행시킬 수 있다.
한편, 일 실시예에 의하면, 사용자는 특정 객체를 애플리케이션 이외에 메모 또는 웹사이트와 연결시킬 수도 있다. 이하에서는, 전자 기기(100)가 사용자의 요청에 따라 객체와 메모(또는 웹사이트 주소)를 연결하는 동작에 대해서 자세히 살펴보기로 한다.
도 39는 일 실시예에 따르는 메모 또는 웹사이트 주소와 객체를 연결하여, 객체 인식 모델 정보를 생성하는 방법을 설명하기 위한 순서도이다.
단계 S3910에서, 전자 기기(100)는, 이미지 센서를 통해 제 1 객체의 영상을 획득할 수 있다. 제 1 객체의 영상은 정지 영상일 수도 있고, 동영상일 수도 있다. 제 1 객체의 영상이 동영상인 경우, 제 1 객체의 영상은 복수의 영상 프레임을 포함할 수 있다. 단계 S3910은 도 29의 단계 S2910에 대응하므로, 구체적인 설명은 생략하기로 한다.
일 실시예에 의하면, 전자 기기(100)는 제 1 객체의 식별 정보를 사용자로부터 입력 받을 수도 있다. 예를 들어, 전자 기기(100)는 촬영된 제 1 객체의 제품군, 제 1 객체의 용도, 제 1 객체의 상품명, 제 1 객체의 아이콘 등을 입력 받을 수 있다.
단계 S3920에서, 전자 기기(100)는, 메모 또는 웹사이트 주소를 입력 받을 수 있다.
예를 들어, 전자 기기(100)는, 제 1 객체의 영상이 촬영되는 경우, 제 1 객체와 관련하여 표시하고 싶은 메모를 저장하는 입력을 수신할 수 있다. 또는, 전자 기기(100)는, 제 1 객체의 영상이 촬영되는 경우, 제 1 객체와 관련하여 접속하고 싶은 웹사이트 주소를 정의하는 입력을 수신할 수 있다.
단계 S3930에서, 전자 기기(100)는, 제 1 객체의 영상 및 메모(또는, 웹사이트 주소)에 관한 정보를 서버(2600)로 전송할 수 있다.
예를 들어, 전자 기기(100)는 이미지 센서를 통해 획득된 제 1 객체의 영상, 사용자에 의해 입력된 메모(또는 웹사이트 주소)에 관한 정보, 및 제 1 객체의 식별 정보(예컨대, 제 1 객체의 명칭, 제품군 등)를 서버(2600)에 전송하면서, 제 1 객체의 객체 인식 모델 정보 생성을 요청할 수 있다.
단계 S3940에서, 서버(2600)는, 전자 기기(100)로부터 수신된 요청에 따라, 제 1 객체의 객체 인식 모델 정보를 생성할 수 있다.
예를 들어, 서버(2600)는, 전자 기기(100)로부터 수신된 제 1 객체의 영상에 대응하는 학습 영상들을 생성할 수 있다. 서버(2600)에서 학습 영상들을 생성하는 동작에 대해서는 도 28에서 살펴보았으므로, 구체적인 설명은 생략하기로 한다. 서버(2600)는 제 1 객체의 영상 및 제 1 객체의 영상에 대응하는 학습 영상들을 포함하는 제 1 객체의 객체 인식 모델을 생성할 수 있다. 그리고, 서버(2600)는, 제 1 객체의 객체 인식 모델과 사용자에 의해 입력된 메모(또는 웹사이트 주소)를 매칭한 매칭 정보를 포함하는 제 1 객체의 객체 인식 모델 정보를 생성할 수 있다.
서버(2600)에서 제 1 객체의 객체 인식 모델 정보의 생성이 완료된 경우, 전자 기기(100)는 서버(2600)로부터 제 1 객체의 객체 인식 모델 정보를 수신할 수 있다.
도 40은 일 실시예에 따르는 신용 카드와 메모를 연결하는 동작을 설명하기 위한 도면이다.
도 40의 제 1 화면(4010)을 참조하면, 전자 기기(100)는, 캡쳐 버튼을 선택하는 입력에 응답하여, 외부 객체(4000)를 촬영할 수 있다. 예를 들어, 전자 기기(100)는, 이미지 센서를 통해 신용 카드를 포함하는 영상을 획득할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 이미지 센서를 통해 획득된 영상을 분석하여, 외부 객체(4000)를 식별할 수 있다. 예를 들어, 전자 기기(100)는 획득된 영상을 분석하여, 외부 객체(4000)가 신용 카드임을 식별하고, 신용 카드에 표시된 텍스트 또는 숫자를 인식할 수도 있다.
일 실시예에 의하면, 전자 기기(100)는, 외부 객체(4000)의 식별 정보를 사용자로부터 입력 받을 수도 있다. 예를 들어, 전자 기기(100)는 촬영된 외부 객체(4000)가 신용 카드라는 입력을 수신할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 외부 객체(4000)가 식별된 경우, 외부 객체(4000)와 연결할 수 있는 기능들의 목록(4001)을 제공할 수 있다. 예를 들어, 전자 기기(100)는 메모 등록 기능(4001), 사진 연결 기능, 애플리케이션 연결 기능 등을 포함하는 목록을 표시할 수 있다. 이때, 전자 기기(100)는, 목록에서 메모 등록 기능(4001)을 선택하는 입력을 수신할 수 있다.
도 40의 제 2 화면(4020)을 참조하면, 사용자가 메모 등록 기능(4001)을 선택하는 경우, 전자 기기(100)는, 메모 입력 창(4002)을 표시할 수 있다. 이때, 전자 기기(100)는 메모 입력 창(4002)을 통해 사용자로부터 신용 카드의 결제 계좌 정보를 포함하는 메모를 입력 받을 수 있다.
전자 기기(100)는, 신용 카드의 영상, 신용 카드의 식별 정보, 메모의 정보를 서버(2600)에 전송하면서, 신용 카드의 객체 인식 모델 정보의 생성을 요청할 수 있다. 이 경우, 서버(2600)는 신용 카드의 영상을 이용하여 학습 영상들을 생성할 수 있다. 그리고 서버(2600)는 신용 카드의 식별 정보, 학습 영상들 및 메모를 매칭하여, 신용 카드의 객체 인식 모델 정보를 생성할 수 있다.
도 40의 제 3 화면(4030)을 참조하면, 서버(2600)에서 신용 카드의 객체 인식 모델 정보의 생성이 완료된 경우, 전자 기기(100)는 서버(2600)로부터 신용 카드의 객체 인식 모델 정보를 수신할 수 있다. 그리고 전자 기기(100)는, 완료 메시지(4003)(예컨대, 메모가 등록되었습니다)를 표시할 수 있다.
전자 기기(100)가 신용 카드의 객체 인식 모델 정보를 저장한 이후에 이미지 센서를 통해 신용 카드의 영상을 획득하는 경우, 전자 기기(100)는 신용 카드의 객체 인식 모델 정보를 이용하여, 신용 카드의 결제 계좌 정보를 포함하는 메모를 자동으로 화면에 표시할 수 있다.
도 41은 일 실시예에 따르는 창문과 웹사이트 주소를 연결하는 동작을 설명하기 위한 도면이다.
도 41의 제 1 화면(4110)을 참조하면, 전자 기기(100)는, 캡쳐 버튼(4101)을 선택하는 입력에 응답하여, 외부 객체(4100)를 촬영할 수 있다. 예를 들어, 전자 기기(100)는, 이미지 센서를 통해 창문을 포함하는 영상을 획득할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 이미지 센서를 통해 획득된 영상을 분석하여, 외부 객체(4100)를 식별할 수 있다. 예를 들어, 전자 기기(100)는 획득된 영상을 분석하여, 외부 객체(4100)가 창문임을 식별할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 외부 객체(4100)의 식별 정보를 사용자로부터 입력 받을 수도 있다. 예를 들어, 전자 기기(100)는 촬영된 외부 객체(4000)가 창문이라는 입력을 수신할 수 있다.
도 41의 제 2 화면(4120)을 참조하면, 전자 기기(100)는 위치 센서(예컨대, GPS)를 이용하여, 현재의 위치 정보(4102)를 표시할 수 있다. 또한, 전자 기기(100)는 창문의 영상이 획득되는 경우 접속하고자 하는 웹사이트의 주소 정보(예컨대, URL)(4103)를 입력 받을 수 있다. 예를 들어, 전자 기기(100)는, 날씨 정보를 제공하는 웹 사이트의 주소 정보(예컨대, http://OOOO.weather .com)를 입력 받을 수 있다.
전자 기기(100)는, 창문의 영상, 창문의 식별 정보, 날씨 정보를 제공하는 웹 사이트의 주소 정보(4103), 위치 정보(4102) 등을 서버(2600)에 전송하면서, 창문의 객체 인식 모델 정보의 생성을 요청할 수 있다. 이 경우, 서버(2600)는 창문의 영상을 이용하여 학습 영상들을 생성할 수 있다. 그리고 서버(2600)는 창문의 식별 정보, 학습 영상들 및 날씨 정보를 제공하는 웹 사이트의 주소 정보(4103), 위치 정보(4102)를 매칭하여, 창문의 객체 인식 모델 정보를 생성할 수 있다.
도 41의 제 3 화면(4130)을 참조하면, 서버(2600)에서 창문의 객체 인식 모델 정보의 생성이 완료된 경우, 전자 기기(100)는 서버(2600)로부터 창문의 객체 인식 모델 정보를 수신할 수 있다. 그리고 전자 기기(100)는, 완료 메시지(4104)(예컨대, 정보가 등록되었습니다)를 표시할 수 있다.
도 42는 일 실시예에 따르는 전자 기기가 창문에 대응하는 날씨 정보를 표시하는 동작을 설명하기 위한 도면이다.
도 42의 제 1 화면(4210)을 참조하면, 전자 기기(100)는 캡쳐 버튼(4201)을 선택하는 입력에 응답하여, 이미지 센서를 통해 외부 객체(4200)를 촬영할 수 있다. 전자 기기(100)는 이미지 센서를 통해 획득된 외부 객체(4200)의 영상과 객체 인식 모델 정보에 포함된 영상들을 비교함으로써, 외부 객체(4200)를 식별할 수 있다. 예를 들어, 외부 객체(4200)의 영상과 객체 인식 모델 정보에 포함된 창문의 영상의 유사도가 임계 값(예컨대, 95%)보다 큰 경우, 전자 기기(100)는 외부 객체(4200)를 창문으로 인식할 수 있다.
도 42의 제 2 화면(4220)을 참조하면, 전자 기기(100)에 저장된 객체 인식 모델 정보에 창문과 날씨 정보를 제공하는 웹 사이트의 주소 정보가 매칭되어 있는 경우, 전자 기기(100)는 날씨 정보를 제공하는 웹 사이트에 접속하여, 날씨 정보(4202)를 화면에 표시할 수 있다. 따라서, 사용자는 전자 기기(100)를 이용하여 간단하게 창문의 영상을 촬영함으로써, 날씨 정보를 빠르게 확인할 수 있다.
도 43은 일 실시예에 따르는 전자 기기의 구성을 설명하기 위한 블록 구성도이다.
도 43을 참조하면, 전자 기기(100)는, 출력부(110), 통신부(120), 사용자 입력부(130), A/V 입력부(140), 저장부(150), 센싱부(160), 제어부(170)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 전자 기기(100)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 전자 기기(100)는 구현될 수 있다. 예를 들어, 전자 기기(100)는 제어부(170)와 통신부(120)로 구현될 수도 있고, 제어부(170)와 통신부(120), 및 출력부(110)로 구현될 수도 있으나, 이에 한정되는 것은 아니다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
출력부(110)는, 오디오 신호 또는 비디오 신호 또는 진동 신호의 출력을 위한 것으로, 이에는 디스플레이부(111)와 음향 출력부(112), 진동 모터(113) 등이 포함될 수 있다.
디스플레이부(111)는 전자 기기(100)에서 처리되는 정보를 표시 출력할 수 있다. 예를 들어, 디스플레이부(111)는 전자 기기(100)에서 인식된 복수의 객체를 표시할 수 있다.
디스플레이부(111)와 터치패드가 레이어 구조를 이루어 터치스크린으로 구성되는 경우, 디스플레이부(111)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(111)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 전자 기기(100)의 구현 형태에 따라 전자 기기(100)는 디스플레이부(111)를 2개 이상 포함할 수도 있다. 이때, 2개 이상의 디스플레이부(111)는 힌지(hinge)를 이용하여 마주보게 배치될 수 있다.
디스플레이부(111)는, 전자 기기(100에서 인식되는 복수의 객체를 표시할 수 있다. 예를 들어, 디스플레이부(111)는, 이미지 센서를 통해 인식되는 복수의 객체를 표시할 수 있다. 또한, 디스플레이부(111)는 근거리 통신을 이용하여 인식되는 복수의 객체를 표시할 수도 있다. 이때, 디스플레이부(111)는 복수의 객체의 실제 이미지를 표시할 수도 있고, 가상의 이미지를 표시할 수도 있다. 예를 들어, 디스플레이부(111)는 복수의 객체를 포함하는 라이브 뷰를 표시할 수도 있고, 복수의 객체를 나타내는 가상의 이미지들을 포함하는 객체 맵을 표시할 수도 있다.
디스플레이부(111)는, 제 1 객체 및 제 2 객체에 대한 적어도 하나의 속성을 표시할 수 있다. 예를 들어, 디스플레이부(111)는, 적어도 하나의 속성에 대응하는 아이콘, 기호, 텍스트를 표시할 수 있다.
디스플레이부(111)는 제 1 객체의 속성 및 제 2 객체의 속성에 기반하여 결정된 복수의 동작을 포함하는 추천 동작 목록을 표시할 수도 있다. 또한, 디스플레이부(111)는 복수의 객체에 대응하는 상태 정보를 표시할 수도 있다.
음향 출력부(112)는 통신부(120)로부터 수신되거나 저장부(150)에 저장된 오디오 데이터를 출력할 수 있다. 또한, 음향 출력부(112)는 전자 기기(100)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력할 수 있다. 예를 들어, 음향 출력부(212)에는, 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.
진동 모터(113)는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터(113)는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다.
통신부(120)는, 전자 기기(100)와 외부 객체 또는 전자 기기(100)와 서버 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(120)는, 근거리 통신부(121), 이동 통신부(122), 방송 수신부(123)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(121)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 예르ㅔㄹ 들어, 근거리 통신부(121)는 Li-Fi(Light Fidelity) 통신부를 포함할 수도 있다.
Li-Fi(Light Fidelity)는, 발광 다이오드(LED)에서 나오는 빛의 파장을 이용하여 정보를 전달하는 가시광 통신(VLC: Visible Light Communication) 기술의 보조 방식을 의미할 수 있다. Li-Fi(Light Fidelity)는, 조명이 있는 곳이면 어디서나 사용할 수 있으며 인체에 무해하다. 또한, Li-Fi(Light Fidelity)는, 짧은 도달 거리로 인해 안정성, 보안성이 강하며, 저비용, 고속 통신이 가능하다는 장점이 있다.
이동 통신부(122)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(123)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 기기(100)는 방송 수신부(123)를 포함하지 않을 수도 있다.
통신부(120)는, 근거리 통신을 이용하여, 전자 기기(100)로부터 소정 거리 내에 위치하는 복수의 객체를 인식할 수 있다.
통신부(120)는, 제 1 객체의 속성 및 제 2 객체의 속성에 기반하여 생성된 동작 신호를 목표 객체(예컨대, 제 1 객체, 제 2 객체 또는 제 3 객체)로 전송할 수 있다. 통신부(120)는 목표 객체로부터 동작 완료 메시지 또는 동작 시작 메시지를 수신할 수도 있다.
사용자 입력부(130)는, 사용자가 전자 기기(100)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(130)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
사용자 입력부(130)는, 디스플레이부(111)에 표시된 복수의 객체 중 제 1 객체 및 제 2 객체를 선택하는 사용자 입력을 수신할 수 있다. 또한, 사용자 입력부(130)는, 디스플레이부(111)에 표시된 적어도 하나의 속성을 선택하는 사용자 입력을 수신할 수도 있다. 사용자 입력부(130)는, 추천된 복수의 동작 중에서 하나를 선택하는 사용자 입력을 수신할 수 있다. 사용자 입력은, 터치 입력, 음성 입력, 벤딩 입력, 안구 입력 중 하나일 수 있으나, 이에 한정되는 것은 아니다.
A/V(Audio/Video) 입력부(140)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(141)와 마이크로폰(142) 등이 포함될 수 있다. 카메라(141)는 화상 통화모드 또는 촬영 모드에서 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 카메라(141)를 통해 캡쳐된 이미지는 제어부(170) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
카메라(141)에서 처리된 화상 프레임은 저장부(150)에 저장되거나 통신부(120)를 통하여 외부로 전송될 수 있다. 카메라(141)는 전자 기기(100)의 구성 태양에 따라 2개 이상이 구비될 수도 있다.
마이크로폰(142)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(142)은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰(142)은 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
저장부(150)는, 제어부(170)의 처리 및 제어를 위한 프로그램을 저장할 수도 있고, 입/출력되는 데이터들(예컨대, 객체의 속성 정보, 통신 연결 정보 등)을 저장할 수도 있다.
저장부(150)는, 예를 들면, 내장 메모리 또는 외장 메모리를 포함할 수 있다. 내장 메모리는, 예를 들면, 휘발성 메모리(예: 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)) 중 적어도 하나를 포함할 수 있다.
외장 메모리는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱(memory stick) 등을 포함할 수 있다. 외장 메모리는 다양한 인터페이스를 통하여 전자 기기(100)와 기능적으로 및/또는 물리적으로 연결될 수 있다. 또한, 전자 기기(100)는 인터넷(internet)상에서 저장부(150)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영할 수도 있다.
저장부(150)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, 객체 인식 모듈 (151), 안구 추적 모듈(152) 등으로 분류될 수 있으나, 이에 한정되는 것은 아니다.
객체 인식 모듈 (151)은, 원본 프레임에 포함된 제 1 객체 및 제 2 객체를 인식하기 위한 영상 처리 알고리즘을 포함할 수 있다. 객체 인식 모듈 (151)은 원본 프레임에 대한 분석을 통해 제 1 객체의 외곽선 및 제 2 객체의 외곽선을 검출할 수 있다. 그리고 객체 인식 모듈 (151)은, 검출된 제 1 객체의 외곽선 및 제 2 객체의 외곽선을 기 정의된 템플릿(template)과 비교하여, 객체의 종류, 객체의 명칭 등을 검출할 수 있다.
객체 인식 모듈 (151)은, 객체에 대한 얼굴 인식을 수행하기 위한 얼굴 인식 알고리즘을 포함할 수도 있다. 객체 인식 모듈 (151)은 얼굴 영역으로부터 추출된 얼굴의 특징을 기 등록된 사용자들의 얼굴 특징과 비교할 수 있다. 객체 인식 모듈 (151)은, 객체에 포함된 활자 영상에 대한 문자 인식을 수행하는 문자 인식 알고리즘을 포함할 수도 있다.
객체 인식 모듈 (151)은, 근거리 통신을 통해 인식된 객체들의 통신 신호 세기에 기초하여, 전자 기기(100)로부터 해당 객체까지의 거리를 결정할 수도 있다.
안구 추적 모듈(152)은, 눈의 깜빡임, 응시 위치, 안구의 이동 속도 등을 분석하여, 사용자의 안구 입력을 해석할 수 있다.
저장부(150)는, 객체간 연관 속성 테이블(153), 기기별 동작 제어 정보(154), 객체 인식 모델 정보(155)를 저장할 수 있다.
객체간 연관 속성 테이블(153 또는 310)은, 복수의 객체들의 속성 조합에 대응하는 제어 정보를 정의한 테이블일 수 있다. 여기서, 제어 정보는 복수의 객체들 중에서 제어의 대상이 되는 기기(이하, 제어 기기, 또는 목표 객체라 함), 제어 기기에서 수행해야 하는 동작에 관한 정보를 포함할 수 있다.
기기별 동작 제어 정보(154)는, 기기별 제어 프로토콜에 관한 정보를 포함할 수 있다. 예를 들어, 기기별 동작 제어 정보(154)는, 동작 신호를 형성하는 데이터 포맷, 동작 신호에 포함되는 제어 명령 언어에 관한 정보 등을 포함할 수 있다.
객체 인식 모델 정보(155)는, 복수의 객체 각각을 인식하고, 복수의 객체 각각에 대응하는 기능(예컨대, 애플리케이션 또는 컨트롤러)을 실행하기 위한 정보를 포함할 수 있다. 예를 들어, 객체 인식 모델 정보는 복수의 객체 각각을 식별하기 위한 복수의 객체 인식 모델, 복수의 객체 인식 모델 각각에 매칭된 기능 정보(예컨대, 애플리케이션 정보, 컨트롤러 정보, 메모 정보, 웹사이트 주소 정보 등)를 포함할 수 있다.
센싱부(160)는, 전자 기기(100)의 상태 또는 전자 기기(100) 주변의 상태를 감지하고, 감지된 정보를 제어부(170)로 전달할 수 있다.
센싱부(160)는, 지자기 센서(Magnetic sensor)(161), 가속도 센서(Acceleration sensor)(162), 기울기 센서(163), 적외선 센서(164), 자이로스코프 센서(165), 위치 센서(166), 지문 센서(167), 근접 센서(168), 및 광 센서(169) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
제어부(170)는, 통상적으로 전자 기기(100)의 전반적인 동작을 제어한다. 예를 들어, 제어부(170)는, 저장부(150)에 저장된 프로그램들을 실행함으로써, 출력부(110), 통신부(120), 사용자 입력부(130), A/V 입력부(140), 저장부(150), 센싱부(160) 등을 전반적으로 제어할 수 있다.
제어부(170)는, 제 1 객체 및 제 2 객체를 인식하고, 제 1 객체의 속성 및 상기 제 2 객체의 속성을 확인할 수 있다. 제어부(170)는, 제 1 객체의 속성 및 제 2 객체의 속성에 기반하여, 제 1 객체 및 제 2 객체 중 제어할 객체를 선택하고, 선택된 객체의 동작 신호를 생성할 수 있다. 예를 들어, 제어부(170)는, 제 1 객체 및 제 2 객체 중 제 2 객체가 선택된 경우, 제 1 객체의 상태 정보와 제 2 객체의 기능 정보에 기반하여, 제 2 객체의 동작 신호를 생성할 수 있다.
제어부(170)는, 제 1 객체 및 제 2 객체에 대한 사용자의 터치 순서에 기초하여, 선택된 객체의 동작 신호를 생성할 수 있다. 예를 들어, 사용자가 제 1 방향(예컨대, 제 1 객체에서 제 2 객체 방향)으로 드래그한 경우, 제 1 동작에 대응하는 제 1 동작 신호를 생성하고, 사용자가 제 2 방향(예컨대, 제 2 객체에서 제 1 객체 방향)으로 드래그한 경우, 제 2 동작에 대응하는 제 2 동작 신호를 생성할 수 있다.
제어부(170)는, 제 1 객체 및 제 2 객체가 제어 불가능한 객체인 경우, 제 1 객체의 속성과 제 2 객체의 속성에 기반하여, 제어 가능한 제 3 객체를 선택할 수 있다. 제어부(170)는, 제 3 객체의 동작 신호를 생성하고, 제 3 객체의 동작 신호를 제 3 객체로 전송하도록 통신부(120)를 제어할 수 있다.
제어부(170)는, 제 1 객체 및 제 2 객체가 제어 불가능한 객체인 경우, 제 1 객체의 속성 및 제 2 객체의 속성에 기반하여, 전자 기기(100)의 동작을 선택하고, 선택된 동작을 수행할 수도 있다.
제어부(170)는, 제 1 객체의 속성 및 제 2 객체의 속성에 기반하여 추천된 복수의 동작 중에서 하나를 선택하는 사용자 입력에 따라, 선택된 동작에 대응하는 동작 신호를 생성할 수 있다.
도 44는 일 실시예에 따르는 서버의 구성을 설명하기 위한 블록 구성도이다.
도 44에 도시된 바와 같이, 일 실시예에 따른 서버(2600)는 통신부(2610), 제어부(2620), 저장부(2630)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 서버(2600)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 서버(2600)는 구현될 수 있다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
통신부(2610)는, 서버(2600)와 전자 기기(100)간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(2610)는, 전자 기기(100)로부터 객체의 영상, 객체와 연결된 애플리케이션(또는, 컨트롤러, 메모, 웹사이트 주소)의 정보, 객체의 식별 정보, 객체 인식 모델 정보 생성 요청(또는 갱신 요청)을 수신할 수 있다.
통신부(2610)는, 객체 인식 모델 정보가 생성되는 경우, 객체 인식 모델 정보를 전자 기기(100)로 전송할 수 있다. 통신부(2610)는, 객체 인식 모델 정보를 주기적으로 전자 기기(100)로 전송할 수도 있고, 특정 이벤트 발생 시에 전자 기기(100)로 전송할 수도 있다.
제어부(2620)는, 통상적으로 서버(2600)의 전반적인 동작을 제어한다. 예를 들어, 제어부(2620)는, 일반적인 객체들에 대한 일반 객체 인식 모델 정보를 생성하거나, 사용자에 의해 선택된 특정 객체들에 대한 개인화 객체 인식 모델 정보를 생성할 수 있다.
저장부(2630)는 제어부(2620)의 처리를 위한 프로그램을 저장할 수도 있고, 입/출력되는 데이터들을 저장할 수도 있다. 예를 들어, 저장부(2630)는 영상 검색 모듈(2631), 학습 영상 생성 모듈(2632) 등을 저장할 수 있다.
영상 검색 모듈(2631)은, 복수의 카테고리 및 복수의 키워드에 대응하는 객체들의 영상을 검색할 수 있다. 예를 들어, 영상 검색 모듈(2631)은, 카테고리가 TV이고, 키워드가 거실(living room)인 경우, 거실 TV에 대응하는 영상들을 검색 서버에서 검색할 수 있다.
학습 영상 생성 모듈(2632)은 딥 러닝 기술을 이용하여, 검색된 객체들의 영상에 대응하는 학습 영상들을 생성할 수 있다. 예를 들어, 학습 영상 생성 모듈(2632)은 검색된 영상의 각도를 변경하여, 객체를 인식하기 위한 학습 영상들을 생성할 수 있다.
또한, 저장부(2630)는, 서버(2600)에서 생성되는 객체 인식 모델 정보(2633)를 관리하기 위한 데이터베이스를 구축할 수도 있다.
일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
일 실시예에 의하면, 전자 기기(100)는, 전자 기기(100)에서 인식되는 복수의 객체의 속성에 기반하여, 사용자의 의도에 맞게 제어할 목표 객체 및 목표 동작을 결정함으로써, 사용자가 외부 기기를 편하게 제어할 수 있도록 한다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.
Claims (20)
- 전자 기기가 객체를 제어하는 방법에 있어서,
제 1 객체 및 제 2 객체를 인식하는 단계;
상기 제 1 객체의 속성 및 상기 제 2 객체의 속성을 확인하는 단계;
상기 제 1 객체의 속성 및 상기 제 2 객체의 속성에 기반하여, 상기 제 1 객체 및 상기 제 2 객체 중 제어할 객체를 선택하는 단계;
상기 선택된 객체의 동작 신호를 생성하는 단계; 및
상기 생성된 동작 신호를 상기 선택된 객체로 전송하는 단계를 포함하는 객체 제어 방법. - 제 1 항에 있어서, 상기 제 1 객체 및 상기 제 2 객체를 인식하는 단계는,
이미지 센서를 통해 인식되는 복수의 객체를 표시하는 단계; 및
상기 복수의 객체 중 상기 제 1 객체 및 상기 제 2 객체를 선택하는 사용자 입력을 수신하는 단계를 포함하는 객체 제어 방법. - 제 1 항에 있어서, 상기 제 1 객체 및 상기 제 2 객체를 인식하는 단계는,
근거리 통신을 이용하여, 상기 전자 기기로부터 소정 거리 내에 위치하는 복수의 객체의 이미지를 표시하는 단계; 및
상기 복수의 객체 중 상기 제 1 객체 및 상기 제 2 객체를 선택하는 사용자 입력을 수신하는 단계를 포함하는 객체 제어 방법. - 제 1 항에 있어서, 상기 객체 제어 방법은,
상기 제 1 객체 및 상기 제 2 객체가 제어 불가능한 객체인 경우, 상기 제 1 객체의 속성과 상기 제 2 객체의 속성에 기반하여, 제어 가능한 제 3 객체를 선택하는 단계; 및
상기 제 3 객체의 동작 신호를 생성하는 단계; 및
상기 생성된 제 3 객체의 동작 신호를 상기 제 3 객체로 전송하는 단계를 더 포함하는 객체 제어 방법. - 제 1 항에 있어서, 상기 객체 제어 방법은,
상기 제 1 객체 및 상기 제 2 객체가 제어 불가능한 객체인 경우, 상기 제 1 객체의 속성 및 상기 제 2 객체의 속성에 기반하여, 상기 전자 기기의 동작을 선택하는 단계; 및
상기 선택된 동작을 수행하는 단계를 더 포함하는 객체 제어 방법. - 제 1 항에 있어서, 상기 제 1 객체 및 상기 제 2 객체를 인식하는 단계는,
상기 제 1 객체 및 상기 제 2 객체에 대한 적어도 하나의 속성을 표시하는 단계를 포함하는 객체 제어 방법. - 제 6 항에 있어서, 상기 제 1 객체의 속성 및 상기 제 2 객체의 속성을 확인하는 단계는,
상기 표시된 적어도 하나의 속성을 선택하는 사용자 입력을 수신하는 단계를 포함하는 객체 제어 방법. - 제 1 항에 있어서, 상기 선택된 객체의 동작 신호를 생성하는 단계는,
상기 제 1 객체 및 상기 제 2 객체 중 상기 제 2 객체가 선택된 경우, 상기 제 1 객체의 상태 정보와 상기 제 2 객체의 기능 정보에 기반하여, 상기 제 2 객체의 동작 신호를 생성하는 단계를 포함하는 객체 제어 방법. - 제 1 항에 있어서, 상기 선택된 객체의 동작 신호를 생성하는 단계는,
상기 제 1 객체 및 상기 제 2 객체에 대한 사용자의 터치 순서에 기초하여, 상기 선택된 객체의 동작 신호를 생성하는 단계를 포함하는 객체 제어 방법. - 제 1 항에 있어서, 상기 선택된 객체의 동작 신호를 생성하는 단계는,
상기 제 1 객체의 속성 및 상기 제 2 객체의 속성에 기반하여, 복수의 동작을 추천하는 단계;
상기 추천된 복수의 동작 중에서 하나를 선택하는 사용자 입력을 수신하는 단계; 및
상기 선택된 동작에 대응하는 동작 신호를 생성하는 단계를 포함하는 객체 제어 방법. - 제 1 항 내지 제 10 항 중 어느 한 항의 객체 제어 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 비일시적 기록 매체.
- 제 1 객체 및 제 2 객체를 인식하고, 상기 제 1 객체의 속성 및 상기 제 2 객체의 속성을 확인하고, 상기 제 1 객체의 속성 및 상기 제 2 객체의 속성에 기반하여, 상기 제 1 객체 및 상기 제 2 객체 중 제어할 객체를 선택하고, 상기 선택된 객체의 동작 신호를 생성하는 제어부; 및
상기 생성된 동작 신호를 상기 선택된 객체로 전송하는 통신부를 포함하는 전자 기기. - 제 12 항에 있어서, 상기 전자 기기는,
이미지 센서를 통해 인식되는 복수의 객체를 표시하는 디스플레이부; 및
상기 표시된 복수의 객체 중 상기 제 1 객체 및 상기 제 2 객체를 선택하는 사용자 입력을 수신하는 사용자 입력부를 더 포함하는 전자 기기. - 제 12 항에 있어서, 상기 전자 기기는,
근거리 통신을 이용하여, 상기 전자 기기로부터 소정 거리 내에 위치하는 복수의 객체의 이미지를 표시하는 디스플레이부; 및
상기 표시된 복수의 객체 중 상기 제 1 객체 및 상기 제 2 객체를 선택하는 사용자 입력을 수신하는 사용자 입력부를 더 포함하는 전자 기기. - 제 12 항에 있어서, 상기 제어부는,
상기 제 1 객체 및 상기 제 2 객체가 제어 불가능한 객체인 경우, 상기 제 1 객체의 속성과 상기 제 2 객체의 속성에 기반하여, 제어 가능한 제 3 객체를 선택하고, 상기 제 3 객체의 동작 신호를 생성하고, 상기 제 3 객체의 동작 신호를 상기 제 3 객체로 전송하도록 상기 통신부를 제어하는 전자 기기. - 제 12 항에 있어서, 상기 제어부는,
상기 제 1 객체 및 상기 제 2 객체가 제어 불가능한 객체인 경우, 상기 제 1 객체의 속성 및 상기 제 2 객체의 속성에 기반하여, 상기 전자 기기의 동작을 선택하고, 상기 선택된 동작을 수행하는 전자 기기. - 제 12 항에 있어서, 상기 전자 기기는,
상기 제 1 객체 및 상기 제 2 객체에 대한 적어도 하나의 속성을 표시하는 디스플레이부를 더 포함하는 전자 기기. - 제 17 항에 있어서, 상기 전자 기기는,
상기 표시된 적어도 하나의 속성을 선택하는 사용자 입력을 수신하는 사용자 입력부를 더 포함하는 전자 기기. - 제 12 항에 있어서, 상기 제어부는,
상기 제 1 객체 및 상기 제 2 객체 중 상기 제 2 객체가 선택된 경우, 상기 제 1 객체의 상태 정보와 상기 제 2 객체의 기능 정보에 기반하여, 상기 제 2 객체의 동작 신호를 생성하는 전자 기기. - 제 12 항에 있어서, 상기 제어부는,
상기 제 1 객체 및 상기 제 2 객체에 대한 사용자의 터치 순서에 기초하여, 상기 선택된 객체의 동작 신호를 생성하는 전자 기기.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201680075716.5A CN108476258B (zh) | 2015-12-23 | 2016-07-15 | 用于电子设备控制对象的方法以及电子设备 |
PCT/KR2016/007708 WO2017111234A1 (en) | 2015-12-23 | 2016-07-15 | Method for electronic device to control object and electronic device |
EP16879102.8A EP3345379B1 (en) | 2015-12-23 | 2016-07-15 | Method for electronic device to control object and electronic device |
US15/220,558 US20170185276A1 (en) | 2015-12-23 | 2016-07-27 | Method for electronic device to control object and electronic device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20150185098 | 2015-12-23 | ||
KR1020150185098 | 2015-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170075625A true KR20170075625A (ko) | 2017-07-03 |
KR101847200B1 KR101847200B1 (ko) | 2018-04-09 |
Family
ID=59357678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160049403A KR101847200B1 (ko) | 2015-12-23 | 2016-04-22 | 객체 제어 방법 및 시스템 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101847200B1 (ko) |
CN (1) | CN108476258B (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190106547A (ko) * | 2018-03-09 | 2019-09-18 | 에스케이브로드밴드주식회사 | 영상제작지원장치 및 그 동작 방법 |
KR20200006707A (ko) * | 2018-07-11 | 2020-01-21 | 삼성전자주식회사 | 전자 장치의 제어방법 및 컴퓨터 판독 가능 기록매체 |
WO2020111394A1 (ko) * | 2018-11-27 | 2020-06-04 | 삼성전자 주식회사 | 디스플레이 장치 및 그 동작 방법 |
CN112400149A (zh) * | 2018-07-10 | 2021-02-23 | 三星电子株式会社 | 基于弯曲执行操作的方法及电子设备 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11430028B1 (en) | 2017-11-30 | 2022-08-30 | United Services Automobile Association (Usaa) | Directed information assistance systems and methods |
KR102040939B1 (ko) | 2019-07-15 | 2019-11-27 | 한화테크윈 주식회사 | 감시 시스템 및 그 동작 방법 |
WO2022081264A1 (en) * | 2020-10-12 | 2022-04-21 | Arris Enterprises Llc | Set-top box ambiance and notification controller |
US11402984B2 (en) | 2020-11-18 | 2022-08-02 | Google Llc | Proximity-based controls on a second device |
CN113014658B (zh) * | 2021-03-10 | 2023-04-07 | 北京蜂巢世纪科技有限公司 | 设备控制及装置、电子设备、存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8315673B2 (en) * | 2010-01-12 | 2012-11-20 | Qualcomm Incorporated | Using a display to select a target object for communication |
KR101719982B1 (ko) * | 2010-07-19 | 2017-03-27 | 엘지전자 주식회사 | 이동 단말기 및 그 제어방법 |
KR101746540B1 (ko) * | 2010-12-15 | 2017-06-13 | 엘지전자 주식회사 | 이동 단말기 및 그 제어방법 |
JP5764387B2 (ja) * | 2011-05-27 | 2015-08-19 | 京セラ株式会社 | 遠隔操作装置、遠隔制御システムおよび制御プログラム |
KR20130022687A (ko) * | 2011-08-26 | 2013-03-07 | 엘지전자 주식회사 | 멀티미디어 디바이스의 제어방법 및 디지털 텔레비전 |
KR20130048533A (ko) * | 2011-11-02 | 2013-05-10 | 엘지전자 주식회사 | 원격제어장치의 동작 방법 |
CN103581251A (zh) * | 2012-08-01 | 2014-02-12 | 鸿富锦精密工业(深圳)有限公司 | 遥控装置及其控制方法 |
US20140266639A1 (en) * | 2013-03-15 | 2014-09-18 | Ebay Inc. | Automated mobile device configuration for remote control of electronic devices |
US10181960B2 (en) * | 2013-09-05 | 2019-01-15 | Samsung Electronics Co., Ltd. | Method and apparatus for configuring and recommending device action using user context |
JP6338494B2 (ja) * | 2013-11-28 | 2018-06-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 制御方法、プログラム、プログラムの提供方法、通信端末、及び、制御システム |
CN104267608A (zh) * | 2014-10-20 | 2015-01-07 | 珠海格力电器股份有限公司 | 智能家居设备的控制方法、装置和系统 |
CN104991458B (zh) * | 2015-06-30 | 2018-10-12 | 联想(北京)有限公司 | 控制方法及电子设备 |
CN105137778B (zh) * | 2015-07-30 | 2018-08-07 | 四川长虹电器股份有限公司 | 一种智能家居控制方法及控制中心 |
CN105141913A (zh) * | 2015-08-18 | 2015-12-09 | 华为技术有限公司 | 可视化远程控制可触控设备的方法、系统和相关设备 |
-
2016
- 2016-04-22 KR KR1020160049403A patent/KR101847200B1/ko active IP Right Grant
- 2016-07-15 CN CN201680075716.5A patent/CN108476258B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190106547A (ko) * | 2018-03-09 | 2019-09-18 | 에스케이브로드밴드주식회사 | 영상제작지원장치 및 그 동작 방법 |
CN112400149A (zh) * | 2018-07-10 | 2021-02-23 | 三星电子株式会社 | 基于弯曲执行操作的方法及电子设备 |
CN112400149B (zh) * | 2018-07-10 | 2024-06-07 | 三星电子株式会社 | 基于弯曲执行操作的方法及电子设备 |
KR20200006707A (ko) * | 2018-07-11 | 2020-01-21 | 삼성전자주식회사 | 전자 장치의 제어방법 및 컴퓨터 판독 가능 기록매체 |
WO2020111394A1 (ko) * | 2018-11-27 | 2020-06-04 | 삼성전자 주식회사 | 디스플레이 장치 및 그 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN108476258A (zh) | 2018-08-31 |
KR101847200B1 (ko) | 2018-04-09 |
CN108476258B (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3345379B1 (en) | Method for electronic device to control object and electronic device | |
KR101847200B1 (ko) | 객체 제어 방법 및 시스템 | |
CN106576184B (zh) | 信息处理装置、显示装置、信息处理方法、程序和信息处理系统 | |
US8583287B2 (en) | Robotic system, robot control method and robot control program | |
EP3736684A1 (en) | Method and system for performing voice command | |
JP6574937B2 (ja) | 通信システム、制御方法、および記憶媒体 | |
US9563272B2 (en) | Gaze assisted object recognition | |
US9936127B2 (en) | Systems and methods for providing attention directing functions in an image capturing device | |
US9900498B2 (en) | Glass-type terminal and method for controlling the same | |
JP2022111133A (ja) | 画像処理装置およびその制御方法 | |
KR20220122955A (ko) | 모바일 디바이스에서 촬영된 전자 기기와 페어링하는 방법 및 장치 | |
KR20240015708A (ko) | 사진 촬영과 관련된 추천 정보를 제공하는 방법 및 시스템 | |
US10541000B1 (en) | User input-based video summarization | |
KR102490438B1 (ko) | 디스플레이 장치 및 그 제어 방법 | |
TWI544336B (zh) | 眼鏡、電子裝置與其配對的方法以及順暢內容播放的方法 | |
JP2022553613A (ja) | モバイルデバイスのライトフィールドディスプレイ | |
CN106464976B (zh) | 显示设备、用户终端设备、服务器及其控制方法 | |
JP2024123273A (ja) | 遠隔制御方法 | |
US10503776B2 (en) | Image display apparatus and information providing method thereof | |
KR20190097687A (ko) | 전자 장치 및 전자 장치의 요약 영상 생성 방법 | |
KR101912554B1 (ko) | 동화 창작 및 공유 시스템 | |
KR101481996B1 (ko) | 행동기반 실감영상환경 제어 시스템 | |
KR20220149803A (ko) | 정보를 공유하기 위한 전자 장치 및 그 동작 방법 | |
KR20210095291A (ko) | 스토리를 생성하는 전자 장치 및 그의 동작 방법 | |
WO2024194936A1 (ja) | 携帯情報端末及び仮想現実オブジェクトの表示方法 |
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 |