KR102457894B1 - 디스플레이에 표시된 텍스트를 번역하는 방법 및 장치 - Google Patents

디스플레이에 표시된 텍스트를 번역하는 방법 및 장치 Download PDF

Info

Publication number
KR102457894B1
KR102457894B1 KR1020170106355A KR20170106355A KR102457894B1 KR 102457894 B1 KR102457894 B1 KR 102457894B1 KR 1020170106355 A KR1020170106355 A KR 1020170106355A KR 20170106355 A KR20170106355 A KR 20170106355A KR 102457894 B1 KR102457894 B1 KR 102457894B1
Authority
KR
South Korea
Prior art keywords
electronic device
text
display
translation
mode
Prior art date
Application number
KR1020170106355A
Other languages
English (en)
Other versions
KR20190021146A (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 KR1020170106355A priority Critical patent/KR102457894B1/ko
Priority to US16/107,120 priority patent/US20190065476A1/en
Publication of KR20190021146A publication Critical patent/KR20190021146A/ko
Application granted granted Critical
Publication of KR102457894B1 publication Critical patent/KR102457894B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • 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/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/02Recognising information on displays, dials, clocks

Abstract

본 문서에 개시된 실시 예들은 디스플레이에 표시된 문자를 인식하는 방법과 이를 지원하는 장치에 관한 것이다. 본 발명의 다양한 실시 예에 따른 전자 장치는, 하우징, 상기 하우징의 일부분을 통해 노출된 터치스크린 디스플레이, 상기 터치스크린에 전기적으로 연결된 프로세서 및 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금, 복수의 단어들을 포함하는 텍스트로 구성된 사용자 인터페이스를 표시하고, 제 1 모드에서, 상기 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 1 위치를 감지하고, 상기 제 1 위치에 적어도 일부 기반하여 단일의 단어(single word)를 결정하고, 상기 단일의 단어에 대한 언어 번역을 제공하고, 제 2 모드에서, 상기 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 2 위치를 감지하고, 상기 제 2 위치에 적어도 일부 기반하여 둘 이상의 단어들(two or more words)를 결정하고, 상기 둘 이상의 단어들에 대한 언어 번역을 제공하도록 하는 명령어들을 저장할 수 있다.

Description

디스플레이에 표시된 텍스트를 번역하는 방법 및 장치{METHOD AND DEVICE FOR TRANSLATING TEXT DISPLAYED ON DISPLAY}
본 문서에 개시된 실시 예들은 디스플레이에 표시된 텍스트를 번역하는 방법과 이를 지원하는 장치에 관한 것이다.
문자를 인식하는 기술이 발달함에 따라, 전자 장치의 디스플레이에 표시된 문자를 인식하여 사용자가 원하는 언어로 번역을 제공하는 서비스가 제공되고 있다.
문자 인식은 전자 장치의 디스플레이에 표시된 문자 또는 사용자의 입력에 따른 문자를 전자 장치의 프로세서가 자동으로 찾아 인식하는 기술을 말하며, 그 방법으로는 패턴 정합법(pattern matching)과 구조 분석법(structure analysis) 등이 있다. 전자는 주로 인쇄 문자의 인식에, 후자는 주로 필기 문자의 인식에 사용된다. 양자의 중간적인 문자 인식 방식으로 특징 정합법(feature matching) 및 획 분석법(stroke analysis) 등이 있으며, 각각의 용도나 목적에 맞추어 구분하여 사용된다.
전자 장치의 디스플레이에 표시된 문자를 인식하기 위해 광학 문자 인식(optical character recognition; 이하 OCR) 기법이 적용될 수 있다. OCR 기법은 사람의 필기나 기계로 인쇄된 문자가 포함된 출력물을 광학 장비(예: 카메라, 스캐너 등)를 통해 이미지로 획득하고, 획득된 이미지를 기계가 읽을 수 있는 형태로 변환하는 기법을 의미한다. OCR 기법은 이미지의 형태로 획득한 문자를 판독하기 때문에, 예를 들어 소문자 엘(l), 대문자 아이(I) 및 숫자 일(1)과 같이 비슷한 모양의 서로 다른 문자들을 구별하기 어려워 문자를 인식하는데 약간의 오류가 있을 수 있다. 또한 전자 장치의 디스플레이에 표시된 문자를 언어 번역의 대상으로 선택할 때 글의 일부 또는 전체를 선택하는데 있어서 단일의 단어, 구 또는 문장을 구분하는데 번거로움이 있을 수 있다.
본 발명의 일 실시 예는 다양한 문자 인식 기술을 이용하여 전자 장치의 디스플레이에 표시된 문자를 인식하고, 언어 번역의 대상이 되는 텍스트의 일부 또는 전체를 결정하는 방법을 제공할 수 있으며, 특히, 외부 오브젝트의 위치에 기초하여 언어 번역의 대상을 결정하는 방법을 제공할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치는, 하우징, 상기 하우징의 일부분을 통해 노출된 터치스크린 디스플레이, 상기 터치스크린에 전기적으로 연결된 프로세서 및 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금, 복수의 단어들을 포함하는 텍스트로 구성된 사용자 인터페이스를 표시하고, 제 1 모드에서, 상기 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 1 위치를 감지하고, 상기 제 1 위치에 적어도 일부 기반하여 단일의 단어(single word)를 결정하고, 상기 단일의 단어에 대한 언어 번역을 제공하고, 제 2 모드에서, 상기 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 2 위치를 감지하고, 상기 제 2 위치에 적어도 일부 기반하여 둘 이상의 단어들(two or more words)를 결정하고, 상기 둘 이상의 단어들에 대한 언어 번역을 제공하도록 하는 명령어들을 저장할 수 있다.
본 발명의 다양한 실시 예에 따라 전자 장치의 디스플레이에 표시된 문자를 인식하는 방법에 있어서, 상기 방법은, 복수의 단어들을 포함하는 텍스트로 구성된 사용자 인터페이스를 표시하는 동작, 제 1 모드에서, 상기 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 1 위치를 감지하고, 상기 제 1 위치에 적어도 일부 기반하여 단일의 단어(single word)를 결정하고, 상기 단일의 단어에 대한 언어 번역을 제공하는 동작 및 제 2 모드에서, 상기 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 2 위치를 감지하고, 상기 제 2 위치에 적어도 일부 기반하여 둘 이상의 단어들(two or more words)를 결정하고, 상기 둘 이상의 단어들에 대한 언어 번역을 제공하는 동작을 포함할 수 있다.
본 발명의 일 실시 예에 따른 전자 장치는 디스플레이에 표시된 문자를 인식할 때, 다양한 문자 인식 기술을 혼용하여 보다 정확하고 효율적으로 문자를 인식할 수 있다.
본 발명의 일 실시 예에 따른 전자 장치는 번역의 대상이 되는 문자를 임의로 선택할 수 있으며, 특히, 외부 오브젝트를 이용한 사용자 입력에 기초하여 전자 장치의 디스플레이에 표시된 텍스트에 포함된 단어, 구 또는 문장을 손쉽게 번역할 수 있다.
도 1은 다양한 실시 예들에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다.
도 2는 다양한 실시 예들에 따른 표시 장치(160)의 블록도(200)이다.
도 3은 다양한 실시 예에 따른 프로그램(140)의 블록도(300)이다.
도 4는 다양한 실시 예에 따른 전자 장치를 이용하여 단일의 단어를 선택하고, 선택된 단어를 번역하는 방법을 설명하기 위한 도면이다.
도 5는 다양한 실시 예에 따른 전자 장치에서 단일의 단어 번역 모드 또는 둘 이상의 단어들을 가지는 문장 번역 모드가 실행되는 방법을 설명하기 위한 도면이다.
도 6은 다양한 실시 예에 따른 전자 장치에서 번역의 대상이 되는 문장 또는 문단을 선택하는 방법을 설명하기 위한 도면이다.
도 7은 다양한 실시 예에 따라 OCR 기법을 이용하기 위해서, 언어 번역의 대상으로 결정된 텍스트를 이미지화하는 방법을 설명하기 위한 순서도 이다.
도 8은 다양한 실시 예에 따른 전자 장치에서 OCR 기법을 이용하여 이미지 형태의 텍스트를 인식하는 방법을 설명하기 위한 도면이다.
도 9는 다양한 실시 예에 따른 전자 장치에서 OCR 기법을 이용하여 적어도 하나의 단어를 인식하는 방법을 설명하기 위한 도면이다.
도 10은 다양한 실시 예에 따른 전자 장치에서 OCR 기법을 이용하여 적어도 하나의 문장을 인식하는 방법을 설명하기 위한 도면이다.
도 11은 다양한 실시 예에 따른 전자 장치에서 OCR 기법 및 텍스트 추출 기술을 이용하여 문자를 인식하고, 오인식된 문자를 보정하는 방법을 설명하기 위한 순서도이다.
도 12는 다양한 실시 예에 따른 전자 장치에서 OCR 기법 및 텍스트 추출 기술을 이용하여 문장을 인식하고, 문장 내 오인식된 내용을 보정하는 방법을 설명하기 위한 도면이다.
도 13은 다양한 실시 예에 따른 전자 장치에서 OCR 기법 및 텍스트 추출 기술을 모두 이용하여 텍스트를 추출하는 경우와 OCR 기법만을 이용하여 텍스트를 추출하는 경우를 비교하여 설명하기 위한 도면이다.
도 14a 내지 14b는 다양한 실시 예에 따른 전자 장치에서 디스플레이에 표시된 적어도 하나의 문자를 인식하는 방법을 설명하기 위한 순서도 이다.
도 15a 내지 15b는 다양한 실시 예에 따른 전자 장치에서 통화 단위 또는 계량 단위에 대한 번역을 수행하는 방법을 설명하기 위한 도면이다.
도 16은 다양한 실시 예에 따라 전자 장치의 디스플레이에 표시된 텍스트를 번역하는 방법을 설명하기 위한 순서도 이다.
도 17a 내지 17b는 다양한 실시 예에 따른 전자 장치(101)의 전면 및 후면의 사시도 이다.
이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다.
도 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)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시 예들에 따른, 표시 장치(160)의 블록도(200)이다. 도 2를 참조하면, 표시 장치(160)는 디스플레이(210), 및 이를 제어하기 위한 디스플레이 드라이버 IC(DDI)(230)를 포함할 수 있다. DDI(230)는 인터페이스 모듈(231), 메모리(233)(예: 버퍼 메모리), 이미지 처리 모듈(235), 또는 맵핑 모듈(237)을 포함할 수 있다. DDI(230)은, 예를 들면, 인터페이스 모듈(231)을 통하여 프로세서(120)(예: 메인 프로세서(121)(예: 어플리케이션 프로세서) 또는 메인 프로세서(121)의 기능과 독립적으로 운영되는 보조 프로세서(123))로부터 영상 데이터, 또는 상기 영상 데이터를 제어하기 위한 명령에 대응하는 영상 제어 신호를 포함하는 영상 정보를 수신할 수 있다. DDI(230)는 터치 회로(250) 또는 센서 모듈(176) 등과 상기 인터페이스 모듈(231)을 통하여 커뮤니케이션할 수 있다. 또한, DDI(230)는 상기 수신된 영상 정보 중 적어도 일부를 메모리(233)에, 예를 들면, 프레임 단위로 저장할 수 있다. 이미지 처리 모듈(235)은, 예를 들면, 상기 영상 데이터의 적어도 일부를 상기 영상 데이터의 특성 또는 디스플레이(210)의 특성에 적어도 기반하여 전처리 또는 후처리(예: 해상도, 밝기, 또는 크기 조정)를 수행할 수 있다. 맵핑 모듈(237)은 디스플레이(210)의 픽셀들의 속성(예: 픽셀들의 배열(RGB stripe 또는 pentile), 또는 서브 픽셀들 각각의 크기)에 적어도 일부 기반하여, 이미지 처리 모듈(235)를 통해 전처리 또는 후처리된 상기 영상 데이터를 상기 픽셀들을 구동할 수 있는 전압 값 또는 전류 값으로 변환할 수 있다. 디스플레이(210)의 적어도 일부 픽셀들은, 예를 들면, 상기 전압 값 또는 전류 값에 기반하여 구동됨으로써 상기 영상 데이터에 대응하는 시각적 정보(예: 텍스트, 이미지, 또는 아이콘)가 디스플레이(210)에 표시될 수 있다.
일 실시 예에 따르면, 표시 장치(160)는 터치 회로(250)를 더 포함할 수 있다. 터치 회로(250)는 터치 센서(251) 및 이를 제어하기 위한 터치 센서 IC(253)를 포함할 수 있다. 터치 센서 IC(253)는 터치 센서(251)를 제어하여, 예를 들면, 디스플레이(210)의 특정 위치에 대한 신호(예: 전압, 광량, 저항, 또는 전하량)의 변화를 측정함으로써 상기 특정 위치에 대한 터치 입력 또는 호버링 입력을 감지하고, 감지된 터치 입력 또는 호버링 입력에 관한 정보(예: 위치, 면적, 압력, 또는 시간)를 프로세서(120) 에 제공할 수 있다. 일 실시 예에 따르면, 터치 회로(250)의 적어도 일부(예: 터치 센서 IC(253))는 디스플레이 드라이버 IC(230), 또는 디스플레이(210)의 일부로, 또는 표시 장치(160)의 외부에 배치된 다른 구성요소(예: 보조 프로세서(123))의 일부로 포함될 수 있다.
일 실시 예에 따르면, 표시 장치(160)는 센서 모듈(176)의 적어도 하나의 센서(예: 지문 센서, 홍채 센서, 압력 센서 또는 조도 센서), 또는 이에 대한 제어 회로를 더 포함할 수 있다. 이 경우, 상기 적어도 하나의 센서 또는 이에 대한 제어 회로는 표시 장치(160)의 일부(예: 디스플레이(210) 또는 DDI(230)) 또는 터치 회로(250)의 일부에 임베디드되어 구현될 수 있다. 예를 들면, 표시 장치(160)에 임베디드된 센서 모듈(176)이 생체 센서(예: 지문 센서)를 포함할 경우, 상기 생체 센서는 디스플레이(210)의 일부 영역을 통해 터치 입력과 연관된 생체 정보(예: 지문 이미지)를 획득할 수 있다. 다른 예를 들면, 표시 장치(160)에 임베디드된 센서 모듈(176)이 압력 센서를 포함할 경우, 상기 압력 센서는 디스플레이(210)의 일부 또는 전체 영역을 통해 터치 입력에 대한 압력 정보를 획득할 수 있다. 일 실시 예에 따르면, 터치 센서(251) 또는 센서 모듈(176)은 디스플레이(210)의 픽셀 레이어의 픽셀들 사이에, 또는 상기 픽셀 레이어의 위에 또는 아래에 배치될 수 있다.
도 3은 다양한 실시 예에 따른 프로그램(140)의 블록도(300)이다. 일 실시 예에 따르면, 프로그램(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)는, 예를 들면, 어플리케이션 매니저(301), 윈도우 매니저(303), 멀티미디어 매니저(305), 리소스 매니저(307), 파워 매니저(309), 데이터베이스 매니저(311), 패키지 매니저(313), 커넥티비티 매니저(315), 노티피케이션 매니저(317), 로케이션 매니저(319), 그래픽 매니저(321), 시큐리티 매니저(323), 통화 매니저(325), 또는 음성 인식 매니저(327)를 포함할 수 있다. 어플리케이션 매니저(301)는, 예를 들면, 어플리케이션(146)의 생명 주기를 관리할 수 있다. 윈도우 매니저(303)는, 예를 들면, 화면에서 사용되는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(305)는, 예를 들면, 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(307)는, 예를 들면, 어플리케이션(146)의 소스 코드 또는 메모리의 공간을 관리할 수 있다. 파워 매니저(309)는, 예를 들면, 배터리의 용량, 온도 또는 전원을 관리하고, 이 중 해당 정보를 이용하여 전자 장치(101)의 동작에 필요한 전력 정보를 결정 또는 제공할 수 있다. 일 실시 예에 따르면, 파워 매니저(309)는 바이오스(BIOS: basic input/output system)와 연동할 수 있다.
데이터베이스 매니저(311)는, 예를 들면, 어플리케이션(146)에서 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(313)는, 예를 들면, 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다. 커넥티비티 매니저(315)는, 예를 들면, 전자 장치(101)와 외부 전자 장치 간의 무선 또는 유선 연결을 관리할 수 있다. 노티피케이션 매니저(317)는, 예를 들면, 발생된 이벤트(예: 통화, 메시지, 또는 알람)를 사용자에게 알리기 위한 기능을 제공할 수 있다. 로케이션 매니저(319)는, 예를 들면, 전자 장치(101)의 위치 정보를 관리할 수 있다. 그래픽 매니저(321)는, 예를 들면, 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 시큐리티 매니저(323)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 통화(telephony) 매니저(325)는, 예를 들면, 전자 장치(101)의 음성 통화 또는 영상 통화 기능을 관리할 수 있다. 음성 인식 매니저(327)는, 예를 들면, 사용자의 음성 데이터를 서버(108)로 전송하고, 해당 음성 데이터에 기반하여 전자 장치(101)에서 수행될 기능에 대응하는 명령어(command) 또는 해당 음성 데이터에 기반하여 변환된 문자 데이터를 수신할 수 있다. 일 실시 예에 따르면, 미들 웨어(344)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 일 실시 예에 따르면, 미들 웨어(144)의 적어도 일부는 운영 체제(142)의 일부로 포함되거나, 또는 운영 체제(142)와는 별도의 소프트웨어로 구현될 수 있다.
어플리케이션(146)은, 예를 들면, 홈(351), 다이얼러(353), SMS/MMS(355), IM(instant message)(357), 브라우저(359), 카메라(361), 알람(363), 컨택트(365), 음성 인식(367), 이메일(369), 달력(371), 미디어 플레이어(373), 앨범(375), 와치(377), 헬스(379)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(381)(예: 기압, 습도, 또는 온도 정보) 어플리케이션을 포함할 수 있다. 일 실시 예에 따르면, 어플리케이션(146)은 전자 장치(101)와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션(미도시)을 더 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치로 지정된 정보 (예: 통화, 메시지, 또는 알람)를 전달하기 위한 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리 어플리케이션을 포함할 수 있다. 노티피케이션 릴레이 어플리케이션은, 예를 들면, 전자 장치(101)의 다른 어플리케이션(예: 이메일 어플리케이션(369))에서 발생된 이벤트(예: 메일 수신)에 대응하는 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 전자 장치(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)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치는, 하우징, 상기 하우징의 일부분을 통해 노출된 터치스크린 디스플레이, 상기 터치스크린에 전기적으로 연결된 프로세서 및 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금, 복수의 단어들을 포함하는 텍스트로 구성된 사용자 인터페이스를 표시하고, 제 1 모드에서, 상기 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 1 위치를 감지하고, 상기 제 1 위치에 적어도 일부 기반하여 단일의 단어(single word)를 결정하고, 상기 단일의 단어에 대한 언어 번역을 제공하고, 제 2 모드에서, 상기 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 2 위치를 감지하고, 상기 제 2 위치에 적어도 일부 기반하여 둘 이상의 단어들(two or more words)를 결정하고, 상기 둘 이상의 단어들에 대한 언어 번역을 제공하도록 하는 명령어들을 저장할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치에 있어서, 상기 복수의 단어들은 적어도 하나의 구(phrase) 또는 문장(sentence)을 형성하고, 상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금, 상기 제 2 모드에서, 상기 제 2 위치에 적어도 일부 기반하여 상기 적어도 하나의 구 또는 문장을 결정하고, 상기 사용자 인터페이스에 상기 결정된 구 또는 문장에 대한 언어 번역을 제공하도록 하는 명령어들을 더 저장할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치에 있어서, 상기 사용자 인터페이스는 상기 제 1 모드 및 상기 제 2 모드 사이의 전환을 위한 가상 버튼을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치에 있어서, 상기 메모리는, 상기 전자 장치가 상기 제 1 모드로 설정되는 제 1 사용자 입력 및 상기 제 2 모드로 설정되는 제 2 사용자 입력을 구분하기 위한 터치 입력의 지속 시간, 터치 입력의 세기 및 호버링 입력이 감지되는 거리 등에 대한 임계치를 더 저장할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치에 있어서, 상기 외부 오브젝트는 스타일러스 펜(stylus pen)을 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치에 있어서, 상기 하우징은 상기 스타일러스 펜을 수용하기 위한 구조를 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치에 있어서, 상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금, 상기 디스플레이와 접촉하고 있는 외부 오브젝트를 감지한 후, 상기 텍스트 내의 단어 근처에 메뉴를 표시하고, 상기 디스플레이와 접촉하지 않은 채 상기 디스플레이에 근접한 외부 오브젝트를 감지한 후, 상기 제 1 모드에서 상기 단일의 단어에 대한 언어 번역을 표시하거나 상기 제 2 모드에서 상기 둘 이상의 단어들에 대한 언어 번역을 표시하게 하는 명령어들을 더 저장할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치에 있어서, 상기 메뉴는 전체 선택, 복사, 붙이기(paste) 및 공유 중 적어도 하나 이상을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치에 있어서, 상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금, 상기 결정된 단일의 단어 또는 상기 결정된 둘 이상의 단어들 근처에 상기 언어 번역을 포함하는 팝업 윈도우를 표시하도록 하는 명령어를 더 저장할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치에 있어서, 상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금, 상기 제 1 위치에 대응되는 상기 디스플레이 상의 위치를 식별하고, 상기 디스플레이의 상의 상기 식별된 위치에 표시된 텍스트의 타입에 기초하여, 상기 텍스트에 포함된 상기 단일의 단어 또는 상기 둘 이상의 단어들을 결정하고, 상기 결정된 상기 단일의 단어 또는 상기 둘 이상의 단어들에 대응되는 이미지를 생성한 후, OCR(optical character recognition) 기법을 이용하여 상기 생성된 이미지로부터 제 1 텍스트를 추출하고, 상기 추출된 제 1 텍스트에 대한 언어 번역을 제공하게 하는 명령어들을 저장할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치에 있어서, 상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금, 상기 텍스트의 타입이 문자 타입인 경우, 상기 텍스트를 상기 식별된 위치에 표시하도록 설정된 어플리케이션으로부터 상기 텍스트와 관련된 제 2 텍스트를 추출하고, 상기 제 2 텍스트 중 상기 제 1 텍스트와 대응되는 제 3 텍스트를 획득하고, 상기 제 3 텍스트에 기초하여 상기 제 1 텍스트의 오류가 수정된 제 4 텍스트를 획득하게 하는 명령어들을 저장할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치에 있어서, 상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금, 상기 제 4 텍스트에 통화 단위(currency unit)가 포함되어 있는 경우, 상기 언어 번역의 목표 언어(target language)가 사용되는 국가의 통화 단위에 기초하여 상기 통화 단위에 대한 단위 번역을 제공하고, 상기 제 4 텍스트에 계량 단위(measuring unit)가 포함되어 있는 경우, 상기 언어 번역의 목표 언어가 사용되는 국가의 계량 단위에 기초하여 상기 계량 단위에 대한 단위 번역을 제공하게 하는 명령어들을 저장할 수 있다.
도 4는 다양한 실시 예에 따른 전자 장치를 이용하여 단일의 단어를 선택하고, 선택된 단어를 번역하는 방법을 설명하기 위한 도면이다.
상기 방법을 수행하는 주체는 표시 장치(160)(예: 디스플레이) 및 프로세서(120)를 포함하여 이루어진 전자 장치(101)에 있어서, 상기 프로세서일 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 디스플레이(210) 상에 수신되는 입력의 위치를 식별할 수 있다. 디스플레이(210) 상에 수신되는 입력은 외부 전자 장치(450)(예: 스타일러스 펜(stylus pen)과 같은 입력 장치 등) 또는 사용자의 신체 중 적어도 일부에 의한 호버링 입력이나 터치 입력을 포함할 수 있다. 예를 들어, 전자 장치(101)는 외부 전자 장치(450)에 의한 호버링 입력이 감지되는 경우, 상기 호버링 입력이 감지되는 디스플레이(210) 상의 위치를 식별할 수 있다. 이 경우, 식별된 위치는 적어도 하나의 좌표로 표현될 수 있다. 전자 장치(101)는 감지된 호버링 입력을 시각적으로 나타내기 위하여, 디스플레이(210) 상의 식별된 위치에 커서(cursor) 등의 그래픽 사용자 인터페이스를 표시할 수 있다.
전자 장치(101)는 외부 전자 장치(450) 또는 사용자로부터 수신된 요청에 응답하여, 화면(400)을 표시할 수 있다. 화면(400)은 적어도 하나 이상의 가상 버튼(virtual button)(401) 및 반투명 형태의 윈도우(405)로 구성될 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 외부 전자 장치(450)로부터 적어도 하나 이상의 신호가 수신되는 것에 응답하여 화면(400)을 표시할 수 있다. 전자 장치(101)는 화면(400)에 포함된 가상 버튼(401)에 입력(403)(예: 호버링 입력 또는 터치 입력 등)이 수신되는 경우, 가상 버튼(401)과 연결된 프로그램, 예컨대, 번역 어플리케이션(예: Air dictionary 등)을 실행할 수 있다. 이 때, 가상 버튼(401)과 연결된 프로그램의 실행에 대응하여, 화면(400)은 더 이상 표시되지 않을 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 전자 장치(101)에서 실행 중인 적어도 하나의 어플리케이션의 실행 화면을 디스플레이(210)에 표시할 수 있다. 예컨대, 전자 장치(101)는 브라우저 어플리케이션의 실행 요청에 응답하여 브라우저 어플리케이션의 실행 화면(415)을 디스플레이(210)에 표시할 수 있다. 이 때, 브라우저 어플리케이션의 실행 화면(415)은 이미지 또는 텍스트(text, 예: 단어(word), 구(phrase), 문장(sentence) 등을 포함)로 구성될 수 있다. 또한, 전자 장치(101)는 번역 어플리케이션에 대한 실행 요청에 응답하여 번역 언어를 선택하기 위한 메뉴(411) 및 커서(412)가 포함된 번역 어플리케이션의 사용자 인터페이스를 디스플레이(210)에 표시할 수 있다.
화면(410) 및 화면(420)을 참조하면, 브라우저 어플리케이션의 실행 화면(415)과 함께 번역 어플리케이션의 사용자 인터페이스가 표시된 것을 확인할 수 있다. 전자 장치(101)는 메뉴(411)를 통해 언어 번역의 기점 언어(source language)(예: English) 및 목표 언어(target language)(예: Korean)를 표시 및 선택할 수 있고, 커서(412)를 통해 언어 번역의 대상으로 지정된 텍스트를 가리킬 수 있다. 이 때, 번역의 대상이 선택되었음을 사용자에게 알려주는 방법으로, 상기 선택된 텍스트를 강조하여 표시(예: 밑줄, 굵은 활자체(bold) 등)하는 방법, 상기 텍스트의 색을 변경하는 방법 또는 커서(예: 화살표, 돋보기 등)를 표시하여 상기 텍스트를 가리키는 방법 등이 이용될 수 있다.
일 실시 예에 따르면, 웹 브라우저 어플리케이션 및 번역 어플리케이션이 실행된 경우, 전자 장치(101)는 디스플레이(210) 상에 수신되는 입력의 위치를 식별하고, 식별된 위치에 표시된 텍스트를 언어 번역의 대상으로 결정할 수 있다. 예컨대, 화면(410)과 같이, 외부 전자 장치(450)가 전자 장치(101)의 디스플레이(210)에 근접하거나 디스플레이(210)와 접촉하는 경우, 전자 장치(101)는 터치 센서를 이용하여 외부 전자 장치(450)의 위치를 검출할 수 있다. 또한, 전자 장치(101)는 검출된 외부 전자 장치(450)의 위치를 이용하여, 외부 전자 장치(450)의 위치와 대응되는 디스플레이(210) 상의 위치(414)를 식별할 수 있다. 예컨대, 전자 장치(101)는 외부 전자 장치(450)의 송수신부로부터 출력된 적어도 하나 이상의 신호가 감지되는 디스플레이(210) 상의 위치를, 식별된 위치(414)로 결정할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 디스플레이(210) 상의 식별된 위치(414)에 표시된 적어도 하나의 텍스트를 언어 번역의 대상으로 결정할 수 있다. 예컨대, 전자 장치(101)는 디스플레이(210) 상의 식별된 위치(414)에 표시된 적어도 하나의 텍스트로서 단일의 단어(413)를 결정할 수 있다. 전자 장치(101)는 결정된 단어(413)에 대한 언어 번역을 수행할 수 있으며, 수행된 언어 번역의 결과를 다양한 형태로 출력할 수 있다. 예컨대, 전자 장치(101)는 언어 번역의 결과를 디스플레이(210)를 통해 팝업 윈도우(pop-up window)로 표시하거나, 음향 출력 장치(155)를 통해 소리로 출력할 수 있다. 화면(420)과 같이, 전자 장치(101)는 결정된 단어(413)에 대한 언어 번역의 결과를, 상기 결정된 단어(413)의 근처에 팝업 윈도우(423)로 표시할 수 있다.
도 5는 다양한 실시 예에 따른 전자 장치에서 단일의 단어 번역 모드 또는 둘 이상의 단어들을 가지는 문장 번역 모드가 실행되는 방법을 설명하기 위한 도면이다.
상기 방법을 수행하는 주체는 표시 장치(160)(예: 디스플레이) 및 프로세서(120)를 포함하여 이루어진 전자 장치(101)에 있어서, 상기 프로세서일 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 외부로부터 수신된 요청에 응답하여, 단어 번역 모드 및 문장 번역 모드 중 하나를 선택할 수 있다. 전자 장치(101)는 번역 어플리케이션에 대한 실행 요청에 응답하여 번역 어플리케이션의 사용자 인터페이스를 디스플레이(210)에 표시할 수 있다. 번역 어플리케이션의 사용자 인터페이스는 단어 번역 모드 또는 문장 번역 모드를 선택할 수 있는 가상 버튼을 포함할 수 있다. 예컨대, 번역 어플리케이션의 사용자 인터페이스는, 화면(500)과 같이, 단어 번역 모드를 나타내는 가상 버튼(501)을 포함하거나, 화면(510)과 같이, 문장 번역 모드를 나타내는 가상 버튼(511)을 포함할 수 있다. 단어 번역 모드를 나타내는 가상 버튼(501) 및 문장 번역 모드를 나타내는 가상 버튼(511)은 동일한 위치에 표시될 수 있으며, 외부로부터 수신된 입력에 대응하여 상호 전환될 수 있다. 예를 들어, 화면(500)과 같이, 단어 번역 모드를 나타내는 가상 버튼(501)에 외부 전자 장치(550)에 의한 입력이 수신되는 경우, 전자 장치(101)는 단어 번역 모드를 문장 번역 모드로 전환할 수 있다. 전자 장치(101)가 문장 번역 모드로 전환됨에 따라, 화면(510)과 같이, 문장 번역 모드를 나타내는 가상 버튼(511)이 활성화 될 수 있다. 이와 마찬가지로, 문장 번역 모드를 나타내는 가상 버튼(511)에 외부 전자 장치(551)에 의한 입력이 수신되는 경우, 전자 장치(101)는 문장 번역 모드를 단어 번역 모드로 전환할 수 있다.
또 다른 실시 예에 따르면, 전자 장치(101)는 전자 장치(101)의 설정이나 전자 장치(101)의 위치에 기초하여, 단어 번역 모드로 설정된 전자 장치(101)의 기본 모드(default mode)를 문장 번역 모드로 변경할 수 있다. 일반적으로, 번역 어플리케이션의 실행에 따라 전자 장치(101)의 기본 모드는 단어 번역 모드로 설정될 수 있다. 하지만, 전자 장치(101)의 기본 언어(default language)가 특정 언어로 변경되거나, 전자 장치(101)가 특정 국가에 위치한 것으로 판단되는 경우, 전자 장치(101)는 단어 번역 모드로 설정된 전자 장치(101)의 기본 모드를 문장 번역 모드로 변경할 수 있다. 예를 들어, 전자 장치(101)의 기본 언어가 중국어 또는 일본어와 같이, 문장에 띄어쓰기(공백)가 없어 개별 단어에 대한 번역보다 문장에 대한 번역이 유의미한 의미를 가질 수 있는 언어로 설정되는 경우, 전자 장치(101)는 문장 번역 모드를 기본 모드로 선택할 수 있다. 다시 말해, 전자 장치(101)의 기본 모드가 단어 번역 모드로 설정되어 있더라도, 전자 장치(101)의 기본 언어가 중국어 또는 일본어로 설정되면, 전자 장치(101)는 기본 모드를 문장 번역 모드로 전환할 수 있다. 또한, 전자 장치(101)는 전자 장치(101)의 위치에 기초하여, 단어 번역 모드 및 문장 번역 모드 중 하나를 기본 모드(default mode)로 선택할 수 있다. 예컨대, 통신 모듈(190)을 통해 확인된 전자 장치(101)의 위치가 중국 또는 일본인 경우, 전자 장치(101)는 문장 번역 모드를 기본 모드로 선택할 수 있다.
또 다른 실시 예에 따르면, 전자 장치(101)는 디스플레이(210) 상의 특정 위치에 수신되는 입력의 종류에 기초하여, 단어 번역 모드로 설정된 전자 장치(101)의 기본 모드(default mode)를 문장 번역 모드로 변경할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 디스플레이(210) 상의 특정 위치에 수신되는 입력의 지속시간이 지정된 시간을 경과하기 전까지는 기본 모드인 단어 번역 모드에 따라 단어 번역을 수행하고, 특정 위치에 수신되는 입력의 지속시간이 지정된 시간을 경과하면 단어 번역 모드를 문장 번역 모드로 전환함으로써 문장 번역 모드에 따라 문장 번역을 수행할 수 있다. 예를 들어, 전자 장치(101)는 외부로부터 수신되는 입력의 위치를 식별하고, 식별된 위치에 표시된 텍스트를 언어 번역의 대상으로 결정할 수 있다. 이 때, 언어 번역의 대상으로 결정된 텍스트에 적어도 하나의 단어 및 상기 적어도 하나의 단어를 포함하는 문장 전체가 포함되는 경우, 전자 장치(101)는 기본 모드인 단어 번역 모드에 따라 상기 적어도 하나의 단어에 대한 언어 번역을 우선적으로 수행할 수 있다. 만약, 상기 식별된 위치에 수신되는 입력의 지속시간이 지정된 시간을 초과하면, 전자 장치(101)는 단어 번역 모드를 문장 번역 모드로 전환할 수 있으며 문장 번역 모드에 따라 상기 적어도 하나의 단어를 포함하는 문장 전체에 대한 언어 번역을 수행할 수 있다.
또한, 일 실시 예에 따르면, 전자 장치(101)는 디스플레이(210) 상의 특정 위치에 수신되는 제 1 입력에 대응하여 단어 번역을 수행하고, 특정 위치에 수신되는 제 2 입력에 대응하여 문장 번역을 수행할 수 있다. 예를 들어, 전자 장치(101)는 디스플레이(210) 상의 특정 위치에 디스플레이(210)와 접촉하지 않는 호버링 입력이 감지되면 단어 번역을 수행하고, 디스플레이(210) 상의 특정 위치에 디스플레이(210)와 접촉하는 터치 입력이 감지되면 문장 번역을 수행할 수 있다. 이밖에, 전자 장치(101)는 호버링 입력이 감지되는 거리가 제 1 거리 이상일 경우 제 1 입력으로 인식하고, 호버링 입력이 감지되는 거리가 제 1 거리 미만일 경우 제 2 입력으로 인식할 수 있다. 또한, 전자 장치(101)는 터치 입력의 세기가 임계치 이하일 경우 제 1 입력으로 인식하고, 터치 입력의 세기가 임계치를 초과하는 경우, 제 2 입력으로 인식할 수 있다. 이처럼, 전자 장치(101)는 디스플레이(210) 상의 특정 위치에 수신되어 서로 구별되는 제 1 입력 및 제 2 입력에 따라 단어 번역 모드 또는 문장 번역 모드로 언어 번역을 수행할 수 있다.
일 실시 예에 따르면, 화면(520)과 같이, 외부 전자 장치(552)가 전자 장치(101)의 디스플레이(210)에 근접하거나 디스플레이(210)와 접촉하는 경우, 전자 장치(101)는 터치 센서를 이용하여 외부 전자 장치(552)의 위치를 검출할 수 있다. 전자 장치(101)는 검출된 외부 전자 장치(552)의 위치에 일부 기반하여, 외부 전자 장치(552)의 위치와 대응되는 디스플레이(210) 상의 위치(525)를 식별할 수 있다. 전자 장치(101)는 디스플레이(210) 상의 식별된 위치(525)에 표시된 적어도 하나의 단어(521) 또는 문장(또는 단락, 둘 이상의 단어)(523)을 언어 번역의 대상으로 결정할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 단어 번역 모드에서는 상기 결정된 적어도 하나의 단어(521)에 대한 언어 번역을 제공하고, 문장 번역 모드에서는 상기 결정된 문장(또는 단락, 둘 이상의 단어)(523)에 대한 언어 번역을 제공할 수 있다.
전자 장치(101)는 식별된 위치(525)에 외부 전자 장치(552)로부터 수신되는 입력의 지속 시간 또는 입력의 종류에 기초하여, 단어 번역 모드 또는 문장 번역 모드를 선택할 수 있다. 예를 들어, 식별된 위치(525)에 외부 전자 장치(552)로부터 수신되는 입력의 지속 시간이 임계치 이하인 경우, 전자 장치(101)는 단어 번역 모드를 선택하고, 적어도 하나의 단어(521)에 대한 언어 번역을 수행할 수 있다. 만약, 식별된 위치(525)에 외부 전자 장치(552)로부터 수신되는 입력의 지속 시간이 임계치를 초과하는 경우, 전자 장치(101)는 문장 번역 모드를 선택하고, 문장(523)에 대한 언어 번역을 수행할 수 있다.
또한, 식별된 위치(525)에 외부 전자 장치(552)로부터 수신되는 입력이 호버링 입력인 경우, 전자 장치(101)는 단어 번역 모드를 선택하고, 적어도 하나의 단어(521)에 대한 언어 번역을 수행할 수 있다. 만약, 식별된 위치(525)에 외부 전자 장치(552)로부터 수신되는 입력이 터치 입력인 경우, 전자 장치(101)는 문장 번역 모드를 선택하고, 문장(523)에 대한 언어 번역을 수행할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 화면(530)과 같이, 언어 번역을 수행한 결과를 디스플레이(210)를 통해 표시할 수 있다. 예를 들어, 전자 장치(101)는 외부 전자 장치(553)가 검출된 위치에 적어도 일부 기반하여 적어도 하나의 단어(521) 또는 문장(523)을 언어 번역의 대상으로 결정하고, 결정된 적어도 하나의 단어(521) 또는 문장(523)에 대하여 언어 번역을 수행하고, 수행된 언어 번역의 결과를 포함하는 팝업 윈도우(531)를 표시할 수 있다. 여기서, 팝업 윈도우를 표시하는 것은 언어 번역의 결과를 출력하는 하나의 실시 예일 뿐, 전자 장치(101)는 번역의 결과를 다양한 형태로 출력할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 디스플레이(210)에 표시된 적어도 하나의 텍스트에 외부 전자 장치에 의한 호버링 입력이 감지되는 경우, 상기 적어도 하나의 텍스트에 대한 언어 번역을 수행할 수 있다. 또한, 전자 장치(101)는 디스플레이(210)에 외부 전자 장치에 의한 드래그 입력이 감지되는 경우, 감지된 드래그 입력에 대응하여 디스플레이(210)에 표시된 화면을 스크롤하여 표시할 수 있다. 또한, 전자 장치(101)는 디스플레이(210)에 외부 전자 장치에 의한 롱-프레스(long-press) 입력(예컨대, 하나의 지점에 미리 설정된 시간 동안 감지되는 터치 입력)이 감지되는 경우, 감지된 롱-프레스 입력에 대응하여 전체 선택, 복사, 붙이기(paste) 및 공유 중 적어도 하나의 기능과 관련된 메뉴를 표시할 수 있다.
한편, 결정된 적어도 하나의 단어(521) 또는 문장(523)에 통화(currency) 단위(예: KRW, USD, EUR, CNY, ₩, $, €, ¥ 등) 또는 계량 단위(measuring unit)(예: 센티미터(cm), 킬로그램(kg), 마일(mile), 피트(ft), 인치(inch) 등)가 포함된 경우, 전자 장치(101)는 전자 장치(101)의 기본 언어 또는 언어 번역의 목표 언어를 고려하여 통화 단위 또는 계량 단위에 대한 번역을 수행할 수 있다. 통화 단위 또는 계량 단위에 대하여 추가로 수행된 번역의 결과(533)는 언어 번역의 결과를 포함하는 팝업 윈도우(531)에 포함될 수 있다. 통화 단위 또는 계량 단위에 대한 번역을 추가로 수행하는 실시 예는 도 15a 내지 15b를 통해 자세히 후술하기로 한다.
도 6은 다양한 실시 예에 따른 전자 장치에서 번역의 대상이 되는 문장 또는 문단을 선택하는 방법을 설명하기 위한 도면이다.
상기 방법을 수행하는 주체는 표시 장치(160)(예: 디스플레이) 및 프로세서(120)를 포함하여 이루어진 전자 장치(101)에 있어서, 상기 프로세서일 수 있다.
일 실시 예에 따르면, 화면(600)과 같이, 외부 전자 장치(650)가 전자 장치(101)의 디스플레이(210)에 근접하거나 디스플레이(210)와 접촉하는 경우, 전자 장치(101)는 터치 센서를 이용하여 외부 전자 장치(650)의 위치를 검출할 수 있다. 전자 장치(101)는 검출된 외부 전자 장치(650)의 위치를 이용하여, 외부 전자 장치(650)의 위치와 대응되는 디스플레이(210) 상의 위치(605)를 식별할 수 있다. 전자 장치(101)는 디스플레이(210) 상의 식별된 위치(605)에 표시된 적어도 하나의 텍스트(603)를 언어 번역의 대상으로 결정할 수 있다. 한편, 화면(600)에 포함된 가상 버튼(601)을 참고하면, 전자 장치(101)가 문장 번역 모드로 설정되어 있음을 알 수 있다.
일 실시 예에 따라 전자 장치(101)가 문장 번역 모드로 설정된 경우, 전자 장치(101)는 언어 번역의 대상이 되는 문장 또는 문단을 자동으로 결정할 수 있다. 예를 들어, 전자 장치(101)는 디스플레이(210) 상의 식별된 위치(605)에 표시된 적어도 하나의 텍스트(예: 단어(603))를 포함하는 문장을 언어 번역의 대상으로 결정할 수 있다. 이 때, 전자 장치(101)는 마침표(.), 세미콜론(;) 또는 띄어쓰기(공백) 등에 기초하여, 문장의 시작과 끝을 식별할 수 있다.
일 실시 예에 따르면, 디스플레이(210) 상의 식별된 위치(605)에 표시된 적어도 하나의 텍스트가 언어 번역의 대상으로 결정되는 경우, 전자 장치(101)는 사용자가 언어 번역의 대상이 되는 범위를 수정하는데 이용할 수 있는 그래픽 사용자 인터페이스(662)를 표시할 수 있으며, 해당 인터페이스(662)의 움직임에 따라 언어 번역의 대상이 되는 범위(661)를 변경하여 표시할 수 있다. 이에 따라, 전자 장치(101)는 변경된 범위(661)에 포함된 텍스트를 언어 번역의 대상으로 결정할 수 있다. 또한, 전자 장치(101)는 번역의 대상으로 결정된 텍스트에 대한 언어 번역의 결과를 포함하는 팝업 윈도우(665)를 표시할 수 있다. 만약, 화면(660)의 그래픽 사용자 인터페이스(662)가 화면(670)의 그래픽 사용자 인터페이스(672)로 변경되면, 전자 장치(101)는 해당 변경에 따라 언어 번역 대상의 범위(671)를 표시할 수 있으며, 변경된 범위(671)에 포함된 텍스트를 언어 번역의 대상으로 새롭게 결정할 수 있다. 또한, 전자 장치(101)는 새롭게 결정된 텍스트에 대한 언어 번역을 수행할 수 있으며, 수행된 언어 번역의 결과를 포함하는 팝업 윈도우(675)를 표시할 수 있다.
한편, 본 발명의 다양한 실시 예들은 상기한 실시 예들로 한정되지 않으며, 도 6에 포함된 가상 버튼 및 그래픽 사용자 인터페이스는 다양한 형태로 구성될 수 있음을 밝혀둔다.
도 7 내지 도 10은 다양한 실시 예에 따라 언어 번역의 대상으로 결정된 텍스트를 OCR 기법을 통해 인식하는 방법을 설명하기 위한 도면들이다.
도 7은 다양한 실시 예에 따라 OCR 기법을 이용하기 위해서, 언어 번역의 대상으로 결정된 텍스트를 이미지화하는 방법을 설명하기 위한 순서도 이다.
상기 방법을 수행하는 주체는 표시 장치(160)(예: 디스플레이) 및 프로세서(120)를 포함하여 이루어진 전자 장치(101)에 있어서, 상기 프로세서일 수 있다.
다양한 실시 예에 따른 전자 장치(101)에서 OCR 기법을 이용하기 위해서는 언어 번역의 대상으로 결정된 텍스트를 이미지화하는 과정, 예컨대, 전자 장치(101)의 디스플레이(210)에 표시된 전체 화면을 캡처(capture)하는 과정이 요구된다. 이와 관련하여, 도 7은 언어 번역의 대상으로 결정된 텍스트를 이미지화하여 OCR 엔진에 전달할 때, 잘라내기(crop) 할 영역을 결정하는 방법과 관련된 것이다.
일 실시 예에 따르면, 동작 700에서, 전자 장치(101)는 디스플레이(210) 상에 수신되는 입력의 위치를 식별할 수 있다. 예컨대, 외부 전자 장치(102)가 전자 장치(101)의 디스플레이(210)에 근접하거나 디스플레이(210)와 접촉하는 경우, 전자 장치(101)는 터치 센서를 이용하여 외부 전자 장치(102)의 위치를 검출할 수 있다. 또한, 전자 장치(101)는 검출된 외부 전자 장치(102)의 위치를 이용하여, 외부 전자 장치(102)의 위치와 대응되는 디스플레이(210) 상의 위치를 식별할 수 있다.
동작 705에서, 전자 장치(101)는 디스플레이(210) 상의 식별된 위치에 표시된 텍스트가 문자 타입인지 아니면 이미지 타입인지를 판단할 수 있다. 여기서, 문자 타입은 단어(word), 구(phrase) 및 문장(sentence) 등으로 구성된 텍스트를 의미할 수 있다. 또한, 이미지 타입은 사진과 같은 정적인 이미지는 물론 동영상과 같은 동적인 이미지 파일에 포함되어 있는 텍스트를 의미할 수 있다.
만약, 식별된 위치에 표시된 텍스트가 문자 타입이 아닐 경우, 즉 이미지 파일에 포함되어 있을 경우에 전자 장치(101)는 동작 735를 수행할 수 있다.
동작 735에서, 전자 장치(101)는 전자 장치(101)의 기본 폰트(또는 시스템 폰트)의 크기를 획득할 수 있다. 여기서 기본 폰트(default font)란, 전자 장치(101)에서 적어도 하나의 프로그램(예: OS, 각종 어플리케이션 등)이 실행될 때 전자 장치(101)의 디스플레이(210)를 통해 출력되는 대표 활자 꼴을 의미할 수 있다. 또한, 동작 735에서 획득되는 기본 폰트의 크기에는 기본 폰트의 절대적인 크기와 관련된 정보 또는, 상대적인 크기와 관련된 정보, 예컨대, 배율(scale factor) 정보 등이 포함될 수 있다.
동작 740에서, 전자 장치(101)는 획득된 기본 폰트의 크기에 기초하여, 언어 번역의 대상으로 결정된 텍스트를 획득하기 위한 영역을 결정할 수 있다. 예컨대, 전자 장치(101)는 전자 장치(101)의 디스플레이(210)의 가로 길이(screen width)를 가로 길이(740의 Width)로 갖고, 기본 폰트의 높이(height)의 X 배를 세로 길이(740의 Height)로 갖는 직사각형의 내부 영역을 OCR 엔진에 전달하기 위해 잘라내기(crop) 할 영역으로 결정할 수 있다. 여기서, X는 1보다 큰 자연수일 수 있다.
동작 745에서, 전자 장치(101)는 동작 740에서 결정된 영역의 이미지 데이터를 획득할 수 있다. 예컨대, 전자 장치(101)는 상기 결정된 직사각형의 중심이 동작 700에서 식별된 위치와 가장 가까운 곳에 위치할 수 있도록 상기 결정된 직사각형의 위치를 조정할 수 있다. 전자 장치(101)는 디스플레이(210)에 표시된 전체 화면을 캡처한 후, 상기 결정된 직사각형의 내부 영역을 잘라내기(crop)하여 OCR 엔진에 전달할 수 있다.
만약, 식별된 위치에 표시된 텍스트가 문자 타입일 경우, 전자 장치(101)는 동작 710을 수행할 수 있다.
동작 710에서, 전자 장치(101)는 언어 번역의 대상으로 결정된 텍스트를 동작 700에서 식별된 위치에 표시하도록 설정된 어플리케이션이, 전자 장치(101)에 설치된 운영 체제(OS)의 표준을 따르는 프로그램인지 여부를 판단할 수 있다. 대부분의 어플리케이션들은 전자 장치에 설치된 운영 체제 상에서 구동되기 때문에, 운영 체제의 표준을 따르며 운영 체제 별로 설정된 규칙에 따라 제작될 수 있다. 다만, 일부 어플리케이션, 예컨대, 브라우저 또는 eBook과 같이 자체적인 화면 구성이 가능한 어플리케이션은 운영 체제 별로 설정된 규칙과 관계 없이 메타데이터(예: HTML 등)를 구성할 수 있기 때문에, 상기 식별된 위치에 표시된 문자 및 상기 식별된 위치와 대응되는 메타데이터 간에 아무런 관련이 없을 수 있다. 이에 따라, 어플리케이션이 운영 체제의 표준을 따르는지 여부에 따라 OCR 엔진에 전달하기 위해 잘라내기(crop) 할 영역은 달라질 수 있으므로, 동작 710에서, 전자 장치(101)는 어플리케이션이 운영 체제의 표준을 따르는지 여부를 고려할 수 있다.
만약, 언어 번역의 대상으로 결정된 텍스트를 동작 700에서 식별된 위치에 표시하도록 설정된 어플리케이션이 전자 장치(101)에 설치된 운영 체제(OS)의 표준을 따르는 프로그램일 경우, 전자 장치(101)는 동작 715를 수행할 수 있다.
동작 715에서, 전자 장치(101)는 언어 번역의 대상으로 결정된 텍스트를 동작 700에서 식별된 위치에 표시하도록 설정된 어플리케이션으로부터, 상기 식별된 위치에 표시된 텍스트를 포함하는 영역의 크기를 획득할 수 있다. 예컨대, 전자 장치(101)에 설치된 운영 체제가 안드로이드 OS일 경우, 전자 장치(101)는 상기 식별된 위치에 표시된 텍스트를 구성하는 텍스트뷰(TextView)의 크기를 획득할 수 있다.
동작 720에서, 전자 장치(101)는 획득된 영역의 크기에 기초하여, OCR 엔진에 전달하기 위해 잘라내기(crop) 할 영역을 결정할 수 있다. 예를 들어, 전자 장치(101)는 획득된 텍스트뷰의 가로 길이를 가로 길이(720의 Width)로 갖고, 획득된 텍스트뷰의 세로 길이를 세로 길이(720의 height)로 갖는 직사각형의 내부 영역을 OCR 엔진에 전달하기 위해 잘라내기(crop) 할 영역으로 결정할 수 있다.
동작 745에서, 전자 장치(101)는 동작 720에서 결정된 영역의 이미지 데이터를 획득할 수 있다. 예컨대, 전자 장치(101)는 상기 결정된 직사각형의 중심이 동작 700에서 식별된 위치와 가장 가까운 곳에 위치할 수 있도록 상기 결정된 직사각형의 위치를 조정할 수 있다. 전자 장치(101)는 디스플레이(210)에 표시된 전체 화면을 캡처한 후, 상기 결정된 직사각형의 내부 영역을 잘라내기(crop)하여 OCR 엔진에 전달할 수 있다. 만약, 언어 번역의 대상으로 결정된 텍스트를 동작 700에서 식별된 위치에 표시하도록 설정된 어플리케이션이 전자 장치(101)에 설치된 운영 체제(OS)의 표준을 따르지 않는 프로그램, 예컨대, 브라우저 어플리케이션일 경우, 전자 장치(101)는 동작 725를 수행할 수 있다.
동작 725에서, 전자 장치(101)는 언어 번역의 대상으로 결정된 텍스트를 동작 700에서 식별된 위치에 표시하도록 설정된 어플리케이션으로부터, 상기 식별된 위치에 표시된 텍스트가 포함된 단위 영역의 크기를 획득할 수 있다. 여기서, 텍스트가 포함된 단위 영역은 텍스트가 포함된 단락(paragraph)을 의미할 수 있다.
동작 730에서, 전자 장치(101)는 획득된 단위 영역의 크기에 기초하여, OCR 엔진에 전달하기 위해 잘라내기(crop) 할 영역을 결정할 수 있다. 예를 들어, 전자 장치(101)는 획득된 단위 영역의 가로 길이(width)를 가로 길이(730의 Width)로 갖고, 획득된 단위 영역의 높이(height)를 세로 길이(730의 Height)로 갖는 직사각형의 내부 영역을 OCR 엔진에 전달하기 위해 잘라내기(crop) 할 영역으로 결정할 수 있다.
동작 745에서, 전자 장치(101)는 동작 730에서 결정된 영역의 이미지 데이터를 획득할 수 있다. 예컨대, 전자 장치(101)는 상기 결정된 직사각형의 중심이 동작 700에서 식별된 위치와 가장 가까운 곳에 위치할 수 있도록 상기 결정된 직사각형의 위치를 조정할 수 있다. 전자 장치(101)는 디스플레이(210)에 표시된 전체 화면을 캡처한 후, 상기 결정된 직사각형의 내부 영역을 잘라내기(crop)하여 OCR 엔진에 전달할 수 있다.
동작 750에서, 전자 장치(101)는 동작 745에서 획득된 적어도 하나 이상의 이미지 데이터를 전자 장치(101)의 OCR 엔진에 전달할 수 있다. 여기서, OCR 엔진은 OCR 기법을 이용하여 이미지 형태의 문자를 인식할 수 있는 구성 요소를 의미하는 것으로서, 전자 장치(101)의 프로세서(120)에 포함된 적어도 하나의 모듈을 의미할 수 있다.
한편, 동작 720, 동작 730 및 동작 740은 OCR 엔진에 전달할 이미지 데이터를 획득하기 위한 다양한 실시 예들 중 일부를 나타낸 것일 뿐, 본 발명을 한정하기 위해 제시된 것이 아님을 밝혀둔다. 전자 장치(101)는 미리 설정된 크기 및 미리 설정된 모양의 다각형을 텍스트 획득을 위한 영역으로 결정할 수 있다.
도 8은 다양한 실시 예에 따른 전자 장치에서 OCR 기법을 이용하여 이미지 형태의 텍스트를 인식하는 방법을 설명하기 위한 도면이다.
일 실시 예에 따르면, 전자 장치(101)는 OCR 기법을 이용하여 이미지에 포함된 적어도 하나의 텍스트를 인식할 수 있다. 예컨대, 전자 장치(101)는 OCR 기법을 이용하여 이미지(800)에 포함된 다양한 모양들을 식별할 수 있으며, 식별된 모양들 중에서 이미지 형태의 텍스트를 인식할 수 있다. 전자 장치(101)는 이미지 형태의 텍스트(801)로부터 Milk(821)를 인식할 수 있고, 이미지 형태의 텍스트(803)로부터 LAB(823)을 인식할 수 있고, 이미지 형태의 텍스트(805)로부터 100% PURE MILK(825)를 인식할 수 있고, 이미지 형태의 텍스트(807)로부터 FLAKE&DESSERT(827)를 인식할 수 있고, 이미지 형태의 텍스트(809)로부터 MILK LAB(829)를 인식할 수 있다. 전자 장치(101)는 인식된 이미지 형태의 텍스트들을 화면(820)과 같이 추출할 수 있다.
도 9는 다양한 실시 예에 따른 전자 장치에서 OCR 기법을 이용하여 적어도 하나의 단어를 인식하는 방법을 설명하기 위한 도면이다.
일 실시 예에 따르면, 전자 장치(101)는 디스플레이(210) 상에 수신되는 입력의 위치를 식별할 수 있다. 화면(900)과 같이, 외부 전자 장치(950)가 전자 장치(101)의 디스플레이(210)에 근접하거나 디스플레이(210)와 접촉하는 경우, 전자 장치(101)는 터치 센서를 이용하여 외부 전자 장치(950)의 위치를 검출할 수 있다. 또한, 전자 장치(101)는 검출된 외부 전자 장치(950)의 위치를 이용하여, 외부 전자 장치(950)의 위치와 대응되는 디스플레이(210) 상의 위치를 식별할 수 있다. 전자 장치(101)는 디스플레이(210) 상의 식별된 위치에 표시된 적어도 하나의 텍스트를 언어 번역의 대상으로 결정할 수 있다. 한편, 화면(900)에 포함된 가상 버튼(901)을 참고하면, 전자 장치(101)가 단어 번역 모드로 설정되어 있음을 알 수 있다.
한편, 화면(910)은 디스플레이(210) 상의 식별된 위치에 기초하여 화면(900)에 포함된 콘텐트 중 일부분(903)을 확대한 것이다. 전자 장치(101)는 언어 번역의 대상으로 결정된 텍스트가 문자 타입인지 아니면 이미지 타입인지를 판단하는 동작(예: 동작 705) 및 상기 텍스트를 표시하도록 설정된 프로그램의 타입을 판단하는 동작(예: 동작 710) 중 적어도 하나를 통해, 상기 텍스트를 획득하기 위한 영역을 결정할 수 있다. 다시 말해, 전자 장치(101)는 도 7에 따른 실시 예를 통해, 상기 텍스트를 획득하기 위한 영역(920)을 결정할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 디스플레이(210)에 표시된 전체 화면으로서 화면(900)을 캡처하여 이미지화한 후, 캡처된 화면(900)에서 상기 결정된 영역(920)을 잘라내어 OCR 엔진에 전달할 수 있다. 전자 장치(101)는 OCR 엔진을 통해, 영역(920)에 포함된 이미지 형태의 텍스트를 인식할 수 있다. 예컨대, 전자 장치(101)는 영역(920)에서 텍스트 "ibh euismod tinci"를 인식할 수 있다. 전자 장치(101)는 인식된 문자들 중에서 단어로서 의미가 없는 문자들을 식별하고 제외시킬 수 있으며, 단어로서 의미가 있는 euismod(930)를 추출할 수 있다. 또한, 전자 장치(101)는 추출된 euismod(930)에 대한 언어 번역을 제공할 수 있다.
다른 실시 예에 따르면, 전자 장치(101)는 텍스트를 획득하기 위해 결정한 영역(920)을 사용자가 수정할 수 있도록, 사용자 인터페이스(예: 도 6의 그래픽 사용자 인터페이스(662))를 제공할 수 있다. 즉, 결정된 영역(920)은 미리 설정된 바에 따라 동적으로 변경될 수 있다.
도 10은 다양한 실시 예에 따른 전자 장치에서 OCR 기법을 이용하여 적어도 하나의 문장을 인식하는 방법을 설명하기 위한 도면이다.
일 실시 예에 따르면, 전자 장치(101)는 디스플레이(210) 상에 수신되는 입력의 위치를 식별할 수 있다. 화면(1000)과 같이, 외부 전자 장치(1050)가 전자 장치(101)의 디스플레이(210)에 근접하거나 디스플레이(210)와 접촉하는 경우, 전자 장치(101)는 터치 센서를 이용하여 외부 전자 장치(1050)의 위치를 검출할 수 있다. 또한, 전자 장치(101)는 검출된 외부 전자 장치(1050)의 위치를 이용하여, 외부 전자 장치(1050)의 위치와 대응되는 디스플레이(210) 상의 위치를 식별할 수 있다. 전자 장치(101)는 디스플레이(210) 상의 식별된 위치에 표시된 적어도 하나의 텍스트를 언어 번역의 대상으로 결정할 수 있다. 한편, 화면(1000)에 포함된 가상 버튼(1001)을 참고하면, 전자 장치(101)가 문장 번역 모드로 설정되어 있음을 알 수 있다.
한편, 화면(1010)은 디스플레이(210) 상의 식별된 위치에 기초하여 화면(1000)에 포함된 콘텐트 중 일부분(1003)을 확대한 것이다. 전자 장치(101)는 언어 번역의 대상으로 결정된 텍스트가 문자 타입인지 아니면 이미지 타입인지를 판단하는 동작(예: 동작 705) 및 상기 텍스트를 표시하도록 설정된 프로그램의 타입을 판단하는 동작(예: 동작 710) 중 적어도 하나를 통해, 상기 텍스트를 획득하기 위한 영역을 결정할 수 있다. 다시 말해, 전자 장치(101)는 도 7에 따른 실시 예를 통해, 상기 텍스트를 획득하기 위한 영역(1020)을 결정할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 디스플레이(210)에 표시된 전체 화면으로서 화면(1000)을 캡처하여 이미지화한 후, 캡처된 화면(1000)에서 상기 결정된 영역(1020)을 잘라내어 OCR 엔진에 전달할 수 있다. 전자 장치(101)는 OCR 엔진을 통해, 영역(1020)에 포함된 이미지 형태의 텍스트를 인식할 수 있다. 예컨대, 전자 장치(101)는 영역(1020)에서 마침표(.), 세미콜론(;) 또는 띄어쓰기(공백)에 기초하여, 적어도 하나의 문장을 인식할 수 있다. 전자 장치(101)는 인식된 문자들 중에서 문장을 이루지 못하는 문자들을 식별하고 제외시킬 수 있으며, 문장을 이루는 것으로 판단되는 문자들(1030)을 추출할 수 있다. 또한, 전자 장치(101)는 추출된 문자들(1030)에 대한 언어 번역을 제공할 수 있다.
다른 실시 예에 따르면, 전자 장치(101)는 텍스트를 획득하기 위해 결정한 영역(1020)을 사용자가 수정할 수 있도록, 사용자 인터페이스(예: 도 6의 그래픽 사용자 인터페이스(662))를 제공할 수 있다. 즉, 결정된 영역(1020)은 미리 설정된 바에 따라 동적으로 변경될 수 있다. 도 11은 다양한 실시 예에 따른 전자 장치에서 OCR 기법 및 텍스트 추출 기술을 이용하여 문자를 인식하고, 오인식된 문자를 보정하는 방법을 설명하기 위한 순서도이다.
상기 방법을 수행하는 주체는 표시 장치(160)(예: 디스플레이) 및 프로세서(120)를 포함하여 이루어진 전자 장치(101)에 있어서, 상기 프로세서일 수 있다.
일 실시 예에 따르면, 동작 1110에서, 전자 장치(101)는 디스플레이(210) 상에 수신되는 입력의 위치를 식별할 수 있으며, 식별된 위치에 표시된 적어도 하나의 텍스트를 언어 번역의 대상으로 결정할 수 있다. 예를 들어, "Hello world! 32lb"(1101)가 디스플레이(210) 상의 식별된 위치에 표시된 텍스트라면, 전자 장치(101)는 "Hello world! 32lb"(1101)를 언어 번역의 대상으로 결정할 수 있다. 화면(1100)은 번역 어플리케이션의 사용자 인터페이스를 나타낸 것으로서, 전자 장치(101)는 "Hello world! 32lb"(1101)를 강조 표시(예: 하이라이팅)함으로써 언어 번역의 대상을 특정할 수 있다.
동작 1120에서, 전자 장치(101)는 디스플레이(210)에 표시된 전체 화면을 캡처하여 이미지화한 후, 캡처된 전체 화면에서 언어 번역의 대상으로 결정된 영역을 잘라내기(crop) 할 수 있다. 예를 들어, 전자 장치(101)는 언어 번역의 대상으로 결정된 "Hello world! 32lb"(1101)가 포함된 영역을 잘라내기 할 수 있다.
동작 1130에서, 전자 장치(101)는 OCR 엔진을 이용하여, 이미지에서 텍스트를 추출할 수 있다. 예를 들어, 전자 장치(101)는 언어 번역의 대상으로 결정된 "Hello world! 32lb"(1101)가 포함된 영역을 잘라내기 한 후, OCR 엔진을 이용하여 이미지에 포함된 적어도 하나의 문자를 인식할 수 있다. 만약 적어도 하나의 문자가 인식되면, 전자 장치(101)는 인식된 적어도 하나의 문자를 추출할 수 있다.
동작 1140에서, 전자 장치(101)는 "millo world! 321b"를 획득할 수 있다. 여기서, 획득된 "millo world! 321b"는 언어 번역의 대상인 "Hello world! 32lb"(1101)와 다름을 확인할 수 있다. 이는, OCR 기법이 문자의 모양을 이용하여 문자를 인식하는 방법이기 때문에, 비슷한 모양의 서로 다른 문자들(예컨대, 영어 소문자 엘(l), 영어 대문자 아이(I) 및 숫자 일(1))을 명확하게 구별하지 못하는데 따른 것이다. 예를 들어, 전자 장치(101)는 이미지 형태의 문자인 Hello를 millo로 오인식하고, 이미지 형태의 문자인 32lb[삼십이엘비]를 321b[삼백이십일비]로 오인식할 수 있다.
일 실시 예에 따르면, 상기와 같은 OCR 기법의 오인식 문제를 해결하기 위해, 전자 장치(101)는 텍스트 추출 기술을 더 이용할 수 있다. 여기서 말하는 텍스트 추출 기술이란, 적어도 하나의 문자가 표시된 디스플레이 상의 위치를 식별한 후, 식별된 위치에 적어도 하나의 문자를 표시하도록 설정된 프로그램(예: 어플리케이션)에서 관련된 텍스트를 직접 추출하는 기술을 의미한다. 예컨대, 삼성에서 제공하는 서비스 중 Smart Clip 서비스가 이에 해당할 수 있다. 이 때 추출되는 텍스트는 특정 위치에 문자를 표시하도록 설정된 프로그램으로부터 직접 추출되는 것이므로, 비교적 높은 신뢰성을 가지고 있다고 볼 수 있다.
일 실시 예에 따르면, 동작 1150에서, 전자 장치(101)는 언어 번역의 대상으로 결정된 영역에 대응하는 텍스트를 검색할 수 있다. 예를 들어, 전자 장치(101)는 언어 번역의 대상으로 결정된 "Hello world! 32lb"(1101)를 디스플레이(210) 상의 식별된 위치에 표시하도록 설정된 어플리케이션에서, "Hello world! 32lb"(1101)와 대응되는 텍스트를 검색할 수 있다. 만약, "Hello world! 32lb"(1101)를 디스플레이(210) 상의 식별된 위치에 표시하도록 설정된 어플리케이션에서 "Hello world! 32lb"(1101)와 대응되는 텍스트가 검색된다면, 전자 장치(101)는 동작 1160을 수행할 수 있다. 한편, 어플리케이션에서 대응되는 텍스트가 검색된다는 것은, 식별된 위치와 대응되는 텍스트 또는 "Hello world! 32lb"(1101)의 적어도 일부를 포함하는 텍스트가 어플리케이션을 구성하는 메타데이터(예: HTML)에서 검색된다는 것을 의미할 수 있다.
동작 1160에서, 전자 장치(101)는 텍스트 추출 엔진을 이용하여, 검색된 텍스트를 추출할 수 있다. 이 때, 추출된 텍스트는 식별된 위치와 관련이 있거나 "Hello world! 32lb"(1101)의 적어도 일부를 포함할 수 있다.
동작 1170에서, 전자 장치(101)는 "Good morning! Hello world! 32lb."를 획득할 수 있다. 동작 1150 내지 동작 1160을 통해 획득되는 텍스트는 식별된 위치와 관련이 있거나 "Hello world! 32lb"(1101)의 적어도 일부를 포함할 수 있으며, 언어 번역의 대상인 "Hello world! 32lb"(1101)와 관련 없는 텍스트를 포함할 수도 있다. 참고로, 언어 번역의 대상인 "Hello world! 32lb"(1101)와 관련 없는 텍스트까지 모두 포함하여 추출하는 이유는, "Hello world! 32lb"(1101)와 정확하게 일치하는 텍스트만을 검색하고 추출하는 데 있어 상당히 많은 시간이 소모되기 때문이다. 전자 장치(101)는 식별된 위치와 관련이 있거나 "Hello world! 32lb"(1101)의 적어도 일부를 포함하는 경우로 조건을 완화함으로써, 언어 번역의 대상인 "Hello world! 32lb"(1101)가 포함된 텍스트를 빠르게 추출할 수 있다.
동작 1180에서, 전자 장치(101)는 동작 1140에서 획득된 텍스트 및 동작 1170에서 추출된 텍스트를 비교할 수 있다. 일 실시 예에 따르면, 동작 1140에서, 전자 장치(101)는 "millo world! 321b"를 획득할 수 있다. 동작 1140에서 획득된 텍스트는 OCR 기법을 통해 추출된 것이기 때문에, 내용의 정확성이 낮을 수 있다. 하지만, 동작 1140에서 획득된 텍스트는 언어 번역의 대상으로 결정된 영역에서 추출된 것이기 때문에, 위치의 정확성이 높을 수 있다. 따라서, 전자 장치(101)는 동작 1140에서 획득된 텍스트를 통해 언어 번역이 필요한 텍스트의 위치를 결정할 수 있다. 또 다른 실시 예에 따르면, 동작 1170에서, 전자 장치(101)는 "Good morning! Hello world! 32lb."를 획득할 수 있다. 동작 1170에서 획득된 텍스트는 텍스트 추출 기술을 통해 어플리케이션에서 직접 추출된 것이기 때문에, 내용의 정확성이 높을 수 있다. 하지만, 동작 1170에서 획득된 텍스트는 식별된 위치와 관련이 있거나 "Hello world! 32lb"(1101)의 적어도 일부를 포함하면 추출될 수 있기 때문에, 위치의 정확성이 낮을 수 있다. 따라서, 전자 장치(101)는 동작 1170에서 획득된 텍스트를 통해 언어 번역이 필요한 텍스트의 내용을 결정할 수 있다.
예컨대, 전자 장치(101)는 동작 1140에서 획득된 "millo world! 321b"에 기초하여 언어 번역이 필요한 텍스트의 위치를 결정하고, 동작 1170에서 획득된 "Good morning! Hello world! 32lb."에 기초하여 언어 번역이 필요한 텍스트의 내용을 결정할 수 있다.
이에 따라, 동작 1190에서, 전자 장치(101)는 "Hello world! 32lb"를 획득할 수 있다. 동작 1190에서 획득된 "Hello world! 32lb"는 OCR 기법의 오인식 문제를 텍스트 추출 기술로서 보완하여 추출된 결과이므로, 화면(1100)에 표시된 "Hello world! 32lb"(1101)와 일치할 가능성이 높다. 전자 장치(101)는 동작 1190에서 획득된 "Hello world! 32lb"에 대한 언어 번역을 제공할 수 있다.
한편, 다른 실시 예에 따르면, 전자 장치(101)는 화면(1100)에 표시된 "Hello world! 32lb"(1101)를 언어 번역의 대상으로 결정할 때, 화면(1100)에 표시되어 있지는 않지만 "Hello world! 32lb"(1101)를 포함하는 단락(paragraph) 또는 구(phrase)까지 언어 번역의 대상으로 결정할 수 있다. 예컨대, 화면(1100)에 표시되어 있지는 않지만 "Hello world! 32lb"(1101)를 포함하는 구(phrase)가 "Good morning! Hello world! 32lb. Goodbye!"로 구성되어 있다면, 전자 장치(101)는 화면(1100)에 "Hello world! 32lb"(1101)만 표시되어 있더라도, "Hello world! 32lb"(1101)를 포함하는 것으로 판단되는 구(phrase)인 이 "Good morning! Hello world! 32lb. Goodbye!"를 언어 번역의 대상으로 결정할 수 있다.
예를 들어, 스크롤링 동작 등으로 인해 디스플레이(210)에 일부만 표시되거나 표시되지 못한 제 1 텍스트가 있더라도, 전자 장치(101)는 디스플레이(210)에 온전히 표시된 제 2 텍스트에 기초하여 제 1 텍스트가 언어 번역에 필요한 지 여부를 판단할 수 있다. 제 1 텍스트 및 제 2 텍스트가 하나의 온전한 문장을 구성하는데 필요한 요소들이라고 판단되는 경우, 전자 장치(101)는 디스플레이(210)에 제 2 텍스트만 표시되어 있더라도, 제 1 텍스트까지 언어 번역의 대상으로 결정할 수 있다.
도 12는 다양한 실시 예에 따른 전자 장치에서 OCR 기법 및 텍스트 추출 기술을 이용하여 문장을 인식하고, 문장 내 오인식된 내용을 보정하는 방법을 설명하기 위한 도면이다.
상기 방법을 수행하는 주체는 표시 장치(160)(예: 디스플레이) 및 프로세서(120)를 포함하여 이루어진 전자 장치(101)에 있어서, 상기 프로세서일 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 외부 전자 장치(1250)로부터 디스플레이(210) 상에 수신되는 입력의 위치를 식별할 수 있으며, 식별된 위치에 표시된 적어도 하나의 텍스트를 언어 번역의 대상으로 결정할 수 있다. 예를 들어, 전자 장치(101)는 외부 전자 장치(1250)가 가리키는 위치(1205)에 기초하여, 영역(1201)를 언어 번역의 대상으로 결정할 수 있다. 이 때, 전자 장치(101)는 문장 번역 모드일 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 디스플레이(210)에 표시된 전체 화면(1200)을 캡처하여 이미지화한 후, 캡처된 전체 화면(1200)에서 언어 번역의 대상으로 결정된 영역(1201)을 잘라내기(crop) 할 수 있다. 또한, 전자 장치(101)는 OCR 엔진을 통해, 영역(1201)에 포함된 텍스트를 추출할 수 있다. 예컨대, 전자 장치(101)는 언어 번역의 대상으로 결정된 영역(1201)으로부터 블록(1210)의 텍스트를 추출할 수 있다. 영역(1201) 및 블록(1210)을 비교해보면, 각각에 포함된 텍스트들의 영역은 동일하지만 내용은 동일하지 않음을 확인할 수 있다. 예를 들어, 전자 장치(101)는 영역(1201)의 "F.D.A"를 "FD a"(1211)로 오인식할 수 있다. 이는, 아주 작은 픽셀로 표현되는 마침표(.)가 OCR 기법을 통한 문자 인식 과정에서 식별되지 않음에 따른 것일 수 있다. 이밖에, 전자 장치(101)는 영역(1201)의 "reach"를 "leach"(1213)로 오인식할 수 있다. 한편, 블록(1210)의 텍스트를 살펴보면, 문장의 끝(1215)에 마침표가 없으며, 이에 따라 문장 구조가 완벽하지 않음을 확인할 수 있다. 이는 영역(1201)이 언어 번역의 대상으로 결정될 때, 문장의 일부인 "market"(1203)이 누락된 데 따른 것이다. 앞서 살펴본 바 있듯이, OCR 기법을 통한 문자 인식 과정에서 아주 작은 픽셀로 표현되는 문자들(예: 마침표(.), 쉼표(,), 세미콜론(;))이 식별되지 않는 것은 전자 장치(101)가 OCR 기법을 이용하여 문장을 인식할 때, 문장의 시작과 끝을 식별하는 것을 어렵게 한다.
일 실시 예에 따르면, 상기와 같은 OCR 기법의 오인식 문제를 해결하기 위해, 전자 장치(101)는 텍스트 추출 기술을 이용할 수 있다. 예를 들어, 전자 장치(101)는 언어 번역의 대상으로 결정된 영역(1201)을 디스플레이(210) 상의 식별된 위치에 표시하도록 설정된 어플리케이션으로부터, 영역(1201)과 대응되는 텍스트를 추출할 수 있다. 또한, 전자 장치(101)는 언어 번역의 대상으로 결정된 영역(1201)으로부터 블록(1220)의 텍스트를 추출할 수 있다. 영역(1201) 및 블록(1220)을 비교해보면, 영역(1201) 및 블록(1220) 각각에 포함된 텍스트들의 위치 또는 범위는 동일하지 않지만 내용은 부분적으로 일치함을 확인할 수 있다. 한편, 블록(1220)의 텍스트는 마침표(.) 등 아주 작은 픽셀로 표현되는 문자까지 포함할 수 있기 때문에, 전자 장치(101)는 블록(1220)의 텍스트를 이용하여 문장의 시작과 끝을 정확하게 식별할 수 있다. 예컨대, 전자 장치(101)는 블록(1220)의 텍스트를 이용하여, 영역(1201)이 언어 번역의 대상으로 결정될 때 문장의 일부인 "market"(1203)이 누락된 것을 확인할 수 있다. 블록(1220)의 텍스트에는 영역(1201)의 "F.D.A"와 동일한 "F.D.A"(1221)가 포함될 수 있고, 영역(1201)의 "reach"와 동일한 "reach"(1223)가 포함될 수 있으며, 또한, 영역(1201)에서 누락된 "market"(1225)이 포함될 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 블록(1210)의 텍스트 및 블록(1220)의 텍스트를 비교할 수 있다. 전자 장치(101)는 블록(1210)의 텍스트를 통해 언어 번역이 필요한 텍스트의 위치를 결정한 후, 블록(1220)의 텍스트 중에서 상기 결정된 영역과 매칭될 수 있는 내용을 추출할 수 있다. 예컨대, 전자 장치(101)는 블록(1220)의 텍스트 중 문장(1227)을 언어 번역이 필요한 텍스트로 추출할 수 있다. 문장(1227)은 텍스트 추출 기술을 통해 어플리케이션으로부터 직접 추출된 것이므로, 내용의 정확성 및 문장의 완벽성이 높을 수 있다. 또한, 블록(1230)의 텍스트는 블록(1210)의 텍스트를 통해 위치가 결정되고, 블록(1220)의 텍스트를 통해 내용이 결정되기 때문에, 최초에 언어 번역의 대상으로 결정된 영역(1201)과 일치할 확률이 높다. 따라서, 전자 장치(101)는 최종적으로, 블록(1230)의 텍스트를 언어 번역이 필요한 텍스트로 결정할 수 있으며, 블록(1230)의 텍스트에 대한 언어 번역을 제공할 수 있다.
도 13은 다양한 실시 예에 따른 전자 장치에서 OCR 기법 및 텍스트 추출 기술을 모두 이용하여 텍스트를 추출하는 경우와 OCR 기법만을 이용하여 텍스트를 추출하는 경우를 비교하여 설명하기 위한 도면이다.
일 실시 예에 따르면, 전자 장치(101)는 OCR 기법 및 텍스트 추출 기술을 모두 이용하여 텍스트를 추출할 수 있다. 또한, 전자 장치(101)는 OCR 기법만을 이용하여 텍스트를 추출할 수도 있다. 이 경우, OCR 기법만을 이용하여 텍스트를 추출하는 경우보다 OCR 기법 및 텍스트 추출 기술을 모두 이용하여 텍스트를 추출하는 경우에, 문자 인식에 성공하는 비율이 높을 수 있다.
예컨대, 화면(1300)은 전자 장치(101)에서 실행 중인 프로그램의 실행 화면을 나타낸 것이고, 화면(1310)은 화면(1300)을 캡처하여 이미지화한 것이다. 화면(1300)에 포함된 적어도 하나의 텍스트는 전자 장치(101)에서 실행 중인 프로그램과 관련된 것이므로, 전자 장치(101)는 실행 중인 프로그램으로부터 화면(1300)에 포함된 적어도 하나의 텍스트를 추출할 수 있다. 다시 말해, 전자 장치(101)는 화면(1300)에 포함된 적어도 하나의 텍스트를 추출하기 위해 OCR 기법 및 텍스트 추출 기술을 이용할 수 있다. 반면에, 화면(1310)은 이미지에 불과할 뿐이므로, 전자 장치(101)는 화면(1310)에 포함된 적어도 하나의 텍스트와 관련된 프로그램을 식별할 수 없다. 따라서, 전자 장치(101)는 화면(1310)에 포함된 적어도 하나의 텍스트를 추출하기 위해 텍스트 추출 기술을 이용할 수 없으며, OCR 기법만을 이용할 수 있다.
하기 표 1은 OCR 기법 및 텍스트 추출 기술을 모두 이용하여 화면(1300)에 포함된 문장을 인식하는 경우 및 OCR 기법만을 이용하여 화면(1310)에 포함된 문장을 인식하는 경우에 있어서, 문장 인식에 성공하는 비율을 나타낸 것이다. 한편, 표 1의 문장 1 내지 문장 4는 화면(1300) 및 화면(1310)에 포함된 문장들을 의미할 수 있다.
OCR + 텍스트 추출 OCR
문장1 0.9 0.6
문장2 0.9 0.9
문장3 0.8 0.5
문장4 0.9 0.4
표 1을 참고하면, OCR 기법 및 텍스트 추출 기술을 모두 이용하여 화면(1300)에 포함된 문장을 인식하는 경우, 문장 인식에 성공하는 비율은 모든 문장에서 80% 이상임을 확인할 수 있다. 그러나, OCR 기법만을 이용하여 화면(1310)에 포함된 문장을 인식하는 경우, 문장 인식에 성공하는 비율은 일부 문장에서 40%에 불과한 경우도 있음을 확인할 수 있다. 즉, 표 1을 참고하면, OCR 기법만을 이용하여 텍스트를 추출하는 경우보다 OCR 기법 및 텍스트 추출 기술을 모두 이용하여 텍스트를 추출하는 경우에, 문자 인식에 성공하는 비율이 높다는 점을 확인할 수 있다.
한편, 표 1에 나타난 바와 같이, OCR 기법 및 텍스트 추출 기술이 모두 적용되는 경우와 OCR 기법만 적용되는 경우 간의 성공률 차이는, 임의의 전자 장치에서 화면에 표시된 적어도 하나의 문자를 인식할 때 OCR 기법 및 텍스트 추출 기술을 모두 이용하는지 여부를 판별하는 데 이용될 수 있다.
도 14a 내지 14b는 다양한 실시 예에 따른 전자 장치에서 디스플레이에 표시된 적어도 하나의 문자를 인식하는 방법을 설명하기 위한 순서도 이다.
상기 방법을 수행하는 주체는 표시 장치(160)(예: 디스플레이) 및 프로세서(120)를 포함하여 이루어진 전자 장치(101)에 있어서, 상기 프로세서일 수 있다.
일 실시 예에 따른 전자 장치(101)는, 도 14a에 도시된 바와 같이, 전자 장치(101)의 디스플레이(210)에 표시된 문자를 인식하고, 인식된 문자를 텍스트로 추출할 수 있다.
동작 1400에서, 전자 장치(101)는 디스플레이(210) 상에 수신되는 입력의 위치를 식별할 수 있다. 예컨대, 외부 전자 장치(102)가 전자 장치(101)의 디스플레이(210)에 근접하거나 디스플레이(210)와 접촉하는 경우, 전자 장치(101)는 터치 센서를 이용하여 외부 전자 장치(102)의 위치를 검출할 수 있다. 또한, 전자 장치(101)는 검출된 외부 전자 장치(102)의 위치를 이용하여, 외부 전자 장치(102)의 위치와 대응되는 디스플레이(210) 상의 위치를 식별할 수 있다.
동작 1405에서, 전자 장치(101)는 디스플레이(210) 상의 식별된 위치에 표시된 텍스트가 문자 타입인지 아니면 이미지 타입인지를 판단할 수 있다. 여기서, 문자 타입은 단어(word), 구(phrase) 및 문장(sentence) 등으로 구성된 텍스트를 의미할 수 있다. 또한, 이미지 타입은 사진과 같은 정적인 이미지는 물론 동영상과 같은 동적인 이미지 파일에 포함되어 있는 텍스트를 의미할 수 있다.
만약, 식별된 위치에 표시된 텍스트가 문자 타입이 아닐 경우, 전자 장치(101)는 동작 1440, 1445, 1450 및 1455를 수행할 수 있다.
동작 1440에서, 전자 장치(101)는 식별된 위치에 표시된 텍스트를 포함하는 디스플레이(210) 상의 제 1 영역을 결정할 수 있다. 예를 들어, 전자 장치(101)는 전자 장치(101)의 기본 폰트(또는 시스템 폰트)의 크기를 획득하고, 획득된 기본 폰트의 크기에 기초하여 제 1 영역을 결정할 수 있다. 전자 장치(101)는 전자 장치(101)의 디스플레이(210)의 가로 길이(width)를 가로 길이로 갖고, 기본 폰트의 높이(height)의 X 배를 세로 길이로 갖는 직사각형을 제 1 영역으로 결정할 수 있다.
동작 1445에서, 전자 장치(101)는 디스플레이(210)에 표시된 전체 화면을 캡처하여 이미지화한 후, 캡처된 전체 화면에서 결정된 제 1 영역을 잘라내기(crop) 할 수 있다. 또한, 동작 1450에서, 전자 장치(101)는 잘라내기 된 제 1 영역에서 제 1 텍스트를 추출할 수 있다.
동작 1455에서, 전자 장치(101)는 제 1 텍스트를 획득할 수 있다. 전자 장치(101)는 OCR 기법을 통해 추출된 제 1 텍스트에 대한 언어 번역을 제공할 수 있다.
한편, 식별된 위치에 표시된 오브젝트가 텍스트 타입일 경우, 전자 장치(101)는 동작 1410, 1415, 1420, 1425, 1430, 1435 및 1455를 수행할 수 있다.
동작 1410에서, 전자 장치(101)는 식별된 위치에 표시된 텍스트를 포함하는 제 2 영역을 결정할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 식별된 위치에 텍스트를 표시하도록 설정된 어플리케이션으로부터, 상기 텍스트를 포함하는 영역의 크기를 획득할 수 있다. 예컨대, 전자 장치(101)에 설치된 운영 체제가 안드로이드 OS일 경우, 전자 장치(101)는 상기 식별된 위치에 표시된 텍스트를 구성하는 텍스트뷰(TextView)의 크기를 영역의 크기로서 획득할 수 있다. 또 다른 실시 예에 따르면, 전자 장치(101)는 상기 식별된 위치에 표시된 텍스트를 포함하는 단락(paragraph)의 크기를 영역의 크기로서 획득할 수 있다. 전자 장치(101)는 획득된 영역의 크기에 기초하여, 식별된 위치에 표시된 텍스트를 포함하는 제 2 영역을 결정할 수 있다.
동작 1415에서, 전자 장치(101)는 디스플레이(210) 에 표시된 전체 화면을 캡처하여 이미지화한 후, 캡처된 전체 화면에서 결정된 제 2 영역을 잘라내기(crop) 할 수 있다. 또한, 동작 1420에서, 전자 장치(101)는 잘라내기 된 제 2 영역에서 제 2 텍스트를 추출할 수 있다.
동작 1425에서, 전자 장치(101)는 식별된 위치에 텍스트를 표시하도록 설정된 어플리케이션에서, 제 2 영역에 대응하는 텍스트를 검색할 수 있다. 또한, 동작 1430에서, 전자 장치(101)는 검색 결과에 기초하여, 제 3 텍스트를 추출할 수 있다. 텍스트를 검색하고 추출하는 데는, 텍스트 추출 엔진이 이용될 수 있다.
동작 1435에서, 전자 장치(101)는 동작 1420에서 추출된 제 2 텍스트 및 동작 1430에서 추출된 제 3 텍스트를 비교할 수 있으며, 비교 결과에 기초하여 동작 1455에서, 제 4 텍스트를 획득할 수 있다. 예를 들어, 전자 장치(101)는 OCR 기법을 이용하여 추출된 제 2 텍스트에 기초하여 언어 번역이 필요한 텍스트의 위치를 결정하고, 텍스트 추출 기술을 이용하여 추출된 제 3 텍스트에 기초하여 언어 번역이 필요한 텍스트의 내용을 결정한 후, 결정된 결과에 따라 제 4 텍스트를 획득할 수 있다.
또한, 일 실시 예에 따르면, 도 14b에 도시된 바와 같이 추출된 텍스트에 특정 문자가 포함된 경우, 전자 장치(101)는 특정 문자에 대한 별도의 번역을 수행할 수 있다.
예컨대, 추출된 텍스트에 통화(currency) 단위(예: KRW, USD, EUR, CNY, ₩, $, €, ¥ 등) 또는 계량 단위(measuring unit)(예: 센티미터(cm), 킬로그램(kg), 마일(mile), 피트(ft), 인치(inch) 등)가 포함된 경우, 전자 장치(101)는 전자 장치(101)의 기본 언어 또는 언어 번역의 목표 언어를 고려하여 통화 단위 또는 계량 단위에 대한 번역을 수행할 수 있다. 만약, 전자 장치(101)의 기본 언어(default language) 또는 언어 번역의 목표 언어(target language)가 영어로 설정되어 있고 추출된 텍스트에 달러 단위(USD 또는 $)가 아닌 다른 통화 단위가 포함된 경우, 전자 장치(101)는 추출된 텍스트에 대한 언어 번역을 수행할 때 추출된 텍스트에 포함된 다른 통화 단위를 달러 단위로 환산할 수 있으며, 환산된 결과를 언어 번역의 결과와 함께 제공할 수 있다.
이를 위해, 동작 1460에서, 전자 장치(101)는 추출된 텍스트에 통화 단위 또는 계량 단위가 포함되어 있는지 여부를 판단할 수 있다.
만약, 추출된 텍스트에 통화 단위 또는 계량 단위가 포함되지 않은 것으로 판단되는 경우, 전자 장치(101)는 동작 1465 및 1475를 수행할 수 있다.
동작 1465에서, 전자 장치(101)는 추출된 텍스트를 제 1 서버를 통해 번역할 수 있다. 예컨대, 전자 장치(101)는 추출된 텍스트를 제 1 서버로 전송하고, 번역 결과를 제 1 서버로부터 수신할 수 있다. 여기서, 제 1 서버는 일반적인 언어 번역 서비스를 제공하는 서버(예: Google TranslateTM, Naver papagoTM)를 의미할 수 있다. 또한, 동작 1475에서, 전자 장치(101)는 제 1 서버를 통해 수신된 번역 결과를 출력할 수 있다.
만약, 추출된 텍스트에 통화 단위 또는 계량 단위가 포함된 것으로 판단되는 경우, 전자 장치(101)는 동작 1470 및 1475를 수행할 수 있다.
동작 1470에서, 전자 장치(101)는 추출된 텍스트를 제 1 서버를 통해 번역함과 동시에, 추출된 텍스트에 포함된 통화 단위를 제 2 서버를 통해 번역(또는 변환)할 수 있다. 또한, 전자 장치(101)는 추출된 텍스트를 제 1 서버를 통해 번역함과 동시에, 추출된 텍스트에 포함된 계량 단위를 전자 장치(101)의 메모리(130)를 참고하여 번역(또는 변환)할 수 있다. 전자 장치(101)는 추출된 텍스트를 제 1 서버로 전송하고, 번역 결과를 제 1 서버로부터 수신할 수 있다. 또한, 전자 장치(101)는 통화 단위와 관련된 데이터를 제 2 서버로 전송하고, 변역 결과를 제 2 서버로부터 수신할 수 있다. 또한, 전자 장치(101)는 메모리(130)에 저장된 테이블(table)을 이용하거나 프로세서(120)를 통한 계산을 통해, 계량 단위를 번역할 수 있다. 여기서, 제 1 서버는 앞서 살펴본 바와 같이 일반적인 언어 번역 서비스를 제공하는 서버를 의미할 수 있고, 제 2 서버는 환율 계산 서비스를 제공하는 서버(예: OANDATM)를 의미할 수 있다. 또한, 동작 1475에서, 전자 장치(101)는 제 1 서버를 통해 수신된 번역 결과, 제 2 서버를 통해 수신된 번역 결과 및 전자 장치(101)의 메모리(130)를 참고하여 획득된 번역 결과를 조합하여 출력할 수 있다.
도 15a 내지 15b는 다양한 실시 예에 따른 전자 장치에서 통화 단위 또는 계량 단위에 대한 번역을 수행하는 방법을 설명하기 위한 도면이다.
도 15a는 다양한 실시 예에 따라 전자 장치의 기본 언어 또는 언어 번역의 목표 언어를 고려하거나 전자 장치의 현재 위치를 고려하여, 번역을 수행하는 방법을 설명하기 위한 도면이다.
일 실시 예에 따르면, 전자 장치(101)는 전자 장치(101)의 디스플레이(210)에 표시된 적어도 하나의 문자를 인식하고, 인식된 적어도 하나의 문자를 텍스트로 추출할 수 있다. 이 때, 추출된 텍스트에 통화(currency) 단위(예: KRW, USD, EUR, CNY, ₩, $, €, ¥ 등) 또는 계량 단위(measuring unit)(예: 센티미터(cm), 킬로그램(kg), 마일(mile), 피트(ft), 인치(inch) 등)가 포함된 경우, 전자 장치(101)는 전자 장치(101)의 기본 언어 또는 언어 번역의 목표 언어를 고려하거나 전자 장치(101)의 현재 위치를 고려하여, 통화 단위 또는 계량 단위에 대한 번역을 수행할 수 있다.
예를 들어, 전자 장치(101)의 기본 언어 또는 언어 번역의 목표 언어가 한국어로 설정되어 있거나 전자 장치(101)의 현재 위치가 한국이라고 판단되는 경우, 전자 장치(101)는 텍스트를 번역할 때 한국에서 사용되는 통화 단위 또는 계량 단위를 사용하여 번역을 수행할 수 있다.
일 실시 예에 따라, 영어를 한국어로 번역하는 것이 요청될 경우, 전자 장치(101)는 화면(1500)에 포함된 "809.00 €"(1501)를 "809 유로"(1503)로 번역할 수 있다. 또한, 전자 장치(101)는 전자 장치(101)의 기본 언어 또는 언어 번역의 목표 언어가 한국어로 설정되어 있거나 전자 장치(101)의 현재 위치가 한국임을 고려하여, "809.00€"(1501)를 대한민국의 화폐 단위인 "원(KRW)"으로 변환하여 출력할 수도 있다. 예컨대, 전자 장치(101)는 "(809.00€=1,017,163 원(KRW))"(1505)를 화면(1500)에 표시할 수 있다.
또한, 일 실시 예에 따라, 영어를 한국어로 번역하는 것이 요청될 경우, 전자 장치(101)는 화면(1510)에 포함된 "Samsung provided the 5.5-inch model for testing."(1511)를 "삼성은 테스트를 위해 5.5인치 모델을 제공했습니다."(1513)로 번역할 수 있다. 전자 장치(101)는 텍스트에 포함된 계량 단위, 예컨대, "5.5-inch"(1515)를 "5.5인치"(1516)로 번역할 수 있다. 또한, 전자 장치(101)는 전자 장치(101)의 기본 언어 또는 언어 번역의 목표 언어가 한국어로 설정되어 있거나 전자 장치(101)의 현재 위치가 한국임을 고려하여, "5.5-inch"(1515)를 대한민국에서 사용되는 계량 단위인 센티미터(cm)로 변환하여 출력할 수도 있다. 예컨대, 전자 장치(101)는 "(5.5인치=14cm)"(1517)를 화면(1510)에 표시할 수 있다.
도 15b는 다양한 실시 예에 따라 통화 단위 또는 계량 단위가 포함된 문장을 번역할 때, 문장에 대한 언어 번역과 통화 단위 또는 계량 단위에 대한 단위 번역을 서로 다른 서버를 통해 수행하거나 서로 다른 언어로 수행하는 방법을 설명하기 위한 도면이다.
일 실시 예에 따르면, 문장에 대한 언어 번역은 제 1 서버를 통해 수행되고, 통화 단위에 대한 단위 번역은 제 2 서버를 통해 수행되며, 계량 단위에 대한 단위 번역은 전자 장치(101)에서 수행될 수 있다.
이와 관련하여, 전자 장치(101)는 제 1 서버(1525)를 통해 문장에 대한 언어 번역을 수행할 수 있다. 예를 들어, 동작 1520에서, 전자 장치(101)는 영어로 된 문장인 "This bicycle costs 1,670 USD. It's 40-inch tall."(1521)를 중국어로 번역하는 것과 관련된 요청을 수신할 수 있다. 전자 장치(101)는 수신된 요청에 대응하여 제 1 서버(1525)를 통해 언어 번역을 수행할 수 있다. 여기서, 제 1 서버는 일반적인 언어 번역 서비스를 제공하는 서버(예: Google TranslateTM, Naver papagoTM)를 의미할 수 있다. 전자 장치(101)는 제 1 서버(1525)를 통해 중국어로 번역된 "這輛自行車的費用是1,670美元. 是40英寸高."(1526)를 획득할 수 있다.
또한, 전자 장치(101)는 제 2 서버(1535)를 통해 문장 속에 포함된 통화 단위에 대한 단위 번역을 수행할 수 있다. 예컨대, 언어 번역의 대상인 문장 속에 "1,670 USD"(1523)와 같은 통화 단위가 포함된 경우, 전자 장치(101)는 제 2 서버(1535)를 통해 단위 번역을 수행할 수 있다. 여기서, 제 2 서버는 환율 계산 서비스를 제공하는 서버(예: OANDATM)를 의미할 수 있다. 전자 장치(101)는 제 2 서버(1535)를 통해 "1,670 USD"(1523)를 다른 통화 단위로 환산한 값, 예컨대, "1,903,299 KRW"(1536)를 획득할 수 있다.
또한, 전자 장치(101)는 동작 1545에서, 전자 장치(101)의 메모리(130)에 저장된 적어도 하나의 정보(예: 테이블(table))에 기초하여 문장 속에 포함된 계량 단위에 대한 단위 번역을 수행할 수 있다. 예컨대, 언어 번역의 대상인 문장 속에 "40-inch"(1524)와 같은 계량 단위가 포함된 경우, 전자 장치(101)는 메모리(130)에 저장된 적어도 하나의 정보를 이용하여, 단위 번역을 수행할 수 있다. 전자 장치(101)는 메모리(130)에 저장된 정보에 기초하여, "40-inch"(1524)를 다른 계량 단위로 환산한 값, 예컨대, "101.6 cm"(1546)를 획득할 수 있다.
또 다른 실시 예에 따르면, 문장에 대한 언어 번역은 제 1 언어로 수행되고, 통화 단위 또는 계량 단위에 대한 단위 번역은 제 2 언어로 수행될 수 있다.
문장에 대한 언어 번역은 기점 언어(source language) 및 목표 언어(target language)의 설정에 기초하여 수행될 수 있다. 이와 관련하여, 기점 언어(source language)는 영어로 설정되고 목표 언어(target language)가 중국어로 설정된 경우, 전자 장치(101)는 영어 문장을 중국어로 번역할 수 있다. 예를 들어, 동작 1520에서, 전자 장치(101)는 영어로 된 문장인 "This bicycle costs 1,670 USD. It's 40-inch tall."(1521)를 중국어로 번역하는 요청을 수신할 수 있다. 전자 장치(101)는 수신된 요청에 대응하여 "This bicycle costs 1,670 USD. It's 40-inch tall."(1521)를 중국어로 번역할 수 있다. 전자 장치(101)는 언어 번역 서비스를 제공하는 제 1 서버(1525)에 "This bicycle costs 1,670 USD. It's 40-inch tall."(1521)를 전송하고, 중국어로 번역된 "這輛自行車的費用是1,670美元. 是40英寸高."(1526)를 획득할 수 있다.
한편, 통화 단위 또는 계량 단위에 대한 단위 번역은 전자 장치(101)의 기본 언어 또는 전자 장치(101)의 현재 위치에 기초하여 수행될 수 있다. 이와 관련하여, 전자 장치(101)의 기본 언어(default language)가 한국어로 설정되거나 전자 장치(101)의 현재 위치가 한국으로 판단되는 경우, 전자 장치(101)는 문장 속에 포함된 통화 단위 또는 계량 단위를 한국에서 사용되는 통화 단위 또는 계량 단위로 번역할 수 있다. 예를 들어, 동작 1520에서, 전자 장치(101)는 영어로 된 문장인 "This bicycle costs 1,670 USD. It's 40-inch tall."(1521)를 중국어로 번역하는 요청을 수신할 수 있다. 전자 장치는 수신된 요청에 대응하여 "This bicycle costs 1,670 USD. It's 40-inch tall."(1521)에 포함된 통화 단위인 "1,670 USD"(1523)와 계량 단위인 "40-inch"(1524)를 식별할 수 있다. 이 때, 전자 장치(101)의 시스템 언어가 한국어로 설정되거나 전자 장치(101)의 현재 위치가 한국으로 판단되는 경우, 전자 장치(101)는 언어 번역의 목표 언어가 중국어 임에도 불구하고 "1,670 USD"(1523) 및 "40-inch"(1524)를 한국에서 사용되는 통화 단위 및 계량 단위로 환산할 수 있다. 전자 장치(101)는 환율 계산 서비스를 제공하는 제 2 서버(1535)에 "1,670 USD"(1523) 및 한국과 관련된 데이터를 전송하고, 한국에서 사용되는 통화 단위로 환산된 "1,903,299 KRW"(1541)를 획득할 수 있다. 또한, 전자 장치(101)는 메모리(130)에 저장된 적어도 하나의 정보를 이용하여, "40-inch"(1524)가 한국에서 사용되는 계량 단위로 환산된 "101.6 cm"(1546)를 획득할 수 있다.
일 실시 예에 따르면, 동작 1550에서, 전자 장치(101)는 제 1 서버(1525)를 통해 수행된 언어 번역의 결과, 제 2 서버(1535)를 통해 수행된 통화 단위 번역의 결과 및 전자 장치의 메모리에 저장된 데이터를 참고(동작 1545)하여 수행된 계량 단위 번역의 결과를 조합할 수 있으며, 조합된 결과를 출력할 수 있다.
한편, 다른 실시 예에 따르면, 전자 장치(101)는 통화 단위 또는 계량 단위에 대한 단위 번역을 수행할 때, 통화 단위 또는 계량 단위를 포함하는 텍스트가 작성된 연도나 시대상을 고려할 수 있다. 예컨대, "This bicycle costs 1,670 USD. It's 40-inch tall."(1521)가 작성된 시점이 1970년대로 판단되는 경우, 전자 장치(101)는 1970년대의 화폐 가치를 고려하여 단위 번역을 수행할 수 있다. 텍스트가 작성된 연도나 시대상을 고려하기 위해, 전자 장치(101)는 적어도 하나의 서버로부터 텍스트가 작성된 연도나 시대상과 관련된 데이터를 수신할 수 있다. 전자 장치(101)는 수신된 데이터에 기초하여, "This bicycle costs 1,670 USD. It's 40-inch tall."(1521)에 포함된 "1,670 USD"(1523)에 대한 단위 번역을 수행할 수 있다.
도 16은 다양한 실시 예에 따라 전자 장치의 디스플레이에 표시된 텍스트를 번역하는 방법을 설명하기 위한 순서도 이다.
상기 방법을 수행하는 주체는 표시 장치(160)(예: 디스플레이) 및 프로세서(120)를 포함하여 이루어진 전자 장치(101)에 있어서, 상기 프로세서일 수 있다.
일 실시 예에 따르면, 동작 1610에서, 전자 장치(101)는 복수의 단어들을 포함하는 텍스트로 구성된 사용자 인터페이스를 표시할 수 있다. 예를 들어, 전자 장치(101)에 실행 중인 적어도 하나의 프로그램(예: 어플리케이션)은 이미지 및 텍스트 중 적어도 하나를 포함하는 사용자 인터페이스로 구성될 수 있다.
동작 1620에서, 전자 장치(101)는 디스플레이(210)의 위에 있거나 또는 근접한 외부 오브젝트의 위치를 감지할 수 있다. 예컨대, 외부 오브젝트가 전자 장치(101)의 디스플레이(210)에 근접하거나 디스플레이(210)와 접촉하는 경우, 전자 장치(101)는 터치 센서를 이용하여 외부 오브젝트의 위치를 감지할 수 있다. 전자 장치(101)는 감지된 외부 오브젝트의 위치를 이용하여, 외부 오브젝트의 위치와 대응되는 디스플레이(210) 상의 위치를 식별할 수 있다. 여기서, 외부 오브젝트는 외부 전자 장치(102)(예: 스타일러스 펜) 또는 사용자의 신체 중 일부를 포함할 수 있다.
동작 1630에서, 전자 장치(101)는 감지된 위치에 적어도 일부 기반하여 적어도 하나 이상의 단어를 결정할 수 있다. 전자 장치(101)는 감지된 외부 오브젝트의 위치에 기초하여 디스플레이(210) 상에 표시된 적어도 하나의 단어를 식별할 수 있으며, 식별된 적어도 하나의 단어를 언어 번역의 대상으로 결정할 수 있다. 일 실시 예에 따르면, 전자 장치(101)가 단어 번역 모드로 설정된 경우, 전자 장치(101)는 검출된 위치에 기초하여 단일의 단어(single word)를 식별할 수 있다. 또한, 전자 장치(101)가 문장 번역 모드로 설정된 경우, 전자 장치(101)는 검출된 위치에 기초하여 둘 이상의 단어들(two or more words)을 식별할 수 있다.
동작 1640에서, 전자 장치(101)는 결정된 적어도 하나의 단어에 대한 언어 번역을 제공할 수 있다. 이를 위해, 전자 장치(101)는 OCR 엔진을 통해 텍스트를 추출하거나, 텍스트 추출 엔진을 통해 텍스트를 추출할 수 있다. 전자 장치(101)는 추출된 텍스트를 이용하여 언어 번역을 수행할 수 있다.
도 17a 내지 17b는 다양한 실시 예에 따른 전자 장치(101)의 전면 및 후면의 사시도 이다.
도 17a 내지 17b 를 참조하면, 일 실시 예에 따른 전자 장치(1700)(예: 전자 장치(101)) 는, 제 1 면(또는 전면)(1710a), 제 2 면(또는 후면)(1710b), 및 제 1 면(1710a) 및 제 2 면(1710b) 사이의 공간을 둘러싸는 측면(1710c)을 포함하는 하우징(1710)을 포함할 수 있다. 다른 실시 예(미도시)에서는, 하우징은, 도 17a의 제 1 면(1710a), 제 2 면(1710b) 및 측면(1710c)들 중 일부를 형성하는 구조를 지칭할 수도 있다. 일 실시 예에 따르면, 제 1 면(1710a)은 적어도 일부분이 실질적으로 투명한 전면 플레이트(1702)(예: 다양한 코팅 레이어들을 포함하는 글라스 플레이트, 또는 폴리머 플레이트)에 의하여 형성될 수 있다. 제 2 면(1710b)은 실질적으로 불투명한 후면 플레이트(1711)에 의하여 형성될 수 있다. 상기 후면 플레이트(1711)는, 예를 들어, 코팅 또는 착색된 유리, 세라믹, 폴리머, 금속(예: 알루미늄, 스테인레스 스틸(STS), 또는 마그네슘), 또는 상기 물질들 중 적어도 둘의 조합에 의하여 형성될 수 있다. 상기 측면(1710c)은, 전면 플레이트(1702) 및 후면 플레이트(1711)와 결합하며, 금속 및/또는 폴리머를 포함하는 측면 베젤 구조 (또는 "측면 부재")(1718)에 의하여 형성될 수 있다. 어떤 실시 예에서는, 후면 플레이트(1711) 및 측면 베젤 구조(1718)는 일체로 형성되고 동일한 물질(예: 알루미늄과 같은 금속 물질)을 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(1700)는, 디스플레이(1701)(예: 디스플레이(210)), 오디오 모듈(1703, 1707, 1714)(예: 오디오 모듈(170)), 센서 모듈(1704, 1719)(예: 센서 모듈(176)), 카메라 모듈(1705, 1712, 1713)(예: 카메라 모듈(180)), 키 입력 장치(1715, 1716, 1717), 인디케이터(1706), 커넥터 홀(1708, 1709), 및 입력 유닛(1720) 중 적어도 하나 이상을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(1700)는, 구성요소들 중 적어도 하나(예: 키 입력 장치(1715, 1716, 1717), 또는 인디케이터(1706))를 생략하거나 다른 구성요소를 추가적으로 포함할 수 있다.
디스플레이(1701)는, 예를 들어, 전면 플레이트(1702)의 상당 부분을 통하여 노출될 수 있다. 디스플레이(1701)는, 터치 감지 회로, 터치의 세기(압력)를 측정할 수 있는 압력 센서, 및/또는 자기장 방식의 입력 유닛(1720)을 검출하는 디지타이저와 결합되거나 인접하여 배치될 수 있다.
오디오 모듈(1703, 1707, 1714)은, 마이크 홀(1703) 및 스피커 홀(1707, 1714)을 포함할 수 있다. 마이크 홀(1703)은 외부의 소리를 획득하기 위한 마이크가 내부에 배치될 수 있고, 어떤 실시 예에서는 소리의 방향을 감지할 수 있도록 복수개의 마이크가 배치될 수 있다. 스피커 홀(1707, 1714)은, 외부 스피커 홀(1707) 및 통화용 리시버 홀(1714)을 포함할 수 있다. 어떤 실시 예에서는 스피커 홀(1707, 1714)과 마이크 홀(1703)이 하나의 홀로 구현 되거나, 스피커 홀(1707, 1714) 없이 스피커가 포함될 수 있다(예: 피에조 스피커).
센서 모듈(1704, 1719)은, 전자 장치(1700)의 내부의 작동 상태, 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(1704, 1719)은, 예를 들어, 하우징(1710)의 제 1 면(1710a)에 배치된 제 1 센서 모듈(1704)(예: 근접 센서) 및/또는 제 2 센서 모듈(미도시)(예: 지문 센서), 및/또는 상기 하우징(1710)의 제 2 면(1710b)에 배치된 제 3 센서 모듈(1719)(예: HRM 센서)을 포함할 수 있다. 상기 지문 센서는 하우징(1710)의 제 1 면(1710a)(예: 홈 키 버튼(1715))뿐만 아니라 제 2 면(1710b)에 배치될 수 있다. 전자 장치(1700)는, 도시되지 않은 센서 모듈, 예를 들어, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서(1704) 중 적어도 하나를 더 포함할 수 있다.
카메라 모듈(1705, 1712, 1713)은, 전자 장치(1700)의 제 1 면(1710a)에 배치된 제 1 카메라 장치(1705), 및 제 2 면(1710b)에 배치된 제 2 카메라 장치(1712), 및/또는 플래시(1713)를 포함할 수 있다. 상기 카메라 모듈(1705, 1712)은, 하나 또는 복수의 렌즈들, 이미지 센서, 및/또는 이미지 시그널 프로세서를 포함할 수 있다. 플래시(1713)는, 예를 들어, 발광 다이오드 또는 제논 램프(xenon lamp)를 포함할 수 있다. 어떤 실시 예에서는, 2개 이상의 렌즈들 (광각 및 망원 렌즈) 및 이미지 센서들이 전자 장치(1700)의 한 면에 배치될 수 있다.
키 입력 장치(1715, 1716, 1717)는, 하우징(1710)의 제 1 면(1710a)에 배치된 홈 키 버튼(1715), 홈 키 버튼(1715) 주변에 배치된 터치 패드(1716), 및/또는 하우징(1710)의 측면(1710c)에 배치된 사이드 키 버튼(1717)을 포함할 수 있다. 다른 실시 예에서는, 전자 장치(1700)는 상기 언급된 키 입력 장치(1715, 1716, 1717)들 중 일부 또는 전부를 포함하지 않을 수 있고 포함되지 않은 키 입력 장치(1715, 1716, 1717)는 디스플레이(1701) 상에 소프트 키 등 다른 형태로 구현될 수 있다.
인디케이터(1706)는, 예를 들어, 하우징(1710)의 제 1 면(1710a)에 배치될 수 있다. 인디케이터(1706)는, 예를 들어, 전자 장치(1700)의 상태 정보를 광 형태로 제공할 수 있으며, LED를 포함할 수 있다.
커넥터 홀(1708, 1709)은, 외부 전자 장치와 전력 및/또는 데이터를 송수신하기 위한 커넥터(예를 들어, USB 커넥터)를 수용할 수 있는 제 1 커넥터 홀(1708), 및/또는 외부 전자 장치와 오디오 신호를 송수신하기 위한 커넥터를 수용할 수 있는 제 2 커넥터 홀(예를 들어, 이어폰 잭)(1709)을 포함할 수 있다.
입력 유닛(1720)(예: 스타일러스 펜, 전자 펜 등)은, 예를 들어, 하우징(1710)의 측면(1710c) 중 일부에 구비된 리세스(recess) 구조(1721)를 통해, 전자 장치(1700)에 수용될 수 있다. 입력 유닛(1720)은 전자 장치(1700)와 분리될 수 있으며, 디스플레이(1701)와 접촉하여 전자 장치(1700)에 터치 입력을 전달하거나 디스플레이(1701)에 접근하여 전자 장치(1700)에 호버링 입력을 전달할 수 있다. 다른 실시 예에 따르면, 입력 유닛(1720)은 전자 장치(1700) 내부에 삽입되어 보관될 수 있으며, 사용시에는 상기 전자 장치(1700)로부터 인출 또는 분리될 수 있다. 이러한, 입력 유닛(1720)이 삽입되는 전자 장치(1700) 내부의 일 영역에는 상기 입력 유닛(1720)의 장착 및 탈착에 대응하여 동작하는 탈/부착 인식 스위치(미도시)가 구비되어 있고, 탈/부착 인식 스위치는 상기 입력 유닛(1720)의 장착 및 분리에 대응하는 신호를 프로세서(120)로 출력할 수 있다. 탈/부착 인식 스위치는 상기 입력 유닛(1720)의 장착 시 직/간접적으로 접촉되도록 구성될 수 있다. 이에 따라, 탈/부착 인식 스위치는 상기 입력 유닛(1720)과의 접촉 여부에 기초하여, 상기 입력 유닛(1720)의 장착 또는 분리에 대응하는 신호(즉, 입력 유닛(1720)의 장착 또는 분리를 통지하는 신호)를 생성하여 프로세서(120)로 출력할 수 있다. 또한, 입력 유닛(1720)은 입력 수단을 구비한 장치일 수 있다. 이 경우 전자 장치(1700)의 프로세서(120)는 입력 유닛(1720)이 인출 또는 분리될 경우에 표시부인 디스플레이(1701) 상의 임의의 위치에 포인터를 생성할 수 있다. 프로세서(120)는 디스플레이(1701)의 상측에 입력 유닛(1720)이 위치한 경우, 입력 유닛(1720)의 위치 변화를 검출하여 포인터의 위치를 상기 위치 변화에 대응되도록 이동시킬 수 있다.
본 발명의 다양한 실시 예에 따라 전자 장치의 디스플레이에 표시된 문자를 인식하는 방법에 있어서, 상기 방법은, 복수의 단어들을 포함하는 텍스트로 구성된 사용자 인터페이스를 표시하는 동작, 제 1 모드에서, 상기 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 1 위치를 감지하고, 상기 제 1 위치에 적어도 일부 기반하여 단일의 단어(single word)를 결정하고, 상기 단일의 단어에 대한 언어 번역을 제공하는 동작 및 제 2 모드에서, 상기 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 2 위치를 감지하고, 상기 제 2 위치에 적어도 일부 기반하여 둘 이상의 단어들(two or more words)를 결정하고, 상기 둘 이상의 단어들에 대한 언어 번역을 제공하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따라 전자 장치의 디스플레이에 표시된 문자를 인식하는 방법에 있어서, 상기 복수의 단어들은 적어도 하나의 구(phrase) 또는 문장(sentence)을 형성하는 것을 특징으로 하며, 상기 방법은, 상기 제 2 모드에서, 상기 제 2 위치에 적어도 일부 기반하여 상기 적어도 하나의 구 또는 문장을 결정하고, 상기 사용자 인터페이스에 상기 결정된 구 또는 문장에 대한 언어 번역을 제공하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따라 전자 장치의 디스플레이에 표시된 문자를 인식하는 방법에 있어서, 상기 사용자 인터페이스는 상기 제 1 모드 및 상기 제 2 모드 사이의 전환을 위한 가상 버튼을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따라 전자 장치의 디스플레이에 표시된 문자를 인식하는 방법에 있어서, 상기 전자 장치가 상기 제 1 모드로 설정되는 제 1 사용자 입력 및 상기 제 2 모드로 설정되는 제 2 사용자 입력을 구분하기 위한 터치 입력의 지속 시간, 터치 입력의 세기 및 호버링 입력이 감지되는 거리 중 적어도 하나에 대한 임계치를 상기 전자 장치의 메모리에 저장할 수 있다.
본 발명의 다양한 실시 예에 따라 전자 장치의 디스플레이에 표시된 문자를 인식하는 방법에 있어서, 상기 외부 오브젝트는 스타일러스 펜(stylus pen)을 포함할 수 있다.
본 발명의 다양한 실시 예에 따라 전자 장치의 디스플레이에 표시된 문자를 인식하는 방법에 있어서, 상기 하우징은 상기 스타일러스 펜을 수용하기 위한 구조를 포함할 수 있다.
본 발명의 다양한 실시 예에 따라 전자 장치의 디스플레이에 표시된 문자를 인식하는 방법에 있어서, 상기 방법은, 상기 디스플레이와 접촉하고 있는 외부 오브젝트를 감지한 후, 상기 텍스트 내의 단어 근처에 메뉴를 표시하는 동작 및 상기 디스플레이와 접촉하지 않은 채 상기 디스플레이에 근접한 외부 오브젝트를 감지한 후, 상기 제 1 모드에서 상기 단일의 단어에 대한 언어 번역을 표시하거나 상기 제 2 모드에서 상기 둘 이상의 단어들에 대한 언어 번역을 표시하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따라 전자 장치의 디스플레이에 표시된 문자를 인식하는 방법에 있어서, 상기 메뉴는 전체 선택, 복사, 붙이기(paste) 및 공유 중 적어도 하나 이상을 포함할 수 있다.
본 발명의 다양한 실시 예에 따라 전자 장치의 디스플레이에 표시된 문자를 인식하는 방법에 있어서, 상기 방법은, 상기 결정된 단일의 단어 또는 상기 결정된 둘 이상의 단어들 근처에 상기 언어 번역을 포함하는 팝업 윈도우를 표시하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따라 전자 장치의 디스플레이에 표시된 문자를 인식하는 방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체에 있어서, 복수의 단어들을 포함하는 텍스트로 구성된 사용자 인터페이스를 표시하는 동작, 제 1 모드에서, 상기 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 1 위치를 감지하고, 상기 제 1 위치에 적어도 일부 기반하여 단일의 단어(single word)를 결정하고, 상기 단일의 단어에 대한 언어 번역을 제공하는 동작 및 제 2 모드에서, 상기 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 2 위치를 감지하고, 상기 제 2 위치에 적어도 일부 기반하여 둘 이상의 단어들(two or more words)를 결정하고, 상기 둘 이상의 단어들에 대한 언어 번역을 제공하는 동작을 포함하는 방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다.

