KR20160026142A - 스크랩 정보를 제공하는 전자 장치 및 그 제공 방법 - Google Patents

스크랩 정보를 제공하는 전자 장치 및 그 제공 방법 Download PDF

Info

Publication number
KR20160026142A
KR20160026142A KR1020140114104A KR20140114104A KR20160026142A KR 20160026142 A KR20160026142 A KR 20160026142A KR 1020140114104 A KR1020140114104 A KR 1020140114104A KR 20140114104 A KR20140114104 A KR 20140114104A KR 20160026142 A KR20160026142 A KR 20160026142A
Authority
KR
South Korea
Prior art keywords
electronic device
information
text
area
image
Prior art date
Application number
KR1020140114104A
Other languages
English (en)
Other versions
KR102309175B1 (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 KR1020140114104A priority Critical patent/KR102309175B1/ko
Priority to CN201580056392.6A priority patent/CN107077292B/zh
Priority to EP15183014.8A priority patent/EP2990930B1/en
Priority to PCT/KR2015/009078 priority patent/WO2016032288A1/en
Priority to US14/839,071 priority patent/US9922260B2/en
Publication of KR20160026142A publication Critical patent/KR20160026142A/ko
Application granted granted Critical
Publication of KR102309175B1 publication Critical patent/KR102309175B1/ko

Links

Images

Classifications

    • 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
    • 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/04817Interaction 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 using icons
    • 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
    • G06F3/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

전자 장치의 정보 제공 방법이 개시된다. 상기 방법은 사용자 입력에 기초하여 선택 영역을 결정하는 동작, 상기 선택 영역에 포함된 적어도 하나의 오브젝트의 타입에 기반하여 추출 방식을 결정하는 동작, 상기 결정된 추출 방식에 따라 상기 선택 영역으로부터 정보를 추출하는 동작, 및 상기 정보를 기반으로 특정한 기능을 수행하는 동작을 포함할 수 있다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

스크랩 정보를 제공하는 전자 장치 및 그 제공 방법{Scrapped Information Providing Method and Apparatus}
다양한 실시 예들은 전자 장치의 화면 상에 디스플레이 된 콘텐츠 중에서 사용자가 원하는 항목(item) 또는 객체(object)를 선택하고 이를 활용하는 기술과 관련된다.
기존의 스마트폰과 같은 전자 장치는 텍스트와 같은 항목을 선택하는 기능을 지원할 수 있다. 예를 들어, 사용자가 임의의 텍스트를 터치(press)하면 해당 텍스트 또는 해당 텍스트를 포함하는 문자열이 선택할 수 있다. 사용자는 선택 범위를 조절하거나 적절한 편집 메뉴를 선택할 수 있다.
또한 기존의 전자 장치는 이미지와 같은 항목을 선택하는 기능을 지원할 수 있다. 예를 들어, 사용자가 임의의 이미지를 터치하면 해당 이미지가 선택될 수 있다.
그러나 위와 같은 기존의 전자 장치는 선택할 수 있는 텍스트에 제약이 있다. 예를 들어 사용자는 SMS 화면에서 수신된 메시지와 현재 입력하고 있는 메시지를 한번에 선택할 수 없다. 예를 들어, 사용자는 입력 필드에 위치한 텍스트만 선택할 수 있다. 또한 선택된 텍스트에 대해서 전자 장치에서 제공하는 편집 메뉴(예: 잘라내기, 복사, 붙여넣기, 삭제 등)에 해당하는 동작만이 지원된다. 또한 이미지에 포함된 텍스트는 선택할 수 없다.
또한 스크랩 기능은 화면의 일부 또는 화면 전체를 캡쳐하여 저장 및 관리하는 기능으로, 텍스트와 이미지를 모두 선택할 수 있지만 선택 영역으로부터 텍스트를 추출하는 기능을 지원하지 않는다.
다양한 실시 예들은, 전자 장치의 화면 상의 모든 영역에서 자유롭게 원하는 영역을 선택하고, 소정 영역이 선택되면 선택된 영역에 포함된 텍스트와 텍스트가 아닌 항목(예: 이미지, 카메라 프리뷰 등)을 인식하여, 선택 영역에 포함된 모든 형태의 텍스트를 추출하고 분석하여 분석 결과 및 이와 관련된 다양한 동작을 제공할 수 있다.
다양한 실시 예에 따른 전자 장치의 정보 제공 방법은, 사용자 입력에 기초하여 선택 영역을 결정하는 동작, 상기 선택 영역에 포함된 적어도 하나의 오브젝트의 타입에 기반하여 추출 방식을 결정하는 동작, 상기 결정된 추출 방식에 따라 상기 선택 영역으로부터 정보를 추출하는 동작, 및 상기 정보에 기반하여 특정한 기능을 수행하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 전자 장치에 디스플레이 된 콘텐츠의 종류에 따라 다양한 방법으로 정보를 추출하고, 추출된 정보에 따른 결과를 제공받을 수 있다.
또한, 다양한 실시 예에 따른 정보 제공 방법은 현재 실행 중인 어플리케이션의 동작에 영향을 주지 않기 때문에, 실행 중인 어플리케이션의 종류에 따른 제약 없이 디스플레이에 출력된 정보를 활용할 수 있다.
이 외에 명세서를 통해 파악되는 다양한 효과들이 제시된다.
도 1은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 2는 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
도 3은 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
도 4는 다양한 실시 예에 따른 선택 영역을 결정하는 방법을 나타낸다.
도 5는 다양한 실시 예에 따른 오브젝트의 계층 구조를 나타낸다.
도 6은 다양한 실시 예에 따른 선택 영역에 텍스트 추출 방식을 적용하는 프로세스를 나타낸다.
도 7은 다양한 실시 예에 따른 선택 영역에 이미지 분석 방식을 적용하는 프로세스를 나타낸다.
도 8은 다양한 실시 예에 따른 이미지 속성과 텍스트 속성을 갖는 오브젝트를 포함한 웹 페이지의 선택 영역에 대한 추출 결과를 나타낸다.
도 9는 다양한 실시 예에 따른 선택 영역의 분석 결과를 제공하는 방법을 나타낸다.
도 10은 다양한 실시 예에 따른 복수의 선택 영역으로부터 분석 결과를 획득하는 방법을 나타낸다.
도 11은 다양한 실시 예에 따른 분석 결과를 제공하는 방법을 나타낸다.
도 12는 다양한 실시 예에 따른 카메라 프리뷰 상태에서 분석 결과를 제공하는 방법을 나타낸다.
도 13은 다양한 실시 예에 따른 예시적인 UI를 나타낸다.
도 14는 다양한 실시 예에 따른 실시간 분석 결과를 제공하는 실시 예를 나타낸다.
도 15는 다양한 실시 예에 따른 텍스트 추출 및 분석 프로세스를 나타낸다.
도 16은 다양한 실시 예에 따른 전자 장치 1601의 블록도 1600을 나타낸다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(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)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들면, 텔레비전, DVD 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(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) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller’s machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 발명의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치 (예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 1을 참조하여, 다양한 실시 예에서의 네트워크 환경 100 내의 전자 장치 101이 기재된다. 상기 전자 장치 101은 버스 110, 프로세서 120, 메모리 130, 입출력 인터페이스 150, 디스플레이 160, 및 통신 인터페이스 170을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 101은, 상기 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
상기 버스 110은, 예를 들면, 상기 구성요소들 110-170을 서로 연결하고, 상기 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
상기 프로세서 120은, 중앙처리장치(CPU), AP(application processor), 또는 CP(communication processor) 중 하나 또는 그 이상을 포함할 수 있다. 상기 프로세서 120은, 예를 들면, 상기 전자 장치 101의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
상기 프로세서 120은 다양한 기능을 수행하기 위한 모듈로 구성될 수 있다. 예를 들어, 프로세서 120은 전자 장치 101의 전반적인 동작을 제어하고 특정한 기능을 수행하기 위한 제어 모듈을 포함할 수 있다. 또한 예를 들어, 프로세서 120은 사용자에 의해 디스플레이 160 상에서 임의의 사용자 입력이 발생하였을 때, 이 사용자 입력에 기초하여 선택 영역을 결정하기 위한 영역 결정 모듈을 포함할 수 있다. 사용자 입력에 의해 영역이 결정되는 다양한 실시 예에 대해서는 도 4를 참조하여 후술한다.
또한 프로세서 120은 선택 영역으로부터 정보를 추출하고 분석하기 위한 파싱(parsing) 모듈(예: Hermes parsing engine)을 포함할 수 있다. 파싱 모듈은 분석 모듈 또는 추출 모듈 등으로 이해될 수 있다. 또한 프로세서 120은 파싱 모듈에 종속적으로 또는 병렬적으로 광학 문자 인식 모듈, 즉 OCR(Optical Character Recognition) 모듈을 더 포함할 수 있다. 파싱 모듈에 의한 동작은 도 6 및 도 7을 참조하여 후술한다.
상기 메모리 130은, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 상기 메모리 130은, 예를 들면, 상기 전자 장치 101의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 상기 메모리 130은 소프트웨어 및/또는 프로그램 140을 저장할 수 있다. 상기 프로그램 140은, 예를 들면, 커널 141, 미들웨어 143, API(application programming interface) 145, 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 147 등을 포함할 수 있다. 상기 커널 141, 미들웨어 143, 또는 API 145의 적어도 일부는, 운영 시스템(operating system, OS)이라고 불릴 수 있다. 또한 도시하지는 않았지만, 메모리 130은 버퍼(buffer) 메모리를 포함할 수 있다.
상기 커널 141은, 예를 들면, 다른 프로그램들(예: 미들웨어 143, API 145, 또는 어플리케이션 프로그램 147)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스 110, 프로세서 120, 또는 메모리 130 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널 141은 상기 미들웨어 143, 상기 API 145, 또는 상기 어플리케이션 프로그램 147에서 상기 전자 장치 101의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어 143은, 예를 들면, 상기 API 145 또는 상기 어플리케이션 프로그램 147이 상기 커널 141과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어 143은 상기 어플리케이션 프로그램 147로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 어플리케이션 프로그램 147 중 적어도 하나의 어플리케이션에 상기 전자 장치 101의 시스템 리소스 (예: 버스 110, 프로세서 120, 또는 메모리 130 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케줄링 또는 로드 밸런싱)을 수행할 수 있다.
상기 API 145는, 예를 들면, 상기 어플리케이션 147이 상기 커널 141 또는 상기 미들웨어 143에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수 (예: 명령어)를 포함할 수 있다.
상기 입출력 인터페이스 150은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 상기 전자 장치 101의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 상기 입출력 인터페이스 150은 상기 전자 장치 101의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
상기 디스플레이 160은, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems, MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 상기 디스플레이 160은, 예를 들면, 사용자에게 각종 컨텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 상기 디스플레이 160은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스처, 근접, 또는 호버링(hovering) 입력을 수신할 수 있다.
상기 통신 인터페이스 170은, 예를 들면, 상기 전자 장치 101과 외부 장치(예: 제1 외부 전자 장치 102, 제2 외부 전자 장치 104, 또는 서버 106) 간의 통신을 설정할 수 있다. 예를 들면, 상기 통신 인터페이스 170은 무선 통신 또는 유선 통신을 통해서 네트워크 162에 연결되어 상기 외부 장치 (예: 제2 외부 전자 장치 104 또는 서버 106)와 통신할 수 있다.
상기 무선 통신은, 예를 들면 셀룰러 통신 프로토콜로서, 예를 들면 LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나를 사용할 수 있다. 상기 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 상기 네트워크 162는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
상기 제1 및 제2 외부 전자 장치 102, 104 각각은 상기 전자 장치 101과 동일한 또는 다른 종류의 장치일 수 있다. 한 실시 예에 따르면, 상기 서버 106은 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시 예에 따르면, 상기 전자 장치 101에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치 102, 104, 또는 서버 106)에서 실행될 수 있다. 한 실시 예에 따르면, 상기 전자 장치 101이 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 상기 전자 장치 101은 상기 기능 또는 상기 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치 102, 104, 또는 서버 106)에게 요청할 수 있다. 상기 다른 전자 장치(예: 전자 장치 102, 104, 또는 서버 106)는 상기 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 상기 전자 장치 101로 전달할 수 있다. 상기 전자 장치 101은 수신된 결과를 그대로 또는 추가적으로 처리하여 상기 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
전자 장치 101은 전술한 구성요소 외에 촬영 모듈(예: 카메라)와 같은 다양한 구성요소를 추가적으로 포함할 수 있다. 전자 장치 101이 포함할 수 있는 다양한 구성 요소의 확장 예시가 도 16을 참조하여 후술된다.
도 2는 다양한 실시 예에 따른 프로그램 모듈 210의 블록도 200을 나타낸다.
도 2를 참조하면, 한 실시 예에 따르면, 상기 프로그램 모듈 210(예: 프로그램 140)은 전자 장치(예: 전자 장치 101)에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램 147)을 포함할 수 있다. 상기 운영 체제는, 예를 들면, 안드로이드(android), iOS, 윈도우즈(windows), 심비안(symbian), 타이젠(tizen), 또는 바다(bada) 등이 될 수 있다.
프로그램 모듈 210은 커널 220, 미들웨어 230, API 260, 및/또는 어플리케이션 270을 포함할 수 있다. 상기 프로그램 모듈 210의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 서버(예: 서버 106)로부터 다운로드 가능하다.
상기 커널 220(예: 도 1의 커널 141)은, 예를 들면, 시스템 리소스 매니저 221 또는 디바이스 드라이버 223를 포함할 수 있다. 상기 시스템 리소스 매니저 221은 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시 예에 따르면, 상기 시스템 리소스 매니저 221은 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 상기 디바이스 드라이버 223은, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, Wi-Fi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
상기 미들웨어 230은, 예를 들면, 상기 어플리케이션 270이 공통적으로 필요로 하는 기능을 제공하거나, 상기 어플리케이션 270이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 상기 API 260을 통해 다양한 기능들을 상기 어플리케이션 270으로 제공할 수 있다. 한 실시 예에 따르면, 상기 미들웨어 230(예: 미들웨어 143)은 런타임 라이브러리 235, 어플리케이션 매니저(application manager) 241, 윈도우 매니저(window manager) 242, 멀티미디어 매니저(multimedia manager) 243, 리소스 매니저(resource manager) 244, 파워 매니저(power manager) 245, 데이터베이스 매니저(database manager) 246, 패키지 매니저(package manager) 247, 연결 매니저(connectivity manager) 248, 통지 매니저(notification manager) 249, 위치 매니저(location manager) 250, 그래픽 매니저(graphic manager) 251, 또는 보안 매니저(security manager) 252 중 적어도 하나를 포함할 수 있다.
상기 런타임 라이브러리 235는, 예를 들면, 상기 어플리케이션 270이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 상기 런타임 라이브러리 235는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
상기 어플리케이션 매니저 241은, 예를 들면, 상기 어플리케이션 270 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 상기 윈도우 매니저 242는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 상기 멀티미디어 매니저 243은 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 상기 리소스 매니저 244는 상기 어플리케이션 270 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
상기 파워 매니저 245는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 상기 데이터베이스 매니저 246은 상기 어플리케이션 270 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 상기 패키지 매니저 247은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
상기 연결 매니저 248은, 예를 들면, Wi-Fi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 상기 통지 매니저 249는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 상기 위치 매니저 250은 전자 장치의 위치 정보를 관리할 수 있다. 상기 그래픽 매니저 251은 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 상기 보안 매니저 252는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시 예에 따르면, 전자 장치(예: 전자 장치 101)가 전화 기능을 포함한 경우, 상기 미들웨어 230은 상기 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다.
상기 미들웨어 230은 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 상기 미들웨어 230은 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 상기 미들웨어 230은 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 예를 들어, 미들웨어 230은 뷰 매니저(view manager)를 포함할 수 있다. 뷰 매니저는 전자 장치의 화면에 보여지는 객체들을 관리할 수 있다. 예를 들어, 뷰 매니저는 화면에 보여지는 객체들의 좌표 정보를 관리하고 획득할 수 있다.
상기 API 260(예: API 145)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
상기 어플리케이션 270(예: 어플리케이션 프로그램 147)은, 예를 들면, 홈 271, 다이얼러 272, SMS/MMS 273, IM(instant message) 274, 브라우저 275, 카메라 276, 알람 277, 컨택트 278, 음성 다이얼 279, 이메일 280, 달력 281, 미디어 플레이어 282, 앨범 283, 또는 시계 284, 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 제공할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시 예에 따르면, 상기 어플리케이션 270은 상기 전자 장치(예: 전자 장치 101)와 외부 전자 장치(예: 전자 장치 102, 104) 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의 상, "정보 교환 어플리케이션")을 포함할 수 있다. 상기 정보 교환 어플리케이션은, 예를 들면, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 상기 알림 전달 어플리케이션은 상기 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치(예: 전자 장치 102, 104)로 전달하는 기능을 포함할 수 있다. 또한, 상기 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 상기 장치 관리 어플리케이션은, 예를 들면, 상기 전자 장치와 통신하는 외부 전자 장치(예: 전자 장치 104)의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는 해상도) 조절), 상기 외부 전자 장치에서 동작하는 어플리케이션 또는 상기 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리 (예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시 예에 따르면, 상기 어플리케이션 270은 상기 외부 전자 장치(예: 전자 장치 102, 104)의 속성(예: 전자 장치의 속성으로서, 전자 장치의 종류가 모바일 의료 기기)에 따라 지정된 어플리케이션(예: 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시 예에 따르면, 상기 어플리케이션 270은 외부 전자 장치(예: 서버 106 또는 전자 장치 102, 104)로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 상기 어플리케이션 270은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시 예에 따른 프로그램 모듈 210의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시 예에 따르면, 상기 프로그램 모듈 210의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 상기 프로그램 모듈 210의 적어도 일부는, 예를 들면, 프로세서(예: AP 210)에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그램 모듈 210의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
도 3은 다양한 실시 예에 따른 선택 영역으로부터 정보를 추출하여 제공하는 방법을 나타낸다.
동작 310에서, 전자 장치(예: 전자 장치 101)는 사용자 입력에 기초하여 선택 영역을 결정할 수 있다. 예를 들어, 전자 장치는 사용자가 터치 입력 또는 전자 펜이나 스타일러스(예: S-펜) 등의 입력 수단을 이용하여 전자 장치의 디스플레이(예: 디스플레이 160)에 제공한 입력에 기초하여 소정의 선택 영역을 결정할 수 있다. 이하의 설명에서, 전자 펜 또는 스타일러스와 같은 펜 형태의 입력 장치는 “펜”으로 통칭되어 설명될 수 있다. 동작 310은 전자 장치의 영역 결정 모듈(예: scrapbooker)에 의해 수행될 수 있다. 예를 들어, 펜의 제스처를 감지하는 서비스(예: 안드로이드 운영체제에서 동작하는 서비스)에서 사용자에 의해 선택된 영역에 해당하는 윈도우로 영역 이벤트를 전달하고, 이 이벤트를 다시 뷰(view)에 전달하여 해당 영역의 텍스트 또는 이미지를 획득할 수 있다. 이와 관련된 구체적인 실시 예들이 도 4를 참조하여 설명된다. 또한 뷰의 예시적인 구조에 대하여 도 5를 참조하여 설명한다.
동작 310에서, 사용자 입력은 전자 장치의 디스플레이의 영역 구분에 제한되지 않고 수행될 수 있다. 예를 들어, 디스플레이가 콘텐츠 영역과 텍스트 영역으로 구분되어 있는 경우, 사용자는 펜 등을 이용하여 두 영역을 한번에 선택할 수 있다. 또한 디스플레이가 멀티 윈도우, 또는 플로팅 윈도우(floating window) 등으로 구분되어 있더라도, 서로 다른 속성의 윈도우에 위치하는 영역을 포함하여 선택할 수 있다. 다양한 실시 예에서, 전자 장치는 사용자가 펜을 이용하여 선택하는 경우 자동으로 영역 선택 상태(예: 선택 모드)로 변경되거나 혹은 펜의 에어 커맨드 등의 동작을 통해 영역 선택 상태로 변경될 수 있다. 사용자는 펜을 이용하여 현재 디스플레이 된 콘텐츠를 용이하게 선택할 수 있다.
다양한 실시 예에서, 사용자 입력은 터치 입력을 통해 수행될 수 있다. 예를 들어, 사용자는 메뉴 버튼, 토글 버튼 등을 통해 전자 장치를 영역 선택 상태로 변경시킬 수 있다. 전자 장치가 영역 선택 상태로 변경되면 사용자의 터치 입력에 의한 어플리케이션/링크 등의 실행 동작, 화면의 확대, 축소와 같은 동작은 제한되고, 사용자의 터치 입력을 선택 영역을 결정하기 위한 입력으로 처리할 수 있다. 다양한 실시 예에서, 전자 장치가 기능적으로 구분되는 2개의 디스플레이(예: 편평한 메인 디스플레이 및 메인 디스플레이에서 일 측면으로 확장하는 곡면 서브 디스플레이)를 갖는 경우, 하나의 디스플레이(예: 서브 디스플레이)의 특정 아이콘을 선택하여 다른 하나의 디스플레이(예: 메인 디스플레이)를 영역 선택 상태로 변경시킬 수 있다.
다양한 실시 예에서, 사용자 입력이 종료되면, 전자 장치는 영역 선택 상태를 해제할 수 있다. 예를 들어, 영역 선택 상태로 진입 후 사용자의 터치 입력이 종료되면 전자 장치는 영역 선택 상태를 해제하고, 이후에 입력되는 사용자 입력은 일반적인 텍스트 선택, 확대, 축소 등의 동작을 수행할 수 있다.
동작 320에서, 전자 장치는 선택 영역에 포함된 오브젝트의 타입에 기반하여 추출 방식을 결정할 수 있다. 추출 방식은, 예를 들어 텍스트 추출 방식 또는 이미지 분석(추출) 방식을 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 선택 영역에 텍스트 타입의 오브젝트가 포함되어 있는 경우, 텍스트 추출 방식을 이용하여 오브젝트로부터 텍스트를 추출할 수 있다. 이 경우, 전자 장치는 선택 영역에 포함된 비 텍스트 타입의 오브젝트는 무시할 수 있다. 그러나 다양한 다른 실시 예에서, 전자 장치는 선택 영역에 비 텍스트 타입의 오브젝트가 포함되어 있는 경우, 텍스트 추출 방식과 이미지 분석 방식을 모두 사용할 수 있다. 일부 실시 예에서, 전자 장치는 선택 영역이 결정되면 일괄적으로 텍스트 추출 방식과 이미지 분석 방식을 모두 사용하도록 설정될 수 있다.
동작 330에서, 전자 장치는 동작 320에서 결정된 추출 방식에 따라 선택 영역으로부터 텍스트를 추출하고, 추출된 텍스트를 분석할 수 있다. 예를 들어, 전자 장치는 텍스트 추출 방식을 이용하여 각 오브젝트가 갖는 텍스트 정보를 추출할 수 있다. 또한 전자 장치는 이미지 분석 방식을 이용하여 선택 영역에 포함된 이미지로부터 텍스트 정보를 추출할 수 있다.
텍스트 추출 방식과 이미지 분석 방식이 함께 사용되는 경우, 이미지에 포함된 텍스트를 인식하기 위해 광학 문자 인식(OCR) 기법이 사용될 수 있다. 이 경우 각각의 방식을 이용하여 추출된 결과를 비교하여 텍스트 추출 방식에 따른 추출 결과와 중복되는 이미지 분석 방식의 분석 결과는 중복 방지를 위하여 제외될 수 있다.
다양한 실시 예에서, 텍스트 정보가 추출되면 전자 장치는 추출된 텍스트 정보를 이용한 분석을 수행할 수 있다. 전자 장치는 다양한 분석 방법을 활용할 수 있다. 예를 들어, 전자 장치는 추출된 텍스트 정보를 텍스트 토큰(예: Hermes service token) 등을 이용하여 추출된 텍스트 정보가 의미 있는 정보인지 여부를 판단할 수 있다. 또한 전자 장치는 추출된 텍스트 정보를 전자 장치 내부(local)에 위치하거나 전자 장치 외부(remote)의 서버 등에 위치한 데이터베이스(DB, database)를 이용하여 텍스트 정보를 이용한 분석을 수행할 수 있다.
다양한 실시 예에서, 전자 장치는 텍스트 정보를 키워드로 한 검색 결과를 분석 결과에 포함시킬 수 있다. 예를 들어, 장소와 연관된 키워드의 경우, 해당 장소를 포함하는 지리적 정보(예: 지도)가 분석 결과에 포함될 수 있다. 예를 들어, 상호와 연관된 키워드의 경우, 해당 상호 또는 가맹점의 전화번호가 분석 결과에 포함될 수 있다. 예를 들어, 날씨 또는 주식 등에 연관된 키워드인 경우, 일기 예보 또는 현재 주가 등의 결과가 분석 결과에 포함될 수 있다.
동작 340에서, 전자 장치는 분석 결과를 디스플레이 할 수 있다. 전자 장치는 분석 결과를 나타내는 아이콘을 전자 장치의 일 지점(예: 우측 상단 등)에 디스플레이 할 수 있다. 다양한 실시 예에서, 상기 아이콘은 복수 개일 수 있고, 이동 가능한 플로팅 아이콘(floating icons)일 수 있다. 예를 들어, 하나의 플로팅 아이콘이 형성되면, 사용자는 소정의 버튼(예: 도 9의 아이콘 941에 위치한 + 버튼 등)을 선택하거나, 혹은 전자 펜을 이용한 연속적인 영역 선택 동작을 통해서 분석 결과를 나타내는 추가적인 아이콘을 생성할 수 있다. 이 경우, 사용자가 소정의 버튼(+ 버튼)을 선택하는 경우, 전자 장치는 전술한 영역 선택 상태로 전환될 수 있다.
다양한 실시 예에서, 아이콘이 선택되면 분석 결과에 포함된 정보들이 팝업 형태로 디스플레이 될 수 있다. 예를 들어, 아이콘의 선택에 대응하여 디스플레이의 하단 영역에 분석 결과들(예: 장소, 전화번호, 일정 등)이 출력될 수 있다. 이는 예시적인 것이며, 예를 들어 아이콘이 선택되면 전자 장치의 우측 영역(예: 디스플레이의 우측 1/3 영역)에 분석 결과들이 디스플레이 될 수 있다. 예를 들어, 아이콘이 선택되면 전자 장치는 도 13의 분석 결과 1331, 1332, 1333, 1334를 소정 영역(예: 하단 영역)에 디스플레이 하거나, 도 14의 분석 결과 1413, 1415를 임의의 영역에 디스플레이 할 수 있다.
다양한 실시 예에서, 분석 결과는 분석된 정보 및 정보와 연관된 어플리케이션 또는 실행 메뉴 등을 제공할 수 있다. 예를 들어, 추출된 텍스트가 장소 또는 지명을 나타내는 경우, 지도 어플리케이션을 포함하여 분석 결과를 제공할 수 있다. 예를 들어, 추출된 텍스트가 “스타벅스”인 경우 스타벅스를 키워드로 한 검색을 통해 획득된 정보에 기초하여, 사용자 장치의 인근에 위치한 스타벅스를 나타내는 지도 및 지도 어플리케이션, 인근 스타벅스의 전화번호 및 문자/전화 어플리케이션, 스타벅스의 공식 어플리케이션 및 실행 또는 설치 메뉴, 스타벅스의 홈페이지 주소(www.istarbucks.co.kr) 및 브라우저 어플리케이션을 포함하는 4장의 카드가 제안될 수 있다. 이와 관련된 예시가 도 13 또는 도 14를 참조하여 설명된다.
도 3을 참조하여 설명된 프로세스를 통해 사용자는 선택 영역을 통해 추출된 텍스트에 기초한 정보를 제공받을 수 있다. 나아가 상기 정보와 함께 사용자에게 추천 가능한 동작 또는 동작 카드들이 함께 제공됨으로써 사용자의 정보 활용 효율을 향상시킬 수 있다.
이하에서는 도 4 내지 도 15를 참조하여 도 3에서 설명된 각 동작들 및 다양한 실시 예에 대하여 설명한다.
도 4는 다양한 실시 예에 따른 선택 영역을 결정하는 방법을 나타낸다.
도 4를 참조하면, 사용자에 의한 선택 입력은 터치 앤 드래그(touch and drag) 방식과 같은 입력을 통해 다양한 곡선 또는 직선의 형태로 인식될 수 있다. 예를 들어, 화면 410에서 사용자는 스타일러스 411을 이용하여 일 지점부터 다른 지점까지의 직선 입력 412을 제공할 수 있다. 전자 장치는 이와 같은 입력에 대응하는 두 지점(예: 시작 지점 및 종료 지점)에 기반하여 특정 도형 형태를 선택 영역 413으로 결정할 수 있다. 예를 들어, 특정 도형은 두 지점을 연결하는 직선을 대각선으로 하는 사각형, 두 지점을 연결하는 직선을 지름으로 하는 원 등이 될 수 있다. 다양한 실시 예에서, 도시된 것과 달리 일 지점부터 다른 지점까지 자유로운 곡선의 형태로 입력이 되더라도 전자 장치는 곡선의 시작 지점과 종료 지점을 인식하고 두 지점을 연결하는 도형 형태를 선택 영역으로 결정할 수 있다.
다양한 실시 예에서, 전자 장치는 사용자에 의해 입력된 폐곡선에 내접하는 도형을 선택 영역으로 결정할 수 있다. 예를 들어, 화면 420에서 전자 장치는 사용자 입력에 의해 형성된 폐곡선 422에 내접하는 사각형을 선택 영역 423으로 결정할 수 있다. 다양한 실시 예에서, 사각형은 내접할 수 있는 최대 면적을 갖는 사각형일 수도 있다. 또는 다른 실시 예에서, 사각형은 내접할 수 있는 사각형 중 가로와 세로의 비율이 가장 유사한 사각형일 수도 있다. 그러나 일부 실시 예에서, 전자 장치는 입력된 폐곡선에 외접하는 도형을 선택 영역으로 결정하거나, 입력된 폐곡선 영역 자체를 선택 영역으로 결정할 수도 있다.
다양한 실시 예에서, 사용자 입력이 폐곡선을 형성하지 않더라도 전자 장치는 사용자 입력에 기초하여 선택 영역을 결정할 수 있다. 예를 들어, 일 지점에서 시작한 사용자 입력이 다른 지점에서 종료되었는데, 사용자가 급하게 또는 대충 입력하여 폐곡선이 형성되지 않더라도, 전자 장치는 일 지점과 다른 지점을 최단거리로 연결하는 가상의 선을 형성하고, 사용자 입력과 상기 가상의 선을 포함하여 형성되는 폐곡선 영역에 내접 또는 외접하는 도형을 선택 영역으로 결정할 수 있다. 이와 같은 선택 영역 결정 방법을 통해 사용자가 영역 선택에 특별한 주의를 기울이지 않고 입력을 제공하더라도 선택 영역이 결정되며, 사용자에게 영역이 제대로 선택되지 않았다는 메시지가 출력되거나 재입력을 요구하는 불편함을 감소시킬 수 있다.
다양한 실시 예에서, 전자 장치의 디스플레이 상의 소정 지점에서 좌 또는 우 방향으로 임계 거리만큼 이동한 후, 상하 방향으로 스크롤하는 사용자 입력에 기반하여 선택 영역이 결정될 수 있다. 이 경우, 사용자에 의해 선택되는 영역은 초기 화면에는 출력되지 않지만 스크롤에 의해 보여지는 영역이 포함될 수 있다.
다양한 실시 예에서, 전자 장치는 전술한 선택 영역 결정 방법을 선택적으로 또는 결합하여 적용할 수 있다. 예를 들어, 전자 장치는 전자펜을 이용한 사용자 입력 또는 (영역 선택 상태에서 입력된) 터치에 의한 사용자 입력이 전술한 선택 영역 결정 방법, 예를 들어 시작 지점과 마지막 지점을 이용하는 방법 1, 사용자 입력에 내접하는 영역을 이용하는 방법 2, 및 스크롤되는 영역을 이용하는 방법 3 중 어느 방법에 해당하는지 파악할 수 있다. 예를 들어, 전자 장치는 사용자 입력이 임의의 대각선에 해당하는 방향성을 갖는 경우 상기 방법 1을, 사용자 입력이 특정한 방향성을 갖지 않고 내접하는 영역을 형성하거나 형성하기에 충분한 것으로 판단되는 경우 상기 방법 2를, 및 사용자 입력이 수평 방향으로 일정 거리 이동한 후 수직 방향으로 이동하는 것으로 판단되는 경우 상기 방법 3을 선택 영역을 결정하기 위한 방법으로 적용할 수 있다.
선택 영역이 결정되면, 전자 장치는 선택 영역으로부터 정보를 추출하기 위한 추출 방식을 결정(예: 동작 320)할 수 있다. 전자 장치는 선택 영역에 포함되어 있는 오브젝트의 타입에 따라서 서로 다른 추출 방식을 결정할 수 있다. 이하에서는 도 5를 참조하여 선택 영역에 포함된 오브젝트의 타입을 판단하는 방법에 대하여 설명한다.
도 5는 다양한 실시 예에 따른 오브젝트의 계층 구조를 나타낸다.
도 5에 도시된 실시 예는, 예를 들어 안드로이드 운영체제(Android OS)의 뷰(View)에 해당할 수 있다. 그러나 이는 예시적인 것이며, Windows나 iOS, Tizen과 같은 다양한 운영 체제에서는 화면 구성을 위해 계층 구조의 오브젝트를 사용하고 있고, 본 문서에서 설명되는 계층 구조는 서로 다른 운영체제의 계층 구조에도 적용될 수 있다.
도 5의 최상위 오브젝트 501은 View 503을 포함할 수 있다. View 503은 하위 계층에 해당하는 다양한 오브젝트를 포함할 수 있다. 예를 들어, View 503은 AnalogClock 510, TextView 520, ImageView 530, SurfaceView 540 및 ProgressBar 550을 포함할 수 있다. 또한 각각의 오브젝트들은 다시 하위 오브젝트들을 포함할 수 있다. 예를 들어, TextView 520은 EditText 521이나 Button 523, DigitalClock 525에 해당하는 오브젝트를 포함할 수 있다. 이와 같은 오브젝트들은 전자 장치의 화면에 직접 디스플레이되는 사용자 인터페이스를 구성할 수 있다.
전술한 오브젝트 중에서, TextView 520은 텍스트를 보여준다. ImageView 530은 이미지를 보여줄 수 있다. EditText 521은 텍스트를 입력 받을 수 있는 오브젝트에 해당한다. 이와 같이 다양한 실시 예에서, TextView 520 및 그 하위 오브젝트들은 텍스트 타입을 갖는 오브젝트에 해당할 수 있다. 이에 해당하지 않는 다른 오브젝트 및 그 하위 오브젝트들은 텍스트 타입을 갖지 않는(비-텍스트 타입을 갖는) 오브젝트에 해당할 수 있다. 예를 들어, ImageView 530 및 그 하위 오브젝트는 이미지 타입을 갖는 오브젝트에 해당할 수 있다.
다양한 실시 예에서, 하나의 오브젝트에서 파생된 다른 오브젝트들은 상위 오브젝트의 속성을 상속받을 수 있다. 오브젝트의 속성은, 예를 들어, 오브젝트의 식별자(id), 오브젝트의 가로/세로 크기, 오브젝트의 배경색, 안쪽/바깥쪽 여백(padding/margin) 등을 포함할 수 있다.
도 5에 도시되지는 않았으나, View 503은 ViewGroup을 포함할 수 있다. ViewGroup 역시 다양한 하위 오브젝트를 포함할 수 있다. 예를 들어, FrameLayout, RelativeLayout, LinearLayout과 같은 오브젝트들이 ViewGroup에 포함될 수 있다. 이와 같은 오브젝트들은 전술한 View 503에 포함된 오브젝트들이 디스플레이 되는 레이아웃을 구성할 수 있다.
다양한 실시 예에서, 전자 장치는 전술한 오브젝트들을 이용하여 전자 장치의 화면에 표시되는 레이아웃을 구성할 수 있다. 이 오브젝트들은 계층 구조를 가질 수 있다. 전자 장치는 화면의 특정 영역이 선택 영역으로 결정되면, 상기 선택 영역에 대응되는 오브젝트를 판단할 수 있다. 다양한 실시 예에서, 상기 선택 영역에 대응되는 오브젝트는 상기 선택 영역에 완전히 포함되는 오브젝트를 의미할 수도 있고, 또는 선택 영역에 그 영역 중 일부라도 포함된 오브젝트를 의미할 수 있다. 다양한 실시 예에서, 상기 선택 영역에 대응되는 오브젝트는 그 영역이 선택 영역에 일정 비율 이상 포함되는 오브젝트를 의미할 수도 있다.
이하에서는 도 6 및 도 7을 참조하여, 선택 영역에 포함된 오브젝트의 타입에 따라 서로 다른 추출 방식을 적용하는 예시를 설명한다.
도 6은 다양한 실시 예에 따른 선택 영역에 텍스트 추출 방식을 적용하는 프로세스를 나타낸다.
도 6을 참조하면, 동작 610에서 전자 장치는 선택 영역 내에 위치한 적어도 하나의 오브젝트의 타입을 판단할 수 있다. 동작 610은, 예를 들어 파싱 모듈에 의해 수행될 수 있다.
동작 620에서 전자 장치는 상기 적어도 하나의 오브젝트가 텍스트 타입(예: TextView 520 또는 그 하위 오브젝트)인지 여부를 판단할 수 있다. 예를 들어, 적어도 하나의 오브젝트가 텍스트 타입인 경우 전자 장치는 동작 630을 수행할 수 있다. 다양한 실시 예에서, 단 하나의 오브젝트도 텍스트 타입의 오브젝트가 아닌 경우, 또는 일부는 텍스트 타입이지만 하나 이상의 비-텍스트 타입의 오브젝트가 포함된 경우, 또는 하나 이상의 이미지 타입의 오브젝트가 포함된 경우, 동작 620 에서 상기 텍스트 타입은 동작 630으로 수행되며, 상기 하나 이상의 이미지 타입의 오브젝트는 동작 670의 이미지 분석 방식을 수행할 수 있다. 일부 실시 예에서, 동작 630에서 전자 장치는 선택 영역 전체에 대하여 동작 670의 이미지 분석 방식을 적용할 수 있다. 또한 상기 선택된 오브젝트에 따라 상기 동작 670 에서 모든 데이터가 처리될 수도 있다. 도 6에서는 텍스트 추출 방식(동작 630 내지 660)에 대해서 설명하고, 이미지 분석 방식에 대해서는 도 7을 참조하여 설명한다.
동작 630에서 전자 장치는 현재 보여지는 화면의 윈도우(window)가 갖는 트리 구조(또는 계층 구조)를 분석하여, 트리 구조에 포함된 모든 오브젝트들의 종류를 판단할 수 있다. 예를 들어, 전자 장치는 임의의 오브젝트가 텍스트 타입(예: TextView 520)인지, 이미지 타입(예: ImageView 530)인지, 혹은 레이아웃 타입(예: LinearLayout)인지 판단할 수 있다.
동작 640에서 전자 장치는 각 오브젝트에 수집 가능한 정보가 있는지 여부를 판단할 수 있다. 텍스트 추출 방식에서, 전자 장치는 텍스트 타입의 오브젝트를 수집 가능한 정보가 있는 오브젝트로 판단할 수 있다. 예를 들어, 아날로그 시계를 표현하는 AnalogClock 510과 같은 오브젝트는 수집 가능한 정보가 있는 오브젝트로 판단되지 않을 수 있다. 또한 레이아웃을 구성하기 위한 오브젝트들도 수집 가능한 정보가 없는 오브젝트로 판단될 수 있다. 다양한 실시 예에서, 텍스트 타입의 오브젝트라도 Button 523이나 CheckBox와 같은 타입의 오브젝트들은 수집 가능한 정보가 없는 오브젝트로 판단될 수 있다. 어떤 타입의 오브젝트들이 수집 가능한 정보를 포함하는지 여부는 미리 정의되어 있을 수 있다.
동작 650에서, 전자 장치는 각 오브젝트의 속성을 판단할 수 있다. 이 동작은 동작 640에서 수집 가능한 정보가 있는 것으로 판단된 오브젝트에 대해서 수행될 수 있다. 다양한 실시 예에서 각각의 오브젝트는 상위 오브젝트의 속성을 상속할 수 있고, 전자 장치(예: 파싱 모듈)는 오브젝트의 텍스트 정보뿐만 아니라, 색상, 폰트, 좌표, 링크 등 오브젝트가 가진 모든 속성에 접근하여 속성에 대한 정보를 획득할 수 있다.
동작 660에서, 전자 장치는 선택 영역(예: 동작 310에서 결정된 선택 영역)에 해당하는 적어도 하나의 오브젝트로부터 텍스트 정보를 추출할 수 있다. 이 경우, 동작 650에서 획득된 텍스트 색상, 폰트, 링크 등을 함께 추출할 수 있다.
도 7은 다양한 실시 예에 따른 선택 영역에 이미지 분석 방식을 적용하는 프로세스를 나타낸다.
도 6의 동작 620에서 선택 영역 내의 적어도 하나의 오브젝트 중 전부 또는 일부가 텍스트 타입이 아닌 경우, 도 7의 프로세스가 적용될 수 있다. 또한, 전술한 바와 같이 설정에 따라서 도 7의 텍스트 추출 방식과 도 6의 이미지 분석 방식이 병행될 수 있다. 다만 두 방식이 모두 수행되는 경우, 중복되는 추출 결과를 제거하기 위한 동작이 수행될 수 있다. 다양한 실시 예에서, 이미지 분석 방식이 적용되기 이전의 다양한 동작들이 동작 A(예: 도 6의 동작 670 또는 그 이전에 해당하는 임의의 과정)로 이해될 수 있다. 또한, 전자 장치는 도 6의 프로세스를 수행하는 쓰레드(thread)와 별개로, 도 7의 프로세스를 수행하기 위한 쓰레드를 생성할 수 있다.
동작 710에서, 전자 장치는 선택된 영역에 대한 이미지 캡쳐를 수행할 수 있다. 다양한 실시 예에서, 전자 장치는 선택 영역에 대한 이미지 캡쳐를 수행할 수도 있고, 선택된 영역에 일부라도 포함된 오브젝트를 모두 포함하는 영역에 대한 이미지 캡쳐를 수행할 수도 있다.
동작 720에서, 전자 장치는 캡쳐된 선택 영역을 Raw 이미지 파일로 생성하여 메모리에 저장할 수 있다. 이 경우, 상기 메모리는 버퍼(buffer)일 수 있다. 또한, 전자 장치는 캡쳐된 선택 영역의 사이즈 정보를 헤더(header)로 구성하여 비-가공 이미지 파일에 저장할 수 있다.
다양한 실시 예에서, 비-가공 이미지(Raw image)는 이미지 센서에 의해 최소한으로 처리된 데이터를 포함할 수 있다. 상기 데이터는 전혀 가공되지 않은 상태일 수 있다. 또한 비-가공 이미지 파일에는 화이트밸런스, 파라미터, 색공간 등이 정해져 있지 않고 촬영 모듈(예: 카메라)에 감지된 빛의 세기에 대한 정보만 포함될 수 있다. 비 가공 이미지의 포맷은 업체에 따라 다른 이미지 확장자를 가질 수 있다. 예를 들어, 삼성은 .srw, 파나소닉은 .raw, 캐논은 .crw, .cr2, .cr3와 같은 이미지 확장자를 사용한다.
동작 730에서 전자 장치는 비 가공 이미지를 OCR 기법을 이용하여 선택 영역에 포함된 텍스트를 인식할 수 있다. 예를 들어, 전자 장치는 버퍼에 저장된 비 가공 이미지 파일을 OCR 엔진으로 전달하여 텍스트 추출을 수행할 수 있다. 이를 통해 전자 장치는 텍스트 타입의 오브젝트뿐만 아니라 이미지 타입의 오브젝트에서도 텍스트 추출을 수행할 수 있다.
동작 740에서 전자 장치는 동작 730에서 인식된 텍스트 중 이미지 타입의 오브젝트로부터 인식된 텍스트 정보를 획득할 수 있다. 예를 들어, 전자 장치는 동작 660에서 획득된 텍스트 정보와 동작 730에서 인식된 텍스트를 비교하여 중복되는 텍스트를 제외한 텍스트를 이미지 타입의 오브젝트로부터 획득된 텍스트 정보로 결정할 수 있다.
도 7의 프로세스는 기존의 OCR 과정과 비교하여 개선된 효과를 가질 수 있다. 일반적인 OCR을 이용한 텍스트 인식은, 캡쳐 이미지를 비트맵 압축(bitmap compress) 및 압축 해제(decompress)하는 과정을 통해 OCR 엔진에 전달하여 수행된다. 예를 들어, 전자 장치는 캡쳐 영역을 이미지 파일의 형태로 생성(bitmap compress)하여 메모리에 저장하고, 이 파일을 OCR 엔진이 인식 가능한 형태로 가공(decompress)하여 OCR 엔진으로 제공한다. 그러나 본 발명의 다양한 실시 예에서는 해당 영역을 raw 이미지 파일의 형태로 버퍼에 저장한 후 OCR 엔진으로 전달하므로, 압축 및 압축 해제 과정이 생략되어 작업의 수행 속도가 개선되는 효과를 가진다.
도 8은 다양한 실시 예에 따른 이미지 속성과 텍스트 속성을 갖는 오브젝트를 포함한 웹 페이지의 선택 영역에 대한 추출 결과를 나타낸다.
웹 페이지 800은 html 또는 php와 같은 적절한 언어로 작성되어 있을 수 있다. 웹 페이지 800에 접속한 전자 장치는 웹 페이지 800을 획득하여 코드를 분석하고 전자 장치의 화면을 구성할 수 있다. 다양한 실시 예에서, 전자 장치는 웹 페이지 800을 출력하기 위하여 도 5를 참조하여 전술한 것과 같은 타입의 오브젝트들을 이용하여 화면을 구성할 수 있다.
다양한 입력 수단을 통한 사용자 입력에 의해 소정의 영역 810이 선택될 수 있다. 영역 810에는 텍스트 및 이미지/이미지 속성의 텍스트 820이 포함될 수 있다. 여기서 이미지 속성의 텍스트란 컨텐츠의 속성은 이미지이지만, 사용자가 시각적으로 이미지에 나타난 텍스트를 인식할 수 있는 텍스트로 이해될 수 있다. 또는, OCR 엔진이 인식할 수 있는 텍스트를 포함하는 이미지로 이해될 수도 있다.
다양한 실시 예에서, 예를 들어 도 6의 텍스트 추출 방식에 의해 선택 영역 810으로부터 “아파트에 경로당, 어린이 놀이터 안 지어도 된다”, “판결: 간접흡연으로 폐질환, 업무상 재해 아냐”, “수요웹툰 바로가기”, “코스닥 563.14 ▼ 1.79 -0.32%”와 같은 텍스트가 추출될 수 있다.
다양한 실시 예에서, 예를 들어 도 7의 이미지 분석 방식에 의해 선택 영역 810의 이미지 820으로부터 “WEBTOON” 및 “흐림”, “29도”, “강릉 어제보다 3도 낮음”과 같은 텍스트가 추출될 수 있다.
도 6의 프로세스에서, 전자 장치는 화면에 보여지는 윈도우의 전체 트리 구조에 포함된 오브젝트를 모두 탐색하여 텍스트 정보뿐만 아니라 링크, 색상, 크기, 폰트 등의 정보를 포함하는 메타 정보를 획득하는 것이 가능하기 때문에, 폰트 정보 또는 링크 정보 등을 텍스트와 함께 획득할 수 있다. 예를 들어, “수요웹툰 바로가기”의 하이퍼링크(hyperlink) 정보가 함께 획득될 수 있다.
다양한 실시 예에서, 파싱 모듈은 획득된 정보에 대한 의미 분석을 수행할 수 있다. 예를 들어, ▼와 같은 기호는 “하락”을 의미하는 것으로 분석할 수 있다. 따라서 추출 결과 830에는 “코스닥 563.14 하락 1.79 -0.32%”와 같은 정보가 포함될 수 있다. 또한 파싱 모듈은 이미지 820 중 날씨에 해당하는 부분에서 구름에 대항하는 이미지의 의미를 분석하여 “흐림”이라는 단어를 추출할 수 있다. 그에 따라 추출 결과 830에는 “흐림 29도 강릉 어제보다 3도 낮음”과 같은 정보가 포함될 수 있다.
도 9는 다양한 실시 예에 따른 선택 영역의 분석 결과를 제공하는 방법을 나타낸다.
도 9를 참조하면, 사용자가 다양한 입력수단을 이용하여 영역 선택을 수행하는 동안 영역 선택 상태에 있는 화면 910은 선택되는 영역 911을 제외하고 음영이 조절될 수 있다. 예를 들어, 영역 911을 제외한 화면 910은 다소 어둡게 디스플레이 될 수 있다.
다양한 실시 예에서, 사용자가 영역 911에 대한 선택을 종료하면, 영역 선택 상태가 해제되면서(또는 화면 910이 영역 선택 이전의 일반적인 화면 920으로 복귀하면서), 선택된 영역에 대한 분석 결과를 나타내는 아이콘 941이 화면 920의 일 지점에 출력될 수 있다. 다른 실시 예에서, 영역 911에 대한 선택을 종료하더라도 분석을 요청하는 아이콘 930이 선택될 때까지 화면 910이 유지될 수 있다. 화면 910이 유지되는 동안 사용자는 선택 영역 911의 크기 또는 위치 등을 조절할 수 있다.
다양한 실시 예에서, 전자 장치는 선택 영역에 대한 분석 결과를 디스플레이에 바로 표시하거나 관련된 기능을 실행하는 동작 외에, 디스플레이 상에 플로팅 아이콘(예: 아이콘 941) 형태로 저장할 수 있다. 이와 같이 현재 사용자가 전자 장치로 수행하고 있는 동작의 UX(user experience) 시나리오가 단절되지 않고 연속적으로 유지될 수 있다. 상기 플로팅 아이콘은, 도 9의 예시에서는 캡쳐된 영역의 형태를 갖는 것으로 도시되었으나, 지정된 다양한 아이콘 형상을 가질 수 있다. 또한 상기 플로팅 아이콘은 실행 중인 어플리케이션이 변경되더라도 계속해서 화면 상에 유지될 수 있다. 예를 들어, 어플리케이션에 뷰 객체를 포함시키는 것이 아닌 (어플리케이션이 종료되어도 계속해서 실행되는) 서비스에 플로팅 아이콘에 대응되는 뷰 객체를 생성하여 윈도우 매니저(예: 윈도우 매니저 342) 또는 뷰 매니저에 등록하는 과정을 통해 항상 최상위에 오는 뷰(always on top view)를 구현할 수 있다.
다양한 실시 예에서 1차 영역 선택이 종료되면, 사용자는 아이콘 941의 + 버튼과 같이 2차 영역을 선택할 수 있는(영역 선택 상태로 진입할 수 있는) 동작을 수행할 수 있다. 이제 사용자가 2차 영역 912에 대한 선택을 종료하면, 1차 영역 선택에 대응되는 방식으로 2차 영역 912에 대한 분석 결과를 나타내는 아이콘 942가 화면 920에 디스플레이 될 수 있다. 이와 같은 방식으로 사용자는 하나의, 또는 여러 어플리케이션에서 원하는 영역을 계속해서 캡쳐하여 그 분석 정보를 획득할 수 있다.
도 8과 도 9를 참조하여 전술한 실시 예에서, 추출 결과와 분석 결과는 구분될 수 있다. 예를 들어, 도 8에서의 추출 결과 830은 선택 영역 810으로부터 추출된 텍스트를 의미할 수 있다. 도 9에서의 분석 결과는, 추출 결과를 이용하여 분석 및 획득된 정보를 의미할 수 있다. 예를 들어, 전자 장치는 추출된 텍스트를 이용하여 도 3의 동작 330과 관련하여 전술된 분석 동작을 수행할 수 있다. 예를 들어, 도 9에서 영역 911에서는 “경상북도 의성군”의 텍스트가 추출될 수 있고, 이를 이용한 분석 결과는 경상북도 의성군의 지리적 위치, 지도 정보, 인구, 교통편 등이 획득될 수 있다. 다양한 실시 예에서, 사용자에 의해 도 9의 아이콘 941이 선택되는 경우 영역 911로부터 추출된 결과를 이용하여 분석 및 획득된 정보가 제공될 수 있다.
다양한 실시 예에서, 사용자는 복수의 영역으로부터의 추출 결과를 이용하여 분석 결과를 획득할 수 있다. 이와 관련하여 도 10을 참조하여 설명한다.
도 10은 다양한 실시 예에 따른 복수의 선택 영역으로부터 분석 결과를 획득하는 방법을 나타낸다. 도 10을 참조하면, 아이콘 1041은 화면 1010의 소정의 선택 영역으로부터 획득된 추출 결과(예: 1차 추출 결과)를 이용한 분석 결과를 나타낼 수 있다. 이제 사용자가 화면 1020의 소정 영역 1012을 선택한 후 아이콘 1041로 드래그하면, 전자 장치는 영역 1012에 대한 텍스트 추출(예: 도 6 및/또는 도 7의 추출 방식에 따른 추출)을 수행할 수 있다. 전자 장치는 영역 1012에 대한 추출 결과(예: 2차 추출 결과)와, 상기 1차 추출 결과를 종합하여 분석할 수 있다. 분석이 완료되면, 전자 장치는 아이콘 1041을 선택하였을 때 제공하는 정보를 1차 추출 결과에 기반한 정보에서, 1차 및 2차 추출 결과에 기반한 정보로 대체할 수 있다.
도 10의 실시 예를 통해, 사용자는 서로 다른 선택 영역에 기초한 정보를 획득할 수 있다. 예를 들어, 사용자가 “지역”에 관한 텍스트를 포함하는 영역을 선택하면 전자 장치는 해당 “지역”을 키워드로 하는 분석 결과를 획득하여 클립보드 등에 저장하고 있을 수 있다. 이 분석 결과는 화면에 디스플레이되는 소정의 아이콘으로 표시될 수 있다. 이제 사용자가 “날씨”에 관한 텍스트를 포함하는 영역을 선택하여 상기 아이콘으로 드래그 앤 드랍하면, 전자 장치는 “지역” 및 “날씨”를 키워드로 하는 분석 결과(예: 해당 지역의 오늘/내일 날씨 등)를 획득하여 상기 아이콘에 매칭시킬 수 있다.
다양한 실시 예에서, 전자 장치는 제1 영역에 기초한 분석 결과를 나타내는 제1 아이콘 1041 및 제2 영역에 기초한 분석 결과를 나타내는 제2 아이콘 1042를 출력할 수 있다. 이제 사용자로부터 제2 아이콘 1042를 제1 아이콘 1041로 드래그 앤 드랍 하는 입력이 수신되면, 전자 장치는 제1 영역의 추출 결과와 제2 영역의 추출 결과에 기반하여 획득되는 분석 결과를 상기 제1 아이콘 1041에 매칭시킬 수 있다. 이 경우, 상기 제2 아이콘은 화면 1010에서 사라질 수 있다.
도 11은 다양한 실시 예에 따른 분석 결과를 제공하는 방법을 나타낸다.
도 11을 참조하면, 사용자에 의해 화면 1110에서 소정 영역 1111이 선택될 수 있다. 이 경우 영역 1111을 제외한 다른 영역은 음영처리 될 수 있다.
전자 장치는 영역 1111에 대하여 도 3에 도시된 동작 310 내지 동작 340을 수행하고, 수행 결과를 영역 1112에 출력할 수 있다. 예를 들어, 영역 1111에는 “태백 열차 충돌 사고 기관사 과실”에 해당하는 텍스트가 포함될 수 있다. 전자 장치는 해당 영역으로부터 텍스트를 추출하고, 추출된 텍스트(예: 태백)를 키워드로 하여 분석(예: 텍스트 토큰 분석, 검색 엔진을 통한 정보 획득 등)을 수행할 수 있다. 그 결과, 예를 들어 태백시에 대한 지리 정보가 분석 결과에 포함될 수 있다. 또한 분석 결과에는 이 정보를 공유하거나, 이 정보와 관련하여 지도 어플리케이션을 실행시키는 메뉴가 함께 포함되어 있을 수 있다. 다른 실시 예에서, 영역 1112에 제공되는 정보는, 예를 들어 영역 1111로부터 추출된 텍스트에 기초한 분석 결과를 나타내는 아이콘(미도시)을 선택하는 경우에 제공될 수도 있다.
도 10에 도시된 실시 예와 관련하여, 전자 장치에서 제공하는 웹 브라우저의 종류와 관계없이 영역 선택 및 분석이 진행될 수 있다. 전자 장치는 다양한 브라우저를 지원하는데, 예를 들어, Google Chrome, Safari, Opera, Firefox, Internet Explorer와 같은 다양한 브라우저가 전자 장치에서 구동될 수 있다. 기존의 텍스트 정보 추출 방식에 따르는 경우, 웹 브라우저의 종류에 따라서 텍스트 정보에 접근이 불가능한 경우(예: Google Chrome)가 있었으나, 본 발명의 다양한 실시 예에 따르면, 해당 영역의 텍스트 분석이 불가능한 경우 선택 영역을 캡쳐하여 이미지로 분석할 수 있기 때문에 브라우저에 관계없이(텍스트 정보의 접근 가능성 유무에 관계 없이) 텍스트 분석이 가능해지는 효과를 갖는다.
위 실시 예와는 달리, 기존의 전자 장치도 일반적인 OCR 방식을 이용하여 화면 상에 표시된 텍스트를 추출하는 것은 가능하지만, 텍스트 정보에 접근이 가능한 경우에도 이와 같은 방식을 사용하게 되면, 텍스트의 색상, 크기, 폰트, 링크 정보 등을 포함하는 메타 정보를 추출하는 것은 불가능하다. 따라서 본 발명의 다양한 실시 예에 따르면, 텍스트 추출에 있어서도 전자 장치가 접근 가능한 모든 범위의 정보를 추출할 수 있는 효과가 있다.
도 12는 다양한 실시 예에 따른 카메라 프리뷰 상태에서 분석 결과를 제공하는 방법을 나타낸다.
도 12를 참조하면, 사용자는 카메라 프리뷰 상태에서도 전술한 다양한 방법 및 입력 수단을 사용하여 소정 영역을 선택할 수 있다. 즉, 본 발명의 다양한 실시 예는 입력 수단을 이용하여 분석 영역(선택 영역)을 결정하고 해당 영역(좌표) 내의 정보를 추출하는 방식을 이용하므로, 본 발명의 다양한 실시 예에 따른 선택 및 분석 동작은 현재 실행 중인 어플리케이션의 동작에 영향을 미치지 않는다. 따라서 도 12와 같은 카메라 프리뷰가 디스플레이 된 화면 1210에서 소정 영역 1211을 선택하여, 해당 영역의 텍스트 정보를 추출하고, 추출 결과에 기초한 추천 결과를 제공받는 것이 가능하다. 이는 기존의 분석하고자 하는 대상을 촬영하고 촬영된 이미지를 불러와서 OCR 방식으로 이미지로부터 텍스트를 추출하여 활용해야 하는 것에 비하여, 프리뷰 상태에서 바로 정보를 활용할 수 있다는 점에서 사용자 편의성이 향상되는 효과가 있다.
도 13은 다양한 실시 예에 따른 예시적인 UI를 나타낸다.
도 13을 참조하면, 화면 1310은 디스플레이에 출력된 콘텐츠 중에서 사용자에 의해 영역 1311이 선택되는 화면을 나타낸다. 도 4를 참조하여 전술한 방법 등을 이용하여 선택 영역 1321이 결정되면, 전자 장치는 영역 1321에서 텍스트를 추출하고 추출된 텍스트에 기초하여 분석 결과를 제공할 수 있다. 화면 1320에 도시된 것과 같이, 전자 장치는 선택 영역을 보여주면서, 하단의 소정 영역에 파싱된 정보에 대한 추천 동작을 제공할 수도 있다. 다양한 실시 예에서, 상기 추천 동작은 분석 결과를 나타내는 아이콘을 선택하는 동작에 의해 제공될 수도 있다.
다양한 실시 예에서, 분석 결과(또는 분석 결과를 나타내는 아이콘)가 선택되면 하나 이상의 분석 결과가 정보 및 정보와 연관된 어플리케이션/메뉴와 함께 제공될 수 있다. 예를 들어, 분석 결과 1331은 일정 정보와 함께 캘린더 어플리케이션이, 분석 결과 1332는 날짜(숫자) 정보와 함께 전화 어플리케이션 아이콘 1332T, 일정관리 어플리케이션 아이콘 1332P, 연락처 어플리케이션 아이콘 1332C가, 분석 결과 1333은 지리 정보와 함께 지도 어플리케이션 아이콘 1333M이, 분석 결과 1334는 링크 정보와 함께 브라우저 어플리케이션 아이콘 1334I가 함께 제공될 수 있다.
화면 1320에서, 선택 영역 1321의 우측 상단에 위치하는 클립보드 아이콘이 선택되면 선택 영역 1321이 클립보드에 저장될 수 있다. 클립보드에 저장된 영역을 나타내는 아이콘이 화면 1340의 아이콘 1341 또는 아이콘 1342와 같이 표시될 수 있다. 다양한 실시 예에서, 클립보드에 저장된 영역을 나타내는 아이콘은 분석 결과를 나타내는 아이콘과 구별되도록 다르게 표시될 수 있다.
화면 1350에서, 사용자는 아이콘 1341 또는 아이콘 1342를 선택하여 클립보드에 저장된 내용 1351을 확인할 수 있다. 또한, 화면 1360에서와 같이, 클립보드에 수집된 정보는 오브젝트에 대한 정보(오브젝트의 종류, 속성 등)를 모두 포함하고 있으므로, 수집된 정보에 포함된 버튼이나 메뉴 등은 정상적으로 동작할 수 있다.
도 14는 다양한 실시 예에 따른 실시간 분석 결과를 제공하는 실시 예를 나타낸다.
도 14를 참조하면, 선택 영역 1410이 결정될 수 있다. 전자 장치는 선택 영역 1410의 우측 하단과 같은 일부 영역에 해당 영역의 크기 또는 위치가 조절될 수 있다는 것을 나타내는 표시 1411을 제공할 수 있다.
전자 장치는 선택 영역 1410에 대한 텍스트 추출 및 분석을 수행하여, 분석 결과 1413를 전자 장치의 디스플레이 하단 영역에 제공할 수 있다. 이 경우, 선택 영역 1410과 분석 결과 1413은 겹치지 않도록 (예를 들어, 스크롤 바 등을 활용하여) 조정될 수 있다.
이제 사용자가 표시 1411을 이용하여 선택 영역 1410을 선택 영역 1420으로 조정하면, 전자 장치는 선택 영역 1420에 대한 분석결과 1413, 1415를 제공할 수 있다. 이 경우 전자 장치는 영역 1420에 대한 분석을 새로 수행할 수도 있고, 영역 1410과 영역 1420 사이에서 변경된 부분을 파악한 후 변경된 부분에 대해서만 분석을 수행하여, 해당 부분의 분석 결과(예: 분석 결과 1415)를 추가하여 제공할 수 있다.
도 15는 다양한 실시 예에 따른 텍스트 추출 및 분석 프로세스를 나타낸다.
동작 1510에서 사용자에 의해 소정 영역이 선택될 수 있다. 동작 1520에서 전자 장치는 사용자에 의해 선택된 영역을 결정하고 결정된 영역의 좌표를 추출할 수 있다.
동작 1530에서 전자 장치는 동작 1520에서 결정된 좌표에 해당하는 영역이 이미지인지 여부를 판단할 수 있다. 만약 이미지가 아닌 경우, 동작 1540으로 진행하여 텍스트 추출을 진행할 수 있다. 이 동작은 도 6에서 설명한 텍스트 추출 방식에 대응될 수 있다. 만약 해당 영역이 이미지인 경우, 전자 장치는 동작 1550에서 해당 영역에 대한 이미지 캡쳐를 수행하여 RAW 파일을 생성하고, 이 파일을 버퍼를 통해 OCR 엔진에 전달할 수 있다. 동작 1560에서 전자 장치는 OCR 엔진을 이용하여 이미지로부터 텍스트를 추출할 수 있다. 이 동작은 도 7에서 설명한 이미지 분석 방식에 대응될 수 있다.
도 15의 실시 예는 전술한 다양한 실시 예 중에서 사용자가 선택한 영역이 텍스트에 해당하는지 이미지에 해당하는지에 따라 분석 방식을 다르게 처리하는 예시로 이해될 수 있다. 이와 같은 분석 방식은 텍스트와 이미지가 혼재되어 있는 브라우저 어플리케이션의 실행 화면보다는 텍스트 또는 이미지로만 구성되어 있을 확률이 존재하는 메시지 어플리케이션, 이메일 어플리케이션, 또는 갤러리 어플리케이션 등의 실행 화면에서 동작할 수 있다.
동작 1570에서 전자 장치는 동작 1540 또는 동작 1560에서 추출된 텍스트를 이용하여 토큰 분석(예: Hermes service token 분석) 등을 수행할 수 있다. 이는 예시적인 것이며, 전술한 다양한 분석 방식이 적용될 수 있다. 분석된 결과 데이터 1571은 클립보드에 저장(동작 1580)되거나, 혹은 추천 동작 1573을 구성하기 위해 활용될 수 있다. 추천 동작 1573은, 예를 들어 웹 탐색(브라우저 어플리케이션), 이벤트 저장(캘린더 어플리케이션), 이메일 작성(이메일 어플리케이션), 전화 걸기(전화 어플리케이션), 메시지 작성(메시지 어플리케이션), 장소 보기(지도 어플리케이션)와 같은 다양한 동작을 포함할 수 있다. 분석 결과 데이터 1571에 하나 이상의 추천 동작 1573이 매칭된 경우, 분석 결과와 함께 추천 동작(어플리케이션 또는 메뉴)이 함께 제공될 수 있다.
동작 1590에서, 전자 장치는 사용자에 의해 영역이 추가적으로 선택되는 동작이 있는지 여부를 판단한다. 만약에 영역 선택 입력이 추가적으로 발생하면 동작 1520으로 진행하고, 추가적인 입력이 없는 경우 프로세스를 종료할 수 있다.
다양한 실시 예에 따른 정보 제공 방법은, 사용자 입력에 기초하여 선택 영역을 결정하는 동작, 상기 선택 영역에 포함된 적어도 하나의 오브젝트의 타입에 기반하여 추출 방식을 결정하는 동작, 상기 결정된 추출 방식에 따라 상기 선택 영역으로부터 정보를 추출하는 동작, 및 상기 정보에 기반하여 특정한 기능을 수행하는 동작을 포함할 수 있다. 또한 상기 방법은 상기 추출된 정보를 분석하여, 상기 분석 결과를 상기 전자 장치의 디스플레이에 출력하는 동작을 더 포함할 수 있다.
다양한 실시 예에서, 상기 선택 영역을 결정하는 동작은, 상기 사용자 입력의 시작 지점과 종료 지점을 대각선으로 하는 사각형 영역을 상기 선택 영역으로 결정하는 동작, 상기 사용자 입력에 의해 형성된 폐곡선에 내접하는 사각형 영역을 상기 선택 영역으로 결정하는 동작, 또는 상기 사용자 입력 중 수평 방향 입력 및 수직 방향 입력에 의한 드래그 영역을 상기 선택 영역으로 결정하는 동작을 포함할 수 있다. 또한 다양한 실시 예에서 상기 선택 영역을 결정하는 동작은, 상기 전자 장치를 선택 모드로 전환하는 입력을 수신하는 동작, 및 상기 입력이 수신된 후에 발생하는 상기 사용자 입력에 기초하여 상기 선택 영역을 결정하는 동작을 포함할 수 있다. 이 경우 상기 사용자 입력이 종료되면 상기 전자 장치의 상기 선택 모드를 해제하는 동작이 더 포함될 수 있다.
다양한 실시 예에서, 상기 추출 방식을 결정하는 동작은, 상기 선택 영역에 대응되는 상기 적어도 하나의 오브젝트의 타입을 판단하는 동작, 및 상기 오브젝트의 타입이 모두 텍스트 타입인 경우 텍스트 추출 방식으로, 상기 오브젝트 속성의 적어도 일부가 상기 텍스트 타입이 아닌 경우, 상기 텍스트 추출 방식 또는 이미지 분석 방식 중 적어도 하나의 방식으로 상기 추출 방식을 결정하는 동작을 포함할 수 있다.
다양한 실시 예에서, 상기 텍스트 추출 방식은, 상기 적어도 하나의 오브젝트를 포함하는 트리 구조를 분석하는 동작, 상기 트리 구조에 포함된 각각의 오브젝트의 타입 및 속성을 수집하는 동작, 및 상기 각각의 오브젝트 중 상기 선택 영역에 대응되는 상기 적어도 하나의 오브젝트로부터 텍스트 정보를 추출하는 동작을 포함할 수 있다. 또한 상기 텍스트 추출 방식은, 상기 텍스트 정보와 함께 텍스트 색상, 폰트, 또는 링크(link) 중 적어도 하나를 추출하는 동작을 포함할 수 있다.
다양한 실시 예에서, 상기 이미지 분석 방식은, 상기 선택 영역을 이미지 포맷으로 캡쳐하는 동작, 및 OCR 기법을 이용하여 상기 캡쳐된 이미지로부터 인식되는 텍스트를 추출하는 동작을 포함할 수 있다. 또한 상기 캡쳐하는 동작은, 상기 이미지를 캡쳐하는 동작, 및 캡쳐된 정보의 사이즈 정보를 헤더로 구성하여 비 가공 이미지 파일 포맷으로 버퍼에 저장하는 동작을 포함할 수 있다.
다양한 실시 예에서, 상기 정보를 추출하는 동작은, 상기 선택 영역으로부터 추출된 텍스트를 키워드로 하여 획득되는 정보를 추출 결과에 포함시키는 동작 또는 상기 선택 영역으로부터 추출된 텍스트를 상기 전자 장치의 내부 또는 외부에 위치한 DB와 비교하여 획득되는 정보를 추출 결과에 포함시키는 동작을 포함할 수 있다.
다양한 실시 예에서, 상기 분석 결과를 출력하는 동작은, 상기 분석 결과를 나타내는 아이콘을 상기 디스플레이의 일 지점에 출력하는 동작을 포함할 수 있다. 또한 상기 분석 결과를 출력하는 동작은, 상기 아이콘이 선택되는 경우 상기 분석 결과에 포함된 정보를 상기 디스플레이의 지정된 영역에 출력하는 동작을 포함할 수 있다. 또한 상기 분석 결과를 출력하는 동작은 상기 분석 결과에 포함된 정보를 상기 정보와 연관된 어플리케이션을 함께 제공하는 동작을 포함할 수 있다.
도 16은 다양한 실시 예에 따른 전자 장치 1601의 블록도 1600을 나타낸다.
도 16을 참조하면, 상기 전자 장치 1601은, 예를 들면, 도 1에 도시된 전자 장치 101의 전체 또는 일부를 포함할 수 있다. 상기 전자 장치 1601은 하나 이상의 어플리케이션 프로세서(AP) 1610, 통신 모듈 1620, SIM(subscriber identification module) 카드 1624, 메모리 1630, 센서 모듈 1640, 입력 장치 1650, 디스플레이 1660, 인터페이스 1670, 오디오 모듈 1680, 카메라 모듈 1691, 전력 관리 모듈 1695, 배터리 1696, 인디케이터 1697, 및 모터 1698을 포함할 수 있다.
상기 AP 1610은, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 상기 AP 1610에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP 1610은, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시 예에 따르면, 상기 AP 1610은 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 상기 AP 1610은 도 16에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈 1621)를 포함할 수도 있다. 상기 AP 1610은 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 통신 모듈 1620은, 도 1의 상기 통신 인터페이스 170과 동일 또는 유사한 구성을 가질 수 있다. 상기 통신 모듈 1620은, 예를 들면, 셀룰러 모듈 1621, Wi-Fi 모듈 1623, BT 모듈 1625, GPS 모듈 1627, NFC 모듈 1628 및 RF(radio frequency) 모듈 1629를 포함할 수 있다.
상기 셀룰러 모듈 1621은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 1621은 가입자 식별 모듈(예: SIM 카드 1624)을 이용하여 통신 네트워크 내에서 전자 장치 1601의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 1621은 상기 AP 1610이 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 1621은 커뮤니케이션 프로세서(CP)를 포함할 수 있다.
상기 Wi-Fi 모듈 1623, 상기 BT 모듈 1625, 상기 GPS 모듈 1627 또는 상기 NFC 모듈 1628 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈 1621, Wi-Fi 모듈 1623, BT 모듈 1625, GPS 모듈 1627 또는 NFC 모듈 1628 중 적어도 일부(예: 두 개 이상)는 하나의 IC(integrated chip) 또는 IC 패키지 내에 포함될 수 있다.
상기 RF 모듈 1629는, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. 상기 RF 모듈 1629는, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈 1621, Wi-Fi 모듈 1623, BT 모듈 1625, GPS 모듈 1627 또는 NFC 모듈 1628 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
상기 SIM 카드 1624는, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID (integrated circuit card identifier)) 또는 가입자 정보(예: IMSI (international mobile subscriber identity))를 포함할 수 있다.
상기 메모리 1630(예: 메모리 130)는, 예를 들면, 내장 메모리 1632 또는 외장 메모리 1634를 포함할 수 있다. 상기 내장 메모리 1632는, 예를 들면, 휘발성 메모리(예: 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) 중 적어도 하나를 포함할 수 있다.
상기 외장 메모리 1634는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 상기 외장 메모리 1634는 다양한 인터페이스를 통하여 상기 전자 장치 1601과 기능적으로 및/또는 물리적으로 연결될 수 있다.
상기 센서 모듈 1640은, 예를 들면, 물리량을 계측하거나 전자 장치 1601의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈 1640은, 예를 들면, 제스처 센서 1640A, 자이로 센서 1640B, 기압 센서 1640C, 마그네틱 센서 1640D, 가속도 센서 1640E, 그립 센서 1640F, 근접 센서 1640G, 컬러 센서 1640H(예: RGB 센서), 생체 센서 1640I, 온/습도 센서 1640J, 조도 센서 1640K, 또는 UV(ultra violet) 센서 1640M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈 1640은, 예를 들면, 후각 센서(E-nose sensor), EMG(electromyography) 센서, EEG(electroencephalogram) 센서, ECG(electrocardiogram) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 상기 센서 모듈 1640은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 1601은 AP 1610의 일부로서 또는 별도로, 센서 모듈 1640을 제어하도록 구성된 프로세서를 더 포함하여, 상기 AP 1610이 슬립(sleep) 상태에 있는 동안, 센서 모듈 1640을 제어할 수 있다.
상기 입력 장치 1650은, 예를 들면, 터치 패널(touch panel) 1652, (디지털) 펜 센서(pen sensor) 1654, 키(key) 1656, 또는 초음파(ultrasonic) 입력 장치 1658을 포함할 수 있다. 상기 터치 패널 1652는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 상기 터치 패널 1652는 제어 회로를 더 포함할 수도 있다. 상기 터치 패널 1652는 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서 1654는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 시트(sheet)를 포함할 수 있다. 상기 키 1656은, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 상기 초음파 입력 장치 1658은 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치 1601에서 마이크 (예: 마이크 1688)로 음파를 감지하여 데이터를 확인할 수 있다.
상기 디스플레이 1660(예: 디스플레이 160)은 패널 1662, 홀로그램 장치 1664, 또는 프로젝터 1666을 포함할 수 있다. 상기 패널 1662는, 도 1의 디스플레이 160과 동일 또는 유사한 구성을 포함할 수 있다. 상기 패널 1662는, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널 1662는 상기 터치 패널 1652와 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치 1664는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터 1666은 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치 1601의 내부 또는 외부에 위치할 수 있다. 한 실시 예에 따르면, 상기 디스플레이 1660은 상기 패널 1662, 상기 홀로그램 장치 1664, 또는 프로젝터 1666를 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스 1670은, 예를 들면, HDMI(high-definition multimedia interface) 1672, USB 1674, 광 인터페이스(optical interface) 1676, 또는 D-sub(D-subminiature) 1678을 포함할 수 있다. 상기 인터페이스 1670은, 예를 들면, 도 1에 도시된 통신 인터페이스 170에 포함될 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스 1670은, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD 카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈 1680은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 1680의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스 150에 포함될 수 있다. 상기 오디오 모듈 1680은, 예를 들면, 스피커 1682, 리시버 1684, 이어폰 1686, 또는 마이크 1688 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈 1691은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(예: LED 또는 제논 램프(xenon lamp))를 포함할 수 있다.
상기 전력 관리 모듈 1695는, 예를 들면, 상기 전자 장치 1601의 전력을 관리할 수 있다. 한 실시 예에 따르면, 상기 전력 관리 모듈 1695는 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. 상기 PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 상기 배터리 게이지는, 예를 들면, 상기 배터리 1696의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 상기 배터리 1696은, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터 1697은 상기 전자 장치 1601 혹은 그 일부(예: AP 1610)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터 1698은 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 상기 전자 장치 1601은 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어 플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
상기 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
다양한 실시 예에 따른 전자 장치는, 사용자에 의해 선택된 영역을 결정하는 영역 결정 모듈, 상기 선택 영역에 포함된 적어도 하나의 오브젝트의 타입에 기반하여 결정되는 추출 방식에 따라, 상기 선택 영역으로부터 정보를 추출하는 파싱(parsing) 모듈, 상기 추출된 정보에 기반하여 특정한 기능을 수행하는 제어 모듈을 포함할 수 있다.
다양한 실시 예에서, 상기 파싱 모듈은 상기 적어도 하나의 오브젝트의 타입 중 적어도 일부가 텍스트 타입이 아닌 경우, 상기 선택 영역을 캡쳐하여 비 가공 이미지 포맷으로 버퍼에 저장하고, 상기 전자 장치는 상기 버퍼에 저장된 이미지로부터 텍스트 인식을 수행하는 OCR 모듈을 더 포함할 수 있다. 또한 상기 버퍼에 저장된 이미지는 상기 선택 영역의 사이즈 정보를 파일 헤더에 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 프로세서(예: 프로세서 120)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 예를 들어, 상기 명령어는 상기 프로세서로 하여금 사용자 입력에 기초하여 선택 영역을 결정하는 동작, 상기 선택 영역에 포함된 적어도 하나의 오브젝트의 타입에 기반하여 추출 방식을 결정하는 동작, 상기 결정된 추출 방식에 따라 상기 선택 영역으로부터 텍스트 정보를 추출하여 분석하는 동작, 및 상기 분석 결과를 상기 전자 장치의 디스플레이에 출력하는 동작을 수행하도록 할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리 130이 될 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD, 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다. 예를 들어, 컴퓨터로 판독 가능한 명령어를 포함하는 기록 매체에 있어서, 상기 명령어는 전자 장치로 하여금, 사용자 입력에 기초하여 선택 영역을 결정하는 동작, 상기 선택 영역에 포함된 적어도 하나의 오브젝트의 타입에 기반하여 추출 방식을 결정하는 동작, 상기 결정된 추출 방식에 따라 상기 선택 영역으로부터 정보를 추출하는 동작, 및 상기 정보에 기반하여 특정한 기능을 수행하는 동작을 수행하도록 할 수 있다. 상기 기록 매체는 이 외에 전술한 다양한 방법 또는 동작을 수행하도록 하는 명령어를 포함할 수 있다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 발명의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.

