KR102478396B1 - 이미지에서 텍스트를 인식할 수 있는 전자 장치 - Google Patents

이미지에서 텍스트를 인식할 수 있는 전자 장치 Download PDF

Info

Publication number
KR102478396B1
KR102478396B1 KR1020170162238A KR20170162238A KR102478396B1 KR 102478396 B1 KR102478396 B1 KR 102478396B1 KR 1020170162238 A KR1020170162238 A KR 1020170162238A KR 20170162238 A KR20170162238 A KR 20170162238A KR 102478396 B1 KR102478396 B1 KR 102478396B1
Authority
KR
South Korea
Prior art keywords
text
processor
electronic device
translation
server
Prior art date
Application number
KR1020170162238A
Other languages
English (en)
Other versions
KR20190063277A (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 KR1020170162238A priority Critical patent/KR102478396B1/ko
Priority to US16/202,815 priority patent/US20190164002A1/en
Priority to CN201811441387.9A priority patent/CN109840465A/zh
Priority to EP18209146.2A priority patent/EP3493110A1/en
Priority to PCT/KR2018/014982 priority patent/WO2019107981A1/en
Publication of KR20190063277A publication Critical patent/KR20190063277A/ko
Application granted granted Critical
Publication of KR102478396B1 publication Critical patent/KR102478396B1/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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/003Deblurring; Sharpening
    • G06T5/73
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/17Image acquisition using hand-held instruments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • G06V20/63Scene text, e.g. street names
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables

Abstract

본 발명의 다양한 실시 예에 따른 전자 장치는, 하우징, 상기 하우징의 제1 부분을 통해 노출되는 디스플레이, 상기 하우징의 제2 부분을 통해 노출되는 이미지 센서, 무선 통신 회로, 상기 디스플레이, 상기 이미지 센서, 상기 통신 회로와 작동적으로 연결되는 프로세서, 및 상기 프로세서에 작동적으로 연결되는 메모리를 포함하고, 상기 메모리는 명령어를 저장하고, 상기 명령어는, 실행되는 경우, 상기 프로세서가, 상기 이미지 센서로부터 이미지 데이터를 수신하고, 상기 이미지 데이터의 적어도 일부에 기반하여 제1 텍스트를 결정하고, 상기 디스플레이에 상기 결정된 제1 텍스트를 표시하고, 상기 이미지 데이터를 상기 무선 통신 회로를 통해 외부 서버에 전송하고, 상기 외부 서버로부터 제2 텍스트를 포함하는 비(非) 이미지 데이터를 수신하고, 상기 결정된 제1 텍스트를 표시한 이후, 상기 디스플레이에 상기 제2 텍스트를 상기 제1 텍스트와 함께 표시하고, 및/또는 상기 디스플레이에 표시된 상기 제1 텍스트의 적어도 일부를 상기 제2 텍스트의 적어도 일부에 기반하여 변경하도록 할 수 있다.

Description

이미지에서 텍스트를 인식할 수 있는 전자 장치{The Electronic Device Recognizing the Text in the Image}
본 문서의 다양한 실시 예는 이미지에 포함된 텍스트를 인식하는 전자 장치에 관한 것이다.
스마트폰, 태블릿 PC 등과 같은 전자 장치는 통화, 동영상 재생, 인터넷 검색 등 다양한 기능을 수행할 수 있다. 상기 전자 장치는 카메라 모듈(렌즈, 이미지 센서 등을 포함)을 장착할 수 있다. 상기 전자 장치는 카메라 모듈을 이용하여 사진 또는 동영상을 촬영할 수 있다.
최근에는 카메라 모듈을 통해 촬영된 이미지에 포함된 텍스트를 인식(예: 광학 문자 인식(optical character recognition; OCR))하고, 인식된 텍스트를 사용자가 인지하기 쉬운 언어로 번역하는 기술이 개발되고 있다.
종래 기술에 따른 전자 장치는 내부의 연산을 통해 문자를 인식하는 방식을 이용할 수 있다. 이 경우, 외부 서버를 이용하지 않고, 문자 인식 과정을 수행하여, 상대적으로 빠른 번역 결과를 표시할 수 있으나, 번역의 정확도가 낮아질 수 있다. 또는, 종래 기술에 따른 전자 장치는 외부의 서버의 연산을 통해 문자를 인식하는 방식을 이용할 수 있다. 이 경우, 번역의 정확도가 높아질 수 있으나, 번역 결과를 표시하는 시간이 늘어날 수 있다.
내부의 연산을 통해 문자를 인식하는 방식과 외부의 서버의 연산을 통해 문자를 인식하는 방식을 결합하여 문자를 인식하는 전자 장치의 경우, 하나의 방식이 단순히 보조적으로 사용되어, 라이브 뷰 이미지와 같이 실시간으로 사용자에게 번역 결과를 표시할 필요가 있는 경우, 이용되기 어려운 문제점이 있다.
본 발명의 다양한 실시 예에 따른 전자 장치는, 하우징, 상기 하우징의 제1 부분을 통해 노출되는 디스플레이, 상기 하우징의 제2 부분을 통해 노출되는 이미지 센서, 무선 통신 회로, 상기 디스플레이, 상기 이미지 센서, 상기 통신 회로와 작동적으로 연결되는 프로세서, 및 상기 프로세서에 작동적으로 연결되는 메모리를 포함하고, 상기 메모리는 명령어를 저장하고, 상기 명령어는, 실행되는 경우, 상기 프로세서가, 상기 이미지 센서로부터 이미지 데이터를 수신하고, 상기 이미지 데이터의 적어도 일부에 기반하여 제1 텍스트를 결정하고, 상기 디스플레이에 상기 결정된 제1 텍스트를 표시하고, 상기 이미지 데이터를 상기 무선 통신 회로를 통해 외부 서버에 전송하고, 상기 외부 서버로부터 제2 텍스트를 포함하는 비(非) 이미지 데이터를 수신하고, 상기 결정된 제1 텍스트를 표시한 이후, 상기 디스플레이에 상기 제2 텍스트를 상기 제1 텍스트와 함께 표시하고, 및/또는 상기 디스플레이에 표시된 상기 제1 텍스트의 적어도 일부를 상기 제2 텍스트의 적어도 일부에 기반하여 변경하도록 할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치는 내부 연산을 통한 문자 인식 과정과 외부 서버를 이용한 문자 인식 과정을 동시에 이용하여, 문자 인식 속도를 높이고, 문자 인식의 정확도를 높일 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치는 서버를 통해 이전 이미지 프레임에서 수행된 문자 인식과 관련된 언어를 저장하고, 저장된 번역 언어를 이용하여, 내부 연산을 통한 문자 인식 과정의 속도를 높일 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치는 내부 연산을 통한 문자 인식 결과와 외부 서버를 이용한 문자 인식 결과를 자연스럽게 전환하여, 문자 인식 과정에서 사용자가 인지할 수 있는 이질감을 줄일 수 있다.
도 1은 다양한 실시 예에 따른 이미지에서 문자를 인식할 수 있는 전자 장치를 도시한다.
도 2는 다양한 실시 예에 따른 전자 장치의 내부 블럭도이다.
도 3은 다양한 실시 예에 따른 문자 인식 과정을 나타내는 순서도 이다.
도 4는 다양한 실시 예에 따른 로컬 문자 인식 결과와 서버 문자 인식 결과의 차이를 나타낸다.
도 5는 다양한 실시 예에 따른 번역 서버를 통한 제1 텍스트의 번역 과정을 나타내는 신호 흐름도이다.
도 6은 다양한 실시 예에 따른 인식 대상 언어의 설정에 관한 순서도이다.
도 7은 다양한 실시 예에 따른 인식 대상 언어의 설정에 관한 예시도이다.
도 8은 다양한 실시 예에 따른 전자 장치의 내부 블럭도이다.
도 9는 다양한 실시 예에 따른 이미지 전환 효과를 나타내는 화면 예시도이다.
도 10은 다양한 실시 예에 따른 복수의 언어 감지에 관한 예시도이다.
도 11는 다양한 실시 예에 따른, 네트워크 환경 내의 전자 장치의 블럭도이다.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "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 personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 다양한 실시 예에 따른 이미지에서 문자를 인식할 수 있는 전자 장치를 도시한다.
도 1을 참조하면, 문자 인식 시스템(100)은 전자 장치(101), 문자 인식 서버(102) 및 번역 서버(103)를 포함할 수 있다. 문자 인식 시스템(100)은 전자 장치(101)에서 촬영된 이미지에서 문자를 인식(예: 광학 문자 인식(optical character recognition; OCR))하여, 다른 언어로 번역하여 전자 장치(101)의 디스플레이(110)에 표시할 수 있다.
다양한 실시 예에 따르면, 전자 장치(101)는 디스플레이(110), 하우징(또는 본체부)(120), 카메라 모듈(또는 이미지 센서)(130), 통신 회로(미도시), 프로세서(160) 및 메모리(170)를 포함할 수 있다.
디스플레이(110)는 텍스트 또는 이미지 등의 컨텐츠를 출력할 수 있다. 예를 들어, 디스플레이(110)는 카메라 모듈(130)을 통해 수집된 이미지 데이터를 기반으로 라이브 뷰(live view)(또는 프리뷰) 이미지를 출력할 수 있다. 사용자는 라이브 뷰 이미지를 통해 촬영되는 객체(105)를 확인하면서 사진 또는 동영상을 촬영할 수 있다.
다양한 실시 예에 따르면, 디스플레이(110)는 라이브 뷰 이미지에 포함된 문자에 대한 번역된 텍스트(이하, 번역 텍스트)를 표시할 수 있다. 예를 들어, 사용자는 객체(105)에 기재된 외국어의 의미가 궁금한 경우, 카메라 모듈(130)을 이용하여 객체(105)를 촬영할 수 있다. 사용자는 디스플레이(110)의 라이브 뷰 이미지에 표시된 번역 텍스트를 확인하고, 기재된 외국어의 의미를 이해할 수 있다.
하우징(또는 본체부)(120)은 디스플레이(110)를 고정하고, 내부의 다양한 구성을 보호할 수 있다. 하우징(120)은 외부에 버튼(미도시), 센서창(미도시), 스피커(미도시), 또는 카메라 모듈(130) 등을 포함할 수 있다.
하우징(또는 본체부)(120)은 내부에 전자 장치(101)의 구동에 필요한 통신 회로(미도시), 프로세서(160), 메모리(170), 인쇄 회로 기판(미도시), 또는 배터리(미도시) 등 다양한 구성을 포함할 수 있다.
프로세서(160)는 전자 장치(101)를 구동하기 위한 다양한 데이터 처리 및 연산을 수행할 수 있다. 다양한 실시 예에 따르면, 프로세서(160)는 카메라 모듈(130)을 통해 수집된 이미지에 포함된 문자를 감지(예: 광학 문자 인식(optical character recognition; OCR))할 수 있다. 프로세서(160)는 감지된 문자를 다른 언어로 변환한 번역 텍스트를 디스플레이(110)에 표시할 수 있다.
다양한 실시 예에 따르면, 프로세서(160)는 전자 장치(101) 내부에서의 데이터 처리를 통한 문자 인식 과정(이하, 로컬(local) 문자 인식 과정) 또는 외부의 문자 인식 서버(102)를 이용한 문자 인식 과정(이하, 서버 문자 인식 과정)을 통해 카메라 모듈(130)을 통해 수집된 이미지에 포함된 문자를 인식할 수 있다.
예를 들어, 프로세서(160)는 디스플레이(110)를 통해 객체(105)에 대한 라이브 뷰 이미지(111)를 출력할 수 있다. 라이브 뷰 이미지(111)는 제1 문자 영역(150) 및 제2 문자 영역(155)을 포함할 수 있다.
프로세서(160)는 로컬(local) 문자 인식 과정에서, 그래픽 처리된 제2 문자 영역(155)에 대해서는 문자를 인식하지 못하고, 일반적인 이미지 영역으로 처리할 수 있다. 프로세서(160)는 제1 문자 영역(150)에 대해서는 문자를 포함하는 영역으로 결정하고, 로컬 문자 인식 과정을 수행할 수 있다.
프로세서(160)는 제1 문자 영역(150)에 포함된 S, o, f, t, &, c, l, e, a, n, F, a, c, i, a, l, T, i, s, s, u, e, s를 각각 캐릭터로 인식하 수 있다. 프로세서(160)는 인식된 캐릭터를 조합하여, "Soft", "&", "Clean", "Facial"과 "Tissues"을 각각 워드로 인식할 수 있다. 프로세서(160)는 인식된 워드를 조합하여, "Soft & Clean Facial Tissues "을 하나의 라인으로 인식할 수 있다. 프로세서(160)는 "Soft & Clean Facial Tissues"를 번역한 "부드럽고 청결한 페이셜 티슈"를 1차적으로 표시한 라이브 뷰 이미지(112)를 표시할 수 있다.
프로세서(160)는 외부 문자 인식 서버(102)부터 그래픽 처리된 제2 문자 영역(155)에 대한 인식 결과를 수신하는 경우, 제2 문자 영역(155)에 포함된 "New Face"를 번역한 "새로운 얼굴"을 표시한 라이브 뷰 이미지(113)을 표시할 수 있다.
로컬 문자 인식 과정 또는 서버 문자 인식 과정에 관한 추가 정보는 도 2 내지 도 10을 통해 제공될 수 있다.
메모리(170)는 문자 인식에 필요한 정보, 문자 인식 결과, 또는 번역 결과 등을 저장할 수 있다.
문자 인식 서버(102)는 전자 장치(101)로부터 이미지 데이터를 수신할 수 있다. 문자 인식 서버(102)는 수신한 이미지 데이터에 포함된 문자를 감지할 수 있다. 문자 인식 서버(102)는 문자 인식 과정을 통해 감지된 제2 텍스트 및 제2 텍스트의 배치 정보(예: 좌표 정보, 크기 정보, 또는 형태 정보 등)를 전자 장치(101)에 전송할 수 있다.
번역 서버(103)는 전자 장치(101)로부터, 번역하고자 하는 텍스트(이하, 원문 텍스트)(예: 제1 텍스트 또는 제2 텍스트), 및 언어 정보(예: 원문 언어 및 번역 대상 언어)를 수신할 수 있다. 번역 서버(103)는 원문 텍스트를 번역 대상 언어로 번역한 텍스트(이하, 번역 텍스트)를 전자 장치(101)에 전송할 수 있다.
다양한 실시 예에 따르면, 문자 인식 서버(102)는 서버 문자 인식 결과를 번역 서버(103)에 직접 전송할 수 있다. 번역 서버(103)는 문자 인식 서버(102)로부터 수신한 텍스트에 대응하는 번역 텍스트를 전자 장치(101)에 전송할 수 있다. 번역 서버(103)는 번역 대상 언어에 관한 정보를 문자 인식 서버(102) 또는 전자 장치(101)로부터 수신하거나, 미리 설정된 언어 정보를 기반으로 번역 텍스트를 생성할 수 있다.
도 2는 다양한 실시 예에 따른 전자 장치의 내부 블럭도이다. 도 2에서는 문자 인식에 필요한 구성을 중심으로 도시한 것으로 이에 한정되는 것은 아니다.
도 2를 참조하면, 카메라 모듈(130)은 이미지 데이터를 수집할 수 있다. 카메라 모듈(130)은 렌즈를 통해 유입되는 빛을 전기적 신호로 변환하여 이미지 데이터를 생성할 수 있다.
일 실시 예에 따르면, 생성된 이미지 데이터는 디스플레이(110)를 통해 라이브 뷰 이미지(예: 도 1의 라이브 뷰 이미지(111))를 출력하는데 이용될 수 있다. 라이브 뷰 이미지는 디스플레이(110)의 해상도에 따라 이미지의 품질이 달라질 수 있다. 예를 들어, FHD(full hd)의 디스플레이(110)에 표시될 이미지는 FHD 해상도로 전환된 프리뷰 이미지로 생성할 수 있다.
일 실시 예에 따르면, 생성된 이미지 데이터는 메모리(170)에 저장될 수 있다. 저장되는 이미지는 사용자 정의에 따라 다른 해상도가 저장될 수 있다. 예를 들어, 5M, 3M 등의 용량을 가지는 이미지가 메모리(170)에 저장될 수 있다.
다양한 실시 예에 따르면, 카메라 모듈(130)을 통해 수집된 문자 인식을 위한 이미지 데이터(이하, 비전(vision) 입력)는 프로세서(160) 내부의 문자 인식부(210)에 전달될 수 있다. 문자 인식부(210)는 수신한 이미지 데이터를 기반으로 로컬 문자 인식 과정을 수행할 수 있다. 로컬 문자 인식 과정을 통해 제1 텍스트 및 제1 텍스트의 배치 정보(예: 좌표 정보, 크기 정보, 또는 형태 정보 등)가 추출될 수 있다.
다양한 실시 예에 따르면, 카메라 모듈(130)을 통해 수집된 문자 인식을 위한 이미지 데이터(비전 입력)는 통신 회로(140)를 통해, 외부의 문자 인식 서버(102)로 전송될 수 있다. 문자 인식 서버(102)는 수신한 이미지 데이터를 기반으로 서버 문자 인식 과정을 수행할 수 있다. 서버 문자 인식 과정을 통해 제2 텍스트 및 제2 텍스트의 배치 정보(예: 좌표 정보, 크기 정보, 또는 형태 정보 등)가 추출될 수 있다.
다양한 실시 예에 따르면, 프로세서(160)는 문자 인식부(210), 언어 설정부(220), 인식 데이터 파서(parser)(230), 번역 데이터 파서(parser)(240), 및 이미지 처리부(250)를 포함할 수 있다. 문자 인식부(210), 언어 설정부(220), 인식 데이터 파서(parser)(230), 번역 데이터 파서(parser)(240), 및 이미지 처리부(250)는 프로세서(160)에서 실행되는 프로그램 또는 명령어 세트일 수 있다.
문자 인식부(210)는 로컬 문자 인식 과정을 수행할 수 있다. 문자 인식부(210)는 카메라 모듈(130)으로부터 비전 입력을 수신하고, 비전 입력에서 문자를 추출할 수 있다. 문자 인식부(210)는 추출된 문자를 구조화된 데이터로 변환할 수 있다.
일 실시 예에서, 문자 인식부(210)는 문자를 캐릭터, 워드, 라인, 블록, 페이지 단위로 구조화할 수 있다. 예를 들어, 비전 입력에 "Good morning"이 포함된 경우, 문자 인식부(210)는 G, o, o, d, m, o, r, n, i, n, g 를 각각 캐릭터로 인식할 수 있다. 문자 인식부(210)는 인식된 캐릭터를 조합하여, "Good"과 "morning"을 각각 워드로 인식할 수 있다. 문자 인식부(210)는 인식된 워드를 조합하여, "Good morning"을 하나의 라인으로 인식할 수 있다. 비전 입력에 하나의 라인이 포함되는 경우, 블록과 페이지는 라인과 동일할 수 있다.
언어 설정부(220)는 문자 인식부(210)에서 로컬 문자 인식 과정을 수행하는데 필요한 인식 대상 언어를 설정할 수 있다. 예를 들어, 언어 설정부(220)가 인식 대상 언어를 영어로 설정한 경우, 문자 인식부(210)는 비전 입력에 포함된 영문자에 대한 인식을 실행할 수 있다. 다양한 실시 예에 따르면, 언어 설정부(220)는 이전 이미지 프레임의 서버 문자 인식 과정을 수행한 결과에 따라 인식 대상 언어를 변경할 수 있다. 인식 대상 언어의 설정에 관한 추가 정보는 도 6 및 도 7을 통해 제공될 수 있다.
메모리(170)는 문자 인식 과정에서 필요한 정보를 저장할 수 있다. 예를 들어, 메모리(170)는 언어 설정에 관한 데이터베이스(225)를 저장할 수 있다. 언어 설정부(220)는 데이터베이스(225)에 저장된 인식 대상 언어를 참조할 수 있다.
인식 데이터 파서(parser)(제1 데이터 매니저)(230)는 로컬 문자 인식 결과에 따른 제1 텍스트 또는 서버 문자 인식 결과에 따른 제2 텍스트를 번역 서버(103)에서 인식하기 용이한 형태로 변환할 수 있다. 예를 들어, 인식 데이터 파서(230)는 수신한 제1 텍스트를 번역 서버(103)에서 번역이 용이하도록, 라인 단위로 변환할 수 있다.
인식 데이터 파서(230)는 변환된 제1 텍스트 또는 제2 텍스트를 통신 회로(140)를 통해 번역 서버(103)에 전송할 수 있다. 인식 데이터 파서(230)에 관한 추가 정보는 도 5를 통해 제공될 수 있다.
번역 데이터 파서(parser) (제2 데이터 매니저)(240)는 통신 회로(140)을 통해, 번역 서버(103)로부터 번역된 텍스트(이하, 번역 텍스트)를 수신할 수 있다. 번역 데이터 파서(240)는 수신한 번역 텍스트에서, 불필요한 데이터(예: 기호 식별 표시, 또는 데이터 전송에 따라 추가된 요소 등)를 삭제하고, 디스플레이(110)을 통해 표시될 데이터를 추출할 수 있다.
예를 들어, 번역 서버(103)에 한국어인 "과자 & 사탕"을 영어로 번역하도록 요청하는 경우, 번역 데이터 파서(240)는 번역 서버(103)로부터, "Snack & Candy"를 번역 텍스트로 수신할 수 있다. 번역 데이터 파서(240)는 "Snack & Candy" 중, "&"를 "&"로 변환할 수 있다.
이미지 처리부(250)는 번역 데이터 파서(240)로부터 디스플레이(110)를 통해 표시될 텍스트 및 배치 정보를 수신할 수 있다. 이미지 처리부(250)는 수신한 정보를 기반으로 디스플레이(110)에 표시될 출력 이미지를 생성할 수 있다.
통신 회로(140)는 문자 인식 서버(102) 및 번역 서버(103)와 데이터를 송수신할 수 있다.
다양한 실시 예에 따르면, 통신 회로(140)는 카메라 모듈(130)로부터 수신한 비전 입력을 문자 인식 서버(102)에 전송할 수 있다. 예를 들어, 통신 회로(140)는 jpeg 이미지와 인식 분류 정보를 문자 인식 서버(102)로 전송할 수 있다.
통신 회로(140)는 문자 인식 서버(102)에서 서버 문자 인식 과정이 수행된 결과를 인식 데이터 파서(230)에 전송할 수 있다. 문자 인식 서버(102)로부터 인식된 제2 텍스트 및 제2 텍스트의 배치 정보를 수신하여, 인식 데이터 파서(230)에 전송할 수 있다.
다양한 실시 예에 따르면, 통신 회로(140)는 로컬 문자 인식 과정 또는 서버 문자 인식 과정을 통해 인식된 원문 텍스트를 번역 서버(103)에 전송할 수 있다. 통신 회로(140)는 원문 텍스트에 대한 번역 텍스트를 수신하여, 번역 데이터 파서(240)에 전달할 수 있다.
문자 인식 서버(102)는 전자 장치(101)로부터 비전 입력(이미지 데이터)을 수신할 수 있다. 문자 인식 서버(102)는 수신한 비전 입력에 포함된 문자를 감지할 수 있다. 문자 인식 서버(102)는 문자 인식 과정을 통해 감지된 제2 텍스트 및 제2 텍스트의 배치 정보(예: 좌표 정보, 크기 정보, 또는 형태 정보 등)를 전자 장치(101)에 전송할 수 있다. 일 실시 예에서, 문자 인식 서버(102)는 서버 문자 인식 결과를 번역 서버(103)에 직접 전송할 수 있다.
번역 서버(103)는 전자 장치(101)로부터, 원문 텍스트(예: 제1 텍스트 또는 제2 텍스트), 및 언어 정보(예: 원문 언어 및 번역 대상 언어)를 수신할 수 있다. 번역 서버(103)는 원문 텍스트를 번역 대상 언어로 번역한 번역 텍스트를 전자 장치(101)에 전송할 수 있다.
일 실시 예에 따르면, 번역 서버(103)은 문자 인식 서버(102)로부터 수신한 텍스트에 대응하는 번역 텍스트를 전자 장치(101)에 전송할 수 있다. 번역 서버(103)는 번역 대상 언어에 관한 정보를 문자 인식 서버(102) 또는 전자 장치(101)로부터 수신하거나, 미리 설정된 언어 정보를 기반으로 문자 인식 서버(102)로부터 수신한 텍스트에 대응하는 번역 텍스트를 생성할 수 있다.
도 3은 다양한 실시 예에 따른 문자 인식 과정을 나타내는 순서도(300)이다.
도 3을 참조하면, 동작 310에서, 프로세서(160)는 카메라 모듈(130)로부터 제1 이미지 데이터를 수신할 수 있다. 제1 이미지 데이터는 문자 인식 과정을 실행하기 위한 비전 입력일 수 있다.
다양한 실시 예에 따르면, 프로세서(160)는 별도의 사용자 입력이 발생하거나, 지정된 어플리케이션이 실행되는 경우 문자 인식 과정을 실행할 수 있다. 예를 들어, 프로세서(160)는 사진 또는 동영상 촬영을 위한 카메라 앱이 실행되는 중(라이브 뷰 이미지가 출력되는 중), 별도의 사용자 입력(예: 버튼 입력, 또는 음성 입력)이 발생하는 경우, 문자 인식 과정을 실행할 수 있다. 다른 예를 들어, 프로세서(160)는 문자 번역을 지원하는 다른 어플리케이션(예: 여행 관련 어플리케이션)의 호출에 의해 자동으로 문자 인식 과정을 실행할 수 있다.
동작 320에서, 프로세서(160)는 제1 이미지 데이터의 적어도 일부에 기반하여 제1 텍스트를 결정할 수 있다. 상기 제1 텍스트는 로컬 문자 인식 과정에 따라 감지된 텍스트일 수 있다. 프로세서(160)는 비전 입력에서, 문자를 추출하여 구조화된 데이터인 제1 텍스트를 생성할 수 있다.
일 실시 예에서, 제1 텍스트는 캐릭터, 워드, 라인, 블럭, 또는 페이지 중 하나의 단위일 수 있다. 예를 들어, 제1 텍스트는 A, B, C 와 같은 하나의 캐릭터 단위일 수 있다. 다른 예를 들어, 제1 텍스트는 "Father", "Mom", "Man", "Woman" 등과 같은 워드 단위 일 수 있다.
프로세서(160)는 각각의 캐릭터를 인식하고, 각각의 캐릭터의 배치 관계, 위치, 크기 등의 정보를 기반으로 하나의 캐릭터로 유지할지, 단어, 라인 등으로 구조화할지를 결정할 수 있다.
다양한 실시 예에 따르면, 프로세서(160)는 제1 텍스트의 배치 정보(예: 좌표 정보, 크기 정보, 또는 형태 정보 등)를 제1 텍스트와 결합할 수 있다.
다양한 실시 예에 따르면, 프로세서(160)는 제1 텍스트를 원문 텍스트로 하여 번역 서버(103)에 번역을 요청할 수 있다.
동작 330에서, 프로세서(160)는 디스플레이(110)에 제1 텍스트를 표시할 수 있다. 일 실시 예에서, 프로세서(160)는 제1 텍스트의 배치 정보(예: 좌표 정보, 크기 정보, 또는 형태 정보 등)에 기초하여, 라이브 뷰 이미지와 제1 텍스트를 결합하여 디스플레이(110)에 표시할 수 있다.
프로세서(160)는 로컬 문자 인식 과정에 따라 감지된 제1 텍스트를 서버 문자 인식 과정이 종료되기 전에 디스플레이(110)에 표시하여 사용자의 대기 시간을 줄일 수 있다.
다양한 실시 예에 따르면, 로컬 문자 인식 과정이 진행된 이후, 전자 장치(101)가 지정된 범위 이상 이동한 경우, 프로세서(160)는 전자 장치(101)의 이동 범위를 기반으로 제1 텍스트의 배치 정보(예: 좌표 정보, 크기 정보, 또는 형태 정보 등)를 보정할 수 있다.
동작 340에서, 프로세서(160)는 통신 회로(140)를 통해, 외부의 문자 인식 서버(102)에 제1 이미지 데이터(비전 입력)를 전송할 수 있다. 프로세서(160)는 동작 340을 동작 320 및 330의 이전에 수행하거나, 동작 320 및 330의 사이에 수행할 수도 있다.
동작 350에서, 프로세서(160)는 통신 회로(140)를 통해, 문자 인식 서버(102)로부터 제2 텍스트를 포함하는 비(非) 이미지 데이터를 수신할 수 있다. 상기 제2 텍스트는 서버 문자 인식 과정에 따라 감지된 텍스트일 수 있다. 문자 인식 서버(102)는 비전 입력에서, 문자를 추출하여 구조화된 데이터인 제2 텍스트를 생성할 수 있다.
다양한 실시 예에 따르면, 문자 인식 서버(102)는 제2 텍스트의 배치 정보(예: 좌표 정보, 크기 정보, 또는 형태 정보 등)를 제2 텍스트와 결합할 수 있다. 문자 인식 서버(102)는 감지된 제2 텍스트 및 제2 텍스트의 배치 정보를 전자 장치(101)에 전송할 수 있다.
다양한 실시 예에 따르면, 프로세서(160)는 제2 텍스트를 원문 텍스트로 하여 번역 서버(103)에 번역을 요청할 수 있다.
동작 360에서, 프로세서(160)는 디스플레이(110)에 제1 텍스트 및 제2 텍스트를 함께 표시할 수 있다. 서버 문자 인식 과정에 의한 제2 텍스트는 로컬 문자 인식 과정에서 감지되지 않은 텍스트일 수 있다. 프로세서(160)는 로컬 문자 인식 과정에 따른 인식 결과와 서버 문자 인식 과정에 따른 결과를 함께 출력하여, 문자 인식의 정확도를 높일 수 있다.
일 실시 예에서, 프로세서(160)는 제1 텍스트 및 제2 텍스트 각각의 배치 정보(예: 좌표 정보, 크기 정보, 또는 형태 정보 등)에 기초하여, 라이브 뷰 이미지와 제1 텍스트 및 제2 텍스트를 결합하여 디스플레이(110)에 표시할 수 있다.
일 실시 예에 따르면, 프로세서(160)는 로컬 문자 인식 과정에 따른 인식 결과와 서버 문자 인식 과정에 따른 결과를 비교하여, 추가된 텍스트를 디스플레이(110)에 표시할 수 있다. 프로세서(160)는 로컬 문자 인식 과정에서 문자가 검출되지 않은 영역의 텍스트를 추가적으로 표시하여, 문자 인식의 정확도를 높일 수 있다. 다양한 실시 예에 따르면, 프로세서(160)는 추가되는 텍스트를 이미지 변환 효과(예: 블러(blur) 이후, 제2 텍스트가 선명해지는 효과)를 적용하여 디스플레이(110)에 표시할 수 있다. 이미지 변환 효과에 관한 추가 정보는 도 9를 통해 제공될 수 있다.
다른 일 실시 예에 따르면, 프로세서(160)는 디스플레이(110)에 표시된 제1 텍스트의 적어도 일부를 제2 텍스트의 적어도 일부에 기반하여 변경할 수 있다. 예를 들어, 프로세서(160)는 로컬 문자 인식 과정에 따른 인식 결과와 서버 문자 인식 과정에 따른 결과를 비교하고, 비교 결과가 서로 다른 경우, 제2 텍스트를 우선하여 표시할 수 있다.
또 다른 일 실시 예에 따르면, 프로세서(160)는 로컬 문자 인식 결과인 제1 텍스트를 표시하지 않고, 서버 문자 인식 결과인 제2 텍스트만 디스플레이(110)에 표시할 수도 있다.
도 4는 다양한 실시 예에 따른 로컬 문자 인식 결과와 서버 문자 인식 결과의 차이를 나타내는 화면 예시도(400)이다.
도 4를 참조하면, 카메라 모듈(130)은 문자 인식을 위한 이미지 데이터(비전 입력)(401)를 수집할 수 있다. 수집된 이미지 데이터(401)는 프로세서(160)에 전달될 수 있다. 이미지 데이터(401)는 제1 문자 영역(411) 및 제2 문자 영역(412)을 포함할 수 있다.
프로세서(160)는 수신한 이미지 데이터(401)를 기반으로, 로컬 문자 인식 과정을 수행할 수 있다. 프로세서(160)는 이미지 데이터(401)에서, 문자를 추출할 수 있다. 프로세서(160)는 추출된 문자를 구조화된 데이터로 변환할 수 있다. 예를 들어, 프로세서(160)는 그래픽 처리된 제1 문자 영역(411)에 대해서는 문자를 인식하지 못하고, 일반적인 이미지 영역으로 처리할 수 있다. 프로세서(160)는 제2 문자 영역(412)에 대해서는 문자를 포함하는 영역으로 결정하고, 로컬 문자 인식 과정을 수행할 수 있다.
프로세서(160)는 제2 문자 영역(412)에 포함된 "I am a businessman."에 대해, I, a, m, a, b, u, s, i, n, e, s, s, m, a, n, . 를 각각 캐릭터(421)로 인식할 수 있다. 프로세서(160)는 인식된 캐릭터(421)를 조합하여, "I", "am", "a", "businessman", 과"."을 각각 워드(422)로 인식할 수 있다. 프로세서(160)는 인식된 워드(422)를 조합하여, "I am a businessman."을 하나의 라인(423)으로 인식할 수 있다.
제1 번역 화면(402)에서, 프로세서(160)는 로컬 문자 인식 결과를 기반으로 로컬 번역 텍스트(412a)를 출력할 수 있다. 로컬 번역 텍스트(412a)는 로컬 문자 인식 과정에 의해 감지된 제1 텍스트(420)을 번역한 텍스트일 수 있다.
카메라 모듈(130)을 통해 수집된 이미지 데이터(401)는 외부의 문자 인식 서버(102)에도 전달될 수 있다. 이미지 데이터(401)는 제1 문자 영역(411) 및 제2 문자 영역(412)을 포함할 수 있다.
문자 인식 서버(102)는 수신한 이미지 데이터(401)를 기반으로, 서버 문자 인식 과정을 수행할 수 있다. 문자 인식 서버(102)는 이미지 데이터(401)에서, 문자를 추출할 수 있다. 문자 인식 서버(102)는 추출된 문자를 구조화된 데이터로 변환할 수 있다.
예를 들어, 문자 인식 서버(102)는 그래픽 처리된 제1 문자 영역(411) 및 제2 문자 영역(412) 각각에 대해서는 문자를 포함하는 영역으로 결정하고, 서버 문자 인식 과정을 수행할 수 있다.
문자 인식 서버(102)는 제1 문자 영역(411)에 포함된 "Ladies and Gentlemen"에 대해, L, a, d, i, e, s, a, n, d, G, e, n, t, l, e, m, e, n 을 각각 캐릭터(431)로 인식할 수 있다. 문자 인식 서버(102)는 인식된 캐릭터(431)를 조합하여, "Ladies", "and", 및,"Gentlemen"을 각각 워드(432)로 인식할 수 있다. 문자 인식 서버(102)는 인식된 워드(432)를 조합하여, "Ladies and Gentlemen"을 하나의 라인(433)으로 인식할 수 있다.
문자 인식 서버(102)는 제2 문자 영역(412)에 포함된 "I am a businessman."에 대해, I, a, m, a, b, u, s, i, n, e, s, s, m, a, n, . 를 각각 캐릭터(441)로 인식할 수 있다. 문자 인식 서버(102)는 인식된 캐릭터(441)를 조합하여, "I", "am", "a", "businessman", 과"."을 각각 워드(442)로 인식할 수 있다. 문자 인식 서버(102)는 인식된 워드(442)를 조합하여, "I am a businessman."을 하나의 라인(443)으로 인식할 수 있다.
다양한 실시 예에 따르면, 제2 번역 화면(403)에서, 프로세서(160)는 로컬 문자 인식 결과 및 서버 문자 인식 결과를 기반으로 서버 번역 텍스트(411a) 및 로컬 번역 텍스트(412a)를 출력할 수 있다. 로컬 번역 텍스트(412a)는 로컬 문자 인식 과정에 의해 감지된 제1 텍스트(420)를 번역한 텍스트일 수 있고, 서버 번역 텍스트(411a)는 서버 문자 인식 과정에 의해 감지된 제2 텍스트(430)를 번역한 텍스트일 수 있다.
다양한 실시 예에 따르면, 프로세서(160)는 추가되는 서버 번역 텍스트(411a)를 이미지 변환 효과(예: 제1 영역(411)에 블러(blur) 처리 이후, 서버 번역 텍스트(411a)가 선명해지는 효과)를 적용하여 표시할 수 있다.
다양한 실시 예에 따르면, 프로세서(160)는 문자 인식 서버(102)로부터 서버 문자 인식 결과를 수신하는 경우, 로컬 문자 인식 결과와 비교할 수 있다. 예를 들어, 프로세서(160)는 서버 문자 인식 결과와 로컬 문자 인식 결과가 동일한 경우, 로컬 문자 인식 과정에 따른 번역 결과를 유지할 수 있다. 프로세서(160)는 서버 문자 인식 결과와 로컬 문자 인식 결과가 서로 다른 경우, 서버 문자 인식 과정에 따른 번역 결과를 기반으로 번역 텍스트를 출력할 수 있다.
도 5는 다양한 실시 예에 따른 번역 서버를 통한 제1 텍스트의 번역 과정을 나타내는 신호 흐름도(500)이다.
도 5를 참조하면, 동작 510에서, 문자 인식부(210)는 로컬 문자 인식 과정으로 감지된 제1 텍스트를 인식 데이터 파서(230)에 전송할 수 있다.
동작 520에서, 인식 데이터 파서(230)는 로컬 문자 인식 결과에 따른 제1 텍스트를 번역 서버(103)에서 인식하기 용이한 형태로 변환할 수 있다. 예를 들어, 인식 데이터 파서(230)는 수신한 제1 텍스트를 번역 서버(103)에서 번역이 용이하도록, 라인 단위로 변환할 수 있다.
동작 530에서, 인식 데이터 파서(230)는 제1 텍스트 및 언어 정보를 번역 서버(103)에 전송할 수 있다. 언어 정보는 제1 텍스트의 원문 언어 및 번역 요청 언어에 관한 정보를 포함할 수 있다. 예를 들어, 인식 데이터 파서(230)는 "무궁화 꽃이 피었습니다./ko/en" 형태의 데이터를 번역 서버(103)에 전송할 수 있다.
동작 540에서, 번역 데이터 파서(240)는 번역 서버(103)로부터 번역된 텍스트를 수신할 수 있다. 예를 들어, 번역 데이터 파서(240)는 "Hibiscus have bloomed." 형태의 데이터를 번역 서버(103)로부터 수신할 수 있다.
동작 550에서, 번역 데이터 파서(240)는 수신한 번역 텍스트를 변환할 수 있다. 번역 데이터 파서(240)는 불필요한 데이터를 삭제하고, 디스플레이(110)을 통해 표시될 데이터를 추출할 수 있다. 번역 데이터 파서(240)는 수신한 번역 텍스트에 좌표 정보, 언어 정보 등을 결합할 수 있다. 예를 들어, 번역 데이터 파서(240)는 "Hibiscus have bloomed."의 형태의 번역 텍스트를 "(10.10 - 100.30)/Hibiscus have bloomed./ko/en"의 형태로 변환할 수 있다.
동작 560에서, 번역 데이터 파서(240)는 변환된 번역 텍스트를 이미지 처리부(250)에 전송할 수 있다.
동작 570에서, 이미지 처리부(250)는 디스플레이(110)을 통해 수신한 번역 텍스트를 표시할 수 있다.
다양한 실시 예에 따르면, 인식 데이터 파서(230)는 서버 문자 인식 결과에 따른 제2 텍스트를 수신할 수 있다. 인식 데이터 파서(230)는 동작 520 내지 570과 동일 또는 유사한 방식으로 제2 텍스트를 번역할 수 있다.
도 6은 다양한 실시 예에 따른 인식 대상 언어의 설정에 관한 순서도(600)이다.
도 6을 참조하면, 동작 610에서, 프로세서(160)는 카메라 모듈(130)을 통해, 문자 인식을 위한 이미지 프레임(비전 입력)을 수신할 수 있다.
동작 620에서, 프로세서(160)는 이전 이미지 프레임에서 문자 인식 서버(102)를 통해 수신한 인식 언어 정보가 메모리(170)(예: 번역 결과 저장 DB)에 저장되었는지를 확인할 수 있다.
동작 630에서, 프로세서(160)는 저장된 인식 언어 정보가 없는 경우, 기본 설정에 따른 인식 언어 정보에 따라 로컬 문자 인식 과정을 수행하여 제1 텍스트를 감지할 수 있다. 예를 들어, 기본 설정에 따른 인식 언어 정보는 영어일 수 있고, 프로세서(160)는 영문 캐릭터(알파벳)를 감지하는 과정을 수행할 수 있다.
다양한 실시 예에 따르면, 프로세서(160)는 별도로 수행되는 서버 문자 인식 과정을 통해, 문자 인식 서버(102)로부터 인식 언어 정보를 수신하는 경우, 메모리(170)에 저장할 수 있다. 이후의 이미지 프레임들은 메모리(170)에 저장된 인식 언어 정보를 기반으로 빠르게 로컬 문자 인식 과정을 수행할 수 있다.
동작 640에서, 프로세서(160)는 이전 이미지 프레임에 대한 인식 언어 정보가 저장된 경우, 저장된 인식 언어 정보를 기반으로 로컬 문자 인식 과정을 수행하여 제1 텍스트를 감지할 수 있다. 예를 들어, 저장된 인식 언어 정보가 일본어로 저장된 경우, 일문 캐릭터(히라가나 또는 가타가나)를 감지하는 과정을 수행할 수 있다.
동작 650에서, 프로세서(160)는 감지된 제1 텍스트(또는 제1 텍스트의 번역 텍스트)를 디스플레이(110)에 표시할 수 있다.
다양한 실시 예에 따른 문자 인식 방법은 전자 장치에서 수행되고, 카메라 모듈의 이미지 센서로부터 이미지 데이터를 수신하는 동작, 상기 이미지 데이터의 적어도 일부에 기반하여 제1 텍스트를 결정하는 동작, 상기 디스플레이에 상기 결정된 제1 텍스트를 표시하는 동작, 상기 이미지 데이터를 상기 통신 회로를 통해 외부 서버에 전송하는 동작, 상기 외부 서버로부터 제2 텍스트를 포함하는 비(非) 이미지 데이터를 수신하는 동작 및 상기 결정된 제1 텍스트를 표시한 이후, 상기 디스플레이에 상기 제2 텍스트를 상기 제1 텍스트와 함께 표시하고, 및/또는 상기 디스플레이에 표시된 상기 제1 텍스트의 적어도 일부를 상기 제2 텍스트의 적어도 일부에 기반하여 변경하는 동작을 포함할 수 있다.
도 7은 다양한 실시 예에 따른 인식 대상 언어의 설정에 관한 예시도이다.
도 7을 참조하면, 문자 인식 시스템(700)은 전자 장치(101)에서 촬영된 이미지에서 문자를 인식하여, 전자 장치(101)의 디스플레이(110)에 표시할 수 있다. 전자 장치(101)의 프로세서(160)는 연속되는 프레임들의 이미지 데이터를 수신할 수 있다. 프로세서(160)는 순차적으로 이미지 데이터를 디스플레이(110)에 출력하여, 라이브 뷰 이미지를 출력할 수 있다. 프로세서(160)는 로컬 문자 인식 과정 또는 서버 문자 인식 과정을 통해 이미지 프레임에서 인식된 텍스트를 라이브 뷰 이미지에 추가하여 표시할 수 있다.
다양한 실시 예에 따르면, 프로세서(160)는 로컬 문자 인식 과정 또는 서버 문자 인식 과정을 진행할 이미지 프레임들을 결정할 수 있다. 예를 들어, 프로세서(160)는 연속된 제1 이미지 프레임(F0) 및 제2 이미지 프레임(F1)에 대해, 로컬 문자 인식 과정 또는 서버 문자 인식 과정을 진행할 수 있다.
다른 예를 들어, 프로세서(160)는 지정된 시간 간격(또는 프레임 간격)을 가지는 제1 이미지 프레임(F0) 및 제2 이미지 프레임(F1)에 대해, 로컬 문자 인식 과정 또는 서버 문자 인식 과정을 진행할 수 있다.
다양한 실시 예에 따르면, 프로세서(160)는 동적으로, 로컬 문자 인식 과정 또는 서버 문자 인식 과정을 진행할 이미지 프레임들을 결정할 수 있다. 예를 들어, 프로세서(160)는 이미지 프레임 사이의 이미지 변화가 크지 않은 경우, 또는 전자 장치의 이동 거리가 작은 경우, 문자 인식 과정을 진행할 제1 이미지 프레임(F0)과 제2 이미지프레임(F1) 사이의 시간 간격을 넓힐 수 있다. 다른 예를 들어, 프로세서(160)는 이미지 프레임 사이의 이미지 변화가 큰 경우, 또는 전자 장치의 이동 거리가 큰 경우, 문자 인식 과정을 진행할 제1 이미지 프레임(F0)과 제2 이미지프레임(F1) 사이의 시간 간격을 좁힐 수 있다.
프로세서(160)는 문자 인식 과정을 진행할 제1 이미지 프레임(F0)에 대한 데이터를 카메라 모듈(130)로부터 수신할 수 있다. 프로세서(160)는 제1 이미지 프레임(F0)의 데이터를 기반으로 로컬 문자 인식 과정을 진행할 수 있다. 로컬 문자 인식 과정은 외부의 문자 인식 서버(102)를 이용하지 않고 전자 장치(101) 내부의 연산을 통해, 제1 이미지 프레임(F0)에 포함된 텍스트를 분석하는 과정일 수 있다.
프로세서(160)는 인식 언어 정보가 번역 결과 저장 DB(225)에 저장되었는지를 확인할 수 있다. 제1 이미지 프레임(F0) 이전에 문자 인식 과정이 진행되지 않은 경우, 번역 결과 저장 DB(225)에는 별도의 인식 언어 정보가 저장되지 않을 수 있다. 이 경우, 프로세서(160)는 기본 설정에 따른 인식 언어 정보에 따라 로컬 문자 인식 과정을 수행하여 제1 텍스트를 감지할 수 있다. 감지된 제1 텍스트는 디스플레이(110)을 통해 출력될 수 있다.
로컬 문자 인식 과정과는 별개로, 제1 이미지 프레임(F0)의 데이터는 외부의 문자 인식 서버(102)에 전송될 수 있다. 상기 전송은 로컬 문자 인식 과정 이전에 전송되거나, 로컬 문자 인식 과정이 진행되는 중에 수행될 수 있다.
프로세서(160)는 제1 이미지 프레임(F0)에 대한 서버 문자 인식 과정이 종료되는 경우, 문자 인식 서버(102)로부터 인식 언어 정보를 수신할 수 있다. 프로세서(160)는 이후 이미지 프레임에서의 로컬 문자 인식 과정을 위해, 인식 언어 정보를 번역 결과 저장 DB(225)에 저장할 수 있다.
프로세서(160)는 문자 인식 과정을 진행할 제2 이미지 프레임(F1)에 대한 데이터를 카메라 모듈(130)로부터 수신할 수 있다. 프로세서(160)는 제2 이미지 프레임(F1)의 데이터를 기반으로 로컬 문자 인식 과정을 진행할 수 있다. 번역 결과 저장 DB(225)는 이전에 문자 인식된 제1 이미지 프레임(F0)에 대한 인식 언어 정보가 저장될 수 있다. 저장된 인식 언어 정보는 제1 이미지 프레임(F0)에 대한 서버 문자 인식 과정이 종료된 이후, 저장될 수 있다.
프로세서(160)는 저장된 인식 언어 정보에 따라 로컬 문자 인식 과정을 수행하여 제1 텍스트를 감지할 수 있다. 감지된 제1 텍스트는 디스플레이(110)을 통해 출력될 수 있다.
프로세서(160)는 제3 이미지 프레임(F2) 및 제4 이미지 프레임(F3)에 대해서도 제2 이미지 프레임(F1)와 동일한 방식으로 로컬 문자 인식 과정을 수행할 수 있다.
이전 이미지 프레임에 대한 서버 문자 인식 결과에 따라, 인식 언어 정보가 번역 결과 저장 DB(225)에 저장될 수 있다. 프로세서(160)는 자동 언어 감지 방식으로 로컬 문자 인식 과정을 진행하지 않을 수 있다. 프로세서(160)는 기본 설정 또는 미리 저장된 인식 언어 정보를 기반으로, 로컬 문자 인식 과정을 진행할 수 있다. 이를 통해, 로컬 문자 인식 과정의 속도가 빨라질 수 있고, 사용자의 대기 시간이 줄어들 수 있다.
도 8은 다양한 실시 예에 따른 번역 이력을 확인하는 전자 장치의 내부 블럭도이다.
도 8을 참조하면, 문자 인식 시스템(800)은 전자 장치(701), 문자 인식 서버(702) 및 번역 서버(703)를 포함할 수 있다. 문자 인식 시스템(800)은 전자 장치(701)에서 촬영된 이미지에서 문자를 인식하여, 다른 언어로 번역하여 전자 장치(701)의 디스플레이(710)에 표시할 수 있다. 문자 인식 시스템(800)의 동작은 도 1 또는 도 2에서의 문자 인식 시스템(100)과 동일 또는 유사할 수 있다.
다양한 실시 예에 따르면, 전자 장치(701)는 디스플레이(710), 카메라 모듈(730), 통신 회로(740), 프로세서(760), 및 메모리(770)를 포함할 수 있다. 프로세서(760)는 문자 인식부(810), 언어 설정부(820), 인식 데이터 파서(parser)(830), 번역 데이터 파서(parser)(840), 번역 결과 비교부(860), 및 이미지 처리부(850)를 포함할 수 있다. 문자 인식부(810), 언어 설정부(820), 인식 데이터 파서(parser)(830), 번역 데이터 파서(parser)(840), 번역 결과 비교부(860), 및 이미지 처리부(850)는 프로세서(760)에서 실행되는 프로그램 또는 명령어 세트일 수 있다.
디스플레이(710), 카메라 모듈(730), 통신 회로(740), 및 메모리(770)의 기능 및 동작은 도 1에서의 대응하는 구성의 기능 및 동작과 동일 또는 유사할 수 있다.
다양한 실시 예에 따르면, 메모리(170)는 번역 이력에 대한 데이터베이스(825)를 저장할 수 있다. 데이터베이스(825)는 전자 장치(701)의 내부의 연산에 의해 번역을 진행하기 위한 데이터를 저장할 수 있다. 예를 들어, 데이터베이스(825)는 기본 설정에 의해, 또는 이전에 진행된 번역 이력에 의해, 원문 텍스트, 번역 텍스트, 및 번역 요청 언어 등을 저장할 수 있다.
문자 인식부(810), 언어 설정부(820), 인식 데이터 파서(parser)(830), 번역 데이터 파서(parser)(840), 및 이미지 처리부(850)의 기능 및 동작은 도 2에서의 대응하는 구성의 기능 및 동작과 동일 또는 유사할 수 있다.
다양한 실시 예에 따르면, 인식 데이터 파서(230)는 로컬 문자 인식 결과에 따른 제1 텍스트를 번역 서버(703)에서 인식하기 용이한 형태로 변환할 수 있다. 예를 들어, 인식 데이터 파서(230)는 수신한 제1 텍스트를 번역 서버(703)에서 번역이 용이하도록, 라인 단위로 변환할 수 있다.
인식 데이터 파서(830)는 제1 텍스트 및 언어 정보를 번역 결과 비교부(860)에 전송할 수 있다. 언어 정보는 제1 텍스트의 원문 언어 및 번역 요청 언어에 관한 정보를 포함할 수 있다. 예를 들어, 인식 데이터 파서(830)는 "개나리/ko/en" 형태의 데이터를 번역 결과 비교부(860)에 전송할 수 있다.
번역 결과 비교부(860)는 제1 텍스트 및 번역 요청 언어에 대응하는 번역 텍스트가 데이터베이스(825)에 저장되었는지를 확인할 수 있다. 번역 결과 비교부(860)는 제1 텍스트 및 번역 요청 언어가 일치하는 번역 텍스트를 번역 데이터 파서(840)에 전송할 수 있다. 예를 들어, 번역 결과 비교부(860)는 "개나리/ko/en"를 수신하는 경우, "forsythia"를 번역 데이터 파서(840)에 전송할 수 있다.
번역 결과 비교부(860)는 번역 서버(703)를 통해 번역이 완료된 번역 텍스트를 저장할 수 있다. 번역 결과 비교부(860)는 이전 이미지 프레임에서 실행된 번역 결과를 저장하여, 이후의 이미지 프레임에서 동일한 형태의 번역에 이용할 수 있다. 이 경우, 번역 서버(703)에 번역 요청을 하지 않고, 전자 장치(701) 내부에서 번역을 수행하여, 번역 속도가 빨라질 수 있다.
문자 인식 서버(702)는 전자 장치(701)로부터 비전 입력(이미지 데이터)을 수신할 수 있다. 문자 인식 서버(702)는 수신한 비전 입력에 포함된 문자를 감지할 수 있다. 문자 인식 서버(702)는 문자 인식 과정을 통해 감지된 제2 텍스트 및 제2 텍스트의 배치 정보(예: 좌표 정보, 크기 정보, 또는 형태 정보 등)를 전자 장치(701)에 전송할 수 있다.
번역 서버(703)는 전자 장치(701)로부터, 원문 텍스트(예: 제1 텍스트 또는 제2 텍스트), 및 언어 정보(예: 원문 언어 및 번역 대상 언어)를 수신할 수 있다. 번역 서버(703)는 원문 텍스트를 번역 대상 언어로 번역한 번역 텍스트를 전자 장치(701)에 전송할 수 있다.
다양한 실시 예에 따르면, 프로세서(760)는 번역 이력에 대한 데이터베이스(825)를 이용하여, 로컬 문자 인식 결과에 따른 제1 텍스트에 대한 번역 텍스트를 생성할 수 있다. 예를 들어, 문자 인식부(810)는 로컬 문자 인식에 따른 제1 텍스트를 번역 결과 비교부(860)에 제공할 수 있다. 번역 결과 비교부(860)는 번역 이력에 대한 데이터베이스(825)에 제1 텍스트에 대응하는 번역 텍스트가 매칭되어 있는지를 확인할 수 있다. 번역 결과 비교부(860)는 매칭되는 번역 텍스트가 저장된 경우, 제1 텍스트에 대응하는 번역 텍스트를 번역 데이터 파서(840)에 제공할 수 있다.
프로세서(760)는 번역 서버(703)를 통해, 서버 문자 인식 결과에 따른 제2 텍스트에 대한 번역 텍스트를 수신할 수 있다. 서버 문자 인식 결과는 전자 장치(101)을 통해 문자 인식 서버(702)에서, 번역 서버(703)으로 전달될 수 있다. 일 실시 예에서, 문자 인식 서버(702)와 번역 서버(703) 사이에 별도의 통신 채널이 형성된 경우, 서버 문자 인식 결과는 문자 인식 서버(702)에서, 번역 서버(703)로 직접 전달될 수 있다. 프로세서(760)는 번역 서버(703)부터 서버 문자 인식 결과에 따른 제2 텍스트에 대한 번역 텍스트를 수신할 수 있다.
도 9는 다양한 실시 예에 따른 이미지 전환 효과를 나타내는 화면 예시도(900)이다.
도 9를 참조하면, 프로세서(160)는 로컬 문자 인식 과정에 따른 인식 결과의 신뢰도에 따라 이미지 효과(예: 블러(blur) 처리)의 수준을 조절할 수 있다.
이미지 데이터(901)는 제1 문자 영역(911) 및 제2 문자 영역(912)을 포함할 수 있다. 프로세서(160)는 제1 문자 영역(911) 및 제2 문자 영역(912) 각각에 대한 로컬 문자 인식 과정을 수행할 수 있다.
프로세서(160)는 각 영역에서 문자 인식의 신뢰도를 결정할 수 있다. 제1 문자 영역(911)은 촬영 과정에서 포커스된 영역으로 이미지의 선명도가 높아, 문자 인식의 신뢰도가 상대적으로 높은 영역일 수 있다. 제2 문자 영역(912)은 촬영 과정에서 아웃 포커스된 영역으로 이미지의 선명도가 낮아, 문자 인식의 신뢰도가 상대적으로 낮은 영역일 수 있다.
제1 번역 이미지(902)에서, 프로세서(160)는 제1 문자 영역(911)에 대해서는 로컬 문자 인식 결과(911a)를 표시할 수 있다. 예를 들어, 제1 문자 영역(911)에 포함된 영어를 한국어로 번역하여 표시할 수 있다. 프로세서(160)는 제2 문자 영역(912)에 대해서는 로컬 문자 인식 결과를 표시하지 않고, 블러(blur) 처리하여 표시할 수 있다. 사용자가 주요 관심 영역에 대한 번역 텍스트를 빠르게 확인할 수 있다.
제2 번역 이미지(903)에서, 프로세서(160)는 서버 문자 인식 과정을 통해 제2 문자 영역(912)에 대한 문자 인식 신뢰도가 임계값 이상이 되는 경우, 서버 문자 인식 결과(912a)를 표시할 수 있다. 예를 들어, 프로세서(160)는 블러(blur) 처리의 수준을 점차적으로 낮추고, 서버 문자 인식 결과에 따른 번역 텍스트를 제2 문자 영역(912)에 선명하게 표시할 수 있다. 이를 통해 사용자가 화면 전환에 따른 이질감을 느끼는 것을 방지할 수 있다.
도 10은 다양한 실시 예에 따른 복수의 언어 감지에 관한 예시도(1000)이다.
도 10을 참조하면, 카메라 모듈(130)은 문자 인식을 위한 이미지 데이터(비전 입력)(1001)를 수집할 수 있다. 수집된 이미지 데이터(1001)는 프로세서(160)에 전달될 수 있다. 이미지 데이터(1001)는 제1 문자 영역(1011), 제2 문자 영역(1012), 및 제3 문자 영역(1013)을 포함할 수 있다.
프로세서(160)는 수신한 이미지 데이터(1001)를 기반으로, 로컬 문자 인식 과정을 수행할 수 있다. 프로세서(160)는 이미지 데이터(1001)에서, 문자를 추출할 수 있다. 프로세서(160)는 추출된 문자를 구조화된 데이터로 변환할 수 있다. 예를 들어, 프로세서(160)는 미리 설정된 인식 대상 언어(예: 영어)가 아닌 문자를 포함하는 제3 문자 영역(1013)에 대해서는 문자를 인식하지 못하고, 일반적인 이미지 영역으로 처리할 수 있다. 프로세서(160)는 미리 설정된 인식 대상 언어(예: 영어)인 문자를 포함하지만, 그래픽 처리된 제1 문자 영역(1011)에 대해서도 문자를 인식하지 못하고, 일반적인 이미지 영역으로 처리할 수 있다. 프로세서(160)는 제2 문자 영역(1012)에 대해서는 미리 설정된 인식 대상 언어(예: 영어)의 문자를 포함하는 영역으로 결정하고, 로컬 문자 인식 과정을 수행할 수 있다.
제1 번역 화면(1002)에서, 프로세서(160)는 로컬 문자 인식 결과를 기반으로 로컬 번역 텍스트(1012a)를 출력할 수 있다. 프로세서(160)는 로컬 문자 인식 과정에 의해 제2 문자 영역(1012)에 대해서는 번역 텍스트 "나는 사업가 야."를 출력하고, 제1 문자 영역(1011) 및 제3 문자 영역(1013)에 대해서는 번역 텍스트를 출력하지 않을 수 있다.
카메라 모듈(130)을 통해 수집된 이미지 데이터(1001)는 외부의 문자 인식 서버(102)에도 전달될 수 있다. 이미지 데이터(1001)는 제1 문자 영역(1011), 제2 문자 영역(1012), 및 제3 문자 영역(1013)을 포함할 수 있다.
문자 인식 서버(102)는 수신한 이미지 데이터(1001)를 기반으로, 서버 문자 인식 과정을 수행할 수 있다. 문자 인식 서버(102)는 이미지 데이터(1001)에서, 문자를 추출할 수 있다. 문자 인식 서버(102)는 추출된 문자를 구조화된 데이터로 변환할 수 있다.
문자 인식 서버(102)는 제1 언어(예: 영어)의 문자가 포함된 제1 문자 영역(1011) 및 제2 문자 영역(1012), 제2 언어(예: 중국어)의 문자가 포함된 제3 문자 영역(1013) 각각에 대해서는 문자를 포함하는 영역으로 결정하고, 서버 문자 인식 과정을 수행할 수 있다.
제2 번역 화면(1003)에서, 프로세서(160)는 서버 문자 인식 결과를 기반으로 제1 서버 번역 텍스트(1011a), 및 제2 서버 번역 텍스트(1013a)를 출력할 수 있다. 로컬 번역 텍스트(1012a)는 로컬 문자 인식 과정에 의해 감지된 텍스트를 번역한 텍스트일 수 있고, 제1 서버 번역 텍스트(1011a), 및 제2 서버 번역 텍스트(1013a)는 서버 문자 인식 과정에 의해 감지된 텍스트를 각각 번역한 텍스트일 수 있다.
프로세서(160)는 기본으로 설정된 번역 대상 언어에 따라 1차적으로 로컬 문자 인식 과정을 진행하고, 서버 문자 인식 과정을 통해 번역 텍스트를 보완할 수 있다.
일 실시 예에 따르면, 프로세서(160)는 로컬 문자 인식 과정에서 인식 가능한 범위에서 로컬 번역 텍스트를 표시하고, 이후, 서버 번역 텍스트를 수신하는 경우, 로컬 번역 텍스트를 서버 번역 텍스트로 변경할 수 있다.
예를 들어, 제1 문자 영역(1011)의 " Ladies and Gentleman"에서, " Ladies" 부분은 텍스트로 인식하고, "and Gentleman" 부분은 텍스트로 인식하지 못한 경우, 제1 문자 영역(1011)에 대해, 로컬 문자 인식 결과에 따라 "숙녀 and Gentleman" 을 표시할 수 있다. 프로세서(160)는 서버 문자 인식 결과에 따라, 서버 번역 텍스트 "신사 숙녀 여러분"를 수신하는 경우, "숙녀 and Gentleman"을 "신사 숙녀 여러분"으로 변경할 수 있다.
도 11는 다양한 실시 예들에 따른, 네트워크 환경(1100) 내의 전자 장치(1101)의 블럭도이다.
도 11를 참조하면, 네트워크 환경(1100)에서 전자 장치(1101)(예: 도 1의 전자 장치(101))는 제 1 네트워크(1198)(예: 근거리 무선 통신)를 통하여 전자 장치(1102)와 통신하거나, 또는 제 2 네트워크(1199)(예: 원거리 무선 통신)를 통하여 전자 장치(1104) 또는 서버(1108)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(1101)는 서버(1108)를 통하여 전자 장치(1104)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(1101)는 프로세서(1120), 메모리(1130), 입력 장치(1150), 음향 출력 장치(1155), 표시 장치(1160), 오디오 모듈(1170), 센서 모듈(1176), 인터페이스(1177), 햅틱 모듈(1179), 카메라 모듈(1180), 전력 관리 모듈(1188), 배터리(1189), 통신 회로(또는 통신 모듈)(1190), 가입자 식별 모듈(1196), 및 안테나 모듈(1197)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(1101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(1160) 또는 카메라 모듈(1180))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시 예에서는, 예를 들면, 표시 장치(1160)(예: 디스플레이)에 임베디드된 센서 모듈(1176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성요소들이 통합되어 구현될 수 있다.
프로세서(1120)는, 예를 들면, 소프트웨어(예: 프로그램(1140))를 구동하여 프로세서(1120)에 연결된 전자 장치(1101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(1120)는 다른 구성요소(예: 센서 모듈(1176) 또는 통신 회로(1190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(1132)에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리(1134)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(1120)는 메인 프로세서(1121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(1121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(1123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 여기서, 보조 프로세서(1123)는 메인 프로세서(1121)와 별개로 또는 임베디드되어 운영될 수 있다.
이런 경우, 보조 프로세서(1123)는, 예를 들면, 메인 프로세서(1121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(1121)를 대신하여, 또는 메인 프로세서(1121)가 액티브(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(1121)와 함께, 전자 장치(1101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(1160), 센서 모듈(1176), 또는 통신 회로(1190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(1123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(1180) 또는 통신 회로(1190))의 일부 구성 요소로서 구현될 수 있다. 메모리(1130)는, 전자 장치(1101)의 적어도 하나의 구성요소(예: 프로세서(1120) 또는 센서모듈(1176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(1140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(1130)는, 휘발성 메모리(1132) 또는 비휘발성 메모리(1134)를 포함할 수 있다.
프로그램(1140)은 메모리(1130)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(1142), 미들 웨어(1144) 또는 어플리케이션(1146)을 포함할 수 있다.
입력 장치(1150)는, 전자 장치(1101)의 구성요소(예: 프로세서(1120))에 사용될 명령 또는 데이터를 전자 장치(1101)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(1155)는 음향 신호를 전자 장치(1101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버를 포함할 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.
표시 장치(1160)(예: 도 1의 디스플레이(110))는 전자 장치(1101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 표시 장치(1160)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서를 포함할 수 있다.
오디오 모듈(1170)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(1170)은, 입력 장치(1150)를 통해 소리를 획득하거나, 음향 출력 장치(1155), 또는 전자 장치(1101)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(1102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(1176)은 전자 장치(1101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(1176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(1177)는 외부 전자 장치(예: 전자 장치(1102))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(1177)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(1178)는 전자 장치(1101)와 외부 전자 장치(예: 전자 장치(1102))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(1179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(1179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(1180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(1180)은 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다.
전력 관리 모듈(1188)은 전자 장치(1101)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.
배터리(1189)는 전자 장치(1101)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 회로(1190)은 전자 장치(1101)와 외부 전자 장치(예: 전자 장치(1102), 전자 장치(1104), 또는 서버(1108))간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 회로(1190)은 프로세서(1120)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 회로(1190)은 무선 통신 회로(1192)(예: 셀룰러 통신 회로, 근거리 무선 통신 회로, 또는 GNSS(global navigation satellite system) 통신 회로) 또는 유선 통신 회로(1194)(예: LAN(local area network) 통신 회로, 또는 전력선 통신 회로)을 포함하고, 그 중 해당하는 통신 회로를 이용하여 제 1 네트워크(1198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(1199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 회로(1190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.
일 실시 예에 따르면, 무선 통신 회로(1192)은 가입자 식별 모듈(1196)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(1101)를 구별 및 인증할 수 있다.
안테나 모듈(1197)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일시예에 따르면, 통신 회로(1190)(예: 무선 통신 회로(1192))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.
상기 구성요소들 중 일부 구성요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시 예에 따르면, 명령 또는 데이터는 제2 네트워크(1199)에 연결된 서버(1108)를 통해서 전자 장치(1101)와 외부의 전자 장치(1104)간에 송신 또는 수신될 수 있다. 전자 장치(1102, 1104) 각각은 전자 장치(1101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시 예에 따르면, 전자 장치(1101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치에서 실행될 수 있다. 일 실시 예에 따르면, 전자 장치(1101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(1101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(1101)로 전달할 수 있다. 전자 장치(1101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
다양한 실시 예에 따른 전자 장치는 하우징, 상기 하우징의 제1 부분을 통해 노출되는 디스플레이, 상기 하우징의 제2 부분을 통해 노출되는 이미지 센서, 무선 통신 회로, 상기 디스플레이, 상기 이미지 센서, 상기 통신 회로와 작동적으로 연결되는 프로세서 및 상기 프로세서에 작동적으로 연결되는 메모리를 포함하고, 상기 메모리는 명령어를 저장하고, 상기 명령어는, 실행되는 경우, 상기 프로세서가, 상기 이미지 센서로부터 이미지 데이터를 수신하고, 상기 이미지 데이터의 적어도 일부에 기반하여 제1 텍스트를 결정하고, 상기 디스플레이에 상기 결정된 제1 텍스트를 표시하고, 상기 이미지 데이터를 상기 무선 통신 회로를 통해 외부 서버에 전송하고, 상기 외부 서버로부터 제2 텍스트를 포함하는 비(非) 이미지 데이터를 수신하고, 상기 결정된 제1 텍스트를 표시한 이후, 상기 디스플레이에 상기 제2 텍스트를 상기 제1 텍스트와 함께 표시하고, 및/또는 상기 디스플레이에 표시된 상기 제1 텍스트의 적어도 일부를 상기 제2 텍스트의 적어도 일부에 기반하여 변경하도록 할 수 있다.
다양한 실시 예에 따르면, 상기 명령어는, 상기 프로세서가 상기 이미지 데이터에 대한 광학 문자 인식(optical character recognition; OCR)을 수행하여 적어도 하나의 문자를 결정하도록 할 수 있다.
다양한 실시 예에 따르면, 상기 명령어는, 상기 프로세서가 상기 결정된 문자에 대한 언어 번역을 실행하여 상기 제1 텍스트를 결정하도록 할 수 있다.
다양한 실시 예에 따르면, 상기 명령어는, 상기 프로세서가 상기 통신 회로를 통해 외부 번역 서버에 상기 결정된 문자에 대한 번역을 요청하고, 상기 외부 번역 서버로부터 번역 텍스트를 수신하고, 상기 번역 텍스트를 상기 제1 텍스트로 결정하도록 할 수 있다.
다양한 실시 예에 따르면, 상기 명령어는, 상기 프로세서가 상기 메모리에 저장된 번역 이력에 관한 데이터베이스를 참조하여, 상기 결정된 문자에 대한 언어 번역을 실행하도록 할 수 있다.
다양한 실시 예에 따르면, 상기 명령어는, 상기 프로세서가 상기 데이터베이스에서 상기 결정된 문자와 매칭되는 번역 정보를 확인할 수 없는 경우, 상기 통신 회로를 통해 외부 번역 서버에 상기 결정된 문자에 대한 번역을 요청하도록 할 수 있다.
다양한 실시 예에 따르면, 상기 명령어는, 상기 프로세서가 상기 통신 회로를 통해 외부 번역 서버로부터 상기 결정된 문자에 대한 번역 텍스트를 수신하는 경우, 상기 데이터베이스를 갱신하도록 할 수 있다.
다양한 실시 예에 따르면, 상기 메모리는 상기 외부 서버로부터 수신한 이전 이미지 프레임에 대한 인식 대상 언어에 관한 정보를 저장하고, 상기 명령어는, 상기 프로세서가 상기 인식 대상 언어에 관한 정보를 참조하여, 상기 제1 텍스트를 결정하도록 할 수 있다.
다양한 실시 예에 따르면, 상기 명령어는, 상기 프로세서가 상기 제2 텍스트가 표시될 영역을 블러(blur) 처리하고, 상기 제2 텍스트가 표시되는 경우, 상기 영역의 선명도를 높이도록 할 수 있다.
다양한 실시 예에 따르면, 상기 명령어는, 상기 프로세서가 상기 이미지 데이터를 이용하여 프리뷰 이미지를 상기 디스플레이에 표시하도록 할 수 있다.
다양한 실시 예에 따른 전자 장치는 하우징, 상기 하우징의 제1 부분을 통해 노출되는 디스플레이, 상기 하우징의 제2 부분을 통해 노출되는 이미지 센서, 무선 통신 회로, 상기 디스플레이, 상기 이미지 센서, 상기 통신 회로와 작동적으로 연결되는 프로세서 및 상기 프로세서에 작동적으로 연결되는 메모리를 포함하고, 상기 메모리는 명령어를 저장하고, 상기 명령어는, 실행되는 경우, 상기 프로세서가, 상기 디스플레이에, 상기 이미지 센서로부터 획득된 프리뷰 이미지를 표시하고, 상기 디스플레이에, 상기 프리뷰 이미지 상의 텍스트의 적어도 일부에 대한 언어 번역을 포함하는 제1 텍스트를 표시하고, 상기 디스플레이에, 상기 제1 텍스트를 표시한 이후, 상기 프리뷰 이미지 상의 상기 텍스트의 적어도 일부에 대한 언어 번역을 포함하는 제2 텍스트를 상기 제1 텍스트에 추가적으로 및/또는 상기 제1 텍스트의 적어도 일부를 치환하여 표시하도록 할 수 있다.
다양한 실시 예에 따르면, 상기 명령어는, 상기 프로세서가 상기 제1 텍스트 및/또는 상기 제2 텍스트가 상기 프리뷰 이미지상의 상기 텍스트와 적어도 일부가 오버랩(overlap) 및/또는 오버라이(overlie)되도록 표시하도록 할 수 있다.
다양한 실시 예에 따른 전자 장치는 이미지 센서, 디스플레이, 메모리, 통신 회로, 및 프로세서를 포함하고, 상기 프로세서는 상기 이미지 센서를 통해 이미지 데이터를 수집하고, 상기 통신 회로를 통해 상기 이미지 데이터를 외부 서버에 전송하고, 상기 이미지 데이터에서 제1 텍스트를 감지하고, 상기 제1 텍스트에 대한 제1 번역 텍스트를 획득하고, 상기 이미지 데이터에서, 상기 제1 텍스트에 대응하는 위치에 상기 제1 번역 텍스트를 출력하고, 상기 통신 회로를 통해 상기 외부 서버로부터 제2 텍스트를 수신하고, 상기 제2 텍스트에 대한 제2 번역 텍스트를 획득하고, 상기 이미지 데이터에서, 상기 제2 텍스트에 대응하는 위치에 상기 제2 번역 텍스트를 출력할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 외부 서버로부터 인식 대상 언어에 관한 정보를 수신하고, 상기 이미지 센서를 통해 추가 이미지 데이터를 수집하는 경우, 상기 인식 대상 언어를 참조하여, 상기 추가 이미지 데이터에서 제3 텍스트를 감지할 수 있다.
다양한 실시 예에 따르면, 상기 이미지 데이터 및 상기 추가 이미지 데이터는 연속되는 이미지 프레임들 또는 지정된 시간 간격으로 수집되는 이미지 프레임들일 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 통신 회로를 통해 외부 번역 서버에 상기 제1 텍스트에 대한 지정된 언어로의 번역을 요청하고, 상기 외부 번역 서버로부터 번역 텍스트를 수신하여 상기 제1 번역 텍스트를 결정할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 메모리에 저장된 번역 이력에 관한 데이터베이스를 참조하여, 상기 제1 번역 텍스트를 결정할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 데이터베이스에서 상기 제1 텍스트와 매칭되는 번역 정보를 확인할 수 없는 경우, 상기 통신 회로를 통해 외부 번역 서버에 상기 제1 텍스트에 대한 번역을 요청하도록 할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 통신 회로를 통해 상기 외부 번역 서버로부터 상기 결정된 제 1 텍스트에 대한 번역 텍스트를 수신하는 경우, 상기 데이터베이스를 갱신하도록 할 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.

Claims (20)

  1. 전자 장치에 있어서,
    하우징;
    상기 하우징의 제1 부분을 통해 노출되는 디스플레이;
    상기 하우징의 제2 부분을 통해 노출되는 이미지 센서;
    무선 통신 회로;
    상기 디스플레이, 상기 이미지 센서, 상기 통신 회로와 작동적으로 연결되는 프로세서; 및
    상기 프로세서에 작동적으로 연결되는 메모리를 포함하고, 상기 메모리는 명령어를 저장하고,
    상기 명령어는, 실행되는 경우, 상기 프로세서가,
    상기 이미지 센서로부터 이미지 데이터를 수신하고,
    상기 이미지 데이터 중 복수의 이미지 프레임들에 기반하여 제1 텍스트를 결정하고,
    상기 디스플레이에 상기 결정된 제1 텍스트를 표시하고,
    상기 이미지 데이터를 상기 무선 통신 회로를 통해 외부 서버에 전송하고,
    상기 외부 서버로부터 제2 텍스트를 포함하는 비(非) 이미지 데이터를 수신하고,
    상기 결정된 제1 텍스트를 표시한 이후, 상기 디스플레이에 상기 제2 텍스트를 상기 제1 텍스트와 함께 표시하고, 및/또는 상기 디스플레이에 표시된 상기 제1 텍스트의 적어도 일부를 상기 제2 텍스트의 적어도 일부에 기반하여 변경하도록 하고,
    상기 복수의 이미지 프레임들의 시간 간격은
    상기 전자 장치의 움직임 또는 상기 복수의 이미지 프레임들 간의 유사도 중 적어도 하나에 기초하여 동적으로 변경되는 것을 특징으로 하는 전자 장치.
  2. 제1항에 있어서, 상기 명령어는, 상기 프로세서가
    상기 이미지 데이터에 대한 광학 문자 인식(optical character recognition; OCR)을 수행하여 적어도 하나의 문자를 결정하도록 하는 전자 장치.
  3. 제2항에 있어서, 상기 명령어는, 상기 프로세서가
    상기 결정된 문자에 대한 언어 번역을 실행하여 상기 제1 텍스트를 결정하도록 하는 전자 장치.
  4. 제3항에 있어서, 상기 명령어는, 상기 프로세서가
    상기 통신 회로를 통해 외부 번역 서버에 상기 결정된 문자에 대한 번역을 요청하고, 상기 외부 번역 서버로부터 번역 텍스트를 수신하고,
    상기 번역 텍스트를 상기 제1 텍스트로 결정하도록 하는 전자 장치.
  5. 제3항에 있어서, 상기 명령어는, 상기 프로세서가
    상기 메모리에 저장된 번역 이력에 관한 데이터베이스를 참조하여, 상기 결정된 문자에 대한 언어 번역을 실행하도록 하는 전자 장치.
  6. 제5항에 있어서, 상기 명령어는, 상기 프로세서가
    상기 데이터베이스에서 상기 결정된 문자와 매칭되는 번역 정보를 확인할 수 없는 경우, 상기 통신 회로를 통해 외부 번역 서버에 상기 결정된 문자에 대한 번역을 요청하도록 하는 전자 장치.
  7. 제6항에 있어서, 상기 명령어는, 상기 프로세서가
    상기 통신 회로를 통해 외부 번역 서버로부터 상기 결정된 문자에 대한 번역 텍스트를 수신하는 경우, 상기 데이터베이스를 갱신하도록 하는 전자 장치.
  8. 제1항에 있어서,
    상기 메모리는 상기 외부 서버로부터 수신한 이전 이미지 프레임에 대한 인식 대상 언어에 관한 정보를 저장하고,
    상기 명령어는, 상기 프로세서가
    상기 인식 대상 언어에 관한 정보를 참조하여, 상기 제1 텍스트를 결정하도록 하는 전자 장치.
  9. 제1항에 있어서, 상기 명령어는, 상기 프로세서가
    상기 제2 텍스트가 표시될 영역을 블러(blur) 처리하고, 상기 제2 텍스트가 표시되는 경우, 상기 영역의 선명도를 높이도록 하는 전자 장치.
  10. 제1항에 있어서, 상기 명령어는, 상기 프로세서가
    상기 이미지 데이터를 이용하여 프리뷰 이미지를 상기 디스플레이에 표시하도록 하는 전자 장치.
  11. 전자 장치에 있어서,
    하우징;
    상기 하우징의 제1 부분을 통해 노출되는 디스플레이;
    상기 하우징의 제2 부분을 통해 노출되는 이미지 센서;
    무선 통신 회로;
    상기 디스플레이, 상기 이미지 센서, 상기 통신 회로와 작동적으로 연결되는 프로세서; 및
    상기 프로세서에 작동적으로 연결되는 메모리를 포함하고, 상기 메모리는 명령어를 저장하고,
    상기 명령어는, 실행되는 경우, 상기 프로세서가,
    상기 디스플레이에, 상기 이미지 센서로부터 획득된 프리뷰 이미지를 표시하고,
    상기 프리뷰 이미지 중 복수의 이미지 프레임들에 기반하여, 언어 번역을 포함하는 제1 텍스트를 결정하고,
    상기 디스플레이에, 상기 제1 텍스트를 표시하고,
    상기 디스플레이에, 상기 제1 텍스트를 표시한 이후, 상기 프리뷰 이미지 상의 상기 텍스트의 적어도 일부에 대한 언어 번역을 포함하는 제2 텍스트를 상기 제1 텍스트에 추가적으로 및/또는 상기 제1 텍스트의 적어도 일부를 치환하여 표시하도록 하고,
    상기 복수의 이미지 프레임들의 시간 간격은
    상기 전자 장치의 움직임 또는 상기 복수의 이미지 프레임들 간의 유사도 중 적어도 하나에 기초하여 동적으로 변경되는 것을 특징으로 하는 전자 장치.
  12. 제11항에 있어서, 상기 명령어는, 상기 프로세서가
    상기 제1 텍스트 및/또는 상기 제2 텍스트가 상기 프리뷰 이미지상의 상기 텍스트와 적어도 일부가 오버랩(overlap) 및/또는 오버라이(overlie)되도록 표시하도록 하는 전자 장치.
  13. 전자 장치에 있어서,
    이미지 센서; 디스플레이; 메모리; 통신 회로; 및 프로세서;를 포함하고, 상기 프로세서는
    상기 이미지 센서를 통해 이미지 데이터를 수집하고,
    상기 통신 회로를 통해 상기 이미지 데이터를 외부 서버에 전송하고,
    상기 이미지 데이터 중 복수의 이미지 프레임들에서 제1 텍스트를 감지하고,
    상기 제1 텍스트에 대한 제1 번역 텍스트를 획득하고,
    상기 이미지 데이터에서, 상기 제1 텍스트에 대응하는 위치에 상기 제1 번역 텍스트를 출력하고,
    상기 통신 회로를 통해 상기 외부 서버로부터 제2 텍스트를 수신하고,
    상기 제2 텍스트에 대한 제2 번역 텍스트를 획득하고,
    상기 이미지 데이터에서, 상기 제2 텍스트에 대응하는 위치에 상기 제2 번역 텍스트를 출력하고,
    상기 복수의 이미지 프레임들의 시간 간격은
    상기 전자 장치의 움직임 또는 상기 복수의 이미지 프레임들 간의 유사도 중 적어도 하나에 기초하여 동적으로 변경되는 것을 특징으로 하는 전자 장치.
  14. 제13항에 있어서, 상기 프로세서는
    상기 외부 서버로부터 인식 대상 언어에 관한 정보를 수신하고,
    상기 이미지 센서를 통해 추가 이미지 데이터를 수집하는 경우, 상기 인식 대상 언어를 참조하여, 상기 추가 이미지 데이터에서 제3 텍스트를 감지하는 전자 장치.
  15. 삭제
  16. 제13항에 있어서, 상기 프로세서는
    상기 통신 회로를 통해 외부 번역 서버에 상기 제1 텍스트에 대한 지정된 언어로의 번역을 요청하고, 상기 외부 번역 서버로부터 번역 텍스트를 수신하여 상기 제1 번역 텍스트를 결정하는 전자 장치.
  17. 제13항에 있어서, 상기 프로세서는
    상기 메모리에 저장된 번역 이력에 관한 데이터베이스를 참조하여, 상기 제1 번역 텍스트를 결정하는 전자 장치.
  18. 제17항에 있어서, 상기 프로세서는
    상기 데이터베이스에서 상기 제1 텍스트와 매칭되는 번역 정보를 확인할 수 없는 경우, 상기 통신 회로를 통해 외부 번역 서버에 상기 제1 텍스트에 대한 번역을 요청하도록 하는 전자 장치.
  19. 제18항에 있어서, 상기 프로세서는
    상기 통신 회로를 통해 상기 외부 번역 서버로부터 상기 결정된 제 1 텍스트에 대한 번역 텍스트를 수신하는 경우, 상기 데이터베이스를 갱신하는 전자 장치.
  20. 전자 장치에서 수행되는 문자 인식 방법에 있어서,
    카메라 모듈의 이미지 센서로부터 이미지 데이터를 수신하는 동작;
    상기 이미지 데이터 중 복수의 이미지 프레임들에 기반하여 제1 텍스트를 결정하는 동작;
    상기 전자 장치의 디스플레이에 상기 결정된 제1 텍스트를 표시하는 동작;
    상기 이미지 데이터를 상기 전자 장치의 통신 회로를 통해 외부 서버에 전송하는 동작;
    상기 외부 서버로부터 제2 텍스트를 포함하는 비(非) 이미지 데이터를 수신하는 동작; 및
    상기 결정된 제1 텍스트를 표시한 이후, 상기 디스플레이에 상기 제2 텍스트를 상기 제1 텍스트와 함께 표시하고, 및/또는 상기 디스플레이에 표시된 상기 제1 텍스트의 적어도 일부를 상기 제2 텍스트의 적어도 일부에 기반하여 변경하는 동작;을 포함하고,
    상기 복수의 이미지 프레임들의 시간 간격은
    상기 전자 장치의 움직임 또는 상기 복수의 이미지 프레임들 간의 유사도 중 적어도 하나에 기초하여 동적으로 변경되는 것을 특징으로 하는 방법.

KR1020170162238A 2017-11-29 2017-11-29 이미지에서 텍스트를 인식할 수 있는 전자 장치 KR102478396B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020170162238A KR102478396B1 (ko) 2017-11-29 2017-11-29 이미지에서 텍스트를 인식할 수 있는 전자 장치
US16/202,815 US20190164002A1 (en) 2017-11-29 2018-11-28 Electronic device recognizing text in image
CN201811441387.9A CN109840465A (zh) 2017-11-29 2018-11-29 识别图像中的文本的电子装置
EP18209146.2A EP3493110A1 (en) 2017-11-29 2018-11-29 Electronic device recognizing text in image
PCT/KR2018/014982 WO2019107981A1 (en) 2017-11-29 2018-11-29 Electronic device recognizing text in image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170162238A KR102478396B1 (ko) 2017-11-29 2017-11-29 이미지에서 텍스트를 인식할 수 있는 전자 장치

Publications (2)

Publication Number Publication Date
KR20190063277A KR20190063277A (ko) 2019-06-07
KR102478396B1 true KR102478396B1 (ko) 2022-12-19

Family

ID=64559538

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170162238A KR102478396B1 (ko) 2017-11-29 2017-11-29 이미지에서 텍스트를 인식할 수 있는 전자 장치

Country Status (5)

Country Link
US (1) US20190164002A1 (ko)
EP (1) EP3493110A1 (ko)
KR (1) KR102478396B1 (ko)
CN (1) CN109840465A (ko)
WO (1) WO2019107981A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110569830B (zh) * 2019-08-01 2023-08-22 平安科技(深圳)有限公司 多语言文本识别方法、装置、计算机设备及存储介质
CN114223029A (zh) * 2019-08-13 2022-03-22 三星电子株式会社 支持装置进行语音识别的服务器及服务器的操作方法
CN110705497A (zh) * 2019-10-11 2020-01-17 Oppo广东移动通信有限公司 图像帧处理方法、装置、终端设备及计算机可读存储介质
WO2021075306A1 (ja) * 2019-10-17 2021-04-22 ソニー株式会社 手術用情報処理装置、手術用情報処理方法及び手術用情報処理プログラム
DE102019133535A1 (de) * 2019-12-09 2021-06-10 Fresenius Medical Care Deutschland Gmbh Medizinisches System und Verfahren zum Darstellen von Informationen betreffend eine Blutbehandlung
CN112085090A (zh) * 2020-09-07 2020-12-15 百度在线网络技术(北京)有限公司 翻译方法、装置以及电子设备
CN112148124A (zh) * 2020-09-10 2020-12-29 维沃移动通信有限公司 图像处理方法、装置及电子设备
KR102313272B1 (ko) * 2021-05-25 2021-10-14 최인환 증강 현실 기반 실시간 음성 번역 서비스 제공 방법, 장치 및 시스템
CN115543495A (zh) * 2021-06-30 2022-12-30 腾讯科技(深圳)有限公司 界面管理方法、装置、设备及可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100128131A1 (en) 2008-11-21 2010-05-27 Beyo Gmbh Providing camera-based services using a portable communication device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7738706B2 (en) * 2000-09-22 2010-06-15 Sri International Method and apparatus for recognition of symbols in images of three-dimensional scenes
JP2007065994A (ja) * 2005-08-31 2007-03-15 Ricoh Co Ltd 文書ocr実行装置
US7707485B2 (en) * 2005-09-28 2010-04-27 Vixs Systems, Inc. System and method for dynamic transrating based on content
US20070143736A1 (en) * 2005-12-09 2007-06-21 Microsystems Technology, Inc. Workflow Development Platform
US20090119091A1 (en) * 2007-11-01 2009-05-07 Eitan Chaim Sarig Automated pattern based human assisted computerized translation network systems
US20100042399A1 (en) * 2008-08-12 2010-02-18 David Park Transviewfinder
GB2485833A (en) * 2010-11-26 2012-05-30 S3 Res & Dev Ltd Improved OCR Using Configurable Filtering for Analysing Set Top Boxes
US9092674B2 (en) * 2011-06-23 2015-07-28 International Business Machines Corportion Method for enhanced location based and context sensitive augmented reality translation
US9082035B2 (en) * 2011-08-29 2015-07-14 Qualcomm Incorporated Camera OCR with context information
KR20140142116A (ko) * 2013-06-03 2014-12-11 삼성전자주식회사 텍스트 변환 서비스를 제공하는 전자장치 및 방법
US9514377B2 (en) * 2014-04-29 2016-12-06 Google Inc. Techniques for distributed optical character recognition and distributed machine language translation
US9798943B2 (en) * 2014-06-09 2017-10-24 I.R.I.S. Optical character recognition method
US9436682B2 (en) * 2014-06-24 2016-09-06 Google Inc. Techniques for machine language translation of text from an image based on non-textual context information from the image
KR20160071144A (ko) * 2014-12-11 2016-06-21 엘지전자 주식회사 이동단말기 및 그 제어 방법
KR20170006014A (ko) * 2015-07-07 2017-01-17 엘지전자 주식회사 이동단말기 및 그 제어방법
KR20170018562A (ko) * 2015-08-10 2017-02-20 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 데이터 처리 방법
US10303777B2 (en) * 2016-08-08 2019-05-28 Netflix, Inc. Localization platform that leverages previously translated content

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100128131A1 (en) 2008-11-21 2010-05-27 Beyo Gmbh Providing camera-based services using a portable communication device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
S Roy 외, 'HMM-based multi oriented text recognition in natural scene image', IEEE, 2013.
'Text Recognition using Image Processing', International Journal of Advanced Research in Computer Science, 2017.07.
XS Hua 외, 'Efficient video text recognition using multiple frame integration', IEEE, 2002.

Also Published As

Publication number Publication date
CN109840465A (zh) 2019-06-04
KR20190063277A (ko) 2019-06-07
US20190164002A1 (en) 2019-05-30
EP3493110A1 (en) 2019-06-05
WO2019107981A1 (en) 2019-06-06

Similar Documents

Publication Publication Date Title
KR102478396B1 (ko) 이미지에서 텍스트를 인식할 수 있는 전자 장치
US10585488B2 (en) System, method, and apparatus for man-machine interaction
KR102457894B1 (ko) 디스플레이에 표시된 텍스트를 번역하는 방법 및 장치
KR102329765B1 (ko) 홍채 기반 인증 방법 및 이를 지원하는 전자 장치
CN109684980B (zh) 自动阅卷方法及装置
KR20180138300A (ko) 관심 객체에 대한 외부 광원의 속성 정보를 제공하는 방법을 지원하는 전자 장치
KR20200100918A (ko) 카메라를 이용하는 어플리케이션을 통해 다양한 기능을 제공하는 전자 장치 및 그의 동작 방법
WO2021020814A1 (en) Electronic device for providing avatar and operating method thereof
CN111027490B (zh) 人脸属性识别方法及装置、存储介质
KR102431817B1 (ko) 사용자 발화를 처리하는 전자 장치 및 서버
KR101835235B1 (ko) 시각 장애인 보조장치 및 그 제어방법
CN112947755A (zh) 手势控制方法与装置、电子设备及存储介质
US11284020B2 (en) Apparatus and method for displaying graphic elements according to object
CN110378318B (zh) 文字识别方法、装置、计算机设备及存储介质
WO2021118229A1 (en) Information providing method and electronic device for supporting the same
KR102061787B1 (ko) 이미지를 촬영하는 전자 장치 및 이미지 표시 방법
US20210064864A1 (en) Electronic device and method for recognizing characters
KR102166697B1 (ko) 머리 착용형 표시 장치에서 사용자 인증을 수행하는 방법 및 그 전자 장치
US11630574B2 (en) Screen control method for providing notification of objects having different meanings for each region and electronic device supporting same
US11410413B2 (en) Electronic device for recognizing object and method for controlling electronic device
CN110096707B (zh) 生成自然语言的方法、装置、设备及可读存储介质
KR102458719B1 (ko) 사용자 입력을 지원하는 전자 장치 및 전자 장치의 제어 방법
WO2024080709A1 (ko) 음성 신호에 기반하여 실행가능한 객체를 제어하는 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체
US11188227B2 (en) Electronic device and key input method therefor
CN114187601A (zh) 获取信息提取模型、提取文档图像的信息的方法及装置

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