KR101579292B1 - 범용 음성인식 제어 장치 및 제어 방법 - Google Patents

범용 음성인식 제어 장치 및 제어 방법 Download PDF

Info

Publication number
KR101579292B1
KR101579292B1 KR1020140113632A KR20140113632A KR101579292B1 KR 101579292 B1 KR101579292 B1 KR 101579292B1 KR 1020140113632 A KR1020140113632 A KR 1020140113632A KR 20140113632 A KR20140113632 A KR 20140113632A KR 101579292 B1 KR101579292 B1 KR 101579292B1
Authority
KR
South Korea
Prior art keywords
state
application program
command
recognizing
input
Prior art date
Application number
KR1020140113632A
Other languages
English (en)
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=55083982&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101579292(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 서울대학교 산학협력단 filed Critical 서울대학교 산학협력단
Priority to KR1020140113632A priority Critical patent/KR101579292B1/ko
Application granted granted Critical
Publication of KR101579292B1 publication Critical patent/KR101579292B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명에 따른 범용 음성인식 제어 장치는 수신된 음성 신호을 인식하여 텍스트(Text)로 구성된 문자열 정보를 생성하는 음성 인식부, 생성된 문자열 정보를 분석하여 제어 명령을 추출하는 명령 분석부, 추출된 제어 명령에 대응하는 응용프로그램의 상태를 인식하여 상태 정보를 생성하는 상태 인식부 및 생성된 상태 정보 및 추출된 제어 명령에 기초하여 가상 입력 신호를 생성하는 실행 제어부를 포함한다.

Description

범용 음성인식 제어 장치 및 제어 방법{APPARATUS AND METHOD FOR UNIVERSAL CONTROL USING SPEECH RECOGNITION}
본 발명은 음성 인식에 관한 기술로서, 보다 상세하게는 음성 인식을 이용한 단말 제어 방법에 관한 기술이다.
사용자의 음성을 인식하여 음성에 포함된 내용을 인식하는 음성인식 기술은 다양한 분야에 적용되어 왔다. 그리고, 음성인식 기술은 사용자의 음성을 이용하여 단말을 제어하는 음성인식 제어 기술로 발전하였다. 특히, 최근 스마트폰과 같은 모바일 단말에 음성인식 제어 기술이 적용되어 다양한 방법으로 활용되고 있다. 모바일 단말은 하드웨어 및 통신 기술이 발전함에 따라, 화자 간의 통화 데이터를 송수신하는 전화기로서의 기능을 주요 기능으로 가지는 종래의 개념에서, 다양한 응용프로그램을 통해 사용자에게 다양한 기능을 제공하는 스마트 단말의 개념으로 진화하였다. 예를 들어, MP3 플레이어 또는 동영상 플레이어 관련 응용프로그램을 통해 사용자는 MP3나 동영상을 모바일 단말을 이용하여 감상할 수 있으며, 내비게이션 응용프로그램을 통해 자동차 내비게이션으로 이용하거나, 다양한 게임 등을 즐길 수 있다.
일반적으로 모바일 단말에서는 음성 인식 기술을 이용하여 단말에 내장된 전화번호 검색 및 다이얼링과 같은 기본적인 기능을 음성을 통해 제어하는 기능을 제공하고 있다. 또한, 사용자는 모바일 단말에 탑재된 다양한 응용프로그램을 음성 명령을 통해 실행 및 제어할 수 있다.
현재 널리 사용되는 안드로이드 플랫폼 기반의 스마트폰이나 iOS 기반의 스마트폰의 경우 플랫폼 제조사 또는 단말 제조사에서 제공하는 음성인식 시스템을 이용하여 음성인식 제어기술을 구현한다. 이와 같이, 제조사들의 음성인식 시스템을 단말에 설치된 다양한 응용프로그램에서 이용하기 위해서는 제조사의 음성인식 시스템을 각각의 응용프로그램의 제어 기능과 연결하여 제공하는 방식을 필요로 한다. 하지만, 응용프로그램의 종류가 매우 다양하고 모바일 단말/플랫폼 제조사 또한 그 수가 다양하다. 따라서, 응용프로그램 개발사는 음성인식 기술을 적용하기 위해서는 각각의 응용프로그램마다 또는 각각의 제조사/플랫폼 별로 제조사의 음성인식 시스템을 연결해야 하는 어려움이 존재한다. 또한, 새로운 기능이 추가될 때마다 일일이 해당 응용프로그램이나 제어 시스템에 제조사의 음성 인식 시스템을 연결해야 하는 어려움이 있다. 이와 같은 문제점 때문에, 현재 모바일 단말에서 음성인식 기능을 효과적으로 제공하는 응용프로그램은 대부분이 단말 제조사나 플랫폼 제조사에서 직접 제공하는 응용프로그램에 한정되어 있다.
대한민국 공개특허 제10-2008-0109321호는 음성인식을 통해 모바일 단말을 제어하는 기술에 대해 개시되어 있다. 하지만, 상술한 특허는 음성인식 기능을 이용하여 단말을 제어하는 방법만을 개시하고 있을 뿐, 음성인식 제어 기술이 단말이나 플랫폼에 종속된 문제를 해결하지 못한다.
대한민국 공개특허 제10-2008-0109321호
본 발명이 해결하고자 하는 과제는 단말의 제조사나 플랫폼 제조사에 관계없이 음성인식 및 음성인식 제어 기술을 제공할 수 있는 음성인식 제어 장치 및 제어 방법을 제공하는 것이다.
본 발명에 따른 범용 음성인식 제어 장치는 수신된 음성 신호을 인식하여 텍스트(Text)로 구성된 문자열 정보를 생성하는 음성 인식부, 생성된 문자열 정보를 분석하여 제어 명령을 추출하는 명령 분석부, 추출된 제어 명령에 대응하는 응용프로그램의 상태를 인식하여 상태 정보를 생성하는 상태 인식부 및 생성된 상태 정보 및 추출된 제어 명령에 기초하여 가상 입력 신호를 생성하는 실행 제어부를 포함한다.
명령 분석부는 상기 문자열 정보를 사전에 설정된 명령어 세트와 비교하여, 문자열 정보에 포함된 제어 명령을 인지한다. 그리고, 명령 분석부는 문자열 정보에 포함된 명령이 단일 명령인지 복합 명령인지 여부를 판단하고, 복합 명령인 경우, 복합 명령에 포함된 둘 이상의 명령을 분리하고 순서대로 정렬하여 둘 이상의 명령이 순차적으로 수행될 수 있도록 제어 명령을 생성할 수 있다.
상태 인식부는 유사도 비교, 광학식 문자 판독 및 상태 변화 추적 중에서 어느 하나의 방법을 이용하여 상기 응용프로그램의 상태를 인식할 수 있다. 상태 인식부는 대응하는 응용프로그램의 현재 화면을 캡처(Capture)하여 현재 이미지를 생성하고, 생성된 현재 이미지와 사전에 설정된 레퍼런스 이미지의 유사도를 비교하여 대응하는 응용프로그램의 현재 상태를 인지한다. 그리고, 상태 인식부는 대응하는 응용프로그램의 현재 화면을 캡처(Capture)하여 현재 이미지를 생성하고, 광학식 문자 판독 기능을 이용하여 생성된 현재 이미지에서 문자를 판독하여 대응하는 응용프로그램의 현재 상태를 인지한다. 또한, 상태 인식부는 실행된 응용프로그램 각각에 대해 응용프로그램의 상태가 변할 때마다 응용프로그램의 새로운 상태를 지속적으로 저장하여 대응하는 응용프로그램의 현재 상태를 인지한다.
실행 제어부는 상태 정보에 기초하여 대응하는 응용프로그램의 현재 상태를 파악하고, 제어 명령에 따라 실제로 입력되어야 하는 사용자 입력을 구현하기 위한 가상 입력 신호를 생성한다. 가상 입력 신호는 단말에 실제 터치 입력과 동일한 터치 입력 신호를 전달하는 가상 터치 입력, 실제 물리 버튼 입력과 동일한 버튼 입력 신호를 전달하는 가상 버튼 입력 및 문자열을 입력하는 키패드 입력 중에서 적어도 하나 이상의 입력을 포함하는 시스템 레벨의 가상 입력일 수 있다. 또한, 상태 인식부가 응용프로그램의 실행 결과를 인지하고, 광학식 문자 판독 기능을 이용하여 실행 결과를 문자화하고, 실행 제어부는 상기 문자화된 실행 결과를 음성 출력함으로써, 본 발명에 따른 범용 음성인식 제어 장치는 화면에 표시된 결과를 음성으로 사용자에게 제공할 수 있다.
본 발명에 따른 범용 음성인식 제어 방법은 먼저, 수신된 음성 신호을 인식하여 텍스트(Text)로 구성된 문자열 정보를 생성하고, 생성된 문자열 정보를 분석하여 제어 명령을 추출한다. 제어 명령이 추출되면, 추출된 제어 명령에 대응하는 응용프로그램의 상태를 인식하여 상태 정보를 생성하고, 생성된 상태 정보 및 추출된 제어 명령에 기초하여 가상 입력 신호를 생성한다. 문자열 정보를 생성하는 단계는 상기 문자열 정보를 사전에 설정된 명령어 세트와 비교하여, 상기 문자열 정보에 포함된 제어 명령을 인지할 수 있다.
그리고, 범용 음성인식 제어 방법의 제어 명령을 추출하는 단계는 문자열 정보에 포함된 명령이 단일 명령인지 복합 명령인지 여부를 판단하고, 만약 복합 명령인 경우, 복합 명령에 포함된 둘 이상의 명령을 분리하고 순서대로 정렬하여 둘 이상의 명령이 순차적으로 수행될 수 있도록 제어 명령을 생성할 수 있다.
범용 음성인식 제어 방법의 대응하는 응용프로그램의 상태를 인식하여 상태 정보를 생성하는 단계는 유사도 비교, 광학식 문자 판독 및 상태 변화 추적 중에서 어느 하나의 방법을 이용할 수 있다. 유사도 비교 방법은 상기 대응하는 응용프로그램의 현재 화면을 캡처(Capture)하여 현재 이미지를 생성하고, 생성된 현재 이미지와 사전에 설정된 레퍼런스 이미지의 유사도를 비교하여 대응하는 응용프로그램의 현재 상태를 인지한다. 그리고, 광학식 문자 판독 방법은 대응하는 응용프로그램의 현재 화면을 캡처(Capture)하여 현재 이미지를 생성하고, 광학식 문자 판독 기능을 이용하여 생성된 현재 이미지에서 문자를 판독하여 대응하는 응용프로그램의 현재 상태를 인지한다.
본 발명에 따른 범용 음성인식 제어 장치 및 제어 방법은 단말의 제조사 및 플랫폼 제조사에 종속되지 않기 때문에, 다양한 응용프로그램의 종류에 관계없이 음성인식 제어 기술을 제공할 수 있다. 또한, 본 발명에 따른 음성인식 제어 장치 및 제어 방법은 응용프로그램과도 독립적으로 동작하기 때문에, 음성인식 제어 기능을 제공하지 않는 응용프로그램에 대해서도 음성인식 제어 기능을 제공할 수 있다.
도 1은 본 발명에 따른 범용 음성인식 제어 장치의 일 실시예를 나타내는 구성도이다.
도 2는 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치의 음성인식에 따른 제어 과정을 나타내는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치의 레퍼런스 이미지를 이용한 화면 인식 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치의 광학식 문자 판독 기능을 이용한 화면 인식 과정을 설명하기 위한 도면이다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치의 가상 입력 신호를 이용한 응용프로그램 제어를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치의 복합 명령 처리 과정을 설명하기 위한 도면이다.
도 7은 본 발명에 따른 범용 음성인식 제어 장치의 음성 출력 기능을 설명하기 위한 구성도이다.
도 8은 본 발명의 일 실시예에 따른 범용 음성인식 제어 방법을 나타내는 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 음성 출력 방법을 나타내는 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세하게 설명한다. 본 명세서에서 사용되는 용어 및 단어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 발명의 의도 또는 관례 등에 따라 달라질 수 있다. 따라서 후술하는 실시예에서 사용된 용어는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
도 1은 본 발명에 따른 범용 음성인식 제어 장치의 일 실시예를 나타내는 구성도이다.
도 1을 참조하면, 본 발명에 따른 범용 음성인식 제어 장치(100)는 음성 인식부(110), 명령 분석부(120), 상태 인식부(130) 및 실행 제어부(140)를 포함한다.
음성 인식부(110)는 사용자로부터 수신된 음성 신호를 인식하여 텍스트(Text)로 구성된 문자열 정보를 생성한다. 사용자는 단말의 기능을 이용/조작하기 위하여 필요로 하는 명령을 음성으로 범용 음성인식 제어 장치(100)에 전달한다. 음성 인식부(110)는 단말에 구비된 마이크와 같은 음성 입력 장치를 통해 사용자로부터 음성 신호가 수신되면, 음성 인식부(110)는 수신된 음성 신호에서 문자열을 추출하여 문자열 정보를 생성한다. 수신된 음성 신호에서 문자열을 추출하는 과정은 다양한 음성인식 기술을 제약 없이 적용할 수 있다. 음성인식 기술은 일례로서, 구글이나 다음에서 공개한 STT(Speech To Text)의 형태의 API를 활용할 수 있다. 음성 인식부(110)는 음성 신호에 기초하여 생성된 문자열 정보를 명령 분석부(120)로 전달한다.
음성 인식부(110)는 입력되는 모든 음성 신호에 대해서 문자열 정보를 추출할 수 있으며, 음성 신호 입력 이전에 사용자로부터 범용 음성인식 제어 장치(100)를 사용하기 위한 특정한 제어 입력을 수신하는 경우에만 문자열 정보를 추출할 수 있다. 예를 들어, 사용자는 사용 전에 스마트폰에 내장된 음성인식 제어 기능을 활성화시킨 후 이용할 수 있다. 음성인식 제어 기능을 활성화시키는 방법은 모바일 단말에 구비된 물리버튼을 이용하거나 터치 입력을 이용할 수 있으며, 사전에 설정된 특정한 음성 명령을 이용할 수 있다.
명령 분석부(120)는 음성 인식부(110)로부터 수신된 문자열 정보로부터 명령어 문구를 추출한다. 문자열 정보는 사용자가 의도하는 제어 명령을 포함한다. 명령 분석부(120)는 사전에 설정된 명령어 세트와 수신된 문자열 정보를 비교하여 문자열 정보에 포함된 제어 명령을 인지할 수 있다. 명령 분석부(120)는 사전에 다양한 명령어 세트를 설정하여 저장할 수 있다. 예를 들어, 실행, 동작, 작동, 재생, 정지, 소리켬, 소리끔 및 검색과 같은 목적 명령에 대한 명령어 세트를 설정할 수 있으며, 단말에 설치된 다양한 응용프로그램의 명칭 및 카테고리를 설정할 수 있다. 명령 분석부(120)에 저장된 명령어 세트는 제조사 및 개발사에서 사전에 설정할 수 있으며, 사용자가 직접 설정할 수 있다. 또한, 명령 분석부(120)에 저장된 명령어 세트는 새로운 응용프로그램이 설치되는 경우, 설치된 응용프로그램의 명칭 및 카테고리를 자동으로 설정할 수 있다.
예를 들어, "A메신저 실행"이라는 문자열 정보가 수신되면, 명령 분석부(120)는 응용프로그램 명칭인 'A메신저'와 목적 명령 '실행'이라는 제어 명령을 추출할 수 있다. 명령 분석부(120)는 수신된 문자열 정보로부터 추출된 제어 명령을 상태 인식부(130) 및 실행 제어부(140)로 전달한다.
그리고, 명령 분석부(120)는 추출된 명령어 문구에서 제어 명령을 인지하는 과정에서 제어 명령이 단일 명령인지 복합 명령 인지를 판단할 수 있다. 추출된 명령어 문구는 단일 명령만을 포함할 수 있으며, 둘 이상의 명령을 포함하는 복합 명령일 수 있다. 둘 이상의 명령을 포함하는 복합 명령인 경우, 명령 분석부(120)는 복합 명령을 둘 이상의 단일 명령으로 분리하여 순서대로 정렬하여 순차적으로 처리하도록 제어 명령을 생성한다.
상태 인식부(130)는 수신된 제어 명령에 기초하여 해당 응용프로그램의 현재 상태를 확인하고, 확인된 해당 응용프로그램의 상태 정보를 실행 제어부(140)로 전달한다. 상태 인식부(130)는 수신된 제어 명령에 포함된 응용프로그램 명칭에 따라 대응하는 응용프로그램의 현재 상태를 파악한다. 만약, 대응하는 응용프로그램이 꺼진(OFF) 상태라면, 상태 인식부(130)는 대응하는 응용프로그램이 꺼진 상태라는 상태 정보를 실행 제어부(140)로 전달한다. 만약, 대응하는 응용프로그램이 실행중인 상태라면, 상태 인식부(130)는 대응하는 응용프로그램의 현재 상태를 인지한다. 상태 인식부(130)는 응용프로그램 상태를 확인하는 시점에 최상위에서 동작 중인 응용프로그램의 식별자(Identification, ID)를 통해 기본적인 응용프로그램의 상태를 인지할 수 있다.
그리고, 상태 인식부(130)는 실행중인 응용프로그램 화면 이미지를 분석하여 응용프로그램의 상태를 인지할 수 있다. 상태 인식부(130)는 크게 세 가지 방법을 이용하여 화면 이미지를 분석할 수 있다. 첫 번째 방법은, 상태 인식부(130)가 응용프로그램의 현재 화면을 캡쳐하여 현재 이미지를 획득하고, 사전에 설정된 응용프로그램의 레퍼런스 이미지와 유사도를 비교하여 응용프로그램의 현재 상태를 인지하는 방법이다. 상태 인식부(130)는 응용프로그램의 다양한 상태를 캡처하여 레퍼런스 이미지를 저장할 수 있다. 그리고, 상태 인식부(130)는 레퍼런스 이미지와 현재 이미지를 비교하여 실행 중인 응용프로그램의 현재 상태를 인지할 수 있다.
두 번째 방법은, 상태 인식부(130)가 캡쳐된 현재 이미지에서 OCR(Optical Character Reader)과 같은 광학식 문자 판독 기능을 이용하여 화면에 포함된 문자를 인식하고, 인식된 문자에 기초하여 실행 중인 응용프로그램의 현재 상태를 인지하는 방법이다. 상태 인식부(130)는 OCR을 이용하여 화면에 표시중인 문자를 판독하고, 판독된 문자를 기 설정된 기준과 비교함으로써, 실행 중인 응용프로그램의 현재 상태를 추론할 수 있다.
세 번째 방법은, 상태 인식부(130)가 실행된 응용프로그램의 상태 변화 추적을 통해 마지막으로 전환된 상태를 기억하여 응용프로그램의 상태를 인지하는 방법이다. 단말에서 실행된 응용프로그램 각각에 대해 응용프로그램의 상태가 변할 때마다 응용프로그램의 새로운 상태를 지속적으로 저장하여, 실행 중인 응용프로그램의 현재 상태를 추론할 수 있다. 상태 인식부(130)에서 응용프로그램의 현재 상태를 추론하는 과정은 뒤에서 구체적인 실시예를 들어 설명하도록 한다. 상태 인식부(130)는 대응 응용프로그램의 현재 상태를 인지하여 상태 정보를 생성하고, 생성된 상태 정보를 실행 제어부(140)로 전달한다.
실행 제어부(140)는 상태 인식부(130)로부터 수신된 상태 정보 및 명령 분석부(120)로부터 수신된 제어 명령에 기초하여 대응 응용프로그램을 제어하기 위한 가상 입력 신호를 생성한다. 실행 제어부(140)는 수신된 상태 정보에 따라 응용프로그램의 현재 상태를 파악하고, 수신된 제어 명령에 따라 해당 제어 명령을 수행하기 위해 실제로 사용자가 행했어야 하는 동작(사용자 입력)을 결정한다. 그리고, 실행 제어부(140)는 결정된 동작에 기초하여 가상 입력 신호를 생성한다. 가상 입력 신호는 응용프로그램과 직접적으로 연동되어 응용프로그램을 직접 제어하는 신호가 아니라, 사용자가 실제 행했어야 하는 동작에 기반하여 물리버튼 입력이나 터치 입력을 시스템 레벨 가상 입력으로 제어하는 신호로서, 가상 터치 입력, 가상 버튼 입력 및 문자열 입력을 포함한다.
예를 들어, 사용자의 제어 목적이 모바일 메신저를 이용해 친구 A에게 '약속시간 확인'이라는 문자를 보내는 것이라고 가정하자. 이 경우, 모바일 메신저의 현재 상태가 친구 목록이라면, 실행 제어부(140)는 친구 A를 선택하기 위한 터치 입력, '약속시간 확인'이라는 문자열 입력과 문자를 전송하기 위한 전송 버튼에 대한 터치 입력을 결정하고, 이를 수행하기 위한 가상 입력 신호를 생성한다. 그리고, 실행 제어부(140)는 생성된 가상 입력 신호를 이용하여 사용자가 실제 물리 버튼 입력 또는 실제 터치 입력을 입력하는 것과 동일한 효과를 나타내는 가상 입력을 통해 응용프로그램을 제어한다.
본 발명에 따른 범용 음성인식 제어 장치(100)는 응용프로그램으로부터 직접 상태 정보를 전달받는 것이 아니라, 상태 인식부(130)를 통해 응용프로그램의 화면을 캡처하는 방식을 통해 대응 응용프로그램의 현재 상태를 인식할 수 있다. 또한, 본 발명에 따른 범용 음성인식 제어 장치(100)는 사용자의 음성 신호에 기초하여 응용프로그램을 제어하는 과정에서, 응용프로그램에 직접 연결하여 응용프로그램을 제어하는 것이 아니라, 가상 버튼 입력 또는 가상 터치 입력과 같은 시스템 레벨 가상 입력을 통해 응용프로그램을 제어할 수 있다. 이를 통해, 본 발명에 따른 범용 음성인식 제어 장치(100)는 응용프로그램의 개발 과정에서 음성인식 제어 기능을 고려하지 않았거나, 대응 응용프로그램과 직접적으로 연결되어 있지 않아도, 응용프로그램을 음성으로 제어할 수 있다. 따라서, 본 발명에 따른 범용 음성인식 제어 장치(100)는 응용프로그램의 음성인식 제어 기능 지원 여부에 관계없이 응용프로그램을 음성으로 제어할 수 있다.
도 2는 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치의 음성인식에 따른 제어 과정을 나타내는 흐름도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치(100)의 음성인식에 따른 제어 과정은 먼저 사용자로부터 음성 신호를 수신한다(S201). 사용자는 단말에 설치된 응용프로그램을 음성으로 제어하기 위하여 필요로 하는 명령을 음성으로 전달한다. 음성 인식부(110)는 단말에 구비된 마이크와 같은 음성 수신 장치를 이용해 음성 신호를 수신한다.
사용자로부터 음성 신호가 수신되면, 음성 인식부(110)는 수신된 음성 신호에서 문자열을 추출하여 문자열 정보를 생성한다(S202). 일반적으로, 구글이나 다음에서 공개한 STT(Speech To Text)의 형태의 API를 활용하여 수신된 음성 신호에서 문자열을 추출할 수 있다. 하지만, 음성으로부터 문자열을 추출하는 방법이 STT로 한정되는 것은 아니며, 다양한 음성 인식 방법을 제한 없이 적용할 수 있다. 음성 인식부(110)는 음성 신호에 기초하여 생성된 문자열 정보를 명령 분석부(120)로 전달한다(S203).
음성 인식부(110)로부터 문자열 정보가 수신되면, 명령 분석부(120)는 수신된 문자열 정보로부터 명령어 문구를 추출한다(S204). 명령 분석부(120)는 사전에 설정된 명령어 세트와 수신된 문자열 정보를 비교하여 문자열 정보에 포함된 제어 명령을 인지할 수 있다. 명령 분석부(120)는 사전에 다양한 명령어 세트를 설정하여 저장할 수 있다. 예를 들어, 실행, 동작, 작동, 재생, 정지, 소리켬, 소리끔 및 검색과 같은 목적 명령에 대한 명령어 세트를 설정할 수 있으며, 단말에 설치된 다양한 응용프로그램의 명칭 및 카테고리를 설정할 수 있다
다음으로, 명령 분석부(120)는 추출된 명령어 문구에 포함된 명령이 단일 명령인지 복합 명령인지 여부를 판단한다(S205). 사용자는 한 번에 하나의 명령만을 전달할 뿐만 아니라, 동시에 두 개 이상의 명령을 음성 신호로 전달할 수 있다. 따라서, 명령 분석부(120)는 판단 결과에 따라 제어 명령을 생성한다(S206). 명령 분석부(120)는 추출된 명령어 문구를 분석하여 복합 명령일 경우, 복합 명령을 단일 명령으로 분리하고, 순서대로 정렬하여 순차적으로 처리하도록 제어 명령을 생성한다. 제어 명령이 생성되면, 명령 분석부(120)는 생성된 제어 명령을 상태 인식부(130) 및 실행 제어부(140)로 전달한다(S207, S208).
명령 분석부(120)로부터 제어 명령을 전달받은 상태 인식부(130)는 수신된 제어 명령에 대응하는 대응 응용프로그의 현재 상태를 인식한다(S209). 수신된 제어 명령은 특정 응용프로그램에 대한 제어를 목적으로 한다. 명령 분석부(120)는 수신된 제어 명령에 대응하는 응용프로그램의 현재 상태를 파악한다. 명령 분석부(120)는 프로그램 식별자, 레퍼런스 이미지를 이용한 프로그램 화면 분석, OCR을 이용한 화면 판독 및 프로그램 최근 상태에 기초하여 응용프로그램의 상태를 인지할 수 있다. 상태 인식부(130)의 응용프로그램 상태 인지의 구체적인 방법은 후술하는 도 3 및 도 4에서 실시예를 들어 설명하도록 한다. 상태 인식부(130)는 대응 응용프로그램의 현재 상태를 인지하여 상태 정보를 생성하고, 생성된 상태 정보를 실행 제어부(140)로 전달한다(S210).
상태 인식부(130)로부터 상태 정보가 수신되고, 명령 분석부(120)로부터 제어 명령이 수신되면, 실행 제어부(140)는 수신된 상태 정보 및 수신된 제어 명령에 기초하여 대응 응용프로그램을 제어하기 위한 가상 입력 신호를 생성한다(S211). 실행 제어부(140)는 수신된 상태 정보에 따라 응용프로그램의 현재 상태를 파악하고, 수신된 제어 명령에 따라 해당 제어 명령을 수행하기 위해 실제로 사용자가 행했어야 하는 동작(사용자 입력)을 결정한다. 그리고, 실행 제어부(140)는 결정된 동작에 기초하여 가상 입력 신호를 생성한다. 가상 입력 신호는 응용프로그램과 직접적으로 연동되어 응용프로그램을 직접 제어하는 신호가 아니라, 사용자가 실제 행했어야 하는 동작에 기반하여 물리버튼 입력이나 터치 입력을 시스템 레벨 가상 입력으로 제어하는 신호로서, 가상 터치 입력, 가상 버튼 입력 및 문자열 입력을 포함한다.
도 3은 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치의 레퍼런스 이미지를 이용한 화면 인식 과정을 설명하기 위한 도면이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치(100)의 상태 인식부(130)는 응용프로그램의 상태를 인식하기 위한 방법의 하나로 레퍼런스 이미지를 이용한 화면 인식 방법을 사용할 수 있다. 레퍼런스 이미지를 이용한 화면 인식 방법은 사전에 설정된 응용프로그램의 레퍼런스 이미지와 캡처된 현재 화면 이미지의 유사도를 비교하여 응용프로그램의 현재 상태를 인지한다.
도 1 및 도 3에서는 내비게이션(Navigation) 응용프로그램을 일례로 레퍼런스 이미지를 이용한 화면 인식 방법을 설명한다. 상태 인식부(130)는 사전에 내비게이션 응용프로그램이 여러 상태에서 나타내는 화면을 레퍼런스 이미지(310)로 설정한다. 설정된 레퍼런스 이미지(310)는 내비게이션의 여러 상태 화면으로, 목적지 검색 화면(311), 경로탐색 화면(312), 메뉴 화면(313) 및 지도 화면(314) 등을 포함할 수 있다. 그리고, 상태 인식부(130)는 제어 명령이 수신되면, 수신된 제어 명령에 대응하는 응용프로그램의 상태를 파악한다. 만약, 아무런 응용프로그램이 실행되고 있지 않거나, 내비게이션이 아닌 응용프로그램이 실행 중이라면, 상태 인식부(130)는 현재 내비게이션이 실행 중이지 않다는 상태 정보를 실행 제어부(140)로 전달한다.
현재 실행중인 응용프로그램이 내비게이션 응용프로그램이라면, 상태 인식부(130)는 실행중인 내비게이션 응용프로그램의 화면을 캡처하여 현재 이미지(320)를 생성한다. 그리고, 상태 인식부(130)는 생성된 현재 이미지(320)를 레퍼런스 이미지(310)와 비교하여 유사도를 판단한다. 일반적으로 각각의 응용프로그램은 동일한 상태의 화면에서 세부 내용에 다소의 차이가 있더라도 화면의 전체적인 레이아웃은 일정하게 유지되기 때문에, 현재 이미지(320)와 동일한 상태의 레퍼런스 이미지인 가 가장 유사도가 높게 나타날 수 있다. 이를 통해, 상태 인식부(130)는 현재 응용프로그램의 상태를 추론할 수 있다. 도 3의 실시예에서 현재 이미지(320)와 레퍼런스 이미지(310)를 비교한 결과, 현재 이미지(320)는 메뉴 화면(313)와 가장 유사도가 높게 나타난다. 따라서, 상태 인식부(130)는 내비게이션 응용프로그램의 현재 상태가 메뉴 화면인 것으로 판단하고, 이를 포함하는 상태 정보를 실행 제어부(140)로 전달한다. 실행 제어부(140)는 수신된 상태 정보를 통해 현재 실행중인 대응 응용프로그램의 상태가 메뉴 화면인 것을 확인하고, 이에 대응하여 가상 입력 신호를 생성한다.
도 4는 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치의 광학식 문자 판독 기능을 이용한 화면 인식 과정을 설명하기 위한 도면이다.
도 1 및 도 4를 참조하면, 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치(100)의 상태 인식부(130)는 응용프로그램의 상태를 인식하기 위한 방법의 하나로 광학식 문자 판독 기능을 이용한 화면 인식 방법을 사용할 수 있다. 광학식 문자 판독 기능을 이용한 화면 인식 방법은 OCR와 같은 광학식 문자 판독 기능을 이용해 현재 실행중인 응용프로그램의 화면으로부터 문자를 인식하고, 인식된 문자를 통해 현재 실행중인 응용프로그램의 상태를 추론하는 기능이다.
상태 인식부(130)는 현재 실행중인 응용프로그램의 화면을 캡처하여 현재 이미지(410)를 생성한다. 그리고, 상태 인식부(130)는 OCR을 이용하여 현재 이미지(410)에서 문자를 판독한다. 상태 인식부(130)는 OCR을 통해 현재 이미지(410)에서 다양한 문구를 판독할 수 있다. 도 4의 실시예에서는 새로운 메시지(411), 취소(412), 받는 사람: 아무개(413) 및 전송(414)을 포함하는 문구와 각 문구의 위치를 확인할 수 있다. 상태 인식부(130)는 화면의 상단 중앙에 새로운 메시지(411)가 위치하고, 화면 하단에 키패드(415)가 위치한 것을 통해 현재 실행중인 응용프로그램은 메시지 전달 응용프로그램인 것을 확인할 수 있다. 그리고, 새로운 메시지(411)의 하단에 위치한 받는 사람: 아무개(413)라는 문구를 통해 현재 아무개라는 상대방에게 메시지를 전달하기 위한 상태인 것을 추정할 수 있으며, 중앙의 빈공간(416)에서 검출되는 문자가 없는 것으로 현재 메시지가 없다는 것을 인지한다. 이를 통해, 상태 인식부(130)는 현재 실행중인 메시지 전달 응용프로그램의 상태가 아무개에게 메시지를 전달하기 위한 화면인 것을 알리기 위한 상태 정보를 생성하여 실행 제어부(140)로 전달한다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치의 가상 입력 신호를 이용한 응용프로그램 제어를 설명하기 위한 도면이다.
도 5a 및 도 5b를 참조하면, 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치(100)는 수신된 상태 정보에 기초하여 현재 실행중인 응용프로그램의 현재 상태를 파악하고, 수신된 제어 명령에 따라 해당 제어 명령을 수행하기 위해 실제로 사용자가 행했어야 하는 동작(사용자 입력)을 결정한다. 그리고, 범용 음성인식 제어 장치(100)는 결정된 동작에 기초하여 가상 입력 신호를 생성한다.
이 과정에서, 범용 음성인식 제어 장치(100)는 응용프로그램을 제어하기 위한 명령을 해당 응용프로그램으로 직접 전달하는 것이 아니라, 실제 사용자가 입력해야 하는 물리 버튼 입력 또는 터치 입력을 가상으로 수행하여 응용프로그램을 제어한다. 도 5의 일례에서는, 내비게이션에서 서울대학교로 가기 위한 경로를 검색하기 위한 음성 신호로서, '내비게이션으로 서울대학교로 가는 길을 검색'이라는 음성 신호가 수신된 것으로 가정한다.
사용자로부터 '내비게이션으로 서울대학교로 가는 길을 검색'이라는 음성 신호가 수신되면, 범용 음성인식 제어 장치(100)는 수신된 음성 신호에서 '내비게이션', '서울대학교' 및 '검색'이라는 문자열을 추출한다. 그리고, 추출된 문자열에 기초하여 음성 신호가 내비게이션에서 서울대학교로 가기 위한 경로를 검색하기 위한 것임을 확인한다.
다음으로, 범용 음성인식 제어 장치(100)는 현재 실행중인 응용프로그램의 화면을 캡처 및 분석하여 현재 내비게이션 응용프로그램의 메뉴 화면(510)이 실행중인 것을 인식할 수 있다. 실행중인 응용프로그램이 메뉴 화면(510)인 것을 확인하면, 범용 음성인식 제어 장치(100)는 사용자가 내비게이션에서 서울대학교로 가기 위한 경로를 검색할 때 수행하는 입력을 고려하여 가상 입력 신호를 생성한다. 사용자가 내비게이션에서 서울대학교로 가기 위한 경로를 검색할 경우와 동일하게, 범용 음성인식 제어 장치(100)는 먼저 메뉴 화면(510)에서 목적지 검색 영역을 선택하는 가상 터치 입력(511)을 생성한다.
그리고, 목적지 검색 영역을 선택하는 가상 터치 입력(511)에 의해 메뉴 화면(510)에서 목적지 검색 화면(520)으로 전환되면, 문자 입력 영역을 선택하는 가상 터치 입력(521), 목적지인 '서울대학교'를 입력하기 위한 키패드 입력(522) 및 검색 영역을 선택하는 가상 터치 입력(523)을 순차적으로 입력하도록 설정한다. 다만, IME(Input Method Editor)와 같이 단말/플랫폼에서 제공하는 문자 입력 인터페이스를 이용하는 경우, 터치 입력이 아니라 입력하고자 하는 문자인 '서울대학교'를 데이터로 직접 입력할 수 있다. 다음으로, 검색 영역을 선택하는 가상 터치 입력(523)에 의해 목적지 검색 화면(520)에서 검색 결과 화면(530)으로 전환되면, 목적지인 서울대학교를 선택하기 위해 결과 목록 중에서 서울대학교를 선택하는 가상 터치 입력(531)을 생성한다.
범용 음성인식 제어 장치(100)는 상술한 과정에 의해 생성된 입력 신호를 포함하는 가상 입력 신호를 통해 내비게이션 응용프로그램을 제어하여 경로 탐색 화면(540)에서 서울대학교 경로(541)를 검색할 수 있다. 이와 같이, 본 발명에 따른 범용 음성인식 제어 장치(100)는 수신된 음성 신호를 분석하여 제어 명령을 생성하고, 현재 실행중인 단말의 화면을 인식한 후, 실제 사용자의 입력에 대응하는 가상 입력 신호를 통해 응용프로그램을 제어함으로써, 음성 인식 기능을 제공하지 않는 응용프로그램을 음성으로 제어할 수 있도록 한다.
도 6은 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치의 복합 명령 처리 과정을 설명하기 위한 도면이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 범용 음성인식 제어 장치(100)는 단일 명령을 포함하는 음성 신호뿐만 아니라, 둘 이상의 단일 명령으로 구성된 복합 명령을 수행할 수 있다. 범용 음성인식 제어 장치(100)는 도 1의 과정과 동일하게 사용자로부터 수신된 음성 신호에서 문자열을 추출하고, 추출된 문자열에서 명령어 문구를 추출한다. 그리고, 범용 음성인식 제어 장치(100)는 추출된 명령어 문구가 단일 명령인지 여부를 판단한다. 만약 추출된 명령어 문구가 복합 명령인 경우, 범용 음성인식 제어 장치(100)는 복합 명령을 둘 이상의 단일 명령으로 분리하여 순서대로 정렬한다. 그리고, 순서대로 정렬된 둘 이상의 단일 명령이 순차적으로 수행될 수 있도록 가상 입력 신호를 생성한다.
예를 들어, 사용자로부터 'A메신저로 홍길동한테 안녕이라고 전송'이라는 음성 신호가 수신되면, 범용 음성인식 제어 장치(100)는 수신된 음성 신호에서 'A메신저로 홍길동한테 안녕이라고 전송'라는 문자열을 추출한다. 그리고, 범용 음성인식 제어 장치(100)는 추출된 문자열이 'A메신저 실행', '홍길동 검색' 및 '안녕 전송'이라는 세 개의 명령을 포함하는 복합 명령인 것으로 판단하여, 'A메신저 실행', '홍길동 검색' 및 '안녕 전송'의 세 개의 단일 명령으로 분리한다. 그리고, 범용 음성인식 제어 장치(100)는 분리된 세 개의 단일 명령을 순서대로 정렬하여 복합 명령을 포함하는 가상 입력 신호를 생성한다.
복합 명령을 포함하는 가상 입력 신호에 기초하여 범용 음성인식 제어 장치(100)는 응용프로그램을 제어한다. 먼저, 범용 음성인식 제어 장치(100)는 제1 단일 명령인 'A메신저 실행'에 대응하여 A메신저를 실행(610)한다. 그리고, 범용 음성인식 제어 장치(100)는 제2 단일 명령인 '홍길동 검색'에 따라 A메신저에서 홍길동을 검색(620)한다. 이를 위해, 범용 음성인식 제어 장치(100)는 검색창을 터치하는 가상 터치 입력(621), 검색 대상인 '홍길동'을 텍스트로 입력하는 가상 입력(622) 및 검색된 홍길동을 선택하는 가상 터치 입력(623)을 순차적으로 수행한다. 마지막으로, 범용 음성인식 제어 장치(100)는 제3 단일 명령인 '안녕 전송'에 따라 '안녕'이라는 문자를 입력하여 홍길동에게 전달(630)한다.
도 7은 본 발명에 따른 범용 음성인식 제어 장치의 음성 출력 기능을 설명하기 위한 구성도이다.
도 1 및 도 7을 참조하면, 본 발명에 따른 범용 음성인식 제어 장치(100)는 도 1 내지 도 6에 개시된 음성 신호를 이용한 응용프로그램 제어 기능을 수행할 수 있으며, 추가적으로 응용프로그램의 실행 결과를 음성 출력으로 사용자에게 제공할 수 있다. 응용프로그램의 실행 결과가 화면에 출력되면, 상태 인식부(130)는 출력된 화면을 캡처하여 결과 이미지를 생성한다. 그리고, 상태 인식부(130)는 OCR을 이용하여 결과 이미지에서 실행 결과에 대응하는 문구를 확인하여, 이를 포함하는 결과 정보를 실행 제어부(140)로 전달한다. 상태 인식부(130)로부터 실행 결과에 대응하는 문구를 포함하는 결과 정보가 수신되면, 실행 제어부(140)는 결과 정보를 음성으로 출력하기 위한 음성 출력 신호를 생성하여 단말에 내장된 스피커나 이어폰과 같은 음성 출력 장치를 통해 음성으로 사용자에게 전달할 수 있다.
예를 들어, 메신저 응용프로그램을 통해 홍길동이라는 사용자로부터 '어떻게 됐어요?'라는 메시지가 수신되어 단말의 화면에 문자 화면(710)이 표시되면, 범용 음성인식 제어 장치(100)는 문자 화면(710)을 분석하여, 문자 화면(710)으로부터 '어떻게 됐어요?'라는 문구를 검출할 수 있다. 그리고, 범용 음성인식 제어 장치(100)는 검출된 문구인 '어떻게 됐어요'를 단말에 구비된 스피커를 통해 음성으로 출력할 수 있다. 이와 같이 범용 음성인식 제어 장치(100)는 화면에 출력된 결과로부터 문구를 추출하여 이를 음성으로 출력함으로써, 해당 응용프로그램에서 음성 출력을 직접 지원하는지 여부에 관계없이 음성 출력 기능을 사용자에게 제공할 수 있다.
도 8은 본 발명의 일 실시예에 따른 범용 음성인식 제어 방법을 나타내는 흐름도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 범용 음성인식 제어 방법은 먼저, 사용자로부터 음성 신호를 수신한다(S801). 사용자는 단말에 설치된 응용프로그램을 음성으로 제어하기 위하여 필요로 하는 명령을 단말에 구비된 마이크와 같은 음성 수신 장치를 통해 음성으로 전달한다. 사용자로부터 음성 신호가 수신되면, 범용 음성인식 제어 장치는 수신된 음성 신호에서 문자열을 생성한다(S802). 일반적으로, 구글이나 다음에서 공개한 STT(Speech To Text)의 형태의 API를 활용하여 수신된 음성 신호에서 문자열을 추출할 수 있다. 하지만, 음성으로부터 문자열을 추출하는 방법이 STT로 한정되는 것은 아니며, 다양한 음성 인식 방법을 제한 없이 적용할 수 있다.
음성 신호로부터 문자열이 생성되면, 범용 음성인식 제어 장치는 생성된 문자열 로부터 명령어 문구를 추출한다(S803). 범용 음성인식 제어 장치는 사전에 설정된 명령어 세트와 수신된 문자열 정보를 비교하여 문자열 정보에 포함된 제어 명령을 인지할 수 있다. 다음으로, 범용 음성인식 제어 장치는 추출된 명령어 문구에 포함된 명령이 단일 명령인지 복합 명령인지 여부를 판단한다(S803). 사용자는 한 번에 하나의 명령만을 전달할 뿐만 아니라, 동시에 두 개 이상의 명령을 음성 신호로 전달할 수 있다. 따라서, 범용 음성인식 제어 장치는 제어 명령을 생성하기 전, 수신된 음성 신호가 단일 명령인지 복합 명령인지를 판단한다. 만약 판단 결과 단일 명령인 경우, 추출된 명령어 문구에 기초하여 제어 명령을 생성한다(S805). 반면에, 만약 판단 결과가 복합 명령인 경우, 범용 음성인식 제어 장치는 복합 명령을 둘 이상의 단일 명령으로 분리하여 순서대로 정렬한다(S804). 그리고, 순서대로 정렬된 둘 이상의 단일 명령이 순차적으로 수행될 수 있도록 제어 명령을 생성한다(S805).
다음으로, 범용 음성인식 제어 장치는 수신된 제어 명령에 대응하는 대응 응용프로그의 현재 상태를 인식한다(S806). 수신된 제어 명령은 특정 응용프로그램에 대한 제어를 목적으로 한다. 범용 음성인식 제어 장치는 프로그램 식별자, 레퍼런스 이미지를 이용한 프로그램 화면 분석, OCR을 이용한 화면 판독 및 프로그램 최근 상태에 기초하여 응용프로그램의 상태를 인지할 수 있다.
제어 명령이 생성되고, 응용프로그램의 상태가 인식되면, 범용 음성인식 제어 장치는 응용프로그램의 상태 정보 및 수신된 제어 명령에 기초하여 대응 응용프로그램을 제어하기 위한 가상 입력 신호를 생성한다(S807). 범용 음성인식 제어 장치는 수신된 상태 정보에 따라 응용프로그램의 현재 상태를 파악하고, 수신된 제어 명령에 따라 해당 제어 명령을 수행하기 위해 실제로 사용자가 행했어야 하는 동작(사용자 입력)을 결정한다. 그리고, 범용 음성인식 제어 장치는 결정된 동작에 기초하여 가상 입력 신호를 생성한다. 가상 입력 신호는 응용프로그램과 직접적으로 연동되어 응용프로그램을 직접 제어하는 신호가 아니라, 사용자가 실제 행했어야 하는 동작에 기반하여 물리버튼 입력이나 터치 입력을 시스템 레벨 가상 입력으로 제어하는 신호로서, 가상 터치 입력, 가상 버튼 입력 및 문자열 입력을 포함한다. 그리고, 가상 입력 신호가 생성되면, 가상 입력을 이용하여 응용프로그램을 제어한다(S808).
도 9는 본 발명의 일 실시예에 따른 음성 출력 방법을 나타내는 흐름도이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 음성 출력 방법은 먼저, 응용프로그램의 실행 결과를 인지한다(S901). 본 발명에 따른 범용 음성인식 제어 장치는 도 1 내지 도 6에 개시된 음성 신호를 이용한 응용프로그램 제어 기능을 수행할 수 있으며, 추가적으로 응용프로그램의 실행 결과를 음성 출력으로 사용자에게 제공할 수 있다. 응용프로그램의 실행 결과가 화면에 출력되면, 범용 음성인식 제어 장치는 출력된 화면을 캡처하여 결과 이미지를 생성한다. 그리고, 범용 음성인식 제어 장치는 OCR을 이용하여 결과 이미지에서 실행 결과에 대응하는 문구를 확인하여, 응용프로그램의 상태를 문자화한다(S902). 그리고, OCR을 통해 문자화된 응용프로그램의 상태에 대한 실행 결과를 단말에 구비된 스피커나 이어폰과 같은 음성 출력 장치를 통해 음성으로 출력한다(S903). 문자화된 응용프로그램의 상태는 TTS(Tsxt To Speech)와 같은 API를 사용하여 음성으로 출력할 수 있다.
상술한 내용을 포함하는 본 발명은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체 또는 정보저장매체에 저장되고, 컴퓨터에 의하여 판독되고 실행함으로써 본 발명의 방법을 구현할 수 있다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상 바람직한 실시예를 들어 본 발명을 상세하게 설명하였으나, 본 발명은 전술한 실시예에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당분야에서 통상의 지식을 가진자에 의하여 여러 가지 변형이 가능하다.
100: 범용 음성인식 제어 장치
110: 음성 인식부
120: 명령 분석부
130: 상태 인식부
140: 실행 제어부
310: 레퍼런스 이미지
320: 현재 이미지

Claims (20)

  1. 수신된 음성 신호를 인식하여 텍스트(Text)로 구성된 문자열 정보를 생성하는 음성 인식부;
    상기 생성된 문자열 정보를 분석하여 제어 명령을 추출하는 명령 분석부;
    상기 추출된 제어 명령에 대응하는 응용프로그램의 상태를 인식하여 상태 정보를 생성하는 상태 인식부; 및
    상기 생성된 상태 정보 및 상기 추출된 제어 명령에 기초하여 가상 입력 신호를 생성하는 실행 제어부;
    를 포함하며,
    상기 가상 입력 신호는 사용자가 실제 행했어야 하는 동작에 기반하여 물리버튼 입력이나 터치 입력을 시스템 레벨 가상 입력으로 제어하는 신호인 것을 특징으로 하는 범용 음성인식 제어 장치.
  2. 제1항에 있어서,
    상기 명령 분석부는 상기 문자열 정보를 사전에 설정된 명령어 세트와 비교하여, 상기 문자열 정보에 포함된 제어 명령을 인지하는 것을 특징으로 하는 범용 음성인식 제어 장치.
  3. 제1항에 있어서,
    상기 명령 분석부는 상기 문자열 정보에 포함된 명령이 단일 명령인지 복합 명령인지 여부를 판단하고, 복합 명령인 경우, 복합 명령에 포함된 둘 이상의 명령을 분리하고 순서대로 정렬하여 둘 이상의 명령이 순차적으로 수행될 수 있도록 제어 명령을 생성하는 것을 특징으로 하는 범용 음성인식 제어 장치.
  4. 제1항에 있어서,
    상기 상태 인식부는 유사도 비교, 광학식 문자 판독 및 상태 변화 추적 중에서 어느 하나의 방법을 이용하여 상기 응용프로그램의 상태를 인식하는 것을 특징으로 하는 범용 음성인식 제어 장치.
  5. 제1항에 있어서,
    상기 상태 인식부는 상기 대응하는 응용프로그램의 현재 화면을 캡처(Capture)하여 현재 이미지를 생성하고, 상기 생성된 현재 이미지와 사전에 설정된 레퍼런스 이미지의 유사도를 비교하여 상기 대응하는 응용프로그램의 현재 상태를 인지하는 것을 특징으로 하는 범용 음성인식 제어 장치.
  6. 제1항에 있어서,
    상기 상태 인식부는 상기 대응하는 응용프로그램의 현재 화면을 캡처(Capture)하여 현재 이미지를 생성하고, 광학식 문자 판독 기능을 이용하여 상기 생성된 현재 이미지에서 문자를 판독하여 상기 대응하는 응용프로그램의 현재 상태를 인지하는 것을 특징으로 하는 범용 음성인식 제어 장치.
  7. 제1항에 있어서,
    상기 상태 인식부는 실행된 응용프로그램 각각에 대해 응용프로그램의 상태가 변할 때마다 응용프로그램의 새로운 상태를 지속적으로 저장하여 상기 대응하는 응용프로그램의 현재 상태를 인지하는 것을 특징으로 하는 범용 음성인식 제어 장치.
  8. 제1항에 있어서,
    상기 실행 제어부는 상기 상태 정보에 기초하여 상기 대응하는 응용프로그램의 현재 상태를 파악하고, 상기 제어 명령에 따라 실제로 입력되어야 하는 사용자 입력을 구현하기 위한 가상 입력 신호를 생성하는 것을 특징으로 하는 범용 음성인식 제어 장치.
  9. 제8항에 있어서,
    상기 가상 입력 신호는 단말에 실제 터치 입력과 동일한 터치 입력 신호를 전달하는 가상 터치 입력, 실제 물리 버튼 입력과 동일한 버튼 입력 신호를 전달하는 가상 버튼 입력 및 문자열을 입력하는 키패드 입력 중에서 적어도 하나 이상의 입력을 포함하는 시스템 레벨의 가상 입력인 것을 특징으로 하는 범용 음성인식 제어 장치.
  10. 제1항에 있어서,
    상기 상태 인식부가 응용프로그램의 실행 결과를 인지하고, 광학식 문자 판독 기능을 이용하여 상기 실행 결과를 문자화하고, 상기 실행 제어부는 상기 문자화된 실행 결과를 음성 출력하는 것을 특징으로 하는 범용 음성인식 제어 장치.
  11. 수신된 음성 신호을 인식하여 텍스트(Text)로 구성된 문자열 정보를 생성하는 단계;
    상기 생성된 문자열 정보를 분석하여 제어 명령을 추출하는 단계;
    상기 추출된 제어 명령에 대응하는 응용프로그램의 상태를 인식하여 상태 정보를 생성하는 단계; 및
    상기 생성된 상태 정보 및 상기 추출된 제어 명령에 기초하여 가상 입력 신호를 생성하는 단계;
    를 포함하며,
    상기 가상 입력 신호는 사용자가 실제 행했어야 하는 동작에 기반하여 물리버튼 입력이나 터치 입력을 시스템 레벨 가상 입력으로 제어하는 신호인 것을 특징으로 하는 범용 음성인식 제어 방법.
  12. 제11항에 있어서,
    상기 문자열 정보를 생성하는 단계는 상기 문자열 정보를 사전에 설정된 명령어 세트와 비교하여, 상기 문자열 정보에 포함된 제어 명령을 인지하는 것을 특징으로 하는 범용 음성인식 제어 방법.
  13. 제11항에 있어서,
    상기 제어 명령을 추출하는 단계는
    상기 문자열 정보에 포함된 명령이 단일 명령인지 복합 명령인지 여부를 판단하는 단계; 및
    복합 명령인 경우, 복합 명령에 포함된 둘 이상의 명령을 분리하고 순서대로 정렬하여 둘 이상의 명령이 순차적으로 수행될 수 있도록 제어 명령을 생성하는 단계;
    를 포함하는 것을 특징으로 하는 범용 음성인식 제어 방법.
  14. 제11항에 있어서,
    상기 대응하는 응용프로그램의 상태를 인식하여 상태 정보를 생성하는 단계는 유사도 비교, 광학식 문자 판독 및 상태 변화 추적 중에서 어느 하나의 방법을 이용하여 상기 응용프로그램의 상태를 인식하는 것을 특징으로 하는 범용 음성인식 제어 방법.
  15. 제11항에 있어서,
    상기 대응하는 응용프로그램의 상태를 인식하여 상태 정보를 생성하는 단계는 상기 대응하는 응용프로그램의 현재 화면을 캡처(Capture)하여 현재 이미지를 생성하는 단계; 및
    상기 생성된 현재 이미지와 사전에 설정된 레퍼런스 이미지의 유사도를 비교하여 상기 대응하는 응용프로그램의 현재 상태를 인지하는 단계;
    를 포함하는 것을 특징으로 하는 범용 음성인식 제어 방법.
  16. 제11항에 있어서,
    상기 대응하는 응용프로그램의 상태를 인식하여 상태 정보를 생성하는 단계는 상기 대응하는 응용프로그램의 현재 화면을 캡처(Capture)하여 현재 이미지를 생성하는 단계; 및
    광학식 문자 판독 기능을 이용하여 상기 생성된 현재 이미지에서 문자를 판독하여 상기 대응하는 응용프로그램의 현재 상태를 인지하는 단계;
    를 포함하는 것을 특징으로 하는 범용 음성인식 제어 방법.
  17. 제11항에 있어서,
    상기 대응하는 응용프로그램의 상태를 인식하여 상태 정보를 생성하는 단계는 실행된 응용프로그램 각각에 대해 응용프로그램의 상태가 변할 때마다 응용프로그램의 새로운 상태를 지속적으로 저장하여 상기 대응하는 응용프로그램의 현재 상태를 인지하는 것을 특징으로 하는 범용 음성인식 제어 방법.
  18. 제11항에 있어서,
    상기 가상 입력 신호를 생성하는 단계는 상기 상태 정보에 기초하여 상기 대응하는 응용프로그램의 현재 상태를 파악하고, 상기 제어 명령에 따라 실제로 입력되어야 하는 사용자 입력을 구현하기 위한 가상 입력 신호를 생성하는 것을 특징으로 하는 범용 음성인식 제어 방법.
  19. 제18항에 있어서,
    상기 가상 입력 신호는 단말에 실제 터치 입력과 동일한 터치 입력 신호를 전달하는 가상 터치 입력, 실제 물리 버튼 입력과 동일한 버튼 입력 신호를 전달하는 가상 버튼 입력 및 문자열을 입력하는 키패드 입력 중에서 적어도 하나 이상의 입력을 포함하는 시스템 레벨의 가상 입력인 것을 특징으로 하는 범용 음성인식 제어 방법.
  20. 제11항에 있어서,
    상기 대응하는 응용프로그램의 실행 결과를 인지하는 단계;
    광학식 문자 판독 기능을 이용하여 상기 실행 결과를 문자화하는 단계; 및
    상기 문자화된 실행 결과를 음성 출력하는 단계;
    를 포함하는 것을 특징으로 하는 범용 음성인식 제어 방법.
KR1020140113632A 2014-08-29 2014-08-29 범용 음성인식 제어 장치 및 제어 방법 KR101579292B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140113632A KR101579292B1 (ko) 2014-08-29 2014-08-29 범용 음성인식 제어 장치 및 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140113632A KR101579292B1 (ko) 2014-08-29 2014-08-29 범용 음성인식 제어 장치 및 제어 방법

Publications (1)

Publication Number Publication Date
KR101579292B1 true KR101579292B1 (ko) 2015-12-21

Family

ID=55083982

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140113632A KR101579292B1 (ko) 2014-08-29 2014-08-29 범용 음성인식 제어 장치 및 제어 방법

Country Status (1)

Country Link
KR (1) KR101579292B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018080162A1 (ko) * 2016-10-27 2018-05-03 삼성전자 주식회사 음성 명령에 기초하여 애플리케이션을 실행하는 방법 및 장치
KR20200121915A (ko) * 2016-05-10 2020-10-26 구글 엘엘씨 디바이스들 상의 보이스 어시스턴트에 대한 구현들
US10839806B2 (en) 2017-07-10 2020-11-17 Samsung Electronics Co., Ltd. Voice processing method and electronic device supporting the same
US11194545B2 (en) 2017-03-24 2021-12-07 Samsung Electronics Co., Ltd. Electronic device for performing operation according to user input after partial landing
US11860933B2 (en) 2016-05-13 2024-01-02 Google Llc Personalized and contextualized audio briefing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080109321A (ko) 2007-06-12 2008-12-17 엘지전자 주식회사 모바일 단말기의 음성인식 제어방법
KR101242182B1 (ko) * 2012-11-21 2013-03-12 (주)지앤넷 음성인식장치 및 음성인식방법
KR20130141672A (ko) * 2011-03-25 2013-12-26 엘지전자 주식회사 차량에 장착되는 영상표시기기에서의 이미지 처리
KR20140087628A (ko) * 2012-12-31 2014-07-09 엘지전자 주식회사 이동 단말기

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080109321A (ko) 2007-06-12 2008-12-17 엘지전자 주식회사 모바일 단말기의 음성인식 제어방법
KR20130141672A (ko) * 2011-03-25 2013-12-26 엘지전자 주식회사 차량에 장착되는 영상표시기기에서의 이미지 처리
KR101242182B1 (ko) * 2012-11-21 2013-03-12 (주)지앤넷 음성인식장치 및 음성인식방법
KR20140087628A (ko) * 2012-12-31 2014-07-09 엘지전자 주식회사 이동 단말기

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11355116B2 (en) 2016-05-10 2022-06-07 Google Llc Implementations for voice assistant on devices
KR20200121915A (ko) * 2016-05-10 2020-10-26 구글 엘엘씨 디바이스들 상의 보이스 어시스턴트에 대한 구현들
US11990126B2 (en) 2016-05-10 2024-05-21 Google Llc Voice-controlled media play in smart media environment
US11935535B2 (en) 2016-05-10 2024-03-19 Google Llc Implementations for voice assistant on devices
KR102307976B1 (ko) * 2016-05-10 2021-09-30 구글 엘엘씨 디바이스들 상의 보이스 어시스턴트에 대한 구현들
US11922941B2 (en) 2016-05-10 2024-03-05 Google Llc Implementations for voice assistant on devices
US11341964B2 (en) 2016-05-10 2022-05-24 Google Llc Voice-controlled media play in smart media environment
US11860933B2 (en) 2016-05-13 2024-01-02 Google Llc Personalized and contextualized audio briefing
WO2018080162A1 (ko) * 2016-10-27 2018-05-03 삼성전자 주식회사 음성 명령에 기초하여 애플리케이션을 실행하는 방법 및 장치
US10978068B2 (en) 2016-10-27 2021-04-13 Samsung Electronics Co., Ltd. Method and apparatus for executing application on basis of voice commands
US11194545B2 (en) 2017-03-24 2021-12-07 Samsung Electronics Co., Ltd. Electronic device for performing operation according to user input after partial landing
US11670302B2 (en) 2017-07-10 2023-06-06 Samsung Electronics Co., Ltd. Voice processing method and electronic device supporting the same
US10839806B2 (en) 2017-07-10 2020-11-17 Samsung Electronics Co., Ltd. Voice processing method and electronic device supporting the same

Similar Documents

Publication Publication Date Title
KR101579292B1 (ko) 범용 음성인식 제어 장치 및 제어 방법
US10528659B2 (en) Information processing device and information processing method
CN105027574B (zh) 在语音识别系统中控制显示装置的显示装置和方法
JP6635049B2 (ja) 情報処理装置、情報処理方法およびプログラム
KR101992676B1 (ko) 영상 인식을 이용하여 음성 인식을 하는 방법 및 장치
AU2013237690B2 (en) Method and apparatus for performing preset operation mode using voice recognition
JP6178198B2 (ja) 音声翻訳システム、方法およびプログラム
KR102141116B1 (ko) 음성 대화 서비스를 지원하는 인터페이스 장치 및 방법
CN107077846B (zh) 控制装置、控制方法、程序和信息存储介质
CN104282302A (zh) 用于识别语音和文本的设备和方法
CN109710727A (zh) 用于自然语言处理的系统和方法
CN109086276B (zh) 数据翻译方法、装置、终端及存储介质
CN104123093A (zh) 信息处理方法及装置
CN107430856B (zh) 信息处理系统和信息处理方法
KR20200097444A (ko) 음성을 기반으로 그래픽 데이터를 제공하는 전자 장치 및 그의 동작 방법
JP6383409B2 (ja) 案内装置、案内方法、プログラム及び情報記憶媒体
KR20130068303A (ko) 음성 명령 수행장치, 이를 구비한 이동 단말기 및 음성 명령 수행방법
KR20190068133A (ko) 오디오 데이터에 포함된 음소 정보를 이용하여 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법
KR20200043642A (ko) 동작 상태에 기반하여 선택한 마이크를 이용하여 음성 인식을 수행하는 전자 장치 및 그의 동작 방법
KR101584887B1 (ko) 통신 단말기에서 음성 인식 서비스의 멀티태스킹을 지원하는 방법 및 시스템
EP3547310A1 (en) Electronic device for processing user voice
KR20210036527A (ko) 사용자 발화를 처리하는 전자 장치 및 그 작동 방법
KR20190002069A (ko) 이어셋을 이용한 통역기능 제공 방법 및 장치
KR101648611B1 (ko) 영상통화-음성통화 전환 방법
KR20200040562A (ko) 사용자 발화를 처리하기 위한 시스템

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
J202 Request for trial (for correction)
FPAY Annual fee payment

Payment date: 20181203

Year of fee payment: 4

J301 Trial decision

Free format text: TRIAL NUMBER: 2018105000078; TRIAL DECISION FOR CORRECTION REQUESTED 20180827

Effective date: 20190405

G170 Publication of correction
FPAY Annual fee payment

Payment date: 20191203

Year of fee payment: 5