Claims (20)

  1. 사용자 입력에 기초하여 선택 영역을 결정하는 동작,
    상기 선택 영역에 포함된 적어도 하나의 오브젝트의 타입에 기반하여 추출 방식을 결정하는 동작,
    상기 결정된 추출 방식에 따라 상기 선택 영역으로부터 정보를 추출하는 동작, 및
    상기 정보에 기반하여 특정한 기능을 수행하는 동작을 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 추출된 정보를 분석하여, 상기 분석 결과를 전자 장치의 디스플레이에 출력하는 동작을 더 포함하는, 정보 제공 방법.
  3. 청구항 1에 있어서, 상기 선택 영역을 결정하는 동작은,
    상기 사용자 입력의 시작 지점과 종료 지점을 대각선으로 하는 사각형 영역을 상기 선택 영역으로 결정하는 동작을 포함하는, 정보 제공 방법.
  4. 청구항 1에 있어서, 상기 선택 영역을 결정하는 동작은,
    상기 사용자 입력에 의해 형성된 폐곡선에 내접하는 사각형 영역을 상기 선택 영역으로 결정하는 동작을 포함하는, 정보 제공 방법.
  5. 청구항 1에 있어서, 상기 선택 영역을 결정하는 동작은,
    상기 사용자 입력 중 수평 방향 입력 및 수직 방향 입력에 의한 드래그 영역을 상기 선택 영역으로 결정하는 동작을 포함하는, 정보 제공 방법.
  6. 청구항 1에 있어서, 상기 선택 영역을 결정하는 동작은,
    전자 장치를 선택 모드로 전환하는 입력을 수신하는 동작, 및
    상기 입력이 수신된 후에 발생하는 상기 사용자 입력에 기초하여 상기 선택 영역을 결정하는 동작을 포함하는, 정보 제공 방법.
  7. 청구항 1에 있어서, 상기 추출 방식을 결정하는 동작은,
    상기 선택 영역에 대응되는 상기 적어도 하나의 오브젝트의 타입을 판단하는 동작, 및
    상기 오브젝트의 타입이 모두 텍스트 타입인 경우 텍스트 추출 방식으로, 상기 오브젝트 속성의 적어도 일부가 상기 텍스트 타입이 아닌 경우, 상기 텍스트 추출 방식 또는 이미지 분석 방식 중 적어도 하나의 방식으로 상기 추출 방식을 결정하는 동작을 포함하는, 정보 제공 방법.
  8. 청구항 7에 있어서, 상기 텍스트 추출 방식은,
    상기 적어도 하나의 오브젝트를 포함하는 트리 구조를 분석하는 동작,
    상기 트리 구조에 포함된 각각의 오브젝트의 타입 및 속성을 수집하는 동작, 및
    상기 각각의 오브젝트 중 상기 선택 영역에 대응되는 상기 적어도 하나의 오브젝트로부터 텍스트 정보를 추출하는 동작을 포함하는, 정보 제공 방법.
  9. 청구항 8에 있어서, 상기 텍스트 추출 방식은,
    상기 텍스트 정보와 함께 텍스트 색상, 폰트, 또는 링크(link) 중 적어도 하나를 추출하는 동작을 포함하는, 정보 제공 방법.
  10. 청구항 7에 있어서, 상기 이미지 분석 방식은,
    상기 선택 영역을 이미지 포맷으로 캡쳐하는 동작, 및
    OCR 기법을 이용하여 상기 캡쳐된 이미지로부터 인식되는 텍스트를 추출하는 동작을 포함하는, 정보 제공 방법.
  11. 청구항 10에 있어서, 상기 캡쳐하는 동작은,
    상기 이미지를 캡쳐하는 동작, 및
    캡쳐된 정보의 사이즈 정보를 헤더로 구성하여 비 가공 이미지 파일 포맷으로 버퍼에 저장하는 동작을 포함하는, 정보 제공 방법.
  12. 청구항 1에 있어서, 상기 정보를 추출하는 동작은,
    상기 선택 영역으로부터 추출된 텍스트를 키워드로 하여 획득되는 정보를 추출 결과에 포함시키는 동작을 포함하는, 정보 제공 방법.
  13. 청구항 1에 있어서, 상기 정보를 추출하는 동작은,
    상기 선택 영역으로부터 추출된 텍스트를 전자 장치의 내부 또는 외부에 위치한 DB와 비교하여 획득되는 정보를 추출 결과에 포함시키는 동작을 포함하는, 정보 제공 방법.
  14. 청구항 2에 있어서, 상기 분석 결과를 출력하는 동작은,
    상기 분석 결과를 나타내는 아이콘을 상기 디스플레이의 일 지점에 출력하는 동작을 포함하는, 정보 제공 방법.
  15. 청구항 14에 있어서, 상기 분석 결과를 출력하는 동작은,
    상기 아이콘이 선택되는 경우, 상기 분석 결과에 포함된 정보를 상기 디스플레이의 지정된 영역에 출력하는 동작을 포함하는, 정보 제공 방법.
  16. 청구항 15에 있어서, 상기 분석 결과를 출력하는 동작은
    상기 분석 결과에 포함된 정보를 상기 정보와 연관된 어플리케이션을 함께 제공하는 동작을 포함하는, 정보 제공 방법.
  17. 사용자에 의해 선택된 영역을 결정하는 영역 결정 모듈,
    상기 선택 영역에 포함된 적어도 하나의 오브젝트의 타입에 기반하여 결정되는 추출 방식에 따라, 상기 선택 영역으로부터 정보를 추출하는 파싱(parsing) 모듈,
    상기 추출된 정보에 기반하여 특정한 기능을 수행하는 제어 모듈을 포함하는 전자 장치.
  18. 청구항 17에 있어서,
    상기 파싱 모듈은 상기 적어도 하나의 오브젝트의 타입 중 적어도 일부가 텍스트 타입이 아닌 경우, 상기 선택 영역을 캡쳐하여 비 가공 이미지 포맷으로 버퍼에 저장하고,
    상기 전자 장치는 상기 버퍼에 저장된 이미지로부터 텍스트 인식을 수행하는 OCR 모듈을 더 포함하는, 전자 장치.
  19. 청구항 18에 있어서,
    상기 버퍼에 저장된 이미지는 상기 선택 영역의 사이즈 정보를 파일 헤더에 포함하도록 설정되는, 전자 장치.
  20. 컴퓨터로 판독 가능한 명령어를 포함하는 기록 매체에 있어서, 상기 명령어는 전자 장치로 하여금,
    사용자 입력에 기초하여 선택 영역을 결정하는 동작,
    상기 선택 영역에 포함된 적어도 하나의 오브젝트의 타입에 기반하여 추출 방식을 결정하는 동작,
    상기 결정된 추출 방식에 따라 상기 선택 영역으로부터 정보를 추출하는 동작, 및
    상기 정보에 기반하여 특정한 기능을 수행하는 동작을 수행하도록 하는, 기록 매체.
