KR20180109304A - 이미지 내 오브젝트와 관련된 정보를 제공하는 전자 장치 - Google Patents

이미지 내 오브젝트와 관련된 정보를 제공하는 전자 장치 Download PDF

Info

Publication number
KR20180109304A
KR20180109304A KR1020170038691A KR20170038691A KR20180109304A KR 20180109304 A KR20180109304 A KR 20180109304A KR 1020170038691 A KR1020170038691 A KR 1020170038691A KR 20170038691 A KR20170038691 A KR 20170038691A KR 20180109304 A KR20180109304 A KR 20180109304A
Authority
KR
South Korea
Prior art keywords
image
information
display
user interface
processor
Prior art date
Application number
KR1020170038691A
Other languages
English (en)
Inventor
김형준
이흥기
손병준
홍태화
김형석
박지윤
신대규
윤제한
이후형
조성대
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170038691A priority Critical patent/KR20180109304A/ko
Publication of KR20180109304A publication Critical patent/KR20180109304A/ko

Links

Images

Classifications

    • G06F17/30277
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/00624Recognising scenes, i.e. recognition of a whole field of perception; recognising scene-specific objects
    • G06K9/00664Recognising scenes such as could be captured by a camera operated by a pedestrian or robot, including objects at substantially different ranges from the camera
    • G06K9/00671Recognising scenes such as could be captured by a camera operated by a pedestrian or robot, including objects at substantially different ranges from the camera for providing information about objects in the scene to a user, e.g. as in augmented reality applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10861Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/434Query formulation using image data, e.g. images, photos, pictures taken by a user
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5846Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
    • G06F17/30247
    • G06F17/30253
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/0482Interaction 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 interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/00442Document analysis and understanding; Document recognition
    • G06K9/00456Classification of image contents, e.g. text, photographs, tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/20Image acquisition
    • G06K9/2054Selective acquisition/locating/processing of specific regions, e.g. highlighted text, fiducial marks, predetermined fields, document type identification
    • G06K9/2081Selective acquisition/locating/processing of specific regions, e.g. highlighted text, fiducial marks, predetermined fields, document type identification based on user interaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/20Image acquisition
    • G06K9/32Aligning or centering of the image pick-up or image-field
    • G06K9/3233Determination of region of interest
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/20Image acquisition
    • G06K9/32Aligning or centering of the image pick-up or image-field
    • G06K9/3233Determination of region of interest
    • G06K9/3241Recognising objects as potential recognition candidates based on visual cues, e.g. shape
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/20Image acquisition
    • G06K9/32Aligning or centering of the image pick-up or image-field
    • G06K9/3233Determination of region of interest
    • G06K9/325Detection of text region in scene imagery, real life image or Web pages, e.g. licenses plates, captions on TV images
    • G06K9/3258Scene text, e.g. street name
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/02Marketing, e.g. market research and analysis, surveying, promotions, advertising, buyer profiling, customer management or rewards; Price estimation or determination
    • G06Q30/0241Advertisement
    • G06Q30/0251Targeted advertisement
    • G06Q30/0268Targeted advertisement at point-of-sale [POS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment ; Cameras comprising an electronic image sensor, e.g. digital cameras, video cameras, TV cameras, video cameras, camcorders, webcams, camera modules for embedding in other devices, e.g. mobile phones, computers or vehicles
    • H04N5/225Television cameras ; Cameras comprising an electronic image sensor, e.g. digital cameras, video cameras, camcorders, webcams, camera modules specially adapted for being embedded in other devices, e.g. mobile phones, computers or vehicles
    • H04N5/232Devices for controlling television cameras, e.g. remote control ; Control of cameras comprising an electronic image sensor
    • H04N5/23216Control of parameters, e.g. field or angle of view of camera via graphical user interface, e.g. touchscreen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment ; Cameras comprising an electronic image sensor, e.g. digital cameras, video cameras, TV cameras, video cameras, camcorders, webcams, camera modules for embedding in other devices, e.g. mobile phones, computers or vehicles
    • H04N5/225Television cameras ; Cameras comprising an electronic image sensor, e.g. digital cameras, video cameras, camcorders, webcams, camera modules specially adapted for being embedded in other devices, e.g. mobile phones, computers or vehicles
    • H04N5/232Devices for controlling television cameras, e.g. remote control ; Control of cameras comprising an electronic image sensor
    • H04N5/23229Devices for controlling television cameras, e.g. remote control ; Control of cameras comprising an electronic image sensor comprising further processing of the captured image without influencing the image pickup process

Abstract

전자 장치가 개시된다. 일 실시 예에 따른 전자 장치는, 카메라 모듈, 디스플레이 및 상기 카메라 모듈 및 상기 디스플레이와 전기적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 카메라 모듈을 이용하여, 하나 이상의 오브젝트들을 포함하는 프리뷰 이미지를 상기 디스플레이를 이용하여 표시하고, 상기 하나 이상의 오브젝트들에 대응하는 제1 사용자 인터페이스 또는 상기 제1 사용자 인터페이스와 다른 제2 사용자 인터페이스를 상기 디스플레이를 이용하여 표시하고, 상기 제1 사용자 인터페이스 또는 상기 제2 사용자 인터페이스를 선택하는 사용자 입력을 수신하고; 상기 사용자 입력에 적어도 기반하여 상기 제1 사용자 인터페이스가 선택되는 경우, 상기 카메라 모듈을 이용하여, 제1 방식으로 상기 하나 이상의 오브젝트들을 포함하는 제1 이미지를 획득하고, 상기 사용자 입력에 적어도 기반하여 상기 제2 사용자 인터페이스가 선택 되는 경우, 상기 카메라 모듈을 이용하여, 상기 제1 방식과 다른 제2 방식으로 상기 하나 이상의 오브젝트를 포함하는 제2 이미지를 획득하고, 및 상기 사용자 입력에 적어도 기반하여 획득된 상기 제1 이미지 또는 상기 제2 이미지를 이용하여 상기 하나 이상의 오브젝트와 관련된 정보를 제공하도록 설정될 수 있다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

이미지 내 오브젝트와 관련된 정보를 제공하는 전자 장치{Device for providing information related to an object in an image}
본 문서에서 개시되는 실시 예들은, 이미지 내 오브젝트와 관련된 정보를 제공하는 기술과 관련된다.
이미지에서 오브젝트를 인식하는 기술의 발달에 따라 휴대폰의 카메라로 실시간으로 획득되는 이미지에서 오브젝트를 인식하는 서비스가 제공되고 있다.
예를 들어, QR 코드를 인식하는 어플리케이션은 프리뷰 이미지에서 QR 코드를 인식하고 QR 코드에 정의된 정보를 제공할 수 있다. 다른 예로, 와인 라벨을 검색하는 어플리케이션은 프리뷰 이미지에서 와인병의 와인라벨을 인식하고 와인에 대한 정보를 제공할 수 있다.
이러한 종래 기술은 미리 설정된 종류의 오브젝트만을 인식할 수 있다.
종래의 기술은 미리 설정된 종류의 오브젝트만을 인식할 수 있어서, 하나의 이미지에서 여러 종류의 오브젝트를 인식하기가 어렵다. 또한, 종래의 기술은 하나의 이미지에서 여러 종류의 오브젝트를 인식하더라도 인식된 오브젝트의 정보를 제공하기 위해 이미지를 획득할 때, 동일한 방식으로 이미지를 획득한다.
본 발명은 하나의 이미지에서 복수 개의 오브젝트를 인식할 뿐만 아니라, 여러 종류의 오브젝트를 한번에 인식할 수 있다.
본 발명은 인식되는 오브젝트의 특성, 사용자가 제공받으려는 정보의 종류 또는 상황 정보 등에 기반하여 오브젝트의 정보를 제공하기 위한 이미지를 획득하는 방식을 달리하여 보다 적은 연산으로 정보를 제공할 수 있다.
본 발명은 오브젝트를 인식하기 위해 여러 가지의 정보를 참조하여 불필요한 연산을 생략할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 카메라 모듈, 디스플레이 및 상기 카메라 모듈 및 상기 디스플레이와 전기적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 카메라 모듈을 이용하여, 하나 이상의 오브젝트들을 포함하는 프리뷰 이미지를 상기 디스플레이를 이용하여 표시하고, 상기 하나 이상의 오브젝트들에 대응하는 제1 사용자 인터페이스 또는 상기 제1 사용자 인터페이스와 다른 제2 사용자 인터페이스를 상기 디스플레이를 이용하여 표시하고, 상기 제1 사용자 인터페이스 또는 상기 제2 사용자 인터페이스를 선택하는 사용자 입력을 수신하고; 상기 사용자 입력에 적어도 기반하여 상기 제1 사용자 인터페이스가 선택되는 경우, 상기 카메라 모듈을 이용하여, 제1 방식으로 상기 하나 이상의 오브젝트들을 포함하는 제1 이미지를 획득하고, 상기 사용자 입력에 적어도 기반하여 상기 제2 사용자 인터페이스가 선택 되는 경우, 상기 카메라 모듈을 이용하여, 상기 제1 방식과 다른 제2 방식으로 상기 하나 이상의 오브젝트를 포함하는 제2 이미지를 획득하고, 및 상기 사용자 입력에 적어도 기반하여 획득된 상기 제1 이미지 또는 상기 제2 이미지를 이용하여 상기 하나 이상의 오브젝트와 관련된 정보를 제공하도록 설정될 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 전자 장치에 있어서, 이미지를 저장하는 메모리, 디스플레이, 및 상기 메모리 및 상기 디스플레이와 전기적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 메모리에 저장된, 하나 이상의 오브젝트들을 포함하는 제1 이미지를 상기 디스플레이를 이용하여 표시하고, 상기 하나 이상의 오브젝트들에 대응하는 복수 개의 사용자 인터페이스들을 상기 디스플레이를 이용하여 표시하고, 복수 개의 사용자 인터페이스들 중 제1 사용자 인터페이스를 선택하는 사용자 입력을 수하고, 상기 선택된 제1 사용자 인터페이스의 타입에 대응하는 방식으로 상기 제1 이미지로부터 상기 하나 이상의 오브젝트들을 포함하는 제2 이미지를 획득하고, 상기 선택된 제1 사용자 인터페이스의 타입 및 상기 획득된 제2 이미지에 기반하여 상기 제2 이미지에 포함된 오브젝트와 관련된 정보를 제공하도록 설정될 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 메모리, 디스플레이, 및 상기 메모리 및 상기 디스플레이와 전기적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
하나 이상의 오브젝트들을 포함하는 제1 이미지를 상기 디스플레이를 이용하여 표시하고, 상기 하나 이상의 오브젝트들에 대응하는 복수의 속성 정보 중 상황 정보에 적어도 기반하여 결정되는 하나의 속성 정보에 대응하는 방식으로, 상기 하나 이상의 오브젝트들을 포함하는 제2 이미지를 획득하고, 상기 제2 이미지를 이용하여 상기 하나 이상의 오브젝트들과 관련된 정보를 제공하도록 설정될 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 카메라 모듈, 디스플레이, 상기 카메라 모듈과 연관된 카메라 어플리케이션을 저장하는 메모리, 상기 카메라 모듈, 상기 디스플레이, 및 상기 메모리와 전기적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 카메라 어플리케이션을 실행하고, 상기 카메라 모듈을 이용하여 제1 오브젝트 및 제2 오브젝트를 포함하는 프리뷰 이미지를 획득하고, 상기 프리뷰 이미지, 상기 제1 오브젝트에 대응되는 제1 사용자 인터페이스 및 상기 제2 오브젝트에 대응되는 제2 사용자 인터페이스를 포함하는 화면을 상기 디스플레이에 표시하고, 상기 제1 사용자 인터페이스가 선택되면, 상기 카메라 모듈을 이용하여, 제1 방식으로 상기 제1 오브젝트를 포함하는 제1 이미지를 획득하고, 상기 제2 사용자 인터페이스가 선택되면, 상기 카메라 모듈을 이용하여, 상기 제1 방식과 다른 제2 방식으로 제2 오브젝트를 포함하는 제2 이미지를 획득하고, 상기 제1 이미지 또는 상기 제2 이미지를 이용하여 상기 제1 오브젝트 또는 상기 제2 오브젝트와 관련된 정보를 상기 디스플레이에 표시하도록 설정될 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 전자 장치에 있어서, 디스플레이, 제1 오브젝트 및 제2 오브젝트를 포함하는 이미지를 저장하는 메모리, 상기 디스플레이 및 상기 메모리와 전기적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 이미지를 선택하는 사용자 입력을 수신하고, 상기 사용자 입력에 응답하여, 상기 이미지, 상기 제1 오브젝트에 대응되는 제1 사용자 인터페이스 및 상기 제2 오브젝트에 대응되는 제2 사용자 인터페이스를 포함하는 화면을 상기 디스플레이에 표시하고, 상기 제1 사용자 인터페이스가 선택되면 제1 방식으로 상기 이미지로부터 상기 제1 오브젝트를 포함하는 제1 이미지를 획득하고, 상기 제2 사용자 인터페이스가 선택되면 상기 제1 방식과 다른 제2 방식으로 상기 이미지로부터 제2 오브젝트를 포함하는 제2 이미지를 획득하고, 상기 제1 이미지 또는 상기 제2 이미지를 이용하여 상기 제1 오브젝트 또는 상기 제2 오브젝트와 관련된 정보를 상기 디스플레이에 표시하도록 설정될 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 하나의 어플리케이션에서 여러 종류의 오브젝트와 관련된 정보를 제공할 수 있다.
실시 예들에 따르면, 불필요한 연산을 줄여 소모 전류를 줄일 수 있다.
실시 예들에 따르면, 제공되는 정보의 종류 및 오브젝트의 특성 등에 기반하여 결정되는 촬영 모드로 이미지를 획득하므로, 메모리를 효율적으로 사용할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시 예에 따른 전자 장치의 구성을 나타낸다.
도 2는 일 실시 예에 따른 프로세서에 의해 구현되는 모듈을 나타낸다.
도 3은 일 실시 예에 따른 이미지에 포함된 오브젝트와 관련된 정보를 제공하는 방법을 나타내는 흐름도이다.
도 4는 일 실시 예에 따른 이미지에 포함된 오브젝트와 관련된 정보가 표시되는 화면을 나타낸 흐름도이다.
도 5는 일 실시 예에 따른 프로세서가 포함하는 소프트웨어 모듈 간 데이터 흐름을 나타낸 블록도이다.
도 6은 일 실시 예에 따른 프리뷰 이미지에서 이미지 인식 엔진이 인식하는 오브젝트 및 오브젝트의 ROI 정보를 나타낸다.
도 7a는 일 실시 예에 따른 가이드 인터페이스 및 가이드 인터페이스에 포함되는 오브젝트의 ROI 정보를 나타낸다.
도 7b는 일 실시 예에 따른 크기가 조절된 가이드 인터페이스 및 가이드 인터페이스에 포함되는 오브젝트의 ROI 정보를 나타낸다.
도 7c는 일 실시 예에 따른 이동된 가이드 인터페이스 및 가이드 인터페이스에 포함되는 오브젝트의 ROI 정보를 나타낸다.
도 8은 일 실시 예에 따른 사용자 입력에 의해 설정 정보가 결정되고, 설정 정보에 의해 활성화된 이미지 인식 엔진이 오브젝트를 인식하는 화면을 나타낸 흐름도이다.
도 9는 일 실시 예에 따른 복수의 오브젝트에 대응하는 사용자 인터페이스가 오브젝트와 연관하여 표시된 화면을 나타낸다.
도 10은 일 실시 예에 따른 씬 분류기에 의해 결정되는 이미지의 카테고리에 정보에 기반하여 프로세서가 획득하는 이미지의 품질이 결정되는 것을 나타내는 도면이다.
도 11은 일 실시 예에 따른 이미지 내의 텍스트를 추출하여 텍스트와 관련된 정보를 제공하는 화면을 나타내는 흐름도이다.
도 12a는 일 실시 예에 따른 프리뷰 이미지 내 QR 코드가 인식되어 QR 코드에 대응하는 사용자 인터페이스가 표시된 화면을 나타낸다.
도 12b 내지 도 12d는 다양한 실시 예에 따른 QR 코드에 정의된 정보를 나타내는 도면이다.
도 13은 일 실시 예에 따른 프리뷰 이미지내 배경이 인식된 화면과 랜드마크 정보 검색 결과 화면을 나타낸 도면이다.
도 14는 일 실시 예에 따른 이미지 내 복수의 오브젝트 및 복수의 사용자 인터페이스가 표시된 화면 및 상품 정보 검색 결과 화면을 나타낸 도면이다.
도 15는 일 실시 예에 따른 상품 정보 검색 결과를 키워드에 기반하여 필터링하여 표시하는 흐름도이다.
도 16은 일 실시 예에 따른 프로세서가 제공한 정보 히스토리가 관리되는 화면을 나타낸다.
도 17은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 18은 다양한 실시 예에 따른 전자 장치의 블록도를 나타낸다.
도 19는 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크톱 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면 웨어러블 장치는 엑세서리 형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체 형(예: 전자 의복), 신체 부착 형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식 형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD 플레이어(Digital Video Disk player), 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 내비게이션(navigation) 장치, 위성 항법 시스템(GNSS(Global Navigation Satellite System)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
1. 전자 장치의 구성
도 1은 일 실시 예에 따른 전자 장치의 구성을 나타낸다.
도 1을 참조하면, 전자 장치(100)는 카메라 모듈(110), 메모리(120), 디스플레이(130), 센서 회로(140), 통신 회로(150) 및 프로세서(160)를 포함할 수 있다. 전자 장치(100)는 도 1에 도시된 구성 요소 외에 다양한 구성 요소를 더 포함하거나 위 구성 요소들 중 일부 구성을 생략할 수 있다. 일 실시 예에서, 전자 장치(100)는 17 내지 19를 참조하여 설명되는 하드웨어/소프트웨어 구성을 더 포함할 수 있다. 일 실시 예에서, 전자 장치(100)는 센서 회로(140) 또는 통신 회로(150)를 생략할 수 있다.
카메라 모듈(110)은 정지 영상 및 동영상을 촬영할 수 있고, 이미지 시그널 프로세서(160)(ISP, image signal processor) 등을 포함할 수 있다. 이미지 시그널 프로세서(160)는 카메라 모듈(110)의 이미지 센서가 획득하는 이미지를 버퍼에 저장하고, 디스플레이(130)에 실시간으로 표시되는 프리뷰 이미지 또는 메모리(120)에 저장하기 위한 이미지를 생성하기 위해 획득된 이미지의 해상도를 변경할 수 있다. 일 실시 예에서, 프리뷰 이미지의 해상도는 디스플레이(130)의 해상도에 따라 결정될 수 있다. 일 실시 예에서, 메모리(120)에 저장하기 위한 이미지의 해상도는 사용자의 설정 또는 후술할 프로세서(160)의 동작에 의해 결정될 수 있다.
메모리(120)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(120)는 전자 장치(100)의 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 예를 들어, 메모리(120)는 디스플레이(130)에 표시되는 객체의 타입에 대응하는 입력 방식 또는 입력에 따라 UI(user interface)의 객체에 대하여 실행되는 기능 등의 데이터를 저장할 수 있다. 일 실시 예에서, 메모리(120)는 카메라 모듈(110)이 획득한 이미지를 저장할 수 있고, 프로세서(160)가 정보를 제공하기 위해 필요한 정보를 저장할 수 있다. 일 실시 예에서, 메모리(120)는 저장된 이미지 내의 오브젝트에 대한 정보를 저장할 수 있고, 오브젝트에 대한 정보는 오브젝트카테고리 정보를 포함할 수 있다. 일 실시 예에서, 메모리(120)는 사용자 입력 히스토리 및 프로세서(160)에 의해 제공된 정보 히스토리 등을 저장할 수 있다.
디스플레이(130)는 어플리케이션의 실행 화면을 출력할 수 있다. 일 실시 예에서, 디스플레이(130)는 터치 패널과 함께 구현(예: 터치 스크린 패널(touch screen panel) 등)될 수 있다. 이 경우, 사용자는 디스플레이(130)를 터치함으로써 사용자 입력을 발생시킬 수 있다. 다시 말해서, 디스플레이(130)가 터치 패널과 함께 구현되는 경우, 디스플레이(130)는 입력 장치와 출력 장치의 기능을 함께 수행하는 것으로 이해될 수 있다.
센서 회로(140)는 물리량을 계측하거나 전자 장치(100)의 작동 상태를 감지할 수 있다. 일 실시 예에서, 센서 회로(140)는 모션 센서를 포함하여 전자 장치(100)의 움직임을 감지할 수 있다.
통신 회로(150)는 전자 장치(100)가 외부 서버와 통신하도록 할 수 있다. 일 실시 예에서, 통신 회로(150)는 외부 서버로 텍스트 및 이미지 등을 전송할 수 있고, 외부 서버로부터 전송한 데이터에 대응하는 정보를 수신할 수 있다.
프로세서(160)는 전자 장치(100)의 전반적인 동작을 제어할 수 있다. 프로세서(160)는 메모리(120)에 저장된 명령어들을 실행하여, 다양한 모듈을 구현할 수 있다. 이하에서 도 2를 참조하여 프로세서(160)에 의해 구현되는 모듈을 설명한다.
도 2는 일 실시 예에 따른 프로세서에 의해 구현되는 모듈을 나타낸다.
도 2를 참조하면, 프로세서(200)는 프레임 매니저(210), 모션 감지 모듈(220), 비주얼 피처 모듈(225), 이미지 인식 엔진(230), 인포 매니저(240)(info manager), VI 에이전트(250)(vision intelligence agent) 및 에이전트 관리 모듈(260)을 포함할 수 있다. 따라서, 아래의 모듈들에 의해 수행되는 동작은 프로세서(200)에 의해 수행되는 것으로 이해될 수 있다.
일 실시 예에서, 프로세서(200)에 의해 구현 가능한 모듈 중 하나 이상의 모듈은 생략될 수 있다. 예를 들어, 프로세서(200)에서 VI 에이전트(250)는 생략될 수 있다.
일 실시 예에서, 프레임 매니저(210)는 카메라 모듈(110) 또는 메모리(120)로부터 수신한 이미지를 이미지 인식 엔진(230) 및 모션 감지 모듈(220)로 전달할 수 있다. 일 실시 예에서, 프레임 매니저(210)는 수신한 이미지의 해상도를 변경하고, 해상도가 변경된 이미지를 전달할 수 있다. 일 실시 예에서, 프레임 매니저(210)는 모션 감지 모듈(220)로부터 수신한 전자 장치(100)의 기울임 상태 정보에 기반하여 수신한 이미지를 회전하고, 회전된 이미지를 전달할 수 있다. 일 실시 예에서, 프레임 매니저(210)는 프리뷰 이미지를 전달하는 경우, 모션 감지 모듈(220)로부터 수신한 모션 정보에 기반하여 전자 장치(100)의 모션 값이 기 설정된 값 이하일 때의 프리뷰 이미지를 전달할 수 있다.
일 실시 예에서, 모션 감지 모듈(220)은 프레임 매니저(210)로부터 수신한 이미지를 이용하여 전자 장치(100)의 모션 정보를 생성할 수 있다. 일 실시 예에서, 모션 감지 모듈(220)은 전자 장치(100)의 모션 센서로부터 수신한 감지 신호에 기반하여 전자 장치(100)의 기울임 상태 정보를 생성하여 프레임 매니저(210)로 전달할 수 있다. 일 실시 예에서, 모션 감지 모듈(220)이 생성한 모션 정보는 이미지 인식 엔진(230)의 동작 여부를 결정하기 위해 사용될 수 있다. 예를 들어, 이미지 인식 엔진(230)은 생성된 모션 정보에 기반하여, 모션 값이 임계값 이하인 경우, 이미지에서 오브젝트를 인식하고, 모션 값이 임계값을 초과하는 경우, 동작하지 않을 수 있다.
일 실시 예에서, 비주얼 피쳐 모듈(225)는 수신한 이미지를 이용하여 이미지에 포함된 오브젝트에 대한 비주얼 피쳐 효과(visual feature effect) 정보를 생성하여 어플리케이션으로 전달할 수 있다. 어플리케이션은 모션 감지 모듈(220)로부터 수신한 비주얼 피쳐 효과 정보를 이용하여 비주얼 피쳐 효과를 이미지에 적용하고, 비주얼 피쳐 효과가 적용된 이미지를 디스플레이(130)에 표시할 수 있다. 일 실시 예에서, 사용자에게 이미지 인식 엔진(230)이 동작 중이라는 것을 표시하기 위해, 비주얼 피쳐 모듈(225)은 이미지 인식 엔진(230)이 동작하는 경우에만 비주얼 피쳐 효과 정보를 생성할 수 있다. 일 실시 예에서, 비주얼 피쳐 효과는 이미지에 포함된 오브젝트의 특징점에 표시되는 시각 효과일 수 있다.
일 실시 예에서, 이미지 인식 엔진(230)은 프레임 매니저(210)로부터 수신한 이미지에서 오브젝트를 인식하고, 인식된 오브젝트를 포함하는 ROI(region of interest) 정보를 생성할 수 있고, 씬 분류기(231), QR/바코드 인식기(232), 풍경(scene) 인식기(233), 물건(thing) 인식기(234), 텍스트 인식기(235), 사람 인식기(236) 및 동물 인식기(237)를 포함할 수 있다. 다만, 이미지 인식 엔진(230)이 포함할 수 있는 인식기는 이러한 예시에 한정되지 않고, 오브젝트를 인식하기 위한 적절한 인식기를 더 포함할 수 있다. 다양한 실시 예에서, 프로세서(200)는 외부 서버로부터 수신한 데이터에 기반하여 이미지 인식 엔진(230)의 인식기를 추가할 수 있다.
다양한 실시 예에서, 이미지 인식 엔진(230)의 동작은 외부 서버에 의해 수행될 수 있다. 프로세서(200)는 통신 회로(150)를 이용하여 이미지와 관련된 정보(예를 들어, 이미지 파일, 특징점, 분석 결과, 키워드 또는 메타데이터 등)를 외부 서버로 전송하고, 외부 서버로부터 이미지 인식 결과를 수신할 수 있다.
일 실시 예에서, 씬 분류기(231)는 수신한 이미지를 이용하여 이미지의 타입 정보를 생성할 수 있다. 예를 들어, 이미지에 텍스트가 포함된 경우, 이미지의 타입이 문서라는 정보를 생성할 수 있다. 다른 예로, 이미지에 산(mountain)이 포함된 경우, 이미지의 타입이 풍경이라는 정보를 생성할 수 있다. 일 실시 예에서, 씬 분류기(231)는 생성한 타입 정보를 QR/바코드 인식기(232), 풍경 인식기(233), 물건 인식기(234) 또는 텍스트 인식기(235), 사람 인식기(236) 또는 동물 인식기(237) 중 적어도 하나의 인식기로 전달할 수 있다.
일 실시 예에서, QR/바코드 인식기(232)는 이미지에 포함된 QR 코드 및 바코드를 인식하여, 이미지가 QR 코드 또는 바코드를 포함한다는 정보 및 QR 코드 오브젝트 또는 바코드 오브젝트를 포함하는 영역에 대한 정보를 생성하고 인포 매니저(240)로 전달할 수 있다.
일 실시 예에서, 풍경 인식기(233)는 이미지에 포함된 풍경을 인식할 수 있다. 이미지가 풍경을 포함한다는 정보 및 풍경 오브젝트를 포함하는 영역에 대한 정보를 생성하고 인포 매니저(240)로 전달할 수 있다.
일 실시 예에서, 물건 인식기(234)는 이미지에 포함된 물건을 인식할 수 있다. 이미지가 물건을 포함한다는 정보 및 물건 오브젝트를 포함하는 영역에 대한 정보를 인포 매니저(240)로 전달할 수 있다. 예를 들어, 물건 인식기(234)는 와인병을 인식할 수 있고, 와인병을 포함하는 영역에 대한 정보 또는 와인병의 라벨 오브젝트를 포함하는 영역에 대한 정보를 생성하고 인포 매니저(240)로 전달할 수 있다.
일 실시 예에서, 텍스트 인식기(235)는 이미지에 포함된 텍스트를 인식할 수 있다. 이미지가 텍스트를 포함한다는 정보 및 텍스트 오브젝트를 포함하는 영역에 대한 정보를 생성하고 인포 매니저(240)로 전달할 수 있다.
일 실시 예에서, 사람 인식기(236)는 이미지에 포함된 사람을 인식할 수 있다. 이미지가 사람을 포함한다는 정보 및 사람 오브젝트를 포함하는 영역에 대한 정보를 인포 매니저(240)로 전달할 수 있다.
일 실시 예에서, 동물 인식기(237)는 이미지에 포함된 동물을 인식할 수 있다. 이미지가 동물을 포함한다는 정보 및 동물 오브젝트를 포함하는 영역에 대한 정보를 인포 매니저(240)로 전달할 수 있다.
일 실시 예에서, 인포 매니저(240)는 이미지 인식 엔진(230)이 생성한 정보를 수신하고, 수신한 정보 중 적어도 일부를 어플리케이션으로 전달할 수 있다. 다시 말해, 인포 매니저(240)는 수신한 정보를 어플리케이션이 필요로 하는 형식으로 어플리케이션에 제공할 수 있다.
일 실시 예에서, 인포 매니저(240)는 수신한 정보를 기반으로 새로운 정보를 생성하여 어플리케이션으로 전달할 수 있다. 일 실시 예에서, 인포 매니저(240)는 복수의 인식기로부터 수신한 정보 간의 우선 순위 정보를 생성할 수 있다. 예를 들어, 인포 매니저(240)가 QR/바코드 인식기(232)로부터 이미지가 QR코드를 포함한다는 정보, 풍경 인식기로부터 이미지가 풍경을 포함한다는 정보 및 텍스트 인식기(235)로부터 이미지가 텍스트를 포함한다는 정보를 수신할 수 있다. 인포 매니저(240)는 기 설정된 우선 순위 정보에 기반하여 QR 코드에 대한 정보가 1순위, 텍스트에 대한 정보가 2순위 그리고 풍경에 대한 정보가 3순위라는 우선 순위 정보를 생성할 수 있다.
일 실시 예에서, 인포 매니저(240)는 각 인식기로부터 수신한 오브젝트를 포함하는 영역에 대한 정보를 어플리케이션으로 전달할 수 있다. 예를 들어, 인포 매니저(240)는 상술한 우선 순위 정보에 기반하여 최우선 순위에 해당하는 오브젝트의 ROI 정보만을 어플리케이션으로 전달할 수 있다.
일 실시 예에서, 인포 매니저(240)는 오브젝트를 인식한 인식기에 대한 정보를 어플리케이션으로 전달할 수 있다. 예를 들어, 풍경 인식기(233) 및 텍스트 인식기(235)가 인식한 오브젝트에 대한 정보를 인포 매니저(240)로 전달하는 경우, 인포 매니저(240)는 풍경 인식기(233) 및 텍스트 인식기(235)에 의해 오브젝트가 인식되었다는 정보를 어플리케이션으로 전달할 수 있다.
일 실시 예에서, 어플리케이션은 인포 매니저(240)로부터 전달받은 정보에 기반하여 사용자 인터페이스를 표시하고, 사용자 입력 등에 기반하여 오브젝트와 관련된 정보를 표시할 수 있다.
일 실시 예에서, VI 에이전트(250)는 이미지의 카테고리 정보를 생성하여 메모리(120) 저장할 수 있다. 예를 들어, VI 에이전트(250)는 이미지의 카테고리를 사람, 가구, 의복, 자동차 등으로 설정할 수 있다. VI 에이전트(250)는 설정한 카테고리의 세부 카테고리를 더 설정할 수 있다. 예를 들어, VI 에이전트(250)는 의자, 책상, 스탠드 또는 전등과 같은 세부 카테고리를 설정할 수 있다. 일 실시 예에 따르면, VI 에이전트(250)는 이미지 인식 엔진(230)이 생성한 오브젝트와 관련된 정보를 전달받고, 전달 받은 오브젝트와 관련된 정보를 이용하여 이미지의 세부 카테고리를 설정할 수 있다.
일 실시 예에서, VI 에이전트(250)는 이미지의 색, 이미지의 저장 시점, 이미지의 촬영 위치 등 이미지 데이터가 갖고 있는 정보를 메모리(120)에 저장할 수 있다. VI 에이전트(250)는 이미지를 검색할 때, 메모리(120)에 저장된 정보를 이용할 수 있다.
일 실시 예에서, 에이전트 관리 모듈(260)은 인포 매니저(240)가 전달한 정보, 사용자 입력 또는 상황 정보 중 적어도 하나에 기반하여 오브젝트와 관련된 정보를 제공하기 위해 외부 서버로 쿼리(query)를 전송해야 하는지 여부를 결정할 수 있다. 다시 말해, 에이전트 관리 모듈(260)은 선택되는 사용자 인터페이스에 기반하여 오브젝트와 관련된 정보를 제공하기 위해 메모리(120)에 저장된 제1 데이터베이스를 이용할 것인지 또는 외부 서버에 제2 데이터베이스를 이용할 것인지를 결정할 수 있다. 또한, 일 실시 예에서, 에이전트 관리 모듈(260)은 쿼리를 전송할 외부 서버를 결정할 수 있다. 예를 들어, 카메라 모듈(110)이 획득한 프리뷰 이미지는 휴대폰 오브젝트를 포함하고, 프로세서(200)는 휴대폰 오브젝트에 대응하는 상품 검색 UI가 선택되는 사용자 입력을 수신할 수 있다. 이 경우, 에이전트 관리 모듈(260)은 선택된 상품 검색 UI에 기반하여 휴대폰 오브젝트가 포함된 이미지 및 이미지에 대응하는 상품 정보 검색 쿼리를 외부 서버로 전송하는 것으로 결정하고, 외부 서버를 인터넷 쇼핑몰 서버로 결정할 수 있다.
2. 전자 장치(100)의 동작
이하에서는 전술한 구성을 기반으로 일 실시 예에 따른 전자 장치(100)의 동작을 설명한다. 이하의 설명에서 전자 장치(100)는 전술한 구성 전부 또는 일부를 포함하는 것으로 전제한다.
(1) 전반적인 동작
도 3을 참조하여 일 실시 예에 따른 전반적인 동작을 설명한다.
도 3은 일 실시 예에 따른 이미지에 포함된 오브젝트와 관련된 정보를 제공하는 방법을 나타내는 흐름도이다.
도 3을 참조하면, 동작 301에서, 프로세서(160)는 하나 이상의 오브젝트를 포함하는 이미지를 디스플레이(130)에 표시할 수 있다. 일 실시 예에서, 프로세서(160)는 카메라 모듈(110)을 이용하여 프리뷰 이미지를 표시할 수 있다. 일 실시 예에서, 프로세서(160)는 메모리(120)에 저장된 이미지를 표시할 수 있다.
동작 302에서, 프로세서(160)는 하나 이상의 오브젝트에 대응하는 복수 개의 사용자 인터페이스들을 디스플레이(130)에 표시할 수 있다.
동작 303에서, 프로세서(160)는 복수 개의 사용자 인터페이스들 중 사용자 인터페이스를 선택하는 사용자 입력을 수신할 수 있다. 일 실시 예에서, 프로세서(160)는 터치 입력 등의 사용자 입력을 수신할 수 있다.
동작 304에서, 프로세서(160)는 선택된 사용자 인터페이스에 대응하는 방식으로 하나 이상의 오브젝트를 포함하는 이미지를 획득할 수 있다. 일 실시 예에서, 프로세서(160)는 선택된 사용자 인터페이스의 타입에 대응하는 방식으로 이미지를 획득할 수 있다. 예를 들어, 사용자 인터페이스의 타입은 QR코드 인식, 바코드 인식, 쇼핑 정보 검색, 텍스트 추출, 상품 정보 검색, 유사 이미지 검색, 랜드 마크 검색, 풍경 검색, 사람 검색 또는 동물 검색 중 적어도 하나와 관련될 수 있다. 일 실시 예에서, 프로세서(160)가 카메라 모듈(110)을 이용하여 프리뷰 이미지를 표시하는 중 사용자 인터페이스가 선택되는 경우, 프로세서(160)는 카메라 모듈(110)을 이용하여 이미지를 획득할 수 있다. 예를 들어, 동작 301에서 디스플레이(130) 표시되는 이미지는 프리뷰 이미지이고, 동작 304에서 획득되는 이미지는 카메라 모듈(110)로부터 획득되는 고화질의 이미지일 수 있다. 일 실시 예에서, 프로세서(160)가 메모리(120)에 저장된 이미지를 표시하는 중 사용자 인터페이스가 선택되는 경우, 프로세서(160)는 메모리(120)에 저장된 이미지로부터 이미지를 획득할 수 있다. 예를 들어, 동작 301에서 디스플레이(130)에 표시되는 이미지는 메모리(120)에 저장된 원본 이미지이고, 동작 304에서 획득되는 이미지는 원본 이미지의 일부로부터 크롭(crop)된 이미지 또는 원본 이미지로부터 해상도가 변경된 이미지일 수 있다.
동작 305에서, 프로세서(160)는 선택된 사용자 인터페이스 및 획득된 이미지에 기반하여 획득된 이미지에 포함된 오브젝트와 관련된 정보를 제공할 수 있다. 일 실시 예에서, 프로세서(160)는 오브젝트와 관련된 정보를 디스플레이(130)에 표시할 수 있다.
도 4는 일 실시 예에 따른 이미지에 포함된 오브젝트와 관련된 정보가 표시되는 화면을 나타낸 흐름도이다.
도 4를 참조하면, 일 실시 예에 따라, 프로세서(160)는 카메라 모듈(110)을 이용하여 이미지를 획득할 수 있다.
화면 410에서, 프로세서(160)는 사진 촬영 어플리케이션을 실행할 수 있고, 오브젝트와 관련된 정보를 제공하기 위한 어플리케이션을 실행하기 위한 사용자 인터페이스(411)를 선택하는 터치 입력을 수신할 수 있다.
화면 420에서, 프로세서(160)는 카메라 모듈(110)을 이용하여 획득한 하나 이상의 오브젝트를 포함하는 프리뷰 이미지를 디스플레이(130)에 표시할 수 있다(동작 301). 일 실시 예에 따른 화면 420에서 프리뷰 이미지는 컵 오브젝트와 컵 표면상의 텍스트 오브젝트를 포함할 수 있다. 일 실시 예에 따른 화면 420에 도시된 것과 같이, 프로세서(160)는 프리뷰 이미지 내 오브젝트인 컵과 텍스트에 비주얼 피쳐 효과(421)를 표시할 수 있다.
화면 430에서, 프로세서(160)는 오브젝트에 대응하는 사용자 인터페이스를 디스플레이(130)에 표시할 수 있다(동작 302). 일 실시 예에 따른 화면 430에서, 프로세서(160)는 컵 오브젝트를 포함하는 영역에 대응하는 ROI(431)와 텍스트 오브젝트에 대응하는 복수의 사용자 인터페이스(432, 433, 434)를 디스플레이(130)에 표시할 수 있다.
화면 430에서, 프로세서(160)는 복수의 사용자 인터페이스 중 하나의 사용자 인터페이스를 선택하는 사용자 입력을 수신할 수 있다(동작 303). 일 실시 예에 따른 화면 430에서, 프로세서(160)는 복수의 사용자 인터페이스(432, 433, 434) 중 쇼핑 정보 검색 사용자 인터페이스(432)를 선택하는 터치 입력을 수신할 수 있다.
사용자 입력이 수신되면, 프로세서(160)는 사용자 입력에 의해 선택된 사용자 인터페이스에 대응하는 방식으로 하나 이상의 오브젝트를 포함하는 이미지를 획득할 수 있다(동작 304). 일 실시 예에 따라 쇼핑 정보 검색 사용자 인터페이스(432)를 선택하는 터치 입력이 수신되면, 프로세서(160)는 쇼핑 정보 검색 사용자 인터페이스(432)에 대응하는 촬영모드 설정으로 카메라 모듈(110)을 이용하여 컵 오브젝트를 포함하는 이미지를 획득할 수 있다. 예를 들어, 텍스트 사용자 인터페이스(434)를 선택하는 터치 입력이 수신되면, 프로세서(160)는 텍스트 사용자 인터페이스(434)에 대응하는 촬영모드 설정으로 카메라 모듈(110)을 이용하여 컵 표면상의 텍스트를 포함하는 이미지를 획득할 수 있다. 다시 말해, 쇼핑 정보 검색 사용자 인터페이스(432)를 선택하는 터치 입력이 수신된 경우의 촬영 모드 설정과 텍스트 사용자 인터페이스(434)를 선택하는 터치 입력이 수신된 경우의 촬영 모드 설정은 다를 수 있다.
일 실시 예에서, 화면 440에 도시된 것과 같이, 프로세서(160)는 오브젝트와 관련된 정보를 제공하기 전, 선택된 사용자 인터페이스에 대응하는 방식으로 획득한 이미지를 표시할 수 있다. 일 실시 예에 따르면, 화면 440에 도시된 것과 같이, 프로세서(160)는 선택된 쇼핑 정보 검색 사용자 인터페이스(441)를 선택되지 않은 사용자 인터페이스와 다르게 표시할 수 있다.
화면 450에서, 프로세서(160)는 사용자 인터페이스 및 상기 획득된 이미지에 기반하여 이미지에 포함된 오브젝트와 관련된 정보를 제공할 수 있다(동작 305). 일 실시 예에 따라, 프로세서(160)는 획득된 컵 오브젝트를 포함하는 이미지를 이용하고 선택된 쇼핑 정보 검색 사용자 인터페이스에 기반하여 쇼핑 정보를 검색할 수 있다. 화면 450에 도시된 것과 같이, 프로세서(160)는 컵 오브젝트와 관련된 정보인 쇼핑 정보 검색 결과(451)를 디스플레이(130)에 표시할 수 있다.
이하에서는 동작 301 내지 동작 305에 대한 구체적인 실시 예를 설명한다.
(2) 이미지 표시 및 사용자 인터페이스 표시(동작 301 및 동작 302)
일 실시 예에 따른 동작 301에서, 프로세서(160)는 카메라 모듈(110)을 이용하여 하나 이상의 오브젝트를 포함하는 프리뷰 이미지를 표시할 수 있다. 프로세서(160)는 카메라 모듈(110)로부터 프리뷰 프레임을 수신할 수 있고, 수신한 프리뷰 프레임을 디스플레이(130)에 실시간으로 표시할 수 있다.
다른 실시 예에 따른 동작 301에서, 프로세서(160)는 메모리(120)에 저장된 하나 이상의 오브젝트를 포함하는 이미지를 표시할 수 있다. 예를 들어, 메모리(120)에 저장된 이미지는 카메라 모듈(110)을 이용하여 획득된 이미지, 인터넷 브라우저(browser)를 통해 다운로드된 이미지 또는 메시지 등을 통해 수신에 수신된 이미지 등 외부로부터 수신한 이미지 등일 수 있다.
일 실시 예에 따른 동작 302는 프레임 매니저가 이미지 인식 엔진으로 이미지를 전달하는 동작, 이미지 인식 엔진이 오브젝트를 인식하고 인식 정보를 인포 매니저로 전달하는 동작, 인포 매니저가 수신한 인식 정보에 대한 부가 정보를 생성하여 어플리케이션으로 전달하고 어플리케이션이 사용자 인터페이스를 표시하는 동작을 포함할 수 있다.
이하에서 도 5 내지 도 9를 참조하여 프로세서(160)가 오브젝트에 대응하는 사용자 인터페이스를 표시하는 실시 예를 설명한다.
도 5는 일 실시 예에 따른 프로세서가 포함하는 소프트웨어 모듈 간 데이터 흐름을 나타낸 블록도이다.
도 5를 참조하면, 프로세서는 프레임 매니저(510), 모션 감지 모듈(520), 비주얼 피처 모듈(225), 이미지 인식 엔진(530), 인포 매니저(540), VI 에이전트(550) 및 에이전트 관리 모듈(560)을 포함할 수 있다. 따라서, 아래의 모듈들에 의해 수행되는 동작은 프로세서에 의해 수행되는 것으로 이해될 수 있다.
프레임 매니저(510)는 카메라 모듈(110)로부터 프리뷰 이미지를 수신하거나 메모리(120)에 저장된 이미지를 수신할 수 있다. 프레임 매니저(510)가 이미지 인식 엔진(530)으로 이미지를 전달하는 동작에서, 프레임 매니저(510)는 수신한 이미지의 해상도를 변경하여 이미지 인식 엔진(530)으로 전달할 수 있다. 일 실시 예에서, 프레임 매니저(510)는 이미지 인식 엔진(530)의 특성에 기반하여 전달할 이미지의 해상도를 결정할 수 있다. 예를 들어, 프레임 매니저(510)는 오브젝트 인식을 위해 고품질의 이미지가 필요한 QR/바코드 인식기(532), 풍경 인식기(533) 및 텍스트 인식기(535)로 수신한 이미지의 원본을 전달하거나 고해상도로 리사이즈(resize)된 이미지를 전달할 수 있다. 프레임 매니저(510)는 오브젝트 인식을 위해 고품질의 이미지가 필요하지 않은 씬 분류기(531) 및 물건 인식기(534)로는 저해상도로 리사이즈된 이미지를 전달할 수 있다.
일 실시 예에서, 프레임 매니저(510)는 모션 감지 모듈(520)로부터 수신한 전자 장치(100)의 기울임 상태 정보에 기반하여 수신한 이미지를 회전하고, 회전된 이미지를 전달할 수 있다. 일 실시 예에서, 프레임 매니저(510)는 프리뷰 이미지를 전달하는 경우, 모션 감지 모듈(520)로부터 수신한 모션 정보에 기반하여 전자 장치(100)의 모션 값이 기 설정된 값 이하일 때의 프리뷰 이미지를 전달할 수 있다.
일 실시 예에 따라, 프레임 매니저(510)가 카메라 모듈(110)로부터 프리뷰 이미지를 수신하는 경우, 프레임 매니저(510)는 모션 감지 모듈(520)로 프레임 이미지를 전달할 수 있다.
모션 감지 모듈(520)은 프레임 매니저(510)로부터 수신한 이미지를 이용하여 전자 장치(100)의 모션 정보를 생성할 수 있다. 예를 들어, 연속적인 프레임 이미지의 움직임 벡터를 추출하여 모션 정보를 생성할 수 있다. 다른 실시 예에서, 모션 감지 모듈(520)은 전자 장치(100)의 모션 센서로부터 수신한 감지 신호에 기반하여 모션 정보를 생성할 수도 있다.
일 실시 예에서, 모션 감지 모듈(520)은 전자 장치(100)의 모션 센서로부터 수신한 감지 신호에 기반하여 전자 장치(100)의 기울임 상태 정보를 생성하여 프레임 매니저(510)로 전달할 수 있다. 일 실시 예에서, 모션 감지 모듈(520)이 생성한 모션 정보는 이미지 인식 엔진(530)의 동작 여부를 결정하기 위해 사용될 수 있다. 예를 들어, 이미지 인식 엔진(530)은 생성된 모션 정보에 기반하여, 모션 값이 임계값 이하인 경우, 이미지에서 오브젝트를 인식하고, 모션 값이 임계값을 초과하는 경우, 동작하지 않을 수 있다.
일 실시 예에서, 비주얼 피처 모듈(525)은 수신한 이미지를 이용하여 이미지에 포함된 오브젝트에 대한 비주얼 피쳐 효과 정보를 생성하여 어플리케이션(550)으로 전달할 수 있다. 일 실시 예에 따른 동작 301에서, 어플리케이션(550)은 모션 감지 모듈(520)로부터 수신한 비주얼 피쳐 효과 정보를 이용하여 비주얼 피쳐 효과를 이미지(프리뷰 이미지 또는 메모리(120)에 저장된 이미지)에 적용하고, 비주얼 피쳐 효과가 적용된 이미지를 디스플레이(130)에 표시할 수 있다.
이미지 인식 엔진(530)이 오브젝트를 인식하고 인식 정보를 인포 매니저(540)로 전달하는 동작에서, 이미지 인식 엔진(530)에 포함되는 씬 분류기(531), QR/바코드 인식기(532), 풍경 인식기(533), 물건 인식기(534), 텍스트 인식기(535), 사람 인식기(536) 및 동물 인식기(537)는 각각의 기능에 따라 오브젝트를 인식하고 인식된 오브젝트를 포함하는 ROI 정보를 생성할 수 있다.
일 실시 예에 따르면, QR/바코드 인식기(532), 풍경 인식기(533), 물건 인식기(534), 텍스트 인식기(535), 사람 인식기(536) 및 동물 인식기(537)는 각각의 기능에 따라 이미지에 포함된 오브젝트를 검출하고 인식할 수 있다. 일 실시 예에서, 각 인식기는 이미지에서 인식된 오브젝트를 포함하는 영역에 대한 정보인 ROI 정보를 생성할 수 있다.
일 실시 예에서, 이미지 인식 엔진(530)은 복수의 오브젝트를 인식할 수 있다.
도 6은 일 실시 예에 따른 프리뷰 이미지에서 이미지 인식 엔진(530)이 인식하는 오브젝트 및 오브젝트의 ROI 정보를 나타낸다.
도 6에 도시된 것과 같이, 물건 인식기(534)는 프리뷰 이미지에서 물건 오브젝트에 해당하는 탁상 램프 및 화분을 인식하고, 탁상 램프의 ROI 정보(610) 및 화분의 ROI 정보(630)를 생성할 수 있다. 도 6에 도시된 것과 같이, 텍스트 인식기(535)는 프리뷰 이미지에서 텍스트 오브젝트에 해당하는 액자의 텍스트를 인식하고, 텍스트의 ROI 정보(620)를 생성할 수 있다. 아래에 설명될 어플리케이션(550)은 생성된 ROI 정보를 디스플레이(130)에 표시할 수 있다.
일 실시 예에서, 프로세서(160)는 이미지 상에 크기 조절이 가능한 가이드 인터페이스를 표시하고, 이미지 인식 엔진(530)은 가이드 인터페이스에 포함되는 오브젝트를 인식할 수 있다. 일 실시 예에서, 가이드 인터페이스는 사용자 입력에 기반하여 크기가 조절되거나 프리뷰 이미지 상에서 이동할 수 있다.
도 7a는 일 실시 예에 따른 가이드 인터페이스 및 가이드 인터페이스에 포함되는 오브젝트의 ROI 정보를 나타낸다. 도 7b는 일 실시 예에 따른 크기가 조절된 가이드 인터페이스 및 가이드 인터페이스에 포함되는 오브젝트의 ROI 정보를 나타낸다. 도 7c는 일 실시 예에 따른 이동된 가이드 인터페이스 및 가이드 인터페이스에 포함되는 오브젝트의 ROI 정보를 나타낸다.
도 7a에 도시된 것과 같이 프로세서(160)는 이미지 상에 가이드 인터페이스(710)를 표시할 수 있다. 도 7a에 도시된 것과 같이 텍스트 인식기(535)는 가이드 인터페이스(710)에 포함된 텍스트 오브젝트에 해당하는 액자 내 텍스트를 인식하고, 텍스트의 ROI 정보(720)를 생성할 수 있다. 도 7a에 도시된 것과 같이 물건 인식기(534)는 가이드 인터페이스(710)에 포함된 물건 오브젝트에 해당하는 화분을 인식하고, 화분의 ROI 정보(730)를 생성할 수 있다.
도 7b에 도시된 것과 같이 가이드 인터페이스(710)의 크기는 조절될 수 있다. 도 7b를 참조하면, 크기가 조절된 가이드 인터페이스(710)에 포함되는 오브젝트는 액자일 수 있다. 도 7b에 적어도 기반한 실시 예에 따르면, 탁상 램프와 화분은 인식되지 않고 액자만 인식될 수 있다. 도 7b에 적어도 기반한 실시 예에 따르면, 액자, 탁상 램프 및 화분이 인식된 인식 결과에서 액자의 인식 결과만 이용(예: 탁상 램프 및 화분의 인식 결과는 이용하지 않음)할 수 있다. 수 있다. 도 7b에 도시된 것과 같이 텍스트 인식기(535)는 가이드 인터페이스(710)에 포함된 텍스트 오브젝트에 해당하는 액자 내 텍스트를 인식하고, 텍스트의 ROI 정보(720)를 생성할 수 있다.
도 7c에 도시된 것과 같이 가이드 인터페이스(710)는 이동할 수 있다. 도 7c를 참조하면, 이동된 가이드 인터페이스(710)에 포함되는 오브젝트는 탁상 램프이므로, 액자 내 텍스트와 화분은 인식되지 않을 수 있다.
액자일 수 있다. 도 7c에 적어도 기반한 실시 예에 따르면, 텍스트와 화분은 인식되지 않고 탁상 램프만 인식될 수 있다. 도 7c에 적어도 기반한 실시 예에 따르면, 텍스트, 화분 및 탁상 램프가 인식된 인식 결과에서 탁상 램프의 인식 결과만 이용(예: 텍스트 및 화분의 인식 결과는 이용하지 않음)할 수 있다. 도 7c에 도시된 예와 같이 물건 인식기(534)는 가이드 인터페이스(710)에 포함된 물건 오브젝트에 해당하는 탁상 램프를 인식하고, 탁상 램프의 ROI 정보(740)를 생성할 수 있다.
일 실시 예에서, 프로세서(160)는 오브젝트를 선택하는 사용자 입력을 수신할 수 있고, 이미지 인식 엔진(530)은 선택된 오브젝트를 인식할 수 있다. 예를 들어, 사용자 입력은 터치 입력, 줌인(zoom in) 등의 제스처 입력 또는 포스 터치(force touch) 입력 등일 수 있다.
일 실시 예에서, 설정에 의해 활성화된 이미지 인식 엔진(530)이 오브젝트를 인식할 수 있다.
도 8은 일 실시 예에 따른 사용자 입력에 의해 설정 정보가 결정되고, 설정 정보에 의해 활성화된 이미지 인식 엔진(530)이 오브젝트를 인식하는 화면을 나타낸 흐름도이다.
화면 810을 참조하면, 어플리케이션(550)은 프리뷰 이미지를 표시할 수 있고, 기능 활성화와 관련된 설정을 위한 UI(811)를 포함할 수 있다. 어플리케이션(550)이 이미지 인식 엔진(530) 활성화와 관련된 설정을 위한 UI(811)를 선택하는 사용자 입력을 수신하면, 설정 화면(820)이 표시될 수 있다.
화면 820을 참조하면, 어플리케이션(550)은 활성화 대상인 복수의 기능의 명칭(821), 활성 여부를 나타내는 UI(822) 및 설정 화면을 벗어나는 UI(823)를 포함할 수 있다. 일 실시 예에서, 사용자 입력에 따라 복수의 기능 중 일부의 기능이 활성화될 수 있다. 프로세서(160)는 활성화된 기능에 기반하여 이미지 인식 엔진(530)의 활성화 여부를 결정할 수 있다. 예를 들어, 화면 820을 참조하면, 텍스트, QR 코드 및 바코드를 검출하는 기능만이 활성화되어 있다. 프로세서(160)는 활성화된 기능에 기반하여 QR/바코드 인식기(532) 및 텍스트 인식기(535)만을 활성화할 수 있다.
프로세서(160)가 설정 화면을 벗어나는 UI(823)를 선택하는 사용자 입력을 수신하면, 화면 830이 디스플레이(130)에 표시될 수 있다.
화면 830을 참조하면, 활성화된 QR/바코드 인식기(532) 및 텍스트 인식기(535)가 오브젝트를 인식하는 동작을 수행하고, 텍스트 인식기(535)는 텍스트 오브젝트에 해당하는 컵 표면 상의 텍스트를 인식하고, 텍스트의 ROI 정보(831)를 생성할 수 있다. 일 실시 예에서, 프로세서(160)는 인식된 텍스트와 관련된 기능을 제공하기 위한 사용자 인터페이스(832)를 디스플레이(130)에 표시할 수 있고, 기능을 제공하기 위한 사용자 인터페이스에 대한 설명은 아래에서 서술될 것이다.
일 실시 예에서, 도 5에 도시된 것과 같이 복수의 인식기는 씬 분류기(531)가 생성한 정보를 수신할 수 있고, 생성한 정보에 기반하여 복수의 인식기 중 일부의 인식기만 활성화될 수 있다.
예를 들어, 씬 분류기(531)가 이미지의 종류가 문서라는 정보를 생성하는 경우, 생성한 정보에 기반하여 풍경 인식기(533) 및 물건 인식기(534)는 비활성화될 수 있고 QR/바코드 인식기(532) 및 텍스트 인식기(535)는 활성화될 수 있다.
다양한 실시 예에 따라 프레임 매니저(510)는 먼저 씬 분류기(531)에 이미지를 전달하고, 씬 분류기(531)가 생성한 정보에 기반하여 활성화된 인식기만이 이미지를 전달받을 수 있다.
일 실시 예에서, 메모리(120)에 저장된 이미지는 이미지 분류기 또는 VI 에이전트에 의해 생성된 이미지에 대한 정보를 포함할 수 있다. 복수의 인식기 중 이미지에 포함된 이미지에 대한 정보에 대응하는 인식기는 비활성화 될 수 있다. 예를 들어, 메모리(120)에 저장된 이미지에는 텍스트를 포함할 수 있고, 상기 이미지는 OCR(optical character reader)에 의한 텍스트 정보를 포함할 수 있다. 이 경우, 이미 저장된 텍스트 정보에 대응하는 텍스트 인식기(535)는 비활성화될 수 있다.
일 실시 예에서, 이미지 인식 엔진(530)이 카메라 모듈(110)로부터의 프리뷰 이미지에서 오브젝트를 인식하는 경우, 이미지 인식 엔진(530)은 매 프리뷰 프레임 마다 오브젝트를 인식하지 않고, 적어도 하나의 프리뷰 프레임에서 오브젝트를 인식하고 인식된 오브젝트를 트래킹할 수 있다. 일 실시 예에 따르면, 이미지 인식 엔진(530)은 프리뷰 프레임에서 오브젝트를 트래킹할 때, 모션 감지 모듈(520)이 생성한 모션 값이 임계값을 초과할 때까지 트래킹을 지속할 수 있다. 일 실시 예에 따르면, 이미지 인식 엔진(530)은 검출된 오브젝트가 이미지에서 벗어날 때까지 오브젝트 트래킹을 지속할 수 있다.
다양한 실시 예에 따라, 프로세서(160)가 카메라 모듈(110)을 이용하여 프리뷰 이미지에 포함된 오브젝트와 관련된 정보를 제공하는 경우, 이미지 인식 엔진(530)은 오브젝트를 인식하지(recognize) 않고, 검출하는(detect) 동작만을 수행할 수 있다. 이와는 달리, 프로세서(160)가 메모리(120)에 저장된 이미지에 포함된 오브젝트와 관련된 정보를 제공하는 경우, 이미지 인식 엔진(530)은 오브젝트를 검출하고 인식하는 동작 모두를 수행할 수 있다.
어플리케이션(550)이 사용자 인터페이스를 표시하는 동작에서, 어플리케이션(550)은 복수의 사용자 인터페이스를 표시할 수 있다. 예를 들어, 어플리케이션(550)은 하나의 오브젝트에 대응하는 복수의 사용자 인터페이스를 표시할 수 있고, 복수개의 오브젝트에 대응하는 복수의 사용자 인터페이스를 표시할 수 있다. 일 실시 예에서, 어플리케이션(550)은 사용자 입력에 의해 선택된 오브젝트에 대응하는 사용자 인터페이스를 표시할 수 있다.
일 실시 예에서, 프로세서(160)는 오브젝트에 대응하는 속성을 결정하고 결정된 속성에 기반하여 사용자 인터페이스를 표시할 수 있다. 예를 들어, 오브젝트에 대응하는 속성은 텍스트, 물건, 사람, 동물, 풍경, QR코드 또는 바코드와 같은 오브젝트의 타입일 수 있다. 일 실시 예에서, 프로세서(160)가 오브젝트에 대응하는 속성이 물건이라고 결정하는 경우, 프로세서(160)는 쇼핑 정보를 검색하기 위한 사용자 인터페이스 또는 유사 이미지를 검색하기 위한 사용자 인터페이스 중 적어도 하나를 표시할 수 있다.
일 실시 예에서, 프로세서(160)가 복수 개 타입의 오브젝트를 인식하는 경우, 프로세서(160)는 복수 개의 타입 중 기 설정된 우선 순위에 기반하여 결정되는 타입에 대응하는 사용자 인터페이스를 표시할 수 있다. 예를 들어, 기 설정된 우선 순위는 QR 코드, 바코드, 텍스트, 물건, 사람, 동물 및 풍경 순일 수 있다. 프로세서(160)가 QR 코드 오브젝트, 텍스트 오브젝트 및 풍경 오브젝트를 인식하는 경우, 프로세서(160)는 기 설정된 우선 순위에 기반하여 QR 코드 오브젝트를 1순위, 텍스트 오브젝트를 2순위 그리고 풍경 오브젝트를 3순위로 결정할 수 있다.
일 실시 예에 따라, 프로세서(160)는 1순위에 해당하는 QR 코드에 대응하는 사용자 인터페이스만을 디스플레이(130)에 표시할 수 있다. 일 실시 예에 따라, 프로세서(160)는 QR 코드 오브젝트, 텍스트 오브젝트 및 풍경 오브젝트 각각에 대응하는 사용자 인터페이스 전부를 표시하되, 우선 순위에 기반하여 QR 코드를 해석하기 위한 사용자 인터페이스, 텍스트를 추출하기 위한 사용자 인터페이스, 풍경에 대한 정보를 검색하기 위한 사용자 인터페이스 순서로 표시할 수 있다.
일 실시 예에서, 결정된 속성에 대응하는 적어도 하나의 속성 정보를 디스플레이(130)에 오브젝트와 연관하여 표시할 수 있다. 일 실시 예에 따르면, 속성 정보는 인식된 오브젝트와 관련되거나 제공 가능한 기능일 수 있다. 예를 들어, 속성 정보는 상품 검색, 텍스트 추출 또는 장소 검색 등일 수 있다.
도 9는 일 실시 예에 따른 복수의 오브젝트에 대응하는 사용자 인터페이스가 오브젝트와 연관하여 표시된 화면을 나타낸다.
도 9를 참조하면, 프로세서(160)는 이미지에서 인식된 탁상 램프를 포함하는 ROI 정보(910), 액자 내 텍스트를 포함하는 ROI 정보(920) 및 화분을 포함하는 ROI 정보(930)를 디스플레이(130)에 표시할 수 있다. 도 9를 참조하면, 프로세서(160)는 탁상 램프를 포함하는 ROI 정보(910) 주변에 유사 이미지를 검색하기 위한 사용자 인터페이스(911)를 표시하고, 액자 내 텍스트를 포함하는 ROI 정보(920) 주변에 텍스트를 추출하기 위한 사용자 인터페이스(921)를 표시하고 화분을 포함하는 ROI 정보(930) 주변에 유사 이미지를 검색하기 위한 사용자 인터페이스(931)를 표시할 수 있다. 프로세서(160)는 각 오브젝트에 대응하는 사용자 인터페이스를 각 오브젝트의 ROI 정보 주변에 표시함으로써, 복수의 오브젝트에 대응하는 사용자 인터페이스를 오브젝트와 연관하여 표시할 수 있다.
일 실시 예에서, 프로세서(160)는 상황 정보에 기반하여 표시할 사용자 인터페이스를 결정할 수 있다. 예를 들어, 상황 정보는 현재 시각, 전자 장치(100)의 위치 또는 사용자 입력 히스토리 등을 포함할 수 있다.
예를 들어, 전자 장치(100)가 백화점에 위치하고 프로세서(160)가 물건 오브젝트를 인식한 경우, 프로세서(160)는 전자 장치(100)가 백화점에 위치한다는 정보에 기반하여 상품 정보를 검색하기 위한 사용자 인터페이스를 표시할 수 있다.
다른 예로, 메모리(120)는 사용자 입력 히스토리를 저장할 수 있다. 일 실시 예의 사용자 입력 히스토리에 따르면, 복수 개 종류의 사용자 인터페이스 중 유사 이미지를 검색하기 위한 사용자 인터페이스를 선택하는 사용자 입력 횟수가 다른 종류의 사용자 인터페이스를 선택하는 사용자 입력 횟수보다 많을 수 있다. 프로세서(160)는 상기 사용자 입력 히스토리에 기반하여, 인식된 오브젝트에 대응하는 복수의 사용자 인터페이스 중 유사 이미지를 검색하기 위한 사용자 인터페이스를 대표 사용자 인터페이스로 결정하고, 대표 사용자 인터페이스를 표시할 수 있다.
일 실시 예에서, 하나의 오브젝트에 대응하는 사용자 인터페이스가 복수이고, 상기 복수의 사용자 인터페이스 중 대표 사용자 인터페이스만이 디스플레이(130)에 표시될 수 있다. 이 때, 프로세서(160)는 기 설정된 사용자 입력을 수신하는 경우, 상기 하나의 오브젝트에 대응하는 복수의 사용자 인터페이스 전부를 디스플레이(130)에 표시하는 동작을 수행할 수 있다. 일 실시 예에서, 기 설정된 사용자 입력은 디스플레이(130)에 표시된 사용자 인터페이스를 일정 시간 이상 터치하는 사용자 입력 또는 또는 일정 강도 이상의 압력으로 터치하는 사용자 입력(예를 들어, 포스 터치)일 수 있다.
일 실시 예에서, 프로세서(160)가 메모리(120)에 저장된 이미지에 포함된 오브젝트를 인식하고, 메모리(120)가 이미지에 포함된 오브젝트와 관련된 카테고리 정보를 저장하는 경우, 프로세서(160)는 카테고리 정보에 기반하여 사용자 인터페이스를 표시할 수 있다.
예를 들어, 프로세서(160)는 인식된 복수 개의 오브젝트 중 카테고리 정보가 저장된 오브젝트에 대응하는 사용자 인터페이스만을 표시할 수 있다. 일 실시 예에서, 이미지 내에 탁상 램프, 화분 및 텍스트가 포함되고, 카테고리 정보에 해당하는 텍스트를 포함하는 이미지라는 카테고리 정보가 메모리(120)에 저장된 경우, 프로세서(160)는 텍스트 오브젝트에 대응하는 사용자 인터페이스만을 표시할 수 있다.
(3) 사용자 인터페이스를 선택하는 사용자 입력 수신 및 이미지 획득(동작 303 및 동작 304)
동작 303에서, 프로세서(160)는 디스플레이(130)에 표시된 사용자 인터페이스를 선택하는 사용자 입력을 수신할 수 있다. 예를 들어, 사용자 입력은 터치 입력 등일 수 있다.
동작 303에서 사용자 인터페이스를 선택하는 사용자 입력이 수신되면, 동작 304에서, 프로세서(160)는 선택된 사용자 인터페이스 등에 기반하는 방식으로 이미지를 획득할 수 있다. 일 실시 예에서, 획득된 이미지는 메모리(120)에 저장될 수 있다.
일 실시 예에서, 프로세서(160)가 카메라 모듈(110)을 이용하여 획득한 프리뷰 이미지에 포함된 오브젝트에 대응하는 사용자 인터페이스에 대한 사용자 입력을 수신하는 경우, 상기 방식은 카메라 모듈(110)을 이용하여 이미지를 획득하는 촬영모드 설정을 포함할 수 있다. 예를 들어, 촬영모드 설정은 플래시 작동 설정, 이미지의 해상도 설정, 줌(zoom) 설정, 촬영 감도(iso) 설정, 노출(exposure) 설정, 조리개(aperture) 설정 또는 HDR(high dynamic range) 모드 설정 중 적어도 하나를 포함할 수 있다.
일 실시 예에서, 프로세서(160)가 메모리(120)에 저장된 이미지를 이용하여 이미지에 포함된 오브젝트에 대응하는 사용자 인터페이스에 대한 사용자 입력을 수신할 수 있다. 이러한 경우, 상기 방식은, 예를 들어, 메모리(120)에 저장된 이미지 중 하나 이상의 오브젝트들을 포함하는 일부 영역으로부터 이미지를 획득하는 방식 또는 지정된 해상도로 이미지를 획득하는 방식을 포함할 수 있다.
일 실시 예에서, 선택된 사용자 인터페이스가 텍스트를 추출하기 위한 사용자 인터페이스인 경우, 프로세서(160)는 고 해상도의 이미지를 획득하는 촬영 모드 설정으로 카메라 모듈(110)을 이용하여 이미지를 획득할 수 있다. 다른 예로, 프로세서(160)는 카메라 모듈(110)의 링 버퍼에 저장된 이미지 중 가장 품질이 우수한 이미지를 획득할 수도 있다.
일 실시 예에서, 프로세서(160)가 메모리(120)에 저장된 이미지를 이용하고, 선택된 사용자 인터페이스가 텍스트를 추출하기 위한 사용자 인터페이스인 경우, 프로세서(160)는 메모리(120)에 저장된 이미지의 해상도를 줄이지 않고(또는, 지정된 해상도 이상으로), 이미지 중 텍스트를 포함하는 일부 영역을 크롭하여 이미지를 획득할 수 있다. 다시 말해, 프로세서는 메모리(120)에 저장된 이미지에서 텍스트를 포함하는 일부 영역을 제외한 부분을 크롭함으로써 이미지를 획득할 수 있다.
일 실시 예에서, 선택된 사용자 인터페이스가 풍경의 장소 정보를 검색하기 사용자 인터페이스인 경우, 프로세서(160)는 저 해상도의 이미지를 획득하는 촬영 모드 설정으로 카메라 모듈(110)을 이용하여 이미지를 획득하거나 프리뷰 이미지를 획득할 수 있다.
다시 말해, 프로세서(160)는 선택된 사용자 인터페이스의 유형(type)에 기반하여 획득하는 이미지의 품질 또는 이미지 획득 방법 등을 결정할 수 있다.
일 실시 예에서, 프로세서(160)는 이미지에 포함된 오브젝트에 기반하는 방식으로 이미지를 획득할 수 있다. 예를 들어, 프로세서(160)가 사용자 인터페이스를 선택하는 사용자 입력을 수신하여 이미지를 획득할 때, 이미지에 포함된 오브젝트에 복잡한 문양이 포함된 경우, 프로세서(160)는 고 해상도의 이미지를 획득하는 촬영 모드 설정으로 카메라 모듈(110)을 이용하여 이미지를 획득할 수 있다. 다른 예로, 프리뷰 이미지에 포함된 오브젝트가 어두운 경우, 프로세서(160)는 플래시를 동작하는 촬영 모드 설정으로 이미지를 획득할 수 있다.
일 실시 예에서, 프로세서(160)는 오브젝트에 대응하는 복수의 속성 정보 중 상황 정보에 기반하여 결정되는 하나의 속성 정보에 대응하는 방식으로 이미지를 획득할 수 있다. 예를 들어, 상황 정보는 사용자 입력 히스토리, 전자 장치(100)의 위치 또는 현재 시각 등을 포함할 수 있다. 속성 정보는 오브젝트와 관련하여 제공되는 기능에 대한 정보이고, 제공되는 기능은 텍스트 추출, 번역, 유사 이미지 검색, 쇼핑 정보 검색, QR코드 인식 또는 장소 정보 검색 등을 포함할 수 있다.
예를 들어, 오브젝트에 대응하는 속성 정보가 텍스트 추출 기능, 번역 기능이고, 사용자 입력 히스토리에 번역 기능 실행 입력이 일정 횟수 이상 수신된 이력이 포함될 수 있다. 프로세서(160)는 텍스트 추출 기능 및 번역 기능 중 번역 기능 실행 입력이 일정 횟수 이상 수신된 이력에 기반하여 번역 기능을 오브젝트에 대응하는 속성 정보로 결정할 수 있고, 번역 기능에 대응하는 방식으로 이미지를 획득할 수 있다. 예를 들어, 프로세서(160)는 번역 기능을 실행하기 위해 텍스트를 추출해야 하므로, 프로세서(160)는 고 해상도의 이미지를 획득하는 촬영 모드 설정으로 카메라 모듈(110)을 이용하여 이미지를 획득할 수 있다.
일 실시 예에서, 프로세서(160)는 씬 분류기에 의해 결정되는 이미지의 카테고리 정보에 기반하는 방식으로 이미지를 획득할 수 있다.
도 10은 일 실시 예에 따른 씬 분류기에 의해 결정되는 이미지의 카테고리에 정보에 기반하여 프로세서(160)가 획득하는 이미지의 품질이 결정되는 것을 나타내는 도면이다.
도 10을 참조하면, 프리뷰 프레임(1010)은 씬 분류기(1020)에 전달될 수 있고, 프레임 링 버퍼(1030)에 저장될 수 있다. 씬 분류기(1020)는 프리뷰 프레임(1010)을 이용하여 프리뷰 이미지의 카테고리를 결정할 수 있다. 프로세서(160)가 사용자 인터페이스를 선택하는 사용자 입력을 수신하면, 프로세서(160)는 카메라 모듈(110)을 이용하여 이미지를 캡쳐(즉, 획득)(1040)할 수 있다. 일 실시 예에서, 씬 분류기(1020)가 결정한 프리뷰 이미지의 카테고리가 문서인 경우, 프로세서(160)는 카메라 모듈(110)을 이용하여 고화질의 이미지를 획득하여 저장(1050)할 수 있다. 일 실시 예에서, 씬 분류기(1020)가 결정한 프리뷰 이미지의 카테고리가 문서가 아닌 경우, 프로세서(160)는 프레임 링 버퍼(1030)에 저장된 프리뷰 이미지를 수신하여 저장하거나 카메라 모듈(110)을 이용하여 저화질의 이미지를 획득하여 저장(1070)할 수 있다. 일 실시 예에서, 프레임 링 버퍼(1030)는 복수 개의 프리뷰 프레임을 저장(1060)할 수 있고, 프로세서(160)는 복수 개의 프리뷰 이미지 중 가장 고품질의 프레임 이미지(예를 들어, 블러(blur)가 가장 적은 프레임 이미지)를 수신하여 저장할 수 있다.
(4) 오브젝트와 관련된 정보 제공(동작 305)
동작 305에서, 프로세서(160)는 선택된 사용자 인터페이스 및 획득된 이미지에 기반하여 오브젝트와 관련된 정보를 제공할 수 있다.
일 실시 예에서, 프로세서(160)가 텍스트 오브젝트를 인식하고 텍스트 추출을 위한 사용자 인터페이스를 선택하는 사용자 입력을 수신하는 경우, 텍스트를 추출한 후, 추출된 텍스트와 관련된 사용자 인터페이스를 더 표시할 수 있다. 예를 들어, 프로세서(160)는 노트 또는 메모를 위한 사용자 인터페이스, 저장 및 공유를 위한 사용자 인터페이스, 번역을 위한 사용자 인터페이스 및 검색을 위한 사용자 인터페이스를 표시할 수 있다.
프로세서(160)가 노트 또는 메모를 위한 사용자 인터페이스를 선택하는 사용자 입력을 수신하는 경우, 프로세서(160)는 텍스트 작성을 위한 어플리케이션을 실행하고, 추출한 텍스트를 텍스트 작성 영역에 입력할 수 있다. 프로세서(160)는 추출한 텍스트를 메모리(120)에 저장할 수 있다. 프로세서(160)가 저장 및 공유를 위한 사용자 인터페이스를 선택하는 사용자 입력을 수신하는 경우, 프로세서(160)는 추출한 텍스트를 화면에 표시하고, 저장 및 공유를 위한 UI를 제공할 수 있다. 프로세서(160)가 번역을 위한 사용자 인터페이스를 선택하는 사용자 입력을 수신하는 경우, 프로세서(160)는 외부 서버로 텍스트 및 번역 요청 쿼리를 전송하고, 외부 서버로부터 번역문을 수신하여 제공할 수 있다. 프로세서(160)가 검색을 위한 사용자 인터페이스를 선택하는 사용자 입력을 수신하는 경우, 프로세서(160)는 외부 서버로 텍스트 및 검색 요청 쿼리를 전송하고, 외부 서버로부터 검색 결과를 수신하여 제공할 수 있다. 일 실시 예에서, 프로세서(160)가 텍스트 오브젝트를 포함하는 이미지를 명함으로 인식하고, 연락처 저장을 위한 사용자 인터페이스를 선택하는 사용자 입력을 수신하는 경우, 프로세서(160)는 이미지에 포함된 텍스트를 추출하여 연락처를 저장하는 서비스를 제공할 수 있다.
일 실시 예에서, 프로세서(160)가 QR 코드 오브젝트를 인식하고 QR 코드 인식을 위한 사용자 인터페이스를 선택하는 사용자 입력을 수신하는 경우, 프로세서(160)는 QR 코드에 정의된 정보를 추출하여 제공할 수 있다. 일 실시 예에서, 프로세서(160)는 추출된 정보에 따른 서비스를 더 제공할 수 있다.
일 실시 예에서, 프로세서(160)가 바코드 오브젝트를 인식하고 쇼핑 정보 검색을 위한 사용자 인터페이스가 선택되는 경우, 프로세서(160)는 쇼핑 정보를 검색하는 쿼리 및 바코드 정보를 쇼핑몰 서버로 전송하고, 쇼핑몰 서버로부터 쇼핑 정보(예를 들어, 유사 상품 추천 정보, 구매 사이트로 이동하여 구매를 가이드하는 정보)를 수신하여 제공할 수 있다.
일 실시 예에서, 프로세서(160)가 풍경 오브젝트를 인식하고 랜드마크 정보 검색을 위한 사용자 인터페이스가 선택되는 경우, 프로세서(160)는 랜드마크 정보를 검색하는 쿼리 및 이미지를 외부 서버로 전송하고, 외부 서버로부터 랜드마크 정보를 수신하여 제공할 수 있다.
일 실시 예에서, 프로세서(160)는 물건 오브젝트를 인식하고, 검색을 위한 사용자 인터페이스를 선택하는 사용자 입력을 수신하는 경우, 메모리(120)에 저장된 이미지 중 유사 이미지를 검색하여 검색된 유사 이미지를 제공하거나, 유사 이미지를 검색하는 쿼리 및 이미지를 외부 서버로 전송하고, 외부 서버로부터 유사 이미지를 수신하여 제공할 수 있다. 다른 예로, 쇼핑 정보 검색을 위한 사용자 인터페이스가 선택되는 경우, 상품 정보를 검색하는 쿼리 및 이미지를 쇼핑몰 서버로 전송하고, 쇼핑몰 서버로부터 상품 정보를 수신하여 제공할 수 있다.
일 실시 예에서, 프로세서(160)는 오브젝트에 기반하여 획득된 이미지의 해상도를 변경하고, 선택된 사용자 인터페이스 및 해상도가 변경된 이미지에 기반하여 오브젝트와 관련된 정보를 제공할 수 있다. 예를 들어, 오브젝트가 풍경인 경우, 프로세서(160)는 획득된 이미지의 해상도를 낮출 수 있다. 선택된 사용자 인터페이스가 장소 정보 검색을 위한 사용자 인터페이스인 경우, 프로세서(160)는 해상도가 낮춰진 이미지를 이용하여 장소 정보를 검색하고, 검색된 장소 정보를 제공할 수 있다.일 실시 예에서, 프로세서(160)는 선택된 사용자 인터페이스 또는 하나 이상의 오브젝트 중 적어도 하나에 기반하여, 메모리(120)에 저장된 정보에 기반하여 오브젝트와 관련된 정보를 제공하거나, 통신 회로(150)를 이용하여 획득된 이미지 또는 획득된 이미지로부터 획득된 정보 중 적어도 하나를 외부 서버로 전송하고 외부 서버로부터 오브젝트와 관련된 정보를 수신하여 제공할 수 있다. 다시 말해, 프로세서(160)는 오브젝트와 관련된 정보를 제공하기 위해 메모리(120)에 저장된 제1 데이터베이스를 이용할 것인지 또는 외부 서버에 제2 데이터베이스를 이용할 것인지를 결정할 수 있다.
예를 들어, 선택된 사용자 인터페이스가 텍스트 추출을 위한 사용자 인터페이스인 경우, 프로세서(160)는 메모리(120)에 저장된 OCR 정보에 기반하여 텍스트를 추출하여 제공할 수 있다. 반면, 선택된 사용자 인터페이스가 번역을 위한 사용자 인터페이스인 경우, 프로세서(160)는 이미지에 포함된 텍스트를 획득하고, 번역 서버로 텍스트 및 번역 요청 쿼리를 전송할 수 있다.
일 실시 예에서, 선택된 사용자 인터페이스가 텍스트 추출을 위한 사용자 인터페이스이더라도, 이미지에 포함된 텍스트의 분량이 기 설정된 기준을 초과하는 경우, 프로세서(160)는 외부의 OCR 처리 서버로 이미지 및 텍스트 추출 요청 쿼리를 전송하고 추출된 텍스트를 수신하여 제공할 수 있다.
일 실시 예에서, 프로세서(160)는 텍스트를 추출하기 전에 이미지를 회전시키거나, 노이즈를 제거하거나, ROI 영역을 조절하는 등의 동작을 수행할 수 있다.
프로세서(160)는 추출한 텍스트를 이용하여 영수증, 스케줄, 명함 등의 결과물로 필터링하거나, 번역된 텍스트 편집, 저장 및 공유, 명함인식 및 주소록 저장이나 수학 계산을 하는 등의 서비스를 제공할 수 있다. 추출된 텍스트에 기반하여 유사한 내용 별로 저장할 수 있다.
도 11은 일 실시 예에 따른 이미지 내의 텍스트를 추출하여 텍스트와 관련된 정보를 제공하는 화면을 나타내는 흐름도이다.
화면 1110에서, 프로세서(160)는 카메라 모듈(110)을 이용하여 텍스트가 포함된 프리뷰 이미지를 디스플레이(130)에 표시할 수 있다. 프로세서(160)는 텍스트 오브젝트(1111)의 ROI 정보(1112), 텍스트 오브젝트에 대응하는 검색을 위한 사용자 인터페이스(1113) 및 텍스트와 관련된 사용자 인터페이스(1114)를 표시할 수 있다. 프로세서(160)는 텍스트 추출을 위한 사용자 인터페이스(1114)를 선택하는 사용자 입력을 수신할 수 있고, 사용자 입력 수신에 따라 화면 1120을 표시할 수 있다.
일 실시 예에서, 프로세서(160)는 텍스트 오브젝트(1110)를 회전시켜 화면 1120에 도시된 텍스트 오브젝트(1121)를 표시할 수 있고, 텍스트 오브젝트에 대응하는 추가적인 사용자 인터페이스(1122, 1123, 1124)를 표시할 수 있다.
일 실시 예에서, 화면 1120에서 프로세서(160)는 화면을 확대하는 사용자 입력을 수신하여 화면 1130과 같이 ROI 영역(1131)을 조절할 수 있다.
일 실시 예에서, 프로세서(160)는 텍스트 추출을 위한 사용자 인터페이스(1122)를 선택하는 사용자 입력을 수신하여 화면 1140과 같이 추출한 텍스트(1141)를 제공할 수 있다. 일 실시 예에 따른 화면 1140에서, 프로세서(160)는 추출한 텍스트를 저장하기 위한 UI(1142) 및 추출한 텍스트를 공유하기 위한 UI(1143)을 표시할 수 있다.
일 실시 예에서, 프로세서(160)는 번역을 위한 사용자 인터페이스(1123)를 선택하는 사용자 입력을 수신하여 화면 1150과 같이 추출한 텍스트(1151) 및 번역문(1152)을 제공할 수 있다.
도 12a는 일 실시 예에 따른 프리뷰 이미지 내 QR 코드가 인식되어 QR 코드에 대응하는 사용자 인터페이스가 표시된 화면을 나타낸다. 도 12b 내지 도 12d는 다양한 실시 예에 따른 QR 코드에 정의된 정보를 나타내는 도면이다.
도 12a를 참조하면 프로세서(160)는 이미지에서 인식된 QR 코드(1211)를 포함하는 ROI 정보(1212), QR 코드에 정의된 정보를 추출하기 위한 사용자 인터페이스(1213) 및 QR 코드를 검색하기 위한 사용자 인터페이스(1214)를 디스플레이(130)에 표시할 수 있다. 프로세서(160)가 QR 코드에 정의된 정보를 추출 하기 위한 사용자 인터페이스(1213)를 선택하는 사용자 입력을 수신하면, 프로세서(160)는 도 12b 내지 도 12d와 같은 QR 코드에 정의된 정보를 제공할 수 있다. 예를 들어, 프로세서(160)가 도 12b와 같은 정보를 디스플레이(130)에 표시하고, 표시된 정보에 대응하는 터치 입력을 획득하는 경우, 프로세서(160)는 samsung.kim@samsung.com을 수신인으로 하는 이메일 전송 어플리케이션을 실행할 수 있다. 프로세서(160)가 도 12c와 같은 정보를 디스플레이(130)에 표시하고, 표시된 정보에 대응하는 터치 입력을 획득하는 경우, 프로세서(160)는 2016년 9월 22일에 양재에서의 워크샵 일정을 추가하는 어플리케이션을 실행할 수 있다. 프로세서(160)가 도 12d와 같은 정보를 디스플레이(130)에 표시하고, 표시된 정보에 대응하는 터치 입력을 획득하는 경우, 프로세서(160)는 02-1234-1234로 전화를 거는 어플리케이션을 실행할 수 있다.
도 13은 일 실시 예에 따른 프리뷰 이미지 내 풍경이 인식된 화면과 랜드마크 정보 검색 결과 화면을 나타낸 도면이다.
화면 1310을 참조하면 프로세서(160)는 이미지에서 인식된 풍경 오브젝트에 대응하는 랜드마크 정보 검색을 위한 사용자 인터페이스(1311) 및 유사 이미지 검색을 위한 사용자 인터페이스(1312)를 디스플레이(130)에 표시할 수 있다. 프로세서(160)가 랜드마크 정보 검색을 위한 사용자 인터페이스(1311)를 선택하는 사용자 입력을 수신하면, 프로세서(160)는 랜드마크 정보를 검색하는 쿼리 및 획득한 이미지를 외부 서버로 전송하고, 외부 서버로부터 랜드마크 정보를 수신하여 화면 1320과 같이 수신한 정보를 제공할 수 있다.
도 14는 일 실시 예에 따른 이미지 내 복수의 오브젝트 및 복수의 사용자 인터페이스가 표시된 화면 및 상품 정보 검색 결과 화면을 나타낸 도면이다.
화면 1410을 참조하면, 프로세서(160)는 이미지에서 인식된 탁상 램프를 포함하는 ROI 정보(1411), 액자 내 텍스트를 포함하는 ROI 정보(1412), 화분을 포함하는 ROI 정보(1413), 상품을 검색하기 위한 사용자 인터페이스(1414), 텍스트를 추출하기 위한 사용자 인터페이스(1415) 및 유사 이미지를 검색하기 위한 사용자 인터페이스(1416)를 디스플레이(130)에 표시할 수 있다. 프로세서(160)가 상품을 검색하기 위한 사용자 인터페이스(1414)를 선택하는 사용자 입력을 수신하면, 프로세서(160)는 탁상 램프의 상품 정보를 검색하는 쿼리 및 획득한 이미지를 외부 서버로 전송하고, 외부 서버로부터 상품 정보를 수신하여 화면 1420과 같이 수신한 정보를 제공할 수 있다.
도 15는 일 실시 예에 따른 상품 정보 검색 결과를 키워드에 기반하여 필터링하여 표시하는 흐름도이다.
화면 1510에서, 프로세서(160)는 이미지에서 모자, 안경 및 헤어스타일을 인식하고, 인식된 오브젝트를 포함하는 ROI 정보(1511), 쇼핑 정보를 검색하기 위한 사용자 인터페이스(1512) 및 이미지 검색을 위한 사용자 인터페이스(1513)를 표시할 수 있다. 프로세서(160)가 유사 이미지를 검색하기 위한 사용자 인터페이스(1513)를 선택하는 사용자 입력을 수신하면, 프로세서(160)는 모자, 안경 및 헤어스타일의 상품 정보를 검색하는 쿼리 및 획득한 이미지를 외부 서버로 전송하고, 외부 서버로부터 상품 정보를 수신하여 화면 1520과 같이 수신한 정보를 제공할 수 있다.
화면 1520에서, 프로세서(160)는 복수의 오브젝트에 대응하는 키워드(1521) 및 복수의 오브젝트에 대응하는 상품 정보(1522)를 표시할 수 있다. 프로세서(160)는 위 방향으로 스크롤하는 입력을 수신하고 화면을 스크롤하여 화면 1530과 같이 화면 1520에 비해 더 많은 상품 정보(1532)를 표시할 수 있다.
화면 1530에서, 프로세서(160)가 안경에 대한 상품 정보만을 필터링하여 표시하기 위한 키워드 UI(1531)를 선택하는 사용자 입력을 수신하면, 프로세서(160)는 화면 1540을 표시할 수 있다.
화면 1540에서, 프로세서(160)는 안경에 대한 상품 정보(1542)만을 표시할 수 있고, 선택된 키워드 UI(1541)를 선택되지 않은 키워드와 다르게 표시할 수 있다.
(5) 제공한 정보 히스토리 및 사용자 입력 히스토리 저장
프로세서(160)는 상술한 과정에 따라 제공한 정보 히스토리 및 사용자 입력 히스토리를 메모리(120)에 저장할 수 있다. 프로세서(160)는 사용자가 선택한 사용자 인터페이스 별로 제공한 정보 히스토리 및 사용자 입력 히스토리를 저장할 수 있다.
예를 들어, 쇼핑에 관련하여 제공된 정보 히스토리는 상품 이미지, 상품명, 제조사 등을 포함할 수 있다. 책과 관련되어 제공된 정보 히스토리는 책 표지 이미지, 책이름, 저자, 가격 및 평점을 포함할 수 있다. 텍스트와 관련하여 제공된 정보 히스토리는 추출된 텍스트 및 번역문 등을 포함할 수 있다. 장소와 관련하여 제공된 정보 히스토리는 랜드마크 정보 등을 포함할 수 있다. 이미지 검색과 관련하여 제공된 정보 히스토리는 키워드 및 많이 사용된 이미지를 포함할 수 있다. 와인과 관련하여 제공된 정보 히스토리는 와인라벨 및 와인 이름 등을 포함할 수 있다. QR 코드와 관련하여 제공된 정보 히스토리는 QR 코드에 정의된 정보를 포함할 수 있다.
도 16은 일 실시 예에 따른 프로세서(160)가 제공한 정보 히스토리가 관리되는 화면을 나타낸다.
도 16을 참조하면, 프로세서(160)는 탭(1610)을 설정하여 사용자가 선택한 사용자 인터페이스 별로 히스토리를 표시할 수 있다. 도 16은 shopping 탭에 따른 히스토리를 나타낸다. 프로세서(160)는 날짜 별로 히스토리를 표시할 수 있다. 도 16에 도시된 것과 같이, 프로세서(160)는 2016년 10월 16일(1621)에 제공된 쇼핑 정보 히스토리(1631) 및 2016년 10월 12일(1622)에 제공된 쇼핑 정보 히스토리(1632)를 표시할 수 있다.
다양한 실시 예에 따란 저장된 제공한 정보 히스토리 및 사용자 입력 히스토리는 전술한 동작 305에서 사용될 수 있다. 예를 들어, 사용자 입력 히스토리에 사용자가 A사의 안경을 검색한 이력이 포함된 경우, 프로세서(160)가 안경 정보를 검색할 때 A사 안경을 검색하는 쿼리를 참조로 사용할 수 있다.
도 17은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 17을 참조하면, 다양한 실시 예에서의 전자 장치(1701), 제1 전자 장치(1702), 제2 전자 장치(1704) 또는 서버(1706)가 네트워크(1762) 또는 근거리 통신(1764)을 통하여 서로 연결될 수 있다. 전자 장치(1701)는 버스(1710), 프로세서(1720), 메모리(1730), 입출력 인터페이스(1750), 디스플레이(1760), 및 통신 인터페이스(1770)를 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(1701)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
버스(1710)는, 예를 들면, 구성요소들(1710-1770)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
프로세서(1720)(예: 프로세서(160))는, 중앙처리장치(central processing unit, CPU), 어플리케이션 프로세서(application processor, AP), 또는 커뮤니케이션 프로세서(communication processor, CP) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(1720)는, 예를 들면, 전자 장치(1701)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리(1730)(예: 메모리(120))는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(1730)는, 예를 들면, 전자 장치(1701)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 메모리(1730)는 소프트웨어 및/또는 프로그램(1740)을 저장할 수 있다. 프로그램(1740)은, 예를 들면, 커널(1741), 미들웨어(1743), 어플리케이션 프로그래밍 인터페이스(application programming interface, API)(1745), 및/또는 어플리케이션 프로그램(또는 "어플리케이션")(1747) 등을 포함할 수 있다. 커널(1741), 미들웨어(1743), 또는 API(1745)의 적어도 일부는, 운영 시스템(Operating System (OS))으로 지칭될 수 있다.
커널(1741)은, 예를 들면, 다른 프로그램들(예: 미들웨어(1743), API(1745), 또는 어플리케이션 프로그램(1747))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(1710), 프로세서(1720), 또는 메모리(1730) 등)을 제어 또는 관리할 수 있다. 또한, 커널(1741)은 미들웨어(1743), API(1745), 또는 어플리케이션 프로그램(1747)에서 전자 장치(1701)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어(1743)는, 예를 들면, API(1745) 또는 어플리케이션 프로그램(1747)이 커널(1741)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다.
또한, 미들웨어(1743)는 어플리케이션 프로그램(1747)으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어(1743)는 어플리케이션 프로그램(1747) 중 적어도 하나에 전자 장치(1701)의 시스템 리소스(예: 버스(1710), 프로세서(1720), 또는 메모리(1730) 등)를 사용할 수 있는 우선 순위를 부여할 수 있다. 예컨대, 미들웨어(1743)는 상기 적어도 하나에 부여된 우선 순위에 따라 상기 하나 이상의 작업 요청들을 처리함으로써, 상기 하나 이상의 작업 요청들에 대한 스케쥴링 또는 로드 밸런싱 등을 수행할 수 있다.
API(1745)는, 예를 들면, 어플리케이션(1747)이 커널(1741) 또는 미들웨어(1743)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
입출력 인터페이스(1750)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치(1701)의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 입출력 인터페이스(1750)는 전자 장치(1701)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이(1760)(예: 디스플레이(130))는, 예를 들면, LCD(liquid crystal display), LED(light-emitting diode) 디스플레이, OLED(organic LED) 디스플레이, 또는 MEMS(microelectromechanical systems) 디스플레이, 또는 전자 종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(1760)는, 예를 들면, 사용자에게 각종 컨텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 디스플레이(1760)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스처, 근접, 또는 호버링(hovering) 입력을 수신할 수 있다.
통신 인터페이스(1770)(예: 통신 회로(150))는, 예를 들면, 전자 장치(1701)와 외부 장치(예: 제1 전자 장치(1702), 제2 전자 장치(1704), 또는 서버(1706)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(1770)는 무선 통신 또는 유선 통신을 통해서 네트워크(1762)에 연결되어 외부 장치(예: 제2 전자 장치(1704) 또는 서버(1706))와 통신할 수 있다.
무선 통신은, 예를 들면 셀룰러 통신 프로토콜로서, 예를 들면 LTE(long-term evolution), LTE-A(LTE-advanced), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(wireless broadband), 또는 GSM(global system for mobile communications) 중 적어도 하나를 사용할 수 있다. 또한 무선 통신은, 예를 들면, 근거리 통신(1764)을 포함할 수 있다. 근거리 통신(1764)는, 예를 들면, Wi-Fi(wireless fidelity), Li-Fi(light fidelity), Bluetooth, NFC(near field communication), MST(magnetic stripe transmission), 또는 GNSS 중 적어도 하나를 포함할 수 있다.
MST는 전자기 신호를 이용하여 전송 데이터에 따라 펄스를 생성하고, 상기 펄스는 자기장 신호를 발생시킬 수 있다. 전자 장치(1701)는 상기 자기장 신호를 POS(point of sales)에 전송하고, POS는 MST 리더(MST reader)를 이용하여 상기 자기장 신호는 검출하고, 검출된 자기장 신호를 전기 신호로 변환함으로써 상기 데이터를 복원할 수 있다.
GNSS는 사용 지역 또는 대역폭 등에 따라, 예를 들면, GPS(global positioning system), Glonass(global navigation satellite system), Beidou Navigation Satellite System(이하 "Beidou") 또는 Galileo(the European global satellite-based navigation system) 중 적어도 하나를 포함할 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 혼용되어 사용(interchangeably used)될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard-232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(1762)는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
제1 전자 장치(1702) 및 제2 전자 장치(1704) 각각은 전자 장치(1701)와 동일한 또는 다른 종류의 장치일 수 있다. 한 실시 예에 따르면, 서버(1706)는 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시 예에 따르면, 전자 장치(1701)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 제1 전자 장치(1702), 제2 전자 장치(1704), 또는 서버(1706))에서 실행될 수 있다. 한 실시 예에 따르면, 전자 장치(1701)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(1701)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 전자 장치(예: 제1 전자 장치(1702), 제2 전자 장치(1704), 또는 서버(1706))에게 요청할 수 있다. 다른 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(1701)로 전달할 수 있다. 전자 장치(1701)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 18은 다양한 실시 예에 따른 전자 장치의 블록도를 나타낸다.
도 18을 참조하면, 전자 장치(1801)는, 예를 들면, 도 17에 도시된 전자 장치(1701)의 전체 또는 일부를 포함할 수 있다. 전자 장치(1801)는 하나 이상의 프로세서(예: AP)(1810), 통신 모듈(1820), 가입자 식별 모듈(1824), 메모리(1830), 센서 모듈(1840), 입력 장치(1850), 디스플레이(1860), 인터페이스(1870), 오디오 모듈(1880), 카메라 모듈(1891), 전력 관리 모듈(1895), 배터리(1896), 인디케이터(1897), 및 모터(1898)를 포함할 수 있다.
프로세서(1810)(예: 프로세서(160))는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서(1810)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(1810)는, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시 예에 따르면, 프로세서(1810)는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 프로세서(1810)는 도 18에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(1821))를 포함할 수도 있다. 프로세서(1810)는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
통신 모듈(1820)(예: 통신회로(150))은, 도 17의 통신 인터페이스(1770)와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(1820)은, 예를 들면, 셀룰러 모듈(1821), Wi-Fi 모듈(1822), 블루투스 모듈(1823), GNSS 모듈(1824)(예: GPS 모듈, Glonass 모듈, Beidou 모듈, 또는 Galileo 모듈), NFC 모듈(1825), MST 모듈(1826), 및 RF(radio frequency) 모듈(1827)을 포함할 수 있다.
셀룰러 모듈(1821)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(1821)은 가입자 식별 모듈(예: SIM 카드)(1829)를 이용하여 통신 네트워크 내에서 전자 장치(1801)의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(1821)은 프로세서(1810)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(1821)은 커뮤니케이션 프로세서(CP)를 포함할 수 있다.
Wi-Fi 모듈(1822), 블루투스 모듈(1823), GNSS 모듈(1824), NFC 모듈(1825), 또는 MST 모듈(1826) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈(1821), Wi-Fi 모듈(1822), 블루투스 모듈(1823), GNSS 모듈(1824), NFC 모듈(1825), 또는 MST 모듈(1826) 중 적어도 일부(예: 두 개 이상)는 하나의 IC(integrated chip) 또는 IC 패키지 내에 포함될 수 있다.
RF 모듈(1827)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(1827)은, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈(1821), Wi-Fi 모듈(1822), 블루투스 모듈(1823), GNSS 모듈(1824), NFC 모듈(1825), MST 모듈(1826) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
가입자 식별 모듈(1829)은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID (integrated circuit card identifier)) 또는 가입자 정보(예: IMSI (international mobile subscriber identity))를 포함할 수 있다.
메모리(1830)(예: 메모리(120), 메모리(1730))는, 예를 들면, 내장 메모리(1832) 또는 외장 메모리(1834)를 포함할 수 있다. 내장 메모리(1832)는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비-휘발성(non-volatile) 메모리 (예: 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) 등), 하드 드라이브, 또는 SSD(solid state drive) 중 적어도 하나를 포함할 수 있다.
외장 메모리(1834)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(MultiMediaCard), 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 외장 메모리(1834)는 다양한 인터페이스를 통하여 전자 장치(1801)와 기능적으로 및/또는 물리적으로 연결될 수 있다.
보안 모듈(1836)은 메모리(1830)보다 상대적으로 보안 레벨이 높은 저장 공간을 포함하는 모듈로써, 안전한 데이터 저장 및 보호된 실행 환경을 보장해주는 회로일 수 있다. 보안 모듈(1836)은 별도의 회로로 구현될 수 있으며, 별도의 프로세서를 포함할 수 있다. 보안 모듈(1836)은, 예를 들면, 탈착 가능한 스마트 칩, SD(secure digital) 카드 내에 존재하거나, 또는 전자 장치(1801)의 고정 칩 내에 내장된 내장형 보안 요소(embedded secure element(eSE))를 포함할 수 있다. 또한, 보안 모듈(1836)은 전자 장치(1801)의 운영 체제(OS)와 다른 운영 체제로 구동될 수 있다. 예를 들면, 보안 모듈(1836)은 JCOP(java card open platform) 운영 체제를 기반으로 동작할 수 있다.
센서 모듈(1840)(예: 센서 회로(140))은, 예를 들면, 물리량을 계측하거나 전자 장치(1801)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈(1840)은, 예를 들면, 제스처 센서(1840A), 자이로 센서(1840B), 기압 센서(1840C), 마그네틱 센서(1840D), 가속도 센서(1840E), 그립 센서(1840F), 근접 센서(1840G), 컬러 센서(1840H)(예: RGB 센서), 생체 센서(1840I), 온/습도 센서(1840J), 조도 센서(1840K), 또는 UV(ultra violet) 센서(1840M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈(1840)은, 예를 들면, 후각 센서(E-nose sensor), EMG(electromyography) 센서, EEG(electroencephalogram) 센서, ECG(electrocardiogram) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈(1840)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(1801)는 프로세서(1810)의 일부로서 또는 별도로, 센서 모듈(1840)을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서(1810)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(1840)을 제어할 수 있다.
입력 장치(1850)는, 예를 들면, 터치 패널(touch panel)(1852), (디지털) 펜 센서(pen sensor)(1854), 키(key)(1856), 또는 초음파(ultrasonic) 입력 장치(1858)를 포함할 수 있다. 터치 패널(1852)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(1852)은 제어 회로를 더 포함할 수도 있다. 터치 패널(1852)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
(디지털) 펜 센서(1854)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 시트(sheet)를 포함할 수 있다. 키(1856)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치(1858)는 마이크(예: 마이크(1888))를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이(1860)(예: 디스플레이(130), 디스플레이(1760))는 패널(1862), 홀로그램 장치(1864), 또는 프로젝터(1866)을 포함할 수 있다. 패널(1862)은, 도 17의 디스플레이(1760)과 동일 또는 유사한 구성을 포함할 수 있다. 패널(1862)은, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 패널(1862)은 터치 패널(1852)과 하나의 모듈로 구성될 수도 있다. 홀로그램 장치(1864)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(1866)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치(1801)의 내부 또는 외부에 위치할 수 있다. 한 실시 예에 따르면, 디스플레이(1860)는 패널(1862), 홀로그램 장치(1864), 또는 프로젝터(1866)를 제어하기 위한 제어 회로를 더 포함할 수 있다.
인터페이스(1870)는, 예를 들면, HDMI(1872), USB(1874), 광 인터페이스(optical interface)(1876), 또는 D-sub(D-subminiature)(1878)을 포함할 수 있다. 인터페이스(1870)는, 예를 들면, 도 17에 도시된 통신 인터페이스(1770)에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스(1870)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD 카드/MMC 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈(1880)은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(1880)의 적어도 일부 구성요소는, 예를 들면, 도 17에 도시된 입출력 인터페이스(1750)에 포함될 수 있다. 오디오 모듈(1880)은, 예를 들면, 스피커(1882), 리시버(1884), 이어폰(1886), 또는 마이크(1888) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
카메라 모듈(1891)(예: 카메라(110))은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(flash)(예: LED 또는 제논 램프(xenon lamp))를 포함할 수 있다.
전력 관리 모듈(1895)은, 예를 들면, 전자 장치(1801)의 전력을 관리할 수 있다. 한 실시 예에 따르면, 전력 관리 모듈(1895)은 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리(1896)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(1896)은, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
인디케이터(1897)는 전자 장치(1801) 혹은 그 일부(예: 프로세서(1810))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(1898)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 전자 장치(1801)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(MediaFLOTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치는 본 문서에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 19는 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
한 실시 예에 따르면, 프로그램 모듈(1910)(예: 프로그램(1740))은 전자 장치(예: 전자 장치(1701))에 관련된 자원을 제어하는 운영 체제(OS) 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(1747))을 포함할 수 있다. 운영 체제는, 예를 들면, Android, iOS, Windows, Symbian, 또는 Tizen 등이 될 수 있다.
프로그램 모듈(1910)은 커널(1920), 미들웨어(1930), API(1960), 및/또는 어플리케이션(1970)을 포함할 수 있다. 프로그램 모듈(1910)의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 외부 전자 장치(예: 제1 전자 장치(1702), 제2 전자 장치(1704), 서버(1706) 등)로부터 다운로드 가능하다.
커널(1920)(예: 커널(1741))은, 예를 들면, 시스템 리소스 매니저(1921) 또는 디바이스 드라이버(1923)를 포함할 수 있다. 시스템 리소스 매니저(1921)는 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시 예에 따르면, 시스템 리소스 매니저(1921)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 디바이스 드라이버(1923)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, Wi-Fi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
미들웨어(1930)는, 예를 들면, 어플리케이션(1970)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(1970)이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API(1960)을 통해 다양한 기능들을 어플리케이션(1970)으로 제공할 수 있다. 한 실시 예에 따르면, 미들웨어(1930)(예: 미들웨어(1743))은 런타임 라이브러리(1935), 어플리케이션 매니저(application manager)(1941), 윈도우 매니저(window manager)(1942), 멀티미디어 매니저(multimedia manager)(1943), 리소스 매니저(resource manager)(1944), 파워 매니저(power manager)(1945), 데이터베이스 매니저(database manager)(1946), 패키지 매니저(package manager)(1947), 연결 매니저(connectivity manager)(1948), 통지 매니저(notification manager)(1949), 위치 매니저(location manager)(1950), 그래픽 매니저(graphic manager)(1951), 보안 매니저(security manager)(1952), 확장 스크린 매니저(1953), 또는 결제 매니저(1954) 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리(1935)는, 예를 들면, 어플리케이션(1970)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리(1935)는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
어플리케이션 매니저(1941)는, 예를 들면, 어플리케이션(1970) 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저(1942)는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(1943)는 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 리소스 매니저(1944)는 어플리케이션(1970) 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
파워 매니저(1945)는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리의 용량, 온도, 또는 전원을 관리하고, 이 중 해당 정보를 이용하여 전자 장치의 동작에 필요한 전력 정보를 결정 또는 제공할 수 있다. 데이터베이스 매니저(1946)은 어플리케이션(1970) 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(1947)은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
연결 매니저(1948)는, 예를 들면, Wi-Fi 또는 Bluetooth 등의 무선 연결을 관리할 수 있다. 통지 매니저(1949)는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저(1950)은 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(1951)은 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(1952)는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 확장 스크린 매니저(1953)는, 예를 들면, 그래픽이 표시될 디스플레이의 영역을 결정할 수 있다. 일 실시 예에 따르면, 확장 스크린 매니저(1953)는 그래픽이 표시되도록 결정된 디스플레이의 영역을 통하여 제공될 정보, 그래픽 효과, 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다.
일 실시 예에 따르면, 전자 장치(예: 전자 장치(1701))가 전화 기능을 포함하는 경우, 미들웨어(1930)는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다. 미들웨어(1930)는 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 미들웨어(1930)는 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 미들웨어(1930)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
API(1960)(예: API(1745))은, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, Android 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(Tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션(1970)(예: 어플리케이션 프로그램(1747))은, 예를 들면, 홈(1971), 다이얼러(1972), SMS/MMS(1973), IM(instant message)(1974), 브라우저(1975), 카메라(1976), 알람(1977), 컨택트(1978), 음성 다이얼(1979), 이메일(1980), 달력(1981), 미디어 플레이어(1982), 앨범(1983), 시계(1984), 결제(1985), 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 수행할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시 예에 따르면, 어플리케이션(1970)은 전자 장치(예: 전자 장치(1701))와 외부 전자 장치(예: 제1 전자 장치(1702), 제2 전자 장치(1704)) 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의상, "정보 교환 어플리케이션")을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치로 전달하는 기능을 포함할 수 있다. 또한, 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다.
장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는 해상도) 조절), 외부 전자 장치에서 동작하는 어플리케이션 또는 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스 등)를 관리(예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시 예에 따르면, 어플리케이션(1970)은 외부 전자 장치의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션(1970)은 외부 전자 장치(예: 제1 전자 장치(1702), 제2 전자 장치(1704)), 및 서버(1706)) 로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션(1970)은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시 예에 따른 프로그램 모듈(1910)의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시 예에 따르면, 프로그램 모듈(1910)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 프로그램 모듈(1910)의 적어도 일부는, 예를 들면, 프로세서(예: 프로세서(1810))에 의해 구현(implement)(예: 실행)될 수 있다. 프로그램 모듈(1910)의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(1720))에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리(1730)이 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.