Claims (22)

  1. 전자 장치에 있어서,
    하우징;
    상기 하우징의 일부분을 통해 노출된 터치스크린 디스플레이;
    상기 터치스크린 디스플레이에 전기적으로 연결된 프로세서; 및
    상기 프로세서와 전기적으로 연결된 메모리를 포함하고,
    상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금,
    수신되는 입력의 위치를 식별하고,
    상기 입력이 복수의 단어들을 포함하는 텍스트 인지 또는 이미지 인지 식별하고,
    상기 입력이 상기 복수의 단어들을 포함하는 텍스트로 구성된 경우,
    상기 복수의 단어들을 포함하는 텍스트로 구성된 사용자 인터페이스를 표시하고,
    제 1 모드에서, 상기 터치스크린 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 1 위치를 검출하고, 상기 제 1 위치에 적어도 일부 기반하여 단일의 단어(single word)를 결정하고, 상기 단일의 단어에 대한 언어 번역을 제공하고, 제 2 모드에서, 상기 터치스크린 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 2 위치를 검출하고, 상기 제 2 위치에 적어도 일부 기반하여 둘 이상의 단어들(two or more words)을 결정하고, 상기 둘 이상의 단어들에 대한 언어 번역을 제공하고,
    상기 입력이 이미지인 경우,
    상기 메모리에 저장된 기본 폰트의 크기에 기초하여, 텍스트를 획득하기 위한 영역을 식별하고,
    상기 식별된 영역을 OCR (optical character recognition) 엔진으로 전달하고,
    상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금,
    상기 텍스트의 타입이 문자 타입인 경우, 상기 텍스트를 상기 식별된 위치에 표시하도록 설정된 어플리케이션으로부터 상기 텍스트와 관련된 제 2 텍스트를 추출하고,
    상기 제 2 텍스트 중 제 1 텍스트와 대응되는 제 3 텍스트를 메타데이터 검색을 통해 획득하고,
    상기 제 3 텍스트에 기초하여 상기 제 1 텍스트의 오류가 수정된 제 4 텍스트를 획득하게 하도록 하는 명령어들을 저장하는 전자 장치.
  2. 제 1 항에 있어서,
    상기 복수의 단어들은 적어도 하나의 구(phrase) 또는 문장(sentence)을 형성하고,
    상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금,
    상기 제 2 모드에서, 상기 제 2 위치에 적어도 일부 기반하여 상기 적어도 하나의 구 또는 문장을 결정하고, 상기 사용자 인터페이스에 상기 결정된 구 또는 문장에 대한 언어 번역을 제공하도록 하는 명령어들을 더 저장하는 것을 특징으로 하는 전자 장치.
  3. 제 1 항에 있어서,
    상기 사용자 인터페이스는 상기 제 1 모드 및 상기 제 2 모드 사이의 전환을 위한 가상 버튼을 더 포함하는 것을 특징으로 하는 전자 장치.
  4. 제 1 항에 있어서,
    상기 메모리는,
    상기 전자 장치가 상기 제 1 모드로 설정되는 제 1 사용자 입력 및 상기 제 2 모드로 설정되는 제 2 사용자 입력을 구분하기 위한 터치 입력의 지속 시간, 터치 입력의 세기 및 호버링 입력이 감지되는 거리 중 적어도 하나에 대한 임계치를 더 저장하는 것을 특징으로 하는 전자 장치.
  5. 제 1 항에 있어서,
    상기 외부 오브젝트는 스타일러스 펜(stylus pen)인 것을 특징으로 하는 전자 장치.
  6. 제 5 항에 있어서,
    상기 하우징은 상기 스타일러스 펜을 수용하기 위한 구조를 더 포함하는 것을 특징으로 하는 전자 장치.
  7. 제 1 항에 있어서,
    상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금,
    상기 터치스크린 디스플레이와 접촉하고 있는 외부 오브젝트를 감지한 후, 상기 텍스트 내의 단어 근처에 메뉴를 표시하고,
    상기 터치스크린 디스플레이와 접촉하지 않은 채 상기 터치스크린 디스플레이에 근접한 외부 오브젝트를 감지한 후, 상기 제 1 모드에서 상기 단일의 단어에 대한 언어 번역을 표시하거나 상기 제 2 모드에서 상기 둘 이상의 단어들에 대한 언어 번역을 표시하게 하는 명령어들을 더 저장하는 전자 장치.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제 7 항에 있어서,
    상기 메뉴는 전체 선택, 복사, 붙이기(paste) 및 공유 중 적어도 하나 이상을 더 포함하는 것을 특징으로 하는 전자 장치.
  9. 제 1 항에 있어서,
    상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금,
    상기 결정된 단일의 단어 또는 상기 결정된 둘 이상의 단어들 근처에 상기 언어 번역을 포함하는 팝업 윈도우를 표시하도록 하는 명령어를 더 저장하는 전자 장치.
  10. 삭제
  11. 삭제
  12. 제 1 항에 있어서,
    상기 메모리는, 상기 전자 장치가 동작할 때, 상기 프로세서로 하여금,
    상기 제 4 텍스트에 통화 단위(currency unit)가 포함되어 있는 경우, 상기 언어 번역의 목표 언어(target language)가 사용되는 국가의 통화 단위에 기초하여 상기 통화 단위에 대한 단위 번역을 제공하고,
    상기 제 4 텍스트에 계량 단위(measuring unit)가 포함되어 있는 경우, 상기 언어 번역의 목표 언어가 사용되는 국가의 계량 단위에 기초하여 상기 계량 단위에 대한 단위 번역을 제공하는 명령어들을 저장하는 전자 장치.
  13. 전자 장치의 터치스크린 디스플레이에 표시된 문자를 인식하는 방법에 있어서,
    복수의 단어들을 포함하는 텍스트 또는 이미지 중 적어도 하나를 포함하는 입력을 수신하는 동작;
    상기 입력의 위치 및 상기 입력이 복수의 단어들을 포함하는 텍스트인지 또는 이미지인지 식별하는 동작;
    상기 입력이 상기 복수의 단어들을 포함하는 텍스트로 구성되는 경우,
    복수의 단어들을 포함하는 텍스트로 구성된 사용자 인터페이스를 표시하는 동작;
    제 1 모드에서, 상기 터치스크린 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 1 위치를 검출하고, 상기 제 1 위치에 적어도 일부 기반하여 단일의 단어(single word)를 결정하고, 상기 단일의 단어에 대한 언어 번역을 제공하는 동작; 및
    제 2 모드에서, 상기 터치스크린 디스플레이의 위에 있거나 또는 근접한 외부 오브젝트의 제 2 위치를 검출하고, 상기 제 2 위치에 적어도 일부 기반하여 둘 이상의 단어들(two or more words)를 결정하고, 상기 둘 이상의 단어들에 대한 언어 번역을 제공하는 동작을 포함하고,
    상기 입력이 이미지인 경우,
    메모리에 저장된 기본 폰트의 크기에 기초하여, 텍스트를 획득하기 위한 영역을 식별하는 동작; 및
    상기 식별된 영역을 OCR (optical character recognition) 엔진으로 전달하는 동작을 포함하고,
    상기 텍스트의 타입이 문자 타입인 경우, 상기 텍스트를 상기 식별된 위치에 표시하도록 설정된 어플리케이션으로부터 상기 텍스트와 관련된 제 2 텍스트를 추출하는 동작;
    상기 제 2 텍스트 중 제 1 텍스트와 대응되는 제 3 텍스트를 메타데이터 검색을 통해 획득하는 동작; 및
    상기 제 3 텍스트에 기초하여 상기 제 1 텍스트의 오류가 수정된 제 4 텍스트를 획득하는 동작을 포함하는 방법.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제 13 항에 있어서,
    상기 복수의 단어들은 적어도 하나의 구(phrase) 또는 문장(sentence)을 형성하는 것을 특징으로 하며,
    상기 제 2 모드에서, 상기 제 2 위치에 적어도 일부 기반하여 상기 적어도 하나의 구 또는 문장을 결정하고, 상기 사용자 인터페이스에 상기 결정된 구 또는 문장에 대한 언어 번역을 제공하는 동작을 포함하는 방법.
  15. ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈
    제 13 항에 있어서,
    상기 사용자 인터페이스는 상기 제 1 모드 및 상기 제 2 모드 사이의 전환을 위한 가상 버튼을 더 포함하는 것을 특징으로 하는 방법.
  16. ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈
    제 13 항에 있어서,
    상기 전자 장치가 상기 제 1 모드로 설정되는 제 1 사용자 입력 및 상기 제 2 모드로 설정되는 제 2 사용자 입력을 구분하기 위한 터치 입력의 지속 시간, 터치 입력의 세기 및 호버링 입력이 감지되는 거리 중 적어도 하나에 대한 임계치를 상기 전자 장치의 메모리에 저장하는 것을 특징으로 하는 방법.

  17. ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈
    제 13 항에 있어서,
    상기 외부 오브젝트는 스타일러스 펜(stylus pen)인 것을 특징으로 하는 방법.
  18. ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈
    제 17 항에 있어서,
    상기 전자 장치의 하우징은 상기 스타일러스 펜을 수용하기 위한 구조를 더 포함하는 것을 특징으로 하는 방법.
  19. ◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈
    제 13 항에 있어서,
    상기 터치스크린 디스플레이와 접촉하고 있는 외부 오브젝트를 감지한 후, 상기 텍스트 내의 단어 근처에 메뉴를 표시하는 동작; 및
    상기 터치스크린 디스플레이와 접촉하지 않은 채 상기 터치스크린 디스플레이에 근접한 외부 오브젝트를 감지한 후, 상기 제 1 모드에서 상기 단일의 단어에 대한 언어 번역을 표시하거나 상기 제 2 모드에서 상기 둘 이상의 단어들에 대한 언어 번역을 표시하는 동작을 포함하는 방법.
  20. ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈
    제 19 항에 있어서,
    상기 메뉴는 전체 선택, 복사, 붙이기(paste) 및 공유 중 적어도 하나 이상을 더 포함하는 것을 특징으로 하는 방법.
  21. ◈청구항 21은(는) 설정등록료 납부시 포기되었습니다.◈
    제 13 항에 있어서,
    상기 결정된 단일의 단어 또는 상기 결정된 둘 이상의 단어들 근처에 상기 언어 번역을 포함하는 팝업 윈도우를 표시하는 동작을 포함하는 방법.
  22. 삭제