KR1020140114104A 2014-08-29 2014-08-29 스크랩 정보를 제공하는 전자 장치 및 그 제공 방법 KR102309175B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020140114104A KR102309175B1 (ko) 2014-08-29 2014-08-29 스크랩 정보를 제공하는 전자 장치 및 그 제공 방법
CN201580056392.6A CN107077292B (zh) 2014-08-29 2015-08-28 剪贴信息提供方法和装置
EP15183014.8A EP2990930B1 (en) 2014-08-29 2015-08-28 Scraped information providing method and apparatus
PCT/KR2015/009078 WO2016032288A1 (en) 2014-08-29 2015-08-28 Scrapped information providing method and apparatus
US14/839,071 US9922260B2 (en) 2014-08-29 2015-08-28 Scrapped information providing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140114104A KR102309175B1 (ko) 2014-08-29 2014-08-29 스크랩 정보를 제공하는 전자 장치 및 그 제공 방법

Publications (2)

Publication Number Publication Date
KR20160026142A true KR20160026142A (ko) 2016-03-09
KR102309175B1 KR102309175B1 (ko) 2021-10-06

Family

ID=54145549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140114104A KR102309175B1 (ko) 2014-08-29 2014-08-29 스크랩 정보를 제공하는 전자 장치 및 그 제공 방법