Claims (26)

  1. 전자 장치에 있어서,
    카메라 모듈,
    디스플레이 및
    상기 카메라 모듈 및 상기 디스플레이와 전기적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
    상기 카메라 모듈을 이용하여, 하나 이상의 오브젝트들을 포함하는 프리뷰 이미지를 상기 디스플레이를 이용하여 표시하고,
    상기 하나 이상의 오브젝트들에 대응하는 제1 사용자 인터페이스 또는 상기 제1 사용자 인터페이스와 다른 제2 사용자 인터페이스를 상기 디스플레이를 이용하여 표시하고,
    상기 제1 사용자 인터페이스 또는 상기 제2 사용자 인터페이스를 선택하는 사용자 입력을 수신하고;
    상기 사용자 입력에 적어도 기반하여 상기 제1 사용자 인터페이스가 선택되는 경우, 상기 카메라 모듈을 이용하여, 제1 방식으로 상기 하나 이상의 오브젝트들을 포함하는 제1 이미지를 획득하고,
    상기 사용자 입력에 적어도 기반하여 상기 제2 사용자 인터페이스가 선택 되는 경우, 상기 카메라 모듈을 이용하여, 상기 제1 방식과 다른 제2 방식으로 상기 하나 이상의 오브젝트를 포함하는 제2 이미지를 획득하고, 및
    상기 사용자 입력에 적어도 기반하여 획득된 상기 제1 이미지 또는 상기 제2 이미지를 이용하여 상기 하나 이상의 오브젝트와 관련된 정보를 제공하도록 설정된 전자 장치.
  2. 청구항 1에 있어서,
    상기 프로세서는,
    상기 프리뷰 이미지 상에 크기 조절이 가능한 가이드 인터페이스를 상기 디스플레이를 이용하여 표시하고,
    상기 가이드 인터페이스 내에 포함되는 하나 이상의 오브젝트에 대응하는 제1 사용자 인터페이스 또는 제2 사용자 인터페이스를 상기 디스플레이를 이용하여 표시하도록 설정된 전자 장치.
  3. 청구항 2에 있어서,
    상기 가이드 인터페이스는 상기 사용자 입력에 기반하여 크기가 조절 가능하거나 상기 프리뷰 이미지 상에서 이동 가능한, 전자 장치.
  4. 청구항 1에 있어서,
    상기 프로세서는,
    상기 하나 이상의 오브젝트들에 대응하는 속성을 결정하고,
    상기 결정된 속성에 적어도 기반하여, 상기 하나 이상의 오브젝트들에 대응하는 제1 사용자 인터페이스 또는 제2 사용자 인터페이스를 상기 디스플레이를 이용하여 표시하도록 설정된 전자 장치.
  5. 청구항 4에 있어서,
    상기 속성은 상기 하나 이상의 오브젝트들 중 어느 하나의 오브젝트의 타입을 포함하고,
    상기 하나 이상의 오브젝트 중 어느 하나의 오브젝트에 대응하는 타입은 복수 개이고,
    상기 프로세서는,
    상기 복수 개의 타입 중 지정된 우선 순위에 기반하여 결정되는 하나 이상의 타입들에 대응하는 사용자 인터페이스를 상기 디스플레이를 이용하여 표시하도록 설정된 전자 장치.
  6. 청구항 4에 있어서,
    상기 프로세서는,
    상기 결정된 속성에 대응하는 하나 이상의 속성 정보를, 상기 디스플레이를 이용하여, 상기 하나 이상의 오브젝트와 연관하여 표시하도록 설정된 전자 장치.
  7. 청구항 1에 있어서,
    상기 제1 방식 또는 제2 방식은 상기 카메라 모듈을 이용하여 상기 제1 이미지 또는 제2 이미지를 획득하는 촬영모드 설정을 포함하는, 전자 장치.
  8. 청구항 7에 있어서,
    상기 촬영모드 설정은 플래시 작동 설정, 상기 획득되는 상기 제1 이미지 또는 상기 제2 이미지의 해상도 설정, 줌(zoom) 설정, 촬영 감도(iso) 설정, 노출(exposure) 설정, 조리개(aperture) 설정, 또는 HDR(high dynamic range) 모드 설정을 포함하는, 전자 장치.
  9. 청구항 1에 있어서,
    상기 프로세서는,
    상기 하나 이상의 오브젝트들에 기반하여 상기 이미지의 해상도를 변경하고,
    상기 선택된 사용자 인터페이스 및 상기 해상도가 변경된 이미지에 기반하여 상기 이미지에 포함된 상기 하나 이상의 오브젝트들과 관련된 정보를 제공하도록 설정된, 전자 장치.
  10. 청구항 1에 있어서,
    메모리, 및
    통신 회로를 더 포함하고,
    상기 프로세서는,
    상기 제1 사용자 인터페이스가 선택되는 경우, 상기 메모리에 적어도 일부가 저장된 제1 데이터베이스를 이용하여, 상기 제1 이미지에 포함된 상기 하나 이상의 오브젝트와 관련된 정보를 제공하고,
    상기 제2 사용자 인터페이스가 선택되는 경우, 상기 전자 장치의 외부에 적어도 일부가 저장된 제2 데이터베이스를 이용하여, 상기 제2 이미지에 포함된 상기 하나 이상의 오브젝트들과 관련된 정보를 제공하도록 설정된, 전자 장치.
  11. 전자 장치에 있어서,
    이미지를 저장하는 메모리,
    디스플레이, 및
    상기 메모리 및 상기 디스플레이와 전기적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
    상기 메모리에 저장된, 하나 이상의 오브젝트들을 포함하는 제1 이미지를 상기 디스플레이를 이용하여 표시하고,
    상기 하나 이상의 오브젝트들에 대응하는 복수 개의 사용자 인터페이스들을 상기 디스플레이를 이용하여 표시하고,
    복수 개의 사용자 인터페이스들 중 제1 사용자 인터페이스를 선택하는 사용자 입력을 수신하고,
    상기 선택된 제1 사용자 인터페이스의 타입에 대응하는 방식으로 상기 제1 이미지로부터 상기 하나 이상의 오브젝트들을 포함하는 제2 이미지를 획득하고,
    상기 선택된 제1 사용자 인터페이스의 타입 및 상기 획득된 제2 이미지에 기반하여 상기 제2 이미지에 포함된 오브젝트와 관련된 정보를 제공하도록 설정된, 전자 장치.
  12. 청구항 11에 있어서,
    상기 메모리는,
    상기 제1 이미지에 포함된 하나 이상의 오브젝트들 중 적어도 하나의 오브젝트에 대한 카테고리 정보를 저장하고,
    상기 프로세서는,
    상기 메모리에 저장된 상기 카테고리 정보에 기반하여, 상기 하나 이상의 오브젝트들에 대응하는 상기 복수 개의 사용자 인터페이스를 표시하도록 설정된, 전자 장치.
  13. 청구항 12에 있어서,
    상기 프로세서는,
    상기 카테고리 정보가 저장된 상기 적어도 하나의 오브젝트에 대응하는 상기 제1 사용자 인터페이스를 상기 디스플레이를 이용하여 표시하도록 설정된, 전자 장치.
  14. 청구항 11에 있어서,
    상기 방식은
    상기 제1 이미지 중 상기 하나 이상의 오브젝트들을 포함하는 일부 영역으로부터 상기 제2 이미지를 획득하는 방식 또는 지정된 해상도로 상기 제2 이미지를 획득하는 방식을 포함하는, 전자 장치.
  15. 청구항 11에 있어서,
    상기 선택된 제1 사용자 인터페이스가 텍스트와 관련된 경우, 상기 프로세서는, 상기 제2 이미지를 지정된 해상도 이상으로 획득하도록 설정된, 전자 장치.
  16. 청구항 11에 있어서,
    통신 회로를 더 포함하고,
    상기 프로세서는,
    상기 선택된 제1 사용자 인터페이스 또는 상기 획득된 제2 이미지가 포함하는 하나 이상의 오브젝트들 중 적어도 하나에 기반하여, 상기 메모리에 저장된 정보에 기반하여 상기 하나 이상의 오브젝트들과 관련된 정보를 제공하거나, 상기 통신 회로를 이용하여 상기 제2 이미지 또는 획득된 상기 제2 이미지로부터 획득된 정보를 외부 서버로 전송하고 상기 외부 서버로부터 상기 하나 이상의 오브젝트들과 관련된 정보를 수신하여 제공하도록 설정된, 전자 장치.
  17. 전자 장치에 있어서,
    메모리,
    디스플레이, 및
    상기 메모리 및 상기 디스플레이와 전기적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
    하나 이상의 오브젝트들을 포함하는 제1 이미지를 상기 디스플레이를 이용하여 표시하고,
    상기 하나 이상의 오브젝트들에 대응하는 복수의 속성 정보 중 상황 정보에 적어도 기반하여 결정되는 하나의 속성 정보에 대응하는 방식으로, 상기 하나 이상의 오브젝트들을 포함하는 제2 이미지를 획득하고,
    상기 제2 이미지를 이용하여 상기 하나 이상의 오브젝트들과 관련된 정보를 제공하도록 설정된, 전자 장치.
  18. 청구항 17에 있어서,
    카메라 모듈을 더 포함하고,
    상기 제1 이미지는 상기 카메라 모듈을 통해 획득되는 프리뷰 이미지인, 전자 장치.
  19. 청구항 17에 있어서,
    상기 제1 이미지는 상기 메모리에 저장된 이미지인, 전자 장치.
  20. 청구항 17에 있어서,
    상기 상황 정보는 현재 시각, 상기 전자 장치의 위치 또는 상기 메모리에 저장된 사용자 입력 히스토리를 포함하는, 전자 장치.
  21. 청구항 17에 있어서,
    상기 속성 정보는 상기 오브젝트와 관련하여 제공되는 기능에 대한 정보이고, 상기 제공되는 기능은 텍스트 추출, 번역, 유사 이미지 검색, 쇼핑 정보 검색, QR코드 인식 또는 장소 정보 검색을 포함하는, 전자 장치.
  22. 전자 장치에 있어서,
    카메라 모듈,
    디스플레이,
    상기 카메라 모듈과 연관된 카메라 어플리케이션을 저장하는 메모리,
    상기 카메라 모듈, 상기 디스플레이, 및 상기 메모리와 전기적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
    상기 카메라 어플리케이션을 실행하고,
    상기 카메라 모듈을 이용하여 제1 오브젝트 및 제2 오브젝트를 포함하는 프리뷰 이미지를 획득하고,
    상기 프리뷰 이미지, 상기 제1 오브젝트에 대응되는 제1 사용자 인터페이스 및 상기 제2 오브젝트에 대응되는 제2 사용자 인터페이스를 포함하는 화면을 상기 디스플레이에 표시하고,
    상기 제1 사용자 인터페이스가 선택되면, 상기 카메라 모듈을 이용하여, 제1 방식으로 상기 제1 오브젝트를 포함하는 제1 이미지를 획득하고,
    상기 제2 사용자 인터페이스가 선택되면, 상기 카메라 모듈을 이용하여, 상기 제1 방식과 다른 제2 방식으로 제2 오브젝트를 포함하는 제2 이미지를 획득하고,
    상기 제1 이미지 또는 상기 제2 이미지를 이용하여 상기 제1 오브젝트 또는 상기 제2 오브젝트와 관련된 정보를 상기 디스플레이에 표시하도록 설정된 전자 장치.
  23. 청구항 22에 있어서,
    상기 제1 사용자 인터페이스가 텍스트와 관련된 경우, 상기 프로세서는 상기 이미지 중 상기 제1 이미지에 해당하는 영역을 지정된 해상도 이상으로 획득하도록 설정되는, 전자 장치.
  24. 전자 장치에 있어서,
    디스플레이,
    제1 오브젝트 및 제2 오브젝트를 포함하는 이미지를 저장하는 메모리,
    상기 디스플레이 및 상기 메모리와 전기적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
    상기 이미지를 선택하는 사용자 입력을 수신하고,
    상기 사용자 입력에 응답하여, 상기 이미지, 상기 제1 오브젝트에 대응되는 제1 사용자 인터페이스 및 상기 제2 오브젝트에 대응되는 제2 사용자 인터페이스를 포함하는 화면을 상기 디스플레이에 표시하고,
    상기 제1 사용자 인터페이스가 선택되면 제1 방식으로 상기 이미지로부터 상기 제1 오브젝트를 포함하는 제1 이미지를 획득하고, 상기 제2 사용자 인터페이스가 선택되면 상기 제1 방식과 다른 제2 방식으로 상기 이미지로부터 제2 오브젝트를 포함하는 제2 이미지를 획득하고,
    상기 제1 이미지 또는 상기 제2 이미지를 이용하여 상기 제1 오브젝트 또는 상기 제2 오브젝트와 관련된 정보를 상기 디스플레이에 표시하도록 설정된, 전자 장치.
  25. 청구항 24에 있어서,
    상기 제1 사용자 인터페이스가 선택되면, 상기 프로세서는 상기 이미지에서 상기 제1 오브젝트를 포함하는 일부 영역을 제외한 부분을 크롭(crop)함으로써 상기 제1 이미지를 획득하도록 설정되는, 전자 장치.
  26. 청구항 24에 있어서,
    상기 제1 사용자 인터페이스가 선택되면, 상기 프로세서는 상기 이미지 중 상기 제1 이미지에 해당하는 영역을 지정된 해상도 이상으로 획득하도록 설정되는, 전자 장치.
