KR101856119B1 - 분산 광학 문자 인식 및 분산 기계 언어번역을 위한 기법들 - Google Patents

분산 광학 문자 인식 및 분산 기계 언어번역을 위한 기법들 Download PDF

Info

Publication number
KR101856119B1
KR101856119B1 KR1020167033289A KR20167033289A KR101856119B1 KR 101856119 B1 KR101856119 B1 KR 101856119B1 KR 1020167033289 A KR1020167033289 A KR 1020167033289A KR 20167033289 A KR20167033289 A KR 20167033289A KR 101856119 B1 KR101856119 B1 KR 101856119B1
Authority
KR
South Korea
Prior art keywords
ocr
computing device
mobile computing
text
translation
Prior art date
Application number
KR1020167033289A
Other languages
English (en)
Other versions
KR20160147969A (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 구글 엘엘씨
Publication of KR20160147969A publication Critical patent/KR20160147969A/ko
Application granted granted Critical
Publication of KR101856119B1 publication Critical patent/KR101856119B1/ko

Links

Images

Classifications

    • 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
    • G06K9/18
    • 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
    • G06K9/22
    • G06K9/325
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/96Management of image or video recognition tasks
    • 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
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • 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/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Machine Translation (AREA)
  • Character Discrimination (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

모바일 컴퓨팅 디바이스와 서버들 사이에 OCR 및 기계 언어번역 작업들을 선택적으로 분산시키는 기법들은 텍스트를 포함하는 객체의 이미지를 수신하는 것을 포함한다. 모바일 컴퓨팅 디바이스는 이미지로부터 텍스트를 획득하기 위한 OCR 복잡도를 결정할 수 있다. 상기 OCR 복잡도에 기초하여, 모바일 컴퓨팅 디바이스 및/또는 서버(들)은 OCR 텍스트를 획득하기 위해 OCR을 수행할 수 있다. 모바일 컴퓨팅 디바이스는 OCR 텍스트의 기점 언어에서 목표어로 OCR 텍스트를 번역하기 위한 번역 복잡도를 결정할 수 있다. 상기 번역 복잡도에 기초하여, 모바일 컴퓨팅 디바이스 및/또는 서버(들)은 번역된 OCR 텍스트를 획득하기 위해 기점 언어에서 목표어로의 OCR 텍스트의 기계 언어번역을 수행할 수 있다. 그 후, 모바일 컴퓨팅 디바이스는 번역된 OCR 텍스트를 출력할 수 있다.

Description

분산 광학 문자 인식 및 분산 기계 언어번역을 위한 기법들{TECHNIQUES FOR DISTRIBUTED OPTICAL CHARACTER RECOGNITION AND DISTRIBUTED MACHINE LANGUAGE TRANSLATION}
[관련 출원에 대한 상호-참조]
본 출원은 2014년 4월 29일자로 출원된 미국 출원 14/264,327호에 대한 우선권을 주장한다. 상기 출원의 내용은 본 명세서에 참조로서 포함된다.
[기술 분야]
본 발명은 일반적으로 모바일 컴퓨팅 디바이스들에 관한 것이며, 더 구체적으로는 분산 광학 문자 인식(distributed optical character recognition)(OCR) 및 분산 기계 언어번역(distributed machine language translation)에 관한 것이다.
본 명세서에서 제공되는 배경 기술에 대한 설명은 일반적으로 본 발명의 컨텍스트(context)를 제공하기 위한 것이다. 본 배경 기술란에서 설명된 범위까지의 현재 지명된 발명자들의 발명 내용뿐만 아니라 출원 당시 선행기술로서 부적격할 수 있는 설명의 양태들은 명시적으로든 묵시적으로든 본 발명에 대한 선행기술로서 인정되지 않는다.
광학 문자 인식(OCR)은 컴퓨팅 디바이스(예를 들어, 서버)를 사용하는 이미지 내 텍스트(text)의 검출을 수반한다. OCR은 예를 들어, 사용자에 의한 사용자 디바이스로의 텍스트의 수동 입력과 비교하여, 사용자 디바이스에서 디지털 형태의 텍스트를 획득하기 위한 더욱 빠른 방식을 제공할 수 있다. 이미지 내 텍스트를 획득한 이후, 상기 텍스트는 다양한 방식으로 활용될 수 있다. 예를 들면, 텍스트는 컴퓨팅 디바이스에 의해 프로세스 되고, 메모리에 저장되고, 그리고/또는 다른 컴퓨팅 디바이스로 전송될 수 있다. 텍스트를 프로세싱 하는 것의 일 예는 기계 언어번역이며, 상기 기계 언어번역은 컴퓨팅 디바이스를 사용하여 기점 언어(source language)에서 다른 목표어(target language)로 텍스트를 번역하는 것을 수반한다.
컴퓨터로 구현되는 기법이 제공된다. 상기 기법은 하나 이상의 프로세서들을 갖는 모바일 컴퓨팅 디바이스에서, 기점 언어로 된 텍스트를 포함하는 객체(object)의 이미지를 수신하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 텍스트를 획득하기 위해 상기 이미지 상에서 OCR(광학 문자 인식)을 수행하기 위한 OCR 복잡도(degree of OCR complexity)를 결정하는 단계를 포함할 수 있다. 상기 OCR 복잡도가 제1 OCR 복잡성 임계치(first OCR complexity threshold)보다 낮은 경우, 상기 기법은 OCR 텍스트를 획득하기 위해 상기 모바일 컴퓨팅 디바이스에서 상기 이미지 상에서 OCR을 수행하는 단계를 포함할 수 있고, 상기 제1 OCR 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스가 수행하기에 적합한 OCR 복잡도를 나타낸다. 상기 OCR 복잡도가 상기 제1 OCR 복잡성 임계치보다 높은 경우, 상기 기법은 (ⅰ) 상기 이미지의 적어도 일부를 상기 모바일 컴퓨팅 디바이스에서 제1 서버로 전송하는 단계와, 그리고 (ⅱ) 상기 제1 서버로부터 상기 OCR 텍스트의 적어도 일부를 상기 모바일 컴퓨팅 디바이스에서 수신하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 기점 언어에서 목표어로 상기 OCR 텍스트를 번역하기 위한 번역 복잡도(degree of translation complexity)를 결정하는 단계를 포함할 수 있다. 상기 번역 복잡도가 제1 번역 복잡성 임계치(first translation complexity threshold)보다 낮은 경우, 상기 기법은 상기 목표어로 된 번역된 OCR 텍스트를 획득하기 위해 상기 모바일 컴퓨팅 디바이스에서 상기 기점 언어에서 상기 목표어로의 상기 OCR 텍스트의 기계 언어번역을 수행하는 단계를 포함할 수 있고, 상기 제1 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스가 수행하기에 적합한 번역 복잡도를 나타낸다. 상기 번역 복잡도가 상기 제1 번역 복잡성 임계치보다 높은 경우, 상기 기법은 (ⅰ) 상기 OCR 텍스트의 적어도 일부를 제2 서버로 전송하는 단계와, 그리고 (ⅱ) 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 적어도 일부를 수신하는 단계를 포함할 수 있다. 또한, 상기 기법은 상기 모바일 컴퓨팅 디바이스의 디스플레이에서, 상기 번역된 OCR 텍스트를 출력하는 단계를 포함할 수 있다.
일부 실시예들에서, 상기 OCR 복잡도가 상기 제1 OCR 복잡성 임계치보다 높고 제2 OCR 복잡성 임계치보다 낮은 경우, 상기 기법은 상기 모바일 컴퓨팅 디바이스로부터, 상기 이미지의 적어도 일부를 상기 제1 서버로 전송하는 단계와, 그리고 상기 모바일 컴퓨팅 디바이스에서, 상기 제1 서버로부터 상기 OCR 텍스트의 적어도 일부를 수신하는 단계를 포함할 수 있다.
다른 실시예들에서, 상기 제2 OCR 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스가 수행하기에 적합하지 않고 상기 제1 서버가 수행하기에 적합한 OCR 복잡도를 나타낸다.
일부 실시예들에서, 상기 OCR 복잡도가 상기 제2 OCR 복잡성 임계치보다 높은 경우, 상기 기법은 상기 모바일 컴퓨팅 디바이스로부터, 상기 이미지의 전부를 상기 제1 서버로 전송하는 단계와, 그리고 상기 모바일 컴퓨팅 디바이스에서, 상기 제1 서버로부터 상기 OCR 텍스트의 전부를 수신하는 단계를 포함할 수 있다.
다른 실시예들에서, 상기 번역 복잡도가 상기 제1 번역 복잡성 임계치보다 높고 제2 번역 복잡성 임계치보다 낮은 경우, 상기 기법은 상기 모바일 컴퓨팅 디바이스로부터, 상기 OCR 텍스트의 적어도 일부를 상기 제2 서버로 전송하는 단계와, 그리고 상기 모바일 컴퓨팅 디바이스에서, 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 적어도 일부를 수신하는 단계를 포함할 수 있다.
일부 실시예들에서, 상기 제2 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스가 수행하기에 적합하지 않고 상기 제2 서버가 수행하기에 적합한 번역 복잡도를 나타낸다.
다른 실시예들에서, 상기 OCR 복잡도가 상기 제2 번역 복잡성 임계치보다 높은 경우, 상기 기법은 상기 모바일 컴퓨팅 디바이스로부터, 상기 OCR 텍스트의 전부를 상기 제2 서버로 전송하는 단계와, 그리고 상기 모바일 컴퓨팅 디바이스에서, 상기 제1 서버로부터 상기 번역된 OCR 텍스트의 전부를 수신하는 단계를 포함할 수 있다.
일부 실시예들에서, 상기 번역된 OCR 텍스트는 상기 모바일 컴퓨팅 디바이스 및 상기 제2 서버에 의한 기계 언어번역에 각각 대응하는 제1 부분 및 제2 부분을 포함하고, 그리고 상기 번역된 OCR 텍스트를 출력하는 단계는 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 상기 제2 부분을 기다리는 동안, 상기 모바일 컴퓨팅 디바이스의 상기 디스플레이에서 상기 번역된 OCR 텍스트의 상기 제1 부분을 출력하는 것을 포함한다.
다른 실시예들에서, 상기 OCR 텍스트는 상기 번역된 OCR 텍스트의 상기 제1 부분 및 상기 제2 부분에 각각 대응하는 제1 부분 및 제2 부분을 포함하고, 그리고 상기 번역된 OCR 텍스트를 출력하는 단계는 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 상기 제2 부분을 기다리는 동안, 상기 모바일 컴퓨팅 디바이스의 상기 디스플레이에서 상기 번역된 OCR 텍스트의 상기 제1 부분 및 상기 OCR 텍스트의 상기 제2 부분을 출력하는 것을 포함한다.
일부 실시예들에서, 상기 기법은 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 상기 제2 부분을 수신함에 응답하여, 상기 모바일 컴퓨팅 디바이스의 상기 디스플레이에서 상기 번역된 OCR 텍스트의 상기 제1 부분 및 상기 제2 부분을 출력하는 단계를 더 포함한다.
동작들을 수행하도록 구성된 하나 이상의 프로세서들을 갖는 모바일 컴퓨팅 디바이스가 제공된다. 상기 동작들은 기점 언어로 된 텍스트를 포함하는 객체의 이미지를 수신하는 동작을 포함할 수 있다. 상기 동작들은 상기 텍스트를 획득하기 위해 상기 이미지 상에서 OCR을 수행하기 위한 OCR 복잡도를 결정하는 동작을 포함할 수 있다. 상기 OCR 복잡도가 제1 OCR 복잡성 임계치보다 낮은 경우, 상기 동작들은 OCR 텍스트를 획득하기 위해 상기 이미지 상에서 OCR을 수행하는 동작을 포함할 수 있고, 상기 제1 OCR 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스가 수행하기에 적합한 OCR 복잡도를 나타낸다. 상기 OCR 복잡도가 상기 제1 OCR 복잡성 임계치보다 높은 경우, 상기 동작들은 (ⅰ) 통신 디바이스를 통해, 상기 이미지의 적어도 일부를 제1 서버로 전송하는 동작과, 그리고 (ⅱ) 상기 통신 디바이스를 통해, 상기 제1 서버로부터 상기 OCR 텍스트의 적어도 일부를 수신하는 동작을 포함할 수 있다. 상기 동작들은 상기 기점 언어에서 목표어로 상기 OCR 텍스트를 번역하기 위한 번역 복잡도를 결정하는 동작을 포함할 수 있다. 상기 번역 복잡도가 제1 번역 복잡성 임계치보다 낮은 경우, 상기 동작들은 상기 목표어로 된 번역된 OCR 텍스트를 획득하기 위해 상기 기점 언어에서 상기 목표어로의 상기 OCR 텍스트의 기계 언어번역을 수행하는 동작을 포함할 수 있고, 상기 제1 OCR 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스가 수행하기에 적합한 번역 복잡도를 나타낸다. 상기 번역 복잡도가 상기 제1 번역 복잡성 임계치보다 높은 경우, 상기 동작들은 (ⅰ) 상기 통신 디바이스를 통해, 상기 OCR 텍스트의 적어도 일부를 제2 서버로 전송하는 동작과, 그리고 (ⅱ) 상기 통신 디바이스를 통해, 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 적어도 일부를 수신하는 동작을 포함할 수 있다. 또한, 상기 동작들은 상기 모바일 컴퓨팅 디바이스의 디스플레이에서 상기 번역된 OCR 텍스트를 출력하는 동작을 포함할 수 있다.
일부 실시예들에서, 상기 OCR 복잡도가 상기 제1 OCR 복잡성 임계치보다 높고 제2 OCR 복잡성 임계치보다 낮은 경우, 상기 동작들은 상기 통신 디바이스를 통해, 상기 이미지의 적어도 일부를 상기 제1 서버로 전송하는 동작과, 그리고 상기 통신 디바이스를 통해, 상기 제1 서버로부터 상기 OCR 텍스트의 적어도 일부를 수신하는 동작을 더 포함할 수 있다.
다른 실시예들에서, 상기 제2 OCR 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스가 수행하기에 적합하지 않고 상기 제1 서버가 수행하기에 적합한 OCR 복잡도를 나타낸다.
일부 실시예들에서, 상기 OCR 복잡도가 상기 제2 OCR 복잡성 임계치보다 높은 경우, 상기 동작들은 상기 통신 디바이스를 통해, 상기 이미지의 전부를 상기 제1 서버로 전송하는 동작과, 그리고 상기 통신 디바이스를 통해, 상기 제1 서버로부터 상기 OCR 텍스트의 전부를 수신하는 동작을 더 포함할 수 있다.
다른 실시예들에서, 상기 번역 복잡도가 상기 제1 번역 복잡성 임계치보다 높고 제2 번역 복잡성 임계치보다 낮은 경우, 상기 동작들은 상기 통신 디바이스를 통해, 상기 OCR 텍스트의 적어도 일부를 상기 제2 서버로 전송하는 동작과, 그리고 상기 통신 디바이스를 통해, 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 적어도 일부를 수신하는 동작을 더 포함할 수 있다.
일부 실시예들에서, 상기 제2 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스가 수행하기에 적합하지 않고 상기 제2 서버가 수행하기에 적합한 번역 복잡도를 나타낸다.
다른 실시예들에서, 상기 OCR 복잡도가 상기 제2 번역 복잡성 임계치보다 높은 경우, 상기 동작들은 상기 통신 디바이스를 통해, 상기 OCR 텍스트의 전부를 상기 제2 서버로 전송하는 동작과, 그리고 상기 통신 디바이스를 통해, 상기 제1 서버로부터 상기 번역된 OCR 텍스트의 전부를 수신하는 동작을 더 포함할 수 있다.
일부 실시예들에서, 상기 번역된 OCR 텍스트는 상기 모바일 컴퓨팅 디바이스 및 상기 제2 서버에 의한 기계 언어번역에 각각 대응하는 제1 부분 및 제2 부분을 포함하고, 그리고 상기 모바일 컴퓨팅 디바이스의 디스플레이에서 상기 번역된 OCR 텍스트를 출력하는 동작은 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 상기 제2 부분을 기다리는 동안, 상기 번역된 OCR 텍스트의 상기 제1 부분을 디스플레이 하는 것을 포함한다.
다른 실시예들에서, 상기 OCR 텍스트는 상기 번역된 OCR 텍스트의 상기 제1 부분 및 상기 제2 부분에 각각 대응하는 제1 부분 및 제2 부분을 포함하고, 그리고 상기 모바일 컴퓨팅 디바이스의 디스플레이에서 상기 번역된 OCR 텍스트를 출력하는 동작은 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 상기 제2 부분을 기다리는 동안, 상기 번역된 OCR 텍스트의 상기 제1 부분 및 상기 OCR 텍스트의 상기 제2 부분을 디스플레이 하는 것을 포함한다.
일부 실시예들에서, 상기 동작들은 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 상기 제2 부분을 수신함에 응답하여, 상기 모바일 컴퓨팅 디바이스의 상기 디스플레이에서 상기 번역된 OCR 텍스트의 상기 제1 부분 및 상기 제2 부분을 출력하는 동작을 더 포함한다.
또한, 컴퓨터로 구현되는 다른 기법이 제공된다. 상기 기법은 하나 이상의 프로세서들을 갖는 모바일 컴퓨팅 디바이스에서, 기점 언어로 된 텍스트를 포함하는 객체의 이미지를 수신하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 텍스트를 획득하기 위해 상기 이미지 상에서 OCR을 수행하기 위한 OCR 복잡도를 결정하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서 서버로, 상기 OCR 복잡도에 기초하여 상기 이미지의 적어도 일부를 전송하는 단계를 포함할 수 있다. 상기 기법은 상기 서버로부터 상기 모바일 컴퓨팅 디바이스에서, OCR 결과들을 수신하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 OCR 결과들에 기초하여 OCR 텍스트를 획득하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 번역된 OCR 텍스트를 획득하기 위해 상기 기점 언어에서 목표어로의 상기 OCR 텍스트의 기계 언어번역을 획득하는 단계를 포함할 수 있다. 또한, 상기 기법은 상기 모바일 컴퓨팅 디바이스의 디스플레이에서, 상기 번역된 OCR 텍스트를 출력하는 단계를 포함할 수 있다.
일부 실시예들에서, 상기 기법은 상기 OCR 복잡도가 제1 OCR 복잡성 임계치보다 낮은 경우, 상기 모바일 컴퓨팅 디바이스에서 상기 이미지 전체에 대해 OCR을 수행하는 단계와, 그리고 상기 OCR 복잡도가 상기 제1 OCR 복잡성 임계치보다 높은 경우, 상기 모바일 컴퓨팅 디바이스에서 상기 서버로 상기 이미지의 적어도 일부를 전송하는 단계를 더 포함할 수 있다.
다른 실시예들에서, 상기 제1 OCR 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합한 OCR 복잡도를 나타낸다.
일부 실시예들에서, 상기 기법은 상기 OCR 복잡도가 제2 OCR 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스로부터 상기 서버로 상기 이미지의 전부를 전송하는 단계를 더 포함하며, 상기 제2 OCR 복잡성 임계치는 상기 제1 OCR 복잡성 임계치보다 높다.
다른 실시예들에서, 상기 제2 OCR 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합하지 않은 OCR 복잡도를 나타낸다.
일부 실시예들에서, 상기 OCR 복잡도가 상기 제1 OCR 복잡성 임계치와 상기 제2 OCR 복잡성 임계치 사이에 있는 경우, 상기 모바일 컴퓨팅 디바이스는 상기 이미지의 제1 부분에 대해 OCR을 수행하고 상기 모바일 컴퓨팅 디바이스는 상기 이미지의 제2 부분을 상기 서버로 전송하며, 상기 이미지의 상기 제1 부분 및 상기 제2 부분은 상기 이미지 전체를 집합적으로(collectively) 형성한다.
또한, 컴퓨터로 구현되는 다른 기법이 제공된다. 상기 기법은 하나 이상의 프로세서들을 갖는 모바일 컴퓨팅 디바이스에서, 기점 언어로 된 텍스트를 포함하는 객체의 이미지를 수신하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, OCR 텍스트를 획득하기 위해 상기 객체 및 상기 텍스트에 대한 광학 문자 인식(OCR) 결과들을 획득하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 OCR 텍스트의 상기 기점 언어를 결정하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 기점 언어에서 목표어로의 상기 OCR 텍스트의 기계 언어번역을 수행하기 위한 번역 복잡도를 결정하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서 서버로, 상기 번역 복잡도에 기초하여 상기 OCR 텍스트의 적어도 일부를 전송하는 단계를 포함할 수 있다. 상기 기법은 상기 서버로부터 상기 모바일 컴퓨팅 디바이스에서, 기계 언어번역 결과들을 수신하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 기계 언어번역 결과들에 기초하여 번역된 OCR 텍스트를 획득하는 단계를 포함할 수 있다. 또한, 상기 기법은 상기 모바일 컴퓨팅 디바이스의 디스플레이에서, 상기 번역된 OCR 텍스트를 출력하는 단계를 포함할 수 있다.
일부 실시예들에서, 상기 기법은 상기 번역 복잡도가 제1 번역 복잡성 임계치보다 낮은 경우, 상기 모바일 컴퓨팅 디바이스에서 상기 OCR 텍스트 전체에 대해 기계 언어번역을 수행하는 단계와, 그리고 상기 번역 복잡도가 상기 제1 번역 복잡성 임계치보다 높은 경우, 상기 모바일 컴퓨팅 디바이스에서 상기 서버로 상기 OCR 텍스트의 적어도 일부를 전송하는 단계를 더 포함한다.
다른 실시예들에서, 상기 제1 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합한 번역 복잡도를 나타낸다.
일부 실시예들에서, 상기 기법은 상기 번역 복잡도가 제2 번역 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스로부터 상기 서버로 상기 OCR 텍스트의 전부를 전송하는 단계를 더 포함하며, 상기 제2 번역 복잡성 임계치는 상기 제1 번역 복잡성 임계치보다 높다.
다른 실시예들에서, 상기 제2 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합하지 않은 번역 복잡도를 나타낸다.
일부 실시예들에서, 상기 번역 복잡도가 상기 제1 번역 복잡성 임계치와 상기 제2 번역 복잡성 임계치 사이에 있는 경우, 상기 모바일 컴퓨팅 디바이스는 상기 OCR 텍스트의 제1 부분에 대해 기계 언어번역을 수행하고 상기 모바일 컴퓨팅 디바이스는 상기 OCR 텍스트의 제2 부분을 상기 서버로 전송하며, 상기 OCR 텍스트의 상기 제1 부분 및 상기 제2 부분은 상기 OCR 텍스트 전체를 집합적으로 형성한다.
다른 실시예들에서, 상기 서버로부터 상기 OCR 텍스트의 상기 제2 부분에 대한 기계 언어번역 결과들이 수신되기 이전에, 상기 모바일 컴퓨팅 디바이스에 의해 획득된 상기 OCR 텍스트의 상기 제1 부분에 대한 기계 언어번역 결과들을 상기 모바일 컴퓨팅 디바이스의 상기 디스플레이에 출력한다.
또한, 컴퓨터로 구현되는 다른 기법이 제공된다. 상기 기법은 하나 이상의 프로세서들을 갖는 모바일 컴퓨팅 디바이스에서, 기점 언어로 된 텍스트를 포함하는 객체의 이미지를 수신하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 텍스트를 획득하기 위해 상기 이미지 상에서 OCR을 수행하기 위한 OCR 복잡도를 결정하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서 제1 서버로, 상기 OCR 복잡도에 기초하여 상기 이미지의 적어도 일부분을 전송하는 단계를 포함할 수 있다. 상기 기법은 상기 제1 서버로부터 상기 모바일 컴퓨팅 디바이스에서, OCR 결과들을 수신하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 OCR 결과들에 기초하여 OCR 텍스트를 획득하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 기점 언어에서 목표어로 상기 OCR 텍스트의 기계 언어번역을 수행하기 위한 번역 복잡도를 결정하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서 제2 서버로, 상기 번역 복잡도에 기초하여 상기 OCR 텍스트의 적어도 일부분을 전송하는 단계를 포함할 수 있다. 상기 기법은 상기 제2 서버로부터 상기 모바일 컴퓨팅 디바이스에서, 기계 언어번역 결과들을 수신하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 기계 언어번역 결과들에 기초하여 번역된 OCR 텍스트를 획득하는 단계를 포함할 수 있다. 또한, 상기 기법은 상기 모바일 컴퓨팅 디바이스의 디스플레이에서, 상기 번역된 OCR 텍스트를 출력하는 단계를 포함할 수 있다.
일부 실시예들에서, 상기 기법은 상기 OCR 복잡도가 제1 OCR 복잡성 임계치보다 낮은 경우 상기 모바일 컴퓨팅 디바이스에서 상기 이미지 전체에 대해 OCR을 수행하는 단계와, 상기 제1 OCR 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합한 OCR 복잡도를 나타내며, 그리고 상기 OCR 복잡도가 상기 제1 OCR 복잡성 임계치보다 높은 경우, 상기 모바일 컴퓨팅 디바이스에서 상기 제1 서버로 상기 이미지의 적어도 일부를 전송하는 단계를 더 포함한다.
다른 실시예들에서, 상기 기법은 상기 OCR 복잡도가 제2 OCR 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스로부터 상기 제1 서버로 상기 이미지의 전부를 전송하는 단계를 더 포함하며, 상기 제2 OCR 복잡성 임계치는 상기 제1 OCR 복잡성 임계치보다 높으며, 상기 제2 OCR 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합하지 않은 OCR 복잡도를 나타내며, 그리고 상기 OCR 복잡도가 상기 제1 OCR 복잡성 임계치와 상기 제2 OCR 복잡성 임계치 사이에 있는 경우 상기 모바일 컴퓨팅 디바이스는 상기 이미지의 제1 부분에 대해 OCR을 수행하고 상기 모바일 컴퓨팅 디바이스는 상기 이미지의 제2 부분을 상기 제1 서버로 전송하며, 상기 이미지의 상기 제1 부분 및 상기 제2 부분은 상기 이미지 전체를 집합적으로 형성한다.
일부 실시예들에서, 상기 기법은 상기 번역 복잡도가 제1 번역 복잡성 임계치보다 낮은 경우 상기 모바일 컴퓨팅 디바이스에서 상기 OCR 텍스트 전체에 대해 기계 언어번역을 수행하는 단계와, 상기 제1 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합한 번역 복잡도를 나타내며, 그리고 상기 번역 복잡도가 상기 제1 번역 복잡성 임계치보다 높은 경우, 상기 모바일 컴퓨팅 디바이스에서 상기 제2 서버로 상기 OCR 텍스트의 적어도 일부를 전송하는 단계를 더 포함한다.
다른 실시예들에서, 상기 기법은 상기 번역 복잡도가 제2 번역 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스로부터 상기 제2 서버로 상기 OCR 텍스트의 전부를 전송하는 단계를 더 포함하며, 상기 제2 번역 복잡성 임계치는 상기 제1 번역 복잡성 임계치보다 높으며, 상기 제2 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합하지 않은 번역 복잡도를 나타내며, 그리고 상기 번역 복잡도가 상기 제1 번역 복잡성 임계치와 상기 제2 번역 복잡성 임계치 사이에 있는 경우 상기 모바일 컴퓨팅 디바이스는 상기 OCR 텍스트의 제1 부분에 대해 기계 언어번역을 수행하고 상기 모바일 컴퓨팅 디바이스는 상기 OCR 텍스트의 제2 부분을 상기 제2 서버로 전송하며, 상기 OCR 텍스트의 상기 제1 부분 및 상기 제2 부분은 상기 OCR 텍스트 전체를 집합적으로 형성한다.
일부 실시예들에서, 상기 번역된 OCR 텍스트는 상기 모바일 컴퓨팅 디바이스 및 상기 제2 서버에 의한 기계 언어번역에 각각 대응하는 제1 부분 및 제2 부분을 포함하고, 그리고 상기 모바일 컴퓨팅 디바이스의 상기 디스플레이에서 상기 번역된 OCR 텍스트를 출력하는 단계는 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 상기 제2 부분을 기다리는 동안 상기 번역된 OCR 텍스트의 상기 제1 부분을 디스플레이 하는 것을 포함하고, 그리고 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 상기 제2 부분을 수신함에 응답하여, 상기 모바일 컴퓨팅 디바이스의 상기 디스플레이에서 상기 번역된 OCR 텍스트의 상기 제1 부분 및 상기 제2 부분을 후속적으로 출력하는 것을 포함한다.
또한, 컴퓨터로 구현되는 다른 기법이 제공된다. 상기 기법은 하나 이상의 프로세서들을 갖는 모바일 컴퓨팅 디바이스에서, 기점 언어로 된 텍스트를 획득하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 텍스트의 상기 기점 언어를 결정하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 기점 언어에서 목표어로의 상기 텍스트의 기계 언어번역을 수행하기 위한 번역 복잡도를 결정하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서 서버로, 상기 번역 복잡도에 기초하여 상기 텍스트의 적어도 일부분을 전송하는 단계를 포함할 수 있다. 상기 기법은 상기 서버로부터 상기 모바일 컴퓨팅 디바이스에서, 기계 언어번역 결과들을 수신하는 단계를 포함할 수 있다. 상기 기법은 상기 모바일 컴퓨팅 디바이스에서, 상기 기계 언어번역 결과들에 기초하여 번역된 텍스트를 획득하는 단계를 포함할 수 있다. 또한, 상기 기법은 상기 모바일 컴퓨팅 디바이스의 디스플레이에서, 상기 번역된 텍스트를 출력하는 단계를 포함할 수 있다.
일부 실시예들에서, 상기 기법은 상기 번역 복잡도가 제1 번역 복잡성 임계치보다 낮은 경우, 상기 모바일 컴퓨팅 디바이스에서 상기 텍스트 전체에 대해 기계 언어번역을 수행하는 단계와, 그리고 상기 번역 복잡도가 상기 제1 번역 복잡성 임계치보다 높은 경우, 상기 모바일 컴퓨팅 디바이스에서 상기 서버로 상기 텍스트의 적어도 일부를 전송하는 단계를 더 포함한다.
다른 실시예들에서, 상기 제1 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합한 번역 복잡도를 나타낸다.
일부 실시예들에서, 상기 기법은 상기 번역 복잡도가 제2 번역 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스로부터 상기 서버로 상기 텍스트의 전부를 전송하는 단계를 더 포함하며, 상기 제2 번역 복잡성 임계치는 상기 제1 번역 복잡성 임계치보다 높다.
다른 실시예들에서, 상기 제2 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합하지 않은 번역 복잡도를 나타낸다.
일부 실시예들에서, 상기 번역 복잡도가 상기 제1 번역 복잡성 임계치와 상기 제2 번역 복잡성 임계치 사이에 있는 경우, 상기 모바일 컴퓨팅 디바이스는 상기 텍스트의 제1 부분에 대해 기계 언어번역을 수행하고 상기 모바일 컴퓨팅 디바이스는 상기 텍스트의 제2 부분을 상기 서버로 전송하며, 상기 텍스트의 상기 제1 부분 및 상기 제2 부분은 상기 텍스트 전체를 집합적으로 형성한다.
다른 실시예들에서, 상기 서버로부터 상기 텍스트의 상기 제2 부분에 대한 기계 언어번역 결과들이 수신되기 이전에, 상기 모바일 컴퓨팅 디바이스에 의해 획득된 상기 텍스트의 상기 제1 부분에 대한 기계 언어번역 결과들을 상기 모바일 컴퓨팅 디바이스의 상기 디스플레이에 출력한다.
본 발명의 추가의 적용 분야들은 후술하는 상세한 설명으로부터 명백해질 것이다. 상세한 설명 및 특정 예시들은 단지 예시의 목적들을 위한 것이며, 본 발명의 범위를 제한하는 것이 아님이 이해되어야 한다.
본 발명은 상세한 설명 및 첨부 도면들로부터 좀 더 완전히 이해될 것이다.
도 1은 본 발명의 일부 구현예들에 따른 예시적인 모바일 컴퓨팅 디바이스를 포함하는 컴퓨팅 네트워크의 기능적인 블록 다이어그램이다.
도 2는 도 1의 예시적인 모바일 컴퓨팅 디바이스의 기능적인 블록 다이어그램이다.
도 3A 내지 3C는 본 발명의 일부 구현예들에 따른 분산 광학 문자 인식(OCR) 및/또는 분산 기계 언어번역에 대한 예시적인 기법들의 흐름도들이다.
도 4A 내지 4D는 본 발명의 일부 구현예들에 따른 분산 OCR 및 기계 언어번역 기법들의 실행 동안, 다양한 단계들에서의 예시적인 모바일 컴퓨팅 디바이스의 예시적인 디스플레이를 도시한다.
컴퓨터 서버들은 모바일 컴퓨팅 디바이스들(태블릿 컴퓨터들, 모바일 폰들, 등)보다 더 큰 처리 능력(processing power)을 가지며, 그러므로 상기 컴퓨터 서버들은 더 나은 광학 문자 인식(OCR) 결과들 및 기계 언어번역 결과들을 생성할 수 있다. 컴퓨팅 서버들이 전형적으로 더 빠른 그리고/또는 더 정확한 결과들을 생성할 수 있는 반면에, 모바일 컴퓨팅 디바이스에서 이러한 결과들을 획득하는 것은 데이터 전송과 관련된 네트워크 지연들로 인해 느려질 수 있다. 더욱이, 단순한/복잡하지 않은 경우들에서, 모바일 컴퓨팅 디바이스는 서버와 동일한 결과들을 생성할 수 있다. 예를 들면, 이미지는 소량의 텍스트 및/또는 매우 큰 텍스트를 가질 수 있다. 마찬가지로, 예를 들면, 번역과 관련한 텍스트는 소량의 문자들/단어들/문장들을 가질 수 있고 그리고/또는 언어학적으로 단순한 텍스트일 수 있다.
따라서, 분산 OCR 및 분산 언어번역을 위한 기법들이 제공된다. 이러한 기법들은 각각의 작업들에 대한 복잡도들(degrees of complexity)에 기초하여, 모바일 컴퓨팅 디바이스와 하나 이상의 서버들 사이에 OCR 및/또는 기계 언어번역 작업들을 선택적으로 분산시키는 것을 수반한다. 모바일 컴퓨팅 디바이스는 기점 언어의 텍스트를 포함하는 객체의 이미지를 수신할 수 있다. 모바일 컴퓨팅 디바이스는 이미지로부터 텍스트를 획득하기 위한 OCR 복잡도를 결정할 수 있다. 상기 OCR 복잡도에 기초하여, 모바일 컴퓨팅 디바이스 및/또는 서버는 OCR 텍스트를 획득하기 위해, OCR을 수행할 수 있다. 그 후, 모바일 컴퓨팅 디바이스는 기점 언어에서 목표어로 OCR 텍스트를 번역하기 위한 번역 복잡도를 결정할 수 있다. 상기 번역 복잡도에 기초하여, 모바일 컴퓨팅 디바이스 및/또는 서버는 번역된 OCR 텍스트를 획득하기 위해, 기점 언어에서 목표어로 OCR 텍스트의 기계 언어번역을 수행할 수 있다. 그 후, 모바일 컴퓨팅 디바이스는 번역된 OCR 텍스트를 출력할 수 있다. 본 발명의 분산 OCR 기법들 및 분산 기계 언어번역 기법들은 개별적으로(별도로) 또는 함께 사용될 수 있음이 인식될 것이다. 일 예시적인 구현예에서, 본 발명의 분산 OCR 기법들은 OCR 텍스트를 획득하기 위해 사용될 수 있고, 번역된 텍스트는 OCR 텍스트로부터 획득될 수 있다. 다른 예시적인 구현예에서, OCR 텍스트는 이미지로부터 획득될 수 있고, 본 발명의 분산 기계 언어번역 기법들은 번역된 텍스트를 획득하기 위해 수행될 수 있다. 다른 예시적인 구현예들에서, 본 발명의 분산 OCR 기법들을 사용하여 OCR 텍스트가 결정되고 저장/출력될 수 있으며, 그리고/또는 본 발명의 분산 기계 언어번역 기법들을 사용하여 입력 텍스트의 번역이 결정되고 저장/출력될 수 있다.
이제 도 1을 참조하면, 컴퓨팅 네트워크(100)가 도시된다. 컴퓨팅 네트워크(100)는 서버들(104a 및 104b)(통칭하여 서버들(104))을 포함한다. 예를 들면, 서버(104a)는 OCR 서버일 수 있고, 서버(104b)는 기계 언어번역 서버일 수 있다. 그러나, 본 명세서에서 사용된 용어 "서버"는 단일의 하드웨어 컴퓨터 서버 및 병렬로 또는 분산된 아키텍쳐(architecture)로 동작하는 복수의 유사한 서버들 모두를 지칭할 수 있음이 인식되어야 한다. 그러므로, 컴퓨팅 네트워크(100)는 OCR과 기계 언어번역 모두를 수행하는 단일 서버(104)를 포함할 수 있거나, 또는 상기 컴퓨팅 네트워크(100)는 OCR 및 기계 언어번역을 집합적으로 수행하는 3개 이상의 서버들을 포함할 수 있다.
모바일 컴퓨팅 디바이스(108)는 네트워크(112)를 통해 서버들(104)과 통신하도록 구성된다. 모바일 컴퓨팅 디바이스(108)의 예시들은 랩탑 컴퓨터, 태블릿 컴퓨터, 모바일 폰, 및 웨어러블 기술(wearable technology)(예컨데, 스마트워치(smartwatch), 안경(eyewear), 또는 컴퓨팅 디바이스를 통합하는 다른 웨어러블 물건들)을 포함한다. 그러나, 본 발명의 기법들은 디스플레이 및 카메라를 갖는 임의의 컴퓨팅 디바이스(예를 들어, 데스크탑 컴퓨터)에서 구현될 수 있음이 인식되어야 한다. 네트워크(112)는 근거리 통신망(local area network)(LAN), 광역 통신망(wide area network)(WAN)(예를 들어, 인터넷), 또는 이들의 결합을 포함할 수 있다. 모바일 컴퓨팅 디바이스(108)는 사용자(116)와 관련될 수 있다. 예를 들면, 사용자(116)는 디스플레이(120)(예를 들어, 터치 디스플레이)를 통해 모바일 컴퓨팅 디바이스(108)와 인터렉트(interact)할 수 있다.
사용자(116)는 텍스트(128)을 갖는 객체(124)와 인터렉트하기 위해 모바일 컴퓨팅 디바이스(108)를 사용할 수 있다. 상기 객체(124)는 텍스트(128)를 디스플레이 하기에 적절한 임의의 객체일 수 있고, 문서, 신호, 광고, 및 메뉴를 포함하나, 이에 제한되지 않는다. 예를 들면, 사용자(116)는 모바일 컴퓨팅 디바이스(108)와 관련된 카메라(212)(도 2 참조)를 사용하여, 객체(124)의 이미지 및 상기 객체의 텍스트(128)를 캡쳐(capture)할 것을 모바일 컴퓨팅 디바이스(108)에게 명령할 수 있다. OCR은 텍스트(128)를 검출하기 위해, 이미지 상에서 수행될 수 있다. 텍스트(128)를 획득한 이후, 텍스트(128)는 텍스트(128)의 기점 언어에서 목표어(예컨데, 사용자(116)에 의해 이해되고/구사된 언어)로 번역될 수 있다.
이제 도 2를 참조하면, 예시적인 모바일 컴퓨팅 디바이스(108)의 기능적인 블록 다이어그램이 도시된다. 모바일 컴퓨팅 디바이스(108)는 디스플레이(120), 통신 디바이스(200), 프로세서(204), 메모리(208) 및 카메라(212)를 포함할 수 있다. 또한, 모바일 컴퓨팅 디바이스(108)는 물리적 버튼들, 마이크로폰, 및 스피커와 같은 다른 적절한 컴포넌트들을 포함할 수 있음이 인식되어야 한다. 통신 디바이스(200)는 네트워크(112)를 통해 다른 디바이스들(예를 들어, 서버들(104))과 통신하도록 구성된 임의의 적절한 컴포넌트들(예컨데, 트랜시버(transceiver))을 포함할 수 있다. 메모리(208)는 정보를 모바일 컴퓨팅 디바이스(108)에 저장하도록 구성된 임의의 적절한 저장 매체(플래쉬, 하드 디스크, 등)일 수 있다.
프로세서(204)는 모바일 컴퓨팅 디바이스(108)의 동작을 제어할 수 있다. 프로세서(204)에 의해 수행되는 예시적인 기능들은 통신 디바이스(200)를 통해 정보의 전송/수신을 제어하는 것과 메모리(208)에 대한 읽기/쓰기 동작들을 제어하는 것을 포함하나, 이에 제한되지 않는다. 또한, 프로세서(204)는 카메라(212)로부터 수신된 정보를 프로세스할 수 있고, 정보를 디스플레이(120)로 출력할 수 있다. 카메라(212)는 객체(124)의 이미지 및 상기 객체의 텍스트(128)를 캡쳐하도록 구성된 임의의 적절한 카메라(전하-결합 소자(charge-coupled device)(CCD), 상보성 금속-산화막 반도체(complimentary metal-oxide-semiconductor)(CMOS), 등)일 수 있다. 일 실시예에서, 디스플레이(120)는 사용자(116)로부터 입력을 수신하도록 구성된 터치 디스플레이이다. 또한, 프로세서(204)는 이제 더 자세히 논의될 본 발명의 기법들의 적어도 일부분을 실행하도록 구성될 수 있다.
프로세서(204)는 카메라(212)로부터 객체(124)의 이미지 및 상기 객체(124)의 텍스트(128)를 수신할 수 있다. 이미지를 캡쳐하기 위해 카메라(212)를 포지셔닝(position)하고 입력을 제공하는 사용자(116)에 의해, 이미지는 카메라(212)에 의해 캡쳐될 수 있다. 이미지 상의 OCR이 요청될 때, 프로세서(204)는 텍스트(128)에 대한 OCR 복잡도를 결정할 수 있다. 예를 들면, OCR 복잡도는 (ⅰ) 사용자(116)에 의한 입력에 응답하여 생성된 또는 (ⅱ) 카메라(212)를 통해 이미지를 캡쳐함에 응답하여 자동으로 생성된 OCR 요청에 응답하여 결정될 수 있다. OCR 복잡도는 프로세서(204)가 OCR을 그 자체를 수행하는 것의 어려움의 정도의 표시이다. OCR 복잡도에 기초하여, 프로세서(204)는 OCR을 위해 이미지를 서버(104a)로 전송할지 여부를 결정할 수 있다.
OCR 복잡도를 결정하는 예시적인 요소들은 이미지의 해상도, 객체(124) 및/또는 객체(124)의 텍스트(128)의 크기, 텍스트(128)의 스타일(style)/폰트(font), 및/또는 이미지가 캡쳐된 각도/뷰(view)를 포함하나, 이에 제한되지 않는다. 좀 더 구체적으로, 이미지가 비스듬히(즉, 일직선 또는 똑바로가 아닌) 캡쳐된 경우, 이미지 내 텍스트(128)는 비뚤어질 수 있다. 높은 해상도의 이미지는 낮은 OCR 복잡도에 대응할 수 있고, 반면에 낮은 해상도의 이미지는 높은 OCR 복잡도에 대응할 수 있다. 크고, 스타일 되지 않고, 그리고/또는 기본 폰트는 낮은 OCR 복잡도에 대응할 수 있고, 반면에 작고, 스타일 되고, 그리고/또는 복잡한 폰트는 높은 OCR 복잡도에 대응할 수 있다. 약간 비뚤어지거나 비뚤어지지 않은 텍스트는 낮은 OCR 복잡도에 대응할 수 있고, 반면에 많이 비뚤어진 텍스트는 높은 OCR 복잡도에 대응할 수 있다.
상기 언급된 바와 같이, 프로세서(204)는 OCR 복잡도에 기초하여, OCR을 위해 이미지를 서버(104a)로 전송할지 여부를 결정할 수 있다. 예를 들면, 프로세서(204)는 OCR 복잡도를 하나 이상의 OCR 복잡성 임계치들(OCR complexity thresholds)과 비교할 수 있다. 상기 OCR 복잡성 임계치(들)은 미리 정의되거나, 사용자-정의일 수 있다. 일부 경우들에서, OCR 복잡도는 서버(104a)가 이미지의 적어도 일부에 대한 OCR을 수행하기에 적합함(또는 프로세서(204)보다 좀 더 적합함)을 표시할 수 있다. 이 경우들에서, 프로세서(204)는 이미지의 적어도 일부를 서버(104a)로 전송할 수 있다. 다른 경우들에서, 프로세서(204)는 OCR을 위해 전체 이미지를 서버(104a)로 전송할 수 있거나, 어떠한 것도 서버(104a)로 전송하지 않고 OCR을 전적으로 그 자체로 수행할 수 있다.
좀 더 구체적으로, OCR 복잡도가 제1 OCR 복잡성 임계치보다 낮은 경우, 프로세서(204)는 OCR을 전적으로 그 자체로 수행할 수 있다. OCR 복잡도가 제1 OCR 복잡성 임계치보다 높고 제2 OCR 복잡성 임계치보다 낮은 경우, 프로세서(204)는 이미지의 적어도 일부를 서버(104b)로 전송할 수 있다. OCR 복잡도가 제2 OCR 복잡성 임계치보다 높은 경우, 프로세서(204)는 전체 이미지를 서버(104b)로 전송할 수 있다. 더욱이, 일부 경우들에서, 프로세서(204)는 이미지의 낮은 해상도 버전은 서버(104a)에 충분한 것으로 판단할 수 있으며, 그러므로 프로세서(204)는 이미지의 낮은 해상도 버전의 적어도 일부를 서버(104a)로 전송할 수 있다. 이미지의 적어도 일부가 서버(104a)로 전송된 경우, 서버(104a)는 OCR 결과들을 모바일 컴퓨팅 디바이스(108)로 반환할 수 있다.
이미지 상에서 OCR을 수행하기 위한 서버(104a)와 프로세서(204)의 적합성은 OCR을 수행하기 위한 서버(104a)와 프로세서(204)에 대한 정확성 및/또는 효율성으로 각각 지칭 될 수 있다. 프로세서(204)는 스스로 OCR을 수행하기 위해, 임의의 적절한 OCR 알고리즘들을 사용할 수 있다. 스스로 및/또는 서버(104a)로부터 OCR 결과들을 획득한 이후, 프로세서(204)는 OCR 텍스트를 획득하기 위해, 상기 OCR 결과들을 컴파일(compile)할 수 있다. OCR 텍스트는 텍스트(128)를 갖는 객체(124)에 대한 OCR 결과들을 나타낸다. OCR 결과들의 품질에 따라, OCR 텍스트는 텍스트(128)와 동일하거나 텍스트(128)와 다를 수 있다. 프로세서(204)는 OCR 텍스트의 기점 언어를 결정할 수 있다.
일단 OCR 텍스트가 획득되면, 프로세서(204)는 OCR 텍스트의 기점 언어를 결정할 수 있다. 프로세서(204)가 기점 언어의 결정에 대해 확신하지 않는 경우, 프로세서(204)는 상기 결정을 위해, 그리고 만일 요청된 경우 또한 기계 언어번역을 위해, OCR 텍스트를 서버(104b)로 전송할 수 있다. OCR 텍스트의 기계 언어번역이 요청된 경우, OCR 텍스트는 기점 언어에서 목표어로 번역될 수 있다. 예를 들면, OCR 텍스트는 (ⅰ) 사용자(116)로부터의 입력에 응답하여 생성된 또는 (ⅱ) 기점 언어가 사용자(116)에 의해 선호되는 하나 이상의 언어들이 아님을 결정함에 응답하여 자동으로 생성된 번역 요청에 응답하여 번역될 수 있다. 상기 번역 요청에 응답하여, 프로세서(204)는 기점 언어에서 목표어로 OCR 텍스트를 번역하기 위한 번역 복잡도를 결정할 수 있다. 번역 복잡도는 프로세서(204)가 OCR 텍스트의 기계 언어번역 그 자체를 수행하는 것의 어려움의 정도의 표시이다.
번역 복잡도를 결정하는 예시적인 요소들은 기점 언어 및/또는 목표어의 복잡성들, 및 OCR 텍스트 내 문자들, 단어들 및/또는 문장들의 수를 포함하나, 이에 제한되지 않는다. 덜 복잡하고(단순하고), 더 보편적이고 그리고/또는 보다 활용되는 언어들은 높은 번역 복잡도에 대응할 수 있고, 반면에 더 복잡하고, 덜 보편적이고 그리고/또는 덜 활용되는 언어들은 높은 번역 복잡도에 대응할 수 있다. 적은 문자들, 단어들 및/또는 문장들은 낮은 번역 복잡도에 대응할 수 있고, 반면에 많은 문자들, 단어들 및/또는 문장들은 높은 번역 복잡도에 대응할 수 있다. 단지 예를 들면, 영어는 낮은 번역 복잡도를 가질 수 있고, 러시아어는 높은 번역 복잡도를 가질 수 있다.
번역 복잡도에 기초하여, 프로세서(204)는 기계 언어번역을 위해 OCR 텍스트를 서버(104b)에 전송할지 여부를 결정할 수 있다. 예를 들면, 프로세서(204)는 번역 복잡도를 하나 이상의 번역 복잡성 임계치들과 비교할 수 있다. 상기 번역 복잡성 임계치(들)은 미리 정의되거나, 사용자-정의일 수 있다. 또한, 모바일 컴퓨팅 디바이스(108)는 로컬 언어팩들(local language packs)(예를 들어, 메모리(208)에 저장된 로컬 언어팩들)을 가질 수 있고, 상기 로컬 언어팩들은 스스로 기계 언어번역을 수행하는데 있어 프로세서(204)에 의해 사용될 수 있는 정보를 포함할 수 있다. 상기 로컬 언어팩들의 존재 및 타입은, 그러므로, 번역 복잡성 임계치(들)에 영향을 미칠 수 있다. 일부 경우들에서, 번역 복잡도는 서버(104b)가 OCR 텍스트의 적어도 일부에 대한 기계 언어번역을 수행하기에 적합함(또는 프로세서(204)보다 좀 더 적합함)을 표시할 수 있다.
이러한 경우들에서, 프로세서(204)는 OCR 텍스트의 적어도 일부를 서버(104b)로 전송할 수 있다. 다른 경우들에서, 프로세서(204)는 OCR을 위해 전체 OCR 텍스트를 서버(104b)로 전송할 수 있거나, 어떠한 것도 서버(104b)로 전송하지 않고 OCR을 전적으로 그 자체로 수행할 수 있다. 좀 더 구체적으로, OCR 복잡도가 제1 번역 복잡성 임계치보다 낮은 경우, 프로세서(204)는 기계 언어번역을 전적으로 그 자체로 수행할 수 있다. OCR 복잡도가 제1 번역 복잡성 임계치보다 높고 제2 번역 복잡성 임계치보다 낮은 경우, 프로세서(204)는 OCR 텍스트의 적어도 일부를 서버(104b)로 전송할 수 있다. OCR 복잡도가 제2 번역 복잡성 임계치보다 높은 경우, 프로세서(204)는 전체 OCR 텍스트를 서버(104b)로 전송할 수 있다.
프로세서(204)는 스스로 기계 언어번역을 수행하기 위해, 임의의 적절한 기계 번역 알고리즘들을 사용할 수 있다. 스스로 및/또는 서버(104b)로부터 기계 언어번역을 결과들을 획득한 이후, 프로세서(204)는 번역된 텍스트를 획득하기 위해, 상기 기계 언어번역 결과들을 컴파일 할 수 있다. 번역된 텍스트는 OCR 텍스트에 대한 기계 언어번역 결과들을 나타낸다. 기계 언어번역 결과들의 품질에 따라, 번역된 텍스트는 기점 언어에서 목표어로의 OCR 텍스트의 정확한 번역일 수 있거나 또는 아닐 수 있다. 마찬가지로, 상기 논의된 바와 같이 OCR 결과들의 품질에 따라, 번역된 텍스트는 기점 언어에서 목표어로의 객체(124)의 텍스트(128)의 정확한 번역일 수 있거나 또는 아닐 수 있다. 번역된 텍스트를 획득한 이후, 프로세서(204)는 번역된 텍스트를 출력할 수 있다. 예를 들면, 프로세서(204)는 번역된 텍스트를 디스플레이(120)에 출력할 수 있다.
이제 도 3A를 참조하면, 분산 OCR 및 분산 기계 언어번역에 대한 예시적인 기법(300)의 흐름도가 도시된다. 블록(304)에서, 모바일 컴퓨팅 디바이스(108)는 기점 언어로 된 텍스트(128)를 포함하는 객체(124)의 이미지를 수신할 수 있다. 블록(308)에서, 모바일 컴퓨팅 디바이스(108)는 텍스트(128)를 획득하기 위해 이미지 상에서 OCR을 수행하기 위한 OCR 복잡도를 결정할 수 있다. 블록(312)에서, 모바일 컴퓨팅 디바이스(108)는 OCR 복잡도를 제1 및 제2 OCR 복잡성 임계치들과 비교할 수 있다. OCR 복잡도가 제1 OCR 복잡성 임계치보다 낮은 경우, 블록(316)에서 프로세서(204)는 이미지 상에서 OCR을 전적으로 그 자체로 수행할 수 있고, 이후 블록(332)으로 진행할 수 있다.
OCR 복잡도가 제1 OCR 복잡성 임계치와 제2 OCR 복잡성 임계치 사이에 있는 경우, 단계(320)에서 모바일 컴퓨팅 디바이스(108)는 OCR을 위해 이미지의 일부를 서버(104a)로 전송할 수 있고, 이후 블록(328)으로 진행할 수 있다. OCR 복잡도가 제2 OCR 복잡성 임계치보다 높은 경우, 단계(324)에서 모바일 컴퓨팅 디바이스(108)는 OCR을 위해 전체 이미지를 서버(104a)로 전송할 수 있고, 이후 블록(328)으로 진행할 수 있다. 블록(328)에서, 모바일 컴퓨팅 디바이스(108)는 서버(104a)로부터 OCR 결과들을 수신할 수 있고, OCR 텍스트를 획득할 수 있다. 블록(332)에서, 모바일 컴퓨팅 디바이스(108)는 OCR 텍스트의 기점 언어를 결정할 수 있다. 일부 구현예들에서, 모바일 컴퓨팅 디바이스(108)는 기점 언어를 결정하기 위해, OCR 텍스트의 적어도 일부분을 서버(104b)로 전송할 수 있다.
블록(336)에서, 모바일 컴퓨팅 디바이스(108)는 기점 언어에서 목표어로 OCR 텍스트를 번역하기 위한 번역 복잡도를 결정할 수 있다. 블록(340)에서, 모바일 컴퓨팅 디바이스(108)는 상기 번역 복잡도를 제1 및 제2 번역 복잡성 임계치들과 비교할 수 있다. 번역 복잡도가 제1 번역 복잡성 임계치보다 낮은 경우, 모바일 컴퓨팅 디바이스(108)는 OCR 텍스트의 기계 언어번역을 전적으로 그 자체로 수행할 수 있고, 그 후 블록(360)으로 진행할 수 있다. 번역 복잡도가 제1 번역 복잡성 임계치와 제2 번역 복잡성 임계치 사이에 있는 경우, 모바일 컴퓨팅 디바이스(108)는 기계 언어번역을 위해 OCR 텍스트의 일부를 서버(104b)로 전송할 수 있고, 그 후 블록(356)으로 진행할 수 있다.
번역 복잡도가 제2 번역 복잡성 임계치보다 높은 경우, 블록(352)에서 모바일 컴퓨팅 디바이스(108)는 기계 번역을 위해 전체 OCR 텍스트를 서버(104b)로 전송할 수 있고, 그 후 블록(356)으로 진행할 수 있다. 블록(356)에서, 모바일 컴퓨팅 디바이스(108)는 서버(104b)로부터 기계 언어번역 결과들을 수신할 수 있고, 번역된 OCR 텍스트를 획득할 수 있다. 블록(360)에서, 모바일 컴퓨팅 디바이스(108)는 번역된 OCR 텍스트를 디스플레이(120)로 출력할 수 있다. 일부 구현예들에서, 번역된 OCR 텍스트를 디스플레이로 출력하는 것은 서버(104b)로부터 획득된 OCR 텍스트의 일부를 출력하기 전에 모바일 컴퓨팅 디바이스에 의해 획득된 번역된 OCR 텍스트의 다른 일부를 출력하는 것을 포함한다. 그 후, 기법(300)은 종료될 수 있거나, 또는 하나 이상의 추가적인 반복들을 위해 블록(304)으로 돌아갈 수 있다.
이제 도 3B를 참조하면, 분산 OCR에 대한 예시적인 기법(370)이 제시된다. 블록(371)에서, 모바일 컴퓨팅 디바이스(104)는 기점 언어로 된 텍스트(128)를 포함하는 객체(124)의 이미지를 수신할 수 있다. 블록(372)에서, 모바일 컴퓨팅 디바이스(108)는 텍스트(128)를 획득하기 위해 이미지 상에서 OCR을 수행하기 위한 OCR 복잡도를 결정할 수 있다. 블록(373)에서, 모바일 컴퓨팅 디바이스(108)는 상기 OCR 복잡도에 기초하여, 이미지의 적어도 일부를 서버(104a)로 전송할 수 있다. 블록(374)에서, 모바일 컴퓨팅 디바이스(108)는 서버(104a)로부터 OCR 결과들을 수신할 수 있다. 블록(375)에서, 모바일 컴퓨팅 디바이스(108)는 OCR 결과들을 사용하여 OCR 텍스트를 획득할 수 있다. 블록(376)에서, 모바일 컴퓨팅 디바이스(08)는 번역된 OCR 텍스트를 획득하기 위해, 기점 언어에서 목표어로의 OCR 텍스트의 기계 언어번역을 획득할 수 있다. 블록(377)에서, 모바일 컴퓨팅 디바이스(108)는 번역된 OCR 텍스트를 출력할 수 있다. 그 후, 기법(370)은 종료될 수 있거나, 또는 하나 이상의 추가적인 반복들을 위해 블록(371)으로 돌아갈 수 있다.
이제 도 3C를 참조하면, 분산 기계 언어번역에 대한 예시적인 기법(380)이 제시된다. 블록(381)에서, 모바일 컴퓨팅 디바이스(108)는 기점 언어로 된 텍스트(128)를 포함하는 객체(124)의 이미지를 수신할 수 있다. 블록(382)에서, 모바일 컴퓨팅 디바이스(108)는 이미지로부터 OCR 텍스트를 획득할 수 있다. 블록(383)에서, 모바일 컴퓨팅 디바이스(108)는 OCR 텍스트의 기점 언어를 결정할 수 있다. 일부 경우들에서, 모바일 컴퓨팅 디바이스는 기점 언어를 결정하기 위해, OCR 텍스트의 적어도 일부를 서버(104b)로 전송할 수 있다. 블록(384)에서, 모바일 컴퓨팅 디바이스(108)는 기점 언어에서 목표어로의 OCR 텍스트의 기계 언어번역을 수행하기 위한 번역 복잡도를 결정할 수 있다. 블록(385)에서, 모바일 컴퓨팅 디바이스(108)는 상기 번역 복잡도에 기초하여, OCR 텍스트의 적어도 일부를 서버(104b)로 전송할 수 있다. 블록(386)에서, 모바일 컴퓨팅 디바이스(108)는 서버(104b)로부터 기계 언어번역 결과들을 수신할 수 있다. 블록(387)에서, 모바일 컴퓨팅 디바이스(108)는 번역된 OCR 텍스트를 획득하기 위해, 상기 기계 언어번역 결과들에 기초하여 기점 언어에서 목표어로의 OCR 텍스트의 번역을 획득할 수 있다. 블록(388)에서, 모바일 컴퓨팅 디바이스(108)는 번역된 OCR 텍스트를 출력할 수 있다. 그 후, 기법(380)은 종료될 수 있거나, 또는 하나 이상의 추가적인 반복들을 위해 블록(381)으로 돌아갈 수 있다.
이제 도 4A 내지 4B를 참조하면, 분산 OCR 및 기계 언어번역 기법들의 실행 동안, 다양한 단계들에서의 예시적인 모바일 컴퓨팅 디바이스(108)의 디스플레이(120)가 도시된다. 도 4A는 객체(124)의 이미지를 도시하고, 도 4A 및 4B의 목적을 위한 상기 객체(124)의 이미지는 프랑스어로 된 메뉴이다. 메뉴는 다른 텍스트(408)보다 큰 헤더(header)/제목 텍스트(404)("La Menu")를 포함한다. 본 명세서에서 이전에 논의된 바와 같이, OCR 복잡도는 텍스트 크기, 텍스트 스타일(볼드체, 이텔릭체, 등) 및 다른 유사한 요소들에 따라 변할 수 있다. 본 예시에서, 모바일 컴퓨팅 디바이스(108)는 헤더/제목 텍스트(404)에 대한 OCR을 수행하고, 서버(104a)는 다른 텍스트(408)에 대한 OCR을 수행한다. 좀 더 구체적으로, 모바일 컴퓨팅 디바이스(108)는 헤더/제목 텍스트(404)를 포함하는 제1 부분(412)에 대한 OCR을 수행하고, 서버(104a)는 다른 텍스트(408)를 포함하는 제2 부분(416)에 대한 OCR을 수행한다.
도 4B는 분산 OCR의 결과들을 도시한다. 모바일 컴퓨팅 디바이스(108)는 제1 부분(412)으로부터 헤더/제목 OCR 텍스트를 획득하였고, 서버(104a)는 다른 OCR 텍스트(424)를 획득하고 제공하였다. 상기 OCR 텍스트들(420 및 424)은 이미지에 대한 OCR 텍스트를 집합적으로 나타낸다. 일부 구현예들에서, OCR 텍스트들(420 및 424)은 OCR이 완료 및/또는 기계 언어번역이 아직 수행되지 않음을 표시하기 위해, 이탤릭체로 될 수 있거나 강조(예를 들어, 아웃라인(outline) 또는 보더(border))될 수 있다. 예를 들면, 우선 로컬 OCR(local OCR)이 완료될 수 있고 그러므로, 다른 OCR 텍스트(424)보다 헤더/제목 OCR 텍스트(420)가 먼저 강조될 수 있다. 본 예시에서, 사용자(116)는 영어를 쓰는 사용자이며, 프랑스어를 읽거나 이해하지 못하는바, 그/그녀는 기계 언어번역을 요청한다. 이는 자동으로 수행될 수 있거나(예를 들어, 그들의 언어 선호들에 기초하여), 사용자(116)로부터의 입력(예를 들어, 카메라 버튼과 같은 아이콘(icon)을 선택하거나 또는 물리적인 버튼을 누름으로써)에 응답하여 수행될 수 있다.
도 4C는 프랑스어에서 영어로의 로컬 기계 언어번역의 결과들을 도시한다. 본 예시에서, 모바일 컴퓨팅 디바이스(108)는 프랑스어-영어 로컬 언어팩(예를 들어, 메모리(208)에 저장된 언어팩)을 가지며, 그러므로 모바일 컴퓨팅 디바이스(108)는 일부 프랑스어를 영어로 기계 언어번역 할 수 있다. 좀 더 구체적으로, 모바일 컴퓨팅 디바이스(108)는 제1 번역된 OCR 텍스트(432)를 획득하기 위한 OCR 텍스트의 제1 부분(428)의 기계 언어번역을 수행하기에 적합하다. OCR 텍스트의 제1 부분(428)은 영어 기계 언어번역을 위한 쉽고/단순한 프랑스어 단어들을 포함할 수 있다. 그러나, 모바일 컴퓨팅 디바이스(108)가 OCR 텍스트의 제2 부분 상에 기계 언어번역을 수행할 수 없거나, 상기 기계 언어번역이 부정확 하거나, 또는 상기 수행이 부정확할 수 있다. 좀 더 구체적으로, OCR 텍스트의 제2 부분(436)은 모바일 컴퓨팅 디바이스(108)가 OCR을 수행하기에 적합하지 않은 단어(440)(Escargots)를 포함한다.
번역 복잡도가 매우 높기 때문에(예를 들어, 단어(440)가 로컬 언어팩 내에 없기 때문에), 모바일 컴퓨팅 디바이스(108)는 기계 언어번역을 위해 OCR 텍스트의 제2 부분(436)이 서버(104b)로 전송되어야함을 결정할 수 있다. 일부 실시예들에서, 사용자(116)에게 알리기 위해 기계 언어번역이 완료된 때 텍스트의 스타일/강조가 제거될 수 있다. 도 4C에 도시된 바와 같이, 제1 번역된 OCR 텍스트(432)는 스타일 또는 강조가 없다. 마지막으로, 도 4D는 프랑스어에서 영어로의 분산 기계 언어번역의 결과들을 도시한다. 서버(104b)는 제2 번역된 OCR 텍스트(444)를 획득하였고 제공하였다. 제1 번역된 OCR 텍스트(432) 및 제2 번역된 OCR 텍스트(444)는 이미지에 대한 번역된 OCR 텍스트(444)를 집합적으로 나타낸다. 서버(104b)로부터 제2 번역된 OCR 텍스트(444)를 수신함에 응답하여, 모바일 컴퓨팅 디바이스(108)는 제2 번역된 OCR 텍스트(444)를 디스플레이 한다. 예를 들면, 모바일 컴퓨팅 디바이스(108)는 제2 번역된 OCR 텍스트(444)를 오버레이(overlay) 및/또는 워드(440)에서 제2 번역된 OCR 텍스트(444)로 페이드(fade)할 수 있다.
예시적인 실시예들이 제공되어 본 개시가 철저히 이루어질 것이고, 상기 개시는 당해 기술 분야의 통상의 기술자에게 발명의 범위를 완전히 전달할 것이다. 본 발명의 실시예들의 완전한 이해를 제공하기 위해, 다수의 특정 세부사항들이 특정 컴포넌트들, 디바이스들 및 방법들의 예시들로서 제시된다. 당해 기술 분야의 통상의 기술자는 특정 세부사항들이 반드시 이용될 필요는 없고, 예시적인 실시예들은 다양한 서로 다른 형태들로 구현될 수 있으며 본 발명의 범위를 제한하는 것으로 구성되지 않는다는 것을 인식할 것이다. 일부 예시적인 실시예들에서, 잘-알려진 방법, 잘-알려진 구조들, 및 잘-알려진 기술들은 상세히 기술되지 않았다.
본 명세서에서 사용된 용어들은 단지 특정 예시적인 실시예들을 기술하기 위한 것이고, 제한하려는 의도가 아니다. 본 명세서에서 사용된 바와 같이, 단수를 의미하는 관사는 콘텍스트가 명백히 달리 표시하지 않는 한, 복수의 형태들 또한 포함하는 것으로 의도될 수 있다. 용어 "및/또는"은 관련된 하나 이상의 열거된 항목들 중 임의의 것과 이들의 모든 조합들을 포함한다. 용어들 "이룬다", "이루고 있는", "포함하는" 및 "갖는"은 언급된 구성들, 정수들, 단계들, 동작들, 엘리먼트들 및/또는 컴포넌트들을 포함하며, 이들을 지정하나, 하나 이상의 다른 구성들, 정수들, 동작들, 엘리먼트들, 컴포넌트들 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않는다. 수행의 순서로서 특별히 식별되지 않는 한, 본 명세서에서 기술된 방법 단계들, 프로세스들 및 동작들은 논의 또는 도시된 특정 순서에서 이들의 실행을 필연적으로 요구하는 것으로서 구성되지 않는다. 추가적이거나 대안적인 단계들이 또한 이용될 수 있음이 이해될 것이다.
비록 본 명세서에서 용어들 제1, 제2, 제3, 제4, 등이 다양한 엘리먼트들, 컴포넌트들, 부분들, 레이어들(layers), 및/또는 섹션들(sections)을 기술하기 위해 사용되었으나, 이들 엘리먼트들, 컴포넌트들, 부분들, 레이어들, 및/또는 섹션들은 상기 용어들에 의해 제한되어서는 안된다. 상기 용어들은 단지 엘리먼트, 컴포넌트, 부분, 레이어 또는 섹션을 다른 부분, 레이어 또는 섹션과 구분하기 위해 사용된다. 콘텍스트에 의해 명백히 표시되지 않는 한, "제1", "제2"와 같은 용어들 및 다른 수치적인 용어들이 본 명세서에서 사용되었을 때 이는 시퀀스(sequence) 또는 순서를 암시하지 않는다. 그러므로, 제1 엘리먼트, 제1 컴포넌트, 제1 부분, 제1 레이어 또는 제1 섹션은 예시적인 실시예들의 교시로부터 벗어남이 없이, 제2 엘리먼트, 제2 컴포넌트, 제2 부분, 제2 레이어 또는 제2 섹션을 지칭할 수 있다.
본 명세서에서 사용된 바와 같이, 용어 "모듈"은 주문형 반도체(ASIC); 전자 회로; 조합 논리 회로; 필드 프로그래머블 게이트 어레이(FPGA); 프로세서 또는 프로세서들의 분산(공유, 전용, 그룹화)된 네트워크 및 코드 또는 프로세스를 실행하는 네트워크 된 클러스터들 또는 데이터센터들의 스토리지(storage); 설명된 기능을 제공하는 다른 적절한 컴포넌트들; 또는 이들의 일부 조합 또는 모든 조합(예컨데, 시스템-온-칩)을 지칭하거나, 이들의 일부를 지칭하거나 또는 이들을 포함할 수 있다. 또한, 용어 "모듈"은 하나 이상의 프로세서들에 의해 실행되는 코드를 저장하는 (공유, 전용 또는 그룹화된) 메모리를 포함할 수 있다.
상기 사용된 바와 같이, 용어 "코드"는 소프트웨어, 펌웨어, 바이트-코드 및/또는 마이크로코드를 포함할 수 있고, 프로그램들, 루틴들, 함수들, 클래스들 및/또는 객체들(objects)을 지칭할 수 있다. 상기 사용된 바와 같이, 용어 "공유된"은 다수의 모듈들로부터의 일부 또는 전부의 코드가 단일(공유된) 프로세서를 사용하여 실행될 수 있음을 의미한다. 추가적으로, 다수의 모듈들로부터의 일부 또는 전부의 코드는 단일(공유된) 메모리에 의해 저장될 수 있다. 상기 사용된 바와 같이, 용어 "그룹화"는 단일 모듈로부터의 일부 또는 전부의 코드가 프로세서들의 그룹을 사용하여 실행될 수 있음을 의미한다. 추가적으로, 단일 모듈로부터의 일부 또는 전부의 코드는 메모리들의 그룹을 사용하여 저장될 수 있다.
본 명세서에 기술된 기법들은 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 컴퓨터 프로그램들로서 구현될 수 있다. 컴퓨터 프로그램은 비-일시적 유형의 컴퓨터 판독가능한 매체 상에 저장된 프로세서-실행가능한 명령어들을 포함한다. 또한, 컴퓨터 프로그램들은 저장된 데이터를 포함할 수 있다. 비-일시적인 유형의 컴퓨터 판독가능한 매체의 비-제한적인 예시들은 비일시적인 메모리, 자기 스토리지, 및 광학 스토리지이다.
상기 설명의 일부 부분들은 알고리즘들 및 정보 상의 동작들의 상징적인 표현들의 관점에서, 본 명세서에서 기술된 기법들을 제시한다. 상기 알고리즘적인 설명들 및 표현들은 데이터 프로세싱 분야의 다른 통상의 기술자에게 작업의 실체를 가장 효과적으로 전달하기 위해 상기 기술 분야의 통상의 기술자에 의해 사용되는 수단들이다. 상기 동작들은, 기능적으로 또는 논리적으로 설명되지만, 컴퓨터 프로그램들에 의해 실행될 것으로 이해된다. 더욱이, 또한 보편성의 손실없이, 모듈들로서 또는 기능적인 이름들에 의해 동작들의 이러한 배열들을 지칭하는 것은 편리하다는 것이 증명되었다.
상기 논의로부터 명백해지는 바와 같이 특별히 달리 언급되지 않는 한, 상기 설명을 통해 "프로세싱하는" 또는 "계산하는" 또는 "연산하는" 또는 결정하는" 또는 디스플레이하는" 등과 같은 용어들을 활용하는 논의들은 컴퓨터 시스템 또는 컴퓨터 시스템 메모리들 또는 레지스터들 또는 이와 같은 다른 정보 스토리지, 전송 또는 디스플레이 디바이스들 내의 물리적인(전자적인) 수량들로서 나타낸 데이터를 조작 및 변형하는 유사한 전자 컴퓨팅 디바이스의 액션(action) 및 프로세스들을 지칭함이 인식된다.
기술된 기법들의 특정 양태들은 알고리즘의 형태로 본 명세서에서 기술된 프로세스 단계들 및 명령들을 포함한다. 기술된 프로세스 단계들 및 명령들은 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있고, 소프트웨어로 구현된 경우 실시간 네트워크 운영 체제들에 의해 사용되는 서로 다른 플랫폼들 상에 존재하기 위해 다운로드 될 수 있고, 상기 플랫폼들에서 운영될 수 있음이 주목되어야 한다.
또한, 본 발명은 본 명세서의 동작들을 수행하기 위한 장치와 관련된다. 상기 장치는 필요한 목적들을 위해 특별히 구성될 수 있거나, 또는 컴퓨터에 의해 액세스 될 수 있는 컴퓨터 판독가능한 매체 상에 저장된 컴퓨터 프로그램에 의해 선택적으로 액티베이트 되거나 재구성된 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 예컨데, 플로피 디스크들, 광학 디스크들, CD-ROM들, 자기-광학 디스크들, 읽기-전용 메모리들(ROMs), 랜덤 액세스 메모리들(RAMs), EPROMs, EEPROMs, 자기 또는 광학 카드들, 주문형 반도체들(ASICs)을 포함하는 임의의 타입의 디스크, 또는 전자적 명령들을 저장하기에 적합한 임의의 타입의 미디어, 및 컴퓨터 시스템 버스에 연결된 각각의 상기 디스크와 미디어와 같은 유형의 컴퓨터 판독가능한 저장 매체(다만, 이들에 제한되지 않는다)에 저장될 수 있다.
본 명세서에 제시된 알고리즘들 및 동작들은 본직절으로 임의의 특정 컴퓨터 또는 다른 장치에 관한 것이 아니다. 다양한 범용 시스템들은 또한 본 명세서에서의 교시들에 따른 프로그램들과 함께 사용될 수 있거나, 이는 필요한 방법 단계들을 수행하기 위해 좀더 전문화 된 장치를 구성하는 것이 편리하다는 것을 증명할 수 있다. 이러한 다양한 시스템들에 대해 필요한 구조는 균등한 변형들에 따라 당해 기술분야의 통상의 기술자에게 명확할 것이다. 추가적으로, 본 발명은 임의의 특정 프로그래밍 언어를 참조하여 기술된 것이 아니다. 본 발명에서 기술된 바와 같은 본 발명의 교시들을 구현하기 위해 다양한 프로그래밍 언어들이 사용될 수 있고, 특정 언어들에 대한 임의의 참조들이 인에이블먼트의 개시(disclosure) 및 본 발명의 최적의 모드를 위해 제공됨이 인식된다.
본 발명은 수많은 토폴리지들(topologies)을 통해 광범위한 컴퓨터 네트워크 시스템들에 적합하다. 본 기술분야 내에서, 대형 네트워크들의 구성 및 관리는 네트워크(예컨데, 인터넷)를 통해 이종 컴퓨터들 및 스토리지 디바이스들과 통신적으로 연결된 스토리지 디바이스들 및 컴퓨터들을 포함한다.
실시예들의 전술한 설명은 예시 및 설명의 목적들을 위해 제공된 것이다. 이는 완전하거나 발명을 제한하려는 의도가 아니다. 특정 실시예의 개별적인 엘리먼트들 또는 구성들은 일반적으로 상기 특정 실시예에 제한되지 않으나, 심지어 특별히 도시되거나 기술되지 않은 경우일지라도 응용할 수 있는 경우, 상호교환적일 수 있고 선택된 실시예에서 사용될 수 있다. 또한, 동일한 것이라도 여러 가지 방식들에서 변형될 수 있다. 이러한 변형들은 발명으로부터 벗어나는 것으로 간주되지 않으며, 이러한 모든 수정들은 발명의 범위 내에 포함되는 것으로 의도된다.

Claims (27)

  1. 컴퓨터로 구현되는 방법에 있어서,
    하나 이상의 프로세서들을 갖는 모바일 컴퓨팅 디바이스에서, 기점 언어(source language)로 된 텍스트를 포함하는 객체(object)의 이미지를 수신하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, 상기 텍스트를 획득하기 위해 상기 이미지 상에서 OCR(Optical character recognition: 광학 문자 인식)을 수행하기 위한 OCR 복잡도(degree of OCR complexity)를 결정하는 단계와;
    상기 OCR 복잡도가 제1 OCR 복잡성 임계치(first OCR complexity threshold)보다 낮은 경우, 상기 모바일 컴퓨팅 디바이스에서 상기 이미지 전체에 대해 OCR을 수행하는 단계와;
    상기 OCR 복잡도가 상기 제1 OCR 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스에서 서버로 상기 이미지의 적어도 일부를 전송하는 단계와;
    상기 서버로부터 상기 모바일 컴퓨팅 디바이스에서, OCR 결과들을 수신하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, 상기 OCR 결과들에 기초하여 OCR 텍스트를 획득하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, 번역된 OCR 텍스트를 획득하기 위해 상기 기점 언어에서 목표어(target language)로의 상기 OCR 텍스트의 기계 언어번역(machine language translation)을 획득하는 단계와; 그리고
    상기 모바일 컴퓨팅 디바이스의 디스플레이에서, 상기 번역된 OCR 텍스트를 출력하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 청구항 1에 있어서,
    상기 제1 OCR 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합한 OCR 복잡도를 나타내는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 청구항 1에 있어서,
    상기 OCR 복잡도가 제2 OCR 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스로부터 상기 서버로 상기 이미지의 전부를 전송하는 단계를 더 포함하며, 상기 제2 OCR 복잡성 임계치는 상기 제1 OCR 복잡성 임계치보다 높은 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 청구항 3에 있어서,
    상기 제2 OCR 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합하지 않은 OCR 복잡도를 나타내는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 청구항 3에 있어서,
    상기 OCR 복잡도가 상기 제1 OCR 복잡성 임계치와 상기 제2 OCR 복잡성 임계치 사이에 있는 경우, 상기 모바일 컴퓨팅 디바이스는 상기 이미지의 제1 부분에 대해 OCR을 수행하고 상기 모바일 컴퓨팅 디바이스는 상기 이미지의 제2 부분을 상기 서버로 전송하며, 상기 이미지의 상기 제1 부분 및 상기 제2 부분은 상기 이미지 전체를 집합적으로(collectively) 형성하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 청구항 5에 있어서,
    상기 서버로부터 상기 이미지의 상기 제2 부분에 대한 OCR 결과들이 수신되기 이전에, 상기 모바일 컴퓨팅 디바이스에 의해 획득된 상기 이미지의 상기 제1 부분에 대한 OCR 결과들을 상기 모바일 컴퓨팅 디바이스의 상기 디스플레이에 출력하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 컴퓨터로 구현되는 방법에 있어서,
    하나 이상의 프로세서들을 갖는 모바일 컴퓨팅 디바이스에서, 기점 언어로 된 텍스트를 포함하는 객체의 이미지를 수신하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, OCR 텍스트를 획득하기 위해 상기 객체 및 상기 텍스트에 대한 광학 문자 인식(OCR) 결과들을 획득하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, 상기 OCR 텍스트의 상기 기점 언어를 결정하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, 상기 기점 언어에서 목표어로의 상기 OCR 텍스트의 기계 언어번역을 수행하기 위한 번역 복잡도를 결정하는 단계와;
    상기 번역 복잡도가 제1 번역 복잡성 임계치(first translation complexity threshold)보다 낮은 경우, 상기 모바일 컴퓨팅 디바이스에서 상기 OCR 텍스트 전체에 대해 기계 언어번역을 수행하는 단계와;
    상기 번역 복잡도가 상기 제1 번역 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스에서 서버로 상기 OCR 텍스트의 적어도 일부를 전송하는 단계와;
    상기 서버로부터 상기 모바일 컴퓨팅 디바이스에서, 기계 언어번역 결과들을 수신하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, 상기 기계 언어번역 결과들에 기초하여 번역된 OCR 텍스트를 획득하는 단계와; 그리고
    상기 모바일 컴퓨팅 디바이스의 디스플레이에서, 상기 번역된 OCR 텍스트를 출력하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 청구항 7에 있어서,
    상기 제1 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합한 번역 복잡도를 나타내는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 청구항 7에 있어서,
    상기 번역 복잡도가 제2 번역 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스로부터 상기 서버로 상기 OCR 텍스트의 전부를 전송하는 단계를 더 포함하며, 상기 제2 번역 복잡성 임계치는 상기 제1 번역 복잡성 임계치보다 높은 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 청구항 9에 있어서,
    상기 제2 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합하지 않은 번역 복잡도를 나타내는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 청구항 9에 있어서,
    상기 번역 복잡도가 상기 제1 번역 복잡성 임계치와 상기 제2 번역 복잡성 임계치 사이에 있는 경우, 상기 모바일 컴퓨팅 디바이스는 상기 OCR 텍스트의 제1 부분에 대해 기계 언어번역을 수행하고 상기 모바일 컴퓨팅 디바이스는 상기 OCR 텍스트의 제2 부분을 상기 서버로 전송하며, 상기 OCR 텍스트의 상기 제1 부분 및 상기 제2 부분은 상기 OCR 텍스트 전체를 집합적으로 형성하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 청구항 11에 있어서,
    상기 서버로부터 상기 OCR 텍스트의 상기 제2 부분에 대한 기계 언어번역 결과들이 수신되기 이전에, 상기 모바일 컴퓨팅 디바이스에 의해 획득된 상기 OCR 텍스트의 상기 제1 부분에 대한 기계 언어번역 결과들을 상기 모바일 컴퓨팅 디바이스의 상기 디스플레이에 출력하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  13. 컴퓨터로 구현되는 방법에 있어서,
    하나 이상의 프로세서들을 갖는 모바일 컴퓨팅 디바이스에서, 기점 언어로 된 텍스트를 포함하는 객체의 이미지를 수신하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, 상기 텍스트를 획득하기 위해 상기 이미지 상에서 OCR을 수행하기 위한 OCR 복잡도를 결정하는 단계와;
    상기 OCR 복잡도가 제1 OCR 복잡성 임계치보다 낮은 경우 상기 모바일 컴퓨팅 디바이스에서 상기 이미지 전체에 대해 OCR을 수행하는 단계와, 상기 제1 OCR 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합한 OCR 복잡도를 나타내며;
    상기 OCR 복잡도가 상기 제1 OCR 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스에서 제1 서버로 상기 이미지의 적어도 일부분을 전송하는 단계와;
    상기 제1 서버로부터 상기 모바일 컴퓨팅 디바이스에서, OCR 결과들을 수신하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, 상기 OCR 결과들에 기초하여 OCR 텍스트를 획득하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, 상기 기점 언어에서 목표어로 상기 OCR 텍스트의 기계 언어번역을 수행하기 위한 번역 복잡도를 결정하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서 제2 서버로, 상기 번역 복잡도에 기초하여 상기 OCR 텍스트의 적어도 일부분을 전송하는 단계와;
    상기 제2 서버로부터 상기 모바일 컴퓨팅 디바이스에서, 기계 언어번역 결과들을 수신하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, 상기 기계 언어번역 결과들에 기초하여 번역된 OCR 텍스트를 획득하는 단계와; 그리고
    상기 모바일 컴퓨팅 디바이스의 디스플레이에서, 상기 번역된 OCR 텍스트를 출력하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  14. 청구항 13에 있어서,
    상기 OCR 복잡도가 제2 OCR 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스로부터 상기 제1 서버로 상기 이미지의 전부를 전송하는 단계를 더 포함하며, 상기 제2 OCR 복잡성 임계치는 상기 제1 OCR 복잡성 임계치보다 높으며, 상기 제2 OCR 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합하지 않은 OCR 복잡도를 나타내며; 그리고
    상기 OCR 복잡도가 상기 제1 OCR 복잡성 임계치와 상기 제2 OCR 복잡성 임계치 사이에 있는 경우 상기 모바일 컴퓨팅 디바이스는 상기 이미지의 제1 부분에 대해 OCR을 수행하고 상기 모바일 컴퓨팅 디바이스는 상기 이미지의 제2 부분을 상기 제1 서버로 전송하며, 상기 이미지의 상기 제1 부분 및 상기 제2 부분은 상기 이미지 전체를 집합적으로 형성하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  15. 청구항 13에 있어서,
    상기 번역 복잡도가 제1 번역 복잡성 임계치보다 낮은 경우 상기 모바일 컴퓨팅 디바이스에서 상기 OCR 텍스트 전체에 대해 기계 언어번역을 수행하는 단계와, 상기 제1 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합한 번역 복잡도를 나타내며; 그리고
    상기 번역 복잡도가 상기 제1 번역 복잡성 임계치보다 높은 경우, 상기 모바일 컴퓨팅 디바이스에서 상기 제2 서버로 상기 OCR 텍스트의 적어도 일부를 전송하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  16. 청구항 15에 있어서,
    상기 번역 복잡도가 제2 번역 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스로부터 상기 제2 서버로 상기 OCR 텍스트의 전부를 전송하는 단계를 더 포함하며, 상기 제2 번역 복잡성 임계치는 상기 제1 번역 복잡성 임계치보다 높으며, 상기 제2 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합하지 않은 번역 복잡도를 나타내며; 그리고
    상기 번역 복잡도가 상기 제1 번역 복잡성 임계치와 상기 제2 번역 복잡성 임계치 사이에 있는 경우 상기 모바일 컴퓨팅 디바이스는 상기 OCR 텍스트의 제1 부분에 대해 기계 언어번역을 수행하고 상기 모바일 컴퓨팅 디바이스는 상기 OCR 텍스트의 제2 부분을 상기 제2 서버로 전송하며, 상기 OCR 텍스트의 상기 제1 부분 및 상기 제2 부분은 상기 OCR 텍스트 전체를 집합적으로 형성하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  17. 청구항 13에 있어서,
    상기 번역된 OCR 텍스트는 상기 모바일 컴퓨팅 디바이스 및 상기 제2 서버에 의한 기계 언어번역에 각각 대응하는 제1 부분 및 제2 부분을 포함하고, 그리고
    상기 모바일 컴퓨팅 디바이스의 상기 디스플레이에서 상기 번역된 OCR 텍스트를 출력하는 단계는 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 상기 제2 부분을 기다리는 동안 상기 번역된 OCR 텍스트의 상기 제1 부분을 디스플레이 하는 것을 포함하고, 그리고 상기 제2 서버로부터 상기 번역된 OCR 텍스트의 상기 제2 부분을 수신함에 응답하여, 상기 모바일 컴퓨팅 디바이스의 상기 디스플레이에서 상기 번역된 OCR 텍스트의 상기 제1 부분 및 상기 제2 부분을 후속적으로 출력하는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  18. 컴퓨터로 구현되는 방법에 있어서,
    하나 이상의 프로세서들을 갖는 모바일 컴퓨팅 디바이스에서, 기점 언어로 된 텍스트를 획득하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, 상기 텍스트의 상기 기점 언어를 결정하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, 상기 기점 언어에서 목표어로의 상기 텍스트의 기계 언어번역을 수행하기 위한 번역 복잡도를 결정하는 단계와;
    상기 번역 복잡도가 제1 번역 복잡성 임계치보다 낮은 경우, 상기 모바일 컴퓨팅 디바이스에서 상기 텍스트 전체에 대해 기계 언어번역을 수행하는 단계와;
    상기 번역 복잡도가 상기 제1 번역 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스에서 서버로 상기 텍스트의 적어도 일부분을 전송하는 단계와;
    상기 서버로부터 상기 모바일 컴퓨팅 디바이스에서, 기계 언어번역 결과들을 수신하는 단계와;
    상기 모바일 컴퓨팅 디바이스에서, 상기 기계 언어번역 결과들에 기초하여 번역된 텍스트를 획득하는 단계와; 그리고
    상기 모바일 컴퓨팅 디바이스의 디스플레이에서, 상기 번역된 텍스트를 출력하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  19. 청구항 18에 있어서,
    상기 제1 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합한 번역 복잡도를 나타내는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  20. 청구항 18에 있어서,
    상기 번역 복잡도가 제2 번역 복잡성 임계치보다 높은 경우 상기 모바일 컴퓨팅 디바이스로부터 상기 서버로 상기 텍스트의 전부를 전송하는 단계를 더 포함하며, 상기 제2 번역 복잡성 임계치는 상기 제1 번역 복잡성 임계치보다 높은 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  21. 청구항 20에 있어서,
    상기 제2 번역 복잡성 임계치는 상기 모바일 컴퓨팅 디바이스 그 자체가 수행하기에 적합하지 않은 번역 복잡도를 나타내는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  22. 청구항 20에 있어서,
    상기 번역 복잡도가 상기 제1 번역 복잡성 임계치와 상기 제2 번역 복잡성 임계치 사이에 있는 경우, 상기 모바일 컴퓨팅 디바이스는 상기 텍스트의 제1 부분에 대해 기계 언어번역을 수행하고 상기 모바일 컴퓨팅 디바이스는 상기 텍스트의 제2 부분을 상기 서버로 전송하며, 상기 텍스트의 상기 제1 부분 및 상기 제2 부분은 상기 텍스트 전체를 집합적으로 형성하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  23. 청구항 22에 있어서,
    상기 서버로부터 상기 텍스트의 상기 제2 부분에 대한 기계 언어번역 결과들이 수신되기 이전에, 상기 모바일 컴퓨팅 디바이스에 의해 획득된 상기 텍스트의 상기 제1 부분에 대한 기계 언어번역 결과들을 상기 모바일 컴퓨팅 디바이스의 상기 디스플레이에 출력하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
KR1020167033289A 2014-04-29 2015-04-28 분산 광학 문자 인식 및 분산 기계 언어번역을 위한 기법들 KR101856119B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/264,327 US9514377B2 (en) 2014-04-29 2014-04-29 Techniques for distributed optical character recognition and distributed machine language translation
US14/264,327 2014-04-29
PCT/US2015/027884 WO2015168056A1 (en) 2014-04-29 2015-04-28 Techniques for distributed optical character recognition and distributed machine language translation

Publications (2)

Publication Number Publication Date
KR20160147969A KR20160147969A (ko) 2016-12-23
KR101856119B1 true KR101856119B1 (ko) 2018-05-10

Family

ID=53053145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167033289A KR101856119B1 (ko) 2014-04-29 2015-04-28 분산 광학 문자 인식 및 분산 기계 언어번역을 위한 기법들

Country Status (5)

Country Link
US (1) US9514377B2 (ko)
EP (2) EP3168756B1 (ko)
KR (1) KR101856119B1 (ko)
CN (1) CN106415605B (ko)
WO (1) WO2015168056A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240022732A (ko) 2022-08-12 2024-02-20 주식회사 쿠자피에이에스 이미지에 포함된 텍스트 번역 시스템

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101988319B1 (ko) * 2013-09-09 2019-06-12 엘지전자 주식회사 이동 단말기 및 이의 제어 방법
US10579741B2 (en) * 2016-08-17 2020-03-03 International Business Machines Corporation Proactive input selection for improved machine translation
RU2634195C1 (ru) * 2016-12-06 2017-10-24 Общество с ограниченной ответственностью "Аби Девелопмент" Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr)
RU2632427C1 (ru) 2016-12-09 2017-10-04 Общество с ограниченной ответственностью "Аби Девелопмент" Оптимизация обмена данными между клиентским устройством и сервером
KR102478396B1 (ko) * 2017-11-29 2022-12-19 삼성전자주식회사 이미지에서 텍스트를 인식할 수 있는 전자 장치
JP6852666B2 (ja) * 2017-12-26 2021-03-31 京セラドキュメントソリューションズ株式会社 画像形成装置
KR102598104B1 (ko) 2018-02-23 2023-11-06 삼성전자주식회사 외부 전자 장치로부터 텍스트 정보를 수신하는 시간 동안에 발생된 움직임을 보상하여 이미지에 포함된 객체 위에 텍스트 정보를 표시하는 방법 및 그 전자 장치
US10824917B2 (en) 2018-12-03 2020-11-03 Bank Of America Corporation Transformation of electronic documents by low-resolution intelligent up-sampling
US10963723B2 (en) * 2018-12-23 2021-03-30 Microsoft Technology Licensing, Llc Digital image transcription and manipulation
CN112988011B (zh) * 2021-03-24 2022-08-05 百度在线网络技术(北京)有限公司 取词翻译方法和装置
CN115543495A (zh) * 2021-06-30 2022-12-30 腾讯科技(深圳)有限公司 界面管理方法、装置、设备及可读存储介质
KR20230083971A (ko) * 2021-12-03 2023-06-12 주식회사 오후랩스 이미지 내에 포함된 텍스트를 번역하고 편집하는 방법 및 이를 수행하는 장치

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546538A (en) 1993-12-14 1996-08-13 Intel Corporation System for processing handwriting written by user of portable computer by server or processing by the computer when the computer no longer communicate with server
US5848386A (en) * 1996-05-28 1998-12-08 Ricoh Company, Ltd. Method and system for translating documents using different translation resources for different portions of the documents
US6285978B1 (en) * 1998-09-24 2001-09-04 International Business Machines Corporation System and method for estimating accuracy of an automatic natural language translation
US6567547B1 (en) * 1999-03-05 2003-05-20 Hewlett-Packard Company System and method for dynamically switching OCR packages
US7565008B2 (en) 2000-11-06 2009-07-21 Evryx Technologies, Inc. Data capture and identification system and process
US20030200078A1 (en) 2002-04-19 2003-10-23 Huitao Luo System and method for language translation of character strings occurring in captured image data
US20060245005A1 (en) * 2005-04-29 2006-11-02 Hall John M System for language translation of documents, and methods
BRPI0706404B1 (pt) * 2006-02-17 2019-08-27 Google Inc acesso escalável, de codificação e adaptável de modelos distribuídos
US7787693B2 (en) * 2006-11-20 2010-08-31 Microsoft Corporation Text detection on mobile communications devices
US8131536B2 (en) * 2007-01-12 2012-03-06 Raytheon Bbn Technologies Corp. Extraction-empowered machine translation
US9262409B2 (en) * 2008-08-06 2016-02-16 Abbyy Infopoisk Llc Translation of a selected text fragment of a screen
EP2189926B1 (en) * 2008-11-21 2012-09-19 beyo GmbH Method for providing camera-based services using a portable communication device of a user and portable communication device of a user
US8508787B2 (en) * 2009-11-23 2013-08-13 Xerox Corporation System and method for automatic translation of documents scanned by multifunctional printer machines
US8515185B2 (en) * 2009-11-25 2013-08-20 Google Inc. On-screen guideline-based selective text recognition
US8625113B2 (en) 2010-09-24 2014-01-07 Ricoh Company Ltd System and method for distributed optical character recognition processing
CN102622342B (zh) * 2011-01-28 2018-09-28 上海肇通信息技术有限公司 中间语系统、中间语引擎、中间语翻译系统和相应方法
US9092674B2 (en) 2011-06-23 2015-07-28 International Business Machines Corportion Method for enhanced location based and context sensitive augmented reality translation
US9424255B2 (en) 2011-11-04 2016-08-23 Microsoft Technology Licensing, Llc Server-assisted object recognition and tracking for mobile devices
CN104303177B (zh) 2012-04-25 2018-08-17 寇平公司 执行即时语音翻译的方法及耳机计算装置
US8983190B2 (en) * 2013-08-13 2015-03-17 Bank Of America Corporation Dynamic service configuration during OCR capture
CN104573685B (zh) * 2015-01-29 2017-11-21 中南大学 一种基于线性结构提取的自然场景文本检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Anand Joshi 외 5명, OCRdroid: A Framework to Digitize Text Using Mobile Phones, International Conference on Mobile Computing, Applications, and Services pp 273-292, 2010.01월,*
김규웅 외 7명, 한 - 일 기계번역 시스템의 고속 분산처리 기법, 한국정보과학회 학술발표논문집 pp. 537-540, 1991.04월*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240022732A (ko) 2022-08-12 2024-02-20 주식회사 쿠자피에이에스 이미지에 포함된 텍스트 번역 시스템

Also Published As

Publication number Publication date
CN106415605A (zh) 2017-02-15
EP3168756A1 (en) 2017-05-17
EP3168756B1 (en) 2021-08-25
WO2015168056A1 (en) 2015-11-05
US20150310291A1 (en) 2015-10-29
CN106415605B (zh) 2019-10-22
EP3138046B1 (en) 2020-03-11
EP3138046A1 (en) 2017-03-08
KR20160147969A (ko) 2016-12-23
US9514377B2 (en) 2016-12-06

Similar Documents

Publication Publication Date Title
KR101899530B1 (ko) 분산 광학 문자 인식 및 분산 기계 언어번역을 위한 기법들
KR101856119B1 (ko) 분산 광학 문자 인식 및 분산 기계 언어번역을 위한 기법들
US10796224B2 (en) Image processing engine component generation method, search method, terminal, and system
US20150149925A1 (en) Emoticon generation using user images and gestures
KR102194675B1 (ko) 번역을 위해 메시지를 콘텍스트-기반으로 그룹화하기 위한 기법
KR20160061349A (ko) 터치스크린 상에 표시되는 조치 가능한 콘텐츠
EP3234865B1 (en) Techniques for providing user image capture feedback for improved machine language translation
CN107408112B (zh) 用于翻译的协调用户词选择和所选词的上下文信息的获得
US10430040B2 (en) Method and an apparatus for providing a multitasking view
WO2017107855A1 (zh) 一种图片搜索方法及装置
US11190653B2 (en) Techniques for capturing an image within the context of a document
CN112995749A (zh) 视频字幕的处理方法、装置、设备和存储介质
KR102148352B1 (ko) 모바일 컴퓨팅 디바이스에 의해 캡처된 미디어를 전자 문서에 첨부하기 위한 기법들
US9946712B2 (en) Techniques for user identification of and translation of media
WO2017211202A1 (zh) 数据的提取方法、装置及终端设备
US20170277722A1 (en) Search service providing apparatus, system, method, and computer program
CN109657523B (zh) 一种可行驶区域检测方法和装置
US20190394156A1 (en) Methods, servers, and non-transitory computer readable record media for converting image to location data
CA3003002A1 (en) Systems and methods for using image searching with voice recognition commands
US20230215014A1 (en) Automated Image Processing System

Legal Events

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