Country Status (5)

Country Link
US (1) US9922260B2 (ko)
EP (1) EP2990930B1 (ko)
KR (1) KR102309175B1 (ko)
CN (1) CN107077292B (ko)
WO (1) WO2016032288A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190014082A (ko) * 2016-06-07 2019-02-11 알리바바 그룹 홀딩 리미티드 데이터를 추출하는 방법, 장치 및 단말 장치
KR20220119873A (ko) * 2021-02-22 2022-08-30 네이버 주식회사 테이블 생성 방법 및 시스템

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD734774S1 (en) 2013-06-09 2015-07-21 Apple Inc. Display screen or portion thereof with graphical user interface
USD769295S1 (en) * 2015-02-27 2016-10-18 Samsung Electronics Co., Ltd. Display screen or portion thereof with animated graphical user interface
USD768177S1 (en) * 2015-02-27 2016-10-04 Samsung Electronics Co., Ltd. Display screen or portion thereof with animated graphical user interface
USD768688S1 (en) * 2015-07-22 2016-10-11 Francis Christopher Chow-Quan Display screen with transitional graphical user interface
USD789962S1 (en) * 2015-07-29 2017-06-20 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
KR20170016165A (ko) * 2015-08-03 2017-02-13 엘지전자 주식회사 이동단말기 및 그 제어방법
US10222979B2 (en) * 2015-12-04 2019-03-05 Datalogic Usa, Inc. Size adjustable soft activation trigger for touch displays on electronic device
USD800742S1 (en) * 2016-03-25 2017-10-24 Illumina, Inc. Display screen or portion thereof with graphical user interface
CN113407743A (zh) * 2016-04-08 2021-09-17 北京三星通信技术研究有限公司 物体信息翻译、以及衍生信息获取方法和装置
USD839896S1 (en) * 2016-10-05 2019-02-05 Google Llc Display screen or portion thereof with graphical user interface
USD834602S1 (en) * 2016-12-05 2018-11-27 Google Llc Computer with a transitional graphical user interface
USD839881S1 (en) 2016-12-22 2019-02-05 Nutanix, Inc. Display screen or portion thereof with dual panel graphical user interface
USD835630S1 (en) 2016-12-22 2018-12-11 Nutanix, Inc. Display screen or portion thereof with dual panel graphical user interface
USD872099S1 (en) * 2016-12-22 2020-01-07 Nutanix, Inc. Display screen or portion thereof with dual panel graphical user interface
USD875116S1 (en) * 2017-02-22 2020-02-11 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD937292S1 (en) * 2017-04-19 2021-11-30 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD831689S1 (en) * 2017-06-11 2018-10-23 Facebook, Inc. Display panel of a programmed computer system with a graphical user interface
USD849770S1 (en) * 2017-06-11 2019-05-28 Facebook, Inc. Display panel of a programmed computer system with a graphical user interface
USD916763S1 (en) * 2017-11-04 2021-04-20 Beijing Xinmei Hutong Technology Co., Ltd. Display screen or portion thereof with animated graphical user interface
CN107943390B (zh) * 2017-11-15 2020-04-24 维沃移动通信有限公司 一种文字复制方法及移动终端
USD874496S1 (en) * 2017-11-17 2020-02-04 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD941301S1 (en) * 2018-11-06 2022-01-18 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD914052S1 (en) * 2018-11-23 2021-03-23 Lg Electronics Inc. Display screen with animated graphical user interface
KR102592595B1 (ko) * 2018-12-07 2023-10-23 한국전자통신연구원 영상 내 문자 자동번역 시스템 및 방법
KR102543695B1 (ko) * 2019-01-18 2023-06-16 삼성전자주식회사 영상 처리 방법 및 이를 지원하는 전자 장치
CN110309392A (zh) * 2019-03-21 2019-10-08 广州国音智能科技有限公司 一种获取网页正文内容的方法和相关装置
KR20220102302A (ko) * 2021-01-13 2022-07-20 삼성전자주식회사 클립보드 기능을 제공하기 위한 방법 및 이를 지원하는 전자 장치
US11902651B2 (en) 2021-04-19 2024-02-13 Apple Inc. User interfaces for managing visual content in media
US12001642B2 (en) 2021-04-19 2024-06-04 Apple Inc. User interfaces for managing visual content in media
US11696017B2 (en) 2021-05-19 2023-07-04 Apple Inc. User interface for managing audible descriptions for visual media
USD997966S1 (en) * 2022-09-19 2023-09-05 Mobeus Industries, Inc. Display screen or portion thereof with animated graphical user interface

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060026593A (ko) * 2004-09-21 2006-03-24 삼성전자주식회사 파일 포맷 변환기능을 갖는 화상형성장치 및 그 방법
US20080226119A1 (en) * 2007-03-16 2008-09-18 Brant Candelore Content image search
KR20130141672A (ko) * 2011-03-25 2013-12-26 엘지전자 주식회사 차량에 장착되는 영상표시기기에서의 이미지 처리
KR20140030387A (ko) * 2012-08-27 2014-03-12 삼성전자주식회사 컨텐츠 활용 기능 지원 방법 및 이를 지원하는 단말기

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US8259338B2 (en) * 2004-09-21 2012-09-04 Samsung Electronics Co., Ltd. Image forming apparatus and method of file conversion
JP2007034847A (ja) * 2005-07-28 2007-02-08 Canon Inc 検索装置及び検索方法
US7899829B1 (en) * 2005-12-14 2011-03-01 Unifi Scientific Advances, Inc. Intelligent bookmarks and information management system based on same
JP2008203984A (ja) * 2007-02-16 2008-09-04 Nec Corp 文字列変換装置及び文字列変換方法
JP2009271693A (ja) * 2008-05-07 2009-11-19 Canon Inc 画像処理装置、画像処理方法、プログラム、記憶媒体
KR20100028344A (ko) 2008-09-04 2010-03-12 삼성전자주식회사 휴대단말의 영상 편집 방법 및 장치
US8321802B2 (en) 2008-11-13 2012-11-27 Qualcomm Incorporated Method and system for context dependent pop-up menus
US8495062B2 (en) * 2009-07-24 2013-07-23 Avaya Inc. System and method for generating search terms
JP5423282B2 (ja) * 2009-09-25 2014-02-19 バイドゥ株式会社 情報処理装置、情報処理方法およびプログラム
US8520983B2 (en) * 2009-10-07 2013-08-27 Google Inc. Gesture-based selective text recognition
KR20120021061A (ko) * 2010-08-31 2012-03-08 삼성전자주식회사 특정 영역에서 키워드를 추출하는 검색 서비스 제공방법 및 이를 적용한 디스플레이 장치
KR101838260B1 (ko) 2011-06-03 2018-03-13 구글 엘엘씨 텍스트를 선택하기 위한 제스처들
KR101809750B1 (ko) 2011-06-22 2018-01-18 엘지전자 주식회사 스캔 이미지 편집 방법, 이의 표시기기
US9582187B2 (en) 2011-07-14 2017-02-28 Microsoft Technology Licensing, Llc Dynamic context based menus
US10620822B2 (en) * 2011-11-09 2020-04-14 Adventures Gmbh Method and system for selecting and providing content of interest
KR102007840B1 (ko) 2012-04-13 2019-08-06 엘지전자 주식회사 이미지 검색 방법 및 이를 위한 디지털 디바이스
KR20140008987A (ko) 2012-07-13 2014-01-22 삼성전자주식회사 필기 이미지 인식을 이용한 어플리케이션 제어 방법 및 장치
KR102013329B1 (ko) 2012-08-23 2019-08-22 삼성전자 주식회사 광학식 문자 판독기를 이용한 데이터 처리 방법 및 장치
KR102068604B1 (ko) * 2012-08-28 2020-01-22 삼성전자 주식회사 휴대단말기의 문자 인식장치 및 방법
US9645717B2 (en) 2012-09-05 2017-05-09 Sap Portals Israel Ltd. Managing a selection mode for presented content
CN103077388B (zh) * 2012-10-31 2016-01-20 浙江大学 面向便携式计算设备的快速文本扫读方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060026593A (ko) * 2004-09-21 2006-03-24 삼성전자주식회사 파일 포맷 변환기능을 갖는 화상형성장치 및 그 방법
US20080226119A1 (en) * 2007-03-16 2008-09-18 Brant Candelore Content image search
KR20130141672A (ko) * 2011-03-25 2013-12-26 엘지전자 주식회사 차량에 장착되는 영상표시기기에서의 이미지 처리
KR20140030387A (ko) * 2012-08-27 2014-03-12 삼성전자주식회사 컨텐츠 활용 기능 지원 방법 및 이를 지원하는 단말기

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190014082A (ko) * 2016-06-07 2019-02-11 알리바바 그룹 홀딩 리미티드 데이터를 추출하는 방법, 장치 및 단말 장치
US11175820B2 (en) 2016-06-07 2021-11-16 Advanced New Technologies Co., Ltd. Method, device, and terminal device for extracting data
KR20220119873A (ko) * 2021-02-22 2022-08-30 네이버 주식회사 테이블 생성 방법 및 시스템

