KR102597069B1 - 포인팅에 기반한 정보 제공 방법 및 시스템 - Google Patents

포인팅에 기반한 정보 제공 방법 및 시스템 Download PDF

Info

Publication number
KR102597069B1
KR102597069B1 KR1020210052876A KR20210052876A KR102597069B1 KR 102597069 B1 KR102597069 B1 KR 102597069B1 KR 1020210052876 A KR1020210052876 A KR 1020210052876A KR 20210052876 A KR20210052876 A KR 20210052876A KR 102597069 B1 KR102597069 B1 KR 102597069B1
Authority
KR
South Korea
Prior art keywords
user
coordinates
word
image
finger
Prior art date
Application number
KR1020210052876A
Other languages
English (en)
Other versions
KR20220146058A (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 KR1020210052876A priority Critical patent/KR102597069B1/ko
Priority to CN202110691629.5A priority patent/CN115331253A/zh
Priority to JP2021104963A priority patent/JP7355785B2/ja
Publication of KR20220146058A publication Critical patent/KR20220146058A/ko
Priority to JP2023155442A priority patent/JP2024001050A/ja
Application granted granted Critical
Publication of KR102597069B1 publication Critical patent/KR102597069B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • 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
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/04Electrically-operated educational appliances with audible presentation of the material to be studied
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0018Speech coding using phonetic or linguistical decoding of the source; Reconstruction using text-to-speech synthesis

Abstract

포인팅에 기반한 정보 제공 방법 및 시스템을 개시한다. 일실시예에 따른 정보 제공 방법은 오프라인 게시물이 포함하는 문자를 인식하여 음성으로 출력하는 과정에서 사용자 입력에 따라 발생하는 트리거에 응답하여, 상기 오프라인 게시물을 촬영한 이미지상에서의 사용자 지정 좌표를 결정하는 단계, 상기 이미지상에 포함된 문자 중 상기 결정된 사용자 지정 좌표에 대응하는 단어를 결정하는 단계 및 상기 결정된 단어에 대한 추가 정보를 제공하는 단계를 포함할 수 있다.

Description

포인팅에 기반한 정보 제공 방법 및 시스템{METHOD AND SYSTEM FOR PROVIDING INFORMATION BASED ON POINTING}
아래의 설명은 포인팅에 기반한 정보 제공 방법 및 시스템에 관한 것이다.
사용자의 책(book)과 같은 오프라인 게시물에 포함된 문자를 인식하고, 인식된 문자를 음성으로 합성하여 스피커를 통해 출력함으로써, 사용자의 오프라인 게시물을 읽어주는 장치 및/또는 서비스가 존재한다. 이때, 오프라인 게시물의 텍스트에서 모르는 단어가 나왔을 때, 사용자가 모르는 단어나 보다 정확한 의미를 알고자 하는 단어 등이 존재할 수 있다. 인공지능 스피커를 활용하는 경우, 사용자는 모르는 단어를 직접 발화하여 단어의 의미를 직접 물어볼 수 있다. 또는 사용자가 모르는 단어를 다른 디바이스나 사전을 통해 직접 찾아볼 수도 있다. 이때 발화나 타이핑의 과정에서 오류가 발생할 가능성이 존재한다.
또한, 모르는 단어를 손이나 특정 포인팅 기기를 사용하여 선택하면 단어 영역이 하이라이팅되고 사전의 뜻이 제공되는 종래기술이 존재한다. 이때, 손가락 마디나 핑거팁 포인트 등을 찾아내는 기술은 이미 잘 알려져 있으며, 모바일에서 손의 제스쳐를 인지하여 특정 심볼을 캐치하는 기술도 이미 잘 알려져 있다. 또한, 다각도의 카메라와 시선의 각도를 이용하여 손 끝으로 멀리 떨어져 있는 디바이스를 조절하는 기술도 존재한다.
그러나, 촬영한 이미지에서 손가락 좌표를 얻기 위한 기존 종래기술은 속도가 상당히 오래 걸리고 이미지에서 복수의 손가락이 나타나는 경우, 많은 오류가 발생하는 문제가 있다.
[선행기술문헌]
한국공개특허 제10-2020-0049435호
사용자의 오프라인 게시물을 읽어주기 위해 오프라인 게시물에 포함된 문자를 인식하는 과정에서 손가락 좌표를 얻기 위한 트리거를 통해 문자 인식 엔진에서 손가락 좌표를 제공함으로써, 손가락 좌표에 대응하는 단어에 대한 정보를 제공할 수 있는 정보 제공 방법 및 시스템을 제공한다.
손가락 좌표에 대응하는 단어에 기반하여 사용자가 원하는 부분부터 오프라인 게시물의 읽기를 시작하도록 시작위치를 설정 가능하도록 함으로써 사용자의 편이성을 증가시킬 수 있는 정보 제공 방법 및 시스템을 제공한다.
손가락 좌표에 대응하는 단어가 포함된 문장을 복수 회 반복하여 읽어줄 수 있는 기능을 제공할 수 있는 정보 제공 방법 및 시스템을 제공한다.
적어도 하나의 프로세서를 포함하는 컴퓨터 장치의 정보 제공 방법에 있어서, 상기 적어도 하나의 프로세서에 의해, 오프라인 게시물이 포함하는 문자를 인식하여 음성으로 출력하는 과정에서 사용자 입력에 따라 발생하는 트리거에 응답하여, 상기 오프라인 게시물을 촬영한 이미지상에서의 사용자 지정 좌표를 결정하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 이미지상에 포함된 문자 중에서 상기 결정된 사용자 지정 좌표에 대응하는 단어를 결정하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 결정된 단어에 대한 추가 정보를 제공하는 단계를 포함하는 정보 제공 방법을 제공한다.
일측에 따르면, 상기 사용자 지정 좌표를 결정하는 단계는, 상기 이미지상에서 인식되는 손가락의 손톱에 대한 중앙 좌표를 상기 사용자 지정 좌표로서 결정하는 것을 특징으로 할 수 있다.
다른 측면에 따르면, 상기 사용자 지정 좌표를 결정하는 단계는, 상기 이미지상에서 인식되는 포인팅 도구의 좌표를 상기 사용자 지정 좌표로서 결정하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 이미지상에 포함된 문자는 OCR(Optical Character Reader)을 통해 적어도 하나의 문자를 포함하는 박스의 단위로 인식되고, 상기 단어를 결정하는 단계는, 상기 사용자 지정 좌표와 거리가 가장 가까운 박스에 포함된 단어를 상기 사용자 지정 좌표에 대응하는 단어로 선택하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 거리는 상기 사용자 지정 좌표와 상기 박스를 형성하는 네 개의 라인 중 하단 라인간의 거리를 포함하거나 또는 상기 사용자 지정 좌표와 상기 하단 라인의 중간점간의 거리를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 단어를 결정하는 단계는, 상기 박스에 포함된 문자들에 대한 자연어 처리(Natural Language Processing)를 통해 상기 박스에서 상기 단어를 추출하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 추가 정보를 제공하는 단계는, 온라인 사전 서비스 및 온라인 번역 서비스 중 적어도 하나를 제공하는 서버로부터 상기 결정된 단어에 대한 추가 정보를 수신하는 단계; 상기 수신된 추가 정보를 음성으로 변환하는 단계; 및 상기 변환된 음성을 출력하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 사용자 지정 좌표를 결정하는 단계는, 사용자의 발화를 통해 기설정된 의도가 인식됨에 따라 상기 트리거를 발생시키는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 사용자 지정 좌표를 결정하는 단계는, 이미지를 입력받아 이미지가 포함하는 복수의 손가락들 중 하나를 결정하도록 학습된 머신러닝 모듈로 상기 트리거에 대응하는 이미지를 입력하여 상기 트리거에 대응하는 이미지가 포함하는 복수의 손가락들 중 하나의 손가락을 결정하는 단계; 및 상기 결정된 손가락의 손가락 좌표를 상기 사용자 지정 좌표로 결정하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 단어를 결정하는 단계는, 손가락 또는 포인팅 도구에 의해 단어의 적어도 일부가 가려져서 상기 사용자 지정 좌표에 대응하는 단어가 인식되지 않는 경우, 상기 오프라인 게시물을 촬영한 이전 이미지에서 상기 사용자 지정 좌표에 대응하는 단어를 인식하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 정보 제공 방법은, 상기 적어도 하나의 프로세서에 의해, 상기 결정된 단어의 위치를 상기 오프라인 게시물에 대한 읽기를 위한 시작위치로 지정하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 시작위치부터 인식된 문자를 음성으로 출력하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 정보 제공 방법은, 상기 적어도 하나의 프로세서에 의해, 상기 결정된 단어를 포함하는 문장을 인식하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 인식된 문장을 복수 회 반복하여 음성으로 출력하는 단계를 더 포함할 수 있다.
컴퓨터 장치와 결합되어 상기 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.
상기 방법을 컴퓨터 장치에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체를 제공한다.
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 오프라인 게시물이 포함하는 문자를 인식하여 음성으로 출력하는 과정에서 사용자 입력에 따라 발생하는 트리거에 응답하여, 상기 오프라인 게시물을 촬영한 이미지상에서의 사용자 지정 좌표를 결정하고, 상기 이미지상에 포함된 문자 중에서 상기 결정된 사용자 지정 좌표에 대응하는 단어를 결정하고, 상기 결정된 단어에 대한 추가 정보를 제공하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.
사용자의 오프라인 게시물을 읽어주기 위해 오프라인 게시물에 포함된 문자를 인식하는 과정에서 손가락 좌표를 얻기 위한 트리거를 통해 문자 인식 엔진에서 손가락 좌표를 제공함으로써, 손가락 좌표에 대응하는 단어에 대한 정보를 제공할 수 있다.
손가락 좌표에 대응하는 단어에 기반하여 사용자가 원하는 부분부터 오프라인 게시물의 읽기를 시작하도록 시작위치를 설정 가능하도록 함으로써 사용자의 편이성을 증가시킬 수 있다.
손가락 좌표에 대응하는 단어가 포함된 문장을 복수 회 반복하여 읽어줄 수 있는 기능을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 트래픽 제어 시스템의 예를 도시한 도면이다.
도 4 내지 도 6은 본 발명의 일실시예에 있어서, 손가락이 가리키는 단어에 대한 정보를 제공하는 과정의 예를 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 정보 제공 방법의 예를 도시한 흐름도이다.
도 8은 본 발명의 일실시예에 있어서, 하나의 손가락이 포인팅되어 있으며, 단어가 명확하게 인식 가능한 경우의 예를 도시한 이미지이다.
도 9는 본 발명의 일실시예에 있어서, 복수의 손가락이 포인팅되어 있으며, 단어가 명확하게 인식 가능한 경우의 예를 도시한 이미지이다.
도 10은 본 발명의 일실시예에 있어서, 하나의 손가락이 포인팅되어 있어서, 문자를 가렸으나 단어를 인식 가능한 경우의 예를 도시한 이미지이다.
도 11은 본 발명의 일실시예에 있어서, 복수의 손가락이 포인팅되어 있으며, 문자를 가린 경우의 예를 도시한 이미지이다.
도 12는 본 발명의 일실시예에 있어서, 시작위치를 설정하는 과정의 예를 도시한 도면이다.
도 13은 본 발명의 일실시예에 있어서, 반복 영역을 설정하는 과정의 예를 도시한 도면이다.
도 14 및 도 15는 본 발명의 일실시예에 있어서, 반복영역을 설정하는 다른 예를 도시한 도면들이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
본 발명의 실시예들에 따른 정보 제공 시스템은 적어도 하나의 컴퓨터 장치에 의해 구현될 수 있으며, 본 발명의 실시예들에 따른 정보 제공 방법은 정보 제공 시스템을 구현하는 적어도 하나의 컴퓨터 장치를 통해 수행될 수 있다. 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 실시예들에 따른 정보 제공 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 정보 제공 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다. 또한, 도 1의 네트워크 환경은 본 실시예들에 적용 가능한 환경들 중 하나의 예를 설명하는 것일 뿐, 본 실시예들에 적용 가능한 환경이 도 1의 네트워크 환경으로 한정되는 것은 아니다.
복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 일례로 도 1에서는 전자 기기(110)의 예로 스마트폰의 형상을 나타내고 있으나, 본 발명의 실시예들에서 전자 기기(110)는 실질적으로 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있는 다양한 물리적인 컴퓨터 장치들 중 하나를 의미할 수 있다.
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 예를 들어, 서버(150)는 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 서비스(일례로, 컨텐츠 제공 서비스, 그룹 통화 서비스(또는 음성 컨퍼런스 서비스), 메시징 서비스, 메일 서비스, 소셜 네트워크 서비스, 지도 서비스, 번역 서비스, 금융 서비스, 결제 서비스, 검색 서비스 등)를 제공하는 시스템일 수 있다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다. 앞서 설명한 복수의 전자 기기들(110, 120, 130, 140) 각각이나 서버들(150, 160) 각각은 도 2를 통해 도시된 컴퓨터 장치(200)에 의해 구현될 수 있다.
이러한 컴퓨터 장치(200)는 도 2에 도시된 바와 같이, 메모리(210), 프로세서(220), 통신 인터페이스(230) 그리고 입출력 인터페이스(240)를 포함할 수 있다. 메모리(210)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(210)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(200)에 포함될 수도 있다. 또한, 메모리(210)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(210)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(210)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(230)를 통해 메모리(210)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(170)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(200)의 메모리(210)에 로딩될 수 있다.
프로세서(220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(210) 또는 통신 인터페이스(230)에 의해 프로세서(220)로 제공될 수 있다. 예를 들어 프로세서(220)는 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 인터페이스(230)은 네트워크(170)를 통해 컴퓨터 장치(200)가 다른 장치(일례로, 앞서 설명한 저장 장치들)와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(200)의 프로세서(220)가 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(230)의 제어에 따라 네트워크(170)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(170)를 거쳐 컴퓨터 장치(200)의 통신 인터페이스(230)를 통해 컴퓨터 장치(200)로 수신될 수 있다. 통신 인터페이스(230)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(220)나 메모리(210)로 전달될 수 있고, 파일 등은 컴퓨터 장치(200)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
입출력 인터페이스(240)는 입출력 장치(250)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(240)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(250)는 컴퓨터 장치(200)와 하나의 장치로 구성될 수도 있다.
또한, 다른 실시예들에서 컴퓨터 장치(200)는 도 2의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(200)는 상술한 입출력 장치(250) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
도 3은 본 발명의 일실시예에 따른 트래픽 제어 시스템의 예를 도시한 도면이다. 도 3은 정보 제공 장치(300), 사용자(310), 오프라인 게시물(320) 및 서버(330)를 도시하고 있다. 도 3에서는 하나의 서버(330)를 도시하고 있으나, 서비스별로 다수의 서버들이 존재할 수도 있다.
정보 제공 장치(300)는 사용자(310)의 오프라인 게시물(320)에 포함된 문자를 인식하고, 인식된 문자를 음성으로 변환하여 출력함으로써, 사용자(310)에게 오프라인 게시물(320)을 읽어주는 물리적인 전자 장치일 수 있다. 정보 제공 장치(300)는 일례로, 도 2를 통해 설명한 컴퓨터 장치(200)에 의해 구현될 수 있으며, 오프라인 게시물(320)에 포함된 문자를 인식하기 위해 카메라(301)를, 음성을 출력하기 위해 스피커(302)를 포함할 수 있으며, 실시예에 따라 사용자(310)의 음성 기반 명령을 수신하기 위해 마이크(303)를 포함할 수 있다. 이러한 카메라(301), 스피커(302) 및 마이크(303) 등은 앞서 도 2를 통해 설명한 입출력 장치(250)에 포함될 수 있다. 실시예에 따라 정보 제공 장치(300)는 오프라인 게시물(320)을 읽어주기 위한 전용 장치로 구성될 수도 있다. 일례로, 정보 제공 장치(300)는 조명 형태로 제작되거나 인공지능 스피커의 형태로 제작된 장치일 수 있다.
여기서, 오프라인 게시물(320)은 책으로 한정되는 것은 아니며, 잡지나 전단지 등 문자를 포함하는 오프라인상의 게시물이라면 한정되지 않는다.
정보 제공 장치(300)는 문자를 인식하기 위해 OCR(Optical Character Reader) 기술을 활용할 수 있다. 일례로, 정보 제공 장치(300)는 카메라를 통해 입력된 이미지에서 문자를 인식하는 OCR 엔진(304)을 포함할 수 있다. OCR 기술 자체에 대해서는 이미 잘 알려져 있기 때문에 구체적인 설명은 생략한다. 다만, 본 발명의 실시예들에서는 OCR 엔진(304)에서 단순히 문자만을 인식하는 것이 아니라, 특정한 트리거에 응답하여 손가락 좌표를 더 인식하여 제공할 수 있다.
이때, OCR 엔진(304)은 손가락의 손톱을 인식하고, 이미지상에서의 손톱의 중앙 좌표를 손가락 좌표로서 추출할 수 있다. 또한, 오프라인 게시물(320)과 손가락의 다양한 위치를 해결하기 위해 다량의 학습 이미지를 이용하여 학습된 머신러닝이 활용될 수 있다. 일례로, 머신러닝 모듈은 복수의 손가락들이 포함된 이미지상에서 어느 손가락이 정답인가에 대한 정보를 포함하는 다수의 학습 이미지들을 이용하여 복수의 손가락들 중 하나의 손가락을 결정하도록 학습될 수 있다. 이 경우, OCR 엔진(304)은 손가락 좌표를 계산하기 위한 이미지를 학습된 머신러닝 모듈로 입력하고, 학습된 머신러닝 모듈에 의해 특정 손가락이 결정되면, 결정된 손가락에 대한 손가락 좌표를 계산하여 제공할 수 있다. 이상에서는 손톱의 중앙 좌표를 활용하는 예를 설명하였으나, 이에 한정되는 것은 아니다. 일례로, 손가락 좌표는 손가락의 끝부분 좌표를 포함할 수도 있다.
한편, 트리거는 다양한 방식으로 구현될 수 있다. 일례로, 트리거는 사용자(310)의 음성 발화에 기반하여 발생될 수 있다. 사용자(310)가 오프라인 게시물(320)의 특정 단어 아래에 손가락을 놓고 트리거를 위한 발화(일례로, "헤이, 이 단어 무슨 뜻이야?", 여기서 '헤이'는 정보 제공 장치(300)의 인공지능 스피커를 활성화시키기 위해 미리 설정된 발화의 하나의 예시를 의미하며, 설정에 따라 달라질 수 있음.)를 하는 경우, 정보 제공 장치(300)는 마이크(303)를 통해 사용자(310)의 발화를 인식함으로써, 트리거를 발생시킬 수 있다. 이 경우, OCR 엔진(304)은 발생된 트리거에 응답하여 손가락 좌표를 인식 및 제공할 수 있다. 다른 예로, 트리거는 정보 제공 장치(300)가 제공하는 특정 버튼 입력 등을 통해 발생될 수도 있다. 특정 단어에 대한 추가적인 정보를 제공받기를 원한다는 사용자(310)의 의도를 인식할 수 있는 방법이라면 한정되지 않고 트리거의 발생을 위한 이벤트로서 활용될 수 있다. 예를 들어, 정보 제공 장치(300)는 오프라인 게시물(320)의 페이지 넘김을 인지하기 위해, 오프라인 게시물(320)을 주기적으로 촬영할 수 있다. 이때, 정보 제공 장치(300)는 촬영된 이미지에서 특정한 포인팅 도구나 마크가 인식되는 경우, 트리거를 발생시킬 수 있다.
오프라인 게시물(320)을 읽어주는 과정에서 OCR 엔진(304)은 카메라(301)를 통해 입력되는 오프라인 게시물(320)에 대한 이미지들 중 적어도 일부에 대한 문자 인식 결과를 제공할 수 있다. 이 과정에서 트리거가 발생하면, OCR 엔진(304)은 트리거와 연관된 이미지의 문자 인식 결과와 함께 인식된 손가락 좌표를 제공할 수 있다. 이 경우, 정보 제공 장치(300)는 제공된 손가락 좌표에 대응하는 단어를 특정할 수 있으며, 특정된 단어에 대한 추가 정보를 제공할 수 있다. 추가 정보는 정보 제공 장치(300)의 로컬 저장소에 저장된 정보에 기반하여 생성될 수도 있으나, 바람직하게는 인터넷 등을 통해 연결되는 서버(330)를 통해 얻어지는 정보에 기반하여 생성될 수도 있다. 일례로, 서버(330)는 온라인 사전 서비스를 제공하는 서버이거나 또는 온라인 번역 서비스를 제공하는 서버일 수 있다. 이 경우, 정보 제공 장치(300)는 서버(330)로부터 단어의 사전적 의미에 대한 정보나 단어의 번역 정보를 획득할 수 있고, 획득한 정보에 기반하여 사용자(310)에게 제공할 추가 정보를 생성 및 제공할 수 있다.
일례로, 정보 제공 장치(300)는 추가 정보를 음성으로 변환한 후, 변환된 음성을 스피커(302)를 통해 출력함으로써 추가 정보를 사용자(310)에게 제공할 수 있다. 추가 정보를 음성으로 변환하는 것은 이미 잘 알려진 TTS(Text To Speech) 기술을 활용하여 이루어질 수 있다.
한편, 실시예에 따라 OCR 엔진(304)의 문자 인식 및 손가락 좌표 제공, 사용자(310)의 발화의 인식, 및/또는 추가 정보의 음성으로의 변환 등은 서버(330)에서 제공하는 서비스를 통해 처리될 수도 있다. 일례로, 정보 제공 장치(300)는 카메라(302)를 통해 입력되는 이미지들 중 적어도 일부와 트리거를 서버(330)로 전송할 수 있고, 서버(330)에서 이미지가 포함하는 문자의 인식 및 손가락 좌표의 생성 등이 이루어질 수 있다. 이 경우, 정보 제공 장치(300)는 서버(330)로부터 문자 인식 결과, 손가락 좌표 등을 수신하여 활용할 수 있다. 이와 유사하게 사용자(310)의 발화의 인식이나 추가 정보의 음성으로의 변환 등이 서버(330)를 통해 처리될 수도 있다. 다시 말해, 본 명세서에서 정보 제공 장치(300)가 특정 동작을 처리(일례로, 사용자(310)의 발화 인식)한다는 표현은 정보 제공 장치(300)가 서버(330)를 통해 특정 동작을 처리하는 것을 배제하는 것이 아니다.
한편, OCR 엔진(304)은 문자 인식 결과로 인식된 텍스트 단위에 박스(box)를 설정하여 제공한다. 이때, OCR 엔진(304)이 문자 인식 결과와 손가락 좌표를 제공하면, 정보 제공 장치(300)는 손가락 좌표와 거리가 가장 가까운 박스의 단어를 사용자(310)가 의도한 단어로 결정할 수 있다. 이때, 정보 제공 장치(300)는 박스상의 특정 위치와 손가락 좌표간의 거리를 측정할 수 있다. 일례로, 정보 제공 장치(300)는 박스의 하단 라인의 중간점와 손가락 좌표간의 거리를 측정할 수 있다. 다른 예로, 정보 제공 장치(300)는 손가락 좌표와 박스의 하단 라인간의 거리를 측정할 수 있다. 점과 점 간의 거리 또는 점과 선간의 거리를 측정하는 방법은 이미 잘 알려져 있기 때문에 구체적인 설명은 생략한다.
한편, OCR 엔진(304)은 문자 인식 결과로 인식된 텍스트 단위에 박스(box)를 설정하여 제공한다. 이때, 박스 단위가 반드시 단어 단위는 아니기 때문에 정보 제공 장치(300)는 자연어 처리(Natural Language Processing) 교정 결과를 통한 띄어쓰기 단위의 단어를 찾아 인식할 수 있다. 한편, 하나의 박스가 다수의 단어를 포함하는 경우에는 인식된 다수의 단어 중 손가락 좌표에 가장 가까운 단어를 선택할 수도 있다.
또한, 트리거에 대응하는 이미지에서 사용자(310)의 손가락이 인식할 단어의 적어도 일부를 가리고 있는 경우가 존재할 수 있다. 이 경우, 정보 제공 장치(300)는 사용자(310)에게 추가 정보를 제공할 단어를 얻기가 어렵다. 이를 해결하기 위해, 정보 제공 장치(300)는 이전 이미지들에서 손가락에 대응하는 단어를 인식할 수도 있다. 일례로, 손가락 좌표가 얻어진 상태에서 손가락 좌표에 대응하는 박스상의 단어를 인식할 수 없는 경우, 정보 제공 장치(300)는 이전 이미지들에서 손가락 좌표에 대응하는 박스로부터 단어의 인식을 다시 시도할 수 있다.
도 4 내지 도 6은 본 발명의 일실시예에 있어서, 손가락이 가리키는 단어에 대한 정보를 제공하는 과정의 예를 도시한 도면이다.
도 4는 사용자(일례로 도 3의 사용자(310))가 오프라인 게시물(410)상의 특정 단어를 손가락으로 가리킨 상태에서 "헤이, 이 단어 무슨 뜻이야?"와 같이 발화함에 따라 정보 제공 장치(300)가 카메라(302)를 통해 촬영한 이미지(400)의 예를 나타내고 있다.
도 5는 정보 제공 장치(300)가 OCR 엔진(304)을 통해 이미지(400)에서 손가락 좌표를 결정하는 과정의 예를 나타내고 있다. 여기서, 손가락 좌표는 이미지(400)상에서의 좌표일 수 있으며, 손톱의 중심 좌표일 수 있으나 이에 한정되는 것은 아니다.
도 6은 정보 제공 장치(300)가 OCR 엔진(304)을 통해 제공되는 문자 인식 결과와 손가락 좌표에 기반하여 손가락 좌표에 가장 가까운 단어를 결정하는 과정의 예를 나타내고 있다. 본 실시예에서는 단어 "meet"가 손가락 좌표와 가장 가까운 단어로 결정될 수 있다. 이미 설명한 바와 같이, 정보 제공 장치(300)는 박스의 하단 선의 중심 위치(이미지(400)상에서의 위치)와 손가락 좌표간의 거리에 기반하여 특정 박스를 선택할 수 있으며, 선택된 박스가 포함하는 단어를 손가락 좌표에 대응하는 단어로 결정할 수 있다. 다만 이미 설명한 바와 같이, 박스의 위치가 하단 선의 중심 위치로 한정되는 것은 아니다.
사용자가 의도한 단어가 결정되면, 정보 제공 장치(300)는 서버(330)를 통해 결정된 단어의 사전적 의미나 번역 결과 등을 검색하여 결정된 단어에 대한 추가 정보를 생성할 수 있으며, 생성된 추가 정보를 음성으로 변환하여 사용자에게 제공할 수 있다.
도 7은 본 발명의 일실시예에 따른 정보 제공 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 정보 제공 방법은 컴퓨터 장치(200)에 의해 수행될 수 있다. 이때, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 7의 방법이 포함하는 단계들(710 내지 730)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다.
단계(710)에서 컴퓨터 장치(200)는 오프라인 게시물이 포함하는 문자를 인식하여 음성으로 출력하는 과정에서 사용자 입력에 따라 발생하는 트리거에 응답하여, 오프라인 게시물을 촬영한 이미지상에서의 손가락 좌표를 결정할 수 있다. 일례로, 컴퓨터 장치(200)는 이미지상에서 인식되는 손가락의 손톱에 대한 중앙 좌표를 상기 손가락 좌표로서 결정할 수 있다. 다만, 이는 하나의 예시일 뿐, 손가락의 끝부분을 손가락 좌표로 활용하는 등 다양한 실시예가 가능함을 쉽게 이해할 수 있을 것이다.
한편, 컴퓨터 장치(200)는 사용자의 발화를 통해 기설정된 의도가 인식됨에 따라 트리거를 발생시킬 수 있다. 앞선 예시에서는 "헤이, 이 단어 무슨 뜻이야?"와 같은 특정 발화를 이용하는 예를 설명하였으나, 동일한 의도의 다른 표현(일례로, "헤이, 이 단어의 의미가 뭐야?")을 통해서도 트리거가 발생될 수 있다. 표현의 의도를 결정하는 기술은 이미 잘 알려져 있다.
또한, 이미지에는 복수 개의 손가락들이 인식될 수도 있다. 이때, 오프라인 게시물의 영역을 벗어난 손가락이나, 손가락이 아닌 객체(일례로, 발가락) 등은 인식에서 제외될 수 있다. 또한, 오프라인 게시물이 포함하는 텍스트에서 일정 거리 이상 떨어진 위치의 손가락도 인식에서 제외될 수 있다. 만약, 오프라인 게시물이 포함하는 텍스트에서 일정 거리 이내에 위치한 손가락이 복수 개가 인식되는 경우, OCR 엔진은 인식된 복수 개의 손가락 각각의 좌표를 출력할 수 있다. 이 경우, 컴퓨터 장치(200)는 좌표와 텍스트간 거리에 기반하여 OCR 엔진이 출력하는 복수의 좌표들 중에서 사용자의 의도에 맞는 좌표를 결정할 수 있다.
한편, 컴퓨터 장치(200)는 이미지를 입력받아 이미지가 포함하는 복수의 손가락들 중 하나를 결정하도록 학습된 머신러닝 모듈로 트리거에 대응하는 이미지를 입력하여 하나의 손가락을 결정할 수 있으며, 결정된 손가락의 손가락 좌표를 결정할 수도 있다. 이러한 머신러닝 모듈은 하나의 이미지상에 손가락이 다수 존재하는 경우에 사용자가 의도하는 손가락을 결정하기 위해 사용될 수 있다. 실시예에 따라 OCR 엔진은 인식되는 손가락들 각각에 대한 손가락 좌표를 결정하고, 이후 머신러닝 모듈을 이용하여 손가락 좌표들 중에서 하나의 손가락 좌표를 선택할 수도 있다. 이 경우, 머신러닝 모듈은 이미지, 복수의 손가락 좌표 및 정답 손가락 좌표가 포함된 학습 이미지를 통해 복수의 손가락 좌표들 중에서 하나의 손가락 좌표를 출력하도록 학습될 수도 있다.
단계(720)에서 컴퓨터 장치(200)는 이미지상에 포함된 문자 중에서 결정된 손가락 좌표에 대응하는 단어를 결정할 수 있다. 일례로, 이미 설명한 바와 같이, 이미지상에 포함된 문자는 OCR을 통해 적어도 하나의 문자를 포함하는 박스의 단위로 인식될 수 있다. 이 경우, 컴퓨터 장치(200)는 손가락 좌표와 거리가 가장 가까운 박스에 포함된 단어를 상기 손가락 좌표에 대응하는 단어로 선택할 수 있다. 여기서, 거리는 손가락 좌표와 박스를 형성하는 네 개의 라인 중 하단 라인간의 거리를 포함하거나 또는 손가락 좌표와 하단 라인의 중간점간의 거리를 포함할 수 있다. 또한, 컴퓨터 장치(200)는 박스에 포함된 문자들에 대한 자연어 처리(Natural Language Processing)를 통해 박스에서 단어를 추출할 수 있다. 이는 박스가 단어 단위로 문자들을 구분하지 않는 경우에 활용될 수 있다.
또한, 컴퓨터 장치(200)는 손가락에 의해 단어의 적어도 일부가 가려져서 손가락 좌표에 대응하는 단어가 인식되지 않는 경우, 오프라인 게시물을 촬영한 이전 이미지에서 손가락 좌표에 대응하는 단어를 인식할 수 있다.
단계(730)에서 컴퓨터 장치(200)는 결정된 단어에 대한 추가 정보를 제공할 수 있다. 일례로, 컴퓨터 장치(200)는 온라인 사전 서비스 및 온라인 번역 서비스 중 적어도 하나를 제공하는 서버로부터 결정된 단어에 대한 추가 정보를 수신할 수 있다. 이때, 컴퓨터 장치(200)는 수신된 추가 정보를 음성으로 변환할 수 있으며, 변환된 음성을 출력함으로써 추가 정보를 사용자에게 제공할 수 있다. 이미 설명한 바와 같이, 추가 정보를 음성으로 변환하는 것은 TTS 기술에 기반할 수 있으며, 음성의 출력은 컴퓨터 장치(200)가 포함하거나 또는 컴퓨터 장치(200)와 연결된 스피커를 통해 이루어질 수 있다. 또한, 실시예에 따라 컴퓨터 장치(200)는 서버를 통하지 않고, 컴퓨터 장치(200)의 로컬 저장소에 저장된 정보를 이용하여 추가 정보를 생성 및 제공할 수도 있다.
실시예에 따라 컴퓨터 장치(200)는 단계(720)에서 결정된 단어의 위치를 오프라인 게시물에 대한 읽기를 위한 시작위치로 지정하고, 시작위치부터 인식된 문자를 음성으로 출력할 수 있다. 다시 말해, 컴퓨터 장치(200)는 사용자가 손가락으로 지시한 단어부터 오프라인 게시물에 대한 읽기를 시작할 수 있다. 본 실시예에 대해서는 이후 도 12를 통해 더욱 자세히 설명한다.
다른 실시예에 따라, 컴퓨터 장치(200)는 단계(720)에서 결정된 단어를 포함하는 문장을 인식하고, 인식된 문장을 복수 회 반복하여 음성으로 출력할 수 있다. 다시 말해, 컴퓨터 장치(200)는 사용자가 손가락으로 지시한 단어를 포함하는 문장을 복수 회 반복하여 읽어줄 수 있다. 본 실시예에 대해서는 이후 도 13을 통해 더욱 자세히 설명한다.
도 8은 본 발명의 일실시예에 있어서, 하나의 손가락이 포인팅되어 있으며, 단어가 명확하게 인식 가능한 경우의 예를 도시한 이미지이다. 도 8에서는 하나의 손가락이 문자 "young"을 가리키고 있으며, OCR 엔진(304)이 해당 문자 "young"을 명확하게 인식 가능한 경우의 이미지를 나타내고 있다. 이때, OCR 엔진(304)은 일례로, 아래 표 1과 같이 문자 "young"에 대한 OCR 인식 결과와 손가락 좌표를 제공할 수 있다.
{"boundingBox":[[894,567],[966,555],[969,576],[897,588]],"confidence":1,"group":0,"isVertical":false,"subGroup":1,"text":"young"},
"fingertips":[[940,600]]},"succeeded":true}]}]
표 1에서 "boundingBox"는 이미지상에서의 박스의 네 개의 모서리의 좌표를, "confidence"는 해당 박스에 대응하여 인식된 문자의 신뢰도를, "isVertical"은 인식된 문자의 세로 방향 여부를, "text"는 해당 박스에 대응하여 인식된 문자를 각각 나타내고 있다. "group"은 한 번의 인식에서 나온 결과들을 하나의 그룹으로 묶어주기 위한 기준일 수 있으며, "subGroup"은 전체 인식 결과 내에서 정렬(sorting)과 위치적인 거리를 기반으로 클러스터링된 값으로, 해당 영역의 정확도를 판단하기 위해 사용될 수 있다. 또한, "fingertips"는 이미지상에서의 손가락의 손가락 좌표를, "succeeded"는 손가락 좌표의 인식 성공 여부를 각각 나타내고 있다. 이 경우, 정보 제공 장치(300)는 일례로 손가락 좌표 [940, 600]와 박스의 좌표 [897, 588]간의 거리를 계산할 수 있다. 정보 제공 장치(300)는 인식된 다른 박스에 대해서도 손가락 좌표와의 거리를 계산할 수 있으며, 거리가 가장 가까운 박스가 선택될 수 있다.아래 표 2는 도 8의 이미지에 대해 OCR 엔진(304)이 제공할 수 있는 전체 문자 인식 결과의 예를 나타내고 있다.
{"domain":"book","fingertips":true,"language":"kr","roi":true},"successCondition":null,"status":"OK","body":{"words":[{"boundingBox":[[819,546],[869,537],[873,560],[823,569]],"confidence":0.9989,"group":0,"isVertical":false,"subGroup":1,"text":"And"},{"boundingBox":[[872,538],[893,538],[893,560],[872,560]],"confidence":0.9985,"group":0,"isVertical":false,"subGroup":1,"text":"a"},{"boundingBox":[[889,533],[947,524],[951,547],[893,556]],"confidence":0.9998,"group":0,"isVertical":false,"subGroup":1,"text":"little"},{"boundingBox":[[948,522],[1054,511],[1057,535],[950,545]],"confidence":0.9998,"group":0,"isVertical":false,"subGroup":1,"text":"toyhouse"},{"boundingBox":[[824,574],[874,566],[878,589],[828,598]],"confidence":0.9997,"group":0,"isVertical":false,"subGroup":1,"text":"And"},{"boundingBox":[[877,567],[898,567],[898,588],[877,588]],"confidence":0.9994,"group":0,"isVertical":false,"subGroup":1,"text":"a"},{"boundingBox":[[894,567],[966,555],[969,576],[897,588]],"confidence":1,"group":0,"isVertical":false,"subGroup":1,"text":"young"},{"boundingBox":[[970,556],[1043,545],[1046,563],[972,574]],"confidence":1,"group":0,"isVertical":false,"subGroup":1,"text":"mouse"}],"fingertips":[[940,600]]},"succeeded":true}]}],"visionId":"7d2749a9-b156-4ab7-8d83-95e83161ba87"}},"intent":{"intent":"","slots":{}}},"meta":null}
도 9는 본 발명의 일실시예에 있어서, 복수의 손가락이 포인팅되어 있으며, 단어가 명확하게 인식 가능한 경우의 예를 도시한 이미지이다. 도 9에서는 하나의 손가락이 문자 "인사했어요"을 가리키고 있으나, 다른 손가락이 오프라인 게시물상에 더 존재하는 경우의 예를 나타내고 있다.이때, 아래 표 3은 도 9의 이미지에서 OCR 엔진(304)이 제공하는 문자 "인사했어요"의 인식 결과와 손가락 좌표를 나타내고 있다.
{"boundingBox":[[479,649],[537,602],[554,623],[496,670]],"confidence":1,"group":0,"isVertical":false,"subGroup":1,"text":"인사했어요."}
"fingertips":[[540,641],[465,956]]},"succeeded":true}]}],
이미 설명한 바와 같이, 손가락 좌표가 복수 개가 인식되는 경우에는 머신러닝 등을 이용하여 하나의 손가락을 결정할 수 있다. 또는 인식된 박스들의 위치에 기반하여 거리가 일정 거리 이상인 손가락 좌표들은 미리 제외될 수도 있다.도 10은 본 발명의 일실시예에 있어서, 하나의 손가락이 포인팅되어 있어서, 문자를 가렸으나 단어를 인식 가능한 경우의 예를 도시한 이미지이다. 도 10에서는 하나의 손가락이 문자 "faster!"를 일부 가렸으나 단어의 인식이 가능한 경우의 예를 나타내고 있다.
이때, 아래 표 4는 도 10의 이미지에서 OCR 엔진(304)이 제공하는 문자 "itfaster"의 인식 결과와 손가락 좌표를 나타내고 있다.
{"boundingBox":[[965,239],[1047,151],[1070,173],[988,261]],"confidence":0.9925,"group":0,"isVertical":false,"subGroup":9,"text":"itfaster!"}
"fingertips":[[1035,225],[1155,469]]},"succeeded":true}]}]
한편, 도 10의 예시에서는 문자 "it faster"가 "itfaster"로 잘못 인식된 예를 나타내고 있으나, 이는 자연어 처리 등의 기술을 통해 분리될 수 있다. 이때, 이미 설명한 바와 같이 두 단어 "it"과 "faster" 중 손가락 좌표에 가장 가까운 단어인 "faster"가 선택되어 추가 정보의 제공을 위해 사용될 수 있다.도 11은 본 발명의 일실시예에 있어서, 복수의 손가락이 포인팅되어 있으며, 문자를 가린 경우의 예를 도시한 이미지이다. 도 11에서는 네 개의 손가락이 인식되고, 그 중 하나의 손가락이 문자의 일부를 가려서 단어의 인식이 어려운 경우의 예를 나타내고 있다.
이때, 아래 표 5는 도 11의 이미지에서 OCR 엔진(304)이 제공하는 문자 인식 결과와 손가락 좌표를 나타내고 있다.
{"boundingBox":[[397,622],[469,544],[500,572],[428,650]],"confidence":0.9988,"group":0,"isVertical":false,"subGroup":2,"text":"길러질까요?"},
{"boundingBox":[[472,659],[535,597],[552,613],[489,676]],"confidence":0.9386,"group":0,"isVertical":false,"subGroup":3,"text":"신기배하는 것은 당일"},
"fingertips":[[560,615],[565,1042],[495,1084],[485,1129]]},"succeeded":true}]}]
이때, 사용자가 의도한 단어는 "당연"이었으나, 표 5에서는 "당일"이라는 단어가 인식된 예를 나타내고 있다. 이 경우, 이미 설명한 바와 같이, 정보 제공 장치(300)는 머신러닝을 활용하여 네 개의 손가락 좌표들 중 하나를 선택할 수 있다. 이미 설명한 바와 같이, 인식되는 문자들과의 거리가 일정 거리 이상인 손가락 좌표들은 미리 제거될 수도 있다. 또한, 손가락에 의해 가려진 경우, 정보 제공 장치(300)는 이전 이미지들을 활용하여 문자들을 재인식할 수도 있다.실시예에 따라 정보 제공 장치(300)는 사용자에게 포인팅을 다시하거나 오프라인 게시물의 위치를 조정하는 것 등을 요구하여 인식을 다시 진행할 수도 있다.
또한, 실시예에 따라 정보 제공 장치(300)는 오프라인 게시물이 포함하는 문자를 인식하여 음성으로 출력하는 과정에서 오프라인 게시물의 특정영역부터 읽기를 시작하도록 손가락 좌표를 통해 시작위치를 설정할 수 있는 기능을 제공할 수 있다.
도 12는 본 발명의 일실시예에 있어서, 시작위치를 설정하는 과정의 예를 도시한 도면이다. 도 12는 사용자(일례로 도 3의 사용자(310))가 오프라인 게시물(1210)상의 특정 단어를 손가락으로 가리킨 상태에서 "헤이, 여기서부터 읽어줘"와 같이 발화함에 따라 정보 제공 장치(300)가 카메라(302)를 통해 촬영한 이미지(1200)의 예를 나타내고 있다. 이미 설명한 바와 같이, 정보 제공 장치(300)는 손가락 좌표를 추출할 수 있으며, 오프라인 게시물(1210)을 촬영한 이미지(1200)상에서의 손가락 좌표를 결정할 수 있으며, 이미지(1200)상에 포함된 문자 중에서 결정된 손가락 좌표에 대응하는 단어(도 12의 실시예에서는 단어 "My")를 결정할 수 있다. 이때, 정보 제공 장치(300)는 사용자의 발화 "헤이, 여기서부터 읽어줘"에 대한 응답으로 결정된 단어 "My"에서부터 읽기를 시작할 수 있다. 다시 말해, 읽기의 시작위치가 단어 "My"의 위치로 설정될 수 있다. 이미 설명한 바와 같이 정보 제공 장치(300)의 읽기는 오프라인 게시물이 포함하는 문자를 인식하여 음성으로 출력하는 과정일 수 있다. 이 경우, 도 12의 실시예에서 정보 제공 장치(300)는 시작위치인 단어 "My"에서부터 "My name is Gil-dong Hong. What's your name."에 대응하는 음성을 출력할 수 있다.
만약, 손가락 좌표에 대응하는 단어가 "Gil-dong"이라면, 정보 제공 장치(300)는 시작위치인 단어 "Gil-dong"에서부터 "Gil-dong Hong. What's your name."에 대응하는 음성을 출력할 수 있을 것이다.
이처럼, 본 실시예에 따르면, 오프라인 게시물의 처음부터 텍스트를 읽는 것뿐만 아니라, 사용자가 쉽고 간편하게 지정할 수 있는 시작위치부터 텍스트를 읽는 것이 가능해진다.
또 다른 실시예로 정보 제공 장치(300)는 손가락 좌표를 활용하여 사용자가 반복해서 읽어주기를 원하는 특정 영역을 식별할 수 있다. 다시 말해, 사용자는 반복해서 읽어주기를 원하는 특정 영역을 손가락 좌표를 통해 직접 지정할 수 있다.
도 13은 본 발명의 일실시예에 있어서, 반복 영역을 설정하는 과정의 예를 도시한 도면이다. 도 13은 사용자(일례로 도 3의 사용자(310))가 오프라인 게시물(1310)상의 특정 단어를 손가락으로 가리킨 상태에서 "헤이, 이 문장 3번 읽어줘"와 같이 발화함에 따라 정보 제공 장치(300)가 카메라(302)를 통해 촬영한 이미지(1300)의 예를 나타내고 있다. 이 경우, 정보 제공 장치(300)는 손가락 좌표를 추출할 수 있으며, 오프라인 게시물(1310)을 촬영한 이미지(1300)상에서의 손가락 좌표를 결정할 수 있다. 또한, 정보 제공 장치(300)는 이미지(1200)상에 포함된 문자 중에서 결정된 손가락 좌표에 대응하는 단어(도 13의 실시예에서는 단어 "meet")를 결정할 수 있다. 이때, 정보 제공 장치(300)는 사용자의 발화 "헤이, 이 문장 3번 읽어줘"에 대한 응답으로 결정된 단어 "meet"가 포함된 문장 "Nice to meet you."를 인식할 수 있으며, 인식된 문장 "Nice to meet you."에 대응하는 음성을 3회 반복하여 출력할 수 있다.
이처럼, 도 13의 실시예에 따르면, 정보 제공 장치(300)가 사용자에 의해 지정된 단어가 포함된 문장을 복수 회 반복하여 읽어주는 것이 가능해짐에 따라 다양한 학습용 기능이 추가될 수 있다.
실시예에 따라 사용자가 손가락 위치를 바꿔가면서 "헤이, 여기서부터 여기까지 3번 읽어줘"와 같이 발화할 수도 있다. 이 경우, 정보 제공 장치는 사용자의 발화에서 첫 번째 "여기"에 대응하는 제1 손가락 좌표, 그리고 사용자의 발화에서 두 번째 "여기"에 대응하는 제2 손가락 좌표를 활용하여 사용자가 반복하여 읽어주길 원하는 특정 부분을 인식할 수도 있다.
도 14 및 도 15는 본 발명의 일실시예에 있어서, 반복영역을 설정하는 다른 예를 도시한 도면들이다. 도 14 및 도 15는 사용자(일례로 도 3의 사용자(310))가 오프라인 게시물(1410)에서 손가락의 위치를 변경하면서 "헤이, 여기서부터 여기까지 3번 읽어줘"와 같이 발화한 경우의 예를 나타내고 있다. 이때, 정보 제공 장치(300)는 첫 번째 "여기"가 발화된 시점에 대응하는 제1 이미지(1400)에서 제1 손가락 좌표를 결정할 수 있으며, 두 번째 "여기"가 발화된 시점에 대응하는 제2 이미지(1500)에서 제2 손가락 좌표를 결정할 수 있다. 실시예에 따라 사용자 발화가 모두 분석된 이후에 이미지가 촬영될 수도 있다. 이 경우에는 하나의 이미지에서 인식된 두 개의 손가락 좌표를 통해 제1 손가락 좌표와 제2 손가락 좌표가 결정될 수도 있다. 이 경우, 제1 손가락 좌표와 제2 손가락 좌표 중 어느 좌표가 먼저인가는 제1, 2 손가락 좌표 사이의 텍스트를 분석하여 결정될 수 있다. 다른 실시예로, 사용자의 발화를 두 번에 걸쳐 입력받을 수도 있다. 일례로, "헤이, 여기부터"의 첫 번째 발화와 "헤이, 여기까지 3번 읽어줘"의 두 번째 발화의 두 번의 발화, 그리고 두 번의 발화 각각과 관련하여 촬영된 이미지들로부터 각각 제1 손가락 좌표와 제2 손가락 좌표가 결정될 수 있다. 또한, 정보 제공 장치(300)는 제1, 2 손가락 좌표 각각에 대응하는 단어들 [Nice, name]이 결정됨에 따라 사용자가 반복하여 읽어주길 원하는 특정 부분의 텍스트인 [Nice to meet you. My name is Gil-dong Hong. What's your name]을 인식할 수 있다. 이 경우, 정보 제공 장치(300)는 인식된 특정 부분의 텍스트인 [Nice to meet you. My name is Gil-dong Hong. What's your name]에 대응하는 음성을 3번 반복하여 출력할 수 있다.
본 실시예에서는 "여기"라는 발화를 사용하는 예를 설명하였으며, 사용자가 원하는 부분의 시작 부분과 종료 부분을 지정하기 위한 발화가 별도로 정의되어 사용될 수도 있다. 일례로, "헤이, 시작부분부터 종료부분까지 3번 읽어줘"와 같이 "시작"과 "종료"와 같은 특정 용어가 특정 부분의 텍스트를 인식하기 위한 용어로 미리 정의되어 사용될 수도 있다.
한편, 좌표의 인식을 위한 '손가락'은 펜(pen)과 같은 포인팅 도구로 치환될 수도 있다. 이러한 포인팅 도구는 좌표의 인식을 위해 제공되는 전용도구이거나, QR 코드와 같은 특정한 마크 또는 사용자가 임의로 사용하는 도구일 수 있다. 마크는 카메라의 프리뷰 단계에서 바로 위치가 인식될 수 있으며, 필요 시 트리거로 활용될 수 있다. 이 경우, 앞서 설명한 손가락 좌표는 이미지상에서 특정 포인팅 도구나 마커의 위치를 인식한 좌표를 의미할 수 있다. 예를 들어, 임의의 볼펜이 포인팅 도구로 사용되는 경우, 정보 제공 장치(300)는 이미지상에서 볼펜의 끝부분에 대한 이미지상의 좌표를 인식하여 활용할 수 있다. 전용도구는 정보 제공 장치(300)가 이미지상에서 좌표를 인식하기 용이하도록 미리 설정된 문양이나 표식 등을 포함할 수도 있다. 이 경우, 정보 제공 장치(300)는 이미지상에서 미리 설정된 문양이나 표식 등이 존재하는 위치의 좌표를 손가락 좌표로서 인식하여 활용할 수 있다. 이를 위해, 용어 "손가락 좌표"는 사용자가 지정하고자 하는 위치에 대한 좌표인 "사용자 지정 좌표"로 확장되어 사용될 수 있다.
또한, 앞선 실시예들에서는 이미지상에서 복수의 손가락들이 검출되는 경우에 머신러닝 등을 이용하여 하나의 손가락을 결정하거나 또는 인식된 박스들의 위치에 기반하여 거리가 일정 거리 이상인 손가락 좌표들은 미리 제외시키는 예를 설명하였다. 한편, 실시예에 따라서는 복수의 손가락 좌표들(사용자 지정 좌표들)이 검출되는 경우, 정보 제공 장치(300)는 복수의 손가락 좌표들 각각에 대해 우선순위를 지정할 수 있다. 일례로, 우선순위는 책을 읽는 방식에 따라 결정될 수 있다. 책을 읽는 방식이 위에서 아래로, 그리고 좌에서 우로 진행되는 경우, 손가락 좌표의 우선순위는 책의 위쪽에 위치한 손가락 좌표일수록 그리고 높이가 동일/유사하다면 책의 좌측에 위치한 손가락 좌표일수록 더 높은 우선순위를 갖도록 정보 제공 장치(300)가 복수의 손가락 좌표들에 우선순위를 설정할 수 있다. 이후 정보 제공 장치(300)는 설정된 우선순위에 따라 순차적으로 각 단어들에 대한 추가정보를 제공할 수 있다. 다만, 이 경우에도 인식된 박스들의 위치에 기반하여 거리가 일정 거리 이상인 손가락 좌표들은 미리 제외될 수 있다. 또는 문장 읽어주기를 위한 시작위치와 종료위치를 동시에 지정하기 위해 적어도 두 개의 손가락 좌표들이 동시에 활용될 수도 있다.
이와 같이, 본 발명의 실시예들에 따르면, 사용자의 오프라인 게시물을 읽어주기 위해 오프라인 게시물에 포함된 문자를 인식하는 과정에서 손가락 좌표를 얻기 위한 트리거를 통해 문자 인식 엔진에서 손가락 좌표를 제공함으로써, 손가락 좌표에 대응하는 단어에 대한 정보를 제공할 수 있다. 또한, 손가락 좌표에 대응하는 단어에 기반하여 사용자가 원하는 부분부터 오프라인 게시물의 읽기를 시작하도록 시작위치를 설정 가능하도록 함으로써 사용자의 편이성을 증가시킬 수 있다. 또한, 손가락 좌표에 대응하는 단어가 포함된 문장을 복수 회 반복하여 읽어줄 수 있는 기능을 제공할 수 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (20)

  1. 적어도 하나의 프로세서를 포함하는 컴퓨터 장치의 정보 제공 방법에 있어서,
    상기 적어도 하나의 프로세서에 의해, 사용자 입력에 따라 발생하는 트리거에 응답하여, 오프라인 게시물을 촬영한 이미지에서 상기 이미지를 분석하여 인식되는 손가락 또는 포인팅 도구의 상기 이미지상에서의 좌표를 사용자 지정 좌표로서 결정하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 이미지상에 포함된 문자 중에서 상기 사용자 지정 좌표에 대응하는 단어를 결정하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 결정된 단어에 대한 추가 정보를 제공하는 단계
    를 포함하는 정보 제공 방법.
  2. 제1항에 있어서,
    상기 좌표를 사용자 지정 좌표로서 결정하는 단계는,
    상기 이미지상에서 인식되는 손가락의 손톱에 대한 중앙 좌표를 상기 사용자 지정 좌표로서 결정하는 것을 특징으로 하는 정보 제공 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 이미지상에 포함된 문자는 OCR(Optical Character Reader)을 통해 적어도 하나의 문자를 포함하는 박스의 단위로 인식되고,
    상기 단어를 결정하는 단계는,
    상기 사용자 지정 좌표와 거리가 가장 가까운 박스에 포함된 단어를 상기 사용자 지정 좌표에 대응하는 단어로 선택하는 것을 특징으로 하는 정보 제공 방법.
  5. 제4항에 있어서,
    상기 거리는 상기 사용자 지정 좌표와 상기 박스를 형성하는 네 개의 라인 중 하단 라인간의 거리를 포함하거나 또는 상기 사용자 지정 좌표와 상기 하단 라인의 중간점간의 거리를 포함하는 것을 특징으로 하는 정보 제공 방법.
  6. 제4항에 있어서,
    상기 단어를 결정하는 단계는,
    상기 박스에 포함된 문자들에 대한 자연어 처리(Natural Language Processing)를 통해 상기 박스에서 상기 단어를 추출하는 단계
    를 포함하는 것을 특징으로 하는 정보 제공 방법.
  7. 제1항에 있어서,
    상기 추가 정보를 제공하는 단계는,
    온라인 사전 서비스 및 온라인 번역 서비스 중 적어도 하나를 제공하는 서버로부터 상기 결정된 단어에 대한 추가 정보를 수신하는 단계;
    상기 수신된 추가 정보를 음성으로 변환하는 단계; 및
    상기 변환된 음성을 출력하는 단계
    를 포함하는 것을 특징으로 하는 정보 제공 방법.
  8. 제1항에 있어서,
    상기 좌표를 사용자 지정 좌표로서 결정하는 단계는,
    사용자의 발화를 통해 기설정된 의도가 인식됨에 따라 상기 트리거를 발생시키는 단계
    를 포함하는 것을 특징으로 하는 정보 제공 방법.
  9. 제1항에 있어서,
    상기 좌표를 사용자 지정 좌표로서 결정하는 단계는,
    이미지를 입력받아 이미지가 포함하는 복수의 손가락들 중 하나를 결정하도록 학습된 머신러닝 모듈로 상기 트리거에 대응하는 이미지를 입력하여 상기 트리거에 대응하는 이미지가 포함하는 복수의 손가락들 중 하나의 손가락을 결정하는 단계; 및
    상기 결정된 손가락의 손가락 좌표를 상기 사용자 지정 좌표로 결정하는 단계
    를 포함하는 것을 특징으로 하는 정보 제공 방법.
  10. 제1항에 있어서,
    상기 단어를 결정하는 단계는,
    손가락 또는 포인팅 도구에 의해 단어의 적어도 일부가 가려져서 상기 사용자 지정 좌표에 대응하는 단어가 인식되지 않는 경우, 상기 오프라인 게시물을 촬영한 이전 이미지에서 상기 사용자 지정 좌표에 대응하는 단어를 인식하는 것을 특징으로 하는 정보 제공 방법.
  11. 제1항에 있어서,
    상기 적어도 하나의 프로세서에 의해, 상기 결정된 단어의 위치를 상기 오프라인 게시물에 대한 읽기를 위한 시작위치로 지정하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 시작위치부터 인식된 문자를 음성으로 출력하는 단계
    를 더 포함하는 정보 제공 방법.
  12. 제1항에 있어서,
    상기 적어도 하나의 프로세서에 의해, 상기 결정된 단어를 포함하는 문장을 인식하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 인식된 문장을 복수 회 반복하여 음성으로 출력하는 단계
    를 더 포함하는 정보 제공 방법.
  13. 컴퓨터 장치와 결합되어 제1항, 제2항 또는 제4항 내지 제12항 중 어느 한 항의 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  14. 제1항, 제2항 또는 제4항 내지 제12항 중 어느 한 항의 방법을 컴퓨터 장치에 실행시키기 위한 컴퓨터 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체.
  15. 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서에 의해,
    사용자 입력에 따라 발생하는 트리거에 응답하여, 오프라인 게시물을 촬영한 이미지에서 상기 이미지를 분석하여 인식되는 손가락 또는 포인팅 도구의 상기 이미지상에서의 좌표를 사용자 지정 좌표로서 결정하고,
    상기 이미지상에 포함된 문자 중에서 상기 사용자 지정 좌표에 대응하는 단어를 결정하고,
    상기 결정된 단어에 대한 추가 정보를 제공하는 것
    을 특징으로 하는 컴퓨터 장치.
  16. 제15항에 있어서,
    상기 좌표를 사용자 지정 좌표로서 결정하기 위해, 상기 적어도 하나의 프로세서에 의해,
    상기 이미지상에서 인식되는 손가락의 손톱에 대한 중앙 좌표를 상기 사용자 지정 좌표로서 결정하는 것
    을 특징으로 하는 컴퓨터 장치.
  17. 제15항에 있어서,
    상기 이미지상에 포함된 문자는 OCR(Optical Character Reader)을 통해 적어도 하나의 문자를 포함하는 박스의 단위로 인식되고,
    상기 단어를 결정하기 위해, 상기 적어도 하나의 프로세서에 의해,
    상기 사용자 지정 좌표와 거리가 가장 가까운 박스에 포함된 단어를 상기 사용자 지정 좌표에 대응하는 단어로 선택하는 것
    을 특징으로 하는 컴퓨터 장치.
  18. 제15항에 있어서,
    상기 추가 정보를 제공하기 위해 상기 적어도 하나의 프로세서에 의해,
    온라인 사전 서비스 및 온라인 번역 서비스 중 적어도 하나를 제공하는 서버로부터 상기 결정된 단어에 대한 추가 정보를 수신하고,
    상기 수신된 추가 정보를 음성으로 변환하고,
    상기 변환된 음성을 출력하는 것
    을 특징으로 하는 컴퓨터 장치.
  19. 제15항에 있어서,
    상기 적어도 하나의 프로세서에 의해,
    상기 결정된 단어의 위치를 상기 오프라인 게시물에 대한 읽기를 위한 시작위치로 지정하고,
    상기 시작위치부터 인식된 문자를 음성으로 출력하는 것
    을 특징으로 하는 컴퓨터 장치.
  20. 제15항에 있어서,
    상기 적어도 하나의 프로세서에 의해,
    상기 결정된 단어를 포함하는 문장을 인식하고,
    상기 인식된 문장을 복수 회 반복하여 음성으로 출력하는 것
    을 특징으로 하는 컴퓨터 장치.