KR1020170038691A 2017-03-27 2017-03-27 이미지 내 오브젝트와 관련된 정보를 제공하는 전자 장치 KR20180109304A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170038691A KR20180109304A (ko) 2017-03-27 2017-03-27 이미지 내 오브젝트와 관련된 정보를 제공하는 전자 장치

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR1020170038691A KR20180109304A (ko) 2017-03-27 2017-03-27 이미지 내 오브젝트와 관련된 정보를 제공하는 전자 장치
PCT/KR2018/002781 WO2018182197A1 (en) 2017-03-27 2018-03-08 Device for providing information related to object in image
US15/924,742 US10977491B2 (en) 2017-03-27 2018-03-19 Device for providing information related to object in image
EP18164309.9A EP3382632B1 (en) 2017-03-27 2018-03-27 Device for providing information related to object in image
CN201810257101.5A CN108664829A (zh) 2017-03-27 2018-03-27 用于提供与图像中对象有关的信息的设备

Publications (1)

Publication Number Publication Date
KR20180109304A true KR20180109304A (ko) 2018-10-08

Family

ID=61971895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170038691A KR20180109304A (ko) 2017-03-27 2017-03-27 이미지 내 오브젝트와 관련된 정보를 제공하는 전자 장치

Country Status (5)

Country Link
US (1) US10977491B2 (ko)
EP (1) EP3382632B1 (ko)
KR (1) KR20180109304A (ko)
CN (1) CN108664829A (ko)
WO (1) WO2018182197A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020138656A1 (ko) * 2018-12-28 2020-07-02 주식회사 딥엑스 상품 별 쇼핑 정보 제공 방법 및 이를 수행하는 전자기기
WO2020171333A1 (ko) * 2019-02-19 2020-08-27 삼성전자 주식회사 이미지 내의 오브젝트 선택에 대응하는 서비스를 제공하기 위한 전자 장치 및 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11030431B2 (en) * 2018-07-16 2021-06-08 The Code Corporation Efficiency when reading multiple barcodes on objects
US10604274B1 (en) * 2018-08-06 2020-03-31 Rockwell Collins, Inc. System and method for data transfer via a display device including a bezel light sensor
KR20200055980A (ko) * 2018-11-14 2020-05-22 삼성전자주식회사 이미지 내에 포함된 복수의 외부 객체들 각각에 대응하는 복수의 서비스들을 제공하는 전자 장치 및 방법

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6700589B1 (en) * 2000-02-17 2004-03-02 International Business Machines Corporation Method, system, and program for magnifying content downloaded from a server over a network
KR20030097310A (ko) * 2002-06-20 2003-12-31 삼성전자주식회사 디스플레이장치의 화상크기조절방법 및 그화상크기조절시스템과 화상크기조절방법을 수행하는프로그램이 저장된 기록매체
JP3966461B2 (ja) 2002-08-09 2007-08-29 株式会社リコー 電子カメラ装置
CN1809829A (zh) * 2003-04-25 2006-07-26 惠普开发有限公司 数据库装置和作成方法、数据库检索装置及检索方法
JP4771111B2 (ja) * 2004-10-04 2011-09-14 ソニー株式会社 表示制御装置および方法、記録媒体、並びにプログラム
EP1876828B1 (en) * 2006-07-03 2016-10-26 Axis AB Method and apparatus for configuring parameter values for cameras
KR20110052345A (ko) * 2009-11-12 2011-05-18 삼성전자주식회사 디스플레이장치, 카메라 및 그 제어방법
JP2011147109A (ja) * 2009-12-16 2011-07-28 Canon Inc 撮像装置及び画像処理装置
CN102110122B (zh) * 2009-12-24 2013-04-03 阿里巴巴集团控股有限公司 一种建立样本图片索引表和图片过滤、搜索方法及装置
US8400548B2 (en) 2010-01-05 2013-03-19 Apple Inc. Synchronized, interactive augmented reality displays for multifunction devices
US9264659B2 (en) * 2010-04-07 2016-02-16 Apple Inc. Video conference network management for a mobile device
KR101324336B1 (ko) * 2010-12-28 2013-10-31 주식회사 팬택 증강 현실 제공 단말기
KR101509846B1 (ko) 2011-01-31 2015-04-10 광운대학교 산학협력단 대칭형 미앤더 스퍼라인 공진기를 이용한 마이크로파 발진기
US8473550B2 (en) * 2011-09-21 2013-06-25 Color Labs, Inc. Content sharing using notification within a social networking environment
US20130275411A1 (en) * 2012-04-13 2013-10-17 Lg Electronics Inc. Image search method and digital device for the same
US9449343B2 (en) * 2012-10-05 2016-09-20 Sap Se Augmented-reality shopping using a networked mobile device
US9791921B2 (en) 2013-02-19 2017-10-17 Microsoft Technology Licensing, Llc Context-aware augmented reality object commands
KR102049789B1 (ko) 2013-04-25 2019-11-28 삼성전자 주식회사 휴대단말기의 정보 전송장치 및 방법
US20150177953A1 (en) * 2013-12-23 2015-06-25 Thomson Licensing User interface displaying scene dependent attributes
JP6328255B2 (ja) * 2014-09-11 2018-05-23 富士フイルム株式会社 マルチ撮像装置、マルチ撮像方法、プログラム、及び記録媒体
KR20160071144A (ko) * 2014-12-11 2016-06-21 엘지전자 주식회사 이동단말기 및 그 제어 방법
KR20160086717A (ko) 2015-01-12 2016-07-20 삼성전자주식회사 모바일 디바이스를 구부리는 사용자 입력에 따라 기설정된 서비스를 제공하는 방법 및 모바일 디바이스
JP6478654B2 (ja) * 2015-01-23 2019-03-06 キヤノン株式会社 撮像装置及びその制御方法
US10921896B2 (en) 2015-03-16 2021-02-16 Facebook Technologies, Llc Device interaction in augmented reality
KR20160141458A (ko) * 2015-06-01 2016-12-09 엘지전자 주식회사 이동 단말기
JP6684559B2 (ja) 2015-09-16 2020-04-22 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置
KR20170038691A (ko) 2015-09-30 2017-04-07 다이요 잉키 세이조 가부시키가이샤 도전성 접착제와 그의 제조 방법, 경화물 및 전자 부품
KR101979694B1 (ko) * 2016-11-04 2019-05-17 엘지전자 주식회사 차량에 구비된 차량 제어 장치 및 그의 제어방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020138656A1 (ko) * 2018-12-28 2020-07-02 주식회사 딥엑스 상품 별 쇼핑 정보 제공 방법 및 이를 수행하는 전자기기
WO2020171333A1 (ko) * 2019-02-19 2020-08-27 삼성전자 주식회사 이미지 내의 오브젝트 선택에 대응하는 서비스를 제공하기 위한 전자 장치 및 방법