Also Published As

Publication number Publication date
WO2016032288A1 (en) 2016-03-03
EP2990930A1 (en) 2016-03-02
KR102309175B1 (ko) 2021-10-06
CN107077292A (zh) 2017-08-18
US20160063339A1 (en) 2016-03-03
EP2990930B1 (en) 2022-04-20
CN107077292B (zh) 2021-07-06
US9922260B2 (en) 2018-03-20

Similar Documents

Publication Publication Date Title
KR102309175B1 (ko) 스크랩 정보를 제공하는 전자 장치 및 그 제공 방법
KR102497195B1 (ko) 컨텐츠를 처리하는 방법 및 이를 위한 전자 장치 및 저장 매체
US10366519B2 (en) Operating method for image and electronic device supporting the same
US10021569B2 (en) Theme applying method and electronic device for performing the same
CN110476189B (zh) 用于在电子装置中提供增强现实功能的方法和设备
KR102326200B1 (ko) 전자 장치 및 전자 장치의 알림 제공 방법
US10445045B2 (en) Electronic device and method of processing information in electronic device
US20190026017A1 (en) Method for displaying user interface and electronic device for supporting same
KR20160046401A (ko) 보안을 제어하기 위한 방법 및 그 전자 장치
EP3062238A1 (en) Summarization by sentence extraction and translation of summaries containing named entities
US10719209B2 (en) Method for outputting screen and electronic device supporting the same
US10613724B2 (en) Control method for selecting and pasting content
KR20160071897A (ko) 전자장치 및 전자장치의 어플리케이션 실행 방법
US20170046062A1 (en) Method and electronic device for processing user input
US10645211B2 (en) Text input method and electronic device supporting the same
KR102351317B1 (ko) 전자문서 표시 방법 및 전자 장치
US20180173701A1 (en) Method for contents tagging and electronic device supporting the same
KR20160077772A (ko) 전자 장치 및 전자 장치에서 문자 입력을 처리하는 방법
KR20160112217A (ko) 전자 장치 및 전자 장치에서의 정보 처리 방법
US20180074697A1 (en) Method for outputting screen according to force input and electronic device supporting the same
KR102648551B1 (ko) 콘텐트를 선택하기 위한 방법 및 그 전자 장치
KR20160027777A (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