KR1020210052876A 2021-04-23 2021-04-23 포인팅에 기반한 정보 제공 방법 및 시스템 KR102597069B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210052876A KR102597069B1 (ko) 2021-04-23 2021-04-23 포인팅에 기반한 정보 제공 방법 및 시스템
CN202110691629.5A CN115331253A (zh) 2021-04-23 2021-06-22 基于指向的信息提供方法及系统
JP2021104963A JP7355785B2 (ja) 2021-04-23 2021-06-24 ポインティングに基づく情報提供方法およびシステム
JP2023155442A JP2024001050A (ja) 2021-04-23 2023-09-21 ポインティングに基づく情報提供方法およびシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210052876A KR102597069B1 (ko) 2021-04-23 2021-04-23 포인팅에 기반한 정보 제공 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20220146058A KR20220146058A (ko) 2022-11-01
KR102597069B1 true KR102597069B1 (ko) 2023-11-01

Family

ID=83852312

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210052876A KR102597069B1 (ko) 2021-04-23 2021-04-23 포인팅에 기반한 정보 제공 방법 및 시스템

Country Status (3)

Country Link
JP (2) JP7355785B2 (ko)
KR (1) KR102597069B1 (ko)
CN (1) CN115331253A (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004199703A (ja) * 1991-02-22 2004-07-15 Leapfrog Enterprises Inc 文書解釈システム
JP2008086744A (ja) * 2006-09-04 2008-04-17 Ip Solutions Inc 情報出力装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02194470A (ja) * 1989-01-24 1990-08-01 Seiko Epson Corp 電子翻訳機
KR20110094569A (ko) * 2010-02-17 2011-08-24 최우범 일반 책자에 대한 좌표 검출 방식의 뷰어 기능을 갖는 전자책
JP5989479B2 (ja) * 2012-09-20 2016-09-07 シャープ株式会社 文字認識装置、文字認識装置の制御方法、制御プログラム、および制御プログラムを記録したコンピュータ読み取り可能な記録媒体
JPWO2015049866A1 (ja) * 2013-10-02 2017-03-09 日本電気株式会社 インターフェース装置、モジュール、制御部品、制御方法およびコンピュータプログラム
KR102124466B1 (ko) * 2018-11-22 2020-06-19 주식회사 데이터코볼트 웹툰 제작을 위한 콘티를 생성하는 장치 및 방법
KR102431663B1 (ko) * 2019-06-27 2022-08-12 네이버 주식회사 스탠드형 스마트 리딩 기기 및 그 제어 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004199703A (ja) * 1991-02-22 2004-07-15 Leapfrog Enterprises Inc 文書解釈システム
JP2008086744A (ja) * 2006-09-04 2008-04-17 Ip Solutions Inc 情報出力装置

Also Published As

Publication number Publication date
CN115331253A (zh) 2022-11-11
JP2024001050A (ja) 2024-01-09
JP2022167734A (ja) 2022-11-04
KR20220146058A (ko) 2022-11-01
JP7355785B2 (ja) 2023-10-03

Similar Documents

Publication Publication Date Title
CN110795543B (zh) 基于深度学习的非结构化数据抽取方法、装置及存储介质
CN108847241B (zh) 将会议语音识别为文本的方法、电子设备及存储介质
JP6771805B2 (ja) 音声認識方法、電子機器、及びコンピュータ記憶媒体
US8195459B1 (en) Augmentation and calibration of output from non-deterministic text generators by modeling its characteristics in specific environments
JP6278893B2 (ja) 対話型マルチモード画像検索
JP3848319B2 (ja) 情報処理方法及び情報処理装置
US9093072B2 (en) Speech and gesture recognition enhancement
KR102124466B1 (ko) 웹툰 제작을 위한 콘티를 생성하는 장치 및 방법
JP6506770B2 (ja) 音楽記号を認識するための方法および装置
US10002610B2 (en) Presentation supporting device, presentation supporting method, and computer-readable recording medium
EP2806336A1 (en) Text prediction in a text input associated with an image
CN101515456A (zh) 语音识别接口装置及其语音识别方法
KR102312993B1 (ko) 인공신경망을 이용한 대화형 메시지 구현 방법 및 그 장치
CN109637529A (zh) 基于语音的功能定位方法、装置、计算机设备及存储介质
WO2014181508A1 (en) Information processing apparatus, information processing method, and program
KR101483947B1 (ko) 핵심어에서의 음소 오류 결과를 고려한 음향 모델 변별 학습을 위한 장치 및 이를 위한 방법이 기록된 컴퓨터 판독 가능한 기록매체
KR102597069B1 (ko) 포인팅에 기반한 정보 제공 방법 및 시스템
KR20190121593A (ko) 수화 인식 시스템
Medjkoune et al. Combining speech and handwriting modalities for mathematical expression recognition
CN111489742B (zh) 声学模型训练方法、语音识别方法、装置及电子设备
KR20210066645A (ko) 스탠드형 스마트 리딩 기기 및 그 제어 방법
CN112395414A (zh) 文本分类方法和分类模型的训练方法、装置、介质和设备
Jüngling et al. Innovation Potential for Human Computer Interaction Domains in the Digital Enterprise
JP2023039544A (ja) 情報処理システム、情報処理方法及びプログラム
CN111259657A (zh) 车站名称识别方法、装置、设备及存储介质

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X601 Decision of rejection after re-examination
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2023101001264; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20230612

Effective date: 20230731

GRNO Decision to grant (after opposition)