Also Published As

Publication number Publication date
US10977491B2 (en) 2021-04-13
US20180276473A1 (en) 2018-09-27
EP3382632A1 (en) 2018-10-03
CN108664829A (zh) 2018-10-16
WO2018182197A1 (en) 2018-10-04
EP3382632B1 (en) 2021-09-15

Similar Documents

Publication Publication Date Title
KR20180109304A (ko) 이미지 내 오브젝트와 관련된 정보를 제공하는 전자 장치
KR20170058793A (ko) 가상 현실 환경에서 정보를 제공하는 방법 및 장치
CN107430480B (zh) 电子设备和在电子设备中处理信息的方法
US10586390B2 (en) Virtual reality electronic device for displaying combined graphic object and image frame and corresponding computer-readable recording medium
KR20170071960A (ko) 전자 장치의 사용자 인터페이스 제공 방법 및 장치
KR20160105239A (ko) 전자 장치 및 그의 영상 표시 방법
KR20170077730A (ko) 컨텐트 인식 장치 및 그 동작 방법
KR20170077714A (ko) 어플리케이션 실행 방법 및 이를 지원하는 전자 장치
KR20170021672A (ko) 콘텐츠 탐색 인터페이스 제공 방법 및 이를 지원하는 전자 장치
KR20170013623A (ko) 디스플레이를 제어하는 전자 장치 및 방법
CN108353161B (zh) 电子设备、可穿戴设备和用于控制通过电子设备显示的对象的方法
KR20170066050A (ko) 객체 알림 방법 및 이를 지원하는 전자 장치
KR20170065904A (ko) 콘텐트 프리로딩 방법 및 이를 지원하는 전자 장치
KR20160114434A (ko) 전자 장치 및 전자 장치의 이미지 촬영 방법
KR20170059201A (ko) 전자 장치 및 전자 장치의 컨텐츠 출력 방법
KR20170081903A (ko) 전자 장치 및 그 동작 방법
KR20180089803A (ko) 인증을 수행하는 전자 장치 및 방법
KR20160031217A (ko) 제어 방법 및 그 방법을 처리하는 전자장치
KR20180021465A (ko) 컨텐츠를 제공하기 위한 전자 장치, 시스템 및 방법
KR20170136385A (ko) 정보 처리 시스템 및 이에 포함되는 전자 장치
KR20170053065A (ko) 추천 객체를 제공하기 위한 전자 장치 및 방법
US20200143166A1 (en) Method for outputting content corresponding to object and electronic device therefor
KR20180131863A (ko) 스마트 워치에 대한 정보를 제공하는 전자 장치와 이의 동작 방법
KR20180064717A (ko) 콘텐츠 출력 방법 및 이를 지원하는 전자 장치
KR20170100309A (ko) 음성 인식 제어를 제공하는 전자 장치 및 그 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination