KR20190138436A - 입력기를 통해 이미지와 관련된 정보를 어플리케이션에 제공하는 전자 장치 및 방법 - Google Patents

입력기를 통해 이미지와 관련된 정보를 어플리케이션에 제공하는 전자 장치 및 방법 Download PDF

Info

Publication number
KR20190138436A
KR20190138436A KR1020180064892A KR20180064892A KR20190138436A KR 20190138436 A KR20190138436 A KR 20190138436A KR 1020180064892 A KR1020180064892 A KR 1020180064892A KR 20180064892 A KR20180064892 A KR 20180064892A KR 20190138436 A KR20190138436 A KR 20190138436A
Authority
KR
South Korea
Prior art keywords
image
images
electronic device
processor
input
Prior art date
Application number
KR1020180064892A
Other languages
English (en)
Other versions
KR102625254B1 (ko
Inventor
정승환
이다솜
김창원
김현진
유임경
이기혁
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020180064892A priority Critical patent/KR102625254B1/ko
Priority to US16/429,393 priority patent/US20190369825A1/en
Priority to PCT/KR2019/006659 priority patent/WO2019235793A1/en
Priority to CN201980037811.XA priority patent/CN112236767A/zh
Priority to EP19816119.2A priority patent/EP3769234A4/en
Publication of KR20190138436A publication Critical patent/KR20190138436A/ko
Application granted granted Critical
Publication of KR102625254B1 publication Critical patent/KR102625254B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/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
    • G06F3/04886Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 OR 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/54Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06F3/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/35Categorising the entire scene, e.g. birthday party or wedding scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Abstract

다양한 실시예들에 따른 전자 장치(electronic device)는, 메모리와, 디스플레이와, 상기 디스플레이를 이용하여, 상기 전자 장치에서 실행 중인 어플리케이션에 대한 사용자 입력을 수신할 수 있는 입력기를 표시하고, 상기 표시에 적어도 기반하여, 상기 메모리에 저장된 하나 이상의 이미지들을 확인하고, 상기 하나 이상의 이미지들 중 적어도 일부 이미지를 상기 입력기와 연관하여 표시하고, 상기 적어도 일부 이미지 중 지정된 입력에 따라 선택된 이미지에 포함된 콘텐트에 대한 인식 정보 획득하고, 상기 획득에 적어도 기반하여, 상기 인식 정보에 대응하는 문자 정보를 획득하고, 상기 입력기를 통해 상기 문자 정보를 상기 사용자 입력의 적어도 일부로서, 상기 어플리케이션에 제공하도록 설정된 프로세서를 포함할 수 있다.

Description

입력기를 통해 이미지와 관련된 정보를 어플리케이션에 제공하는 전자 장치 및 방법{ELECTRONIC DEVICE AND METHOD PROVIDING INFORMATION ASSOCIATED WITH IMAGE TO APPLICATION THROUGH INPUT UNIT}
후술되는 다양한 실시예들은 이미지를 이용하여 정보 검색(information retrieval)을 수행하는 가상 키보드(예: 입력기(input unit))를 제공하기 위한 전자 장치(electronic device) 및 그의 방법에 관한 것이다.
기술의 발달로, 보다 직관적으로(intuitively) 검색 서비스(retrieval service)를 제공하는 전자 장치가 보급되고 있다. 예를 들면, 텍스트가 아닌 이미지를 이용하여 검색을 수행하는 전자 장치가 개발되고 있다.
전자 장치에서 전용(dedicated) 어플리케이션(예: 빅스비 비전) 또는 특정 어플리케이션 내의 이미지 검색 기능을 통해 이미지 검색 서비스를 제공하는 경우, 상기 이미지 검색 서비스 영역은 상기 전용 어플리케이션 내부 또는 상기 특정 어플리케이션 내부로 한정될 수 있다. 따라서, 어플리케이션 또는 서비스로부터 독립적으로(independently from) 상기 이미지 검색 서비스를 제공하기 위한 방안(solution)이 전자 장치에서 요구될 수 있다.
본 문서에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
다양한 실시예들에 따른 전자 장치(electronic device)는, 메모리와, 디스플레이와, 상기 디스플레이를 이용하여, 상기 전자 장치에서 실행 중인 어플리케이션에 대한 사용자 입력을 수신할 수 있는 입력기를 표시하고, 상기 표시에 적어도 기반하여, 상기 메모리에 저장된 하나 이상의 이미지들을 확인하고, 상기 하나 이상의 이미지들 중 적어도 일부 이미지를 상기 입력기와 연관하여 표시하고, 상기 적어도 일부 이미지 중 지정된 입력에 따라 선택된 이미지에 포함된 콘텐트의 적어도 일부가 인식된 인식 정보 획득하고, 상기 획득에 적어도 기반하여, 상기 인식 정보에 대응하는 문자 정보를 획득하고, 상기 입력기를 통해 상기 문자 정보를 상기 사용자 입력의 적어도 일부로서, 상기 어플리케이션에 제공하도록 설정된 프로세서를 포함할 수 있다.
다양한 실시예들에 따른 전자 장치는, 명령어들을 저장하는 메모리와, 디스플레이와, 상기 명령어들을 실행할 시, 어플리케이션의 사용자 인터페이스를 표시하고, 상기 사용자 인터페이스에 포함된 텍스트 입력 부분에 대한 입력을 식별하는 것에 응답하여, 상기 사용자 인터페이스와 일부 중첩된 가상 키보드(virtual keyboard)의 표시 영역 안에서(within) 지정된(designated) 객체와 복수의 문자들을 나타내는 복수의 키들을 표시하고, 상기 지정된 객체에 대한 입력을 식별하는 것에 적어도 기반하여, 상기 전자 장치에 저장된 복수의 이미지들 중 상기 어플리케이션과 관련된 하나 이상의 이미지들을 식별하고, 상기 하나 이상의 이미지들을 각각 보여주기(represent) 위해 이용되고 상기 하나 이상의 이미지들을 이용하여 상기 사용자 인터페이스 안에서 검색 서비스를 제공하기 위한 하나 이상의 썸네일 이미지(thumbnail image)들을 상기 가상 키보드의 상기 표시 영역 안에서 표시하도록 설정된 적어도 하나의 프로세서를 포함할 수 있다.
다양한 실시예들에 따른 전자 장치는, 명령어들을 저장하는 메모리와, 디스플레이와, 상기 명령어들을 실행할 시, 상기 전자 장치에 저장된 제1 어플리케이션의 제1 사용자 인터페이스와 함께 가상 키보드를 표시하는 적어도 일부 동안 상기 가상 키보드 내에 포함된 지정된 객체에 대한 입력을 수신하는 것에 기반하여, 상기 전자 장치에 저장된 복수의 이미지들 중 제1 이미지를 보여주기 위한 제1 썸네일 이미지를 상기 제1 사용자 인터페이스와 함께 표시하고, 상기 제1 썸네일 이미지에 대한 적어도 하나의 입력을 수신하는 것에 기반하여 상기 제1 사용자 인터페이스 안에서 상기 제1 이미지에 적어도 기반하여 검색된 콘텐트를 제공하고, 상기 전자 장치에 저장되고 상기 제1 어플리케이션과 구별되는 제2 어플리케이션의 제2 사용자 인터페이스와 함께 상기 가상 키보드를 표시하는 적어도 일부 동안 상기 가상 키보드 내에 포함된 상기 지정된 객체에 대한 상기 입력을 수신하는 것에 기반하여, 상기 복수의 이미지들 중 상기 제1 이미지와 구별되는(distinct from) 제2 이미지를 보여주기 위한 제2 썸네일 이미지를 상기 제2 사용자 인터페이스와 함께 표시하고, 상기 제2 썸네일 이미지에 대한 적어도 하나의 입력을 수신하는 것에 기반하여 상기 제2 사용자 인터페이스 안에서 상기 제2 이미지에 적어도 기반하여 검색된 상기 콘텐트와 구별되는 다른(another) 콘텐트를 제공하도록 설정된 적어도 하나의 프로세서를 포함할 수 있다.
다양한 실시예들에 따른 전자 장치 내에서의 방법은, 상기 전자 장치의 디스플레이를 이용하여, 상기 전자 장치에서 실행 중인 어플리케이션에 대한 사용자 입력을 수신할 수 있는 입력기를 표시하는 동작과, 상기 표시에 적어도 기반하여, 상기 전자 장치의 메모리에 저장된 하나 이상의 이미지들을 확인하는 동작과, 상기 하나 이상의 이미지들 중 적어도 일부 이미지를 상기 입력기와 연관하여 표시하는 동작과, 상기 적어도 일부 이미지 중 지정된 입력에 따라 선택된 이미지에 포함된 콘텐트의 적어도 일부가 인식된 인식 정보를 획득하는 동작과, 상기 획득에 적어도 기반하여, 상기 인식 정보에 대응하는 문자 정보를 획득하는 동작과, 상기 입력기를 통해 상기 문자 정보를 상기 사용자 입력의 적어도 일부로서, 상기 어플리케이션에 제공하는 동작을 포함할 수 있다.
다양한 실시예들에 따른 전자 장치 내에서의 방법은, 어플리케이션의 사용자 인터페이스를 표시하는 동작과, 상기 사용자 인터페이스에 포함된 텍스트 입력 부분에 대한 입력을 식별하는 것에 응답하여, 상기 사용자 인터페이스와 일부 중첩된 가상 키보드(virtual keyboard)의 표시 영역 안에서(within) 지정된(designated) 객체와 복수의 문자들을 나타내는 복수의 키들을 표시하는 동작과, 상기 지정된 객체에 대한 입력을 식별하는 것에 적어도 기반하여, 상기 전자 장치에 저장된 복수의 이미지들 중 상기 어플리케이션과 관련된 하나 이상의 이미지들을 식별하는 동작과, 상기 하나 이상의 이미지들을 각각 보여주기(represent) 위해 이용되고 상기 하나 이상의 이미지들을 이용하여 상기 사용자 인터페이스 안에서 검색 서비스를 제공하기 위한 하나 이상의 썸네일 이미지(thumbnail image)들을 상기 가상 키보드의 상기 표시 영역 안에서 표시하는 동작을 포함할 수 있다.
다양한 실시예들에 따른 전자 장치 내에서의 방법은, 상기 전자 장치에 저장된 제1 어플리케이션의 제1 사용자 인터페이스와 함께 가상 키보드를 표시하는 동안 상기 가상 키보드 내에 포함된 지정된 객체에 대한 입력을 수신하는 것에 기반하여, 상기 전자 장치에 저장된 복수의 이미지들 중 제1 이미지를 보여주기 위한 제1 썸네일 이미지를 상기 제1 사용자 인터페이스와 함께 표시하고, 상기 제1 썸네일 이미지에 대한 적어도 하나의 입력을 수신하는 것에 기반하여 상기 제1 사용자 인터페이스 안에서 상기 제1 이미지에 적어도 기반하여 검색된 콘텐트를 제공하는 동작과, 상기 전자 장치에 저장되고 상기 제1 어플리케이션과 구별되는 제2 어플리케이션의 제2 사용자 인터페이스와 함께 상기 가상 키보드를 표시하는 동안 상기 가상 키보드 내에 포함된 상기 지정된 객체에 대한 상기 입력을 수신하는 것에 기반하여, 상기 복수의 이미지들 중 상기 제1 이미지와 구별되는(distinct from) 제2 이미지를 보여주기 위한 제2 썸네일 이미지를 상기 제2 사용자 인터페이스와 함께 표시하고, 상기 제2 썸네일 이미지에 대한 적어도 하나의 입력을 수신하는 것에 기반하여 상기 제2 사용자 인터페이스 안에서 상기 제2 이미지에 적어도 기반하여 검색된 상기 콘텐트와 구별되는 다른(another) 콘텐트를 제공하는 동작을 포함할 수 있다.
다양한 실시 예들에 따른 전자 장치(electronic device) 및 그의 방법은, 어플리케이션으로부터 독립적인 가상 키보드를 통해 이미지 검색 서비스를 제공할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블럭도이다.
도 2a는 다양한 실시예들에 따른 프로그램의 블록도이다.
도 2b는 다양한 실시예들에 따른 전자 장치의 프로세서에 의해 이용되는 소프트웨어들의 예를 도시한다.
도 3a는 다양한 실시예들에 따른 전자 장치의 동작의 예를 도시한다.
도 3b는 다양한 실시예들에 따른 전자 장치의 동작의 다른 예를 도시한다.
도 4는 다양한 실시예들에 따른 전자 장치에서 표시되는 화면의 예를 도시한다.
도 5a는 다양한 실시예들에 따라 이미지를 저장하는 전자 장치의 동작의 예를 도시한다.
도 5b는 다양한 실시예들에 따른 전자 장치에서 이미지를 획득하는 방법들의 예를 도시한다.
도 5c는 다양한 실시예들에 따른 전자 장치에서 획득된 이미지에 대한 연관 정보를 생성하는 방법들의 예를 도시한다.
도 5d는 다양한 실시예들에 따른 전자 장치에서 획득된 이미지에 대한 연관 정보를 저장하는 방법의 예를 도시한다.
도 5e는 다양한 실시예들에 따른 전자 장치에서 획득된 이미지에 대한 연관 정보를 저장하는 방법의 다른 예를 도시한다.
도 6은 다양한 실시예들에 따라 가상 키보드를 이용하여 이미지 기반 검색 서비스를 제공하는 전자 장치의 동작의 예를 도시한다.
도 7a는 다양한 실시예들에 따라 적어도 하나의 텍스트를 획득하는 전자 장치의 동작의 예를 도시한다.
도 7b는 다양한 실시예들에 따라 적어도 하나의 텍스트를 획득하는 전자 장치의 동작의 다른 예를 도시한다.
도 7c는 다양한 실시예들에 따른 전자 장치에서 적어도 하나의 텍스트를 표시하는 방법의 예를 도시한다.
도 7d는 다양한 실시예들에 따른 전자 장치에서 표시되는 화면의 예를 도시한다.
도 8a는 다양한 실시예들에 따라 검색된 멀티미디어 콘텐트를 이미지와 연계로 저장하는 전자 장치의 동작의 예를 도시한다.
도 8b는 다양한 실시예들에 따른 전자 장치에서 획득된 이미지에 대한 연관 정보를 저장하는 방법의 예를 도시한다.
도 9a는 다양한 실시예들에 따른 전자 장치의 동작의 또 다른 예를 도시한다.
도 9b는 다양한 실시예들에 따라 가상 키보드와 함께 제공되는 어플리케이션의 종류에 따라 서로 다른 썸네일 이미지를 제공하는 전자 장치의 화면의 예를 도시한다.
도 10a는 다양한 실시예들에 따라 복수의 키들과 함께 지정된 객체를 표시하는 전자 장치의 동작의 예를 도시한다.
도 10b는 다양한 실시예들에 따른 시각적 키보드(visual keyboard) 기능을 설정하는 방법의 예를 도시한다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 및 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 예를 들면, 표시 장치(160)(예: 디스플레이)에 임베디드된 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성요소들이 통합되어 구현될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 구동하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 여기서, 보조 프로세서(123)는 메인 프로세서(121)와 별개로 또는 임베디드되어 운영될 수 있다.
이런 경우, 보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부 구성 요소로서 구현될 수 있다. 메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버를 포함할 수 있다. 일실시예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.
표시 장치(160)는 전자 장치(101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150) 를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 외부 전자 장치(예: 전자 장치(102))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.
일실시예에 따르면, 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(101)를 구별 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일시예에 따르면, 통신 모듈(190)(예: 무선 통신 모듈(192))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.
상기 구성요소들 중 일부 구성요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치에서 실행될 수 있다. 일실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2a는 다양한 실시예에 따른 프로그램(140)의 블록도(200)이다. 일실시예에 따르면, 프로그램(140)은 전자 장치(101)의 하나 이상의 리소스들을 제어하기 위한 운영 체제(142), 미들 웨어(144), 또는 상기 운영 체제(142) 상에서 실행 가능한 어플리케이션(146)을 포함할 수 있다. 운영 체제(142)는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 프로그램(140) 중 적어도 일부 프로그램은, 예를 들면, 제조 시에 전자 장치(101)에 프리로드되거나, 또는 사용자의 사용 환경에서 외부 전자 장치(예: 전자 장치(102 또는 104), 또는 서버(108))로부터 다운로드되거나 갱신 될 수 있다.
운영 체제(142)는 전자 장치(101)의 시스템 리소스 (예: 프로세스, 메모리, 또는 전원)를 제어(예: 할당 또는 회수)할 수 있다. 운영 체제(142)는, 추가적으로 또는 대체적으로, 전자 장치(101)의 다른 하드웨어 디바이스, 예를 들면, 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 구동하기 위한 하나 이상의 드라이버 프로그램들을 포함할 수 있다.
미들 웨어(144)는 어플리케이션(146)이 전자 장치(101)의 하나 이상의 리소스들이 제공하는 기능 또는 정보를 사용할 수 있도록 다양한 기능들을 어플리케이션(146)으로 제공할 수 있다. 미들 웨어(144)는, 예를 들면, 어플리케이션 매니저(201), 윈도우 매니저(203), 멀티미디어 매니저(205), 리소스 매니저(207), 파워 매니저(209), 데이터베이스 매니저(211), 패키지 매니저(213), 커넥티비티 매니저(215), 노티피케이션 매니저(217), 로케이션 매니저(219), 그래픽 매니저(221), 시큐리티 매니저(223), 통화 매니저(225), 또는 음성 인식 매니저(227)를 포함할 수 있다. 어플리케이션 매니저(201)는, 예를 들면, 어플리케이션(146)의 생명 주기를 관리할 수 있다. 윈도우 매니저(203)는, 예를 들면, 화면에서 사용되는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(205)는, 예를 들면, 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(207)는, 예를 들면, 어플리케이션(146)의 소스 코드 또는 메모리의 공간을 관리할 수 있다. 파워 매니저(209)는, 예를 들면, 배터리의 용량, 온도 또는 전원을 관리하고, 이 중 해당 정보를 이용하여 전자 장치(101)의 동작에 필요한 전력 정보를 결정 또는 제공할 수 있다. 일실시예에 따르면, 파워 매니저(209)는 바이오스(BIOS: basic input/output system)와 연동할 수 있다.
데이터베이스 매니저(211)는, 예를 들면, 어플리케이션(146)에서 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(213)는, 예를 들면, 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다. 커넥티비티 매니저(215)는, 예를 들면, 전자 장치(101)와 외부 전자 장치 간의 무선 또는 유선 연결을 관리할 수 있다. 노티피케이션 매니저(217)는, 예를 들면, 발생된 이벤트(예: 통화, 메시지, 또는 알람)를 사용자에게 알리기 위한 기능을 제공할 수 있다. 로케이션 매니저(219)는, 예를 들면, 전자 장치(101)의 위치 정보를 관리할 수 있다. 그래픽 매니저(221)는, 예를 들면, 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 시큐리티 매니저(223)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 통화(telephony) 매니저(225)는, 예를 들면, 전자 장치(101)의 음성 통화 또는 영상 통화 기능을 관리할 수 있다. 음성 인식 매니저(227)는, 예를 들면, 사용자의 음성 데이터를 서버(108)로 전송하고, 해당 음성 데이터에 기반하여 전자 장치(101)에서 수행될 기능에 대응하는 명령어(command) 또는 해당 음성 데이터에 기반하여 변환된 문자 데이터를 수신할 수 있다. 일 실시예에 따르면, 미들 웨어(244)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 일 실시예에 따르면, 미들 웨어(144)의 적어도 일부는 운영 체제(142)의 일부로 포함되거나, 또는 운영 체제(142)와는 별도의 소프트웨어로 구현될 수 있다.
어플리케이션(146)은, 예를 들면, 홈(251), 다이얼러(253), SMS/MMS(255), IM(instant message)(257), 브라우저(259), 카메라(261), 알람(263), 컨택트(265), 음성 인식(267), 이메일(269), 달력(271), 미디어 플레이어(273), 앨범(275), 와치(277), 헬스(279)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(281)(예: 기압, 습도, 또는 온도 정보) 어플리케이션을 포함할 수 있다. 일실시예에 따르면, 어플리케이션(146)은 전자 장치(101)와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션(미도시)을 더 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치로 지정된 정보 (예: 통화, 메시지, 또는 알람)를 전달하기 위한 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리 어플리케이션을 포함할 수 있다. 노티피케이션 릴레이 어플리케이션은, 예를 들면, 전자 장치(101)의 다른 어플리케이션(예: 이메일 어플리케이션(269))에서 발생된 이벤트(예: 메일 수신)에 대응하는 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 전자 장치(101)의 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자 장치(101)와 통신하는 외부 전자 장치 또는 그 일부 구성 요소(예: 표시 장치(160) 또는 카메라 모듈(180))의 전원(예: 턴-온 또는 턴-오프) 또는 기능(예: 표시 장치(160) 또는 카메라 모듈(180)의 밝기, 해상도, 또는 포커스)을 제어할 수 있다. 장치 관리 어플리케이션은, 추가적으로 또는 대체적으로, 외부 전자 장치에서 동작하는 어플리케이션의 설치, 삭제, 또는 갱신을 지원할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램(140))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(101))를 포함할 수 있다. 상기 명령이 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
도 2b는 다양한 실시예들에 따른 전자 장치의 프로세서에 의해 이용되는 소프트웨어들의 예를 도시한다. 이러한 소프트웨어들은 도 1에 도시된 전자 장치(101)에 포함된 프로세서(120)에 의해 이용될 수 있다.
도 2b를 참조하면, 전자 장치(101)는 프로세서(120)에 의해 이용되는 가상 키보드 어플리케이션(291), 가상 키보드 어플리케이션(291)과 구별되는 복수의 어플리케이션들(292), 데이터베이스(293), 및 이미지 활용 모듈(294)을 포함할 수 있다. 다양한 실시예들에서, 가상 키보드 어플리케이션(291), 복수의 어플리케이션들(292), 데이터베이스(293), 및 이미지 활용 모듈(294)은 메모리(130)에 저장될 수 있다.
다양한 실시예들에서, 가상 키보드 어플리케이션(291)은, 복수의 어플리케이션들(292) 각각의 사용자 인터페이스와 함께 가상 키보드를 제공할 수 있다. 상기 가상 키보드는, 복수의 문자들을 나타내는 복수의 키들 및 상기 가상 키보드를 이용하여 이미지 기반 검색 서비스를 제공하기 위한 지정된 객체를 포함할 수 있다. 상기 가상 키보드 어플리케이션(291)은, 메모리(130)에 저장된 추천 단어 데이터베이스와 연동될 수 있다. 상기 추천 단어 데이터베이스는, 가상 키보드 어플리케이션(291)을 이용하여 상기 가상 키보드를 제공하는 동안, 상기 가상 키보드를 제공하는 상황에 대응하는 단어(또는 텍스트)를 제공할 수 있다. 다양한 실시예들에서, 상기 단어는 도 3a부터 후술될 이미지 기반 검색 서비스와 관련된 텍스트를 포함할 수 있다.
다양한 실시예들에서, 복수의 어플리케이션들(292) 각각은, 상기 가상 키보드를 이용하는 상기 이미지 기반 검색 서비스를 사용자 인터페이스 내에서 제공하는 어플리케이션을 의미할 수 있다. 예를 들어, 복수의 어플리케이션들(292) 중 제1 어플리케이션이 영화 스트리밍 서비스를 제공하는 어플리케이션인 경우, 상기 제1 어플리케이션은 영화와 관련된 이미지를 이용하여 상기 이미지 기반 검색 서비스를 제공하기 위해 가상 키보드 어플리케이션(291)과 연동될 수 있다. 다른 예를 들어, 복수의 어플리케이션들(292) 중 제2 어플리케이션이 음악 스트리밍 서비스를 제공하는 어플리케이션인 경우, 상기 제2 어플리케이션은, 음악과 관련된 이미지를 이용하여 상기 이미지 기반 검색 서비스를 제공하기 위해 가상 키보드 어플리케이션(291)과 연동될 수 있다. 하지만, 이에 제한되지 않는다.
다양한 실시예들에서, 데이터베이스(293)는, 가상 키보드 어플리케이션(291)과 복수의 어플리케이션들(292) 각각 사이의 연동을 통해 상기 이미지 기반 검색 서비스를 제공하기 위한 리소스(resource)들을 저장하기 위해 이용될 수 있다. 예를 들면, 데이터베이스(293)는, 스크린 샷 이미지, 상기 스크린 샷 이미지에 맵핑된 연관 정보(후술)를 포함하는 재가공 이미지, 및 상기 스크린 샷 이미지 및 상기 재가공 이미지를 분류하기 위한 카테고리 데이터베이스 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에서, 이미지 활용 모듈(294)은, 이미지 분석 엔진(295), UI(user interface) 모듈(296), 에이전트 관리 모듈(297), 정보 관리 모듈(298), 및 비전 에이전트(299)를 포함할 수 있다.
다양한 실시예들에서, 이미지 분석 엔진(295)은, 객체 감지 엔진(object detection engine), 객체 인식 엔진(object recognition engine), 및 관심 영역 생성 엔진(ROI(range of interest) generate engine)을 포함할 수 있다. 이미지 분석 엔진(295)은, 상기 객체 감지 엔진, 상기 객체 인식 엔진, 및 상기 관심 영역 생성 엔진 중 적어도 하나를 이용하여, 획득된 이미지를 분석하고, 분석된 정보(예: 이미지 내의 객체의 특징점, 이미지와 관련된 키워드(파라미터) 등)에 기반하여 이미지를 처리할 수 있다.
다양한 실시예들에서, 이미지 분석 엔진(295)은 이미지를 처리하는 과정에서 사용자의 피드백을 수신할 수 있다. 예를 들면, 이미지 분석 엔진(295)은, 스타일러스에 의해 지정되는 영역을 식별하는 것에 기반하여, 상기 스타일러스에 의해 지정된 영역이 상기 이미지의 관심 영역임을 인식할 수 있다. 다른 예를 들면, 이미지 분석 엔진(295)은, 상기 사용자의 피드백에 기반하여 사용자 입력 없이(또는 사용자 입력으로부터 독립적으로) 획득된 관심 영역을 수정할 수 있다.
다양한 실시예들에서, 이미지 분석 엔진(295)은, 상기 이미지의 처리를 위해, 전자 장치(101)와 연결된 서버와 연동할 수 있다. 예를 들면, 이미지 분석 엔진(295)은 메모리(130)에 저장된 이미지에 대한 정보를 서버에게 송신하고, 서버로부터 상기 이미지의 관심 영역에 대한 정보를 수신할 수 있다.
다양한 실시예들에서, 이미지 분석 엔진(295)은 상기 식별되거나 획득된 관심 영역을 메모리(130)에 저장할 수 있다.
다양한 실시예들에서, UI 모듈(296)은, 서비스를 제공하기 위한 사용자 인터페이스를 표시 장치(160) 상에서 표시할 수 있다. 예를 들면, UI 모듈(296)은 처리된 이미지를 제공하기 위한 사용자 인터페이스를 표시 장치(160) 상에서 표시하고, 상기 표시된 사용자 인터페이스를 통해 사용자의 피드백을 수신할 수 있다.
다양한 실시예들에서, 에이전트 관리 모듈(297)은, 이미지와 관련된 정보를 획득하기 위해 문의 메시지(query message)를 송신해야 하는지 여부를 식별할 수 있다. 예를 들면, 에이전트 관리 모듈(297)는, 상기 이미지의 관심 영역의 지정을 위해 상기 서버로 문의 메시지를 송신하여야 하는지 여부를 식별할 수 있다. 다른 예를 들면, 에이전트 관리 모듈(297)는 상기 이미지로부터 획득된 객체에 대한 인식 정보를 획득하기 위해, 서버(예: 웹페이지와 관련된 서버, 또는 전자 장치(101)에 설치된 어플리케이션과 관련된 서버 등)에게 상기 객체에 대한 정보를 송신하여야 하는지 여부를 식별할 수 있다.
다양한 실시예들에서, 정보 관리 모듈(298)은 이미지 분석 엔진(295)을 통해 인식된 정보를 통합할 수 있다. 다양한 실시예들에서, 정보 관리 모듈(298)은 상기 통합된 정보를 복수의 어플리케이션들(292) 중 적어도 일부에게 제공할 수 있다. 상기 통합된 정보는, 실시예들에 따라, 복수의 어플리케이션들(292) 중 적어도 일부를 통해 서버에게 제공될 수도 있다.
다양한 실시예들에서, 비전 에이전트(299)는, CMH(contents management hub) 정보를 이용하여 후술될 이미지 기반 검색 서비스를 제공할 수 있다.
예를 들면, CMH 정보는, 획득된 이미지의 콘텐트에 대한 분석 결과를 분류하고, 상기 분류의 결과를 저장할 수 있다. 예를 들면, CMH 정보는 획득된 이미지를 제1 계층의 카테고리들(사람, 가구, 의복, 자동차 등) 중 하나의 카테고리(예: 가구)에 분류하고, 상기 제1 계층보다 하위의 제2 계층의 상기 분류된 카테고리의 서브 카테고리들(예: 의자, 책상, 스탠드, 전등 등) 중 하나의 서브 카테고리에 분류할 수 있다.
다른 예를 들면, CMH 정보는, 상기 분류된 이미지의 색깔, 분위기, 풍경, 저장 시점, 촬영 위치 중 적어도 하나를 상기 분류된 이미지와 연계로 저장할 수 있다. 이러한 연계는, 후술될 이미지 기반 검색 서비스에서 이용될 수 있다.
다양한 실시예들에서, 비전 에이전트(299)는, 외부로부터 이미지를 획득하기 위해 이용될 수 있다.
도 2b에 도시된 전자 장치(101) 내의 소프트웨어들은, 도 3a 내지 도 10b를 통해 후술되는 전자 장치(101)의 동작들을 구현하기 위해 이용될 수 있다. 다양한 실시예들에 따른 전자 장치(101)의 설계에 따라, 도 2b에 도시된 전자 장치(101) 내의 소프트웨어들 중 적어도 일부는 통합될 수도 있고, 생략될 수도 있다. 또한, 다양한 실시예들에 따른 전자 장치(101)의 설계에 따라, 도 2b에 도시된 전자 장치(101) 내의 소프트웨어들 외의 다른 소프트웨어가 전자 장치(101)에서 이용될 수 있다.
상술한 바와 같은, 다양한 실시예들에 따른 전자 장치(예: 전자 장치(101))는, 메모리(예: 메모리(130))와, 디스플레이(예: 표시 장치(160))와, 프로세서(예: 프로세서(120))를 포함할 수 있고, 상기 프로세서는, 상기 디스플레이를 이용하여, 상기 전자 장치에서 실행 중인 어플리케이션에 대한 사용자 입력을 수신할 수 있는 입력기를 표시하고, 상기 표시에 적어도 기반하여, 상기 메모리에 저장된 하나 이상의 이미지들을 확인하고, 상기 하나 이상의 이미지들 중 적어도 일부 이미지를 상기 입력기와 연관하여 표시하고, 상기 적어도 일부 이미지 중 지정된 입력에 따라 선택된 이미지에 포함된 콘텐트의 적어도 일부가 인식된 인식 정보 획득하고, 상기 획득에 적어도 기반하여, 상기 인식 정보에 대응하는 문자 정보를 획득하고, 상기 입력기를 통해 상기 문자 정보를 상기 사용자 입력의 적어도 일부로서, 상기 어플리케이션에 제공하도록 설정될 수 있다.
다양한 실시예들에서, 상기 프로세서는, 상기 전자 장치와 관련된 상황 정보를 획득하고, 상기 상황 정보에 적어도 기반하여 상기 하나 이상의 이미지들 중 상기 적어도 일부 이미지를 결정하도록 설정될 수 있다. 일부 실시예들에서, 상기 프로세서는, 상기 입력기를 통해 상기 어플리케이션에 제공된 다른 문자 정보를 확인하고, 상기 다른 문자 정보를 상기 선택된 이미지의 속성 정보의 적어도 일부로서 저장하도록 설정될 수 있다.
다양한 실시예들에서, 상기 프로세서는, 상기 선택된 이미지에 대한 메타 데이터에 상기 다른 문자 정보를 포함함으로써 상기 다른 문자 정보를 상기 선택된 이미지의 상기 속성 정보의 적어도 일부로서 저장하도록 설정될 수 있다.
다양한 실시예들에서, 상기 프로세서는, 상기 어플리케이션을 통해 상기 문자 정보를 이용하여 처리된 결과 정보를 획득하고, 상기 결과 정보를 상기 선택된 이미지의 속성 정보의 적어도 일부로서 저장하도록 설정될 수 있다.
다양한 실시예들에서, 상기 프로세서는, 상기 적어도 일부 이미지 중 상기 지정된 입력에 따라 선택된 상기 이미지에 대한 정보를 서버에게 송신하고, 상기 서버로부터 상기 이미지에 포함된 상기 콘텐트에 대한 상기 인식 정보를 획득하도록 설정될 수 있다.
다양한 실시예들에서, 상기 프로세서는, 상기 디스플레이를 이용하여 상기 전자 장치에서 실행 중인 상기 어플리케이션의 사용자 인터페이스에 일부 중첩되고(partially superimposed on), 복수의 문자(character)들을 나타내는 복수의 키(key)들을 포함하는 상기 입력기를 표시하고, 상기 입력기 안에서 상기 복수의 키들로부터 전환된 상기 적어도 일부 이미지를 표시함으로써, 상기 적어도 일부 이미지를 상기 입력기와 연관하여 표시하도록 설정될 수 있다.
상술한 바와 같은 다양한 실시예들에 따른 전자 장치(예: 전자 장치(101))는, 명령어들을 저장하는 메모리(예: 메모리(130))와, 디스플레이(예: 표시 장치(160))와, 적어도 하나의 프로세서(예: 프로세서(120))를 포함할 수 있고, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시, 어플리케이션의 사용자 인터페이스를 표시하고, 상기 사용자 인터페이스에 포함된 텍스트 입력 부분에 대한 입력을 식별하는 것에 응답하여, 상기 사용자 인터페이스와 일부 중첩된 가상 키보드(virtual keyboard)의 표시 영역 안에서(within) 지정된(designated) 객체와 복수의 문자들을 나타내는 복수의 키들을 표시하고, 상기 지정된 객체에 대한 입력을 식별하는 것에 적어도 기반하여, 상기 전자 장치에 저장된 복수의 이미지들 중 상기 어플리케이션과 관련된 하나 이상의 이미지들을 식별하고, 상기 하나 이상의 이미지들을 각각 보여주기(represent) 위한 하나 이상의 썸네일 이미지(thumbnail image)들을 상기 가상 키보드의 상기 표시 영역 안에서 표시하도록 설정될 수 있고, 상기 하나 이상의 썸네일 이미지들은, 상기 하나 이상의 이미지들을 이용하여 상기 사용자 인터페이스 안에서 검색 서비스를 제공하기 위해 이용 가능할(usable) 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시, 상기 하나 이상의 썸네일 이미지들 중 하나의(a) 썸네일 이미지를 선택하기 위한 입력을 식별하고, 상기 선택된 썸네일 이미지에 의해 보여지는 이미지를 인식함으로써 획득된 적어도 하나의 텍스트를 상기 하나 이상의 썸네일 이미지들과 함께 표시하고, 상기 적어도 하나의 텍스트 중 하나의(a) 텍스트를 선택하기 위한 입력을 식별하는 것에 응답하여, 상기 텍스트 입력 부분 안에서 상기 선택된 텍스트를 표시하고, 상기 사용자 인터페이스 안에서 상기 선택된 텍스트와 관련된 적어도 하나의 멀티미디어 콘텐트를 표시하도록 더 설정될 수 있다. 예를 들면, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시, 상기 적어도 하나의 멀티미디어 콘텐트 중 하나의(a) 멀티미디어 콘텐트를 선택하기 위한 입력을 식별하는 것에 응답하여, 상기 선택된 멀티미디어 콘텐트와 관련된 기능을 상기 사용자 인터페이스를 통해 제공하고, 상기 선택된 멀티미디어 콘텐트 또는 상기 선택된 텍스트 중 적어도 하나를 상기 썸네일 이미지에 의해 보여지는 상기 이미지와의 연계로(as associated with) 저장하도록 설정될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시, 상기 복수의 이미지들 중 상기 어플리케이션에 의해 제공되는 하나 이상의 서비스들과 연관된 하나 이상의 이미지들을 식별함으로써 상기 어플리케이션과 관련된 상기 하나 이상의 이미지들을 식별하도록 설정될 수 있다. 예를 들면, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시, 상기 지정된 객체에 대한 상기 입력을 식별하는 것에 응답하여, 상기 전자 장치에 저장되고 상기 복수의 이미지들과 각각 연계된 정보에 기반하여 상기 복수의 이미지들 중 상기 어플리케이션에 의해 제공되는 상기 하나 이상의 서비스들과 연관된 상기 하나 이상의 이미지들을 식별할 수 있고, 상기 복수의 이미지들과 각각 연계된 상기 정보는, 상기 복수의 이미지들 각각의 콘텐트(content)를 인식함으로써 획득된 데이터, 상기 복수의 이미지들 각각을 획득한 소스(source)에 대한 데이터, 또는 상기 복수의 이미지들 각각을 획득하기 위해 이용된 상기 전자 장치에 저장된 어플리케이션에 대한 데이터 중 적어도 하나를 포함할 수 있고, 상기 복수의 이미지들 각각을 획득하는 것에 응답하여, 상기 복수의 이미지들 각각과의 연계로(as associated with) 상기 전자 장치에 저장될 수 있다. 예를 들면, 상기 복수의 이미지들과 각각 연계된 상기 정보는, 상기 복수의 이미지들 각각 내에 포함될 수 있다. 다른 예를 들면, 상기 복수의 이미지들과 각각 연계된 상기 정보는, 상기 복수의 이미지들 각각에 대한 이미지 파일과 구별되는 다른 파일로 구성될 수 있고(configured with), 상기 이미지 파일과 상기 다른 파일은, 하나의(a) 데이터 세트(data set)로 구성될(configured with) 수 있다.
다양한 실시예들에서, 상기 소스에 대한 데이터는, 상기 복수의 이미지들 각각을 획득한 타이밍에 기반하여 식별되는 시간 구간 동안 상기 전자 장치에 의해 접속된 적어도 하나의 웹페이지(webpage)에 대한 데이터를 포함할 수 있고, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시, 상기 적어도 하나의 웹페이지에 대한 상기 데이터에 기반하여 상기 복수의 이미지들 중 상기 어플리케이션에 의해 제공되는 상기 하나 이상의 서비스들과 연관된 상기 하나 이상의 이미지들을 식별하도록 설정될 수 있다. 예를 들면, 상기 적어도 하나의 웹페이지에 대한 상기 데이터는, 상기 적어도 하나의 웹페이지에 대한 마크 업 언어 파일(mark-up language file)을 파싱함(parse)으로써 획득될 수 있다.
상술한 바와 같은 다양한 실시예들에 따른 전자 장치(예: 전자 장치(101))는, 명령어들을 저장하는 메모리(예: 메모리(130))와, 디스플레이(예: 표시 장치(160))와, 적어도 하나의 프로세서(예: 프로세서(120))를 포함할 수 있고, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시, 상기 전자 장치에 저장된 제1 어플리케이션의 제1 사용자 인터페이스와 함께 가상 키보드를 표시하는 동안 상기 가상 키보드 내에 포함된 지정된 객체에 대한 입력을 수신하는 것에 기반하여, 상기 전자 장치에 저장된 복수의 이미지들 중 제1 이미지를 보여주기 위한 제1 썸네일 이미지를 상기 제1 사용자 인터페이스와 함께 표시하고, 상기 제1 썸네일 이미지에 대한 적어도 하나의 입력을 수신하는 것에 기반하여 상기 제1 사용자 인터페이스 안에서 상기 제1 이미지에 적어도 기반하여 검색된 콘텐트를 제공하고, 상기 전자 장치에 저장되고 상기 제1 어플리케이션과 구별되는 제2 어플리케이션의 제2 사용자 인터페이스와 함께 상기 가상 키보드를 표시하는 동안 상기 가상 키보드 내에 포함된 상기 지정된 객체에 대한 상기 입력을 수신하는 것에 기반하여, 상기 복수의 이미지들 중 상기 제1 이미지와 구별되는(distinct from) 제2 이미지를 보여주기 위한 제2 썸네일 이미지를 상기 제2 사용자 인터페이스와 함께 표시하고, 상기 제2 썸네일 이미지에 대한 적어도 하나의 입력을 수신하는 것에 기반하여 상기 제2 사용자 인터페이스 안에서 상기 제2 이미지에 적어도 기반하여 검색된 상기 콘텐트와 구별되는 다른(another) 콘텐트를 제공하도록 설정될 수 있다.
다양한 실시예들에서, 상기 제2 어플리케이션은, 상기 제1 어플리케이션에 의해 제공되는 서비스와 구별되는 다른 서비스를 제공할 수 있고, 상기 제1 이미지는, 상기 제1 어플리케이션에 의해 제공되는 상기 서비스와 관련될 수 있고, 상기 제2 이미지는, 상기 제2 어플리케이션에 의해 제공되는 상기 서비스와 관련될 수 있다.
다양한 실시예들에서, 상기 콘텐트는, 상기 제1 이미지와 연계로(as associated with) 저장될 수 있고, 상기 다른 콘텐트는, 상기 제2 이미지와 연계로 저장될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시, 상기 제1 썸네일 이미지를 표시하는 동안 상기 가상 키보드에 포함된 복수의 키들을 표시하는 것을 중단하고, 상기 제2 썸네일 이미지를 표시하는 동안 상기 복수의 키들을 표시하는 것을 중단하도록 더 설정될 수 있다.
도 3a는 다양한 실시예들에 따른 전자 장치의 동작의 예를 도시한다. 이러한 동작은, 도 1에 도시된 전자 장치(101), 도 2b에 도시된 전자 장치(101), 또는 전자 장치(101)의 프로세서(120)에 의해 수행될 수 있다.
도 3a를 참조하면, 동작 305에서, 프로세서(120)는 전자 장치(101)에서 실행 중인 어플리케이션에 대한 사용자 입력을 수신할 있는(capable of receiving) 입력기(input unit, 예: 가상 키보드(virtual keyboard) 등)를 표시할 수 있다. 다양한 실시예들에서, 프로세서(120)는, 실행 중인 상기 어플리케이션의 사용자 인터페이스와 함께 상기 입력기를 표시할 수 있다. 예를 들면, 프로세서(120)는, 실행 중인 상기 어플리케이션의 사용자 인터페이스와 일부 중첩된(partially superimposed on) 상기 입력기를 표시할 수 있다. 다양한 실시예들에서, 상기 입력기는, 상기 어플리케이션을 실행하는 동안 또는 상기 어플리케이션의 상기 사용자 인터페이스를 표시하는 동안 지정된(specified 또는 designated) 이벤트의 발생을 검출하는 것에 기반하여, 상기 어플리케이션의 상기 사용자 인터페이스와 함께 표시될 수 있다. 예를 들면, 상기 입력기는, 상기 어플리케이션의 상기 사용자 인터페이스에 포함된 텍스트 입력 부분(text input portion)에 대한 입력을 수신하는 것에 응답하여 표시될 수 있다. 예를 들면, 상기 텍스트 입력 부분은, 상기 어플리케이션 내에서(in) 지정된 기능을 실행하기 위한 텍스트(또는 문자(character)를 입력하기 위해 이용될 수 있다. 다른 예를 들면, 상기 텍스트 입력 부분은, 상기 어플리케이션 내에서 검색 기능(retrieval function)을 제공하기 위해 이용될 수 있다. 다양한 실시예들에서, 상기 검색 기능은, 전자 장치(101)에 저장되고 상기 어플리케이션과 관련된 데이터 또는 전자 장치(101)의 외부의 데이터 중 적어도 하나를 검색하는 기능을 의미할 수 있다. 하지만, 이에 제한되지 않는다. 다양한 실시예들에서, 상기 입력기를 이용하여 수신할 수 있는 상기 사용자 입력은 전자 장치(101)의 터치 패널에 대한 터치 입력(touch input)을 포함할 수 있다. 예를 들면, 상기 터치 입력은, 상기 터치 패널에 대한 싱글 탭 입력(single tab input), 상기 터치 패널에 대한 멀티 탭 입력(multiple taps input), 상기 터치 패널에 대한 드래그 입력(drag input), 상기 터치 패널에 대한 스와이프 입력(swipe input), 또는 상기 터치 패널에 대한 누름 입력(depression input) 중 하나 이상을 포함할 수 있다.
동작 310에서, 프로세서(120)는 상기 입력기의 표시에 적어도 기반하여, 메모리(130)에 저장된 하나 이상의 이미지들을 확인할(identify) 수 있다. 다양한 실시예들에서, 프로세서(120)는, 상기 입력기를 상기 어플리케이션의 상기 사용자 인터페이스와 함께 표시하는 동안 지정된(specified 또는 designated) 이벤트를 검출하는 것에 기반하여, 상기 하나 이상의 이미지들을 확인할 수 있다. 다양한 실시예들에서, 상기 지정된 이벤트는, 상기 입력기에 포함된 지정된 객체(designated object)에 대한 입력을 수신하는 것을 포함할 수 있다. 예를 들면, 상기 지정된 객체는, 이미지 기반(image based) 검색 서비스(retrieval service)를 상기 입력기와 함께 표시되고 있는 어플리케이션의 사용자 인터페이스 내에서 제공하기 위한 객체를 의미할 수 있다. 상기 이미지 기반 검색 서비스는, 이미지에 기반하여 획득되는 정보(예: 이미지의 인식 정보)를 이용하여 검색을 수행하는 서비스를 의미할 수 있다. 다양한 실시예들에서, 상기 지정된 이벤트는, 상기 입력기를 표시하는 동안 지정된 입력을 수신하는 것을 포함할 수 있다. 예를 들면, 상기 지정된 입력은, 지정된 패턴을 그리는(draw) 터치 입력을 포함할 수 있다. 다른 예를 들면, 상기 지정된 입력은, 상기 입력기를 표시하는 동안 사용자의 손가락과 구별되는 다른 입력 수단(예: 스타일러스, 사용자의 손가락 관절(knuckle) 등)으로부터의 입력을 포함할 수 있다. 또 다른 예를 들면, 상기 지정된 입력은, 지정된 강도(intensity)보다 큰 강도를 가지는 터치 입력을 포함할 수 있다. 또 다른 예를 들면, 상기 지정된 입력은, 전자 장치(101)의 물리 버튼에 대한 입력을 포함할 수 있다. 하지만, 이에 제한되지 않는다. 다양한 실시예들에서, 상기 지정된 이벤트는, 상기 입력기를 표시하는 동안 지정된 제스쳐(gesture)를 수신하는 것을 포함할 수 있다. 예를 들면, 상기 지정된 제스쳐는, 전자 장치(101)를 홀드한 사용자가 전자 장치(101)의 자세(posture)를 변경하는 것을 포함할 수 있다. 하지만, 이에 제한되지 않는다. 다양한 실시예들에서, 상기 하나 이상의 이미지들은, 전자 장치(101)의 메모리(130)에 반영구적으로(by semi-persistent) 또는 임시적으로(temporarily) 저장된 하나 이상의 이미지들을 의미할 수 있다. 다양한 실시예들에서, 프로세서(120)는, 상기 입력기를 이용한 상기 이미지 기반 검색 서비스의 하나 이상의 후보 이미지들로 상기 하나 이상의 이미지들을 확인할 수 있다.
동작 315에서, 프로세서(120)는 상기 하나 이상의 이미지들 중 적어도 일부 이미지를 상기 입력기와 연관하여 표시할 수 있다. 다양한 실시예들에서, 상기 적어도 일부 이미지는, 상기 하나 이상의 이미지들 중 전자 장치(101)와 관련된 상황(context)에 상응하는 이미지일 수 있다. 예를 들면, 상기 적어도 일부 이미지는, 상기 하나 이상의 이미지들 중 상기 어플리케이션의 유형(또는 카테고리)에 상응하는 콘텐트를 포함하는 이미지로 식별될 수 있다. 다른 예를 들면, 상기 적어도 일부 이미지는, 상기 하나 이상의 이미지들 중 동작 305 내지 동작 315을 수행하는 시간의 적어도 일부에 상응하는 콘텐트를 포함하는 이미지로 식별될 수 있다. 또 다른 예를 들면, 상기 적어도 일부 이미지는, 상기 하나 이상의 이미지들 중 상기 어플리케이션에 의해 제공되는 서비스에 상응하는 콘텐트를 포함하는 이미지로 식별될 수 있다. 또 다른 예를 들면, 상기 적어도 일부 이미지는, 상기 어플리케이션에 의해 제공되는 서비스와 동일하거나 유사한 서비스를 제공하는 상기 어플리케이션과 구별되는(distinct from) 적어도 하나의 어플리케이션에 상응하는 콘텐트를 포함하는 이미지로 식별될 수 있다. 또 다른 예를 들면, 상기 적어도 일부 이미지는, 동작 305 내지 동작 315를 수행하는 전자 장치(101)가 위치된 장소(location)에 상응하는 콘텐트를 포함하는 이미지로 식별될 수 있다. 하지만, 이에 제한되지 않는다. 다양한 실시예들에서, 상기 콘텐트는 다양한 포맷들로 설정될(configured with) 수 있다. 예를 들면, 상기 콘텐트는, 적어도 하나의 문자로 설정될 수 있다. 다른 예를 들면, 상기 콘텐트는, 적어도 하나의 시각적 객체로 설정될 수 있다. 하지만, 이에 제한되지 않는다.
다양한 실시예들에서, 프로세서(120)는, 상기 적어도 일부 이미지를 상기 입력기의 표시 영역 안에서(within) 표시함으로써 상기 적어도 일부 이미지를 상기 입력기와 연관하여 표시할 수 있다. 예를 들면, 프로세서(120)는, 상기 입력기의 표시 영역에 위치되는 상기 입력기의 서브 화면 안에서 상기 적어도 일부 이미지를 표시할 수 있다. 프로세서(120)는, 복수의 문자들을 나타내는 복수의 키들 및 상기 지정된 객체를 포함하는 상기 입력기의 다른 서브 화면으로부터 전환된 상기 서브 화면 안에서 상기 적어도 일부 이미지를 표시할 수 있다. 다른 예를 들면, 프로세서(120)는, 상기 입력기의 상기 다른 서브 화면에 적어도 일부 중첩되는(at least partially superimposed on) 화면 안에서 상기 적어도 일부 이미지를 표시할 수 있다. 상기 적어도 일부 이미지가 표시되는 상기 화면은, 상기 입력기의 상기 서브 화면일 수도 있고, 상기 입력기와 연동되는 화면일 수도 있다.
동작 320에서, 프로세서(120)는 상기 적어도 일부 이미지 중 지정된 입력에 따라 선택된 이미지에 포함된 콘텐트의 적어도 일부가 인식된 인식 정보(recognition information)를 획득할 수 있다. 예를 들면, 상기 지정된 입력은, 상기 적어도 일부 이미지 중 하나의(an) 이미지를 선택하기 위한 싱글 탭 입력을 포함할 수 있다. 하지만, 이에 제한되지 않는다. 다양한 실시예들에서, 상기 인식 정보의 획득은, 프로세서(120)에 의해 전적으로 수행될 수도 있고, 전자 장치(101)와 연결된 다른 전자 장치(예: 전자 장치(102), 전자 장치(104), 서버(108) 등)와의 연동에 의해 수행될 수도 있다. 예를 들어, 상기 인식 정보의 획득이 프로세서(120)에 의해 전적으로 수행되는 경우, 프로세서(120)는 상기 선택된 이미지로부터 적어도 하나의 시각적 객체를 추출하고, 상기 추출된 적어도 하나의 시각적 객체로부터 적어도 하나의 특징점을 식별하고, 상기 특징점에 적어도 기반하여 상기 인식 정보를 생성함으로써 상기 인식 정보를 획득할 수 있다. 다른 예를 들어, 상기 인식 정보의 획득이 다른 전자 장치와의 연동에 의해 수행되는 경우, 프로세서(120)는 상기 선택된 이미지에 대한 정보를 상기 다른 전자 장치에게 송신하고, 상기 다른 전자 장치로부터 상기 인식 정보를 수신함으로써 상기 인식 정보를 획득할 수 있다. 다양한 실시예들에서, 프로세서(120)에 의해 송신되는 상기 선택된 이미지에 대한 정보는, 상기 선택된 이미지로부터 추출된 상기 적어도 하나의 시각적 객체에 대한 정보를 포함할 수 있다. 다양한 실시예들에서, 프로세서(120)에 의해 송신되는 상기 선택된 이미지에 대한 정보는, 상기 적어도 하나의 시각적 객체로부터 식별된 상기 적어도 하나의 특징점에 대한 정보를 포함할 수 있다. 하지만, 이에 제한되지 않는다.
동작 325에서, 프로세서(120)는 상기 획득에 적어도 기반하여, 상기 인식 정보에 대응하는 문자 정보를 획득할 수 있다. 다양한 실시예들에서, 상기 문자 정보는, 다른 정보를 검색하기 위해 상기 이미지 기반 검색 서비스에서 이용될 수 있는 적어도 하나의 키워드(keyword)(또는 텍스트)를 의미할 수 있다. 다양한 실시예들에서, 상기 문자 정보는, 이미지 정보로 대체될 수도 있다. 이러한 경우, 상기 이미지 정보는, 상기 다른 정보를 검색하기 위해 상기 이미지 기반 검색 서비스에서 이용될 수 있다.
동작 330에서, 프로세서(120)는 상기 입력기를 통해 상기 문자 정보를 상기 사용자 입력의 적어도 일부로서 상기 어플리케이션에 제공할 수 있다. 다양한 실시예들에서, 프로세서(120)는, 상기 어플리케이션의 상기 사용자 인터페이스에 포함된 상기 문자 입력 부분에 상기 문자 정보를 입력(또는 삽입)함으로써 상기 어플리케이션에 제공할 수 있다. 다양한 실시예들에서, 상기 문자 정보의 상기 어플리케이션으로의 제공은, 상기 입력기에 포함된 상기 복수의 키들을 이용하여 키워드를 입력하는 것과 동일하거나 유사한 기능을 제공한다는 측면에서, 상기 사용자 입력의 적어도 일부로서 상기 어플리케이션으로의 제공하는 동작으로 참조될 수 있다.
도 3a에서 도시하지 않았으나, 프로세서(120)는, 상기 어플리케이션에게 상기 문자 정보를 제공한 후, 상기 입력기를 통해 상기 사용자 입력의 적어도 일부로서 다른 문자 정보를 획득하는 경우(예: 상기 입력기에 포함된 복수의 키들을 통해 상기 다른 문자 정보를 획득하는 경우), 상기 다른 문자 정보를 상기 선택된 이미지와 연계로(as associated with) 저장할 수 있다. 예를 들면, 프로세서(120)는 상기 다른 문자 정보를 상기 선택된 이미지의 속성 정보(예: 메타 데이터)의 적어도 일부로서 저장할 수 있다. 다른 예를 들면, 프로세서(120)는 상기 선택된 이미지에 대한 이미지 파일과 연계되고 상기 다른 문자 정보를 포함하는 다른(another) 파일을 저장할 수 있다. 하지만, 이에 제한되지 않는다.
도 3a에서 도시하지 않았으나, 프로세서(120)는, 상기 문자 정보를 이용하여 처리된 결과 정보를 획득하고, 상기 획득된 결과 정보를 상기 선택된 이미지와 연계로 저장할 수 있다. 예를 들면, 프로세서(120)는, 상기 결과 정보를 상기 선택된 이미지의 속성 정보의 적어도 일부로서 저장할 수 있다. 다른 예를 들면, 프로세서(120)는 상기 선택된 이미지에 대한 이미지 파일과 연계되고 상기 결과 정보를 포함하는 다른 파일을 저장할 수 있다. 하지만, 이에 제한되지 않는다. 다양한 실시예들에서, 상기 결과 정보는, 상기 문자 정보에 기반하여 검색된 정보를 의미할 수 있다. 다양한 실시예들에서, 상기 결과 정보는, 상기 어플리케이션의 상기 사용자 인터페이스 내에서 표시될 수 있다. 다양한 실시예들에서, 상기 어플리케이션의 상기 사용자 인터페이스 내에서 표시되는 상기 결과 정보는, 적어도 하나의 텍스트 또는 적어도 하나의 이미지 중 적어도 하나로 설정될(configured with) 수 있다. 하지만, 이에 제한되지 않는다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치(101)는, 전자 장치(101)에 저장된 복수의 어플리케이션들 중 하나의(a) 어플리케이션을 실행하는 동안, 상기 입력기를 이용하여 이미지 기반 검색 서비스를 제공할 수 있다. 다양한 실시예들에 따른 전자 장치(101)는, 상기 입력기를 통해 상기 이미지 기반 검색 서비스를 제공함으로써, 실행 중인 어플리케이션의 종류 또는 카테고리로부터 독립적으로 상기 이미지 기반 검색 서비스를 제공할 수 있다. 다양한 실시예들에 따른 전자 장치(101)는, 실행 중인 어플리케이션의 종류에 관계없이(regardless of) 상기 이미지 기반 검색 서비스를 제공함으로써, 이미지 기반 검색 서비스를 호출하기(call) 위해 요구되는 사용자 입력을 간소화할 수 있다. 다시 말해, 다양한 실시예들에 따른 전자 장치(101)는, 상기 이미지 기반 검색 서비스를 제공하는 상기 입력기를 이용함으로써, 강화된(enhanced) 사용자 경험(user experience, UX)을 제공할 수 있다.
도 3b는 다양한 실시예들에 따른 전자 장치의 동작의 다른 예를 도시한다. 이러한 동작은, 도 1에 도시된 전자 장치(101), 도 2b에 도시된 전자 장치(101), 또는 전자 장치(101)의 프로세서(120)에 의해 수행될 수 있다.
도 4는 다양한 실시예들에 따른 전자 장치에서 표시되는 화면의 예를 도시한다.
도 3b를 참조하면, 동작 350에서, 프로세서(120)는 어플리케이션의 사용자 인터페이스를 표시할 수 있다. 다양한 실시예들에서, 상기 어플리케이션은, 가상 키보드(virtual keyboard)를 제어하기 위해 이용되는 다른 어플리케이션과 구별되는 어플리케이션을 의미할 수 있다. 다양한 실시예들에서, 상기 어플리케이션은, 상기 다른 어플리케이션과 연동할 수 있는 어플리케이션을 의미할 수 있다. 다양한 실시예들에서, 상기 어플리케이션의 상기 사용자 인터페이스는, 상기 어플리케이션을 실행하는 동안 표시 장치(160) 상에서 표시되는 상기 어플리케이션과 관련된 화면을 의미할 수 있다. 다양한 실시예들에서, 상기 어플리케이션의 상기 사용자 인터페이스는, 상기 어플리케이션을 위해 지정된(designated) 복수의 화면들 중 상기 가상 키보드를 호출하거나 표시할 수 있는 화면을 의미할 수 있다.
동작 355에서, 프로세서(120)는 상기 어플리케이션의 상기 사용자 인터페이스에 포함된 텍스트 입력 부분에 대한 입력을 식별하는 것에 응답하여, 상기 사용자 인터페이스와 일부 중첩된 상기 가상 키보드의 표시 영역 안에서 지정된 객체와 복수의 문자들을 나타내는 복수의 키들을 표시할 수 있다. 다양한 실시예들에서, 상기 텍스트 입력 부분은, 상기 어플리케이션을 실행하는 동안 검색 서비스를 수행하기 위해 상기 사용자 인터페이스에 포함될 수 있다. 다양한 실시예들에서, 상기 텍스트 입력 부분은, 상기 어플리케이션을 실행하는 동안 상기 검색 서비스의 수행의 결과를 상기 사용자 인터페이스 내에서 제공하기 위해 상기 사용자 인터페이스에 포함될 수 있다. 하지만, 이에 제한되지 않는다. 다양한 실시예들에서, 상기 가상 키보드의 표시 영역은 상기 사용자 인터페이스의 하단 영역에 중첩된 영역을 의미할 수 있다. 다양한 실시예들에서, 상기 지정된 객체는, 도 3a에서 설명된 이미지 기반 검색 서비스를 호출하기 위한 객체를 의미할 수 있다. 예를 들면, 상기 지정된 객체는, 상기 복수의 키들 중 적어도 하나의 키에 인접하여(in proximity to) 배치될(disposed) 수 있다. 하지만, 이에 제한되지 않는다.
예를 들어, 도 4를 참조하면, 프로세서(120)는, 표시 장치(160) 상에서 사용자 인터페이스(400)를 표시할 수 있다. 프로세서(120)는, 사용자 인터페이스(400)를 표시하는 동안 사용자 인터페이스(400)에 포함된 텍스트 입력 부분(405)에 대한 입력을 수신할 수 있다. 프로세서(120)는, 텍스트 입력 부분(405)에 대한 입력을 수신하는 것에 응답하여, 사용자 인터페이스(400)에 일부 중첩된 가상 키보드(410)를 표시할 수 있다. 가상 키보드(410)의 표시 영역은, 영역(415)로 정의될 수 있다. 가상 키보드(410)는, 도 4에 도시된 바와 같이, 복수의 문자들을 나타내는 복수의 키들 및 지정된 객체(420)를 포함할 수 있다. 지정된 객체(420)는, 가상 키보드(410)의 표시 영역 내에서 상기 이미지 기반 검색 서비스를 제공한다는 측면에서 비쥬얼 키보드(visual keyboard)를 호출하기 위한 키, 버튼, 또는 아이템으로 참조될 수 있다.
동작 360에서, 프로세서(120)는 상기 지정된 객체에 대한 입력을 식별하는 것에 적어도 기반하여, 전자 장치(101)에 저장된 복수의 이미지들 중 상기 어플리케이션과 관련된 하나 이상의 이미지들을 식별할 수 있다. 다양한 실시예들에서, 실행 중인 상기 어플리케이션과 관련된 상기 하나 이상의 이미지들은, 상기 어플리케이션을 실행하는 전자 장치(101)의 상황 정보(context information)에 상응하는 하나 이상의 이미지들을 의미할 수 있다. 예를 들면, 상기 하나 이상의 이미지들은, 상기 복수의 이미지들 중 상기 어플리케이션의 유형(또는 카테고리)에 상응하는 콘텐트를 포함하는 이미지를 포함할 수 있다. 예를 들면, 상기 하나 이상의 이미지들은, 상기 복수의 이미지들 중 동작 350 내지 동작 360을 수행하는 시간의 적어도 일부에 상응하는 콘텐트를 포함하는 이미지를 포함할 수 있다. 예를 들면, 상기 하나 이상의 이미지들은, 상기 복수의 이미지들 중 상기 어플리케이션에 의해 제공되는 서비스에 상응하는 콘텐트를 포함하는 이미지를 포함할 수 있다. 예를 들면, 상기 하나 이상의 이미지들은, 상기 어플리케이션에 의해 제공되는 서비스와 동일하거나 유사한 서비스를 제공하는 상기 어플리케이션과 구별되는(distinct from) 적어도 하나의 어플리케이션에 상응하는 콘텐트를 포함하는 이미지를 포함할 수 있다. 예를 들면, 상기 하나 이상의 이미지들은, 동작 350 내지 동작 360을 수행하는 전자 장치(101)가 위치된 장소(location)에 상응하는 콘텐트를 포함하는 이미지를 포함할 수 있다. 예를 들면, 상기 하나 이상의 이미지들은, 상기 복수의 이미지들 중에서 상기 어플리케이션을 이용하여 획득하였던 이미지 또는 상기 어플리케이션을 이용하여 획득하였던 콘텐트를 포함하는 이미지를 포함할 수 있다. 하지만, 이에 제한되지 않는다. 상기 복수의 이미지들 중에서 상기 하나 이상의 이미지들을 식별하기 위해, 상기 복수의 이미지들을 저장하는 방법에 대한 상세한 설명은 도 5a 내지 도 5e를 통해 후술될 것이다.
동작 365에서, 프로세서(120)는 상기 하나 이상의 이미지들을 보여주기(represent) 위한 하나 이상의 썸네일 이미지들을 상기 가상 키보드의 상기 표시 영역 안에서 표시할 수 있다. 예를 들면, 프로세서(120)는, 상기 가상 키보드의 상기 표시 영역 안에서 상기 복수의 키들 및 상기 지정된 객체로부터 전환된 상기 하나 이상의 썸네일 이미지들을 표시할 수 있다. 다양한 실시예들에서, 상기 하나 이상의 썸네일 이미지들 각각은, 상기 하나 이상의 이미지들 각각의 축소된(reduced) 이미지를 의미할 수 있다. 다양한 실시예들에서, 상기 하나 이상의 썸네일 이미지들은, 상기 하나 이상의 이미지들을 이용하여 상기 어플리케이션의 상기 사용자 인터페이스 안에서 이미지 기반 검색 서비스를 제공하기 위해 이용 가능할(is usable) 수 있다.
예를 들어, 도 4를 참조하면, 프로세서(120)는, 가상 키보드(410)의 표시 영역(415) 안에서 상기 복수의 키들 및 지정된 객체(420)를 표시하는 동안, 지정된 객체(420)에 대한 입력(425)을 수신할 수 있다. 프로세서(120)는, 입력(425)를 수신하는 것에 응답하여, 전자 장치(101)에 저장된 상기 복수의 이미지들 중에서 상기 어플리케이션과 관련된 상기 하나 이상의 이미지들을 식별할 수 있다. 예를 들어, 상기 어플리케이션이 동영상 스트리밍 서비스를 제공하는 어플리케이션인 경우, 프로세서(120)는 상기 복수의 이미지들 중에서 영화, 드라마(drama or soap opera) 등에 대한 콘텐트를 포함하는 상기 하나 이상의 이미지들을 식별할 수 있다. 프로세서(120)는, 상기 하나 이상의 이미지들을 식별하는 것에 응답하여, 표시 영역(415) 안에서 상기 하나 이상의 이미지들을 각각 보여주기 위한 하나 이상의 썸네일 이미지들(430)의 적어도 일부를 표시할 수 있다. 달리 표현하면, 상기 복수의 키들 및 지정된 객체(420)는, 상기 하나 이상의 이미지들을 식별하는 것에 응답하여, 하나 이상의 썸네일 이미지들(430)의 적어도 일부로 대체될(replaced with) 수 있다. 하나 이상의 썸네일 이미지들(430) 각각은, 하나 이상의 썸네일 이미지들 중 적어도 일부를 선택할 수 있음을 가이드하기 위한 가이드(guidance)(432)를 포함할 수 있다. 하나 이상의 썸네일 이미지들(430)은 동작 350 내지 동작 365를 수행하는 동안 프로세서(120)에 의해 획득된 적어도 하나의 키워드(또는 텍스트, 추천 단어)와 함께 표시될 수 있다. 다양한 실시예들에서, 상기 적어도 하나의 키워드는 동작 350 내지 동작 365를 수행하는 상황에 기반하여 획득될 수 있다. 다양한 실시예들에서, 상기 적어도 하나의 키워드를 표시하는 영역(434)은 하나 이상의 썸네일 이미지들(430)의 상단에 위치될 수 있다. 다양한 실시예들에서, 영역(434)은 표시되는 상기 적어도 하나의 키워드의 숫자에 기반하여 확장될 수도 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치(101)는, 가상 키보드(410)를 통해 이미지 기반 검색 서비스를 제공함으로써, 강화된 사용자 경험을 제공할 수 있다. 다양한 실시예들에 따른 전자 장치(101)는, 가상 키보드(410)를 통해 이미지 기반 검색 서비스를 제공하는 경우, 이미지 기반 검색 서비스에서 이용가능한 상기 하나 이상의 이미지들을 각각 보여주기 위한 상기 하나 이상의 썸네일 이미지들을 표시함으로써 전자 장치(101)의 표시 장치(160)가 제한된 영역을 가지더라도 상기 하나 이상의 이미지들에 대한 정보를 제공할 수 있다.
도 5a는 다양한 실시예들에 따라 이미지를 저장하는 전자 장치의 동작의 예를 도시한다. 이러한 동작은, 도 1에 도시된 전자 장치(101), 도 2b에 도시된 전자 장치(101), 또는 전자 장치(101)의 프로세서(120)에 의해 수행될 수 있다. 도 5a의 동작 505 내지 동작 520은, 도 3b의 동작 360과 관련될 수 있다.
도 5b는 다양한 실시예들에 따른 전자 장치에서 이미지를 획득하는 방법들의 예를 도시한다.
도 5c는 다양한 실시예들에 따른 전자 장치에서 획득된 이미지에 대한 연관 정보를 생성하는 방법들의 예를 도시한다.
도 5d는 다양한 실시예들에 따른 전자 장치에서 획득된 이미지에 대한 연관 정보를 저장하는 방법의 예를 도시한다.
도 5e는 다양한 실시예들에 따른 전자 장치에서 획득된 이미지에 대한 연관 정보를 저장하는 방법의 다른 예를 도시한다.
도 5a를 참조하면, 동작 505에서, 프로세서(120)는 이미지를 획득할 수 있다. 다양한 실시예들에서, 상기 이미지는 다양한 방법들을 통해 획득될 수 있다.
예를 들어, 도 5b를 참조하면, 프로세서(120)는, 상황(context)(522)과 같이, 지정된 입력(523)을 수신하는 것에 응답하여, 표시 장치(160) 상에서 표시 중인 전체 화면(entire screen)에 대한 이미지를 획득할 수 있다. 예를 들면, 지정된 입력(523)은 전자 장치(101)에 포함된 복수의 물리적 버튼들 중 적어도 하나의 물리적 버튼을 누르는(depress) 입력을 포함할 수 있다. 예를 들면, 상기 적어도 하나의 물리적 버튼을 누르는 입력은, 볼륨 다운(volume down) 버튼 및 전원(power) 버튼을 함께 누르는 입력을 포함할 수 있다.
다른 예를 들어, 도 5b를 참조하면, 프로세서(120)는, 상황(524)과 같이, 지정된 입력(525)을 수신하는 것에 응답하여, 표시 장치(160) 상에서 표시 중인 전체 화면 내에서 입력(525)에 의해 식별된 영역(526)에 대한 이미지를 획득할 수 있다. 예를 들면, 지정된 입력(525)은 입력 수단(예: 사용자의 손가락, 스타일러스 등)에 의해 야기될 수 있다. 예를 들면, 지정된 입력(525)은 표시 중인 화면 상에서 영역을 지정하기 위한 입력을 포함할 수 있다.
또 다른 예를 들어, 도 5b를 참조하면, 프로세서(120)는, 상황(526)과 같이, 지정된 입력(527)을 수신하는 것에 기반하여, 표시 장치(160) 상에서 표시 중인 전체 화면 내에 포함된 이미지를 다운로드함으로써 상기 이미지를 획득할 수 있다. 예를 들면, 지정된 입력(527)은 지정된 시간(designated time)을 넘어서(over) 표시 중인 상기 전체 화면 내에 포함된 상기 이미지 위에 입력 수단이 머무는 입력을 포함할 수 있다. 다른 예를 들면, 지정된 입력(527)은 상기 지정된 시간을 넘어서 표시 중인 상기 전체 화면 내에 포함된 상기 이미지를 홀드하는 입력을 포함할 수 있다.
또 다른 예를 들어, 도 5b를 참조하면, 프로세서(120)는, 상황(528)과 같이, 전자 장치(101)에 포함된 카메라 모듈(180)을 이용하여 이미지를 획득할 수 있다. 카메라 모듈(180)을 이용하여 상기 이미지를 획득하는 경우, 프로세서(120)는, 표시 장치(160) 상에서 상기 이미지에 대한 프리뷰 이미지를 표시할 수 있다.
동작 510에서, 프로세서(120)는 상기 획득된 이미지의 연관 정보(association information)를 상기 이미지와 연계로(as associated with) 저장할 수 있다. 다양한 실시예들에서, 상기 연관 정보는, 상기 이미지 또는 상기 이미지를 획득하는 상황(context)과 관련된 정보를 의미할 수 있다. 예를 들면, 상기 연관 정보는, 상기 이미지의 콘텐트를 인식함으로써 획득되는 인식 정보를 포함할 수 있다. 상기 인식은, 프로세서(120)에 의해 전적으로 수행될 수도 있고 다른 전자 장치(예: 전자 장치(102), 전자 장치(104), 서버(108) 등)와의 연동을 통해 수행될 수도 있다. 다양한 실시예들에서, 상기 인식 정보는, 상기 이미지에 포함된 텍스트에 OCR(optical character reader)을 적용함으로써 획득된 데이터를 포함할 수 있다. 다양한 실시예들에서, 상기 인식 정보는, 상기 이미지에 대한 이미지 인식을 통해 획득되는 상기 이미지의 장면(scene) 데이터를 포함할 수 있다. 다양한 실시예들에서, 상기 인식 정보는, 상기 이미지에 대한 이미지 인식을 통해 획득되는 상기 이미지 내에 포함된 적어도 하나의 시각적 객체의 카테고리에 대한 데이터를 포함할 수 있다. 다른 예를 들면, 상기 연관 정보는, 상기 이미지를 획득한 소스(source)에 대한 정보를 포함할 수 있다. 다양한 실시예들에서, 상기 소스에 대한 정보는, 상기 이미지를 포함하고 있던 웹페이지의 주소(address) 또는 상기 웹페이지에 대한 마크 업 언어 파일(mark-up language file)에 대한 데이터를 포함할 수 있다. 다양한 실시예들에서, 상기 소스에 대한 정보는, 상기 이미지를 검색하기 위해 웹 서비스에서 이용되었던 적어도 하나의 키워드에 대한 데이터를 포함할 수 있다. 다양한 실시예들에서, 상기 소스에 대한 정보는, 상기 이미지를 획득하기 위해 이용된 어플리케이션(또는 상기 어플리케이션의 유형)에 대한 데이터를 포함할 수 있다. 또 다른 예를 들면, 상기 연관 정보는, 상기 이미지를 획득한 시간에 대한 데이터를 포함할 수 있다. 또 다른 예를 들면, 상기 연관 정보는, 전자 장치(101)가 상기 이미지를 획득하는 동안 위치된 장소(예: 지리적 위치, POI(point of interest) 등)에 대한 데이터를 포함할 수 있다. 또 다른 예를 들면, 상기 연관 정보는, 상기 이미지를 획득하는 타이밍에서 전자 장치(101)에서 실행되고 있었던 적어도 어플리케이션(또는 상기 적어도 하나의 어플리케이션의 유형)에 대한 데이터를 포함할 수 있다. 하지만, 이에 제한되지 않는다.
다양한 실시예들에서, 프로세서(120)는, 상기 연관 정보를 획득하는 동안 또는 상기 연관 정보를 저장하기 전에, 상기 연관 정보가 사용자의 의도(intention)에 대응하는지 여부를 문의하기 위한 메시지를 표시 장치(160) 상에서 표시할 수 있다. 프로세서(120)는, 상기 메시지에 대한 입력을 수신하는 것에 응답하여, 상기 연관 정보를 수정하기 위한 사용자 입력에 기반하여, 상기 연관 정보를 수정할 수 있다. 상기 수정된 연관 정보는, 상기 사용자 입력에 기반하여 수정된 콘텐트 또는 상기 사용자 입력에 기반하여 입력된 사용자 메모(또는 사용자 주석(annotation))을 포함할 수 있다.
예를 들어, 도 5c를 참조하면, 프로세서(120)는, 상황(529)과 같이, 전자 장치(101)에서 이용할 수 있는(available) 캡쳐 기능을 이용하여 웹페이지(530) 전체(entire webpage)에 대한 이미지를 획득하거나, 웹페이지(530)에 포함된 시각적 객체(531)에 대한 이미지를 획득할 수 있다. 프로세서(120)는, 웹페이지(530) 전체에 대한 이미지를 획득하는 경우, 상기 웹페이지의 주소(532)에 대한 데이터, 상기 웹페이지의 마크 업 언어 파일(도 5c에서 미도시)에 대한 데이터, 상기 웹페이지에 포함된 기사(article)에 대한 인식 데이터, 상기 웹페이지에 포함된 시각적 객체(531)에 대한 인식 데이터, 상기 이미지를 획득한 타이밍에 대한 데이터, 또는 상기 이미지를 획득하는 타이밍에서 전자 장치(101)가 위치된 장소에 대한 데이터 중 적어도 하나를 포함하는 상기 연관 정보를 획득하고, 상기 획득된 연관 정보를 웹페이지(530) 전체에 대한 상기 이미지와 연계로 저장할 수 있다. 프로세서(120)는, 적어도 하나의 객체(531)에 대한 이미지를 획득하는 경우, 상기 웹페이지의 주소(532)에 대한 데이터, 상기 웹페이지의 마크 업 언어 파일에 대한 데이터, 적어도 하나의 시각적 객체(531)에 대한 인식 데이터, 적어도 하나의 시각적 객체(531) 주변에 위치된 콘텐트(예: 기사(533), 기사(534), 또는 기사(535) 중 적어도 하나)에 대한 인식 데이터(적어도 하나의 시각적 객체(531)에 대한 상기 인식 데이터에 기반하여 식별됨), 적어도 하나의 시각적 객체(531)에 대한 상기 이미지를 획득한 타이밍에 대한 데이터, 또는 상기 이미지를 획득하는 타이밍에서 전자 장치(101)가 위치된 장소에 대한 데이터 중 적어도 하나를 포함하는 상기 연관 정보를 획득하고, 상기 획득된 연관 정보를 적어도 하나의 시각적 객체(531)에 대한 상기 이미지와 연계로 저장할 수 있다. 하지만, 이에 제한되지 않는다.
다른 예를 들어, 도 5c를 참조하면, 프로세서(120)는, 상황(536)과 같이, 전자 장치(101)에서 이용할 수 있는 캡쳐 기능을 이용하여 영화관 예약 서비스를 제공하는 어플리케이션의 사용자 인터페이스(537)의 적어도 일부에 대한 이미지를 획득할 수 있다. 프로세서(120)는 상기 이미지의 획득에 적어도 기반하여, 상기 이미지가 영화관 예약 서비스를 제공하는 상기 어플리케이션으로부터 획득된 것임을 나타내는 데이터, 상기 이미지에 포함된 콘텐트에 대한 인식 데이터, 상기 이미지를 획득하는 타이밍에 대한 데이터, 또는 상기 이미지를 획득하는 타이밍에서 전자 장치(101)가 위치된 장소에 대한 데이터 중 적어도 하나를 포함하는 상기 연관 정보를 획득하고, 상기 획득된 연관 정보를 상기 이미지와 연계로 저장할 수 있다. 하지만, 이에 제한되지 않는다.
또 다른 예를 들어, 도 5c를 참조하면, 프로세서(120)는, 상황(538)과 같이, 전자 장치(101)의 카메라 모듈(180)를 이용하여 전자 장치(101) 주변의 환경에 대한 이미지(539)를 획득할 수 있다. 프로세서(120)는, 이미지(539)의 획득에 기반하여, 이미지(539)를 인식함으로써, 이미지(539)의 메인 시각적 객체(540)가 에펠탑임을 식별할 수 있다. 프로세서(120)는, 이미지(539)에 대한 인식 데이터, 이미지(539)를 획득한 타이밍에 대한 데이터, 또는 이미지(539)를 획득하는 타이밍에서 전자 장치(101)가 위치된 장소에 대한 데이터 중 적어도 하나를 포함하는 상기 연관 정보를 획득하고, 상기 획득된 연관 정보를 상기 이미지와 연계로 저장할 수 있다. 하지만, 이에 제한되지 않는다.
다양한 실시예들에서, 프로세서(120)는 다양한 방법들을 이용하여 상기 연관 정보를 상기 이미지와 연계로 저장할 수 있다. 다양한 실시예들에서, 프로세서(120)는, 상기 이미지에 대한 이미지 파일에 상기 연관 정보를 삽입함으로써 상기 연관 정보를 상기 이미지와 연계로 저장할 수 있다. 예를 들면, 프로세서(120)는, 상기 이미지에 대한 상기 이미지 파일의 메타 데이터(또는 헤더 정보)에 상기 연관 정보를 포함함으로써 상기 연관 정보를 상기 이미지와 연계로 저장할 수 있다. 다양한 실시예들에서, 프로세서(120)는, 상기 이미지에 대한 상기 이미지 파일과 구별되는 다른 파일에 상기 연관 정보를 삽입할 수 있다. 이러한 경우, 프로세서(120)는, 상기 이미지 파일 및 상기 연관 정보가 삽입된 상기 다른 파일과 구별되고, 상기 이미지 파일과 상기 다른 파일을 연계하기 위한 연관 파일(association file)을 생성하거나 획득할 수 있다. 예를 들면, 상기 연관 파일은, 상기 이미지 파일과 상기 다른 파일을 연계하기 위한 마크 업 언어 파일을 포함할 수 있다. 하지만, 이에 제한되지 않는다.
예를 들어, 도 5d를 참조하면, 프로세서(120)는 상기 연관 정보를 포함하는 상기 이미지에 대한 이미지 파일(541)을 저장함으로써 상기 연관 정보를 상기 이미지와 연계로 저장할 수 있다. 다양한 실시예들에서, 이미지 파일(541)은 상기 이미지에 대한 정보 뿐만 아니라 상기 이미지의 출처 정보(542), 상기 이미지의 장면(scene) 정보(543), 상기 이미지를 획득한 타이밍에서 전자 장치(101)의 위치를 나타내는 위치 정보(544), 상기 이미지에 OCR을 적용한 결과에 대한 OCR 정보(545), 상기 이미지의 카테고리 정보(546), 또는 상기 이미지의 관련 앱 정보(547) 중 하나 이상을 포함할 수 있다. 다양한 실시예들에서, 출처 정보(542), 장면 정보(543), 위치 정보(544), OCR 정보(545), 카테고리 정보(546), 또는 관련 앱 정보(547) 중 하나 이상은 이미지 파일(541) 내의 메타 데이터(또는 헤더 정보)에 포함될 수 있다. 다양한 실시예들에서, 카테고리 정보(546)는, 출처 정보(542), 장면 정보(543), 위치 정보(544), OCR 정보(545), 또는 관련 앱 정보(547) 중 적어도 하나를 분석함으로써 획득될 수 있다. 다양한 실시예들에서, 카테고리 정보(546)의 획득은 프로세서(120)에 의해 전적으로 수행될 수도 있고, 전자 장치(101)와 상기 다른 전자 장치와의 연동에 의해 수행될 수도 있다. 다양한 실시예들에서, 관련 앱 정보(547)는, 출처 정보(542), 장면 정보(543), 위치 정보(544), OCR 정보(545), 또는 카테고리 정보(546) 중 적어도 하나를 분석함으로써 획득될 수 있다. 다양한 실시예들에서, 관련 앱 정보(547)의 획득은 프로세서(120)에 의해 전적으로 수행될 수도 있고, 전자 장치(101)와 상기 다른 전자 장치와의 연동에 의해 수행될 수도 있다.
도 5a 내지 도 5d에 도시하지 않았으나, 프로세서(120)는, 이미지 파일(541)에 포함된 상기 연관 정보와 전자 장치(101)에 이전에(previously) 저장되었던 이미지 파일들에 각각 포함된 연관 정보에 적어도 기반하여, 상기 이미지 파일 및 상기 이미지 파일들을 분류할 수 있다. 예를 들면, 프로세서(120)는, 상기 연관 정보에 적어도 기반하여, 상기 이미지 파일 및 상기 이미지 파일들 중 제1 이미지 파일을 복수의 카테고리들 중 제1 카테고리로 분류하고, 상기 이미지 파일 및 상기 이미지 파일들 중 제2 이미지 파일을 상기 복수의 카테고리들 중 제2 카테고리로 분류할 수 있다. 프로세서(120)는, 이러한 분류를 통해 가상 키보드에 포함된 지정된 객체에 대한 입력을 수신하는 경우, 전자 장치(101)에 저장된 복수의 이미지 파일들 중에서 상기 지정된 객체에 대한 입력을 수신하는 타이밍에서의 상황에 상응하는 하나 이상의 이미지 파일들을 식별할 수 있다.
다른 예를 들어, 도 5e를 참조하면, 프로세서(120)는, 상기 이미지에 대한 이미지 파일(file 1)(548), 상기 이미지 파일과 구별되고 상기 연관 정보를 포함하는 다른 파일(file 2)(549), 및 상기 이미지 파일과 상기 다른 파일을 연계하기 위한 연계 파일(file 3)(550)을 하나의(a) 데이터 세트(551)로 저장함으로써, 상기 연관 정보를 상기 이미지와 연계로 저장할 수 있다. 다양한 실시예들에서, 데이터 세트(551)는 이미지 파일(548), 다른 파일(549), 및 연계 파일(550)을 하나의 폴더에 삽입함으로써 형성될 수 있다. 다양한 실시예들에서, 데이터 세트(551)는 이미지 파일(548)에 다른 파일(549) 또는 연계 파일(550) 중 적어도 하나가 저장된 메모리(130) 상의 주소에 대한 정보를 삽입하고, 다른 파일(549)에 이미지 파일(548) 또는 연계 파일(550) 중 적어도 하나가 저장된 메모리(130) 상의 주소에 대한 정보를 삽입하며, 연계 파일(550)에 이미지 파일(548) 또는 다른 파일(549) 중 적어도 하나가 저장된 메모리(130) 상의 주소에 대한 정보를 삽입함으로써 형성될 수도 있다. 하지만, 이에 제한되지 않는다.
도 5c 및 도 5e에 도시하지 않았으나, 프로세서(120)는, 이미지 파일(548)과 관련된 다른 파일(549) 및 연계 파일(550)과 전자 장치(101)에 이전에(previously) 저장되었던 이미지 파일들과 각각 관련된 다른 파일들 및 연계 파일들에 적어도 기반하여, 이미지 파일(548) 및 상기 이미지 파일들을 분류할 수 있다. 예를 들면, 프로세서(120)는, 상기 이미지 파일들 및 이미지 파일(548)과 관련된 파일들에 적어도 기반하여, 상기 이미지 파일들 중 제1 이미지 파일을 복수의 카테고리들 중 제1 카테고리로 분류하고, 상기 이미지 파일 및 상기 이미지 파일들 중 제2 이미지 파일을 상기 복수의 카테고리들 중 제2 카테고리로 분류할 수 있다. 프로세서(120)는, 이러한 분류를 통해 가상 키보드에 포함된 지정된 객체에 대한 입력을 수신하는 경우, 전자 장치(101)에 저장된 복수의 이미지 파일들 중에서 상기 지정된 객체에 대한 입력을 수신하는 타이밍에서의 상황 또는 상기 가상 키보드와 함께 실행되고 있는 어플리케이션에 상응하는 하나 이상의 이미지 파일들을 식별할 수 있다.
동작 515에서, 프로세서(120)는 상기 가상 키보드의 상기 표시 영역 안에서 표시된 상기 지정된 객체에 대한 입력을 수신하는지 여부를 모니터링할 수 있다. 예를 들면, 프로세서(120)는, 상기 가상 키보드가 전자 장치(101)에 저장된 어플리케이션의 사용자 인터페이스와 함께 표시됨을 식별하는 것을 조건으로, 상기 모니터링을 개시할 수 있다. 프로세서(120)는 상기 지정된 객체에 대한 입력을 수신함을 모니터링할 때까지 또는 상기 지정된 객체에 대한 상기 입력이 수신되지 않은 상태에서 상기 가상 키보드가 표시된 타이밍으로부터 지정된 시간이 경과됨을 식별하는 것에 기반하여, 동작 517을 수행할 수 있다. 프로세서(120)는, 상기 지정된 객체에 대한 입력을 수신함을 모니터링하는 것에 기반하여, 동작 520를 수행할 수 있다.
동작 517에서, 프로세서(120)는, 상기 지정된 객체에 대한 입력을 수신할 때까지 또는 상기 지정된 객체에 대한 상기 입력이 수신되지 않은 상태에서 상기 가상 키보드가 표시된 타이밍으로부터 지정된 시간이 경과됨을 식별하는 것에 기반하여, 이미지를 획득하기 위한 이벤트가 전자 장치(101)에서 발생하는지 여부를 모니터링할 수 있다. 프로세서(120)는 상기 이벤트가 전자 장치(101)에서 발생함을 모니터링하는 것에 응답하여, 동작 505를 재차 수행할 수 있다.
동작 520에서, 프로세서(120)는, 상기 지정된 객체에 대한 입력을 수신함을 모니터링하는 것에 기반하여, 상기 복수의 이미지들 각각과 연계로 저장된 연관 정보를 이용하여 상기 복수의 이미지들 중에서 전자 장치(101)의 상황 정보(또는 어플리케이션)에 상응하는 하나 이상의 이미지들을 식별할 수 있다. 예를 들면, 프로세서(120)는, 실행 중인 어플리케이션의 콘텐트, 실행 중인 어플리케이션의 유형, 현재 시간, 또는 전자 장치(101)의 현재 위치에 적어도 기반하여 상기 상황 정보를 획득하고, 상술한 분류에 기반하여 분류된 복수의 이미지들로부터 상기 획득된 상황 정보에 상응하는 상기 하나 이상의 이미지들을 식별할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치(101)는 이미지를 획득하는 단계에서 상기 획득된 이미지의 연관 정보를 획득하고, 상기 연관 정보를 상기 이미지와 연계로 저장함으로써 가상 키보드를 통해 이미지 기반 검색 서비스를 제공할 수 있다.
도 6은 다양한 실시예들에 따라 가상 키보드를 이용하여 이미지 기반 검색 서비스를 제공하는 전자 장치의 동작의 예를 도시한다. 이러한 동작은, 도 1에 도시된 전자 장치(101), 도 2b에 도시된 전자 장치(101), 또는 전자 장치(101)의 프로세서(120)에 의해 수행될 수 있다.
도 6에서 동작 610 내지 640은 도 3b의 동작 365과 관련될 수 있다.
도 6을 참조하면, 동작 610에서, 프로세서(120)는 하나 이상의 썸네일 이미지들을 가상 키보드의 표시 영역 안에서 표시할 수 있다. 다양한 실시예들에서, 상기 하나 이상의 썸네일 이미지들은 도 3b에 정의된 하나 이상의 썸네일 이미지들을 포함할 수 있고, 상기 가상 키보드는 도 3b에 정의된 가상 키보드를 포함할 수 있으며, 상기 표시 영역은 도 3b에 정의된 표시 영역을 포함할 수 있다. 다양한 실시예들에서, 동작 610은 도 3b의 동작 365에 상응할 수 있다.
동작 620에서, 프로세서(120)는 상기 하나 이상의 썸네일 이미지들 중 하나의(a) 썸네일 이미지들 선택하기 위한 입력을 식별할 수 있다. 예를 들어 도 4를 참조하면, 프로세서(120)는 가이드(432)에 대한 입력(436)을 하나 이상의 썸네일 이미지들(430) 중 하나의 썸네일 이미지(438)를 선택하기 위한 입력의 적어도 일부로 식별할 수 있다.
동작 630에서, 프로세서(120)는, 상기 선택된 썸네일 이미지에 의해 보여지는 이미지를 인식함으로써 획득된 적어도 하나의 텍스트(예: 키워드)를 상기 하나 이상의 썸네일 이미지들과 함께 표시할 수 있다. 다양한 실시예들에서, 상기 적어도 하나의 텍스트는, 도 5a 내지 도 5e를 통해 설명된 상기 연관 정보에 기반하여 획득될 수 있다. 다양한 실시예들에서, 상기 적어도 하나의 키워드는, 상기 하나 이상의 썸네일 이미지들 중 상기 썸네일 이미지를 선택하기 위한 입력을 식별하는 것에 응답하여, 상기 선택된 썸네일 이미지에 의해 보여지는 상기 이미지를 인식함으로써 획득될 수도 있다.
예를 들어, 도 4를 참조하면, 프로세서(120)는, 입력(436)을 수신하는 것에 응답하여, 입력(436)에 의해 선택된 썸네일 이미지(438)에 의해 보여지는 이미지를 인식함으로써 획득된 적어도 하나의 텍스트(440)를 하나 이상의 썸네일 이미지들(430)과 함께 표시할 수 있다. 다양한 실시예들에서, 적어도 하나의 텍스트(440)는 하나 이상의 썸네일 이미지들(430)의 상단에 위치될 수 있다. 다양한 실시예들에서, 적어도 하나의 텍스트(440)는 상기 연관 정보와 전자 장치(101)와 관련된 상황 정보(예: 실행 중인 어플리케이션과 관련된 상황 정보)에 적어도 기반하여, 식별될 수 있다. 다양한 실시예들에서, 적어도 하나의 텍스트(440)는, 텍스트 입력 부분(405)에 입력 가능한 후보 텍스트를 의미할 수 있다.
동작 640에서, 프로세서(120)는, 상기 적어도 하나의 텍스트 중 하나의(a) 텍스트를 선택하기 위한 입력을 식별하는 것에 응답하여, 텍스트 입력 부분 안에서 상기 선택된 텍스트를 표시하고, 실행 중인 상기 어플리케이션의 사용자 인터페이스 안에서 상기 선택된 텍스트와 관련된 적어도 하나의 멀티미디어 콘텐트를 표시할 수 있다. 다양한 실시예들에서, 상기 적어도 하나의 멀티미디어 콘텐트는, 상기 적어도 하나의 텍스트에 기반하여 검색된 정보(또는 결과 정보)일 수 있다. 다양한 실시예들에서, 상기 적어도 하나의 멀티미디어 콘텐트는, 상기 어플리케이션과 관련된 서버로부터 획득될 수도 있고, 전자 장치(101)의 메모리(130)로부터 획득될 수도 있다. 하지만, 이에 제한되지 않는다.
예를 들어, 도 4를 참조하면, 프로세서(120)는, 적어도 하나의 텍스트(440) 중 하나의 텍스트를 선택하기 위한 입력(442)을 수신할 수 있다. 프로세서(120)는 입력(442)를 수신하는 것에 응답하여, 입력(442)에 의해 선택된 텍스트(444)를 포함하는 텍스트 입력 부분(405)을 표시하고, 텍스트(444)에 기반하여 검색된 적어도 하나의 멀티미디어 콘텐트(446)를 사용자 인터페이스(400) 안에서 표시할 수 있다.
도 4에 도시하지 않았으나, 프로세서(120)는 적어도 하나의 멀티미디어 콘텐트(446)를 표시하는 동안, 하나 이상의 썸네일 이미지들(430) 중 썸네일 이미지(438)과 구별되는 다른 썸네일 이미지를 선택하기 위한 입력을 수신하는 것에 응답하여, 적어도 하나의 텍스트(440)와 적어도 일부 구별되는(at least partially distinct from) 적어도 하나의 텍스트를 영역(434) 안에서 표시할 수 있다. 프로세서(120)는, 영역(434) 안에 표시된 상기 적어도 하나의 텍스트 중 하나의 텍스트를 선택하기 위한 입력을 수신하는 것에 응답하여, 상기 선택된 텍스트와 관련된 적어도 하나의 멀티미디어 콘텐트를 사용자 인터페이스(400) 안에서 표시할 수 있다. 이러한 경우, 적어도 하나의 멀티미디어 콘텐트(446)는 상기 선택된 텍스트와 관련된 상기 적어도 하나의 멀티미디어 콘텐트로 대체될 수 있다.
도 4 및 도 6은 하나 이상의 썸네일 이미지들 중 하나의 썸네일 이미지가 선택되는 예 및 적어도 하나의 텍스트 중 하나의 텍스트가 선택되는 예를 도시하고 있으나, 이는 설명의 편의를 위한 것이다. 다양한 실시예들에 따른 전자 장치(101)는 상기 하나 이상의 썸네일 이미지들 중 2개 이상의 썸네일 이미지들을 선택하는 기능을 제공할 수 있고, 상기 적어도 하나의 텍스트 중 2개 이상의 텍스트들을 선택하는 기능을 제공할 수 있음에 유의하여야 한다.
도 7a는 다양한 실시예들에 따라 적어도 하나의 텍스트를 획득하는 전자 장치의 동작의 예를 도시한다. 이러한 동작은, 도 1에 도시된 전자 장치(101), 도 2b에 도시된 전자 장치(101), 또는 전자 장치(101)의 프로세서(120)에 의해 수행될 수 있다. 도 7a의 동작 705 내지 동작 720은, 도 3b의 동작 355와 관련될 수 있다.
도 7b는 다양한 실시예들에 따라 적어도 하나의 텍스트를 획득하는 전자 장치의 동작의 다른 예를 도시한다. 이러한 동작은, 도 1에 도시된 전자 장치(101), 도 2b에 도시된 전자 장치(101), 또는 전자 장치(101)의 프로세서(120)에 의해 수행될 수 있다. 도 7b의 동작 725 내지 동작 740은, 도 3b의 동작 355와 관련될 수 있다.
도 7c는 다양한 실시예들에 따른 전자 장치에서 적어도 하나의 텍스트를 표시하는 방법의 예를 도시한다.
도 7d는 다양한 실시예들에 따른 전자 장치에서 표시되는 화면의 예를 도시한다.
도 7a 내지 도 7c는, 하나 이상의 썸네일 이미지들 중 하나의 썸네일 이미지를 선택하기 위한 입력을 수신한 후 상기 선택된 썸네일 이미지에 의해 보여지는 이미지에 대한 인식을 수행하는 전자 장치(101)의 동작의 예를 도시한다. 이러한 동작은 도 5a 내지 도 5e에 예시된 전자 장치(101)의 동작과 함께 수행될 수도 있고, 도 5a 내지 도 5e에 예시된 전자 장치(101)의 동작으로부터 독립적으로 수행될 수도 있다.
도 7a를 참조하면, 동작 705에서, 프로세서(120)는 입력에 의해 선택된 썸네일 이미지에 의해 보여지는 이미지 내에서 적어도 하나의 객체를 식별할 수 있다. 다양한 실시예들에서, 상기 적어도 하나의 객체는, 상기 이미지에 포함된 텍스트, 상기 이미지에 포함된 부분 이미지(partial image), 상기 이미지에 포함된 해시 태그(tag) 중 적어도 하나를 포함할 수 있다. 프로세서(120)는, 상기 이미지에 대한 인식을 수행하기 위해, 상기 이미지로부터 상기 적어도 하나의 객체를 식별할 수 있다.
동작 710에서, 프로세서(120)는 상기 식별된 적어도 하나의 객체를 인식함으로써 상기 이미지 내에 포함된 적어도 하나의 콘텐트를 획득할 수 있다. 예를 들면, 프로세서(120)는, 상기 식별된 적어도 하나의 객체로부터 상기 적어도 하나의 객체의 적어도 하나의 특징점을 추출하고, 상기 추출된 적어도 하나의 특징점에 기반하여 상기 적어도 하나의 이미지가 무엇인지를 인식할 수 있다. 상기 인식을 위해, 프로세서(120)는, 전자 장치(101)에 포함된 자연어 처리 모듈 또는 이미지 처리 모듈 중 적어도 하나를 이용할 수 있다.
도 7a는, 상기 적어도 하나의 콘텐트를 획득하기 위해, 상기 이미지의 인식을 이용하는 예를 도시하고 있으나, 이는 설명의 편의를 위한 것이다. 다양한 실시예들에 따른 전자 장치(101)는 이미지 인식 뿐 아니라 상기 이미지의 획득 시 상기 이미지와 함께 표시되었던 정보 또는 상기 이미지의 소스로부터 상기 적어도 하나의 콘텐트를 획득할 수도 있다.
동작 715에서, 프로세서(120)는, 상기 획득된 적어도 하나의 콘텐트에 상응하는 적어도 하나의 텍스트를 획득할 수 있다. 예를 들면, 프로세서(120)는, 상기 적어도 하나의 콘텐트를 대표하는(represent) 대표 텍스트를 획득하고, 상기 대표 텍스트의 동의어, 유의어, 및/또는 하의어에 해당하는 텍스트를 획득함으로써, 상기 적어도 하나의 콘텐트에 상응하는 상기 적어도 하나의 텍스트를 획득할 수 있다.
동작 720에서, 프로세서(120)는, 상기 획득된 적어도 하나의 텍스트를 상기 하나 이상의 썸네일 이미지들과 함께 표시할 수 있다. 대안적으로, 프로세서(120)는, 표시 장치(160)의 표시 영역이 제한된 경우, 상기 획득된 적어도 하나의 텍스트만을 표시할 수도 있다. 예를 들면, 프로세서(120)는, 상기 적어도 하나의 텍스트를 획득하는 것에 기반하여, 상기 하나 이상의 썸네일 이미지들을 표시하는 것을 중지(terminate 또는 cease)하고 상기 획득된 적어도 하나의 텍스트를 표시할 수 있다. 상기 획득된 적어도 하나의 텍스트는, 실행 중인 어플리케이션의 사용자 인터페이스 내의 텍스트 입력 부분 주변에서 표시될 수 있다. 예를 들어, 도 7c를 참조하면, 프로세서(120)는, 상기 적어도 하나의 텍스트를 획득하는 것에 기반하여, 실행 중인 어플리케이션의 사용자 인터페이스(745) 내의 텍스트 입력 부분(750) 주변에서 팝-업되는 영역 안에서 상기 획득된 적어도 하나의 텍스트(755)를 표시할 수 있다. 적어도 하나의 텍스트(755)는, 텍스트(760), 텍스트(762), 텍스트(764), 텍스트(766), 텍스트(768), 및 텍스트(770)를 포함할 수 있다. 텍스트(760), 텍스트(762), 텍스트(764), 텍스트(766), 텍스트(768), 및 텍스트(770) 각각은 선택된 썸네일 이미지에 의해 보여지는 이미지에 대한 OCR 결과, 상기 이미지의 장면(또는 랜드마크) 정보, 상기 이미지가 획득된 위치(예: 지리적 위치, POI 등), 상기 이미지와 관련된 사용자 태그, 상기 이미지가 획득된 위치(예: 웹페이지)에서 자주 입력되는 키워드, 상기 이미지가 획득된 위치와 관련된 위치(예: 상기 웹페이지를 참조한 SNS 서비스 웹페이지의 주소) 내에 포함된 태그 정보 중 적어도 하나에 기반하여 식별될 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치(101)는 이미지를 획득하거나 저장하는 타이밍에서 상기 이미지에 대한 연관 정보를 획득할 뿐 아니라, 상기 하나 이상의 썸네일 이미지들 중 하나의 썸네일 이미지를 선택하기 위한 입력을 수신하는 것에 응답하여, 상기 선택된 썸네일 이미지에 의해 보여지는 이미지와 관련된 처리를 수행함으로써 상기 선택된 이미지에 의해 보여지는 상기 이미지와 관련된 콘텐트를 획득하기 때문에, 이미지 획득 시점과 이미지 호출 시점 사이의 시간 간격에서의 트랜드의 변화를 반영한 적어도 하나의 텍스트(예: 키워드)를 제공할 수 있다.
도 7b를 참조하면, 동작 725에서, 프로세서(120)는, 상기 선택된 썸네일 이미지에 의해 보여지는 이미지에 대한 정보를 서버에게 송신할 수 있다. 다양한 실시예들에서, 상기 서버는, 상기 이미지와 관련된 정보를 획득하기 위해 이용되는 서버를 의미할 수 있다. 다양한 실시예들에서, 상기 서버는, 상기 이미지에 대한 인식 정보를 획득하기 위해 이용되는 서버를 의미할 수 있다. 다양한 실시예들에서, 상기 서버는, 하나의 서버로 구성될 수도 있고, 서로 다른 복수의 서버들로 구성될 수도 있다. 다양한 실시예들에서, 상기 이미지에 대한 정보는, 상기 이미지로부터 추출된 적어도 하나의 시각적 객체에 대한 정보를 포함할 수 있다. 다양한 실시예들에서, 상기 이미지에 대한 정보는, 상기 적어도 하나의 시각적 객체의 적어도 하나의 특징점에 대한 정보를 포함할 수 있다.
동작 730에서, 프로세서(120)는, 상기 서버로부터 상기 이미지에 대한 인식 정보를 수신할 수 있다. 상기 인식 정보는, 상기 서버로부터 통신 모듈(190)을 통해 수신될 수 있다.
동작 735에서, 프로세서(120)는, 상기 수신된 인식 정보에 기반하여, 적어도 하나의 텍스트를 획득할 수 있다. 예를 들면, 프로세서(120)는, 상기 수신된 인식 정보로부터 상기 적어도 하나의 텍스트에 대한 데이터를 추출함으로써, 상기 적어도 하나의 텍스트를 획득할 수 있다. 다른 예를 들면, 프로세서(120)는, 상기 수신된 인식 정보에 기반하여 인터넷 검색을 수행하고 상기 검색의 결과에 기반하여 상기 적어도 하나의 텍스트를 획득할 수 있다. 하지만, 이에 제한되지 않는다.
동작 740에서, 프로세서(120)는, 상기 획득된 적어도 하나의 텍스트를 상기 하나 이상의 썸네일 이미지와 함께 표시할 수 있다. 대안적으로, 프로세서(120)는, 도 7c와 같이, 상기 획득된 적어도 하나의 텍스트만을 실행 중인 어플리케이션의 사용자 인터페이스 내에서 표시할 수도 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치(101)는, 전자 장치(101) 내의 구성요소들(예: 프로세서(120), 메모리(130) 등) 뿐 아니라 전자 장치(101) 외부의 적어도 하나의 다른 전자 장치를 이용하여 이미지에 대한 처리 결과 및/또는 상기 이미지에 대한 상기 처리 결과로부터 획득되는 적어도 하나의 텍스트를 획득할 수 있다. 다시 말해, 다양한 실시예들에 따른 전자 장치(101)는, 전자 장치(101)에 저장된 데이터뿐 아니라 전자 장치(101)의 외부에 저장된 데이터를 이용함으로써, 다이버시티(diversity)를 가지는 검색 결과를 가상 키보드를 이용하여 제공할 수 있다.
대안적으로, 프로세서(120)는, 상기 획득된 적어도 하나의 텍스트와 구별되는 축소된 이미지를 상기 가상 키보드를 이용한 검색 서비스의 키워드로 이용할 수 있다.
예를 들어, 도 7d를 참조하면, 프로세서(120)는, 표시 장치(160) 상에서 사용자 인터페이스(772)를 표시할 수 있다. 프로세서(120)는, 사용자 인터페이스(772)를 표시하는 동안 사용자 인터페이스(772)에 포함된 텍스트 입력 부분(774)에 대한 입력을 수신할 수 있다. 프로세서(120)는, 텍스트 입력 부분(774)에 대한 입력을 수신하는 것에 응답하여, 사용자 인터페이스(772)에 일부 중첩된 가상 키보드(776)를 표시할 수 있다. 가상 키보드(776)의 표시 영역은, 영역(778)로 정의될 수 있다. 다양한 실시예들에서, 영역(778)의 크기(size, 또는 면적)는 영역(778)에 포함되는 콘텐츠(contents)의 양에 따라 변경될 수 있다. 가상 키보드(776)는 복수의 문자들을 나타내는 복수의 키들과 지정된 객체(780)를 포함할 수 있다. 프로세서(120)는, 지정된 객체(780)에 대한 입력(782)을 수신하는 것에 응답하여, 전자 장치(101)에 저장된 복수의 이미지들 중에서 전자 장치(101)와 관련된 상황 정보에 상응하는 하나 이상의 이미지들을 보여주기 위한 하나 이상의 썸네일 이미지들(784)을 확장된 영역(778) 안에서 표시할 수 있다. 프로세서(120)는, 하나 이상의 썸네일 이미지들(784) 중 하나의 썸네일 이미지를 선택하기 위한 입력을 수신하는 것에 응답하여, 상기 선택된 썸네일 이미지와 관련된 적어도 하나의 축소된 이미지(786)를 표시할 수 있다. 프로세서(120)는, 적어도 하나의 축소된 이미지(786) 중 하나의 축소된 이미지(788)를 선택하기 위한 입력(790)을 수신하는 것에 응답하여, 이전에 표시되었던 적어도 하나의 멀티미디어 콘텐트(785)로부터 전환된 적어도 하나의 멀티미디어 콘텐트(790)를 사용자 인터페이스(772) 안에서 표시할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치(101)는, 상기 가상 키보드를 이용하여 텍스트를 이용한 이미지 기반 검색 서비스 뿐 아니라 축소된 이미지를 이용한 이미지 기반 검색 서비스를 제공할 수 있다. 다양한 실시예들에 따른 전자 장치(101)는, 이러한 서비스의 제공을 통해, 텍스트 포맷으로 특정되지 않는 정보에 대한 검색을 수행할 수 있다.
도 8a는 다양한 실시예들에 따라 검색된 멀티미디어 콘텐트를 이미지와 연계로 저장하는 전자 장치의 동작의 예를 도시한다. 이러한 동작은, 도 1에 도시된 전자 장치(101), 도 2b에 도시된 전자 장치(101), 또는 전자 장치(101)의 프로세서(120)에 의해 수행될 수 있다. 도 8a의 동작 805 내지 동작 815는 도 6의 동작 640과 관련될 수 있다.
도 8b는 다양한 실시예들에 따른 전자 장치에서 획득된 이미지에 대한 연관 정보를 저장하는 방법의 예를 도시한다.
도 8a를 참조하면, 동작 805에서, 프로세서(120)는 적어도 하나의 멀티미디어 콘텐트를 사용자 인터페이스 안에서 표시할 수 있다. 다양한 실시예들에서, 동작 805는, 도 6의 동작 640에 상응할 수 있다.
동작 810에서, 프로세서(120)는, 상기 적어도 하나의 멀티미디어 콘텐트를 사용자 인터페이스 안에서 표시하는 동안, 상기 적어도 하나의 멀티미디어 콘텐트를 수신하기 위한 입력을 수신하는지 여부를 모니터링할 수 있다. 상기 적어도 하나의 멀티미디어 콘텐트를 표시하는 동안 상기 적어도 하나의 멀티미디어 콘텐트를 수신하기 위한 상기 입력을 수신하는 경우, 프로세서(120)는, 동작 815를 수행할 수 있다. 이와 달리, 상기 적어도 하나의 멀티미디어 콘텐트를 표시하는 동안 상기 적어도 하나의 멀티미디어 콘텐트를 수신하기 위한 입력을 수신하지 못하는 경우, 프로세서(120)는, 상기 적어도 하나의 멀티미디어 콘텐트를 상기 사용자 인터페이스 안에서 표시하는 것을 유지할 수 있다. 다양한 실시예들에서, 상기 적어도 하나의 멀티미디어 콘텐트를 표시하는 것을 지정된 시간 동안 유지될 수 있다. 이러한 경우, 프로세서(120)는 상기 적어도 하나의 멀티미디어 콘텐트를 표시한 타이밍으로부터 상기 지정된 시간이 경과됨을 식별하는 것에 응답하여, 상기 적어도 하나의 멀티미디어 콘텐트를 표시하는 것을 중단할 수 있다.
동작 815에서, 프로세서(120)는, 상기 적어도 하나의 멀티미디어 콘텐트를 선택하기 위한 입력을 수신하는 것에 기반하여, 선택된 썸네일 이미지에 의해 보여지는 이미지와 연계로 상기 선택된 멀티미디어 콘텐트에 대한 정보를 저장할 수 있다. 다양한 실시예들에서, 프로세서(120)는, 상기 선택된 멀티미디어 콘텐트에 대한 정보를 상기 이미지와 연계로 저장함으로써, 상기 이미지가 검색을 위해 이용되는 경우, 상기 이미지를 획득하는 과정에서 획득된 정보 뿐 아니라 상기 선택된 멀티미디어 콘텐트에 대한 정보도 함께 이용하여 상기 적어도 하나의 텍스트(예: 키워드)를 식별할 수 있다.
다양한 실시예들에서, 프로세서(120)는, 상기 적어도 하나의 멀티미디어 콘텐트를 상기 이미지와 연계로 저장하기 위해 다양한 방법들을 이용할 수 있다. 예를 들어, 도 8b를 참조하면, 프로세서(120)는, 상기 적어도 하나의 멀티미디어 콘텐트에 대한 정보가 부가된 상기 연관 정보를 포함하는 상기 선택된 썸네일 이미지에 의해 보여지는 이미지에 대한 이미지 파일(541)을 저장함으로써, 상기 멀티미디어 콘텐트를 상기 이미지와 연계로 저장할 수 있다. 예를 들면, 이미지 파일(541)은 상기 이미지를 획득하는 과정에서 획득된 연관 정보(예: 출처 정보(542), 장면 정보(543), 위치 정보(544), OCR 정보(545), 카테고리 정보(546), 및 관련 앱 정보(547) 뿐 아니라 상기 선택된 멀티미디어 콘텐트에 대한 정보(820)를 포함할 수 있다. 다양한 실시예들에서, 멀티미디어 콘텐트에 대한 정보(820)는 출처 정보(542), 장면 정보(543), 위치 정보(544), OCR 정보(545), 카테고리 정보(546), 및 관련 앱 정보(547)와 함께 이미지 파일(541) 내의 메타 데이터에 포함될 수 있다. 다양한 실시예들에서, 멀티미디어 콘텐트에 대한 정보(820)는 상기 멀티미디어 콘텐트를 검색하기 위해 이용된 웹페이지의 링크에 대한 데이터 또는 상기 멀티미디어 콘텐트를 검색하는 동안 표시되었던 화면의 이미지에 대한 데이터 중 적어도 하나를 포함할 수 있다. 하지만, 이에 제한되지 않는다.
다른 예를 들면, 프로세서(120)는, 도 5e와 같이, 독립적인 파일에 상기 선택된 멀티미디어 콘텐트에 대한 정보를 삽입하고 연계 파일(550)에 상기 선택된 멀티미디어 콘텐트에 대한 정보가 삽입된 상기 파일과 다른 파일들(other files) 사이의 관계에 대한 정보를 저장함으로써, 상기 적어도 하나의 멀티미디어 콘텐트를 상기 이미지와 연계로 저장할 수도 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치(101)는 가상 키보드를 이용하여 이미지 기반 검색 서비스를 제공한 결과에 대한 데이터(즉, 상기 선택된 멀티미디어 콘텐트에 대한 데이터)를 상기 이미지 기반 검색 서비스의 제공을 위해 이용된 이미지와 연계로 저장함으로써, 사용자 특정(user-specific) 서비스를 제공할 수 있다.
도 9a는 다양한 실시예들에 따른 전자 장치의 동작의 또 다른 예를 도시한다. 이러한 동작은, 도 1에 도시된 전자 장치(101), 도 2b에 도시된 전자 장치(101), 또는 전자 장치(101)의 프로세서(120)에 의해 수행될 수 있다.
도 9b는 다양한 실시예들에 따라 가상 키보드와 함께 제공되는 어플리케이션의 종류에 따라 서로 다른 썸네일 이미지를 제공하는 전자 장치의 화면의 예를 도시한다.
도 9a를 참조하면, 동작 905에서, 프로세서(120)는 전자 장치(101)에 저장된 제1 어플리케이션 및 제2 어플리케이션 중 제1 어플리케이션을 실행함을 식별할 수 있다. 다양한 실시예들에서, 상기 제1 어플리케이션은, 상기 제2 어플리케이션에 의해 제공되는 서비스와 구별되는 다른 서비스를 제공하는 어플리케이션일 수 있다.
동작 910에서, 프로세서(120)는, 상기 제1 어플리케이션을 실행하는 것에 응답하여, 상기 제1 어플리케이션의 제1 사용자 인터페이스를 표시 장치(160) 상에서 표시할 수 있다.
동작 915에서, 프로세서(120)는, 상기 제1 사용자 인터페이스와 함께 가상 키보드를 표시하기 위한 이벤트를 검출할 수 있다. 상기 가상 키보드는 이미지 기반 검색 서비스를 제공하기 위한 지정된 객체를 포함할 수 있다.
동작 920에서, 프로세서(120)는, 상기 이벤트의 검출에 응답하여, 상기 제1 사용자 인터페이스와 함께 상기 가상 키보드를 표시할 수 있다. 동작 925에서, 프로세서(120)는, 상기 제1 사용자 인터페이스와 함께 상기 가상 키보드를 표시하는 동안, 상기 지정된 객체에 대한 입력을 수신할 수 있다. 동작 930에서, 프로세서(120)는 상기 입력을 수신하는 것에 응답하여, 전자 장치(101)에 저장된 복수의 이미지들 중 제1 이미지를 보여주기 위한 제1 썸네일 이미지를 상기 제1 사용자 인터페이스와 함께 표시할 수 있다. 상기 제1 이미지는, 상기 복수의 이미지들 중 상기 제1 어플리케이션에 의해 제공되는 서비스와 관련된 이미지일 수 있다.
동작 935에서, 프로세서(120)는, 상기 제1 썸네일 이미지에 대한 적어도 하나의 입력을 수신할 수 있다. 동작 940에서, 프로세서(120)는, 상기 제1 썸네일 이미지에 대한 적어도 하나의 입력을 수신하는 것에 응답하여, 상기 제1 사용자 인터페이스 안에서 상기 제1 이미지에 적어도 기반하여 검색된 콘텐트를 제공할 수 있다. 다양한 실시예들에서, 상기 콘텐트는 상기 제1 이미지와 연계로 저장된 콘텐트일 수 있다.
이와 달리, 동작 945에서, 프로세서(120)는, 상기 제2 어플리케이션을 실행하는 것에 응답하여, 상기 제2 어플리케이션의 제2 사용자 인터페이스를 표시 장치(160) 상에서 표시할 수 있다.
동작 950에서, 프로세서(120)는, 상기 제2 사용자 인터페이스와 함께 상기 가상 키보드를 표시하기 위한 이벤트를 검출할 수 있다. 동작 955에서, 프로세서(120)는, 상기 이벤트의 상기 검출에 응답하여 상기 제2 사용자 인터페이스와 함께 상기 가상 키보드를 표시할 수 있다. 동작 960에서, 프로세서(120)는, 상기 제2 사용자 인터페이스와 함께 상기 가상 키보드를 표시하는 동안 상기 가상 키보드에 포함된 상기 지정된 객체에 대한 입력을 수신할 수 있다.
동작 965에서, 프로세서(120)는, 상기 입력을 수신하는 것에 응답하여, 상기 복수의 이미지들 중 제2 이미지를 보여주기 위한 제2 썸네일 이미지를 상기 제2 사용자 인터페이스와 함께 표시할 수 있다. 상기 제2 이미지는, 상기 복수의 이미지들 중 상기 제2 어플리케이션에 의해 제공되는 서비스와 관련된 이미지일 수 있다. 상기 제2 이미지는, 상기 제1 이미지와 구별되는 이미지일 수 있다.
예를 들어, 도 9b를 참조하면, 프로세서(120)는, 상기 제1 어플리케이션과 함께 표시된 가상 키보드에 포함된 상기 지정된 객체에 대한 입력을 수신하는 것에 응답하여, 상기 제1 어플리케이션의 사용자 인터페이스(980)와 함께 적어도 하나의 제1 썸네일 이미지(985)를 제공할 수 있다. 상기 제1 어플리케이션은, 쇼핑 서비스를 제공하는 어플리케이션이기 때문에, 적어도 하나의 제1 썸네일 이미지(985)는 전자 장치(101)에 저장된 복수의 이미지들 중에서 구매 가능한 아이템과 관련된 이미지를 보여줄 수 있다. 상기 제1 어플리케이션의 사용자 인터페이스(980) 안에서 상기 가상 키보드를 이용하여 상기 이미지 기반 검색 서비스를 제공하는 경우와 달리, 프로세서(120)는, 상기 제2 어플리케이션과 함께 표시된 상기 가상 키보드에 포함된 상기 지정된 객체에 대한 입력을 수신하는 것에 응답하여, 상기 제2 어플리케이션의 사용자 인터페이스(990)와 함께 적어도 하나의 제2 썸네일 이미지(995)를 제공할 수 있다. 상기 제2 어플리케이션은, 상기 제1 어플리케이션과 달리, 음악 서비스를 제공하는 어플리케이션이기 때문에, 적어도 하나의 제2 썸네일 이미지(995)는 적어도 하나의 제1 썸네일 이미지(9985)와 달리, 전자 장치(101)에 저장된 복수의 이미지들 중에서 음악과 관련된 이미지를 보여줄 수 있다. 다시 말해, 다양한 실시예들에 따른 프로세서(120)는, 상기 가상 키보드에 포함된 상기 지정된 객체에 대한 입력을 수신하는 타이밍에서 상기 가상 키보드와 함께 표시된 사용자 인터페이스를 제공하는 어플리케이션의 유형에 따라 서로 다른 이미지를 이미지 기반 검색 서비스를 위한 이미지로 추천할 수 있다.
동작 970에서, 프로세서(120)는, 상기 제2 썸네일 이미지에 대한 적어도 하나의 입력을 수신할 수 있다. 동작 975에서, 프로세서(120)는, 상기 제2 썸네일 이미지에 대한 상기 적어도 하나의 입력을 수신하는 것에 응답하여, 상기 제2 사용자 인터페이스 안에서 상기 제2 이미지에 적어도 기반하여 검색된 다른 콘텐트를 제공할 수 있다. 상기 다른 콘텐트는, 상기 콘텐트와 구별될 수 있다. 상기 다른 콘텐트는, 상기 제1 이미지와 구별되는 상기 제2 이미지와 연계로 저장된 콘텐트일 수 있다.
도 9a는, 어플리케이션이 변경되는 경우, 이미지 기반 검색 서비스를 위해 추천되는 이미지가 변경되는 예를 도시하고 있으나, 이는 설명을 위한 것이다. 다양한 실시예들에 따른 전자 장치(101)는, 하나의(one) 어플리케이션에서 복수의 서비스들을 제공할 수 있는 경우, 제공 중인 서비스의 유형에 따라 추천되는 이미지를 변경할 수 있다. 예를 들어, 프로세서(120)는, 실행 중인 제1 어플리케이션을 통해 제1 서비스를 제공하고 있는 경우, 가상 키보드에 포함된 지정된 객체에 대한 입력을 수신하는 것에 응답하여, 제1 이미지를 보여주기 위한 제1 썸네일 이미지를 표시하고, 실행 중인 상기 제1 어플리케이션을 통해 제2 서비스를 제공하고 있는 경우, 가상 키보드에 포함된 지정된 객체에 대한 입력을 수신하는 것에 응답하여, 상기 제1 이미지와 구별되는 제2 이미지를 보여주기 위한 제2 썸네일 이미지를 표시할 수 있다. 하지만, 이에 제한되지 않는다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치(101)는, 어플리케이션의 유형에 따라, 서로 다른 이미지를 이미지 기반 검색 서비스를 위해 추천할 수 있다. 다양한 실시예들에 따른 전자 장치(101)는, 이러한 추천을 통해 강화된 사용자 경험을 제공할 수 있다.
도 10a는 다양한 실시예들에 따라 복수의 키들과 함께 지정된 객체를 표시하는 전자 장치의 동작의 예를 도시한다. 이러한 동작은, 도 1에 도시된 전자 장치(101), 도 2b에 도시된 전자 장치(101), 또는 전자 장치(101)의 프로세서(120)에 의해 수행될 수 있다. 도 10a의 동작 1005 및 1010은 도 3b의 동작 355와 관련될 수 있다.
도 10b는 다양한 실시예들에 따른 시각적 키보드(visual keyboard) 기능을 설정하는 방법의 예를 도시한다.
도 10a를 참조하면, 동작 1005에서, 프로세서(120)는, 실행 중인 어플리케이션의 사용자 인터페이스에 포함된 텍스트 입력 부분에 대한 입력을 식별하는 것에 응답하여, 가상 키보드의 설정에 기반하여 지정된 객체를 활성화할 것을 식별할 수 있다. 예를 들어, 도 10b를 참조하면, 전자 장치(101)는 설정들(settings) 중 하나로 시각적 키보드 기능의 활성화 여부를 결정하는 설정(1020)을 구비할 수 있다. 다양한 실시예들에서, 상기 시각적 키보드 기능은, 상기 이미지 기반 검색 서비스를 제공하는 기능을 상기 가상 키보드를 통해 제공하는 것을 의미할 수 있다. 다양한 실시예들에서, 상기 시각적 키보드는, 활성화된 지정된 객체를 포함하는 상기 가상 키보드를 제공하는 것을 의미할 수 있다. 다양한 실시예들에서, 설정(1020)은, 시각적 키보드 기능의 활성화 여부를 결정할 수 있는 아이템(1025)을 포함할 수 있다. 프로세서(120)는, 아이템(1025)에 의해 상기 시각적 키보드 기능이 활성화됨을 식별하는 것에 기반하여, 상기 지정된 객체를 활성화할 것을 식별할 수 있다.
동작 1010에서, 프로세서(120)는 상기 사용자 인터페이스와 일부 중첩된 상기 가상 키보드의 상기 표시 영역 안에서 상기 복수의 키들과 함께 상기 활성화된 상기 지정된 객체를 표시할 수 있다.
도 10a 및 도 10b에 도시하지 않았으나, 프로세서(120)는, 아이템(1025)에 의해 상기 시각적 키보드 기능이 비활성화됨을 식별하는 것에 기반하여, 상기 지정된 객체를 상기 가상 키보드로부터 제외하거나, 상기 지정된 객체를 비활성 상태로 상기 가상 키보드 내에서 표시할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치(101)는, 사용자 선택에 기반하여, 가상 키보드를 이용하여 상기 이미지 기반 검색 서비스를 제공할지 여부를 설정할 수 있다.
상술한 바와 같은, 다양한 실시예들에 따른 전자 장치(예: 전자 장치(101))를 동작하기 위한 방법은, 상기 전자 장치에서 실행 중인 어플리케이션에 대한 사용자 입력을 수신할 수 있는 입력기를 표시하는 동작과, 상기 표시에 적어도 기반하여, 상기 전자 장치에 저장된 하나 이상의 이미지들을 확인하는 동작과, 상기 하나 이상의 이미지들 중 적어도 일부 이미지를 상기 입력기와 연관하여 표시하는 동작과, 상기 적어도 일부 이미지 중 지정된 입력에 따라 선택된 이미지에 포함된 콘텐트의 적어도 일부가 인식된 인식 정보 획득하는 동작과, 상기 획득에 적어도 기반하여, 상기 인식 정보에 대응하는 문자 정보를 획득하는 동작과, 상기 입력기를 통해 상기 문자 정보를 상기 사용자 입력의 적어도 일부로서, 상기 어플리케이션에 제공하는 동작을 포함할 수 있다.
다양한 실시예들에서, 상기 적어도 일부 이미지를 결정하는 동작은, 상기 전자 장치와 관련된 상황 정보를 획득하는 동작과, 상기 상황 정보에 적어도 기반하여 상기 하나 이상의 이미지들 중 상기 적어도 일부 이미지를 결정하는 동작을 포함활 수 있다. 일부 실시예들에서, 상기 방법은, 상기 입력기를 통해 상기 어플리케이션에 제공된 다른 문자 정보를 확인하는 동작과, 상기 다른 문자 정보를 상기 선택된 이미지의 속성 정보의 적어도 일부로서 저장하는 동작을 더 포함할 수 있다.
다양한 실시예들에서, 상기 방법은, 상기 선택된 이미지에 대한 메타 데이터에 상기 다른 문자 정보를 포함함으로써 상기 다른 문자 정보를 상기 선택된 이미지의 상기 속성 정보의 적어도 일부로서 저장하는 동작을 더 포함할 수 있다.
다양한 실시예들에서, 상기 방법은, 상기 어플리케이션을 통해 상기 문자 정보를 이용하여 처리된 결과 정보를 획득하고, 상기 결과 정보를 상기 선택된 이미지의 속성 정보의 적어도 일부로서 저장하는 동작을 더 포함할 수 있다.
다양한 실시예들에서, 상기 방법은, 상기 적어도 일부 이미지 중 상기 지정된 입력에 따라 선택된 상기 이미지에 대한 정보를 서버에게 송신하는 동작과, 상기 서버로부터 상기 이미지에 포함된 상기 콘텐트에 대한 상기 인식 정보를 획득하는 동작을 더 포함할 수 있다.
다양한 실시예들에서, 상기 적어도 일부 이미지를 상기 입력기와 연관하여 표시하는 동작은, 상기 전자 장치에서 실행 중인 상기 어플리케이션의 사용자 인터페이스에 일부 중첩되고(partially superimposed on), 복수의 문자(character)들을 나타내는 복수의 키(key)들을 포함하는 상기 입력기를 표시하는 동작과, 상기 입력기 안에서 상기 복수의 키들로부터 전환된 상기 적어도 일부 이미지를 표시함으로써, 상기 적어도 일부 이미지를 상기 입력기와 연관하여 표시하는 동작을 포함할 수 있다.
상술한 바와 같은 다양한 실시예들에 따른 전자 장치(예: 전자 장치(101))를 동작하기 위한 방법은, 어플리케이션의 사용자 인터페이스를 표시하는 동작과, 상기 사용자 인터페이스에 포함된 텍스트 입력 부분에 대한 입력을 식별하는 것에 응답하여, 상기 사용자 인터페이스와 일부 중첩된 가상 키보드(virtual keyboard)의 표시 영역 안에서(within) 지정된(designated) 객체와 복수의 문자들을 나타내는 복수의 키들을 표시하는 동작과, 상기 지정된 객체에 대한 입력을 식별하는 것에 적어도 기반하여, 상기 전자 장치에 저장된 복수의 이미지들 중 상기 어플리케이션과 관련된 하나 이상의 이미지들을 식별하는 동작과, 상기 하나 이상의 이미지들을 각각 보여주기(represent) 위한 하나 이상의 썸네일 이미지(thumbnail image)들을 상기 가상 키보드의 상기 표시 영역 안에서 표시하는 동작을 포함할 수 있고, 상기 하나 이상의 썸네일 이미지들은, 상기 하나 이상의 이미지들을 이용하여 상기 사용자 인터페이스 안에서 검색 서비스를 제공하기 위해 이용 가능할(usable) 수 있다.
다양한 실시예들에서, 상기 방법은, 상기 명령어들을 실행할 시, 상기 하나 이상의 썸네일 이미지들 중 하나의(a) 썸네일 이미지를 선택하기 위한 입력을 식별하는 동작과, 상기 선택된 썸네일 이미지에 의해 보여지는 이미지를 인식함으로써 획득된 적어도 하나의 텍스트를 상기 하나 이상의 썸네일 이미지들과 함께 표시하는 동작과, 상기 적어도 하나의 텍스트 중 하나의(a) 텍스트를 선택하기 위한 입력을 식별하는 것에 응답하여, 상기 텍스트 입력 부분 안에서 상기 선택된 텍스트를 표시하는 동작과, 상기 사용자 인터페이스 안에서 상기 선택된 텍스트와 관련된 적어도 하나의 멀티미디어 콘텐트를 표시하는 동작을 더 포함할 수 있다. 예를 들면, 상기 방법은 상기 적어도 하나의 멀티미디어 콘텐트 중 하나의(a) 멀티미디어 콘텐트를 선택하기 위한 입력을 식별하는 것에 응답하여, 상기 선택된 멀티미디어 콘텐트와 관련된 기능을 상기 사용자 인터페이스를 통해 제공하는 동작과, 상기 선택된 멀티미디어 콘텐트 또는 상기 선택된 텍스트 중 적어도 하나를 상기 썸네일 이미지에 의해 보여지는 상기 이미지와의 연계로(as associated with) 저장하는 동작을 더 포함할 수 있다.
다양한 실시예들에서, 상기 하나 이상의 이미지들을 식별하는 동작은, 상기 복수의 이미지들 중 상기 어플리케이션에 의해 제공되는 하나 이상의 서비스들과 연관된 하나 이상의 이미지들을 식별함으로써 상기 어플리케이션과 관련된 상기 하나 이상의 이미지들을 식별하는 동작을 포함할 수 있다. 예를 들면, 상기 하나 이상의 이미지들을 식별하는 동작은, 상기 지정된 객체에 대한 상기 입력을 식별하는 것에 응답하여, 상기 전자 장치에 저장되고 상기 복수의 이미지들과 각각 연계된 정보에 기반하여 상기 복수의 이미지들 중 상기 어플리케이션에 의해 제공되는 상기 하나 이상의 서비스들과 연관된 상기 하나 이상의 이미지들을 식별하는 동작을 포함할 수 있고, 상기 복수의 이미지들과 각각 연계된 상기 정보는, 상기 복수의 이미지들 각각의 콘텐트(content)를 인식함으로써 획득된 데이터, 상기 복수의 이미지들 각각을 획득한 소스(source)에 대한 데이터, 또는 상기 복수의 이미지들 각각을 획득하기 위해 이용된 상기 전자 장치에 저장된 어플리케이션에 대한 데이터 중 적어도 하나를 포함할 수 있고, 상기 복수의 이미지들 각각을 획득하는 것에 응답하여, 상기 복수의 이미지들 각각과의 연계로(as associated with) 상기 전자 장치에 저장될 수 있다. 예를 들면, 상기 복수의 이미지들과 각각 연계된 상기 정보는, 상기 복수의 이미지들 각각 내에 포함될 수 있다. 다른 예를 들면, 상기 복수의 이미지들과 각각 연계된 상기 정보는, 상기 복수의 이미지들 각각에 대한 이미지 파일과 구별되는 다른 파일로 구성될 수 있고(configured with), 상기 이미지 파일과 상기 다른 파일은, 하나의(a) 데이터 세트(data set)로 구성될(configured with) 수 있다.
다양한 실시예들에서, 상기 소스에 대한 데이터는, 상기 복수의 이미지들 각각을 획득한 타이밍에 기반하여 식별되는 시간 구간 동안 상기 전자 장치에 의해 접속된 적어도 하나의 웹페이지(webpage)에 대한 데이터를 포함할 수 있고, 상기 하나 이상의 이미지들을 식별하는 동작은, 상기 적어도 하나의 웹페이지에 대한 상기 데이터에 기반하여 상기 복수의 이미지들 중 상기 어플리케이션에 의해 제공되는 상기 하나 이상의 서비스들과 연관된 상기 하나 이상의 이미지들을 식별하는 동작을 포함할 수 있다. 예를 들면, 상기 적어도 하나의 웹페이지에 대한 상기 데이터는, 상기 적어도 하나의 웹페이지에 대한 마크 업 언어 파일(mark-up language file)을 파싱함(parse)으로써 획득될 수 있다.
상술한 바와 같은 다양한 실시예들에 따른 전자 장치(예: 전자 장치(101))를 동작하기 위한 방법은, 상기 전자 장치에 저장된 제1 어플리케이션의 제1 사용자 인터페이스와 함께 가상 키보드를 표시하는 동안 상기 가상 키보드 내에 포함된 지정된 객체에 대한 입력을 수신하는 것에 기반하여, 상기 전자 장치에 저장된 복수의 이미지들 중 제1 이미지를 보여주기 위한 제1 썸네일 이미지를 상기 제1 사용자 인터페이스와 함께 표시하고, 상기 제1 썸네일 이미지에 대한 적어도 하나의 입력을 수신하는 것에 기반하여 상기 제1 사용자 인터페이스 안에서 상기 제1 이미지에 적어도 기반하여 검색된 콘텐트를 제공하는 동작과, 상기 전자 장치에 저장되고 상기 제1 어플리케이션과 구별되는 제2 어플리케이션의 제2 사용자 인터페이스와 함께 상기 가상 키보드를 표시하는 동안 상기 가상 키보드 내에 포함된 상기 지정된 객체에 대한 상기 입력을 수신하는 것에 기반하여, 상기 복수의 이미지들 중 상기 제1 이미지와 구별되는(distinct from) 제2 이미지를 보여주기 위한 제2 썸네일 이미지를 상기 제2 사용자 인터페이스와 함께 표시하고, 상기 제2 썸네일 이미지에 대한 적어도 하나의 입력을 수신하는 것에 기반하여 상기 제2 사용자 인터페이스 안에서 상기 제2 이미지에 적어도 기반하여 검색된 상기 콘텐트와 구별되는 다른(another) 콘텐트를 제공하는 동작을 포함할 수 있다.
다양한 실시예들에서, 상기 제2 어플리케이션은, 상기 제1 어플리케이션에 의해 제공되는 서비스와 구별되는 다른 서비스를 제공할 수 있고, 상기 제1 이미지는, 상기 제1 어플리케이션에 의해 제공되는 상기 서비스와 관련될 수 있고, 상기 제2 이미지는, 상기 제2 어플리케이션에 의해 제공되는 상기 서비스와 관련될 수 있다.
다양한 실시예들에서, 상기 콘텐트는, 상기 제1 이미지와 연계로(as associated with) 저장될 수 있고, 상기 다른 콘텐트는, 상기 제2 이미지와 연계로 저장될 수 있다.
다양한 실시예들에서, 상기 방법은, 상기 명령어들을 실행할 시, 상기 제1 썸네일 이미지를 표시하는 동안 상기 가상 키보드에 포함된 복수의 키들을 표시하는 것을 중단하는 동작과, 상기 제2 썸네일 이미지를 표시하는 동안 상기 복수의 키들을 표시하는 것을 중단하는 동작을 더 포함할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: read only memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: electrically erasable programmable read only memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: compact disc-ROM), 디지털 다목적 디스크(DVDs: digital versatile discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 상기 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(local area network), WLAN(wide LAN), 또는 SAN(storage area network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 전자 장치(electronic device)에 있어서,
    메모리;
    디스플레이; 및
    프로세서를 포함하고, 상기 프로세서는,
    상기 디스플레이를 이용하여, 상기 전자 장치에서 실행 중인 어플리케이션에 대한 사용자 입력을 수신할 수 있는 입력기를 표시하고,
    상기 표시에 적어도 기반하여, 상기 메모리 또는 외부 전자 장치에 저장된 하나 이상의 이미지들을 확인하고,
    상기 하나 이상의 이미지들 중 적어도 일부 이미지를 상기 입력기와 연관하여 표시하고,
    상기 적어도 일부 이미지 중 지정된 입력에 따라 선택된 이미지에 포함된 콘텐트의 적어도 일부가 인식된 인식 정보를 획득하고,
    상기 획득에 적어도 기반하여, 상기 인식 정보에 대응하는 문자 정보를 획득하고, 및
    상기 입력기를 통해 상기 문자 정보를 상기 사용자 입력의 적어도 일부로서, 상기 어플리케이션에 제공하도록 설정된 전자 장치.
  2. 청구항 1에 있어서, 상기 프로세서는,
    상기 전자 장치와 관련된 상황 정보를 획득하고,
    상기 상황 정보에 적어도 기반하여 상기 하나 이상의 이미지들 중 상기 적어도 일부 이미지를 결정하도록 설정된 전자 장치.
  3. 청구항 1에 있어서, 상기 프로세서는,
    상기 입력기를 통해 상기 어플리케이션에 제공된 다른 문자 정보를 확인하고,
    상기 다른 문자 정보를 상기 선택된 이미지의 속성 정보의 적어도 일부로서 저장하도록 설정된 전자 장치.
  4. 청구항 3에 있어서, 상기 프로세서는,
    상기 선택된 이미지에 대한 메타 데이터에 상기 다른 문자 정보를 포함함으로써 상기 다른 문자 정보를 상기 선택된 이미지의 상기 속성 정보의 적어도 일부로서 저장하도록 설정된 전자 장치.
  5. 청구항 1에 있어서, 상기 프로세서는,
    상기 어플리케이션을 통해 상기 문자 정보를 이용하여 처리된 결과 정보를 획득하고,
    상기 결과 정보를 상기 선택된 이미지의 속성 정보의 적어도 일부로서 저장하도록 설정된 전자 장치.
  6. 청구항 1에 있어서, 상기 프로세서는,
    상기 적어도 일부 이미지를 서버에게 송신하고,
    상기 서버로부터 상기 적어도 일부 이미지에 포함된 하나 이상의 콘텐트에 대응하는 하나 이상의 인식 정보를 수신하고,
    수신된 상기 하나 이상의 인식 정보에 기반하여, 상기 지정된 입력에 따라 선택된 상기 이미지에 포함된 상기 콘텐트에 대한 상기 인식 정보 획득하도록 설정된 전자 장치.
  7. 청구항 1에 있어서, 상기 문자 정보는,
    실행 중인 상기 어플리케이션에 의해 제공되는 서비스의 유형에 따라 변경되는 전자 장치.
  8. 전자 장치(electronic device)에 있어서,
    명령어들을 저장하는 메모리;
    디스플레이; 및
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시,
    어플리케이션의 사용자 인터페이스를 표시하고,
    상기 사용자 인터페이스에 포함된 텍스트 입력 부분에 대한 입력을 식별하는 것에 응답하여, 상기 사용자 인터페이스와 일부 중첩된 가상 키보드(virtual keyboard)의 표시 영역 안에서(within) 지정된(designated) 객체와 복수의 문자들을 나타내는 복수의 키들을 표시하고,
    상기 지정된 객체에 대한 입력을 식별하는 것에 적어도 기반하여, 상기 전자 장치에 저장된 복수의 이미지들 중 상기 어플리케이션과 관련된 하나 이상의 이미지들을 식별하고,
    상기 하나 이상의 이미지들을 각각 보여주기(represent) 위한 하나 이상의 썸네일 이미지(thumbnail image)들을 상기 가상 키보드의 상기 표시 영역 안에서 표시하도록 설정되고,
    상기 하나 이상의 썸네일 이미지들은,
    상기 하나 이상의 이미지들을 이용하여 상기 사용자 인터페이스 안에서 검색 서비스를 제공하기 위해 이용 가능한(usable) 전자 장치.
  9. 청구항 8에 있어서, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시,
    상기 하나 이상의 썸네일 이미지들 중 하나의(a) 썸네일 이미지를 선택하기 위한 입력을 식별하고,
    상기 선택된 썸네일 이미지에 의해 보여지는 이미지를 인식함으로써 획득된 적어도 하나의 텍스트를 상기 하나 이상의 썸네일 이미지들과 함께 표시하고,
    상기 적어도 하나의 텍스트 중 하나의(a) 텍스트를 선택하기 위한 입력을 식별하는 것에 응답하여, 상기 텍스트 입력 부분 안에서 상기 선택된 텍스트를 표시하고, 상기 사용자 인터페이스 안에서 상기 선택된 텍스트와 관련된 적어도 하나의 멀티미디어 콘텐트를 표시하도록 더 설정된 전자 장치.
  10. 청구항 9에 있어서, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시,
    상기 적어도 하나의 멀티미디어 콘텐트 중 하나의(a) 멀티미디어 콘텐트를 선택하기 위한 입력을 식별하는 것에 응답하여, 상기 선택된 멀티미디어 콘텐트와 관련된 기능을 상기 사용자 인터페이스를 통해 제공하고,
    상기 선택된 멀티미디어 콘텐트 또는 상기 선택된 텍스트 중 적어도 하나를 상기 썸네일 이미지에 의해 보여지는 상기 이미지와의 연계로(as associated with) 저장하도록 설정된 전자 장치.
  11. 청구항 8에 있어서, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시,
    상기 복수의 이미지들 중 상기 어플리케이션에 의해 제공되는 하나 이상의 서비스들과 연관된 하나 이상의 이미지들을 식별함으로써 상기 어플리케이션과 관련된 상기 하나 이상의 이미지들을 식별하도록 설정된 전자 장치.
  12. 청구항 11에 있어서, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시,
    상기 지정된 객체에 대한 상기 입력을 식별하는 것에 응답하여, 상기 전자 장치에 저장되고 상기 복수의 이미지들과 각각 연계된 정보에 기반하여 상기 복수의 이미지들 중 상기 어플리케이션에 의해 제공되는 상기 하나 이상의 서비스들과 연관된 상기 하나 이상의 이미지들을 식별하고,
    상기 복수의 이미지들과 각각 연계된 상기 정보는,
    상기 복수의 이미지들 각각의 콘텐트(content)를 인식함으로써 획득된 데이터, 상기 복수의 이미지들 각각을 획득한 소스(source)에 대한 데이터, 또는 상기 복수의 이미지들 각각을 획득하기 위해 이용된 상기 전자 장치에 저장된 어플리케이션에 대한 데이터 중 적어도 하나를 포함하고,
    상기 복수의 이미지들 각각을 획득하는 것에 응답하여, 상기 복수의 이미지들 각각과의 연계로(as associated with) 상기 전자 장치에 저장되는 전자 장치.
  13. 청구항 12에 있어서, 상기 복수의 이미지들과 각각 연계된 상기 정보는,
    상기 복수의 이미지들 각각 내에 포함되는 전자 장치.
  14. 청구항 12에 있어서, 상기 복수의 이미지들과 각각 연계된 상기 정보는,
    상기 복수의 이미지들 각각에 대한 이미지 파일과 구별되는 다른 파일로 구성되고(configured with),
    상기 이미지 파일과 상기 다른 파일은,
    하나의(a) 데이터 세트(data set)로 구성되는(configured with) 전자 장치.
  15. 청구항 12에 있어서, 상기 소스에 대한 데이터는,
    상기 복수의 이미지들 각각을 획득한 타이밍에 기반하여 식별되는 시간 구간 동안 상기 전자 장치에 의해 접속된 적어도 하나의 웹페이지(webpage)에 대한 데이터를 포함하고,
    상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시,
    상기 적어도 하나의 웹페이지에 대한 상기 데이터에 기반하여 상기 복수의 이미지들 중 상기 어플리케이션에 의해 제공되는 상기 하나 이상의 서비스들과 연관된 상기 하나 이상의 이미지들을 식별하도록 설정된 전자 장치.
  16. 청구항 15에 있어서, 상기 적어도 하나의 웹페이지에 대한 상기 데이터는,
    상기 적어도 하나의 웹페이지에 대한 마크 업 언어 파일(mark-up language file)을 파싱함(parse)으로써 획득되는 전자 장치.
  17. 전자 장치(electronic device)에 있어서,
    명령어들을 저장하는 메모리;
    디스플레이; 및
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시,
    제1 어플리케이션의 제1 사용자 인터페이스와 함께 가상 키보드를 표시하는 적어도 일부 동안 상기 가상 키보드 내에 포함된 지정된 객체에 대한 입력을 수신하는 것에 기반하여, 상기 전자 장치에 저장된 복수의 이미지들 중 제1 이미지를 보여주기 위한 제1 썸네일 이미지를 상기 제1 사용자 인터페이스와 함께 표시하고, 상기 제1 썸네일 이미지에 대한 적어도 하나의 입력을 수신하는 것에 기반하여 상기 제1 사용자 인터페이스 안에서 상기 제1 이미지에 적어도 기반하여 검색된 콘텐트를 제공하고,
    상기 제1 어플리케이션과 구별되는 제2 어플리케이션의 제2 사용자 인터페이스와 함께 상기 가상 키보드를 표시하는 적어도 일부 동안 상기 가상 키보드 내에 포함된 상기 지정된 객체에 대한 상기 입력을 수신하는 것에 기반하여, 상기 복수의 이미지들 중 상기 제1 이미지와 구별되는(distinct from) 제2 이미지를 보여주기 위한 제2 썸네일 이미지를 상기 제2 사용자 인터페이스와 함께 표시하고, 상기 제2 썸네일 이미지에 대한 적어도 하나의 입력을 수신하는 것에 기반하여 상기 제2 사용자 인터페이스 안에서 상기 제2 이미지에 적어도 기반하여 검색된 상기 콘텐트와 구별되는 다른(another) 콘텐트를 제공하도록 설정된 전자 장치.
  18. 청구항 17에 있어서, 상기 제2 어플리케이션은,
    상기 제1 어플리케이션에 의해 제공되는 서비스와 구별되는 다른 서비스를 제공하고,
    상기 제1 이미지는,
    상기 제1 어플리케이션에 의해 제공되는 상기 서비스와 관련되고,
    상기 제2 이미지는,
    상기 제2 어플리케이션에 의해 제공되는 상기 서비스와 관련되는 전자 장치.
  19. 청구항 17에 있어서, 상기 콘텐트는,
    상기 제1 이미지와 연계로(as associated with) 저장되고,
    상기 다른 콘텐트는,
    상기 제2 이미지와 연계로 저장되는 전자 장치.
  20. 청구항 17에 있어서, 상기 적어도 하나의 프로세서는, 상기 명령어들을 실행할 시,
    상기 제1 썸네일 이미지를 표시하는 동안 상기 가상 키보드에 포함된 복수의 키들을 표시하는 것을 중단하고,
    상기 제2 썸네일 이미지를 표시하는 동안 상기 복수의 키들을 표시하는 것을 중단하도록 더 설정된 전자 장치.

KR1020180064892A 2018-06-05 2018-06-05 입력기를 통해 이미지와 관련된 정보를 어플리케이션에 제공하는 전자 장치 및 방법 KR102625254B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180064892A KR102625254B1 (ko) 2018-06-05 2018-06-05 입력기를 통해 이미지와 관련된 정보를 어플리케이션에 제공하는 전자 장치 및 방법
US16/429,393 US20190369825A1 (en) 2018-06-05 2019-06-03 Electronic device and method for providing information related to image to application through input unit
PCT/KR2019/006659 WO2019235793A1 (en) 2018-06-05 2019-06-03 Electronic device and method for providing information related to image to application through input unit
CN201980037811.XA CN112236767A (zh) 2018-06-05 2019-06-03 用于通过输入单元向应用提供与图像相关的信息的电子装置和方法
EP19816119.2A EP3769234A4 (en) 2018-06-05 2019-06-03 ELECTRONIC DEVICE AND METHOD FOR PROVIDING INFORMATION RELATED TO THE IMAGE FOR USE BY AN INPUT UNIT

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180064892A KR102625254B1 (ko) 2018-06-05 2018-06-05 입력기를 통해 이미지와 관련된 정보를 어플리케이션에 제공하는 전자 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190138436A true KR20190138436A (ko) 2019-12-13
KR102625254B1 KR102625254B1 (ko) 2024-01-16

Family

ID=68692612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180064892A KR102625254B1 (ko) 2018-06-05 2018-06-05 입력기를 통해 이미지와 관련된 정보를 어플리케이션에 제공하는 전자 장치 및 방법

Country Status (5)

Country Link
US (1) US20190369825A1 (ko)
EP (1) EP3769234A4 (ko)
KR (1) KR102625254B1 (ko)
CN (1) CN112236767A (ko)
WO (1) WO2019235793A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220132316A (ko) * 2021-03-23 2022-09-30 주식회사 이알마인드 다국어 입력 가능한 원격 서비스 제공 방법 및 이를 수행하는 서버

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021170230A1 (en) * 2020-02-26 2021-09-02 Huawei Technologies Co., Ltd. Devices and methods for providing images and image capturing based on a text and providing images as a text
USD992592S1 (en) * 2021-01-08 2023-07-18 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD987676S1 (en) * 2021-01-08 2023-05-30 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
USD992593S1 (en) * 2021-01-08 2023-07-18 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
CN113194024B (zh) * 2021-03-22 2023-04-18 维沃移动通信(杭州)有限公司 信息显示方法、装置和电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090034172A (ko) * 2007-10-02 2009-04-07 엘지전자 주식회사 휴대 단말기 및 그 제어 방법
KR20090099228A (ko) * 2008-03-17 2009-09-22 엘지전자 주식회사 휴대 단말기 및 그 제어 방법
US8209396B1 (en) * 2008-12-10 2012-06-26 Howcast Media, Inc. Video player
US20150339391A1 (en) * 2014-05-23 2015-11-26 Samsung Electronics Co., Ltd. Method for searching and device thereof
KR20150135042A (ko) * 2014-05-23 2015-12-02 삼성전자주식회사 검색을 수행하는 방법 및 장치
US20160196350A1 (en) * 2013-09-11 2016-07-07 See-Out Pty Ltd Image searching method and apparatus
US20160350333A1 (en) * 2015-05-29 2016-12-01 Microsoft Technology Licensing, Llc Task-focused search by image
US20180039406A1 (en) * 2016-08-03 2018-02-08 Google Inc. Image search query predictions by a keyboard
US20190258895A1 (en) * 2018-02-20 2019-08-22 Microsoft Technology Licensing, Llc Object detection from image content

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080154869A1 (en) * 2006-12-22 2008-06-26 Leclercq Nicolas J C System and method for constructing a search
US9330180B2 (en) * 2007-10-02 2016-05-03 Microsoft Technology Licensing, Llc Mobile terminal and method of controlling the same
US20120224768A1 (en) * 2011-03-04 2012-09-06 Olive Root, LLC System and method for visual search
KR102072113B1 (ko) * 2012-10-17 2020-02-03 삼성전자주식회사 사용자 단말 장치 및 제어 방법
JP2016502194A (ja) * 2012-11-30 2016-01-21 トムソン ライセンシングThomson Licensing ビデオ検索方法及び装置
KR102158691B1 (ko) * 2014-01-08 2020-09-22 엘지전자 주식회사 이동 단말기 및 그 제어 방법
WO2016013915A1 (ko) * 2014-07-25 2016-01-28 오드컨셉 주식회사 검색 정보를 표시하는 방법, 장치 및 컴퓨터 프로그램
US20170060891A1 (en) * 2015-08-26 2017-03-02 Quixey, Inc. File-Type-Dependent Query System

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090034172A (ko) * 2007-10-02 2009-04-07 엘지전자 주식회사 휴대 단말기 및 그 제어 방법
KR20090099228A (ko) * 2008-03-17 2009-09-22 엘지전자 주식회사 휴대 단말기 및 그 제어 방법
US8209396B1 (en) * 2008-12-10 2012-06-26 Howcast Media, Inc. Video player
US20160196350A1 (en) * 2013-09-11 2016-07-07 See-Out Pty Ltd Image searching method and apparatus
US20150339391A1 (en) * 2014-05-23 2015-11-26 Samsung Electronics Co., Ltd. Method for searching and device thereof
KR20150135042A (ko) * 2014-05-23 2015-12-02 삼성전자주식회사 검색을 수행하는 방법 및 장치
US20160350333A1 (en) * 2015-05-29 2016-12-01 Microsoft Technology Licensing, Llc Task-focused search by image
US20180039406A1 (en) * 2016-08-03 2018-02-08 Google Inc. Image search query predictions by a keyboard
US20190258895A1 (en) * 2018-02-20 2019-08-22 Microsoft Technology Licensing, Llc Object detection from image content

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220132316A (ko) * 2021-03-23 2022-09-30 주식회사 이알마인드 다국어 입력 가능한 원격 서비스 제공 방법 및 이를 수행하는 서버

Also Published As

Publication number Publication date
KR102625254B1 (ko) 2024-01-16
US20190369825A1 (en) 2019-12-05
EP3769234A4 (en) 2021-06-09
EP3769234A1 (en) 2021-01-27
WO2019235793A1 (en) 2019-12-12
CN112236767A (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
KR102625254B1 (ko) 입력기를 통해 이미지와 관련된 정보를 어플리케이션에 제공하는 전자 장치 및 방법
CN107705349B (zh) 用于增强现实感知内容的系统和方法
CN108763582B (zh) 文件搜索方法、装置、终端及存储介质
KR20200067567A (ko) 전자 장치의 상태 정보에 기반하여 동작을 수행하는 전자 장치 및 전자 장치의 동작 방법
KR102457894B1 (ko) 디스플레이에 표시된 텍스트를 번역하는 방법 및 장치
KR20200047162A (ko) 분할된 화면 상에서 실행 가능한 어플리케이션 리스트를 디스플레이하는 전자 장치 및 전자 장치의 동작 방법
US10853024B2 (en) Method for providing information mapped between a plurality of inputs and electronic device for supporting the same
KR102462793B1 (ko) 계정 그룹 기반으로 콘텐츠를 공유하는 방법 및 이를 제공하는 전자 장치
US20210406304A1 (en) Electronic device for generating video comprising character and method thereof
KR20200017263A (ko) 이미지에 포함된 상품 정보와 관련된 키워드를 제공하기위한 전자 장치
US20220382788A1 (en) Electronic device and method for operating content using same
KR102340251B1 (ko) 데이터 관리 방법 및 그 방법을 처리하는 전자 장치
KR102316846B1 (ko) 미디어 컨텐츠를 선별하는 방법 및 이를 구현하는 전자장치
KR102519637B1 (ko) 문자를 입력하기 위한 전자 장치 및 그의 동작 방법
AU2017330785A1 (en) Electronic apparatus and controlling method thereof
US11908489B2 (en) Tap to advance by subtitles
US20200264750A1 (en) Method for displaying visual object regarding contents and electronic device thereof
KR102467041B1 (ko) 전자 장치 및 전자 장치에서 방송 콘텐트와 관련된 서비스 정보 제공 방법
KR102458719B1 (ko) 사용자 입력을 지원하는 전자 장치 및 전자 장치의 제어 방법
KR20170045101A (ko) 콘텐트를 외부 장치와 공유하는 전자 장치 및 이의 콘텐트 공유 방법
KR20210076573A (ko) 태그를 제공하는 방법 및 이를 지원하는 전자 장치
US11188227B2 (en) Electronic device and key input method therefor
KR102629411B1 (ko) 전자 장치 및 그의 사용자 입력에 기반한 서비스 제공 방법
KR102568550B1 (ko) 필기 입력을 이용하여 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
KR102527892B1 (ko) 예측 단어를 제공하기 위한 전자 장치 및 그의 동작 방법

Legal Events

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