KR1020170106355A 2017-08-22 2017-08-22 디스플레이에 표시된 텍스트를 번역하는 방법 및 장치 KR102457894B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170106355A KR102457894B1 (ko) 2017-08-22 2017-08-22 디스플레이에 표시된 텍스트를 번역하는 방법 및 장치
US16/107,120 US20190065476A1 (en) 2017-08-22 2018-08-21 Method and apparatus for translating text displayed on display

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170106355A KR102457894B1 (ko) 2017-08-22 2017-08-22 디스플레이에 표시된 텍스트를 번역하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190021146A KR20190021146A (ko) 2019-03-05
KR102457894B1 true KR102457894B1 (ko) 2022-10-25

Family

ID=65435186

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170106355A KR102457894B1 (ko) 2017-08-22 2017-08-22 디스플레이에 표시된 텍스트를 번역하는 방법 및 장치

Country Status (2)

Country Link
US (1) US20190065476A1 (ko)
KR (1) KR102457894B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147555B (zh) * 2019-04-17 2023-08-11 维沃移动通信有限公司 一种翻译内容的方法及终端设备
US11593570B2 (en) * 2019-04-18 2023-02-28 Consumer Ledger, Inc. System and method for translating text
KR102243933B1 (ko) * 2020-03-16 2021-04-23 주식회사 한글과컴퓨터 번역된 문장에 포함된 단위의 자동 변환을 지원하는 번역 처리 장치 및 그 동작 방법
WO2021210754A1 (ko) * 2020-04-16 2021-10-21 주식회사 펍플 자동번역 기능을 탑재한 전자책 서비스 제공 방법 및 장치
KR102243935B1 (ko) * 2020-05-13 2021-04-23 주식회사 한글과컴퓨터 번역된 문장에 포함된 화폐 단위의 변환을 지원하는 번역 처리 장치 및 그 동작 방법
CN111723586A (zh) * 2020-06-18 2020-09-29 京东方科技集团股份有限公司 一种文本识别方法、装置、存储介质以及电子设备
CN113220144B (zh) * 2021-03-15 2022-06-07 荣耀终端有限公司 触控笔
CN115543495A (zh) * 2021-06-30 2022-12-30 腾讯科技(深圳)有限公司 界面管理方法、装置、设备及可读存储介质
CN113970971B (zh) * 2021-09-10 2022-10-04 荣耀终端有限公司 基于触控笔的数据处理方法和装置
WO2023128348A1 (ko) * 2021-12-28 2023-07-06 삼성전자 주식회사 이미지 내의 텍스트를 인식하는 전자 장치 및 그 동작 방법
WO2024063346A1 (ko) * 2022-09-20 2024-03-28 삼성전자주식회사 텍스트를 표시하기 위한 전자 장치 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050183A1 (en) * 2005-08-26 2007-03-01 Garmin Ltd. A Cayman Islands Corporation Navigation device with integrated multi-language dictionary and translator

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0635962A (ja) * 1992-07-21 1994-02-10 Matsushita Electric Ind Co Ltd 機械翻訳装置
US6175819B1 (en) * 1998-09-11 2001-01-16 William Van Alstine Translating telephone
US20010032070A1 (en) * 2000-01-10 2001-10-18 Mordechai Teicher Apparatus and method for translating visual text
US7219310B2 (en) * 2001-11-05 2007-05-15 Xerox Corporation Instruction generating system and process via symbolic representations
GB0204246D0 (en) * 2002-02-22 2002-04-10 Mitel Knowledge Corp System and method for message language translation
JP2006252049A (ja) * 2005-03-09 2006-09-21 Fuji Xerox Co Ltd 翻訳システム、翻訳方法およびプログラム
JP2006277103A (ja) * 2005-03-28 2006-10-12 Fuji Xerox Co Ltd 文書翻訳方法および文書翻訳装置
US7778632B2 (en) * 2005-10-28 2010-08-17 Microsoft Corporation Multi-modal device capable of automated actions
TWI291143B (en) * 2006-08-04 2007-12-11 Kuo-Ping Yang Method of learning the second language through picture guiding
US8144990B2 (en) * 2007-03-22 2012-03-27 Sony Ericsson Mobile Communications Ab Translation and display of text in picture
CN101408874A (zh) * 2007-10-09 2009-04-15 深圳富泰宏精密工业有限公司 图像文字翻译装置及方法
US8635058B2 (en) * 2010-03-02 2014-01-21 Nilang Patel Increasing the relevancy of media content
JP5579202B2 (ja) * 2012-01-16 2014-08-27 東芝テック株式会社 情報処理装置、店舗システム及びプログラム
US9165406B1 (en) * 2012-09-21 2015-10-20 A9.Com, Inc. Providing overlays based on text in a live camera view
KR20140142116A (ko) * 2013-06-03 2014-12-11 삼성전자주식회사 텍스트 변환 서비스를 제공하는 전자장치 및 방법
US9898935B2 (en) * 2013-12-23 2018-02-20 Maurice Hazan Language system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050183A1 (en) * 2005-08-26 2007-03-01 Garmin Ltd. A Cayman Islands Corporation Navigation device with integrated multi-language dictionary and translator

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
블로그, '갤럭시 노트7의 S펜 번역기 이미지와 글자도 인식, 자동으로 번역', 2016.08.04.*
블로그, '전자기기 갤럭시 탭s3 기능 소개-PDF 문장 자동번역, S펜활용 자동으로 사전찾기', 2017.05.01.*
앱스토리, '갤럭시 노트7의 'S펜' 어디까지 써봤니?', 2016.08.19.*

Also Published As

Publication number Publication date
US20190065476A1 (en) 2019-02-28
KR20190021146A (ko) 2019-03-05

Similar Documents

Publication Publication Date Title
KR102457894B1 (ko) 디스플레이에 표시된 텍스트를 번역하는 방법 및 장치
CN107977110B (zh) 用于获取指纹信息的电子装置和方法
KR102482850B1 (ko) 전자 장치 및 전자 장치의 필체 교정 기능 제공 방법
KR102478396B1 (ko) 이미지에서 텍스트를 인식할 수 있는 전자 장치
EP2937813A2 (en) Method of processing content and electronic device using the same
KR20180004552A (ko) 필기 입력에 따른 사용자 인터페이스 제어 방법 및 이를 구현한 전자 장치
KR102625254B1 (ko) 입력기를 통해 이미지와 관련된 정보를 어플리케이션에 제공하는 전자 장치 및 방법
KR20200100918A (ko) 카메라를 이용하는 어플리케이션을 통해 다양한 기능을 제공하는 전자 장치 및 그의 동작 방법
KR102402148B1 (ko) 전자 장치 및 그의 문자 인식 방법
JP2019128961A (ja) 指紋認識のための方法、電子装置及び格納媒体
KR20200101481A (ko) 전자 장치 및 그의 필체 보정 방법
US10671795B2 (en) Handwriting preview window
KR20200040597A (ko) 터치 입력의 종류에 기반하여 터치 입력 조건을 결정하는 전자 장치 및 그 동작 방법
KR102621809B1 (ko) 저전력 상태에서 디스플레이를 통해 화면을 표시하기 위한 전자 장치 및 그의 동작 방법
US20160239992A1 (en) Image processing method and electronic device for supporting the same
US11308317B2 (en) Electronic device and method for recognizing characters
US20230049621A1 (en) Electronic device and operation method of electronic device
KR20210075641A (ko) 정보 제공 방법 및 이를 지원하는 전자 장치
US11482024B2 (en) Electronic device and method for processing writing input
US11586352B2 (en) Method for setting layout for physical keyboard by electronic device, and device therefor
KR102458719B1 (ko) 사용자 입력을 지원하는 전자 장치 및 전자 장치의 제어 방법
KR102468082B1 (ko) 필기 입력에 대한 보정 방법, 이를 위한 전자 장치 및 저장 매체
KR20190021774A (ko) 터치 이벤트를 처리하는 전자 장치 및 그 제어 방법
US11188227B2 (en) Electronic device and key input method therefor
KR102568550B1 (ko) 필기 입력을 이용하여 어플리케이션을 실행하는 전자 장치 및 그 제어 방법

Legal Events

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